From 09f1547dc32e50ced9b500c68cdcbce6664f3c31 Mon Sep 17 00:00:00 2001 From: Pantheon Automation Date: Tue, 7 May 2024 14:20:29 +0000 Subject: [PATCH] Update to Drupal 9.5.11. For more information, see https://www.drupal.org/project/drupal/releases/9.5.11 --- .gitattributes | 16 +- .ht.router.php | 6 + .htaccess | 13 +- README.md | 75 + composer.json | 17 +- composer.lock | 1855 +- core/.cspell.json | 16 +- core/.env.example | 4 + core/.eslintignore | 8 + core/.eslintrc.jquery.json | 56 + core/.eslintrc.json | 20 +- core/.eslintrc.passing.json | 12 +- core/.prettierignore | 1 + core/.stylelintignore | 6 + core/.stylelintrc.json | 36 +- core/COPYRIGHT.txt | 47 +- core/INSTALL.txt | 13 +- core/MAINTAINERS.txt | 109 +- README.txt => core/USAGE.txt | 60 +- core/assets/scaffold/README.txt | 9 +- .../scaffold/files/default.services.yml | 84 +- .../scaffold/files/default.settings.php | 217 +- core/assets/scaffold/files/drupal.README.md | 75 + core/assets/scaffold/files/drupal.README.txt | 143 - .../scaffold/files/example.settings.local.php | 4 +- core/assets/scaffold/files/example.sites.php | 2 +- core/assets/scaffold/files/gitattributes | 16 +- core/assets/scaffold/files/ht.router.php | 6 + core/assets/scaffold/files/htaccess | 13 +- core/assets/scaffold/files/robots.txt | 4 + core/assets/scaffold/files/web.config | 14 +- core/assets/vendor/backbone/backbone-min.js | 4 +- .../vendor/backbone/backbone-min.js.map | 1 + core/assets/vendor/backbone/backbone-min.map | 1 - core/assets/vendor/backbone/backbone.js | 68 +- core/assets/vendor/ckeditor/CHANGES.md | 394 +- core/assets/vendor/ckeditor/LICENSE.md | 21 +- core/assets/vendor/ckeditor/SECURITY.md | 10 + core/assets/vendor/ckeditor/build-config.js | 6 + core/assets/vendor/ckeditor/ckeditor.js | 2359 +- .../ckeditor/lang/_translationstatus.txt | 2 +- core/assets/vendor/ckeditor/lang/af.js | 6 +- core/assets/vendor/ckeditor/lang/ar.js | 6 +- core/assets/vendor/ckeditor/lang/az.js | 6 +- core/assets/vendor/ckeditor/lang/bg.js | 6 +- core/assets/vendor/ckeditor/lang/bn.js | 6 +- core/assets/vendor/ckeditor/lang/bs.js | 6 +- core/assets/vendor/ckeditor/lang/ca.js | 6 +- core/assets/vendor/ckeditor/lang/cs.js | 6 +- core/assets/vendor/ckeditor/lang/cy.js | 6 +- core/assets/vendor/ckeditor/lang/da.js | 6 +- core/assets/vendor/ckeditor/lang/de-ch.js | 6 +- core/assets/vendor/ckeditor/lang/de.js | 6 +- core/assets/vendor/ckeditor/lang/el.js | 6 +- core/assets/vendor/ckeditor/lang/en-au.js | 6 +- core/assets/vendor/ckeditor/lang/en-ca.js | 6 +- core/assets/vendor/ckeditor/lang/en-gb.js | 6 +- core/assets/vendor/ckeditor/lang/en.js | 6 +- core/assets/vendor/ckeditor/lang/eo.js | 6 +- core/assets/vendor/ckeditor/lang/es-mx.js | 6 +- core/assets/vendor/ckeditor/lang/es.js | 6 +- core/assets/vendor/ckeditor/lang/et.js | 6 +- core/assets/vendor/ckeditor/lang/eu.js | 6 +- core/assets/vendor/ckeditor/lang/fa.js | 6 +- core/assets/vendor/ckeditor/lang/fi.js | 6 +- core/assets/vendor/ckeditor/lang/fo.js | 6 +- core/assets/vendor/ckeditor/lang/fr-ca.js | 6 +- core/assets/vendor/ckeditor/lang/fr.js | 6 +- core/assets/vendor/ckeditor/lang/gl.js | 6 +- core/assets/vendor/ckeditor/lang/gu.js | 6 +- core/assets/vendor/ckeditor/lang/he.js | 6 +- core/assets/vendor/ckeditor/lang/hi.js | 6 +- core/assets/vendor/ckeditor/lang/hr.js | 6 +- core/assets/vendor/ckeditor/lang/hu.js | 6 +- core/assets/vendor/ckeditor/lang/id.js | 6 +- core/assets/vendor/ckeditor/lang/is.js | 6 +- core/assets/vendor/ckeditor/lang/it.js | 6 +- core/assets/vendor/ckeditor/lang/ja.js | 6 +- core/assets/vendor/ckeditor/lang/ka.js | 6 +- core/assets/vendor/ckeditor/lang/km.js | 6 +- core/assets/vendor/ckeditor/lang/ko.js | 6 +- core/assets/vendor/ckeditor/lang/ku.js | 6 +- core/assets/vendor/ckeditor/lang/lt.js | 6 +- core/assets/vendor/ckeditor/lang/lv.js | 6 +- core/assets/vendor/ckeditor/lang/mk.js | 6 +- core/assets/vendor/ckeditor/lang/mn.js | 6 +- core/assets/vendor/ckeditor/lang/ms.js | 6 +- core/assets/vendor/ckeditor/lang/nb.js | 6 +- core/assets/vendor/ckeditor/lang/nl.js | 6 +- core/assets/vendor/ckeditor/lang/no.js | 6 +- core/assets/vendor/ckeditor/lang/oc.js | 6 +- core/assets/vendor/ckeditor/lang/pl.js | 6 +- core/assets/vendor/ckeditor/lang/pt-br.js | 6 +- core/assets/vendor/ckeditor/lang/pt.js | 6 +- core/assets/vendor/ckeditor/lang/ro.js | 6 +- core/assets/vendor/ckeditor/lang/ru.js | 6 +- core/assets/vendor/ckeditor/lang/si.js | 6 +- core/assets/vendor/ckeditor/lang/sk.js | 6 +- core/assets/vendor/ckeditor/lang/sl.js | 6 +- core/assets/vendor/ckeditor/lang/sq.js | 6 +- core/assets/vendor/ckeditor/lang/sr-latn.js | 6 +- core/assets/vendor/ckeditor/lang/sr.js | 6 +- core/assets/vendor/ckeditor/lang/sv.js | 6 +- core/assets/vendor/ckeditor/lang/th.js | 6 +- core/assets/vendor/ckeditor/lang/tr.js | 6 +- core/assets/vendor/ckeditor/lang/tt.js | 6 +- core/assets/vendor/ckeditor/lang/ug.js | 6 +- core/assets/vendor/ckeditor/lang/uk.js | 6 +- core/assets/vendor/ckeditor/lang/vi.js | 6 +- core/assets/vendor/ckeditor/lang/zh-cn.js | 6 +- core/assets/vendor/ckeditor/lang/zh.js | 6 +- .../plugins/a11yhelp/dialogs/a11yhelp.js | 2 +- .../dialogs/lang/_translationstatus.txt | 2 +- .../plugins/a11yhelp/dialogs/lang/af.js | 4 +- .../plugins/a11yhelp/dialogs/lang/ar.js | 5 +- .../plugins/a11yhelp/dialogs/lang/az.js | 2 +- .../plugins/a11yhelp/dialogs/lang/bg.js | 17 +- .../plugins/a11yhelp/dialogs/lang/ca.js | 2 +- .../plugins/a11yhelp/dialogs/lang/cs.js | 6 +- .../plugins/a11yhelp/dialogs/lang/cy.js | 4 +- .../plugins/a11yhelp/dialogs/lang/da.js | 2 +- .../plugins/a11yhelp/dialogs/lang/de-ch.js | 19 +- .../plugins/a11yhelp/dialogs/lang/de.js | 2 +- .../plugins/a11yhelp/dialogs/lang/el.js | 2 +- .../plugins/a11yhelp/dialogs/lang/en-au.js | 5 +- .../plugins/a11yhelp/dialogs/lang/en-gb.js | 5 +- .../plugins/a11yhelp/dialogs/lang/en.js | 5 +- .../plugins/a11yhelp/dialogs/lang/eo.js | 2 +- .../plugins/a11yhelp/dialogs/lang/es-mx.js | 2 +- .../plugins/a11yhelp/dialogs/lang/es.js | 2 +- .../plugins/a11yhelp/dialogs/lang/et.js | 2 +- .../plugins/a11yhelp/dialogs/lang/eu.js | 2 +- .../plugins/a11yhelp/dialogs/lang/fa.js | 6 +- .../plugins/a11yhelp/dialogs/lang/fi.js | 5 +- .../plugins/a11yhelp/dialogs/lang/fo.js | 5 +- .../plugins/a11yhelp/dialogs/lang/fr-ca.js | 5 +- .../plugins/a11yhelp/dialogs/lang/fr.js | 2 +- .../plugins/a11yhelp/dialogs/lang/gl.js | 6 +- .../plugins/a11yhelp/dialogs/lang/gu.js | 5 +- .../plugins/a11yhelp/dialogs/lang/he.js | 4 +- .../plugins/a11yhelp/dialogs/lang/hi.js | 5 +- .../plugins/a11yhelp/dialogs/lang/hr.js | 2 +- .../plugins/a11yhelp/dialogs/lang/hu.js | 2 +- .../plugins/a11yhelp/dialogs/lang/id.js | 2 +- .../plugins/a11yhelp/dialogs/lang/it.js | 6 +- .../plugins/a11yhelp/dialogs/lang/ja.js | 4 +- .../plugins/a11yhelp/dialogs/lang/km.js | 5 +- .../plugins/a11yhelp/dialogs/lang/ko.js | 2 +- .../plugins/a11yhelp/dialogs/lang/ku.js | 2 +- .../plugins/a11yhelp/dialogs/lang/lt.js | 5 +- .../plugins/a11yhelp/dialogs/lang/lv.js | 7 +- .../plugins/a11yhelp/dialogs/lang/mk.js | 17 +- .../plugins/a11yhelp/dialogs/lang/mn.js | 5 +- .../plugins/a11yhelp/dialogs/lang/nb.js | 2 +- .../plugins/a11yhelp/dialogs/lang/nl.js | 2 +- .../plugins/a11yhelp/dialogs/lang/no.js | 15 +- .../plugins/a11yhelp/dialogs/lang/oc.js | 2 +- .../plugins/a11yhelp/dialogs/lang/pl.js | 2 +- .../plugins/a11yhelp/dialogs/lang/pt-br.js | 6 +- .../plugins/a11yhelp/dialogs/lang/pt.js | 2 +- .../plugins/a11yhelp/dialogs/lang/ro.js | 2 +- .../plugins/a11yhelp/dialogs/lang/ru.js | 2 +- .../plugins/a11yhelp/dialogs/lang/si.js | 4 +- .../plugins/a11yhelp/dialogs/lang/sk.js | 4 +- .../plugins/a11yhelp/dialogs/lang/sl.js | 7 +- .../plugins/a11yhelp/dialogs/lang/sq.js | 2 +- .../plugins/a11yhelp/dialogs/lang/sr-latn.js | 9 +- .../plugins/a11yhelp/dialogs/lang/sr.js | 9 +- .../plugins/a11yhelp/dialogs/lang/sv.js | 2 +- .../plugins/a11yhelp/dialogs/lang/th.js | 5 +- .../plugins/a11yhelp/dialogs/lang/tr.js | 2 +- .../plugins/a11yhelp/dialogs/lang/tt.js | 5 +- .../plugins/a11yhelp/dialogs/lang/ug.js | 2 +- .../plugins/a11yhelp/dialogs/lang/uk.js | 2 +- .../plugins/a11yhelp/dialogs/lang/vi.js | 4 +- .../plugins/a11yhelp/dialogs/lang/zh-cn.js | 2 +- .../plugins/a11yhelp/dialogs/lang/zh.js | 12 +- .../ckeditor/plugins/about/dialogs/about.js | 4 +- .../plugins/clipboard/dialogs/paste.js | 2 +- .../plugins/dialog/dialogDefinition.js | 2 +- .../ckeditor/plugins/image2/dialogs/image2.js | 24 +- .../plugins/pastefromgdocs/filter/default.js | 2 +- .../pastefromlibreoffice/filter/default.js | 2 +- .../plugins/pastefromword/filter/default.js | 79 +- .../plugins/pastetools/filter/common.js | 40 +- .../plugins/pastetools/filter/image.js | 12 +- .../sourcedialog/dialogs/sourcedialog.js | 2 +- .../dialogs/lang/_translationstatus.txt | 2 +- .../plugins/specialchar/dialogs/lang/af.js | 2 +- .../plugins/specialchar/dialogs/lang/ar.js | 2 +- .../plugins/specialchar/dialogs/lang/az.js | 2 +- .../plugins/specialchar/dialogs/lang/bg.js | 2 +- .../plugins/specialchar/dialogs/lang/ca.js | 2 +- .../plugins/specialchar/dialogs/lang/cs.js | 2 +- .../plugins/specialchar/dialogs/lang/cy.js | 2 +- .../plugins/specialchar/dialogs/lang/da.js | 2 +- .../plugins/specialchar/dialogs/lang/de-ch.js | 12 +- .../plugins/specialchar/dialogs/lang/de.js | 2 +- .../plugins/specialchar/dialogs/lang/el.js | 2 +- .../plugins/specialchar/dialogs/lang/en-au.js | 2 +- .../plugins/specialchar/dialogs/lang/en-ca.js | 2 +- .../plugins/specialchar/dialogs/lang/en-gb.js | 2 +- .../plugins/specialchar/dialogs/lang/en.js | 2 +- .../plugins/specialchar/dialogs/lang/eo.js | 2 +- .../plugins/specialchar/dialogs/lang/es-mx.js | 2 +- .../plugins/specialchar/dialogs/lang/es.js | 2 +- .../plugins/specialchar/dialogs/lang/et.js | 2 +- .../plugins/specialchar/dialogs/lang/eu.js | 2 +- .../plugins/specialchar/dialogs/lang/fa.js | 2 +- .../plugins/specialchar/dialogs/lang/fi.js | 2 +- .../plugins/specialchar/dialogs/lang/fr-ca.js | 2 +- .../plugins/specialchar/dialogs/lang/fr.js | 2 +- .../plugins/specialchar/dialogs/lang/gl.js | 2 +- .../plugins/specialchar/dialogs/lang/he.js | 2 +- .../plugins/specialchar/dialogs/lang/hr.js | 2 +- .../plugins/specialchar/dialogs/lang/hu.js | 2 +- .../plugins/specialchar/dialogs/lang/id.js | 20 +- .../plugins/specialchar/dialogs/lang/it.js | 2 +- .../plugins/specialchar/dialogs/lang/ja.js | 2 +- .../plugins/specialchar/dialogs/lang/km.js | 2 +- .../plugins/specialchar/dialogs/lang/ko.js | 2 +- .../plugins/specialchar/dialogs/lang/ku.js | 2 +- .../plugins/specialchar/dialogs/lang/lt.js | 2 +- .../plugins/specialchar/dialogs/lang/lv.js | 2 +- .../plugins/specialchar/dialogs/lang/nb.js | 2 +- .../plugins/specialchar/dialogs/lang/nl.js | 2 +- .../plugins/specialchar/dialogs/lang/no.js | 2 +- .../plugins/specialchar/dialogs/lang/oc.js | 2 +- .../plugins/specialchar/dialogs/lang/pl.js | 2 +- .../plugins/specialchar/dialogs/lang/pt-br.js | 2 +- .../plugins/specialchar/dialogs/lang/pt.js | 2 +- .../plugins/specialchar/dialogs/lang/ro.js | 2 +- .../plugins/specialchar/dialogs/lang/ru.js | 2 +- .../plugins/specialchar/dialogs/lang/si.js | 2 +- .../plugins/specialchar/dialogs/lang/sk.js | 2 +- .../plugins/specialchar/dialogs/lang/sl.js | 2 +- .../plugins/specialchar/dialogs/lang/sq.js | 2 +- .../specialchar/dialogs/lang/sr-latn.js | 2 +- .../plugins/specialchar/dialogs/lang/sr.js | 2 +- .../plugins/specialchar/dialogs/lang/sv.js | 2 +- .../plugins/specialchar/dialogs/lang/th.js | 2 +- .../plugins/specialchar/dialogs/lang/tr.js | 2 +- .../plugins/specialchar/dialogs/lang/tt.js | 2 +- .../plugins/specialchar/dialogs/lang/ug.js | 2 +- .../plugins/specialchar/dialogs/lang/uk.js | 2 +- .../plugins/specialchar/dialogs/lang/vi.js | 2 +- .../plugins/specialchar/dialogs/lang/zh-cn.js | 2 +- .../plugins/specialchar/dialogs/lang/zh.js | 2 +- .../specialchar/dialogs/specialchar.js | 2 +- .../ckeditor/plugins/table/dialogs/table.js | 36 +- .../plugins/tabletools/dialogs/tableCell.js | 30 +- .../ckeditor/skins/moono-lisa/dialog.css | 4 +- .../ckeditor/skins/moono-lisa/dialog_ie.css | 4 +- .../ckeditor/skins/moono-lisa/dialog_ie8.css | 4 +- .../skins/moono-lisa/dialog_iequirks.css | 4 +- .../ckeditor/skins/moono-lisa/editor.css | 4 +- .../skins/moono-lisa/editor_gecko.css | 4 +- .../ckeditor/skins/moono-lisa/editor_ie.css | 4 +- .../ckeditor/skins/moono-lisa/editor_ie8.css | 4 +- .../skins/moono-lisa/editor_iequirks.css | 4 +- .../vendor/ckeditor5/alignment/alignment.js | 5 + .../ckeditor5/alignment/translations/af.js | 1 + .../ckeditor5/alignment/translations/ar.js | 1 + .../ckeditor5/alignment/translations/az.js | 1 + .../ckeditor5/alignment/translations/bg.js | 1 + .../ckeditor5/alignment/translations/bn.js | 1 + .../ckeditor5/alignment/translations/bs.js | 1 + .../ckeditor5/alignment/translations/ca.js | 1 + .../ckeditor5/alignment/translations/cs.js | 1 + .../ckeditor5/alignment/translations/da.js | 1 + .../ckeditor5/alignment/translations/de-ch.js | 1 + .../ckeditor5/alignment/translations/de.js | 1 + .../ckeditor5/alignment/translations/el.js | 1 + .../ckeditor5/alignment/translations/en-au.js | 1 + .../ckeditor5/alignment/translations/en-gb.js | 1 + .../ckeditor5/alignment/translations/es-co.js | 1 + .../ckeditor5/alignment/translations/es.js | 1 + .../ckeditor5/alignment/translations/et.js | 1 + .../ckeditor5/alignment/translations/fa.js | 1 + .../ckeditor5/alignment/translations/fi.js | 1 + .../ckeditor5/alignment/translations/fr.js | 1 + .../ckeditor5/alignment/translations/gl.js | 1 + .../ckeditor5/alignment/translations/he.js | 1 + .../ckeditor5/alignment/translations/hi.js | 1 + .../ckeditor5/alignment/translations/hr.js | 1 + .../ckeditor5/alignment/translations/hu.js | 1 + .../ckeditor5/alignment/translations/id.js | 1 + .../ckeditor5/alignment/translations/it.js | 1 + .../ckeditor5/alignment/translations/ja.js | 1 + .../ckeditor5/alignment/translations/jv.js | 1 + .../ckeditor5/alignment/translations/kk.js | 1 + .../ckeditor5/alignment/translations/km.js | 1 + .../ckeditor5/alignment/translations/ko.js | 1 + .../ckeditor5/alignment/translations/ku.js | 1 + .../ckeditor5/alignment/translations/lt.js | 1 + .../ckeditor5/alignment/translations/lv.js | 1 + .../ckeditor5/alignment/translations/ms.js | 1 + .../ckeditor5/alignment/translations/nb.js | 1 + .../ckeditor5/alignment/translations/ne.js | 1 + .../ckeditor5/alignment/translations/nl.js | 1 + .../ckeditor5/alignment/translations/no.js | 1 + .../ckeditor5/alignment/translations/pl.js | 1 + .../ckeditor5/alignment/translations/pt-br.js | 1 + .../ckeditor5/alignment/translations/pt.js | 1 + .../ckeditor5/alignment/translations/ro.js | 1 + .../ckeditor5/alignment/translations/ru.js | 1 + .../ckeditor5/alignment/translations/sk.js | 1 + .../ckeditor5/alignment/translations/sl.js | 1 + .../ckeditor5/alignment/translations/sq.js | 1 + .../alignment/translations/sr-latn.js | 1 + .../ckeditor5/alignment/translations/sr.js | 1 + .../ckeditor5/alignment/translations/sv.js | 1 + .../ckeditor5/alignment/translations/th.js | 1 + .../ckeditor5/alignment/translations/tk.js | 1 + .../ckeditor5/alignment/translations/tr.js | 1 + .../ckeditor5/alignment/translations/ug.js | 1 + .../ckeditor5/alignment/translations/uk.js | 1 + .../ckeditor5/alignment/translations/ur.js | 1 + .../ckeditor5/alignment/translations/uz.js | 1 + .../ckeditor5/alignment/translations/vi.js | 1 + .../ckeditor5/alignment/translations/zh-cn.js | 1 + .../ckeditor5/alignment/translations/zh.js | 1 + .../ckeditor5/basic-styles/basic-styles.js | 5 + .../ckeditor5/basic-styles/translations/af.js | 1 + .../ckeditor5/basic-styles/translations/ar.js | 1 + .../basic-styles/translations/ast.js | 1 + .../ckeditor5/basic-styles/translations/az.js | 1 + .../ckeditor5/basic-styles/translations/bg.js | 1 + .../ckeditor5/basic-styles/translations/bn.js | 1 + .../ckeditor5/basic-styles/translations/bs.js | 1 + .../ckeditor5/basic-styles/translations/ca.js | 1 + .../ckeditor5/basic-styles/translations/cs.js | 1 + .../ckeditor5/basic-styles/translations/da.js | 1 + .../basic-styles/translations/de-ch.js | 1 + .../ckeditor5/basic-styles/translations/de.js | 1 + .../ckeditor5/basic-styles/translations/el.js | 1 + .../basic-styles/translations/en-au.js | 1 + .../basic-styles/translations/en-gb.js | 1 + .../ckeditor5/basic-styles/translations/eo.js | 1 + .../basic-styles/translations/es-co.js | 1 + .../ckeditor5/basic-styles/translations/es.js | 1 + .../ckeditor5/basic-styles/translations/et.js | 1 + .../ckeditor5/basic-styles/translations/eu.js | 1 + .../ckeditor5/basic-styles/translations/fa.js | 1 + .../ckeditor5/basic-styles/translations/fi.js | 1 + .../ckeditor5/basic-styles/translations/fr.js | 1 + .../ckeditor5/basic-styles/translations/gl.js | 1 + .../ckeditor5/basic-styles/translations/gu.js | 1 + .../ckeditor5/basic-styles/translations/he.js | 1 + .../ckeditor5/basic-styles/translations/hi.js | 1 + .../ckeditor5/basic-styles/translations/hr.js | 1 + .../ckeditor5/basic-styles/translations/hu.js | 1 + .../ckeditor5/basic-styles/translations/id.js | 1 + .../ckeditor5/basic-styles/translations/it.js | 1 + .../ckeditor5/basic-styles/translations/ja.js | 1 + .../ckeditor5/basic-styles/translations/jv.js | 1 + .../ckeditor5/basic-styles/translations/km.js | 1 + .../ckeditor5/basic-styles/translations/kn.js | 1 + .../ckeditor5/basic-styles/translations/ko.js | 1 + .../ckeditor5/basic-styles/translations/ku.js | 1 + .../ckeditor5/basic-styles/translations/lt.js | 1 + .../ckeditor5/basic-styles/translations/lv.js | 1 + .../ckeditor5/basic-styles/translations/ms.js | 1 + .../ckeditor5/basic-styles/translations/nb.js | 1 + .../ckeditor5/basic-styles/translations/ne.js | 1 + .../ckeditor5/basic-styles/translations/nl.js | 1 + .../ckeditor5/basic-styles/translations/no.js | 1 + .../ckeditor5/basic-styles/translations/oc.js | 1 + .../ckeditor5/basic-styles/translations/pl.js | 1 + .../basic-styles/translations/pt-br.js | 1 + .../ckeditor5/basic-styles/translations/pt.js | 1 + .../ckeditor5/basic-styles/translations/ro.js | 1 + .../ckeditor5/basic-styles/translations/ru.js | 1 + .../ckeditor5/basic-styles/translations/si.js | 1 + .../ckeditor5/basic-styles/translations/sk.js | 1 + .../ckeditor5/basic-styles/translations/sl.js | 1 + .../ckeditor5/basic-styles/translations/sq.js | 1 + .../basic-styles/translations/sr-latn.js | 1 + .../ckeditor5/basic-styles/translations/sr.js | 1 + .../ckeditor5/basic-styles/translations/sv.js | 1 + .../ckeditor5/basic-styles/translations/th.js | 1 + .../ckeditor5/basic-styles/translations/tk.js | 1 + .../ckeditor5/basic-styles/translations/tr.js | 1 + .../ckeditor5/basic-styles/translations/tt.js | 1 + .../ckeditor5/basic-styles/translations/ug.js | 1 + .../ckeditor5/basic-styles/translations/uk.js | 1 + .../ckeditor5/basic-styles/translations/ur.js | 1 + .../ckeditor5/basic-styles/translations/uz.js | 1 + .../ckeditor5/basic-styles/translations/vi.js | 1 + .../basic-styles/translations/zh-cn.js | 1 + .../ckeditor5/basic-styles/translations/zh.js | 1 + .../ckeditor5/block-quote/block-quote.js | 5 + .../ckeditor5/block-quote/translations/af.js | 1 + .../ckeditor5/block-quote/translations/ar.js | 1 + .../ckeditor5/block-quote/translations/az.js | 1 + .../ckeditor5/block-quote/translations/bg.js | 1 + .../ckeditor5/block-quote/translations/bn.js | 1 + .../ckeditor5/block-quote/translations/bs.js | 1 + .../ckeditor5/block-quote/translations/ca.js | 1 + .../ckeditor5/block-quote/translations/cs.js | 1 + .../ckeditor5/block-quote/translations/da.js | 1 + .../block-quote/translations/de-ch.js | 1 + .../ckeditor5/block-quote/translations/de.js | 1 + .../ckeditor5/block-quote/translations/el.js | 1 + .../block-quote/translations/en-au.js | 1 + .../block-quote/translations/en-gb.js | 1 + .../block-quote/translations/es-co.js | 1 + .../ckeditor5/block-quote/translations/es.js | 1 + .../ckeditor5/block-quote/translations/et.js | 1 + .../ckeditor5/block-quote/translations/eu.js | 1 + .../ckeditor5/block-quote/translations/fa.js | 1 + .../ckeditor5/block-quote/translations/fi.js | 1 + .../ckeditor5/block-quote/translations/fr.js | 1 + .../ckeditor5/block-quote/translations/gl.js | 1 + .../ckeditor5/block-quote/translations/gu.js | 1 + .../ckeditor5/block-quote/translations/he.js | 1 + .../ckeditor5/block-quote/translations/hi.js | 1 + .../ckeditor5/block-quote/translations/hr.js | 1 + .../ckeditor5/block-quote/translations/hu.js | 1 + .../ckeditor5/block-quote/translations/id.js | 1 + .../ckeditor5/block-quote/translations/it.js | 1 + .../ckeditor5/block-quote/translations/ja.js | 1 + .../ckeditor5/block-quote/translations/km.js | 1 + .../ckeditor5/block-quote/translations/kn.js | 1 + .../ckeditor5/block-quote/translations/ko.js | 1 + .../ckeditor5/block-quote/translations/ku.js | 1 + .../ckeditor5/block-quote/translations/lt.js | 1 + .../ckeditor5/block-quote/translations/lv.js | 1 + .../ckeditor5/block-quote/translations/ms.js | 1 + .../ckeditor5/block-quote/translations/nb.js | 1 + .../ckeditor5/block-quote/translations/ne.js | 1 + .../ckeditor5/block-quote/translations/nl.js | 1 + .../ckeditor5/block-quote/translations/no.js | 1 + .../ckeditor5/block-quote/translations/pl.js | 1 + .../block-quote/translations/pt-br.js | 1 + .../ckeditor5/block-quote/translations/pt.js | 1 + .../ckeditor5/block-quote/translations/ro.js | 1 + .../ckeditor5/block-quote/translations/ru.js | 1 + .../ckeditor5/block-quote/translations/sk.js | 1 + .../ckeditor5/block-quote/translations/sl.js | 1 + .../ckeditor5/block-quote/translations/sq.js | 1 + .../block-quote/translations/sr-latn.js | 1 + .../ckeditor5/block-quote/translations/sr.js | 1 + .../ckeditor5/block-quote/translations/sv.js | 1 + .../ckeditor5/block-quote/translations/th.js | 1 + .../ckeditor5/block-quote/translations/tk.js | 1 + .../ckeditor5/block-quote/translations/tr.js | 1 + .../ckeditor5/block-quote/translations/ug.js | 1 + .../ckeditor5/block-quote/translations/uk.js | 1 + .../ckeditor5/block-quote/translations/ur.js | 1 + .../ckeditor5/block-quote/translations/uz.js | 1 + .../ckeditor5/block-quote/translations/vi.js | 1 + .../block-quote/translations/zh-cn.js | 1 + .../ckeditor5/block-quote/translations/zh.js | 1 + .../ckeditor5/ckeditor5-dll/ckeditor5-dll.js | 5 + .../ckeditor5-dll/translations/af.js | 1 + .../ckeditor5-dll/translations/ar.js | 1 + .../ckeditor5-dll/translations/ast.js | 1 + .../ckeditor5-dll/translations/az.js | 1 + .../ckeditor5-dll/translations/bg.js | 1 + .../ckeditor5-dll/translations/bn.js | 1 + .../ckeditor5-dll/translations/bs.js | 1 + .../ckeditor5-dll/translations/ca.js | 1 + .../ckeditor5-dll/translations/cs.js | 1 + .../ckeditor5-dll/translations/da.js | 1 + .../ckeditor5-dll/translations/de-ch.js | 1 + .../ckeditor5-dll/translations/de.js | 1 + .../ckeditor5-dll/translations/el.js | 1 + .../ckeditor5-dll/translations/en-au.js | 1 + .../ckeditor5-dll/translations/en-gb.js | 1 + .../ckeditor5-dll/translations/eo.js | 1 + .../ckeditor5-dll/translations/es-co.js | 1 + .../ckeditor5-dll/translations/es.js | 1 + .../ckeditor5-dll/translations/et.js | 1 + .../ckeditor5-dll/translations/eu.js | 1 + .../ckeditor5-dll/translations/fa.js | 1 + .../ckeditor5-dll/translations/fi.js | 1 + .../ckeditor5-dll/translations/fr.js | 1 + .../ckeditor5-dll/translations/gl.js | 1 + .../ckeditor5-dll/translations/gu.js | 1 + .../ckeditor5-dll/translations/he.js | 1 + .../ckeditor5-dll/translations/hi.js | 1 + .../ckeditor5-dll/translations/hr.js | 1 + .../ckeditor5-dll/translations/hu.js | 1 + .../ckeditor5-dll/translations/id.js | 1 + .../ckeditor5-dll/translations/it.js | 1 + .../ckeditor5-dll/translations/ja.js | 1 + .../ckeditor5-dll/translations/jv.js | 1 + .../ckeditor5-dll/translations/km.js | 1 + .../ckeditor5-dll/translations/kn.js | 1 + .../ckeditor5-dll/translations/ko.js | 1 + .../ckeditor5-dll/translations/ku.js | 1 + .../ckeditor5-dll/translations/lt.js | 1 + .../ckeditor5-dll/translations/lv.js | 1 + .../ckeditor5-dll/translations/ms.js | 1 + .../ckeditor5-dll/translations/nb.js | 1 + .../ckeditor5-dll/translations/ne.js | 1 + .../ckeditor5-dll/translations/nl.js | 1 + .../ckeditor5-dll/translations/no.js | 1 + .../ckeditor5-dll/translations/oc.js | 1 + .../ckeditor5-dll/translations/pl.js | 1 + .../ckeditor5-dll/translations/pt-br.js | 1 + .../ckeditor5-dll/translations/pt.js | 1 + .../ckeditor5-dll/translations/ro.js | 1 + .../ckeditor5-dll/translations/ru.js | 1 + .../ckeditor5-dll/translations/si.js | 1 + .../ckeditor5-dll/translations/sk.js | 1 + .../ckeditor5-dll/translations/sl.js | 1 + .../ckeditor5-dll/translations/sq.js | 1 + .../ckeditor5-dll/translations/sr-latn.js | 1 + .../ckeditor5-dll/translations/sr.js | 1 + .../ckeditor5-dll/translations/sv.js | 1 + .../ckeditor5-dll/translations/th.js | 1 + .../ckeditor5-dll/translations/tk.js | 1 + .../ckeditor5-dll/translations/tr.js | 1 + .../ckeditor5-dll/translations/tt.js | 1 + .../ckeditor5-dll/translations/ug.js | 1 + .../ckeditor5-dll/translations/uk.js | 1 + .../ckeditor5-dll/translations/ur.js | 1 + .../ckeditor5-dll/translations/uz.js | 1 + .../ckeditor5-dll/translations/vi.js | 1 + .../ckeditor5-dll/translations/zh-cn.js | 1 + .../ckeditor5-dll/translations/zh.js | 1 + .../vendor/ckeditor5/code-block/code-block.js | 5 + .../ckeditor5/code-block/translations/af.js | 1 + .../ckeditor5/code-block/translations/ar.js | 1 + .../ckeditor5/code-block/translations/az.js | 1 + .../ckeditor5/code-block/translations/bg.js | 1 + .../ckeditor5/code-block/translations/bn.js | 1 + .../ckeditor5/code-block/translations/bs.js | 1 + .../ckeditor5/code-block/translations/ca.js | 1 + .../ckeditor5/code-block/translations/cs.js | 1 + .../ckeditor5/code-block/translations/da.js | 1 + .../code-block/translations/de-ch.js | 1 + .../ckeditor5/code-block/translations/de.js | 1 + .../ckeditor5/code-block/translations/el.js | 1 + .../code-block/translations/en-au.js | 1 + .../code-block/translations/es-co.js | 1 + .../ckeditor5/code-block/translations/es.js | 1 + .../ckeditor5/code-block/translations/et.js | 1 + .../ckeditor5/code-block/translations/fa.js | 1 + .../ckeditor5/code-block/translations/fi.js | 1 + .../ckeditor5/code-block/translations/fr.js | 1 + .../ckeditor5/code-block/translations/gl.js | 1 + .../ckeditor5/code-block/translations/he.js | 1 + .../ckeditor5/code-block/translations/hi.js | 1 + .../ckeditor5/code-block/translations/hr.js | 1 + .../ckeditor5/code-block/translations/hu.js | 1 + .../ckeditor5/code-block/translations/id.js | 1 + .../ckeditor5/code-block/translations/it.js | 1 + .../ckeditor5/code-block/translations/ja.js | 1 + .../ckeditor5/code-block/translations/jv.js | 1 + .../ckeditor5/code-block/translations/ko.js | 1 + .../ckeditor5/code-block/translations/ku.js | 1 + .../ckeditor5/code-block/translations/lt.js | 1 + .../ckeditor5/code-block/translations/lv.js | 1 + .../ckeditor5/code-block/translations/ms.js | 1 + .../ckeditor5/code-block/translations/nl.js | 1 + .../ckeditor5/code-block/translations/no.js | 1 + .../ckeditor5/code-block/translations/pl.js | 1 + .../code-block/translations/pt-br.js | 1 + .../ckeditor5/code-block/translations/pt.js | 1 + .../ckeditor5/code-block/translations/ro.js | 1 + .../ckeditor5/code-block/translations/ru.js | 1 + .../ckeditor5/code-block/translations/sk.js | 1 + .../code-block/translations/sr-latn.js | 1 + .../ckeditor5/code-block/translations/sr.js | 1 + .../ckeditor5/code-block/translations/sv.js | 1 + .../ckeditor5/code-block/translations/th.js | 1 + .../ckeditor5/code-block/translations/tk.js | 1 + .../ckeditor5/code-block/translations/tr.js | 1 + .../ckeditor5/code-block/translations/ug.js | 1 + .../ckeditor5/code-block/translations/uk.js | 1 + .../ckeditor5/code-block/translations/ur.js | 1 + .../ckeditor5/code-block/translations/uz.js | 1 + .../ckeditor5/code-block/translations/vi.js | 1 + .../code-block/translations/zh-cn.js | 1 + .../ckeditor5/code-block/translations/zh.js | 1 + .../editor-classic/editor-classic.js | 4 + .../editor-decoupled/editor-decoupled.js | 4 + .../vendor/ckeditor5/essentials/essentials.js | 4 + .../vendor/ckeditor5/heading/heading.js | 5 + .../ckeditor5/heading/translations/ar.js | 1 + .../ckeditor5/heading/translations/az.js | 1 + .../ckeditor5/heading/translations/bg.js | 1 + .../ckeditor5/heading/translations/bn.js | 1 + .../ckeditor5/heading/translations/bs.js | 1 + .../ckeditor5/heading/translations/ca.js | 1 + .../ckeditor5/heading/translations/cs.js | 1 + .../ckeditor5/heading/translations/da.js | 1 + .../ckeditor5/heading/translations/de-ch.js | 1 + .../ckeditor5/heading/translations/de.js | 1 + .../ckeditor5/heading/translations/el.js | 1 + .../ckeditor5/heading/translations/en-au.js | 1 + .../ckeditor5/heading/translations/en-gb.js | 1 + .../ckeditor5/heading/translations/eo.js | 1 + .../ckeditor5/heading/translations/es.js | 1 + .../ckeditor5/heading/translations/et.js | 1 + .../ckeditor5/heading/translations/eu.js | 1 + .../ckeditor5/heading/translations/fa.js | 1 + .../ckeditor5/heading/translations/fi.js | 1 + .../ckeditor5/heading/translations/fr.js | 1 + .../ckeditor5/heading/translations/gl.js | 1 + .../ckeditor5/heading/translations/he.js | 1 + .../ckeditor5/heading/translations/hi.js | 1 + .../ckeditor5/heading/translations/hr.js | 1 + .../ckeditor5/heading/translations/hu.js | 1 + .../ckeditor5/heading/translations/id.js | 1 + .../ckeditor5/heading/translations/it.js | 1 + .../ckeditor5/heading/translations/ja.js | 1 + .../ckeditor5/heading/translations/jv.js | 1 + .../ckeditor5/heading/translations/km.js | 1 + .../ckeditor5/heading/translations/kn.js | 1 + .../ckeditor5/heading/translations/ko.js | 1 + .../ckeditor5/heading/translations/ku.js | 1 + .../ckeditor5/heading/translations/lt.js | 1 + .../ckeditor5/heading/translations/lv.js | 1 + .../ckeditor5/heading/translations/ms.js | 1 + .../ckeditor5/heading/translations/nb.js | 1 + .../ckeditor5/heading/translations/ne.js | 1 + .../ckeditor5/heading/translations/nl.js | 1 + .../ckeditor5/heading/translations/no.js | 1 + .../ckeditor5/heading/translations/pl.js | 1 + .../ckeditor5/heading/translations/pt-br.js | 1 + .../ckeditor5/heading/translations/pt.js | 1 + .../ckeditor5/heading/translations/ro.js | 1 + .../ckeditor5/heading/translations/ru.js | 1 + .../ckeditor5/heading/translations/sk.js | 1 + .../ckeditor5/heading/translations/sl.js | 1 + .../ckeditor5/heading/translations/sq.js | 1 + .../ckeditor5/heading/translations/sr-latn.js | 1 + .../ckeditor5/heading/translations/sr.js | 1 + .../ckeditor5/heading/translations/sv.js | 1 + .../ckeditor5/heading/translations/th.js | 1 + .../ckeditor5/heading/translations/tk.js | 1 + .../ckeditor5/heading/translations/tr.js | 1 + .../ckeditor5/heading/translations/ug.js | 1 + .../ckeditor5/heading/translations/uk.js | 1 + .../ckeditor5/heading/translations/ur.js | 1 + .../ckeditor5/heading/translations/uz.js | 1 + .../ckeditor5/heading/translations/vi.js | 1 + .../ckeditor5/heading/translations/zh-cn.js | 1 + .../ckeditor5/heading/translations/zh.js | 1 + .../horizontal-line/horizontal-line.js | 5 + .../horizontal-line/translations/ar.js | 1 + .../horizontal-line/translations/az.js | 1 + .../horizontal-line/translations/bg.js | 1 + .../horizontal-line/translations/bn.js | 1 + .../horizontal-line/translations/bs.js | 1 + .../horizontal-line/translations/ca.js | 1 + .../horizontal-line/translations/cs.js | 1 + .../horizontal-line/translations/da.js | 1 + .../horizontal-line/translations/de-ch.js | 1 + .../horizontal-line/translations/de.js | 1 + .../horizontal-line/translations/el.js | 1 + .../horizontal-line/translations/en-au.js | 1 + .../horizontal-line/translations/es.js | 1 + .../horizontal-line/translations/et.js | 1 + .../horizontal-line/translations/fa.js | 1 + .../horizontal-line/translations/fi.js | 1 + .../horizontal-line/translations/fr.js | 1 + .../horizontal-line/translations/gl.js | 1 + .../horizontal-line/translations/he.js | 1 + .../horizontal-line/translations/hi.js | 1 + .../horizontal-line/translations/hr.js | 1 + .../horizontal-line/translations/hu.js | 1 + .../horizontal-line/translations/id.js | 1 + .../horizontal-line/translations/it.js | 1 + .../horizontal-line/translations/ja.js | 1 + .../horizontal-line/translations/jv.js | 1 + .../horizontal-line/translations/ko.js | 1 + .../horizontal-line/translations/ku.js | 1 + .../horizontal-line/translations/lt.js | 1 + .../horizontal-line/translations/lv.js | 1 + .../horizontal-line/translations/ms.js | 1 + .../horizontal-line/translations/nl.js | 1 + .../horizontal-line/translations/no.js | 1 + .../horizontal-line/translations/pl.js | 1 + .../horizontal-line/translations/pt-br.js | 1 + .../horizontal-line/translations/pt.js | 1 + .../horizontal-line/translations/ro.js | 1 + .../horizontal-line/translations/ru.js | 1 + .../horizontal-line/translations/sk.js | 1 + .../horizontal-line/translations/sl.js | 1 + .../horizontal-line/translations/sr-latn.js | 1 + .../horizontal-line/translations/sr.js | 1 + .../horizontal-line/translations/sv.js | 1 + .../horizontal-line/translations/th.js | 1 + .../horizontal-line/translations/tk.js | 1 + .../horizontal-line/translations/tr.js | 1 + .../horizontal-line/translations/uk.js | 1 + .../horizontal-line/translations/ur.js | 1 + .../horizontal-line/translations/vi.js | 1 + .../horizontal-line/translations/zh-cn.js | 1 + .../horizontal-line/translations/zh.js | 1 + .../ckeditor5/html-support/html-support.js | 5 + .../ckeditor5/html-support/translations/ar.js | 1 + .../ckeditor5/html-support/translations/bg.js | 1 + .../ckeditor5/html-support/translations/bn.js | 1 + .../ckeditor5/html-support/translations/ca.js | 1 + .../ckeditor5/html-support/translations/cs.js | 1 + .../ckeditor5/html-support/translations/da.js | 1 + .../ckeditor5/html-support/translations/de.js | 1 + .../ckeditor5/html-support/translations/el.js | 1 + .../html-support/translations/en-au.js | 1 + .../ckeditor5/html-support/translations/es.js | 1 + .../ckeditor5/html-support/translations/et.js | 1 + .../ckeditor5/html-support/translations/fi.js | 1 + .../ckeditor5/html-support/translations/fr.js | 1 + .../ckeditor5/html-support/translations/gl.js | 1 + .../ckeditor5/html-support/translations/he.js | 1 + .../ckeditor5/html-support/translations/hi.js | 1 + .../ckeditor5/html-support/translations/hr.js | 1 + .../ckeditor5/html-support/translations/hu.js | 1 + .../ckeditor5/html-support/translations/id.js | 1 + .../ckeditor5/html-support/translations/it.js | 1 + .../ckeditor5/html-support/translations/ja.js | 1 + .../ckeditor5/html-support/translations/jv.js | 1 + .../ckeditor5/html-support/translations/ko.js | 1 + .../ckeditor5/html-support/translations/lt.js | 1 + .../ckeditor5/html-support/translations/lv.js | 1 + .../ckeditor5/html-support/translations/ms.js | 1 + .../ckeditor5/html-support/translations/nl.js | 1 + .../ckeditor5/html-support/translations/no.js | 1 + .../ckeditor5/html-support/translations/pl.js | 1 + .../html-support/translations/pt-br.js | 1 + .../ckeditor5/html-support/translations/pt.js | 1 + .../ckeditor5/html-support/translations/ro.js | 1 + .../ckeditor5/html-support/translations/ru.js | 1 + .../ckeditor5/html-support/translations/sk.js | 1 + .../html-support/translations/sr-latn.js | 1 + .../ckeditor5/html-support/translations/sr.js | 1 + .../ckeditor5/html-support/translations/sv.js | 1 + .../ckeditor5/html-support/translations/th.js | 1 + .../ckeditor5/html-support/translations/tr.js | 1 + .../ckeditor5/html-support/translations/uk.js | 1 + .../ckeditor5/html-support/translations/ur.js | 1 + .../ckeditor5/html-support/translations/vi.js | 1 + .../html-support/translations/zh-cn.js | 1 + .../ckeditor5/html-support/translations/zh.js | 1 + core/assets/vendor/ckeditor5/image/image.js | 5 + .../vendor/ckeditor5/image/translations/ar.js | 1 + .../ckeditor5/image/translations/ast.js | 1 + .../vendor/ckeditor5/image/translations/az.js | 1 + .../vendor/ckeditor5/image/translations/bg.js | 1 + .../vendor/ckeditor5/image/translations/bn.js | 1 + .../vendor/ckeditor5/image/translations/bs.js | 1 + .../vendor/ckeditor5/image/translations/ca.js | 1 + .../vendor/ckeditor5/image/translations/cs.js | 1 + .../vendor/ckeditor5/image/translations/da.js | 1 + .../ckeditor5/image/translations/de-ch.js | 1 + .../vendor/ckeditor5/image/translations/de.js | 1 + .../vendor/ckeditor5/image/translations/el.js | 1 + .../ckeditor5/image/translations/en-au.js | 1 + .../ckeditor5/image/translations/en-gb.js | 1 + .../vendor/ckeditor5/image/translations/eo.js | 1 + .../vendor/ckeditor5/image/translations/es.js | 1 + .../vendor/ckeditor5/image/translations/et.js | 1 + .../vendor/ckeditor5/image/translations/eu.js | 1 + .../vendor/ckeditor5/image/translations/fa.js | 1 + .../vendor/ckeditor5/image/translations/fi.js | 1 + .../vendor/ckeditor5/image/translations/fr.js | 1 + .../vendor/ckeditor5/image/translations/gl.js | 1 + .../vendor/ckeditor5/image/translations/he.js | 1 + .../vendor/ckeditor5/image/translations/hi.js | 1 + .../vendor/ckeditor5/image/translations/hr.js | 1 + .../vendor/ckeditor5/image/translations/hu.js | 1 + .../vendor/ckeditor5/image/translations/id.js | 1 + .../vendor/ckeditor5/image/translations/it.js | 1 + .../vendor/ckeditor5/image/translations/ja.js | 1 + .../vendor/ckeditor5/image/translations/jv.js | 1 + .../vendor/ckeditor5/image/translations/km.js | 1 + .../vendor/ckeditor5/image/translations/kn.js | 1 + .../vendor/ckeditor5/image/translations/ko.js | 1 + .../vendor/ckeditor5/image/translations/ku.js | 1 + .../vendor/ckeditor5/image/translations/lt.js | 1 + .../vendor/ckeditor5/image/translations/lv.js | 1 + .../vendor/ckeditor5/image/translations/ms.js | 1 + .../vendor/ckeditor5/image/translations/nb.js | 1 + .../vendor/ckeditor5/image/translations/ne.js | 1 + .../vendor/ckeditor5/image/translations/nl.js | 1 + .../vendor/ckeditor5/image/translations/no.js | 1 + .../vendor/ckeditor5/image/translations/pl.js | 1 + .../ckeditor5/image/translations/pt-br.js | 1 + .../vendor/ckeditor5/image/translations/pt.js | 1 + .../vendor/ckeditor5/image/translations/ro.js | 1 + .../vendor/ckeditor5/image/translations/ru.js | 1 + .../vendor/ckeditor5/image/translations/si.js | 1 + .../vendor/ckeditor5/image/translations/sk.js | 1 + .../vendor/ckeditor5/image/translations/sq.js | 1 + .../ckeditor5/image/translations/sr-latn.js | 1 + .../vendor/ckeditor5/image/translations/sr.js | 1 + .../vendor/ckeditor5/image/translations/sv.js | 1 + .../vendor/ckeditor5/image/translations/th.js | 1 + .../vendor/ckeditor5/image/translations/tk.js | 1 + .../vendor/ckeditor5/image/translations/tr.js | 1 + .../vendor/ckeditor5/image/translations/tt.js | 1 + .../vendor/ckeditor5/image/translations/ug.js | 1 + .../vendor/ckeditor5/image/translations/uk.js | 1 + .../vendor/ckeditor5/image/translations/ur.js | 1 + .../vendor/ckeditor5/image/translations/uz.js | 1 + .../vendor/ckeditor5/image/translations/vi.js | 1 + .../ckeditor5/image/translations/zh-cn.js | 1 + .../vendor/ckeditor5/image/translations/zh.js | 1 + core/assets/vendor/ckeditor5/indent/indent.js | 5 + .../ckeditor5/indent/translations/ar.js | 1 + .../ckeditor5/indent/translations/az.js | 1 + .../ckeditor5/indent/translations/bg.js | 1 + .../ckeditor5/indent/translations/bn.js | 1 + .../ckeditor5/indent/translations/ca.js | 1 + .../ckeditor5/indent/translations/cs.js | 1 + .../ckeditor5/indent/translations/da.js | 1 + .../ckeditor5/indent/translations/de-ch.js | 1 + .../ckeditor5/indent/translations/de.js | 1 + .../ckeditor5/indent/translations/el.js | 1 + .../ckeditor5/indent/translations/en-au.js | 1 + .../ckeditor5/indent/translations/en-gb.js | 1 + .../ckeditor5/indent/translations/es.js | 1 + .../ckeditor5/indent/translations/et.js | 1 + .../ckeditor5/indent/translations/fa.js | 1 + .../ckeditor5/indent/translations/fi.js | 1 + .../ckeditor5/indent/translations/fr.js | 1 + .../ckeditor5/indent/translations/gl.js | 1 + .../ckeditor5/indent/translations/he.js | 1 + .../ckeditor5/indent/translations/hi.js | 1 + .../ckeditor5/indent/translations/hr.js | 1 + .../ckeditor5/indent/translations/hu.js | 1 + .../ckeditor5/indent/translations/id.js | 1 + .../ckeditor5/indent/translations/it.js | 1 + .../ckeditor5/indent/translations/ja.js | 1 + .../ckeditor5/indent/translations/ko.js | 1 + .../ckeditor5/indent/translations/ku.js | 1 + .../ckeditor5/indent/translations/lt.js | 1 + .../ckeditor5/indent/translations/lv.js | 1 + .../ckeditor5/indent/translations/ms.js | 1 + .../ckeditor5/indent/translations/ne.js | 1 + .../ckeditor5/indent/translations/nl.js | 1 + .../ckeditor5/indent/translations/no.js | 1 + .../ckeditor5/indent/translations/pl.js | 1 + .../ckeditor5/indent/translations/pt-br.js | 1 + .../ckeditor5/indent/translations/pt.js | 1 + .../ckeditor5/indent/translations/ro.js | 1 + .../ckeditor5/indent/translations/ru.js | 1 + .../ckeditor5/indent/translations/sk.js | 1 + .../ckeditor5/indent/translations/sr-latn.js | 1 + .../ckeditor5/indent/translations/sr.js | 1 + .../ckeditor5/indent/translations/sv.js | 1 + .../ckeditor5/indent/translations/th.js | 1 + .../ckeditor5/indent/translations/tk.js | 1 + .../ckeditor5/indent/translations/tr.js | 1 + .../ckeditor5/indent/translations/uk.js | 1 + .../ckeditor5/indent/translations/ur.js | 1 + .../ckeditor5/indent/translations/uz.js | 1 + .../ckeditor5/indent/translations/vi.js | 1 + .../ckeditor5/indent/translations/zh-cn.js | 1 + .../ckeditor5/indent/translations/zh.js | 1 + .../vendor/ckeditor5/language/language.js | 5 + .../ckeditor5/language/translations/ar.js | 1 + .../ckeditor5/language/translations/bg.js | 1 + .../ckeditor5/language/translations/bn.js | 1 + .../ckeditor5/language/translations/ca.js | 1 + .../ckeditor5/language/translations/cs.js | 1 + .../ckeditor5/language/translations/da.js | 1 + .../ckeditor5/language/translations/de-ch.js | 1 + .../ckeditor5/language/translations/de.js | 1 + .../ckeditor5/language/translations/el.js | 1 + .../ckeditor5/language/translations/en-au.js | 1 + .../ckeditor5/language/translations/es.js | 1 + .../ckeditor5/language/translations/et.js | 1 + .../ckeditor5/language/translations/fi.js | 1 + .../ckeditor5/language/translations/fr.js | 1 + .../ckeditor5/language/translations/gl.js | 1 + .../ckeditor5/language/translations/he.js | 1 + .../ckeditor5/language/translations/hi.js | 1 + .../ckeditor5/language/translations/hr.js | 1 + .../ckeditor5/language/translations/hu.js | 1 + .../ckeditor5/language/translations/id.js | 1 + .../ckeditor5/language/translations/it.js | 1 + .../ckeditor5/language/translations/ja.js | 1 + .../ckeditor5/language/translations/jv.js | 1 + .../ckeditor5/language/translations/ko.js | 1 + .../ckeditor5/language/translations/lt.js | 1 + .../ckeditor5/language/translations/lv.js | 1 + .../ckeditor5/language/translations/ms.js | 1 + .../ckeditor5/language/translations/nl.js | 1 + .../ckeditor5/language/translations/no.js | 1 + .../ckeditor5/language/translations/pl.js | 1 + .../ckeditor5/language/translations/pt-br.js | 1 + .../ckeditor5/language/translations/pt.js | 1 + .../ckeditor5/language/translations/ro.js | 1 + .../ckeditor5/language/translations/ru.js | 1 + .../ckeditor5/language/translations/sk.js | 1 + .../language/translations/sr-latn.js | 1 + .../ckeditor5/language/translations/sr.js | 1 + .../ckeditor5/language/translations/sv.js | 1 + .../ckeditor5/language/translations/th.js | 1 + .../ckeditor5/language/translations/tk.js | 1 + .../ckeditor5/language/translations/tr.js | 1 + .../ckeditor5/language/translations/tt.js | 1 + .../ckeditor5/language/translations/uk.js | 1 + .../ckeditor5/language/translations/ur.js | 1 + .../ckeditor5/language/translations/vi.js | 1 + .../ckeditor5/language/translations/zh-cn.js | 1 + .../ckeditor5/language/translations/zh.js | 1 + core/assets/vendor/ckeditor5/link/link.js | 5 + .../vendor/ckeditor5/link/translations/ar.js | 1 + .../vendor/ckeditor5/link/translations/ast.js | 1 + .../vendor/ckeditor5/link/translations/az.js | 1 + .../vendor/ckeditor5/link/translations/bg.js | 1 + .../vendor/ckeditor5/link/translations/bn.js | 1 + .../vendor/ckeditor5/link/translations/ca.js | 1 + .../vendor/ckeditor5/link/translations/cs.js | 1 + .../vendor/ckeditor5/link/translations/da.js | 1 + .../ckeditor5/link/translations/de-ch.js | 1 + .../vendor/ckeditor5/link/translations/de.js | 1 + .../vendor/ckeditor5/link/translations/el.js | 1 + .../ckeditor5/link/translations/en-au.js | 1 + .../ckeditor5/link/translations/en-gb.js | 1 + .../vendor/ckeditor5/link/translations/eo.js | 1 + .../vendor/ckeditor5/link/translations/es.js | 1 + .../vendor/ckeditor5/link/translations/et.js | 1 + .../vendor/ckeditor5/link/translations/eu.js | 1 + .../vendor/ckeditor5/link/translations/fa.js | 1 + .../vendor/ckeditor5/link/translations/fi.js | 1 + .../vendor/ckeditor5/link/translations/fr.js | 1 + .../vendor/ckeditor5/link/translations/gl.js | 1 + .../vendor/ckeditor5/link/translations/he.js | 1 + .../vendor/ckeditor5/link/translations/hi.js | 1 + .../vendor/ckeditor5/link/translations/hr.js | 1 + .../vendor/ckeditor5/link/translations/hu.js | 1 + .../vendor/ckeditor5/link/translations/id.js | 1 + .../vendor/ckeditor5/link/translations/it.js | 1 + .../vendor/ckeditor5/link/translations/ja.js | 1 + .../vendor/ckeditor5/link/translations/km.js | 1 + .../vendor/ckeditor5/link/translations/kn.js | 1 + .../vendor/ckeditor5/link/translations/ko.js | 1 + .../vendor/ckeditor5/link/translations/ku.js | 1 + .../vendor/ckeditor5/link/translations/lt.js | 1 + .../vendor/ckeditor5/link/translations/lv.js | 1 + .../vendor/ckeditor5/link/translations/ms.js | 1 + .../vendor/ckeditor5/link/translations/nb.js | 1 + .../vendor/ckeditor5/link/translations/ne.js | 1 + .../vendor/ckeditor5/link/translations/nl.js | 1 + .../vendor/ckeditor5/link/translations/no.js | 1 + .../vendor/ckeditor5/link/translations/pl.js | 1 + .../ckeditor5/link/translations/pt-br.js | 1 + .../vendor/ckeditor5/link/translations/pt.js | 1 + .../vendor/ckeditor5/link/translations/ro.js | 1 + .../vendor/ckeditor5/link/translations/ru.js | 1 + .../vendor/ckeditor5/link/translations/sk.js | 1 + .../vendor/ckeditor5/link/translations/sq.js | 1 + .../ckeditor5/link/translations/sr-latn.js | 1 + .../vendor/ckeditor5/link/translations/sr.js | 1 + .../vendor/ckeditor5/link/translations/sv.js | 1 + .../vendor/ckeditor5/link/translations/th.js | 1 + .../vendor/ckeditor5/link/translations/tk.js | 1 + .../vendor/ckeditor5/link/translations/tr.js | 1 + .../vendor/ckeditor5/link/translations/tt.js | 1 + .../vendor/ckeditor5/link/translations/ug.js | 1 + .../vendor/ckeditor5/link/translations/uk.js | 1 + .../vendor/ckeditor5/link/translations/ur.js | 1 + .../vendor/ckeditor5/link/translations/uz.js | 1 + .../vendor/ckeditor5/link/translations/vi.js | 1 + .../ckeditor5/link/translations/zh-cn.js | 1 + .../vendor/ckeditor5/link/translations/zh.js | 1 + core/assets/vendor/ckeditor5/list/list.js | 5 + .../vendor/ckeditor5/list/translations/ar.js | 1 + .../vendor/ckeditor5/list/translations/ast.js | 1 + .../vendor/ckeditor5/list/translations/az.js | 1 + .../vendor/ckeditor5/list/translations/bg.js | 1 + .../vendor/ckeditor5/list/translations/bn.js | 1 + .../vendor/ckeditor5/list/translations/ca.js | 1 + .../vendor/ckeditor5/list/translations/cs.js | 1 + .../vendor/ckeditor5/list/translations/da.js | 1 + .../ckeditor5/list/translations/de-ch.js | 1 + .../vendor/ckeditor5/list/translations/de.js | 1 + .../vendor/ckeditor5/list/translations/el.js | 1 + .../ckeditor5/list/translations/en-au.js | 1 + .../ckeditor5/list/translations/en-gb.js | 1 + .../vendor/ckeditor5/list/translations/eo.js | 1 + .../vendor/ckeditor5/list/translations/es.js | 1 + .../vendor/ckeditor5/list/translations/et.js | 1 + .../vendor/ckeditor5/list/translations/eu.js | 1 + .../vendor/ckeditor5/list/translations/fa.js | 1 + .../vendor/ckeditor5/list/translations/fi.js | 1 + .../vendor/ckeditor5/list/translations/fr.js | 1 + .../vendor/ckeditor5/list/translations/gl.js | 1 + .../vendor/ckeditor5/list/translations/he.js | 1 + .../vendor/ckeditor5/list/translations/hi.js | 1 + .../vendor/ckeditor5/list/translations/hr.js | 1 + .../vendor/ckeditor5/list/translations/hu.js | 1 + .../vendor/ckeditor5/list/translations/id.js | 1 + .../vendor/ckeditor5/list/translations/it.js | 1 + .../vendor/ckeditor5/list/translations/ja.js | 1 + .../vendor/ckeditor5/list/translations/jv.js | 1 + .../vendor/ckeditor5/list/translations/km.js | 1 + .../vendor/ckeditor5/list/translations/kn.js | 1 + .../vendor/ckeditor5/list/translations/ko.js | 1 + .../vendor/ckeditor5/list/translations/ku.js | 1 + .../vendor/ckeditor5/list/translations/lt.js | 1 + .../vendor/ckeditor5/list/translations/lv.js | 1 + .../vendor/ckeditor5/list/translations/ms.js | 1 + .../vendor/ckeditor5/list/translations/nb.js | 1 + .../vendor/ckeditor5/list/translations/ne.js | 1 + .../vendor/ckeditor5/list/translations/nl.js | 1 + .../vendor/ckeditor5/list/translations/no.js | 1 + .../vendor/ckeditor5/list/translations/pl.js | 1 + .../ckeditor5/list/translations/pt-br.js | 1 + .../vendor/ckeditor5/list/translations/pt.js | 1 + .../vendor/ckeditor5/list/translations/ro.js | 1 + .../vendor/ckeditor5/list/translations/ru.js | 1 + .../vendor/ckeditor5/list/translations/si.js | 1 + .../vendor/ckeditor5/list/translations/sk.js | 1 + .../vendor/ckeditor5/list/translations/sq.js | 1 + .../ckeditor5/list/translations/sr-latn.js | 1 + .../vendor/ckeditor5/list/translations/sr.js | 1 + .../vendor/ckeditor5/list/translations/sv.js | 1 + .../vendor/ckeditor5/list/translations/th.js | 1 + .../vendor/ckeditor5/list/translations/tk.js | 1 + .../vendor/ckeditor5/list/translations/tr.js | 1 + .../vendor/ckeditor5/list/translations/tt.js | 1 + .../vendor/ckeditor5/list/translations/ug.js | 1 + .../vendor/ckeditor5/list/translations/uk.js | 1 + .../vendor/ckeditor5/list/translations/ur.js | 1 + .../vendor/ckeditor5/list/translations/uz.js | 1 + .../vendor/ckeditor5/list/translations/vi.js | 1 + .../ckeditor5/list/translations/zh-cn.js | 1 + .../vendor/ckeditor5/list/translations/zh.js | 1 + .../paste-from-office/paste-from-office.js | 4 + .../ckeditor5/remove-format/remove-format.js | 5 + .../remove-format/translations/af.js | 1 + .../remove-format/translations/ar.js | 1 + .../remove-format/translations/az.js | 1 + .../remove-format/translations/bg.js | 1 + .../remove-format/translations/bn.js | 1 + .../remove-format/translations/ca.js | 1 + .../remove-format/translations/cs.js | 1 + .../remove-format/translations/da.js | 1 + .../remove-format/translations/de-ch.js | 1 + .../remove-format/translations/de.js | 1 + .../remove-format/translations/el.js | 1 + .../remove-format/translations/en-au.js | 1 + .../remove-format/translations/en-gb.js | 1 + .../remove-format/translations/es.js | 1 + .../remove-format/translations/et.js | 1 + .../remove-format/translations/fa.js | 1 + .../remove-format/translations/fi.js | 1 + .../remove-format/translations/fr.js | 1 + .../remove-format/translations/gl.js | 1 + .../remove-format/translations/he.js | 1 + .../remove-format/translations/hi.js | 1 + .../remove-format/translations/hr.js | 1 + .../remove-format/translations/hu.js | 1 + .../remove-format/translations/id.js | 1 + .../remove-format/translations/it.js | 1 + .../remove-format/translations/ja.js | 1 + .../remove-format/translations/ko.js | 1 + .../remove-format/translations/ku.js | 1 + .../remove-format/translations/lt.js | 1 + .../remove-format/translations/lv.js | 1 + .../remove-format/translations/ms.js | 1 + .../remove-format/translations/ne.js | 1 + .../remove-format/translations/nl.js | 1 + .../remove-format/translations/no.js | 1 + .../remove-format/translations/pl.js | 1 + .../remove-format/translations/pt-br.js | 1 + .../remove-format/translations/pt.js | 1 + .../remove-format/translations/ro.js | 1 + .../remove-format/translations/ru.js | 1 + .../remove-format/translations/sk.js | 1 + .../remove-format/translations/sr-latn.js | 1 + .../remove-format/translations/sr.js | 1 + .../remove-format/translations/sv.js | 1 + .../remove-format/translations/th.js | 1 + .../remove-format/translations/tk.js | 1 + .../remove-format/translations/tr.js | 1 + .../remove-format/translations/uk.js | 1 + .../remove-format/translations/ur.js | 1 + .../remove-format/translations/uz.js | 1 + .../remove-format/translations/vi.js | 1 + .../remove-format/translations/zh-cn.js | 1 + .../remove-format/translations/zh.js | 1 + .../source-editing/source-editing.js | 5 + .../source-editing/translations/ar.js | 1 + .../source-editing/translations/bg.js | 1 + .../source-editing/translations/bn.js | 1 + .../source-editing/translations/ca.js | 1 + .../source-editing/translations/cs.js | 1 + .../source-editing/translations/da.js | 1 + .../source-editing/translations/de.js | 1 + .../source-editing/translations/el.js | 1 + .../source-editing/translations/en-au.js | 1 + .../source-editing/translations/es.js | 1 + .../source-editing/translations/et.js | 1 + .../source-editing/translations/fi.js | 1 + .../source-editing/translations/fr.js | 1 + .../source-editing/translations/gl.js | 1 + .../source-editing/translations/he.js | 1 + .../source-editing/translations/hi.js | 1 + .../source-editing/translations/hr.js | 1 + .../source-editing/translations/hu.js | 1 + .../source-editing/translations/id.js | 1 + .../source-editing/translations/it.js | 1 + .../source-editing/translations/ja.js | 1 + .../source-editing/translations/ko.js | 1 + .../source-editing/translations/lt.js | 1 + .../source-editing/translations/lv.js | 1 + .../source-editing/translations/ms.js | 1 + .../source-editing/translations/nl.js | 1 + .../source-editing/translations/no.js | 1 + .../source-editing/translations/pl.js | 1 + .../source-editing/translations/pt-br.js | 1 + .../source-editing/translations/pt.js | 1 + .../source-editing/translations/ro.js | 1 + .../source-editing/translations/ru.js | 1 + .../source-editing/translations/sk.js | 1 + .../source-editing/translations/sr-latn.js | 1 + .../source-editing/translations/sr.js | 1 + .../source-editing/translations/sv.js | 1 + .../source-editing/translations/th.js | 1 + .../source-editing/translations/tr.js | 1 + .../source-editing/translations/uk.js | 1 + .../source-editing/translations/ur.js | 1 + .../source-editing/translations/vi.js | 1 + .../source-editing/translations/zh-cn.js | 1 + .../source-editing/translations/zh.js | 1 + .../special-characters/special-characters.js | 5 + .../special-characters/translations/ar.js | 1 + .../special-characters/translations/az.js | 1 + .../special-characters/translations/bg.js | 1 + .../special-characters/translations/bn.js | 1 + .../special-characters/translations/ca.js | 1 + .../special-characters/translations/cs.js | 1 + .../special-characters/translations/da.js | 1 + .../special-characters/translations/de.js | 1 + .../special-characters/translations/el.js | 1 + .../special-characters/translations/en-au.js | 1 + .../special-characters/translations/es.js | 1 + .../special-characters/translations/et.js | 1 + .../special-characters/translations/fa.js | 1 + .../special-characters/translations/fi.js | 1 + .../special-characters/translations/fr.js | 1 + .../special-characters/translations/gl.js | 1 + .../special-characters/translations/he.js | 1 + .../special-characters/translations/hi.js | 1 + .../special-characters/translations/hu.js | 1 + .../special-characters/translations/id.js | 1 + .../special-characters/translations/it.js | 1 + .../special-characters/translations/ja.js | 1 + .../special-characters/translations/ko.js | 1 + .../special-characters/translations/lt.js | 1 + .../special-characters/translations/lv.js | 1 + .../special-characters/translations/ms.js | 1 + .../special-characters/translations/nl.js | 1 + .../special-characters/translations/no.js | 1 + .../special-characters/translations/pl.js | 1 + .../special-characters/translations/pt-br.js | 1 + .../special-characters/translations/pt.js | 1 + .../special-characters/translations/ro.js | 1 + .../special-characters/translations/ru.js | 1 + .../special-characters/translations/sk.js | 1 + .../translations/sr-latn.js | 1 + .../special-characters/translations/sr.js | 1 + .../special-characters/translations/sv.js | 1 + .../special-characters/translations/th.js | 1 + .../special-characters/translations/tk.js | 1 + .../special-characters/translations/tr.js | 1 + .../special-characters/translations/uk.js | 1 + .../special-characters/translations/ur.js | 1 + .../special-characters/translations/uz.js | 1 + .../special-characters/translations/vi.js | 1 + .../special-characters/translations/zh-cn.js | 1 + .../special-characters/translations/zh.js | 1 + core/assets/vendor/ckeditor5/style/style.js | 5 + .../vendor/ckeditor5/style/translations/ar.js | 1 + .../vendor/ckeditor5/style/translations/bg.js | 1 + .../vendor/ckeditor5/style/translations/bn.js | 1 + .../vendor/ckeditor5/style/translations/ca.js | 1 + .../vendor/ckeditor5/style/translations/cs.js | 1 + .../vendor/ckeditor5/style/translations/da.js | 1 + .../vendor/ckeditor5/style/translations/de.js | 1 + .../vendor/ckeditor5/style/translations/el.js | 1 + .../ckeditor5/style/translations/en-au.js | 1 + .../vendor/ckeditor5/style/translations/es.js | 1 + .../vendor/ckeditor5/style/translations/et.js | 1 + .../vendor/ckeditor5/style/translations/fi.js | 1 + .../vendor/ckeditor5/style/translations/fr.js | 1 + .../vendor/ckeditor5/style/translations/gl.js | 1 + .../vendor/ckeditor5/style/translations/he.js | 1 + .../vendor/ckeditor5/style/translations/hi.js | 1 + .../vendor/ckeditor5/style/translations/hr.js | 1 + .../vendor/ckeditor5/style/translations/hu.js | 1 + .../vendor/ckeditor5/style/translations/id.js | 1 + .../vendor/ckeditor5/style/translations/it.js | 1 + .../vendor/ckeditor5/style/translations/ja.js | 1 + .../vendor/ckeditor5/style/translations/ko.js | 1 + .../vendor/ckeditor5/style/translations/lt.js | 1 + .../vendor/ckeditor5/style/translations/lv.js | 1 + .../vendor/ckeditor5/style/translations/ms.js | 1 + .../vendor/ckeditor5/style/translations/nl.js | 1 + .../vendor/ckeditor5/style/translations/no.js | 1 + .../vendor/ckeditor5/style/translations/pl.js | 1 + .../ckeditor5/style/translations/pt-br.js | 1 + .../vendor/ckeditor5/style/translations/pt.js | 1 + .../vendor/ckeditor5/style/translations/ro.js | 1 + .../vendor/ckeditor5/style/translations/ru.js | 1 + .../vendor/ckeditor5/style/translations/sk.js | 1 + .../ckeditor5/style/translations/sr-latn.js | 1 + .../vendor/ckeditor5/style/translations/sr.js | 1 + .../vendor/ckeditor5/style/translations/sv.js | 1 + .../vendor/ckeditor5/style/translations/th.js | 1 + .../vendor/ckeditor5/style/translations/tr.js | 1 + .../vendor/ckeditor5/style/translations/uk.js | 1 + .../vendor/ckeditor5/style/translations/ur.js | 1 + .../vendor/ckeditor5/style/translations/vi.js | 1 + .../ckeditor5/style/translations/zh-cn.js | 1 + .../vendor/ckeditor5/style/translations/zh.js | 1 + core/assets/vendor/ckeditor5/table/table.js | 5 + .../vendor/ckeditor5/table/translations/ar.js | 1 + .../vendor/ckeditor5/table/translations/az.js | 1 + .../vendor/ckeditor5/table/translations/bg.js | 1 + .../vendor/ckeditor5/table/translations/bn.js | 1 + .../vendor/ckeditor5/table/translations/ca.js | 1 + .../vendor/ckeditor5/table/translations/cs.js | 1 + .../vendor/ckeditor5/table/translations/da.js | 1 + .../ckeditor5/table/translations/de-ch.js | 1 + .../vendor/ckeditor5/table/translations/de.js | 1 + .../vendor/ckeditor5/table/translations/el.js | 1 + .../ckeditor5/table/translations/en-au.js | 1 + .../ckeditor5/table/translations/en-gb.js | 1 + .../vendor/ckeditor5/table/translations/es.js | 1 + .../vendor/ckeditor5/table/translations/et.js | 1 + .../vendor/ckeditor5/table/translations/fa.js | 1 + .../vendor/ckeditor5/table/translations/fi.js | 1 + .../vendor/ckeditor5/table/translations/fr.js | 1 + .../vendor/ckeditor5/table/translations/gl.js | 1 + .../vendor/ckeditor5/table/translations/he.js | 1 + .../vendor/ckeditor5/table/translations/hi.js | 1 + .../vendor/ckeditor5/table/translations/hr.js | 1 + .../vendor/ckeditor5/table/translations/hu.js | 1 + .../vendor/ckeditor5/table/translations/id.js | 1 + .../vendor/ckeditor5/table/translations/it.js | 1 + .../vendor/ckeditor5/table/translations/ja.js | 1 + .../vendor/ckeditor5/table/translations/ko.js | 1 + .../vendor/ckeditor5/table/translations/ku.js | 1 + .../vendor/ckeditor5/table/translations/lt.js | 1 + .../vendor/ckeditor5/table/translations/lv.js | 1 + .../vendor/ckeditor5/table/translations/ms.js | 1 + .../vendor/ckeditor5/table/translations/nb.js | 1 + .../vendor/ckeditor5/table/translations/ne.js | 1 + .../vendor/ckeditor5/table/translations/nl.js | 1 + .../vendor/ckeditor5/table/translations/no.js | 1 + .../vendor/ckeditor5/table/translations/pl.js | 1 + .../ckeditor5/table/translations/pt-br.js | 1 + .../vendor/ckeditor5/table/translations/pt.js | 1 + .../vendor/ckeditor5/table/translations/ro.js | 1 + .../vendor/ckeditor5/table/translations/ru.js | 1 + .../vendor/ckeditor5/table/translations/sk.js | 1 + .../vendor/ckeditor5/table/translations/sq.js | 1 + .../ckeditor5/table/translations/sr-latn.js | 1 + .../vendor/ckeditor5/table/translations/sr.js | 1 + .../vendor/ckeditor5/table/translations/sv.js | 1 + .../vendor/ckeditor5/table/translations/th.js | 1 + .../vendor/ckeditor5/table/translations/tk.js | 1 + .../vendor/ckeditor5/table/translations/tr.js | 1 + .../vendor/ckeditor5/table/translations/tt.js | 1 + .../vendor/ckeditor5/table/translations/ug.js | 1 + .../vendor/ckeditor5/table/translations/uk.js | 1 + .../vendor/ckeditor5/table/translations/ur.js | 1 + .../vendor/ckeditor5/table/translations/uz.js | 1 + .../vendor/ckeditor5/table/translations/vi.js | 1 + .../ckeditor5/table/translations/zh-cn.js | 1 + .../vendor/ckeditor5/table/translations/zh.js | 1 + core/assets/vendor/css-escape/css.escape.js | 106 + .../es6-promise/es6-promise.auto.min.js | 2 +- .../es6-promise/es6-promise.auto.min.map | 1 + core/assets/vendor/farbtastic/farbtastic.css | 9 +- core/assets/vendor/farbtastic/farbtastic.js | 6 + core/assets/vendor/farbtastic/marker.png | Bin 437 -> 652 bytes core/assets/vendor/farbtastic/mask.png | Bin 2001 -> 2020 bytes core/assets/vendor/farbtastic/wheel.png | Bin 11589 -> 11733 bytes .../vendor/jquery-form/jquery.form.min.js | 4 +- .../vendor/jquery-form/jquery.form.min.js.map | 2 +- .../vendor/jquery-form/src/jquery.form.js | 1540 + core/assets/vendor/jquery.ui/AUTHORS.txt | 333 - core/assets/vendor/jquery.ui/README.txt | 59 - .../jquery.ui/themes/base/autocomplete.css | 2 +- .../vendor/jquery.ui/themes/base/button.css | 2 +- .../jquery.ui/themes/base/checkboxradio.css | 2 +- .../jquery.ui/themes/base/controlgroup.css | 2 +- .../vendor/jquery.ui/themes/base/core.css | 4 +- .../vendor/jquery.ui/themes/base/dialog.css | 2 +- .../jquery.ui/themes/base/draggable.css | 2 +- .../base/images/ui-icons_444444_256x240.png | Bin 3756 -> 3266 bytes .../base/images/ui-icons_555555_256x240.png | Bin 3756 -> 3274 bytes .../base/images/ui-icons_777620_256x240.png | Bin 3756 -> 3262 bytes .../base/images/ui-icons_777777_256x240.png | Bin 3756 -> 3266 bytes .../base/images/ui-icons_cc0000_256x240.png | Bin 3756 -> 3262 bytes .../base/images/ui-icons_ffffff_256x240.png | Bin 3756 -> 3264 bytes .../vendor/jquery.ui/themes/base/menu.css | 2 +- .../jquery.ui/themes/base/resizable.css | 2 +- .../vendor/jquery.ui/themes/base/theme.css | 15 +- core/assets/vendor/jquery.ui/ui/data-min.js | 5 +- .../vendor/jquery.ui/ui/data-min.js.map | 1 + core/assets/vendor/jquery.ui/ui/data.js | 12 +- .../jquery.ui/ui/disable-selection-min.js | 5 +- .../jquery.ui/ui/disable-selection-min.js.map | 1 + .../vendor/jquery.ui/ui/disable-selection.js | 9 +- .../jquery.ui/ui/escape-selector-min.js | 1 - .../vendor/jquery.ui/ui/escape-selector.js | 21 - .../vendor/jquery.ui/ui/focusable-min.js | 5 +- .../vendor/jquery.ui/ui/focusable-min.js.map | 1 + core/assets/vendor/jquery.ui/ui/focusable.js | 13 +- core/assets/vendor/jquery.ui/ui/form-min.js | 3 +- .../vendor/jquery.ui/ui/form-min.js.map | 1 + .../jquery.ui/ui/form-reset-mixin-min.js | 5 +- .../jquery.ui/ui/form-reset-mixin-min.js.map | 1 + .../vendor/jquery.ui/ui/form-reset-mixin.js | 11 +- core/assets/vendor/jquery.ui/ui/form.js | 9 +- core/assets/vendor/jquery.ui/ui/ie-min.js | 3 +- core/assets/vendor/jquery.ui/ui/ie-min.js.map | 1 + core/assets/vendor/jquery.ui/ui/ie.js | 7 +- .../vendor/jquery.ui/ui/jquery-1-7-min.js | 10 - core/assets/vendor/jquery.ui/ui/jquery-1-7.js | 89 - .../vendor/jquery.ui/ui/jquery-patch-min.js | 11 + .../jquery.ui/ui/jquery-patch-min.js.map | 1 + .../vendor/jquery.ui/ui/jquery-patch.js | 89 + .../assets/vendor/jquery.ui/ui/keycode-min.js | 5 +- .../vendor/jquery.ui/ui/keycode-min.js.map | 1 + core/assets/vendor/jquery.ui/ui/keycode.js | 10 +- core/assets/vendor/jquery.ui/ui/labels-min.js | 5 +- .../vendor/jquery.ui/ui/labels-min.js.map | 1 + core/assets/vendor/jquery.ui/ui/labels.js | 17 +- core/assets/vendor/jquery.ui/ui/plugin-min.js | 3 +- .../vendor/jquery.ui/ui/plugin-min.js.map | 1 + core/assets/vendor/jquery.ui/ui/plugin.js | 7 +- .../vendor/jquery.ui/ui/position-min.js | 5 +- .../vendor/jquery.ui/ui/position-min.js.map | 1 + core/assets/vendor/jquery.ui/ui/position.js | 35 +- .../jquery.ui/ui/safe-active-element-min.js | 3 +- .../ui/safe-active-element-min.js.map | 1 + .../jquery.ui/ui/safe-active-element.js | 8 +- .../vendor/jquery.ui/ui/safe-blur-min.js | 3 +- .../vendor/jquery.ui/ui/safe-blur-min.js.map | 1 + core/assets/vendor/jquery.ui/ui/safe-blur.js | 8 +- .../vendor/jquery.ui/ui/scroll-parent-min.js | 5 +- .../jquery.ui/ui/scroll-parent-min.js.map | 1 + .../vendor/jquery.ui/ui/scroll-parent.js | 9 +- .../vendor/jquery.ui/ui/tabbable-min.js | 5 +- .../vendor/jquery.ui/ui/tabbable-min.js.map | 1 + core/assets/vendor/jquery.ui/ui/tabbable.js | 11 +- .../vendor/jquery.ui/ui/unique-id-min.js | 5 +- .../vendor/jquery.ui/ui/unique-id-min.js.map | 1 + core/assets/vendor/jquery.ui/ui/unique-id.js | 9 +- .../assets/vendor/jquery.ui/ui/version-min.js | 3 +- .../vendor/jquery.ui/ui/version-min.js.map | 1 + core/assets/vendor/jquery.ui/ui/version.js | 9 +- core/assets/vendor/jquery.ui/ui/widget-min.js | 5 +- .../vendor/jquery.ui/ui/widget-min.js.map | 1 + core/assets/vendor/jquery.ui/ui/widget.js | 73 +- .../jquery.ui/ui/widgets/autocomplete-min.js | 5 +- .../ui/widgets/autocomplete-min.js.map | 1 + .../jquery.ui/ui/widgets/autocomplete.js | 68 +- .../vendor/jquery.ui/ui/widgets/button-min.js | 5 +- .../jquery.ui/ui/widgets/button-min.js.map | 1 + .../vendor/jquery.ui/ui/widgets/button.js | 101 +- .../jquery.ui/ui/widgets/checkboxradio-min.js | 5 +- .../ui/widgets/checkboxradio-min.js.map | 1 + .../jquery.ui/ui/widgets/checkboxradio.js | 40 +- .../jquery.ui/ui/widgets/controlgroup-min.js | 5 +- .../ui/widgets/controlgroup-min.js.map | 1 + .../jquery.ui/ui/widgets/controlgroup.js | 16 +- .../vendor/jquery.ui/ui/widgets/dialog-min.js | 5 +- .../jquery.ui/ui/widgets/dialog-min.js.map | 1 + .../vendor/jquery.ui/ui/widgets/dialog.js | 76 +- .../jquery.ui/ui/widgets/draggable-min.js | 5 +- .../jquery.ui/ui/widgets/draggable-min.js.map | 1 + .../vendor/jquery.ui/ui/widgets/draggable.js | 35 +- .../vendor/jquery.ui/ui/widgets/menu-min.js | 5 +- .../jquery.ui/ui/widgets/menu-min.js.map | 1 + .../vendor/jquery.ui/ui/widgets/menu.js | 126 +- .../vendor/jquery.ui/ui/widgets/mouse-min.js | 5 +- .../jquery.ui/ui/widgets/mouse-min.js.map | 1 + .../vendor/jquery.ui/ui/widgets/mouse.js | 25 +- .../jquery.ui/ui/widgets/resizable-min.js | 5 +- .../jquery.ui/ui/widgets/resizable-min.js.map | 1 + .../vendor/jquery.ui/ui/widgets/resizable.js | 54 +- core/assets/vendor/jquery/jquery.js | 515 +- core/assets/vendor/jquery/jquery.min.js | 4 +- core/assets/vendor/jquery/jquery.min.map | 2 +- core/assets/vendor/js-cookie/js.cookie.min.js | 4 +- core/assets/vendor/loadjs/loadjs.min.js | 1 + core/assets/vendor/modernizr/README.md | 15 + core/assets/vendor/modernizr/modernizr.min.js | 4 +- core/assets/vendor/once/once.js | 393 + core/assets/vendor/once/once.min.js | 3 + core/assets/vendor/once/once.min.js.map | 1 + core/assets/vendor/popperjs/popper.min.js | 4 +- core/assets/vendor/popperjs/popper.min.js.map | 2 +- core/assets/vendor/shepherd/shepherd.min.js | 118 + .../vendor/shepherd/shepherd.min.js.map | 1 + core/assets/vendor/sortable/Sortable.min.js | 4 +- core/assets/vendor/tabbable/README.txt | 15 + core/assets/vendor/tabbable/index.umd.min.js | 6 + .../vendor/tabbable/index.umd.min.js.map | 1 + .../vendor/underscore/underscore-min.js | 8 +- .../vendor/underscore/underscore-min.js.map | 2 +- core/composer.json | 142 +- core/config/schema/core.data_types.schema.yml | 45 +- core/config/schema/core.entity.schema.yml | 16 +- core/core.api.php | 162 +- core/core.libraries.yml | 789 +- core/core.services.yml | 153 +- core/drupalci.yml | 31 +- core/includes/batch.inc | 16 +- core/includes/bootstrap.inc | 77 +- core/includes/common.inc | 123 +- core/includes/errors.inc | 45 +- core/includes/file.inc | 124 +- core/includes/form.inc | 29 +- core/includes/guzzle_php81_shim.php | 31 + core/includes/install.core.inc | 287 +- core/includes/install.inc | 85 +- core/includes/menu.inc | 6 + core/includes/module.inc | 45 +- core/includes/schema.inc | 116 +- core/includes/theme.inc | 49 +- core/includes/theme.maintenance.inc | 8 +- core/includes/update.inc | 97 +- core/includes/utility.inc | 16 +- core/install.php | 2 +- core/lib/Drupal.php | 38 +- .../Annotation/AnnotationInterface.php | 2 + .../Compatibility/Php7/ReflectionClass.php | 48 + .../Compatibility/Php8/ReflectionClass.php | 50 + .../Compatibility/ReflectionClass.php | 42 + .../Annotation/Doctrine/DocParser.php | 6 +- .../Doctrine/SimpleAnnotationReader.php | 2 +- .../Doctrine/StaticReflectionClass.php | 468 + .../Doctrine/StaticReflectionParser.php | 344 + .../Drupal/Component/Annotation/Plugin.php | 2 +- .../Discovery/AnnotatedClassDiscovery.php | 4 +- .../Annotation/Reflection/MockFileFinder.php | 9 +- .../Drupal/Component/Annotation/composer.json | 42 +- .../Drupal/Component/Assertion/Inspector.php | 4 +- .../Drupal/Component/Assertion/composer.json | 31 +- .../Bridge/ZfExtensionManagerSfContainer.php | 24 +- .../lib/Drupal/Component/Bridge/composer.json | 34 +- .../Component/ClassFinder/ClassFinder.php | 4 +- .../ClassFinder/ClassFinderInterface.php | 21 + .../Component/ClassFinder/composer.json | 32 +- .../Component/Datetime/DateTimePlus.php | 14 +- .../Drupal/Component/Datetime/composer.json | 36 +- .../DependencyInjection/Container.php | 27 +- .../ContainerInterface.php | 52 + .../Dumper/OptimizedPhpArrayDumper.php | 5 +- .../DependencyInjection/PhpArrayContainer.php | 8 +- .../DependencyInjection/ReverseContainer.php | 107 + .../ServiceIdHashTrait.php | 45 + .../DependencyInjection/composer.json | 53 +- .../Component/Diff/Engine/DiffEngine.php | 9 +- .../Drupal/Component/Diff/WordLevelDiff.php | 4 +- core/lib/Drupal/Component/Diff/composer.json | 31 +- .../Drupal/Component/Discovery/composer.json | 38 +- .../ContainerAwareEventDispatcher.php | 23 +- .../Component/EventDispatcher/composer.json | 37 +- .../Drupal/Component/FileCache/FileCache.php | 2 +- .../Drupal/Component/FileCache/composer.json | 31 +- .../Component/FileSecurity/FileSecurity.php | 3 + .../Component/FileSecurity/composer.json | 31 +- .../FileSystem/RegexDirectoryIterator.php | 1 + .../Drupal/Component/FileSystem/composer.json | 31 +- .../Component/FrontMatter/composer.json | 36 +- .../lib/Drupal/Component/Gettext/PoHeader.php | 11 +- core/lib/Drupal/Component/Gettext/PoItem.php | 22 +- .../Component/Gettext/PoStreamInterface.php | 2 +- .../Component/Gettext/PoStreamReader.php | 13 +- .../Drupal/Component/Gettext/composer.json | 41 +- core/lib/Drupal/Component/Graph/Graph.php | 2 +- core/lib/Drupal/Component/Graph/composer.json | 31 +- .../Component/HttpFoundation/composer.json | 33 +- .../MTimeProtectedFastFileStorage.php | 3 +- .../Drupal/Component/PhpStorage/composer.json | 36 +- .../Component/Plugin/Context/Context.php | 2 +- .../Plugin/ContextAwarePluginBase.php | 9 +- .../Plugin/ContextAwarePluginInterface.php | 10 +- .../Plugin/Definition/PluginDefinition.php | 1 + .../Plugin/Derivative/DeriverInterface.php | 2 +- .../DerivativeDiscoveryDecorator.php | 2 +- .../Plugin/Discovery/DiscoveryInterface.php | 3 +- .../Plugin/Discovery/StaticDiscovery.php | 3 +- .../Discovery/StaticDiscoveryDecorator.php | 2 +- .../Exception/InvalidDecoratedMethod.php | 7 +- .../InvalidPluginDefinitionException.php | 8 +- .../Plugin/Exception/PluginException.php | 3 +- .../Exception/PluginNotFoundException.php | 8 +- .../Component/Plugin/LazyPluginCollection.php | 2 + .../Drupal/Component/Plugin/PluginBase.php | 4 +- .../lib/Drupal/Component/Plugin/composer.json | 41 +- .../Component/ProxyBuilder/ProxyBuilder.php | 18 +- .../Component/ProxyBuilder/composer.json | 32 +- .../Component/Render/FormattableMarkup.php | 22 +- .../Component/Render/HtmlEscapedText.php | 2 + .../Drupal/Component/Render/MarkupTrait.php | 2 + .../lib/Drupal/Component/Render/composer.json | 36 +- .../Component/Serialization/YamlSymfony.php | 2 +- .../Component/Serialization/composer.json | 33 +- .../Transliteration/PhpTransliteration.php | 4 +- .../Component/Transliteration/composer.json | 33 +- .../Component/Transliteration/data/uk.php | 26 + core/lib/Drupal/Component/Utility/Bytes.php | 68 + core/lib/Drupal/Component/Utility/Color.php | 3 +- .../Component/Utility/DeprecatedArray.php | 8 + core/lib/Drupal/Component/Utility/Html.php | 14 +- core/lib/Drupal/Component/Utility/Mail.php | 9 + .../Drupal/Component/Utility/NestedArray.php | 2 +- core/lib/Drupal/Component/Utility/Random.php | 7 +- .../Drupal/Component/Utility/SortArray.php | 6 +- core/lib/Drupal/Component/Utility/Unicode.php | 17 +- .../Drupal/Component/Utility/UrlHelper.php | 6 +- .../Drupal/Component/Utility/UserAgent.php | 6 +- .../lib/Drupal/Component/Utility/Variable.php | 27 + core/lib/Drupal/Component/Utility/Xss.php | 27 +- .../Drupal/Component/Utility/composer.json | 32 +- .../Drupal/Component/Uuid/UuidInterface.php | 2 +- core/lib/Drupal/Component/Uuid/composer.json | 36 +- .../Drupal/Component/Version/Constraint.php | 2 +- .../Drupal/Component/Version/composer.json | 31 +- core/lib/Drupal/Core/Access/AccessManager.php | 1 + core/lib/Drupal/Core/Access/AccessResult.php | 12 +- .../Core/Access/AccessResultForbidden.php | 4 +- .../Core/Access/AccessResultInterface.php | 16 +- .../Core/Access/AccessResultNeutral.php | 4 +- .../Access/AccessResultReasonInterface.php | 5 +- core/lib/Drupal/Core/Access/CheckProvider.php | 20 +- .../Drupal/Core/Access/CsrfAccessCheck.php | 16 +- .../Access/CsrfRequestHeaderAccessCheck.php | 2 +- .../Core/Action/Plugin/Action/EmailAction.php | 14 +- .../Core/Action/Plugin/Action/GotoAction.php | 10 +- .../Action/Plugin/Action/MessageAction.php | 4 +- core/lib/Drupal/Core/Ajax/AddJsCommand.php | 61 + core/lib/Drupal/Core/Ajax/AfterCommand.php | 4 +- core/lib/Drupal/Core/Ajax/AjaxHelperTrait.php | 14 +- .../Ajax/AjaxResponseAttachmentsProcessor.php | 10 +- core/lib/Drupal/Core/Ajax/AppendCommand.php | 4 +- core/lib/Drupal/Core/Ajax/BeforeCommand.php | 4 +- .../Drupal/Core/Ajax/FocusFirstCommand.php | 51 + core/lib/Drupal/Core/Ajax/HtmlCommand.php | 2 +- core/lib/Drupal/Core/Ajax/InsertCommand.php | 6 +- .../Drupal/Core/Ajax/OpenDialogCommand.php | 10 +- core/lib/Drupal/Core/Ajax/PrependCommand.php | 4 +- core/lib/Drupal/Core/Ajax/RemoveCommand.php | 1 + core/lib/Drupal/Core/Ajax/ReplaceCommand.php | 2 +- .../Drupal/Core/Ajax/UpdateBuildIdCommand.php | 10 +- core/lib/Drupal/Core/Annotation/Action.php | 7 +- .../Core/Annotation/ContextDefinition.php | 3 +- .../Drupal/Core/Annotation/QueueWorker.php | 19 +- .../Drupal/Core/Annotation/Translation.php | 2 +- core/lib/Drupal/Core/Asset/AssetResolver.php | 30 +- .../Core/Asset/AssetResolverInterface.php | 3 +- .../Core/Asset/CssCollectionOptimizer.php | 8 +- .../Core/Asset/CssCollectionRenderer.php | 19 +- core/lib/Drupal/Core/Asset/CssOptimizer.php | 67 +- .../Core/Asset/JsCollectionRenderer.php | 19 +- .../Core/Asset/LibraryDependencyResolver.php | 48 +- .../Core/Asset/LibraryDiscoveryCollector.php | 4 +- .../Core/Asset/LibraryDiscoveryParser.php | 53 +- .../AuthenticationCollector.php | 7 +- core/lib/Drupal/Core/Batch/BatchBuilder.php | 3 +- core/lib/Drupal/Core/Batch/BatchStorage.php | 13 +- core/lib/Drupal/Core/Block/BlockBase.php | 21 +- .../Drupal/Core/Block/BlockPluginTrait.php | 21 +- .../Core/Breadcrumb/BreadcrumbManager.php | 5 +- core/lib/Drupal/Core/Cache/ApcuBackend.php | 2 +- core/lib/Drupal/Core/Cache/Cache.php | 4 +- core/lib/Drupal/Core/Cache/CacheFactory.php | 10 +- .../Core/Cache/CacheTagsChecksumTrait.php | 10 +- .../Cache/CacheableDependencyInterface.php | 2 + .../Core/Cache/ChainedFastBackendFactory.php | 2 +- .../Cache/Context/CacheContextsManager.php | 13 +- .../Core/Cache/Context/ContextCacheKeys.php | 5 + .../Cache/Context/CookiesCacheContext.php | 7 +- .../Cache/Context/IsFrontPathCacheContext.php | 1 + .../lib/Drupal/Core/Cache/DatabaseBackend.php | 4 +- .../Core/Cache/DatabaseCacheTagsChecksum.php | 27 +- core/lib/Drupal/Core/Cache/MemoryBackend.php | 2 +- .../Core/Cache/MemoryCounterBackend.php | 4 +- .../Cache/MemoryCounterBackendFactory.php | 24 + core/lib/Drupal/Core/Cache/PhpBackend.php | 9 +- .../lib/Drupal/Core/Command/DbCommandBase.php | 2 +- .../lib/Drupal/Core/Command/DbDumpCommand.php | 28 +- .../Command/GenerateProxyClassApplication.php | 3 + .../Command/GenerateProxyClassCommand.php | 5 +- .../lib/Drupal/Core/Command/GenerateTheme.php | 390 + .../Drupal/Core/Command/InstallCommand.php | 9 +- core/lib/Drupal/Core/Composer/Composer.php | 47 +- .../Condition/ConditionPluginCollection.php | 2 + core/lib/Drupal/Core/Config/CachedStorage.php | 2 +- core/lib/Drupal/Core/Config/Config.php | 14 +- core/lib/Drupal/Core/Config/ConfigBase.php | 2 +- .../Core/Config/ConfigCollectionInfo.php | 2 +- core/lib/Drupal/Core/Config/ConfigFactory.php | 6 +- .../lib/Drupal/Core/Config/ConfigImporter.php | 88 +- .../Drupal/Core/Config/ConfigInstaller.php | 53 +- .../Core/Config/ConfigInstallerInterface.php | 3 +- core/lib/Drupal/Core/Config/ConfigManager.php | 59 +- .../Core/Config/ConfigManagerInterface.php | 44 +- .../Drupal/Core/Config/DatabaseStorage.php | 30 +- .../Development/ConfigSchemaChecker.php | 3 +- .../Config/Entity/ConfigDependencyManager.php | 2 +- .../Core/Config/Entity/ConfigEntityBase.php | 33 +- .../Config/Entity/ConfigEntityDependency.php | 5 +- .../Config/Entity/ConfigEntityStorage.php | 22 +- .../Config/Entity/ConfigEntityUpdater.php | 67 +- .../Core/Config/Entity/Query/Condition.php | 15 +- .../Drupal/Core/Config/Entity/Query/Query.php | 4 +- .../Core/Config/Entity/Query/QueryFactory.php | 10 + .../Entity/ThirdPartySettingsInterface.php | 6 +- .../Core/Config/ExportStorageManager.php | 6 +- .../Core/Config/ExtensionInstallStorage.php | 13 +- core/lib/Drupal/Core/Config/FileStorage.php | 7 +- .../Core/Config/ImportStorageTransformer.php | 6 +- .../lib/Drupal/Core/Config/InstallStorage.php | 18 +- .../Core/Config/Schema/ArrayElement.php | 8 +- .../lib/Drupal/Core/Config/Schema/Mapping.php | 4 +- .../Core/Config/Schema/SchemaCheckTrait.php | 10 +- .../Drupal/Core/Config/Schema/Sequence.php | 2 +- .../Config/Schema/SequenceDataDefinition.php | 2 +- .../Drupal/Core/Config/StorableConfigBase.php | 30 +- .../Drupal/Core/Config/StorageComparer.php | 7 + .../Drupal/Core/Config/StorageCopyTrait.php | 20 +- .../Drupal/Core/Config/TypedConfigManager.php | 8 + .../Config/TypedConfigManagerInterface.php | 7 +- .../Config/UnmetDependenciesException.php | 2 + .../Core/Controller/ControllerResolver.php | 4 +- .../Core/Controller/HtmlFormController.php | 2 +- .../Drupal/Core/Controller/TitleResolver.php | 13 +- core/lib/Drupal/Core/CoreServiceProvider.php | 12 +- core/lib/Drupal/Core/Cron.php | 28 +- core/lib/Drupal/Core/CronInterface.php | 2 +- core/lib/Drupal/Core/Database/Connection.php | 476 +- core/lib/Drupal/Core/Database/Database.php | 199 +- .../Core/Database/DatabaseException.php | 9 +- .../Database/DatabaseExceptionWrapper.php | 3 +- .../Core/Database/Driver/mysql/Connection.php | 480 +- .../Driver/mysql/ExceptionHandler.php | 17 + .../Core/Database/Driver/mysql/Insert.php | 66 +- .../Database/Driver/mysql/Install/Tasks.php | 218 +- .../Driver/mysql/Install/Tasks.php.rej | 14 + .../Core/Database/Driver/mysql/Schema.php | 714 +- .../Core/Database/Driver/mysql/Upsert.php | 44 +- .../Core/Database/Driver/pgsql/Connection.php | 370 +- .../Core/Database/Driver/pgsql/Delete.php | 30 +- .../Core/Database/Driver/pgsql/Insert.php | 151 +- .../Database/Driver/pgsql/Install/Tasks.php | 295 +- .../Core/Database/Driver/pgsql/Schema.php | 1060 +- .../Core/Database/Driver/pgsql/Select.php | 159 +- .../Core/Database/Driver/pgsql/Truncate.php | 30 +- .../Core/Database/Driver/pgsql/Update.php | 89 +- .../Core/Database/Driver/pgsql/Upsert.php | 124 +- .../Database/Driver/sqlite/Connection.php | 514 +- .../Core/Database/Driver/sqlite/Insert.php | 51 +- .../Database/Driver/sqlite/Install/Tasks.php | 116 +- .../Core/Database/Driver/sqlite/Schema.php | 817 +- .../Core/Database/Driver/sqlite/Select.php | 18 +- .../Core/Database/Driver/sqlite/Statement.php | 144 +- .../Core/Database/Driver/sqlite/Truncate.php | 21 +- .../Core/Database/Driver/sqlite/Upsert.php | 34 +- .../Drupal/Core/Database/ExceptionHandler.php | 86 + .../Drupal/Core/Database/Install/Tasks.php | 60 +- core/lib/Drupal/Core/Database/Log.php | 77 +- .../Database/Query/AlterableInterface.php | 8 +- .../Drupal/Core/Database/Query/Condition.php | 3 +- .../Database/Query/ConditionInterface.php | 4 +- .../lib/Drupal/Core/Database/Query/Delete.php | 11 +- .../lib/Drupal/Core/Database/Query/Insert.php | 27 +- .../Core/Database/Query/InsertTrait.php | 1 + core/lib/Drupal/Core/Database/Query/Merge.php | 37 +- .../Database/Query/PagerSelectExtender.php | 43 +- .../Database/Query/PlaceholderInterface.php | 2 +- .../lib/Drupal/Core/Database/Query/Select.php | 38 +- .../Core/Database/Query/SelectExtender.php | 12 +- .../Core/Database/Query/SelectInterface.php | 41 +- .../Drupal/Core/Database/Query/Truncate.php | 37 +- .../lib/Drupal/Core/Database/Query/Update.php | 13 +- .../lib/Drupal/Core/Database/Query/Upsert.php | 20 +- .../Core/Database/RowCountException.php | 6 +- core/lib/Drupal/Core/Database/Schema.php | 42 +- core/lib/Drupal/Core/Database/Statement.php | 9 +- .../Drupal/Core/Database/StatementEmpty.php | 9 +- .../Core/Database/StatementInterface.php | 106 +- .../Core/Database/StatementPrefetch.php | 98 +- .../Drupal/Core/Database/StatementWrapper.php | 58 +- ...ctionExplicitCommitNotAllowedException.php | 2 +- .../lib/Drupal/Core/Database/database.api.php | 36 +- .../Drupal/Core/Datetime/DateFormatter.php | 18 +- core/lib/Drupal/Core/Datetime/DateHelper.php | 34 +- .../Drupal/Core/Datetime/DrupalDateTime.php | 41 +- .../Core/Datetime/Element/DateElementBase.php | 2 +- .../Drupal/Core/Datetime/Element/Datelist.php | 18 +- .../Drupal/Core/Datetime/Element/Datetime.php | 23 +- .../Core/Datetime/Entity/DateFormat.php | 2 +- .../FieldWidget/TimestampDatetimeWidget.php | 6 +- .../ClassResolverInterface.php | 3 +- .../DependencySerializationTraitPass.php | 12 +- .../Compiler/DeprecatedServicePass.php | 47 + .../Compiler/GuzzleMiddlewarePass.php | 19 - .../Compiler/MimeTypePass.php | 13 +- .../Compiler/ProxyServicesPass.php | 2 + .../Compiler/RegisterAccessChecksPass.php | 10 + .../Compiler/RegisterEventSubscribersPass.php | 4 +- .../RegisterServicesForDestructionPass.php | 5 +- .../Compiler/StackedKernelPass.php | 2 +- .../Compiler/StackedSessionHandlerPass.php | 2 +- .../Compiler/TaggedHandlersPass.php | 69 +- .../Compiler/TwigExtensionPass.php | 6 +- .../Core/DependencyInjection/Container.php | 12 - .../DependencyInjection/ContainerBuilder.php | 83 +- .../ContainerNotInitializedException.php | 3 +- .../DependencySerializationTrait.php | 59 +- .../DependencyInjection/YamlFileLoader.php | 176 +- core/lib/Drupal/Core/DrupalKernel.php | 127 +- .../lib/Drupal/Core/DrupalKernelInterface.php | 18 +- .../Annotation/EntityReferenceSelection.php | 9 +- .../Entity/BundleEntityStorageInterface.php | 25 + .../Entity/BundlePermissionHandlerTrait.php | 42 + .../Drupal/Core/Entity/ContentEntityBase.php | 24 +- .../Core/Entity/ContentEntityDeleteForm.php | 2 - .../Core/Entity/ContentEntityStorageBase.php | 191 +- .../Drupal/Core/Entity/ContentEntityType.php | 2 +- .../Entity/Controller/EntityController.php | 9 +- .../Controller/EntityViewController.php | 68 +- .../Entity/Element/EntityAutocomplete.php | 15 +- .../Enhancer/EntityBundleRouteEnhancer.php | 57 + .../Entity/Enhancer/EntityRouteEnhancer.php | 2 +- .../Core/Entity/Entity/EntityFormDisplay.php | 11 +- .../Core/Entity/Entity/EntityViewDisplay.php | 6 +- .../Drupal/Core/Entity/EntityAccessCheck.php | 13 +- .../Entity/EntityAccessControlHandler.php | 20 +- .../Core/Entity/EntityAutocompleteMatcher.php | 2 +- core/lib/Drupal/Core/Entity/EntityBase.php | 32 +- .../Core/Entity/EntityBundleAccessCheck.php | 9 +- .../Entity/EntityBundleListenerInterface.php | 2 - .../Core/Entity/EntityChangedInterface.php | 2 + .../Entity/EntityConstraintViolationList.php | 4 +- .../Core/Entity/EntityCreateAccessCheck.php | 2 +- .../Entity/EntityCreateAnyAccessCheck.php | 14 +- ...EntityDefinitionUpdateManagerInterface.php | 9 +- .../Drupal/Core/Entity/EntityDeleteForm.php | 2 - .../Core/Entity/EntityDeleteFormTrait.php | 4 +- .../Drupal/Core/Entity/EntityDisplayBase.php | 23 +- .../Core/Entity/EntityDisplayRepository.php | 2 +- .../Drupal/Core/Entity/EntityFieldManager.php | 76 +- core/lib/Drupal/Core/Entity/EntityForm.php | 17 +- .../Core/Entity/EntityFormInterface.php | 4 +- .../Drupal/Core/Entity/EntityInterface.php | 8 +- .../EntityLastInstalledSchemaRepository.php | 51 +- .../Drupal/Core/Entity/EntityListBuilder.php | 1 + .../Core/Entity/EntityPublishedInterface.php | 2 + .../SelectionInterface.php | 18 + .../Core/Entity/EntityRepositoryInterface.php | 4 +- .../Core/Entity/EntityResolverManager.php | 17 +- .../Drupal/Core/Entity/EntityStorageBase.php | 159 +- .../Core/Entity/EntityStorageInterface.php | 18 +- core/lib/Drupal/Core/Entity/EntityType.php | 20 +- .../Core/Entity/EntityTypeBundleInfo.php | 2 +- .../Drupal/Core/Entity/EntityTypeEvent.php | 4 +- .../Core/Entity/EntityTypeInterface.php | 24 +- .../Drupal/Core/Entity/EntityTypeListener.php | 6 +- .../Drupal/Core/Entity/EntityTypeManager.php | 28 +- .../Core/Entity/EntityTypeRepository.php | 18 +- .../Entity/EntityTypeRepositoryInterface.php | 2 + .../Drupal/Core/Entity/EntityViewBuilder.php | 10 +- .../Entity/EntityViewBuilderInterface.php | 2 +- .../AmbiguousBundleClassException.php | 24 + .../BundleClassInheritanceException.php | 25 + .../Exception/MissingBundleClassException.php | 23 + .../NoCorrespondingEntityClassException.php | 2 +- .../Core/Entity/HtmlEntityFormController.php | 2 +- .../KeyValueStore/KeyValueEntityStorage.php | 3 +- .../Plugin/Condition/Deriver/EntityBundle.php | 59 + .../Entity/Plugin/Condition/EntityBundle.php | 144 + .../Plugin/DataType/ConfigEntityAdapter.php | 1 + .../Plugin/DataType/Deriver/EntityDeriver.php | 2 + .../Entity/Plugin/DataType/EntityAdapter.php | 1 + .../Derivative/DefaultSelectionDeriver.php | 4 +- .../EntityReferenceSelection/Broken.php | 2 +- .../DefaultSelection.php | 17 +- .../Constraint/BundleConstraint.php | 4 +- .../Constraint/EntityTypeConstraint.php | 4 +- .../EntityTypeConstraintValidator.php | 2 +- .../ReferenceAccessConstraintValidator.php | 4 +- .../Query/ConditionAggregateInterface.php | 26 +- .../Entity/Query/ConditionFundamentals.php | 4 +- .../Core/Entity/Query/ConditionInterface.php | 11 + .../Entity/Query/QueryAggregateInterface.php | 30 +- .../Drupal/Core/Entity/Query/QueryBase.php | 21 +- .../Core/Entity/Query/QueryInterface.php | 127 +- .../Core/Entity/Query/Sql/Condition.php | 11 +- .../Entity/Query/Sql/ConditionAggregate.php | 14 +- .../Drupal/Core/Entity/Query/Sql/Query.php | 13 +- .../Core/Entity/Query/Sql/QueryAggregate.php | 5 +- .../Drupal/Core/Entity/Query/Sql/Tables.php | 43 +- .../Core/Entity/Query/Sql/pgsql/Condition.php | 11 +- .../Core/Entity/RevisionLogInterface.php | 2 + .../Core/Entity/RevisionableInterface.php | 4 +- .../Routing/DefaultHtmlRouteProvider.php | 2 +- .../Core/Entity/Sql/DefaultTableMapping.php | 5 +- .../Entity/Sql/SqlContentEntityStorage.php | 46 +- .../Sql/SqlContentEntityStorageSchema.php | 53 +- .../SqlFieldableEntityTypeListenerTrait.php | 4 +- .../Core/Entity/SynchronizableEntityTrait.php | 3 +- .../Core/Entity/TranslatableInterface.php | 2 + .../Entity/TypedData/EntityDataDefinition.php | 12 +- core/lib/Drupal/Core/Entity/entity.api.php | 113 +- .../ActiveLinkResponseFilter.php | 6 +- .../AjaxResponseSubscriber.php | 2 +- .../AnonymousUserResponseSubscriber.php | 2 +- .../AuthenticationSubscriber.php | 9 +- .../ClientErrorResponseSubscriber.php | 2 +- .../ConfigImportSubscriber.php | 63 +- .../ConfigSnapshotSubscriber.php | 2 + .../DefaultExceptionHtmlSubscriber.php | 2 +- ...lyRenderingControllerWrapperSubscriber.php | 18 +- .../EnforcedFormResponseSubscriber.php | 2 +- .../ExceptionLoggingSubscriber.php | 4 +- .../ExceptionTestSiteSubscriber.php | 62 - .../ExcludedModulesEventSubscriber.php | 2 +- .../Fast404ExceptionHtmlSubscriber.php | 73 +- .../FinalExceptionSubscriber.php | 12 +- .../FinishResponseSubscriber.php | 15 +- .../MainContentViewSubscriber.php | 2 +- .../MaintenanceModeSubscriber.php | 66 +- .../MenuRouterRebuildSubscriber.php | 6 +- .../RedirectLeadingSlashesSubscriber.php | 8 +- .../RedirectResponseSubscriber.php | 5 + .../ResponseGeneratorSubscriber.php | 4 +- .../RouteAccessResponseSubscriber.php | 2 +- .../RssResponseRelativeUrlFilter.php | 2 +- ...mportModuleUninstallValidatorInterface.php | 34 + .../DatabaseDriverUninstallValidator.php | 68 + core/lib/Drupal/Core/Extension/Dependency.php | 2 +- .../RecursiveExtensionFilterIterator.php | 2 + .../Exception/ObsoleteExtensionException.php | 8 + .../UnknownExtensionTypeException.php | 8 + core/lib/Drupal/Core/Extension/Extension.php | 31 + .../Core/Extension/ExtensionDiscovery.php | 8 +- .../Core/Extension/ExtensionLifecycle.php | 66 + .../Drupal/Core/Extension/ExtensionList.php | 18 +- .../Core/Extension/ExtensionPathResolver.php | 88 + .../Core/Extension/ExtensionVersion.php | 158 + .../Core/Extension/InfoParserDynamic.php | 21 +- .../Core/Extension/InfoParserInterface.php | 6 + .../ModuleDependencyMessageTrait.php | 9 +- .../Core/Extension/ModuleExtensionList.php | 7 +- .../Drupal/Core/Extension/ModuleHandler.php | 91 +- .../Core/Extension/ModuleHandlerInterface.php | 54 +- .../Drupal/Core/Extension/ModuleInstaller.php | 121 +- .../Extension/ModuleInstallerInterface.php | 9 +- ...duleRequiredByThemesUninstallValidator.php | 27 +- .../ModuleUninstallValidatorInterface.php | 8 + .../Core/Extension/ThemeExtensionList.php | 4 +- .../Core/Extension/ThemeHandlerInterface.php | 2 +- .../Drupal/Core/Extension/ThemeInstaller.php | 17 +- .../Extension/ThemeInstallerInterface.php | 3 +- core/lib/Drupal/Core/Extension/module.api.php | 114 +- .../Core/Field/Annotation/FieldFormatter.php | 11 +- .../Core/Field/Annotation/FieldWidget.php | 10 +- .../Drupal/Core/Field/BaseFieldDefinition.php | 23 +- .../Field/EntityReferenceFieldItemList.php | 1 + .../lib/Drupal/Core/Field/FieldConfigBase.php | 10 +- .../lib/Drupal/Core/Field/FieldDefinition.php | 8 +- core/lib/Drupal/Core/Field/FieldItemBase.php | 4 +- .../Field/FieldStorageDefinitionEvent.php | 4 +- .../Field/FieldStorageDefinitionListener.php | 6 +- .../Core/Field/FieldUpdateActionBase.php | 2 +- .../Core/Field/FormatterPluginManager.php | 8 +- .../Drupal/Core/Field/InternalViolation.php | 133 + .../FieldFormatter/BasicStringFormatter.php | 3 - .../Field/FieldFormatter/DecimalFormatter.php | 8 +- .../EntityReferenceEntityFormatter.php | 6 +- .../EntityReferenceLabelFormatter.php | 4 +- .../FieldFormatter/LanguageFormatter.php | 2 +- .../FieldFormatter/NumericFormatterBase.php | 18 +- .../Field/FieldFormatter/StringFormatter.php | 29 +- .../Plugin/Field/FieldType/DecimalItem.php | 15 +- .../Plugin/Field/FieldType/EmailItem.php | 8 +- .../Field/FieldType/EntityReferenceItem.php | 42 +- .../Plugin/Field/FieldType/FloatItem.php | 4 +- .../Plugin/Field/FieldType/IntegerItem.php | 5 +- .../Field/FieldType/NumericItemBase.php | 23 +- .../Plugin/Field/FieldType/PasswordItem.php | 12 +- .../Plugin/Field/FieldType/StringItem.php | 6 +- .../Plugin/Field/FieldType/StringItemBase.php | 2 - .../FieldWidget/BooleanCheckboxWidget.php | 4 +- .../Field/FieldWidget/EmailDefaultWidget.php | 12 +- .../EntityReferenceAutocompleteWidget.php | 26 +- .../Plugin/Field/FieldWidget/NumberWidget.php | 10 +- .../FieldWidget/OptionsButtonsWidget.php | 2 +- .../Field/FieldWidget/OptionsSelectWidget.php | 6 +- .../Field/FieldWidget/OptionsWidgetBase.php | 28 +- .../FieldWidget/StringTextareaWidget.php | 10 +- .../FieldWidget/StringTextfieldWidget.php | 12 +- .../Plugin/Field/FieldWidget/UriWidget.php | 2 +- .../Drupal/Core/Field/PluginSettingsBase.php | 6 +- core/lib/Drupal/Core/Field/WidgetBase.php | 31 +- .../lib/Drupal/Core/Field/WidgetInterface.php | 8 +- .../Drupal/Core/Field/WidgetPluginManager.php | 10 +- .../Event/FileUploadSanitizeNameEvent.php | 125 + .../InvalidStreamWrapperException.php | 9 + core/lib/Drupal/Core/File/FileSystem.php | 24 +- .../Drupal/Core/File/FileSystemInterface.php | 19 +- .../lib/Drupal/Core/File/FileUrlGenerator.php | 239 + .../Core/File/FileUrlGeneratorInterface.php | 97 + .../MimeType/ExtensionMimeTypeGuesser.php | 8 +- .../Core/File/MimeType/MimeTypeGuesser.php | 11 +- core/lib/Drupal/Core/File/file.api.php | 8 +- .../Drupal/Core/FileTransfer/FTPExtension.php | 12 +- .../Drupal/Core/FileTransfer/FileTransfer.php | 70 +- .../Form/FileTransferAuthorizeForm.php | 6 +- core/lib/Drupal/Core/FileTransfer/Local.php | 18 +- core/lib/Drupal/Core/FileTransfer/SSH.php | 18 +- .../lib/Drupal/Core/Flood/DatabaseBackend.php | 15 +- core/lib/Drupal/Core/Flood/FloodInterface.php | 7 +- core/lib/Drupal/Core/Flood/MemoryBackend.php | 16 +- .../Exception/BrokenPostRequestException.php | 2 +- core/lib/Drupal/Core/Form/FormBuilder.php | 33 +- .../Drupal/Core/Form/FormBuilderInterface.php | 23 +- .../lib/Drupal/Core/Form/FormErrorHandler.php | 3 +- core/lib/Drupal/Core/Form/FormHelper.php | 3 + core/lib/Drupal/Core/Form/FormState.php | 59 +- .../Drupal/Core/Form/FormStateInterface.php | 14 +- core/lib/Drupal/Core/Form/FormSubmitter.php | 5 +- core/lib/Drupal/Core/Form/FormValidator.php | 4 +- core/lib/Drupal/Core/Form/form.api.php | 39 +- core/lib/Drupal/Core/GeneratedLink.php | 2 + .../CacheableAccessDeniedHttpException.php | 2 +- .../CacheableBadRequestHttpException.php | 2 +- .../CacheableConflictHttpException.php | 2 +- .../Exception/CacheableGoneHttpException.php | 2 +- .../Http/Exception/CacheableHttpException.php | 4 +- .../CacheableLengthRequiredHttpException.php | 2 +- ...CacheableMethodNotAllowedHttpException.php | 2 +- .../CacheableNotAcceptableHttpException.php | 2 +- .../CacheableNotFoundHttpException.php | 2 +- ...cheablePreconditionFailedHttpException.php | 2 +- ...eablePreconditionRequiredHttpException.php | 2 +- ...cheableServiceUnavailableHttpException.php | 2 +- .../CacheableTooManyRequestsHttpException.php | 2 +- .../CacheableUnauthorizedHttpException.php | 2 +- ...heableUnprocessableEntityHttpException.php | 2 +- ...eableUnsupportedMediaTypeHttpException.php | 2 +- core/lib/Drupal/Core/Http/InputBag.php | 37 + core/lib/Drupal/Core/Http/KernelEvent.php | 88 + .../lib/Drupal/Core/Http/LinkRelationType.php | 6 +- core/lib/Drupal/Core/Http/RequestStack.php | 38 + .../Core/Http/TrustedHostsRequestFactory.php | 13 +- core/lib/Drupal/Core/Image/ImageInterface.php | 3 +- .../ImageToolkitOperationBase.php | 3 +- .../Exception/AlreadyInstalledException.php | 11 +- .../Installer/Form/SelectLanguageForm.php | 4 +- .../Core/Installer/Form/SelectProfileForm.php | 40 +- .../Core/Installer/Form/SiteConfigureForm.php | 2 +- .../Core/Installer/Form/SiteSettingsForm.php | 8 +- .../Core/Installer/InstallerRedirectTrait.php | 3 +- .../NormalInstallerServiceProvider.php | 25 +- .../Core/KeyValueStore/DatabaseStorage.php | 23 +- .../DatabaseStorageExpirable.php | 1 - .../Core/KeyValueStore/KeyValueFactory.php | 9 + .../Core/KeyValueStore/MemoryStorage.php | 6 +- .../Drupal/Core/KeyValueStore/StorageBase.php | 2 +- core/lib/Drupal/Core/Language/Language.php | 2 +- .../Core/Language/LanguageInterface.php | 11 +- .../Drupal/Core/Language/LanguageManager.php | 14 +- .../Language/LanguageManagerInterface.php | 7 +- .../Drupal/Core/Layout/Annotation/Layout.php | 28 +- core/lib/Drupal/Core/Layout/LayoutDefault.php | 25 +- .../Drupal/Core/Layout/LayoutDefinition.php | 19 +- .../Drupal/Core/Layout/LayoutInterface.php | 3 +- .../Core/Layout/LayoutPluginManager.php | 6 +- core/lib/Drupal/Core/Link.php | 46 +- .../lib/Drupal/Core/Locale/CountryManager.php | 1 + .../Drupal/Core/Lock/DatabaseLockBackend.php | 13 +- .../Drupal/Core/Lock/LockBackendInterface.php | 1 + .../Lock/PersistentDatabaseLockBackend.php | 5 +- .../Drupal/Core/Logger/LogMessageParser.php | 4 +- core/lib/Drupal/Core/Logger/LoggerChannel.php | 9 +- .../Core/Logger/LoggerChannelInterface.php | 2 +- .../lib/Drupal/Core/Mail/MailFormatHelper.php | 13 +- core/lib/Drupal/Core/Mail/MailManager.php | 28 +- .../Drupal/Core/Mail/Plugin/Mail/PhpMail.php | 82 +- .../Core/Menu/ContextualLinkManager.php | 2 +- .../Menu/DefaultMenuLinkTreeManipulators.php | 4 +- .../Core/Menu/Form/MenuLinkDefaultForm.php | 4 +- .../Drupal/Core/Menu/LocalActionDefault.php | 2 +- .../Drupal/Core/Menu/LocalActionManager.php | 2 +- .../lib/Drupal/Core/Menu/LocalTaskDefault.php | 2 +- .../lib/Drupal/Core/Menu/LocalTaskManager.php | 3 +- core/lib/Drupal/Core/Menu/MenuLinkBase.php | 4 +- core/lib/Drupal/Core/Menu/MenuLinkTree.php | 6 +- .../Core/Menu/MenuParentFormSelector.php | 2 +- .../Drupal/Core/Menu/MenuTreeParameters.php | 25 +- core/lib/Drupal/Core/Menu/MenuTreeStorage.php | 63 +- .../Core/Menu/MenuTreeStorageInterface.php | 1 + .../Core/Menu/StaticMenuLinkOverrides.php | 3 +- .../Menu/StaticMenuLinkOverridesInterface.php | 4 +- core/lib/Drupal/Core/Menu/menu.api.php | 22 +- .../PageCache/RequestPolicy/NoSessionOpen.php | 6 +- core/lib/Drupal/Core/Pager/PagerManager.php | 37 +- .../Core/Pager/PagerManagerInterface.php | 46 +- .../AdminPathConfigEntityConverter.php | 4 +- .../Core/ParamConverter/EntityConverter.php | 39 +- .../ParamConverter/ParamConverterManager.php | 2 +- .../Core/Password/PhpassHashedPassword.php | 11 +- core/lib/Drupal/Core/Path/PathValidator.php | 6 +- .../Core/Path/PathValidatorInterface.php | 6 +- .../Core/PathProcessor/PathProcessorFront.php | 16 +- .../PathProcessor/PathProcessorManager.php | 7 +- .../Core/PhpStorage/PhpStorageFactory.php | 2 +- .../Plugin/CategorizingPluginManagerTrait.php | 6 +- .../Drupal/Core/Plugin/Context/Context.php | 2 +- .../Core/Plugin/Context/ContextDefinition.php | 16 +- .../Core/Plugin/Context/ContextHandler.php | 9 +- .../Plugin/Context/LazyContextRepository.php | 2 +- .../Core/Plugin/ContextAwarePluginBase.php | 7 +- .../Plugin/ContextAwarePluginInterface.php | 2 +- .../Core/Plugin/ContextAwarePluginTrait.php | 10 +- .../Plugin/DefaultLazyPluginCollection.php | 2 +- .../Core/Plugin/DefaultPluginManager.php | 25 +- .../Discovery/AnnotatedClassDiscovery.php | 4 + .../Discovery/ContainerDeriverInterface.php | 6 +- .../Core/Plugin/Discovery/HookDiscovery.php | 8 +- .../Plugin/Discovery/InfoHookDecorator.php | 10 +- .../Plugin/PreviewAwarePluginInterface.php | 24 + .../Core/ProxyClass/Batch/BatchStorage.php | 2 +- .../ProxyClass/Config/ConfigInstaller.php | 2 +- core/lib/Drupal/Core/ProxyClass/Cron.php | 2 +- .../Entity/ContentUninstallValidator.php | 2 +- .../DatabaseDriverUninstallValidator.php | 88 + .../ProxyClass/Extension/ModuleInstaller.php | 2 +- ...duleRequiredByThemesUninstallValidator.php | 12 +- .../RequiredModuleUninstallValidator.php | 2 +- .../MimeType/ExtensionMimeTypeGuesser.php | 2 +- .../File/MimeType/MimeTypeGuesser.php | 2 +- .../ProxyClass/Lock/DatabaseLockBackend.php | 2 +- .../Lock/PersistentDatabaseLockBackend.php | 2 +- .../PageCache/ChainResponsePolicy.php | 2 +- .../AdminPathConfigEntityConverter.php | 2 +- .../MenuLinkPluginConverter.php | 2 +- .../Plugin/CachedDiscoveryClearer.php | 2 +- .../Render/BareHtmlPageRenderer.php | 2 +- .../Core/ProxyClass/Routing/MatcherDumper.php | 2 +- .../Core/ProxyClass/Routing/RouteBuilder.php | 2 +- core/lib/Drupal/Core/Queue/BatchMemory.php | 5 +- core/lib/Drupal/Core/Queue/DatabaseQueue.php | 23 +- .../Core/Queue/DelayedRequeueException.php | 11 +- .../Queue/QueueGarbageCollectionInterface.php | 2 + core/lib/Drupal/Core/Queue/QueueInterface.php | 6 +- .../lib/Drupal/Core/Queue/QueueWorkerBase.php | 2 + .../Core/Queue/QueueWorkerInterface.php | 2 + .../Drupal/Core/Queue/QueueWorkerManager.php | 13 +- .../Queue/QueueWorkerManagerInterface.php | 7 + .../AttachmentsResponseProcessorInterface.php | 4 + .../Drupal/Core/Render/BubbleableMetadata.php | 4 +- core/lib/Drupal/Core/Render/Element.php | 11 +- .../Drupal/Core/Render/Element/Checkbox.php | 2 +- .../Drupal/Core/Render/Element/Checkboxes.php | 34 +- core/lib/Drupal/Core/Render/Element/Date.php | 6 + .../Drupal/Core/Render/Element/Details.php | 2 +- core/lib/Drupal/Core/Render/Element/File.php | 26 + .../Core/Render/Element/FormElement.php | 5 +- .../Drupal/Core/Render/Element/HtmlTag.php | 21 +- .../Core/Render/Element/ImageButton.php | 2 +- .../Core/Render/Element/InlineTemplate.php | 1 + core/lib/Drupal/Core/Render/Element/Link.php | 7 +- .../Core/Render/Element/MachineName.php | 10 +- .../lib/Drupal/Core/Render/Element/Number.php | 2 +- .../Core/Render/Element/PathElement.php | 2 +- .../lib/Drupal/Core/Render/Element/Radios.php | 12 +- .../Core/Render/Element/RenderElement.php | 5 +- .../Core/Render/Element/StatusMessages.php | 4 +- core/lib/Drupal/Core/Render/Element/Table.php | 2 +- .../Core/Render/Element/Tableselect.php | 14 +- .../Drupal/Core/Render/ElementInfoManager.php | 4 +- .../HtmlResponseAttachmentsProcessor.php | 29 +- .../Render/MainContent/DialogRenderer.php | 2 +- .../Core/Render/MainContent/HtmlRenderer.php | 52 +- .../Core/Render/MainContent/ModalRenderer.php | 2 +- .../Render/MainContent/OffCanvasRenderer.php | 2 +- .../Render/MetadataBubblingUrlGenerator.php | 2 +- .../Core/Render/PlaceholderGenerator.php | 10 + core/lib/Drupal/Core/Render/RenderCache.php | 20 +- core/lib/Drupal/Core/Render/Renderer.php | 124 +- .../Drupal/Core/Render/RendererInterface.php | 374 +- core/lib/Drupal/Core/Render/theme.api.php | 188 +- .../OutboundRouteProcessorInterface.php | 3 - .../RouteProcessor/RouteProcessorManager.php | 7 +- .../Drupal/Core/Routing/AccessAwareRouter.php | 13 +- .../Routing/AccessAwareRouterInterface.php | 4 +- .../Core/Routing/ContentTypeHeaderMatcher.php | 2 +- .../Drupal/Core/Routing/CurrentRouteMatch.php | 2 +- .../Enhancer/ParamConversionEnhancer.php | 10 +- .../Drupal/Core/Routing/FilterInterface.php | 31 +- .../Core/Routing/LazyRouteCollection.php | 5 +- .../lib/Drupal/Core/Routing/MatcherDumper.php | 25 +- .../lib/Drupal/Core/Routing/NullGenerator.php | 2 +- .../Core/Routing/RedirectDestination.php | 9 +- .../Drupal/Core/Routing/RequestContext.php | 7 +- core/lib/Drupal/Core/Routing/RouteBuilder.php | 6 +- .../lib/Drupal/Core/Routing/RouteCompiler.php | 5 - .../Drupal/Core/Routing/RoutePreloader.php | 21 +- .../lib/Drupal/Core/Routing/RouteProvider.php | 6 +- core/lib/Drupal/Core/Routing/Router.php | 22 +- core/lib/Drupal/Core/Routing/UrlGenerator.php | 29 +- .../Core/Routing/UrlGeneratorInterface.php | 4 +- core/lib/Drupal/Core/Routing/UrlMatcher.php | 2 +- core/lib/Drupal/Core/Routing/routing.api.php | 10 +- .../Core/Security/DoTrustedCallbackTrait.php | 4 +- .../Security/PharExtensionInterceptor.php | 6 + .../Security/StaticTrustedCallbackHelper.php | 47 + core/lib/Drupal/Core/Session/AccountProxy.php | 6 +- core/lib/Drupal/Core/Session/MetadataBag.php | 13 + .../Core/Session/SessionConfiguration.php | 12 +- .../Drupal/Core/Session/SessionHandler.php | 6 + .../Drupal/Core/Session/SessionManager.php | 99 +- core/lib/Drupal/Core/Session/UserSession.php | 1 + .../Core/Session/WriteSafeSessionHandler.php | 6 + core/lib/Drupal/Core/Site/MaintenanceMode.php | 27 +- .../Core/Site/MaintenanceModeEvents.php | 15 + .../Core/Site/MaintenanceModeInterface.php | 8 + core/lib/Drupal/Core/Site/Settings.php | 27 +- .../Core/StackMiddleware/KernelPreHandle.php | 3 +- .../StackMiddleware/NegotiationMiddleware.php | 5 +- .../ReverseProxyMiddleware.php | 5 +- .../Drupal/Core/StackMiddleware/Session.php | 3 +- core/lib/Drupal/Core/State/State.php | 2 +- .../Drupal/Core/StreamWrapper/LocalStream.php | 201 +- .../PhpStreamWrapperInterface.php | 315 +- .../Core/StreamWrapper/PrivateStream.php | 5 +- .../Core/StreamWrapper/PublicStream.php | 24 + .../StreamWrapper/StreamWrapperInterface.php | 11 +- .../StreamWrapper/StreamWrapperManager.php | 33 +- .../StringTranslation/TranslatableMarkup.php | 3 +- .../StringTranslation/TranslationManager.php | 7 +- .../StringTranslation/TranslationWrapper.php | 4 +- .../Translator/FileTranslation.php | 3 +- .../Core/TempStore/PrivateTempStore.php | 24 +- .../Drupal/Core/TempStore/SharedTempStore.php | 44 +- .../Core/TempStore/SharedTempStoreFactory.php | 35 +- core/lib/Drupal/Core/Template/Attribute.php | 15 +- .../Drupal/Core/Template/AttributeArray.php | 5 + .../Drupal/Core/Template/AttributeString.php | 2 +- .../Drupal/Core/Template/DebugExtension.php | 68 + .../Core/Template/Loader/FilesystemLoader.php | 55 +- .../Template/Loader/ThemeRegistryLoader.php | 9 + .../Drupal/Core/Template/TwigEnvironment.php | 5 +- .../Drupal/Core/Template/TwigExtension.php | 49 +- .../Drupal/Core/Template/TwigNodeTrans.php | 4 +- .../Drupal/Core/Template/TwigNodeVisitor.php | 5 + .../Core/Template/TwigSandboxPolicy.php | 5 +- core/lib/Drupal/Core/Test/AssertMailTrait.php | 16 +- .../Drupal/Core/Test/EnvironmentCleaner.php | 2 +- .../Core/Test/FunctionalTestSetupTrait.php | 61 +- .../TestHttpClientMiddleware.php | 4 +- .../Core/Test/PerformanceTestRecorder.php | 4 +- .../Core/Test/RefreshVariablesTrait.php | 2 +- core/lib/Drupal/Core/Test/TestDatabase.php | 8 +- core/lib/Drupal/Core/Test/TestDiscovery.php | 8 +- core/lib/Drupal/Core/Test/TestKernel.php | 22 + .../lib/Drupal/Core/Test/TestRunnerKernel.php | 7 +- core/lib/Drupal/Core/Test/TestSetupTrait.php | 33 +- core/lib/Drupal/Core/Theme/Registry.php | 49 +- .../Drupal/Core/Theme/StarterKitInterface.php | 22 + .../Drupal/Core/Theme/ThemeInitialization.php | 18 +- core/lib/Drupal/Core/Theme/ThemeManager.php | 4 +- .../Core/Theme/ThemeManagerInterface.php | 7 +- .../Core/TypedData/Annotation/DataType.php | 23 +- .../Core/TypedData/ComputedItemListTrait.php | 5 +- .../Drupal/Core/TypedData/DataDefinition.php | 22 +- .../TypedData/DataDefinitionInterface.php | 16 +- .../Core/TypedData/ListDataDefinition.php | 2 +- .../TypedData/Plugin/DataType/ItemList.php | 13 +- .../TypedData/Plugin/DataType/Language.php | 2 +- .../Core/TypedData/Plugin/DataType/Map.php | 9 +- .../Core/TypedData/TranslatableInterface.php | 9 +- .../Validation/ConstraintViolationBuilder.php | 4 +- .../TypedData/Validation/ExecutionContext.php | 15 +- .../Validation/ExecutionContextFactory.php | 9 +- .../RecursiveContextualValidator.php | 7 +- .../Validation/RecursiveValidator.php | 17 +- .../Validation/TypedDataMetadata.php | 8 +- .../Drupal/Core/Update/UpdateHookRegistry.php | 164 + .../Core/Update/UpdateHookRegistryFactory.php | 28 + core/lib/Drupal/Core/Update/UpdateKernel.php | 3 +- .../lib/Drupal/Core/Update/UpdateRegistry.php | 228 +- .../Core/Update/UpdateRegistryFactory.php | 3 +- .../Core/Update/UpdateServiceProvider.php | 10 +- core/lib/Drupal/Core/Updater/Module.php | 33 +- core/lib/Drupal/Core/Updater/Theme.php | 17 +- core/lib/Drupal/Core/Updater/Updater.php | 11 + .../Drupal/Core/Updater/UpdaterException.php | 3 +- .../Updater/UpdaterFileTransferException.php | 5 +- .../Drupal/Core/Updater/UpdaterInterface.php | 1 + core/lib/Drupal/Core/Url.php | 44 +- core/lib/Drupal/Core/Utility/Error.php | 23 +- .../lib/Drupal/Core/Utility/LinkGenerator.php | 8 +- .../Drupal/Core/Utility/PhpRequirements.php | 109 + core/lib/Drupal/Core/Utility/ProjectInfo.php | 2 +- .../lib/Drupal/Core/Utility/ThemeRegistry.php | 2 +- core/lib/Drupal/Core/Utility/Token.php | 85 +- core/lib/Drupal/Core/Utility/token.api.php | 2 +- .../Core/Validation/Annotation/Constraint.php | 9 +- .../Core/Validation/ConstraintFactory.php | 38 + .../Core/Validation/ConstraintManager.php | 1 + .../Validation/ConstraintValidatorFactory.php | 9 +- .../Core/Validation/DrupalTranslator.php | 4 +- .../Constraint/UniqueFieldValueValidator.php | 5 +- .../Core/Validation/TranslatorInterface.php | 2 +- core/misc/active-link.js | 5 - core/misc/ajax.es6.js | 443 +- core/misc/ajax.js | 284 +- core/misc/announce.js | 6 - core/misc/autocomplete.es6.js | 15 +- core/misc/autocomplete.js | 32 +- core/misc/batch.es6.js | 2 +- core/misc/batch.js | 6 +- core/misc/checkbox.js | 1 - core/misc/collapse.es6.js | 21 +- core/misc/collapse.js | 22 +- core/misc/cspell/dictionary.txt | 556 +- core/misc/date.es6.js | 37 +- core/misc/date.js | 43 +- core/misc/debounce.js | 7 - core/misc/details-aria.es6.js | 10 +- core/misc/details-aria.js | 3 +- core/misc/details-summarized-content.es6.js | 15 +- core/misc/details-summarized-content.js | 11 +- core/misc/dialog/dialog.ajax.es6.js | 5 +- core/misc/dialog/dialog.ajax.js | 24 - core/misc/dialog/dialog.jquery-ui.es6.js | 45 +- core/misc/dialog/dialog.jquery-ui.js | 38 +- core/misc/dialog/dialog.js | 7 - core/misc/dialog/dialog.position.js | 11 - core/misc/dialog/off-canvas.base.css | 217 +- core/misc/dialog/off-canvas.base.pcss.css | 346 + core/misc/dialog/off-canvas.es6.js | 43 +- core/misc/dialog/off-canvas.js | 20 +- core/misc/dialog/off-canvas.reset.css | 496 +- core/misc/dialog/off-canvas.reset.pcss.css | 478 + core/misc/displace.js | 21 - core/misc/dropbutton/dropbutton.css | 3 +- core/misc/dropbutton/dropbutton.es6.js | 19 +- core/misc/dropbutton/dropbutton.js | 25 +- core/misc/drupal.es6.js | 8 +- core/misc/drupal.init.js | 5 - core/misc/drupal.js | 47 +- core/misc/drupalSettingsLoader.js | 2 - core/misc/entity-form.js | 5 - core/misc/favicon.ico | Bin 5430 -> 5430 bytes core/misc/form.es6.js | 60 +- core/misc/form.js | 63 +- core/misc/icons/dc2323/error.svg | 1 + core/misc/jquery.cookie.shim.es6.js | 7 +- core/misc/jquery.cookie.shim.js | 29 +- core/misc/jquery.once.bc.es6.js | 55 + core/misc/jquery.once.bc.js | 35 + core/misc/jquery.tabbable.shim.es6.js | 28 + core/misc/jquery.tabbable.shim.js | 23 + core/misc/machine-name.es6.js | 24 +- core/misc/machine-name.js | 36 +- core/misc/message.js | 27 +- core/misc/modernizr-additional-tests.es6.js | 81 +- core/misc/modernizr-additional-tests.js | 41 +- core/misc/polyfills/array.find.js | 8 - core/misc/polyfills/array.includes.es6.js | 53 + core/misc/polyfills/array.includes.js | 37 + core/misc/polyfills/customevent.es6.js | 30 + core/misc/polyfills/customevent.js | 20 + core/misc/polyfills/element.closest.es6.js | 23 + core/misc/polyfills/element.closest.js | 16 + core/misc/polyfills/element.matches.es6.js | 17 + .../polyfills/element.matches.js} | 11 - core/misc/polyfills/nodelist.foreach.js | 1 - core/misc/polyfills/object.assign.js | 5 - core/misc/polyfills/string.includes.es6.js | 26 + core/misc/polyfills/string.includes.js | 19 + core/misc/position.es6.js | 628 + core/misc/position.js | 374 + core/misc/print.css | 1 - core/misc/progress.js | 10 - core/misc/states.es6.js | 11 +- core/misc/states.js | 66 +- core/misc/tabbingmanager.es6.js | 61 +- core/misc/tabbingmanager.js | 72 +- core/misc/tabledrag.es6.js | 22 +- core/misc/tabledrag.js | 267 +- core/misc/tableheader.es6.js | 22 +- core/misc/tableheader.js | 32 +- core/misc/tableresponsive.es6.js | 26 +- core/misc/tableresponsive.js | 69 +- core/misc/tableselect.es6.js | 9 +- core/misc/tableselect.js | 23 +- core/misc/timezone.es6.js | 14 +- core/misc/timezone.js | 28 +- core/misc/touchevents-test.es6.js | 11 + core/misc/touchevents-test.js | 7 + core/misc/vertical-tabs.es6.js | 62 +- core/misc/vertical-tabs.js | 51 +- core/modules/action/action.module | 2 +- .../state/action.migrate_drupal.yml | 5 - core/modules/action/src/ActionListBuilder.php | 2 +- .../modules/action/src/Form/ActionAddForm.php | 4 + .../src/Plugin/migrate/source/Action.php | 73 +- .../update/drupal-8.action-3022401.php | 12 + .../tests/src/Functional/ActionListTest.php | 4 +- .../src/Functional/ActionUninstallTest.php | 2 +- .../src/Functional/ConfigurationTest.php | 38 +- .../src/Unit/Menu/ActionLocalTasksTest.php | 3 + .../Unit/Plugin/migrate/source/ActionTest.php | 31 + core/modules/aggregator/aggregator.info.yml | 2 + core/modules/aggregator/aggregator.install | 17 - core/modules/aggregator/aggregator.module | 22 +- .../aggregator/aggregator.services.yml | 6 + ...ggregator_feed.aggregator_feed.default.yml | 12 +- .../views.view.aggregator_rss_feed.yml | 136 +- .../views.view.aggregator_sources.yml | 190 +- .../help_topics/aggregator.creating.html.twig | 9 +- .../help_topics/aggregator.managing.html.twig | 7 +- .../help_topics/aggregator.overview.html.twig | 8 +- .../src/Controller/AggregatorController.php | 2 +- core/modules/aggregator/src/Entity/Feed.php | 1 + core/modules/aggregator/src/Entity/Item.php | 2 +- core/modules/aggregator/src/FeedStorage.php | 2 +- .../aggregator/src/Form/OpmlFeedAdd.php | 6 +- core/modules/aggregator/src/ItemStorage.php | 4 +- core/modules/aggregator/src/ItemsImporter.php | 2 +- .../src/Plugin/Block/AggregatorFeedBlock.php | 58 +- .../AggregatorTitleFormatter.php | 6 +- .../aggregator/fetcher/DefaultFetcher.php | 8 +- .../aggregator/parser/DefaultParser.php | 5 +- .../aggregator/processor/DefaultProcessor.php | 21 +- .../Plugin/migrate/source/AggregatorFeed.php | 7 +- .../Plugin/migrate/source/AggregatorItem.php | 7 +- .../src/ZfExtensionManagerSfContainer.php | 130 + .../aggregator/tests/fixtures/drupal6.php | 50807 +++++++++++++ .../aggregator/tests/fixtures/drupal7.php | 61055 ++++++++++++++++ ...ggregator_display_configurable_test.module | 3 +- .../AggregatorTestRssController.php | 4 +- .../aggregator/processor/TestProcessor.php | 4 +- .../views.view.test_aggregator_items.yml | 2 +- ...views.view.test_aggregator_style_opml.yml} | 6 +- .../tests/src/Functional/AddFeedTest.php | 21 +- .../src/Functional/AggregatorAdminTest.php | 19 +- .../src/Functional/AggregatorCronTest.php | 16 +- .../AggregatorDisplayConfigurableTest.php | 10 +- .../Functional/AggregatorRenderingTest.php | 10 +- .../src/Functional/AggregatorTestBase.php | 54 +- .../src/Functional/DeleteFeedItemTest.php | 1 + .../tests/src/Functional/DeleteFeedTest.php | 12 +- .../src/Functional/FeedAdminDisplayTest.php | 33 +- .../src/Functional/FeedCacheTagsTest.php | 1 + .../src/Functional/FeedFetcherPluginTest.php | 7 +- .../tests/src/Functional/FeedLanguageTest.php | 10 +- .../tests/src/Functional/FeedParserTest.php | 47 +- .../Functional/FeedProcessorPluginTest.php | 11 +- .../tests/src/Functional/ImportOpmlTest.php | 56 +- .../src/Functional/ItemCacheTagsTest.php | 5 +- .../src/Functional/Jsonapi}/FeedTest.php | 8 +- .../src/Functional/Jsonapi}/ItemTest.php | 6 +- .../src/Functional/Rest/FeedJsonAnonTest.php | 1 + .../Functional/Rest/FeedJsonBasicAuthTest.php | 1 + .../Functional/Rest/FeedJsonCookieTest.php | 1 + .../src/Functional/Rest/FeedXmlAnonTest.php | 1 + .../Functional/Rest/FeedXmlBasicAuthTest.php | 1 + .../src/Functional/Rest/FeedXmlCookieTest.php | 1 + .../src/Functional/Rest/ItemJsonAnonTest.php | 1 + .../Functional/Rest/ItemJsonBasicAuthTest.php | 1 + .../Functional/Rest/ItemJsonCookieTest.php | 1 + .../Functional/Rest/ItemResourceTestBase.php | 1 + .../src/Functional/Rest/ItemXmlAnonTest.php | 1 + .../Functional/Rest/ItemXmlBasicAuthTest.php | 1 + .../src/Functional/Rest/ItemXmlCookieTest.php | 1 + .../src/Functional/UpdateFeedItemTest.php | 18 +- .../tests/src/Functional/UpdateFeedTest.php | 12 +- .../Views/Handler/HandlerAggregatorTest.php | 101 + .../Views}/Plugin/StyleOpmlTest.php | 17 +- .../d6/MultilingualReviewPageTest.php | 147 + .../d6/NoMultilingualReviewPageTest.php | 152 + .../migrate_drupal_ui/d6/UpgradeTest.php | 195 + .../core/tests/fixtures/files/html-1.txt | 1 + .../core/tests/fixtures/files/image-1.png | Bin 0 -> 39325 bytes .../core/tests/fixtures/files/image-2.jpg | Bin 0 -> 1831 bytes .../core/tests/fixtures/files/image-test.gif | Bin 0 -> 183 bytes .../core/tests/fixtures/files/image-test.jpg | Bin 0 -> 1901 bytes .../core/tests/fixtures/files/image-test.png | Bin 0 -> 125 bytes .../d7/MultilingualReviewPageTest.php | 172 + .../d7/NoMultilingualReviewPageTest.php | 180 + .../migrate_drupal_ui/d7/UpgradeTest.php | 221 + .../d7/files/sites/default/files/cube.jpeg | 1 + .../d7/files/sites/default/files/ds9.txt | 1 + .../files/sites/default/private/Babylon5.txt | 1 + .../views_ui/DisplayOpmlFeedTest.php | 104 + .../NewViewAggregatorConfigSchemaTest.php | 52 + .../Kernel/AggregatorPluginManagerTest.php | 1 + .../tests/src/Kernel/AggregatorTitleTest.php | 5 +- .../tests/src/Kernel/FeedValidationTest.php | 15 +- .../tests/src/Kernel/ItemWithoutFeedTest.php | 3 +- .../Migrate/MigrateAggregatorStubTest.php | 1 + .../d6/MigrateAggregatorConfigsTest.php | 23 +- .../Migrate/d6/MigrateAggregatorFeedTest.php | 31 +- .../Migrate/d6/MigrateAggregatorItemTest.php | 29 +- .../Kernel/Migrate/d6/MigrateBlockTest.php | 108 + .../Migrate/d6/MigrateDependenciesTest.php | 33 + .../Migrate/d6/MigrateDrupal6AuditIdsTest.php | 80 + .../Migrate/d6/MigrateDrupal6TestBase.php | 41 + .../Migrate/d7/MigrateAggregatorFeedTest.php | 27 +- .../Migrate/d7/MigrateAggregatorItemTest.php | 29 +- .../d7/MigrateAggregatorSettingsTest.php | 19 +- .../Migrate/d7/MigrateDrupal7AuditIdsTest.php | 79 + .../Migrate/d7/MigrateDrupal7TestBase.php | 41 + .../migrate/source/AggregatorFeedTest.php | 1 + .../migrate/source/AggregatorItemTest.php | 3 + .../AggregatorFeedViewsFieldAccessTest.php | 1 + .../AggregatorItemViewsFieldAccessTest.php | 2 + .../src/Kernel/Views/IntegrationTest.php | 8 +- .../tests/src/Unit/BubbleableMetadataTest.php | 74 + .../Unit/Menu/AggregatorLocalTasksTest.php | 1 + .../AggregatorPluginSettingsBaseTest.php | 20 +- .../ZfExtensionManagerSfContainerTest.php | 157 + core/modules/ban/src/BanIpManager.php | 4 +- core/modules/ban/src/BanMiddleware.php | 2 +- core/modules/ban/src/Form/BanAdmin.php | 5 + core/modules/ban/src/Form/BanDelete.php | 4 + .../Plugin/migrate/destination/BlockedIp.php | 2 + .../Plugin/migrate/source/d7/BlockedIps.php | 7 +- .../src/Functional/IpAddressBlockingTest.php | 35 +- .../Migrate/d7/MigrateBlockedIpsTest.php | 4 +- .../basic_auth/basic_auth.services.yml | 8 +- .../tests/src/Functional/BasicAuthTest.php | 44 +- .../tests/src/Traits/BasicAuthTestTrait.php | 2 +- core/modules/big_pipe/big_pipe.libraries.yml | 3 +- core/modules/big_pipe/js/big_pipe.es6.js | 28 +- core/modules/big_pipe/js/big_pipe.js | 31 +- core/modules/big_pipe/src/Render/BigPipe.php | 22 +- .../Render/Placeholder/BigPipeStrategy.php | 10 + .../big_pipe_test/big_pipe_test.module | 5 +- .../src/BigPipePlaceholderTestCases.php | 18 +- .../src/BigPipeTestController.php | 2 +- .../tests/src/Functional/BigPipeTest.php | 191 +- .../BigPipeRegressionTest.php | 83 +- .../src/Unit/Render/ManyPlaceholderTest.php | 2 +- .../big_pipe_test_theme.info.yml | 2 +- core/modules/block/block.api.php | 22 +- core/modules/block/block.libraries.yml | 5 + core/modules/block/block.links.contextual.yml | 5 + core/modules/block/block.module | 5 +- core/modules/block/block.post_update.php | 18 + core/modules/block/block.routing.yml | 2 +- .../optional/tour.tour.block-layout.yml | 22 +- core/modules/block/js/block.admin.es6.js | 48 +- core/modules/block/js/block.admin.js | 22 +- core/modules/block/js/block.es6.js | 36 +- core/modules/block/js/block.js | 59 +- core/modules/block/migrations/d6_block.yml | 11 +- core/modules/block/migrations/d7_block.yml | 36 +- core/modules/block/src/BlockForm.php | 31 +- core/modules/block/src/BlockListBuilder.php | 21 +- core/modules/block/src/BlockRepository.php | 7 + .../block/src/Form/BlockDeleteForm.php | 29 +- .../DisplayVariant/BlockPageVariant.php | 2 +- .../migrate/destination/EntityBlock.php | 15 + .../Plugin/migrate/process/BlockPluginId.php | 6 +- .../Plugin/migrate/process/BlockRegion.php | 2 +- .../Plugin/migrate/process/BlockSettings.php | 8 +- .../src/Plugin/migrate/process/BlockTheme.php | 9 +- .../migrate/process/BlockVisibility.php | 10 +- .../block/src/Plugin/migrate/source/Block.php | 13 +- .../migrate/source/d6/BlockTranslation.php | 9 +- .../migrate/source/d7/BlockTranslation.php | 11 +- core/modules/block/templates/block.html.twig | 1 + .../config/install/block.block.test_block.yml | 18 +- .../src/Plugin/Block/TestAccessBlock.php | 5 + .../Plugin/Block/TestContextAwareBlock.php | 4 +- .../block_test_specialchars_theme.info.yml | 2 +- .../block_test_theme.info.yml | 2 +- .../test_views/views.view.test_view_block.yml | 2 +- .../views.view.test_view_block2.yml | 2 +- ...iews.view.test_view_block_with_context.yml | 2 +- .../Functional/AssertBlockAppearsTrait.php | 13 +- .../src/Functional/BlockAdminThemeTest.php | 28 +- .../tests/src/Functional/BlockCacheTest.php | 69 +- .../tests/src/Functional/BlockDemoTest.php | 7 +- .../src/Functional/BlockFormInBlockTest.php | 16 +- .../src/Functional/BlockHiddenRegionTest.php | 17 +- .../src/Functional/BlockHookOperationTest.php | 3 + .../tests/src/Functional/BlockHtmlTest.php | 10 +- .../tests/src/Functional/BlockInstallTest.php | 4 +- .../src/Functional/BlockInvalidRegionTest.php | 25 +- .../src/Functional/BlockLanguageCacheTest.php | 10 +- .../src/Functional/BlockLanguageTest.php | 87 +- .../src/Functional/BlockRenderOrderTest.php | 5 +- .../Functional/BlockSystemBrandingTest.php | 68 +- .../block/tests/src/Functional/BlockTest.php | 225 +- .../tests/src/Functional/BlockUiTest.php | 181 +- .../tests/src/Functional/BlockXssTest.php | 24 +- .../Functional/NonDefaultBlockAdminTest.php | 7 +- .../src/Functional/Rest/BlockJsonAnonTest.php | 2 +- .../Rest/BlockJsonBasicAuthTest.php | 2 +- .../Functional/Rest/BlockJsonCookieTest.php | 2 +- .../Functional/Rest/BlockResourceTestBase.php | 11 +- .../src/Functional/Rest/BlockXmlAnonTest.php | 2 +- .../Functional/Rest/BlockXmlBasicAuthTest.php | 2 +- .../Functional/Rest/BlockXmlCookieTest.php | 2 +- .../BlockNodeTypeVisibilityUpdateTest.php | 46 + .../src/Functional/Views/DisplayBlockTest.php | 114 +- .../src/FunctionalJavascript/BlockAddTest.php | 51 + .../BlockContextualLinksTest.php | 63 + .../FunctionalJavascript/BlockFilterTest.php | 2 +- .../src/Kernel/BlockConfigSchemaTest.php | 5 +- .../tests/src/Kernel/BlockInterfaceTest.php | 18 +- .../tests/src/Kernel/BlockRebuildTest.php | 6 +- .../tests/src/Kernel/BlockStorageUnitTest.php | 23 +- .../tests/src/Kernel/BlockViewBuilderTest.php | 34 +- .../d6/MigrateBlockContentTranslationTest.php | 5 +- .../Kernel/Migrate/d6/MigrateBlockTest.php | 66 +- .../d7/MigrateBlockContentTranslationTest.php | 3 +- .../Kernel/Migrate/d7/MigrateBlockTest.php | 32 +- .../src/Kernel/NewDefaultThemeBlocksTest.php | 13 +- .../tests/src/Traits/BlockCreationTrait.php | 2 +- .../src/Unit/BlockConfigEntityUnitTest.php | 12 +- .../block/tests/src/Unit/BlockFormTest.php | 12 +- .../tests/src/Unit/BlockRepositoryTest.php | 14 +- .../src/Unit/CategoryAutocompleteTest.php | 5 +- .../src/Unit/Menu/BlockLocalTasksTest.php | 5 +- .../DisplayVariant/BlockPageVariantTest.php | 8 +- .../migrate/process/BlockRegionTest.php | 4 + .../migrate/process/BlockSettingsTest.php | 84 + .../migrate/process/BlockVisibilityTest.php | 4 +- .../block_content/block_content.module | 9 +- .../block_content.post_update.php | 7 + .../optional/views.view.block_content.yml | 302 +- .../src/BlockContentAccessControlHandler.php | 6 +- .../src/BlockContentListBuilder.php | 3 +- .../src/BlockContentTranslationHandler.php | 2 +- .../src/BlockContentTypeForm.php | 22 +- .../src/BlockContentTypeListBuilder.php | 4 +- .../src/BlockContentUuidLookup.php | 1 + .../src/BlockContentViewBuilder.php | 7 + .../src/BlockContentViewsData.php | 21 - .../src/Controller/BlockContentController.php | 1 + .../block_content/src/Entity/BlockContent.php | 24 +- .../src/Entity/BlockContentType.php | 4 +- .../src/Form/BlockContentTypeDeleteForm.php | 8 +- .../src/Plugin/Derivative/BlockContent.php | 2 +- .../BlockContentEntityChangedConstraint.php | 17 + ...ontentEntityChangedConstraintValidator.php | 30 + .../src/Plugin/migrate/source/d6/Box.php | 5 + .../migrate/source/d6/BoxTranslation.php | 7 +- .../Plugin/migrate/source/d7/BlockCustom.php | 5 + .../source/d7/BlockCustomTranslation.php | 15 +- .../install/block.block.foobargorilla.yml | 8 +- ...est_block_content_redirect_destination.yml | 2 +- ...ws.view.test_block_content_revision_id.yml | 2 +- ...est_block_content_revision_revision_id.yml | 2 +- ....view.test_block_content_revision_user.yml | 2 +- .../views.view.test_block_content_view.yml | 2 +- .../views.view.test_field_filters.yml | 2 +- .../test_views/views.view.test_field_type.yml | 2 +- .../Functional/BlockContentCreationTest.php | 80 +- .../src/Functional/BlockContentListTest.php | 34 +- .../Functional/BlockContentListViewsTest.php | 34 +- .../Functional/BlockContentPageViewTest.php | 4 +- .../Functional/BlockContentRevisionsTest.php | 8 +- .../src/Functional/BlockContentSaveTest.php | 23 +- .../src/Functional/BlockContentTestBase.php | 36 +- .../BlockContentTranslationUITest.php | 10 +- .../src/Functional/BlockContentTypeTest.php | 63 +- .../Functional/BlockContentValidationTest.php | 6 +- .../tests/src/Functional/PageEditTest.php | 17 +- .../Rest/BlockContentTypeResourceTestBase.php | 7 +- .../src/Functional/UnpublishedBlockTest.php | 8 +- .../Views/BlockContentFieldFilterTest.php | 10 +- .../Views/BlockContentIntegrationTest.php | 8 +- .../Views/BlockContentRedirectTest.php | 2 +- .../Functional/Views/BlockContentTestBase.php | 16 +- .../Views/BlockContentWizardTest.php | 3 +- .../src/Kernel/BlockContentDeletionTest.php | 21 + ...ockContentEntityReferenceSelectionTest.php | 14 +- .../MigrateBlockContentBodyFieldTest.php | 14 +- .../MigrateBlockContentEntityDisplayTest.php | 4 +- ...grateBlockContentEntityFormDisplayTest.php | 4 +- .../Migrate/MigrateBlockContentTypeTest.php | 2 +- .../Migrate/d6/MigrateBlockContentTest.php | 16 +- .../Migrate/d7/MigrateCustomBlockTest.php | 6 +- .../src/Unit/Access/DependentAccessTest.php | 2 +- .../Unit/Menu/BlockContentLocalTasksTest.php | 5 +- core/modules/book/book.es6.js | 5 +- core/modules/book/book.install | 2 +- core/modules/book/book.js | 8 +- core/modules/book/book.module | 4 +- core/modules/book/book.services.yml | 19 +- core/modules/book/book.views.inc | 2 +- ....entity_form_display.node.book.default.yml | 12 +- ....entity_view_display.node.book.default.yml | 6 +- ...e.entity_view_display.node.book.teaser.yml | 6 +- .../core.entity_view_mode.node.print.yml | 4 +- .../book/src/BookBreadcrumbBuilder.php | 43 +- core/modules/book/src/BookExport.php | 25 +- core/modules/book/src/BookManager.php | 248 +- .../modules/book/src/BookManagerInterface.php | 18 +- core/modules/book/src/BookOutlineStorage.php | 11 +- .../book/src/BookUninstallValidator.php | 6 +- .../src/Cache/BookNavigationCacheContext.php | 36 +- .../book/src/Form/BookAdminEditForm.php | 21 +- .../src/Plugin/Block/BookNavigationBlock.php | 26 +- .../book/src/Plugin/migrate/source/Book.php | 9 +- .../src/ProxyClass/BookUninstallValidator.php | 2 +- .../book_test_views/book_test_views.info.yml | 4 +- .../test_views/views.view.test_book_view.yml | 2 +- .../src/Functional/BookBreadcrumbTest.php | 48 +- .../Functional/BookContentModerationTest.php | 26 +- .../book/tests/src/Functional/BookTest.php | 165 +- .../tests/src/Functional/BookTestTrait.php | 26 +- .../Functional/Views/BookRelationshipTest.php | 14 +- .../BookJavascriptTest.php | 6 +- .../book/tests/src/Kernel/BookInstallTest.php | 2 +- .../src/Kernel/BookManagerDeprecationTest.php | 62 + .../tests/src/Kernel/BookMultilingualTest.php | 340 + .../tests/src/Kernel/BookUninstallTest.php | 10 +- .../Migrate/d6/MigrateBookConfigsTest.php | 4 +- .../src/Kernel/Migrate/d6/MigrateBookTest.php | 32 +- .../book/tests/src/Unit/BookManagerTest.php | 21 +- .../src/Unit/BookUninstallValidatorTest.php | 2 +- .../src/Unit/Menu/BookLocalTasksTest.php | 3 + core/modules/breakpoint/breakpoint.module | 4 +- .../src/Kernel/BreakpointDiscoveryTest.php | 23 +- .../tests/src/Unit/BreakpointTest.php | 3 + .../breakpoint_theme_test.info.yml | 2 +- core/modules/ckeditor/ckeditor.admin.inc | 2 +- core/modules/ckeditor/ckeditor.api.php | 2 +- core/modules/ckeditor/ckeditor.info.yml | 2 + core/modules/ckeditor/ckeditor.libraries.yml | 15 +- core/modules/ckeditor/ckeditor.module | 177 +- .../modules/ckeditor/ckeditor.post_update.php | 41 + core/modules/ckeditor/css/ckeditor.admin.css | 3 + core/modules/ckeditor/css/ckeditor.css | 16 +- .../drupalmedia/ckeditor.drupalmedia.css | 0 .../modules/ckeditor/js/ckeditor.admin.es6.js | 38 +- core/modules/ckeditor/js/ckeditor.admin.js | 59 +- .../js/ckeditor.drupalimage.admin.es6.js | 22 +- .../ckeditor/js/ckeditor.drupalimage.admin.js | 15 +- .../js/ckeditor.drupalmedia.theme.es6.js | 17 + .../ckeditor/js/ckeditor.drupalmedia.theme.js | 11 + core/modules/ckeditor/js/ckeditor.es6.js | 5 +- core/modules/ckeditor/js/ckeditor.js | 22 - .../js/ckeditor.language.admin.es6.js | 14 +- .../ckeditor/js/ckeditor.language.admin.js | 7 +- .../js/ckeditor.off-canvas-css-reset.js | 8 - .../js/ckeditor.stylescombo.admin.es6.js | 14 +- .../ckeditor/js/ckeditor.stylescombo.admin.js | 19 +- core/modules/ckeditor/js/models/Model.js | 1 - .../js/plugins/drupalimage/plugin.es6.js | 13 +- .../ckeditor/js/plugins/drupalimage/plugin.js | 39 - .../plugins/drupalimagecaption/plugin.es6.js | 7 +- .../js/plugins/drupalimagecaption/plugin.js | 34 - .../ckeditor/js/plugins/drupallink/plugin.js | 61 +- .../js/plugins/drupalmedia/plugin.es6.js | 6 +- .../js/plugins/drupalmedia/plugin.js | 55 +- .../icons/drupalmedialibrary.png | Bin .../icons/hidpi/drupalmedialibrary.png | Bin .../plugins/drupalmedialibrary/plugin.es6.js | 0 .../js/plugins/drupalmedialibrary/plugin.js | 3 - core/modules/ckeditor/js/views/AuralView.js | 50 +- .../ckeditor/js/views/ControllerView.es6.js | 5 +- .../ckeditor/js/views/ControllerView.js | 31 - .../modules/ckeditor/js/views/KeyboardView.js | 88 +- .../ckeditor/js/views/VisualView.es6.js | 13 +- core/modules/ckeditor/js/views/VisualView.js | 18 +- .../ckeditor/src/CKEditorPluginBase.php | 39 + .../src/Plugin/CKEditorPlugin/DrupalImage.php | 4 +- .../CKEditorPlugin/DrupalImageCaption.php | 28 +- .../src/Plugin/CKEditorPlugin/DrupalLink.php | 4 +- .../src/Plugin/CKEditorPlugin/DrupalMedia.php | 14 +- .../CKEditorPlugin/DrupalMediaLibrary.php | 7 +- .../src/Plugin/CKEditorPlugin/Internal.php | 17 +- .../src/Plugin/CKEditorPlugin/Language.php | 7 +- .../src/Plugin/CKEditorPlugin/StylesCombo.php | 2 +- .../ckeditor/src/Plugin/Editor/CKEditor.php | 68 +- .../tests/modules/ckeditor_test.module | 2 +- .../ckeditor/tests/modules/js/ajax-css.js | 1 - .../tests/modules/src/Form/AjaxCssForm.php | 31 +- .../src/Plugin/CKEditorPlugin/Llama.php | 28 +- .../src/Plugin/CKEditorPlugin/LlamaButton.php | 4 +- .../Plugin/CKEditorPlugin/LlamaContextual.php | 2 +- .../LlamaContextualAndButton.php | 9 +- .../src/Plugin/CKEditorPlugin/LlamaCss.php | 6 +- .../src/Functional/CKEditorAdminTest.php | 92 +- .../src/Functional/CKEditorLoadingTest.php | 81 +- .../CKEditorStylesComboAdminTest.php | 28 +- .../CKEditorStylesComboTranslationTest.php | 13 +- .../Functional/CKEditorToolbarButtonTest.php | 24 +- ...EditorUpdateOmitDisabledPluginSettings.php | 58 + .../src/FunctionalJavascript/AjaxCssTest.php | 3 +- .../BigPipeRegressionTest.php | 120 + .../CKEditor5CKEditor4Compatibility.php | 140 + .../CKEditorIntegrationTest.php | 16 +- .../FormErrorHandlerCKEditorTest.php | 5 +- .../MediaLibraryTest.php} | 56 +- .../src/FunctionalJavascript/MediaTest.php} | 172 +- .../src/Kernel/CKEditorPluginManagerTest.php | 60 +- .../tests/src/Kernel/CKEditorTest.php | 136 +- .../Plugin/CKEditorPlugin/InternalTest.php | 3 +- .../tests/src/Traits/CKEditorTestTrait.php | 2 +- .../src/Unit/CKEditorPluginManagerTest.php | 3 +- .../Plugin/CKEditorPlugin/LanguageTest.php | 9 +- core/modules/ckeditor5/ckeditor5.api.php | 277 + .../modules/ckeditor5/ckeditor5.ckeditor5.yml | 756 + core/modules/ckeditor5/ckeditor5.info.yml | 7 + .../modules/ckeditor5/ckeditor5.libraries.yml | 231 + core/modules/ckeditor5/ckeditor5.module | 658 + .../ckeditor5/ckeditor5.post_update.php | 101 + core/modules/ckeditor5/ckeditor5.routing.yml | 27 + core/modules/ckeditor5/ckeditor5.services.yml | 30 + .../config/schema/ckeditor5.data_types.yml | 12 + .../config/schema/ckeditor5.pair.schema.yml | 16 + .../config/schema/ckeditor5.schema.yml | 169 + .../modules/ckeditor5/css/alignment.admin.css | 45 + core/modules/ckeditor5/css/basic.admin.css | 27 + .../ckeditor5/css/blockquote.admin.css | 3 + .../ckeditor5/css/ckeditor5.dialog.fix.css | 3 + .../ckeditor5/css/code-block.admin.css | 3 + .../ckeditor5/css/drupalmedia.admin.css | 4 + core/modules/ckeditor5/css/drupalmedia.css | 107 + core/modules/ckeditor5/css/editor.css | 10 + .../ckeditor5/css/essentials.admin.css | 45 + core/modules/ckeditor5/css/heading.admin.css | 23 + .../ckeditor5/css/horizontal-line.admin.css | 4 + core/modules/ckeditor5/css/ie-warnings.css | 17 + core/modules/ckeditor5/css/image.admin.css | 3 + core/modules/ckeditor5/css/image.css | 82 + core/modules/ckeditor5/css/indent.admin.css | 7 + core/modules/ckeditor5/css/language.admin.css | 30 + core/modules/ckeditor5/css/language.css | 19 + core/modules/ckeditor5/css/link.admin.css | 3 + core/modules/ckeditor5/css/list.admin.css | 8 + .../modules/ckeditor5/css/media-alignment.css | 18 + core/modules/ckeditor5/css/remove-format.css | 3 + .../ckeditor5/css/source-editing.admin.css | 3 + .../ckeditor5/css/special-characters.css | 3 + core/modules/ckeditor5/css/style.admin.css | 30 + core/modules/ckeditor5/css/table.admin.css | 3 + core/modules/ckeditor5/css/toolbar.admin.css | 99 + core/modules/ckeditor5/icons/align-center.svg | 1 + .../modules/ckeditor5/icons/align-justify.svg | 1 + core/modules/ckeditor5/icons/align-left.svg | 1 + core/modules/ckeditor5/icons/align-right.svg | 1 + core/modules/ckeditor5/icons/blockquote.svg | 1 + core/modules/ckeditor5/icons/bold.svg | 1 + core/modules/ckeditor5/icons/bulletedlist.svg | 1 + core/modules/ckeditor5/icons/caret.svg | 1 + core/modules/ckeditor5/icons/code-block.svg | 1 + core/modules/ckeditor5/icons/code.svg | 1 + core/modules/ckeditor5/icons/divider.svg | 1 + .../ckeditor5/icons/horizontalline.svg | 1 + core/modules/ckeditor5/icons/image.svg | 1 + core/modules/ckeditor5/icons/indent.svg | 1 + core/modules/ckeditor5/icons/italic.svg | 1 + core/modules/ckeditor5/icons/link.svg | 1 + core/modules/ckeditor5/icons/medialibrary.svg | 1 + core/modules/ckeditor5/icons/numberedlist.svg | 1 + core/modules/ckeditor5/icons/outdent.svg | 1 + core/modules/ckeditor5/icons/redo.svg | 1 + .../modules/ckeditor5/icons/remove-format.svg | 1 + core/modules/ckeditor5/icons/separator.svg | 1 + .../ckeditor5/icons/source-editing.svg | 1 + .../ckeditor5/icons/special-characters.svg | 1 + .../modules/ckeditor5/icons/strikethrough.svg | 1 + core/modules/ckeditor5/icons/subscript.svg | 1 + core/modules/ckeditor5/icons/superscript.svg | 1 + core/modules/ckeditor5/icons/table.svg | 1 + core/modules/ckeditor5/icons/underline.svg | 1 + core/modules/ckeditor5/icons/undo.svg | 1 + core/modules/ckeditor5/icons/warning.svg | 1 + .../ckeditor5/js/build/ckeditor5.types.jsdoc | 3113 + .../ckeditor5/js/build/drupalEmphasis.js | 1 + .../ckeditor5/js/build/drupalHtmlEngine.js | 1 + .../modules/ckeditor5/js/build/drupalImage.js | 1 + .../modules/ckeditor5/js/build/drupalMedia.js | 1 + .../ckeditor5/js/ckeditor5.admin.es6.js | 1052 + core/modules/ckeditor5/js/ckeditor5.admin.js | 516 + .../ckeditor5/js/ckeditor5.dialog.fix.es6.js | 18 + .../ckeditor5/js/ckeditor5.dialog.fix.js | 13 + core/modules/ckeditor5/js/ckeditor5.es6.js | 687 + .../js/ckeditor5.filter.admin.es6.js | 74 + .../ckeditor5/js/ckeditor5.filter.admin.js | 31 + core/modules/ckeditor5/js/ckeditor5.js | 314 + .../ckeditor5/js/ckeditor5.style.admin.es6.js | 39 + .../ckeditor5/js/ckeditor5.style.admin.js | 22 + .../drupalEmphasis/src/drupalemphasis.js | 28 + .../src/drupalemphasisediting.js | 29 + .../drupalEmphasis/src/index.js | 10 + .../drupalHtmlEngine/src/drupalhtmlbuilder.js | 189 + .../drupalHtmlEngine/src/drupalhtmlengine.js | 33 + .../drupalHtmlEngine/src/drupalhtmlwriter.js | 31 + .../drupalHtmlEngine/src/index.js | 9 + .../drupalImage/src/drupalimage.js | 27 + .../src/drupalimagealternativetext.js | 40 + .../drupalImage/src/drupalimageediting.js | 713 + .../drupalimagealternativetextediting.js | 168 + .../drupalimagealternativetextui.js | 327 + .../ui/imagealternativetextformview.js | 279 + .../ui/missingalternativetextview.js | 48 + .../src/imageupload/drupalfilerepository.js | 49 + .../src/imageupload/drupalimageupload.js | 29 + .../imageupload/drupalimageuploadadapter.js | 154 + .../imageupload/drupalimageuploadediting.js | 34 + .../drupalImage/src/index.js | 14 + .../src/insertimage/drupalinsertimage.js | 43 + .../drupalMedia/src/drupalelementstyle.js | 49 + .../drupalelementstylecommand.js | 135 + .../drupalelementstyleediting.js | 350 + .../drupalelementstyleui.js | 556 + .../src/drupalelementstyle/utils.js | 70 + .../src/drupallinkmedia/drupallinkmedia.js | 25 + .../drupallinkmedia/drupallinkmediaediting.js | 391 + .../src/drupallinkmedia/drupallinkmediaui.js | 111 + .../drupalMedia/src/drupalmedia.js | 44 + .../drupalMedia/src/drupalmediacaption.js | 26 + .../drupalmediacaptioncommand.js | 160 + .../drupalmediacaptionediting.js | 306 + .../drupalmediacaptionui.js | 79 + .../src/drupalmediacaption/utils.js | 25 + .../drupalMedia/src/drupalmediaediting.js | 506 + .../src/drupalmediageneralhtmlsupport.js | 242 + .../src/drupalmediametadatarepository.js | 99 + .../drupalMedia/src/drupalmediatoolbar.js | 63 + .../drupalMedia/src/drupalmediaui.js | 51 + .../drupalMedia/src/index.js | 30 + .../drupalMedia/src/insertdrupalmedia.js | 104 + .../src/mediaimagetextalternative.js | 25 + .../mediaimagetextalternativecommand.js | 62 + .../mediaimagetextalternativeediting.js | 127 + .../mediaimagetextalternativeui.js | 242 + .../ui/textalternativeformview.js | 233 + .../src/mediaimagetextalternative/utils.js | 9 + .../drupalMedia/src/ui/utils.js | 55 + .../drupalMedia/src/utils.js | 145 + .../drupalMedia/theme/icons/medialibrary.svg | 1 + .../ckeditor5/js/ie11.filter.warnings.es6.js | 121 + .../ckeditor5/js/ie11.filter.warnings.js | 61 + .../ckeditor5/js/ie11.user.warnings.es6.js | 144 + .../ckeditor5/js/ie11.user.warnings.js | 62 + .../src/Annotation/CKEditor4To5Upgrade.php | 50 + .../CKEditor5AspectsOfCKEditor5Plugin.php | 43 + .../src/Annotation/CKEditor5Plugin.php | 88 + .../DrupalAspectsOfCKEditor5Plugin.php | 122 + .../src/CKEditor5StylesheetsMessage.php | 134 + .../Controller/CKEditor5ImageController.php | 297 + .../Controller/CKEditor5MediaController.php | 193 + .../src/EventSubscriber/CKEditor5CacheTag.php | 61 + .../ckeditor5/src/HTMLRestrictions.php | 1397 + .../Plugin/CKEditor4To5Upgrade/Contrib.php | 59 + .../src/Plugin/CKEditor4To5Upgrade/Core.php | 306 + .../CKEditor4To5UpgradePluginInterface.php | 97 + .../CKEditor4To5UpgradePluginManager.php | 230 + .../src/Plugin/CKEditor5Plugin/Alignment.php | 125 + ...namicPluginConfigWithCsrfTokenUrlTrait.php | 52 + .../CKEditor5Plugin/GlobalAttribute.php | 48 + .../src/Plugin/CKEditor5Plugin/Heading.php | 226 + .../src/Plugin/CKEditor5Plugin/Image.php | 82 + .../Plugin/CKEditor5Plugin/ImageResize.php | 58 + .../src/Plugin/CKEditor5Plugin/Language.php | 102 + .../src/Plugin/CKEditor5Plugin/ListPlugin.php | 90 + .../src/Plugin/CKEditor5Plugin/Media.php | 238 + .../Plugin/CKEditor5Plugin/MediaLibrary.php | 108 + .../Plugin/CKEditor5Plugin/SourceEditing.php | 108 + .../src/Plugin/CKEditor5Plugin/Style.php | 185 + .../CKEditor5PluginConfigurableInterface.php | 26 + .../CKEditor5PluginConfigurableTrait.php | 26 + .../src/Plugin/CKEditor5PluginDefault.php | 40 + .../src/Plugin/CKEditor5PluginDefinition.php | 582 + ...CKEditor5PluginElementsSubsetInterface.php | 25 + .../src/Plugin/CKEditor5PluginInterface.php | 39 + .../src/Plugin/CKEditor5PluginManager.php | 505 + .../CKEditor5PluginManagerInterface.php | 131 + .../ckeditor5/src/Plugin/Editor/CKEditor5.php | 975 + .../Constraint/CKEditor5ElementConstraint.php | 47 + .../CKEditor5ElementConstraintValidator.php | 72 + ...MediaAndFilterSettingsInSyncConstraint.php | 28 + ...ilterSettingsInSyncConstraintValidator.php | 95 + .../EnabledConfigurablePluginsConstraint.php | 28 + ...ConfigurablePluginsConstraintValidator.php | 81 + .../FundamentalCompatibilityConstraint.php | 56 + ...mentalCompatibilityConstraintValidator.php | 309 + .../PluginManagerDependentValidatorTrait.php | 92 + ...PrecedingConstraintAwareValidatorTrait.php | 61 + .../SourceEditingPreventSelfXssConstraint.php | 28 + ...itingPreventSelfXssConstraintValidator.php | 121 + .../SourceEditingRedundantTagsConstraint.php | 35 + ...ditingRedundantTagsConstraintValidator.php | 212 + .../StyleSensibleElementConstraint.php | 44 + ...tyleSensibleElementConstraintValidator.php | 182 + ...extEditorObjectDependentValidatorTrait.php | 55 + .../ToolbarItemConditionsMetConstraint.php | 49 + ...arItemConditionsMetConstraintValidator.php | 137 + .../Constraint/ToolbarItemConstraint.php | 28 + .../ToolbarItemConstraintValidator.php | 70 + .../ToolbarItemDependencyConstraint.php | 42 + ...olbarItemDependencyConstraintValidator.php | 40 + .../UniqueLabelInListConstraint.php | 42 + .../UniqueLabelInListConstraintValidator.php | 41 + .../ckeditor5/src/SmartDefaultSettings.php | 994 + .../ckeditor5-settings-toolbar.html.twig | 26 + .../editor.editor.basic_html.yml | 50 + .../editor.editor.full_html.yml | 58 + .../filter.format.basic_html.yml | 44 + .../filter.format.full_html.yml | 35 + .../filter.format.restricted_html.yml | 31 + .../fixtures/update/ckeditor5-3222756.php | 75 + .../fixtures/update/ckeditor5-3259593.php | 54 + .../update/editor.editor.test_format.yml | 22 + .../editor.editor.test_format_image.yml | 31 + .../update/filter.format.test_format.yml | 17 + .../filter.format.test_format_image.yml | 17 + .../ckeditor4to5upgrade_plugin_test.info.yml | 6 + .../ckeditor4to5upgrade_plugin_test.module | 51 + ...utomatic_link_decorator_test.ckeditor5.yml | 17 + ...or5_automatic_link_decorator_test.info.yml | 6 + ...omatic_link_decorator_test_2.ckeditor5.yml | 13 + ...5_automatic_link_decorator_test_2.info.yml | 6 + ...efinition_supporting_element.ckeditor5.yml | 111 + ...or5_definition_supporting_element.info.yml | 6 + ...ckeditor5_drupalelementstyle_test.info.yml | 7 + .../ckeditor5_drupalelementstyle_test.module | 31 + ...keditor5_incompatible_filter_test.info.yml | 6 + .../Plugin/Filter/FilterIsIncompatible.php | 26 + ...ditor5_manual_decorator_test.ckeditor5.yml | 25 + .../ckeditor5_manual_decorator_test.info.yml | 6 + ...itor5_plugin_conditions_test.ckeditor5.yml | 26 + .../ckeditor5_plugin_conditions_test.info.yml | 6 + ...itor5_plugin_elements_subset.ckeditor5.yml | 11 + .../ckeditor5_plugin_elements_subset.info.yml | 6 + ...keditor5_plugin_elements_subset.schema.yml | 10 + .../Plugin/CKEditor5Plugin/SneakySuperset.php | 51 + ...editor5_plugin_elements_test.ckeditor5.yml | 33 + .../ckeditor5_plugin_elements_test.info.yml | 6 + .../ckeditor5_test.ckeditor5.yml | 29 + .../ckeditor5_test/ckeditor5_test.info.yml | 7 + .../ckeditor5_test.libraries.yml | 10 + .../ckeditor5_test/ckeditor5_test.routing.yml | 13 + .../modules/ckeditor5_test/css/layout.css | 14 + .../CKEditor5DialogTestController.php | 44 + .../CKEditor5OffCanvasTestController.php | 35 + .../src/Functional/AddedStylesheetsTest.php | 128 + .../src/Functional/ImageUploadAccessTest.php | 64 + .../tests/src/Functional/ImageUploadTest.php | 256 + .../Functional/MediaEntityMetadataApiTest.php | 318 + .../Update/CKEditor5UpdateAlignmentTest.php | 61 + .../CKEditor5UpdateImageToolbarItemTest.php | 203 + .../src/FunctionalJavascript/AdminUiTest.php | 301 + .../CKEditor5AllowedTagsTest.php | 519 + .../CKEditor5DialogTest.php | 84 + .../CKEditor5FragmentLinkTest.php | 132 + .../CKEditor5OffCanvasTest.php | 52 + .../FunctionalJavascript/CKEditor5Test.php | 718 + .../CKEditor5TestBase.php | 150 + .../CKEditor5ToolbarTest.php | 108 + .../CKEditorStylesheetsWarningTest.php | 73 + .../src/FunctionalJavascript/EmphasisTest.php | 164 + .../src/FunctionalJavascript/ImageTest.php | 158 + .../FunctionalJavascript/ImageTestBase.php | 665 + .../src/FunctionalJavascript/ImageUrlTest.php | 121 + .../JSTranslationTest.php | 70 + .../src/FunctionalJavascript/LanguageTest.php | 106 + .../FunctionalJavascript/MediaLibraryTest.php | 306 + .../src/FunctionalJavascript/MediaTest.php | 1673 + .../SourceEditingTest.php | 358 + .../src/FunctionalJavascript/StyleTest.php | 318 + .../src/FunctionalJavascript/TableTest.php | 233 + .../CKEditor4to5UpgradeCompletenessTest.php | 275 + .../src/Kernel/CKEditor5PluginManagerTest.php | 1906 + .../src/Kernel/CKEditor5StylesheetsTest.php | 70 + .../Kernel/CKEditor5ValidationTestTrait.php | 50 + .../src/Kernel/ConfigurablePluginTest.php | 96 + .../tests/src/Kernel/LanguageTest.php | 122 + .../src/Kernel/SmartDefaultSettingsTest.php | 1446 + .../tests/src/Kernel/ValidatorsTest.php | 1468 + .../src/Kernel/WildcardHtmlSupportTest.php | 230 + .../Tests/drupalHtmlBuilderTest.es6.js | 131 + .../Nightwatch/Tests/drupalHtmlBuilderTest.js | 96 + .../tests/src/Traits/CKEditor5TestTrait.php | 157 + .../src/Traits/PrivateMethodUnitTestTrait.php | 30 + .../Traits/SynchronizeCsrfTokenSeedTrait.php | 56 + .../tests/src/Unit/AlignmentPluginTest.php | 117 + .../tests/src/Unit/CKEditor5Test.php | 104 + .../tests/src/Unit/HTMLRestrictionsTest.php | 1557 + .../tests/src/Unit/HeadingPluginTest.php | 120 + .../tests/src/Unit/LanguagePluginTest.php | 110 + .../tests/src/Unit/ListPluginTest.php | 102 + .../src/Unit/SmartDefaultSettingsTest.php | 253 + .../src/Unit/SourceEditingPluginTest.php | 203 + .../tests/src/Unit/StylePluginTest.php | 88 + core/modules/ckeditor5/webpack.config.js | 76 + core/modules/color/color.es6.js | 20 +- core/modules/color/color.info.yml | 2 + core/modules/color/color.js | 41 +- core/modules/color/color.libraries.yml | 6 +- core/modules/color/color.module | 24 +- .../help_topics/color.changing.html.twig | 7 +- core/modules/color/preview.js | 4 - .../src/ColorSystemBrandingBlockAlter.php | 2 +- .../src/Plugin/migrate/source/d7/Color.php | 5 + core/modules/color/tests/fixtures/drupal7.php | 26061 +++++++ .../color/tests/modules/color_test/logo.svg | 1 + .../themes/color_test_theme/color/color.inc | 11 + .../js/color_test_theme-fontsize.js | 1 - .../src/Functional/ColorConfigSchemaTest.php | 11 +- .../src/Functional/ColorSafePreviewTest.php | 7 +- .../color/tests/src/Functional/ColorTest.php | 194 +- .../Migrate/NoMultilingualReviewPageTest.php | 75 + .../Kernel/Migrate/d7/MigrateColorTest.php | 8 + .../Plugin/migrate/source/d7/ColorTest.php | 2 + .../comment/comment-entity-form.es6.js | 3 +- core/modules/comment/comment-entity-form.js | 3 +- core/modules/comment/comment.libraries.yml | 6 +- core/modules/comment/comment.module | 122 +- core/modules/comment/comment.tokens.inc | 2 +- .../config/optional/views.view.comment.yml | 869 +- .../optional/views.view.comments_recent.yml | 202 +- .../config/schema/comment.views.schema.yml | 4 + core/modules/comment/js/comment-by-viewer.js | 1 - .../comment/js/comment-new-indicator.es6.js | 55 +- .../comment/js/comment-new-indicator.js | 28 +- .../comment/js/node-new-comments-link.es6.js | 76 +- .../comment/js/node-new-comments-link.js | 36 +- .../migrations/d6_comment_entity_display.yml | 2 +- .../d6_comment_entity_form_display.yml | 2 +- ...d6_comment_entity_form_display_subject.yml | 2 +- .../comment/migrations/d6_comment_field.yml | 2 +- .../migrations/d6_comment_field_instance.yml | 2 +- .../comment/migrations/d6_comment_type.yml | 8 +- .../migrations/d7_comment_entity_display.yml | 2 +- .../d7_comment_entity_form_display.yml | 2 +- ...d7_comment_entity_form_display_subject.yml | 2 +- .../comment/migrations/d7_comment_field.yml | 2 +- .../migrations/d7_comment_field_instance.yml | 2 +- .../comment/migrations/d7_comment_type.yml | 8 +- .../comment/src/CommentBreadcrumbBuilder.php | 10 +- .../comment/src/CommentFieldItemList.php | 1 + core/modules/comment/src/CommentForm.php | 10 +- core/modules/comment/src/CommentInterface.php | 5 +- .../comment/src/CommentLazyBuilders.php | 4 +- core/modules/comment/src/CommentManager.php | 3 +- .../modules/comment/src/CommentStatistics.php | 4 +- core/modules/comment/src/CommentStorage.php | 45 +- .../comment/src/CommentStorageInterface.php | 10 +- core/modules/comment/src/CommentTypeForm.php | 45 +- .../comment/src/CommentViewBuilder.php | 2 +- .../src/Controller/CommentController.php | 2 +- core/modules/comment/src/Entity/Comment.php | 6 +- .../comment/src/Entity/CommentType.php | 4 + .../comment/src/Form/CommentAdminOverview.php | 5 +- .../src/Form/CommentTypeDeleteForm.php | 8 +- .../CommentSelection.php | 83 +- .../FieldFormatter/AuthorNameFormatter.php | 2 +- .../CommentDefaultFormatter.php | 2 +- .../CommentPermalinkFormatter.php | 2 +- .../Plugin/Field/FieldType/CommentItem.php | 45 +- .../Field/FieldWidget/CommentWidget.php | 16 +- .../migrate/destination/EntityComment.php | 10 +- .../src/Plugin/migrate/source/CommentType.php | 94 + .../src/Plugin/migrate/source/d6/Comment.php | 39 +- .../src/Plugin/migrate/source/d7/Comment.php | 9 +- .../source/d7/CommentEntityTranslation.php | 28 +- .../src/Plugin/views/argument/UserUid.php | 9 +- .../Plugin/views/field/NodeNewComments.php | 18 +- .../views/field/StatisticsLastCommentName.php | 10 + .../views/field/StatisticsLastUpdated.php | 5 + .../views/filter/StatisticsLastUpdated.php | 5 + .../src/Plugin/views/filter/UserUid.php | 5 +- .../comment/src/Plugin/views/row/Rss.php | 5 +- .../views/sort/StatisticsLastCommentName.php | 13 +- .../views/sort/StatisticsLastUpdated.php | 10 + .../comment/templates/comment.html.twig | 56 +- ...comment_display_configurable_test.info.yml | 5 + .../comment_display_configurable_test.module | 28 + .../comment_empty_title_test.module | 5 +- .../modules/comment_test/comment_test.module | 5 +- .../test_views/views.view.test_comment.yml | 2 +- .../views.view.test_comment_count.yml | 2 +- .../views.view.test_comment_field_name.yml | 2 +- .../views.view.test_comment_operations.yml | 2 +- .../views.view.test_comment_row.yml | 2 +- .../views.view.test_comment_rss.yml | 2 +- .../views.view.test_comment_schema.yml | 301 + .../views.view.test_comment_user_uid.yml | 2 +- .../views.view.test_field_filters.yml | 2 +- .../views.view.test_new_comments.yml | 2 +- .../d6_comment_test/d6_comment_test.info.yml | 7 + .../src/Plugin/migrate/source/d6/Comment.php | 25 + .../src/Functional/CommentActionsTest.php | 76 - .../tests/src/Functional/CommentAdminTest.php | 51 +- .../src/Functional/CommentAnonymousTest.php | 41 +- .../tests/src/Functional/CommentBlockTest.php | 18 +- .../tests/src/Functional/CommentBookTest.php | 17 +- .../tests/src/Functional/CommentCSSTest.php | 37 +- .../src/Functional/CommentCacheTagsTest.php | 16 +- .../CommentDisplayConfigurableTest.php | 85 + .../src/Functional/CommentEntityTest.php | 3 + .../src/Functional/CommentFieldsTest.php | 36 +- .../src/Functional/CommentInterfaceTest.php | 67 +- .../src/Functional/CommentLanguageTest.php | 30 +- .../src/Functional/CommentLinksAlterTest.php | 3 + .../tests/src/Functional/CommentLinksTest.php | 17 +- .../Functional/CommentNewIndicatorTest.php | 14 +- .../src/Functional/CommentNodeAccessTest.php | 19 +- .../src/Functional/CommentNonNodeTest.php | 84 +- .../tests/src/Functional/CommentPagerTest.php | 51 +- .../src/Functional/CommentPreviewTest.php | 96 +- .../tests/src/Functional/CommentRssTest.php | 4 +- .../src/Functional/CommentStatisticsTest.php | 29 +- .../CommentStatusFieldAccessTest.php | 10 +- .../tests/src/Functional/CommentTestBase.php | 35 +- .../src/Functional/CommentThreadingTest.php | 55 +- .../tests/src/Functional/CommentTitleTest.php | 33 +- .../Functional/CommentTokenReplaceTest.php | 11 +- .../Functional/CommentTranslationUITest.php | 26 +- .../tests/src/Functional/CommentTypeTest.php | 46 +- .../Rest/CommentResourceTestBase.php | 9 +- .../Rest/CommentTypeResourceTestBase.php | 5 +- .../src/Functional/Views/CommentAdminTest.php | 80 +- .../Views/CommentApproveLinkTest.php | 59 + .../src/Functional/Views/CommentEditTest.php | 6 +- .../Views/CommentFieldFilterTest.php | 13 +- .../Views/CommentOperationsTest.php | 12 +- .../src/Functional/Views/CommentRowTest.php | 6 +- .../src/Functional/Views/CommentTestBase.php | 10 +- .../Views/DefaultViewRecentCommentsTest.php | 17 +- .../src/Functional/Views/NodeCommentsTest.php | 4 +- .../tests/src/Functional/Views/RowRssTest.php | 4 +- .../tests/src/Functional/Views/WizardTest.php | 26 +- .../tests/src/Kernel/CommentActionsTest.php | 160 + .../tests/src/Kernel/CommentBaseFieldTest.php | 3 + .../tests/src/Kernel/CommentBundlesTest.php | 2 +- .../CommentDefaultFormatterCacheTagsTest.php | 25 +- .../src/Kernel/CommentFieldAccessTest.php | 26 +- .../src/Kernel/CommentIntegrationTest.php | 2 +- .../tests/src/Kernel/CommentItemTest.php | 5 +- .../tests/src/Kernel/CommentOrphanTest.php | 3 +- .../Kernel/CommentStringIdEntitiesTest.php | 3 + .../src/Kernel/CommentValidationTest.php | 28 +- .../d6/MigrateCommentEntityDisplayTest.php | 4 +- ...ateCommentEntityFormDisplaySubjectTest.php | 8 +- .../MigrateCommentEntityFormDisplayTest.php | 4 +- .../d6/MigrateCommentFieldInstanceTest.php | 12 +- .../Migrate/d6/MigrateCommentFieldTest.php | 4 +- .../Migrate/d6/MigrateCommentTypeTest.php | 102 +- ...EntityTranslationCheckRequirementsTest.php | 56 + .../d7/MigrateCommentEntityDisplayTest.php | 4 +- ...ateCommentEntityFormDisplaySubjectTest.php | 8 +- .../MigrateCommentEntityFormDisplayTest.php | 4 +- .../d7/MigrateCommentFieldInstanceTest.php | 10 +- .../Migrate/d7/MigrateCommentFieldTest.php | 4 +- .../Kernel/Migrate/d7/MigrateCommentTest.php | 7 +- .../Migrate/d7/MigrateCommentTypeTest.php | 100 +- .../source/CommentTypeRequirementsTest.php | 85 + .../Plugin/migrate/source/CommentTypeTest.php | 163 + .../d6/CommentSourceWithHighWaterTest.php | 6 +- .../Plugin/migrate/source/d6/CommentTest.php | 22 +- .../src/Kernel/Views/CommentAdminViewTest.php | 19 +- .../src/Kernel/Views/CommentFieldNameTest.php | 2 +- .../src/Kernel/Views/CommentLinksTest.php | 12 +- .../src/Kernel/Views/CommentUserNameTest.php | 13 +- .../Views/CommentViewsKernelTestBase.php | 15 +- .../tests/src/Unit/CommentLinkBuilderTest.php | 2 +- .../tests/src/Unit/CommentManagerTest.php | 10 +- .../src/Unit/CommentStatisticsUnitTest.php | 12 +- .../tests/src/Unit/Entity/CommentLockTest.php | 26 +- .../views/field/CommentBulkFormTest.php | 12 +- .../src/Form/ConfigSingleExportForm.php | 7 +- .../src/Form/ConfigSingleImportForm.php | 48 +- core/modules/config/src/Form/ConfigSync.php | 50 +- .../config_clash_test_theme.info.yml | 2 +- .../config_entity_static_cache_test.module | 2 +- .../src/EventSubscriber.php | 2 + .../config_install_dependency_test.module | 2 +- .../block.block.config_override_test.yml | 22 +- .../install/block.block.call_to_action.yml | 8 +- .../src/ConfigOverrider.php | 1 + .../install/config_schema_test.ignore.yml | 4 +- .../install/config_schema_test.noschema.yml | 4 +- .../install/config_schema_test.someschema.yml | 4 +- .../schema/config_schema_test.schema.yml | 15 + .../config/install/config_test.types.yml | 6 +- .../config/schema/config_test.schema.yml | 43 +- .../tests/config_test/config_test.module | 4 +- .../tests/config_test/src/ConfigTestForm.php | 1 + .../src/SchemaListenerController.php | 2 +- .../Rest/ConfigTestResourceTestBase.php | 5 +- ...yMetadataConfigOverrideIntegrationTest.php | 6 +- .../Functional/ConfigDependencyWebTest.php | 26 +- .../ConfigDraggableListBuilderTest.php | 2 +- .../ConfigEntityFormOverrideTest.php | 16 +- .../src/Functional/ConfigEntityListTest.php | 52 +- .../Functional/ConfigEntityStatusUITest.php | 3 +- .../tests/src/Functional/ConfigEntityTest.php | 127 +- .../Functional/ConfigExportImportUITest.php | 66 +- .../src/Functional/ConfigExportUITest.php | 11 +- .../src/Functional/ConfigFormOverrideTest.php | 9 +- .../src/Functional/ConfigImportAllTest.php | 29 +- .../ConfigImportInstallProfileTest.php | 22 +- .../src/Functional/ConfigImportUITest.php | 197 +- .../src/Functional/ConfigImportUploadTest.php | 10 +- .../ConfigInstallProfileOverrideTest.php | 17 +- ...figInstallProfileUnmetDependenciesTest.php | 3 + .../src/Functional/ConfigInstallWebTest.php | 70 +- .../ConfigLanguageOverrideWebTest.php | 9 +- .../src/Functional/ConfigOtherModuleTest.php | 9 +- .../ConfigSingleImportExportTest.php | 110 +- .../LanguageNegotiationFormOverrideTest.php | 7 +- .../SchemaConfigListenerWebTest.php | 4 +- .../TransformedConfigExportImportUITest.php | 43 +- .../FunctionalJavascript/ConfigExportTest.php | 49 + .../ConfigUninstallViaCliImportTest.php | 6 +- .../Traits/AssertConfigEntityImportTrait.php | 2 +- .../src/Unit/Menu/ConfigLocalTasksTest.php | 3 + .../config_translation.module | 2 +- .../migrations/d6_block_translation.yml | 2 + ...instance_label_description_translation.yml | 5 +- .../d6_field_instance_option_translation.yml | 3 +- .../d6_field_option_translation.yml | 3 +- .../d6_profile_field_option_translation.yml | 3 +- .../d6_system_maintenance_translation.yml | 4 + .../migrations/d6_system_site_translation.yml | 4 + .../d6_taxonomy_vocabulary_translation.yml | 2 + .../migrations/d6_user_mail_translation.yml | 4 + ...ser_profile_field_instance_translation.yml | 2 +- .../d6_user_settings_translation.yml | 4 + .../migrations/d7_block_translation.yml | 5 +- ...instance_label_description_translation.yml | 8 +- .../d7_field_instance_option_translation.yml | 7 +- .../d7_field_option_translation.yml | 1 + .../migrations/d7_menu_translation.yml | 2 + .../d7_system_maintenance_translation.yml | 4 + .../migrations/d7_system_site_translation.yml | 12 +- .../d7_taxonomy_vocabulary_translation.yml | 2 + .../migrations/d7_user_mail_translation.yml | 4 + .../d7_user_settings_translation.yml | 4 + .../config_translation.migrate_drupal.yml | 26 +- .../src/ConfigEntityMapper.php | 4 +- .../src/ConfigNamesMapper.php | 6 +- .../ConfigTranslationMapperList.php | 4 +- .../src/Form/ConfigTranslationAddForm.php | 1 - .../src/Form/ConfigTranslationFormBase.php | 5 +- .../src/FormElement/ListElement.php | 2 +- .../src/FormElement/PluralVariants.php | 4 +- .../src/FormElement/Textarea.php | 10 +- .../source/d6/ProfileFieldTranslation.php | 11 +- .../Functional/ConfigTranslationCacheTest.php | 13 +- .../ConfigTranslationDateFormatUiTest.php | 3 + .../ConfigTranslationInstallTest.php | 9 +- .../ConfigTranslationListUiTest.php | 43 +- .../ConfigTranslationOverviewTest.php | 27 +- .../Functional/ConfigTranslationUiTest.php | 277 +- .../ConfigTranslationUiThemeTest.php | 10 +- .../ConfigTranslationViewListUiTest.php | 67 +- ...igrateSystemMaintenanceTranslationTest.php | 10 +- .../d6/MigrateSystemSiteTranslationTest.php | 34 +- .../d6/MigrateUserConfigsTranslationTest.php | 66 +- ...serProfileFieldInstanceTranslationTest.php | 1 + ...rateUserProfileTranslationRollbackTest.php | 66 + ...igrateSystemMaintenanceTranslationTest.php | 6 +- .../d7/MigrateSystemSiteTranslationTest.php | 18 +- .../d7/MigrateUserConfigsTranslationTest.php | 3 + .../tests/src/Unit/ConfigEntityMapperTest.php | 27 +- .../tests/src/Unit/ConfigFieldMapperTest.php | 12 +- .../src/Unit/ConfigMapperManagerTest.php | 11 +- .../tests/src/Unit/ConfigNamesMapperTest.php | 22 +- .../config_translation_test_theme.info.yml | 2 +- core/modules/contact/contact.links.task.yml | 7 + core/modules/contact/contact.module | 10 +- .../contact/src/ContactFormInterface.php | 6 +- .../contact/src/Entity/ContactForm.php | 4 + core/modules/contact/src/MailHandler.php | 2 +- core/modules/contact/src/MessageForm.php | 1 + .../Plugin/migrate/source/ContactCategory.php | 7 +- .../Plugin/migrate/source/ContactSettings.php | 7 + .../tests/drupal-7.contact.database.php | 12 +- .../contact_storage_test.module | 2 +- .../config/install/contact.form.feedback.yml | 4 +- .../views.view.test_contact_link.yml | 2 +- .../src/Functional/ContactLanguageTest.php | 3 +- .../src/Functional/ContactPersonalTest.php | 51 +- .../src/Functional/ContactSitewideTest.php | 187 +- .../src/Functional/ContactStorageTest.php | 20 +- .../Rest/ContactFormResourceTestBase.php | 5 +- .../src/Functional/Views/ContactLinkTest.php | 22 +- .../tests/src/Kernel/MessageEntityTest.php | 23 +- .../Migrate/MigrateContactCategoryTest.php | 12 +- .../Migrate/d6/MigrateContactSettingsTest.php | 4 +- .../Migrate/d7/MigrateContactSettingsTest.php | 4 +- .../migrate/source/d6/ContactSettingsTest.php | 4 +- .../tests/src/Unit/MailHandlerTest.php | 4 +- .../optional/views.view.moderated_content.yml | 352 +- .../content_moderation.links.task.yml | 6 - .../content_moderation.routing.yml | 1 + .../src/Entity/ContentModerationState.php | 8 +- .../content_moderation/src/EntityTypeInfo.php | 17 +- .../Form/ContentModerationConfigureForm.php | 6 +- .../content_moderation/src/Permissions.php | 14 +- .../Plugin/Derivative/DynamicLocalTasks.php | 27 +- .../Field/ModerationStateFieldItemList.php | 9 + .../Plugin/WorkflowType/ContentModeration.php | 4 +- .../views/filter/ModerationStateFilter.php | 4 +- .../ContentModerationRouteSubscriber.php | 2 +- .../content_moderation/src/ViewsData.php | 2 +- .../content_moderation_test_resave.info.yml | 7 + .../content_moderation_test_resave.install | 15 + .../content_moderation_test_resave.module | 30 + .../config/install/views.view.latest.yml | 166 +- ...st_content_moderation_field_state_test.yml | 118 +- ...ent_moderation_filter_via_relationship.yml | 132 +- ...ent_moderation_state_filter_base_table.yml | 138 +- ...tate_filter_base_table_filter_group_or.yml | 152 +- ...e_filter_base_table_filter_on_revision.yml | 134 +- ...nt_moderation_state_filter_entity_test.yml | 102 +- ...moderation_state_filter_revision_table.yml | 162 +- ...ntent_moderation_state_sort_base_table.yml | 190 +- ...t_moderation_state_sort_revision_table.yml | 190 +- .../content_moderation_test_views.module | 5 - .../ContentModerationWorkflowTypeTest.php | 5 +- .../Functional/DefaultModerationStateTest.php | 14 +- .../ModeratedContentLocalTaskTest.php | 71 + .../Functional/ModeratedContentViewTest.php | 2 +- .../src/Functional/ModerationActionsTest.php | 15 +- .../ModerationContentTranslationTest.php | 6 +- .../src/Functional/ModerationFormTest.php | 102 +- .../src/Functional/ModerationLocaleTest.php | 139 +- .../ModerationRevisionRevertTest.php | 13 +- .../Functional/ModerationStateAccessTest.php | 2 +- .../Functional/ModerationStateBlockTest.php | 41 +- .../Functional/ModerationStateNodeTest.php | 51 +- .../ModerationStateNodeTypeTest.php | 12 +- .../Functional/ModerationStateTestBase.php | 5 +- .../tests/src/Functional/NodeAccessTest.php | 8 +- .../ViewsModerationStateFilterTest.php | 98 +- ...kspaceContentModerationIntegrationTest.php | 24 +- .../Kernel/ContentModerationAccessTest.php | 9 +- .../ContentModerationPermissionsTest.php | 73 +- .../Kernel/ContentModerationResaveTest.php | 107 + ...ontentModerationStateStorageSchemaTest.php | 6 +- .../src/Kernel/ContentModerationStateTest.php | 38 +- .../Kernel/ContentModerationSyncingTest.php | 11 +- .../ContentModerationWorkflowConfigTest.php | 11 +- .../src/Kernel/DefaultRevisionStateTest.php | 6 +- .../EntityStateChangeValidationTest.php | 12 +- .../tests/src/Kernel/EntityTypeInfoTest.php | 4 +- .../ModerationStateFieldItemListTest.php | 48 +- .../src/Kernel/ModerationStateWidgetTest.php | 2 +- .../tests/src/Kernel/StateFormatterTest.php | 4 +- .../Kernel/ViewsModerationStateFilterTest.php | 10 +- .../Kernel/ViewsModerationStateSortTest.php | 8 +- .../WorkspacesContentModerationStateTest.php | 14 +- .../ContentModerationRouteSubscriberTest.php | 4 +- .../src/Unit/LatestRevisionCheckTest.php | 2 +- .../content_translation.admin.es6.js | 40 +- .../content_translation.admin.inc | 2 +- .../content_translation.admin.js | 18 +- .../content_translation.libraries.yml | 3 +- .../content_translation.module | 15 +- .../d6_entity_reference_translation.yml | 3 + .../d6_language_content_comment_settings.yml | 1 + .../migrations/d6_menu_links_localized.yml | 69 + ...d6_taxonomy_term_localized_translation.yml | 1 + .../d6_taxonomy_term_translation.yml | 1 + .../migrations/d6_term_node_translation.yml | 1 + .../d7_entity_reference_translation.yml | 3 + .../d7_entity_translation_settings.yml | 2 + .../d7_language_content_comment_settings.yml | 16 +- ...d7_taxonomy_term_localized_translation.yml | 1 + .../d7_taxonomy_term_translation.yml | 13 +- .../node_translation_menu_links.yml | 4 + .../content_translation.migrate_drupal.yml | 26 +- .../statistics_node_translation_counter.yml | 1 + .../ContentTranslationManageAccessCheck.php | 6 +- .../ContentTranslationOverviewAccess.php | 2 +- .../src/ContentTranslationHandler.php | 13 +- .../ContentTranslationHandlerInterface.php | 3 +- .../src/ContentTranslationPermissions.php | 47 +- .../ContentTranslationController.php | 8 +- .../src/FieldTranslationSynchronizer.php | 4 +- .../ContentTranslationContextualLinks.php | 5 +- ...ranslationSynchronizedFieldsConstraint.php | 15 +- .../Plugin/migrate/source/I18nQueryTrait.php | 2 +- .../source/d7/EntityTranslationSettings.php | 25 +- ...ews.view.test_entity_translations_link.yml | 2 +- .../ContentTestTranslationUITest.php | 13 +- .../ContentTranslationContextualLinksTest.php | 8 +- .../ContentTranslationDisableSettingTest.php | 8 +- .../ContentTranslationEnableTest.php | 20 +- .../ContentTranslationEntityBundleUITest.php | 9 +- .../ContentTranslationLanguageChangeTest.php | 15 +- .../ContentTranslationLinkTagTest.php | 17 +- .../ContentTranslationMetadataFieldsTest.php | 24 +- .../ContentTranslationOperationsTest.php | 5 +- ...slationOutdatedRevisionTranslationTest.php | 10 +- ...tentTranslationPendingRevisionTestBase.php | 3 +- ...slationRevisionTranslationDeletionTest.php | 10 +- .../ContentTranslationSettingsTest.php | 82 +- .../ContentTranslationStandardFieldsTest.php | 2 +- .../ContentTranslationSyncImageTest.php | 13 +- .../Functional/ContentTranslationTestBase.php | 3 + .../ContentTranslationUISkipTest.php | 4 +- .../ContentTranslationUITestBase.php | 102 +- ...entTranslationUntranslatableFieldsTest.php | 67 +- .../ContentTranslationWorkflowsTest.php | 16 +- .../Functional/Views/TranslationLinkTest.php | 3 + .../ContentTranslationConfigImportTest.php | 5 +- ...ontentTranslationFieldSyncRevisionTest.php | 12 +- .../Kernel/ContentTranslationHandlerTest.php | 6 + .../ContentTranslationModuleInstallTest.php | 2 +- .../ContentTranslationPermissionsTest.php | 57 + .../Kernel/ContentTranslationSyncUnitTest.php | 7 +- .../d6/MigrateTaxonomyTermTranslationTest.php | 23 +- .../MigrateEntityTranslationSettingsTest.php | 1 + ...ontentTranslationManageAccessCheckTest.php | 30 +- .../Menu/ContentTranslationLocalTasksTest.php | 16 +- .../contextual/contextual.libraries.yml | 15 +- core/modules/contextual/contextual.module | 36 +- core/modules/contextual/js/contextual.es6.js | 44 +- core/modules/contextual/js/contextual.js | 43 +- .../contextual/js/contextual.toolbar.es6.js | 7 +- .../contextual/js/contextual.toolbar.js | 6 +- .../contextual/js/models/StateModel.es6.js | 3 + .../contextual/js/models/StateModel.js | 4 - .../js/toolbar/models/StateModel.es6.js | 4 + .../js/toolbar/models/StateModel.js | 1 - .../js/toolbar/views/AuralView.es6.js | 4 + .../contextual/js/toolbar/views/AuralView.js | 5 - .../js/toolbar/views/VisualView.es6.js | 4 + .../contextual/js/toolbar/views/VisualView.js | 2 - .../contextual/js/views/AuralView.es6.js | 27 +- core/modules/contextual/js/views/AuralView.js | 13 +- .../contextual/js/views/KeyboardView.es6.js | 4 + .../contextual/js/views/KeyboardView.js | 1 - .../contextual/js/views/RegionView.es6.js | 40 +- .../modules/contextual/js/views/RegionView.js | 28 +- .../contextual/js/views/VisualView.es6.js | 42 +- .../modules/contextual/js/views/VisualView.js | 30 +- .../contextual/src/ContextualController.php | 2 + .../src/Element/ContextualLinks.php | 10 +- .../optional/views.view.contextual_recent.yml | 204 +- .../ContextualDynamicContextTest.php | 39 +- .../ContextualLinksTest.php | 25 +- .../src/FunctionalJavascript/EditModeTest.php | 10 +- .../tests/src/Kernel/ContextualUnitTest.php | 91 +- .../config/schema/datetime.schema.yml | 4 +- .../modules/datetime/src/DateTimeComputed.php | 5 + .../DateTimeCustomFormatter.php | 2 +- .../DateTimeDefaultFormatter.php | 6 +- .../FieldFormatter/DateTimePlainFormatter.php | 2 +- .../Field/FieldType/DateTimeFieldItemList.php | 16 +- .../Plugin/Field/FieldType/DateTimeItem.php | 15 +- .../FieldWidget/DateTimeDatelistWidget.php | 30 +- .../Field/FieldWidget/DateTimeWidgetBase.php | 14 +- .../DateTimeFormatConstraintValidator.php | 2 +- .../src/Plugin/migrate/field/DateField.php | 36 + .../src/Plugin/views/argument/Date.php | 2 +- .../views.view.test_argument_datetime.yml | 2 +- ...iews.view.test_exposed_filter_datetime.yml | 2 +- .../views.view.test_filter_datetime.yml | 2 +- .../views.view.test_sort_datetime.yml | 2 +- .../tests/src/Functional/DateFilterTest.php | 17 +- .../tests/src/Functional/DateTestBase.php | 5 +- .../src/Functional/DateTimeFieldTest.php | 99 +- .../src/Functional/DateTimeWidgetTest.php | 104 + .../EntityTest/EntityTestDateonlyTest.php | 2 +- .../EntityTest/EntityTestDatetimeTest.php | 2 +- .../src/Functional/Views/FilterDateTest.php | 136 +- .../tests/src/Kernel/DateTimeItemTest.php | 37 +- .../src/Kernel/Views/ArgumentDateTimeTest.php | 14 +- .../Kernel/Views/DateTimeHandlerTestBase.php | 7 + .../src/Kernel/Views/DateTimeSchemaTest.php | 2 +- .../tests/src/Kernel/Views/FilterDateTest.php | 4 +- .../src/Kernel/Views/FilterDateTimeTest.php | 8 +- .../Plugin/migrate/field/DateFieldTest.php | 65 +- .../FieldType/DateRangeFieldItemList.php | 2 +- .../src/Functional/DateRangeFieldTest.php | 193 +- .../EntityTest/EntityTestDateRangeTest.php | 2 +- .../src/Kernel/SeparatorTranslationTest.php | 2 - .../Views/EntityTypeWithoutViewsDataTest.php | 2 +- .../tests/src/Kernel/Views/FilterDateTest.php | 2 +- .../config/optional/views.view.watchdog.yml | 351 +- core/modules/dblog/dblog.module | 4 +- .../dblog/src/Controller/DbLogController.php | 58 +- .../src/Form/DblogClearLogConfirmForm.php | 2 +- .../dblog/src/Form/DblogFilterForm.php | 14 +- core/modules/dblog/src/Logger/DbLog.php | 4 +- .../Plugin/rest/resource/DBLogResource.php | 2 +- .../src/Plugin/views/filter/DblogTypes.php | 9 + .../views.view.dblog_integration_test.yml | 2 +- .../test_views/views.view.test_dblog.yml | 2 +- .../dblog/tests/src/Functional/DbLogTest.php | 209 +- .../tests/src/Functional/DbLogViewsTest.php | 13 +- .../src/Kernel/ConnectionFailureTest.php | 2 +- .../tests/src/Kernel/DbLogControllerTest.php | 3 + .../dblog/tests/src/Kernel/DbLogTest.php | 16 +- .../Migrate/d6/MigrateDblogConfigsTest.php | 9 +- .../Migrate/d7/MigrateDblogConfigsTest.php | 2 +- .../src/Kernel/Views/ViewsIntegrationTest.php | 10 +- .../DynamicPageCacheIntegrationTest.php | 9 +- core/modules/editor/editor.admin.inc | 4 +- core/modules/editor/editor.libraries.yml | 17 +- core/modules/editor/editor.module | 70 +- core/modules/editor/editor.routing.yml | 12 - core/modules/editor/js/editor.admin.es6.js | 151 +- core/modules/editor/js/editor.admin.js | 138 +- core/modules/editor/js/editor.dialog.js | 1 - core/modules/editor/js/editor.es6.js | 105 +- core/modules/editor/js/editor.js | 84 +- .../src/Ajax/GetUntransformedTextCommand.php | 10 +- core/modules/editor/src/EditorController.php | 31 - core/modules/editor/src/Entity/Editor.php | 15 +- .../editor/src/Form/EditorImageDialog.php | 8 +- .../editor/src/Form/EditorLinkDialog.php | 10 +- .../src/Plugin/InPlaceEditor/Editor.php | 15 +- .../install/editor.editor.private_images.yml | 34 - .../install/editor.editor.private_images.yml | 17 + .../install/filter.format.private_images.yml | 12 +- .../editor_private_test.info.yml | 2 +- .../config/schema/editor_test.schema.yml | 0 .../{ => editor_test}/editor_test.info.yml | 2 + .../editor_test.libraries.yml | 0 .../{ => editor_test}/editor_test.module | 36 + .../src/EditorXssFilter/Insecure.php | 0 .../src/Plugin/Editor/TRexEditor.php | 2 +- .../src/Plugin/Editor/UnicornEditor.php | 18 +- .../FieldType/EditorTestTextLongItem.php | 21 + .../tests/src/Functional/EditorAdminTest.php | 61 +- .../src/Functional/EditorDialogAccessTest.php | 21 +- .../src/Functional/EditorLoadingTest.php | 81 +- .../EditorPrivateFileReferenceFilterTest.php | 6 +- .../src/Functional/EditorSecurityTest.php | 50 +- .../Functional/EditorUploadImageScaleTest.php | 77 +- .../Rest/EditorResourceTestBase.php | 57 +- .../FunctionalJavascript/EditorAdminTest.php | 37 +- .../Kernel/EditorFileReferenceFilterTest.php | 28 +- .../tests/src/Kernel/EditorFileUsageTest.php | 66 +- .../EditorGetUntransformedTextCommandTest.php | 24 + .../src/Kernel/EditorImageDialogTest.php | 6 +- .../tests/src/Kernel/EditorManagerTest.php | 17 +- .../tests/src/Kernel/EntityUpdateTest.php | 68 + .../src/Unit/EditorConfigEntityUnitTest.php | 16 +- .../src/Unit/EditorXssFilter/StandardTest.php | 13 +- .../entity_reference.info.yml | 4 +- .../entity_reference/entity_reference.install | 26 - core/modules/field/field.api.php | 152 +- core/modules/field/field.module | 4 +- core/modules/field/field.purge.inc | 16 - core/modules/field/migrations/d6_field.yml | 5 +- .../d6_field_formatter_settings.yml | 234 +- .../d6_field_instance_widget_settings.yml | 3 +- .../d7_field_formatter_settings.yml | 18 +- .../field/migrations/d7_field_instance.yml | 7 +- .../d7_field_instance_widget_settings.yml | 17 +- .../migrations/state/field.migrate_drupal.yml | 4 + core/modules/field/src/Entity/FieldConfig.php | 9 +- .../field/src/Entity/FieldStorageConfig.php | 3 + .../field/src/EntityDisplayRebuilder.php | 1 - core/modules/field/src/FieldConfigStorage.php | 2 +- .../field/src/FieldStorageConfigStorage.php | 4 +- .../field/src/FieldUninstallValidator.php | 14 +- .../field/src/Plugin/migrate/field/Email.php | 2 + .../migrate/field/d7/EntityReference.php | 2 + .../d6/FieldFormatterSettingsDefaults.php | 2 +- .../process/d6/FieldInstanceDefaults.php | 4 +- .../d6/FieldInstanceOptionTranslation.php | 4 +- .../process/d6/FieldInstanceSettings.php | 6 +- .../d6/FieldInstanceWidgetSettings.php | 12 +- .../process/d6/FieldOptionTranslation.php | 2 +- .../migrate/process/d6/FieldSettings.php | 10 +- .../Plugin/migrate/process/d7/FieldBundle.php | 113 + .../process/d7/FieldInstanceDefaults.php | 7 +- .../d7/FieldInstanceOptionTranslation.php | 2 +- .../process/d7/FieldInstanceSettings.php | 42 +- .../process/d7/FieldOptionTranslation.php | 10 +- .../migrate/process/d7/FieldSettings.php | 4 + .../src/Plugin/migrate/source/d6/Field.php | 10 +- .../migrate/source/d6/FieldInstance.php | 23 +- .../d6/FieldInstanceOptionTranslation.php | 9 +- .../source/d6/FieldInstancePerFormDisplay.php | 9 +- .../source/d6/FieldInstancePerViewMode.php | 9 +- .../d6/FieldLabelDescriptionTranslation.php | 9 +- .../source/d6/FieldOptionTranslation.php | 11 +- .../src/Plugin/migrate/source/d7/Field.php | 15 +- .../migrate/source/d7/FieldInstance.php | 65 +- .../source/d7/FieldInstancePerFormDisplay.php | 8 +- .../source/d7/FieldInstancePerViewMode.php | 8 +- .../d7/FieldLabelDescriptionTranslation.php | 11 +- .../source/d7/FieldOptionTranslation.php | 12 +- .../src/Plugin/migrate/source/d7/ViewMode.php | 7 +- .../ProxyClass/FieldUninstallValidator.php | 2 +- .../TestTextTrimmedFormatter.php | 3 - .../config/schema/field_test.schema.yml | 4 +- .../modules/field_test/field_test.entity.inc | 2 +- .../modules/field_test/field_test.module | 39 +- .../TestFieldDefaultFormatter.php | 4 +- .../TestFieldEmptySettingFormatter.php | 4 +- .../TestFieldMultipleFormatter.php | 4 +- .../TestFieldPrepareViewFormatter.php | 4 +- .../src/Plugin/Field/FieldType/TestItem.php | 13 +- .../TestItemWithPreconfiguredOptions.php | 5 +- .../Field/FieldWidget/TestFieldWidget.php | 8 +- .../FieldWidget/TestFieldWidgetMultiple.php | 18 +- ...ity_test.entity_test.field_test_import.yml | 10 +- ...y_test.entity_test.field_test_import_2.yml | 10 +- ...y_test.test_bundle.field_test_import_2.yml | 10 +- ....storage.entity_test.field_test_import.yml | 10 +- ...torage.entity_test.field_test_import_2.yml | 10 +- .../views.view.test_view_field_delete.yml | 2 +- .../views.view.test_view_fieldapi.yml | 2 +- .../Functional/Boolean/BooleanFieldTest.php | 37 +- .../Boolean/BooleanFormatterSettingsTest.php | 11 +- .../src/Functional/Email/EmailFieldTest.php | 9 +- .../EntityReferenceAdminTest.php | 84 +- .../EntityReferenceAutoCreateTest.php | 51 +- .../EntityReferenceFieldDefaultValueTest.php | 17 +- ...erenceFieldTranslatedReferenceViewTest.php | 38 +- .../EntityReferenceFileUploadTest.php | 10 +- .../EntityReferenceIntegrationTest.php | 28 +- .../EntityReferenceXSSTest.php | 2 +- .../EntityReference/Views/SelectionTest.php | 2 +- .../tests/src/Functional/FieldAccessTest.php | 9 +- .../FieldDefaultValueCallbackTest.php | 2 +- .../tests/src/Functional/FieldHelpTest.php | 15 +- .../FieldImportDeleteUninstallUiTest.php | 16 +- .../tests/src/Functional/FieldTestBase.php | 6 +- .../field/tests/src/Functional/FormTest.php | 111 +- .../tests/src/Functional/NestedFormTest.php | 43 +- .../src/Functional/Number/NumberFieldTest.php | 63 +- .../Functional/ReEnableModuleFieldTest.php | 20 +- .../Rest/FieldConfigResourceTestBase.php | 7 +- .../FieldStorageConfigResourceTestBase.php | 16 +- .../src/Functional/String/StringFieldTest.php | 9 +- .../src/Functional/TranslationWebTest.php | 8 +- .../src/Functional/Views/FieldTestBase.php | 13 +- .../src/Functional/Views/FieldUITest.php | 62 +- .../Boolean/BooleanFormatterSettingsTest.php | 4 +- .../EntityReferenceAdminTest.php | 166 +- .../Number/NumberFieldTest.php | 28 +- .../Kernel/Boolean/BooleanFormatterTest.php | 2 +- .../src/Kernel/Boolean/BooleanItemTest.php | 8 +- .../field/tests/src/Kernel/BulkDeleteTest.php | 21 +- .../field/tests/src/Kernel/DisplayApiTest.php | 7 +- .../tests/src/Kernel/Email/EmailItemTest.php | 11 +- ...qlContentEntityStorageSchemaColumnTest.php | 16 +- .../EntityReferenceFormatterTest.php | 74 +- .../EntityReferenceItemTest.php | 94 +- .../EntityReferenceSettingsTest.php | 6 +- .../Views/EntityReferenceRelationshipTest.php | 114 +- .../EntityReference/Views/SelectionTest.php | 6 +- .../tests/src/Kernel/FieldAttachOtherTest.php | 35 +- .../src/Kernel/FieldAttachStorageTest.php | 31 +- .../field/tests/src/Kernel/FieldCrudTest.php | 37 +- .../tests/src/Kernel/FieldDataCountTest.php | 19 +- .../src/Kernel/FieldImportChangeTest.php | 2 +- .../src/Kernel/FieldImportDeleteTest.php | 12 +- .../Kernel/FieldImportDeleteUninstallTest.php | 21 +- .../tests/src/Kernel/FieldKernelTestBase.php | 9 +- .../tests/src/Kernel/FieldStorageCrudTest.php | 54 +- .../src/Kernel/FieldTypePluginManagerTest.php | 12 +- .../tests/src/Kernel/FieldValidationTest.php | 9 +- .../src/Kernel/FormatterPluginManagerTest.php | 6 +- .../d6/MigrateFieldFormatterSettingsTest.php | 86 +- ...rateFieldInstanceOptionTranslationTest.php | 10 +- .../Migrate/d6/MigrateFieldInstanceTest.php | 52 +- .../Kernel/Migrate/d6/MigrateFieldTest.php | 54 +- .../d6/MigrateFieldWidgetSettingsTest.php | 54 +- .../d7/MigrateFieldFormatterSettingsTest.php | 23 +- ...grateFieldInstanceLabelDescriptionTest.php | 1 + ...rateFieldInstanceOptionTranslationTest.php | 87 + .../Migrate/d7/MigrateFieldInstanceTest.php | 53 +- ...MigrateFieldInstanceWidgetSettingsTest.php | 29 +- .../d7/MigrateFieldOptionTranslationTest.php | 55 +- .../Kernel/Migrate/d7/MigrateFieldTest.php | 61 +- .../Migrate/d7/MigrateViewModesTest.php | 8 +- .../src/Kernel/Number/NumberItemTest.php | 48 +- .../d6/FieldInstancePerFormDisplayTest.php | 2 + .../Plugin/migrate/source/d7/FieldTest.php | 16 +- .../field/tests/src/Kernel/ShapeItemTest.php | 21 +- .../src/Kernel/String/StringFormatterTest.php | 44 + .../src/Kernel/String/UuidFormatterTest.php | 8 +- .../field/tests/src/Kernel/TestItemTest.php | 15 +- .../Kernel/TestItemWithDependenciesTest.php | 2 +- .../Timestamp/TimestampFormatterTest.php | 2 +- .../tests/src/Kernel/TranslationTest.php | 6 +- .../src/Kernel/WidgetPluginManagerTest.php | 6 +- .../src/Unit/FieldConfigEntityUnitTest.php | 66 +- ...dStorageConfigAccessControlHandlerTest.php | 26 +- .../Unit/FieldStorageConfigEntityUnitTest.php | 4 +- .../src/Unit/FieldUninstallValidatorTest.php | 4 +- .../migrate/process/ProcessFieldTest.php | 29 +- .../process/d6/FieldInstanceSettingsTest.php | 81 + .../field_layout/field_layout.info.yml | 1 + core/modules/field_layout/field_layout.module | 2 +- .../tests/src/Functional/FieldLayoutTest.php | 4 +- .../FunctionalJavascript/FieldLayoutTest.php | 22 +- .../Kernel/FieldLayoutEntityDisplayTest.php | 9 +- .../tests/src/Unit/FieldLayoutBuilderTest.php | 2 + core/modules/field_ui/field_ui.es6.js | 127 +- core/modules/field_ui/field_ui.js | 92 +- core/modules/field_ui/field_ui.libraries.yml | 3 +- core/modules/field_ui/field_ui.module | 2 +- core/modules/field_ui/field_ui.services.yml | 10 +- .../field_ui/src/Element/FieldUiTable.php | 7 +- .../src/FieldStorageConfigListBuilder.php | 3 + .../field_ui/src/FieldUiPermissions.php | 5 + .../src/Form/EntityDisplayFormBase.php | 10 +- .../src/Form/EntityFormDisplayEditForm.php | 25 +- .../src/Form/EntityViewDisplayEditForm.php | 25 +- .../field_ui/src/Form/FieldConfigEditForm.php | 1 + .../field_ui/src/Form/FieldStorageAddForm.php | 10 +- .../src/Form/FieldStorageConfigEditForm.php | 7 +- .../Plugin/Derivative/FieldUiLocalAction.php | 5 + .../src/Routing/FieldUiRouteEnhancer.php | 58 +- .../src/Functional/EntityDisplayModeTest.php | 31 +- .../src/Functional/FieldUIDeleteTest.php | 14 +- .../src/Functional/FieldUIIndentationTest.php | 2 +- .../tests/src/Functional/FieldUIRouteTest.php | 15 +- .../src/Functional/ManageDisplayTest.php | 78 +- .../Functional/ManageFieldsFunctionalTest.php | 230 +- .../EntityDisplayTest.php | 6 +- .../ManageDisplayTest.php | 28 +- .../tests/src/Kernel/EntityDisplayTest.php | 133 +- .../src/Kernel/EntityFormDisplayTest.php | 33 +- .../src/Kernel/FieldUiRouteEnhancerTest.php | 32 + .../tests/src/Traits/FieldUiTestTrait.php | 27 +- .../src/Unit/FieldUiRouteEnhancerTest.php | 26 + .../tests/src/Unit/FieldUiTableTest.php | 90 + .../file/config/optional/views.view.files.yml | 502 +- .../file/config/schema/file.views.schema.yml | 24 - core/modules/file/file.api.php | 56 +- core/modules/file/file.es6.js | 36 +- core/modules/file/file.field.inc | 24 +- core/modules/file/file.install | 4 +- core/modules/file/file.js | 19 +- core/modules/file/file.libraries.yml | 3 +- core/modules/file/file.module | 472 +- core/modules/file/file.post_update.php | 42 + core/modules/file/file.services.yml | 6 + core/modules/file/file.views.inc | 2 +- core/modules/file/migrations/d6_file.yml | 34 +- .../file/migrations/d6_upload_field.yml | 2 +- core/modules/file/migrations/d7_file.yml | 24 +- .../migrations/state/file.migrate_drupal.yml | 1 + core/modules/file/src/ComputedFileUrl.php | 4 +- core/modules/file/src/Element/ManagedFile.php | 17 +- core/modules/file/src/Entity/File.php | 29 +- .../file/src/FileAccessControlHandler.php | 2 +- core/modules/file/src/FileInterface.php | 12 +- core/modules/file/src/FileRepository.php | 223 + .../file/src/FileRepositoryInterface.php | 157 + core/modules/file/src/FileStorage.php | 4 +- .../modules/file/src/FileStorageInterface.php | 4 +- .../FileUsage/DatabaseFileUsageBackend.php | 4 +- core/modules/file/src/FileViewsData.php | 8 +- .../FileSelection.php | 3 +- .../BaseFieldFileFormatterBase.php | 71 +- .../FieldFormatter/FileMediaFormatterBase.php | 2 +- .../Field/FieldFormatter/FileUriFormatter.php | 5 +- .../FieldFormatter/RSSEnclosureFormatter.php | 2 +- .../Field/FieldFormatter/TableFormatter.php | 4 +- .../src/Plugin/Field/FieldType/FileItem.php | 67 +- .../Plugin/Field/FieldWidget/FileWidget.php | 37 +- .../FileValidationConstraintValidator.php | 12 + .../src/Plugin/migrate/field/d6/FileField.php | 2 +- .../src/Plugin/migrate/field/d7/FileField.php | 12 + .../Plugin/migrate/process/d6/FieldFile.php | 11 +- .../src/Plugin/migrate/process/d6/FileUri.php | 4 +- .../src/Plugin/migrate/source/d6/File.php | 33 +- .../src/Plugin/migrate/source/d6/Upload.php | 7 +- .../migrate/source/d6/UploadInstance.php | 9 +- .../src/Plugin/migrate/source/d7/File.php | 38 +- .../rest/resource/FileUploadResource.php | 98 +- .../file/src/Plugin/views/argument/Fid.php | 1 + .../file/src/Plugin/views/field/File.php | 45 +- .../file/src/Plugin/views/filter/Status.php | 6 +- .../file/src/Upload/FileUploadHandler.php | 356 + .../file/src/Upload/FileUploadResult.php | 134 + .../src/Upload/FileValidationException.php | 60 + .../file/src/Upload/FormUploadedFile.php | 85 + .../file/src/Upload/UploadedFileInterface.php | 88 + .../file/tests/file_test/file_test.module | 9 +- .../tests/file_test/file_test.routing.yml | 6 + .../tests/file_test/file_test.services.yml | 4 + .../src/Form/FileRequiredTestForm.php | 28 + .../DummyExternalReadOnlyWrapper.php | 149 + .../file_test_get_ids.info.yml | 7 + .../migrations/d7_file_used.yml | 33 + .../src/Plugin/migrate/source/d7/FileUsed.php | 29 + .../views.view.file_extension_view.yml | 2 +- .../views.view.test_file_user_file_data.yml | 2 +- .../tests/src/Functional/DownloadTest.php | 84 +- .../FileFieldAnonymousSubmissionTest.php | 50 +- .../src/Functional/FileFieldDisplayTest.php | 50 +- .../src/Functional/FileFieldPathTest.php | 4 +- .../Functional/FileFieldRSSContentTest.php | 2 +- .../src/Functional/FileFieldRevisionTest.php | 25 +- .../src/Functional/FileFieldTestBase.php | 21 +- .../src/Functional/FileFieldValidateTest.php | 32 +- .../src/Functional/FileFieldWidgetTest.php | 149 +- .../tests/src/Functional/FileListingTest.php | 37 +- .../Functional/FileManagedFileElementTest.php | 55 +- .../src/Functional/FileManagedTestBase.php | 36 +- .../Functional/FileOnTranslatedEntityTest.php | 33 +- .../tests/src/Functional/FilePrivateTest.php | 32 +- .../src/Functional/FileTokenReplaceTest.php | 13 +- .../Functional/FileUploadJsonCookieTest.php | 7 + .../Formatter/FileVideoFormatterTest.php | 2 +- .../PrivateFileOnTranslatedEntityTest.php | 15 +- .../Functional/RemoteFileSaveUploadTest.php | 3 + .../Functional/Rest/FileResourceTestBase.php | 2 +- .../src/Functional/SaveUploadFormTest.php | 219 +- .../tests/src/Functional/SaveUploadTest.php | 362 +- .../FileFieldFileExtensionsUpdateTest.php | 112 + .../AjaxFileManagedMultipleTest.php | 2 +- .../FileFieldValidateTest.php | 8 +- .../FileFieldWidgetTest.php | 24 +- .../FileManagedFileElementTest.php | 11 +- .../MaximumFileSizeExceededUploadTest.php | 11 +- .../file/tests/src/Kernel/AccessTest.php | 2 +- .../file/tests/src/Kernel/CopyTest.php | 107 +- .../file/tests/src/Kernel/DeleteTest.php | 10 +- .../file/tests/src/Kernel/FileItemTest.php | 25 +- .../src/Kernel/FileManagedAccessTest.php | 5 +- .../src/Kernel/FileManagedUnitTestBase.php | 36 +- .../file/tests/src/Kernel/FileModuleTest.php | 37 - .../tests/src/Kernel/FileRepositoryTest.php | 226 + .../src/Kernel/FileUploadHandlerTest.php | 51 + .../file/tests/src/Kernel/FileUriItemTest.php | 2 +- .../file/tests/src/Kernel/FileUrlTest.php | 4 +- .../Formatter/FileEntityFormatterTest.php | 52 +- .../file/tests/src/Kernel/LegacyFileTest.php | 90 + .../file/tests/src/Kernel/LoadTest.php | 16 +- .../file/tests/src/Kernel/ManagedFileTest.php | 57 + .../Migrate/d6/MigrateFileConfigsTest.php | 6 +- .../src/Kernel/Migrate/d6/MigrateFileTest.php | 24 +- .../d6/MigrateUploadEntityDisplayTest.php | 6 +- .../d6/MigrateUploadEntityFormDisplayTest.php | 6 +- .../Migrate/d6/MigrateUploadFieldTest.php | 4 +- .../Migrate/d6/MigrateUploadInstanceTest.php | 10 +- .../Kernel/Migrate/d6/MigrateUploadTest.php | 16 +- .../Migrate/d7/MigrateFileGetIdsTest.php | 26 + .../file/tests/src/Kernel/MoveTest.php | 128 +- .../migrate/source/d6/UploadInstanceTest.php | 2 + .../file/tests/src/Kernel/SaveDataTest.php | 146 - .../file/tests/src/Kernel/SaveTest.php | 25 +- .../file/tests/src/Kernel/SpaceUsedTest.php | 30 +- .../file/tests/src/Kernel/UsageTest.php | 38 +- .../file/tests/src/Kernel/ValidateTest.php | 8 +- .../file/tests/src/Kernel/ValidatorTest.php | 92 +- .../Kernel/Views/ExtensionViewsFieldTest.php | 16 +- .../Kernel/Views/FileViewsFieldAccessTest.php | 2 +- .../Views/RelationshipUserFileDataTest.php | 48 +- .../Plugin/migrate/field/d6/FileFieldTest.php | 6 +- .../Plugin/migrate/field/d7/FileFieldTest.php | 6 +- .../migrate/process/d6/FieldFileTest.php | 4 +- .../Plugin/migrate/process/d6/FileUriTest.php | 2 +- core/modules/filter/filter.admin.es6.js | 95 +- core/modules/filter/filter.admin.js | 12 +- core/modules/filter/filter.es6.js | 6 +- .../filter/filter.filter_html.admin.es6.js | 240 +- .../filter/filter.filter_html.admin.js | 142 +- core/modules/filter/filter.js | 6 +- core/modules/filter/filter.libraries.yml | 11 +- core/modules/filter/filter.module | 107 +- core/modules/filter/src/Annotation/Filter.php | 16 +- .../filter/src/Element/ProcessedText.php | 2 +- .../modules/filter/src/Element/TextFormat.php | 5 + .../filter/src/Entity/FilterFormat.php | 9 +- .../filter/src/FilterFormatFormBase.php | 6 +- core/modules/filter/src/FilterPermissions.php | 7 + .../filter/src/FilterPluginCollection.php | 4 +- .../filter/src/Plugin/Filter/FilterHtml.php | 31 +- .../filter/src/Plugin/FilterInterface.php | 2 +- .../src/Plugin/migrate/process/FilterID.php | 6 +- .../process/d6/FilterFormatPermission.php | 7 +- .../Plugin/migrate/source/d6/FilterFormat.php | 5 + .../Plugin/migrate/source/d7/FilterFormat.php | 5 + .../ProxyClass/FilterUninstallValidator.php | 2 +- .../filter/src/Render/FilteredMarkup.php | 2 +- .../modules/filter/tests/filter.url-input.txt | 2 + .../filter/tests/filter.url-output.txt | 2 + .../install/filter.format.filter_test.yml | 6 +- .../install/filter.format.filtered_html.yml | 4 +- .../install/filter.format.full_html.yml | 2 +- .../tests/src/Functional/FilterAdminTest.php | 114 +- .../Functional/FilterDefaultFormatTest.php | 17 +- .../tests/src/Functional/FilterFormTest.php | 93 +- .../src/Functional/FilterFormatAccessTest.php | 83 +- .../tests/src/Functional/FilterHooksTest.php | 26 +- .../Functional/FilterHtmlImageSecureTest.php | 33 +- .../src/Functional/FilterSecurityTest.php | 25 +- .../Rest/FilterFormatResourceTestBase.php | 5 +- .../FunctionalJavascript/FilterHtmlTest.php | 93 + .../filter/tests/src/Kernel/FilterAPITest.php | 122 +- .../src/Kernel/FilterCaptionTwigDebugTest.php | 2 +- .../tests/src/Kernel/FilterCrudTest.php | 15 +- .../src/Kernel/FilterDefaultConfigTest.php | 52 +- .../tests/src/Kernel/FilterKernelTest.php | 501 +- .../Migrate/d6/FilterFormatPermissionTest.php | 2 +- .../Migrate/d7/MigrateFilterFormatTest.php | 4 +- .../src/Kernel/TextFormatElementFormTest.php | 18 +- .../src/Unit/FilterUninstallValidatorTest.php | 2 +- ...entity_form_display.node.forum.default.yml | 12 +- ...m_display.taxonomy_term.forums.default.yml | 4 +- ..._display.comment.comment_forum.default.yml | 6 +- ...entity_view_display.node.forum.default.yml | 16 +- ....entity_view_display.node.forum.teaser.yml | 10 +- ...w_display.taxonomy_term.forums.default.yml | 6 +- .../field.field.node.forum.comment_forum.yml | 4 +- core/modules/forum/forum.install | 10 +- core/modules/forum/forum.module | 6 +- .../forum/src/Controller/ForumController.php | 4 +- core/modules/forum/src/Form/ContainerForm.php | 2 +- core/modules/forum/src/Form/ForumForm.php | 2 +- core/modules/forum/src/ForumIndexStorage.php | 6 +- core/modules/forum/src/ForumManager.php | 42 +- .../forum/src/ForumManagerInterface.php | 2 +- .../forum/src/ForumUninstallValidator.php | 15 +- .../ProxyClass/ForumUninstallValidator.php | 2 +- .../views.view.test_forum_index.yml | 2 +- .../tests/src/Functional/ForumBlockTest.php | 12 +- .../tests/src/Functional/ForumIndexTest.php | 19 +- .../src/Functional/ForumNodeAccessTest.php | 22 +- .../forum/tests/src/Functional/ForumTest.php | 174 +- .../src/Functional/ForumUninstallTest.php | 44 +- .../Functional/Views/ForumIntegrationTest.php | 10 +- .../tests/src/Kernel/ForumValidationTest.php | 6 +- .../Migrate/d6/MigrateForumConfigsTest.php | 8 +- .../Migrate/d7/MigrateForumSettingsTest.php | 20 +- .../ForumBreadcrumbBuilderBaseTest.php | 8 +- .../ForumListingBreadcrumbBuilderTest.php | 44 +- .../ForumNodeBreadcrumbBuilderTest.php | 46 +- .../forum/tests/src/Unit/ForumManagerTest.php | 12 +- .../src/Unit/ForumUninstallValidatorTest.php | 2 +- .../optional/rest.resource.entity.node.yml | 0 core/modules/hal/hal.info.yml | 2 + core/modules/hal/hal.services.yml | 8 +- .../modules/hal/help_topics/hal.hal.html.twig | 10 + .../src/LinkManager/RelationLinkManager.php | 4 +- .../hal/src/LinkManager/TypeLinkManager.php | 4 +- .../Normalizer/ContentEntityNormalizer.php | 9 +- .../EntityReferenceItemNormalizer.php | 11 +- .../src/Normalizer/FieldItemNormalizer.php | 7 + .../hal/src/Normalizer/FieldNormalizer.php | 7 + .../src/Normalizer/FileEntityNormalizer.php | 7 + .../Normalizer/TimestampItemNormalizer.php | 7 + .../hal_test_views/hal_test_views.info.yml | 8 + .../views.view.test_comment_hal.yml} | 5 +- ...ws.view.test_serializer_display_entity.yml | 54 + .../BaseFieldOverrideHalJsonAnonTest.php | 3 +- .../BaseFieldOverrideHalJsonBasicAuthTest.php | 3 +- .../BaseFieldOverrideHalJsonCookieTest.php | 3 +- .../Core}/DateFormatHalJsonAnonTest.php | 3 +- .../Core}/DateFormatHalJsonBasicAuthTest.php | 3 +- .../Core}/DateFormatHalJsonCookieTest.php | 3 +- .../EntityFormDisplayHalJsonAnonTest.php | 3 +- .../EntityFormDisplayHalJsonBasicAuthTest.php | 3 +- .../EntityFormDisplayHalJsonCookieTest.php | 3 +- .../Core}/EntityFormModeHalJsonAnonTest.php | 3 +- .../EntityFormModeHalJsonBasicAuthTest.php | 3 +- .../Core}/EntityFormModeHalJsonCookieTest.php | 3 +- .../EntityViewDisplayHalJsonAnonTest.php | 3 +- .../EntityViewDisplayHalJsonBasicAuthTest.php | 3 +- .../EntityViewDisplayHalJsonCookieTest.php | 3 +- .../Core}/EntityViewModeHalJsonAnonTest.php | 3 +- .../EntityViewModeHalJsonBasicAuthTest.php | 3 +- .../Core}/EntityViewModeHalJsonCookieTest.php | 3 +- .../aggregator}/FeedHalJsonAnonTest.php | 3 +- .../aggregator}/FeedHalJsonBasicAuthTest.php | 3 +- .../aggregator}/FeedHalJsonCookieTest.php | 3 +- .../aggregator}/FeedHalJsonTestBase.php | 2 +- .../aggregator}/ItemHalJsonAnonTest.php | 3 +- .../aggregator}/ItemHalJsonBasicAuthTest.php | 3 +- .../aggregator}/ItemHalJsonCookieTest.php | 3 +- .../aggregator}/ItemHalJsonTestBase.php | 2 +- .../block}/BlockHalJsonAnonTest.php | 3 +- .../block}/BlockHalJsonBasicAuthTest.php | 3 +- .../block}/BlockHalJsonCookieTest.php | 3 +- .../BlockContentHalJsonAnonTest.php | 3 +- .../BlockContentHalJsonBasicAuthTest.php | 3 +- .../BlockContentHalJsonCookieTest.php | 3 +- .../BlockContentTypeHalJsonAnonTest.php | 3 +- .../BlockContentTypeHalJsonBasicAuthTest.php | 3 +- .../BlockContentTypeHalJsonCookieTest.php | 3 +- .../comment}/CommentHalJsonAnonTest.php | 3 +- .../comment}/CommentHalJsonBasicAuthTest.php | 3 +- .../comment}/CommentHalJsonCookieTest.php | 3 +- .../comment}/CommentHalJsonTestBase.php | 2 +- .../comment}/CommentTypeHalJsonAnonTest.php | 3 +- .../CommentTypeHalJsonBasicAuthTest.php | 3 +- .../comment}/CommentTypeHalJsonCookieTest.php | 3 +- .../comment/Views/CommentHalExportTest.php} | 29 +- .../config}/ConfigTestHalJsonAnonTest.php | 3 +- .../ConfigTestHalJsonBasicAuthTest.php | 3 +- .../config}/ConfigTestHalJsonCookieTest.php | 3 +- .../contact}/ContactFormHalJsonAnonTest.php | 3 +- .../ContactFormHalJsonBasicAuthTest.php | 3 +- .../contact}/ContactFormHalJsonCookieTest.php | 3 +- .../contact}/MessageHalJsonAnonTest.php | 3 +- .../contact}/MessageHalJsonBasicAuthTest.php | 3 +- .../contact}/MessageHalJsonCookieTest.php | 3 +- .../Functional/dblog}/DbLogResourceTest.php | 13 +- .../editor}/EditorHalJsonAnonTest.php | 3 +- .../editor}/EditorHalJsonBasicAuthTest.php | 3 +- .../editor}/EditorHalJsonCookieTest.php | 3 +- .../EntityTestBundleHalJsonAnonTest.php | 3 +- .../EntityTestBundleHalJsonBasicAuthTest.php | 3 +- .../EntityTestBundleHalJsonCookieTest.php | 3 +- .../EntityTestHalJsonAnonTest.php | 3 +- .../EntityTestHalJsonBasicAuthTest.php | 3 +- .../EntityTestHalJsonCookieTest.php | 3 +- ...tHalJsonInternalPropertyNormalizerTest.php | 3 +- .../EntityTestLabelHalJsonAnonTest.php | 3 +- .../EntityTestLabelHalJsonBasicAuthTest.php | 3 +- .../EntityTestLabelHalJsonCookieTest.php | 3 +- .../EntityTestMapFieldHalJsonAnonTest.php | 3 +- .../field}/FieldConfigHalJsonAnonTest.php | 3 +- .../FieldConfigHalJsonBasicAuthTest.php | 3 +- .../field}/FieldConfigHalJsonCookieTest.php | 3 +- .../FieldStorageConfigHalJsonAnonTest.php | 3 +- ...FieldStorageConfigHalJsonBasicAuthTest.php | 3 +- .../FieldStorageConfigHalJsonCookieTest.php | 3 +- .../Functional/file}/FileHalJsonAnonTest.php | 5 +- .../file}/FileHalJsonBasicAuthTest.php | 3 +- .../file}/FileHalJsonCookieTest.php | 3 +- .../file}/FileUploadHalJsonBasicAuthTest.php | 3 +- .../file}/FileUploadHalJsonCookieTest.php | 3 +- .../file}/FileUploadHalJsonTestBase.php | 4 +- .../filter}/FilterFormatHalJsonAnonTest.php | 3 +- .../FilterFormatHalJsonBasicAuthTest.php | 3 +- .../filter}/FilterFormatHalJsonCookieTest.php | 3 +- .../image}/ImageStyleHalJsonAnonTest.php | 3 +- .../image}/ImageStyleHalJsonBasicAuthTest.php | 3 +- .../image}/ImageStyleHalJsonCookieTest.php | 3 +- .../ConfigurableLanguageHalJsonAnonTest.php | 3 +- ...nfigurableLanguageHalJsonBasicAuthTest.php | 3 +- .../ConfigurableLanguageHalJsonCookieTest.php | 3 +- ...ContentLanguageSettingsHalJsonAnonTest.php | 3 +- ...ntLanguageSettingsHalJsonBasicAuthTest.php | 3 +- ...ntentLanguageSettingsHalJsonCookieTest.php | 3 +- ...uilderEntityViewDisplayHalJsonAnonTest.php | 6 +- ...rEntityViewDisplayHalJsonBasicAuthTest.php | 8 +- ...lderEntityViewDisplayHalJsonCookieTest.php | 6 +- .../media}/MediaHalJsonAnonTest.php | 5 +- .../media}/MediaHalJsonBasicAuthTest.php | 3 +- .../media}/MediaHalJsonCookieTest.php | 3 +- .../media}/MediaTypeHalJsonAnonTest.php | 3 +- .../media}/MediaTypeHalJsonBasicAuthTest.php | 3 +- .../media}/MediaTypeHalJsonCookieTest.php | 3 +- .../MenuLinkContentHalJsonAnonTest.php | 3 +- .../MenuLinkContentHalJsonBasicAuthTest.php | 3 +- .../MenuLinkContentHalJsonCookieTest.php | 3 +- .../Functional/node}/NodeHalJsonAnonTest.php | 3 +- .../node}/NodeHalJsonBasicAuthTest.php | 3 +- .../node}/NodeHalJsonCookieTest.php | 3 +- .../node}/NodeTypeHalJsonAnonTest.php | 3 +- .../node}/NodeTypeHalJsonBasicAuthTest.php | 3 +- .../node}/NodeTypeHalJsonCookieTest.php | 3 +- .../Functional/page_cache/PageCacheTest.php | 132 + .../path_alias}/PathAliasHalJsonAnonTest.php | 4 +- .../PathAliasHalJsonBasicAuthTest.php | 4 +- .../PathAliasHalJsonCookieTest.php | 4 +- .../path_alias}/PathAliasHalJsonTestBase.php | 2 +- ...uilderEntityViewDisplayHalJsonAnonTest.php | 18 + ...rEntityViewDisplayHalJsonBasicAuthTest.php | 18 + ...lderEntityViewDisplayHalJsonCookieTest.php | 18 + .../rdf}/RdfMappingHalJsonAnonTest.php | 3 +- .../rdf}/RdfMappingHalJsonBasicAuthTest.php | 3 +- .../rdf}/RdfMappingHalJsonCookieTest.php | 3 +- .../ResponsiveImageStyleHalJsonAnonTest.php | 3 +- ...sponsiveImageStyleHalJsonBasicAuthTest.php | 3 +- .../ResponsiveImageStyleHalJsonCookieTest.php | 3 +- .../RestResourceConfigHalJsonAnonTest.php | 3 +- ...RestResourceConfigHalJsonBasicAuthTest.php | 3 +- .../RestResourceConfigHalJsonCookieTest.php | 3 +- .../rest/Views/StyleSerializerTest.php | 110 + .../search}/SearchPageHalJsonAnonTest.php | 3 +- .../SearchPageHalJsonBasicAuthTest.php | 3 +- .../search}/SearchPageHalJsonCookieTest.php | 3 +- .../shortcut}/ShortcutHalJsonAnonTest.php | 3 +- .../ShortcutHalJsonBasicAuthTest.php | 3 +- .../shortcut}/ShortcutHalJsonCookieTest.php | 3 +- .../shortcut}/ShortcutSetHalJsonAnonTest.php | 3 +- .../ShortcutSetHalJsonBasicAuthTest.php | 3 +- .../ShortcutSetHalJsonCookieTest.php | 3 +- .../system}/ActionHalJsonAnonTest.php | 3 +- .../system}/ActionHalJsonBasicAuthTest.php | 3 +- .../system}/ActionHalJsonCookieTest.php | 3 +- .../system}/MenuHalJsonAnonTest.php | 3 +- .../system}/MenuHalJsonBasicAuthTest.php | 3 +- .../system}/MenuHalJsonCookieTest.php | 3 +- .../taxonomy}/TermHalJsonAnonTest.php | 5 +- .../taxonomy}/TermHalJsonBasicAuthTest.php | 3 +- .../taxonomy}/TermHalJsonCookieTest.php | 3 +- .../taxonomy}/VocabularyHalJsonAnonTest.php | 3 +- .../VocabularyHalJsonBasicAuthTest.php | 3 +- .../taxonomy}/VocabularyHalJsonCookieTest.php | 3 +- .../Functional/tour}/TourHalJsonAnonTest.php | 3 +- .../tour}/TourHalJsonBasicAuthTest.php | 3 +- .../tour}/TourHalJsonCookieTest.php | 3 +- .../Functional/user}/RestRegisterUserTest.php | 19 +- .../Functional/user}/RoleHalJsonAnonTest.php | 3 +- .../user}/RoleHalJsonBasicAuthTest.php | 3 +- .../user}/RoleHalJsonCookieTest.php | 3 +- .../Functional/user}/UserHalJsonAnonTest.php | 3 +- .../user}/UserHalJsonBasicAuthTest.php | 3 +- .../user}/UserHalJsonCookieTest.php | 3 +- .../Functional/user/UserHalLoginHttpTest.php | 55 + .../Functional/views}/ViewHalJsonAnonTest.php | 3 +- .../views}/ViewHalJsonBasicAuthTest.php | 3 +- .../views}/ViewHalJsonCookieTest.php | 3 +- .../workflows}/WorkflowHalJsonAnonTest.php | 3 +- .../WorkflowHalJsonBasicAuthTest.php | 3 +- .../workflows}/WorkflowHalJsonCookieTest.php | 3 +- .../hal/tests/src/Kernel/DenormalizeTest.php | 15 +- .../tests/src/Kernel/EntityResolverTest.php | 13 +- .../EntityResourceHalTestCoverageTest.php | 119 + .../Kernel/EntityTranslationNormalizeTest.php | 1 + .../tests/src/Kernel/FileNormalizeTest.php | 5 +- .../tests/src/Kernel/HalLinkManagerTest.php | 37 +- .../hal/tests/src/Kernel/NormalizeTest.php | 15 +- .../rest/Entity/ConfigDependenciesTest.php | 291 + .../rest/Entity/RestResourceConfigTest.php | 52 + .../rest/Views/StyleSerializerKernelTest.php | 51 + .../FieldItemSerializationTest.php | 195 + ...ormalizerDenormalizeExceptionsUnitTest.php | 30 - ...eldNormalizerDenormalizeExceptionsTest.php | 67 + ...ormalizerDenormalizeExceptionsUnitTest.php | 30 - ...lizerDenormalizeExceptionsUnitTestBase.php | 33 - core/modules/help/help.api.php | 2 +- .../help/src/Controller/HelpController.php | 7 +- .../help/src/Plugin/Block/HelpBlock.php | 11 +- .../Plugin/HelpSection/HookHelpSection.php | 11 +- .../src/Functional/ExperimentalHelpTest.php | 6 +- .../tests/src/Functional/HelpBlockTest.php | 13 +- .../help/tests/src/Functional/HelpTest.php | 40 +- .../help/tests/src/Functional/NoHelpTest.php | 11 +- .../block.block.claro_help_search.yml | 29 + core/modules/help_topics/help_topics.api.php | 30 + core/modules/help_topics/help_topics.info.yml | 1 + core/modules/help_topics/help_topics.module | 49 +- .../help_topics/help_topics.services.yml | 7 +- .../help_topics/action.creating.html.twig | 28 + .../help_topics/action.overview.html.twig | 25 + .../help_topics/ban.banning_ips.html.twig | 5 +- .../help_topics/block.configure.html.twig | 5 +- .../help_topics/block.place.html.twig | 11 +- .../help_topics/block_content.add.html.twig | 5 +- .../help_topics/block_content.type.html.twig | 5 +- .../help_topics/book.about.html.twig | 15 +- .../help_topics/book.adding.html.twig | 7 +- .../help_topics/book.configuring.html.twig | 5 +- .../help_topics/book.organizing.html.twig | 5 +- .../help_topics/comment.configuring.html.twig | 43 + .../comment.creating_type.html.twig | 32 + .../help_topics/comment.disabling.html.twig | 28 + .../help_topics/comment.moderating.html.twig | 34 + .../help_topics/comment.overview.html.twig | 29 + .../help_topics/config.export_full.html.twig | 18 + .../config.export_single.html.twig | 21 + .../help_topics/config.import_full.html.twig | 21 + .../config.import_single.html.twig | 22 + .../config_translation.overview.html.twig | 20 + .../contact.adding_fields.html.twig | 5 +- .../contact.configuring_personal.html.twig | 14 +- .../help_topics/contact.creating.html.twig | 9 +- .../contact.setting_default.html.twig | 5 +- ...ntent_moderation.changing_states.html.twig | 21 + ...moderation.configuring_workflows.html.twig | 50 + .../content_translation.overview.html.twig | 20 + .../help_topics/contextual.overview.html.twig | 3 +- .../help_topics/core.appearance.html.twig | 6 +- .../core.config_overview.html.twig | 50 + .../core.content_structure.html.twig | 6 +- .../help_topics/core.cron.html.twig | 5 +- .../help_topics/core.media.html.twig | 30 + .../help_topics/core.security.html.twig | 3 + .../help_topics/core.settings_tray.html.twig | 19 + .../core.tracking_content.html.twig | 3 +- .../help_topics/core.translations.html.twig | 18 + .../core.ui_accessibility.html.twig | 4 +- .../help_topics/core.ui_components.html.twig | 26 +- .../help_topics/core.web_services.html.twig | 8 +- .../help_topics/editor.overview.html.twig | 23 +- .../help_topics/field_ui.add_field.html.twig | 11 +- .../field_ui.manage_display.html.twig | 9 +- .../field_ui.manage_form.html.twig | 9 +- .../field_ui.reference_field.html.twig | 9 +- .../help_topics/filter.overview.html.twig | 5 +- .../help_topics/forum.concept.html.twig | 2 +- .../help_topics/forum.configuring.html.twig | 19 +- .../help_topics/forum.locking.html.twig | 5 +- .../help_topics/forum.moving.html.twig | 5 +- .../help_topics/forum.starting.html.twig | 5 +- .../help.help_topic_search.html.twig | 18 +- .../history.tracking_user_content.html.twig | 1 - .../help_topics/image.style.html.twig | 23 + .../help_topics/language.add.html.twig | 18 + .../help_topics/language.detect.html.twig | 34 + .../layout_builder.overview.html.twig | 13 +- .../help_topics/locale.import.html.twig | 17 + .../locale.translate_strings.html.twig | 19 + .../locale.translation_status.html.twig | 21 + .../help_topics/media.media_type.html.twig | 26 + ...nu_ui.content_type_configuration.html.twig | 5 +- .../menu_ui.menu_item_add.html.twig | 7 +- .../menu_ui.menu_operations.html.twig | 5 +- .../help_topics/menu_ui.overriding.html.twig | 5 +- .../help_topics/migrate.overview.html.twig | 22 + .../migrate_drupal_ui.upgrading.html.twig | 23 + .../node.creating_content.html.twig | 36 + .../help_topics/node.creating_type.html.twig | 36 + .../help_topics/node.editing.html.twig | 39 + .../help_topics/node.overview.html.twig | 19 + .../help_topics/path.creating_alias.html.twig | 28 + .../help_topics/path.editing_alias.html.twig | 26 + .../help_topics/path.overview.html.twig | 24 + .../responsive_image.style.html.twig | 29 + .../help_topics/search.configuring.html.twig | 9 +- .../help_topics/search.index.html.twig | 11 +- .../help_topics/search.overview.html.twig | 6 +- ...tistics.tracking_popular_content.html.twig | 1 - .../system.maintenance_mode.html.twig | 4 +- .../system.module_uninstall.html.twig | 5 +- .../help_topics/system.reports.html.twig | 2 +- .../taxonomy.configuring.html.twig | 36 + .../help_topics/taxonomy.overview.html.twig | 24 + .../user.security_account_settings.html.twig | 2 +- .../help_topics/views.overview.html.twig | 7 +- .../views_ui.add_display.html.twig | 4 +- .../views_ui.bulk_operations.html.twig | 30 + .../help_topics/views_ui.edit.html.twig | 4 +- .../help_topics/workflows.overview.html.twig | 23 + .../Controller/HelpTopicPluginController.php | 2 +- .../help_topics/src/HelpTopicDiscovery.php | 2 +- .../src/HelpTopicPluginManager.php | 2 + .../help_topics/src/HelpTopicTwigLoader.php | 14 + .../help_topics/src/HelpTwigExtension.php | 166 + .../Plugin/HelpSection/HelpTopicSection.php | 4 +- .../src/Plugin/Search/HelpSearch.php | 32 +- .../bad_help_topics.bad_html2.html.twig | 6 + .../bad_help_topics.bad_html3.html.twig | 5 + .../syntax/bad_help_topics.locale.html.twig | 5 + .../bad_help_topics.translated.html.twig | 1 + .../help_topics_test.test.html.twig | 6 +- .../help_topics_test.test_urls.html.twig | 19 + .../help_topics_test.routing.yml | 11 + .../Controller/HelpTopicsTestController.php | 28 + .../Plugin/HelpSection/TestHelpSection.php | 10 +- .../help_topics_twig_tester.info.yml | 6 + .../help_topics_twig_tester.services.yml | 6 + .../src/HelpTestTwigExtension.php | 21 + .../src/HelpTestTwigNodeVisitor.php | 180 + .../src/Functional/HelpTopicSearchTest.php | 130 +- .../tests/src/Functional/HelpTopicTest.php | 65 +- .../HelpTopicTranslatedTestBase.php | 15 +- .../Functional/HelpTopicTranslationTest.php | 2 + .../src/Functional/HelpTopicsSyntaxTest.php | 136 +- .../tests/src/Unit/HelpTopicTwigTest.php | 6 +- .../help_topics_test_theme.info.yml | 2 +- core/modules/history/history.module | 14 +- core/modules/history/js/history.js | 8 - core/modules/history/js/mark-as-read.js | 1 - .../views/filter/HistoryUserTimestamp.php | 2 +- .../tests/src/Functional/HistoryTest.php | 27 +- .../src/Kernel/Views/HistoryTimestampTest.php | 8 +- .../history_test_theme.info.yml | 5 + .../templates/mark.html.twig | 20 + .../image/config/schema/image.schema.yml | 15 +- core/modules/image/css/image.admin.css | 1 - core/modules/image/image.admin.inc | 10 +- core/modules/image/image.field.inc | 2 +- core/modules/image/image.install | 4 +- core/modules/image/image.libraries.yml | 12 +- core/modules/image/image.module | 23 +- core/modules/image/image.post_update.php | 14 + core/modules/image/image.routing.yml | 26 - core/modules/image/image.views.inc | 2 +- core/modules/image/js/theme.es6.js | 92 - core/modules/image/js/theme.js | 31 - .../image/src/Annotation/ImageEffect.php | 4 +- .../ImageStyleDownloadController.php | 98 +- .../Controller/QuickEditImageController.php | 3 +- core/modules/image/src/Entity/ImageStyle.php | 13 +- .../image/src/Form/ImageEffectAddForm.php | 5 +- .../image/src/Form/ImageEffectEditForm.php | 5 +- .../image/src/Form/ImageEffectFormBase.php | 4 + .../image/src/Form/ImageStyleEditForm.php | 4 +- core/modules/image/src/ImageConfigUpdater.php | 43 + .../image/src/ImageEffectPluginCollection.php | 8 +- .../modules/image/src/ImageStyleInterface.php | 2 +- core/modules/image/src/ImageStyleStorage.php | 2 +- .../image/src/ImageStyleStorageInterface.php | 4 +- .../PathProcessorImageStyles.php | 2 +- .../Field/FieldFormatter/ImageFormatter.php | 90 +- .../FieldFormatter/ImageUrlFormatter.php | 108 +- .../src/Plugin/Field/FieldType/ImageItem.php | 81 +- .../Plugin/Field/FieldWidget/ImageWidget.php | 36 +- .../Plugin/ImageEffect/ConvertImageEffect.php | 4 +- .../Plugin/ImageEffect/CropImageEffect.php | 24 +- .../Plugin/ImageEffect/ResizeImageEffect.php | 8 +- .../Plugin/ImageEffect/RotateImageEffect.php | 12 +- .../ImageEffect/ScaleAndCropImageEffect.php | 2 +- .../Plugin/ImageEffect/ScaleImageEffect.php | 4 +- .../image/src/Plugin/InPlaceEditor/Image.php | 13 + .../migrate/destination/EntityImageStyle.php | 2 + .../Plugin/migrate/field/d7/ImageField.php | 10 + .../migrate/source/d6/ImageCachePreset.php | 5 + .../Plugin/migrate/source/d7/ImageStyles.php | 9 +- .../image/src/Routing/ImageStyleRoutes.php | 2 +- .../FieldFormatter/DummyAjaxFormatter.php | 2 +- .../FieldFormatter/DummyImageFormatter.php | 3 - .../ImageEffect/AjaxTestImageEffect.php | 2 +- .../views.view.test_image_user_image_data.yml | 2 +- .../tests/src/Functional/FileMoveTest.php | 19 +- .../src/Functional/ImageAdminStylesTest.php | 110 +- .../src/Functional/ImageDimensionsTest.php | 109 +- .../Functional/ImageEffect/ConvertTest.php | 6 +- .../ImageFieldDefaultImagesTest.php | 91 +- .../src/Functional/ImageFieldDisplayTest.php | 250 +- .../src/Functional/ImageFieldTestBase.php | 16 +- .../src/Functional/ImageFieldValidateTest.php | 68 +- .../src/Functional/ImageFieldWidgetTest.php | 14 +- .../Functional/ImageLazyLoadUpdateTest.php | 41 + .../ImageOnTranslatedEntityTest.php | 43 +- .../src/Functional/ImageStyleDeleteTest.php | 18 +- .../src/Functional/ImageStyleFlushTest.php | 20 +- .../Functional/ImageStylesPathAndUrlTest.php | 21 +- .../Rest/ImageStyleResourceTestBase.php | 5 +- .../ImageAdminStylesTest.php | 10 +- .../ImageFieldValidateTest.php | 10 +- .../ImageFieldWidgetMultipleTest.php | 75 + .../tests/src/Kernel/ImageFormatterTest.php | 4 +- .../image/tests/src/Kernel/ImageItemTest.php | 35 +- .../src/Kernel/ImageThemeFunctionTest.php | 13 +- .../Migrate/d6/MigrateImageCacheTest.php | 85 +- .../Kernel/Migrate/d6/MigrateImageTest.php | 2 +- .../Migrate/d7/MigrateImageSettingsTest.php | 2 +- .../Migrate/d7/MigrateImageStylesTest.php | 14 +- .../source/d6/ImageCachePresetTest.php | 6 +- .../migrate/source/d7/ImageStylesTest.php | 2 + .../Kernel/QuickEditImageControllerTest.php | 30 + .../src/Kernel/Views/ImageViewsDataTest.php | 48 +- .../Views/RelationshipUserImageDataTest.php | 7 +- .../image/tests/src/Unit/ImageStyleTest.php | 39 +- .../DenyPrivateImageStyleDownloadTest.php | 5 +- .../src/FormErrorHandler.php | 2 +- .../FormErrorHandlerFileUploadTest.php | 2 +- .../FormErrorHandlerCKEditor5Test.php | 120 + .../tests/src/Unit/FormErrorHandlerTest.php | 56 +- .../config/install/jsonapi.settings.yml | 3 + .../jsonapi/config/schema/jsonapi.schema.yml | 10 + core/modules/jsonapi/jsonapi.install | 14 + core/modules/jsonapi/jsonapi.module | 10 - core/modules/jsonapi/jsonapi.services.yml | 26 +- .../src/Access/EntityAccessChecker.php | 68 +- .../src/Access/RelationshipFieldAccess.php | 41 +- .../Access/RelationshipRouteAccessCheck.php | 88 + .../src/Access/TemporaryQueryGuard.php | 21 +- .../jsonapi/src/Context/FieldResolver.php | 45 +- .../jsonapi/src/Controller/EntityResource.php | 43 +- .../TemporaryJsonapiFileFieldUploader.php | 124 +- ...gisterSerializationClassesCompilerPass.php | 4 +- .../DefaultExceptionSubscriber.php | 2 +- .../JsonapiMaintenanceModeSubscriber.php | 90 + .../ResourceObjectNormalizationCacher.php | 4 +- .../ResourceResponseValidator.php | 2 +- core/modules/jsonapi/src/IncludeResolver.php | 10 +- .../jsonapi/src/JsonApiResource/Data.php | 4 +- .../src/JsonApiResource/ErrorCollection.php | 1 + .../src/JsonApiResource/LinkCollection.php | 1 + .../JsonApiResource/ResourceIdentifier.php | 12 +- .../src/JsonApiResource/ResourceObject.php | 32 +- .../Normalizer/ConfigEntityDenormalizer.php | 7 + .../Normalizer/ContentEntityDenormalizer.php | 7 + .../jsonapi/src/Normalizer/DataNormalizer.php | 7 + ...ityAccessDeniedHttpExceptionNormalizer.php | 7 +- .../src/Normalizer/EntityDenormalizerBase.php | 2 +- .../src/Normalizer/FieldItemNormalizer.php | 80 + .../src/Normalizer/FieldNormalizer.php | 9 +- .../Normalizer/HttpExceptionNormalizer.php | 18 +- .../JsonApiDocumentTopLevelNormalizer.php | 11 +- .../Normalizer/LinkCollectionNormalizer.php | 46 +- .../jsonapi/src/Normalizer/NormalizerBase.php | 7 +- .../src/Normalizer/RelationshipNormalizer.php | 7 + .../ResourceIdentifierNormalizer.php | 16 +- .../Normalizer/ResourceObjectNormalizer.php | 15 +- ...ocessableHttpEntityExceptionNormalizer.php | 2 +- .../Value/CacheableNormalization.php | 2 +- ...TemporaryArrayObjectThrowingExceptions.php | 308 + .../jsonapi/src/ResourceType/ResourceType.php | 31 +- .../ResourceType/ResourceTypeBuildEvent.php | 16 +- .../ResourceType/ResourceTypeRepository.php | 76 +- .../ResourceTypeRepositoryInterface.php | 2 +- .../ResourceVersionRouteEnhancer.php | 13 +- .../jsonapi/src/Revisions/VersionByRel.php | 2 +- .../src/Revisions/VersionNegotiator.php | 2 +- .../Revisions/VersionNotFoundException.php | 2 +- .../src/Routing/ReadOnlyModeMethodFilter.php | 3 +- core/modules/jsonapi/src/Routing/Routes.php | 9 +- .../jsonapi/tests/fixtures/update/jsonapi.php | 54 + .../fixtures/update/jsonapi.settings.yml | 2 + .../CountableResourceTypeRepository.php | 19 +- .../src/Normalizer/StringNormalizer.php | 7 + .../TraversableObjectNormalizer.php | 7 + .../src/TraversableObject.php | 1 + .../jsonapi_test_field_access.permissions.yml | 6 + .../AliasingResourceTypeRepository.php | 2 +- ...i_test_field_filter_access.permissions.yml | 2 + ...onapi_test_resource_type_aliasing.info.yml | 3 - ...i_test_resource_type_aliasing.services.yml | 5 - .../src/ResourceType/AliasedResourceType.php | 33 - .../AliasingResourceTypeRepository.php | 24 - .../ResourceTypeBuildEventSubscriber.php | 15 + .../tests/src/Functional/ActionTest.php | 7 +- .../src/Functional/BaseFieldOverrideTest.php | 5 +- .../tests/src/Functional/BlockContentTest.php | 33 +- .../src/Functional/BlockContentTypeTest.php | 3 +- .../tests/src/Functional/BlockTest.php | 11 +- .../tests/src/Functional/CommentTest.php | 27 +- .../tests/src/Functional/CommentTypeTest.php | 3 +- .../ConfigEntityResourceTestBase.php | 37 + .../tests/src/Functional/ConfigTestTest.php | 3 +- .../Functional/ConfigurableLanguageTest.php | 5 +- .../tests/src/Functional/ContactFormTest.php | 3 +- .../ContentLanguageSettingsTest.php | 3 +- .../tests/src/Functional/DateFormatTest.php | 3 +- .../tests/src/Functional/EditorTest.php | 57 +- .../src/Functional/EntityFormDisplayTest.php | 5 +- .../src/Functional/EntityFormModeTest.php | 3 +- .../EntityTestComputedFieldTest.php | 187 + .../src/Functional/EntityTestMapFieldTest.php | 3 + .../tests/src/Functional/EntityTestTest.php | 3 + .../src/Functional/EntityViewDisplayTest.php | 5 +- .../src/Functional/EntityViewModeTest.php | 3 +- .../tests/src/Functional/EntryPointTest.php | 6 +- .../tests/src/Functional/FieldConfigTest.php | 5 +- .../src/Functional/FieldStorageConfigTest.php | 5 +- .../jsonapi/tests/src/Functional/FileTest.php | 8 +- .../tests/src/Functional/FileUploadTest.php | 76 +- .../tests/src/Functional/FilterFormatTest.php | 3 +- .../tests/src/Functional/ImageStyleTest.php | 3 +- .../src/Functional/InternalEntitiesTest.php | 2 +- .../JsonApiFunctionalDateFieldTest.php | 182 + .../src/Functional/JsonApiFunctionalTest.php | 57 +- .../Functional/JsonApiFunctionalTestBase.php | 4 +- .../src/Functional/JsonApiRegressionTest.php | 200 +- .../tests/src/Functional/MediaTest.php | 18 +- .../tests/src/Functional/MediaTypeTest.php | 3 +- .../src/Functional/MenuLinkContentTest.php | 21 +- .../jsonapi/tests/src/Functional/MenuTest.php | 3 +- .../jsonapi/tests/src/Functional/NodeTest.php | 25 +- .../tests/src/Functional/NodeTypeTest.php | 3 +- .../tests/src/Functional/PathAliasTest.php | 16 +- .../Functional/ResourceResponseTestTrait.php | 2 +- .../tests/src/Functional/ResourceTestBase.php | 238 +- .../Functional/ResponsiveImageStyleTest.php | 3 +- .../RestExportJsonApiUnsupported.php | 6 +- .../src/Functional/RestJsonApiUnsupported.php | 17 +- .../src/Functional/RestResourceConfigTest.php | 3 +- .../jsonapi/tests/src/Functional/RoleTest.php | 8 +- .../tests/src/Functional/SearchPageTest.php | 3 +- .../tests/src/Functional/ShortcutSetTest.php | 3 +- .../tests/src/Functional/ShortcutTest.php | 5 +- .../jsonapi/tests/src/Functional/TermTest.php | 62 +- .../jsonapi/tests/src/Functional/TourTest.php | 11 +- .../Update/JsonApiUpdatePathTest.php | 50 + .../jsonapi/tests/src/Functional/UserTest.php | 217 +- .../jsonapi/tests/src/Functional/ViewTest.php | 7 +- .../tests/src/Functional/VocabularyTest.php | 3 +- .../tests/src/Functional/WorkflowTest.php | 3 +- .../src/Kernel/Context/FieldResolverTest.php | 6 +- .../Kernel/Controller/EntityResourceTest.php | 10 +- .../TemporaryJsonapiFileFieldUploaderTest.php | 179 + .../ResourceObjectNormalizerCacherTest.php | 18 +- .../JsonApiDocumentTopLevelNormalizerTest.php | 250 +- .../LinkCollectionNormalizerTest.php | 139 +- .../Normalizer/RelationshipNormalizerTest.php | 131 +- .../tests/src/Kernel/Query/FilterTest.php | 29 +- .../ResourceTypeNameAliasTest.php | 87 - .../ResourceTypeRepositoryTest.php | 28 +- .../src/Kernel/Serializer/SerializerTest.php | 7 + .../TestCoverageTest.php | 66 +- .../ResourceResponseValidatorTest.php | 2 +- .../src/Unit/JsonApiResource/LinkTest.php | 6 +- .../HttpExceptionNormalizerTest.php | 11 +- .../optional/tour.tour.language-add.yml | 12 +- .../optional/tour.tour.language-edit.yml | 22 +- .../config/optional/tour.tour.language.yml | 27 +- core/modules/language/language.admin.es6.js | 10 +- core/modules/language/language.admin.inc | 2 +- core/modules/language/language.admin.js | 5 +- core/modules/language/language.libraries.yml | 3 +- core/modules/language/language.module | 2 +- .../d6_language_content_menu_settings.yml | 3 + .../d6_language_content_settings.yml | 5 +- ...e_content_taxonomy_vocabulary_settings.yml | 1 + .../language/migrations/d6_language_types.yml | 3 + .../d7_language_content_menu_settings.yml | 3 + .../d7_language_content_settings.yml | 5 +- ...e_content_taxonomy_vocabulary_settings.yml | 1 + .../language/migrations/d7_language_types.yml | 3 + .../Config/LanguageConfigFactoryOverride.php | 6 +- .../src/Config/LanguageConfigOverride.php | 6 +- .../src/ConfigurableLanguageManager.php | 22 +- .../ConfigurableLanguageManagerInterface.php | 2 +- .../src/Element/LanguageConfiguration.php | 2 +- .../src/Entity/ConfigurableLanguage.php | 4 +- .../src/Entity/ContentLanguageSettings.php | 3 + .../LanguageRequestSubscriber.php | 2 +- .../language/src/Form/LanguageAddForm.php | 2 +- .../language/src/Form/LanguageFormBase.php | 4 +- .../src/Form/NegotiationConfigureForm.php | 8 +- .../language/src/Form/NegotiationUrlForm.php | 4 +- .../src/HttpKernel/PathProcessorLanguage.php | 11 +- .../src/LanguageAccessControlHandler.php | 4 +- .../language/src/LanguageListBuilder.php | 6 +- .../LanguageNegotiationMethodInterface.php | 11 +- .../src/LanguageNegotiationMethodManager.php | 5 + .../language/src/LanguageNegotiator.php | 17 +- .../src/LanguageNegotiatorInterface.php | 4 +- .../src/Plugin/Block/LanguageBlock.php | 7 +- .../src/Plugin/Condition/Language.php | 4 +- .../src/Plugin/Derivative/LanguageBlock.php | 7 +- .../LanguageNegotiationContentEntity.php | 26 +- .../LanguageNegotiationSession.php | 6 +- .../LanguageNegotiationUrl.php | 5 +- .../LanguageNegotiationUrlFallback.php | 3 +- .../ContentTranslationEnabledSetting.php | 2 +- .../src/Plugin/migrate/source/Language.php | 27 + .../source/d6/LanguageContentSettings.php | 7 +- ...guageContentSettingsTaxonomyVocabulary.php | 5 + .../source/d7/LanguageContentSettings.php | 7 +- ...guageContentSettingsTaxonomyVocabulary.php | 5 + .../src/ProxyClass/LanguageConverter.php | 2 +- .../views.view.no_entity_translation_view.yml | 132 +- .../tests/language_test/language_test.module | 5 +- .../src/Controller/LanguageTestController.php | 2 + .../AdminPathEntityConverterLanguageTest.php | 11 +- .../ConfigurableLanguageManagerTest.php | 6 +- .../LanguageBlockSettingsVisibilityTest.php | 3 +- .../src/Functional/LanguageBreadcrumbTest.php | 59 +- ...uageBrowserDetectionAcceptLanguageTest.php | 17 +- .../LanguageBrowserDetectionTest.php | 33 +- .../LanguageConfigOverrideImportTest.php | 16 +- .../Functional/LanguageConfigSchemaTest.php | 5 +- .../LanguageConfigurationElementTest.php | 46 +- .../Functional/LanguageConfigurationTest.php | 47 +- ...anguageCustomLanguageConfigurationTest.php | 44 +- .../LanguageListModuleInstallTest.php | 8 +- .../tests/src/Functional/LanguageListTest.php | 71 +- .../src/Functional/LanguageLocaleListTest.php | 21 +- .../LanguageNegotiationContentEntityTest.php | 10 +- .../LanguageNegotiationInfoTest.php | 21 +- .../LanguageNegotiationSessionTest.php | 80 + .../Functional/LanguageNegotiationUrlTest.php | 9 +- .../LanguagePathMonolingualTest.php | 21 +- .../LanguageSelectorTranslatableTest.php | 7 +- .../src/Functional/LanguageSwitchingTest.php | 361 +- .../LanguageUILanguageNegotiationTest.php | 82 +- .../Functional/LanguageUrlRewritingTest.php | 24 +- .../ConfigurableLanguageResourceTestBase.php | 7 +- ...ontentLanguageSettingsResourceTestBase.php | 5 +- .../Condition/LanguageConditionTest.php | 20 +- .../src/Kernel/ConfigurableLanguageTest.php | 4 +- .../src/Kernel/EntityDefaultLanguageTest.php | 16 +- .../src/Kernel/EntityUrlLanguageTest.php | 3 + .../LanguageConfigFactoryOverrideTest.php | 2 +- .../LanguageConfigOverrideInstallTest.php | 2 +- .../LanguageDependencyInjectionTest.php | 12 +- .../tests/src/Kernel/LanguageFallbackTest.php | 8 +- .../Kernel/LanguageNegotiatorPluginTest.php | 56 + .../src/Kernel/LanguageSelectWidgetTest.php | 2 +- ...rateLanguageContentCommentSettingsTest.php | 1 + ...MigrateLanguageContentMenuSettingsTest.php | 5 +- .../d6/MigrateLanguageContentSettingsTest.php | 17 +- ...eContentTaxonomyVocabularySettingsTest.php | 4 +- .../Kernel/Migrate/d6/MigrateLanguageTest.php | 10 +- ...CommentSettingsNoEntityTranslationTest.php | 18 +- ...rateLanguageContentCommentSettingsTest.php | 18 +- .../d7/MigrateLanguageContentSettingsTest.php | 9 +- ...eContentTaxonomyVocabularySettingsTest.php | 4 +- .../src/Kernel/OverriddenConfigImportTest.php | 5 +- .../src/Kernel/Views/FieldLanguageTest.php | 4 +- .../src/Kernel/Views/FilterLanguageTest.php | 2 +- .../src/Kernel/Views/LanguageTestBase.php | 3 + .../Config/LanguageConfigOverrideTest.php | 4 +- .../src/Unit/ConfigurableLanguageUnitTest.php | 4 +- .../Unit/ContentLanguageSettingsUnitTest.php | 12 +- .../src/Unit/LanguageNegotiationUrlTest.php | 18 +- .../src/Unit/Menu/LanguageLocalTasksTest.php | 3 + .../src/Unit/process/LanguageDomainsTest.php | 2 +- .../config/schema/layout_builder.schema.yml | 10 +- .../layout_builder/js/layout-builder.es6.js | 28 +- .../layout_builder/js/layout-builder.js | 43 +- .../layout_builder/layout_builder.info.yml | 2 - .../layout_builder/layout_builder.module | 28 +- .../layout_builder.post_update.php | 39 + .../layout_builder/layout_builder.routing.yml | 4 +- .../layout_builder.services.yml | 11 +- .../layout--fourcol-section.html.twig | 1 + .../layout--threecol-section.html.twig | 1 + .../layout--twocol-section.html.twig | 1 + .../LayoutBuilderIsActiveCacheContext.php | 18 +- .../src/Cache/LayoutBuilderUiCacheContext.php | 6 +- .../src/Context/LayoutBuilderContextTrait.php | 26 +- .../src/Controller/ChooseBlockController.php | 4 +- .../Controller/ChooseSectionController.php | 4 +- .../Controller/LayoutBuilderController.php | 4 +- .../src/Element/LayoutBuilder.php | 12 +- .../Entity/LayoutBuilderEntityViewDisplay.php | 55 +- .../LayoutBuilderEntityViewDisplayStorage.php | 2 +- .../SectionComponentBuildRenderArrayEvent.php | 5 + .../BlockComponentRenderArray.php | 26 +- .../src/EventSubscriber/PrepareLayout.php | 19 +- .../src/Field/LayoutSectionItemList.php | 6 +- .../src/Form/ConfigureBlockFormBase.php | 2 +- .../src/Form/ConfigureSectionForm.php | 86 +- .../LayoutBuilderEntityViewDisplayForm.php | 1 + .../layout_builder/src/Form/MoveBlockForm.php | 7 +- .../src/Form/OverridesEntityForm.php | 2 + .../src/Form/RemoveSectionForm.php | 4 +- .../src/InlineBlockEntityOperations.php | 10 +- .../src/InlineBlockUsageInterface.php | 5 +- .../src/LayoutBuilderOverridesPermissions.php | 11 + .../src/LayoutBuilderServiceProvider.php | 1 + .../LayoutEntityDisplayNormalizer.php | 7 + .../src/Plugin/Block/ExtraFieldBlock.php | 2 +- .../src/Plugin/Block/FieldBlock.php | 33 +- .../Plugin/Derivative/FieldBlockDeriver.php | 9 +- .../Field/FieldType/LayoutSectionItem.php | 2 +- .../src/Plugin/Layout/BlankLayout.php | 4 +- .../SectionStorage/DefaultsSectionStorage.php | 15 +- .../OverridesSectionStorage.php | 2 +- .../SectionStorage/SectionStorageBase.php | 1 + .../src/QuickEditIntegration.php | 314 +- ...=> LayoutSectionStorageParamConverter.php} | 26 +- .../Routing/LayoutTempstoreRouteEnhancer.php | 44 + core/modules/layout_builder/src/Section.php | 43 +- .../layout_builder/src/SectionComponent.php | 8 +- .../layout_builder/src/SectionListTrait.php | 186 + .../SectionStorageDefinition.php | 4 +- .../SectionStorage/SectionStorageTrait.php | 182 +- .../update/layout-builder-context-mapping.php | 34 + .../tests/fixtures/update/layout-builder.php | 54 + ..._test.bundle_with_extra_fields.default.yml | 12 +- .../src/EventSubscriber/TestPrepareLayout.php | 3 +- .../layout_builder_extra_field_test.info.yml | 5 + .../layout_builder_extra_field_test.module | 32 + .../layout_builder_overrides_test.info.yml | 5 - .../layout_builder_test.links.contextual.yml | 4 + .../layout_builder_test.module | 81 + .../layout_builder_test.services.yml | 5 + .../ContextProvider/IHaveRuntimeContexts.php | 32 + .../src/Plugin/Block/IHaveRuntimeContexts.php | 30 + .../src/Plugin/Block/PreviewAwareBlock.php | 33 + .../src/Plugin/Block/TestAttributesBlock.php | 43 + .../Plugin/Layout/LayoutBuilderTestPlugin.php | 3 + .../src/Plugin/Layout/LayoutWithoutLabel.php | 42 + .../Plugin/Layout/TestContextAwareLayout.php | 32 + .../SimpleConfigSectionStorage.php | 4 +- .../TestStateBasedSectionStorage.php | 43 +- .../block--preview-aware-block.html.twig | 5 + .../install/views.view.test_block_view.yml | 158 +- .../Functional/LayoutBuilderAccessTest.php | 47 +- .../LayoutBuilderDefaultValuesTest.php | 295 + ...FieldBlockEntityReferenceCacheTagsTest.php | 2 +- .../Functional/LayoutBuilderFormModeTest.php | 118 + .../LayoutBuilderPrepareLayoutTest.php | 1 + .../LayoutBuilderSectionStorageTest.php | 7 +- .../src/Functional/LayoutBuilderTest.php | 358 +- .../LayoutBuilderThemeSuggestionsTest.php | 13 +- .../LayoutBuilderTranslationTest.php | 26 +- .../src/Functional/LayoutSectionTest.php | 9 +- .../Functional/Rest/LayoutRestTestBase.php | 20 +- ...outBuilderContextMappingUpdatePathTest.php | 43 + .../FunctionalJavascript/AjaxBlockTest.php | 38 +- .../FunctionalJavascript/BlockFilterTest.php | 55 +- .../BlockFormMessagesTest.php | 74 +- .../ContentPreviewToggleTest.php | 31 +- .../ContextualLinksTest.php | 27 +- .../FunctionalJavascript/FieldBlockTest.php | 8 +- .../InlineBlockPrivateFilesTest.php | 50 +- .../FunctionalJavascript/InlineBlockTest.php | 121 +- .../InlineBlockTestBase.php | 6 +- .../ItemLayoutFieldBlockTest.php | 13 +- .../LayoutBuilderDisableInteractionsTest.php | 36 +- .../LayoutBuilderNestedFormUiTest.php | 5 +- .../LayoutBuilderOptInTest.php | 8 +- .../LayoutBuilderTest.php | 35 +- .../LayoutBuilderToolbarTest.php | 3 +- .../LayoutBuilderUiTest.php | 46 +- .../MoveBlockFormTest.php | 93 +- .../TestMultiWidthLayoutsTest.php | 33 +- .../tests/src/Kernel/FieldBlockTest.php | 13 +- .../LayoutBuilderBreadcrumbAlterTest.php | 33 + .../LayoutBuilderCompatibilityTestBase.php | 4 +- .../src/Kernel/LayoutBuilderElementTest.php | 2 +- .../LayoutBuilderEntityViewDisplayTest.php | 20 +- .../src/Kernel/LayoutSectionItemListTest.php | 14 +- .../tests/src/Kernel/SectionListTestBase.php | 201 + .../tests/src/Kernel/SectionListTraitTest.php | 12 +- .../src/Kernel/SectionStorageTestBase.php | 186 +- ...st.php => SimpleConfigSectionListTest.php} | 4 +- .../Unit/BlockComponentRenderArrayTest.php | 26 +- .../src/Unit/DefaultsSectionStorageTest.php | 22 + .../LayoutBuilderIsActiveCacheContextTest.php | 110 + ...ayoutSectionStorageParamConverterTest.php} | 23 +- .../Unit/LayoutTempstoreRouteEnhancerTest.php | 52 + .../tests/src/Unit/SectionRenderTest.php | 3 + .../src/Unit/SectionStorageManagerTest.php | 18 +- .../tests/src/Unit/SectionTest.php | 44 +- .../layout_discovery/layout_discovery.module | 7 +- .../layouts/onecol/layout--onecol.html.twig | 1 + .../layout--threecol-25-50-25.html.twig | 1 + .../layout--threecol-33-34-33.html.twig | 1 + .../layouts/twocol/layout--twocol.html.twig | 1 + .../layout--twocol-bricks.html.twig | 1 + .../tests/src/Kernel/LayoutTest.php | 2 +- .../test_layout_theme.info.yml | 2 +- .../link/config/schema/link.schema.yml | 13 +- core/modules/link/src/LinkItemInterface.php | 3 + .../Field/FieldFormatter/LinkFormatter.php | 34 +- .../FieldFormatter/LinkSeparateFormatter.php | 2 +- .../src/Plugin/Field/FieldType/LinkItem.php | 23 +- .../Plugin/Field/FieldWidget/LinkWidget.php | 42 +- .../LinkTypeConstraintValidator.php | 2 +- .../src/Plugin/migrate/field/d7/LinkField.php | 10 + .../src/Plugin/migrate/process/FieldLink.php | 21 +- .../views.view.test_link_tokens.yml | 2 +- .../tests/src/Functional/LinkFieldTest.php | 112 +- .../tests/src/Functional/LinkFieldUITest.php | 90 +- .../Functional/Views/LinkViewsTokensTest.php | 14 +- .../LinkFieldFormStatesTest.php | 80 + .../link/tests/src/Kernel/LinkItemTest.php | 43 +- .../link/tests/src/Unit/LinkFormatterTest.php | 154 + .../LinkAccessConstraintValidatorTest.php | 3 +- ...ternalProtocolsConstraintValidatorTest.php | 18 +- .../Plugin/migrate/field/d6/LinkFieldTest.php | 4 +- .../Plugin/migrate/process/FieldLinkTest.php | 8 +- .../link_test_theme/link_test_theme.info.yml | 5 + .../link-formatter-link-separate.html.twig | 22 + .../config/optional/tour.tour.locale.yml | 37 +- core/modules/locale/css/locale.admin.css | 3 - core/modules/locale/locale.admin.es6.js | 42 +- core/modules/locale/locale.admin.js | 39 +- core/modules/locale/locale.batch.inc | 16 +- core/modules/locale/locale.bulk.es6.js | 11 +- core/modules/locale/locale.bulk.inc | 91 +- core/modules/locale/locale.bulk.js | 12 +- core/modules/locale/locale.compare.inc | 28 +- core/modules/locale/locale.fetch.inc | 41 +- core/modules/locale/locale.libraries.yml | 3 +- core/modules/locale/locale.module | 82 +- core/modules/locale/locale.pages.inc | 2 +- core/modules/locale/locale.translation.inc | 13 +- .../locale/src/Form/TranslateEditForm.php | 4 +- .../locale/src/Form/TranslateFilterForm.php | 11 +- .../locale/src/Form/TranslateFormBase.php | 14 +- .../locale/src/Form/TranslationStatusForm.php | 10 +- .../locale/src/LocaleConfigManager.php | 30 + .../locale/src/LocaleConfigSubscriber.php | 16 +- .../locale/src/LocaleDefaultConfigStorage.php | 2 + core/modules/locale/src/LocaleEvent.php | 2 +- core/modules/locale/src/LocaleLookup.php | 7 +- .../locale/src/LocaleProjectStorage.php | 2 +- core/modules/locale/src/LocaleTranslation.php | 5 + .../Plugin/QueueWorker/LocaleTranslation.php | 2 +- core/modules/locale/src/PluralFormula.php | 4 +- core/modules/locale/src/PoDatabaseReader.php | 2 +- core/modules/locale/src/PoDatabaseWriter.php | 4 +- core/modules/locale/src/SourceString.php | 2 +- core/modules/locale/src/StringBase.php | 8 +- .../locale/src/StringDatabaseStorage.php | 3 +- core/modules/locale/src/TranslationString.php | 2 +- core/modules/locale/tests/locale_test.js | 1 - .../block.block.test_default_config.yml | 6 +- .../locale_test_development_release.info.yml | 2 +- .../schema/locale_test_translate.schema.yml | 2 + .../locale_test_translate.module | 12 + .../LocaleConfigTranslationImportTest.php | 157 +- .../LocaleConfigTranslationTest.php | 75 +- .../src/Functional/LocaleContentTest.php | 65 +- .../tests/src/Functional/LocaleExportTest.php | 45 +- .../Functional/LocaleFileSystemFormTest.php | 2 +- .../Functional/LocaleImportFunctionalTest.php | 110 +- .../LocaleJavascriptTranslationTest.php | 12 +- .../src/Functional/LocaleLocaleLookupTest.php | 13 +- .../tests/src/Functional/LocalePathTest.php | 40 +- .../src/Functional/LocalePluralFormatTest.php | 117 +- .../LocaleTranslateStringTourTest.php | 3 +- .../LocaleTranslatedSchemaDefinitionTest.php | 17 +- .../LocaleTranslationDownloadTest.php | 2 +- .../Functional/LocaleTranslationUiTest.php | 221 +- .../tests/src/Functional/LocaleUpdateBase.php | 12 +- .../src/Functional/LocaleUpdateCronTest.php | 17 +- .../LocaleUpdateDevelopmentReleaseTest.php | 14 +- .../Functional/LocaleUpdateInterfaceTest.php | 44 +- .../tests/src/Functional/LocaleUpdateTest.php | 189 +- .../src/Kernel/LocaleConfigManagerTest.php | 10 +- .../LocaleConfigSubscriberForeignTest.php | 8 +- .../src/Kernel/LocaleConfigSubscriberTest.php | 38 +- .../LocaleConfigurableLanguageManagerTest.php | 8 +- .../src/Kernel/LocaleStringIsSafeTest.php | 16 +- .../tests/src/Kernel/LocaleStringTest.php | 8 +- .../Kernel/LocaleTranslationProjectsTest.php | 6 +- .../src/Kernel/LocaleTranslationTest.php | 14 - .../Migrate/MigrateLocaleConfigsTest.php | 2 +- .../tests/src/Unit/LocaleLookupTest.php | 78 +- .../tests/src/Unit/LocaleTranslationTest.php | 14 + .../config/optional/views.view.media.yml | 405 +- .../media/config/schema/media.schema.yml | 16 +- core/modules/media/js/form.es6.js | 39 +- core/modules/media/js/form.js | 14 +- .../js/media_embed_ckeditor.theme.es6.js | 13 +- .../media/js/media_embed_ckeditor.theme.js | 5 - core/modules/media/js/type_form.es6.js | 26 +- core/modules/media/js/type_form.js | 19 +- core/modules/media/media.install | 47 +- core/modules/media/media.libraries.yml | 2 + core/modules/media/media.module | 21 +- core/modules/media/media.post_update.php | 18 + core/modules/media/media.routing.yml | 2 +- core/modules/media/media.services.yml | 3 +- .../src/Access/MediaRevisionAccessCheck.php | 60 +- .../media/src/Annotation/MediaSource.php | 14 + .../src/Controller/MediaFilterController.php | 30 + .../src/Controller/OEmbedIframeController.php | 47 +- core/modules/media/src/Entity/Media.php | 70 +- core/modules/media/src/Entity/MediaType.php | 2 + .../media/src/Form/EditorMediaDialog.php | 9 +- .../src/Form/MediaTypeDeleteConfirmForm.php | 1 + .../media/src/MediaAccessControlHandler.php | 60 +- core/modules/media/src/MediaListBuilder.php | 1 + core/modules/media/src/MediaPermissions.php | 12 +- core/modules/media/src/MediaSourceBase.php | 4 +- core/modules/media/src/MediaTypeForm.php | 4 +- core/modules/media/src/MediaViewsData.php | 7 - core/modules/media/src/OEmbed/Endpoint.php | 4 +- core/modules/media/src/OEmbed/Provider.php | 4 +- .../media/src/OEmbed/ProviderRepository.php | 100 +- core/modules/media/src/OEmbed/Resource.php | 12 +- .../media/src/OEmbed/ResourceFetcher.php | 44 +- core/modules/media/src/OEmbed/UrlResolver.php | 54 +- .../MediaThumbnailFormatter.php | 45 +- .../Field/FieldFormatter/OEmbedFormatter.php | 1 + .../Plugin/Field/FieldWidget/OEmbedWidget.php | 2 +- .../media/src/Plugin/Filter/MediaEmbed.php | 2 +- .../media/src/Plugin/media/Source/Image.php | 3 +- .../media/src/Plugin/media/Source/OEmbed.php | 137 +- .../src/Plugin/media/Source/OEmbedDeriver.php | 7 +- .../tests/fixtures/oembed/providers.json | 30 + .../tests/fixtures/oembed/rich_twitter.json | 2 +- .../fixtures/oembed/video_collegehumor.xml | 5 +- .../media_test_ckeditor.info.yml | 7 - .../media_test_ckeditor.module | 24 - .../media_test_ckeditor.services.yml | 5 - .../media_test_embed.info.yml | 7 + .../media_test_embed/media_test_embed.module | 33 + .../media_test_embed.services.yml | 5 + .../Controller/TestMediaFilterController.php | 4 +- .../src/Routing/RouteSubscriber.php | 4 +- .../media_test_filter.info.yml | 7 - .../media_test_filter.module | 32 - .../modules/media_test_oembed/css/test.css | 5 + .../media_test_oembed.libraries.yml | 5 + .../media_test_oembed.module | 3 + .../media_test_oembed.routing.yml | 6 + .../src/Controller/ResourceController.php | 15 +- .../src/ProviderRepository.php | 7 - .../config/install/media.type.test.yml | 10 +- .../views.view.test_media_bulk_form.yml | 56 +- .../views.view.test_media_revision_uid.yml | 2 +- .../MediaThumbnailFormatterTest.php | 132 + .../FieldFormatter/OEmbedFormatterTest.php | 8 +- .../FieldWidget/OEmbedFieldWidgetTest.php | 43 + .../tests/src/Functional/MediaAccessTest.php | 18 +- .../src/Functional/MediaOverviewPageTest.php | 10 +- .../src/Functional/MediaRequirementsTest.php | 38 + .../src/Functional/MediaRevisionTest.php | 17 +- .../src/Functional/MediaSettingsTest.php | 2 +- .../src/Functional/MediaSourceFileTest.php | 2 +- .../src/Functional/MediaSourceImageTest.php | 76 + .../src/Functional/MediaTranslationUITest.php | 6 +- .../src/Functional/MediaUiFunctionalTest.php | 49 +- .../src/Functional/ProviderRepositoryTest.php | 3 +- .../Functional/Rest/MediaResourceTestBase.php | 8 +- .../Rest/MediaTypeResourceTestBase.php | 9 +- .../tests/src/Functional/UrlResolverTest.php | 10 +- .../FunctionalJavascript/MediaDisplayTest.php | 61 +- .../MediaEmbedFilterConfigurationUiTest.php | 10 +- .../MediaJavascriptTestBase.php | 2 +- .../MediaReferenceFieldHelpTest.php | 2 +- .../MediaSourceAudioVideoTest.php | 2 +- .../MediaSourceFileTest.php | 10 +- .../MediaSourceImageTest.php | 17 +- .../MediaSourceOEmbedVideoTest.php | 42 +- .../MediaSourceTestBase.php | 2 +- .../MediaStandardProfileTest.php | 87 +- .../MediaTypeCreationTest.php | 9 +- .../MediaUiJavascriptTest.php | 2 +- .../src/Kernel/EditorMediaDialogTest.php | 1 + .../Kernel/MediaAccessControlHandlerTest.php | 18 +- ...diaEmbedFilterDisabledIntegrationsTest.php | 25 +- .../tests/src/Kernel/MediaEmbedFilterTest.php | 38 +- .../MediaEmbedFilterTranslationTest.php | 10 +- .../tests/src/Kernel/MediaSourceTest.php | 21 +- .../media/tests/src/Kernel/MediaTest.php | 10 + .../Kernel/MediaThumbnailFormatterTest.php | 128 + .../tests/src/Kernel/MediaTranslationTest.php | 2 +- .../src/Kernel/OEmbedIframeControllerTest.php | 14 +- .../OEmbedResourceConstraintValidatorTest.php | 2 + .../tests/src/Kernel/OEmbedSourceTest.php | 129 +- .../src/Kernel/ProviderRepositoryTest.php | 45 + .../tests/src/Kernel/ResourceFetcherTest.php | 28 + .../tests/src/Kernel/UrlResolverTest.php | 30 + .../tests/src/Traits/OEmbedTestTrait.php | 22 +- .../media/tests/src/Unit/EndpointTest.php | 39 + .../tests/src/Unit/IFrameUrlHelperTest.php | 11 +- .../tests/src/Unit/ProviderRepositoryTest.php | 254 + .../tests/src/Unit/ResourceFetcherTest.php | 105 + ...e.entity_form_mode.media.media_library.yml | 4 +- ...e.entity_view_mode.media.media_library.yml | 4 +- .../install/views.view.media_library.yml | 713 +- .../js/media_library.click_to_select.es6.js | 54 +- .../js/media_library.click_to_select.js | 11 +- .../media_library/js/media_library.ui.es6.js | 258 +- .../media_library/js/media_library.ui.js | 81 +- .../js/media_library.view.es6.js | 14 +- .../media_library/js/media_library.view.js | 7 +- .../js/media_library.widget.es6.js | 68 +- .../media_library/js/media_library.widget.js | 25 +- .../media_library/media_library.libraries.yml | 11 +- .../media_library/media_library.module | 78 +- .../media_library/src/Form/AddFormBase.php | 5 +- .../media_library/src/Form/FileUploadForm.php | 22 +- .../src/MediaLibraryEditorOpener.php | 4 +- .../src/MediaLibraryFieldWidgetOpener.php | 25 +- .../media_library/src/MediaLibraryState.php | 58 +- .../src/MediaLibraryUiBuilder.php | 8 +- .../Field/FieldWidget/MediaLibraryWidget.php | 128 +- .../views/field/MediaLibrarySelectForm.php | 2 +- ...y_form_display.media.type_five.default.yml | 8 +- ..._display.media.type_five.media_library.yml | 4 +- ...y_form_display.media.type_four.default.yml | 14 +- ..._display.media.type_four.media_library.yml | 8 +- ...ty_form_display.media.type_one.default.yml | 8 +- ..._form_display.media.type_three.default.yml | 10 +- ...display.media.type_three.media_library.yml | 4 +- ...ty_form_display.media.type_two.default.yml | 8 +- ...y_form_display.node.basic_page.default.yml | 26 +- ...y_view_display.media.type_five.default.yml | 22 +- ...ty_view_display.media.type_one.default.yml | 20 +- ...w_display.media.type_one.media_library.yml | 8 +- ..._view_display.media.type_three.default.yml | 24 +- ...ty_view_display.media.type_two.default.yml | 20 +- ...w_display.media.type_two.media_library.yml | 8 +- ...y_view_display.node.basic_page.default.yml | 14 +- ...edia.type_four.field_media_extra_image.yml | 16 +- ...media.type_four.field_media_test_image.yml | 14 +- ...edia.type_three.field_media_test_image.yml | 12 +- ....storage.media.field_media_extra_image.yml | 8 +- .../field.storage.media.field_media_test.yml | 2 +- ...field.storage.media.field_media_test_1.yml | 2 +- ...d.storage.media.field_media_test_image.yml | 8 +- ...ge.media.field_media_test_oembed_video.yml | 2 +- .../config/install/media.type.type_five.yml | 2 +- .../config/schema/media_library_test.yml | 7 + .../media_library_test.module | 24 +- .../FieldType/EntityReferenceItemSubclass.php | 21 + .../MediaLibraryDisplayModeTest.php | 29 +- .../ContentModerationTest.php | 10 +- .../EmbeddedFormWidgetTest.php | 2 +- .../EntityReferenceWidgetTest.php | 197 +- .../FieldUiIntegrationTest.php | 5 + .../MediaLibraryTestBase.php | 5 +- .../MediaOverviewTest.php | 15 +- .../FunctionalJavascript/TranslationsTest.php | 10 +- .../ViewsUiIntegrationTest.php | 13 +- .../FunctionalJavascript/WidgetAccessTest.php | 47 +- .../WidgetAnonymousTest.php | 5 + .../FunctionalJavascript/WidgetOEmbedTest.php | 19 +- .../FunctionalJavascript/WidgetUploadTest.php | 17 +- .../FunctionalJavascript/WidgetViewsTest.php | 16 +- .../WidgetWithoutTypesTest.php | 11 +- .../src/Kernel/MediaLibraryAccessTest.php | 58 +- .../src/Kernel/MediaLibraryStateTest.php | 20 +- .../src/Kernel/MediaLibraryWidgetTest.php | 13 +- .../migrations/d6_menu_links.yml | 12 +- .../src/Entity/MenuLinkContent.php | 4 +- .../src/Form/MenuLinkContentForm.php | 2 +- .../MenuLinkContentAccessControlHandler.php | 2 +- .../src/MenuLinkContentStorage.php | 8 +- .../Plugin/Deriver/MenuLinkContentDeriver.php | 1 + .../src/Plugin/Menu/MenuLinkContent.php | 2 +- .../Plugin/migrate/process/LinkOptions.php | 48 + .../src/Plugin/migrate/source/MenuLink.php | 111 +- .../migrate/source/d6/MenuLinkTranslation.php | 10 +- .../migrate/source/d7/MenuLinkLocalized.php | 2 +- .../migrate/source/d7/MenuLinkTranslation.php | 10 +- .../MenuLinkContentDeleteFormTest.php | 19 +- .../Functional/MenuLinkContentFormTest.php | 15 +- .../MenuLinkContentTranslationUITest.php | 24 +- ...enuLinkContentCacheabilityBubblingTest.php | 9 +- .../src/Kernel/MenuLinkContentDeriverTest.php | 6 +- .../tests/src/Kernel/MenuLinksTest.php | 26 +- .../d6/MigrateMenuLinkLocalizedTest.php | 59 + .../Kernel/Migrate/d6/MigrateMenuLinkTest.php | 13 +- .../d6/MigrateMenuLinkTranslationTest.php | 22 +- .../Kernel/Migrate/d7/MigrateMenuLinkTest.php | 16 +- .../Kernel/PathAliasMenuLinkContentTest.php | 8 +- .../Plugin/migrate/source/MenuLinkTest.php | 53 +- .../Unit/MenuLinkContentEntityAccessTest.php | 2 +- .../menu_ui/config/schema/menu_ui.schema.yml | 4 +- core/modules/menu_ui/menu_ui.admin.es6.js | 23 +- core/modules/menu_ui/menu_ui.admin.js | 18 +- core/modules/menu_ui/menu_ui.es6.js | 12 +- core/modules/menu_ui/menu_ui.js | 19 +- core/modules/menu_ui/menu_ui.module | 22 +- .../menu_ui/src/Form/MenuDeleteForm.php | 2 +- .../menu_ui/src/Form/MenuLinkEditForm.php | 4 + core/modules/menu_ui/src/MenuForm.php | 4 +- core/modules/menu_ui/src/MenuListBuilder.php | 14 + .../MenuSettingsConstraintValidator.php | 2 +- .../src/Functional/MenuLinkReorderTest.php | 8 +- .../MenuUiContentModerationTest.php | 48 +- .../src/Functional/MenuUiLanguageTest.php | 15 +- .../tests/src/Functional/MenuUiNodeTest.php | 64 +- .../tests/src/Functional/MenuUiTest.php | 237 +- .../tests/src/Kernel/MenuUiNodeTypeTest.php | 61 + .../menu_ui/tests/src/Traits/MenuUiTrait.php | 2 +- core/modules/migrate/migrate.api.php | 58 +- core/modules/migrate/migrate.post_update.php | 13 + .../src/Annotation/MigrateProcessPlugin.php | 4 +- .../modules/migrate/src/Audit/AuditResult.php | 2 + core/modules/migrate/src/Audit/IdAuditor.php | 2 + .../src/EntityFieldDefinitionTrait.php | 2 +- .../migrate/src/Event/MigrateEvents.php | 8 +- .../src/Event/MigrateIdMapMessageEvent.php | 9 +- .../src/Event/MigratePreRowSaveEvent.php | 1 + .../src/Exception/RequirementsException.php | 4 +- core/modules/migrate/src/MigrateException.php | 10 +- .../modules/migrate/src/MigrateExecutable.php | 283 +- .../src/MigrateExecutableInterface.php | 7 + core/modules/migrate/src/MigrateLookup.php | 7 + core/modules/migrate/src/MigrateMessage.php | 2 +- .../migrate/src/MigrateSkipRowException.php | 2 +- ...otatedClassDiscoveryAutomatedProviders.php | 6 +- .../Discovery/StaticReflectionParser.php | 6 +- .../BadPluginDefinitionException.php | 6 +- .../Plugin/MigrateDestinationInterface.php | 8 + .../src/Plugin/MigrateIdMapInterface.php | 8 +- .../src/Plugin/MigrateProcessInterface.php | 2 +- .../src/Plugin/MigrateSourceInterface.php | 5 + .../MigrateValidatableEntityInterface.php | 2 + core/modules/migrate/src/Plugin/Migration.php | 114 +- .../migrate/src/Plugin/MigrationInterface.php | 8 +- .../src/Plugin/MigrationPluginManager.php | 6 +- .../migrate/destination/DestinationBase.php | 2 + .../src/Plugin/migrate/destination/Entity.php | 7 +- .../migrate/destination/EntityConfigBase.php | 16 +- .../migrate/destination/EntityContentBase.php | 54 +- .../migrate/destination/EntityRevision.php | 5 +- .../src/Plugin/migrate/id_map/NullIdMap.php | 5 + .../migrate/src/Plugin/migrate/id_map/Sql.php | 93 +- .../src/Plugin/migrate/process/ArrayBuild.php | 2 +- .../src/Plugin/migrate/process/Callback.php | 47 +- .../src/Plugin/migrate/process/Concat.php | 2 +- .../Plugin/migrate/process/DefaultValue.php | 3 +- .../src/Plugin/migrate/process/Download.php | 14 +- .../src/Plugin/migrate/process/Explode.php | 2 +- .../src/Plugin/migrate/process/Extract.php | 6 +- .../src/Plugin/migrate/process/FileCopy.php | 4 +- .../migrate/process/FileProcessBase.php | 2 +- .../src/Plugin/migrate/process/Flatten.php | 10 +- .../src/Plugin/migrate/process/FormatDate.php | 16 +- .../src/Plugin/migrate/process/Get.php | 3 +- .../src/Plugin/migrate/process/Log.php | 34 +- .../Plugin/migrate/process/MachineName.php | 48 +- .../Plugin/migrate/process/MakeUniqueBase.php | 6 +- .../migrate/process/MakeUniqueEntityField.php | 1 + .../Plugin/migrate/process/MenuLinkParent.php | 1 - .../migrate/process/MigrationLookup.php | 50 +- .../Plugin/migrate/process/NullCoalesce.php | 4 +- .../src/Plugin/migrate/process/Route.php | 7 +- .../src/Plugin/migrate/process/StaticMap.php | 28 + .../src/Plugin/migrate/process/SubProcess.php | 4 + .../src/Plugin/migrate/process/Substr.php | 5 +- .../src/Plugin/migrate/process/UrlEncode.php | 2 +- .../Plugin/migrate/source/DummyQueryTrait.php | 2 +- .../migrate/source/EmbeddedDataSource.php | 19 +- .../src/Plugin/migrate/source/EmptySource.php | 12 +- .../migrate/source/SourcePluginBase.php | 136 +- .../src/Plugin/migrate/source/SqlBase.php | 28 +- core/modules/migrate/src/Row.php | 9 +- .../migrate_cache_counts_test.info.yml | 5 + .../source/CacheableEmbeddedDataSource.php | 33 + .../migrate_prepare_row_test.module | 3 +- .../migrate_skip_all_rows_test.info.yml | 5 + .../migrate_skip_all_rows_test.module | 20 + .../migrate_sql_count_cache_test.info.yml | 4 + .../Plugin/migrate/source/SqlCountCache.php | 43 + .../migrations/sample_stubbing_migration.yml | 2 + .../migrations/track_changes_test.yml | 1 + .../process/DownloadFunctionalTest.php | 11 +- .../tests/src/Kernel/HighWaterTest.php | 24 +- .../tests/src/Kernel/MigrateBundleTest.php | 10 +- .../src/Kernel/MigrateEmbeddedDataTest.php | 6 +- .../Kernel/MigrateEntityContentBaseTest.php | 77 +- .../MigrateEntityContentValidationTest.php | 111 +- .../tests/src/Kernel/MigrateEventsTest.php | 36 +- .../src/Kernel/MigrateExecutableTest.php | 30 + .../Kernel/MigrateExternalTranslatedTest.php | 2 +- .../src/Kernel/MigrateInterruptionTest.php | 4 +- .../tests/src/Kernel/MigrateLookupTest.php | 11 - .../tests/src/Kernel/MigrateMessageTest.php | 10 +- .../tests/src/Kernel/MigrateSkipRowTest.php | 6 +- .../src/Kernel/MigrateSourceTestBase.php | 15 +- .../src/Kernel/MigrateSqlSourceTestBase.php | 45 +- .../tests/src/Kernel/MigrateStatusTest.php | 4 +- .../tests/src/Kernel/MigrateStubTest.php | 32 +- .../tests/src/Kernel/MigrateTestBase.php | 12 +- .../tests/src/Kernel/MigrationTest.php | 8 +- .../src/Kernel/Plugin/EntityExistsTest.php | 2 +- .../tests/src/Kernel/Plugin/LogTest.php | 195 +- .../MigrationPluginConfigurationTest.php | 2 +- .../Kernel/Plugin/MigrationPluginListTest.php | 19 +- .../Plugin/MigrationProvidersExistTest.php | 20 +- .../tests/src/Kernel/Plugin/MigrationTest.php | 6 + .../Plugin/id_map/SqlDeprecationTest.php | 36 + .../src/Kernel/Plugin/id_map/SqlTest.php | 10 +- .../source/MigrateSqlSourceCountCacheTest.php | 76 + .../source/MigrationSourceCacheTest.php | 122 + .../tests/src/Kernel/QueryBatchTest.php | 6 +- .../migrate/tests/src/Kernel/SqlBaseTest.php | 19 +- .../tests/src/Kernel/TestFilterIterator.php | 2 +- .../tests/src/Kernel/TrackChangesTest.php | 52 +- .../tests/src/Kernel/process/DownloadTest.php | 16 +- .../tests/src/Kernel/process/ExtractTest.php | 2 + .../tests/src/Kernel/process/FileCopyTest.php | 20 +- .../Kernel/process/HandleMultiplesTest.php | 33 + .../tests/src/Kernel/process/RouteTest.php | 2 + .../tests/src/Unit/Event/EventBaseTest.php | 4 +- .../src/Unit/Event/MigrateImportEventTest.php | 4 +- .../Event/MigratePostRowSaveEventTest.php | 4 +- .../Unit/Event/MigratePreRowSaveEventTest.php | 2 +- .../MigrateExecutableMemoryExceededTest.php | 22 +- .../tests/src/Unit/MigrateExecutableTest.php | 372 +- .../tests/src/Unit/MigrateLookupTest.php | 58 +- .../tests/src/Unit/MigrateSourceTest.php | 42 +- .../Unit/MigrateSqlIdMapEnsureTablesTest.php | 148 +- .../tests/src/Unit/MigrateSqlIdMapTest.php | 49 +- .../tests/src/Unit/MigrateStubTest.php | 1 + .../tests/src/Unit/MigrateTestCase.php | 25 +- .../src/Unit/MigrationPluginManagerTest.php | 2 +- .../destination/EntityContentBaseTest.php | 18 +- .../destination/EntityRevisionTest.php | 7 +- .../migrate/destination/EntityTestBase.php | 2 +- .../migrate/tests/src/Unit/RowTest.php | 36 +- .../migrate/tests/src/Unit/SqlBaseTest.php | 20 +- .../tests/src/Unit/TestMigrateExecutable.php | 1 + .../migrate/tests/src/Unit/TestSqlIdMap.php | 18 +- .../tests/src/Unit/destination/ConfigTest.php | 26 +- .../Unit/destination/EntityRevisionTest.php | 25 +- .../PerComponentEntityDisplayTest.php | 1 + .../PerComponentEntityFormDisplayTest.php | 1 + .../tests/src/Unit/process/CallbackTest.php | 65 +- .../tests/src/Unit/process/ConcatTest.php | 6 +- .../tests/src/Unit/process/ExplodeTest.php | 20 +- .../tests/src/Unit/process/ExtractTest.php | 54 +- .../tests/src/Unit/process/FileCopyTest.php | 6 +- .../tests/src/Unit/process/FlattenTest.php | 2 +- .../tests/src/Unit/process/FormatDateTest.php | 4 +- .../tests/src/Unit/process/GetTest.php | 17 +- .../tests/src/Unit/process/LogTest.php | 111 + .../src/Unit/process/MachineNameTest.php | 64 +- .../process/MakeUniqueEntityFieldTest.php | 34 +- .../Unit/process/MigrateProcessTestCase.php | 2 +- .../src/Unit/process/MigrationLookupTest.php | 62 +- .../tests/src/Unit/process/StaticMapTest.php | 24 +- .../tests/src/Unit/process/SubProcessTest.php | 85 +- .../tests/src/Unit/process/SubstrTest.php | 2 +- .../tests/src/Unit/process/UrlEncodeTest.php | 6 +- .../migrate_drupal/migrate_drupal.install | 2 + .../migrate_drupal/migrate_drupal.module | 3 +- .../state/migrate_drupal.migrate_drupal.yml | 23 +- .../migrate_drupal/src/FieldDiscovery.php | 2 +- .../src/MigrationConfigurationTrait.php | 6 +- .../migrate_drupal/src/MigrationState.php | 2 +- .../EntityReferenceTranslationDeriver.php | 13 +- .../src/Plugin/migrate/FieldMigration.php | 6 +- .../Plugin/migrate/field/NodeReference.php | 12 +- .../Plugin/migrate/field/d6/UserReference.php | 2 - .../Plugin/migrate/field/d7/NodeReference.php | 56 + .../Plugin/migrate/field/d7/UserReference.php | 76 + .../Plugin/migrate/source/ContentEntity.php | 28 +- .../Plugin/migrate/source/DrupalSqlBase.php | 19 +- .../src/Plugin/migrate/source/EmptySource.php | 6 + .../src/Plugin/migrate/source/Variable.php | 21 +- .../migrate/source/VariableMultiRow.php | 26 +- .../migrate/source/d6/VariableTranslation.php | 23 +- .../migrate/source/d7/FieldableEntity.php | 32 +- .../migrate/source/d7/VariableTranslation.php | 24 +- .../src/Plugin/migrate/source/d8/Config.php | 42 +- .../src/Tests/StubTestTrait.php | 3 +- ...-8.migrate-drupal-multilingual-enabled.php | 2 +- .../migrate_drupal/tests/fixtures/drupal6.php | 67 +- .../migrate_drupal/tests/fixtures/drupal7.php | 23105 ++++-- ...ate_state_finished_test.migrate_drupal.yml | 6 - .../src/Plugin/migrate/field/FieldLeft.php | 18 - .../src/Plugin/migrate/field/FieldRight.php | 20 - ...state_not_finished_test.migrate_drupal.yml | 5 +- .../src/Kernel/IdMapTableNoDummyTest.php | 2 +- .../migrate/DestinationCategoryTest.php | 6 +- .../source/ContentEntityConstructorTest.php | 72 + .../migrate/source/ContentEntityTest.php | 275 +- .../migrate/source/VariableMultiRowTest.php | 2 + .../source/d6/VariableTranslationTest.php | 2 +- ...FileExists.php => StateFileExistsTest.php} | 9 +- .../src/Kernel/d6/EntityContentBaseTest.php | 26 +- .../src/Kernel/d6/FieldDiscoveryTest.php | 5 +- .../src/Kernel/d6/FollowUpMigrationsTest.php | 4 +- .../Kernel/d6/MigrateDrupal6AuditIdsTest.php | 2 + .../src/Kernel/d7/FieldDiscoveryTest.php | 78 +- .../src/Kernel/d7/FollowUpMigrationsTest.php | 40 +- .../Kernel/d7/MigrateDrupal7AuditIdsTest.php | 2 + .../dependencies/MigrateDependenciesTest.php | 17 +- .../Traits/CreateTestContentEntitiesTrait.php | 3 + .../src/Traits/NodeMigrateTypeTestTrait.php | 2 + .../ValidateMigrationStateTestTrait.php | 8 +- .../tests/src/Unit/FieldDiscoveryTest.php | 4 +- .../Unit/MigrateFieldPluginManagerTest.php | 4 +- .../Unit/MigrationConfigurationTraitTest.php | 152 + .../tests/src/Unit/MigrationStateUnitTest.php | 1 - .../field/d6/NodeReferenceFieldTest.php | 4 +- .../src/Unit/source/DrupalSqlBaseTest.php | 123 +- .../src/Unit/source/d6/Drupal6SqlBaseTest.php | 22 +- .../migrate_drupal_multilingual.info.yml | 2 + .../migrate_drupal_multilingual.install | 23 - .../migrate_drupal_multilingual.module | 21 - .../migrate_drupal_ui.module | 6 +- .../migrate_drupal_ui.routing.yml | 2 +- .../src/Batch/MigrateUpgradeImportBatch.php | 27 +- .../src/Controller/MigrateController.php | 9 +- .../src/Form/CredentialForm.php | 115 +- .../src/Form/MigrateUpgradeFormBase.php | 2 +- .../src/Form/OverviewForm.php | 6 +- .../migrate_drupal_ui/src/Form/ReviewForm.php | 30 +- .../migration_provider_no_annotation.yml | 2 +- .../Plugin/migrate/source/NoSourceModule.php | 12 +- .../src/Functional/CredentialFormTest.php | 2 +- .../src/Functional/MigrateAccessTest.php | 4 +- .../MigrateUpgradeExecuteTestBase.php | 68 +- .../MigrateUpgradeFormStepsTest.php | 6 +- .../src/Functional/MigrateUpgradeTestBase.php | 76 +- .../MultilingualReviewPageTestBase.php | 18 +- .../NoMultilingualReviewPageTestBase.php | 23 +- .../src/Functional/SourceProviderTest.php | 53 +- .../src/Functional/d6/IdConflictTest.php | 40 +- .../d6/MultilingualReviewPageTest.php | 27 +- .../d6/NoMultilingualReviewPageTest.php | 18 +- .../src/Functional/d6/NodeClassicTest.php | 36 +- .../tests/src/Functional/d6/Upgrade6Test.php | 74 +- .../src/Functional/d7/DoubleSlashTest.php | 115 + .../tests/src/Functional/d7/FilePathTest.php | 321 + .../src/Functional/d7/IdConflictTest.php | 40 +- .../d7/MultilingualReviewPageTest.php | 34 +- .../d7/NoMultilingualReviewPageTest.php | 31 +- .../tests/src/Functional/d7/Upgrade7Test.php | 91 +- .../d7/files/sites/default/files/ds9.txt | 80 +- .../src/FunctionalJavascript/SettingsTest.php | 274 + core/modules/mysql/mysql.info.yml | 5 + core/modules/mysql/mysql.install | 48 + core/modules/mysql/mysql.module | 22 + .../src/Driver/Database/mysql/Connection.php | 496 + .../src/Driver/Database/mysql/Delete.php | 22 + .../Database/mysql/ExceptionHandler.php | 59 + .../src/Driver/Database/mysql/Insert.php | 82 + .../Driver/Database/mysql/Install/Tasks.php | 214 + .../mysql/src/Driver/Database/mysql/Merge.php | 22 + .../src/Driver/Database/mysql/Schema.php | 680 + .../src/Driver/Database/mysql/Select.php | 22 + .../src/Driver/Database/mysql/Truncate.php | 22 + .../src/Driver/Database/mysql/Update.php | 22 + .../src/Driver/Database/mysql/Upsert.php | 53 + .../tests/src/Functional/RequirementsTest.php | 91 + .../tests/src/Kernel/mysql/ConnectionTest.php | 24 + .../src/Kernel/mysql/ConnectionUnitTest.php | 25 + .../mysql/DatabaseExceptionWrapperTest.php | 43 + .../src/Kernel/mysql}/LargeQueryTest.php | 12 +- .../Kernel/mysql/MysqlDriverLegacyTest.php | 79 + .../tests/src/Kernel/mysql/NextIdTest.php | 58 + .../src/Kernel/mysql}/PrefixInfoTest.php | 12 +- .../tests/src/Kernel/mysql/SchemaTest.php | 146 + .../tests/src/Kernel/mysql/SqlModeTest.php | 41 + .../mysql/tests/src/Unit}/ConnectionTest.php | 33 +- .../tests/src/Unit/InstallTasksTest.php} | 18 +- .../config/optional/views.view.archive.yml | 131 +- .../config/optional/views.view.content.yml | 384 +- .../optional/views.view.content_recent.yml | 197 +- .../config/optional/views.view.frontpage.yml | 304 +- .../config/optional/views.view.glossary.yml | 321 +- .../node/config/schema/node.schema.yml | 1 + core/modules/node/content_types.es6.js | 34 +- core/modules/node/content_types.js | 35 +- .../modules/node/migrations/d6_view_modes.yml | 4 +- .../migrations/state/node.migrate_drupal.yml | 4 + core/modules/node/node.admin.inc | 24 +- core/modules/node/node.api.php | 17 +- core/modules/node/node.es6.js | 13 +- core/modules/node/node.install | 2 +- core/modules/node/node.js | 19 +- core/modules/node/node.libraries.yml | 3 +- core/modules/node/node.module | 92 +- core/modules/node/node.post_update.php | 57 + core/modules/node/node.preview.es6.js | 28 +- core/modules/node/node.preview.js | 25 +- core/modules/node/node.routing.yml | 38 +- core/modules/node/node.services.yml | 3 + .../node/src/Access/NodeAddAccessCheck.php | 5 + .../src/Access/NodeRevisionAccessCheck.php | 81 +- .../Cache/NodeAccessGrantsCacheContext.php | 2 +- .../src/ContextProvider/NodeRouteContext.php | 6 +- .../node/src/Controller/NodeController.php | 43 +- .../src/Controller/NodeViewController.php | 46 +- core/modules/node/src/Entity/NodeType.php | 4 + .../NodeAdminRouteSubscriber.php | 1 + .../NodeTranslationExceptionSubscriber.php | 2 +- .../node/src/Form/NodeRevisionDeleteForm.php | 11 +- .../node/src/Form/NodeRevisionRevertForm.php | 10 +- .../NodeRevisionRevertTranslationForm.php | 2 +- .../node/src/Form/NodeTypeDeleteConfirm.php | 1 + .../node/src/Form/RebuildPermissionsForm.php | 6 +- .../node/src/NodeAccessControlHandler.php | 82 +- core/modules/node/src/NodeForm.php | 8 +- .../node/src/NodeGrantDatabaseStorage.php | 20 +- core/modules/node/src/NodeListBuilder.php | 10 +- core/modules/node/src/NodePermissions.php | 13 +- core/modules/node/src/NodeStorage.php | 6 +- core/modules/node/src/NodeTypeForm.php | 52 +- core/modules/node/src/NodeTypeListBuilder.php | 4 +- core/modules/node/src/NodeViewsData.php | 41 +- .../src/Plugin/Action/AssignOwnerNode.php | 12 +- .../Plugin/Action/UnpublishByKeywordNode.php | 4 +- .../node/src/Plugin/Block/SyndicateBlock.php | 47 +- .../node/src/Plugin/Condition/NodeType.php | 8 +- .../NodeSelection.php | 4 +- .../node/src/Plugin/Search/NodeSearch.php | 59 +- .../node/src/Plugin/migrate/D6NodeDeriver.php | 4 +- .../node/src/Plugin/migrate/D7NodeDeriver.php | 4 +- .../migrate/destination/EntityNodeType.php | 4 +- .../src/Plugin/migrate/source/d6/Node.php | 76 +- .../Plugin/migrate/source/d6/NodeComplete.php | 7 +- .../Plugin/migrate/source/d6/NodeRevision.php | 7 +- .../src/Plugin/migrate/source/d6/NodeType.php | 7 +- .../src/Plugin/migrate/source/d6/ViewMode.php | 8 +- .../Plugin/migrate/source/d6/ViewModeBase.php | 2 +- .../src/Plugin/migrate/source/d7/Node.php | 38 +- .../Plugin/migrate/source/d7/NodeComplete.php | 13 +- .../source/d7/NodeEntityTranslation.php | 36 +- .../Plugin/migrate/source/d7/NodeRevision.php | 7 +- .../src/Plugin/migrate/source/d7/NodeType.php | 5 + .../node/src/Plugin/views/argument/Nid.php | 1 + .../node/src/Plugin/views/argument/Type.php | 6 +- .../src/Plugin/views/argument/UidRevision.php | 5 +- .../node/src/Plugin/views/argument/Vid.php | 39 +- .../node/src/Plugin/views/field/Node.php | 6 +- .../modules/node/src/Plugin/views/row/Rss.php | 60 +- .../node/src/Plugin/views/wizard/Node.php | 25 +- .../ParamConverter/NodePreviewConverter.php | 2 +- .../templates/field--node--created.html.twig | 11 + .../templates/field--node--title.html.twig | 11 + .../node/templates/field--node--uid.html.twig | 11 + core/modules/node/templates/node.html.twig | 4 - ...-1-bare.minimal-content-translation.php.gz | Bin 0 -> 54882 bytes .../node_access_test/node_access_test.module | 4 +- .../node_access_test_language.info.yml | 2 +- .../config/install/rdf.mapping.node.page.yml | 40 - .../tests/modules/node_test/node_test.module | 5 +- .../config/install/node.type.default.yml | 8 +- ...s.view.test_argument_node_uid_revision.yml | 2 +- .../views.view.test_contextual_links.yml | 2 +- .../views.view.test_field_filters.yml | 2 +- .../views.view.test_filter_node_access.yml | 2 +- ...ews.view.test_filter_node_uid_revision.yml | 2 +- .../test_views/views.view.test_language.yml | 2 +- .../views.view.test_nid_argument.yml | 2 +- .../views.view.test_node_bulk_form.yml | 2 +- .../views.view.test_node_path_plugin.yml | 2 +- ...ws.view.test_node_revision_id_argument.yml | 197 + .../views.view.test_node_revision_links.yml | 2 +- .../views.view.test_node_revision_nid.yml | 2 +- ...iews.view.test_node_revision_timestamp.yml | 2 +- .../views.view.test_node_revision_uid.yml | 2 +- .../views.view.test_node_revision_vid.yml | 2 +- .../views.view.test_node_row_plugin.yml | 2 +- .../views.view.test_node_tokens.yml | 2 +- .../test_views/views.view.test_node_view.yml | 2 +- .../views.view.test_node_views_analyze.yml | 2 +- .../views.view.test_status_extra.yml | 2 +- .../NodeAccessTestAutoBubblingController.php | 1 + .../src/Functional/AssertButtonsTrait.php | 23 +- .../MultiStepNodeFormBasicOptionsTest.php | 3 +- .../Functional/NodeAccessBaseTableTest.php | 73 +- .../Functional/NodeAccessCacheabilityTest.php | 2 - .../NodeAccessCacheabilityWithNodeGrants.php | 3 +- .../src/Functional/NodeAccessFieldTest.php | 18 +- .../NodeAccessGrantsCacheContextTest.php | 18 +- .../src/Functional/NodeAccessMenuLinkTest.php | 7 +- .../src/Functional/NodeAccessPagerTest.php | 24 +- .../NodeAccessRebuildNodeGrantsTest.php | 17 +- .../NodeActionsConfigurationTest.php | 35 +- .../tests/src/Functional/NodeAdminTest.php | 19 +- .../Functional/NodeBlockFunctionalTest.php | 87 +- .../src/Functional/NodeCacheTagsTest.php | 11 - .../tests/src/Functional/NodeCreationTest.php | 68 +- .../NodeDisplayConfigurableTest.php | 81 - .../tests/src/Functional/NodeEditFormTest.php | 59 +- .../NodeEntityViewModeAlterTest.php | 13 +- .../Functional/NodeFieldMultilingualTest.php | 29 +- .../NodeFormSaveChangedTimeTest.php | 9 +- .../tests/src/Functional/NodeHelpTest.php | 4 +- .../tests/src/Functional/NodeLinksTest.php | 4 +- .../src/Functional/NodePostSettingsTest.php | 28 +- .../Functional/NodePreviewAnonymousTest.php | 3 +- .../src/Functional/NodeQueryAlterTest.php | 11 + .../src/Functional/NodeRSSContentTest.php | 29 +- .../NodeRevisionPermissionsTest.php | 18 +- .../src/Functional/NodeRevisionsAllTest.php | 59 +- .../src/Functional/NodeRevisionsTest.php | 105 +- .../NodeRevisionsUiBypassAccessTest.php | 40 +- .../src/Functional/NodeRevisionsUiTest.php | 17 +- .../tests/src/Functional/NodeSaveTest.php | 32 +- .../src/Functional/NodeSyndicateBlockTest.php | 12 +- .../NodeTemplateSuggestionsTest.php | 4 +- .../tests/src/Functional/NodeTestBase.php | 12 +- .../tests/src/Functional/NodeTitleTest.php | 25 +- .../tests/src/Functional/NodeTitleXSSTest.php | 14 +- .../src/Functional/NodeTranslationUITest.php | 93 +- .../NodeTypeInitialLanguageTest.php | 31 +- .../tests/src/Functional/NodeTypeTest.php | 64 +- .../Functional/NodeTypeTranslationTest.php | 38 +- .../src/Functional/NodeViewLanguageTest.php | 2 +- .../tests/src/Functional/NodeViewTest.php | 65 +- .../tests/src/Functional/PagePreviewTest.php | 167 +- .../Rest/NodeTypeResourceTestBase.php | 5 +- .../NodeContentTranslationUpdateTest.php | 42 + .../Functional/Views/BulkFormAccessTest.php | 43 +- .../src/Functional/Views/BulkFormTest.php | 26 +- .../Functional/Views/FilterNodeAccessTest.php | 36 +- .../src/Functional/Views/FrontPageTest.php | 52 +- .../Functional/Views/NodeFieldFilterTest.php | 10 +- .../Functional/Views/NodeFieldTokensTest.php | 12 +- .../Functional/Views/NodeIntegrationTest.php | 6 +- .../src/Functional/Views/NodeLanguageTest.php | 58 +- .../src/Functional/Views/NodeTestBase.php | 9 +- .../src/Functional/Views/PathPluginTest.php | 8 +- .../src/Functional/Views/RowPluginTest.php | 4 +- .../src/Functional/Views/StatusExtraTest.php | 40 +- ...enTaxonomyTermReferenceFieldWizardTest.php | 63 + .../{ => Wizard}/NodeRevisionWizardTest.php | 29 +- .../NodePreviewLinkTest.php | 5 +- ...hp => SettingSummariesContentTypeTest.php} | 10 +- .../Action/UnpublishByKeywordActionTest.php | 5 +- .../Kernel/Config/NodeImportChangeTest.php | 2 +- .../d6/MigrateNodeBundleSettingsTest.php | 18 +- .../Migrate/d6/MigrateNodeCompleteTest.php | 15 +- .../Migrate/d6/MigrateNodeDeriverTest.php | 4 +- .../Migrate/d6/MigrateNodeRevisionTest.php | 72 +- .../d6/MigrateNodeSettingPromoteTest.php | 2 +- .../d6/MigrateNodeSettingStatusTest.php | 2 +- .../d6/MigrateNodeSettingStickyTest.php | 2 +- .../src/Kernel/Migrate/d6/MigrateNodeTest.php | 94 +- .../Kernel/Migrate/d6/MigrateNodeTypeTest.php | 28 +- .../Migrate/d6/MigrateViewModesTest.php | 4 +- .../Migrate/d7/MigrateNodeCompleteTest.php | 42 +- .../Migrate/d7/MigrateNodeDeriverTest.php | 34 +- .../Migrate/d7/MigrateNodeRevisionTest.php | 29 +- .../Migrate/d7/MigrateNodeSettingsTest.php | 2 +- .../src/Kernel/Migrate/d7/MigrateNodeTest.php | 22 +- .../Migrate/d7/MigrateNodeTitleLabelTest.php | 6 +- .../Kernel/Migrate/d7/MigrateNodeTypeTest.php | 31 +- ...NodeAccessLanguageAwareCombinationTest.php | 10 +- .../Kernel/NodeAccessLanguageAwareTest.php | 20 +- .../src/Kernel/NodeAccessLanguageTest.php | 23 +- .../src/Kernel/NodeAccessRecordsTest.php | 18 +- .../node/tests/src/Kernel/NodeAccessTest.php | 2 +- .../tests/src/Kernel/NodeAccessTestBase.php | 6 +- .../src/Kernel/NodeBodyFieldStorageTest.php | 3 + .../tests/src/Kernel/NodeConditionTest.php | 13 +- .../tests/src/Kernel/NodeDeprecationTest.php | 26 + .../tests/src/Kernel/NodeFieldAccessTest.php | 6 +- .../src/Kernel/NodeFieldOverridesTest.php | 4 +- .../tests/src/Kernel/NodeListBuilderTest.php | 5 +- .../tests/src/Kernel/NodeLoadMultipleTest.php | 72 +- .../node/tests/src/Kernel/NodeOwnerTest.php | 13 +- .../tests/src/Kernel/NodeTokenReplaceTest.php | 11 +- .../tests/src/Kernel/NodeValidationTest.php | 14 +- .../migrate/source/d6/NodeByNodeTypeTest.php | 37 +- .../Plugin/migrate/source/d6/NodeTest.php | 24 + .../source/d7/NodeEntityTranslationTest.php | 116 +- .../Plugin/migrate/source/d7/NodeTest.php | 81 +- .../Views/ArgumentNodeRevisionIdTest.php | 74 + .../src/Kernel/Views/NidArgumentTest.php | 6 +- .../src/Traits/ContentTypeCreationTrait.php | 2 +- .../tests/src/Traits/NodeCreationTrait.php | 35 +- .../src/Unit/NodeOperationAccessTest.php | 294 + .../Unit/PageCache/DenyNodePreviewTest.php | 5 +- .../Plugin/views/field/NodeBulkFormTest.php | 12 +- core/modules/options/options.api.php | 2 +- .../OptionsDefaultFormatter.php | 2 +- .../Plugin/Field/FieldType/ListFloatItem.php | 15 +- .../Field/FieldType/ListIntegerItem.php | 15 +- .../Plugin/Field/FieldType/ListItemBase.php | 15 +- .../Plugin/Field/FieldType/ListStringItem.php | 13 +- .../Plugin/views/argument/NumberListField.php | 3 +- ...play.node.options_install_test.default.yml | 10 +- ...play.node.options_install_test.default.yml | 8 +- ...splay.node.options_install_test.teaser.yml | 8 +- ...d.field.node.options_install_test.body.yml | 2 +- ...tions_install_test.field_options_float.yml | 2 +- .../node.type.options_install_test.yml | 2 +- ...iew.test_options_list_argument_numeric.yml | 2 +- ...view.test_options_list_argument_string.yml | 2 +- .../views.view.test_options_list_filter.yml | 2 +- .../OptionsDynamicValuesApiTest.php | 8 +- .../OptionsDynamicValuesTestBase.php | 17 +- .../OptionsDynamicValuesValidationTest.php | 2 +- .../src/Functional/OptionsFieldUITest.php | 41 +- .../OptionsFloatFieldImportTest.php | 14 +- .../OptionsSelectDynamicValuesTest.php | 5 +- .../src/Functional/OptionsWidgetsTest.php | 66 +- .../tests/src/Kernel/OptionsFieldTest.php | 40 +- .../src/Kernel/OptionsFormattersTest.php | 8 +- .../src/Kernel/Views/FileViewsDataTest.php | 48 +- .../src/Kernel/Views/OptionsTestBase.php | 3 + .../tests/src/Kernel/Views/ViewsDataTest.php | 9 +- .../src/StackMiddleware/PageCache.php | 2 +- .../tests/modules/page_cache_form_test.module | 4 +- .../PageCacheTagsIntegrationTest.php | 77 +- .../tests/src/Functional/PageCacheTest.php | 101 +- core/modules/path/path.es6.js | 6 +- core/modules/path/path.js | 4 +- core/modules/path/path.module | 8 +- .../modules/path/src/PathAliasListBuilder.php | 2 +- .../Plugin/Field/FieldWidget/PathWidget.php | 4 +- .../migrate/process/PathSetTranslated.php | 2 +- .../migrate/process/d6/UrlAliasLanguage.php | 16 +- .../src/Plugin/migrate/source/d6/UrlAlias.php | 7 +- .../src/Plugin/migrate/source/d7/UrlAlias.php | 7 +- .../tests/src/Functional/PathAdminTest.php | 12 +- .../tests/src/Functional/PathAliasTest.php | 150 +- .../Functional/PathContentModerationTest.php | 41 +- .../tests/src/Functional/PathLanguageTest.php | 48 +- .../src/Functional/PathLanguageUiTest.php | 31 +- .../src/Functional/PathMediaFormTest.php | 6 +- .../tests/src/Functional/PathNodeFormTest.php | 9 +- .../src/Functional/PathTaxonomyTermTest.php | 28 +- .../tests/src/Functional/PathTestBase.php | 3 + .../Kernel/Migrate/d6/MigrateUrlAliasTest.php | 13 +- .../Kernel/Migrate/d7/MigrateUrlAliasTest.php | 3 +- .../Migrate/d7/MigrateUrlAliasTestBase.php | 10 +- .../path/tests/src/Kernel/PathItemTest.php | 2 +- .../src/Kernel/PathNoCanonicalLinkTest.php | 3 + .../d6/UrlAliasLanguageDeprecatedTest.php | 25 + core/modules/path_alias/src/AliasManager.php | 10 +- .../path_alias/src/AliasManagerInterface.php | 7 +- .../EventSubscriber/PathAliasSubscriber.php | 2 +- .../Rest/PathAliasResourceTestBase.php | 9 +- .../src/Functional/UrlAlterFunctionalTest.php | 37 +- .../path_alias/tests/src/Kernel/AliasTest.php | 14 +- .../tests/src/Unit/AliasManagerTest.php | 65 +- .../PathProcessor/AliasPathProcessorTest.php | 11 +- core/modules/pgsql/pgsql.info.yml | 5 + core/modules/pgsql/pgsql.module | 22 + .../src/Driver/Database/pgsql/Connection.php | 386 + .../src/Driver/Database/pgsql/Delete.php | 39 + .../src/Driver/Database/pgsql/Insert.php | 156 + .../Driver/Database/pgsql/Install/Tasks.php | 294 + .../pgsql/src/Driver/Database/pgsql/Merge.php | 22 + .../src/Driver/Database/pgsql/Schema.php | 1084 + .../src/Driver/Database/pgsql/Select.php | 170 + .../src/Driver/Database/pgsql/Truncate.php | 39 + .../src/Driver/Database/pgsql/Update.php | 93 + .../src/Driver/Database/pgsql/Upsert.php | 136 + .../src/Kernel/pgsql/ConnectionUnitTest.php | 25 + .../pgsql/DatabaseExceptionWrapperTest.php | 23 + .../Kernel/pgsql/PgsqlDriverLegacyTest.php | 106 + .../tests/src/Kernel/pgsql/SchemaTest.php | 25 + .../pgsql/tests/src/Unit/SchemaTest.php} | 30 +- .../css/editors/formattedText.ckeditor.css | 18 + .../css/editors/formattedText.ckeditor5.css | 9 + .../formattedText/ckeditor5.workaround.css | 9 + .../quickedit/css}/editors/image.css | 2 +- .../css/editors/image.theme.css | 2 +- .../quickedit.quick_edit.html.twig | 20 + .../{image => quickedit}/images/error.svg | 0 .../{image => quickedit}/images/upload.svg | 0 .../quickedit/js/editors/formEditor.js | 26 +- .../js/editors/formattedTextEditor.es6.js} | 51 +- .../js/editors/formattedTextEditor.js} | 49 +- .../js/editors/image.es6.js | 5 +- .../{image => quickedit}/js/editors/image.js | 25 +- .../js/editors/plainTextEditor.es6.js | 7 +- .../quickedit/js/editors/plainTextEditor.js | 19 +- core/modules/quickedit/js/models/AppModel.js | 1 - core/modules/quickedit/js/models/BaseModel.js | 6 +- .../quickedit/js/models/EditorModel.js | 1 - .../quickedit/js/models/EntityModel.es6.js | 3 + .../quickedit/js/models/EntityModel.js | 57 +- .../modules/quickedit/js/models/FieldModel.js | 4 - core/modules/quickedit/js/quickedit.es6.js | 45 +- core/modules/quickedit/js/quickedit.js | 99 +- core/modules/quickedit/js/theme.es6.js | 85 + core/modules/quickedit/js/theme.js | 32 +- core/modules/quickedit/js/util.js | 7 - core/modules/quickedit/js/views/AppView.js | 127 +- .../js/views/ContextualLinkView.es6.js | 4 +- .../quickedit/js/views/ContextualLinkView.js | 6 +- .../quickedit/js/views/EditorView.es6.js | 16 +- core/modules/quickedit/js/views/EditorView.js | 20 - .../js/views/EntityDecorationView.js | 1 - .../js/views/EntityToolbarView.es6.js | 19 +- .../quickedit/js/views/EntityToolbarView.js | 34 +- .../quickedit/js/views/FieldDecorationView.js | 30 - .../quickedit/js/views/FieldToolbarView.js | 15 - core/modules/quickedit/quickedit.api.php | 4 +- core/modules/quickedit/quickedit.info.yml | 2 + .../modules/quickedit/quickedit.libraries.yml | 44 +- core/modules/quickedit/quickedit.module | 70 +- core/modules/quickedit/quickedit.routing.yml | 38 + .../quickedit/src/Ajax/EntitySavedCommand.php | 3 +- .../quickedit/src/Ajax/FieldFormCommand.php | 3 +- .../src/Ajax/FieldFormSavedCommand.php | 4 +- .../Ajax/FieldFormValidationErrorsCommand.php | 3 +- .../src/Ajax/GetUntransformedTextCommand.php | 22 + .../Controller/QuickEditImageController.php | 249 + ...uickEditLayoutBuilderEntityViewDisplay.php | 68 + .../quickedit/src/Form/QuickEditFieldForm.php | 6 +- .../src/LayoutBuilderIntegration.php | 321 + .../quickedit/src/MetadataGenerator.php | 8 +- .../src/Plugin/InPlaceEditor/Editor.php | 97 + .../src/Plugin/InPlaceEditor/Image.php | 39 + .../quickedit/src/QuickEditController.php | 64 +- .../MockQuickEditEntityFieldAccessCheck.php | 15 +- .../CKEditor5QuickEditLibraryTest.php | 92 + .../EditorIntegrationLoadingTest.php} | 28 +- ...EditLayoutBuilderEntityViewDisplayTest.php | 22 + .../Functional/LayoutBuilderQuickEditTest.php | 16 +- .../QuickEditCustomPipelineTest.php | 7 +- .../QuickEditEndPointAccessTest.php | 7 +- .../QuickEditImageControllerTest.php | 13 +- .../src/Functional/QuickEditMinimalTest.php | 1 + ...utBuilderEntityViewDisplayJsonAnonTest.php | 20 + ...lderEntityViewDisplayJsonBasicAuthTest.php | 20 + ...BuilderEntityViewDisplayJsonCookieTest.php | 20 + ...outBuilderEntityViewDisplayXmlAnonTest.php | 20 + ...ilderEntityViewDisplayXmlBasicAuthTest.php | 20 + ...tBuilderEntityViewDisplayXmlCookieTest.php | 20 + .../CKEditor5IntegrationTest.php | 288 + .../src/FunctionalJavascript/FieldTest.php | 3 +- .../InlineFormErrorsIntegrationTest.php} | 9 +- ...t.php => LayoutBuilderIntegrationTest.php} | 55 +- .../LayoutBuilderQuickEditTest.php | 47 +- .../QuickEditAutocompleteTermTest.php | 1 + .../QuickEditFileTest.php | 11 +- .../QuickEditImageEditorTestTrait.php | 6 +- .../QuickEditImageTest.php | 86 +- .../QuickEditJavascriptTestBase.php | 12 +- .../QuickEditLoadingTest.php | 45 +- .../SettingsTrayIntegrationTest.php} | 30 +- .../src/Kernel/EditorIntegrationTest.php} | 51 +- .../tests/src/Kernel/EditorSelectionTest.php | 20 +- ...diaEmbedFilterDisabledIntegrationsTest.php | 54 + .../src/Kernel/MetadataGeneratorTest.php | 25 +- .../tests/src/Kernel/QuickEditLoadingTest.php | 11 +- .../tests/src/Kernel/QuickEditTestBase.php | 1 + .../QuickEditEntityFieldAccessCheckTest.php | 13 +- .../optional}/rdf.mapping.comment.comment.yml | 3 + .../optional}/rdf.mapping.node.article.yml | 3 + .../optional/rdf.mapping.node.forum.yml | 3 + .../optional}/rdf.mapping.node.page.yml | 3 + .../rdf.mapping.taxonomy_term.forums.yml | 3 + .../rdf.mapping.taxonomy_term.tags.yml | 3 + .../config/optional/rdf.mapping.user.user.yml | 3 + .../modules/rdf/help_topics/rdf.rdf.html.twig | 9 + core/modules/rdf/rdf.info.yml | 2 + core/modules/rdf/rdf.module | 47 +- .../Plugin/migrate/source/d7/RdfMapping.php | 7 + core/modules/rdf/tests/fixtures/drupal7.php | 26021 +++++++ .../node_display_configurable_test.info.yml | 0 .../node_display_configurable_test.module | 1 + .../optional/views.view.rdf_rss_test.yml | 191 + .../src/Functional/CommentAttributesTest.php | 11 +- .../EntityReferenceFieldAttributesTest.php | 4 + .../Functional/FileFieldAttributesTest.php | 6 +- .../src/Functional/GetRdfNamespacesTest.php | 7 +- .../Functional/ImageFieldAttributesTest.php | 4 + .../Jsonapi/JsonApiRegressionTest.php | 67 + .../Functional/Jsonapi}/RdfMappingTest.php | 8 +- .../Migrate/NoMultilingualReviewPageTest.php | 77 + .../src/Functional/Migrate/Upgrade7Test.php | 161 + .../Node/NodeDisplayConfigurableTest.php | 179 + .../src/Functional/NodeAttributesTest.php | 4 + .../Rest/RdfMappingJsonAnonTest.php | 1 + .../Rest/RdfMappingJsonBasicAuthTest.php | 1 + .../Rest/RdfMappingJsonCookieTest.php | 1 + .../Rest/RdfMappingResourceTestBase.php | 5 +- .../Functional/Rest/RdfMappingXmlAnonTest.php | 1 + .../Rest/RdfMappingXmlBasicAuthTest.php | 1 + .../Rest/RdfMappingXmlCookieTest.php | 1 + .../src/Functional/RssViewIntegrationTest.php | 52 + .../src/Functional/StandardProfileTest.php | 86 +- .../src/Functional/TaxonomyAttributesTest.php | 4 + .../src/Functional/UserAttributesTest.php | 4 + .../modules/rdf/tests/src/Kernel/CrudTest.php | 16 +- .../Kernel/Field/DateTimeFieldRdfaTest.php | 8 +- .../src/Kernel/Field/EmailFieldRdfaTest.php | 4 + .../Kernel/Field/EntityReferenceRdfaTest.php | 4 + .../Field/FieldRdfaDatatypeCallbackTest.php | 4 + .../src/Kernel/Field/LinkFieldRdfaTest.php | 1 + .../src/Kernel/Field/NumberFieldRdfaTest.php | 17 +- .../src/Kernel/Field/StringFieldRdfaTest.php | 4 + .../Kernel/Field/TelephoneFieldRdfaTest.php | 4 + .../src/Kernel/Field/TextFieldRdfaTest.php | 4 + .../Migrate/d7/MigrateRdfMappingTest.php | 10 +- .../migrate/source/d7/RdfMappingTest.php | 3 + .../src/Kernel/RdfCommentStorageLoadTest.php | 1 + .../tests/src/Kernel/RdfaAttributesTest.php | 13 +- .../Unit/RdfMappingConfigEntityUnitTest.php | 45 +- .../js/responsive_image.ajax.js | 1 - .../migrations/d7_responsive_image_styles.yml | 4 +- .../responsive_image/responsive_image.module | 14 +- .../ResponsiveImageFormatter.php | 23 +- .../migrate/process/ImageStyleMappings.php | 4 +- .../source/d7/ResponsiveImageStyles.php | 4 +- .../src/ResponsiveImageStyleForm.php | 9 +- .../Functional/ResponsiveImageAdminUITest.php | 37 +- .../ResponsiveImageFieldDisplayTest.php | 70 +- .../ResponsiveImageStyleResourceTestBase.php | 5 +- .../src/Functional/ViewsIntegrationTest.php | 7 +- .../ResponsiveImageFieldUiTest.php | 14 +- .../d7/MigrateResponsiveImageStylesTest.php | 17 +- .../source/d7/ResponsiveImageStylesTest.php | 5 +- ...sponsiveImageStyleConfigEntityUnitTest.php | 50 +- .../rest/src/Annotation/RestResource.php | 4 +- .../ResourceResponseSubscriber.php | 5 +- core/modules/rest/src/Plugin/ResourceBase.php | 4 +- .../resource/EntityResourceAccessTrait.php | 2 +- .../src/Plugin/views/display/RestExport.php | 7 +- .../src/Plugin/views/row/DataFieldRow.php | 6 +- core/modules/rest/src/ResourceResponse.php | 2 + core/modules/rest/src/RestPermissions.php | 11 +- .../rest/src/Routing/ResourceRoutes.php | 2 +- .../modules/rest_test/rest_test.services.yml | 8 +- ...view.test_excluded_field_token_display.yml | 2 +- .../views.view.test_field_counter_display.yml | 2 +- ...ws.view.test_serializer_display_entity.yml | 2 +- ...t_serializer_display_entity_translated.yml | 2 +- ...ews.view.test_serializer_display_field.yml | 2 +- ...iew.test_serializer_node_display_field.yml | 2 +- ...ew.test_serializer_node_exposed_filter.yml | 2 +- ...views.view.test_serializer_shared_path.yml | 2 +- .../ConfigEntityResourceTestBase.php | 30 + .../EntityResource/EntityResourceTestBase.php | 45 +- .../Functional/FileUploadResourceTestBase.php | 42 +- .../tests/src/Functional/ResourceTest.php | 8 +- .../tests/src/Functional/ResourceTestBase.php | 8 +- .../RestResourceConfigResourceTestBase.php | 5 +- .../Views/ExcludedFieldTokenTest.php | 9 +- .../src/Functional/Views/FieldCounterTest.php | 9 +- .../Functional/Views/RestExportAuthTest.php | 7 +- .../Functional/Views/StyleSerializerTest.php | 103 +- .../Kernel/Entity/ConfigDependenciesTest.php | 112 +- .../src/Kernel/Entity/RestPermissionsTest.php | 48 + .../Kernel/Entity/RestResourceConfigTest.php | 5 +- .../EntityResourceRestTestCoverageTest.php | 84 +- .../tests/src/Kernel/RequestHandlerTest.php | 4 +- .../Views/StyleSerializerKernelTest.php | 10 - .../rest/tests/src/Unit/CollectRoutesTest.php | 26 +- .../EntityResourceValidationTraitTest.php | 4 +- .../ResourceResponseSubscriberTest.php | 22 +- .../search/migrations/d7_search_page.yml | 3 + .../search/migrations/d7_search_settings.yml | 2 +- .../modules/search/migrations/search_page.yml | 3 + core/modules/search/search.module | 17 +- core/modules/search/search.pages.inc | 8 +- core/modules/search/search.services.yml | 2 + core/modules/search/src/Entity/SearchPage.php | 6 +- .../Plugin/migrate/source/d6/SearchPage.php | 8 +- .../Plugin/migrate/source/d7/SearchPage.php | 10 +- .../search/src/Plugin/views/filter/Search.php | 6 +- core/modules/search/src/SearchIndex.php | 8 +- .../src/SearchPageAccessControlHandler.php | 2 +- .../search/src/SearchPageListBuilder.php | 7 +- core/modules/search/src/SearchQuery.php | 16 +- .../search/src/SearchTextProcessor.php | 9 +- .../search_date_query_alter.module | 4 +- .../src/Form/SearchEmbeddedForm.php | 4 +- .../install/search.page.dummy_search_type.yml | 4 +- .../Plugin/Search/SearchExtraTypeSearch.php | 9 +- .../search_langcode_test.module | 7 +- .../search_query_alter.module | 4 +- .../Rest/SearchPageResourceTestBase.php | 5 +- .../src/Functional/SearchAdminThemeTest.php | 10 +- .../SearchAdvancedSearchFormTest.php | 39 +- .../tests/src/Functional/SearchBlockTest.php | 59 +- .../SearchCommentCountToggleTest.php | 18 +- .../src/Functional/SearchCommentTest.php | 80 +- .../SearchConfigSettingsFormTest.php | 126 +- .../src/Functional/SearchDateIntervalTest.php | 6 +- .../src/Functional/SearchEmbedFormTest.php | 23 +- .../tests/src/Functional/SearchExactTest.php | 20 +- .../SearchKeywordsConditionsTest.php | 13 +- .../src/Functional/SearchLanguageTest.php | 50 +- .../SearchMultilingualEntityTest.php | 41 +- .../Functional/SearchNodeDiacriticsTest.php | 51 +- .../Functional/SearchNodePunctuationTest.php | 22 +- .../SearchNodeUpdateAndDeletionTest.php | 25 +- .../Functional/SearchNumberMatchingTest.php | 16 +- .../src/Functional/SearchNumbersTest.php | 16 +- .../Functional/SearchPageCacheTagsTest.php | 44 +- .../src/Functional/SearchPageOverrideTest.php | 7 +- .../src/Functional/SearchPageTextTest.php | 95 +- .../SearchPreprocessLangcodeTest.php | 22 +- .../src/Functional/SearchQueryAlterTest.php | 7 +- .../src/Functional/SearchRankingTest.php | 35 +- .../src/Functional/SearchSetLocaleTest.php | 3 + .../Migrate/d6/MigrateSearchPageTest.php | 24 +- .../Migrate/d6/MigrateSearchSettingsTest.php | 4 +- .../Migrate/d7/MigrateSearchPageTest.php | 17 +- .../Migrate/d7/MigrateSearchSettingsTest.php | 32 +- .../tests/src/Kernel/SearchExcerptTest.php | 15 +- .../tests/src/Kernel/SearchIndexTest.php | 29 + .../tests/src/Kernel/SearchMatchTest.php | 23 +- ...fyTest.php => SearchTextProcessorTest.php} | 20 +- .../tests/src/Kernel/SearchTokenizerTest.php | 4 +- .../src/Unit/SearchPageRepositoryTest.php | 62 +- .../src/Unit/SearchPluginCollectionTest.php | 6 +- .../serialization/serialization.services.yml | 14 +- .../serialization/src/Encoder/JsonEncoder.php | 2 +- .../serialization/src/Encoder/XmlEncoder.php | 1 + .../src/Normalizer/ComplexDataNormalizer.php | 7 + .../Normalizer/DateTimeIso8601Normalizer.php | 11 +- .../src/Normalizer/DateTimeNormalizer.php | 11 +- .../EntityReferenceFieldItemNormalizer.php | 7 +- ...ntityReferenceFieldItemNormalizerTrait.php | 1 + .../FieldableEntityNormalizerTrait.php | 12 +- .../src/Normalizer/ListNormalizer.php | 7 + .../src/Normalizer/MarkupNormalizer.php | 7 + .../src/Normalizer/NormalizerBase.php | 14 +- .../Normalizer/PrimitiveDataNormalizer.php | 10 + .../SerializedColumnNormalizerTrait.php | 10 +- .../src/Normalizer/TypedDataNormalizer.php | 7 + .../RegisterEntityResolversCompilerPass.php | 11 +- ...gisterSerializationClassesCompilerPass.php | 13 +- .../src/Normalizer/BooleanNormalizer.php | 7 + .../src/SerializationTestNormalizer.php | 7 +- .../src/Kernel/EntitySerializationTest.php | 59 +- .../src/Kernel/FieldItemSerializationTest.php | 12 - .../src/Kernel/MapDataNormalizerTest.php | 2 +- .../tests/src/Kernel/NormalizerTestBase.php | 3 + .../tests/src/Kernel/SerializationTest.php | 5 +- ...erSerializationClassesCompilerPassTest.php | 18 +- .../tests/src/Unit/Encoder/XmlEncoderTest.php | 7 +- .../ChainEntityResolverTest.php | 14 +- .../Unit/EntityResolver/UuidResolverTest.php | 20 +- .../Normalizer/ComplexDataNormalizerTest.php | 4 +- .../Normalizer/ConfigEntityNormalizerTest.php | 2 +- .../ContentEntityNormalizerTest.php | 18 +- .../DateTimeIso8601NormalizerTest.php | 2 + .../Normalizer/DateTimeNormalizerTest.php | 2 + .../Unit/Normalizer/EntityNormalizerTest.php | 141 +- ...EntityReferenceFieldItemNormalizerTest.php | 6 +- .../Unit/Normalizer/ListNormalizerTest.php | 9 +- .../Normalizer/TimestampNormalizerTest.php | 2 + .../Normalizer/TypedDataNormalizerTest.php | 5 +- .../settings_tray/js/settings_tray.es6.js | 43 +- .../modules/settings_tray/js/settings_tray.js | 57 +- .../settings_tray/settings_tray.libraries.yml | 3 +- .../settings_tray/settings_tray.module | 6 +- .../settings_tray_test_css.info.yml | 2 +- .../tests/src/Functional/SettingsTrayTest.php | 2 +- .../OverriddenConfigurationTest.php | 6 +- .../SettingsTrayBlockFormTest.php | 20 +- .../SettingsTrayTestBase.php | 10 +- .../shortcut/migrations/d7_shortcut.yml | 7 +- .../migrations/d7_shortcut_set_users.yml | 1 + core/modules/shortcut/shortcut.api.php | 4 +- core/modules/shortcut/shortcut.module | 21 +- core/modules/shortcut/src/Entity/Shortcut.php | 4 +- .../shortcut/src/Entity/ShortcutSet.php | 1 + .../shortcut/src/Form/SetCustomize.php | 10 +- .../src/Form/ShortcutSetDeleteForm.php | 4 +- .../shortcut/src/Form/SwitchShortcutSet.php | 4 +- .../src/Plugin/migrate/source/d7/Shortcut.php | 5 + .../Plugin/migrate/source/d7/ShortcutSet.php | 5 + .../migrate/source/d7/ShortcutSetUsers.php | 5 + core/modules/shortcut/src/ShortcutSetForm.php | 6 +- .../shortcut/src/ShortcutSetStorage.php | 2 +- .../Rest/ShortcutSetResourceTestBase.php | 5 +- .../src/Functional/ShortcutCacheTagsTest.php | 2 +- .../src/Functional/ShortcutLinksTest.php | 121 +- .../tests/src/Functional/ShortcutSetsTest.php | 73 +- .../tests/src/Functional/ShortcutTestBase.php | 5 +- .../Functional/ShortcutTranslationUITest.php | 14 +- .../Migrate/d7/MigrateShortcutSetTest.php | 11 +- .../d7/MigrateShortcutSetUsersTest.php | 5 +- .../Kernel/Migrate/d7/MigrateShortcutTest.php | 21 +- ...t.php => ShortcutClaroIntegrationTest.php} | 12 +- .../src/Unit/Menu/ShortcutLocalTasksTest.php | 12 + core/modules/simpletest/simpletest.info.yml | 4 +- core/modules/simpletest/simpletest.install | 19 - core/modules/sqlite/sqlite.info.yml | 5 + core/modules/sqlite/sqlite.module | 22 + .../src/Driver/Database/sqlite/Connection.php | 540 + .../src/Driver/Database/sqlite/Delete.php | 22 + .../src/Driver/Database/sqlite/Insert.php | 124 + .../Driver/Database/sqlite/Install/Tasks.php | 115 + .../src/Driver/Database/sqlite/Merge.php | 22 + .../Driver/Database/sqlite/PDOConnection.php | 53 + .../src/Driver/Database/sqlite/Schema.php | 839 + .../src/Driver/Database/sqlite/Select.php | 27 + .../src/Driver/Database/sqlite/Statement.php | 112 + .../src/Driver/Database/sqlite/Truncate.php | 32 + .../src/Driver/Database/sqlite/Update.php | 22 + .../src/Driver/Database/sqlite/Upsert.php | 57 + .../sqlite/DatabaseExceptionWrapperTest.php | 23 + .../Kernel/sqlite/SqliteDriverLegacyTest.php | 96 + .../sqlite/tests/src/Unit}/ConnectionTest.php | 6 +- .../src/NodeStatisticsDatabaseStorage.php | 16 +- .../Plugin/Block/StatisticsPopularBlock.php | 12 +- .../migrate/destination/NodeCounter.php | 6 +- .../src/Plugin/migrate/source/NodeCounter.php | 7 +- .../statistics/src/StatisticsSettingsForm.php | 6 +- .../src/StatisticsStorageInterface.php | 1 - core/modules/statistics/statistics.js | 1 - core/modules/statistics/statistics.module | 4 +- core/modules/statistics/statistics.tokens.inc | 15 +- core/modules/statistics/statistics.views.inc | 4 +- ...views.view.test_statistics_integration.yml | 2 +- .../src/Functional/StatisticsAdminTest.php | 30 +- .../src/Functional/StatisticsAttachedTest.php | 2 +- .../src/Functional/StatisticsLoggingTest.php | 26 +- .../src/Functional/StatisticsReportsTest.php | 14 +- .../src/Functional/StatisticsTestBase.php | 5 +- .../Functional/StatisticsTokenReplaceTest.php | 25 +- .../src/Functional/Views/IntegrationTest.php | 19 +- .../StatisticsLoggingTest.php | 6 +- .../Migrate/d6/MigrateNodeCounterTest.php | 4 +- .../Migrate/d7/MigrateNodeCounterTest.php | 4 +- .../d7/MigrateStatisticsConfigsTest.php | 2 +- .../statistics_test_attached.info.yml | 2 +- core/modules/syslog/src/Logger/SysLog.php | 10 +- core/modules/syslog/syslog.module | 3 +- .../tests/src/Functional/SyslogTest.php | 9 +- .../Migrate/d6/MigrateSyslogConfigsTest.php | 9 +- .../Migrate/d7/MigrateSyslogConfigsTest.php | 6 +- .../syslog/tests/src/Kernel/SyslogTest.php | 13 +- .../config/install/system.advisories.yml | 2 + .../config/install/system.authorize.yml | 1 - .../system/config/install/system.date.yml | 4 +- .../system/config/install/system.mail.yml | 2 +- .../config/install/system.maintenance.yml | 2 +- .../system/config/install/system.rss.yml | 4 - .../system/config/install/system.site.yml | 2 +- .../system/config/schema/system.schema.yml | 36 +- .../css/components/tabledrag.module.css | 14 +- core/modules/system/css/system.admin.css | 13 + core/modules/system/js/system.date.es6.js | 34 +- core/modules/system/js/system.date.js | 24 +- core/modules/system/js/system.es6.js | 28 +- core/modules/system/js/system.js | 19 +- core/modules/system/js/system.modules.es6.js | 23 +- core/modules/system/js/system.modules.js | 38 +- .../migrations/action_settings.yml | 2 +- .../migrations/d6_action.yml | 0 .../system/migrations/d6_date_formats.yml | 1 + .../migrations/d7_action.yml | 0 .../system/migrations/d7_system_authorize.yml | 8 +- .../system/migrations/d7_system_mail.yml | 2 +- .../system/migrations/d7_theme_settings.yml | 9 +- .../state/system.migrate_drupal.yml | 2 +- .../system/migrations/system_maintenance.yml | 12 +- core/modules/system/migrations/system_rss.yml | 2 - .../modules/system/migrations/system_site.yml | 52 +- .../system/src/Controller/AdminController.php | 14 +- .../system/src/Controller/BatchController.php | 2 +- .../src/Controller/DbUpdateController.php | 108 +- .../EntityAutocompleteController.php | 4 +- .../src/Controller/SystemController.php | 39 +- .../src/Controller/SystemInfoController.php | 2 +- .../system/src/Controller/ThemeController.php | 2 +- .../src/Controller/TimezoneController.php | 37 +- .../AdvisoriesConfigSubscriber.php | 61 + .../SecurityFileUploadEventSubscriber.php | 131 + .../system/src/FileDownloadController.php | 2 +- core/modules/system/src/Form/CronForm.php | 15 +- .../system/src/Form/DateFormatAddForm.php | 2 +- .../system/src/Form/DateFormatDeleteForm.php | 2 +- .../system/src/Form/DateFormatEditForm.php | 4 +- .../system/src/Form/DateFormatFormBase.php | 8 +- .../system/src/Form/FileSystemForm.php | 28 +- core/modules/system/src/Form/LoggingForm.php | 12 +- .../system/src/Form/ModulesEnabledTrait.php | 86 + .../src/Form/ModulesListConfirmForm.php | 21 +- .../ModulesListExperimentalConfirmForm.php | 39 - .../system/src/Form/ModulesListForm.php | 106 +- .../Form/ModulesListNonStableConfirmForm.php | 198 + .../system/src/Form/ModulesUninstallForm.php | 58 +- .../system/src/Form/PerformanceForm.php | 22 +- .../PrepareModulesEntityUninstallForm.php | 36 +- core/modules/system/src/Form/RegionalForm.php | 12 +- core/modules/system/src/Form/RssFeedsForm.php | 29 +- .../system/src/Form/SiteInformationForm.php | 28 +- .../src/Form/SiteMaintenanceModeForm.php | 14 +- .../src/Form/SystemBrandingOffCanvasForm.php | 11 +- .../src/Form/SystemMenuOffCanvasForm.php | 3 + .../src/Form/ThemeExperimentalConfirmForm.php | 6 +- .../system/src/Form/ThemeSettingsForm.php | 51 +- .../system/src/PathBasedBreadcrumbBuilder.php | 8 +- .../system/src/PhpStorage/MockPhpStorage.php | 3 +- .../src/Plugin/Block/SystemBrandingBlock.php | 17 +- .../src/Plugin/Block/SystemMenuBlock.php | 2 +- .../src/Plugin/Condition/RequestPath.php | 3 + .../src/Plugin/ImageToolkit/GDToolkit.php | 18 +- .../ImageToolkit/Operation/gd/CreateNew.php | 1 + .../migrate/destination/EntityDateFormat.php | 5 +- .../migrate/destination/d7/ThemeSettings.php | 1 + .../src/Plugin/migrate/source/Action.php | 70 + .../src/Plugin/migrate/source/Extension.php | 23 +- .../system/src/Plugin/migrate/source/Menu.php | 7 +- .../migrate/source/d7/MenuTranslation.php | 11 +- .../migrate/source/d7/ThemeSettings.php | 8 +- .../SecurityAdvisoriesFetcher.php | 331 + .../SecurityAdvisories/SecurityAdvisory.php | 219 + .../system/src/SystemConfigSubscriber.php | 1 + core/modules/system/src/SystemManager.php | 5 +- .../system/src/Tests/Ajax/AjaxTestBase.php | 63 - .../src/Tests/Routing/MockAliasManager.php | 4 - .../system/src/Theme/BatchNegotiator.php | 2 +- .../system/src/Theme/DbUpdateNegotiator.php | 22 +- core/modules/system/system.admin.inc | 15 +- core/modules/system/system.install | 391 +- core/modules/system/system.libraries.yml | 11 +- core/modules/system/system.links.menu.yml | 1 + core/modules/system/system.module | 169 +- core/modules/system/system.post_update.php | 99 +- core/modules/system/system.routing.yml | 11 +- core/modules/system/system.services.yml | 18 +- core/modules/system/system.theme.inc | 38 + core/modules/system/system.tokens.inc | 13 +- .../templates/admin-block-content.html.twig | 10 +- .../block--system-menu-block.html.twig | 1 + .../templates/entity-page-title.html.twig | 26 + .../system/templates/fieldset.html.twig | 10 +- .../templates/menu-local-tasks.html.twig | 2 +- ...y-advisories-fetch-error-message.html.twig | 16 + .../system/tests/css/system.module.css | 1 - .../tests/fixtures/HtaccessTest/package.json | 1 + .../tests/fixtures/HtaccessTest/yarn.lock | 0 .../tests/fixtures/psa_feed/invalid.json | 1 + .../tests/fixtures/psa_feed/valid-mixed.json | 80 + .../fixtures/psa_feed/valid-non-psa-only.json | 58 + .../fixtures/psa_feed/valid-psa-only.json | 47 + .../tests/fixtures/psa_feed/valid_plus1.json | 92 + .../update/drupal-9.0.0.bare.standard.php.gz | Bin 0 -> 127810 bytes .../drupal-9.0.0.filled.standard.php.gz | Bin 0 -> 624435 bytes .../update/drupal-9.3.0.bare.standard.php.gz | Bin 0 -> 127341 bytes .../drupal-9.3.0.filled.standard.php.gz | Bin 0 -> 624724 bytes .../update/drupal-9.4.0.bare.standard.php.gz | Bin 0 -> 123794 bytes .../drupal-9.4.0.filled.standard.php.gz | Bin 0 -> 608875 bytes .../src/AcceptHeaderMiddleware.php | 9 +- .../src/Routing/AcceptHeaderMatcher.php | 2 +- .../advisory_feed_test.info.yml | 4 + .../advisory_feed_test.module | 35 + .../advisory_feed_test.routing.yml | 7 + .../advisory_feed_test.services.yml | 11 + .../src/AdvisoriesTestHttpClient.php | 59 + .../src/Controller/AdvisoryTestController.php | 39 + .../src/TestSystemLoggerChannel.php | 56 + .../Form/AjaxFormsTestAjaxElementsForm.php | 3 +- .../modules/ajax_test/ajax_test.libraries.yml | 43 +- .../modules/ajax_test/ajax_test.routing.yml | 30 + .../ajax_test/js/command_promise-ajax.es6.js | 31 + .../ajax_test/js/command_promise-ajax.js | 17 + .../modules/ajax_test/js/focus-ajax.es6.js | 23 + .../tests/modules/ajax_test/js/focus-ajax.js | 20 + .../modules/ajax_test/js/global_events.es6.js | 14 + .../modules/ajax_test/js/global_events.js | 14 + .../modules/ajax_test/js/insert-ajax.es6.js | 56 +- .../tests/modules/ajax_test/js/insert-ajax.js | 5 +- .../src/Ajax/AjaxTestCommandReturnPromise.php | 26 + .../src/Controller/AjaxTestController.php | 35 +- .../ajax_test/src/Form/AjaxTestDialogForm.php | 6 - .../src/Form/AjaxTestFocusFirstForm.php | 228 + .../src/Form/AjaxTestFormPromise.php | 73 + .../autowire_test/autowire_test.info.yml | 5 + .../autowire_test/autowire_test.services.yml | 22 + .../autowire_test/src/TestInjection.php | 9 + .../autowire_test/src/TestInjection2.php | 9 + .../src/TestInjectionInterface.php | 9 + .../modules/autowire_test/src/TestService.php | 30 + .../modules/batch_test/batch_test.module | 133 +- .../src/Controller/BatchTestController.php | 8 +- .../src/Controller/CacheTestController.php | 2 +- .../tests/modules/common_test/common_test.css | 1 - .../common_test/common_test.libraries.yml | 9 +- .../modules/common_test/common_test.module | 26 +- .../modules/common_test/common_test.print.css | 1 - .../common_test/common_test.routing.yml | 8 + .../src/Controller/CommonTestController.php | 22 +- .../install/condition_test.settings.yml | 13 + .../config/schema/condition_test.schema.yml | 10 + .../condition_test/src/FormController.php | 39 +- .../src/Controller/TestController.php | 2 +- .../container_rebuild_test.info.yml | 5 + .../container_rebuild_test.routing.yml | 6 + .../ContainerRebuildTestServiceProvider.php | 18 + .../src/TestController.php | 37 + .../QueueWorker/CronQueueTestLeaseTime.php | 27 + .../csrf_test/csrf_test.links.menu.yml | 13 + .../modules/csrf_test/csrf_test.routing.yml | 7 + .../js/disable_transitions.theme.js | 1 - .../src/mysql/Connection.php | 2 +- .../src/mysql/Install/Tasks.php | 2 +- .../src/pgsql/Connection.php | 2 +- .../src/pgsql/Install/Tasks.php | 2 +- .../src/sqlite/Connection.php | 2 +- .../src/sqlite/Install/Tasks.php | 2 +- .../database_test/database_test.install | 8 +- .../database_test/database_test.module | 4 +- .../src/Controller/DatabaseTestController.php | 12 +- .../src/Form/DatabaseTestForm.php | 8 +- .../decorated_service_test.info.yml | 5 + .../decorated_service_test.services.yml | 17 + .../src/TestService.php | 7 + .../src/TestServiceDecorator.php | 7 + .../dependency_version_test.info.yml | 5 + .../dependency_version_test.module | 25 + .../install/deprecated_module.settings.yml | 2 + .../schema/deprecated_module.schema.yml | 7 + .../deprecated_module.info.yml | 7 + .../deprecated_module_contrib.info.yml | 7 + .../deprecated_module_dependency.info.yml | 7 + .../deprecated_module_test.info.yml | 5 + .../deprecated_module_test.module | 18 + ...le_with_non_deprecated_dependency.info.yml | 9 + .../deprecation_test.services.yml | 7 + .../dialog_renderer_test/css/dialog-test.css | 4 + .../dialog_renderer_test.libraries.yml | 4 + .../dialog_renderer_test.routing.yml | 16 + .../dialog_renderer_test.services.yml | 4 +- .../src/Controller/TestController.php | 112 + .../Render/MainContent/WideModalRenderer.php | 2 +- .../DisplayVariant/TestDisplayVariant.php | 2 + .../modules/driver_test/driver_test.info.yml | 3 + .../Database/DrivertestMysql/Connection.php | 4 +- .../Database/DrivertestMysql/Delete.php | 10 + .../Database/DrivertestMysql/Insert.php | 4 +- .../DrivertestMysql/Install/Tasks.php | 4 +- .../Driver/Database/DrivertestMysql/Merge.php | 10 + .../Database/DrivertestMysql/Schema.php | 4 +- .../Database/DrivertestMysql/Select.php | 10 + .../Database/DrivertestMysql/Truncate.php | 10 + .../Database/DrivertestMysql/Update.php | 10 + .../Database/DrivertestMysql/Upsert.php | 4 +- .../Connection.php | 4 +- .../Delete.php | 10 + .../Insert.php | 4 +- .../Install/Tasks.php | 4 +- .../Merge.php | 10 + .../Schema.php | 4 +- .../Select.php | 10 + .../Truncate.php | 10 + .../Update.php | 10 + .../Upsert.php | 4 +- .../Database/DrivertestPgsql/Connection.php | 4 +- .../Database/DrivertestPgsql/Delete.php | 4 +- .../Database/DrivertestPgsql/Insert.php | 4 +- .../DrivertestPgsql/Install/Tasks.php | 4 +- .../Database/DrivertestPgsql/Schema.php | 4 +- .../Database/DrivertestPgsql/Select.php | 4 +- .../Database/DrivertestPgsql/Truncate.php | 4 +- .../Database/DrivertestPgsql/Update.php | 4 +- .../Database/DrivertestPgsql/Upsert.php | 4 +- .../src/EarlyRenderingTestController.php | 10 +- .../views.view.test_entity_reference.yml | 86 +- ...view.test_entity_reference_entity_test.yml | 52 +- .../entity_reference_test_views.info.yml | 2 +- ..._entity_reference_entity_test_mul_view.yml | 2 +- ...test_entity_reference_entity_test_view.yml | 2 +- ...entity_reference_entity_test_view_long.yml | 2 +- ...reference_group_by_empty_relationships.yml | 2 +- ...reference_reverse_entity_test_mul_view.yml | 2 +- ...ity_reference_reverse_entity_test_view.yml | 2 +- ...core.entity_view_mode.entity_test.full.yml | 8 +- ...core.entity_view_mode.entity_test.test.yml | 8 +- .../config/schema/entity_test.schema.yml | 4 + .../modules/entity_test/entity_test.install | 5 +- .../modules/entity_test/entity_test.module | 35 +- .../entity_test/entity_test.permissions.yml | 2 + .../entity_test/entity_test.routing.yml | 8 + .../src/Controller/EntityTestController.php | 3 +- .../src/Entity/EntityTestComputedField.php | 12 +- .../src/Entity/EntityTestMulBundle.php | 77 + .../src/Entity/EntityTestMulChanged.php | 2 +- .../src/Entity/EntityTestMulRevPub.php | 2 +- .../src/Entity/EntityTestMulWithBundle.php | 49 + .../entity_test/src/Entity/EntityTestRev.php | 1 - .../src/Entity/EntityTestRevPub.php | 1 - .../src/EntityTestAccessControlHandler.php | 3 + .../entity_test/src/EntityTestForm.php | 3 +- .../DataType/ComputedTestCacheableString.php | 24 + .../ComputedTestCacheableStringItemList.php | 30 + .../ComputedTestCacheableStringItem.php | 37 + .../Plugin/Field/FieldType/FieldTestItem.php | 2 - .../ShapeOnlyColorEditableWidget.php | 2 +- .../EntityTestContainerFactoryPlugin.php | 31 + .../Constraint/EntityTestDefaultPlugin.php | 16 + .../Constraint/EntityTestEntityLevel.php | 2 +- .../Rest/EntityTestBundleResourceTestBase.php | 5 +- .../EntityTestComputedFieldNormalizerTest.php | 107 + .../Rest/EntityTestLabelResourceTestBase.php | 4 +- .../EntityTestMapFieldResourceTestBase.php | 4 +- .../Rest/EntityTestResourceTestBase.php | 45 +- .../Rest/EntityTestTextItemNormalizerTest.php | 2 +- .../entity_test_bundle_class.info.yml | 7 + .../entity_test_bundle_class.module | 49 + .../Entity/EntityTestAmbiguousBundleClass.php | 11 + .../src/Entity/EntityTestBundleClass.php | 98 + .../src/Entity/EntityTestUserClass.php | 11 + .../src/Entity/EntityTestVariant.php | 12 + .../src/Entity/NonInheritingBundleClass.php | 9 + .../entity_test_deprecated_storage.info.yml | 7 + .../src/Storage/DeprecatedEntityStorage.php | 32 + .../EntityTestMulWithRevisionLogPub.php | 2 +- .../src/Controller/LonelyMonkeyController.php | 5 + .../src/LonelyMonkeyClass.php | 5 + .../src/MonkeysInTheControlRoom.php | 10 +- ...rimental_module_requirements_test.info.yml | 1 + .../experimental_module_test.info.yml | 2 + .../tests/modules/form_test/form_test.module | 4 +- .../modules/form_test/form_test.routing.yml | 10 +- .../src/Form/FormTestDisabledElementsForm.php | 31 +- .../src/Form/FormTestGroupFieldsetForm.php | 4 + .../Form/FormTestGroupVerticalTabsForm.php | 13 + .../FormTestMachineNameValidationForm.php | 1 + .../src/Form/FormTestStorageForm.php | 10 +- .../Form/FormTestTableSelectColspanForm.php | 2 +- .../FormTestTableSelectDisabledRowsForm.php | 44 + .../src/Form/FormTestTableSelectFormBase.php | 2 +- .../src/Form/FormTestVerticalTabsForm.php | 1 + .../src/Form/JavascriptStatesForm.php | 483 + .../StackMiddleware/FormTestMiddleware.php | 3 +- .../generic_module1_test.info.yml | 4 + .../generic_module2_test.info.yml | 4 + .../src/HttpKernel/TestMiddleware.php | 3 +- .../Controller/ImageLazyLoadController.php | 6 +- .../Operation/test/OperationBase.php | 1 + .../jquery_keyevent_polyfill_test.info.yml | 5 + ...query_keyevent_polyfill_test.libraries.yml | 4 + .../jquery_keyevent_polyfill_test.module | 15 + .../js/jquery.keyevent.polyfill.es6.js | 52 + .../js/jquery.keyevent.polyfill.js | 29 + .../jqueryui_library_assets_test.info.yml | 5 + .../jqueryui_library_assets_test.routing.yml | 7 + .../JqueryUiTestAssetsController.php | 42 + .../js_ajax_test/js/js_ajax_test.ajax.js | 1 - .../js/js_cookie_shim_test.es6.js | 2 +- .../js_cookie_test/js/js_cookie_shim_test.js | 3 +- .../js_cookie_test.libraries.yml | 2 +- .../js/js_deprecation_log.es6.js | 21 - .../js/js_deprecation_log.js | 19 - .../js/js_deprecation_test.js | 7 +- .../js_errors_test/js/js_errors_test.es6.js | 11 + .../js_errors_test/js/js_errors_test.js | 15 + .../js_errors_test/js_errors_test.info.yml | 5 + .../js_errors_test.libraries.yml | 6 + .../js_errors_test/js_errors_test.routing.yml | 7 + .../src/Controller/JsErrorsTestController.php | 22 + .../js-interaction-test-blocker-element.css | 13 + .../js_interaction_test.trigger_link.es6.js | 38 + .../js/js_interaction_test.trigger_link.js | 27 + .../js_interaction_test.info.yml | 5 + .../js_interaction_test.libraries.yml | 10 + .../js_interaction_test.routing.yml | 6 + .../src/Controller/JSInteractionTestForm.php | 88 + .../js_message_test/js/js_message_test.es6.js | 72 +- .../js_message_test/js/js_message_test.js | 16 +- .../js_message_test.libraries.yml | 2 +- .../Controller/JSMessageTestController.php | 2 +- .../js_once_test/js_once_test.info.yml | 5 + .../js_once_test/js_once_test.routing.yml | 14 + .../src/Controller/JsOnceTestController.php | 58 + .../js/js_testing_log.es6.js | 35 + .../js_testing_log_test/js/js_testing_log.js | 24 + .../js_testing_log_test.info.yml} | 0 .../js_testing_log_test.libraries.yml} | 2 +- .../js_testing_log_test.module} | 6 +- ...js_webassert_test.no_element_after_wait.js | 1 - ...ebassert_test.wait_for_ajax_request.es6.js | 12 +- ...js_webassert_test.wait_for_ajax_request.js | 10 +- .../js/js_webassert_test.wait_for_element.js | 1 - .../js_webassert_test.libraries.yml | 1 - .../js_webassert_test.routing.yml | 8 + .../src/Controller/TestController.php | 41 + .../keyvalue_test/keyvalue_test.module | 2 +- .../layout_test/css/layout-test-2col.css | 2 - .../src/Plugin/Layout/LayoutTestPlugin.php | 3 + .../templates/layout-test-1col.html.twig | 3 + .../modules/many_assets_test/css/noop.css | 4 + .../css/weighted/weighted_114_a.css | 4 + .../css/weighted/weighted_114_b.css | 4 + .../css/weighted/weighted_114_c.css | 4 + .../css/weighted/weighted_115_a.css | 4 + .../css/weighted/weighted_115_b.css | 4 + .../css/weighted/weighted_116_a.css | 4 + .../css/weighted/weighted_116_b.css | 4 + .../css/weighted/weighted_116_c.css | 4 + .../css/weighted/weighted_116_d.css | 4 + .../css/weighted/weighted_116_e.css | 4 + .../css/weighted/weighted_116_f.css | 4 + .../modules/many_assets_test/js/noop.es6.js | 4 + .../tests/modules/many_assets_test/js/noop.js | 6 + .../js/weighted/weighted_114_a.es6.js | 4 + .../js/weighted/weighted_114_a.js | 6 + .../js/weighted/weighted_114_b.es6.js | 4 + .../js/weighted/weighted_114_b.js | 6 + .../js/weighted/weighted_114_c.es6.js | 4 + .../js/weighted/weighted_114_c.js | 6 + .../js/weighted/weighted_115_a.es6.js | 4 + .../js/weighted/weighted_115_a.js | 6 + .../js/weighted/weighted_115_b.es6.js | 4 + .../js/weighted/weighted_115_b.js | 6 + .../js/weighted/weighted_116_a.es6.js | 4 + .../js/weighted/weighted_116_a.js | 6 + .../js/weighted/weighted_116_b.es6.js | 4 + .../js/weighted/weighted_116_b.js | 6 + .../js/weighted/weighted_116_c.es6.js | 4 + .../js/weighted/weighted_116_c.js | 6 + .../js/weighted/weighted_116_d.es6.js | 4 + .../js/weighted/weighted_116_d.js | 6 + .../js/weighted/weighted_116_e.es6.js | 4 + .../js/weighted/weighted_116_e.js | 6 + .../js/weighted/weighted_116_f.es6.js | 4 + .../js/weighted/weighted_116_f.js | 6 + .../many_assets_test.info.yml | 5 + .../many_assets_test.libraries.yml | 39 + .../many_assets_test/many_assets_test.module | 28 + .../many_assets_test.routing.yml | 7 + .../Controller/ManyAssetsTestController.php | 27 + .../config/install/system.menu.changed.yml | 4 +- .../config/install/system.menu.original.yml | 4 +- .../menu_test/menu_test.links.contextual.yml | 3 + .../modules/menu_test/menu_test.services.yml | 1 + .../menu_test/src/Access/AccessCheck.php | 40 +- .../MenuLinkTestWithUnsafeTitle.php | 6 +- .../modules/menu_test/src/TestControllers.php | 17 +- .../js/access-unsupported-property.es6.js | 21 + .../js/access-unsupported-property.js | 21 + .../modernizr_deprecation_test.info.yml | 5 + .../modernizr_deprecation_test.libraries.yml | 12 + .../modernizr_deprecation_test.module | 20 + .../modernizr_deprecation_test.routing.yml | 7 + .../src/Controller/LoadLibraryController.php | 81 + .../module_info_type_comment.info.yml | 5 + .../src/EventSubscriber.php | 6 +- .../modules/module_test/module_test.file.inc | 2 +- .../modules/module_test/module_test.install | 2 +- .../modules/module_test/module_test.module | 16 +- .../module_test/module_test.permissions.yml | 2 +- .../module_test/module_test.services.yml | 7 + .../src/PluginManagerCacheClearer.php | 47 + .../off_canvas_test/js/resize-helper.es6.js | 18 + .../off_canvas_test/js/resize-helper.js | 14 + .../off_canvas_test.libraries.yml | 5 + .../off_canvas_test/off_canvas_test.module | 18 + .../config/install/comment.type.comment.yml | 7 + ...contact.form.olivero_test_contact_form.yml | 11 + ...y_form_display.comment.comment.default.yml | 33 + ...sage.olivero_test_contact_form.default.yml | 56 + ...tity_form_display.node.article.default.yml | 106 + ...y_view_display.comment.comment.default.yml | 24 + ...tity_view_display.node.article.default.yml | 60 + ...e.entity_view_display.node.article.rss.yml | 25 + ...ntity_view_display.node.article.teaser.yml | 52 + ...eld.field.comment.comment.comment_body.yml | 20 + ...t_form.field_multiple_value_form_field.yml | 18 + .../install/field.field.node.article.body.yml | 22 + .../field.field.node.article.comment.yml | 32 + .../field.field.node.article.field_image.yml | 37 + .../field.field.node.article.field_tags.yml | 26 + ...essage.field_multiple_value_form_field.yml | 20 + .../install/field.storage.node.comment.yml | 19 + .../field.storage.node.field_image.yml | 31 + .../install/field.storage.node.field_tags.yml | 19 + .../config/install/node.type.article.yml | 10 + .../install/taxonomy.vocabulary.tags.yml | 7 + .../block.block.olivero_account_menu.yml | 10 +- .../block.block.olivero_breadcrumbs.yml | 2 +- .../optional}/block.block.olivero_content.yml | 2 +- .../block.block.olivero_main_menu.yml | 10 +- .../block.block.olivero_messages.yml | 2 +- .../block.block.olivero_page_title.yml | 2 +- .../optional}/block.block.olivero_powered.yml | 4 +- ...lock.block.olivero_primary_local_tasks.yml | 2 +- ...ck.block.olivero_secondary_local_tasks.yml | 2 +- .../block.block.olivero_site_branding.yml | 2 +- .../modules/olivero_test/js/log-errors.es6.js | 10 + .../modules/olivero_test/js/log-errors.js | 10 + .../olivero_test/olivero_test.info.yml | 15 + .../olivero_test/olivero_test.libraries.yml | 5 + .../olivero_test/olivero_test.links.menu.yml | 44 + .../modules/olivero_test/olivero_test.module | 42 + .../modules/pager_test/pager_test.module | 7 + .../modules/plugin_test/plugin_test.module | 14 + .../src/Plugin/MockBlockManager.php | 27 +- .../mock_block/MockLayoutBlockDeriver.php | 6 +- .../mock_block/MockMenuBlockDeriver.php | 12 +- .../mock_block/MockUserLoginBlock.php | 2 +- .../mock_block/TypedDataStringBlock.php | 4 +- .../css/position.shim.test.css | 19 + .../position_shim_test.info.yml | 5 + .../position_shim_test.libraries.yml | 5 + .../position_shim_test.routing.yml | 15 + .../Controller/PositionShimTestController.php | 32 + ...ionShimTestPortedJqueryTestsController.php | 121 + .../post_update_test_failing.info.yml | 5 + .../post_update_test_failing.post_update.php | 13 + .../RenderAttachedTestController.php | 11 +- .../render_deprecation.info.yml | 5 + .../render_deprecation.routing.yml | 12 + .../src/RenderDeprecationController.php | 39 + .../requirements1_test.install | 12 + .../requirements1_test.module | 18 + ...t.install => router_installer_test.module} | 0 .../src/TestControllers.php | 6 +- .../src/TestFileUsage.php | 1 + .../services_defaults_test.info.yml | 5 + .../services_defaults_test.services.yml | 29 + .../src/TestInjection.php | 9 + .../src/TestInjection2.php | 9 + .../src/TestInjectionInterface.php | 9 + .../src/TestPrivateService.php | 9 + .../src/TestService.php | 33 + .../session_exists_cache_context_test.module | 5 +- .../src/Controller/SessionTestController.php | 3 +- .../src/Session/TestSessionHandlerProxy.php | 6 + .../system_core_semver_test.info.yml | 2 +- .../system_status_obsolete_test.info.yml | 7 + .../src/Controller/SystemTestController.php | 21 + .../system_test/system_test.permissions.yml | 3 + .../system_test/system_test.routing.yml | 8 + ...bleShimDialogIntegrationTestController.php | 32 + .../Controller/TabbableShimTestController.php | 30 + .../tabbable_shim_test.info.yml | 5 + .../tabbable_shim_test.routing.yml | 15 + .../TabbingManagerTestController.php | 79 + .../tabbingmanager_test.info.yml | 5 + .../tabbingmanager_test.routing.yml | 7 + .../tabledrag_test/js/tabledrag_test.es6.js | 9 +- .../tabledrag_test/js/tabledrag_test.js | 3 +- .../src/Form/NestedTableDragTestForm.php | 36 + .../src/Form/TableDragTestForm.php | 169 +- .../tabledrag_test/tabledrag_test.routing.yml | 8 + .../test_page_test/src/Controller/Test.php | 2 +- .../src/Controller/TestPageTestController.php | 14 + .../test_page_test/test_page_test.routing.yml | 8 + ....entity_form_display.user.user.default.yml | 35 + ....entity_view_display.user.user.compact.yml | 28 + ....entity_view_display.user.user.default.yml | 29 + .../field.field.user.user.user_picture.yml | 37 + .../field.storage.user.user_picture.yml | 31 + .../test_user_config.info.yml | 7 + .../theme_legacy_test.module | 8 +- .../EventSubscriber/ThemeTestSubscriber.php | 1 + .../src/Theme/HighPriorityThemeNegotiator.php | 2 +- .../theme_test/src/ThemeTestController.php | 9 + .../theme_test/src/ThemeTestPreprocess.php | 21 + .../theme-test-preprocess-callback.html.twig | 1 + .../modules/theme_test/theme_test.module | 30 +- .../modules/theme_test/theme_test.routing.yml | 7 + .../modules/token_test/token_test.info.yml | 4 +- .../Controller/TrustedHostsTestController.php | 8 + .../trusted_hosts_test.routing.yml | 7 + .../src/TwigThemeTestController.php | 9 +- .../twig_theme_test.attach_library.html.twig | 2 +- .../templates/twig_theme_test.dump.html.twig | 6 + .../twig_theme_test.file_url.html.twig | 1 + .../twig_theme_test/twig_theme_test.module | 4 + .../twig_theme_test.routing.yml | 7 + .../update_test_description.info.yml | 5 + .../update_test_description.install | 21 + .../update_test_semver_update_n.info.yml | 1 - .../src/Functional/Ajax/FrameworkTest.php | 24 +- .../Functional/Ajax/OffCanvasDialogTest.php | 5 +- .../tests/src/Functional/Batch/PageTest.php | 20 +- .../src/Functional/Batch/ProcessingTest.php | 90 +- .../Bootstrap/DrupalMessengerServiceTest.php | 99 +- .../AssertPageCacheContextsAndTagsTrait.php | 24 +- .../src/Functional/Cache/CacheTestBase.php | 2 +- .../tests/src/Functional/Cache/ClearTest.php | 3 + .../Cache/PageCacheTagsTestBase.php | 9 +- .../Cache/SessionExistsCacheContextTest.php | 28 +- .../tests/src/Functional/Common/AlterTest.php | 18 +- .../Common/EarlyRenderingControllerTest.php | 37 +- .../src/Functional/Common/FormatDateTest.php | 14 +- .../Common/NoJavaScriptAnonymousTest.php | 28 +- .../src/Functional/Common/RenderWebTest.php | 6 +- .../tests/src/Functional/Common/UrlTest.php | 329 +- .../Condition/ConditionFormTest.php | 20 +- .../src/Functional/CsrfRequestHeaderTest.php | 2 +- .../Functional/Database/DatabaseTestBase.php | 14 +- .../src/Functional/Database/FakeRecord.php | 21 +- .../Database/SelectPagerDefaultTest.php | 57 +- .../Database/SelectTableSortDefaultTest.php | 26 +- .../Database/TemporaryQueryTest.php | 17 +- .../Datetime/DrupalDateTimeTest.php | 34 +- .../TimeZoneAbbreviationRouteTest.php | 137 + .../DrupalKernel/ContentNegotiationTest.php | 4 +- .../src/Functional/Entity/EntityAddUITest.php | 23 +- .../Entity/EntityCacheTagsTestBase.php | 26 +- .../src/Functional/Entity/EntityFormTest.php | 75 +- .../Entity/EntityListBuilderTest.php | 19 +- .../Entity/EntityOperationsTest.php | 11 +- .../EntityReferenceFieldCreationTest.php | 51 + .../EntityReferenceSelectionAccessTest.php | 16 +- .../Functional/Entity/EntityRevisionsTest.php | 34 +- .../Entity/EntityTranslationFormTest.php | 21 +- .../Entity/EntityViewControllerTest.php | 45 +- .../Entity/EntityWithUriCacheTagsTestBase.php | 4 +- .../Traits/EntityDefinitionTestTrait.php | 7 +- .../tests/src/Functional/File/ConfigTest.php | 13 +- .../FileTransfer/FileTransferTest.php | 11 +- .../FileTransfer/TestFileTransfer.php | 34 +- .../Functional/Form/ArbitraryRebuildTest.php | 13 +- .../src/Functional/Form/CheckboxTest.php | 29 +- .../src/Functional/Form/ConfirmFormTest.php | 44 +- .../tests/src/Functional/Form/ElementTest.php | 142 +- .../Functional/Form/ElementsAccessTest.php | 17 +- .../Functional/Form/ElementsLabelsTest.php | 103 +- .../Form/ElementsTableSelectTest.php | 63 +- .../Form/ElementsVerticalTabsTest.php | 16 +- .../tests/src/Functional/Form/EmailTest.php | 21 +- .../src/Functional/Form/FormObjectTest.php | 52 +- .../Form/FormStoragePageCacheTest.php | 42 +- .../tests/src/Functional/Form/FormTest.php | 199 +- .../Form/LanguageSelectElementTest.php | 42 +- .../Form/ModulesListFormWebTest.php | 56 +- .../tests/src/Functional/Form/RebuildTest.php | 6 +- .../src/Functional/Form/RedirectTest.php | 18 +- .../src/Functional/Form/ResponseTest.php | 10 +- .../Form/StateValuesCleanAdvancedTest.php | 9 +- .../Functional/Form/StateValuesCleanTest.php | 10 +- .../tests/src/Functional/Form/StorageTest.php | 37 +- .../tests/src/Functional/Form/StubForm.php | 2 +- .../Functional/Form/SystemConfigFormTest.php | 6 +- .../tests/src/Functional/Form/UrlTest.php | 21 +- .../src/Functional/Form/ValidationTest.php | 141 +- .../Functional/Lock/LockFunctionalTest.php | 16 +- .../src/Functional/Mail/HtmlToTextTest.php | 87 +- .../Functional/Menu/AssertBreadcrumbTrait.php | 15 +- .../Menu/AssertMenuActiveTrailTrait.php | 25 +- .../Menu/BreadcrumbFrontCacheContextsTest.php | 4 +- .../src/Functional/Menu/BreadcrumbTest.php | 78 +- .../src/Functional/Menu/LocalActionTest.php | 8 +- .../src/Functional/Menu/LocalTasksTest.php | 90 +- .../src/Functional/Menu/MenuAccessTest.php | 11 +- .../Functional/Menu/MenuLinkSecurityTest.php | 4 +- .../src/Functional/Menu/MenuRouterTest.php | 91 +- .../src/Functional/Module/ClassLoaderTest.php | 12 +- .../src/Functional/Module/DependencyTest.php | 169 +- .../Module/ExperimentalModuleTest.php | 143 - .../Module/HookRequirementsTest.php | 5 +- .../src/Functional/Module/InstallTest.php | 12 +- .../Module/InstallUninstallTest.php | 143 +- .../src/Functional/Module/ModuleTestBase.php | 49 +- .../Module/NonStableModulesTest.php | 393 + .../Module/PrepareUninstallTest.php | 81 +- .../src/Functional/Module/UninstallTest.php | 86 +- .../src/Functional/Module/VersionTest.php | 10 +- .../Functional/Page/DefaultMetatagsTest.php | 10 +- .../tests/src/Functional/Pager/PagerTest.php | 68 +- .../ParamConverter/UpcastingTest.php | 14 +- .../Functional/Render/AjaxPageStateTest.php | 5 +- .../Functional/Render/DisplayVariantTest.php | 4 +- .../Render/HtmlResponseAttachmentsTest.php | 38 +- .../Render/PlaceholderMessageTest.php | 2 +- .../RenderArrayNonHtmlSubscriberTest.php | 6 +- .../UrlBubbleableMetadataBubblingTest.php | 2 +- .../Rest/ActionResourceTestBase.php | 16 +- .../Functional/Rest/MenuResourceTestBase.php | 5 +- .../Functional/Routing/DestinationTest.php | 6 +- .../Routing/RouterPermissionTest.php | 4 +- .../src/Functional/Routing/RouterTest.php | 110 +- .../AdvisoriesUpdatePathTest.php | 35 + .../SecurityAdvisoryTest.php | 300 + .../ServiceProviderWebTest.php | 2 +- .../Session/SessionAuthenticationTest.php | 13 +- .../Functional/Session/SessionHttpsTest.php | 36 +- .../src/Functional/Session/SessionTest.php | 105 +- .../StackSessionHandlerIntegrationTest.php | 2 +- .../Functional/System/AccessDeniedTest.php | 42 +- .../Functional/System/AdminMetaTagTest.php | 4 +- .../tests/src/Functional/System/AdminTest.php | 9 +- .../src/Functional/System/CronRunTest.php | 23 +- .../DatabaseDriverProvidedByModuleTest.php | 72 + .../System/DateFormatsLockedTest.php | 4 +- .../System/DateFormatsMachineNameTest.php | 25 +- .../src/Functional/System/DateTimeTest.php | 104 +- .../System/DefaultMobileMetaTagsTest.php | 7 +- .../Functional/System/ErrorHandlerTest.php | 54 +- .../src/Functional/System/FrontPageTest.php | 37 +- .../src/Functional/System/HtaccessTest.php | 14 +- .../src/Functional/System/IndexPhpTest.php | 5 +- .../System/MainContentFallbackTest.php | 17 +- .../Functional/System/PageNotFoundTest.php | 24 +- .../src/Functional/System/PageTitleTest.php | 39 +- .../Functional/System/PhpRequirementTest.php | 93 + .../System/ResponseGeneratorTest.php | 46 +- .../Functional/System/RetrieveFileTest.php | 10 +- .../System/ShutdownFunctionsTest.php | 11 +- .../Functional/System/SiteMaintenanceTest.php | 81 +- .../System/SitesDirectoryHardeningTest.php | 8 +- .../src/Functional/System/StatusTest.php | 100 +- .../Functional/System/SystemAuthorizeTest.php | 13 +- .../tests/src/Functional/System/ThemeTest.php | 262 +- .../Functional/System/TokenReplaceWebTest.php | 4 +- .../Functional/System/TrustedHostsTest.php | 40 +- .../Functional/Theme/EngineNyanCatTest.php | 12 +- .../src/Functional/Theme/EngineTwigTest.php | 27 +- .../Theme/EntityFilteringThemeTest.php | 26 +- .../Theme/ExperimentalThemeTest.php | 114 +- .../tests/src/Functional/Theme/FastTest.php | 14 +- .../Functional/Theme/HtmlAttributesTest.php | 3 +- .../MaintenanceThemeUpdateRegistryTest.php | 74 + .../Theme/ThemeEarlyInitializationTest.php | 11 +- .../src/Functional/Theme/ThemeInfoTest.php | 26 +- .../src/Functional/Theme/ThemeLegacyTest.php | 17 +- .../Theme/ThemeSuggestionsAlterTest.php | 27 +- .../tests/src/Functional/Theme/ThemeTest.php | 29 +- .../src/Functional/Theme/ThemeTokenTest.php | 12 +- .../src/Functional/Theme/ThemeUiTest.php | 23 +- .../src/Functional/Theme/ThemeUpdateTest.php | 54 + .../Theme/ToolbarClaroOverridesTest.php | 7 + .../Functional/Theme/TwigDebugMarkupTest.php | 4 +- .../Functional/Theme/TwigExtensionTest.php | 54 +- .../src/Functional/Theme/TwigLoaderTest.php | 4 +- .../Theme/TwigRegistryLoaderTest.php | 23 +- .../src/Functional/Theme/TwigTransTest.php | 113 +- .../Update/ClassyUninstallUpdateTest.php | 3 +- .../DeleteAuthorizeSettingsUpdateTest.php | 38 + ...ndexAllOnKeyValueExpireTableUpdateTest.php | 35 + .../Update/StableUninstallUpdateTest.php | 1 + ...UpdateEnableProviderDatabaseDriverTest.php | 45 + .../UpdateSystem/BrokenCacheUpdateTest.php | 4 +- .../DependencyHookInvocationTest.php | 14 +- .../UpdateSystem/DependencyMissingTest.php | 3 + .../UpdateSystem/DependencyOrderingTest.php | 9 +- .../UpdateSystem/InvalidUpdateHookTest.php | 13 +- .../NoPreExistingSchemaUpdateTest.php | 12 +- .../UpdateSystem/RebuildScriptTest.php | 59 +- .../UpdateSystem/UpdateCacheTest.php | 2 +- .../UpdatePathLastRemovedTest.php | 16 +- .../UpdatePathNewDependencyTest.php | 6 +- .../UpdatePathTestBaseFilledTest.php | 188 +- .../UpdatePathTestJavaScriptTest.php | 2 +- .../UpdatePostUpdateExceptionTest.php | 68 + .../UpdatePostUpdateFailingTest.php | 18 +- .../UpdateSystem/UpdatePostUpdateTest.php | 38 +- .../UpdateRemovedPostUpdateTest.php | 24 +- .../UpdateSystem/UpdateSchemaTest.php | 23 +- .../UpdateSystem/UpdateScriptTest.php | 225 +- .../UpdateSystem/UpdatesWith7xTest.php | 20 +- .../Form/ElementsTableSelectTest.php | 50 +- .../FunctionalJavascript/Form/RebuildTest.php | 4 +- .../Form/TriggeringElementTest.php | 2 +- .../FunctionalJavascript/FrameworkTest.php | 4 +- .../ModalRendererTest.php | 36 + .../FunctionalJavascript/OffCanvasTest.php | 14 +- .../OffCanvasTestBase.php | 23 +- .../ThemeSettingsFormTest.php | 4 +- .../tests/src/Kernel/Action/ActionTest.php | 12 +- .../src/Kernel/Block/SystemMenuBlockTest.php | 14 +- .../tests/src/Kernel/Common/AddFeedTest.php | 2 +- .../Kernel/Common/FormElementsRenderTest.php | 12 +- .../src/Kernel/Common/PageRenderTest.php | 27 +- .../src/Kernel/Common/SystemListingTest.php | 7 +- .../tests/src/Kernel/Common/UrlTest.php | 295 + .../tests/src/Kernel/DecoratedServiceTest.php | 35 + .../Kernel/Entity/ConfigEntityImportTest.php | 12 +- ...ityReferenceSelectionReferenceableTest.php | 16 +- .../Kernel/Extension/ModuleHandlerTest.php | 93 +- .../src/Kernel/Form/ElementsFieldsetTest.php | 149 + .../tests/src/Kernel/Form/FormObjectTest.php | 3 + .../src/Kernel/Form/ProgrammaticTest.php | 17 +- .../InstallerDependenciesResolutionTest.php | 12 +- .../Kernel/Installer/UninstallKernelTest.php | 21 + .../system/tests/src/Kernel/Mail/MailTest.php | 36 +- .../Migrate/d6/MigrateActionConfigsTest.php | 2 +- .../Kernel/Migrate/d6/MigrateActionsTest.php | 16 +- .../Migrate/d6/MigrateDateFormatTest.php | 8 +- .../d6/MigrateSystemConfigurationTest.php | 27 +- .../Migrate/d7/MigrateActionConfigsTest.php | 2 +- .../Kernel/Migrate/d7/MigrateActionsTest.php | 16 +- .../src/Kernel/Migrate/d7/MigrateMenuTest.php | 6 +- .../Migrate/d7/MigrateMenuTranslationTest.php | 19 +- .../d7/MigrateSystemConfigurationTest.php | 55 +- .../Migrate/d7/MigrateThemeSettingsTest.php | 8 +- .../src/Kernel/Module/RequirementsTest.php | 33 + .../Plugin/migrate/source/ActionTest.php | 4 +- .../migrate/source/d7/ThemeSettingsTest.php | 4 +- .../src/Kernel/Scripts/DbCommandBaseTest.php | 8 +- .../src/Kernel/Scripts/DbDumpCommandTest.php | 12 +- .../Kernel/Scripts/DbImportCommandTest.php | 2 +- .../Kernel/Scripts/DbToolsApplicationTest.php | 4 +- .../SecurityAdvisoriesFetcherTest.php | 753 + .../tests/src/Kernel/System/CronQueueTest.php | 95 +- .../tests/src/Kernel/System/FloodTest.php | 33 +- .../src/Kernel/SystemDeprecationTest.php | 33 + .../tests/src/Kernel/Theme/FunctionsTest.php | 70 +- .../tests/src/Kernel/Theme/ThemeTest.php | 95 +- .../tests/src/Kernel/Theme/TwigFilterTest.php | 2 +- .../src/Kernel/Theme/TwigIncludeTest.php | 157 + .../src/Kernel/Theme/TwigNamespaceTest.php | 11 +- .../Kernel/Token/TokenReplaceKernelTest.php | 19 +- .../Token/TokenReplaceKernelTestBase.php | 3 + .../tests/src/Traits/OffCanvasTestTrait.php | 28 + .../PathBasedBreadcrumbBuilderTest.php | 61 +- .../SecurityFileUploadEventSubscriberTest.php | 154 + .../tests/src/Unit/Menu/MenuLinkTreeTest.php | 3 +- .../src/Unit/Menu/SystemLocalTasksTest.php | 14 +- .../SecurityAdvisoryTest.php | 183 + .../MachineNameControllerTest.php | 6 + .../deprecated_theme_test.info.yml | 7 + .../experimental_theme_test.info.yml | 2 +- ...xperimental_theme_dependency_test.info.yml | 5 + .../legacy_experimental_theme_test.info.yml | 6 + .../obsolete_theme_test.info.yml | 7 + .../config/install/core.date_format.fancy.yml | 10 +- .../test_basetheme/test_basetheme.info.yml | 9 +- ..._ckeditor_stylesheets_drupal_root.info.yml | 2 + ...est_ckeditor_stylesheets_external.info.yml | 2 + ...tor_stylesheets_protocol_relative.info.yml | 2 + ...est_ckeditor_stylesheets_relative.info.yml | 2 + .../css/yokotsoko.css | 4 + ...st_ckeditor_stylesheets_without_5.info.yml | 9 + .../test_core_semver.info.yml | 4 +- .../test_deprecated_theme.settings.yml | 2 + .../schema/test_deprecated_theme.schema.yml | 3 + .../test_deprecated_theme.info.yml | 7 + .../test_invalid_core_semver.info.yml | 2 +- .../test_invalid_region.info.yml | 2 +- .../test_messages/test_messages.info.yml | 2 +- .../test_subseven/test_subseven.info.yml | 5 - .../test_subtheme/test_subtheme.info.yml | 2 +- .../css/another.css | 5 + ...ng_ckeditor_stylesheets_without_5.info.yml | 9 + .../themes/test_theme/test_theme.info.yml | 26 +- ...theme_depending_on_modules.post_update.php | 31 + ...veery_long_name_which_is_too_long.info.yml | 2 +- .../test_theme_libraries_empty.info.yml | 2 +- .../test_theme_libraries_extend.info.yml | 4 +- ...ies_override_with_drupal_settings.info.yml | 2 +- ...aries_override_with_invalid_asset.info.yml | 2 +- .../test_theme_settings_features.info.yml | 2 +- .../test_theme_twig_registry_loader.info.yml | 2 +- .../test_theme_updates.info.yml | 5 + .../test_theme_updates.post_update.php | 13 + .../test_wild_west/test_wild_west.info.yml | 2 +- .../optional/views.view.taxonomy_term.yml | 138 +- core/modules/taxonomy/css/taxonomy.theme.css | 1 - .../d6_vocabulary_field_instance.yml | 23 +- .../src/ContextProvider/TermRouteContext.php | 75 + .../src/Controller/TaxonomyController.php | 6 + .../Routing/VocabularyRouteProvider.php | 12 +- core/modules/taxonomy/src/Entity/Term.php | 3 +- .../taxonomy/src/Entity/Vocabulary.php | 2 + .../taxonomy/src/Form/OverviewTerms.php | 11 +- .../TermSelection.php | 2 +- ...ntityReferenceTaxonomyTermRssFormatter.php | 2 +- .../Plugin/migrate/D7TaxonomyTermDeriver.php | 4 +- .../migrate/field/TaxonomyTermReference.php | 3 + .../Plugin/migrate/process/TargetBundle.php | 28 + .../src/Plugin/migrate/source/d6/Term.php | 32 +- .../source/d6/TermLocalizedTranslation.php | 18 +- .../src/Plugin/migrate/source/d6/TermNode.php | 30 +- .../migrate/source/d6/TermNodeRevision.php | 8 +- .../Plugin/migrate/source/d6/Vocabulary.php | 5 + .../migrate/source/d6/VocabularyPerType.php | 9 +- .../source/d6/VocabularyTranslation.php | 12 +- .../src/Plugin/migrate/source/d7/Term.php | 34 +- .../source/d7/TermEntityTranslation.php | 36 +- .../source/d7/TermLocalizedTranslation.php | 16 +- .../migrate/source/d7/TermTranslation.php | 23 +- .../Plugin/migrate/source/d7/Vocabulary.php | 5 + .../source/d7/VocabularyTranslation.php | 11 +- .../Plugin/views/argument/IndexTidDepth.php | 32 +- .../views/argument/IndexTidDepthModifier.php | 2 +- .../Plugin/views/argument/VocabularyVid.php | 8 +- .../src/Plugin/views/argument_default/Tid.php | 20 - .../Plugin/views/argument_validator/Term.php | 26 +- .../views/argument_validator/TermName.php | 20 +- .../Plugin/views/field/TaxonomyIndexTid.php | 8 +- .../src/Plugin/views/field/TermName.php | 7 +- .../Plugin/views/filter/TaxonomyIndexTid.php | 15 +- .../views/filter/TaxonomyIndexTidDepth.php | 36 +- .../views/relationship/NodeTermData.php | 22 +- .../src/TaxonomyIndexDepthQueryTrait.php | 94 + .../taxonomy/src/TaxonomyPermissions.php | 9 +- .../taxonomy/src/TermBreadcrumbBuilder.php | 10 +- core/modules/taxonomy/src/TermForm.php | 75 +- core/modules/taxonomy/src/TermStorage.php | 34 +- .../taxonomy/src/TermStorageInterface.php | 13 +- .../taxonomy/src/VocabularyStorage.php | 9 +- core/modules/taxonomy/taxonomy.js | 6 - core/modules/taxonomy/taxonomy.module | 121 +- .../modules/taxonomy/taxonomy.post_update.php | 7 + core/modules/taxonomy/taxonomy.services.yml | 5 + core/modules/taxonomy/taxonomy.tokens.inc | 13 +- core/modules/taxonomy/taxonomy.views.inc | 13 - ...nomy_term_display_configurable_test.module | 3 +- .../views.view.taxonomy_all_terms_test.yml | 2 +- ...ws.view.taxonomy_default_argument_test.yml | 2 +- ...test_argument_taxonomy_index_tid_depth.yml | 2 +- ...view.test_argument_taxonomy_vocabulary.yml | 2 +- .../views.view.test_field_filters.yml | 2 +- ...ws.view.test_filter_taxonomy_index_tid.yml | 2 +- ...omy_index_tid__non_existing_dependency.yml | 2 +- ...w.test_filter_taxonomy_index_tid_depth.yml | 19 +- .../views.view.test_groupwise_term.yml | 2 +- ...w.test_taxonomy_exposed_grouped_filter.yml | 271 + ...views.view.test_taxonomy_name_argument.yml | 235 + ...iews.view.test_taxonomy_node_term_data.yml | 2 +- .../views.view.test_taxonomy_parent.yml | 2 +- .../views.view.test_taxonomy_term_name.yml | 2 +- ...s.view.test_taxonomy_term_relationship.yml | 2 +- .../views.view.test_taxonomy_tid_field.yml | 2 +- .../views.view.test_taxonomy_vid_field.yml | 2 +- .../views.view.test_term_show_entity.yml | 2 +- .../tests/src/Functional/EarlyDateTest.php | 10 +- .../tests/src/Functional/LoadMultipleTest.php | 10 +- .../Rest/VocabularyResourceTestBase.php | 5 +- .../taxonomy/tests/src/Functional/RssTest.php | 15 +- .../src/Functional/TaxonomyImageTest.php | 118 - .../TaxonomyTermIndentationTest.php | 7 +- .../tests/src/Functional/TermAccessTest.php | 8 +- .../src/Functional/TermAutocompleteTest.php | 10 +- .../Functional/TermContextualLinksTest.php | 2 +- .../tests/src/Functional/TermIndexTest.php | 38 +- .../tests/src/Functional/TermLanguageTest.php | 31 +- .../tests/src/Functional/TermParentsTest.php | 15 +- .../tests/src/Functional/TermTest.php | 352 +- .../TermTranslationFieldViewTest.php | 11 +- .../src/Functional/TermTranslationTest.php | 18 +- .../src/Functional/TermTranslationUITest.php | 27 +- .../tests/src/Functional/ThemeTest.php | 17 +- .../tests/src/Functional/TokenReplaceTest.php | 20 +- .../Views/RelationshipNodeTermDataTest.php | 8 +- .../Views/TaxonomyFieldAllTermsTest.php | 30 +- .../Views/TaxonomyFieldFilterTest.php | 13 +- .../Views/TaxonomyIndexTidUiTest.php | 168 +- .../Functional/Views/TaxonomyParentUITest.php | 9 +- .../Views/TaxonomyRelationshipTest.php | 46 +- .../Views/TaxonomyTermArgumentDepthTest.php | 4 +- .../Views/TaxonomyTermFilterDepthTest.php | 16 +- .../Functional/Views/TaxonomyTermViewTest.php | 28 +- .../src/Functional/Views/TaxonomyTestBase.php | 15 +- .../Views/TaxonomyVocabularyArgumentTest.php | 8 +- .../Views/TermDisplayConfigurableTest.php | 46 +- .../Functional/Views/TermNameFieldTest.php | 22 +- .../src/Functional/VocabularyLanguageTest.php | 18 +- .../Functional/VocabularyPermissionsTest.php | 35 +- .../Functional/VocabularyTranslationTest.php | 63 +- .../tests/src/Functional/VocabularyUiTest.php | 52 +- .../ContextProvider/TermContextTest.php | 71 + .../Migrate/MigrateTaxonomyConfigsTest.php | 2 +- .../Migrate/TaxonomyTermDeriverTest.php | 10 +- ...grateTaxonomyVocabularyTranslationTest.php | 1 + .../MigrateTermLocalizedTranslationTest.php | 16 +- .../Migrate/d6/MigrateTermNodeComplete.php | 8 +- .../Kernel/Migrate/d6/MigrateTermNodeTest.php | 3 +- .../d6/MigrateTermNodeTranslationTest.php | 2 + .../d6/MigrateVocabularyFieldInstanceTest.php | 25 +- .../Migrate/d7/MigrateNodeTaxonomyTest.php | 9 +- .../Migrate/d7/MigrateTaxonomyTermTest.php | 91 +- .../d7/MigrateTaxonomyTermTranslationTest.php | 13 +- .../d7/MigrateTaxonomyVocabularyTest.php | 12 +- ...grateTaxonomyVocabularyTranslationTest.php | 1 + .../MigrateTermLocalizedTranslationTest.php | 14 +- .../d6/TermLocalizedTranslationTest.php | 64 + .../d7/TermLocalizedTranslationTest.php | 6 +- .../migrate/source/d7/TermTranslationTest.php | 361 + .../src/Kernel/TaxonomyDeprecationTest.php | 67 + .../src/Kernel/TaxonomyQueryAlterTest.php | 10 +- .../tests/src/Kernel/TermEntityQueryTest.php | 5 +- .../src/Kernel/TermEntityReferenceTest.php | 2 +- .../tests/src/Kernel/TermKernelTest.php | 22 +- .../tests/src/Kernel/TermValidationTest.php | 10 +- .../Views/ArgumentValidatorTermNameTest.php | 183 + .../Views/ArgumentValidatorTermTest.php | 2 - .../Views/TaxonomyDefaultArgumentTest.php | 6 +- .../src/Kernel/Views/TaxonomyFieldVidTest.php | 2 +- .../Views/TaxonomyTermArgumentDepthTest.php | 195 + .../Views/TaxonomyTermFilterDepthTest.php | 172 + .../src/Kernel/Views/TaxonomyTestBase.php | 2 +- .../tests/src/Kernel/VocabularyCrudTest.php | 11 +- .../src/Unit/Menu/TaxonomyLocalTasksTest.php | 3 + .../field/TaxonomyTermReferenceFieldTest.php | 4 +- .../state/telephone.migrate_drupal.yml | 1 + .../FieldFormatter/TelephoneLinkFormatter.php | 6 +- .../Plugin/Field/FieldType/TelephoneItem.php | 15 +- .../FieldWidget/TelephoneDefaultWidget.php | 12 +- .../migrate/field/d7/TelephoneField.php | 36 + .../src/Functional/TelephoneFieldTest.php | 13 +- .../tests/src/Kernel/TelephoneItemTest.php | 11 +- .../FieldFormatter/TextTrimmedFormatter.php | 8 +- .../src/Plugin/Field/FieldType/TextItem.php | 6 +- .../Plugin/Field/FieldType/TextItemBase.php | 3 +- .../Field/FieldType/TextWithSummaryItem.php | 15 +- .../Field/FieldWidget/TextareaWidget.php | 2 +- .../FieldWidget/TextareaWithSummaryWidget.php | 16 +- .../Field/FieldWidget/TextfieldWidget.php | 4 +- .../src/Plugin/migrate/field/d6/TextField.php | 2 +- .../src/Plugin/migrate/field/d7/TextField.php | 2 +- .../tests/src/Functional/TextFieldTest.php | 26 +- .../TextareaWithSummaryTest.php | 56 +- .../Kernel/Migrate/MigrateTextConfigsTest.php | 2 +- .../tests/src/Kernel/TextFormatterTest.php | 4 +- .../tests/src/Kernel/TextItemBaseTest.php | 60 + .../text/tests/src/Kernel/TextSummaryTest.php | 80 +- .../src/Kernel/TextWithSummaryItemTest.php | 16 +- .../src/Unit/Migrate/d6/TextFieldTest.php | 24 +- .../Plugin/migrate/field/d6/TextFieldTest.php | 24 +- .../Plugin/migrate/field/d7/TextFieldTest.php | 5 +- core/modules/text/text.es6.js | 90 +- core/modules/text/text.js | 17 +- core/modules/text/text.libraries.yml | 3 +- core/modules/text/text.module | 15 +- core/modules/toolbar/css/toolbar.theme.css | 3 +- core/modules/toolbar/js/escapeAdmin.es6.js | 10 +- core/modules/toolbar/js/escapeAdmin.js | 12 +- core/modules/toolbar/js/models/MenuModel.js | 1 - .../modules/toolbar/js/models/ToolbarModel.js | 1 - core/modules/toolbar/js/toolbar.es6.js | 271 +- core/modules/toolbar/js/toolbar.js | 22 +- core/modules/toolbar/js/toolbar.menu.es6.js | 14 +- core/modules/toolbar/js/toolbar.menu.js | 28 +- .../toolbar/js/views/BodyVisualView.js | 1 - .../toolbar/js/views/MenuVisualView.es6.js | 7 +- .../toolbar/js/views/MenuVisualView.js | 5 +- .../toolbar/js/views/ToolbarAuralView.es6.js | 5 +- .../toolbar/js/views/ToolbarAuralView.js | 5 - .../toolbar/js/views/ToolbarVisualView.es6.js | 14 +- .../toolbar/js/views/ToolbarVisualView.js | 39 +- .../src/Controller/ToolbarController.php | 10 +- core/modules/toolbar/src/Element/Toolbar.php | 2 +- .../toolbar/src/Element/ToolbarItem.php | 2 +- .../toolbar/templates/toolbar.html.twig | 2 +- .../modules/toolbar_test/toolbar_test.module | 14 + .../src/Functional/ToolbarAdminMenuTest.php | 119 +- .../Functional/ToolbarCacheContextsTest.php | 19 +- .../src/Functional/ToolbarHookToolbarTest.php | 13 +- .../Functional/ToolbarMenuTranslationTest.php | 29 +- .../ToolbarIntegrationTest.php | 27 + .../src/Nightwatch/Tests/toolbarApiTest.js | 264 + .../tests/src/Nightwatch/Tests/toolbarTest.js | 379 + .../Unit/PageCache/AllowToolbarPathTest.php | 3 + core/modules/toolbar/toolbar.api.php | 2 +- core/modules/toolbar/toolbar.libraries.yml | 18 +- core/modules/toolbar/toolbar.module | 22 +- .../tour/config/schema/tour.schema.yml | 8 + core/modules/tour/css/tour.module.css | 172 +- core/modules/tour/js/tour.es6.js | 340 +- core/modules/tour/js/tour.js | 144 +- core/modules/tour/src/Entity/Tour.php | 7 +- .../Plugin/HelpSection/TourHelpSection.php | 2 +- .../src/Plugin/tour/tip/TipPluginText.php | 73 +- core/modules/tour/src/TipPluginBase.php | 119 +- core/modules/tour/src/TipPluginInterface.php | 9 + .../tour/src/TourTipPluginInterface.php | 58 + core/modules/tour/src/TourViewBuilder.php | 202 +- .../tests/fixtures/addTourLegacyConfig.php | 27 + .../tour.tour.tour-test-legacy-location.yml | 30 + .../tour.tour.tour-test-legacy.yml | 29 + .../Functional/Rest/TourResourceTestBase.php | 13 +- .../tests/src/Functional/TourHelpPageTest.php | 10 +- .../tour/tests/src/Functional/TourTest.php | 153 +- .../tests/src/Functional/TourTestBase.php | 20 +- .../tests/src/Functional/TourTestBasic.php | 9 +- ...urTipDeprecatedConfigModuleInstallTest.php | 61 + .../TourTipDeprecatedConfigUpdateTest.php | 75 + .../TourJavascriptTest.php | 131 + .../FunctionalJavascript/TourLegacyTest.php | 145 + .../tour/tests/src/Kernel/TourPluginTest.php | 63 +- .../tour/tests/src/Unit/Entity/TourTest.php | 4 +- .../Plugin/tour/tip/TipPluginTextTest.php | 44 - .../tour/tests/src/Unit/TipPluginBaseTest.php | 30 + .../tour.tour.tour-test-legacy-location.yml | 31 + .../install/tour.tour.tour-test-legacy.yml | 39 + .../config/schema/tour_legacy_test.schema.yml | 17 + .../tour_legacy_test.info.yml | 8 + .../tour_legacy_test.routing.yml | 8 + .../config/install/tour.tour.tour-test-2.yml | 12 +- .../config/install/tour.tour.tour-test.yml | 25 +- .../src/Plugin/tour/tip/TipPluginImage.php | 59 +- .../Plugin/tour/tip/TipPluginImageLegacy.php | 99 + .../Plugin/tour/tip/TipPluginTextLegacy.php | 118 + core/modules/tour/tour.api.php | 2 +- core/modules/tour/tour.libraries.yml | 8 +- core/modules/tour/tour.module | 79 + core/modules/tour/tour.post_update.php | 21 + ...tracker.tracking_changed_content.html.twig | 7 +- .../modules/tracker/js/tracker-history.es6.js | 104 +- core/modules/tracker/js/tracker-history.js | 44 +- .../Plugin/migrate/source/d7/TrackerNode.php | 5 + .../Plugin/migrate/source/d7/TrackerUser.php | 5 + .../tracker/tests/fixtures/drupal7.php | 28704 ++++++++ .../views.view.test_tracker_user_uid.yml | 2 +- .../src/Functional/Migrate/ReviewPageTest.php | 72 + .../src/Functional/TrackerNodeAccessTest.php | 49 +- .../TrackerRecentContentLinkTest.php | 8 +- .../tests/src/Functional/TrackerTest.php | 74 +- .../Migrate/d7/MigrateDrupalTestBase.php | 64 + .../Migrate/d7/MigrateTrackerNodeTest.php | 11 +- .../Migrate/d7/MigrateTrackerSettingsTest.php | 6 +- .../Migrate/d7/MigrateTrackerUserTest.php | 13 +- .../migrate/source/d7/TrackerNodeTest.php | 8 +- .../migrate/source/d7/TrackerUserTest.php | 8 +- core/modules/tracker/tracker.install | 2 +- core/modules/tracker/tracker.module | 7 +- .../src/Controller/UpdateController.php | 18 +- .../update/src/Form/UpdateManagerInstall.php | 44 +- .../update/src/Form/UpdateManagerUpdate.php | 58 +- core/modules/update/src/ModuleVersion.php | 14 +- .../Plugin/migrate/source/UpdateSettings.php | 8 +- core/modules/update/src/ProjectRelease.php | 288 + .../update/src/ProjectSecurityData.php | 44 +- .../update/src/ProjectSecurityRequirement.php | 2 +- core/modules/update/src/UpdateFetcher.php | 6 +- core/modules/update/src/UpdateProcessor.php | 12 +- .../{UpdateRootFactory.php => UpdateRoot.php} | 26 +- .../modules/update/src/UpdateSettingsForm.php | 50 +- .../update/templates/update-version.html.twig | 5 - .../aaa_update_test.1_0-supported.xml | 5 - .../aaa_update_test.1_0-unsupported.xml | 5 - .../release-history/aaa_update_test.1_0.xml | 2 - .../aaa_update_test.1_1-alpha1.xml | 3 - .../aaa_update_test.1_1-beta1.xml | 4 - .../release-history/aaa_update_test.1_1.xml | 5 - .../aaa_update_test.1_2-alpha1.xml | 6 - .../aaa_update_test.1_2-beta1.xml | 7 - .../release-history/aaa_update_test.1_2.xml | 8 - .../aaa_update_test.2_0-alpha1.xml | 9 - .../aaa_update_test.2_0-beta1.xml | 10 - .../release-history/aaa_update_test.2_0.xml | 11 - .../aaa_update_test.8.x-1.2.xml | 4 - ...est.core_compatibility.8.x-1.2_8.x-2.2.xml | 3 - .../aaa_update_test.sec.8.x-1.1_8.x-1.2.xml | 3 - .../aaa_update_test.sec.8.x-1.2.xml | 3 - .../aaa_update_test.sec.8.x-1.2_8.x-2.2.xml | 8 - ...aaa_update_test.sec.8.x-2.2_1.x_secure.xml | 6 - .../release-history/bbb_update_test.1_0.xml | 3 +- .../release-history/bbb_update_test.1_1.xml | 2 - .../release-history/bbb_update_test.1_2.xml | 3 - .../release-history/ccc_update_test.1_0.xml | 3 +- .../release-history/drupal.0.0-alpha1.xml | 2 - .../release-history/drupal.0.0-beta1.xml | 3 - .../fixtures/release-history/drupal.0.0.xml | 4 - .../release-history/drupal.0.1-alpha1.xml | 5 - .../release-history/drupal.0.1-beta1.xml | 6 - .../fixtures/release-history/drupal.0.1.xml | 7 - .../release-history/drupal.1.0-alpha1.xml | 8 - .../release-history/drupal.1.0-beta1.xml | 9 - .../drupal.1.0-unsupported.xml | 11 - .../fixtures/release-history/drupal.1.0.xml | 12 - .../drupal.1.1-alpha1-core_compatibility.xml | 10 - .../release-history/drupal.1.1-alpha1.xml | 11 - .../release-history/drupal.1.1-beta1.xml | 12 - .../drupal.1.1-core_compatibility.xml | 12 - .../fixtures/release-history/drupal.1.1.xml | 13 - .../fixtures/release-history/drupal.9.xml | 1 - .../fixtures/release-history/drupal.dev.xml | 2 - .../release-history/drupal.sec.0.1_0.2.xml | 3 - .../release-history/drupal.sec.0.2.xml | 3 - .../release-history/drupal.sec.1.2.xml | 6 - .../drupal.sec.1.2_insecure-unsupported.xml | 6 - .../drupal.sec.1.2_insecure.xml | 6 - .../release-history/drupal.sec.10.5.0.xml | 57 + ...0.2-rc2-b.xml => drupal.sec.2.0-rc2-b.xml} | 12 - ...sec.0.2-rc2.xml => drupal.sec.2.0-rc2.xml} | 12 - .../release-history/drupal.sec.2.0.xml | 4 - .../drupal.sec.2.0_3.0-rc1.xml | 5 - .../release-history/drupal.sec.2.0_9.0.0.xml | 6 - .../release-history/drupal.sec.9.0.xml | 107 - .../release-history/drupal.sec.9.5.0.xml | 57 + .../release-history/drupal.sec.9.9.0.xml | 107 - .../semver_test.0.0-alpha1.xml | 41 + .../release-history/semver_test.0.0-beta1.xml | 54 + .../release-history/semver_test.0.0.xml | 67 + .../semver_test.0.1-alpha1.xml | 80 + .../release-history/semver_test.0.1-beta1.xml | 93 + .../release-history/semver_test.0.1.xml | 106 + .../semver_test.1.0-alpha1.xml | 119 + .../release-history/semver_test.1.0-beta1.xml | 132 + .../semver_test.1.0-unsupported.xml | 163 + .../release-history/semver_test.1.0.xml | 172 + ...ver_test.1.1-alpha1-core_compatibility.xml | 144 + .../semver_test.1.1-alpha1.xml | 158 + .../release-history/semver_test.1.1-beta1.xml | 171 + .../semver_test.1.1-core_compatibility.xml | 170 + .../release-history/semver_test.1.1.xml | 184 + .../release-history/semver_test.9.xml | 27 + .../release-history/semver_test.dev.xml | 39 + .../semver_test.sec.0.1_0.2.xml | 57 + .../release-history/semver_test.sec.0.2.xml | 56 + .../release-history/semver_test.sec.1.2.xml | 95 + ...mver_test.sec.1.2_insecure-unsupported.xml | 103 + .../semver_test.sec.1.2_insecure.xml | 98 + .../semver_test.sec.2.0-rc2-b.xml | 194 + .../semver_test.sec.2.0-rc2.xml | 200 + .../update_test_basetheme.1_1-sec.xml | 6 +- .../update_test_new_module.1_1.xml | 1 - .../update_test_subtheme.1_0.xml | 3 +- .../modules/semver_test/semver_test.info.yml | 4 + .../FileTransferAuthorizeFormTest.php | 15 +- ...dViewUpdateNotificationsPermissionTest.php | 49 + .../src/Functional/UpdateContribTest.php | 148 +- .../tests/src/Functional/UpdateCoreTest.php | 936 - .../Functional/UpdateSemverContribTest.php | 52 + .../src/Functional/UpdateSemverCoreTest.php | 550 + .../src/Functional/UpdateSemverTestBase.php | 448 + .../tests/src/Functional/UpdateTestBase.php | 85 +- .../tests/src/Functional/UpdateUploadTest.php | 62 +- .../src/Functional/UpdateUploaderTestBase.php | 37 + .../Migrate/d6/MigrateUpdateConfigsTest.php | 10 +- .../Kernel/UpdateDeleteFileIfStaleTest.php | 2 +- .../tests/src/Kernel/UpdateStorageTest.php | 44 + .../src/Unit/Menu/UpdateLocalTasksTest.php | 3 + .../tests/src/Unit/ModuleVersionTest.php | 1 + .../tests/src/Unit/ProjectReleaseTest.php | 260 + .../tests/src/Unit/UpdateFetcherTest.php | 6 +- .../update_test_basetheme.info.yml | 2 +- core/modules/update/update.api.php | 2 +- core/modules/update/update.authorize.inc | 71 +- core/modules/update/update.compare.inc | 70 +- core/modules/update/update.fetch.inc | 5 +- core/modules/update/update.info.yml | 2 - core/modules/update/update.install | 30 +- core/modules/update/update.links.action.yml | 6 +- core/modules/update/update.manager.inc | 20 +- core/modules/update/update.module | 79 +- core/modules/update/update.permissions.yml | 3 + core/modules/update/update.post_update.php | 16 + core/modules/update/update.report.inc | 9 +- core/modules/update/update.routing.yml | 6 +- core/modules/update/update.services.yml | 8 +- .../modules/user/config/install/user.mail.yml | 106 +- .../user/config/install/user.settings.yml | 2 +- .../optional/views.view.user_admin_people.yml | 427 +- .../config/optional/views.view.who_s_new.yml | 163 +- .../optional/views.view.who_s_online.yml | 201 +- .../user/config/schema/user.schema.yml | 61 +- core/modules/user/migrations/d6_user_role.yml | 5 + core/modules/user/migrations/d7_user_mail.yml | 28 +- core/modules/user/migrations/d7_user_role.yml | 5 + .../user/migrations/d7_user_settings.yml | 30 + .../user/migrations/user_picture_field.yml | 2 +- .../user/src/Access/PermissionAccessCheck.php | 2 + core/modules/user/src/AccountForm.php | 30 +- core/modules/user/src/AccountSettingsForm.php | 44 - .../src/Authentication/Provider/Cookie.php | 79 +- .../UserAuthenticationController.php | 2 +- .../user/src/Controller/UserController.php | 95 +- .../Entity/EntityPermissionsRouteProvider.php | 117 + ...ntityPermissionsRouteProviderWithCheck.php | 31 + core/modules/user/src/Entity/Role.php | 73 +- core/modules/user/src/Entity/User.php | 5 +- .../modules/user/src/EntityOwnerInterface.php | 2 + .../modules/user/src/Event/UserFloodEvent.php | 2 +- .../AccessDeniedSubscriber.php | 3 + .../MaintenanceModeSubscriber.php | 30 +- .../user/src/Form/EntityPermissionsForm.php | 176 + .../user/src/Form/RoleSettingsForm.php | 106 + core/modules/user/src/Form/UserCancelForm.php | 27 +- core/modules/user/src/Form/UserLoginForm.php | 25 +- .../src/Form/UserMultipleCancelConfirm.php | 15 +- .../user/src/Form/UserPasswordForm.php | 112 +- .../user/src/Form/UserPermissionsForm.php | 56 +- .../UserPermissionsModuleSpecificForm.php | 68 + core/modules/user/src/PermissionHandler.php | 24 +- .../user/src/PermissionHandlerInterface.php | 16 +- .../src/Plugin/Action/ChangeUserRoleBase.php | 2 +- .../src/Plugin/Derivative/UserLocalTask.php | 81 + .../Field/FieldFormatter/AuthorFormatter.php | 1 - .../FieldFormatter/UserNameFormatter.php | 2 +- .../user/src/Plugin/Search/UserSearch.php | 3 +- .../ProtectedUserFieldConstraintValidator.php | 6 +- .../Constraint/UserMailRequiredValidator.php | 2 +- .../Plugin/migrate/destination/EntityUser.php | 12 +- .../Plugin/migrate/process/UserUpdate8002.php | 2 +- .../d6/ProfileFieldOptionTranslation.php | 4 +- .../Plugin/migrate/source/ProfileField.php | 7 +- .../migrate/source/UserPictureInstance.php | 7 +- .../d6/ProfileFieldOptionTranslation.php | 11 +- .../migrate/source/d6/ProfileFieldValues.php | 11 +- .../src/Plugin/migrate/source/d6/Role.php | 5 + .../src/Plugin/migrate/source/d6/User.php | 10 +- .../Plugin/migrate/source/d6/UserPicture.php | 5 + .../migrate/source/d6/UserPictureFile.php | 11 +- .../src/Plugin/migrate/source/d7/Role.php | 5 + .../src/Plugin/migrate/source/d7/User.php | 9 +- .../source/d7/UserEntityTranslation.php | 7 +- .../Plugin/views/argument_default/User.php | 1 - .../user/src/Plugin/views/field/Roles.php | 4 +- .../user/src/Plugin/views/filter/Name.php | 5 + core/modules/user/src/ProfileForm.php | 42 +- core/modules/user/src/RegisterForm.php | 1 - core/modules/user/src/RoleStorage.php | 8 +- .../user/src/UserAccessControlHandler.php | 7 +- core/modules/user/src/UserFloodControl.php | 6 +- core/modules/user/src/UserInterface.php | 4 +- core/modules/user/src/UserListBuilder.php | 1 + core/modules/user/src/UserStorage.php | 29 +- .../modules/user/src/UserStorageInterface.php | 1 + core/modules/user/src/UserStorageSchema.php | 10 - core/modules/user/src/UserViewsData.php | 3 +- .../user_permissions_test.info.yml | 5 + .../user_permissions_test.permissions.yml | 6 + .../views.view.test_access_perm.yml | 2 +- .../views.view.test_access_role.yml | 2 +- .../views.view.test_field_permission.yml | 2 +- .../views.view.test_filter_current_user.yml | 2 +- .../views.view.test_filter_permission.yml | 2 +- .../views.view.test_groupwise_user.yml | 2 +- ...t_plugin_argument_default_current_user.yml | 2 +- .../views.view.test_user_bulk_form.yml | 2 +- ...iew.test_user_bulk_form_combine_filter.yml | 2 +- .../views.view.test_user_changed.yml | 2 +- .../test_views/views.view.test_user_data.yml | 2 +- .../views.view.test_user_fields_access.yml | 2 +- .../test_views/views.view.test_user_name.yml | 2 +- .../views.view.test_user_relationship.yml | 2 +- .../views.view.test_user_roles_rid.yml | 2 +- .../views.view.test_user_uid_argument.yml | 2 +- ....view.test_view_argument_validate_user.yml | 2 +- ...w.test_view_argument_validate_username.yml | 2 +- ...ews.view.test_views_handler_field_role.yml | 2 +- ...iew.test_views_handler_field_user_name.yml | 2 +- .../tests/src/Functional/AccessRoleUITest.php | 15 +- .../Mysql8RequirePrimaryKeyUpdateTest.php | 65 + .../Functional/Rest/RoleResourceTestBase.php | 9 +- .../Functional/Rest/UserResourceTestBase.php | 12 +- .../src/Functional/UidUpdateToSerialTest.php | 56 + .../Update/UserUpdateRoleDependenciesTest.php | 56 + .../src/Functional/UserAccountLinksTest.php | 48 +- .../src/Functional/UserAdminLanguageTest.php | 31 +- .../src/Functional/UserAdminListingTest.php | 12 +- .../tests/src/Functional/UserAdminTest.php | 64 +- .../tests/src/Functional/UserBlocksTest.php | 35 +- .../tests/src/Functional/UserCancelTest.php | 266 +- .../src/Functional/UserCreateFailMailTest.php | 7 +- .../tests/src/Functional/UserCreateTest.php | 31 +- .../tests/src/Functional/UserEditTest.php | 86 +- .../Functional/UserEditedOwnAccountTest.php | 3 +- .../Functional/UserLanguageCreationTest.php | 25 +- .../tests/src/Functional/UserLanguageTest.php | 14 +- .../src/Functional/UserLoginHttpTest.php | 92 +- .../tests/src/Functional/UserLoginTest.php | 171 +- .../src/Functional/UserPasswordResetTest.php | 243 +- .../Functional/UserPermissionsAdminTest.php | 62 + .../src/Functional/UserPermissionsTest.php | 143 +- .../tests/src/Functional/UserPictureTest.php | 26 +- .../Functional/UserRegistrationRestTest.php | 270 + .../src/Functional/UserRegistrationTest.php | 97 +- .../src/Functional/UserRoleAdminTest.php | 50 +- .../Functional/UserRolesAssignmentTest.php | 29 +- .../tests/src/Functional/UserSearchTest.php | 60 +- .../tests/src/Functional/UserSubAdminTest.php | 13 +- .../tests/src/Functional/UserTimeZoneTest.php | 35 +- .../src/Functional/UserTokenReplaceTest.php | 15 +- .../src/Functional/UserTranslationUITest.php | 28 +- .../src/Functional/Views/AccessRoleTest.php | 23 +- .../src/Functional/Views/AccessTestBase.php | 4 +- .../Functional/Views/BulkFormAccessTest.php | 21 +- .../src/Functional/Views/BulkFormTest.php | 19 +- .../Views/FilterPermissionUiTest.php | 20 +- .../Functional/Views/HandlerFieldRoleTest.php | 8 +- .../Views/HandlerFieldUserNameTest.php | 2 +- .../Views/HandlerFilterUserNameTest.php | 41 +- .../Functional/Views/RolesRidArgumentTest.php | 26 +- .../src/Functional/Views/UserChangedTest.php | 12 +- .../Views/UserFieldsAccessChangeTest.php | 33 +- .../src/Functional/Views/UserTestBase.php | 10 +- .../PasswordWidgetThemeFunctionTest.php | 7 + .../RegistrationWithUserFieldsTest.php | 8 +- .../UserPermissionsTest.php | 79 + .../Condition/UserRoleConditionTest.php | 18 +- .../Kernel/Controller/UserControllerTest.php | 76 + .../Kernel/Field/UserNameFormatterTest.php | 14 +- .../src/Kernel/Form/UserLoginFormTest.php | 5 +- .../Migrate/MigrateUserAdminPassTest.php | 12 +- ...grateProfileFieldOptionTranslationTest.php | 1 + .../Migrate/d6/MigrateUserConfigsTest.php | 40 +- .../d6/MigrateUserContactSettingsTest.php | 6 +- .../d6/MigrateUserPictureD6FileTest.php | 52 +- .../Migrate/d6/MigrateUserPictureFileTest.php | 52 - .../MigrateUserProfileEntityDisplayTest.php | 8 +- ...igrateUserProfileEntityFormDisplayTest.php | 8 +- .../MigrateUserProfileFieldInstanceTest.php | 32 +- .../d6/MigrateUserProfileFieldTest.php | 32 +- .../d6/MigrateUserProfileValuesTest.php | 34 +- .../Kernel/Migrate/d6/MigrateUserRoleTest.php | 11 +- .../src/Kernel/Migrate/d6/MigrateUserTest.php | 4 +- .../Migrate/d7/MigrateUserFloodTest.php | 8 +- .../Kernel/Migrate/d7/MigrateUserMailTest.php | 28 +- .../MigrateUserPictureEntityDisplayTest.php | 6 +- ...igrateUserPictureEntityFormDisplayTest.php | 6 +- .../MigrateUserPictureFieldInstanceTest.php | 8 +- .../d7/MigrateUserPictureFieldTest.php | 8 +- .../Kernel/Migrate/d7/MigrateUserRoleTest.php | 10 +- .../Migrate/d7/MigrateUserSettingsTest.php | 65 + .../src/Kernel/Migrate/d7/MigrateUserTest.php | 21 +- .../Migrate/d7/UserMigrationClassTest.php | 4 +- .../migrate/source/ProfileFieldTest.php | 6 +- .../source/d6/ProfileFieldValuesTest.php | 2 +- .../Plugin/migrate/source/d7/UserTest.php | 63 +- .../src/Kernel/UserAccountFormFieldsTest.php | 11 +- .../UserAccountFormPasswordResetTest.php | 102 + .../src/Kernel/UserActionConfigSchemaTest.php | 9 +- .../user/tests/src/Kernel/UserDeleteTest.php | 2 +- .../src/Kernel/UserEntityReferenceTest.php | 1 + .../user/tests/src/Kernel/UserEntityTest.php | 28 +- .../user/tests/src/Kernel/UserInstallTest.php | 4 +- .../tests/src/Kernel/UserMailDefaultsTest.php | 57 + .../tests/src/Kernel/UserMailNotifyTest.php | 103 +- .../tests/src/Kernel/UserRoleDeleteTest.php | 91 +- .../tests/src/Kernel/UserRoleEntityTest.php | 41 +- .../tests/src/Kernel/UserSaveStatusTest.php | 9 +- .../tests/src/Kernel/UserValidationTest.php | 54 +- .../Views/HandlerFieldPermissionTest.php | 10 +- .../Views/HandlerFilterPermissionTest.php | 2 +- .../Kernel/Views/HandlerFilterRolesTest.php | 21 +- .../src/Kernel/Views/UserKernelTestBase.php | 11 +- .../tests/src/Kernel/Views/UserRoleTest.php | 41 + .../tests/src/Kernel/WhosOnlineBlockTest.php | 4 +- .../tests/src/Traits/UserCreationTrait.php | 8 +- .../Unit/Form/EntityPermissionsFormTest.php | 109 + .../src/Unit/Menu/UserLocalTasksTest.php | 18 +- .../src/Unit/PermissionAccessCheckTest.php | 11 +- .../tests/src/Unit/PermissionHandlerTest.php | 72 +- .../Unit/Plugin/Action/AddRoleUserTest.php | 4 +- .../Unit/Plugin/Action/RemoveRoleUserTest.php | 4 +- .../src/Unit/Plugin/Core/Entity/UserTest.php | 6 +- .../Plugin/Derivative/UserLocalTaskTest.php | 79 + ...tectedUserFieldConstraintValidatorTest.php | 3 +- .../Plugin/views/field/UserBulkFormTest.php | 12 +- .../src/Unit/Theme/AdminNegotiatorTest.php | 2 +- .../src/Unit/UserAccessControlHandlerTest.php | 52 +- .../user/tests/src/Unit/UserAuthTest.php | 145 +- .../src/Unit/Views/Argument/RolesRidTest.php | 15 +- .../js/password-theme-functions.js | 4 - .../user_test_theme/user_test_theme.info.yml | 2 +- core/modules/user/user.api.php | 6 +- core/modules/user/user.es6.js | 392 +- core/modules/user/user.install | 49 + core/modules/user/user.js | 50 +- core/modules/user/user.libraries.yml | 7 +- .../modules/user/user.link_relation_types.yml | 5 + core/modules/user/user.links.task.yml | 10 + core/modules/user/user.module | 132 +- core/modules/user/user.permissions.es6.js | 101 +- core/modules/user/user.permissions.js | 11 +- core/modules/user/user.permissions.yml | 3 + core/modules/user/user.post_update.php | 51 + core/modules/user/user.routing.yml | 28 +- core/modules/user/user.services.yml | 3 +- core/modules/user/user.theme.js | 3 - .../views/config/install/views.settings.yml | 2 +- .../config/schema/views.data_types.schema.yml | 7 +- .../config/schema/views.display.schema.yml | 4 +- .../views/config/schema/views.schema.yml | 4 +- core/modules/views/js/ajax_view.es6.js | 24 +- core/modules/views/js/ajax_view.js | 24 +- core/modules/views/js/base.es6.js | 5 +- core/modules/views/js/base.js | 18 - .../views/src/Ajax/ReplaceTitleCommand.php | 3 +- core/modules/views/src/Analyzer.php | 3 + .../views/src/Annotation/ViewsDisplay.php | 1 + .../Annotation/ViewsPluginAnnotationBase.php | 7 +- .../src/Controller/ViewAjaxController.php | 28 +- core/modules/views/src/Element/View.php | 4 + .../Render/TranslationLanguageRenderer.php | 5 +- core/modules/views/src/Entity/View.php | 4 +- core/modules/views/src/EntityViewsData.php | 54 +- .../src/EventSubscriber/RouteSubscriber.php | 6 +- .../ViewsEntitySchemaSubscriber.php | 31 +- .../Exception/ViewRenderElementException.php | 8 + .../views/src/Form/ViewsExposedForm.php | 5 +- core/modules/views/src/Form/ViewsForm.php | 9 +- .../views/src/Form/ViewsFormMainForm.php | 12 +- core/modules/views/src/ManyToOneHelper.php | 11 +- .../views/src/Plugin/Block/ViewsBlockBase.php | 2 +- .../Plugin/Block/ViewsExposedFilterBlock.php | 4 +- .../src/Plugin/Derivative/ViewsBlock.php | 2 +- .../src/Plugin/Derivative/ViewsEntityRow.php | 5 +- .../Derivative/ViewsExposedFilterBlock.php | 5 +- .../src/Plugin/Derivative/ViewsLocalTask.php | 9 +- .../src/Plugin/Derivative/ViewsMenuLink.php | 2 +- .../ViewsSelection.php | 14 +- .../src/Plugin/views/BrokenHandlerTrait.php | 9 +- .../views/src/Plugin/views/HandlerBase.php | 23 +- .../views/src/Plugin/views/PluginBase.php | 11 +- .../Plugin/views/ViewsHandlerInterface.php | 15 +- .../src/Plugin/views/ViewsPluginInterface.php | 8 +- .../src/Plugin/views/area/AreaPluginBase.php | 2 +- .../src/Plugin/views/area/DisplayLink.php | 10 +- .../views/src/Plugin/views/area/Result.php | 5 +- .../views/src/Plugin/views/area/Text.php | 4 +- .../src/Plugin/views/area/TextCustom.php | 4 + .../views/area/TokenizeAreaPluginBase.php | 10 +- .../views/src/Plugin/views/area/View.php | 6 +- .../views/argument/ArgumentPluginBase.php | 75 +- .../views/src/Plugin/views/argument/Date.php | 5 +- .../views/argument/LanguageArgument.php | 2 +- .../src/Plugin/views/argument/ManyToOne.php | 9 +- .../src/Plugin/views/argument/MonthDate.php | 14 +- .../Plugin/views/argument/NullArgument.php | 9 +- .../Plugin/views/argument/NumericArgument.php | 5 +- .../Plugin/views/argument/StringArgument.php | 4 +- .../ArgumentDefaultPluginBase.php | 12 +- .../views/argument_default/QueryParameter.php | 8 +- .../ArgumentValidatorPluginBase.php | 6 +- .../views/argument_validator/Entity.php | 1 + .../Plugin/views/cache/CachePluginBase.php | 24 +- .../views/src/Plugin/views/cache/Time.php | 34 +- .../src/Plugin/views/display/Attachment.php | 14 +- .../views/src/Plugin/views/display/Block.php | 12 +- .../Plugin/views/display/DefaultDisplay.php | 5 +- .../views/display/DisplayPluginBase.php | 56 +- .../views/display/DisplayPluginInterface.php | 14 +- .../views/display/DisplayRouterInterface.php | 1 + .../Plugin/views/display/EntityReference.php | 13 +- .../views/src/Plugin/views/display/Page.php | 66 +- .../Plugin/views/display/PathPluginBase.php | 63 +- .../DisplayExtenderPluginBase.php | 3 +- .../exposed_form/ExposedFormPluginBase.php | 47 +- .../views/exposed_form/InputRequired.php | 2 +- .../views/src/Plugin/views/field/Boolean.php | 12 +- .../views/src/Plugin/views/field/Date.php | 4 +- .../src/Plugin/views/field/EntityField.php | 22 +- .../src/Plugin/views/field/EntityLabel.php | 2 +- .../Plugin/views/field/EntityOperations.php | 8 +- .../views/field/FieldHandlerInterface.php | 5 +- .../Plugin/views/field/FieldPluginBase.php | 36 +- .../views/src/Plugin/views/field/LinkBase.php | 2 +- .../views/src/Plugin/views/field/Markup.php | 3 +- .../src/Plugin/views/field/NumericField.php | 4 +- .../src/Plugin/views/field/PrerenderList.php | 1 + .../src/Plugin/views/field/RenderedEntity.php | 4 +- .../src/Plugin/views/field/TimeInterval.php | 5 +- .../Plugin/views/filter/BooleanOperator.php | 13 +- .../views/src/Plugin/views/filter/Combine.php | 33 +- .../src/Plugin/views/filter/Equality.php | 6 +- .../Plugin/views/filter/FilterPluginBase.php | 118 +- .../src/Plugin/views/filter/InOperator.php | 6 +- .../src/Plugin/views/filter/ManyToOne.php | 8 +- .../src/Plugin/views/filter/StringFilter.php | 60 +- .../src/Plugin/views/join/JoinPluginBase.php | 10 +- .../views/src/Plugin/views/join/Subquery.php | 2 +- .../Plugin/views/pager/PagerPluginBase.php | 20 +- .../views/src/Plugin/views/pager/SqlBase.php | 2 +- .../Plugin/views/query/QueryPluginBase.php | 29 +- .../views/src/Plugin/views/query/Sql.php | 128 +- .../src/Plugin/views/query/SqliteDateSql.php | 4 +- .../views/relationship/EntityReverse.php | 6 + .../views/relationship/GroupwiseMax.php | 10 +- .../relationship/RelationshipPluginBase.php | 2 + .../views/src/Plugin/views/row/Fields.php | 3 +- .../views/src/Plugin/views/row/OpmlFields.php | 2 +- .../src/Plugin/views/row/RowPluginBase.php | 9 +- .../views/src/Plugin/views/row/RssFields.php | 2 +- .../src/Plugin/views/sort/GroupByNumeric.php | 5 + .../src/Plugin/views/sort/SortPluginBase.php | 48 +- .../src/Plugin/views/style/DefaultStyle.php | 5 +- .../views/src/Plugin/views/style/Mapping.php | 2 +- .../views/src/Plugin/views/style/Opml.php | 4 - .../views/src/Plugin/views/style/Rss.php | 6 +- .../Plugin/views/style/StylePluginBase.php | 31 +- .../views/src/Plugin/views/style/Table.php | 14 +- .../Plugin/views/wizard/WizardPluginBase.php | 66 +- core/modules/views/src/ResultRow.php | 3 + .../views/src/Routing/ViewPageController.php | 21 + .../src/Tests/AssertViewsCacheTagsTrait.php | 16 +- .../views/src/Tests/TestHelperPlugin.php | 1 + .../src/Tests/ViewResultAssertionTrait.php | 37 +- core/modules/views/src/Tests/ViewTestData.php | 2 +- core/modules/views/src/ViewExecutable.php | 55 +- core/modules/views/src/Views.php | 29 +- core/modules/views/src/ViewsConfigUpdater.php | 84 + core/modules/views/src/ViewsData.php | 14 +- core/modules/views/src/ViewsDataHelper.php | 8 +- .../fixtures/update/multi_value_fields.php | 35 + .../views.view.node_link_update_test.yml | 2 +- ...test_another_broken_config_multi_value.yml | 239 + ...ws.view.test_broken_config_multi_value.yml | 240 + .../views.view.test_exposed_filters.yml | 2 +- .../views.view.test_user_multi_value.yml | 73 +- .../install/views.view.test_bulk_form.yml | 173 +- .../src/ViewsConfigEntityTestViewsData.php | 2 +- .../views_form_test/views_form_test.info.yml | 8 + .../views_form_test/views_form_test.module | 17 + ...ew.test_cacheable_metadata_calculation.yml | 16 +- .../views.view.base_and_revision.yml | 2 +- .../views.view.computed_field_view.yml | 2 +- .../views.view.entity_test_fields.yml | 2 +- .../test_views/views.view.entity_test_row.yml | 2 +- .../views.view.node_id_argument.yml | 2 +- .../test_views/views.view.numeric_test.yml | 2 +- .../views.view.test_access_none.yml | 2 +- .../views.view.test_aggregate_count.yml | 2 +- ...ews.view.test_aggregate_count_function.yml | 55 + .../test_views/views.view.test_ajax_view.yml | 2 +- .../test_views/views.view.test_alias.yml | 2 +- .../views.view.test_area_messages.yml | 2 +- .../test_views/views.view.test_area_order.yml | 6 +- .../views.view.test_area_result.yml | 4 +- .../test_views/views.view.test_area_title.yml | 2 +- .../test_views/views.view.test_area_view.yml | 2 +- .../test_views/views.view.test_argument.yml | 2 +- .../views.view.test_argument_date.yml | 2 +- ...iew.test_argument_default_current_user.yml | 2 +- ...views.view.test_argument_default_fixed.yml | 2 +- .../views.view.test_argument_default_node.yml | 2 +- ...view.test_argument_default_query_param.yml | 2 +- .../views.view.test_argument_dependency.yml | 2 +- ...iews.view.test_argument_transform_term.yml | 2 +- .../views.view.test_argument_validation.yml | 2 +- ...iews.view.test_argument_validator_term.yml | 2 +- .../views.view.test_attached_disabled.yml | 2 +- .../views.view.test_attachment_ui.yml | 2 +- .../views.view.test_block_exposed_ajax.yml | 2 +- ...view.test_block_exposed_ajax_with_page.yml | 2 +- ....view.test_boolean_grouped_filter_view.yml | 191 + .../test_views/views.view.test_cache.yml | 2 +- .../test_views/views.view.test_click_sort.yml | 2 +- .../views.view.test_click_sort_ajax.yml | 2 +- .../views.view.test_content_ajax.yml | 2 +- .../test_views/views.view.test_destroy.yml | 2 +- .../views.view.test_disabled_display.yml | 2 +- .../test_views/views.view.test_display.yml | 2 +- .../views.view.test_display_attachment.yml | 2 +- .../views.view.test_display_defaults.yml | 2 +- .../views.view.test_display_empty.yml | 2 +- ...ews.view.test_display_entity_reference.yml | 2 +- .../views.view.test_display_feed.yml | 2 +- .../views.view.test_display_invalid.yml | 2 +- .../views.view.test_display_more.yml | 2 +- ...views.view.test_distinct_click_sorting.yml | 263 + .../test_views/views.view.test_dropbutton.yml | 2 +- ...ews.view.test_duplicate_field_handlers.yml | 2 +- .../views.view.test_entity_area.yml | 2 +- ...ew.test_entity_field_renderered_entity.yml | 2 +- ...views.view.test_entity_field_renderers.yml | 2 +- ....view.test_entity_multivalue_basefield.yml | 2 +- .../views.view.test_entity_operations.yml | 2 +- .../test_views/views.view.test_entity_row.yml | 2 +- .../views.view.test_entity_row_renderers.yml | 2 +- ...st_entity_row_renderers_revisions_base.yml | 2 +- .../views.view.test_entity_test_link.yml | 2 +- ...view.test_entity_test_protected_access.yml | 2 +- .../views.view.test_entity_type_filter.yml | 2 +- .../views.view.test_example_area.yml | 2 +- .../views.view.test_example_area_access.yml | 2 +- .../views.view.test_executable_displays.yml | 2 +- .../views.view.test_exposed_admin_ui.yml | 2 +- .../views.view.test_exposed_block.yml | 19 +- .../views.view.test_exposed_form_buttons.yml | 2 +- ...iews.view.test_exposed_form_checkboxes.yml | 2 +- .../views.view.test_exposed_form_pager.yml | 22 +- ....test_exposed_form_sort_items_per_page.yml | 2 +- ...iew.test_exposed_relationship_admin_ui.yml | 2 +- .../test_views/views.view.test_feed_icon.yml | 2 +- .../views.view.test_field_alias_test.yml | 2 +- .../test_views/views.view.test_field_body.yml | 2 +- .../views.view.test_field_classes.yml | 2 +- ...w.test_field_config_translation_filter.yml | 2 +- ...s.view.test_field_entity_test_rendered.yml | 2 +- ....view.test_field_field_attachment_test.yml | 2 +- ...ews.view.test_field_field_complex_test.yml | 2 +- ...test_field_field_revision_complex_test.yml | 2 +- ...ws.view.test_field_field_revision_test.yml | 2 +- .../views.view.test_field_field_test.yml | 2 +- .../views.view.test_field_get_entity.yml | 2 +- .../views.view.test_field_header.yml | 2 +- .../views.view.test_field_output.yml | 2 +- .../test_views/views.view.test_filter.yml | 2 +- .../views.view.test_filter_date_between.yml | 2 +- .../views.view.test_filter_group_override.yml | 2 +- .../views.view.test_filter_groups.yml | 2 +- .../views.view.test_filter_in_operator_ui.yml | 2 +- ...iews.view.test_filter_placeholder_text.yml | 2 +- .../views.view.test_form_multiple.yml | 2 +- .../views.view.test_get_attach_displays.yml | 2 +- .../test_views/views.view.test_glossary.yml | 2 +- .../test_views/views.view.test_grid.yml | 2 +- .../views.view.test_group_by_count.yml | 2 +- ...w.test_group_by_count_multicardinality.yml | 2 +- ....test_group_by_field_not_within_bundle.yml | 2 +- .../views.view.test_group_by_in_filters.yml | 2 +- .../test_views/views.view.test_group_rows.yml | 2 +- .../views.view.test_groupwise_term_ui.yml | 2 +- .../views.view.test_handler_relationships.yml | 2 +- .../views.view.test_handler_test_access.yml | 2 +- .../test_views/views.view.test_history.yml | 2 +- .../views.view.test_http_status_code.yml | 2 +- .../views.view.test_invalid_tokens.yml | 2 +- ...views.view.test_latest_revision_filter.yml | 2 +- ...t_translation_affected_revision_filter.yml | 2 +- .../views.view.test_link_base_links.yml | 2 +- .../test_views/views.view.test_menu_link.yml | 2 +- .../test_views/views.view.test_mini_pager.yml | 2 +- .../views.view.test_mini_pager_ajax.yml | 2 +- .../views.view.test_month_date_plugin.yml | 173 + .../views.view.test_page_display.yml | 5 +- ...views.view.test_page_display_arguments.yml | 2 +- .../views.view.test_page_display_menu.yml | 2 +- .../views.view.test_page_display_path.yml | 2 +- .../views.view.test_page_display_route.yml | 2 +- .../test_views/views.view.test_page_view.yml | 2 +- .../test_views/views.view.test_pager_full.yml | 2 +- .../views.view.test_pager_full_ajax.yml | 2 +- .../test_views/views.view.test_pager_none.yml | 2 +- .../test_views/views.view.test_pager_some.yml | 2 +- .../views.view.test_plugin_dependencies.yml | 2 +- .../test_views/views.view.test_preprocess.yml | 2 +- .../test_views/views.view.test_preview.yml | 2 +- .../views.view.test_preview_error.yml | 2 +- .../views.view.test_redirect_view.yml | 2 +- ...iews.view.test_relationship_dependency.yml | 2 +- .../views.view.test_remember_selected.yml | 110 + .../views.view.test_row_render_cache.yml | 2 +- .../views.view.test_row_render_cache_none.yml | 2 +- .../test_views/views.view.test_search.yml | 2 +- .../views.view.test_simple_argument.yml | 2 +- .../views.view.test_store_pager_settings.yml | 2 +- .../views.view.test_style_html_list.yml | 2 +- .../views.view.test_style_mapping.yml | 2 +- .../test_views/views.view.test_summary.yml | 2 +- .../test_views/views.view.test_table.yml | 2 +- .../test_views/views.view.test_tag_cache.yml | 2 +- .../views.view.test_taxonomy_glossary.yml | 203 +- .../test_views/views.view.test_token_view.yml | 2 +- .../test_views/views.view.test_tokens.yml | 2 +- .../views.view.test_ungroup_rows.yml | 2 +- .../test_views/views.view.test_user_path.yml | 14 +- ....view.test_user_role_contextual_filter.yml | 192 + .../test_views/views.view.test_view.yml | 2 +- ...ew.test_view_argument_validate_numeric.yml | 2 +- .../views.view.test_view_broken.yml | 2 +- .../views.view.test_view_display_template.yml | 2 +- .../test_views/views.view.test_view_embed.yml | 2 +- .../test_views/views.view.test_view_empty.yml | 2 +- .../views.view.test_view_entity_test.yml | 2 +- ...view_entity_test_additional_base_field.yml | 2 +- .../views.view.test_view_entity_test_data.yml | 2 +- ...ws.view.test_view_entity_test_revision.yml | 2 +- .../views.view.test_view_handler_weight.yml | 2 +- ...st_view_pager_full_zero_items_per_page.yml | 2 +- .../views.view.test_view_render.yml | 2 +- .../views.view.test_view_sort_translation.yml | 2 +- .../views.view.test_view_status.yml | 2 +- .../views.view.test_view_storage.yml | 2 +- .../views.view.test_views_groupby_save.yml | 2 +- .../views_test_config.module | 15 + .../Controller/ViewsTestDataController.php | 2 +- .../views/field/FieldFormButtonTest.php | 2 +- .../src/Plugin/views/filter/FilterTest.php | 4 +- .../src/Plugin/views/join/JoinTest.php | 1 + .../src/Plugin/views/query/QueryTest.php | 1 + .../views.view.test_access_static.yml | 2 +- .../views_test_data/views_test_data.views.inc | 3 +- .../views_test_query_access.module | 2 +- .../ViewsTestRenderCacheController.php | 37 + .../views_test_render_cache.info.yml | 7 + .../views_test_render_cache.routing.yml | 7 + .../tests/src/Functional/BulkFormTest.php | 34 +- .../tests/src/Functional/DefaultViewsTest.php | 9 +- .../Functional/Entity/BaseFieldAccessTest.php | 12 +- .../src/Functional/Entity/FieldEntityTest.php | 12 +- .../Entity/FieldEntityTranslationTest.php | 10 +- .../FieldRenderedEntityTranslationTest.php | 10 +- .../Entity/ViewNonTranslatableEntityTest.php | 4 +- .../tests/src/Functional/GlossaryTest.php | 9 +- .../tests/src/Functional/Handler/AreaTest.php | 24 +- .../Functional/Handler/AreaTitleWebTest.php | 4 +- .../Handler/FieldDropButtonTest.php | 16 +- .../Handler/FieldEntityLinkBaseTest.php | 4 +- .../Handler/FieldEntityOperationsTest.php | 14 +- .../Handler/FieldGroupRowsWebTest.php | 8 +- .../Handler/FieldTimeIntervalTest.php | 97 + .../src/Functional/Handler/FieldWebTest.php | 69 +- .../src/Functional/Handler/FilterDateTest.php | 73 +- .../src/Functional/Handler/HandlerAllTest.php | 1 - .../src/Functional/Handler/HandlerTest.php | 172 +- .../src/Functional/Plugin/AccessTest.php | 7 +- .../Functional/Plugin/ArgumentDefaultTest.php | 43 +- .../src/Functional/Plugin/CacheTagTest.php | 7 +- .../src/Functional/Plugin/CacheWebTest.php | 6 +- .../ContextualFiltersBlockContextTest.php | 32 +- .../Plugin/ContextualFiltersStringTest.php | 115 + .../Functional/Plugin/DisabledDisplayTest.php | 15 +- .../Plugin/DisplayAttachmentTest.php | 57 +- .../Plugin/DisplayEntityReferenceTest.php | 50 +- .../src/Functional/Plugin/DisplayFeedTest.php | 25 +- .../Plugin/DisplayFeedTranslationTest.php | 10 +- .../Functional/Plugin/DisplayPageWebTest.php | 74 +- .../src/Functional/Plugin/DisplayTest.php | 65 +- .../Plugin/ExposedFormCheckboxesTest.php | 35 +- .../src/Functional/Plugin/ExposedFormTest.php | 176 +- .../src/Functional/Plugin/FilterTest.php | 59 +- .../src/Functional/Plugin/MenuLinkTest.php | 19 +- .../src/Functional/Plugin/MiniPagerTest.php | 105 +- .../Functional/Plugin/MonthDatePluginTest.php | 105 + .../Plugin/NumericFormatPluralTest.php | 56 +- .../tests/src/Functional/Plugin/PagerTest.php | 98 +- .../Functional/Plugin/QueryOptionsTest.php | 70 + .../Functional/Plugin/StyleSummaryTest.php | 28 +- .../src/Functional/Plugin/StyleTableTest.php | 78 +- .../src/Functional/Plugin/ViewsBulkTest.php | 17 +- .../src/Functional/Plugin/ViewsFormTest.php | 6 + .../src/Functional/RenderCacheWebTest.php | 33 +- .../Functional/Rest/ViewResourceTestBase.php | 17 +- .../src/Functional/SearchIntegrationTest.php | 14 +- .../src/Functional/SearchMultilingualTest.php | 6 +- .../src/Functional/TaxonomyGlossaryTest.php | 39 +- .../Update/GlossaryStatusFilterTest.php | 38 + .../Update/ViewsMultiValueFieldUpdateTest.php | 56 + .../Update/ViewsSettingsRenameTest.php | 48 + .../Update/ViewsSortIdentifiersUpdateTest.php | 42 + .../src/Functional/UserBatchActionTest.php | 10 +- .../tests/src/Functional/ViewAjaxTest.php | 11 +- .../tests/src/Functional/ViewElementTest.php | 41 +- .../tests/src/Functional/ViewTestBase.php | 28 +- .../src/Functional/ViewTranslationTest.php | 115 + .../src/Functional/ViewsEscapingTest.php | 14 +- .../src/Functional/ViewsFormAlterTest.php | 32 + .../src/Functional/ViewsFormMultipleTest.php | 14 +- .../Functional/ViewsNoResultsBehaviorTest.php | 6 +- .../Functional/ViewsThemeIntegrationTest.php | 29 +- .../tests/src/Functional/Wizard/BasicTest.php | 87 +- .../Wizard/EntityTestRevisionTest.php | 3 +- .../Functional/Wizard/ItemsPerPageTest.php | 61 +- .../tests/src/Functional/Wizard/MenuTest.php | 9 +- .../src/Functional/Wizard/NodeWizardTest.php | 15 +- .../tests/src/Functional/Wizard/PagerTest.php | 9 +- .../src/Functional/Wizard/SortingTest.php | 29 +- .../src/Functional/Wizard/TaggedWithTest.php | 78 +- .../src/Functional/Wizard/WizardTestBase.php | 7 +- .../BlockExposedFilterAJAXTest.php | 8 +- .../ExposedFilterAJAXTest.php | 93 +- .../FunctionalJavascript/GlossaryViewTest.php | 4 +- .../PaginationAJAXTest.php | 6 +- .../views/Handler/ContextualFilterTest.php | 2 +- .../Plugin/views/Handler/FieldTest.php | 4 +- .../Plugin/views/Handler/FilterTest.php | 162 + .../Handler/GroupedExposedFilterTest.php | 2 +- .../CacheableMetadataCalculationTest.php | 4 +- .../src/Kernel/Entity/EntityViewsDataTest.php | 871 + .../Kernel/Entity/FilterEntityBundleTest.php | 2 +- .../Entity/LatestRevisionFilterTest.php | 6 +- .../Kernel/Entity/RowEntityRenderersTest.php | 19 +- .../Entity/ViewEntityDependenciesTest.php | 4 +- .../ViewSelectionEntityReferenceTest.php | 67 + ...sEntitySchemaSubscriberIntegrationTest.php | 182 +- .../tests/src/Kernel/FieldApiDataTest.php | 2 +- .../Kernel/Handler/AreaDisplayLinkTest.php | 24 +- .../src/Kernel/Handler/AreaEntityTest.php | 12 +- .../src/Kernel/Handler/AreaOrderTest.php | 18 +- .../src/Kernel/Handler/AreaResultTest.php | 3 + .../tests/src/Kernel/Handler/AreaTextTest.php | 11 +- .../src/Kernel/Handler/AreaTitleTest.php | 6 +- .../tests/src/Kernel/Handler/AreaViewTest.php | 2 +- .../src/Kernel/Handler/ComputedFieldTest.php | 2 +- .../src/Kernel/Handler/FieldBooleanTest.php | 22 +- .../src/Kernel/Handler/FieldCounterTest.php | 12 +- .../src/Kernel/Handler/FieldCustomTest.php | 4 +- .../src/Kernel/Handler/FieldDateTest.php | 44 +- .../Kernel/Handler/FieldEntityLinkTest.php | 2 +- .../Handler/FieldFieldAccessTestBase.php | 2 + .../src/Kernel/Handler/FieldFieldTest.php | 223 +- .../src/Kernel/Handler/FieldFileSizeTest.php | 16 +- .../src/Kernel/Handler/FieldKernelTest.php | 144 +- .../Handler/FieldRenderedEntityTest.php | 28 +- .../tests/src/Kernel/Handler/FieldUrlTest.php | 6 +- .../FilterBooleanOperatorGroupTest.php | 122 + .../FilterBooleanOperatorStringTest.php | 3 +- .../src/Kernel/Handler/FilterCombineTest.php | 438 +- .../src/Kernel/Handler/FilterNumericTest.php | 9 +- .../src/Kernel/Handler/FilterStringTest.php | 14 +- .../src/Kernel/Handler/HandlerAliasTest.php | 19 +- .../tests/src/Kernel/Handler/SortDateTest.php | 2 +- .../src/Kernel/Handler/SortRandomTest.php | 8 +- .../tests/src/Kernel/Handler/SortTest.php | 8 +- .../Kernel/Handler/SortTranslationTest.php | 2 +- .../views/tests/src/Kernel/ModuleTest.php | 40 +- .../Kernel/Plugin/ArgumentValidatorTest.php | 2 +- .../Kernel/Plugin/BlockDependenciesTest.php | 6 +- .../tests/src/Kernel/Plugin/CacheTest.php | 18 +- .../Plugin/Display/ViewsMenuLinkTest.php | 3 +- .../src/Kernel/Plugin/DisplayExtenderTest.php | 4 +- .../src/Kernel/Plugin/DisplayKernelTest.php | 19 +- .../src/Kernel/Plugin/DisplayPageTest.php | 66 +- .../Kernel/Plugin/ExposedFormRenderTest.php | 2 +- .../tests/src/Kernel/Plugin/JoinTest.php | 45 +- .../src/Kernel/Plugin/PagerKernelTest.php | 4 +- .../src/Kernel/Plugin/PluginBaseTest.php | 15 +- .../tests/src/Kernel/Plugin/QueryTest.php | 4 +- .../Plugin/RelationshipJoinTestBase.php | 5 +- .../src/Kernel/Plugin/RowRenderCacheTest.php | 14 +- .../tests/src/Kernel/Plugin/SqlQueryTest.php | 8 +- .../tests/src/Kernel/Plugin/StyleGridTest.php | 4 +- .../src/Kernel/Plugin/StyleMappingTest.php | 2 +- .../src/Kernel/Plugin/StyleTableUnitTest.php | 20 +- .../tests/src/Kernel/Plugin/StyleTest.php | 46 +- .../Kernel/Plugin/StyleUnformattedTest.php | 2 +- .../src/Kernel/Plugin/ViewsBlockTest.php | 6 +- .../tests/src/Kernel/PluginInstanceTest.php | 9 +- .../tests/src/Kernel/QueryGroupByTest.php | 64 +- .../src/Kernel/RenderCacheIntegrationTest.php | 16 +- .../tests/src/Kernel/TokenReplaceTest.php | 8 +- .../tests/src/Kernel/ViewElementTest.php | 23 +- .../tests/src/Kernel/ViewExecutableTest.php | 81 +- .../tests/src/Kernel/ViewStorageTest.php | 68 +- .../src/Kernel/ViewsConfigUpdaterTest.php | 32 +- .../views/tests/src/Kernel/ViewsHooksTest.php | 7 +- .../tests/src/Kernel/ViewsKernelTestBase.php | 13 +- .../tests/src/Kernel/ViewsLegacyTest.php | 41 + .../tests/src/Kernel/ViewsTemplateTest.php | 38 +- .../Wizard/WizardPluginBaseKernelTest.php | 13 +- .../Controller/ViewAjaxControllerTest.php | 90 +- .../tests/src/Unit/EntityViewsDataTest.php | 1197 - .../EventSubscriber/RouteSubscriberTest.php | 29 +- .../src/Unit/Plugin/Block/ViewsBlockTest.php | 12 +- .../Plugin/Derivative/ViewsLocalTaskTest.php | 61 +- .../tests/src/Unit/Plugin/area/ResultTest.php | 3 + .../tests/src/Unit/Plugin/area/ViewTest.php | 6 +- .../argument_default/QueryParameterTest.php | 22 +- .../Unit/Plugin/argument_default/RawTest.php | 6 +- .../Plugin/argument_validator/EntityTest.php | 16 +- .../Plugin/display/PathPluginBaseTest.php | 69 +- .../src/Unit/Plugin/field/CounterTest.php | 4 +- .../Unit/Plugin/field/FieldPluginBaseTest.php | 26 +- .../tests/src/Unit/Plugin/field/FieldTest.php | 5 + .../Plugin/filter/FilterPluginBaseTest.php | 64 + .../Unit/Plugin/pager/PagerPluginBaseTest.php | 17 +- .../src/Unit/Plugin/pager/SqlBaseTest.php | 91 + .../tests/src/Unit/Plugin/query/SqlTest.php | 2 +- .../Unit/Plugin/views/display/BlockTest.php | 10 +- .../views/field/EntityOperationsUnitTest.php | 26 +- .../tests/src/Unit/PluginTypeListTest.php | 2 +- .../Unit/Routing/ViewPageControllerTest.php | 7 +- .../tests/src/Unit/ViewExecutableTest.php | 85 +- .../tests/src/Unit/ViewsDataHelperTest.php | 2 +- .../views/tests/src/Unit/ViewsDataTest.php | 230 +- .../views/tests/src/Unit/ViewsTest.php | 12 +- .../views_test_checkboxes_theme.info.yml | 2 +- .../templates/input--submit.html.twig | 13 + .../views_test_theme.info.yml | 2 +- core/modules/views/views.api.php | 95 +- core/modules/views/views.libraries.yml | 5 +- core/modules/views/views.module | 30 +- core/modules/views/views.post_update.php | 58 +- core/modules/views/views.services.yml | 2 +- core/modules/views/views.theme.inc | 4 +- core/modules/views/views.views.inc | 21 +- core/modules/views/views.views_execution.inc | 2 +- core/modules/views_ui/admin.inc | 17 +- .../config/optional/tour.tour.views-ui.yml | 51 +- .../views_ui/css/views_ui.admin.theme.css | 19 +- core/modules/views_ui/js/ajax.es6.js | 133 +- core/modules/views_ui/js/ajax.js | 69 +- core/modules/views_ui/js/dialog.views.es6.js | 25 +- core/modules/views_ui/js/dialog.views.js | 9 +- core/modules/views_ui/js/views-admin.es6.js | 322 +- core/modules/views_ui/js/views-admin.js | 209 +- .../views_ui/js/views_ui.listing.es6.js | 22 +- core/modules/views_ui/js/views_ui.listing.js | 35 +- .../src/Controller/ViewsUIController.php | 2 +- .../views_ui/src/Form/Ajax/Analyze.php | 2 +- .../views_ui/src/Form/Ajax/ConfigHandler.php | 5 +- .../views_ui/src/Form/Ajax/EditDetails.php | 14 +- .../views_ui/src/Form/Ajax/Rearrange.php | 4 +- .../src/Form/Ajax/RearrangeFilter.php | 6 +- .../src/Form/Ajax/ReorderDisplays.php | 11 +- .../views_ui/src/Form/Ajax/ViewsFormBase.php | 2 +- .../views_ui/src/Form/BasicSettingsForm.php | 14 +- .../ParamConverter/ViewUIConverter.php | 2 +- core/modules/views_ui/src/ViewAddForm.php | 7 +- core/modules/views_ui/src/ViewEditForm.php | 14 +- core/modules/views_ui/src/ViewFormBase.php | 11 +- core/modules/views_ui/src/ViewPreviewForm.php | 4 +- core/modules/views_ui/src/ViewUI.php | 42 +- .../views.view.sa_contrib_2013_035.yml | 114 +- .../tests/src/Functional/AnalyzeTest.php | 2 +- .../tests/src/Functional/AreaEntityUITest.php | 39 +- .../src/Functional/ArgumentValidatorTest.php | 14 +- .../tests/src/Functional/CachedDataUITest.php | 31 +- .../src/Functional/CustomBooleanTest.php | 14 +- .../tests/src/Functional/DefaultViewsTest.php | 79 +- .../src/Functional/DisplayAttachmentTest.php | 35 +- .../tests/src/Functional/DisplayCRUDTest.php | 59 +- .../src/Functional/DisplayExtenderUITest.php | 5 +- .../tests/src/Functional/DisplayFeedTest.php | 18 +- .../tests/src/Functional/DisplayPathTest.php | 117 +- .../tests/src/Functional/DisplayTest.php | 113 +- .../tests/src/Functional/DuplicateTest.php | 14 +- .../src/Functional/ExposedFormUITest.php | 136 +- .../tests/src/Functional/FieldUITest.php | 40 +- .../src/Functional/FilterBooleanWebTest.php | 11 +- .../src/Functional/FilterNumericWebTest.php | 78 +- .../tests/src/Functional/FilterUITest.php | 28 +- .../tests/src/Functional/GroupByTest.php | 8 +- .../tests/src/Functional/HandlerTest.php | 72 +- .../Functional/NewViewConfigSchemaTest.php | 7 +- .../src/Functional/OverrideDisplaysTest.php | 100 +- .../tests/src/Functional/PreviewTest.php | 118 +- .../tests/src/Functional/QueryTest.php | 5 +- .../src/Functional/RearrangeFieldsTest.php | 14 +- .../tests/src/Functional/RedirectTest.php | 11 +- .../tests/src/Functional/ReportFieldsTest.php | 10 +- .../tests/src/Functional/ReportTest.php | 2 +- .../tests/src/Functional/RowUITest.php | 10 +- .../tests/src/Functional/SettingsTest.php | 92 +- .../tests/src/Functional/StorageTest.php | 5 +- .../tests/src/Functional/StyleTableTest.php | 5 +- .../tests/src/Functional/StyleUITest.php | 15 +- .../src/Functional/TokenizeAreaUITest.php | 12 +- .../src/Functional/TranslatedViewTest.php | 37 +- .../tests/src/Functional/UITestBase.php | 7 +- .../src/Functional/UnsavedPreviewTest.php | 14 +- .../tests/src/Functional/ViewEditTest.php | 72 +- .../tests/src/Functional/ViewsListTest.php | 6 +- .../tests/src/Functional/ViewsUITourTest.php | 17 +- .../tests/src/Functional/WizardTest.php | 22 +- .../FunctionalJavascript/AdminAjaxTest.php | 62 + .../src/FunctionalJavascript/DisplayTest.php | 93 +- .../FilterCriteriaTest.php | 48 + .../LibraryCachingTest.php | 74 - .../src/FunctionalJavascript/PreviewTest.php | 60 +- .../FunctionalJavascript/ViewsListingTest.php | 15 +- .../FunctionalJavascript/ViewsWizardTest.php | 11 +- .../tests/src/Unit/ViewListBuilderTest.php | 29 +- .../tests/src/Unit/ViewUIObjectTest.php | 8 +- .../views_test_classy_subtheme.info.yml | 2 +- core/modules/views_ui/views_ui.libraries.yml | 10 +- core/modules/views_ui/views_ui.module | 4 +- core/modules/views_ui/views_ui.theme.inc | 4 +- .../workflows/src/Form/WorkflowAddForm.php | 4 +- .../workflows/src/Form/WorkflowEditForm.php | 6 +- .../src/Form/WorkflowStateAddForm.php | 2 +- .../src/Form/WorkflowStateEditForm.php | 2 +- .../src/Form/WorkflowTransitionAddForm.php | 2 +- .../src/Form/WorkflowTransitionEditForm.php | 2 +- core/modules/workflows/src/State.php | 1 + .../src/WorkflowAccessControlHandler.php | 2 +- .../workflows/src/WorkflowTypeInterface.php | 7 +- .../Rest/WorkflowResourceTestBase.php | 5 +- ...orkflowCustomStateTransitionAccessTest.php | 2 +- .../tests/src/Functional/WorkflowUiTest.php | 16 +- .../src/Kernel/ComplexWorkflowTypeTest.php | 6 +- .../src/Kernel/PredefinedWorkflowTypeTest.php | 2 +- .../tests/src/Kernel/RequiredStatesTest.php | 16 +- ...ateTransitionOperationsAccessCheckTest.php | 2 +- .../workflows/tests/src/Unit/WorkflowTest.php | 2 +- ...orm_display.workspace.workspace.deploy.yml | 15 - ...core.entity_form_mode.workspace.deploy.yml | 9 - .../workspaces/src/Entity/Workspace.php | 4 +- .../workspaces/src/EntityQuery/Query.php | 4 +- .../workspaces/src/EntityQuery/QueryTrait.php | 2 +- .../workspaces/src/EntityQuery/Tables.php | 4 +- .../modules/workspaces/src/EntityTypeInfo.php | 2 +- .../WorkspaceRequestSubscriber.php | 4 +- .../src/Form/WorkspaceActivateForm.php | 27 + .../src/Form/WorkspaceDeleteForm.php | 2 +- .../src/Form/WorkspaceDeployForm.php | 165 - .../workspaces/src/Form/WorkspaceForm.php | 2 +- .../src/Form/WorkspacePublishForm.php | 157 + .../src/WorkspaceAccessControlHandler.php | 2 +- .../workspaces/src/WorkspaceAssociation.php | 10 +- .../src/WorkspaceAssociationInterface.php | 2 +- .../workspaces/src/WorkspaceListBuilder.php | 71 +- .../workspaces/src/WorkspaceManager.php | 32 +- .../workspaces/src/WorkspaceMerger.php | 6 +- .../workspaces/src/WorkspacePublisher.php | 9 +- .../workspaces/src/WorkspaceRepository.php | 3 + .../workspaces/src/WorkspaceViewBuilder.php | 172 + .../src/WorkspacesAliasRepository.php | 4 +- .../src/WorkspacesServiceProvider.php | 2 +- .../WorkspaceResourceTestBase.php | 6 +- .../src/Functional/PathWorkspacesTest.php | 35 +- .../Functional/WorkspaceCacheContextTest.php | 2 - .../WorkspaceConcurrentEditingTest.php | 4 +- .../src/Functional/WorkspaceSwitcherTest.php | 12 +- .../tests/src/Functional/WorkspaceTest.php | 153 +- .../src/Functional/WorkspaceTestUtilities.php | 7 +- .../Functional/WorkspacesUninstallTest.php | 17 +- .../WorkspaceToolbarIntegrationTest.php | 8 +- ...rtedNewEntitiesConstraintValidatorTest.php | 7 + .../tests/src/Kernel/WorkspaceAccessTest.php | 6 +- .../tests/src/Kernel/WorkspaceCRUDTest.php | 8 + .../src/Kernel/WorkspaceIntegrationTest.php | 90 +- .../tests/src/Kernel/WorkspaceTestTrait.php | 15 +- core/modules/workspaces/workspaces.info.yml | 3 +- core/modules/workspaces/workspaces.install | 5 +- .../workspaces.link_relation_types.yml | 3 - .../workspaces/workspaces.links.action.yml | 6 + .../workspaces/workspaces.links.task.yml | 13 + core/modules/workspaces/workspaces.module | 2 +- .../workspaces/workspaces.post_update.php | 18 + .../modules/workspaces/workspaces.routing.yml | 12 +- core/package.json | 117 +- core/phpcs.xml.dist | 171 +- core/phpunit.xml.dist | 11 +- core/postcss.config.js | 20 - .../config/install/block.block.seven_help.yml | 19 - .../block.block.seven_local_actions.yml | 17 - .../block.block.umami_account_menu.yml | 2 +- .../install/block.block.umami_branding.yml | 2 +- ....yml => block.block.umami_breadcrumbs.yml} | 6 +- .../install/block.block.umami_content.yml | 2 +- .../install/block.block.umami_footer.yml | 2 +- ...ck.help.yml => block.block.umami_help.yml} | 4 +- ...=> block.block.umami_languageswitcher.yml} | 4 +- .../install/block.block.umami_local_tasks.yml | 2 +- .../install/block.block.umami_main_menu.yml | 2 +- .../install/block.block.umami_messages.yml | 2 +- .../install/block.block.umami_page_title.yml | 4 +- .../install/block.block.umami_search.yml | 2 +- ...i_views_block__articles_aside_block_1.yml} | 12 +- ...i_views_block__promoted_items_block_1.yml} | 6 +- ...views_block__recipe_collections_block.yml} | 4 +- .../config/install/claro.settings.yml | 3 + ...lay.block_content.banner_block.default.yml | 14 +- ...rm_display.block_content.basic.default.yml | 2 +- ...block_content.disclaimer_block.default.yml | 10 +- ...ock_content.footer_promo_block.default.yml | 16 +- ...splay.contact_message.feedback.default.yml | 2 +- ...ntity_form_display.media.audio.default.yml | 10 +- ...ty_form_display.media.document.default.yml | 12 +- ...ntity_form_display.media.image.default.yml | 12 +- ...orm_display.media.remote_video.default.yml | 8 +- ...ntity_form_display.media.video.default.yml | 10 +- ...tity_form_display.node.article.default.yml | 28 +- ....entity_form_display.node.page.default.yml | 18 +- ...ntity_form_display.node.recipe.default.yml | 58 +- ....entity_form_display.user.user.default.yml | 4 +- ...lay.block_content.banner_block.default.yml | 14 +- ...ew_display.block_content.basic.default.yml | 6 +- ...block_content.disclaimer_block.default.yml | 8 +- ...ock_content.footer_promo_block.default.yml | 16 +- ...ntity_view_display.media.audio.default.yml | 2 +- ...ty_view_display.media.document.default.yml | 2 +- ...ntity_view_display.media.image.default.yml | 2 +- ...ty_view_display.media.image.medium_8_7.yml | 6 +- ...iew_display.media.image.responsive_3x2.yml | 6 +- ...splay.media.image.scale_crop_7_3_large.yml | 8 +- ...entity_view_display.media.image.square.yml | 4 +- ...iew_display.media.remote_video.default.yml | 2 +- ...ntity_view_display.media.video.default.yml | 8 +- ....entity_view_display.node.article.card.yml | 6 +- ..._view_display.node.article.card_common.yml | 6 +- ...w_display.node.article.card_common_alt.yml | 6 +- ...tity_view_display.node.article.default.yml | 25 +- ....entity_view_display.node.article.full.yml | 103 +- ...e.entity_view_display.node.article.rss.yml | 2 + ...ntity_view_display.node.article.teaser.yml | 22 +- ....entity_view_display.node.page.default.yml | 17 +- ...ore.entity_view_display.node.page.full.yml | 84 + ...e.entity_view_display.node.page.teaser.yml | 8 +- ...e.entity_view_display.node.recipe.card.yml | 8 +- ...y_view_display.node.recipe.card_common.yml | 4 +- ...ew_display.node.recipe.card_common_alt.yml | 4 +- ...ntity_view_display.node.recipe.default.yml | 42 +- ...e.entity_view_display.node.recipe.full.yml | 126 +- ....entity_view_display.user.user.compact.yml | 8 +- ....entity_view_display.user.user.default.yml | 8 +- .../core.menu.static_menu_link_overrides.yml | 2 +- .../install/editor.editor.basic_html.yml | 78 +- .../install/editor.editor.full_html.yml | 76 +- ...ontent.banner_block.field_content_link.yml | 2 +- ....footer_promo_block.field_content_link.yml | 2 +- ...eld.media.audio.field_media_audio_file.yml | 6 +- ...ld.media.document.field_media_document.yml | 8 +- ...ld.field.media.image.field_media_image.yml | 18 +- ...eld.media.video.field_media_video_file.yml | 6 +- .../field.field.node.article.field_tags.yml | 3 +- ...ld.node.article.layout_builder__layout.yml | 20 + ...field.node.page.layout_builder__layout.yml | 20 + ...ield.node.recipe.field_recipe_category.yml | 2 +- .../field.field.node.recipe.field_tags.yml | 3 +- .../field.field.user.user.user_picture.yml | 14 +- ...ield.storage.block_content.field_title.yml | 2 +- ...eld.storage.media.field_media_document.yml | 8 +- .../field.storage.media.field_media_image.yml | 14 +- ...storage.media.field_media_oembed_video.yml | 2 +- .../field.storage.node.field_ingredients.yml | 2 +- .../field.storage.user.user_picture.yml | 6 +- .../install/filter.format.basic_html.yml | 2 +- .../config/install/image.style.large_21_9.yml | 2 +- .../install/image.style.large_21_9_2x.yml | 2 +- .../install/image.style.large_3_2_2x.yml | 2 +- .../install/image.style.large_3_2_768x512.yml | 2 +- .../install/image.style.medium_21_9.yml | 2 +- .../install/image.style.medium_3_2_2x.yml | 2 +- .../image.style.medium_3_2_600x400.yml | 2 +- .../config/install/image.style.medium_8_7.yml | 2 +- .../image.style.scale_crop_7_3_large.yml | 2 +- .../config/install/image.style.small_21_9.yml | 2 +- .../install/image.style.square_large.yml | 2 +- .../install/image.style.square_medium.yml | 2 +- .../install/image.style.square_small.yml | 2 +- .../install/media.type.remote_video.yml | 4 +- .../install/rdf.mapping.node.article.yml | 38 - .../config/install/rdf.mapping.node.page.yml | 33 - .../responsive_image.styles.3_2_image.yml | 4 +- ...responsive_image.styles.hero_or_banner.yml | 4 +- .../responsive_image.styles.square.yml | 4 +- .../demo_umami/config/install/system.site.yml | 2 +- .../config/install/system.theme.yml | 2 +- .../config/install/tour.tour.umami-front.yml | 58 +- .../config/install/user.role.anonymous.yml | 10 +- .../install/user.role.authenticated.yml | 11 +- .../config/install/user.role.author.yml | 27 +- .../config/install/user.role.editor.yml | 36 +- .../config/install/user.settings.yml | 2 +- .../install/views.view.articles_aside.yml | 262 +- .../install/views.view.featured_articles.yml | 230 +- .../config/install/views.view.frontpage.yml | 331 +- .../install/views.view.promoted_items.yml | 293 +- .../install/views.view.recipe_collections.yml | 173 +- .../config/install/views.view.recipes.yml | 230 +- .../install/views.view.taxonomy_term.yml | 146 +- .../install/workflows.workflow.editorial.yml | 12 +- .../block.block.umami_banner_home.yml | 10 +- .../block.block.umami_banner_recipes.yml | 10 +- .../optional/block.block.umami_disclaimer.yml | 8 +- .../block.block.umami_footer_promo.yml | 8 +- .../responsive_image.styles.narrow.yml | 4 +- .../optional/responsive_image.styles.wide.yml | 4 +- .../config/optional/views.view.media.yml | 403 +- core/profiles/demo_umami/demo_umami.info.yml | 7 +- core/profiles/demo_umami/demo_umami.install | 3 +- core/profiles/demo_umami/demo_umami.profile | 1 + .../images/borscht-with-pork-ribs-umami.jpg | Bin 0 -> 66852 bytes .../languages/en/media/image.csv | 1 + .../languages/en/node/page.csv | 2 +- .../languages/en/node/recipe.csv | 1 + .../borscht-with-pork-ribs-umami.html | 12 + .../languages/es/media/image.csv | 1 + .../languages/es/node/page.csv | 2 +- .../languages/es/node/recipe.csv | 1 + .../borscht-with-pork-ribs-umami.html | 11 + .../demo_umami_content.info.yml | 1 + .../demo_umami_content/src/InstallHelper.php | 23 +- .../UninstallDefaultContentTest.php | 13 +- .../src/Functional/DemoUmamiProfileTest.php | 19 +- .../demo_umami/themes/umami/README.txt | 2 +- .../demo_umami/themes/umami/css/base.css | 49 +- .../css/components/blocks/banner/banner.css | 17 +- .../blocks/page-title/page-title.css | 8 - .../recipe-collections/recipe-collections.css | 2 +- .../blocks/search/search-results.css | 4 - .../css/components/content/node-preview.css | 20 + .../umami/css/components/forms/contact.css | 1 - .../layout_builder/layout-builder.css | 17 - .../navigation/breadcrumbs/breadcrumbs.css | 10 +- .../css/components/navigation/tabs/tabs.css | 3 - .../css/components/regions/bottom/bottom.css | 8 +- .../css/components/regions/footer/footer.css | 13 +- .../css/components/regions/header/header.css | 15 +- .../regions/highlighted/highlighted.css | 11 +- .../regions/pre-header/pre-header.css | 14 +- .../css/components/regions/tabs/tabs.css | 18 + .../umami/css/components/tour/tour.theme.css | 38 +- .../css/components/views/promoted-items.css | 31 +- .../themes/umami/css/layout/grid-2.css | 14 +- .../themes/umami/css/layout/grid-3.css | 21 +- .../themes/umami/css/layout/grid-4.css | 20 +- .../themes/umami/css/layout/layout-2-col.css | 28 +- .../themes/umami/css/layout/layout.css | 10 + .../themes/umami/css/theme/filter.admin.css | 1 - .../fonts/scope-one-v14-latin-regular.woff2 | Bin 0 -> 21476 bytes .../fonts/source-sans-pro-v21-latin-700.woff2 | Bin 0 -> 12924 bytes .../source-sans-pro-v21-latin-700italic.woff2 | Bin 0 -> 12612 bytes .../source-sans-pro-v21-latin-italic.woff2 | Bin 0 -> 12580 bytes .../source-sans-pro-v21-latin-regular.woff2 | Bin 0 -> 13036 bytes .../js/classy/media_embed_ckeditor.theme.js | 1 - .../navigation/menu-main/menu-main.js | 3 - .../layout--oneplusfourgrid-section.html.twig | 1 + .../block/block--system-menu-block.html.twig | 1 + .../templates/classy/block/block.html.twig | 1 + .../classy/content/comment.html.twig | 56 +- .../field/field--node--created.html.twig | 10 + .../classy/field/field--node--title.html.twig | 10 + .../classy/field/field--node--uid.html.twig | 10 + .../templates/classy/form/fieldset.html.twig | 10 +- .../classy/misc/rdf-metadata.html.twig | 20 - .../block--bundle--banner-block.html.twig | 1 + .../block--system-branding-block.html.twig | 4 +- ...lock--bundle--footer-promo-block.html.twig | 1 + .../help-block/block--help.html.twig | 1 + .../block--umami-main-menu.html.twig | 1 + .../navigation/menu-local-tasks.html.twig | 2 +- .../search/block--search-form-block.html.twig | 1 + .../demo_umami/themes/umami/umami.info.yml | 7 +- .../themes/umami/umami.libraries.yml | 31 +- .../install/block.block.stark_admin.yml | 2 +- .../install/block.block.stark_branding.yml | 2 +- .../block.block.stark_local_actions.yml | 2 +- .../install/block.block.stark_local_tasks.yml | 2 +- .../install/block.block.stark_messages.yml | 2 +- .../install/block.block.stark_page_title.yml | 2 +- .../install/block.block.stark_tools.yml | 2 +- .../minimal/config/install/user.settings.yml | 2 +- .../tests/src/Functional/MinimalTest.php | 6 +- .../nightwatch_testing.info.yml | 2 +- ...tity_form_display.node.article.default.yml | 16 +- ....entity_form_display.node.page.default.yml | 12 +- ....entity_form_display.user.user.default.yml | 4 +- ...ew_display.block_content.basic.default.yml | 6 +- ...y_view_display.comment.comment.default.yml | 6 +- ...tity_view_display.node.article.default.yml | 30 +- ...ntity_view_display.node.article.teaser.yml | 20 +- ....entity_view_display.node.page.default.yml | 6 +- ...e.entity_view_display.node.page.teaser.yml | 6 +- ....entity_view_display.user.user.compact.yml | 8 +- ....entity_view_display.user.user.default.yml | 8 +- .../core.menu.static_menu_link_overrides.yml | 2 +- .../install/editor.editor.basic_html.yml | 79 +- .../install/editor.editor.full_html.yml | 80 +- .../field.field.node.article.comment.yml | 4 +- .../field.field.node.article.field_image.yml | 6 +- .../field.field.user.user.user_picture.yml | 14 +- .../field.storage.node.field_image.yml | 6 +- .../field.storage.user.user_picture.yml | 6 +- .../install/filter.format.basic_html.yml | 2 +- .../rdf.mapping.taxonomy_term.tags.yml | 19 - .../standard/config/install/system.site.yml | 2 +- .../standard/config/install/system.theme.yml | 4 +- .../install/user.role.administrator.yml | 2 +- .../config/install/user.role.anonymous.yml | 10 +- .../install/user.role.authenticated.yml | 11 +- .../install/user.role.content_editor.yml | 45 + .../standard/config/install/user.settings.yml | 2 +- .../block.block.bartik_account_menu.yml | 2 +- .../block.block.bartik_branding.yml | 2 +- .../block.block.bartik_breadcrumbs.yml | 2 +- .../block.block.bartik_content.yml | 2 +- .../block.block.bartik_footer.yml | 2 +- .../block.block.bartik_help.yml | 2 +- .../block.block.bartik_local_actions.yml | 2 +- .../block.block.bartik_local_tasks.yml | 2 +- .../block.block.bartik_main_menu.yml | 2 +- .../block.block.bartik_messages.yml | 2 +- .../block.block.bartik_page_title.yml | 2 +- .../block.block.bartik_powered.yml | 2 +- .../block.block.bartik_search.yml | 2 +- .../block.block.bartik_tools.yml | 2 +- .../block.block.seven_breadcrumbs.yml | 2 +- .../block.block.seven_content.yml | 2 +- .../block.block.seven_help.yml | 2 +- .../block.block.seven_local_actions.yml | 2 +- .../block.block.seven_messages.yml | 2 +- .../block.block.seven_page_title.yml | 2 +- .../block.block.seven_primary_local_tasks.yml | 2 +- ...lock.block.seven_secondary_local_tasks.yml | 2 +- ...ntity_form_display.media.audio.default.yml | 10 +- ...ty_form_display.media.document.default.yml | 12 +- ...ntity_form_display.media.image.default.yml | 12 +- ...orm_display.media.remote_video.default.yml | 8 +- ...ntity_form_display.media.video.default.yml | 10 +- ...ntity_view_display.media.audio.default.yml | 2 +- ...view_display.media.audio.media_library.yml | 6 +- ...ty_view_display.media.document.default.yml | 2 +- ...w_display.media.document.media_library.yml | 6 +- ...ntity_view_display.media.image.default.yml | 4 +- ...view_display.media.image.media_library.yml | 6 +- ...iew_display.media.remote_video.default.yml | 2 +- ...splay.media.remote_video.media_library.yml | 6 +- ...ntity_view_display.media.video.default.yml | 8 +- ...view_display.media.video.media_library.yml | 6 +- ...eld.media.audio.field_media_audio_file.yml | 6 +- ...ld.media.document.field_media_document.yml | 8 +- ...ld.field.media.image.field_media_image.yml | 18 +- ...eld.media.video.field_media_video_file.yml | 6 +- ...eld.storage.media.field_media_document.yml | 8 +- .../field.storage.media.field_media_image.yml | 14 +- ...storage.media.field_media_oembed_video.yml | 2 +- .../optional/image.style.max_1300x1300.yml | 18 +- .../optional/image.style.max_2600x2600.yml | 18 +- .../optional/image.style.max_325x325.yml | 18 +- .../optional/image.style.max_650x650.yml | 18 +- .../optional/media.type.remote_video.yml | 4 +- .../responsive_image.styles.narrow.yml | 6 +- .../optional/responsive_image.styles.wide.yml | 6 +- .../optional/workflows.workflow.editorial.yml | 14 +- core/profiles/standard/standard.info.yml | 9 +- core/profiles/standard/standard.install | 3 +- .../tests/src/Functional/StandardTest.php | 93 +- .../StandardJavascriptTest.php | 2 +- ...ystemListingCrossProfileCompatibleTest.php | 3 +- .../system.action.user_block_user_action.yml | 10 +- .../config/install/system.site.yml | 2 +- .../config/install/tour.tour.language.yml | 15 +- .../tour.tour.testing_config_overrides.yml | 17 +- ...r.tour.testing_config_overrides_module.yml | 9 +- ..._install_profile_all_dependencies.info.yml | 2 +- ...ting_install_profile_dependencies.info.yml | 2 +- .../config/install/locale.settings.yml | 13 + .../testing_multilingual.info.yml | 1 + .../config/install/language.entity.de.yml | 6 +- .../config/install/language.entity.es.yml | 6 +- ...sting_theme_optional_blocks_page_title.yml | 2 +- ...ing_theme_required_blocks_account_menu.yml | 6 +- core/rebuild.php | 2 +- core/scripts/css/compile.js | 29 +- core/scripts/db-tools.php | 2 +- core/scripts/dev/commit-code-check.sh | 522 + core/scripts/drupal | 2 + core/scripts/dump-database-d8-mysql.php | 2 +- core/scripts/generate-d7-content.sh | 2 +- core/scripts/generate-proxy-class.php | 11 +- core/scripts/js/assets/ckeditor5Files.js | 65 + core/scripts/js/assets/process/jqueryui.js | 47 + core/scripts/js/assets/process/map.js | 20 + core/scripts/js/babel-es6-build.js | 2 + core/scripts/js/babel-es6-watch.js | 2 + core/scripts/js/ckeditor5-check-plugins.js | 39 + .../js/ckeditor5-types-documentation.js | 117 + core/scripts/js/jqueryui-build.js | 46 - core/scripts/js/jqueryui-check.js | 24 - core/scripts/js/jqueryui-terser.js | 14 - core/scripts/js/vendor-update.js | 348 + core/scripts/password-hash.sh | 11 - core/scripts/run-tests.sh | 59 +- core/scripts/test/test.script | 4 - core/scripts/transliteration_data.php.txt | 664 - .../Component/ComponentsIsolatedBuildTest.php | 86 + .../Component/ComponentsTaggedReleaseTest.php | 78 + .../Composer/ComposerBuildTestBase.php | 62 + .../BuildTests/Composer/LegacyScriptsTest.php | 135 + .../Template/ComposerProjectTemplatesTest.php | 229 +- .../BuildTests/Framework/BuildTestBase.php | 32 +- .../Framework/Tests/BuildTestTest.php | 4 +- .../Framework/Tests/HtRouterTest.php | 2 +- .../TestSiteApplication/InstallTest.php | 50 + .../Ajax/AjaxFormPageCacheTest.php | 8 +- .../Ajax/AjaxTest.php | 71 +- .../Ajax/CommandsTest.php | 4 +- .../Ajax/DialogTest.php | 11 +- .../Ajax/ElementValidationTest.php | 2 +- .../Ajax/FocusFirstCommandTest.php | 81 + .../Ajax/FormValuesTest.php | 3 +- .../Ajax/MessageCommandTest.php | 101 +- .../Ajax/MultiFormTest.php | 25 +- .../BrowserWithJavascriptTest.php | 17 +- .../Core/CsrfTokenRaceTest.php | 4 +- .../Core/Form/FormGroupingElementsTest.php | 29 + .../Core/Form/JavascriptStatesTest.php | 477 + .../Installer/Form/SelectProfileFormTest.php | 137 - .../Core/JsMessageTest.php | 14 +- .../DrupalSelenium2Driver.php | 147 +- .../EntityReferenceAutocompleteWidgetTest.php | 13 +- .../FunctionalJavascriptTests/JSWebAssert.php | 217 +- .../JavascriptErrorsSuppressionTest.php | 38 + .../JavascriptErrorsTest.php | 35 + .../TableDrag/TableDragTest.php | 223 +- .../Tests/DrupalSelenium2DriverTest.php | 2 +- .../Tests/JSInteractionTest.php | 60 + .../Tests/JSWebAssertTest.php | 16 +- .../Tests/JSWebWithWebDriverAssertTest.php | 24 - .../Theme/ClaroEntityDisplayTest.php | 4 +- .../Theme/ClaroTableDragTest.php | 19 +- .../Theme/OliveroMessagesTest.php | 62 + .../WebDriverCurlService.php | 28 +- .../WebDriverTestBase.php | 26 +- .../FunctionalTests/AssertLegacyTrait.php | 12 +- .../Bootstrap/ErrorContainer.php | 6 +- .../Bootstrap/UncaughtExceptionTest.php | 31 +- .../FunctionalTests/BrowserTestBaseTest.php | 144 +- .../BrowserTestBaseUserAgentTest.php | 4 +- .../Core/Container/ServiceDeprecationTest.php | 41 + .../Core/Render/RenderDeprecationTest.php | 46 + .../Datetime/TimestampTest.php | 7 +- ...erInputMappingOnFieldDeltaElementsTest.php | 4 +- ...EntityFormFieldValidationFilteringTest.php | 5 +- .../Entity/DeleteMultipleFormTest.php | 2 +- .../Entity/EntityBundleListCacheTest.php | 2 +- .../EventSubscriber/Fast404Test.php | 107 + ...yleDatabaseConnectionInSettingsPhpTest.php | 83 + .../Drupal/FunctionalTests/FolderTest.php | 4 +- .../Image/ToolkitSetupFormTest.php | 10 +- .../FunctionalTests/Image/ToolkitTestBase.php | 6 +- ...istributionProfileExistingSettingsTest.php | 16 +- .../Installer/DistributionProfileTest.php | 14 +- ...istributionProfileTranslationQueryTest.php | 19 +- .../DistributionProfileTranslationTest.php | 20 +- .../DrupalFlushAllCachesInInstallerTest.php | 61 + ...ConfigDirectorySetNoDirectoryErrorTest.php | 13 +- .../InstallerDatabaseErrorMessagesTest.php | 2 +- ...llerExistingBrokenDatabaseSettingsTest.php | 9 + .../InstallerExistingConfigDirectoryTest.php | 4 +- ...llerExistingConfigExistingSettingsTest.php | 40 + .../InstallerExistingConfigNoConfigTest.php | 6 +- ...nstallerExistingConfigNoSystemSiteTest.php | 8 +- ...tallerExistingConfigProfileHookInstall.php | 13 +- ...ingConfigSyncDirectoryMultilingualTest.php | 158 +- ...onfigSyncDirectoryProfileMismatchTest.php} | 8 +- .../InstallerExistingConfigTestBase.php | 18 +- .../InstallerExistingDatabaseSettingsTest.php | 3 +- .../InstallerExistingInstallationTest.php | 7 +- ...InstallerExistingSettingsNoProfileTest.php | 2 +- .../InstallerExistingSettingsTest.php | 2 +- .../InstallerLanguageDirectionTest.php | 6 +- .../Installer/InstallerLanguagePageTest.php | 4 +- .../InstallerNonDefaultDatabaseDriverTest.php | 34 +- ...nEnglishProfileWithoutLocaleModuleTest.php | 6 +- .../Installer/InstallerPerformanceTest.php | 7 +- .../Installer/InstallerPostInstallTest.php | 4 +- .../InstallerProfileRequirementsTest.php | 9 + .../InstallerSiteConfigProfileTest.php | 7 +- .../Installer/InstallerTest.php | 68 +- .../Installer/InstallerTestBase.php | 18 +- .../InstallerTranslationExistingFileTest.php | 86 + ...tionMultipleLanguageNonInteractiveTest.php | 146 + ...stallerTranslationMultipleLanguageTest.php | 37 +- .../InstallerTranslationQueryTest.php | 14 +- .../Installer/InstallerTranslationTest.php | 48 +- .../InstallerWithTablePrefixArrayTest.php | 41 + .../MultipleDistributionsProfileTest.php | 16 +- .../Installer/SingleVisibleProfileTest.php | 4 +- .../Installer/SiteNameTest.php | 2 +- .../Installer/StandardInstallerTest.php | 27 +- .../Installer/TestingProfileInstallTest.php | 7 +- .../Libraries/JqueryUiLibraryAssetsTest.php | 754 + .../Libraries/ManyAssetsLoadOrderTest.php | 57 + .../FunctionalTests/MailCaptureTest.php | 8 +- .../Menu/MenuActiveTrail403Test.php | 2 +- .../BaseFieldOverrideResourceTestBase.php | 7 +- .../Rest/DateFormatResourceTestBase.php | 5 +- .../EntityFormDisplayResourceTestBase.php | 7 +- .../Rest/EntityFormModeResourceTestBase.php | 5 +- .../EntityViewDisplayResourceTestBase.php | 7 +- .../Rest/EntityViewModeResourceTestBase.php | 5 +- .../Routing/PathEncodedTest.php | 4 +- .../Routing/RouteCachingLanguageTest.php | 20 +- ...eCachingNonPathLanguageNegotiationTest.php | 6 +- .../Theme/ClaroLayoutBuilderTest.php | 1 + .../FunctionalTests/Theme/ClaroTest.php | 10 +- .../FunctionalTests/Theme/OliveroTest.php | 84 +- .../Update/UpdatePathTestBase.php | 4 +- .../Update/UpdatePathTestBaseTest.php | 36 +- .../FunctionalTests/UserHelpersTest.php | 4 +- .../Drupal/FunctionalTests/WebAssertTest.php | 49 + .../Drupal/KernelTests/AssertContentTrait.php | 99 +- .../Drupal/KernelTests/AssertLegacyTrait.php | 6 + .../KernelTests/Config/DefaultConfigTest.php | 157 +- .../KernelTests/Config/TypedConfigTest.php | 13 +- .../Drupal/KernelTests/ConfigFormTestBase.php | 2 +- .../Core/Action/EmailActionTest.php | 8 +- .../KernelTests/Core/Ajax/CommandsTest.php | 10 +- .../Core/Asset/AttachedAssetsTest.php | 92 +- .../Core/Asset/DeprecatedBackboneTest.php | 38 + .../Core/Asset/DeprecatedJqueryFormTest.php | 37 + .../Asset/DeprecatedJqueryUiAssetsTest.php | 64 + .../Asset/LibraryDiscoveryIntegrationTest.php | 122 +- ...solvedLibraryDefinitionsFilesMatchTest.php | 37 +- .../Core/Batch/BatchNegotiatorTest.php | 39 + .../Bootstrap/ExtensionPathResolverTest.php | 88 + .../Core/Bootstrap/GetFilenameTest.php | 52 +- .../Core/Bootstrap/ResettableStaticTest.php | 10 +- .../Core/Cache/ApcuBackendTest.php | 2 +- .../Cache/CacheContextOptimizationTest.php | 16 +- .../Core/Cache/DatabaseBackendTagTest.php | 2 +- .../Core/Cache/DatabaseBackendTest.php | 20 +- .../Cache/GenericCacheBackendUnitTestBase.php | 92 +- .../Core/Cache/MemoryBackendTest.php | 2 +- .../KernelTests/Core/Cache/PhpBackendTest.php | 4 +- .../KernelTests/Core/Command/DbDumpTest.php | 18 +- .../Core/Common/DrupalFlushAllCachesTest.php | 41 +- .../KernelTests/Core/Common/SizeTest.php | 3 +- .../KernelTests/Core/Common/XssUnitTest.php | 20 +- ...CacheabilityMetadataConfigOverrideTest.php | 24 +- .../Core/Config/ConfigCRUDTest.php | 58 +- .../Core/Config/ConfigDependencyTest.php | 94 +- .../Core/Config/ConfigDiffTest.php | 18 +- .../Core/Config/ConfigEntityNormalizeTest.php | 7 +- .../Config/ConfigEntityStaticCacheTest.php | 12 +- .../Core/Config/ConfigEntityStorageTest.php | 5 +- .../Core/Config/ConfigEntityUnitTest.php | 4 +- .../Core/Config/ConfigEventsTest.php | 40 +- .../Core/Config/ConfigExportStorageTest.php | 3 + .../Core/Config/ConfigFileContentTest.php | 20 +- .../Core/Config/ConfigImportRecreateTest.php | 8 +- .../ConfigImportRenameValidationTest.php | 7 +- .../ConfigImporterMissingContentTest.php | 14 +- .../Core/Config/ConfigImporterTest.php | 307 +- .../Core/Config/ConfigInstallTest.php | 57 +- .../Config/ConfigLanguageOverrideTest.php | 30 +- .../Core/Config/ConfigModuleOverridesTest.php | 12 +- .../Core/Config/ConfigOverrideTest.php | 55 +- .../Config/ConfigOverridesPriorityTest.php | 51 +- .../Core/Config/ConfigSchemaTest.php | 167 +- .../Core/Config/ConfigSnapshotTest.php | 2 +- .../Core/Config/DefaultConfigTest.php | 32 +- .../ExcludedModulesEventSubscriberTest.php | 2 +- .../Core/Config/ExportStorageManagerTest.php | 14 +- .../Config/ImportStorageTransformerTest.php | 20 +- .../Core/Config/SchemaCheckTraitTest.php | 2 +- .../Core/Config/Storage/CachedStorageTest.php | 16 +- .../Config/Storage/ConfigStorageTestBase.php | 28 +- .../Core/Config/Storage/FileStorageTest.php | 20 +- .../KernelTests/Core/Database/AlterTest.php | 40 +- .../Core/Database/BasicSyntaxTest.php | 24 +- .../Core/Database/CaseSensitivityTest.php | 2 +- .../Core/Database/ConnectionTest.php | 105 +- .../Database/DatabaseExceptionWrapperTest.php | 34 +- .../Core/Database/DatabaseTestBase.php | 143 +- .../Database/DatabaseTestSchemaDataTrait.php | 121 + .../DatabaseTestSchemaInstallTrait.php | 32 + .../Core/Database/DeleteTruncateTest.php | 28 +- ... DriverSpecificConnectionUnitTestBase.php} | 148 +- .../DriverSpecificDatabaseTestBase.php | 28 + .../Database/DriverSpecificKernelTestBase.php | 47 + .../Database/DriverSpecificSchemaTestBase.php | 27 + .../KernelTests/Core/Database/FetchTest.php | 8 +- .../Core/Database/InsertDefaultsTest.php | 14 +- .../Core/Database/InsertLobTest.php | 15 +- .../KernelTests/Core/Database/InsertTest.php | 40 +- .../KernelTests/Core/Database/LoggingTest.php | 21 +- .../KernelTests/Core/Database/MergeTest.php | 120 +- .../KernelTests/Core/Database/NextIdTest.php | 39 +- .../KernelTests/Core/Database/QueryTest.php | 26 +- .../Core/Database/RangeQueryTest.php | 2 +- .../Core/Database/ReservedWordTest.php | 26 + .../KernelTests/Core/Database/SchemaTest.php | 385 +- .../Core/Database/SelectCloneTest.php | 6 +- .../Core/Database/SelectComplexTest.php | 111 +- .../Core/Database/SelectExtenderTest.php | 140 + .../Core/Database/SelectOrderedTest.php | 6 +- .../Core/Database/SelectSubqueryTest.php | 44 +- .../KernelTests/Core/Database/SelectTest.php | 141 +- .../Core/Database/SerializeQueryTest.php | 2 +- .../Core/Database/StatementTest.php | 32 +- .../Database/StatementWrapperLegacyTest.php | 8 +- .../KernelTests/Core/Database/TaggingTest.php | 12 +- .../Core/Database/TransactionTest.php | 36 +- .../Core/Database/UpdateComplexTest.php | 47 +- .../Core/Database/UpdateLobTest.php | 22 +- .../KernelTests/Core/Database/UpdateTest.php | 63 +- .../KernelTests/Core/Database/UpsertTest.php | 79 +- .../Core/Datetime/DatelistElementFormTest.php | 140 + .../Core/Datetime/DatetimeElementFormTest.php | 118 +- .../Core/Datetime/Element/TimezoneTest.php | 8 +- .../Core/DependencyInjection/AutowireTest.php | 32 + .../ServicesDefaultsTest.php | 83 + .../StringSerializationTest.php | 24 + .../DrupalKernel/DrupalKernelSiteTest.php | 4 +- .../Core/DrupalKernel/DrupalKernelTest.php | 25 +- .../Core/Element/PathElementFormTest.php | 21 +- .../Core/Entity/BundleClassTest.php | 277 + .../Entity/BundleConstraintValidatorTest.php | 17 +- .../BundlePermissionHandlerTraitTest.php | 81 + .../Core/Entity/ConfigEntityQueryTest.php | 61 +- .../Core/Entity/ContentEntityChangedTest.php | 161 +- .../Core/Entity/ContentEntityCloneTest.php | 6 +- .../ContentEntityNonRevisionableFieldTest.php | 18 + .../Entity/ContentEntityNullStorageTest.php | 13 +- .../Core/Entity/CreateSampleEntityTest.php | 1 - .../DefaultTableMappingIntegrationTest.php | 14 + .../EntityAutocompleteElementFormTest.php | 76 +- .../Entity/EntityAccessControlHandlerTest.php | 33 +- .../KernelTests/Core/Entity/EntityApiTest.php | 42 +- .../Core/Entity/EntityAutocompleteTest.php | 28 +- .../Core/Entity/EntityBaseTest.php | 50 + .../Core/Entity/EntityBundleConditionTest.php | 84 + .../Core/Entity/EntityBundleFieldTest.php | 8 +- .../Core/Entity/EntityCrudHookTest.php | 18 +- ...ntityDecoupledTranslationRevisionsTest.php | 3 +- .../Entity/EntityDefinitionUpdateTest.php | 46 +- .../Core/Entity/EntityDuplicateTest.php | 4 +- .../Entity/EntityFieldDefaultValueTest.php | 13 +- .../Core/Entity/EntityFieldTest.php | 204 +- .../EntityHasFieldConstraintValidatorTest.php | 2 +- .../Core/Entity/EntityKernelTestBase.php | 3 + .../Core/Entity/EntityKeysTest.php | 4 +- .../Core/Entity/EntityLanguageTestBase.php | 9 +- ...tyNonRevisionableTranslatableFieldTest.php | 3 + .../Core/Entity/EntityQueryAggregateTest.php | 73 +- .../Entity/EntityQueryRelationshipTest.php | 26 +- .../Core/Entity/EntityQueryTest.php | 222 +- .../Core/Entity/EntityReferenceFieldTest.php | 44 +- .../EntityReferenceSelectionSortTest.php | 7 +- .../Core/Entity/EntityRepositoryTest.php | 4 +- .../Entity/EntityRevisionTranslationTest.php | 4 +- .../Core/Entity/EntityRevisionsTest.php | 30 +- .../Core/Entity/EntitySchemaTest.php | 35 +- .../Core/Entity/EntityTranslationTest.php | 160 +- .../EntityTypeConstraintValidatorTest.php | 13 +- .../Core/Entity/EntityTypeConstraintsTest.php | 12 +- .../Core/Entity/EntityTypeTest.php | 64 + .../Entity/EntityTypedDataDefinitionTest.php | 35 +- .../Core/Entity/EntityUUIDTest.php | 31 +- .../Core/Entity/EntityValidationTest.php | 63 +- .../Core/Entity/EntityViewBuilderTest.php | 21 +- .../Core/Entity/EntityViewHookTest.php | 2 +- .../Core/Entity/FieldSqlStorageTest.php | 57 +- .../Entity/FieldTranslationSqlStorageTest.php | 10 +- .../FieldWidgetConstraintValidatorTest.php | 10 +- .../FieldableEntityDefinitionUpdateTest.php | 41 +- .../RevisionableContentEntityBaseTest.php | 12 +- .../Core/Entity/RouteProviderTest.php | 1 + .../Sql/SqlContentEntityStorageSchemaTest.php | 2 +- .../ValidReferenceConstraintValidatorTest.php | 11 +- .../LegacyExtensionPathResolverTest.php | 40 + .../Extension/ModuleConfigureRouteTest.php | 54 +- .../ModuleHandlerDeprecatedHookTest.php | 12 +- ...HandlerDeprecatedHookUnimplementedTest.php | 2 +- .../Extension/ModuleImplementsAlterTest.php | 17 +- .../ModuleInstallerDeprecationTest.php | 28 + .../Core/Extension/ModuleInstallerTest.php | 25 + .../Core/Extension/ModuleLegacyTest.php | 56 + .../Core/Extension/SchemaDeprecationTest.php | 47 + .../Core/Extension/UpdateDeprecationTest.php | 35 + .../Core/Extension/UpdateDescriptionTest.php | 40 + .../Core/Extension/UpdateSchemaTest.php | 4 +- .../Field/Entity/BaseFieldOverrideTest.php | 2 +- .../Core/Field/FieldAccessTest.php | 11 +- .../KernelTests/Core/Field/FieldItemTest.php | 18 +- .../Core/Field/FieldSettingsTest.php | 12 +- .../Core/Field/FieldType/PasswordItemTest.php | 189 + .../KernelTests/Core/File/DirectoryTest.php | 81 +- .../KernelTests/Core/File/FileCopyTest.php | 10 +- .../Core/File/FileDeleteRecursiveTest.php | 18 +- .../KernelTests/Core/File/FileDeleteTest.php | 2 +- .../KernelTests/Core/File/FileMoveTest.php | 10 +- .../Core/File/FileSaveDataTest.php | 6 +- .../Core/File/FileSystemDeprecationTest.php | 35 + .../Core/File/FileSystemRequirementsTest.php | 2 +- .../KernelTests/Core/File/FileTestBase.php | 16 +- .../Core/File/FileUrlGeneratorTest.php | 277 + .../KernelTests/Core/File/HtaccessTest.php | 4 +- .../KernelTests/Core/File/MimeTypeTest.php | 6 +- .../KernelTests/Core/File/NameMungingTest.php | 13 +- .../KernelTests/Core/File/PharWrapperTest.php | 17 +- .../Core/File/ReadOnlyStreamWrapperTest.php | 2 +- .../File/RemoteFileDeleteRecursiveTest.php | 3 + .../Core/File/RemoteFileDeleteTest.php | 3 + .../Core/File/RemoteFileDirectoryTest.php | 3 + .../Core/File/RemoteFileMoveTest.php | 3 + .../Core/File/RemoteFileSaveDataTest.php | 3 + .../Core/File/RemoteFileScanDirectoryTest.php | 3 + .../Core/File/RemoteFileUnmanagedCopyTest.php | 3 + .../Core/File/ScanDirectoryTest.php | 34 +- .../Core/File/StreamWrapperTest.php | 62 +- .../Core/File/UrlRewritingTest.php | 120 - .../Core/File/UrlTransformRelativeTest.php | 91 +- .../Core/Form/ExternalFormUrlTest.php | 4 +- .../Core/Form/FormActionXssTest.php | 96 + .../KernelTests/Core/Form/FormCacheTest.php | 19 +- .../Core/Form/FormDefaultHandlersTest.php | 8 +- .../Form/FormValidationMessageOrderTest.php | 8 +- .../Form/TriggeringElementProgrammedTest.php | 2 +- .../HttpKernel/StackKernelIntegrationTest.php | 4 +- .../KernelTests/Core/Image/ToolkitGdTest.php | 562 +- .../KernelTests/Core/Image/ToolkitTest.php | 7 + .../Core/Installer/InstallerLanguageTest.php | 17 +- .../Installer/InstallerRedirectTraitTest.php | 6 +- .../DatabaseStorageExpirableTest.php | 11 +- .../KeyValueStore/DatabaseStorageTest.php | 64 + .../KeyValueStore/GarbageCollectionTest.php | 10 +- .../KeyValueContentEntityStorageTest.php | 52 +- .../Core/KeyValueStore/StorageTestBase.php | 32 +- .../KernelTests/Core/LegacyServiceTest.php | 47 + .../Drupal/KernelTests/Core/Lock/LockTest.php | 3 + .../KernelTests/Core/Menu/MenuLegacyTest.php | 55 + .../Menu/MenuLinkDefaultIntegrationTest.php | 16 +- .../Core/Menu/MenuLinkTreeTest.php | 6 +- .../Core/Menu/MenuTreeStorageTest.php | 79 +- .../Core/Messenger/MessengerTest.php | 4 +- .../Core/Pager/PagerManagerTest.php | 51 +- .../Core/Pager/RequestPagerTest.php | 4 +- .../EntityConverterLatestRevisionTest.php | 64 +- .../ParamConverter/EntityConverterTest.php | 107 + .../Core/Path/PathValidatorTest.php | 5 +- .../Annotation/ContextDefinitionTest.php | 1 + .../Condition/CurrentThemeConditionTest.php | 8 +- .../Core/Plugin/Condition/RequestPathTest.php | 15 +- .../Context/ContextAwarePluginBaseTest.php | 2 +- .../Core/Plugin/ContextDefinitionTest.php | 19 + .../Core/Plugin/ContextPluginTest.php | 24 +- .../Core/Plugin/ContextTypedDataTest.php | 31 + .../Core/Plugin/DerivativeTest.php | 10 +- .../Discovery/AnnotatedClassDiscoveryTest.php | 6 +- .../CustomAnnotationClassDiscoveryTest.php | 3 + ...omDirectoryAnnotatedClassDiscoveryTest.php | 9 +- .../Plugin/Discovery/DiscoveryTestBase.php | 11 +- .../Plugin/Discovery/StaticDiscoveryTest.php | 3 + .../KernelTests/Core/Plugin/FactoryTest.php | 14 +- .../Core/Plugin/InspectionTest.php | 14 +- .../Core/Plugin/PluginTestBase.php | 3 + .../Core/Queue/QueueSerializationTest.php | 16 +- .../KernelTests/Core/Queue/QueueTest.php | 6 +- .../Core/Render/Element/ActionsTest.php | 1 + .../Core/Render/Element/MachineNameTest.php | 74 + .../Render/Element/RenderElementTypesTest.php | 24 +- .../Render/Element/TableSortExtenderTest.php | 23 +- .../Core/Render/Element/TableTest.php | 14 +- .../Core/Render/Element/WeightTest.php | 4 +- .../Render/ElementInfoIntegrationTest.php | 8 +- .../Core/Render/RenderCacheTest.php | 14 +- .../KernelTests/Core/Render/RenderTest.php | 4 +- .../Core/RouteProcessor/RouteNoneTest.php | 16 +- .../RouteProcessorCurrentIntegrationTest.php | 10 +- .../Routing/ContentNegotiationRoutingTest.php | 4 +- .../Core/Routing/ExceptionHandlingTest.php | 35 +- .../Core/Routing/MatcherDumperTest.php | 17 +- .../Core/Routing/RouteProviderTest.php | 79 +- .../Core/Routing/UrlIntegrationTest.php | 4 +- .../ServiceProvider/ServiceProviderTest.php | 2 +- .../Core/Session/AccountSwitcherTest.php | 10 +- .../SessionManagerDestroyNoCliCheckTest.php | 22 + .../Core/Site/SettingsRewriteTest.php | 4 +- .../Core/TempStore/TempStoreDatabaseTest.php | 20 +- .../Core/Test/AssertMailTraitTest.php | 2 +- .../Core/Test/BrowserTestBaseTest.php | 4 +- .../Core/Test/EnvironmentCleanerTest.php | 8 +- .../Core/Theme/BaseThemeMissingTest.php | 31 +- .../Core/Theme/BaseThemeRequiredTest.php | 4 +- .../Core/Theme/ClaroVerticalTabsTest.php | 69 + .../Theme/ConfigImportThemeInstallTest.php | 85 + .../Core/Theme/ConfirmClassyCopiesTest.php | 26 +- .../Core/Theme/FrontMatterTest.php | 4 +- .../KernelTests/Core/Theme/ImageTest.php | 22 +- .../KernelTests/Core/Theme/MessageTest.php | 6 +- .../Core/Theme/RegistryLegacyTest.php | 12 +- .../KernelTests/Core/Theme/RegistryTest.php | 24 +- .../Core/Theme/Stable9LibraryOverrideTest.php | 118 +- .../Theme/Stable9TemplateOverrideTest.php | 12 +- .../Core/Theme/StableLibraryOverrideTest.php | 91 +- .../Theme/StableLibraryOverrideTestBase.php | 140 + .../Core/Theme/StableTemplateOverrideTest.php | 15 +- .../Core/Theme/ThemeInstallerTest.php | 32 +- .../Core/Theme/ThemeSettingsTest.php | 11 +- .../Core/Theme/TwigEnvironmentTest.php | 91 +- .../Core/Theme/TwigMarkupInterfaceTest.php | 3 +- .../Core/Theme/TwigWhiteListTest.php | 2 +- .../AllowedValuesConstraintValidatorTest.php | 13 +- .../ComplexDataConstraintValidatorTest.php | 20 +- .../RecursiveContextualValidatorTest.php | 4 +- .../TypedData/TypedDataDefinitionTest.php | 21 +- .../Core/TypedData/TypedDataTest.php | 309 +- .../KernelTests/Core/Updater/UpdaterTest.php | 2 +- .../Core/Validation/ConstraintFactoryTest.php | 48 + .../Validation/UniqueFieldConstraintTest.php | 2 +- .../Drupal/KernelTests/KernelTestBase.php | 146 +- ...KernelTestBaseDatabaseDriverModuleTest.php | 68 + .../Drupal/KernelTests/KernelTestBaseTest.php | 130 +- .../Drupal/KernelTests/RouteProvider.php | 5 + .../KernelTests/TestServiceProvider.php | 57 - .../Assertions/deprecationErrorExists.js | 2 +- .../Nightwatch/Assertions/elementCount.js | 22 + .../Assertions/noDeprecationErrors.js | 2 +- .../Nightwatch/Commands/drupalInstall.js | 3 + .../Commands/drupalInstallModule.js | 39 + .../Tests/Olivero/oliveroCommentTest.js | 41 + .../Tests/Olivero/oliveroDesktopMenuTest.js | 98 + .../Tests/Olivero/oliveroDrupalMessageTest.js | 101 + .../Tests/Olivero/oliveroMiscTest.js | 66 + .../Tests/Olivero/oliveroMobileMenuTest.js | 175 + ...eroPreprocessFieldMultipleValueFormTest.js | 41 + .../Olivero/oliveroPreprocessInputTest.js | 112 + .../Tests/Olivero/oliveroPrimaryTabsTest.js | 50 + .../Olivero/oliveroRemoveBlockConsoleTest.js | 57 + .../Tests/Olivero/oliveroSearchFormTest.js | 122 + .../Olivero/oliveroStickyHeaderToggleTest.js | 36 + .../Tests/ajaxExecutionOrderTest.js | 34 + .../Nightwatch/Tests/claroAutocompleteTest.js | 5 - .../Tests/jQueryUIPositionShimTest.js | 2403 + .../Drupal/Nightwatch/Tests/jsCookieTest.js | 93 +- .../Drupal/Nightwatch/Tests/jsOnceTest.js | 210 + .../Drupal/Nightwatch/Tests/statesTest.js | 24 + .../Nightwatch/Tests/tabbableShimTest.js | 345 + .../Nightwatch/Tests/tabbingManagerTest.js | 192 + .../Nightwatch/Tests/touchDetectionTest.js | 64 + core/tests/Drupal/Nightwatch/globals.js | 13 - .../Drupal/Nightwatch/nightwatch.conf.js | 6 +- .../Commands/TestSiteInstallCommand.php | 49 +- .../Commands/TestSiteTearDownCommand.php | 2 +- .../Commands/TestSiteUserLoginCommand.php | 2 +- .../TestSiteOliveroInstallTestScript.php | 68 + .../TestTools/Extension/SchemaInspector.php | 36 + .../PhpUnit8/ClassWriter.php | 84 +- .../PhpUnit9/TestCompatibilityTrait.php | 6 + core/tests/Drupal/TestTools/TestVarDumper.php | 46 + core/tests/Drupal/Tests/AssertHelperTrait.php | 11 +- .../Drupal/Tests/AssertHelperTraitTest.php | 17 +- .../Drupal/Tests/BrowserHtmlDebugTrait.php | 17 +- core/tests/Drupal/Tests/BrowserTestBase.php | 161 +- .../AnnotatedClassDiscoveryCachedTest.php | 4 +- .../Annotation/Doctrine/DocParserTest.php | 31 +- .../Annotation/AnnotWithDefaultValue.php | 1 - .../Doctrine/Fixtures/Annotation/Autoload.php | 1 - .../Doctrine/Fixtures/Annotation/Route.php | 1 - .../Doctrine/Fixtures/Annotation/Secure.php | 1 - .../Doctrine/Fixtures/Annotation/Template.php | 1 - .../Doctrine/Fixtures/Annotation/Version.php | 1 - .../Doctrine/Fixtures/AnnotationEnum.php | 1 - .../Fixtures/AnnotationEnumInvalid.php | 1 - .../Fixtures/AnnotationEnumLiteral.php | 1 - .../Fixtures/AnnotationEnumLiteralInvalid.php | 1 - .../Doctrine/Fixtures/AnnotationTargetAll.php | 1 - .../Fixtures/AnnotationTargetAnnotation.php | 1 - .../Fixtures/AnnotationTargetClass.php | 1 - .../AnnotationTargetPropertyMethod.php | 1 - .../Fixtures/AnnotationWithAttributes.php | 1 - .../Fixtures/AnnotationWithConstants.php | 1 - .../AnnotationWithRequiredAttributes.php | 1 - ...ithRequiredAttributesWithoutContructor.php | 1 - .../AnnotationWithTargetSyntaxError.php | 1 - .../Fixtures/AnnotationWithVarType.php | 1 - .../Doctrine/Fixtures/ClassWithConstants.php | 1 - ...lassWithInvalidAnnotationTargetAtClass.php | 1 - ...assWithInvalidAnnotationTargetAtMethod.php | 1 - ...sWithInvalidAnnotationTargetAtProperty.php | 1 - .../ClassWithValidAnnotationTarget.php | 1 - .../Fixtures/IntefaceWithConstants.php | 1 - .../Doctrine/Ticket/DCOM58Entity.php | 1 - .../Annotation/Doctrine/Ticket/DCOM58Test.php | 1 - .../Annotation/MockFileFinderTest.php | 2 +- .../Component/Annotation/PluginIdTest.php | 15 +- .../Component/Assertion/InspectorTest.php | 4 +- .../ZfExtensionManagerSfContainerTest.php | 5 +- .../Component/ClassFinder/ClassFinderTest.php | 5 +- .../Component/Datetime/DateTimePlusTest.php | 37 +- .../DependencyInjection/ContainerTest.php | 36 +- .../Dumper/OptimizedPhpArrayDumperTest.php | 80 +- .../ReverseContainerTest.php | 84 + .../Component/Diff/Engine/DiffEngineTest.php | 2 +- .../Discovery/YamlDirectoryDiscoveryTest.php | 21 +- .../Component/Discovery/YamlDiscoveryTest.php | 2 +- .../Tests/Component/DrupalComponentTest.php | 11 +- .../ContainerAwareEventDispatcherTest.php | 6 + .../FileCache/FileCacheFactoryTest.php | 2 +- .../Component/FileCache/FileCacheTest.php | 14 +- .../FileCache/StaticFileCacheBackend.php | 2 +- .../Tests/Component/Gettext/PoHeaderTest.php | 4 +- .../Component/Gettext/PoStreamWriterTest.php | 4 + .../Tests/Component/Graph/GraphTest.php | 40 +- .../SecuredRedirectResponseTest.php | 2 +- .../PhpStorage/FileStorageReadOnlyTest.php | 4 +- .../Component/PhpStorage/FileStorageTest.php | 6 +- .../MTimeProtectedFileStorageBase.php | 5 + .../PhpStorage/PhpStorageTestBase.php | 4 +- .../Component/Plugin/Context/ContextTest.php | 42 +- .../Plugin/Discovery/DiscoveryTraitTest.php | 6 +- .../StaticDiscoveryDecoratorTest.php | 12 +- .../Plugin/Factory/ReflectionFactoryTest.php | 2 +- .../Plugin/PluginManagerBaseTest.php | 2 +- .../StubPluginManagerBaseWithMapper.php | 1 + .../ProxyBuilder/ProxyBuilderTest.php | 8 +- .../Render/FormattableMarkupTest.php | 23 + .../Component/Serialization/JsonTest.php | 8 +- .../Component/Serialization/YamlTest.php | 8 +- .../PhpTransliterationTest.php | 140 +- .../Tests/Component/Utility/BytesTest.php | 107 +- .../Tests/Component/Utility/CryptTest.php | 1 + .../Component/Utility/EmailValidatorTest.php | 1 + .../Tests/Component/Utility/HtmlTest.php | 16 + .../Tests/Component/Utility/MailTest.php | 4 + .../Component/Utility/NestedArrayTest.php | 2 +- .../Tests/Component/Utility/RandomTest.php | 20 + .../Component/Utility/ReflectionTest.php | 2 + .../Tests/Component/Utility/SortArrayTest.php | 4 +- .../Tests/Component/Utility/UnicodeTest.php | 6 + .../Tests/Component/Utility/UrlHelperTest.php | 35 +- .../Tests/Component/Utility/UserAgentTest.php | 2 +- .../Tests/Component/Utility/VariableTest.php | 77 +- .../Tests/Component/Utility/XssTest.php | 64 +- .../Drupal/Tests/Composer/ComposerTest.php | 2 +- .../Tests/Composer/Generator/BuilderTest.php | 10 +- .../Generator/MetapackageUpdateTest.php | 4 +- .../Plugin/ProjectMessage/ConfigTest.php | 6 +- .../Scaffold/Functional/ComposerHookTest.php | 26 +- .../Functional/ManageGitIgnoreTest.php | 49 +- .../Scaffold/Functional/ScaffoldTest.php | 26 +- .../Functional/ScaffoldUpgradeTest.php | 9 +- .../Scaffold/Integration/AppendOpTest.php | 2 +- .../Scaffold/Integration/ReplaceOpTest.php | 24 +- .../Scaffold/Integration/SkipOpTest.php | 4 +- .../Plugin/Scaffold/ScaffoldTestResult.php | 2 + .../composer-hooks-fixture/composer.json.tmpl | 5 + .../assets/robots-default.txt | 1 - .../composer.json.tmpl | 64 - .../composer.json.tmpl | 5 + .../fixtures/drupal-drupal/composer.json.tmpl | 7 +- .../fixtures/empty-file/assets/empty_file.txt | 0 .../fixtures/empty-file/composer.json | 10 + .../fixtures/scripts/disable-git-bin/git | 2 - .../Plugin/VendorHardening/ConfigTest.php | 10 +- .../VendorHardeningPluginTest.php | 47 +- .../Drupal/Tests/ComposerIntegrationTest.php | 69 +- core/tests/Drupal/Tests/ConfigTestTrait.php | 3 +- .../Tests/Core/Access/AccessManagerTest.php | 72 +- .../Core/Access/AccessResultForbiddenTest.php | 2 +- .../Core/Access/AccessResultNeutralTest.php | 4 +- .../Tests/Core/Access/AccessResultTest.php | 29 +- .../Tests/Core/Access/CsrfAccessCheckTest.php | 17 +- .../Core/Access/CsrfTokenGeneratorTest.php | 10 +- .../Core/Access/CustomAccessCheckTest.php | 44 +- .../Core/Access/DefaultAccessCheckTest.php | 2 +- .../Core/Access/RouteProcessorCsrfTest.php | 7 +- .../Tests/Core/Ajax/AjaxCommandsTest.php | 4 +- .../Tests/Core/Ajax/AjaxResponseTest.php | 11 +- .../Core/Assert/AssertLegacyTraitTest.php | 2 + .../Tests/Core/Asset/AssetResolverTest.php | 5 +- .../Asset/CssCollectionGrouperUnitTest.php | 7 +- .../Asset/CssCollectionOptimizerUnitTest.php | 85 + .../Asset/CssCollectionRendererUnitTest.php | 194 +- .../Tests/Core/Asset/CssOptimizerUnitTest.php | 80 +- .../Asset/LibraryDependencyResolverTest.php | 4 +- .../Asset/LibraryDiscoveryCollectorTest.php | 46 +- .../Core/Asset/LibraryDiscoveryParserTest.php | 203 +- .../css_test_files/css_input_with_import.css | 19 +- ...t_with_import.css.optimized.aggregated.css | 14 + .../css_input_with_import.css.optimized.css | 4 +- .../AuthenticationCollectorTest.php | 5 +- .../AuthenticationManagerTest.php | 2 +- .../Drupal/Tests/Core/Block/BlockBaseTest.php | 2 +- .../Tests/Core/Block/BlockManagerTest.php | 20 +- .../Core/Breadcrumb/BreadcrumbManagerTest.php | 12 +- .../BackendChainImplementationUnitTest.php | 18 +- .../Tests/Core/Cache/CacheCollectorTest.php | 67 +- .../Tests/Core/Cache/CacheFactoryTest.php | 16 +- .../Drupal/Tests/Core/Cache/CacheTest.php | 12 +- .../Core/Cache/CacheableMetadataTest.php | 22 +- .../Core/Cache/ChainedFastBackendTest.php | 8 +- .../Context/CacheContextsManagerTest.php | 50 +- .../Cache/Context/CookieCacheContextTest.php | 43 + .../Context/IsFrontPathCacheContextTest.php | 1 + .../Cache/Context/SessionCacheContextTest.php | 14 +- .../Tests/Core/Command/GenerateThemeTest.php | 364 + .../Tests/Core/Command/QuickStartTest.php | 63 +- .../Tests/Core/Common/AttributesTest.php | 4 +- .../Tests/Core/Common/DiffArrayTest.php | 3 + .../Drupal/Tests/Core/Common/TagsTest.php | 4 +- .../Core/Composer/ComposerDeprecationTest.php | 78 + .../ConditionAccessResolverTraitTest.php | 8 +- .../Tests/Core/Config/CachedStorageTest.php | 4 +- .../Tests/Core/Config/ConfigFactoryTest.php | 4 +- .../Drupal/Tests/Core/Config/ConfigTest.php | 27 +- .../Entity/ConfigEntityBaseUnitTest.php | 56 +- .../Config/Entity/ConfigEntityStorageTest.php | 15 +- .../Config/Entity/ConfigEntityTypeTest.php | 4 + .../Entity/EntityDisplayModeBaseUnitTest.php | 22 +- .../Config/Entity/Query/QueryFactoryTest.php | 2 +- .../Config/ExtensionInstallStorageTest.php | 2 +- .../Tests/Core/Config/ImmutableConfigTest.php | 5 +- .../Tests/Core/Config/NullStorageTest.php | 2 +- .../Tests/Core/Config/ReadOnlyStorageTest.php | 2 +- .../Tests/Core/Config/StorageComparerTest.php | 113 +- .../Core/Controller/ControllerBaseTest.php | 5 +- .../Controller/ControllerResolverTest.php | 6 +- .../Core/Controller/TitleResolverTest.php | 39 +- core/tests/Drupal/Tests/Core/CronTest.php | 25 +- .../Tests/Core/Database/ConditionTest.php | 7 +- .../Tests/Core/Database/ConnectionTest.php | 98 +- .../Tests/Core/Database/DatabaseTest.php | 16 +- .../Core/Database/EmptyStatementTest.php | 5 +- .../Core/Database/InstallerObjectTest.php | 4 +- .../Tests/Core/Database/OrderByTest.php | 2 +- .../Core/Database/RowCountExceptionTest.php | 50 + .../Core/Database/Stub/StubConnection.php | 10 +- .../Tests/Core/Database/UrlConversionTest.php | 138 +- .../Tests/Core/Datetime/DateHelperTest.php | 130 + .../Drupal/Tests/Core/Datetime/DateTest.php | 43 +- .../Core/Datetime/DrupalDateTimeTest.php | 4 +- .../AuthenticationProviderPassTest.php | 7 +- .../Compiler/BackendCompilerPassTest.php | 7 +- .../Compiler/MimeTypePassTest.php | 14 +- .../Compiler/StackedKernelPassTest.php | 4 +- .../Compiler/TaggedHandlersPassTest.php | 8 +- .../ContainerBuilderTest.php | 51 +- .../DependencyInjection/ContainerTest.php | 12 - .../DependencySerializationTest.php | 24 +- .../DependencyInjection/Fixture/BarClass.php | 2 +- .../YamlFileLoaderTest.php | 127 +- .../Tests/Core/Display/DisplayVariantTest.php | 2 +- .../DrupalKernel/DrupalKernelLegacyTest.php | 30 + .../Core/DrupalKernel/DrupalKernelTest.php | 17 +- core/tests/Drupal/Tests/Core/DrupalTest.php | 14 +- .../EntityRevisionRouteEnhancerTest.php | 2 +- .../Enhancer/ParamConversionEnhancerTest.php | 13 +- ...ityFormDisplayAccessControlHandlerTest.php | 38 +- ...ityViewDisplayAccessControlHandlerTest.php | 6 +- .../Core/Entity/BaseFieldDefinitionTest.php | 12 +- .../Core/Entity/ContentEntityBaseUnitTest.php | 202 +- .../Enhancer/EntityRouteEnhancerTest.php | 12 +- .../Entity/EntityBundleAccessCheckTest.php | 2 + .../Entity/EntityCreateAccessCheckTest.php | 8 +- .../Core/Entity/EntityFieldManagerTest.php | 164 +- .../Core/Entity/EntityFormBuilderTest.php | 8 +- .../Tests/Core/Entity/EntityFormTest.php | 26 +- .../Tests/Core/Entity/EntityLinkTest.php | 2 +- .../Core/Entity/EntityListBuilderTest.php | 10 +- .../Core/Entity/EntityResolverManagerTest.php | 18 +- .../Core/Entity/EntityStorageBaseTest.php | 174 + .../Entity/EntityStorageDeprecationTest.php | 192 + .../Core/Entity/EntityTypeBundleInfoTest.php | 14 +- .../Core/Entity/EntityTypeManagerTest.php | 4 +- .../Core/Entity/EntityTypeRepositoryTest.php | 3 +- .../Tests/Core/Entity/EntityTypeTest.php | 24 +- .../Tests/Core/Entity/EntityUnitTest.php | 132 +- .../Tests/Core/Entity/EntityUrlTest.php | 10 +- .../Tests/Core/Entity/FieldDefinitionTest.php | 3 +- .../KeyValueEntityStorageTest.php | 206 +- .../Routing/DefaultHtmlRouteProviderTest.php | 2 + .../Entity/Sql/DefaultTableMappingTest.php | 20 +- .../Sql/SqlContentEntityStorageSchemaTest.php | 96 +- .../Sql/SqlContentEntityStorageTest.php | 220 +- .../TypedData/EntityAdapterUnitTest.php | 22 +- .../Tests/Core/Error/DrupalLogErrorTest.php | 3 +- .../ActiveLinkResponseFilterTest.php | 34 +- .../CustomPageExceptionHtmlSubscriberTest.php | 10 +- .../FinalExceptionSubscriberTest.php | 2 +- .../ModuleRouteSubscriberTest.php | 7 +- .../RedirectResponseSubscriberTest.php | 7 +- .../RssResponseRelativeUrlFilterTest.php | 2 + .../SpecialAttributesRouteSubscriberTest.php | 5 +- .../Core/Extension/ExtensionDiscoveryTest.php | 28 +- .../Core/Extension/ExtensionListTest.php | 7 +- .../Core/Extension/ExtensionVersionTest.php | 451 + .../Core/Extension/InfoParserUnitTest.php | 206 +- .../Core/Extension/ModuleHandlerTest.php | 149 +- ...RequiredByThemesUninstallValidatorTest.php | 12 +- .../RequiredModuleUninstallValidatorTest.php | 2 +- .../Tests/Core/Extension/ThemeHandlerTest.php | 20 +- .../Field/BaseFieldDefinitionTestBase.php | 7 +- .../Field/FieldDefinitionListenerTest.php | 5 - .../FieldInputValueNormalizerTraitTest.php | 2 +- .../Tests/Core/Field/FieldItemListTest.php | 12 +- .../Core/Field/InternalViolationTest.php | 38 + .../Drupal/Tests/Core/File/FileSystemTest.php | 22 +- .../File/FileUploadSanitizeNameEventTest.php | 111 + .../Tests/Core/Flood/MemoryBackendTest.php | 106 + .../Tests/Core/Form/ConfirmFormHelperTest.php | 8 +- .../FormAjaxSubscriberTest.php | 41 +- .../Tests/Core/Form/FormBuilderTest.php | 61 +- .../Drupal/Tests/Core/Form/FormCacheTest.php | 14 +- .../Tests/Core/Form/FormErrorHandlerTest.php | 28 +- .../Core/Form/FormStateDecoratorBaseTest.php | 114 +- .../Drupal/Tests/Core/Form/FormStateTest.php | 12 +- .../Tests/Core/Form/FormSubmitterTest.php | 17 +- .../Drupal/Tests/Core/Form/FormTestBase.php | 18 +- .../Tests/Core/Form/FormValidatorTest.php | 47 +- .../Tests/Core/Form/SubformStateTest.php | 4 + .../Core/Http/CacheableExceptionTest.php | 80 + .../Tests/Core/Http/ClientFactoryTest.php | 3 + .../Drupal/Tests/Core/Http/InputBagTest.php | 41 + .../Core/Http/RequestStackLegacyTest.php | 26 + .../Drupal/Tests/Core/Image/ImageTest.php | 36 +- .../Tests/Core/Language/LanguageUnitTest.php | 2 +- .../Tests/Core/Layout/LayoutDefaultTest.php | 1 + .../Core/Layout/LayoutPluginManagerTest.php | 2 + .../Core/Lock/LockBackendAbstractTest.php | 11 +- .../Core/Logger/LogMessageParserTest.php | 13 +- .../Tests/Core/Logger/LoggerChannelTest.php | 49 +- .../Tests/Core/Mail/MailFormatHelperTest.php | 2 +- .../Tests/Core/Mail/MailManagerTest.php | 4 +- .../Core/Mail/Plugin/Mail/PhpMailTest.php | 117 + .../Core/Menu/ContextualLinkDefaultTest.php | 9 +- .../Core/Menu/ContextualLinkManagerTest.php | 136 +- .../DefaultMenuLinkTreeManipulatorsTest.php | 63 +- .../Core/Menu/LocalActionDefaultTest.php | 9 +- .../Core/Menu/LocalActionManagerTest.php | 18 +- .../Tests/Core/Menu/LocalTaskDefaultTest.php | 19 +- .../Menu/LocalTaskIntegrationTestBase.php | 10 +- .../Tests/Core/Menu/LocalTaskManagerTest.php | 59 +- .../Tests/Core/Menu/MenuActiveTrailTest.php | 14 +- .../Core/Menu/StaticMenuLinkOverridesTest.php | 63 +- .../Core/PageCache/ChainRequestPolicyTest.php | 13 +- .../PageCache/ChainResponsePolicyTest.php | 9 +- .../CommandLineOrUnsafeMethodTest.php | 9 +- .../Core/PageCache/NoSessionOpenTest.php | 16 +- .../ParamConverterManagerTest.php | 6 +- .../Core/Password/PasswordHashingTest.php | 4 +- .../Tests/Core/Path/PathMatcherTest.php | 2 +- .../PathProcessor/PathProcessorFrontTest.php | 27 +- .../Core/PathProcessor/PathProcessorTest.php | 17 +- .../CategorizingPluginManagerTraitTest.php | 6 +- .../Plugin/Context/ContextDefinitionTest.php | 12 +- .../Tests/Core/Plugin/Context/ContextTest.php | 8 +- ...EntityContextDefinitionIsSatisfiedTest.php | 8 +- .../Tests/Core/Plugin/ContextHandlerTest.php | 36 +- .../Core/Plugin/DefaultPluginManagerTest.php | 11 +- ...tainerDerivativeDiscoveryDecoratorTest.php | 8 +- .../DerivativeDiscoveryDecoratorTest.php | 28 +- .../Plugin/Discovery/HookDiscoveryTest.php | 68 +- .../TestContainerDerivativeDiscovery.php | 4 +- .../TestDerivativeDiscoveryWithObject.php | 3 + .../Discovery/YamlDiscoveryDecoratorTest.php | 5 +- .../Plugin/Discovery/YamlDiscoveryTest.php | 3 + .../Plugin/LazyPluginCollectionTestBase.php | 13 +- .../Drupal/Tests/Core/PrivateKeyTest.php | 4 +- .../Core/ProxyBuilder/ProxyBuilderTest.php | 4 + .../Tests/Core/Queue/QueueExceptionsTest.php | 32 + .../Core/Render/BubbleableMetadataTest.php | 72 +- .../Core/Render/Element/DateElementTest.php | 29 + .../Core/Render/ElementInfoManagerTest.php | 2 +- .../Drupal/Tests/Core/Render/ElementTest.php | 34 +- .../MetadataBubblingUrlGeneratorTest.php | 2 +- .../Core/Render/PlaceholderGeneratorTest.php | 44 + .../Core/Render/RendererBubblingTest.php | 37 +- .../Tests/Core/Render/RendererDebugTest.php | 87 + .../Core/Render/RendererPlaceholdersTest.php | 36 +- .../Core/Render/RendererRecursionTest.php | 8 +- .../Drupal/Tests/Core/Render/RendererTest.php | 96 +- .../Tests/Core/Render/RendererTestBase.php | 34 +- .../Core/Render/TestCacheableDependency.php | 4 + .../RouteProcessorManagerTest.php | 3 + .../Core/Routing/AccessAwareRouterTest.php | 9 +- .../Routing/ContentTypeHeaderMatcherTest.php | 6 +- .../Core/Routing/LazyRouteCollectionTest.php | 12 +- .../Routing/RequestFormatRouteFilterTest.php | 2 +- .../Tests/Core/Routing/RouteBuilderTest.php | 79 +- .../Tests/Core/Routing/RouteCompilerTest.php | 8 +- .../Tests/Core/Routing/RoutePreloaderTest.php | 31 +- .../Drupal/Tests/Core/Routing/RouterTest.php | 8 +- .../Tests/Core/Routing/UrlGeneratorTest.php | 28 +- .../Security/DoTrustedCallbackTraitTest.php | 4 +- .../Core/Security/RequestSanitizerTest.php | 4 +- .../Tests/Core/Serialization/YamlTest.php | 4 +- .../Tests/Core/Session/AccountProxyTest.php | 2 +- .../Tests/Core/Session/MetadataBagTest.php | 36 + .../Session/PermissionsHashGeneratorTest.php | 28 +- .../Core/Session/SessionConfigurationTest.php | 31 +- .../Tests/Core/Session/SessionManagerTest.php | 57 + .../Tests/Core/Session/UserSessionTest.php | 31 +- .../Session/WriteSafeSessionHandlerTest.php | 25 +- .../Drupal/Tests/Core/Site/SettingsTest.php | 86 +- .../NegotiationMiddlewareTest.php | 27 +- .../ReverseProxyMiddlewareTest.php | 19 +- .../TranslatableMarkupTest.php | 4 +- .../TranslationManagerTest.php | 4 +- .../TranslationWrapperTest.php | 2 +- .../Core/TempStore/PrivateTempStoreTest.php | 91 +- .../Core/TempStore/SharedTempStoreTest.php | 202 +- .../Tests/Core/Template/AttributeTest.php | 16 +- .../Tests/Core/Template/TwigExtensionTest.php | 71 +- .../Tests/Core/Template/TwigSandboxTest.php | 12 +- .../Tests/Core/Test/BrowserTestBaseTest.php | 32 +- .../Tests/Core/Test/JUnitConverterTest.php | 10 +- .../Tests/Core/Test/PhpUnitAutoloaderTest.php | 2 +- .../Tests/Core/Test/PhpUnitTestRunnerTest.php | 6 +- .../Tests/Core/Test/TestDiscoveryTest.php | 6 +- .../Tests/Core/Test/TestSetupTraitTest.php | 13 +- .../Core/Test/XdebugRequestTraitTest.php | 56 + .../Core/Theme/AjaxBasePageNegotiatorTest.php | 12 +- .../Theme/ClassyPreprocessUnchangedTest.php | 5 +- .../ClassyTemplatesIdenticalToStableTest.php | 3 + .../Theme/CoreThemesAutoloadedForTests.php | 22 + .../Tests/Core/Theme/RegistryLegacyTest.php | 42 +- .../Drupal/Tests/Core/Theme/RegistryTest.php | 39 +- .../Tests/Core/Theme/ThemeNegotiatorTest.php | 41 +- .../PhpTransliterationTest.php | 4 +- .../RecursiveContextualValidatorTest.php | 15 +- .../Drupal/Tests/Core/UnroutedUrlTest.php | 1 - .../Core/Update/UpdateHookRegistryTest.php | 147 + .../Tests/Core/Update/UpdateRegistryTest.php | 130 +- core/tests/Drupal/Tests/Core/UrlTest.php | 45 +- .../Tests/Core/Utility/LinkGeneratorTest.php | 81 +- .../Core/Utility/PhpRequirementsTest.php | 188 + .../Drupal/Tests/Core/Utility/TokenTest.php | 31 +- core/tests/Drupal/Tests/DocumentElement.php | 118 + core/tests/Drupal/Tests/DrupalTestBrowser.php | 266 + core/tests/Drupal/Tests/EntityViewTrait.php | 10 +- .../Drupal/Tests/ExtensionListTestTrait.php | 42 + .../Listeners/DeprecationListenerTrait.php | 55 +- .../DrupalStandardsListenerTrait.php | 8 +- core/tests/Drupal/Tests/PhpCs/SortTest.php | 99 + .../Tests/PhpUnitCompatibilityTrait.php | 16 +- .../Drupal/Tests/PhpUnitWarningsTest.php | 4 +- .../Drupal/Tests/RequirementsPageTrait.php | 100 +- .../Tests/Scripts/TestSiteApplicationTest.php | 16 +- .../Drupal/Tests/SkippedDeprecationTest.php | 10 + core/tests/Drupal/Tests/StreamCapturer.php | 24 + .../Drupal/Tests/TestFileCreationTrait.php | 5 +- .../Drupal/Tests/TestRequirementsTrait.php | 5 +- .../Config/SchemaConfigListenerTestTrait.php | 4 +- .../Tests/Traits/Core/PathAliasTestTrait.php | 16 +- .../Drupal/Tests/Traits/PhpUnitWarnings.php | 7 + core/tests/Drupal/Tests/UiHelperTrait.php | 64 +- core/tests/Drupal/Tests/UnitTestCase.php | 34 +- core/tests/Drupal/Tests/UnitTestCaseTest.php | 44 + .../Drupal/Tests/UpdatePathTestTrait.php | 29 +- core/tests/Drupal/Tests/WebAssert.php | 180 +- .../tests/Drupal/Tests/XdebugRequestTrait.php | 11 +- core/tests/README.md | 2 +- core/tests/TestSuites/TestSuiteBase.php | 6 +- core/tests/bootstrap.php | 45 +- core/tests/fixtures/AssertHelperTestClass.php | 19 + .../config_install/multilingual.tar.gz | Bin 20480 -> 31262 bytes .../testing_config_install.tar.gz | Bin 20480 -> 10914 bytes .../custom/fake/Connection.php | 3 +- .../ExceptionHandler.php | 12 + .../PagerSelectExtender.php | 12 + .../SearchQuery.php | 12 + .../TableSortExtender.php | 12 + .../ViewsSearchQuery.php | 12 + core/tests/fixtures/deprecated_code.php | 17 + core/tests/fixtures/empty_file.php.module | 2 +- core/tests/fixtures/files/img-test.webp | Bin 0 -> 114 bytes core/tests/fixtures/files/php-1.txt | 2 +- core/tests/fixtures/files/php-2.php | 2 +- .../translations/drupal-8.0.0.fr____CA.po | 4 + .../files/translations/drupal-8.0.x.fr-CA.po | 0 .../fixtures/test_stable/test_stable.info.yml | 3 +- core/themes/bartik/bartik.info.yml | 4 + core/themes/bartik/bartik.libraries.yml | 5 + core/themes/bartik/color/color.inc | 1 + core/themes/bartik/color/preview.es6.js | 30 +- core/themes/bartik/color/preview.js | 21 +- core/themes/bartik/css/colors.css | 2 +- core/themes/bartik/css/components/form.css | 4 + core/themes/bartik/css/components/tour.css | 10 + core/themes/bartik/css/components/views.css | 54 + core/themes/bartik/css/print.css | 1 - core/themes/bartik/css/theme/filter.admin.css | 1 - core/themes/bartik/favicon.ico | Bin 0 -> 5430 bytes .../js/classy/media_embed_ckeditor.theme.js | 1 - .../block--search-form-block.html.twig | 1 + .../block--system-menu-block.html.twig | 1 + core/themes/bartik/templates/block.html.twig | 1 + .../field/field--node--created.html.twig | 10 + .../classy/field/field--node--title.html.twig | 10 + .../classy/field/field--node--uid.html.twig | 10 + .../templates/classy/form/fieldset.html.twig | 10 +- .../navigation/menu-local-tasks.html.twig | 2 +- .../themes/bartik/templates/comment.html.twig | 58 +- .../tests/src/Functional}/BartikTest.php | 3 +- core/themes/claro/claro.info.yml | 32 +- core/themes/claro/claro.libraries.yml | 36 +- core/themes/claro/claro.theme | 48 +- .../block.block.claro_breadcrumbs.yml | 2 +- .../optional/block.block.claro_content.yml | 2 +- .../optional/block.block.claro_help.yml | 2 +- .../block.block.claro_local_actions.yml | 2 +- .../optional/block.block.claro_messages.yml | 2 +- .../optional/block.block.claro_page_title.yml | 2 +- .../block.block.claro_primary_local_tasks.yml | 2 +- ...lock.block.claro_secondary_local_tasks.yml | 2 +- core/themes/claro/css/base/elements.css | 43 +- core/themes/claro/css/base/elements.pcss.css | 25 +- .../claro/css/base/off-canvas.theme.css | 6 +- .../claro/css/base/off-canvas.theme.pcss.css | 6 +- core/themes/claro/css/base/print.css | 14 +- core/themes/claro/css/base/print.pcss.css | 6 +- core/themes/claro/css/base/typography.css | 8 - .../themes/claro/css/base/typography.pcss.css | 8 - core/themes/claro/css/base/variables.css | 51 +- core/themes/claro/css/base/variables.pcss.css | 114 +- .../claro/css/classy/components/indented.css | 1 - .../themes/claro/css/components/accordion.css | 4 +- .../claro/css/components/accordion.pcss.css | 36 +- .../claro/css/components/action-link.css | 140 +- .../claro/css/components/action-link.pcss.css | 92 +- .../css/components/ajax-progress.module.css | 6 +- .../autocomplete-loading.module.css | 9 +- .../autocomplete-loading.module.pcss.css | 7 +- .../claro/css/components/breadcrumb.css | 25 +- .../claro/css/components/breadcrumb.pcss.css | 18 +- core/themes/claro/css/components/button.css | 31 +- .../themes/claro/css/components/card.pcss.css | 2 +- .../css/components/content-header.pcss.css | 2 +- core/themes/claro/css/components/details.css | 55 +- .../claro/css/components/details.pcss.css | 28 +- core/themes/claro/css/components/dialog.css | 22 +- .../claro/css/components/dialog.pcss.css | 15 +- .../claro/css/components/dropbutton.css | 75 +- .../claro/css/components/dropbutton.pcss.css | 29 +- .../claro/css/components/entity-meta.css | 2 +- core/themes/claro/css/components/fieldset.css | 14 +- .../claro/css/components/fieldset.pcss.css | 2 +- core/themes/claro/css/components/file.css | 2 +- .../themes/claro/css/components/file.pcss.css | 2 +- .../components/form--checkbox-radio--ie.css | 66 +- .../form--checkbox-radio--ie.pcss.css | 6 +- .../css/components/form--checkbox-radio.css | 65 +- .../components/form--checkbox-radio.pcss.css | 12 +- .../css/components/form--password-confirm.css | 34 +- .../form--password-confirm.pcss.css | 18 +- .../claro/css/components/form--select.css | 43 +- .../css/components/form--select.pcss.css | 33 +- .../claro/css/components/form--text.css | 28 +- .../claro/css/components/form--text.pcss.css | 4 + core/themes/claro/css/components/form.css | 28 +- .../themes/claro/css/components/form.pcss.css | 3 +- core/themes/claro/css/components/help.css | 2 +- .../themes/claro/css/components/icon-link.css | 8 +- .../claro/css/components/icon-link.pcss.css | 4 +- .../claro/css/components/image-preview.css | 10 +- .../css/components/image-preview.pcss.css | 2 +- .../claro/css/components/jquery.ui/theme.css | 39 +- .../css/components/jquery.ui/theme.pcss.css | 7 +- core/themes/claro/css/components/messages.css | 5 +- .../claro/css/components/messages.pcss.css | 1 + core/themes/claro/css/components/pager.css | 48 +- .../claro/css/components/pager.pcss.css | 33 +- core/themes/claro/css/components/progress.css | 16 +- .../claro/css/components/progress.pcss.css | 6 + .../themes/claro/css/components/quickedit.css | 6 +- core/themes/claro/css/components/shortcut.css | 2 +- .../claro/css/components/shortcut.pcss.css | 3 +- .../themes/claro/css/components/skip-link.css | 12 +- .../claro/css/components/skip-link.pcss.css | 11 +- .../components/system-admin--admin-list.css | 21 +- .../system-admin--admin-list.pcss.css | 19 +- .../css/components/system-admin--modules.css | 21 +- .../components/system-admin--modules.pcss.css | 12 +- .../css/components/system-admin--panel.css | 2 +- .../components/system-admin--panel.pcss.css | 4 +- .../system-admin--status-report.css | 18 +- .../system-admin--status-report.pcss.css | 4 +- .../css/components/system-status-counter.css | 43 +- .../components/system-status-counter.pcss.css | 21 +- .../system-status-report-counters.css | 4 +- .../system-status-report-general-info.css | 65 +- ...system-status-report-general-info.pcss.css | 26 + .../css/components/system-status-report.css | 48 +- .../components/system-status-report.pcss.css | 25 +- .../table--file-multiple-widget.css | 2 +- .../table--file-multiple-widget.pcss.css | 4 +- .../themes/claro/css/components/tabledrag.css | 30 +- .../claro/css/components/tabledrag.pcss.css | 19 +- core/themes/claro/css/components/tables.css | 58 +- .../claro/css/components/tables.pcss.css | 34 +- .../claro/css/components/tableselect.css | 2 +- .../css/components/tablesort-indicator.css | 54 +- .../components/tablesort-indicator.pcss.css | 33 +- core/themes/claro/css/components/tabs.css | 54 +- .../themes/claro/css/components/tabs.pcss.css | 20 +- .../claro/css/components/toolbar.module.css | 3 + .../claro/css/components/tour.theme.css | 127 - .../claro/css/components/tour.theme.pcss.css | 103 - .../claro/css/components/vertical-tabs.css | 97 +- .../css/components/vertical-tabs.pcss.css | 67 +- .../css/components/views-exposed-form.css | 9 +- .../components/views-exposed-form.pcss.css | 9 +- core/themes/claro/css/components/views-ui.css | 89 +- .../claro/css/components/views-ui.pcss.css | 29 +- .../claro/css/components/views_ui.admin.css | 2 +- core/themes/claro/css/layout/layout.css | 2 +- core/themes/claro/css/layout/node-add.css | 17 +- .../themes/claro/css/layout/node-add.pcss.css | 17 +- core/themes/claro/css/state/toolbar.menu.css | 2 +- .../claro/css/theme/ckeditor-dialog.css | 28 +- .../claro/css/theme/ckeditor-editor.css | 9 +- .../themes/claro/css/theme/ckeditor.admin.css | 23 + .../claro/css/theme/ckeditor.admin.pcss.css | 17 + .../themes/claro/css/theme/field-ui.admin.css | 4 +- .../claro/css/theme/field-ui.admin.pcss.css | 2 +- core/themes/claro/css/theme/filter.theme.css | 4 +- core/themes/claro/css/theme/install-page.css | 23 +- .../claro/css/theme/install-page.pcss.css | 19 +- .../claro/css/theme/maintenance-page.css | 165 +- .../claro/css/theme/maintenance-page.pcss.css | 154 +- core/themes/claro/css/theme/media-library.css | 179 +- .../claro/css/theme/media-library.pcss.css | 8 +- .../claro/css/theme/toolbar.icons.theme.css | 12 +- core/themes/claro/css/theme/toolbar.theme.css | 3 +- .../claro/css/theme/toolbar.theme.pcss.css | 3 +- core/themes/claro/css/theme/tour.theme.css | 100 + .../claro/css/theme/tour.theme.pcss.css | 90 + .../claro/css/theme/views_ui.admin.theme.css | 127 +- .../css/theme/views_ui.admin.theme.pcss.css | 59 +- .../icons/{222330 => 000f33}/chevron-down.svg | 2 +- .../icons/{004adc => 000f33}/circle.svg | 2 +- .../sort--inactive--ltr.svg | 2 +- .../sort--inactive--rtl.svg | 2 +- .../{222330 => 000f33}/tabledrag-handle.svg | 2 +- .../icons/{00309e => 002e9a}/checkmark.svg | 2 +- .../images/icons/{00309e => 002e9a}/cog.svg | 2 +- .../images/icons/{00309e => 002e9a}/ex.svg | 2 +- .../images/icons/{00309e => 002e9a}/hide.svg | 2 +- .../images/icons/{00309e => 002e9a}/key.svg | 2 +- .../images/icons/{00309e => 002e9a}/plus.svg | 2 +- .../icons/{00309e => 002e9a}/questionmark.svg | 2 +- .../images/icons/{00309e => 002e9a}/show.svg | 2 +- .../images/icons/{00309e => 002e9a}/trash.svg | 2 +- .../icons/{004adc => 003ecc}/arrow-left.svg | 2 +- .../icons/{004adc => 003ecc}/arrow-right.svg | 2 +- .../icons/{004adc => 003ecc}/chevron-down.svg | 2 +- .../icons/{222330 => 003ecc}/circle.svg | 2 +- .../icons/{004adc => 003ecc}/sort--asc.svg | 2 +- .../icons/{004adc => 003ecc}/sort--desc.svg | 2 +- .../claro/images/icons/003ecc/spinner-rtl.svg | 1 + .../claro/images/icons/003ecc/spinner.svg | 1 + .../claro/images/icons/004adc/spinner-rtl.svg | 1 - .../claro/images/icons/004adc/spinner.svg | 1 - .../currentColor/arrow-breadcrumb-rtl.svg | 1 - .../claro/images/src/hamburger-menu.svg | 2 +- core/themes/claro/images/src/sort--asc.svg | 2 +- core/themes/claro/images/src/sort--desc.svg | 2 +- core/themes/claro/js/ajax.js | 3 - core/themes/claro/js/autocomplete.es6.js | 13 +- core/themes/claro/js/autocomplete.js | 10 +- core/themes/claro/js/checkbox.js | 1 - .../js/classy/media_embed_ckeditor.theme.js | 1 - core/themes/claro/js/details.es6.js | 21 +- core/themes/claro/js/details.js | 9 +- core/themes/claro/js/dropbutton.js | 1 - core/themes/claro/js/media-library.ui.es6.js | 12 +- core/themes/claro/js/media-library.ui.js | 11 +- core/themes/claro/js/messages.js | 3 +- core/themes/claro/js/mobile.install.js | 6 - core/themes/claro/js/nav-tabs.es6.js | 14 +- core/themes/claro/js/nav-tabs.js | 16 +- .../themes/claro/js/responsive-details.es6.js | 5 +- core/themes/claro/js/responsive-details.js | 11 +- core/themes/claro/js/tabledrag.es6.js | 1903 +- core/themes/claro/js/tabledrag.js | 1015 +- core/themes/claro/js/user.theme.js | 4 - core/themes/claro/js/vertical-tabs.es6.js | 412 +- core/themes/claro/js/vertical-tabs.js | 171 +- core/themes/claro/src/ClaroPreRender.php | 7 +- .../admin/admin-block-content.html.twig | 2 + .../templates/admin/update-version.html.twig | 5 - .../views-ui-views-listing-table.html.twig | 50 - .../block/block--search-form-block.html.twig | 1 + .../block/block--system-menu-block.html.twig | 1 + .../templates/classy/block/block.html.twig | 1 + .../classy/content/comment.html.twig | 56 +- .../templates/classy/content/node.html.twig | 3 - .../field/field--node--created.html.twig | 10 + .../classy/field/field--node--title.html.twig | 10 + .../classy/field/field--node--uid.html.twig | 10 + .../themes/claro/templates/fieldset.html.twig | 24 +- .../claro/templates/install-page.html.twig | 6 +- .../templates/maintenance-page.html.twig | 8 +- .../templates/menu-local-tasks.html.twig | 4 +- .../navigation/menu-local-task.html.twig | 10 +- .../templates/navigation/toolbar.html.twig | 2 +- core/themes/classy/classy.info.yml | 2 + core/themes/classy/classy.theme | 2 + .../themes/classy/css/components/indented.css | 1 - .../classy/js/media_embed_ckeditor.theme.js | 1 - .../block/block--search-form-block.html.twig | 1 + .../block/block--system-menu-block.html.twig | 1 + .../classy/templates/block/block.html.twig | 1 + .../templates/content/comment.html.twig | 56 +- .../classy/templates/content/node.html.twig | 3 - .../field/field--node--created.html.twig | 10 + .../field/field--node--title.html.twig | 10 + .../field/field--node--uid.html.twig | 10 + .../classy/templates/form/fieldset.html.twig | 10 +- .../navigation/menu-local-tasks.html.twig | 2 +- .../tests/src/Functional}/ClassyTest.php | 3 +- .../classy/tests/src/Kernel}/ClassyTest.php | 7 +- core/themes/engines/twig/twig.engine | 10 - core/themes/olivero/README.md | 46 + .../config/install/olivero.settings.yml | 12 +- .../block.block.olivero_account_menu.yml | 24 + ...> block.block.olivero_book_navigation.yml} | 4 +- .../block.block.olivero_breadcrumbs.yml} | 8 +- .../optional/block.block.olivero_content.yml} | 8 +- .../optional/block.block.olivero_help.yml | 4 +- .../block.block.olivero_main_menu.yml | 24 + .../block.block.olivero_messages.yml} | 10 +- .../block.block.olivero_page_title.yml} | 12 +- .../optional/block.block.olivero_powered.yml | 19 + ...k.block.olivero_primary_admin_actions.yml} | 4 +- ...ock.block.olivero_primary_local_tasks.yml} | 12 +- ...block.block.olivero_search_form_narrow.yml | 2 +- .../block.block.olivero_search_form_wide.yml | 2 +- ...k.block.olivero_secondary_local_tasks.yml} | 12 +- .../block.block.olivero_site_branding.yml | 22 + .../block.block.olivero_syndicate.yml | 5 +- core/themes/olivero/css/base/base.css | 143 +- core/themes/olivero/css/base/base.pcss.css | 77 +- core/themes/olivero/css/base/fonts.css | 12 +- core/themes/olivero/css/base/fonts.pcss.css | 12 +- core/themes/olivero/css/base/utility.css | 40 +- core/themes/olivero/css/base/variables.css | 52 +- .../olivero/css/base/variables.pcss.css | 26 +- .../olivero/css/components/action-links.css | 26 +- .../css/components/ajax-progress.module.css | 38 +- .../autocomplete-loading.module.css | 140 +- .../autocomplete-loading.module.pcss.css | 124 +- core/themes/olivero/css/components/block.css | 6 +- core/themes/olivero/css/components/book.css | 201 +- .../olivero/css/components/book.pcss.css | 45 +- .../olivero/css/components/breadcrumb.css | 181 +- .../css/components/breadcrumb.pcss.css | 10 +- core/themes/olivero/css/components/button.css | 203 +- .../olivero/css/components/button.pcss.css | 46 +- .../olivero/css/components/cke-dialog.css | 257 +- .../css/components/cke-dialog.pcss.css | 159 +- .../olivero/css/components/comments.css | 420 +- .../olivero/css/components/comments.pcss.css | 85 +- .../css/components/content-moderation.css | 185 +- .../themes/olivero/css/components/details.css | 115 +- .../olivero/css/components/details.pcss.css | 9 +- .../olivero/css/components/dropbutton.css | 237 +- .../css/components/dropbutton.pcss.css | 198 +- .../olivero/css/components/embedded-media.css | 226 +- core/themes/olivero/css/components/feed.css | 24 +- .../olivero/css/components/field-image.css | 152 - .../css/components/field-image.pcss.css | 62 - core/themes/olivero/css/components/field.css | 36 +- .../olivero/css/components/fieldset.css | 104 +- .../olivero/css/components/fieldset.pcss.css | 32 +- core/themes/olivero/css/components/footer.css | 37 +- .../olivero/css/components/footer.pcss.css | 5 +- .../olivero/css/components/form-boolean.css | 171 +- .../css/components/form-boolean.pcss.css | 91 +- .../olivero/css/components/form-select.css | 269 +- .../css/components/form-select.pcss.css | 183 +- .../olivero/css/components/form-text.css | 373 +- .../olivero/css/components/form-text.pcss.css | 111 +- .../olivero/css/components/form-textarea.css | 3 +- .../css/components/form-textarea.pcss.css | 1 + core/themes/olivero/css/components/form.css | 102 +- .../olivero/css/components/form.pcss.css | 25 +- core/themes/olivero/css/components/forum.css | 4 +- .../css/components/header-buttons-mobile.css | 32 +- .../css/components/header-navigation.css | 255 +- .../css/components/header-navigation.pcss.css | 59 +- .../css/components/header-search-narrow.css | 391 +- .../components/header-search-narrow.pcss.css | 27 +- .../css/components/header-search-wide.css | 516 +- .../components/header-search-wide.pcss.css | 74 +- .../css/components/header-site-branding.css | 194 +- .../components/header-site-branding.pcss.css | 8 +- .../css/components/header-sticky-toggle.css | 145 + .../components/header-sticky-toggle.pcss.css | 115 + core/themes/olivero/css/components/header.css | 124 - core/themes/olivero/css/components/hero.css | 54 +- core/themes/olivero/css/components/links.css | 34 +- .../css/components/maintenance-page.css | 29 + .../css/components/maintenance-page.pcss.css | 23 + .../olivero/css/components/messages.css | 125 +- .../olivero/css/components/messages.pcss.css | 21 +- .../components/navigation/menu-sidebar.css | 84 + .../menu-sidebar.pcss.css} | 8 +- .../navigation/nav-button-mobile.css | 137 +- .../navigation/nav-button-mobile.pcss.css | 35 +- .../components/navigation/nav-button-wide.css | 138 - .../navigation/nav-primary-button.css | 216 +- .../navigation/nav-primary-button.pcss.css | 17 +- .../navigation/nav-primary-no-js.css | 268 +- .../navigation/nav-primary-no-js.pcss.css | 6 +- .../navigation/nav-primary-wide.css | 558 +- .../navigation/nav-primary-wide.pcss.css | 144 +- .../css/components/navigation/nav-primary.css | 204 +- .../navigation/nav-primary.pcss.css | 28 +- .../components/navigation/nav-secondary.css | 249 +- .../navigation/nav-secondary.pcss.css | 140 +- .../components/navigation/wide-nav-expand.css | 139 + ...wide.pcss.css => wide-nav-expand.pcss.css} | 27 +- .../css/components/node-preview-container.css | 14 +- .../olivero/css/components/node-teaser.css | 238 +- .../css/components/node-teaser.pcss.css | 21 +- core/themes/olivero/css/components/node.css | 90 +- .../olivero/css/components/node.pcss.css | 27 +- .../olivero/css/components/off-canvas.css | 116 +- core/themes/olivero/css/components/pager.css | 37 +- .../olivero/css/components/pager.pcss.css | 18 +- .../css/components/powered-by-block.css | 44 +- .../olivero/css/components/progress.css | 14 +- .../olivero/css/components/progress.pcss.css | 4 + .../olivero/css/components/search-results.css | 133 +- .../css/components/search-results.pcss.css | 11 - .../themes/olivero/css/components/sidebar.css | 82 - .../olivero/css/components/site-header.css | 125 + .../{header.pcss.css => site-header.pcss.css} | 35 +- .../olivero/css/components/skip-link.css | 37 +- .../olivero/css/components/skip-link.pcss.css | 14 +- core/themes/olivero/css/components/table.css | 284 +- .../olivero/css/components/table.pcss.css | 16 +- .../olivero/css/components/tabledrag.css | 65 +- .../olivero/css/components/tabledrag.pcss.css | 40 +- core/themes/olivero/css/components/tabs.css | 211 +- .../olivero/css/components/tabs.pcss.css | 5 +- core/themes/olivero/css/components/tags.css | 67 +- .../olivero/css/components/tags.pcss.css | 6 +- .../olivero/css/components/text-content.css | 347 +- .../css/components/text-content.pcss.css | 62 +- .../olivero/css/components/ui-dialog.css | 16 + .../olivero/css/components/ui-dialog.pcss.css | 11 + .../olivero/css/components/vertical-tabs.css | 99 +- .../css/components/vertical-tabs.pcss.css | 1 + .../olivero/css/components/wide-image.css | 146 + .../css/components/wide-image.pcss.css | 60 + core/themes/olivero/css/layout/grid.css | 62 +- core/themes/olivero/css/layout/grid.pcss.css | 4 + .../layout/layout-builder-fourcol-section.css | 108 +- .../layout-builder-threecol-section.css | 98 +- .../layout-builder-threecol-section.pcss.css | 2 +- .../layout/layout-builder-twocol-section.css | 162 +- .../css/layout/layout-content-medium.css | 50 +- .../css/layout/layout-content-narrow.css | 410 +- .../css/layout/layout-content-narrow.pcss.css | 20 +- .../layout-discovery-section-layout.css | 18 +- .../olivero/css/layout/layout-footer.css | 62 +- .../olivero/css/layout/layout-footer.pcss.css | 9 + .../olivero/css/layout/layout-sidebar.css | 142 +- .../css/layout/layout-sidebar.pcss.css | 57 +- .../layout/layout-views-grid-horizontal.css | 580 +- .../css/layout/layout-views-grid-vertical.css | 156 +- core/themes/olivero/css/layout/layout.css | 62 +- .../themes/olivero/css/layout/layout.pcss.css | 9 + .../css/layout/region-content-below.css | 86 +- .../css/layout/region-content-below.pcss.css | 2 +- .../olivero/css/layout/region-content.css | 18 +- .../themes/olivero/css/layout/region-hero.css | 4 +- .../css/layout/region-secondary-menu.css | 33 + .../css/layout/region-secondary-menu.pcss.css | 30 + core/themes/olivero/css/layout/region.css | 18 +- core/themes/olivero/css/layout/social-bar.css | 189 +- .../olivero/css/layout/social-bar.pcss.css | 2 +- core/themes/olivero/css/layout/views.css | 16 +- .../olivero/css/theme/ckeditor-frame.css | 12 +- .../olivero/css/theme/ckeditor-frame.pcss.css | 4 + .../themes/olivero/css/theme/filter.theme.css | 30 +- core/themes/olivero/images/chevron-down.svg | 4 +- core/themes/olivero/images/search.svg | 2 +- .../images/select-chevron-bg-default.svg | 3 - .../images/select-chevron-bg-error.svg | 3 - .../images/select-chevron-bg-highlight.svg | 3 - .../images/site-under-maintenance-icon.svg | 1 + core/themes/olivero/js/checkbox.es6.js | 2 +- core/themes/olivero/js/checkbox.js | 1 - core/themes/olivero/js/comments.es6.js | 82 +- core/themes/olivero/js/comments.js | 51 +- core/themes/olivero/js/message.theme.es6.js | 81 + core/themes/olivero/js/message.theme.js | 40 + core/themes/olivero/js/messages.es6.js | 101 +- core/themes/olivero/js/messages.js | 51 +- core/themes/olivero/js/nav-resize.es6.js | 88 + core/themes/olivero/js/nav-resize.js | 37 + .../themes/olivero/js/navigation-utils.es6.js | 222 + core/themes/olivero/js/navigation-utils.js | 110 + core/themes/olivero/js/navigation.es6.js | 108 +- core/themes/olivero/js/navigation.js | 70 +- core/themes/olivero/js/polyfills.es6.js | 29 - core/themes/olivero/js/scripts.es6.js | 130 - core/themes/olivero/js/scripts.js | 103 - core/themes/olivero/js/search.es6.js | 142 +- core/themes/olivero/js/search.js | 70 +- .../olivero/js/second-level-navigation.es6.js | 160 +- .../olivero/js/second-level-navigation.js | 84 +- core/themes/olivero/js/tabs.es6.js | 43 +- core/themes/olivero/js/tabs.js | 16 +- core/themes/olivero/olivero.info.yml | 21 +- core/themes/olivero/olivero.libraries.yml | 224 +- core/themes/olivero/olivero.theme | 132 +- .../block/block--page-title-block.html.twig | 1 + ...nu--plugin-id--search-form-block.html.twig | 4 +- ...nu--plugin-id--search-form-block.html.twig | 17 +- .../block/block--secondary-menu.html.twig | 5 +- .../block--system-branding-block.html.twig | 8 +- .../block/block--system-menu-block.html.twig | 5 +- .../block--system-powered-by-block.html.twig | 2 +- .../olivero/templates/block/block.html.twig | 1 + .../templates/content/comment.html.twig | 18 +- .../content/node--article--full.html.twig | 11 - .../olivero/templates/content/node.html.twig | 6 +- .../field/field--comment-body.html.twig | 70 + .../templates/field/field--comment.html.twig | 15 +- .../field/field--node--field-image.html.twig | 26 + .../field/field--text-long.html.twig | 1 + .../field/field--text-with-summary.html.twig | 1 + .../templates/field/field--text.html.twig | 20 + .../form--search-block-form.html.twig | 8 +- .../olivero/templates/form/fieldset.html.twig | 10 +- .../templates/includes/get-started.html.twig | 6 +- .../olivero/templates/includes/preload.twig | 7 +- .../olivero/templates/layout/page.html.twig | 47 +- .../layout/region--content-below.html.twig | 4 +- .../layout/region--content.html.twig | 2 +- .../templates/layout/region--header.html.twig | 1 + .../layout/region--secondary-menu.html.twig | 13 +- .../templates/layout/region--social.html.twig | 4 +- .../templates/maintenance-page.html.twig | 70 +- .../templates/misc/status-messages.html.twig | 87 +- .../navigation/book-navigation.html.twig | 3 +- .../templates/navigation/book-tree.html.twig | 13 +- .../navigation/links--comment.html.twig | 60 + .../templates/navigation/links.html.twig | 4 +- .../navigation/menu--primary-menu.html.twig | 65 +- .../navigation/menu--secondary-menu.html.twig | 78 + .../navigation/menu-local-tasks.html.twig | 6 +- .../templates/navigation/toolbar.html.twig | 51 - .../views/views-mini-pager.html.twig | 2 +- .../block.block.seven_help_search.yml | 12 +- core/themes/seven/css/base/elements.css | 3 - core/themes/seven/css/base/print.css | 6 +- .../seven/css/classy/components/indented.css | 1 - core/themes/seven/css/components/form.css | 5 +- .../seven/css/components/jquery.ui/theme.css | 3 - core/themes/seven/css/components/tables.css | 9 + .../seven/css/components/tour.theme.css | 94 +- core/themes/seven/css/components/views-ui.css | 3 + .../themes/seven/css/theme/ckeditor-admin.css | 15 + core/themes/seven/css/theme/filter.admin.css | 1 - .../js/classy/media_embed_ckeditor.theme.js | 1 - core/themes/seven/js/mobile.install.js | 6 - core/themes/seven/js/nav-tabs.es6.js | 11 +- core/themes/seven/js/nav-tabs.js | 20 +- .../themes/seven/js/responsive-details.es6.js | 5 +- core/themes/seven/js/responsive-details.js | 11 +- core/themes/seven/seven.info.yml | 20 +- core/themes/seven/seven.libraries.yml | 10 +- core/themes/seven/seven.theme | 13 +- .../templates/admin-block-content.html.twig | 4 +- .../block/block--search-form-block.html.twig | 1 + .../block/block--system-menu-block.html.twig | 1 + .../templates/classy/block/block.html.twig | 1 + .../classy/content/comment.html.twig | 56 +- .../templates/classy/content/node.html.twig | 3 - .../field/field--node--created.html.twig | 10 + .../classy/field/field--node--title.html.twig | 10 + .../classy/field/field--node--uid.html.twig | 10 + .../templates/classy/form/fieldset.html.twig | 10 +- .../templates/menu-local-tasks.html.twig | 2 +- .../Functional}/SevenLayoutBuilderTest.php | 4 +- .../css/core/dialog/off-canvas.base.css | 217 +- .../css/core/dialog/off-canvas.base.pcss.css | 346 + .../css/core/dialog/off-canvas.reset.css | 505 +- .../css/core/dialog/off-canvas.reset.pcss.css | 478 + .../stable/css/core/dropbutton/dropbutton.css | 1 - core/themes/stable/css/core/print.css | 1 - .../themes/stable/css/filter/filter.admin.css | 1 - core/themes/stable/css/image/image.admin.css | 1 - .../editors/formattedText.ckeditor.css | 18 + .../editors/formattedText.ckeditor5.css | 18 + .../formattedText/ckeditor5.workaround.css | 9 + .../stable/css/quickedit}/editors/image.css | 2 +- .../editors/image.theme.css | 2 +- .../themes/stable/css/system/system.admin.css | 9 + .../stable/css/taxonomy/taxonomy.theme.css | 1 - .../stable/css/toolbar/toolbar.theme.css | 3 +- core/themes/stable/css/tour/tour.module.css | 30 + .../css/views_ui/views_ui.admin.theme.css | 19 +- core/themes/stable/js/ajax.js | 1 - core/themes/stable/js/tour.es6.js | 169 + core/themes/stable/js/tour.js | 96 + core/themes/stable/js/user.theme.js | 2 - .../layout--fourcol-section.html.twig | 1 + .../layout--threecol-section.html.twig | 1 + .../layout--twocol-section.html.twig | 1 + core/themes/stable/stable.info.yml | 26 +- core/themes/stable/stable.libraries.yml | 5 + .../admin/admin-block-content.html.twig | 10 +- .../admin/simpletest-result-summary.html.twig | 20 - ...y-advisories-fetch-error-message.html.twig | 16 + .../block/block--system-menu-block.html.twig | 1 + .../stable/templates/block/block.html.twig | 1 + .../templates/content/comment.html.twig | 56 +- .../stable/templates/content/node.html.twig | 3 - .../field/entity-page-title.html.twig | 22 + .../field/field--node--created.html.twig | 10 + .../field/field--node--title.html.twig | 10 + .../field/field--node--uid.html.twig | 10 + .../stable/templates/form/fieldset.html.twig | 10 +- .../templates/layout/layout--onecol.html.twig | 1 + .../layout--threecol-25-50-25.html.twig | 1 + .../layout--threecol-33-34-33.html.twig | 1 + .../layout/layout--twocol-bricks.html.twig | 1 + .../templates/layout/layout--twocol.html.twig | 1 + .../navigation/menu-local-tasks.html.twig | 2 +- .../templates/navigation/toolbar.html.twig | 2 +- .../css/core/dialog/off-canvas.base.css | 217 +- .../css/core/dialog/off-canvas.base.pcss.css | 346 + .../css/core/dialog/off-canvas.reset.css | 496 +- .../css/core/dialog/off-canvas.reset.pcss.css | 478 + .../css/core/dropbutton/dropbutton.css | 1 - core/themes/stable9/css/core/print.css | 1 - core/themes/stable9/css/image/image.admin.css | 1 - .../editors/formattedText.ckeditor.css | 18 + .../editors/formattedText.ckeditor5.css | 18 + .../formattedText/ckeditor5.workaround.css | 9 + .../{image => quickedit}/editors/image.css | 2 +- .../editors/image.theme.css | 6 +- .../stable9/css/system/system.admin.css | 9 + .../stable9/css/taxonomy/taxonomy.theme.css | 1 - .../stable9/css/toolbar/toolbar.theme.css | 3 +- core/themes/stable9/css/tour/tour.module.css | 30 + .../css/views_ui/views_ui.admin.theme.css | 19 +- core/themes/stable9/js/tour.es6.js | 169 + core/themes/stable9/js/tour.js | 96 + core/themes/stable9/js/user.theme.js | 2 - .../layout--fourcol-section.html.twig | 1 + .../layout--threecol-section.html.twig | 1 + .../layout--twocol-section.html.twig | 1 + .../onecol/layout--onecol.html.twig | 1 + .../layout--threecol-25-50-25.html.twig | 1 + .../layout--threecol-33-34-33.html.twig | 1 + .../twocol/layout--twocol.html.twig | 1 + .../layout--twocol-bricks.html.twig | 1 + core/themes/stable9/stable9.info.yml | 28 +- core/themes/stable9/stable9.libraries.yml | 5 + .../admin/admin-block-content.html.twig | 10 +- ...y-advisories-fetch-error-message.html.twig | 16 + .../block/block--system-menu-block.html.twig | 1 + .../stable9/templates/block/block.html.twig | 1 + .../templates/content/comment.html.twig | 2 +- .../stable9/templates/content/node.html.twig | 3 - .../field/entity-page-title.html.twig | 22 + .../field/field--node--created.html.twig | 10 + .../field/field--node--title.html.twig | 10 + .../field/field--node--uid.html.twig | 10 + .../stable9/templates/form/fieldset.html.twig | 10 +- .../navigation/menu-local-tasks.html.twig | 2 +- .../templates/navigation/toolbar.html.twig | 2 +- core/themes/stark/stark.breakpoints.yml | 2 +- core/themes/stark/stark.info.yml | 1 + core/themes/starterkit_theme/README.md | 11 + .../css/components/action-links.css | 43 + .../css/components/breadcrumb.css | 29 + .../css/components/button.css | 15 + .../css/components/collapse-processed.css | 32 + .../css/components/container-inline.css | 22 + .../css/components/details.css | 23 + .../css/components/dialog.css | 72 + .../css/components/dropbutton.css | 33 + .../css/components/exposed-filters.css | 46 + .../starterkit_theme/css/components/field.css | 25 + .../starterkit_theme/css/components/file.css | 62 + .../starterkit_theme/css/components/form.css | 104 + .../starterkit_theme/css/components/icons.css | 21 + .../css/components/image-widget.css | 33 + .../css/components/indented.css | 15 + .../css/components/inline-form.css | 33 + .../css/components/item-list.css | 32 + .../starterkit_theme/css/components/link.css | 16 + .../starterkit_theme/css/components/links.css | 23 + .../starterkit_theme/css/components/menu.css | 34 + .../css/components/messages.css | 72 + .../css/components/more-link.css | 12 + .../starterkit_theme/css/components/node.css | 8 + .../starterkit_theme/css/components/pager.css | 16 + .../css/components/progress.css | 69 + .../css/components/search-results.css | 8 + .../css/components/tabledrag.css | 14 + .../css/components/tableselect.css | 19 + .../css/components/tablesort.css | 11 + .../starterkit_theme/css/components/tabs.css | 33 + .../css/components/textarea.css | 11 + .../css/components/ui-dialog.css | 15 + .../starterkit_theme/css/components/user.css | 67 + .../images/icons/application-octet-stream.png | Bin 0 -> 189 bytes .../images/icons/application-pdf.png | Bin 0 -> 346 bytes .../images/icons/application-x-executable.png | Bin 0 -> 189 bytes .../images/icons/audio-x-generic.png | Bin 0 -> 314 bytes .../starterkit_theme/images/icons/check.svg | 1 + .../starterkit_theme/images/icons/error.svg | 1 + .../starterkit_theme/images/icons/feed.svg | 8 + .../starterkit_theme/images/icons/help.png | Bin 0 -> 294 bytes .../images/icons/image-x-generic.png | Bin 0 -> 385 bytes .../images/icons/loading-small.gif | Bin 0 -> 2112 bytes .../images/icons/menu-collapsed-rtl.png | Bin 0 -> 107 bytes .../images/icons/menu-collapsed.png | Bin 0 -> 105 bytes .../images/icons/menu-expanded.png | Bin 0 -> 106 bytes .../images/icons/package-x-generic.png | Bin 0 -> 260 bytes .../images/icons/required.svg | 1 + .../images/icons/text-html.png | Bin 0 -> 265 bytes .../images/icons/text-plain.png | Bin 0 -> 220 bytes .../images/icons/text-x-generic.png | Bin 0 -> 220 bytes .../images/icons/text-x-script.png | Bin 0 -> 276 bytes .../images/icons/video-x-generic.png | Bin 0 -> 214 bytes .../starterkit_theme/images/icons/warning.svg | 1 + .../images/icons/x-office-document.png | Bin 0 -> 196 bytes .../images/icons/x-office-presentation.png | Bin 0 -> 181 bytes .../images/icons/x-office-spreadsheet.png | Bin 0 -> 183 bytes core/themes/starterkit_theme/logo.svg | 1 + core/themes/starterkit_theme/screenshot.png | Bin 0 -> 33645 bytes .../starterkit_theme/src/StarterKit.php | 20 + .../starterkit_theme.info.yml | 21 + .../starterkit_theme.libraries.yml | 107 + .../starterkit_theme/starterkit_theme.theme | 21 + .../block--local-actions-block.html.twig | 12 + .../block/block--local-tasks-block.html.twig | 14 + .../block/block--search-form-block.html.twig | 46 + .../block--system-branding-block.html.twig | 30 + .../block/block--system-menu-block.html.twig | 57 + .../templates/block/block.html.twig | 45 + .../content-edit/file-managed-file.html.twig | 22 + .../content-edit/file-upload-help.html.twig | 12 + .../file-widget-multiple.html.twig | 14 + .../content-edit/filter-caption.html.twig | 18 + .../content-edit/filter-guidelines.html.twig | 29 + .../content-edit/filter-tips.html.twig | 61 + .../content-edit/image-widget.html.twig | 23 + .../content-edit/node-add-list.html.twig | 30 + .../content-edit/node-edit-form.html.twig | 28 + .../text-format-wrapper.html.twig | 26 + .../templates/content/comment.html.twig | 111 + .../templates/content/links--node.html.twig | 40 + .../templates/content/mark.html.twig | 20 + .../templates/content/media.html.twig | 28 + .../templates/content/node.html.twig | 105 + .../templates/content/page-title.html.twig | 19 + .../templates/content/search-result.html.twig | 72 + .../templates/content/taxonomy-term.html.twig | 41 + .../item-list--search-results.html.twig | 29 + .../templates/dataset/item-list.html.twig | 41 + .../templates/dataset/table.html.twig | 113 + .../templates/field/field--comment.html.twig | 57 + .../field/field--node--created.html.twig | 44 + .../field/field--node--title.html.twig | 44 + .../field/field--node--uid.html.twig | 44 + .../field/field--text-long.html.twig | 1 + .../field/field--text-with-summary.html.twig | 1 + .../templates/field/field--text.html.twig | 28 + .../templates/field/field.html.twig | 81 + .../templates/field/file-audio.html.twig | 23 + .../templates/field/file-link.html.twig | 17 + .../templates/field/file-video.html.twig | 23 + .../templates/field/image-formatter.html.twig | 18 + .../templates/field/image-style.html.twig | 18 + .../templates/field/image.html.twig | 18 + .../link-formatter-link-separate.html.twig | 22 + .../templates/field/time.html.twig | 22 + .../templates/form/checkboxes.html.twig | 15 + .../templates/form/confirm-form.html.twig | 13 + .../templates/form/container.html.twig | 28 + .../templates/form/datetime-form.html.twig | 15 + .../templates/form/datetime-wrapper.html.twig | 36 + .../templates/form/details.html.twig | 44 + .../form/dropbutton-wrapper.html.twig | 20 + .../form/field-multiple-value-form.html.twig | 42 + .../templates/form/fieldset.html.twig | 60 + .../form/form-element-label.html.twig | 25 + .../templates/form/form-element.html.twig | 95 + .../templates/form/form.html.twig | 15 + .../templates/form/input.html.twig | 13 + .../templates/form/radios.html.twig | 13 + .../templates/form/select.html.twig | 27 + .../templates/form/textarea.html.twig | 25 + .../templates/layout/html.html.twig | 55 + .../layout/maintenance-page.html.twig | 65 + .../templates/layout/page.html.twig | 87 + .../templates/layout/region.html.twig | 25 + .../templates/misc/progress-bar.html.twig | 22 + .../templates/misc/status-messages.html.twig | 55 + .../templates/navigation/breadcrumb.html.twig | 25 + .../templates/navigation/links.html.twig | 55 + .../navigation/menu-local-action.html.twig | 13 + .../navigation/menu-local-task.html.twig | 17 + .../navigation/menu-local-tasks.html.twig | 21 + .../templates/navigation/menu.html.twig | 55 + .../templates/navigation/pager.html.twig | 99 + .../navigation/vertical-tabs.html.twig | 13 + .../templates/user/user.html.twig | 23 + .../templates/user/username.html.twig | 29 + .../views/views-exposed-form.html.twig | 21 + .../views/views-mini-pager.html.twig | 42 + .../templates/views/views-view-grid.html.twig | 76 + .../views/views-view-grouping.html.twig | 20 + .../templates/views/views-view-list.html.twig | 38 + .../views-view-summary-unformatted.html.twig | 31 + .../views/views-view-summary.html.twig | 31 + .../views/views-view-table.html.twig | 120 + .../views/views-view-unformatted.html.twig | 30 + .../templates/views/views-view.html.twig | 95 + core/yarn.lock | 9054 ++- robots.txt | 4 + sites/default/default.services.yml | 84 +- sites/default/default.settings.php | 217 +- sites/example.settings.local.php | 4 +- sites/example.sites.php | 2 +- vendor/.htaccess | 3 + vendor/autoload.php | 20 +- vendor/bin/var-dump-server | 155 +- vendor/composer/ClassLoader.php | 157 +- vendor/composer/InstalledVersions.php | 352 + vendor/composer/autoload_classmap.php | 284 +- vendor/composer/autoload_files.php | 45 +- vendor/composer/autoload_namespaces.php | 2 +- vendor/composer/autoload_psr4.php | 6 +- vendor/composer/autoload_real.php | 55 +- vendor/composer/autoload_static.php | 349 +- vendor/composer/include_paths.php | 2 +- vendor/composer/installed.json | 9077 +-- vendor/composer/installed.php | 812 + .../workflows/continuous-integration.yml | 76 + .../installers/.github/workflows/lint.yml | 30 + .../installers/.github/workflows/phpstan.yml | 51 + vendor/composer/installers/composer.json | 24 +- vendor/composer/installers/phpstan.neon.dist | 10 + .../src/Composer/Installers/BaseInstaller.php | 12 +- .../Composer/Installers/CakePHPInstaller.php | 12 +- .../Composer/Installers/CockpitInstaller.php | 4 +- .../src/Composer/Installers/Installer.php | 38 +- .../Composer/Installers/MauticInstaller.php | 35 +- .../Composer/Installers/MiaoxingInstaller.php | 10 + .../Composer/Installers/MoodleInstaller.php | 1 + .../Composer/Installers/OctoberInstaller.php | 3 +- .../src/Composer/Installers/OxidInstaller.php | 2 +- .../Composer/Installers/PantheonInstaller.php | 12 + .../Installers/ProcessWireInstaller.php | 22 + .../Composer/Installers/StarbugInstaller.php | 12 + .../Composer/Installers/SyDESInstaller.php | 4 +- .../src/Composer/Installers/TaoInstaller.php | 18 + .../Installers/TastyIgniterInstaller.php | 32 + .../Composer/Installers/WinterInstaller.php | 58 + vendor/composer/platform_check.php | 26 + vendor/composer/semver/CHANGELOG.md | 58 + vendor/composer/semver/README.md | 36 +- vendor/composer/semver/composer.json | 5 +- vendor/composer/semver/src/Comparator.php | 2 + .../composer/semver/src/CompilingMatcher.php | 48 +- .../composer/semver/src/Constraint/Bound.php | 6 + .../semver/src/Constraint/Constraint.php | 41 +- .../src/Constraint/ConstraintInterface.php | 8 +- .../src/Constraint/MatchAllConstraint.php | 11 +- .../src/Constraint/MatchNoneConstraint.php | 11 +- .../semver/src/Constraint/MultiConstraint.php | 52 +- vendor/composer/semver/src/Intervals.php | 13 +- vendor/composer/semver/src/Semver.php | 20 +- vendor/composer/semver/src/VersionParser.php | 33 +- .../annotations/.doctrine-project.json | 49 - .../.github/workflows/coding-standards.yml | 39 - .../workflows/continuous-integration.yml | 61 - .../workflows/release-on-milestone-closed.yml | 55 - .../.github/workflows/static-analysis.yml | 45 - vendor/doctrine/annotations/CHANGELOG.md | 162 - vendor/doctrine/annotations/README.md | 10 +- vendor/doctrine/annotations/composer.json | 63 +- .../annotations/docs/en/annotations.rst | 33 +- .../doctrine/annotations/docs/en/custom.rst | 62 +- vendor/doctrine/annotations/docs/en/index.rst | 9 +- .../Annotation/NamedArgumentConstructor.php | 13 + .../Common/Annotations/Annotation/Target.php | 4 +- .../Annotations/AnnotationException.php | 13 +- .../Common/Annotations/AnnotationReader.php | 107 +- .../Common/Annotations/CachedReader.php | 4 + .../Doctrine/Common/Annotations/DocParser.php | 240 +- .../Common/Annotations/FileCacheReader.php | 2 +- .../ImplicitlyIgnoredAnnotationNames.php | 27 +- .../Common/Annotations/IndexedReader.php | 12 +- .../NamedArgumentConstructorAnnotation.php | 3 + .../Doctrine/Common/Annotations/PhpParser.php | 27 +- .../Common/Annotations/PsrCachedReader.php | 232 + .../doctrine/annotations/phpbench.json.dist | 4 - vendor/doctrine/annotations/phpcs.xml.dist | 154 - vendor/doctrine/annotations/phpstan.neon | 13 - vendor/doctrine/annotations/psalm.xml | 15 + vendor/doctrine/lexer/README.md | 2 +- vendor/doctrine/lexer/composer.json | 18 +- .../Doctrine/Common/Lexer/AbstractLexer.php | 43 +- .../promises => doctrine/lexer}/psalm.xml | 4 +- .../reflection/.doctrine-project.json | 6 - .../.github/workflows/coding-standards.yml | 42 +- .../workflows/continuous-integration.yml | 17 + .../workflows/release-on-milestone-closed.yml | 42 +- .../.github/workflows/static-analysis.yml | 39 + vendor/doctrine/reflection/README.md | 6 +- vendor/doctrine/reflection/composer.json | 21 +- .../Compatibility/Php8/ReflectionClass.php | 3 + .../Compatibility/Php8/ReflectionMethod.php | 2 + .../Compatibility/ReflectionClass.php | 5 +- .../Compatibility/ReflectionMethod.php | 5 +- .../Common/Reflection/Psr0FindFile.php | 3 +- .../RuntimePublicReflectionProperty.php | 3 + .../Reflection/StaticReflectionClass.php | 45 + .../Reflection/StaticReflectionMethod.php | 35 + .../Reflection/StaticReflectionParser.php | 43 +- .../Reflection/StaticReflectionProperty.php | 13 + .../TypedNoDefaultReflectionProperty.php | 3 + vendor/doctrine/reflection/phpstan.neon.dist | 11 +- vendor/drupal/core-composer-scaffold/Git.php | 9 +- .../core-composer-scaffold/Interpolator.php | 2 +- .../ManageGitIgnore.php | 2 + .../Operations/AppendOp.php | 3 +- .../Operations/OperationData.php | 10 +- .../Operations/OperationFactory.php | 3 +- .../Operations/ReplaceOp.php | 3 +- .../Operations/ScaffoldFileCollection.php | 5 +- .../drupal/core-composer-scaffold/Plugin.php | 8 +- .../drupal/core-composer-scaffold/README.md | 15 +- .../ScaffoldFilePath.php | 4 +- .../drupal/core-project-message/Message.php | 2 + .../drupal/core-vendor-hardening/Config.php | 10 +- .../core-vendor-hardening/FileSecurity.php | 3 + .../drupal/core-vendor-hardening/README.txt | 24 +- .../VendorHardeningPlugin.php | 76 +- vendor/egulias/email-validator/CHANGELOG.md | 33 + .../egulias/email-validator/CONTRIBUTING.md | 153 + vendor/egulias/email-validator/LICENSE | 2 +- vendor/egulias/email-validator/composer.json | 13 +- .../email-validator/src/EmailLexer.php | 328 +- .../email-validator/src/EmailParser.php | 131 +- .../email-validator/src/EmailValidator.php | 10 +- .../src/Exception/AtextAfterCFWS.php | 9 - .../src/Exception/CRLFAtTheEnd.php | 9 - .../email-validator/src/Exception/CRLFX2.php | 9 - .../email-validator/src/Exception/CRNoLF.php | 9 - .../src/Exception/CharNotAllowed.php | 9 - .../src/Exception/CommaInDomain.php | 9 - .../src/Exception/ConsecutiveAt.php | 9 - .../src/Exception/ConsecutiveDot.php | 9 - .../src/Exception/DomainAcceptsNoMail.php | 9 - .../src/Exception/DomainHyphened.php | 9 - .../src/Exception/DotAtEnd.php | 9 - .../src/Exception/DotAtStart.php | 9 - .../src/Exception/ExpectingAT.php | 9 - .../src/Exception/ExpectingATEXT.php | 9 - .../src/Exception/ExpectingCTEXT.php | 9 - .../src/Exception/ExpectingDTEXT.php | 9 - .../Exception/ExpectingDomainLiteralClose.php | 9 - .../src/Exception/ExpectingQPair.php | 9 - .../src/Exception/InvalidEmail.php | 14 - .../src/Exception/LocalOrReservedDomain.php | 9 - .../src/Exception/NoDNSRecord.php | 9 - .../src/Exception/NoDomainPart.php | 9 - .../src/Exception/NoLocalPart.php | 9 - .../src/Exception/UnclosedComment.php | 9 - .../src/Exception/UnclosedQuotedString.php | 9 - .../src/Exception/UnopenedComment.php | 9 - .../email-validator/src/MessageIDParser.php | 91 + vendor/egulias/email-validator/src/Parser.php | 78 + .../email-validator/src/Parser/Comment.php | 104 + .../CommentStrategy/CommentStrategy.php | 18 + .../Parser/CommentStrategy/DomainComment.php | 37 + .../Parser/CommentStrategy/LocalComment.php | 37 + .../src/Parser/DomainLiteral.php | 211 + .../email-validator/src/Parser/DomainPart.php | 505 +- .../src/Parser/DoubleQuote.php | 87 + .../src/Parser/FoldingWhiteSpace.php | 86 + .../email-validator/src/Parser/IDLeftPart.php | 15 + .../src/Parser/IDRightPart.php | 29 + .../email-validator/src/Parser/LocalPart.php | 218 +- .../email-validator/src/Parser/Parser.php | 249 - .../email-validator/src/Parser/PartParser.php | 63 + .../src/Result/InvalidEmail.php | 46 + .../src/Result/MultipleErrors.php | 56 + .../src/Result/Reason/AtextAfterCFWS.php | 16 + .../src/Result/Reason/CRLFAtTheEnd.php | 19 + .../src/Result/Reason/CRLFX2.php | 16 + .../src/Result/Reason/CRNoLF.php | 16 + .../src/Result/Reason/CharNotAllowed.php | 16 + .../src/Result/Reason/CommaInDomain.php | 16 + .../src/Result/Reason/CommentsInIDRight.php | 16 + .../src/Result/Reason/ConsecutiveAt.php | 17 + .../src/Result/Reason/ConsecutiveDot.php | 16 + .../src/Result/Reason/DetailedReason.php | 13 + .../src/Result/Reason/DomainAcceptsNoMail.php | 16 + .../src/Result/Reason/DomainHyphened.php | 16 + .../src/Result/Reason/DomainTooLong.php | 16 + .../src/Result/Reason/DotAtEnd.php | 16 + .../src/Result/Reason/DotAtStart.php | 16 + .../src/Result/Reason/EmptyReason.php | 16 + .../src/Result/Reason/ExceptionFound.php | 26 + .../src/Result/Reason/ExpectingATEXT.php | 16 + .../src/Result/Reason/ExpectingCTEXT.php | 16 + .../src/Result/Reason/ExpectingDTEXT.php | 16 + .../Reason/ExpectingDomainLiteralClose.php | 16 + .../src/Result/Reason/LabelTooLong.php | 16 + .../Result/Reason/LocalOrReservedDomain.php | 16 + .../src/Result/Reason/NoDNSRecord.php | 16 + .../src/Result/Reason/NoDomainPart.php | 16 + .../src/Result/Reason/NoLocalPart.php | 16 + .../src/Result/Reason/RFCWarnings.php | 16 + .../src/Result/Reason/Reason.php | 16 + .../src/Result/Reason/SpoofEmail.php | 17 + .../src/Result/Reason/UnOpenedComment.php | 16 + .../Result/Reason/UnableToGetDNSRecord.php | 19 + .../src/Result/Reason/UnclosedComment.php | 16 + .../Result/Reason/UnclosedQuotedString.php | 16 + .../src/Result/Reason/UnusualElements.php | 26 + .../email-validator/src/Result/Result.php | 27 + .../email-validator/src/Result/SpoofEmail.php | 13 + .../email-validator/src/Result/ValidEmail.php | 27 + .../src/Validation/DNSCheckValidation.php | 115 +- .../src/Validation/DNSGetRecordWrapper.php | 28 + .../src/Validation/DNSRecords.php | 35 + .../src/Validation/EmailValidation.php | 8 +- .../src/Validation/Error/RFCWarnings.php | 11 - .../src/Validation/Error/SpoofEmail.php | 11 - .../Exception/EmptyValidationList.php | 2 +- .../{ => Extra}/SpoofCheckValidation.php | 17 +- .../src/Validation/MessageIDValidation.php | 51 + .../src/Validation/MultipleErrors.php | 32 - .../Validation/MultipleValidationWithAnd.php | 55 +- .../Validation/NoRFCWarningsValidation.php | 10 +- .../src/Validation/RFCValidation.php | 24 +- .../src/Warning/AddressLiteral.php | 2 +- .../src/Warning/CFWSNearAt.php | 2 +- .../src/Warning/CFWSWithFWS.php | 2 +- .../email-validator/src/Warning/Comment.php | 2 +- .../src/Warning/DeprecatedComment.php | 2 +- .../src/Warning/DomainLiteral.php | 2 +- .../src/Warning/DomainTooLong.php | 14 - .../src/Warning/EmailTooLong.php | 2 +- .../src/Warning/IPV6BadChar.php | 2 +- .../src/Warning/IPV6ColonEnd.php | 2 +- .../src/Warning/IPV6ColonStart.php | 2 +- .../src/Warning/IPV6Deprecated.php | 2 +- .../src/Warning/IPV6DoubleColon.php | 2 +- .../src/Warning/IPV6GroupCount.php | 2 +- .../src/Warning/IPV6MaxGroups.php | 2 +- .../src/Warning/LabelTooLong.php | 14 - .../src/Warning/LocalTooLong.php | 4 +- .../src/Warning/NoDNSMXRecord.php | 2 +- .../src/Warning/ObsoleteDTEXT.php | 2 +- .../src/Warning/QuotedPart.php | 2 +- .../src/Warning/QuotedString.php | 2 +- .../email-validator/src/Warning/TLD.php | 2 +- .../email-validator/src/Warning/Warning.php | 4 +- vendor/guzzlehttp/guzzle/CHANGELOG.md | 14 + vendor/guzzlehttp/guzzle/LICENSE | 10 +- vendor/guzzlehttp/guzzle/README.md | 39 +- vendor/guzzlehttp/guzzle/composer.json | 39 +- .../guzzle/src/Cookie/CookieJar.php | 5 + .../guzzle/src/Cookie/SetCookie.php | 11 +- .../guzzle/src/RedirectMiddleware.php | 21 +- vendor/guzzlehttp/promises/CHANGELOG.md | 35 + vendor/guzzlehttp/promises/LICENSE | 7 +- vendor/guzzlehttp/promises/Makefile | 13 - vendor/guzzlehttp/promises/README.md | 72 +- vendor/guzzlehttp/promises/composer.json | 22 +- .../guzzlehttp/promises/phpstan-baseline.neon | 7 - vendor/guzzlehttp/promises/phpstan.neon.dist | 10 - vendor/guzzlehttp/promises/src/Each.php | 2 +- .../guzzlehttp/promises/src/EachPromise.php | 26 +- vendor/guzzlehttp/promises/src/Utils.php | 6 +- vendor/guzzlehttp/psr7/.github/FUNDING.yml | 2 + vendor/guzzlehttp/psr7/.github/stale.yml | 14 + .../guzzlehttp/psr7/.github/workflows/ci.yml | 30 + .../psr7/.github/workflows/integration.yml | 36 + .../psr7/.github/workflows/static.yml | 29 + .../{promises => psr7}/.php_cs.dist | 42 +- vendor/guzzlehttp/psr7/CHANGELOG.md | 64 +- vendor/guzzlehttp/psr7/LICENSE | 9 +- vendor/guzzlehttp/psr7/README.md | 39 +- vendor/guzzlehttp/psr7/composer.json | 30 +- vendor/guzzlehttp/psr7/src/AppendStream.php | 2 + vendor/guzzlehttp/psr7/src/BufferStream.php | 2 + vendor/guzzlehttp/psr7/src/CachingStream.php | 14 +- vendor/guzzlehttp/psr7/src/DroppingStream.php | 2 + vendor/guzzlehttp/psr7/src/FnStream.php | 3 + vendor/guzzlehttp/psr7/src/InflateStream.php | 3 + vendor/guzzlehttp/psr7/src/LazyOpenStream.php | 4 +- vendor/guzzlehttp/psr7/src/LimitStream.php | 5 +- vendor/guzzlehttp/psr7/src/MessageTrait.php | 65 +- .../guzzlehttp/psr7/src/MultipartStream.php | 8 +- vendor/guzzlehttp/psr7/src/NoSeekStream.php | 4 +- vendor/guzzlehttp/psr7/src/PumpStream.php | 18 +- vendor/guzzlehttp/psr7/src/Query.php | 9 +- vendor/guzzlehttp/psr7/src/Request.php | 4 +- vendor/guzzlehttp/psr7/src/Response.php | 2 +- vendor/guzzlehttp/psr7/src/Rfc7230.php | 1 + vendor/guzzlehttp/psr7/src/ServerRequest.php | 11 +- .../psr7/src/StreamDecoratorTrait.php | 1 + vendor/guzzlehttp/psr7/src/StreamWrapper.php | 2 + vendor/guzzlehttp/psr7/src/UploadedFile.php | 29 +- vendor/guzzlehttp/psr7/src/Uri.php | 61 +- vendor/guzzlehttp/psr7/src/UriComparator.php | 55 + vendor/guzzlehttp/psr7/src/UriNormalizer.php | 2 + vendor/guzzlehttp/psr7/src/UriResolver.php | 2 + vendor/guzzlehttp/psr7/src/Utils.php | 44 +- vendor/guzzlehttp/psr7/src/functions.php | 7 +- vendor/laminas/laminas-diactoros/CHANGELOG.md | 1846 - vendor/laminas/laminas-diactoros/README.md | 23 - .../src/Exception/ExceptionInterface.php | 20 - .../Exception/InvalidArgumentException.php | 15 - .../src/Exception/RuntimeException.php | 15 - .../src/Exception/SerializationException.php | 26 - .../Exception/UnreadableStreamException.php | 36 - .../UnrecognizedProtocolVersionException.php | 23 - .../Exception/UnrewindableStreamException.php | 21 - .../Exception/UnseekableStreamException.php | 36 - .../Exception/UntellableStreamException.php | 31 - .../Exception/UnwritableStreamException.php | 36 - .../laminas/laminas-diactoros/src/Module.php | 21 - .../laminas-diactoros/src/RequestFactory.php | 25 - .../src/ServerRequestFactory.php | 100 - .../laminas-diactoros/src/UriFactory.php | 25 - .../functions/create_uploaded_file.legacy.php | 21 - .../marshal_headers_from_sapi.legacy.php | 21 - .../marshal_method_from_sapi.legacy.php | 21 - .../functions/marshal_method_from_sapi.php | 19 - ...shal_protocol_version_from_sapi.legacy.php | 21 - .../marshal_uri_from_sapi.legacy.php | 21 - .../src/functions/normalize_server.legacy.php | 21 - .../normalize_uploaded_files.legacy.php | 23 - .../functions/parse_cookie_header.legacy.php | 21 - .../laminas/laminas-escaper/.laminas-ci.json | 5 + vendor/laminas/laminas-escaper/CHANGELOG.md | 99 - vendor/laminas/laminas-escaper/README.md | 2 +- vendor/laminas/laminas-escaper/composer.json | 9 +- vendor/laminas/laminas-escaper/composer.lock | 4170 ++ vendor/laminas/laminas-escaper/phpcs.xml.dist | 21 + .../laminas-escaper/psalm-baseline.xml | 86 +- vendor/laminas/laminas-escaper/psalm.xml | 1 + .../laminas/laminas-escaper/src/Escaper.php | 121 +- .../src/Exception/ExceptionInterface.php | 6 +- .../Exception/InvalidArgumentException.php | 6 +- .../src/Exception/RuntimeException.php | 6 +- vendor/laminas/laminas-feed/.laminas-ci.json | 8 + vendor/laminas/laminas-feed/CHANGELOG.md | 571 - vendor/laminas/laminas-feed/README.md | 16 + vendor/laminas/laminas-feed/composer.json | 30 +- vendor/laminas/laminas-feed/composer.lock | 6040 ++ vendor/laminas/laminas-feed/phpcs.xml.dist | 21 + .../laminas/laminas-feed/psalm-baseline.xml | 2728 +- vendor/laminas/laminas-feed/psalm.xml | 1 + .../src/Exception/BadMethodCallException.php | 6 - .../src/Exception/ExceptionInterface.php | 6 - .../Exception/InvalidArgumentException.php | 6 - .../src/Exception/RuntimeException.php | 6 - .../src/PubSubHubbub/AbstractCallback.php | 49 +- .../src/PubSubHubbub/CallbackInterface.php | 14 +- .../Exception/ExceptionInterface.php | 6 - .../Exception/InvalidArgumentException.php | 6 - .../Exception/RuntimeException.php | 6 - .../src/PubSubHubbub/HttpResponse.php | 30 +- .../src/PubSubHubbub/Model/AbstractModel.php | 14 +- .../src/PubSubHubbub/Model/Subscription.php | 23 +- .../SubscriptionPersistenceInterface.php | 6 - .../src/PubSubHubbub/PubSubHubbub.php | 30 +- .../src/PubSubHubbub/Publisher.php | 25 +- .../src/PubSubHubbub/Subscriber.php | 92 +- .../src/PubSubHubbub/Subscriber/Callback.php | 45 +- .../laminas-feed/src/PubSubHubbub/Version.php | 9 +- .../laminas-feed/src/Reader/AbstractEntry.php | 16 +- .../laminas-feed/src/Reader/AbstractFeed.php | 37 +- .../laminas-feed/src/Reader/Collection.php | 6 - .../Reader/Collection/AbstractCollection.php | 6 - .../src/Reader/Collection/Author.php | 8 +- .../src/Reader/Collection/Category.php | 8 +- .../src/Reader/Collection/Collection.php | 6 - .../src/Reader/Entry/AbstractEntry.php | 27 +- .../laminas-feed/src/Reader/Entry/Atom.php | 111 +- .../src/Reader/Entry/EntryInterface.php | 15 +- .../laminas-feed/src/Reader/Entry/Rss.php | 243 +- .../Exception/BadMethodCallException.php | 6 - .../Reader/Exception/ExceptionInterface.php | 6 - .../Exception/InvalidArgumentException.php | 6 - .../Exception/InvalidHttpClientException.php | 6 - .../src/Reader/Exception/RuntimeException.php | 6 - .../src/Reader/Extension/AbstractEntry.php | 15 +- .../src/Reader/Extension/AbstractFeed.php | 11 +- .../src/Reader/Extension/Atom/Entry.php | 89 +- .../src/Reader/Extension/Atom/Feed.php | 65 +- .../src/Reader/Extension/Content/Entry.php | 17 +- .../Extension/CreativeCommons/Entry.php | 31 +- .../Reader/Extension/CreativeCommons/Feed.php | 28 +- .../src/Reader/Extension/DublinCore/Entry.php | 33 +- .../src/Reader/Extension/DublinCore/Feed.php | 18 +- .../Extension/GooglePlayPodcast/Entry.php | 6 - .../Extension/GooglePlayPodcast/Feed.php | 12 +- .../src/Reader/Extension/Podcast/Entry.php | 13 +- .../src/Reader/Extension/Podcast/Feed.php | 19 +- .../Reader/Extension/PodcastIndex/Entry.php | 118 + .../Reader/Extension/PodcastIndex/Feed.php | 91 + .../src/Reader/Extension/Slash/Entry.php | 9 +- .../src/Reader/Extension/Syndication/Feed.php | 8 +- .../src/Reader/Extension/Thread/Entry.php | 8 +- .../Reader/Extension/WellFormedWeb/Entry.php | 8 +- .../src/Reader/ExtensionManager.php | 27 +- .../src/Reader/ExtensionManagerInterface.php | 6 - .../src/Reader/ExtensionPluginManager.php | 256 +- .../src/Reader/Feed/AbstractFeed.php | 28 +- .../laminas-feed/src/Reader/Feed/Atom.php | 24 +- .../src/Reader/Feed/Atom/Source.php | 8 +- .../src/Reader/Feed/FeedInterface.php | 6 - .../laminas-feed/src/Reader/Feed/Rss.php | 89 +- .../laminas-feed/src/Reader/FeedSet.php | 32 +- .../src/Reader/Http/ClientInterface.php | 6 - .../Http/HeaderAwareClientInterface.php | 6 - .../Http/HeaderAwareResponseInterface.php | 6 - .../Http/LaminasHttpClientDecorator.php | 25 +- .../src/Reader/Http/Psr7ResponseDecorator.php | 10 +- .../laminas-feed/src/Reader/Http/Response.php | 53 +- .../src/Reader/Http/ResponseInterface.php | 6 - .../laminas-feed/src/Reader/Reader.php | 118 +- .../src/Reader/ReaderImportInterface.php | 8 +- .../src/Reader/StandaloneExtensionManager.php | 17 +- vendor/laminas/laminas-feed/src/Uri.php | 68 +- .../laminas-feed/src/Writer/AbstractFeed.php | 143 +- .../laminas-feed/src/Writer/Deleted.php | 23 +- .../laminas/laminas-feed/src/Writer/Entry.php | 74 +- .../Exception/BadMethodCallException.php | 6 - .../Writer/Exception/ExceptionInterface.php | 6 - .../Exception/InvalidArgumentException.php | 6 - .../src/Writer/Exception/RuntimeException.php | 6 - .../src/Writer/Extension/AbstractRenderer.php | 33 +- .../Writer/Extension/Atom/Renderer/Feed.php | 24 +- .../Extension/Content/Renderer/Entry.php | 18 +- .../Extension/DublinCore/Renderer/Entry.php | 19 +- .../Extension/DublinCore/Renderer/Feed.php | 19 +- .../Extension/GooglePlayPodcast/Entry.php | 25 +- .../Extension/GooglePlayPodcast/Feed.php | 24 +- .../GooglePlayPodcast/Renderer/Entry.php | 24 +- .../GooglePlayPodcast/Renderer/Feed.php | 38 +- .../src/Writer/Extension/ITunes/Entry.php | 48 +- .../src/Writer/Extension/ITunes/Feed.php | 46 +- .../Extension/ITunes/Renderer/Entry.php | 66 +- .../Writer/Extension/ITunes/Renderer/Feed.php | 67 +- .../Writer/Extension/PodcastIndex/Entry.php | 175 + .../Writer/Extension/PodcastIndex/Feed.php | 130 + .../Extension/PodcastIndex/Renderer/Entry.php | 113 + .../Extension/PodcastIndex/Renderer/Feed.php | 82 + .../Writer/Extension/RendererInterface.php | 6 - .../Writer/Extension/Slash/Renderer/Entry.php | 18 +- .../Extension/Threading/Renderer/Entry.php | 26 +- .../WellFormedWeb/Renderer/Entry.php | 18 +- .../src/Writer/ExtensionManager.php | 27 +- .../src/Writer/ExtensionManagerInterface.php | 6 - .../src/Writer/ExtensionPluginManager.php | 255 +- .../laminas/laminas-feed/src/Writer/Feed.php | 30 +- .../laminas-feed/src/Writer/FeedFactory.php | 19 +- .../src/Writer/Renderer/AbstractRenderer.php | 34 +- .../src/Writer/Renderer/Entry/Atom.php | 90 +- .../Writer/Renderer/Entry/Atom/Deleted.php | 20 +- .../src/Writer/Renderer/Entry/AtomDeleted.php | 20 +- .../src/Writer/Renderer/Entry/Rss.php | 62 +- .../src/Writer/Renderer/Feed/AbstractAtom.php | 76 +- .../src/Writer/Renderer/Feed/Atom.php | 10 +- .../Renderer/Feed/Atom/AbstractAtom.php | 76 +- .../src/Writer/Renderer/Feed/Atom/Source.php | 13 +- .../src/Writer/Renderer/Feed/AtomSource.php | 13 +- .../src/Writer/Renderer/Feed/Rss.php | 75 +- .../src/Writer/Renderer/RendererInterface.php | 6 - .../laminas-feed/src/Writer/Source.php | 6 - .../src/Writer/StandaloneExtensionManager.php | 21 +- .../laminas-feed/src/Writer/Version.php | 9 +- .../laminas-feed/src/Writer/Writer.php | 79 +- vendor/laminas/laminas-stdlib/CHANGELOG.md | 407 - vendor/laminas/laminas-stdlib/README.md | 18 +- vendor/laminas/laminas-stdlib/composer.json | 28 +- vendor/laminas/laminas-stdlib/composer.lock | 4919 ++ .../laminas-stdlib/src/AbstractOptions.php | 27 +- .../laminas-stdlib/src/ArrayObject.php | 176 +- .../src/ArraySerializableInterface.php | 6 +- .../laminas/laminas-stdlib/src/ArrayStack.php | 8 +- .../laminas/laminas-stdlib/src/ArrayUtils.php | 49 +- .../src/ArrayUtils/MergeRemoveKey.php | 6 +- .../src/ArrayUtils/MergeReplaceKey.php | 10 +- .../ArrayUtils/MergeReplaceKeyInterface.php | 6 +- .../laminas-stdlib/src/ConsoleHelper.php | 34 +- .../src/DispatchableInterface.php | 10 +- .../laminas-stdlib/src/ErrorHandler.php | 17 +- .../src/Exception/BadMethodCallException.php | 6 +- .../src/Exception/DomainException.php | 6 +- .../src/Exception/ExceptionInterface.php | 6 +- .../Exception/ExtensionNotLoadedException.php | 6 +- .../Exception/InvalidArgumentException.php | 6 +- .../src/Exception/LogicException.php | 6 +- .../src/Exception/RuntimeException.php | 6 +- .../laminas-stdlib/src/FastPriorityQueue.php | 80 +- vendor/laminas/laminas-stdlib/src/Glob.php | 43 +- .../src/Guard/AllGuardsTrait.php | 6 +- .../Guard/ArrayOrTraversableGuardTrait.php | 21 +- .../src/Guard/EmptyGuardTrait.php | 20 +- .../src/Guard/NullGuardTrait.php | 20 +- .../src/InitializableInterface.php | 6 +- .../laminas-stdlib/src/JsonSerializable.php | 9 +- vendor/laminas/laminas-stdlib/src/Message.php | 16 +- .../laminas-stdlib/src/MessageInterface.php | 10 +- .../src/ParameterObjectInterface.php | 6 +- .../laminas/laminas-stdlib/src/Parameters.php | 13 +- .../src/ParametersInterface.php | 10 +- .../laminas-stdlib/src/PriorityList.php | 41 +- .../laminas-stdlib/src/PriorityQueue.php | 152 +- vendor/laminas/laminas-stdlib/src/Request.php | 6 +- .../laminas-stdlib/src/RequestInterface.php | 6 +- .../laminas/laminas-stdlib/src/Response.php | 6 +- .../laminas-stdlib/src/ResponseInterface.php | 6 +- .../laminas-stdlib/src/SplPriorityQueue.php | 92 +- .../laminas/laminas-stdlib/src/SplQueue.php | 53 +- .../laminas/laminas-stdlib/src/SplStack.php | 52 +- .../laminas-stdlib/src/StringUtils.php | 71 +- .../StringWrapper/AbstractStringWrapper.php | 44 +- .../src/StringWrapper/Iconv.php | 22 +- .../laminas-stdlib/src/StringWrapper/Intl.php | 11 +- .../src/StringWrapper/MbString.php | 14 +- .../src/StringWrapper/Native.php | 8 +- .../StringWrapper/StringWrapperInterface.php | 8 +- .../.github/FUNDING.yml | 1 - .../workflows/release-on-milestone-closed.yml | 71 - .../laminas-zendframework-bridge/CHANGELOG.md | 686 - .../laminas-zendframework-bridge/COPYRIGHT.md | 1 - .../laminas-zendframework-bridge/LICENSE.md | 26 - .../laminas-zendframework-bridge/README.md | 24 - .../composer.json | 58 - .../config/replacements.php | 372 - .../src/Autoloader.php | 172 - .../src/ConfigPostProcessor.php | 434 - .../src/Module.php | 54 - .../src/Replacements.php | 46 - .../src/RewriteRules.php | 79 - .../src/autoload.php | 9 - .../laminas-diactoros/COPYRIGHT.md | 0 .../laminas-diactoros/LICENSE.md | 0 vendor/longwave/laminas-diactoros/README.md | 46 + .../laminas-diactoros/composer.json | 31 +- .../longwave/laminas-diactoros/composer.lock | 4500 ++ .../laminas-diactoros/psalm-baseline.xml | 602 + .../longwave/laminas-diactoros/psalm.xml.dist | 50 + .../src/AbstractSerializer.php | 34 +- .../laminas-diactoros/src/CallbackStream.php | 51 +- .../laminas-diactoros/src/ConfigProvider.php | 32 +- .../Exception/DeserializationException.php | 20 +- .../src/Exception/ExceptionInterface.php | 14 + .../Exception/InvalidArgumentException.php | 9 + .../InvalidForwardedHeaderNameException.php | 30 + .../InvalidProxyAddressException.php | 34 + .../InvalidStreamPointerPositionException.php | 11 +- .../src/Exception/RuntimeException.php | 9 + .../src/Exception/SerializationException.php | 20 + .../Exception/UnreadableStreamException.php | 30 + .../UnrecognizedProtocolVersionException.php | 17 + .../Exception/UnrewindableStreamException.php | 15 + .../Exception/UnseekableStreamException.php | 30 + .../Exception/UntellableStreamException.php | 25 + .../Exception/UnwritableStreamException.php | 30 + .../UploadedFileAlreadyMovedException.php | 11 +- .../Exception/UploadedFileErrorException.php | 16 +- .../laminas-diactoros/src/HeaderSecurity.php | 41 +- .../laminas-diactoros/src/MessageTrait.php | 112 +- .../longwave/laminas-diactoros/src/Module.php | 15 + .../laminas-diactoros/src/PhpInputStream.php | 22 +- .../laminas-diactoros/src/RelativeStream.php | 55 +- .../laminas-diactoros/src/Request.php | 24 +- .../src/Request/ArraySerializer.php | 29 +- .../src/Request/Serializer.php | 43 +- .../laminas-diactoros/src/RequestFactory.php | 19 + .../laminas-diactoros/src/RequestTrait.php | 56 +- .../laminas-diactoros/src/Response.php | 45 +- .../src/Response/ArraySerializer.php | 24 +- .../src/Response/EmptyResponse.php | 9 +- .../src/Response/HtmlResponse.php | 16 +- .../src/Response/InjectContentTypeTrait.php | 10 +- .../src/Response/JsonResponse.php | 53 +- .../src/Response/RedirectResponse.php | 10 +- .../src/Response/Serializer.php | 38 +- .../src/Response/TextResponse.php | 16 +- .../src/Response/XmlResponse.php | 16 +- .../laminas-diactoros/src/ResponseFactory.php | 8 +- .../laminas-diactoros/src/ServerRequest.php | 75 +- .../src/ServerRequestFactory.php | 333 + .../src/ServerRequestFilter/DoNotFilter.php | 15 + .../FilterServerRequestInterface.php | 29 + .../FilterUsingXForwardedHeaders.php | 266 + .../src/ServerRequestFilter/IPRange.php | 118 + .../laminas-diactoros/src/Stream.php | 98 +- .../laminas-diactoros/src/StreamFactory.php | 14 +- .../laminas-diactoros/src/UploadedFile.php | 89 +- .../src/UploadedFileFactory.php | 14 +- .../laminas-diactoros/src/Uri.php | 133 +- .../laminas-diactoros/src/UriFactory.php | 19 + .../functions/create_uploaded_file.legacy.php | 18 + .../src/functions/create_uploaded_file.php | 15 +- .../marshal_headers_from_sapi.legacy.php | 16 + .../functions/marshal_headers_from_sapi.php | 27 +- .../marshal_method_from_sapi.legacy.php | 16 + .../functions/marshal_method_from_sapi.php | 13 + ...shal_protocol_version_from_sapi.legacy.php | 16 + .../marshal_protocol_version_from_sapi.php | 10 +- .../marshal_uri_from_sapi.legacy.php | 18 + .../src/functions/marshal_uri_from_sapi.php | 37 +- .../src/functions/normalize_server.legacy.php | 16 + .../src/functions/normalize_server.php | 11 +- .../normalize_uploaded_files.legacy.php | 16 + .../functions/normalize_uploaded_files.php | 30 +- .../functions/parse_cookie_header.legacy.php | 19 + .../src/functions/parse_cookie_header.php | 12 +- vendor/masterminds/html5/README.md | 16 + vendor/masterminds/html5/RELEASE.md | 9 + vendor/masterminds/html5/composer.json | 2 +- .../html5/src/HTML5/Parser/DOMTreeBuilder.php | 4 +- .../html5/src/HTML5/Parser/Scanner.php | 2 +- .../html5/src/HTML5/Parser/Tokenizer.php | 18 +- vendor/pear/archive_tar/.github/FUNDING.yml | 2 + .../pear/archive_tar/.github/dependabot.yml | 11 + .../archive_tar/.github/workflows/build.yml | 40 + vendor/pear/archive_tar/Archive/Tar.php | 50 +- vendor/pear/archive_tar/README.md | 2 +- vendor/pear/archive_tar/package.xml | 56 +- .../pear/pear-core-minimal/src/OS/Guess.php | 248 +- vendor/pear/pear-core-minimal/src/PEAR.php | 5 +- vendor/pear/pear-core-minimal/src/System.php | 4 +- vendor/pear/pear_exception/.gitignore | 6 - vendor/pear/pear_exception/.travis.yml | 7 - vendor/pear/pear_exception/PEAR/Exception.php | 2 +- vendor/pear/pear_exception/composer.json | 4 +- vendor/pear/pear_exception/package.xml | 120 - vendor/psr/cache/CHANGELOG.md | 16 + vendor/psr/cache/LICENSE.txt | 19 + vendor/psr/cache/README.md | 9 + vendor/psr/cache/composer.json | 25 + vendor/psr/cache/src/CacheException.php | 10 + vendor/psr/cache/src/CacheItemInterface.php | 105 + .../psr/cache/src/CacheItemPoolInterface.php | 138 + .../cache/src/InvalidArgumentException.php | 13 + vendor/psr/container/README.md | 14 +- vendor/psr/container/composer.json | 9 +- .../src/ContainerExceptionInterface.php | 3 - .../psr/container/src/ContainerInterface.php | 9 +- .../src/NotFoundExceptionInterface.php | 3 - vendor/psr/http-factory/.pullapprove.yml | 7 - vendor/psr/http-factory/README.md | 12 +- vendor/psr/http-factory/composer.json | 4 +- vendor/psr/log/Psr/Log/AbstractLogger.php | 32 +- vendor/psr/log/Psr/Log/LoggerAwareTrait.php | 2 +- vendor/psr/log/composer.json | 2 +- vendor/symfony-cmf/routing/composer.json | 2 +- .../symfony-cmf/routing/src/DynamicRouter.php | 8 +- .../routing/src/Event/RouterMatchEvent.php | 2 +- .../tests/Unit/Routing/ChainRouterTest.php | 9 +- vendor/symfony/console/Application.php | 44 +- vendor/symfony/console/CHANGELOG.md | 32 +- vendor/symfony/console/Command/Command.php | 33 +- .../symfony/console/Command/HelpCommand.php | 2 +- .../symfony/console/Command/ListCommand.php | 2 +- vendor/symfony/console/ConsoleEvents.php | 8 +- .../AddConsoleCommandPass.php | 2 +- .../Descriptor/ApplicationDescription.php | 6 +- .../symfony/console/Descriptor/Descriptor.php | 10 - .../console/Descriptor/JsonDescriptor.php | 4 +- .../console/Descriptor/MarkdownDescriptor.php | 2 +- .../console/Descriptor/TextDescriptor.php | 10 +- .../console/Descriptor/XmlDescriptor.php | 4 +- .../console/Event/ConsoleCommandEvent.php | 2 +- .../console/Event/ConsoleErrorEvent.php | 2 +- vendor/symfony/console/Event/ConsoleEvent.php | 2 +- .../console/EventListener/ErrorListener.php | 4 +- .../Exception/CommandNotFoundException.php | 10 +- .../Exception/InvalidOptionException.php | 2 +- .../console/Formatter/OutputFormatter.php | 30 +- .../Formatter/OutputFormatterStyle.php | 3 +- .../Formatter/OutputFormatterStyleStack.php | 2 +- vendor/symfony/console/Helper/Helper.php | 6 + vendor/symfony/console/Helper/HelperSet.php | 3 +- .../symfony/console/Helper/ProcessHelper.php | 8 +- vendor/symfony/console/Helper/ProgressBar.php | 19 +- .../console/Helper/ProgressIndicator.php | 6 +- .../symfony/console/Helper/QuestionHelper.php | 68 +- .../console/Helper/SymfonyQuestionHelper.php | 2 +- vendor/symfony/console/Helper/Table.php | 133 +- vendor/symfony/console/Input/ArgvInput.php | 14 +- vendor/symfony/console/Input/ArrayInput.php | 9 +- vendor/symfony/console/Input/Input.php | 8 +- .../symfony/console/Input/InputArgument.php | 20 +- .../symfony/console/Input/InputDefinition.php | 8 +- .../symfony/console/Input/InputInterface.php | 24 +- vendor/symfony/console/Input/InputOption.php | 43 +- vendor/symfony/console/Input/StringInput.php | 34 +- vendor/symfony/console/LICENSE | 2 +- .../symfony/console/Logger/ConsoleLogger.php | 8 +- .../symfony/console/Output/ConsoleOutput.php | 17 +- vendor/symfony/console/Output/Output.php | 4 +- .../console/Output/OutputInterface.php | 18 +- .../console/Output/TrimmedBufferOutput.php | 63 + .../console/Question/ChoiceQuestion.php | 6 +- vendor/symfony/console/Question/Question.php | 6 +- vendor/symfony/console/README.md | 10 +- vendor/symfony/console/Style/SymfonyStyle.php | 30 +- .../console/Tester/ApplicationTester.php | 38 +- vendor/symfony/console/Tester/TesterTrait.php | 4 +- vendor/symfony/console/composer.json | 9 +- vendor/symfony/debug/CHANGELOG.md | 49 +- vendor/symfony/debug/Debug.php | 2 +- vendor/symfony/debug/DebugClassLoader.php | 12 +- vendor/symfony/debug/ErrorHandler.php | 14 +- .../debug/Exception/FatalErrorException.php | 5 +- .../debug/Exception/FatalThrowableError.php | 2 +- .../debug/Exception/FlattenException.php | 12 +- vendor/symfony/debug/ExceptionHandler.php | 4 +- .../UndefinedMethodFatalErrorHandler.php | 2 +- vendor/symfony/debug/LICENSE | 2 +- vendor/symfony/debug/README.md | 10 +- vendor/symfony/debug/composer.json | 5 +- vendor/symfony/dependency-injection/Alias.php | 8 +- .../Argument/BoundArgument.php | 10 +- .../Argument/ServiceLocator.php | 2 + .../Argument/TaggedIteratorArgument.php | 4 +- .../symfony/dependency-injection/CHANGELOG.md | 5 +- .../dependency-injection/ChildDefinition.php | 2 +- .../Compiler/AbstractRecursivePass.php | 35 +- .../Compiler/AnalyzeServiceReferencesPass.php | 11 +- .../Compiler/AutowirePass.php | 65 +- .../Compiler/AutowireRequiredMethodsPass.php | 2 +- .../Compiler/CheckArgumentsValidityPass.php | 32 + .../Compiler/CheckDefinitionValidityPass.php | 4 +- .../Compiler/CheckTypeDeclarationsPass.php | 70 +- .../Compiler/Compiler.php | 2 +- .../Compiler/DecoratorServicePass.php | 25 +- .../Compiler/InlineServiceDefinitionsPass.php | 8 +- .../MergeExtensionConfigurationPass.php | 12 +- .../Compiler/PassConfig.php | 13 +- .../Compiler/PriorityTaggedServiceTrait.php | 23 +- .../Compiler/RegisterEnvVarProcessorsPass.php | 6 +- .../RegisterServiceSubscribersPass.php | 10 +- .../Compiler/ResolveBindingsPass.php | 25 +- .../Compiler/ResolveChildDefinitionsPass.php | 10 +- .../Compiler/ResolveClassPass.php | 2 +- .../ResolveInstanceofConditionalsPass.php | 24 +- .../Compiler/ResolveNamedArgumentsPass.php | 4 +- .../ResolveParameterPlaceHoldersPass.php | 5 + .../ResolveReferencesToAliasesPass.php | 5 +- .../Compiler/ServiceLocatorTagPass.php | 4 + .../Compiler/ValidateEnvPlaceholdersPass.php | 60 +- .../Config/ContainerParametersResource.php | 3 - .../dependency-injection/Container.php | 14 +- .../dependency-injection/ContainerBuilder.php | 30 +- .../ContainerInterface.php | 18 +- .../dependency-injection/Definition.php | 23 +- .../dependency-injection/Dumper/PhpDumper.php | 228 +- .../dependency-injection/Dumper/Preloader.php | 2 +- .../dependency-injection/Dumper/XmlDumper.php | 18 +- .../Dumper/YamlDumper.php | 10 +- .../dependency-injection/EnvVarProcessor.php | 20 +- .../Exception/AutowiringFailedException.php | 4 +- .../InvalidParameterTypeException.php | 7 +- .../Exception/ParameterNotFoundException.php | 12 +- .../Extension/Extension.php | 6 +- vendor/symfony/dependency-injection/LICENSE | 2 +- .../LazyProxy/ProxyHelper.php | 37 +- .../Configurator/AbstractConfigurator.php | 17 +- .../AbstractServiceConfigurator.php | 4 +- .../Loader/Configurator/AliasConfigurator.php | 4 +- .../Configurator/ContainerConfigurator.php | 2 +- .../Configurator/DefaultsConfigurator.php | 6 +- .../InlineServiceConfigurator.php | 4 +- .../Configurator/InstanceofConfigurator.php | 4 +- .../Configurator/ParametersConfigurator.php | 8 +- .../Configurator/PrototypeConfigurator.php | 4 +- .../Configurator/ServiceConfigurator.php | 6 +- .../Configurator/ServicesConfigurator.php | 2 +- .../Loader/Configurator/Traits/BindTrait.php | 7 +- .../Configurator/Traits/FactoryTrait.php | 3 +- .../Loader/Configurator/Traits/TagTrait.php | 2 +- .../Loader/DirectoryLoader.php | 2 +- .../Loader/FileLoader.php | 10 +- .../Loader/XmlFileLoader.php | 59 +- .../Loader/YamlFileLoader.php | 82 +- .../schema/dic/services/services-1.0.xsd | 1 + .../ParameterBag/ContainerBag.php | 4 + .../EnvPlaceholderParameterBag.php | 14 +- .../ParameterBag/ParameterBag.php | 22 +- .../ParameterBag/ParameterBagInterface.php | 8 +- vendor/symfony/dependency-injection/README.md | 10 +- .../dependency-injection/ServiceLocator.php | 5 + .../dependency-injection/TypedReference.php | 8 +- .../dependency-injection/composer.json | 9 +- .../deprecation-contracts}/.gitignore | 3 +- .../deprecation-contracts/CHANGELOG.md | 5 + vendor/symfony/deprecation-contracts/LICENSE | 19 + .../symfony/deprecation-contracts/README.md | 26 + .../deprecation-contracts/composer.json | 35 + .../deprecation-contracts/function.php | 27 + .../symfony/error-handler/BufferingLogger.php | 15 +- vendor/symfony/error-handler/Debug.php | 2 +- .../error-handler/DebugClassLoader.php | 42 +- .../error-handler/Error/FatalError.php | 3 +- .../UndefinedMethodErrorEnhancer.php | 2 +- vendor/symfony/error-handler/ErrorHandler.php | 45 +- .../ErrorRenderer/HtmlErrorRenderer.php | 12 +- .../Exception/FlattenException.php | 59 +- vendor/symfony/error-handler/LICENSE | 2 +- vendor/symfony/error-handler/README.md | 8 +- .../Resources/assets/css/exception.css | 2 +- .../Resources/assets/js/exception.js | 471 +- .../Resources/views/exception_full.html.php | 9 +- .../Resources/views/logs.html.php | 2 +- .../symfony/error-handler/ThrowableUtils.php | 9 +- vendor/symfony/error-handler/composer.json | 5 +- .../event-dispatcher-contracts/LICENSE | 2 +- .../event-dispatcher-contracts/README.md | 2 +- .../event-dispatcher-contracts/composer.json | 2 +- vendor/symfony/event-dispatcher/CHANGELOG.md | 14 +- .../Debug/TraceableEventDispatcher.php | 12 +- .../Debug/WrappedListener.php | 2 +- .../RegisterListenersPass.php | 4 +- .../event-dispatcher/EventDispatcher.php | 10 +- .../EventSubscriberInterface.php | 2 +- .../symfony/event-dispatcher/GenericEvent.php | 9 + .../ImmutableEventDispatcher.php | 4 +- vendor/symfony/event-dispatcher/LICENSE | 2 +- .../LegacyEventDispatcherProxy.php | 2 +- vendor/symfony/event-dispatcher/README.md | 10 +- vendor/symfony/event-dispatcher/composer.json | 7 +- .../http-client-contracts/CHANGELOG.md | 2 +- .../HttpClientInterface.php | 6 +- vendor/symfony/http-client-contracts/LICENSE | 2 +- .../symfony/http-client-contracts/README.md | 2 +- .../ResponseInterface.php | 6 +- .../ResponseStreamInterface.php | 2 + .../Test/Fixtures/web/index.php | 4 +- .../Test/HttpClientTestCase.php | 98 +- .../Test/TestHttpServer.php | 3 + .../http-client-contracts/composer.json | 3 +- .../http-foundation/AcceptHeaderItem.php | 2 +- .../symfony/http-foundation/ApacheRequest.php | 2 +- .../http-foundation/BinaryFileResponse.php | 88 +- vendor/symfony/http-foundation/Cookie.php | 12 +- .../MimeType/FileBinaryMimeTypeGuesser.php | 2 +- .../MimeType/MimeTypeExtensionGuesser.php | 2 +- .../symfony/http-foundation/File/Stream.php | 3 + .../http-foundation/File/UploadedFile.php | 16 +- vendor/symfony/http-foundation/FileBag.php | 36 +- vendor/symfony/http-foundation/HeaderBag.php | 18 +- .../symfony/http-foundation/HeaderUtils.php | 25 +- vendor/symfony/http-foundation/IpUtils.php | 23 +- .../symfony/http-foundation/JsonResponse.php | 18 +- vendor/symfony/http-foundation/LICENSE | 2 +- .../symfony/http-foundation/ParameterBag.php | 2 + vendor/symfony/http-foundation/README.md | 10 +- vendor/symfony/http-foundation/Request.php | 130 +- .../http-foundation/RequestMatcher.php | 6 +- .../symfony/http-foundation/RequestStack.php | 6 +- vendor/symfony/http-foundation/Response.php | 163 +- .../http-foundation/ResponseHeaderBag.php | 14 +- vendor/symfony/http-foundation/ServerBag.php | 8 +- .../Session/Attribute/AttributeBag.php | 2 + .../Attribute/NamespacedAttributeBag.php | 2 +- .../Session/Flash/AutoExpireFlashBag.php | 2 +- .../http-foundation/Session/Session.php | 8 +- .../Handler/AbstractSessionHandler.php | 13 +- .../Handler/MemcachedSessionHandler.php | 9 +- .../Handler/MigratingSessionHandler.php | 10 +- .../Storage/Handler/MongoDbSessionHandler.php | 17 +- .../Handler/NativeFileSessionHandler.php | 2 +- .../Storage/Handler/NullSessionHandler.php | 8 +- .../Storage/Handler/PdoSessionHandler.php | 55 +- .../Storage/Handler/RedisSessionHandler.php | 13 +- .../Storage/Handler/SessionHandlerFactory.php | 34 +- .../Storage/Handler/StrictSessionHandler.php | 17 +- .../Session/Storage/MetadataBag.php | 8 +- .../Storage/MockArraySessionStorage.php | 2 +- .../Storage/MockFileSessionStorage.php | 28 +- .../Session/Storage/NativeSessionStorage.php | 49 +- .../Storage/Proxy/SessionHandlerProxy.php | 30 +- .../Constraint/ResponseCookieValueSame.php | 2 +- vendor/symfony/http-foundation/UrlHelper.php | 4 +- vendor/symfony/http-foundation/composer.json | 5 +- .../CacheWarmer/CacheWarmerAggregate.php | 4 +- vendor/symfony/http-kernel/Client.php | 2 +- .../http-kernel/Config/FileLocator.php | 6 +- .../Controller/ArgumentResolver.php | 2 +- .../NotTaggedControllerValueResolver.php | 5 +- .../Controller/ControllerResolver.php | 14 +- .../ArgumentMetadataFactory.php | 20 +- .../ArgumentMetadataFactoryInterface.php | 2 +- .../DataCollector/AjaxDataCollector.php | 2 +- .../DataCollector/ConfigDataCollector.php | 31 +- .../DataCollector/DataCollector.php | 4 + .../DataCollector/DataCollectorInterface.php | 2 +- .../DataCollector/DumpDataCollector.php | 28 +- .../DataCollector/EventDataCollector.php | 2 +- .../DataCollector/ExceptionDataCollector.php | 2 +- .../DataCollector/LoggerDataCollector.php | 16 +- .../DataCollector/MemoryDataCollector.php | 8 +- .../DataCollector/RequestDataCollector.php | 23 +- .../DataCollector/RouterDataCollector.php | 2 +- .../DataCollector/TimeDataCollector.php | 4 +- .../http-kernel/Debug/FileLinkFormatter.php | 8 +- .../Debug/TraceableEventDispatcher.php | 19 +- .../AddAnnotatedClassesToCachePass.php | 6 +- ...RegisterControllerArgumentLocatorsPass.php | 11 +- ...oveEmptyControllerArgumentLocatorsPass.php | 4 +- .../http-kernel/Event/ExceptionEvent.php | 2 +- .../EventListener/AbstractSessionListener.php | 16 +- .../AbstractTestSessionListener.php | 2 +- .../EventListener/DebugHandlersListener.php | 13 +- .../EventListener/ProfilerListener.php | 19 +- .../EventListener/RouterListener.php | 4 +- .../EventListener/SessionListener.php | 16 +- .../Exception/AccessDeniedHttpException.php | 8 +- .../Exception/BadRequestHttpException.php | 8 +- .../Exception/ConflictHttpException.php | 8 +- ...ntrollerDoesNotReturnResponseException.php | 2 +- .../Exception/GoneHttpException.php | 8 +- .../http-kernel/Exception/HttpException.php | 2 +- .../Exception/LengthRequiredHttpException.php | 8 +- .../MethodNotAllowedHttpException.php | 10 +- .../Exception/NotAcceptableHttpException.php | 8 +- .../Exception/NotFoundHttpException.php | 8 +- .../PreconditionFailedHttpException.php | 8 +- .../PreconditionRequiredHttpException.php | 8 +- .../ServiceUnavailableHttpException.php | 10 +- .../TooManyRequestsHttpException.php | 10 +- .../Exception/UnauthorizedHttpException.php | 10 +- .../UnprocessableEntityHttpException.php | 8 +- .../UnsupportedMediaTypeHttpException.php | 8 +- .../AbstractSurrogateFragmentRenderer.php | 12 +- .../Fragment/HIncludeFragmentRenderer.php | 2 +- .../Fragment/RoutableFragmentRenderer.php | 2 +- .../HttpCache/AbstractSurrogate.php | 4 +- vendor/symfony/http-kernel/HttpCache/Esi.php | 4 +- .../http-kernel/HttpCache/HttpCache.php | 18 +- .../HttpCache/ResponseCacheStrategy.php | 39 +- vendor/symfony/http-kernel/HttpCache/Ssi.php | 2 +- .../symfony/http-kernel/HttpCache/Store.php | 34 +- vendor/symfony/http-kernel/HttpKernel.php | 20 +- .../http-kernel/HttpKernelInterface.php | 4 +- vendor/symfony/http-kernel/Kernel.php | 55 +- vendor/symfony/http-kernel/KernelEvents.php | 16 +- .../symfony/http-kernel/KernelInterface.php | 2 +- vendor/symfony/http-kernel/LICENSE | 2 +- vendor/symfony/http-kernel/Log/Logger.php | 32 +- .../Profiler/FileProfilerStorage.php | 56 +- .../symfony/http-kernel/Profiler/Profile.php | 6 +- .../symfony/http-kernel/Profiler/Profiler.php | 2 +- vendor/symfony/http-kernel/README.md | 13 +- .../http-kernel/Resources/welcome.html.php | 16 +- vendor/symfony/http-kernel/UriSigner.php | 6 +- vendor/symfony/http-kernel/composer.json | 16 +- vendor/symfony/mime/Address.php | 40 +- vendor/symfony/mime/CHANGELOG.md | 6 + vendor/symfony/mime/CharacterStream.php | 8 +- vendor/symfony/mime/Crypto/DkimOptions.php | 97 + vendor/symfony/mime/Crypto/DkimSigner.php | 220 + vendor/symfony/mime/Crypto/SMime.php | 2 +- .../AddMimeTypeGuesserPass.php | 4 + vendor/symfony/mime/Email.php | 105 +- .../mime/Encoder/IdnAddressEncoder.php | 14 +- vendor/symfony/mime/Encoder/QpEncoder.php | 6 +- .../symfony/mime/Encoder/Rfc2231Encoder.php | 2 +- .../mime/FileBinaryMimeTypeGuesser.php | 2 +- vendor/symfony/mime/Header/AbstractHeader.php | 15 +- vendor/symfony/mime/Header/Headers.php | 77 +- .../mime/Header/ParameterizedHeader.php | 22 +- vendor/symfony/mime/LICENSE | 2 +- vendor/symfony/mime/Message.php | 4 +- vendor/symfony/mime/MessageConverter.php | 2 +- .../symfony/mime/MimeTypeGuesserInterface.php | 4 - vendor/symfony/mime/MimeTypes.php | 598 +- vendor/symfony/mime/MimeTypesInterface.php | 8 +- vendor/symfony/mime/Part/DataPart.php | 30 +- .../mime/Part/Multipart/FormDataPart.php | 13 +- vendor/symfony/mime/Part/SMimePart.php | 5 + vendor/symfony/mime/Part/TextPart.php | 13 +- vendor/symfony/mime/README.md | 10 +- vendor/symfony/mime/RawMessage.php | 5 +- .../mime/Resources/bin/update_mime_types.php | 83 +- .../Test/Constraint/EmailAddressContains.php | 2 +- .../mime/Test/Constraint/EmailHeaderSame.php | 8 +- vendor/symfony/mime/composer.json | 16 +- vendor/symfony/polyfill-ctype/Ctype.php | 53 +- vendor/symfony/polyfill-ctype/README.md | 2 +- vendor/symfony/polyfill-ctype/bootstrap.php | 26 +- vendor/symfony/polyfill-ctype/bootstrap80.php | 46 + vendor/symfony/polyfill-ctype/composer.json | 5 +- vendor/symfony/polyfill-iconv/Iconv.php | 51 +- vendor/symfony/polyfill-iconv/README.md | 2 +- .../Resources/charset/translit.php | 5 +- vendor/symfony/polyfill-iconv/bootstrap.php | 8 +- vendor/symfony/polyfill-iconv/bootstrap80.php | 80 + vendor/symfony/polyfill-iconv/composer.json | 5 +- vendor/symfony/polyfill-intl-idn/Idn.php | 132 +- vendor/symfony/polyfill-intl-idn/README.md | 2 +- .../symfony/polyfill-intl-idn/bootstrap.php | 14 +- .../symfony/polyfill-intl-idn/bootstrap80.php | 125 + .../symfony/polyfill-intl-idn/composer.json | 2 +- .../polyfill-intl-normalizer/Normalizer.php | 44 +- .../polyfill-intl-normalizer/README.md | 2 +- .../Resources/stubs/Normalizer.php | 18 +- .../polyfill-intl-normalizer/bootstrap.php | 8 +- .../polyfill-intl-normalizer/bootstrap80.php | 19 + .../polyfill-intl-normalizer/composer.json | 2 +- vendor/symfony/polyfill-mbstring/Mbstring.php | 134 +- vendor/symfony/polyfill-mbstring/README.md | 2 +- .../Resources/unidata/lowerCase.php | 2 +- .../Resources/unidata/upperCase.php | 129 +- .../symfony/polyfill-mbstring/bootstrap.php | 16 +- .../symfony/polyfill-mbstring/bootstrap80.php | 143 + .../symfony/polyfill-mbstring/composer.json | 5 +- vendor/symfony/polyfill-php72/LICENSE | 2 +- vendor/symfony/polyfill-php72/Php72.php | 24 +- vendor/symfony/polyfill-php72/README.md | 9 +- vendor/symfony/polyfill-php72/bootstrap.php | 4 +- vendor/symfony/polyfill-php72/composer.json | 2 +- vendor/symfony/polyfill-php73/LICENSE | 2 +- vendor/symfony/polyfill-php73/Php73.php | 2 +- vendor/symfony/polyfill-php73/README.md | 2 +- .../Resources/stubs/JsonException.php | 6 +- vendor/symfony/polyfill-php73/bootstrap.php | 4 +- vendor/symfony/polyfill-php73/composer.json | 2 +- vendor/symfony/polyfill-php80/Php80.php | 28 +- vendor/symfony/polyfill-php80/PhpToken.php | 103 + vendor/symfony/polyfill-php80/README.md | 9 +- .../Resources/stubs/Attribute.php | 27 +- .../Resources/stubs/PhpToken.php | 16 + .../Resources/stubs/Stringable.php | 9 + .../Resources/stubs/UnhandledMatchError.php | 15 +- .../Resources/stubs/ValueError.php | 15 +- vendor/symfony/polyfill-php80/bootstrap.php | 12 +- vendor/symfony/polyfill-php80/composer.json | 2 +- .../Exception/ProcessTimedOutException.php | 4 +- vendor/symfony/process/ExecutableFinder.php | 4 +- vendor/symfony/process/InputStream.php | 1 + vendor/symfony/process/LICENSE | 2 +- .../symfony/process/PhpExecutableFinder.php | 10 +- .../symfony/process/Pipes/AbstractPipes.php | 10 +- .../symfony/process/Pipes/PipesInterface.php | 2 +- vendor/symfony/process/Pipes/UnixPipes.php | 13 + vendor/symfony/process/Pipes/WindowsPipes.php | 15 +- vendor/symfony/process/Process.php | 102 +- vendor/symfony/process/ProcessUtils.php | 2 +- vendor/symfony/process/README.md | 10 +- vendor/symfony/process/composer.json | 5 +- .../psr-http-message-bridge/.gitignore | 5 - .../psr-http-message-bridge/.php_cs.dist | 24 - .../psr-http-message-bridge/.travis.yml | 48 - .../PsrServerRequestResolver.php | 58 + .../psr-http-message-bridge/CHANGELOG.md | 14 + .../EventListener/PsrResponseListener.php | 50 + .../Factory/PsrHttpFactory.php | 16 +- .../Factory/UploadedFile.php | 4 +- .../symfony/psr-http-message-bridge/LICENSE | 2 +- .../symfony/psr-http-message-bridge/README.md | 1 - .../psr-http-message-bridge/composer.json | 14 +- .../psr-http-message-bridge/phpunit.xml.dist | 29 - vendor/symfony/routing/CHANGELOG.md | 18 +- .../Exception/MethodNotAllowedException.php | 7 +- .../Generator/CompiledUrlGenerator.php | 2 +- .../routing/Generator/UrlGenerator.php | 6 +- .../Generator/UrlGeneratorInterface.php | 8 +- vendor/symfony/routing/LICENSE | 2 +- .../Loader/AnnotationDirectoryLoader.php | 2 +- .../routing/Loader/AnnotationFileLoader.php | 10 +- .../Configurator/CollectionConfigurator.php | 13 + .../Configurator/ImportConfigurator.php | 13 + .../Loader/Configurator/Traits/RouteTrait.php | 2 +- .../routing/Loader/ContainerLoader.php | 2 +- .../symfony/routing/Loader/XmlFileLoader.php | 12 +- .../symfony/routing/Loader/YamlFileLoader.php | 38 +- .../routing/Matcher/CompiledUrlMatcher.php | 2 +- .../Dumper/CompiledUrlMatcherDumper.php | 24 +- .../Dumper/CompiledUrlMatcherTrait.php | 4 +- .../Matcher/Dumper/StaticPrefixCollection.php | 12 +- .../routing/Matcher/TraceableUrlMatcher.php | 10 +- vendor/symfony/routing/Matcher/UrlMatcher.php | 14 +- vendor/symfony/routing/README.md | 10 +- vendor/symfony/routing/RequestContext.php | 2 +- vendor/symfony/routing/Route.php | 76 +- vendor/symfony/routing/RouteCollection.php | 4 +- .../routing/RouteCollectionBuilder.php | 4 +- vendor/symfony/routing/RouteCompiler.php | 12 +- vendor/symfony/routing/Router.php | 4 +- vendor/symfony/routing/composer.json | 9 +- .../symfony/serializer/Annotation/Groups.php | 4 +- .../serializer/Encoder/ChainDecoder.php | 6 +- .../serializer/Encoder/ChainEncoder.php | 6 +- .../symfony/serializer/Encoder/CsvEncoder.php | 33 +- .../serializer/Encoder/EncoderInterface.php | 2 +- .../symfony/serializer/Encoder/JsonDecode.php | 6 +- .../symfony/serializer/Encoder/JsonEncode.php | 2 +- .../serializer/Encoder/JsonEncoder.php | 6 +- .../symfony/serializer/Encoder/XmlEncoder.php | 126 +- .../serializer/Encoder/YamlEncoder.php | 6 +- vendor/symfony/serializer/LICENSE | 2 +- .../Mapping/ClassDiscriminatorMapping.php | 2 +- .../Mapping/Loader/AnnotationLoader.php | 6 +- .../Mapping/Loader/XmlFileLoader.php | 2 +- .../Normalizer/AbstractNormalizer.php | 82 +- .../Normalizer/AbstractObjectNormalizer.php | 152 +- .../Normalizer/ArrayDenormalizer.php | 6 +- .../ConstraintViolationListNormalizer.php | 12 +- .../Normalizer/CustomNormalizer.php | 2 +- .../Normalizer/DataUriNormalizer.php | 12 +- .../Normalizer/DateIntervalNormalizer.php | 8 +- .../Normalizer/DateTimeNormalizer.php | 24 +- .../Normalizer/DateTimeZoneNormalizer.php | 4 + .../Normalizer/DenormalizableInterface.php | 2 - .../Normalizer/GetSetMethodNormalizer.php | 12 +- .../Normalizer/JsonSerializableNormalizer.php | 2 +- .../Normalizer/ObjectNormalizer.php | 10 +- .../Normalizer/ProblemNormalizer.php | 17 +- .../Normalizer/PropertyNormalizer.php | 30 +- vendor/symfony/serializer/README.md | 17 +- vendor/symfony/serializer/Serializer.php | 8 +- vendor/symfony/serializer/composer.json | 18 +- .../service-contracts/Attribute/Required.php | 4 +- .../Attribute/SubscribedService.php | 33 + vendor/symfony/service-contracts/CHANGELOG.md | 2 +- vendor/symfony/service-contracts/LICENSE | 2 +- vendor/symfony/service-contracts/README.md | 2 +- .../service-contracts/ServiceLocatorTrait.php | 6 +- .../ServiceSubscriberInterface.php | 2 +- .../ServiceSubscriberTrait.php | 70 +- .../Test/ServiceLocatorTest.php | 7 +- .../symfony/service-contracts/composer.json | 8 +- .../translation-contracts/CHANGELOG.md | 2 +- vendor/symfony/translation-contracts/LICENSE | 2 +- .../LocaleAwareInterface.php | 2 +- .../symfony/translation-contracts/README.md | 2 +- .../Test/TranslatorTest.php | 53 +- .../TranslatorInterface.php | 4 +- .../translation-contracts/TranslatorTrait.php | 11 +- .../translation-contracts/composer.json | 2 +- .../translation/Catalogue/MergeOperation.php | 14 +- .../translation/Catalogue/TargetOperation.php | 14 +- .../translation/Command/XliffLintCommand.php | 8 +- .../TranslationDataCollector.php | 10 +- .../translation/DataCollectorTranslator.php | 6 +- .../TranslatorPathsPass.php | 5 +- .../translation/Dumper/CsvFileDumper.php | 2 +- .../translation/Dumper/IcuResFileDumper.php | 4 +- .../translation/Dumper/MoFileDumper.php | 2 +- .../translation/Dumper/XliffFileDumper.php | 16 +- .../translation/Dumper/YamlFileDumper.php | 2 +- .../Extractor/ExtractorInterface.php | 2 +- .../translation/Extractor/PhpExtractor.php | 21 +- .../Extractor/PhpStringTokenParser.php | 2 +- .../translation/IdentityTranslator.php | 2 +- vendor/symfony/translation/LICENSE | 2 +- .../symfony/translation/Loader/FileLoader.php | 2 +- .../translation/Loader/IcuDatFileLoader.php | 2 +- .../translation/Loader/IcuResFileLoader.php | 2 +- .../translation/Loader/MoFileLoader.php | 18 +- .../translation/Loader/PhpFileLoader.php | 2 +- .../translation/Loader/QtFileLoader.php | 2 +- .../translation/Loader/XliffFileLoader.php | 8 +- .../translation/Loader/YamlFileLoader.php | 2 +- .../symfony/translation/MessageCatalogue.php | 35 +- .../translation/MessageCatalogueInterface.php | 2 +- .../translation/PluralizationRules.php | 11 +- vendor/symfony/translation/README.md | 12 +- .../Resources/bin/translation-status.php | 97 +- .../translation/Resources/data/parents.json | 7 +- vendor/symfony/translation/Translator.php | 29 +- .../symfony/translation/Util/XliffUtils.php | 49 +- vendor/symfony/translation/composer.json | 7 +- vendor/symfony/validator/CHANGELOG.md | 2 +- vendor/symfony/validator/Constraint.php | 30 +- .../symfony/validator/ConstraintValidator.php | 6 +- .../symfony/validator/ConstraintViolation.php | 6 +- .../validator/ConstraintViolationList.php | 12 + vendor/symfony/validator/Constraints/Bic.php | 12 +- .../validator/Constraints/BicValidator.php | 2 +- .../symfony/validator/Constraints/Blank.php | 2 +- .../validator/Constraints/CardScheme.php | 4 +- .../Constraints/CardSchemeValidator.php | 4 +- .../symfony/validator/Constraints/Choice.php | 6 +- .../validator/Constraints/Collection.php | 4 +- .../validator/Constraints/Composite.php | 6 +- .../symfony/validator/Constraints/Count.php | 4 +- .../symfony/validator/Constraints/Country.php | 2 +- .../Constraints/CountryValidator.php | 2 +- .../validator/Constraints/Currency.php | 2 +- .../Constraints/CurrencyValidator.php | 2 +- vendor/symfony/validator/Constraints/Date.php | 4 +- .../validator/Constraints/DateTime.php | 6 +- .../Constraints/DateTimeValidator.php | 6 +- .../validator/Constraints/DateValidator.php | 4 +- .../validator/Constraints/DivisibleBy.php | 2 +- .../symfony/validator/Constraints/Email.php | 6 +- .../validator/Constraints/EmailValidator.php | 21 +- .../symfony/validator/Constraints/EqualTo.php | 2 +- .../validator/Constraints/Expression.php | 2 +- .../Constraints/ExpressionValidator.php | 7 +- vendor/symfony/validator/Constraints/File.php | 16 +- .../validator/Constraints/FileValidator.php | 24 +- .../validator/Constraints/GreaterThan.php | 2 +- .../Constraints/GreaterThanOrEqual.php | 2 +- .../validator/Constraints/GroupSequence.php | 6 +- vendor/symfony/validator/Constraints/Iban.php | 10 +- .../validator/Constraints/IbanValidator.php | 8 +- .../validator/Constraints/IdenticalTo.php | 2 +- .../symfony/validator/Constraints/Image.php | 26 +- .../validator/Constraints/ImageValidator.php | 8 +- vendor/symfony/validator/Constraints/Ip.php | 26 +- .../validator/Constraints/IpValidator.php | 48 +- .../symfony/validator/Constraints/IsFalse.php | 2 +- .../symfony/validator/Constraints/IsNull.php | 2 +- .../symfony/validator/Constraints/IsTrue.php | 2 +- vendor/symfony/validator/Constraints/Isbn.php | 10 +- .../validator/Constraints/IsbnValidator.php | 5 +- vendor/symfony/validator/Constraints/Issn.php | 12 +- .../validator/Constraints/IssnValidator.php | 7 +- vendor/symfony/validator/Constraints/Json.php | 2 +- .../validator/Constraints/JsonValidator.php | 2 +- .../validator/Constraints/Language.php | 2 +- .../Constraints/LanguageValidator.php | 2 +- .../symfony/validator/Constraints/Length.php | 6 +- .../validator/Constraints/LengthValidator.php | 2 +- .../validator/Constraints/LessThan.php | 2 +- .../validator/Constraints/LessThanOrEqual.php | 2 +- .../symfony/validator/Constraints/Locale.php | 2 +- .../validator/Constraints/LocaleValidator.php | 2 +- vendor/symfony/validator/Constraints/Luhn.php | 4 +- .../validator/Constraints/NotBlank.php | 2 +- .../Constraints/NotCompromisedPassword.php | 2 +- .../NotCompromisedPasswordValidator.php | 4 +- .../validator/Constraints/NotEqualTo.php | 2 +- .../validator/Constraints/NotIdenticalTo.php | 2 +- .../symfony/validator/Constraints/NotNull.php | 2 +- .../symfony/validator/Constraints/Range.php | 8 +- .../validator/Constraints/RangeValidator.php | 2 +- .../symfony/validator/Constraints/Regex.php | 7 +- .../validator/Constraints/RegexValidator.php | 2 +- vendor/symfony/validator/Constraints/Time.php | 4 +- .../validator/Constraints/TimeValidator.php | 4 +- .../Constraints/TimezoneValidator.php | 2 +- vendor/symfony/validator/Constraints/Type.php | 2 +- vendor/symfony/validator/Constraints/Url.php | 28 +- .../validator/Constraints/UrlValidator.php | 12 +- vendor/symfony/validator/Constraints/Uuid.php | 22 +- .../validator/Constraints/UuidValidator.php | 16 +- .../validator/Context/ExecutionContext.php | 26 +- .../Context/ExecutionContextInterface.php | 4 +- .../DataCollector/ValidatorDataCollector.php | 2 +- .../AddAutoMappingConfigurationPass.php | 2 +- .../AddValidatorInitializersPass.php | 2 +- vendor/symfony/validator/LICENSE | 2 +- .../validator/Mapping/Cache/Psr6Cache.php | 2 +- .../validator/Mapping/CascadingStrategy.php | 4 +- .../validator/Mapping/ClassMetadata.php | 12 +- .../Factory/LazyLoadingMetadataFactory.php | 2 +- .../validator/Mapping/GetterMetadata.php | 2 +- .../Mapping/Loader/AbstractLoader.php | 8 +- .../Mapping/Loader/AnnotationLoader.php | 2 +- .../Mapping/Loader/XmlFileLoader.php | 2 +- .../validator/Mapping/MemberMetadata.php | 4 +- .../validator/Mapping/TraversalStrategy.php | 6 +- vendor/symfony/validator/README.md | 10 +- .../Test/ConstraintValidatorTestCase.php | 30 +- .../ContextualValidatorInterface.php | 20 +- .../validator/Validator/LazyProperty.php | 2 +- .../RecursiveContextualValidator.php | 110 +- .../Validator/TraceableValidator.php | 2 +- .../Validator/ValidatorInterface.php | 20 +- vendor/symfony/validator/ValidatorBuilder.php | 51 +- vendor/symfony/validator/composer.json | 11 +- vendor/symfony/var-dumper/CHANGELOG.md | 14 + .../symfony/var-dumper/Caster/AmqpCaster.php | 8 +- vendor/symfony/var-dumper/Caster/ArgsStub.php | 4 +- vendor/symfony/var-dumper/Caster/Caster.php | 36 +- .../symfony/var-dumper/Caster/ClassStub.php | 4 +- .../symfony/var-dumper/Caster/DOMCaster.php | 14 +- .../symfony/var-dumper/Caster/DateCaster.php | 15 +- .../var-dumper/Caster/ExceptionCaster.php | 50 +- .../symfony/var-dumper/Caster/FiberCaster.php | 43 + .../symfony/var-dumper/Caster/IntlCaster.php | 2 +- vendor/symfony/var-dumper/Caster/LinkStub.php | 10 +- .../var-dumper/Caster/MemcachedCaster.php | 2 +- .../var-dumper/Caster/MysqliCaster.php | 33 + .../symfony/var-dumper/Caster/PdoCaster.php | 4 +- .../symfony/var-dumper/Caster/PgSqlCaster.php | 20 +- .../var-dumper/Caster/RdKafkaCaster.php | 20 +- .../symfony/var-dumper/Caster/RedisCaster.php | 28 +- .../var-dumper/Caster/ReflectionCaster.php | 100 +- .../var-dumper/Caster/ResourceCaster.php | 8 +- .../symfony/var-dumper/Caster/SplCaster.php | 15 +- .../var-dumper/Caster/SymfonyCaster.php | 32 +- .../var-dumper/Caster/XmlReaderCaster.php | 28 +- .../var-dumper/Caster/XmlResourceCaster.php | 6 +- .../var-dumper/Cloner/AbstractCloner.php | 38 +- .../var-dumper/Cloner/ClonerInterface.php | 2 +- vendor/symfony/var-dumper/Cloner/Cursor.php | 8 +- vendor/symfony/var-dumper/Cloner/Data.php | 29 +- vendor/symfony/var-dumper/Cloner/Stub.php | 18 +- .../symfony/var-dumper/Cloner/VarCloner.php | 100 +- .../Command/Descriptor/CliDescriptor.php | 13 +- .../Command/Descriptor/HtmlDescriptor.php | 2 +- .../var-dumper/Command/ServerDumpCommand.php | 23 +- .../var-dumper/Dumper/AbstractDumper.php | 24 +- .../symfony/var-dumper/Dumper/CliDumper.php | 45 +- .../ContextProviderInterface.php | 3 - .../ContextProvider/SourceContextProvider.php | 6 +- .../symfony/var-dumper/Dumper/HtmlDumper.php | 64 +- vendor/symfony/var-dumper/LICENSE | 2 +- vendor/symfony/var-dumper/README.md | 12 +- .../var-dumper/Resources/bin/var-dump-server | 4 + .../var-dumper/Resources/functions/dump.php | 7 + .../symfony/var-dumper/Server/Connection.php | 10 +- .../symfony/var-dumper/Server/DumpServer.php | 10 +- vendor/symfony/var-dumper/VarDumper.php | 77 +- vendor/symfony/var-dumper/composer.json | 13 +- vendor/symfony/yaml/Command/LintCommand.php | 2 +- vendor/symfony/yaml/Dumper.php | 31 +- vendor/symfony/yaml/Escaper.php | 10 +- .../symfony/yaml/Exception/ParseException.php | 9 +- vendor/symfony/yaml/Inline.php | 81 +- vendor/symfony/yaml/LICENSE | 2 +- vendor/symfony/yaml/Parser.php | 320 +- vendor/symfony/yaml/README.md | 10 +- vendor/symfony/yaml/Unescaper.php | 2 +- vendor/symfony/yaml/Yaml.php | 24 +- vendor/symfony/yaml/composer.json | 2 +- vendor/twig/twig/.gitattributes | 5 +- vendor/twig/twig/.github/dependabot.yml | 6 + vendor/twig/twig/.github/workflows/ci.yml | 148 + .../twig/.github/workflows/documentation.yml | 64 + vendor/twig/twig/.gitignore | 2 + .../{.php_cs.dist => .php-cs-fixer.dist.php} | 4 +- vendor/twig/twig/.travis.yml | 49 - vendor/twig/twig/CHANGELOG | 1254 +- vendor/twig/twig/LICENSE | 2 +- vendor/twig/twig/README.rst | 3 +- vendor/twig/twig/composer.json | 9 +- vendor/twig/twig/drupal_test.sh | 50 - vendor/twig/twig/lib/Twig/BaseNodeVisitor.php | 4 +- .../twig/twig/lib/Twig/Cache/Filesystem.php | 4 +- vendor/twig/twig/lib/Twig/Cache/Null.php | 4 +- vendor/twig/twig/lib/Twig/CacheInterface.php | 4 +- vendor/twig/twig/lib/Twig/Compiler.php | 4 +- .../twig/lib/Twig/ContainerRuntimeLoader.php | 4 +- vendor/twig/twig/lib/Twig/Environment.php | 4 +- vendor/twig/twig/lib/Twig/Error.php | 4 +- vendor/twig/twig/lib/Twig/Error/Loader.php | 4 +- vendor/twig/twig/lib/Twig/Error/Runtime.php | 4 +- vendor/twig/twig/lib/Twig/Error/Syntax.php | 4 +- .../twig/lib/Twig/ExistsLoaderInterface.php | 4 +- .../twig/twig/lib/Twig/ExpressionParser.php | 4 +- vendor/twig/twig/lib/Twig/Extension.php | 4 +- vendor/twig/twig/lib/Twig/Extension/Core.php | 4 +- vendor/twig/twig/lib/Twig/Extension/Debug.php | 4 +- .../twig/twig/lib/Twig/Extension/Escaper.php | 4 +- .../lib/Twig/Extension/GlobalsInterface.php | 4 +- .../Twig/Extension/InitRuntimeInterface.php | 4 +- .../twig/lib/Twig/Extension/Optimizer.php | 4 +- .../twig/twig/lib/Twig/Extension/Profiler.php | 4 +- .../twig/twig/lib/Twig/Extension/Sandbox.php | 4 +- .../twig/twig/lib/Twig/Extension/Staging.php | 4 +- .../twig/lib/Twig/Extension/StringLoader.php | 4 +- .../twig/twig/lib/Twig/ExtensionInterface.php | 4 +- vendor/twig/twig/lib/Twig/ExtensionSet.php | 4 +- .../twig/lib/Twig/FactoryRuntimeLoader.php | 4 +- .../Twig/FileExtensionEscapingStrategy.php | 4 +- vendor/twig/twig/lib/Twig/Filter.php | 4 +- vendor/twig/twig/lib/Twig/Function.php | 4 +- vendor/twig/twig/lib/Twig/Lexer.php | 4 +- vendor/twig/twig/lib/Twig/Loader/Array.php | 4 +- vendor/twig/twig/lib/Twig/Loader/Chain.php | 4 +- .../twig/twig/lib/Twig/Loader/Filesystem.php | 4 +- vendor/twig/twig/lib/Twig/LoaderInterface.php | 4 +- vendor/twig/twig/lib/Twig/Markup.php | 4 +- vendor/twig/twig/lib/Twig/Node.php | 4 +- vendor/twig/twig/lib/Twig/Node/AutoEscape.php | 4 +- vendor/twig/twig/lib/Twig/Node/Block.php | 4 +- .../twig/lib/Twig/Node/BlockReference.php | 4 +- vendor/twig/twig/lib/Twig/Node/Body.php | 4 +- .../twig/twig/lib/Twig/Node/CheckSecurity.php | 4 +- vendor/twig/twig/lib/Twig/Node/Deprecated.php | 4 +- vendor/twig/twig/lib/Twig/Node/Do.php | 4 +- vendor/twig/twig/lib/Twig/Node/Embed.php | 4 +- vendor/twig/twig/lib/Twig/Node/Expression.php | 4 +- .../twig/lib/Twig/Node/Expression/Array.php | 4 +- .../lib/Twig/Node/Expression/AssignName.php | 4 +- .../twig/lib/Twig/Node/Expression/Binary.php | 4 +- .../lib/Twig/Node/Expression/Binary/Add.php | 4 +- .../lib/Twig/Node/Expression/Binary/And.php | 4 +- .../Node/Expression/Binary/BitwiseAnd.php | 4 +- .../Twig/Node/Expression/Binary/BitwiseOr.php | 4 +- .../Node/Expression/Binary/BitwiseXor.php | 4 +- .../Twig/Node/Expression/Binary/Concat.php | 4 +- .../lib/Twig/Node/Expression/Binary/Div.php | 4 +- .../Twig/Node/Expression/Binary/EndsWith.php | 4 +- .../lib/Twig/Node/Expression/Binary/Equal.php | 4 +- .../Twig/Node/Expression/Binary/FloorDiv.php | 4 +- .../Twig/Node/Expression/Binary/Greater.php | 4 +- .../Node/Expression/Binary/GreaterEqual.php | 4 +- .../lib/Twig/Node/Expression/Binary/In.php | 4 +- .../lib/Twig/Node/Expression/Binary/Less.php | 4 +- .../Twig/Node/Expression/Binary/LessEqual.php | 4 +- .../Twig/Node/Expression/Binary/Matches.php | 4 +- .../lib/Twig/Node/Expression/Binary/Mod.php | 4 +- .../lib/Twig/Node/Expression/Binary/Mul.php | 4 +- .../Twig/Node/Expression/Binary/NotEqual.php | 4 +- .../lib/Twig/Node/Expression/Binary/NotIn.php | 4 +- .../lib/Twig/Node/Expression/Binary/Or.php | 4 +- .../lib/Twig/Node/Expression/Binary/Power.php | 4 +- .../lib/Twig/Node/Expression/Binary/Range.php | 4 +- .../Node/Expression/Binary/StartsWith.php | 4 +- .../lib/Twig/Node/Expression/Binary/Sub.php | 4 +- .../Twig/Node/Expression/BlockReference.php | 4 +- .../twig/lib/Twig/Node/Expression/Call.php | 4 +- .../lib/Twig/Node/Expression/Conditional.php | 4 +- .../lib/Twig/Node/Expression/Constant.php | 4 +- .../twig/lib/Twig/Node/Expression/Filter.php | 4 +- .../Twig/Node/Expression/Filter/Default.php | 4 +- .../lib/Twig/Node/Expression/Function.php | 4 +- .../twig/lib/Twig/Node/Expression/GetAttr.php | 4 +- .../lib/Twig/Node/Expression/MethodCall.php | 4 +- .../twig/lib/Twig/Node/Expression/Name.php | 4 +- .../lib/Twig/Node/Expression/NullCoalesce.php | 4 +- .../twig/lib/Twig/Node/Expression/Parent.php | 4 +- .../lib/Twig/Node/Expression/TempName.php | 4 +- .../twig/lib/Twig/Node/Expression/Test.php | 4 +- .../Twig/Node/Expression/Test/Constant.php | 4 +- .../lib/Twig/Node/Expression/Test/Defined.php | 4 +- .../Twig/Node/Expression/Test/Divisibleby.php | 4 +- .../lib/Twig/Node/Expression/Test/Even.php | 4 +- .../lib/Twig/Node/Expression/Test/Null.php | 4 +- .../lib/Twig/Node/Expression/Test/Odd.php | 4 +- .../lib/Twig/Node/Expression/Test/Sameas.php | 4 +- .../twig/lib/Twig/Node/Expression/Unary.php | 4 +- .../lib/Twig/Node/Expression/Unary/Neg.php | 4 +- .../lib/Twig/Node/Expression/Unary/Not.php | 4 +- .../lib/Twig/Node/Expression/Unary/Pos.php | 4 +- vendor/twig/twig/lib/Twig/Node/Flush.php | 4 +- vendor/twig/twig/lib/Twig/Node/For.php | 4 +- vendor/twig/twig/lib/Twig/Node/ForLoop.php | 4 +- vendor/twig/twig/lib/Twig/Node/If.php | 4 +- vendor/twig/twig/lib/Twig/Node/Import.php | 4 +- vendor/twig/twig/lib/Twig/Node/Include.php | 4 +- vendor/twig/twig/lib/Twig/Node/Macro.php | 4 +- vendor/twig/twig/lib/Twig/Node/Module.php | 4 +- vendor/twig/twig/lib/Twig/Node/Print.php | 4 +- vendor/twig/twig/lib/Twig/Node/Sandbox.php | 4 +- .../twig/lib/Twig/Node/SandboxedPrint.php | 4 +- vendor/twig/twig/lib/Twig/Node/Set.php | 4 +- vendor/twig/twig/lib/Twig/Node/Spaceless.php | 4 +- vendor/twig/twig/lib/Twig/Node/Text.php | 4 +- vendor/twig/twig/lib/Twig/Node/With.php | 4 +- .../twig/lib/Twig/NodeCaptureInterface.php | 4 +- .../twig/lib/Twig/NodeOutputInterface.php | 4 +- vendor/twig/twig/lib/Twig/NodeTraverser.php | 4 +- .../twig/lib/Twig/NodeVisitor/Escaper.php | 4 +- .../twig/lib/Twig/NodeVisitor/Optimizer.php | 4 +- .../lib/Twig/NodeVisitor/SafeAnalysis.php | 4 +- .../twig/lib/Twig/NodeVisitor/Sandbox.php | 4 +- .../twig/lib/Twig/NodeVisitorInterface.php | 4 +- vendor/twig/twig/lib/Twig/Parser.php | 4 +- .../twig/lib/Twig/Profiler/Dumper/Base.php | 4 +- .../lib/Twig/Profiler/Dumper/Blackfire.php | 4 +- .../twig/lib/Twig/Profiler/Dumper/Html.php | 4 +- .../twig/lib/Twig/Profiler/Dumper/Text.php | 4 +- .../lib/Twig/Profiler/Node/EnterProfile.php | 4 +- .../lib/Twig/Profiler/Node/LeaveProfile.php | 4 +- .../Twig/Profiler/NodeVisitor/Profiler.php | 4 +- .../twig/twig/lib/Twig/Profiler/Profile.php | 4 +- .../twig/lib/Twig/RuntimeLoaderInterface.php | 4 +- .../twig/lib/Twig/Sandbox/SecurityError.php | 4 +- .../Sandbox/SecurityNotAllowedFilterError.php | 4 +- .../SecurityNotAllowedFunctionError.php | 4 +- .../Sandbox/SecurityNotAllowedMethodError.php | 4 +- .../SecurityNotAllowedPropertyError.php | 4 +- .../Sandbox/SecurityNotAllowedTagError.php | 4 +- .../twig/lib/Twig/Sandbox/SecurityPolicy.php | 4 +- .../Twig/Sandbox/SecurityPolicyInterface.php | 4 +- vendor/twig/twig/lib/Twig/SimpleFilter.php | 2 +- vendor/twig/twig/lib/Twig/SimpleFunction.php | 2 +- vendor/twig/twig/lib/Twig/SimpleTest.php | 2 +- vendor/twig/twig/lib/Twig/Source.php | 4 +- .../lib/Twig/SourceContextLoaderInterface.php | 4 +- vendor/twig/twig/lib/Twig/Template.php | 4 +- vendor/twig/twig/lib/Twig/TemplateWrapper.php | 4 +- vendor/twig/twig/lib/Twig/Test.php | 4 +- .../lib/Twig/Test/IntegrationTestCase.php | 4 +- .../twig/twig/lib/Twig/Test/NodeTestCase.php | 4 +- vendor/twig/twig/lib/Twig/Token.php | 4 +- vendor/twig/twig/lib/Twig/TokenParser.php | 4 +- .../twig/lib/Twig/TokenParser/AutoEscape.php | 4 +- .../twig/twig/lib/Twig/TokenParser/Block.php | 4 +- .../twig/lib/Twig/TokenParser/Deprecated.php | 4 +- vendor/twig/twig/lib/Twig/TokenParser/Do.php | 4 +- .../twig/twig/lib/Twig/TokenParser/Embed.php | 4 +- .../twig/lib/Twig/TokenParser/Extends.php | 4 +- .../twig/twig/lib/Twig/TokenParser/Filter.php | 4 +- .../twig/twig/lib/Twig/TokenParser/Flush.php | 4 +- vendor/twig/twig/lib/Twig/TokenParser/For.php | 4 +- .../twig/twig/lib/Twig/TokenParser/From.php | 4 +- vendor/twig/twig/lib/Twig/TokenParser/If.php | 4 +- .../twig/twig/lib/Twig/TokenParser/Import.php | 4 +- .../twig/lib/Twig/TokenParser/Include.php | 4 +- .../twig/twig/lib/Twig/TokenParser/Macro.php | 4 +- .../twig/lib/Twig/TokenParser/Sandbox.php | 4 +- vendor/twig/twig/lib/Twig/TokenParser/Set.php | 4 +- .../twig/lib/Twig/TokenParser/Spaceless.php | 4 +- vendor/twig/twig/lib/Twig/TokenParser/Use.php | 4 +- .../twig/twig/lib/Twig/TokenParser/With.php | 4 +- .../twig/lib/Twig/TokenParserInterface.php | 4 +- vendor/twig/twig/lib/Twig/TokenStream.php | 4 +- .../lib/Twig/Util/DeprecationCollector.php | 4 +- .../lib/Twig/Util/TemplateDirIterator.php | 4 +- .../twig/twig/src/Cache/FilesystemCache.php | 6 +- vendor/twig/twig/src/Compiler.php | 8 +- vendor/twig/twig/src/Environment.php | 45 +- vendor/twig/twig/src/Error/Error.php | 6 +- vendor/twig/twig/src/ExpressionParser.php | 14 +- .../twig/twig/src/Extension/CoreExtension.php | 168 +- .../twig/src/Extension/EscaperExtension.php | 26 +- .../twig/src/Extension/SandboxExtension.php | 4 +- vendor/twig/twig/src/ExtensionSet.php | 2 - .../src/FileExtensionEscapingStrategy.php | 2 +- vendor/twig/twig/src/Lexer.php | 43 +- .../twig/twig/src/Loader/FilesystemLoader.php | 12 +- vendor/twig/twig/src/Markup.php | 8 + .../src/Node/Expression/CallExpression.php | 90 +- .../twig/src/Node/Expression/Test/OddTest.php | 2 +- vendor/twig/twig/src/Node/IfNode.php | 5 +- vendor/twig/twig/src/Node/MacroNode.php | 2 +- vendor/twig/twig/src/Node/ModuleNode.php | 2 +- vendor/twig/twig/src/Node/Node.php | 10 +- vendor/twig/twig/src/NodeTraverser.php | 2 +- .../src/NodeVisitor/OptimizerNodeVisitor.php | 10 +- vendor/twig/twig/src/Parser.php | 11 +- .../NodeVisitor/ProfilerNodeVisitor.php | 22 +- vendor/twig/twig/src/Profiler/Profile.php | 21 +- .../Sandbox/SecurityNotAllowedFilterError.php | 6 +- .../SecurityNotAllowedFunctionError.php | 6 +- .../Sandbox/SecurityNotAllowedMethodError.php | 6 +- .../SecurityNotAllowedPropertyError.php | 6 +- .../Sandbox/SecurityNotAllowedTagError.php | 6 +- .../src/Sandbox/SecurityPolicyInterface.php | 12 +- vendor/twig/twig/src/Template.php | 6 +- .../twig/src/Test/IntegrationTestCase.php | 8 +- vendor/twig/twig/src/Token.php | 28 +- .../src/TokenParser/FilterTokenParser.php | 2 +- .../twig/src/TokenParser/ForTokenParser.php | 2 +- .../src/TokenParser/SpacelessTokenParser.php | 2 +- vendor/twig/twig/src/TwigFilter.php | 2 +- vendor/twig/twig/src/TwigFunction.php | 2 +- vendor/twig/twig/src/TwigTest.php | 2 +- .../twig/src/Util/DeprecationCollector.php | 2 +- .../twig/src/Util/TemplateDirIterator.php | 8 + vendor/typo3/phar-stream-wrapper/README.md | 5 +- vendor/typo3/phar-stream-wrapper/_config.yml | 1 - .../phar-stream-wrapper/src/Phar/Reader.php | 4 + web.config | 14 +- 11543 files changed, 493527 insertions(+), 124294 deletions(-) create mode 100644 README.md create mode 100644 core/.eslintrc.jquery.json rename README.txt => core/USAGE.txt (67%) create mode 100644 core/assets/scaffold/files/drupal.README.md delete mode 100644 core/assets/scaffold/files/drupal.README.txt create mode 100644 core/assets/vendor/backbone/backbone-min.js.map delete mode 100644 core/assets/vendor/backbone/backbone-min.map create mode 100644 core/assets/vendor/ckeditor/SECURITY.md create mode 100644 core/assets/vendor/ckeditor5/alignment/alignment.js create mode 100644 core/assets/vendor/ckeditor5/alignment/translations/af.js create mode 100644 core/assets/vendor/ckeditor5/alignment/translations/ar.js create mode 100644 core/assets/vendor/ckeditor5/alignment/translations/az.js create mode 100644 core/assets/vendor/ckeditor5/alignment/translations/bg.js create mode 100644 core/assets/vendor/ckeditor5/alignment/translations/bn.js create mode 100644 core/assets/vendor/ckeditor5/alignment/translations/bs.js create mode 100644 core/assets/vendor/ckeditor5/alignment/translations/ca.js create mode 100644 core/assets/vendor/ckeditor5/alignment/translations/cs.js create mode 100644 core/assets/vendor/ckeditor5/alignment/translations/da.js create mode 100644 core/assets/vendor/ckeditor5/alignment/translations/de-ch.js create mode 100644 core/assets/vendor/ckeditor5/alignment/translations/de.js create mode 100644 core/assets/vendor/ckeditor5/alignment/translations/el.js create mode 100644 core/assets/vendor/ckeditor5/alignment/translations/en-au.js create mode 100644 core/assets/vendor/ckeditor5/alignment/translations/en-gb.js create mode 100644 core/assets/vendor/ckeditor5/alignment/translations/es-co.js create mode 100644 core/assets/vendor/ckeditor5/alignment/translations/es.js create mode 100644 core/assets/vendor/ckeditor5/alignment/translations/et.js create mode 100644 core/assets/vendor/ckeditor5/alignment/translations/fa.js create mode 100644 core/assets/vendor/ckeditor5/alignment/translations/fi.js create mode 100644 core/assets/vendor/ckeditor5/alignment/translations/fr.js create mode 100644 core/assets/vendor/ckeditor5/alignment/translations/gl.js create mode 100644 core/assets/vendor/ckeditor5/alignment/translations/he.js create mode 100644 core/assets/vendor/ckeditor5/alignment/translations/hi.js create mode 100644 core/assets/vendor/ckeditor5/alignment/translations/hr.js create mode 100644 core/assets/vendor/ckeditor5/alignment/translations/hu.js create mode 100644 core/assets/vendor/ckeditor5/alignment/translations/id.js create mode 100644 core/assets/vendor/ckeditor5/alignment/translations/it.js create mode 100644 core/assets/vendor/ckeditor5/alignment/translations/ja.js create mode 100644 core/assets/vendor/ckeditor5/alignment/translations/jv.js create mode 100644 core/assets/vendor/ckeditor5/alignment/translations/kk.js create mode 100644 core/assets/vendor/ckeditor5/alignment/translations/km.js create mode 100644 core/assets/vendor/ckeditor5/alignment/translations/ko.js create mode 100644 core/assets/vendor/ckeditor5/alignment/translations/ku.js create mode 100644 core/assets/vendor/ckeditor5/alignment/translations/lt.js create mode 100644 core/assets/vendor/ckeditor5/alignment/translations/lv.js create mode 100644 core/assets/vendor/ckeditor5/alignment/translations/ms.js create mode 100644 core/assets/vendor/ckeditor5/alignment/translations/nb.js create mode 100644 core/assets/vendor/ckeditor5/alignment/translations/ne.js create mode 100644 core/assets/vendor/ckeditor5/alignment/translations/nl.js create mode 100644 core/assets/vendor/ckeditor5/alignment/translations/no.js create mode 100644 core/assets/vendor/ckeditor5/alignment/translations/pl.js create mode 100644 core/assets/vendor/ckeditor5/alignment/translations/pt-br.js create mode 100644 core/assets/vendor/ckeditor5/alignment/translations/pt.js create mode 100644 core/assets/vendor/ckeditor5/alignment/translations/ro.js create mode 100644 core/assets/vendor/ckeditor5/alignment/translations/ru.js create mode 100644 core/assets/vendor/ckeditor5/alignment/translations/sk.js create mode 100644 core/assets/vendor/ckeditor5/alignment/translations/sl.js create mode 100644 core/assets/vendor/ckeditor5/alignment/translations/sq.js create mode 100644 core/assets/vendor/ckeditor5/alignment/translations/sr-latn.js create mode 100644 core/assets/vendor/ckeditor5/alignment/translations/sr.js create mode 100644 core/assets/vendor/ckeditor5/alignment/translations/sv.js create mode 100644 core/assets/vendor/ckeditor5/alignment/translations/th.js create mode 100644 core/assets/vendor/ckeditor5/alignment/translations/tk.js create mode 100644 core/assets/vendor/ckeditor5/alignment/translations/tr.js create mode 100644 core/assets/vendor/ckeditor5/alignment/translations/ug.js create mode 100644 core/assets/vendor/ckeditor5/alignment/translations/uk.js create mode 100644 core/assets/vendor/ckeditor5/alignment/translations/ur.js create mode 100644 core/assets/vendor/ckeditor5/alignment/translations/uz.js create mode 100644 core/assets/vendor/ckeditor5/alignment/translations/vi.js create mode 100644 core/assets/vendor/ckeditor5/alignment/translations/zh-cn.js create mode 100644 core/assets/vendor/ckeditor5/alignment/translations/zh.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/basic-styles.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/af.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/ar.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/ast.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/az.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/bg.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/bn.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/bs.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/ca.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/cs.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/da.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/de-ch.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/de.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/el.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/en-au.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/en-gb.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/eo.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/es-co.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/es.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/et.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/eu.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/fa.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/fi.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/fr.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/gl.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/gu.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/he.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/hi.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/hr.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/hu.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/id.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/it.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/ja.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/jv.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/km.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/kn.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/ko.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/ku.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/lt.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/lv.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/ms.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/nb.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/ne.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/nl.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/no.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/oc.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/pl.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/pt-br.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/pt.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/ro.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/ru.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/si.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/sk.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/sl.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/sq.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/sr-latn.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/sr.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/sv.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/th.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/tk.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/tr.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/tt.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/ug.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/uk.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/ur.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/uz.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/vi.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/zh-cn.js create mode 100644 core/assets/vendor/ckeditor5/basic-styles/translations/zh.js create mode 100644 core/assets/vendor/ckeditor5/block-quote/block-quote.js create mode 100644 core/assets/vendor/ckeditor5/block-quote/translations/af.js create mode 100644 core/assets/vendor/ckeditor5/block-quote/translations/ar.js create mode 100644 core/assets/vendor/ckeditor5/block-quote/translations/az.js create mode 100644 core/assets/vendor/ckeditor5/block-quote/translations/bg.js create mode 100644 core/assets/vendor/ckeditor5/block-quote/translations/bn.js create mode 100644 core/assets/vendor/ckeditor5/block-quote/translations/bs.js create mode 100644 core/assets/vendor/ckeditor5/block-quote/translations/ca.js create mode 100644 core/assets/vendor/ckeditor5/block-quote/translations/cs.js create mode 100644 core/assets/vendor/ckeditor5/block-quote/translations/da.js create mode 100644 core/assets/vendor/ckeditor5/block-quote/translations/de-ch.js create mode 100644 core/assets/vendor/ckeditor5/block-quote/translations/de.js create mode 100644 core/assets/vendor/ckeditor5/block-quote/translations/el.js create mode 100644 core/assets/vendor/ckeditor5/block-quote/translations/en-au.js create mode 100644 core/assets/vendor/ckeditor5/block-quote/translations/en-gb.js create mode 100644 core/assets/vendor/ckeditor5/block-quote/translations/es-co.js create mode 100644 core/assets/vendor/ckeditor5/block-quote/translations/es.js create mode 100644 core/assets/vendor/ckeditor5/block-quote/translations/et.js create mode 100644 core/assets/vendor/ckeditor5/block-quote/translations/eu.js create mode 100644 core/assets/vendor/ckeditor5/block-quote/translations/fa.js create mode 100644 core/assets/vendor/ckeditor5/block-quote/translations/fi.js create mode 100644 core/assets/vendor/ckeditor5/block-quote/translations/fr.js create mode 100644 core/assets/vendor/ckeditor5/block-quote/translations/gl.js create mode 100644 core/assets/vendor/ckeditor5/block-quote/translations/gu.js create mode 100644 core/assets/vendor/ckeditor5/block-quote/translations/he.js create mode 100644 core/assets/vendor/ckeditor5/block-quote/translations/hi.js create mode 100644 core/assets/vendor/ckeditor5/block-quote/translations/hr.js create mode 100644 core/assets/vendor/ckeditor5/block-quote/translations/hu.js create mode 100644 core/assets/vendor/ckeditor5/block-quote/translations/id.js create mode 100644 core/assets/vendor/ckeditor5/block-quote/translations/it.js create mode 100644 core/assets/vendor/ckeditor5/block-quote/translations/ja.js create mode 100644 core/assets/vendor/ckeditor5/block-quote/translations/km.js create mode 100644 core/assets/vendor/ckeditor5/block-quote/translations/kn.js create mode 100644 core/assets/vendor/ckeditor5/block-quote/translations/ko.js create mode 100644 core/assets/vendor/ckeditor5/block-quote/translations/ku.js create mode 100644 core/assets/vendor/ckeditor5/block-quote/translations/lt.js create mode 100644 core/assets/vendor/ckeditor5/block-quote/translations/lv.js create mode 100644 core/assets/vendor/ckeditor5/block-quote/translations/ms.js create mode 100644 core/assets/vendor/ckeditor5/block-quote/translations/nb.js create mode 100644 core/assets/vendor/ckeditor5/block-quote/translations/ne.js create mode 100644 core/assets/vendor/ckeditor5/block-quote/translations/nl.js create mode 100644 core/assets/vendor/ckeditor5/block-quote/translations/no.js create mode 100644 core/assets/vendor/ckeditor5/block-quote/translations/pl.js create mode 100644 core/assets/vendor/ckeditor5/block-quote/translations/pt-br.js create mode 100644 core/assets/vendor/ckeditor5/block-quote/translations/pt.js create mode 100644 core/assets/vendor/ckeditor5/block-quote/translations/ro.js create mode 100644 core/assets/vendor/ckeditor5/block-quote/translations/ru.js create mode 100644 core/assets/vendor/ckeditor5/block-quote/translations/sk.js create mode 100644 core/assets/vendor/ckeditor5/block-quote/translations/sl.js create mode 100644 core/assets/vendor/ckeditor5/block-quote/translations/sq.js create mode 100644 core/assets/vendor/ckeditor5/block-quote/translations/sr-latn.js create mode 100644 core/assets/vendor/ckeditor5/block-quote/translations/sr.js create mode 100644 core/assets/vendor/ckeditor5/block-quote/translations/sv.js create mode 100644 core/assets/vendor/ckeditor5/block-quote/translations/th.js create mode 100644 core/assets/vendor/ckeditor5/block-quote/translations/tk.js create mode 100644 core/assets/vendor/ckeditor5/block-quote/translations/tr.js create mode 100644 core/assets/vendor/ckeditor5/block-quote/translations/ug.js create mode 100644 core/assets/vendor/ckeditor5/block-quote/translations/uk.js create mode 100644 core/assets/vendor/ckeditor5/block-quote/translations/ur.js create mode 100644 core/assets/vendor/ckeditor5/block-quote/translations/uz.js create mode 100644 core/assets/vendor/ckeditor5/block-quote/translations/vi.js create mode 100644 core/assets/vendor/ckeditor5/block-quote/translations/zh-cn.js create mode 100644 core/assets/vendor/ckeditor5/block-quote/translations/zh.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/ckeditor5-dll.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/af.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ar.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ast.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/az.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/bg.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/bn.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/bs.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ca.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/cs.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/da.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/de-ch.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/de.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/el.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/en-au.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/en-gb.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/eo.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/es-co.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/es.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/et.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/eu.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/fa.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/fi.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/fr.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/gl.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/gu.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/he.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/hi.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/hr.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/hu.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/id.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/it.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ja.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/jv.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/km.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/kn.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ko.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ku.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/lt.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/lv.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ms.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/nb.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ne.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/nl.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/no.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/oc.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/pl.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/pt-br.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/pt.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ro.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ru.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/si.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/sk.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/sl.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/sq.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/sr-latn.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/sr.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/sv.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/th.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/tk.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/tr.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/tt.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ug.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/uk.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ur.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/uz.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/vi.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/zh-cn.js create mode 100644 core/assets/vendor/ckeditor5/ckeditor5-dll/translations/zh.js create mode 100644 core/assets/vendor/ckeditor5/code-block/code-block.js create mode 100644 core/assets/vendor/ckeditor5/code-block/translations/af.js create mode 100644 core/assets/vendor/ckeditor5/code-block/translations/ar.js create mode 100644 core/assets/vendor/ckeditor5/code-block/translations/az.js create mode 100644 core/assets/vendor/ckeditor5/code-block/translations/bg.js create mode 100644 core/assets/vendor/ckeditor5/code-block/translations/bn.js create mode 100644 core/assets/vendor/ckeditor5/code-block/translations/bs.js create mode 100644 core/assets/vendor/ckeditor5/code-block/translations/ca.js create mode 100644 core/assets/vendor/ckeditor5/code-block/translations/cs.js create mode 100644 core/assets/vendor/ckeditor5/code-block/translations/da.js create mode 100644 core/assets/vendor/ckeditor5/code-block/translations/de-ch.js create mode 100644 core/assets/vendor/ckeditor5/code-block/translations/de.js create mode 100644 core/assets/vendor/ckeditor5/code-block/translations/el.js create mode 100644 core/assets/vendor/ckeditor5/code-block/translations/en-au.js create mode 100644 core/assets/vendor/ckeditor5/code-block/translations/es-co.js create mode 100644 core/assets/vendor/ckeditor5/code-block/translations/es.js create mode 100644 core/assets/vendor/ckeditor5/code-block/translations/et.js create mode 100644 core/assets/vendor/ckeditor5/code-block/translations/fa.js create mode 100644 core/assets/vendor/ckeditor5/code-block/translations/fi.js create mode 100644 core/assets/vendor/ckeditor5/code-block/translations/fr.js create mode 100644 core/assets/vendor/ckeditor5/code-block/translations/gl.js create mode 100644 core/assets/vendor/ckeditor5/code-block/translations/he.js create mode 100644 core/assets/vendor/ckeditor5/code-block/translations/hi.js create mode 100644 core/assets/vendor/ckeditor5/code-block/translations/hr.js create mode 100644 core/assets/vendor/ckeditor5/code-block/translations/hu.js create mode 100644 core/assets/vendor/ckeditor5/code-block/translations/id.js create mode 100644 core/assets/vendor/ckeditor5/code-block/translations/it.js create mode 100644 core/assets/vendor/ckeditor5/code-block/translations/ja.js create mode 100644 core/assets/vendor/ckeditor5/code-block/translations/jv.js create mode 100644 core/assets/vendor/ckeditor5/code-block/translations/ko.js create mode 100644 core/assets/vendor/ckeditor5/code-block/translations/ku.js create mode 100644 core/assets/vendor/ckeditor5/code-block/translations/lt.js create mode 100644 core/assets/vendor/ckeditor5/code-block/translations/lv.js create mode 100644 core/assets/vendor/ckeditor5/code-block/translations/ms.js create mode 100644 core/assets/vendor/ckeditor5/code-block/translations/nl.js create mode 100644 core/assets/vendor/ckeditor5/code-block/translations/no.js create mode 100644 core/assets/vendor/ckeditor5/code-block/translations/pl.js create mode 100644 core/assets/vendor/ckeditor5/code-block/translations/pt-br.js create mode 100644 core/assets/vendor/ckeditor5/code-block/translations/pt.js create mode 100644 core/assets/vendor/ckeditor5/code-block/translations/ro.js create mode 100644 core/assets/vendor/ckeditor5/code-block/translations/ru.js create mode 100644 core/assets/vendor/ckeditor5/code-block/translations/sk.js create mode 100644 core/assets/vendor/ckeditor5/code-block/translations/sr-latn.js create mode 100644 core/assets/vendor/ckeditor5/code-block/translations/sr.js create mode 100644 core/assets/vendor/ckeditor5/code-block/translations/sv.js create mode 100644 core/assets/vendor/ckeditor5/code-block/translations/th.js create mode 100644 core/assets/vendor/ckeditor5/code-block/translations/tk.js create mode 100644 core/assets/vendor/ckeditor5/code-block/translations/tr.js create mode 100644 core/assets/vendor/ckeditor5/code-block/translations/ug.js create mode 100644 core/assets/vendor/ckeditor5/code-block/translations/uk.js create mode 100644 core/assets/vendor/ckeditor5/code-block/translations/ur.js create mode 100644 core/assets/vendor/ckeditor5/code-block/translations/uz.js create mode 100644 core/assets/vendor/ckeditor5/code-block/translations/vi.js create mode 100644 core/assets/vendor/ckeditor5/code-block/translations/zh-cn.js create mode 100644 core/assets/vendor/ckeditor5/code-block/translations/zh.js create mode 100644 core/assets/vendor/ckeditor5/editor-classic/editor-classic.js create mode 100644 core/assets/vendor/ckeditor5/editor-decoupled/editor-decoupled.js create mode 100644 core/assets/vendor/ckeditor5/essentials/essentials.js create mode 100644 core/assets/vendor/ckeditor5/heading/heading.js create mode 100644 core/assets/vendor/ckeditor5/heading/translations/ar.js create mode 100644 core/assets/vendor/ckeditor5/heading/translations/az.js create mode 100644 core/assets/vendor/ckeditor5/heading/translations/bg.js create mode 100644 core/assets/vendor/ckeditor5/heading/translations/bn.js create mode 100644 core/assets/vendor/ckeditor5/heading/translations/bs.js create mode 100644 core/assets/vendor/ckeditor5/heading/translations/ca.js create mode 100644 core/assets/vendor/ckeditor5/heading/translations/cs.js create mode 100644 core/assets/vendor/ckeditor5/heading/translations/da.js create mode 100644 core/assets/vendor/ckeditor5/heading/translations/de-ch.js create mode 100644 core/assets/vendor/ckeditor5/heading/translations/de.js create mode 100644 core/assets/vendor/ckeditor5/heading/translations/el.js create mode 100644 core/assets/vendor/ckeditor5/heading/translations/en-au.js create mode 100644 core/assets/vendor/ckeditor5/heading/translations/en-gb.js create mode 100644 core/assets/vendor/ckeditor5/heading/translations/eo.js create mode 100644 core/assets/vendor/ckeditor5/heading/translations/es.js create mode 100644 core/assets/vendor/ckeditor5/heading/translations/et.js create mode 100644 core/assets/vendor/ckeditor5/heading/translations/eu.js create mode 100644 core/assets/vendor/ckeditor5/heading/translations/fa.js create mode 100644 core/assets/vendor/ckeditor5/heading/translations/fi.js create mode 100644 core/assets/vendor/ckeditor5/heading/translations/fr.js create mode 100644 core/assets/vendor/ckeditor5/heading/translations/gl.js create mode 100644 core/assets/vendor/ckeditor5/heading/translations/he.js create mode 100644 core/assets/vendor/ckeditor5/heading/translations/hi.js create mode 100644 core/assets/vendor/ckeditor5/heading/translations/hr.js create mode 100644 core/assets/vendor/ckeditor5/heading/translations/hu.js create mode 100644 core/assets/vendor/ckeditor5/heading/translations/id.js create mode 100644 core/assets/vendor/ckeditor5/heading/translations/it.js create mode 100644 core/assets/vendor/ckeditor5/heading/translations/ja.js create mode 100644 core/assets/vendor/ckeditor5/heading/translations/jv.js create mode 100644 core/assets/vendor/ckeditor5/heading/translations/km.js create mode 100644 core/assets/vendor/ckeditor5/heading/translations/kn.js create mode 100644 core/assets/vendor/ckeditor5/heading/translations/ko.js create mode 100644 core/assets/vendor/ckeditor5/heading/translations/ku.js create mode 100644 core/assets/vendor/ckeditor5/heading/translations/lt.js create mode 100644 core/assets/vendor/ckeditor5/heading/translations/lv.js create mode 100644 core/assets/vendor/ckeditor5/heading/translations/ms.js create mode 100644 core/assets/vendor/ckeditor5/heading/translations/nb.js create mode 100644 core/assets/vendor/ckeditor5/heading/translations/ne.js create mode 100644 core/assets/vendor/ckeditor5/heading/translations/nl.js create mode 100644 core/assets/vendor/ckeditor5/heading/translations/no.js create mode 100644 core/assets/vendor/ckeditor5/heading/translations/pl.js create mode 100644 core/assets/vendor/ckeditor5/heading/translations/pt-br.js create mode 100644 core/assets/vendor/ckeditor5/heading/translations/pt.js create mode 100644 core/assets/vendor/ckeditor5/heading/translations/ro.js create mode 100644 core/assets/vendor/ckeditor5/heading/translations/ru.js create mode 100644 core/assets/vendor/ckeditor5/heading/translations/sk.js create mode 100644 core/assets/vendor/ckeditor5/heading/translations/sl.js create mode 100644 core/assets/vendor/ckeditor5/heading/translations/sq.js create mode 100644 core/assets/vendor/ckeditor5/heading/translations/sr-latn.js create mode 100644 core/assets/vendor/ckeditor5/heading/translations/sr.js create mode 100644 core/assets/vendor/ckeditor5/heading/translations/sv.js create mode 100644 core/assets/vendor/ckeditor5/heading/translations/th.js create mode 100644 core/assets/vendor/ckeditor5/heading/translations/tk.js create mode 100644 core/assets/vendor/ckeditor5/heading/translations/tr.js create mode 100644 core/assets/vendor/ckeditor5/heading/translations/ug.js create mode 100644 core/assets/vendor/ckeditor5/heading/translations/uk.js create mode 100644 core/assets/vendor/ckeditor5/heading/translations/ur.js create mode 100644 core/assets/vendor/ckeditor5/heading/translations/uz.js create mode 100644 core/assets/vendor/ckeditor5/heading/translations/vi.js create mode 100644 core/assets/vendor/ckeditor5/heading/translations/zh-cn.js create mode 100644 core/assets/vendor/ckeditor5/heading/translations/zh.js create mode 100644 core/assets/vendor/ckeditor5/horizontal-line/horizontal-line.js create mode 100644 core/assets/vendor/ckeditor5/horizontal-line/translations/ar.js create mode 100644 core/assets/vendor/ckeditor5/horizontal-line/translations/az.js create mode 100644 core/assets/vendor/ckeditor5/horizontal-line/translations/bg.js create mode 100644 core/assets/vendor/ckeditor5/horizontal-line/translations/bn.js create mode 100644 core/assets/vendor/ckeditor5/horizontal-line/translations/bs.js create mode 100644 core/assets/vendor/ckeditor5/horizontal-line/translations/ca.js create mode 100644 core/assets/vendor/ckeditor5/horizontal-line/translations/cs.js create mode 100644 core/assets/vendor/ckeditor5/horizontal-line/translations/da.js create mode 100644 core/assets/vendor/ckeditor5/horizontal-line/translations/de-ch.js create mode 100644 core/assets/vendor/ckeditor5/horizontal-line/translations/de.js create mode 100644 core/assets/vendor/ckeditor5/horizontal-line/translations/el.js create mode 100644 core/assets/vendor/ckeditor5/horizontal-line/translations/en-au.js create mode 100644 core/assets/vendor/ckeditor5/horizontal-line/translations/es.js create mode 100644 core/assets/vendor/ckeditor5/horizontal-line/translations/et.js create mode 100644 core/assets/vendor/ckeditor5/horizontal-line/translations/fa.js create mode 100644 core/assets/vendor/ckeditor5/horizontal-line/translations/fi.js create mode 100644 core/assets/vendor/ckeditor5/horizontal-line/translations/fr.js create mode 100644 core/assets/vendor/ckeditor5/horizontal-line/translations/gl.js create mode 100644 core/assets/vendor/ckeditor5/horizontal-line/translations/he.js create mode 100644 core/assets/vendor/ckeditor5/horizontal-line/translations/hi.js create mode 100644 core/assets/vendor/ckeditor5/horizontal-line/translations/hr.js create mode 100644 core/assets/vendor/ckeditor5/horizontal-line/translations/hu.js create mode 100644 core/assets/vendor/ckeditor5/horizontal-line/translations/id.js create mode 100644 core/assets/vendor/ckeditor5/horizontal-line/translations/it.js create mode 100644 core/assets/vendor/ckeditor5/horizontal-line/translations/ja.js create mode 100644 core/assets/vendor/ckeditor5/horizontal-line/translations/jv.js create mode 100644 core/assets/vendor/ckeditor5/horizontal-line/translations/ko.js create mode 100644 core/assets/vendor/ckeditor5/horizontal-line/translations/ku.js create mode 100644 core/assets/vendor/ckeditor5/horizontal-line/translations/lt.js create mode 100644 core/assets/vendor/ckeditor5/horizontal-line/translations/lv.js create mode 100644 core/assets/vendor/ckeditor5/horizontal-line/translations/ms.js create mode 100644 core/assets/vendor/ckeditor5/horizontal-line/translations/nl.js create mode 100644 core/assets/vendor/ckeditor5/horizontal-line/translations/no.js create mode 100644 core/assets/vendor/ckeditor5/horizontal-line/translations/pl.js create mode 100644 core/assets/vendor/ckeditor5/horizontal-line/translations/pt-br.js create mode 100644 core/assets/vendor/ckeditor5/horizontal-line/translations/pt.js create mode 100644 core/assets/vendor/ckeditor5/horizontal-line/translations/ro.js create mode 100644 core/assets/vendor/ckeditor5/horizontal-line/translations/ru.js create mode 100644 core/assets/vendor/ckeditor5/horizontal-line/translations/sk.js create mode 100644 core/assets/vendor/ckeditor5/horizontal-line/translations/sl.js create mode 100644 core/assets/vendor/ckeditor5/horizontal-line/translations/sr-latn.js create mode 100644 core/assets/vendor/ckeditor5/horizontal-line/translations/sr.js create mode 100644 core/assets/vendor/ckeditor5/horizontal-line/translations/sv.js create mode 100644 core/assets/vendor/ckeditor5/horizontal-line/translations/th.js create mode 100644 core/assets/vendor/ckeditor5/horizontal-line/translations/tk.js create mode 100644 core/assets/vendor/ckeditor5/horizontal-line/translations/tr.js create mode 100644 core/assets/vendor/ckeditor5/horizontal-line/translations/uk.js create mode 100644 core/assets/vendor/ckeditor5/horizontal-line/translations/ur.js create mode 100644 core/assets/vendor/ckeditor5/horizontal-line/translations/vi.js create mode 100644 core/assets/vendor/ckeditor5/horizontal-line/translations/zh-cn.js create mode 100644 core/assets/vendor/ckeditor5/horizontal-line/translations/zh.js create mode 100644 core/assets/vendor/ckeditor5/html-support/html-support.js create mode 100644 core/assets/vendor/ckeditor5/html-support/translations/ar.js create mode 100644 core/assets/vendor/ckeditor5/html-support/translations/bg.js create mode 100644 core/assets/vendor/ckeditor5/html-support/translations/bn.js create mode 100644 core/assets/vendor/ckeditor5/html-support/translations/ca.js create mode 100644 core/assets/vendor/ckeditor5/html-support/translations/cs.js create mode 100644 core/assets/vendor/ckeditor5/html-support/translations/da.js create mode 100644 core/assets/vendor/ckeditor5/html-support/translations/de.js create mode 100644 core/assets/vendor/ckeditor5/html-support/translations/el.js create mode 100644 core/assets/vendor/ckeditor5/html-support/translations/en-au.js create mode 100644 core/assets/vendor/ckeditor5/html-support/translations/es.js create mode 100644 core/assets/vendor/ckeditor5/html-support/translations/et.js create mode 100644 core/assets/vendor/ckeditor5/html-support/translations/fi.js create mode 100644 core/assets/vendor/ckeditor5/html-support/translations/fr.js create mode 100644 core/assets/vendor/ckeditor5/html-support/translations/gl.js create mode 100644 core/assets/vendor/ckeditor5/html-support/translations/he.js create mode 100644 core/assets/vendor/ckeditor5/html-support/translations/hi.js create mode 100644 core/assets/vendor/ckeditor5/html-support/translations/hr.js create mode 100644 core/assets/vendor/ckeditor5/html-support/translations/hu.js create mode 100644 core/assets/vendor/ckeditor5/html-support/translations/id.js create mode 100644 core/assets/vendor/ckeditor5/html-support/translations/it.js create mode 100644 core/assets/vendor/ckeditor5/html-support/translations/ja.js create mode 100644 core/assets/vendor/ckeditor5/html-support/translations/jv.js create mode 100644 core/assets/vendor/ckeditor5/html-support/translations/ko.js create mode 100644 core/assets/vendor/ckeditor5/html-support/translations/lt.js create mode 100644 core/assets/vendor/ckeditor5/html-support/translations/lv.js create mode 100644 core/assets/vendor/ckeditor5/html-support/translations/ms.js create mode 100644 core/assets/vendor/ckeditor5/html-support/translations/nl.js create mode 100644 core/assets/vendor/ckeditor5/html-support/translations/no.js create mode 100644 core/assets/vendor/ckeditor5/html-support/translations/pl.js create mode 100644 core/assets/vendor/ckeditor5/html-support/translations/pt-br.js create mode 100644 core/assets/vendor/ckeditor5/html-support/translations/pt.js create mode 100644 core/assets/vendor/ckeditor5/html-support/translations/ro.js create mode 100644 core/assets/vendor/ckeditor5/html-support/translations/ru.js create mode 100644 core/assets/vendor/ckeditor5/html-support/translations/sk.js create mode 100644 core/assets/vendor/ckeditor5/html-support/translations/sr-latn.js create mode 100644 core/assets/vendor/ckeditor5/html-support/translations/sr.js create mode 100644 core/assets/vendor/ckeditor5/html-support/translations/sv.js create mode 100644 core/assets/vendor/ckeditor5/html-support/translations/th.js create mode 100644 core/assets/vendor/ckeditor5/html-support/translations/tr.js create mode 100644 core/assets/vendor/ckeditor5/html-support/translations/uk.js create mode 100644 core/assets/vendor/ckeditor5/html-support/translations/ur.js create mode 100644 core/assets/vendor/ckeditor5/html-support/translations/vi.js create mode 100644 core/assets/vendor/ckeditor5/html-support/translations/zh-cn.js create mode 100644 core/assets/vendor/ckeditor5/html-support/translations/zh.js create mode 100644 core/assets/vendor/ckeditor5/image/image.js create mode 100644 core/assets/vendor/ckeditor5/image/translations/ar.js create mode 100644 core/assets/vendor/ckeditor5/image/translations/ast.js create mode 100644 core/assets/vendor/ckeditor5/image/translations/az.js create mode 100644 core/assets/vendor/ckeditor5/image/translations/bg.js create mode 100644 core/assets/vendor/ckeditor5/image/translations/bn.js create mode 100644 core/assets/vendor/ckeditor5/image/translations/bs.js create mode 100644 core/assets/vendor/ckeditor5/image/translations/ca.js create mode 100644 core/assets/vendor/ckeditor5/image/translations/cs.js create mode 100644 core/assets/vendor/ckeditor5/image/translations/da.js create mode 100644 core/assets/vendor/ckeditor5/image/translations/de-ch.js create mode 100644 core/assets/vendor/ckeditor5/image/translations/de.js create mode 100644 core/assets/vendor/ckeditor5/image/translations/el.js create mode 100644 core/assets/vendor/ckeditor5/image/translations/en-au.js create mode 100644 core/assets/vendor/ckeditor5/image/translations/en-gb.js create mode 100644 core/assets/vendor/ckeditor5/image/translations/eo.js create mode 100644 core/assets/vendor/ckeditor5/image/translations/es.js create mode 100644 core/assets/vendor/ckeditor5/image/translations/et.js create mode 100644 core/assets/vendor/ckeditor5/image/translations/eu.js create mode 100644 core/assets/vendor/ckeditor5/image/translations/fa.js create mode 100644 core/assets/vendor/ckeditor5/image/translations/fi.js create mode 100644 core/assets/vendor/ckeditor5/image/translations/fr.js create mode 100644 core/assets/vendor/ckeditor5/image/translations/gl.js create mode 100644 core/assets/vendor/ckeditor5/image/translations/he.js create mode 100644 core/assets/vendor/ckeditor5/image/translations/hi.js create mode 100644 core/assets/vendor/ckeditor5/image/translations/hr.js create mode 100644 core/assets/vendor/ckeditor5/image/translations/hu.js create mode 100644 core/assets/vendor/ckeditor5/image/translations/id.js create mode 100644 core/assets/vendor/ckeditor5/image/translations/it.js create mode 100644 core/assets/vendor/ckeditor5/image/translations/ja.js create mode 100644 core/assets/vendor/ckeditor5/image/translations/jv.js create mode 100644 core/assets/vendor/ckeditor5/image/translations/km.js create mode 100644 core/assets/vendor/ckeditor5/image/translations/kn.js create mode 100644 core/assets/vendor/ckeditor5/image/translations/ko.js create mode 100644 core/assets/vendor/ckeditor5/image/translations/ku.js create mode 100644 core/assets/vendor/ckeditor5/image/translations/lt.js create mode 100644 core/assets/vendor/ckeditor5/image/translations/lv.js create mode 100644 core/assets/vendor/ckeditor5/image/translations/ms.js create mode 100644 core/assets/vendor/ckeditor5/image/translations/nb.js create mode 100644 core/assets/vendor/ckeditor5/image/translations/ne.js create mode 100644 core/assets/vendor/ckeditor5/image/translations/nl.js create mode 100644 core/assets/vendor/ckeditor5/image/translations/no.js create mode 100644 core/assets/vendor/ckeditor5/image/translations/pl.js create mode 100644 core/assets/vendor/ckeditor5/image/translations/pt-br.js create mode 100644 core/assets/vendor/ckeditor5/image/translations/pt.js create mode 100644 core/assets/vendor/ckeditor5/image/translations/ro.js create mode 100644 core/assets/vendor/ckeditor5/image/translations/ru.js create mode 100644 core/assets/vendor/ckeditor5/image/translations/si.js create mode 100644 core/assets/vendor/ckeditor5/image/translations/sk.js create mode 100644 core/assets/vendor/ckeditor5/image/translations/sq.js create mode 100644 core/assets/vendor/ckeditor5/image/translations/sr-latn.js create mode 100644 core/assets/vendor/ckeditor5/image/translations/sr.js create mode 100644 core/assets/vendor/ckeditor5/image/translations/sv.js create mode 100644 core/assets/vendor/ckeditor5/image/translations/th.js create mode 100644 core/assets/vendor/ckeditor5/image/translations/tk.js create mode 100644 core/assets/vendor/ckeditor5/image/translations/tr.js create mode 100644 core/assets/vendor/ckeditor5/image/translations/tt.js create mode 100644 core/assets/vendor/ckeditor5/image/translations/ug.js create mode 100644 core/assets/vendor/ckeditor5/image/translations/uk.js create mode 100644 core/assets/vendor/ckeditor5/image/translations/ur.js create mode 100644 core/assets/vendor/ckeditor5/image/translations/uz.js create mode 100644 core/assets/vendor/ckeditor5/image/translations/vi.js create mode 100644 core/assets/vendor/ckeditor5/image/translations/zh-cn.js create mode 100644 core/assets/vendor/ckeditor5/image/translations/zh.js create mode 100644 core/assets/vendor/ckeditor5/indent/indent.js create mode 100644 core/assets/vendor/ckeditor5/indent/translations/ar.js create mode 100644 core/assets/vendor/ckeditor5/indent/translations/az.js create mode 100644 core/assets/vendor/ckeditor5/indent/translations/bg.js create mode 100644 core/assets/vendor/ckeditor5/indent/translations/bn.js create mode 100644 core/assets/vendor/ckeditor5/indent/translations/ca.js create mode 100644 core/assets/vendor/ckeditor5/indent/translations/cs.js create mode 100644 core/assets/vendor/ckeditor5/indent/translations/da.js create mode 100644 core/assets/vendor/ckeditor5/indent/translations/de-ch.js create mode 100644 core/assets/vendor/ckeditor5/indent/translations/de.js create mode 100644 core/assets/vendor/ckeditor5/indent/translations/el.js create mode 100644 core/assets/vendor/ckeditor5/indent/translations/en-au.js create mode 100644 core/assets/vendor/ckeditor5/indent/translations/en-gb.js create mode 100644 core/assets/vendor/ckeditor5/indent/translations/es.js create mode 100644 core/assets/vendor/ckeditor5/indent/translations/et.js create mode 100644 core/assets/vendor/ckeditor5/indent/translations/fa.js create mode 100644 core/assets/vendor/ckeditor5/indent/translations/fi.js create mode 100644 core/assets/vendor/ckeditor5/indent/translations/fr.js create mode 100644 core/assets/vendor/ckeditor5/indent/translations/gl.js create mode 100644 core/assets/vendor/ckeditor5/indent/translations/he.js create mode 100644 core/assets/vendor/ckeditor5/indent/translations/hi.js create mode 100644 core/assets/vendor/ckeditor5/indent/translations/hr.js create mode 100644 core/assets/vendor/ckeditor5/indent/translations/hu.js create mode 100644 core/assets/vendor/ckeditor5/indent/translations/id.js create mode 100644 core/assets/vendor/ckeditor5/indent/translations/it.js create mode 100644 core/assets/vendor/ckeditor5/indent/translations/ja.js create mode 100644 core/assets/vendor/ckeditor5/indent/translations/ko.js create mode 100644 core/assets/vendor/ckeditor5/indent/translations/ku.js create mode 100644 core/assets/vendor/ckeditor5/indent/translations/lt.js create mode 100644 core/assets/vendor/ckeditor5/indent/translations/lv.js create mode 100644 core/assets/vendor/ckeditor5/indent/translations/ms.js create mode 100644 core/assets/vendor/ckeditor5/indent/translations/ne.js create mode 100644 core/assets/vendor/ckeditor5/indent/translations/nl.js create mode 100644 core/assets/vendor/ckeditor5/indent/translations/no.js create mode 100644 core/assets/vendor/ckeditor5/indent/translations/pl.js create mode 100644 core/assets/vendor/ckeditor5/indent/translations/pt-br.js create mode 100644 core/assets/vendor/ckeditor5/indent/translations/pt.js create mode 100644 core/assets/vendor/ckeditor5/indent/translations/ro.js create mode 100644 core/assets/vendor/ckeditor5/indent/translations/ru.js create mode 100644 core/assets/vendor/ckeditor5/indent/translations/sk.js create mode 100644 core/assets/vendor/ckeditor5/indent/translations/sr-latn.js create mode 100644 core/assets/vendor/ckeditor5/indent/translations/sr.js create mode 100644 core/assets/vendor/ckeditor5/indent/translations/sv.js create mode 100644 core/assets/vendor/ckeditor5/indent/translations/th.js create mode 100644 core/assets/vendor/ckeditor5/indent/translations/tk.js create mode 100644 core/assets/vendor/ckeditor5/indent/translations/tr.js create mode 100644 core/assets/vendor/ckeditor5/indent/translations/uk.js create mode 100644 core/assets/vendor/ckeditor5/indent/translations/ur.js create mode 100644 core/assets/vendor/ckeditor5/indent/translations/uz.js create mode 100644 core/assets/vendor/ckeditor5/indent/translations/vi.js create mode 100644 core/assets/vendor/ckeditor5/indent/translations/zh-cn.js create mode 100644 core/assets/vendor/ckeditor5/indent/translations/zh.js create mode 100644 core/assets/vendor/ckeditor5/language/language.js create mode 100644 core/assets/vendor/ckeditor5/language/translations/ar.js create mode 100644 core/assets/vendor/ckeditor5/language/translations/bg.js create mode 100644 core/assets/vendor/ckeditor5/language/translations/bn.js create mode 100644 core/assets/vendor/ckeditor5/language/translations/ca.js create mode 100644 core/assets/vendor/ckeditor5/language/translations/cs.js create mode 100644 core/assets/vendor/ckeditor5/language/translations/da.js create mode 100644 core/assets/vendor/ckeditor5/language/translations/de-ch.js create mode 100644 core/assets/vendor/ckeditor5/language/translations/de.js create mode 100644 core/assets/vendor/ckeditor5/language/translations/el.js create mode 100644 core/assets/vendor/ckeditor5/language/translations/en-au.js create mode 100644 core/assets/vendor/ckeditor5/language/translations/es.js create mode 100644 core/assets/vendor/ckeditor5/language/translations/et.js create mode 100644 core/assets/vendor/ckeditor5/language/translations/fi.js create mode 100644 core/assets/vendor/ckeditor5/language/translations/fr.js create mode 100644 core/assets/vendor/ckeditor5/language/translations/gl.js create mode 100644 core/assets/vendor/ckeditor5/language/translations/he.js create mode 100644 core/assets/vendor/ckeditor5/language/translations/hi.js create mode 100644 core/assets/vendor/ckeditor5/language/translations/hr.js create mode 100644 core/assets/vendor/ckeditor5/language/translations/hu.js create mode 100644 core/assets/vendor/ckeditor5/language/translations/id.js create mode 100644 core/assets/vendor/ckeditor5/language/translations/it.js create mode 100644 core/assets/vendor/ckeditor5/language/translations/ja.js create mode 100644 core/assets/vendor/ckeditor5/language/translations/jv.js create mode 100644 core/assets/vendor/ckeditor5/language/translations/ko.js create mode 100644 core/assets/vendor/ckeditor5/language/translations/lt.js create mode 100644 core/assets/vendor/ckeditor5/language/translations/lv.js create mode 100644 core/assets/vendor/ckeditor5/language/translations/ms.js create mode 100644 core/assets/vendor/ckeditor5/language/translations/nl.js create mode 100644 core/assets/vendor/ckeditor5/language/translations/no.js create mode 100644 core/assets/vendor/ckeditor5/language/translations/pl.js create mode 100644 core/assets/vendor/ckeditor5/language/translations/pt-br.js create mode 100644 core/assets/vendor/ckeditor5/language/translations/pt.js create mode 100644 core/assets/vendor/ckeditor5/language/translations/ro.js create mode 100644 core/assets/vendor/ckeditor5/language/translations/ru.js create mode 100644 core/assets/vendor/ckeditor5/language/translations/sk.js create mode 100644 core/assets/vendor/ckeditor5/language/translations/sr-latn.js create mode 100644 core/assets/vendor/ckeditor5/language/translations/sr.js create mode 100644 core/assets/vendor/ckeditor5/language/translations/sv.js create mode 100644 core/assets/vendor/ckeditor5/language/translations/th.js create mode 100644 core/assets/vendor/ckeditor5/language/translations/tk.js create mode 100644 core/assets/vendor/ckeditor5/language/translations/tr.js create mode 100644 core/assets/vendor/ckeditor5/language/translations/tt.js create mode 100644 core/assets/vendor/ckeditor5/language/translations/uk.js create mode 100644 core/assets/vendor/ckeditor5/language/translations/ur.js create mode 100644 core/assets/vendor/ckeditor5/language/translations/vi.js create mode 100644 core/assets/vendor/ckeditor5/language/translations/zh-cn.js create mode 100644 core/assets/vendor/ckeditor5/language/translations/zh.js create mode 100644 core/assets/vendor/ckeditor5/link/link.js create mode 100644 core/assets/vendor/ckeditor5/link/translations/ar.js create mode 100644 core/assets/vendor/ckeditor5/link/translations/ast.js create mode 100644 core/assets/vendor/ckeditor5/link/translations/az.js create mode 100644 core/assets/vendor/ckeditor5/link/translations/bg.js create mode 100644 core/assets/vendor/ckeditor5/link/translations/bn.js create mode 100644 core/assets/vendor/ckeditor5/link/translations/ca.js create mode 100644 core/assets/vendor/ckeditor5/link/translations/cs.js create mode 100644 core/assets/vendor/ckeditor5/link/translations/da.js create mode 100644 core/assets/vendor/ckeditor5/link/translations/de-ch.js create mode 100644 core/assets/vendor/ckeditor5/link/translations/de.js create mode 100644 core/assets/vendor/ckeditor5/link/translations/el.js create mode 100644 core/assets/vendor/ckeditor5/link/translations/en-au.js create mode 100644 core/assets/vendor/ckeditor5/link/translations/en-gb.js create mode 100644 core/assets/vendor/ckeditor5/link/translations/eo.js create mode 100644 core/assets/vendor/ckeditor5/link/translations/es.js create mode 100644 core/assets/vendor/ckeditor5/link/translations/et.js create mode 100644 core/assets/vendor/ckeditor5/link/translations/eu.js create mode 100644 core/assets/vendor/ckeditor5/link/translations/fa.js create mode 100644 core/assets/vendor/ckeditor5/link/translations/fi.js create mode 100644 core/assets/vendor/ckeditor5/link/translations/fr.js create mode 100644 core/assets/vendor/ckeditor5/link/translations/gl.js create mode 100644 core/assets/vendor/ckeditor5/link/translations/he.js create mode 100644 core/assets/vendor/ckeditor5/link/translations/hi.js create mode 100644 core/assets/vendor/ckeditor5/link/translations/hr.js create mode 100644 core/assets/vendor/ckeditor5/link/translations/hu.js create mode 100644 core/assets/vendor/ckeditor5/link/translations/id.js create mode 100644 core/assets/vendor/ckeditor5/link/translations/it.js create mode 100644 core/assets/vendor/ckeditor5/link/translations/ja.js create mode 100644 core/assets/vendor/ckeditor5/link/translations/km.js create mode 100644 core/assets/vendor/ckeditor5/link/translations/kn.js create mode 100644 core/assets/vendor/ckeditor5/link/translations/ko.js create mode 100644 core/assets/vendor/ckeditor5/link/translations/ku.js create mode 100644 core/assets/vendor/ckeditor5/link/translations/lt.js create mode 100644 core/assets/vendor/ckeditor5/link/translations/lv.js create mode 100644 core/assets/vendor/ckeditor5/link/translations/ms.js create mode 100644 core/assets/vendor/ckeditor5/link/translations/nb.js create mode 100644 core/assets/vendor/ckeditor5/link/translations/ne.js create mode 100644 core/assets/vendor/ckeditor5/link/translations/nl.js create mode 100644 core/assets/vendor/ckeditor5/link/translations/no.js create mode 100644 core/assets/vendor/ckeditor5/link/translations/pl.js create mode 100644 core/assets/vendor/ckeditor5/link/translations/pt-br.js create mode 100644 core/assets/vendor/ckeditor5/link/translations/pt.js create mode 100644 core/assets/vendor/ckeditor5/link/translations/ro.js create mode 100644 core/assets/vendor/ckeditor5/link/translations/ru.js create mode 100644 core/assets/vendor/ckeditor5/link/translations/sk.js create mode 100644 core/assets/vendor/ckeditor5/link/translations/sq.js create mode 100644 core/assets/vendor/ckeditor5/link/translations/sr-latn.js create mode 100644 core/assets/vendor/ckeditor5/link/translations/sr.js create mode 100644 core/assets/vendor/ckeditor5/link/translations/sv.js create mode 100644 core/assets/vendor/ckeditor5/link/translations/th.js create mode 100644 core/assets/vendor/ckeditor5/link/translations/tk.js create mode 100644 core/assets/vendor/ckeditor5/link/translations/tr.js create mode 100644 core/assets/vendor/ckeditor5/link/translations/tt.js create mode 100644 core/assets/vendor/ckeditor5/link/translations/ug.js create mode 100644 core/assets/vendor/ckeditor5/link/translations/uk.js create mode 100644 core/assets/vendor/ckeditor5/link/translations/ur.js create mode 100644 core/assets/vendor/ckeditor5/link/translations/uz.js create mode 100644 core/assets/vendor/ckeditor5/link/translations/vi.js create mode 100644 core/assets/vendor/ckeditor5/link/translations/zh-cn.js create mode 100644 core/assets/vendor/ckeditor5/link/translations/zh.js create mode 100644 core/assets/vendor/ckeditor5/list/list.js create mode 100644 core/assets/vendor/ckeditor5/list/translations/ar.js create mode 100644 core/assets/vendor/ckeditor5/list/translations/ast.js create mode 100644 core/assets/vendor/ckeditor5/list/translations/az.js create mode 100644 core/assets/vendor/ckeditor5/list/translations/bg.js create mode 100644 core/assets/vendor/ckeditor5/list/translations/bn.js create mode 100644 core/assets/vendor/ckeditor5/list/translations/ca.js create mode 100644 core/assets/vendor/ckeditor5/list/translations/cs.js create mode 100644 core/assets/vendor/ckeditor5/list/translations/da.js create mode 100644 core/assets/vendor/ckeditor5/list/translations/de-ch.js create mode 100644 core/assets/vendor/ckeditor5/list/translations/de.js create mode 100644 core/assets/vendor/ckeditor5/list/translations/el.js create mode 100644 core/assets/vendor/ckeditor5/list/translations/en-au.js create mode 100644 core/assets/vendor/ckeditor5/list/translations/en-gb.js create mode 100644 core/assets/vendor/ckeditor5/list/translations/eo.js create mode 100644 core/assets/vendor/ckeditor5/list/translations/es.js create mode 100644 core/assets/vendor/ckeditor5/list/translations/et.js create mode 100644 core/assets/vendor/ckeditor5/list/translations/eu.js create mode 100644 core/assets/vendor/ckeditor5/list/translations/fa.js create mode 100644 core/assets/vendor/ckeditor5/list/translations/fi.js create mode 100644 core/assets/vendor/ckeditor5/list/translations/fr.js create mode 100644 core/assets/vendor/ckeditor5/list/translations/gl.js create mode 100644 core/assets/vendor/ckeditor5/list/translations/he.js create mode 100644 core/assets/vendor/ckeditor5/list/translations/hi.js create mode 100644 core/assets/vendor/ckeditor5/list/translations/hr.js create mode 100644 core/assets/vendor/ckeditor5/list/translations/hu.js create mode 100644 core/assets/vendor/ckeditor5/list/translations/id.js create mode 100644 core/assets/vendor/ckeditor5/list/translations/it.js create mode 100644 core/assets/vendor/ckeditor5/list/translations/ja.js create mode 100644 core/assets/vendor/ckeditor5/list/translations/jv.js create mode 100644 core/assets/vendor/ckeditor5/list/translations/km.js create mode 100644 core/assets/vendor/ckeditor5/list/translations/kn.js create mode 100644 core/assets/vendor/ckeditor5/list/translations/ko.js create mode 100644 core/assets/vendor/ckeditor5/list/translations/ku.js create mode 100644 core/assets/vendor/ckeditor5/list/translations/lt.js create mode 100644 core/assets/vendor/ckeditor5/list/translations/lv.js create mode 100644 core/assets/vendor/ckeditor5/list/translations/ms.js create mode 100644 core/assets/vendor/ckeditor5/list/translations/nb.js create mode 100644 core/assets/vendor/ckeditor5/list/translations/ne.js create mode 100644 core/assets/vendor/ckeditor5/list/translations/nl.js create mode 100644 core/assets/vendor/ckeditor5/list/translations/no.js create mode 100644 core/assets/vendor/ckeditor5/list/translations/pl.js create mode 100644 core/assets/vendor/ckeditor5/list/translations/pt-br.js create mode 100644 core/assets/vendor/ckeditor5/list/translations/pt.js create mode 100644 core/assets/vendor/ckeditor5/list/translations/ro.js create mode 100644 core/assets/vendor/ckeditor5/list/translations/ru.js create mode 100644 core/assets/vendor/ckeditor5/list/translations/si.js create mode 100644 core/assets/vendor/ckeditor5/list/translations/sk.js create mode 100644 core/assets/vendor/ckeditor5/list/translations/sq.js create mode 100644 core/assets/vendor/ckeditor5/list/translations/sr-latn.js create mode 100644 core/assets/vendor/ckeditor5/list/translations/sr.js create mode 100644 core/assets/vendor/ckeditor5/list/translations/sv.js create mode 100644 core/assets/vendor/ckeditor5/list/translations/th.js create mode 100644 core/assets/vendor/ckeditor5/list/translations/tk.js create mode 100644 core/assets/vendor/ckeditor5/list/translations/tr.js create mode 100644 core/assets/vendor/ckeditor5/list/translations/tt.js create mode 100644 core/assets/vendor/ckeditor5/list/translations/ug.js create mode 100644 core/assets/vendor/ckeditor5/list/translations/uk.js create mode 100644 core/assets/vendor/ckeditor5/list/translations/ur.js create mode 100644 core/assets/vendor/ckeditor5/list/translations/uz.js create mode 100644 core/assets/vendor/ckeditor5/list/translations/vi.js create mode 100644 core/assets/vendor/ckeditor5/list/translations/zh-cn.js create mode 100644 core/assets/vendor/ckeditor5/list/translations/zh.js create mode 100644 core/assets/vendor/ckeditor5/paste-from-office/paste-from-office.js create mode 100644 core/assets/vendor/ckeditor5/remove-format/remove-format.js create mode 100644 core/assets/vendor/ckeditor5/remove-format/translations/af.js create mode 100644 core/assets/vendor/ckeditor5/remove-format/translations/ar.js create mode 100644 core/assets/vendor/ckeditor5/remove-format/translations/az.js create mode 100644 core/assets/vendor/ckeditor5/remove-format/translations/bg.js create mode 100644 core/assets/vendor/ckeditor5/remove-format/translations/bn.js create mode 100644 core/assets/vendor/ckeditor5/remove-format/translations/ca.js create mode 100644 core/assets/vendor/ckeditor5/remove-format/translations/cs.js create mode 100644 core/assets/vendor/ckeditor5/remove-format/translations/da.js create mode 100644 core/assets/vendor/ckeditor5/remove-format/translations/de-ch.js create mode 100644 core/assets/vendor/ckeditor5/remove-format/translations/de.js create mode 100644 core/assets/vendor/ckeditor5/remove-format/translations/el.js create mode 100644 core/assets/vendor/ckeditor5/remove-format/translations/en-au.js create mode 100644 core/assets/vendor/ckeditor5/remove-format/translations/en-gb.js create mode 100644 core/assets/vendor/ckeditor5/remove-format/translations/es.js create mode 100644 core/assets/vendor/ckeditor5/remove-format/translations/et.js create mode 100644 core/assets/vendor/ckeditor5/remove-format/translations/fa.js create mode 100644 core/assets/vendor/ckeditor5/remove-format/translations/fi.js create mode 100644 core/assets/vendor/ckeditor5/remove-format/translations/fr.js create mode 100644 core/assets/vendor/ckeditor5/remove-format/translations/gl.js create mode 100644 core/assets/vendor/ckeditor5/remove-format/translations/he.js create mode 100644 core/assets/vendor/ckeditor5/remove-format/translations/hi.js create mode 100644 core/assets/vendor/ckeditor5/remove-format/translations/hr.js create mode 100644 core/assets/vendor/ckeditor5/remove-format/translations/hu.js create mode 100644 core/assets/vendor/ckeditor5/remove-format/translations/id.js create mode 100644 core/assets/vendor/ckeditor5/remove-format/translations/it.js create mode 100644 core/assets/vendor/ckeditor5/remove-format/translations/ja.js create mode 100644 core/assets/vendor/ckeditor5/remove-format/translations/ko.js create mode 100644 core/assets/vendor/ckeditor5/remove-format/translations/ku.js create mode 100644 core/assets/vendor/ckeditor5/remove-format/translations/lt.js create mode 100644 core/assets/vendor/ckeditor5/remove-format/translations/lv.js create mode 100644 core/assets/vendor/ckeditor5/remove-format/translations/ms.js create mode 100644 core/assets/vendor/ckeditor5/remove-format/translations/ne.js create mode 100644 core/assets/vendor/ckeditor5/remove-format/translations/nl.js create mode 100644 core/assets/vendor/ckeditor5/remove-format/translations/no.js create mode 100644 core/assets/vendor/ckeditor5/remove-format/translations/pl.js create mode 100644 core/assets/vendor/ckeditor5/remove-format/translations/pt-br.js create mode 100644 core/assets/vendor/ckeditor5/remove-format/translations/pt.js create mode 100644 core/assets/vendor/ckeditor5/remove-format/translations/ro.js create mode 100644 core/assets/vendor/ckeditor5/remove-format/translations/ru.js create mode 100644 core/assets/vendor/ckeditor5/remove-format/translations/sk.js create mode 100644 core/assets/vendor/ckeditor5/remove-format/translations/sr-latn.js create mode 100644 core/assets/vendor/ckeditor5/remove-format/translations/sr.js create mode 100644 core/assets/vendor/ckeditor5/remove-format/translations/sv.js create mode 100644 core/assets/vendor/ckeditor5/remove-format/translations/th.js create mode 100644 core/assets/vendor/ckeditor5/remove-format/translations/tk.js create mode 100644 core/assets/vendor/ckeditor5/remove-format/translations/tr.js create mode 100644 core/assets/vendor/ckeditor5/remove-format/translations/uk.js create mode 100644 core/assets/vendor/ckeditor5/remove-format/translations/ur.js create mode 100644 core/assets/vendor/ckeditor5/remove-format/translations/uz.js create mode 100644 core/assets/vendor/ckeditor5/remove-format/translations/vi.js create mode 100644 core/assets/vendor/ckeditor5/remove-format/translations/zh-cn.js create mode 100644 core/assets/vendor/ckeditor5/remove-format/translations/zh.js create mode 100644 core/assets/vendor/ckeditor5/source-editing/source-editing.js create mode 100644 core/assets/vendor/ckeditor5/source-editing/translations/ar.js create mode 100644 core/assets/vendor/ckeditor5/source-editing/translations/bg.js create mode 100644 core/assets/vendor/ckeditor5/source-editing/translations/bn.js create mode 100644 core/assets/vendor/ckeditor5/source-editing/translations/ca.js create mode 100644 core/assets/vendor/ckeditor5/source-editing/translations/cs.js create mode 100644 core/assets/vendor/ckeditor5/source-editing/translations/da.js create mode 100644 core/assets/vendor/ckeditor5/source-editing/translations/de.js create mode 100644 core/assets/vendor/ckeditor5/source-editing/translations/el.js create mode 100644 core/assets/vendor/ckeditor5/source-editing/translations/en-au.js create mode 100644 core/assets/vendor/ckeditor5/source-editing/translations/es.js create mode 100644 core/assets/vendor/ckeditor5/source-editing/translations/et.js create mode 100644 core/assets/vendor/ckeditor5/source-editing/translations/fi.js create mode 100644 core/assets/vendor/ckeditor5/source-editing/translations/fr.js create mode 100644 core/assets/vendor/ckeditor5/source-editing/translations/gl.js create mode 100644 core/assets/vendor/ckeditor5/source-editing/translations/he.js create mode 100644 core/assets/vendor/ckeditor5/source-editing/translations/hi.js create mode 100644 core/assets/vendor/ckeditor5/source-editing/translations/hr.js create mode 100644 core/assets/vendor/ckeditor5/source-editing/translations/hu.js create mode 100644 core/assets/vendor/ckeditor5/source-editing/translations/id.js create mode 100644 core/assets/vendor/ckeditor5/source-editing/translations/it.js create mode 100644 core/assets/vendor/ckeditor5/source-editing/translations/ja.js create mode 100644 core/assets/vendor/ckeditor5/source-editing/translations/ko.js create mode 100644 core/assets/vendor/ckeditor5/source-editing/translations/lt.js create mode 100644 core/assets/vendor/ckeditor5/source-editing/translations/lv.js create mode 100644 core/assets/vendor/ckeditor5/source-editing/translations/ms.js create mode 100644 core/assets/vendor/ckeditor5/source-editing/translations/nl.js create mode 100644 core/assets/vendor/ckeditor5/source-editing/translations/no.js create mode 100644 core/assets/vendor/ckeditor5/source-editing/translations/pl.js create mode 100644 core/assets/vendor/ckeditor5/source-editing/translations/pt-br.js create mode 100644 core/assets/vendor/ckeditor5/source-editing/translations/pt.js create mode 100644 core/assets/vendor/ckeditor5/source-editing/translations/ro.js create mode 100644 core/assets/vendor/ckeditor5/source-editing/translations/ru.js create mode 100644 core/assets/vendor/ckeditor5/source-editing/translations/sk.js create mode 100644 core/assets/vendor/ckeditor5/source-editing/translations/sr-latn.js create mode 100644 core/assets/vendor/ckeditor5/source-editing/translations/sr.js create mode 100644 core/assets/vendor/ckeditor5/source-editing/translations/sv.js create mode 100644 core/assets/vendor/ckeditor5/source-editing/translations/th.js create mode 100644 core/assets/vendor/ckeditor5/source-editing/translations/tr.js create mode 100644 core/assets/vendor/ckeditor5/source-editing/translations/uk.js create mode 100644 core/assets/vendor/ckeditor5/source-editing/translations/ur.js create mode 100644 core/assets/vendor/ckeditor5/source-editing/translations/vi.js create mode 100644 core/assets/vendor/ckeditor5/source-editing/translations/zh-cn.js create mode 100644 core/assets/vendor/ckeditor5/source-editing/translations/zh.js create mode 100644 core/assets/vendor/ckeditor5/special-characters/special-characters.js create mode 100644 core/assets/vendor/ckeditor5/special-characters/translations/ar.js create mode 100644 core/assets/vendor/ckeditor5/special-characters/translations/az.js create mode 100644 core/assets/vendor/ckeditor5/special-characters/translations/bg.js create mode 100644 core/assets/vendor/ckeditor5/special-characters/translations/bn.js create mode 100644 core/assets/vendor/ckeditor5/special-characters/translations/ca.js create mode 100644 core/assets/vendor/ckeditor5/special-characters/translations/cs.js create mode 100644 core/assets/vendor/ckeditor5/special-characters/translations/da.js create mode 100644 core/assets/vendor/ckeditor5/special-characters/translations/de.js create mode 100644 core/assets/vendor/ckeditor5/special-characters/translations/el.js create mode 100644 core/assets/vendor/ckeditor5/special-characters/translations/en-au.js create mode 100644 core/assets/vendor/ckeditor5/special-characters/translations/es.js create mode 100644 core/assets/vendor/ckeditor5/special-characters/translations/et.js create mode 100644 core/assets/vendor/ckeditor5/special-characters/translations/fa.js create mode 100644 core/assets/vendor/ckeditor5/special-characters/translations/fi.js create mode 100644 core/assets/vendor/ckeditor5/special-characters/translations/fr.js create mode 100644 core/assets/vendor/ckeditor5/special-characters/translations/gl.js create mode 100644 core/assets/vendor/ckeditor5/special-characters/translations/he.js create mode 100644 core/assets/vendor/ckeditor5/special-characters/translations/hi.js create mode 100644 core/assets/vendor/ckeditor5/special-characters/translations/hu.js create mode 100644 core/assets/vendor/ckeditor5/special-characters/translations/id.js create mode 100644 core/assets/vendor/ckeditor5/special-characters/translations/it.js create mode 100644 core/assets/vendor/ckeditor5/special-characters/translations/ja.js create mode 100644 core/assets/vendor/ckeditor5/special-characters/translations/ko.js create mode 100644 core/assets/vendor/ckeditor5/special-characters/translations/lt.js create mode 100644 core/assets/vendor/ckeditor5/special-characters/translations/lv.js create mode 100644 core/assets/vendor/ckeditor5/special-characters/translations/ms.js create mode 100644 core/assets/vendor/ckeditor5/special-characters/translations/nl.js create mode 100644 core/assets/vendor/ckeditor5/special-characters/translations/no.js create mode 100644 core/assets/vendor/ckeditor5/special-characters/translations/pl.js create mode 100644 core/assets/vendor/ckeditor5/special-characters/translations/pt-br.js create mode 100644 core/assets/vendor/ckeditor5/special-characters/translations/pt.js create mode 100644 core/assets/vendor/ckeditor5/special-characters/translations/ro.js create mode 100644 core/assets/vendor/ckeditor5/special-characters/translations/ru.js create mode 100644 core/assets/vendor/ckeditor5/special-characters/translations/sk.js create mode 100644 core/assets/vendor/ckeditor5/special-characters/translations/sr-latn.js create mode 100644 core/assets/vendor/ckeditor5/special-characters/translations/sr.js create mode 100644 core/assets/vendor/ckeditor5/special-characters/translations/sv.js create mode 100644 core/assets/vendor/ckeditor5/special-characters/translations/th.js create mode 100644 core/assets/vendor/ckeditor5/special-characters/translations/tk.js create mode 100644 core/assets/vendor/ckeditor5/special-characters/translations/tr.js create mode 100644 core/assets/vendor/ckeditor5/special-characters/translations/uk.js create mode 100644 core/assets/vendor/ckeditor5/special-characters/translations/ur.js create mode 100644 core/assets/vendor/ckeditor5/special-characters/translations/uz.js create mode 100644 core/assets/vendor/ckeditor5/special-characters/translations/vi.js create mode 100644 core/assets/vendor/ckeditor5/special-characters/translations/zh-cn.js create mode 100644 core/assets/vendor/ckeditor5/special-characters/translations/zh.js create mode 100644 core/assets/vendor/ckeditor5/style/style.js create mode 100644 core/assets/vendor/ckeditor5/style/translations/ar.js create mode 100644 core/assets/vendor/ckeditor5/style/translations/bg.js create mode 100644 core/assets/vendor/ckeditor5/style/translations/bn.js create mode 100644 core/assets/vendor/ckeditor5/style/translations/ca.js create mode 100644 core/assets/vendor/ckeditor5/style/translations/cs.js create mode 100644 core/assets/vendor/ckeditor5/style/translations/da.js create mode 100644 core/assets/vendor/ckeditor5/style/translations/de.js create mode 100644 core/assets/vendor/ckeditor5/style/translations/el.js create mode 100644 core/assets/vendor/ckeditor5/style/translations/en-au.js create mode 100644 core/assets/vendor/ckeditor5/style/translations/es.js create mode 100644 core/assets/vendor/ckeditor5/style/translations/et.js create mode 100644 core/assets/vendor/ckeditor5/style/translations/fi.js create mode 100644 core/assets/vendor/ckeditor5/style/translations/fr.js create mode 100644 core/assets/vendor/ckeditor5/style/translations/gl.js create mode 100644 core/assets/vendor/ckeditor5/style/translations/he.js create mode 100644 core/assets/vendor/ckeditor5/style/translations/hi.js create mode 100644 core/assets/vendor/ckeditor5/style/translations/hr.js create mode 100644 core/assets/vendor/ckeditor5/style/translations/hu.js create mode 100644 core/assets/vendor/ckeditor5/style/translations/id.js create mode 100644 core/assets/vendor/ckeditor5/style/translations/it.js create mode 100644 core/assets/vendor/ckeditor5/style/translations/ja.js create mode 100644 core/assets/vendor/ckeditor5/style/translations/ko.js create mode 100644 core/assets/vendor/ckeditor5/style/translations/lt.js create mode 100644 core/assets/vendor/ckeditor5/style/translations/lv.js create mode 100644 core/assets/vendor/ckeditor5/style/translations/ms.js create mode 100644 core/assets/vendor/ckeditor5/style/translations/nl.js create mode 100644 core/assets/vendor/ckeditor5/style/translations/no.js create mode 100644 core/assets/vendor/ckeditor5/style/translations/pl.js create mode 100644 core/assets/vendor/ckeditor5/style/translations/pt-br.js create mode 100644 core/assets/vendor/ckeditor5/style/translations/pt.js create mode 100644 core/assets/vendor/ckeditor5/style/translations/ro.js create mode 100644 core/assets/vendor/ckeditor5/style/translations/ru.js create mode 100644 core/assets/vendor/ckeditor5/style/translations/sk.js create mode 100644 core/assets/vendor/ckeditor5/style/translations/sr-latn.js create mode 100644 core/assets/vendor/ckeditor5/style/translations/sr.js create mode 100644 core/assets/vendor/ckeditor5/style/translations/sv.js create mode 100644 core/assets/vendor/ckeditor5/style/translations/th.js create mode 100644 core/assets/vendor/ckeditor5/style/translations/tr.js create mode 100644 core/assets/vendor/ckeditor5/style/translations/uk.js create mode 100644 core/assets/vendor/ckeditor5/style/translations/ur.js create mode 100644 core/assets/vendor/ckeditor5/style/translations/vi.js create mode 100644 core/assets/vendor/ckeditor5/style/translations/zh-cn.js create mode 100644 core/assets/vendor/ckeditor5/style/translations/zh.js create mode 100644 core/assets/vendor/ckeditor5/table/table.js create mode 100644 core/assets/vendor/ckeditor5/table/translations/ar.js create mode 100644 core/assets/vendor/ckeditor5/table/translations/az.js create mode 100644 core/assets/vendor/ckeditor5/table/translations/bg.js create mode 100644 core/assets/vendor/ckeditor5/table/translations/bn.js create mode 100644 core/assets/vendor/ckeditor5/table/translations/ca.js create mode 100644 core/assets/vendor/ckeditor5/table/translations/cs.js create mode 100644 core/assets/vendor/ckeditor5/table/translations/da.js create mode 100644 core/assets/vendor/ckeditor5/table/translations/de-ch.js create mode 100644 core/assets/vendor/ckeditor5/table/translations/de.js create mode 100644 core/assets/vendor/ckeditor5/table/translations/el.js create mode 100644 core/assets/vendor/ckeditor5/table/translations/en-au.js create mode 100644 core/assets/vendor/ckeditor5/table/translations/en-gb.js create mode 100644 core/assets/vendor/ckeditor5/table/translations/es.js create mode 100644 core/assets/vendor/ckeditor5/table/translations/et.js create mode 100644 core/assets/vendor/ckeditor5/table/translations/fa.js create mode 100644 core/assets/vendor/ckeditor5/table/translations/fi.js create mode 100644 core/assets/vendor/ckeditor5/table/translations/fr.js create mode 100644 core/assets/vendor/ckeditor5/table/translations/gl.js create mode 100644 core/assets/vendor/ckeditor5/table/translations/he.js create mode 100644 core/assets/vendor/ckeditor5/table/translations/hi.js create mode 100644 core/assets/vendor/ckeditor5/table/translations/hr.js create mode 100644 core/assets/vendor/ckeditor5/table/translations/hu.js create mode 100644 core/assets/vendor/ckeditor5/table/translations/id.js create mode 100644 core/assets/vendor/ckeditor5/table/translations/it.js create mode 100644 core/assets/vendor/ckeditor5/table/translations/ja.js create mode 100644 core/assets/vendor/ckeditor5/table/translations/ko.js create mode 100644 core/assets/vendor/ckeditor5/table/translations/ku.js create mode 100644 core/assets/vendor/ckeditor5/table/translations/lt.js create mode 100644 core/assets/vendor/ckeditor5/table/translations/lv.js create mode 100644 core/assets/vendor/ckeditor5/table/translations/ms.js create mode 100644 core/assets/vendor/ckeditor5/table/translations/nb.js create mode 100644 core/assets/vendor/ckeditor5/table/translations/ne.js create mode 100644 core/assets/vendor/ckeditor5/table/translations/nl.js create mode 100644 core/assets/vendor/ckeditor5/table/translations/no.js create mode 100644 core/assets/vendor/ckeditor5/table/translations/pl.js create mode 100644 core/assets/vendor/ckeditor5/table/translations/pt-br.js create mode 100644 core/assets/vendor/ckeditor5/table/translations/pt.js create mode 100644 core/assets/vendor/ckeditor5/table/translations/ro.js create mode 100644 core/assets/vendor/ckeditor5/table/translations/ru.js create mode 100644 core/assets/vendor/ckeditor5/table/translations/sk.js create mode 100644 core/assets/vendor/ckeditor5/table/translations/sq.js create mode 100644 core/assets/vendor/ckeditor5/table/translations/sr-latn.js create mode 100644 core/assets/vendor/ckeditor5/table/translations/sr.js create mode 100644 core/assets/vendor/ckeditor5/table/translations/sv.js create mode 100644 core/assets/vendor/ckeditor5/table/translations/th.js create mode 100644 core/assets/vendor/ckeditor5/table/translations/tk.js create mode 100644 core/assets/vendor/ckeditor5/table/translations/tr.js create mode 100644 core/assets/vendor/ckeditor5/table/translations/tt.js create mode 100644 core/assets/vendor/ckeditor5/table/translations/ug.js create mode 100644 core/assets/vendor/ckeditor5/table/translations/uk.js create mode 100644 core/assets/vendor/ckeditor5/table/translations/ur.js create mode 100644 core/assets/vendor/ckeditor5/table/translations/uz.js create mode 100644 core/assets/vendor/ckeditor5/table/translations/vi.js create mode 100644 core/assets/vendor/ckeditor5/table/translations/zh-cn.js create mode 100644 core/assets/vendor/ckeditor5/table/translations/zh.js create mode 100644 core/assets/vendor/css-escape/css.escape.js create mode 100644 core/assets/vendor/es6-promise/es6-promise.auto.min.map create mode 100644 core/assets/vendor/jquery-form/src/jquery.form.js delete mode 100644 core/assets/vendor/jquery.ui/AUTHORS.txt delete mode 100644 core/assets/vendor/jquery.ui/README.txt create mode 100644 core/assets/vendor/jquery.ui/ui/data-min.js.map create mode 100644 core/assets/vendor/jquery.ui/ui/disable-selection-min.js.map delete mode 100644 core/assets/vendor/jquery.ui/ui/escape-selector-min.js delete mode 100644 core/assets/vendor/jquery.ui/ui/escape-selector.js create mode 100644 core/assets/vendor/jquery.ui/ui/focusable-min.js.map create mode 100644 core/assets/vendor/jquery.ui/ui/form-min.js.map create mode 100644 core/assets/vendor/jquery.ui/ui/form-reset-mixin-min.js.map create mode 100644 core/assets/vendor/jquery.ui/ui/ie-min.js.map delete mode 100644 core/assets/vendor/jquery.ui/ui/jquery-1-7-min.js delete mode 100644 core/assets/vendor/jquery.ui/ui/jquery-1-7.js create mode 100644 core/assets/vendor/jquery.ui/ui/jquery-patch-min.js create mode 100644 core/assets/vendor/jquery.ui/ui/jquery-patch-min.js.map create mode 100644 core/assets/vendor/jquery.ui/ui/jquery-patch.js create mode 100644 core/assets/vendor/jquery.ui/ui/keycode-min.js.map create mode 100644 core/assets/vendor/jquery.ui/ui/labels-min.js.map create mode 100644 core/assets/vendor/jquery.ui/ui/plugin-min.js.map create mode 100644 core/assets/vendor/jquery.ui/ui/position-min.js.map create mode 100644 core/assets/vendor/jquery.ui/ui/safe-active-element-min.js.map create mode 100644 core/assets/vendor/jquery.ui/ui/safe-blur-min.js.map create mode 100644 core/assets/vendor/jquery.ui/ui/scroll-parent-min.js.map create mode 100644 core/assets/vendor/jquery.ui/ui/tabbable-min.js.map create mode 100644 core/assets/vendor/jquery.ui/ui/unique-id-min.js.map create mode 100644 core/assets/vendor/jquery.ui/ui/version-min.js.map create mode 100644 core/assets/vendor/jquery.ui/ui/widget-min.js.map create mode 100644 core/assets/vendor/jquery.ui/ui/widgets/autocomplete-min.js.map create mode 100644 core/assets/vendor/jquery.ui/ui/widgets/button-min.js.map create mode 100644 core/assets/vendor/jquery.ui/ui/widgets/checkboxradio-min.js.map create mode 100644 core/assets/vendor/jquery.ui/ui/widgets/controlgroup-min.js.map create mode 100644 core/assets/vendor/jquery.ui/ui/widgets/dialog-min.js.map create mode 100644 core/assets/vendor/jquery.ui/ui/widgets/draggable-min.js.map create mode 100644 core/assets/vendor/jquery.ui/ui/widgets/menu-min.js.map create mode 100644 core/assets/vendor/jquery.ui/ui/widgets/mouse-min.js.map create mode 100644 core/assets/vendor/jquery.ui/ui/widgets/resizable-min.js.map create mode 100644 core/assets/vendor/loadjs/loadjs.min.js create mode 100644 core/assets/vendor/modernizr/README.md create mode 100644 core/assets/vendor/once/once.js create mode 100644 core/assets/vendor/once/once.min.js create mode 100644 core/assets/vendor/once/once.min.js.map create mode 100644 core/assets/vendor/shepherd/shepherd.min.js create mode 100644 core/assets/vendor/shepherd/shepherd.min.js.map create mode 100644 core/assets/vendor/tabbable/README.txt create mode 100644 core/assets/vendor/tabbable/index.umd.min.js create mode 100644 core/assets/vendor/tabbable/index.umd.min.js.map create mode 100644 core/includes/guzzle_php81_shim.php create mode 100644 core/lib/Drupal/Component/Annotation/Doctrine/Compatibility/Php7/ReflectionClass.php create mode 100644 core/lib/Drupal/Component/Annotation/Doctrine/Compatibility/Php8/ReflectionClass.php create mode 100644 core/lib/Drupal/Component/Annotation/Doctrine/Compatibility/ReflectionClass.php create mode 100644 core/lib/Drupal/Component/Annotation/Doctrine/StaticReflectionClass.php create mode 100644 core/lib/Drupal/Component/Annotation/Doctrine/StaticReflectionParser.php create mode 100644 core/lib/Drupal/Component/ClassFinder/ClassFinderInterface.php create mode 100644 core/lib/Drupal/Component/DependencyInjection/ContainerInterface.php create mode 100644 core/lib/Drupal/Component/DependencyInjection/ReverseContainer.php create mode 100644 core/lib/Drupal/Component/DependencyInjection/ServiceIdHashTrait.php create mode 100644 core/lib/Drupal/Component/Transliteration/data/uk.php create mode 100644 core/lib/Drupal/Core/Ajax/AddJsCommand.php create mode 100644 core/lib/Drupal/Core/Ajax/FocusFirstCommand.php create mode 100644 core/lib/Drupal/Core/Cache/MemoryCounterBackendFactory.php create mode 100644 core/lib/Drupal/Core/Command/GenerateTheme.php create mode 100644 core/lib/Drupal/Core/Database/Driver/mysql/ExceptionHandler.php create mode 100644 core/lib/Drupal/Core/Database/Driver/mysql/Install/Tasks.php.rej create mode 100644 core/lib/Drupal/Core/Database/ExceptionHandler.php create mode 100644 core/lib/Drupal/Core/DependencyInjection/Compiler/DeprecatedServicePass.php delete mode 100644 core/lib/Drupal/Core/DependencyInjection/Compiler/GuzzleMiddlewarePass.php create mode 100644 core/lib/Drupal/Core/Entity/BundleEntityStorageInterface.php create mode 100644 core/lib/Drupal/Core/Entity/BundlePermissionHandlerTrait.php create mode 100644 core/lib/Drupal/Core/Entity/Enhancer/EntityBundleRouteEnhancer.php create mode 100644 core/lib/Drupal/Core/Entity/Exception/AmbiguousBundleClassException.php create mode 100644 core/lib/Drupal/Core/Entity/Exception/BundleClassInheritanceException.php create mode 100644 core/lib/Drupal/Core/Entity/Exception/MissingBundleClassException.php create mode 100644 core/lib/Drupal/Core/Entity/Plugin/Condition/Deriver/EntityBundle.php create mode 100644 core/lib/Drupal/Core/Entity/Plugin/Condition/EntityBundle.php delete mode 100644 core/lib/Drupal/Core/EventSubscriber/ExceptionTestSiteSubscriber.php create mode 100644 core/lib/Drupal/Core/Extension/ConfigImportModuleUninstallValidatorInterface.php create mode 100644 core/lib/Drupal/Core/Extension/DatabaseDriverUninstallValidator.php create mode 100644 core/lib/Drupal/Core/Extension/Exception/ObsoleteExtensionException.php create mode 100644 core/lib/Drupal/Core/Extension/Exception/UnknownExtensionTypeException.php create mode 100644 core/lib/Drupal/Core/Extension/ExtensionLifecycle.php create mode 100644 core/lib/Drupal/Core/Extension/ExtensionPathResolver.php create mode 100644 core/lib/Drupal/Core/Extension/ExtensionVersion.php rename core/{modules/system/src => lib/Drupal/Core/Extension}/ModuleDependencyMessageTrait.php (85%) create mode 100644 core/lib/Drupal/Core/Field/InternalViolation.php create mode 100644 core/lib/Drupal/Core/File/Event/FileUploadSanitizeNameEvent.php create mode 100644 core/lib/Drupal/Core/File/Exception/InvalidStreamWrapperException.php create mode 100644 core/lib/Drupal/Core/File/FileUrlGenerator.php create mode 100644 core/lib/Drupal/Core/File/FileUrlGeneratorInterface.php create mode 100644 core/lib/Drupal/Core/Http/InputBag.php create mode 100644 core/lib/Drupal/Core/Http/KernelEvent.php create mode 100644 core/lib/Drupal/Core/Http/RequestStack.php create mode 100644 core/lib/Drupal/Core/Plugin/PreviewAwarePluginInterface.php create mode 100644 core/lib/Drupal/Core/ProxyClass/Extension/DatabaseDriverUninstallValidator.php create mode 100644 core/lib/Drupal/Core/Security/StaticTrustedCallbackHelper.php create mode 100644 core/lib/Drupal/Core/Site/MaintenanceModeEvents.php create mode 100644 core/lib/Drupal/Core/Template/DebugExtension.php create mode 100644 core/lib/Drupal/Core/Theme/StarterKitInterface.php create mode 100644 core/lib/Drupal/Core/Update/UpdateHookRegistry.php create mode 100644 core/lib/Drupal/Core/Update/UpdateHookRegistryFactory.php create mode 100644 core/lib/Drupal/Core/Utility/PhpRequirements.php create mode 100644 core/lib/Drupal/Core/Validation/ConstraintFactory.php create mode 100644 core/misc/dialog/off-canvas.base.pcss.css create mode 100644 core/misc/dialog/off-canvas.reset.pcss.css create mode 100644 core/misc/icons/dc2323/error.svg create mode 100644 core/misc/jquery.once.bc.es6.js create mode 100644 core/misc/jquery.once.bc.js create mode 100644 core/misc/jquery.tabbable.shim.es6.js create mode 100644 core/misc/jquery.tabbable.shim.js create mode 100644 core/misc/polyfills/array.includes.es6.js create mode 100644 core/misc/polyfills/array.includes.js create mode 100644 core/misc/polyfills/customevent.es6.js create mode 100644 core/misc/polyfills/customevent.js create mode 100644 core/misc/polyfills/element.closest.es6.js create mode 100644 core/misc/polyfills/element.closest.js create mode 100644 core/misc/polyfills/element.matches.es6.js rename core/{themes/olivero/js/polyfills.js => misc/polyfills/element.matches.js} (52%) create mode 100644 core/misc/polyfills/string.includes.es6.js create mode 100644 core/misc/polyfills/string.includes.js create mode 100644 core/misc/position.es6.js create mode 100644 core/misc/position.js create mode 100644 core/misc/touchevents-test.es6.js create mode 100644 core/misc/touchevents-test.js delete mode 100644 core/modules/action/migrations/state/action.migrate_drupal.yml create mode 100644 core/modules/action/tests/src/Unit/Plugin/migrate/source/ActionTest.php rename core/modules/{help_topics => aggregator}/help_topics/aggregator.creating.html.twig (78%) rename core/modules/{help_topics => aggregator}/help_topics/aggregator.managing.html.twig (79%) rename core/modules/{help_topics => aggregator}/help_topics/aggregator.overview.html.twig (81%) create mode 100644 core/modules/aggregator/src/ZfExtensionManagerSfContainer.php create mode 100644 core/modules/aggregator/tests/fixtures/drupal6.php create mode 100644 core/modules/aggregator/tests/fixtures/drupal7.php rename core/modules/{views/tests/modules/views_test_config/test_views/views.view.test_style_opml.yml => aggregator/tests/modules/aggregator_test_views/test_views/views.view.test_aggregator_style_opml.yml} (98%) rename core/modules/{jsonapi/tests/src/Functional => aggregator/tests/src/Functional/Jsonapi}/FeedTest.php (95%) rename core/modules/{jsonapi/tests/src/Functional => aggregator/tests/src/Functional/Jsonapi}/ItemTest.php (96%) create mode 100644 core/modules/aggregator/tests/src/Functional/Views/Handler/HandlerAggregatorTest.php rename core/modules/{views/tests/src/Functional => aggregator/tests/src/Functional/Views}/Plugin/StyleOpmlTest.php (82%) create mode 100644 core/modules/aggregator/tests/src/Functional/migrate_drupal_ui/d6/MultilingualReviewPageTest.php create mode 100644 core/modules/aggregator/tests/src/Functional/migrate_drupal_ui/d6/NoMultilingualReviewPageTest.php create mode 100644 core/modules/aggregator/tests/src/Functional/migrate_drupal_ui/d6/UpgradeTest.php create mode 100644 core/modules/aggregator/tests/src/Functional/migrate_drupal_ui/d6/files/core/tests/fixtures/files/html-1.txt create mode 100644 core/modules/aggregator/tests/src/Functional/migrate_drupal_ui/d6/files/core/tests/fixtures/files/image-1.png create mode 100644 core/modules/aggregator/tests/src/Functional/migrate_drupal_ui/d6/files/core/tests/fixtures/files/image-2.jpg create mode 100644 core/modules/aggregator/tests/src/Functional/migrate_drupal_ui/d6/files/core/tests/fixtures/files/image-test.gif create mode 100644 core/modules/aggregator/tests/src/Functional/migrate_drupal_ui/d6/files/core/tests/fixtures/files/image-test.jpg create mode 100644 core/modules/aggregator/tests/src/Functional/migrate_drupal_ui/d6/files/core/tests/fixtures/files/image-test.png create mode 100644 core/modules/aggregator/tests/src/Functional/migrate_drupal_ui/d7/MultilingualReviewPageTest.php create mode 100644 core/modules/aggregator/tests/src/Functional/migrate_drupal_ui/d7/NoMultilingualReviewPageTest.php create mode 100644 core/modules/aggregator/tests/src/Functional/migrate_drupal_ui/d7/UpgradeTest.php create mode 100644 core/modules/aggregator/tests/src/Functional/migrate_drupal_ui/d7/files/sites/default/files/cube.jpeg create mode 100644 core/modules/aggregator/tests/src/Functional/migrate_drupal_ui/d7/files/sites/default/files/ds9.txt create mode 100644 core/modules/aggregator/tests/src/Functional/migrate_drupal_ui/d7/files/sites/default/private/Babylon5.txt create mode 100644 core/modules/aggregator/tests/src/Functional/views_ui/DisplayOpmlFeedTest.php create mode 100644 core/modules/aggregator/tests/src/Functional/views_ui/NewViewAggregatorConfigSchemaTest.php create mode 100644 core/modules/aggregator/tests/src/Kernel/Migrate/d6/MigrateBlockTest.php create mode 100644 core/modules/aggregator/tests/src/Kernel/Migrate/d6/MigrateDependenciesTest.php create mode 100644 core/modules/aggregator/tests/src/Kernel/Migrate/d6/MigrateDrupal6AuditIdsTest.php create mode 100644 core/modules/aggregator/tests/src/Kernel/Migrate/d6/MigrateDrupal6TestBase.php create mode 100644 core/modules/aggregator/tests/src/Kernel/Migrate/d7/MigrateDrupal7AuditIdsTest.php create mode 100644 core/modules/aggregator/tests/src/Kernel/Migrate/d7/MigrateDrupal7TestBase.php create mode 100644 core/modules/aggregator/tests/src/Unit/BubbleableMetadataTest.php create mode 100644 core/modules/aggregator/tests/src/Unit/ZfExtensionManagerSfContainerTest.php create mode 100644 core/modules/block/tests/src/Functional/Update/BlockNodeTypeVisibilityUpdateTest.php create mode 100644 core/modules/block/tests/src/FunctionalJavascript/BlockAddTest.php create mode 100644 core/modules/block/tests/src/FunctionalJavascript/BlockContextualLinksTest.php create mode 100644 core/modules/block/tests/src/Unit/Plugin/migrate/process/BlockSettingsTest.php create mode 100644 core/modules/block_content/src/Plugin/Validation/Constraint/BlockContentEntityChangedConstraint.php create mode 100644 core/modules/block_content/src/Plugin/Validation/Constraint/BlockContentEntityChangedConstraintValidator.php create mode 100644 core/modules/book/tests/src/Kernel/BookManagerDeprecationTest.php create mode 100644 core/modules/book/tests/src/Kernel/BookMultilingualTest.php create mode 100644 core/modules/ckeditor/ckeditor.post_update.php rename core/modules/{media => ckeditor}/css/plugins/drupalmedia/ckeditor.drupalmedia.css (100%) create mode 100644 core/modules/ckeditor/js/ckeditor.drupalmedia.theme.es6.js create mode 100644 core/modules/ckeditor/js/ckeditor.drupalmedia.theme.js rename core/modules/{media => ckeditor}/js/plugins/drupalmedia/plugin.es6.js (98%) rename core/modules/{media => ckeditor}/js/plugins/drupalmedia/plugin.js (98%) rename core/modules/{media_library => ckeditor}/js/plugins/drupalmedialibrary/icons/drupalmedialibrary.png (100%) rename core/modules/{media_library => ckeditor}/js/plugins/drupalmedialibrary/icons/hidpi/drupalmedialibrary.png (100%) rename core/modules/{media_library => ckeditor}/js/plugins/drupalmedialibrary/plugin.es6.js (100%) rename core/modules/{media_library => ckeditor}/js/plugins/drupalmedialibrary/plugin.js (99%) rename core/modules/{media => ckeditor}/src/Plugin/CKEditorPlugin/DrupalMedia.php (85%) rename core/modules/{media_library => ckeditor}/src/Plugin/CKEditorPlugin/DrupalMediaLibrary.php (93%) create mode 100644 core/modules/ckeditor/tests/src/Functional/Update/CKEditorUpdateOmitDisabledPluginSettings.php create mode 100644 core/modules/ckeditor/tests/src/FunctionalJavascript/BigPipeRegressionTest.php create mode 100644 core/modules/ckeditor/tests/src/FunctionalJavascript/CKEditor5CKEditor4Compatibility.php rename core/modules/{inline_form_errors => ckeditor}/tests/src/FunctionalJavascript/FormErrorHandlerCKEditorTest.php (96%) rename core/modules/{media_library/tests/src/FunctionalJavascript/CKEditorIntegrationTest.php => ckeditor/tests/src/FunctionalJavascript/MediaLibraryTest.php} (86%) rename core/modules/{media/tests/src/FunctionalJavascript/CKEditorIntegrationTest.php => ckeditor/tests/src/FunctionalJavascript/MediaTest.php} (92%) create mode 100644 core/modules/ckeditor5/ckeditor5.api.php create mode 100644 core/modules/ckeditor5/ckeditor5.ckeditor5.yml create mode 100644 core/modules/ckeditor5/ckeditor5.info.yml create mode 100644 core/modules/ckeditor5/ckeditor5.libraries.yml create mode 100644 core/modules/ckeditor5/ckeditor5.module create mode 100644 core/modules/ckeditor5/ckeditor5.post_update.php create mode 100644 core/modules/ckeditor5/ckeditor5.routing.yml create mode 100644 core/modules/ckeditor5/ckeditor5.services.yml create mode 100644 core/modules/ckeditor5/config/schema/ckeditor5.data_types.yml create mode 100644 core/modules/ckeditor5/config/schema/ckeditor5.pair.schema.yml create mode 100644 core/modules/ckeditor5/config/schema/ckeditor5.schema.yml create mode 100644 core/modules/ckeditor5/css/alignment.admin.css create mode 100644 core/modules/ckeditor5/css/basic.admin.css create mode 100644 core/modules/ckeditor5/css/blockquote.admin.css create mode 100644 core/modules/ckeditor5/css/ckeditor5.dialog.fix.css create mode 100644 core/modules/ckeditor5/css/code-block.admin.css create mode 100644 core/modules/ckeditor5/css/drupalmedia.admin.css create mode 100644 core/modules/ckeditor5/css/drupalmedia.css create mode 100644 core/modules/ckeditor5/css/editor.css create mode 100644 core/modules/ckeditor5/css/essentials.admin.css create mode 100644 core/modules/ckeditor5/css/heading.admin.css create mode 100644 core/modules/ckeditor5/css/horizontal-line.admin.css create mode 100644 core/modules/ckeditor5/css/ie-warnings.css create mode 100644 core/modules/ckeditor5/css/image.admin.css create mode 100644 core/modules/ckeditor5/css/image.css create mode 100644 core/modules/ckeditor5/css/indent.admin.css create mode 100644 core/modules/ckeditor5/css/language.admin.css create mode 100644 core/modules/ckeditor5/css/language.css create mode 100644 core/modules/ckeditor5/css/link.admin.css create mode 100644 core/modules/ckeditor5/css/list.admin.css create mode 100644 core/modules/ckeditor5/css/media-alignment.css create mode 100644 core/modules/ckeditor5/css/remove-format.css create mode 100644 core/modules/ckeditor5/css/source-editing.admin.css create mode 100644 core/modules/ckeditor5/css/special-characters.css create mode 100644 core/modules/ckeditor5/css/style.admin.css create mode 100644 core/modules/ckeditor5/css/table.admin.css create mode 100644 core/modules/ckeditor5/css/toolbar.admin.css create mode 100644 core/modules/ckeditor5/icons/align-center.svg create mode 100644 core/modules/ckeditor5/icons/align-justify.svg create mode 100644 core/modules/ckeditor5/icons/align-left.svg create mode 100644 core/modules/ckeditor5/icons/align-right.svg create mode 100644 core/modules/ckeditor5/icons/blockquote.svg create mode 100644 core/modules/ckeditor5/icons/bold.svg create mode 100644 core/modules/ckeditor5/icons/bulletedlist.svg create mode 100644 core/modules/ckeditor5/icons/caret.svg create mode 100644 core/modules/ckeditor5/icons/code-block.svg create mode 100644 core/modules/ckeditor5/icons/code.svg create mode 100644 core/modules/ckeditor5/icons/divider.svg create mode 100644 core/modules/ckeditor5/icons/horizontalline.svg create mode 100644 core/modules/ckeditor5/icons/image.svg create mode 100644 core/modules/ckeditor5/icons/indent.svg create mode 100644 core/modules/ckeditor5/icons/italic.svg create mode 100644 core/modules/ckeditor5/icons/link.svg create mode 100644 core/modules/ckeditor5/icons/medialibrary.svg create mode 100644 core/modules/ckeditor5/icons/numberedlist.svg create mode 100644 core/modules/ckeditor5/icons/outdent.svg create mode 100644 core/modules/ckeditor5/icons/redo.svg create mode 100644 core/modules/ckeditor5/icons/remove-format.svg create mode 100644 core/modules/ckeditor5/icons/separator.svg create mode 100644 core/modules/ckeditor5/icons/source-editing.svg create mode 100644 core/modules/ckeditor5/icons/special-characters.svg create mode 100644 core/modules/ckeditor5/icons/strikethrough.svg create mode 100644 core/modules/ckeditor5/icons/subscript.svg create mode 100644 core/modules/ckeditor5/icons/superscript.svg create mode 100644 core/modules/ckeditor5/icons/table.svg create mode 100644 core/modules/ckeditor5/icons/underline.svg create mode 100644 core/modules/ckeditor5/icons/undo.svg create mode 100644 core/modules/ckeditor5/icons/warning.svg create mode 100644 core/modules/ckeditor5/js/build/ckeditor5.types.jsdoc create mode 100644 core/modules/ckeditor5/js/build/drupalEmphasis.js create mode 100644 core/modules/ckeditor5/js/build/drupalHtmlEngine.js create mode 100644 core/modules/ckeditor5/js/build/drupalImage.js create mode 100644 core/modules/ckeditor5/js/build/drupalMedia.js create mode 100644 core/modules/ckeditor5/js/ckeditor5.admin.es6.js create mode 100644 core/modules/ckeditor5/js/ckeditor5.admin.js create mode 100644 core/modules/ckeditor5/js/ckeditor5.dialog.fix.es6.js create mode 100644 core/modules/ckeditor5/js/ckeditor5.dialog.fix.js create mode 100644 core/modules/ckeditor5/js/ckeditor5.es6.js create mode 100644 core/modules/ckeditor5/js/ckeditor5.filter.admin.es6.js create mode 100644 core/modules/ckeditor5/js/ckeditor5.filter.admin.js create mode 100644 core/modules/ckeditor5/js/ckeditor5.js create mode 100644 core/modules/ckeditor5/js/ckeditor5.style.admin.es6.js create mode 100644 core/modules/ckeditor5/js/ckeditor5.style.admin.js create mode 100644 core/modules/ckeditor5/js/ckeditor5_plugins/drupalEmphasis/src/drupalemphasis.js create mode 100644 core/modules/ckeditor5/js/ckeditor5_plugins/drupalEmphasis/src/drupalemphasisediting.js create mode 100644 core/modules/ckeditor5/js/ckeditor5_plugins/drupalEmphasis/src/index.js create mode 100644 core/modules/ckeditor5/js/ckeditor5_plugins/drupalHtmlEngine/src/drupalhtmlbuilder.js create mode 100644 core/modules/ckeditor5/js/ckeditor5_plugins/drupalHtmlEngine/src/drupalhtmlengine.js create mode 100644 core/modules/ckeditor5/js/ckeditor5_plugins/drupalHtmlEngine/src/drupalhtmlwriter.js create mode 100644 core/modules/ckeditor5/js/ckeditor5_plugins/drupalHtmlEngine/src/index.js create mode 100644 core/modules/ckeditor5/js/ckeditor5_plugins/drupalImage/src/drupalimage.js create mode 100644 core/modules/ckeditor5/js/ckeditor5_plugins/drupalImage/src/drupalimagealternativetext.js create mode 100644 core/modules/ckeditor5/js/ckeditor5_plugins/drupalImage/src/drupalimageediting.js create mode 100644 core/modules/ckeditor5/js/ckeditor5_plugins/drupalImage/src/imagealternativetext/drupalimagealternativetextediting.js create mode 100644 core/modules/ckeditor5/js/ckeditor5_plugins/drupalImage/src/imagealternativetext/drupalimagealternativetextui.js create mode 100644 core/modules/ckeditor5/js/ckeditor5_plugins/drupalImage/src/imagealternativetext/ui/imagealternativetextformview.js create mode 100644 core/modules/ckeditor5/js/ckeditor5_plugins/drupalImage/src/imagealternativetext/ui/missingalternativetextview.js create mode 100644 core/modules/ckeditor5/js/ckeditor5_plugins/drupalImage/src/imageupload/drupalfilerepository.js create mode 100644 core/modules/ckeditor5/js/ckeditor5_plugins/drupalImage/src/imageupload/drupalimageupload.js create mode 100644 core/modules/ckeditor5/js/ckeditor5_plugins/drupalImage/src/imageupload/drupalimageuploadadapter.js create mode 100644 core/modules/ckeditor5/js/ckeditor5_plugins/drupalImage/src/imageupload/drupalimageuploadediting.js create mode 100644 core/modules/ckeditor5/js/ckeditor5_plugins/drupalImage/src/index.js create mode 100644 core/modules/ckeditor5/js/ckeditor5_plugins/drupalImage/src/insertimage/drupalinsertimage.js create mode 100644 core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/drupalelementstyle.js create mode 100644 core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/drupalelementstyle/drupalelementstylecommand.js create mode 100644 core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/drupalelementstyle/drupalelementstyleediting.js create mode 100644 core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/drupalelementstyle/drupalelementstyleui.js create mode 100644 core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/drupalelementstyle/utils.js create mode 100644 core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/drupallinkmedia/drupallinkmedia.js create mode 100644 core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/drupallinkmedia/drupallinkmediaediting.js create mode 100644 core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/drupallinkmedia/drupallinkmediaui.js create mode 100644 core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/drupalmedia.js create mode 100644 core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/drupalmediacaption.js create mode 100644 core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/drupalmediacaption/drupalmediacaptioncommand.js create mode 100644 core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/drupalmediacaption/drupalmediacaptionediting.js create mode 100644 core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/drupalmediacaption/drupalmediacaptionui.js create mode 100644 core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/drupalmediacaption/utils.js create mode 100644 core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/drupalmediaediting.js create mode 100644 core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/drupalmediageneralhtmlsupport.js create mode 100644 core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/drupalmediametadatarepository.js create mode 100644 core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/drupalmediatoolbar.js create mode 100644 core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/drupalmediaui.js create mode 100644 core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/index.js create mode 100644 core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/insertdrupalmedia.js create mode 100644 core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/mediaimagetextalternative.js create mode 100644 core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/mediaimagetextalternative/mediaimagetextalternativecommand.js create mode 100644 core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/mediaimagetextalternative/mediaimagetextalternativeediting.js create mode 100644 core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/mediaimagetextalternative/mediaimagetextalternativeui.js create mode 100644 core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/mediaimagetextalternative/ui/textalternativeformview.js create mode 100644 core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/mediaimagetextalternative/utils.js create mode 100644 core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/ui/utils.js create mode 100644 core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/utils.js create mode 100644 core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/theme/icons/medialibrary.svg create mode 100644 core/modules/ckeditor5/js/ie11.filter.warnings.es6.js create mode 100644 core/modules/ckeditor5/js/ie11.filter.warnings.js create mode 100644 core/modules/ckeditor5/js/ie11.user.warnings.es6.js create mode 100644 core/modules/ckeditor5/js/ie11.user.warnings.js create mode 100644 core/modules/ckeditor5/src/Annotation/CKEditor4To5Upgrade.php create mode 100644 core/modules/ckeditor5/src/Annotation/CKEditor5AspectsOfCKEditor5Plugin.php create mode 100644 core/modules/ckeditor5/src/Annotation/CKEditor5Plugin.php create mode 100644 core/modules/ckeditor5/src/Annotation/DrupalAspectsOfCKEditor5Plugin.php create mode 100644 core/modules/ckeditor5/src/CKEditor5StylesheetsMessage.php create mode 100644 core/modules/ckeditor5/src/Controller/CKEditor5ImageController.php create mode 100644 core/modules/ckeditor5/src/Controller/CKEditor5MediaController.php create mode 100644 core/modules/ckeditor5/src/EventSubscriber/CKEditor5CacheTag.php create mode 100644 core/modules/ckeditor5/src/HTMLRestrictions.php create mode 100644 core/modules/ckeditor5/src/Plugin/CKEditor4To5Upgrade/Contrib.php create mode 100644 core/modules/ckeditor5/src/Plugin/CKEditor4To5Upgrade/Core.php create mode 100644 core/modules/ckeditor5/src/Plugin/CKEditor4To5UpgradePluginInterface.php create mode 100644 core/modules/ckeditor5/src/Plugin/CKEditor4To5UpgradePluginManager.php create mode 100644 core/modules/ckeditor5/src/Plugin/CKEditor5Plugin/Alignment.php create mode 100644 core/modules/ckeditor5/src/Plugin/CKEditor5Plugin/DynamicPluginConfigWithCsrfTokenUrlTrait.php create mode 100644 core/modules/ckeditor5/src/Plugin/CKEditor5Plugin/GlobalAttribute.php create mode 100644 core/modules/ckeditor5/src/Plugin/CKEditor5Plugin/Heading.php create mode 100644 core/modules/ckeditor5/src/Plugin/CKEditor5Plugin/Image.php create mode 100644 core/modules/ckeditor5/src/Plugin/CKEditor5Plugin/ImageResize.php create mode 100644 core/modules/ckeditor5/src/Plugin/CKEditor5Plugin/Language.php create mode 100644 core/modules/ckeditor5/src/Plugin/CKEditor5Plugin/ListPlugin.php create mode 100644 core/modules/ckeditor5/src/Plugin/CKEditor5Plugin/Media.php create mode 100644 core/modules/ckeditor5/src/Plugin/CKEditor5Plugin/MediaLibrary.php create mode 100644 core/modules/ckeditor5/src/Plugin/CKEditor5Plugin/SourceEditing.php create mode 100644 core/modules/ckeditor5/src/Plugin/CKEditor5Plugin/Style.php create mode 100644 core/modules/ckeditor5/src/Plugin/CKEditor5PluginConfigurableInterface.php create mode 100644 core/modules/ckeditor5/src/Plugin/CKEditor5PluginConfigurableTrait.php create mode 100644 core/modules/ckeditor5/src/Plugin/CKEditor5PluginDefault.php create mode 100644 core/modules/ckeditor5/src/Plugin/CKEditor5PluginDefinition.php create mode 100644 core/modules/ckeditor5/src/Plugin/CKEditor5PluginElementsSubsetInterface.php create mode 100644 core/modules/ckeditor5/src/Plugin/CKEditor5PluginInterface.php create mode 100644 core/modules/ckeditor5/src/Plugin/CKEditor5PluginManager.php create mode 100644 core/modules/ckeditor5/src/Plugin/CKEditor5PluginManagerInterface.php create mode 100644 core/modules/ckeditor5/src/Plugin/Editor/CKEditor5.php create mode 100644 core/modules/ckeditor5/src/Plugin/Validation/Constraint/CKEditor5ElementConstraint.php create mode 100644 core/modules/ckeditor5/src/Plugin/Validation/Constraint/CKEditor5ElementConstraintValidator.php create mode 100644 core/modules/ckeditor5/src/Plugin/Validation/Constraint/CKEditor5MediaAndFilterSettingsInSyncConstraint.php create mode 100644 core/modules/ckeditor5/src/Plugin/Validation/Constraint/CKEditor5MediaAndFilterSettingsInSyncConstraintValidator.php create mode 100644 core/modules/ckeditor5/src/Plugin/Validation/Constraint/EnabledConfigurablePluginsConstraint.php create mode 100644 core/modules/ckeditor5/src/Plugin/Validation/Constraint/EnabledConfigurablePluginsConstraintValidator.php create mode 100644 core/modules/ckeditor5/src/Plugin/Validation/Constraint/FundamentalCompatibilityConstraint.php create mode 100644 core/modules/ckeditor5/src/Plugin/Validation/Constraint/FundamentalCompatibilityConstraintValidator.php create mode 100644 core/modules/ckeditor5/src/Plugin/Validation/Constraint/PluginManagerDependentValidatorTrait.php create mode 100644 core/modules/ckeditor5/src/Plugin/Validation/Constraint/PrecedingConstraintAwareValidatorTrait.php create mode 100644 core/modules/ckeditor5/src/Plugin/Validation/Constraint/SourceEditingPreventSelfXssConstraint.php create mode 100644 core/modules/ckeditor5/src/Plugin/Validation/Constraint/SourceEditingPreventSelfXssConstraintValidator.php create mode 100644 core/modules/ckeditor5/src/Plugin/Validation/Constraint/SourceEditingRedundantTagsConstraint.php create mode 100644 core/modules/ckeditor5/src/Plugin/Validation/Constraint/SourceEditingRedundantTagsConstraintValidator.php create mode 100644 core/modules/ckeditor5/src/Plugin/Validation/Constraint/StyleSensibleElementConstraint.php create mode 100644 core/modules/ckeditor5/src/Plugin/Validation/Constraint/StyleSensibleElementConstraintValidator.php create mode 100644 core/modules/ckeditor5/src/Plugin/Validation/Constraint/TextEditorObjectDependentValidatorTrait.php create mode 100644 core/modules/ckeditor5/src/Plugin/Validation/Constraint/ToolbarItemConditionsMetConstraint.php create mode 100644 core/modules/ckeditor5/src/Plugin/Validation/Constraint/ToolbarItemConditionsMetConstraintValidator.php create mode 100644 core/modules/ckeditor5/src/Plugin/Validation/Constraint/ToolbarItemConstraint.php create mode 100644 core/modules/ckeditor5/src/Plugin/Validation/Constraint/ToolbarItemConstraintValidator.php create mode 100644 core/modules/ckeditor5/src/Plugin/Validation/Constraint/ToolbarItemDependencyConstraint.php create mode 100644 core/modules/ckeditor5/src/Plugin/Validation/Constraint/ToolbarItemDependencyConstraintValidator.php create mode 100644 core/modules/ckeditor5/src/Plugin/Validation/Constraint/UniqueLabelInListConstraint.php create mode 100644 core/modules/ckeditor5/src/Plugin/Validation/Constraint/UniqueLabelInListConstraintValidator.php create mode 100644 core/modules/ckeditor5/src/SmartDefaultSettings.php create mode 100644 core/modules/ckeditor5/templates/ckeditor5-settings-toolbar.html.twig create mode 100644 core/modules/ckeditor5/tests/fixtures/ckeditor4_config/editor.editor.basic_html.yml create mode 100644 core/modules/ckeditor5/tests/fixtures/ckeditor4_config/editor.editor.full_html.yml create mode 100644 core/modules/ckeditor5/tests/fixtures/ckeditor4_config/filter.format.basic_html.yml create mode 100644 core/modules/ckeditor5/tests/fixtures/ckeditor4_config/filter.format.full_html.yml create mode 100644 core/modules/ckeditor5/tests/fixtures/ckeditor4_config/filter.format.restricted_html.yml create mode 100644 core/modules/ckeditor5/tests/fixtures/update/ckeditor5-3222756.php create mode 100644 core/modules/ckeditor5/tests/fixtures/update/ckeditor5-3259593.php create mode 100644 core/modules/ckeditor5/tests/fixtures/update/editor.editor.test_format.yml create mode 100644 core/modules/ckeditor5/tests/fixtures/update/editor.editor.test_format_image.yml create mode 100644 core/modules/ckeditor5/tests/fixtures/update/filter.format.test_format.yml create mode 100644 core/modules/ckeditor5/tests/fixtures/update/filter.format.test_format_image.yml create mode 100644 core/modules/ckeditor5/tests/modules/ckeditor4to5upgrade_plugin_test/ckeditor4to5upgrade_plugin_test.info.yml create mode 100644 core/modules/ckeditor5/tests/modules/ckeditor4to5upgrade_plugin_test/ckeditor4to5upgrade_plugin_test.module create mode 100644 core/modules/ckeditor5/tests/modules/ckeditor5_automatic_link_decorator_test/ckeditor5_automatic_link_decorator_test.ckeditor5.yml create mode 100644 core/modules/ckeditor5/tests/modules/ckeditor5_automatic_link_decorator_test/ckeditor5_automatic_link_decorator_test.info.yml create mode 100644 core/modules/ckeditor5/tests/modules/ckeditor5_automatic_link_decorator_test_2/ckeditor5_automatic_link_decorator_test_2.ckeditor5.yml create mode 100644 core/modules/ckeditor5/tests/modules/ckeditor5_automatic_link_decorator_test_2/ckeditor5_automatic_link_decorator_test_2.info.yml create mode 100644 core/modules/ckeditor5/tests/modules/ckeditor5_definition_supporting_element/ckeditor5_definition_supporting_element.ckeditor5.yml create mode 100644 core/modules/ckeditor5/tests/modules/ckeditor5_definition_supporting_element/ckeditor5_definition_supporting_element.info.yml create mode 100644 core/modules/ckeditor5/tests/modules/ckeditor5_drupalelementstyle_test/ckeditor5_drupalelementstyle_test.info.yml create mode 100644 core/modules/ckeditor5/tests/modules/ckeditor5_drupalelementstyle_test/ckeditor5_drupalelementstyle_test.module create mode 100644 core/modules/ckeditor5/tests/modules/ckeditor5_incompatible_filter_test/ckeditor5_incompatible_filter_test.info.yml create mode 100644 core/modules/ckeditor5/tests/modules/ckeditor5_incompatible_filter_test/src/Plugin/Filter/FilterIsIncompatible.php create mode 100644 core/modules/ckeditor5/tests/modules/ckeditor5_manual_decorator_test/ckeditor5_manual_decorator_test.ckeditor5.yml create mode 100644 core/modules/ckeditor5/tests/modules/ckeditor5_manual_decorator_test/ckeditor5_manual_decorator_test.info.yml create mode 100644 core/modules/ckeditor5/tests/modules/ckeditor5_plugin_conditions_test/ckeditor5_plugin_conditions_test.ckeditor5.yml create mode 100644 core/modules/ckeditor5/tests/modules/ckeditor5_plugin_conditions_test/ckeditor5_plugin_conditions_test.info.yml create mode 100644 core/modules/ckeditor5/tests/modules/ckeditor5_plugin_elements_subset/ckeditor5_plugin_elements_subset.ckeditor5.yml create mode 100644 core/modules/ckeditor5/tests/modules/ckeditor5_plugin_elements_subset/ckeditor5_plugin_elements_subset.info.yml create mode 100644 core/modules/ckeditor5/tests/modules/ckeditor5_plugin_elements_subset/config/schema/ckeditor5_plugin_elements_subset.schema.yml create mode 100644 core/modules/ckeditor5/tests/modules/ckeditor5_plugin_elements_subset/src/Plugin/CKEditor5Plugin/SneakySuperset.php create mode 100644 core/modules/ckeditor5/tests/modules/ckeditor5_plugin_elements_test/ckeditor5_plugin_elements_test.ckeditor5.yml create mode 100644 core/modules/ckeditor5/tests/modules/ckeditor5_plugin_elements_test/ckeditor5_plugin_elements_test.info.yml create mode 100644 core/modules/ckeditor5/tests/modules/ckeditor5_test/ckeditor5_test.ckeditor5.yml create mode 100644 core/modules/ckeditor5/tests/modules/ckeditor5_test/ckeditor5_test.info.yml create mode 100644 core/modules/ckeditor5/tests/modules/ckeditor5_test/ckeditor5_test.libraries.yml create mode 100644 core/modules/ckeditor5/tests/modules/ckeditor5_test/ckeditor5_test.routing.yml create mode 100644 core/modules/ckeditor5/tests/modules/ckeditor5_test/css/layout.css create mode 100644 core/modules/ckeditor5/tests/modules/ckeditor5_test/src/Controller/CKEditor5DialogTestController.php create mode 100644 core/modules/ckeditor5/tests/modules/ckeditor5_test/src/Controller/CKEditor5OffCanvasTestController.php create mode 100644 core/modules/ckeditor5/tests/src/Functional/AddedStylesheetsTest.php create mode 100644 core/modules/ckeditor5/tests/src/Functional/ImageUploadAccessTest.php create mode 100644 core/modules/ckeditor5/tests/src/Functional/ImageUploadTest.php create mode 100644 core/modules/ckeditor5/tests/src/Functional/MediaEntityMetadataApiTest.php create mode 100644 core/modules/ckeditor5/tests/src/Functional/Update/CKEditor5UpdateAlignmentTest.php create mode 100644 core/modules/ckeditor5/tests/src/Functional/Update/CKEditor5UpdateImageToolbarItemTest.php create mode 100644 core/modules/ckeditor5/tests/src/FunctionalJavascript/AdminUiTest.php create mode 100644 core/modules/ckeditor5/tests/src/FunctionalJavascript/CKEditor5AllowedTagsTest.php create mode 100644 core/modules/ckeditor5/tests/src/FunctionalJavascript/CKEditor5DialogTest.php create mode 100644 core/modules/ckeditor5/tests/src/FunctionalJavascript/CKEditor5FragmentLinkTest.php create mode 100644 core/modules/ckeditor5/tests/src/FunctionalJavascript/CKEditor5OffCanvasTest.php create mode 100644 core/modules/ckeditor5/tests/src/FunctionalJavascript/CKEditor5Test.php create mode 100644 core/modules/ckeditor5/tests/src/FunctionalJavascript/CKEditor5TestBase.php create mode 100644 core/modules/ckeditor5/tests/src/FunctionalJavascript/CKEditor5ToolbarTest.php create mode 100644 core/modules/ckeditor5/tests/src/FunctionalJavascript/CKEditorStylesheetsWarningTest.php create mode 100644 core/modules/ckeditor5/tests/src/FunctionalJavascript/EmphasisTest.php create mode 100644 core/modules/ckeditor5/tests/src/FunctionalJavascript/ImageTest.php create mode 100644 core/modules/ckeditor5/tests/src/FunctionalJavascript/ImageTestBase.php create mode 100644 core/modules/ckeditor5/tests/src/FunctionalJavascript/ImageUrlTest.php create mode 100644 core/modules/ckeditor5/tests/src/FunctionalJavascript/JSTranslationTest.php create mode 100644 core/modules/ckeditor5/tests/src/FunctionalJavascript/LanguageTest.php create mode 100644 core/modules/ckeditor5/tests/src/FunctionalJavascript/MediaLibraryTest.php create mode 100644 core/modules/ckeditor5/tests/src/FunctionalJavascript/MediaTest.php create mode 100644 core/modules/ckeditor5/tests/src/FunctionalJavascript/SourceEditingTest.php create mode 100644 core/modules/ckeditor5/tests/src/FunctionalJavascript/StyleTest.php create mode 100644 core/modules/ckeditor5/tests/src/FunctionalJavascript/TableTest.php create mode 100644 core/modules/ckeditor5/tests/src/Kernel/CKEditor4to5UpgradeCompletenessTest.php create mode 100644 core/modules/ckeditor5/tests/src/Kernel/CKEditor5PluginManagerTest.php create mode 100644 core/modules/ckeditor5/tests/src/Kernel/CKEditor5StylesheetsTest.php create mode 100644 core/modules/ckeditor5/tests/src/Kernel/CKEditor5ValidationTestTrait.php create mode 100644 core/modules/ckeditor5/tests/src/Kernel/ConfigurablePluginTest.php create mode 100644 core/modules/ckeditor5/tests/src/Kernel/LanguageTest.php create mode 100644 core/modules/ckeditor5/tests/src/Kernel/SmartDefaultSettingsTest.php create mode 100644 core/modules/ckeditor5/tests/src/Kernel/ValidatorsTest.php create mode 100644 core/modules/ckeditor5/tests/src/Kernel/WildcardHtmlSupportTest.php create mode 100644 core/modules/ckeditor5/tests/src/Nightwatch/Tests/drupalHtmlBuilderTest.es6.js create mode 100644 core/modules/ckeditor5/tests/src/Nightwatch/Tests/drupalHtmlBuilderTest.js create mode 100644 core/modules/ckeditor5/tests/src/Traits/CKEditor5TestTrait.php create mode 100644 core/modules/ckeditor5/tests/src/Traits/PrivateMethodUnitTestTrait.php create mode 100644 core/modules/ckeditor5/tests/src/Traits/SynchronizeCsrfTokenSeedTrait.php create mode 100644 core/modules/ckeditor5/tests/src/Unit/AlignmentPluginTest.php create mode 100644 core/modules/ckeditor5/tests/src/Unit/CKEditor5Test.php create mode 100644 core/modules/ckeditor5/tests/src/Unit/HTMLRestrictionsTest.php create mode 100644 core/modules/ckeditor5/tests/src/Unit/HeadingPluginTest.php create mode 100644 core/modules/ckeditor5/tests/src/Unit/LanguagePluginTest.php create mode 100644 core/modules/ckeditor5/tests/src/Unit/ListPluginTest.php create mode 100644 core/modules/ckeditor5/tests/src/Unit/SmartDefaultSettingsTest.php create mode 100644 core/modules/ckeditor5/tests/src/Unit/SourceEditingPluginTest.php create mode 100644 core/modules/ckeditor5/tests/src/Unit/StylePluginTest.php create mode 100644 core/modules/ckeditor5/webpack.config.js rename core/modules/{help_topics => color}/help_topics/color.changing.html.twig (85%) create mode 100644 core/modules/color/tests/fixtures/drupal7.php create mode 100644 core/modules/color/tests/modules/color_test/logo.svg create mode 100644 core/modules/color/tests/src/Functional/Migrate/NoMultilingualReviewPageTest.php create mode 100644 core/modules/comment/src/Plugin/migrate/source/CommentType.php create mode 100644 core/modules/comment/tests/modules/comment_display_configurable_test/comment_display_configurable_test.info.yml create mode 100644 core/modules/comment/tests/modules/comment_display_configurable_test/comment_display_configurable_test.module create mode 100644 core/modules/comment/tests/modules/comment_test_views/test_views/views.view.test_comment_schema.yml create mode 100644 core/modules/comment/tests/modules/d6_comment_test/d6_comment_test.info.yml create mode 100644 core/modules/comment/tests/modules/d6_comment_test/src/Plugin/migrate/source/d6/Comment.php delete mode 100644 core/modules/comment/tests/src/Functional/CommentActionsTest.php create mode 100644 core/modules/comment/tests/src/Functional/CommentDisplayConfigurableTest.php create mode 100644 core/modules/comment/tests/src/Functional/Views/CommentApproveLinkTest.php create mode 100644 core/modules/comment/tests/src/Kernel/CommentActionsTest.php create mode 100644 core/modules/comment/tests/src/Kernel/Migrate/d7/CommentEntityTranslationCheckRequirementsTest.php create mode 100644 core/modules/comment/tests/src/Kernel/Plugin/migrate/source/CommentTypeRequirementsTest.php create mode 100644 core/modules/comment/tests/src/Kernel/Plugin/migrate/source/CommentTypeTest.php create mode 100644 core/modules/config/tests/src/FunctionalJavascript/ConfigExportTest.php rename core/modules/{content_translation => config_translation}/migrations/d6_block_translation.yml (97%) rename core/modules/{content_translation => config_translation}/migrations/d7_block_translation.yml (97%) create mode 100644 core/modules/config_translation/tests/src/Kernel/Migrate/d6/MigrateUserProfileTranslationRollbackTest.php create mode 100644 core/modules/content_moderation/tests/modules/content_moderation_test_resave/content_moderation_test_resave.info.yml create mode 100644 core/modules/content_moderation/tests/modules/content_moderation_test_resave/content_moderation_test_resave.install create mode 100644 core/modules/content_moderation/tests/modules/content_moderation_test_resave/content_moderation_test_resave.module create mode 100644 core/modules/content_moderation/tests/src/Functional/ModeratedContentLocalTaskTest.php create mode 100644 core/modules/content_moderation/tests/src/Kernel/ContentModerationResaveTest.php create mode 100644 core/modules/content_translation/migrations/d6_menu_links_localized.yml create mode 100644 core/modules/content_translation/tests/src/Kernel/ContentTranslationPermissionsTest.php create mode 100644 core/modules/datetime/tests/src/Functional/DateTimeWidgetTest.php delete mode 100644 core/modules/editor/tests/editor_private_test/config/install/editor.editor.private_images.yml create mode 100644 core/modules/editor/tests/modules/editor_private_test/config/install/editor.editor.private_images.yml rename core/modules/editor/tests/{ => modules}/editor_private_test/config/install/filter.format.private_images.yml (100%) rename core/modules/editor/tests/{ => modules}/editor_private_test/editor_private_test.info.yml (88%) rename core/modules/editor/tests/modules/{ => editor_test}/config/schema/editor_test.schema.yml (100%) rename core/modules/editor/tests/modules/{ => editor_test}/editor_test.info.yml (80%) rename core/modules/editor/tests/modules/{ => editor_test}/editor_test.libraries.yml (100%) rename core/modules/editor/tests/modules/{ => editor_test}/editor_test.module (66%) rename core/modules/editor/tests/modules/{ => editor_test}/src/EditorXssFilter/Insecure.php (100%) rename core/modules/editor/tests/modules/{ => editor_test}/src/Plugin/Editor/TRexEditor.php (96%) rename core/modules/editor/tests/modules/{ => editor_test}/src/Plugin/Editor/UnicornEditor.php (61%) create mode 100644 core/modules/editor/tests/modules/editor_test/src/Plugin/Field/FieldType/EditorTestTextLongItem.php create mode 100644 core/modules/editor/tests/src/Kernel/EditorGetUntransformedTextCommandTest.php create mode 100644 core/modules/editor/tests/src/Kernel/EntityUpdateTest.php delete mode 100644 core/modules/entity_reference/entity_reference.install create mode 100644 core/modules/field/src/Plugin/migrate/process/d7/FieldBundle.php create mode 100644 core/modules/field/tests/src/Kernel/Migrate/d7/MigrateFieldInstanceOptionTranslationTest.php create mode 100644 core/modules/field/tests/src/Unit/Plugin/migrate/process/d6/FieldInstanceSettingsTest.php create mode 100644 core/modules/field_ui/tests/src/Kernel/FieldUiRouteEnhancerTest.php create mode 100644 core/modules/field_ui/tests/src/Unit/FieldUiRouteEnhancerTest.php create mode 100644 core/modules/field_ui/tests/src/Unit/FieldUiTableTest.php create mode 100644 core/modules/file/file.post_update.php create mode 100644 core/modules/file/src/FileRepository.php create mode 100644 core/modules/file/src/FileRepositoryInterface.php create mode 100644 core/modules/file/src/Upload/FileUploadHandler.php create mode 100644 core/modules/file/src/Upload/FileUploadResult.php create mode 100644 core/modules/file/src/Upload/FileValidationException.php create mode 100644 core/modules/file/src/Upload/FormUploadedFile.php create mode 100644 core/modules/file/src/Upload/UploadedFileInterface.php create mode 100644 core/modules/file/tests/file_test/src/Form/FileRequiredTestForm.php create mode 100644 core/modules/file/tests/file_test/src/StreamWrapper/DummyExternalReadOnlyWrapper.php create mode 100644 core/modules/file/tests/modules/file_test_get_ids/file_test_get_ids.info.yml create mode 100644 core/modules/file/tests/modules/file_test_get_ids/migrations/d7_file_used.yml create mode 100644 core/modules/file/tests/modules/file_test_get_ids/src/Plugin/migrate/source/d7/FileUsed.php create mode 100644 core/modules/file/tests/src/Functional/Update/FileFieldFileExtensionsUpdateTest.php delete mode 100644 core/modules/file/tests/src/Kernel/FileModuleTest.php create mode 100644 core/modules/file/tests/src/Kernel/FileRepositoryTest.php create mode 100644 core/modules/file/tests/src/Kernel/FileUploadHandlerTest.php create mode 100644 core/modules/file/tests/src/Kernel/LegacyFileTest.php create mode 100644 core/modules/file/tests/src/Kernel/ManagedFileTest.php create mode 100644 core/modules/file/tests/src/Kernel/Migrate/d7/MigrateFileGetIdsTest.php delete mode 100644 core/modules/file/tests/src/Kernel/SaveDataTest.php rename core/modules/file/tests/src/{Functional => Kernel}/Views/RelationshipUserFileDataTest.php (70%) create mode 100644 core/modules/filter/tests/src/FunctionalJavascript/FilterHtmlTest.php rename core/modules/{rest => hal}/config/optional/rest.resource.entity.node.yml (100%) create mode 100644 core/modules/hal/help_topics/hal.hal.html.twig create mode 100644 core/modules/hal/tests/modules/hal_test_views/hal_test_views.info.yml rename core/modules/{comment/tests/modules/comment_test_views/test_views/views.view.test_comment_rest.yml => hal/tests/modules/hal_test_views/test_views/views.view.test_comment_hal.yml} (99%) create mode 100644 core/modules/hal/tests/modules/hal_test_views/test_views/views.view.test_serializer_display_entity.yml rename core/{tests/Drupal/FunctionalTests/Hal => modules/hal/tests/src/Functional/Core}/BaseFieldOverrideHalJsonAnonTest.php (90%) rename core/{tests/Drupal/FunctionalTests/Hal => modules/hal/tests/src/Functional/Core}/BaseFieldOverrideHalJsonBasicAuthTest.php (91%) rename core/{tests/Drupal/FunctionalTests/Hal => modules/hal/tests/src/Functional/Core}/BaseFieldOverrideHalJsonCookieTest.php (91%) rename core/{tests/Drupal/FunctionalTests/Hal => modules/hal/tests/src/Functional/Core}/DateFormatHalJsonAnonTest.php (90%) rename core/{tests/Drupal/FunctionalTests/Hal => modules/hal/tests/src/Functional/Core}/DateFormatHalJsonBasicAuthTest.php (91%) rename core/{tests/Drupal/FunctionalTests/Hal => modules/hal/tests/src/Functional/Core}/DateFormatHalJsonCookieTest.php (91%) rename core/{tests/Drupal/FunctionalTests/Hal => modules/hal/tests/src/Functional/Core}/EntityFormDisplayHalJsonAnonTest.php (90%) rename core/{tests/Drupal/FunctionalTests/Hal => modules/hal/tests/src/Functional/Core}/EntityFormDisplayHalJsonBasicAuthTest.php (91%) rename core/{tests/Drupal/FunctionalTests/Hal => modules/hal/tests/src/Functional/Core}/EntityFormDisplayHalJsonCookieTest.php (91%) rename core/{tests/Drupal/FunctionalTests/Hal => modules/hal/tests/src/Functional/Core}/EntityFormModeHalJsonAnonTest.php (90%) rename core/{tests/Drupal/FunctionalTests/Hal => modules/hal/tests/src/Functional/Core}/EntityFormModeHalJsonBasicAuthTest.php (91%) rename core/{tests/Drupal/FunctionalTests/Hal => modules/hal/tests/src/Functional/Core}/EntityFormModeHalJsonCookieTest.php (91%) rename core/{tests/Drupal/FunctionalTests/Hal => modules/hal/tests/src/Functional/Core}/EntityViewDisplayHalJsonAnonTest.php (90%) rename core/{tests/Drupal/FunctionalTests/Hal => modules/hal/tests/src/Functional/Core}/EntityViewDisplayHalJsonBasicAuthTest.php (87%) rename core/{tests/Drupal/FunctionalTests/Hal => modules/hal/tests/src/Functional/Core}/EntityViewDisplayHalJsonCookieTest.php (85%) rename core/{tests/Drupal/FunctionalTests/Hal => modules/hal/tests/src/Functional/Core}/EntityViewModeHalJsonAnonTest.php (90%) rename core/{tests/Drupal/FunctionalTests/Hal => modules/hal/tests/src/Functional/Core}/EntityViewModeHalJsonBasicAuthTest.php (91%) rename core/{tests/Drupal/FunctionalTests/Hal => modules/hal/tests/src/Functional/Core}/EntityViewModeHalJsonCookieTest.php (91%) rename core/modules/{aggregator/tests/src/Functional/Hal => hal/tests/src/Functional/aggregator}/FeedHalJsonAnonTest.php (83%) rename core/modules/{aggregator/tests/src/Functional/Hal => hal/tests/src/Functional/aggregator}/FeedHalJsonBasicAuthTest.php (85%) rename core/modules/{aggregator/tests/src/Functional/Hal => hal/tests/src/Functional/aggregator}/FeedHalJsonCookieTest.php (82%) rename core/modules/{aggregator/tests/src/Functional/Hal => hal/tests/src/Functional/aggregator}/FeedHalJsonTestBase.php (96%) rename core/modules/{aggregator/tests/src/Functional/Hal => hal/tests/src/Functional/aggregator}/ItemHalJsonAnonTest.php (87%) rename core/modules/{aggregator/tests/src/Functional/Hal => hal/tests/src/Functional/aggregator}/ItemHalJsonBasicAuthTest.php (89%) rename core/modules/{aggregator/tests/src/Functional/Hal => hal/tests/src/Functional/aggregator}/ItemHalJsonCookieTest.php (89%) rename core/modules/{aggregator/tests/src/Functional/Hal => hal/tests/src/Functional/aggregator}/ItemHalJsonTestBase.php (98%) rename core/modules/{block/tests/src/Functional/Hal => hal/tests/src/Functional/block}/BlockHalJsonAnonTest.php (89%) rename core/modules/{block/tests/src/Functional/Hal => hal/tests/src/Functional/block}/BlockHalJsonBasicAuthTest.php (91%) rename core/modules/{block/tests/src/Functional/Hal => hal/tests/src/Functional/block}/BlockHalJsonCookieTest.php (90%) rename core/modules/{block_content/tests/src/Functional/Hal => hal/tests/src/Functional/block_content}/BlockContentHalJsonAnonTest.php (96%) rename core/modules/{block_content/tests/src/Functional/Hal => hal/tests/src/Functional/block_content}/BlockContentHalJsonBasicAuthTest.php (85%) rename core/modules/{block_content/tests/src/Functional/Hal => hal/tests/src/Functional/block_content}/BlockContentHalJsonCookieTest.php (82%) rename core/modules/{block_content/tests/src/Functional/Hal => hal/tests/src/Functional/block_content}/BlockContentTypeHalJsonAnonTest.php (89%) rename core/modules/{block_content/tests/src/Functional/Hal => hal/tests/src/Functional/block_content}/BlockContentTypeHalJsonBasicAuthTest.php (90%) rename core/modules/{block_content/tests/src/Functional/Hal => hal/tests/src/Functional/block_content}/BlockContentTypeHalJsonCookieTest.php (90%) rename core/modules/{comment/tests/src/Functional/Hal => hal/tests/src/Functional/comment}/CommentHalJsonAnonTest.php (93%) rename core/modules/{comment/tests/src/Functional/Hal => hal/tests/src/Functional/comment}/CommentHalJsonBasicAuthTest.php (86%) rename core/modules/{comment/tests/src/Functional/Hal => hal/tests/src/Functional/comment}/CommentHalJsonCookieTest.php (83%) rename core/modules/{comment/tests/src/Functional/Hal => hal/tests/src/Functional/comment}/CommentHalJsonTestBase.php (98%) rename core/modules/{comment/tests/src/Functional/Hal => hal/tests/src/Functional/comment}/CommentTypeHalJsonAnonTest.php (89%) rename core/modules/{comment/tests/src/Functional/Hal => hal/tests/src/Functional/comment}/CommentTypeHalJsonBasicAuthTest.php (91%) rename core/modules/{comment/tests/src/Functional/Hal => hal/tests/src/Functional/comment}/CommentTypeHalJsonCookieTest.php (90%) rename core/modules/{comment/tests/src/Functional/Views/CommentRestExportTest.php => hal/tests/src/Functional/comment/Views/CommentHalExportTest.php} (64%) rename core/modules/{config/tests/config_test/tests/src/Functional/Hal => hal/tests/src/Functional/config}/ConfigTestHalJsonAnonTest.php (89%) rename core/modules/{config/tests/config_test/tests/src/Functional/Hal => hal/tests/src/Functional/config}/ConfigTestHalJsonBasicAuthTest.php (91%) rename core/modules/{config/tests/config_test/tests/src/Functional/Hal => hal/tests/src/Functional/config}/ConfigTestHalJsonCookieTest.php (91%) rename core/modules/{contact/tests/src/Functional/Hal => hal/tests/src/Functional/contact}/ContactFormHalJsonAnonTest.php (89%) rename core/modules/{contact/tests/src/Functional/Hal => hal/tests/src/Functional/contact}/ContactFormHalJsonBasicAuthTest.php (91%) rename core/modules/{contact/tests/src/Functional/Hal => hal/tests/src/Functional/contact}/ContactFormHalJsonCookieTest.php (90%) rename core/modules/{contact/tests/src/Functional/Hal => hal/tests/src/Functional/contact}/MessageHalJsonAnonTest.php (93%) rename core/modules/{contact/tests/src/Functional/Hal => hal/tests/src/Functional/contact}/MessageHalJsonBasicAuthTest.php (86%) rename core/modules/{contact/tests/src/Functional/Hal => hal/tests/src/Functional/contact}/MessageHalJsonCookieTest.php (83%) rename core/modules/{dblog/tests/src/Functional => hal/tests/src/Functional/dblog}/DbLogResourceTest.php (90%) rename core/modules/{editor/tests/src/Functional/Hal => hal/tests/src/Functional/editor}/EditorHalJsonAnonTest.php (89%) rename core/modules/{editor/tests/src/Functional/Hal => hal/tests/src/Functional/editor}/EditorHalJsonBasicAuthTest.php (91%) rename core/modules/{editor/tests/src/Functional/Hal => hal/tests/src/Functional/editor}/EditorHalJsonCookieTest.php (90%) rename core/modules/{system/tests/modules/entity_test/tests/src/Functional/Hal => hal/tests/src/Functional/entity_test}/EntityTestBundleHalJsonAnonTest.php (91%) rename core/modules/{system/tests/modules/entity_test/tests/src/Functional/Hal => hal/tests/src/Functional/entity_test}/EntityTestBundleHalJsonBasicAuthTest.php (90%) rename core/modules/{system/tests/modules/entity_test/tests/src/Functional/Hal => hal/tests/src/Functional/entity_test}/EntityTestBundleHalJsonCookieTest.php (90%) rename core/modules/{system/tests/modules/entity_test/tests/src/Functional/Hal => hal/tests/src/Functional/entity_test}/EntityTestHalJsonAnonTest.php (97%) rename core/modules/{system/tests/modules/entity_test/tests/src/Functional/Hal => hal/tests/src/Functional/entity_test}/EntityTestHalJsonBasicAuthTest.php (86%) rename core/modules/{system/tests/modules/entity_test/tests/src/Functional/Hal => hal/tests/src/Functional/entity_test}/EntityTestHalJsonCookieTest.php (83%) rename core/modules/{system/tests/modules/entity_test/tests/src/Functional/Hal => hal/tests/src/Functional/entity_test}/EntityTestHalJsonInternalPropertyNormalizerTest.php (97%) rename core/modules/{system/tests/modules/entity_test/tests/src/Functional/Hal => hal/tests/src/Functional/entity_test}/EntityTestLabelHalJsonAnonTest.php (97%) rename core/modules/{system/tests/modules/entity_test/tests/src/Functional/Hal => hal/tests/src/Functional/entity_test}/EntityTestLabelHalJsonBasicAuthTest.php (86%) rename core/modules/{system/tests/modules/entity_test/tests/src/Functional/Hal => hal/tests/src/Functional/entity_test}/EntityTestLabelHalJsonCookieTest.php (83%) rename core/modules/{system/tests/modules/entity_test/tests/src/Functional/Hal => hal/tests/src/Functional/entity_test}/EntityTestMapFieldHalJsonAnonTest.php (97%) rename core/modules/{field/tests/src/Functional/Hal => hal/tests/src/Functional/field}/FieldConfigHalJsonAnonTest.php (90%) rename core/modules/{field/tests/src/Functional/Hal => hal/tests/src/Functional/field}/FieldConfigHalJsonBasicAuthTest.php (91%) rename core/modules/{field/tests/src/Functional/Hal => hal/tests/src/Functional/field}/FieldConfigHalJsonCookieTest.php (91%) rename core/modules/{field/tests/src/Functional/Hal => hal/tests/src/Functional/field}/FieldStorageConfigHalJsonAnonTest.php (90%) rename core/modules/{field/tests/src/Functional/Hal => hal/tests/src/Functional/field}/FieldStorageConfigHalJsonBasicAuthTest.php (91%) rename core/modules/{field/tests/src/Functional/Hal => hal/tests/src/Functional/field}/FieldStorageConfigHalJsonCookieTest.php (91%) rename core/modules/{file/tests/src/Functional/Hal => hal/tests/src/Functional/file}/FileHalJsonAnonTest.php (95%) rename core/modules/{file/tests/src/Functional/Hal => hal/tests/src/Functional/file}/FileHalJsonBasicAuthTest.php (87%) rename core/modules/{file/tests/src/Functional/Hal => hal/tests/src/Functional/file}/FileHalJsonCookieTest.php (83%) rename core/modules/{file/tests/src/Functional/Hal => hal/tests/src/Functional/file}/FileUploadHalJsonBasicAuthTest.php (87%) rename core/modules/{file/tests/src/Functional/Hal => hal/tests/src/Functional/file}/FileUploadHalJsonCookieTest.php (84%) rename core/modules/{file/tests/src/Functional/Hal => hal/tests/src/Functional/file}/FileUploadHalJsonTestBase.php (94%) rename core/modules/{filter/tests/src/Functional/Hal => hal/tests/src/Functional/filter}/FilterFormatHalJsonAnonTest.php (89%) rename core/modules/{filter/tests/src/Functional/Hal => hal/tests/src/Functional/filter}/FilterFormatHalJsonBasicAuthTest.php (91%) rename core/modules/{filter/tests/src/Functional/Hal => hal/tests/src/Functional/filter}/FilterFormatHalJsonCookieTest.php (91%) rename core/modules/{image/tests/src/Functional/Hal => hal/tests/src/Functional/image}/ImageStyleHalJsonAnonTest.php (89%) rename core/modules/{image/tests/src/Functional/Hal => hal/tests/src/Functional/image}/ImageStyleHalJsonBasicAuthTest.php (91%) rename core/modules/{image/tests/src/Functional/Hal => hal/tests/src/Functional/image}/ImageStyleHalJsonCookieTest.php (91%) rename core/modules/{language/tests/src/Functional/Hal => hal/tests/src/Functional/language}/ConfigurableLanguageHalJsonAnonTest.php (90%) rename core/modules/{language/tests/src/Functional/Hal => hal/tests/src/Functional/language}/ConfigurableLanguageHalJsonBasicAuthTest.php (91%) rename core/modules/{language/tests/src/Functional/Hal => hal/tests/src/Functional/language}/ConfigurableLanguageHalJsonCookieTest.php (91%) rename core/modules/{language/tests/src/Functional/Hal => hal/tests/src/Functional/language}/ContentLanguageSettingsHalJsonAnonTest.php (90%) rename core/modules/{language/tests/src/Functional/Hal => hal/tests/src/Functional/language}/ContentLanguageSettingsHalJsonBasicAuthTest.php (91%) rename core/modules/{language/tests/src/Functional/Hal => hal/tests/src/Functional/language}/ContentLanguageSettingsHalJsonCookieTest.php (91%) rename core/modules/{layout_builder/tests/src/Functional/Hal => hal/tests/src/Functional/layout_builder}/LayoutBuilderEntityViewDisplayHalJsonAnonTest.php (86%) rename core/modules/{layout_builder/tests/src/Functional/Hal => hal/tests/src/Functional/layout_builder}/LayoutBuilderEntityViewDisplayHalJsonBasicAuthTest.php (69%) rename core/modules/{layout_builder/tests/src/Functional/Hal => hal/tests/src/Functional/layout_builder}/LayoutBuilderEntityViewDisplayHalJsonCookieTest.php (79%) rename core/modules/{media/tests/src/Functional/Hal => hal/tests/src/Functional/media}/MediaHalJsonAnonTest.php (97%) rename core/modules/{media/tests/src/Functional/Hal => hal/tests/src/Functional/media}/MediaHalJsonBasicAuthTest.php (86%) rename core/modules/{media/tests/src/Functional/Hal => hal/tests/src/Functional/media}/MediaHalJsonCookieTest.php (83%) rename core/modules/{media/tests/src/Functional/Hal => hal/tests/src/Functional/media}/MediaTypeHalJsonAnonTest.php (89%) rename core/modules/{media/tests/src/Functional/Hal => hal/tests/src/Functional/media}/MediaTypeHalJsonBasicAuthTest.php (91%) rename core/modules/{media/tests/src/Functional/Hal => hal/tests/src/Functional/media}/MediaTypeHalJsonCookieTest.php (91%) rename core/modules/{menu_link_content/tests/src/Functional/Hal => hal/tests/src/Functional/menu_link_content}/MenuLinkContentHalJsonAnonTest.php (96%) rename core/modules/{menu_link_content/tests/src/Functional/Hal => hal/tests/src/Functional/menu_link_content}/MenuLinkContentHalJsonBasicAuthTest.php (85%) rename core/modules/{menu_link_content/tests/src/Functional/Hal => hal/tests/src/Functional/menu_link_content}/MenuLinkContentHalJsonCookieTest.php (82%) rename core/modules/{node/tests/src/Functional/Hal => hal/tests/src/Functional/node}/NodeHalJsonAnonTest.php (98%) rename core/modules/{node/tests/src/Functional/Hal => hal/tests/src/Functional/node}/NodeHalJsonBasicAuthTest.php (87%) rename core/modules/{node/tests/src/Functional/Hal => hal/tests/src/Functional/node}/NodeHalJsonCookieTest.php (83%) rename core/modules/{node/tests/src/Functional/Hal => hal/tests/src/Functional/node}/NodeTypeHalJsonAnonTest.php (90%) rename core/modules/{node/tests/src/Functional/Hal => hal/tests/src/Functional/node}/NodeTypeHalJsonBasicAuthTest.php (91%) rename core/modules/{node/tests/src/Functional/Hal => hal/tests/src/Functional/node}/NodeTypeHalJsonCookieTest.php (91%) create mode 100644 core/modules/hal/tests/src/Functional/page_cache/PageCacheTest.php rename core/modules/{path_alias/tests/src/Functional/Hal => hal/tests/src/Functional/path_alias}/PathAliasHalJsonAnonTest.php (87%) rename core/modules/{path_alias/tests/src/Functional/Hal => hal/tests/src/Functional/path_alias}/PathAliasHalJsonBasicAuthTest.php (89%) rename core/modules/{path_alias/tests/src/Functional/Hal => hal/tests/src/Functional/path_alias}/PathAliasHalJsonCookieTest.php (88%) rename core/modules/{path_alias/tests/src/Functional/Hal => hal/tests/src/Functional/path_alias}/PathAliasHalJsonTestBase.php (96%) create mode 100644 core/modules/hal/tests/src/Functional/quickedit/QuickEditLayoutBuilderEntityViewDisplayHalJsonAnonTest.php create mode 100644 core/modules/hal/tests/src/Functional/quickedit/QuickEditLayoutBuilderEntityViewDisplayHalJsonBasicAuthTest.php create mode 100644 core/modules/hal/tests/src/Functional/quickedit/QuickEditLayoutBuilderEntityViewDisplayHalJsonCookieTest.php rename core/modules/{rdf/tests/src/Functional/Hal => hal/tests/src/Functional/rdf}/RdfMappingHalJsonAnonTest.php (90%) rename core/modules/{rdf/tests/src/Functional/Hal => hal/tests/src/Functional/rdf}/RdfMappingHalJsonBasicAuthTest.php (91%) rename core/modules/{rdf/tests/src/Functional/Hal => hal/tests/src/Functional/rdf}/RdfMappingHalJsonCookieTest.php (91%) rename core/modules/{responsive_image/tests/src/Functional/Hal => hal/tests/src/Functional/responsive_image}/ResponsiveImageStyleHalJsonAnonTest.php (89%) rename core/modules/{responsive_image/tests/src/Functional/Hal => hal/tests/src/Functional/responsive_image}/ResponsiveImageStyleHalJsonBasicAuthTest.php (90%) rename core/modules/{responsive_image/tests/src/Functional/Hal => hal/tests/src/Functional/responsive_image}/ResponsiveImageStyleHalJsonCookieTest.php (90%) rename core/modules/{rest/tests/src/Functional/Hal => hal/tests/src/Functional/rest}/RestResourceConfigHalJsonAnonTest.php (90%) rename core/modules/{rest/tests/src/Functional/Hal => hal/tests/src/Functional/rest}/RestResourceConfigHalJsonBasicAuthTest.php (91%) rename core/modules/{rest/tests/src/Functional/Hal => hal/tests/src/Functional/rest}/RestResourceConfigHalJsonCookieTest.php (91%) create mode 100644 core/modules/hal/tests/src/Functional/rest/Views/StyleSerializerTest.php rename core/modules/{search/tests/src/Functional/Hal => hal/tests/src/Functional/search}/SearchPageHalJsonAnonTest.php (89%) rename core/modules/{search/tests/src/Functional/Hal => hal/tests/src/Functional/search}/SearchPageHalJsonBasicAuthTest.php (91%) rename core/modules/{search/tests/src/Functional/Hal => hal/tests/src/Functional/search}/SearchPageHalJsonCookieTest.php (90%) rename core/modules/{shortcut/tests/src/Functional/Hal => hal/tests/src/Functional/shortcut}/ShortcutHalJsonAnonTest.php (96%) rename core/modules/{shortcut/tests/src/Functional/Hal => hal/tests/src/Functional/shortcut}/ShortcutHalJsonBasicAuthTest.php (86%) rename core/modules/{shortcut/tests/src/Functional/Hal => hal/tests/src/Functional/shortcut}/ShortcutHalJsonCookieTest.php (83%) rename core/modules/{shortcut/tests/src/Functional/Hal => hal/tests/src/Functional/shortcut}/ShortcutSetHalJsonAnonTest.php (89%) rename core/modules/{shortcut/tests/src/Functional/Hal => hal/tests/src/Functional/shortcut}/ShortcutSetHalJsonBasicAuthTest.php (86%) rename core/modules/{shortcut/tests/src/Functional/Hal => hal/tests/src/Functional/shortcut}/ShortcutSetHalJsonCookieTest.php (83%) rename core/modules/{system/tests/src/Functional/Hal => hal/tests/src/Functional/system}/ActionHalJsonAnonTest.php (89%) rename core/modules/{system/tests/src/Functional/Hal => hal/tests/src/Functional/system}/ActionHalJsonBasicAuthTest.php (91%) rename core/modules/{system/tests/src/Functional/Hal => hal/tests/src/Functional/system}/ActionHalJsonCookieTest.php (90%) rename core/modules/{system/tests/src/Functional/Hal => hal/tests/src/Functional/system}/MenuHalJsonAnonTest.php (89%) rename core/modules/{system/tests/src/Functional/Hal => hal/tests/src/Functional/system}/MenuHalJsonBasicAuthTest.php (91%) rename core/modules/{system/tests/src/Functional/Hal => hal/tests/src/Functional/system}/MenuHalJsonCookieTest.php (90%) rename core/modules/{taxonomy/tests/src/Functional/Hal => hal/tests/src/Functional/taxonomy}/TermHalJsonAnonTest.php (97%) rename core/modules/{taxonomy/tests/src/Functional/Hal => hal/tests/src/Functional/taxonomy}/TermHalJsonBasicAuthTest.php (86%) rename core/modules/{taxonomy/tests/src/Functional/Hal => hal/tests/src/Functional/taxonomy}/TermHalJsonCookieTest.php (83%) rename core/modules/{taxonomy/tests/src/Functional/Hal => hal/tests/src/Functional/taxonomy}/VocabularyHalJsonAnonTest.php (91%) rename core/modules/{taxonomy/tests/src/Functional/Hal => hal/tests/src/Functional/taxonomy}/VocabularyHalJsonBasicAuthTest.php (91%) rename core/modules/{taxonomy/tests/src/Functional/Hal => hal/tests/src/Functional/taxonomy}/VocabularyHalJsonCookieTest.php (90%) rename core/modules/{tour/tests/src/Functional/Hal => hal/tests/src/Functional/tour}/TourHalJsonAnonTest.php (89%) rename core/modules/{tour/tests/src/Functional/Hal => hal/tests/src/Functional/tour}/TourHalJsonBasicAuthTest.php (91%) rename core/modules/{tour/tests/src/Functional/Hal => hal/tests/src/Functional/tour}/TourHalJsonCookieTest.php (90%) rename core/modules/{user/tests/src/Functional => hal/tests/src/Functional/user}/RestRegisterUserTest.php (95%) rename core/modules/{user/tests/src/Functional/Hal => hal/tests/src/Functional/user}/RoleHalJsonAnonTest.php (89%) rename core/modules/{user/tests/src/Functional/Hal => hal/tests/src/Functional/user}/RoleHalJsonBasicAuthTest.php (91%) rename core/modules/{user/tests/src/Functional/Hal => hal/tests/src/Functional/user}/RoleHalJsonCookieTest.php (90%) rename core/modules/{user/tests/src/Functional/Hal => hal/tests/src/Functional/user}/UserHalJsonAnonTest.php (95%) rename core/modules/{user/tests/src/Functional/Hal => hal/tests/src/Functional/user}/UserHalJsonBasicAuthTest.php (87%) rename core/modules/{user/tests/src/Functional/Hal => hal/tests/src/Functional/user}/UserHalJsonCookieTest.php (83%) create mode 100644 core/modules/hal/tests/src/Functional/user/UserHalLoginHttpTest.php rename core/modules/{views/tests/src/Functional/Hal => hal/tests/src/Functional/views}/ViewHalJsonAnonTest.php (89%) rename core/modules/{views/tests/src/Functional/Hal => hal/tests/src/Functional/views}/ViewHalJsonBasicAuthTest.php (91%) rename core/modules/{views/tests/src/Functional/Hal => hal/tests/src/Functional/views}/ViewHalJsonCookieTest.php (90%) rename core/modules/{workflows/tests/src/Functional/Hal => hal/tests/src/Functional/workflows}/WorkflowHalJsonAnonTest.php (89%) rename core/modules/{workflows/tests/src/Functional/Hal => hal/tests/src/Functional/workflows}/WorkflowHalJsonBasicAuthTest.php (86%) rename core/modules/{workflows/tests/src/Functional/Hal => hal/tests/src/Functional/workflows}/WorkflowHalJsonCookieTest.php (83%) rename core/modules/{serialization => hal}/tests/src/Kernel/EntityResolverTest.php (88%) create mode 100644 core/modules/hal/tests/src/Kernel/EntityResource/EntityResourceHalTestCoverageTest.php create mode 100644 core/modules/hal/tests/src/Kernel/rest/Entity/ConfigDependenciesTest.php create mode 100644 core/modules/hal/tests/src/Kernel/rest/Entity/RestResourceConfigTest.php create mode 100644 core/modules/hal/tests/src/Kernel/rest/Views/StyleSerializerKernelTest.php create mode 100644 core/modules/hal/tests/src/Kernel/serialization/FieldItemSerializationTest.php delete mode 100644 core/modules/hal/tests/src/Unit/FieldItemNormalizerDenormalizeExceptionsUnitTest.php create mode 100644 core/modules/hal/tests/src/Unit/FieldNormalizerDenormalizeExceptionsTest.php delete mode 100644 core/modules/hal/tests/src/Unit/FieldNormalizerDenormalizeExceptionsUnitTest.php delete mode 100644 core/modules/hal/tests/src/Unit/NormalizerDenormalizeExceptionsUnitTestBase.php create mode 100644 core/modules/help_topics/config/optional/block.block.claro_help_search.yml create mode 100644 core/modules/help_topics/help_topics/action.creating.html.twig create mode 100644 core/modules/help_topics/help_topics/action.overview.html.twig create mode 100644 core/modules/help_topics/help_topics/comment.configuring.html.twig create mode 100644 core/modules/help_topics/help_topics/comment.creating_type.html.twig create mode 100644 core/modules/help_topics/help_topics/comment.disabling.html.twig create mode 100644 core/modules/help_topics/help_topics/comment.moderating.html.twig create mode 100644 core/modules/help_topics/help_topics/comment.overview.html.twig create mode 100644 core/modules/help_topics/help_topics/config.export_full.html.twig create mode 100644 core/modules/help_topics/help_topics/config.export_single.html.twig create mode 100644 core/modules/help_topics/help_topics/config.import_full.html.twig create mode 100644 core/modules/help_topics/help_topics/config.import_single.html.twig create mode 100644 core/modules/help_topics/help_topics/config_translation.overview.html.twig create mode 100644 core/modules/help_topics/help_topics/content_moderation.changing_states.html.twig create mode 100644 core/modules/help_topics/help_topics/content_moderation.configuring_workflows.html.twig create mode 100644 core/modules/help_topics/help_topics/content_translation.overview.html.twig create mode 100644 core/modules/help_topics/help_topics/core.config_overview.html.twig create mode 100644 core/modules/help_topics/help_topics/core.media.html.twig create mode 100644 core/modules/help_topics/help_topics/core.settings_tray.html.twig create mode 100644 core/modules/help_topics/help_topics/core.translations.html.twig create mode 100644 core/modules/help_topics/help_topics/image.style.html.twig create mode 100644 core/modules/help_topics/help_topics/language.add.html.twig create mode 100644 core/modules/help_topics/help_topics/language.detect.html.twig create mode 100644 core/modules/help_topics/help_topics/locale.import.html.twig create mode 100644 core/modules/help_topics/help_topics/locale.translate_strings.html.twig create mode 100644 core/modules/help_topics/help_topics/locale.translation_status.html.twig create mode 100644 core/modules/help_topics/help_topics/media.media_type.html.twig create mode 100644 core/modules/help_topics/help_topics/migrate.overview.html.twig create mode 100644 core/modules/help_topics/help_topics/migrate_drupal_ui.upgrading.html.twig create mode 100644 core/modules/help_topics/help_topics/node.creating_content.html.twig create mode 100644 core/modules/help_topics/help_topics/node.creating_type.html.twig create mode 100644 core/modules/help_topics/help_topics/node.editing.html.twig create mode 100644 core/modules/help_topics/help_topics/node.overview.html.twig create mode 100644 core/modules/help_topics/help_topics/path.creating_alias.html.twig create mode 100644 core/modules/help_topics/help_topics/path.editing_alias.html.twig create mode 100644 core/modules/help_topics/help_topics/path.overview.html.twig create mode 100644 core/modules/help_topics/help_topics/responsive_image.style.html.twig create mode 100644 core/modules/help_topics/help_topics/taxonomy.configuring.html.twig create mode 100644 core/modules/help_topics/help_topics/taxonomy.overview.html.twig create mode 100644 core/modules/help_topics/help_topics/views_ui.bulk_operations.html.twig create mode 100644 core/modules/help_topics/help_topics/workflows.overview.html.twig create mode 100644 core/modules/help_topics/src/HelpTwigExtension.php create mode 100644 core/modules/help_topics/tests/modules/help_topics_test/bad_help_topics/syntax/bad_help_topics.bad_html2.html.twig create mode 100644 core/modules/help_topics/tests/modules/help_topics_test/bad_help_topics/syntax/bad_help_topics.bad_html3.html.twig create mode 100644 core/modules/help_topics/tests/modules/help_topics_test/bad_help_topics/syntax/bad_help_topics.locale.html.twig create mode 100644 core/modules/help_topics/tests/modules/help_topics_test/help_topics/help_topics_test.test_urls.html.twig create mode 100644 core/modules/help_topics/tests/modules/help_topics_test/help_topics_test.routing.yml create mode 100644 core/modules/help_topics/tests/modules/help_topics_test/src/Controller/HelpTopicsTestController.php create mode 100644 core/modules/help_topics/tests/modules/help_topics_twig_tester/help_topics_twig_tester.info.yml create mode 100644 core/modules/help_topics/tests/modules/help_topics_twig_tester/help_topics_twig_tester.services.yml create mode 100644 core/modules/help_topics/tests/modules/help_topics_twig_tester/src/HelpTestTwigExtension.php create mode 100644 core/modules/help_topics/tests/modules/help_topics_twig_tester/src/HelpTestTwigNodeVisitor.php create mode 100644 core/modules/history/tests/themes/history_test_theme/history_test_theme.info.yml create mode 100644 core/modules/history/tests/themes/history_test_theme/templates/mark.html.twig delete mode 100644 core/modules/image/js/theme.es6.js delete mode 100644 core/modules/image/js/theme.js create mode 100644 core/modules/image/src/ImageConfigUpdater.php create mode 100644 core/modules/image/tests/src/Functional/ImageLazyLoadUpdateTest.php create mode 100644 core/modules/image/tests/src/FunctionalJavascript/ImageFieldWidgetMultipleTest.php create mode 100644 core/modules/image/tests/src/Kernel/QuickEditImageControllerTest.php create mode 100644 core/modules/inline_form_errors/tests/src/FunctionalJavascript/FormErrorHandlerCKEditor5Test.php create mode 100644 core/modules/jsonapi/src/Access/RelationshipRouteAccessCheck.php create mode 100644 core/modules/jsonapi/src/EventSubscriber/JsonapiMaintenanceModeSubscriber.php create mode 100644 core/modules/jsonapi/src/Normalizer/Value/TemporaryArrayObjectThrowingExceptions.php create mode 100644 core/modules/jsonapi/tests/fixtures/update/jsonapi.php create mode 100644 core/modules/jsonapi/tests/fixtures/update/jsonapi.settings.yml create mode 100644 core/modules/jsonapi/tests/modules/jsonapi_test_field_access/jsonapi_test_field_access.permissions.yml create mode 100644 core/modules/jsonapi/tests/modules/jsonapi_test_field_filter_access/jsonapi_test_field_filter_access.permissions.yml delete mode 100644 core/modules/jsonapi/tests/modules/jsonapi_test_resource_type_aliasing/jsonapi_test_resource_type_aliasing.info.yml delete mode 100644 core/modules/jsonapi/tests/modules/jsonapi_test_resource_type_aliasing/jsonapi_test_resource_type_aliasing.services.yml delete mode 100644 core/modules/jsonapi/tests/modules/jsonapi_test_resource_type_aliasing/src/ResourceType/AliasedResourceType.php delete mode 100644 core/modules/jsonapi/tests/modules/jsonapi_test_resource_type_aliasing/src/ResourceType/AliasingResourceTypeRepository.php create mode 100644 core/modules/jsonapi/tests/src/Functional/ConfigEntityResourceTestBase.php create mode 100644 core/modules/jsonapi/tests/src/Functional/EntityTestComputedFieldTest.php create mode 100644 core/modules/jsonapi/tests/src/Functional/JsonApiFunctionalDateFieldTest.php create mode 100644 core/modules/jsonapi/tests/src/Functional/Update/JsonApiUpdatePathTest.php create mode 100644 core/modules/jsonapi/tests/src/Kernel/Controller/TemporaryJsonapiFileFieldUploaderTest.php delete mode 100644 core/modules/jsonapi/tests/src/Kernel/ResourceType/ResourceTypeNameAliasTest.php rename core/modules/jsonapi/tests/src/{Functional => Kernel}/TestCoverageTest.php (62%) create mode 100644 core/modules/language/tests/src/Functional/LanguageNegotiationSessionTest.php create mode 100644 core/modules/language/tests/src/Kernel/LanguageNegotiatorPluginTest.php rename core/modules/layout_builder/src/Routing/{LayoutTempstoreParamConverter.php => LayoutSectionStorageParamConverter.php} (57%) create mode 100644 core/modules/layout_builder/src/Routing/LayoutTempstoreRouteEnhancer.php create mode 100644 core/modules/layout_builder/src/SectionListTrait.php create mode 100644 core/modules/layout_builder/tests/fixtures/update/layout-builder-context-mapping.php create mode 100644 core/modules/layout_builder/tests/fixtures/update/layout-builder.php create mode 100644 core/modules/layout_builder/tests/modules/layout_builder_extra_field_test/layout_builder_extra_field_test.info.yml create mode 100644 core/modules/layout_builder/tests/modules/layout_builder_extra_field_test/layout_builder_extra_field_test.module delete mode 100644 core/modules/layout_builder/tests/modules/layout_builder_overrides_test/layout_builder_overrides_test.info.yml create mode 100644 core/modules/layout_builder/tests/modules/layout_builder_test/layout_builder_test.links.contextual.yml create mode 100644 core/modules/layout_builder/tests/modules/layout_builder_test/layout_builder_test.services.yml create mode 100644 core/modules/layout_builder/tests/modules/layout_builder_test/src/ContextProvider/IHaveRuntimeContexts.php create mode 100644 core/modules/layout_builder/tests/modules/layout_builder_test/src/Plugin/Block/IHaveRuntimeContexts.php create mode 100644 core/modules/layout_builder/tests/modules/layout_builder_test/src/Plugin/Block/PreviewAwareBlock.php create mode 100644 core/modules/layout_builder/tests/modules/layout_builder_test/src/Plugin/Block/TestAttributesBlock.php create mode 100644 core/modules/layout_builder/tests/modules/layout_builder_test/src/Plugin/Layout/LayoutWithoutLabel.php create mode 100644 core/modules/layout_builder/tests/modules/layout_builder_test/src/Plugin/Layout/TestContextAwareLayout.php create mode 100644 core/modules/layout_builder/tests/modules/layout_builder_test/templates/block--preview-aware-block.html.twig create mode 100644 core/modules/layout_builder/tests/src/Functional/LayoutBuilderDefaultValuesTest.php create mode 100644 core/modules/layout_builder/tests/src/Functional/LayoutBuilderFormModeTest.php create mode 100644 core/modules/layout_builder/tests/src/Functional/Update/LayoutBuilderContextMappingUpdatePathTest.php create mode 100644 core/modules/layout_builder/tests/src/Kernel/LayoutBuilderBreadcrumbAlterTest.php create mode 100644 core/modules/layout_builder/tests/src/Kernel/SectionListTestBase.php rename core/modules/layout_builder/tests/src/Kernel/{SimpleConfigSectionStorageTest.php => SimpleConfigSectionListTest.php} (90%) create mode 100644 core/modules/layout_builder/tests/src/Unit/LayoutBuilderIsActiveCacheContextTest.php rename core/modules/layout_builder/tests/src/Unit/{LayoutTempstoreParamConverterTest.php => LayoutSectionStorageParamConverterTest.php} (64%) create mode 100644 core/modules/layout_builder/tests/src/Unit/LayoutTempstoreRouteEnhancerTest.php create mode 100644 core/modules/link/tests/src/FunctionalJavascript/LinkFieldFormStatesTest.php create mode 100644 core/modules/link/tests/src/Unit/LinkFormatterTest.php create mode 100644 core/modules/link/tests/themes/link_test_theme/link_test_theme.info.yml create mode 100644 core/modules/link/tests/themes/link_test_theme/templates/link-formatter-link-separate.html.twig delete mode 100644 core/modules/media/tests/modules/media_test_ckeditor/media_test_ckeditor.info.yml delete mode 100644 core/modules/media/tests/modules/media_test_ckeditor/media_test_ckeditor.module delete mode 100644 core/modules/media/tests/modules/media_test_ckeditor/media_test_ckeditor.services.yml create mode 100644 core/modules/media/tests/modules/media_test_embed/media_test_embed.info.yml create mode 100644 core/modules/media/tests/modules/media_test_embed/media_test_embed.module create mode 100644 core/modules/media/tests/modules/media_test_embed/media_test_embed.services.yml rename core/modules/media/tests/modules/{media_test_ckeditor => media_test_embed}/src/Controller/TestMediaFilterController.php (82%) rename core/modules/media/tests/modules/{media_test_ckeditor => media_test_embed}/src/Routing/RouteSubscriber.php (69%) delete mode 100644 core/modules/media/tests/modules/media_test_filter/media_test_filter.info.yml delete mode 100644 core/modules/media/tests/modules/media_test_filter/media_test_filter.module create mode 100644 core/modules/media/tests/modules/media_test_oembed/css/test.css create mode 100644 core/modules/media/tests/modules/media_test_oembed/media_test_oembed.libraries.yml create mode 100644 core/modules/media/tests/src/Functional/FieldFormatter/MediaThumbnailFormatterTest.php create mode 100644 core/modules/media/tests/src/Functional/FieldWidget/OEmbedFieldWidgetTest.php create mode 100644 core/modules/media/tests/src/Functional/MediaRequirementsTest.php create mode 100644 core/modules/media/tests/src/Functional/MediaSourceImageTest.php create mode 100644 core/modules/media/tests/src/Kernel/MediaThumbnailFormatterTest.php create mode 100644 core/modules/media/tests/src/Kernel/ProviderRepositoryTest.php create mode 100644 core/modules/media/tests/src/Kernel/ResourceFetcherTest.php create mode 100644 core/modules/media/tests/src/Kernel/UrlResolverTest.php create mode 100644 core/modules/media/tests/src/Unit/EndpointTest.php create mode 100644 core/modules/media/tests/src/Unit/ProviderRepositoryTest.php create mode 100644 core/modules/media/tests/src/Unit/ResourceFetcherTest.php create mode 100644 core/modules/media_library/tests/modules/media_library_test/config/schema/media_library_test.yml create mode 100644 core/modules/media_library/tests/modules/media_library_test/src/Plugin/Field/FieldType/EntityReferenceItemSubclass.php create mode 100644 core/modules/menu_link_content/src/Plugin/migrate/process/LinkOptions.php create mode 100644 core/modules/menu_link_content/tests/src/Kernel/Migrate/d6/MigrateMenuLinkLocalizedTest.php create mode 100644 core/modules/menu_ui/tests/src/Kernel/MenuUiNodeTypeTest.php create mode 100644 core/modules/migrate/migrate.post_update.php create mode 100644 core/modules/migrate/tests/modules/migrate_cache_counts_test/migrate_cache_counts_test.info.yml create mode 100644 core/modules/migrate/tests/modules/migrate_cache_counts_test/src/Plugin/migrate/source/CacheableEmbeddedDataSource.php create mode 100644 core/modules/migrate/tests/modules/migrate_skip_all_rows_test/migrate_skip_all_rows_test.info.yml create mode 100644 core/modules/migrate/tests/modules/migrate_skip_all_rows_test/migrate_skip_all_rows_test.module create mode 100644 core/modules/migrate/tests/modules/migrate_sql_count_cache_test/migrate_sql_count_cache_test.info.yml create mode 100644 core/modules/migrate/tests/modules/migrate_sql_count_cache_test/src/Plugin/migrate/source/SqlCountCache.php create mode 100644 core/modules/migrate/tests/src/Kernel/Plugin/id_map/SqlDeprecationTest.php create mode 100644 core/modules/migrate/tests/src/Kernel/Plugin/source/MigrateSqlSourceCountCacheTest.php create mode 100644 core/modules/migrate/tests/src/Kernel/Plugin/source/MigrationSourceCacheTest.php create mode 100644 core/modules/migrate/tests/src/Unit/process/LogTest.php create mode 100644 core/modules/migrate_drupal/src/Plugin/migrate/field/d7/NodeReference.php create mode 100644 core/modules/migrate_drupal/src/Plugin/migrate/field/d7/UserReference.php delete mode 100644 core/modules/migrate_drupal/tests/modules/migrate_state_finished_test/src/Plugin/migrate/field/FieldLeft.php delete mode 100644 core/modules/migrate_drupal/tests/modules/migrate_state_finished_test/src/Plugin/migrate/field/FieldRight.php create mode 100644 core/modules/migrate_drupal/tests/src/Kernel/Plugin/migrate/source/ContentEntityConstructorTest.php rename core/modules/migrate_drupal/tests/src/Kernel/{StateFileExists.php => StateFileExistsTest.php} (85%) create mode 100644 core/modules/migrate_drupal/tests/src/Unit/MigrationConfigurationTraitTest.php delete mode 100644 core/modules/migrate_drupal_multilingual/migrate_drupal_multilingual.install delete mode 100644 core/modules/migrate_drupal_multilingual/migrate_drupal_multilingual.module create mode 100644 core/modules/migrate_drupal_ui/tests/src/Functional/d7/DoubleSlashTest.php create mode 100644 core/modules/migrate_drupal_ui/tests/src/Functional/d7/FilePathTest.php create mode 100644 core/modules/migrate_drupal_ui/tests/src/FunctionalJavascript/SettingsTest.php create mode 100644 core/modules/mysql/mysql.info.yml create mode 100644 core/modules/mysql/mysql.install create mode 100644 core/modules/mysql/mysql.module create mode 100644 core/modules/mysql/src/Driver/Database/mysql/Connection.php create mode 100644 core/modules/mysql/src/Driver/Database/mysql/Delete.php create mode 100644 core/modules/mysql/src/Driver/Database/mysql/ExceptionHandler.php create mode 100644 core/modules/mysql/src/Driver/Database/mysql/Insert.php create mode 100644 core/modules/mysql/src/Driver/Database/mysql/Install/Tasks.php create mode 100644 core/modules/mysql/src/Driver/Database/mysql/Merge.php create mode 100644 core/modules/mysql/src/Driver/Database/mysql/Schema.php create mode 100644 core/modules/mysql/src/Driver/Database/mysql/Select.php create mode 100644 core/modules/mysql/src/Driver/Database/mysql/Truncate.php create mode 100644 core/modules/mysql/src/Driver/Database/mysql/Update.php create mode 100644 core/modules/mysql/src/Driver/Database/mysql/Upsert.php create mode 100644 core/modules/mysql/tests/src/Functional/RequirementsTest.php create mode 100644 core/modules/mysql/tests/src/Kernel/mysql/ConnectionTest.php create mode 100644 core/modules/mysql/tests/src/Kernel/mysql/ConnectionUnitTest.php create mode 100644 core/modules/mysql/tests/src/Kernel/mysql/DatabaseExceptionWrapperTest.php rename core/{tests/Drupal/KernelTests/Core/Database => modules/mysql/tests/src/Kernel/mysql}/LargeQueryTest.php (83%) create mode 100644 core/modules/mysql/tests/src/Kernel/mysql/MysqlDriverLegacyTest.php create mode 100644 core/modules/mysql/tests/src/Kernel/mysql/NextIdTest.php rename core/{tests/Drupal/KernelTests/Core/Database => modules/mysql/tests/src/Kernel/mysql}/PrefixInfoTest.php (86%) create mode 100644 core/modules/mysql/tests/src/Kernel/mysql/SchemaTest.php create mode 100644 core/modules/mysql/tests/src/Kernel/mysql/SqlModeTest.php rename core/{tests/Drupal/Tests/Core/Database/Driver/mysql => modules/mysql/tests/src/Unit}/ConnectionTest.php (83%) rename core/{tests/Drupal/Tests/Core/Database/Driver/mysql/install/TasksTest.php => modules/mysql/tests/src/Unit/InstallTasksTest.php} (81%) create mode 100644 core/modules/node/tests/fixtures/update/drupal8-9-1-bare.minimal-content-translation.php.gz delete mode 100644 core/modules/node/tests/modules/node_display_configurable_test/config/install/rdf.mapping.node.page.yml create mode 100644 core/modules/node/tests/modules/node_test_views/test_views/views.view.test_node_revision_id_argument.yml delete mode 100644 core/modules/node/tests/src/Functional/NodeDisplayConfigurableTest.php create mode 100644 core/modules/node/tests/src/Functional/Update/NodeContentTranslationUpdateTest.php create mode 100644 core/modules/node/tests/src/Functional/Views/Wizard/HiddenTaxonomyTermReferenceFieldWizardTest.php rename core/modules/node/tests/src/Functional/Views/{ => Wizard}/NodeRevisionWizardTest.php (79%) rename core/modules/node/tests/src/FunctionalJavascript/{TestSettingSummariesContentType.php => SettingSummariesContentTypeTest.php} (85%) create mode 100644 core/modules/node/tests/src/Kernel/NodeDeprecationTest.php create mode 100644 core/modules/node/tests/src/Kernel/Views/ArgumentNodeRevisionIdTest.php create mode 100644 core/modules/node/tests/src/Unit/NodeOperationAccessTest.php create mode 100644 core/modules/path/tests/src/Unit/migrate/process/d6/UrlAliasLanguageDeprecatedTest.php create mode 100644 core/modules/pgsql/pgsql.info.yml create mode 100644 core/modules/pgsql/pgsql.module create mode 100644 core/modules/pgsql/src/Driver/Database/pgsql/Connection.php create mode 100644 core/modules/pgsql/src/Driver/Database/pgsql/Delete.php create mode 100644 core/modules/pgsql/src/Driver/Database/pgsql/Insert.php create mode 100644 core/modules/pgsql/src/Driver/Database/pgsql/Install/Tasks.php create mode 100644 core/modules/pgsql/src/Driver/Database/pgsql/Merge.php create mode 100644 core/modules/pgsql/src/Driver/Database/pgsql/Schema.php create mode 100644 core/modules/pgsql/src/Driver/Database/pgsql/Select.php create mode 100644 core/modules/pgsql/src/Driver/Database/pgsql/Truncate.php create mode 100644 core/modules/pgsql/src/Driver/Database/pgsql/Update.php create mode 100644 core/modules/pgsql/src/Driver/Database/pgsql/Upsert.php create mode 100644 core/modules/pgsql/tests/src/Kernel/pgsql/ConnectionUnitTest.php create mode 100644 core/modules/pgsql/tests/src/Kernel/pgsql/DatabaseExceptionWrapperTest.php create mode 100644 core/modules/pgsql/tests/src/Kernel/pgsql/PgsqlDriverLegacyTest.php create mode 100644 core/modules/pgsql/tests/src/Kernel/pgsql/SchemaTest.php rename core/{tests/Drupal/Tests/Core/Database/Driver/pgsql/PostgresqlSchemaTest.php => modules/pgsql/tests/src/Unit/SchemaTest.php} (62%) create mode 100644 core/modules/quickedit/css/editors/formattedText.ckeditor.css create mode 100644 core/modules/quickedit/css/editors/formattedText.ckeditor5.css create mode 100644 core/modules/quickedit/css/editors/formattedText/ckeditor5.workaround.css rename core/{themes/stable/css/image => modules/quickedit/css}/editors/image.css (93%) rename core/modules/{image => quickedit}/css/editors/image.theme.css (97%) create mode 100644 core/modules/quickedit/help_topics/quickedit.quick_edit.html.twig rename core/modules/{image => quickedit}/images/error.svg (100%) rename core/modules/{image => quickedit}/images/upload.svg (100%) rename core/modules/{editor/js/editor.formattedTextEditor.es6.js => quickedit/js/editors/formattedTextEditor.es6.js} (78%) rename core/modules/{editor/js/editor.formattedTextEditor.js => quickedit/js/editors/formattedTextEditor.js} (77%) rename core/modules/{image => quickedit}/js/editors/image.es6.js (98%) rename core/modules/{image => quickedit}/js/editors/image.js (99%) create mode 100644 core/modules/quickedit/src/Ajax/GetUntransformedTextCommand.php create mode 100644 core/modules/quickedit/src/Controller/QuickEditImageController.php create mode 100644 core/modules/quickedit/src/Entity/QuickEditLayoutBuilderEntityViewDisplay.php create mode 100644 core/modules/quickedit/src/LayoutBuilderIntegration.php create mode 100644 core/modules/quickedit/src/Plugin/InPlaceEditor/Editor.php create mode 100644 core/modules/quickedit/src/Plugin/InPlaceEditor/Image.php create mode 100644 core/modules/quickedit/tests/src/Functional/CKEditor5/CKEditor5QuickEditLibraryTest.php rename core/modules/{editor/tests/src/Functional/QuickEditIntegrationLoadingTest.php => quickedit/tests/src/Functional/EditorIntegrationLoadingTest.php} (76%) create mode 100644 core/modules/quickedit/tests/src/Functional/Jsonapi/QuickEditLayoutBuilderEntityViewDisplayTest.php rename core/modules/{layout_builder => quickedit}/tests/src/Functional/LayoutBuilderQuickEditTest.php (77%) rename core/modules/{image => quickedit}/tests/src/Functional/QuickEditImageControllerTest.php (96%) create mode 100644 core/modules/quickedit/tests/src/Functional/Rest/QuickEditLayoutBuilderEntityViewDisplayJsonAnonTest.php create mode 100644 core/modules/quickedit/tests/src/Functional/Rest/QuickEditLayoutBuilderEntityViewDisplayJsonBasicAuthTest.php create mode 100644 core/modules/quickedit/tests/src/Functional/Rest/QuickEditLayoutBuilderEntityViewDisplayJsonCookieTest.php create mode 100644 core/modules/quickedit/tests/src/Functional/Rest/QuickEditLayoutBuilderEntityViewDisplayXmlAnonTest.php create mode 100644 core/modules/quickedit/tests/src/Functional/Rest/QuickEditLayoutBuilderEntityViewDisplayXmlBasicAuthTest.php create mode 100644 core/modules/quickedit/tests/src/Functional/Rest/QuickEditLayoutBuilderEntityViewDisplayXmlCookieTest.php create mode 100644 core/modules/quickedit/tests/src/FunctionalJavascript/CKEditor5IntegrationTest.php rename core/modules/{inline_form_errors/tests/src/FunctionalJavascript/FormErrorHandlerQuickEditTest.php => quickedit/tests/src/FunctionalJavascript/InlineFormErrorsIntegrationTest.php} (92%) rename core/modules/quickedit/tests/src/FunctionalJavascript/{QuickEditIntegrationTest.php => LayoutBuilderIntegrationTest.php} (89%) rename core/modules/{layout_builder => quickedit}/tests/src/FunctionalJavascript/LayoutBuilderQuickEditTest.php (89%) rename core/modules/{image => quickedit}/tests/src/FunctionalJavascript/QuickEditImageEditorTestTrait.php (96%) rename core/modules/{image => quickedit}/tests/src/FunctionalJavascript/QuickEditImageTest.php (83%) rename core/modules/{settings_tray/tests/src/FunctionalJavascript/QuickEditIntegrationTest.php => quickedit/tests/src/FunctionalJavascript/SettingsTrayIntegrationTest.php} (87%) rename core/modules/{editor/tests/src/Kernel/QuickEditIntegrationTest.php => quickedit/tests/src/Kernel/EditorIntegrationTest.php} (73%) create mode 100644 core/modules/quickedit/tests/src/Kernel/MediaEmbedFilterDisabledIntegrationsTest.php rename core/{profiles/standard/config/install => modules/rdf/config/optional}/rdf.mapping.comment.comment.yml (94%) rename core/{profiles/standard/config/install => modules/rdf/config/optional}/rdf.mapping.node.article.yml (96%) rename core/modules/{forum => rdf}/config/optional/rdf.mapping.node.forum.yml (95%) rename core/{profiles/standard/config/install => modules/rdf/config/optional}/rdf.mapping.node.page.yml (95%) rename core/modules/{forum => rdf}/config/optional/rdf.mapping.taxonomy_term.forums.yml (90%) rename core/{profiles/demo_umami/config/install => modules/rdf/config/optional}/rdf.mapping.taxonomy_term.tags.yml (88%) rename core/modules/{user => rdf}/config/optional/rdf.mapping.user.user.yml (84%) create mode 100644 core/modules/rdf/help_topics/rdf.rdf.html.twig create mode 100644 core/modules/rdf/tests/fixtures/drupal7.php rename core/modules/{node/tests/modules => rdf/tests}/node_display_configurable_test/node_display_configurable_test.info.yml (100%) rename core/modules/{node/tests/modules => rdf/tests}/node_display_configurable_test/node_display_configurable_test.module (93%) create mode 100644 core/modules/rdf/tests/rdf_test_namespaces/config/optional/views.view.rdf_rss_test.yml create mode 100644 core/modules/rdf/tests/src/Functional/Jsonapi/JsonApiRegressionTest.php rename core/modules/{jsonapi/tests/src/Functional => rdf/tests/src/Functional/Jsonapi}/RdfMappingTest.php (93%) create mode 100644 core/modules/rdf/tests/src/Functional/Migrate/NoMultilingualReviewPageTest.php create mode 100644 core/modules/rdf/tests/src/Functional/Migrate/Upgrade7Test.php create mode 100644 core/modules/rdf/tests/src/Functional/Node/NodeDisplayConfigurableTest.php create mode 100644 core/modules/rdf/tests/src/Functional/RssViewIntegrationTest.php rename core/modules/responsive_image/{ => tests}/src/FunctionalJavascript/ResponsiveImageFieldUiTest.php (96%) create mode 100644 core/modules/rest/tests/src/Functional/EntityResource/ConfigEntityResourceTestBase.php create mode 100644 core/modules/rest/tests/src/Kernel/Entity/RestPermissionsTest.php rename core/modules/rest/tests/src/{Functional => Kernel}/EntityResource/EntityResourceRestTestCoverageTest.php (67%) create mode 100644 core/modules/search/tests/src/Kernel/SearchIndexTest.php rename core/modules/search/tests/src/Kernel/{SearchSimplifyTest.php => SearchTextProcessorTest.php} (81%) rename core/modules/shortcut/tests/src/Kernel/{ShortcutSevenIntegrationTest.php => ShortcutClaroIntegrationTest.php} (61%) create mode 100644 core/modules/sqlite/sqlite.info.yml create mode 100644 core/modules/sqlite/sqlite.module create mode 100644 core/modules/sqlite/src/Driver/Database/sqlite/Connection.php create mode 100644 core/modules/sqlite/src/Driver/Database/sqlite/Delete.php create mode 100644 core/modules/sqlite/src/Driver/Database/sqlite/Insert.php create mode 100644 core/modules/sqlite/src/Driver/Database/sqlite/Install/Tasks.php create mode 100644 core/modules/sqlite/src/Driver/Database/sqlite/Merge.php create mode 100644 core/modules/sqlite/src/Driver/Database/sqlite/PDOConnection.php create mode 100644 core/modules/sqlite/src/Driver/Database/sqlite/Schema.php create mode 100644 core/modules/sqlite/src/Driver/Database/sqlite/Select.php create mode 100644 core/modules/sqlite/src/Driver/Database/sqlite/Statement.php create mode 100644 core/modules/sqlite/src/Driver/Database/sqlite/Truncate.php create mode 100644 core/modules/sqlite/src/Driver/Database/sqlite/Update.php create mode 100644 core/modules/sqlite/src/Driver/Database/sqlite/Upsert.php create mode 100644 core/modules/sqlite/tests/src/Kernel/sqlite/DatabaseExceptionWrapperTest.php create mode 100644 core/modules/sqlite/tests/src/Kernel/sqlite/SqliteDriverLegacyTest.php rename core/{tests/Drupal/Tests/Core/Database/Driver/sqlite => modules/sqlite/tests/src/Unit}/ConnectionTest.php (88%) create mode 100644 core/modules/system/config/install/system.advisories.yml delete mode 100644 core/modules/system/config/install/system.authorize.yml rename core/modules/{action => system}/migrations/action_settings.yml (92%) rename core/modules/{action => system}/migrations/d6_action.yml (100%) rename core/modules/{action => system}/migrations/d7_action.yml (100%) create mode 100644 core/modules/system/src/EventSubscriber/AdvisoriesConfigSubscriber.php create mode 100644 core/modules/system/src/EventSubscriber/SecurityFileUploadEventSubscriber.php create mode 100644 core/modules/system/src/Form/ModulesEnabledTrait.php delete mode 100644 core/modules/system/src/Form/ModulesListExperimentalConfirmForm.php create mode 100644 core/modules/system/src/Form/ModulesListNonStableConfirmForm.php create mode 100644 core/modules/system/src/Plugin/migrate/source/Action.php create mode 100644 core/modules/system/src/SecurityAdvisories/SecurityAdvisoriesFetcher.php create mode 100644 core/modules/system/src/SecurityAdvisories/SecurityAdvisory.php delete mode 100644 core/modules/system/src/Tests/Ajax/AjaxTestBase.php create mode 100644 core/modules/system/system.theme.inc create mode 100644 core/modules/system/templates/entity-page-title.html.twig create mode 100644 core/modules/system/templates/system-security-advisories-fetch-error-message.html.twig create mode 100644 core/modules/system/tests/fixtures/HtaccessTest/package.json create mode 100644 core/modules/system/tests/fixtures/HtaccessTest/yarn.lock create mode 100644 core/modules/system/tests/fixtures/psa_feed/invalid.json create mode 100644 core/modules/system/tests/fixtures/psa_feed/valid-mixed.json create mode 100644 core/modules/system/tests/fixtures/psa_feed/valid-non-psa-only.json create mode 100644 core/modules/system/tests/fixtures/psa_feed/valid-psa-only.json create mode 100644 core/modules/system/tests/fixtures/psa_feed/valid_plus1.json create mode 100644 core/modules/system/tests/fixtures/update/drupal-9.0.0.bare.standard.php.gz create mode 100644 core/modules/system/tests/fixtures/update/drupal-9.0.0.filled.standard.php.gz create mode 100644 core/modules/system/tests/fixtures/update/drupal-9.3.0.bare.standard.php.gz create mode 100644 core/modules/system/tests/fixtures/update/drupal-9.3.0.filled.standard.php.gz create mode 100644 core/modules/system/tests/fixtures/update/drupal-9.4.0.bare.standard.php.gz create mode 100644 core/modules/system/tests/fixtures/update/drupal-9.4.0.filled.standard.php.gz create mode 100644 core/modules/system/tests/modules/advisory_feed_test/advisory_feed_test.info.yml create mode 100644 core/modules/system/tests/modules/advisory_feed_test/advisory_feed_test.module create mode 100644 core/modules/system/tests/modules/advisory_feed_test/advisory_feed_test.routing.yml create mode 100644 core/modules/system/tests/modules/advisory_feed_test/advisory_feed_test.services.yml create mode 100644 core/modules/system/tests/modules/advisory_feed_test/src/AdvisoriesTestHttpClient.php create mode 100644 core/modules/system/tests/modules/advisory_feed_test/src/Controller/AdvisoryTestController.php create mode 100644 core/modules/system/tests/modules/advisory_feed_test/src/TestSystemLoggerChannel.php create mode 100644 core/modules/system/tests/modules/ajax_test/js/command_promise-ajax.es6.js create mode 100644 core/modules/system/tests/modules/ajax_test/js/command_promise-ajax.js create mode 100644 core/modules/system/tests/modules/ajax_test/js/focus-ajax.es6.js create mode 100644 core/modules/system/tests/modules/ajax_test/js/focus-ajax.js create mode 100644 core/modules/system/tests/modules/ajax_test/js/global_events.es6.js create mode 100644 core/modules/system/tests/modules/ajax_test/js/global_events.js create mode 100644 core/modules/system/tests/modules/ajax_test/src/Ajax/AjaxTestCommandReturnPromise.php create mode 100644 core/modules/system/tests/modules/ajax_test/src/Form/AjaxTestFocusFirstForm.php create mode 100644 core/modules/system/tests/modules/ajax_test/src/Form/AjaxTestFormPromise.php create mode 100644 core/modules/system/tests/modules/autowire_test/autowire_test.info.yml create mode 100644 core/modules/system/tests/modules/autowire_test/autowire_test.services.yml create mode 100644 core/modules/system/tests/modules/autowire_test/src/TestInjection.php create mode 100644 core/modules/system/tests/modules/autowire_test/src/TestInjection2.php create mode 100644 core/modules/system/tests/modules/autowire_test/src/TestInjectionInterface.php create mode 100644 core/modules/system/tests/modules/autowire_test/src/TestService.php create mode 100644 core/modules/system/tests/modules/condition_test/config/install/condition_test.settings.yml create mode 100644 core/modules/system/tests/modules/condition_test/config/schema/condition_test.schema.yml create mode 100644 core/modules/system/tests/modules/container_rebuild_test/container_rebuild_test.info.yml create mode 100644 core/modules/system/tests/modules/container_rebuild_test/container_rebuild_test.routing.yml create mode 100644 core/modules/system/tests/modules/container_rebuild_test/src/ContainerRebuildTestServiceProvider.php create mode 100644 core/modules/system/tests/modules/container_rebuild_test/src/TestController.php create mode 100644 core/modules/system/tests/modules/cron_queue_test/src/Plugin/QueueWorker/CronQueueTestLeaseTime.php create mode 100644 core/modules/system/tests/modules/csrf_test/csrf_test.links.menu.yml create mode 100644 core/modules/system/tests/modules/decorated_service_test/decorated_service_test.info.yml create mode 100644 core/modules/system/tests/modules/decorated_service_test/decorated_service_test.services.yml create mode 100644 core/modules/system/tests/modules/decorated_service_test/src/TestService.php create mode 100644 core/modules/system/tests/modules/decorated_service_test/src/TestServiceDecorator.php create mode 100644 core/modules/system/tests/modules/dependency_version_test/dependency_version_test.info.yml create mode 100644 core/modules/system/tests/modules/dependency_version_test/dependency_version_test.module create mode 100644 core/modules/system/tests/modules/deprecated_module/config/install/deprecated_module.settings.yml create mode 100644 core/modules/system/tests/modules/deprecated_module/config/schema/deprecated_module.schema.yml create mode 100644 core/modules/system/tests/modules/deprecated_module/deprecated_module.info.yml create mode 100644 core/modules/system/tests/modules/deprecated_module_contrib/deprecated_module_contrib.info.yml create mode 100644 core/modules/system/tests/modules/deprecated_module_dependency/deprecated_module_dependency.info.yml create mode 100644 core/modules/system/tests/modules/deprecated_module_test/deprecated_module_test.info.yml create mode 100644 core/modules/system/tests/modules/deprecated_module_test/deprecated_module_test.module create mode 100644 core/modules/system/tests/modules/deprecated_module_with_non_deprecated_dependency/deprecated_module_with_non_deprecated_dependency.info.yml create mode 100644 core/modules/system/tests/modules/deprecation_test/deprecation_test.services.yml create mode 100644 core/modules/system/tests/modules/dialog_renderer_test/css/dialog-test.css create mode 100644 core/modules/system/tests/modules/dialog_renderer_test/dialog_renderer_test.libraries.yml create mode 100644 core/modules/system/tests/modules/driver_test/src/Driver/Database/DrivertestMysql/Delete.php create mode 100644 core/modules/system/tests/modules/driver_test/src/Driver/Database/DrivertestMysql/Merge.php create mode 100644 core/modules/system/tests/modules/driver_test/src/Driver/Database/DrivertestMysql/Select.php create mode 100644 core/modules/system/tests/modules/driver_test/src/Driver/Database/DrivertestMysql/Truncate.php create mode 100644 core/modules/system/tests/modules/driver_test/src/Driver/Database/DrivertestMysql/Update.php create mode 100644 core/modules/system/tests/modules/driver_test/src/Driver/Database/DrivertestMysqlDeprecatedVersion/Delete.php create mode 100644 core/modules/system/tests/modules/driver_test/src/Driver/Database/DrivertestMysqlDeprecatedVersion/Merge.php create mode 100644 core/modules/system/tests/modules/driver_test/src/Driver/Database/DrivertestMysqlDeprecatedVersion/Select.php create mode 100644 core/modules/system/tests/modules/driver_test/src/Driver/Database/DrivertestMysqlDeprecatedVersion/Truncate.php create mode 100644 core/modules/system/tests/modules/driver_test/src/Driver/Database/DrivertestMysqlDeprecatedVersion/Update.php create mode 100644 core/modules/system/tests/modules/entity_test/src/Entity/EntityTestMulBundle.php create mode 100644 core/modules/system/tests/modules/entity_test/src/Entity/EntityTestMulWithBundle.php create mode 100644 core/modules/system/tests/modules/entity_test/src/Plugin/DataType/ComputedTestCacheableString.php create mode 100644 core/modules/system/tests/modules/entity_test/src/Plugin/Field/ComputedTestCacheableStringItemList.php create mode 100644 core/modules/system/tests/modules/entity_test/src/Plugin/Field/FieldType/ComputedTestCacheableStringItem.php create mode 100644 core/modules/system/tests/modules/entity_test/src/Plugin/Validation/Constraint/EntityTestContainerFactoryPlugin.php create mode 100644 core/modules/system/tests/modules/entity_test/src/Plugin/Validation/Constraint/EntityTestDefaultPlugin.php create mode 100644 core/modules/system/tests/modules/entity_test/tests/src/Functional/Rest/EntityTestComputedFieldNormalizerTest.php create mode 100644 core/modules/system/tests/modules/entity_test_bundle_class/entity_test_bundle_class.info.yml create mode 100644 core/modules/system/tests/modules/entity_test_bundle_class/entity_test_bundle_class.module create mode 100644 core/modules/system/tests/modules/entity_test_bundle_class/src/Entity/EntityTestAmbiguousBundleClass.php create mode 100644 core/modules/system/tests/modules/entity_test_bundle_class/src/Entity/EntityTestBundleClass.php create mode 100644 core/modules/system/tests/modules/entity_test_bundle_class/src/Entity/EntityTestUserClass.php create mode 100644 core/modules/system/tests/modules/entity_test_bundle_class/src/Entity/EntityTestVariant.php create mode 100644 core/modules/system/tests/modules/entity_test_bundle_class/src/Entity/NonInheritingBundleClass.php create mode 100644 core/modules/system/tests/modules/entity_test_deprecated_storage/entity_test_deprecated_storage.info.yml create mode 100644 core/modules/system/tests/modules/entity_test_deprecated_storage/src/Storage/DeprecatedEntityStorage.php create mode 100644 core/modules/system/tests/modules/form_test/src/Form/FormTestTableSelectDisabledRowsForm.php create mode 100644 core/modules/system/tests/modules/generic_module1_test/generic_module1_test.info.yml create mode 100644 core/modules/system/tests/modules/generic_module2_test/generic_module2_test.info.yml create mode 100644 core/modules/system/tests/modules/jquery_keyevent_polyfilll_test/jquery_keyevent_polyfill_test.info.yml create mode 100644 core/modules/system/tests/modules/jquery_keyevent_polyfilll_test/jquery_keyevent_polyfill_test.libraries.yml create mode 100644 core/modules/system/tests/modules/jquery_keyevent_polyfilll_test/jquery_keyevent_polyfill_test.module create mode 100644 core/modules/system/tests/modules/jquery_keyevent_polyfilll_test/js/jquery.keyevent.polyfill.es6.js create mode 100644 core/modules/system/tests/modules/jquery_keyevent_polyfilll_test/js/jquery.keyevent.polyfill.js create mode 100644 core/modules/system/tests/modules/jqueryui_library_assets_test/jqueryui_library_assets_test.info.yml create mode 100644 core/modules/system/tests/modules/jqueryui_library_assets_test/jqueryui_library_assets_test.routing.yml create mode 100644 core/modules/system/tests/modules/jqueryui_library_assets_test/src/Controller/JqueryUiTestAssetsController.php delete mode 100644 core/modules/system/tests/modules/js_deprecation_log_test/js/js_deprecation_log.es6.js delete mode 100644 core/modules/system/tests/modules/js_deprecation_log_test/js/js_deprecation_log.js create mode 100644 core/modules/system/tests/modules/js_errors_test/js/js_errors_test.es6.js create mode 100644 core/modules/system/tests/modules/js_errors_test/js/js_errors_test.js create mode 100644 core/modules/system/tests/modules/js_errors_test/js_errors_test.info.yml create mode 100644 core/modules/system/tests/modules/js_errors_test/js_errors_test.libraries.yml create mode 100644 core/modules/system/tests/modules/js_errors_test/js_errors_test.routing.yml create mode 100644 core/modules/system/tests/modules/js_errors_test/src/Controller/JsErrorsTestController.php create mode 100644 core/modules/system/tests/modules/js_interaction_test/css/js-interaction-test-blocker-element.css create mode 100644 core/modules/system/tests/modules/js_interaction_test/js/js_interaction_test.trigger_link.es6.js create mode 100644 core/modules/system/tests/modules/js_interaction_test/js/js_interaction_test.trigger_link.js create mode 100644 core/modules/system/tests/modules/js_interaction_test/js_interaction_test.info.yml create mode 100644 core/modules/system/tests/modules/js_interaction_test/js_interaction_test.libraries.yml create mode 100644 core/modules/system/tests/modules/js_interaction_test/js_interaction_test.routing.yml create mode 100644 core/modules/system/tests/modules/js_interaction_test/src/Controller/JSInteractionTestForm.php create mode 100644 core/modules/system/tests/modules/js_once_test/js_once_test.info.yml create mode 100644 core/modules/system/tests/modules/js_once_test/js_once_test.routing.yml create mode 100644 core/modules/system/tests/modules/js_once_test/src/Controller/JsOnceTestController.php create mode 100644 core/modules/system/tests/modules/js_testing_log_test/js/js_testing_log.es6.js create mode 100644 core/modules/system/tests/modules/js_testing_log_test/js/js_testing_log.js rename core/modules/system/tests/modules/{js_deprecation_log_test/js_deprecation_log_test.info.yml => js_testing_log_test/js_testing_log_test.info.yml} (100%) rename core/modules/system/tests/modules/{js_deprecation_log_test/js_deprecation_log_test.libraries.yml => js_testing_log_test/js_testing_log_test.libraries.yml} (61%) rename core/modules/system/tests/modules/{js_deprecation_log_test/js_deprecation_log_test.module => js_testing_log_test/js_testing_log_test.module} (55%) create mode 100644 core/modules/system/tests/modules/js_webassert_test/src/Controller/TestController.php create mode 100644 core/modules/system/tests/modules/many_assets_test/css/noop.css create mode 100644 core/modules/system/tests/modules/many_assets_test/css/weighted/weighted_114_a.css create mode 100644 core/modules/system/tests/modules/many_assets_test/css/weighted/weighted_114_b.css create mode 100644 core/modules/system/tests/modules/many_assets_test/css/weighted/weighted_114_c.css create mode 100644 core/modules/system/tests/modules/many_assets_test/css/weighted/weighted_115_a.css create mode 100644 core/modules/system/tests/modules/many_assets_test/css/weighted/weighted_115_b.css create mode 100644 core/modules/system/tests/modules/many_assets_test/css/weighted/weighted_116_a.css create mode 100644 core/modules/system/tests/modules/many_assets_test/css/weighted/weighted_116_b.css create mode 100644 core/modules/system/tests/modules/many_assets_test/css/weighted/weighted_116_c.css create mode 100644 core/modules/system/tests/modules/many_assets_test/css/weighted/weighted_116_d.css create mode 100644 core/modules/system/tests/modules/many_assets_test/css/weighted/weighted_116_e.css create mode 100644 core/modules/system/tests/modules/many_assets_test/css/weighted/weighted_116_f.css create mode 100644 core/modules/system/tests/modules/many_assets_test/js/noop.es6.js create mode 100644 core/modules/system/tests/modules/many_assets_test/js/noop.js create mode 100644 core/modules/system/tests/modules/many_assets_test/js/weighted/weighted_114_a.es6.js create mode 100644 core/modules/system/tests/modules/many_assets_test/js/weighted/weighted_114_a.js create mode 100644 core/modules/system/tests/modules/many_assets_test/js/weighted/weighted_114_b.es6.js create mode 100644 core/modules/system/tests/modules/many_assets_test/js/weighted/weighted_114_b.js create mode 100644 core/modules/system/tests/modules/many_assets_test/js/weighted/weighted_114_c.es6.js create mode 100644 core/modules/system/tests/modules/many_assets_test/js/weighted/weighted_114_c.js create mode 100644 core/modules/system/tests/modules/many_assets_test/js/weighted/weighted_115_a.es6.js create mode 100644 core/modules/system/tests/modules/many_assets_test/js/weighted/weighted_115_a.js create mode 100644 core/modules/system/tests/modules/many_assets_test/js/weighted/weighted_115_b.es6.js create mode 100644 core/modules/system/tests/modules/many_assets_test/js/weighted/weighted_115_b.js create mode 100644 core/modules/system/tests/modules/many_assets_test/js/weighted/weighted_116_a.es6.js create mode 100644 core/modules/system/tests/modules/many_assets_test/js/weighted/weighted_116_a.js create mode 100644 core/modules/system/tests/modules/many_assets_test/js/weighted/weighted_116_b.es6.js create mode 100644 core/modules/system/tests/modules/many_assets_test/js/weighted/weighted_116_b.js create mode 100644 core/modules/system/tests/modules/many_assets_test/js/weighted/weighted_116_c.es6.js create mode 100644 core/modules/system/tests/modules/many_assets_test/js/weighted/weighted_116_c.js create mode 100644 core/modules/system/tests/modules/many_assets_test/js/weighted/weighted_116_d.es6.js create mode 100644 core/modules/system/tests/modules/many_assets_test/js/weighted/weighted_116_d.js create mode 100644 core/modules/system/tests/modules/many_assets_test/js/weighted/weighted_116_e.es6.js create mode 100644 core/modules/system/tests/modules/many_assets_test/js/weighted/weighted_116_e.js create mode 100644 core/modules/system/tests/modules/many_assets_test/js/weighted/weighted_116_f.es6.js create mode 100644 core/modules/system/tests/modules/many_assets_test/js/weighted/weighted_116_f.js create mode 100644 core/modules/system/tests/modules/many_assets_test/many_assets_test.info.yml create mode 100644 core/modules/system/tests/modules/many_assets_test/many_assets_test.libraries.yml create mode 100644 core/modules/system/tests/modules/many_assets_test/many_assets_test.module create mode 100644 core/modules/system/tests/modules/many_assets_test/many_assets_test.routing.yml create mode 100644 core/modules/system/tests/modules/many_assets_test/src/Controller/ManyAssetsTestController.php create mode 100644 core/modules/system/tests/modules/modernizr_deprecation_test/js/access-unsupported-property.es6.js create mode 100644 core/modules/system/tests/modules/modernizr_deprecation_test/js/access-unsupported-property.js create mode 100644 core/modules/system/tests/modules/modernizr_deprecation_test/modernizr_deprecation_test.info.yml create mode 100644 core/modules/system/tests/modules/modernizr_deprecation_test/modernizr_deprecation_test.libraries.yml create mode 100644 core/modules/system/tests/modules/modernizr_deprecation_test/modernizr_deprecation_test.module create mode 100644 core/modules/system/tests/modules/modernizr_deprecation_test/modernizr_deprecation_test.routing.yml create mode 100644 core/modules/system/tests/modules/modernizr_deprecation_test/src/Controller/LoadLibraryController.php create mode 100644 core/modules/system/tests/modules/module_info_type_comment/module_info_type_comment.info.yml create mode 100644 core/modules/system/tests/modules/module_test/module_test.services.yml create mode 100644 core/modules/system/tests/modules/module_test/src/PluginManagerCacheClearer.php create mode 100644 core/modules/system/tests/modules/off_canvas_test/js/resize-helper.es6.js create mode 100644 core/modules/system/tests/modules/off_canvas_test/js/resize-helper.js create mode 100644 core/modules/system/tests/modules/off_canvas_test/off_canvas_test.libraries.yml create mode 100644 core/modules/system/tests/modules/off_canvas_test/off_canvas_test.module create mode 100644 core/modules/system/tests/modules/olivero_test/config/install/comment.type.comment.yml create mode 100644 core/modules/system/tests/modules/olivero_test/config/install/contact.form.olivero_test_contact_form.yml create mode 100644 core/modules/system/tests/modules/olivero_test/config/install/core.entity_form_display.comment.comment.default.yml create mode 100644 core/modules/system/tests/modules/olivero_test/config/install/core.entity_form_display.contact_message.olivero_test_contact_form.default.yml create mode 100644 core/modules/system/tests/modules/olivero_test/config/install/core.entity_form_display.node.article.default.yml create mode 100644 core/modules/system/tests/modules/olivero_test/config/install/core.entity_view_display.comment.comment.default.yml create mode 100644 core/modules/system/tests/modules/olivero_test/config/install/core.entity_view_display.node.article.default.yml create mode 100644 core/modules/system/tests/modules/olivero_test/config/install/core.entity_view_display.node.article.rss.yml create mode 100644 core/modules/system/tests/modules/olivero_test/config/install/core.entity_view_display.node.article.teaser.yml create mode 100644 core/modules/system/tests/modules/olivero_test/config/install/field.field.comment.comment.comment_body.yml create mode 100644 core/modules/system/tests/modules/olivero_test/config/install/field.field.contact_message.olivero_test_contact_form.field_multiple_value_form_field.yml create mode 100644 core/modules/system/tests/modules/olivero_test/config/install/field.field.node.article.body.yml create mode 100644 core/modules/system/tests/modules/olivero_test/config/install/field.field.node.article.comment.yml create mode 100644 core/modules/system/tests/modules/olivero_test/config/install/field.field.node.article.field_image.yml create mode 100644 core/modules/system/tests/modules/olivero_test/config/install/field.field.node.article.field_tags.yml create mode 100644 core/modules/system/tests/modules/olivero_test/config/install/field.storage.contact_message.field_multiple_value_form_field.yml create mode 100644 core/modules/system/tests/modules/olivero_test/config/install/field.storage.node.comment.yml create mode 100644 core/modules/system/tests/modules/olivero_test/config/install/field.storage.node.field_image.yml create mode 100644 core/modules/system/tests/modules/olivero_test/config/install/field.storage.node.field_tags.yml create mode 100644 core/modules/system/tests/modules/olivero_test/config/install/node.type.article.yml create mode 100644 core/modules/system/tests/modules/olivero_test/config/install/taxonomy.vocabulary.tags.yml rename core/{themes/olivero/config/install => modules/system/tests/modules/olivero_test/config/optional}/block.block.olivero_account_menu.yml (69%) rename core/{themes/olivero/config/install => modules/system/tests/modules/olivero_test/config/optional}/block.block.olivero_breadcrumbs.yml (100%) rename core/{themes/olivero/config/install => modules/system/tests/modules/olivero_test/config/optional}/block.block.olivero_content.yml (100%) rename core/{themes/olivero/config/install => modules/system/tests/modules/olivero_test/config/optional}/block.block.olivero_main_menu.yml (70%) rename core/{themes/olivero/config/install => modules/system/tests/modules/olivero_test/config/optional}/block.block.olivero_messages.yml (100%) rename core/{themes/olivero/config/install => modules/system/tests/modules/olivero_test/config/optional}/block.block.olivero_page_title.yml (100%) rename core/{themes/olivero/config/install => modules/system/tests/modules/olivero_test/config/optional}/block.block.olivero_powered.yml (92%) rename core/{themes/olivero/config/install => modules/system/tests/modules/olivero_test/config/optional}/block.block.olivero_primary_local_tasks.yml (100%) rename core/{themes/olivero/config/install => modules/system/tests/modules/olivero_test/config/optional}/block.block.olivero_secondary_local_tasks.yml (100%) rename core/{themes/olivero/config/install => modules/system/tests/modules/olivero_test/config/optional}/block.block.olivero_site_branding.yml (100%) create mode 100644 core/modules/system/tests/modules/olivero_test/js/log-errors.es6.js create mode 100644 core/modules/system/tests/modules/olivero_test/js/log-errors.js create mode 100644 core/modules/system/tests/modules/olivero_test/olivero_test.info.yml create mode 100644 core/modules/system/tests/modules/olivero_test/olivero_test.libraries.yml create mode 100644 core/modules/system/tests/modules/olivero_test/olivero_test.links.menu.yml create mode 100644 core/modules/system/tests/modules/olivero_test/olivero_test.module create mode 100644 core/modules/system/tests/modules/position_shim_test/css/position.shim.test.css create mode 100644 core/modules/system/tests/modules/position_shim_test/position_shim_test.info.yml create mode 100644 core/modules/system/tests/modules/position_shim_test/position_shim_test.libraries.yml create mode 100644 core/modules/system/tests/modules/position_shim_test/position_shim_test.routing.yml create mode 100644 core/modules/system/tests/modules/position_shim_test/src/Controller/PositionShimTestController.php create mode 100644 core/modules/system/tests/modules/position_shim_test/src/Controller/PositionShimTestPortedJqueryTestsController.php create mode 100644 core/modules/system/tests/modules/post_update_test_failing/post_update_test_failing.info.yml create mode 100644 core/modules/system/tests/modules/post_update_test_failing/post_update_test_failing.post_update.php create mode 100644 core/modules/system/tests/modules/render_deprecation/render_deprecation.info.yml create mode 100644 core/modules/system/tests/modules/render_deprecation/render_deprecation.routing.yml create mode 100644 core/modules/system/tests/modules/render_deprecation/src/RenderDeprecationController.php create mode 100644 core/modules/system/tests/modules/requirements1_test/requirements1_test.module rename core/modules/system/tests/modules/router_installer_test/{router_installer_test.install => router_installer_test.module} (100%) create mode 100644 core/modules/system/tests/modules/services_defaults_test/services_defaults_test.info.yml create mode 100644 core/modules/system/tests/modules/services_defaults_test/services_defaults_test.services.yml create mode 100644 core/modules/system/tests/modules/services_defaults_test/src/TestInjection.php create mode 100644 core/modules/system/tests/modules/services_defaults_test/src/TestInjection2.php create mode 100644 core/modules/system/tests/modules/services_defaults_test/src/TestInjectionInterface.php create mode 100644 core/modules/system/tests/modules/services_defaults_test/src/TestPrivateService.php create mode 100644 core/modules/system/tests/modules/services_defaults_test/src/TestService.php create mode 100644 core/modules/system/tests/modules/system_status_obsolete_test/system_status_obsolete_test.info.yml create mode 100644 core/modules/system/tests/modules/tabbable_shim_test/src/Controller/TabbableShimDialogIntegrationTestController.php create mode 100644 core/modules/system/tests/modules/tabbable_shim_test/src/Controller/TabbableShimTestController.php create mode 100644 core/modules/system/tests/modules/tabbable_shim_test/tabbable_shim_test.info.yml create mode 100644 core/modules/system/tests/modules/tabbable_shim_test/tabbable_shim_test.routing.yml create mode 100644 core/modules/system/tests/modules/tabbingmanager_test/src/Controller/TabbingManagerTestController.php create mode 100644 core/modules/system/tests/modules/tabbingmanager_test/tabbingmanager_test.info.yml create mode 100644 core/modules/system/tests/modules/tabbingmanager_test/tabbingmanager_test.routing.yml create mode 100644 core/modules/system/tests/modules/tabledrag_test/src/Form/NestedTableDragTestForm.php create mode 100644 core/modules/system/tests/modules/test_user_config/config/install/core.entity_form_display.user.user.default.yml create mode 100644 core/modules/system/tests/modules/test_user_config/config/install/core.entity_view_display.user.user.compact.yml create mode 100644 core/modules/system/tests/modules/test_user_config/config/install/core.entity_view_display.user.user.default.yml create mode 100644 core/modules/system/tests/modules/test_user_config/config/install/field.field.user.user.user_picture.yml create mode 100644 core/modules/system/tests/modules/test_user_config/config/install/field.storage.user.user_picture.yml create mode 100644 core/modules/system/tests/modules/test_user_config/test_user_config.info.yml create mode 100644 core/modules/system/tests/modules/theme_test/src/ThemeTestPreprocess.php create mode 100644 core/modules/system/tests/modules/theme_test/templates/theme-test-preprocess-callback.html.twig create mode 100644 core/modules/system/tests/modules/twig_theme_test/templates/twig_theme_test.dump.html.twig create mode 100644 core/modules/system/tests/modules/update_test_description/update_test_description.info.yml create mode 100644 core/modules/system/tests/modules/update_test_description/update_test_description.install create mode 100644 core/modules/system/tests/src/Functional/Datetime/TimeZoneAbbreviationRouteTest.php create mode 100644 core/modules/system/tests/src/Functional/Entity/EntityReferenceFieldCreationTest.php delete mode 100644 core/modules/system/tests/src/Functional/Module/ExperimentalModuleTest.php create mode 100644 core/modules/system/tests/src/Functional/Module/NonStableModulesTest.php create mode 100644 core/modules/system/tests/src/Functional/SecurityAdvisories/AdvisoriesUpdatePathTest.php create mode 100644 core/modules/system/tests/src/Functional/SecurityAdvisories/SecurityAdvisoryTest.php create mode 100644 core/modules/system/tests/src/Functional/System/DatabaseDriverProvidedByModuleTest.php create mode 100644 core/modules/system/tests/src/Functional/System/PhpRequirementTest.php create mode 100644 core/modules/system/tests/src/Functional/Theme/MaintenanceThemeUpdateRegistryTest.php create mode 100644 core/modules/system/tests/src/Functional/Theme/ThemeUpdateTest.php create mode 100644 core/modules/system/tests/src/Functional/Update/DeleteAuthorizeSettingsUpdateTest.php create mode 100644 core/modules/system/tests/src/Functional/Update/DropIndexAllOnKeyValueExpireTableUpdateTest.php create mode 100644 core/modules/system/tests/src/Functional/Update/UpdateEnableProviderDatabaseDriverTest.php create mode 100644 core/modules/system/tests/src/Functional/UpdateSystem/UpdatePostUpdateExceptionTest.php create mode 100644 core/modules/system/tests/src/Kernel/Common/UrlTest.php create mode 100644 core/modules/system/tests/src/Kernel/DecoratedServiceTest.php create mode 100644 core/modules/system/tests/src/Kernel/Form/ElementsFieldsetTest.php rename core/modules/{action => system}/tests/src/Kernel/Migrate/d6/MigrateActionConfigsTest.php (93%) rename core/modules/{action => system}/tests/src/Kernel/Migrate/d6/MigrateActionsTest.php (83%) rename core/modules/{action => system}/tests/src/Kernel/Migrate/d7/MigrateActionConfigsTest.php (93%) rename core/modules/{action => system}/tests/src/Kernel/Migrate/d7/MigrateActionsTest.php (83%) create mode 100644 core/modules/system/tests/src/Kernel/Module/RequirementsTest.php rename core/modules/{action => system}/tests/src/Kernel/Plugin/migrate/source/ActionTest.php (92%) create mode 100644 core/modules/system/tests/src/Kernel/SecurityAdvisories/SecurityAdvisoriesFetcherTest.php create mode 100644 core/modules/system/tests/src/Kernel/SystemDeprecationTest.php create mode 100644 core/modules/system/tests/src/Kernel/Theme/TwigIncludeTest.php create mode 100644 core/modules/system/tests/src/Traits/OffCanvasTestTrait.php create mode 100644 core/modules/system/tests/src/Unit/Event/SecurityFileUploadEventSubscriberTest.php create mode 100644 core/modules/system/tests/src/Unit/SecurityAdvisories/SecurityAdvisoryTest.php create mode 100644 core/modules/system/tests/themes/deprecated_theme_test/deprecated_theme_test.info.yml create mode 100644 core/modules/system/tests/themes/legacy_experimental_theme_dependency_test/legacy_experimental_theme_dependency_test.info.yml create mode 100644 core/modules/system/tests/themes/legacy_experimental_theme_test/legacy_experimental_theme_test.info.yml create mode 100644 core/modules/system/tests/themes/obsolete_theme_test/obsolete_theme_test.info.yml create mode 100644 core/modules/system/tests/themes/test_ckeditor_stylesheets_without_5/css/yokotsoko.css create mode 100644 core/modules/system/tests/themes/test_ckeditor_stylesheets_without_5/test_ckeditor_stylesheets_without_5.info.yml create mode 100644 core/modules/system/tests/themes/test_deprecated_theme/config/install/test_deprecated_theme.settings.yml create mode 100644 core/modules/system/tests/themes/test_deprecated_theme/config/schema/test_deprecated_theme.schema.yml create mode 100644 core/modules/system/tests/themes/test_deprecated_theme/test_deprecated_theme.info.yml delete mode 100644 core/modules/system/tests/themes/test_subseven/test_subseven.info.yml create mode 100644 core/modules/system/tests/themes/test_subtheming_ckeditor_stylesheets_without_5/css/another.css create mode 100644 core/modules/system/tests/themes/test_subtheming_ckeditor_stylesheets_without_5/test_subtheming_ckeditor_stylesheets_without_5.info.yml create mode 100644 core/modules/system/tests/themes/test_theme_depending_on_modules/test_theme_depending_on_modules.post_update.php create mode 100644 core/modules/system/tests/themes/test_theme_updates/test_theme_updates.info.yml create mode 100644 core/modules/system/tests/themes/test_theme_updates/test_theme_updates.post_update.php create mode 100644 core/modules/taxonomy/src/ContextProvider/TermRouteContext.php create mode 100644 core/modules/taxonomy/src/Plugin/migrate/process/TargetBundle.php create mode 100644 core/modules/taxonomy/src/TaxonomyIndexDepthQueryTrait.php create mode 100644 core/modules/taxonomy/tests/modules/taxonomy_test_views/test_views/views.view.test_taxonomy_exposed_grouped_filter.yml create mode 100644 core/modules/taxonomy/tests/modules/taxonomy_test_views/test_views/views.view.test_taxonomy_name_argument.yml delete mode 100644 core/modules/taxonomy/tests/src/Functional/TaxonomyImageTest.php create mode 100644 core/modules/taxonomy/tests/src/Kernel/ContextProvider/TermContextTest.php create mode 100644 core/modules/taxonomy/tests/src/Kernel/Plugin/migrate/source/d7/TermTranslationTest.php create mode 100644 core/modules/taxonomy/tests/src/Kernel/TaxonomyDeprecationTest.php create mode 100644 core/modules/taxonomy/tests/src/Kernel/Views/ArgumentValidatorTermNameTest.php create mode 100644 core/modules/taxonomy/tests/src/Kernel/Views/TaxonomyTermArgumentDepthTest.php create mode 100644 core/modules/taxonomy/tests/src/Kernel/Views/TaxonomyTermFilterDepthTest.php create mode 100644 core/modules/telephone/src/Plugin/migrate/field/d7/TelephoneField.php create mode 100644 core/modules/text/tests/src/Kernel/TextItemBaseTest.php create mode 100644 core/modules/toolbar/tests/src/Nightwatch/Tests/toolbarApiTest.js create mode 100644 core/modules/toolbar/tests/src/Nightwatch/Tests/toolbarTest.js create mode 100644 core/modules/tour/src/TourTipPluginInterface.php create mode 100644 core/modules/tour/tests/fixtures/addTourLegacyConfig.php create mode 100644 core/modules/tour/tests/fixtures/legacy_config/tour.tour.tour-test-legacy-location.yml create mode 100644 core/modules/tour/tests/fixtures/legacy_config/tour.tour.tour-test-legacy.yml create mode 100644 core/modules/tour/tests/src/Functional/Update/TourTipDeprecatedConfigModuleInstallTest.php create mode 100644 core/modules/tour/tests/src/Functional/Update/TourTipDeprecatedConfigUpdateTest.php create mode 100644 core/modules/tour/tests/src/FunctionalJavascript/TourJavascriptTest.php create mode 100644 core/modules/tour/tests/src/FunctionalJavascript/TourLegacyTest.php delete mode 100644 core/modules/tour/tests/src/Unit/Plugin/tour/tip/TipPluginTextTest.php create mode 100644 core/modules/tour/tests/src/Unit/TipPluginBaseTest.php create mode 100644 core/modules/tour/tests/tour_legacy_test/config/install/tour.tour.tour-test-legacy-location.yml create mode 100644 core/modules/tour/tests/tour_legacy_test/config/install/tour.tour.tour-test-legacy.yml create mode 100644 core/modules/tour/tests/tour_legacy_test/config/schema/tour_legacy_test.schema.yml create mode 100644 core/modules/tour/tests/tour_legacy_test/tour_legacy_test.info.yml create mode 100644 core/modules/tour/tests/tour_legacy_test/tour_legacy_test.routing.yml create mode 100644 core/modules/tour/tests/tour_test/src/Plugin/tour/tip/TipPluginImageLegacy.php create mode 100644 core/modules/tour/tests/tour_test/src/Plugin/tour/tip/TipPluginTextLegacy.php create mode 100644 core/modules/tour/tour.post_update.php rename core/modules/{help_topics => tracker}/help_topics/tracker.tracking_changed_content.html.twig (72%) create mode 100644 core/modules/tracker/tests/fixtures/drupal7.php create mode 100644 core/modules/tracker/tests/src/Functional/Migrate/ReviewPageTest.php create mode 100644 core/modules/tracker/tests/src/Kernel/Migrate/d7/MigrateDrupalTestBase.php create mode 100644 core/modules/update/src/ProjectRelease.php rename core/modules/update/src/{UpdateRootFactory.php => UpdateRoot.php} (82%) create mode 100644 core/modules/update/tests/fixtures/release-history/drupal.sec.10.5.0.xml rename core/modules/update/tests/fixtures/release-history/{drupal.sec.0.2-rc2-b.xml => drupal.sec.2.0-rc2-b.xml} (95%) rename core/modules/update/tests/fixtures/release-history/{drupal.sec.0.2-rc2.xml => drupal.sec.2.0-rc2.xml} (95%) delete mode 100644 core/modules/update/tests/fixtures/release-history/drupal.sec.9.0.xml create mode 100644 core/modules/update/tests/fixtures/release-history/drupal.sec.9.5.0.xml delete mode 100644 core/modules/update/tests/fixtures/release-history/drupal.sec.9.9.0.xml create mode 100644 core/modules/update/tests/fixtures/release-history/semver_test.0.0-alpha1.xml create mode 100644 core/modules/update/tests/fixtures/release-history/semver_test.0.0-beta1.xml create mode 100644 core/modules/update/tests/fixtures/release-history/semver_test.0.0.xml create mode 100644 core/modules/update/tests/fixtures/release-history/semver_test.0.1-alpha1.xml create mode 100644 core/modules/update/tests/fixtures/release-history/semver_test.0.1-beta1.xml create mode 100644 core/modules/update/tests/fixtures/release-history/semver_test.0.1.xml create mode 100644 core/modules/update/tests/fixtures/release-history/semver_test.1.0-alpha1.xml create mode 100644 core/modules/update/tests/fixtures/release-history/semver_test.1.0-beta1.xml create mode 100644 core/modules/update/tests/fixtures/release-history/semver_test.1.0-unsupported.xml create mode 100644 core/modules/update/tests/fixtures/release-history/semver_test.1.0.xml create mode 100644 core/modules/update/tests/fixtures/release-history/semver_test.1.1-alpha1-core_compatibility.xml create mode 100644 core/modules/update/tests/fixtures/release-history/semver_test.1.1-alpha1.xml create mode 100644 core/modules/update/tests/fixtures/release-history/semver_test.1.1-beta1.xml create mode 100644 core/modules/update/tests/fixtures/release-history/semver_test.1.1-core_compatibility.xml create mode 100644 core/modules/update/tests/fixtures/release-history/semver_test.1.1.xml create mode 100644 core/modules/update/tests/fixtures/release-history/semver_test.9.xml create mode 100644 core/modules/update/tests/fixtures/release-history/semver_test.dev.xml create mode 100644 core/modules/update/tests/fixtures/release-history/semver_test.sec.0.1_0.2.xml create mode 100644 core/modules/update/tests/fixtures/release-history/semver_test.sec.0.2.xml create mode 100644 core/modules/update/tests/fixtures/release-history/semver_test.sec.1.2.xml create mode 100644 core/modules/update/tests/fixtures/release-history/semver_test.sec.1.2_insecure-unsupported.xml create mode 100644 core/modules/update/tests/fixtures/release-history/semver_test.sec.1.2_insecure.xml create mode 100644 core/modules/update/tests/fixtures/release-history/semver_test.sec.2.0-rc2-b.xml create mode 100644 core/modules/update/tests/fixtures/release-history/semver_test.sec.2.0-rc2.xml create mode 100644 core/modules/update/tests/modules/semver_test/semver_test.info.yml create mode 100644 core/modules/update/tests/src/Functional/Update/UpdateAddViewUpdateNotificationsPermissionTest.php delete mode 100644 core/modules/update/tests/src/Functional/UpdateCoreTest.php create mode 100644 core/modules/update/tests/src/Functional/UpdateSemverContribTest.php create mode 100644 core/modules/update/tests/src/Functional/UpdateSemverCoreTest.php create mode 100644 core/modules/update/tests/src/Functional/UpdateSemverTestBase.php create mode 100644 core/modules/update/tests/src/Functional/UpdateUploaderTestBase.php create mode 100644 core/modules/update/tests/src/Kernel/UpdateStorageTest.php create mode 100644 core/modules/update/tests/src/Unit/ProjectReleaseTest.php create mode 100644 core/modules/update/update.permissions.yml create mode 100644 core/modules/update/update.post_update.php create mode 100644 core/modules/user/migrations/d7_user_settings.yml create mode 100644 core/modules/user/src/Entity/EntityPermissionsRouteProvider.php create mode 100644 core/modules/user/src/Entity/EntityPermissionsRouteProviderWithCheck.php create mode 100644 core/modules/user/src/Form/EntityPermissionsForm.php create mode 100644 core/modules/user/src/Form/RoleSettingsForm.php create mode 100644 core/modules/user/src/Form/UserPermissionsModuleSpecificForm.php create mode 100644 core/modules/user/src/Plugin/Derivative/UserLocalTask.php create mode 100644 core/modules/user/tests/modules/user_permissions_test/user_permissions_test.info.yml create mode 100644 core/modules/user/tests/modules/user_permissions_test/user_permissions_test.permissions.yml create mode 100644 core/modules/user/tests/src/Functional/Mysql8RequirePrimaryKeyUpdateTest.php create mode 100644 core/modules/user/tests/src/Functional/UidUpdateToSerialTest.php create mode 100644 core/modules/user/tests/src/Functional/Update/UserUpdateRoleDependenciesTest.php create mode 100644 core/modules/user/tests/src/Functional/UserPermissionsAdminTest.php create mode 100644 core/modules/user/tests/src/Functional/UserRegistrationRestTest.php create mode 100644 core/modules/user/tests/src/FunctionalJavascript/UserPermissionsTest.php create mode 100644 core/modules/user/tests/src/Kernel/Controller/UserControllerTest.php delete mode 100644 core/modules/user/tests/src/Kernel/Migrate/d6/MigrateUserPictureFileTest.php create mode 100644 core/modules/user/tests/src/Kernel/Migrate/d7/MigrateUserSettingsTest.php create mode 100644 core/modules/user/tests/src/Kernel/UserAccountFormPasswordResetTest.php create mode 100644 core/modules/user/tests/src/Kernel/UserMailDefaultsTest.php create mode 100644 core/modules/user/tests/src/Kernel/Views/UserRoleTest.php create mode 100644 core/modules/user/tests/src/Unit/Form/EntityPermissionsFormTest.php create mode 100644 core/modules/user/tests/src/Unit/Plugin/Derivative/UserLocalTaskTest.php create mode 100644 core/modules/user/user.link_relation_types.yml create mode 100644 core/modules/views/src/Exception/ViewRenderElementException.php create mode 100644 core/modules/views/tests/fixtures/update/multi_value_fields.php create mode 100644 core/modules/views/tests/fixtures/update/views.view.test_another_broken_config_multi_value.yml create mode 100644 core/modules/views/tests/fixtures/update/views.view.test_broken_config_multi_value.yml create mode 100644 core/modules/views/tests/modules/views_form_test/views_form_test.info.yml create mode 100644 core/modules/views/tests/modules/views_form_test/views_form_test.module create mode 100644 core/modules/views/tests/modules/views_test_config/test_views/views.view.test_aggregate_count_function.yml create mode 100644 core/modules/views/tests/modules/views_test_config/test_views/views.view.test_boolean_grouped_filter_view.yml create mode 100644 core/modules/views/tests/modules/views_test_config/test_views/views.view.test_distinct_click_sorting.yml create mode 100644 core/modules/views/tests/modules/views_test_config/test_views/views.view.test_month_date_plugin.yml create mode 100644 core/modules/views/tests/modules/views_test_config/test_views/views.view.test_remember_selected.yml create mode 100644 core/modules/views/tests/modules/views_test_config/test_views/views.view.test_user_role_contextual_filter.yml create mode 100644 core/modules/views/tests/modules/views_test_render_cache/src/Controller/ViewsTestRenderCacheController.php create mode 100644 core/modules/views/tests/modules/views_test_render_cache/views_test_render_cache.info.yml create mode 100644 core/modules/views/tests/modules/views_test_render_cache/views_test_render_cache.routing.yml create mode 100644 core/modules/views/tests/src/Functional/Handler/FieldTimeIntervalTest.php create mode 100644 core/modules/views/tests/src/Functional/Plugin/ContextualFiltersStringTest.php create mode 100644 core/modules/views/tests/src/Functional/Plugin/MonthDatePluginTest.php create mode 100644 core/modules/views/tests/src/Functional/Plugin/QueryOptionsTest.php create mode 100644 core/modules/views/tests/src/Functional/Update/GlossaryStatusFilterTest.php create mode 100644 core/modules/views/tests/src/Functional/Update/ViewsMultiValueFieldUpdateTest.php create mode 100644 core/modules/views/tests/src/Functional/Update/ViewsSettingsRenameTest.php create mode 100644 core/modules/views/tests/src/Functional/Update/ViewsSortIdentifiersUpdateTest.php create mode 100644 core/modules/views/tests/src/Functional/ViewTranslationTest.php create mode 100644 core/modules/views/tests/src/Functional/ViewsFormAlterTest.php create mode 100644 core/modules/views/tests/src/FunctionalJavascript/Plugin/views/Handler/FilterTest.php create mode 100644 core/modules/views/tests/src/Kernel/Entity/EntityViewsDataTest.php create mode 100644 core/modules/views/tests/src/Kernel/Entity/ViewSelectionEntityReferenceTest.php create mode 100644 core/modules/views/tests/src/Kernel/Handler/FilterBooleanOperatorGroupTest.php create mode 100644 core/modules/views/tests/src/Kernel/ViewsLegacyTest.php delete mode 100644 core/modules/views/tests/src/Unit/EntityViewsDataTest.php create mode 100644 core/modules/views/tests/src/Unit/Plugin/filter/FilterPluginBaseTest.php create mode 100644 core/modules/views/tests/src/Unit/Plugin/pager/SqlBaseTest.php create mode 100644 core/modules/views/tests/themes/views_test_theme/templates/input--submit.html.twig create mode 100644 core/modules/views_ui/tests/src/FunctionalJavascript/AdminAjaxTest.php delete mode 100644 core/modules/views_ui/tests/src/FunctionalJavascript/LibraryCachingTest.php delete mode 100644 core/modules/workspaces/config/install/core.entity_form_display.workspace.workspace.deploy.yml delete mode 100644 core/modules/workspaces/config/install/core.entity_form_mode.workspace.deploy.yml delete mode 100644 core/modules/workspaces/src/Form/WorkspaceDeployForm.php create mode 100644 core/modules/workspaces/src/Form/WorkspacePublishForm.php create mode 100644 core/modules/workspaces/src/WorkspaceViewBuilder.php delete mode 100644 core/postcss.config.js delete mode 100644 core/profiles/demo_umami/config/install/block.block.seven_help.yml delete mode 100644 core/profiles/demo_umami/config/install/block.block.seven_local_actions.yml rename core/profiles/demo_umami/config/install/{block.block.breadcrumbs.yml => block.block.umami_breadcrumbs.yml} (94%) rename core/profiles/demo_umami/config/install/{block.block.help.yml => block.block.umami_help.yml} (94%) rename core/profiles/demo_umami/config/install/{block.block.languageswitcher.yml => block.block.umami_languageswitcher.yml} (92%) rename core/profiles/demo_umami/config/install/{block.block.views_block__articles_aside_block_1.yml => block.block.umami_views_block__articles_aside_block_1.yml} (83%) rename core/profiles/demo_umami/config/install/{block.block.views_block__promoted_items_block_1.yml => block.block.umami_views_block__promoted_items_block_1.yml} (91%) rename core/profiles/demo_umami/config/install/{block.block.views_block__recipe_collections_block.yml => block.block.umami_views_block__recipe_collections_block.yml} (89%) create mode 100644 core/profiles/demo_umami/config/install/claro.settings.yml create mode 100644 core/profiles/demo_umami/config/install/core.entity_view_display.node.page.full.yml create mode 100644 core/profiles/demo_umami/config/install/field.field.node.article.layout_builder__layout.yml create mode 100644 core/profiles/demo_umami/config/install/field.field.node.page.layout_builder__layout.yml delete mode 100644 core/profiles/demo_umami/config/install/rdf.mapping.node.article.yml delete mode 100644 core/profiles/demo_umami/config/install/rdf.mapping.node.page.yml create mode 100644 core/profiles/demo_umami/modules/demo_umami_content/default_content/images/borscht-with-pork-ribs-umami.jpg create mode 100644 core/profiles/demo_umami/modules/demo_umami_content/default_content/languages/en/recipe_instructions/borscht-with-pork-ribs-umami.html create mode 100644 core/profiles/demo_umami/modules/demo_umami_content/default_content/languages/es/recipe_instructions/borscht-with-pork-ribs-umami.html create mode 100644 core/profiles/demo_umami/themes/umami/css/components/content/node-preview.css create mode 100644 core/profiles/demo_umami/themes/umami/css/components/regions/tabs/tabs.css create mode 100644 core/profiles/demo_umami/themes/umami/fonts/scope-one-v14-latin-regular.woff2 create mode 100644 core/profiles/demo_umami/themes/umami/fonts/source-sans-pro-v21-latin-700.woff2 create mode 100644 core/profiles/demo_umami/themes/umami/fonts/source-sans-pro-v21-latin-700italic.woff2 create mode 100644 core/profiles/demo_umami/themes/umami/fonts/source-sans-pro-v21-latin-italic.woff2 create mode 100644 core/profiles/demo_umami/themes/umami/fonts/source-sans-pro-v21-latin-regular.woff2 delete mode 100644 core/profiles/demo_umami/themes/umami/templates/classy/misc/rdf-metadata.html.twig delete mode 100644 core/profiles/standard/config/install/rdf.mapping.taxonomy_term.tags.yml create mode 100644 core/profiles/standard/config/install/user.role.content_editor.yml rename core/profiles/standard/config/{install => optional}/block.block.bartik_account_menu.yml (100%) rename core/profiles/standard/config/{install => optional}/block.block.bartik_branding.yml (100%) rename core/profiles/standard/config/{install => optional}/block.block.bartik_breadcrumbs.yml (100%) rename core/profiles/standard/config/{install => optional}/block.block.bartik_content.yml (100%) rename core/profiles/standard/config/{install => optional}/block.block.bartik_footer.yml (100%) rename core/profiles/standard/config/{install => optional}/block.block.bartik_help.yml (100%) rename core/profiles/standard/config/{install => optional}/block.block.bartik_local_actions.yml (100%) rename core/profiles/standard/config/{install => optional}/block.block.bartik_local_tasks.yml (100%) rename core/profiles/standard/config/{install => optional}/block.block.bartik_main_menu.yml (100%) rename core/profiles/standard/config/{install => optional}/block.block.bartik_messages.yml (100%) rename core/profiles/standard/config/{install => optional}/block.block.bartik_page_title.yml (100%) rename core/profiles/standard/config/{install => optional}/block.block.bartik_powered.yml (100%) rename core/profiles/standard/config/{install => optional}/block.block.bartik_search.yml (100%) rename core/profiles/standard/config/{install => optional}/block.block.bartik_tools.yml (100%) rename core/profiles/standard/config/{install => optional}/block.block.seven_breadcrumbs.yml (100%) rename core/profiles/standard/config/{install => optional}/block.block.seven_content.yml (100%) rename core/profiles/standard/config/{install => optional}/block.block.seven_help.yml (100%) rename core/profiles/standard/config/{install => optional}/block.block.seven_local_actions.yml (100%) rename core/profiles/standard/config/{install => optional}/block.block.seven_messages.yml (100%) rename core/profiles/standard/config/{install => optional}/block.block.seven_page_title.yml (100%) rename core/profiles/standard/config/{install => optional}/block.block.seven_primary_local_tasks.yml (100%) rename core/profiles/standard/config/{install => optional}/block.block.seven_secondary_local_tasks.yml (100%) create mode 100644 core/profiles/testing_multilingual/config/install/locale.settings.yml create mode 100755 core/scripts/dev/commit-code-check.sh create mode 100644 core/scripts/js/assets/ckeditor5Files.js create mode 100644 core/scripts/js/assets/process/jqueryui.js create mode 100644 core/scripts/js/assets/process/map.js create mode 100644 core/scripts/js/ckeditor5-check-plugins.js create mode 100644 core/scripts/js/ckeditor5-types-documentation.js delete mode 100644 core/scripts/js/jqueryui-build.js delete mode 100644 core/scripts/js/jqueryui-check.js delete mode 100644 core/scripts/js/jqueryui-terser.js create mode 100644 core/scripts/js/vendor-update.js delete mode 100644 core/scripts/test/test.script delete mode 100644 core/scripts/transliteration_data.php.txt create mode 100644 core/tests/Drupal/BuildTests/Composer/Component/ComponentsIsolatedBuildTest.php create mode 100644 core/tests/Drupal/BuildTests/Composer/Component/ComponentsTaggedReleaseTest.php create mode 100644 core/tests/Drupal/BuildTests/Composer/ComposerBuildTestBase.php create mode 100644 core/tests/Drupal/BuildTests/Composer/LegacyScriptsTest.php create mode 100644 core/tests/Drupal/BuildTests/TestSiteApplication/InstallTest.php create mode 100644 core/tests/Drupal/FunctionalJavascriptTests/Ajax/FocusFirstCommandTest.php create mode 100644 core/tests/Drupal/FunctionalJavascriptTests/Core/Form/JavascriptStatesTest.php delete mode 100644 core/tests/Drupal/FunctionalJavascriptTests/Core/Installer/Form/SelectProfileFormTest.php create mode 100644 core/tests/Drupal/FunctionalJavascriptTests/JavascriptErrorsSuppressionTest.php create mode 100644 core/tests/Drupal/FunctionalJavascriptTests/JavascriptErrorsTest.php create mode 100644 core/tests/Drupal/FunctionalJavascriptTests/Tests/JSInteractionTest.php delete mode 100644 core/tests/Drupal/FunctionalJavascriptTests/Tests/JSWebWithWebDriverAssertTest.php create mode 100644 core/tests/Drupal/FunctionalJavascriptTests/Theme/OliveroMessagesTest.php create mode 100644 core/tests/Drupal/FunctionalTests/Core/Container/ServiceDeprecationTest.php create mode 100644 core/tests/Drupal/FunctionalTests/Core/Render/RenderDeprecationTest.php create mode 100644 core/tests/Drupal/FunctionalTests/EventSubscriber/Fast404Test.php create mode 100644 core/tests/Drupal/FunctionalTests/ExistingDrupal8StyleDatabaseConnectionInSettingsPhpTest.php create mode 100644 core/tests/Drupal/FunctionalTests/Installer/DrupalFlushAllCachesInInstallerTest.php create mode 100644 core/tests/Drupal/FunctionalTests/Installer/InstallerExistingConfigExistingSettingsTest.php rename core/tests/Drupal/FunctionalTests/Installer/{InstallerExistingConfigSyncDriectoryProfileMismatchTest.php => InstallerExistingConfigSyncDirectoryProfileMismatchTest.php} (75%) create mode 100644 core/tests/Drupal/FunctionalTests/Installer/InstallerTranslationExistingFileTest.php create mode 100644 core/tests/Drupal/FunctionalTests/Installer/InstallerTranslationMultipleLanguageNonInteractiveTest.php create mode 100644 core/tests/Drupal/FunctionalTests/Installer/InstallerWithTablePrefixArrayTest.php create mode 100644 core/tests/Drupal/FunctionalTests/Libraries/JqueryUiLibraryAssetsTest.php create mode 100644 core/tests/Drupal/FunctionalTests/Libraries/ManyAssetsLoadOrderTest.php create mode 100644 core/tests/Drupal/KernelTests/Core/Asset/DeprecatedBackboneTest.php create mode 100644 core/tests/Drupal/KernelTests/Core/Asset/DeprecatedJqueryFormTest.php create mode 100644 core/tests/Drupal/KernelTests/Core/Asset/DeprecatedJqueryUiAssetsTest.php create mode 100644 core/tests/Drupal/KernelTests/Core/Batch/BatchNegotiatorTest.php create mode 100644 core/tests/Drupal/KernelTests/Core/Bootstrap/ExtensionPathResolverTest.php create mode 100644 core/tests/Drupal/KernelTests/Core/Database/DatabaseTestSchemaDataTrait.php create mode 100644 core/tests/Drupal/KernelTests/Core/Database/DatabaseTestSchemaInstallTrait.php rename core/tests/Drupal/KernelTests/Core/Database/{ConnectionUnitTest.php => DriverSpecificConnectionUnitTestBase.php} (58%) create mode 100644 core/tests/Drupal/KernelTests/Core/Database/DriverSpecificDatabaseTestBase.php create mode 100644 core/tests/Drupal/KernelTests/Core/Database/DriverSpecificKernelTestBase.php create mode 100644 core/tests/Drupal/KernelTests/Core/Database/DriverSpecificSchemaTestBase.php create mode 100644 core/tests/Drupal/KernelTests/Core/Database/SelectExtenderTest.php create mode 100644 core/tests/Drupal/KernelTests/Core/Datetime/DatelistElementFormTest.php create mode 100644 core/tests/Drupal/KernelTests/Core/DependencyInjection/AutowireTest.php create mode 100644 core/tests/Drupal/KernelTests/Core/DependencyInjection/ServicesDefaultsTest.php create mode 100644 core/tests/Drupal/KernelTests/Core/DependencyInjection/StringSerializationTest.php create mode 100644 core/tests/Drupal/KernelTests/Core/Entity/BundleClassTest.php create mode 100644 core/tests/Drupal/KernelTests/Core/Entity/BundlePermissionHandlerTraitTest.php create mode 100644 core/tests/Drupal/KernelTests/Core/Entity/EntityBaseTest.php create mode 100644 core/tests/Drupal/KernelTests/Core/Entity/EntityBundleConditionTest.php create mode 100644 core/tests/Drupal/KernelTests/Core/Entity/EntityTypeTest.php create mode 100644 core/tests/Drupal/KernelTests/Core/Extension/LegacyExtensionPathResolverTest.php create mode 100644 core/tests/Drupal/KernelTests/Core/Extension/ModuleInstallerDeprecationTest.php create mode 100644 core/tests/Drupal/KernelTests/Core/Extension/ModuleLegacyTest.php create mode 100644 core/tests/Drupal/KernelTests/Core/Extension/SchemaDeprecationTest.php create mode 100644 core/tests/Drupal/KernelTests/Core/Extension/UpdateDescriptionTest.php create mode 100644 core/tests/Drupal/KernelTests/Core/Field/FieldType/PasswordItemTest.php create mode 100644 core/tests/Drupal/KernelTests/Core/File/FileSystemDeprecationTest.php create mode 100644 core/tests/Drupal/KernelTests/Core/File/FileUrlGeneratorTest.php delete mode 100644 core/tests/Drupal/KernelTests/Core/File/UrlRewritingTest.php create mode 100644 core/tests/Drupal/KernelTests/Core/Form/FormActionXssTest.php create mode 100644 core/tests/Drupal/KernelTests/Core/Menu/MenuLegacyTest.php create mode 100644 core/tests/Drupal/KernelTests/Core/ParamConverter/EntityConverterTest.php create mode 100644 core/tests/Drupal/KernelTests/Core/Render/Element/MachineNameTest.php create mode 100644 core/tests/Drupal/KernelTests/Core/Session/SessionManagerDestroyNoCliCheckTest.php create mode 100644 core/tests/Drupal/KernelTests/Core/Theme/ClaroVerticalTabsTest.php create mode 100644 core/tests/Drupal/KernelTests/Core/Theme/ConfigImportThemeInstallTest.php create mode 100644 core/tests/Drupal/KernelTests/Core/Theme/StableLibraryOverrideTestBase.php create mode 100644 core/tests/Drupal/KernelTests/Core/Validation/ConstraintFactoryTest.php create mode 100644 core/tests/Drupal/KernelTests/KernelTestBaseDatabaseDriverModuleTest.php delete mode 100644 core/tests/Drupal/KernelTests/TestServiceProvider.php create mode 100644 core/tests/Drupal/Nightwatch/Assertions/elementCount.js create mode 100644 core/tests/Drupal/Nightwatch/Commands/drupalInstallModule.js create mode 100644 core/tests/Drupal/Nightwatch/Tests/Olivero/oliveroCommentTest.js create mode 100644 core/tests/Drupal/Nightwatch/Tests/Olivero/oliveroDesktopMenuTest.js create mode 100644 core/tests/Drupal/Nightwatch/Tests/Olivero/oliveroDrupalMessageTest.js create mode 100644 core/tests/Drupal/Nightwatch/Tests/Olivero/oliveroMiscTest.js create mode 100644 core/tests/Drupal/Nightwatch/Tests/Olivero/oliveroMobileMenuTest.js create mode 100644 core/tests/Drupal/Nightwatch/Tests/Olivero/oliveroPreprocessFieldMultipleValueFormTest.js create mode 100644 core/tests/Drupal/Nightwatch/Tests/Olivero/oliveroPreprocessInputTest.js create mode 100644 core/tests/Drupal/Nightwatch/Tests/Olivero/oliveroPrimaryTabsTest.js create mode 100644 core/tests/Drupal/Nightwatch/Tests/Olivero/oliveroRemoveBlockConsoleTest.js create mode 100644 core/tests/Drupal/Nightwatch/Tests/Olivero/oliveroSearchFormTest.js create mode 100644 core/tests/Drupal/Nightwatch/Tests/Olivero/oliveroStickyHeaderToggleTest.js create mode 100644 core/tests/Drupal/Nightwatch/Tests/ajaxExecutionOrderTest.js create mode 100644 core/tests/Drupal/Nightwatch/Tests/jQueryUIPositionShimTest.js create mode 100644 core/tests/Drupal/Nightwatch/Tests/jsOnceTest.js create mode 100644 core/tests/Drupal/Nightwatch/Tests/tabbableShimTest.js create mode 100644 core/tests/Drupal/Nightwatch/Tests/tabbingManagerTest.js create mode 100644 core/tests/Drupal/Nightwatch/Tests/touchDetectionTest.js create mode 100644 core/tests/Drupal/TestSite/TestSiteOliveroInstallTestScript.php create mode 100644 core/tests/Drupal/TestTools/Extension/SchemaInspector.php create mode 100644 core/tests/Drupal/TestTools/TestVarDumper.php create mode 100644 core/tests/Drupal/Tests/Component/DependencyInjection/ReverseContainerTest.php delete mode 100644 core/tests/Drupal/Tests/Composer/Plugin/Scaffold/fixtures/composer-hooks-nothing-allowed-fixture/assets/robots-default.txt delete mode 100644 core/tests/Drupal/Tests/Composer/Plugin/Scaffold/fixtures/composer-hooks-nothing-allowed-fixture/composer.json.tmpl create mode 100644 core/tests/Drupal/Tests/Composer/Plugin/Scaffold/fixtures/empty-file/assets/empty_file.txt create mode 100644 core/tests/Drupal/Tests/Composer/Plugin/Scaffold/fixtures/empty-file/composer.json delete mode 100755 core/tests/Drupal/Tests/Composer/Plugin/Scaffold/fixtures/scripts/disable-git-bin/git create mode 100644 core/tests/Drupal/Tests/Core/Asset/CssCollectionOptimizerUnitTest.php create mode 100644 core/tests/Drupal/Tests/Core/Asset/css_test_files/css_input_with_import.css.optimized.aggregated.css create mode 100644 core/tests/Drupal/Tests/Core/Cache/Context/CookieCacheContextTest.php create mode 100644 core/tests/Drupal/Tests/Core/Command/GenerateThemeTest.php create mode 100644 core/tests/Drupal/Tests/Core/Composer/ComposerDeprecationTest.php create mode 100644 core/tests/Drupal/Tests/Core/Database/RowCountExceptionTest.php create mode 100644 core/tests/Drupal/Tests/Core/DrupalKernel/DrupalKernelLegacyTest.php create mode 100644 core/tests/Drupal/Tests/Core/Entity/EntityStorageBaseTest.php create mode 100644 core/tests/Drupal/Tests/Core/Entity/EntityStorageDeprecationTest.php create mode 100644 core/tests/Drupal/Tests/Core/Extension/ExtensionVersionTest.php create mode 100644 core/tests/Drupal/Tests/Core/Field/InternalViolationTest.php create mode 100644 core/tests/Drupal/Tests/Core/File/FileUploadSanitizeNameEventTest.php create mode 100644 core/tests/Drupal/Tests/Core/Flood/MemoryBackendTest.php create mode 100644 core/tests/Drupal/Tests/Core/Http/CacheableExceptionTest.php create mode 100644 core/tests/Drupal/Tests/Core/Http/InputBagTest.php create mode 100644 core/tests/Drupal/Tests/Core/Http/RequestStackLegacyTest.php create mode 100644 core/tests/Drupal/Tests/Core/Mail/Plugin/Mail/PhpMailTest.php create mode 100644 core/tests/Drupal/Tests/Core/Queue/QueueExceptionsTest.php create mode 100644 core/tests/Drupal/Tests/Core/Render/Element/DateElementTest.php create mode 100644 core/tests/Drupal/Tests/Core/Render/RendererDebugTest.php create mode 100644 core/tests/Drupal/Tests/Core/Session/MetadataBagTest.php create mode 100644 core/tests/Drupal/Tests/Core/Session/SessionManagerTest.php create mode 100644 core/tests/Drupal/Tests/Core/Test/XdebugRequestTraitTest.php create mode 100644 core/tests/Drupal/Tests/Core/Theme/CoreThemesAutoloadedForTests.php create mode 100644 core/tests/Drupal/Tests/Core/Update/UpdateHookRegistryTest.php create mode 100644 core/tests/Drupal/Tests/Core/Utility/PhpRequirementsTest.php create mode 100644 core/tests/Drupal/Tests/DocumentElement.php create mode 100644 core/tests/Drupal/Tests/DrupalTestBrowser.php create mode 100644 core/tests/Drupal/Tests/ExtensionListTestTrait.php create mode 100644 core/tests/Drupal/Tests/PhpCs/SortTest.php create mode 100644 core/tests/Drupal/Tests/StreamCapturer.php create mode 100644 core/tests/fixtures/AssertHelperTestClass.php create mode 100644 core/tests/fixtures/database_drivers/module/corefake/src/Driver/Database/corefakeWithAllCustomClasses/ExceptionHandler.php create mode 100644 core/tests/fixtures/database_drivers/module/corefake/src/Driver/Database/corefakeWithAllCustomClasses/PagerSelectExtender.php create mode 100644 core/tests/fixtures/database_drivers/module/corefake/src/Driver/Database/corefakeWithAllCustomClasses/SearchQuery.php create mode 100644 core/tests/fixtures/database_drivers/module/corefake/src/Driver/Database/corefakeWithAllCustomClasses/TableSortExtender.php create mode 100644 core/tests/fixtures/database_drivers/module/corefake/src/Driver/Database/corefakeWithAllCustomClasses/ViewsSearchQuery.php create mode 100644 core/tests/fixtures/deprecated_code.php create mode 100644 core/tests/fixtures/files/img-test.webp create mode 100644 core/tests/fixtures/files/translations/drupal-8.0.0.fr____CA.po create mode 100644 core/tests/fixtures/files/translations/drupal-8.0.x.fr-CA.po create mode 100644 core/themes/bartik/css/components/tour.css create mode 100644 core/themes/bartik/favicon.ico rename core/{tests/Drupal/FunctionalTests/Theme => themes/bartik/tests/src/Functional}/BartikTest.php (91%) delete mode 100644 core/themes/claro/css/components/tour.theme.css delete mode 100644 core/themes/claro/css/components/tour.theme.pcss.css create mode 100644 core/themes/claro/css/theme/ckeditor.admin.css create mode 100644 core/themes/claro/css/theme/ckeditor.admin.pcss.css create mode 100644 core/themes/claro/css/theme/tour.theme.css create mode 100644 core/themes/claro/css/theme/tour.theme.pcss.css rename core/themes/claro/images/icons/{222330 => 000f33}/chevron-down.svg (82%) rename core/themes/claro/images/icons/{004adc => 000f33}/circle.svg (53%) rename core/themes/claro/images/icons/{222330 => 000f33}/sort--inactive--ltr.svg (83%) rename core/themes/claro/images/icons/{222330 => 000f33}/sort--inactive--rtl.svg (82%) rename core/themes/claro/images/icons/{222330 => 000f33}/tabledrag-handle.svg (91%) rename core/themes/claro/images/icons/{00309e => 002e9a}/checkmark.svg (56%) rename core/themes/claro/images/icons/{00309e => 002e9a}/cog.svg (92%) rename core/themes/claro/images/icons/{00309e => 002e9a}/ex.svg (53%) rename core/themes/claro/images/icons/{00309e => 002e9a}/hide.svg (85%) rename core/themes/claro/images/icons/{00309e => 002e9a}/key.svg (87%) rename core/themes/claro/images/icons/{00309e => 002e9a}/plus.svg (50%) rename core/themes/claro/images/icons/{00309e => 002e9a}/questionmark.svg (95%) rename core/themes/claro/images/icons/{00309e => 002e9a}/show.svg (73%) rename core/themes/claro/images/icons/{00309e => 002e9a}/trash.svg (83%) rename core/themes/claro/images/icons/{004adc => 003ecc}/arrow-left.svg (78%) rename core/themes/claro/images/icons/{004adc => 003ecc}/arrow-right.svg (79%) rename core/themes/claro/images/icons/{004adc => 003ecc}/chevron-down.svg (53%) rename core/themes/claro/images/icons/{222330 => 003ecc}/circle.svg (53%) rename core/themes/claro/images/icons/{004adc => 003ecc}/sort--asc.svg (68%) rename core/themes/claro/images/icons/{004adc => 003ecc}/sort--desc.svg (63%) create mode 100644 core/themes/claro/images/icons/003ecc/spinner-rtl.svg create mode 100644 core/themes/claro/images/icons/003ecc/spinner.svg delete mode 100644 core/themes/claro/images/icons/004adc/spinner-rtl.svg delete mode 100644 core/themes/claro/images/icons/004adc/spinner.svg delete mode 100644 core/themes/claro/images/icons/currentColor/arrow-breadcrumb-rtl.svg delete mode 100644 core/themes/claro/templates/admin/views-ui-views-listing-table.html.twig rename core/{tests/Drupal/FunctionalTests/Theme => themes/classy/tests/src/Functional}/ClassyTest.php (90%) rename core/{modules/system/tests/src/Kernel/Render => themes/classy/tests/src/Kernel}/ClassyTest.php (91%) create mode 100644 core/themes/olivero/README.md create mode 100644 core/themes/olivero/config/optional/block.block.olivero_account_menu.yml rename core/themes/olivero/config/optional/{block.block.book_navigation.yml => block.block.olivero_book_navigation.yml} (91%) rename core/{profiles/demo_umami/config/install/block.block.seven_breadcrumbs.yml => themes/olivero/config/optional/block.block.olivero_breadcrumbs.yml} (83%) rename core/{profiles/demo_umami/config/install/block.block.seven_content.yml => themes/olivero/config/optional/block.block.olivero_content.yml} (84%) create mode 100644 core/themes/olivero/config/optional/block.block.olivero_main_menu.yml rename core/{profiles/demo_umami/config/install/block.block.seven_messages.yml => themes/olivero/config/optional/block.block.olivero_messages.yml} (80%) rename core/{profiles/demo_umami/config/install/block.block.seven_page_title.yml => themes/olivero/config/optional/block.block.olivero_page_title.yml} (70%) create mode 100644 core/themes/olivero/config/optional/block.block.olivero_powered.yml rename core/themes/olivero/config/{install/block.block.primary_admin_actions.yml => optional/block.block.olivero_primary_admin_actions.yml} (89%) rename core/{profiles/demo_umami/config/install/block.block.seven_primary_local_tasks.yml => themes/olivero/config/optional/block.block.olivero_primary_local_tasks.yml} (72%) rename core/{profiles/demo_umami/config/install/block.block.seven_secondary_local_tasks.yml => themes/olivero/config/optional/block.block.olivero_secondary_local_tasks.yml} (71%) create mode 100644 core/themes/olivero/config/optional/block.block.olivero_site_branding.yml delete mode 100644 core/themes/olivero/css/components/field-image.css delete mode 100644 core/themes/olivero/css/components/field-image.pcss.css create mode 100644 core/themes/olivero/css/components/header-sticky-toggle.css create mode 100644 core/themes/olivero/css/components/header-sticky-toggle.pcss.css delete mode 100644 core/themes/olivero/css/components/header.css create mode 100644 core/themes/olivero/css/components/maintenance-page.css create mode 100644 core/themes/olivero/css/components/maintenance-page.pcss.css create mode 100644 core/themes/olivero/css/components/navigation/menu-sidebar.css rename core/themes/olivero/css/components/{sidebar.pcss.css => navigation/menu-sidebar.pcss.css} (88%) delete mode 100644 core/themes/olivero/css/components/navigation/nav-button-wide.css create mode 100644 core/themes/olivero/css/components/navigation/wide-nav-expand.css rename core/themes/olivero/css/components/navigation/{nav-button-wide.pcss.css => wide-nav-expand.pcss.css} (73%) delete mode 100644 core/themes/olivero/css/components/sidebar.css create mode 100644 core/themes/olivero/css/components/site-header.css rename core/themes/olivero/css/components/{header.pcss.css => site-header.pcss.css} (73%) create mode 100644 core/themes/olivero/css/components/ui-dialog.css create mode 100644 core/themes/olivero/css/components/ui-dialog.pcss.css create mode 100644 core/themes/olivero/css/components/wide-image.css create mode 100644 core/themes/olivero/css/components/wide-image.pcss.css create mode 100644 core/themes/olivero/css/layout/region-secondary-menu.css create mode 100644 core/themes/olivero/css/layout/region-secondary-menu.pcss.css delete mode 100644 core/themes/olivero/images/select-chevron-bg-default.svg delete mode 100644 core/themes/olivero/images/select-chevron-bg-error.svg delete mode 100644 core/themes/olivero/images/select-chevron-bg-highlight.svg create mode 100644 core/themes/olivero/images/site-under-maintenance-icon.svg create mode 100644 core/themes/olivero/js/message.theme.es6.js create mode 100644 core/themes/olivero/js/message.theme.js create mode 100644 core/themes/olivero/js/nav-resize.es6.js create mode 100644 core/themes/olivero/js/nav-resize.js create mode 100644 core/themes/olivero/js/navigation-utils.es6.js create mode 100644 core/themes/olivero/js/navigation-utils.js delete mode 100644 core/themes/olivero/js/polyfills.es6.js delete mode 100644 core/themes/olivero/js/scripts.es6.js delete mode 100644 core/themes/olivero/js/scripts.js delete mode 100644 core/themes/olivero/templates/content/node--article--full.html.twig create mode 100644 core/themes/olivero/templates/field/field--comment-body.html.twig create mode 100644 core/themes/olivero/templates/field/field--node--field-image.html.twig create mode 100644 core/themes/olivero/templates/field/field--text-long.html.twig create mode 100644 core/themes/olivero/templates/field/field--text-with-summary.html.twig create mode 100644 core/themes/olivero/templates/field/field--text.html.twig create mode 100644 core/themes/olivero/templates/navigation/links--comment.html.twig create mode 100644 core/themes/olivero/templates/navigation/menu--secondary-menu.html.twig delete mode 100644 core/themes/olivero/templates/navigation/toolbar.html.twig rename core/{modules/help_topics => themes/seven}/config/optional/block.block.seven_help_search.yml (93%) create mode 100644 core/themes/seven/css/theme/ckeditor-admin.css rename core/{tests/Drupal/FunctionalTests/Theme => themes/seven/tests/src/Functional}/SevenLayoutBuilderTest.php (97%) create mode 100644 core/themes/stable/css/core/dialog/off-canvas.base.pcss.css create mode 100644 core/themes/stable/css/core/dialog/off-canvas.reset.pcss.css create mode 100644 core/themes/stable/css/quickedit/editors/formattedText.ckeditor.css create mode 100644 core/themes/stable/css/quickedit/editors/formattedText.ckeditor5.css create mode 100644 core/themes/stable/css/quickedit/editors/formattedText/ckeditor5.workaround.css rename core/{modules/image/css => themes/stable/css/quickedit}/editors/image.css (93%) rename core/themes/stable/css/{image => quickedit}/editors/image.theme.css (97%) create mode 100644 core/themes/stable/js/tour.es6.js create mode 100644 core/themes/stable/js/tour.js delete mode 100644 core/themes/stable/templates/admin/simpletest-result-summary.html.twig create mode 100644 core/themes/stable/templates/admin/system-security-advisories-fetch-error-message.html.twig create mode 100644 core/themes/stable/templates/field/entity-page-title.html.twig create mode 100644 core/themes/stable9/css/core/dialog/off-canvas.base.pcss.css create mode 100644 core/themes/stable9/css/core/dialog/off-canvas.reset.pcss.css create mode 100644 core/themes/stable9/css/quickedit/editors/formattedText.ckeditor.css create mode 100644 core/themes/stable9/css/quickedit/editors/formattedText.ckeditor5.css create mode 100644 core/themes/stable9/css/quickedit/editors/formattedText/ckeditor5.workaround.css rename core/themes/stable9/css/{image => quickedit}/editors/image.css (93%) rename core/themes/stable9/css/{image => quickedit}/editors/image.theme.css (90%) create mode 100644 core/themes/stable9/js/tour.es6.js create mode 100644 core/themes/stable9/js/tour.js create mode 100644 core/themes/stable9/templates/admin/system-security-advisories-fetch-error-message.html.twig create mode 100644 core/themes/stable9/templates/field/entity-page-title.html.twig create mode 100644 core/themes/starterkit_theme/README.md create mode 100644 core/themes/starterkit_theme/css/components/action-links.css create mode 100644 core/themes/starterkit_theme/css/components/breadcrumb.css create mode 100644 core/themes/starterkit_theme/css/components/button.css create mode 100644 core/themes/starterkit_theme/css/components/collapse-processed.css create mode 100644 core/themes/starterkit_theme/css/components/container-inline.css create mode 100644 core/themes/starterkit_theme/css/components/details.css create mode 100644 core/themes/starterkit_theme/css/components/dialog.css create mode 100644 core/themes/starterkit_theme/css/components/dropbutton.css create mode 100644 core/themes/starterkit_theme/css/components/exposed-filters.css create mode 100644 core/themes/starterkit_theme/css/components/field.css create mode 100644 core/themes/starterkit_theme/css/components/file.css create mode 100644 core/themes/starterkit_theme/css/components/form.css create mode 100644 core/themes/starterkit_theme/css/components/icons.css create mode 100644 core/themes/starterkit_theme/css/components/image-widget.css create mode 100644 core/themes/starterkit_theme/css/components/indented.css create mode 100644 core/themes/starterkit_theme/css/components/inline-form.css create mode 100644 core/themes/starterkit_theme/css/components/item-list.css create mode 100644 core/themes/starterkit_theme/css/components/link.css create mode 100644 core/themes/starterkit_theme/css/components/links.css create mode 100644 core/themes/starterkit_theme/css/components/menu.css create mode 100644 core/themes/starterkit_theme/css/components/messages.css create mode 100644 core/themes/starterkit_theme/css/components/more-link.css create mode 100644 core/themes/starterkit_theme/css/components/node.css create mode 100644 core/themes/starterkit_theme/css/components/pager.css create mode 100644 core/themes/starterkit_theme/css/components/progress.css create mode 100644 core/themes/starterkit_theme/css/components/search-results.css create mode 100644 core/themes/starterkit_theme/css/components/tabledrag.css create mode 100644 core/themes/starterkit_theme/css/components/tableselect.css create mode 100644 core/themes/starterkit_theme/css/components/tablesort.css create mode 100644 core/themes/starterkit_theme/css/components/tabs.css create mode 100644 core/themes/starterkit_theme/css/components/textarea.css create mode 100644 core/themes/starterkit_theme/css/components/ui-dialog.css create mode 100644 core/themes/starterkit_theme/css/components/user.css create mode 100644 core/themes/starterkit_theme/images/icons/application-octet-stream.png create mode 100644 core/themes/starterkit_theme/images/icons/application-pdf.png create mode 100644 core/themes/starterkit_theme/images/icons/application-x-executable.png create mode 100644 core/themes/starterkit_theme/images/icons/audio-x-generic.png create mode 100644 core/themes/starterkit_theme/images/icons/check.svg create mode 100644 core/themes/starterkit_theme/images/icons/error.svg create mode 100644 core/themes/starterkit_theme/images/icons/feed.svg create mode 100644 core/themes/starterkit_theme/images/icons/help.png create mode 100644 core/themes/starterkit_theme/images/icons/image-x-generic.png create mode 100644 core/themes/starterkit_theme/images/icons/loading-small.gif create mode 100644 core/themes/starterkit_theme/images/icons/menu-collapsed-rtl.png create mode 100644 core/themes/starterkit_theme/images/icons/menu-collapsed.png create mode 100644 core/themes/starterkit_theme/images/icons/menu-expanded.png create mode 100644 core/themes/starterkit_theme/images/icons/package-x-generic.png create mode 100644 core/themes/starterkit_theme/images/icons/required.svg create mode 100644 core/themes/starterkit_theme/images/icons/text-html.png create mode 100644 core/themes/starterkit_theme/images/icons/text-plain.png create mode 100644 core/themes/starterkit_theme/images/icons/text-x-generic.png create mode 100644 core/themes/starterkit_theme/images/icons/text-x-script.png create mode 100644 core/themes/starterkit_theme/images/icons/video-x-generic.png create mode 100644 core/themes/starterkit_theme/images/icons/warning.svg create mode 100644 core/themes/starterkit_theme/images/icons/x-office-document.png create mode 100644 core/themes/starterkit_theme/images/icons/x-office-presentation.png create mode 100644 core/themes/starterkit_theme/images/icons/x-office-spreadsheet.png create mode 100644 core/themes/starterkit_theme/logo.svg create mode 100644 core/themes/starterkit_theme/screenshot.png create mode 100644 core/themes/starterkit_theme/src/StarterKit.php create mode 100644 core/themes/starterkit_theme/starterkit_theme.info.yml create mode 100644 core/themes/starterkit_theme/starterkit_theme.libraries.yml create mode 100644 core/themes/starterkit_theme/starterkit_theme.theme create mode 100644 core/themes/starterkit_theme/templates/block/block--local-actions-block.html.twig create mode 100644 core/themes/starterkit_theme/templates/block/block--local-tasks-block.html.twig create mode 100644 core/themes/starterkit_theme/templates/block/block--search-form-block.html.twig create mode 100644 core/themes/starterkit_theme/templates/block/block--system-branding-block.html.twig create mode 100644 core/themes/starterkit_theme/templates/block/block--system-menu-block.html.twig create mode 100644 core/themes/starterkit_theme/templates/block/block.html.twig create mode 100644 core/themes/starterkit_theme/templates/content-edit/file-managed-file.html.twig create mode 100644 core/themes/starterkit_theme/templates/content-edit/file-upload-help.html.twig create mode 100644 core/themes/starterkit_theme/templates/content-edit/file-widget-multiple.html.twig create mode 100644 core/themes/starterkit_theme/templates/content-edit/filter-caption.html.twig create mode 100644 core/themes/starterkit_theme/templates/content-edit/filter-guidelines.html.twig create mode 100644 core/themes/starterkit_theme/templates/content-edit/filter-tips.html.twig create mode 100644 core/themes/starterkit_theme/templates/content-edit/image-widget.html.twig create mode 100644 core/themes/starterkit_theme/templates/content-edit/node-add-list.html.twig create mode 100644 core/themes/starterkit_theme/templates/content-edit/node-edit-form.html.twig create mode 100644 core/themes/starterkit_theme/templates/content-edit/text-format-wrapper.html.twig create mode 100644 core/themes/starterkit_theme/templates/content/comment.html.twig create mode 100644 core/themes/starterkit_theme/templates/content/links--node.html.twig create mode 100644 core/themes/starterkit_theme/templates/content/mark.html.twig create mode 100644 core/themes/starterkit_theme/templates/content/media.html.twig create mode 100644 core/themes/starterkit_theme/templates/content/node.html.twig create mode 100644 core/themes/starterkit_theme/templates/content/page-title.html.twig create mode 100644 core/themes/starterkit_theme/templates/content/search-result.html.twig create mode 100644 core/themes/starterkit_theme/templates/content/taxonomy-term.html.twig create mode 100644 core/themes/starterkit_theme/templates/dataset/item-list--search-results.html.twig create mode 100644 core/themes/starterkit_theme/templates/dataset/item-list.html.twig create mode 100644 core/themes/starterkit_theme/templates/dataset/table.html.twig create mode 100644 core/themes/starterkit_theme/templates/field/field--comment.html.twig create mode 100644 core/themes/starterkit_theme/templates/field/field--node--created.html.twig create mode 100644 core/themes/starterkit_theme/templates/field/field--node--title.html.twig create mode 100644 core/themes/starterkit_theme/templates/field/field--node--uid.html.twig create mode 100644 core/themes/starterkit_theme/templates/field/field--text-long.html.twig create mode 100644 core/themes/starterkit_theme/templates/field/field--text-with-summary.html.twig create mode 100644 core/themes/starterkit_theme/templates/field/field--text.html.twig create mode 100644 core/themes/starterkit_theme/templates/field/field.html.twig create mode 100644 core/themes/starterkit_theme/templates/field/file-audio.html.twig create mode 100644 core/themes/starterkit_theme/templates/field/file-link.html.twig create mode 100644 core/themes/starterkit_theme/templates/field/file-video.html.twig create mode 100644 core/themes/starterkit_theme/templates/field/image-formatter.html.twig create mode 100644 core/themes/starterkit_theme/templates/field/image-style.html.twig create mode 100644 core/themes/starterkit_theme/templates/field/image.html.twig create mode 100644 core/themes/starterkit_theme/templates/field/link-formatter-link-separate.html.twig create mode 100644 core/themes/starterkit_theme/templates/field/time.html.twig create mode 100644 core/themes/starterkit_theme/templates/form/checkboxes.html.twig create mode 100644 core/themes/starterkit_theme/templates/form/confirm-form.html.twig create mode 100644 core/themes/starterkit_theme/templates/form/container.html.twig create mode 100644 core/themes/starterkit_theme/templates/form/datetime-form.html.twig create mode 100644 core/themes/starterkit_theme/templates/form/datetime-wrapper.html.twig create mode 100644 core/themes/starterkit_theme/templates/form/details.html.twig create mode 100644 core/themes/starterkit_theme/templates/form/dropbutton-wrapper.html.twig create mode 100644 core/themes/starterkit_theme/templates/form/field-multiple-value-form.html.twig create mode 100644 core/themes/starterkit_theme/templates/form/fieldset.html.twig create mode 100644 core/themes/starterkit_theme/templates/form/form-element-label.html.twig create mode 100644 core/themes/starterkit_theme/templates/form/form-element.html.twig create mode 100644 core/themes/starterkit_theme/templates/form/form.html.twig create mode 100644 core/themes/starterkit_theme/templates/form/input.html.twig create mode 100644 core/themes/starterkit_theme/templates/form/radios.html.twig create mode 100644 core/themes/starterkit_theme/templates/form/select.html.twig create mode 100644 core/themes/starterkit_theme/templates/form/textarea.html.twig create mode 100644 core/themes/starterkit_theme/templates/layout/html.html.twig create mode 100644 core/themes/starterkit_theme/templates/layout/maintenance-page.html.twig create mode 100644 core/themes/starterkit_theme/templates/layout/page.html.twig create mode 100644 core/themes/starterkit_theme/templates/layout/region.html.twig create mode 100644 core/themes/starterkit_theme/templates/misc/progress-bar.html.twig create mode 100644 core/themes/starterkit_theme/templates/misc/status-messages.html.twig create mode 100644 core/themes/starterkit_theme/templates/navigation/breadcrumb.html.twig create mode 100644 core/themes/starterkit_theme/templates/navigation/links.html.twig create mode 100644 core/themes/starterkit_theme/templates/navigation/menu-local-action.html.twig create mode 100644 core/themes/starterkit_theme/templates/navigation/menu-local-task.html.twig create mode 100644 core/themes/starterkit_theme/templates/navigation/menu-local-tasks.html.twig create mode 100644 core/themes/starterkit_theme/templates/navigation/menu.html.twig create mode 100644 core/themes/starterkit_theme/templates/navigation/pager.html.twig create mode 100644 core/themes/starterkit_theme/templates/navigation/vertical-tabs.html.twig create mode 100644 core/themes/starterkit_theme/templates/user/user.html.twig create mode 100644 core/themes/starterkit_theme/templates/user/username.html.twig create mode 100644 core/themes/starterkit_theme/templates/views/views-exposed-form.html.twig create mode 100644 core/themes/starterkit_theme/templates/views/views-mini-pager.html.twig create mode 100644 core/themes/starterkit_theme/templates/views/views-view-grid.html.twig create mode 100644 core/themes/starterkit_theme/templates/views/views-view-grouping.html.twig create mode 100644 core/themes/starterkit_theme/templates/views/views-view-list.html.twig create mode 100644 core/themes/starterkit_theme/templates/views/views-view-summary-unformatted.html.twig create mode 100644 core/themes/starterkit_theme/templates/views/views-view-summary.html.twig create mode 100644 core/themes/starterkit_theme/templates/views/views-view-table.html.twig create mode 100644 core/themes/starterkit_theme/templates/views/views-view-unformatted.html.twig create mode 100644 core/themes/starterkit_theme/templates/views/views-view.html.twig create mode 100644 vendor/composer/InstalledVersions.php create mode 100644 vendor/composer/installed.php create mode 100644 vendor/composer/installers/.github/workflows/continuous-integration.yml create mode 100644 vendor/composer/installers/.github/workflows/lint.yml create mode 100644 vendor/composer/installers/.github/workflows/phpstan.yml create mode 100644 vendor/composer/installers/phpstan.neon.dist create mode 100644 vendor/composer/installers/src/Composer/Installers/MiaoxingInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/PantheonInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/ProcessWireInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/StarbugInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/TastyIgniterInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/WinterInstaller.php create mode 100644 vendor/composer/platform_check.php delete mode 100644 vendor/doctrine/annotations/.doctrine-project.json delete mode 100644 vendor/doctrine/annotations/.github/workflows/coding-standards.yml delete mode 100644 vendor/doctrine/annotations/.github/workflows/continuous-integration.yml delete mode 100644 vendor/doctrine/annotations/.github/workflows/release-on-milestone-closed.yml delete mode 100644 vendor/doctrine/annotations/.github/workflows/static-analysis.yml delete mode 100644 vendor/doctrine/annotations/CHANGELOG.md create mode 100644 vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/Annotation/NamedArgumentConstructor.php create mode 100644 vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/PsrCachedReader.php delete mode 100644 vendor/doctrine/annotations/phpbench.json.dist delete mode 100644 vendor/doctrine/annotations/phpcs.xml.dist delete mode 100644 vendor/doctrine/annotations/phpstan.neon create mode 100644 vendor/doctrine/annotations/psalm.xml rename vendor/{guzzlehttp/promises => doctrine/lexer}/psalm.xml (84%) create mode 100644 vendor/doctrine/reflection/.github/workflows/continuous-integration.yml create mode 100644 vendor/doctrine/reflection/.github/workflows/static-analysis.yml create mode 100644 vendor/egulias/email-validator/CHANGELOG.md create mode 100644 vendor/egulias/email-validator/CONTRIBUTING.md delete mode 100644 vendor/egulias/email-validator/src/Exception/AtextAfterCFWS.php delete mode 100644 vendor/egulias/email-validator/src/Exception/CRLFAtTheEnd.php delete mode 100644 vendor/egulias/email-validator/src/Exception/CRLFX2.php delete mode 100644 vendor/egulias/email-validator/src/Exception/CRNoLF.php delete mode 100644 vendor/egulias/email-validator/src/Exception/CharNotAllowed.php delete mode 100644 vendor/egulias/email-validator/src/Exception/CommaInDomain.php delete mode 100644 vendor/egulias/email-validator/src/Exception/ConsecutiveAt.php delete mode 100644 vendor/egulias/email-validator/src/Exception/ConsecutiveDot.php delete mode 100644 vendor/egulias/email-validator/src/Exception/DomainAcceptsNoMail.php delete mode 100644 vendor/egulias/email-validator/src/Exception/DomainHyphened.php delete mode 100644 vendor/egulias/email-validator/src/Exception/DotAtEnd.php delete mode 100644 vendor/egulias/email-validator/src/Exception/DotAtStart.php delete mode 100644 vendor/egulias/email-validator/src/Exception/ExpectingAT.php delete mode 100644 vendor/egulias/email-validator/src/Exception/ExpectingATEXT.php delete mode 100644 vendor/egulias/email-validator/src/Exception/ExpectingCTEXT.php delete mode 100644 vendor/egulias/email-validator/src/Exception/ExpectingDTEXT.php delete mode 100644 vendor/egulias/email-validator/src/Exception/ExpectingDomainLiteralClose.php delete mode 100644 vendor/egulias/email-validator/src/Exception/ExpectingQPair.php delete mode 100644 vendor/egulias/email-validator/src/Exception/InvalidEmail.php delete mode 100644 vendor/egulias/email-validator/src/Exception/LocalOrReservedDomain.php delete mode 100644 vendor/egulias/email-validator/src/Exception/NoDNSRecord.php delete mode 100644 vendor/egulias/email-validator/src/Exception/NoDomainPart.php delete mode 100644 vendor/egulias/email-validator/src/Exception/NoLocalPart.php delete mode 100644 vendor/egulias/email-validator/src/Exception/UnclosedComment.php delete mode 100644 vendor/egulias/email-validator/src/Exception/UnclosedQuotedString.php delete mode 100644 vendor/egulias/email-validator/src/Exception/UnopenedComment.php create mode 100644 vendor/egulias/email-validator/src/MessageIDParser.php create mode 100644 vendor/egulias/email-validator/src/Parser.php create mode 100644 vendor/egulias/email-validator/src/Parser/Comment.php create mode 100644 vendor/egulias/email-validator/src/Parser/CommentStrategy/CommentStrategy.php create mode 100644 vendor/egulias/email-validator/src/Parser/CommentStrategy/DomainComment.php create mode 100644 vendor/egulias/email-validator/src/Parser/CommentStrategy/LocalComment.php create mode 100644 vendor/egulias/email-validator/src/Parser/DomainLiteral.php create mode 100644 vendor/egulias/email-validator/src/Parser/DoubleQuote.php create mode 100644 vendor/egulias/email-validator/src/Parser/FoldingWhiteSpace.php create mode 100644 vendor/egulias/email-validator/src/Parser/IDLeftPart.php create mode 100644 vendor/egulias/email-validator/src/Parser/IDRightPart.php delete mode 100644 vendor/egulias/email-validator/src/Parser/Parser.php create mode 100644 vendor/egulias/email-validator/src/Parser/PartParser.php create mode 100644 vendor/egulias/email-validator/src/Result/InvalidEmail.php create mode 100644 vendor/egulias/email-validator/src/Result/MultipleErrors.php create mode 100644 vendor/egulias/email-validator/src/Result/Reason/AtextAfterCFWS.php create mode 100644 vendor/egulias/email-validator/src/Result/Reason/CRLFAtTheEnd.php create mode 100644 vendor/egulias/email-validator/src/Result/Reason/CRLFX2.php create mode 100644 vendor/egulias/email-validator/src/Result/Reason/CRNoLF.php create mode 100644 vendor/egulias/email-validator/src/Result/Reason/CharNotAllowed.php create mode 100644 vendor/egulias/email-validator/src/Result/Reason/CommaInDomain.php create mode 100644 vendor/egulias/email-validator/src/Result/Reason/CommentsInIDRight.php create mode 100644 vendor/egulias/email-validator/src/Result/Reason/ConsecutiveAt.php create mode 100644 vendor/egulias/email-validator/src/Result/Reason/ConsecutiveDot.php create mode 100644 vendor/egulias/email-validator/src/Result/Reason/DetailedReason.php create mode 100644 vendor/egulias/email-validator/src/Result/Reason/DomainAcceptsNoMail.php create mode 100644 vendor/egulias/email-validator/src/Result/Reason/DomainHyphened.php create mode 100644 vendor/egulias/email-validator/src/Result/Reason/DomainTooLong.php create mode 100644 vendor/egulias/email-validator/src/Result/Reason/DotAtEnd.php create mode 100644 vendor/egulias/email-validator/src/Result/Reason/DotAtStart.php create mode 100644 vendor/egulias/email-validator/src/Result/Reason/EmptyReason.php create mode 100644 vendor/egulias/email-validator/src/Result/Reason/ExceptionFound.php create mode 100644 vendor/egulias/email-validator/src/Result/Reason/ExpectingATEXT.php create mode 100644 vendor/egulias/email-validator/src/Result/Reason/ExpectingCTEXT.php create mode 100644 vendor/egulias/email-validator/src/Result/Reason/ExpectingDTEXT.php create mode 100644 vendor/egulias/email-validator/src/Result/Reason/ExpectingDomainLiteralClose.php create mode 100644 vendor/egulias/email-validator/src/Result/Reason/LabelTooLong.php create mode 100644 vendor/egulias/email-validator/src/Result/Reason/LocalOrReservedDomain.php create mode 100644 vendor/egulias/email-validator/src/Result/Reason/NoDNSRecord.php create mode 100644 vendor/egulias/email-validator/src/Result/Reason/NoDomainPart.php create mode 100644 vendor/egulias/email-validator/src/Result/Reason/NoLocalPart.php create mode 100644 vendor/egulias/email-validator/src/Result/Reason/RFCWarnings.php create mode 100644 vendor/egulias/email-validator/src/Result/Reason/Reason.php create mode 100644 vendor/egulias/email-validator/src/Result/Reason/SpoofEmail.php create mode 100644 vendor/egulias/email-validator/src/Result/Reason/UnOpenedComment.php create mode 100644 vendor/egulias/email-validator/src/Result/Reason/UnableToGetDNSRecord.php create mode 100644 vendor/egulias/email-validator/src/Result/Reason/UnclosedComment.php create mode 100644 vendor/egulias/email-validator/src/Result/Reason/UnclosedQuotedString.php create mode 100644 vendor/egulias/email-validator/src/Result/Reason/UnusualElements.php create mode 100644 vendor/egulias/email-validator/src/Result/Result.php create mode 100644 vendor/egulias/email-validator/src/Result/SpoofEmail.php create mode 100644 vendor/egulias/email-validator/src/Result/ValidEmail.php create mode 100644 vendor/egulias/email-validator/src/Validation/DNSGetRecordWrapper.php create mode 100644 vendor/egulias/email-validator/src/Validation/DNSRecords.php delete mode 100644 vendor/egulias/email-validator/src/Validation/Error/RFCWarnings.php delete mode 100644 vendor/egulias/email-validator/src/Validation/Error/SpoofEmail.php rename vendor/egulias/email-validator/src/Validation/{ => Extra}/SpoofCheckValidation.php (66%) create mode 100644 vendor/egulias/email-validator/src/Validation/MessageIDValidation.php delete mode 100644 vendor/egulias/email-validator/src/Validation/MultipleErrors.php delete mode 100644 vendor/egulias/email-validator/src/Warning/DomainTooLong.php delete mode 100644 vendor/egulias/email-validator/src/Warning/LabelTooLong.php delete mode 100644 vendor/guzzlehttp/promises/Makefile delete mode 100644 vendor/guzzlehttp/promises/phpstan-baseline.neon delete mode 100644 vendor/guzzlehttp/promises/phpstan.neon.dist create mode 100644 vendor/guzzlehttp/psr7/.github/FUNDING.yml create mode 100644 vendor/guzzlehttp/psr7/.github/stale.yml create mode 100644 vendor/guzzlehttp/psr7/.github/workflows/ci.yml create mode 100644 vendor/guzzlehttp/psr7/.github/workflows/integration.yml create mode 100644 vendor/guzzlehttp/psr7/.github/workflows/static.yml rename vendor/guzzlehttp/{promises => psr7}/.php_cs.dist (50%) create mode 100644 vendor/guzzlehttp/psr7/src/UriComparator.php delete mode 100644 vendor/laminas/laminas-diactoros/CHANGELOG.md delete mode 100644 vendor/laminas/laminas-diactoros/README.md delete mode 100644 vendor/laminas/laminas-diactoros/src/Exception/ExceptionInterface.php delete mode 100644 vendor/laminas/laminas-diactoros/src/Exception/InvalidArgumentException.php delete mode 100644 vendor/laminas/laminas-diactoros/src/Exception/RuntimeException.php delete mode 100644 vendor/laminas/laminas-diactoros/src/Exception/SerializationException.php delete mode 100644 vendor/laminas/laminas-diactoros/src/Exception/UnreadableStreamException.php delete mode 100644 vendor/laminas/laminas-diactoros/src/Exception/UnrecognizedProtocolVersionException.php delete mode 100644 vendor/laminas/laminas-diactoros/src/Exception/UnrewindableStreamException.php delete mode 100644 vendor/laminas/laminas-diactoros/src/Exception/UnseekableStreamException.php delete mode 100644 vendor/laminas/laminas-diactoros/src/Exception/UntellableStreamException.php delete mode 100644 vendor/laminas/laminas-diactoros/src/Exception/UnwritableStreamException.php delete mode 100644 vendor/laminas/laminas-diactoros/src/Module.php delete mode 100644 vendor/laminas/laminas-diactoros/src/RequestFactory.php delete mode 100644 vendor/laminas/laminas-diactoros/src/ServerRequestFactory.php delete mode 100644 vendor/laminas/laminas-diactoros/src/UriFactory.php delete mode 100644 vendor/laminas/laminas-diactoros/src/functions/create_uploaded_file.legacy.php delete mode 100644 vendor/laminas/laminas-diactoros/src/functions/marshal_headers_from_sapi.legacy.php delete mode 100644 vendor/laminas/laminas-diactoros/src/functions/marshal_method_from_sapi.legacy.php delete mode 100644 vendor/laminas/laminas-diactoros/src/functions/marshal_method_from_sapi.php delete mode 100644 vendor/laminas/laminas-diactoros/src/functions/marshal_protocol_version_from_sapi.legacy.php delete mode 100644 vendor/laminas/laminas-diactoros/src/functions/marshal_uri_from_sapi.legacy.php delete mode 100644 vendor/laminas/laminas-diactoros/src/functions/normalize_server.legacy.php delete mode 100644 vendor/laminas/laminas-diactoros/src/functions/normalize_uploaded_files.legacy.php delete mode 100644 vendor/laminas/laminas-diactoros/src/functions/parse_cookie_header.legacy.php create mode 100644 vendor/laminas/laminas-escaper/.laminas-ci.json delete mode 100644 vendor/laminas/laminas-escaper/CHANGELOG.md create mode 100644 vendor/laminas/laminas-escaper/composer.lock create mode 100644 vendor/laminas/laminas-escaper/phpcs.xml.dist create mode 100644 vendor/laminas/laminas-feed/.laminas-ci.json delete mode 100644 vendor/laminas/laminas-feed/CHANGELOG.md create mode 100644 vendor/laminas/laminas-feed/composer.lock create mode 100644 vendor/laminas/laminas-feed/phpcs.xml.dist create mode 100644 vendor/laminas/laminas-feed/src/Reader/Extension/PodcastIndex/Entry.php create mode 100644 vendor/laminas/laminas-feed/src/Reader/Extension/PodcastIndex/Feed.php create mode 100644 vendor/laminas/laminas-feed/src/Writer/Extension/PodcastIndex/Entry.php create mode 100644 vendor/laminas/laminas-feed/src/Writer/Extension/PodcastIndex/Feed.php create mode 100644 vendor/laminas/laminas-feed/src/Writer/Extension/PodcastIndex/Renderer/Entry.php create mode 100644 vendor/laminas/laminas-feed/src/Writer/Extension/PodcastIndex/Renderer/Feed.php delete mode 100644 vendor/laminas/laminas-stdlib/CHANGELOG.md create mode 100644 vendor/laminas/laminas-stdlib/composer.lock delete mode 100644 vendor/laminas/laminas-zendframework-bridge/.github/FUNDING.yml delete mode 100644 vendor/laminas/laminas-zendframework-bridge/.github/workflows/release-on-milestone-closed.yml delete mode 100644 vendor/laminas/laminas-zendframework-bridge/CHANGELOG.md delete mode 100644 vendor/laminas/laminas-zendframework-bridge/COPYRIGHT.md delete mode 100644 vendor/laminas/laminas-zendframework-bridge/LICENSE.md delete mode 100644 vendor/laminas/laminas-zendframework-bridge/README.md delete mode 100644 vendor/laminas/laminas-zendframework-bridge/composer.json delete mode 100644 vendor/laminas/laminas-zendframework-bridge/config/replacements.php delete mode 100644 vendor/laminas/laminas-zendframework-bridge/src/Autoloader.php delete mode 100644 vendor/laminas/laminas-zendframework-bridge/src/ConfigPostProcessor.php delete mode 100644 vendor/laminas/laminas-zendframework-bridge/src/Module.php delete mode 100644 vendor/laminas/laminas-zendframework-bridge/src/Replacements.php delete mode 100644 vendor/laminas/laminas-zendframework-bridge/src/RewriteRules.php delete mode 100644 vendor/laminas/laminas-zendframework-bridge/src/autoload.php rename vendor/{laminas => longwave}/laminas-diactoros/COPYRIGHT.md (100%) rename vendor/{laminas => longwave}/laminas-diactoros/LICENSE.md (100%) create mode 100644 vendor/longwave/laminas-diactoros/README.md rename vendor/{laminas => longwave}/laminas-diactoros/composer.json (78%) create mode 100644 vendor/longwave/laminas-diactoros/composer.lock create mode 100644 vendor/longwave/laminas-diactoros/psalm-baseline.xml create mode 100644 vendor/longwave/laminas-diactoros/psalm.xml.dist rename vendor/{laminas => longwave}/laminas-diactoros/src/AbstractSerializer.php (81%) rename vendor/{laminas => longwave}/laminas-diactoros/src/CallbackStream.php (70%) rename vendor/{laminas => longwave}/laminas-diactoros/src/ConfigProvider.php (58%) rename vendor/{laminas => longwave}/laminas-diactoros/src/Exception/DeserializationException.php (59%) create mode 100644 vendor/longwave/laminas-diactoros/src/Exception/ExceptionInterface.php create mode 100644 vendor/longwave/laminas-diactoros/src/Exception/InvalidArgumentException.php create mode 100644 vendor/longwave/laminas-diactoros/src/Exception/InvalidForwardedHeaderNameException.php create mode 100644 vendor/longwave/laminas-diactoros/src/Exception/InvalidProxyAddressException.php rename vendor/{laminas => longwave}/laminas-diactoros/src/Exception/InvalidStreamPointerPositionException.php (52%) create mode 100644 vendor/longwave/laminas-diactoros/src/Exception/RuntimeException.php create mode 100644 vendor/longwave/laminas-diactoros/src/Exception/SerializationException.php create mode 100644 vendor/longwave/laminas-diactoros/src/Exception/UnreadableStreamException.php create mode 100644 vendor/longwave/laminas-diactoros/src/Exception/UnrecognizedProtocolVersionException.php create mode 100644 vendor/longwave/laminas-diactoros/src/Exception/UnrewindableStreamException.php create mode 100644 vendor/longwave/laminas-diactoros/src/Exception/UnseekableStreamException.php create mode 100644 vendor/longwave/laminas-diactoros/src/Exception/UntellableStreamException.php create mode 100644 vendor/longwave/laminas-diactoros/src/Exception/UnwritableStreamException.php rename vendor/{laminas => longwave}/laminas-diactoros/src/Exception/UploadedFileAlreadyMovedException.php (53%) rename vendor/{laminas => longwave}/laminas-diactoros/src/Exception/UploadedFileErrorException.php (59%) rename vendor/{laminas => longwave}/laminas-diactoros/src/HeaderSecurity.php (77%) rename vendor/{laminas => longwave}/laminas-diactoros/src/MessageTrait.php (78%) create mode 100644 vendor/longwave/laminas-diactoros/src/Module.php rename vendor/{laminas => longwave}/laminas-diactoros/src/PhpInputStream.php (70%) rename vendor/{laminas => longwave}/laminas-diactoros/src/RelativeStream.php (69%) rename vendor/{laminas => longwave}/laminas-diactoros/src/Request.php (65%) rename vendor/{laminas => longwave}/laminas-diactoros/src/Request/ArraySerializer.php (74%) rename vendor/{laminas => longwave}/laminas-diactoros/src/Request/Serializer.php (74%) create mode 100644 vendor/longwave/laminas-diactoros/src/RequestFactory.php rename vendor/{laminas => longwave}/laminas-diactoros/src/RequestTrait.php (88%) rename vendor/{laminas => longwave}/laminas-diactoros/src/Response.php (83%) rename vendor/{laminas => longwave}/laminas-diactoros/src/Response/ArraySerializer.php (79%) rename vendor/{laminas => longwave}/laminas-diactoros/src/Response/EmptyResponse.php (67%) rename vendor/{laminas => longwave}/laminas-diactoros/src/Response/HtmlResponse.php (76%) rename vendor/{laminas => longwave}/laminas-diactoros/src/Response/InjectContentTypeTrait.php (63%) rename vendor/{laminas => longwave}/laminas-diactoros/src/Response/JsonResponse.php (75%) rename vendor/{laminas => longwave}/laminas-diactoros/src/Response/RedirectResponse.php (77%) rename vendor/{laminas => longwave}/laminas-diactoros/src/Response/Serializer.php (68%) rename vendor/{laminas => longwave}/laminas-diactoros/src/Response/TextResponse.php (76%) rename vendor/{laminas => longwave}/laminas-diactoros/src/Response/XmlResponse.php (76%) rename vendor/{laminas => longwave}/laminas-diactoros/src/ResponseFactory.php (55%) rename vendor/{laminas => longwave}/laminas-diactoros/src/ServerRequest.php (77%) create mode 100644 vendor/longwave/laminas-diactoros/src/ServerRequestFactory.php create mode 100644 vendor/longwave/laminas-diactoros/src/ServerRequestFilter/DoNotFilter.php create mode 100644 vendor/longwave/laminas-diactoros/src/ServerRequestFilter/FilterServerRequestInterface.php create mode 100644 vendor/longwave/laminas-diactoros/src/ServerRequestFilter/FilterUsingXForwardedHeaders.php create mode 100644 vendor/longwave/laminas-diactoros/src/ServerRequestFilter/IPRange.php rename vendor/{laminas => longwave}/laminas-diactoros/src/Stream.php (76%) rename vendor/{laminas => longwave}/laminas-diactoros/src/StreamFactory.php (59%) rename vendor/{laminas => longwave}/laminas-diactoros/src/UploadedFile.php (77%) rename vendor/{laminas => longwave}/laminas-diactoros/src/UploadedFileFactory.php (59%) rename vendor/{laminas => longwave}/laminas-diactoros/src/Uri.php (82%) create mode 100644 vendor/longwave/laminas-diactoros/src/UriFactory.php create mode 100644 vendor/longwave/laminas-diactoros/src/functions/create_uploaded_file.legacy.php rename vendor/{laminas => longwave}/laminas-diactoros/src/functions/create_uploaded_file.php (63%) create mode 100644 vendor/longwave/laminas-diactoros/src/functions/marshal_headers_from_sapi.legacy.php rename vendor/{laminas => longwave}/laminas-diactoros/src/functions/marshal_headers_from_sapi.php (61%) create mode 100644 vendor/longwave/laminas-diactoros/src/functions/marshal_method_from_sapi.legacy.php create mode 100644 vendor/longwave/laminas-diactoros/src/functions/marshal_method_from_sapi.php create mode 100644 vendor/longwave/laminas-diactoros/src/functions/marshal_protocol_version_from_sapi.legacy.php rename vendor/{laminas => longwave}/laminas-diactoros/src/functions/marshal_protocol_version_from_sapi.php (58%) create mode 100644 vendor/longwave/laminas-diactoros/src/functions/marshal_uri_from_sapi.legacy.php rename vendor/{laminas => longwave}/laminas-diactoros/src/functions/marshal_uri_from_sapi.php (89%) create mode 100644 vendor/longwave/laminas-diactoros/src/functions/normalize_server.legacy.php rename vendor/{laminas => longwave}/laminas-diactoros/src/functions/normalize_server.php (76%) create mode 100644 vendor/longwave/laminas-diactoros/src/functions/normalize_uploaded_files.legacy.php rename vendor/{laminas => longwave}/laminas-diactoros/src/functions/normalize_uploaded_files.php (81%) create mode 100644 vendor/longwave/laminas-diactoros/src/functions/parse_cookie_header.legacy.php rename vendor/{laminas => longwave}/laminas-diactoros/src/functions/parse_cookie_header.php (70%) create mode 100644 vendor/pear/archive_tar/.github/FUNDING.yml create mode 100644 vendor/pear/archive_tar/.github/dependabot.yml create mode 100644 vendor/pear/archive_tar/.github/workflows/build.yml delete mode 100644 vendor/pear/pear_exception/.gitignore delete mode 100644 vendor/pear/pear_exception/.travis.yml delete mode 100644 vendor/pear/pear_exception/package.xml create mode 100644 vendor/psr/cache/CHANGELOG.md create mode 100644 vendor/psr/cache/LICENSE.txt create mode 100644 vendor/psr/cache/README.md create mode 100644 vendor/psr/cache/composer.json create mode 100644 vendor/psr/cache/src/CacheException.php create mode 100644 vendor/psr/cache/src/CacheItemInterface.php create mode 100644 vendor/psr/cache/src/CacheItemPoolInterface.php create mode 100644 vendor/psr/cache/src/InvalidArgumentException.php delete mode 100644 vendor/psr/http-factory/.pullapprove.yml create mode 100644 vendor/symfony/console/Output/TrimmedBufferOutput.php rename vendor/{psr/http-factory => symfony/deprecation-contracts}/.gitignore (64%) create mode 100644 vendor/symfony/deprecation-contracts/CHANGELOG.md create mode 100644 vendor/symfony/deprecation-contracts/LICENSE create mode 100644 vendor/symfony/deprecation-contracts/README.md create mode 100644 vendor/symfony/deprecation-contracts/composer.json create mode 100644 vendor/symfony/deprecation-contracts/function.php create mode 100644 vendor/symfony/mime/Crypto/DkimOptions.php create mode 100644 vendor/symfony/mime/Crypto/DkimSigner.php create mode 100644 vendor/symfony/polyfill-ctype/bootstrap80.php create mode 100644 vendor/symfony/polyfill-iconv/bootstrap80.php create mode 100644 vendor/symfony/polyfill-intl-idn/bootstrap80.php create mode 100644 vendor/symfony/polyfill-intl-normalizer/bootstrap80.php create mode 100644 vendor/symfony/polyfill-mbstring/bootstrap80.php create mode 100644 vendor/symfony/polyfill-php80/PhpToken.php create mode 100644 vendor/symfony/polyfill-php80/Resources/stubs/PhpToken.php delete mode 100644 vendor/symfony/psr-http-message-bridge/.gitignore delete mode 100644 vendor/symfony/psr-http-message-bridge/.php_cs.dist delete mode 100644 vendor/symfony/psr-http-message-bridge/.travis.yml create mode 100644 vendor/symfony/psr-http-message-bridge/ArgumentValueResolver/PsrServerRequestResolver.php create mode 100644 vendor/symfony/psr-http-message-bridge/EventListener/PsrResponseListener.php delete mode 100644 vendor/symfony/psr-http-message-bridge/phpunit.xml.dist create mode 100644 vendor/symfony/service-contracts/Attribute/SubscribedService.php create mode 100644 vendor/symfony/var-dumper/Caster/FiberCaster.php create mode 100644 vendor/symfony/var-dumper/Caster/MysqliCaster.php create mode 100644 vendor/twig/twig/.github/dependabot.yml create mode 100644 vendor/twig/twig/.github/workflows/ci.yml create mode 100644 vendor/twig/twig/.github/workflows/documentation.yml rename vendor/twig/twig/{.php_cs.dist => .php-cs-fixer.dist.php} (88%) delete mode 100644 vendor/twig/twig/.travis.yml delete mode 100755 vendor/twig/twig/drupal_test.sh delete mode 100644 vendor/typo3/phar-stream-wrapper/_config.yml diff --git a/.gitattributes b/.gitattributes index a37894e8e43..76ea8feeb11 100644 --- a/.gitattributes +++ b/.gitattributes @@ -19,24 +19,24 @@ *.config text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 *.css text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 *.dist text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 -*.engine text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 diff=php +*.engine text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 diff=php linguist-language=php *.html text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 diff=html -*.inc text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 diff=php -*.install text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 diff=php +*.inc text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 diff=php linguist-language=php +*.install text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 diff=php linguist-language=php *.js text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 *.json text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 *.lock text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 *.map text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 *.md text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 -*.module text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 diff=php -*.php text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 diff=php +*.module text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 diff=php linguist-language=php +*.php text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 diff=php linguist-language=php *.po text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 -*.profile text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 diff=php +*.profile text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 diff=php linguist-language=php *.script text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 -*.sh text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 diff=php +*.sh text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 diff=php linguist-language=php *.sql text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 *.svg text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 -*.theme text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 diff=php +*.theme text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 diff=php linguist-language=php *.twig text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 *.txt text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 *.xml text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 diff --git a/.ht.router.php b/.ht.router.php index 054f7119b0e..2c8a6f6ac35 100644 --- a/.ht.router.php +++ b/.ht.router.php @@ -24,6 +24,12 @@ * @see http://php.net/manual/en/features.commandline.webserver.php */ +if (PHP_SAPI !== 'cli-server') { + // Bail out if this is not PHP's Development Server. + header($_SERVER['SERVER_PROTOCOL'] . ' 403 Forbidden'); + exit; +} + $url = parse_url($_SERVER['REQUEST_URI']); if (file_exists(__DIR__ . $url['path'])) { // Serve the requested resource as-is. diff --git a/.htaccess b/.htaccess index b1ee36bf4c3..1575c51f3d3 100644 --- a/.htaccess +++ b/.htaccess @@ -3,7 +3,7 @@ # # Protect files and directories from prying eyes. - + Require all denied @@ -32,12 +32,17 @@ AddEncoding gzip svgz php_value assert.active 0 +# PHP 8, Apache 1 and 2. + + php_value assert.active 0 + + # Requires mod_expires to be enabled. # Enable expirations. ExpiresActive On - # Cache all files for 2 weeks after access (A). + # Cache all files and redirects for 2 weeks after access (A). ExpiresDefault A1209600 @@ -153,12 +158,12 @@ AddEncoding gzip svgz # Serve gzip compressed CSS files if they exist and the client accepts gzip. RewriteCond %{HTTP:Accept-encoding} gzip RewriteCond %{REQUEST_FILENAME}\.gz -s - RewriteRule ^(.*)\.css $1\.css\.gz [QSA] + RewriteRule ^(.*css_[a-zA-Z0-9-_]+)\.css$ $1\.css\.gz [QSA] # Serve gzip compressed JS files if they exist and the client accepts gzip. RewriteCond %{HTTP:Accept-encoding} gzip RewriteCond %{REQUEST_FILENAME}\.gz -s - RewriteRule ^(.*)\.js $1\.js\.gz [QSA] + RewriteRule ^(.*js_[a-zA-Z0-9-_]+)\.js$ $1\.js\.gz [QSA] # Serve correct content types, and prevent double compression. RewriteRule \.css\.gz$ - [T=text/css,E=no-gzip:1,E=no-brotli:1] diff --git a/README.md b/README.md new file mode 100644 index 00000000000..c3e53713409 --- /dev/null +++ b/README.md @@ -0,0 +1,75 @@ +Drupal Logo + +Drupal is an open source content management platform supporting a variety of +websites ranging from personal weblogs to large community-driven websites. For +more information, visit the Drupal website, [Drupal.org][Drupal.org], and join +the [Drupal community][Drupal community]. + +## Contributing + +Drupal is developed on [Drupal.org][Drupal.org], the home of the international +Drupal community since 2001! + +[Drupal.org][Drupal.org] hosts Drupal's [GitLab repository][GitLab repository], +its [issue queue][issue queue], and its [documentation][documentation]. Before +you start working on code, be sure to search the [issue queue][issue queue] and +create an issue if your aren't able to find an existing issue. + +Every issue on Drupal.org automatically creates a new community-accessible fork +that you can contribute to. Learn more about the code contribution process on +the [Issue forks & merge requests page][issue forks]. + +## Usage + +For a brief introduction, see [USAGE.txt](/core/USAGE.txt). You can also find +guides, API references, and more by visiting Drupal's [documentation +page][documentation]. + +You can quickly extend Drupal's core feature set by installing any of its +[thousands of free and open source modules][modules]. With Drupal and its +module ecosystem, you can often build most or all of what your project needs +before writing a single line of code. + +## Changelog + +Drupal keeps detailed [change records][changelog]. You can search Drupal's +changes for a record of every notable breaking change and new feature since +2011. + +## Security + +For a list of security announcements, see the [Security advisories +page][Security advisories] (available as [an RSS feed][security RSS]). This +page also describes how to subscribe to these announcements via email. + +For information about the Drupal security process, or to find out how to report +a potential security issue to the Drupal security team, see the [Security team +page][security team]. + +## Need a helping hand? + +Visit the [Support page][support] or browse [over a thousand Drupal +providers][service providers] offering design, strategy, development, and +hosting services. + +## Legal matters + +Know your rights when using Drupal by reading Drupal core's +[license](/core/LICENSE.txt). + +Learn about the [Drupal trademark and logo policy here][trademark]. + +[Drupal.org]: https://www.drupal.org +[Drupal community]: https://www.drupal.org/community +[GitLab repository]: https://git.drupalcode.org/project/drupal +[issue queue]: https://www.drupal.org/project/issues/drupal +[issue forks]: https://www.drupal.org/drupalorg/docs/gitlab-integration/issue-forks-merge-requests +[documentation]: https://www.drupal.org/documentation +[changelog]: https://www.drupal.org/list-changes/drupal +[modules]: https://www.drupal.org/project/project_module +[security advisories]: https://www.drupal.org/security +[security RSS]: https://www.drupal.org/security/rss.xml +[security team]: https://www.drupal.org/drupal-security-team +[service providers]: https://www.drupal.org/drupal-services +[support]: https://www.drupal.org/support +[trademark]: https://www.drupal.com/trademark diff --git a/composer.json b/composer.json index a0ce2223ec2..ee56056a678 100644 --- a/composer.json +++ b/composer.json @@ -16,10 +16,10 @@ ], "require": { "composer/installers": "^1.9", - "drupal/core-composer-scaffold": "^9.1", - "drupal/core-project-message": "^9.1", - "drupal/core-recommended": "^9.1", - "drupal/core-vendor-hardening": "^9.1" + "drupal/core-composer-scaffold": "^9.5", + "drupal/core-project-message": "^9.5", + "drupal/core-recommended": "^9.5", + "drupal/core-vendor-hardening": "^9.5" }, "conflict": { "drupal/drupal": "*" @@ -27,6 +27,13 @@ "minimum-stability": "stable", "prefer-stable": true, "config": { + "allow-plugins": { + "composer/installers": true, + "drupal/core-composer-scaffold": true, + "drupal/core-project-message": true, + "drupal/core-vendor-hardening": true, + "dealerdirect/phpcodesniffer-composer-installer": true + }, "sort-packages": true }, "extra": { @@ -76,7 +83,7 @@ " ", "", "Next steps:", - " * Install the site: https://www.drupal.org/docs/8/install", + " * Install the site: https://www.drupal.org/docs/installing-drupal", " * Read the user guide: https://www.drupal.org/docs/user_guide/en/index.html", " * Get support: https://www.drupal.org/support", " * Get involved with the Drupal community:", diff --git a/composer.lock b/composer.lock index e46230912cf..3caf9811063 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "352305733f369ee043bbd5e47a96706b", + "content-hash": "5c2c2da981e803d38bf708afd4ceb727", "packages": [ { "name": "asm89/stack-cors", @@ -56,20 +56,24 @@ "cors", "stack" ], + "support": { + "issues": "https://github.com/asm89/stack-cors/issues", + "source": "https://github.com/asm89/stack-cors/tree/1.3.0" + }, "time": "2019-12-24T22:41:47+00:00" }, { "name": "composer/installers", - "version": "v1.9.0", + "version": "v1.12.0", "source": { "type": "git", "url": "https://github.com/composer/installers.git", - "reference": "b93bcf0fa1fccb0b7d176b0967d969691cd74cca" + "reference": "d20a64ed3c94748397ff5973488761b22f6d3f19" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/installers/zipball/b93bcf0fa1fccb0b7d176b0967d969691cd74cca", - "reference": "b93bcf0fa1fccb0b7d176b0967d969691cd74cca", + "url": "https://api.github.com/repos/composer/installers/zipball/d20a64ed3c94748397ff5973488761b22f6d3f19", + "reference": "d20a64ed3c94748397ff5973488761b22f6d3f19", "shasum": "" }, "require": { @@ -80,17 +84,18 @@ "shama/baton": "*" }, "require-dev": { - "composer/composer": "1.6.* || 2.0.*@dev", - "composer/semver": "1.0.* || 2.0.*@dev", - "phpunit/phpunit": "^4.8.36", - "sebastian/comparator": "^1.2.4", + "composer/composer": "1.6.* || ^2.0", + "composer/semver": "^1 || ^3", + "phpstan/phpstan": "^0.12.55", + "phpstan/phpstan-phpunit": "^0.12.16", + "symfony/phpunit-bridge": "^4.2 || ^5", "symfony/process": "^2.3" }, "type": "composer-plugin", "extra": { "class": "Composer\\Installers\\Plugin", "branch-alias": { - "dev-master": "1.0-dev" + "dev-main": "1.x-dev" } }, "autoload": { @@ -128,6 +133,7 @@ "Porto", "RadPHP", "SMF", + "Starbug", "Thelia", "Whmcs", "WolfCMS", @@ -161,13 +167,16 @@ "majima", "mako", "mediawiki", + "miaoxing", "modulework", "modx", "moodle", "osclass", + "pantheon", "phpbb", "piwik", "ppi", + "processwire", "puppet", "pxcms", "reindex", @@ -177,43 +186,52 @@ "sydes", "sylius", "symfony", + "tastyigniter", "typo3", "wordpress", "yawik", "zend", "zikula" ], + "support": { + "issues": "https://github.com/composer/installers/issues", + "source": "https://github.com/composer/installers/tree/v1.12.0" + }, "funding": [ { "url": "https://packagist.com", "type": "custom" }, + { + "url": "https://github.com/composer", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/composer/composer", "type": "tidelift" } ], - "time": "2020-04-07T06:57:05+00:00" + "time": "2021-09-13T08:19:44+00:00" }, { "name": "composer/semver", - "version": "3.2.2", + "version": "3.3.2", "source": { "type": "git", "url": "https://github.com/composer/semver.git", - "reference": "4089fddb67bcf6bf860d91b979e95be303835002" + "reference": "3953f23262f2bff1919fc82183ad9acb13ff62c9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/semver/zipball/4089fddb67bcf6bf860d91b979e95be303835002", - "reference": "4089fddb67bcf6bf860d91b979e95be303835002", + "url": "https://api.github.com/repos/composer/semver/zipball/3953f23262f2bff1919fc82183ad9acb13ff62c9", + "reference": "3953f23262f2bff1919fc82183ad9acb13ff62c9", "shasum": "" }, "require": { "php": "^5.3.2 || ^7.0 || ^8.0" }, "require-dev": { - "phpstan/phpstan": "^0.12.19", + "phpstan/phpstan": "^1.4", "symfony/phpunit-bridge": "^4.2 || ^5" }, "type": "library", @@ -255,6 +273,11 @@ "validation", "versioning" ], + "support": { + "irc": "irc://irc.freenode.org/composer", + "issues": "https://github.com/composer/semver/issues", + "source": "https://github.com/composer/semver/tree/3.3.2" + }, "funding": [ { "url": "https://packagist.com", @@ -269,39 +292,37 @@ "type": "tidelift" } ], - "time": "2020-10-14T08:51:15+00:00" + "time": "2022-04-01T19:23:25+00:00" }, { "name": "doctrine/annotations", - "version": "1.11.1", + "version": "1.13.3", "source": { "type": "git", "url": "https://github.com/doctrine/annotations.git", - "reference": "ce77a7ba1770462cd705a91a151b6c3746f9c6ad" + "reference": "648b0343343565c4a056bfc8392201385e8d89f0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/annotations/zipball/ce77a7ba1770462cd705a91a151b6c3746f9c6ad", - "reference": "ce77a7ba1770462cd705a91a151b6c3746f9c6ad", + "url": "https://api.github.com/repos/doctrine/annotations/zipball/648b0343343565c4a056bfc8392201385e8d89f0", + "reference": "648b0343343565c4a056bfc8392201385e8d89f0", "shasum": "" }, "require": { "doctrine/lexer": "1.*", "ext-tokenizer": "*", - "php": "^7.1 || ^8.0" + "php": "^7.1 || ^8.0", + "psr/cache": "^1 || ^2 || ^3" }, "require-dev": { - "doctrine/cache": "1.*", + "doctrine/cache": "^1.11 || ^2.0", "doctrine/coding-standard": "^6.0 || ^8.1", - "phpstan/phpstan": "^0.12.20", - "phpunit/phpunit": "^7.5 || ^9.1.5" + "phpstan/phpstan": "^1.4.10 || ^1.8.0", + "phpunit/phpunit": "^7.5 || ^8.0 || ^9.1.5", + "symfony/cache": "^4.4 || ^5.2", + "vimeo/psalm": "^4.10" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.11.x-dev" - } - }, "autoload": { "psr-4": { "Doctrine\\Common\\Annotations\\": "lib/Doctrine/Common/Annotations" @@ -340,36 +361,36 @@ "docblock", "parser" ], - "time": "2020-10-26T10:28:16+00:00" + "support": { + "issues": "https://github.com/doctrine/annotations/issues", + "source": "https://github.com/doctrine/annotations/tree/1.13.3" + }, + "time": "2022-07-02T10:48:51+00:00" }, { "name": "doctrine/lexer", - "version": "1.2.1", + "version": "1.2.3", "source": { "type": "git", "url": "https://github.com/doctrine/lexer.git", - "reference": "e864bbf5904cb8f5bb334f99209b48018522f042" + "reference": "c268e882d4dbdd85e36e4ad69e02dc284f89d229" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/lexer/zipball/e864bbf5904cb8f5bb334f99209b48018522f042", - "reference": "e864bbf5904cb8f5bb334f99209b48018522f042", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/c268e882d4dbdd85e36e4ad69e02dc284f89d229", + "reference": "c268e882d4dbdd85e36e4ad69e02dc284f89d229", "shasum": "" }, "require": { - "php": "^7.2 || ^8.0" + "php": "^7.1 || ^8.0" }, "require-dev": { - "doctrine/coding-standard": "^6.0", - "phpstan/phpstan": "^0.11.8", - "phpunit/phpunit": "^8.2" + "doctrine/coding-standard": "^9.0", + "phpstan/phpstan": "^1.3", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", + "vimeo/psalm": "^4.11" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, "autoload": { "psr-4": { "Doctrine\\Common\\Lexer\\": "lib/Doctrine/Common/Lexer" @@ -402,6 +423,10 @@ "parser", "php" ], + "support": { + "issues": "https://github.com/doctrine/lexer/issues", + "source": "https://github.com/doctrine/lexer/tree/1.2.3" + }, "funding": [ { "url": "https://www.doctrine-project.org/sponsorship.html", @@ -416,24 +441,24 @@ "type": "tidelift" } ], - "time": "2020-05-25T17:44:05+00:00" + "time": "2022-02-28T11:07:21+00:00" }, { "name": "doctrine/reflection", - "version": "1.2.2", + "version": "1.2.4", "source": { "type": "git", "url": "https://github.com/doctrine/reflection.git", - "reference": "fa587178be682efe90d005e3a322590d6ebb59a5" + "reference": "6bcea3e81ab8b3d0abe5fde5300bbc8a968960c7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/reflection/zipball/fa587178be682efe90d005e3a322590d6ebb59a5", - "reference": "fa587178be682efe90d005e3a322590d6ebb59a5", + "url": "https://api.github.com/repos/doctrine/reflection/zipball/6bcea3e81ab8b3d0abe5fde5300bbc8a968960c7", + "reference": "6bcea3e81ab8b3d0abe5fde5300bbc8a968960c7", "shasum": "" }, "require": { - "doctrine/annotations": "^1.0", + "doctrine/annotations": "^1.0 || ^2.0", "ext-tokenizer": "*", "php": "^7.1 || ^8.0" }, @@ -441,18 +466,13 @@ "doctrine/common": "<2.9" }, "require-dev": { - "doctrine/coding-standard": "^6.0 || ^8.2.0", - "doctrine/common": "^2.10", - "phpstan/phpstan": "^0.11.0 || ^0.12.20", - "phpstan/phpstan-phpunit": "^0.11.0 || ^0.12.16", - "phpunit/phpunit": "^7.5 || ^9.1.5" + "doctrine/coding-standard": "^9", + "doctrine/common": "^3.3", + "phpstan/phpstan": "^1.4.10", + "phpstan/phpstan-phpunit": "^1", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, "autoload": { "psr-4": { "Doctrine\\Common\\": "lib/Doctrine/Common" @@ -494,24 +514,28 @@ "reflection", "static" ], + "support": { + "issues": "https://github.com/doctrine/reflection/issues", + "source": "https://github.com/doctrine/reflection/tree/1.2.4" + }, "abandoned": "roave/better-reflection", - "time": "2020-10-27T21:46:55+00:00" + "time": "2023-07-27T18:11:59+00:00" }, { "name": "drupal/core", - "version": "9.1.0", + "version": "9.5.11", "dist": { "type": "zip", - "url": "https://api.github.com/repos/drupal/core/zipball/de8c1769ea3d8b640e1a35c9228880d0b74ca4cc", - "reference": "de8c1769ea3d8b640e1a35c9228880d0b74ca4cc", + "url": "https://api.github.com/repos/drupal/core/zipball/8afcb233c2a71501b35fed2713167c37831d5c19", + "reference": "8afcb233c2a71501b35fed2713167c37831d5c19", "shasum": "" }, "require": { - "asm89/stack-cors": "^1.1", - "composer/semver": "^3.0", - "doctrine/annotations": "^1.4", - "doctrine/reflection": "^1.1", - "egulias/email-validator": "^2.0", + "asm89/stack-cors": "^1.3", + "composer/semver": "^3.3", + "doctrine/annotations": "^1.13", + "doctrine/reflection": "^1.2", + "egulias/email-validator": "^2.1.22|^3.2", "ext-date": "*", "ext-dom": "*", "ext-filter": "*", @@ -525,57 +549,38 @@ "ext-spl": "*", "ext-tokenizer": "*", "ext-xml": "*", - "guzzlehttp/guzzle": "^6.5.2", - "laminas/laminas-diactoros": "^2.1", - "laminas/laminas-feed": "^2.12", - "masterminds/html5": "^2.1", - "pear/archive_tar": "^1.4.11", + "guzzlehttp/guzzle": "^6.5.8 || ^7.4.5", + "laminas/laminas-feed": "^2.17", + "longwave/laminas-diactoros": "^2.14", + "masterminds/html5": "^2.7", + "pear/archive_tar": "^1.4.14", "php": ">=7.3.0", - "psr/log": "^1.0", + "psr/log": "^1.1", "stack/builder": "^1.0", - "symfony-cmf/routing": "^2.1", + "symfony-cmf/routing": "^2.3", "symfony/console": "^4.4", "symfony/dependency-injection": "^4.4", "symfony/event-dispatcher": "^4.4", "symfony/http-foundation": "^4.4.7", "symfony/http-kernel": "^4.4", - "symfony/polyfill-iconv": "^1.0", + "symfony/mime": "^5.4", + "symfony/polyfill-iconv": "^1.26", + "symfony/polyfill-php80": "^1.26", "symfony/process": "^4.4", - "symfony/psr-http-message-bridge": "^2.0", + "symfony/psr-http-message-bridge": "^2.1", "symfony/routing": "^4.4", "symfony/serializer": "^4.4", "symfony/translation": "^4.4", "symfony/validator": "^4.4", - "symfony/yaml": "^4.4", - "twig/twig": "^2.12.0", + "symfony/yaml": "^4.4.19", + "twig/twig": "^2.15.3", "typo3/phar-stream-wrapper": "^3.1.3" }, "conflict": { - "drush/drush": "<8.1.10" + "drush/drush": "<8.1.10", + "symfony/http-foundation": "4.4.42" }, "replace": { - "drupal/action": "self.version", - "drupal/aggregator": "self.version", - "drupal/automated_cron": "self.version", - "drupal/ban": "self.version", - "drupal/bartik": "self.version", - "drupal/basic_auth": "self.version", - "drupal/big_pipe": "self.version", - "drupal/block": "self.version", - "drupal/block_content": "self.version", - "drupal/book": "self.version", - "drupal/breakpoint": "self.version", - "drupal/ckeditor": "self.version", - "drupal/claro": "self.version", - "drupal/classy": "self.version", - "drupal/color": "self.version", - "drupal/comment": "self.version", - "drupal/config": "self.version", - "drupal/config_translation": "self.version", - "drupal/contact": "self.version", - "drupal/content_moderation": "self.version", - "drupal/content_translation": "self.version", - "drupal/contextual": "self.version", "drupal/core-annotation": "self.version", "drupal/core-assertion": "self.version", "drupal/core-bridge": "self.version", @@ -600,72 +605,7 @@ "drupal/core-transliteration": "self.version", "drupal/core-utility": "self.version", "drupal/core-uuid": "self.version", - "drupal/core-version": "self.version", - "drupal/datetime": "self.version", - "drupal/datetime_range": "self.version", - "drupal/dblog": "self.version", - "drupal/dynamic_page_cache": "self.version", - "drupal/editor": "self.version", - "drupal/entity_reference": "self.version", - "drupal/field": "self.version", - "drupal/field_layout": "self.version", - "drupal/field_ui": "self.version", - "drupal/file": "self.version", - "drupal/filter": "self.version", - "drupal/forum": "self.version", - "drupal/hal": "self.version", - "drupal/help": "self.version", - "drupal/help_topics": "self.version", - "drupal/history": "self.version", - "drupal/image": "self.version", - "drupal/inline_form_errors": "self.version", - "drupal/jsonapi": "self.version", - "drupal/language": "self.version", - "drupal/layout_builder": "self.version", - "drupal/layout_discovery": "self.version", - "drupal/link": "self.version", - "drupal/locale": "self.version", - "drupal/media": "self.version", - "drupal/media_library": "self.version", - "drupal/menu_link_content": "self.version", - "drupal/menu_ui": "self.version", - "drupal/migrate": "self.version", - "drupal/migrate_drupal": "self.version", - "drupal/migrate_drupal_multilingual": "self.version", - "drupal/migrate_drupal_ui": "self.version", - "drupal/minimal": "self.version", - "drupal/node": "self.version", - "drupal/olivero": "self.version", - "drupal/options": "self.version", - "drupal/page_cache": "self.version", - "drupal/path": "self.version", - "drupal/path_alias": "self.version", - "drupal/quickedit": "self.version", - "drupal/rdf": "self.version", - "drupal/responsive_image": "self.version", - "drupal/rest": "self.version", - "drupal/search": "self.version", - "drupal/serialization": "self.version", - "drupal/settings_tray": "self.version", - "drupal/seven": "self.version", - "drupal/shortcut": "self.version", - "drupal/standard": "self.version", - "drupal/stark": "self.version", - "drupal/statistics": "self.version", - "drupal/syslog": "self.version", - "drupal/system": "self.version", - "drupal/taxonomy": "self.version", - "drupal/telephone": "self.version", - "drupal/text": "self.version", - "drupal/toolbar": "self.version", - "drupal/tour": "self.version", - "drupal/tracker": "self.version", - "drupal/update": "self.version", - "drupal/user": "self.version", - "drupal/views": "self.version", - "drupal/views_ui": "self.version", - "drupal/workflows": "self.version", - "drupal/workspaces": "self.version" + "drupal/core-version": "self.version" }, "type": "drupal-core", "extra": { @@ -681,7 +621,7 @@ "[web-root]/example.gitignore": "assets/scaffold/files/example.gitignore", "[web-root]/index.php": "assets/scaffold/files/index.php", "[web-root]/INSTALL.txt": "assets/scaffold/files/drupal.INSTALL.txt", - "[web-root]/README.txt": "assets/scaffold/files/drupal.README.txt", + "[web-root]/README.md": "assets/scaffold/files/drupal.README.md", "[web-root]/robots.txt": "assets/scaffold/files/robots.txt", "[web-root]/update.php": "assets/scaffold/files/update.php", "[web-root]/web.config": "assets/scaffold/files/web.config", @@ -719,27 +659,23 @@ "lib/Drupal/Core/Cache/DatabaseCacheTagsChecksum.php", "lib/Drupal/Core/Database/Connection.php", "lib/Drupal/Core/Database/Database.php", - "lib/Drupal/Core/Database/Driver/mysql/Connection.php", - "lib/Drupal/Core/Database/Driver/pgsql/Connection.php", - "lib/Drupal/Core/Database/Driver/sqlite/Connection.php", "lib/Drupal/Core/Database/Statement.php", "lib/Drupal/Core/Database/StatementInterface.php", "lib/Drupal/Core/DependencyInjection/Container.php", "lib/Drupal/Core/DrupalKernel.php", "lib/Drupal/Core/DrupalKernelInterface.php", + "lib/Drupal/Core/Http/InputBag.php", "lib/Drupal/Core/Installer/InstallerRedirectTrait.php", "lib/Drupal/Core/Site/Settings.php" ], "files": [ - "includes/bootstrap.inc" + "includes/bootstrap.inc", + "includes/guzzle_php81_shim.php" ] }, "scripts": { "pre-autoload-dump": [ "Drupal\\Core\\Composer\\Composer::preAutoloadDump" - ], - "post-autoload-dump": [ - "Drupal\\Core\\Composer\\Composer::ensureHtaccess" ] }, "license": [ @@ -749,16 +685,16 @@ "source": { "type": "git", "url": "https://github.com/drupal/core.git", - "reference": "de8c1769ea3d8b640e1a35c9228880d0b74ca4cc" + "reference": "8afcb233c2a71501b35fed2713167c37831d5c19" } }, { "name": "drupal/core-composer-scaffold", - "version": "9.1.0", + "version": "9.5.11", "dist": { "type": "zip", - "url": "https://api.github.com/repos/drupal/core-composer-scaffold/zipball/7b125516d6568b888945ee03ac2636dcced76e8d", - "reference": "7b125516d6568b888945ee03ac2636dcced76e8d", + "url": "https://api.github.com/repos/drupal/core-composer-scaffold/zipball/08da8e59c6f1bd0b1a58d18f8addc0d937bbacc7", + "reference": "08da8e59c6f1bd0b1a58d18f8addc0d937bbacc7", "shasum": "" }, "require": { @@ -794,16 +730,16 @@ "source": { "type": "git", "url": "https://github.com/drupal/core-composer-scaffold.git", - "reference": "7b125516d6568b888945ee03ac2636dcced76e8d" + "reference": "08da8e59c6f1bd0b1a58d18f8addc0d937bbacc7" } }, { "name": "drupal/core-project-message", - "version": "9.1.0", + "version": "9.5.11", "dist": { "type": "zip", - "url": "https://api.github.com/repos/drupal/core-project-message/zipball/812d6da43dd49cc210af62e80fa92189e68e565a", - "reference": "812d6da43dd49cc210af62e80fa92189e68e565a", + "url": "https://api.github.com/repos/drupal/core-project-message/zipball/5dfa0b75a057caf6542be67f61e7531c737db48c", + "reference": "5dfa0b75a057caf6542be67f61e7531c737db48c", "shasum": "" }, "require": { @@ -830,74 +766,72 @@ "source": { "type": "git", "url": "https://github.com/drupal/core-project-message.git", - "reference": "812d6da43dd49cc210af62e80fa92189e68e565a" + "reference": "5dfa0b75a057caf6542be67f61e7531c737db48c" } }, { "name": "drupal/core-recommended", - "version": "9.1.0", + "version": "9.5.11", "dist": { "type": "zip", - "url": "https://api.github.com/repos/drupal/core-recommended/zipball/0e9d5f06c35fc4365864a6395812e6422ecdd62d", - "reference": "0e9d5f06c35fc4365864a6395812e6422ecdd62d", + "url": "https://api.github.com/repos/drupal/core-recommended/zipball/af3521be5376e333ddcdbd31c5a169f16423b46f", + "reference": "af3521be5376e333ddcdbd31c5a169f16423b46f", "shasum": "" }, "require": { - "asm89/stack-cors": "1.3.0", - "composer/semver": "3.2.2", - "doctrine/annotations": "1.11.1", - "doctrine/lexer": "1.2.1", - "doctrine/reflection": "1.2.2", - "drupal/core": "9.1.0", - "egulias/email-validator": "2.1.22", - "guzzlehttp/guzzle": "6.5.5", - "guzzlehttp/promises": "1.4.0", - "guzzlehttp/psr7": "1.7.0", - "laminas/laminas-diactoros": "2.5.0", - "laminas/laminas-escaper": "2.7.0", - "laminas/laminas-feed": "2.13.0", - "laminas/laminas-stdlib": "3.3.0", - "laminas/laminas-zendframework-bridge": "1.1.1", - "masterminds/html5": "2.7.4", - "pear/archive_tar": "1.4.11", - "pear/console_getopt": "v1.4.3", - "pear/pear-core-minimal": "v1.10.10", - "pear/pear_exception": "v1.0.1", - "psr/container": "1.0.0", - "psr/http-factory": "1.0.1", - "psr/http-message": "1.0.1", - "psr/log": "1.1.3", - "ralouphie/getallheaders": "3.0.3", - "stack/builder": "v1.0.6", - "symfony-cmf/routing": "2.3.3", - "symfony/console": "v4.4.16", - "symfony/debug": "v4.4.16", - "symfony/dependency-injection": "v4.4.16", - "symfony/error-handler": "v4.4.16", - "symfony/event-dispatcher": "v4.4.16", - "symfony/event-dispatcher-contracts": "v1.1.9", - "symfony/http-client-contracts": "v2.3.1", - "symfony/http-foundation": "v4.4.16", - "symfony/http-kernel": "v4.4.16", - "symfony/mime": "v5.1.8", - "symfony/polyfill-ctype": "v1.20.0", - "symfony/polyfill-iconv": "v1.20.0", - "symfony/polyfill-intl-idn": "v1.20.0", - "symfony/polyfill-intl-normalizer": "v1.20.0", - "symfony/polyfill-mbstring": "v1.20.0", - "symfony/polyfill-php80": "v1.20.0", - "symfony/process": "v4.4.16", - "symfony/psr-http-message-bridge": "v2.0.2", - "symfony/routing": "v4.4.16", - "symfony/serializer": "v4.4.16", - "symfony/service-contracts": "v2.2.0", - "symfony/translation": "v4.4.16", - "symfony/translation-contracts": "v2.3.0", - "symfony/validator": "v4.4.16", - "symfony/var-dumper": "v5.1.8", - "symfony/yaml": "v4.4.16", - "twig/twig": "v2.14.1", - "typo3/phar-stream-wrapper": "v3.1.6" + "asm89/stack-cors": "~1.3.0", + "composer/semver": "~3.3.2", + "doctrine/annotations": "~1.13.3", + "doctrine/lexer": "~1.2.3", + "doctrine/reflection": "~1.2.3", + "drupal/core": "9.5.11", + "egulias/email-validator": "~3.2.1", + "guzzlehttp/guzzle": "~6.5.8", + "guzzlehttp/promises": "~1.5.2", + "guzzlehttp/psr7": "~1.9.1", + "longwave/laminas-diactoros": "~2.14.2", + "masterminds/html5": "~2.7.6", + "pear/archive_tar": "~1.4.14", + "pear/console_getopt": "~v1.4.3", + "pear/pear-core-minimal": "~v1.10.11", + "pear/pear_exception": "~v1.0.2", + "psr/cache": "~1.0.1", + "psr/container": "~1.1.1", + "psr/http-factory": "~1.0.1", + "psr/http-message": "~1.0.1", + "psr/log": "~1.1.4", + "ralouphie/getallheaders": "~3.0.3", + "stack/builder": "~v1.0.6", + "symfony-cmf/routing": "~2.3.4", + "symfony/console": "~v4.4.49", + "symfony/debug": "~v4.4.44", + "symfony/dependency-injection": "~v4.4.49", + "symfony/deprecation-contracts": "~v2.5.2", + "symfony/error-handler": "~v4.4.44", + "symfony/event-dispatcher": "~v4.4.44", + "symfony/event-dispatcher-contracts": "~v1.1.13", + "symfony/http-client-contracts": "~v2.5.2", + "symfony/http-foundation": "~v4.4.49", + "symfony/http-kernel": "~v4.4.50", + "symfony/mime": "~v5.4.13", + "symfony/polyfill-ctype": "~v1.27.0", + "symfony/polyfill-iconv": "~v1.27.0", + "symfony/polyfill-intl-idn": "~v1.27.0", + "symfony/polyfill-intl-normalizer": "~v1.27.0", + "symfony/polyfill-mbstring": "~v1.27.0", + "symfony/polyfill-php80": "~v1.27.0", + "symfony/process": "~v4.4.44", + "symfony/psr-http-message-bridge": "~v2.1.4", + "symfony/routing": "~v4.4.44", + "symfony/serializer": "~v4.4.47", + "symfony/service-contracts": "~v2.5.2", + "symfony/translation": "~v4.4.47", + "symfony/translation-contracts": "~v2.5.2", + "symfony/validator": "~v4.4.48", + "symfony/var-dumper": "~v5.4.19", + "symfony/yaml": "~v4.4.45", + "twig/twig": "~v2.15.4", + "typo3/phar-stream-wrapper": "~v3.1.7" }, "conflict": { "webflo/drupal-core-strict": "*" @@ -906,20 +840,20 @@ "license": [ "GPL-2.0-or-later" ], - "description": "Locked core dependencies; require this project INSTEAD OF drupal/core.", + "description": "Core and its dependencies with known-compatible minor versions. Require this project INSTEAD OF drupal/core.", "source": { "type": "git", "url": "https://github.com/drupal/core-recommended.git", - "reference": "0e9d5f06c35fc4365864a6395812e6422ecdd62d" + "reference": "af3521be5376e333ddcdbd31c5a169f16423b46f" } }, { "name": "drupal/core-vendor-hardening", - "version": "9.1.0", + "version": "9.5.11", "dist": { "type": "zip", - "url": "https://api.github.com/repos/drupal/core-vendor-hardening/zipball/71df53f24d54c464ac18762a530fc7c3bf131a7f", - "reference": "71df53f24d54c464ac18762a530fc7c3bf131a7f", + "url": "https://api.github.com/repos/drupal/core-vendor-hardening/zipball/8293a845c64f1faad0d44955611f8cce69320274", + "reference": "8293a845c64f1faad0d44955611f8cce69320274", "shasum": "" }, "require": { @@ -946,32 +880,31 @@ "source": { "type": "git", "url": "https://github.com/drupal/core-vendor-hardening.git", - "reference": "71df53f24d54c464ac18762a530fc7c3bf131a7f" + "reference": "8293a845c64f1faad0d44955611f8cce69320274" } }, { "name": "egulias/email-validator", - "version": "2.1.22", + "version": "3.2.6", "source": { "type": "git", "url": "https://github.com/egulias/EmailValidator.git", - "reference": "68e418ec08fbfc6f58f6fd2eea70ca8efc8cc7d5" + "reference": "e5997fa97e8790cdae03a9cbd5e78e45e3c7bda7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/68e418ec08fbfc6f58f6fd2eea70ca8efc8cc7d5", - "reference": "68e418ec08fbfc6f58f6fd2eea70ca8efc8cc7d5", + "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/e5997fa97e8790cdae03a9cbd5e78e45e3c7bda7", + "reference": "e5997fa97e8790cdae03a9cbd5e78e45e3c7bda7", "shasum": "" }, "require": { - "doctrine/lexer": "^1.0.1", - "php": ">=5.5", - "symfony/polyfill-intl-idn": "^1.10" + "doctrine/lexer": "^1.2|^2", + "php": ">=7.2", + "symfony/polyfill-intl-idn": "^1.15" }, "require-dev": { - "dominicsayers/isemail": "^3.0.7", - "phpunit/phpunit": "^4.8.36|^7.5.15", - "satooshi/php-coveralls": "^1.0.1" + "phpunit/phpunit": "^8.5.8|^9.3.3", + "vimeo/psalm": "^4" }, "suggest": { "ext-intl": "PHP Internationalization Libraries are required to use the SpoofChecking validation" @@ -979,7 +912,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.1.x-dev" + "dev-master": "3.0.x-dev" } }, "autoload": { @@ -1005,28 +938,38 @@ "validation", "validator" ], - "time": "2020-09-26T15:48:38+00:00" + "support": { + "issues": "https://github.com/egulias/EmailValidator/issues", + "source": "https://github.com/egulias/EmailValidator/tree/3.2.6" + }, + "funding": [ + { + "url": "https://github.com/egulias", + "type": "github" + } + ], + "time": "2023-06-01T07:04:22+00:00" }, { "name": "guzzlehttp/guzzle", - "version": "6.5.5", + "version": "6.5.8", "source": { "type": "git", "url": "https://github.com/guzzle/guzzle.git", - "reference": "9d4290de1cfd701f38099ef7e183b64b4b7b0c5e" + "reference": "a52f0440530b54fa079ce76e8c5d196a42cad981" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/9d4290de1cfd701f38099ef7e183b64b4b7b0c5e", - "reference": "9d4290de1cfd701f38099ef7e183b64b4b7b0c5e", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/a52f0440530b54fa079ce76e8c5d196a42cad981", + "reference": "a52f0440530b54fa079ce76e8c5d196a42cad981", "shasum": "" }, "require": { "ext-json": "*", "guzzlehttp/promises": "^1.0", - "guzzlehttp/psr7": "^1.6.1", + "guzzlehttp/psr7": "^1.9", "php": ">=5.5", - "symfony/polyfill-intl-idn": "^1.17.0" + "symfony/polyfill-intl-idn": "^1.17" }, "require-dev": { "ext-curl": "*", @@ -1043,22 +986,52 @@ } }, "autoload": { - "psr-4": { - "GuzzleHttp\\": "src/" - }, "files": [ "src/functions_include.php" - ] + ], + "psr-4": { + "GuzzleHttp\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, { "name": "Michael Dowling", "email": "mtdowling@gmail.com", "homepage": "https://github.com/mtdowling" + }, + { + "name": "Jeremy Lindblom", + "email": "jeremeamia@gmail.com", + "homepage": "https://github.com/jeremeamia" + }, + { + "name": "George Mponos", + "email": "gmponos@gmail.com", + "homepage": "https://github.com/gmponos" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com", + "homepage": "https://github.com/sagikazarmark" + }, + { + "name": "Tobias Schultze", + "email": "webmaster@tubo-world.de", + "homepage": "https://github.com/Tobion" } ], "description": "Guzzle is a PHP HTTP client library", @@ -1072,20 +1045,38 @@ "rest", "web service" ], - "time": "2020-06-16T21:01:06+00:00" + "support": { + "issues": "https://github.com/guzzle/guzzle/issues", + "source": "https://github.com/guzzle/guzzle/tree/6.5.8" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/guzzle", + "type": "tidelift" + } + ], + "time": "2022-06-20T22:16:07+00:00" }, { "name": "guzzlehttp/promises", - "version": "1.4.0", + "version": "1.5.3", "source": { "type": "git", "url": "https://github.com/guzzle/promises.git", - "reference": "60d379c243457e073cff02bc323a2a86cb355631" + "reference": "67ab6e18aaa14d753cc148911d273f6e6cb6721e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/60d379c243457e073cff02bc323a2a86cb355631", - "reference": "60d379c243457e073cff02bc323a2a86cb355631", + "url": "https://api.github.com/repos/guzzle/promises/zipball/67ab6e18aaa14d753cc148911d273f6e6cb6721e", + "reference": "67ab6e18aaa14d753cc148911d273f6e6cb6721e", "shasum": "" }, "require": { @@ -1095,48 +1086,76 @@ "symfony/phpunit-bridge": "^4.4 || ^5.1" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, "autoload": { - "psr-4": { - "GuzzleHttp\\Promise\\": "src/" - }, "files": [ "src/functions_include.php" - ] + ], + "psr-4": { + "GuzzleHttp\\Promise\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, { "name": "Michael Dowling", "email": "mtdowling@gmail.com", "homepage": "https://github.com/mtdowling" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" + }, + { + "name": "Tobias Schultze", + "email": "webmaster@tubo-world.de", + "homepage": "https://github.com/Tobion" } ], "description": "Guzzle promises library", "keywords": [ "promise" ], - "time": "2020-09-30T07:37:28+00:00" + "support": { + "issues": "https://github.com/guzzle/promises/issues", + "source": "https://github.com/guzzle/promises/tree/1.5.3" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/promises", + "type": "tidelift" + } + ], + "time": "2023-05-21T12:31:43+00:00" }, { "name": "guzzlehttp/psr7", - "version": "1.7.0", + "version": "1.9.1", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", - "reference": "53330f47520498c0ae1f61f7e2c90f55690c06a3" + "reference": "e4490cabc77465aaee90b20cfc9a770f8c04be6b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/53330f47520498c0ae1f61f7e2c90f55690c06a3", - "reference": "53330f47520498c0ae1f61f7e2c90f55690c06a3", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/e4490cabc77465aaee90b20cfc9a770f8c04be6b", + "reference": "e4490cabc77465aaee90b20cfc9a770f8c04be6b", "shasum": "" }, "require": { @@ -1155,31 +1174,47 @@ "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.7-dev" - } - }, "autoload": { - "psr-4": { - "GuzzleHttp\\Psr7\\": "src/" - }, "files": [ "src/functions_include.php" - ] + ], + "psr-4": { + "GuzzleHttp\\Psr7\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, { "name": "Michael Dowling", "email": "mtdowling@gmail.com", "homepage": "https://github.com/mtdowling" }, + { + "name": "George Mponos", + "email": "gmponos@gmail.com", + "homepage": "https://github.com/gmponos" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com", + "homepage": "https://github.com/sagikazarmark" + }, { "name": "Tobias Schultze", + "email": "webmaster@tubo-world.de", "homepage": "https://github.com/Tobion" } ], @@ -1194,123 +1229,48 @@ "uri", "url" ], - "time": "2020-09-30T07:37:11+00:00" - }, - { - "name": "laminas/laminas-diactoros", - "version": "2.5.0", - "source": { - "type": "git", - "url": "https://github.com/laminas/laminas-diactoros.git", - "reference": "4ff7400c1c12e404144992ef43c8b733fd9ad516" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-diactoros/zipball/4ff7400c1c12e404144992ef43c8b733fd9ad516", - "reference": "4ff7400c1c12e404144992ef43c8b733fd9ad516", - "shasum": "" - }, - "require": { - "laminas/laminas-zendframework-bridge": "^1.0", - "php": "^7.3 || ~8.0.0", - "psr/http-factory": "^1.0", - "psr/http-message": "^1.0" - }, - "conflict": { - "phpspec/prophecy": "<1.9.0" - }, - "provide": { - "psr/http-factory-implementation": "1.0", - "psr/http-message-implementation": "1.0" - }, - "replace": { - "zendframework/zend-diactoros": "^2.2.1" - }, - "require-dev": { - "ext-curl": "*", - "ext-dom": "*", - "ext-gd": "*", - "ext-libxml": "*", - "http-interop/http-factory-tests": "^0.8.0", - "laminas/laminas-coding-standard": "~1.0.0", - "php-http/psr7-integration-tests": "^1.1", - "phpspec/prophecy-phpunit": "^2.0", - "phpunit/phpunit": "^9.1" - }, - "type": "library", - "extra": { - "laminas": { - "config-provider": "Laminas\\Diactoros\\ConfigProvider", - "module": "Laminas\\Diactoros" - } + "support": { + "issues": "https://github.com/guzzle/psr7/issues", + "source": "https://github.com/guzzle/psr7/tree/1.9.1" }, - "autoload": { - "files": [ - "src/functions/create_uploaded_file.php", - "src/functions/marshal_headers_from_sapi.php", - "src/functions/marshal_method_from_sapi.php", - "src/functions/marshal_protocol_version_from_sapi.php", - "src/functions/marshal_uri_from_sapi.php", - "src/functions/normalize_server.php", - "src/functions/normalize_uploaded_files.php", - "src/functions/parse_cookie_header.php", - "src/functions/create_uploaded_file.legacy.php", - "src/functions/marshal_headers_from_sapi.legacy.php", - "src/functions/marshal_method_from_sapi.legacy.php", - "src/functions/marshal_protocol_version_from_sapi.legacy.php", - "src/functions/marshal_uri_from_sapi.legacy.php", - "src/functions/normalize_server.legacy.php", - "src/functions/normalize_uploaded_files.legacy.php", - "src/functions/parse_cookie_header.legacy.php" - ], - "psr-4": { - "Laminas\\Diactoros\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "description": "PSR HTTP Message implementations", - "homepage": "https://laminas.dev", - "keywords": [ - "http", - "laminas", - "psr", - "psr-17", - "psr-7" - ], "funding": [ { - "url": "https://funding.communitybridge.org/projects/laminas-project", - "type": "community_bridge" + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/psr7", + "type": "tidelift" } ], - "time": "2020-11-18T18:39:28+00:00" + "time": "2023-04-17T16:00:37+00:00" }, { "name": "laminas/laminas-escaper", - "version": "2.7.0", + "version": "2.9.0", "source": { "type": "git", "url": "https://github.com/laminas/laminas-escaper.git", - "reference": "5e04bc5ae5990b17159d79d331055e2c645e5cc5" + "reference": "891ad70986729e20ed2e86355fcf93c9dc238a5f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-escaper/zipball/5e04bc5ae5990b17159d79d331055e2c645e5cc5", - "reference": "5e04bc5ae5990b17159d79d331055e2c645e5cc5", + "url": "https://api.github.com/repos/laminas/laminas-escaper/zipball/891ad70986729e20ed2e86355fcf93c9dc238a5f", + "reference": "891ad70986729e20ed2e86355fcf93c9dc238a5f", "shasum": "" }, "require": { - "laminas/laminas-zendframework-bridge": "^1.0", - "php": "^7.3 || ~8.0.0" + "php": "^7.3 || ~8.0.0 || ~8.1.0" }, - "replace": { - "zendframework/zend-escaper": "^2.6.1" + "conflict": { + "zendframework/zend-escaper": "*" }, "require-dev": { - "laminas/laminas-coding-standard": "~1.0.0", + "laminas/laminas-coding-standard": "~2.3.0", "phpunit/phpunit": "^9.3", "psalm/plugin-phpunit": "^0.12.2", "vimeo/psalm": "^3.16" @@ -1335,50 +1295,55 @@ "escaper", "laminas" ], + "support": { + "chat": "https://laminas.dev/chat", + "docs": "https://docs.laminas.dev/laminas-escaper/", + "forum": "https://discourse.laminas.dev", + "issues": "https://github.com/laminas/laminas-escaper/issues", + "rss": "https://github.com/laminas/laminas-escaper/releases.atom", + "source": "https://github.com/laminas/laminas-escaper" + }, "funding": [ { "url": "https://funding.communitybridge.org/projects/laminas-project", "type": "community_bridge" } ], - "time": "2020-11-17T21:26:43+00:00" + "time": "2021-09-02T17:10:53+00:00" }, { "name": "laminas/laminas-feed", - "version": "2.13.0", + "version": "2.17.0", "source": { "type": "git", "url": "https://github.com/laminas/laminas-feed.git", - "reference": "fb89aac1984222227f37792dd193d34829a0762f" + "reference": "1ccb024ea615606ed1d676ba0fa3f22a398f3ac0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-feed/zipball/fb89aac1984222227f37792dd193d34829a0762f", - "reference": "fb89aac1984222227f37792dd193d34829a0762f", + "url": "https://api.github.com/repos/laminas/laminas-feed/zipball/1ccb024ea615606ed1d676ba0fa3f22a398f3ac0", + "reference": "1ccb024ea615606ed1d676ba0fa3f22a398f3ac0", "shasum": "" }, "require": { "ext-dom": "*", "ext-libxml": "*", - "laminas/laminas-escaper": "^2.5.2", - "laminas/laminas-stdlib": "^3.2.1", - "laminas/laminas-zendframework-bridge": "^1.0", - "php": "^7.3 || ~8.0.0" + "laminas/laminas-escaper": "^2.9", + "laminas/laminas-stdlib": "^3.6", + "php": "^7.3 || ~8.0.0 || ~8.1.0" }, "conflict": { - "laminas/laminas-servicemanager": "<3.3" - }, - "replace": { - "zendframework/zend-feed": "^2.12.0" + "laminas/laminas-servicemanager": "<3.3", + "zendframework/zend-feed": "*" }, "require-dev": { "laminas/laminas-cache": "^2.7.2", - "laminas/laminas-coding-standard": "~1.0.0", - "laminas/laminas-db": "^2.8.2", - "laminas/laminas-http": "^2.7", - "laminas/laminas-servicemanager": "^3.3", - "laminas/laminas-validator": "^2.10.1", - "phpunit/phpunit": "^9.3", + "laminas/laminas-coding-standard": "~2.2.1", + "laminas/laminas-db": "^2.13.3", + "laminas/laminas-http": "^2.15", + "laminas/laminas-servicemanager": "^3.7", + "laminas/laminas-validator": "^2.15", + "phpunit/phpunit": "^9.5.5", "psalm/plugin-phpunit": "^0.13.0", "psr/http-message": "^1.0.1", "vimeo/psalm": "^4.1" @@ -1407,47 +1372,50 @@ "feed", "laminas" ], + "support": { + "chat": "https://laminas.dev/chat", + "docs": "https://docs.laminas.dev/laminas-feed/", + "forum": "https://discourse.laminas.dev", + "issues": "https://github.com/laminas/laminas-feed/issues", + "rss": "https://github.com/laminas/laminas-feed/releases.atom", + "source": "https://github.com/laminas/laminas-feed" + }, "funding": [ { "url": "https://funding.communitybridge.org/projects/laminas-project", "type": "community_bridge" } ], - "time": "2020-11-18T21:02:52+00:00" + "time": "2022-03-24T10:26:04+00:00" }, { "name": "laminas/laminas-stdlib", - "version": "3.3.0", + "version": "3.11.0", "source": { "type": "git", "url": "https://github.com/laminas/laminas-stdlib.git", - "reference": "b9d84eaa39fde733356ea948cdef36c631f202b6" + "reference": "aad7d2b11ba0069ba0d9b40f6dde3c2fa664b57f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-stdlib/zipball/b9d84eaa39fde733356ea948cdef36c631f202b6", - "reference": "b9d84eaa39fde733356ea948cdef36c631f202b6", + "url": "https://api.github.com/repos/laminas/laminas-stdlib/zipball/aad7d2b11ba0069ba0d9b40f6dde3c2fa664b57f", + "reference": "aad7d2b11ba0069ba0d9b40f6dde3c2fa664b57f", "shasum": "" }, "require": { - "laminas/laminas-zendframework-bridge": "^1.0", - "php": "^7.3 || ^8.0" + "php": "^7.3 || ~8.0.0 || ~8.1.0" }, - "replace": { - "zendframework/zend-stdlib": "^3.2.1" + "conflict": { + "zendframework/zend-stdlib": "*" }, "require-dev": { - "laminas/laminas-coding-standard": "~1.0.0", - "phpbench/phpbench": "^0.17.1", - "phpunit/phpunit": "^9.3.7" + "laminas/laminas-coding-standard": "~2.3.0", + "phpbench/phpbench": "^1.0", + "phpunit/phpunit": "^9.3.7", + "psalm/plugin-phpunit": "^0.17.0", + "vimeo/psalm": "^4.7" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.3.x-dev", - "dev-develop": "3.4.x-dev" - } - }, "autoload": { "psr-4": { "Laminas\\Stdlib\\": "src/" @@ -1463,80 +1431,130 @@ "laminas", "stdlib" ], + "support": { + "chat": "https://laminas.dev/chat", + "docs": "https://docs.laminas.dev/laminas-stdlib/", + "forum": "https://discourse.laminas.dev", + "issues": "https://github.com/laminas/laminas-stdlib/issues", + "rss": "https://github.com/laminas/laminas-stdlib/releases.atom", + "source": "https://github.com/laminas/laminas-stdlib" + }, "funding": [ { "url": "https://funding.communitybridge.org/projects/laminas-project", "type": "community_bridge" } ], - "time": "2020-08-25T09:08:16+00:00" + "time": "2022-07-27T12:28:58+00:00" }, { - "name": "laminas/laminas-zendframework-bridge", - "version": "1.1.1", + "name": "longwave/laminas-diactoros", + "version": "2.14.2", "source": { "type": "git", - "url": "https://github.com/laminas/laminas-zendframework-bridge.git", - "reference": "6ede70583e101030bcace4dcddd648f760ddf642" + "url": "https://github.com/longwave/laminas-diactoros.git", + "reference": "ae4f0becf249ae8eea8f2f8f9fb927104e55a885" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-zendframework-bridge/zipball/6ede70583e101030bcace4dcddd648f760ddf642", - "reference": "6ede70583e101030bcace4dcddd648f760ddf642", + "url": "https://api.github.com/repos/longwave/laminas-diactoros/zipball/ae4f0becf249ae8eea8f2f8f9fb927104e55a885", + "reference": "ae4f0becf249ae8eea8f2f8f9fb927104e55a885", "shasum": "" }, "require": { - "php": "^5.6 || ^7.0 || ^8.0" + "php": "^7.3 || ~8.0.0 || ~8.1.0 || ~8.2.0", + "psr/http-factory": "^1.0", + "psr/http-message": "^1.0" + }, + "conflict": { + "phpspec/prophecy": "<1.9.0", + "zendframework/zend-diactoros": "*" + }, + "provide": { + "psr/http-factory-implementation": "1.0", + "psr/http-message-implementation": "1.0" + }, + "replace": { + "laminas/laminas-diactoros": "2.18.1" }, "require-dev": { - "phpunit/phpunit": "^5.7 || ^6.5 || ^7.5 || ^8.1 || ^9.3", - "squizlabs/php_codesniffer": "^3.5" + "ext-curl": "*", + "ext-dom": "*", + "ext-gd": "*", + "ext-libxml": "*", + "http-interop/http-factory-tests": "^0.9.0", + "laminas/laminas-coding-standard": "~2.3.0", + "php-http/psr7-integration-tests": "^1.1.1", + "phpspec/prophecy-phpunit": "^2.0", + "phpunit/phpunit": "^9.5", + "psalm/plugin-phpunit": "^0.17.0", + "vimeo/psalm": "^4.24.0" }, "type": "library", "extra": { "laminas": { - "module": "Laminas\\ZendFrameworkBridge" + "config-provider": "Laminas\\Diactoros\\ConfigProvider", + "module": "Laminas\\Diactoros" } }, "autoload": { "files": [ - "src/autoload.php" + "src/functions/create_uploaded_file.php", + "src/functions/marshal_headers_from_sapi.php", + "src/functions/marshal_method_from_sapi.php", + "src/functions/marshal_protocol_version_from_sapi.php", + "src/functions/marshal_uri_from_sapi.php", + "src/functions/normalize_server.php", + "src/functions/normalize_uploaded_files.php", + "src/functions/parse_cookie_header.php", + "src/functions/create_uploaded_file.legacy.php", + "src/functions/marshal_headers_from_sapi.legacy.php", + "src/functions/marshal_method_from_sapi.legacy.php", + "src/functions/marshal_protocol_version_from_sapi.legacy.php", + "src/functions/marshal_uri_from_sapi.legacy.php", + "src/functions/normalize_server.legacy.php", + "src/functions/normalize_uploaded_files.legacy.php", + "src/functions/parse_cookie_header.legacy.php" ], "psr-4": { - "Laminas\\ZendFrameworkBridge\\": "src//" + "Laminas\\Diactoros\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], - "description": "Alias legacy ZF class names to Laminas Project equivalents.", + "description": "PSR HTTP Message implementations", + "homepage": "https://laminas.dev", "keywords": [ - "ZendFramework", - "autoloading", + "http", "laminas", - "zf" - ], - "funding": [ - { - "url": "https://funding.communitybridge.org/projects/laminas-project", - "type": "community_bridge" - } + "psr", + "psr-17", + "psr-7" ], - "time": "2020-09-14T14:23:00+00:00" + "support": { + "chat": "https://laminas.dev/chat", + "docs": "https://docs.laminas.dev/laminas-diactoros/", + "forum": "https://discourse.laminas.dev", + "issues": "https://github.com/laminas/laminas-diactoros/issues", + "rss": "https://github.com/laminas/laminas-diactoros/releases.atom", + "source": "https://github.com/laminas/laminas-diactoros" + }, + "time": "2023-04-26T21:27:14+00:00" }, { "name": "masterminds/html5", - "version": "2.7.4", + "version": "2.7.6", "source": { "type": "git", "url": "https://github.com/Masterminds/html5-php.git", - "reference": "9227822783c75406cfe400984b2f095cdf03d417" + "reference": "897eb517a343a2281f11bc5556d6548db7d93947" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/9227822783c75406cfe400984b2f095cdf03d417", - "reference": "9227822783c75406cfe400984b2f095cdf03d417", + "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/897eb517a343a2281f11bc5556d6548db7d93947", + "reference": "897eb517a343a2281f11bc5556d6548db7d93947", "shasum": "" }, "require": { @@ -1546,7 +1564,7 @@ "php": ">=5.3.0" }, "require-dev": { - "phpunit/phpunit": "^4.8.35" + "phpunit/phpunit": "^4.8.35 || ^5.7.21 || ^6 || ^7" }, "type": "library", "extra": { @@ -1588,20 +1606,24 @@ "serializer", "xml" ], - "time": "2020-10-01T13:52:52+00:00" + "support": { + "issues": "https://github.com/Masterminds/html5-php/issues", + "source": "https://github.com/Masterminds/html5-php/tree/2.7.6" + }, + "time": "2022-08-18T16:18:26+00:00" }, { "name": "pear/archive_tar", - "version": "1.4.11", + "version": "1.4.14", "source": { "type": "git", "url": "https://github.com/pear/Archive_Tar.git", - "reference": "17d355cb7d3c4ff08e5729f29cd7660145208d9d" + "reference": "4d761c5334c790e45ef3245f0864b8955c562caa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pear/Archive_Tar/zipball/17d355cb7d3c4ff08e5729f29cd7660145208d9d", - "reference": "17d355cb7d3c4ff08e5729f29cd7660145208d9d", + "url": "https://api.github.com/repos/pear/Archive_Tar/zipball/4d761c5334c790e45ef3245f0864b8955c562caa", + "reference": "4d761c5334c790e45ef3245f0864b8955c562caa", "shasum": "" }, "require": { @@ -1654,7 +1676,21 @@ "archive", "tar" ], - "time": "2020-11-19T22:10:24+00:00" + "support": { + "issues": "http://pear.php.net/bugs/search.php?cmd=display&package_name[]=Archive_Tar", + "source": "https://github.com/pear/Archive_Tar" + }, + "funding": [ + { + "url": "https://github.com/mrook", + "type": "github" + }, + { + "url": "https://www.patreon.com/michielrook", + "type": "patreon" + } + ], + "time": "2021-07-20T13:53:39+00:00" }, { "name": "pear/console_getopt", @@ -1701,20 +1737,24 @@ } ], "description": "More info available on: http://pear.php.net/package/Console_Getopt", + "support": { + "issues": "http://pear.php.net/bugs/search.php?cmd=display&package_name[]=Console_Getopt", + "source": "https://github.com/pear/Console_Getopt" + }, "time": "2019-11-20T18:27:48+00:00" }, { "name": "pear/pear-core-minimal", - "version": "v1.10.10", + "version": "v1.10.13", "source": { "type": "git", "url": "https://github.com/pear/pear-core-minimal.git", - "reference": "625a3c429d9b2c1546438679074cac1b089116a7" + "reference": "aed862e95fd286c53cc546734868dc38ff4b5b1d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pear/pear-core-minimal/zipball/625a3c429d9b2c1546438679074cac1b089116a7", - "reference": "625a3c429d9b2c1546438679074cac1b089116a7", + "url": "https://api.github.com/repos/pear/pear-core-minimal/zipball/aed862e95fd286c53cc546734868dc38ff4b5b1d", + "reference": "aed862e95fd286c53cc546734868dc38ff4b5b1d", "shasum": "" }, "require": { @@ -1745,27 +1785,31 @@ } ], "description": "Minimal set of PEAR core files to be used as composer dependency", - "time": "2019-11-19T19:00:24+00:00" + "support": { + "issues": "http://pear.php.net/bugs/search.php?cmd=display&package_name[]=PEAR", + "source": "https://github.com/pear/pear-core-minimal" + }, + "time": "2023-04-19T19:15:47+00:00" }, { "name": "pear/pear_exception", - "version": "v1.0.1", + "version": "v1.0.2", "source": { "type": "git", "url": "https://github.com/pear/PEAR_Exception.git", - "reference": "dbb42a5a0e45f3adcf99babfb2a1ba77b8ac36a7" + "reference": "b14fbe2ddb0b9f94f5b24cf08783d599f776fff0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pear/PEAR_Exception/zipball/dbb42a5a0e45f3adcf99babfb2a1ba77b8ac36a7", - "reference": "dbb42a5a0e45f3adcf99babfb2a1ba77b8ac36a7", + "url": "https://api.github.com/repos/pear/PEAR_Exception/zipball/b14fbe2ddb0b9f94f5b24cf08783d599f776fff0", + "reference": "b14fbe2ddb0b9f94f5b24cf08783d599f776fff0", "shasum": "" }, "require": { - "php": ">=4.4.0" + "php": ">=5.2.0" }, "require-dev": { - "phpunit/phpunit": "*" + "phpunit/phpunit": "<9" }, "type": "class", "extra": { @@ -1800,20 +1844,24 @@ "keywords": [ "exception" ], - "time": "2019-12-10T10:24:42+00:00" + "support": { + "issues": "http://pear.php.net/bugs/search.php?cmd=display&package_name[]=PEAR_Exception", + "source": "https://github.com/pear/PEAR_Exception" + }, + "time": "2021-03-21T15:43:46+00:00" }, { - "name": "psr/container", - "version": "1.0.0", + "name": "psr/cache", + "version": "1.0.1", "source": { "type": "git", - "url": "https://github.com/php-fig/container.git", - "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f" + "url": "https://github.com/php-fig/cache.git", + "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f", - "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8", + "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8", "shasum": "" }, "require": { @@ -1827,7 +1875,7 @@ }, "autoload": { "psr-4": { - "Psr\\Container\\": "src/" + "Psr\\Cache\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -1840,6 +1888,50 @@ "homepage": "http://www.php-fig.org/" } ], + "description": "Common interface for caching libraries", + "keywords": [ + "cache", + "psr", + "psr-6" + ], + "support": { + "source": "https://github.com/php-fig/cache/tree/master" + }, + "time": "2016-08-06T20:24:11+00:00" + }, + { + "name": "psr/container", + "version": "1.1.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/8622567409010282b7aeebe4bb841fe98b58dcaf", + "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf", + "shasum": "" + }, + "require": { + "php": ">=7.2.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Psr\\Container\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], "description": "Common Container Interface (PHP FIG PSR-11)", "homepage": "https://github.com/php-fig/container", "keywords": [ @@ -1849,25 +1941,29 @@ "container-interop", "psr" ], - "time": "2017-02-14T16:28:37+00:00" + "support": { + "issues": "https://github.com/php-fig/container/issues", + "source": "https://github.com/php-fig/container/tree/1.1.1" + }, + "time": "2021-03-05T17:36:06+00:00" }, { "name": "psr/http-factory", - "version": "1.0.1", + "version": "1.0.2", "source": { "type": "git", "url": "https://github.com/php-fig/http-factory.git", - "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be" + "reference": "e616d01114759c4c489f93b099585439f795fe35" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-factory/zipball/12ac7fcd07e5b077433f5f2bee95b3a771bf61be", - "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be", + "url": "https://api.github.com/repos/php-fig/http-factory/zipball/e616d01114759c4c489f93b099585439f795fe35", + "reference": "e616d01114759c4c489f93b099585439f795fe35", "shasum": "" }, "require": { "php": ">=7.0.0", - "psr/http-message": "^1.0" + "psr/http-message": "^1.0 || ^2.0" }, "type": "library", "extra": { @@ -1887,7 +1983,7 @@ "authors": [ { "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "homepage": "https://www.php-fig.org/" } ], "description": "Common interfaces for PSR-7 HTTP message factories", @@ -1901,7 +1997,10 @@ "request", "response" ], - "time": "2019-04-30T12:38:16+00:00" + "support": { + "source": "https://github.com/php-fig/http-factory/tree/1.0.2" + }, + "time": "2023-04-10T20:10:41+00:00" }, { "name": "psr/http-message", @@ -1951,20 +2050,23 @@ "request", "response" ], + "support": { + "source": "https://github.com/php-fig/http-message/tree/master" + }, "time": "2016-08-06T14:39:51+00:00" }, { "name": "psr/log", - "version": "1.1.3", + "version": "1.1.4", "source": { "type": "git", "url": "https://github.com/php-fig/log.git", - "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc" + "reference": "d49695b909c3b7628b6289db5479a1c204601f11" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/0f73288fd15629204f9d42b7055f72dacbe811fc", - "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc", + "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11", + "reference": "d49695b909c3b7628b6289db5479a1c204601f11", "shasum": "" }, "require": { @@ -1988,7 +2090,7 @@ "authors": [ { "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "homepage": "https://www.php-fig.org/" } ], "description": "Common interface for logging libraries", @@ -1998,7 +2100,10 @@ "psr", "psr-3" ], - "time": "2020-03-23T09:12:05+00:00" + "support": { + "source": "https://github.com/php-fig/log/tree/1.1.4" + }, + "time": "2021-05-03T11:20:27+00:00" }, { "name": "ralouphie/getallheaders", @@ -2038,6 +2143,10 @@ } ], "description": "A polyfill for getallheaders.", + "support": { + "issues": "https://github.com/ralouphie/getallheaders/issues", + "source": "https://github.com/ralouphie/getallheaders/tree/develop" + }, "time": "2019-03-08T08:55:37+00:00" }, { @@ -2088,25 +2197,29 @@ "keywords": [ "stack" ], + "support": { + "issues": "https://github.com/stackphp/builder/issues", + "source": "https://github.com/stackphp/builder/tree/v1.0.6" + }, "time": "2020-01-30T12:17:27+00:00" }, { "name": "symfony-cmf/routing", - "version": "2.3.3", + "version": "2.3.4", "source": { "type": "git", "url": "https://github.com/symfony-cmf/Routing.git", - "reference": "3c97e7b7709b313cecfb76d691ad4cc22acbf3f5" + "reference": "bbcdf2f6301d740454ba9ebb8adaefd436c36a6b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony-cmf/Routing/zipball/3c97e7b7709b313cecfb76d691ad4cc22acbf3f5", - "reference": "3c97e7b7709b313cecfb76d691ad4cc22acbf3f5", + "url": "https://api.github.com/repos/symfony-cmf/Routing/zipball/bbcdf2f6301d740454ba9ebb8adaefd436c36a6b", + "reference": "bbcdf2f6301d740454ba9ebb8adaefd436c36a6b", "shasum": "" }, "require": { "php": "^7.2 || ^8.0", - "psr/log": "^1.0", + "psr/log": "^1.0 || ^2.0 || ^3.0", "symfony/http-kernel": "^4.4 || ^5.0", "symfony/routing": "^4.4 || ^5.0" }, @@ -2147,40 +2260,45 @@ "database", "routing" ], - "time": "2020-10-06T10:15:37+00:00" + "support": { + "issues": "https://github.com/symfony-cmf/Routing/issues", + "source": "https://github.com/symfony-cmf/Routing/tree/2.3.4" + }, + "time": "2021-11-08T16:33:10+00:00" }, { "name": "symfony/console", - "version": "v4.4.16", + "version": "v4.4.49", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "20f73dd143a5815d475e0838ff867bce1eebd9d5" + "reference": "33fa45ffc81fdcc1ca368d4946da859c8cdb58d9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/20f73dd143a5815d475e0838ff867bce1eebd9d5", - "reference": "20f73dd143a5815d475e0838ff867bce1eebd9d5", + "url": "https://api.github.com/repos/symfony/console/zipball/33fa45ffc81fdcc1ca368d4946da859c8cdb58d9", + "reference": "33fa45ffc81fdcc1ca368d4946da859c8cdb58d9", "shasum": "" }, "require": { "php": ">=7.1.3", "symfony/polyfill-mbstring": "~1.0", "symfony/polyfill-php73": "^1.8", - "symfony/polyfill-php80": "^1.15", + "symfony/polyfill-php80": "^1.16", "symfony/service-contracts": "^1.1|^2" }, "conflict": { + "psr/log": ">=3", "symfony/dependency-injection": "<3.4", "symfony/event-dispatcher": "<4.3|>=5", "symfony/lock": "<4.4", "symfony/process": "<3.3" }, "provide": { - "psr/log-implementation": "1.0" + "psr/log-implementation": "1.0|2.0" }, "require-dev": { - "psr/log": "~1.0", + "psr/log": "^1|^2", "symfony/config": "^3.4|^4.0|^5.0", "symfony/dependency-injection": "^3.4|^4.0|^5.0", "symfony/event-dispatcher": "^4.3", @@ -2217,8 +2335,11 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Console Component", + "description": "Eases the creation of beautiful and testable command line interfaces", "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/console/tree/v4.4.49" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -2233,26 +2354,25 @@ "type": "tidelift" } ], - "time": "2020-10-24T11:50:19+00:00" + "time": "2022-11-05T17:10:16+00:00" }, { "name": "symfony/debug", - "version": "v4.4.16", + "version": "v4.4.44", "source": { "type": "git", "url": "https://github.com/symfony/debug.git", - "reference": "c87adf3fc1cd0bf4758316a3a150d50a8f957ef4" + "reference": "1a692492190773c5310bc7877cb590c04c2f05be" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/c87adf3fc1cd0bf4758316a3a150d50a8f957ef4", - "reference": "c87adf3fc1cd0bf4758316a3a150d50a8f957ef4", + "url": "https://api.github.com/repos/symfony/debug/zipball/1a692492190773c5310bc7877cb590c04c2f05be", + "reference": "1a692492190773c5310bc7877cb590c04c2f05be", "shasum": "" }, "require": { "php": ">=7.1.3", - "psr/log": "~1.0", - "symfony/polyfill-php80": "^1.15" + "psr/log": "^1|^2|^3" }, "conflict": { "symfony/http-kernel": "<3.4" @@ -2283,8 +2403,11 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Debug Component", + "description": "Provides tools to ease debugging PHP code", "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/debug/tree/v4.4.44" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -2299,41 +2422,43 @@ "type": "tidelift" } ], - "time": "2020-10-24T11:50:19+00:00" + "abandoned": "symfony/error-handler", + "time": "2022-07-28T16:29:46+00:00" }, { "name": "symfony/dependency-injection", - "version": "v4.4.16", + "version": "v4.4.49", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "4c41ad68924fd8f9e55e1cd77fd6bc28daa3fe89" + "reference": "9065fe97dbd38a897e95ea254eb5ddfe1310f734" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/4c41ad68924fd8f9e55e1cd77fd6bc28daa3fe89", - "reference": "4c41ad68924fd8f9e55e1cd77fd6bc28daa3fe89", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/9065fe97dbd38a897e95ea254eb5ddfe1310f734", + "reference": "9065fe97dbd38a897e95ea254eb5ddfe1310f734", "shasum": "" }, "require": { "php": ">=7.1.3", "psr/container": "^1.0", + "symfony/polyfill-php80": "^1.16", "symfony/service-contracts": "^1.1.6|^2" }, "conflict": { "symfony/config": "<4.3|>=5.0", "symfony/finder": "<3.4", "symfony/proxy-manager-bridge": "<3.4", - "symfony/yaml": "<3.4" + "symfony/yaml": "<4.4.26" }, "provide": { "psr/container-implementation": "1.0", - "symfony/service-implementation": "1.0" + "symfony/service-implementation": "1.0|2.0" }, "require-dev": { "symfony/config": "^4.3", "symfony/expression-language": "^3.4|^4.0|^5.0", - "symfony/yaml": "^3.4|^4.0|^5.0" + "symfony/yaml": "^4.4.26|^5.0" }, "suggest": { "symfony/config": "", @@ -2365,8 +2490,11 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony DependencyInjection Component", + "description": "Allows you to standardize and centralize the way objects are constructed in your application", "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/dependency-injection/tree/v4.4.49" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -2381,27 +2509,93 @@ "type": "tidelift" } ], - "time": "2020-10-27T10:05:40+00:00" + "time": "2022-11-16T16:18:09+00:00" + }, + { + "name": "symfony/deprecation-contracts", + "version": "v2.5.2", + "source": { + "type": "git", + "url": "https://github.com/symfony/deprecation-contracts.git", + "reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/e8b495ea28c1d97b5e0c121748d6f9b53d075c66", + "reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.5-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "files": [ + "function.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "A generic function and convention to trigger deprecation notices", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/deprecation-contracts/tree/v2.5.2" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2022-01-02T09:53:40+00:00" }, { "name": "symfony/error-handler", - "version": "v4.4.16", + "version": "v4.4.44", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "363cca01cabf98e4f1c447b14d0a68617f003613" + "reference": "be731658121ef2d8be88f3a1ec938148a9237291" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/363cca01cabf98e4f1c447b14d0a68617f003613", - "reference": "363cca01cabf98e4f1c447b14d0a68617f003613", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/be731658121ef2d8be88f3a1ec938148a9237291", + "reference": "be731658121ef2d8be88f3a1ec938148a9237291", "shasum": "" }, "require": { "php": ">=7.1.3", - "psr/log": "~1.0", + "psr/log": "^1|^2|^3", "symfony/debug": "^4.4.5", - "symfony/polyfill-php80": "^1.15", "symfony/var-dumper": "^4.4|^5.0" }, "require-dev": { @@ -2431,8 +2625,11 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony ErrorHandler Component", + "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/error-handler/tree/v4.4.44" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -2447,25 +2644,26 @@ "type": "tidelift" } ], - "time": "2020-10-24T11:50:19+00:00" + "time": "2022-07-28T16:29:46+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v4.4.16", + "version": "v4.4.44", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "4204f13d2d0b7ad09454f221bb2195fccdf1fe98" + "reference": "1e866e9e5c1b22168e0ce5f0b467f19bba61266a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/4204f13d2d0b7ad09454f221bb2195fccdf1fe98", - "reference": "4204f13d2d0b7ad09454f221bb2195fccdf1fe98", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/1e866e9e5c1b22168e0ce5f0b467f19bba61266a", + "reference": "1e866e9e5c1b22168e0ce5f0b467f19bba61266a", "shasum": "" }, "require": { "php": ">=7.1.3", - "symfony/event-dispatcher-contracts": "^1.1" + "symfony/event-dispatcher-contracts": "^1.1", + "symfony/polyfill-php80": "^1.16" }, "conflict": { "symfony/dependency-injection": "<3.4" @@ -2475,7 +2673,7 @@ "symfony/event-dispatcher-implementation": "1.1" }, "require-dev": { - "psr/log": "~1.0", + "psr/log": "^1|^2|^3", "symfony/config": "^3.4|^4.0|^5.0", "symfony/dependency-injection": "^3.4|^4.0|^5.0", "symfony/error-handler": "~3.4|~4.4", @@ -2511,8 +2709,11 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony EventDispatcher Component", + "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/event-dispatcher/tree/v4.4.44" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -2527,20 +2728,20 @@ "type": "tidelift" } ], - "time": "2020-10-24T11:50:19+00:00" + "time": "2022-07-20T09:59:04+00:00" }, { "name": "symfony/event-dispatcher-contracts", - "version": "v1.1.9", + "version": "v1.1.13", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "84e23fdcd2517bf37aecbd16967e83f0caee25a7" + "reference": "1d5cd762abaa6b2a4169d3e77610193a7157129e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/84e23fdcd2517bf37aecbd16967e83f0caee25a7", - "reference": "84e23fdcd2517bf37aecbd16967e83f0caee25a7", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/1d5cd762abaa6b2a4169d3e77610193a7157129e", + "reference": "1d5cd762abaa6b2a4169d3e77610193a7157129e", "shasum": "" }, "require": { @@ -2553,7 +2754,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.1-dev" + "dev-main": "1.1-dev" }, "thanks": { "name": "symfony/contracts", @@ -2589,6 +2790,9 @@ "interoperability", "standards" ], + "support": { + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v1.1.13" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -2603,20 +2807,20 @@ "type": "tidelift" } ], - "time": "2020-07-06T13:19:58+00:00" + "time": "2022-01-02T09:41:36+00:00" }, { "name": "symfony/http-client-contracts", - "version": "v2.3.1", + "version": "v2.5.2", "source": { "type": "git", "url": "https://github.com/symfony/http-client-contracts.git", - "reference": "41db680a15018f9c1d4b23516059633ce280ca33" + "reference": "ba6a9f0e8f3edd190520ee3b9a958596b6ca2e70" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/41db680a15018f9c1d4b23516059633ce280ca33", - "reference": "41db680a15018f9c1d4b23516059633ce280ca33", + "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/ba6a9f0e8f3edd190520ee3b9a958596b6ca2e70", + "reference": "ba6a9f0e8f3edd190520ee3b9a958596b6ca2e70", "shasum": "" }, "require": { @@ -2627,9 +2831,8 @@ }, "type": "library", "extra": { - "branch-version": "2.3", "branch-alias": { - "dev-main": "2.3-dev" + "dev-main": "2.5-dev" }, "thanks": { "name": "symfony/contracts", @@ -2665,6 +2868,9 @@ "interoperability", "standards" ], + "support": { + "source": "https://github.com/symfony/http-client-contracts/tree/v2.5.2" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -2679,26 +2885,27 @@ "type": "tidelift" } ], - "time": "2020-10-14T17:08:19+00:00" + "time": "2022-04-12T15:48:08+00:00" }, { "name": "symfony/http-foundation", - "version": "v4.4.16", + "version": "v4.4.49", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "827a00811ef699e809a201ceafac0b2b246bf38a" + "reference": "191413c7b832c015bb38eae963f2e57498c3c173" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/827a00811ef699e809a201ceafac0b2b246bf38a", - "reference": "827a00811ef699e809a201ceafac0b2b246bf38a", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/191413c7b832c015bb38eae963f2e57498c3c173", + "reference": "191413c7b832c015bb38eae963f2e57498c3c173", "shasum": "" }, "require": { "php": ">=7.1.3", "symfony/mime": "^4.3|^5.0", - "symfony/polyfill-mbstring": "~1.1" + "symfony/polyfill-mbstring": "~1.1", + "symfony/polyfill-php80": "^1.16" }, "require-dev": { "predis/predis": "~1.0", @@ -2727,8 +2934,11 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony HttpFoundation Component", + "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/http-foundation/tree/v4.4.49" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -2743,32 +2953,32 @@ "type": "tidelift" } ], - "time": "2020-10-24T11:50:19+00:00" + "time": "2022-11-04T16:17:57+00:00" }, { "name": "symfony/http-kernel", - "version": "v4.4.16", + "version": "v4.4.50", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "109b2a46e470a487ec8b0ffea4b0bb993aaf42ed" + "reference": "aa6df6c045f034aa13ac752fc234bb300b9488ef" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/109b2a46e470a487ec8b0ffea4b0bb993aaf42ed", - "reference": "109b2a46e470a487ec8b0ffea4b0bb993aaf42ed", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/aa6df6c045f034aa13ac752fc234bb300b9488ef", + "reference": "aa6df6c045f034aa13ac752fc234bb300b9488ef", "shasum": "" }, "require": { "php": ">=7.1.3", - "psr/log": "~1.0", + "psr/log": "^1|^2", "symfony/error-handler": "^4.4", "symfony/event-dispatcher": "^4.4", "symfony/http-client-contracts": "^1.1|^2", - "symfony/http-foundation": "^4.4|^5.0", + "symfony/http-foundation": "^4.4.30|^5.3.7", "symfony/polyfill-ctype": "^1.8", "symfony/polyfill-php73": "^1.9", - "symfony/polyfill-php80": "^1.15" + "symfony/polyfill-php80": "^1.16" }, "conflict": { "symfony/browser-kit": "<4.3", @@ -2776,13 +2986,13 @@ "symfony/console": ">=5", "symfony/dependency-injection": "<4.3", "symfony/translation": "<4.2", - "twig/twig": "<1.34|<2.4,>=2" + "twig/twig": "<1.43|<2.13,>=2" }, "provide": { - "psr/log-implementation": "1.0" + "psr/log-implementation": "1.0|2.0" }, "require-dev": { - "psr/cache": "~1.0", + "psr/cache": "^1.0|^2.0|^3.0", "symfony/browser-kit": "^4.3|^5.0", "symfony/config": "^3.4|^4.0|^5.0", "symfony/console": "^3.4|^4.0", @@ -2797,7 +3007,7 @@ "symfony/templating": "^3.4|^4.0|^5.0", "symfony/translation": "^4.2|^5.0", "symfony/translation-contracts": "^1.1|^2", - "twig/twig": "^1.34|^2.4|^3.0" + "twig/twig": "^1.43|^2.13|^3.0.4" }, "suggest": { "symfony/browser-kit": "", @@ -2828,8 +3038,11 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony HttpKernel Component", + "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/http-kernel/tree/v4.4.50" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -2844,34 +3057,42 @@ "type": "tidelift" } ], - "time": "2020-10-28T05:50:56+00:00" + "time": "2023-02-01T08:01:31+00:00" }, { "name": "symfony/mime", - "version": "v5.1.8", + "version": "v5.4.13", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "f5485a92c24d4bcfc2f3fc648744fb398482ff1b" + "reference": "bb2ccf759e2b967dcd11bdee5bdf30dddd2290bd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/f5485a92c24d4bcfc2f3fc648744fb398482ff1b", - "reference": "f5485a92c24d4bcfc2f3fc648744fb398482ff1b", + "url": "https://api.github.com/repos/symfony/mime/zipball/bb2ccf759e2b967dcd11bdee5bdf30dddd2290bd", + "reference": "bb2ccf759e2b967dcd11bdee5bdf30dddd2290bd", "shasum": "" }, "require": { "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", "symfony/polyfill-intl-idn": "^1.10", "symfony/polyfill-mbstring": "^1.0", - "symfony/polyfill-php80": "^1.15" + "symfony/polyfill-php80": "^1.16" }, "conflict": { + "egulias/email-validator": "~3.0.0", + "phpdocumentor/reflection-docblock": "<3.2.2", + "phpdocumentor/type-resolver": "<1.4.0", "symfony/mailer": "<4.4" }, "require-dev": { - "egulias/email-validator": "^2.1.10", - "symfony/dependency-injection": "^4.4|^5.0" + "egulias/email-validator": "^2.1.10|^3.1", + "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", + "symfony/dependency-injection": "^4.4|^5.0|^6.0", + "symfony/property-access": "^4.4|^5.1|^6.0", + "symfony/property-info": "^4.4|^5.1|^6.0", + "symfony/serializer": "^5.2|^6.0" }, "type": "library", "autoload": { @@ -2896,12 +3117,15 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "A library to manipulate MIME messages", + "description": "Allows manipulating MIME messages", "homepage": "https://symfony.com", "keywords": [ "mime", "mime-type" ], + "support": { + "source": "https://github.com/symfony/mime/tree/v5.4.13" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -2916,32 +3140,35 @@ "type": "tidelift" } ], - "time": "2020-10-24T12:01:57+00:00" + "time": "2022-09-01T18:18:29+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.20.0", + "version": "v1.27.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "f4ba089a5b6366e453971d3aad5fe8e897b37f41" + "reference": "5bbc823adecdae860bb64756d639ecfec17b050a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/f4ba089a5b6366e453971d3aad5fe8e897b37f41", - "reference": "f4ba089a5b6366e453971d3aad5fe8e897b37f41", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/5bbc823adecdae860bb64756d639ecfec17b050a", + "reference": "5bbc823adecdae860bb64756d639ecfec17b050a", "shasum": "" }, "require": { "php": ">=7.1" }, + "provide": { + "ext-ctype": "*" + }, "suggest": { "ext-ctype": "For best performance" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "1.20-dev" + "dev-main": "1.27-dev" }, "thanks": { "name": "symfony/polyfill", @@ -2949,12 +3176,12 @@ } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Ctype\\": "" - }, "files": [ "bootstrap.php" - ] + ], + "psr-4": { + "Symfony\\Polyfill\\Ctype\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -2978,6 +3205,9 @@ "polyfill", "portable" ], + "support": { + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.27.0" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -2992,32 +3222,35 @@ "type": "tidelift" } ], - "time": "2020-10-23T14:02:19+00:00" + "time": "2022-11-03T14:55:06+00:00" }, { "name": "symfony/polyfill-iconv", - "version": "v1.20.0", + "version": "v1.27.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-iconv.git", - "reference": "c536646fdb4f29104dd26effc2fdcb9a5b085024" + "reference": "927013f3aac555983a5059aada98e1907d842695" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/c536646fdb4f29104dd26effc2fdcb9a5b085024", - "reference": "c536646fdb4f29104dd26effc2fdcb9a5b085024", + "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/927013f3aac555983a5059aada98e1907d842695", + "reference": "927013f3aac555983a5059aada98e1907d842695", "shasum": "" }, "require": { "php": ">=7.1" }, + "provide": { + "ext-iconv": "*" + }, "suggest": { "ext-iconv": "For best performance" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "1.20-dev" + "dev-main": "1.27-dev" }, "thanks": { "name": "symfony/polyfill", @@ -3025,12 +3258,12 @@ } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Iconv\\": "" - }, "files": [ "bootstrap.php" - ] + ], + "psr-4": { + "Symfony\\Polyfill\\Iconv\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -3055,6 +3288,9 @@ "portable", "shim" ], + "support": { + "source": "https://github.com/symfony/polyfill-iconv/tree/v1.27.0" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -3069,20 +3305,20 @@ "type": "tidelift" } ], - "time": "2020-10-23T14:02:19+00:00" + "time": "2022-11-03T14:55:06+00:00" }, { "name": "symfony/polyfill-intl-idn", - "version": "v1.20.0", + "version": "v1.27.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "3b75acd829741c768bc8b1f84eb33265e7cc5117" + "reference": "639084e360537a19f9ee352433b84ce831f3d2da" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/3b75acd829741c768bc8b1f84eb33265e7cc5117", - "reference": "3b75acd829741c768bc8b1f84eb33265e7cc5117", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/639084e360537a19f9ee352433b84ce831f3d2da", + "reference": "639084e360537a19f9ee352433b84ce831f3d2da", "shasum": "" }, "require": { @@ -3096,7 +3332,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.20-dev" + "dev-main": "1.27-dev" }, "thanks": { "name": "symfony/polyfill", @@ -3104,12 +3340,12 @@ } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Intl\\Idn\\": "" - }, "files": [ "bootstrap.php" - ] + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Idn\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -3139,6 +3375,9 @@ "portable", "shim" ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.27.0" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -3153,20 +3392,20 @@ "type": "tidelift" } ], - "time": "2020-10-23T14:02:19+00:00" + "time": "2022-11-03T14:55:06+00:00" }, { "name": "symfony/polyfill-intl-normalizer", - "version": "v1.20.0", + "version": "v1.27.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "727d1096295d807c309fb01a851577302394c897" + "reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/727d1096295d807c309fb01a851577302394c897", - "reference": "727d1096295d807c309fb01a851577302394c897", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/19bd1e4fcd5b91116f14d8533c57831ed00571b6", + "reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6", "shasum": "" }, "require": { @@ -3178,7 +3417,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.20-dev" + "dev-main": "1.27-dev" }, "thanks": { "name": "symfony/polyfill", @@ -3186,12 +3425,12 @@ } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Intl\\Normalizer\\": "" - }, "files": [ "bootstrap.php" ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Normalizer\\": "" + }, "classmap": [ "Resources/stubs" ] @@ -3220,6 +3459,9 @@ "portable", "shim" ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.27.0" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -3234,32 +3476,35 @@ "type": "tidelift" } ], - "time": "2020-10-23T14:02:19+00:00" + "time": "2022-11-03T14:55:06+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.20.0", + "version": "v1.27.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "39d483bdf39be819deabf04ec872eb0b2410b531" + "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/39d483bdf39be819deabf04ec872eb0b2410b531", - "reference": "39d483bdf39be819deabf04ec872eb0b2410b531", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/8ad114f6b39e2c98a8b0e3bd907732c207c2b534", + "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534", "shasum": "" }, "require": { "php": ">=7.1" }, + "provide": { + "ext-mbstring": "*" + }, "suggest": { "ext-mbstring": "For best performance" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "1.20-dev" + "dev-main": "1.27-dev" }, "thanks": { "name": "symfony/polyfill", @@ -3267,12 +3512,12 @@ } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Mbstring\\": "" - }, "files": [ "bootstrap.php" - ] + ], + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -3297,6 +3542,9 @@ "portable", "shim" ], + "support": { + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.27.0" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -3311,20 +3559,20 @@ "type": "tidelift" } ], - "time": "2020-10-23T14:02:19+00:00" + "time": "2022-11-03T14:55:06+00:00" }, { "name": "symfony/polyfill-php72", - "version": "v1.20.0", + "version": "v1.28.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php72.git", - "reference": "cede45fcdfabdd6043b3592e83678e42ec69e930" + "reference": "70f4aebd92afca2f865444d30a4d2151c13c3179" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/cede45fcdfabdd6043b3592e83678e42ec69e930", - "reference": "cede45fcdfabdd6043b3592e83678e42ec69e930", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/70f4aebd92afca2f865444d30a4d2151c13c3179", + "reference": "70f4aebd92afca2f865444d30a4d2151c13c3179", "shasum": "" }, "require": { @@ -3333,7 +3581,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.20-dev" + "dev-main": "1.28-dev" }, "thanks": { "name": "symfony/polyfill", @@ -3341,12 +3589,12 @@ } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Php72\\": "" - }, "files": [ "bootstrap.php" - ] + ], + "psr-4": { + "Symfony\\Polyfill\\Php72\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -3370,6 +3618,9 @@ "portable", "shim" ], + "support": { + "source": "https://github.com/symfony/polyfill-php72/tree/v1.28.0" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -3384,20 +3635,20 @@ "type": "tidelift" } ], - "time": "2020-10-23T14:02:19+00:00" + "time": "2023-01-26T09:26:14+00:00" }, { "name": "symfony/polyfill-php73", - "version": "v1.20.0", + "version": "v1.28.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php73.git", - "reference": "8ff431c517be11c78c48a39a66d37431e26a6bed" + "reference": "fe2f306d1d9d346a7fee353d0d5012e401e984b5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/8ff431c517be11c78c48a39a66d37431e26a6bed", - "reference": "8ff431c517be11c78c48a39a66d37431e26a6bed", + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/fe2f306d1d9d346a7fee353d0d5012e401e984b5", + "reference": "fe2f306d1d9d346a7fee353d0d5012e401e984b5", "shasum": "" }, "require": { @@ -3406,7 +3657,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.20-dev" + "dev-main": "1.28-dev" }, "thanks": { "name": "symfony/polyfill", @@ -3414,12 +3665,12 @@ } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Php73\\": "" - }, "files": [ "bootstrap.php" ], + "psr-4": { + "Symfony\\Polyfill\\Php73\\": "" + }, "classmap": [ "Resources/stubs" ] @@ -3446,6 +3697,9 @@ "portable", "shim" ], + "support": { + "source": "https://github.com/symfony/polyfill-php73/tree/v1.28.0" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -3460,20 +3714,20 @@ "type": "tidelift" } ], - "time": "2020-10-23T14:02:19+00:00" + "time": "2023-01-26T09:26:14+00:00" }, { "name": "symfony/polyfill-php80", - "version": "v1.20.0", + "version": "v1.27.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "e70aa8b064c5b72d3df2abd5ab1e90464ad009de" + "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/e70aa8b064c5b72d3df2abd5ab1e90464ad009de", - "reference": "e70aa8b064c5b72d3df2abd5ab1e90464ad009de", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936", + "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936", "shasum": "" }, "require": { @@ -3482,7 +3736,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.20-dev" + "dev-main": "1.27-dev" }, "thanks": { "name": "symfony/polyfill", @@ -3490,12 +3744,12 @@ } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Php80\\": "" - }, "files": [ "bootstrap.php" ], + "psr-4": { + "Symfony\\Polyfill\\Php80\\": "" + }, "classmap": [ "Resources/stubs" ] @@ -3526,6 +3780,9 @@ "portable", "shim" ], + "support": { + "source": "https://github.com/symfony/polyfill-php80/tree/v1.27.0" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -3540,24 +3797,25 @@ "type": "tidelift" } ], - "time": "2020-10-23T14:02:19+00:00" + "time": "2022-11-03T14:55:06+00:00" }, { "name": "symfony/process", - "version": "v4.4.16", + "version": "v4.4.44", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "2f4b049fb80ca5e9874615a2a85dc2a502090f05" + "reference": "5cee9cdc4f7805e2699d9fd66991a0e6df8252a2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/2f4b049fb80ca5e9874615a2a85dc2a502090f05", - "reference": "2f4b049fb80ca5e9874615a2a85dc2a502090f05", + "url": "https://api.github.com/repos/symfony/process/zipball/5cee9cdc4f7805e2699d9fd66991a0e6df8252a2", + "reference": "5cee9cdc4f7805e2699d9fd66991a0e6df8252a2", "shasum": "" }, "require": { - "php": ">=7.1.3" + "php": ">=7.1.3", + "symfony/polyfill-php80": "^1.16" }, "type": "library", "autoload": { @@ -3582,8 +3840,11 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Process Component", + "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/process/tree/v4.4.44" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -3598,30 +3859,36 @@ "type": "tidelift" } ], - "time": "2020-10-24T11:50:19+00:00" + "time": "2022-06-27T13:16:42+00:00" }, { "name": "symfony/psr-http-message-bridge", - "version": "v2.0.2", + "version": "v2.1.4", "source": { "type": "git", "url": "https://github.com/symfony/psr-http-message-bridge.git", - "reference": "51a21cb3ba3927d4b4bf8f25cc55763351af5f2e" + "reference": "a125b93ef378c492e274f217874906fb9babdebb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/51a21cb3ba3927d4b4bf8f25cc55763351af5f2e", - "reference": "51a21cb3ba3927d4b4bf8f25cc55763351af5f2e", + "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/a125b93ef378c492e274f217874906fb9babdebb", + "reference": "a125b93ef378c492e274f217874906fb9babdebb", "shasum": "" }, "require": { "php": ">=7.1", "psr/http-message": "^1.0", - "symfony/http-foundation": "^4.4 || ^5.0" + "symfony/http-foundation": "^4.4 || ^5.0 || ^6.0" }, "require-dev": { "nyholm/psr7": "^1.1", - "symfony/phpunit-bridge": "^4.4 || ^5.0" + "psr/log": "^1.1 || ^2 || ^3", + "symfony/browser-kit": "^4.4 || ^5.0 || ^6.0", + "symfony/config": "^4.4 || ^5.0 || ^6.0", + "symfony/event-dispatcher": "^4.4 || ^5.0 || ^6.0", + "symfony/framework-bundle": "^4.4 || ^5.0 || ^6.0", + "symfony/http-kernel": "^4.4 || ^5.0 || ^6.0", + "symfony/phpunit-bridge": "^5.4@dev || ^6.0" }, "suggest": { "nyholm/psr7": "For a super lightweight PSR-7/17 implementation" @@ -3629,7 +3896,7 @@ "type": "symfony-bridge", "extra": { "branch-alias": { - "dev-master": "2.0-dev" + "dev-main": "2.1-dev" } }, "autoload": { @@ -3662,6 +3929,10 @@ "psr-17", "psr-7" ], + "support": { + "issues": "https://github.com/symfony/psr-http-message-bridge/issues", + "source": "https://github.com/symfony/psr-http-message-bridge/tree/v2.1.4" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -3676,24 +3947,25 @@ "type": "tidelift" } ], - "time": "2020-09-29T08:17:46+00:00" + "time": "2022-11-28T22:46:34+00:00" }, { "name": "symfony/routing", - "version": "v4.4.16", + "version": "v4.4.44", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "826794f2e9305fe73cba859c60d2a336851bd202" + "reference": "f7751fd8b60a07f3f349947a309b5bdfce22d6ae" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/826794f2e9305fe73cba859c60d2a336851bd202", - "reference": "826794f2e9305fe73cba859c60d2a336851bd202", + "url": "https://api.github.com/repos/symfony/routing/zipball/f7751fd8b60a07f3f349947a309b5bdfce22d6ae", + "reference": "f7751fd8b60a07f3f349947a309b5bdfce22d6ae", "shasum": "" }, "require": { - "php": ">=7.1.3" + "php": ">=7.1.3", + "symfony/polyfill-php80": "^1.16" }, "conflict": { "symfony/config": "<4.2", @@ -3701,8 +3973,8 @@ "symfony/yaml": "<3.4" }, "require-dev": { - "doctrine/annotations": "~1.2", - "psr/log": "~1.0", + "doctrine/annotations": "^1.10.4", + "psr/log": "^1|^2|^3", "symfony/config": "^4.2|^5.0", "symfony/dependency-injection": "^3.4|^4.0|^5.0", "symfony/expression-language": "^3.4|^4.0|^5.0", @@ -3739,7 +4011,7 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Routing Component", + "description": "Maps an HTTP request to a set of configuration variables", "homepage": "https://symfony.com", "keywords": [ "router", @@ -3747,6 +4019,9 @@ "uri", "url" ], + "support": { + "source": "https://github.com/symfony/routing/tree/v4.4.44" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -3761,51 +4036,51 @@ "type": "tidelift" } ], - "time": "2020-10-24T11:50:19+00:00" + "time": "2022-07-20T09:59:04+00:00" }, { "name": "symfony/serializer", - "version": "v4.4.16", + "version": "v4.4.47", "source": { "type": "git", "url": "https://github.com/symfony/serializer.git", - "reference": "2af7e86db04ee65fdf1991b17ee0b3e955c93de9" + "reference": "6e01d63c55657930a6de03d6e36aae50af98888d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/serializer/zipball/2af7e86db04ee65fdf1991b17ee0b3e955c93de9", - "reference": "2af7e86db04ee65fdf1991b17ee0b3e955c93de9", + "url": "https://api.github.com/repos/symfony/serializer/zipball/6e01d63c55657930a6de03d6e36aae50af98888d", + "reference": "6e01d63c55657930a6de03d6e36aae50af98888d", "shasum": "" }, "require": { "php": ">=7.1.3", - "symfony/polyfill-ctype": "~1.8" + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-php80": "^1.16" }, "conflict": { - "phpdocumentor/type-resolver": "<0.2.1", + "phpdocumentor/reflection-docblock": "<3.0|>=3.2.0,<3.2.2", + "phpdocumentor/type-resolver": "<0.3.0|1.3.*", "symfony/dependency-injection": "<3.4", "symfony/property-access": "<3.4", "symfony/property-info": "<3.4", "symfony/yaml": "<3.4" }, "require-dev": { - "doctrine/annotations": "~1.0", - "doctrine/cache": "~1.0", - "phpdocumentor/reflection-docblock": "^3.2|^4.0", + "doctrine/annotations": "^1.10.4", + "phpdocumentor/reflection-docblock": "^3.2|^4.0|^5.0", "symfony/cache": "^3.4|^4.0|^5.0", "symfony/config": "^3.4|^4.0|^5.0", "symfony/dependency-injection": "^3.4|^4.0|^5.0", "symfony/error-handler": "^4.4|^5.0", "symfony/http-foundation": "^3.4|^4.0|^5.0", "symfony/mime": "^4.4|^5.0", - "symfony/property-access": "^3.4|^4.0|^5.0", + "symfony/property-access": "^4.4.36|^5.3.13", "symfony/property-info": "^3.4.13|~4.0|^5.0", "symfony/validator": "^3.4|^4.0|^5.0", "symfony/yaml": "^3.4|^4.0|^5.0" }, "suggest": { - "doctrine/annotations": "For using the annotation mapping. You will also need doctrine/cache.", - "doctrine/cache": "For using the default cached annotation reader and metadata cache.", + "doctrine/annotations": "For using the annotation mapping.", "psr/cache-implementation": "For using the metadata cache.", "symfony/config": "For using the XML mapping loader.", "symfony/http-foundation": "For using a MIME type guesser within the DataUriNormalizer.", @@ -3836,8 +4111,11 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Serializer Component", + "description": "Handles serializing and deserializing data structures, including object graphs, into array structures or other formats like XML and JSON.", "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/serializer/tree/v4.4.47" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -3852,25 +4130,29 @@ "type": "tidelift" } ], - "time": "2020-10-24T11:50:19+00:00" + "time": "2022-09-19T08:38:33+00:00" }, { "name": "symfony/service-contracts", - "version": "v2.2.0", + "version": "v2.5.2", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "d15da7ba4957ffb8f1747218be9e1a121fd298a1" + "reference": "4b426aac47d6427cc1a1d0f7e2ac724627f5966c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/d15da7ba4957ffb8f1747218be9e1a121fd298a1", - "reference": "d15da7ba4957ffb8f1747218be9e1a121fd298a1", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/4b426aac47d6427cc1a1d0f7e2ac724627f5966c", + "reference": "4b426aac47d6427cc1a1d0f7e2ac724627f5966c", "shasum": "" }, "require": { "php": ">=7.2.5", - "psr/container": "^1.0" + "psr/container": "^1.1", + "symfony/deprecation-contracts": "^2.1|^3" + }, + "conflict": { + "ext-psr": "<1.1|>=2" }, "suggest": { "symfony/service-implementation": "" @@ -3878,7 +4160,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.2-dev" + "dev-main": "2.5-dev" }, "thanks": { "name": "symfony/contracts", @@ -3914,6 +4196,9 @@ "interoperability", "standards" ], + "support": { + "source": "https://github.com/symfony/service-contracts/tree/v2.5.2" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -3928,25 +4213,26 @@ "type": "tidelift" } ], - "time": "2020-09-07T11:33:47+00:00" + "time": "2022-05-30T19:17:29+00:00" }, { "name": "symfony/translation", - "version": "v4.4.16", + "version": "v4.4.47", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "73095716af79f610f3b6338b911357393fdd10ab" + "reference": "45036b1d53accc48fe9bab71ccd86d57eba0dd94" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/73095716af79f610f3b6338b911357393fdd10ab", - "reference": "73095716af79f610f3b6338b911357393fdd10ab", + "url": "https://api.github.com/repos/symfony/translation/zipball/45036b1d53accc48fe9bab71ccd86d57eba0dd94", + "reference": "45036b1d53accc48fe9bab71ccd86d57eba0dd94", "shasum": "" }, "require": { "php": ">=7.1.3", "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php80": "^1.16", "symfony/translation-contracts": "^1.1.6|^2" }, "conflict": { @@ -3956,10 +4242,10 @@ "symfony/yaml": "<3.4" }, "provide": { - "symfony/translation-implementation": "1.0" + "symfony/translation-implementation": "1.0|2.0" }, "require-dev": { - "psr/log": "~1.0", + "psr/log": "^1|^2|^3", "symfony/config": "^3.4|^4.0|^5.0", "symfony/console": "^3.4|^4.0|^5.0", "symfony/dependency-injection": "^3.4|^4.0|^5.0", @@ -3997,8 +4283,11 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Translation Component", + "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/translation/tree/v4.4.47" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -4013,20 +4302,20 @@ "type": "tidelift" } ], - "time": "2020-10-24T11:50:19+00:00" + "time": "2022-10-03T15:15:11+00:00" }, { "name": "symfony/translation-contracts", - "version": "v2.3.0", + "version": "v2.5.2", "source": { "type": "git", "url": "https://github.com/symfony/translation-contracts.git", - "reference": "e2eaa60b558f26a4b0354e1bbb25636efaaad105" + "reference": "136b19dd05cdf0709db6537d058bcab6dd6e2dbe" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/e2eaa60b558f26a4b0354e1bbb25636efaaad105", - "reference": "e2eaa60b558f26a4b0354e1bbb25636efaaad105", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/136b19dd05cdf0709db6537d058bcab6dd6e2dbe", + "reference": "136b19dd05cdf0709db6537d058bcab6dd6e2dbe", "shasum": "" }, "require": { @@ -4038,7 +4327,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev" + "dev-main": "2.5-dev" }, "thanks": { "name": "symfony/contracts", @@ -4074,6 +4363,9 @@ "interoperability", "standards" ], + "support": { + "source": "https://github.com/symfony/translation-contracts/tree/v2.5.2" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -4088,30 +4380,31 @@ "type": "tidelift" } ], - "time": "2020-09-28T13:05:58+00:00" + "time": "2022-06-27T16:58:25+00:00" }, { "name": "symfony/validator", - "version": "v4.4.16", + "version": "v4.4.48", "source": { "type": "git", "url": "https://github.com/symfony/validator.git", - "reference": "1d214a3aaa0753b19f94cf0479d8c315d957a10d" + "reference": "54781a4c41efbd283b779110bf8ae7f263737775" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/validator/zipball/1d214a3aaa0753b19f94cf0479d8c315d957a10d", - "reference": "1d214a3aaa0753b19f94cf0479d8c315d957a10d", + "url": "https://api.github.com/repos/symfony/validator/zipball/54781a4c41efbd283b779110bf8ae7f263737775", + "reference": "54781a4c41efbd283b779110bf8ae7f263737775", "shasum": "" }, "require": { "php": ">=7.1.3", "symfony/polyfill-ctype": "~1.8", "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php80": "^1.16", "symfony/translation-contracts": "^1.1|^2" }, "conflict": { - "doctrine/lexer": "<1.0.2", + "doctrine/lexer": "<1.1", "phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0", "symfony/dependency-injection": "<3.4", "symfony/http-kernel": "<4.4", @@ -4120,9 +4413,9 @@ "symfony/yaml": "<3.4" }, "require-dev": { - "doctrine/annotations": "~1.7", - "doctrine/cache": "~1.0", - "egulias/email-validator": "^2.1.10", + "doctrine/annotations": "^1.10.4", + "doctrine/cache": "^1.0|^2.0", + "egulias/email-validator": "^2.1.10|^3", "symfony/cache": "^3.4|^4.0|^5.0", "symfony/config": "^3.4|^4.0|^5.0", "symfony/dependency-injection": "^3.4|^4.0|^5.0", @@ -4174,8 +4467,11 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Validator Component", + "description": "Provides tools to validate values", "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/validator/tree/v4.4.48" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -4190,36 +4486,37 @@ "type": "tidelift" } ], - "time": "2020-10-28T05:25:24+00:00" + "time": "2022-10-25T13:54:11+00:00" }, { "name": "symfony/var-dumper", - "version": "v5.1.8", + "version": "v5.4.28", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "4e13f3fcefb1fcaaa5efb5403581406f4e840b9a" + "reference": "684b36ff415e1381d4a943c3ca2502cd2debad73" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/4e13f3fcefb1fcaaa5efb5403581406f4e840b9a", - "reference": "4e13f3fcefb1fcaaa5efb5403581406f4e840b9a", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/684b36ff415e1381d4a943c3ca2502cd2debad73", + "reference": "684b36ff415e1381d4a943c3ca2502cd2debad73", "shasum": "" }, "require": { "php": ">=7.2.5", "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php80": "^1.15" + "symfony/polyfill-php80": "^1.16" }, "conflict": { - "phpunit/phpunit": "<5.4.3", "symfony/console": "<4.4" }, "require-dev": { "ext-iconv": "*", - "symfony/console": "^4.4|^5.0", - "symfony/process": "^4.4|^5.0", - "twig/twig": "^2.4|^3.0" + "symfony/console": "^4.4|^5.0|^6.0", + "symfony/http-kernel": "^4.4|^5.0|^6.0", + "symfony/process": "^4.4|^5.0|^6.0", + "symfony/uid": "^5.1|^6.0", + "twig/twig": "^2.13|^3.0.4" }, "suggest": { "ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).", @@ -4255,12 +4552,15 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony mechanism for exploring and dumping PHP variables", + "description": "Provides mechanisms for walking through any arbitrary PHP variable", "homepage": "https://symfony.com", "keywords": [ "debug", "dump" ], + "support": { + "source": "https://github.com/symfony/var-dumper/tree/v5.4.28" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -4275,20 +4575,20 @@ "type": "tidelift" } ], - "time": "2020-10-27T10:11:13+00:00" + "time": "2023-08-24T13:38:36+00:00" }, { "name": "symfony/yaml", - "version": "v4.4.16", + "version": "v4.4.45", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "543cb4dbd45ed803f08a9a65f27fb149b5dd20c2" + "reference": "aeccc4dc52a9e634f1d1eebeb21eacfdcff1053d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/543cb4dbd45ed803f08a9a65f27fb149b5dd20c2", - "reference": "543cb4dbd45ed803f08a9a65f27fb149b5dd20c2", + "url": "https://api.github.com/repos/symfony/yaml/zipball/aeccc4dc52a9e634f1d1eebeb21eacfdcff1053d", + "reference": "aeccc4dc52a9e634f1d1eebeb21eacfdcff1053d", "shasum": "" }, "require": { @@ -4327,8 +4627,11 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Yaml Component", + "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/yaml/tree/v4.4.45" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -4343,35 +4646,36 @@ "type": "tidelift" } ], - "time": "2020-10-24T11:50:19+00:00" + "time": "2022-08-02T15:47:23+00:00" }, { "name": "twig/twig", - "version": "v2.14.1", + "version": "v2.15.5", "source": { "type": "git", "url": "https://github.com/twigphp/Twig.git", - "reference": "5eb9ac5dfdd20c3f59495c22841adc5da980d312" + "reference": "fc02a6af3eeb97c4bf5650debc76c2eda85ac22e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/5eb9ac5dfdd20c3f59495c22841adc5da980d312", - "reference": "5eb9ac5dfdd20c3f59495c22841adc5da980d312", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/fc02a6af3eeb97c4bf5650debc76c2eda85ac22e", + "reference": "fc02a6af3eeb97c4bf5650debc76c2eda85ac22e", "shasum": "" }, "require": { - "php": ">=7.2.5", + "php": ">=7.1.3", "symfony/polyfill-ctype": "^1.8", - "symfony/polyfill-mbstring": "^1.3" + "symfony/polyfill-mbstring": "^1.3", + "symfony/polyfill-php72": "^1.8" }, "require-dev": { "psr/container": "^1.0", - "symfony/phpunit-bridge": "^4.4.9|^5.0.9" + "symfony/phpunit-bridge": "^4.4.9|^5.0.9|^6.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.14-dev" + "dev-master": "2.15-dev" } }, "autoload": { @@ -4408,6 +4712,10 @@ "keywords": [ "templating" ], + "support": { + "issues": "https://github.com/twigphp/Twig/issues", + "source": "https://github.com/twigphp/Twig/tree/v2.15.5" + }, "funding": [ { "url": "https://github.com/fabpot", @@ -4418,20 +4726,20 @@ "type": "tidelift" } ], - "time": "2020-10-27T19:25:29+00:00" + "time": "2023-05-03T17:49:41+00:00" }, { "name": "typo3/phar-stream-wrapper", - "version": "v3.1.6", + "version": "v3.1.7", "source": { "type": "git", "url": "https://github.com/TYPO3/phar-stream-wrapper.git", - "reference": "60131cb573a1e478cfecd34e4ea38e3b31505f75" + "reference": "5cc2f04a4e2f5c7e9cc02a3bdf80fae0f3e11a8c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3/phar-stream-wrapper/zipball/60131cb573a1e478cfecd34e4ea38e3b31505f75", - "reference": "60131cb573a1e478cfecd34e4ea38e3b31505f75", + "url": "https://api.github.com/repos/TYPO3/phar-stream-wrapper/zipball/5cc2f04a4e2f5c7e9cc02a3bdf80fae0f3e11a8c", + "reference": "5cc2f04a4e2f5c7e9cc02a3bdf80fae0f3e11a8c", "shasum": "" }, "require": { @@ -4469,7 +4777,11 @@ "security", "stream-wrapper" ], - "time": "2020-11-07T09:06:16+00:00" + "support": { + "issues": "https://github.com/TYPO3/phar-stream-wrapper/issues", + "source": "https://github.com/TYPO3/phar-stream-wrapper/tree/v3.1.7" + }, + "time": "2021-09-20T19:19:13+00:00" } ], "packages-dev": [], @@ -4480,5 +4792,8 @@ "prefer-lowest": false, "platform": [], "platform-dev": [], - "plugin-api-version": "1.1.0" + "platform-overrides": { + "php": "7.3.0" + }, + "plugin-api-version": "2.3.0" } \ No newline at end of file diff --git a/core/.cspell.json b/core/.cspell.json index 100e0651b24..40601594b63 100644 --- a/core/.cspell.json +++ b/core/.cspell.json @@ -3,22 +3,32 @@ "language": "en-US", "allowCompoundWords": false, "ignorePaths": [ - ".*.json", + "**/.*.json", ".*ignore", "composer.lock", "assets/vendor/**", "lib/Drupal/Component/Diff/**", "lib/Drupal/Component/Transliteration/data/**", "lib/Drupal/Core/File/MimeType/ExtensionMimeTypeGuesser.php", + "**/LICENSE.txt", + "../**/LICENSE.txt", "modules/**/Migrate*Test.php", + "modules/aggregator/tests/fixtures/drupal6.php", + "modules/aggregator/tests/fixtures/drupal7.php", + "modules/ckeditor5/js/build/*", "modules/color/preview.html", + "modules/color/tests/fixtures/drupal7.php", "modules/color/tests/modules/color_test/themes/color_test_theme/color/preview.html", + "modules/media/tests/fixtures/oembed/*", "modules/migrate_drupal/tests/fixtures/drupal6.php", "modules/migrate_drupal/tests/fixtures/drupal7.php", + "modules/rdf/tests/fixtures/drupal7.php", "modules/search/tests/UnicodeTest.txt", "modules/system/tests/logo.svgz", + "modules/tracker/tests/fixtures/drupal7.php", "node_modules/*", "profiles/demo_umami/modules/demo_umami_content/default_content/languages/es/**/*", + "tests/fixtures/files/*", "tests/Drupal/Tests/Component/Annotation/Doctrine/**", "themes/bartik/color/preview.html", "themes/olivero/fonts/**", @@ -31,7 +41,9 @@ "ignoreRegExpList": [ "^msgstr .*", "!!binary .*", - "%[0-9][0-9A-F]" + "%[0-9][0-9A-F]", + "\\Wi18n", + "\\x{[0-9A-F]{4,5}}" ], "dictionaries": ["drupal","companies", "fonts", "html", "php", "softwareTerms"], "dictionaryDefinitions": [ diff --git a/core/.env.example b/core/.env.example index 13c5a7867df..04db337033c 100644 --- a/core/.env.example +++ b/core/.env.example @@ -46,6 +46,10 @@ DRUPAL_TEST_CHROMEDRIVER_AUTOSTART=true # e.g. `--disable-gpu --headless --no-sandbox`. #DRUPAL_TEST_WEBDRIVER_CHROME_ARGS= +# A list of arguments to pass to Webdriver, separated by spaces +# e.g. `--allowed-ips --disable-dev-shm-usage`. +#DRUPAL_TEST_WEBDRIVER_CLI_ARGS= + ############## # Nightwatch # ############## diff --git a/core/.eslintignore b/core/.eslintignore index 52972ceb70b..655ca871470 100644 --- a/core/.eslintignore +++ b/core/.eslintignore @@ -3,7 +3,15 @@ node_modules/**/* **/js_test_files/**/* *.js !*.es6.js +!modules/ckeditor5/js/ckeditor5_plugins/**/*.js modules/locale/tests/locale_test.es6.js !tests/Drupal/Nightwatch/**/*.js misc/polyfills/array.find.es6.js +misc/polyfills/element.closest.es6.js misc/polyfills/object.assign.es6.js + +# Ignore deliberately malformed YAML files. +modules/system/tests/fixtures/HtaccessTest/access_test.yml +modules/system/tests/themes/test_theme_libraries_empty/test_theme_libraries_empty.info.yml +tests/Drupal/Tests/Core/Asset/library_test_files/empty.libraries.yml +tests/Drupal/Tests/Core/Asset/library_test_files/invalid_file.libraries.yml diff --git a/core/.eslintrc.jquery.json b/core/.eslintrc.jquery.json new file mode 100644 index 00000000000..d19a0f550e9 --- /dev/null +++ b/core/.eslintrc.jquery.json @@ -0,0 +1,56 @@ +{ + "plugins": [ + "jquery" + ], + "rules": { + "jquery/no-ajax": 0, + "jquery/no-ajax-events": 2, + "jquery/no-animate": 0, + "jquery/no-attr": 0, + "jquery/no-bind": 2, + "jquery/no-class": 0, + "jquery/no-clone": 0, + "jquery/no-closest": 0, + "jquery/no-css": 0, + "jquery/no-data": 0, + "jquery/no-deferred": 0, + "jquery/no-delegate": 2, + "jquery/no-each": 0, + "jquery/no-extend": 0, + "jquery/no-fade": 0, + "jquery/no-filter": 0, + "jquery/no-find": 0, + "jquery/no-global-eval": 2, + "jquery/no-grep": 2, + "jquery/no-has": 0, + "jquery/no-hide": 0, + "jquery/no-html": 0, + "jquery/no-in-array": 0, + "jquery/no-is-array": 0, + "jquery/no-is-function": 2, + "jquery/no-is": 0, + "jquery/no-load": 2, + "jquery/no-map": 2, + "jquery/no-merge": 2, + "jquery/no-param": 2, + "jquery/no-parent": 0, + "jquery/no-parents": 0, + "jquery/no-parse-html": 0, + "jquery/no-prop": 0, + "jquery/no-proxy": 0, + "jquery/no-ready": 0, + "jquery/no-serialize": 0, + "jquery/no-show": 0, + "jquery/no-size": 2, + "jquery/no-sizzle": 0, + "jquery/no-slide": 0, + "jquery/no-submit": 2, + "jquery/no-text": 2, + "jquery/no-toggle": 0, + "jquery/no-trigger": 0, + "jquery/no-trim": 2, + "jquery/no-val": 2, + "jquery/no-when": 0, + "jquery/no-wrap": 0 + } +} diff --git a/core/.eslintrc.json b/core/.eslintrc.json index 5a982db5a26..984f63fbba7 100644 --- a/core/.eslintrc.json +++ b/core/.eslintrc.json @@ -1,7 +1,8 @@ { "extends": [ - "airbnb", - "plugin:prettier/recommended" + "airbnb-base", + "plugin:prettier/recommended", + "plugin:yml/recommended" ], "root": true, "env": { @@ -18,14 +19,14 @@ "Cookies": true, "Backbone": true, "Modernizr": true, + "loadjs": true, "Popper": true, + "Shepherd": true, "Sortable": true, - "CKEDITOR": true - }, - "settings": { - "react": { - "version": "latest" - } + "once": true, + "CKEDITOR": true, + "CKEditor5": true, + "tabbable": true }, "rules": { "prettier/prettier": "error", @@ -46,6 +47,7 @@ "requireReturn": false }], "no-unused-vars": ["warn"], - "operator-linebreak": ["error", "after", { "overrides": { "?": "ignore", ":": "ignore" } }] + "operator-linebreak": ["error", "after", { "overrides": { "?": "ignore", ":": "ignore" } }], + "yml/indent": ["error", 2] } } diff --git a/core/.eslintrc.passing.json b/core/.eslintrc.passing.json index 5e4223224ee..66e423476b1 100644 --- a/core/.eslintrc.passing.json +++ b/core/.eslintrc.passing.json @@ -1,5 +1,8 @@ { - "extends": "./.eslintrc.json", + "extends": [ + "./.eslintrc.json", + "./.eslintrc.jquery.json" + ], "rules": { "no-shadow": "off", "no-new": "off", @@ -7,9 +10,10 @@ "new-cap": "off", "max-len": "off", "default-case": "off", + "default-param-last": "off", "prefer-destructuring": "off", - "react/no-this-in-sfc": "off", - "react/destructuring-assignment": "off", - "import/named": "off" + "prefer-regex-literals": "off", + "import/named": "off", + "import/no-import-module-exports": "off" } } diff --git a/core/.prettierignore b/core/.prettierignore index 2e0da403ddc..352215fa798 100644 --- a/core/.prettierignore +++ b/core/.prettierignore @@ -1 +1,2 @@ modules/locale/tests/locale_test.es6.js +*.yml diff --git a/core/.stylelintignore b/core/.stylelintignore index 56035f44ae3..08a66fc807d 100644 --- a/core/.stylelintignore +++ b/core/.stylelintignore @@ -2,3 +2,9 @@ themes/claro/**/*.css !themes/claro/**/*.pcss.css themes/olivero/**/*.css !themes/olivero/**/*.pcss.css +misc/dialog/off-canvas.reset.css +misc/dialog/off-canvas.base.css +themes/stable/css/core/dialog/off-canvas.reset.css +themes/stable/css/core/dialog/off-canvas.base.css +themes/stable9/css/core/dialog/off-canvas.reset.css +themes/stable9/css/core/dialog/off-canvas.base.css diff --git a/core/.stylelintrc.json b/core/.stylelintrc.json index 615f0f836d4..b8b3b53ddc6 100644 --- a/core/.stylelintrc.json +++ b/core/.stylelintrc.json @@ -1,23 +1,33 @@ { "extends": "stylelint-config-standard", "plugins": [ - "stylelint-no-browser-hacks/lib", "stylelint-order" ], "rules": { + "alpha-value-notation": "number", + "at-rule-no-vendor-prefix": null, + "color-function-notation": "legacy", "comment-empty-line-before": null, + "custom-property-pattern": "^[a-z][-_a-z0-9IE]*$", + "declaration-block-no-redundant-longhand-properties": null, "function-linear-gradient-no-nonstandard-direction": null, + "function-url-quotes": null, "function-whitespace-after": null, + "hue-degree-notation": "number", + "import-notation": "string", "no-descending-specificity": null, "no-duplicate-selectors": null, "no-unknown-animations": true, + "max-line-length": null, "media-feature-name-no-unknown": [true, { "ignoreMediaFeatureNames": [ "prefers-reduced-motion", "min--moz-device-pixel-ratio" ] }], + "media-feature-name-no-vendor-prefix": null, "number-leading-zero": "always", + "number-max-precision": 5, "order/order": [ "custom-properties", "dollar-variables", @@ -445,33 +455,31 @@ "font-smooth", "line-height" ], - "plugin/no-browser-hacks": [true, { - "browsers": [ - "ie >= 9", - "edge >= 13", - "firefox >= 5", - "opera >= 12", - "safari >= 5", - "chrome >= 56" - ] - }], "property-no-unknown": null, + "property-no-vendor-prefix": null, "rule-empty-line-before": null, + "selector-attribute-quotes": null, + "selector-class-pattern": null, + "selector-id-pattern": "^[a-z][-_a-z0-9]*$", + "selector-no-vendor-prefix": null, + "selector-not-notation": "simple", "selector-pseudo-element-colon-notation": null, "shorthand-property-no-redundant-values": null, "string-quotes": "double", - "unit-allowed-list": ["deg", "em", "ex", "fr", "ms", "rem", "%", "s", "px", "vw", "vh"], + "unit-allowed-list": ["ch", "deg", "em", "ex", "fr", "ms", "rem", "%", "s", "px", "vw", "vh"], "value-keyword-case": ["lower", { + "camelCaseSvgKeywords": true, "ignoreProperties": [ "--font-family", "font-family" ] - }] + }], + "value-no-vendor-prefix": null }, "ignoreFiles": [ "assets/vendor/**/*.css", "tests/Drupal/Tests/Core/Asset/css_test_files/**/*.css", - "modules/media/css/plugins/drupalmedia/ckeditor.drupalmedia.css", + "modules/ckeditor/css/plugins/drupalmedia/ckeditor.drupalmedia.css", "themes/stable/css/core/assets/vendor/**/*.css", "themes/stable9/css/core/assets/vendor/**/*.css", "themes/stable9/css/media/plugins/drupalmedia/ckeditor.drupalmedia.css" diff --git a/core/COPYRIGHT.txt b/core/COPYRIGHT.txt index 6c6d0ad34e7..90555bcd353 100644 --- a/core/COPYRIGHT.txt +++ b/core/COPYRIGHT.txt @@ -22,36 +22,49 @@ license, including: JavaScript - Farbtastic - Copyright (c) 2010 Matt Farina + Backbone - Copyright (c) 2010 Jeremy Ashkenas and DocumentCloud + + CKEditor - Copyright (c) 2003 CKSource Holding sp. z o.o. + + CKEditor5 - Copyright (c) 2003 CKSource Holding sp. z o.o. - HTML5 Shiv - Copyright (c) 2014 Alexander Farkas, Jonathan Neal, Paul Irish, - and John-David Dalton + CSS.escape polyfill - Copyright (c) Mathias Bynens - jQuery - Copyright (c) 2011 John Resig + ES6-Promise - Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors - jQuery Bgiframe - Copyright (c) 2013 Brandon Aaron (http://brandonaaron.net) + Farbtastic - Copyright (c) 2010 Matt Farina - jQuery BBQ - Copyright (c) 2010 "Cowboy" Ben Alman + JavaScript Cookie - Copyright (c) 2006 Klaus Hartl & Fagner Brack - jQuery Cookie - Copyright (c) 2014 Klaus Hartl + jQuery - Copyright (c) OpenJS Foundation and other contributors jQuery Form - Copyright (c) 2017 Kevin Morris - jQuery Globalize - Copyright (c) 2012 Software Freedom Conservancy, Inc. + jQuery Joyride - Copyright (c) 2013 ZURB + + jQuery Once - Copyright (c) 2016 Rob Loach + + jQuery UI - Copyright (c) OpenJS Foundation and other contributors + + LoadJS - Copyright (c) 2015 Andres Morey + + Modernizr - Copyright (c) 2021 The Modernizr Team + + Picturefill - Copyright (c) 2014 Filament Group + + Popperjs - Copyright (c) 2019 Federico Zivolo + + Shepherd - Copyright (c) 2021 - jQuery Mousewheel - Copyright OpenJS Foundation and other contributors - (https://openjsf.org/) + Sortable - Copyright (c) 2019 All contributors to Sortable - jQuery Metadata - Copyright (c) 2006 John Resig, Yehuda Katz, Jörn Zaefferer, - Paul McLanahan + Tabbable - Copyright (c) 2015 David Clark - jQuery Once - Copyright (c) 2009 Konstantin Käfer + Underscore - Copyright (c) 2009 Jeremy Ashkenas, Julian Gonggrijp, and DocumentCloud and Investigative Reporters & Editors - jQuery UI - Copyright (c) 2015 by the authors and other contributors - (http://jqueryui.com/about) +CSS - Sizzle.js - Copyright (c) 2016 JS Foundation and other contributors - (https://js.foundation) + Normalize.css - Copyright (c) Nicolas Gallagher and Jonathan Neal PHP diff --git a/core/INSTALL.txt b/core/INSTALL.txt index 3ae63b882f1..5219b6a7706 100644 --- a/core/INSTALL.txt +++ b/core/INSTALL.txt @@ -15,7 +15,7 @@ QUICKSTART ---------------------- Prerequisites: -- PHP 7.3.0 (or greater) (https://php.net). +- PHP 7.4.0 (or greater) (https://php.net). In the instructions below, replace the version x.y.z with the specific version you wish to download. Example: 8.6.0.zip. You can find the latest stable version @@ -48,8 +48,8 @@ Drupal requires: - A web server with PHP support, for example: - Apache 2.4.7 (or greater) (http://httpd.apache.org/). - Nginx 1.1 (or greater) (http://nginx.com/). -- PHP 7.3.0 (or greater) (http://php.net/). For better security support it is - recommended to update to at least 7.3.13. +- PHP 7.4.0 (or greater) (http://php.net/). For better security support it is + recommended to update to at least 8.1.0. - One of the following databases: - MySQL 5.7.8 (or greater) (http://www.mysql.com/). - MariaDB 10.3.7 (or greater) (https://mariadb.org/). MariaDB is a fully @@ -341,9 +341,10 @@ INSTALLATION page. More information about cron maintenance tasks is available at - https://www.drupal.org/cron, and sample cron shell scripts can be found in - the core/scripts/ directory. (Note that these scripts must be customized like - the above example, to add your site-specific cron key and domain name.) + https://www.drupal.org/docs/administering-a-drupal-site/cron-automated-tasks, + and sample cron shell scripts can be found in the core/scripts/ directory. + (Note that these scripts must be customized like the above example, to add + your site-specific cron key and domain name.) REINSTALL ------------ diff --git a/core/MAINTAINERS.txt b/core/MAINTAINERS.txt index 3a492689ca3..5b67d9d696e 100644 --- a/core/MAINTAINERS.txt +++ b/core/MAINTAINERS.txt @@ -10,7 +10,7 @@ https://www.drupal.org/core/maintainers/past Core committers --------------- -The Drupal Core committers oversee the development of Drupal as a whole. The +The Drupal core committers oversee the development of Drupal as a whole. The core committers for Drupal are (in alphabetical order): BDFL @@ -18,8 +18,8 @@ BDFL Product managers - Dries Buytaert 'dries' https://www.drupal.org/u/dries -- Angela Byron 'webchick' https://www.drupal.org/u/webchick - Gábor Hojtsy 'Gábor Hojtsy' https://www.drupal.org/u/gábor-hojtsy +- Lauri Eskola 'lauriii' https://www.drupal.org/u/lauriii - Roy Scholten 'yoroy' https://www.drupal.org/u/yoroy Framework managers @@ -27,16 +27,24 @@ Framework managers Backend - Alex Bronstein 'effulgentsia' https://www.drupal.org/u/effulgentsia - Nathaniel Catchpole 'catch' https://www.drupal.org/u/catch - - Francesco Placella 'plach' https://www.drupal.org/u/plach - Alex Pott 'alexpott' https://www.drupal.org/u/alexpott - Lee Rowlands 'larowlan' https://www.drupal.org/u/larowlan Frontend - - Lauri Eskola 'lauriii' https://www.drupal.org/u/lauriii + - Ben Mullins 'bnjmnm' https://www.drupal.org/u/bnjmnm + - (provisional) Théodore Biadala 'nod_' https://www.drupal.org/u/nod_ + - (provisional) Cristina Chumillas 'ckrina' https://www.drupal.org/u/ckrina + - (provisional) Sally Young 'justafish' https://www.drupal.org/u/justafish Release managers - Nathaniel Catchpole 'catch' https://www.drupal.org/u/catch - Jess Myrbo 'xjm' https://www.drupal.org/u/xjm +- Victoria Spagnolo 'quietone' https://www.drupal.org/u/quietone +- (provisional) Dave Long 'longwave' https://www.drupal.org/u/longwave + +Core JavaScript packages + - Théodore Biadala 'nod_' https://www.drupal.org/u/nod_ + - Sally Young 'justafish' https://www.drupal.org/u/justafish Committer team facilitators - Pamela Barone 'pameeela' https://www.drupal.org/u/pameeela @@ -44,10 +52,10 @@ Committer team facilitators Subsystem maintainers --------------------- -The Drupal Core subsystem maintainers oversee the development of Drupal +The Drupal core subsystem maintainers oversee the development of Drupal subsystems. See https://www.drupal.org/contribute/core-maintainers for more information on their responsibilities, and to find out how to become a subsystem -maintainer. Current subsystem maintainers for Drupal 8: +maintainer. Current subsystem maintainers: Actions - ? @@ -75,7 +83,7 @@ Bartik - Emma Maria Karayiannis 'emma.maria' https://www.drupal.org/u/emma.maria Base system -- ? +- See "Framework managers" above. Basic Auth - Juampy Novillo Requena 'juampy' https://www.drupal.org/u/juampy @@ -93,6 +101,7 @@ Block Block Content - Lee Rowlands 'larowlan' https://www.drupal.org/u/larowlan +- Stephen Mustgrave 'smustgrave' https://www.drupal.org/u/smustgrave Book - Peter Wolanin 'pwolanin' https://www.drupal.org/u/pwolanin @@ -102,7 +111,7 @@ Bootstrap Breakpoint - Peter Droogmans 'attiks' https://www.drupal.org/u/attiks -- Marc Drummond 'mdrummond' https://www.drupal.org/u/mdrummond +- Heather Brooke Drummond 'RainbowArray' https://www.drupal.org/u/rainbowarray Cache - Nathaniel Catchpole 'catch' https://www.drupal.org/u/catch @@ -112,6 +121,17 @@ CKEditor - Wim Leers 'Wim Leers' https://www.drupal.org/u/wim-leers - Marek 'mlewand' Lewandowski https://www.drupal.org/u/mlewand +CKEditor 5 +- Lauri Eskola 'lauriii' https://www.drupal.org/u/lauriii +- Wim Leers 'Wim Leers' https://www.drupal.org/u/wim-leers +- Ben Mullins 'bnjmnm' https://www.drupal.org/u/bnjmnm + +Claro +- Cristina Chumillas 'ckrina' https://www.drupal.org/u/ckrina +- Sascha Eggenberger 'saschaeggi' https://www.drupal.org/u/saschaeggi +- Lauri Eskola 'lauriii' https://www.drupal.org/u/lauriii +- Ben Mullins 'bnjmnm' https://www.drupal.org/u/bnjmnm + Classy - David Hernandez 'davidhernandez' https://www.drupal.org/u/davidhernandez @@ -124,7 +144,6 @@ Comment Configuration API - Alex Pott 'alexpott' https://www.drupal.org/u/alexpott -- Matthew Tift 'mtift' https://www.drupal.org/u/mtift Configuration Entity API - Alex Pott 'alexpott' https://www.drupal.org/u/alexpott @@ -135,7 +154,6 @@ Configuration UI Configuration Translation - Gábor Hojtsy 'Gábor Hojtsy' https://www.drupal.org/u/gábor-hojtsy -- Tobias Zimmermann 'tstoeckler' https://www.drupal.org/u/tstoeckler - Vijayachandran Mani 'vijaycs85' https://www.drupal.org/u/vijaycs85 Contact @@ -147,19 +165,20 @@ Content Moderation - Sam Becker 'Sam152' https://www.drupal.org/u/sam152 Content Translation -- Francesco Placella 'plach' https://www.drupal.org/u/plach +- ? Contextual -- ? +- Lee Rowlands 'larowlan' https://www.drupal.org/u/larowlan Cron - ? CSS - John Albin Wilkins 'JohnAlbin' https://www.drupal.org/u/johnalbin +- Mike Herchel 'mherchel' https://www.drupal.org/u/mherchel Database API -- ? +- David Bekker 'daffie' https://www.drupal.org/u/daffie MySQL DB driver - David Strauss 'David Strauss' https://www.drupal.org/u/david-strauss @@ -196,8 +215,6 @@ Entity API - Nathaniel Catchpole 'catch' https://www.drupal.org/u/catch - Hristo Chonov 'hchonov' https://www.drupal.org/u/hchonov - Sascha Grossenbacher 'Berdir' https://www.drupal.org/u/berdir -- Francesco Placella 'plach' https://www.drupal.org/u/plach -- Tobias Zimmermann 'tstoeckler' https://www.drupal.org/u/tstoeckler Extension API - ? @@ -252,12 +269,12 @@ JavaScript - Sally Young 'justafish' https://www.drupal.org/u/justafish JSON:API -- Gabe Sullice 'gabesullice' https://www.drupal.org/u/gabesullice - Mateu Aguiló Bosch 'e0ipso' https://www.drupal.org/u/e0ipso +- Björn Brala 'bbrala' https://www.drupal.org/u/bbrala +- Gabe Sullice 'gabesullice' https://www.drupal.org/u/gabesullice - Wim Leers 'Wim Leers' https://www.drupal.org/u/wim-leers Language -- Francesco Placella 'plach' https://www.drupal.org/u/plach - Daniel F. Kudwien 'sun' https://www.drupal.org/u/sun Layout Builder @@ -303,7 +320,7 @@ Migrate - Adam Globus-Hoenich 'phenaproxima' https://www.drupal.org/u/phenaproxima - Lucas Hedding 'heddn' https://www.drupal.org/u/heddn - Michael Lutz 'mikelutz' https://www.drupal.org/u/mikelutz -- Vicki Spagnolo 'quietone' https://www.drupal.org/u/quietone +- Victoria Spagnolo 'quietone' https://www.drupal.org/u/quietone Node - ? @@ -318,6 +335,7 @@ Olivero - Putra Bonaccorsi 'proeung' https://www.drupal.org/u/proeung - Jen Witkowski 'jwitkowski79' https://www.drupal.org/u/jwitkowski79 - Konstantin Shupenko 'kostyashupenko' https://www.drupal.org/u/kostyashupenko +- Andy Blum 'andy-blum' https://www.drupal.org/u/andy-blum Options - ? @@ -359,7 +377,7 @@ REST Responsive Image - Peter Droogmans 'attiks' https://www.drupal.org/u/attiks -- Marc Drummond 'mdrummond' https://www.drupal.org/u/mdrummond +- Heather Brooke Drummond 'RainbowArray' https://www.drupal.org/u/rainbowarray - Jelle Sebreghts 'Jelle_S' https://www.drupal.org/u/jelle_s Routing @@ -378,7 +396,6 @@ Seven - ? Shortcut -- Tobias Zimmermann 'tstoeckler' https://www.drupal.org/u/tstoeckler - Jibran Ijaz 'jibran' https://www.drupal.org/u/jibran Stable @@ -401,7 +418,7 @@ Taxonomy - Nathaniel Catchpole 'catch' https://www.drupal.org/u/catch Telephone -- ? +- Stephen Mustgrave 'smustgrave' https://www.drupal.org/u/smustgrave Testing framework - Alex Pott 'alexpott' https://www.drupal.org/u/alexpott @@ -410,7 +427,7 @@ Testing framework - Alberto M. 'mondrake' https://www.drupal.org/u/mondrake Text Field -- ? +- Stephen Mustgrave 'smustgrave' https://www.drupal.org/u/smustgrave Theme API - Alex Bronstein 'effulgentsia' https://www.drupal.org/u/effulgentsia @@ -442,8 +459,9 @@ Umami demo - Keith Jay 'kjay' https://www.drupal.org/u/kjay - Ofer Shaal 'shaal' https://www.drupal.org/u/shaal -Update UI -- ? +Update Manager +- Ted Bowman 'tedbow' https://www.drupal.org/u/tedbow +- Derek Wright 'dww' https://www.drupal.org/u/dww User - Moshe Weitzman 'moshe weitzman' https://www.drupal.org/u/moshe-weitzman @@ -462,6 +480,11 @@ Workflows Topic maintainers ----------------- +The Drupal Core topic maintainers are subject-matter experts in a topic that +spans multiple subsystems. These correspond to the core gates which all +proposed changes must pass. https://www.drupal.org/contribute/core/maintainers +provides more information on their responsibilities. + Accessibility - Rain Breaw Michaels 'rainbreaw' https://www.drupal.org/u/rainbreaw - Mike Gifford 'mgifford' https://www.drupal.org/u/mgifford @@ -482,8 +505,6 @@ Usability - Roy Scholten 'yoroy' https://www.drupal.org/u/yoroy - Bojhan Somers 'Bojhan' https://www.drupal.org/u/bojhan -Provisional membership: None at this time. - Security team ------------- @@ -502,37 +523,27 @@ The security team lead is: Initiative coordinators ----------------------- -The Drupal Core Initiative coordinators oversee approved projects that +The Drupal core initiative coordinators oversee approved projects that re-architect or otherwise improve large areas of Drupal core. See -https://www.drupal.org/community-initiatives/drupal-core for more information on -their responsibilities. The initiative coordinators for Drupal 8 are: - -Admin UI & JavaScript Modernisation Initiative -- Cristina Chumillas 'ckrina' https://www.drupal.org/u/ckrina -- Sally Young 'justafish' https://www.drupal.org/u/justafish +https://www.drupal.org/contribute/core/maintainers for more information on +their responsibilities. The initiative coordinators are: -Layout Initiative -- Tim Plunkett 'tim.plunkett' https://www.drupal.org/u/tim.plunkett -- Emilie Nouveau 'DyanneNova' https://www.drupal.org/u/dyannenova +Decoupled Menus Initiative +- Théodore Biadala 'nod_' https://www.drupal.org/u/nod_ +- Brian Perry 'brianperry' https://www.drupal.org/u/brianperry Media Initiative - Janez Urevc 'slashrsm' https://www.drupal.org/u/slashrsm -PHPUnit Initiative -- Daniel Wehner 'dawehner' https://www.drupal.org/u/dawehner -- (provisional) Michiel Nugter 'michielnugter' https://www.drupal.org/u/michielnugter -- (provisional) Len Swaneveld 'Lendude' https://www.drupal.org/u/lendude - -Workflow Initiative -- Dick Olsson 'dixon_' https://www.drupal.org/u/dixon_ - -Provisional membership: None at this time. +Project Browser Initiative +- Leslie Glynn 'leslieg' https://www.drupal.org/u/leslieg +- Chris Wells 'chrisfromredfin' https://www.drupal.org/u/chrisfromredfin Core mentoring coordinators --------------------------- -The Drupal Core mentors inspire, enable, and encourage new core contributors. +The Drupal core mentors inspire, enable, and encourage new core contributors. See https://www.drupal.org/core-mentoring for more information about mentoring. Mentoring coordinators recruit and coach other mentors. They work on contributor @@ -540,13 +551,13 @@ tools, documentation, and processes to make it easier for new contributors to get involved. They organize communications and logistics, and actively participate in mentoring. +- Chris Darke 'chrisdarke' https://www.drupal.org/u/chrisdarke - Mauricio Dinarte 'dinarcon' https://www.drupal.org/u/dinarcon +- Brian Gilbert 'realityloop' https://www.drupal.org/u/realityloop - Lucas Hedding 'heddn' https://www.drupal.org/u/heddn +- AmyJune Hineline 'volkswagenchick' https://www.drupal.org/u/volkswagenchick - Tara King 'sparklingrobots' https://www.drupal.org/u/sparklingrobots - Rachel Lawson 'rachel_norfolk' https://www.drupal.org/u/rachel_norfolk -- Valery Lourie 'valthebald' https://www.drupal.org/u/valthebald - Elli Ludwigson 'ekl1773' https://www.drupal.org/u/ekl1773 - Jess Myrbo 'xjm' https://www.drupal.org/u/xjm - Matthew Radcliffe 'mradcliffe' https://www.drupal.org/u/mradcliffe - -Provisional membership: None at this time. diff --git a/README.txt b/core/USAGE.txt similarity index 67% rename from README.txt rename to core/USAGE.txt index d0964b0a942..9b772874f35 100644 --- a/README.txt +++ b/core/USAGE.txt @@ -1,30 +1,3 @@ - -CONTENTS OF THIS FILE ---------------------- - - * About Drupal - * Configuration and features - * Installation profiles - * Appearance - * Developing for Drupal - * More information - - -ABOUT DRUPAL ------------- - -Drupal is an open source content management platform supporting a variety of -websites ranging from personal weblogs to large community-driven websites. For -more information, see the Drupal website at https://www.drupal.org, and join -the Drupal community at https://www.drupal.org/community. - -Legal information about Drupal: - * Know your rights when using Drupal: - See LICENSE.txt in the "core" directory. - * Learn about the Drupal trademark and logo policy: - https://www.drupal.com/trademark - - CONFIGURATION AND FEATURES -------------------------- @@ -76,7 +49,6 @@ More about installation profiles and distributions: * Develop your own installation profile or distribution: https://www.drupal.org/docs/distributions/creating-distributions - APPEARANCE ---------- @@ -96,12 +68,9 @@ DEVELOPING FOR DRUPAL --------------------- Drupal contains an extensive API that allows you to add to and modify the -functionality of your site. The API consists of "hooks", which allow modules to -react to system events and customize Drupal's behavior, and functions that -standardize common operations such as database queries and form generation. The -flexible hook architecture means that you should never need to directly modify -the files that come with Drupal core to achieve the functionality you want; -instead, functionality modifications take the form of modules. +functionality of your site. This means that you should never need to directly +modify the files that come with Drupal core to achieve the behavior you want; +instead, modifications take the form of modules. When you need new functionality for your Drupal site, search for existing contributed modules. If you find a module that matches except for a bug or an @@ -110,6 +79,8 @@ back to the project in the form of a "patch". Create new custom modules only when nothing existing comes close to what you need. More about developing: + * Extending and altering Drupal + https://api.drupal.org/api/drupal/core%21core.api.php/group/extending * Search for existing contributed modules: https://www.drupal.org/project/project_module * Contribute a patch: @@ -119,25 +90,6 @@ More about developing: * Follow programming best practices: https://www.drupal.org/docs/develop/standards * Refer to the API documentation: - https://api.drupal.org/api/drupal/9 + https://api.drupal.org * Learn from documented Drupal API examples: https://www.drupal.org/project/examples - - -MORE INFORMATION ----------------- - - * See the Drupal.org online documentation: - https://www.drupal.org/documentation - - * For a list of security announcements, see the "Security advisories" page at - https://www.drupal.org/security (available as an RSS feed). This page also - describes how to subscribe to these announcements via email. - - * For information about the Drupal security process, or to find out how to - report a potential security issue to the Drupal security team, see the - "Security team" page at https://www.drupal.org/drupal-security-team - - * For information about the wide range of available support options, visit - https://www.drupal.org and click on Community and Support in the top or - bottom navigation. diff --git a/core/assets/scaffold/README.txt b/core/assets/scaffold/README.txt index 767b508da7f..88e36053c4b 100644 --- a/core/assets/scaffold/README.txt +++ b/core/assets/scaffold/README.txt @@ -1,11 +1,10 @@ Drupal Scaffold Files are files that are contained inside drupal/core, but are installed outside of the core directory (e.g. at the Drupal root). -Scaffold files were added to drupal/core in Drupal 8.8.x. During the Drupal 8 -development cycle, the scaffold files are also being maintained in their original +For now, the scaffold files are being maintained in their original locations. This is done so that Drupal sites based on the template project -drupal-composer/drupal-project may continue to download these files from the same -URLs they have historically been found at. +drupal-composer/drupal-project may continue to download these files from the +same URLs they have historically been found at. -The scaffold files will be deleted from their original location in Drupal 9. +Those will be deleted from their original location in a future version. See https://www.drupal.org/project/drupal/issues/3075954 for follow-on work. diff --git a/core/assets/scaffold/files/default.services.yml b/core/assets/scaffold/files/default.services.yml index 45d986cd8e5..b4d27e05a56 100644 --- a/core/assets/scaffold/files/default.services.yml +++ b/core/assets/scaffold/files/default.services.yml @@ -11,10 +11,11 @@ parameters: # @default 100 gc_divisor: 100 # - # Set session lifetime (in seconds), i.e. the time from the user's last - # visit to the active session may be deleted by the session garbage - # collector. When a session is deleted, authenticated users are logged out, - # and the contents of the user's $_SESSION variable is discarded. + # Set session lifetime (in seconds), i.e. the grace period for session + # data. Sessions are deleted by the session garbage collector after one + # session lifetime has elapsed since the user's last visit. When a session + # is deleted, authenticated users are logged out, and the contents of the + # user's session is discarded. # @default 200000 gc_maxlifetime: 200000 # @@ -36,6 +37,22 @@ parameters: # @default none # cookie_domain: '.example.com' # + # Set the session ID string length. The length can be between 22 to 256. The + # PHP recommended value is 48. See + # https://www.php.net/manual/session.security.ini.php for more information. + # This value should be kept in sync with + # \Drupal\Core\Session\SessionConfiguration::__construct() + # @default 48 + sid_length: 48 + # + # Set the number of bits in encoded session ID character. The possible + # values are '4' (0-9, a-f), '5' (0-9, a-v), and '6' (0-9, a-z, A-Z, "-", + # ","). The PHP recommended value is 6. See + # https://www.php.net/manual/session.security.ini.php for more information. + # This value should be kept in sync with + # \Drupal\Core\Session\SessionConfiguration::__construct() + # @default 6 + sid_bits_per_character: 6 twig.config: # Twig debugging: # @@ -53,7 +70,7 @@ parameters: # For more information about debugging Twig templates, see # https://www.drupal.org/node/1906392. # - # Not recommended in production environments + # Enabling Twig debugging is not recommended in production environments. # @default false debug: false # Twig auto-reload: @@ -62,7 +79,7 @@ parameters: # If you don't provide a value for auto_reload, it will be determined # based on the value of debug. # - # Not recommended in production environments + # Enabling auto-reload is not recommended in production environments. # @default null auto_reload: null # Twig cache: @@ -73,9 +90,24 @@ parameters: # auto_reload setting above should be enabled rather than disabling the # Twig cache. # - # Not recommended in production environments + # Disabling the Twig cache is not recommended in production environments. # @default true cache: true + # File extensions: + # + # List of file extensions the Twig system is allowed to load via the + # twig.loader.filesystem service. Files with other extensions will not be + # loaded unless they are added here. For example, to allow a file named + # 'example.partial' to be loaded, add 'partial' to this list. To load files + # with no extension, add an empty string '' to the list. + # + # @default ['css', 'html', 'js', 'svg', 'twig'] + allowed_file_extensions: + - css + - html + - js + - svg + - twig renderer.config: # Renderer required cache contexts: # @@ -115,6 +147,14 @@ parameters: # # @default [] tags: [] + # Renderer cache debug: + # + # Allows cache debugging output for each rendered element. + # + # Enabling render cache debugging is not recommended in production + # environments. + # @default false + debug: false # Cacheability debugging: # # Responses with cacheability metadata (CacheableResponseInterface instances) @@ -124,19 +164,20 @@ parameters: # For more information about debugging cacheable responses, see # https://www.drupal.org/developing/api/8/response/cacheable-response-interface # - # Not recommended in production environments + # Enabling cacheability debugging is not recommended in production + # environments. # @default false http.response.debug_cacheability_headers: false factory.keyvalue: {} - # Default key/value storage service to use. - # @default keyvalue.database - # default: keyvalue.database - # Collection-specific overrides. - # state: keyvalue.database + # Default key/value storage service to use. + # @default keyvalue.database + # default: keyvalue.database + # Collection-specific overrides. + # state: keyvalue.database factory.keyvalue.expirable: {} - # Default key/value expirable storage service to use. - # @default keyvalue.database.expirable - # default: keyvalue.database.expirable + # Default key/value expirable storage service to use. + # @default keyvalue.database.expirable + # default: keyvalue.database.expirable # Allowed protocols for URL generation. filter_protocols: - http @@ -153,17 +194,18 @@ parameters: - webcal - rtsp - # Configure Cross-Site HTTP requests (CORS). - # Read https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS - # for more information about the topic in general. - # Note: By default the configuration is disabled. + # Configure Cross-Site HTTP requests (CORS). + # Read https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS + # for more information about the topic in general. + # Note: By default the configuration is disabled. cors.config: enabled: false # Specify allowed headers, like 'x-allowed-header'. allowedHeaders: [] # Specify allowed request methods, specify ['*'] to allow all possible ones. allowedMethods: [] - # Configure requests allowed from specific origins. + # Configure requests allowed from specific origins. Do not include trailing + # slashes with URLs. allowedOrigins: ['*'] # Sets the Access-Control-Expose-Headers header. exposedHeaders: false diff --git a/core/assets/scaffold/files/default.settings.php b/core/assets/scaffold/files/default.settings.php index 0bb18b0da80..20d7893698e 100644 --- a/core/assets/scaffold/files/default.settings.php +++ b/core/assets/scaffold/files/default.settings.php @@ -1,6 +1,6 @@ 'main_', + * $databases['default']['default']['init_commands'] = [ + * 'isolation_level' => 'SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED', + * ]; * @endcode * - * Per-table prefixes are deprecated as of Drupal 8.2, and will be removed in - * Drupal 9.0. After that, only a single prefix for all tables will be - * supported. + * You can optionally set a prefix for all database table names by using the + * 'prefix' setting. If a prefix is specified, the table name will be prepended + * with its value. Be sure to use valid database characters only, usually + * alphanumeric and underscore. If no prefix is desired, do not set the 'prefix' + * key or set its value to an empty string ''. * - * To provide prefixes for specific tables, set 'prefix' as an array. - * The array's keys are the table names and the values are the prefixes. - * The 'default' element is mandatory and holds the prefix for any tables - * not specified elsewhere in the array. Example: - * @code - * 'prefix' => [ - * 'default' => 'main_', - * 'users' => 'shared_', - * 'sessions' => 'shared_', - * 'role' => 'shared_', - * 'authmap' => 'shared_', - * ], - * @endcode - * You can also use a reference to a schema/database as a prefix. This may be - * useful if your Drupal installation exists in a schema that is not the default - * or you want to access several databases from the same code base at the same - * time. - * Example: + * For example, to have all database table prefixed with 'main_', set: * @code - * 'prefix' => [ - * 'default' => 'main.', - * 'users' => 'shared.', - * 'sessions' => 'shared.', - * 'role' => 'shared.', - * 'authmap' => 'shared.', - * ]; + * 'prefix' => 'main_', * @endcode - * NOTE: MySQL and SQLite's definition of a schema is a database. * * Advanced users can add or override initial commands to execute when * connecting to the database server, as well as PDO connection settings. For @@ -203,9 +185,9 @@ * information on these defaults and the potential issues. * * More details can be found in the constructor methods for each driver: - * - \Drupal\Core\Database\Driver\mysql\Connection::__construct() - * - \Drupal\Core\Database\Driver\pgsql\Connection::__construct() - * - \Drupal\Core\Database\Driver\sqlite\Connection::__construct() + * - \Drupal\mysql\Driver\Database\mysql\Connection::__construct() + * - \Drupal\pgsql\Driver\Database\pgsql\Connection::__construct() + * - \Drupal\sqlite\Driver\Database\sqlite\Connection::__construct() * * Sample Database configuration format for PostgreSQL (pgsql): * @code @@ -308,16 +290,18 @@ $settings['update_free_access'] = FALSE; /** - * Fallback to HTTP for Update Manager. + * Fallback to HTTP for Update Manager and for fetching security advisories. * - * If your Drupal site fails to connect to updates.drupal.org using HTTPS to - * fetch Drupal core, module and theme update status, you may uncomment this - * setting and set it to TRUE to allow an insecure fallback to HTTP. Note that - * doing so will open your site up to a potential man-in-the-middle attack. You - * should instead attempt to resolve the issues before enabling this option. + * If your site fails to connect to updates.drupal.org over HTTPS (either when + * fetching data on available updates, or when fetching the feed of critical + * security announcements), you may uncomment this setting and set it to TRUE to + * allow an insecure fallback to HTTP. Note that doing so will open your site up + * to a potential man-in-the-middle attack. You should instead attempt to + * resolve the issues before enabling this option. * @see https://www.drupal.org/docs/system-requirements/php-requirements#openssl * @see https://en.wikipedia.org/wiki/Man-in-the-middle_attack * @see \Drupal\update\UpdateFetcher + * @see \Drupal\system\SecurityAdvisories\SecurityAdvisoriesFetcher */ # $settings['update_fetch_with_http_fallback'] = TRUE; @@ -374,10 +358,13 @@ # $settings['reverse_proxy'] = TRUE; /** - * Specify every reverse proxy IP address in your environment. - * This setting is required if $settings['reverse_proxy'] is TRUE. + * Reverse proxy addresses. + * + * Specify every reverse proxy IP address in your environment, as an array of + * IPv4/IPv6 addresses or subnets in CIDR notation. This setting is required if + * $settings['reverse_proxy'] is TRUE. */ -# $settings['reverse_proxy_addresses'] = ['a.b.c.d', ...]; +# $settings['reverse_proxy_addresses'] = ['a.b.c.d', 'e.f.g.h/24', ...]; /** * Reverse proxy trusted headers. @@ -385,17 +372,20 @@ * Sets which headers to trust from your reverse proxy. * * Common values are: - * - \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_ALL + * - \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_FOR + * - \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_HOST + * - \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_PORT + * - \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_PROTO * - \Symfony\Component\HttpFoundation\Request::HEADER_FORWARDED * * Note the default value of * @code - * \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_ALL | \Symfony\Component\HttpFoundation\Request::HEADER_FORWARDED + * \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_FOR | \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_HOST | \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_PORT | \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_PROTO | \Symfony\Component\HttpFoundation\Request::HEADER_FORWARDED * @endcode * is not secure by default. The value should be set to only the specific * headers the reverse proxy uses. For example: * @code - * \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_ALL + * \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_FOR | \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_HOST | \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_PORT | \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_PROTO * @endcode * This would trust the following headers: * - X_FORWARDED_FOR @@ -403,11 +393,14 @@ * - X_FORWARDED_PROTO * - X_FORWARDED_PORT * - * @see \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_ALL + * @see \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_FOR + * @see \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_HOST + * @see \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_PORT + * @see \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_PROTO * @see \Symfony\Component\HttpFoundation\Request::HEADER_FORWARDED * @see \Symfony\Component\HttpFoundation\Request::setTrustedProxies */ -# $settings['reverse_proxy_trusted_headers'] = \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_ALL | \Symfony\Component\HttpFoundation\Request::HEADER_FORWARDED; +# $settings['reverse_proxy_trusted_headers'] = \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_FOR | \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_HOST | \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_PORT | \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_PROTO | \Symfony\Component\HttpFoundation\Request::HEADER_FORWARDED; /** @@ -515,6 +508,48 @@ */ # $settings['file_public_path'] = 'sites/default/files'; +/** + * Additional public file schemes: + * + * Public schemes are URI schemes that allow download access to all users for + * all files within that scheme. + * + * The "public" scheme is always public, and the "private" scheme is always + * private, but other schemes, such as "https", "s3", "example", or others, + * can be either public or private depending on the site. By default, they're + * private, and access to individual files is controlled via + * hook_file_download(). + * + * Typically, if a scheme should be public, a module makes it public by + * implementing hook_file_download(), and granting access to all users for all + * files. This could be either the same module that provides the stream wrapper + * for the scheme, or a different module that decides to make the scheme + * public. However, in cases where a site needs to make a scheme public, but + * is unable to add code in a module to do so, the scheme may be added to this + * variable, the result of which is that system_file_download() grants public + * access to all files within that scheme. + */ +# $settings['file_additional_public_schemes'] = ['example']; + +/** + * File schemes whose paths should not be normalized: + * + * Normally, Drupal normalizes '/./' and '/../' segments in file URIs in order + * to prevent unintended file access. For example, 'private://css/../image.png' + * is normalized to 'private://image.png' before checking access to the file. + * + * On Windows, Drupal also replaces '\' with '/' in URIs for the local + * filesystem. + * + * If file URIs with one or more scheme should not be normalized like this, then + * list the schemes here. For example, if 'porcelain://china/./plate.png' should + * not be normalized to 'porcelain://china/plate.png', then add 'porcelain' to + * this array. In this case, make sure that the module providing the 'porcelain' + * scheme does not allow unintended file access when using '/../' to move up the + * directory tree. + */ +# $settings['file_sa_core_2023_005_schemes'] = ['porcelain']; + /** * Private file path: * @@ -578,7 +613,7 @@ * * Note: This setting does not apply to installation and update pages. */ -# $settings['maintenance_theme'] = 'bartik'; +# $settings['maintenance_theme'] = 'claro'; /** * PHP settings: @@ -628,33 +663,6 @@ # $config['system.site']['name'] = 'My Drupal site'; # $config['user.settings']['anonymous'] = 'Visitor'; -/** - * Fast 404 pages: - * - * Drupal can generate fully themed 404 pages. However, some of these responses - * are for images or other resource files that are not displayed to the user. - * This can waste bandwidth, and also generate server load. - * - * The options below return a simple, fast 404 page for URLs matching a - * specific pattern: - * - $config['system.performance']['fast_404']['exclude_paths']: A regular - * expression to match paths to exclude, such as images generated by image - * styles, or dynamically-resized images. The default pattern provided below - * also excludes the private file system. If you need to add more paths, you - * can add '|path' to the expression. - * - $config['system.performance']['fast_404']['paths']: A regular expression to - * match paths that should return a simple 404 page, rather than the fully - * themed 404 page. If you don't have any aliases ending in htm or html you - * can add '|s?html?' to the expression. - * - $config['system.performance']['fast_404']['html']: The html to return for - * simple 404 pages. - * - * Remove the leading hash signs if you would like to alter this functionality. - */ -# $config['system.performance']['fast_404']['exclude_paths'] = '/\/(?:styles)|(?:system\/files)\//'; -# $config['system.performance']['fast_404']['paths'] = '/\.(?:txt|png|gif|jpe?g|css|js|ico|swf|flv|cgi|bat|pl|dll|exe|asp)$/i'; -# $config['system.performance']['fast_404']['html'] = '404 Not Found

Not Found

The requested URL "@path" was not found on this server.

'; - /** * Load services definition file. */ @@ -713,6 +721,8 @@ * @endcode * will allow the site to run off of all variants of example.com and * example.org, with all subdomains included. + * + * @see https://www.drupal.org/docs/installing-drupal/trusted-host-settings */ /** @@ -762,6 +772,49 @@ */ $settings['migrate_node_migrate_type_classic'] = FALSE; +/** + * The default settings for migration sources. + * + * These settings are used as the default settings on the Credential form at + * /upgrade/credentials. + * + * - migrate_source_version - The version of the source database. This can be + * '6' or '7'. Defaults to '7'. + * - migrate_source_connection - The key in the $databases array for the source + * site. + * - migrate_file_public_path - The location of the source Drupal 6 or Drupal 7 + * public files. This can be a local file directory containing the source + * Drupal 6 or Drupal 7 site (e.g /var/www/docroot), or the site address + * (e.g http://example.com). + * - migrate_file_private_path - The location of the source Drupal 7 private + * files. This can be a local file directory containing the source Drupal 7 + * site (e.g /var/www/docroot), or empty to use the same value as Public + * files directory. + * + * Sample configuration for a drupal 6 source site with the source files in a + * local directory. + * + * @code + * $settings['migrate_source_version'] = '6'; + * $settings['migrate_source_connection'] = 'migrate'; + * $settings['migrate_file_public_path'] = '/var/www/drupal6'; + * @endcode + * + * Sample configuration for a drupal 7 source site with public source files on + * the source site and the private files in a local directory. + * + * @code + * $settings['migrate_source_version'] = '7'; + * $settings['migrate_source_connection'] = 'migrate'; + * $settings['migrate_file_public_path'] = 'https://drupal7.com'; + * $settings['migrate_file_private_path'] = '/var/www/drupal7'; + * @endcode + */ +# $settings['migrate_source_connection'] = ''; +# $settings['migrate_source_version'] = ''; +# $settings['migrate_file_public_path'] = ''; +# $settings['migrate_file_private_path'] = ''; + /** * Load local development override configuration, if available. * diff --git a/core/assets/scaffold/files/drupal.README.md b/core/assets/scaffold/files/drupal.README.md new file mode 100644 index 00000000000..c3e53713409 --- /dev/null +++ b/core/assets/scaffold/files/drupal.README.md @@ -0,0 +1,75 @@ +Drupal Logo + +Drupal is an open source content management platform supporting a variety of +websites ranging from personal weblogs to large community-driven websites. For +more information, visit the Drupal website, [Drupal.org][Drupal.org], and join +the [Drupal community][Drupal community]. + +## Contributing + +Drupal is developed on [Drupal.org][Drupal.org], the home of the international +Drupal community since 2001! + +[Drupal.org][Drupal.org] hosts Drupal's [GitLab repository][GitLab repository], +its [issue queue][issue queue], and its [documentation][documentation]. Before +you start working on code, be sure to search the [issue queue][issue queue] and +create an issue if your aren't able to find an existing issue. + +Every issue on Drupal.org automatically creates a new community-accessible fork +that you can contribute to. Learn more about the code contribution process on +the [Issue forks & merge requests page][issue forks]. + +## Usage + +For a brief introduction, see [USAGE.txt](/core/USAGE.txt). You can also find +guides, API references, and more by visiting Drupal's [documentation +page][documentation]. + +You can quickly extend Drupal's core feature set by installing any of its +[thousands of free and open source modules][modules]. With Drupal and its +module ecosystem, you can often build most or all of what your project needs +before writing a single line of code. + +## Changelog + +Drupal keeps detailed [change records][changelog]. You can search Drupal's +changes for a record of every notable breaking change and new feature since +2011. + +## Security + +For a list of security announcements, see the [Security advisories +page][Security advisories] (available as [an RSS feed][security RSS]). This +page also describes how to subscribe to these announcements via email. + +For information about the Drupal security process, or to find out how to report +a potential security issue to the Drupal security team, see the [Security team +page][security team]. + +## Need a helping hand? + +Visit the [Support page][support] or browse [over a thousand Drupal +providers][service providers] offering design, strategy, development, and +hosting services. + +## Legal matters + +Know your rights when using Drupal by reading Drupal core's +[license](/core/LICENSE.txt). + +Learn about the [Drupal trademark and logo policy here][trademark]. + +[Drupal.org]: https://www.drupal.org +[Drupal community]: https://www.drupal.org/community +[GitLab repository]: https://git.drupalcode.org/project/drupal +[issue queue]: https://www.drupal.org/project/issues/drupal +[issue forks]: https://www.drupal.org/drupalorg/docs/gitlab-integration/issue-forks-merge-requests +[documentation]: https://www.drupal.org/documentation +[changelog]: https://www.drupal.org/list-changes/drupal +[modules]: https://www.drupal.org/project/project_module +[security advisories]: https://www.drupal.org/security +[security RSS]: https://www.drupal.org/security/rss.xml +[security team]: https://www.drupal.org/drupal-security-team +[service providers]: https://www.drupal.org/drupal-services +[support]: https://www.drupal.org/support +[trademark]: https://www.drupal.com/trademark diff --git a/core/assets/scaffold/files/drupal.README.txt b/core/assets/scaffold/files/drupal.README.txt deleted file mode 100644 index d0964b0a942..00000000000 --- a/core/assets/scaffold/files/drupal.README.txt +++ /dev/null @@ -1,143 +0,0 @@ - -CONTENTS OF THIS FILE ---------------------- - - * About Drupal - * Configuration and features - * Installation profiles - * Appearance - * Developing for Drupal - * More information - - -ABOUT DRUPAL ------------- - -Drupal is an open source content management platform supporting a variety of -websites ranging from personal weblogs to large community-driven websites. For -more information, see the Drupal website at https://www.drupal.org, and join -the Drupal community at https://www.drupal.org/community. - -Legal information about Drupal: - * Know your rights when using Drupal: - See LICENSE.txt in the "core" directory. - * Learn about the Drupal trademark and logo policy: - https://www.drupal.com/trademark - - -CONFIGURATION AND FEATURES --------------------------- - -Drupal core (what you get when you download and extract a drupal-x.y.tar.gz or -drupal-x.y.zip file from https://www.drupal.org/project/drupal) has what you -need to get started with your website. It includes several modules (extensions -that add functionality) for common website features, such as managing content, -user accounts, image uploading, and search. Core comes with many options that -allow site-specific configuration. In addition to the core modules, there are -thousands of contributed modules (for functionality not included with Drupal -core) available for download. - -More about configuration: - * Install, update, and maintain Drupal: - See INSTALL.txt and UPDATE.txt in the "core" directory. - * Learn about how to use Drupal to create your site: - https://www.drupal.org/documentation - * Follow best practices: - https://www.drupal.org/best-practices - * Download contributed modules to /modules to extend Drupal's functionality: - https://www.drupal.org/project/project_module - * See also: "Developing for Drupal" for writing your own modules, below. - - -INSTALLATION PROFILES ---------------------- - -Installation profiles define additional steps (such as enabling modules, -defining content types, etc.) that run after the base installation provided -by core when Drupal is first installed. There are two basic installation -profiles provided with Drupal core. - -Installation profiles from the Drupal community modify the installation process -to provide a website for a specific use case, such as a CMS for media -publishers, a web-based project tracking tool, or a full-fledged CRM for -non-profit organizations raising money and accepting donations. They can be -distributed as bare installation profiles or as "distributions". Distributions -include Drupal core, the installation profile, and all other required -extensions, such as contributed and custom modules, themes, and third-party -libraries. Bare installation profiles require you to download Drupal Core and -the required extensions separately; place the downloaded profile in the -/profiles directory before you start the installation process. - -More about installation profiles and distributions: - * Read about the difference between installation profiles and distributions: - https://www.drupal.org/docs/distributions/creating-distributions - * Download contributed installation profiles and distributions: - https://www.drupal.org/project/project_distribution - * Develop your own installation profile or distribution: - https://www.drupal.org/docs/distributions/creating-distributions - - -APPEARANCE ----------- - -In Drupal, the appearance of your site is set by the theme (themes are -extensions that set fonts, colors, and layout). Drupal core comes with several -themes. More themes are available for download, and you can also create your own -custom theme. - -More about themes: - * Download contributed themes to /themes to modify Drupal's appearance: - https://www.drupal.org/project/project_theme - * Develop your own theme: - https://www.drupal.org/docs/theming-drupal - - -DEVELOPING FOR DRUPAL ---------------------- - -Drupal contains an extensive API that allows you to add to and modify the -functionality of your site. The API consists of "hooks", which allow modules to -react to system events and customize Drupal's behavior, and functions that -standardize common operations such as database queries and form generation. The -flexible hook architecture means that you should never need to directly modify -the files that come with Drupal core to achieve the functionality you want; -instead, functionality modifications take the form of modules. - -When you need new functionality for your Drupal site, search for existing -contributed modules. If you find a module that matches except for a bug or an -additional needed feature, change the module and contribute your improvements -back to the project in the form of a "patch". Create new custom modules only -when nothing existing comes close to what you need. - -More about developing: - * Search for existing contributed modules: - https://www.drupal.org/project/project_module - * Contribute a patch: - https://www.drupal.org/patch/submit - * Develop your own module: - https://www.drupal.org/developing/modules - * Follow programming best practices: - https://www.drupal.org/docs/develop/standards - * Refer to the API documentation: - https://api.drupal.org/api/drupal/9 - * Learn from documented Drupal API examples: - https://www.drupal.org/project/examples - - -MORE INFORMATION ----------------- - - * See the Drupal.org online documentation: - https://www.drupal.org/documentation - - * For a list of security announcements, see the "Security advisories" page at - https://www.drupal.org/security (available as an RSS feed). This page also - describes how to subscribe to these announcements via email. - - * For information about the Drupal security process, or to find out how to - report a potential security issue to the Drupal security team, see the - "Security team" page at https://www.drupal.org/drupal-security-team - - * For information about the wide range of available support options, visit - https://www.drupal.org and click on Community and Support in the top or - bottom navigation. diff --git a/core/assets/scaffold/files/example.settings.local.php b/core/assets/scaffold/files/example.settings.local.php index f91b9afb294..a9f1aca025c 100644 --- a/core/assets/scaffold/files/example.settings.local.php +++ b/core/assets/scaffold/files/example.settings.local.php @@ -1,6 +1,6 @@ + Require all denied @@ -32,12 +32,17 @@ AddEncoding gzip svgz php_value assert.active 0
+# PHP 8, Apache 1 and 2. + + php_value assert.active 0 + + # Requires mod_expires to be enabled. # Enable expirations. ExpiresActive On - # Cache all files for 2 weeks after access (A). + # Cache all files and redirects for 2 weeks after access (A). ExpiresDefault A1209600 @@ -153,12 +158,12 @@ AddEncoding gzip svgz # Serve gzip compressed CSS files if they exist and the client accepts gzip. RewriteCond %{HTTP:Accept-encoding} gzip RewriteCond %{REQUEST_FILENAME}\.gz -s - RewriteRule ^(.*)\.css $1\.css\.gz [QSA] + RewriteRule ^(.*css_[a-zA-Z0-9-_]+)\.css$ $1\.css\.gz [QSA] # Serve gzip compressed JS files if they exist and the client accepts gzip. RewriteCond %{HTTP:Accept-encoding} gzip RewriteCond %{REQUEST_FILENAME}\.gz -s - RewriteRule ^(.*)\.js $1\.js\.gz [QSA] + RewriteRule ^(.*js_[a-zA-Z0-9-_]+)\.js$ $1\.js\.gz [QSA] # Serve correct content types, and prevent double compression. RewriteRule \.css\.gz$ - [T=text/css,E=no-gzip:1,E=no-brotli:1] diff --git a/core/assets/scaffold/files/robots.txt b/core/assets/scaffold/files/robots.txt index 18f8df8e693..ebcd04b96ca 100644 --- a/core/assets/scaffold/files/robots.txt +++ b/core/assets/scaffold/files/robots.txt @@ -49,6 +49,8 @@ Disallow: /user/register Disallow: /user/password Disallow: /user/login Disallow: /user/logout +Disallow: /media/oembed +Disallow: /*/media/oembed # Paths (no clean URLs) Disallow: /index.php/admin/ Disallow: /index.php/comment/reply/ @@ -59,3 +61,5 @@ Disallow: /index.php/user/password Disallow: /index.php/user/register Disallow: /index.php/user/login Disallow: /index.php/user/logout +Disallow: /index.php/media/oembed +Disallow: /index.php/*/media/oembed diff --git a/core/assets/scaffold/files/web.config b/core/assets/scaffold/files/web.config index 8dff0b27e24..b769e45e369 100644 --- a/core/assets/scaffold/files/web.config +++ b/core/assets/scaffold/files/web.config @@ -22,7 +22,7 @@ - + @@ -33,18 +33,6 @@ - diff --git a/core/assets/vendor/backbone/backbone-min.js b/core/assets/vendor/backbone/backbone-min.js index c8c33e0d7f4..10945d244e2 100644 --- a/core/assets/vendor/backbone/backbone-min.js +++ b/core/assets/vendor/backbone/backbone-min.js @@ -1,2 +1,2 @@ -(function(t){var e=typeof self=="object"&&self.self===self&&self||typeof global=="object"&&global.global===global&&global;if(typeof define==="function"&&define.amd){define(["underscore","jquery","exports"],function(i,n,r){e.Backbone=t(e,r,i,n)})}else if(typeof exports!=="undefined"){var i=require("underscore"),n;try{n=require("jquery")}catch(r){}t(e,exports,i,n)}else{e.Backbone=t(e,{},e._,e.jQuery||e.Zepto||e.ender||e.$)}})(function(t,e,i,n){var r=t.Backbone;var s=Array.prototype.slice;e.VERSION="1.4.0";e.$=n;e.noConflict=function(){t.Backbone=r;return this};e.emulateHTTP=false;e.emulateJSON=false;var a=e.Events={};var o=/\s+/;var h;var u=function(t,e,n,r,s){var a=0,h;if(n&&typeof n==="object"){if(r!==void 0&&"context"in s&&s.context===void 0)s.context=r;for(h=i.keys(n);athis.length)r=this.length;if(r<0)r+=this.length+1;var s=[];var a=[];var o=[];var h=[];var u={};var l=e.add;var c=e.merge;var f=e.remove;var d=false;var v=this.comparator&&r==null&&e.sort!==false;var p=i.isString(this.comparator)?this.comparator:null;var g,m;for(m=0;m7);this._useHashChange=this._wantsHashChange&&this._hasHashChange;this._wantsPushState=!!this.options.pushState;this._hasPushState=!!(this.history&&this.history.pushState);this._usePushState=this._wantsPushState&&this._hasPushState;this.fragment=this.getFragment();this.root=("/"+this.root+"/").replace(L,"/");if(this._wantsHashChange&&this._wantsPushState){if(!this._hasPushState&&!this.atRoot()){var e=this.root.slice(0,-1)||"/";this.location.replace(e+"#"+this.getPath());return true}else if(this._hasPushState&&this.atRoot()){this.navigate(this.getHash(),{replace:true})}}if(!this._hasHashChange&&this._wantsHashChange&&!this._usePushState){this.iframe=document.createElement("iframe");this.iframe.src="javascript:0";this.iframe.style.display="none";this.iframe.tabIndex=-1;var n=document.body;var r=n.insertBefore(this.iframe,n.firstChild).contentWindow;r.document.open();r.document.close();r.location.hash="#"+this.fragment}var s=window.addEventListener||function(t,e){return attachEvent("on"+t,e)};if(this._usePushState){s("popstate",this.checkUrl,false)}else if(this._useHashChange&&!this.iframe){s("hashchange",this.checkUrl,false)}else if(this._wantsHashChange){this._checkUrlInterval=setInterval(this.checkUrl,this.interval)}if(!this.options.silent)return this.loadUrl()},stop:function(){var t=window.removeEventListener||function(t,e){return detachEvent("on"+t,e)};if(this._usePushState){t("popstate",this.checkUrl,false)}else if(this._useHashChange&&!this.iframe){t("hashchange",this.checkUrl,false)}if(this.iframe){document.body.removeChild(this.iframe);this.iframe=null}if(this._checkUrlInterval)clearInterval(this._checkUrlInterval);B.started=false},route:function(t,e){this.handlers.unshift({route:t,callback:e})},checkUrl:function(t){var e=this.getFragment();if(e===this.fragment&&this.iframe){e=this.getHash(this.iframe.contentWindow)}if(e===this.fragment)return false;if(this.iframe)this.navigate(e);this.loadUrl()},loadUrl:function(t){if(!this.matchRoot())return false;t=this.fragment=this.getFragment(t);return i.some(this.handlers,function(e){if(e.route.test(t)){e.callback(t);return true}})},navigate:function(t,e){if(!B.started)return false;if(!e||e===true)e={trigger:!!e};t=this.getFragment(t||"");var i=this.root;if(t===""||t.charAt(0)==="?"){i=i.slice(0,-1)||"/"}var n=i+t;t=t.replace(W,"");var r=this.decodeFragment(t);if(this.fragment===r)return;this.fragment=r;if(this._usePushState){this.history[e.replace?"replaceState":"pushState"]({},document.title,n)}else if(this._wantsHashChange){this._updateHash(this.location,t,e.replace);if(this.iframe&&t!==this.getHash(this.iframe.contentWindow)){var s=this.iframe.contentWindow;if(!e.replace){s.document.open();s.document.close()}this._updateHash(s.location,t,e.replace)}}else{return this.location.assign(n)}if(e.trigger)return this.loadUrl(t)},_updateHash:function(t,e,i){if(i){var n=t.href.replace(/(javascript:|#).*$/,"");t.replace(n+"#"+e)}else{t.hash="#"+e}}});e.history=new B;var D=function(t,e){var n=this;var r;if(t&&i.has(t,"constructor")){r=t.constructor}else{r=function(){return n.apply(this,arguments)}}i.extend(r,n,e);r.prototype=i.create(n.prototype,t);r.prototype.constructor=r;r.__super__=n.prototype;return r};m.extend=_.extend=O.extend=T.extend=B.extend=D;var V=function(){throw new Error('A "url" property or function must be specified')};var G=function(t,e){var i=e.error;e.error=function(n){if(i)i.call(e.context,t,n,e);t.trigger("error",t,n,e)}};return e}); -//# sourceMappingURL=backbone-min.map \ No newline at end of file +(function(r){var n=typeof self=="object"&&self.self===self&&self||typeof global=="object"&&global.global===global&&global;if(typeof define==="function"&&define.amd){define(["underscore","jquery","exports"],function(t,e,i){n.Backbone=r(n,i,t,e)})}else if(typeof exports!=="undefined"){var t=require("underscore"),e;try{e=require("jquery")}catch(t){}r(n,exports,t,e)}else{n.Backbone=r(n,{},n._,n.jQuery||n.Zepto||n.ender||n.$)}})(function(t,h,x,e){var i=t.Backbone;var a=Array.prototype.slice;h.VERSION="1.4.1";h.$=e;h.noConflict=function(){t.Backbone=i;return this};h.emulateHTTP=false;h.emulateJSON=false;var r=h.Events={};var o=/\s+/;var l;var u=function(t,e,i,r,n){var s=0,a;if(i&&typeof i==="object"){if(r!==void 0&&"context"in n&&n.context===void 0)n.context=r;for(a=x.keys(i);sthis.length)r=this.length;if(r<0)r+=this.length+1;var n=[];var s=[];var a=[];var o=[];var h={};var l=e.add;var u=e.merge;var c=e.remove;var f=false;var d=this.comparator&&r==null&&e.sort!==false;var v=x.isString(this.comparator)?this.comparator:null;var p,g;for(g=0;g7);this._useHashChange=this._wantsHashChange&&this._hasHashChange;this._wantsPushState=!!this.options.pushState;this._hasPushState=!!(this.history&&this.history.pushState);this._usePushState=this._wantsPushState&&this._hasPushState;this.fragment=this.getFragment();this.root=("/"+this.root+"/").replace(L,"/");if(this._wantsHashChange&&this._wantsPushState){if(!this._hasPushState&&!this.atRoot()){var e=this.root.slice(0,-1)||"/";this.location.replace(e+"#"+this.getPath());return true}else if(this._hasPushState&&this.atRoot()){this.navigate(this.getHash(),{replace:true})}}if(!this._hasHashChange&&this._wantsHashChange&&!this._usePushState){this.iframe=document.createElement("iframe");this.iframe.src="javascript:0";this.iframe.style.display="none";this.iframe.tabIndex=-1;var i=document.body;var r=i.insertBefore(this.iframe,i.firstChild).contentWindow;r.document.open();r.document.close();r.location.hash="#"+this.fragment}var n=window.addEventListener||function(t,e){return attachEvent("on"+t,e)};if(this._usePushState){n("popstate",this.checkUrl,false)}else if(this._useHashChange&&!this.iframe){n("hashchange",this.checkUrl,false)}else if(this._wantsHashChange){this._checkUrlInterval=setInterval(this.checkUrl,this.interval)}if(!this.options.silent)return this.loadUrl()},stop:function(){var t=window.removeEventListener||function(t,e){return detachEvent("on"+t,e)};if(this._usePushState){t("popstate",this.checkUrl,false)}else if(this._useHashChange&&!this.iframe){t("hashchange",this.checkUrl,false)}if(this.iframe){document.body.removeChild(this.iframe);this.iframe=null}if(this._checkUrlInterval)clearInterval(this._checkUrlInterval);B.started=false},route:function(t,e){this.handlers.unshift({route:t,callback:e})},checkUrl:function(t){var e=this.getFragment();if(e===this.fragment&&this.iframe){e=this.getHash(this.iframe.contentWindow)}if(e===this.fragment)return false;if(this.iframe)this.navigate(e);this.loadUrl()},loadUrl:function(e){if(!this.matchRoot())return false;e=this.fragment=this.getFragment(e);return x.some(this.handlers,function(t){if(t.route.test(e)){t.callback(e);return true}})},navigate:function(t,e){if(!B.started)return false;if(!e||e===true)e={trigger:!!e};t=this.getFragment(t||"");var i=this.root;if(t===""||t.charAt(0)==="?"){i=i.slice(0,-1)||"/"}var r=i+t;t=t.replace(W,"");var n=this.decodeFragment(t);if(this.fragment===n)return;this.fragment=n;if(this._usePushState){this.history[e.replace?"replaceState":"pushState"]({},document.title,r)}else if(this._wantsHashChange){this._updateHash(this.location,t,e.replace);if(this.iframe&&t!==this.getHash(this.iframe.contentWindow)){var s=this.iframe.contentWindow;if(!e.replace){s.document.open();s.document.close()}this._updateHash(s.location,t,e.replace)}}else{return this.location.assign(r)}if(e.trigger)return this.loadUrl(t)},_updateHash:function(t,e,i){if(i){var r=t.href.replace(/(javascript:|#).*$/,"");t.replace(r+"#"+e)}else{t.hash="#"+e}}});h.history=new B;var D=function(t,e){var i=this;var r;if(t&&x.has(t,"constructor")){r=t.constructor}else{r=function(){return i.apply(this,arguments)}}x.extend(r,i,e);r.prototype=x.create(i.prototype,t);r.prototype.constructor=r;r.__super__=i.prototype;return r};g.extend=m.extend=O.extend=A.extend=B.extend=D;var V=function(){throw new Error('A "url" property or function must be specified')};var G=function(e,i){var r=i.error;i.error=function(t){if(r)r.call(i.context,e,t,i);e.trigger("error",e,t,i)}};return h}); +//# sourceMappingURL=backbone-min.js.map \ No newline at end of file diff --git a/core/assets/vendor/backbone/backbone-min.js.map b/core/assets/vendor/backbone/backbone-min.js.map new file mode 100644 index 00000000000..c1bcd82abd4 --- /dev/null +++ b/core/assets/vendor/backbone/backbone-min.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["backbone.js"],"names":["factory","root","self","global","define","amd","_","$","exports","Backbone","require","e","jQuery","Zepto","ender","previousBackbone","slice","Array","prototype","VERSION","noConflict","this","emulateHTTP","emulateJSON","Events","eventSplitter","_listening","eventsApi","iteratee","events","name","callback","opts","i","names","context","keys","length","test","split","on","_events","onApi","ctx","listening","listeners","_listeners","id","interop","listenTo","obj","_listenId","uniqueId","listeningTo","_listeningTo","Listening","error","tryCatchOn","options","handlers","count","push","off","offApi","stopListening","ids","isEmpty","cleanup","remaining","j","handler","_callback","once","onceMap","bind","listenToOnce","map","offer","apply","arguments","trigger","Math","max","args","triggerApi","objEvents","allEvents","all","triggerEvents","concat","ev","l","a1","a2","a3","call","listener","unbind","extend","Model","attributes","attrs","preinitialize","cid","cidPrefix","collection","parse","defaults","result","set","changed","initialize","validationError","idAttribute","toJSON","clone","sync","get","attr","escape","has","matches","key","val","_validate","unset","silent","changes","changing","_changing","_previousAttributes","current","prev","isEqual","prevId","_pending","clear","hasChanged","changedAttributes","diff","old","previous","previousAttributes","fetch","model","success","resp","serverAttrs","wrapError","save","validate","wait","method","isNew","patch","xhr","destroy","defer","url","base","urlError","replace","encodeURIComponent","constructor","isValid","Collection","models","comparator","_reset","reset","setOptions","add","remove","merge","addOptions","splice","array","insert","at","min","tail","singular","isArray","removed","_removeModels","added","merged","_isModel","toAdd","toMerge","toRemove","modelMap","sort","sortable","sortAttr","isString","existing","_prepareModel","_addReference","orderChanged","some","m","index","_removeReference","previousModels","pop","unshift","shift","_byId","modelId","where","first","findWhere","Error","isFunction","sortBy","pluck","create","callbackOpts","values","CollectionIterator","ITERATOR_VALUES","ITERATOR_KEYS","entries","ITERATOR_KEYSVALUES","indexOf","_onModelEvent","event","$$iterator","Symbol","iterator","kind","_collection","_kind","_index","next","value","done","View","pick","viewOptions","_ensureElement","delegateEventSplitter","tagName","selector","$el","find","render","_removeElement","setElement","element","undelegateEvents","_setElement","delegateEvents","el","match","delegate","eventName","undelegate","_createElement","document","createElement","className","_setAttributes","addMethod","attribute","cb","defaultVal","addUnderscoreMethods","Class","methods","each","instance","isObject","modelMatcher","matcher","collectionMethods","forEach","collect","reduce","foldl","inject","reduceRight","foldr","detect","filter","select","reject","every","any","include","includes","contains","invoke","toArray","size","head","take","initial","rest","drop","last","without","difference","shuffle","lastIndexOf","chain","sample","partition","groupBy","countBy","indexBy","findIndex","findLastIndex","modelMethods","pairs","invert","omit","config","Base","mixin","mappings","functions","memo","type","methodMap","params","dataType","data","contentType","JSON","stringify","_method","beforeSend","setRequestHeader","processData","textStatus","errorThrown","ajax","update","delete","read","Router","routes","_bindRoutes","optionalParam","namedParam","splatParam","escapeRegExp","route","isRegExp","_routeToRegExp","router","history","fragment","_extractParameters","execute","navigate","optional","RegExp","exec","param","decodeURIComponent","History","checkUrl","window","location","routeStripper","rootStripper","pathStripper","started","interval","atRoot","path","pathname","getSearch","matchRoot","decodeFragment","rootPath","decodeURI","href","getHash","getPath","charAt","getFragment","_usePushState","_wantsHashChange","start","hashChange","_hasHashChange","documentMode","_useHashChange","_wantsPushState","pushState","_hasPushState","iframe","src","style","display","tabIndex","body","iWindow","insertBefore","firstChild","contentWindow","open","close","hash","addEventListener","attachEvent","_checkUrlInterval","setInterval","loadUrl","stop","removeEventListener","detachEvent","removeChild","clearInterval","decodedFragment","title","_updateHash","assign","protoProps","staticProps","parent","child","__super__"],"mappings":"CAOA,SAAUA,GAIR,IAAIC,SAAcC,MAAQ,UAAYA,KAAKA,OAASA,MAAQA,aAC3CC,QAAU,UAAYA,OAAOA,SAAWA,QAAUA,OAGnE,UAAWC,SAAW,YAAcA,OAAOC,IAAK,CAC9CD,OAAO,CAAC,aAAc,SAAU,WAAY,SAASE,EAAGC,EAAGC,GAGzDP,EAAKQ,SAAWT,EAAQC,EAAMO,EAASF,EAAGC,UAIvC,UAAWC,UAAY,YAAa,CACzC,IAAIF,EAAII,QAAQ,cAAeH,EAC/B,IAAMA,EAAIG,QAAQ,UAAa,MAAOC,IACtCX,EAAQC,EAAMO,QAASF,EAAGC,OAGrB,CACLN,EAAKQ,SAAWT,EAAQC,EAAM,GAAIA,EAAKK,EAAGL,EAAKW,QAAUX,EAAKY,OAASZ,EAAKa,OAASb,EAAKM,KAvB9F,CA0BG,SAASN,EAAMQ,EAAUH,EAAGC,GAO7B,IAAIQ,EAAmBd,EAAKQ,SAG5B,IAAIO,EAAQC,MAAMC,UAAUF,MAG5BP,EAASU,QAAU,QAInBV,EAASF,EAAIA,EAIbE,EAASW,WAAa,WACpBnB,EAAKQ,SAAWM,EAChB,OAAOM,MAMTZ,EAASa,YAAc,MAMvBb,EAASc,YAAc,MAevB,IAAIC,EAASf,EAASe,OAAS,GAG/B,IAAIC,EAAgB,MAGpB,IAAIC,EAKJ,IAAIC,EAAY,SAASC,EAAUC,EAAQC,EAAMC,EAAUC,GACzD,IAAIC,EAAI,EAAGC,EACX,GAAIJ,UAAeA,IAAS,SAAU,CAEpC,GAAIC,SAAkB,GAAK,YAAaC,GAAQA,EAAKG,eAAiB,EAAGH,EAAKG,QAAUJ,EACxF,IAAKG,EAAQ5B,EAAE8B,KAAKN,GAAOG,EAAIC,EAAMG,OAASJ,IAAK,CACjDJ,EAASF,EAAUC,EAAUC,EAAQK,EAAMD,GAAIH,EAAKI,EAAMD,IAAKD,SAE5D,GAAIF,GAAQL,EAAca,KAAKR,GAAO,CAE3C,IAAKI,EAAQJ,EAAKS,MAAMd,GAAgBQ,EAAIC,EAAMG,OAAQJ,IAAK,CAC7DJ,EAASD,EAASC,EAAQK,EAAMD,GAAIF,EAAUC,QAE3C,CAELH,EAASD,EAASC,EAAQC,EAAMC,EAAUC,GAE5C,OAAOH,GAKTL,EAAOgB,GAAK,SAASV,EAAMC,EAAUI,GACnCd,KAAKoB,QAAUd,EAAUe,EAAOrB,KAAKoB,SAAW,GAAIX,EAAMC,EAAU,CAClEI,QAASA,EACTQ,IAAKtB,KACLuB,UAAWlB,IAGb,GAAIA,EAAY,CACd,IAAImB,EAAYxB,KAAKyB,aAAezB,KAAKyB,WAAa,IACtDD,EAAUnB,EAAWqB,IAAMrB,EAG3BA,EAAWsB,QAAU,MAGvB,OAAO3B,MAMTG,EAAOyB,SAAW,SAASC,EAAKpB,EAAMC,GACpC,IAAKmB,EAAK,OAAO7B,KACjB,IAAI0B,EAAKG,EAAIC,YAAcD,EAAIC,UAAY7C,EAAE8C,SAAS,MACtD,IAAIC,EAAchC,KAAKiC,eAAiBjC,KAAKiC,aAAe,IAC5D,IAAIV,EAAYlB,EAAa2B,EAAYN,GAIzC,IAAKH,EAAW,CACdvB,KAAK8B,YAAc9B,KAAK8B,UAAY7C,EAAE8C,SAAS,MAC/CR,EAAYlB,EAAa2B,EAAYN,GAAM,IAAIQ,EAAUlC,KAAM6B,GAIjE,IAAIM,EAAQC,EAAWP,EAAKpB,EAAMC,EAAUV,MAC5CK,OAAkB,EAElB,GAAI8B,EAAO,MAAMA,EAEjB,GAAIZ,EAAUI,QAASJ,EAAUJ,GAAGV,EAAMC,GAE1C,OAAOV,MAIT,IAAIqB,EAAQ,SAASb,EAAQC,EAAMC,EAAU2B,GAC3C,GAAI3B,EAAU,CACZ,IAAI4B,EAAW9B,EAAOC,KAAUD,EAAOC,GAAQ,IAC/C,IAAIK,EAAUuB,EAAQvB,QAASQ,EAAMe,EAAQf,IAAKC,EAAYc,EAAQd,UACtE,GAAIA,EAAWA,EAAUgB,QAEzBD,EAASE,KAAK,CAAC9B,SAAUA,EAAUI,QAASA,EAASQ,IAAKR,GAAWQ,EAAKC,UAAWA,IAEvF,OAAOf,GAKT,IAAI4B,EAAa,SAASP,EAAKpB,EAAMC,EAAUI,GAC7C,IACEe,EAAIV,GAAGV,EAAMC,EAAUI,GACvB,MAAOxB,GACP,OAAOA,IAQXa,EAAOsC,IAAM,SAAShC,EAAMC,EAAUI,GACpC,IAAKd,KAAKoB,QAAS,OAAOpB,KAC1BA,KAAKoB,QAAUd,EAAUoC,EAAQ1C,KAAKoB,QAASX,EAAMC,EAAU,CAC7DI,QAASA,EACTU,UAAWxB,KAAKyB,aAGlB,OAAOzB,MAKTG,EAAOwC,cAAgB,SAASd,EAAKpB,EAAMC,GACzC,IAAIsB,EAAchC,KAAKiC,aACvB,IAAKD,EAAa,OAAOhC,KAEzB,IAAI4C,EAAMf,EAAM,CAACA,EAAIC,WAAa7C,EAAE8B,KAAKiB,GACzC,IAAK,IAAIpB,EAAI,EAAGA,EAAIgC,EAAI5B,OAAQJ,IAAK,CACnC,IAAIW,EAAYS,EAAYY,EAAIhC,IAIhC,IAAKW,EAAW,MAEhBA,EAAUM,IAAIY,IAAIhC,EAAMC,EAAUV,MAClC,GAAIuB,EAAUI,QAASJ,EAAUkB,IAAIhC,EAAMC,GAE7C,GAAIzB,EAAE4D,QAAQb,GAAchC,KAAKiC,kBAAoB,EAErD,OAAOjC,MAIT,IAAI0C,EAAS,SAASlC,EAAQC,EAAMC,EAAU2B,GAC5C,IAAK7B,EAAQ,OAEb,IAAIM,EAAUuB,EAAQvB,QAASU,EAAYa,EAAQb,UACnD,IAAIZ,EAAI,EAAGC,EAGX,IAAKJ,IAASK,IAAYJ,EAAU,CAClC,IAAKG,EAAQ5B,EAAE8B,KAAKS,GAAYZ,EAAIC,EAAMG,OAAQJ,IAAK,CACrDY,EAAUX,EAAMD,IAAIkC,UAEtB,OAGFjC,EAAQJ,EAAO,CAACA,GAAQxB,EAAE8B,KAAKP,GAC/B,KAAOI,EAAIC,EAAMG,OAAQJ,IAAK,CAC5BH,EAAOI,EAAMD,GACb,IAAI0B,EAAW9B,EAAOC,GAGtB,IAAK6B,EAAU,MAGf,IAAIS,EAAY,GAChB,IAAK,IAAIC,EAAI,EAAGA,EAAIV,EAAStB,OAAQgC,IAAK,CACxC,IAAIC,EAAUX,EAASU,GACvB,GACEtC,GAAYA,IAAauC,EAAQvC,UAC/BA,IAAauC,EAAQvC,SAASwC,WAC5BpC,GAAWA,IAAYmC,EAAQnC,QACnC,CACAiC,EAAUP,KAAKS,OACV,CACL,IAAI1B,EAAY0B,EAAQ1B,UACxB,GAAIA,EAAWA,EAAUkB,IAAIhC,EAAMC,IAKvC,GAAIqC,EAAU/B,OAAQ,CACpBR,EAAOC,GAAQsC,MACV,QACEvC,EAAOC,IAIlB,OAAOD,GAOTL,EAAOgD,KAAO,SAAS1C,EAAMC,EAAUI,GAErC,IAAIN,EAASF,EAAU8C,EAAS,GAAI3C,EAAMC,EAAUV,KAAKyC,IAAIY,KAAKrD,OAClE,UAAWS,IAAS,UAAYK,GAAW,KAAMJ,OAAgB,EACjE,OAAOV,KAAKmB,GAAGX,EAAQE,EAAUI,IAInCX,EAAOmD,aAAe,SAASzB,EAAKpB,EAAMC,GAExC,IAAIF,EAASF,EAAU8C,EAAS,GAAI3C,EAAMC,EAAUV,KAAK2C,cAAcU,KAAKrD,KAAM6B,IAClF,OAAO7B,KAAK4B,SAASC,EAAKrB,IAK5B,IAAI4C,EAAU,SAASG,EAAK9C,EAAMC,EAAU8C,GAC1C,GAAI9C,EAAU,CACZ,IAAIyC,EAAOI,EAAI9C,GAAQxB,EAAEkE,KAAK,WAC5BK,EAAM/C,EAAM0C,GACZzC,EAAS+C,MAAMzD,KAAM0D,aAEvBP,EAAKD,UAAYxC,EAEnB,OAAO6C,GAOTpD,EAAOwD,QAAU,SAASlD,GACxB,IAAKT,KAAKoB,QAAS,OAAOpB,KAE1B,IAAIgB,EAAS4C,KAAKC,IAAI,EAAGH,UAAU1C,OAAS,GAC5C,IAAI8C,EAAOlE,MAAMoB,GACjB,IAAK,IAAIJ,EAAI,EAAGA,EAAII,EAAQJ,IAAKkD,EAAKlD,GAAK8C,UAAU9C,EAAI,GAEzDN,EAAUyD,EAAY/D,KAAKoB,QAASX,OAAW,EAAGqD,GAClD,OAAO9D,MAIT,IAAI+D,EAAa,SAASC,EAAWvD,EAAMC,EAAUoD,GACnD,GAAIE,EAAW,CACb,IAAIxD,EAASwD,EAAUvD,GACvB,IAAIwD,EAAYD,EAAUE,IAC1B,GAAI1D,GAAUyD,EAAWA,EAAYA,EAAUtE,QAC/C,GAAIa,EAAQ2D,EAAc3D,EAAQsD,GAClC,GAAIG,EAAWE,EAAcF,EAAW,CAACxD,GAAM2D,OAAON,IAExD,OAAOE,GAMT,IAAIG,EAAgB,SAAS3D,EAAQsD,GACnC,IAAIO,EAAIzD,GAAK,EAAG0D,EAAI9D,EAAOQ,OAAQuD,EAAKT,EAAK,GAAIU,EAAKV,EAAK,GAAIW,EAAKX,EAAK,GACzE,OAAQA,EAAK9C,QACX,KAAK,EAAG,QAASJ,EAAI0D,GAAID,EAAK7D,EAAOI,IAAIF,SAASgE,KAAKL,EAAG/C,KAAM,OAChE,KAAK,EAAG,QAASV,EAAI0D,GAAID,EAAK7D,EAAOI,IAAIF,SAASgE,KAAKL,EAAG/C,IAAKiD,GAAK,OACpE,KAAK,EAAG,QAAS3D,EAAI0D,GAAID,EAAK7D,EAAOI,IAAIF,SAASgE,KAAKL,EAAG/C,IAAKiD,EAAIC,GAAK,OACxE,KAAK,EAAG,QAAS5D,EAAI0D,GAAID,EAAK7D,EAAOI,IAAIF,SAASgE,KAAKL,EAAG/C,IAAKiD,EAAIC,EAAIC,GAAK,OAC5E,QAAS,QAAS7D,EAAI0D,GAAID,EAAK7D,EAAOI,IAAIF,SAAS+C,MAAMY,EAAG/C,IAAKwC,GAAO,SAM5E,IAAI5B,EAAY,SAASyC,EAAU9C,GACjC7B,KAAK0B,GAAKiD,EAAS7C,UACnB9B,KAAK2E,SAAWA,EAChB3E,KAAK6B,IAAMA,EACX7B,KAAK2B,QAAU,KACf3B,KAAKuC,MAAQ,EACbvC,KAAKoB,aAAe,GAGtBc,EAAUrC,UAAUsB,GAAKhB,EAAOgB,GAMhCe,EAAUrC,UAAU4C,IAAM,SAAShC,EAAMC,GACvC,IAAIoC,EACJ,GAAI9C,KAAK2B,QAAS,CAChB3B,KAAKoB,QAAUd,EAAUoC,EAAQ1C,KAAKoB,QAASX,EAAMC,EAAU,CAC7DI,aAAc,EACdU,eAAgB,IAElBsB,GAAW9C,KAAKoB,YACX,CACLpB,KAAKuC,QACLO,EAAU9C,KAAKuC,QAAU,EAE3B,GAAIO,EAAS9C,KAAK8C,WAIpBZ,EAAUrC,UAAUiD,QAAU,kBACrB9C,KAAK2E,SAAS1C,aAAajC,KAAK6B,IAAIC,WAC3C,IAAK9B,KAAK2B,eAAgB3B,KAAK6B,IAAIJ,WAAWzB,KAAK0B,KAIrDvB,EAAOkD,KAASlD,EAAOgB,GACvBhB,EAAOyE,OAASzE,EAAOsC,IAIvBxD,EAAE4F,OAAOzF,EAAUe,GAYnB,IAAI2E,EAAQ1F,EAAS0F,MAAQ,SAASC,EAAY1C,GAChD,IAAI2C,EAAQD,GAAc,GAC1B1C,IAAYA,EAAU,IACtBrC,KAAKiF,cAAcxB,MAAMzD,KAAM0D,WAC/B1D,KAAKkF,IAAMjG,EAAE8C,SAAS/B,KAAKmF,WAC3BnF,KAAK+E,WAAa,GAClB,GAAI1C,EAAQ+C,WAAYpF,KAAKoF,WAAa/C,EAAQ+C,WAClD,GAAI/C,EAAQgD,MAAOL,EAAQhF,KAAKqF,MAAML,EAAO3C,IAAY,GACzD,IAAIiD,EAAWrG,EAAEsG,OAAOvF,KAAM,YAC9BgF,EAAQ/F,EAAEqG,SAASrG,EAAE4F,OAAO,GAAIS,EAAUN,GAAQM,GAClDtF,KAAKwF,IAAIR,EAAO3C,GAChBrC,KAAKyF,QAAU,GACfzF,KAAK0F,WAAWjC,MAAMzD,KAAM0D,YAI9BzE,EAAE4F,OAAOC,EAAMjF,UAAWM,EAAQ,CAGhCsF,QAAS,KAGTE,gBAAiB,KAIjBC,YAAa,KAIbT,UAAW,IAIXF,cAAe,aAIfS,WAAY,aAGZG,OAAQ,SAASxD,GACf,OAAOpD,EAAE6G,MAAM9F,KAAK+E,aAKtBgB,KAAM,WACJ,OAAO3G,EAAS2G,KAAKtC,MAAMzD,KAAM0D,YAInCsC,IAAK,SAASC,GACZ,OAAOjG,KAAK+E,WAAWkB,IAIzBC,OAAQ,SAASD,GACf,OAAOhH,EAAEiH,OAAOlG,KAAKgG,IAAIC,KAK3BE,IAAK,SAASF,GACZ,OAAOjG,KAAKgG,IAAIC,IAAS,MAI3BG,QAAS,SAASpB,GAChB,QAAS/F,EAAEsB,SAASyE,EAAOhF,KAAlBf,CAAwBe,KAAK+E,aAMxCS,IAAK,SAASa,EAAKC,EAAKjE,GACtB,GAAIgE,GAAO,KAAM,OAAOrG,KAGxB,IAAIgF,EACJ,UAAWqB,IAAQ,SAAU,CAC3BrB,EAAQqB,EACRhE,EAAUiE,MACL,EACJtB,EAAQ,IAAIqB,GAAOC,EAGtBjE,IAAYA,EAAU,IAGtB,IAAKrC,KAAKuG,UAAUvB,EAAO3C,GAAU,OAAO,MAG5C,IAAImE,EAAanE,EAAQmE,MACzB,IAAIC,EAAapE,EAAQoE,OACzB,IAAIC,EAAa,GACjB,IAAIC,EAAa3G,KAAK4G,UACtB5G,KAAK4G,UAAY,KAEjB,IAAKD,EAAU,CACb3G,KAAK6G,oBAAsB5H,EAAE6G,MAAM9F,KAAK+E,YACxC/E,KAAKyF,QAAU,GAGjB,IAAIqB,EAAU9G,KAAK+E,WACnB,IAAIU,EAAUzF,KAAKyF,QACnB,IAAIsB,EAAU/G,KAAK6G,oBAGnB,IAAK,IAAIZ,KAAQjB,EAAO,CACtBsB,EAAMtB,EAAMiB,GACZ,IAAKhH,EAAE+H,QAAQF,EAAQb,GAAOK,GAAMI,EAAQlE,KAAKyD,GACjD,IAAKhH,EAAE+H,QAAQD,EAAKd,GAAOK,GAAM,CAC/Bb,EAAQQ,GAAQK,MACX,QACEb,EAAQQ,GAEjBO,SAAeM,EAAQb,GAAQa,EAAQb,GAAQK,EAIjD,GAAItG,KAAK4F,eAAeZ,EAAO,CAC7B,IAAIiC,EAASjH,KAAK0B,GAClB1B,KAAK0B,GAAK1B,KAAKgG,IAAIhG,KAAK4F,aACxB5F,KAAK2D,QAAQ,WAAY3D,KAAMiH,EAAQ5E,GAIzC,IAAKoE,EAAQ,CACX,GAAIC,EAAQ1F,OAAQhB,KAAKkH,SAAW7E,EACpC,IAAK,IAAIzB,EAAI,EAAGA,EAAI8F,EAAQ1F,OAAQJ,IAAK,CACvCZ,KAAK2D,QAAQ,UAAY+C,EAAQ9F,GAAIZ,KAAM8G,EAAQJ,EAAQ9F,IAAKyB,IAMpE,GAAIsE,EAAU,OAAO3G,KACrB,IAAKyG,EAAQ,CACX,MAAOzG,KAAKkH,SAAU,CACpB7E,EAAUrC,KAAKkH,SACflH,KAAKkH,SAAW,MAChBlH,KAAK2D,QAAQ,SAAU3D,KAAMqC,IAGjCrC,KAAKkH,SAAW,MAChBlH,KAAK4G,UAAY,MACjB,OAAO5G,MAKTwG,MAAO,SAASP,EAAM5D,GACpB,OAAOrC,KAAKwF,IAAIS,OAAW,EAAGhH,EAAE4F,OAAO,GAAIxC,EAAS,CAACmE,MAAO,SAI9DW,MAAO,SAAS9E,GACd,IAAI2C,EAAQ,GACZ,IAAK,IAAIqB,KAAOrG,KAAK+E,WAAYC,EAAMqB,QAAY,EACnD,OAAOrG,KAAKwF,IAAIR,EAAO/F,EAAE4F,OAAO,GAAIxC,EAAS,CAACmE,MAAO,SAKvDY,WAAY,SAASnB,GACnB,GAAIA,GAAQ,KAAM,OAAQhH,EAAE4D,QAAQ7C,KAAKyF,SACzC,OAAOxG,EAAEkH,IAAInG,KAAKyF,QAASQ,IAS7BoB,kBAAmB,SAASC,GAC1B,IAAKA,EAAM,OAAOtH,KAAKoH,aAAenI,EAAE6G,MAAM9F,KAAKyF,SAAW,MAC9D,IAAI8B,EAAMvH,KAAK4G,UAAY5G,KAAK6G,oBAAsB7G,KAAK+E,WAC3D,IAAIU,EAAU,GACd,IAAI2B,EACJ,IAAK,IAAInB,KAAQqB,EAAM,CACrB,IAAIhB,EAAMgB,EAAKrB,GACf,GAAIhH,EAAE+H,QAAQO,EAAItB,GAAOK,GAAM,SAC/Bb,EAAQQ,GAAQK,EAChBc,EAAa,KAEf,OAAOA,EAAa3B,EAAU,OAKhC+B,SAAU,SAASvB,GACjB,GAAIA,GAAQ,OAASjG,KAAK6G,oBAAqB,OAAO,KACtD,OAAO7G,KAAK6G,oBAAoBZ,IAKlCwB,mBAAoB,WAClB,OAAOxI,EAAE6G,MAAM9F,KAAK6G,sBAKtBa,MAAO,SAASrF,GACdA,EAAUpD,EAAE4F,OAAO,CAACQ,MAAO,MAAOhD,GAClC,IAAIsF,EAAQ3H,KACZ,IAAI4H,EAAUvF,EAAQuF,QACtBvF,EAAQuF,QAAU,SAASC,GACzB,IAAIC,EAAczF,EAAQgD,MAAQsC,EAAMtC,MAAMwC,EAAMxF,GAAWwF,EAC/D,IAAKF,EAAMnC,IAAIsC,EAAazF,GAAU,OAAO,MAC7C,GAAIuF,EAASA,EAAQlD,KAAKrC,EAAQvB,QAAS6G,EAAOE,EAAMxF,GACxDsF,EAAMhE,QAAQ,OAAQgE,EAAOE,EAAMxF,IAErC0F,EAAU/H,KAAMqC,GAChB,OAAOrC,KAAK+F,KAAK,OAAQ/F,KAAMqC,IAMjC2F,KAAM,SAAS3B,EAAKC,EAAKjE,GAEvB,IAAI2C,EACJ,GAAIqB,GAAO,aAAeA,IAAQ,SAAU,CAC1CrB,EAAQqB,EACRhE,EAAUiE,MACL,EACJtB,EAAQ,IAAIqB,GAAOC,EAGtBjE,EAAUpD,EAAE4F,OAAO,CAACoD,SAAU,KAAM5C,MAAO,MAAOhD,GAClD,IAAI6F,EAAO7F,EAAQ6F,KAKnB,GAAIlD,IAAUkD,EAAM,CAClB,IAAKlI,KAAKwF,IAAIR,EAAO3C,GAAU,OAAO,WACjC,IAAKrC,KAAKuG,UAAUvB,EAAO3C,GAAU,CAC1C,OAAO,MAKT,IAAIsF,EAAQ3H,KACZ,IAAI4H,EAAUvF,EAAQuF,QACtB,IAAI7C,EAAa/E,KAAK+E,WACtB1C,EAAQuF,QAAU,SAASC,GAEzBF,EAAM5C,WAAaA,EACnB,IAAI+C,EAAczF,EAAQgD,MAAQsC,EAAMtC,MAAMwC,EAAMxF,GAAWwF,EAC/D,GAAIK,EAAMJ,EAAc7I,EAAE4F,OAAO,GAAIG,EAAO8C,GAC5C,GAAIA,IAAgBH,EAAMnC,IAAIsC,EAAazF,GAAU,OAAO,MAC5D,GAAIuF,EAASA,EAAQlD,KAAKrC,EAAQvB,QAAS6G,EAAOE,EAAMxF,GACxDsF,EAAMhE,QAAQ,OAAQgE,EAAOE,EAAMxF,IAErC0F,EAAU/H,KAAMqC,GAGhB,GAAI2C,GAASkD,EAAMlI,KAAK+E,WAAa9F,EAAE4F,OAAO,GAAIE,EAAYC,GAE9D,IAAImD,EAASnI,KAAKoI,QAAU,SAAW/F,EAAQgG,MAAQ,QAAU,SACjE,GAAIF,IAAW,UAAY9F,EAAQ2C,MAAO3C,EAAQ2C,MAAQA,EAC1D,IAAIsD,EAAMtI,KAAK+F,KAAKoC,EAAQnI,KAAMqC,GAGlCrC,KAAK+E,WAAaA,EAElB,OAAOuD,GAMTC,QAAS,SAASlG,GAChBA,EAAUA,EAAUpD,EAAE6G,MAAMzD,GAAW,GACvC,IAAIsF,EAAQ3H,KACZ,IAAI4H,EAAUvF,EAAQuF,QACtB,IAAIM,EAAO7F,EAAQ6F,KAEnB,IAAIK,EAAU,WACZZ,EAAMhF,gBACNgF,EAAMhE,QAAQ,UAAWgE,EAAOA,EAAMvC,WAAY/C,IAGpDA,EAAQuF,QAAU,SAASC,GACzB,GAAIK,EAAMK,IACV,GAAIX,EAASA,EAAQlD,KAAKrC,EAAQvB,QAAS6G,EAAOE,EAAMxF,GACxD,IAAKsF,EAAMS,QAAST,EAAMhE,QAAQ,OAAQgE,EAAOE,EAAMxF,IAGzD,IAAIiG,EAAM,MACV,GAAItI,KAAKoI,QAAS,CAChBnJ,EAAEuJ,MAAMnG,EAAQuF,aACX,CACLG,EAAU/H,KAAMqC,GAChBiG,EAAMtI,KAAK+F,KAAK,SAAU/F,KAAMqC,GAElC,IAAK6F,EAAMK,IACX,OAAOD,GAMTG,IAAK,WACH,IAAIC,EACFzJ,EAAEsG,OAAOvF,KAAM,YACff,EAAEsG,OAAOvF,KAAKoF,WAAY,QAC1BuD,IACF,GAAI3I,KAAKoI,QAAS,OAAOM,EACzB,IAAIhH,EAAK1B,KAAKgG,IAAIhG,KAAK4F,aACvB,OAAO8C,EAAKE,QAAQ,SAAU,OAASC,mBAAmBnH,IAK5D2D,MAAO,SAASwC,EAAMxF,GACpB,OAAOwF,GAIT/B,MAAO,WACL,OAAO,IAAI9F,KAAK8I,YAAY9I,KAAK+E,aAInCqD,MAAO,WACL,OAAQpI,KAAKmG,IAAInG,KAAK4F,cAIxBmD,QAAS,SAAS1G,GAChB,OAAOrC,KAAKuG,UAAU,GAAItH,EAAE4F,OAAO,GAAIxC,EAAS,CAAC4F,SAAU,SAK7D1B,UAAW,SAASvB,EAAO3C,GACzB,IAAKA,EAAQ4F,WAAajI,KAAKiI,SAAU,OAAO,KAChDjD,EAAQ/F,EAAE4F,OAAO,GAAI7E,KAAK+E,WAAYC,GACtC,IAAI7C,EAAQnC,KAAK2F,gBAAkB3F,KAAKiI,SAASjD,EAAO3C,IAAY,KACpE,IAAKF,EAAO,OAAO,KACnBnC,KAAK2D,QAAQ,UAAW3D,KAAMmC,EAAOlD,EAAE4F,OAAOxC,EAAS,CAACsD,gBAAiBxD,KACzE,OAAO,SAkBX,IAAI6G,EAAa5J,EAAS4J,WAAa,SAASC,EAAQ5G,GACtDA,IAAYA,EAAU,IACtBrC,KAAKiF,cAAcxB,MAAMzD,KAAM0D,WAC/B,GAAIrB,EAAQsF,MAAO3H,KAAK2H,MAAQtF,EAAQsF,MACxC,GAAItF,EAAQ6G,kBAAoB,EAAGlJ,KAAKkJ,WAAa7G,EAAQ6G,WAC7DlJ,KAAKmJ,SACLnJ,KAAK0F,WAAWjC,MAAMzD,KAAM0D,WAC5B,GAAIuF,EAAQjJ,KAAKoJ,MAAMH,EAAQhK,EAAE4F,OAAO,CAAC4B,OAAQ,MAAOpE,KAI1D,IAAIgH,EAAa,CAACC,IAAK,KAAMC,OAAQ,KAAMC,MAAO,MAClD,IAAIC,EAAa,CAACH,IAAK,KAAMC,OAAQ,OAGrC,IAAIG,EAAS,SAASC,EAAOC,EAAQC,GACnCA,EAAKjG,KAAKkG,IAAIlG,KAAKC,IAAIgG,EAAI,GAAIF,EAAM3I,QACrC,IAAI+I,EAAOnK,MAAM+J,EAAM3I,OAAS6I,GAChC,IAAI7I,EAAS4I,EAAO5I,OACpB,IAAIJ,EACJ,IAAKA,EAAI,EAAGA,EAAImJ,EAAK/I,OAAQJ,IAAKmJ,EAAKnJ,GAAK+I,EAAM/I,EAAIiJ,GACtD,IAAKjJ,EAAI,EAAGA,EAAII,EAAQJ,IAAK+I,EAAM/I,EAAIiJ,GAAMD,EAAOhJ,GACpD,IAAKA,EAAI,EAAGA,EAAImJ,EAAK/I,OAAQJ,IAAK+I,EAAM/I,EAAII,EAAS6I,GAAME,EAAKnJ,IAIlE3B,EAAE4F,OAAOmE,EAAWnJ,UAAWM,EAAQ,CAIrCwH,MAAO7C,EAKPG,cAAe,aAIfS,WAAY,aAIZG,OAAQ,SAASxD,GACf,OAAOrC,KAAKuD,IAAI,SAASoE,GAAS,OAAOA,EAAM9B,OAAOxD,MAIxD0D,KAAM,WACJ,OAAO3G,EAAS2G,KAAKtC,MAAMzD,KAAM0D,YAMnC4F,IAAK,SAASL,EAAQ5G,GACpB,OAAOrC,KAAKwF,IAAIyD,EAAQhK,EAAE4F,OAAO,CAAC2E,MAAO,OAAQnH,EAASoH,KAI5DF,OAAQ,SAASN,EAAQ5G,GACvBA,EAAUpD,EAAE4F,OAAO,GAAIxC,GACvB,IAAI2H,GAAY/K,EAAEgL,QAAQhB,GAC1BA,EAASe,EAAW,CAACf,GAAUA,EAAOtJ,QACtC,IAAIuK,EAAUlK,KAAKmK,cAAclB,EAAQ5G,GACzC,IAAKA,EAAQoE,QAAUyD,EAAQlJ,OAAQ,CACrCqB,EAAQqE,QAAU,CAAC0D,MAAO,GAAIC,OAAQ,GAAIH,QAASA,GACnDlK,KAAK2D,QAAQ,SAAU3D,KAAMqC,GAE/B,OAAO2H,EAAWE,EAAQ,GAAKA,GAOjC1E,IAAK,SAASyD,EAAQ5G,GACpB,GAAI4G,GAAU,KAAM,OAEpB5G,EAAUpD,EAAE4F,OAAO,GAAIwE,EAAYhH,GACnC,GAAIA,EAAQgD,QAAUrF,KAAKsK,SAASrB,GAAS,CAC3CA,EAASjJ,KAAKqF,MAAM4D,EAAQ5G,IAAY,GAG1C,IAAI2H,GAAY/K,EAAEgL,QAAQhB,GAC1BA,EAASe,EAAW,CAACf,GAAUA,EAAOtJ,QAEtC,IAAIkK,EAAKxH,EAAQwH,GACjB,GAAIA,GAAM,KAAMA,GAAMA,EACtB,GAAIA,EAAK7J,KAAKgB,OAAQ6I,EAAK7J,KAAKgB,OAChC,GAAI6I,EAAK,EAAGA,GAAM7J,KAAKgB,OAAS,EAEhC,IAAIwE,EAAM,GACV,IAAI+E,EAAQ,GACZ,IAAIC,EAAU,GACd,IAAIC,EAAW,GACf,IAAIC,EAAW,GAEf,IAAIpB,EAAMjH,EAAQiH,IAClB,IAAIE,EAAQnH,EAAQmH,MACpB,IAAID,EAASlH,EAAQkH,OAErB,IAAIoB,EAAO,MACX,IAAIC,EAAW5K,KAAKkJ,YAAcW,GAAM,MAAQxH,EAAQsI,OAAS,MACjE,IAAIE,EAAW5L,EAAE6L,SAAS9K,KAAKkJ,YAAclJ,KAAKkJ,WAAa,KAI/D,IAAIvB,EAAO/G,EACX,IAAKA,EAAI,EAAGA,EAAIqI,EAAOjI,OAAQJ,IAAK,CAClC+G,EAAQsB,EAAOrI,GAIf,IAAImK,EAAW/K,KAAKgG,IAAI2B,GACxB,GAAIoD,EAAU,CACZ,GAAIvB,GAAS7B,IAAUoD,EAAU,CAC/B,IAAI/F,EAAQhF,KAAKsK,SAAS3C,GAASA,EAAM5C,WAAa4C,EACtD,GAAItF,EAAQgD,MAAOL,EAAQ+F,EAAS1F,MAAML,EAAO3C,GACjD0I,EAASvF,IAAIR,EAAO3C,GACpBmI,EAAQhI,KAAKuI,GACb,GAAIH,IAAaD,EAAMA,EAAOI,EAAS3D,WAAWyD,GAEpD,IAAKH,EAASK,EAAS7F,KAAM,CAC3BwF,EAASK,EAAS7F,KAAO,KACzBM,EAAIhD,KAAKuI,GAEX9B,EAAOrI,GAAKmK,OAGP,GAAIzB,EAAK,CACd3B,EAAQsB,EAAOrI,GAAKZ,KAAKgL,cAAcrD,EAAOtF,GAC9C,GAAIsF,EAAO,CACT4C,EAAM/H,KAAKmF,GACX3H,KAAKiL,cAActD,EAAOtF,GAC1BqI,EAAS/C,EAAMzC,KAAO,KACtBM,EAAIhD,KAAKmF,KAMf,GAAI4B,EAAQ,CACV,IAAK3I,EAAI,EAAGA,EAAIZ,KAAKgB,OAAQJ,IAAK,CAChC+G,EAAQ3H,KAAKiJ,OAAOrI,GACpB,IAAK8J,EAAS/C,EAAMzC,KAAMuF,EAASjI,KAAKmF,GAE1C,GAAI8C,EAASzJ,OAAQhB,KAAKmK,cAAcM,EAAUpI,GAIpD,IAAI6I,EAAe,MACnB,IAAItC,GAAWgC,GAAYtB,GAAOC,EAClC,GAAI/D,EAAIxE,QAAU4H,EAAS,CACzBsC,EAAelL,KAAKgB,SAAWwE,EAAIxE,QAAU/B,EAAEkM,KAAKnL,KAAKiJ,OAAQ,SAASmC,EAAGC,GAC3E,OAAOD,IAAM5F,EAAI6F,KAEnBrL,KAAKiJ,OAAOjI,OAAS,EACrB0I,EAAO1J,KAAKiJ,OAAQzD,EAAK,GACzBxF,KAAKgB,OAAShB,KAAKiJ,OAAOjI,YACrB,GAAIuJ,EAAMvJ,OAAQ,CACvB,GAAI4J,EAAUD,EAAO,KACrBjB,EAAO1J,KAAKiJ,OAAQsB,EAAOV,GAAM,KAAO7J,KAAKgB,OAAS6I,GACtD7J,KAAKgB,OAAShB,KAAKiJ,OAAOjI,OAI5B,GAAI2J,EAAM3K,KAAK2K,KAAK,CAAClE,OAAQ,OAG7B,IAAKpE,EAAQoE,OAAQ,CACnB,IAAK7F,EAAI,EAAGA,EAAI2J,EAAMvJ,OAAQJ,IAAK,CACjC,GAAIiJ,GAAM,KAAMxH,EAAQgJ,MAAQxB,EAAKjJ,EACrC+G,EAAQ4C,EAAM3J,GACd+G,EAAMhE,QAAQ,MAAOgE,EAAO3H,KAAMqC,GAEpC,GAAIsI,GAAQO,EAAclL,KAAK2D,QAAQ,OAAQ3D,KAAMqC,GACrD,GAAIkI,EAAMvJ,QAAUyJ,EAASzJ,QAAUwJ,EAAQxJ,OAAQ,CACrDqB,EAAQqE,QAAU,CAChB0D,MAAOG,EACPL,QAASO,EACTJ,OAAQG,GAEVxK,KAAK2D,QAAQ,SAAU3D,KAAMqC,IAKjC,OAAO2H,EAAWf,EAAO,GAAKA,GAOhCG,MAAO,SAASH,EAAQ5G,GACtBA,EAAUA,EAAUpD,EAAE6G,MAAMzD,GAAW,GACvC,IAAK,IAAIzB,EAAI,EAAGA,EAAIZ,KAAKiJ,OAAOjI,OAAQJ,IAAK,CAC3CZ,KAAKsL,iBAAiBtL,KAAKiJ,OAAOrI,GAAIyB,GAExCA,EAAQkJ,eAAiBvL,KAAKiJ,OAC9BjJ,KAAKmJ,SACLF,EAASjJ,KAAKsJ,IAAIL,EAAQhK,EAAE4F,OAAO,CAAC4B,OAAQ,MAAOpE,IACnD,IAAKA,EAAQoE,OAAQzG,KAAK2D,QAAQ,QAAS3D,KAAMqC,GACjD,OAAO4G,GAITzG,KAAM,SAASmF,EAAOtF,GACpB,OAAOrC,KAAKsJ,IAAI3B,EAAO1I,EAAE4F,OAAO,CAACgF,GAAI7J,KAAKgB,QAASqB,KAIrDmJ,IAAK,SAASnJ,GACZ,IAAIsF,EAAQ3H,KAAK6J,GAAG7J,KAAKgB,OAAS,GAClC,OAAOhB,KAAKuJ,OAAO5B,EAAOtF,IAI5BoJ,QAAS,SAAS9D,EAAOtF,GACvB,OAAOrC,KAAKsJ,IAAI3B,EAAO1I,EAAE4F,OAAO,CAACgF,GAAI,GAAIxH,KAI3CqJ,MAAO,SAASrJ,GACd,IAAIsF,EAAQ3H,KAAK6J,GAAG,GACpB,OAAO7J,KAAKuJ,OAAO5B,EAAOtF,IAI5B1C,MAAO,WACL,OAAOA,EAAM8D,MAAMzD,KAAKiJ,OAAQvF,YAKlCsC,IAAK,SAASnE,GACZ,GAAIA,GAAO,KAAM,YAAY,EAC7B,OAAO7B,KAAK2L,MAAM9J,IAChB7B,KAAK2L,MAAM3L,KAAK4L,QAAQ5L,KAAKsK,SAASzI,GAAOA,EAAIkD,WAAalD,EAAKA,EAAI+D,eACvE/D,EAAIqD,KAAOlF,KAAK2L,MAAM9J,EAAIqD,MAI9BiB,IAAK,SAAStE,GACZ,OAAO7B,KAAKgG,IAAInE,IAAQ,MAI1BgI,GAAI,SAASwB,GACX,GAAIA,EAAQ,EAAGA,GAASrL,KAAKgB,OAC7B,OAAOhB,KAAKiJ,OAAOoC,IAKrBQ,MAAO,SAAS7G,EAAO8G,GACrB,OAAO9L,KAAK8L,EAAQ,OAAS,UAAU9G,IAKzC+G,UAAW,SAAS/G,GAClB,OAAOhF,KAAK6L,MAAM7G,EAAO,OAM3B2F,KAAM,SAAStI,GACb,IAAI6G,EAAalJ,KAAKkJ,WACtB,IAAKA,EAAY,MAAM,IAAI8C,MAAM,0CACjC3J,IAAYA,EAAU,IAEtB,IAAIrB,EAASkI,EAAWlI,OACxB,GAAI/B,EAAEgN,WAAW/C,GAAaA,EAAaA,EAAW7F,KAAKrD,MAG3D,GAAIgB,IAAW,GAAK/B,EAAE6L,SAAS5B,GAAa,CAC1ClJ,KAAKiJ,OAASjJ,KAAKkM,OAAOhD,OACrB,CACLlJ,KAAKiJ,OAAO0B,KAAKzB,GAEnB,IAAK7G,EAAQoE,OAAQzG,KAAK2D,QAAQ,OAAQ3D,KAAMqC,GAChD,OAAOrC,MAITmM,MAAO,SAASlG,GACd,OAAOjG,KAAKuD,IAAI0C,EAAO,KAMzByB,MAAO,SAASrF,GACdA,EAAUpD,EAAE4F,OAAO,CAACQ,MAAO,MAAOhD,GAClC,IAAIuF,EAAUvF,EAAQuF,QACtB,IAAIxC,EAAapF,KACjBqC,EAAQuF,QAAU,SAASC,GACzB,IAAIM,EAAS9F,EAAQ+G,MAAQ,QAAU,MACvChE,EAAW+C,GAAQN,EAAMxF,GACzB,GAAIuF,EAASA,EAAQlD,KAAKrC,EAAQvB,QAASsE,EAAYyC,EAAMxF,GAC7D+C,EAAWzB,QAAQ,OAAQyB,EAAYyC,EAAMxF,IAE/C0F,EAAU/H,KAAMqC,GAChB,OAAOrC,KAAK+F,KAAK,OAAQ/F,KAAMqC,IAMjC+J,OAAQ,SAASzE,EAAOtF,GACtBA,EAAUA,EAAUpD,EAAE6G,MAAMzD,GAAW,GACvC,IAAI6F,EAAO7F,EAAQ6F,KACnBP,EAAQ3H,KAAKgL,cAAcrD,EAAOtF,GAClC,IAAKsF,EAAO,OAAO,MACnB,IAAKO,EAAMlI,KAAKsJ,IAAI3B,EAAOtF,GAC3B,IAAI+C,EAAapF,KACjB,IAAI4H,EAAUvF,EAAQuF,QACtBvF,EAAQuF,QAAU,SAASwD,EAAGvD,EAAMwE,GAClC,GAAInE,EAAM9C,EAAWkE,IAAI8B,EAAGiB,GAC5B,GAAIzE,EAASA,EAAQlD,KAAK2H,EAAavL,QAASsK,EAAGvD,EAAMwE,IAE3D1E,EAAMK,KAAK,KAAM3F,GACjB,OAAOsF,GAKTtC,MAAO,SAASwC,EAAMxF,GACpB,OAAOwF,GAIT/B,MAAO,WACL,OAAO,IAAI9F,KAAK8I,YAAY9I,KAAKiJ,OAAQ,CACvCtB,MAAO3H,KAAK2H,MACZuB,WAAYlJ,KAAKkJ,cAKrB0C,QAAS,SAAS5G,EAAOY,GACvB,OAAOZ,EAAMY,GAAe5F,KAAK2H,MAAM9H,UAAU+F,aAAe,OAIlE0G,OAAQ,WACN,OAAO,IAAIC,EAAmBvM,KAAMwM,IAItCzL,KAAM,WACJ,OAAO,IAAIwL,EAAmBvM,KAAMyM,IAItCC,QAAS,WACP,OAAO,IAAIH,EAAmBvM,KAAM2M,IAKtCxD,OAAQ,WACNnJ,KAAKgB,OAAS,EACdhB,KAAKiJ,OAAS,GACdjJ,KAAK2L,MAAS,IAKhBX,cAAe,SAAShG,EAAO3C,GAC7B,GAAIrC,KAAKsK,SAAStF,GAAQ,CACxB,IAAKA,EAAMI,WAAYJ,EAAMI,WAAapF,KAC1C,OAAOgF,EAET3C,EAAUA,EAAUpD,EAAE6G,MAAMzD,GAAW,GACvCA,EAAQ+C,WAAapF,KAErB,IAAI2H,EACJ,GAAI3H,KAAK2H,MAAM9H,UAAW,CACxB8H,EAAQ,IAAI3H,KAAK2H,MAAM3C,EAAO3C,OACzB,CAELsF,EAAQ3H,KAAK2H,MAAM3C,EAAO3C,GAG5B,IAAKsF,EAAMhC,gBAAiB,OAAOgC,EACnC3H,KAAK2D,QAAQ,UAAW3D,KAAM2H,EAAMhC,gBAAiBtD,GACrD,OAAO,OAIT8H,cAAe,SAASlB,EAAQ5G,GAC9B,IAAI6H,EAAU,GACd,IAAK,IAAItJ,EAAI,EAAGA,EAAIqI,EAAOjI,OAAQJ,IAAK,CACtC,IAAI+G,EAAQ3H,KAAKgG,IAAIiD,EAAOrI,IAC5B,IAAK+G,EAAO,SAEZ,IAAI0D,EAAQrL,KAAK4M,QAAQjF,GACzB3H,KAAKiJ,OAAOS,OAAO2B,EAAO,GAC1BrL,KAAKgB,gBAIEhB,KAAK2L,MAAMhE,EAAMzC,KACxB,IAAIxD,EAAK1B,KAAK4L,QAAQjE,EAAM5C,WAAY4C,EAAM/B,aAC9C,GAAIlE,GAAM,YAAa1B,KAAK2L,MAAMjK,GAElC,IAAKW,EAAQoE,OAAQ,CACnBpE,EAAQgJ,MAAQA,EAChB1D,EAAMhE,QAAQ,SAAUgE,EAAO3H,KAAMqC,GAGvC6H,EAAQ1H,KAAKmF,GACb3H,KAAKsL,iBAAiB3D,EAAOtF,GAE/B,OAAO6H,GAKTI,SAAU,SAAS3C,GACjB,OAAOA,aAAiB7C,GAI1BmG,cAAe,SAAStD,EAAOtF,GAC7BrC,KAAK2L,MAAMhE,EAAMzC,KAAOyC,EACxB,IAAIjG,EAAK1B,KAAK4L,QAAQjE,EAAM5C,WAAY4C,EAAM/B,aAC9C,GAAIlE,GAAM,KAAM1B,KAAK2L,MAAMjK,GAAMiG,EACjCA,EAAMxG,GAAG,MAAOnB,KAAK6M,cAAe7M,OAItCsL,iBAAkB,SAAS3D,EAAOtF,UACzBrC,KAAK2L,MAAMhE,EAAMzC,KACxB,IAAIxD,EAAK1B,KAAK4L,QAAQjE,EAAM5C,WAAY4C,EAAM/B,aAC9C,GAAIlE,GAAM,YAAa1B,KAAK2L,MAAMjK,GAClC,GAAI1B,OAAS2H,EAAMvC,kBAAmBuC,EAAMvC,WAC5CuC,EAAMlF,IAAI,MAAOzC,KAAK6M,cAAe7M,OAOvC6M,cAAe,SAASC,EAAOnF,EAAOvC,EAAY/C,GAChD,GAAIsF,EAAO,CACT,IAAKmF,IAAU,OAASA,IAAU,WAAa1H,IAAepF,KAAM,OACpE,GAAI8M,IAAU,UAAW9M,KAAKuJ,OAAO5B,EAAOtF,GAC5C,GAAIyK,IAAU,WAAY,CACxB,IAAI7F,EAASjH,KAAK4L,QAAQjE,EAAMF,qBAAsBE,EAAM/B,aAC5D,IAAIlE,EAAK1B,KAAK4L,QAAQjE,EAAM5C,WAAY4C,EAAM/B,aAC9C,GAAIqB,GAAU,YAAajH,KAAK2L,MAAM1E,GACtC,GAAIvF,GAAM,KAAM1B,KAAK2L,MAAMjK,GAAMiG,GAGrC3H,KAAK2D,QAAQF,MAAMzD,KAAM0D,cAQ7B,IAAIqJ,SAAoBC,SAAW,YAAcA,OAAOC,SACxD,GAAIF,EAAY,CACd/D,EAAWnJ,UAAUkN,GAAc/D,EAAWnJ,UAAUyM,OAU1D,IAAIC,EAAqB,SAASnH,EAAY8H,GAC5ClN,KAAKmN,YAAc/H,EACnBpF,KAAKoN,MAAQF,EACblN,KAAKqN,OAAS,GAMhB,IAAIb,EAAkB,EACtB,IAAIC,EAAgB,EACpB,IAAIE,EAAsB,EAG1B,GAAII,EAAY,CACdR,EAAmB1M,UAAUkN,GAAc,WACzC,OAAO/M,MAIXuM,EAAmB1M,UAAUyN,KAAO,WAClC,GAAItN,KAAKmN,YAAa,CAGpB,GAAInN,KAAKqN,OAASrN,KAAKmN,YAAYnM,OAAQ,CACzC,IAAI2G,EAAQ3H,KAAKmN,YAAYtD,GAAG7J,KAAKqN,QACrCrN,KAAKqN,SAGL,IAAIE,EACJ,GAAIvN,KAAKoN,QAAUZ,EAAiB,CAClCe,EAAQ5F,MACH,CACL,IAAIjG,EAAK1B,KAAKmN,YAAYvB,QAAQjE,EAAM5C,WAAY4C,EAAM/B,aAC1D,GAAI5F,KAAKoN,QAAUX,EAAe,CAChCc,EAAQ7L,MACH,CACL6L,EAAQ,CAAC7L,EAAIiG,IAGjB,MAAO,CAAC4F,MAAOA,EAAOC,KAAM,OAK9BxN,KAAKmN,iBAAmB,EAG1B,MAAO,CAACI,WAAY,EAAGC,KAAM,OAgB/B,IAAIC,EAAOrO,EAASqO,KAAO,SAASpL,GAClCrC,KAAKkF,IAAMjG,EAAE8C,SAAS,QACtB/B,KAAKiF,cAAcxB,MAAMzD,KAAM0D,WAC/BzE,EAAE4F,OAAO7E,KAAMf,EAAEyO,KAAKrL,EAASsL,IAC/B3N,KAAK4N,iBACL5N,KAAK0F,WAAWjC,MAAMzD,KAAM0D,YAI9B,IAAImK,EAAwB,iBAG5B,IAAIF,EAAc,CAAC,QAAS,aAAc,KAAM,KAAM,aAAc,YAAa,UAAW,UAG5F1O,EAAE4F,OAAO4I,EAAK5N,UAAWM,EAAQ,CAG/B2N,QAAS,MAIT5O,EAAG,SAAS6O,GACV,OAAO/N,KAAKgO,IAAIC,KAAKF,IAKvB9I,cAAe,aAIfS,WAAY,aAKZwI,OAAQ,WACN,OAAOlO,MAKTuJ,OAAQ,WACNvJ,KAAKmO,iBACLnO,KAAK2C,gBACL,OAAO3C,MAMTmO,eAAgB,WACdnO,KAAKgO,IAAIzE,UAKX6E,WAAY,SAASC,GACnBrO,KAAKsO,mBACLtO,KAAKuO,YAAYF,GACjBrO,KAAKwO,iBACL,OAAOxO,MAQTuO,YAAa,SAASE,GACpBzO,KAAKgO,IAAMS,aAAcrP,EAASF,EAAIuP,EAAKrP,EAASF,EAAEuP,GACtDzO,KAAKyO,GAAKzO,KAAKgO,IAAI,IAgBrBQ,eAAgB,SAAShO,GACvBA,IAAWA,EAASvB,EAAEsG,OAAOvF,KAAM,WACnC,IAAKQ,EAAQ,OAAOR,KACpBA,KAAKsO,mBACL,IAAK,IAAIjI,KAAO7F,EAAQ,CACtB,IAAI2H,EAAS3H,EAAO6F,GACpB,IAAKpH,EAAEgN,WAAW9D,GAASA,EAASnI,KAAKmI,GACzC,IAAKA,EAAQ,SACb,IAAIuG,EAAQrI,EAAIqI,MAAMb,GACtB7N,KAAK2O,SAASD,EAAM,GAAIA,EAAM,GAAIvG,EAAO9E,KAAKrD,OAEhD,OAAOA,MAMT2O,SAAU,SAASC,EAAWb,EAAUpJ,GACtC3E,KAAKgO,IAAI7M,GAAGyN,EAAY,kBAAoB5O,KAAKkF,IAAK6I,EAAUpJ,GAChE,OAAO3E,MAMTsO,iBAAkB,WAChB,GAAItO,KAAKgO,IAAKhO,KAAKgO,IAAIvL,IAAI,kBAAoBzC,KAAKkF,KACpD,OAAOlF,MAKT6O,WAAY,SAASD,EAAWb,EAAUpJ,GACxC3E,KAAKgO,IAAIvL,IAAImM,EAAY,kBAAoB5O,KAAKkF,IAAK6I,EAAUpJ,GACjE,OAAO3E,MAKT8O,eAAgB,SAAShB,GACvB,OAAOiB,SAASC,cAAclB,IAOhCF,eAAgB,WACd,IAAK5N,KAAKyO,GAAI,CACZ,IAAIzJ,EAAQ/F,EAAE4F,OAAO,GAAI5F,EAAEsG,OAAOvF,KAAM,eACxC,GAAIA,KAAK0B,GAAIsD,EAAMtD,GAAKzC,EAAEsG,OAAOvF,KAAM,MACvC,GAAIA,KAAKiP,UAAWjK,EAAM,SAAW/F,EAAEsG,OAAOvF,KAAM,aACpDA,KAAKoO,WAAWpO,KAAK8O,eAAe7P,EAAEsG,OAAOvF,KAAM,aACnDA,KAAKkP,eAAelK,OACf,CACLhF,KAAKoO,WAAWnP,EAAEsG,OAAOvF,KAAM,SAMnCkP,eAAgB,SAASnK,GACvB/E,KAAKgO,IAAI/H,KAAKlB,MAYlB,IAAIoK,EAAY,SAASzG,EAAM1H,EAAQmH,EAAQiH,GAC7C,OAAQpO,GACN,KAAK,EAAG,OAAO,WACb,OAAO0H,EAAKP,GAAQnI,KAAKoP,KAE3B,KAAK,EAAG,OAAO,SAAS7B,GACtB,OAAO7E,EAAKP,GAAQnI,KAAKoP,GAAY7B,IAEvC,KAAK,EAAG,OAAO,SAAShN,EAAUO,GAChC,OAAO4H,EAAKP,GAAQnI,KAAKoP,GAAYC,EAAG9O,EAAUP,MAAOc,IAE3D,KAAK,EAAG,OAAO,SAASP,EAAU+O,EAAYxO,GAC5C,OAAO4H,EAAKP,GAAQnI,KAAKoP,GAAYC,EAAG9O,EAAUP,MAAOsP,EAAYxO,IAEvE,QAAS,OAAO,WACd,IAAIgD,EAAOnE,EAAM+E,KAAKhB,WACtBI,EAAK2H,QAAQzL,KAAKoP,IAClB,OAAO1G,EAAKP,GAAQ1E,MAAMiF,EAAM5E,MAKtC,IAAIyL,EAAuB,SAASC,EAAO9G,EAAM+G,EAASL,GACxDnQ,EAAEyQ,KAAKD,EAAS,SAASzO,EAAQmH,GAC/B,GAAIO,EAAKP,GAASqH,EAAM3P,UAAUsI,GAAUgH,EAAUzG,EAAM1H,EAAQmH,EAAQiH,MAKhF,IAAIC,EAAK,SAAS9O,EAAUoP,GAC1B,GAAI1Q,EAAEgN,WAAW1L,GAAW,OAAOA,EACnC,GAAItB,EAAE2Q,SAASrP,KAAcoP,EAASrF,SAAS/J,GAAW,OAAOsP,EAAatP,GAC9E,GAAItB,EAAE6L,SAASvK,GAAW,OAAO,SAASoH,GAAS,OAAOA,EAAM3B,IAAIzF,IACpE,OAAOA,GAET,IAAIsP,EAAe,SAAS7K,GAC1B,IAAI8K,EAAU7Q,EAAEmH,QAAQpB,GACxB,OAAO,SAAS2C,GACd,OAAOmI,EAAQnI,EAAM5C,cAOzB,IAAIgL,EAAoB,CAACC,QAAS,EAAGN,KAAM,EAAGnM,IAAK,EAAG0M,QAAS,EAAGC,OAAQ,EACxEC,MAAO,EAAGC,OAAQ,EAAGC,YAAa,EAAGC,MAAO,EAAGrC,KAAM,EAAGsC,OAAQ,EAAGC,OAAQ,EAC3EC,OAAQ,EAAGC,OAAQ,EAAGC,MAAO,EAAGzM,IAAK,EAAGiH,KAAM,EAAGyF,IAAK,EAAGC,QAAS,EAAGC,SAAU,EAC/EC,SAAU,EAAGC,OAAQ,EAAGnN,IAAK,EAAGiG,IAAK,EAAGmH,QAAS,EAAGC,KAAM,EAAGpF,MAAO,EACpEqF,KAAM,EAAGC,KAAM,EAAGC,QAAS,EAAGC,KAAM,EAAGvH,KAAM,EAAGwH,KAAM,EAAGC,KAAM,EAC/DC,QAAS,EAAGC,WAAY,EAAG9E,QAAS,EAAG+E,QAAS,EAAGC,YAAa,EAChE/O,QAAS,EAAGgP,MAAO,EAAGC,OAAQ,EAAGC,UAAW,EAAGC,QAAS,EAAGC,QAAS,EACpE/F,OAAQ,EAAGgG,QAAS,EAAGC,UAAW,EAAGC,cAAe,GAKtD,IAAIC,EAAe,CAACtR,KAAM,EAAGuL,OAAQ,EAAGgG,MAAO,EAAGC,OAAQ,EAAG7E,KAAM,EACjE8E,KAAM,EAAGX,MAAO,EAAGhP,QAAS,GAI9B5D,EAAEyQ,KAAK,CACL,CAAC1G,EAAY+G,EAAmB,UAChC,CAACjL,EAAOuN,EAAc,eACrB,SAASI,GACV,IAAIC,EAAOD,EAAO,GACdhD,EAAUgD,EAAO,GACjBrD,EAAYqD,EAAO,GAEvBC,EAAKC,MAAQ,SAAS9Q,GACpB,IAAI+Q,EAAW3T,EAAEiR,OAAOjR,EAAE4T,UAAUhR,GAAM,SAASiR,EAAMrS,GACvDqS,EAAKrS,GAAQ,EACb,OAAOqS,GACN,IACHvD,EAAqBmD,EAAM7Q,EAAK+Q,EAAUxD,IAG5CG,EAAqBmD,EAAMzT,EAAGwQ,EAASL,KAqBzChQ,EAAS2G,KAAO,SAASoC,EAAQR,EAAOtF,GACtC,IAAI0Q,EAAOC,EAAU7K,GAGrBlJ,EAAEqG,SAASjD,IAAYA,EAAU,IAAK,CACpCpC,YAAab,EAASa,YACtBC,YAAad,EAASc,cAIxB,IAAI+S,EAAS,CAACF,KAAMA,EAAMG,SAAU,QAGpC,IAAK7Q,EAAQoG,IAAK,CAChBwK,EAAOxK,IAAMxJ,EAAEsG,OAAOoC,EAAO,QAAUgB,IAIzC,GAAItG,EAAQ8Q,MAAQ,MAAQxL,IAAUQ,IAAW,UAAYA,IAAW,UAAYA,IAAW,SAAU,CACvG8K,EAAOG,YAAc,mBACrBH,EAAOE,KAAOE,KAAKC,UAAUjR,EAAQ2C,OAAS2C,EAAM9B,OAAOxD,IAI7D,GAAIA,EAAQnC,YAAa,CACvB+S,EAAOG,YAAc,oCACrBH,EAAOE,KAAOF,EAAOE,KAAO,CAACxL,MAAOsL,EAAOE,MAAQ,GAKrD,GAAI9Q,EAAQpC,cAAgB8S,IAAS,OAASA,IAAS,UAAYA,IAAS,SAAU,CACpFE,EAAOF,KAAO,OACd,GAAI1Q,EAAQnC,YAAa+S,EAAOE,KAAKI,QAAUR,EAC/C,IAAIS,EAAanR,EAAQmR,WACzBnR,EAAQmR,WAAa,SAASlL,GAC5BA,EAAImL,iBAAiB,yBAA0BV,GAC/C,GAAIS,EAAY,OAAOA,EAAW/P,MAAMzD,KAAM0D,YAKlD,GAAIuP,EAAOF,OAAS,QAAU1Q,EAAQnC,YAAa,CACjD+S,EAAOS,YAAc,MAIvB,IAAIvR,EAAQE,EAAQF,MACpBE,EAAQF,MAAQ,SAASmG,EAAKqL,EAAYC,GACxCvR,EAAQsR,WAAaA,EACrBtR,EAAQuR,YAAcA,EACtB,GAAIzR,EAAOA,EAAMuC,KAAKrC,EAAQvB,QAASwH,EAAKqL,EAAYC,IAI1D,IAAItL,EAAMjG,EAAQiG,IAAMlJ,EAASyU,KAAK5U,EAAE4F,OAAOoO,EAAQ5Q,IACvDsF,EAAMhE,QAAQ,UAAWgE,EAAOW,EAAKjG,GACrC,OAAOiG,GAIT,IAAI0K,EAAY,CACd5G,OAAU,OACV0H,OAAU,MACVzL,MAAS,QACT0L,OAAU,SACVC,KAAQ,OAKV5U,EAASyU,KAAO,WACd,OAAOzU,EAASF,EAAE2U,KAAKpQ,MAAMrE,EAASF,EAAGwE,YAQ3C,IAAIuQ,EAAS7U,EAAS6U,OAAS,SAAS5R,GACtCA,IAAYA,EAAU,IACtBrC,KAAKiF,cAAcxB,MAAMzD,KAAM0D,WAC/B,GAAIrB,EAAQ6R,OAAQlU,KAAKkU,OAAS7R,EAAQ6R,OAC1ClU,KAAKmU,cACLnU,KAAK0F,WAAWjC,MAAMzD,KAAM0D,YAK9B,IAAI0Q,EAAgB,aACpB,IAAIC,EAAgB,eACpB,IAAIC,EAAgB,SACpB,IAAIC,EAAgB,2BAGpBtV,EAAE4F,OAAOoP,EAAOpU,UAAWM,EAAQ,CAIjC8E,cAAe,aAIfS,WAAY,aAQZ8O,MAAO,SAASA,EAAO/T,EAAMC,GAC3B,IAAKzB,EAAEwV,SAASD,GAAQA,EAAQxU,KAAK0U,eAAeF,GACpD,GAAIvV,EAAEgN,WAAWxL,GAAO,CACtBC,EAAWD,EACXA,EAAO,GAET,IAAKC,EAAUA,EAAWV,KAAKS,GAC/B,IAAIkU,EAAS3U,KACbZ,EAASwV,QAAQJ,MAAMA,EAAO,SAASK,GACrC,IAAI/Q,EAAO6Q,EAAOG,mBAAmBN,EAAOK,GAC5C,GAAIF,EAAOI,QAAQrU,EAAUoD,EAAMrD,KAAU,MAAO,CAClDkU,EAAOhR,QAAQF,MAAMkR,EAAQ,CAAC,SAAWlU,GAAM2D,OAAON,IACtD6Q,EAAOhR,QAAQ,QAASlD,EAAMqD,GAC9B1E,EAASwV,QAAQjR,QAAQ,QAASgR,EAAQlU,EAAMqD,MAGpD,OAAO9D,MAKT+U,QAAS,SAASrU,EAAUoD,EAAMrD,GAChC,GAAIC,EAAUA,EAAS+C,MAAMzD,KAAM8D,IAIrCkR,SAAU,SAASH,EAAUxS,GAC3BjD,EAASwV,QAAQI,SAASH,EAAUxS,GACpC,OAAOrC,MAMTmU,YAAa,WACX,IAAKnU,KAAKkU,OAAQ,OAClBlU,KAAKkU,OAASjV,EAAEsG,OAAOvF,KAAM,UAC7B,IAAIwU,EAAON,EAASjV,EAAE8B,KAAKf,KAAKkU,QAChC,OAAQM,EAAQN,EAAO1I,QAAU,KAAM,CACrCxL,KAAKwU,MAAMA,EAAOxU,KAAKkU,OAAOM,MAMlCE,eAAgB,SAASF,GACvBA,EAAQA,EAAM5L,QAAQ2L,EAAc,QACnC3L,QAAQwL,EAAe,WACvBxL,QAAQyL,EAAY,SAAS3F,EAAOuG,GACnC,OAAOA,EAAWvG,EAAQ,aAE3B9F,QAAQ0L,EAAY,YACrB,OAAO,IAAIY,OAAO,IAAMV,EAAQ,yBAMlCM,mBAAoB,SAASN,EAAOK,GAClC,IAAI5B,EAASuB,EAAMW,KAAKN,GAAUlV,MAAM,GACxC,OAAOV,EAAEsE,IAAI0P,EAAQ,SAASmC,EAAOxU,GAEnC,GAAIA,IAAMqS,EAAOjS,OAAS,EAAG,OAAOoU,GAAS,KAC7C,OAAOA,EAAQC,mBAAmBD,GAAS,UAcjD,IAAIE,EAAUlW,EAASkW,QAAU,WAC/BtV,KAAKsC,SAAW,GAChBtC,KAAKuV,SAAWvV,KAAKuV,SAASlS,KAAKrD,MAGnC,UAAWwV,SAAW,YAAa,CACjCxV,KAAKyV,SAAWD,OAAOC,SACvBzV,KAAK4U,QAAUY,OAAOZ,UAK1B,IAAIc,EAAgB,eAGpB,IAAIC,EAAe,aAGnB,IAAIC,EAAe,OAGnBN,EAAQO,QAAU,MAGlB5W,EAAE4F,OAAOyQ,EAAQzV,UAAWM,EAAQ,CAIlC2V,SAAU,GAGVC,OAAQ,WACN,IAAIC,EAAOhW,KAAKyV,SAASQ,SAASrN,QAAQ,SAAU,OACpD,OAAOoN,IAAShW,KAAKpB,OAASoB,KAAKkW,aAIrCC,UAAW,WACT,IAAIH,EAAOhW,KAAKoW,eAAepW,KAAKyV,SAASQ,UAC7C,IAAII,EAAWL,EAAKrW,MAAM,EAAGK,KAAKpB,KAAKoC,OAAS,GAAK,IACrD,OAAOqV,IAAarW,KAAKpB,MAM3BwX,eAAgB,SAASvB,GACvB,OAAOyB,UAAUzB,EAASjM,QAAQ,OAAQ,WAK5CsN,UAAW,WACT,IAAIxH,EAAQ1O,KAAKyV,SAASc,KAAK3N,QAAQ,MAAO,IAAI8F,MAAM,QACxD,OAAOA,EAAQA,EAAM,GAAK,IAK5B8H,QAAS,SAAShB,GAChB,IAAI9G,GAAS8G,GAAUxV,MAAMyV,SAASc,KAAK7H,MAAM,UACjD,OAAOA,EAAQA,EAAM,GAAK,IAI5B+H,QAAS,WACP,IAAIT,EAAOhW,KAAKoW,eACdpW,KAAKyV,SAASQ,SAAWjW,KAAKkW,aAC9BvW,MAAMK,KAAKpB,KAAKoC,OAAS,GAC3B,OAAOgV,EAAKU,OAAO,KAAO,IAAMV,EAAKrW,MAAM,GAAKqW,GAIlDW,YAAa,SAAS9B,GACpB,GAAIA,GAAY,KAAM,CACpB,GAAI7U,KAAK4W,gBAAkB5W,KAAK6W,iBAAkB,CAChDhC,EAAW7U,KAAKyW,cACX,CACL5B,EAAW7U,KAAKwW,WAGpB,OAAO3B,EAASjM,QAAQ8M,EAAe,KAKzCoB,MAAO,SAASzU,GACd,GAAIiT,EAAQO,QAAS,MAAM,IAAI7J,MAAM,6CACrCsJ,EAAQO,QAAU,KAIlB7V,KAAKqC,QAAmBpD,EAAE4F,OAAO,CAACjG,KAAM,KAAMoB,KAAKqC,QAASA,GAC5DrC,KAAKpB,KAAmBoB,KAAKqC,QAAQzD,KACrCoB,KAAK6W,iBAAmB7W,KAAKqC,QAAQ0U,aAAe,MACpD/W,KAAKgX,eAAmB,iBAAkBxB,SAAWzG,SAASkI,oBAAsB,GAAKlI,SAASkI,aAAe,GACjHjX,KAAKkX,eAAmBlX,KAAK6W,kBAAoB7W,KAAKgX,eACtDhX,KAAKmX,kBAAqBnX,KAAKqC,QAAQ+U,UACvCpX,KAAKqX,iBAAsBrX,KAAK4U,SAAW5U,KAAK4U,QAAQwC,WACxDpX,KAAK4W,cAAmB5W,KAAKmX,iBAAmBnX,KAAKqX,cACrDrX,KAAK6U,SAAmB7U,KAAK2W,cAG7B3W,KAAKpB,MAAQ,IAAMoB,KAAKpB,KAAO,KAAKgK,QAAQ+M,EAAc,KAI1D,GAAI3V,KAAK6W,kBAAoB7W,KAAKmX,gBAAiB,CAIjD,IAAKnX,KAAKqX,gBAAkBrX,KAAK+V,SAAU,CACzC,IAAIM,EAAWrW,KAAKpB,KAAKe,MAAM,GAAI,IAAM,IACzCK,KAAKyV,SAAS7M,QAAQyN,EAAW,IAAMrW,KAAKyW,WAE5C,OAAO,UAIF,GAAIzW,KAAKqX,eAAiBrX,KAAK+V,SAAU,CAC9C/V,KAAKgV,SAAShV,KAAKwW,UAAW,CAAC5N,QAAS,QAQ5C,IAAK5I,KAAKgX,gBAAkBhX,KAAK6W,mBAAqB7W,KAAK4W,cAAe,CACxE5W,KAAKsX,OAASvI,SAASC,cAAc,UACrChP,KAAKsX,OAAOC,IAAM,eAClBvX,KAAKsX,OAAOE,MAAMC,QAAU,OAC5BzX,KAAKsX,OAAOI,UAAY,EACxB,IAAIC,EAAO5I,SAAS4I,KAEpB,IAAIC,EAAUD,EAAKE,aAAa7X,KAAKsX,OAAQK,EAAKG,YAAYC,cAC9DH,EAAQ7I,SAASiJ,OACjBJ,EAAQ7I,SAASkJ,QACjBL,EAAQnC,SAASyC,KAAO,IAAMlY,KAAK6U,SAIrC,IAAIsD,EAAmB3C,OAAO2C,kBAAoB,SAASvJ,EAAWjK,GACpE,OAAOyT,YAAY,KAAOxJ,EAAWjK,IAKvC,GAAI3E,KAAK4W,cAAe,CACtBuB,EAAiB,WAAYnY,KAAKuV,SAAU,YACvC,GAAIvV,KAAKkX,iBAAmBlX,KAAKsX,OAAQ,CAC9Ca,EAAiB,aAAcnY,KAAKuV,SAAU,YACzC,GAAIvV,KAAK6W,iBAAkB,CAChC7W,KAAKqY,kBAAoBC,YAAYtY,KAAKuV,SAAUvV,KAAK8V,UAG3D,IAAK9V,KAAKqC,QAAQoE,OAAQ,OAAOzG,KAAKuY,WAKxCC,KAAM,WAEJ,IAAIC,EAAsBjD,OAAOiD,qBAAuB,SAAS7J,EAAWjK,GAC1E,OAAO+T,YAAY,KAAO9J,EAAWjK,IAIvC,GAAI3E,KAAK4W,cAAe,CACtB6B,EAAoB,WAAYzY,KAAKuV,SAAU,YAC1C,GAAIvV,KAAKkX,iBAAmBlX,KAAKsX,OAAQ,CAC9CmB,EAAoB,aAAczY,KAAKuV,SAAU,OAInD,GAAIvV,KAAKsX,OAAQ,CACfvI,SAAS4I,KAAKgB,YAAY3Y,KAAKsX,QAC/BtX,KAAKsX,OAAS,KAIhB,GAAItX,KAAKqY,kBAAmBO,cAAc5Y,KAAKqY,mBAC/C/C,EAAQO,QAAU,OAKpBrB,MAAO,SAASA,EAAO9T,GACrBV,KAAKsC,SAASmJ,QAAQ,CAAC+I,MAAOA,EAAO9T,SAAUA,KAKjD6U,SAAU,SAASjW,GACjB,IAAIwH,EAAU9G,KAAK2W,cAInB,GAAI7P,IAAY9G,KAAK6U,UAAY7U,KAAKsX,OAAQ,CAC5CxQ,EAAU9G,KAAKwW,QAAQxW,KAAKsX,OAAOS,eAGrC,GAAIjR,IAAY9G,KAAK6U,SAAU,OAAO,MACtC,GAAI7U,KAAKsX,OAAQtX,KAAKgV,SAASlO,GAC/B9G,KAAKuY,WAMPA,QAAS,SAAS1D,GAEhB,IAAK7U,KAAKmW,YAAa,OAAO,MAC9BtB,EAAW7U,KAAK6U,SAAW7U,KAAK2W,YAAY9B,GAC5C,OAAO5V,EAAEkM,KAAKnL,KAAKsC,SAAU,SAASW,GACpC,GAAIA,EAAQuR,MAAMvT,KAAK4T,GAAW,CAChC5R,EAAQvC,SAASmU,GACjB,OAAO,SAYbG,SAAU,SAASH,EAAUxS,GAC3B,IAAKiT,EAAQO,QAAS,OAAO,MAC7B,IAAKxT,GAAWA,IAAY,KAAMA,EAAU,CAACsB,UAAWtB,GAGxDwS,EAAW7U,KAAK2W,YAAY9B,GAAY,IAGxC,IAAIwB,EAAWrW,KAAKpB,KACpB,GAAIiW,IAAa,IAAMA,EAAS6B,OAAO,KAAO,IAAK,CACjDL,EAAWA,EAAS1W,MAAM,GAAI,IAAM,IAEtC,IAAI8I,EAAM4N,EAAWxB,EAGrBA,EAAWA,EAASjM,QAAQgN,EAAc,IAG1C,IAAIiD,EAAkB7Y,KAAKoW,eAAevB,GAE1C,GAAI7U,KAAK6U,WAAagE,EAAiB,OACvC7Y,KAAK6U,SAAWgE,EAGhB,GAAI7Y,KAAK4W,cAAe,CACtB5W,KAAK4U,QAAQvS,EAAQuG,QAAU,eAAiB,aAAa,GAAImG,SAAS+J,MAAOrQ,QAI5E,GAAIzI,KAAK6W,iBAAkB,CAChC7W,KAAK+Y,YAAY/Y,KAAKyV,SAAUZ,EAAUxS,EAAQuG,SAClD,GAAI5I,KAAKsX,QAAUzC,IAAa7U,KAAKwW,QAAQxW,KAAKsX,OAAOS,eAAgB,CACvE,IAAIH,EAAU5X,KAAKsX,OAAOS,cAK1B,IAAK1V,EAAQuG,QAAS,CACpBgP,EAAQ7I,SAASiJ,OACjBJ,EAAQ7I,SAASkJ,QAGnBjY,KAAK+Y,YAAYnB,EAAQnC,SAAUZ,EAAUxS,EAAQuG,cAKlD,CACL,OAAO5I,KAAKyV,SAASuD,OAAOvQ,GAE9B,GAAIpG,EAAQsB,QAAS,OAAO3D,KAAKuY,QAAQ1D,IAK3CkE,YAAa,SAAStD,EAAUZ,EAAUjM,GACxC,GAAIA,EAAS,CACX,IAAI2N,EAAOd,EAASc,KAAK3N,QAAQ,qBAAsB,IACvD6M,EAAS7M,QAAQ2N,EAAO,IAAM1B,OACzB,CAELY,EAASyC,KAAO,IAAMrD,MAO5BzV,EAASwV,QAAU,IAAIU,EAQvB,IAAIzQ,EAAS,SAASoU,EAAYC,GAChC,IAAIC,EAASnZ,KACb,IAAIoZ,EAKJ,GAAIH,GAAcha,EAAEkH,IAAI8S,EAAY,eAAgB,CAClDG,EAAQH,EAAWnQ,gBACd,CACLsQ,EAAQ,WAAY,OAAOD,EAAO1V,MAAMzD,KAAM0D,YAIhDzE,EAAE4F,OAAOuU,EAAOD,EAAQD,GAIxBE,EAAMvZ,UAAYZ,EAAEmN,OAAO+M,EAAOtZ,UAAWoZ,GAC7CG,EAAMvZ,UAAUiJ,YAAcsQ,EAI9BA,EAAMC,UAAYF,EAAOtZ,UAEzB,OAAOuZ,GAITtU,EAAMD,OAASmE,EAAWnE,OAASoP,EAAOpP,OAAS4I,EAAK5I,OAASyQ,EAAQzQ,OAASA,EAGlF,IAAI8D,EAAW,WACb,MAAM,IAAIqD,MAAM,mDAIlB,IAAIjE,EAAY,SAASJ,EAAOtF,GAC9B,IAAIF,EAAQE,EAAQF,MACpBE,EAAQF,MAAQ,SAAS0F,GACvB,GAAI1F,EAAOA,EAAMuC,KAAKrC,EAAQvB,QAAS6G,EAAOE,EAAMxF,GACpDsF,EAAMhE,QAAQ,QAASgE,EAAOE,EAAMxF,KAIxC,OAAOjD"} \ No newline at end of file diff --git a/core/assets/vendor/backbone/backbone-min.map b/core/assets/vendor/backbone/backbone-min.map deleted file mode 100644 index a45f7c13e97..00000000000 --- a/core/assets/vendor/backbone/backbone-min.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"backbone-min.js","sources":["backbone.js"],"names":["factory","root","self","global","define","amd","_","$","exports","Backbone","require","e","jQuery","Zepto","ender","previousBackbone","slice","Array","prototype","VERSION","noConflict","this","emulateHTTP","emulateJSON","Events","eventSplitter","_listening","eventsApi","iteratee","events","name","callback","opts","i","names","context","keys","length","test","split","on","_events","onApi","ctx","listening","listeners","_listeners","id","interop","listenTo","obj","_listenId","uniqueId","listeningTo","_listeningTo","Listening","error","tryCatchOn","options","handlers","count","push","off","offApi","stopListening","ids","isEmpty","cleanup","remaining","j","handler","_callback","once","onceMap","bind","listenToOnce","map","offer","apply","arguments","trigger","Math","max","args","triggerApi","objEvents","allEvents","all","triggerEvents","concat","ev","l","a1","a2","a3","call","listener","unbind","extend","Model","attributes","attrs","preinitialize","cid","cidPrefix","collection","parse","defaults","result","set","changed","initialize","validationError","idAttribute","toJSON","clone","sync","get","attr","escape","has","matches","key","val","_validate","unset","silent","changes","changing","_changing","_previousAttributes","current","prev","isEqual","_pending","clear","hasChanged","changedAttributes","diff","old","previous","previousAttributes","fetch","model","success","resp","serverAttrs","wrapError","save","validate","wait","method","isNew","patch","xhr","destroy","defer","url","base","urlError","replace","encodeURIComponent","constructor","isValid","Collection","models","comparator","_reset","reset","setOptions","add","remove","merge","addOptions","splice","array","insert","at","min","tail","singular","isArray","removed","_removeModels","added","merged","_isModel","toAdd","toMerge","toRemove","modelMap","sort","sortable","sortAttr","isString","existing","_prepareModel","_addReference","orderChanged","some","m","index","_removeReference","previousModels","pop","unshift","shift","_byId","modelId","where","first","findWhere","Error","isFunction","sortBy","pluck","create","callbackOpts","values","CollectionIterator","ITERATOR_VALUES","ITERATOR_KEYS","entries","ITERATOR_KEYSVALUES","indexOf","_onModelEvent","event","prevId","$$iterator","Symbol","iterator","kind","_collection","_kind","_index","next","value","done","View","pick","viewOptions","_ensureElement","delegateEventSplitter","tagName","selector","$el","find","render","_removeElement","setElement","element","undelegateEvents","_setElement","delegateEvents","el","match","delegate","eventName","undelegate","_createElement","document","createElement","className","_setAttributes","addMethod","attribute","cb","defaultVal","addUnderscoreMethods","Class","methods","each","instance","isObject","modelMatcher","matcher","collectionMethods","forEach","collect","reduce","foldl","inject","reduceRight","foldr","detect","filter","select","reject","every","any","include","includes","contains","invoke","toArray","size","head","take","initial","rest","drop","last","without","difference","shuffle","lastIndexOf","chain","sample","partition","groupBy","countBy","indexBy","findIndex","findLastIndex","modelMethods","pairs","invert","omit","config","Base","mixin","mappings","functions","memo","type","methodMap","params","dataType","data","contentType","JSON","stringify","_method","beforeSend","setRequestHeader","processData","textStatus","errorThrown","ajax","update","delete","read","Router","routes","_bindRoutes","optionalParam","namedParam","splatParam","escapeRegExp","route","isRegExp","_routeToRegExp","router","history","fragment","_extractParameters","execute","navigate","optional","RegExp","exec","param","decodeURIComponent","History","checkUrl","window","location","routeStripper","rootStripper","pathStripper","started","interval","atRoot","path","pathname","getSearch","matchRoot","decodeFragment","rootPath","decodeURI","href","getHash","getPath","charAt","getFragment","_usePushState","_wantsHashChange","start","hashChange","_hasHashChange","documentMode","_useHashChange","_wantsPushState","pushState","_hasPushState","iframe","src","style","display","tabIndex","body","iWindow","insertBefore","firstChild","contentWindow","open","close","hash","addEventListener","attachEvent","_checkUrlInterval","setInterval","loadUrl","stop","removeEventListener","detachEvent","removeChild","clearInterval","decodedFragment","title","_updateHash","assign","protoProps","staticProps","parent","child","__super__"],"mappings":"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"} \ No newline at end of file diff --git a/core/assets/vendor/backbone/backbone.js b/core/assets/vendor/backbone/backbone.js index 3e09d0dcb00..fd64012a359 100644 --- a/core/assets/vendor/backbone/backbone.js +++ b/core/assets/vendor/backbone/backbone.js @@ -1,6 +1,6 @@ -// Backbone.js 1.4.0 +// Backbone.js 1.4.1 -// (c) 2010-2019 Jeremy Ashkenas and DocumentCloud +// (c) 2010-2022 Jeremy Ashkenas and DocumentCloud // Backbone may be freely distributed under the MIT license. // For all details and documentation: // http://backbonejs.org @@ -44,7 +44,7 @@ var slice = Array.prototype.slice; // Current version of the library. Keep in sync with `package.json`. - Backbone.VERSION = '1.4.0'; + Backbone.VERSION = '1.4.1'; // For Backbone's purposes, jQuery, Zepto, Ender, or My Library (kidding) owns // the `$` variable. @@ -516,7 +516,11 @@ } // Update the `id`. - if (this.idAttribute in attrs) this.id = this.get(this.idAttribute); + if (this.idAttribute in attrs) { + var prevId = this.id; + this.id = this.get(this.idAttribute); + this.trigger('changeId', this, prevId, options); + } // Trigger all relevant attribute changes. if (!silent) { @@ -994,7 +998,7 @@ get: function(obj) { if (obj == null) return void 0; return this._byId[obj] || - this._byId[this.modelId(this._isModel(obj) ? obj.attributes : obj)] || + this._byId[this.modelId(this._isModel(obj) ? obj.attributes : obj, obj.idAttribute)] || obj.cid && this._byId[obj.cid]; }, @@ -1098,8 +1102,8 @@ }, // Define how to uniquely identify models in the collection. - modelId: function(attrs) { - return attrs[this.model.prototype.idAttribute || 'id']; + modelId: function(attrs, idAttribute) { + return attrs[idAttribute || this.model.prototype.idAttribute || 'id']; }, // Get an iterator of all models in this collection. @@ -1134,7 +1138,15 @@ } options = options ? _.clone(options) : {}; options.collection = this; - var model = new this.model(attrs, options); + + var model; + if (this.model.prototype) { + model = new this.model(attrs, options); + } else { + // ES class methods didn't have prototype + model = this.model(attrs, options); + } + if (!model.validationError) return model; this.trigger('invalid', this, model.validationError, options); return false; @@ -1154,7 +1166,7 @@ // Remove references before triggering 'remove' event to prevent an // infinite loop. #3693 delete this._byId[model.cid]; - var id = this.modelId(model.attributes); + var id = this.modelId(model.attributes, model.idAttribute); if (id != null) delete this._byId[id]; if (!options.silent) { @@ -1177,7 +1189,7 @@ // Internal method to create a model's ties to a collection. _addReference: function(model, options) { this._byId[model.cid] = model; - var id = this.modelId(model.attributes); + var id = this.modelId(model.attributes, model.idAttribute); if (id != null) this._byId[id] = model; model.on('all', this._onModelEvent, this); }, @@ -1185,7 +1197,7 @@ // Internal method to sever a model's ties to a collection. _removeReference: function(model, options) { delete this._byId[model.cid]; - var id = this.modelId(model.attributes); + var id = this.modelId(model.attributes, model.idAttribute); if (id != null) delete this._byId[id]; if (this === model.collection) delete model.collection; model.off('all', this._onModelEvent, this); @@ -1199,13 +1211,11 @@ if (model) { if ((event === 'add' || event === 'remove') && collection !== this) return; if (event === 'destroy') this.remove(model, options); - if (event === 'change') { - var prevId = this.modelId(model.previousAttributes()); - var id = this.modelId(model.attributes); - if (prevId !== id) { - if (prevId != null) delete this._byId[prevId]; - if (id != null) this._byId[id] = model; - } + if (event === 'changeId') { + var prevId = this.modelId(model.previousAttributes(), model.idAttribute); + var id = this.modelId(model.attributes, model.idAttribute); + if (prevId != null) delete this._byId[prevId]; + if (id != null) this._byId[id] = model; } } this.trigger.apply(this, arguments); @@ -1261,7 +1271,7 @@ if (this._kind === ITERATOR_VALUES) { value = model; } else { - var id = this._collection.modelId(model.attributes); + var id = this._collection.modelId(model.attributes, model.idAttribute); if (this._kind === ITERATOR_KEYS) { value = id; } else { // ITERATOR_KEYSVALUES @@ -1615,11 +1625,11 @@ // Map from CRUD to HTTP for our default `Backbone.sync` implementation. var methodMap = { - create: 'POST', - update: 'PUT', - patch: 'PATCH', - delete: 'DELETE', - read: 'GET' + 'create': 'POST', + 'update': 'PUT', + 'patch': 'PATCH', + 'delete': 'DELETE', + 'read': 'GET' }; // Set the default implementation of `Backbone.ajax` to proxy through to `$`. @@ -1712,11 +1722,11 @@ // against the current location hash. _routeToRegExp: function(route) { route = route.replace(escapeRegExp, '\\$&') - .replace(optionalParam, '(?:$1)?') - .replace(namedParam, function(match, optional) { - return optional ? match : '([^/?]+)'; - }) - .replace(splatParam, '([^?]*?)'); + .replace(optionalParam, '(?:$1)?') + .replace(namedParam, function(match, optional) { + return optional ? match : '([^/?]+)'; + }) + .replace(splatParam, '([^?]*?)'); return new RegExp('^' + route + '(?:\\?([\\s\\S]*))?$'); }, diff --git a/core/assets/vendor/ckeditor/CHANGES.md b/core/assets/vendor/ckeditor/CHANGES.md index b618f7c3fd6..c74e41d02b0 100644 --- a/core/assets/vendor/ckeditor/CHANGES.md +++ b/core/assets/vendor/ckeditor/CHANGES.md @@ -1,6 +1,398 @@ CKEditor 4 Changelog ==================== +## CKEditor 4.21.0 + +**Security Updates:** + +A cross-site scripting vulnerability has been discovered affecting [Iframe Dialog](https://ckeditor.com/cke4/addon/iframe) and [Media Embed](https://ckeditor.com/cke4/addon/embed) plugins. + +This vulnerability might affect a small percentage of integrators that depend on dynamic editor initialization/destroy mechanism. See [GitHub advisory](https://github.com/ckeditor/ckeditor4/security/advisories/GHSA-vh5c-xwqv-cv9g) for more details. + +**Potential breaking changes** + +In some rare cases, a security release may introduce a breaking change to your application. We have provided configuration options that will help you mitigate any potential issues with the upgrade: + +- Starting from version 4.21, the [Iframe Dialog](https://ckeditor.com/cke4/addon/iframe) plugin applies the `sandbox` attribute by default, which restricts JavaScript code execution in the iframe element. To change this behavior, configure the [`config.iframe_attributes`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html#cfg-iframe_attributes) option. +- Starting from version 4.21, the [Media Embed](https://ckeditor.com/cke4/addon/embed) plugin regenerates the entire content of the embed widget by default. To change this behavior, configure the [`config.embed_keepOriginalContent`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html#cfg-embed_keepOriginalContent) option. + +If you choose to change either of the above options, make sure to properly configure [Content Security Policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP) to avoid any potential security issues that may arise from embedding iframe elements on your web page. + +You can read more details in the relevant security advisory and [contact us](security@cksource.com) if you have more questions. + +**An upgrade is highly recommended!** + +New Features: + +* [#4400](https://github.com/ckeditor/ckeditor4/issues/4400): Added the [`config.uploadImage_supportedTypes`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html#cfg-uploadImage_supportedTypes) configuration option allowing to change the image formats accepted by the [Upload Image](https://ckeditor.com/cke4/addon/uploadimage) plugin. Thanks to [SilverYoCha](https://github.com/SilverYoCha)! + +Fixed Issues: + +* [#5431](https://github.com/ckeditor/ckeditor4/issues/5431): Fixed: No notification is shown when pasting or dropping unsupported image types into the editor. + +## CKEditor 4.20.2 + +Fixed Issues: + +* [#439](https://github.com/ckeditor/ckeditor4/issues/439): Fixed: Incorrect Tab and Shift+Tab navigation for radio buttons inside the dialog. +* [#4829](https://github.com/ckeditor/ckeditor4/issues/4829): Fixed: Undo reversed entire table content instead of a single cell. Thanks to that fix, multiple changes in a table can be undone one by one. +* [#5396](https://github.com/ckeditor/ckeditor4/issues/5396): Fixed: Event listeners for `popstate` and `hashchange` events on the `window`, added by the [Maximize](https://ckeditor.com/cke4/addon/maximize) plugin, were not removed when destroying the editor instance. +* [#5414](https://github.com/ckeditor/ckeditor4/issues/5414): Fixed: File and image uploaders based on the [Upload Widget plugin](https://ckeditor.com/cke4/addon/uploadwidget) and [Easy Image plugin ](https://ckeditor.com/cke4/addon/easyimage) didn't fire the [`change` event](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_editor.html#event-change) upon finishing upload, resulting in passing incorrect data in form controls for integration frameworks, like [Reactive forms in Angular](https://angular.io/guide/reactive-forms). +* [#698](https://github.com/ckeditor/ckeditor4/issues/698): Fixed: An error was thrown after applying formatting to the widget with inline editable and switching to the source mode. Thanks to [Glen](https://github.com/glen-84)! + +API changes: + +* [#3540](https://github.com/ckeditor/ckeditor4/issues/3540): The [startup data](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_plugins_widget.html) passed to the widget's command is now used to also populate the widget's template. +* [#5352](https://github.com/ckeditor/ckeditor4/issues/5352): Added the [`colorButton_contentsCss`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html#cfg-colorButton_contentsCss) configuration option allowing to add custom CSS to the [Color Button](https://ckeditor.com/cke4/addon/colorbutton) menu content. Thanks to [mihilion](https://github.com/mihilion)! + +## CKEditor 4.20.1 + +Fixed Issues: + +* [#5333](https://github.com/ckeditor/ckeditor4/issues/5333): Fixed: The original name of the uploaded image is not preserved by the [Upload Image](https://ckeditor.com/cke4/addon/uploadimage) plugin if the [Clipboard](https://ckeditor.com/cke4/addon/clipboard) plugin has enabled image handling. +* [#2881](https://github.com/ckeditor/ckeditor4/issues/2881): Fixed: Changing table headers from "Both" to "First column" in the [Table](https://ckeditor.com/cke4/addon/table) dialog does not change the first column cell correctly. +* [#2996](https://github.com/ckeditor/ckeditor4/issues/2996): Fixed: Table header "scope" attribute is incorrect for the "Headers: both" option in the [Table](https://ckeditor.com/cke4/addon/table) dialog. +* [#4802](https://github.com/ckeditor/ckeditor4/issues/4802): Fixed: [Tableselection](https://ckeditor.com/cke4/addon/tableselection) caret moves to the previous cell after tabbing into the next cell and then removing its content. +* [#5365](https://github.com/ckeditor/ckeditor4/issues/5365): Fixed: The value of the [`config.baseFloatZIndex`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html#cfg-baseFloatZIndex) config variable is incorrectly applied to parent dialog when the child dialog is closed resulting in the dialog overlay covering up the dialog. Thanks to [JenoDK](https://github.com/JenoDK)! +* [#5305](https://github.com/ckeditor/ckeditor4/issues/5305): Fixed: Anchor name can invalidly include spaces. + +## CKEditor 4.20 + +New Features: + +* [#5084](https://github.com/ckeditor/ckeditor4/issues/5084): Added the [`config.tabletools_scopedHeaders`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html#cfg-tabletools_scopedHeaders) configuration option controlling the behaviour of table headers with and without the `[scope]` attribute. +* [#5219](https://github.com/ckeditor/ckeditor4/issues/5219): Added the [`config.image2_defaultLockRatio`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html#cfg-image2_defaultLockRatio) configuration option allowing to set the default value of the "Lock ratio" option in the [Enhanced Image](https://ckeditor.com/cke4/addon/image2) dialog. +* [#2008](https://github.com/ckeditor/ckeditor-dev/pull/2008): Extended the [Mentions](https://ckeditor.com/cke4/addon/mentions) and [Emoji](https://ckeditor.com/cke4/addon/emoji) plugins with a feature option that adds a space after an accepted autocompletion match. See: + * [`configDefinition.followingSpace`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_plugins_mentions_configDefinition.html#property-followingSpace) option for the mentions plugin, and + * [`config.emoji_followingSpace`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html#cfg-emoji_followingSpace) option for the emoji plugin. +* [#5215](https://github.com/ckeditor/ckeditor4/issues/5215): Added the [`config.coreStyles_toggleSubSup`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html#cfg-coreStyles_toggleSubSup) configuration option which disallows setting the subscript and superscript on the same element simultaneously using UI buttons. This option is turned off by default. + +Fixed Issues: + +* [#4889](https://github.com/ckeditor/ckeditor4/issues/4889): Fixed: Incorrect position of the [Table Resize](https://ckeditor.com/cke4/addon/tableresize) cursor after scrolling the editor horizontally. +* [#5319](https://github.com/ckeditor/ckeditor4/issues/5319): Fixed: [Autolink](https://ckeditor.com/cke4/addon/autolink) [`config.autolink_urlRegex`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html#cfg-autolink_urlRegex) option produced invalid links when configured directly using the editor instance config. Thanks to [Aigars Zeiza](https://github.com/Zuzon)! +* [#4941](https://github.com/ckeditor/ckeditor4/issues/4941): Fixed: Some entities got wrongly encoded when using [`entities_processNumerical = true`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html#cfg-entities_processNumerical) configuration option. +* [#4931](https://github.com/ckeditor/ckeditor4/issues/4931): Fixed: Selecting the whole editor content when there is only a list with an empty element at the end inside and deleting it did not delete all list items. + + +API changes: + +* [#5122](https://github.com/ckeditor/ckeditor4/issues/5122): Added the ability to provide a list of buttons as an array to the [`config.removeButtons`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html#cfg-removeButtons) config variable. +* [#2008](https://github.com/ckeditor/ckeditor-dev/pull/2008): Added [Autocomplete](https://ckeditor.com/cke4/addon/autocomplete) [`followingSpace`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_plugins_autocomplete_configDefinition.html#property-followingSpace) option that finishes an accepted match with a space. + +## CKEditor 4.19.1 + +Fixed Issues: + +* [#5125](https://github.com/ckeditor/ckeditor4/issues/5125): Fixed: Deleting a widget with disabled [autoParagraph](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html#cfg-autoParagraph) by the keyboard `backspace` key removes the editor editable area and crashes the editor. +* [#5135](https://github.com/ckeditor/ckeditor4/issues/5135): Fixed: The [`checkbox.setValue`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_ui_dialog_checkbox.html#method-setValue) and [`radio.setValue`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_ui_dialog_radio.html#method-setValue) methods are not chainable as stated in the documentation. Thanks to [Jordan Bradford](https://github.com/LordPachelbel)! +* [#5085](https://github.com/ckeditor/ckeditor4/issues/5085): Fixed: The [Language](https://ckeditor.com/cke4/addon/language) plugin removes the element marking the text in foreign language if said element does not have an information about the text direction. +* [#4284](https://github.com/ckeditor/ckeditor4/issues/4284): Fixed: [Tableselection](https://ckeditor.com/cke4/addon/tableselection) Merging cells with a rowspan throws an unexpected error and does not create an undo step. +* [#5184](https://github.com/ckeditor/ckeditor4/issues/5184): Fixed: The [Editor Placeholder](https://ckeditor.com/cke4/addon/wysiwygarea) plugin degrades typing performance. +* [#5158](https://github.com/ckeditor/ckeditor4/issues/5158): Fixed: [`CKEDITOR.tools#convertToPx()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_tools.html#method-convertToPx) gives invalid results if the helper calculator element was deleted from the DOM. +* [#5234](https://github.com/ckeditor/ckeditor4/issues/5234): Fixed: [Easy Image](https://ckeditor.com/cke4/addon/easyimage) doesn't allow to upload images files using toolbar button. +* [#438](https://github.com/ckeditor/ckeditor4/issues/438): Fixed: It is impossible to navigate to the [elementspath](https://ckeditor.com/cke4/addon/elementspath) from the [toolbar](https://ckeditor.com/cke4/addon/toolbar) by keyboard and vice versa. +* [#4449](https://github.com/ckeditor/ckeditor4/issues/4449): Fixed: [`dialog.validate#functions`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_dialog_validate.html#method-functions) incorrectly composes functions that return an optional error message, like e.g. [`dialog.validate.number`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_dialog_validate.html#method-number) due to unnecessary return type coercion. +* [#4473](https://github.com/ckeditor/ckeditor4/issues/4473): Fixed: The [dialog.validate](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_dialog_validate.html) method does not accept parameter value. The issue originated in [dialog.validate.functions](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_dialog_validate.html#method-functions) method that did not properly propagate parameter value to validator. Affected validators: + * [`functions`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_dialog_validate.html#method-functions) + * [`equals`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_dialog_validate.html#method-equals) + * [`notEqual`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_dialog_validate.html#method-notEqual) + * [`cssLength`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_dialog_validate.html#method-cssLength) + * [`htmlLength`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_dialog_validate.html#method-htmlLength) + * [`inlineStyle`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_dialog_validate.html#method-inlineStyle) +* [#5147](https://github.com/ckeditor/ckeditor4/issues/5147): Fixed: The [Accessibility Help](https://ckeditor.com/cke4/addon/a11yhelp) dialog does not contain info about focus being moved back to the editing area upon leaving dialogs. +* [#5144](https://github.com/ckeditor/ckeditor4/issues/5144): Fixed: [Menu buttons](https://ckeditor.com/cke4/addon/menubutton) and [panel buttons](https://ckeditor.com/cke4/addon/panelbutton) incorrectly indicate the open status of their associated pop-up menus in the browser's accessibility tree. +* [#5022](https://github.com/ckeditor/ckeditor4/issues/5022): Fixed: [Find and Replace](https://ckeditor.com/cke4/addon/find) does not respond to the `Enter` key. + +API changes: + +* [#5184](https://github.com/ckeditor/ckeditor4/issues/5184): Added the [`config.editorplaceholder_delay`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html#cfg-editorplaceholder_delay) configuration option allowing to delay placeholder before it is toggled when changing editor content. +* [#5184](https://github.com/ckeditor/ckeditor4/issues/5184): Added the [`CKEDITOR.tools#debounce()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_tools.html#method-debounce) function allowing to postpone a passed function execution until the given milliseconds have elapsed since the last time it was invoked. + +## CKEditor 4.19.0 + +New features: + +* [#2444](https://github.com/ckeditor/ckeditor4/issues/2444): Togglable toolbar buttons are now exposed as toggle buttons in the browser's accessibility tree. +* [#4641](https://github.com/ckeditor/ckeditor4/issues/4641): Added an option allowing to cancel the [Delayed Editor Creation](https://ckeditor.com/docs/ckeditor4/latest/features/delayed_creation.html) feature as a function handle for editor creators ([`CKEDITOR.replace`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR.html#method-replace), [`CKEDITOR.inline`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR.html#method-inline), [`CKEDITOR.appendTo`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR.html#method-appendTo)). +* [#4986](https://github.com/ckeditor/ckeditor4/issues/4986): Added [`config.shiftLineBreaks`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html#cfg-shiftLineBreaks) allowing to preserve inline elements formatting when the `shift`+`enter` keystroke is used. +* [#2445](https://github.com/ckeditor/ckeditor4/issues/2445): Added [`config.applicationTitle`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html#cfg-applicationTitle) configuration option allowing to customize or disable the editor's application region label. This option, combined with [`config.title`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html#cfg-title), gives much better control over the editor's labels read by screen readers. + +Fixed Issues: + +* [#4543](https://github.com/ckeditor/ckeditor4/issues/4543): Fixed: Toolbar buttons toggle state is not correctly announced by screen readers lacking the information whether the feature is on or off. +* [#4052](https://github.com/ckeditor/ckeditor4/issues/4052): Fixed: Editor labels are read incorrectly by screen readers due to invalid editor control type for the [Iframe Editing Area](https://ckeditor.com/cke4/addon/wysiwygarea) editors. +* [#1904](https://github.com/ckeditor/ckeditor4/issues/1904): Fixed: Screen readers are not announcing the read-only editor state. +* [#4904](https://github.com/ckeditor/ckeditor4/issues/4904): Fixed: Table cell selection and navigation with the `tab` key behavior is inconsistent after adding a new row. +* [#3394](https://github.com/ckeditor/ckeditor4/issues/3394): Fixed: [Enhanced image](https://ckeditor.com/cke4/addon/image2) plugin dialog is not supporting URL with query string parameters. Thanks to [Simon Urli](https://github.com/surli)! +* [#5049](https://github.com/ckeditor/ckeditor4/issues/5049): Fixed: The editor fails in strict mode due to not following the `use strict` directives in a core editor module. +* [#5095](https://github.com/ckeditor/ckeditor4/issues/5095): Fixed: The [clipboard](https://ckeditor.com/cke4/addon/clipboard) plugin shows notification about unsupported file format when the file type is different than `jpg`, `gif`, `png`, not respecting [supported types](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_fileTools_uploadWidgetDefinition.html#property-supportedTypes) by the [Upload Widget](https://ckeditor.com/cke4/addon/uploadwidget) plugin. +* [#4855](https://github.com/ckeditor/ckeditor4/issues/4855): [iOS] Fixed: Focusing toolbar buttons with an enabled VoiceOver screen reader moves the browser focus into an editable area and interrupts button functionality. + +API changes: + +* [#4641](https://github.com/ckeditor/ckeditor4/issues/4641): The [`CKEDITOR.replace`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR.html#method-replace), [`CKEDITOR.inline`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR.html#method-inline), [`CKEDITOR.appendTo`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR.html#method-appendTo) functions are now returning a handle function allowing to cancel the [Delayed Editor Creation](https://ckeditor.com/docs/ckeditor4/latest/features/delayed_creation.html) feature. +* [#5095](https://github.com/ckeditor/ckeditor4/issues/5095): Added the [CKEDITOR.plugins.clipboard.addFileMatcher](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_plugins_clipboard.html#method-addFileMatcher) function allowing to define file formats supported by the [clipboard](https://ckeditor.com/cke4/addon/clipboard) plugin. Trying to paste unsupported files will result in a notification that a file cannot be dropped or pasted into the editor. +* [#2445](https://github.com/ckeditor/ckeditor4/issues/2445): Added [`config.applicationTitle`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html#cfg-applicationTitle) alongside [`CKEDITOR.editor#applicationTitle`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_editor.html#property-applicationTitle) to allow customizing editor's application region label. + +## CKEditor 4.18.0 + +**Security Updates:** + +* Fixed an XSS vulnerability in the core module reported by GitHub Security Lab team member [Kevin Backhouse](https://github.com/kevinbackhouse). + + Issue summary: The vulnerability allowed to inject malformed HTML bypassing content sanitization, which could result in executing a JavaScript code. See [CVE-2022-24728](https://github.com/ckeditor/ckeditor4/security/advisories/GHSA-4fc4-4p5g-6w89) for more details. + +* Fixed a Regular expression Denial of Service (ReDoS) vulnerability in dialog plugin discovered by the CKEditor 4 team during our regular security audit. + + Issue summary: The vulnerability allowed to abuse a dialog input validator regular expression, which could cause a significant performance drop resulting in a browser tab freeze. See [CVE-2022-24729](https://github.com/ckeditor/ckeditor4/security/advisories/GHSA-f6rf-9m92-x2hh) for more details. + +You can read more details in the relevant security advisory and [contact us](security@cksource.com) if you have more questions. + +**An upgrade is highly recommended!** + +**Highlights:** + +[Web Spell Checker](https://webspellchecker.com/) ended support for WebSpellChecker Dialog on December 31st, 2021. This means the plugin is not supported any longer. Therefore, we decided to deprecate and remove the WebSpellChecker Dialog plugin from CKEditor 4 presets. + +We strongly encourage everyone to choose one of the other available spellchecking solutions - [Spell Check As You Type (SCAYT)](https://ckeditor.com/cke4/addon/scayt) or [WProofreader](https://ckeditor.com/cke4/addon/wproofreader). + +Fixed issues: + +* [#5097](https://github.com/ckeditor/ckeditor4/issues/5097): [Chrome] Fixed: Incorrect conversion of points to pixels while using [`CKEDITOR.tools.convertToPx()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_tools.html#method-convertToPx). +* [#5044](https://github.com/ckeditor/ckeditor4/issues/5044): Fixed: `select` elements with `multiple` attribute had incorrect styling. Thanks to [John R. D'Orazio](https://github.com/JohnRDOrazio)! + +Other changes: + +* [#5093](https://github.com/ckeditor/ckeditor4/issues/5093): Deprecated and removed WebSpellChecker Dialog from presets. +* [#5127](https://github.com/ckeditor/ckeditor4/issues/5127): Deprecated the [`CKEDITOR.rnd`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR.html#property-rnd) property to discourage using it in a security-sensitive context. +* [#5087](https://github.com/ckeditor/ckeditor4/issues/5087): Improved the jQuery adapter by replacing a deprecated jQuery API with existing counterparts. Thanks to [Fran Boon](https://github.com/flavour)! +* [#5128](https://github.com/ckeditor/ckeditor4/issues/5128): Improved the [Emoji](https://ckeditor.com/cke4/addon/emoji) definitions encoding set by the [`config.emoji_emojiListUrl`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html#cfg-emoji_emojiListUrl) configuration option. + +## CKEditor 4.17.2 + +Fixed issues: + +* [#4934](https://github.com/ckeditor/ckeditor4/issues/4934): Fixed: Active focus in dialog tabs is not visible in the High Contrast mode. +* [#547](https://github.com/ckeditor/ckeditor4/issues/547): Fixed: Dragging and dropping elements like images within a table is no longer available. +* [#4875](https://github.com/ckeditor/ckeditor4/issues/4875): Fixed: It is not possible to delete multiple selected lists. +* [#4873](https://github.com/ckeditor/ckeditor4/issues/4873): Fixed: Pasting content from MS Word and Outlook with horizontal lines prevents images from being uploaded. +* [#4952](https://github.com/ckeditor/ckeditor4/issues/4952): Fixed: Dragging and dropping images within a table cell appends additional elements. +* [#4761](https://github.com/ckeditor/ckeditor4/issues/4761): Fixed: Some CSS files are missing unique timestamp used to prevent browser to cache static resources between editor releases. +* [#4987](https://github.com/ckeditor/ckeditor4/issues/4987): Fixed: [Find/Replace](https://ckeditor.com/cke4/addon/find) is not recognizing more than one space character. +* [#5061](https://github.com/ckeditor/ckeditor4/issues/5061): Fixed: [Find/Replace](https://ckeditor.com/cke4/addon/find) plugin incorrectly handles multiple whitespace during replacing text. +* [#5004](https://github.com/ckeditor/ckeditor4/issues/5004): Fixed: `MutationObserver` used in [IFrame Editing Area](https://ckeditor.com/cke4/addon/wysiwygarea) plugin causes memory leaks. +* [#4994](https://github.com/ckeditor/ckeditor4/issues/4994): Fixed: [Easy Image](https://ckeditor.com/cke4/addon/easyimage) plugin caused content pasted from Word to turn into an image. + +API changes: + +* [#4918](https://github.com/ckeditor/ckeditor4/issues/4918): Explicitly set the [`config.useComputedState`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html#cfg-useComputedState) default value to `true`. Thanks to [Shabab Karim](https://github.com/shabab477)! +* [#4761](https://github.com/ckeditor/ckeditor4/issues/4761): The [`CKEDITOR.appendTimestamp()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR.html#method-appendTimestamp) function was added. +* [#4761](https://github.com/ckeditor/ckeditor4/issues/4761): [`CKEDITOR.dom.document#appendStyleSheet()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_dom_document.html#method-appendStyleSheet) and [`CKEDITOR.tools.buildStyleHtml()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_tools.html#method-buildStyleHtml) now use the newly added [`CKEDITOR.appendTimestamp()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR.html#method-appendTimestamp) function to correctly handle caching of CSS files. + +Other changes: + +* [#5014](https://github.com/ckeditor/ckeditor4/issues/5014): Fixed: Toolbar configurator fails when plugin does not define a toolbar group. Thanks to [SuperPat](https://github.com/SuperPat45)! + +## CKEditor 4.17.1 + +**Highlights:** + +Due to a regression in CKEeditor 4.17.0 version that was only revealed after the release and affected a limited area of operation, CSS assets loaded via relative links started to point into invalid location when loaded from external resources. + +We have therefore decided to immediately release CKEditor 4.17.1 that fixed this problem. If you have already upgraded to v4.17.0, make sure to upgrade to v4.17.1 to avoid this regression. + +Fixed issues: + +* [#4979](https://github.com/ckeditor/ckeditor4/issues/3757): Fixed: Added cache key in [#4761](https://github.com/ckeditor/ckeditor4/issues/4761) started to breaking relative links for external CSS resources. The fix has been reverted and will be corrected in the next editor version. + +## CKEditor 4.17 + +**Security Updates:** + +* Fixed XSS vulnerability in the core module reported by [William Bowling](https://github.com/wbowling). + + Issue summary: The vulnerability allowed to inject malformed comments HTML bypassing content sanitization, which could result in executing JavaScript code. See [CVE-2021-41165](https://github.com/ckeditor/ckeditor4/security/advisories/GHSA-7h26-63m7-qhf2) for more details. + +* Fixed XSS vulnerability in the core module reported by [Maurice Dauer](https://twitter.com/laytonctf). + + Issue summary: The vulnerability allowed to inject malformed HTML bypassing content sanitization, which could result in executing JavaScript code. See [CVE-2021-41164](https://github.com/ckeditor/ckeditor4/security/advisories/GHSA-pvmx-g8h5-cprj) for more details. + +You can read more details in the relevant security advisory and [contact us](security@cksource.com) if you have more questions. + +**An upgrade is highly recommended!** + +**Highlights:** + +Adobe [ended support of Flash Player](https://www.adobe.com/products/flashplayer/end-of-life.html) on December 31, 2020 and blocked Flash content from running in Flash Player beginning January 12, 2021. +We have decided to deprecate and remove the [Flash](https://ckeditor.com/cke4/addon/flash) plugin from CKEditor 4 to help protect users' systems and discourage using insecure software. + +New Features: + +* [#3433](https://github.com/ckeditor/ckeditor4/issues/3433): Marked required fields in dialogs with asterisk (`*`) symbol. +* [#4374](https://github.com/ckeditor/ckeditor4/issues/4374): Integrated the [Maximize](https://ckeditor.com/cke4/addon/maximize) plugin with browser's History API. +* [#4461](https://github.com/ckeditor/ckeditor4/issues/4461): Introduced the possibility to delay editor initialization while it is in a detached DOM element. +* [#4462](https://github.com/ckeditor/ckeditor4/issues/4462): Introduced support for reattaching editor container element to DOM. +* [#4612](https://github.com/ckeditor/ckeditor4/issues/4612): Allow pasting images as Base64 from [clipboard](https://ckeditor.com/cke4/addon/clipboard) in all browsers except IE. +* [#4681](https://github.com/ckeditor/ckeditor4/issues/4681): Allow drag and drop images as Base64. +* [#4750](https://github.com/ckeditor/ckeditor4/issues/4750): Added notification for pasting and dropping unsupported file types into the editor. +* [#4807](https://github.com/ckeditor/ckeditor4/issues/4807): [Chrome] Improved the performance of pasting large images. Thanks to [FlowIT-JIT](https://github.com/FlowIT-JIT)! +* [#4850](https://github.com/ckeditor/ckeditor4/issues/4850): Added support for loading [content templates](https://ckeditor.com/cke4/addon/templates) from HTML files. Thanks to [Fynn96](https://github.com/Fynn96)! +* [#4874](https://github.com/ckeditor/ckeditor4/issues/4874): Added the [`config.clipboard_handleImages`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html#cfg-clipboard_handleImages) configuration option for enabling and disabling built-in support for pasting and dropping images in the [Clipboard](https://ckeditor.com/cke4/addon/clipboard) plugin. Thanks to [FlowIT-JIT](https://github.com/FlowIT-JIT)! +* [#4026](https://github.com/ckeditor/ckeditor4/issues/4026): [Preview](https://ckeditor.com/cke4/addon/preview) plugin now uses the [`editor#title`](http://localhost/ckeditor4-docs/build/docs/ckeditor4/latest/api/CKEDITOR_editor.html#property-title) property for the title of the preview window. Thanks to [Ely](https://github.com/Elyasin)! +* [#4467](https://github.com/ckeditor/ckeditor4/issues/4467): Added support for inserting content next to a block [widgets](https://ckeditor.com/cke4/addon/widget) using keyboard navigation. Thanks to [bunglegrind](https://github.com/bunglegrind)! + +Fixed Issues: + +* [#3757](https://github.com/ckeditor/ckeditor4/issues/3757): [Firefox] Fixed: images pasted from [clipboard](https://ckeditor.com/cke4/addon/clipboard) are not inserted as Base64-encoded images. +* [#3876](https://github.com/ckeditor/ckeditor4/issues/3876): Fixed: The [Print](https://ckeditor.com/cke4/addon/print) plugin incorrectly prints links and images. +* [#4444](https://github.com/ckeditor/ckeditor4/issues/4444): [Firefox] Fixed: Print preview is incorrectly loaded from CDN. +* [#4596](https://github.com/ckeditor/ckeditor4/issues/4596): Fixed: Incorrect handling of HSL/HSLA values in [`CKEDITOR.tools.color`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_tools_color.html). +* [#4597](https://github.com/ckeditor/ckeditor4/issues/4597): Fixed: Incorrect color conversion for HSL/HSLA values in [`CKEDITOR.tools.color`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_tools_color.html). +* [#4604](https://github.com/ckeditor/ckeditor4/issues/4604): Fixed: [`CKEDITOR.plugins.clipboard.dataTransfer#getTypes()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_plugins_clipboard_dataTransfer.html#method-getTypes) returns no types. +* [#4761](https://github.com/ckeditor/ckeditor4/issues/4761): Fixed: Not all resources loaded by the editor respect the cache key. +* [#4783](https://github.com/ckeditor/ckeditor4/issues/4783): Fixed: The [Accessibility Help](https://ckeditor.com/cke4/addon/a11yhelp) dialog does not contain info about focus being moved back to the editing area upon activating a toolbar button. +* [#4790](https://github.com/ckeditor/ckeditor4/issues/4790): Fixed: Printing page is invoked before the printed page is fully loaded. +* [#4874](https://github.com/ckeditor/ckeditor4/issues/4874): Fixed: Built-in support for pasting and dropping images in the [Clipboard](https://ckeditor.com/cke4/addon/clipboard) plugin restricts third party plugins from handling image pasting. Thanks to [FlowIT-JIT](https://github.com/FlowIT-JIT)! +* [#4888](https://github.com/ckeditor/ckeditor4/issues/4888): Fixed: The [`CKEDITOR.dialog#setState()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_dialog.html#method-setState) method throws error when there is no "OK" button in the dialog. +* [#4858](https://github.com/ckeditor/ckeditor4/issues/4858): Fixed: The [Autolink](https://ckeditor.com/cke4/addon/autolink) plugin incorrectly escapes the `&` characters when pasting links into the editor. +* [#4892](https://github.com/ckeditor/ckeditor4/issues/4892): Fixed: Focus of buttons in dialogs is not visible enough in High Contrast mode. +* [#3858](https://github.com/ckeditor/ckeditor4/issues/3858): Fixed: Pasting content in `ENTER_BR` [enter mode](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html#cfg-enterMode) crashes the editor. +* [#4891](https://github.com/ckeditor/ckeditor4/issues/4891): Fixed: The [Autogrow](https://ckeditor.com/cke4/addon/autogrow) plugin applies fixed width to the editor. + +API Changes: + +* [#4462](https://github.com/ckeditor/ckeditor4/issues/4462): [`CKEDITOR.editor#getSelection()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_editor.html#method-getSelection) now returns `null` if the editor is in recreating state. +* [#4583](https://github.com/ckeditor/ckeditor4/issues/4583): Added support for new, comma-less color syntax to [`CKEDITOR.tools.color`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_tools_color.html). +* [#4604](https://github.com/ckeditor/ckeditor4/issues/4604): Added the [`CKEDITOR.plugins.clipboard.dataTransfer#isFileTransfer()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_plugins_clipboard_dataTransfer.html#method-isFileTransfer) method. +* [#4790](https://github.com/ckeditor/ckeditor4/issues/4790): Added `callback` parameter to [`CKEDITOR.plugins.preview#createPreview()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_plugins_preview.html#method-createPreview) method. + +Other Changes: + +* [#4866](https://github.com/ckeditor/ckeditor4/issues/#4866): The [Flash](https://ckeditor.com/cke4/addon/flash) plugin is now deprecated and has been removed from CKEditor 4. +* [#4901](https://github.com/ckeditor/ckeditor4/issues/4901): Redesigned buttons placement in the [Content templates](https://ckeditor.com/cke4/addon/templates) dialog to make it more UX friendly. Thanks to [Fynn96](https://github.com/Fynn96)! + +## CKEditor 4.16.2 + +**Security Updates:** + +* Fixed XSS vulnerability in the [Clipboard](https://ckeditor.com/cke4/addon/clipboard) plugin reported by [Anton Subbotin](https://github.com/skavans). + + Issue summary: The vulnerability allowed to abuse paste functionality using malformed HTML, which could result in injecting arbitrary HTML into the editor. See [CVE-2021-32809](https://github.com/ckeditor/ckeditor4/security/advisories/GHSA-7889-rm5j-hpgg) for more details. + +* Fixed XSS vulnerability in the [Widget](https://ckeditor.com/cke4/addon/widget) plugin reported by [Anton Subbotin](https://github.com/skavans). + + Issue summary: The vulnerability allowed to abuse undo functionality using malformed [Widget](https://ckeditor.com/cke4/addon/widget) HTML, which could result in executing JavaScript code. See [CVE-2021-32808](https://github.com/ckeditor/ckeditor4/security/advisories/GHSA-6226-h7ff-ch6c) for more details. + +* Fixed XSS vulnerability in the [Fake Objects](https://ckeditor.com/cke4/addon/fakeobjects) plugin reported by [Mika Kulmala](https://github.com/kulmik). + + Issue summary: The vulnerability allowed to inject malformed [Fake Objects](https://ckeditor.com/cke4/addon/fakeobjects) HTML, which could result in executing JavaScript code. See [CVE-2021-37695](https://github.com/ckeditor/ckeditor4/security/advisories/GHSA-m94c-37g6-cjhc) for more details. + +You can read more details in the relevant security advisory and [contact us](security@cksource.com) if you have more questions. + +**An upgrade is highly recommended!** + +Fixed Issues: +* [#4777](https://github.com/ckeditor/ckeditor4/issues/4777): Fixed: HTML comments in widgets not processed correctly. +* [#4733](https://github.com/ckeditor/ckeditor4/pull/4733): Fixed: [Link](https://ckeditor.com/cke4/addon/link) prevent duplicate anchors in text with styles. + * [#4728](https://github.com/ckeditor/ckeditor4/issues/4728): Fixed: Multiple anchors in one line and multi-line with text style. + * [#3863](https://github.com/ckeditor/ckeditor4/issues/3863): Fixed: Multiple anchors in single word with text style. +* [#3819](https://github.com/ckeditor/ckeditor4/issues/3819): [Chrome] Fixed: After removing one of the two consecutive spaces, the ` ` character appears in the editor instead of a space. +* [#4666](https://github.com/ckeditor/ckeditor4/pull/4666): [IE] Introduce CSS.escape polyfill. Thanks to [limingli0707](https://github.com/limingli0707)! + * [#681](https://github.com/ckeditor/ckeditor4/issues/681): Fixed: Table elements (td, tr, th, ..) with an id that starts with dot (.) causes javascript runtime err. + * [#641](https://github.com/ckeditor/ckeditor4/issues/641): Fixed: UploadImage Plugin Widgets not working in IE, Opera, Safari, PhantomJS. +* [#3638](https://github.com/ckeditor/ckeditor4/issues/3638): Fixed: Opening the same dialog twice causes it to become hidden under the dialog's page cover. +* [#4247](https://github.com/ckeditor/ckeditor4/issues/4247): Fixed: [Color Button](https://ckeditor.com/cke4/addon/colorbutton)'s incorrect rendering on the first opening. +* [#4555](https://github.com/ckeditor/ckeditor4/issues/4555): Fixed: [Font](https://ckeditor.com/cke4/addon/font) styles with attributes are not applied correctly when used multiple times over the same selection. +* [#4782](https://github.com/ckeditor/ckeditor4/issues/4782): [Firefox] Fixed: `TypeError` is thrown when switching to Source View and back while [Autocomplete](https://ckeditor.com/cke4/addon/autocomplete) plugin is enabled. + +## CKEditor 4.16.1 + +Fixed Issues: +* [#4617](https://github.com/ckeditor/ckeditor4/issues/4617): Fixed: [Autocomplete](https://ckeditor.com/cke4/addon/autocomplete) is not accessible in inline editors. +* [#4493](https://github.com/ckeditor/ckeditor4/issues/4493): Fixed: The [drop-down](https://ckeditor.com/cke4/addon/richcombo) label does not reflect the current value of the drop-down. +* [#1572](https://github.com/ckeditor/ckeditor4/issues/1572): Fixed: A paragraph before or after a [widget](https://ckeditor.com/cke4/addon/widget) cannot be removed. Thanks to [bunglegrind](https://github.com/bunglegrind)! +* [#4301](https://github.com/ckeditor/ckeditor4/issues/4301): Fixed: Pasted content is overwritten when pasted in an initially empty editor with the [`div` Enter mode](https://ckeditor.com/docs/ckeditor4/latest/features/enterkey.html). +* [#4351](https://github.com/ckeditor/ckeditor4/issues/4351): Fixed: Incorrect values for RGBA/HSLA colors in [Color Dialog](https://ckeditor.com/cke4/addon/colordialog). +* [#4509](https://github.com/ckeditor/ckeditor4/issues/4509): Fixed: Incorrect handling of drag & drop inside [widgets](https://ckeditor.com/cke4/addon/widget) and nested editables. +* [#4611](https://github.com/ckeditor/ckeditor4/issues/4611): [Android, iOS] Fixed: Incorrect hover styles for buttons in the toolbar on mobile devices. +* [#4652](https://github.com/ckeditor/ckeditor4/issues/4652): Fixed: [Event data](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_eventInfo.html) set to `false` is treated as an event cancellation. +* [#4659](https://github.com/ckeditor/ckeditor4/issues/4659): Fixed: [`CKEDITOR.htmlParser`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_htmlParser.html) does not treat `--!>` as a comment end tag correctly. + +## CKEditor 4.16 + +**Security Updates:** + +* Fixed ReDoS vulnerability in the [Autolink](https://ckeditor.com/cke4/addon/autolink) plugin. + + Issue summary: It was possible to execute a ReDoS-type attack inside CKEditor 4 by persuading a victim to paste a specially crafted URL-like text into the editor and press Enter or Space. + +* Fixed ReDoS vulnerability in the [Advanced Tab for Dialogs](https://ckeditor.com/cke4/addon/dialogadvtab) plugin. + + Issue summary: It was possible to execute a ReDoS-type attack inside CKEditor 4 by persuading a victim to paste a specially crafted text into the Styles dialog. + +**An upgrade is highly recommended!** + +New Features: + +* [#2800](https://github.com/ckeditor/ckeditor4/issues/2800): Unsupported image formats are now gracefully handled by the [Paste from Word](https://ckeditor.com/cke4/addon/pastefromword) plugin on paste, additionally showing descriptive error messages. +* [#2800](https://github.com/ckeditor/ckeditor4/issues/2800): Unsupported image formats are now gracefully handled by the [Paste from LibreOffice](https://ckeditor.com/cke4/addon/pastefromlibreoffice) plugin on paste, additionally showing descriptive error messages. +* [#3582](https://github.com/ckeditor/ckeditor4/issues/3582): Introduced smart positioning of the [Autocomplete](https://ckeditor.com/cke4/addon/autocomplete) panel used by the [Mentions](https://ckeditor.com/cke4/addon/mentions) and [Emoji](https://ckeditor.com/cke4/addon/emoji) plugins. The panel will now be additionally positioned related to the browser viewport to be always fully visible. +* [#4388](https://github.com/ckeditor/ckeditor4/issues/4388): Added the option to remove an iframe created with the [IFrame Dialog](https://ckeditor.com/cke4/addon/iframe) plugin from the sequential keyboard navigation using the `tabindex` attribute. Thanks to [Timo Kirkkala](https://github.com/kirkkala)! + +Fixed Issues: + +* [#1134](https://github.com/ckeditor/ckeditor4/issues/1134): [Safari] Fixed: [Paste from Word](https://ckeditor.com/cke4/addon/pastefromword) does not embed images. +* [#2800](https://github.com/ckeditor/ckeditor4/issues/2800): Fixed: No images are imported from Microsoft Word when the content is pasted via the [Paste from Word](https://ckeditor.com/cke4/addon/pastefromword) plugin if there is at least one image of unsupported format. +* [#4379](https://github.com/ckeditor/ckeditor4/issues/4379): [Edge] Fixed: Incorrect detection of the [high contrast mode](https://ckeditor.com/docs/ckeditor4/latest/guide/dev_a11y.html#high-contrast-mode). +* [#4422](https://github.com/ckeditor/ckeditor4/issues/4422): Fixed: Missing space between the button name and the keyboard shortcut inside the button label in the [high contrast mode](https://ckeditor.com/docs/ckeditor4/latest/guide/dev_a11y.html#high-contrast-mode). +* [#2208](https://github.com/ckeditor/ckeditor4/issues/2208): [IE] Fixed: The [Autolink](https://ckeditor.com/cke4/addon/autolink) plugin duplicates the native browser implementation. +* [#1824](https://github.com/ckeditor/ckeditor4/issues/1824): Fixed: The [Autolink](https://ckeditor.com/cke4/addon/autolink) plugin should require the [Link](https://ckeditor.com/cke4/addon/link) plugin. +* [#4253](https://github.com/ckeditor/ckeditor4/issues/4253): Fixed: The [Editor Placeholder](https://ckeditor.com/cke4/addon/editorplaceholder) plugin throws an error during the editor initialization with [`config.fullPage`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html#cfg-fullPage) enabled when there is no `` tag in the editor content. +* [#4372](https://github.com/ckeditor/ckeditor4/issues/4372): Fixed: The [Autogrow](https://ckeditor.com/cke4/addon/autogrow) plugin changes the editor's width when used with an absolute [`config.width`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html#cfg-width) value. + +API Changes: + +* [#4358](https://github.com/ckeditor/ckeditor4/issues/4358): Introduced the [`CKEDITOR.tools.color`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_tools_color.html) class which adds colors validation and methods for converting colors between various formats: named colors, HEX, RGB, RGBA, HSL and HSLA. +* [#3782](https://github.com/ckeditor/ckeditor4/issues/3782): Moved the [`CKEDITOR.plugins.pastetools.filters.word.images`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_plugins_pastetools_filters_word_images.html) filters to the [`CKEDITOR.plugins.pastetools.filters.image`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_plugins_pastetools_filters_image.html) namespace. +* [#4297](https://github.com/ckeditor/ckeditor4/issues/4297): All [`CKEDITOR.plugins.pastetools.filters`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_plugins_pastetools_filters.html) are now available under the [`CKEDITOR.pasteTools`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR.html#property-pasteTools) alias. +* [#4394](https://github.com/ckeditor/ckeditor4/issues/4394): Introduced [`CKEDITOR.ajax`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_ajax.html) specialized loading methods for loading binary ([`CKEDITOR.ajax.loadBinary()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_ajax.html#method-loadBinary)) and text ([`CKEDITOR.ajax.loadText()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_ajax.html#method-loadText)) data. + +Other Changes: + +* The [WebSpellChecker](https://ckeditor.com/cke4/addon/wsc) (WSC) plugin is now disabled by default in [Standard and Full presets](https://ckeditor.com/cke4/presets). It can be enabled via [`extraPlugins`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html#cfg-extraPlugins) configuration option. + +## CKEditor 4.15.1 + +**Security Updates:** + +* Fixed XSS vulnerability in the [Color History feature](https://ckeditor.com/docs/ckeditor4/latest/features/colorbutton.html#color-history) reported by [Mark Wade](https://github.com/mark-wade). + + Issue summary: It was possible to execute an XSS-type attack inside CKEditor 4 by persuading a victim to paste a specially crafted HTML code into the [Color Button](https://ckeditor.com/cke4/addon/colorbutton) dialog. + +**An upgrade is highly recommended!** + +Fixed Issues: + +* [#4293](https://github.com/ckeditor/ckeditor4/issues/4293): Fixed: The [`CKEDITOR.inlineAll()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR.html#method-inlineAll) method tries to initialize inline editor also on elements with an editor already attached to them. +* [#3961](https://github.com/ckeditor/ckeditor4/issues/3961): Fixed: The [Table Resize](https://ckeditor.com/cke4/addon/tableresize) plugin prevents editing of merged cells. +* [#3649](https://github.com/ckeditor/ckeditor4/issues/3649): Fixed: Applying a [block format](https://ckeditor.com/docs/ckeditor4/latest/features/format.html) should remove existing block styles. +* [#4282](https://github.com/ckeditor/ckeditor4/issues/4282): Fixed: The [script loader](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_scriptLoader.html) does not execute callback for scripts already loaded when called for the second time. Thanks to [Alexander Korotkevich](https://github.com/aldoom)! +* [#4273](https://github.com/ckeditor/ckeditor4/issues/4273): Fixed: A memory leak in the [`CKEDITOR.domReady()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR.html#method-domReady) method connected with not removing `load` event listeners. Thanks to [rohit1](https://github.com/rohit1)! +* [#1330](https://github.com/ckeditor/ckeditor4/issues/1330): Fixed: Incomplete CSS margin parsing if an `auto` or `0` value is used. +* [#4286](https://github.com/ckeditor/ckeditor4/issues/4286): Fixed: The [Auto Grow](https://ckeditor.com/cke4/addon/autogrow) plugin causes the editor width to be set to `0` on editor resize. +* [#848](https://github.com/ckeditor/ckeditor4/issues/848): Fixed: Arabic text not being "bound" correctly when pasting. Thanks to [Thomas Hunkapiller](https://github.com/devoidfury) and [J. Ivan Duarte Rodríguez](https://github.com/jidrone-mbm)! + +API Changes: + +* [#3649](https://github.com/ckeditor/ckeditor4/issues/3649): Added a new [`stylesRemove`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_editor.html#event-stylesRemove) editor event. + +Other Changes: + +* [#4262](https://github.com/ckeditor/ckeditor4/issues/4262): Removed the global reference to the `stylesLoaded` variable. Thanks to [Levi Carter](https://github.com/swiftMessenger)! +* Updated the [Export to PDF](https://ckeditor.com/cke4/addon/exportpdf) plugin to `1.0.1` version: + * Improved external CSS support for [classic editor](https://ckeditor.com/docs/ckeditor4/latest/examples/classic.html) by handling exceptions and displaying convenient [error messages](https://ckeditor.com/docs/ckeditor4/latest/guide/dev_errors.html#exportpdf-stylesheets-incaccessible). + ## CKEditor 4.15 New features: @@ -1423,7 +1815,7 @@ Other Changes: New Features: -* [#11297](https://dev.ckeditor.com/ticket/11297): Styles can now be applied to widgets. The definition of a style which can be applied to a specific widget must contain two additional properties — `type` and `widget`. Read more in the [Widget Styles](https://ckeditor.com/docs/ckeditor4/latest/guide/dev_styles.html#widget-styles) section of the "Syles Drop-down" guide. Note that by default, widgets support only classes and no other attributes or styles. Related changes and features: +* [#11297](https://dev.ckeditor.com/ticket/11297): Styles can now be applied to widgets. The definition of a style which can be applied to a specific widget must contain two additional properties — `type` and `widget`. Read more in the [Widget Styles](https://ckeditor.com/docs/ckeditor4/latest/guide/dev_styles.html#widget-styles) section of the "Styles Drop-down" guide. Note that by default, widgets support only classes and no other attributes or styles. Related changes and features: * Introduced the [`CKEDITOR.style.addCustomHandler()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_style.html#static-method-addCustomHandler) method for registering custom style handlers. * The [`CKEDITOR.style.apply()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_style.html#method-apply) and [`CKEDITOR.style.remove()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_style.html#method-remove) methods are now called with an editor instance instead of the document so they can be reused by the [`CKEDITOR.editor.applyStyle()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_editor.html#method-applyStyle) and [`CKEDITOR.editor.removeStyle()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_editor.html#method-removeStyle) methods. Backward compatibility was preserved, but from CKEditor 4.4 it is highly recommended to pass an editor instead of a document to these methods. * Many new methods and properties were introduced in the [Widget API](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR.plugins.widget.html) to make the handling of styles by widgets fully customizable. See: [`widget.definition.styleableElements`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_plugins_widget_definition.html#property-styleableElements), [`widget.definition.styleToAllowedContentRule`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_plugins_widget_definition.html#property-styleToAllowedContentRules), [`widget.addClass()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_plugins_widget.html#method-addClass), [`widget.removeClass()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_plugins_widget.html#method-removeClass), [`widget.getClasses()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_plugins_widget.html#method-getClasses), [`widget.hasClass()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_plugins_widget.html#method-hasClass), [`widget.applyStyle()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_plugins_widget.html#method-applyStyle), [`widget.removeStyle()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_plugins_widget.html#method-removeStyle), [`widget.checkStyleActive()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_plugins_widget.html#method-checkStyleActive). diff --git a/core/assets/vendor/ckeditor/LICENSE.md b/core/assets/vendor/ckeditor/LICENSE.md index 5c9991d51b7..8ebcceffe83 100644 --- a/core/assets/vendor/ckeditor/LICENSE.md +++ b/core/assets/vendor/ckeditor/LICENSE.md @@ -2,7 +2,7 @@ Software License Agreement ========================== CKEditor - The text editor for Internet - https://ckeditor.com/ -Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. Licensed under the terms of any of the following licenses at your choice: @@ -37,10 +37,11 @@ done by developers outside of CKSource with their express permission. The following libraries are included in CKEditor under the MIT license (see Appendix D): -* CKSource Samples Framework (included in the samples) - Copyright (c) 2014-2020, CKSource - Frederico Knabben. +* CKSource Samples Framework (included in the samples) - Copyright (c) 2014-2023, CKSource Holding sp. z o.o. * PicoModal (included in `samples/js/sf.js`) - Copyright (c) 2012 James Frasca. * CodeMirror (included in the samples) - Copyright (C) 2014 by Marijn Haverbeke and others. * ES6Promise - Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors. +* A polyfill for `CSS.escape` (adopted with modifications in `core/tools.js`), Mathias Bynens, v1.5.1, https://mths.be/cssescape. Parts of code taken from the following libraries are included in CKEditor under the MIT license (see Appendix D): @@ -59,7 +60,7 @@ The following libraries are included in CKEditor under the BSD-3 License (see Ap Trademarks ---------- -CKEditor is a trademark of CKSource - Frederico Knabben. All other brand +CKEditor is a trademark of CKSource Holding sp. z o.o. All other brand and product names are trademarks, registered trademarks or service marks of their respective holders. @@ -1419,3 +1420,17 @@ Redistribution and use in source and binary forms, with or without modification, THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ``` + +Appendix H: The BSD-2 License +----------------------------- + +``` +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +``` + +(Ignore this line: %REMOVE_START%) diff --git a/core/assets/vendor/ckeditor/SECURITY.md b/core/assets/vendor/ckeditor/SECURITY.md new file mode 100644 index 00000000000..6e04d5a186c --- /dev/null +++ b/core/assets/vendor/ckeditor/SECURITY.md @@ -0,0 +1,10 @@ +# Reporting a security issues + +If you believe you have found a security issue in the CKEditor 4 software, please contact us immediately. + +When reporting a potential security problem, please bear this in mind: + +* Make sure to provide as many details as possible about the vulnerability. +* Please do not disclose publicly any security issues until we fix them and publish security releases. + +Contact the security team at security@cksource.com. As soon as we receive the security report, we will work promptly to confirm the issue and then to provide a security fix. diff --git a/core/assets/vendor/ckeditor/build-config.js b/core/assets/vendor/ckeditor/build-config.js index 25a4a4bd6f5..cd579e38c3c 100644 --- a/core/assets/vendor/ckeditor/build-config.js +++ b/core/assets/vendor/ckeditor/build-config.js @@ -9,6 +9,9 @@ * * Then, replace this directory (core/assets/vendor/ckeditor) with your build. * + * Also: Remember to update core/core.libraries.yml if you are doing an update of the version of CKEditor for Drupal + * Core. + * * If you are developing or debugging CKEditor plugins, you may want to work * against an unoptimized (unminified) CKEditor build. To do so, * run the build command with the --leave-js-unminified flag. @@ -29,6 +32,7 @@ var CKBUILDER_CONFIG = { '.bender', 'bender-err.log', 'bender-out.log', + 'bender-runner.config.json', '.travis.yml', 'dev', 'docs', @@ -36,6 +40,7 @@ var CKBUILDER_CONFIG = { '.editorconfig', '.gitignore', '.gitattributes', + '.github', 'gruntfile.js', '.idea', '.jscsrc', @@ -44,6 +49,7 @@ var CKBUILDER_CONFIG = { 'less', '.mailmap', 'node_modules', + '.nvmrc', 'package.json', 'README.md', 'tests', diff --git a/core/assets/vendor/ckeditor/ckeditor.js b/core/assets/vendor/ckeditor/ckeditor.js index 5e19015cc33..60019203032 100644 --- a/core/assets/vendor/ckeditor/ckeditor.js +++ b/core/assets/vendor/ckeditor/ckeditor.js @@ -1,1195 +1,1236 @@ /* -Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. +For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license/ */ -(function(){if(!window.CKEDITOR||!window.CKEDITOR.dom){window.CKEDITOR||(window.CKEDITOR=function(){var b=/(^|.*[\\\/])ckeditor\.js(?:\?.*|;.*)?$/i,h={timestamp:"K8J9",version:"4.15.0",revision:"cc4885b53",rnd:Math.floor(900*Math.random())+100,_:{pending:[],basePathSrcPattern:b},status:"unloaded",basePath:function(){var a=window.CKEDITOR_BASEPATH||"";if(!a)for(var e=document.getElementsByTagName("script"),g=0;gd.getListenerIndex(a)){d=d.listeners;g||(g=this);isNaN(l)&&(l=10);var n=this;c.fn=a;c.priority=l;for(var y=d.length-1;0<=y;y--)if(d[y].priority<=l)return d.splice(y+1,0,c),{removeListener:f};d.unshift(c)}return{removeListener:f}},once:function(){var e=Array.prototype.slice.call(arguments),a=e[1];e[1]=function(e){e.removeListener();return a.apply(this, -arguments)};return this.on.apply(this,e)},capture:function(){CKEDITOR.event.useCapture=1;var e=this.on.apply(this,arguments);CKEDITOR.event.useCapture=0;return e},fire:function(){var e=0,a=function(){e=1},b=0,g=function(){b=1};return function(l,c,f){var d=h(this)[l];l=e;var n=b;e=b=0;if(d){var y=d.listeners;if(y.length)for(var y=y.slice(0),x,q=0;qdocument.documentMode),mobile:-1e||g.quirks);g.gecko&&(h=b.match(/rv:([\d\.]+)/))&&(h=h[1].split("."),e=1E4*h[0]+100*(h[1]||0)+1*(h[2]||0));g.air&&(e=parseFloat(b.match(/ adobeair\/(\d+)/)[1]));g.webkit&&(e=parseFloat(b.match(/ applewebkit\/(\d+)/)[1]));g.version=e;g.isCompatible=!(g.ie&&7>e)&&!(g.gecko&&4E4>e)&&!(g.webkit&& -534>e);g.hidpi=2<=window.devicePixelRatio;g.needsBrFiller=g.gecko||g.webkit||g.ie&&10e;g.cssClass="cke_browser_"+(g.ie?"ie":g.gecko?"gecko":g.webkit?"webkit":"unknown");g.quirks&&(g.cssClass+=" cke_browser_quirks");g.ie&&(g.cssClass+=" cke_browser_ie"+(g.quirks?"6 cke_browser_iequirks":g.version));g.air&&(g.cssClass+=" cke_browser_air");g.iOS&&(g.cssClass+=" cke_browser_ios");g.hidpi&&(g.cssClass+=" cke_hidpi");return g}());"unloaded"==CKEDITOR.status&&function(){CKEDITOR.event.implementOn(CKEDITOR); -CKEDITOR.loadFullCore=function(){if("basic_ready"!=CKEDITOR.status)CKEDITOR.loadFullCore._load=1;else{delete CKEDITOR.loadFullCore;var b=document.createElement("script");b.type="text/javascript";b.src=CKEDITOR.basePath+"ckeditor.js";document.getElementsByTagName("head")[0].appendChild(b)}};CKEDITOR.loadFullCoreTimeout=0;CKEDITOR.add=function(b){(this._.pending||(this._.pending=[])).push(b)};(function(){CKEDITOR.domReady(function(){var b=CKEDITOR.loadFullCore,h=CKEDITOR.loadFullCoreTimeout;b&&(CKEDITOR.status= -"basic_ready",b&&b._load?b():h&&setTimeout(function(){CKEDITOR.loadFullCore&&CKEDITOR.loadFullCore()},1E3*h))})})();CKEDITOR.status="basic_loaded"}();"use strict";CKEDITOR.VERBOSITY_WARN=1;CKEDITOR.VERBOSITY_ERROR=2;CKEDITOR.verbosity=CKEDITOR.VERBOSITY_WARN|CKEDITOR.VERBOSITY_ERROR;CKEDITOR.warn=function(b,h){CKEDITOR.verbosity&CKEDITOR.VERBOSITY_WARN&&CKEDITOR.fire("log",{type:"warn",errorCode:b,additionalData:h})};CKEDITOR.error=function(b,h){CKEDITOR.verbosity&CKEDITOR.VERBOSITY_ERROR&&CKEDITOR.fire("log", -{type:"error",errorCode:b,additionalData:h})};CKEDITOR.on("log",function(b){if(window.console&&window.console.log){var h=console[b.data.type]?b.data.type:"log",g=b.data.errorCode;if(b=b.data.additionalData)console[h]("[CKEDITOR] Error code: "+g+".",b);else console[h]("[CKEDITOR] Error code: "+g+".");console[h]("[CKEDITOR] For more information about this error go to https://ckeditor.com/docs/ckeditor4/latest/guide/dev_errors.html#"+g)}},null,null,999);CKEDITOR.dom={};(function(){function b(n,d,c){this._minInterval= -n;this._context=c;this._lastOutput=this._scheduledTimer=0;this._output=CKEDITOR.tools.bind(d,c||{});var a=this;this.input=function(){function n(){a._lastOutput=(new Date).getTime();a._scheduledTimer=0;a._call()}if(!a._scheduledTimer||!1!==a._reschedule()){var d=(new Date).getTime()-a._lastOutput;d/g,k=/|\s) /g,function(d,n){return n+"\x26nbsp;"}).replace(/ (?=<)/g,"\x26nbsp;")},getNextNumber:function(){var d=0;return function(){return++d}}(),getNextId:function(){return"cke_"+this.getNextNumber()},getUniqueId:function(){for(var d="e",c=0;8>c;c++)d+=Math.floor(65536*(1+Math.random())).toString(16).substring(1);return d},override:function(d,c){var a=c(d);a.prototype=d.prototype;return a},setTimeout:function(d,c,a,f,e){e||(e=window);a||(a= -e);return e.setTimeout(function(){f?d.apply(a,[].concat(f)):d.apply(a)},c||0)},throttle:function(d,c,a){return new this.buffers.throttle(d,c,a)},trim:function(){var d=/(?:^[ \t\n\r]+)|(?:[ \t\n\r]+$)/g;return function(c){return c.replace(d,"")}}(),ltrim:function(){var d=/^[ \t\n\r]+/g;return function(c){return c.replace(d,"")}}(),rtrim:function(){var d=/[ \t\n\r]+$/g;return function(c){return c.replace(d,"")}}(),indexOf:function(d,c){if("function"==typeof c)for(var a=0,f=d.length;aparseFloat(c); -a&&(c=c.replace("-",""));d.setStyle("width",c);c=d.$.clientWidth;return a?-c:c}return c}}(),repeat:function(d,c){return Array(c+1).join(d)},tryThese:function(){for(var d,c=0,a=arguments.length;cc;c++)d[c]=("0"+parseInt(d[c],10).toString(16)).slice(-2);return"#"+d.join("")})},normalizeHex:function(d){return d.replace(/#(([0-9a-f]{3}){1,2})($|;|\s+)/gi,function(d,c,n,a){d=c.toLowerCase();3==d.length&&(d=d.split(""),d=[d[0],d[0],d[1],d[1],d[2],d[2]].join(""));return"#"+d+a})},parseCssText:function(d, -c,a){var f={};a&&(d=(new CKEDITOR.dom.element("span")).setAttribute("style",d).getAttribute("style")||"");d&&(d=CKEDITOR.tools.normalizeHex(CKEDITOR.tools.convertRgbToHex(d)));if(!d||";"==d)return f;d.replace(/"/g,'"').replace(/\s*([^:;\s]+)\s*:\s*([^;]+)\s*(?=;|$)/g,function(d,n,a){c&&(n=n.toLowerCase(),"font-family"==n&&(a=a.replace(/\s*,\s*/g,",")),a=CKEDITOR.tools.trim(a));f[n]=a});return f},writeCssText:function(d,c){var a,f=[];for(a in d)f.push(a+":"+d[a]);c&&f.sort();return f.join("; ")}, -objectCompare:function(d,c,a){var f;if(!d&&!c)return!0;if(!d||!c)return!1;for(f in d)if(d[f]!=c[f])return!1;if(!a)for(f in c)if(d[f]!=c[f])return!1;return!0},objectKeys:function(d){return CKEDITOR.tools.object.keys(d)},convertArrayToObject:function(d,c){var a={};1==arguments.length&&(c=!0);for(var f=0,e=d.length;fa;a++)d.push(Math.floor(256*Math.random())); -for(a=0;ab)for(g=b;3>g;g++)e[g]=0;l[0]=(e[0]& -252)>>2;l[1]=(e[0]&3)<<4|e[1]>>4;l[2]=(e[1]&15)<<2|(e[2]&192)>>6;l[3]=e[2]&63;for(g=0;4>g;g++)c=g<=b?c+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(l[g]):c+"\x3d"}return c},style:{parse:{_colors:{aliceblue:"#F0F8FF",antiquewhite:"#FAEBD7",aqua:"#00FFFF",aquamarine:"#7FFFD4",azure:"#F0FFFF",beige:"#F5F5DC",bisque:"#FFE4C4",black:"#000000",blanchedalmond:"#FFEBCD",blue:"#0000FF",blueviolet:"#8A2BE2",brown:"#A52A2A",burlywood:"#DEB887",cadetblue:"#5F9EA0",chartreuse:"#7FFF00", -chocolate:"#D2691E",coral:"#FF7F50",cornflowerblue:"#6495ED",cornsilk:"#FFF8DC",crimson:"#DC143C",cyan:"#00FFFF",darkblue:"#00008B",darkcyan:"#008B8B",darkgoldenrod:"#B8860B",darkgray:"#A9A9A9",darkgreen:"#006400",darkgrey:"#A9A9A9",darkkhaki:"#BDB76B",darkmagenta:"#8B008B",darkolivegreen:"#556B2F",darkorange:"#FF8C00",darkorchid:"#9932CC",darkred:"#8B0000",darksalmon:"#E9967A",darkseagreen:"#8FBC8F",darkslateblue:"#483D8B",darkslategray:"#2F4F4F",darkslategrey:"#2F4F4F",darkturquoise:"#00CED1",darkviolet:"#9400D3", -deeppink:"#FF1493",deepskyblue:"#00BFFF",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1E90FF",firebrick:"#B22222",floralwhite:"#FFFAF0",forestgreen:"#228B22",fuchsia:"#FF00FF",gainsboro:"#DCDCDC",ghostwhite:"#F8F8FF",gold:"#FFD700",goldenrod:"#DAA520",gray:"#808080",green:"#008000",greenyellow:"#ADFF2F",grey:"#808080",honeydew:"#F0FFF0",hotpink:"#FF69B4",indianred:"#CD5C5C",indigo:"#4B0082",ivory:"#FFFFF0",khaki:"#F0E68C",lavender:"#E6E6FA",lavenderblush:"#FFF0F5",lawngreen:"#7CFC00",lemonchiffon:"#FFFACD", -lightblue:"#ADD8E6",lightcoral:"#F08080",lightcyan:"#E0FFFF",lightgoldenrodyellow:"#FAFAD2",lightgray:"#D3D3D3",lightgreen:"#90EE90",lightgrey:"#D3D3D3",lightpink:"#FFB6C1",lightsalmon:"#FFA07A",lightseagreen:"#20B2AA",lightskyblue:"#87CEFA",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#B0C4DE",lightyellow:"#FFFFE0",lime:"#00FF00",limegreen:"#32CD32",linen:"#FAF0E6",magenta:"#FF00FF",maroon:"#800000",mediumaquamarine:"#66CDAA",mediumblue:"#0000CD",mediumorchid:"#BA55D3",mediumpurple:"#9370DB", -mediumseagreen:"#3CB371",mediumslateblue:"#7B68EE",mediumspringgreen:"#00FA9A",mediumturquoise:"#48D1CC",mediumvioletred:"#C71585",midnightblue:"#191970",mintcream:"#F5FFFA",mistyrose:"#FFE4E1",moccasin:"#FFE4B5",navajowhite:"#FFDEAD",navy:"#000080",oldlace:"#FDF5E6",olive:"#808000",olivedrab:"#6B8E23",orange:"#FFA500",orangered:"#FF4500",orchid:"#DA70D6",palegoldenrod:"#EEE8AA",palegreen:"#98FB98",paleturquoise:"#AFEEEE",palevioletred:"#DB7093",papayawhip:"#FFEFD5",peachpuff:"#FFDAB9",peru:"#CD853F", -pink:"#FFC0CB",plum:"#DDA0DD",powderblue:"#B0E0E6",purple:"#800080",rebeccapurple:"#663399",red:"#FF0000",rosybrown:"#BC8F8F",royalblue:"#4169E1",saddlebrown:"#8B4513",salmon:"#FA8072",sandybrown:"#F4A460",seagreen:"#2E8B57",seashell:"#FFF5EE",sienna:"#A0522D",silver:"#C0C0C0",skyblue:"#87CEEB",slateblue:"#6A5ACD",slategray:"#708090",slategrey:"#708090",snow:"#FFFAFA",springgreen:"#00FF7F",steelblue:"#4682B4",tan:"#D2B48C",teal:"#008080",thistle:"#D8BFD8",tomato:"#FF6347",turquoise:"#40E0D0",violet:"#EE82EE", -windowtext:"windowtext",wheat:"#F5DEB3",white:"#FFFFFF",whitesmoke:"#F5F5F5",yellow:"#FFFF00",yellowgreen:"#9ACD32"},_borderStyle:"none hidden dotted dashed solid double groove ridge inset outset".split(" "),_widthRegExp:/^(thin|medium|thick|[\+-]?\d+(\.\d+)?[a-z%]+|[\+-]?0+(\.0+)?|\.\d+[a-z%]+)$/,_rgbaRegExp:/rgba?\(\s*\d+%?\s*,\s*\d+%?\s*,\s*\d+%?\s*(?:,\s*[0-9.]+\s*)?\)/gi,_hslaRegExp:/hsla?\(\s*[0-9.]+\s*,\s*\d+%\s*,\s*\d+%\s*(?:,\s*[0-9.]+\s*)?\)/gi,background:function(d){var c={},a=this._findColor(d); -a.length&&(c.color=a[0],CKEDITOR.tools.array.forEach(a,function(c){d=d.replace(c,"")}));if(d=CKEDITOR.tools.trim(d))c.unprocessed=d;return c},margin:function(d){return CKEDITOR.tools.style.parse.sideShorthand(d,function(d){return d.match(/(?:\-?[\.\d]+(?:%|\w*)|auto|inherit|initial|unset|revert)/g)||["0px"]})},sideShorthand:function(d,c){function a(d){f.top=e[d[0]];f.right=e[d[1]];f.bottom=e[d[2]];f.left=e[d[3]]}var f={},e=c?c(d):d.split(/\s+/);switch(e.length){case 1:a([0,0,0,0]);break;case 2:a([0, -1,0,1]);break;case 3:a([0,1,2,1]);break;case 4:a([0,1,2,3])}return f},border:function(d){return CKEDITOR.tools.style.border.fromCssRule(d)},_findColor:function(d){var c=[],a=CKEDITOR.tools.array,c=c.concat(d.match(this._rgbaRegExp)||[]),c=c.concat(d.match(this._hslaRegExp)||[]);return c=c.concat(a.filter(d.split(/\s+/),function(d){return d.match(/^\#[a-f0-9]{3}(?:[a-f0-9]{3})?$/gi)?!0:d.toLowerCase()in CKEDITOR.tools.style.parse._colors}))}}},array:{filter:function(d,c,a){var f=[];this.forEach(d, -function(e,b){c.call(a,e,b,d)&&f.push(e)});return f},find:function(d,c,a){for(var f=d.length,e=0;eCKEDITOR.env.version&&(!d||"object"!==typeof d)){c=[];if("string"===typeof d)for(a=0;aCKEDITOR.env.version)for(e=0;eCKEDITOR.env.version&&(this.type==CKEDITOR.NODE_ELEMENT||this.type==CKEDITOR.NODE_DOCUMENT_FRAGMENT)&&e(a);return a},hasPrevious:function(){return!!this.$.previousSibling},hasNext:function(){return!!this.$.nextSibling},insertAfter:function(b){b.$.parentNode.insertBefore(this.$,b.$.nextSibling);return b},insertBefore:function(b){b.$.parentNode.insertBefore(this.$, -b.$);return b},insertBeforeMe:function(b){this.$.parentNode.insertBefore(b.$,this.$);return b},getAddress:function(b){for(var h=[],g=this.getDocument().$.documentElement,e=this;e&&e!=g;){var a=e.getParent();a&&h.unshift(this.getIndex.call(e,b));e=a}return h},getDocument:function(){return new CKEDITOR.dom.document(this.$.ownerDocument||this.$.parentNode.ownerDocument)},getIndex:function(b){function h(a,e){var b=e?a.getNext():a.getPrevious();return b&&b.type==CKEDITOR.NODE_TEXT?b.isEmpty()?h(b,e):b: -null}var g=this,e=-1,a;if(!this.getParent()||b&&g.type==CKEDITOR.NODE_TEXT&&g.isEmpty()&&!h(g)&&!h(g,!0))return-1;do if(!b||g.equals(this)||g.type!=CKEDITOR.NODE_TEXT||!a&&!g.isEmpty())e++,a=g.type==CKEDITOR.NODE_TEXT;while(g=g.getPrevious());return e},getNextSourceNode:function(b,h,g){if(g&&!g.call){var e=g;g=function(a){return!a.equals(e)}}b=!b&&this.getFirst&&this.getFirst();var a;if(!b){if(this.type==CKEDITOR.NODE_ELEMENT&&g&&!1===g(this,!0))return null;b=this.getNext()}for(;!b&&(a=(a||this).getParent());){if(g&& -!1===g(a,!0))return null;b=a.getNext()}return!b||g&&!1===g(b)?null:h&&h!=b.type?b.getNextSourceNode(!1,h,g):b},getPreviousSourceNode:function(b,h,g){if(g&&!g.call){var e=g;g=function(a){return!a.equals(e)}}b=!b&&this.getLast&&this.getLast();var a;if(!b){if(this.type==CKEDITOR.NODE_ELEMENT&&g&&!1===g(this,!0))return null;b=this.getPrevious()}for(;!b&&(a=(a||this).getParent());){if(g&&!1===g(a,!0))return null;b=a.getPrevious()}return!b||g&&!1===g(b)?null:h&&b.type!=h?b.getPreviousSourceNode(!1,h,g): -b},getPrevious:function(b){var h=this.$,g;do g=(h=h.previousSibling)&&10!=h.nodeType&&new CKEDITOR.dom.node(h);while(g&&b&&!b(g));return g},getNext:function(b){var h=this.$,g;do g=(h=h.nextSibling)&&new CKEDITOR.dom.node(h);while(g&&b&&!b(g));return g},getParent:function(b){var h=this.$.parentNode;return h&&(h.nodeType==CKEDITOR.NODE_ELEMENT||b&&h.nodeType==CKEDITOR.NODE_DOCUMENT_FRAGMENT)?new CKEDITOR.dom.node(h):null},getParents:function(b){var h=this,g=[];do g[b?"push":"unshift"](h);while(h=h.getParent()); -return g},getCommonAncestor:function(b){if(b.equals(this))return this;if(b.contains&&b.contains(this))return b;var h=this.contains?this:this.getParent();do if(h.contains(b))return h;while(h=h.getParent());return null},getPosition:function(b){var h=this.$,g=b.$;if(h.compareDocumentPosition)return h.compareDocumentPosition(g);if(h==g)return CKEDITOR.POSITION_IDENTICAL;if(this.type==CKEDITOR.NODE_ELEMENT&&b.type==CKEDITOR.NODE_ELEMENT){if(h.contains){if(h.contains(g))return CKEDITOR.POSITION_CONTAINS+ -CKEDITOR.POSITION_PRECEDING;if(g.contains(h))return CKEDITOR.POSITION_IS_CONTAINED+CKEDITOR.POSITION_FOLLOWING}if("sourceIndex"in h)return 0>h.sourceIndex||0>g.sourceIndex?CKEDITOR.POSITION_DISCONNECTED:h.sourceIndexx.getListenerIndex(e)){x=x.listeners;f||(f=this);isNaN(c)&&(c=10);d.fn=e;d.priority=c;for(var w=x.length-1;0<=w;w--)if(x[w].priority<=c)return x.splice(w+1,0,d),{removeListener:g}; +x.unshift(d)}return{removeListener:g}},once:function(){var a=Array.prototype.slice.call(arguments),b=a[1];a[1]=function(a){a.removeListener();return b.apply(this,arguments)};return this.on.apply(this,a)},capture:function(){CKEDITOR.event.useCapture=1;var a=this.on.apply(this,arguments);CKEDITOR.event.useCapture=0;return a},fire:function(){var a=0,e=function(){a=1},h=0,m=function(){h=1};return function(c,d,g){var n=f(this)[c];c=a;var x=h;a=h=0;if(n){var w=n.listeners;if(w.length)for(var w=w.slice(0), +p,q=0;qdocument.documentMode),mobile:-1e||f.quirks);f.gecko&&(h=b.match(/rv:([\d\.]+)/))&&(h=h[1].split("."),e=1E4*h[0]+100*(h[1]||0)+1*(h[2]||0));f.air&&(e=parseFloat(b.match(/ adobeair\/(\d+)/)[1])); +f.webkit&&(e=parseFloat(b.match(/ applewebkit\/(\d+)/)[1]));f.version=e;f.isCompatible=!(f.ie&&7>e)&&!(f.gecko&&4E4>e)&&!(f.webkit&&534>e);f.hidpi=2<=window.devicePixelRatio;f.needsBrFiller=f.gecko||f.webkit||f.ie&&10e;f.cssClass="cke_browser_"+(f.ie?"ie":f.gecko?"gecko":f.webkit?"webkit":"unknown");f.quirks&&(f.cssClass+=" cke_browser_quirks");f.ie&&(f.cssClass+=" cke_browser_ie"+(f.quirks?"6 cke_browser_iequirks":f.version));f.air&&(f.cssClass+=" cke_browser_air"); +f.iOS&&(f.cssClass+=" cke_browser_ios");f.hidpi&&(f.cssClass+=" cke_hidpi");return f}()),"unloaded"==CKEDITOR.status&&function(){CKEDITOR.event.implementOn(CKEDITOR);CKEDITOR.loadFullCore=function(){if("basic_ready"!=CKEDITOR.status)CKEDITOR.loadFullCore._load=1;else{delete CKEDITOR.loadFullCore;var b=document.createElement("script");b.type="text/javascript";b.src=CKEDITOR.basePath+"ckeditor.js";document.getElementsByTagName("head")[0].appendChild(b)}};CKEDITOR.loadFullCoreTimeout=0;CKEDITOR.add= +function(b){(this._.pending||(this._.pending=[])).push(b)};(function(){CKEDITOR.domReady(function(){var b=CKEDITOR.loadFullCore,h=CKEDITOR.loadFullCoreTimeout;b&&(CKEDITOR.status="basic_ready",b&&b._load?b():h&&setTimeout(function(){CKEDITOR.loadFullCore&&CKEDITOR.loadFullCore()},1E3*h))})})();CKEDITOR.status="basic_loaded"}(),"use strict",CKEDITOR.VERBOSITY_WARN=1,CKEDITOR.VERBOSITY_ERROR=2,CKEDITOR.verbosity=CKEDITOR.VERBOSITY_WARN|CKEDITOR.VERBOSITY_ERROR,CKEDITOR.warn=function(b,h){CKEDITOR.verbosity& +CKEDITOR.VERBOSITY_WARN&&CKEDITOR.fire("log",{type:"warn",errorCode:b,additionalData:h})},CKEDITOR.error=function(b,h){CKEDITOR.verbosity&CKEDITOR.VERBOSITY_ERROR&&CKEDITOR.fire("log",{type:"error",errorCode:b,additionalData:h})},CKEDITOR.on("log",function(b){if(window.console&&window.console.log){var h=console[b.data.type]?b.data.type:"log",f=b.data.errorCode;if(b=b.data.additionalData)console[h]("[CKEDITOR] Error code: "+f+".",b);else console[h]("[CKEDITOR] Error code: "+f+".");console[h]("[CKEDITOR] For more information about this error go to https://ckeditor.com/docs/ckeditor4/latest/guide/dev_errors.html#"+ +f)}},null,null,999),CKEDITOR.dom={},function(){function b(n,g,c){this._minInterval=n;this._context=c;this._lastOutput=this._scheduledTimer=0;this._output=CKEDITOR.tools.bind(g,c||{});var a=this;this.input=function(){function n(){a._lastOutput=(new Date).getTime();a._scheduledTimer=0;a._call()}if(!a._scheduledTimer||!1!==a._reschedule()){var g=(new Date).getTime()-a._lastOutput;g/g,l=/|\s) /g,function(g,n){return n+"\x26nbsp;"}).replace(/ (?=<)/g,"\x26nbsp;")},getNextNumber:function(){var g=0;return function(){return++g}}(),getNextId:function(){return"cke_"+this.getNextNumber()},getUniqueId:function(){for(var g="e",c=0;8>c;c++)g+= +Math.floor(65536*(1+Math.random())).toString(16).substring(1);return g},override:function(g,c){var a=c(g);a.prototype=g.prototype;return a},setTimeout:function(g,c,a,d,b){b||(b=window);a||(a=b);return b.setTimeout(function(){d?g.apply(a,[].concat(d)):g.apply(a)},c||0)},debounce:function(g,c){var a;return function(){var d=this,b=arguments;clearTimeout(a);a=setTimeout(function(){a=null;g.apply(d,b)},c)}},throttle:function(g,c,a){return new this.buffers.throttle(g,c,a)},trim:function(){var g=/(?:^[ \t\n\r]+)|(?:[ \t\n\r]+$)/g; +return function(c){return c.replace(g,"")}}(),ltrim:function(){var g=/^[ \t\n\r]+/g;return function(c){return c.replace(g,"")}}(),rtrim:function(){var g=/[ \t\n\r]+$/g;return function(c){return c.replace(g,"")}}(),indexOf:function(g,c){if("function"==typeof c)for(var a=0,d=g.length;aparseFloat(a);d&&(a=a.replace("-",""));g.setStyle("width",a);c=g.getClientRect();a=Math.round(c.width);return d?-a:a}return a}}(),repeat:function(g,c){return Array(c+ +1).join(g)},tryThese:function(){for(var g,c=0,a=arguments.length;cc;c++)g[c]=("0"+parseInt(g[c],10).toString(16)).slice(-2);return"#"+g.join("")})},normalizeHex:function(g){return g.replace(/#(([0-9a-f]{3}){1,2})($|;|\s+)/gi,function(g,c,n,a){g=c.toLowerCase();3==g.length&&(g=g.split(""),g=[g[0],g[0],g[1],g[1],g[2],g[2]].join(""));return"#"+g+a})},_isValidColorFormat:function(g){if(!g)return!1;g=g.replace(/\s+/g,"");return/^[a-z0-9()#%,./]+$/i.test(g)},parseCssText:function(g,c,a){var d={};a&&(g=(new CKEDITOR.dom.element("span")).setAttribute("style", +g).getAttribute("style")||"");g&&(g=CKEDITOR.tools.normalizeHex(CKEDITOR.tools.convertRgbToHex(g)));if(!g||";"==g)return d;g.replace(/"/g,'"').replace(/\s*([^:;\s]+)\s*:\s*([^;]+)\s*(?=;|$)/g,function(g,a,n){c&&(a=a.toLowerCase(),"font-family"==a&&(n=n.replace(/\s*,\s*/g,",")),n=CKEDITOR.tools.trim(n));d[a]=n});return d},writeCssText:function(g,c){var a,d=[];for(a in g)d.push(a+":"+g[a]);c&&d.sort();return d.join("; ")},objectCompare:function(g,c,a){var d;if(!g&&!c)return!0;if(!g||!c)return!1; +for(d in g)if(g[d]!=c[d])return!1;if(!a)for(d in c)if(g[d]!=c[d])return!1;return!0},objectKeys:function(g){return CKEDITOR.tools.object.keys(g)},convertArrayToObject:function(g,c){var a={};1==arguments.length&&(c=!0);for(var d=0,b=g.length;da;a++)g.push(Math.floor(256*Math.random()));for(a=0;a=d||0==a&&48<=d&&57>=d||1==a&&48<=d&&57>=d&&45==e?b+("\\"+d.toString(16)+" "):0==a&&1==c&&45==d?b+("\\"+g.charAt(a)):128<=d||45==d||95==d||48<=d&&57>=d||65<=d&&90>=d||97<=d&&122>=d?b+g.charAt(a):b+("\\"+g.charAt(a));g=b}else g="";return g}, +getMouseButton:function(g){return(g=g&&g.data?g.data.$:g)?CKEDITOR.tools.normalizeMouseButton(g.button):!1},normalizeMouseButton:function(g,c){if(!CKEDITOR.env.ie||9<=CKEDITOR.env.version&&!CKEDITOR.env.ie6Compat)return g;for(var a=[[CKEDITOR.MOUSE_BUTTON_LEFT,1],[CKEDITOR.MOUSE_BUTTON_MIDDLE,4],[CKEDITOR.MOUSE_BUTTON_RIGHT,2]],d=0;de)for(f=e;3>f;f++)b[f]=0;m[0]=(b[0]&252)>>2;m[1]=(b[0]&3)<<4|b[1]>>4;m[2]=(b[1]&15)<<2|(b[2]&192)>>6;m[3]=b[2]&63;for(f=0;4>f;f++)c=f<=e?c+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(m[f]):c+"\x3d"}return c},style:{parse:{_borderStyle:"none hidden dotted dashed solid double groove ridge inset outset".split(" "),_widthRegExp:/^(thin|medium|thick|[\+-]?\d+(\.\d+)?[a-z%]+|[\+-]?0+(\.0+)?|\.\d+[a-z%]+)$/, +_rgbaRegExp:/rgba?\(\s*\d+%?\s*,\s*\d+%?\s*,\s*\d+%?\s*(?:,\s*[0-9.]+\s*)?\)/gi,_hslaRegExp:/hsla?\(\s*[0-9.]+\s*,\s*\d+%\s*,\s*\d+%\s*(?:,\s*[0-9.]+\s*)?\)/gi,background:function(g){var c={},a=this._findColor(g);a.length&&(c.color=a[0],CKEDITOR.tools.array.forEach(a,function(c){g=g.replace(c,"")}));if(g=CKEDITOR.tools.trim(g))c.unprocessed=g;return c},margin:function(g){return CKEDITOR.tools.style.parse.sideShorthand(g,function(g){return g.match(/(?:\-?[\.\d]+(?:%|\w*)|auto|inherit|initial|unset|revert)/g)|| +["0px"]})},sideShorthand:function(g,c){function a(g){d.top=b[g[0]];d.right=b[g[1]];d.bottom=b[g[2]];d.left=b[g[3]]}var d={},b=c?c(g):g.split(/\s+/);switch(b.length){case 1:a([0,0,0,0]);break;case 2:a([0,1,0,1]);break;case 3:a([0,1,2,1]);break;case 4:a([0,1,2,3])}return d},border:function(g){return CKEDITOR.tools.style.border.fromCssRule(g)},_findColor:function(g){var c=[],a=CKEDITOR.tools.array,c=c.concat(g.match(this._rgbaRegExp)||[]),c=c.concat(g.match(this._hslaRegExp)||[]);return c=c.concat(a.filter(g.split(/\s+/), +function(g){return g.match(/^\#[a-f0-9]{3}(?:[a-f0-9]{3})?$/gi)?!0:g.toLowerCase()in CKEDITOR.tools.style.parse._colors}))}}},array:{filter:function(g,c,a){var d=[];this.forEach(g,function(b,e){c.call(a,b,e,g)&&d.push(b)});return d},find:function(g,c,a){for(var d=g.length,b=0;bCKEDITOR.env.version&&(!g||"object"!==typeof g)){c=[];if("string"===typeof g)for(a=0;aCKEDITOR.env.version)for(b=0;bCKEDITOR.env.version&&(this.type==CKEDITOR.NODE_ELEMENT||this.type==CKEDITOR.NODE_DOCUMENT_FRAGMENT)&&e(a);return a},hasPrevious:function(){return!!this.$.previousSibling},hasNext:function(){return!!this.$.nextSibling},insertAfter:function(b){b.$.parentNode.insertBefore(this.$,b.$.nextSibling);return b},insertBefore:function(b){b.$.parentNode.insertBefore(this.$, +b.$);return b},insertBeforeMe:function(b){this.$.parentNode.insertBefore(b.$,this.$);return b},getAddress:function(b){for(var h=[],f=this.getDocument().$.documentElement,e=this;e&&e!=f;){var a=e.getParent();a&&h.unshift(this.getIndex.call(e,b));e=a}return h},getDocument:function(){return new CKEDITOR.dom.document(this.$.ownerDocument||this.$.parentNode.ownerDocument)},getIndex:function(b){function h(a,b){var e=b?a.getNext():a.getPrevious();return e&&e.type==CKEDITOR.NODE_TEXT?e.isEmpty()?h(e,b):e: +null}var f=this,e=-1,a;if(!this.getParent()||b&&f.type==CKEDITOR.NODE_TEXT&&f.isEmpty()&&!h(f)&&!h(f,!0))return-1;do if(!b||f.equals(this)||f.type!=CKEDITOR.NODE_TEXT||!a&&!f.isEmpty())e++,a=f.type==CKEDITOR.NODE_TEXT;while(f=f.getPrevious());return e},getNextSourceNode:function(b,h,f){if(f&&!f.call){var e=f;f=function(a){return!a.equals(e)}}b=!b&&this.getFirst&&this.getFirst();var a;if(!b){if(this.type==CKEDITOR.NODE_ELEMENT&&f&&!1===f(this,!0))return null;b=this.getNext()}for(;!b&&(a=(a||this).getParent());){if(f&& +!1===f(a,!0))return null;b=a.getNext()}return!b||f&&!1===f(b)?null:h&&h!=b.type?b.getNextSourceNode(!1,h,f):b},getPreviousSourceNode:function(b,h,f){if(f&&!f.call){var e=f;f=function(a){return!a.equals(e)}}b=!b&&this.getLast&&this.getLast();var a;if(!b){if(this.type==CKEDITOR.NODE_ELEMENT&&f&&!1===f(this,!0))return null;b=this.getPrevious()}for(;!b&&(a=(a||this).getParent());){if(f&&!1===f(a,!0))return null;b=a.getPrevious()}return!b||f&&!1===f(b)?null:h&&b.type!=h?b.getPreviousSourceNode(!1,h,f): +b},getPrevious:function(b){var h=this.$,f;do f=(h=h.previousSibling)&&10!=h.nodeType&&new CKEDITOR.dom.node(h);while(f&&b&&!b(f));return f},getNext:function(b){var h=this.$,f;do f=(h=h.nextSibling)&&new CKEDITOR.dom.node(h);while(f&&b&&!b(f));return f},getParent:function(b){var h=this.$.parentNode;return h&&(h.nodeType==CKEDITOR.NODE_ELEMENT||b&&h.nodeType==CKEDITOR.NODE_DOCUMENT_FRAGMENT)?new CKEDITOR.dom.node(h):null},getParents:function(b){var h=this,f=[];do f[b?"push":"unshift"](h);while(h=h.getParent()); +return f},getCommonAncestor:function(b){if(b.equals(this))return this;if(b.contains&&b.contains(this))return b;var h=this.contains?this:this.getParent();do if(h.contains(b))return h;while(h=h.getParent());return null},getPosition:function(b){var h=this.$,f=b.$;if(h.compareDocumentPosition)return h.compareDocumentPosition(f);if(h==f)return CKEDITOR.POSITION_IDENTICAL;if(this.type==CKEDITOR.NODE_ELEMENT&&b.type==CKEDITOR.NODE_ELEMENT){if(h.contains){if(h.contains(f))return CKEDITOR.POSITION_CONTAINS+ +CKEDITOR.POSITION_PRECEDING;if(f.contains(h))return CKEDITOR.POSITION_IS_CONTAINED+CKEDITOR.POSITION_FOLLOWING}if("sourceIndex"in h)return 0>h.sourceIndex||0>f.sourceIndex?CKEDITOR.POSITION_DISCONNECTED:h.sourceIndex=document.documentMode||!h||(b=h+":"+b);return new CKEDITOR.dom.nodeList(this.$.getElementsByTagName(b))},getHead:function(){var b=this.$.getElementsByTagName("head")[0];return b=b?new CKEDITOR.dom.element(b):this.getDocumentElement().append(new CKEDITOR.dom.element("head"),!0)},getBody:function(){return new CKEDITOR.dom.element(this.$.body)},getDocumentElement:function(){return new CKEDITOR.dom.element(this.$.documentElement)},getWindow:function(){return new CKEDITOR.dom.window(this.$.parentWindow|| -this.$.defaultView)},write:function(b){this.$.open("text/html","replace");CKEDITOR.env.ie&&(b=b.replace(/(?:^\s*]*?>)|^/i,'$\x26\n\x3cscript data-cke-temp\x3d"1"\x3e('+CKEDITOR.tools.fixDomain+")();\x3c/script\x3e"));this.$.write(b);this.$.close()},find:function(b){return new CKEDITOR.dom.nodeList(this.$.querySelectorAll(b))},findOne:function(b){return(b=this.$.querySelector(b))?new CKEDITOR.dom.element(b):null},_getHtml5ShivFrag:function(){var b=this.getCustomData("html5ShivFrag");b|| -(b=this.$.createDocumentFragment(),CKEDITOR.tools.enableHtml5Elements(b,!0),this.setCustomData("html5ShivFrag",b));return b}});CKEDITOR.dom.nodeList=function(b){this.$=b};CKEDITOR.dom.nodeList.prototype={count:function(){return this.$.length},getItem:function(b){return 0>b||b>=this.$.length?null:(b=this.$[b])?new CKEDITOR.dom.node(b):null},toArray:function(){return CKEDITOR.tools.array.map(this.$,function(b){return new CKEDITOR.dom.node(b)})}};CKEDITOR.dom.element=function(b,h){"string"==typeof b&& -(b=(h?h.$:document).createElement(b));CKEDITOR.dom.domObject.call(this,b)};CKEDITOR.dom.element.get=function(b){return(b="string"==typeof b?document.getElementById(b)||document.getElementsByName(b)[0]:b)&&(b.$?b:new CKEDITOR.dom.element(b))};CKEDITOR.dom.element.prototype=new CKEDITOR.dom.node;CKEDITOR.dom.element.createFromHtml=function(b,h){var g=new CKEDITOR.dom.element("div",h);g.setHtml(b);return g.getFirst().remove()};CKEDITOR.dom.element.setMarker=function(b,h,g,e){var a=h.getCustomData("list_marker_id")|| -h.setCustomData("list_marker_id",CKEDITOR.tools.getNextNumber()).getCustomData("list_marker_id"),m=h.getCustomData("list_marker_names")||h.setCustomData("list_marker_names",{}).getCustomData("list_marker_names");b[a]=h;m[g]=1;return h.setCustomData(g,e)};CKEDITOR.dom.element.clearAllMarkers=function(b){for(var h in b)CKEDITOR.dom.element.clearMarkers(b,b[h],1)};CKEDITOR.dom.element.clearMarkers=function(b,h,g){var e=h.getCustomData("list_marker_names"),a=h.getCustomData("list_marker_id"),m;for(m in e)h.removeCustomData(m); -h.removeCustomData("list_marker_names");g&&(h.removeCustomData("list_marker_id"),delete b[a])};(function(){function b(a,c){return-1<(" "+a+" ").replace(m," ").indexOf(" "+c+" ")}function h(a){var c=!0;a.$.id||(a.$.id="cke_tmp_"+CKEDITOR.tools.getNextNumber(),c=!1);return function(){c||a.removeAttribute("id")}}function g(a,c){var f=CKEDITOR.tools.escapeCss(a.$.id);return"#"+f+" "+c.split(/,\s*/).join(", #"+f+" ")}function e(a){for(var c=0,f=0,d=k[a].length;fCKEDITOR.env.version?this.$.text+=a:this.append(new CKEDITOR.dom.text(a))},appendBogus:function(a){if(a||CKEDITOR.env.needsBrFiller){for(a=this.getLast();a&&a.type==CKEDITOR.NODE_TEXT&&!CKEDITOR.tools.rtrim(a.getText());)a=a.getPrevious();a&&a.is&&a.is("br")||(a=this.getDocument().createElement("br"),CKEDITOR.env.gecko&&a.setAttribute("type","_moz"),this.append(a))}},breakParent:function(a, -c){var f=new CKEDITOR.dom.range(this.getDocument());f.setStartAfter(this);f.setEndAfter(a);var d=f.extractContents(!1,c||!1),e;f.insertNode(this.remove());if(CKEDITOR.env.ie&&!CKEDITOR.env.edge){for(f=new CKEDITOR.dom.element("div");e=d.getFirst();)e.$.style.backgroundColor&&(e.$.style.backgroundColor=e.$.style.backgroundColor),f.append(e);f.insertAfter(this);f.remove(!0)}else d.insertAfterNode(this)},contains:document.compareDocumentPosition?function(a){return!!(this.$.compareDocumentPosition(a.$)& +b.body.scrollTop||0}},getFrame:function(){var b=this.$.frameElement;return b?new CKEDITOR.dom.element.get(b):null}}),CKEDITOR.dom.document=function(b){CKEDITOR.dom.domObject.call(this,b)},CKEDITOR.dom.document.prototype=new CKEDITOR.dom.domObject,CKEDITOR.tools.extend(CKEDITOR.dom.document.prototype,{type:CKEDITOR.NODE_DOCUMENT,appendStyleSheet:function(b){b=CKEDITOR.appendTimestamp(b);if(this.$.createStyleSheet)this.$.createStyleSheet(b);else{var h=new CKEDITOR.dom.element("link");h.setAttributes({rel:"stylesheet", +type:"text/css",href:b});this.getHead().append(h)}},appendStyleText:function(b){if(this.$.createStyleSheet){var h=this.$.createStyleSheet("");h.cssText=b}else{var f=new CKEDITOR.dom.element("style",this);f.append(new CKEDITOR.dom.text(b,this));this.getHead().append(f)}return h||f.$.sheet},createElement:function(b,h){var f=new CKEDITOR.dom.element(b,this);h&&(h.attributes&&f.setAttributes(h.attributes),h.styles&&f.setStyles(h.styles));return f},createText:function(b){return new CKEDITOR.dom.text(b, +this)},focus:function(){this.getWindow().focus()},getActive:function(){var b;try{b=this.$.activeElement}catch(h){return null}return new CKEDITOR.dom.element(b)},getById:function(b){return(b=this.$.getElementById(b))?new CKEDITOR.dom.element(b):null},getByAddress:function(b,h){for(var f=this.$.documentElement,e=0;f&&e=document.documentMode||!h||(b=h+":"+b);return new CKEDITOR.dom.nodeList(this.$.getElementsByTagName(b))},getHead:function(){var b=this.$.getElementsByTagName("head")[0];return b=b?new CKEDITOR.dom.element(b):this.getDocumentElement().append(new CKEDITOR.dom.element("head"),!0)},getBody:function(){return new CKEDITOR.dom.element(this.$.body)},getDocumentElement:function(){return new CKEDITOR.dom.element(this.$.documentElement)}, +getWindow:function(){return new CKEDITOR.dom.window(this.$.parentWindow||this.$.defaultView)},write:function(b){this.$.open("text/html","replace");CKEDITOR.env.ie&&(b=b.replace(/(?:^\s*]*?>)|^/i,'$\x26\n\x3cscript data-cke-temp\x3d"1"\x3e('+CKEDITOR.tools.fixDomain+")();\x3c/script\x3e"));this.$.write(b);this.$.close()},find:function(b){return new CKEDITOR.dom.nodeList(this.$.querySelectorAll(b))},findOne:function(b){return(b=this.$.querySelector(b))?new CKEDITOR.dom.element(b):null}, +_getHtml5ShivFrag:function(){var b=this.getCustomData("html5ShivFrag");b||(b=this.$.createDocumentFragment(),CKEDITOR.tools.enableHtml5Elements(b,!0),this.setCustomData("html5ShivFrag",b));return b}}),CKEDITOR.dom.nodeList=function(b){this.$=b},CKEDITOR.dom.nodeList.prototype={count:function(){return this.$.length},getItem:function(b){return 0>b||b>=this.$.length?null:(b=this.$[b])?new CKEDITOR.dom.node(b):null},toArray:function(){return CKEDITOR.tools.array.map(this.$,function(b){return new CKEDITOR.dom.node(b)})}}, +CKEDITOR.dom.element=function(b,h){"string"==typeof b&&(b=(h?h.$:document).createElement(b));CKEDITOR.dom.domObject.call(this,b)},CKEDITOR.dom.element.get=function(b){return(b="string"==typeof b?document.getElementById(b)||document.getElementsByName(b)[0]:b)&&(b.$?b:new CKEDITOR.dom.element(b))},CKEDITOR.dom.element.prototype=new CKEDITOR.dom.node,CKEDITOR.dom.element.createFromHtml=function(b,h){var f=new CKEDITOR.dom.element("div",h);f.setHtml(b);return f.getFirst().remove()},CKEDITOR.dom.element.setMarker= +function(b,h,f,e){var a=h.getCustomData("list_marker_id")||h.setCustomData("list_marker_id",CKEDITOR.tools.getNextNumber()).getCustomData("list_marker_id"),k=h.getCustomData("list_marker_names")||h.setCustomData("list_marker_names",{}).getCustomData("list_marker_names");b[a]=h;k[f]=1;return h.setCustomData(f,e)},CKEDITOR.dom.element.clearAllMarkers=function(b){for(var h in b)CKEDITOR.dom.element.clearMarkers(b,b[h],1)},CKEDITOR.dom.element.clearMarkers=function(b,h,f){var e=h.getCustomData("list_marker_names"), +a=h.getCustomData("list_marker_id"),k;for(k in e)h.removeCustomData(k);h.removeCustomData("list_marker_names");f&&(h.removeCustomData("list_marker_id"),delete b[a])},function(){function b(a,c){return-1<(" "+a+" ").replace(k," ").indexOf(" "+c+" ")}function h(a){var c=!0;a.$.id||(a.$.id="cke_tmp_"+CKEDITOR.tools.getNextNumber(),c=!1);return function(){c||a.removeAttribute("id")}}function f(a,c){var d=CKEDITOR.tools.escapeCss(a.$.id);return"#"+d+" "+c.split(/,\s*/).join(", #"+d+" ")}function e(a){for(var c= +0,d=0,g=l[a].length;dCKEDITOR.env.version?this.$.text+=a:this.append(new CKEDITOR.dom.text(a))},appendBogus:function(a){if(a||CKEDITOR.env.needsBrFiller){for(a=this.getLast();a&&a.type==CKEDITOR.NODE_TEXT&&!CKEDITOR.tools.rtrim(a.getText());)a=a.getPrevious();a&&a.is&&a.is("br")||(a=this.getDocument().createElement("br"),CKEDITOR.env.gecko&&a.setAttribute("type", +"_moz"),this.append(a))}},breakParent:function(a,c){var d=new CKEDITOR.dom.range(this.getDocument());d.setStartAfter(this);d.setEndAfter(a);var g=d.extractContents(!1,c||!1),b;d.insertNode(this.remove());if(CKEDITOR.env.ie&&!CKEDITOR.env.edge){for(d=new CKEDITOR.dom.element("div");b=g.getFirst();)b.$.style.backgroundColor&&(b.$.style.backgroundColor=b.$.style.backgroundColor),d.append(b);d.insertAfter(this);d.remove(!0)}else g.insertAfterNode(this)},contains:document.compareDocumentPosition?function(a){return!!(this.$.compareDocumentPosition(a.$)& 16)}:function(a){var c=this.$;return a.type!=CKEDITOR.NODE_ELEMENT?c.contains(a.getParent().$):c!=a.$&&c.contains(a.$)},focus:function(){function a(){try{this.$.focus()}catch(c){}}return function(c){c?CKEDITOR.tools.setTimeout(a,100,this):a.call(this)}}(),getHtml:function(){var a=this.$.innerHTML;return CKEDITOR.env.ie?a.replace(/<\?[^>]*>/g,""):a},getOuterHtml:function(){if(this.$.outerHTML)return this.$.outerHTML.replace(/<\?[^>]*>/,"");var a=this.$.ownerDocument.createElement("div");a.appendChild(this.$.cloneNode(!0)); -return a.innerHTML},getClientRect:function(a){var c=CKEDITOR.tools.extend({},this.$.getBoundingClientRect());!c.width&&(c.width=c.right-c.left);!c.height&&(c.height=c.bottom-c.top);return a?CKEDITOR.tools.getAbsoluteRectPosition(this.getWindow(),c):c},setHtml:CKEDITOR.env.ie&&9>CKEDITOR.env.version?function(a){try{var c=this.$;if(this.getParent())return c.innerHTML=a;var f=this.getDocument()._getHtml5ShivFrag();f.appendChild(c);c.innerHTML=a;f.removeChild(c);return a}catch(d){this.$.innerHTML=""; -c=new CKEDITOR.dom.element("body",this.getDocument());c.$.innerHTML=a;for(c=c.getChildren();c.count();)this.append(c.getItem(0));return a}}:function(a){return this.$.innerHTML=a},setText:function(){var a=document.createElement("p");a.innerHTML="x";a=a.textContent;return function(c){this.$[a?"textContent":"innerText"]=c}}(),getAttribute:function(){var a=function(c){return this.$.getAttribute(c,2)};return CKEDITOR.env.ie&&(CKEDITOR.env.ie7Compat||CKEDITOR.env.quirks)?function(c){switch(c){case "class":c= -"className";break;case "http-equiv":c="httpEquiv";break;case "name":return this.$.name;case "tabindex":return c=this.$.getAttribute(c,2),0!==c&&0===this.$.tabIndex&&(c=null),c;case "checked":return c=this.$.attributes.getNamedItem(c),(c.specified?c.nodeValue:this.$.checked)?"checked":null;case "hspace":case "value":return this.$[c];case "style":return this.$.style.cssText;case "contenteditable":case "contentEditable":return this.$.attributes.getNamedItem("contentEditable").specified?this.$.getAttribute("contentEditable"): -null}return this.$.getAttribute(c,2)}:a}(),getAttributes:function(a){var c={},f=this.$.attributes,d;a=CKEDITOR.tools.isArray(a)?a:[];for(d=0;dCKEDITOR.env.version?function(a){try{var c=this.$;if(this.getParent())return c.innerHTML=a;var d=this.getDocument()._getHtml5ShivFrag();d.appendChild(c);c.innerHTML=a;d.removeChild(c);return a}catch(g){this.$.innerHTML=""; +c=new CKEDITOR.dom.element("body",this.getDocument());c.$.innerHTML=a;for(c=c.getChildren();c.count();)this.append(c.getItem(0));return a}}:function(a){return this.$.innerHTML=a},setText:function(){var a=document.createElement("p");a.innerHTML="x";a=a.textContent;return function(c){this.$[a?"textContent":"innerText"]=c}}(),getAttribute:function(){var a=function(a){return this.$.getAttribute(a,2)};return CKEDITOR.env.ie&&(CKEDITOR.env.ie7Compat||CKEDITOR.env.quirks)?function(a){switch(a){case "class":a= +"className";break;case "http-equiv":a="httpEquiv";break;case "name":return this.$.name;case "tabindex":return a=this.$.getAttribute(a,2),0!==a&&0===this.$.tabIndex&&(a=null),a;case "checked":return a=this.$.attributes.getNamedItem(a),(a.specified?a.nodeValue:this.$.checked)?"checked":null;case "hspace":case "value":return this.$[a];case "style":return this.$.style.cssText;case "contenteditable":case "contentEditable":return this.$.attributes.getNamedItem("contentEditable").specified?this.$.getAttribute("contentEditable"): +null}return this.$.getAttribute(a,2)}:a}(),getAttributes:function(a){var c={},d=this.$.attributes,g;a=CKEDITOR.tools.isArray(a)?a:[];for(g=0;g=document.documentMode){var c=this.$.scopeName;"HTML"!=c&&(a=c.toLowerCase()+":"+a)}this.getName=function(){return a};return this.getName()},getValue:function(){return this.$.value},getFirst:function(a){var c=this.$.firstChild;(c=c&&new CKEDITOR.dom.node(c))&&a&&!a(c)&&(c=c.getNext(a)); return c},getLast:function(a){var c=this.$.lastChild;(c=c&&new CKEDITOR.dom.node(c))&&a&&!a(c)&&(c=c.getPrevious(a));return c},getStyle:function(a){return this.$.style[CKEDITOR.tools.cssStyleToDomStyle(a)]},is:function(){var a=this.getName();if("object"==typeof arguments[0])return!!arguments[0][a];for(var c=0;cCKEDITOR.env.version&&this.is("a")){var f=this.getParent();f.type==CKEDITOR.NODE_ELEMENT&&(f=f.clone(),f.setHtml(c),c=f.getHtml(),f.setHtml(a),a=f.getHtml())}return c==a},isVisible:function(){var a=(this.$.offsetHeight||this.$.offsetWidth)&&"hidden"!=this.getComputedStyle("visibility"),c,f;a&&CKEDITOR.env.webkit&& -(c=this.getWindow(),!c.equals(CKEDITOR.document.getWindow())&&(f=c.$.frameElement)&&(a=(new CKEDITOR.dom.element(f)).isVisible()));return!!a},isEmptyInlineRemoveable:function(){if(!CKEDITOR.dtd.$removeEmpty[this.getName()])return!1;for(var a=this.getChildren(),c=0,f=a.count();cCKEDITOR.env.version?function(c){return"name"==c?!!this.$.name:a.call(this,c)}:a:function(a){return!!this.$.attributes.getNamedItem(a)}}(),hide:function(){this.setStyle("display","none")},moveChildren:function(a,c){var f=this.$; -a=a.$;if(f!=a){var d;if(c)for(;d=f.lastChild;)a.insertBefore(f.removeChild(d),a.firstChild);else for(;d=f.firstChild;)a.appendChild(f.removeChild(d))}},mergeSiblings:function(){function a(c,f,d){if(f&&f.type==CKEDITOR.NODE_ELEMENT){for(var e=[];f.data("cke-bookmark")||f.isEmptyInlineRemoveable();)if(e.push(f),f=d?f.getNext():f.getPrevious(),!f||f.type!=CKEDITOR.NODE_ELEMENT)return;if(c.isIdentical(f)){for(var b=d?c.getLast():c.getFirst();e.length;)e.shift().move(c,!d);f.moveChildren(c,!d);f.remove(); -b&&b.type==CKEDITOR.NODE_ELEMENT&&b.mergeSiblings()}}}return function(c){if(!1===c||CKEDITOR.dtd.$removeEmpty[this.getName()]||this.is("a"))a(this,this.getNext(),!0),a(this,this.getPrevious())}}(),show:function(){this.setStyles({display:"",visibility:""})},setAttribute:function(){var a=function(a,f){this.$.setAttribute(a,f);return this};return CKEDITOR.env.ie&&(CKEDITOR.env.ie7Compat||CKEDITOR.env.quirks)?function(c,f){"class"==c?this.$.className=f:"style"==c?this.$.style.cssText=f:"tabindex"==c? -this.$.tabIndex=f:"checked"==c?this.$.checked=f:"contenteditable"==c?a.call(this,"contentEditable",f):a.apply(this,arguments);return this}:CKEDITOR.env.ie8Compat&&CKEDITOR.env.secure?function(c,f){if("src"==c&&f.match(/^http:\/\//))try{a.apply(this,arguments)}catch(d){}else a.apply(this,arguments);return this}:a}(),setAttributes:function(a){for(var c in a)this.setAttribute(c,a[c]);return this},setValue:function(a){this.$.value=a;return this},removeAttribute:function(){var a=function(a){this.$.removeAttribute(a)}; +CKEDITOR.tools.normalizeCssText(c.$.style.cssText),a.$.style.cssText=CKEDITOR.tools.normalizeCssText(a.$.style.cssText),c.$.isEqualNode(a.$);c=c.getOuterHtml();a=a.getOuterHtml();if(CKEDITOR.env.ie&&9>CKEDITOR.env.version&&this.is("a")){var d=this.getParent();d.type==CKEDITOR.NODE_ELEMENT&&(d=d.clone(),d.setHtml(c),c=d.getHtml(),d.setHtml(a),a=d.getHtml())}return c==a},isVisible:function(){var a=(this.$.offsetHeight||this.$.offsetWidth)&&"hidden"!=this.getComputedStyle("visibility"),c,d;a&&CKEDITOR.env.webkit&& +(c=this.getWindow(),!c.equals(CKEDITOR.document.getWindow())&&(d=c.$.frameElement)&&(a=(new CKEDITOR.dom.element(d)).isVisible()));return!!a},isEmptyInlineRemoveable:function(){if(!CKEDITOR.dtd.$removeEmpty[this.getName()])return!1;for(var a=this.getChildren(),c=0,d=a.count();cCKEDITOR.env.version?function(c){return"name"==c?!!this.$.name:a.call(this,c)}:a:function(a){return!!this.$.attributes.getNamedItem(a)}}(),hide:function(){this.setStyle("display","none")},moveChildren:function(a,c){var d=this.$; +a=a.$;if(d!=a){var g;if(c)for(;g=d.lastChild;)a.insertBefore(d.removeChild(g),a.firstChild);else for(;g=d.firstChild;)a.appendChild(d.removeChild(g))}},mergeSiblings:function(){function a(c,d,g){if(d&&d.type==CKEDITOR.NODE_ELEMENT){for(var b=[];d.data("cke-bookmark")||d.isEmptyInlineRemoveable();)if(b.push(d),d=g?d.getNext():d.getPrevious(),!d||d.type!=CKEDITOR.NODE_ELEMENT)return;if(c.isIdentical(d)){for(var e=g?c.getLast():c.getFirst();b.length;)b.shift().move(c,!g);d.moveChildren(c,!g);d.remove(); +e&&e.type==CKEDITOR.NODE_ELEMENT&&e.mergeSiblings()}}}return function(c){if(!1===c||CKEDITOR.dtd.$removeEmpty[this.getName()]||this.is("a"))a(this,this.getNext(),!0),a(this,this.getPrevious())}}(),show:function(){this.setStyles({display:"",visibility:""})},setAttribute:function(){var a=function(a,d){this.$.setAttribute(a,d);return this};return CKEDITOR.env.ie&&(CKEDITOR.env.ie7Compat||CKEDITOR.env.quirks)?function(c,d){"class"==c?this.$.className=d:"style"==c?this.$.style.cssText=d:"tabindex"==c? +this.$.tabIndex=d:"checked"==c?this.$.checked=d:"contenteditable"==c?a.call(this,"contentEditable",d):a.apply(this,arguments);return this}:CKEDITOR.env.ie8Compat&&CKEDITOR.env.secure?function(c,d){if("src"==c&&d.match(/^http:\/\//))try{a.apply(this,arguments)}catch(g){}else a.apply(this,arguments);return this}:a}(),setAttributes:function(a){for(var c in a)this.setAttribute(c,a[c]);return this},setValue:function(a){this.$.value=a;return this},removeAttribute:function(){var a=function(a){this.$.removeAttribute(a)}; return CKEDITOR.env.ie&&(CKEDITOR.env.ie7Compat||CKEDITOR.env.quirks)?function(a){"class"==a?a="className":"tabindex"==a?a="tabIndex":"contenteditable"==a&&(a="contentEditable");this.$.removeAttribute(a)}:a}(),removeAttributes:function(a){if(CKEDITOR.tools.isArray(a))for(var c=0;cCKEDITOR.env.version?(a=Math.round(100*a),this.setStyle("filter",100<=a?"":"progid:DXImageTransform.Microsoft.Alpha(opacity\x3d"+a+")")):this.setStyle("opacity",a)},unselectable:function(){this.setStyles(CKEDITOR.tools.cssVendorPrefix("user-select","none"));if(CKEDITOR.env.ie){this.setAttribute("unselectable","on");for(var a,c=this.getElementsByTag("*"),f=0,d=c.count();fg||0g?g:e);f&&(0>b||0b?b:d,0)},setState:function(a,c,f){c=c||"cke";switch(a){case CKEDITOR.TRISTATE_ON:this.addClass(c+"_on");this.removeClass(c+"_off");this.removeClass(c+"_disabled");f&&this.setAttribute("aria-pressed",!0);f&&this.removeAttribute("aria-disabled");break;case CKEDITOR.TRISTATE_DISABLED:this.addClass(c+"_disabled");this.removeClass(c+"_off");this.removeClass(c+"_on"); -f&&this.setAttribute("aria-disabled",!0);f&&this.removeAttribute("aria-pressed");break;default:this.addClass(c+"_off"),this.removeClass(c+"_on"),this.removeClass(c+"_disabled"),f&&this.removeAttribute("aria-pressed"),f&&this.removeAttribute("aria-disabled")}},getFrameDocument:function(){var a=this.$;try{a.contentWindow.document}catch(c){a.src=a.src}return a&&new CKEDITOR.dom.document(a.contentWindow.document)},copyAttributes:function(a,c){var f=this.$.attributes;c=c||{};for(var d=0;dCKEDITOR.env.version){var e=d.ownerDocument.createEventObject(),b;for(b in c)e[b]=c[b];d.fireEvent(f,e)}else d[d[a]?a:f](c)},isDetached:function(){var a=this.getDocument(),c=a.getDocumentElement();return c.equals(this)||c.contains(this)?!CKEDITOR.env.ie||8=C.getChildCount()?(C=C.getChild(A-1),G=!0):C=C.getChild(A):L=G=!0;v.type==CKEDITOR.NODE_TEXT?l?F=!0:v.split(E):0 -ea)for(;W;)W=b(W,N,!0);N=Y}l||h()}}function g(){var d=!1,a=CKEDITOR.dom.walker.whitespaces(),c=CKEDITOR.dom.walker.bookmark(!0),f=CKEDITOR.dom.walker.bogus();return function(e){return c(e)||a(e)?!0:f(e)&&!d?d=!0:e.type==CKEDITOR.NODE_TEXT&&(e.hasAscendant("pre")||CKEDITOR.tools.trim(e.getText()).length)||e.type==CKEDITOR.NODE_ELEMENT&&!e.is(m)?!1:!0}}function e(d){var a=CKEDITOR.dom.walker.whitespaces(),c=CKEDITOR.dom.walker.bookmark(1);return function(f){return c(f)||a(f)?!0:!d&&k(f)||f.type==CKEDITOR.NODE_ELEMENT&& -f.is(CKEDITOR.dtd.$removeEmpty)}}function a(d){return function(){var a;return this[d?"getPreviousNode":"getNextNode"](function(d){!a&&f(d)&&(a=d);return c(d)&&!(k(d)&&d.equals(a))})}}var m={abbr:1,acronym:1,b:1,bdo:1,big:1,cite:1,code:1,del:1,dfn:1,em:1,font:1,i:1,ins:1,label:1,kbd:1,q:1,samp:1,small:1,span:1,strike:1,strong:1,sub:1,sup:1,tt:1,u:1,"var":1},k=CKEDITOR.dom.walker.bogus(),l=/^[\t\r\n ]*(?: |\xa0)$/,c=CKEDITOR.dom.walker.editable(),f=CKEDITOR.dom.walker.ignored(!0);CKEDITOR.dom.range.prototype= -{clone:function(){var d=new CKEDITOR.dom.range(this.root);d._setStartContainer(this.startContainer);d.startOffset=this.startOffset;d._setEndContainer(this.endContainer);d.endOffset=this.endOffset;d.collapsed=this.collapsed;return d},collapse:function(d){d?(this._setEndContainer(this.startContainer),this.endOffset=this.startOffset):(this._setStartContainer(this.endContainer),this.startOffset=this.endOffset);this.collapsed=!0},cloneContents:function(d){var a=new CKEDITOR.dom.documentFragment(this.document); -this.collapsed||h(this,2,a,!1,"undefined"==typeof d?!0:d);return a},deleteContents:function(d){this.collapsed||h(this,0,null,d)},extractContents:function(d,a){var c=new CKEDITOR.dom.documentFragment(this.document);this.collapsed||h(this,1,c,d,"undefined"==typeof a?!0:a);return c},equals:function(d){return this.startOffset===d.startOffset&&this.endOffset===d.endOffset&&this.startContainer.equals(d.startContainer)&&this.endContainer.equals(d.endContainer)},createBookmark:function(d){function a(d){return d.getAscendant(function(d){var a; -if(a=d.data&&d.data("cke-temp"))a=-1===CKEDITOR.tools.array.indexOf(["cke_copybin","cke_pastebin"],d.getAttribute("id"));return a},!0)}var c=this.startContainer,f=this.endContainer,e=this.collapsed,b,g,h,k;b=this.document.createElement("span");b.data("cke-bookmark",1);b.setStyle("display","none");b.setHtml("\x26nbsp;");d&&(h="cke_bm_"+CKEDITOR.tools.getNextNumber(),b.setAttribute("id",h+(e?"C":"S")));e||(g=b.clone(),g.setHtml("\x26nbsp;"),d&&g.setAttribute("id",h+"E"),k=this.clone(),a(f)&&(f=a(f), -k.moveToPosition(f,CKEDITOR.POSITION_AFTER_END)),k.collapse(),k.insertNode(g));k=this.clone();a(c)&&(f=a(c),k.moveToPosition(f,CKEDITOR.POSITION_BEFORE_START));k.collapse(!0);k.insertNode(b);g?(this.setStartAfter(b),this.setEndBefore(g)):this.moveToPosition(b,CKEDITOR.POSITION_AFTER_END);return{startNode:d?h+(e?"C":"S"):b,endNode:d?h+"E":g,serializable:d,collapsed:e}},createBookmark2:function(){function d(d){var a=d.container,f=d.offset,e;e=a;var b=f;e=e.type!=CKEDITOR.NODE_ELEMENT||0===b||b==e.getChildCount()? -0:e.getChild(b-1).type==CKEDITOR.NODE_TEXT&&e.getChild(b).type==CKEDITOR.NODE_TEXT;e&&(a=a.getChild(f-1),f=a.getLength());if(a.type==CKEDITOR.NODE_ELEMENT&&0=d.offset&&(d.offset=e.getIndex(),d.container=e.getParent()))}}var c=CKEDITOR.dom.walker.nodeType(CKEDITOR.NODE_TEXT,!0);return function(c){var f=this.collapsed,e={container:this.startContainer,offset:this.startOffset},b={container:this.endContainer,offset:this.endOffset};c&&(d(e),a(e,this.root), -f||(d(b),a(b,this.root)));return{start:e.container.getAddress(c),end:f?null:b.container.getAddress(c),startOffset:e.offset,endOffset:b.offset,normalized:c,collapsed:f,is2:!0}}}(),moveToBookmark:function(d){if(d.is2){var a=this.document.getByAddress(d.start,d.normalized),c=d.startOffset,f=d.end&&this.document.getByAddress(d.end,d.normalized);d=d.endOffset;this.setStart(a,c);f?this.setEnd(f,d):this.collapse(!0)}else a=(c=d.serializable)?this.document.getById(d.startNode):d.startNode,d=c?this.document.getById(d.endNode): -d.endNode,this.setStartBefore(a),a.remove(),d?(this.setEndBefore(d),d.remove()):this.collapse(!0)},getBoundaryNodes:function(){var d=this.startContainer,a=this.endContainer,c=this.startOffset,f=this.endOffset,e;if(d.type==CKEDITOR.NODE_ELEMENT)if(e=d.getChildCount(),e>c)d=d.getChild(c);else if(1>e)d=d.getPreviousSourceNode();else{for(d=d.$;d.lastChild;)d=d.lastChild;d=new CKEDITOR.dom.node(d);d=d.getNextSourceNode()||d}if(a.type==CKEDITOR.NODE_ELEMENT)if(e=a.getChildCount(),e>f)a=a.getChild(f).getPreviousSourceNode(!0); -else if(1>e)a=a.getPreviousSourceNode();else{for(a=a.$;a.lastChild;)a=a.lastChild;a=new CKEDITOR.dom.node(a)}d.getPosition(a)&CKEDITOR.POSITION_FOLLOWING&&(d=a);return{startNode:d,endNode:a}},getCommonAncestor:function(d,a){var c=this.startContainer,f=this.endContainer,c=c.equals(f)?d&&c.type==CKEDITOR.NODE_ELEMENT&&this.startOffset==this.endOffset-1?c.getChild(this.startOffset):c:c.getCommonAncestor(f);return a&&!c.is?c.getParent():c},optimize:function(){var d=this.startContainer,a=this.startOffset; -d.type!=CKEDITOR.NODE_ELEMENT&&(a?a>=d.getLength()&&this.setStartAfter(d):this.setStartBefore(d));d=this.endContainer;a=this.endOffset;d.type!=CKEDITOR.NODE_ELEMENT&&(a?a>=d.getLength()&&this.setEndAfter(d):this.setEndBefore(d))},optimizeBookmark:function(){var d=this.startContainer,a=this.endContainer;d.is&&d.is("span")&&d.data("cke-bookmark")&&this.setStartAt(d,CKEDITOR.POSITION_BEFORE_START);a&&a.is&&a.is("span")&&a.data("cke-bookmark")&&this.setEndAt(a,CKEDITOR.POSITION_AFTER_END)},trim:function(a, -c){var f=this.startContainer,e=this.startOffset,b=this.collapsed;if((!a||b)&&f&&f.type==CKEDITOR.NODE_TEXT){if(e)if(e>=f.getLength())e=f.getIndex()+1,f=f.getParent();else{var g=f.split(e),e=f.getIndex()+1,f=f.getParent();this.startContainer.equals(this.endContainer)?this.setEnd(g,this.endOffset-this.startOffset):f.equals(this.endContainer)&&(this.endOffset+=1)}else e=f.getIndex(),f=f.getParent();this.setStart(f,e);if(b){this.collapse(!0);return}}f=this.endContainer;e=this.endOffset;c||b||!f||f.type!= -CKEDITOR.NODE_TEXT||(e?(e>=f.getLength()||f.split(e),e=f.getIndex()+1):e=f.getIndex(),f=f.getParent(),this.setEnd(f,e))},enlarge:function(a,c){function f(a){return a&&a.type==CKEDITOR.NODE_ELEMENT&&a.hasAttribute("contenteditable")?null:a}var e=new RegExp(/[^\s\ufeff]/);switch(a){case CKEDITOR.ENLARGE_INLINE:var b=1;case CKEDITOR.ENLARGE_ELEMENT:var g=function(a,d){var c=new CKEDITOR.dom.range(k);c.setStart(a,d);c.setEndAt(k,CKEDITOR.POSITION_BEFORE_END);var c=new CKEDITOR.dom.walker(c),f;for(c.guard= -function(a){return!(a.type==CKEDITOR.NODE_ELEMENT&&a.isBlockBoundary())};f=c.next();){if(f.type!=CKEDITOR.NODE_TEXT)return!1;B=f!=a?f.getText():f.substring(d);if(e.test(B))return!1}return!0};if(this.collapsed)break;var h=this.getCommonAncestor(),k=this.root,m,l,u,v,C,E=!1,A,B;A=this.startContainer;var G=this.startOffset;A.type==CKEDITOR.NODE_TEXT?(G&&(A=!CKEDITOR.tools.trim(A.substring(0,G)).length&&A,E=!!A),A&&((v=A.getPrevious())||(u=A.getParent()))):(G&&(v=A.getChild(G-1)||A.getLast()),v||(u=A)); -for(u=f(u);u||v;){if(u&&!v){!C&&u.equals(h)&&(C=!0);if(b?u.isBlockBoundary():!k.contains(u))break;E&&"inline"==u.getComputedStyle("display")||(E=!1,C?m=u:this.setStartBefore(u));v=u.getPrevious()}for(;v;)if(A=!1,v.type==CKEDITOR.NODE_COMMENT)v=v.getPrevious();else{if(v.type==CKEDITOR.NODE_TEXT)B=v.getText(),e.test(B)&&(v=null),A=/[\s\ufeff]$/.test(B);else if((v.$.offsetWidth>(CKEDITOR.env.webkit?1:0)||c&&v.is("br"))&&!v.data("cke-bookmark"))if(E&&CKEDITOR.dtd.$removeEmpty[v.getName()]){B=v.getText(); -if(e.test(B))v=null;else for(var G=v.$.getElementsByTagName("*"),I=0,L;L=G[I++];)if(!CKEDITOR.dtd.$removeEmpty[L.nodeName.toLowerCase()]){v=null;break}v&&(A=!!B.length)}else v=null;A&&(E?C?m=u:u&&this.setStartBefore(u):E=!0);if(v){A=v.getPrevious();if(!u&&!A){u=v;v=null;break}v=A}else u=null}u&&(u=f(u.getParent()))}A=this.endContainer;G=this.endOffset;u=v=null;C=E=!1;A.type==CKEDITOR.NODE_TEXT?CKEDITOR.tools.trim(A.substring(G)).length?E=!0:(E=!A.getLength(),G==A.getLength()?(v=A.getNext())||(u=A.getParent()): -g(A,G)&&(u=A.getParent())):(v=A.getChild(G))||(u=A);for(;u||v;){if(u&&!v){!C&&u.equals(h)&&(C=!0);if(b?u.isBlockBoundary():!k.contains(u))break;E&&"inline"==u.getComputedStyle("display")||(E=!1,C?l=u:u&&this.setEndAfter(u));v=u.getNext()}for(;v;){A=!1;if(v.type==CKEDITOR.NODE_TEXT)B=v.getText(),g(v,0)||(v=null),A=/^[\s\ufeff]/.test(B);else if(v.type==CKEDITOR.NODE_ELEMENT){if((0=h.getLength()?g.setStartAfter(h):(g.setStartBefore(h),f=0):g.setStartBefore(h));k&&k.type==CKEDITOR.NODE_TEXT&&(l?l>=k.getLength()?g.setEndAfter(k):(g.setEndAfter(k),u=0):g.setEndBefore(k));var g=new CKEDITOR.dom.walker(g),v=CKEDITOR.dom.walker.bookmark(),C=CKEDITOR.dom.walker.bogus();g.evaluator=function(c){return c.type==(a==CKEDITOR.SHRINK_ELEMENT?CKEDITOR.NODE_ELEMENT:CKEDITOR.NODE_TEXT)};var E;g.guard=function(c,f){if(b&&C(c)||v(c))return!0;if(a==CKEDITOR.SHRINK_ELEMENT&& -c.type==CKEDITOR.NODE_TEXT||f&&c.equals(E)||!1===e&&c.type==CKEDITOR.NODE_ELEMENT&&c.isBlockBoundary()||c.type==CKEDITOR.NODE_ELEMENT&&c.hasAttribute("contenteditable"))return!1;f||c.type!=CKEDITOR.NODE_ELEMENT||(E=c);return!0};f&&(h=g[a==CKEDITOR.SHRINK_ELEMENT?"lastForward":"next"]())&&this.setStartAt(h,c?CKEDITOR.POSITION_AFTER_START:CKEDITOR.POSITION_BEFORE_START);u&&(g.reset(),(g=g[a==CKEDITOR.SHRINK_ELEMENT?"lastBackward":"previous"]())&&this.setEndAt(g,c?CKEDITOR.POSITION_BEFORE_END:CKEDITOR.POSITION_AFTER_END)); -return!(!f&&!u)}},insertNode:function(a){this.optimizeBookmark();this.trim(!1,!0);var c=this.startContainer,f=c.getChild(this.startOffset);f?a.insertBefore(f):c.append(a);a.getParent()&&a.getParent().equals(this.endContainer)&&this.endOffset++;this.setStartBefore(a)},moveToPosition:function(a,c){this.setStartAt(a,c);this.collapse(!0)},moveToRange:function(a){this.setStart(a.startContainer,a.startOffset);this.setEnd(a.endContainer,a.endOffset)},selectNodeContents:function(a){this.setStart(a,0);this.setEnd(a, +a)c.removeProperty?c.removeProperty(a):c.removeAttribute(CKEDITOR.tools.cssStyleToDomStyle(a)),this.$.style.cssText||this.removeAttribute("style");else{var d=["top","left","right","bottom"],g;"border"==a&&(g=["color","style","width"]);for(var c=[],b=0;bCKEDITOR.env.version?(a=Math.round(100*a),this.setStyle("filter",100<=a?"":"progid:DXImageTransform.Microsoft.Alpha(opacity\x3d"+a+")")):this.setStyle("opacity",a)},unselectable:function(){this.setStyles(CKEDITOR.tools.cssVendorPrefix("user-select","none"));if(CKEDITOR.env.ie){this.setAttribute("unselectable","on");for(var a,c=this.getElementsByTag("*"),d=0,g=c.count();df||0f?f:b);d&&(0>e||0e?e:g,0)},setState:function(a,c,d){c=c||"cke";switch(a){case CKEDITOR.TRISTATE_ON:this.addClass(c+"_on");this.removeClass(c+"_off");this.removeClass(c+"_disabled");d&&this.setAttribute("aria-pressed",!0);d&&this.removeAttribute("aria-disabled");break;case CKEDITOR.TRISTATE_DISABLED:this.addClass(c+"_disabled");this.removeClass(c+"_off");this.removeClass(c+"_on"); +d&&this.setAttribute("aria-disabled",!0);d&&this.removeAttribute("aria-pressed");break;default:this.addClass(c+"_off"),this.removeClass(c+"_on"),this.removeClass(c+"_disabled"),d&&this.removeAttribute("aria-pressed"),d&&this.removeAttribute("aria-disabled")}},getFrameDocument:function(){var a=this.$;try{a.contentWindow.document}catch(c){a.src=a.src}return a&&new CKEDITOR.dom.document(a.contentWindow.document)},copyAttributes:function(a,c){var d=this.$.attributes;c=c||{};for(var g=0;gCKEDITOR.env.version){var b=g.ownerDocument.createEventObject(),e;for(e in c)b[e]=c[e];g.fireEvent(d,b)}else g[g[a]?a:d](c)},isDetached:function(){var a=this.getDocument(),c=a.getDocumentElement();return c.equals(this)||c.contains(this)?!CKEDITOR.env.ie||8=y.getChildCount()?(y=y.getChild(D-1),E=!0):y=y.getChild(D):L=E=!0;t.type==CKEDITOR.NODE_TEXT?v?G=!0:t.split(C):0da)for(;U;)U=f(U,N,!0);N=V}v||h()}}function f(){var a=!1,c=CKEDITOR.dom.walker.whitespaces(),d=CKEDITOR.dom.walker.bookmark(!0),b=CKEDITOR.dom.walker.bogus();return function(e){return d(e)||c(e)?!0:b(e)&&!a?a=!0:e.type==CKEDITOR.NODE_TEXT&&(e.hasAscendant("pre")||CKEDITOR.tools.trim(e.getText()).length)||e.type==CKEDITOR.NODE_ELEMENT&&!e.is(k)?!1:!0}}function e(a){var c=CKEDITOR.dom.walker.whitespaces(),d=CKEDITOR.dom.walker.bookmark(1);return function(b){return d(b)||c(b)?!0:!a&&l(b)|| +b.type==CKEDITOR.NODE_ELEMENT&&b.is(CKEDITOR.dtd.$removeEmpty)}}function a(a){return function(){var b;return this[a?"getPreviousNode":"getNextNode"](function(a){!b&&d(a)&&(b=a);return c(a)&&!(l(a)&&a.equals(b))})}}var k={abbr:1,acronym:1,b:1,bdo:1,big:1,cite:1,code:1,del:1,dfn:1,em:1,font:1,i:1,ins:1,label:1,kbd:1,q:1,samp:1,small:1,span:1,strike:1,strong:1,sub:1,sup:1,tt:1,u:1,"var":1},l=CKEDITOR.dom.walker.bogus(),m=/^[\t\r\n ]*(?: |\xa0)$/,c=CKEDITOR.dom.walker.editable(),d=CKEDITOR.dom.walker.ignored(!0); +CKEDITOR.dom.range.prototype={clone:function(){var a=new CKEDITOR.dom.range(this.root);a._setStartContainer(this.startContainer);a.startOffset=this.startOffset;a._setEndContainer(this.endContainer);a.endOffset=this.endOffset;a.collapsed=this.collapsed;return a},collapse:function(a){a?(this._setEndContainer(this.startContainer),this.endOffset=this.startOffset):(this._setStartContainer(this.endContainer),this.startOffset=this.endOffset);this.collapsed=!0},cloneContents:function(a){var c=new CKEDITOR.dom.documentFragment(this.document); +this.collapsed||h(this,2,c,!1,"undefined"==typeof a?!0:a);return c},deleteContents:function(a){this.collapsed||h(this,0,null,a)},extractContents:function(a,c){var d=new CKEDITOR.dom.documentFragment(this.document);this.collapsed||h(this,1,d,a,"undefined"==typeof c?!0:c);return d},equals:function(a){return this.startOffset===a.startOffset&&this.endOffset===a.endOffset&&this.startContainer.equals(a.startContainer)&&this.endContainer.equals(a.endContainer)},createBookmark:function(a){function c(a){return a.getAscendant(function(a){var g; +if(g=a.data&&a.data("cke-temp"))g=-1===CKEDITOR.tools.array.indexOf(["cke_copybin","cke_pastebin"],a.getAttribute("id"));return g},!0)}var d=this.startContainer,b=this.endContainer,e=this.collapsed,f,k,h,l;f=this.document.createElement("span");f.data("cke-bookmark",1);f.setStyle("display","none");f.setHtml("\x26nbsp;");a&&(h="cke_bm_"+CKEDITOR.tools.getNextNumber(),f.setAttribute("id",h+(e?"C":"S")));e||(k=f.clone(),k.setHtml("\x26nbsp;"),a&&k.setAttribute("id",h+"E"),l=this.clone(),c(b)&&(b=c(b), +l.moveToPosition(b,CKEDITOR.POSITION_AFTER_END)),l.collapse(),l.insertNode(k));l=this.clone();c(d)&&(b=c(d),l.moveToPosition(b,CKEDITOR.POSITION_BEFORE_START));l.collapse(!0);l.insertNode(f);k?(this.setStartAfter(f),this.setEndBefore(k)):this.moveToPosition(f,CKEDITOR.POSITION_AFTER_END);return{startNode:a?h+(e?"C":"S"):f,endNode:a?h+"E":k,serializable:a,collapsed:e}},createBookmark2:function(){function a(g){var c=g.container,b=g.offset,e;e=c;var n=b;e=e.type!=CKEDITOR.NODE_ELEMENT||0===n||n==e.getChildCount()? +0:e.getChild(n-1).type==CKEDITOR.NODE_TEXT&&e.getChild(n).type==CKEDITOR.NODE_TEXT;e&&(c=c.getChild(b-1),b=c.getLength());if(c.type==CKEDITOR.NODE_ELEMENT&&0=a.offset&&(a.offset=b.getIndex(),a.container=b.getParent()))}}var d=CKEDITOR.dom.walker.nodeType(CKEDITOR.NODE_TEXT,!0);return function(d){var b=this.collapsed,e={container:this.startContainer,offset:this.startOffset},f={container:this.endContainer,offset:this.endOffset};d&&(a(e),c(e,this.root), +b||(a(f),c(f,this.root)));return{start:e.container.getAddress(d),end:b?null:f.container.getAddress(d),startOffset:e.offset,endOffset:f.offset,normalized:d,collapsed:b,is2:!0}}}(),moveToBookmark:function(a){if(a.is2){var c=this.document.getByAddress(a.start,a.normalized),d=a.startOffset,b=a.end&&this.document.getByAddress(a.end,a.normalized);a=a.endOffset;this.setStart(c,d);b?this.setEnd(b,a):this.collapse(!0)}else c=(d=a.serializable)?this.document.getById(a.startNode):a.startNode,a=d?this.document.getById(a.endNode): +a.endNode,this.setStartBefore(c),c.remove(),a?(this.setEndBefore(a),a.remove()):this.collapse(!0)},getBoundaryNodes:function(){var a=this.startContainer,c=this.endContainer,d=this.startOffset,b=this.endOffset,e;if(a.type==CKEDITOR.NODE_ELEMENT)if(e=a.getChildCount(),e>d)a=a.getChild(d);else if(1>e)a=a.getPreviousSourceNode();else{for(a=a.$;a.lastChild;)a=a.lastChild;a=new CKEDITOR.dom.node(a);a=a.getNextSourceNode()||a}if(c.type==CKEDITOR.NODE_ELEMENT)if(e=c.getChildCount(),e>b)c=c.getChild(b).getPreviousSourceNode(!0); +else if(1>e)c=c.getPreviousSourceNode();else{for(c=c.$;c.lastChild;)c=c.lastChild;c=new CKEDITOR.dom.node(c)}a.getPosition(c)&CKEDITOR.POSITION_FOLLOWING&&(a=c);return{startNode:a,endNode:c}},getCommonAncestor:function(a,c){var d=this.startContainer,b=this.endContainer,d=d.equals(b)?a&&d.type==CKEDITOR.NODE_ELEMENT&&this.startOffset==this.endOffset-1?d.getChild(this.startOffset):d:d.getCommonAncestor(b);return c&&!d.is?d.getParent():d},optimize:function(){var a=this.startContainer,c=this.startOffset; +a.type!=CKEDITOR.NODE_ELEMENT&&(c?c>=a.getLength()&&this.setStartAfter(a):this.setStartBefore(a));a=this.endContainer;c=this.endOffset;a.type!=CKEDITOR.NODE_ELEMENT&&(c?c>=a.getLength()&&this.setEndAfter(a):this.setEndBefore(a))},optimizeBookmark:function(){var a=this.startContainer,c=this.endContainer;a.is&&a.is("span")&&a.data("cke-bookmark")&&this.setStartAt(a,CKEDITOR.POSITION_BEFORE_START);c&&c.is&&c.is("span")&&c.data("cke-bookmark")&&this.setEndAt(c,CKEDITOR.POSITION_AFTER_END)},trim:function(a, +c){var d=this.startContainer,b=this.startOffset,e=this.collapsed;if((!a||e)&&d&&d.type==CKEDITOR.NODE_TEXT){if(b)if(b>=d.getLength())b=d.getIndex()+1,d=d.getParent();else{var f=d.split(b),b=d.getIndex()+1,d=d.getParent();this.startContainer.equals(this.endContainer)?this.setEnd(f,this.endOffset-this.startOffset):d.equals(this.endContainer)&&(this.endOffset+=1)}else b=d.getIndex(),d=d.getParent();this.setStart(d,b);if(e){this.collapse(!0);return}}d=this.endContainer;b=this.endOffset;c||e||!d||d.type!= +CKEDITOR.NODE_TEXT||(b?(b>=d.getLength()||d.split(b),b=d.getIndex()+1):b=d.getIndex(),d=d.getParent(),this.setEnd(d,b))},enlarge:function(a,c){function d(a){return a&&a.type==CKEDITOR.NODE_ELEMENT&&a.hasAttribute("contenteditable")?null:a}function b(a,g,c){var d=new CKEDITOR.dom.range(c);d.setStart(a,g);d.setEndAt(c,CKEDITOR.POSITION_BEFORE_END);c=new CKEDITOR.dom.walker(d);for(c.guard=function(a){return!(a.type==CKEDITOR.NODE_ELEMENT&&a.isBlockBoundary())};d=c.next();){if(d.type!=CKEDITOR.NODE_TEXT)return!1; +f=d!=a?d.getText():d.substring(g);if(e.test(f))return!1}return!0}var e=new RegExp(/[^\s\ufeff]/),f,k;switch(a){case CKEDITOR.ENLARGE_INLINE:var h=1;case CKEDITOR.ENLARGE_ELEMENT:if(this.collapsed)break;var l=this.getCommonAncestor();k=this.root;var m,v,t,y,C,D=!1,B;B=this.startContainer;var E=this.startOffset;B.type==CKEDITOR.NODE_TEXT?(E&&(B=!CKEDITOR.tools.trim(B.substring(0,E)).length&&B,D=!!B),B&&((y=B.getPrevious())||(t=B.getParent()))):(E&&(y=B.getChild(E-1)||B.getLast()),y||(t=B));for(t=d(t);t|| +y;){if(t&&!y){!C&&t.equals(l)&&(C=!0);if(h?t.isBlockBoundary():!k.contains(t))break;D&&"inline"==t.getComputedStyle("display")||(D=!1,C?m=t:this.setStartBefore(t));y=t.getPrevious()}for(;y;)if(B=!1,y.type==CKEDITOR.NODE_COMMENT)y=y.getPrevious();else{if(y.type==CKEDITOR.NODE_TEXT)f=y.getText(),e.test(f)&&(y=null),B=/[\s\ufeff]$/.test(f);else if((y.$.offsetWidth>(CKEDITOR.env.webkit?1:0)||c&&y.is("br"))&&!y.data("cke-bookmark"))if(D&&CKEDITOR.dtd.$removeEmpty[y.getName()]){f=y.getText();if(e.test(f))y= +null;else for(var E=y.$.getElementsByTagName("*"),H=0,L;L=E[H++];)if(!CKEDITOR.dtd.$removeEmpty[L.nodeName.toLowerCase()]){y=null;break}y&&(B=!!f.length)}else y=null;B&&(D?C?m=t:t&&this.setStartBefore(t):D=!0);if(y){B=y.getPrevious();if(!t&&!B){t=y;y=null;break}y=B}else t=null}t&&(t=d(t.getParent()))}B=this.endContainer;E=this.endOffset;t=y=null;C=D=!1;B.type==CKEDITOR.NODE_TEXT?CKEDITOR.tools.trim(B.substring(E)).length?D=!0:(D=!B.getLength(),E==B.getLength()?(y=B.getNext())||(t=B.getParent()):b(B, +E,k)&&(t=B.getParent())):(y=B.getChild(E))||(t=B);for(;t||y;){if(t&&!y){!C&&t.equals(l)&&(C=!0);if(h?t.isBlockBoundary():!k.contains(t))break;D&&"inline"==t.getComputedStyle("display")||(D=!1,C?v=t:t&&this.setEndAfter(t));y=t.getNext()}for(;y;){B=!1;if(y.type==CKEDITOR.NODE_TEXT)f=y.getText(),b(y,0,k)||(y=null),B=/^[\s\ufeff]/.test(f);else if(y.type==CKEDITOR.NODE_ELEMENT){if((0=k.getLength()?f.setStartAfter(k):(f.setStartBefore(k),d=0):f.setStartBefore(k));h&&h.type==CKEDITOR.NODE_TEXT&&(m?m>=h.getLength()?f.setEndAfter(h):(f.setEndAfter(h),v=0):f.setEndBefore(h));var f=new CKEDITOR.dom.walker(f),t=CKEDITOR.dom.walker.bookmark(),y=CKEDITOR.dom.walker.bogus();f.evaluator=function(c){return c.type==(a==CKEDITOR.SHRINK_ELEMENT?CKEDITOR.NODE_ELEMENT:CKEDITOR.NODE_TEXT)};var C;f.guard=function(c,d){if(e&&y(c)||t(c))return!0;if(a==CKEDITOR.SHRINK_ELEMENT&& +c.type==CKEDITOR.NODE_TEXT||d&&c.equals(C)||!1===b&&c.type==CKEDITOR.NODE_ELEMENT&&c.isBlockBoundary()||c.type==CKEDITOR.NODE_ELEMENT&&c.hasAttribute("contenteditable"))return!1;d||c.type!=CKEDITOR.NODE_ELEMENT||(C=c);return!0};d&&(k=f[a==CKEDITOR.SHRINK_ELEMENT?"lastForward":"next"]())&&this.setStartAt(k,c?CKEDITOR.POSITION_AFTER_START:CKEDITOR.POSITION_BEFORE_START);v&&(f.reset(),(f=f[a==CKEDITOR.SHRINK_ELEMENT?"lastBackward":"previous"]())&&this.setEndAt(f,c?CKEDITOR.POSITION_BEFORE_END:CKEDITOR.POSITION_AFTER_END)); +return!(!d&&!v)}},insertNode:function(a){this.optimizeBookmark();this.trim(!1,!0);var c=this.startContainer,d=c.getChild(this.startOffset);d?a.insertBefore(d):c.append(a);a.getParent()&&a.getParent().equals(this.endContainer)&&this.endOffset++;this.setStartBefore(a)},moveToPosition:function(a,c){this.setStartAt(a,c);this.collapse(!0)},moveToRange:function(a){this.setStart(a.startContainer,a.startOffset);this.setEnd(a.endContainer,a.endOffset)},selectNodeContents:function(a){this.setStart(a,0);this.setEnd(a, a.type==CKEDITOR.NODE_TEXT?a.getLength():a.getChildCount())},setStart:function(a,c){a.type==CKEDITOR.NODE_ELEMENT&&CKEDITOR.dtd.$empty[a.getName()]&&(c=a.getIndex(),a=a.getParent());this._setStartContainer(a);this.startOffset=c;this.endContainer||(this._setEndContainer(a),this.endOffset=c);b(this)},setEnd:function(a,c){a.type==CKEDITOR.NODE_ELEMENT&&CKEDITOR.dtd.$empty[a.getName()]&&(c=a.getIndex()+1,a=a.getParent());this._setEndContainer(a);this.endOffset=c;this.startContainer||(this._setStartContainer(a), this.startOffset=c);b(this)},setStartAfter:function(a){this.setStart(a.getParent(),a.getIndex()+1)},setStartBefore:function(a){this.setStart(a.getParent(),a.getIndex())},setEndAfter:function(a){this.setEnd(a.getParent(),a.getIndex()+1)},setEndBefore:function(a){this.setEnd(a.getParent(),a.getIndex())},setStartAt:function(a,c){switch(c){case CKEDITOR.POSITION_AFTER_START:this.setStart(a,0);break;case CKEDITOR.POSITION_BEFORE_END:a.type==CKEDITOR.NODE_TEXT?this.setStart(a,a.getLength()):this.setStart(a, a.getChildCount());break;case CKEDITOR.POSITION_BEFORE_START:this.setStartBefore(a);break;case CKEDITOR.POSITION_AFTER_END:this.setStartAfter(a)}b(this)},setEndAt:function(a,c){switch(c){case CKEDITOR.POSITION_AFTER_START:this.setEnd(a,0);break;case CKEDITOR.POSITION_BEFORE_END:a.type==CKEDITOR.NODE_TEXT?this.setEnd(a,a.getLength()):this.setEnd(a,a.getChildCount());break;case CKEDITOR.POSITION_BEFORE_START:this.setEndBefore(a);break;case CKEDITOR.POSITION_AFTER_END:this.setEndAfter(a)}b(this)},fixBlock:function(a, -c){var f=this.createBookmark(),e=this.document.createElement(c);this.collapse(a);this.enlarge(CKEDITOR.ENLARGE_BLOCK_CONTENTS);this.extractContents().appendTo(e);e.trim();this.insertNode(e);var b=e.getBogus();b&&b.remove();e.appendBogus();this.moveToBookmark(f);return e},splitBlock:function(a,c){var f=new CKEDITOR.dom.elementPath(this.startContainer,this.root),e=new CKEDITOR.dom.elementPath(this.endContainer,this.root),b=f.block,g=e.block,h=null;if(!f.blockLimit.equals(e.blockLimit))return null;"br"!= -a&&(b||(b=this.fixBlock(!0,a),g=(new CKEDITOR.dom.elementPath(this.endContainer,this.root)).block),g||(g=this.fixBlock(!1,a)));f=b&&this.checkStartOfBlock();e=g&&this.checkEndOfBlock();this.deleteContents();b&&b.equals(g)&&(e?(h=new CKEDITOR.dom.elementPath(this.startContainer,this.root),this.moveToPosition(g,CKEDITOR.POSITION_AFTER_END),g=null):f?(h=new CKEDITOR.dom.elementPath(this.startContainer,this.root),this.moveToPosition(b,CKEDITOR.POSITION_BEFORE_START),b=null):(g=this.splitElement(b,c|| -!1),b.is("ul","ol")||b.appendBogus()));return{previousBlock:b,nextBlock:g,wasStartOfBlock:f,wasEndOfBlock:e,elementPath:h}},splitElement:function(a,c){if(!this.collapsed)return null;this.setEndAt(a,CKEDITOR.POSITION_BEFORE_END);var f=this.extractContents(!1,c||!1),e=a.clone(!1,c||!1);f.appendTo(e);e.insertAfter(a);this.moveToPosition(a,CKEDITOR.POSITION_AFTER_END);return e},removeEmptyBlocksAtEnd:function(){function a(d){return function(a){return c(a)||f(a)||a.type==CKEDITOR.NODE_ELEMENT&&a.isEmptyInlineRemoveable()|| -d.is("table")&&a.is("caption")?!1:!0}}var c=CKEDITOR.dom.walker.whitespaces(),f=CKEDITOR.dom.walker.bookmark(!1);return function(c){for(var f=this.createBookmark(),e=this[c?"endPath":"startPath"](),b=e.block||e.blockLimit,g;b&&!b.equals(e.root)&&!b.getFirst(a(b));)g=b.getParent(),this[c?"setEndAt":"setStartAt"](b,CKEDITOR.POSITION_AFTER_END),b.remove(1),b=g;this.moveToBookmark(f)}}(),startPath:function(){return new CKEDITOR.dom.elementPath(this.startContainer,this.root)},endPath:function(){return new CKEDITOR.dom.elementPath(this.endContainer, -this.root)},checkBoundaryOfElement:function(a,c){var f=c==CKEDITOR.START,b=this.clone();b.collapse(f);b[f?"setStartAt":"setEndAt"](a,f?CKEDITOR.POSITION_AFTER_START:CKEDITOR.POSITION_BEFORE_END);b=new CKEDITOR.dom.walker(b);b.evaluator=e(f);return b[f?"checkBackward":"checkForward"]()},checkStartOfBlock:function(){var a=this.startContainer,c=this.startOffset;CKEDITOR.env.ie&&c&&a.type==CKEDITOR.NODE_TEXT&&(a=CKEDITOR.tools.ltrim(a.substring(0,c)),l.test(a)&&this.trim(0,1));this.trim();a=new CKEDITOR.dom.elementPath(this.startContainer, -this.root);c=this.clone();c.collapse(!0);c.setStartAt(a.block||a.blockLimit,CKEDITOR.POSITION_AFTER_START);a=new CKEDITOR.dom.walker(c);a.evaluator=g();return a.checkBackward()},checkEndOfBlock:function(){var a=this.endContainer,c=this.endOffset;CKEDITOR.env.ie&&a.type==CKEDITOR.NODE_TEXT&&(a=CKEDITOR.tools.rtrim(a.substring(c)),l.test(a)&&this.trim(1,0));this.trim();a=new CKEDITOR.dom.elementPath(this.endContainer,this.root);c=this.clone();c.collapse(!1);c.setEndAt(a.block||a.blockLimit,CKEDITOR.POSITION_BEFORE_END); -a=new CKEDITOR.dom.walker(c);a.evaluator=g();return a.checkForward()},getPreviousNode:function(a,c,f){var e=this.clone();e.collapse(1);e.setStartAt(f||this.root,CKEDITOR.POSITION_AFTER_START);f=new CKEDITOR.dom.walker(e);f.evaluator=a;f.guard=c;return f.previous()},getNextNode:function(a,c,f){var e=this.clone();e.collapse();e.setEndAt(f||this.root,CKEDITOR.POSITION_BEFORE_END);f=new CKEDITOR.dom.walker(e);f.evaluator=a;f.guard=c;return f.next()},checkReadOnly:function(){function a(d,c){for(;d;){if(d.type== -CKEDITOR.NODE_ELEMENT){if("false"==d.getAttribute("contentEditable")&&!d.data("cke-editable"))return 0;if(d.is("html")||"true"==d.getAttribute("contentEditable")&&(d.contains(c)||d.equals(c)))break}d=d.getParent()}return 1}return function(){var c=this.startContainer,f=this.endContainer;return!(a(c,f)&&a(f,c))}}(),moveToElementEditablePosition:function(a,c){if(a.type==CKEDITOR.NODE_ELEMENT&&!a.isEditable(!1))return this.moveToPosition(a,c?CKEDITOR.POSITION_AFTER_END:CKEDITOR.POSITION_BEFORE_START), -!0;for(var e=0;a;){if(a.type==CKEDITOR.NODE_TEXT){c&&this.endContainer&&this.checkEndOfBlock()&&l.test(a.getText())?this.moveToPosition(a,CKEDITOR.POSITION_BEFORE_START):this.moveToPosition(a,c?CKEDITOR.POSITION_AFTER_END:CKEDITOR.POSITION_BEFORE_START);e=1;break}if(a.type==CKEDITOR.NODE_ELEMENT)if(a.isEditable())this.moveToPosition(a,c?CKEDITOR.POSITION_BEFORE_END:CKEDITOR.POSITION_AFTER_START),e=1;else if(c&&a.is("br")&&this.endContainer&&this.checkEndOfBlock())this.moveToPosition(a,CKEDITOR.POSITION_BEFORE_START); -else if("false"==a.getAttribute("contenteditable")&&a.is(CKEDITOR.dtd.$block))return this.setStartBefore(a),this.setEndAfter(a),!0;var b=a,g=e,h=void 0;b.type==CKEDITOR.NODE_ELEMENT&&b.isEditable(!1)&&(h=b[c?"getLast":"getFirst"](f));g||h||(h=b[c?"getPrevious":"getNext"](f));a=h}return!!e},moveToClosestEditablePosition:function(a,c){var f,e=0,b,g,h=[CKEDITOR.POSITION_AFTER_END,CKEDITOR.POSITION_BEFORE_START];a?(f=new CKEDITOR.dom.range(this.root),f.moveToPosition(a,h[c?0:1])):f=this.clone();if(a&& -!a.is(CKEDITOR.dtd.$block))e=1;else if(b=f[c?"getNextEditableNode":"getPreviousEditableNode"]())e=1,(g=b.type==CKEDITOR.NODE_ELEMENT)&&b.is(CKEDITOR.dtd.$block)&&"false"==b.getAttribute("contenteditable")?(f.setStartAt(b,CKEDITOR.POSITION_BEFORE_START),f.setEndAt(b,CKEDITOR.POSITION_AFTER_END)):!CKEDITOR.env.needsBrFiller&&g&&b.is(CKEDITOR.dom.walker.validEmptyBlockContainers)?(f.setEnd(b,0),f.collapse()):f.moveToPosition(b,h[c?1:0]);e&&this.moveToRange(f);return!!e},moveToElementEditStart:function(a){return this.moveToElementEditablePosition(a)}, -moveToElementEditEnd:function(a){return this.moveToElementEditablePosition(a,!0)},getEnclosedNode:function(){var a=this.clone();a.optimize();if(a.startContainer.type!=CKEDITOR.NODE_ELEMENT||a.endContainer.type!=CKEDITOR.NODE_ELEMENT)return null;var a=new CKEDITOR.dom.walker(a),c=CKEDITOR.dom.walker.bookmark(!1,!0),f=CKEDITOR.dom.walker.whitespaces(!0);a.evaluator=function(a){return f(a)&&c(a)};var e=a.next();a.reset();return e&&e.equals(a.previous())?e:null},getTouchedStartNode:function(){var a=this.startContainer; -return this.collapsed||a.type!=CKEDITOR.NODE_ELEMENT?a:a.getChild(this.startOffset)||a},getTouchedEndNode:function(){var a=this.endContainer;return this.collapsed||a.type!=CKEDITOR.NODE_ELEMENT?a:a.getChild(this.endOffset-1)||a},getNextEditableNode:a(),getPreviousEditableNode:a(1),_getTableElement:function(a){a=a||{td:1,th:1,tr:1,tbody:1,thead:1,tfoot:1,table:1};var c=this.getTouchedStartNode(),f=this.getTouchedEndNode(),e=c.getAscendant("table",!0),f=f.getAscendant("table",!0);return e&&!this.root.contains(e)? -null:this.getEnclosedNode()?this.getEnclosedNode().getAscendant(a,!0):e&&f&&(e.equals(f)||e.contains(f)||f.contains(e))?c.getAscendant(a,!0):null},scrollIntoView:function(){var a=new CKEDITOR.dom.element.createFromHtml("\x3cspan\x3e\x26nbsp;\x3c/span\x3e",this.document),c,f,e,b=this.clone();b.optimize();(e=b.startContainer.type==CKEDITOR.NODE_TEXT)?(f=b.startContainer.getText(),c=b.startContainer.split(b.startOffset),a.insertAfter(b.startContainer)):b.insertNode(a);a.scrollIntoView();e&&(b.startContainer.setText(f), -c.remove());a.remove()},getClientRects:function(){function a(c,d){var f=CKEDITOR.tools.array.map(c,function(a){return a}),e=new CKEDITOR.dom.range(d.root),b,g,h;d.startContainer instanceof CKEDITOR.dom.element&&(g=0===d.startOffset&&d.startContainer.hasAttribute("data-widget"));d.endContainer instanceof CKEDITOR.dom.element&&(h=(h=d.endOffset===(d.endContainer.getChildCount?d.endContainer.getChildCount():d.endContainer.length))&&d.endContainer.hasAttribute("data-widget"));g&&e.setStart(d.startContainer.getParent(), -d.startContainer.getIndex());h&&e.setEnd(d.endContainer.getParent(),d.endContainer.getIndex()+1);if(g||h)d=e;e=d.cloneContents().find("[data-cke-widget-id]").toArray();if(e=CKEDITOR.tools.array.map(e,function(a){var c=d.root.editor;a=a.getAttribute("data-cke-widget-id");return c.widgets.instances[a].element}))return e=CKEDITOR.tools.array.map(e,function(a){var c;c=a.getParent().hasClass("cke_widget_wrapper")?a.getParent():a;b=this.root.getDocument().$.createRange();b.setStart(c.getParent().$,c.getIndex()); -b.setEnd(c.getParent().$,c.getIndex()+1);c=b.getClientRects();c.widgetRect=a.getClientRect();return c},d),CKEDITOR.tools.array.forEach(e,function(a){function c(e){CKEDITOR.tools.array.forEach(f,function(c,b){var g=CKEDITOR.tools.objectCompare(a[e],c);g||(g=CKEDITOR.tools.objectCompare(a.widgetRect,c));g&&(Array.prototype.splice.call(f,b,a.length-e,a.widgetRect),d=!0)});d||(earguments.length||(this.range=a,this.forceBrBreak=0,this.enlargeBr=1,this.enforceRealBlocks=0,this._|| -(this._={}))}function h(a){var c=[];a.forEach(function(a){if("true"==a.getAttribute("contenteditable"))return c.push(a),!1},CKEDITOR.NODE_ELEMENT,!0);return c}function g(a,c,e,b){a:{null==b&&(b=h(e));for(var k;k=b.shift();)if(k.getDtd().p){b={element:k,remaining:b};break a}b=null}if(!b)return 0;if((k=CKEDITOR.filter.instances[b.element.data("cke-filter")])&&!k.check(c))return g(a,c,e,b.remaining);c=new CKEDITOR.dom.range(b.element);c.selectNodeContents(b.element);c=c.createIterator();c.enlargeBr= -a.enlargeBr;c.enforceRealBlocks=a.enforceRealBlocks;c.activeFilter=c.filter=k;a._.nestedEditable={element:b.element,container:e,remaining:b.remaining,iterator:c};return 1}function e(a,c,e){if(!c)return!1;a=a.clone();a.collapse(!e);return a.checkBoundaryOfElement(c,e?CKEDITOR.START:CKEDITOR.END)}var a=/^[\r\n\t ]+$/,m=CKEDITOR.dom.walker.bookmark(!1,!0),k=CKEDITOR.dom.walker.whitespaces(!0),l=function(a){return m(a)&&k(a)},c={dd:1,dt:1,li:1};b.prototype={getNextParagraph:function(f){var d,b,h,k,q; -f=f||"p";if(this._.nestedEditable){if(d=this._.nestedEditable.iterator.getNextParagraph(f))return this.activeFilter=this._.nestedEditable.iterator.activeFilter,d;this.activeFilter=this.filter;if(g(this,f,this._.nestedEditable.container,this._.nestedEditable.remaining))return this.activeFilter=this._.nestedEditable.iterator.activeFilter,this._.nestedEditable.iterator.getNextParagraph(f);this._.nestedEditable=null}if(!this.range.root.getDtd()[f])return null;if(!this._.started){var r=this.range.clone(); -b=r.startPath();var p=r.endPath(),w=!r.collapsed&&e(r,b.block),t=!r.collapsed&&e(r,p.block,1);r.shrink(CKEDITOR.SHRINK_ELEMENT,!0);w&&r.setStartAt(b.block,CKEDITOR.POSITION_BEFORE_END);t&&r.setEndAt(p.block,CKEDITOR.POSITION_AFTER_START);b=r.endContainer.hasAscendant("pre",!0)||r.startContainer.hasAscendant("pre",!0);r.enlarge(this.forceBrBreak&&!b||!this.enlargeBr?CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS:CKEDITOR.ENLARGE_BLOCK_CONTENTS);r.collapsed||(b=new CKEDITOR.dom.walker(r.clone()),p=CKEDITOR.dom.walker.bookmark(!0, -!0),b.evaluator=p,this._.nextNode=b.next(),b=new CKEDITOR.dom.walker(r.clone()),b.evaluator=p,b=b.previous(),this._.lastNode=b.getNextSourceNode(!0,null,r.root),this._.lastNode&&this._.lastNode.type==CKEDITOR.NODE_TEXT&&!CKEDITOR.tools.trim(this._.lastNode.getText())&&this._.lastNode.getParent().isBlockBoundary()&&(p=this.range.clone(),p.moveToPosition(this._.lastNode,CKEDITOR.POSITION_AFTER_END),p.checkEndOfBlock()&&(p=new CKEDITOR.dom.elementPath(p.endContainer,p.root),this._.lastNode=(p.block|| -p.blockLimit).getNextSourceNode(!0))),this._.lastNode&&r.root.contains(this._.lastNode)||(this._.lastNode=this._.docEndMarker=r.document.createText(""),this._.lastNode.insertAfter(b)),r=null);this._.started=1;b=r}p=this._.nextNode;r=this._.lastNode;for(this._.nextNode=null;p;){var w=0,t=p.hasAscendant("pre"),z=p.type!=CKEDITOR.NODE_ELEMENT,u=0;if(z)p.type==CKEDITOR.NODE_TEXT&&a.test(p.getText())&&(z=0);else{var v=p.getName();if(CKEDITOR.dtd.$block[v]&&"false"==p.getAttribute("contenteditable")){d= -p;g(this,f,d);break}else if(p.isBlockBoundary(this.forceBrBreak&&!t&&{br:1})){if("br"==v)z=1;else if(!b&&!p.getChildCount()&&"hr"!=v){d=p;h=p.equals(r);break}b&&(b.setEndAt(p,CKEDITOR.POSITION_BEFORE_START),"br"!=v&&(this._.nextNode=p));w=1}else{if(p.getFirst()){b||(b=this.range.clone(),b.setStartAt(p,CKEDITOR.POSITION_BEFORE_START));p=p.getFirst();continue}z=1}}z&&!b&&(b=this.range.clone(),b.setStartAt(p,CKEDITOR.POSITION_BEFORE_START));h=(!w||z)&&p.equals(r);if(b&&!w)for(;!p.getNext(l)&&!h;){v= -p.getParent();if(v.isBlockBoundary(this.forceBrBreak&&!t&&{br:1})){w=1;z=0;h||v.equals(r);b.setEndAt(v,CKEDITOR.POSITION_BEFORE_END);break}p=v;z=1;h=p.equals(r);u=1}z&&b.setEndAt(p,CKEDITOR.POSITION_AFTER_END);p=this._getNextSourceNode(p,u,r);if((h=!p)||w&&b)break}if(!d){if(!b)return this._.docEndMarker&&this._.docEndMarker.remove(),this._.nextNode=null;d=new CKEDITOR.dom.elementPath(b.startContainer,b.root);p=d.blockLimit;w={div:1,th:1,td:1};d=d.block;!d&&p&&!this.enforceRealBlocks&&w[p.getName()]&& -b.checkStartOfBlock()&&b.checkEndOfBlock()&&!p.equals(b.root)?d=p:!d||this.enforceRealBlocks&&d.is(c)?(d=this.range.document.createElement(f),b.extractContents().appendTo(d),d.trim(),b.insertNode(d),k=q=!0):"li"!=d.getName()?b.checkStartOfBlock()&&b.checkEndOfBlock()||(d=d.clone(!1),b.extractContents().appendTo(d),d.trim(),q=b.splitBlock(),k=!q.wasStartOfBlock,q=!q.wasEndOfBlock,b.insertNode(d)):h||(this._.nextNode=d.equals(r)?null:this._getNextSourceNode(b.getBoundaryNodes().endNode,1,r))}k&&(k= -d.getPrevious())&&k.type==CKEDITOR.NODE_ELEMENT&&("br"==k.getName()?k.remove():k.getLast()&&"br"==k.getLast().$.nodeName.toLowerCase()&&k.getLast().remove());q&&(k=d.getLast())&&k.type==CKEDITOR.NODE_ELEMENT&&"br"==k.getName()&&(!CKEDITOR.env.needsBrFiller||k.getPrevious(m)||k.getNext(m))&&k.remove();this._.nextNode||(this._.nextNode=h||d.equals(r)||!r?null:this._getNextSourceNode(d,1,r));return d},_getNextSourceNode:function(a,c,e){function b(a){return!(a.equals(e)||a.equals(g))}var g=this.range.root; -for(a=a.getNextSourceNode(c,null,b);!m(a);)a=a.getNextSourceNode(c,null,b);return a}};CKEDITOR.dom.range.prototype.createIterator=function(){return new b(this)}})();CKEDITOR.command=function(b,h){this.uiItems=[];this.exec=function(e){if(this.state==CKEDITOR.TRISTATE_DISABLED||!this.checkAllowed())return!1;this.editorFocus&&b.focus();return!1===this.fire("exec")?!0:!1!==h.exec.call(this,b,e)};this.refresh=function(e,a){if(!this.readOnly&&e.readOnly)return!0;if(this.context&&!a.isContextFor(this.context)|| -!this.checkAllowed(!0))return this.disable(),!0;this.startDisabled||this.enable();this.modes&&!this.modes[e.mode]&&this.disable();return!1===this.fire("refresh",{editor:e,path:a})?!0:h.refresh&&!1!==h.refresh.apply(this,arguments)};var g;this.checkAllowed=function(e){return e||"boolean"!=typeof g?g=b.activeFilter.checkFeature(this):g};CKEDITOR.tools.extend(this,h,{modes:{wysiwyg:1},editorFocus:1,contextSensitive:!!h.context,state:CKEDITOR.TRISTATE_DISABLED});CKEDITOR.event.call(this)};CKEDITOR.command.prototype= +c){var d=this.createBookmark(),b=this.document.createElement(c);this.collapse(a);this.enlarge(CKEDITOR.ENLARGE_BLOCK_CONTENTS);this.extractContents().appendTo(b);b.trim();this.insertNode(b);var e=b.getBogus();e&&e.remove();b.appendBogus();this.moveToBookmark(d);return b},splitBlock:function(a,c){var d=new CKEDITOR.dom.elementPath(this.startContainer,this.root),b=new CKEDITOR.dom.elementPath(this.endContainer,this.root),e=d.block,f=b.block,k=null;if(!d.blockLimit.equals(b.blockLimit))return null;"br"!= +a&&(e||(e=this.fixBlock(!0,a),f=(new CKEDITOR.dom.elementPath(this.endContainer,this.root)).block),f||(f=this.fixBlock(!1,a)));d=e&&this.checkStartOfBlock();b=f&&this.checkEndOfBlock();this.deleteContents();e&&e.equals(f)&&(b?(k=new CKEDITOR.dom.elementPath(this.startContainer,this.root),this.moveToPosition(f,CKEDITOR.POSITION_AFTER_END),f=null):d?(k=new CKEDITOR.dom.elementPath(this.startContainer,this.root),this.moveToPosition(e,CKEDITOR.POSITION_BEFORE_START),e=null):(f=this.splitElement(e,c|| +!1),e.is("ul","ol")||e.appendBogus()));return{previousBlock:e,nextBlock:f,wasStartOfBlock:d,wasEndOfBlock:b,elementPath:k}},splitElement:function(a,c){if(!this.collapsed)return null;this.setEndAt(a,CKEDITOR.POSITION_BEFORE_END);var d=this.extractContents(!1,c||!1),b=a.clone(!1,c||!1);d.appendTo(b);b.insertAfter(a);this.moveToPosition(a,CKEDITOR.POSITION_AFTER_END);return b},removeEmptyBlocksAtEnd:function(){function a(g){return function(a){return c(a)||d(a)||a.type==CKEDITOR.NODE_ELEMENT&&a.isEmptyInlineRemoveable()|| +g.is("table")&&a.is("caption")?!1:!0}}var c=CKEDITOR.dom.walker.whitespaces(),d=CKEDITOR.dom.walker.bookmark(!1);return function(c){for(var d=this.createBookmark(),b=this[c?"endPath":"startPath"](),e=b.block||b.blockLimit,f;e&&!e.equals(b.root)&&!e.getFirst(a(e));)f=e.getParent(),this[c?"setEndAt":"setStartAt"](e,CKEDITOR.POSITION_AFTER_END),e.remove(1),e=f;this.moveToBookmark(d)}}(),startPath:function(){return new CKEDITOR.dom.elementPath(this.startContainer,this.root)},endPath:function(){return new CKEDITOR.dom.elementPath(this.endContainer, +this.root)},checkBoundaryOfElement:function(a,c){var d=c==CKEDITOR.START,b=this.clone();b.collapse(d);b[d?"setStartAt":"setEndAt"](a,d?CKEDITOR.POSITION_AFTER_START:CKEDITOR.POSITION_BEFORE_END);b=new CKEDITOR.dom.walker(b);b.evaluator=e(d);return b[d?"checkBackward":"checkForward"]()},checkStartOfBlock:function(a){var c=this.startContainer,d=this.startOffset;CKEDITOR.env.ie&&d&&c.type==CKEDITOR.NODE_TEXT&&(c=CKEDITOR.tools.ltrim(c.substring(0,d)),m.test(c)&&this.trim(0,1));a||this.trim();a=new CKEDITOR.dom.elementPath(this.startContainer, +this.root);c=this.clone();c.collapse(!0);c.setStartAt(a.block||a.blockLimit,CKEDITOR.POSITION_AFTER_START);a=new CKEDITOR.dom.walker(c);a.evaluator=f();return a.checkBackward()},checkEndOfBlock:function(a){var c=this.endContainer,d=this.endOffset;CKEDITOR.env.ie&&c.type==CKEDITOR.NODE_TEXT&&(c=CKEDITOR.tools.rtrim(c.substring(d)),m.test(c)&&this.trim(1,0));a||this.trim();a=new CKEDITOR.dom.elementPath(this.endContainer,this.root);c=this.clone();c.collapse(!1);c.setEndAt(a.block||a.blockLimit,CKEDITOR.POSITION_BEFORE_END); +a=new CKEDITOR.dom.walker(c);a.evaluator=f();return a.checkForward()},getPreviousNode:function(a,c,d){var b=this.clone();b.collapse(1);b.setStartAt(d||this.root,CKEDITOR.POSITION_AFTER_START);d=new CKEDITOR.dom.walker(b);d.evaluator=a;d.guard=c;return d.previous()},getNextNode:function(a,c,d){var b=this.clone();b.collapse();b.setEndAt(d||this.root,CKEDITOR.POSITION_BEFORE_END);d=new CKEDITOR.dom.walker(b);d.evaluator=a;d.guard=c;return d.next()},checkReadOnly:function(){function a(c,g){for(;c;){if(c.type== +CKEDITOR.NODE_ELEMENT){if("false"==c.getAttribute("contentEditable")&&!c.data("cke-editable"))return 0;if(c.is("html")||"true"==c.getAttribute("contentEditable")&&(c.contains(g)||c.equals(g)))break}c=c.getParent()}return 1}return function(){var c=this.startContainer,d=this.endContainer;return!(a(c,d)&&a(d,c))}}(),moveToElementEditablePosition:function(a,c){if(a.type==CKEDITOR.NODE_ELEMENT&&!a.isEditable(!1))return this.moveToPosition(a,c?CKEDITOR.POSITION_AFTER_END:CKEDITOR.POSITION_BEFORE_START), +!0;for(var b=0;a;){if(a.type==CKEDITOR.NODE_TEXT){c&&this.endContainer&&this.checkEndOfBlock()&&m.test(a.getText())?this.moveToPosition(a,CKEDITOR.POSITION_BEFORE_START):this.moveToPosition(a,c?CKEDITOR.POSITION_AFTER_END:CKEDITOR.POSITION_BEFORE_START);b=1;break}if(a.type==CKEDITOR.NODE_ELEMENT)if(a.isEditable())this.moveToPosition(a,c?CKEDITOR.POSITION_BEFORE_END:CKEDITOR.POSITION_AFTER_START),b=1;else if(c&&a.is("br")&&this.endContainer&&this.checkEndOfBlock())this.moveToPosition(a,CKEDITOR.POSITION_BEFORE_START); +else if("false"==a.getAttribute("contenteditable")&&a.is(CKEDITOR.dtd.$block))return this.setStartBefore(a),this.setEndAfter(a),!0;var e=a,f=b,k=void 0;e.type==CKEDITOR.NODE_ELEMENT&&e.isEditable(!1)&&(k=e[c?"getLast":"getFirst"](d));f||k||(k=e[c?"getPrevious":"getNext"](d));a=k}return!!b},moveToClosestEditablePosition:function(a,c){var d,b=0,e,f,k=[CKEDITOR.POSITION_AFTER_END,CKEDITOR.POSITION_BEFORE_START];a?(d=new CKEDITOR.dom.range(this.root),d.moveToPosition(a,k[c?0:1])):d=this.clone();if(a&& +!a.is(CKEDITOR.dtd.$block))b=1;else if(e=d[c?"getNextEditableNode":"getPreviousEditableNode"]())b=1,(f=e.type==CKEDITOR.NODE_ELEMENT)&&e.is(CKEDITOR.dtd.$block)&&"false"==e.getAttribute("contenteditable")?(d.setStartAt(e,CKEDITOR.POSITION_BEFORE_START),d.setEndAt(e,CKEDITOR.POSITION_AFTER_END)):!CKEDITOR.env.needsBrFiller&&f&&e.is(CKEDITOR.dom.walker.validEmptyBlockContainers)?(d.setEnd(e,0),d.collapse()):d.moveToPosition(e,k[c?1:0]);b&&this.moveToRange(d);return!!b},moveToElementEditStart:function(a){return this.moveToElementEditablePosition(a)}, +moveToElementEditEnd:function(a){return this.moveToElementEditablePosition(a,!0)},getEnclosedNode:function(){var a=this.clone();a.optimize();if(a.startContainer.type!=CKEDITOR.NODE_ELEMENT||a.endContainer.type!=CKEDITOR.NODE_ELEMENT)return null;var a=new CKEDITOR.dom.walker(a),c=CKEDITOR.dom.walker.bookmark(!1,!0),d=CKEDITOR.dom.walker.whitespaces(!0);a.evaluator=function(a){return d(a)&&c(a)};var b=a.next();a.reset();return b&&b.equals(a.previous())?b:null},getTouchedStartNode:function(){var a=this.startContainer; +return this.collapsed||a.type!=CKEDITOR.NODE_ELEMENT?a:a.getChild(this.startOffset)||a},getTouchedEndNode:function(){var a=this.endContainer;return this.collapsed||a.type!=CKEDITOR.NODE_ELEMENT?a:a.getChild(this.endOffset-1)||a},getNextEditableNode:a(),getPreviousEditableNode:a(1),_getTableElement:function(a){a=a||{td:1,th:1,tr:1,tbody:1,thead:1,tfoot:1,table:1};var c=this.getTouchedStartNode(),d=this.getTouchedEndNode(),b=c.getAscendant("table",!0),d=d.getAscendant("table",!0);return b&&!this.root.contains(b)? +null:this.getEnclosedNode()?this.getEnclosedNode().getAscendant(a,!0):b&&d&&(b.equals(d)||b.contains(d)||d.contains(b))?c.getAscendant(a,!0):null},scrollIntoView:function(){var a=new CKEDITOR.dom.element.createFromHtml("\x3cspan\x3e\x26nbsp;\x3c/span\x3e",this.document),c,d,b,e=this.clone();e.optimize();(b=e.startContainer.type==CKEDITOR.NODE_TEXT)?(d=e.startContainer.getText(),c=e.startContainer.split(e.startOffset),a.insertAfter(e.startContainer)):e.insertNode(a);a.scrollIntoView();b&&(e.startContainer.setText(d), +c.remove());a.remove()},getClientRects:function(){function a(c,d){var g=CKEDITOR.tools.array.map(c,function(a){return a}),b=new CKEDITOR.dom.range(d.root),e,f,k;d.startContainer instanceof CKEDITOR.dom.element&&(f=0===d.startOffset&&d.startContainer.hasAttribute("data-widget"));d.endContainer instanceof CKEDITOR.dom.element&&(k=(k=d.endOffset===(d.endContainer.getChildCount?d.endContainer.getChildCount():d.endContainer.length))&&d.endContainer.hasAttribute("data-widget"));f&&b.setStart(d.startContainer.getParent(), +d.startContainer.getIndex());k&&b.setEnd(d.endContainer.getParent(),d.endContainer.getIndex()+1);if(f||k)d=b;b=d.cloneContents().find("[data-cke-widget-id]").toArray();if(b=CKEDITOR.tools.array.map(b,function(a){var c=d.root.editor;a=a.getAttribute("data-cke-widget-id");return c.widgets.instances[a].element}))return b=CKEDITOR.tools.array.map(b,function(a){var c;c=a.getParent().hasClass("cke_widget_wrapper")?a.getParent():a;e=this.root.getDocument().$.createRange();e.setStart(c.getParent().$,c.getIndex()); +e.setEnd(c.getParent().$,c.getIndex()+1);c=e.getClientRects();c.widgetRect=a.getClientRect();return c},d),CKEDITOR.tools.array.forEach(b,function(a){function c(b){CKEDITOR.tools.array.forEach(g,function(c,e){var f=CKEDITOR.tools.objectCompare(a[b],c);f||(f=CKEDITOR.tools.objectCompare(a.widgetRect,c));f&&(Array.prototype.splice.call(g,e,a.length-b,a.widgetRect),d=!0)});d||(barguments.length||(this.range=a,this.forceBrBreak=0,this.enlargeBr=1,this.enforceRealBlocks=0,this._|| +(this._={}))}function h(a){var c=[];a.forEach(function(a){if("true"==a.getAttribute("contenteditable"))return c.push(a),!1},CKEDITOR.NODE_ELEMENT,!0);return c}function f(a,c,b,e){a:{null==e&&(e=h(b));for(var k;k=e.shift();)if(k.getDtd().p){e={element:k,remaining:e};break a}e=null}if(!e)return 0;if((k=CKEDITOR.filter.instances[e.element.data("cke-filter")])&&!k.check(c))return f(a,c,b,e.remaining);c=new CKEDITOR.dom.range(e.element);c.selectNodeContents(e.element);c=c.createIterator();c.enlargeBr= +a.enlargeBr;c.enforceRealBlocks=a.enforceRealBlocks;c.activeFilter=c.filter=k;a._.nestedEditable={element:e.element,container:b,remaining:e.remaining,iterator:c};return 1}function e(a,c,b){if(!c)return!1;a=a.clone();a.collapse(!b);return a.checkBoundaryOfElement(c,b?CKEDITOR.START:CKEDITOR.END)}var a=/^[\r\n\t ]+$/,k=CKEDITOR.dom.walker.bookmark(!1,!0),l=CKEDITOR.dom.walker.whitespaces(!0),m=function(a){return k(a)&&l(a)},c={dd:1,dt:1,li:1};b.prototype={getNextParagraph:function(d){var g,b,h,l,p; +d=d||"p";if(this._.nestedEditable){if(g=this._.nestedEditable.iterator.getNextParagraph(d))return this.activeFilter=this._.nestedEditable.iterator.activeFilter,g;this.activeFilter=this.filter;if(f(this,d,this._.nestedEditable.container,this._.nestedEditable.remaining))return this.activeFilter=this._.nestedEditable.iterator.activeFilter,this._.nestedEditable.iterator.getNextParagraph(d);this._.nestedEditable=null}if(!this.range.root.getDtd()[d])return null;if(!this._.started){var q=this.range.clone(); +b=q.startPath();var u=q.endPath(),z=!q.collapsed&&e(q,b.block),r=!q.collapsed&&e(q,u.block,1);q.shrink(CKEDITOR.SHRINK_ELEMENT,!0);z&&q.setStartAt(b.block,CKEDITOR.POSITION_BEFORE_END);r&&q.setEndAt(u.block,CKEDITOR.POSITION_AFTER_START);b=q.endContainer.hasAscendant("pre",!0)||q.startContainer.hasAscendant("pre",!0);q.enlarge(this.forceBrBreak&&!b||!this.enlargeBr?CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS:CKEDITOR.ENLARGE_BLOCK_CONTENTS);q.collapsed||(b=new CKEDITOR.dom.walker(q.clone()),u=CKEDITOR.dom.walker.bookmark(!0, +!0),b.evaluator=u,this._.nextNode=b.next(),b=new CKEDITOR.dom.walker(q.clone()),b.evaluator=u,b=b.previous(),this._.lastNode=b.getNextSourceNode(!0,null,q.root),this._.lastNode&&this._.lastNode.type==CKEDITOR.NODE_TEXT&&!CKEDITOR.tools.trim(this._.lastNode.getText())&&this._.lastNode.getParent().isBlockBoundary()&&(u=this.range.clone(),u.moveToPosition(this._.lastNode,CKEDITOR.POSITION_AFTER_END),u.checkEndOfBlock()&&(u=new CKEDITOR.dom.elementPath(u.endContainer,u.root),this._.lastNode=(u.block|| +u.blockLimit).getNextSourceNode(!0))),this._.lastNode&&q.root.contains(this._.lastNode)||(this._.lastNode=this._.docEndMarker=q.document.createText(""),this._.lastNode.insertAfter(b)),q=null);this._.started=1;b=q}u=this._.nextNode;q=this._.lastNode;for(this._.nextNode=null;u;){var z=0,r=u.hasAscendant("pre"),A=u.type!=CKEDITOR.NODE_ELEMENT,v=0;if(A)u.type==CKEDITOR.NODE_TEXT&&a.test(u.getText())&&(A=0);else{var t=u.getName();if(CKEDITOR.dtd.$block[t]&&"false"==u.getAttribute("contenteditable")){g= +u;f(this,d,g);break}else if(u.isBlockBoundary(this.forceBrBreak&&!r&&{br:1})){if("br"==t)A=1;else if(!b&&!u.getChildCount()&&"hr"!=t){g=u;h=u.equals(q);break}b&&(b.setEndAt(u,CKEDITOR.POSITION_BEFORE_START),"br"!=t&&(this._.nextNode=u));z=1}else{if(u.getFirst()){b||(b=this.range.clone(),b.setStartAt(u,CKEDITOR.POSITION_BEFORE_START));u=u.getFirst();continue}A=1}}A&&!b&&(b=this.range.clone(),b.setStartAt(u,CKEDITOR.POSITION_BEFORE_START));h=(!z||A)&&u.equals(q);if(b&&!z)for(;!u.getNext(m)&&!h;){t= +u.getParent();if(t.isBlockBoundary(this.forceBrBreak&&!r&&{br:1})){z=1;A=0;h||t.equals(q);b.setEndAt(t,CKEDITOR.POSITION_BEFORE_END);break}u=t;A=1;h=u.equals(q);v=1}A&&b.setEndAt(u,CKEDITOR.POSITION_AFTER_END);u=this._getNextSourceNode(u,v,q);if((h=!u)||z&&b)break}if(!g){if(!b)return this._.docEndMarker&&this._.docEndMarker.remove(),this._.nextNode=null;g=new CKEDITOR.dom.elementPath(b.startContainer,b.root);u=g.blockLimit;z={div:1,th:1,td:1};g=g.block;!g&&u&&!this.enforceRealBlocks&&z[u.getName()]&& +b.checkStartOfBlock()&&b.checkEndOfBlock()&&!u.equals(b.root)?g=u:!g||this.enforceRealBlocks&&g.is(c)?(g=this.range.document.createElement(d),b.extractContents().appendTo(g),g.trim(),b.insertNode(g),l=p=!0):"li"!=g.getName()?b.checkStartOfBlock()&&b.checkEndOfBlock()||(g=g.clone(!1),b.extractContents().appendTo(g),g.trim(),p=b.splitBlock(),l=!p.wasStartOfBlock,p=!p.wasEndOfBlock,b.insertNode(g)):h||(this._.nextNode=g.equals(q)?null:this._getNextSourceNode(b.getBoundaryNodes().endNode,1,q))}l&&(l= +g.getPrevious())&&l.type==CKEDITOR.NODE_ELEMENT&&("br"==l.getName()?l.remove():l.getLast()&&"br"==l.getLast().$.nodeName.toLowerCase()&&l.getLast().remove());p&&(l=g.getLast())&&l.type==CKEDITOR.NODE_ELEMENT&&"br"==l.getName()&&(!CKEDITOR.env.needsBrFiller||l.getPrevious(k)||l.getNext(k))&&l.remove();this._.nextNode||(this._.nextNode=h||g.equals(q)||!q?null:this._getNextSourceNode(g,1,q));return g},_getNextSourceNode:function(a,c,b){function e(a){return!(a.equals(b)||a.equals(f))}var f=this.range.root; +for(a=a.getNextSourceNode(c,null,e);!k(a);)a=a.getNextSourceNode(c,null,e);return a}};CKEDITOR.dom.range.prototype.createIterator=function(){return new b(this)}}(),CKEDITOR.command=function(b,h){this.uiItems=[];this.exec=function(e){if(this.state==CKEDITOR.TRISTATE_DISABLED||!this.checkAllowed())return!1;this.editorFocus&&b.focus();return!1===this.fire("exec")?!0:!1!==h.exec.call(this,b,e)};this.refresh=function(b,a){if(!this.readOnly&&b.readOnly)return!0;if(this.context&&!a.isContextFor(this.context)|| +!this.checkAllowed(!0))return this.disable(),!0;this.startDisabled||this.enable();this.modes&&!this.modes[b.mode]&&this.disable();return!1===this.fire("refresh",{editor:b,path:a})?!0:h.refresh&&!1!==h.refresh.apply(this,arguments)};var f;this.checkAllowed=function(e){return e||"boolean"!=typeof f?f=b.activeFilter.checkFeature(this):f};CKEDITOR.tools.extend(this,h,{modes:{wysiwyg:1},editorFocus:1,contextSensitive:!!h.context,state:CKEDITOR.TRISTATE_DISABLED});CKEDITOR.event.call(this)},CKEDITOR.command.prototype= {enable:function(){this.state==CKEDITOR.TRISTATE_DISABLED&&this.checkAllowed()&&this.setState(this.preserveState&&"undefined"!=typeof this.previousState?this.previousState:CKEDITOR.TRISTATE_OFF)},disable:function(){this.setState(CKEDITOR.TRISTATE_DISABLED)},setState:function(b){if(this.state==b||b!=CKEDITOR.TRISTATE_DISABLED&&!this.checkAllowed())return!1;this.previousState=this.state;this.state=b;this.fire("state");return!0},toggleState:function(){this.state==CKEDITOR.TRISTATE_OFF?this.setState(CKEDITOR.TRISTATE_ON): -this.state==CKEDITOR.TRISTATE_ON&&this.setState(CKEDITOR.TRISTATE_OFF)}};CKEDITOR.event.implementOn(CKEDITOR.command.prototype);CKEDITOR.ENTER_P=1;CKEDITOR.ENTER_BR=2;CKEDITOR.ENTER_DIV=3;CKEDITOR.config={customConfig:"config.js",autoUpdateElement:!0,language:"",defaultLanguage:"en",contentsLangDirection:"",enterMode:CKEDITOR.ENTER_P,forceEnterMode:!1,shiftEnterMode:CKEDITOR.ENTER_BR,docType:"\x3c!DOCTYPE html\x3e",bodyId:"",bodyClass:"",fullPage:!1,height:200,contentsCss:CKEDITOR.getUrl("contents.css"), -extraPlugins:"",removePlugins:"",protectedSource:[],tabIndex:0,width:"",baseFloatZIndex:1E4,blockedKeystrokes:[CKEDITOR.CTRL+66,CKEDITOR.CTRL+73,CKEDITOR.CTRL+85]};(function(){function b(a,c,d,f,e){var b,g;a=[];for(b in c){g=c[b];g="boolean"==typeof g?{}:"function"==typeof g?{match:g}:I(g);"$"!=b.charAt(0)&&(g.elements=b);d&&(g.featureName=d.toLowerCase());var h=g;h.elements=k(h.elements,/\s+/)||null;h.propertiesOnly=h.propertiesOnly||!0===h.elements;var n=/\s*,\s*/,v=void 0;for(v in M){h[v]=k(h[v], -n)||null;var p=h,m=H[v],l=k(h[H[v]],n),D=h[v],O=[],r=!0,y=void 0;l?r=!1:l={};for(y in D)"!"==y.charAt(0)&&(y=y.slice(1),O.push(y),l[y]=!0,r=!1);for(;y=O.pop();)D[y]=D["!"+y],delete D["!"+y];p[m]=(r?!1:l)||null}h.match=h.match||null;f.push(g);a.push(g)}c=e.elements;e=e.generic;var t;d=0;for(f=a.length;d=--l&&(m&&CKEDITOR.document.getDocumentElement().removeStyle("cursor"),d(e))},y=function(a,c){b[a]=1;var d=h[a];delete h[a];for(var f=0;f=CKEDITOR.env.version||CKEDITOR.env.ie9Compat)?d.$.onreadystatechange=function(){if("loaded"==d.$.readyState||"complete"==d.$.readyState)d.$.onreadystatechange=null,y(a,!0)}:(d.$.onload=function(){setTimeout(function(){d.$.onload=null;d.$.onerror=null;y(a,!0)},0)},d.$.onerror=function(){d.$.onload=null;d.$.onerror=null;y(a,!1)}));d.appendTo(CKEDITOR.document.getHead())}}};m&&CKEDITOR.document.getDocumentElement().setStyle("cursor","wait");for(var q=0;q]+)>)|(?:!--([\S|\s]*?)--\x3e)|(?:([^\/\s>]+)((?:\s+[\w\-:.]+(?:\s*=\s*?(?:(?:"[^"]*")|(?:'[^']*')|[^\s"'\/>]+))?)*)[\S\s]*?(\/?)>))/g}}; -(function(){var b=/([\w\-:.]+)(?:(?:\s*=\s*(?:(?:"([^"]*)")|(?:'([^']*)')|([^\s>]+)))|(?=\s|$))/g,h={checked:1,compact:1,declare:1,defer:1,disabled:1,ismap:1,multiple:1,nohref:1,noresize:1,noshade:1,nowrap:1,readonly:1,selected:1};CKEDITOR.htmlParser.prototype={onTagOpen:function(){},onTagClose:function(){},onText:function(){},onCDATA:function(){},onComment:function(){},parse:function(g){for(var e,a,m=0,k;e=this._.htmlPartsRegex.exec(g);){a=e.index;if(a>m)if(m=g.substring(m,a),k)k.push(m);else this.onText(m); -m=this._.htmlPartsRegex.lastIndex;if(a=e[1])if(a=a.toLowerCase(),k&&CKEDITOR.dtd.$cdata[a]&&(this.onCDATA(k.join("")),k=null),!k){this.onTagClose(a);continue}if(k)k.push(e[0]);else if(a=e[3]){if(a=a.toLowerCase(),!/="/.test(a)){var l={},c,f=e[4];e=!!e[5];if(f)for(;c=b.exec(f);){var d=c[1].toLowerCase();c=c[2]||c[3]||c[4]||"";l[d]=!c&&h[d]?d:CKEDITOR.tools.htmlDecodeAttr(c)}this.onTagOpen(a,l,e);!k&&CKEDITOR.dtd.$cdata[a]&&(k=[])}}else if(a=e[2])this.onComment(a)}if(g.length>m)this.onText(g.substring(m, -g.length))}}})();CKEDITOR.htmlParser.basicWriter=CKEDITOR.tools.createClass({$:function(){this._={output:[]}},proto:{openTag:function(b){this._.output.push("\x3c",b)},openTagClose:function(b,h){h?this._.output.push(" /\x3e"):this._.output.push("\x3e")},attribute:function(b,h){"string"==typeof h&&(h=CKEDITOR.tools.htmlEncodeAttr(h));this._.output.push(" ",b,'\x3d"',h,'"')},closeTag:function(b){this._.output.push("\x3c/",b,"\x3e")},text:function(b){this._.output.push(b)},comment:function(b){this._.output.push("\x3c!--", -b,"--\x3e")},write:function(b){this._.output.push(b)},reset:function(){this._.output=[];this._.indent=!1},getHtml:function(b){var h=this._.output.join("");b&&this.reset();return h}}});"use strict";(function(){CKEDITOR.htmlParser.node=function(){};CKEDITOR.htmlParser.node.prototype={remove:function(){var b=this.parent.children,h=CKEDITOR.tools.indexOf(b,this),g=this.previous,e=this.next;g&&(g.next=e);e&&(e.previous=g);b.splice(h,1);this.parent=null},replaceWith:function(b){var h=this.parent.children, -g=CKEDITOR.tools.indexOf(h,this),e=b.previous=this.previous,a=b.next=this.next;e&&(e.next=b);a&&(a.previous=b);h[g]=b;b.parent=this.parent;this.parent=null},insertAfter:function(b){var h=b.parent.children,g=CKEDITOR.tools.indexOf(h,b),e=b.next;h.splice(g+1,0,this);this.next=b.next;this.previous=b;b.next=this;e&&(e.previous=this);this.parent=b.parent},insertBefore:function(b){var h=b.parent.children,g=CKEDITOR.tools.indexOf(h,b);h.splice(g,0,this);this.next=b;(this.previous=b.previous)&&(b.previous.next= -this);b.previous=this;this.parent=b.parent},getAscendant:function(b){var h="function"==typeof b?b:"string"==typeof b?function(e){return e.name==b}:function(e){return e.name in b},g=this.parent;for(;g&&g.type==CKEDITOR.NODE_ELEMENT;){if(h(g))return g;g=g.parent}return null},wrapWith:function(b){this.replaceWith(b);b.add(this);return b},getIndex:function(){return CKEDITOR.tools.indexOf(this.parent.children,this)},getFilterContext:function(b){return b||{}}}})();"use strict";CKEDITOR.htmlParser.comment= -function(b){this.value=b;this._={isBlockLike:!1}};CKEDITOR.htmlParser.comment.prototype=CKEDITOR.tools.extend(new CKEDITOR.htmlParser.node,{type:CKEDITOR.NODE_COMMENT,filter:function(b,h){var g=this.value;if(!(g=b.onComment(h,g,this)))return this.remove(),!1;if("string"!=typeof g)return this.replaceWith(g),!1;this.value=g;return!0},writeHtml:function(b,h){h&&this.filter(h);b.comment(this.value)}});"use strict";(function(){CKEDITOR.htmlParser.text=function(b){this.value=b;this._={isBlockLike:!1}}; -CKEDITOR.htmlParser.text.prototype=CKEDITOR.tools.extend(new CKEDITOR.htmlParser.node,{type:CKEDITOR.NODE_TEXT,filter:function(b,h){if(!(this.value=b.onText(h,this.value,this)))return this.remove(),!1},writeHtml:function(b,h){h&&this.filter(h);b.text(this.value)}})})();"use strict";(function(){CKEDITOR.htmlParser.cdata=function(b){this.value=b};CKEDITOR.htmlParser.cdata.prototype=CKEDITOR.tools.extend(new CKEDITOR.htmlParser.node,{type:CKEDITOR.NODE_TEXT,filter:function(){},writeHtml:function(b){b.write(this.value)}})})(); -"use strict";CKEDITOR.htmlParser.fragment=function(){this.children=[];this.parent=null;this._={isBlockLike:!0,hasInlineStarted:!1}};(function(){function b(a){return a.attributes["data-cke-survive"]?!1:"a"==a.name&&a.attributes.href||CKEDITOR.dtd.$removeEmpty[a.name]}var h=CKEDITOR.tools.extend({table:1,ul:1,ol:1,dl:1},CKEDITOR.dtd.table,CKEDITOR.dtd.ul,CKEDITOR.dtd.ol,CKEDITOR.dtd.dl),g={ol:1,ul:1},e=CKEDITOR.tools.extend({},{html:1},CKEDITOR.dtd.html,CKEDITOR.dtd.body,CKEDITOR.dtd.head,{style:1, -script:1}),a={ul:"li",ol:"li",dl:"dd",table:"tbody",tbody:"tr",thead:"tr",tfoot:"tr",tr:"td"};CKEDITOR.htmlParser.fragment.fromHtml=function(m,k,l){function c(a){var c;if(0k;k++)if(h=a[k]){h=h.exec(b,e,this);if(!1===h)return null;if(h&&h!=e)return this.onNode(b,h);if(e.parent&&!e.name)break}return e},onNode:function(b,e){var a=e.type;return a==CKEDITOR.NODE_ELEMENT?this.onElement(b,e):a==CKEDITOR.NODE_TEXT?new CKEDITOR.htmlParser.text(this.onText(b,e.value,e)):a==CKEDITOR.NODE_COMMENT?new CKEDITOR.htmlParser.comment(this.onComment(b,e.value,e)):null},onAttribute:function(b,e,a,h){return(a=this.attributesRules[a])?a.exec(b,h,e,this):h}}}); -CKEDITOR.htmlParser.filterRulesGroup=b;b.prototype={add:function(b,e,a){this.rules.splice(this.findIndex(e),0,{value:b,priority:e,options:a})},addMany:function(b,e,a){for(var h=[this.findIndex(e),0],k=0,l=b.length;k/g,"\x26gt;")+"\x3c/textarea\x3e");return"\x3ccke:encoded\x3e"+encodeURIComponent(a)+"\x3c/cke:encoded\x3e"})}function n(a){return a.replace(H,function(a,c){return decodeURIComponent(c)})}function y(a){return a.replace(/\x3c!--(?!{cke_protected})[\s\S]+?--\x3e/g, -function(a){return"\x3c!--"+t+"{C}"+encodeURIComponent(a).replace(/--/g,"%2D%2D")+"--\x3e"})}function x(a){return a.replace(/\x3c!--\{cke_protected\}\{C\}([\s\S]+?)--\x3e/g,function(a,c){return decodeURIComponent(c)})}function q(a,c){var d=c._.dataStore;return a.replace(/\x3c!--\{cke_protected\}([\s\S]+?)--\x3e/g,function(a,c){return decodeURIComponent(c)}).replace(/\{cke_protected_(\d+)\}/g,function(a,c){return d&&d[c]||""})}function r(a,c){var d=[],f=c.config.protectedSource,e=c._.dataStore||(c._.dataStore= -{id:1}),b=/<\!--\{cke_temp(comment)?\}(\d*?)--\x3e/g,f=[/|$)/gi,//gi,//gi].concat(f);a=a.replace(/\x3c!--[\s\S]*?--\x3e/g,function(a){return"\x3c!--{cke_tempcomment}"+(d.push(a)-1)+"--\x3e"});for(var g=0;g]+\s*=\s*(?:[^'"\s>]+|'[^']*'|"[^"]*"))|[^\s=\/>]+))+\s*\/?>/g,function(a){return a.replace(/\x3c!--\{cke_protected\}([^>]*)--\x3e/g,function(a,c){e[e.id]=decodeURIComponent(c);return"{cke_protected_"+e.id++ +"}"})});return a=a.replace(/<(title|iframe|textarea)([^>]*)>([\s\S]*?)<\/\1>/g,function(a,d,f,e){return"\x3c"+d+f+"\x3e"+q(x(e),c)+"\x3c/"+d+"\x3e"})}var p;CKEDITOR.htmlDataProcessor=function(a){var c, -e,g=this;this.editor=a;this.dataFilter=c=new CKEDITOR.htmlParser.filter;this.htmlFilter=e=new CKEDITOR.htmlParser.filter;this.writer=new CKEDITOR.htmlParser.basicWriter;c.addRules(C);c.addRules(E,{applyToAll:!0});c.addRules(b(a,"data"),{applyToAll:!0});e.addRules(A);e.addRules(B,{applyToAll:!0});e.addRules(b(a,"html"),{applyToAll:!0});a.on("toHtml",function(c){c=c.data;var e=c.dataValue,b,e=p(e),e=r(e,a),e=d(e,M),e=f(e),e=d(e,F),e=e.replace(J,"$1cke:$2"),e=e.replace(K,"\x3ccke:$1$2\x3e\x3c/cke:$1\x3e"), -e=e.replace(/(]*>)(\r\n|\n)/g,"$1$2$2"),e=e.replace(/([^a-z0-9<\-])(on\w{3,})(?!>)/gi,"$1data-cke-"+CKEDITOR.rnd+"-$2");b=c.context||a.editable().getName();var g;CKEDITOR.env.ie&&9>CKEDITOR.env.version&&"pre"==b&&(b="div",e="\x3cpre\x3e"+e+"\x3c/pre\x3e",g=1);b=a.document.createElement(b);b.setHtml("a"+e);e=b.getHtml().substr(1);e=e.replace(new RegExp("data-cke-"+CKEDITOR.rnd+"-","ig"),"");g&&(e=e.replace(/^
|<\/pre>$/gi,""));e=e.replace(D,"$1$2");e=n(e);e=x(e);b=!1===c.fixForBody?!1:
-h(c.enterMode,a.config.autoParagraph);e=CKEDITOR.htmlParser.fragment.fromHtml(e,c.context,b);b&&(g=e,!g.children.length&&CKEDITOR.dtd[g.name][b]&&(b=new CKEDITOR.htmlParser.element(b),g.add(b)));c.dataValue=e},null,null,5);a.on("toHtml",function(c){c.data.filter.applyTo(c.data.dataValue,!0,c.data.dontFilter,c.data.enterMode)&&a.fire("dataFiltered")},null,null,6);a.on("toHtml",function(a){a.data.dataValue.filterChildren(g.dataFilter,!0)},null,null,10);a.on("toHtml",function(a){a=a.data;var c=a.dataValue,
-d=new CKEDITOR.htmlParser.basicWriter;c.writeChildrenHtml(d);c=d.getHtml(!0);a.dataValue=y(c)},null,null,15);a.on("toDataFormat",function(c){var d=c.data.dataValue;c.data.enterMode!=CKEDITOR.ENTER_BR&&(d=d.replace(/^
/i,""));c.data.dataValue=CKEDITOR.htmlParser.fragment.fromHtml(d,c.data.context,h(c.data.enterMode,a.config.autoParagraph))},null,null,5);a.on("toDataFormat",function(a){a.data.dataValue.filterChildren(g.htmlFilter,!0)},null,null,10);a.on("toDataFormat",function(a){a.data.filter.applyTo(a.data.dataValue, -!1,!0)},null,null,11);a.on("toDataFormat",function(c){var d=c.data.dataValue,f=g.writer;f.reset();d.writeChildrenHtml(f);d=f.getHtml(!0);d=x(d);d=q(d,a);c.data.dataValue=d},null,null,15)};CKEDITOR.htmlDataProcessor.prototype={toHtml:function(a,c,d,f){var e=this.editor,b,g,h,n;c&&"object"==typeof c?(b=c.context,d=c.fixForBody,f=c.dontFilter,g=c.filter,h=c.enterMode,n=c.protectedWhitespaces):b=c;b||null===b||(b=e.editable().getName());return e.fire("toHtml",{dataValue:a,context:b,fixForBody:d,dontFilter:f, -filter:g||e.filter,enterMode:h||e.enterMode,protectedWhitespaces:n}).dataValue},toDataFormat:function(a,c){var d,f,e;c&&(d=c.context,f=c.filter,e=c.enterMode);d||null===d||(d=this.editor.editable().getName());return this.editor.fire("toDataFormat",{dataValue:a,filter:f||this.editor.filter,context:d,enterMode:e||this.editor.enterMode}).dataValue}};var w=/(?: |\xa0)$/,t="{cke_protected}",z=CKEDITOR.dtd,u="caption colgroup col thead tfoot tbody".split(" "),v=CKEDITOR.tools.extend({},z.$blockLimit, -z.$block),C={elements:{input:l,textarea:l}},E={attributeNames:[[/^on/,"data-cke-pa-on"],[/^srcdoc/,"data-cke-pa-srcdoc"],[/^data-cke-expando$/,""]],elements:{iframe:function(a){if(a.attributes&&a.attributes.src){var c=a.attributes.src.toLowerCase().replace(/[^a-z]/gi,"");if(0===c.indexOf("javascript")||0===c.indexOf("data"))a.attributes["data-cke-pa-src"]=a.attributes.src,delete a.attributes.src}}}},A={elements:{embed:function(a){var c=a.parent;if(c&&"object"==c.name){var d=c.attributes.width,c=c.attributes.height; -d&&(a.attributes.width=d);c&&(a.attributes.height=c)}},a:function(a){var c=a.attributes;if(!(a.children.length||c.name||c.id||a.attributes["data-cke-saved-name"]))return!1}}},B={elementNames:[[/^cke:/,""],[/^\?xml:namespace$/,""]],attributeNames:[[/^data-cke-(saved|pa)-/,""],[/^data-cke-.*/,""],["hidefocus",""]],elements:{$:function(a){var c=a.attributes;if(c){if(c["data-cke-temp"])return!1;for(var d=["name","href","src"],f,e=0;ef?1:-1})},param:function(a){a.children=[];a.isEmpty=!0;return a},span:function(a){"Apple-style-span"==a.attributes["class"]&&delete a.name},html:function(a){delete a.attributes.contenteditable;delete a.attributes["class"]},body:function(a){delete a.attributes.spellcheck; -delete a.attributes.contenteditable},style:function(a){var c=a.children[0];c&&c.value&&(c.value=CKEDITOR.tools.trim(c.value));a.attributes.type||(a.attributes.type="text/css")},title:function(a){var c=a.children[0];!c&&k(a,c=new CKEDITOR.htmlParser.text);c.value=a.attributes["data-cke-title"]||""},input:c,textarea:c},attributes:{"class":function(a){return CKEDITOR.tools.ltrim(a.replace(/(?:^|\s+)cke_[^\s]*/g,""))||!1}}};CKEDITOR.env.ie&&(B.attributes.style=function(a){return a.replace(/(^|;)([^\:]+)/g, -function(a){return a.toLowerCase()})});var G=/<(a|area|img|input|source)\b([^>]*)>/gi,I=/([\w-:]+)\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|(?:[^ "'>]+))/gi,L=/^(href|src|name)$/i,F=/(?:])[^>]*>[\s\S]*?<\/style>)|(?:<(:?link|meta|base)[^>]*>)/gi,M=/(])[^>]*>)([\s\S]*?)(?:<\/textarea>)/gi,H=/([^<]*)<\/cke:encoded>/gi,J=/(<\/?)((?:object|embed|param|html|body|head|title)([\s][^>]*)?>)/gi,D=/(<\/?)cke:((?:html|body|head|title)[^>]*>)/gi,K=/]*?)\/?>(?!\s*<\/cke:\1)/gi; -p=function(){function a(d){return CKEDITOR.tools.array.reduce(d.split(""),function(a,d){var f=d.toLowerCase(),e=d.toUpperCase(),b=c(f);f!==e&&(b+="|"+c(e));return a+("("+b+")")},"")}function c(a){var d;d=a.charCodeAt(0);var f=d.toString(16);d={htmlCode:"\x26#"+d+";?",hex:"\x26#x0*"+f+";?",entity:{"\x3c":"\x26lt;","\x3e":"\x26gt;",":":"\x26colon;"}[a]};for(var e in d)d[e]&&(a+="|"+d[e]);return a}var d=new RegExp("("+a("\x3ccke:encoded\x3e")+"(.*?)"+a("\x3c/cke:encoded\x3e")+")|("+a("\x3c")+a("/")+ -"?"+a("cke:encoded\x3e")+")","gi"),f=new RegExp("(("+a("{cke_protected")+")(_[0-9]*)?"+a("}")+")","gi");return function(a){return a.replace(d,"").replace(f,"")}}()})();"use strict";CKEDITOR.htmlParser.element=function(b,h){this.name=b;this.attributes=h||{};this.children=[];var g=b||"",e=g.match(/^cke:(.*)/);e&&(g=e[1]);g=!!(CKEDITOR.dtd.$nonBodyContent[g]||CKEDITOR.dtd.$block[g]||CKEDITOR.dtd.$listItem[g]||CKEDITOR.dtd.$tableContent[g]||CKEDITOR.dtd.$nonEditable[g]||"br"==g);this.isEmpty=!!CKEDITOR.dtd.$empty[b]; -this.isUnknown=!CKEDITOR.dtd[b];this._={isBlockLike:g,hasInlineStarted:this.isEmpty||!g}};CKEDITOR.htmlParser.cssStyle=function(b){var h={};((b instanceof CKEDITOR.htmlParser.element?b.attributes.style:b)||"").replace(/"/g,'"').replace(/\s*([^ :;]+)\s*:\s*([^;]+)\s*(?=;|$)/g,function(b,e,a){"font-family"==e&&(a=a.replace(/["']/g,""));h[e.toLowerCase()]=a});return{rules:h,populate:function(b){var e=this.toString();e&&(b instanceof CKEDITOR.dom.element?b.setAttribute("style",e):b instanceof CKEDITOR.htmlParser.element? -b.attributes.style=e:b.style=e)},toString:function(){var b=[],e;for(e in h)h[e]&&b.push(e,":",h[e],";");return b.join("")}}};(function(){function b(e){return function(a){return a.type==CKEDITOR.NODE_ELEMENT&&("string"==typeof e?a.name==e:a.name in e)}}var h=function(e,a){e=e[0];a=a[0];return ea?1:0},g=CKEDITOR.htmlParser.fragment.prototype;CKEDITOR.htmlParser.element.prototype=CKEDITOR.tools.extend(new CKEDITOR.htmlParser.node,{type:CKEDITOR.NODE_ELEMENT,add:g.add,clone:function(){return new CKEDITOR.htmlParser.element(this.name, -this.attributes)},filter:function(e,a){var b=this,g,h;a=b.getFilterContext(a);if(!b.parent)e.onRoot(a,b);for(;;){g=b.name;if(!(h=e.onElementName(a,g)))return this.remove(),!1;b.name=h;if(!(b=e.onElement(a,b)))return this.remove(),!1;if(b!==this)return this.replaceWith(b),!1;if(b.name==g)break;if(b.type!=CKEDITOR.NODE_ELEMENT)return this.replaceWith(b),!1;if(!b.name)return this.replaceWithChildren(),!1}g=b.attributes;var c,f;for(c in g){for(h=g[c];;)if(f=e.onAttributeName(a,c))if(f!=c)delete g[c], -c=f;else break;else{delete g[c];break}f&&(!1===(h=e.onAttribute(a,b,f,h))?delete g[f]:g[f]=h)}b.isEmpty||this.filterChildren(e,!1,a);return!0},filterChildren:g.filterChildren,writeHtml:function(e,a){a&&this.filter(a);var b=this.name,g=[],l=this.attributes,c,f;e.openTag(b,l);for(c in l)g.push([c,l[c]]);e.sortAttributes&&g.sort(h);c=0;for(f=g.length;cCKEDITOR.env.version||CKEDITOR.env.quirks))this.hasFocus&&(this.focus(),c());else if(this.hasFocus)this.focus(),a();else this.once("focus",function(){a()},null,null,-999)},getHtmlFromRange:function(a){if(a.collapsed)return new CKEDITOR.dom.documentFragment(a.document);a={doc:this.getDocument(),range:a.clone()};z.eol.detect(a,this);z.bogus.exclude(a);z.cell.shrink(a);a.fragment=a.range.cloneContents(); -z.tree.rebuild(a,this);z.eol.fix(a,this);return new CKEDITOR.dom.documentFragment(a.fragment.$)},extractHtmlFromRange:function(a,c){var d=u,b={range:a,doc:a.document},f=this.getHtmlFromRange(a);if(a.collapsed)return a.optimize(),f;a.enlarge(CKEDITOR.ENLARGE_INLINE,1);d.table.detectPurge(b);b.bookmark=a.createBookmark();delete b.range;var e=this.editor.createRange();e.moveToPosition(b.bookmark.startNode,CKEDITOR.POSITION_BEFORE_START);b.targetBookmark=e.createBookmark();d.list.detectMerge(b,this); -d.table.detectRanges(b,this);d.block.detectMerge(b,this);b.tableContentsRanges?(d.table.deleteRanges(b),a.moveToBookmark(b.bookmark),b.range=a):(a.moveToBookmark(b.bookmark),b.range=a,a.extractContents(d.detectExtractMerge(b)));a.moveToBookmark(b.targetBookmark);a.optimize();d.fixUneditableRangePosition(a);d.list.merge(b,this);d.table.purge(b,this);d.block.merge(b,this);if(c){d=a.startPath();if(b=a.checkStartOfBlock()&&a.checkEndOfBlock()&&d.block&&!a.root.equals(d.block)){a:{var b=d.block.getElementsByTag("span"), -e=0,g;if(b)for(;g=b.getItem(e++);)if(!y(g)){b=!0;break a}b=!1}b=!b}b&&(a.moveToPosition(d.block,CKEDITOR.POSITION_BEFORE_START),d.block.remove())}else d.autoParagraph(this.editor,a),x(a.startContainer)&&a.startContainer.appendBogus();a.startContainer.mergeSiblings();return f},setup:function(){var a=this.editor;this.attachListener(a,"beforeGetData",function(){var c=this.getData();this.is("textarea")||!1!==a.config.ignoreEmptyParagraph&&(c=c.replace(r,function(a,c){return c}));a.setData(c,null,1)}, -this);this.attachListener(a,"getSnapshot",function(a){a.data=this.getData(1)},this);this.attachListener(a,"afterSetData",function(){this.setData(a.getData(1))},this);this.attachListener(a,"loadSnapshot",function(a){this.setData(a.data,1)},this);this.attachListener(a,"beforeFocus",function(){var c=a.getSelection();(c=c&&c.getNative())&&"Control"==c.type||this.focus()},this);this.attachListener(a,"insertHtml",function(a){this.insertHtml(a.data.dataValue,a.data.mode,a.data.range)},this);this.attachListener(a, -"insertElement",function(a){this.insertElement(a.data)},this);this.attachListener(a,"insertText",function(a){this.insertText(a.data)},this);this.setReadOnly(a.readOnly);this.attachClass("cke_editable");a.elementMode==CKEDITOR.ELEMENT_MODE_INLINE?this.attachClass("cke_editable_inline"):a.elementMode!=CKEDITOR.ELEMENT_MODE_REPLACE&&a.elementMode!=CKEDITOR.ELEMENT_MODE_APPENDTO||this.attachClass("cke_editable_themed");this.attachClass("cke_contents_"+a.config.contentsLangDirection);a.keystrokeHandler.blockedKeystrokes[8]= -+a.readOnly;a.keystrokeHandler.attach(this);this.on("blur",function(){this.hasFocus=!1},null,null,-1);this.on("focus",function(){this.hasFocus=!0},null,null,-1);if(CKEDITOR.env.webkit)this.on("scroll",function(){a._.previousScrollTop=a.editable().$.scrollTop},null,null,-1);if(CKEDITOR.env.edge&&14CKEDITOR.env.version?k.$.styleSheet.cssText=h:k.setText(h)):(h=b.appendStyleText(h),h=new CKEDITOR.dom.element(h.ownerNode||h.owningElement),f.setCustomData("stylesheet",h),h.data("cke-temp",1))}f=b.getCustomData("stylesheet_ref")||0;b.setCustomData("stylesheet_ref",f+1);this.setCustomData("cke_includeReadonly",!a.config.disableReadonlyStyling);this.attachListener(this,"click",function(a){a=a.data;var c= -(new CKEDITOR.dom.elementPath(a.getTarget(),this)).contains("a");c&&2!=a.$.button&&c.isReadOnly()&&a.preventDefault()});var l={8:1,46:1};this.attachListener(a,"key",function(c){if(a.readOnly)return!0;var d=c.data.domEvent.getKey(),b;c=a.getSelection();if(0!==c.getRanges().length){if(d in l){var f,e=c.getRanges()[0],g=e.startPath(),h,k,p,d=8==d;CKEDITOR.env.ie&&11>CKEDITOR.env.version&&(f=c.getSelectedElement())||(f=m(c))?(a.fire("saveSnapshot"),e.moveToPosition(f,CKEDITOR.POSITION_BEFORE_START),f.remove(), -e.select(),a.fire("saveSnapshot"),b=1):e.collapsed&&((h=g.block)&&(p=h[d?"getPrevious":"getNext"](n))&&p.type==CKEDITOR.NODE_ELEMENT&&p.is("table")&&e[d?"checkStartOfBlock":"checkEndOfBlock"]()?(a.fire("saveSnapshot"),e[d?"checkEndOfBlock":"checkStartOfBlock"]()&&h.remove(),e["moveToElementEdit"+(d?"End":"Start")](p),e.select(),a.fire("saveSnapshot"),b=1):g.blockLimit&&g.blockLimit.is("td")&&(k=g.blockLimit.getAscendant("table"))&&e.checkBoundaryOfElement(k,d?CKEDITOR.START:CKEDITOR.END)&&(p=k[d? -"getPrevious":"getNext"](n))?(a.fire("saveSnapshot"),e["moveToElementEdit"+(d?"End":"Start")](p),e.checkStartOfBlock()&&e.checkEndOfBlock()?p.remove():e.select(),a.fire("saveSnapshot"),b=1):(k=g.contains(["td","th","caption"]))&&e.checkBoundaryOfElement(k,d?CKEDITOR.START:CKEDITOR.END)&&(b=1))}return!b}});a.blockless&&CKEDITOR.env.ie&&CKEDITOR.env.needsBrFiller&&this.attachListener(this,"keyup",function(c){c.data.getKeystroke()in l&&!this.getFirst(e)&&(this.appendBogus(),c=a.createRange(),c.moveToPosition(this, -CKEDITOR.POSITION_AFTER_START),c.select())});this.attachListener(this,"dblclick",function(c){if(a.readOnly)return!1;c={element:c.data.getTarget()};a.fire("doubleclick",c)});CKEDITOR.env.ie&&this.attachListener(this,"click",g);CKEDITOR.env.ie&&!CKEDITOR.env.edge||this.attachListener(this,"mousedown",function(c){var d=c.data.getTarget();d.is("img","hr","input","textarea","select")&&!d.isReadOnly()&&(a.getSelection().selectElement(d),d.is("input","textarea","select")&&c.data.preventDefault())});CKEDITOR.env.edge&& -this.attachListener(this,"mouseup",function(c){(c=c.data.getTarget())&&c.is("img")&&!c.isReadOnly()&&a.getSelection().selectElement(c)});CKEDITOR.env.gecko&&this.attachListener(this,"mouseup",function(c){if(2==c.data.$.button&&(c=c.data.getTarget(),!c.getAscendant("table")&&!c.getOuterHtml().replace(r,""))){var d=a.createRange();d.moveToElementEditStart(c);d.select(!0)}});CKEDITOR.env.webkit&&(this.attachListener(this,"click",function(a){a.data.getTarget().is("input","select")&&a.data.preventDefault()}), -this.attachListener(this,"mouseup",function(a){a.data.getTarget().is("input","textarea")&&a.data.preventDefault()}));CKEDITOR.env.webkit&&this.attachListener(a,"key",function(c){if(a.readOnly)return!0;var b=c.data.domEvent.getKey();if(b in l&&(c=a.getSelection(),0!==c.getRanges().length)){var b=8==b,f=c.getRanges()[0];c=f.startPath();if(f.collapsed)a:{var e=c.block;if(e&&f[b?"checkStartOfBlock":"checkEndOfBlock"]()&&f.moveToClosestEditablePosition(e,!b)&&f.collapsed){if(f.startContainer.type==CKEDITOR.NODE_ELEMENT){var g= -f.startContainer.getChild(f.startOffset-(b?1:0));if(g&&g.type==CKEDITOR.NODE_ELEMENT&&g.is("hr")){a.fire("saveSnapshot");g.remove();c=!0;break a}}f=f.startPath().block;if(!f||f&&f.contains(e))c=void 0;else{a.fire("saveSnapshot");var h;(h=(b?f:e).getBogus())&&h.remove();h=a.getSelection();g=h.createBookmarks();(b?e:f).moveChildren(b?f:e,!1);c.lastElement.mergeSiblings();d(e,f,!b);h.selectBookmarks(g);c=!0}}else c=!1}else b=f,h=c.block,f=b.endPath().block,h&&f&&!h.equals(f)?(a.fire("saveSnapshot"), -(e=h.getBogus())&&e.remove(),b.enlarge(CKEDITOR.ENLARGE_INLINE),b.deleteContents(),f.getParent()&&(f.moveChildren(h,!1),c.lastElement.mergeSiblings(),d(h,f,!0)),b=a.getSelection().getRanges()[0],b.collapse(1),b.optimize(),""===b.startContainer.getHtml()&&b.startContainer.appendBogus(),b.select(),c=!0):c=!1;if(!c)return;a.getSelection().scrollIntoView();a.fire("saveSnapshot");return!1}},this,null,100)}},getUniqueId:function(){var a;try{this._.expandoNumber=a=CKEDITOR.dom.domObject.prototype.getUniqueId.call(this)}catch(c){a= -this._&&this._.expandoNumber}return a}},_:{cleanCustomData:function(){this.removeClass("cke_editable");this.restoreAttrs();for(var a=this.removeCustomData("classes");a&&a.length;)this.removeClass(a.pop());if(!this.is("textarea")){var a=this.getDocument(),c=a.getHead();if(c.getCustomData("stylesheet")){var d=a.getCustomData("stylesheet_ref");--d?a.setCustomData("stylesheet_ref",d):(a.removeCustomData("stylesheet_ref"),c.removeCustomData("stylesheet").remove())}}}}});CKEDITOR.editor.prototype.editable= -function(a){var c=this._.editable;if(c&&a)return 0;if(!arguments.length)return c;a?c=a instanceof CKEDITOR.editable?a:new CKEDITOR.editable(this,a):(c&&c.detach(),c=null);return this._.editable=c};CKEDITOR.on("instanceLoaded",function(a){var c=a.editor;c.on("insertElement",function(a){a=a.data;a.type==CKEDITOR.NODE_ELEMENT&&(a.is("input")||a.is("textarea"))&&("false"!=a.getAttribute("contentEditable")&&a.data("cke-editable",a.hasAttribute("contenteditable")?"true":"1"),a.setAttribute("contentEditable", -!1))});c.on("selectionChange",function(a){if(!c.readOnly){var d=c.getSelection();d&&!d.isLocked&&(d=c.checkDirty(),c.fire("lockSnapshot"),b(a),c.fire("unlockSnapshot"),!d&&c.resetDirty())}})});CKEDITOR.on("instanceCreated",function(a){var c=a.editor;c.on("mode",function(){var a=c.editable();if(a&&a.isInline()){var d=c.title;a.changeAttr("role","textbox");a.changeAttr("aria-multiline","true");a.changeAttr("aria-label",d);d&&a.changeAttr("title",d);var b=c.fire("ariaEditorHelpLabel",{}).label;if(b&& -(d=this.ui.space(this.elementMode==CKEDITOR.ELEMENT_MODE_INLINE?"top":"contents"))){var f=CKEDITOR.tools.getNextId(),b=CKEDITOR.dom.element.createFromHtml('\x3cspan id\x3d"'+f+'" class\x3d"cke_voice_label"\x3e'+b+"\x3c/span\x3e");d.append(b);a.changeAttr("aria-describedby",f)}}})});CKEDITOR.addCss(".cke_editable{cursor:text}.cke_editable img,.cke_editable input,.cke_editable textarea{cursor:default}");n=CKEDITOR.dom.walker.whitespaces(!0);y=CKEDITOR.dom.walker.bookmark(!1,!0);x=CKEDITOR.dom.walker.empty(); -q=CKEDITOR.dom.walker.bogus();r=/(^|]*>)\s*<(p|div|address|h\d|center|pre)[^>]*>\s*(?:]*>| |\u00A0| )?\s*(:?<\/\2>)?\s*(?=$|<\/body>)/gi;p=function(){function a(c){return c.type==CKEDITOR.NODE_ELEMENT}function d(c,b){var f,e,g,h,n=[],k=b.range.startContainer;f=b.range.startPath();for(var k=m[k.getName()],l=0,p=c.getChildren(),r=p.count(),y=-1,t=-1,u=0,G=f.contains(m.$list);lCKEDITOR.env.version&&b.getChildCount()&&b.getFirst().remove())}return function(b){var f=b.startContainer,e=f.getAscendant("table",1),g=!1;d(e.getElementsByTag("td"));d(e.getElementsByTag("th"));e=b.clone();e.setStart(f,0);e= -a(e).lastBackward();e||(e=b.clone(),e.setEndAt(f,CKEDITOR.POSITION_BEFORE_END),e=a(e).lastForward(),g=!0);e||(e=f);e.is("table")?(b.setStartAt(e,CKEDITOR.POSITION_BEFORE_START),b.collapse(!0),e.remove()):(e.is({tbody:1,thead:1,tfoot:1})&&(e=c(e,"tr",g)),e.is("tr")&&(e=c(e,e.getParent().is("thead")?"th":"td",g)),(f=e.getBogus())&&f.remove(),b.moveToPosition(e,g?CKEDITOR.POSITION_AFTER_START:CKEDITOR.POSITION_BEFORE_END))}}();t=function(){function a(c){c=new CKEDITOR.dom.walker(c);c.guard=function(a, -c){if(c)return!1;if(a.type==CKEDITOR.NODE_ELEMENT)return a.is(CKEDITOR.dtd.$list)||a.is(CKEDITOR.dtd.$listItem)};c.evaluator=function(a){return a.type==CKEDITOR.NODE_ELEMENT&&a.is(CKEDITOR.dtd.$listItem)};return c}return function(c){var d=c.startContainer,b=!1,f;f=c.clone();f.setStart(d,0);f=a(f).lastBackward();f||(f=c.clone(),f.setEndAt(d,CKEDITOR.POSITION_BEFORE_END),f=a(f).lastForward(),b=!0);f||(f=d);f.is(CKEDITOR.dtd.$list)?(c.setStartAt(f,CKEDITOR.POSITION_BEFORE_START),c.collapse(!0),f.remove()): -((d=f.getBogus())&&d.remove(),c.moveToPosition(f,b?CKEDITOR.POSITION_AFTER_START:CKEDITOR.POSITION_BEFORE_END),c.select())}}();z={eol:{detect:function(a,c){var d=a.range,b=d.clone(),f=d.clone(),e=new CKEDITOR.dom.elementPath(d.startContainer,c),g=new CKEDITOR.dom.elementPath(d.endContainer,c);b.collapse(1);f.collapse();e.block&&b.checkBoundaryOfElement(e.block,CKEDITOR.END)&&(d.setStartAfter(e.block),a.prependEolBr=1);g.block&&f.checkBoundaryOfElement(g.block,CKEDITOR.START)&&(d.setEndBefore(g.block), -a.appendEolBr=1)},fix:function(a,c){var d=c.getDocument(),b;a.appendEolBr&&(b=this.createEolBr(d),a.fragment.append(b));!a.prependEolBr||b&&!b.getPrevious()||a.fragment.append(this.createEolBr(d),1)},createEolBr:function(a){return a.createElement("br",{attributes:{"data-cke-eol":1}})}},bogus:{exclude:function(a){var c=a.range.getBoundaryNodes(),d=c.startNode,c=c.endNode;!c||!q(c)||d&&d.equals(c)||a.range.setEndBefore(c)}},tree:{rebuild:function(a,c){var d=a.range,b=d.getCommonAncestor(),f=new CKEDITOR.dom.elementPath(b, -c),e=new CKEDITOR.dom.elementPath(d.startContainer,c),d=new CKEDITOR.dom.elementPath(d.endContainer,c),g;b.type==CKEDITOR.NODE_TEXT&&(b=b.getParent());if(f.blockLimit.is({tr:1,table:1})){var h=f.contains("table").getParent();g=function(a){return!a.equals(h)}}else if(f.block&&f.block.is(CKEDITOR.dtd.$listItem)&&(e=e.contains(CKEDITOR.dtd.$list),d=d.contains(CKEDITOR.dtd.$list),!e.equals(d))){var n=f.contains(CKEDITOR.dtd.$list).getParent();g=function(a){return!a.equals(n)}}g||(g=function(a){return!a.equals(f.block)&& -!a.equals(f.blockLimit)});this.rebuildFragment(a,c,b,g)},rebuildFragment:function(a,c,d,b){for(var f;d&&!d.equals(c)&&b(d);)f=d.clone(0,1),a.fragment.appendTo(f),a.fragment=f,d=d.getParent()}},cell:{shrink:function(a){a=a.range;var c=a.startContainer,d=a.endContainer,b=a.startOffset,f=a.endOffset;c.type==CKEDITOR.NODE_ELEMENT&&c.equals(d)&&c.is("tr")&&++b==f&&a.shrink(CKEDITOR.SHRINK_TEXT)}}};u=function(){function a(c,d){var b=c.getParent();if(b.is(CKEDITOR.dtd.$inline))c[d?"insertBefore":"insertAfter"](b)} -function c(d,b,f){a(b);a(f,1);for(var e;e=f.getNext();)e.insertAfter(b),b=e;x(d)&&d.remove()}function d(a,c){var b=new CKEDITOR.dom.range(a);b.setStartAfter(c.startNode);b.setEndBefore(c.endNode);return b}return{list:{detectMerge:function(a,c){var b=d(c,a.bookmark),f=b.startPath(),e=b.endPath(),g=f.contains(CKEDITOR.dtd.$list),h=e.contains(CKEDITOR.dtd.$list);a.mergeList=g&&h&&g.getParent().equals(h.getParent())&&!g.equals(h);a.mergeListItems=f.block&&e.block&&f.block.is(CKEDITOR.dtd.$listItem)&& -e.block.is(CKEDITOR.dtd.$listItem);if(a.mergeList||a.mergeListItems)b=b.clone(),b.setStartBefore(a.bookmark.startNode),b.setEndAfter(a.bookmark.endNode),a.mergeListBookmark=b.createBookmark()},merge:function(a,d){if(a.mergeListBookmark){var b=a.mergeListBookmark.startNode,f=a.mergeListBookmark.endNode,e=new CKEDITOR.dom.elementPath(b,d),g=new CKEDITOR.dom.elementPath(f,d);if(a.mergeList){var h=e.contains(CKEDITOR.dtd.$list),n=g.contains(CKEDITOR.dtd.$list);h.equals(n)||(n.moveChildren(h),n.remove())}a.mergeListItems&& -(e=e.contains(CKEDITOR.dtd.$listItem),g=g.contains(CKEDITOR.dtd.$listItem),e.equals(g)||c(g,b,f));b.remove();f.remove()}}},block:{detectMerge:function(a,c){if(!a.tableContentsRanges&&!a.mergeListBookmark){var d=new CKEDITOR.dom.range(c);d.setStartBefore(a.bookmark.startNode);d.setEndAfter(a.bookmark.endNode);a.mergeBlockBookmark=d.createBookmark()}},merge:function(a,d){if(a.mergeBlockBookmark&&!a.purgeTableBookmark){var b=a.mergeBlockBookmark.startNode,f=a.mergeBlockBookmark.endNode,e=new CKEDITOR.dom.elementPath(b, -d),g=new CKEDITOR.dom.elementPath(f,d),e=e.block,g=g.block;e&&g&&!e.equals(g)&&c(g,b,f);b.remove();f.remove()}}},table:function(){function a(d){var f=[],e,g=new CKEDITOR.dom.walker(d),h=d.startPath().contains(b),n=d.endPath().contains(b),k={};g.guard=function(a,g){if(a.type==CKEDITOR.NODE_ELEMENT){var l="visited_"+(g?"out":"in");if(a.getCustomData(l))return;CKEDITOR.dom.element.setMarker(k,a,l,1)}if(g&&h&&a.equals(h))e=d.clone(),e.setEndAt(h,CKEDITOR.POSITION_BEFORE_END),f.push(e);else if(!g&&n&& -a.equals(n))e=d.clone(),e.setStartAt(n,CKEDITOR.POSITION_AFTER_START),f.push(e);else{if(l=!g)l=a.type==CKEDITOR.NODE_ELEMENT&&a.is(b)&&(!h||c(a,h))&&(!n||c(a,n));if(!l&&(l=g))if(a.is(b))var l=h&&h.getAscendant("table",!0),m=n&&n.getAscendant("table",!0),p=a.getAscendant("table",!0),l=l&&l.contains(p)||m&&m.contains(p);else l=void 0;l&&(e=d.clone(),e.selectNodeContents(a),f.push(e))}};g.lastForward();CKEDITOR.dom.element.clearAllMarkers(k);return f}function c(a,d){var b=CKEDITOR.POSITION_CONTAINS+ -CKEDITOR.POSITION_IS_CONTAINED,f=a.getPosition(d);return f===CKEDITOR.POSITION_IDENTICAL?!1:0===(f&b)}var b={td:1,th:1,caption:1};return{detectPurge:function(a){var c=a.range,d=c.clone();d.enlarge(CKEDITOR.ENLARGE_ELEMENT);var d=new CKEDITOR.dom.walker(d),f=0;d.evaluator=function(a){a.type==CKEDITOR.NODE_ELEMENT&&a.is(b)&&++f};d.checkForward();if(1e&&f&&f.intersectsNode(d.$)){var g=[{node:b.anchorNode,offset:b.anchorOffset},{node:b.focusNode,offset:b.focusOffset}];b.anchorNode==d.$&&b.anchorOffset>e&&(g[0].offset-=e);b.focusNode==d.$&&b.focusOffset>e&&(g[1].offset-=e)}}d.setText(y(d.getText(),1));g&&(d=a.getDocument().$, -b=d.getSelection(),d=d.createRange(),d.setStart(g[0].node,g[0].offset),d.collapse(!0),b.removeAllRanges(),b.addRange(d),b.extend(g[1].node,g[1].offset))}}function y(a,c){return c?a.replace(z,function(a,c){return c?" ":""}):a.replace(t,"")}function x(a,c){var d=c&&CKEDITOR.tools.htmlEncode(c)||"\x26nbsp;",d=CKEDITOR.dom.element.createFromHtml('\x3cdiv data-cke-hidden-sel\x3d"1" data-cke-temp\x3d"1" style\x3d"'+(CKEDITOR.env.ie&&14>CKEDITOR.env.version?"display:none":"position:fixed;top:0;left:-1000px;width:0;height:0;overflow:hidden;")+ -'"\x3e'+d+"\x3c/div\x3e",a.document);a.fire("lockSnapshot");a.editable().append(d);var b=a.getSelection(1),f=a.createRange(),e=b.root.on("selectionchange",function(a){a.cancel()},null,null,0);f.setStartAt(d,CKEDITOR.POSITION_AFTER_START);f.setEndAt(d,CKEDITOR.POSITION_BEFORE_END);b.selectRanges([f]);e.removeListener();a.fire("unlockSnapshot");a._.hiddenSelectionContainer=d}function q(a){var c={37:1,39:1,8:1,46:1};return function(d){var b=d.data.getKeystroke();if(c[b]){var f=a.getSelection().getRanges(), -e=f[0];1==f.length&&e.collapsed&&(b=e[38>b?"getPreviousEditableNode":"getNextEditableNode"]())&&b.type==CKEDITOR.NODE_ELEMENT&&"false"==b.getAttribute("contenteditable")&&(a.getSelection().fake(b),d.data.preventDefault(),d.cancel())}}}function r(a){for(var c=0;c=b.getLength()?h.setStartAfter(b):h.setStartBefore(b));f&&f.type==CKEDITOR.NODE_TEXT&&(g?h.setEndAfter(f):h.setEndBefore(f));b=new CKEDITOR.dom.walker(h);b.evaluator=function(b){if(b.type==CKEDITOR.NODE_ELEMENT&&b.isReadOnly()){var f=d.clone();d.setEndBefore(b);d.collapsed&&a.splice(c--,1);b.getPosition(h.endContainer)& -CKEDITOR.POSITION_CONTAINS||(f.setStartAfter(b),f.collapsed||a.splice(c+1,0,f));return!0}return!1};b.next()}}return a}var p="function"!=typeof window.getSelection,w=1,t=CKEDITOR.tools.repeat("​",7),z=new RegExp(t+"( )?","g"),u,v,C,E=CKEDITOR.dom.walker.invisible(1),A=function(){function a(c){return function(a){var d=a.editor.createRange();d.moveToClosestEditablePosition(a.selected,c)&&a.editor.getSelection().selectRanges([d]);return!1}}function c(a){return function(c){var d=c.editor,b=d.createRange(), -f;if(!d.readOnly)return(f=b.moveToClosestEditablePosition(c.selected,a))||(f=b.moveToClosestEditablePosition(c.selected,!a)),f&&d.getSelection().selectRanges([b]),d.fire("saveSnapshot"),c.selected.remove(),f||(b.moveToElementEditablePosition(d.editable()),d.getSelection().selectRanges([b])),d.fire("saveSnapshot"),!1}}var d=a(),b=a(1);return{37:d,38:d,39:b,40:b,8:c(),46:c(1)}}();CKEDITOR.on("instanceCreated",function(a){function c(){var a=d.getSelection();a&&a.removeAllRanges()}var d=a.editor;d.on("contentDom", -function(){function a(){v=new CKEDITOR.dom.selection(d.getSelection());v.lock()}function c(){g.removeListener("mouseup",c);r.removeListener("mouseup",c);var a=CKEDITOR.document.$.selection,d=a.createRange();"None"!=a.type&&d.parentElement()&&d.parentElement().ownerDocument==e.$&&d.select()}function b(a){var c,d;c=(c=this.document.getActive())?"input"===c.getName()||"textarea"===c.getName():!1;c||(c=this.getSelection(1),(d=f(c))&&!d.equals(h)&&(c.selectElement(d),a.data.preventDefault()))}function f(a){a= -a.getRanges()[0];return a?(a=a.startContainer.getAscendant(function(a){return a.type==CKEDITOR.NODE_ELEMENT&&a.hasAttribute("contenteditable")},!0))&&"false"===a.getAttribute("contenteditable")?a:null:null}var e=d.document,g=CKEDITOR.document,h=d.editable(),l=e.getBody(),r=e.getDocumentElement(),y=h.isInline(),t,v;CKEDITOR.env.gecko&&h.attachListener(h,"focus",function(a){a.removeListener();0!==t&&(a=d.getSelection().getNative())&&a.isCollapsed&&a.anchorNode==h.$&&(a=d.createRange(),a.moveToElementEditStart(h), -a.select())},null,null,-2);h.attachListener(h,CKEDITOR.env.webkit||CKEDITOR.env.gecko?"focusin":"focus",function(){if(t&&(CKEDITOR.env.webkit||CKEDITOR.env.gecko)){t=d._.previousActive&&d._.previousActive.equals(e.getActive());var a=null!=d._.previousScrollTop&&d._.previousScrollTop!=h.$.scrollTop;CKEDITOR.env.webkit&&t&&a&&(h.$.scrollTop=d._.previousScrollTop)}d.unlockSelection(t);t=0},null,null,-1);h.attachListener(h,"mousedown",function(){t=0});if(CKEDITOR.env.ie||CKEDITOR.env.gecko||y)p?h.attachListener(h, -"beforedeactivate",a,null,null,-1):h.attachListener(d,"selectionCheck",a,null,null,-1),h.attachListener(h,CKEDITOR.env.webkit||CKEDITOR.env.gecko?"focusout":"blur",function(){var a=v&&(v.isFake||2>v.getRanges().length);CKEDITOR.env.gecko&&!y&&a||(d.lockSelection(v),t=1)},null,null,-1),h.attachListener(h,"mousedown",function(){t=0});if(CKEDITOR.env.ie&&!y){var w;h.attachListener(h,"mousedown",function(a){2==a.data.$.button&&((a=d.document.getSelection())&&a.getType()!=CKEDITOR.SELECTION_NONE||(w=d.window.getScrollPosition()))}); -h.attachListener(h,"mouseup",function(a){2==a.data.$.button&&w&&(d.document.$.documentElement.scrollLeft=w.x,d.document.$.documentElement.scrollTop=w.y);w=null});if("BackCompat"!=e.$.compatMode){if(CKEDITOR.env.ie7Compat||CKEDITOR.env.ie6Compat){var u,x;r.on("mousedown",function(a){function c(a){a=a.data.$;if(u){var d=l.$.createTextRange();try{d.moveToPoint(a.clientX,a.clientY)}catch(b){}u.setEndPoint(0>x.compareEndPoints("StartToStart",d)?"EndToEnd":"StartToStart",d);u.select()}}function d(){r.removeListener("mousemove", -c);g.removeListener("mouseup",d);r.removeListener("mouseup",d);u.select()}a=a.data;if(a.getTarget().is("html")&&a.$.yCKEDITOR.env.version)r.on("mousedown",function(a){a.data.getTarget().is("html")&&(g.on("mouseup",c),r.on("mouseup",c))})}}h.attachListener(h,"selectionchange",m, -d);h.attachListener(h,"keyup",k,d);h.attachListener(h,"touchstart",k,d);h.attachListener(h,"touchend",k,d);CKEDITOR.env.ie&&h.attachListener(h,"keydown",b,d);h.attachListener(h,CKEDITOR.env.webkit||CKEDITOR.env.gecko?"focusin":"focus",function(){d.forceNextSelectionCheck();d.selectionChange(1)});if(y&&(CKEDITOR.env.webkit||CKEDITOR.env.gecko)){var z;h.attachListener(h,"mousedown",function(){z=1});h.attachListener(e.getDocumentElement(),"mouseup",function(){z&&k.call(d);z=0})}else h.attachListener(CKEDITOR.env.ie? -h:e.getDocumentElement(),"mouseup",k,d);CKEDITOR.env.webkit&&h.attachListener(e,"keydown",function(a){switch(a.data.getKey()){case 13:case 33:case 34:case 35:case 36:case 37:case 39:case 8:case 45:case 46:h.hasFocus&&n(h)}},null,null,-1);h.attachListener(h,"keydown",q(d),null,null,-1)});d.on("setData",function(){d.unlockSelection();CKEDITOR.env.webkit&&c()});d.on("contentDomUnload",function(){d.unlockSelection()});if(CKEDITOR.env.ie9Compat)d.on("beforeDestroy",c,null,null,9);d.on("dataReady",function(){delete d._.fakeSelection; -delete d._.hiddenSelectionContainer;d.selectionChange(1)});d.on("loadSnapshot",function(){var a=CKEDITOR.dom.walker.nodeType(CKEDITOR.NODE_ELEMENT),c=d.editable().getLast(a);c&&c.hasAttribute("data-cke-hidden-sel")&&(c.remove(),CKEDITOR.env.gecko&&(a=d.editable().getFirst(a))&&a.is("br")&&a.getAttribute("_moz_editor_bogus_node")&&a.remove())},null,null,100);d.on("key",function(a){if("wysiwyg"==d.mode){var c=d.getSelection();if(c.isFake){var b=A[a.data.keyCode];if(b)return b({editor:d,selected:c.getSelectedElement(), -selection:c,keyEvent:a})}}})});if(CKEDITOR.env.webkit)CKEDITOR.on("instanceReady",function(a){var c=a.editor;c.on("selectionChange",function(){var a=c.editable(),d=a.getCustomData("cke-fillingChar");d&&(d.getCustomData("ready")?(n(a),a.editor.fire("selectionCheck")):d.setCustomData("ready",1))},null,null,-1);c.on("beforeSetMode",function(){n(c.editable())},null,null,-1);c.on("getSnapshot",function(a){a.data&&(a.data=y(a.data))},c,null,20);c.on("toDataFormat",function(a){a.data.dataValue=y(a.data.dataValue)}, -null,null,0)});CKEDITOR.editor.prototype.selectionChange=function(a){(a?m:k).call(this)};CKEDITOR.editor.prototype.getSelection=function(a){return!this._.savedSelection&&!this._.fakeSelection||a?(a=this.editable())&&"wysiwyg"==this.mode?new CKEDITOR.dom.selection(a):null:this._.savedSelection||this._.fakeSelection};CKEDITOR.editor.prototype.getSelectedRanges=function(a){var c=this.getSelection();return c&&c.getRanges(a)||[]};CKEDITOR.editor.prototype.lockSelection=function(a){a=a||this.getSelection(1); -return a.getType()!=CKEDITOR.SELECTION_NONE?(!a.isLocked&&a.lock(),this._.savedSelection=a,!0):!1};CKEDITOR.editor.prototype.unlockSelection=function(a){var c=this._.savedSelection;return c?(c.unlock(a),delete this._.savedSelection,!0):!1};CKEDITOR.editor.prototype.forceNextSelectionCheck=function(){delete this._.selectionPreviousPath};CKEDITOR.dom.document.prototype.getSelection=function(){return new CKEDITOR.dom.selection(this)};CKEDITOR.dom.range.prototype.select=function(){var a=this.root instanceof -CKEDITOR.editable?this.root.editor.getSelection():new CKEDITOR.dom.selection(this.root);a.selectRanges([this]);return a};CKEDITOR.SELECTION_NONE=1;CKEDITOR.SELECTION_TEXT=2;CKEDITOR.SELECTION_ELEMENT=3;CKEDITOR.dom.selection=function(a){if(a instanceof CKEDITOR.dom.selection){var c=a;a=a.root}var d=a instanceof CKEDITOR.dom.element;this.rev=c?c.rev:w++;this.document=a instanceof CKEDITOR.dom.document?a:a.getDocument();this.root=d?a:this.document.getBody();this.isLocked=0;this._={cache:{}};if(c)return CKEDITOR.tools.extend(this._.cache, -c._.cache),this.isFake=c.isFake,this.isLocked=c.isLocked,this;a=this.getNative();var b,f;if(a)if(a.getRangeAt)b=(f=a.rangeCount&&a.getRangeAt(0))&&new CKEDITOR.dom.node(f.commonAncestorContainer);else{try{f=a.createRange()}catch(e){}b=f&&CKEDITOR.dom.element.get(f.item&&f.item(0)||f.parentElement())}if(!b||b.type!=CKEDITOR.NODE_ELEMENT&&b.type!=CKEDITOR.NODE_TEXT||!this.root.equals(b)&&!this.root.contains(b))this._.cache.type=CKEDITOR.SELECTION_NONE,this._.cache.startElement=null,this._.cache.selectedElement= -null,this._.cache.selectedText="",this._.cache.ranges=new CKEDITOR.dom.rangeList;return this};var B={img:1,hr:1,li:1,table:1,tr:1,td:1,th:1,embed:1,object:1,ol:1,ul:1,a:1,input:1,form:1,select:1,textarea:1,button:1,fieldset:1,thead:1,tfoot:1};CKEDITOR.tools.extend(CKEDITOR.dom.selection,{_removeFillingCharSequenceString:y,_createFillingCharSequenceNode:d,FILLING_CHAR_SEQUENCE:t});CKEDITOR.dom.selection.prototype={getNative:function(){return void 0!==this._.cache.nativeSel?this._.cache.nativeSel:this._.cache.nativeSel= -p?this.document.$.selection:this.document.getWindow().$.getSelection()},getType:p?function(){var a=this._.cache;if(a.type)return a.type;var c=CKEDITOR.SELECTION_NONE;try{var d=this.getNative(),b=d.type;"Text"==b&&(c=CKEDITOR.SELECTION_TEXT);"Control"==b&&(c=CKEDITOR.SELECTION_ELEMENT);d.createRange().parentElement()&&(c=CKEDITOR.SELECTION_TEXT)}catch(f){}return a.type=c}:function(){var a=this._.cache;if(a.type)return a.type;var c=CKEDITOR.SELECTION_TEXT,d=this.getNative();if(!d||!d.rangeCount)c=CKEDITOR.SELECTION_NONE; -else if(1==d.rangeCount){var d=d.getRangeAt(0),b=d.startContainer;b==d.endContainer&&1==b.nodeType&&1==d.endOffset-d.startOffset&&B[b.childNodes[d.startOffset].nodeName.toLowerCase()]&&(c=CKEDITOR.SELECTION_ELEMENT)}return a.type=c},getRanges:function(){var a=p?function(){function a(c){return(new CKEDITOR.dom.node(c)).getIndex()}var c=function(c,d){c=c.duplicate();c.collapse(d);var b=c.parentElement();if(!b.hasChildNodes())return{container:b,offset:0};for(var f=b.children,e,g,h=c.duplicate(),n=0, -k=f.length-1,l=-1,m,p;n<=k;)if(l=Math.floor((n+k)/2),e=f[l],h.moveToElementText(e),m=h.compareEndPoints("StartToStart",c),0m)n=l+1;else return{container:b,offset:a(e)};if(-1==l||l==f.length-1&&0>m){h.moveToElementText(b);h.setEndPoint("StartToStart",c);h=h.text.replace(/(\r\n|\r)/g,"\n").length;f=b.childNodes;if(!h)return e=f[f.length-1],e.nodeType!=CKEDITOR.NODE_TEXT?{container:b,offset:f.length}:{container:e,offset:e.nodeValue.length};for(b=f.length;0b.length?this.selectElement(d):this.selectRanges(b))}},reset:function(){this._.cache= -{};this.isFake=0;var a=this.root.editor;if(a&&a._.fakeSelection)if(this.rev==a._.fakeSelection.rev){delete a._.fakeSelection;var c=a._.hiddenSelectionContainer;if(c){var d=a.checkDirty();a.fire("lockSnapshot");c.remove();a.fire("unlockSnapshot");!d&&a.resetDirty()}delete a._.hiddenSelectionContainer}else CKEDITOR.warn("selection-fake-reset");this.rev=w++},selectElement:function(a){var c=new CKEDITOR.dom.range(this.root);c.setStartBefore(a);c.setEndAfter(a);this.selectRanges([c])},selectRanges:function(c){var b= -this.root.editor,e=b&&b._.hiddenSelectionContainer;this.reset();if(e)for(var e=this.root,g,k=0;k]*>)[ \t\r\n]*/gi,"$1");g=g.replace(/([ \t\n\r]+| )/g, -" ");g=g.replace(/]*>/gi,"\n");if(CKEDITOR.env.ie){var h=a.getDocument().createElement("div");h.append(e);e.$.outerHTML="\x3cpre\x3e"+g+"\x3c/pre\x3e";e.copyAttributes(h.getFirst());e=h.getFirst().remove()}else e.setHtml(g);c=e}else g?c=y(b?[a.getHtml()]:d(a),c):a.moveChildren(c);c.replace(a);if(f){var b=c,k;(k=b.getPrevious(F))&&k.type==CKEDITOR.NODE_ELEMENT&&k.is("pre")&&(f=n(k.getHtml(),/\n$/,"")+"\n\n"+n(b.getHtml(),/^\n/,""),CKEDITOR.env.ie?b.$.outerHTML="\x3cpre\x3e"+f+"\x3c/pre\x3e": -b.setHtml(f),k.remove())}else b&&p(c)}function d(a){var c=[];n(a.getOuterHtml(),/(\S\s*)\n(?:\s|(]+data-cke-bookmark.*?\/span>))*\n(?!$)/gi,function(a,c,d){return c+"\x3c/pre\x3e"+d+"\x3cpre\x3e"}).replace(/([\s\S]*?)<\/pre>/gi,function(a,d){c.push(d)});return c}function n(a,c,d){var b="",f="";a=a.replace(/(^]+data-cke-bookmark.*?\/span>)|(]+data-cke-bookmark.*?\/span>$)/gi,function(a,c,d){c&&(b=c);d&&(f=d);return""});return b+a.replace(c,d)+f}function y(a,c){var d; -1=e?(m=a.createText(""),m.insertAfter(this)): -(b=a.createText(""),b.insertAfter(m),b.remove()));return m},substring:function(b,h){return"number"!=typeof h?this.$.nodeValue.substr(b):this.$.nodeValue.substring(b,h)}});(function(){function b(b,e,a){var h=b.serializable,k=e[a?"endContainer":"startContainer"],l=a?"endOffset":"startOffset",c=h?e.document.getById(b.startNode):b.startNode;b=h?e.document.getById(b.endNode):b.endNode;k.equals(c.getPrevious())?(e.startOffset=e.startOffset-k.getLength()-b.getPrevious().getLength(),k=b.getNext()):k.equals(b.getPrevious())&& -(e.startOffset-=k.getLength(),k=b.getNext());k.equals(c.getParent())&&e[l]++;k.equals(b.getParent())&&e[l]++;e[a?"endContainer":"startContainer"]=k;return e}CKEDITOR.dom.rangeList=function(b){if(b instanceof CKEDITOR.dom.rangeList)return b;b?b instanceof CKEDITOR.dom.range&&(b=[b]):b=[];return CKEDITOR.tools.extend(b,h)};var h={createIterator:function(){var b=this,e=CKEDITOR.dom.walker.bookmark(),a=[],h;return{getNextRange:function(k){h=void 0===h?0:h+1;var l=b[h];if(l&&1c?-1:1}),g=0,h;gCKEDITOR.env.version?a[k].$.styleSheet.cssText+=h:a[k].$.innerHTML+=h}}var m={};CKEDITOR.skin={path:b,loadPart:function(a,c){CKEDITOR.skin.name!=CKEDITOR.skinName.split(",")[0]?CKEDITOR.scriptLoader.load(CKEDITOR.getUrl(b()+ -"skin.js"),function(){g(a,c)}):g(a,c)},getPath:function(a){return CKEDITOR.getUrl(h(a))},icons:{},addIcon:function(a,c,b,e){a=a.toLowerCase();this.icons[a]||(this.icons[a]={path:c,offset:b||0,bgsize:e||"16px"})},getIconStyle:function(a,c,b,e,g){var h;a&&(a=a.toLowerCase(),c&&(h=this.icons[a+"-rtl"]),h||(h=this.icons[a]));a=b||h&&h.path||"";e=e||h&&h.offset;g=g||h&&h.bgsize||"16px";a&&(a=a.replace(/'/g,"\\'"));return a&&"background-image:url('"+CKEDITOR.getUrl(a)+"');background-position:0 "+e+"px;background-size:"+ -g+";"}};CKEDITOR.tools.extend(CKEDITOR.editor.prototype,{getUiColor:function(){return this.uiColor},setUiColor:function(b){var d=e(CKEDITOR.document);return(this.setUiColor=function(b){this.uiColor=b;var f=CKEDITOR.skin.chameleon,e="",g="";"function"==typeof f&&(e=f(this,"editor"),g=f(this,"panel"));b=[[c,b]];a([d],e,b);a(l,g,b)}).call(this,b)}});var k="cke_ui_color",l=[],c=/\$color/g;CKEDITOR.on("instanceLoaded",function(b){if(!CKEDITOR.env.ie||!CKEDITOR.env.quirks){var d=b.editor;b=function(b){b= -(b.data[0]||b.data).element.getElementsByTag("iframe").getItem(0).getFrameDocument();if(!b.getById("cke_ui_color")){var f=e(b);l.push(f);d.on("destroy",function(){l=CKEDITOR.tools.array.filter(l,function(a){return f!==a})});(b=d.getUiColor())&&a([f],CKEDITOR.skin.chameleon(d,"panel"),[[c,b]])}};d.on("panelShow",b);d.on("menuShow",b);d.config.uiColor&&d.setUiColor(d.config.uiColor)}})})();(function(){if(CKEDITOR.env.webkit)CKEDITOR.env.hc=!1;else{var b=CKEDITOR.dom.element.createFromHtml('\x3cdiv style\x3d"width:0;height:0;position:absolute;left:-10000px;border:1px solid;border-color:red blue"\x3e\x3c/div\x3e', -CKEDITOR.document);b.appendTo(CKEDITOR.document.getHead());try{var h=b.getComputedStyle("border-top-color"),g=b.getComputedStyle("border-right-color");CKEDITOR.env.hc=!(!h||h!=g)}catch(e){CKEDITOR.env.hc=!1}b.remove()}CKEDITOR.env.hc&&(CKEDITOR.env.cssClass+=" cke_hc");CKEDITOR.document.appendStyleText(".cke{visibility:hidden;}");CKEDITOR.status="loaded";CKEDITOR.fireOnce("loaded");if(b=CKEDITOR._.pending)for(delete CKEDITOR._.pending,h=0;hh;h++){var k=h,l;l=parseInt(a[h],16);l=("0"+(0>e?0|l*(1+e):0|l+(255-l)*e).toString(16)).slice(-2);a[k]=l}return"#"+a.join("")}}(),h={editor:new CKEDITOR.template("{id}.cke_chrome [border-color:{defaultBorder};] {id} .cke_top [ background-color:{defaultBackground};border-bottom-color:{defaultBorder};] {id} .cke_bottom [background-color:{defaultBackground};border-top-color:{defaultBorder};] {id} .cke_resizer [border-right-color:{ckeResizer}] {id} .cke_dialog_title [background-color:{defaultBackground};border-bottom-color:{defaultBorder};] {id} .cke_dialog_footer [background-color:{defaultBackground};outline-color:{defaultBorder};] {id} .cke_dialog_tab [background-color:{dialogTab};border-color:{defaultBorder};] {id} .cke_dialog_tab:hover [background-color:{lightBackground};] {id} .cke_dialog_contents [border-top-color:{defaultBorder};] {id} .cke_dialog_tab_selected, {id} .cke_dialog_tab_selected:hover [background:{dialogTabSelected};border-bottom-color:{dialogTabSelectedBorder};] {id} .cke_dialog_body [background:{dialogBody};border-color:{defaultBorder};] {id} a.cke_button_off:hover,{id} a.cke_button_off:focus,{id} a.cke_button_off:active [background-color:{darkBackground};border-color:{toolbarElementsBorder};] {id} .cke_button_on [background-color:{ckeButtonOn};border-color:{toolbarElementsBorder};] {id} .cke_toolbar_separator,{id} .cke_toolgroup a.cke_button:last-child:after,{id} .cke_toolgroup a.cke_button.cke_button_disabled:hover:last-child:after [background-color: {toolbarElementsBorder};border-color: {toolbarElementsBorder};] {id} a.cke_combo_button:hover,{id} a.cke_combo_button:focus,{id} .cke_combo_on a.cke_combo_button [border-color:{toolbarElementsBorder};background-color:{darkBackground};] {id} .cke_combo:after [border-color:{toolbarElementsBorder};] {id} .cke_path_item [color:{elementsPathColor};] {id} a.cke_path_item:hover,{id} a.cke_path_item:focus,{id} a.cke_path_item:active [background-color:{darkBackground};] {id}.cke_panel [border-color:{defaultBorder};] "), +break;case "I":a.styles["list-style-type"]="upper-roman";break;case "1":a.styles["list-style-type"]="decimal";break;default:a.styles["list-style-type"]=a.attributes.type}},splitMarginShorthand:function(a){function c(g){a.styles["margin-top"]=d[g[0]];a.styles["margin-right"]=d[g[1]];a.styles["margin-bottom"]=d[g[2]];a.styles["margin-left"]=d[g[3]]}if(a.styles.margin){var d=a.styles.margin.match(/(auto|0|(?:\-?[\.\d]+(?:\w+|%)))/g)||["0px"];switch(d.length){case 1:c([0,0,0,0]);break;case 2:c([0,1,0, +1]);break;case 3:c([0,1,2,1]);break;case 4:c([0,1,2,3])}delete a.styles.margin}},matchesStyle:y,transform:function(a,c){if("string"==typeof c)a.name=c;else{var d=c.getDefinition(),g=d.styles,b=d.attributes,e,f,k,h;a.name=d.element;for(e in b)if("class"==e)for(d=a.classes.join("|"),k=b[e].split(/\s+/);h=k.pop();)-1==d.indexOf(h)&&a.classes.push(h);else a.attributes[e]=b[e];for(f in g)a.styles[f]=g[f]}}}}(),function(){CKEDITOR.focusManager=function(b){if(b.focusManager)return b.focusManager;this.hasFocus= +!1;this.currentActive=null;this._={editor:b};return this};CKEDITOR.focusManager._={blurDelay:200};CKEDITOR.focusManager.prototype={focus:function(b){this._.timer&&clearTimeout(this._.timer);b&&(this.currentActive=b);this.hasFocus||this._.locked||((b=CKEDITOR.currentInstance)&&b.focusManager.blur(1),this.hasFocus=!0,(b=this._.editor.container)&&b.addClass("cke_focus"),this._.editor.fire("focus"))},lock:function(){this._.locked=1},unlock:function(){delete this._.locked},blur:function(b){function h(){if(this.hasFocus){this.hasFocus= +!1;var b=this._.editor.container;b&&b.removeClass("cke_focus");this._.editor.fire("blur")}}if(!this._.locked){this._.timer&&clearTimeout(this._.timer);var f=CKEDITOR.focusManager._.blurDelay;b||!f?h.call(this):this._.timer=CKEDITOR.tools.setTimeout(function(){delete this._.timer;h.call(this)},f,this)}},add:function(b,h){var f=b.getCustomData("focusmanager");if(!f||f!=this){f&&f.remove(b);var f="focus",e="blur";h&&(CKEDITOR.env.ie?(f="focusin",e="focusout"):CKEDITOR.event.useCapture=1);var a={blur:function(){b.equals(this.currentActive)&& +this.blur()},focus:function(){this.focus(b)}};b.on(f,a.focus,this);b.on(e,a.blur,this);h&&(CKEDITOR.event.useCapture=0);b.setCustomData("focusmanager",this);b.setCustomData("focusmanager_handlers",a)}},remove:function(b){b.removeCustomData("focusmanager");var h=b.removeCustomData("focusmanager_handlers");b.removeListener("blur",h.blur);b.removeListener("focus",h.focus)}}}(),CKEDITOR.keystrokeHandler=function(b){if(b.keystrokeHandler)return b.keystrokeHandler;this.keystrokes={};this.blockedKeystrokes= +{};this._={editor:b};return this},function(){var b,h=function(e){e=e.data;var a=e.getKeystroke(),f=this.keystrokes[a],h=this._.editor;b=!1===h.fire("key",{keyCode:a,domEvent:e});b||(f&&(b=!1!==h.execCommand(f,{from:"keystrokeHandler"})),b||(b=!!this.blockedKeystrokes[a]));b&&e.preventDefault(!0);return!b},f=function(e){b&&(b=!1,e.data.preventDefault(!0))};CKEDITOR.keystrokeHandler.prototype={attach:function(b){b.on("keydown",h,this);if(CKEDITOR.env.gecko&&CKEDITOR.env.mac)b.on("keypress",f,this)}}}(), +function(){CKEDITOR.lang={languages:{af:1,ar:1,az:1,bg:1,bn:1,bs:1,ca:1,cs:1,cy:1,da:1,de:1,"de-ch":1,el:1,"en-au":1,"en-ca":1,"en-gb":1,en:1,eo:1,es:1,"es-mx":1,et:1,eu:1,fa:1,fi:1,fo:1,"fr-ca":1,fr:1,gl:1,gu:1,he:1,hi:1,hr:1,hu:1,id:1,is:1,it:1,ja:1,ka:1,km:1,ko:1,ku:1,lt:1,lv:1,mk:1,mn:1,ms:1,nb:1,nl:1,no:1,oc:1,pl:1,"pt-br":1,pt:1,ro:1,ru:1,si:1,sk:1,sl:1,sq:1,"sr-latn":1,sr:1,sv:1,th:1,tr:1,tt:1,ug:1,uk:1,vi:1,"zh-cn":1,zh:1},rtl:{ar:1,fa:1,he:1,ku:1,ug:1},load:function(b,h,f){b&&CKEDITOR.lang.languages[b]|| +(b=this.detect(h,b));var e=this;h=function(){e[b].dir=e.rtl[b]?"rtl":"ltr";f(b,e[b])};this[b]?h():CKEDITOR.scriptLoader.load(CKEDITOR.getUrl("lang/"+b+".js"),h,this)},detect:function(b,h){var f=this.languages;h=h||navigator.userLanguage||navigator.language||b;var e=h.toLowerCase().match(/([a-z]+)(?:-([a-z]+))?/),a=e[1],e=e[2];f[a+"-"+e]?a=a+"-"+e:f[a]||(a=null);CKEDITOR.lang.detect=a?function(){return a}:function(a){return a};return a||b}}}(),CKEDITOR.scriptLoader=function(){var b={},h={};return{load:function(f, +e,a,k){var l="string"==typeof f;l&&(f=[f]);a||(a=CKEDITOR);var m=f.length,c=m,d=[],g=[],n=function(c){e&&(l?e.call(a,c):e.call(a,d,g))};if(0===c)n(!0);else{var x=function(a,b){(b?d:g).push(a);0>=--c&&(k&&CKEDITOR.document.getDocumentElement().removeStyle("cursor"),n(b))},w=function(a,c){b[a]=1;var d=h[a];delete h[a];for(var g=0;g=CKEDITOR.env.version||CKEDITOR.env.ie9Compat)?d.$.onreadystatechange=function(){if("loaded"==d.$.readyState||"complete"==d.$.readyState)d.$.onreadystatechange=null,w(a,!0)}:(d.$.onload=function(){setTimeout(function(){d.$.onload=null;d.$.onerror=null;w(a,!0)},0)},d.$.onerror=function(){d.$.onload=null;d.$.onerror=null;w(a,!1)}));d.appendTo(CKEDITOR.document.getHead())}}};k&&CKEDITOR.document.getDocumentElement().setStyle("cursor","wait");for(var q=0;q]+)>)|(?:!--([\S|\s]*?)--!?>)|(?:([^\/\s>]+)((?:\s+[\w\-:.]+(?:\s*=\s*?(?:(?:"[^"]*")|(?:'[^']*')|[^\s"'\/>]+))?)*)[\S\s]*?(\/?)>))/g}},function(){var b=/([\w\-:.]+)(?:(?:\s*=\s*(?:(?:"([^"]*)")|(?:'([^']*)')|([^\s>]+)))|(?=\s|$))/g,h={checked:1,compact:1,declare:1,defer:1,disabled:1,ismap:1,multiple:1,nohref:1,noresize:1,noshade:1,nowrap:1,readonly:1,selected:1};CKEDITOR.htmlParser.prototype= +{onTagOpen:function(){},onTagClose:function(){},onText:function(){},onCDATA:function(){},onComment:function(){},parse:function(f){for(var e,a,k=0,l;e=this._.htmlPartsRegex.exec(f);){a=e.index;if(a>k)if(k=f.substring(k,a),l)l.push(k);else this.onText(k);k=this._.htmlPartsRegex.lastIndex;if(a=e[1])if(a=a.toLowerCase(),l&&CKEDITOR.dtd.$cdata[a]&&(this.onCDATA(l.join("")),l=null),!l){this.onTagClose(a);continue}if(l)l.push(e[0]);else if(a=e[3]){if(a=a.toLowerCase(),!/="/.test(a)){var m={},c,d=e[4];e= +!!e[5];if(d)for(;c=b.exec(d);){var g=c[1].toLowerCase();c=c[2]||c[3]||c[4]||"";m[g]=!c&&h[g]?g:CKEDITOR.tools.htmlDecodeAttr(c)}this.onTagOpen(a,m,e);!l&&CKEDITOR.dtd.$cdata[a]&&(l=[])}}else if(a=e[2])this.onComment(a)}if(f.length>k)this.onText(f.substring(k,f.length))}}}(),CKEDITOR.htmlParser.basicWriter=CKEDITOR.tools.createClass({$:function(){this._={output:[]}},proto:{openTag:function(b){this._.output.push("\x3c",b)},openTagClose:function(b,h){h?this._.output.push(" /\x3e"):this._.output.push("\x3e")}, +attribute:function(b,h){"string"==typeof h&&(h=CKEDITOR.tools.htmlEncodeAttr(h));this._.output.push(" ",b,'\x3d"',h,'"')},closeTag:function(b){this._.output.push("\x3c/",b,"\x3e")},text:function(b){this._.output.push(b)},comment:function(b){this._.output.push("\x3c!--",b,"--\x3e")},write:function(b){this._.output.push(b)},reset:function(){this._.output=[];this._.indent=!1},getHtml:function(b){var h=this._.output.join("");b&&this.reset();return h}}}),"use strict",function(){CKEDITOR.htmlParser.node= +function(){};CKEDITOR.htmlParser.node.prototype={remove:function(){var b=this.parent.children,h=CKEDITOR.tools.indexOf(b,this),f=this.previous,e=this.next;f&&(f.next=e);e&&(e.previous=f);b.splice(h,1);this.parent=null},replaceWith:function(b){var h=this.parent.children,f=CKEDITOR.tools.indexOf(h,this),e=b.previous=this.previous,a=b.next=this.next;e&&(e.next=b);a&&(a.previous=b);h[f]=b;b.parent=this.parent;this.parent=null},insertAfter:function(b){var h=b.parent.children,f=CKEDITOR.tools.indexOf(h, +b),e=b.next;h.splice(f+1,0,this);this.next=b.next;this.previous=b;b.next=this;e&&(e.previous=this);this.parent=b.parent},insertBefore:function(b){var h=b.parent.children,f=CKEDITOR.tools.indexOf(h,b);h.splice(f,0,this);this.next=b;(this.previous=b.previous)&&(b.previous.next=this);b.previous=this;this.parent=b.parent},getAscendant:function(b){var h="function"==typeof b?b:"string"==typeof b?function(e){return e.name==b}:function(e){return e.name in b},f=this.parent;for(;f&&f.type==CKEDITOR.NODE_ELEMENT;){if(h(f))return f; +f=f.parent}return null},wrapWith:function(b){this.replaceWith(b);b.add(this);return b},getIndex:function(){return CKEDITOR.tools.indexOf(this.parent.children,this)},getFilterContext:function(b){return b||{}}}}(),"use strict",CKEDITOR.htmlParser.comment=function(b){this.value=b;this._={isBlockLike:!1}},CKEDITOR.htmlParser.comment.prototype=CKEDITOR.tools.extend(new CKEDITOR.htmlParser.node,{type:CKEDITOR.NODE_COMMENT,filter:function(b,h){var f=this.value;if(!(f=b.onComment(h,f,this)))return this.remove(), +!1;if("string"!=typeof f)return this.replaceWith(f),!1;this.value=f;return!0},writeHtml:function(b,h){h&&this.filter(h);b.comment(this.value)}}),"use strict",function(){CKEDITOR.htmlParser.text=function(b){this.value=b;this._={isBlockLike:!1}};CKEDITOR.htmlParser.text.prototype=CKEDITOR.tools.extend(new CKEDITOR.htmlParser.node,{type:CKEDITOR.NODE_TEXT,filter:function(b,h){if(!(this.value=b.onText(h,this.value,this)))return this.remove(),!1},writeHtml:function(b,h){h&&this.filter(h);b.text(this.value)}})}(), +"use strict",function(){CKEDITOR.htmlParser.cdata=function(b){this.value=b};CKEDITOR.htmlParser.cdata.prototype=CKEDITOR.tools.extend(new CKEDITOR.htmlParser.node,{type:CKEDITOR.NODE_TEXT,filter:function(b){var h=this.getAscendant("style");if(h&&h.getAscendant({math:1,svg:1})){var h=CKEDITOR.htmlParser.fragment.fromHtml(this.value),f=new CKEDITOR.htmlParser.basicWriter;b.applyTo(h);h.writeHtml(f);this.value=f.getHtml()}},writeHtml:function(b){b.write(this.value)}})}(),"use strict",CKEDITOR.htmlParser.fragment= +function(){this.children=[];this.parent=null;this._={isBlockLike:!0,hasInlineStarted:!1}},function(){function b(a){return a.attributes["data-cke-survive"]?!1:"a"==a.name&&a.attributes.href||CKEDITOR.dtd.$removeEmpty[a.name]}var h=CKEDITOR.tools.extend({table:1,ul:1,ol:1,dl:1},CKEDITOR.dtd.table,CKEDITOR.dtd.ul,CKEDITOR.dtd.ol,CKEDITOR.dtd.dl),f={ol:1,ul:1},e=CKEDITOR.tools.extend({},{html:1},CKEDITOR.dtd.html,CKEDITOR.dtd.body,CKEDITOR.dtd.head,{style:1,script:1}),a={ul:"li",ol:"li",dl:"dd",table:"tbody", +tbody:"tr",thead:"tr",tfoot:"tr",tr:"td"};CKEDITOR.htmlParser.fragment.fromHtml=function(k,l,m){function c(a){var c;if(0h;h++)if(k=a[h]){k=k.exec(b,e,this);if(!1===k)return null;if(k&&k!=e)return this.onNode(b,k);if(e.parent&&!e.name)break}return e},onNode:function(b,e){var a=e.type;return a==CKEDITOR.NODE_ELEMENT?this.onElement(b,e):a==CKEDITOR.NODE_TEXT?new CKEDITOR.htmlParser.text(this.onText(b,e.value, +e)):a==CKEDITOR.NODE_COMMENT?new CKEDITOR.htmlParser.comment(this.onComment(b,e.value,e)):null},onAttribute:function(b,e,a,k){return(a=this.attributesRules[a])?a.exec(b,k,e,this):k}}});CKEDITOR.htmlParser.filterRulesGroup=b;b.prototype={add:function(b,e,a){this.rules.splice(this.findIndex(e),0,{value:b,priority:e,options:a})},addMany:function(b,e,a){for(var k=[this.findIndex(e),0],h=0,m=b.length;h/g,"\x26gt;")+ +"\x3c/textarea\x3e");return"\x3ccke:encoded\x3e"+encodeURIComponent(a)+"\x3c/cke:encoded\x3e"})}function n(a){return a.replace(I,function(a,c){return decodeURIComponent(c)})}function x(a){return a.replace(/\x3c!--(?!{cke_protected})[\s\S]+?--\x3e/g,function(a){return"\x3c!--"+r+"{C}"+encodeURIComponent(a).replace(/--/g,"%2D%2D")+"--\x3e"})}function w(a){return a.replace(/\x3c!--\{cke_protected\}\{C\}([\s\S]+?)--\x3e/g,function(a,c){return decodeURIComponent(c)})}function p(a,c){var d=c._.dataStore; +return a.replace(/\x3c!--\{cke_protected\}([\s\S]+?)--\x3e/g,function(a,c){return decodeURIComponent(c)}).replace(/\{cke_protected_(\d+)\}/g,function(a,c){return d&&d[c]||""})}function q(a,c,d){var b=[],g=c.config.protectedSource,e=c._.dataStore||(c._.dataStore={id:1}),f=new RegExp("\x3c\\!--\\{cke_temp_"+d+"(comment)?\\}(\\d*?)--\x3e","g"),g=[/|$)/gi,//gi,//gi].concat(g);a=a.replace(/\x3c!--[\s\S]*?--\x3e/g,function(a){return"\x3c!--{cke_temp_"+ +d+"comment}"+(b.push(a)-1)+"--\x3e"});for(var k=0;k]+\s*=\s*(?:[^'"\s>]+|'[^']*'|"[^"]*"))|[^\s=\/>]+))+\s*\/?>/g,function(a){return a.replace(/\x3c!--\{cke_protected\}([^>]*)--\x3e/g,function(a, +c){e[e.id]=decodeURIComponent(c);return"{cke_protected_"+e.id++ +"}"})});return a=a.replace(/<(title|iframe|textarea)([^>]*)>([\s\S]*?)<\/\1>/g,function(a,d,b,g){return"\x3c"+d+b+"\x3e"+p(w(g),c)+"\x3c/"+d+"\x3e"})}var u;CKEDITOR.htmlDataProcessor=function(a){var c,e,f=this;this.editor=a;this.dataFilter=c=new CKEDITOR.htmlParser.filter;this.htmlFilter=e=new CKEDITOR.htmlParser.filter;this.writer=new CKEDITOR.htmlParser.basicWriter;c.addRules(y);c.addRules(C,{applyToAll:!0});c.addRules(b(a,"data"), +{applyToAll:!0});e.addRules(D);e.addRules(B,{applyToAll:!0});e.addRules(b(a,"html"),{applyToAll:!0});a.on("toHtml",function(c){var b;var e=window.crypto||window.msCrypto;b=e?e.getRandomValues(new Uint32Array(1))[0]:Math.floor(9E9*Math.random()+1E9);c=c.data;var e=c.dataValue,e=u(e),e=q(e,a,b),e=g(e,O),e=d(e,b),e=g(e,G),e=e.replace(F,"$1cke:$2"),e=e.replace(J,"\x3ccke:$1$2\x3e\x3c/cke:$1\x3e"),e=e.replace(/(]*>)(\r\n|\n)/g,"$1$2$2"),e=e.replace(/([^a-z0-9<\-])(on\w{3,})(?!>)/gi,"$1data-cke-"+ +b+"-$2"),f=c.context||a.editable().getName(),k;CKEDITOR.env.ie&&9>CKEDITOR.env.version&&"pre"==f&&(f="div",e="\x3cpre\x3e"+e+"\x3c/pre\x3e",k=1);f=a.document.createElement(f);f.setHtml("a"+e);e=f.getHtml().substr(1);e=e.replace(new RegExp("data-cke-"+b+"-","ig"),"");k&&(e=e.replace(/^
|<\/pre>$/gi,""));e=e.replace(P,"$1$2");e=n(e);e=w(e);b=!1===c.fixForBody?!1:h(c.enterMode,a.config.autoParagraph);e=CKEDITOR.htmlParser.fragment.fromHtml(e,c.context,b);b&&(k=e,!k.children.length&&CKEDITOR.dtd[k.name][b]&&
+(b=new CKEDITOR.htmlParser.element(b),k.add(b)));c.dataValue=e},null,null,5);a.on("toHtml",function(c){c.data.filter.applyTo(c.data.dataValue,!0,c.data.dontFilter,c.data.enterMode)&&a.fire("dataFiltered")},null,null,6);a.on("toHtml",function(a){a.data.dataValue.filterChildren(f.dataFilter,!0)},null,null,10);a.on("toHtml",function(a){a=a.data;var c=a.dataValue,d=new CKEDITOR.htmlParser.basicWriter;c.writeChildrenHtml(d);c=d.getHtml(!0);a.dataValue=x(c)},null,null,15);a.on("toDataFormat",function(c){var d=
+c.data.dataValue;c.data.enterMode!=CKEDITOR.ENTER_BR&&(d=d.replace(/^
/i,""));c.data.dataValue=CKEDITOR.htmlParser.fragment.fromHtml(d,c.data.context,h(c.data.enterMode,a.config.autoParagraph))},null,null,5);a.on("toDataFormat",function(a){a.data.dataValue.filterChildren(f.htmlFilter,!0)},null,null,10);a.on("toDataFormat",function(a){a.data.filter.applyTo(a.data.dataValue,!1,!0)},null,null,11);a.on("toDataFormat",function(c){var d=c.data.dataValue,b=f.writer;b.reset();d.writeChildrenHtml(b); +d=b.getHtml(!0);d=w(d);d=p(d,a);c.data.dataValue=d},null,null,15)};CKEDITOR.htmlDataProcessor.prototype={toHtml:function(a,c,d,b){var g=this.editor,e,f,k,h;c&&"object"==typeof c?(e=c.context,d=c.fixForBody,b=c.dontFilter,f=c.filter,k=c.enterMode,h=c.protectedWhitespaces):e=c;e||null===e||(e=g.editable().getName());return g.fire("toHtml",{dataValue:a,context:e,fixForBody:d,dontFilter:b,filter:f||g.filter,enterMode:k||g.enterMode,protectedWhitespaces:h}).dataValue},toDataFormat:function(a,c){var d, +b,g;c&&(d=c.context,b=c.filter,g=c.enterMode);d||null===d||(d=this.editor.editable().getName());return this.editor.fire("toDataFormat",{dataValue:a,filter:b||this.editor.filter,context:d,enterMode:g||this.editor.enterMode}).dataValue},protectSource:function(a){return q(a,this.editor)},unprotectSource:function(a){return p(a,this.editor)},unprotectRealComments:function(a){return w(a)}};var z=/(?: |\xa0)$/,r="{cke_protected}",A=CKEDITOR.dtd,v="caption colgroup col thead tfoot tbody".split(" "), +t=CKEDITOR.tools.extend({},A.$blockLimit,A.$block),y={elements:{input:m,textarea:m}},C={attributeNames:[[/^on/,"data-cke-pa-on"],[/^srcdoc/,"data-cke-pa-srcdoc"],[/^data-cke-expando$/,""]],elements:{iframe:function(a){if(a.attributes&&a.attributes.src){var c=a.attributes.src.toLowerCase().replace(/[^a-z]/gi,"");if(0===c.indexOf("javascript")||0===c.indexOf("data"))a.attributes["data-cke-pa-src"]=a.attributes.src,delete a.attributes.src}}}},D={elements:{embed:function(a){var c=a.parent;if(c&&"object"== +c.name){var d=c.attributes.width,c=c.attributes.height;d&&(a.attributes.width=d);c&&(a.attributes.height=c)}},a:function(a){var c=a.attributes;if(!(a.children.length||c.name||c.id||a.attributes["data-cke-saved-name"]))return!1}}},B={elementNames:[[/^cke:/,""],[/^\?xml:namespace$/,""]],attributeNames:[[/^data-cke-(saved|pa)-/,""],[/^data-cke-.*/,""],["hidefocus",""]],elements:{$:function(a){var c=a.attributes;if(c){if(c["data-cke-temp"])return!1;for(var d=["name","href","src"],b,g=0;gb?1:-1})},param:function(a){a.children=[];a.isEmpty=!0;return a},span:function(a){"Apple-style-span"==a.attributes["class"]&&delete a.name},html:function(a){delete a.attributes.contenteditable; +delete a.attributes["class"]},body:function(a){delete a.attributes.spellcheck;delete a.attributes.contenteditable},style:function(a){var c=a.children[0];c&&c.value&&(c.value=CKEDITOR.tools.trim(c.value));a.attributes.type||(a.attributes.type="text/css")},title:function(a){var c=a.children[0];!c&&l(a,c=new CKEDITOR.htmlParser.text);c.value=a.attributes["data-cke-title"]||""},input:c,textarea:c},attributes:{"class":function(a){return CKEDITOR.tools.ltrim(a.replace(/(?:^|\s+)cke_[^\s]*/g,""))||!1}}}; +CKEDITOR.env.ie&&(B.attributes.style=function(a){return a.replace(/(^|;)([^\:]+)/g,function(a){return a.toLowerCase()})});var E=/<(a|area|img|input|source)\b([^>]*)>/gi,H=/([\w-:]+)\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|(?:[^ "'>]+))/gi,L=/^(href|src|name)$/i,G=/(?:])[^>]*>[\s\S]*?<\/style>)|(?:<(:?link|meta|base)[^>]*>)/gi,O=/(])[^>]*>)([\s\S]*?)(?:<\/textarea>)/gi,I=/([^<]*)<\/cke:encoded>/gi,F=/(<\/?)((?:object|embed|param|html|body|head|title)([\s][^>]*)?>)/gi, +P=/(<\/?)cke:((?:html|body|head|title)[^>]*>)/gi,J=/]*?)\/?>(?!\s*<\/cke:\1)/gi;u=function(){function a(c,d){for(var b=0;b/g];return function(c){for(;a(b,c);)for(var d=b,g=0;ga?1:0},f=CKEDITOR.htmlParser.fragment.prototype;CKEDITOR.htmlParser.element.prototype=CKEDITOR.tools.extend(new CKEDITOR.htmlParser.node,{type:CKEDITOR.NODE_ELEMENT,add:f.add,clone:function(){return new CKEDITOR.htmlParser.element(this.name,this.attributes)},filter:function(b,a){var f=this,h,m;a=f.getFilterContext(a);if(!f.parent)b.onRoot(a,f);for(;;){h=f.name;if(!(m=b.onElementName(a,h)))return this.remove(),!1;f.name=m;if(!(f=b.onElement(a,f)))return this.remove(), +!1;if(f!==this)return this.replaceWith(f),!1;if(f.name==h)break;if(f.type!=CKEDITOR.NODE_ELEMENT)return this.replaceWith(f),!1;if(!f.name)return this.replaceWithChildren(),!1}h=f.attributes;var c,d;for(c in h){for(m=h[c];;)if(d=b.onAttributeName(a,c))if(d!=c)delete h[c],c=d;else break;else{delete h[c];break}d&&(!1===(m=b.onAttribute(a,f,d,m))?delete h[d]:h[d]=m)}f.isEmpty||this.filterChildren(b,!1,a);return!0},filterChildren:f.filterChildren,writeHtml:function(b,a){a&&this.filter(a);var f=this.name, +l=[],m=this.attributes,c,d;b.openTag(f,m);for(c in m)l.push([c,m[c]]);b.sortAttributes&&l.sort(h);c=0;for(d=l.length;cCKEDITOR.env.version||CKEDITOR.env.quirks))this.hasFocus&& +(this.focus(),c());else if(this.hasFocus)this.focus(),a();else this.once("focus",function(){a()},null,null,-999)},getHtmlFromRange:function(a){if(a.collapsed)return new CKEDITOR.dom.documentFragment(a.document);a={doc:this.getDocument(),range:a.clone()};t.eol.detect(a,this);t.bogus.exclude(a);t.cell.shrink(a);a.fragment=a.range.cloneContents();t.tree.rebuild(a,this);t.eol.fix(a,this);return new CKEDITOR.dom.documentFragment(a.fragment.$)},extractHtmlFromRange:function(a,c){var b=y,d={range:a,doc:a.document}, +g=this.getHtmlFromRange(a);if(a.collapsed)return a.optimize(),g;a.enlarge(CKEDITOR.ENLARGE_INLINE,1);b.table.detectPurge(d);d.bookmark=a.createBookmark();delete d.range;var e=this.editor.createRange();e.moveToPosition(d.bookmark.startNode,CKEDITOR.POSITION_BEFORE_START);d.targetBookmark=e.createBookmark();b.list.detectMerge(d,this);b.table.detectRanges(d,this);b.block.detectMerge(d,this);d.tableContentsRanges?(b.table.deleteRanges(d),a.moveToBookmark(d.bookmark),d.range=a):(a.moveToBookmark(d.bookmark), +d.range=a,a.extractContents(b.detectExtractMerge(d)));a.moveToBookmark(d.targetBookmark);a.optimize();b.fixUneditableRangePosition(a);b.list.merge(d,this);b.table.purge(d,this);b.block.merge(d,this);if(c){b=a.startPath();if(d=a.checkStartOfBlock()&&a.checkEndOfBlock()&&b.block&&!a.root.equals(b.block)){a:{var d=b.block.getElementsByTag("span"),e=0,f;if(d)for(;f=d.getItem(e++);)if(!p(f)){d=!0;break a}d=!1}d=!d}d&&(a.moveToPosition(b.block,CKEDITOR.POSITION_BEFORE_START),b.block.remove())}else b.autoParagraph(this.editor, +a),q(a.startContainer)&&a.startContainer.appendBogus();a.startContainer.mergeSiblings();return g},setup:function(){var a=this.editor;this.attachListener(a,"beforeGetData",function(){var c=this.getData();this.is("textarea")||!1!==a.config.ignoreEmptyParagraph&&(c=c.replace(z,function(a,c){return c}));a.setData(c,null,1)},this);this.attachListener(a,"getSnapshot",function(a){a.data=this.getData(1)},this);this.attachListener(a,"afterSetData",function(){this.setData(a.getData(1))},this);this.attachListener(a, +"loadSnapshot",function(a){this.setData(a.data,1)},this);this.attachListener(a,"beforeFocus",function(){var c=a.getSelection();(c=c&&c.getNative())&&"Control"==c.type||this.focus()},this);this.attachListener(a,"insertHtml",function(a){this.insertHtml(a.data.dataValue,a.data.mode,a.data.range)},this);this.attachListener(a,"insertElement",function(a){this.insertElement(a.data)},this);this.attachListener(a,"insertText",function(a){this.insertText(a.data)},this);this.setReadOnly(a.readOnly);this.attachClass("cke_editable"); +a.elementMode==CKEDITOR.ELEMENT_MODE_INLINE?this.attachClass("cke_editable_inline"):a.elementMode!=CKEDITOR.ELEMENT_MODE_REPLACE&&a.elementMode!=CKEDITOR.ELEMENT_MODE_APPENDTO||this.attachClass("cke_editable_themed");this.attachClass("cke_contents_"+a.config.contentsLangDirection);a.keystrokeHandler.blockedKeystrokes[8]=+a.readOnly;a.keystrokeHandler.attach(this);this.on("blur",function(){this.hasFocus=!1},null,null,-1);this.on("focus",function(){this.hasFocus=!0},null,null,-1);if(CKEDITOR.env.webkit)this.on("scroll", +function(){a._.previousScrollTop=a.editable().$.scrollTop},null,null,-1);if(CKEDITOR.env.edge&&14CKEDITOR.env.version?h.$.styleSheet.cssText=g:h.setText(g)):(g=b.appendStyleText(g),g=new CKEDITOR.dom.element(g.ownerNode|| +g.owningElement),d.setCustomData("stylesheet",g),g.data("cke-temp",1))}d=b.getCustomData("stylesheet_ref")||0;b.setCustomData("stylesheet_ref",d+1);this.setCustomData("cke_includeReadonly",!a.config.disableReadonlyStyling);this.attachListener(this,"click",function(a){a=a.data;var c=(new CKEDITOR.dom.elementPath(a.getTarget(),this)).contains("a");c&&2!=a.$.button&&c.isReadOnly()&&a.preventDefault()});var n={8:1,46:1};this.attachListener(a,"key",function(c){if(a.readOnly)return!0;var b=c.data.domEvent.getKey(), +d,g=a.getSelection();if(0!==g.getRanges().length){if(b in n){var e;c=g.getRanges()[0];var f=c.startPath(),h,q,x,b=8==b,u=!1;if(CKEDITOR.env.ie&&11>CKEDITOR.env.version&&g.getSelectedElement())e=g.getSelectedElement();else if(k(g)){var t=new CKEDITOR.dom.walker(c),r=c.collapsed?c.startContainer:t.next(),u=!1,v;if(c.checkStartOfBlock()){v=c.startPath().block||c.startPath().blockLimit;var E=v.getName();v=-1!==CKEDITOR.tools.array.indexOf(["dd","dt","li"],E)&&null===v.getPrevious()}else v=!1;if(v){for(;r&& +!u;)u=r.$.nodeName.toLowerCase(),u=!!C[u],r=t.next();t=m(c.startPath());r=m(c.endPath());u=u||t!==r}else u=void 0;u||(e=l(g))}e||u?(a.fire("saveSnapshot"),u?((d=c.startContainer.getAscendant(C,!0))?(c.setStart(d,0),c.enlarge(CKEDITOR.ENLARGE_ELEMENT),e=c):e=null,e.deleteContents()):(c.moveToPosition(e,CKEDITOR.POSITION_BEFORE_START),e.remove()),c.select(),a.fire("saveSnapshot"),d=1):c.collapsed&&((h=f.block)&&(x=h[b?"getPrevious":"getNext"](w))&&x.type==CKEDITOR.NODE_ELEMENT&&x.is("table")&&c[b?"checkStartOfBlock": +"checkEndOfBlock"]()?(a.fire("saveSnapshot"),c[b?"checkEndOfBlock":"checkStartOfBlock"]()&&h.remove(),c["moveToElementEdit"+(b?"End":"Start")](x),c.select(),a.fire("saveSnapshot"),d=1):f.blockLimit&&f.blockLimit.is("td")&&(q=f.blockLimit.getAscendant("table"))&&c.checkBoundaryOfElement(q,b?CKEDITOR.START:CKEDITOR.END)&&(x=q[b?"getPrevious":"getNext"](w))?(a.fire("saveSnapshot"),c["moveToElementEdit"+(b?"End":"Start")](x),c.checkStartOfBlock()&&c.checkEndOfBlock()?x.remove():c.select(),a.fire("saveSnapshot"), +d=1):(q=f.contains(["td","th","caption"]))&&c.checkBoundaryOfElement(q,b?CKEDITOR.START:CKEDITOR.END)&&(d=1))}return!d}});a.blockless&&CKEDITOR.env.ie&&CKEDITOR.env.needsBrFiller&&this.attachListener(this,"keyup",function(c){c.data.getKeystroke()in n&&!this.getFirst(e)&&(this.appendBogus(),c=a.createRange(),c.moveToPosition(this,CKEDITOR.POSITION_AFTER_START),c.select())});this.attachListener(this,"dblclick",function(c){if(a.readOnly)return!1;c={element:c.data.getTarget()};a.fire("doubleclick",c)}); +CKEDITOR.env.ie&&this.attachListener(this,"click",f);CKEDITOR.env.ie&&!CKEDITOR.env.edge||this.attachListener(this,"mousedown",function(c){var b=c.data.getTarget();b.is("img","hr","input","textarea","select")&&!b.isReadOnly()&&(a.getSelection().selectElement(b),b.is("input","textarea","select")&&c.data.preventDefault())});CKEDITOR.env.edge&&this.attachListener(this,"mouseup",function(c){(c=c.data.getTarget())&&c.is("img")&&!c.isReadOnly()&&a.getSelection().selectElement(c)});CKEDITOR.env.gecko&&this.attachListener(this, +"mouseup",function(c){if(2==c.data.$.button&&(c=c.data.getTarget(),!c.getAscendant("table")&&!c.getOuterHtml().replace(z,""))){var b=a.createRange();b.moveToElementEditStart(c);b.select(!0)}});CKEDITOR.env.webkit&&(this.attachListener(this,"click",function(a){a.data.getTarget().is("input","select")&&a.data.preventDefault()}),this.attachListener(this,"mouseup",function(a){a.data.getTarget().is("input","textarea")&&a.data.preventDefault()}));CKEDITOR.env.webkit&&this.attachListener(a,"key",function(c){if(a.readOnly)return!0; +var b=c.data.domEvent.getKey();if(b in n&&(c=a.getSelection(),0!==c.getRanges().length)){var b=8==b,d=c.getRanges()[0];c=d.startPath();if(d.collapsed)a:{var g=c.block;if(g&&d[b?"checkStartOfBlock":"checkEndOfBlock"](!0)&&d.moveToClosestEditablePosition(g,!b)&&d.collapsed){if(d.startContainer.type==CKEDITOR.NODE_ELEMENT){var e=d.startContainer.getChild(d.startOffset-(b?1:0));if(e&&e.type==CKEDITOR.NODE_ELEMENT&&e.is("hr")){a.fire("saveSnapshot");e.remove();c=!0;break a}}d=d.startPath().block;if(!d|| +d&&d.contains(g))c=void 0;else{a.fire("saveSnapshot");var f;(f=(b?d:g).getBogus())&&f.remove();f=a.getSelection();e=f.createBookmarks();(b?g:d).moveChildren(b?d:g,!1);c.lastElement.mergeSiblings();x(g,d,!b);f.selectBookmarks(e);c=!0}}else c=!1}else b=d,f=c.block,d=b.endPath().block,f&&d&&!f.equals(d)?(a.fire("saveSnapshot"),(g=f.getBogus())&&g.remove(),b.enlarge(CKEDITOR.ENLARGE_INLINE),b.deleteContents(),d.getParent()&&(d.moveChildren(f,!1),c.lastElement.mergeSiblings(),x(f,d,!0)),b=a.getSelection().getRanges()[0], +b.collapse(1),b.optimize(),""===b.startContainer.getHtml()&&b.startContainer.appendBogus(),b.select(),c=!0):c=!1;if(!c)return;a.getSelection().scrollIntoView();a.fire("saveSnapshot");return!1}},this,null,100)}},getUniqueId:function(){var a;try{this._.expandoNumber=a=CKEDITOR.dom.domObject.prototype.getUniqueId.call(this)}catch(c){a=this._&&this._.expandoNumber}return a}},_:{cleanCustomData:function(){this.removeClass("cke_editable");this.restoreAttrs();for(var a=this.removeCustomData("classes");a&& +a.length;)this.removeClass(a.pop());if(!this.is("textarea")){var a=this.getDocument(),c=a.getHead();if(c.getCustomData("stylesheet")){var b=a.getCustomData("stylesheet_ref");--b?a.setCustomData("stylesheet_ref",b):(a.removeCustomData("stylesheet_ref"),c.removeCustomData("stylesheet").remove())}}}}});CKEDITOR.editor.prototype.editable=function(a){var c=this._.editable;if(c&&a)return 0;if(!arguments.length)return c;a?c=a instanceof CKEDITOR.editable?a:new CKEDITOR.editable(this,a):(c&&c.detach(),c= +null);return this._.editable=c};CKEDITOR.on("instanceLoaded",function(a){var c=a.editor;c.on("insertElement",function(a){a=a.data;a.type==CKEDITOR.NODE_ELEMENT&&(a.is("input")||a.is("textarea"))&&("false"!=a.getAttribute("contentEditable")&&a.data("cke-editable",a.hasAttribute("contenteditable")?"true":"1"),a.setAttribute("contentEditable",!1))});c.on("selectionChange",function(a){if(!c.readOnly){var d=c.getSelection();d&&!d.isLocked&&(d=c.checkDirty(),c.fire("lockSnapshot"),b(a),c.fire("unlockSnapshot"), +!d&&c.resetDirty())}})});CKEDITOR.on("instanceCreated",function(a){var c=a.editor;c.on("mode",function(){var a=c.editable();if(a&&a.isInline()){var b=c.title;a.changeAttr("role","textbox");a.changeAttr("aria-multiline","true");b&&a.changeAttr("aria-label",b);b&&a.changeAttr("title",b);var d=c.fire("ariaEditorHelpLabel",{}).label;if(d&&(b=this.ui.space(this.elementMode==CKEDITOR.ELEMENT_MODE_INLINE?"top":"contents"))){var g=CKEDITOR.tools.getNextId(),d=CKEDITOR.dom.element.createFromHtml('\x3cspan id\x3d"'+ +g+'" class\x3d"cke_voice_label"\x3e'+d+"\x3c/span\x3e");b.append(d);a.changeAttr("aria-describedby",g)}}})});CKEDITOR.addCss(".cke_editable{cursor:text}.cke_editable img,.cke_editable input,.cke_editable textarea{cursor:default}");w=CKEDITOR.dom.walker.whitespaces(!0);p=CKEDITOR.dom.walker.bookmark(!1,!0);q=CKEDITOR.dom.walker.empty();u=CKEDITOR.dom.walker.bogus();z=/(^|]*>)\s*<(p|div|address|h\d|center|pre)[^>]*>\s*(?:]*>| |\u00A0| )?\s*(:?<\/\2>)?\s*(?=$|<\/body>)/gi;r= +function(){function a(c){return c.type==CKEDITOR.NODE_ELEMENT}function b(c,d){var g,e,f,h,k=[],n=d.range.startContainer;g=d.range.startPath();for(var n=m[n.getName()],l=0,q=c.getChildren(),J=q.count(),x=-1,u=-1,t=0,v=g.contains(m.$list);lCKEDITOR.env.version&&d.getChildCount()&&d.getFirst().remove())}return function(d){var g=d.startContainer,e=g.getAscendant("table",1),f=!1;b(e.getElementsByTag("td"));b(e.getElementsByTag("th"));e=d.clone();e.setStart(g,0);e= +a(e).lastBackward();e||(e=d.clone(),e.setEndAt(g,CKEDITOR.POSITION_BEFORE_END),e=a(e).lastForward(),f=!0);e||(e=g);e.is("table")?(d.setStartAt(e,CKEDITOR.POSITION_BEFORE_START),d.collapse(!0),e.remove()):(e.is({tbody:1,thead:1,tfoot:1})&&(e=c(e,"tr",f)),e.is("tr")&&(e=c(e,e.getParent().is("thead")?"th":"td",f)),(g=e.getBogus())&&g.remove(),d.moveToPosition(e,f?CKEDITOR.POSITION_AFTER_START:CKEDITOR.POSITION_BEFORE_END))}}();v=function(){function a(c){c=new CKEDITOR.dom.walker(c);c.guard=function(a, +c){if(c)return!1;if(a.type==CKEDITOR.NODE_ELEMENT)return a.is(CKEDITOR.dtd.$list)||a.is(CKEDITOR.dtd.$listItem)};c.evaluator=function(a){return a.type==CKEDITOR.NODE_ELEMENT&&a.is(CKEDITOR.dtd.$listItem)};return c}return function(c){var b=c.startContainer,d=!1,g;g=c.clone();g.setStart(b,0);g=a(g).lastBackward();g||(g=c.clone(),g.setEndAt(b,CKEDITOR.POSITION_BEFORE_END),g=a(g).lastForward(),d=!0);g||(g=b);g.is(CKEDITOR.dtd.$list)?(c.setStartAt(g,CKEDITOR.POSITION_BEFORE_START),c.collapse(!0),g.remove()): +((b=g.getBogus())&&b.remove(),c.moveToPosition(g,d?CKEDITOR.POSITION_AFTER_START:CKEDITOR.POSITION_BEFORE_END),c.select())}}();t={eol:{detect:function(a,c){var b=a.range,d=b.clone(),g=b.clone(),e=new CKEDITOR.dom.elementPath(b.startContainer,c),f=new CKEDITOR.dom.elementPath(b.endContainer,c);d.collapse(1);g.collapse();e.block&&d.checkBoundaryOfElement(e.block,CKEDITOR.END)&&(b.setStartAfter(e.block),a.prependEolBr=1);f.block&&g.checkBoundaryOfElement(f.block,CKEDITOR.START)&&(b.setEndBefore(f.block), +a.appendEolBr=1)},fix:function(a,c){var b=c.getDocument(),d;a.appendEolBr&&(d=this.createEolBr(b),a.fragment.append(d));!a.prependEolBr||d&&!d.getPrevious()||a.fragment.append(this.createEolBr(b),1)},createEolBr:function(a){return a.createElement("br",{attributes:{"data-cke-eol":1}})}},bogus:{exclude:function(a){var c=a.range.getBoundaryNodes(),b=c.startNode,c=c.endNode;!c||!u(c)||b&&b.equals(c)||a.range.setEndBefore(c)}},tree:{rebuild:function(a,c){var b=a.range,d=b.getCommonAncestor(),g=new CKEDITOR.dom.elementPath(d, +c),e=new CKEDITOR.dom.elementPath(b.startContainer,c),b=new CKEDITOR.dom.elementPath(b.endContainer,c),f;d.type==CKEDITOR.NODE_TEXT&&(d=d.getParent());if(g.blockLimit.is({tr:1,table:1})){var h=g.contains("table").getParent();f=function(a){return!a.equals(h)}}else if(g.block&&g.block.is(CKEDITOR.dtd.$listItem)&&(e=e.contains(CKEDITOR.dtd.$list),b=b.contains(CKEDITOR.dtd.$list),!e.equals(b))){var k=g.contains(CKEDITOR.dtd.$list).getParent();f=function(a){return!a.equals(k)}}f||(f=function(a){return!a.equals(g.block)&& +!a.equals(g.blockLimit)});this.rebuildFragment(a,c,d,f)},rebuildFragment:function(a,c,b,d){for(var g;b&&!b.equals(c)&&d(b);)g=b.clone(0,1),a.fragment.appendTo(g),a.fragment=g,b=b.getParent()}},cell:{shrink:function(a){a=a.range;var c=a.startContainer,b=a.endContainer,d=a.startOffset,g=a.endOffset;c.type==CKEDITOR.NODE_ELEMENT&&c.equals(b)&&c.is("tr")&&++d==g&&a.shrink(CKEDITOR.SHRINK_TEXT)}}};y=function(){function a(c,b){var d=c.getParent();if(d.is(CKEDITOR.dtd.$inline))c[b?"insertBefore":"insertAfter"](d)} +function b(c,d,g){a(d);a(g,1);for(var e;e=g.getNext();)e.insertAfter(d),d=e;q(c)&&c.remove()}function g(a,c){var b=new CKEDITOR.dom.range(a);b.setStartAfter(c.startNode);b.setEndBefore(c.endNode);return b}return{list:{detectMerge:function(a,c){var b=g(c,a.bookmark),d=b.startPath(),e=b.endPath(),f=d.contains(CKEDITOR.dtd.$list),h=e.contains(CKEDITOR.dtd.$list);a.mergeList=f&&h&&f.getParent().equals(h.getParent())&&!f.equals(h);a.mergeListItems=d.block&&e.block&&d.block.is(CKEDITOR.dtd.$listItem)&& +e.block.is(CKEDITOR.dtd.$listItem);if(a.mergeList||a.mergeListItems)b=b.clone(),b.setStartBefore(a.bookmark.startNode),b.setEndAfter(a.bookmark.endNode),a.mergeListBookmark=b.createBookmark()},merge:function(a,c){if(a.mergeListBookmark){var d=a.mergeListBookmark.startNode,g=a.mergeListBookmark.endNode,e=new CKEDITOR.dom.elementPath(d,c),f=new CKEDITOR.dom.elementPath(g,c);if(a.mergeList){var h=e.contains(CKEDITOR.dtd.$list),k=f.contains(CKEDITOR.dtd.$list);h.equals(k)||(k.moveChildren(h),k.remove())}a.mergeListItems&& +(e=e.contains(CKEDITOR.dtd.$listItem),f=f.contains(CKEDITOR.dtd.$listItem),e.equals(f)||b(f,d,g));d.remove();g.remove()}}},block:{detectMerge:function(a,c){if(!a.tableContentsRanges&&!a.mergeListBookmark){var b=new CKEDITOR.dom.range(c);b.setStartBefore(a.bookmark.startNode);b.setEndAfter(a.bookmark.endNode);a.mergeBlockBookmark=b.createBookmark()}},merge:function(a,c){if(a.mergeBlockBookmark&&!a.purgeTableBookmark){var d=a.mergeBlockBookmark.startNode,g=a.mergeBlockBookmark.endNode,e=new CKEDITOR.dom.elementPath(d, +c),f=new CKEDITOR.dom.elementPath(g,c),e=e.block,f=f.block;e&&f&&!e.equals(f)&&b(f,d,g);d.remove();g.remove()}}},table:function(){function a(d){var g=[],e,f=new CKEDITOR.dom.walker(d),h=d.startPath().contains(b),k=d.endPath().contains(b),n={};f.guard=function(a,f){if(a.type==CKEDITOR.NODE_ELEMENT){var l="visited_"+(f?"out":"in");if(a.getCustomData(l))return;CKEDITOR.dom.element.setMarker(n,a,l,1)}if(f&&h&&a.equals(h))e=d.clone(),e.setEndAt(h,CKEDITOR.POSITION_BEFORE_END),g.push(e);else if(!f&&k&& +a.equals(k))e=d.clone(),e.setStartAt(k,CKEDITOR.POSITION_AFTER_START),g.push(e);else{if(l=!f)l=a.type==CKEDITOR.NODE_ELEMENT&&a.is(b)&&(!h||c(a,h))&&(!k||c(a,k));if(!l&&(l=f))if(a.is(b))var l=h&&h.getAscendant("table",!0),m=k&&k.getAscendant("table",!0),q=a.getAscendant("table",!0),l=l&&l.contains(q)||m&&m.contains(q);else l=void 0;l&&(e=d.clone(),e.selectNodeContents(a),g.push(e))}};f.lastForward();CKEDITOR.dom.element.clearAllMarkers(n);return g}function c(a,b){var d=CKEDITOR.POSITION_CONTAINS+ +CKEDITOR.POSITION_IS_CONTAINED,g=a.getPosition(b);return g===CKEDITOR.POSITION_IDENTICAL?!1:0===(g&d)}var b={td:1,th:1,caption:1};return{detectPurge:function(a){var c=a.range,d=c.clone();d.enlarge(CKEDITOR.ENLARGE_ELEMENT);var d=new CKEDITOR.dom.walker(d),g=0;d.evaluator=function(a){a.type==CKEDITOR.NODE_ELEMENT&&a.is(b)&&++g};d.checkForward();if(1e&&g&&g.intersectsNode(b.$)){var f=[{node:d.anchorNode,offset:d.anchorOffset},{node:d.focusNode,offset:d.focusOffset}];d.anchorNode==b.$&&d.anchorOffset>e&&(f[0].offset-=e);d.focusNode==b.$&&d.focusOffset>e&&(f[1].offset-=e)}}b.setText(x(b.getText(),1));f&&(b=a.getDocument().$, +d=b.getSelection(),b=b.createRange(),b.setStart(f[0].node,f[0].offset),b.collapse(!0),d.removeAllRanges(),d.addRange(b),d.extend(f[1].node,f[1].offset))}}function x(a,c){return c?a.replace(A,function(a,c){return c?" ":""}):a.replace(r,"")}function w(a,c){var b=c&&CKEDITOR.tools.htmlEncode(c)||"\x26nbsp;",b=CKEDITOR.dom.element.createFromHtml('\x3cdiv data-cke-hidden-sel\x3d"1" data-cke-temp\x3d"1" style\x3d"'+(CKEDITOR.env.ie&&14>CKEDITOR.env.version?"display:none":"position:fixed;top:0;left:-1000px;width:0;height:0;overflow:hidden;")+ +'"\x3e'+b+"\x3c/div\x3e",a.document);a.fire("lockSnapshot");a.editable().append(b);var d=a.getSelection(1),g=a.createRange(),e=d.root.on("selectionchange",function(a){a.cancel()},null,null,0);g.setStartAt(b,CKEDITOR.POSITION_AFTER_START);g.setEndAt(b,CKEDITOR.POSITION_BEFORE_END);d.selectRanges([g]);e.removeListener();a.fire("unlockSnapshot");a._.hiddenSelectionContainer=b}function p(a){var c={37:1,39:1,8:1,46:1};return function(d){var g=d.data.getKeystroke();if(c[g]){var e=a.getSelection(),f=e.getRanges()[0]; +e.isCollapsed()&&(f=f[38>g?"getPreviousEditableNode":"getNextEditableNode"]())&&f.type==CKEDITOR.NODE_ELEMENT&&"false"==f.getAttribute("contenteditable")&&(e=e.getStartElement(),!e.isBlockBoundary()||""!==(void 0===e.$.textContent?e.$.innerText:e.$.textContent)||b(e.getFirst())||8!==g&&46!==g||(e.remove(),a.fire("saveSnapshot")),a.getSelection().fake(f),d.data.preventDefault(),d.cancel())}}}function q(a){for(var c=0;c=d.getLength()?h.setStartAfter(d):h.setStartBefore(d));g&&g.type==CKEDITOR.NODE_TEXT&&(f?h.setEndAfter(g):h.setEndBefore(g));d=new CKEDITOR.dom.walker(h);d.evaluator=function(d){if(d.type==CKEDITOR.NODE_ELEMENT&& +d.isReadOnly()){var g=b.clone();b.setEndBefore(d);b.collapsed&&a.splice(c--,1);d.getPosition(h.endContainer)&CKEDITOR.POSITION_CONTAINS||(g.setStartAfter(d),g.collapsed||a.splice(c+1,0,g));return!0}return!1};d.next()}}return a}var u="function"!=typeof window.getSelection,z=1,r=CKEDITOR.tools.repeat("​",7),A=new RegExp(r+"( )?","g"),v,t,y,C=CKEDITOR.dom.walker.invisible(1),D=function(){function a(c){return function(a){var d=a.editor.createRange();d.moveToClosestEditablePosition(a.selected,c)&&a.editor.getSelection().selectRanges([d]); +return!1}}function c(a){return function(c){var d=c.editor,b=d.createRange(),g;if(!d.readOnly)return(g=b.moveToClosestEditablePosition(c.selected,a))||(g=b.moveToClosestEditablePosition(c.selected,!a)),g&&d.getSelection().selectRanges([b]),d.fire("saveSnapshot"),c.selected.remove(),g||(b.moveToElementEditablePosition(d.editable()),d.getSelection().selectRanges([b])),d.fire("saveSnapshot"),!1}}var d=a(),b=a(1);return{37:d,38:d,39:b,40:b,8:c(),46:c(1)}}();CKEDITOR.on("instanceCreated",function(a){function c(){var a= +d.getSelection();a&&a.removeAllRanges()}var d=a.editor;d.on("contentDom",function(){function a(){v=new CKEDITOR.dom.selection(d.getSelection());v.lock()}function c(){f.removeListener("mouseup",c);q.removeListener("mouseup",c);var a=CKEDITOR.document.$.selection,d=a.createRange();"None"!=a.type&&d.parentElement()&&d.parentElement().ownerDocument==e.$&&d.select()}function b(a){var c,d;c=(c=this.document.getActive())?"input"===c.getName()||"textarea"===c.getName():!1;c||(c=this.getSelection(1),(d=g(c))&& +!d.equals(h)&&(c.selectElement(d),a.data.preventDefault()))}function g(a){a=a.getRanges()[0];return a?(a=a.startContainer.getAscendant(function(a){return a.type==CKEDITOR.NODE_ELEMENT&&a.hasAttribute("contenteditable")},!0))&&"false"===a.getAttribute("contenteditable")?a:null:null}var e=d.document,f=CKEDITOR.document,h=d.editable(),m=e.getBody(),q=e.getDocumentElement(),x=h.isInline(),t,v;CKEDITOR.env.gecko&&h.attachListener(h,"focus",function(a){a.removeListener();0!==t&&(a=d.getSelection().getNative())&& +a.isCollapsed&&a.anchorNode==h.$&&(a=d.createRange(),a.moveToElementEditStart(h),a.select())},null,null,-2);h.attachListener(h,CKEDITOR.env.webkit||CKEDITOR.env.gecko?"focusin":"focus",function(){if(t&&(CKEDITOR.env.webkit||CKEDITOR.env.gecko)){t=d._.previousActive&&d._.previousActive.equals(e.getActive());var a=null!=d._.previousScrollTop&&d._.previousScrollTop!=h.$.scrollTop;CKEDITOR.env.webkit&&t&&a&&(h.$.scrollTop=d._.previousScrollTop)}d.unlockSelection(t);t=0},null,null,-1);h.attachListener(h, +"mousedown",function(){t=0});if(CKEDITOR.env.ie||CKEDITOR.env.gecko||x)u?h.attachListener(h,"beforedeactivate",a,null,null,-1):h.attachListener(d,"selectionCheck",a,null,null,-1),h.attachListener(h,CKEDITOR.env.webkit||CKEDITOR.env.gecko?"focusout":"blur",function(){var a=v&&(v.isFake||2>v.getRanges().length);CKEDITOR.env.gecko&&!x&&a||(d.lockSelection(v),t=1)},null,null,-1),h.attachListener(h,"mousedown",function(){t=0});if(CKEDITOR.env.ie&&!x){var r;h.attachListener(h,"mousedown",function(a){2== +a.data.$.button&&((a=d.document.getSelection())&&a.getType()!=CKEDITOR.SELECTION_NONE||(r=d.window.getScrollPosition()))});h.attachListener(h,"mouseup",function(a){2==a.data.$.button&&r&&(d.document.$.documentElement.scrollLeft=r.x,d.document.$.documentElement.scrollTop=r.y);r=null});if("BackCompat"!=e.$.compatMode){if(CKEDITOR.env.ie7Compat||CKEDITOR.env.ie6Compat){var w,z;q.on("mousedown",function(a){function c(a){a=a.data.$;if(w){var d=m.$.createTextRange();try{d.moveToPoint(a.clientX,a.clientY)}catch(b){}w.setEndPoint(0> +z.compareEndPoints("StartToStart",d)?"EndToEnd":"StartToStart",d);w.select()}}function d(){q.removeListener("mousemove",c);f.removeListener("mouseup",d);q.removeListener("mouseup",d);w.select()}a=a.data;if(a.getTarget().is("html")&&a.$.yCKEDITOR.env.version)q.on("mousedown",function(a){a.data.getTarget().is("html")&& +(f.on("mouseup",c),q.on("mouseup",c))})}}h.attachListener(h,"selectionchange",k,d);h.attachListener(h,"keyup",l,d);h.attachListener(h,"touchstart",l,d);h.attachListener(h,"touchend",l,d);CKEDITOR.env.ie&&h.attachListener(h,"keydown",b,d);h.attachListener(h,CKEDITOR.env.webkit||CKEDITOR.env.gecko?"focusin":"focus",function(){d.forceNextSelectionCheck();d.selectionChange(1)});if(x&&(CKEDITOR.env.webkit||CKEDITOR.env.gecko)){var y;h.attachListener(h,"mousedown",function(){y=1});h.attachListener(e.getDocumentElement(), +"mouseup",function(){y&&l.call(d);y=0})}else h.attachListener(CKEDITOR.env.ie?h:e.getDocumentElement(),"mouseup",l,d);CKEDITOR.env.webkit&&h.attachListener(e,"keydown",function(a){switch(a.data.getKey()){case 13:case 33:case 34:case 35:case 36:case 37:case 39:case 8:case 45:case 46:h.hasFocus&&n(h)}},null,null,-1);h.attachListener(h,"keydown",p(d),null,null,-1)});d.on("setData",function(){d.unlockSelection();CKEDITOR.env.webkit&&c()});d.on("contentDomUnload",function(){d.unlockSelection()});if(CKEDITOR.env.ie9Compat)d.on("beforeDestroy", +c,null,null,9);d.on("dataReady",function(){delete d._.fakeSelection;delete d._.hiddenSelectionContainer;d.selectionChange(1)});d.on("loadSnapshot",function(){var a=CKEDITOR.dom.walker.nodeType(CKEDITOR.NODE_ELEMENT),c=d.editable().getLast(a);c&&c.hasAttribute("data-cke-hidden-sel")&&(c.remove(),CKEDITOR.env.gecko&&(a=d.editable().getFirst(a))&&a.is("br")&&a.getAttribute("_moz_editor_bogus_node")&&a.remove())},null,null,100);d.on("key",function(a){if("wysiwyg"==d.mode){var c=d.getSelection();if(c.isFake){var b= +D[a.data.keyCode];if(b)return b({editor:d,selected:c.getSelectedElement(),selection:c,keyEvent:a})}}})});if(CKEDITOR.env.webkit)CKEDITOR.on("instanceReady",function(a){var c=a.editor;c.on("selectionChange",function(){var a=c.editable(),d=a.getCustomData("cke-fillingChar");d&&(d.getCustomData("ready")?(n(a),a.editor.fire("selectionCheck")):d.setCustomData("ready",1))},null,null,-1);c.on("beforeSetMode",function(){n(c.editable())},null,null,-1);c.on("getSnapshot",function(a){a.data&&(a.data=x(a.data))}, +c,null,20);c.on("toDataFormat",function(a){a.data.dataValue=x(a.data.dataValue)},null,null,0)});CKEDITOR.editor.prototype.selectionChange=function(a){(a?k:l).call(this)};CKEDITOR.editor.prototype.getSelection=function(a){return!this._.savedSelection&&!this._.fakeSelection||a?(a=this.editable())&&"wysiwyg"==this.mode&&"recreating"!==this.status?new CKEDITOR.dom.selection(a):null:this._.savedSelection||this._.fakeSelection};CKEDITOR.editor.prototype.getSelectedRanges=function(a){var c=this.getSelection(); +return c&&c.getRanges(a)||[]};CKEDITOR.editor.prototype.lockSelection=function(a){a=a||this.getSelection(1);return a.getType()!=CKEDITOR.SELECTION_NONE?(!a.isLocked&&a.lock(),this._.savedSelection=a,!0):!1};CKEDITOR.editor.prototype.unlockSelection=function(a){var c=this._.savedSelection;return c?(c.unlock(a),delete this._.savedSelection,!0):!1};CKEDITOR.editor.prototype.forceNextSelectionCheck=function(){delete this._.selectionPreviousPath};CKEDITOR.dom.document.prototype.getSelection=function(){return new CKEDITOR.dom.selection(this)}; +CKEDITOR.dom.range.prototype.select=function(){var a=this.root instanceof CKEDITOR.editable?this.root.editor.getSelection():new CKEDITOR.dom.selection(this.root);a.selectRanges([this]);return a};CKEDITOR.SELECTION_NONE=1;CKEDITOR.SELECTION_TEXT=2;CKEDITOR.SELECTION_ELEMENT=3;CKEDITOR.dom.selection=function(a){if(a instanceof CKEDITOR.dom.selection){var c=a;a=a.root}var d=a instanceof CKEDITOR.dom.element;this.rev=c?c.rev:z++;this.document=a instanceof CKEDITOR.dom.document?a:a.getDocument();this.root= +d?a:this.document.getBody();this.isLocked=0;this._={cache:{}};if(c)return CKEDITOR.tools.extend(this._.cache,c._.cache),this.isFake=c.isFake,this.isLocked=c.isLocked,this;a=this.getNative();var b,g;if(a)if(a.getRangeAt)b=(g=a.rangeCount&&a.getRangeAt(0))&&new CKEDITOR.dom.node(g.commonAncestorContainer);else{try{g=a.createRange()}catch(e){}b=g&&CKEDITOR.dom.element.get(g.item&&g.item(0)||g.parentElement())}if(!b||b.type!=CKEDITOR.NODE_ELEMENT&&b.type!=CKEDITOR.NODE_TEXT||!this.root.equals(b)&&!this.root.contains(b))this._.cache.type= +CKEDITOR.SELECTION_NONE,this._.cache.startElement=null,this._.cache.selectedElement=null,this._.cache.selectedText="",this._.cache.ranges=new CKEDITOR.dom.rangeList;return this};var B={img:1,hr:1,li:1,table:1,tr:1,td:1,th:1,embed:1,object:1,ol:1,ul:1,a:1,input:1,form:1,select:1,textarea:1,button:1,fieldset:1,thead:1,tfoot:1};CKEDITOR.tools.extend(CKEDITOR.dom.selection,{_removeFillingCharSequenceString:x,_createFillingCharSequenceNode:g,FILLING_CHAR_SEQUENCE:r});CKEDITOR.dom.selection.prototype={getNative:function(){return void 0!== +this._.cache.nativeSel?this._.cache.nativeSel:this._.cache.nativeSel=u?this.document.$.selection:this.document.getWindow().$.getSelection()},getType:u?function(){var a=this._.cache;if(a.type)return a.type;var c=CKEDITOR.SELECTION_NONE;try{var d=this.getNative(),b=d.type;"Text"==b&&(c=CKEDITOR.SELECTION_TEXT);"Control"==b&&(c=CKEDITOR.SELECTION_ELEMENT);d.createRange().parentElement()&&(c=CKEDITOR.SELECTION_TEXT)}catch(g){}return a.type=c}:function(){var a=this._.cache;if(a.type)return a.type;var c= +CKEDITOR.SELECTION_TEXT,d=this.getNative();if(!d||!d.rangeCount)c=CKEDITOR.SELECTION_NONE;else if(1==d.rangeCount){var d=d.getRangeAt(0),b=d.startContainer;b==d.endContainer&&1==b.nodeType&&1==d.endOffset-d.startOffset&&B[b.childNodes[d.startOffset].nodeName.toLowerCase()]&&(c=CKEDITOR.SELECTION_ELEMENT)}return a.type=c},getRanges:function(){var a=u?function(){function a(c){return(new CKEDITOR.dom.node(c)).getIndex()}var c=function(c,d){c=c.duplicate();c.collapse(d);var b=c.parentElement();if(!b.hasChildNodes())return{container:b, +offset:0};for(var g=b.children,e,f,h=c.duplicate(),k=0,n=g.length-1,l=-1,m,q;k<=n;)if(l=Math.floor((k+n)/2),e=g[l],h.moveToElementText(e),m=h.compareEndPoints("StartToStart",c),0m)k=l+1;else return{container:b,offset:a(e)};if(-1==l||l==g.length-1&&0>m){h.moveToElementText(b);h.setEndPoint("StartToStart",c);h=h.text.replace(/(\r\n|\r)/g,"\n").length;g=b.childNodes;if(!h)return e=g[g.length-1],e.nodeType!=CKEDITOR.NODE_TEXT?{container:b,offset:g.length}:{container:e,offset:e.nodeValue.length}; +for(b=g.length;0b.length?this.selectElement(d):this.selectRanges(b))}},reset:function(){this._.cache={};this.isFake=0;var a=this.root.editor;if(a&&a._.fakeSelection)if(this.rev==a._.fakeSelection.rev){delete a._.fakeSelection;var c=a._.hiddenSelectionContainer;if(c){var d=a.checkDirty();a.fire("lockSnapshot");c.remove();a.fire("unlockSnapshot");!d&&a.resetDirty()}delete a._.hiddenSelectionContainer}else CKEDITOR.warn("selection-fake-reset");this.rev=z++},selectElement:function(a){var c=new CKEDITOR.dom.range(this.root); +c.setStartBefore(a);c.setEndAfter(a);this.selectRanges([c])},selectRanges:function(c){var b=this.root.editor,e=b&&b._.hiddenSelectionContainer;this.reset();if(e)for(var e=this.root,f,k=0;k]*>)[ \t\r\n]*/gi,"$1");f=f.replace(/([ \t\n\r]+| )/g," ");f=f.replace(/]*>/gi,"\n");if(CKEDITOR.env.ie){var h=a.getDocument().createElement("div");h.append(e);e.$.outerHTML="\x3cpre\x3e"+f+"\x3c/pre\x3e";e.copyAttributes(h.getFirst());e=h.getFirst().remove()}else e.setHtml(f);c=e}else f?c=x(d?[a.getHtml()]:g(a),c):a.moveChildren(c);c.replace(a);if(b){var d=c,k;(k=d.getPrevious(G))&&k.type==CKEDITOR.NODE_ELEMENT&& +k.is("pre")&&(b=n(k.getHtml(),/\n$/,"")+"\n\n"+n(d.getHtml(),/^\n/,""),CKEDITOR.env.ie?d.$.outerHTML="\x3cpre\x3e"+b+"\x3c/pre\x3e":d.setHtml(b),k.remove())}else d&&u(c)}function g(a){var c=[];n(a.getOuterHtml(),/(\S\s*)\n(?:\s|(]+data-cke-bookmark.*?\/span>))*\n(?!$)/gi,function(a,c,d){return c+"\x3c/pre\x3e"+d+"\x3cpre\x3e"}).replace(/([\s\S]*?)<\/pre>/gi,function(a,d){c.push(d)});return c}function n(a,c,d){var b="",g="";a=a.replace(/(^]+data-cke-bookmark.*?\/span>)|(]+data-cke-bookmark.*?\/span>$)/gi, +function(a,c,d){c&&(b=c);d&&(g=d);return""});return b+a.replace(c,d)+g}function x(a,c){var d;1=b&&a<=e}function a(a){a=a.toString(16);return 1==a.length?"0"+a:a}CKEDITOR.tools.color=CKEDITOR.tools.createClass({$:function(a,b){this._.initialColorCode=a;this._.defaultValue=b;this._.parseInput(a)},proto:{getHex:function(){if(!this._.isValidColor)return this._.defaultValue; +var a=this._.blendAlphaColor(this._.red,this._.green,this._.blue,this._.alpha);return this._.formatHexString(a[0],a[1],a[2])},getHexWithAlpha:function(){if(!this._.isValidColor)return this._.defaultValue;var a=Math.round(this._.alpha*CKEDITOR.tools.color.MAX_RGB_CHANNEL_VALUE);return this._.formatHexString(this._.red,this._.green,this._.blue,a)},getRgb:function(){if(!this._.isValidColor)return this._.defaultValue;var a=this._.blendAlphaColor(this._.red,this._.green,this._.blue,this._.alpha);return this._.formatRgbString("rgb", +a[0],a[1],a[2])},getRgba:function(){return this._.isValidColor?this._.formatRgbString("rgba",this._.red,this._.green,this._.blue,this._.alpha):this._.defaultValue},getHsl:function(){var a=0===this._.alpha||1===this._.alpha;if(!this._.isValidColor)return this._.defaultValue;this._.type===CKEDITOR.tools.color.TYPE_HSL&&a?a=[this._.hue,this._.saturation,this._.lightness]:(a=this._.blendAlphaColor(this._.red,this._.green,this._.blue,this._.alpha),a=this._.rgbToHsl(a[0],a[1],a[2]));return this._.formatHslString("hsl", +a[0],a[1],a[2])},getHsla:function(){var a;if(!this._.isValidColor)return this._.defaultValue;a=this._.type===CKEDITOR.tools.color.TYPE_HSL?[this._.hue,this._.saturation,this._.lightness]:this._.rgbToHsl(this._.red,this._.green,this._.blue);return this._.formatHslString("hsla",a[0],a[1],a[2],this._.alpha)},getInitialValue:function(){return this._.initialColorCode}},_:{initialColorCode:"",isValidColor:!0,type:0,hue:0,saturation:0,lightness:0,red:0,green:0,blue:0,alpha:1,blendAlphaColor:function(a,b, +e,c){return CKEDITOR.tools.array.map([a,b,e],function(a){return Math.round(CKEDITOR.tools.color.MAX_RGB_CHANNEL_VALUE-c*(CKEDITOR.tools.color.MAX_RGB_CHANNEL_VALUE-a))})},formatHexString:function(b,e,f,c){b="#"+a(b)+a(e)+a(f);void 0!==c&&(b+=a(c));return b.toUpperCase()},formatRgbString:function(a,b,e,c,d){b=[b,e,c];void 0!==d&&b.push(d);return a+"("+b.join(",")+")"},formatHslString:function(a,b,e,c,d){return a+"("+b+","+e+"%,"+c+"%"+(void 0!==d?","+d:"")+")"},parseInput:function(a){if("string"!== +typeof a)this._.isValidColor=!1;else{a=CKEDITOR.tools.trim(a);var b=this._.matchStringToNamedColor(a);b&&(a=b);var b=this._.extractColorChannelsFromHex(a),e=this._.extractColorChannelsFromRgba(a);a=this._.extractColorChannelsFromHsla(a);(a=b||e||a)?(this._.type=a.type,this._.red=a.red,this._.green=a.green,this._.blue=a.blue,this._.alpha=a.alpha,a.type===CKEDITOR.tools.color.TYPE_HSL&&(this._.hue=a.hue,this._.saturation=a.saturation,this._.lightness=a.lightness)):this._.isValidColor=!1}},matchStringToNamedColor:function(a){return CKEDITOR.tools.color.namedColors[a.toLowerCase()]|| +null},extractColorChannelsFromHex:function(a){-1===a.indexOf("#")&&(a="#"+a);a.match(CKEDITOR.tools.color.hex3CharsRegExp)&&(a=this._.hex3ToHex6(a));a.match(CKEDITOR.tools.color.hex4CharsRegExp)&&(a=this._.hex4ToHex8(a));if(!a.match(CKEDITOR.tools.color.hex6CharsRegExp)&&!a.match(CKEDITOR.tools.color.hex8CharsRegExp))return null;a=a.split("");var b=1;a[7]&&a[8]&&(b=parseInt(a[7]+a[8],16),b/=CKEDITOR.tools.color.MAX_RGB_CHANNEL_VALUE,b=Number(b.toFixed(1)));return{type:CKEDITOR.tools.color.TYPE_RGB, +red:parseInt(a[1]+a[2],16),green:parseInt(a[3]+a[4],16),blue:parseInt(a[5]+a[6],16),alpha:b}},extractColorChannelsFromRgba:function(a){var e=this._.extractColorChannelsByPattern(a,CKEDITOR.tools.color.rgbRegExp);if(!e||3>e.length||4e.length||4=e?(k=a.createText(""),k.insertAfter(this)):(b=a.createText(""),b.insertAfter(k),b.remove()));return k},substring:function(b, +h){return"number"!=typeof h?this.$.nodeValue.substr(b):this.$.nodeValue.substring(b,h)}}),function(){function b(b,e,a){var h=b.serializable,l=e[a?"endContainer":"startContainer"],m=a?"endOffset":"startOffset",c=h?e.document.getById(b.startNode):b.startNode;b=h?e.document.getById(b.endNode):b.endNode;l.equals(c.getPrevious())?(e.startOffset=e.startOffset-l.getLength()-b.getPrevious().getLength(),l=b.getNext()):l.equals(b.getPrevious())&&(e.startOffset-=l.getLength(),l=b.getNext());l.equals(c.getParent())&& +e[m]++;l.equals(b.getParent())&&e[m]++;e[a?"endContainer":"startContainer"]=l;return e}CKEDITOR.dom.rangeList=function(b){if(b instanceof CKEDITOR.dom.rangeList)return b;b?b instanceof CKEDITOR.dom.range&&(b=[b]):b=[];return CKEDITOR.tools.extend(b,h)};var h={createIterator:function(){var b=this,e=CKEDITOR.dom.walker.bookmark(),a=[],h;return{getNextRange:function(l){h=void 0===h?0:h+1;var m=b[h];if(m&&1c?-1:1}),f=0, +h;fCKEDITOR.env.version?a[k].$.styleSheet.cssText+=h:a[k].$.innerHTML+=h}}var k={};CKEDITOR.skin={path:b,loadPart:function(a,c){CKEDITOR.skin.name!=CKEDITOR.skinName.split(",")[0]?CKEDITOR.scriptLoader.load(CKEDITOR.getUrl(b()+"skin.js"),function(){f(a,c)}):f(a,c)}, +getPath:function(a){return CKEDITOR.getUrl(h(a))},icons:{},addIcon:function(a,c,b,e){a=a.toLowerCase();this.icons[a]||(this.icons[a]={path:c,offset:b||0,bgsize:e||"16px"})},getIconStyle:function(a,c,b,e,f){var h;a&&(a=a.toLowerCase(),c&&(h=this.icons[a+"-rtl"]),h||(h=this.icons[a]));a=b||h&&h.path||"";e=e||h&&h.offset;f=f||h&&h.bgsize||"16px";a&&(a=a.replace(/'/g,"\\'"));return a&&"background-image:url('"+CKEDITOR.getUrl(a)+"');background-position:0 "+e+"px;background-size:"+f+";"}};CKEDITOR.tools.extend(CKEDITOR.editor.prototype, +{getUiColor:function(){return this.uiColor},setUiColor:function(b){var g=e(CKEDITOR.document);return(this.setUiColor=function(b){this.uiColor=b;var d=CKEDITOR.skin.chameleon,e="",f="";"function"==typeof d&&(e=d(this,"editor"),f=d(this,"panel"));b=[[c,b]];a([g],e,b);a(m,f,b)}).call(this,b)}});var l="cke_ui_color",m=[],c=/\$color/g;CKEDITOR.on("instanceLoaded",function(b){if(!CKEDITOR.env.ie||!CKEDITOR.env.quirks){var g=b.editor;b=function(b){b=(b.data[0]||b.data).element.getElementsByTag("iframe").getItem(0).getFrameDocument(); +if(!b.getById("cke_ui_color")){var d=e(b);m.push(d);g.on("destroy",function(){m=CKEDITOR.tools.array.filter(m,function(a){return d!==a})});(b=g.getUiColor())&&a([d],CKEDITOR.skin.chameleon(g,"panel"),[[c,b]])}};g.on("panelShow",b);g.on("menuShow",b);g.config.uiColor&&g.setUiColor(g.config.uiColor)}})}(),function(){var b=CKEDITOR.dom.element.createFromHtml('\x3cdiv style\x3d"width:0;height:0;position:absolute;left:-10000px;border:1px solid;border-color:red blue"\x3e\x3c/div\x3e',CKEDITOR.document); +b.appendTo(CKEDITOR.document.getHead());try{var h=b.getComputedStyle("border-top-color"),f=b.getComputedStyle("border-right-color");CKEDITOR.env.hc=!(!h||h!=f)}catch(e){CKEDITOR.env.hc=!1}b.remove();CKEDITOR.env.hc&&(CKEDITOR.env.cssClass+=" cke_hc");CKEDITOR.document.appendStyleText(".cke{visibility:hidden;}");CKEDITOR.status="loaded";CKEDITOR.fireOnce("loaded");if(b=CKEDITOR._.pending)for(delete CKEDITOR._.pending,h=0;hh;h++){var l=h,m;m=parseInt(a[h],16);m=("0"+(0>e?0|m*(1+e):0|m+(255-m)*e).toString(16)).slice(-2);a[l]=m}return"#"+a.join("")}}(),h={editor:new CKEDITOR.template("{id}.cke_chrome [border-color:{defaultBorder};] {id} .cke_top [ background-color:{defaultBackground};border-bottom-color:{defaultBorder};] {id} .cke_bottom [background-color:{defaultBackground};border-top-color:{defaultBorder};] {id} .cke_resizer [border-right-color:{ckeResizer}] {id} .cke_dialog_title [background-color:{defaultBackground};border-bottom-color:{defaultBorder};] {id} .cke_dialog_footer [background-color:{defaultBackground};outline-color:{defaultBorder};] {id} .cke_dialog_tab [background-color:{dialogTab};border-color:{defaultBorder};] {id} .cke_dialog_tab:hover [background-color:{lightBackground};] {id} .cke_dialog_contents [border-top-color:{defaultBorder};] {id} .cke_dialog_tab_selected, {id} .cke_dialog_tab_selected:hover [background:{dialogTabSelected};border-bottom-color:{dialogTabSelectedBorder};] {id} .cke_dialog_body [background:{dialogBody};border-color:{defaultBorder};] {id} a.cke_button_off:hover,{id} a.cke_button_off:focus,{id} a.cke_button_off:active [background-color:{darkBackground};border-color:{toolbarElementsBorder};] {id} .cke_button_on [background-color:{ckeButtonOn};border-color:{toolbarElementsBorder};] {id} .cke_toolbar_separator,{id} .cke_toolgroup a.cke_button:last-child:after,{id} .cke_toolgroup a.cke_button.cke_button_disabled:hover:last-child:after [background-color: {toolbarElementsBorder};border-color: {toolbarElementsBorder};] {id} a.cke_combo_button:hover,{id} a.cke_combo_button:focus,{id} .cke_combo_on a.cke_combo_button [border-color:{toolbarElementsBorder};background-color:{darkBackground};] {id} .cke_combo:after [border-color:{toolbarElementsBorder};] {id} .cke_path_item [color:{elementsPathColor};] {id} a.cke_path_item:hover,{id} a.cke_path_item:focus,{id} a.cke_path_item:active [background-color:{darkBackground};] {id}.cke_panel [border-color:{defaultBorder};] "), panel:new CKEDITOR.template(".cke_panel_grouptitle [background-color:{lightBackground};border-color:{defaultBorder};] .cke_menubutton_icon [background-color:{menubuttonIcon};] .cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active [background-color:{menubuttonHover};] .cke_menubutton:hover .cke_menubutton_icon, .cke_menubutton:focus .cke_menubutton_icon, .cke_menubutton:active .cke_menubutton_icon [background-color:{menubuttonIconHover};] .cke_menubutton_disabled:hover .cke_menubutton_icon,.cke_menubutton_disabled:focus .cke_menubutton_icon,.cke_menubutton_disabled:active .cke_menubutton_icon [background-color:{menubuttonIcon};] .cke_menuseparator [background-color:{menubuttonIcon};] a:hover.cke_colorbox, a:active.cke_colorbox [border-color:{defaultBorder};] a:hover.cke_colorauto, a:hover.cke_colormore, a:active.cke_colorauto, a:active.cke_colormore [background-color:{ckeColorauto};border-color:{defaultBorder};] ")}; -return function(g,e){var a=b(g.uiColor,.4),a={id:"."+g.id,defaultBorder:b(a,-.2),toolbarElementsBorder:b(a,-.25),defaultBackground:a,lightBackground:b(a,.8),darkBackground:b(a,-.15),ckeButtonOn:b(a,.4),ckeResizer:b(a,-.4),ckeColorauto:b(a,.8),dialogBody:b(a,.7),dialogTab:b(a,.65),dialogTabSelected:"#FFF",dialogTabSelectedBorder:"#FFF",elementsPathColor:b(a,-.6),menubuttonHover:b(a,.1),menubuttonIcon:b(a,.5),menubuttonIconHover:b(a,.3)};return h[e].output(a).replace(/\[/g,"{").replace(/\]/g,"}")}}(); -CKEDITOR.plugins.add("dialogui",{onLoad:function(){var b=function(a){this._||(this._={});this._["default"]=this._.initValue=a["default"]||"";this._.required=a.required||!1;for(var b=[this._],d=1;darguments.length)){var g=b.call(this,f);g.labelId=CKEDITOR.tools.getNextId()+ -"_label";this._.children=[];var h={role:f.role||"presentation"};f.includeLabel&&(h["aria-labelledby"]=g.labelId);CKEDITOR.ui.dialog.uiElement.call(this,a,f,d,"div",null,h,function(){var d=[],b=f.required?" cke_required":"";"horizontal"!=f.labelLayout?d.push('\x3clabel class\x3d"cke_dialog_ui_labeled_label'+b+'" ',' id\x3d"'+g.labelId+'"',g.inputId?' for\x3d"'+g.inputId+'"':"",(f.labelStyle?' style\x3d"'+f.labelStyle+'"':"")+"\x3e",f.label,"\x3c/label\x3e",'\x3cdiv class\x3d"cke_dialog_ui_labeled_content"', -f.controlStyle?' style\x3d"'+f.controlStyle+'"':"",' role\x3d"presentation"\x3e',e.call(this,a,f),"\x3c/div\x3e"):(b={type:"hbox",widths:f.widths,padding:0,children:[{type:"html",html:'\x3clabel class\x3d"cke_dialog_ui_labeled_label'+b+'" id\x3d"'+g.labelId+'" for\x3d"'+g.inputId+'"'+(f.labelStyle?' style\x3d"'+f.labelStyle+'"':"")+"\x3e"+CKEDITOR.tools.htmlEncode(f.label)+"\x3c/label\x3e"},{type:"html",html:'\x3cspan class\x3d"cke_dialog_ui_labeled_content"'+(f.controlStyle?' style\x3d"'+f.controlStyle+ -'"':"")+"\x3e"+e.call(this,a,f)+"\x3c/span\x3e"}]},CKEDITOR.dialog._.uiElementBuilders.hbox.build(a,b,d));return d.join("")})}},textInput:function(a,f,d){if(!(3>arguments.length)){b.call(this,f);var e=this._.inputId=CKEDITOR.tools.getNextId()+"_textInput",g={"class":"cke_dialog_ui_input_"+f.type,id:e,type:f.type};f.validate&&(this.validate=f.validate);f.maxLength&&(g.maxlength=f.maxLength);f.size&&(g.size=f.size);f.inputStyle&&(g.style=f.inputStyle);var h=this,k=!1;a.on("load",function(){h.getInputElement().on("keydown", -function(a){13==a.data.getKeystroke()&&(k=!0)});h.getInputElement().on("keyup",function(d){13==d.data.getKeystroke()&&k&&(a.getButton("ok")&&setTimeout(function(){a.getButton("ok").click()},0),k=!1);h.bidi&&l.call(h,d)},null,null,1E3)});CKEDITOR.ui.dialog.labeledElement.call(this,a,f,d,function(){var a=['\x3cdiv class\x3d"cke_dialog_ui_input_',f.type,'" role\x3d"presentation"'];f.width&&a.push('style\x3d"width:'+f.width+'" ');a.push("\x3e\x3cinput ");g["aria-labelledby"]=this._.labelId;this._.required&& -(g["aria-required"]=this._.required);for(var c in g)a.push(c+'\x3d"'+g[c]+'" ');a.push(" /\x3e\x3c/div\x3e");return a.join("")})}},textarea:function(a,f,d){if(!(3>arguments.length)){b.call(this,f);var e=this,g=this._.inputId=CKEDITOR.tools.getNextId()+"_textarea",h={};f.validate&&(this.validate=f.validate);h.rows=f.rows||5;h.cols=f.cols||20;h["class"]="cke_dialog_ui_input_textarea "+(f["class"]||"");"undefined"!=typeof f.inputStyle&&(h.style=f.inputStyle);f.dir&&(h.dir=f.dir);if(e.bidi)a.on("load", -function(){e.getInputElement().on("keyup",l)},e);CKEDITOR.ui.dialog.labeledElement.call(this,a,f,d,function(){h["aria-labelledby"]=this._.labelId;this._.required&&(h["aria-required"]=this._.required);var a=['\x3cdiv class\x3d"cke_dialog_ui_input_textarea" role\x3d"presentation"\x3e\x3ctextarea id\x3d"',g,'" '],c;for(c in h)a.push(c+'\x3d"'+CKEDITOR.tools.htmlEncode(h[c])+'" ');a.push("\x3e",CKEDITOR.tools.htmlEncode(e._["default"]),"\x3c/textarea\x3e\x3c/div\x3e");return a.join("")})}},checkbox:function(a, -f,d){if(!(3>arguments.length)){var e=b.call(this,f,{"default":!!f["default"]});f.validate&&(this.validate=f.validate);CKEDITOR.ui.dialog.uiElement.call(this,a,f,d,"span",null,null,function(){var d=CKEDITOR.tools.extend({},f,{id:f.id?f.id+"_checkbox":CKEDITOR.tools.getNextId()+"_checkbox"},!0),b=[],g=CKEDITOR.tools.getNextId()+"_label",h={"class":"cke_dialog_ui_checkbox_input",type:"checkbox","aria-labelledby":g};k(d);f["default"]&&(h.checked="checked");"undefined"!=typeof d.inputStyle&&(d.style=d.inputStyle); -e.checkbox=new CKEDITOR.ui.dialog.uiElement(a,d,b,"input",null,h);b.push(' \x3clabel id\x3d"',g,'" for\x3d"',h.id,'"'+(f.labelStyle?' style\x3d"'+f.labelStyle+'"':"")+"\x3e",CKEDITOR.tools.htmlEncode(f.label),"\x3c/label\x3e");return b.join("")})}},radio:function(a,f,d){if(!(3>arguments.length)){b.call(this,f);this._["default"]||(this._["default"]=this._.initValue=f.items[0][1]);f.validate&&(this.validate=f.validate);var e=[],g=this;f.role="radiogroup";f.includeLabel=!0;CKEDITOR.ui.dialog.labeledElement.call(this, -a,f,d,function(){for(var d=[],b=[],h=(f.id?f.id:CKEDITOR.tools.getNextId())+"_radio",l=0;larguments.length)){var e=b.call(this,f);f.validate&&(this.validate=f.validate);e.inputId=CKEDITOR.tools.getNextId()+"_select";CKEDITOR.ui.dialog.labeledElement.call(this,a,f,d,function(){var d=CKEDITOR.tools.extend({},f,{id:f.id?f.id+"_select":CKEDITOR.tools.getNextId()+"_select"},!0),b=[],g=[],h={id:e.inputId,"class":"cke_dialog_ui_input_select","aria-labelledby":this._.labelId};b.push('\x3cdiv class\x3d"cke_dialog_ui_input_', -f.type,'" role\x3d"presentation"');f.width&&b.push('style\x3d"width:'+f.width+'" ');b.push("\x3e");void 0!==f.size&&(h.size=f.size);void 0!==f.multiple&&(h.multiple=f.multiple);k(d);for(var l=0,m;larguments.length)){void 0===f["default"]&&(f["default"]="");var e=CKEDITOR.tools.extend(b.call(this,f),{definition:f,buttons:[]});f.validate&&(this.validate=f.validate);a.on("load",function(){CKEDITOR.document.getById(e.frameId).getParent().addClass("cke_dialog_ui_input_file")});CKEDITOR.ui.dialog.labeledElement.call(this,a,f,d,function(){e.frameId=CKEDITOR.tools.getNextId()+"_fileInput";var a=['\x3ciframe frameborder\x3d"0" allowtransparency\x3d"0" class\x3d"cke_dialog_ui_input_file" role\x3d"presentation" id\x3d"', -e.frameId,'" title\x3d"',f.label,'" src\x3d"javascript:void('];a.push(CKEDITOR.env.ie?"(function(){"+encodeURIComponent("document.open();("+CKEDITOR.tools.fixDomain+")();document.close();")+"})()":"0");a.push(')"\x3e\x3c/iframe\x3e');return a.join("")})}},fileButton:function(a,f,d){var e=this;if(!(3>arguments.length)){b.call(this,f);f.validate&&(this.validate=f.validate);var g=CKEDITOR.tools.extend({},f),h=g.onClick;g.className=(g.className?g.className+" ":"")+"cke_dialog_ui_button";g.onClick=function(d){var b= -f["for"];d=h?h.call(this,d):!1;!1!==d&&("xhr"!==d&&a.getContentElement(b[0],b[1]).submit(),this.disable())};a.on("load",function(){a.getContentElement(f["for"][0],f["for"][1])._.buttons.push(e)});CKEDITOR.ui.dialog.button.call(this,a,g,d)}},html:function(){var a=/^\s*<[\w:]+\s+([^>]*)?>/,b=/^(\s*<[\w:]+(?:\s+[^>]*)?)((?:.|\r|\n)+)$/,d=/\/$/;return function(e,g,h){if(!(3>arguments.length)){var k=[],l=g.html;"\x3c"!=l.charAt(0)&&(l="\x3cspan\x3e"+l+"\x3c/span\x3e");var m=g.focus;if(m){var w=this.focus; -this.focus=function(){("function"==typeof m?m:w).call(this);this.fire("focus")};g.isFocusable&&(this.isFocusable=this.isFocusable);this.keyboardFocusable=!0}CKEDITOR.ui.dialog.uiElement.call(this,e,g,k,"span",null,null,"");k=k.join("").match(a);l=l.match(b)||["","",""];d.test(l[1])&&(l[1]=l[1].slice(0,-1),l[2]="/"+l[2]);h.push([l[1]," ",k[1]||"",l[2]].join(""))}}}(),fieldset:function(a,b,d,e,g){var h=g.label;this._={children:b};CKEDITOR.ui.dialog.uiElement.call(this,a,g,e,"fieldset",null,null,function(){var a= -[];h&&a.push("\x3clegend"+(g.labelStyle?' style\x3d"'+g.labelStyle+'"':"")+"\x3e"+h+"\x3c/legend\x3e");for(var c=0;cb.getChildCount()?(new CKEDITOR.dom.text(a,CKEDITOR.document)).appendTo(b):b.getChild(0).$.nodeValue= -a;return this},getLabel:function(){var a=CKEDITOR.document.getById(this._.labelId);return!a||1>a.getChildCount()?"":a.getChild(0).getText()},eventProcessors:a},!0);CKEDITOR.ui.dialog.button.prototype=CKEDITOR.tools.extend(new CKEDITOR.ui.dialog.uiElement,{click:function(){return this._.disabled?!1:this.fire("click",{dialog:this._.dialog})},enable:function(){this._.disabled=!1;var a=this.getElement();a&&a.removeClass("cke_disabled")},disable:function(){this._.disabled=!0;this.getElement().addClass("cke_disabled")}, -isVisible:function(){return this.getElement().getFirst().isVisible()},isEnabled:function(){return!this._.disabled},eventProcessors:CKEDITOR.tools.extend({},CKEDITOR.ui.dialog.uiElement.prototype.eventProcessors,{onClick:function(a,b){this.on("click",function(){b.apply(this,arguments)})}},!0),accessKeyUp:function(){this.click()},accessKeyDown:function(){this.focus()},keyboardFocusable:!0},!0);CKEDITOR.ui.dialog.textInput.prototype=CKEDITOR.tools.extend(new CKEDITOR.ui.dialog.labeledElement,{getInputElement:function(){return CKEDITOR.document.getById(this._.inputId)}, -focus:function(){var a=this.selectParentTab();setTimeout(function(){var b=a.getInputElement();b&&b.$.focus()},0)},select:function(){var a=this.selectParentTab();setTimeout(function(){var b=a.getInputElement();b&&(b.$.focus(),b.$.select())},0)},accessKeyUp:function(){this.select()},setValue:function(a){if(this.bidi){var b=a&&a.charAt(0);(b="‪"==b?"ltr":"‫"==b?"rtl":null)&&(a=a.slice(1));this.setDirectionMarker(b)}a||(a="");return CKEDITOR.ui.dialog.uiElement.prototype.setValue.apply(this,arguments)}, -getValue:function(){var a=CKEDITOR.ui.dialog.uiElement.prototype.getValue.call(this);if(this.bidi&&a){var b=this.getDirectionMarker();b&&(a=("ltr"==b?"‪":"‫")+a)}return a},setDirectionMarker:function(a){var b=this.getInputElement();a?b.setAttributes({dir:a,"data-cke-dir-marker":a}):this.getDirectionMarker()&&b.removeAttributes(["dir","data-cke-dir-marker"])},getDirectionMarker:function(){return this.getInputElement().data("cke-dir-marker")},keyboardFocusable:!0},e,!0);CKEDITOR.ui.dialog.textarea.prototype= -new CKEDITOR.ui.dialog.textInput;CKEDITOR.ui.dialog.select.prototype=CKEDITOR.tools.extend(new CKEDITOR.ui.dialog.labeledElement,{getInputElement:function(){return this._.select.getElement()},add:function(a,b,d){var e=new CKEDITOR.dom.element("option",this.getDialog().getParentEditor().document),g=this.getInputElement().$;e.$.text=a;e.$.value=void 0===b||null===b?a:b;void 0===d||null===d?CKEDITOR.env.ie?g.add(e.$):g.add(e.$,null):g.add(e.$,d);return this},remove:function(a){this.getInputElement().$.remove(a); -return this},clear:function(){for(var a=this.getInputElement().$;0c-a;d--)if(this._.tabs[this._.tabIdList[d%a]][0].$.offsetHeight)return this._.tabIdList[d%a];return null}function g(){for(var a=this._.tabIdList.length,c=CKEDITOR.tools.indexOf(this._.tabIdList,this._.currentTabId),d=c+1;dn.width-k.width-g?n.width-k.width+("rtl"==e.lang.dir?0:h[1]):f.x;k=f.y+h[0]n.height-k.height-g?n.height-k.height+h[2]:f.y;l=Math.floor(l);k=Math.floor(k);a.move(l,k,1);d.data.preventDefault()}function d(){CKEDITOR.document.removeListener("mousemove",c);CKEDITOR.document.removeListener("mouseup",d);if(CKEDITOR.env.ie6Compat){var a=B.getChild(0).getFrameDocument();a.removeListener("mousemove",c);a.removeListener("mouseup",d)}}var b=null,f=null,e=a.getParentEditor(), -g=e.config.dialog_magnetDistance,h=CKEDITOR.skin.margins||[0,0,0,0];"undefined"==typeof g&&(g=20);a.parts.title.on("mousedown",function(e){if(!a._.moved){var g=a._.element;g.getFirst().setStyle("position","absolute");g.removeStyle("display");a._.moved=!0;a.layout()}b={x:e.data.$.screenX,y:e.data.$.screenY};CKEDITOR.document.on("mousemove",c);CKEDITOR.document.on("mouseup",d);f=a.getPosition();CKEDITOR.env.ie6Compat&&(g=B.getChild(0).getFrameDocument(),g.on("mousemove",c),g.on("mouseup",d));e.data.preventDefault()}, -a)}function y(a){function c(d){var m="rtl"==e.lang.dir,p=l.width,t=l.height,r=p+(d.data.$.screenX-n.x)*(m?-1:1)*(a._.moved?1:2),v=t+(d.data.$.screenY-n.y)*(a._.moved?1:2),P=a._.element.getFirst(),P=m&&parseInt(P.getComputedStyle("right"),10),y=a.getPosition();y.x=y.x||0;y.y=y.y||0;y.y+v>k.height&&(v=k.height-y.y);(m?P:y.x)+r>k.width&&(r=k.width-(m?P:y.x));v=Math.floor(v);r=Math.floor(r);if(f==CKEDITOR.DIALOG_RESIZE_WIDTH||f==CKEDITOR.DIALOG_RESIZE_BOTH)p=Math.max(b.minWidth||0,r-g);if(f==CKEDITOR.DIALOG_RESIZE_HEIGHT|| -f==CKEDITOR.DIALOG_RESIZE_BOTH)t=Math.max(b.minHeight||0,v-h);a.resize(p,t);a._.moved&&x(a,a._.position.x,a._.position.y);a._.moved||a.layout();d.data.preventDefault()}function d(){CKEDITOR.document.removeListener("mouseup",d);CKEDITOR.document.removeListener("mousemove",c);m&&(m.remove(),m=null);if(CKEDITOR.env.ie6Compat){var a=B.getChild(0).getFrameDocument();a.removeListener("mouseup",d);a.removeListener("mousemove",c)}}var b=a.definition,f=b.resizable;if(f!=CKEDITOR.DIALOG_RESIZE_NONE){var e= -a.getParentEditor(),g,h,k,n,l,m,p=CKEDITOR.tools.addFunction(function(b){function f(a){return a.isVisible()}l=a.getSize();var e=a.parts.contents,p=e.$.getElementsByTagName("iframe").length,t=!(CKEDITOR.env.gecko||CKEDITOR.env.ie&&CKEDITOR.env.quirks);p&&(m=CKEDITOR.dom.element.createFromHtml('\x3cdiv class\x3d"cke_dialog_resize_cover" style\x3d"height: 100%; position: absolute; width: 100%; left:0; top:0;"\x3e\x3c/div\x3e'),e.append(m));h=l.height-a.parts.contents.getFirst(f).getSize("height",t); -g=l.width-a.parts.contents.getFirst(f).getSize("width",1);n={x:b.screenX,y:b.screenY};k=CKEDITOR.document.getWindow().getViewPaneSize();CKEDITOR.document.on("mousemove",c);CKEDITOR.document.on("mouseup",d);CKEDITOR.env.ie6Compat&&(e=B.getChild(0).getFrameDocument(),e.on("mousemove",c),e.on("mouseup",d));b.preventDefault&&b.preventDefault()});a.on("load",function(){var c="";f==CKEDITOR.DIALOG_RESIZE_WIDTH?c=" cke_resizer_horizontal":f==CKEDITOR.DIALOG_RESIZE_HEIGHT&&(c=" cke_resizer_vertical");c=CKEDITOR.dom.element.createFromHtml('\x3cdiv class\x3d"cke_resizer'+ -c+" cke_resizer_"+e.lang.dir+'" title\x3d"'+CKEDITOR.tools.htmlEncode(e.lang.common.resize)+'" onmousedown\x3d"CKEDITOR.tools.callFunction('+p+', event )"\x3e'+("ltr"==e.lang.dir?"◢":"◣")+"\x3c/div\x3e");a.parts.footer.append(c,1)});e.on("destroy",function(){CKEDITOR.tools.removeFunction(p)})}}function x(a,c,d){var b=a.parts.dialog.getParent().getClientSize(),f=a.getSize(),e=a._.viewportRatio,g=Math.max(b.width-f.width,0),b=Math.max(b.height-f.height,0);e.width=g?c/g:e.width;e.height=b?d/b:e.height; -a._.viewportRatio=e}function q(a){a.data.preventDefault(1)}function r(a){var c=a.config,d=CKEDITOR.skinName||a.config.skin,b=c.dialog_backgroundCoverColor||("moono-lisa"==d?"black":"white"),d=c.dialog_backgroundCoverOpacity,f=c.baseFloatZIndex,c=CKEDITOR.tools.genKey(b,d,f),e=H[c];CKEDITOR.document.getBody().addClass("cke_dialog_open");e?e.show():(f=['\x3cdiv tabIndex\x3d"-1" style\x3d"position: ',CKEDITOR.env.ie6Compat?"absolute":"fixed","; z-index: ",f,"; top: 0px; left: 0px; ","; width: 100%; height: 100%;", -CKEDITOR.env.ie6Compat?"":"background-color: "+b,'" class\x3d"cke_dialog_background_cover"\x3e'],CKEDITOR.env.ie6Compat&&(b="\x3chtml\x3e\x3cbody style\x3d\\'background-color:"+b+";\\'\x3e\x3c/body\x3e\x3c/html\x3e",f.push('\x3ciframe hidefocus\x3d"true" frameborder\x3d"0" id\x3d"cke_dialog_background_iframe" src\x3d"javascript:'),f.push("void((function(){"+encodeURIComponent("document.open();("+CKEDITOR.tools.fixDomain+")();document.write( '"+b+"' );document.close();")+"})())"),f.push('" style\x3d"position:absolute;left:0;top:0;width:100%;height: 100%;filter: progid:DXImageTransform.Microsoft.Alpha(opacity\x3d0)"\x3e\x3c/iframe\x3e')), -f.push("\x3c/div\x3e"),e=CKEDITOR.dom.element.createFromHtml(f.join("")),e.setOpacity(void 0!==d?d:.5),e.on("keydown",q),e.on("keypress",q),e.on("keyup",q),e.appendTo(CKEDITOR.document.getBody()),H[c]=e);a.focusManager.add(e);B=e;CKEDITOR.env.mac&&CKEDITOR.env.webkit||e.focus()}function p(a){CKEDITOR.document.getBody().removeClass("cke_dialog_open");B&&(a.focusManager.remove(B),B.hide())}function w(a){var c=a.data.$.ctrlKey||a.data.$.metaKey,d=a.data.$.altKey,b=a.data.$.shiftKey,f=String.fromCharCode(a.data.$.keyCode); -(c=J[(c?"CTRL+":"")+(d?"ALT+":"")+(b?"SHIFT+":"")+f])&&c.length&&(c=c[c.length-1],c.keydown&&c.keydown.call(c.uiElement,c.dialog,c.key),a.data.preventDefault())}function t(a){var c=a.data.$.ctrlKey||a.data.$.metaKey,d=a.data.$.altKey,b=a.data.$.shiftKey,f=String.fromCharCode(a.data.$.keyCode);(c=J[(c?"CTRL+":"")+(d?"ALT+":"")+(b?"SHIFT+":"")+f])&&c.length&&(c=c[c.length-1],c.keyup&&(c.keyup.call(c.uiElement,c.dialog,c.key),a.data.preventDefault()))}function z(a,c,d,b,f){(J[d]||(J[d]=[])).push({uiElement:a, -dialog:c,key:d,keyup:f||a.accessKeyUp,keydown:b||a.accessKeyDown})}function u(a){for(var c in J){for(var d=J[c],b=d.length-1;0<=b;b--)d[b].dialog!=a&&d[b].uiElement!=a||d.splice(b,1);0===d.length&&delete J[c]}}function v(a,c){a._.accessKeyMap[c]&&a.selectPage(a._.accessKeyMap[c])}function C(){}var E=CKEDITOR.tools.cssLength,A,B,G=!CKEDITOR.env.ie||CKEDITOR.env.edge,I='\x3cdiv class\x3d"cke_reset_all cke_dialog_container {editorId} {editorDialogClass} {hidpi}" dir\x3d"{langDir}" style\x3d"'+(G?"display:flex": -"")+'" lang\x3d"{langCode}" role\x3d"dialog" aria-labelledby\x3d"cke_dialog_title_{id}"\x3e\x3ctable class\x3d"cke_dialog '+CKEDITOR.env.cssClass+' cke_{langDir}" style\x3d"'+(G?"margin:auto":"position:absolute")+'" role\x3d"presentation"\x3e\x3ctr\x3e\x3ctd role\x3d"presentation"\x3e\x3cdiv class\x3d"cke_dialog_body" role\x3d"presentation"\x3e\x3cdiv id\x3d"cke_dialog_title_{id}" class\x3d"cke_dialog_title" role\x3d"presentation"\x3e\x3c/div\x3e\x3ca id\x3d"cke_dialog_close_button_{id}" class\x3d"cke_dialog_close_button" href\x3d"javascript:void(0)" title\x3d"{closeTitle}" role\x3d"button"\x3e\x3cspan class\x3d"cke_label"\x3eX\x3c/span\x3e\x3c/a\x3e\x3cdiv id\x3d"cke_dialog_tabs_{id}" class\x3d"cke_dialog_tabs" role\x3d"tablist"\x3e\x3c/div\x3e\x3ctable class\x3d"cke_dialog_contents" role\x3d"presentation"\x3e\x3ctr\x3e\x3ctd id\x3d"cke_dialog_contents_{id}" class\x3d"cke_dialog_contents_body" role\x3d"presentation"\x3e\x3c/td\x3e\x3c/tr\x3e\x3ctr\x3e\x3ctd id\x3d"cke_dialog_footer_{id}" class\x3d"cke_dialog_footer" role\x3d"presentation"\x3e\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e\x3c/div\x3e\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e\x3c/div\x3e'; -CKEDITOR.dialog=function(c,d){function e(){var a=B._.focusList;a.sort(function(a,c){return a.tabIndex!=c.tabIndex?c.tabIndex-a.tabIndex:a.focusIndex-c.focusIndex});for(var c=a.length,d=0;dc.length)){var d=B._.currentFocusIndex;B._.tabBarMode&&0>a&&(d=0);try{c[d].getInputElement().$.blur()}catch(b){}var f=d,e=1arguments.length)){var f=b.call(this,d);f.labelId=CKEDITOR.tools.getNextId()+ +"_label";this._.children=[];var h={role:d.role||"presentation"};d.includeLabel&&(h["aria-labelledby"]=f.labelId);CKEDITOR.ui.dialog.uiElement.call(this,a,d,g,"div",null,h,function(){var b=[],g=d.required?" cke_required":"";"horizontal"!=d.labelLayout?b.push('\x3clabel class\x3d"cke_dialog_ui_labeled_label'+g+'" ',' id\x3d"'+f.labelId+'"',f.inputId?' for\x3d"'+f.inputId+'"':"",(d.labelStyle?' style\x3d"'+d.labelStyle+'"':"")+"\x3e",d.required?d.label+'\x3cspan class\x3d"cke_dialog_ui_labeled_required" aria-hidden\x3d"true"\x3e*\x3c/span\x3e': +d.label,"\x3c/label\x3e",'\x3cdiv class\x3d"cke_dialog_ui_labeled_content"',d.controlStyle?' style\x3d"'+d.controlStyle+'"':"",' role\x3d"presentation"\x3e',e.call(this,a,d),"\x3c/div\x3e"):(g={type:"hbox",widths:d.widths,padding:0,children:[{type:"html",html:'\x3clabel class\x3d"cke_dialog_ui_labeled_label'+g+'" id\x3d"'+f.labelId+'" for\x3d"'+f.inputId+'"'+(d.labelStyle?' style\x3d"'+d.labelStyle+'"':"")+"\x3e"+CKEDITOR.tools.htmlEncode(d.label)+"\x3c/label\x3e"},{type:"html",html:'\x3cspan class\x3d"cke_dialog_ui_labeled_content"'+ +(d.controlStyle?' style\x3d"'+d.controlStyle+'"':"")+"\x3e"+e.call(this,a,d)+"\x3c/span\x3e"}]},CKEDITOR.dialog._.uiElementBuilders.hbox.build(a,g,b));return b.join("")})}},textInput:function(a,d,g){if(!(3>arguments.length)){b.call(this,d);var e=this._.inputId=CKEDITOR.tools.getNextId()+"_textInput",f={"class":"cke_dialog_ui_input_"+d.type,id:e,type:d.type};d.validate&&(this.validate=d.validate);d.maxLength&&(f.maxlength=d.maxLength);d.size&&(f.size=d.size);d.inputStyle&&(f.style=d.inputStyle);var h= +this,k=!1;a.on("load",function(){h.getInputElement().on("keydown",function(a){13==a.data.getKeystroke()&&(k=!0)});h.getInputElement().on("keyup",function(b){13==b.data.getKeystroke()&&k&&(a.getButton("ok")&&setTimeout(function(){a.getButton("ok").click()},0),k=!1);h.bidi&&m.call(h,b)},null,null,1E3)});CKEDITOR.ui.dialog.labeledElement.call(this,a,d,g,function(){var a=['\x3cdiv class\x3d"cke_dialog_ui_input_',d.type,'" role\x3d"presentation"'];d.width&&a.push('style\x3d"width:'+d.width+'" ');a.push("\x3e\x3cinput "); +f["aria-labelledby"]=this._.labelId;this._.required&&(f["aria-required"]=this._.required);for(var c in f)a.push(c+'\x3d"'+f[c]+'" ');a.push(" /\x3e\x3c/div\x3e");return a.join("")})}},textarea:function(a,d,g){if(!(3>arguments.length)){b.call(this,d);var e=this,f=this._.inputId=CKEDITOR.tools.getNextId()+"_textarea",h={};d.validate&&(this.validate=d.validate);h.rows=d.rows||5;h.cols=d.cols||20;h["class"]="cke_dialog_ui_input_textarea "+(d["class"]||"");"undefined"!=typeof d.inputStyle&&(h.style=d.inputStyle); +d.dir&&(h.dir=d.dir);if(e.bidi)a.on("load",function(){e.getInputElement().on("keyup",m)},e);CKEDITOR.ui.dialog.labeledElement.call(this,a,d,g,function(){h["aria-labelledby"]=this._.labelId;this._.required&&(h["aria-required"]=this._.required);var a=['\x3cdiv class\x3d"cke_dialog_ui_input_textarea" role\x3d"presentation"\x3e\x3ctextarea id\x3d"',f,'" '],c;for(c in h)a.push(c+'\x3d"'+CKEDITOR.tools.htmlEncode(h[c])+'" ');a.push("\x3e",CKEDITOR.tools.htmlEncode(e._["default"]),"\x3c/textarea\x3e\x3c/div\x3e"); +return a.join("")})}},checkbox:function(a,d,g){if(!(3>arguments.length)){var e=b.call(this,d,{"default":!!d["default"]});d.validate&&(this.validate=d.validate);CKEDITOR.ui.dialog.uiElement.call(this,a,d,g,"span",null,null,function(){var b=CKEDITOR.tools.extend({},d,{id:d.id?d.id+"_checkbox":CKEDITOR.tools.getNextId()+"_checkbox"},!0),g=[],f=CKEDITOR.tools.getNextId()+"_label",h={"class":"cke_dialog_ui_checkbox_input",type:"checkbox","aria-labelledby":f};l(b);d["default"]&&(h.checked="checked");"undefined"!= +typeof b.inputStyle&&(b.style=b.inputStyle);e.checkbox=new CKEDITOR.ui.dialog.uiElement(a,b,g,"input",null,h);g.push(' \x3clabel id\x3d"',f,'" for\x3d"',h.id,'"'+(d.labelStyle?' style\x3d"'+d.labelStyle+'"':"")+"\x3e",CKEDITOR.tools.htmlEncode(d.label),"\x3c/label\x3e");return g.join("")})}},radio:function(a,d,g){if(!(3>arguments.length)){b.call(this,d);this._["default"]||(this._["default"]=this._.initValue=d.items[0][1]);d.validate&&(this.validate=d.validate);var e=[],f=this;d.role="radiogroup"; +d.includeLabel=!0;CKEDITOR.ui.dialog.labeledElement.call(this,a,d,g,function(){for(var b=[],g=[],h=(d.id?d.id:CKEDITOR.tools.getNextId())+"_radio",k=0;karguments.length)){var e=b.call(this,d);d.validate&&(this.validate=d.validate);e.inputId=CKEDITOR.tools.getNextId()+"_select";CKEDITOR.ui.dialog.labeledElement.call(this,a,d,g,function(){var b=CKEDITOR.tools.extend({},d,{id:d.id?d.id+"_select":CKEDITOR.tools.getNextId()+"_select"},!0),g=[],f=[],h={id:e.inputId, +"class":"cke_dialog_ui_input_select","aria-labelledby":this._.labelId};g.push('\x3cdiv class\x3d"cke_dialog_ui_input_',d.type,'" role\x3d"presentation"');d.width&&g.push('style\x3d"width:'+d.width+'" ');g.push("\x3e");void 0!==d.size&&(h.size=d.size);void 0!==d.multiple&&(h.multiple=d.multiple);l(b);for(var k=0,m;karguments.length)){void 0===d["default"]&&(d["default"]="");var e=CKEDITOR.tools.extend(b.call(this,d),{definition:d,buttons:[]});d.validate&&(this.validate=d.validate);a.on("load",function(){CKEDITOR.document.getById(e.frameId).getParent().addClass("cke_dialog_ui_input_file")});CKEDITOR.ui.dialog.labeledElement.call(this, +a,d,g,function(){e.frameId=CKEDITOR.tools.getNextId()+"_fileInput";var a=['\x3ciframe frameborder\x3d"0" allowtransparency\x3d"0" class\x3d"cke_dialog_ui_input_file" role\x3d"presentation" id\x3d"',e.frameId,'" title\x3d"',d.label,'" src\x3d"javascript:void('];a.push(CKEDITOR.env.ie?"(function(){"+encodeURIComponent("document.open();("+CKEDITOR.tools.fixDomain+")();document.close();")+"})()":"0");a.push(')"\x3e\x3c/iframe\x3e');return a.join("")})}},fileButton:function(a,d,g){var e=this;if(!(3>arguments.length)){b.call(this, +d);d.validate&&(this.validate=d.validate);var f=CKEDITOR.tools.extend({},d),h=f.onClick;f.className=(f.className?f.className+" ":"")+"cke_dialog_ui_button";f.onClick=function(b){var g=d["for"];b=h?h.call(this,b):!1;!1!==b&&("xhr"!==b&&a.getContentElement(g[0],g[1]).submit(),this.disable())};a.on("load",function(){a.getContentElement(d["for"][0],d["for"][1])._.buttons.push(e)});CKEDITOR.ui.dialog.button.call(this,a,f,g)}},html:function(){var a=/^\s*<[\w:]+\s+([^>]*)?>/,b=/^(\s*<[\w:]+(?:\s+[^>]*)?)((?:.|\r|\n)+)$/, +g=/\/$/;return function(e,f,h){if(!(3>arguments.length)){var k=[],l=f.html;"\x3c"!=l.charAt(0)&&(l="\x3cspan\x3e"+l+"\x3c/span\x3e");var m=f.focus;if(m){var z=this.focus;this.focus=function(){("function"==typeof m?m:z).call(this);this.fire("focus")};f.isFocusable&&(this.isFocusable=this.isFocusable);this.keyboardFocusable=!0}CKEDITOR.ui.dialog.uiElement.call(this,e,f,k,"span",null,null,"");k=k.join("").match(a);l=l.match(b)||["","",""];g.test(l[1])&&(l[1]=l[1].slice(0,-1),l[2]="/"+l[2]);h.push([l[1], +" ",k[1]||"",l[2]].join(""))}}}(),fieldset:function(a,b,g,e,f){var h=f.label;this._={children:b};CKEDITOR.ui.dialog.uiElement.call(this,a,f,e,"fieldset",null,null,function(){var a=[];h&&a.push("\x3clegend"+(f.labelStyle?' style\x3d"'+f.labelStyle+'"':"")+"\x3e"+h+"\x3c/legend\x3e");for(var c=0;cb.getChildCount()?(new CKEDITOR.dom.text(a,CKEDITOR.document)).appendTo(b):b.getChild(0).$.nodeValue=a;return this},getLabel:function(){var a=CKEDITOR.document.getById(this._.labelId);return!a||1>a.getChildCount()?"":a.getChild(0).getText()},eventProcessors:a},!0);CKEDITOR.ui.dialog.button.prototype=CKEDITOR.tools.extend(new CKEDITOR.ui.dialog.uiElement,{click:function(){return this._.disabled?!1:this.fire("click",{dialog:this._.dialog})}, +enable:function(){this._.disabled=!1;var a=this.getElement();a&&a.removeClass("cke_disabled")},disable:function(){this._.disabled=!0;this.getElement().addClass("cke_disabled")},isVisible:function(){return this.getElement().getFirst().isVisible()},isEnabled:function(){return!this._.disabled},eventProcessors:CKEDITOR.tools.extend({},CKEDITOR.ui.dialog.uiElement.prototype.eventProcessors,{onClick:function(a,b){this.on("click",function(){b.apply(this,arguments)})}},!0),accessKeyUp:function(){this.click()}, +accessKeyDown:function(){this.focus()},keyboardFocusable:!0},!0);CKEDITOR.ui.dialog.textInput.prototype=CKEDITOR.tools.extend(new CKEDITOR.ui.dialog.labeledElement,{getInputElement:function(){return CKEDITOR.document.getById(this._.inputId)},focus:function(){var a=this.selectParentTab();setTimeout(function(){var b=a.getInputElement();b&&b.$.focus()},0)},select:function(){var a=this.selectParentTab();setTimeout(function(){var b=a.getInputElement();b&&(b.$.focus(),b.$.select())},0)},accessKeyUp:function(){this.select()}, +setValue:function(a){if(this.bidi){var b=a&&a.charAt(0);(b="‪"==b?"ltr":"‫"==b?"rtl":null)&&(a=a.slice(1));this.setDirectionMarker(b)}a||(a="");return CKEDITOR.ui.dialog.uiElement.prototype.setValue.apply(this,arguments)},getValue:function(){var a=CKEDITOR.ui.dialog.uiElement.prototype.getValue.call(this);if(this.bidi&&a){var b=this.getDirectionMarker();b&&(a=("ltr"==b?"‪":"‫")+a)}return a},setDirectionMarker:function(a){var b=this.getInputElement();a?b.setAttributes({dir:a,"data-cke-dir-marker":a}): +this.getDirectionMarker()&&b.removeAttributes(["dir","data-cke-dir-marker"])},getDirectionMarker:function(){return this.getInputElement().data("cke-dir-marker")},keyboardFocusable:!0},e,!0);CKEDITOR.ui.dialog.textarea.prototype=new CKEDITOR.ui.dialog.textInput;CKEDITOR.ui.dialog.select.prototype=CKEDITOR.tools.extend(new CKEDITOR.ui.dialog.labeledElement,{getInputElement:function(){return this._.select.getElement()},add:function(a,b,g){var e=new CKEDITOR.dom.element("option",this.getDialog().getParentEditor().document), +f=this.getInputElement().$;e.$.text=a;e.$.value=void 0===b||null===b?a:b;void 0===g||null===g?CKEDITOR.env.ie?f.add(e.$):f.add(e.$,null):f.add(e.$,g);return this},remove:function(a){this.getInputElement().$.remove(a);return this},clear:function(){for(var a=this.getInputElement().$;0this.focusIndex&&!f&&(b=a[a.length-1]);g.currentFocusIndex=this.focusIndex;for(g=0;gc-a;b--)if(this._.tabs[this._.tabIdList[b%a]][0].$.offsetHeight)return this._.tabIdList[b%a];return null}function f(){for(var a=this._.tabIdList.length,c=CKEDITOR.tools.indexOf(this._.tabIdList, +this._.currentTabId),b=c+1;bn.width-k.width-f?n.width-k.width+("rtl"==e.lang.dir?0:h[1]):g.x;k=g.y+h[0]n.height-k.height-f?n.height-k.height+h[2]:g.y;l=Math.floor(l);k=Math.floor(k);a.move(l,k,1);b.data.preventDefault()}function b(){CKEDITOR.document.removeListener("mousemove",c);CKEDITOR.document.removeListener("mouseup",b);if(CKEDITOR.env.ie6Compat){var a= +B.getChild(0).getFrameDocument();a.removeListener("mousemove",c);a.removeListener("mouseup",b)}}var d=null,g=null,e=a.getParentEditor(),f=e.config.dialog_magnetDistance,h=CKEDITOR.skin.margins||[0,0,0,0];"undefined"==typeof f&&(f=20);a.parts.title.on("mousedown",function(e){if(!a._.moved){var f=a._.element;f.getFirst().setStyle("position","absolute");f.removeStyle("display");a._.moved=!0;a.layout()}d={x:e.data.$.screenX,y:e.data.$.screenY};CKEDITOR.document.on("mousemove",c);CKEDITOR.document.on("mouseup", +b);g=a.getPosition();CKEDITOR.env.ie6Compat&&(f=B.getChild(0).getFrameDocument(),f.on("mousemove",c),f.on("mouseup",b));e.data.preventDefault()},a)}function x(a){function c(b){var m="rtl"==e.lang.dir,u=l.width,q=l.height,t=u+(b.data.$.screenX-n.x)*(m?-1:1)*(a._.moved?1:2),K=q+(b.data.$.screenY-n.y)*(a._.moved?1:2),r=a._.element.getFirst(),r=m&&parseInt(r.getComputedStyle("right"),10),v=a.getPosition();v.x=v.x||0;v.y=v.y||0;v.y+K>k.height&&(K=k.height-v.y);(m?r:v.x)+t>k.width&&(t=k.width-(m?r:v.x)); +K=Math.floor(K);t=Math.floor(t);if(g==CKEDITOR.DIALOG_RESIZE_WIDTH||g==CKEDITOR.DIALOG_RESIZE_BOTH)u=Math.max(d.minWidth||0,t-f);if(g==CKEDITOR.DIALOG_RESIZE_HEIGHT||g==CKEDITOR.DIALOG_RESIZE_BOTH)q=Math.max(d.minHeight||0,K-h);a.resize(u,q);a._.moved&&w(a,a._.position.x,a._.position.y);a._.moved||a.layout();b.data.preventDefault()}function b(){CKEDITOR.document.removeListener("mouseup",b);CKEDITOR.document.removeListener("mousemove",c);m&&(m.remove(),m=null);if(CKEDITOR.env.ie6Compat){var a=B.getChild(0).getFrameDocument(); +a.removeListener("mouseup",b);a.removeListener("mousemove",c)}}var d=a.definition,g=d.resizable;if(g!=CKEDITOR.DIALOG_RESIZE_NONE){var e=a.getParentEditor(),f,h,k,n,l,m,u=CKEDITOR.tools.addFunction(function(d){function g(a){return a.isVisible()}l=a.getSize();var e=a.parts.contents,u=e.$.getElementsByTagName("iframe").length,q=!(CKEDITOR.env.gecko||CKEDITOR.env.ie&&CKEDITOR.env.quirks);u&&(m=CKEDITOR.dom.element.createFromHtml('\x3cdiv class\x3d"cke_dialog_resize_cover" style\x3d"height: 100%; position: absolute; width: 100%; left:0; top:0;"\x3e\x3c/div\x3e'), +e.append(m));h=l.height-a.parts.contents.getFirst(g).getSize("height",q);f=l.width-a.parts.contents.getFirst(g).getSize("width",1);n={x:d.screenX,y:d.screenY};k=CKEDITOR.document.getWindow().getViewPaneSize();CKEDITOR.document.on("mousemove",c);CKEDITOR.document.on("mouseup",b);CKEDITOR.env.ie6Compat&&(e=B.getChild(0).getFrameDocument(),e.on("mousemove",c),e.on("mouseup",b));d.preventDefault&&d.preventDefault()});a.on("load",function(){var c="";g==CKEDITOR.DIALOG_RESIZE_WIDTH?c=" cke_resizer_horizontal": +g==CKEDITOR.DIALOG_RESIZE_HEIGHT&&(c=" cke_resizer_vertical");c=CKEDITOR.dom.element.createFromHtml('\x3cdiv class\x3d"cke_resizer'+c+" cke_resizer_"+e.lang.dir+'" title\x3d"'+CKEDITOR.tools.htmlEncode(e.lang.common.resize)+'" onmousedown\x3d"CKEDITOR.tools.callFunction('+u+', event )"\x3e'+("ltr"==e.lang.dir?"◢":"◣")+"\x3c/div\x3e");a.parts.footer.append(c,1)});e.on("destroy",function(){CKEDITOR.tools.removeFunction(u)})}}function w(a,c,b){var d=a.parts.dialog.getParent().getClientSize(),g=a.getSize(), +e=a._.viewportRatio,f=Math.max(d.width-g.width,0),d=Math.max(d.height-g.height,0);e.width=f?c/f:e.width;e.height=d?b/d:e.height;a._.viewportRatio=e}function p(a){a.data.preventDefault(1)}function q(a){var c=a.config,b=CKEDITOR.skinName||a.config.skin,d=c.dialog_backgroundCoverColor||("moono-lisa"==b?"black":"white"),b=c.dialog_backgroundCoverOpacity,g=c.baseFloatZIndex,c=CKEDITOR.tools.genKey(d,b,g),e=F[c];CKEDITOR.document.getBody().addClass("cke_dialog_open");e?e.show():(g=['\x3cdiv tabIndex\x3d"-1" style\x3d"position: ', +CKEDITOR.env.ie6Compat?"absolute":"fixed","; z-index: ",g,"; top: 0px; left: 0px; ","; width: 100%; height: 100%;",CKEDITOR.env.ie6Compat?"":"background-color: "+d,'" class\x3d"cke_dialog_background_cover"\x3e'],CKEDITOR.env.ie6Compat&&(d="\x3chtml\x3e\x3cbody style\x3d\\'background-color:"+d+";\\'\x3e\x3c/body\x3e\x3c/html\x3e",g.push('\x3ciframe hidefocus\x3d"true" frameborder\x3d"0" id\x3d"cke_dialog_background_iframe" src\x3d"javascript:'),g.push("void((function(){"+encodeURIComponent("document.open();("+ +CKEDITOR.tools.fixDomain+")();document.write( '"+d+"' );document.close();")+"})())"),g.push('" style\x3d"position:absolute;left:0;top:0;width:100%;height: 100%;filter: progid:DXImageTransform.Microsoft.Alpha(opacity\x3d0)"\x3e\x3c/iframe\x3e')),g.push("\x3c/div\x3e"),e=CKEDITOR.dom.element.createFromHtml(g.join("")),e.setOpacity(void 0!==b?b:.5),e.on("keydown",p),e.on("keypress",p),e.on("keyup",p),e.appendTo(CKEDITOR.document.getBody()),F[c]=e);a.focusManager.add(e);B=e;CKEDITOR.env.mac&&CKEDITOR.env.webkit|| +e.focus()}function u(a){CKEDITOR.document.getBody().removeClass("cke_dialog_open");B&&(a.focusManager.remove(B),B.hide())}function z(a){var c=a.data.$.ctrlKey||a.data.$.metaKey,b=a.data.$.altKey,d=a.data.$.shiftKey,g=String.fromCharCode(a.data.$.keyCode);(c=P[(c?"CTRL+":"")+(b?"ALT+":"")+(d?"SHIFT+":"")+g])&&c.length&&(c=c[c.length-1],c.keydown&&c.keydown.call(c.uiElement,c.dialog,c.key),a.data.preventDefault())}function r(a){var c=a.data.$.ctrlKey||a.data.$.metaKey,b=a.data.$.altKey,d=a.data.$.shiftKey, +g=String.fromCharCode(a.data.$.keyCode);(c=P[(c?"CTRL+":"")+(b?"ALT+":"")+(d?"SHIFT+":"")+g])&&c.length&&(c=c[c.length-1],c.keyup&&(c.keyup.call(c.uiElement,c.dialog,c.key),a.data.preventDefault()))}function A(a,c,b,d,g){(P[b]||(P[b]=[])).push({uiElement:a,dialog:c,key:b,keyup:g||a.accessKeyUp,keydown:d||a.accessKeyDown})}function v(a){for(var c in P){for(var b=P[c],d=b.length-1;0<=d;d--)b[d].dialog!=a&&b[d].uiElement!=a||b.splice(d,1);0===b.length&&delete P[c]}}function t(a,c){a._.accessKeyMap[c]&& +a.selectPage(a._.accessKeyMap[c])}function y(){}var C=CKEDITOR.tools.cssLength,D,B,E=!1,H=!CKEDITOR.env.ie||CKEDITOR.env.edge,L='\x3cdiv class\x3d"cke_reset_all cke_dialog_container {editorId} {editorDialogClass} {hidpi}" dir\x3d"{langDir}" style\x3d"'+(H?"display:flex":"")+'" lang\x3d"{langCode}" role\x3d"dialog" aria-labelledby\x3d"cke_dialog_title_{id}"\x3e\x3ctable class\x3d"cke_dialog '+CKEDITOR.env.cssClass+' cke_{langDir}" style\x3d"'+(H?"margin:auto":"position:absolute")+'" role\x3d"presentation"\x3e\x3ctr\x3e\x3ctd role\x3d"presentation"\x3e\x3cdiv class\x3d"cke_dialog_body" role\x3d"presentation"\x3e\x3cdiv id\x3d"cke_dialog_title_{id}" class\x3d"cke_dialog_title" role\x3d"presentation"\x3e\x3c/div\x3e\x3ca id\x3d"cke_dialog_close_button_{id}" class\x3d"cke_dialog_close_button" href\x3d"javascript:void(0)" title\x3d"{closeTitle}" role\x3d"button"\x3e\x3cspan class\x3d"cke_label"\x3eX\x3c/span\x3e\x3c/a\x3e\x3cdiv id\x3d"cke_dialog_tabs_{id}" class\x3d"cke_dialog_tabs" role\x3d"tablist"\x3e\x3c/div\x3e\x3ctable class\x3d"cke_dialog_contents" role\x3d"presentation"\x3e\x3ctr\x3e\x3ctd id\x3d"cke_dialog_contents_{id}" class\x3d"cke_dialog_contents_body" role\x3d"presentation"\x3e\x3c/td\x3e\x3c/tr\x3e\x3ctr\x3e\x3ctd id\x3d"cke_dialog_footer_{id}" class\x3d"cke_dialog_footer" role\x3d"presentation"\x3e\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e\x3c/div\x3e\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e\x3c/div\x3e'; +CKEDITOR.dialog=function(c,g){function e(){var a=B._.focusList;a.sort(function(a,c){return a.tabIndex!=c.tabIndex?c.tabIndex-a.tabIndex:a.focusIndex-c.focusIndex});for(var c=a.length,b=0;bc.length)){var b=B._.currentFocusIndex;B._.tabBarMode&&0>a&&(b=0);try{c[b].getInputElement().$.blur()}catch(d){}var g=b,e=1arguments.length)){var h=(b.call?b(c):b)||"div",k=["\x3c",h," "],n=(f&&f.call?f(c):f)||{},l=(e&&e.call?e(c):e)||{},m=(g&&g.call?g.call(this,a,c):g)||"",p=this.domId=l.id||CKEDITOR.tools.getNextId()+"_uiElement";c.requiredContent&&!a.getParentEditor().filter.check(c.requiredContent)&&(n.display="none",this.notAllowed=!0);l.id=p;var r={};c.type&&(r["cke_dialog_ui_"+c.type]=1);c.className&&(r[c.className]= -1);c.disabled&&(r.cke_disabled=1);for(var t=l["class"]&&l["class"].split?l["class"].split(" "):[],p=0;pCKEDITOR.env.version?"cke_dialog_ui_focused":"";c.on("focus",function(){a._.tabBarMode=!1;a._.hasFocus=!0;v.fire("focus");d&&this.addClass(d)});c.on("blur",function(){v.fire("blur"); -d&&this.removeClass(d)})}});CKEDITOR.tools.extend(this,c);this.keyboardFocusable&&(this.tabIndex=c.tabIndex||0,this.focusIndex=a._.focusList.push(this)-1,this.on("focus",function(){a._.currentFocusIndex=v.focusIndex}))}},hbox:function(a,c,d,b,f){if(!(4>arguments.length)){this._||(this._={});var e=this._.children=c,g=f&&f.widths||null,h=f&&f.height||null,k,n={role:"presentation"};f&&f.align&&(n.align=f.align);CKEDITOR.ui.dialog.uiElement.call(this,a,f||{type:"hbox"},b,"table",{},n,function(){var a= -['\x3ctbody\x3e\x3ctr class\x3d"cke_dialog_ui_hbox"\x3e'];for(k=0;karguments.length)){this._||(this._={});var e=this._.children=c,g=f&&f.width||null,h=f&&f.heights||null;CKEDITOR.ui.dialog.uiElement.call(this,a,f||{type:"vbox"},b,"div",null,{role:"presentation"},function(){var c=['\x3ctable role\x3d"presentation" cellspacing\x3d"0" border\x3d"0" '];c.push('style\x3d"');f&&f.expand&&c.push("height:100%;"); -c.push("width:"+E(g||"100%"),";");CKEDITOR.env.webkit&&c.push("float:none;");c.push('"');c.push('align\x3d"',CKEDITOR.tools.htmlEncode(f&&f.align||("ltr"==a.getParentEditor().lang.dir?"left":"right")),'" ');c.push("\x3e\x3ctbody\x3e");for(var b=0;barguments.length)return this._.children.concat();a.splice||(a=[a]);return 2>a.length?this._.children[a[0]]:this._.children[a[0]]&&this._.children[a[0]].getChild?this._.children[a[0]].getChild(a.slice(1,a.length)):null}},!0);CKEDITOR.ui.dialog.vbox.prototype=new CKEDITOR.ui.dialog.hbox;(function(){var a={build:function(a,c,d){for(var b=c.children,f,e=[],g=[],h=0;hl.$.clientHeight?l.setStyle("overflow-y","hidden"):l.removeStyle("overflow-y"))}var a,m,k,l,c,f=b.config.autoGrow_bottomSpace||0,d=void 0!==b.config.autoGrow_minHeight?b.config.autoGrow_minHeight:200,n=b.config.autoGrow_maxHeight||Infinity,y=!b.config.autoGrow_maxHeight;b.addCommand("autogrow",{exec:e,modes:{wysiwyg:1},readOnly:1,canUndo:!1,editorFocus:!1});var x={contentDom:1,key:1,selectionChange:1,insertElement:1,mode:1},q;for(q in x)b.on(q,function(c){"wysiwyg"== -c.editor.mode&&setTimeout(function(){var c=b.getCommand("maximize");!b.window||c&&c.state==CKEDITOR.TRISTATE_ON?a=null:(e(),y||e())},100)});b.on("afterCommandExec",function(a){"maximize"==a.data.name&&"wysiwyg"==a.editor.mode&&(a.data.command.state==CKEDITOR.TRISTATE_ON?l.removeStyle("overflow-y"):e())});b.on("contentDom",g);g();b.config.autoGrow_onStartup&&b.editable().isVisible()&&b.execCommand("autogrow")}CKEDITOR.plugins.add("autogrow",{init:function(h){if(h.elementMode!=CKEDITOR.ELEMENT_MODE_INLINE)h.on("instanceReady", -function(){h.editable().isInline()?h.ui.space("contents").setStyle("height","auto"):b(h)})}})})();CKEDITOR.plugins.add("basicstyles",{init:function(b){var h=0,g=function(a,g,c,f){if(f){f=new CKEDITOR.style(f);var d=e[c];d.unshift(f);b.attachStyleStateChange(f,function(a){!b.readOnly&&b.getCommand(c).setState(a)});b.addCommand(c,new CKEDITOR.styleCommand(f,{contentForms:d}));b.ui.addButton&&b.ui.addButton(a,{label:g,command:c,toolbar:"basicstyles,"+(h+=10)})}},e={bold:["strong","b",["span",function(a){a= -a.styles["font-weight"];return"bold"==a||700<=+a}]],italic:["em","i",["span",function(a){return"italic"==a.styles["font-style"]}]],underline:["u",["span",function(a){return"underline"==a.styles["text-decoration"]}]],strike:["s","strike",["span",function(a){return"line-through"==a.styles["text-decoration"]}]],subscript:["sub"],superscript:["sup"]},a=b.config,m=b.lang.basicstyles;g("Bold",m.bold,"bold",a.coreStyles_bold);g("Italic",m.italic,"italic",a.coreStyles_italic);g("Underline",m.underline,"underline", -a.coreStyles_underline);g("Strike",m.strike,"strike",a.coreStyles_strike);g("Subscript",m.subscript,"subscript",a.coreStyles_subscript);g("Superscript",m.superscript,"superscript",a.coreStyles_superscript);b.setKeystroke([[CKEDITOR.CTRL+66,"bold"],[CKEDITOR.CTRL+73,"italic"],[CKEDITOR.CTRL+85,"underline"]])}});CKEDITOR.config.coreStyles_bold={element:"strong",overrides:"b"};CKEDITOR.config.coreStyles_italic={element:"em",overrides:"i"};CKEDITOR.config.coreStyles_underline={element:"u"};CKEDITOR.config.coreStyles_strike= -{element:"s",overrides:"strike"};CKEDITOR.config.coreStyles_subscript={element:"sub"};CKEDITOR.config.coreStyles_superscript={element:"sup"};(function(){var b={exec:function(b){var g=b.getCommand("blockquote").state,e=b.getSelection(),a=e&&e.getRanges()[0];if(a){var m=e.createBookmarks();if(CKEDITOR.env.ie){var k=m[0].startNode,l=m[0].endNode,c;if(k&&"blockquote"==k.getParent().getName())for(c=k;c=c.getNext();)if(c.type==CKEDITOR.NODE_ELEMENT&&c.isBlockBoundary()){k.move(c,!0);break}if(l&&"blockquote"== -l.getParent().getName())for(c=l;c=c.getPrevious();)if(c.type==CKEDITOR.NODE_ELEMENT&&c.isBlockBoundary()){l.move(c);break}}var f=a.createIterator();f.enlargeBr=b.config.enterMode!=CKEDITOR.ENTER_BR;if(g==CKEDITOR.TRISTATE_OFF){for(k=[];g=f.getNextParagraph();)k.push(g);1>k.length&&(g=b.document.createElement(b.config.enterMode==CKEDITOR.ENTER_P?"p":"div"),l=m.shift(),a.insertNode(g),g.append(new CKEDITOR.dom.text("",b.document)),a.moveToBookmark(l),a.selectNodeContents(g),a.collapse(!0),l=a.createBookmark(), -k.push(g),m.unshift(l));c=k[0].getParent();a=[];for(l=0;le||(this.notifications.splice(e, -1),b.element.remove(),this.element.getChildCount()||(this._removeListeners(),this.element.remove()))},_createElement:function(){var b=this.editor,e=b.config,a=new CKEDITOR.dom.element("div");a.addClass("cke_notifications_area");a.setAttribute("id","cke_notifications_area_"+b.name);a.setStyle("z-index",e.baseFloatZIndex-2);return a},_attachListeners:function(){var b=CKEDITOR.document.getWindow(),e=this.editor;b.on("scroll",this._uiBuffer.input);b.on("resize",this._uiBuffer.input);e.on("change",this._changeBuffer.input); -e.on("floatingSpaceLayout",this._layout,this,null,20);e.on("blur",this._layout,this,null,20)},_removeListeners:function(){var b=CKEDITOR.document.getWindow(),e=this.editor;b.removeListener("scroll",this._uiBuffer.input);b.removeListener("resize",this._uiBuffer.input);e.removeListener("change",this._changeBuffer.input);e.removeListener("floatingSpaceLayout",this._layout);e.removeListener("blur",this._layout)},_layout:function(){function b(){e.setStyle("left",w(t+h.width-n-y))}var e=this.element,a= -this.editor,h=a.ui.contentsElement.getClientRect(),k=a.ui.contentsElement.getDocumentPosition(),l,c,f=e.getClientRect(),d,n=this._notificationWidth,y=this._notificationMargin;d=CKEDITOR.document.getWindow();var x=d.getScrollPosition(),q=d.getViewPaneSize(),r=CKEDITOR.document.getBody(),p=r.getDocumentPosition(),w=CKEDITOR.tools.cssLength;n&&y||(d=this.element.getChild(0),n=this._notificationWidth=d.getClientRect().width,y=this._notificationMargin=parseInt(d.getComputedStyle("margin-left"),10)+parseInt(d.getComputedStyle("margin-right"), -10));a.toolbar&&(l=a.ui.space(a.config.toolbarLocation),c=l.getClientRect());l&&l.isVisible()&&c.bottom>h.top&&c.bottomx.y?e.setStyles({position:"fixed",top:0}):e.setStyles({position:"absolute",top:w(k.y+h.height-f.height)});var t="fixed"==e.getStyle("position")?h.left:"static"!=r.getComputedStyle("position")?k.x-p.x:k.x;h.widthx.x+q.width?b(): -e.setStyle("left",w(t)):k.x+n+y>x.x+q.width?e.setStyle("left",w(t)):k.x+h.width/2+n/2+y>x.x+q.width?e.setStyle("left",w(t-k.x+x.x+q.width-n-y)):0>h.left+h.width-n-y?b():0>h.left+h.width/2-n/2?e.setStyle("left",w(t-k.x+x.x)):e.setStyle("left",w(t+h.width/2-n/2-y/2))}};CKEDITOR.plugins.notification=b})();(function(){var b='\x3ca id\x3d"{id}" class\x3d"cke_button cke_button__{name} cke_button_{state} {cls}"'+(CKEDITOR.env.gecko&&!CKEDITOR.env.hc?"":" href\x3d\"javascript:void('{titleJs}')\"")+' title\x3d"{title}" tabindex\x3d"-1" hidefocus\x3d"true" role\x3d"button" aria-labelledby\x3d"{id}_label" aria-describedby\x3d"{id}_description" aria-haspopup\x3d"{hasArrow}" aria-disabled\x3d"{ariaDisabled}"'; +var a=this._.element;a.setStyle("display","none");this.parts.dialog.setStyle("visibility","hidden");for(v(this);CKEDITOR.dialog._.currentTop!=this;)CKEDITOR.dialog._.currentTop.hide();if(this._.parentDialog){var c=this._.parentDialog.getElement().getFirst(),b=parseInt(c.$.style.zIndex,10)+Math.floor(this._.editor.config.baseFloatZIndex/2);this._.parentDialog.getElement().setStyle("z-index",b);c.setStyle("z-index",b)}else u(this._.editor);if(CKEDITOR.dialog._.currentTop=this._.parentDialog)CKEDITOR.dialog._.currentZIndex-= +10;else{CKEDITOR.dialog._.currentZIndex=null;a.removeListener("keydown",z);a.removeListener("keyup",r);var d=this._.editor;d.focus();setTimeout(function(){d.focusManager.unlock();CKEDITOR.env.iOS&&d.window.focus()},0)}delete this._.parentDialog;this.foreach(function(a){a.resetInitValue&&a.resetInitValue()});this.setState(CKEDITOR.DIALOG_STATE_IDLE)}},addPage:function(a){if(!a.requiredContent||this._.editor.filter.check(a.requiredContent)){for(var c=[],b=a.label?' title\x3d"'+CKEDITOR.tools.htmlEncode(a.label)+ +'"':"",d=CKEDITOR.dialog._.uiElementBuilders.vbox.build(this,{type:"vbox",className:"cke_dialog_page_contents",children:a.elements,expand:!!a.expand,padding:a.padding,style:a.style||"width: 100%;"},c),g=this._.contents[a.id]={},e=d.getChild(),f=0;d=e.shift();)d.notAllowed||"hbox"==d.type||"vbox"==d.type||f++,g[d.id]=d,"function"==typeof d.getChild&&e.push.apply(e,d.getChild());f||(a.hidden=!0);c=CKEDITOR.dom.element.createFromHtml(c.join(""));c.setAttribute("role","tabpanel");c.setStyle("min-height", +"100%");d=CKEDITOR.env;g="cke_"+a.id+"_"+CKEDITOR.tools.getNextNumber();b=CKEDITOR.dom.element.createFromHtml(['\x3ca class\x3d"cke_dialog_tab"',0arguments.length)){var h=(d.call?d(c):d)||"div",k=["\x3c",h," "],n=(g&&g.call?g(c):g)||{},l=(e&&e.call?e(c):e)||{},m=(f&&f.call?f.call(this,a,c):f)||"",t=this.domId=l.id||CKEDITOR.tools.getNextId()+"_uiElement";c.requiredContent&&!a.getParentEditor().filter.check(c.requiredContent)&&(n.display="none",this.notAllowed= +!0);l.id=t;var u={};c.type&&(u["cke_dialog_ui_"+c.type]=1);c.className&&(u[c.className]=1);c.disabled&&(u.cke_disabled=1);for(var q=l["class"]&&l["class"].split?l["class"].split(" "):[],t=0;tCKEDITOR.env.version?"cke_dialog_ui_focused":"";c.on("focus", +function(){a._.tabBarMode=!1;a._.hasFocus=!0;r.fire("focus");b&&this.addClass(b)});c.on("blur",function(){r.fire("blur");b&&this.removeClass(b)})}});CKEDITOR.tools.extend(this,c);this.keyboardFocusable&&(this.tabIndex=c.tabIndex||0,this.focusIndex=a._.focusList.push(this)-1,this.on("focus",function(){a._.currentFocusIndex=r.focusIndex}))}},hbox:function(a,c,b,d,g){if(!(4>arguments.length)){this._||(this._={});var e=this._.children=c,f=g&&g.widths||null,h=g&&g.height||null,k,n={role:"presentation"}; +g&&g.align&&(n.align=g.align);CKEDITOR.ui.dialog.uiElement.call(this,a,g||{type:"hbox"},d,"table",{},n,function(){var a=['\x3ctbody\x3e\x3ctr class\x3d"cke_dialog_ui_hbox"\x3e'];for(k=0;karguments.length)){this._||(this._={});var e=this._.children=c,f=g&&g.width||null,h=g&&g.heights||null;CKEDITOR.ui.dialog.uiElement.call(this,a,g||{type:"vbox"},d,"div",null,{role:"presentation"},function(){var c= +['\x3ctable role\x3d"presentation" cellspacing\x3d"0" border\x3d"0" '];c.push('style\x3d"');g&&g.expand&&c.push("height:100%;");c.push("width:"+C(f||"100%"),";");CKEDITOR.env.webkit&&c.push("float:none;");c.push('"');c.push('align\x3d"',CKEDITOR.tools.htmlEncode(g&&g.align||("ltr"==a.getParentEditor().lang.dir?"left":"right")),'" ');c.push("\x3e\x3ctbody\x3e");for(var d=0;darguments.length)return this._.children.concat();a.splice||(a=[a]);return 2>a.length?this._.children[a[0]]:this._.children[a[0]]&&this._.children[a[0]].getChild?this._.children[a[0]].getChild(a.slice(1,a.length)):null}},!0);CKEDITOR.ui.dialog.vbox.prototype=new CKEDITOR.ui.dialog.hbox;(function(){var a={build:function(a, +c,b){for(var d=c.children,g,e=[],f=[],h=0;hm.$.clientHeight?m.setStyle("overflow-y","hidden"):m.removeStyle("overflow-y"))}var a,k,l,m,c,d=b.config.autoGrow_bottomSpace|| +0,g=void 0!==b.config.autoGrow_minHeight?b.config.autoGrow_minHeight:200,n=b.config.autoGrow_maxHeight||Infinity,x=!b.config.autoGrow_maxHeight;b.addCommand("autogrow",{exec:e,modes:{wysiwyg:1},readOnly:1,canUndo:!1,editorFocus:!1});var w={contentDom:1,key:1,selectionChange:1,insertElement:1,mode:1},p;for(p in w)b.on(p,function(c){"wysiwyg"==c.editor.mode&&setTimeout(function(){var c=b.getCommand("maximize");!b.window||c&&c.state==CKEDITOR.TRISTATE_ON?a=null:(e(),x||e())},100)});b.on("afterCommandExec", +function(a){"maximize"==a.data.name&&"wysiwyg"==a.editor.mode&&(a.data.command.state==CKEDITOR.TRISTATE_ON?m.removeStyle("overflow-y"):e())});b.on("contentDom",f);f();b.config.autoGrow_onStartup&&b.editable().isVisible()&&b.execCommand("autogrow")}CKEDITOR.plugins.add("autogrow",{init:function(h){if(h.elementMode!=CKEDITOR.ELEMENT_MODE_INLINE)h.on("instanceReady",function(){h.editable().isInline()?h.ui.space("contents").setStyle("height","auto"):b(h)})}})}(),CKEDITOR.plugins.add("basicstyles",{init:function(b){var h= +0,f=function(a,f,c,d){if(d){d=new CKEDITOR.style(d);var g=e[c];g.unshift(d);b.attachStyleStateChange(d,function(a){!b.readOnly&&b.getCommand(c).setState(a)});b.addCommand(c,new CKEDITOR.styleCommand(d,{contentForms:g}));b.ui.addButton&&b.ui.addButton(a,{isToggle:!0,label:f,command:c,toolbar:"basicstyles,"+(h+=10)})}},e={bold:["strong","b",["span",function(a){a=a.styles["font-weight"];return"bold"==a||700<=+a}]],italic:["em","i",["span",function(a){return"italic"==a.styles["font-style"]}]],underline:["u", +["span",function(a){return"underline"==a.styles["text-decoration"]}]],strike:["s","strike",["span",function(a){return"line-through"==a.styles["text-decoration"]}]],subscript:["sub"],superscript:["sup"]},a=b.config,k=b.lang.basicstyles;f("Bold",k.bold,"bold",a.coreStyles_bold);f("Italic",k.italic,"italic",a.coreStyles_italic);f("Underline",k.underline,"underline",a.coreStyles_underline);f("Strike",k.strike,"strike",a.coreStyles_strike);f("Subscript",k.subscript,"subscript",a.coreStyles_subscript); +f("Superscript",k.superscript,"superscript",a.coreStyles_superscript);b.setKeystroke([[CKEDITOR.CTRL+66,"bold"],[CKEDITOR.CTRL+73,"italic"],[CKEDITOR.CTRL+85,"underline"]])},afterInit:function(b){if(b.config.coreStyles_toggleSubSup){var h=b.getCommand("subscript"),f=b.getCommand("superscript");if(h&&f)b.on("afterCommandExec",function(e){e=e.data.name;if("subscript"===e||"superscript"===e){var a="subscript"===e?f:h;("subscript"===e?h:f).state===CKEDITOR.TRISTATE_ON&&a.state===CKEDITOR.TRISTATE_ON&& +(a.exec(b),b.fire("updateSnapshot"))}})}}}),CKEDITOR.config.coreStyles_bold={element:"strong",overrides:"b"},CKEDITOR.config.coreStyles_italic={element:"em",overrides:"i"},CKEDITOR.config.coreStyles_underline={element:"u"},CKEDITOR.config.coreStyles_strike={element:"s",overrides:"strike"},CKEDITOR.config.coreStyles_subscript={element:"sub"},CKEDITOR.config.coreStyles_superscript={element:"sup"},CKEDITOR.config.coreStyles_toggleSubSup=!1,function(){var b={exec:function(b){var f=b.getCommand("blockquote").state, +e=b.getSelection(),a=e&&e.getRanges()[0];if(a){var k=e.createBookmarks();if(CKEDITOR.env.ie){var l=k[0].startNode,m=k[0].endNode,c;if(l&&"blockquote"==l.getParent().getName())for(c=l;c=c.getNext();)if(c.type==CKEDITOR.NODE_ELEMENT&&c.isBlockBoundary()){l.move(c,!0);break}if(m&&"blockquote"==m.getParent().getName())for(c=m;c=c.getPrevious();)if(c.type==CKEDITOR.NODE_ELEMENT&&c.isBlockBoundary()){m.move(c);break}}var d=a.createIterator();d.enlargeBr=b.config.enterMode!=CKEDITOR.ENTER_BR;if(f==CKEDITOR.TRISTATE_OFF){for(l= +[];f=d.getNextParagraph();)l.push(f);1>l.length&&(f=b.document.createElement(b.config.enterMode==CKEDITOR.ENTER_P?"p":"div"),m=k.shift(),a.insertNode(f),f.append(new CKEDITOR.dom.text("",b.document)),a.moveToBookmark(m),a.selectNodeContents(f),a.collapse(!0),m=a.createBookmark(),l.push(f),k.unshift(m));c=l[0].getParent();a=[];for(m=0;me||(this.notifications.splice(e,1),b.element.remove(),this.element.getChildCount()||(this._removeListeners(),this.element.remove()))},_createElement:function(){var b=this.editor,e=b.config,a=new CKEDITOR.dom.element("div");a.addClass("cke_notifications_area"); +a.setAttribute("id","cke_notifications_area_"+b.name);a.setStyle("z-index",e.baseFloatZIndex-2);return a},_attachListeners:function(){var b=CKEDITOR.document.getWindow(),e=this.editor;b.on("scroll",this._uiBuffer.input);b.on("resize",this._uiBuffer.input);e.on("change",this._changeBuffer.input);e.on("floatingSpaceLayout",this._layout,this,null,20);e.on("blur",this._layout,this,null,20)},_removeListeners:function(){var b=CKEDITOR.document.getWindow(),e=this.editor;b.removeListener("scroll",this._uiBuffer.input); +b.removeListener("resize",this._uiBuffer.input);e.removeListener("change",this._changeBuffer.input);e.removeListener("floatingSpaceLayout",this._layout);e.removeListener("blur",this._layout)},_layout:function(){function b(){e.setStyle("left",z(r+h.width-n-x))}var e=this.element,a=this.editor,h=a.ui.contentsElement.getClientRect(),l=a.ui.contentsElement.getDocumentPosition(),m,c,d=e.getClientRect(),g,n=this._notificationWidth,x=this._notificationMargin;g=CKEDITOR.document.getWindow();var w=g.getScrollPosition(), +p=g.getViewPaneSize(),q=CKEDITOR.document.getBody(),u=q.getDocumentPosition(),z=CKEDITOR.tools.cssLength;n&&x||(g=this.element.getChild(0),n=this._notificationWidth=g.getClientRect().width,x=this._notificationMargin=parseInt(g.getComputedStyle("margin-left"),10)+parseInt(g.getComputedStyle("margin-right"),10));a.toolbar&&(m=a.ui.space(a.config.toolbarLocation),c=m.getClientRect());m&&m.isVisible()&&c.bottom>h.top&&c.bottomw.y?e.setStyles({position:"fixed",top:0}):e.setStyles({position:"absolute",top:z(l.y+h.height-d.height)});var r="fixed"==e.getStyle("position")?h.left:"static"!=q.getComputedStyle("position")?l.x-u.x:l.x;h.widthw.x+p.width?b():e.setStyle("left",z(r)):l.x+n+x>w.x+p.width?e.setStyle("left",z(r)):l.x+h.width/2+n/2+x>w.x+p.width?e.setStyle("left",z(r-l.x+w.x+p.width-n-x)):0>h.left+h.width-n-x?b():0>h.left+h.width/2-n/2?e.setStyle("left", +z(r-l.x+w.x)):e.setStyle("left",z(r+h.width/2-n/2-x/2))}};CKEDITOR.plugins.notification=b}(),function(){var b='\x3ca id\x3d"{id}" class\x3d"cke_button cke_button__{name} cke_button_{state} {cls}"'+(CKEDITOR.env.gecko&&!CKEDITOR.env.hc?"":" href\x3d\"javascript:void('{titleJs}')\"")+' title\x3d"{title}" tabindex\x3d"-1" hidefocus\x3d"true" role\x3d"button" aria-labelledby\x3d"{id}_label" aria-describedby\x3d"{id}_description" aria-haspopup\x3d"{hasArrow}" aria-disabled\x3d"{ariaDisabled}"{hasArrowAriaHtml}{toggleAriaHtml}'; CKEDITOR.env.gecko&&CKEDITOR.env.mac&&(b+=' onkeypress\x3d"return false;"');CKEDITOR.env.gecko&&(b+=' onblur\x3d"this.style.cssText \x3d this.style.cssText;"');var h="";CKEDITOR.env.ie&&(h='return false;" onmouseup\x3d"CKEDITOR.tools.getMouseButton(event)\x3d\x3dCKEDITOR.MOUSE_BUTTON_LEFT\x26\x26');var b=b+(' onkeydown\x3d"return CKEDITOR.tools.callFunction({keydownFn},event);" onfocus\x3d"return CKEDITOR.tools.callFunction({focusFn},event);" onclick\x3d"'+h+'CKEDITOR.tools.callFunction({clickFn},this);return false;"\x3e\x3cspan class\x3d"cke_button_icon cke_button__{iconName}_icon" style\x3d"{style}"')+ -'\x3e\x26nbsp;\x3c/span\x3e\x3cspan id\x3d"{id}_label" class\x3d"cke_button_label cke_button__{name}_label" aria-hidden\x3d"false"\x3e{label}\x3c/span\x3e\x3cspan id\x3d"{id}_description" class\x3d"cke_button_label" aria-hidden\x3d"false"\x3e{ariaShortcut}\x3c/span\x3e{arrowHtml}\x3c/a\x3e',g=CKEDITOR.addTemplate("buttonArrow",'\x3cspan class\x3d"cke_button_arrow"\x3e'+(CKEDITOR.env.hc?"\x26#9660;":"")+"\x3c/span\x3e"),e=CKEDITOR.addTemplate("button",b);CKEDITOR.plugins.add("button",{beforeInit:function(a){a.ui.addHandler(CKEDITOR.UI_BUTTON, -CKEDITOR.ui.button.handler)}});CKEDITOR.UI_BUTTON="button";CKEDITOR.ui.button=function(a){CKEDITOR.tools.extend(this,a,{title:a.label,click:a.click||function(b){b.execCommand(a.command)}});this._={}};CKEDITOR.ui.button.handler={create:function(a){return new CKEDITOR.ui.button(a)}};CKEDITOR.ui.button.prototype={render:function(a,b){function h(){var c=a.mode;c&&(c=this.modes[c]?void 0!==l[c]?l[c]:CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED,c=a.readOnly&&!this.readOnly?CKEDITOR.TRISTATE_DISABLED: -c,this.setState(c),this.refresh&&this.refresh())}var l=null,c=CKEDITOR.env,f=this._.id=CKEDITOR.tools.getNextId(),d="",n=this.command,y,x,q;this._.editor=a;var r={id:f,button:this,editor:a,focus:function(){CKEDITOR.document.getById(f).focus()},execute:function(){this.button.click(a)},attach:function(a){this.button.attach(a)}},p=CKEDITOR.tools.addFunction(function(a){if(r.onkey)return a=new CKEDITOR.dom.event(a),!1!==r.onkey(r,a.getKeystroke())}),w=CKEDITOR.tools.addFunction(function(a){var c;r.onfocus&& -(c=!1!==r.onfocus(r,new CKEDITOR.dom.event(a)));return c}),t=0;r.clickFn=y=CKEDITOR.tools.addFunction(function(){t&&(a.unlockSelection(1),t=0);r.execute();c.iOS&&a.focus()});this.modes?(l={},a.on("beforeModeUnload",function(){a.mode&&this._.state!=CKEDITOR.TRISTATE_DISABLED&&(l[a.mode]=this._.state)},this),a.on("activeFilterChange",h,this),a.on("mode",h,this),!this.readOnly&&a.on("readOnly",h,this)):n&&(n=a.getCommand(n))&&(n.on("state",function(){this.setState(n.state)},this),d+=n.state==CKEDITOR.TRISTATE_ON? -"on":n.state==CKEDITOR.TRISTATE_DISABLED?"disabled":"off");var z;if(this.directional)a.on("contentDirChanged",function(c){var d=CKEDITOR.document.getById(this._.id),b=d.getFirst();c=c.data;c!=a.lang.dir?d.addClass("cke_"+c):d.removeClass("cke_ltr").removeClass("cke_rtl");b.setAttribute("style",CKEDITOR.skin.getIconStyle(z,"rtl"==c,this.icon,this.iconOffset))},this);n?(x=a.getCommandKeystroke(n))&&(q=CKEDITOR.tools.keystrokeToString(a.lang.common.keyboard,x)):d+="off";x=this.name||this.command;var u= -null,v=this.icon;z=x;this.icon&&!/\./.test(this.icon)?(z=this.icon,v=null):(this.icon&&(u=this.icon),CKEDITOR.env.hidpi&&this.iconHiDpi&&(u=this.iconHiDpi));u?(CKEDITOR.skin.addIcon(u,u),v=null):u=z;d={id:f,name:x,iconName:z,label:this.label,cls:(this.hasArrow?"cke_button_expandable ":"")+(this.className||""),state:d,ariaDisabled:"disabled"==d?"true":"false",title:this.title+(q?" ("+q.display+")":""),ariaShortcut:q?a.lang.common.keyboardShortcut+" "+q.aria:"",titleJs:c.gecko&&!c.hc?"":(this.title|| -"").replace("'",""),hasArrow:"string"===typeof this.hasArrow&&this.hasArrow||(this.hasArrow?"true":"false"),keydownFn:p,focusFn:w,clickFn:y,style:CKEDITOR.skin.getIconStyle(u,"rtl"==a.lang.dir,v,this.iconOffset),arrowHtml:this.hasArrow?g.output():""};e.output(d,b);if(this.onRender)this.onRender();return r},setState:function(a){if(this._.state==a)return!1;this._.state=a;var b=CKEDITOR.document.getById(this._.id);return b?(b.setState(a,"cke_button"),b.setAttribute("aria-disabled",a==CKEDITOR.TRISTATE_DISABLED), -this.hasArrow?b.setAttribute("aria-expanded",a==CKEDITOR.TRISTATE_ON):a===CKEDITOR.TRISTATE_ON?b.setAttribute("aria-pressed",!0):b.removeAttribute("aria-pressed"),!0):!1},getState:function(){return this._.state},toFeature:function(a){if(this._.feature)return this._.feature;var b=this;this.allowedContent||this.requiredContent||!this.command||(b=a.getCommand(this.command)||b);return this._.feature=b}};CKEDITOR.ui.prototype.addButton=function(a,b){this.add(a,CKEDITOR.UI_BUTTON,b)}})();(function(){function b(a){function b(){for(var c= -e(),d=CKEDITOR.tools.clone(a.config.toolbarGroups)||h(a),f=0;fc.order?-1:0>a.order? -1:a.order]+data-cke-bookmark[^<]*?<\/span>/ig,"");e&&b(a,f)})}function C(){if("wysiwyg"==a.mode){var c=E("paste");a.getCommand("cut").setState(E("cut"));a.getCommand("copy").setState(E("copy"));a.getCommand("paste").setState(c);a.fire("pasteState",c)}}function E(c){var b= -a.getSelection(),b=b&&b.getRanges()[0];if((a.readOnly||b&&b.checkReadOnly())&&c in{paste:1,cut:1})return CKEDITOR.TRISTATE_DISABLED;if("paste"==c)return CKEDITOR.TRISTATE_OFF;c=a.getSelection();b=c.getRanges();return c.getType()==CKEDITOR.SELECTION_NONE||1==b.length&&b[0].collapsed?CKEDITOR.TRISTATE_DISABLED:CKEDITOR.TRISTATE_OFF}var A=CKEDITOR.plugins.clipboard,B=0,G=0;(function(){a.on("key",u);a.on("contentDom",c);a.on("selectionChange",C);if(a.contextMenu){a.contextMenu.addListener(function(){return{cut:E("cut"), -copy:E("copy"),paste:E("paste")}});var b=null;a.on("menuShow",function(){b&&(b.removeListener(),b=null);var c=a.contextMenu.findItemByCommandName("paste");c&&c.element&&(b=c.element.on("touchend",function(){a._.forcePasteDialog=!0}))})}if(a.ui.addButton)a.once("instanceReady",function(){a._.pasteButtons&&CKEDITOR.tools.array.forEach(a._.pasteButtons,function(c){if(c=a.ui.get(c))if(c=CKEDITOR.document.getById(c._.id))c.on("touchend",function(){a._.forcePasteDialog=!0})})})})();(function(){function c(b, -f,e,g,h){var k=a.lang.clipboard[f];a.addCommand(f,e);a.ui.addButton&&a.ui.addButton(b,{label:k,command:f,toolbar:"clipboard,"+g});a.addMenuItems&&a.addMenuItem(f,{label:k,command:f,group:"clipboard",order:h})}c("Cut","cut",f("cut"),10,1);c("Copy","copy",f("copy"),20,4);c("Paste","paste",e(),30,8);a._.pasteButtons||(a._.pasteButtons=[]);a._.pasteButtons.push("Paste")})();a.getClipboardData=function(c,b){function f(a){a.removeListener();a.cancel();b(a.data)}function e(a){a.removeListener();a.cancel(); -b({type:h,dataValue:a.data.dataValue,dataTransfer:a.data.dataTransfer,method:"paste"})}var g=!1,h="auto";b||(b=c,c=null);a.on("beforePaste",function(a){a.removeListener();g=!0;h=a.data.type},null,null,1E3);a.on("paste",f,null,null,0);!1===z()&&(a.removeListener("paste",f),a._.forcePasteDialog&&g&&a.fire("pasteDialog")?(a.on("pasteDialogCommit",e),a.on("dialogHide",function(a){a.removeListener();a.data.removeListener("pasteDialogCommit",e);a.data._.committed||b(null)})):b(null))}}function g(a){if(CKEDITOR.env.webkit){if(!a.match(/^[^<]*$/g)&& -!a.match(/^(
<\/div>|
[^<]*<\/div>)*$/gi))return"html"}else if(CKEDITOR.env.ie){if(!a.match(/^([^<]|)*$/gi)&&!a.match(/^(

([^<]|)*<\/p>|(\r\n))*$/gi))return"html"}else if(CKEDITOR.env.gecko){if(!a.match(/^([^<]|)*$/gi))return"html"}else return"html";return"htmlifiedtext"}function e(a,c){function b(a){return CKEDITOR.tools.repeat("\x3c/p\x3e\x3cp\x3e",~~(a/2))+(1==a%2?"\x3cbr\x3e":"")}c=c.replace(/(?!\u3000)\s+/g," ").replace(/> +/gi, -"\x3cbr\x3e");c=c.replace(/<\/?[A-Z]+>/g,function(a){return a.toLowerCase()});if(c.match(/^[^<]$/))return c;CKEDITOR.env.webkit&&-1(
|)<\/div>)(?!$|(

(
|)<\/div>))/g,"\x3cbr\x3e").replace(/^(
(
|)<\/div>){2}(?!$)/g,"\x3cdiv\x3e\x3c/div\x3e"),c.match(/
(
|)<\/div>/)&&(c="\x3cp\x3e"+c.replace(/(
(
|)<\/div>)+/g,function(a){return b(a.split("\x3c/div\x3e\x3cdiv\x3e").length+1)})+"\x3c/p\x3e"),c=c.replace(/<\/div>
/g,"\x3cbr\x3e"), -c=c.replace(/<\/?div>/g,""));CKEDITOR.env.gecko&&a.enterMode!=CKEDITOR.ENTER_BR&&(CKEDITOR.env.gecko&&(c=c.replace(/^

$/,"\x3cbr\x3e")),-1){2,}/g,function(a){return b(a.length/4)})+"\x3c/p\x3e"));return k(a,c)}function a(a){function c(){var a={},b;for(b in CKEDITOR.dtd)"$"!=b.charAt(0)&&"div"!=b&&"span"!=b&&(a[b]=1);return a}var b={};return{get:function(f){return"plain-text"==f?b.plainText||(b.plainText=new CKEDITOR.filter(a, -"br")):"semantic-content"==f?((f=b.semanticContent)||(f=new CKEDITOR.filter(a,{}),f.allow({$1:{elements:c(),attributes:!0,styles:!1,classes:!1}}),f=b.semanticContent=f),f):f?new CKEDITOR.filter(a,f):null}}}function m(a,c,b){c=CKEDITOR.htmlParser.fragment.fromHtml(c);var f=new CKEDITOR.htmlParser.basicWriter;b.applyTo(c,!0,!1,a.activeEnterMode);c.writeHtml(f);return f.getHtml()}function k(a,c){a.enterMode==CKEDITOR.ENTER_BR?c=c.replace(/(<\/p>

)+/g,function(a){return CKEDITOR.tools.repeat("\x3cbr\x3e", -a.length/7*2)}).replace(/<\/?p>/g,""):a.enterMode==CKEDITOR.ENTER_DIV&&(c=c.replace(/<(\/)?p>/g,"\x3c$1div\x3e"));return c}function l(a){a.data.preventDefault();a.data.$.dataTransfer.dropEffect="none"}function c(a){var c=CKEDITOR.plugins.clipboard;a.on("contentDom",function(){function f(c,e,g){e.select();b(a,{dataTransfer:g,method:"drop"},1);g.sourceEditor.fire("saveSnapshot");g.sourceEditor.editable().extractHtmlFromRange(c);g.sourceEditor.getSelection().selectRanges([c]);g.sourceEditor.fire("saveSnapshot")} -function e(f,g){f.select();b(a,{dataTransfer:g,method:"drop"},1);c.resetDragDataTransfer()}function g(c,b,f){var e={$:c.data.$,target:c.data.getTarget()};b&&(e.dragRange=b);f&&(e.dropRange=f);!1===a.fire(c.name,e)&&c.data.preventDefault()}function h(a){a.type!=CKEDITOR.NODE_ELEMENT&&(a=a.getParent());return a.getChildCount()}var k=a.editable(),l=CKEDITOR.plugins.clipboard.getDropTarget(a),m=a.ui.space("top"),z=a.ui.space("bottom");c.preventDefaultDropOnElement(m);c.preventDefaultDropOnElement(z); -k.attachListener(l,"dragstart",g);k.attachListener(a,"dragstart",c.resetDragDataTransfer,c,null,1);k.attachListener(a,"dragstart",function(b){c.initDragDataTransfer(b,a)},null,null,2);k.attachListener(a,"dragstart",function(){var b=c.dragRange=a.getSelection().getRanges()[0];CKEDITOR.env.ie&&10>CKEDITOR.env.version&&(c.dragStartContainerChildCount=b?h(b.startContainer):null,c.dragEndContainerChildCount=b?h(b.endContainer):null)},null,null,100);k.attachListener(l,"dragend",g);k.attachListener(a,"dragend", -c.initDragDataTransfer,c,null,1);k.attachListener(a,"dragend",c.resetDragDataTransfer,c,null,100);k.attachListener(l,"dragover",function(a){if(CKEDITOR.env.edge)a.data.preventDefault();else{var c=a.data.getTarget();c&&c.is&&c.is("html")?a.data.preventDefault():CKEDITOR.env.ie&&CKEDITOR.plugins.clipboard.isFileApiSupported&&a.data.$.dataTransfer.types.contains("Files")&&a.data.preventDefault()}});k.attachListener(l,"drop",function(b){if(!b.data.$.defaultPrevented&&(b.data.preventDefault(),!a.readOnly)){var f= -b.data.getTarget();if(!f.isReadOnly()||f.type==CKEDITOR.NODE_ELEMENT&&f.is("html")){var f=c.getRangeAtDropPosition(b,a),e=c.dragRange;f&&g(b,e,f)}}},null,null,9999);k.attachListener(a,"drop",c.initDragDataTransfer,c,null,1);k.attachListener(a,"drop",function(b){if(b=b.data){var g=b.dropRange,h=b.dragRange,k=b.dataTransfer;k.getTransferType(a)==CKEDITOR.DATA_TRANSFER_INTERNAL?setTimeout(function(){c.internalDrop(h,g,k,a)},0):k.getTransferType(a)==CKEDITOR.DATA_TRANSFER_CROSS_EDITORS?f(h,g,k):e(g,k)}}, -null,null,9999)})}var f;CKEDITOR.plugins.add("clipboard",{requires:"dialog,notification,toolbar",init:function(b){function f(a){if(!a||r===a.id)return!1;var c=a.getTypes(),c=1===c.length&&"Files"===c[0];a=1===a.getFilesCount();return c&&a}var k,l=a(b);b.config.forcePasteAsPlainText?k="plain-text":b.config.pasteFilter?k=b.config.pasteFilter:!CKEDITOR.env.webkit||"pasteFilter"in b.config||(k="semantic-content");b.pasteFilter=l.get(k);h(b);c(b);CKEDITOR.dialog.add("paste",CKEDITOR.getUrl(this.path+"dialogs/paste.js")); -if(CKEDITOR.env.gecko){var q=["image/png","image/jpeg","image/gif"],r;b.on("paste",function(a){var c=a.data,e=c.dataTransfer;if(!c.dataValue&&"paste"==c.method&&f(e)&&(e=e.getFile(0),-1!=CKEDITOR.tools.indexOf(q,e.type))){var g=new FileReader;g.addEventListener("load",function(){a.data.dataValue='\x3cimg src\x3d"'+g.result+'" /\x3e';b.fire("paste",a.data)},!1);g.addEventListener("abort",function(){b.fire("paste",a.data)},!1);g.addEventListener("error",function(){b.fire("paste",a.data)},!1);g.readAsDataURL(e); -r=c.dataTransfer.id;a.stop()}},null,null,1)}b.on("paste",function(a){a.data.dataTransfer||(a.data.dataTransfer=new CKEDITOR.plugins.clipboard.dataTransfer);if(!a.data.dataValue){var c=a.data.dataTransfer,f=c.getData("text/html");if(f)a.data.dataValue=f,a.data.type="html";else if(f=c.getData("text/plain"))a.data.dataValue=b.editable().transformPlainTextToHtml(f),a.data.type="text"}},null,null,1);b.on("paste",function(a){var c=a.data.dataValue,b=CKEDITOR.dtd.$block;-1 <\/span>/gi, -" "),"html"!=a.data.type&&(c=c.replace(/]*>([^<]*)<\/span>/gi,function(a,c){return c.replace(/\t/g,"\x26nbsp;\x26nbsp; \x26nbsp;")})),-1/,"")),c=c.replace(/(<[^>]+) class="Apple-[^"]*"/gi,"$1"));if(c.match(/^<[^<]+cke_(editable|contents)/i)){var d,f,e=new CKEDITOR.dom.element("div");for(e.setHtml(c);1==e.getChildCount()&& -(d=e.getFirst())&&d.type==CKEDITOR.NODE_ELEMENT&&(d.hasClass("cke_editable")||d.hasClass("cke_contents"));)e=f=d;f&&(c=f.getHtml().replace(/
$/i,""))}CKEDITOR.env.ie?c=c.replace(/^ (?: |\r\n)?<(\w+)/g,function(c,d){return d.toLowerCase()in b?(a.data.preSniffing="html","\x3c"+d):c}):CKEDITOR.env.webkit?c=c.replace(/<\/(\w+)>


<\/div>$/,function(c,d){return d in b?(a.data.endsWithEOL=1,"\x3c/"+d+"\x3e"):c}):CKEDITOR.env.gecko&&(c=c.replace(/(\s)
$/,"$1"));a.data.dataValue=c},null, -null,3);b.on("paste",function(a){a=a.data;var c=b._.nextPasteType||a.type,f=a.dataValue,h,k=b.config.clipboard_defaultContentType||"html",n=a.dataTransfer.getTransferType(b)==CKEDITOR.DATA_TRANSFER_EXTERNAL,r=!0===b.config.forcePasteAsPlainText;h="html"==c||"html"==a.preSniffing?"html":g(f);delete b._.nextPasteType;"htmlifiedtext"==h&&(f=e(b.config,f));if("text"==c&&"html"==h)f=m(b,f,l.get("plain-text"));else if(n&&b.pasteFilter&&!a.dontFilter||r)f=m(b,f,b.pasteFilter);a.startsWithEOL&&(f='\x3cbr data-cke-eol\x3d"1"\x3e'+ -f);a.endsWithEOL&&(f+='\x3cbr data-cke-eol\x3d"1"\x3e');"auto"==c&&(c="html"==h||"html"==k?"html":"text");a.type=c;a.dataValue=f;delete a.preSniffing;delete a.startsWithEOL;delete a.endsWithEOL},null,null,6);b.on("paste",function(a){a=a.data;a.dataValue&&(b.insertHtml(a.dataValue,a.type,a.range),setTimeout(function(){b.fire("afterPaste")},0))},null,null,1E3);b.on("pasteDialog",function(a){setTimeout(function(){b.openDialog("paste",a.data)},0)})}});CKEDITOR.plugins.clipboard={isCustomCopyCutSupported:CKEDITOR.env.ie&& -16>CKEDITOR.env.version||CKEDITOR.env.iOS&&605>CKEDITOR.env.version?!1:!0,isCustomDataTypesSupported:!CKEDITOR.env.ie||16<=CKEDITOR.env.version,isFileApiSupported:!CKEDITOR.env.ie||9CKEDITOR.env.version||c.isInline()?c:a.document},fixSplitNodesAfterDrop:function(a,c,b,f){function e(a,b,d){var f=a;f.type==CKEDITOR.NODE_TEXT&&(f=a.getParent());if(f.equals(b)&& -d!=b.getChildCount())return a=c.startContainer.getChild(c.startOffset-1),b=c.startContainer.getChild(c.startOffset),a&&a.type==CKEDITOR.NODE_TEXT&&b&&b.type==CKEDITOR.NODE_TEXT&&(d=a.getLength(),a.setText(a.getText()+b.getText()),b.remove(),c.setStart(a,d),c.collapse(!0)),!0}var g=c.startContainer;"number"==typeof f&&"number"==typeof b&&g.type==CKEDITOR.NODE_ELEMENT&&(e(a.startContainer,g,b)||e(a.endContainer,g,f))},isDropRangeAffectedByDragRange:function(a,c){var b=c.startContainer,f=c.endOffset; -return a.endContainer.equals(b)&&a.endOffset<=f||a.startContainer.getParent().equals(b)&&a.startContainer.getIndex()CKEDITOR.env.version&&this.fixSplitNodesAfterDrop(a,c,g.dragStartContainerChildCount,g.dragEndContainerChildCount);(l=this.isDropRangeAffectedByDragRange(a, -c))||(k=a.createBookmark(!1));g=c.clone().createBookmark(!1);l&&(k=a.createBookmark(!1));a=k.startNode;c=k.endNode;l=g.startNode;c&&a.getPosition(l)&CKEDITOR.POSITION_PRECEDING&&c.getPosition(l)&CKEDITOR.POSITION_FOLLOWING&&l.insertBefore(a);a=e.createRange();a.moveToBookmark(k);h.extractHtmlFromRange(a,1);c=e.createRange();g.startNode.getCommonAncestor(h)||(g=e.getSelection().createBookmarks()[0]);c.moveToBookmark(g);b(e,{dataTransfer:f,method:"drop",range:c},1);e.fire("unlockSnapshot")},getRangeAtDropPosition:function(a, -c){var b=a.data.$,f=b.clientX,e=b.clientY,g=c.getSelection(!0).getRanges()[0],h=c.createRange();if(a.data.testRange)return a.data.testRange;if(document.caretRangeFromPoint&&c.document.$.caretRangeFromPoint(f,e))b=c.document.$.caretRangeFromPoint(f,e),h.setStart(CKEDITOR.dom.node(b.startContainer),b.startOffset),h.collapse(!0);else if(b.rangeParent)h.setStart(CKEDITOR.dom.node(b.rangeParent),b.rangeOffset),h.collapse(!0);else{if(CKEDITOR.env.ie&&8l&&!k;l++){if(!k)try{b.moveToPoint(f,e-l),k=!0}catch(m){}if(!k)try{b.moveToPoint(f,e+l),k=!0}catch(u){}}if(k){var v="cke-temp-"+(new Date).getTime();b.pasteHTML('\x3cspan id\x3d"'+v+'"\x3e​\x3c/span\x3e');var C=c.document.getById(v);h.moveToPosition(C,CKEDITOR.POSITION_BEFORE_START);C.remove()}else{var E=c.document.$.elementFromPoint(f,e),A=new CKEDITOR.dom.element(E),B;if(A.equals(c.editable())|| -"html"==A.getName())return g&&g.startContainer&&!g.startContainer.equals(c.editable())?g:null;B=A.getClientRect();f/i,bodyRegExp:/([\s\S]*)<\/body>/i,fragmentRegExp:/\s*\x3c!--StartFragment--\x3e|\x3c!--EndFragment--\x3e\s*/g,data:{},files:[],nativeHtmlCache:"",normalizeType:function(a){a=a.toLowerCase();return"text"==a||"text/plain"== -a?"Text":"url"==a?"URL":a}};this._.fallbackDataTransfer=new CKEDITOR.plugins.clipboard.fallbackDataTransfer(this);this.id=this.getData(f);this.id||(this.id="Text"==f?"":"cke-"+CKEDITOR.tools.getUniqueId());c&&(this.sourceEditor=c,this.setData("text/html",c.getSelectedHtml(1)),"Text"==f||this.getData("text/plain")||this.setData("text/plain",c.getSelection().getSelectedText()))};CKEDITOR.DATA_TRANSFER_INTERNAL=1;CKEDITOR.DATA_TRANSFER_CROSS_EDITORS=2;CKEDITOR.DATA_TRANSFER_EXTERNAL=3;CKEDITOR.plugins.clipboard.dataTransfer.prototype= -{getData:function(a,c){a=this._.normalizeType(a);var b="text/html"==a&&c?this._.nativeHtmlCache:this._.data[a];if(void 0===b||null===b||""===b){if(this._.fallbackDataTransfer.isRequired())b=this._.fallbackDataTransfer.getData(a,c);else try{b=this.$.getData(a)||""}catch(f){b=""}"text/html"!=a||c||(b=this._stripHtml(b))}"Text"==a&&CKEDITOR.env.gecko&&this.getFilesCount()&&"file://"==b.substring(0,7)&&(b="");if("string"===typeof b)var e=b.indexOf("\x3c/html\x3e"),b=-1!==e?b.substring(0,e+7):b;return b}, -setData:function(a,c){a=this._.normalizeType(a);"text/html"==a?(this._.data[a]=this._stripHtml(c),this._.nativeHtmlCache=c):this._.data[a]=c;if(CKEDITOR.plugins.clipboard.isCustomDataTypesSupported||"URL"==a||"Text"==a)if("Text"==f&&"Text"==a&&(this.id=c),this._.fallbackDataTransfer.isRequired())this._.fallbackDataTransfer.setData(a,c);else try{this.$.setData(a,c)}catch(b){}},storeId:function(){"Text"!==f&&this.setData(f,this.id)},getTransferType:function(a){return this.sourceEditor?this.sourceEditor== -a?CKEDITOR.DATA_TRANSFER_INTERNAL:CKEDITOR.DATA_TRANSFER_CROSS_EDITORS:CKEDITOR.DATA_TRANSFER_EXTERNAL},cacheData:function(){function a(b){b=c._.normalizeType(b);var d=c.getData(b);"text/html"==b&&(c._.nativeHtmlCache=c.getData(b,!0),d=c._stripHtml(d));d&&(c._.data[b]=d)}if(this.$){var c=this,b,f;if(CKEDITOR.plugins.clipboard.isCustomDataTypesSupported){if(this.$.types)for(b=0;bc.order?-1:0>a.order?1:a.order]+data-cke-bookmark[^<]*?<\/span>/ig,"");e&&b(a,d)})}function y(){if("wysiwyg"==a.mode){var c=C("paste");a.getCommand("cut").setState(C("cut")); +a.getCommand("copy").setState(C("copy"));a.getCommand("paste").setState(c);a.fire("pasteState",c)}}function C(c){var b=a.getSelection(),b=b&&b.getRanges()[0];if((a.readOnly||b&&b.checkReadOnly())&&c in{paste:1,cut:1})return CKEDITOR.TRISTATE_DISABLED;if("paste"==c)return CKEDITOR.TRISTATE_OFF;c=a.getSelection();b=c.getRanges();return c.getType()==CKEDITOR.SELECTION_NONE||1==b.length&&b[0].collapsed?CKEDITOR.TRISTATE_DISABLED:CKEDITOR.TRISTATE_OFF}var D=CKEDITOR.plugins.clipboard,B=0,E=0;(function(){a.on("key", +v);a.on("contentDom",c);a.on("selectionChange",y);if(a.contextMenu){a.contextMenu.addListener(function(){return{cut:C("cut"),copy:C("copy"),paste:C("paste")}});var b=null;a.on("menuShow",function(){b&&(b.removeListener(),b=null);var c=a.contextMenu.findItemByCommandName("paste");c&&c.element&&(b=c.element.on("touchend",function(){a._.forcePasteDialog=!0}))})}if(a.ui.addButton)a.once("instanceReady",function(){a._.pasteButtons&&CKEDITOR.tools.array.forEach(a._.pasteButtons,function(c){if(c=a.ui.get(c))if(c= +CKEDITOR.document.getById(c._.id))c.on("touchend",function(){a._.forcePasteDialog=!0})})})})();(function(){function c(b,d,e,f,h){var k=a.lang.clipboard[d];a.addCommand(d,e);a.ui.addButton&&a.ui.addButton(b,{label:k,command:d,toolbar:"clipboard,"+f});a.addMenuItems&&a.addMenuItem(d,{label:k,command:d,group:"clipboard",order:h})}c("Cut","cut",d("cut"),10,1);c("Copy","copy",d("copy"),20,4);c("Paste","paste",e(),30,8);a._.pasteButtons||(a._.pasteButtons=[]);a._.pasteButtons.push("Paste")})();a.getClipboardData= +function(c,b){function d(a){a.removeListener();a.cancel();b(a.data)}function e(a){a.removeListener();a.cancel();b({type:h,dataValue:a.data.dataValue,dataTransfer:a.data.dataTransfer,method:"paste"})}var f=!1,h="auto";b||(b=c,c=null);a.on("beforePaste",function(a){a.removeListener();f=!0;h=a.data.type},null,null,1E3);a.on("paste",d,null,null,0);!1===A()&&(a.removeListener("paste",d),a._.forcePasteDialog&&f&&a.fire("pasteDialog")?(a.on("pasteDialogCommit",e),a.on("dialogHide",function(a){a.removeListener(); +a.data.removeListener("pasteDialogCommit",e);a.data._.committed||b(null)})):b(null))}}function f(a){if(CKEDITOR.env.webkit){if(!a.match(/^[^<]*$/g)&&!a.match(/^(
<\/div>|
[^<]*<\/div>)*$/gi))return"html"}else if(CKEDITOR.env.ie){if(!a.match(/^([^<]|)*$/gi)&&!a.match(/^(

([^<]|)*<\/p>|(\r\n))*$/gi))return"html"}else if(CKEDITOR.env.gecko){if(!a.match(/^([^<]|)*$/gi))return"html"}else return"html";return"htmlifiedtext"}function e(a,c){function b(a){return CKEDITOR.tools.repeat("\x3c/p\x3e\x3cp\x3e", +~~(a/2))+(1==a%2?"\x3cbr\x3e":"")}c=c.replace(/(?!\u3000)\s+/g," ").replace(/> +/gi,"\x3cbr\x3e");c=c.replace(/<\/?[A-Z]+>/g,function(a){return a.toLowerCase()});if(c.match(/^[^<]$/))return c;CKEDITOR.env.webkit&&-1(
|)<\/div>)(?!$|(

(
|)<\/div>))/g,"\x3cbr\x3e").replace(/^(
(
|)<\/div>){2}(?!$)/g,"\x3cdiv\x3e\x3c/div\x3e"),c.match(/
(
|)<\/div>/)&&(c="\x3cp\x3e"+c.replace(/(
(
|)<\/div>)+/g, +function(a){return b(a.split("\x3c/div\x3e\x3cdiv\x3e").length+1)})+"\x3c/p\x3e"),c=c.replace(/<\/div>
/g,"\x3cbr\x3e"),c=c.replace(/<\/?div>/g,""));CKEDITOR.env.gecko&&a.enterMode!=CKEDITOR.ENTER_BR&&(CKEDITOR.env.gecko&&(c=c.replace(/^

$/,"\x3cbr\x3e")),-1){2,}/g,function(a){return b(a.length/4)})+"\x3c/p\x3e"));return l(a,c)}function a(a){function c(){var a={},b;for(b in CKEDITOR.dtd)"$"!=b.charAt(0)&&"div"!=b&&"span"!= +b&&(a[b]=1);return a}var b={};return{get:function(d){return"plain-text"==d?b.plainText||(b.plainText=new CKEDITOR.filter(a,"br")):"semantic-content"==d?((d=b.semanticContent)||(d=new CKEDITOR.filter(a,{}),d.allow({$1:{elements:c(),attributes:!0,styles:!1,classes:!1}}),d=b.semanticContent=d),d):d?new CKEDITOR.filter(a,d):null}}}function k(a,c,b){c=CKEDITOR.htmlParser.fragment.fromHtml(c);var d=new CKEDITOR.htmlParser.basicWriter;b.applyTo(c,!0,!1,a.activeEnterMode);c.writeHtml(d);return d.getHtml()} +function l(a,c){a.enterMode==CKEDITOR.ENTER_BR?c=c.replace(/(<\/p>

)+/g,function(a){return CKEDITOR.tools.repeat("\x3cbr\x3e",a.length/7*2)}).replace(/<\/?p>/g,""):a.enterMode==CKEDITOR.ENTER_DIV&&(c=c.replace(/<(\/)?p>/g,"\x3c$1div\x3e"));return c}function m(a){a.data.preventDefault();a.data.$.dataTransfer.dropEffect="none"}function c(a){var c=CKEDITOR.plugins.clipboard;a.on("contentDom",function(){function d(c,e,f){e.select();b(a,{dataTransfer:f,method:"drop"},1);f.sourceEditor.fire("saveSnapshot"); +f.sourceEditor.editable().extractHtmlFromRange(c);f.sourceEditor.getSelection().selectRanges([c]);f.sourceEditor.fire("saveSnapshot")}function e(d,f){d.select();b(a,{dataTransfer:f,method:"drop"},1);c.resetDragDataTransfer()}function f(c,b,d){var e={$:c.data.$,target:c.data.getTarget()};b&&(e.dragRange=b);d&&(e.dropRange=d);!1===a.fire(c.name,e)&&c.data.preventDefault()}function h(a){a.type!=CKEDITOR.NODE_ELEMENT&&(a=a.getParent());return a.getChildCount()}var k=a.editable(),l=CKEDITOR.plugins.clipboard.getDropTarget(a), +m=a.ui.space("top"),A=a.ui.space("bottom");c.preventDefaultDropOnElement(m);c.preventDefaultDropOnElement(A);k.attachListener(l,"dragstart",f);k.attachListener(a,"dragstart",c.resetDragDataTransfer,c,null,1);k.attachListener(a,"dragstart",function(b){c.initDragDataTransfer(b,a)},null,null,2);k.attachListener(a,"dragstart",function(){var b=c.dragRange=a.getSelection().getRanges()[0];CKEDITOR.env.ie&&10>CKEDITOR.env.version&&(c.dragStartContainerChildCount=b?h(b.startContainer):null,c.dragEndContainerChildCount= +b?h(b.endContainer):null)},null,null,100);k.attachListener(l,"dragend",f);k.attachListener(a,"dragend",c.initDragDataTransfer,c,null,1);k.attachListener(a,"dragend",c.resetDragDataTransfer,c,null,100);k.attachListener(l,"dragover",function(a){if(CKEDITOR.env.edge)a.data.preventDefault();else{var c=a.data.getTarget();c&&c.is&&c.is("html")?a.data.preventDefault():CKEDITOR.env.ie&&CKEDITOR.plugins.clipboard.isFileApiSupported&&a.data.$.dataTransfer.types.contains("Files")&&a.data.preventDefault()}}); +k.attachListener(l,"drop",function(b){if(!b.data.$.defaultPrevented&&(b.data.preventDefault(),!a.readOnly)){var d=b.data.getTarget();if(!d.isReadOnly()||d.type==CKEDITOR.NODE_ELEMENT&&d.is("html")){var d=c.getRangeAtDropPosition(b,a),e=c.dragRange;d&&f(b,e,d)}}},null,null,9999);k.attachListener(a,"drop",c.initDragDataTransfer,c,null,1);k.attachListener(a,"drop",function(b){if(b=b.data){var f=b.dropRange,h=b.dragRange,k=b.dataTransfer;k.getTransferType(a)==CKEDITOR.DATA_TRANSFER_INTERNAL?setTimeout(function(){c.internalDrop(h, +f,k,a)},0):k.getTransferType(a)==CKEDITOR.DATA_TRANSFER_CROSS_EDITORS?d(h,f,k):e(f,k)}},null,null,9999)})}var d;CKEDITOR.plugins.add("clipboard",{requires:"dialog,notification,toolbar",_supportedFileMatchers:[],init:function(b){function d(a){return b.config.clipboard_handleImages?-1!==CKEDITOR.tools.indexOf(["image/png","image/jpeg","image/gif"],a.type):!1}function l(a){return CKEDITOR.tools.array.some(b.plugins.clipboard._supportedFileMatchers,function(c){return c(a)})}function m(a){a.length&&(a= +CKEDITOR.tools.array.unique(a),a=CKEDITOR.tools.array.filter(a,function(a){return!!CKEDITOR.tools.trim(a)}),a=p(a.join(", ")),b.showNotification(a,"info",b.config.clipboard_notificationDuration))}function p(a){return a?b.lang.clipboard.fileFormatNotSupportedNotification.replace(/\${formats\}/g,"\x3cem\x3e"+a+"\x3c/em\x3e"):b.lang.clipboard.fileWithoutFormatNotSupportedNotification}function q(a,c){return CKEDITOR.env.ie&&a.data.fileTransferCancel||!(CKEDITOR.env.ie||c&&A!==c.id)?!1:c.isFileTransfer()&& +1===c.getFilesCount()}var u,z=a(b);b.config.forcePasteAsPlainText?u="plain-text":b.config.pasteFilter?u=b.config.pasteFilter:!CKEDITOR.env.webkit||"pasteFilter"in b.config||(u="semantic-content");b.pasteFilter=z.get(u);h(b);c(b);CKEDITOR.dialog.add("paste",CKEDITOR.getUrl(this.path+"dialogs/paste.js"));var r=CKEDITOR.plugins.clipboard.isCustomDataTypesSupported||CKEDITOR.plugins.clipboard.isFileApiSupported,A;CKEDITOR.plugins.clipboard.addFileMatcher(b,d);b.on("paste",function(a){if(r){var c=a.data; +a=c.dataTransfer;if(!c.dataValue){for(var c=[],b=0;b <\/span>/gi," "),"html"!=a.data.type&&(c=c.replace(/]*>([^<]*)<\/span>/gi,function(a,c){return c.replace(/\t/g,"\x26nbsp;\x26nbsp; \x26nbsp;")})),-1/, +"")),c=c.replace(/(<[^>]+) class="Apple-[^"]*"/gi,"$1"));if(c.match(/^<[^<]+cke_(editable|contents)/i)){var d,g,e=new CKEDITOR.dom.element("div");for(e.setHtml(c);1==e.getChildCount()&&(d=e.getFirst())&&d.type==CKEDITOR.NODE_ELEMENT&&(d.hasClass("cke_editable")||d.hasClass("cke_contents"));)e=g=d;g&&(c=g.getHtml().replace(/
$/i,""))}CKEDITOR.env.ie?c=c.replace(/^ (?: |\r\n)?<(\w+)/g,function(c,d){return d.toLowerCase()in b?(a.data.preSniffing="html","\x3c"+d):c}):CKEDITOR.env.webkit?c=c.replace(/<\/(\w+)>


<\/div>$/, +function(c,d){return d in b?(a.data.endsWithEOL=1,"\x3c/"+d+"\x3e"):c}):CKEDITOR.env.gecko&&(c=c.replace(/(\s)
$/,"$1"));a.data.dataValue=c},null,null,3);b.on("paste",function(a){a=a.data;var c=b._.nextPasteType||a.type,d=a.dataValue,h,l=b.config.clipboard_defaultContentType||"html",n=a.dataTransfer.getTransferType(b)==CKEDITOR.DATA_TRANSFER_EXTERNAL,m=!0===b.config.forcePasteAsPlainText;h="html"==c||"html"==a.preSniffing?"html":f(d);delete b._.nextPasteType;"htmlifiedtext"==h&&(d=e(b.config,d)); +if("text"==c&&"html"==h)d=k(b,d,z.get("plain-text"));else if(n&&b.pasteFilter&&!a.dontFilter||m)d=k(b,d,b.pasteFilter);a.startsWithEOL&&(d='\x3cbr data-cke-eol\x3d"1"\x3e'+d);a.endsWithEOL&&(d+='\x3cbr data-cke-eol\x3d"1"\x3e');"auto"==c&&(c="html"==h||"html"==l?"html":"text");a.type=c;a.dataValue=d;delete a.preSniffing;delete a.startsWithEOL;delete a.endsWithEOL},null,null,6);b.on("paste",function(a){a=a.data;a.dataValue&&(b.insertHtml(a.dataValue,a.type,a.range),setTimeout(function(){b.fire("afterPaste")}, +0))},null,null,1E3);b.on("pasteDialog",function(a){setTimeout(function(){b.openDialog("paste",a.data)},0)})}});CKEDITOR.plugins.clipboard={addFileMatcher:function(a,c){a.plugins.clipboard._supportedFileMatchers.push(c)},isCustomCopyCutSupported:CKEDITOR.env.ie&&16>CKEDITOR.env.version||CKEDITOR.env.iOS&&605>CKEDITOR.env.version?!1:!0,isCustomDataTypesSupported:!CKEDITOR.env.ie||16<=CKEDITOR.env.version,isFileApiSupported:!CKEDITOR.env.ie||9CKEDITOR.env.version||c.isInline()?c:a.document},fixSplitNodesAfterDrop:function(a,c,b,d){function e(a,b,d){var g=a;g.type==CKEDITOR.NODE_TEXT&&(g=a.getParent());if(g.equals(b)&&d!=b.getChildCount())return a=c.startContainer.getChild(c.startOffset-1),b=c.startContainer.getChild(c.startOffset),a&&a.type==CKEDITOR.NODE_TEXT&&b&&b.type==CKEDITOR.NODE_TEXT&&(d=a.getLength(),a.setText(a.getText()+b.getText()),b.remove(),c.setStart(a, +d),c.collapse(!0)),!0}var f=c.startContainer;"number"==typeof d&&"number"==typeof b&&f.type==CKEDITOR.NODE_ELEMENT&&(e(a.startContainer,f,b)||e(a.endContainer,f,d))},isDropRangeAffectedByDragRange:function(a,c){var b=c.startContainer,d=c.endOffset;return a.endContainer.equals(b)&&a.endOffset<=d||a.startContainer.getParent().equals(b)&&a.startContainer.getIndex()CKEDITOR.env.version&&this.fixSplitNodesAfterDrop(a,c,f.dragStartContainerChildCount,f.dragEndContainerChildCount);(l=this.isDropRangeAffectedByDragRange(a,c))||(k=a.createBookmark(!1));f=c.clone().createBookmark(!1);l&&(k=a.createBookmark(!1));a=k.startNode;c=k.endNode;l=f.startNode;c&&a.getPosition(l)&CKEDITOR.POSITION_PRECEDING&&c.getPosition(l)&CKEDITOR.POSITION_FOLLOWING&&l.insertBefore(a);a=e.createRange(); +a.moveToBookmark(k);h.extractHtmlFromRange(a,1);c=e.createRange();f.startNode.getCommonAncestor(h)||(f=e.getSelection().createBookmarks()[0]);c.moveToBookmark(f);b(e,{dataTransfer:d,method:"drop",range:c},1);e.fire("unlockSnapshot")},getRangeAtDropPosition:function(a,c){var b=a.data.$,d=b.clientX,e=b.clientY,f=c.getSelection(!0).getRanges()[0],h=c.createRange();if(a.data.testRange)return a.data.testRange;if(document.caretRangeFromPoint&&c.document.$.caretRangeFromPoint(d,e))b=c.document.$.caretRangeFromPoint(d, +e),h.setStart(CKEDITOR.dom.node(b.startContainer),b.startOffset),h.collapse(!0);else if(b.rangeParent)h.setStart(CKEDITOR.dom.node(b.rangeParent),b.rangeOffset),h.collapse(!0);else{if(CKEDITOR.env.ie&&8l&&!k;l++){if(!k)try{b.moveToPoint(d,e-l),k=!0}catch(m){}if(!k)try{b.moveToPoint(d,e+l),k=!0}catch(v){}}if(k){var t="cke-temp-"+(new Date).getTime(); +b.pasteHTML('\x3cspan id\x3d"'+t+'"\x3e​\x3c/span\x3e');var y=c.document.getById(t);h.moveToPosition(y,CKEDITOR.POSITION_BEFORE_START);y.remove()}else{var C=c.document.$.elementFromPoint(d,e),D=new CKEDITOR.dom.element(C),B;if(D.equals(c.editable())||"html"==D.getName())return f&&f.startContainer&&!f.startContainer.equals(c.editable())?f:null;B=D.getClientRect();d/i,fragmentRegExp:/\s*\x3c!--StartFragment--\x3e|\x3c!--EndFragment--\x3e\s*/g, +types:[],data:{},files:[],nativeHtmlCache:"",normalizeType:function(a){a=a.toLowerCase();return"text"==a||"text/plain"==a?"Text":"url"==a?"URL":"files"===a?"Files":a}};this._.fallbackDataTransfer=new CKEDITOR.plugins.clipboard.fallbackDataTransfer(this);this.id=this.getData(d);this.id||(this.id="Text"==d?"":"cke-"+CKEDITOR.tools.getUniqueId());c&&(this.sourceEditor=c,this.setData("text/html",c.getSelectedHtml(1)),"Text"==d||this.getData("text/plain")||this.setData("text/plain",c.getSelection().getSelectedText()))}; +CKEDITOR.DATA_TRANSFER_INTERNAL=1;CKEDITOR.DATA_TRANSFER_CROSS_EDITORS=2;CKEDITOR.DATA_TRANSFER_EXTERNAL=3;CKEDITOR.plugins.clipboard.dataTransfer.prototype={getData:function(a,c){a=this._.normalizeType(a);var b="text/html"==a&&c?this._.nativeHtmlCache:this._.data[a];if(void 0===b||null===b||""===b){if(this._.fallbackDataTransfer.isRequired())b=this._.fallbackDataTransfer.getData(a,c);else try{b=this.$.getData(a)||""}catch(d){b=""}"text/html"!=a||c||(b=this._stripHtml(b))}"Text"==a&&CKEDITOR.env.gecko&& +this.getFilesCount()&&"file://"==b.substring(0,7)&&(b="");if("string"===typeof b)var e=b.indexOf("\x3c/html\x3e"),b=-1!==e?b.substring(0,e+7):b;return b},setData:function(a,c){a=this._.normalizeType(a);"text/html"==a?(this._.data[a]=this._stripHtml(c),this._.nativeHtmlCache=c):this._.data[a]=c;if(CKEDITOR.plugins.clipboard.isCustomDataTypesSupported||"URL"==a||"Text"==a)if("Text"==d&&"Text"==a&&(this.id=c),this._.fallbackDataTransfer.isRequired())this._.fallbackDataTransfer.setData(a,c);else try{this.$.setData(a, +c)}catch(b){}},storeId:function(){"Text"!==d&&this.setData(d,this.id)},getTransferType:function(a){return this.sourceEditor?this.sourceEditor==a?CKEDITOR.DATA_TRANSFER_INTERNAL:CKEDITOR.DATA_TRANSFER_CROSS_EDITORS:CKEDITOR.DATA_TRANSFER_EXTERNAL},cacheData:function(){function a(b){b=c._.normalizeType(b);var d=c.getData(b);"text/html"==b&&(c._.nativeHtmlCache=c.getData(b,!0),d=c._stripHtml(d));d&&(c._.data[b]=d);c._.types.push(b)}if(this.$){var c=this,b,d,e;if(CKEDITOR.plugins.clipboard.isCustomDataTypesSupported){if(this.$.types)for(b= +0;b$/gi,"")}a&&a.length&&(a=c(a),a=a.replace(this._.metaRegExp,""),a=a.replace(this._.fragmentRegExp,""));return a}};CKEDITOR.plugins.clipboard.fallbackDataTransfer=function(a){this._dataTransfer=a;this._customDataFallbackType="text/html"};CKEDITOR.plugins.clipboard.fallbackDataTransfer._isCustomMimeTypeSupported= +null;CKEDITOR.plugins.clipboard.fallbackDataTransfer._customTypes=[];CKEDITOR.plugins.clipboard.fallbackDataTransfer.prototype={isRequired:function(){var a=CKEDITOR.plugins.clipboard.fallbackDataTransfer,c=this._dataTransfer.$;if(null===a._isCustomMimeTypeSupported)if(c){a._isCustomMimeTypeSupported=!1;if(CKEDITOR.env.edge&&17<=CKEDITOR.env.version)return!0;try{c.setData("cke/mimetypetest","cke test value"),a._isCustomMimeTypeSupported="cke test value"===c.getData("cke/mimetypetest"),c.clearData("cke/mimetypetest")}catch(b){}}else return!1; +return!a._isCustomMimeTypeSupported},getData:function(a,c){var b=this._getData(this._customDataFallbackType,!0);if(c)return b;var b=this._extractDataComment(b),d=null,d=a===this._customDataFallbackType?b.content:b.data&&b.data[a]?b.data[a]:this._getData(a,!0);return null!==d?d:""},setData:function(a,c){var b=a===this._customDataFallbackType;b&&(c=this._applyDataComment(c,this._getFallbackTypeData()));var d=c,e=this._dataTransfer.$;try{e.setData(a,d),b&&(this._dataTransfer._.nativeHtmlCache=d)}catch(f){if(this._isUnsupportedMimeTypeError(f)){b= +CKEDITOR.plugins.clipboard.fallbackDataTransfer;-1===CKEDITOR.tools.indexOf(b._customTypes,a)&&b._customTypes.push(a);var b=this._getFallbackTypeContent(),h=this._getFallbackTypeData();h[a]=d;try{d=this._applyDataComment(b,h),e.setData(this._customDataFallbackType,d),this._dataTransfer._.nativeHtmlCache=d}catch(k){d=""}}}return d},_getData:function(a,c){var b=this._dataTransfer._.data;if(!c&&b[a])return b[a];try{return this._dataTransfer.$.getData(a)}catch(d){return null}},_getFallbackTypeContent:function(){var a= this._dataTransfer._.data[this._customDataFallbackType];a||(a=this._extractDataComment(this._getData(this._customDataFallbackType,!0)).content);return a},_getFallbackTypeData:function(){var a=CKEDITOR.plugins.clipboard.fallbackDataTransfer._customTypes,c=this._extractDataComment(this._getData(this._customDataFallbackType,!0)).data||{},b=this._dataTransfer._.data;CKEDITOR.tools.array.forEach(a,function(a){void 0!==b[a]?c[a]=b[a]:void 0!==c[a]&&(c[a]=c[a])},this);return c},_isUnsupportedMimeTypeError:function(a){return a.message&& --1!==a.message.search(/element not found/gi)},_extractDataComment:function(a){var c={data:null,content:a||""};if(a&&16d?p+d:b.width>d?p-a.left:p-a.right+b.width):gd?p-d:b.width>d?p-a.right+b.width:p-a.left);d=a.top;b.height-a.tope?w-e:b.height>e?w-a.bottom+b.height:w-a.top);CKEDITOR.env.ie&&!CKEDITOR.env.edge&&((b=a=n.$.offsetParent&&new CKEDITOR.dom.element(n.$.offsetParent))&&"html"==b.getName()&&(b=b.getDocument().getBody()),b&&"rtl"==b.getComputedStyle("direction")&& -(p=CKEDITOR.env.ie8Compat?p-2*n.getDocument().getDocumentElement().$.scrollLeft:p-(a.$.scrollWidth-a.$.clientWidth)));var a=n.getFirst(),k;(k=a.getCustomData("activePanel"))&&k.onHide&&k.onHide.call(this,1);a.setCustomData("activePanel",this);n.setStyles({top:w+"px",left:p+"px"});n.setOpacity(1);l&&l()},this);c.isLoaded?a():c.onLoad=a;CKEDITOR.tools.setTimeout(function(){var a=CKEDITOR.env.webkit&&CKEDITOR.document.getWindow().getScrollPosition().y;this.focus();f.element.focus();CKEDITOR.env.webkit&& -(CKEDITOR.document.getBody().$.scrollTop=a);this.allowBlur(!0);this._.markFirst&&(CKEDITOR.env.ie?CKEDITOR.tools.setTimeout(function(){f.markFirstDisplayed?f.markFirstDisplayed():f._.markFirstDisplayed()},0):f.markFirstDisplayed?f.markFirstDisplayed():f._.markFirstDisplayed());this._.editor.fire("panelShow",this)},0,this)},CKEDITOR.env.air?200:0,this);this.visible=1;this.onShow&&this.onShow.call(this)},reposition:function(){var b=this._.showBlockParams;this.visible&&this._.showBlockParams&&(this.hide(), +this.attributes["aria-label"]});this.keys={};this._.focusIndex=-1;this.element.disableContextMenu()},_:{markItem:function(b){-1!=b&&(b=this._.getItems().getItem(this._.focusIndex=b),CKEDITOR.env.webkit&&b.getDocument().getWindow().focus(),b.focus(),this.onMark&&this.onMark(b))},markFirstDisplayed:function(b){for(var a=function(a){return a.type==CKEDITOR.NODE_ELEMENT&&"none"==a.getStyle("display")},f=this._.getItems(),h,m,c=f.count()-1;0<=c;c--)if(h=f.getItem(c),h.getAscendant(a)||(m=h,this._.focusIndex= +c),"true"==h.getAttribute("aria-selected")){m=h;this._.focusIndex=c;break}m&&(b&&b(),CKEDITOR.env.webkit&&m.getDocument().getWindow().focus(),m.focus(),this.onMark&&this.onMark(m))},getItems:function(){return this.element.find("a,input")}},proto:{show:function(){this.element.setStyle("display","")},hide:function(){this.onHide&&!0===this.onHide.call(this)||this.element.setStyle("display","none")},onKeyDown:function(b,a){var f=this.keys[b];switch(f){case "next":for(var h=this._.focusIndex,f=this._.getItems(), +m;m=f.getItem(++h);)if(m.getAttribute("_cke_focus")&&m.$.offsetWidth){this._.focusIndex=h;m.focus(!0);break}return m||a?!1:(this._.focusIndex=-1,this.onKeyDown(b,1));case "prev":h=this._.focusIndex;for(f=this._.getItems();0g?u+g:b.width>g?u-a.left:u-a.right+b.width):fg?u-g:b.width>g?u-a.right+b.width:u-a.left);g=a.top;b.height-a.tope?z-e:b.height>e?z-a.bottom+b.height:z-a.top);CKEDITOR.env.ie&&!CKEDITOR.env.edge&&((b=a=n.$.offsetParent&&new CKEDITOR.dom.element(n.$.offsetParent))&&"html"==b.getName()&&(b=b.getDocument().getBody()),b&&"rtl"==b.getComputedStyle("direction")&& +(u=CKEDITOR.env.ie8Compat?u-2*n.getDocument().getDocumentElement().$.scrollLeft:u-(a.$.scrollWidth-a.$.clientWidth)));var a=n.getFirst(),k;(k=a.getCustomData("activePanel"))&&k.onHide&&k.onHide.call(this,1);a.setCustomData("activePanel",this);n.setStyles({top:z+"px",left:u+"px"});n.setOpacity(1);m&&m()},this);c.isLoaded?a():c.onLoad=a;CKEDITOR.tools.setTimeout(function(){var a=CKEDITOR.env.webkit&&CKEDITOR.document.getWindow().getScrollPosition().y;this.focus();d.element.focus();CKEDITOR.env.webkit&& +(CKEDITOR.document.getBody().$.scrollTop=a);this.allowBlur(!0);this._.markFirst&&(CKEDITOR.env.ie?CKEDITOR.tools.setTimeout(function(){d.markFirstDisplayed?d.markFirstDisplayed():d._.markFirstDisplayed()},0):d.markFirstDisplayed?d.markFirstDisplayed():d._.markFirstDisplayed());this._.editor.fire("panelShow",this)},0,this)},CKEDITOR.env.air?200:0,this);this.visible=1;this.onShow&&this.onShow.call(this)},reposition:function(){var b=this._.showBlockParams;this.visible&&this._.showBlockParams&&(this.hide(), this.showBlock.apply(this,b))},focus:function(){if(CKEDITOR.env.webkit){var b=CKEDITOR.document.getActive();b&&!b.equals(this._.iframe)&&b.$.blur()}(this._.lastFocused||this._.iframe.getFrameDocument().getWindow()).focus()},blur:function(){var b=this._.iframe.getFrameDocument().getActive();b&&b.is("a")&&(this._.lastFocused=b)},hide:function(b){if(this.visible&&(!this.onHide||!0!==this.onHide.call(this))){this.hideChild();CKEDITOR.env.gecko&&this._.iframe.getFrameDocument().$.activeElement.blur(); -this.element.setStyle("display","none");this.visible=0;this.element.getFirst().removeCustomData("activePanel");if(b=b&&this._.returnFocus)CKEDITOR.env.webkit&&b.type&&b.getWindow().$.focus(),b.focus();delete this._.lastFocused;this._.showBlockParams=null;this._.editor.fire("panelHide",this)}},allowBlur:function(b){var e=this._.panel;void 0!==b&&(e.allowBlur=b);return e.allowBlur},showAsChild:function(b,e,a,h,k,l){if(this._.activeChild!=b||b._.panel._.offsetParentId!=a.getId())this.hideChild(),b.onHide= -CKEDITOR.tools.bind(function(){CKEDITOR.tools.setTimeout(function(){this._.focused||this.hide()},0,this)},this),this._.activeChild=b,this._.focused=!1,b.showBlock(e,a,h,k,l),this.blur(),(CKEDITOR.env.ie7Compat||CKEDITOR.env.ie6Compat)&&setTimeout(function(){b.element.getChild(0).$.style.cssText+=""},100)},hideChild:function(b){var e=this._.activeChild;e&&(delete e.onHide,delete this._.activeChild,e.hide(),b&&this.focus())}}});CKEDITOR.on("instanceDestroyed",function(){var b=CKEDITOR.tools.isEmpty(CKEDITOR.instances), -e;for(e in h){var a=h[e];b?a.destroy():a.element.hide()}b&&(h={})})})();CKEDITOR.plugins.add("menu",{requires:"floatpanel",beforeInit:function(b){for(var h=b.config.menu_groups.split(","),g=b._.menuGroups={},e=b._.menuItems={},a=0;ac.group?1:a.orderc.order?1:0})}var h='\x3cspan class\x3d"cke_menuitem"\x3e\x3ca id\x3d"{id}" class\x3d"cke_menubutton cke_menubutton__{name} cke_menubutton_{state} {cls}" href\x3d"{href}" title\x3d"{title}" tabindex\x3d"-1" _cke_focus\x3d1 hidefocus\x3d"true" role\x3d"{role}" aria-label\x3d"{attrLabel}" aria-describedby\x3d"{id}_description" aria-haspopup\x3d"{hasPopup}" aria-disabled\x3d"{disabled}" {ariaChecked} draggable\x3d"false"', -g="";CKEDITOR.env.gecko&&CKEDITOR.env.mac&&(h+=' onkeypress\x3d"return false;"');CKEDITOR.env.gecko&&(h+=' onblur\x3d"this.style.cssText \x3d this.style.cssText;" ondragstart\x3d"return false;"');CKEDITOR.env.ie&&(g='return false;" onmouseup\x3d"CKEDITOR.tools.getMouseButton(event)\x3d\x3d\x3dCKEDITOR.MOUSE_BUTTON_LEFT\x26\x26');var h=h+(' onmouseover\x3d"CKEDITOR.tools.callFunction({hoverFn},{index});" onmouseout\x3d"CKEDITOR.tools.callFunction({moveOutFn},{index});" onclick\x3d"'+g+'CKEDITOR.tools.callFunction({clickFn},{index}); return false;"\x3e')+ +this.element.setStyle("display","none");this.visible=0;this.element.getFirst().removeCustomData("activePanel");if(b=b&&this._.returnFocus)CKEDITOR.env.webkit&&b.type&&b.getWindow().$.focus(),b.focus();delete this._.lastFocused;this._.showBlockParams=null;this._.editor.fire("panelHide",this)}},allowBlur:function(b){var e=this._.panel;void 0!==b&&(e.allowBlur=b);return e.allowBlur},showAsChild:function(b,e,a,h,l,m){if(this._.activeChild!=b||b._.panel._.offsetParentId!=a.getId())this.hideChild(),b.onHide= +CKEDITOR.tools.bind(function(){CKEDITOR.tools.setTimeout(function(){this._.focused||this.hide()},0,this)},this),this._.activeChild=b,this._.focused=!1,b.showBlock(e,a,h,l,m),this.blur(),(CKEDITOR.env.ie7Compat||CKEDITOR.env.ie6Compat)&&setTimeout(function(){b.element.getChild(0).$.style.cssText+=""},100)},hideChild:function(b){var e=this._.activeChild;e&&(delete e.onHide,delete this._.activeChild,e.hide(),b&&this.focus())}}});CKEDITOR.on("instanceDestroyed",function(){var b=CKEDITOR.tools.isEmpty(CKEDITOR.instances), +e;for(e in h){var a=h[e];b?a.destroy():a.element.hide()}b&&(h={})})}(),CKEDITOR.plugins.add("menu",{requires:"floatpanel",beforeInit:function(b){for(var h=b.config.menu_groups.split(","),f=b._.menuGroups={},e=b._.menuItems={},a=0;ac.group?1:a.orderc.order?1:0})}var h='\x3cspan class\x3d"cke_menuitem"\x3e\x3ca id\x3d"{id}" class\x3d"cke_menubutton cke_menubutton__{name} cke_menubutton_{state} {cls}" href\x3d"{href}" title\x3d"{title}" tabindex\x3d"-1" _cke_focus\x3d1 hidefocus\x3d"true" role\x3d"{role}" aria-label\x3d"{attrLabel}" aria-describedby\x3d"{id}_description" aria-haspopup\x3d"{hasPopup}" aria-disabled\x3d"{disabled}" {ariaChecked} draggable\x3d"false"', +f="";CKEDITOR.env.gecko&&CKEDITOR.env.mac&&(h+=' onkeypress\x3d"return false;"');CKEDITOR.env.gecko&&(h+=' onblur\x3d"this.style.cssText \x3d this.style.cssText;" ondragstart\x3d"return false;"');CKEDITOR.env.ie&&(f='return false;" onmouseup\x3d"CKEDITOR.tools.getMouseButton(event)\x3d\x3d\x3dCKEDITOR.MOUSE_BUTTON_LEFT\x26\x26');var h=h+(' onmouseover\x3d"CKEDITOR.tools.callFunction({hoverFn},{index});" onmouseout\x3d"CKEDITOR.tools.callFunction({moveOutFn},{index});" onclick\x3d"'+f+'CKEDITOR.tools.callFunction({clickFn},{index}); return false;"\x3e')+ '\x3cspan class\x3d"cke_menubutton_inner"\x3e\x3cspan class\x3d"cke_menubutton_icon"\x3e\x3cspan class\x3d"cke_button_icon cke_button__{iconName}_icon" style\x3d"{iconStyle}"\x3e\x3c/span\x3e\x3c/span\x3e\x3cspan class\x3d"cke_menubutton_label"\x3e{label}\x3c/span\x3e{shortcutHtml}{arrowHtml}\x3c/span\x3e\x3c/a\x3e\x3cspan id\x3d"{id}_description" class\x3d"cke_voice_label" aria-hidden\x3d"false"\x3e{ariaShortcut}\x3c/span\x3e\x3c/span\x3e',e=CKEDITOR.addTemplate("menuItem",h),a=CKEDITOR.addTemplate("menuArrow", -'\x3cspan class\x3d"cke_menuarrow"\x3e\x3cspan\x3e{label}\x3c/span\x3e\x3c/span\x3e'),m=CKEDITOR.addTemplate("menuShortcut",'\x3cspan class\x3d"cke_menubutton_label cke_menubutton_shortcut"\x3e{shortcut}\x3c/span\x3e');CKEDITOR.menu=CKEDITOR.tools.createClass({$:function(a,b){b=this._.definition=b||{};this.id=CKEDITOR.tools.getNextId();this.editor=a;this.items=[];this._.listeners=[];this._.level=b.level||1;var c=CKEDITOR.tools.extend({},b.panel,{css:[CKEDITOR.skin.getPath("editor")],level:this._.level- -1,block:{}}),f=c.block.attributes=c.attributes||{};!f.role&&(f.role="menu");this._.panelDefinition=c},_:{onShow:function(){var a=this.editor.getSelection(),b=a&&a.getStartElement(),c=this.editor.elementPath(),f=this._.listeners;this.removeAll();for(var d=0;dCKEDITOR.env.version?k.createText("\r"):k.createElement("br"),e.deleteContents(),e.insertNode(a),CKEDITOR.env.needsBrFiller?(k.createText("").insertAfter(a),m&&(p||r.blockLimit).appendBogus(),a.getNext().$.nodeValue="",e.setStartAt(a.getNext(),CKEDITOR.POSITION_AFTER_START)):e.setStartAt(a,CKEDITOR.POSITION_AFTER_END)),e.collapse(!0),e.select(),e.scrollIntoView()):l(a,b,e,g)}}};m=CKEDITOR.plugins.enterkey;k=m.enterBr;l=m.enterBlock;c=/^h[1-6]$/})();(function(){function b(b,g){var e={},a=[],m={nbsp:" ", -shy:"­",gt:"\x3e",lt:"\x3c",amp:"\x26",apos:"'",quot:'"'};b=b.replace(/\b(nbsp|shy|gt|lt|amp|apos|quot)(?:,|$)/g,function(c,b){var h=g?"\x26"+b+";":m[b];e[h]=g?m[b]:"\x26"+b+";";a.push(h);return""});b=b.replace(/,$/,"");if(!g&&b){b=b.split(",");var k=document.createElement("div"),l;k.innerHTML="\x26"+b.join(";\x26")+";";l=k.innerHTML;k=null;for(k=0;kh&&(h=640);420>g&&(g=420);var a=parseInt((window.screen.height-g)/2,10),m=parseInt((window.screen.width- -h)/2,10);e=(e||"location\x3dno,menubar\x3dno,toolbar\x3dno,dependent\x3dyes,minimizable\x3dno,modal\x3dyes,alwaysRaised\x3dyes,resizable\x3dyes,scrollbars\x3dyes")+",width\x3d"+h+",height\x3d"+g+",top\x3d"+a+",left\x3d"+m;var k=window.open("",null,e,!0);if(!k)return!1;try{-1==navigator.userAgent.toLowerCase().indexOf(" chrome/")&&(k.moveTo(m,a),k.resizeTo(h,g)),k.focus(),k.location.href=b}catch(l){window.open(b,null,e,!0)}return!0}});"use strict";(function(){function b(a){this.editor=a;this.loaders= -[]}function h(a,b,e){var h=a.config.fileTools_defaultFileName;this.editor=a;this.lang=a.lang;"string"===typeof b?(this.data=b,this.file=g(this.data),this.loaded=this.total=this.file.size):(this.data=null,this.file=b,this.total=this.file.size,this.loaded=0);e?this.fileName=e:this.file.name?this.fileName=this.file.name:(a=this.file.type.split("/"),h&&(a[0]=h),this.fileName=a.join("."));this.uploaded=0;this.responseData=this.uploadTotal=null;this.status="created";this.abort=function(){this.changeStatus("abort")}} -function g(a){var b=a.match(e)[1];a=a.replace(e,"");a=atob(a);var g=[],h,c,f,d;for(h=0;hCKEDITOR.env.version?k.createText("\r"):k.createElement("br"),e.deleteContents(),e.insertNode(a),CKEDITOR.env.needsBrFiller?(k.createText("").insertAfter(a),l&&(u||q.blockLimit).appendBogus(),a.getNext().$.nodeValue="",e.setStartAt(a.getNext(),CKEDITOR.POSITION_AFTER_START)):e.setStartAt(a,CKEDITOR.POSITION_AFTER_END)),e.collapse(!0),e.select(),e.scrollIntoView()):m(a,b,e,f)}}};k=CKEDITOR.plugins.enterkey;l=k.enterBr;m=k.enterBlock;c=/^h[1-6]$/}(),function(){function b(b,f){var e={},a=[],k={nbsp:" ", +shy:"­",gt:"\x3e",lt:"\x3c",amp:"\x26",apos:"'",quot:'"'};b=b.replace(/\b(nbsp|shy|gt|lt|amp|apos|quot)(?:,|$)/g,function(c,b){var h=f?"\x26"+b+";":k[b];e[h]=f?k[b]:"\x26"+b+";";a.push(h);return""});b=b.replace(/,$/,"");if(!f&&b){b=b.split(",");var l=document.createElement("div"),m;l.innerHTML="\x26"+b.join(";\x26")+";";m=l.innerHTML;l=null;for(l=0;lh&&(h=640);420>f&&(f=420);var a=parseInt((window.screen.height-f)/2,10),k=parseInt((window.screen.width- +h)/2,10);e=(e||"location\x3dno,menubar\x3dno,toolbar\x3dno,dependent\x3dyes,minimizable\x3dno,modal\x3dyes,alwaysRaised\x3dyes,resizable\x3dyes,scrollbars\x3dyes")+",width\x3d"+h+",height\x3d"+f+",top\x3d"+a+",left\x3d"+k;var l=window.open("",null,e,!0);if(!l)return!1;try{-1==navigator.userAgent.toLowerCase().indexOf(" chrome/")&&(l.moveTo(k,a),l.resizeTo(h,f)),l.focus(),l.location.href=b}catch(m){window.open(b,null,e,!0)}return!0}}),"use strict",function(){function b(a){this.editor=a;this.loaders= +[]}function h(a,b,e){var h=a.config.fileTools_defaultFileName;this.editor=a;this.lang=a.lang;"string"===typeof b?(this.data=b,this.file=f(this.data),this.loaded=this.total=this.file.size):(this.data=null,this.file=b,this.total=this.file.size,this.loaded=0);e?this.fileName=e:this.file.name?this.fileName=this.file.name:(a=this.file.type.split("/"),h&&(a[0]=h),this.fileName=a.join("."));this.uploaded=0;this.responseData=this.uploadTotal=null;this.status="created";this.abort=function(){this.changeStatus("abort")}} +function f(a){var b=a.match(e)[1];a=a.replace(e,"");a=atob(a);var f=[],h,c,d,g;for(h=0;hg.status||299f.status||299w.height-p.bottom?f("pin"):f("bottom"),d=w.width/2,d=a.floatSpacePreferRight?"right":0r.width?"rtl"==a.contentsLangDirection?"right":"left":d-p.left>p.right-d?"left":"right",r.width>w.width?(d="left",n=0):(n="left"==d?0w.width&& -(d="left"==d?"right":"left",n=0)),c.setStyle(d,g(("pin"==l?C:u)+n+("pin"==l?0:"left"==d?z:-z)))):(l="pin",f("pin"),k(d))}}}();if(m){var l=new CKEDITOR.template('\x3cdiv id\x3d"cke_{name}" class\x3d"cke {id} cke_reset_all cke_chrome cke_editor_{name} cke_float cke_{langDir} '+CKEDITOR.env.cssClass+'" dir\x3d"{langDir}" title\x3d"'+(CKEDITOR.env.gecko?" ":"")+'" lang\x3d"{langCode}" role\x3d"application" style\x3d"{style}"'+(b.title?' aria-labelledby\x3d"cke_{name}_arialbl"':" ")+"\x3e"+(b.title?'\x3cspan id\x3d"cke_{name}_arialbl" class\x3d"cke_voice_label"\x3e{voiceLabel}\x3c/span\x3e': -" ")+'\x3cdiv class\x3d"cke_inner"\x3e\x3cdiv id\x3d"{topId}" class\x3d"cke_top" role\x3d"presentation"\x3e{content}\x3c/div\x3e\x3c/div\x3e\x3c/div\x3e'),c=CKEDITOR.document.getBody().append(CKEDITOR.dom.element.createFromHtml(l.output({content:m,id:b.id,langDir:b.lang.dir,langCode:b.langCode,name:b.name,style:"display:none;z-index:"+(a.baseFloatZIndex-1),topId:b.ui.spaceId("top"),voiceLabel:b.title}))),f=CKEDITOR.tools.eventsBuffer(500,k),d=CKEDITOR.tools.eventsBuffer(100,k);c.unselectable();c.on("mousedown", -function(a){a=a.data;a.getTarget().hasAscendant("a",1)||a.preventDefault()});b.on("focus",function(a){k(a);b.on("change",f.input);h.on("scroll",d.input);h.on("resize",d.input)});b.on("blur",function(){c.hide();b.removeListener("change",f.input);h.removeListener("scroll",d.input);h.removeListener("resize",d.input)});b.on("destroy",function(){h.removeListener("scroll",d.input);h.removeListener("resize",d.input);c.clearCustomData();c.remove()});b.focusManager.hasFocus&&c.show();b.focusManager.add(c, -1)}}var h=CKEDITOR.document.getWindow(),g=CKEDITOR.tools.cssLength;CKEDITOR.plugins.add("floatingspace",{init:function(e){e.on("loaded",function(){b(this)},null,null,20)}})})();CKEDITOR.plugins.add("listblock",{requires:"panel",onLoad:function(){var b=CKEDITOR.addTemplate("panel-list",'\x3cul role\x3d"presentation" class\x3d"cke_panel_list"\x3e{items}\x3c/ul\x3e'),h=CKEDITOR.addTemplate("panel-list-item",'\x3cli id\x3d"{id}" class\x3d"cke_panel_listItem" role\x3dpresentation\x3e\x3ca id\x3d"{id}_option" _cke_focus\x3d1 hidefocus\x3dtrue title\x3d"{title}" draggable\x3d"false" ondragstart\x3d"return false;" href\x3d"javascript:void(\'{val}\')" onclick\x3d"{onclick}CKEDITOR.tools.callFunction({clickFn},\'{val}\'); return false;" role\x3d"option"\x3e{text}\x3c/a\x3e\x3c/li\x3e'), -g=CKEDITOR.addTemplate("panel-list-group",'\x3ch1 id\x3d"{id}" draggable\x3d"false" ondragstart\x3d"return false;" class\x3d"cke_panel_grouptitle" role\x3d"presentation" \x3e{label}\x3c/h1\x3e'),e=/\'/g;CKEDITOR.ui.panel.prototype.addListBlock=function(a,b){return this.addBlock(a,new CKEDITOR.ui.listBlock(this.getHolderElement(),b))};CKEDITOR.ui.listBlock=CKEDITOR.tools.createClass({base:CKEDITOR.ui.panel.block,$:function(a,b){b=b||{};var e=b.attributes||(b.attributes={});(this.multiSelect=!!b.multiSelect)&& +"\x26responseType\x3djson":null},isTypeSupported:function(a,b){return!!a.type.match(b)},isFileUploadSupported:"function"===typeof FileReader&&"function"===typeof(new FileReader).readAsDataURL&&"function"===typeof FormData&&"function"===typeof(new FormData).append&&"function"===typeof XMLHttpRequest&&"function"===typeof Blob})}(),function(){function b(a,c){var b=[];if(c)for(var d in c)b.push(d+"\x3d"+encodeURIComponent(c[d]));else return a;return a+(-1!=a.indexOf("?")?"\x26":"?")+b.join("\x26")}function h(a){return!a.match(/command=QuickUpload/)|| +a.match(/(\?|&)responseType=json/)?a:b(a,{responseType:"json"})}function f(a){a+="";return a.charAt(0).toUpperCase()+a.substr(1)}function e(){var a=this.getDialog(),c=a.getParentEditor();c._.filebrowserSe=this;var d=c.config["filebrowser"+f(a.getName())+"WindowWidth"]||c.config.filebrowserWindowWidth||"80%",a=c.config["filebrowser"+f(a.getName())+"WindowHeight"]||c.config.filebrowserWindowHeight||"70%",e=this.filebrowser.params||{};e.CKEditor=c.name;e.CKEditorFuncNum=c._.filebrowserFn;e.langCode|| +(e.langCode=c.langCode);e=b(this.filebrowser.url,e);c.popup(e,d,a,c.config.filebrowserWindowFeatures||c.config.fileBrowserWindowFeatures)}function a(a){var c=new CKEDITOR.dom.element(a.$.form);c&&((a=c.$.elements.ckCsrfToken)?a=new CKEDITOR.dom.element(a):(a=new CKEDITOR.dom.element("input"),a.setAttributes({name:"ckCsrfToken",type:"hidden"}),c.append(a)),a.setAttribute("value",CKEDITOR.tools.getCsrfToken()))}function k(){var a=this.getDialog();a.getParentEditor()._.filebrowserSe=this;return a.getContentElement(this["for"][0], +this["for"][1]).getInputElement().$.value&&a.getContentElement(this["for"][0],this["for"][1]).getAction()?!0:!1}function l(a,c,d){var e=d.params||{};e.CKEditor=a.name;e.CKEditorFuncNum=a._.filebrowserFn;e.langCode||(e.langCode=a.langCode);c.action=b(d.url,e);c.filebrowser=d}function m(b,d,w,p){if(p&&p.length)for(var q,u=p.length;u--;)if(q=p[u],"hbox"!=q.type&&"vbox"!=q.type&&"fieldset"!=q.type||m(b,d,w,q.children),q.filebrowser)if("string"==typeof q.filebrowser&&(q.filebrowser={action:"fileButton"== +q.type?"QuickUpload":"Browse",target:q.filebrowser}),"Browse"==q.filebrowser.action){var z=q.filebrowser.url;void 0===z&&(z=b.config["filebrowser"+f(d)+"BrowseUrl"],void 0===z&&(z=b.config.filebrowserBrowseUrl));z&&(q.onClick=e,q.filebrowser.url=z,q.hidden=!1)}else if("QuickUpload"==q.filebrowser.action&&q["for"]&&(z=q.filebrowser.url,void 0===z&&(z=b.config["filebrowser"+f(d)+"UploadUrl"],void 0===z&&(z=b.config.filebrowserUploadUrl)),z)){var r=q.onClick;q.onClick=function(d){var e=d.sender,f=e.getDialog().getContentElement(this["for"][0], +this["for"][1]).getInputElement(),l=CKEDITOR.fileTools&&CKEDITOR.fileTools.isFileUploadSupported;if(r&&!1===r.call(e,d))return!1;if(k.call(e,d)){if("form"!==b.config.filebrowserUploadMethod&&l)return d=b.uploadRepository.create(f.$.files[0]),d.on("uploaded",function(a){var c=a.sender.responseData;g.call(a.sender.editor,c.url,c.message)}),d.on("error",c.bind(this)),d.on("abort",c.bind(this)),d.loadAndUpload(h(z)),"xhr";a(f);return!0}return!1};q.filebrowser.url=z;q.hidden=!1;l(b,w.getContents(q["for"][0]).get(q["for"][1]), +q.filebrowser)}}function c(a){var c={};try{c=JSON.parse(a.sender.xhr.response)||{}}catch(b){}this.enable();alert(c.error?c.error.message:a.sender.message)}function d(a,c,b){if(-1!==b.indexOf(";")){b=b.split(";");for(var e=0;ez.height-u.bottom?g("pin"):g("bottom"),d=z.width/2,d=a.floatSpacePreferRight?"right":0q.width?"rtl"==a.contentsLangDirection?"right":"left":d-u.left>u.right-d?"left":"right",q.width>z.width?(d="left",n=0):(n="left"==d?0z.width&&(d="left"==d?"right":"left",n=0)),c.setStyle(d,f(("pin"==k?y:v)+n+("pin"==k?0:"left"==d?A:-A)))):(k="pin",g("pin"),l(d))}}}();if(k){var m=new CKEDITOR.template('\x3cdiv id\x3d"cke_{name}" class\x3d"cke {id} cke_reset_all cke_chrome cke_editor_{name} cke_float cke_{langDir} '+ +CKEDITOR.env.cssClass+'" dir\x3d"{langDir}" title\x3d"'+(CKEDITOR.env.gecko?" ":"")+'" lang\x3d"{langCode}" role\x3d"application" style\x3d"{style}"'+(b.applicationTitle?' aria-labelledby\x3d"cke_{name}_arialbl"':" ")+"\x3e"+(b.applicationTitle?'\x3cspan id\x3d"cke_{name}_arialbl" class\x3d"cke_voice_label"\x3e{voiceLabel}\x3c/span\x3e':" ")+'\x3cdiv class\x3d"cke_inner"\x3e\x3cdiv id\x3d"{topId}" class\x3d"cke_top" role\x3d"presentation"\x3e{content}\x3c/div\x3e\x3c/div\x3e\x3c/div\x3e'),c=CKEDITOR.document.getBody().append(CKEDITOR.dom.element.createFromHtml(m.output({content:k, +id:b.id,langDir:b.lang.dir,langCode:b.langCode,name:b.name,style:"display:none;z-index:"+(a.baseFloatZIndex-1),topId:b.ui.spaceId("top"),voiceLabel:b.applicationTitle}))),d=CKEDITOR.tools.eventsBuffer(500,l),g=CKEDITOR.tools.eventsBuffer(100,l);c.unselectable();c.on("mousedown",function(a){a=a.data;a.getTarget().hasAscendant("a",1)||a.preventDefault()});b.on("focus",function(a){l(a);b.on("change",d.input);h.on("scroll",g.input);h.on("resize",g.input)});b.on("blur",function(){c.hide();b.removeListener("change", +d.input);h.removeListener("scroll",g.input);h.removeListener("resize",g.input)});b.on("destroy",function(){h.removeListener("scroll",g.input);h.removeListener("resize",g.input);c.clearCustomData();c.remove()});b.focusManager.hasFocus&&c.show();b.focusManager.add(c,1)}}var h=CKEDITOR.document.getWindow(),f=CKEDITOR.tools.cssLength;CKEDITOR.plugins.add("floatingspace",{init:function(e){e.on("loaded",function(){b(this)},null,null,20)}})}(),CKEDITOR.plugins.add("listblock",{requires:"panel",onLoad:function(){var b= +CKEDITOR.addTemplate("panel-list",'\x3cul role\x3d"presentation" class\x3d"cke_panel_list"\x3e{items}\x3c/ul\x3e'),h=CKEDITOR.addTemplate("panel-list-item",'\x3cli id\x3d"{id}" class\x3d"cke_panel_listItem" role\x3dpresentation\x3e\x3ca id\x3d"{id}_option" _cke_focus\x3d1 hidefocus\x3dtrue title\x3d"{title}" draggable\x3d"false" ondragstart\x3d"return false;" href\x3d"javascript:void(\'{val}\')" onclick\x3d"{onclick}CKEDITOR.tools.callFunction({clickFn},\'{val}\'); return false;" role\x3d"option"\x3e{text}\x3c/a\x3e\x3c/li\x3e'), +f=CKEDITOR.addTemplate("panel-list-group",'\x3ch1 id\x3d"{id}" draggable\x3d"false" ondragstart\x3d"return false;" class\x3d"cke_panel_grouptitle" role\x3d"presentation" \x3e{label}\x3c/h1\x3e'),e=/\'/g;CKEDITOR.ui.panel.prototype.addListBlock=function(a,b){return this.addBlock(a,new CKEDITOR.ui.listBlock(this.getHolderElement(),b))};CKEDITOR.ui.listBlock=CKEDITOR.tools.createClass({base:CKEDITOR.ui.panel.block,$:function(a,b){b=b||{};var e=b.attributes||(b.attributes={});(this.multiSelect=!!b.multiSelect)&& (e["aria-multiselectable"]=!0);!e.role&&(e.role="listbox");this.base.apply(this,arguments);this.element.setAttribute("role",e.role);e=this.keys;e[40]="next";e[9]="next";e[38]="prev";e[CKEDITOR.SHIFT+9]="prev";e[32]=CKEDITOR.env.ie?"mouseup":"click";CKEDITOR.env.ie&&(e[13]="mouseup");this._.pendingHtml=[];this._.pendingList=[];this._.items={};this._.groups={}},_:{close:function(){if(this._.started){var a=b.output({items:this._.pendingList.join("")});this._.pendingList=[];this._.pendingHtml.push(a); -delete this._.started}},getClick:function(){this._.click||(this._.click=CKEDITOR.tools.addFunction(function(a){var b=this.toggle(a);if(this.onClick)this.onClick(a,b)},this));return this._.click}},proto:{add:function(a,b,g){var l=CKEDITOR.tools.getNextId();this._.started||(this._.started=1,this._.size=this._.size||0);this._.items[a]=l;var c;c=CKEDITOR.tools.htmlEncodeAttr(a).replace(e,"\\'");a={id:l,val:c,onclick:CKEDITOR.env.ie?'return false;" onmouseup\x3d"CKEDITOR.tools.getMouseButton(event)\x3d\x3d\x3dCKEDITOR.MOUSE_BUTTON_LEFT\x26\x26': -"",clickFn:this._.getClick(),title:CKEDITOR.tools.htmlEncodeAttr(g||a),text:b||a};this._.pendingList.push(h.output(a))},startGroup:function(a){this._.close();var b=CKEDITOR.tools.getNextId();this._.groups[a]=b;this._.pendingHtml.push(g.output({id:b,label:a}))},commit:function(){this._.close();this.element.appendHtml(this._.pendingHtml.join(""));delete this._.size;this._.pendingHtml=[]},toggle:function(a){var b=this.isMarked(a);b?this.unmark(a):this.mark(a);return!b},hideGroup:function(a){var b=(a= -this.element.getDocument().getById(this._.groups[a]))&&a.getNext();a&&(a.setStyle("display","none"),b&&"ul"==b.getName()&&b.setStyle("display","none"))},hideItem:function(a){this.element.getDocument().getById(this._.items[a]).setStyle("display","none")},showAll:function(){var a=this._.items,b=this._.groups,e=this.element.getDocument(),g;for(g in a)e.getById(a[g]).setStyle("display","");for(var c in b)a=e.getById(b[c]),g=a.getNext(),a.setStyle("display",""),g&&"ul"==g.getName()&&g.setStyle("display", +delete this._.started}},getClick:function(){this._.click||(this._.click=CKEDITOR.tools.addFunction(function(a){var b=this.toggle(a);if(this.onClick)this.onClick(a,b)},this));return this._.click}},proto:{add:function(a,b,f){var m=CKEDITOR.tools.getNextId();this._.started||(this._.started=1,this._.size=this._.size||0);this._.items[a]=m;var c;c=CKEDITOR.tools.htmlEncodeAttr(a).replace(e,"\\'");a={id:m,val:c,onclick:CKEDITOR.env.ie?'return false;" onmouseup\x3d"CKEDITOR.tools.getMouseButton(event)\x3d\x3d\x3dCKEDITOR.MOUSE_BUTTON_LEFT\x26\x26': +"",clickFn:this._.getClick(),title:CKEDITOR.tools.htmlEncodeAttr(f||a),text:b||a};this._.pendingList.push(h.output(a))},startGroup:function(a){this._.close();var b=CKEDITOR.tools.getNextId();this._.groups[a]=b;this._.pendingHtml.push(f.output({id:b,label:a}))},commit:function(){this._.close();this.element.appendHtml(this._.pendingHtml.join(""));delete this._.size;this._.pendingHtml=[]},toggle:function(a){var b=this.isMarked(a);b?this.unmark(a):this.mark(a);return!b},hideGroup:function(a){var b=(a= +this.element.getDocument().getById(this._.groups[a]))&&a.getNext();a&&(a.setStyle("display","none"),b&&"ul"==b.getName()&&b.setStyle("display","none"))},hideItem:function(a){this.element.getDocument().getById(this._.items[a]).setStyle("display","none")},showAll:function(){var a=this._.items,b=this._.groups,e=this.element.getDocument(),f;for(f in a)e.getById(a[f]).setStyle("display","");for(var c in b)a=e.getById(b[c]),f=a.getNext(),a.setStyle("display",""),f&&"ul"==f.getName()&&f.setStyle("display", "")},mark:function(a){this.multiSelect||this.unmarkAll();a=this._.items[a];var b=this.element.getDocument().getById(a);b.addClass("cke_selected");this.element.getDocument().getById(a+"_option").setAttribute("aria-selected",!0);this.onMark&&this.onMark(b)},markFirstDisplayed:function(){var a=this;this._.markFirstDisplayed(function(){a.multiSelect||a.unmarkAll()})},unmark:function(a){var b=this.element.getDocument();a=this._.items[a];var e=b.getById(a);e.removeClass("cke_selected");b.getById(a+"_option").removeAttribute("aria-selected"); -this.onUnmark&&this.onUnmark(e)},unmarkAll:function(){var a=this._.items,b=this.element.getDocument(),e;for(e in a){var g=a[e];b.getById(g).removeClass("cke_selected");b.getById(g+"_option").removeAttribute("aria-selected")}this.onUnmark&&this.onUnmark()},isMarked:function(a){return this.element.getDocument().getById(this._.items[a]).hasClass("cke_selected")},focus:function(a){this._.focusIndex=-1;var b=this.element.getElementsByTag("a"),e,g=-1;if(a)for(e=this.element.getDocument().getById(this._.items[a]).getFirst();a= -b.getItem(++g);){if(a.equals(e)){this._.focusIndex=g;break}}else this.element.focus();e&&setTimeout(function(){e.focus()},0)}}})}});CKEDITOR.plugins.add("richcombo",{requires:"floatpanel,listblock,button",beforeInit:function(b){b.ui.addHandler(CKEDITOR.UI_RICHCOMBO,CKEDITOR.ui.richCombo.handler)}});(function(){var b='\x3cspan id\x3d"{id}" class\x3d"cke_combo cke_combo__{name} {cls}" role\x3d"presentation"\x3e\x3cspan id\x3d"{id}_label" class\x3d"cke_combo_label"\x3e{label}\x3c/span\x3e\x3ca class\x3d"cke_combo_button" title\x3d"{title}" tabindex\x3d"-1"'+ +this.onUnmark&&this.onUnmark(e)},unmarkAll:function(){var a=this._.items,b=this.element.getDocument(),e;for(e in a){var f=a[e];b.getById(f).removeClass("cke_selected");b.getById(f+"_option").removeAttribute("aria-selected")}this.onUnmark&&this.onUnmark()},isMarked:function(a){return this.element.getDocument().getById(this._.items[a]).hasClass("cke_selected")},focus:function(a){this._.focusIndex=-1;var b=this.element.getElementsByTag("a"),e,f=-1;if(a)for(e=this.element.getDocument().getById(this._.items[a]).getFirst();a= +b.getItem(++f);){if(a.equals(e)){this._.focusIndex=f;break}}else this.element.focus();e&&setTimeout(function(){e.focus()},0)}}})}}),CKEDITOR.plugins.add("richcombo",{requires:"floatpanel,listblock,button",beforeInit:function(b){b.ui.addHandler(CKEDITOR.UI_RICHCOMBO,CKEDITOR.ui.richCombo.handler)}}),function(){var b='\x3cspan id\x3d"{id}" class\x3d"cke_combo cke_combo__{name} {cls}" role\x3d"presentation"\x3e\x3cspan id\x3d"{id}_label" class\x3d"cke_combo_label"\x3e{label}\x3c/span\x3e\x3ca class\x3d"cke_combo_button" title\x3d"{title}" tabindex\x3d"-1"'+ (CKEDITOR.env.gecko&&!CKEDITOR.env.hc?"":" href\x3d\"javascript:void('{titleJs}')\"")+' hidefocus\x3d"true" role\x3d"button" aria-labelledby\x3d"{id}_label" aria-haspopup\x3d"listbox"',h="";CKEDITOR.env.gecko&&CKEDITOR.env.mac&&(b+=' onkeypress\x3d"return false;"');CKEDITOR.env.gecko&&(b+=' onblur\x3d"this.style.cssText \x3d this.style.cssText;"');CKEDITOR.env.ie&&(h='return false;" onmouseup\x3d"CKEDITOR.tools.getMouseButton(event)\x3d\x3dCKEDITOR.MOUSE_BUTTON_LEFT\x26\x26');var b=b+(' onkeydown\x3d"return CKEDITOR.tools.callFunction({keydownFn},event,this);" onfocus\x3d"return CKEDITOR.tools.callFunction({focusFn},event);" onclick\x3d"'+ -h+'CKEDITOR.tools.callFunction({clickFn},this);return false;"\x3e\x3cspan id\x3d"{id}_text" class\x3d"cke_combo_text cke_combo_inlinelabel"\x3e{label}\x3c/span\x3e\x3cspan class\x3d"cke_combo_open"\x3e\x3cspan class\x3d"cke_combo_arrow"\x3e'+(CKEDITOR.env.hc?"\x26#9660;":CKEDITOR.env.air?"\x26nbsp;":"")+"\x3c/span\x3e\x3c/span\x3e\x3c/a\x3e\x3c/span\x3e"),g=CKEDITOR.addTemplate("combo",b);CKEDITOR.UI_RICHCOMBO="richcombo";CKEDITOR.ui.richCombo=CKEDITOR.tools.createClass({$:function(b){CKEDITOR.tools.extend(this, +h+'CKEDITOR.tools.callFunction({clickFn},this);return false;"\x3e\x3cspan id\x3d"{id}_text" class\x3d"cke_combo_text cke_combo_inlinelabel"\x3e{label}\x3c/span\x3e\x3cspan class\x3d"cke_combo_open"\x3e\x3cspan class\x3d"cke_combo_arrow"\x3e'+(CKEDITOR.env.hc?"\x26#9660;":CKEDITOR.env.air?"\x26nbsp;":"")+"\x3c/span\x3e\x3c/span\x3e\x3c/a\x3e\x3c/span\x3e"),f=CKEDITOR.addTemplate("combo",b);CKEDITOR.UI_RICHCOMBO="richcombo";CKEDITOR.ui.richCombo=CKEDITOR.tools.createClass({$:function(b){CKEDITOR.tools.extend(this, b,{canGroup:!1,title:b.label,modes:{wysiwyg:1},editorFocus:1});b=this.panel||{};delete this.panel;this.id=CKEDITOR.tools.getNextNumber();this.document=b.parent&&b.parent.getDocument()||CKEDITOR.document;b.className="cke_combopanel";b.block={multiSelect:b.multiSelect,attributes:b.attributes};b.toolbarRelated=!0;this._={panelDefinition:b,items:{},listeners:[]}},proto:{renderHtml:function(b){var a=[];this.render(b,a);return a.join("")},render:function(b,a){function h(){if(this.getState()!=CKEDITOR.TRISTATE_ON){var a= -this.modes[b.mode]?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED;b.readOnly&&!this.readOnly&&(a=CKEDITOR.TRISTATE_DISABLED);this.setState(a);this.setValue("");a!=CKEDITOR.TRISTATE_DISABLED&&this.refresh&&this.refresh()}}var k=CKEDITOR.env,l,c,f="cke_"+this.id,d=CKEDITOR.tools.addFunction(function(a){c&&(b.unlockSelection(1),c=0);l.execute(a)},this),n=this;l={id:f,combo:this,focus:function(){CKEDITOR.document.getById(f).getChild(1).focus()},execute:function(a){var c=n._;if(c.state!=CKEDITOR.TRISTATE_DISABLED)if(n.createPanel(b), -c.on)c.panel.hide();else{n.commit();var d=n.getValue();d?c.list.mark(d):c.list.unmarkAll();c.panel.showBlock(n.id,new CKEDITOR.dom.element(a),4)}},clickFn:d};this._.listeners.push(b.on("activeFilterChange",h,this));this._.listeners.push(b.on("mode",h,this));this._.listeners.push(b.on("selectionChange",h,this));!this.readOnly&&this._.listeners.push(b.on("readOnly",h,this));var y=CKEDITOR.tools.addFunction(function(a,c){a=new CKEDITOR.dom.event(a);var b=a.getKeystroke();switch(b){case 13:case 32:case 40:CKEDITOR.tools.callFunction(d, -c);break;default:l.onkey(l,b)}a.preventDefault()}),x=CKEDITOR.tools.addFunction(function(){l.onfocus&&l.onfocus()});c=0;l.keyDownFn=y;k={id:f,name:this.name||this.command,label:this.label,title:this.title,cls:this.className||"",titleJs:k.gecko&&!k.hc?"":(this.title||"").replace("'",""),keydownFn:y,focusFn:x,clickFn:d};g.output(k,a);if(this.onRender)this.onRender();return l},createPanel:function(b){if(!this._.panel){var a=this._.panelDefinition,g=this._.panelDefinition.block,h=a.parent||CKEDITOR.document.getBody(), -l="cke_combopanel__"+this.name,c=new CKEDITOR.ui.floatPanel(b,h,a),a=c.addListBlock(this.id,g),f=this;c.onShow=function(){this.element.addClass(l);f.setState(CKEDITOR.TRISTATE_ON);f._.on=1;f.editorFocus&&!b.focusManager.hasFocus&&b.focus();if(f.onOpen)f.onOpen()};c.onHide=function(a){this.element.removeClass(l);f.setState(f.modes&&f.modes[b.mode]?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED);f._.on=0;if(!a&&f.onClose)f.onClose()};c.onEscape=function(){c.hide(1)};a.onClick=function(a,b){f.onClick&& -f.onClick.call(f,a,b);c.hide()};this._.panel=c;this._.list=a;c.getBlock(this.id).onHide=function(){f._.on=0;f.setState(CKEDITOR.TRISTATE_OFF)};this.init&&this.init()}},setValue:function(b,a){this._.value=b;var g=this.document.getById("cke_"+this.id+"_text");g&&(b||a?g.removeClass("cke_combo_inlinelabel"):(a=this.label,g.addClass("cke_combo_inlinelabel")),g.setText("undefined"!=typeof a?a:b))},getValue:function(){return this._.value||""},unmarkAll:function(){this._.list.unmarkAll()},mark:function(b){this._.list.mark(b)}, -hideItem:function(b){this._.list.hideItem(b)},hideGroup:function(b){this._.list.hideGroup(b)},showAll:function(){this._.list.showAll()},add:function(b,a,g){this._.items[b]=g||b;this._.list.add(b,a,g)},startGroup:function(b){this._.list.startGroup(b)},commit:function(){this._.committed||(this._.list.commit(),this._.committed=1,CKEDITOR.ui.fire("ready",this));this._.committed=1},setState:function(b){if(this._.state!=b){var a=this.document.getById("cke_"+this.id),g=a.getElementsByTag("a").getItem(0); -a.setState(b,"cke_combo");b==CKEDITOR.TRISTATE_DISABLED?a.setAttribute("aria-disabled",!0):a.removeAttribute("aria-disabled");g&&g.setAttribute("aria-expanded",b==CKEDITOR.TRISTATE_ON);this._.state=b}},getState:function(){return this._.state},enable:function(){this._.state==CKEDITOR.TRISTATE_DISABLED&&this.setState(this._.lastState)},disable:function(){this._.state!=CKEDITOR.TRISTATE_DISABLED&&(this._.lastState=this._.state,this.setState(CKEDITOR.TRISTATE_DISABLED))},destroy:function(){CKEDITOR.tools.array.forEach(this._.listeners, -function(b){b.removeListener()});this._.listeners=[]},select:function(b){if(!CKEDITOR.tools.isEmpty(this._.items))for(var a in this._.items)if(b({value:a,text:this._.items[a]})){this.setValue(a);break}}},statics:{handler:{create:function(b){return new CKEDITOR.ui.richCombo(b)}}}});CKEDITOR.ui.prototype.addRichCombo=function(b,a){this.add(b,CKEDITOR.UI_RICHCOMBO,a)}})();CKEDITOR.plugins.add("format",{requires:"richcombo",init:function(b){if(!b.blockless){for(var h=b.config,g=b.lang.format,e=h.format_tags.split(";"), -a={},m=0,k=[],l=0;l=this.rect.right||a<=this.rect.top||a>=this.rect.bottom)&&this.hideVisible();(0>=c||c>=this.winTopPane.width||0>=a||a>=this.winTopPane.height)&&this.hideVisible()},this);d.attachListener(c, -"resize",e);d.attachListener(c,"mode",h);c.on("destroy",h);this.lineTpl=(new CKEDITOR.template('\x3cdiv data-cke-lineutils-line\x3d"1" class\x3d"cke_reset_all" style\x3d"{lineStyle}"\x3e\x3cspan style\x3d"{tipLeftStyle}"\x3e\x26nbsp;\x3c/span\x3e\x3cspan style\x3d"{tipRightStyle}"\x3e\x26nbsp;\x3c/span\x3e\x3c/div\x3e')).output({lineStyle:CKEDITOR.tools.writeCssText(CKEDITOR.tools.extend({},m,this.lineStyle,!0)),tipLeftStyle:CKEDITOR.tools.writeCssText(CKEDITOR.tools.extend({},a,{left:"0px","border-left-color":"red", -"border-width":"6px 0 6px 6px"},this.tipCss,this.tipLeftStyle,!0)),tipRightStyle:CKEDITOR.tools.writeCssText(CKEDITOR.tools.extend({},a,{right:"0px","border-right-color":"red","border-width":"6px 6px 6px 0"},this.tipCss,this.tipRightStyle,!0))})}function e(a){var b;if(b=a&&a.type==CKEDITOR.NODE_ELEMENT)b=!(k[a.getComputedStyle("float")]||k[a.getAttribute("align")]);return b&&!l[a.getComputedStyle("position")]}CKEDITOR.plugins.add("lineutils");CKEDITOR.LINEUTILS_BEFORE=1;CKEDITOR.LINEUTILS_AFTER=2; -CKEDITOR.LINEUTILS_INSIDE=4;b.prototype={start:function(a){var b=this,d=this.editor,e=this.doc,g,h,k,l,m=CKEDITOR.tools.eventsBuffer(50,function(){d.readOnly||"wysiwyg"!=d.mode||(b.relations={},(h=e.$.elementFromPoint(k,l))&&h.nodeType&&(g=new CKEDITOR.dom.element(h),b.traverseSearch(g),isNaN(k+l)||b.pixelSearch(g,k,l),a&&a(b.relations,k,l)))});this.listener=this.editable.attachListener(this.target,"mousemove",function(a){k=a.data.$.clientX;l=a.data.$.clientY;m.input()});this.editable.attachListener(this.inline? -this.editable:this.frame,"mouseout",function(){m.reset()})},stop:function(){this.listener&&this.listener.removeListener()},getRange:function(){var a={};a[CKEDITOR.LINEUTILS_BEFORE]=CKEDITOR.POSITION_BEFORE_START;a[CKEDITOR.LINEUTILS_AFTER]=CKEDITOR.POSITION_AFTER_END;a[CKEDITOR.LINEUTILS_INSIDE]=CKEDITOR.POSITION_AFTER_START;return function(b){var d=this.editor.createRange();d.moveToPosition(this.relations[b.uid].element,a[b.type]);return d}}(),store:function(){function a(c,b,e){var g=c.getUniqueId(); -g in e?e[g].type|=b:e[g]={element:c,type:b}}return function(b,d){var g;d&CKEDITOR.LINEUTILS_AFTER&&e(g=b.getNext())&&g.isVisible()&&(a(g,CKEDITOR.LINEUTILS_BEFORE,this.relations),d^=CKEDITOR.LINEUTILS_AFTER);d&CKEDITOR.LINEUTILS_INSIDE&&e(g=b.getFirst())&&g.isVisible()&&(a(g,CKEDITOR.LINEUTILS_BEFORE,this.relations),d^=CKEDITOR.LINEUTILS_INSIDE);a(b,d,this.relations)}}(),traverseSearch:function(a){var b,d,g;do if(g=a.$["data-cke-expando"],!(g&&g in this.relations)){if(a.equals(this.editable))break; -if(e(a))for(b in this.lookups)(d=this.lookups[b](a))&&this.store(a,d)}while((!a||a.type!=CKEDITOR.NODE_ELEMENT||"true"!=a.getAttribute("contenteditable"))&&(a=a.getParent()))},pixelSearch:function(){function a(c,g,h,k,l){for(var m=0,p;l(h);){h+=k;if(25==++m)break;if(p=this.doc.$.elementFromPoint(g,h))if(p==c)m=0;else if(b(c,p)&&(m=0,e(p=new CKEDITOR.dom.element(p))))return p}}var b=CKEDITOR.env.ie||CKEDITOR.env.webkit?function(a,c){return a.contains(c)}:function(a,c){return!!(a.compareDocumentPosition(c)& -16)};return function(b,f,g){var h=this.win.getViewPaneSize().height,k=a.call(this,b.$,f,g,-1,function(a){return 0this.rect.bottom)return!1;this.inline?g.left=d.elementRect.left-this.rect.relativeX:(0[^<]*f});0>e&&(e=a._.upcasts.length);a._.upcasts.splice(e,0,[CKEDITOR.tools.bind(b,c),c.name,f])}var f=b.upcast,e=b.upcastPriority||10;f&&("string"==typeof f?d(c, -b,e):d(f,b,e))}function m(a,b){a.focused=null;if(b.isInited()){var c=b.editor.checkDirty();a.fire("widgetBlurred",{widget:b});b.setFocused(!1);!c&&b.editor.resetDirty()}}function k(a){a=a.data;if("wysiwyg"==this.editor.mode){var b=this.editor.editable(),c=this.instances,d,f,e,g;if(b){for(d in c)c[d].isReady()&&!b.contains(c[d].wrapper)&&this.destroy(c[d],!0);if(a&&a.initOnlyNew)c=this.initOnAll();else{var k=b.find(".cke_widget_wrapper"),c=[];d=0;for(f=k.count();da.selected.length||M(c,"cut"===d.name)}var c=a.editor;c.on("contentDom",function(){var a=c.editable();a.attachListener(a,"copy",b);a.attachListener(a,"cut",b)})}function E(a){function b(){var a=f.getSelection();if(a&&(a=a.getRanges()[0])&&!a.collapsed){var d=c(a.startContainer),e=c(a.endContainer); -!d&&e?(a.setEndBefore(e.wrapper),a.select()):d&&!e&&(a.setStartAfter(d.wrapper),a.select())}}function c(a){return a?a.type==CKEDITOR.NODE_TEXT?c(a.getParent()):f.widgets.getByElement(a):null}function d(){a.fire("checkSelection")}var f=a.editor;f.on("selectionCheck",d);f.on("contentDom",function(){f.editable().attachListener(f,"key",function(){setTimeout(d,10)})});if(!CKEDITOR.env.ie)a.on("checkSelection",b);a.on("checkSelection",a.checkSelection,a);f.on("selectionChange",function(b){var c=(b=h.getNestedEditable(f.editable(), -b.data.selection.getStartElement()))&&a.getByElement(b),d=a.widgetHoldingFocusedEditable;d?d===c&&d.focusedEditable.equals(b)||(p(a,d,null),c&&b&&p(a,c,b)):c&&b&&p(a,c,b)});f.on("dataReady",function(){G(a).commit()});f.on("blur",function(){var b;(b=a.focused)&&m(a,b);(b=a.widgetHoldingFocusedEditable)&&p(a,b,null)})}function A(a){var b=a.editor,d={};b.on("toDataFormat",function(b){var e=CKEDITOR.tools.getNextNumber(),g=[];b.data.downcastingSessionId=e;d[e]=g;b.data.dataValue.forEach(function(b){var d= -b.attributes,e;if("data-cke-widget-white-space"in d){e=c(b);var k=f(b);e.parent.attributes["data-cke-white-space-first"]&&(e.value=e.value.replace(/^ /g," "));k.parent.attributes["data-cke-white-space-last"]&&(k.value=k.value.replace(/ $/g," "))}if("data-cke-widget-id"in d){if(d=a.instances[d["data-cke-widget-id"]])e=b.getFirst(h.isParserWidgetElement),g.push({wrapper:b,element:e,widget:d,editables:{}}),"1"!=e.attributes["data-cke-widget-keep-attr"]&&delete e.attributes["data-widget"]}else if("data-cke-widget-editable"in -d)return 0 -CKEDITOR.tools.indexOf(b,a)&&c.push(a);a=CKEDITOR.tools.indexOf(d,a);0<=a&&d.splice(a,1);return this},focus:function(a){f=a;return this},commit:function(){var e=a.focused!==f,g,h;a.editor.fire("lockSnapshot");for(e&&(g=a.focused)&&m(a,g);g=d.pop();)b.splice(CKEDITOR.tools.indexOf(b,g),1),g.isInited()&&(h=g.editor.checkDirty(),g.setSelected(!1),!h&&g.editor.resetDirty());e&&f&&(h=a.editor.checkDirty(),a.focused=f,a.fire("widgetFocused",{widget:f}),f.setFocused(!0),!h&&a.editor.resetDirty());for(;g= -c.pop();)b.push(g),g.setSelected(!0);a.editor.fire("unlockSnapshot")}}}function I(a){a&&a.addFilterRule(function(a){return a.replace(/\s*cke_widget_selected/g,"").replace(/\s*cke_widget_focused/g,"").replace(/]*cke_widget_drag_handler_container[^>]*.*?<\/span>/gmi,"")})}function L(a,b,c){var d=0;b=H(b);var f=a.data.classes||{},e;if(b){for(f=CKEDITOR.tools.clone(f);e=b.pop();)c?f[e]||(d=f[e]=1):f[e]&&(delete f[e],d=1);d&&a.setData("classes",f)}}function F(a){a.cancel()}function M(a,b){var c= -a.widgets.focused,d,f,e;U.hasCopyBin(a)||(f=new U(a,{beforeDestroy:function(){!b&&c&&c.focus();e&&a.getSelection().selectBookmarks(e);d&&CKEDITOR.plugins.widgetselection.addFillers(a.editable())},afterDestroy:function(){b&&!a.readOnly&&(c?a.widgets.del(c):a.extractSelectedHtml(),a.fire("saveSnapshot"))}}),c||(d=CKEDITOR.env.webkit&&CKEDITOR.plugins.widgetselection.isWholeContentSelected(a.editable()),e=a.getSelection().createBookmarks(!0)),f.handle(K(a)))}function H(a){return(a=(a=a.getDefinition().attributes)&& -a["class"])?a.split(/\s+/):null}function J(){var a=CKEDITOR.document.getActive(),b=this.editor,c=b.editable();(c.isInline()?c:b.document.getWindow().getFrame()).equals(a)&&b.focusManager.focus(c)}function D(){CKEDITOR.env.gecko&&this.editor.unlockSelection();CKEDITOR.env.webkit||(this.editor.forceNextSelectionCheck(),this.editor.selectionChange(1))}function K(a){var b=a.getSelectedHtml(!0);if(a.widgets.focused)return a.widgets.focused.getClipboardHtml();a.once("toDataFormat",function(a){a.data.widgetsCopy= -!0},null,null,-1);return a.dataProcessor.toDataFormat(b)}function O(a,b){N(a);Y(a);Q(a);W(a);T(a);ca(a);aa(a);if(CKEDITOR.env.ie&&9>CKEDITOR.env.version)a.wrapper.on("dragstart",function(b){var c=b.data.getTarget();h.getNestedEditable(a,c)||a.inline&&h.isDomDragHandler(c)||b.data.preventDefault()});a.wrapper.removeClass("cke_widget_new");a.element.addClass("cke_widget_element");a.on("key",function(b){b=b.data.keyCode;if(13==b)a.edit();else{if(b==CKEDITOR.CTRL+67||b==CKEDITOR.CTRL+88){M(a.editor,b== -CKEDITOR.CTRL+88);return}if(b in V||CKEDITOR.CTRL&b||CKEDITOR.ALT&b)return}return!1},null,null,999);a.on("doubleclick",function(b){a.edit()&&b.cancel()});if(b.data)a.on("data",b.data);if(b.edit)a.on("edit",b.edit)}function N(a){(a.wrapper=a.element.getParent()).setAttribute("data-cke-widget-id",a.id)}function Y(a,b){a.partSelectors||(a.partSelectors=a.parts);if(a.parts){var c={},d,f;for(f in a.partSelectors)b||!a.parts[f]||"string"==typeof a.parts[f]?(d=a.wrapper.findOne(a.partSelectors[f]),c[f]= -d):c[f]=a.parts[f];a.parts=c}}function Q(a){var b=a.editables,c,d;a.editables={};if(a.editables)for(c in b)d=b[c],a.initEditable(c,"string"==typeof d?{selector:d}:d)}function W(a){if(!0===a.mask)ea(a);else if(a.mask){var b=new CKEDITOR.tools.buffers.throttle(250,X,a),c=CKEDITOR.env.gecko?300:0,d,f;a.on("focus",function(){b.input();d=a.editor.on("change",b.input);f=a.on("blur",function(){d.removeListener();f.removeListener()})});a.editor.on("instanceReady",function(){setTimeout(function(){b.input()}, -c)});a.editor.on("mode",function(){setTimeout(function(){b.input()},c)});if(CKEDITOR.env.gecko){var e=a.element.find("img");CKEDITOR.tools.array.forEach(e.toArray(),function(a){a.on("load",function(){b.input()})})}for(var g in a.editables)a.editables[g].on("focus",function(){a.editor.on("change",b.input);f&&f.removeListener()}),a.editables[g].on("blur",function(){a.editor.removeListener("change",b.input)});b.input()}}function ea(a){var b=a.wrapper.findOne(".cke_widget_mask");b||(b=new CKEDITOR.dom.element("img", -a.editor.document),b.setAttributes({src:CKEDITOR.tools.transparentImageData,"class":"cke_reset cke_widget_mask"}),a.wrapper.append(b));a.mask=b}function X(){if(this.wrapper){this.maskPart=this.maskPart||this.mask;var a=this.parts[this.maskPart],b;if(a&&"string"!=typeof a){b=this.wrapper.findOne(".cke_widget_partial_mask");b||(b=new CKEDITOR.dom.element("img",this.editor.document),b.setAttributes({src:CKEDITOR.tools.transparentImageData,"class":"cke_reset cke_widget_partial_mask"}),this.wrapper.append(b)); -this.mask=b;var c=b.$,d=a.$,f=!(c.offsetTop==d.offsetTop&&c.offsetLeft==d.offsetLeft);if(c.offsetWidth!=d.offsetWidth||c.offsetHeight!=d.offsetHeight||f)c=a.getParent(),d=CKEDITOR.plugins.widget.isDomWidget(c),b.setStyles({top:a.$.offsetTop+(d?0:c.$.offsetTop)+"px",left:a.$.offsetLeft+(d?0:c.$.offsetLeft)+"px",width:a.$.offsetWidth+"px",height:a.$.offsetHeight+"px"})}}}function T(a){if(a.draggable){var b=a.editor,c=a.wrapper.getLast(h.isDomDragHandlerContainer),d;c?d=c.findOne("img"):(c=new CKEDITOR.dom.element("span", -b.document),c.setAttributes({"class":"cke_reset cke_widget_drag_handler_container",style:"background:rgba(220,220,220,0.5);background-image:url("+b.plugins.widget.path+"images/handle.png);display:none;"}),d=new CKEDITOR.dom.element("img",b.document),d.setAttributes({"class":"cke_reset cke_widget_drag_handler","data-cke-widget-drag-handler":"1",src:CKEDITOR.tools.transparentImageData,width:15,title:b.lang.widget.move,height:15,role:"presentation"}),a.inline&&d.setAttribute("draggable","true"),c.append(d), -a.wrapper.append(c));a.wrapper.on("dragover",function(a){a.data.preventDefault()});a.wrapper.on("mouseenter",a.updateDragHandlerPosition,a);setTimeout(function(){a.on("data",a.updateDragHandlerPosition,a)},50);if(!a.inline&&(d.on("mousedown",Z,a),CKEDITOR.env.ie&&9>CKEDITOR.env.version))d.on("dragstart",function(a){a.data.preventDefault(!0)});a.dragHandlerContainer=c}}function Z(a){function b(){var c;for(n.reset();c=h.pop();)c.removeListener();var d=k;c=a.sender;var f=this.repository.finder,e=this.repository.liner, -g=this.editor,l=this.editor.editable();CKEDITOR.tools.isEmpty(e.visible)||(d=f.getRange(d[0]),this.focus(),g.fire("drop",{dropRange:d,target:d.startContainer}));l.removeClass("cke_widget_dragging");e.hideVisible();g.fire("dragend",{target:c})}if(CKEDITOR.tools.getMouseButton(a)===CKEDITOR.MOUSE_BUTTON_LEFT){var c=this.repository.finder,d=this.repository.locator,f=this.repository.liner,e=this.editor,g=e.editable(),h=[],k=[],l,m;this.repository._.draggedWidget=this;var p=c.greedySearch(),n=CKEDITOR.tools.eventsBuffer(50, -function(){l=d.locate(p);k=d.sort(m,1);k.length&&(f.prepare(p,l),f.placeLine(k[0]),f.cleanup())});g.addClass("cke_widget_dragging");h.push(g.on("mousemove",function(a){m=a.data.$.clientY;n.input()}));e.fire("dragstart",{target:a.sender});h.push(e.document.once("mouseup",b,this));g.isInline()||h.push(CKEDITOR.document.once("mouseup",b,this))}}function ca(a){var b=null;a.on("data",function(){var a=this.data.classes,c;if(b!=a){for(c in b)a&&a[c]||this.removeClass(c);for(c in a)this.addClass(c);b=a}})} -function aa(a){a.on("data",function(){if(a.wrapper){var b=this.getLabel?this.getLabel():this.editor.lang.widget.label.replace(/%1/,this.pathName||this.element.getName());a.wrapper.setAttribute("role","region");a.wrapper.setAttribute("aria-label",b)}},null,null,9999)}function da(a){a.element.data("cke-widget-data",encodeURIComponent(JSON.stringify(a.data)))}function ba(){function a(){}function b(a,c,d){return d&&this.checkElement(a)?(a=d.widgets.getByElement(a,!0))&&a.checkStyleActive(this):!1}function c(a){function b(a, -c,d){for(var f=a.length,e=0;e=this.rect.right||a<=this.rect.top|| +a>=this.rect.bottom)&&this.hideVisible();(0>=b||b>=this.winTopPane.width||0>=a||a>=this.winTopPane.height)&&this.hideVisible()},this);e.attachListener(b,"resize",f);e.attachListener(b,"mode",l);b.on("destroy",l);this.lineTpl=(new CKEDITOR.template('\x3cdiv data-cke-lineutils-line\x3d"1" class\x3d"cke_reset_all" style\x3d"{lineStyle}"\x3e\x3cspan style\x3d"{tipLeftStyle}"\x3e\x26nbsp;\x3c/span\x3e\x3cspan style\x3d"{tipRightStyle}"\x3e\x26nbsp;\x3c/span\x3e\x3c/div\x3e')).output({lineStyle:CKEDITOR.tools.writeCssText(CKEDITOR.tools.extend({}, +k,this.lineStyle,!0)),tipLeftStyle:CKEDITOR.tools.writeCssText(CKEDITOR.tools.extend({},a,{left:"0px","border-left-color":"red","border-width":"6px 0 6px 6px"},this.tipCss,this.tipLeftStyle,!0)),tipRightStyle:CKEDITOR.tools.writeCssText(CKEDITOR.tools.extend({},a,{right:"0px","border-right-color":"red","border-width":"6px 6px 6px 0"},this.tipCss,this.tipRightStyle,!0))})}function e(a){var b;if(b=a&&a.type==CKEDITOR.NODE_ELEMENT)b=!(l[a.getComputedStyle("float")]||l[a.getAttribute("align")]);return b&& +!m[a.getComputedStyle("position")]}CKEDITOR.plugins.add("lineutils");CKEDITOR.LINEUTILS_BEFORE=1;CKEDITOR.LINEUTILS_AFTER=2;CKEDITOR.LINEUTILS_INSIDE=4;b.prototype={start:function(a){var b=this,e=this.editor,f=this.doc,h,k,l,m,u=CKEDITOR.tools.eventsBuffer(50,function(){e.readOnly||"wysiwyg"!=e.mode||(b.relations={},(k=f.$.elementFromPoint(l,m))&&k.nodeType&&(h=new CKEDITOR.dom.element(k),b.traverseSearch(h),isNaN(l+m)||b.pixelSearch(h,l,m),a&&a(b.relations,l,m)))});this.listener=this.editable.attachListener(this.target, +"mousemove",function(a){l=a.data.$.clientX;m=a.data.$.clientY;u.input()});this.editable.attachListener(this.inline?this.editable:this.frame,"mouseout",function(){u.reset()})},stop:function(){this.listener&&this.listener.removeListener()},getRange:function(){var a={};a[CKEDITOR.LINEUTILS_BEFORE]=CKEDITOR.POSITION_BEFORE_START;a[CKEDITOR.LINEUTILS_AFTER]=CKEDITOR.POSITION_AFTER_END;a[CKEDITOR.LINEUTILS_INSIDE]=CKEDITOR.POSITION_AFTER_START;return function(b){var e=this.editor.createRange();e.moveToPosition(this.relations[b.uid].element, +a[b.type]);return e}}(),store:function(){function a(b,c,e){var f=b.getUniqueId();f in e?e[f].type|=c:e[f]={element:b,type:c}}return function(b,g){var f;g&CKEDITOR.LINEUTILS_AFTER&&e(f=b.getNext())&&f.isVisible()&&(a(f,CKEDITOR.LINEUTILS_BEFORE,this.relations),g^=CKEDITOR.LINEUTILS_AFTER);g&CKEDITOR.LINEUTILS_INSIDE&&e(f=b.getFirst())&&f.isVisible()&&(a(f,CKEDITOR.LINEUTILS_BEFORE,this.relations),g^=CKEDITOR.LINEUTILS_INSIDE);a(b,g,this.relations)}}(),traverseSearch:function(a){var b,g,f;do if(f=a.$["data-cke-expando"], +!(f&&f in this.relations)){if(a.equals(this.editable))break;if(e(a))for(b in this.lookups)(g=this.lookups[b](a))&&this.store(a,g)}while((!a||a.type!=CKEDITOR.NODE_ELEMENT||"true"!=a.getAttribute("contenteditable"))&&(a=a.getParent()))},pixelSearch:function(){function a(c,f,h,k,l){for(var m=0,u;l(h);){h+=k;if(25==++m)break;if(u=this.doc.$.elementFromPoint(f,h))if(u==c)m=0;else if(b(c,u)&&(m=0,e(u=new CKEDITOR.dom.element(u))))return u}}var b=CKEDITOR.env.ie||CKEDITOR.env.webkit?function(a,b){return a.contains(b)}: +function(a,b){return!!(a.compareDocumentPosition(b)&16)};return function(b,d,f){var h=this.win.getViewPaneSize().height,k=a.call(this,b.$,d,f,-1,function(a){return 0this.rect.bottom)return!1;this.inline? +h.left=e.elementRect.left-this.rect.relativeX:(0[^<]*e});0>g&&(g=a._.upcasts.length);a._.upcasts.splice(g,0,[CKEDITOR.tools.bind(b, +c),c.name,e])}var e=b.upcast,g=b.upcastPriority||10;e&&("string"==typeof e?d(c,b,g):d(e,b,g))}function k(a,b){a.focused=null;if(b.isInited()){var c=b.editor.checkDirty();a.fire("widgetBlurred",{widget:b});b.setFocused(!1);!c&&b.editor.resetDirty()}}function l(a){a=a.data;if("wysiwyg"==this.editor.mode){var b=this.editor.editable(),c=this.instances,d,e,g,f;if(b){for(d in c)c[d].isReady()&&!b.contains(c[d].wrapper)&&this.destroy(c[d],!0);if(a&&a.initOnlyNew)c=this.initOnAll();else{var k=b.find(".cke_widget_wrapper"), +c=[];d=0;for(e=k.count();da.selected.length||I(c,"cut"===d.name)}var c=a.editor;c.on("contentDom",function(){var a=c.editable();a.attachListener(a,"copy",b);a.attachListener(a,"cut",b)})}function C(a){function b(){var a=e.getSelection();if(a&&(a=a.getRanges()[0])&&!a.collapsed){var d=c(a.startContainer),g=c(a.endContainer);!d&&g?(a.setEndBefore(g.wrapper),a.select()):d&&!g&&(a.setStartAfter(d.wrapper), +a.select())}}function c(a){return a?a.type==CKEDITOR.NODE_TEXT?c(a.getParent()):e.widgets.getByElement(a):null}function d(){a.fire("checkSelection")}var e=a.editor;e.on("selectionCheck",d);e.on("contentDom",function(){e.editable().attachListener(e,"key",function(){setTimeout(d,10)})});if(!CKEDITOR.env.ie)a.on("checkSelection",b);a.on("checkSelection",a.checkSelection,a);e.on("selectionChange",function(b){var c=(b=h.getNestedEditable(e.editable(),b.data.selection.getStartElement()))&&a.getByElement(b), +d=a.widgetHoldingFocusedEditable;d?d===c&&d.focusedEditable.equals(b)||(u(a,d,null),c&&b&&u(a,c,b)):c&&b&&u(a,c,b)});e.on("dataReady",function(){E(a).commit()});e.on("blur",function(){var b;(b=a.focused)&&k(a,b);(b=a.widgetHoldingFocusedEditable)&&u(a,b,null)})}function D(a){var b=a.editor,e={};b.on("toDataFormat",function(b){var g=CKEDITOR.tools.getNextNumber(),f=[];b.data.downcastingSessionId=g;e[g]=f;b.data.dataValue.forEach(function(b){var e=b.attributes,g;if("data-cke-widget-white-space"in e){g= +c(b);var k=d(b);g.parent.attributes["data-cke-white-space-first"]&&(g.value=g.value.replace(/^ /g," "));k.parent.attributes["data-cke-white-space-last"]&&(k.value=k.value.replace(/ $/g," "))}if("data-cke-widget-id"in e){if(e=a.instances[e["data-cke-widget-id"]])g=b.getFirst(h.isParserWidgetElement),f.push({wrapper:b,element:g,widget:e,editables:{}}),g&&"1"!=g.attributes["data-cke-widget-keep-attr"]&&delete g.attributes["data-widget"]}else if("data-cke-widget-editable"in e)return 0CKEDITOR.tools.indexOf(b,a)&& +c.push(a);a=CKEDITOR.tools.indexOf(d,a);0<=a&&d.splice(a,1);return this},focus:function(a){e=a;return this},commit:function(){var g=a.focused!==e,f,h;a.editor.fire("lockSnapshot");for(g&&(f=a.focused)&&k(a,f);f=d.pop();)b.splice(CKEDITOR.tools.indexOf(b,f),1),f.isInited()&&(h=f.editor.checkDirty(),f.setSelected(!1),!h&&f.editor.resetDirty());g&&e&&(h=a.editor.checkDirty(),a.focused=e,a.fire("widgetFocused",{widget:e}),e.setFocused(!0),!h&&a.editor.resetDirty());for(;f=c.pop();)b.push(f),f.setSelected(!0); +a.editor.fire("unlockSnapshot")}}}function H(a){a&&a.addFilterRule(function(a){return a.replace(/\s*cke_widget_selected/g,"").replace(/\s*cke_widget_focused/g,"")})}function L(a,b,c){var d=0;b=F(b);var e=a.data.classes||{},g;if(b){for(e=CKEDITOR.tools.clone(e);g=b.pop();)c?e[g]||(d=e[g]=1):e[g]&&(delete e[g],d=1);d&&a.setData("classes",e)}}function G(a){a.cancel()}function O(a,b){var c=function(a){return a==CKEDITOR.ENTER_BR?"br":a==CKEDITOR.ENTER_DIV?"div":"p"}(a.editor.config.enterMode),d=new CKEDITOR.dom.element(c); +"br"!==c&&d.appendBogus();"after"===b?d.insertAfter(a.wrapper):d.insertBefore(a.wrapper);(function(b){var c=a.editor.createRange();c.setStart(b,0);a.editor.getSelection().selectRanges([c])})(d)}function I(a,b){var c=a.widgets.focused,d,e,g;Q.hasCopyBin(a)||(e=new Q(a,{beforeDestroy:function(){!b&&c&&c.focus();g&&a.getSelection().selectBookmarks(g);d&&CKEDITOR.plugins.widgetselection.addFillers(a.editable())},afterDestroy:function(){b&&!a.readOnly&&(c?a.widgets.del(c):a.extractSelectedHtml(),a.fire("saveSnapshot"))}}), +c||(d=CKEDITOR.env.webkit&&CKEDITOR.plugins.widgetselection.isWholeContentSelected(a.editable()),g=a.getSelection().createBookmarks(!0)),e.handle(M(a)))}function F(a){return(a=(a=a.getDefinition().attributes)&&a["class"])?a.split(/\s+/):null}function P(){var a=CKEDITOR.document.getActive(),b=this.editor,c=b.editable();(c.isInline()?c:b.document.getWindow().getFrame()).equals(a)&&b.focusManager.focus(c)}function J(){CKEDITOR.env.gecko&&this.editor.unlockSelection();CKEDITOR.env.webkit||(this.editor.forceNextSelectionCheck(), +this.editor.selectionChange(1))}function M(a){var b=a.getSelectedHtml(!0);if(a.widgets.focused)return a.widgets.focused.getClipboardHtml();a.once("toDataFormat",function(a){a.data.widgetsCopy=!0},null,null,-1);return a.dataProcessor.toDataFormat(b)}function N(a,b){var c=a.editor.config.widget_keystrokeInsertLineBefore,d=a.editor.config.widget_keystrokeInsertLineAfter;V(a);S(a);U(a);da(a);fa(a);ka(a);W(a);if(CKEDITOR.env.ie&&9>CKEDITOR.env.version)a.wrapper.on("dragstart",function(b){var c=b.data.getTarget(); +h.getNestedEditable(a,c)||a.inline&&h.isDomDragHandler(c)||b.data.preventDefault()});a.wrapper.removeClass("cke_widget_new");a.element.addClass("cke_widget_element");a.on("key",function(b){b=b.data.keyCode;if(b==c)O(a,"before"),a.editor.fire("saveSnapshot");else if(b==d)O(a,"after"),a.editor.fire("saveSnapshot");else if(13==b)a.edit();else{if(b==CKEDITOR.CTRL+67||b==CKEDITOR.CTRL+88){I(a.editor,b==CKEDITOR.CTRL+88);return}if(b in X||CKEDITOR.CTRL&b||CKEDITOR.ALT&b)return}return!1},null,null,999); +a.on("doubleclick",function(b){a.edit()&&b.cancel()});if(b.data)a.on("data",b.data);if(b.edit)a.on("edit",b.edit)}function V(a){(a.wrapper=a.element.getParent()).setAttribute("data-cke-widget-id",a.id)}function S(a,b){a.partSelectors||(a.partSelectors=a.parts);if(a.parts){var c={},d,e;for(e in a.partSelectors)b||!a.parts[e]||"string"==typeof a.parts[e]?(d=a.wrapper.findOne(a.partSelectors[e]),c[e]=d):c[e]=a.parts[e];a.parts=c}}function U(a){var b=a.editables,c,d;a.editables={};if(a.editables)for(c in b)d= +b[c],a.initEditable(c,"string"==typeof d?{selector:d}:d)}function da(a){if(!0===a.mask)T(a);else if(a.mask){var b=new CKEDITOR.tools.buffers.throttle(250,ea,a),c=CKEDITOR.env.gecko?300:0,d,e;a.on("focus",function(){b.input();d=a.editor.on("change",b.input);e=a.on("blur",function(){d.removeListener();e.removeListener()})});a.editor.on("instanceReady",function(){setTimeout(function(){b.input()},c)});a.editor.on("mode",function(){setTimeout(function(){b.input()},c)});if(CKEDITOR.env.gecko){var g=a.element.find("img"); +CKEDITOR.tools.array.forEach(g.toArray(),function(a){a.on("load",function(){b.input()})})}for(var f in a.editables)a.editables[f].on("focus",function(){a.editor.on("change",b.input);e&&e.removeListener()}),a.editables[f].on("blur",function(){a.editor.removeListener("change",b.input)});b.input()}}function T(a){var b=a.wrapper.findOne(".cke_widget_mask");b||(b=new CKEDITOR.dom.element("img",a.editor.document),b.setAttributes({src:CKEDITOR.tools.transparentImageData,"class":"cke_reset cke_widget_mask"}), +a.wrapper.append(b));a.mask=b}function ea(){if(this.wrapper){this.maskPart=this.maskPart||this.mask;var a=this.parts[this.maskPart],b;if(a&&"string"!=typeof a){b=this.wrapper.findOne(".cke_widget_partial_mask");b||(b=new CKEDITOR.dom.element("img",this.editor.document),b.setAttributes({src:CKEDITOR.tools.transparentImageData,"class":"cke_reset cke_widget_partial_mask"}),this.wrapper.append(b));this.mask=b;var c=b.$,d=a.$,e=!(c.offsetTop==d.offsetTop&&c.offsetLeft==d.offsetLeft);if(c.offsetWidth!= +d.offsetWidth||c.offsetHeight!=d.offsetHeight||e)c=a.getParent(),d=CKEDITOR.plugins.widget.isDomWidget(c),b.setStyles({top:a.$.offsetTop+(d?0:c.$.offsetTop)+"px",left:a.$.offsetLeft+(d?0:c.$.offsetLeft)+"px",width:a.$.offsetWidth+"px",height:a.$.offsetHeight+"px"})}}}function fa(a){if(a.draggable){var b=a.editor,c=a.wrapper.getLast(h.isDomDragHandlerContainer),d;c?d=c.findOne("img"):(c=new CKEDITOR.dom.element("span",b.document),c.setAttributes({"class":"cke_reset cke_widget_drag_handler_container", +style:"background:rgba(220,220,220,0.5);background-image:url("+b.plugins.widget.path+"images/handle.png);display:none;"}),d=new CKEDITOR.dom.element("img",b.document),d.setAttributes({"class":"cke_reset cke_widget_drag_handler","data-cke-widget-drag-handler":"1",src:CKEDITOR.tools.transparentImageData,width:15,title:b.lang.widget.move,height:15,role:"presentation"}),a.inline&&d.setAttribute("draggable","true"),c.append(d),a.wrapper.append(c));a.wrapper.on("dragover",function(a){a.data.preventDefault()}); +a.wrapper.on("mouseenter",a.updateDragHandlerPosition,a);setTimeout(function(){a.on("data",a.updateDragHandlerPosition,a)},50);if(!a.inline&&(d.on("mousedown",ia,a),CKEDITOR.env.ie&&9>CKEDITOR.env.version))d.on("dragstart",function(a){a.data.preventDefault(!0)});a.dragHandlerContainer=c}}function ia(a){function b(){var c;for(r.reset();c=h.pop();)c.removeListener();var d=k;c=a.sender;var e=this.repository.finder,g=this.repository.liner,f=this.editor,l=this.editor.editable();CKEDITOR.tools.isEmpty(g.visible)|| +(d=e.getRange(d[0]),this.focus(),f.fire("drop",{dropRange:d,target:d.startContainer}));l.removeClass("cke_widget_dragging");g.hideVisible();f.fire("dragend",{target:c})}if(CKEDITOR.tools.getMouseButton(a)===CKEDITOR.MOUSE_BUTTON_LEFT){var c=this.repository.finder,d=this.repository.locator,e=this.repository.liner,g=this.editor,f=g.editable(),h=[],k=[],l,m;this.repository._.draggedWidget=this;var t=c.greedySearch(),r=CKEDITOR.tools.eventsBuffer(50,function(){l=d.locate(t);k=d.sort(m,1);k.length&&(e.prepare(t, +l),e.placeLine(k[0]),e.cleanup())});f.addClass("cke_widget_dragging");h.push(f.on("mousemove",function(a){m=a.data.$.clientY;r.input()}));g.fire("dragstart",{target:a.sender});h.push(g.document.once("mouseup",b,this));f.isInline()||h.push(CKEDITOR.document.once("mouseup",b,this))}}function ka(a){var b=null;a.on("data",function(){var a=this.data.classes,c;if(b!=a){for(c in b)a&&a[c]||this.removeClass(c);for(c in a)this.addClass(c);b=a}})}function W(a){a.on("data",function(){if(a.wrapper){var b=this.getLabel? +this.getLabel():this.editor.lang.widget.label.replace(/%1/,this.pathName||this.element.getName());a.wrapper.setAttribute("role","region");a.wrapper.setAttribute("aria-label",b)}},null,null,9999)}function Z(a){a.element.data("cke-widget-data",encodeURIComponent(JSON.stringify(a.data)))}function aa(){function a(){}function b(a,c,d){return d&&this.checkElement(a)?(a=d.widgets.getByElement(a,!0))&&a.checkStyleActive(this):!1}function c(a){function b(a,c,d){for(var e=a.length,g=0;g)?(?:<(?:div|span)(?: style="[^"]+")?>)?]*data-cke-copybin-start="1"[^>]*>.?<\/span>([\s\S]+)]*data-cke-copybin-end="1"[^>]*>.?<\/span>(?:<\/(?:div|span)>)?(?:<\/(?:div|span)>)?$/i, -V={37:1,38:1,39:1,40:1,8:1,46:1};V[CKEDITOR.SHIFT+121]=1;var U=CKEDITOR.tools.createClass({$:function(a,b){this._.createCopyBin(a,b);this._.createListeners(b)},_:{createCopyBin:function(a){var b=a.document,c=CKEDITOR.env.edge&&16<=CKEDITOR.env.version,d=!a.blockless&&!CKEDITOR.env.ie||c?"div":"span",c=b.createElement(d),b=b.createElement(d);b.setAttributes({id:"cke_copybin","data-cke-temp":"1"});c.setStyles({position:"absolute",width:"1px",height:"1px",overflow:"hidden"});c.setStyle("ltr"==a.config.contentsLangDirection? -"left":"right","-5000px");this.editor=a;this.copyBin=c;this.container=b},createListeners:function(a){a&&(a.beforeDestroy&&(this.beforeDestroy=a.beforeDestroy),a.afterDestroy&&(this.afterDestroy=a.afterDestroy))}},proto:{handle:function(a){var b=this.copyBin,c=this.editor,d=this.container,f=CKEDITOR.env.ie&&9>CKEDITOR.env.version,e=c.document.getDocumentElement().$,g=c.createRange(),h=this,k=CKEDITOR.env.mac&&CKEDITOR.env.webkit,l=k?100:0,m=window.requestAnimationFrame&&!k?requestAnimationFrame:setTimeout, -p,n,t;b.setHtml('\x3cspan data-cke-copybin-start\x3d"1"\x3e​\x3c/span\x3e'+a+'\x3cspan data-cke-copybin-end\x3d"1"\x3e​\x3c/span\x3e');c.fire("lockSnapshot");d.append(b);c.editable().append(d);p=c.on("selectionChange",F,null,null,0);n=c.widgets.on("checkSelection",F,null,null,0);f&&(t=e.scrollTop);g.selectNodeContents(b);g.select();f&&(e.scrollTop=t);return new CKEDITOR.tools.promise(function(a){m(function(){h.beforeDestroy&&h.beforeDestroy();d.remove();p.removeListener();n.removeListener();c.fire("unlockSnapshot"); -h.afterDestroy&&h.afterDestroy();a()},l)})}},statics:{hasCopyBin:function(a){return!!U.getCopyBin(a)},getCopyBin:function(a){return a.document.getById("cke_copybin")}}});CKEDITOR.plugins.widget=h;h.repository=b;h.nestedEditable=g})();"use strict";(function(){function b(a){function b(){this.deflated||(a.widgets.focused==this.widget&&(this.focused=!0),a.widgets.destroy(this.widget),this.deflated=!0)}function c(){var b=a.editable(),d=a.document;if(this.deflated)this.widget=a.widgets.initOn(this.element, -"image",this.widget.data),this.widget.inline&&!(new CKEDITOR.dom.elementPath(this.widget.wrapper,b)).block&&(b=d.createElement(a.activeEnterMode==CKEDITOR.ENTER_P?"p":"div"),b.replace(this.widget.wrapper),this.widget.wrapper.move(b)),this.focused&&(this.widget.focus(),delete this.focused),delete this.deflated;else{var f=this.widget,b=e,d=f.wrapper,g=f.data.align,f=f.data.hasCaption;if(b){for(var h=3;h--;)d.removeClass(b[h]);"center"==g?f&&d.addClass(b[1]):"none"!=g&&d.addClass(b[x[g]])}else"center"== -g?(f?d.setStyle("text-align","center"):d.removeStyle("text-align"),d.removeStyle("float")):("none"==g?d.removeStyle("float"):d.setStyle("float",g),d.removeStyle("text-align"))}}var e=a.config.image2_alignClasses,k=a.config.image2_captionedClass;return{allowedContent:f(a),requiredContent:"img[src,alt]",features:d(a),styleableElements:"img figure",contentTransformations:[["img[width]: sizeToAttribute"]],editables:{caption:{selector:"figcaption",allowedContent:"br em strong sub sup u s; a[!href,target]"}}, -parts:{image:"img",caption:"figcaption"},dialog:"image2",template:'\x3cimg alt\x3d"" src\x3d"" /\x3e',data:function(){var d=this.features;this.data.hasCaption&&!a.filter.checkFeature(d.caption)&&(this.data.hasCaption=!1);"none"==this.data.align||a.filter.checkFeature(d.align)||(this.data.align="none");this.shiftState({widget:this,element:this.element,oldData:this.oldData,newData:this.data,deflate:b,inflate:c});this.data.link?this.parts.link||(this.parts.link=this.parts.image.getParent()):this.parts.link&& -delete this.parts.link;this.parts.image.setAttributes({src:this.data.src,"data-cke-saved-src":this.data.src,alt:this.data.alt});if(this.oldData&&!this.oldData.hasCaption&&this.data.hasCaption)for(var f in this.data.classes)this.parts.image.removeClass(f);if(a.filter.checkFeature(d.dimension)){d=this.data;d={width:d.width,height:d.height};f=this.parts.image;for(var e in d)d[e]?f.setAttribute(e,d[e]):f.removeAttribute(e)}this.oldData=CKEDITOR.tools.extend({},this.data)},init:function(){var b=CKEDITOR.plugins.image2, -c=this.parts.image,d={hasCaption:!!this.parts.caption,src:c.getAttribute("src"),alt:c.getAttribute("alt")||"",width:c.getAttribute("width")||"",height:c.getAttribute("height")||"",lock:this.ready?b.checkHasNaturalRatio(c):!0},f=c.getAscendant("a");f&&this.wrapper.contains(f)&&(this.parts.link=f);d.align||(c=d.hasCaption?this.element:c,e?(c.hasClass(e[0])?d.align="left":c.hasClass(e[2])&&(d.align="right"),d.align?c.removeClass(e[x[d.align]]):d.align="none"):(d.align=c.getStyle("float")||"none",c.removeStyle("float"))); -a.plugins.link&&this.parts.link&&(d.link=b.getLinkAttributesParser()(a,this.parts.link),(c=d.link.advanced)&&c.advCSSClasses&&(c.advCSSClasses=CKEDITOR.tools.trim(c.advCSSClasses.replace(/cke_\S+/,""))));this.wrapper[(d.hasCaption?"remove":"add")+"Class"]("cke_image_nocaption");this.setData(d);a.filter.checkFeature(this.features.dimension)&&!0!==a.config.image2_disableResizer&&m(this);this.shiftState=b.stateShifter(this.editor);this.on("contextMenu",function(a){a.data.image=CKEDITOR.TRISTATE_OFF; -if(this.parts.link||this.wrapper.getAscendant("a"))a.data.link=a.data.unlink=CKEDITOR.TRISTATE_OFF})},addClass:function(a){n(this).addClass(a)},hasClass:function(a){return n(this).hasClass(a)},removeClass:function(a){n(this).removeClass(a)},getClasses:function(){var a=new RegExp("^("+[].concat(k,e).join("|")+")$");return function(){var b=this.repository.parseElementClasses(n(this).getAttribute("class")),c;for(c in b)a.test(c)&&delete b[c];return b}}(),upcast:h(a),downcast:g(a),getLabel:function(){return this.editor.lang.widget.label.replace(/%1/, -(this.data.alt||"")+" "+this.pathName)}}}function h(b){var c=e(b),d=b.config.image2_captionedClass;return function(b,f){var e={width:1,height:1},g=b.name,h;if(!b.attributes["data-cke-realelement"]&&(c(b)?("div"==g&&(h=b.getFirst("figure"))&&(b.replaceWith(h),b=h),f.align="center",h=b.getFirst("img")||b.getFirst("a").getFirst("img")):"figure"==g&&b.hasClass(d)?h=b.find(function(a){return"img"===a.name&&-1!==CKEDITOR.tools.array.indexOf(["figure","a"],a.parent.name)},!0)[0]:a(b)&&(h="a"==b.name?b.children[0]: -b),h)){for(var k in e)(e=h.attributes[k])&&e.match(q)&&delete h.attributes[k];return b}}}function g(a){var b=a.config.image2_alignClasses;return function(a){var c="a"==a.name?a.getFirst():a,d=c.attributes,f=this.data.align;if(!this.inline){var e=a.getFirst("span");e&&e.replaceWith(e.getFirst({img:1,a:1}))}f&&"none"!=f&&(e=CKEDITOR.tools.parseCssText(d.style||""),"center"==f&&"figure"==a.name?a=a.wrapWith(new CKEDITOR.htmlParser.element("div",b?{"class":b[1]}:{style:"text-align:center"})):f in{left:1, -right:1}&&(b?c.addClass(b[x[f]]):e["float"]=f),b||CKEDITOR.tools.isEmpty(e)||(d.style=CKEDITOR.tools.writeCssText(e)));return a}}function e(b){var c=b.config.image2_captionedClass,d=b.config.image2_alignClasses,f={figure:1,a:1,img:1};return function(e){if(!(e.name in{div:1,p:1}))return!1;var g=e.children;if(1!==g.length)return!1;g=g[0];if(!(g.name in f))return!1;if("p"==e.name){if(!a(g))return!1}else if("figure"==g.name){if(!g.hasClass(c))return!1}else if(b.enterMode==CKEDITOR.ENTER_P||!a(g))return!1; -return(d?e.hasClass(d[1]):"center"==CKEDITOR.tools.parseCssText(e.attributes.style||"",!0)["text-align"])?!0:!1}}function a(a){return"img"==a.name?!0:"a"==a.name?1==a.children.length&&a.getFirst("img"):!1}function m(a){var b=a.editor,c=b.editable(),d=b.document,f=a.resizer=d.createElement("span");f.addClass("cke_image_resizer");f.setAttribute("title",b.lang.image2.resizer);f.append(new CKEDITOR.dom.text("​",d));if(a.inline)a.wrapper.append(f);else{var e=a.parts.link||a.parts.image,g=e.getParent(), -h=d.createElement("span");h.addClass("cke_image_resizer_wrapper");h.append(e);h.append(f);a.element.append(h,!0);g.is("span")&&g.remove()}f.on("mousedown",function(e){function g(a,b,c){var f=CKEDITOR.document,e=[];d.equals(f)||e.push(f.on(a,b));e.push(d.on(a,b));if(c)for(a=e.length;a--;)c.push(e.pop())}function h(){Q=y+n*X;W=Math.round(Q/q)}function k(){W=C-T;Q=Math.round(W*q)}var l=a.parts.image,m=function(){var a=b.config.image2_maxSize,c;if(!a)return null;a=CKEDITOR.tools.copy(a);c=CKEDITOR.plugins.image2.getNatural(l); -a.width=Math.max("natural"===a.width?c.width:a.width,15);a.height=Math.max("natural"===a.height?c.height:a.height,15);return a}(),n="right"==a.data.align?-1:1,v=e.data.$.screenX,u=e.data.$.screenY,y=l.$.clientWidth,C=l.$.clientHeight,q=y/C,x=[],N="cke_image_s"+(~n?"e":"w"),Y,Q,W,ea,X,T,Z;b.fire("saveSnapshot");g("mousemove",function(a){Y=a.data.$;X=Y.screenX-v;T=u-Y.screenY;Z=Math.abs(X/T);1==n?0>=X?0>=T?h():Z>=q?h():k():0>=T?Z>=q?k():h():k():0>=X?0>=T?Z>=q?k():h():k():0>=T?h():Z>=q?h():k();a=m&& -(Q>m.width||W>m.height);15>Q||15>W||a||(ea={width:Q,height:W},l.setAttributes(ea))},x);g("mouseup",function(){for(var d;d=x.pop();)d.removeListener();c.removeClass(N);f.removeClass("cke_image_resizing");ea&&(a.setData(ea),b.fire("saveSnapshot"));ea=!1},x);c.addClass(N);f.addClass("cke_image_resizing")});a.on("data",function(){f["right"==a.data.align?"addClass":"removeClass"]("cke_image_resizer_left")})}function k(a){var b=[],d;return function(f){var e=a.getCommand("justify"+f);if(e){b.push(function(){e.refresh(a, -a.elementPath())});if(f in{right:1,left:1,center:1})e.on("exec",function(d){var e=c(a);if(e){e.setData("align",f);for(e=b.length;e--;)b[e]();d.cancel()}});e.on("refresh",function(b){var e=c(a),g={right:1,left:1,center:1};e&&(void 0===d&&(d=a.filter.checkFeature(a.widgets.registered.image.features.align)),d?this.setState(e.data.align==f?CKEDITOR.TRISTATE_ON:f in g?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED):this.setState(CKEDITOR.TRISTATE_DISABLED),b.cancel())})}}}function l(a){if(a.plugins.link){var b= -CKEDITOR.on("dialogDefinition",function(b){b=b.data;if("link"==b.name){b=b.definition;var d=b.onShow,f=b.onOk;b.onShow=function(){var b=c(a),f=this.getContentElement("info","linkDisplayText").getElement().getParent().getParent();b&&(b.inline?!b.wrapper.getAscendant("a"):1)?(this.setupContent(b.data.link||{}),f.hide()):(f.show(),d.apply(this,arguments))};b.onOk=function(){var b=c(a);if(b&&(b.inline?!b.wrapper.getAscendant("a"):1)){var d={};this.commitContent(d);b.setData("link",d)}else f.apply(this, -arguments)}}});a.on("destroy",function(){b.removeListener()});a.getCommand("unlink").on("exec",function(b){var d=c(a);d&&d.parts.link&&(d.setData("link",null),this.refresh(a,a.elementPath()),b.cancel())});a.getCommand("unlink").on("refresh",function(b){var d=c(a);d&&(this.setState(d.data.link||d.wrapper.getAscendant("a")?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED),b.cancel())})}}function c(a){return(a=a.widgets.focused)&&"image"==a.name?a:null}function f(a){var b=a.config.image2_alignClasses; -a={div:{match:e(a)},p:{match:e(a)},img:{attributes:"!src,alt,width,height"},figure:{classes:"!"+a.config.image2_captionedClass},figcaption:!0};b?(a.div.classes=b[1],a.p.classes=a.div.classes,a.img.classes=b[0]+","+b[2],a.figure.classes+=","+a.img.classes):(a.div.styles="text-align",a.p.styles="text-align",a.img.styles="float",a.figure.styles="float,display");return a}function d(a){a=a.config.image2_alignClasses;return{dimension:{requiredContent:"img[width,height]"},align:{requiredContent:"img"+(a? -"("+a[0]+")":"{float}")},caption:{requiredContent:"figcaption"}}}function n(a){return a.data.hasCaption?a.element:a.parts.image}var y=new CKEDITOR.template('\x3cfigure class\x3d"{captionedClass}"\x3e\x3cimg alt\x3d"" src\x3d"" /\x3e\x3cfigcaption\x3e{captionPlaceholder}\x3c/figcaption\x3e\x3c/figure\x3e'),x={left:0,center:1,right:2},q=/^\s*(\d+\%)\s*$/i;CKEDITOR.plugins.add("image2",{requires:"widget,dialog",icons:"image",hidpi:!0,onLoad:function(){CKEDITOR.addCss('.cke_image_nocaption{line-height:0}.cke_editable.cke_image_sw, .cke_editable.cke_image_sw *{cursor:sw-resize !important}.cke_editable.cke_image_se, .cke_editable.cke_image_se *{cursor:se-resize !important}.cke_image_resizer{display:none;position:absolute;width:10px;height:10px;bottom:-5px;right:-5px;background:#000;outline:1px solid #fff;line-height:0;cursor:se-resize;}.cke_image_resizer_wrapper{position:relative;display:inline-block;line-height:0;}.cke_image_resizer.cke_image_resizer_left{right:auto;left:-5px;cursor:sw-resize;}.cke_widget_wrapper:hover .cke_image_resizer,.cke_image_resizer.cke_image_resizing{display:block}.cke_editable[contenteditable\x3d"false"] .cke_image_resizer{display:none;}.cke_widget_wrapper\x3ea{display:inline-block}')}, -init:function(a){if(!a.plugins.detectConflict("image2",["easyimage"])){var c=a.config,d=a.lang.image2,f=b(a);c.filebrowserImage2BrowseUrl=c.filebrowserImageBrowseUrl;c.filebrowserImage2UploadUrl=c.filebrowserImageUploadUrl;f.pathName=d.pathName;f.editables.caption.pathName=d.pathNameCaption;a.widgets.add("image",f);a.ui.addButton&&a.ui.addButton("Image",{label:a.lang.common.image,command:"image",toolbar:"insert,10"});a.contextMenu&&(a.addMenuGroup("image",10),a.addMenuItem("image",{label:d.menu,command:"image", -group:"image"}));CKEDITOR.dialog.add("image2",this.path+"dialogs/image2.js")}},afterInit:function(a){var b={left:1,right:1,center:1,block:1},c=k(a),d;for(d in b)c(d);l(a)}});CKEDITOR.plugins.image2={stateShifter:function(a){function b(a,e){var g={};f?g.attributes={"class":f[1]}:g.styles={"text-align":"center"};g=d.createElement(a.activeEnterMode==CKEDITOR.ENTER_P?"p":"div",g);c(g,e);e.move(g);return g}function c(b,d){if(d.getParent()){var f=a.createRange();f.moveToPosition(d,CKEDITOR.POSITION_BEFORE_START); -d.remove();g.insertElementIntoRange(b,f)}else b.replace(d)}var d=a.document,f=a.config.image2_alignClasses,e=a.config.image2_captionedClass,g=a.editable(),h=["hasCaption","align","link"],k={align:function(c,d,e){var g=c.element;c.changed.align?c.newData.hasCaption||("center"==e&&(c.deflate(),c.element=b(a,g)),c.changed.hasCaption||"center"!=d||"center"==e||(c.deflate(),d=g.findOne("a,img"),d.replace(g),c.element=d)):"center"==e&&c.changed.hasCaption&&!c.newData.hasCaption&&(c.deflate(),c.element= -b(a,g));!f&&g.is("figure")&&("center"==e?g.setStyle("display","inline-block"):g.removeStyle("display"))},hasCaption:function(b,f,g){b.changed.hasCaption&&(f=b.element.is({img:1,a:1})?b.element:b.element.findOne("a,img"),b.deflate(),g?(g=CKEDITOR.dom.element.createFromHtml(y.output({captionedClass:e,captionPlaceholder:a.lang.image2.captionPlaceholder}),d),c(g,b.element),f.replace(g.findOne("img")),b.element=g):(f.replace(b.element),b.element=f))},link:function(b,c,f){if(b.changed.link){var e=b.element.is("img")? -b.element:b.element.findOne("img"),g=b.element.is("a")?b.element:b.element.findOne("a"),h=b.element.is("a")&&!f||b.element.is("img")&&f,k;h&&b.deflate();f?(c||(k=d.createElement("a",{attributes:{href:b.newData.link.url}}),k.replace(e),e.move(k)),f=CKEDITOR.plugins.image2.getLinkAttributesGetter()(a,f),CKEDITOR.tools.isEmpty(f.set)||(k||g).setAttributes(f.set),f.removed.length&&(k||g).removeAttributes(f.removed)):(f=g.findOne("img"),f.replace(g),k=f);h&&(b.element=k)}}};return function(a){var b,c; +h.isDomWidget=function(a){return a?this.isDomWidgetWrapper(a)||this.isDomWidgetElement(a):!1};h.isParserWidgetElement=function(a){return a.type==CKEDITOR.NODE_ELEMENT&&!!a.attributes["data-widget"]};h.isParserWidgetWrapper=function(a){return a.type==CKEDITOR.NODE_ELEMENT&&!!a.attributes["data-cke-widget-wrapper"]};h.WRAPPER_CLASS_PREFIX="cke_widget_wrapper_";f.prototype=CKEDITOR.tools.extend(CKEDITOR.tools.prototypedCopy(CKEDITOR.dom.element.prototype),{setData:function(a){this._.initialSetData|| +this.editor.widgets.destroyAll(!1,this);this._.initialSetData=!1;a=this.editor.dataProcessor.unprotectRealComments(a);a=this.editor.dataProcessor.unprotectSource(a);a=this.editor.dataProcessor.toHtml(a,{context:this.getName(),filter:this.filter,enterMode:this.enterMode});this.setHtml(a);this.editor.widgets.initOnAll(this)},getData:function(){return this.editor.dataProcessor.toDataFormat(this.getHtml(),{context:this.getName(),filter:this.filter,enterMode:this.enterMode})}});var ca=/^(?:<(?:div|span)(?: data-cke-temp="1")?(?: id="cke_copybin")?(?: data-cke-temp="1")?>)?(?:<(?:div|span)(?: style="[^"]+")?>)?]*data-cke-copybin-start="1"[^>]*>.?<\/span>([\s\S]+)]*data-cke-copybin-end="1"[^>]*>.?<\/span>(?:<\/(?:div|span)>)?(?:<\/(?:div|span)>)?$/i, +X={37:1,38:1,39:1,40:1,8:1,46:1};X[CKEDITOR.SHIFT+121]=1;var Q=CKEDITOR.tools.createClass({$:function(a,b){this._.createCopyBin(a,b);this._.createListeners(b)},_:{createCopyBin:function(a){var b=a.document,c=CKEDITOR.env.edge&&16<=CKEDITOR.env.version,d=!a.blockless&&!CKEDITOR.env.ie||c?"div":"span",c=b.createElement(d),b=b.createElement(d);b.setAttributes({id:"cke_copybin","data-cke-temp":"1"});c.setStyles({position:"absolute",width:"1px",height:"1px",overflow:"hidden"});c.setStyle("ltr"==a.config.contentsLangDirection? +"left":"right","-5000px");this.editor=a;this.copyBin=c;this.container=b},createListeners:function(a){a&&(a.beforeDestroy&&(this.beforeDestroy=a.beforeDestroy),a.afterDestroy&&(this.afterDestroy=a.afterDestroy))}},proto:{handle:function(a){var b=this.copyBin,c=this.editor,d=this.container,e=CKEDITOR.env.ie&&9>CKEDITOR.env.version,g=c.document.getDocumentElement().$,f=c.createRange(),h=this,k=CKEDITOR.env.mac&&CKEDITOR.env.webkit,l=k?100:0,m=window.requestAnimationFrame&&!k?requestAnimationFrame:setTimeout, +t,r,u;b.setHtml('\x3cspan data-cke-copybin-start\x3d"1"\x3e​\x3c/span\x3e'+a+'\x3cspan data-cke-copybin-end\x3d"1"\x3e​\x3c/span\x3e');c.fire("lockSnapshot");d.append(b);c.editable().append(d);t=c.on("selectionChange",G,null,null,0);r=c.widgets.on("checkSelection",G,null,null,0);e&&(u=g.scrollTop);f.selectNodeContents(b);f.select();e&&(g.scrollTop=u);return new CKEDITOR.tools.promise(function(a){m(function(){h.beforeDestroy&&h.beforeDestroy();d.remove();t.removeListener();r.removeListener();c.fire("unlockSnapshot"); +h.afterDestroy&&h.afterDestroy();a()},l)})}},statics:{hasCopyBin:function(a){return!!Q.getCopyBin(a)},getCopyBin:function(a){return a.document.getById("cke_copybin")}}});CKEDITOR.plugins.widget=h;h.repository=b;h.nestedEditable=f}(),CKEDITOR.config.widget_keystrokeInsertLineBefore=CKEDITOR.SHIFT+CKEDITOR.ALT+13,CKEDITOR.config.widget_keystrokeInsertLineAfter=CKEDITOR.SHIFT+13,"use strict",function(){function b(a){function b(){this.deflated||(a.widgets.focused==this.widget&&(this.focused=!0),a.widgets.destroy(this.widget), +this.deflated=!0)}function c(){var b=a.editable(),d=a.document;if(this.deflated)this.widget=a.widgets.initOn(this.element,"image",this.widget.data),this.widget.inline&&!(new CKEDITOR.dom.elementPath(this.widget.wrapper,b)).block&&(b=d.createElement(a.activeEnterMode==CKEDITOR.ENTER_P?"p":"div"),b.replace(this.widget.wrapper),this.widget.wrapper.move(b)),this.focused&&(this.widget.focus(),delete this.focused),delete this.deflated;else{var g=this.widget,b=e,d=g.wrapper,f=g.data.align,g=g.data.hasCaption; +if(b){for(var h=3;h--;)d.removeClass(b[h]);"center"==f?g&&d.addClass(b[1]):"none"!=f&&d.addClass(b[w[f]])}else"center"==f?(g?d.setStyle("text-align","center"):d.removeStyle("text-align"),d.removeStyle("float")):("none"==f?d.removeStyle("float"):d.setStyle("float",f),d.removeStyle("text-align"))}}var e=a.config.image2_alignClasses,l=a.config.image2_captionedClass;return{allowedContent:d(a),requiredContent:"img[src,alt]",features:g(a),styleableElements:"img figure",contentTransformations:[["img[width]: sizeToAttribute"]], +editables:{caption:{selector:"figcaption",allowedContent:"br em strong sub sup u s; a[!href,target]"}},parts:{image:"img",caption:"figcaption"},dialog:"image2",template:'\x3cimg alt\x3d"" src\x3d"" /\x3e',data:function(){var d=this.features;this.data.hasCaption&&!a.filter.checkFeature(d.caption)&&(this.data.hasCaption=!1);"none"==this.data.align||a.filter.checkFeature(d.align)||(this.data.align="none");this.shiftState({widget:this,element:this.element,oldData:this.oldData,newData:this.data,deflate:b, +inflate:c});this.data.link?this.parts.link||(this.parts.link=this.parts.image.getParent()):this.parts.link&&delete this.parts.link;this.parts.image.setAttributes({src:this.data.src,"data-cke-saved-src":this.data.src,alt:this.data.alt});if(this.oldData&&!this.oldData.hasCaption&&this.data.hasCaption)for(var e in this.data.classes)this.parts.image.removeClass(e);if(a.filter.checkFeature(d.dimension)){d=this.data;d={width:d.width,height:d.height};e=this.parts.image;for(var g in d)d[g]?e.setAttribute(g, +d[g]):e.removeAttribute(g)}this.oldData=CKEDITOR.tools.extend({},this.data)},init:function(){var b=CKEDITOR.plugins.image2,c=this.parts.image,d=this.ready?b.checkHasNaturalRatio(c):!0,d={hasCaption:!!this.parts.caption,src:c.getAttribute("src"),alt:c.getAttribute("alt")||"",width:c.getAttribute("width")||"",height:c.getAttribute("height")||"",lock:void 0!==a.config.image2_defaultLockRatio?a.config.image2_defaultLockRatio:d},g=c.getAscendant("a");g&&this.wrapper.contains(g)&&(this.parts.link=g);d.align|| +(c=d.hasCaption?this.element:c,e?(c.hasClass(e[0])?d.align="left":c.hasClass(e[2])&&(d.align="right"),d.align?c.removeClass(e[w[d.align]]):d.align="none"):(d.align=c.getStyle("float")||"none",c.removeStyle("float")));a.plugins.link&&this.parts.link&&(d.link=b.getLinkAttributesParser()(a,this.parts.link),(c=d.link.advanced)&&c.advCSSClasses&&(c.advCSSClasses=CKEDITOR.tools.trim(c.advCSSClasses.replace(/cke_\S+/,""))));this.wrapper[(d.hasCaption?"remove":"add")+"Class"]("cke_image_nocaption");this.setData(d); +a.filter.checkFeature(this.features.dimension)&&!0!==a.config.image2_disableResizer&&k(this);this.shiftState=b.stateShifter(this.editor);this.on("contextMenu",function(a){a.data.image=CKEDITOR.TRISTATE_OFF;if(this.parts.link||this.wrapper.getAscendant("a"))a.data.link=a.data.unlink=CKEDITOR.TRISTATE_OFF})},addClass:function(a){n(this).addClass(a)},hasClass:function(a){return n(this).hasClass(a)},removeClass:function(a){n(this).removeClass(a)},getClasses:function(){var a=new RegExp("^("+[].concat(l, +e).join("|")+")$");return function(){var b=this.repository.parseElementClasses(n(this).getAttribute("class")),c;for(c in b)a.test(c)&&delete b[c];return b}}(),upcast:h(a),downcast:f(a),getLabel:function(){return this.editor.lang.widget.label.replace(/%1/,(this.data.alt||"")+" "+this.pathName)}}}function h(b){var c=e(b),d=b.config.image2_captionedClass;return function(b,e){var g={width:1,height:1},f=b.name,h;if(!b.attributes["data-cke-realelement"]&&(c(b)?("div"==f&&(h=b.getFirst("figure"))&&(b.replaceWith(h), +b=h),e.align="center",h=b.getFirst("img")||b.getFirst("a").getFirst("img")):"figure"==f&&b.hasClass(d)?h=b.find(function(a){return"img"===a.name&&-1!==CKEDITOR.tools.array.indexOf(["figure","a"],a.parent.name)},!0)[0]:a(b)&&(h="a"==b.name?b.children[0]:b),h)){for(var k in g)(g=h.attributes[k])&&g.match(p)&&delete h.attributes[k];return b}}}function f(a){var b=a.config.image2_alignClasses;return function(a){var c="a"==a.name?a.getFirst():a,d=c.attributes,e=this.data.align;if(!this.inline){var g=a.getFirst("span"); +g&&g.replaceWith(g.getFirst({img:1,a:1}))}e&&"none"!=e&&(g=CKEDITOR.tools.parseCssText(d.style||""),"center"==e&&"figure"==a.name?a=a.wrapWith(new CKEDITOR.htmlParser.element("div",b?{"class":b[1]}:{style:"text-align:center"})):e in{left:1,right:1}&&(b?c.addClass(b[w[e]]):g["float"]=e),b||CKEDITOR.tools.isEmpty(g)||(d.style=CKEDITOR.tools.writeCssText(g)));return a}}function e(b){var c=b.config.image2_captionedClass,d=b.config.image2_alignClasses,e={figure:1,a:1,img:1};return function(g){if(!(g.name in +{div:1,p:1}))return!1;var f=g.children;if(1!==f.length)return!1;f=f[0];if(!(f.name in e))return!1;if("p"==g.name){if(!a(f))return!1}else if("figure"==f.name){if(!f.hasClass(c))return!1}else if(b.enterMode==CKEDITOR.ENTER_P||!a(f))return!1;return(d?g.hasClass(d[1]):"center"==CKEDITOR.tools.parseCssText(g.attributes.style||"",!0)["text-align"])?!0:!1}}function a(a){return"img"==a.name?!0:"a"==a.name?1==a.children.length&&a.getFirst("img"):!1}function k(a){var b=a.editor,c=b.editable(),d=b.document, +e=a.resizer=d.createElement("span");e.addClass("cke_image_resizer");e.setAttribute("title",b.lang.image2.resizer);e.append(new CKEDITOR.dom.text("​",d));if(a.inline)a.wrapper.append(e);else{var g=a.parts.link||a.parts.image,f=g.getParent(),h=d.createElement("span");h.addClass("cke_image_resizer_wrapper");h.append(g);h.append(e);a.element.append(h,!0);f.is("span")&&f.remove()}e.on("mousedown",function(g){function f(a,b,c){var e=CKEDITOR.document,g=[];d.equals(e)||g.push(e.on(a,b));g.push(d.on(a,b)); +if(c)for(a=g.length;a--;)c.push(g.pop())}function h(){S=y+t*T;U=Math.round(S/x)}function k(){U=p-ea;S=Math.round(U*x)}var l=a.parts.image,m=function(){var a=b.config.image2_maxSize,c;if(!a)return null;a=CKEDITOR.tools.copy(a);c=CKEDITOR.plugins.image2.getNatural(l);a.width=Math.max("natural"===a.width?c.width:a.width,15);a.height=Math.max("natural"===a.height?c.height:a.height,15);return a}(),t="right"==a.data.align?-1:1,n=g.data.$.screenX,v=g.data.$.screenY,y=l.$.clientWidth,p=l.$.clientHeight,x= +y/p,w=[],N="cke_image_s"+(~t?"e":"w"),V,S,U,da,T,ea,fa;b.fire("saveSnapshot");f("mousemove",function(a){V=a.data.$;T=V.screenX-n;ea=v-V.screenY;fa=Math.abs(T/ea);1==t?0>=T?0>=ea?h():fa>=x?h():k():0>=ea?fa>=x?k():h():k():0>=T?0>=ea?fa>=x?k():h():k():0>=ea?h():fa>=x?h():k();a=m&&(S>m.width||U>m.height);15>S||15>U||a||(da={width:S,height:U},l.setAttributes(da))},w);f("mouseup",function(){for(var d;d=w.pop();)d.removeListener();c.removeClass(N);e.removeClass("cke_image_resizing");da&&(a.setData(da),b.fire("saveSnapshot")); +da=!1},w);c.addClass(N);e.addClass("cke_image_resizing")});a.on("data",function(){e["right"==a.data.align?"addClass":"removeClass"]("cke_image_resizer_left")})}function l(a){var b=[],d;return function(e){var g=a.getCommand("justify"+e);if(g){b.push(function(){g.refresh(a,a.elementPath())});if(e in{right:1,left:1,center:1})g.on("exec",function(d){var g=c(a);if(g){g.setData("align",e);for(g=b.length;g--;)b[g]();d.cancel()}});g.on("refresh",function(b){var g=c(a),f={right:1,left:1,center:1};g&&(void 0=== +d&&(d=a.filter.checkFeature(a.widgets.registered.image.features.align)),d?this.setState(g.data.align==e?CKEDITOR.TRISTATE_ON:e in f?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED):this.setState(CKEDITOR.TRISTATE_DISABLED),b.cancel())})}}}function m(a){if(a.plugins.link){var b=CKEDITOR.on("dialogDefinition",function(b){b=b.data;if("link"==b.name){b=b.definition;var d=b.onShow,e=b.onOk;b.onShow=function(){var b=c(a),e=this.getContentElement("info","linkDisplayText").getElement().getParent().getParent(); +b&&(b.inline?!b.wrapper.getAscendant("a"):1)?(this.setupContent(b.data.link||{}),e.hide()):(e.show(),d.apply(this,arguments))};b.onOk=function(){var b=c(a);if(b&&(b.inline?!b.wrapper.getAscendant("a"):1)){var d={};this.commitContent(d);b.setData("link",d)}else e.apply(this,arguments)}}});a.on("destroy",function(){b.removeListener()});a.getCommand("unlink").on("exec",function(b){var d=c(a);d&&d.parts.link&&(d.setData("link",null),this.refresh(a,a.elementPath()),b.cancel())});a.getCommand("unlink").on("refresh", +function(b){var d=c(a);d&&(this.setState(d.data.link||d.wrapper.getAscendant("a")?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED),b.cancel())})}}function c(a){return(a=a.widgets.focused)&&"image"==a.name?a:null}function d(a){var b=a.config.image2_alignClasses;a={div:{match:e(a)},p:{match:e(a)},img:{attributes:"!src,alt,width,height"},figure:{classes:"!"+a.config.image2_captionedClass},figcaption:!0};b?(a.div.classes=b[1],a.p.classes=a.div.classes,a.img.classes=b[0]+","+b[2],a.figure.classes+=","+ +a.img.classes):(a.div.styles="text-align",a.p.styles="text-align",a.img.styles="float",a.figure.styles="float,display");return a}function g(a){a=a.config.image2_alignClasses;return{dimension:{requiredContent:"img[width,height]"},align:{requiredContent:"img"+(a?"("+a[0]+")":"{float}")},caption:{requiredContent:"figcaption"}}}function n(a){return a.data.hasCaption?a.element:a.parts.image}var x=new CKEDITOR.template('\x3cfigure class\x3d"{captionedClass}"\x3e\x3cimg alt\x3d"" src\x3d"" /\x3e\x3cfigcaption\x3e{captionPlaceholder}\x3c/figcaption\x3e\x3c/figure\x3e'), +w={left:0,center:1,right:2},p=/^\s*(\d+\%)\s*$/i;CKEDITOR.plugins.add("image2",{requires:"widget,dialog",icons:"image",hidpi:!0,onLoad:function(){CKEDITOR.addCss('.cke_image_nocaption{line-height:0}.cke_editable.cke_image_sw, .cke_editable.cke_image_sw *{cursor:sw-resize !important}.cke_editable.cke_image_se, .cke_editable.cke_image_se *{cursor:se-resize !important}.cke_image_resizer{display:none;position:absolute;width:10px;height:10px;bottom:-5px;right:-5px;background:#000;outline:1px solid #fff;line-height:0;cursor:se-resize;}.cke_image_resizer_wrapper{position:relative;display:inline-block;line-height:0;}.cke_image_resizer.cke_image_resizer_left{right:auto;left:-5px;cursor:sw-resize;}.cke_widget_wrapper:hover .cke_image_resizer,.cke_image_resizer.cke_image_resizing{display:block}.cke_editable[contenteditable\x3d"false"] .cke_image_resizer{display:none;}.cke_widget_wrapper\x3ea{display:inline-block}')}, +init:function(a){if(!a.plugins.detectConflict("image2",["easyimage"])){var c=a.config,d=a.lang.image2,e=b(a);c.filebrowserImage2BrowseUrl=c.filebrowserImageBrowseUrl;c.filebrowserImage2UploadUrl=c.filebrowserImageUploadUrl;e.pathName=d.pathName;e.editables.caption.pathName=d.pathNameCaption;a.widgets.add("image",e);a.ui.addButton&&a.ui.addButton("Image",{label:a.lang.common.image,command:"image",toolbar:"insert,10"});a.contextMenu&&(a.addMenuGroup("image",10),a.addMenuItem("image",{label:d.menu,command:"image", +group:"image"}));CKEDITOR.dialog.add("image2",this.path+"dialogs/image2.js")}},afterInit:function(a){var b={left:1,right:1,center:1,block:1},c=l(a),d;for(d in b)c(d);m(a)}});CKEDITOR.plugins.image2={stateShifter:function(a){function b(a,g){var f={};e?f.attributes={"class":e[1]}:f.styles={"text-align":"center"};f=d.createElement(a.activeEnterMode==CKEDITOR.ENTER_P?"p":"div",f);c(f,g);g.move(f);return f}function c(b,d){if(d.getParent()){var e=a.createRange();e.moveToPosition(d,CKEDITOR.POSITION_BEFORE_START); +d.remove();f.insertElementIntoRange(b,e)}else b.replace(d)}var d=a.document,e=a.config.image2_alignClasses,g=a.config.image2_captionedClass,f=a.editable(),h=["hasCaption","align","link"],k={align:function(c,d,g){var f=c.element;c.changed.align?c.newData.hasCaption||("center"==g&&(c.deflate(),c.element=b(a,f)),c.changed.hasCaption||"center"!=d||"center"==g||(c.deflate(),d=f.findOne("a,img"),d.replace(f),c.element=d)):"center"==g&&c.changed.hasCaption&&!c.newData.hasCaption&&(c.deflate(),c.element= +b(a,f));!e&&f.is("figure")&&("center"==g?f.setStyle("display","inline-block"):f.removeStyle("display"))},hasCaption:function(b,e,f){b.changed.hasCaption&&(e=b.element.is({img:1,a:1})?b.element:b.element.findOne("a,img"),b.deflate(),f?(f=CKEDITOR.dom.element.createFromHtml(x.output({captionedClass:g,captionPlaceholder:a.lang.image2.captionPlaceholder}),d),c(f,b.element),e.replace(f.findOne("img")),b.element=f):(e.replace(b.element),b.element=e))},link:function(b,c,e){if(b.changed.link){var g=b.element.is("img")? +b.element:b.element.findOne("img"),f=b.element.is("a")?b.element:b.element.findOne("a"),h=b.element.is("a")&&!e||b.element.is("img")&&e,k;h&&b.deflate();e?(c||(k=d.createElement("a",{attributes:{href:b.newData.link.url}}),k.replace(g),g.move(k)),e=CKEDITOR.plugins.image2.getLinkAttributesGetter()(a,e),CKEDITOR.tools.isEmpty(e.set)||(k||f).setAttributes(e.set),e.removed.length&&(k||f).removeAttributes(e.removed)):(e=f.findOne("img"),e.replace(f),k=e);h&&(b.element=k)}}};return function(a){var b,c; a.changed={};for(c=0;cr.length)return!1;h=c.getParents(!0);for(m=0;mv;m++)u[m].indent+=h;h=CKEDITOR.plugins.list.arrayToList(u,d,null,a.config.enterMode,c.getDirection());if(!f.isIndent){var A;if((A=c.getParent())&&A.is("li"))for(var r=h.listNode.getChildren(),B=[],x,m=r.count()-1;0<=m;m--)(x=r.getItem(m))&& -x.is&&x.is("li")&&B.push(x)}h&&h.listNode.replace(c);if(B&&B.length)for(m=0;me.length)){d=e[e.length-1].getNext();g=f.createElement(this.type);for(c.push(g);e.length;)c=e.shift(),a=f.createElement("li"),l=c,l.is("pre")||q.test(l.getName())||"false"==l.getAttribute("contenteditable")?c.appendTo(a):(c.copyAttributes(a),h&&c.getDirection()&&(a.removeStyle("direction"),a.removeAttribute("dir")),c.moveChildren(a), -c.remove()),a.appendTo(g);h&&k&&g.setAttribute("dir",h);d?g.insertBefore(d):g.appendTo(b)}}function g(a,b,c){function d(c){if(!(!(l=k[c?"getFirst":"getLast"]())||l.is&&l.isBlockBoundary()||!(m=b.root[c?"getPrevious":"getNext"](CKEDITOR.dom.walker.invisible(!0)))||m.is&&m.isBlockBoundary({br:1})))a.document.createElement("br")[c?"insertBefore":"insertAfter"](l)}for(var f=CKEDITOR.plugins.list.listToArray(b.root,c),e=[],g=0;gf[g-1].indent+1){e=f[g-1].indent+1-f[g].indent;for(h=f[g].indent;f[g]&&f[g].indent>=h;)f[g].indent+=e,g++;g--}var k=CKEDITOR.plugins.list.arrayToList(f,c,null,a.config.enterMode,b.root.getAttribute("dir")).listNode,l,m;d(!0);d();k.replace(b.root);a.fire("contentDomInvalidated")}function e(a,b){this.name= -a;this.context=this.type=b;this.allowedContent=b+" li";this.requiredContent=b}function a(a,b,c,d){for(var f,e;f=a[d?"getLast":"getFirst"](r);)(e=f.getDirection(1))!==b.getDirection(1)&&f.setAttribute("dir",e),f.remove(),c?f[d?"insertBefore":"insertAfter"](c):b.append(f,d),c=f}function m(b){function c(d){var f=b[d?"getPrevious":"getNext"](y);f&&f.type==CKEDITOR.NODE_ELEMENT&&f.is(b.getName())&&(a(b,f,null,!d),b.remove(),b=f)}c();c(1)}function k(a){return a.type==CKEDITOR.NODE_ELEMENT&&(a.getName()in -CKEDITOR.dtd.$block||a.getName()in CKEDITOR.dtd.$listItem)&&CKEDITOR.dtd[a.getName()]["#"]}function l(b,d,f){b.fire("saveSnapshot");f.enlarge(CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS);var e=f.extractContents();d.trim(!1,!0);var g=d.createBookmark(),h=new CKEDITOR.dom.elementPath(d.startContainer),k=h.block,h=h.lastElement.getAscendant("li",1)||k,l=new CKEDITOR.dom.elementPath(f.startContainer),n=l.contains(CKEDITOR.dtd.$listItem),l=l.contains(CKEDITOR.dtd.$list);k?(k=k.getBogus())&&k.remove():l&&(k=l.getPrevious(y))&& -x(k)&&k.remove();(k=e.getLast())&&k.type==CKEDITOR.NODE_ELEMENT&&k.is("br")&&k.remove();(k=d.startContainer.getChild(d.startOffset))?e.insertBefore(k):d.startContainer.append(e);n&&(e=c(n))&&(h.contains(n)?(a(e,n.getParent(),n),e.remove()):h.append(e));for(;f.checkStartOfBlock()&&f.checkEndOfBlock();){l=f.startPath();e=l.block;if(!e)break;e.is("li")&&(h=e.getParent(),e.equals(h.getLast(y))&&e.equals(h.getFirst(y))&&(e=h));f.moveToPosition(e,CKEDITOR.POSITION_BEFORE_START);e.remove()}f=f.clone();e= -b.editable();f.setEndAt(e,CKEDITOR.POSITION_BEFORE_END);f=new CKEDITOR.dom.walker(f);f.evaluator=function(a){return y(a)&&!x(a)};(f=f.next())&&f.type==CKEDITOR.NODE_ELEMENT&&f.getName()in CKEDITOR.dtd.$list&&m(f);d.moveToBookmark(g);d.select();b.fire("saveSnapshot")}function c(a){return(a=a.getLast(y))&&a.type==CKEDITOR.NODE_ELEMENT&&a.getName()in f?a:null}var f={ol:1,ul:1},d=CKEDITOR.dom.walker.whitespaces(),n=CKEDITOR.dom.walker.bookmark(),y=function(a){return!(d(a)||n(a))},x=CKEDITOR.dom.walker.bogus(); -CKEDITOR.plugins.list={listToArray:function(a,b,c,d,e){if(!f[a.getName()])return[];d||(d=0);c||(c=[]);for(var g=0,h=a.getChildCount();g= -h.$.documentMode&&q.append(h.createText(" ")),q.append(m.listNode),m=m.nextIndex;else if(-1==H.indent&&!c&&g){f[g.getName()]?(q=H.element.clone(!1,!0),x!=g.getDirection(1)&&q.setAttribute("dir",x)):q=new CKEDITOR.dom.documentFragment(h);var l=g.getDirection(1)!=x,J=H.element,D=J.getAttribute("class"),K=J.getAttribute("style"),O=q.type==CKEDITOR.NODE_DOCUMENT_FRAGMENT&&(d!=CKEDITOR.ENTER_BR||l||K||D),N,Y=H.contents.length,Q;for(g=0;gb&&aI.version?" ":Q,g=b.hotNode&&b.hotNode.getText()==e&&b.element.equals(b.hotNode)&&b.lastCmdDirection===!!d;c(b,function(c){g&& -b.hotNode&&b.hotNode.remove();c[d?"insertAfter":"insertBefore"](a);c.setAttributes({"data-cke-magicline-hot":1,"data-cke-magicline-dir":!!d});b.lastCmdDirection=!!d});I.ie||b.enterMode==CKEDITOR.ENTER_BR||b.hotNode.scrollIntoView();b.line.detach()}return function(c){c=c.getSelection().getStartElement();var e;c=c.getAscendant(T,1);if(!r(b,c)&&c&&!c.equals(b.editable)&&!c.contains(b.editable)){(e=k(c))&&"false"==e.getAttribute("contenteditable")&&(c=e);b.element=c;e=a(b,c,!d);var h;n(e)&&e.is(b.triggers)&& -e.is(X)&&(!a(b,e,!d)||(h=a(b,e,!d))&&n(h)&&h.is(b.triggers))?f(e):(h=g(b,c),n(h)&&(a(b,h,!d)?(c=a(b,h,!d))&&n(c)&&c.is(b.triggers)&&f(h):f(h)))}}}()}}function d(a,b){if(!b||b.type!=CKEDITOR.NODE_ELEMENT||!b.$)return!1;var c=a.line;return c.wrap.equals(b)||c.wrap.contains(b)}function n(a){return a&&a.type==CKEDITOR.NODE_ELEMENT&&a.$}function y(a){if(!n(a))return!1;var b;(b=x(a))||(n(a)?(b={left:1,right:1,center:1},b=!(!b[a.getComputedStyle("float")]&&!b[a.getAttribute("align")])):b=!1);return b}function x(a){return!!{absolute:1, -fixed:1}[a.getComputedStyle("position")]}function q(a,b){return n(b)?b.is(a.triggers):null}function r(a,b){if(!b)return!1;for(var c=b.getParents(1),d=c.length;d--;)for(var f=a.tabuList.length;f--;)if(c[d].hasAttribute(a.tabuList[f]))return!0;return!1}function p(a,b,c){b=b[c?"getLast":"getFirst"](function(b){return a.isRelevant(b)&&!b.is(ea)});if(!b)return!1;u(a,b);return c?b.size.top>a.mouse.y:b.size.bottom -(a.inInlineMode?f.editable.top+f.editable.height/2:Math.min(f.editable.height,f.pane.height)/2),b=b[g?"getLast":"getFirst"](function(a){return!(R(a)||V(a))});if(!b)return null;d(a,b)&&(b=a.line.wrap[g?"getPrevious":"getNext"](function(a){return!(R(a)||V(a))}));if(!n(b)||y(b)||!q(a,b))return null;u(a,b);return!g&&0<=b.size.top&&m(c.y,0,b.size.top+e)?(a=a.inInlineMode||0===f.scroll.y?O:Y,new h([null,b,H,K,a])):g&&b.size.bottom<=f.pane.height&&m(c.y,b.size.bottom-e,f.pane.height)?(a=a.inInlineMode|| -m(b.size.bottom,f.pane.height-e,f.pane.height)?N:Y,new h([b,null,J,K,a])):null}function t(b){var c=b.mouse,d=b.view,f=b.triggerOffset,e=g(b);if(!e)return null;u(b,e);var f=Math.min(f,0|e.size.outerHeight/2),k=[],l,r;if(m(c.y,e.size.top-1,e.size.top+f))r=!1;else if(m(c.y,e.size.bottom-f,e.size.bottom+1))r=!0;else return null;if(y(e)||p(b,e,r)||e.getParent().is(W))return null;var t=a(b,e,!r);if(t){if(t&&t.type==CKEDITOR.NODE_TEXT)return null;if(n(t)){if(y(t)||!q(b,t)||t.getParent().is(W))return null; -k=[t,e][r?"reverse":"concat"]().concat([D,K])}}else e.equals(b.editable[r?"getLast":"getFirst"](b.isRelevant))?(v(b),r&&m(c.y,e.size.bottom-f,d.pane.height)&&m(e.size.bottom,d.pane.height-f,d.pane.height)?l=N:m(c.y,0,e.size.top+f)&&(l=O)):l=Y,k=[null,e][r?"reverse":"concat"]().concat([r?J:H,K,l,e.equals(b.editable[r?"getLast":"getFirst"](b.isRelevant))?r?N:O:Y]);return 0 in k?new h(k):null}function z(a,b,c,d){for(var f=b.getDocumentPosition(),e={},g={},h={},k={},l=S.length;l--;)e[S[l]]=parseInt(b.getComputedStyle.call(b, -"border-"+S[l]+"-width"),10)||0,h[S[l]]=parseInt(b.getComputedStyle.call(b,"padding-"+S[l]),10)||0,g[S[l]]=parseInt(b.getComputedStyle.call(b,"margin-"+S[l]),10)||0;c&&!d||C(a,d);k.top=f.y-(c?0:a.view.scroll.y);k.left=f.x-(c?0:a.view.scroll.x);k.outerWidth=b.$.offsetWidth;k.outerHeight=b.$.offsetHeight;k.height=k.outerHeight-(h.top+h.bottom+e.top+e.bottom);k.width=k.outerWidth-(h.left+h.right+e.left+e.right);k.bottom=k.top+k.outerHeight;k.right=k.left+k.outerWidth;a.inInlineMode&&(k.scroll={top:b.$.scrollTop, -left:b.$.scrollLeft});return A({border:e,padding:h,margin:g,ignoreScroll:c},k,!0)}function u(a,b,c){if(!n(b))return b.size=null;if(!b.size)b.size={};else if(b.size.ignoreScroll==c&&b.size.date>new Date-Z)return null;return A(b.size,z(a,b,c),{date:+new Date},!0)}function v(a,b){a.view.editable=z(a,a.editable,b,!0)}function C(a,b){a.view||(a.view={});var c=a.view;if(!(!b&&c&&c.date>new Date-Z)){var d=a.win,c=d.getScrollPosition(),d=d.getViewPaneSize();A(a.view,{scroll:{x:c.x,y:c.y,width:a.doc.$.documentElement.scrollWidth- -d.width,height:a.doc.$.documentElement.scrollHeight-d.height},pane:{width:d.width,height:d.height,bottom:d.height+c.y},date:+new Date},!0)}}function E(a,b,c,d){for(var f=d,e=d,g=0,k=!1,l=!1,m=a.view.pane.height,n=a.mouse;n.y+gd.left-f.x&&cd.top-f.y&&aCKEDITOR.env.version, -F=CKEDITOR.dtd,M={},H=128,J=64,D=32,K=16,O=4,N=2,Y=1,Q=" ",W=F.$listItem,ea=F.$tableContent,X=A({},F.$nonEditable,F.$empty),T=F.$block,Z=100,ca="width:0px;height:0px;padding:0px;margin:0px;display:block;z-index:9999;color:#fff;position:absolute;font-size: 0px;line-height:0px;",aa=ca+"border-color:transparent;display:block;border-style:solid;",da="\x3cspan\x3e"+Q+"\x3c/span\x3e";M[CKEDITOR.ENTER_BR]="br";M[CKEDITOR.ENTER_P]="p";M[CKEDITOR.ENTER_DIV]="div";h.prototype={set:function(a,b,c){this.properties= -a+b+(c||Y);return this},is:function(a){return(this.properties&a)==a}};var ba=function(){function a(b,c){var d=b.$.elementFromPoint(c.x,c.y);return d&&d.nodeType?new CKEDITOR.dom.element(d):null}return function(b,c,f){if(!b.mouse)return null;var e=b.doc,g=b.line.wrap;f=f||b.mouse;var h=a(e,f);c&&d(b,h)&&(g.hide(),h=a(e,f),g.show());return!h||h.type!=CKEDITOR.NODE_ELEMENT||!h.$||I.ie&&9>I.version&&!b.boundary.equals(h)&&!b.boundary.contains(h)?null:h}}(),R=CKEDITOR.dom.walker.whitespaces(),V=CKEDITOR.dom.walker.nodeType(CKEDITOR.NODE_COMMENT), -U=function(){function a(d){var f=d.element,g,h,k;if(!n(f)||f.contains(d.editable)||f.isReadOnly())return null;k=E(d,function(a,b){return!b.equals(a)},function(a,b){return ba(a,!0,b)},f);g=k.upper;h=k.lower;if(b(d,g,h))return k.set(D,8);if(g&&f.contains(g))for(;!g.getParent().equals(f);)g=g.getParent();else g=f.getFirst(function(a){return c(d,a)});if(h&&f.contains(h))for(;!h.getParent().equals(f);)h=h.getParent();else h=f.getLast(function(a){return c(d,a)});if(!g||!h)return null;u(d,g);u(d,h);if(!m(d.mouse.y, -g.size.top,h.size.bottom))return null;for(var f=Number.MAX_VALUE,l,r,p,v;h&&!h.equals(g)&&(r=g.getNext(d.isRelevant));)l=Math.abs(e(d,g,r)-d.mouse.y),l=CKEDITOR.env.version;return!(CKEDITOR.env.webkit&&!CKEDITOR.env.chrome)&&!b},init:function(b){if(this.isSupportedEnvironment()){var h=CKEDITOR.plugins.getPath("pastetools"), -g=this.path;b.pasteTools.register({priority:100,filters:[CKEDITOR.getUrl(h+"filter/common.js"),CKEDITOR.getUrl(h+"filter/image.js"),CKEDITOR.getUrl(g+"filter/default.js")],canHandle:function(b){b=b.data;return(b=b.dataTransfer.getData("text/html",!0)||b.dataValue)?"libreoffice"===CKEDITOR.plugins.pastetools.getContentGeneratorName(b):!1},handle:function(e,a){var g=e.data,h=g.dataValue||CKEDITOR.plugins.pastetools.getClipboardData(g,"text/html");g.dontFilter=!0;h=CKEDITOR.pasteFilters.image(h,b,CKEDITOR.plugins.pastetools.getClipboardData(g, -"text/rtf"));g.dataValue=CKEDITOR.pasteFilters.libreoffice(h,b);!0===b.config.forcePasteAsPlainText&&(g.type="text");a()}})}}})})();(function(){CKEDITOR.plugins.add("pastefromword",{requires:"pastetools",init:function(b){function h(a){var b=CKEDITOR.plugins.pastefromword&&CKEDITOR.plugins.pastefromword.images,c,f=[];if(b&&a.editor.filter.check("img[src]")&&(c=b.extractTagsFromHtml(a.data.dataValue),0!==c.length&&(b=b.extractFromRtf(a.data.dataTransfer["text/rtf"]),0!==b.length&&(CKEDITOR.tools.array.forEach(b, -function(a){f.push(a.type?"data:"+a.type+";base64,"+CKEDITOR.tools.convertBytesToBase64(CKEDITOR.tools.convertHexStringToBytes(a.hex)):null)},this),c.length===f.length))))for(b=0;b|<\/font>)/,b=b?"microsoft"===b:c.test(a);return a&&(g||b)},handle:function(a,e){var c=a.data,f=CKEDITOR.plugins.pastetools.getClipboardData(c,"text/html"),d=CKEDITOR.plugins.pastetools.getClipboardData(c,"text/rtf"),f={dataValue:f,dataTransfer:{"text/rtf":d}};if(!1!==b.fire("pasteFromWord",f)||g){c.dontFilter=!0;if(g||!b.config.pasteFromWordPromptCleanup||confirm(b.lang.pastefromword.confirmCleanup))f.dataValue= -CKEDITOR.cleanWord(f.dataValue,b),b.fire("afterPasteFromWord",f),c.dataValue=f.dataValue,!0===b.config.forcePasteAsPlainText?c.type="text":CKEDITOR.plugins.clipboard.isCustomCopyCutSupported||"allow-word"!==b.config.forcePasteAsPlainText||(c.type="html");g=0;e()}}});if(CKEDITOR.plugins.clipboard.isCustomDataTypesSupported&&m)b.on("afterPasteFromWord",h)}})})();(function(){var b={canUndo:!1,async:!0,exec:function(b,g){var e=b.lang,a=CKEDITOR.tools.keystrokeToString(e.common.keyboard,b.getCommandKeystroke(CKEDITOR.env.ie? -b.commands.paste:this)),m=g&&"undefined"!==typeof g.notification?g.notification:!g||!g.from||"keystrokeHandler"===g.from&&CKEDITOR.env.ie,e=m&&"string"===typeof m?m:e.pastetext.pasteNotification.replace(/%1/,'\x3ckbd aria-label\x3d"'+a.aria+'"\x3e'+a.display+"\x3c/kbd\x3e");b.execCommand("paste",{type:"text",notification:m?e:!1})}};CKEDITOR.plugins.add("pastetext",{requires:"clipboard",init:function(h){var g=CKEDITOR.env.safari?CKEDITOR.CTRL+CKEDITOR.ALT+CKEDITOR.SHIFT+86:CKEDITOR.CTRL+CKEDITOR.SHIFT+ -86;h.addCommand("pastetext",b);h.setKeystroke(g,"pastetext");CKEDITOR.plugins.clipboard.addPasteButton(h,"PasteText",{label:h.lang.pastetext.button,command:"pastetext",toolbar:"clipboard,40"});if(h.config.forcePasteAsPlainText)h.on("beforePaste",function(b){"html"!=b.data.type&&(b.data.type="text")});h.on("pasteState",function(b){h.getCommand("pastetext").setState(b.data)})}})})();CKEDITOR.plugins.add("removeformat",{init:function(b){b.addCommand("removeFormat",CKEDITOR.plugins.removeformat.commands.removeformat); -b.ui.addButton&&b.ui.addButton("RemoveFormat",{label:b.lang.removeformat.toolbar,command:"removeFormat",toolbar:"cleanup,10"})}});CKEDITOR.plugins.removeformat={commands:{removeformat:{exec:function(b){for(var h=b._.removeFormatRegex||(b._.removeFormatRegex=new RegExp("^(?:"+b.config.removeFormatTags.replace(/,/g,"|")+")$","i")),g=b._.removeAttributes||(b._.removeAttributes=b.config.removeFormatAttributes.split(",")),e=CKEDITOR.plugins.removeformat.filter,a=b.getSelection().getRanges(),m=a.createIterator(), -k=function(a){return a.type==CKEDITOR.NODE_ELEMENT},l;l=m.getNextRange();){l.enlarge(CKEDITOR.ENLARGE_INLINE);var c=l.createBookmark(),f=c.startNode,d=c.endNode,n=function(a){for(var c=b.elementPath(a),d=c.elements,f=1,g;(g=d[f])&&!g.equals(c.block)&&!g.equals(c.blockLimit);f++)h.test(g.getName())&&e(b,g)&&a.breakParent(g)};n(f);if(d)for(n(d),f=f.getNextSourceNode(!0,CKEDITOR.NODE_ELEMENT);f&&!f.equals(d);)if(f.isReadOnly()){if(f.getPosition(d)&CKEDITOR.POSITION_CONTAINS)break;f=f.getNext(k)}else n= -f.getNextSourceNode(!1,CKEDITOR.NODE_ELEMENT),"img"==f.getName()&&f.data("cke-realelement")||!e(b,f)||(h.test(f.getName())?f.remove(1):(f.removeAttributes(g),b.fire("removeFormatCleanup",f))),f=n;l.moveToBookmark(c)}b.forceNextSelectionCheck();b.getSelection().selectRanges(a)}}},filter:function(b,h){for(var g=b._.removeFormatFilters||[],e=0;eCKEDITOR.env.version),c=l?":not([contenteditable\x3dfalse]):not(.cke_show_blocks_off)":"",f,d;for(g=e=a=m="";f=b.pop();)d=b.length?",":"",g+=".cke_show_blocks "+f+c+d,a+=".cke_show_blocks.cke_contents_ltr "+f+c+d,m+=".cke_show_blocks.cke_contents_rtl "+f+c+d,e+=".cke_show_blocks "+f+c+"{background-image:url("+CKEDITOR.getUrl(k+"images/block_"+f+".png")+")}";CKEDITOR.addCss((g+"{background-repeat:no-repeat;border:1px dotted gray;padding-top:8px}").concat(e, -a+"{background-position:top left;padding-left:8px}",m+"{background-position:top right;padding-right:8px}"));l||CKEDITOR.addCss(".cke_show_blocks [contenteditable\x3dfalse],.cke_show_blocks .cke_show_blocks_off{border:none;padding-top:0;background-image:none}.cke_show_blocks.cke_contents_rtl [contenteditable\x3dfalse],.cke_show_blocks.cke_contents_rtl .cke_show_blocks_off{padding-right:0}.cke_show_blocks.cke_contents_ltr [contenteditable\x3dfalse],.cke_show_blocks.cke_contents_ltr .cke_show_blocks_off{padding-left:0}")}, -init:function(h){function g(){e.refresh(h)}if(!h.blockless){var e=h.addCommand("showblocks",b);e.canUndo=!1;h.config.startupOutlineBlocks&&e.setState(CKEDITOR.TRISTATE_ON);h.ui.addButton&&h.ui.addButton("ShowBlocks",{label:h.lang.showblocks.toolbar,command:"showblocks",toolbar:"tools,20"});h.on("mode",function(){e.state!=CKEDITOR.TRISTATE_DISABLED&&e.refresh(h)});h.elementMode==CKEDITOR.ELEMENT_MODE_INLINE&&(h.on("focus",g),h.on("blur",g));h.on("contentDom",function(){e.state!=CKEDITOR.TRISTATE_DISABLED&& -e.refresh(h)})}}})})();(function(){var b={preserveState:!0,editorFocus:!1,readOnly:1,exec:function(b){this.toggleState();this.refresh(b)},refresh:function(b){if(b.document){var g=this.state==CKEDITOR.TRISTATE_ON?"attachClass":"removeClass";b.editable()[g]("cke_show_borders")}}};CKEDITOR.plugins.add("showborders",{modes:{wysiwyg:1},onLoad:function(){var b;b=(CKEDITOR.env.ie6Compat?[".%1 table.%2,",".%1 table.%2 td, .%1 table.%2 th","{","border : #d3d3d3 1px dotted","}"]:".%1 table.%2,;.%1 table.%2 \x3e tr \x3e td, .%1 table.%2 \x3e tr \x3e th,;.%1 table.%2 \x3e tbody \x3e tr \x3e td, .%1 table.%2 \x3e tbody \x3e tr \x3e th,;.%1 table.%2 \x3e thead \x3e tr \x3e td, .%1 table.%2 \x3e thead \x3e tr \x3e th,;.%1 table.%2 \x3e tfoot \x3e tr \x3e td, .%1 table.%2 \x3e tfoot \x3e tr \x3e th;{;border : #d3d3d3 1px dotted;}".split(";")).join("").replace(/%2/g, -"cke_show_border").replace(/%1/g,"cke_show_borders ");CKEDITOR.addCss(b)},init:function(h){var g=h.addCommand("showborders",b);g.canUndo=!1;!1!==h.config.startupShowBorders&&g.setState(CKEDITOR.TRISTATE_ON);h.on("mode",function(){g.state!=CKEDITOR.TRISTATE_DISABLED&&g.refresh(h)},null,null,100);h.on("contentDom",function(){g.state!=CKEDITOR.TRISTATE_DISABLED&&g.refresh(h)});h.on("removeFormatCleanup",function(b){b=b.data;h.getCommand("showborders").state==CKEDITOR.TRISTATE_ON&&b.is("table")&&(!b.hasAttribute("border")|| -0>=parseInt(b.getAttribute("border"),10))&&b.addClass("cke_show_border")})},afterInit:function(b){var g=b.dataProcessor;b=g&&g.dataFilter;g=g&&g.htmlFilter;b&&b.addRules({elements:{table:function(b){b=b.attributes;var a=b["class"],g=parseInt(b.border,10);g&&!(0>=g)||a&&-1!=a.indexOf("cke_show_border")||(b["class"]=(a||"")+" cke_show_border")}}});g&&g.addRules({elements:{table:function(b){b=b.attributes;var a=b["class"];a&&(b["class"]=a.replace("cke_show_border","").replace(/\s{2}/," ").replace(/^\s+|\s+$/, -""))}}})}});CKEDITOR.on("dialogDefinition",function(b){var g=b.data.name;if("table"==g||"tableProperties"==g)if(b=b.data.definition,g=b.getContents("info").get("txtBorder"),g.commit=CKEDITOR.tools.override(g.commit,function(b){return function(a,g){b.apply(this,arguments);var h=parseInt(this.getValue(),10);g[!h||0>=h?"addClass":"removeClass"]("cke_show_border")}}),b=(b=b.getContents("advanced"))&&b.get("advCSSClasses"))b.setup=CKEDITOR.tools.override(b.setup,function(b){return function(){b.apply(this, -arguments);this.setValue(this.getValue().replace(/cke_show_border/,""))}}),b.commit=CKEDITOR.tools.override(b.commit,function(b){return function(a,g){b.apply(this,arguments);parseInt(g.getAttribute("border"),10)||g.addClass("cke_show_border")}})})})();(function(){CKEDITOR.plugins.add("sourcearea",{init:function(h){function g(){var b=a&&this.equals(CKEDITOR.document.getActive());this.hide();this.setStyle("height",this.getParent().$.clientHeight+"px");this.setStyle("width",this.getParent().$.clientWidth+ +a.getAttribute("src");a={width:b.width,height:b.height}}return a},getLinkAttributesGetter:function(){return CKEDITOR.plugins.link.getLinkAttributes},getLinkAttributesParser:function(){return CKEDITOR.plugins.link.parseLinkAttributes}}}(),CKEDITOR.config.image2_captionedClass="image",function(){function b(b,a){var k,l;a.on("refresh",function(a){var b=[h],d;for(d in a.data.states)b.push(a.data.states[d]);this.setState(CKEDITOR.tools.search(b,f)?f:h)},a,null,100);a.on("exec",function(a){k=b.getSelection(); +l=k.createBookmarks(1);a.data||(a.data={});a.data.done=!1},a,null,0);a.on("exec",function(){b.forceNextSelectionCheck();k.selectBookmarks(l)},a,null,100)}var h=CKEDITOR.TRISTATE_DISABLED,f=CKEDITOR.TRISTATE_OFF;CKEDITOR.plugins.add("indent",{init:function(e){var a=CKEDITOR.plugins.indent.genericDefinition;b(e,e.addCommand("indent",new a(!0)));b(e,e.addCommand("outdent",new a));e.ui.addButton&&(e.ui.addButton("Indent",{label:e.lang.indent.indent,command:"indent",directional:!0,toolbar:"indent,20"}), +e.ui.addButton("Outdent",{label:e.lang.indent.outdent,command:"outdent",directional:!0,toolbar:"indent,10"}));e.on("dirChanged",function(a){var b=e.createRange(),f=a.data.node;b.setStartBefore(f);b.setEndAfter(f);for(var c=new CKEDITOR.dom.walker(b),d;d=c.next();)if(d.type==CKEDITOR.NODE_ELEMENT)if(!d.equals(f)&&d.getDirection())b.setStartAfter(d),c=new CKEDITOR.dom.walker(b);else{var g=e.config.indentClasses;if(g)for(var h="ltr"==a.data.dir?["_rtl",""]:["","_rtl"],x=0;xq.length)return!1;h=c.getParents(!0);for(r=0;rt;r++)v[r].indent+=h;h=CKEDITOR.plugins.list.arrayToList(v,e,null,a.config.enterMode,c.getDirection());if(!d.isIndent){var w;if((w=c.getParent())&&w.is("li"))for(var q=h.listNode.getChildren(),B=[],E,r=q.count()-1;0<=r;r--)(E=q.getItem(r))&& +E.is&&E.is("li")&&B.push(E)}h&&h.listNode.replace(c);if(B&&B.length)for(r=0;rg.length)){d=g[g.length- +1].getNext();f=e.createElement(this.type);for(c.push(f);g.length;)c=g.shift(),a=e.createElement("li"),l=c,l.is("pre")||p.test(l.getName())||"false"==l.getAttribute("contenteditable")?c.appendTo(a):(c.copyAttributes(a),h&&c.getDirection()&&(a.removeStyle("direction"),a.removeAttribute("dir")),c.moveChildren(a),c.remove()),a.appendTo(f);h&&k&&f.setAttribute("dir",h);d?f.insertBefore(d):f.appendTo(b)}}function f(a,b,c){function d(c){if(!(!(l=k[c?"getFirst":"getLast"]())||l.is&&l.isBlockBoundary()||!(m= +b.root[c?"getPrevious":"getNext"](CKEDITOR.dom.walker.invisible(!0)))||m.is&&m.isBlockBoundary({br:1})))a.document.createElement("br")[c?"insertBefore":"insertAfter"](l)}for(var e=CKEDITOR.plugins.list.listToArray(b.root,c),g=[],f=0;fe[f-1].indent+1){g=e[f-1].indent+1-e[f].indent;for(h=e[f].indent;e[f]&&e[f].indent>=h;)e[f].indent+=g,f++;f--}var k=CKEDITOR.plugins.list.arrayToList(e,c,null,a.config.enterMode,b.root.getAttribute("dir")).listNode,l,m;d(!0);d();k.replace(b.root);a.fire("contentDomInvalidated")}function e(a,b){this.name=a;this.context=this.type=b;this.allowedContent=b+" li";this.requiredContent=b}function a(a,b,c,d){for(var e,g;e=a[d?"getLast":"getFirst"](q);)(g=e.getDirection(1))!== +b.getDirection(1)&&e.setAttribute("dir",g),e.remove(),c?e[d?"insertBefore":"insertAfter"](c):b.append(e,d),c=e}function k(b){function c(d){var e=b[d?"getPrevious":"getNext"](x);e&&e.type==CKEDITOR.NODE_ELEMENT&&e.is(b.getName())&&(a(b,e,null,!d),b.remove(),b=e)}c();c(1)}function l(a){return a.type==CKEDITOR.NODE_ELEMENT&&(a.getName()in CKEDITOR.dtd.$block||a.getName()in CKEDITOR.dtd.$listItem)&&CKEDITOR.dtd[a.getName()]["#"]}function m(b,d,e){b.fire("saveSnapshot");e.enlarge(CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS); +var g=e.extractContents();d.trim(!1,!0);var f=d.createBookmark(),h=new CKEDITOR.dom.elementPath(d.startContainer),l=h.block,h=h.lastElement.getAscendant("li",1)||l,m=new CKEDITOR.dom.elementPath(e.startContainer),n=m.contains(CKEDITOR.dtd.$listItem),m=m.contains(CKEDITOR.dtd.$list);l?(l=l.getBogus())&&l.remove():m&&(l=m.getPrevious(x))&&w(l)&&l.remove();(l=g.getLast())&&l.type==CKEDITOR.NODE_ELEMENT&&l.is("br")&&l.remove();(l=d.startContainer.getChild(d.startOffset))?g.insertBefore(l):d.startContainer.append(g); +n&&(g=c(n))&&(h.contains(n)?(a(g,n.getParent(),n),g.remove()):h.append(g));for(;e.checkStartOfBlock()&&e.checkEndOfBlock();){m=e.startPath();g=m.block;if(!g)break;g.is("li")&&(h=g.getParent(),g.equals(h.getLast(x))&&g.equals(h.getFirst(x))&&(g=h));e.moveToPosition(g,CKEDITOR.POSITION_BEFORE_START);g.remove()}e=e.clone();g=b.editable();e.setEndAt(g,CKEDITOR.POSITION_BEFORE_END);e=new CKEDITOR.dom.walker(e);e.evaluator=function(a){return x(a)&&!w(a)};(e=e.next())&&e.type==CKEDITOR.NODE_ELEMENT&&e.getName()in +CKEDITOR.dtd.$list&&k(e);d.moveToBookmark(f);d.select();b.fire("saveSnapshot")}function c(a){return(a=a.getLast(x))&&a.type==CKEDITOR.NODE_ELEMENT&&a.getName()in d?a:null}var d={ol:1,ul:1},g=CKEDITOR.dom.walker.whitespaces(),n=CKEDITOR.dom.walker.bookmark(),x=function(a){return!(g(a)||n(a))},w=CKEDITOR.dom.walker.bogus();CKEDITOR.plugins.list={listToArray:function(a,b,c,e,g){if(!d[a.getName()])return[];e||(e=0);c||(c=[]);for(var f=0,h=a.getChildCount();f=h.$.documentMode&&p.append(h.createText(" ")),p.append(m.listNode),m=m.nextIndex;else if(-1==I.indent&&!c&&f){d[f.getName()]?(p=I.element.clone(!1,!0),w!=f.getDirection(1)&&p.setAttribute("dir",w)):p=new CKEDITOR.dom.documentFragment(h); +var l=f.getDirection(1)!=w,F=I.element,P=F.getAttribute("class"),J=F.getAttribute("style"),M=p.type==CKEDITOR.NODE_DOCUMENT_FRAGMENT&&(e!=CKEDITOR.ENTER_BR||l||J||P),N,V=I.contents.length,S;for(f=0;fb&&aH.version?" ":S,f=b.hotNode&&b.hotNode.getText()==g&&b.element.equals(b.hotNode)&&b.lastCmdDirection===!!d;c(b,function(c){f&&b.hotNode&&b.hotNode.remove();c[d?"insertAfter":"insertBefore"](a);c.setAttributes({"data-cke-magicline-hot":1,"data-cke-magicline-dir":!!d});b.lastCmdDirection=!!d});H.ie||b.enterMode== +CKEDITOR.ENTER_BR||b.hotNode.scrollIntoView();b.line.detach()}return function(c){c=c.getSelection().getStartElement();var g;c=c.getAscendant(ea,1);if(!q(b,c)&&c&&!c.equals(b.editable)&&!c.contains(b.editable)){(g=l(c))&&"false"==g.getAttribute("contenteditable")&&(c=g);b.element=c;g=a(b,c,!d);var h;n(g)&&g.is(b.triggers)&&g.is(T)&&(!a(b,g,!d)||(h=a(b,g,!d))&&n(h)&&h.is(b.triggers))?e(g):(h=f(b,c),n(h)&&(a(b,h,!d)?(c=a(b,h,!d))&&n(c)&&c.is(b.triggers)&&e(h):e(h)))}}}()}}function g(a,b){if(!b||b.type!= +CKEDITOR.NODE_ELEMENT||!b.$)return!1;var c=a.line;return c.wrap.equals(b)||c.wrap.contains(b)}function n(a){return a&&a.type==CKEDITOR.NODE_ELEMENT&&a.$}function x(a){if(!n(a))return!1;var b;(b=w(a))||(n(a)?(b={left:1,right:1,center:1},b=!(!b[a.getComputedStyle("float")]&&!b[a.getAttribute("align")])):b=!1);return b}function w(a){return!!{absolute:1,fixed:1}[a.getComputedStyle("position")]}function p(a,b){return n(b)?b.is(a.triggers):null}function q(a,b){if(!b)return!1;for(var c=b.getParents(1),d= +c.length;d--;)for(var e=a.tabuList.length;e--;)if(c[d].hasAttribute(a.tabuList[e]))return!0;return!1}function u(a,b,c){b=b[c?"getLast":"getFirst"](function(b){return a.isRelevant(b)&&!b.is(da)});if(!b)return!1;v(a,b);return c?b.size.top>a.mouse.y:b.size.bottom(a.inInlineMode?d.editable.top+d.editable.height/2:Math.min(d.editable.height,d.pane.height)/2),b=b[f?"getLast":"getFirst"](function(a){return!(aa(a)|| +ca(a))});if(!b)return null;g(a,b)&&(b=a.line.wrap[f?"getPrevious":"getNext"](function(a){return!(aa(a)||ca(a))}));if(!n(b)||x(b)||!p(a,b))return null;v(a,b);return!f&&0<=b.size.top&&k(c.y,0,b.size.top+e)?(a=a.inInlineMode||0===d.scroll.y?M:V,new h([null,b,I,J,a])):f&&b.size.bottom<=d.pane.height&&k(c.y,b.size.bottom-e,d.pane.height)?(a=a.inInlineMode||k(b.size.bottom,d.pane.height-e,d.pane.height)?N:V,new h([b,null,F,J,a])):null}function r(b){var c=b.mouse,d=b.view,e=b.triggerOffset,g=f(b);if(!g)return null; +v(b,g);var e=Math.min(e,0|g.size.outerHeight/2),l=[],m,q;if(k(c.y,g.size.top-1,g.size.top+e))q=!1;else if(k(c.y,g.size.bottom-e,g.size.bottom+1))q=!0;else return null;if(x(g)||u(b,g,q)||g.getParent().is(U))return null;var r=a(b,g,!q);if(r){if(r&&r.type==CKEDITOR.NODE_TEXT)return null;if(n(r)){if(x(r)||!p(b,r)||r.getParent().is(U))return null;l=[r,g][q?"reverse":"concat"]().concat([P,J])}}else g.equals(b.editable[q?"getLast":"getFirst"](b.isRelevant))?(t(b),q&&k(c.y,g.size.bottom-e,d.pane.height)&& +k(g.size.bottom,d.pane.height-e,d.pane.height)?m=N:k(c.y,0,g.size.top+e)&&(m=M)):m=V,l=[null,g][q?"reverse":"concat"]().concat([q?F:I,J,m,g.equals(b.editable[q?"getLast":"getFirst"](b.isRelevant))?q?N:M:V]);return 0 in l?new h(l):null}function A(a,b,c,d){for(var e=b.getDocumentPosition(),g={},f={},h={},k={},l=Q.length;l--;)g[Q[l]]=parseInt(b.getComputedStyle.call(b,"border-"+Q[l]+"-width"),10)||0,h[Q[l]]=parseInt(b.getComputedStyle.call(b,"padding-"+Q[l]),10)||0,f[Q[l]]=parseInt(b.getComputedStyle.call(b, +"margin-"+Q[l]),10)||0;c&&!d||y(a,d);k.top=e.y-(c?0:a.view.scroll.y);k.left=e.x-(c?0:a.view.scroll.x);k.outerWidth=b.$.offsetWidth;k.outerHeight=b.$.offsetHeight;k.height=k.outerHeight-(h.top+h.bottom+g.top+g.bottom);k.width=k.outerWidth-(h.left+h.right+g.left+g.right);k.bottom=k.top+k.outerHeight;k.right=k.left+k.outerWidth;a.inInlineMode&&(k.scroll={top:b.$.scrollTop,left:b.$.scrollLeft});return D({border:g,padding:h,margin:f,ignoreScroll:c},k,!0)}function v(a,b,c){if(!n(b))return b.size=null;if(!b.size)b.size= +{};else if(b.size.ignoreScroll==c&&b.size.date>new Date-fa)return null;return D(b.size,A(a,b,c),{date:+new Date},!0)}function t(a,b){a.view.editable=A(a,a.editable,b,!0)}function y(a,b){a.view||(a.view={});var c=a.view;if(!(!b&&c&&c.date>new Date-fa)){var d=a.win,c=d.getScrollPosition(),d=d.getViewPaneSize();D(a.view,{scroll:{x:c.x,y:c.y,width:a.doc.$.documentElement.scrollWidth-d.width,height:a.doc.$.documentElement.scrollHeight-d.height},pane:{width:d.width,height:d.height,bottom:d.height+c.y}, +date:+new Date},!0)}}function C(a,b,c,d){for(var e=d,g=d,f=0,k=!1,l=!1,m=a.view.pane.height,n=a.mouse;n.y+fd.left-e.x&&cd.top-e.y&&aCKEDITOR.env.version,G=CKEDITOR.dtd,O={},I=128,F=64,P=32,J=16,M=4,N=2,V=1,S=" ",U=G.$listItem,da=G.$tableContent,T=D({},G.$nonEditable, +G.$empty),ea=G.$block,fa=100,ia="width:0px;height:0px;padding:0px;margin:0px;display:block;z-index:9999;color:#fff;position:absolute;font-size: 0px;line-height:0px;",ka=ia+"border-color:transparent;display:block;border-style:solid;",W="\x3cspan\x3e"+S+"\x3c/span\x3e";O[CKEDITOR.ENTER_BR]="br";O[CKEDITOR.ENTER_P]="p";O[CKEDITOR.ENTER_DIV]="div";h.prototype={set:function(a,b,c){this.properties=a+b+(c||V);return this},is:function(a){return(this.properties&a)==a}};var Z=function(){function a(b,c){var d= +b.$.elementFromPoint(c.x,c.y);return d&&d.nodeType?new CKEDITOR.dom.element(d):null}return function(b,c,d){if(!b.mouse)return null;var e=b.doc,f=b.line.wrap;d=d||b.mouse;var h=a(e,d);c&&g(b,h)&&(f.hide(),h=a(e,d),f.show());return!h||h.type!=CKEDITOR.NODE_ELEMENT||!h.$||H.ie&&9>H.version&&!b.boundary.equals(h)&&!b.boundary.contains(h)?null:h}}(),aa=CKEDITOR.dom.walker.whitespaces(),ca=CKEDITOR.dom.walker.nodeType(CKEDITOR.NODE_COMMENT),X=function(){function a(d){var g=d.element,f,h,l;if(!n(g)||g.contains(d.editable)|| +g.isReadOnly())return null;l=C(d,function(a,b){return!b.equals(a)},function(a,b){return Z(a,!0,b)},g);f=l.upper;h=l.lower;if(b(d,f,h))return l.set(P,8);if(f&&g.contains(f))for(;!f.getParent().equals(g);)f=f.getParent();else f=g.getFirst(function(a){return c(d,a)});if(h&&g.contains(h))for(;!h.getParent().equals(g);)h=h.getParent();else h=g.getLast(function(a){return c(d,a)});if(!f||!h)return null;v(d,f);v(d,h);if(!k(d.mouse.y,f.size.top,h.size.bottom))return null;for(var g=Number.MAX_VALUE,m,t,q,r;h&& +!h.equals(f)&&(t=f.getNext(d.isRelevant));)m=Math.abs(e(d,f,t)-d.mouse.y),ma.status||304==a.status||0===a.status||1223==a.status))return null;switch(b){case "text":return a.responseText;case "xml":var e=a.responseXML;return new CKEDITOR.xml(e&&e.firstChild?e:a.responseText);case "arraybuffer":return a.response; +default:return null}}function f(a,e,f){var m=!!e,c=b();if(!c)return null;m&&"text"!==f&&"xml"!==f&&(c.responseType=f);c.open("GET",a,m);m&&(c.onreadystatechange=function(){4==c.readyState&&(e(h(c,f)),c=null)});c.send(null);return m?"":h(c,f)}function e(a,e,f,m,c){var d=b();if(!d)return null;d.open("POST",a,!0);d.onreadystatechange=function(){4==d.readyState&&(m&&m(h(d,c)),d=null)};d.setRequestHeader("Content-type",f||"application/x-www-form-urlencoded; charset\x3dUTF-8");d.send(e)}return{load:function(a, +b,e){return f(a,b,e||"text")},post:function(a,b,f,h){return e(a,b,f,h,"text")},loadXml:function(a,b){return f(a,b,"xml")},loadText:function(a,b){return f(a,b,"text")},loadBinary:function(a,b){return f(a,b,"arraybuffer")}}}()}(),function(){function b(a,b){return CKEDITOR.tools.array.filter(a,function(a){return a.canHandle(b)}).sort(function(a,b){return a.priority===b.priority?0:a.priority-b.priority})}function h(a,b){var c=a.shift();c&&c.handle(b,function(){h(a,b)})}function f(a){var b=CKEDITOR.tools.array.reduce(a, +function(a,b){return CKEDITOR.tools.array.isArray(b.filters)?a.concat(b.filters):a},[]);return CKEDITOR.tools.array.filter(b,function(a,d){return CKEDITOR.tools.array.indexOf(b,a)===d})}function e(b,e){var c=0,d,g;if(!CKEDITOR.tools.array.isArray(b)||0===b.length)return!0;d=CKEDITOR.tools.array.filter(b,function(b){return-1===CKEDITOR.tools.array.indexOf(a,b)});if(0=CKEDITOR.env.version;return!(CKEDITOR.env.webkit&&!CKEDITOR.env.chrome)&&!b},init:function(b){if(this.isSupportedEnvironment()){var h=CKEDITOR.plugins.getPath("pastetools"), +f=this.path;b.pasteTools.register({priority:100,filters:[CKEDITOR.getUrl(h+"filter/common.js"),CKEDITOR.getUrl(h+"filter/image.js"),CKEDITOR.getUrl(f+"filter/default.js")],canHandle:function(b){b=b.data;return(b=b.dataTransfer.getData("text/html",!0)||b.dataValue)?"libreoffice"===CKEDITOR.plugins.pastetools.getContentGeneratorName(b):!1},handle:function(e,a){var f=e.data,h=f.dataValue||CKEDITOR.plugins.pastetools.getClipboardData(f,"text/html");f.dontFilter=!0;h=CKEDITOR.pasteFilters.image(h,b,CKEDITOR.plugins.pastetools.getClipboardData(f, +"text/rtf"));f.dataValue=CKEDITOR.pasteFilters.libreoffice(h,b);!0===b.config.forcePasteAsPlainText&&(f.type="text");a()}})}}})}(),function(){CKEDITOR.plugins.add("pastefromword",{requires:"pastetools",init:function(b){var h=0,f=CKEDITOR.plugins.getPath("pastetools"),e=this.path,a=void 0===b.config.pasteFromWord_inlineImages?!0:b.config.pasteFromWord_inlineImages,f=[CKEDITOR.getUrl(f+"filter/common.js"),CKEDITOR.getUrl(f+"filter/image.js"),CKEDITOR.getUrl(e+"filter/default.js")];b.addCommand("pastefromword", +{canUndo:!1,async:!0,exec:function(a,b){h=1;a.execCommand("paste",{type:"html",notification:b&&"undefined"!==typeof b.notification?b.notification:!0})}});CKEDITOR.plugins.clipboard.addPasteButton(b,"PasteFromWord",{label:b.lang.pastefromword.toolbar,command:"pastefromword",toolbar:"clipboard,50"});b.pasteTools.register({filters:b.config.pasteFromWordCleanupFile?[b.config.pasteFromWordCleanupFile]:f,canHandle:function(a){a=CKEDITOR.plugins.pastetools.getClipboardData(a.data,"text/html");var b=CKEDITOR.plugins.pastetools.getContentGeneratorName(a), +e=/(class="?Mso|style=["'][^"]*?\bmso\-|w:WordDocument||<\/font>)/,b=b?"microsoft"===b:e.test(a);return a&&(h||b)},handle:function(e,f){var m=e.data,c=CKEDITOR.plugins.pastetools.getClipboardData(m,"text/html"),d=CKEDITOR.plugins.pastetools.getClipboardData(m,"text/rtf"),c={dataValue:c,dataTransfer:{"text/rtf":d}};if(!1!==b.fire("pasteFromWord",c)||h){m.dontFilter=!0;if(h||!b.config.pasteFromWordPromptCleanup||confirm(b.lang.pastefromword.confirmCleanup))c.dataValue=CKEDITOR.cleanWord(c.dataValue, +b),CKEDITOR.plugins.clipboard.isCustomDataTypesSupported&&a&&CKEDITOR.pasteFilters.image&&(c.dataValue=CKEDITOR.pasteFilters.image(c.dataValue,b,d)),b.fire("afterPasteFromWord",c),m.dataValue=c.dataValue,!0===b.config.forcePasteAsPlainText?m.type="text":CKEDITOR.plugins.clipboard.isCustomCopyCutSupported||"allow-word"!==b.config.forcePasteAsPlainText||(m.type="html");h=0;f()}}})}})}(),function(){var b={canUndo:!1,async:!0,exec:function(b,f){var e=b.lang,a=CKEDITOR.tools.keystrokeToString(e.common.keyboard, +b.getCommandKeystroke(CKEDITOR.env.ie?b.commands.paste:this)),k=f&&"undefined"!==typeof f.notification?f.notification:!f||!f.from||"keystrokeHandler"===f.from&&CKEDITOR.env.ie,e=k&&"string"===typeof k?k:e.pastetext.pasteNotification.replace(/%1/,'\x3ckbd aria-label\x3d"'+a.aria+'"\x3e'+a.display+"\x3c/kbd\x3e");b.execCommand("paste",{type:"text",notification:k?e:!1})}};CKEDITOR.plugins.add("pastetext",{requires:"clipboard",init:function(h){var f=CKEDITOR.env.safari?CKEDITOR.CTRL+CKEDITOR.ALT+CKEDITOR.SHIFT+ +86:CKEDITOR.CTRL+CKEDITOR.SHIFT+86;h.addCommand("pastetext",b);h.setKeystroke(f,"pastetext");CKEDITOR.plugins.clipboard.addPasteButton(h,"PasteText",{label:h.lang.pastetext.button,command:"pastetext",toolbar:"clipboard,40"});if(h.config.forcePasteAsPlainText)h.on("beforePaste",function(b){"html"!=b.data.type&&(b.data.type="text")});h.on("pasteState",function(b){h.getCommand("pastetext").setState(b.data)})}})}(),CKEDITOR.plugins.add("removeformat",{init:function(b){b.addCommand("removeFormat",CKEDITOR.plugins.removeformat.commands.removeformat); +b.ui.addButton&&b.ui.addButton("RemoveFormat",{label:b.lang.removeformat.toolbar,command:"removeFormat",toolbar:"cleanup,10"})}}),CKEDITOR.plugins.removeformat={commands:{removeformat:{exec:function(b){for(var h=b._.removeFormatRegex||(b._.removeFormatRegex=new RegExp("^(?:"+b.config.removeFormatTags.replace(/,/g,"|")+")$","i")),f=b._.removeAttributes||(b._.removeAttributes=b.config.removeFormatAttributes.split(",")),e=CKEDITOR.plugins.removeformat.filter,a=b.getSelection().getRanges(),k=a.createIterator(), +l=function(a){return a.type==CKEDITOR.NODE_ELEMENT},m;m=k.getNextRange();){m.enlarge(CKEDITOR.ENLARGE_INLINE);var c=m.createBookmark(),d=c.startNode,g=c.endNode,n=function(a){for(var c=b.elementPath(a),d=c.elements,g=1,f;(f=d[g])&&!f.equals(c.block)&&!f.equals(c.blockLimit);g++)h.test(f.getName())&&e(b,f)&&a.breakParent(f)};n(d);if(g)for(n(g),d=d.getNextSourceNode(!0,CKEDITOR.NODE_ELEMENT);d&&!d.equals(g);)if(d.isReadOnly()){if(d.getPosition(g)&CKEDITOR.POSITION_CONTAINS)break;d=d.getNext(l)}else n= +d.getNextSourceNode(!1,CKEDITOR.NODE_ELEMENT),"img"==d.getName()&&d.data("cke-realelement")||!e(b,d)||(h.test(d.getName())?d.remove(1):(d.removeAttributes(f),b.fire("removeFormatCleanup",d))),d=n;m.moveToBookmark(c)}b.forceNextSelectionCheck();b.getSelection().selectRanges(a)}}},filter:function(b,h){for(var f=b._.removeFormatFilters||[],e=0;eCKEDITOR.env.version),c=m?":not([contenteditable\x3dfalse]):not(.cke_show_blocks_off)":"",d,g;for(f=e=a=k="";d=b.pop();)g=b.length?",":"",f+=".cke_show_blocks "+d+c+g,a+=".cke_show_blocks.cke_contents_ltr "+d+c+g,k+=".cke_show_blocks.cke_contents_rtl "+d+c+g,e+=".cke_show_blocks "+d+c+"{background-image:url("+CKEDITOR.getUrl(l+"images/block_"+d+".png")+")}";CKEDITOR.addCss((f+"{background-repeat:no-repeat;border:1px dotted gray;padding-top:8px}").concat(e, +a+"{background-position:top left;padding-left:8px}",k+"{background-position:top right;padding-right:8px}"));m||CKEDITOR.addCss(".cke_show_blocks [contenteditable\x3dfalse],.cke_show_blocks .cke_show_blocks_off{border:none;padding-top:0;background-image:none}.cke_show_blocks.cke_contents_rtl [contenteditable\x3dfalse],.cke_show_blocks.cke_contents_rtl .cke_show_blocks_off{padding-right:0}.cke_show_blocks.cke_contents_ltr [contenteditable\x3dfalse],.cke_show_blocks.cke_contents_ltr .cke_show_blocks_off{padding-left:0}")}, +init:function(h){function f(){e.refresh(h)}if(!h.blockless){var e=h.addCommand("showblocks",b);e.canUndo=!1;h.config.startupOutlineBlocks&&e.setState(CKEDITOR.TRISTATE_ON);h.ui.addButton&&h.ui.addButton("ShowBlocks",{label:h.lang.showblocks.toolbar,command:"showblocks",toolbar:"tools,20"});h.on("mode",function(){e.state!=CKEDITOR.TRISTATE_DISABLED&&e.refresh(h)});h.elementMode==CKEDITOR.ELEMENT_MODE_INLINE&&(h.on("focus",f),h.on("blur",f));h.on("contentDom",function(){e.state!=CKEDITOR.TRISTATE_DISABLED&& +e.refresh(h)})}}})}(),function(){var b={preserveState:!0,editorFocus:!1,readOnly:1,exec:function(b){this.toggleState();this.refresh(b)},refresh:function(b){if(b.document){var f=this.state==CKEDITOR.TRISTATE_ON?"attachClass":"removeClass";b.editable()[f]("cke_show_borders")}}};CKEDITOR.plugins.add("showborders",{modes:{wysiwyg:1},onLoad:function(){var b;b=(CKEDITOR.env.ie6Compat?[".%1 table.%2,",".%1 table.%2 td, .%1 table.%2 th","{","border : #d3d3d3 1px dotted","}"]:".%1 table.%2,;.%1 table.%2 \x3e tr \x3e td, .%1 table.%2 \x3e tr \x3e th,;.%1 table.%2 \x3e tbody \x3e tr \x3e td, .%1 table.%2 \x3e tbody \x3e tr \x3e th,;.%1 table.%2 \x3e thead \x3e tr \x3e td, .%1 table.%2 \x3e thead \x3e tr \x3e th,;.%1 table.%2 \x3e tfoot \x3e tr \x3e td, .%1 table.%2 \x3e tfoot \x3e tr \x3e th;{;border : #d3d3d3 1px dotted;}".split(";")).join("").replace(/%2/g, +"cke_show_border").replace(/%1/g,"cke_show_borders ");CKEDITOR.addCss(b)},init:function(h){var f=h.addCommand("showborders",b);f.canUndo=!1;!1!==h.config.startupShowBorders&&f.setState(CKEDITOR.TRISTATE_ON);h.on("mode",function(){f.state!=CKEDITOR.TRISTATE_DISABLED&&f.refresh(h)},null,null,100);h.on("contentDom",function(){f.state!=CKEDITOR.TRISTATE_DISABLED&&f.refresh(h)});h.on("removeFormatCleanup",function(b){b=b.data;h.getCommand("showborders").state==CKEDITOR.TRISTATE_ON&&b.is("table")&&(!b.hasAttribute("border")|| +0>=parseInt(b.getAttribute("border"),10))&&b.addClass("cke_show_border")})},afterInit:function(b){var f=b.dataProcessor;b=f&&f.dataFilter;f=f&&f.htmlFilter;b&&b.addRules({elements:{table:function(b){b=b.attributes;var a=b["class"],f=parseInt(b.border,10);f&&!(0>=f)||a&&-1!=a.indexOf("cke_show_border")||(b["class"]=(a||"")+" cke_show_border")}}});f&&f.addRules({elements:{table:function(b){b=b.attributes;var a=b["class"];a&&(b["class"]=a.replace("cke_show_border","").replace(/\s{2}/," ").replace(/^\s+|\s+$/, +""))}}})}});CKEDITOR.on("dialogDefinition",function(b){var f=b.data.name;if("table"==f||"tableProperties"==f)if(b=b.data.definition,f=b.getContents("info").get("txtBorder"),f.commit=CKEDITOR.tools.override(f.commit,function(b){return function(a,f){b.apply(this,arguments);var h=parseInt(this.getValue(),10);f[!h||0>=h?"addClass":"removeClass"]("cke_show_border")}}),b=(b=b.getContents("advanced"))&&b.get("advCSSClasses"))b.setup=CKEDITOR.tools.override(b.setup,function(b){return function(){b.apply(this, +arguments);this.setValue(this.getValue().replace(/cke_show_border/,""))}}),b.commit=CKEDITOR.tools.override(b.commit,function(b){return function(a,f){b.apply(this,arguments);parseInt(f.getAttribute("border"),10)||f.addClass("cke_show_border")}})})}(),function(){CKEDITOR.plugins.add("sourcearea",{init:function(h){function f(){var b=a&&this.equals(CKEDITOR.document.getActive());this.hide();this.setStyle("height",this.getParent().$.clientHeight+"px");this.setStyle("width",this.getParent().$.clientWidth+ "px");this.show();b&&this.focus()}if(h.elementMode!=CKEDITOR.ELEMENT_MODE_INLINE){var e=CKEDITOR.plugins.sourcearea;h.addMode("source",function(a){var e=h.ui.space("contents").getDocument().createElement("textarea");e.setStyles(CKEDITOR.tools.extend({width:CKEDITOR.env.ie7Compat?"99%":"100%",height:"100%",resize:"none",outline:"none","text-align":"left"},CKEDITOR.tools.cssVendorPrefix("tab-size",h.config.sourceAreaTabSize||4)));e.setAttribute("dir","ltr");e.addClass("cke_source").addClass("cke_reset").addClass("cke_enable_context_menu"); -h.ui.space("contents").append(e);e=h.editable(new b(h,e));e.setData(h.getData(1));CKEDITOR.env.ie&&(e.attachListener(h,"resize",g,e),e.attachListener(CKEDITOR.document.getWindow(),"resize",g,e),CKEDITOR.tools.setTimeout(g,0,e));h.fire("ariaWidget",this);a()});h.addCommand("source",e.commands.source);h.ui.addButton&&h.ui.addButton("Source",{label:h.lang.sourcearea.toolbar,command:"source",toolbar:"mode,10"});h.on("mode",function(){h.getCommand("source").setState("source"==h.mode?CKEDITOR.TRISTATE_ON: +h.ui.space("contents").append(e);e=h.editable(new b(h,e));e.setData(h.getData(1));CKEDITOR.env.ie&&(e.attachListener(h,"resize",f,e),e.attachListener(CKEDITOR.document.getWindow(),"resize",f,e),CKEDITOR.tools.setTimeout(f,0,e));h.fire("ariaWidget",this);a()});h.addCommand("source",e.commands.source);h.ui.addButton&&h.ui.addButton("Source",{isToggle:!0,label:h.lang.sourcearea.toolbar,command:"source",toolbar:"mode,10"});h.on("mode",function(){h.getCommand("source").setState("source"==h.mode?CKEDITOR.TRISTATE_ON: CKEDITOR.TRISTATE_OFF)});var a=CKEDITOR.env.ie&&9==CKEDITOR.env.version}}});var b=CKEDITOR.tools.createClass({base:CKEDITOR.editable,proto:{setData:function(b){this.setValue(b);this.status="ready";this.editor.fire("dataReady")},getData:function(){return this.getValue()},insertHtml:function(){},insertElement:function(){},insertText:function(){},setReadOnly:function(b){this[(b?"set":"remove")+"Attribute"]("readOnly","readonly")},detach:function(){b.baseProto.detach.call(this);this.clearCustomData(); -this.remove()}}})})();CKEDITOR.plugins.sourcearea={commands:{source:{modes:{wysiwyg:1,source:1},editorFocus:!1,readOnly:1,exec:function(b){"wysiwyg"==b.mode&&b.fire("saveSnapshot");b.getCommand("source").setState(CKEDITOR.TRISTATE_DISABLED);b.setMode("source"==b.mode?"wysiwyg":"source")},canUndo:!1}}};CKEDITOR.plugins.add("sourcedialog",{requires:"dialog",init:function(b){b.addCommand("sourcedialog",new CKEDITOR.dialogCommand("sourcedialog"));CKEDITOR.dialog.add("sourcedialog",this.path+"dialogs/sourcedialog.js"); -b.ui.addButton&&b.ui.addButton("Sourcedialog",{label:b.lang.sourcedialog.toolbar,command:"sourcedialog",toolbar:"mode,10"})}});CKEDITOR.plugins.add("specialchar",{availableLangs:{af:1,ar:1,az:1,bg:1,ca:1,cs:1,cy:1,da:1,de:1,"de-ch":1,el:1,en:1,"en-au":1,"en-ca":1,"en-gb":1,eo:1,es:1,"es-mx":1,et:1,eu:1,fa:1,fi:1,fr:1,"fr-ca":1,gl:1,he:1,hr:1,hu:1,id:1,it:1,ja:1,km:1,ko:1,ku:1,lt:1,lv:1,nb:1,nl:1,no:1,oc:1,pl:1,pt:1,"pt-br":1,ro:1,ru:1,si:1,sk:1,sl:1,sq:1,sr:1,"sr-latn":1,sv:1,th:1,tr:1,tt:1,ug:1, -uk:1,vi:1,zh:1,"zh-cn":1},requires:"dialog",init:function(b){var h=this;CKEDITOR.dialog.add("specialchar",this.path+"dialogs/specialchar.js");b.addCommand("specialchar",{exec:function(){var g=b.langCode,g=h.availableLangs[g]?g:h.availableLangs[g.replace(/-.*/,"")]?g.replace(/-.*/,""):"en";CKEDITOR.scriptLoader.load(CKEDITOR.getUrl(h.path+"dialogs/lang/"+g+".js"),function(){CKEDITOR.tools.extend(b.lang.specialchar,h.langEntries[g]);b.openDialog("specialchar")})},modes:{wysiwyg:1},canUndo:!1});b.ui.addButton&& -b.ui.addButton("SpecialChar",{label:b.lang.specialchar.toolbar,command:"specialchar",toolbar:"insert,50"})}});CKEDITOR.config.specialChars="! \x26quot; # $ % \x26amp; ' ( ) * + - . / 0 1 2 3 4 5 6 7 8 9 : ; \x26lt; \x3d \x26gt; ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~ \x26euro; \x26lsquo; \x26rsquo; \x26ldquo; \x26rdquo; \x26ndash; \x26mdash; \x26iexcl; \x26cent; \x26pound; \x26curren; \x26yen; \x26brvbar; \x26sect; \x26uml; \x26copy; \x26ordf; \x26laquo; \x26not; \x26reg; \x26macr; \x26deg; \x26sup2; \x26sup3; \x26acute; \x26micro; \x26para; \x26middot; \x26cedil; \x26sup1; \x26ordm; \x26raquo; \x26frac14; \x26frac12; \x26frac34; \x26iquest; \x26Agrave; \x26Aacute; \x26Acirc; \x26Atilde; \x26Auml; \x26Aring; \x26AElig; \x26Ccedil; \x26Egrave; \x26Eacute; \x26Ecirc; \x26Euml; \x26Igrave; \x26Iacute; \x26Icirc; \x26Iuml; \x26ETH; \x26Ntilde; \x26Ograve; \x26Oacute; \x26Ocirc; \x26Otilde; \x26Ouml; \x26times; \x26Oslash; \x26Ugrave; \x26Uacute; \x26Ucirc; \x26Uuml; \x26Yacute; \x26THORN; \x26szlig; \x26agrave; \x26aacute; \x26acirc; \x26atilde; \x26auml; \x26aring; \x26aelig; \x26ccedil; \x26egrave; \x26eacute; \x26ecirc; \x26euml; \x26igrave; \x26iacute; \x26icirc; \x26iuml; \x26eth; \x26ntilde; \x26ograve; \x26oacute; \x26ocirc; \x26otilde; \x26ouml; \x26divide; \x26oslash; \x26ugrave; \x26uacute; \x26ucirc; \x26uuml; \x26yacute; \x26thorn; \x26yuml; \x26OElig; \x26oelig; \x26#372; \x26#374 \x26#373 \x26#375; \x26sbquo; \x26#8219; \x26bdquo; \x26hellip; \x26trade; \x26#9658; \x26bull; \x26rarr; \x26rArr; \x26hArr; \x26diams; \x26asymp;".split(" "); -(function(){CKEDITOR.plugins.add("stylescombo",{requires:"richcombo",init:function(b){var h=b.config,g=b.lang.stylescombo,e={},a=[],m=[];b.on("stylesSet",function(g){if(g=g.data.styles){for(var l,c,f,d=0,n=g.length;d=g)for(l=this.getNextSourceNode(b,CKEDITOR.NODE_ELEMENT);l;){if(l.isVisible()&&0===l.getTabIndex()){m=l;break}l=l.getNextSourceNode(!1,CKEDITOR.NODE_ELEMENT)}else for(l=this.getDocument().getBody().getFirst();l=l.getNextSourceNode(!1,CKEDITOR.NODE_ELEMENT);){if(!e)if(!a&&l.equals(this)){if(a=!0,b){if(!(l=l.getNextSourceNode(!0,CKEDITOR.NODE_ELEMENT)))break;e=1}}else a&&!this.contains(l)&&(e=1);if(l.isVisible()&&!(0>(c=l.getTabIndex()))){if(e&&c==g){m= -l;break}c>g&&(!m||!k||c(l=c.getTabIndex())))if(0>=g){if(e&&0===l){m=c;break}l>k&& -(m=c,k=l)}else{if(e&&l==g){m=c;break}lk)&&(m=c,k=l)}}m&&m.focus()};CKEDITOR.plugins.add("table",{requires:"dialog",init:function(b){function h(b){return CKEDITOR.tools.extend(b||{},{contextSensitive:1,refresh:function(a,b){this.setState(b.contains("table",1)?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED)}})}if(!b.blockless){var g=b.lang.table;b.addCommand("table",new CKEDITOR.dialogCommand("table",{context:"table",allowedContent:"table{width,height,border-collapse}[align,border,cellpadding,cellspacing,summary];caption tbody thead tfoot;th td tr[scope];td{border*,background-color,vertical-align,width,height}[colspan,rowspan];"+ -(b.plugins.dialogadvtab?"table"+b.plugins.dialogadvtab.allowedContent():""),requiredContent:"table",contentTransformations:[["table{width}: sizeToStyle","table[width]: sizeToAttribute"],["td: splitBorderShorthand"],[{element:"table",right:function(b){if(b.styles){var a;if(b.styles.border)a=CKEDITOR.tools.style.parse.border(b.styles.border);else if(CKEDITOR.env.ie&&8===CKEDITOR.env.version){var g=b.styles;g["border-left"]&&g["border-left"]===g["border-right"]&&g["border-right"]===g["border-top"]&& -g["border-top"]===g["border-bottom"]&&(a=CKEDITOR.tools.style.parse.border(g["border-top"]))}a&&a.style&&"solid"===a.style&&a.width&&0!==parseFloat(a.width)&&(b.attributes.border=1);"collapse"==b.styles["border-collapse"]&&(b.attributes.cellspacing=0)}}}]]}));b.addCommand("tableProperties",new CKEDITOR.dialogCommand("tableProperties",h()));b.addCommand("tableDelete",h({exec:function(b){var a=b.elementPath().contains("table",1);if(a){var g=a.getParent(),h=b.editable();1!=g.getChildCount()||g.is("td", -"th")||g.equals(h)||(a=g);b=b.createRange();b.moveToPosition(a,CKEDITOR.POSITION_BEFORE_START);a.remove();b.select()}}}));b.ui.addButton&&b.ui.addButton("Table",{label:g.toolbar,command:"table",toolbar:"insert,30"});CKEDITOR.dialog.add("table",this.path+"dialogs/table.js");CKEDITOR.dialog.add("tableProperties",this.path+"dialogs/table.js");b.addMenuItems&&b.addMenuItems({table:{label:g.menu,command:"tableProperties",group:"table",order:5},tabledelete:{label:g.deleteTable,command:"tableDelete",group:"table", -order:1}});b.on("doubleclick",function(b){b.data.element.is("table")&&(b.data.dialog="tableProperties")});b.contextMenu&&b.contextMenu.addListener(function(){return{tabledelete:CKEDITOR.TRISTATE_OFF,table:CKEDITOR.TRISTATE_OFF}})}}});(function(){function b(a,b){function c(a){return b?b.contains(a)&&a.getAscendant("table",!0).equals(b):!0}function d(a){var b=/^(?:td|th)$/;0c)c=f}return c}function m(c,d){for(var f=q(c)?c:b(c),e=f[0].getAscendant("table"),g=a(f,1),f=a(f),h=d?g:f,k=CKEDITOR.tools.buildTableMap(e),e=[],g=[],f=[],l=k.length,m=0;ml?new CKEDITOR.dom.element(h[0][l+1]):k&&-1!==h[0][k-1].cellIndex?new CKEDITOR.dom.element(h[0][k-1]):new CKEDITOR.dom.element(f.$.parentNode);m.length==a&&(d[0].moveToPosition(f,CKEDITOR.POSITION_AFTER_END),d[0].select(),f.remove());return k}function l(a,b){var c=a.getStartElement().getAscendant({td:1,th:1},!0);if(c){var d=c.clone();d.appendBogus();b?d.insertBefore(c):d.insertAfter(c)}}function c(a){if(a instanceof CKEDITOR.dom.selection){var d= -a.getRanges(),e=b(a),g=e[0]&&e[0].getAscendant("table"),h;a:{var k=0;h=e.length-1;for(var l={},m,n;m=e[k++];)CKEDITOR.dom.element.setMarker(l,m,"delete_cell",!0);for(k=0;m=e[k++];)if((n=m.getPrevious())&&!n.getCustomData("delete_cell")||(n=m.getNext())&&!n.getCustomData("delete_cell")){CKEDITOR.dom.element.clearAllMarkers(l);h=n;break a}CKEDITOR.dom.element.clearAllMarkers(l);k=e[0].getParent();(k=k.getPrevious())?h=k.getLast():(k=e[h].getParent(),h=(k=k.getNext())?k.getChild(0):null)}a.reset();for(a= -e.length-1;0<=a;a--)c(e[a]);h?f(h,!0):g&&(d[0].moveToPosition(g,CKEDITOR.POSITION_BEFORE_START),d[0].select(),g.remove())}else a instanceof CKEDITOR.dom.element&&(d=a.getParent(),1==d.getChildCount()?d.remove():a.remove())}function f(a,b){var c=a.getDocument(),d=CKEDITOR.document;CKEDITOR.env.ie&&10==CKEDITOR.env.version&&(d.focus(),c.focus());c=new CKEDITOR.dom.range(c);c["moveToElementEdit"+(b?"End":"Start")](a)||(c.selectNodeContents(a),c.collapse(b?!1:!0));c.select(!0)}function d(a,b,c){a=a[b]; -if("undefined"==typeof c)return a;for(b=0;a&&be.length)||(g=a.getCommonAncestor())&&g.type==CKEDITOR.NODE_ELEMENT&&g.is("table"))return!1;a=e[0];g=a.getAscendant("table");var h=CKEDITOR.tools.buildTableMap(g),k=h.length,l=h[0].length,m=a.getParent().$.rowIndex,n=d(h,m,a),q;if(c){var y;try{var x=parseInt(a.getAttribute("rowspan"),10)||1;q=parseInt(a.getAttribute("colspan"), -10)||1;y=h["up"==c?m-x:"down"==c?m+x:m]["left"==c?n-q:"right"==c?n+q:n]}catch(L){return!1}if(!y||a.$==y)return!1;e["up"==c||"left"==c?"unshift":"push"](new CKEDITOR.dom.element(y))}c=a.getDocument();var F=m,x=y=0,M=!f&&new CKEDITOR.dom.documentFragment(c),H=0;for(c=0;c=l?a.removeAttribute("rowSpan"):a.$.rowSpan=y;y>=k?a.removeAttribute("colSpan"):a.$.colSpan=x;f=new CKEDITOR.dom.nodeList(g.$.rows);e=f.count();for(c=e-1;0<=c;c--)g=f.getItem(c),g.$.cells.length||(g.remove(),e++);return a}function y(a,c){var f=b(a);if(1< -f.length)return!1;if(c)return!0;var f=f[0],e=f.getParent(),g=e.getAscendant("table"),h=CKEDITOR.tools.buildTableMap(g),k=e.$.rowIndex,l=d(h,k,f),m=f.$.rowSpan,n;if(1l){e.insertBefore(new CKEDITOR.dom.element(q));break}else q=null;q||g.append(e)}else for(m=n=1,g=e.clone(),g.insertAfter(e),g.append(e=f.clone()),q=d(h,k),l=0;le);n++){k[m+n]||(k[m+n]=[]);for(var y=0;y=a)break}}return k};(function(){function b(a){return CKEDITOR.env.ie?a.$.clientWidth:parseInt(a.getComputedStyle("width"),10)}function h(a,b){var d=a.getComputedStyle("border-"+ -b+"-width"),e={thin:"0px",medium:"1px",thick:"2px"};0>d.indexOf("px")&&(d=d in e&&"none"!=a.getComputedStyle("border-style")?e[d]:0);return parseFloat(d)}function g(a){var b=[],d={},e="rtl"==a.getComputedStyle("direction");CKEDITOR.tools.array.forEach(a.$.rows,function(g,k){var l=-1,m=0,p=null;g?(m=new CKEDITOR.dom.element(g),p={height:m.$.offsetHeight,position:m.getDocumentPosition()}):p=void 0;for(var w=CKEDITOR.env.ie&&!CKEDITOR.env.edge,t="collapse"===a.getComputedStyle("border-collapse"),m=p.height, -p=p.position,z=0,u=g.cells.length;z=q.x&&a<=q.x+q.width&&b>=q.y&&b<=q.y+q.height))return q= -null,w=z=0,r.removeListener("mouseup",m),p.removeListener("mousedown",g),p.removeListener("mousemove",x),r.getBody().setStyle("cursor","auto"),l?p.remove():p.hide(),0;var c=a-Math.round(p.$.offsetWidth/2);if(w){if(c==E||c==A)return 1;c=Math.max(c,E);c=Math.min(c,A);z=c-t}p.setStyle("left",k(c));return 1}}function m(a){var b=a.data.getTarget();if("mouseout"==a.name){if(!b.is("table"))return;for(var d=new CKEDITOR.dom.element(a.data.$.relatedTarget||a.data.$.toElement);d&&d.$&&!d.equals(b)&&!d.is("body");)d= -d.getParent();if(!d||d.equals(b))return}b.getAscendant("table",1).removeCustomData("_cke_table_pillars");a.removeListener()}var k=CKEDITOR.tools.cssLength,l=CKEDITOR.env.ie&&(CKEDITOR.env.ie7Compat||CKEDITOR.env.quirks);CKEDITOR.plugins.add("tableresize",{requires:"tabletools",init:function(b){b.on("contentDom",function(){var f,d=b.editable();d.attachListener(d.isInline()?d:b.document,"mousemove",function(d){d=d.data;var h=d.getTarget();if(h.type==CKEDITOR.NODE_ELEMENT){var k=d.getPageOffset().x, -l=d.getPageOffset().y;if(f&&f.move(k,l))e(d);else if(h.is("table")||h.getAscendant({thead:1,tbody:1,tfoot:1},1))if(d=h.getAscendant("table",1),b.editable().contains(d)){(h=d.getCustomData("_cke_table_pillars"))||(d.setCustomData("_cke_table_pillars",h=g(d)),d.on("mouseout",m),d.on("mousedown",m));a:{d=h;for(var h=0,r=d.length;h=p.x&&k<=p.x+p.width&&l>=p.y&&l<=p.y+p.height){k=p;break a}}k=null}k&&(!f&&(f=new a(b)),f.attachTo(k))}}})})}})})();"use strict";(function(){function b(a, -b){return CKEDITOR.tools.array.reduce(b,function(a,b){return b(a)},a)}var h=[CKEDITOR.CTRL+90,CKEDITOR.CTRL+89,CKEDITOR.CTRL+CKEDITOR.SHIFT+90],g={8:1,46:1};CKEDITOR.plugins.add("undo",{init:function(a){function b(a){g.enabled&&!1!==a.data.command.canUndo&&g.save()}function d(){g.enabled=a.readOnly?!1:"wysiwyg"==a.mode;g.onChange()}var g=a.undoManager=new e(a),l=g.editingHandler=new k(g),m=a.addCommand("undo",{exec:function(){g.undo()&&(a.selectionChange(),this.fire("afterUndo"))},startDisabled:!0, -canUndo:!1}),q=a.addCommand("redo",{exec:function(){g.redo()&&(a.selectionChange(),this.fire("afterRedo"))},startDisabled:!0,canUndo:!1});a.setKeystroke([[h[0],"undo"],[h[1],"redo"],[h[2],"redo"]]);g.onChange=function(){m.setState(g.undoable()?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED);q.setState(g.redoable()?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED)};a.on("beforeCommandExec",b);a.on("afterCommandExec",b);a.on("saveSnapshot",function(a){g.save(a.data&&a.data.contentOnly)});a.on("contentDom", -l.attachListeners,l);a.on("instanceReady",function(){a.fire("saveSnapshot")});a.on("beforeModeUnload",function(){"wysiwyg"==a.mode&&g.save(!0)});a.on("mode",d);a.on("readOnly",d);a.ui.addButton&&(a.ui.addButton("Undo",{label:a.lang.undo.undo,command:"undo",toolbar:"undo,10"}),a.ui.addButton("Redo",{label:a.lang.undo.redo,command:"redo",toolbar:"undo,20"}));a.resetUndo=function(){g.reset();a.fire("saveSnapshot")};a.on("updateSnapshot",function(){g.currentImage&&g.update()});a.on("lockSnapshot",function(a){a= -a.data;g.lock(a&&a.dontUpdate,a&&a.forceUpdate)});a.on("unlockSnapshot",g.unlock,g)}});CKEDITOR.plugins.undo={};var e=CKEDITOR.plugins.undo.UndoManager=function(a){this.strokesRecorded=[0,0];this.locked=null;this.previousKeyGroup=-1;this.limit=a.config.undoStackSize||20;this.strokesLimit=25;this._filterRules=[];this.editor=a;this.reset();CKEDITOR.env.ie&&this.addFilterRule(function(a){return a.replace(/\s+data-cke-expando=".*?"/g,"")})};e.prototype={type:function(a,b){var d=e.getKeyGroup(a),g=this.strokesRecorded[d]+ -1;b=b||g>=this.strokesLimit;this.typing||(this.hasUndo=this.typing=!0,this.hasRedo=!1,this.onChange());b?(g=0,this.editor.fire("saveSnapshot")):this.editor.fire("change");this.strokesRecorded[d]=g;this.previousKeyGroup=d},keyGroupChanged:function(a){return e.getKeyGroup(a)!=this.previousKeyGroup},reset:function(){this.snapshots=[];this.index=-1;this.currentImage=null;this.hasRedo=this.hasUndo=!1;this.locked=null;this.resetType()},resetType:function(){this.strokesRecorded=[0,0];this.typing=!1;this.previousKeyGroup= --1},refreshState:function(){this.hasUndo=!!this.getNextImage(!0);this.hasRedo=!!this.getNextImage(!1);this.resetType();this.onChange()},save:function(b,f,d){var e=this.editor;if(this.locked||"ready"!=e.status||"wysiwyg"!=e.mode)return!1;var g=e.editable();if(!g||"ready"!=g.status)return!1;g=this.snapshots;f||(f=new a(e));if(!1===f.contents)return!1;if(this.currentImage)if(f.equalsContent(this.currentImage)){if(b||f.equalsSelection(this.currentImage))return!1}else!1!==d&&e.fire("change");g.splice(this.index+ -1,g.length-this.index-1);g.length==this.limit&&g.shift();this.index=g.push(f)-1;this.currentImage=f;!1!==d&&this.refreshState();return!0},restoreImage:function(a){var b=this.editor,d;a.bookmarks&&(b.focus(),d=b.getSelection());this.locked={level:999};this.editor.loadSnapshot(a.contents);a.bookmarks?d.selectBookmarks(a.bookmarks):CKEDITOR.env.ie&&(d=this.editor.document.getBody().$.createTextRange(),d.collapse(!0),d.select());this.locked=null;this.index=a.index;this.currentImage=this.snapshots[this.index]; -this.update();this.refreshState();b.fire("change")},getNextImage:function(a){var b=this.snapshots,d=this.currentImage,e;if(d)if(a)for(e=this.index-1;0<=e;e--){if(a=b[e],!d.equalsContent(a))return a.index=e,a}else for(e=this.index+1;e=this.undoManager.strokesLimit&&(this.undoManager.type(a.keyCode,!0),this.keyEventsStack.resetInputs())}},onKeyup:function(b){var f=this.undoManager;b=b.data.getKey();var d=this.keyEventsStack.getTotalInputs();this.keyEventsStack.remove(b);if(!(e.ieFunctionalKeysBug(b)&&this.lastKeydownImage&&this.lastKeydownImage.equalsContent(new a(f.editor,!0))))if(0CKEDITOR.env.version&&e.enterMode!=CKEDITOR.ENTER_DIV&&b("div");if(CKEDITOR.env.webkit||CKEDITOR.env.ie&& -10this.$.offsetHeight){var c= -e.createRange();c[33==b?"moveToElementEditStart":"moveToElementEditEnd"](this);c.select();a.data.preventDefault()}});CKEDITOR.env.ie&&this.attachListener(g,"blur",function(){try{g.$.selection.empty()}catch(a){}});CKEDITOR.env.iOS&&this.attachListener(g,"touchend",function(){a.focus()});c=e.document.getElementsByTag("title").getItem(0);c.data("cke-title",c.getText());CKEDITOR.env.ie&&(e.document.$.title=this._.docTitle);CKEDITOR.tools.setTimeout(function(){"unloaded"==this.status&&(this.status="ready"); -e.fire("contentDom");this._.isPendingFocus&&(e.focus(),this._.isPendingFocus=!1);setTimeout(function(){e.fire("dataReady")},0)},0,this)}}function h(a){function b(){var c;a.editable().attachListener(a,"selectionChange",function(){var b=a.getSelection().getSelectedElement();b&&(c&&(c.detachEvent("onresizestart",e),c=null),b.$.attachEvent("onresizestart",e),c=b.$)})}function e(a){a.returnValue=!1}if(CKEDITOR.env.gecko)try{var g=a.document.$;g.execCommand("enableObjectResizing",!1,!a.config.disableObjectResizing); -g.execCommand("enableInlineTableEditing",!1,!a.config.disableNativeTableHandles)}catch(c){}else CKEDITOR.env.ie&&11>CKEDITOR.env.version&&a.config.disableObjectResizing&&b(a)}function g(){var a=[];if(8<=CKEDITOR.document.$.documentMode){a.push("html.CSS1Compat [contenteditable\x3dfalse]{min-height:0 !important}");var b=[],e;for(e in CKEDITOR.dtd.$removeEmpty)b.push("html.CSS1Compat "+e+"[contenteditable\x3dfalse]");a.push(b.join(",")+"{display:inline-block}")}else CKEDITOR.env.gecko&&(a.push("html{height:100% !important}"), -a.push("img:-moz-broken{-moz-force-broken-image-icon:1;min-width:24px;min-height:24px}"));a.push("html{cursor:text;*cursor:auto}");a.push("img,input,textarea{cursor:default}");return a.join("\n")}var e;CKEDITOR.plugins.add("wysiwygarea",{init:function(a){a.config.fullPage&&a.addFeature({allowedContent:"html head title; style [media,type]; body (*)[id]; meta link [*]",requiredContent:"body"});a.addMode("wysiwyg",function(b){function g(d){d&&d.removeListener();a.isDestroyed()||a.isDetached()||(a.editable(new e(a, -c.$.contentWindow.document.body)),a.setData(a.getData(1),b))}var h="document.open();"+(CKEDITOR.env.ie?"("+CKEDITOR.tools.fixDomain+")();":"")+"document.close();",h=CKEDITOR.env.air?"javascript:void(0)":CKEDITOR.env.ie&&!CKEDITOR.env.edge?"javascript:void(function(){"+encodeURIComponent(h)+"}())":"",c=CKEDITOR.dom.element.createFromHtml('\x3ciframe src\x3d"'+h+'" frameBorder\x3d"0"\x3e\x3c/iframe\x3e');c.setStyles({width:"100%",height:"100%"});c.addClass("cke_wysiwyg_frame").addClass("cke_reset"); -h=a.ui.space("contents");h.append(c);var f=CKEDITOR.env.ie&&!CKEDITOR.env.edge||CKEDITOR.env.gecko;if(f)c.on("load",g);var d=a.title,n=a.fire("ariaEditorHelpLabel",{}).label;d&&(CKEDITOR.env.ie&&n&&(d+=", "+n),c.setAttribute("title",d));if(n){var d=CKEDITOR.tools.getNextId(),y=CKEDITOR.dom.element.createFromHtml('\x3cspan id\x3d"'+d+'" class\x3d"cke_voice_label"\x3e'+n+"\x3c/span\x3e");h.append(y,1);c.setAttribute("aria-describedby",d)}a.on("beforeModeUnload",function(a){a.removeListener();y&&y.remove()}); -c.setAttributes({tabIndex:a.tabIndex,allowTransparency:"true"});!f&&g();a.fire("ariaWidget",c)})}});CKEDITOR.editor.prototype.addContentsCss=function(a){var b=this.config,e=b.contentsCss;CKEDITOR.tools.isArray(e)||(b.contentsCss=e?[e]:[]);b.contentsCss.push(a)};e=CKEDITOR.tools.createClass({$:function(){this.base.apply(this,arguments);this._.frameLoadedHandler=CKEDITOR.tools.addFunction(function(a){CKEDITOR.tools.setTimeout(b,0,this,a)},this);this._.docTitle=this.getWindow().getFrame().getAttribute("title")}, -base:CKEDITOR.editable,proto:{setData:function(a,b){var e=this.editor;if(b)this.setHtml(a),this.fixInitialSelection(),e.fire("dataReady");else{this._.isLoadingData=!0;e._.dataStore={id:1};var h=e.config,c=h.fullPage,f=h.docType,d=CKEDITOR.tools.buildStyleHtml(g()).replace(/\n\n\n {@html text}\n\n","\n\n\n\n
\n {#if buttons}\n {#each buttons as config}\n \n {/each}\n {/if}\n
\n","\n\n\n\n\n ×\n\n","\n\n\n\n\n\n","\n\n\n\n
\n {#if title}\n \n {/if}\n\n {#if cancelIcon && cancelIcon.enabled}\n \n {/if}\n
\n","\n\n\n\n\n
\n\n","\n\n\n\n\n {#if !isUndefined(step.options.title) || (step.options.cancelIcon && step.options.cancelIcon.enabled)}\n \n {/if}\n\n {#if !isUndefined(step.options.text)}\n \n {/if}\n\n {#if Array.isArray(step.options.buttons) && step.options.buttons.length}\n \n {/if}\n
\n","\n\n\n\n\n {#if step.options.arrow && step.options.attachTo && step.options.attachTo.element && step.options.attachTo.on}\n
\n {/if}\n \n
\n","/**\n * Cleanup the steps and set pointerEvents back to 'auto'\n * @param tour The tour object\n */\nexport function cleanupSteps(tour) {\n if (tour) {\n const { steps } = tour;\n\n steps.forEach((step) => {\n if (\n step.options &&\n step.options.canClickTarget === false &&\n step.options.attachTo\n ) {\n if (step.target instanceof HTMLElement) {\n step.target.classList.remove('shepherd-target-click-disabled');\n }\n }\n });\n }\n}\n","\n\n\n \n\n\n\n","/**\n * Generates the svg path data for a rounded rectangle overlay\n * @param {Object} dimension - Dimensions of rectangle.\n * @param {number} width - Width.\n * @param {number} height - Height.\n * @param {number} [x=0] - Offset from top left corner in x axis. default 0.\n * @param {number} [y=0] - Offset from top left corner in y axis. default 0.\n * @param {number} [r=0] - Corner Radius. Keep this smaller than half of width or height.\n * @returns {string} - Rounded rectangle overlay path data.\n */\nexport function makeOverlayPath({ width, height, x = 0, y = 0, r = 0 }) {\n const { innerWidth: w, innerHeight: h } = window;\n\n return `M${w},${h}\\\nH0\\\nV0\\\nH${w}\\\nV${h}\\\nZ\\\nM${x + r},${y}\\\na${r},${r},0,0,0-${r},${r}\\\nV${height + y - r}\\\na${r},${r},0,0,0,${r},${r}\\\nH${width + x - r}\\\na${r},${r},0,0,0,${r}-${r}\\\nV${y + r}\\\na${r},${r},0,0,0-${r}-${r}\\\nZ`;\n}\n","import { isUndefined } from './utils/type-check';\n\nexport class Evented {\n on(event, handler, ctx, once = false) {\n if (isUndefined(this.bindings)) {\n this.bindings = {};\n }\n if (isUndefined(this.bindings[event])) {\n this.bindings[event] = [];\n }\n this.bindings[event].push({ handler, ctx, once });\n\n return this;\n }\n\n once(event, handler, ctx) {\n return this.on(event, handler, ctx, true);\n }\n\n off(event, handler) {\n if (isUndefined(this.bindings) || isUndefined(this.bindings[event])) {\n return this;\n }\n\n if (isUndefined(handler)) {\n delete this.bindings[event];\n } else {\n this.bindings[event].forEach((binding, index) => {\n if (binding.handler === handler) {\n this.bindings[event].splice(index, 1);\n }\n });\n }\n\n return this;\n }\n\n trigger(event, ...args) {\n if (!isUndefined(this.bindings) && this.bindings[event]) {\n this.bindings[event].forEach((binding, index) => {\n const { ctx, handler, once } = binding;\n\n const context = ctx || this;\n\n handler.apply(context, args);\n\n if (once) {\n this.bindings[event].splice(index, 1);\n }\n });\n }\n\n return this;\n }\n}\n","export var max = Math.max;\nexport var min = Math.min;\nexport var round = Math.round;","import getWindow from \"../dom-utils/getWindow.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n passive: true\n};\n\nfunction effect(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect,\n data: {}\n};","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nimport offset from \"./modifiers/offset.js\";\nimport flip from \"./modifiers/flip.js\";\nimport preventOverflow from \"./modifiers/preventOverflow.js\";\nimport arrow from \"./modifiers/arrow.js\";\nimport hide from \"./modifiers/hide.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles, offset, flip, preventOverflow, arrow, hide];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow }; // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper as createPopperLite } from \"./popper-lite.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport * from \"./modifiers/index.js\";","import computeOffsets from \"../utils/computeOffsets.js\";\n\nfunction popperOffsets(_ref) {\n var state = _ref.state,\n name = _ref.name;\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {}\n};","import getNodeName from \"../dom-utils/getNodeName.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles(_ref) {\n var state = _ref.state;\n Object.keys(state.elements).forEach(function (name) {\n var style = state.styles[name] || {};\n var attributes = state.attributes[name] || {};\n var element = state.elements[name]; // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n } // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe[cannot-write]\n\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (name) {\n var value = attributes[name];\n\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state;\n var initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0'\n },\n arrow: {\n position: 'absolute'\n },\n reference: {}\n };\n Object.assign(state.elements.popper.style, initialStyles.popper);\n state.styles = initialStyles;\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return function () {\n Object.keys(state.elements).forEach(function (name) {\n var element = state.elements[name];\n var attributes = state.attributes[name] || {};\n var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them\n\n var style = styleProperties.reduce(function (style, property) {\n style[property] = '';\n return style;\n }, {}); // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (attribute) {\n element.removeAttribute(attribute);\n });\n });\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect: effect,\n requires: ['computeStyles']\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = placements.reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset\n};","import { top, left, right, bottom, start } from \"../enums.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport getAltAxis from \"../utils/getAltAxis.js\";\nimport { within, withinMaxClamp } from \"../utils/within.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport getFreshSideObject from \"../utils/getFreshSideObject.js\";\nimport { min as mathMin, max as mathMax } from \"../utils/math.js\";\n\nfunction preventOverflow(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n padding = options.padding,\n _options$tether = options.tether,\n tether = _options$tether === void 0 ? true : _options$tether,\n _options$tetherOffset = options.tetherOffset,\n tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n var overflow = detectOverflow(state, {\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n altBoundary: altBoundary\n });\n var basePlacement = getBasePlacement(state.placement);\n var variation = getVariation(state.placement);\n var isBasePlacement = !variation;\n var mainAxis = getMainAxisFromPlacement(basePlacement);\n var altAxis = getAltAxis(mainAxis);\n var popperOffsets = state.modifiersData.popperOffsets;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n placement: state.placement\n })) : tetherOffset;\n var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {\n mainAxis: tetherOffsetValue,\n altAxis: tetherOffsetValue\n } : Object.assign({\n mainAxis: 0,\n altAxis: 0\n }, tetherOffsetValue);\n var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;\n var data = {\n x: 0,\n y: 0\n };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis) {\n var _offsetModifierState$;\n\n var mainSide = mainAxis === 'y' ? top : left;\n var altSide = mainAxis === 'y' ? bottom : right;\n var len = mainAxis === 'y' ? 'height' : 'width';\n var offset = popperOffsets[mainAxis];\n var min = offset + overflow[mainSide];\n var max = offset - overflow[altSide];\n var additive = tether ? -popperRect[len] / 2 : 0;\n var minLen = variation === start ? referenceRect[len] : popperRect[len];\n var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n\n var arrowElement = state.elements.arrow;\n var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n width: 0,\n height: 0\n };\n var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n var arrowPaddingMin = arrowPaddingObject[mainSide];\n var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n\n var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;\n var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;\n var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;\n var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;\n var tetherMax = offset + maxOffset - offsetModifierValue;\n var preventedOffset = within(tether ? mathMin(min, tetherMin) : min, offset, tether ? mathMax(max, tetherMax) : max);\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n var _offsetModifierState$2;\n\n var _mainSide = mainAxis === 'x' ? top : left;\n\n var _altSide = mainAxis === 'x' ? bottom : right;\n\n var _offset = popperOffsets[altAxis];\n\n var _len = altAxis === 'y' ? 'height' : 'width';\n\n var _min = _offset + overflow[_mainSide];\n\n var _max = _offset - overflow[_altSide];\n\n var isOriginSide = [top, left].indexOf(basePlacement) !== -1;\n\n var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;\n\n var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;\n\n var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;\n\n var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);\n\n popperOffsets[altAxis] = _preventedOffset;\n data[altAxis] = _preventedOffset - _offset;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset']\n};","export default function getAltAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}","import { max as mathMax, min as mathMin } from \"./math.js\";\nexport function within(min, value, max) {\n return mathMax(min, mathMin(value, max));\n}\nexport function withinMaxClamp(min, value, max) {\n var v = within(min, value, max);\n return v > max ? max : v;\n}","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport { within } from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar toPaddingObject = function toPaddingObject(padding, state) {\n padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n placement: state.placement\n })) : padding;\n return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n};\n\nfunction arrow(_ref) {\n var _state$modifiersData$;\n\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var arrowElement = state.elements.arrow;\n var popperOffsets = state.modifiersData.popperOffsets;\n var basePlacement = getBasePlacement(state.placement);\n var axis = getMainAxisFromPlacement(basePlacement);\n var isVertical = [left, right].indexOf(basePlacement) >= 0;\n var len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n var paddingObject = toPaddingObject(options.padding, state);\n var arrowRect = getLayoutRect(arrowElement);\n var minProp = axis === 'y' ? top : left;\n var maxProp = axis === 'y' ? bottom : right;\n var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n var arrowOffsetParent = getOffsetParent(arrowElement);\n var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n\n var min = paddingObject[minProp];\n var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n var axisProp = axis;\n state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state,\n options = _ref2.options;\n var _options$element = options.element,\n arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n if (arrowElement == null) {\n return;\n } // CSS selector\n\n\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (process.env.NODE_ENV !== \"production\") {\n if (!isHTMLElement(arrowElement)) {\n console.error(['Popper: \"arrow\" element must be an HTMLElement (not an SVGElement).', 'To use an SVG arrow, wrap it in an HTMLElement that will be used as', 'the arrow.'].join(' '));\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(['Popper: \"arrow\" modifier\\'s `element` must be a child of the popper', 'element.'].join(' '));\n }\n\n return;\n }\n\n state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect: effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow']\n};","/* smoothscroll v0.4.4 - 2019 - Dustan Kasten, Jeremias Menichelli - MIT License */\n(function () {\n 'use strict';\n\n // polyfill\n function polyfill() {\n // aliases\n var w = window;\n var d = document;\n\n // return if scroll behavior is supported and polyfill is not forced\n if (\n 'scrollBehavior' in d.documentElement.style &&\n w.__forceSmoothScrollPolyfill__ !== true\n ) {\n return;\n }\n\n // globals\n var Element = w.HTMLElement || w.Element;\n var SCROLL_TIME = 468;\n\n // object gathering original scroll methods\n var original = {\n scroll: w.scroll || w.scrollTo,\n scrollBy: w.scrollBy,\n elementScroll: Element.prototype.scroll || scrollElement,\n scrollIntoView: Element.prototype.scrollIntoView\n };\n\n // define timing method\n var now =\n w.performance && w.performance.now\n ? w.performance.now.bind(w.performance)\n : Date.now;\n\n /**\n * indicates if a the current browser is made by Microsoft\n * @method isMicrosoftBrowser\n * @param {String} userAgent\n * @returns {Boolean}\n */\n function isMicrosoftBrowser(userAgent) {\n var userAgentPatterns = ['MSIE ', 'Trident/', 'Edge/'];\n\n return new RegExp(userAgentPatterns.join('|')).test(userAgent);\n }\n\n /*\n * IE has rounding bug rounding down clientHeight and clientWidth and\n * rounding up scrollHeight and scrollWidth causing false positives\n * on hasScrollableSpace\n */\n var ROUNDING_TOLERANCE = isMicrosoftBrowser(w.navigator.userAgent) ? 1 : 0;\n\n /**\n * changes scroll position inside an element\n * @method scrollElement\n * @param {Number} x\n * @param {Number} y\n * @returns {undefined}\n */\n function scrollElement(x, y) {\n this.scrollLeft = x;\n this.scrollTop = y;\n }\n\n /**\n * returns result of applying ease math function to a number\n * @method ease\n * @param {Number} k\n * @returns {Number}\n */\n function ease(k) {\n return 0.5 * (1 - Math.cos(Math.PI * k));\n }\n\n /**\n * indicates if a smooth behavior should be applied\n * @method shouldBailOut\n * @param {Number|Object} firstArg\n * @returns {Boolean}\n */\n function shouldBailOut(firstArg) {\n if (\n firstArg === null ||\n typeof firstArg !== 'object' ||\n firstArg.behavior === undefined ||\n firstArg.behavior === 'auto' ||\n firstArg.behavior === 'instant'\n ) {\n // first argument is not an object/null\n // or behavior is auto, instant or undefined\n return true;\n }\n\n if (typeof firstArg === 'object' && firstArg.behavior === 'smooth') {\n // first argument is an object and behavior is smooth\n return false;\n }\n\n // throw error when behavior is not supported\n throw new TypeError(\n 'behavior member of ScrollOptions ' +\n firstArg.behavior +\n ' is not a valid value for enumeration ScrollBehavior.'\n );\n }\n\n /**\n * indicates if an element has scrollable space in the provided axis\n * @method hasScrollableSpace\n * @param {Node} el\n * @param {String} axis\n * @returns {Boolean}\n */\n function hasScrollableSpace(el, axis) {\n if (axis === 'Y') {\n return el.clientHeight + ROUNDING_TOLERANCE < el.scrollHeight;\n }\n\n if (axis === 'X') {\n return el.clientWidth + ROUNDING_TOLERANCE < el.scrollWidth;\n }\n }\n\n /**\n * indicates if an element has a scrollable overflow property in the axis\n * @method canOverflow\n * @param {Node} el\n * @param {String} axis\n * @returns {Boolean}\n */\n function canOverflow(el, axis) {\n var overflowValue = w.getComputedStyle(el, null)['overflow' + axis];\n\n return overflowValue === 'auto' || overflowValue === 'scroll';\n }\n\n /**\n * indicates if an element can be scrolled in either axis\n * @method isScrollable\n * @param {Node} el\n * @param {String} axis\n * @returns {Boolean}\n */\n function isScrollable(el) {\n var isScrollableY = hasScrollableSpace(el, 'Y') && canOverflow(el, 'Y');\n var isScrollableX = hasScrollableSpace(el, 'X') && canOverflow(el, 'X');\n\n return isScrollableY || isScrollableX;\n }\n\n /**\n * finds scrollable parent of an element\n * @method findScrollableParent\n * @param {Node} el\n * @returns {Node} el\n */\n function findScrollableParent(el) {\n while (el !== d.body && isScrollable(el) === false) {\n el = el.parentNode || el.host;\n }\n\n return el;\n }\n\n /**\n * self invoked function that, given a context, steps through scrolling\n * @method step\n * @param {Object} context\n * @returns {undefined}\n */\n function step(context) {\n var time = now();\n var value;\n var currentX;\n var currentY;\n var elapsed = (time - context.startTime) / SCROLL_TIME;\n\n // avoid elapsed times higher than one\n elapsed = elapsed > 1 ? 1 : elapsed;\n\n // apply easing to elapsed time\n value = ease(elapsed);\n\n currentX = context.startX + (context.x - context.startX) * value;\n currentY = context.startY + (context.y - context.startY) * value;\n\n context.method.call(context.scrollable, currentX, currentY);\n\n // scroll more if we have not reached our destination\n if (currentX !== context.x || currentY !== context.y) {\n w.requestAnimationFrame(step.bind(w, context));\n }\n }\n\n /**\n * scrolls window or element with a smooth behavior\n * @method smoothScroll\n * @param {Object|Node} el\n * @param {Number} x\n * @param {Number} y\n * @returns {undefined}\n */\n function smoothScroll(el, x, y) {\n var scrollable;\n var startX;\n var startY;\n var method;\n var startTime = now();\n\n // define scroll context\n if (el === d.body) {\n scrollable = w;\n startX = w.scrollX || w.pageXOffset;\n startY = w.scrollY || w.pageYOffset;\n method = original.scroll;\n } else {\n scrollable = el;\n startX = el.scrollLeft;\n startY = el.scrollTop;\n method = scrollElement;\n }\n\n // scroll looping over a frame\n step({\n scrollable: scrollable,\n method: method,\n startTime: startTime,\n startX: startX,\n startY: startY,\n x: x,\n y: y\n });\n }\n\n // ORIGINAL METHODS OVERRIDES\n // w.scroll and w.scrollTo\n w.scroll = w.scrollTo = function() {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n }\n\n // avoid smooth behavior if not required\n if (shouldBailOut(arguments[0]) === true) {\n original.scroll.call(\n w,\n arguments[0].left !== undefined\n ? arguments[0].left\n : typeof arguments[0] !== 'object'\n ? arguments[0]\n : w.scrollX || w.pageXOffset,\n // use top prop, second argument if present or fallback to scrollY\n arguments[0].top !== undefined\n ? arguments[0].top\n : arguments[1] !== undefined\n ? arguments[1]\n : w.scrollY || w.pageYOffset\n );\n\n return;\n }\n\n // LET THE SMOOTHNESS BEGIN!\n smoothScroll.call(\n w,\n d.body,\n arguments[0].left !== undefined\n ? ~~arguments[0].left\n : w.scrollX || w.pageXOffset,\n arguments[0].top !== undefined\n ? ~~arguments[0].top\n : w.scrollY || w.pageYOffset\n );\n };\n\n // w.scrollBy\n w.scrollBy = function() {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n }\n\n // avoid smooth behavior if not required\n if (shouldBailOut(arguments[0])) {\n original.scrollBy.call(\n w,\n arguments[0].left !== undefined\n ? arguments[0].left\n : typeof arguments[0] !== 'object' ? arguments[0] : 0,\n arguments[0].top !== undefined\n ? arguments[0].top\n : arguments[1] !== undefined ? arguments[1] : 0\n );\n\n return;\n }\n\n // LET THE SMOOTHNESS BEGIN!\n smoothScroll.call(\n w,\n d.body,\n ~~arguments[0].left + (w.scrollX || w.pageXOffset),\n ~~arguments[0].top + (w.scrollY || w.pageYOffset)\n );\n };\n\n // Element.prototype.scroll and Element.prototype.scrollTo\n Element.prototype.scroll = Element.prototype.scrollTo = function() {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n }\n\n // avoid smooth behavior if not required\n if (shouldBailOut(arguments[0]) === true) {\n // if one number is passed, throw error to match Firefox implementation\n if (typeof arguments[0] === 'number' && arguments[1] === undefined) {\n throw new SyntaxError('Value could not be converted');\n }\n\n original.elementScroll.call(\n this,\n // use left prop, first number argument or fallback to scrollLeft\n arguments[0].left !== undefined\n ? ~~arguments[0].left\n : typeof arguments[0] !== 'object' ? ~~arguments[0] : this.scrollLeft,\n // use top prop, second argument or fallback to scrollTop\n arguments[0].top !== undefined\n ? ~~arguments[0].top\n : arguments[1] !== undefined ? ~~arguments[1] : this.scrollTop\n );\n\n return;\n }\n\n var left = arguments[0].left;\n var top = arguments[0].top;\n\n // LET THE SMOOTHNESS BEGIN!\n smoothScroll.call(\n this,\n this,\n typeof left === 'undefined' ? this.scrollLeft : ~~left,\n typeof top === 'undefined' ? this.scrollTop : ~~top\n );\n };\n\n // Element.prototype.scrollBy\n Element.prototype.scrollBy = function() {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n }\n\n // avoid smooth behavior if not required\n if (shouldBailOut(arguments[0]) === true) {\n original.elementScroll.call(\n this,\n arguments[0].left !== undefined\n ? ~~arguments[0].left + this.scrollLeft\n : ~~arguments[0] + this.scrollLeft,\n arguments[0].top !== undefined\n ? ~~arguments[0].top + this.scrollTop\n : ~~arguments[1] + this.scrollTop\n );\n\n return;\n }\n\n this.scroll({\n left: ~~arguments[0].left + this.scrollLeft,\n top: ~~arguments[0].top + this.scrollTop,\n behavior: arguments[0].behavior\n });\n };\n\n // Element.prototype.scrollIntoView\n Element.prototype.scrollIntoView = function() {\n // avoid smooth behavior if not required\n if (shouldBailOut(arguments[0]) === true) {\n original.scrollIntoView.call(\n this,\n arguments[0] === undefined ? true : arguments[0]\n );\n\n return;\n }\n\n // LET THE SMOOTHNESS BEGIN!\n var scrollableParent = findScrollableParent(this);\n var parentRects = scrollableParent.getBoundingClientRect();\n var clientRects = this.getBoundingClientRect();\n\n if (scrollableParent !== d.body) {\n // reveal element inside parent\n smoothScroll.call(\n this,\n scrollableParent,\n scrollableParent.scrollLeft + clientRects.left - parentRects.left,\n scrollableParent.scrollTop + clientRects.top - parentRects.top\n );\n\n // reveal parent in viewport unless is fixed\n if (w.getComputedStyle(scrollableParent).position !== 'fixed') {\n w.scrollBy({\n left: parentRects.left,\n top: parentRects.top,\n behavior: 'smooth'\n });\n }\n } else {\n // reveal element in viewport\n w.scrollBy({\n left: clientRects.left,\n top: clientRects.top,\n behavior: 'smooth'\n });\n }\n };\n }\n\n if (typeof exports === 'object' && typeof module !== 'undefined') {\n // commonjs\n module.exports = { polyfill: polyfill };\n } else {\n // global\n polyfill();\n }\n\n}());\n","import merge from 'deepmerge';\nimport { Evented } from './evented.js';\nimport autoBind from './utils/auto-bind.js';\nimport {\n isElement,\n isHTMLElement,\n isFunction,\n isUndefined\n} from './utils/type-check.js';\nimport { bindAdvance } from './utils/bind.js';\nimport {\n setupTooltip,\n parseAttachTo,\n normalizePrefix,\n uuid\n} from './utils/general.js';\nimport ShepherdElement from './components/shepherd-element.svelte';\n\n// Polyfills\nimport smoothscroll from 'smoothscroll-polyfill';\nsmoothscroll.polyfill();\n\n/**\n * A class representing steps to be added to a tour.\n * @extends {Evented}\n */\nexport class Step extends Evented {\n /**\n * Create a step\n * @param {Tour} tour The tour for the step\n * @param {object} options The options for the step\n * @param {boolean} options.arrow Whether to display the arrow for the tooltip or not. Defaults to `true`.\n * @param {object} options.attachTo The element the step should be attached to on the page.\n * An object with properties `element` and `on`.\n *\n * ```js\n * const step = new Step(tour, {\n * attachTo: { element: '.some .selector-path', on: 'left' },\n * ...moreOptions\n * });\n * ```\n *\n * If you don’t specify an attachTo the element will appear in the middle of the screen.\n * If you omit the `on` portion of `attachTo`, the element will still be highlighted, but the tooltip will appear\n * in the middle of the screen, without an arrow pointing to the target.\n * @param {HTMLElement|string} options.attachTo.element An element selector string or a DOM element.\n * @param {string} options.attachTo.on The optional direction to place the Popper tooltip relative to the element.\n * - Possible string values: 'auto', 'auto-start', 'auto-end', 'top', 'top-start', 'top-end', 'bottom', 'bottom-start', 'bottom-end', 'right', 'right-start', 'right-end', 'left', 'left-start', 'left-end'\n * @param {Object} options.advanceOn An action on the page which should advance shepherd to the next step.\n * It should be an object with a string `selector` and an `event` name\n * ```js\n * const step = new Step(tour, {\n * advanceOn: { selector: '.some .selector-path', event: 'click' },\n * ...moreOptions\n * });\n * ```\n * `event` doesn’t have to be an event inside the tour, it can be any event fired on any element on the page.\n * You can also always manually advance the Tour by calling `myTour.next()`.\n * @param {function} options.beforeShowPromise A function that returns a promise.\n * When the promise resolves, the rest of the `show` code for the step will execute.\n * @param {Object[]} options.buttons An array of buttons to add to the step. These will be rendered in a\n * footer below the main body text.\n * @param {function} options.buttons.button.action A function executed when the button is clicked on.\n * It is automatically bound to the `tour` the step is associated with, so things like `this.next` will\n * work inside the action.\n * You can use action to skip steps or navigate to specific steps, with something like:\n * ```js\n * action() {\n * return this.show('some_step_name');\n * }\n * ```\n * @param {string} options.buttons.button.classes Extra classes to apply to the ``\n * @param {boolean} options.buttons.button.disabled Should the button be disabled?\n * @param {string} options.buttons.button.label The aria-label text of the button\n * @param {boolean} options.buttons.button.secondary If true, a shepherd-button-secondary class is applied to the button\n * @param {string} options.buttons.button.text The HTML text of the button\n * @param {boolean} options.canClickTarget A boolean, that when set to false, will set `pointer-events: none` on the target\n * @param {object} options.cancelIcon Options for the cancel icon\n * @param {boolean} options.cancelIcon.enabled Should a cancel “✕” be shown in the header of the step?\n * @param {string} options.cancelIcon.label The label to add for `aria-label`\n * @param {string} options.classes A string of extra classes to add to the step's content element.\n * @param {string} options.highlightClass An extra class to apply to the `attachTo` element when it is\n * highlighted (that is, when its step is active). You can then target that selector in your CSS.\n * @param {string} options.id The string to use as the `id` for the step.\n * @param {number} options.modalOverlayOpeningPadding An amount of padding to add around the modal overlay opening\n * @param {number} options.modalOverlayOpeningRadius An amount of border radius to add around the modal overlay opening\n * @param {object} options.popperOptions Extra options to pass to Popper\n * @param {boolean|Object} options.scrollTo Should the element be scrolled to when this step is shown? If true, uses the default `scrollIntoView`,\n * if an object, passes that object as the params to `scrollIntoView` i.e. `{behavior: 'smooth', block: 'center'}`\n * @param {function} options.scrollToHandler A function that lets you override the default scrollTo behavior and\n * define a custom action to do the scrolling, and possibly other logic.\n * @param {function} options.showOn A function that, when it returns `true`, will show the step.\n * If it returns false, the step will be skipped.\n * @param {string} options.text The text in the body of the step. It can be one of three types:\n * ```\n * - HTML string\n * - `HTMLElement` object\n * - `Function` to be executed when the step is built. It must return one the two options above.\n * ```\n * @param {string} options.title The step's title. It becomes an `h3` at the top of the step. It can be one of two types:\n * ```\n * - HTML string\n * - `Function` to be executed when the step is built. It must return HTML string.\n * ```\n * @param {object} options.when You can define `show`, `hide`, etc events inside `when`. For example:\n * ```js\n * when: {\n * show: function() {\n * window.scrollTo(0, 0);\n * }\n * }\n * ```\n * @return {Step} The newly created Step instance\n */\n constructor(tour, options = {}) {\n super(tour, options);\n this.tour = tour;\n this.classPrefix = this.tour.options\n ? normalizePrefix(this.tour.options.classPrefix)\n : '';\n this.styles = tour.styles;\n\n autoBind(this);\n\n this._setOptions(options);\n\n return this;\n }\n\n /**\n * Cancel the tour\n * Triggers the `cancel` event\n */\n cancel() {\n this.tour.cancel();\n this.trigger('cancel');\n }\n\n /**\n * Complete the tour\n * Triggers the `complete` event\n */\n complete() {\n this.tour.complete();\n this.trigger('complete');\n }\n\n /**\n * Remove the step, delete the step's element, and destroy the Popper instance for the step.\n * Triggers `destroy` event\n */\n destroy() {\n if (this.tooltip) {\n this.tooltip.destroy();\n this.tooltip = null;\n }\n\n if (isHTMLElement(this.el) && this.el.parentNode) {\n this.el.parentNode.removeChild(this.el);\n this.el = null;\n }\n\n this._updateStepTargetOnHide();\n\n this.trigger('destroy');\n }\n\n /**\n * Returns the tour for the step\n * @return {Tour} The tour instance\n */\n getTour() {\n return this.tour;\n }\n\n /**\n * Hide the step\n */\n hide() {\n this.tour.modal.hide();\n\n this.trigger('before-hide');\n\n if (this.el) {\n this.el.hidden = true;\n }\n\n this._updateStepTargetOnHide();\n\n this.trigger('hide');\n }\n\n /**\n * Checks if the step should be centered or not\n * @return {boolean} True if the step is centered\n */\n isCentered() {\n const attachToOptions = parseAttachTo(this);\n return !attachToOptions.element || !attachToOptions.on;\n }\n\n /**\n * Check if the step is open and visible\n * @return {boolean} True if the step is open and visible\n */\n isOpen() {\n return Boolean(this.el && !this.el.hidden);\n }\n\n /**\n * Wraps `_show` and ensures `beforeShowPromise` resolves before calling show\n * @return {*|Promise}\n */\n show() {\n if (isFunction(this.options.beforeShowPromise)) {\n const beforeShowPromise = this.options.beforeShowPromise();\n if (!isUndefined(beforeShowPromise)) {\n return beforeShowPromise.then(() => this._show());\n }\n }\n this._show();\n }\n\n /**\n * Updates the options of the step.\n *\n * @param {Object} options The options for the step\n */\n updateStepOptions(options) {\n Object.assign(this.options, options);\n\n if (this.shepherdElementComponent) {\n this.shepherdElementComponent.$set({ step: this });\n }\n }\n\n /**\n * Returns the element for the step\n * @return {HTMLElement|null|undefined} The element instance. undefined if it has never been shown, null if it has been destroyed\n */\n getElement() {\n return this.el;\n }\n\n /**\n * Returns the target for the step\n * @return {HTMLElement|null|undefined} The element instance. undefined if it has never been shown, null if query string has not been found\n */\n getTarget() {\n return this.target;\n }\n\n /**\n * Creates Shepherd element for step based on options\n *\n * @return {Element} The DOM element for the step tooltip\n * @private\n */\n _createTooltipContent() {\n const descriptionId = `${this.id}-description`;\n const labelId = `${this.id}-label`;\n\n this.shepherdElementComponent = new ShepherdElement({\n target: this.tour.options.stepsContainer || document.body,\n props: {\n classPrefix: this.classPrefix,\n descriptionId,\n labelId,\n step: this,\n styles: this.styles\n }\n });\n\n return this.shepherdElementComponent.getElement();\n }\n\n /**\n * If a custom scrollToHandler is defined, call that, otherwise do the generic\n * scrollIntoView call.\n *\n * @param {boolean|Object} scrollToOptions If true, uses the default `scrollIntoView`,\n * if an object, passes that object as the params to `scrollIntoView` i.e. `{ behavior: 'smooth', block: 'center' }`\n * @private\n */\n _scrollTo(scrollToOptions) {\n const { element } = parseAttachTo(this);\n\n if (isFunction(this.options.scrollToHandler)) {\n this.options.scrollToHandler(element);\n } else if (\n isElement(element) &&\n typeof element.scrollIntoView === 'function'\n ) {\n element.scrollIntoView(scrollToOptions);\n }\n }\n\n /**\n * _getClassOptions gets all possible classes for the step\n * @param {Object} stepOptions The step specific options\n * @returns {String} unique string from array of classes\n * @private\n */\n _getClassOptions(stepOptions) {\n const defaultStepOptions =\n this.tour && this.tour.options && this.tour.options.defaultStepOptions;\n const stepClasses = stepOptions.classes ? stepOptions.classes : '';\n const defaultStepOptionsClasses =\n defaultStepOptions && defaultStepOptions.classes\n ? defaultStepOptions.classes\n : '';\n const allClasses = [\n ...stepClasses.split(' '),\n ...defaultStepOptionsClasses.split(' ')\n ];\n const uniqClasses = new Set(allClasses);\n\n return Array.from(uniqClasses).join(' ').trim();\n }\n\n /**\n * Sets the options for the step, maps `when` to events, sets up buttons\n * @param {Object} options The options for the step\n * @private\n */\n _setOptions(options = {}) {\n let tourOptions =\n this.tour && this.tour.options && this.tour.options.defaultStepOptions;\n\n tourOptions = merge({}, tourOptions || {});\n\n this.options = Object.assign(\n {\n arrow: true\n },\n tourOptions,\n options\n );\n\n const { when } = this.options;\n\n this.options.classes = this._getClassOptions(options);\n\n this.destroy();\n this.id = this.options.id || `step-${uuid()}`;\n\n if (when) {\n Object.keys(when).forEach((event) => {\n this.on(event, when[event], this);\n });\n }\n }\n\n /**\n * Create the element and set up the Popper instance\n * @private\n */\n _setupElements() {\n if (!isUndefined(this.el)) {\n this.destroy();\n }\n\n this.el = this._createTooltipContent();\n\n if (this.options.advanceOn) {\n bindAdvance(this);\n }\n setupTooltip(this);\n }\n\n /**\n * Triggers `before-show`, generates the tooltip DOM content,\n * sets up a Popper instance for the tooltip, then triggers `show`.\n * @private\n */\n _show() {\n this.trigger('before-show');\n\n this._setupElements();\n\n if (!this.tour.modal) {\n this.tour._setupModal();\n }\n\n this.tour.modal.setupForStep(this);\n this._styleTargetElementForStep(this);\n this.el.hidden = false;\n\n // start scrolling to target before showing the step\n if (this.options.scrollTo) {\n setTimeout(() => {\n this._scrollTo(this.options.scrollTo);\n });\n }\n\n this.el.hidden = false;\n\n const content = this.shepherdElementComponent.getElement();\n const target = this.target || document.body;\n target.classList.add(`${this.classPrefix}shepherd-enabled`);\n target.classList.add(`${this.classPrefix}shepherd-target`);\n content.classList.add('shepherd-enabled');\n\n this.trigger('show');\n }\n\n /**\n * Modulates the styles of the passed step's target element, based on the step's options and\n * the tour's `modal` option, to visually emphasize the element\n *\n * @param step The step object that attaches to the element\n * @private\n */\n _styleTargetElementForStep(step) {\n const targetElement = step.target;\n\n if (!targetElement) {\n return;\n }\n\n if (step.options.highlightClass) {\n targetElement.classList.add(step.options.highlightClass);\n }\n\n targetElement.classList.remove('shepherd-target-click-disabled');\n\n if (step.options.canClickTarget === false) {\n targetElement.classList.add('shepherd-target-click-disabled');\n }\n }\n\n /**\n * When a step is hidden, remove the highlightClass and 'shepherd-enabled'\n * and 'shepherd-target' classes\n * @private\n */\n _updateStepTargetOnHide() {\n const target = this.target || document.body;\n\n if (this.options.highlightClass) {\n target.classList.remove(this.options.highlightClass);\n }\n\n target.classList.remove(\n 'shepherd-target-click-disabled',\n `${this.classPrefix}shepherd-enabled`,\n `${this.classPrefix}shepherd-target`\n );\n }\n}\n","import { Evented } from './evented.js';\nimport { Step } from './step.js';\nimport autoBind from './utils/auto-bind.js';\nimport {\n isHTMLElement,\n isFunction,\n isString,\n isUndefined\n} from './utils/type-check.js';\nimport { cleanupSteps } from './utils/cleanup.js';\nimport { normalizePrefix, uuid } from './utils/general.js';\nimport ShepherdModal from './components/shepherd-modal.svelte';\n\nconst Shepherd = new Evented();\n\n/**\n * Class representing the site tour\n * @extends {Evented}\n */\nexport class Tour extends Evented {\n /**\n * @param {Object} options The options for the tour\n * @param {boolean} options.confirmCancel If true, will issue a `window.confirm` before cancelling\n * @param {string} options.confirmCancelMessage The message to display in the confirm dialog\n * @param {string} options.classPrefix The prefix to add to the `shepherd-enabled` and `shepherd-target` class names as well as the `data-shepherd-step-id`.\n * @param {Object} options.defaultStepOptions Default options for Steps ({@link Step#constructor}), created through `addStep`\n * @param {boolean} options.exitOnEsc Exiting the tour with the escape key will be enabled unless this is explicitly\n * set to false.\n * @param {boolean} options.keyboardNavigation Navigating the tour via left and right arrow keys will be enabled\n * unless this is explicitly set to false.\n * @param {HTMLElement} options.stepsContainer An optional container element for the steps.\n * If not set, the steps will be appended to `document.body`.\n * @param {HTMLElement} options.modalContainer An optional container element for the modal.\n * If not set, the modal will be appended to `document.body`.\n * @param {object[] | Step[]} options.steps An array of step options objects or Step instances to initialize the tour with\n * @param {string} options.tourName An optional \"name\" for the tour. This will be appended to the the tour's\n * dynamically generated `id` property -- which is also set on the `body` element as the `data-shepherd-active-tour` attribute\n * whenever the tour becomes active.\n * @param {boolean} options.useModalOverlay Whether or not steps should be placed above a darkened\n * modal overlay. If true, the overlay will create an opening around the target element so that it\n * can remain interactive\n * @returns {Tour}\n */\n constructor(options = {}) {\n super(options);\n\n autoBind(this);\n\n const defaultTourOptions = {\n exitOnEsc: true,\n keyboardNavigation: true\n };\n\n this.options = Object.assign({}, defaultTourOptions, options);\n this.classPrefix = normalizePrefix(this.options.classPrefix);\n this.steps = [];\n this.addSteps(this.options.steps);\n\n // Pass these events onto the global Shepherd object\n const events = [\n 'active',\n 'cancel',\n 'complete',\n 'inactive',\n 'show',\n 'start'\n ];\n events.map((event) => {\n ((e) => {\n this.on(e, (opts) => {\n opts = opts || {};\n opts.tour = this;\n Shepherd.trigger(e, opts);\n });\n })(event);\n });\n\n this._setTourID();\n\n return this;\n }\n\n /**\n * Adds a new step to the tour\n * @param {Object|Step} options An object containing step options or a Step instance\n * @param {number} index The optional index to insert the step at. If undefined, the step\n * is added to the end of the array.\n * @return {Step} The newly added step\n */\n addStep(options, index) {\n let step = options;\n\n if (!(step instanceof Step)) {\n step = new Step(this, step);\n } else {\n step.tour = this;\n }\n\n if (!isUndefined(index)) {\n this.steps.splice(index, 0, step);\n } else {\n this.steps.push(step);\n }\n\n return step;\n }\n\n /**\n * Add multiple steps to the tour\n * @param {Array | Array} steps The steps to add to the tour\n */\n addSteps(steps) {\n if (Array.isArray(steps)) {\n steps.forEach((step) => {\n this.addStep(step);\n });\n }\n\n return this;\n }\n\n /**\n * Go to the previous step in the tour\n */\n back() {\n const index = this.steps.indexOf(this.currentStep);\n this.show(index - 1, false);\n }\n\n /**\n * Calls _done() triggering the 'cancel' event\n * If `confirmCancel` is true, will show a window.confirm before cancelling\n */\n cancel() {\n if (this.options.confirmCancel) {\n const cancelMessage =\n this.options.confirmCancelMessage ||\n 'Are you sure you want to stop the tour?';\n const stopTour = window.confirm(cancelMessage);\n if (stopTour) {\n this._done('cancel');\n }\n } else {\n this._done('cancel');\n }\n }\n\n /**\n * Calls _done() triggering the `complete` event\n */\n complete() {\n this._done('complete');\n }\n\n /**\n * Gets the step from a given id\n * @param {Number|String} id The id of the step to retrieve\n * @return {Step} The step corresponding to the `id`\n */\n getById(id) {\n return this.steps.find((step) => {\n return step.id === id;\n });\n }\n\n /**\n * Gets the current step\n * @returns {Step|null}\n */\n getCurrentStep() {\n return this.currentStep;\n }\n\n /**\n * Hide the current step\n */\n hide() {\n const currentStep = this.getCurrentStep();\n\n if (currentStep) {\n return currentStep.hide();\n }\n }\n\n /**\n * Check if the tour is active\n * @return {boolean}\n */\n isActive() {\n return Shepherd.activeTour === this;\n }\n\n /**\n * Go to the next step in the tour\n * If we are at the end, call `complete`\n */\n next() {\n const index = this.steps.indexOf(this.currentStep);\n\n if (index === this.steps.length - 1) {\n this.complete();\n } else {\n this.show(index + 1, true);\n }\n }\n\n /**\n * Removes the step from the tour\n * @param {String} name The id for the step to remove\n */\n removeStep(name) {\n const current = this.getCurrentStep();\n\n // Find the step, destroy it and remove it from this.steps\n this.steps.some((step, i) => {\n if (step.id === name) {\n if (step.isOpen()) {\n step.hide();\n }\n\n step.destroy();\n this.steps.splice(i, 1);\n\n return true;\n }\n });\n\n if (current && current.id === name) {\n this.currentStep = undefined;\n\n // If we have steps left, show the first one, otherwise just cancel the tour\n this.steps.length ? this.show(0) : this.cancel();\n }\n }\n\n /**\n * Show a specific step in the tour\n * @param {Number|String} key The key to look up the step by\n * @param {Boolean} forward True if we are going forward, false if backward\n */\n show(key = 0, forward = true) {\n const step = isString(key) ? this.getById(key) : this.steps[key];\n\n if (step) {\n this._updateStateBeforeShow();\n\n const shouldSkipStep =\n isFunction(step.options.showOn) && !step.options.showOn();\n\n // If `showOn` returns false, we want to skip the step, otherwise, show the step like normal\n if (shouldSkipStep) {\n this._skipStep(step, forward);\n } else {\n this.trigger('show', {\n step,\n previous: this.currentStep\n });\n\n this.currentStep = step;\n step.show();\n }\n }\n }\n\n /**\n * Start the tour\n */\n start() {\n this.trigger('start');\n\n // Save the focused element before the tour opens\n this.focusedElBeforeOpen = document.activeElement;\n\n this.currentStep = null;\n\n this._setupModal();\n\n this._setupActiveTour();\n this.next();\n }\n\n /**\n * Called whenever the tour is cancelled or completed, basically anytime we exit the tour\n * @param {String} event The event name to trigger\n * @private\n */\n _done(event) {\n const index = this.steps.indexOf(this.currentStep);\n if (Array.isArray(this.steps)) {\n this.steps.forEach((step) => step.destroy());\n }\n\n cleanupSteps(this);\n\n this.trigger(event, { index });\n\n Shepherd.activeTour = null;\n this.trigger('inactive', { tour: this });\n\n if (this.modal) {\n this.modal.hide();\n }\n\n if (event === 'cancel' || event === 'complete') {\n if (this.modal) {\n const modalContainer = document.querySelector(\n '.shepherd-modal-overlay-container'\n );\n\n if (modalContainer) {\n modalContainer.remove();\n }\n }\n }\n\n // Focus the element that was focused before the tour started\n if (isHTMLElement(this.focusedElBeforeOpen)) {\n this.focusedElBeforeOpen.focus();\n }\n }\n\n /**\n * Make this tour \"active\"\n * @private\n */\n _setupActiveTour() {\n this.trigger('active', { tour: this });\n\n Shepherd.activeTour = this;\n }\n\n /**\n * _setupModal create the modal container and instance\n * @private\n */\n _setupModal() {\n this.modal = new ShepherdModal({\n target: this.options.modalContainer || document.body,\n props: {\n classPrefix: this.classPrefix,\n styles: this.styles\n }\n });\n }\n\n /**\n * Called when `showOn` evaluates to false, to skip the step or complete the tour if it's the last step\n * @param {Step} step The step to skip\n * @param {Boolean} forward True if we are going forward, false if backward\n * @private\n */\n _skipStep(step, forward) {\n const index = this.steps.indexOf(step);\n\n if (index === this.steps.length - 1) {\n this.complete();\n } else {\n const nextIndex = forward ? index + 1 : index - 1;\n this.show(nextIndex, forward);\n }\n }\n\n /**\n * Before showing, hide the current step and if the tour is not\n * already active, call `this._setupActiveTour`.\n * @private\n */\n _updateStateBeforeShow() {\n if (this.currentStep) {\n this.currentStep.hide();\n }\n\n if (!this.isActive()) {\n this._setupActiveTour();\n }\n }\n\n /**\n * Sets this.id to `${tourName}--${uuid}`\n * @private\n */\n _setTourID() {\n const tourName = this.options.tourName || 'tour';\n\n this.id = `${tourName}--${uuid()}`;\n }\n}\n\nexport { Shepherd };\n","import { Step } from './step.js';\nimport { Shepherd, Tour } from './tour.js';\n\nObject.assign(Shepherd, { Tour, Step });\n\nexport default Shepherd;\n"],"names":["cloneUnlessOtherwiseSpecified","value","options","clone","isMergeableObject","deepmerge","Array","isArray","defaultArrayMerge","target","source","concat","map","element","getEnumerableOwnPropertySymbols","Object","getOwnPropertySymbols","filter","symbol","propertyIsEnumerable","getKeys","keys","propertyIsOnObject","object","property","_","mergeObject","destination","forEach","key","hasOwnProperty","call","customMerge","getMergeFunction","arrayMerge","sourceIsArray","targetIsArray","isFunction","isString","autoBind","self","getOwnPropertyNames","constructor","i","length","val","bind","_setupAdvanceOnHandler","selector","step","event","isOpen","targetIsEl","currentTarget","el","targetIsSelector","undefined","isUndefined","matches","tour","next","bindAdvance","advanceOn","handler","document","querySelector","e","addEventListener","on","removeEventListener","body","console","error","getNodeName","toLowerCase","nodeName","getWindow","node","window","toString","ownerDocument","defaultView","isElement","OwnElement","Element","isHTMLElement","HTMLElement","isShadowRoot","ShadowRoot","getBasePlacement","placement","split","getBoundingClientRect","includeScale","rect","scaleX","scaleY","offsetHeight","offsetWidth","round","width","height","top","right","bottom","left","x","y","getLayoutRect","clientRect","Math","abs","offsetLeft","offsetTop","contains","parent","child","rootNode","getRootNode","isSameNode","parentNode","host","getComputedStyle","getDocumentElement","documentElement","getParentNode","assignedSlot","getTrueOffsetParent","position","offsetParent","getOffsetParent","indexOf","isFirefox","navigator","userAgent","getContainingBlock","currentNode","css","transform","perspective","contain","willChange","getMainAxisFromPlacement","mergePaddingObject","paddingObject","assign","expandToHashMap","reduce","hashMap","getVariation","mapToStyles","_ref2","_Object$assign2","popper","popperRect","variation","offsets","gpuAcceleration","adaptive","roundOffsets","isFixed","_offsets$x","_offsets$y","_ref3","hasX","hasY","sideX","sideY","win","heightProp","widthProp","end","visualViewport","commonStyles","unsetSides","roundOffsetsByDPR","dpr","devicePixelRatio","_ref4","_Object$assign","getOppositePlacement","replace","matched","hash","getOppositeVariationPlacement","getWindowScroll","scrollLeft","pageXOffset","scrollTop","pageYOffset","getWindowScrollBarX","isScrollParent","_getComputedStyle","test","overflow","overflowY","overflowX","getScrollParent","listScrollParents","list","_element$ownerDocumen","scrollParent","isBody","updatedList","rectToClientRect","getClientRectFromMixedType","clippingParent","viewport","html","clientWidth","clientHeight","clientTop","clientLeft","winScroll","max","scrollWidth","scrollHeight","direction","getClippingParents","clippingParents","clipperElement","canEscapeClipping","getClippingRect","boundary","rootBoundary","mainClippingParents","clippingRect","accRect","min","computeOffsets","_ref","reference","basePlacement","commonX","commonY","mainAxis","len","start","detectOverflow","state","_options","_options$placement","_options$boundary","_options$rootBoundary","_options$elementConte","elementContext","_options$altBoundary","altBoundary","_options$padding","padding","basePlacements","rects","elements","clippingClientRect","contextElement","referenceClientRect","popperOffsets","strategy","popperClientRect","elementClientRect","overflowOffsets","offsetData","modifiersData","offset","multiply","axis","computeAutoPlacement","flipVariations","_options$allowedAutoP","allowedAutoPlacements","allPlacements","placements","variationPlacements","allowedPlacements","overflows","acc","sort","a","b","getExpandedFallbackPlacements","auto","oppositePlacement","getSideOffsets","preventedOffsets","isAnySideFullyClipped","some","side","getCompositeRect","elementOrVirtualElement","isOffsetParentAnElement","isElementScaled","offsetParentIsScaled","scroll","getHTMLElementScroll","order","modifiers","modifier","visited","add","name","requires","requiresIfExists","dep","has","depModifier","get","result","push","Map","Set","set","orderModifiers","orderedModifiers","modifierPhases","phase","debounce","fn","pending","Promise","resolve","then","mergeByName","merged","current","existing","data","areValidElements","_len","arguments","args","_key","_getCenteredStylePopperModifier","attributes","style","removeAttribute","setAttribute","makeCenteredPopper","centeredStylePopperModifier","popperOptions","enabled","setTimeout","focus","from","normalizePrefix","prefix","charAt","parseAttachTo","returnOpts","uuid","d","Date","now","c","random","floor","r","getPopperOptions","attachToOptions","altAxis","tether","isCentered","defaultStepOptions","_mergeModifiers","stepOptions","mergedPopperOptions","mod","filteredModifiers","names","noop","tar","src","k","run","is_function","thing","safe_not_equal","detach","removeChild","svg_element","createElementNS","listen","attr","attribute","getAttribute","set_attributes","descriptors","getOwnPropertyDescriptors","__proto__","cssText","toggle_class","toggle","classList","get_current_component","current_component","Error","add_render_callback","render_callbacks","flush","saved_component","flushidx","dirty_components","component","$$","fragment","update","before_update","fns","dirty","p","ctx","after_update","binding_callbacks","pop","seen_callbacks","callback","flush_callbacks","update_scheduled","clear","group_outros","outros","check_outros","transition_in","block","local","outroing","delete","transition_out","o","create_component","mount_component","anchor","customElement","on_mount","on_destroy","m","new_on_destroy","destroy_component","detaching","init","instance","create_fragment","not_equal","props","append_styles","parent_component","bound","create","on_disconnect","context","callbacks","skip_bound","root","ready","ret","resolved_promise","fill","hydrate","nodes","children","childNodes","l","intro","createElement","button","button_class_value","insertBefore","apply","getConfigOption","option","config","$$props","action","classes","disabled","label","secondary","text","$$invalidate","createTextNode","each_blocks","iterations","create_if_block","footer","buttons","button_aria_label_value","appendChild","span","cancelIcon","preventDefault","cancel","h3","labelId","title","innerHTML","$$value","create_if_block_1","header","div","descriptionId","show_if_2","show_if_1","show_if","arrow","attachTo","div_aria_describedby_value","to_null_out","accounted_for","$$scope","updates","n","levels","getClassesArray","className","classPrefix","firstFocusableElement","focusableElements","lastFocusableElement","dataStepId","hasCancelIcon","hasTitle","id","querySelectorAll","oldClasses","remove","newClasses","keyCode","KEY_TAB","shiftKey","activeElement","KEY_ESC","exitOnEsc","LEFT_ARROW","keyboardNavigation","back","RIGHT_ARROW","cleanupSteps","steps","canClickTarget","svg","path","_getScrollParent","isScrollable","parentElement","closeModalOpening","openingProperties","hide","modalIsVisible","_cleanupStepEventListeners","positionModal","modalOverlayOpeningPadding","modalOverlayOpeningRadius","targetElement","elementRect","scrollRect","scrollBottom","show","rafId","cancelAnimationFrame","_preventModalBodyTouch","passive","_styleForStep","rafLoop","requestAnimationFrame","pathDefinition","innerWidth","w","innerHeight","h","stopPropagation","setupForStep","useModalOverlay","isNonNullObject","stringValue","prototype","$$typeof","REACT_ELEMENT_TYPE","canUseSymbol","Symbol","for","all","deepmerge.all","array","prev","cjs","Evented","once","bindings","off","binding","index","splice","trigger","DEFAULT_OPTIONS","createPopper","popperGenerator","generatorOptions","_generatorOptions$def","_generatorOptions","defaultModifiers","_generatorOptions$def2","defaultOptions","runModifierEffects","_ref3$options","effect","cleanupFn","effectCleanupFns","noopFn","cleanupModifierEffects","styles","isDestroyed","setOptions","setOptionsAction","scrollParents","forceUpdate","_state$elements","reset","_state$orderedModifie","_state$orderedModifie2","destroy","onFirstUpdate","eventListeners","_options$scroll","_options$resize","resize","popperOffsets$1","computeStyles$1","computeStyles","_ref5","_options$gpuAccelerat","_options$adaptive","_options$roundOffsets","applyStyles$1","applyStyles","effect$2","initialStyles","margin","styleProperties","offset$1","_options$offset","distanceAndSkiddingToXY","invertDistance","skidding","distance","_data$state$placement","flip$1","flip","_skip","_options$mainAxis","checkMainAxis","_options$altAxis","checkAltAxis","specifiedFallbackPlacements","fallbackPlacements","_options$flipVariatio","preferredPlacement","isBasePlacement","referenceRect","checksMap","makeFallbackChecks","firstFittingPlacement","_basePlacement","isStartVariation","isVertical","mainVariationSide","altVariationSide","checks","every","check","_loop","_i","fittingPlacement","find","slice","preventOverflow$1","preventOverflow","_options$tether","_options$tetherOffset","tetherOffset","tetherOffsetValue","normalizedTetherOffsetValue","offsetModifierState","_offsetModifierState$","mainSide","altSide","additive","minLen","maxLen","arrowElement","arrowRect","arrowPaddingObject","arrowPaddingMin","arrowPaddingMax","arrowLen","mathMax","min$1","mathMin","minOffset","maxOffset","clientOffset","arrowOffsetParent","offsetModifierValue","tetherMax","preventedOffset","_offsetModifierState$2","_offset","_min","_max","isOriginSide","_offsetModifierValue","_tetherMin","_tetherMax","v","withinMaxClamp","within","_preventedOffset","arrow$1","_state$modifiersData$","minProp","maxProp","endDiff","startDiff","clientSize","center","centerOffset","effect$1","_options$element","hide$1","referenceOverflow","popperAltOverflow","referenceClippingOffsets","popperEscapeOffsets","isReferenceHidden","hasPopperEscaped","SvelteComponent","$destroy","$on","type","$set","$$set","module","polyfill","scrollElement","shouldBailOut","firstArg","behavior","TypeError","hasScrollableSpace","ROUNDING_TOLERANCE","canOverflow","overflowValue","isScrollableY","isScrollableX","elapsed","startTime","SCROLL_TIME","cos","PI","currentX","startX","currentY","startY","method","scrollable","smoothScroll","scrollX","scrollY","original","__forceSmoothScrollPolyfill__","scrollTo","scrollBy","elementScroll","scrollIntoView","performance","isMicrosoftBrowser","w.scrollTo","w.scrollBy","Element.prototype.scrollTo","SyntaxError","Element.prototype.scrollBy","Element.prototype.scrollIntoView","parentRects","scrollableParent","clientRects","smoothscroll","Step","_setOptions","complete","tooltip","_updateStepTargetOnHide","getTour","modal","hidden","Boolean","beforeShowPromise","_show","updateStepOptions","shepherdElementComponent","getElement","getTarget","_createTooltipContent","ShepherdElement","stepsContainer","_scrollTo","scrollToOptions","scrollToHandler","_getClassOptions","defaultStepOptionsClasses","allClasses","uniqClasses","join","trim","tourOptions","merge","when","_setupElements","content","_setupModal","_styleTargetElementForStep","highlightClass","Shepherd","Tour","defaultTourOptions","addSteps","events","opts","_setTourID","addStep","currentStep","confirmCancel","_done","getById","getCurrentStep","isActive","activeTour","removeStep","forward","_updateStateBeforeShow","showOn","_skipStep","previous","focusedElBeforeOpen","_setupActiveTour","modalContainer","ShepherdModal"],"mappings":"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"} \ No newline at end of file diff --git a/core/assets/vendor/sortable/Sortable.min.js b/core/assets/vendor/sortable/Sortable.min.js index eba0614973b..17bb16c73b2 100644 --- a/core/assets/vendor/sortable/Sortable.min.js +++ b/core/assets/vendor/sortable/Sortable.min.js @@ -1,2 +1,2 @@ -/*! Sortable 1.10.2 - MIT | git://github.com/SortableJS/Sortable.git */ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).Sortable=e()}(this,function(){"use strict";function o(t){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function a(){return(a=Object.assign||function(t){for(var e=1;e"===e[0]&&(e=e.substring(1)),t)try{if(t.matches)return t.matches(e);if(t.msMatchesSelector)return t.msMatchesSelector(e);if(t.webkitMatchesSelector)return t.webkitMatchesSelector(e)}catch(t){return!1}return!1}}function P(t,e,n,o){if(t){n=n||document;do{if(null!=e&&(">"===e[0]?t.parentNode===n&&h(t,e):h(t,e))||o&&t===n)return t;if(t===n)break}while(t=(i=t).host&&i!==document&&i.host.nodeType?i.host:i.parentNode)}var i;return null}var f,p=/\s+/g;function k(t,e,n){if(t&&e)if(t.classList)t.classList[n?"add":"remove"](e);else{var o=(" "+t.className+" ").replace(p," ").replace(" "+e+" "," ");t.className=(o+(n?" "+e:"")).replace(p," ")}}function R(t,e,n){var o=t&&t.style;if(o){if(void 0===n)return document.defaultView&&document.defaultView.getComputedStyle?n=document.defaultView.getComputedStyle(t,""):t.currentStyle&&(n=t.currentStyle),void 0===e?n:n[e];e in o||-1!==e.indexOf("webkit")||(e="-webkit-"+e),o[e]=n+("string"==typeof n?"":"px")}}function v(t,e){var n="";if("string"==typeof t)n=t;else do{var o=R(t,"transform");o&&"none"!==o&&(n=o+" "+n)}while(!e&&(t=t.parentNode));var i=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return i&&new i(n)}function g(t,e,n){if(t){var o=t.getElementsByTagName(e),i=0,r=o.length;if(n)for(;i=e.left-n&&r<=e.right+n,i=a>=e.top-n&&a<=e.bottom+n;return n&&o&&i?l=t:void 0}}),l}((t=t.touches?t.touches[0]:t).clientX,t.clientY);if(e){var n={};for(var o in t)t.hasOwnProperty(o)&&(n[o]=t[o]);n.target=n.rootEl=e,n.preventDefault=void 0,n.stopPropagation=void 0,e[j]._onDragOver(n)}}}function kt(t){z&&z.parentNode[j]._isOutsideThisEl(t.target)}function Rt(t,e){if(!t||!t.nodeType||1!==t.nodeType)throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(t));this.el=t,this.options=e=a({},e),t[j]=this;var n={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(t.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return Ot(t,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(t,e){t.setData("Text",e.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:!1!==Rt.supportPointer&&"PointerEvent"in window,emptyInsertThreshold:5};for(var o in O.initializePlugins(this,t,n),n)o in e||(e[o]=n[o]);for(var i in At(e),this)"_"===i.charAt(0)&&"function"==typeof this[i]&&(this[i]=this[i].bind(this));this.nativeDraggable=!e.forceFallback&&xt,this.nativeDraggable&&(this.options.touchStartThreshold=1),e.supportPointer?u(t,"pointerdown",this._onTapStart):(u(t,"mousedown",this._onTapStart),u(t,"touchstart",this._onTapStart)),this.nativeDraggable&&(u(t,"dragover",this),u(t,"dragenter",this)),bt.push(this.el),e.store&&e.store.get&&this.sort(e.store.get(this)||[]),a(this,T())}function Xt(t,e,n,o,i,r,a,l){var s,c,u=t[j],d=u.options.onMove;return!window.CustomEvent||w||E?(s=document.createEvent("Event")).initEvent("move",!0,!0):s=new CustomEvent("move",{bubbles:!0,cancelable:!0}),s.to=e,s.from=t,s.dragged=n,s.draggedRect=o,s.related=i||e,s.relatedRect=r||X(e),s.willInsertAfter=l,s.originalEvent=a,t.dispatchEvent(s),d&&(c=d.call(u,s,a)),c}function Yt(t){t.draggable=!1}function Bt(){Dt=!1}function Ft(t){for(var e=t.tagName+t.className+t.src+t.href+t.textContent,n=e.length,o=0;n--;)o+=e.charCodeAt(n);return o.toString(36)}function Ht(t){return setTimeout(t,0)}function Lt(t){return clearTimeout(t)}Rt.prototype={constructor:Rt,_isOutsideThisEl:function(t){this.el.contains(t)||t===this.el||(ht=null)},_getDirection:function(t,e){return"function"==typeof this.options.direction?this.options.direction.call(this,t,e,z):this.options.direction},_onTapStart:function(e){if(e.cancelable){var n=this,o=this.el,t=this.options,i=t.preventOnFilter,r=e.type,a=e.touches&&e.touches[0]||e.pointerType&&"touch"===e.pointerType&&e,l=(a||e).target,s=e.target.shadowRoot&&(e.path&&e.path[0]||e.composedPath&&e.composedPath()[0])||l,c=t.filter;if(function(t){St.length=0;var e=t.getElementsByTagName("input"),n=e.length;for(;n--;){var o=e[n];o.checked&&St.push(o)}}(o),!z&&!(/mousedown|pointerdown/.test(r)&&0!==e.button||t.disabled||s.isContentEditable||(l=P(l,t.draggable,o,!1))&&l.animated||Z===l)){if(J=F(l),et=F(l,t.draggable),"function"==typeof c){if(c.call(this,e,l,this))return W({sortable:n,rootEl:s,name:"filter",targetEl:l,toEl:o,fromEl:o}),K("filter",n,{evt:e}),void(i&&e.cancelable&&e.preventDefault())}else if(c&&(c=c.split(",").some(function(t){if(t=P(s,t.trim(),o,!1))return W({sortable:n,rootEl:t,name:"filter",targetEl:l,fromEl:o,toEl:o}),K("filter",n,{evt:e}),!0})))return void(i&&e.cancelable&&e.preventDefault());t.handle&&!P(s,t.handle,o,!1)||this._prepareDragStart(e,a,l)}}},_prepareDragStart:function(t,e,n){var o,i=this,r=i.el,a=i.options,l=r.ownerDocument;if(n&&!z&&n.parentNode===r){var s=X(n);if(q=r,G=(z=n).parentNode,V=z.nextSibling,Z=n,ot=a.group,rt={target:Rt.dragged=z,clientX:(e||t).clientX,clientY:(e||t).clientY},ct=rt.clientX-s.left,ut=rt.clientY-s.top,this._lastX=(e||t).clientX,this._lastY=(e||t).clientY,z.style["will-change"]="all",o=function(){K("delayEnded",i,{evt:t}),Rt.eventCanceled?i._onDrop():(i._disableDelayedDragEvents(),!c&&i.nativeDraggable&&(z.draggable=!0),i._triggerDragStart(t,e),W({sortable:i,name:"choose",originalEvent:t}),k(z,a.chosenClass,!0))},a.ignore.split(",").forEach(function(t){g(z,t.trim(),Yt)}),u(l,"dragover",Pt),u(l,"mousemove",Pt),u(l,"touchmove",Pt),u(l,"mouseup",i._onDrop),u(l,"touchend",i._onDrop),u(l,"touchcancel",i._onDrop),c&&this.nativeDraggable&&(this.options.touchStartThreshold=4,z.draggable=!0),K("delayStart",this,{evt:t}),!a.delay||a.delayOnTouchOnly&&!e||this.nativeDraggable&&(E||w))o();else{if(Rt.eventCanceled)return void this._onDrop();u(l,"mouseup",i._disableDelayedDrag),u(l,"touchend",i._disableDelayedDrag),u(l,"touchcancel",i._disableDelayedDrag),u(l,"mousemove",i._delayedDragTouchMoveHandler),u(l,"touchmove",i._delayedDragTouchMoveHandler),a.supportPointer&&u(l,"pointermove",i._delayedDragTouchMoveHandler),i._dragStartTimer=setTimeout(o,a.delay)}}},_delayedDragTouchMoveHandler:function(t){var e=t.touches?t.touches[0]:t;Math.max(Math.abs(e.clientX-this._lastX),Math.abs(e.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){z&&Yt(z),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var t=this.el.ownerDocument;d(t,"mouseup",this._disableDelayedDrag),d(t,"touchend",this._disableDelayedDrag),d(t,"touchcancel",this._disableDelayedDrag),d(t,"mousemove",this._delayedDragTouchMoveHandler),d(t,"touchmove",this._delayedDragTouchMoveHandler),d(t,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(t,e){e=e||"touch"==t.pointerType&&t,!this.nativeDraggable||e?this.options.supportPointer?u(document,"pointermove",this._onTouchMove):u(document,e?"touchmove":"mousemove",this._onTouchMove):(u(z,"dragend",this),u(q,"dragstart",this._onDragStart));try{document.selection?Ht(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch(t){}},_dragStarted:function(t,e){if(vt=!1,q&&z){K("dragStarted",this,{evt:e}),this.nativeDraggable&&u(document,"dragover",kt);var n=this.options;t||k(z,n.dragClass,!1),k(z,n.ghostClass,!0),Rt.active=this,t&&this._appendGhost(),W({sortable:this,name:"start",originalEvent:e})}else this._nulling()},_emulateDragOver:function(){if(at){this._lastX=at.clientX,this._lastY=at.clientY,Nt();for(var t=document.elementFromPoint(at.clientX,at.clientY),e=t;t&&t.shadowRoot&&(t=t.shadowRoot.elementFromPoint(at.clientX,at.clientY))!==e;)e=t;if(z.parentNode[j]._isOutsideThisEl(t),e)do{if(e[j]){if(e[j]._onDragOver({clientX:at.clientX,clientY:at.clientY,target:t,rootEl:e})&&!this.options.dragoverBubble)break}t=e}while(e=e.parentNode);It()}},_onTouchMove:function(t){if(rt){var e=this.options,n=e.fallbackTolerance,o=e.fallbackOffset,i=t.touches?t.touches[0]:t,r=U&&v(U,!0),a=U&&r&&r.a,l=U&&r&&r.d,s=Ct&>&&b(gt),c=(i.clientX-rt.clientX+o.x)/(a||1)+(s?s[0]-Et[0]:0)/(a||1),u=(i.clientY-rt.clientY+o.y)/(l||1)+(s?s[1]-Et[1]:0)/(l||1);if(!Rt.active&&!vt){if(n&&Math.max(Math.abs(i.clientX-this._lastX),Math.abs(i.clientY-this._lastY))o.right+10||t.clientX<=o.right&&t.clientY>o.bottom&&t.clientX>=o.left:t.clientX>o.right&&t.clientY>o.top||t.clientX<=o.right&&t.clientY>o.bottom+10}(n,a,this)&&!g.animated){if(g===z)return A(!1);if(g&&l===n.target&&(s=g),s&&(i=X(s)),!1!==Xt(q,l,z,o,s,i,n,!!s))return O(),l.appendChild(z),G=l,N(),A(!0)}else if(s.parentNode===l){i=X(s);var v,m,b,y=z.parentNode!==l,w=!function(t,e,n){var o=n?t.left:t.top,i=n?t.right:t.bottom,r=n?t.width:t.height,a=n?e.left:e.top,l=n?e.right:e.bottom,s=n?e.width:e.height;return o===a||i===l||o+r/2===a+s/2}(z.animated&&z.toRect||o,s.animated&&s.toRect||i,a),E=a?"top":"left",D=Y(s,"top","top")||Y(z,"top","top"),S=D?D.scrollTop:void 0;if(ht!==s&&(m=i[E],yt=!1,wt=!w&&e.invertSwap||y),0!==(v=function(t,e,n,o,i,r,a,l){var s=o?t.clientY:t.clientX,c=o?n.height:n.width,u=o?n.top:n.left,d=o?n.bottom:n.right,h=!1;if(!a)if(l&&ptt.length)&&(e=t.length);for(var n=0,o=new Array(e);n"===e[0]&&(e=e.substring(1)),t))try{if(t.matches)return t.matches(e);if(t.msMatchesSelector)return t.msMatchesSelector(e);if(t.webkitMatchesSelector)return t.webkitMatchesSelector(e)}catch(t){return}}function N(t,e,n,o){if(t){n=n||document;do{if(null!=e&&(">"!==e[0]||t.parentNode===n)&&p(t,e)||o&&t===n)return t}while(t!==n&&(t=(i=t).host&&i!==document&&i.host.nodeType?i.host:i.parentNode))}var i;return null}var g,m=/\s+/g;function I(t,e,n){var o;t&&e&&(t.classList?t.classList[n?"add":"remove"](e):(o=(" "+t.className+" ").replace(m," ").replace(" "+e+" "," "),t.className=(o+(n?" "+e:"")).replace(m," ")))}function P(t,e,n){var o=t&&t.style;if(o){if(void 0===n)return document.defaultView&&document.defaultView.getComputedStyle?n=document.defaultView.getComputedStyle(t,""):t.currentStyle&&(n=t.currentStyle),void 0===e?n:n[e];o[e=!(e in o||-1!==e.indexOf("webkit"))?"-webkit-"+e:e]=n+("string"==typeof n?"":"px")}}function v(t,e){var n="";if("string"==typeof t)n=t;else do{var o=P(t,"transform")}while(o&&"none"!==o&&(n=o+" "+n),!e&&(t=t.parentNode));var i=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return i&&new i(n)}function b(t,e,n){if(t){var o=t.getElementsByTagName(e),i=0,r=o.length;if(n)for(;i=n.left-e&&i<=n.right+e,e=r>=n.top-e&&r<=n.bottom+e;return o&&e?a=t:void 0}}),a);if(e){var n,o={};for(n in t)t.hasOwnProperty(n)&&(o[n]=t[n]);o.target=o.rootEl=e,o.preventDefault=void 0,o.stopPropagation=void 0,e[j]._onDragOver(o)}}var i,r,a}function Yt(t){q&&q.parentNode[j]._isOutsideThisEl(t.target)}function Bt(t,e){if(!t||!t.nodeType||1!==t.nodeType)throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(t));this.el=t,this.options=e=a({},e),t[j]=this;var n,o,i={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(t.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return It(t,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(t,e){t.setData("Text",e.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:!1!==Bt.supportPointer&&"PointerEvent"in window&&!u,emptyInsertThreshold:5};for(n in K.initializePlugins(this,t,i),i)n in e||(e[n]=i[n]);for(o in Pt(e),this)"_"===o.charAt(0)&&"function"==typeof this[o]&&(this[o]=this[o].bind(this));this.nativeDraggable=!e.forceFallback&&Mt,this.nativeDraggable&&(this.options.touchStartThreshold=1),e.supportPointer?h(t,"pointerdown",this._onTapStart):(h(t,"mousedown",this._onTapStart),h(t,"touchstart",this._onTapStart)),this.nativeDraggable&&(h(t,"dragover",this),h(t,"dragenter",this)),Et.push(this.el),e.store&&e.store.get&&this.sort(e.store.get(this)||[]),a(this,x())}function Ft(t,e,n,o,i,r,a,l){var s,c,u=t[j],d=u.options.onMove;return!window.CustomEvent||y||w?(s=document.createEvent("Event")).initEvent("move",!0,!0):s=new CustomEvent("move",{bubbles:!0,cancelable:!0}),s.to=e,s.from=t,s.dragged=n,s.draggedRect=o,s.related=i||e,s.relatedRect=r||k(e),s.willInsertAfter=l,s.originalEvent=a,t.dispatchEvent(s),c=d?d.call(u,s,a):c}function jt(t){t.draggable=!1}function Ht(){Ct=!1}function Lt(t){return setTimeout(t,0)}function Kt(t){return clearTimeout(t)}Bt.prototype={constructor:Bt,_isOutsideThisEl:function(t){this.el.contains(t)||t===this.el||(gt=null)},_getDirection:function(t,e){return"function"==typeof this.options.direction?this.options.direction.call(this,t,e,q):this.options.direction},_onTapStart:function(e){if(e.cancelable){var n=this,o=this.el,t=this.options,i=t.preventOnFilter,r=e.type,a=e.touches&&e.touches[0]||e.pointerType&&"touch"===e.pointerType&&e,l=(a||e).target,s=e.target.shadowRoot&&(e.path&&e.path[0]||e.composedPath&&e.composedPath()[0])||l,c=t.filter;if(!function(t){Tt.length=0;var e=t.getElementsByTagName("input"),n=e.length;for(;n--;){var o=e[n];o.checked&&Tt.push(o)}}(o),!q&&!(/mousedown|pointerdown/.test(r)&&0!==e.button||t.disabled)&&!s.isContentEditable&&(this.nativeDraggable||!u||!l||"SELECT"!==l.tagName.toUpperCase())&&!((l=N(l,t.draggable,o,!1))&&l.animated||J===l)){if(nt=B(l),it=B(l,t.draggable),"function"==typeof c){if(c.call(this,e,l,this))return U({sortable:n,rootEl:s,name:"filter",targetEl:l,toEl:o,fromEl:o}),z("filter",n,{evt:e}),void(i&&e.cancelable&&e.preventDefault())}else if(c=c&&c.split(",").some(function(t){if(t=N(s,t.trim(),o,!1))return U({sortable:n,rootEl:t,name:"filter",targetEl:l,fromEl:o,toEl:o}),z("filter",n,{evt:e}),!0}))return void(i&&e.cancelable&&e.preventDefault());t.handle&&!N(s,t.handle,o,!1)||this._prepareDragStart(e,a,l)}}},_prepareDragStart:function(t,e,n){var o,i=this,r=i.el,a=i.options,l=r.ownerDocument;n&&!q&&n.parentNode===r&&(o=k(n),$=r,V=(q=n).parentNode,Q=q.nextSibling,J=n,at=a.group,st={target:Bt.dragged=q,clientX:(e||t).clientX,clientY:(e||t).clientY},ht=st.clientX-o.left,ft=st.clientY-o.top,this._lastX=(e||t).clientX,this._lastY=(e||t).clientY,q.style["will-change"]="all",o=function(){z("delayEnded",i,{evt:t}),Bt.eventCanceled?i._onDrop():(i._disableDelayedDragEvents(),!s&&i.nativeDraggable&&(q.draggable=!0),i._triggerDragStart(t,e),U({sortable:i,name:"choose",originalEvent:t}),I(q,a.chosenClass,!0))},a.ignore.split(",").forEach(function(t){b(q,t.trim(),jt)}),h(l,"dragover",Xt),h(l,"mousemove",Xt),h(l,"touchmove",Xt),h(l,"mouseup",i._onDrop),h(l,"touchend",i._onDrop),h(l,"touchcancel",i._onDrop),s&&this.nativeDraggable&&(this.options.touchStartThreshold=4,q.draggable=!0),z("delayStart",this,{evt:t}),!a.delay||a.delayOnTouchOnly&&!e||this.nativeDraggable&&(w||y)?o():Bt.eventCanceled?this._onDrop():(h(l,"mouseup",i._disableDelayedDrag),h(l,"touchend",i._disableDelayedDrag),h(l,"touchcancel",i._disableDelayedDrag),h(l,"mousemove",i._delayedDragTouchMoveHandler),h(l,"touchmove",i._delayedDragTouchMoveHandler),a.supportPointer&&h(l,"pointermove",i._delayedDragTouchMoveHandler),i._dragStartTimer=setTimeout(o,a.delay)))},_delayedDragTouchMoveHandler:function(t){t=t.touches?t.touches[0]:t;Math.max(Math.abs(t.clientX-this._lastX),Math.abs(t.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){q&&jt(q),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var t=this.el.ownerDocument;f(t,"mouseup",this._disableDelayedDrag),f(t,"touchend",this._disableDelayedDrag),f(t,"touchcancel",this._disableDelayedDrag),f(t,"mousemove",this._delayedDragTouchMoveHandler),f(t,"touchmove",this._delayedDragTouchMoveHandler),f(t,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(t,e){e=e||"touch"==t.pointerType&&t,!this.nativeDraggable||e?this.options.supportPointer?h(document,"pointermove",this._onTouchMove):h(document,e?"touchmove":"mousemove",this._onTouchMove):(h(q,"dragend",this),h($,"dragstart",this._onDragStart));try{document.selection?Lt(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch(t){}},_dragStarted:function(t,e){var n;yt=!1,$&&q?(z("dragStarted",this,{evt:e}),this.nativeDraggable&&h(document,"dragover",Yt),n=this.options,t||I(q,n.dragClass,!1),I(q,n.ghostClass,!0),Bt.active=this,t&&this._appendGhost(),U({sortable:this,name:"start",originalEvent:e})):this._nulling()},_emulateDragOver:function(){if(ct){this._lastX=ct.clientX,this._lastY=ct.clientY,kt();for(var t=document.elementFromPoint(ct.clientX,ct.clientY),e=t;t&&t.shadowRoot&&(t=t.shadowRoot.elementFromPoint(ct.clientX,ct.clientY))!==e;)e=t;if(q.parentNode[j]._isOutsideThisEl(t),e)do{if(e[j])if(e[j]._onDragOver({clientX:ct.clientX,clientY:ct.clientY,target:t,rootEl:e})&&!this.options.dragoverBubble)break}while(e=(t=e).parentNode);Rt()}},_onTouchMove:function(t){if(st){var e=this.options,n=e.fallbackTolerance,o=e.fallbackOffset,i=t.touches?t.touches[0]:t,r=Z&&v(Z,!0),a=Z&&r&&r.a,l=Z&&r&&r.d,e=Ot&&bt&&E(bt),a=(i.clientX-st.clientX+o.x)/(a||1)+(e?e[0]-_t[0]:0)/(a||1),l=(i.clientY-st.clientY+o.y)/(l||1)+(e?e[1]-_t[1]:0)/(l||1);if(!Bt.active&&!yt){if(n&&Math.max(Math.abs(i.clientX-this._lastX),Math.abs(i.clientY-this._lastY))n.right+10||t.clientX<=n.right&&t.clientY>n.bottom&&t.clientX>=n.left:t.clientX>n.right&&t.clientY>n.top||t.clientX<=n.right&&t.clientY>n.bottom+10}(n,r,this)&&!g.animated){if(g===q)return O(!1);if((l=g&&a===n.target?g:l)&&(w=k(l)),!1!==Ft($,a,q,o,l,w,n,!!l))return x(),g&&g.nextSibling?a.insertBefore(q,g.nextSibling):a.appendChild(q),V=a,A(),O(!0)}else if(g&&function(t,e,n){n=k(X(n.el,0,n.options,!0));return e?t.clientXsummary:first-of-type","details"],n=t.join(","),o="undefined"==typeof Element,r=o?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,i=!o&&Element.prototype.getRootNode?function(e){return e.getRootNode()}:function(e){return e.ownerDocument},a=function(e,t,o){var i=Array.prototype.slice.apply(e.querySelectorAll(n));return t&&r.call(e,n)&&i.unshift(e),i=i.filter(o)},l=function e(t,o,i){for(var a=[],l=Array.from(t);l.length;){var u=l.shift();if("SLOT"===u.tagName){var c=u.assignedElements(),d=e(c.length?c:u.children,!0,i);i.flatten?a.push.apply(a,d):a.push({scope:u,candidates:d})}else{r.call(u,n)&&i.filter(u)&&(o||!t.includes(u))&&a.push(u);var f=u.shadowRoot||"function"==typeof i.getShadowRoot&&i.getShadowRoot(u),s=!i.shadowRootFilter||i.shadowRootFilter(u);if(f&&s){var p=e(!0===f?u.children:f.children,!0,i);i.flatten?a.push.apply(a,p):a.push({scope:u,candidates:p})}else l.unshift.apply(l,u.children)}}return a},u=function(e,t){return e.tabIndex<0&&(t||/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||e.isContentEditable)&&isNaN(parseInt(e.getAttribute("tabindex"),10))?0:e.tabIndex},c=function(e,t){return e.tabIndex===t.tabIndex?e.documentOrder-t.documentOrder:e.tabIndex-t.tabIndex},d=function(e){return"INPUT"===e.tagName},f=function(e){return function(e){return d(e)&&"radio"===e.type}(e)&&!function(e){if(!e.name)return!0;var t,n=e.form||i(e),o=function(e){return n.querySelectorAll('input[type="radio"][name="'+e+'"]')};if("undefined"!=typeof window&&void 0!==window.CSS&&"function"==typeof window.CSS.escape)t=o(window.CSS.escape(e.name));else try{t=o(e.name)}catch(e){return console.error("Looks like you have a radio button with a name attribute containing invalid CSS selector characters and need the CSS.escape polyfill: %s",e.message),!1}var r=function(e,t){for(var n=0;nsummary:first-of-type")?e.parentElement:e;if(r.call(a,"details:not([open]) *"))return!0;var l=i(e).host,u=(null==l?void 0:l.ownerDocument.contains(l))||e.ownerDocument.contains(e);if(n&&"full"!==n){if("non-zero-area"===n)return s(e)}else{if("function"==typeof o){for(var c=e;e;){var d=e.parentElement,f=i(e);if(d&&!d.shadowRoot&&!0===o(d))return s(e);e=e.assignedSlot?e.assignedSlot:d||f===e.ownerDocument?d:f.host}e=c}if(u)return!e.getClientRects().length}return!1}(t,e)||function(e){return"DETAILS"===e.tagName&&Array.prototype.slice.apply(e.children).some((function(e){return"SUMMARY"===e.tagName}))}(t)||function(e){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName))for(var t=e.parentElement;t;){if("FIELDSET"===t.tagName&&t.disabled){for(var n=0;n=0)},m=t.concat("iframe").join(",");e.focusable=function(e,t){return(t=t||{}).getShadowRoot?l([e],t.includeContainer,{filter:p.bind(null,t),flatten:!0,getShadowRoot:t.getShadowRoot}):a(e,t.includeContainer,p.bind(null,t))},e.isFocusable=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return!1!==r.call(e,m)&&p(t,e)},e.isTabbable=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return!1!==r.call(e,n)&&h(t,e)},e.tabbable=function(e,t){return function e(t){var n=[],o=[];return t.forEach((function(t,r){var i=!!t.scope,a=i?t.scope:t,l=u(a,i),c=i?e(t.candidates):a;0===l?i?n.push.apply(n,c):n.push(a):o.push({documentOrder:r,tabIndex:l,item:t,isScope:i,content:c})})),o.sort(c).reduce((function(e,t){return t.isScope?e.push.apply(e,t.content):e.push(t.content),e}),[]).concat(n)}((t=t||{}).getShadowRoot?l([e],t.includeContainer,{filter:h.bind(null,t),flatten:!1,getShadowRoot:t.getShadowRoot,shadowRootFilter:b}):a(e,t.includeContainer,h.bind(null,t)))},Object.defineProperty(e,"__esModule",{value:!0})})); +//# sourceMappingURL=index.umd.min.js.map diff --git a/core/assets/vendor/tabbable/index.umd.min.js.map b/core/assets/vendor/tabbable/index.umd.min.js.map new file mode 100644 index 00000000000..a9720b4c903 --- /dev/null +++ b/core/assets/vendor/tabbable/index.umd.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.umd.min.js","sources":["src/index.js"],"sourcesContent":["const candidateSelectors = [\n 'input',\n 'select',\n 'textarea',\n 'a[href]',\n 'button',\n '[tabindex]:not(slot)',\n 'audio[controls]',\n 'video[controls]',\n '[contenteditable]:not([contenteditable=\"false\"])',\n 'details>summary:first-of-type',\n 'details',\n];\nconst candidateSelector = /* #__PURE__ */ candidateSelectors.join(',');\n\nconst NoElement = typeof Element === 'undefined';\n\nconst matches = NoElement\n ? function () {}\n : Element.prototype.matches ||\n Element.prototype.msMatchesSelector ||\n Element.prototype.webkitMatchesSelector;\n\nconst getRootNode =\n !NoElement && Element.prototype.getRootNode\n ? (element) => element.getRootNode()\n : (element) => element.ownerDocument;\n\n/**\n * @param {Element} el container to check in\n * @param {boolean} includeContainer add container to check\n * @param {(node: Element) => boolean} filter filter candidates\n * @returns {Element[]}\n */\nconst getCandidates = function (el, includeContainer, filter) {\n let candidates = Array.prototype.slice.apply(\n el.querySelectorAll(candidateSelector)\n );\n if (includeContainer && matches.call(el, candidateSelector)) {\n candidates.unshift(el);\n }\n candidates = candidates.filter(filter);\n return candidates;\n};\n\n/**\n * @callback GetShadowRoot\n * @param {Element} element to check for shadow root\n * @returns {ShadowRoot|boolean} ShadowRoot if available or boolean indicating if a shadowRoot is attached but not available.\n */\n\n/**\n * @callback ShadowRootFilter\n * @param {Element} shadowHostNode the element which contains shadow content\n * @returns {boolean} true if a shadow root could potentially contain valid candidates.\n */\n\n/**\n * @typedef {Object} CandidatesScope\n * @property {Element} scope contains inner candidates\n * @property {Element[]} candidates\n */\n\n/**\n * @typedef {Object} IterativeOptions\n * @property {GetShadowRoot|boolean} getShadowRoot true if shadow support is enabled; falsy if not;\n * if a function, implies shadow support is enabled and either returns the shadow root of an element\n * or a boolean stating if it has an undisclosed shadow root\n * @property {(node: Element) => boolean} filter filter candidates\n * @property {boolean} flatten if true then result will flatten any CandidatesScope into the returned list\n * @property {ShadowRootFilter} shadowRootFilter filter shadow roots;\n */\n\n/**\n * @param {Element[]} elements list of element containers to match candidates from\n * @param {boolean} includeContainer add container list to check\n * @param {IterativeOptions} options\n * @returns {Array.}\n */\nconst getCandidatesIteratively = function (\n elements,\n includeContainer,\n options\n) {\n const candidates = [];\n const elementsToCheck = Array.from(elements);\n while (elementsToCheck.length) {\n const element = elementsToCheck.shift();\n if (element.tagName === 'SLOT') {\n // add shadow dom slot scope (slot itself cannot be focusable)\n const assigned = element.assignedElements();\n const content = assigned.length ? assigned : element.children;\n const nestedCandidates = getCandidatesIteratively(content, true, options);\n if (options.flatten) {\n candidates.push(...nestedCandidates);\n } else {\n candidates.push({\n scope: element,\n candidates: nestedCandidates,\n });\n }\n } else {\n // check candidate element\n const validCandidate = matches.call(element, candidateSelector);\n if (\n validCandidate &&\n options.filter(element) &&\n (includeContainer || !elements.includes(element))\n ) {\n candidates.push(element);\n }\n\n // iterate over shadow content if possible\n const shadowRoot =\n element.shadowRoot ||\n // check for an undisclosed shadow\n (typeof options.getShadowRoot === 'function' &&\n options.getShadowRoot(element));\n\n const validShadowRoot =\n !options.shadowRootFilter || options.shadowRootFilter(element);\n\n if (shadowRoot && validShadowRoot) {\n // add shadow dom scope IIF a shadow root node was given; otherwise, an undisclosed\n // shadow exists, so look at light dom children as fallback BUT create a scope for any\n // child candidates found because they're likely slotted elements (elements that are\n // children of the web component element (which has the shadow), in the light dom, but\n // slotted somewhere _inside_ the undisclosed shadow) -- the scope is created below,\n // _after_ we return from this recursive call\n const nestedCandidates = getCandidatesIteratively(\n shadowRoot === true ? element.children : shadowRoot.children,\n true,\n options\n );\n\n if (options.flatten) {\n candidates.push(...nestedCandidates);\n } else {\n candidates.push({\n scope: element,\n candidates: nestedCandidates,\n });\n }\n } else {\n // there's not shadow so just dig into the element's (light dom) children\n // __without__ giving the element special scope treatment\n elementsToCheck.unshift(...element.children);\n }\n }\n }\n return candidates;\n};\n\nconst getTabindex = function (node, isScope) {\n if (node.tabIndex < 0) {\n // in Chrome,
,