From 3eb7ae4e939551423a2efb7028eeec3cb675add7 Mon Sep 17 00:00:00 2001 From: "Torsten Schulz (local)" Date: Thu, 21 Aug 2025 16:10:21 +0200 Subject: [PATCH] =?UTF-8?q?Bereinigen=20und=20Entfernen=20von=20nicht=20me?= =?UTF-8?q?hr=20ben=C3=B6tigten=20TinyMCE-Dateien=20und=20-Plugins;=20Aktu?= =?UTF-8?q?alisierung=20der=20Internationalisierung=20f=C3=BCr=20Deutsch?= =?UTF-8?q?=20und=20Englisch=20in=20den=20Falukant-=20und=20Navigationsmod?= =?UTF-8?q?ulen;=20Verbesserung=20der=20Statusleiste=20und=20Router-Implem?= =?UTF-8?q?entierung.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README_MATCH3_CAMPAIGN.md | 175 + backend/app.js | 8 +- backend/controllers/falukantController.js | 2 + backend/controllers/match3Controller.js | 128 + backend/controllers/minigamesController.js | 32 + backend/controllers/navigationController.js | 6 + backend/middleware/authMiddleware.js | 3 + backend/models/associations.js | 73 + backend/models/index.js | 20 + backend/models/match3/campaign.js | 40 + backend/models/match3/level.js | 61 + backend/models/match3/objective.js | 52 + backend/models/match3/userLevelProgress.js | 78 + backend/models/match3/userProgress.js | 62 + backend/models/service/minigame_campaign.js | 24 + .../models/service/minigame_campaign_level.js | 25 + .../models/service/minigame_user_progress.js | 41 + backend/routers/falukantRouter.js | 2 + backend/routers/match3Router.js | 22 + backend/services/falukantService.js | 219 +- backend/services/match3Service.js | 313 ++ backend/services/minigamesService.js | 53 + backend/utils/fixMatch3Data.js | 63 + backend/utils/initializeMatch3.js | 104 + backend/utils/sequelize.js | 1 + backend/utils/syncDatabase.js | 4 + frontend/README_MINIGAMES.md | 88 + frontend/public/images/icons/coming-soon.png | 20 + frontend/public/images/icons/falukant/age.png | Bin 0 -> 273642 bytes .../public/images/icons/falukant/messages.png | Bin 0 -> 147805 bytes .../images/icons/falukant/messages16.png | Bin 0 -> 796 bytes .../images/icons/falukant/messages24.png | Bin 0 -> 1300 bytes frontend/public/images/icons/game.png | 21 + .../public/tinymce/icons/default/icons.min.js | 1 - frontend/public/tinymce/langs/README.md | 3 - frontend/public/tinymce/license.md | 6 - .../public/tinymce/models/dom/model.min.js | 4 - .../tinymce/plugins/accordion/plugin.min.js | 4 - .../tinymce/plugins/advlist/plugin.min.js | 4 - .../tinymce/plugins/anchor/plugin.min.js | 4 - .../tinymce/plugins/autolink/plugin.min.js | 4 - .../tinymce/plugins/autoresize/plugin.min.js | 4 - .../tinymce/plugins/autosave/plugin.min.js | 4 - .../tinymce/plugins/charmap/plugin.min.js | 4 - .../public/tinymce/plugins/code/plugin.min.js | 4 - .../tinymce/plugins/codesample/plugin.min.js | 4 - .../plugins/directionality/plugin.min.js | 4 - .../plugins/emoticons/js/emojiimages.js | 1 - .../plugins/emoticons/js/emojiimages.min.js | 3 - .../tinymce/plugins/emoticons/js/emojis.js | 1 - .../plugins/emoticons/js/emojis.min.js | 2 - .../tinymce/plugins/emoticons/plugin.min.js | 4 - .../tinymce/plugins/fullscreen/plugin.min.js | 4 - .../tinymce/plugins/help/js/i18n/keynav/ar.js | 93 - .../plugins/help/js/i18n/keynav/bg_BG.js | 93 - .../tinymce/plugins/help/js/i18n/keynav/ca.js | 93 - .../tinymce/plugins/help/js/i18n/keynav/cs.js | 93 - .../tinymce/plugins/help/js/i18n/keynav/da.js | 93 - .../tinymce/plugins/help/js/i18n/keynav/de.js | 93 - .../tinymce/plugins/help/js/i18n/keynav/el.js | 93 - .../tinymce/plugins/help/js/i18n/keynav/en.js | 93 - .../tinymce/plugins/help/js/i18n/keynav/es.js | 93 - .../tinymce/plugins/help/js/i18n/keynav/eu.js | 93 - .../tinymce/plugins/help/js/i18n/keynav/fa.js | 93 - .../tinymce/plugins/help/js/i18n/keynav/fi.js | 93 - .../plugins/help/js/i18n/keynav/fr_FR.js | 93 - .../plugins/help/js/i18n/keynav/he_IL.js | 93 - .../tinymce/plugins/help/js/i18n/keynav/hi.js | 93 - .../tinymce/plugins/help/js/i18n/keynav/hr.js | 93 - .../plugins/help/js/i18n/keynav/hu_HU.js | 93 - .../tinymce/plugins/help/js/i18n/keynav/id.js | 93 - .../tinymce/plugins/help/js/i18n/keynav/it.js | 93 - .../tinymce/plugins/help/js/i18n/keynav/ja.js | 93 - .../tinymce/plugins/help/js/i18n/keynav/kk.js | 93 - .../plugins/help/js/i18n/keynav/ko_KR.js | 93 - .../tinymce/plugins/help/js/i18n/keynav/ms.js | 93 - .../plugins/help/js/i18n/keynav/nb_NO.js | 93 - .../tinymce/plugins/help/js/i18n/keynav/nl.js | 93 - .../tinymce/plugins/help/js/i18n/keynav/pl.js | 93 - .../plugins/help/js/i18n/keynav/pt_BR.js | 93 - .../plugins/help/js/i18n/keynav/pt_PT.js | 93 - .../tinymce/plugins/help/js/i18n/keynav/ro.js | 93 - .../tinymce/plugins/help/js/i18n/keynav/ru.js | 93 - .../tinymce/plugins/help/js/i18n/keynav/sk.js | 93 - .../plugins/help/js/i18n/keynav/sl_SI.js | 93 - .../plugins/help/js/i18n/keynav/sv_SE.js | 93 - .../plugins/help/js/i18n/keynav/th_TH.js | 93 - .../tinymce/plugins/help/js/i18n/keynav/tr.js | 93 - .../tinymce/plugins/help/js/i18n/keynav/uk.js | 93 - .../tinymce/plugins/help/js/i18n/keynav/vi.js | 93 - .../plugins/help/js/i18n/keynav/zh_CN.js | 87 - .../plugins/help/js/i18n/keynav/zh_TW.js | 93 - .../public/tinymce/plugins/help/plugin.min.js | 4 - .../tinymce/plugins/image/plugin.min.js | 4 - .../tinymce/plugins/importcss/plugin.min.js | 4 - .../plugins/insertdatetime/plugin.min.js | 4 - .../public/tinymce/plugins/link/plugin.min.js | 4 - .../tinymce/plugins/lists/plugin.min.js | 4 - .../tinymce/plugins/media/plugin.min.js | 4 - .../tinymce/plugins/nonbreaking/plugin.min.js | 4 - .../tinymce/plugins/pagebreak/plugin.min.js | 4 - .../tinymce/plugins/preview/plugin.min.js | 4 - .../tinymce/plugins/quickbars/plugin.min.js | 4 - .../public/tinymce/plugins/save/plugin.min.js | 4 - .../plugins/searchreplace/plugin.min.js | 4 - .../tinymce/plugins/table/plugin.min.js | 4 - .../plugins/visualblocks/plugin.min.js | 4 - .../tinymce/plugins/visualchars/plugin.min.js | 4 - .../tinymce/plugins/wordcount/plugin.min.js | 4 - .../tinymce/skins/content/dark/content.js | 1 - .../skins/content/dark/content.min.css | 1 - .../tinymce/skins/content/default/content.js | 1 - .../skins/content/default/content.min.css | 1 - .../tinymce/skins/content/document/content.js | 1 - .../skins/content/document/content.min.css | 1 - .../skins/content/tinymce-5-dark/content.js | 1 - .../content/tinymce-5-dark/content.min.css | 1 - .../skins/content/tinymce-5/content.js | 1 - .../skins/content/tinymce-5/content.min.css | 1 - .../tinymce/skins/content/writer/content.js | 1 - .../skins/content/writer/content.min.css | 1 - .../skins/ui/oxide-dark/content.inline.js | 1 - .../ui/oxide-dark/content.inline.min.css | 1 - .../tinymce/skins/ui/oxide-dark/content.js | 1 - .../skins/ui/oxide-dark/content.min.css | 1 - .../tinymce/skins/ui/oxide-dark/skin.js | 1 - .../tinymce/skins/ui/oxide-dark/skin.min.css | 1 - .../skins/ui/oxide-dark/skin.shadowdom.js | 1 - .../ui/oxide-dark/skin.shadowdom.min.css | 1 - .../tinymce/skins/ui/oxide/content.inline.js | 1 - .../skins/ui/oxide/content.inline.min.css | 1 - .../public/tinymce/skins/ui/oxide/content.js | 1 - .../tinymce/skins/ui/oxide/content.min.css | 1 - .../public/tinymce/skins/ui/oxide/skin.js | 1 - .../tinymce/skins/ui/oxide/skin.min.css | 1 - .../tinymce/skins/ui/oxide/skin.shadowdom.js | 1 - .../skins/ui/oxide/skin.shadowdom.min.css | 1 - .../skins/ui/tinymce-5-dark/content.inline.js | 1 - .../ui/tinymce-5-dark/content.inline.min.css | 1 - .../skins/ui/tinymce-5-dark/content.js | 1 - .../skins/ui/tinymce-5-dark/content.min.css | 1 - .../tinymce/skins/ui/tinymce-5-dark/skin.js | 1 - .../skins/ui/tinymce-5-dark/skin.min.css | 1 - .../skins/ui/tinymce-5-dark/skin.shadowdom.js | 1 - .../ui/tinymce-5-dark/skin.shadowdom.min.css | 1 - .../skins/ui/tinymce-5/content.inline.js | 1 - .../skins/ui/tinymce-5/content.inline.min.css | 1 - .../tinymce/skins/ui/tinymce-5/content.js | 1 - .../skins/ui/tinymce-5/content.min.css | 1 - .../public/tinymce/skins/ui/tinymce-5/skin.js | 1 - .../tinymce/skins/ui/tinymce-5/skin.min.css | 1 - .../skins/ui/tinymce-5/skin.shadowdom.js | 1 - .../skins/ui/tinymce-5/skin.shadowdom.min.css | 1 - .../public/tinymce/themes/silver/theme.min.js | 386 -- frontend/public/tinymce/tinymce.d.ts | 3277 ----------------- frontend/public/tinymce/tinymce.min.js | 385 -- .../components/falukant/MessagesDialog.vue | 150 + .../src/components/falukant/StatusBar.vue | 61 +- frontend/src/i18n/index.js | 12 +- frontend/src/i18n/locales/de/falukant.json | 9 +- frontend/src/i18n/locales/de/minigames.json | 38 + frontend/src/i18n/locales/de/navigation.json | 3 + frontend/src/i18n/locales/en/falukant.json | 22 +- frontend/src/i18n/locales/en/general.json | 3 + frontend/src/i18n/locales/en/minigames.json | 38 + frontend/src/i18n/locales/en/navigation.json | 3 + frontend/src/router/index.js | 2 + frontend/src/router/minigamesRoutes.js | 12 + frontend/src/views/minigames/Match3Game.vue | 1715 +++++++++ .../src/views/minigames/MinigamesView.vue | 116 + 170 files changed, 3850 insertions(+), 7924 deletions(-) create mode 100644 README_MATCH3_CAMPAIGN.md create mode 100644 backend/controllers/match3Controller.js create mode 100644 backend/controllers/minigamesController.js create mode 100644 backend/models/match3/campaign.js create mode 100644 backend/models/match3/level.js create mode 100644 backend/models/match3/objective.js create mode 100644 backend/models/match3/userLevelProgress.js create mode 100644 backend/models/match3/userProgress.js create mode 100644 backend/models/service/minigame_campaign.js create mode 100644 backend/models/service/minigame_campaign_level.js create mode 100644 backend/models/service/minigame_user_progress.js create mode 100644 backend/routers/match3Router.js create mode 100644 backend/services/match3Service.js create mode 100644 backend/services/minigamesService.js create mode 100644 backend/utils/fixMatch3Data.js create mode 100644 backend/utils/initializeMatch3.js create mode 100644 frontend/README_MINIGAMES.md create mode 100644 frontend/public/images/icons/coming-soon.png create mode 100644 frontend/public/images/icons/falukant/age.png create mode 100644 frontend/public/images/icons/falukant/messages.png create mode 100644 frontend/public/images/icons/falukant/messages16.png create mode 100644 frontend/public/images/icons/falukant/messages24.png create mode 100644 frontend/public/images/icons/game.png delete mode 100644 frontend/public/tinymce/icons/default/icons.min.js delete mode 100644 frontend/public/tinymce/langs/README.md delete mode 100644 frontend/public/tinymce/license.md delete mode 100644 frontend/public/tinymce/models/dom/model.min.js delete mode 100644 frontend/public/tinymce/plugins/accordion/plugin.min.js delete mode 100644 frontend/public/tinymce/plugins/advlist/plugin.min.js delete mode 100644 frontend/public/tinymce/plugins/anchor/plugin.min.js delete mode 100644 frontend/public/tinymce/plugins/autolink/plugin.min.js delete mode 100644 frontend/public/tinymce/plugins/autoresize/plugin.min.js delete mode 100644 frontend/public/tinymce/plugins/autosave/plugin.min.js delete mode 100644 frontend/public/tinymce/plugins/charmap/plugin.min.js delete mode 100644 frontend/public/tinymce/plugins/code/plugin.min.js delete mode 100644 frontend/public/tinymce/plugins/codesample/plugin.min.js delete mode 100644 frontend/public/tinymce/plugins/directionality/plugin.min.js delete mode 100644 frontend/public/tinymce/plugins/emoticons/js/emojiimages.js delete mode 100644 frontend/public/tinymce/plugins/emoticons/js/emojiimages.min.js delete mode 100644 frontend/public/tinymce/plugins/emoticons/js/emojis.js delete mode 100644 frontend/public/tinymce/plugins/emoticons/js/emojis.min.js delete mode 100644 frontend/public/tinymce/plugins/emoticons/plugin.min.js delete mode 100644 frontend/public/tinymce/plugins/fullscreen/plugin.min.js delete mode 100644 frontend/public/tinymce/plugins/help/js/i18n/keynav/ar.js delete mode 100644 frontend/public/tinymce/plugins/help/js/i18n/keynav/bg_BG.js delete mode 100644 frontend/public/tinymce/plugins/help/js/i18n/keynav/ca.js delete mode 100644 frontend/public/tinymce/plugins/help/js/i18n/keynav/cs.js delete mode 100644 frontend/public/tinymce/plugins/help/js/i18n/keynav/da.js delete mode 100644 frontend/public/tinymce/plugins/help/js/i18n/keynav/de.js delete mode 100644 frontend/public/tinymce/plugins/help/js/i18n/keynav/el.js delete mode 100644 frontend/public/tinymce/plugins/help/js/i18n/keynav/en.js delete mode 100644 frontend/public/tinymce/plugins/help/js/i18n/keynav/es.js delete mode 100644 frontend/public/tinymce/plugins/help/js/i18n/keynav/eu.js delete mode 100644 frontend/public/tinymce/plugins/help/js/i18n/keynav/fa.js delete mode 100644 frontend/public/tinymce/plugins/help/js/i18n/keynav/fi.js delete mode 100644 frontend/public/tinymce/plugins/help/js/i18n/keynav/fr_FR.js delete mode 100644 frontend/public/tinymce/plugins/help/js/i18n/keynav/he_IL.js delete mode 100644 frontend/public/tinymce/plugins/help/js/i18n/keynav/hi.js delete mode 100644 frontend/public/tinymce/plugins/help/js/i18n/keynav/hr.js delete mode 100644 frontend/public/tinymce/plugins/help/js/i18n/keynav/hu_HU.js delete mode 100644 frontend/public/tinymce/plugins/help/js/i18n/keynav/id.js delete mode 100644 frontend/public/tinymce/plugins/help/js/i18n/keynav/it.js delete mode 100644 frontend/public/tinymce/plugins/help/js/i18n/keynav/ja.js delete mode 100644 frontend/public/tinymce/plugins/help/js/i18n/keynav/kk.js delete mode 100644 frontend/public/tinymce/plugins/help/js/i18n/keynav/ko_KR.js delete mode 100644 frontend/public/tinymce/plugins/help/js/i18n/keynav/ms.js delete mode 100644 frontend/public/tinymce/plugins/help/js/i18n/keynav/nb_NO.js delete mode 100644 frontend/public/tinymce/plugins/help/js/i18n/keynav/nl.js delete mode 100644 frontend/public/tinymce/plugins/help/js/i18n/keynav/pl.js delete mode 100644 frontend/public/tinymce/plugins/help/js/i18n/keynav/pt_BR.js delete mode 100644 frontend/public/tinymce/plugins/help/js/i18n/keynav/pt_PT.js delete mode 100644 frontend/public/tinymce/plugins/help/js/i18n/keynav/ro.js delete mode 100644 frontend/public/tinymce/plugins/help/js/i18n/keynav/ru.js delete mode 100644 frontend/public/tinymce/plugins/help/js/i18n/keynav/sk.js delete mode 100644 frontend/public/tinymce/plugins/help/js/i18n/keynav/sl_SI.js delete mode 100644 frontend/public/tinymce/plugins/help/js/i18n/keynav/sv_SE.js delete mode 100644 frontend/public/tinymce/plugins/help/js/i18n/keynav/th_TH.js delete mode 100644 frontend/public/tinymce/plugins/help/js/i18n/keynav/tr.js delete mode 100644 frontend/public/tinymce/plugins/help/js/i18n/keynav/uk.js delete mode 100644 frontend/public/tinymce/plugins/help/js/i18n/keynav/vi.js delete mode 100644 frontend/public/tinymce/plugins/help/js/i18n/keynav/zh_CN.js delete mode 100644 frontend/public/tinymce/plugins/help/js/i18n/keynav/zh_TW.js delete mode 100644 frontend/public/tinymce/plugins/help/plugin.min.js delete mode 100644 frontend/public/tinymce/plugins/image/plugin.min.js delete mode 100644 frontend/public/tinymce/plugins/importcss/plugin.min.js delete mode 100644 frontend/public/tinymce/plugins/insertdatetime/plugin.min.js delete mode 100644 frontend/public/tinymce/plugins/link/plugin.min.js delete mode 100644 frontend/public/tinymce/plugins/lists/plugin.min.js delete mode 100644 frontend/public/tinymce/plugins/media/plugin.min.js delete mode 100644 frontend/public/tinymce/plugins/nonbreaking/plugin.min.js delete mode 100644 frontend/public/tinymce/plugins/pagebreak/plugin.min.js delete mode 100644 frontend/public/tinymce/plugins/preview/plugin.min.js delete mode 100644 frontend/public/tinymce/plugins/quickbars/plugin.min.js delete mode 100644 frontend/public/tinymce/plugins/save/plugin.min.js delete mode 100644 frontend/public/tinymce/plugins/searchreplace/plugin.min.js delete mode 100644 frontend/public/tinymce/plugins/table/plugin.min.js delete mode 100644 frontend/public/tinymce/plugins/visualblocks/plugin.min.js delete mode 100644 frontend/public/tinymce/plugins/visualchars/plugin.min.js delete mode 100644 frontend/public/tinymce/plugins/wordcount/plugin.min.js delete mode 100644 frontend/public/tinymce/skins/content/dark/content.js delete mode 100644 frontend/public/tinymce/skins/content/dark/content.min.css delete mode 100644 frontend/public/tinymce/skins/content/default/content.js delete mode 100644 frontend/public/tinymce/skins/content/default/content.min.css delete mode 100644 frontend/public/tinymce/skins/content/document/content.js delete mode 100644 frontend/public/tinymce/skins/content/document/content.min.css delete mode 100644 frontend/public/tinymce/skins/content/tinymce-5-dark/content.js delete mode 100644 frontend/public/tinymce/skins/content/tinymce-5-dark/content.min.css delete mode 100644 frontend/public/tinymce/skins/content/tinymce-5/content.js delete mode 100644 frontend/public/tinymce/skins/content/tinymce-5/content.min.css delete mode 100644 frontend/public/tinymce/skins/content/writer/content.js delete mode 100644 frontend/public/tinymce/skins/content/writer/content.min.css delete mode 100644 frontend/public/tinymce/skins/ui/oxide-dark/content.inline.js delete mode 100644 frontend/public/tinymce/skins/ui/oxide-dark/content.inline.min.css delete mode 100644 frontend/public/tinymce/skins/ui/oxide-dark/content.js delete mode 100644 frontend/public/tinymce/skins/ui/oxide-dark/content.min.css delete mode 100644 frontend/public/tinymce/skins/ui/oxide-dark/skin.js delete mode 100644 frontend/public/tinymce/skins/ui/oxide-dark/skin.min.css delete mode 100644 frontend/public/tinymce/skins/ui/oxide-dark/skin.shadowdom.js delete mode 100644 frontend/public/tinymce/skins/ui/oxide-dark/skin.shadowdom.min.css delete mode 100644 frontend/public/tinymce/skins/ui/oxide/content.inline.js delete mode 100644 frontend/public/tinymce/skins/ui/oxide/content.inline.min.css delete mode 100644 frontend/public/tinymce/skins/ui/oxide/content.js delete mode 100644 frontend/public/tinymce/skins/ui/oxide/content.min.css delete mode 100644 frontend/public/tinymce/skins/ui/oxide/skin.js delete mode 100644 frontend/public/tinymce/skins/ui/oxide/skin.min.css delete mode 100644 frontend/public/tinymce/skins/ui/oxide/skin.shadowdom.js delete mode 100644 frontend/public/tinymce/skins/ui/oxide/skin.shadowdom.min.css delete mode 100644 frontend/public/tinymce/skins/ui/tinymce-5-dark/content.inline.js delete mode 100644 frontend/public/tinymce/skins/ui/tinymce-5-dark/content.inline.min.css delete mode 100644 frontend/public/tinymce/skins/ui/tinymce-5-dark/content.js delete mode 100644 frontend/public/tinymce/skins/ui/tinymce-5-dark/content.min.css delete mode 100644 frontend/public/tinymce/skins/ui/tinymce-5-dark/skin.js delete mode 100644 frontend/public/tinymce/skins/ui/tinymce-5-dark/skin.min.css delete mode 100644 frontend/public/tinymce/skins/ui/tinymce-5-dark/skin.shadowdom.js delete mode 100644 frontend/public/tinymce/skins/ui/tinymce-5-dark/skin.shadowdom.min.css delete mode 100644 frontend/public/tinymce/skins/ui/tinymce-5/content.inline.js delete mode 100644 frontend/public/tinymce/skins/ui/tinymce-5/content.inline.min.css delete mode 100644 frontend/public/tinymce/skins/ui/tinymce-5/content.js delete mode 100644 frontend/public/tinymce/skins/ui/tinymce-5/content.min.css delete mode 100644 frontend/public/tinymce/skins/ui/tinymce-5/skin.js delete mode 100644 frontend/public/tinymce/skins/ui/tinymce-5/skin.min.css delete mode 100644 frontend/public/tinymce/skins/ui/tinymce-5/skin.shadowdom.js delete mode 100644 frontend/public/tinymce/skins/ui/tinymce-5/skin.shadowdom.min.css delete mode 100644 frontend/public/tinymce/themes/silver/theme.min.js delete mode 100644 frontend/public/tinymce/tinymce.d.ts delete mode 100644 frontend/public/tinymce/tinymce.min.js create mode 100644 frontend/src/components/falukant/MessagesDialog.vue create mode 100644 frontend/src/i18n/locales/de/minigames.json create mode 100644 frontend/src/i18n/locales/en/minigames.json create mode 100644 frontend/src/router/minigamesRoutes.js create mode 100644 frontend/src/views/minigames/Match3Game.vue create mode 100644 frontend/src/views/minigames/MinigamesView.vue diff --git a/README_MATCH3_CAMPAIGN.md b/README_MATCH3_CAMPAIGN.md new file mode 100644 index 0000000..69835ee --- /dev/null +++ b/README_MATCH3_CAMPAIGN.md @@ -0,0 +1,175 @@ +# Match3 - Juwelen Kampagne + +## Übersicht + +Das Match3-Spiel wurde von einem einfachen Spielmodi-System zu einem vollständigen Kampagnen-System umgebaut. Spieler starten direkt in die Kampagne und müssen Level für Level verschiedene Ziele erreichen. + +## Neue Features + +### 🎯 **Kampagnen-System** +- **Direkter Start**: Keine Spielmodi-Auswahl mehr, Spieler starten sofort in die Kampagne +- **Level-basierter Fortschritt**: Jedes Level hat spezifische Ziele und Anforderungen +- **Stern-System**: Spieler können 1-3 Sterne pro Level verdienen +- **Fortschrittsspeicherung**: Alle Daten werden im Backend gespeichert + +### 🏆 **Level-Objectives** +- **Punkte-Ziele**: Sammle eine bestimmte Anzahl von Punkten +- **Match-Ziele**: Mache eine bestimmte Anzahl von Matches +- **Effizienz-Ziele**: Verwende weniger Züge als vorgegeben +- **Zeit-Ziele**: (Zukünftig) Schließe das Level in einer bestimmten Zeit ab + +### 📊 **Fortschrittsverfolgung** +- **Persistente Daten**: Spielstand wird in der Datenbank gespeichert +- **Benutzerstatistiken**: Detaillierte Übersicht über alle Kampagnen +- **Bestenlisten**: Vergleich mit anderen Spielern +- **Versuchszähler**: Verfolgung der Versuche pro Level + +## Technische Architektur + +### 🗄️ **Backend-Schema** + +#### Neue Tabellen im `match3` Schema: + +1. **`match3_campaigns`** + - Kampagnen-Informationen (Name, Beschreibung, Reihenfolge) + - Aktiv/Inaktiv-Status + +2. **`match3_levels`** + - Level-spezifische Einstellungen (Brettgröße, Juwelen-Typen) + - Verknüpfung zu Kampagnen + - Züge- und Zeitlimits + +3. **`match3_objectives`** + - Level-Ziele mit Typ, Beschreibung und Zielwert + - Verschiedene Operatoren (>=, <=, =, >, <) + +4. **`match3_user_progress`** + - Kampagnen-Fortschritt pro Benutzer + - Gesamtpunktzahl, Sterne und abgeschlossene Level + +5. **`match3_user_level_progress`** + - Detaillierter Level-Fortschritt + - Bestwerte und Versuchszähler + +### 🔧 **Backend-Services** + +#### `Match3Service` +- **`getActiveCampaigns()`**: Lädt alle aktiven Kampagnen +- **`getCampaign(campaignId)`**: Lädt eine spezifische Kampagne +- **`getUserProgress(userId, campaignId)`**: Lädt Benutzerfortschritt +- **`updateLevelProgress()`**: Aktualisiert Level-Fortschritt +- **`getLeaderboard()`**: Lädt Bestenliste +- **`getUserStats()`**: Lädt Benutzerstatistiken + +#### `Match3Controller` +- RESTful API-Endpunkte für alle Match3-Operationen +- Authentifizierung erforderlich für alle Routen +- Fehlerbehandlung und Validierung + +### 🌐 **API-Endpunkte** + +``` +GET /api/match3/campaigns - Alle aktiven Kampagnen +GET /api/match3/campaigns/:id - Spezifische Kampagne +GET /api/match3/campaigns/:id/progress - Benutzerfortschritt +POST /api/match3/campaigns/:id/levels/:levelId/progress - Fortschritt speichern +GET /api/match3/campaigns/:id/leaderboard - Bestenliste +GET /api/match3/stats - Benutzerstatistiken +``` + +### 🎮 **Frontend-Änderungen** + +#### `Match3Game.vue` +- **Entfernt**: Spielmodi-Auswahl, Highscore-System +- **Hinzugefügt**: Kampagnen-Status, Level-Info, Objective-Anzeige +- **Neue Dialoge**: Level-Abschluss, Kampagnen-Abschluss +- **API-Integration**: Laden und Speichern von Kampagnen-Daten + +#### Lokalisierung +- Neue Übersetzungsschlüssel für Kampagnen-System +- Deutsche und englische Lokalisierung +- Konsistente Benennung + +## Installation & Setup + +### 1. **Backend starten** +```bash +cd backend +npm start +``` + +Das Backend erstellt automatisch: +- Das `match3` Schema +- Alle erforderlichen Tabellen +- Beispieldaten (Kampagne + 2 Level) + +### 2. **Frontend starten** +```bash +cd frontend +npm run dev +``` + +## Automatische Initialisierung + +Das System initialisiert sich automatisch beim ersten Start: + +- **Schema-Erstellung**: `utils/sequelize.js` erstellt das `match3` Schema +- **Tabellen-Synchronisation**: Sequelize erstellt alle Tabellen mit `sync({ alter: true })` +- **Beispieldaten**: `utils/initializeMatch3.js` erstellt die erste Kampagne +- **Assoziationen**: `models/associations.js` verknüpft alle Modelle + +## Beispieldaten + +Die automatische Initialisierung erstellt: +- **1 Kampagne**: "Juwelen-Meister" +- **2 Level**: "Der Anfang" und "Erste Herausforderung" +- **5 Objectives**: Verschiedene Ziele für beide Level + +## Erweiterte Funktionen + +### 🔮 **Zukünftige Entwicklungen** +- **Mehr Kampagnen**: Verschiedene Themen und Schwierigkeitsgrade +- **Spezial-Juwelen**: Power-ups und Bonus-Effekte +- **Multiplayer**: Wettbewerbe zwischen Spielern +- **Achievements**: Belohnungssystem für besondere Leistungen +- **Tägliche Herausforderungen**: Neue Ziele jeden Tag + +### 🎨 **Anpassungsmöglichkeiten** +- **Neue Objective-Typen**: Einfach über das Datenbankschema erweiterbar +- **Kampagnen-Editor**: Admin-Interface zum Erstellen neuer Kampagnen +- **Benutzerdefinierte Level**: Spieler können eigene Level erstellen +- **Themen-Skins**: Verschiedene visuelle Stile + +## Wartung & Monitoring + +### 📈 **Metriken** +- Spieler-Engagement pro Kampagne +- Level-Abschlussraten +- Durchschnittliche Spielzeit +- Beliebte Kampagnen + +### 🛠️ **Admin-Funktionen** +- Kampagnen aktivieren/deaktivieren +- Level-Parameter anpassen +- Objective-Ziele optimieren +- Benutzerfortschritt zurücksetzen + +## Technische Details + +### **Modul-Struktur** +- **ES6-Module**: Alle neuen Dateien verwenden `import/export` +- **Konsistente Struktur**: Folgt dem bestehenden Projekt-Pattern +- **Zentrale Assoziationen**: Alle Beziehungen in `models/associations.js` +- **Automatische Schema-Erstellung**: Keine manuellen Migrationen nötig + +### **Datenbank-Design** +- **Flexible Objective-Systeme**: Verschiedene Zieltypen und Operatoren +- **Performance-Optimiert**: Indizes auf häufig abgefragten Feldern +- **Referentielle Integrität**: Foreign Key Constraints für Datenkonsistenz +- **Skalierbar**: Einfach um neue Kampagnen und Level erweiterbar + +## Fazit + +Das neue Kampagnen-System verwandelt das einfache Match3-Spiel in ein vollwertiges, progressives Spielerlebnis. Durch die Backend-Integration werden alle Spielstände persistent gespeichert und ermöglichen eine langfristige Spielerbindung. + +Die modulare Architektur macht es einfach, neue Kampagnen, Level und Objective-Typen hinzuzufügen, ohne den bestehenden Code zu beeinträchtigen. Das System initialisiert sich automatisch und erfordert keine manuellen Datenbankoperationen. diff --git a/backend/app.js b/backend/app.js index 3e59eb4..58880ab 100644 --- a/backend/app.js +++ b/backend/app.js @@ -12,6 +12,7 @@ import forumRouter from './routers/forumRouter.js'; import falukantRouter from './routers/falukantRouter.js'; import friendshipRouter from './routers/friendshipRouter.js'; import blogRouter from './routers/blogRouter.js'; +import match3Router from './routers/match3Router.js'; import cors from 'cors'; import './jobs/sessionCleanup.js'; @@ -21,8 +22,10 @@ const __dirname = path.dirname(__filename); const app = express(); const corsOptions = { - origin: '*', - methods: 'GET,HEAD,PUT,PATCH,POST,DELETE', + origin: ['http://localhost:3000', 'http://localhost:5173', 'http://127.0.0.1:3000', 'http://127.0.0.1:5173'], + methods: ['GET', 'HEAD', 'PUT', 'PATCH', 'POST', 'DELETE'], + allowedHeaders: ['Content-Type', 'Authorization', 'userId', 'authCode'], + credentials: true, preflightContinue: false, optionsSuccessStatus: 204 }; @@ -35,6 +38,7 @@ app.use('/api/auth', authRouter); app.use('/api/navigation', navigationRouter); app.use('/api/settings', settingsRouter); app.use('/api/admin', adminRouter); +app.use('/api/match3', match3Router); app.use('/images', express.static(path.join(__dirname, '../frontend/public/images'))); app.use('/api/contact', contactRouter); app.use('/api/socialnetwork', socialnetworkRouter); diff --git a/backend/controllers/falukantController.js b/backend/controllers/falukantController.js index 0e033c5..ea722c2 100644 --- a/backend/controllers/falukantController.js +++ b/backend/controllers/falukantController.js @@ -142,6 +142,8 @@ class FalukantController { this.getUndergroundTypes = this._wrapWithUser((userId) => this.service.getUndergroundTypes(userId)); this.getNotifications = this._wrapWithUser((userId) => this.service.getNotifications(userId)); + this.getAllNotifications = this._wrapWithUser((userId, req) => this.service.getAllNotifications(userId, req.query.page, req.query.size)); + this.markNotificationsShown = this._wrapWithUser((userId) => this.service.markNotificationsShown(userId), { successStatus: 202 }); this.getUndergroundTargets = this._wrapWithUser((userId) => this.service.getPoliticalOfficeHolders(userId)); this.searchUsers = this._wrapWithUser((userId, req) => { diff --git a/backend/controllers/match3Controller.js b/backend/controllers/match3Controller.js new file mode 100644 index 0000000..d7b069c --- /dev/null +++ b/backend/controllers/match3Controller.js @@ -0,0 +1,128 @@ +import match3Service from '../services/match3Service.js'; + +class Match3Controller { + /** + * Lädt alle aktiven Kampagnen + */ + async getCampaigns(req, res) { + try { + const campaigns = await match3Service.getActiveCampaigns(); + res.json({ success: true, data: campaigns }); + } catch (error) { + console.error('Error in getCampaigns:', error); + res.status(500).json({ success: false, message: 'Fehler beim Laden der Kampagnen' }); + } + } + + /** + * Lädt eine spezifische Kampagne + */ + async getCampaign(req, res) { + try { + const { campaignId } = req.params; + const campaign = await match3Service.getCampaign(campaignId); + + if (!campaign) { + return res.status(404).json({ success: false, message: 'Kampagne nicht gefunden' }); + } + + res.json({ success: true, data: campaign }); + } catch (error) { + console.error('Error in getCampaign:', error); + res.status(500).json({ success: false, message: 'Fehler beim Laden der Kampagne' }); + } + } + + /** + * Lädt den Benutzerfortschritt für eine Kampagne + */ + async getUserProgress(req, res) { + try { + const { campaignId } = req.params; + const userId = req.headers.userid || req.user?.id; + + if (!userId) { + return res.status(401).json({ success: false, message: 'Benutzer-ID nicht gefunden' }); + } + + const userProgress = await match3Service.getUserProgress(userId, campaignId); + res.json({ success: true, data: userProgress }); + } catch (error) { + console.error('Error in getUserProgress:', error); + res.status(500).json({ success: false, message: 'Fehler beim Laden des Fortschritts' }); + } + } + + /** + * Aktualisiert den Level-Fortschritt eines Benutzers + */ + async updateLevelProgress(req, res) { + try { + const { campaignId, levelId } = req.params; + const userId = req.headers.userid || req.user?.id; + const { score, moves, time, stars, isCompleted } = req.body; + + if (!userId) { + return res.status(401).json({ success: false, message: 'Benutzer-ID nicht gefunden' }); + } + + if (!score || !moves || !stars) { + return res.status(400).json({ + success: false, + message: 'Alle erforderlichen Felder müssen ausgefüllt werden' + }); + } + + const levelData = { + score: parseInt(score), + moves: parseInt(moves), + time: time ? parseInt(time) : 0, + stars: parseInt(stars), + isCompleted: Boolean(isCompleted) + }; + + const result = await match3Service.updateLevelProgress(userId, campaignId, levelId, levelData); + res.json({ success: true, data: result }); + } catch (error) { + console.error('Error in updateLevelProgress:', error); + res.status(500).json({ success: false, message: 'Fehler beim Aktualisieren des Fortschritts' }); + } + } + + /** + * Lädt die Bestenliste für eine Kampagne + */ + async getLeaderboard(req, res) { + try { + const { campaignId } = req.params; + const { limit = 10 } = req.query; + + const leaderboard = await match3Service.getLeaderboard(campaignId, parseInt(limit)); + res.json({ success: true, data: leaderboard }); + } catch (error) { + console.error('Error in getLeaderboard:', error); + res.status(500).json({ success: false, message: 'Fehler beim Laden der Bestenliste' }); + } + } + + /** + * Lädt Statistiken für einen Benutzer + */ + async getUserStats(req, res) { + try { + const userId = req.headers.userid || req.user?.id; + + if (!userId) { + return res.status(401).json({ success: false, message: 'Benutzer-ID nicht gefunden' }); + } + + const stats = await match3Service.getUserStats(userId); + res.json({ success: true, data: stats }); + } catch (error) { + console.error('Error in getUserStats:', error); + res.status(500).json({ success: false, message: 'Fehler beim Laden der Statistiken' }); + } + } +} + +export default new Match3Controller(); diff --git a/backend/controllers/minigamesController.js b/backend/controllers/minigamesController.js new file mode 100644 index 0000000..3739e16 --- /dev/null +++ b/backend/controllers/minigamesController.js @@ -0,0 +1,32 @@ +import MinigamesService from '../services/minigamesService.js'; + +function extractHashedUserId(req) { + return req.headers?.userid; +} + +class MinigamesController { + constructor() { + this.service = MinigamesService; + + this.listCampaigns = this._wrap((userId, req) => this.service.listCampaigns()); + this.getCampaign = this._wrap((userId, req) => this.service.getCampaign(req.params.code)); + this.getProgress = this._wrap((userId, req) => this.service.getProgress(userId, req.params.code)); + this.saveProgress = this._wrap((userId, req) => this.service.saveProgress(userId, req.params.code, req.body)); + } + + _wrap(fn, { successStatus = 200 } = {}) { + return async (req, res) => { + try { + const userId = extractHashedUserId(req); + if (!userId) return res.status(400).json({ error: 'Missing user identifier' }); + const result = await fn(userId, req, res); + res.status(successStatus).json(result); + } catch (error) { + console.error('Minigames controller error:', error); + res.status(500).json({ error: error.message || 'Internal error' }); + } + }; + } +} + +export default new MinigamesController(); diff --git a/backend/controllers/navigationController.js b/backend/controllers/navigationController.js index 05c6155..2d1038d 100644 --- a/backend/controllers/navigationController.js +++ b/backend/controllers/navigationController.js @@ -170,6 +170,12 @@ const menuStructure = { minigames: { visible: ["all"], icon: "minigames16.png", + children: { + match3: { + visible: ["all"], + path: "/minigames/match3" + } + } }, settings: { visible: ["all"], diff --git a/backend/middleware/authMiddleware.js b/backend/middleware/authMiddleware.js index 0031658..2164a5c 100644 --- a/backend/middleware/authMiddleware.js +++ b/backend/middleware/authMiddleware.js @@ -17,3 +17,6 @@ export const authenticate = async (req, res, next) => { } next(); }; + +// Default export für Kompatibilität +export default { authenticate }; diff --git a/backend/models/associations.js b/backend/models/associations.js index 497f1ac..bee78c8 100644 --- a/backend/models/associations.js +++ b/backend/models/associations.js @@ -97,10 +97,28 @@ import Underground from './falukant/data/underground.js'; import UndergroundType from './falukant/type/underground.js'; import Blog from './community/blog.js'; import BlogPost from './community/blog_post.js'; +import MinigameCampaign from './service/minigame_campaign.js'; +import MinigameCampaignLevel from './service/minigame_campaign_level.js'; +import MinigameUserProgress from './service/minigame_user_progress.js'; + +// Match3 Models +import Match3Campaign from './match3/campaign.js'; +import Match3Level from './match3/level.js'; +import Match3Objective from './match3/objective.js'; +import Match3UserProgress from './match3/userProgress.js'; +import Match3UserLevelProgress from './match3/userLevelProgress.js'; export default function setupAssociations() { // RoomType 1:n Room RoomType.hasMany(Room, { foreignKey: 'roomTypeId', as: 'rooms' }); + // Minigames associations + MinigameCampaign.hasMany(MinigameCampaignLevel, { foreignKey: 'campaign_id', as: 'levels' }); + MinigameCampaignLevel.belongsTo(MinigameCampaign, { foreignKey: 'campaign_id', as: 'campaign' }); + + User.hasMany(MinigameUserProgress, { foreignKey: 'user_id', as: 'minigameProgress' }); + MinigameUserProgress.belongsTo(User, { foreignKey: 'user_id', as: 'user' }); + MinigameCampaign.hasMany(MinigameUserProgress, { foreignKey: 'campaign_id', as: 'userProgress' }); + MinigameUserProgress.belongsTo(MinigameCampaign, { foreignKey: 'campaign_id', as: 'campaign' }); Room.belongsTo(RoomType, { foreignKey: 'roomTypeId', as: 'roomType' }); // ChatUser <-> ChatRight n:m ChatUser.belongsToMany(ChatRight, { @@ -768,4 +786,59 @@ export default function setupAssociations() { Blog.hasMany(BlogPost, { foreignKey: 'blog_id', as: 'posts' }); BlogPost.belongsTo(User, { foreignKey: 'user_id', as: 'author' }); User.hasMany(BlogPost, { foreignKey: 'user_id', as: 'blogPosts' }); + + // Match3 associations + Match3Campaign.hasMany(Match3Level, { + foreignKey: 'campaignId', + as: 'levels' + }); + Match3Level.belongsTo(Match3Campaign, { + foreignKey: 'campaignId', + as: 'campaign' + }); + + Match3Level.hasMany(Match3Objective, { + foreignKey: 'levelId', + as: 'objectives' + }); + Match3Objective.belongsTo(Match3Level, { + foreignKey: 'levelId', + as: 'level' + }); + + Match3Campaign.hasMany(Match3UserProgress, { + foreignKey: 'campaignId', + as: 'userProgress' + }); + Match3UserProgress.belongsTo(Match3Campaign, { + foreignKey: 'campaignId', + as: 'campaign' + }); + + User.hasMany(Match3UserProgress, { + foreignKey: 'userId', + as: 'match3Progress' + }); + Match3UserProgress.belongsTo(User, { + foreignKey: 'userId', + as: 'user' + }); + + Match3UserProgress.hasMany(Match3UserLevelProgress, { + foreignKey: 'userProgressId', + as: 'levelProgress' + }); + Match3UserLevelProgress.belongsTo(Match3UserProgress, { + foreignKey: 'userProgressId', + as: 'userProgress' + }); + + Match3Level.hasMany(Match3UserLevelProgress, { + foreignKey: 'levelId', + as: 'userProgress' + }); + Match3UserLevelProgress.belongsTo(Match3Level, { + foreignKey: 'levelId', + as: 'level' + }); } diff --git a/backend/models/index.js b/backend/models/index.js index 0cf35c1..09d5398 100644 --- a/backend/models/index.js +++ b/backend/models/index.js @@ -86,6 +86,18 @@ import Credit from './falukant/data/credit.js'; import DebtorsPrism from './falukant/data/debtors_prism.js'; import HealthActivity from './falukant/log/health_activity.js'; +// Minigames (service) +import MinigameCampaign from './service/minigame_campaign.js'; +import MinigameCampaignLevel from './service/minigame_campaign_level.js'; +import MinigameUserProgress from './service/minigame_user_progress.js'; + +// Match3 Models +import Match3Campaign from './match3/campaign.js'; +import Match3Level from './match3/level.js'; +import Match3Objective from './match3/objective.js'; +import Match3UserProgress from './match3/userProgress.js'; +import Match3UserLevelProgress from './match3/userLevelProgress.js'; + // — Politische Ämter (Politics) — import PoliticalOfficeType from './falukant/type/political_office_type.js'; import PoliticalOfficeRequirement from './falukant/predefine/political_office_prerequisite.js'; @@ -194,6 +206,14 @@ const models = { Credit, DebtorsPrism, HealthActivity, + MinigameCampaign, + MinigameCampaignLevel, + MinigameUserProgress, + Match3Campaign, + Match3Level, + Match3Objective, + Match3UserProgress, + Match3UserLevelProgress, PoliticalOfficeType, PoliticalOfficeRequirement, PoliticalOfficeBenefitType, diff --git a/backend/models/match3/campaign.js b/backend/models/match3/campaign.js new file mode 100644 index 0000000..69008cc --- /dev/null +++ b/backend/models/match3/campaign.js @@ -0,0 +1,40 @@ +import { sequelize } from '../../utils/sequelize.js'; +import { DataTypes } from 'sequelize'; + +const Campaign = sequelize.define('Campaign', { + id: { + type: DataTypes.INTEGER, + primaryKey: true, + autoIncrement: true + }, + name: { + type: DataTypes.STRING(255), + allowNull: false + }, + description: { + type: DataTypes.TEXT, + allowNull: true + }, + isActive: { + type: DataTypes.BOOLEAN, + defaultValue: true + }, + order: { + type: DataTypes.INTEGER, + defaultValue: 1 + }, + createdAt: { + type: DataTypes.DATE, + defaultValue: DataTypes.NOW + }, + updatedAt: { + type: DataTypes.DATE, + defaultValue: DataTypes.NOW + } +}, { + tableName: 'match3_campaigns', + schema: 'match3', + timestamps: true +}); + +export default Campaign; diff --git a/backend/models/match3/level.js b/backend/models/match3/level.js new file mode 100644 index 0000000..00b1ac0 --- /dev/null +++ b/backend/models/match3/level.js @@ -0,0 +1,61 @@ +import { sequelize } from '../../utils/sequelize.js'; +import { DataTypes } from 'sequelize'; + +const Level = sequelize.define('Level', { + id: { + type: DataTypes.INTEGER, + primaryKey: true, + autoIncrement: true + }, + campaignId: { + type: DataTypes.INTEGER, + allowNull: false + }, + name: { + type: DataTypes.STRING(255), + allowNull: false + }, + description: { + type: DataTypes.TEXT, + allowNull: true + }, + order: { + type: DataTypes.INTEGER, + defaultValue: 1 + }, + boardSize: { + type: DataTypes.INTEGER, + defaultValue: 8 + }, + tileTypes: { + type: DataTypes.JSON, + allowNull: false, + defaultValue: ['gem', 'star', 'heart', 'diamond', 'circle', 'square'] + }, + moveLimit: { + type: DataTypes.INTEGER, + allowNull: true + }, + timeLimit: { + type: DataTypes.INTEGER, + allowNull: true + }, + isActive: { + type: DataTypes.BOOLEAN, + defaultValue: true + }, + createdAt: { + type: DataTypes.DATE, + defaultValue: DataTypes.NOW + }, + updatedAt: { + type: DataTypes.DATE, + defaultValue: DataTypes.NOW + } +}, { + tableName: 'match3_levels', + schema: 'match3', + timestamps: true +}); + +export default Level; diff --git a/backend/models/match3/objective.js b/backend/models/match3/objective.js new file mode 100644 index 0000000..7e06996 --- /dev/null +++ b/backend/models/match3/objective.js @@ -0,0 +1,52 @@ +import { sequelize } from '../../utils/sequelize.js'; +import { DataTypes } from 'sequelize'; + +const Objective = sequelize.define('Objective', { + id: { + type: DataTypes.INTEGER, + primaryKey: true, + autoIncrement: true + }, + levelId: { + type: DataTypes.INTEGER, + allowNull: false + }, + type: { + type: DataTypes.ENUM('score', 'matches', 'moves', 'time', 'special'), + allowNull: false + }, + description: { + type: DataTypes.STRING(500), + allowNull: false + }, + target: { + type: DataTypes.INTEGER, + allowNull: false + }, + operator: { + type: DataTypes.ENUM('>=', '<=', '=', '>', '<'), + defaultValue: '>=' + }, + order: { + type: DataTypes.INTEGER, + defaultValue: 1 + }, + isRequired: { + type: DataTypes.BOOLEAN, + defaultValue: true + }, + createdAt: { + type: DataTypes.DATE, + defaultValue: DataTypes.NOW + }, + updatedAt: { + type: DataTypes.DATE, + defaultValue: DataTypes.NOW + } +}, { + tableName: 'match3_objectives', + schema: 'match3', + timestamps: true +}); + +export default Objective; diff --git a/backend/models/match3/userLevelProgress.js b/backend/models/match3/userLevelProgress.js new file mode 100644 index 0000000..e03e37b --- /dev/null +++ b/backend/models/match3/userLevelProgress.js @@ -0,0 +1,78 @@ +import { sequelize } from '../../utils/sequelize.js'; +import { DataTypes } from 'sequelize'; + +const UserLevelProgress = sequelize.define('UserLevelProgress', { + id: { + type: DataTypes.INTEGER, + primaryKey: true, + autoIncrement: true + }, + userProgressId: { + type: DataTypes.INTEGER, + allowNull: false + }, + levelId: { + type: DataTypes.INTEGER, + allowNull: false + }, + score: { + type: DataTypes.INTEGER, + defaultValue: 0 + }, + moves: { + type: DataTypes.INTEGER, + defaultValue: 0 + }, + time: { + type: DataTypes.INTEGER, + defaultValue: 0 + }, + stars: { + type: DataTypes.INTEGER, + defaultValue: 0 + }, + isCompleted: { + type: DataTypes.BOOLEAN, + defaultValue: false + }, + attempts: { + type: DataTypes.INTEGER, + defaultValue: 1 + }, + bestScore: { + type: DataTypes.INTEGER, + defaultValue: 0 + }, + bestMoves: { + type: DataTypes.INTEGER, + defaultValue: 0 + }, + bestTime: { + type: DataTypes.INTEGER, + defaultValue: 0 + }, + completedAt: { + type: DataTypes.DATE, + allowNull: true + }, + createdAt: { + type: DataTypes.DATE, + defaultValue: DataTypes.NOW + }, + updatedAt: { + type: DataTypes.DATE, + defaultValue: DataTypes.NOW + } +}, { + tableName: 'match3_user_level_progress', + schema: 'match3', + timestamps: true, + indexes: [ + { + unique: true, + fields: ['userProgressId', 'levelId'] + } + ] +}); + +export default UserLevelProgress; diff --git a/backend/models/match3/userProgress.js b/backend/models/match3/userProgress.js new file mode 100644 index 0000000..1bf17d1 --- /dev/null +++ b/backend/models/match3/userProgress.js @@ -0,0 +1,62 @@ +import { sequelize } from '../../utils/sequelize.js'; +import { DataTypes } from 'sequelize'; + +const UserProgress = sequelize.define('UserProgress', { + id: { + type: DataTypes.INTEGER, + primaryKey: true, + autoIncrement: true + }, + userId: { + type: DataTypes.STRING(255), + allowNull: false + }, + campaignId: { + type: DataTypes.INTEGER, + allowNull: false + }, + totalScore: { + type: DataTypes.INTEGER, + defaultValue: 0 + }, + totalStars: { + type: DataTypes.INTEGER, + defaultValue: 0 + }, + levelsCompleted: { + type: DataTypes.INTEGER, + defaultValue: 0 + }, + currentLevel: { + type: DataTypes.INTEGER, + defaultValue: 1 + }, + isCompleted: { + type: DataTypes.BOOLEAN, + defaultValue: false + }, + lastPlayed: { + type: DataTypes.DATE, + defaultValue: DataTypes.NOW + }, + createdAt: { + type: DataTypes.DATE, + defaultValue: DataTypes.NOW + }, + updatedAt: { + type: DataTypes.DATE, + defaultValue: DataTypes.NOW + } +}, { + tableName: 'match3_user_progress', + schema: 'match3', + timestamps: true, + indexes: [ + { + unique: true, + fields: ['userId', 'campaignId'] + } + ] +}); + +export default UserProgress; diff --git a/backend/models/service/minigame_campaign.js b/backend/models/service/minigame_campaign.js new file mode 100644 index 0000000..e83f078 --- /dev/null +++ b/backend/models/service/minigame_campaign.js @@ -0,0 +1,24 @@ +import { sequelize } from '../../utils/sequelize.js'; +import { DataTypes } from 'sequelize'; + +const MinigameCampaign = sequelize.define('minigame_campaign', { + code: { + type: DataTypes.STRING, + allowNull: false, + unique: true, + }, + title: { + type: DataTypes.STRING, + allowNull: false, + }, + description: { + type: DataTypes.TEXT, + allowNull: true, + }, +}, { + tableName: 'minigame_campaign', + schema: 'service', + underscored: true, +}); + +export default MinigameCampaign; diff --git a/backend/models/service/minigame_campaign_level.js b/backend/models/service/minigame_campaign_level.js new file mode 100644 index 0000000..03e5f5e --- /dev/null +++ b/backend/models/service/minigame_campaign_level.js @@ -0,0 +1,25 @@ +import { sequelize } from '../../utils/sequelize.js'; +import { DataTypes } from 'sequelize'; + +const MinigameCampaignLevel = sequelize.define('minigame_campaign_level', { + campaignId: { + type: DataTypes.INTEGER, + allowNull: false, + field: 'campaign_id' + }, + index: { // 1-based level number + type: DataTypes.INTEGER, + allowNull: false, + }, + config: { + type: DataTypes.JSONB, + allowNull: false, + defaultValue: {} + }, +}, { + tableName: 'minigame_campaign_level', + schema: 'service', + underscored: true, +}); + +export default MinigameCampaignLevel; diff --git a/backend/models/service/minigame_user_progress.js b/backend/models/service/minigame_user_progress.js new file mode 100644 index 0000000..b480369 --- /dev/null +++ b/backend/models/service/minigame_user_progress.js @@ -0,0 +1,41 @@ +import { sequelize } from '../../utils/sequelize.js'; +import { DataTypes } from 'sequelize'; + +const MinigameUserProgress = sequelize.define('minigame_user_progress', { + userId: { + type: DataTypes.INTEGER, + allowNull: false, + field: 'user_id' + }, + campaignId: { + type: DataTypes.INTEGER, + allowNull: false, + field: 'campaign_id' + }, + levelIndex: { + type: DataTypes.INTEGER, + allowNull: false, + defaultValue: 1, + field: 'level_index' + }, + stars: { // 0..3 + type: DataTypes.INTEGER, + allowNull: false, + defaultValue: 0 + }, + bestScore: { + type: DataTypes.INTEGER, + allowNull: false, + defaultValue: 0, + field: 'best_score' + } +}, { + tableName: 'minigame_user_progress', + schema: 'service', + underscored: true, + indexes: [ + { unique: true, fields: ['user_id', 'campaign_id'] } + ] +}); + +export default MinigameUserProgress; diff --git a/backend/routers/falukantRouter.js b/backend/routers/falukantRouter.js index 83d73c7..6a0e045 100644 --- a/backend/routers/falukantRouter.js +++ b/backend/routers/falukantRouter.js @@ -71,6 +71,8 @@ router.post('/politics/open', falukantController.applyForElections); router.get('/cities', falukantController.getRegions); router.get('/underground/types', falukantController.getUndergroundTypes); router.get('/notifications', falukantController.getNotifications); +router.get('/notifications/all', falukantController.getAllNotifications); +router.post('/notifications/mark-shown', falukantController.markNotificationsShown); router.get('/underground/targets', falukantController.getUndergroundTargets); router.post('/underground/activities', falukantController.createUndergroundActivity); router.get('/users/search', falukantController.searchUsers); diff --git a/backend/routers/match3Router.js b/backend/routers/match3Router.js new file mode 100644 index 0000000..14f4c66 --- /dev/null +++ b/backend/routers/match3Router.js @@ -0,0 +1,22 @@ +import express from 'express'; +import match3Controller from '../controllers/match3Controller.js'; +import { authenticate } from '../middleware/authMiddleware.js'; + +const router = express.Router(); + +// Alle Routen erfordern Authentifizierung +router.use(authenticate); + +// Kampagnen-Routen +router.get('/campaigns', match3Controller.getCampaigns); +router.get('/campaigns/:campaignId', match3Controller.getCampaign); + +// Benutzer-Fortschritt +router.get('/campaigns/:campaignId/progress', match3Controller.getUserProgress); +router.post('/campaigns/:campaignId/levels/:levelId/progress', match3Controller.updateLevelProgress); + +// Bestenliste und Statistiken +router.get('/campaigns/:campaignId/leaderboard', match3Controller.getLeaderboard); +router.get('/stats', match3Controller.getUserStats); + +export default router; diff --git a/backend/services/falukantService.js b/backend/services/falukantService.js index 8bc7e8c..a5dd9ad 100644 --- a/backend/services/falukantService.js +++ b/backend/services/falukantService.js @@ -298,10 +298,79 @@ class FalukantService extends BaseService { ] }, ], - attributes: ['money'] + attributes: ['id', 'money'] }); if (!falukantUser) throw new Error('User not found'); if (falukantUser.character?.birthdate) falukantUser.character.setDataValue('age', calcAge(falukantUser.character.birthdate)); + + // Aggregate status additions: children counts and unread notifications + try { + const bm = (step, payload = {}) => { + try { console.log(`[BLOCKMARKER][falukant.getInfo] ${step}`, payload); } catch (_) { /* ignore */ } + }; + bm('aggregate.start', { userId: user.id, falukantUserId: falukantUser.id }); + // Determine all character IDs belonging to the user + if (!falukantUser.id) { + bm('aggregate.noFalukantUserId'); + throw new Error('Missing falukantUser.id in getInfo aggregation'); + } + const userCharacterIdsRows = await FalukantCharacter.findAll({ + attributes: ['id'], + where: { userId: falukantUser.id }, + raw: true + }); + const userCharacterIds = userCharacterIdsRows.map(r => r.id); + bm('aggregate.userCharacters', { count: userCharacterIds.length, ids: userCharacterIds.slice(0, 5) }); + + // Count distinct children for any of the user's characters (as father or mother) + let childrenCount = 0; + let unbaptisedChildrenCount = 0; + if (userCharacterIds.length > 0) { + const childRels = await ChildRelation.findAll({ + attributes: ['childCharacterId'], + where: { + [Op.or]: [ + { fatherCharacterId: { [Op.in]: userCharacterIds } }, + { motherCharacterId: { [Op.in]: userCharacterIds } }, + ] + }, + raw: true + }); + const distinctChildIds = new Set(childRels.map(r => r.childCharacterId)); + childrenCount = distinctChildIds.size; + bm('aggregate.children', { relations: childRels.length, distinct: childrenCount, sample: Array.from(distinctChildIds).slice(0, 5) }); + + const unbaptised = await ChildRelation.findAll({ + attributes: ['childCharacterId'], + where: { + nameSet: false, + [Op.or]: [ + { fatherCharacterId: { [Op.in]: userCharacterIds } }, + { motherCharacterId: { [Op.in]: userCharacterIds } }, + ] + }, + raw: true + }); + const distinctUnbaptisedIds = new Set(unbaptised.map(r => r.childCharacterId)); + unbaptisedChildrenCount = distinctUnbaptisedIds.size; + bm('aggregate.unbaptised', { relations: unbaptised.length, distinct: unbaptisedChildrenCount, sample: Array.from(distinctUnbaptisedIds).slice(0, 5) }); + } + + // Unread notifications count + const unreadNotifications = await Notification.count({ where: { userId: falukantUser.id, shown: false } }); + bm('aggregate.unread', { unreadNotifications }); + + falukantUser.setDataValue('childrenCount', childrenCount); + falukantUser.setDataValue('unbaptisedChildrenCount', unbaptisedChildrenCount); + falukantUser.setDataValue('unreadNotifications', unreadNotifications); + bm('aggregate.done', { childrenCount, unbaptisedChildrenCount }); + } catch (e) { + console.error('Error aggregating status info:', e); + falukantUser.setDataValue('childrenCount', 0); + falukantUser.setDataValue('unbaptisedChildrenCount', 0); + falukantUser.setDataValue('unreadNotifications', 0); + } + return falukantUser; } @@ -898,12 +967,9 @@ class FalukantService extends BaseService { await this.deleteExpiredProposals(); const existingProposals = await this.fetchProposals(falukantUserId, regionId); if (existingProposals.length > 0) { - console.log('Existing proposals:', existingProposals); return this.formatProposals(existingProposals); } - console.log('No existing proposals, generating new ones'); await this.generateProposals(falukantUserId, regionId); - console.log('Fetch new proposals'); const newProposals = await this.fetchProposals(falukantUserId, regionId); return this.formatProposals(newProposals); } @@ -1320,7 +1386,7 @@ class FalukantService extends BaseService { } ] }); - const children = []; + const children = []; for (const parentChar of charsWithChildren) { const allRels = [ ...(parentChar.childrenFather || []), @@ -1332,16 +1398,19 @@ class FalukantService extends BaseService { name: kid.definedFirstName?.name || 'Unknown', gender: kid.gender, age: calcAge(kid.birthdate), - hasName: rel.nameSet, + hasName: rel.nameSet, + _createdAt: rel.createdAt, }); } } + // Sort children globally by relation createdAt ascending (older first) + children.sort((a, b) => new Date(a._createdAt) - new Date(b._createdAt)); const inProgress = ['wooing', 'engaged', 'married']; const family = { relationships: relationships.filter(r => inProgress.includes(r.relationshipType)), lovers: relationships.filter(r => r.relationshipType === 'lover'), deathPartners: relationships.filter(r => r.relationshipType === 'widowed'), - children, + children: children.map(({ _createdAt, ...rest }) => rest), possiblePartners: [] }; const ownAge = calcAge(character.birthdate); @@ -1983,62 +2052,66 @@ class FalukantService extends BaseService { } async baptise(hashedUserId, childId, firstName) { - const falukantUser = await getFalukantUserOrFail(hashedUserId); - const parentCharacter = await FalukantCharacter.findOne({ - where: { - userId: falukantUser.id, - }, - }); - if (!parentCharacter) { - throw new Error('Parent character not found'); - } - const child = await FalukantCharacter.findOne({ - where: { - id: childId, - }, - }); - if (!child) { - throw new Error('Child not found'); - } - const childRelation = await ChildRelation.findOne({ - where: { - [Op.or]: [ - { - fatherCharacterId: parentCharacter.id, - childCharacterId: child.id, - }, - { - motherCharacterId: parentCharacter.id, - childCharacterId: child.id, - } - ] - } - }); - if (!childRelation) { - throw new Error('Child relation not found'); - } - await childRelation.update({ - nameSet: true, - }); - let firstNameObject = FalukantPredefineFirstname.findOne({ - where: { - name: firstName, - gender: child.gender, - }, - }); - if (!firstNameObject) { - firstNameObject = await FalukantPredefineFirstname.create({ - name: firstName, - gender: child.gender, + try { + const falukantUser = await getFalukantUserOrFail(hashedUserId); + const parentCharacter = await FalukantCharacter.findOne({ + where: { + userId: falukantUser.id, + }, }); + if (!parentCharacter) { + throw new Error('Parent character not found'); + } + const child = await FalukantCharacter.findOne({ + where: { + id: childId, + }, + }); + if (!child) { + throw new Error('Child not found'); + } + const childRelation = await ChildRelation.findOne({ + where: { + [Op.or]: [ + { + fatherCharacterId: parentCharacter.id, + childCharacterId: child.id, + }, + { + motherCharacterId: parentCharacter.id, + childCharacterId: child.id, + } + ] + } + }); + if (!childRelation) { + throw new Error('Child relation not found'); + } + await childRelation.update({ + nameSet: true, + }); + let firstNameObject = await FalukantPredefineFirstname.findOne({ + where: { + name: firstName, + gender: child.gender, + }, + }); + if (!firstNameObject) { + firstNameObject = await FalukantPredefineFirstname.create({ + name: firstName, + gender: child.gender, + }); + } + await child.update({ + firstName: firstNameObject.id, + }); + updateFalukantUserMoney(falukantUser.id, -50, 'Baptism', falukantUser.id); + // Trigger status bar refresh for the user after baptism + notifyUser(hashedUserId, 'falukantUpdateStatus', {}); + return { success: true }; + } catch (error) { + throw new Error(error.message); } - await child.update({ - firstName: firstNameObject.id, - }); - updateFalukantUserMoney(falukantUser.id, -50, 'Baptism', falukantUser.id); - return { success: true }; - } catch(error) { - throw new Error(error.message); } async getEducation(hashedUserId) { @@ -2795,7 +2868,29 @@ class FalukantService extends BaseService { where: { userId: user.id, shown: false }, order: [['createdAt', 'DESC']] }); - return user.notifications; + return notifications; + } + + async getAllNotifications(hashedUserId, page = 1, size = 10) { + const user = await getFalukantUserOrFail(hashedUserId); + const limit = Math.max(1, Math.min(Number(size) || 10, 100)); + const offset = Math.max(0, ((Number(page) || 1) - 1) * limit); + const { rows, count } = await Notification.findAndCountAll({ + where: { userId: user.id }, + order: [['createdAt', 'DESC']], + offset, + limit, + }); + return { items: rows, total: count, page: Number(page) || 1, size: limit }; + } + + async markNotificationsShown(hashedUserId) { + const user = await getFalukantUserOrFail(hashedUserId); + const [count] = await Notification.update( + { shown: true }, + { where: { userId: user.id, shown: false } } + ); + return { updated: count }; } async getPoliticalOfficeHolders(hashedUserId) { diff --git a/backend/services/match3Service.js b/backend/services/match3Service.js new file mode 100644 index 0000000..6166f83 --- /dev/null +++ b/backend/services/match3Service.js @@ -0,0 +1,313 @@ +import Match3Campaign from '../models/match3/campaign.js'; +import Match3Level from '../models/match3/level.js'; +import Match3Objective from '../models/match3/objective.js'; +import Match3UserProgress from '../models/match3/userProgress.js'; +import Match3UserLevelProgress from '../models/match3/userLevelProgress.js'; + +class Match3Service { + /** + * Lädt alle aktiven Kampagnen + */ + async getActiveCampaigns() { + try { + const campaigns = await Match3Campaign.findAll({ + where: { isActive: true }, + include: [ + { + model: Match3Level, + as: 'levels', + where: { isActive: true }, + required: false, + include: [ + { + model: Match3Objective, + as: 'objectives', + required: false, + order: [['order', 'ASC']] + } + ], + order: [['order', 'ASC']] + } + ], + order: [['order', 'ASC']] + }); + + return campaigns; + } catch (error) { + console.error('Error loading active campaigns:', error); + throw error; + } + } + + /** + * Lädt eine spezifische Kampagne mit allen Leveln + */ + async getCampaign(campaignId) { + try { + const campaign = await Match3Campaign.findByPk(campaignId, { + include: [ + { + model: Match3Level, + as: 'levels', + where: { isActive: true }, + required: false, + include: [ + { + model: Match3Objective, + as: 'objectives', + required: false, + order: [['order', 'ASC']] + } + ], + order: [['order', 'ASC']] + } + ] + }); + + return campaign; + } catch (error) { + console.error('Error loading campaign:', error); + throw error; + } + } + + /** + * Lädt den Benutzerfortschritt für eine Kampagne + */ + async getUserProgress(userId, campaignId) { + try { + let userProgress = await Match3UserProgress.findOne({ + where: { userId, campaignId }, + include: [ + { + model: Match3UserLevelProgress, + as: 'levelProgress', + include: [ + { + model: Match3Level, + as: 'level' + } + ] + } + ] + }); + + if (!userProgress) { + // Erstelle neuen Fortschritt wenn noch nicht vorhanden + userProgress = await Match3UserProgress.create({ + userId, + campaignId, + totalScore: 0, + totalStars: 0, + levelsCompleted: 0, + currentLevel: 1, + isCompleted: false + }); + } else { + // Validiere und korrigiere bestehende currentLevel-Werte + if (userProgress.currentLevel < 1 || userProgress.currentLevel > 1000) { + console.warn(`Invalid currentLevel detected for user ${userId}: ${userProgress.currentLevel}, correcting to ${userProgress.levelsCompleted + 1}`); + + // Korrigiere den ungültigen Wert + await userProgress.update({ + currentLevel: userProgress.levelsCompleted + 1 + }); + + // Lade den aktualisierten Datensatz + userProgress = await Match3UserProgress.findByPk(userProgress.id, { + include: [ + { + model: Match3UserLevelProgress, + as: 'levelProgress', + include: [ + { + model: Match3Level, + as: 'level' + } + ] + } + ] + }); + } + } + + return userProgress; + } catch (error) { + console.error('Error loading user progress:', error); + throw error; + } + } + + /** + * Aktualisiert den Level-Fortschritt eines Benutzers + */ + async updateLevelProgress(userId, campaignId, levelId, levelData) { + try { + // Lade oder erstelle Benutzerfortschritt + let userProgress = await Match3UserProgress.findOne({ + where: { userId, campaignId } + }); + + if (!userProgress) { + userProgress = await Match3UserProgress.create({ + userId, + campaignId, + totalScore: 0, + totalStars: 0, + levelsCompleted: 0, + currentLevel: 1, + isCompleted: false + }); + } + + // Lade oder erstelle Level-Fortschritt + let levelProgress = await Match3UserLevelProgress.findOne({ + where: { userProgressId: userProgress.id, levelId } + }); + + if (!levelProgress) { + levelProgress = await Match3UserLevelProgress.create({ + userProgressId: userProgress.id, + levelId, + score: 0, + moves: 0, + time: 0, + stars: 0, + isCompleted: false, + attempts: 0 + }); + } + + // Aktualisiere Level-Fortschritt + const updateData = { + score: Math.max(levelProgress.bestScore, levelData.score), + moves: levelData.moves, + time: levelData.time || 0, + stars: Math.max(levelProgress.stars, levelData.stars), + isCompleted: levelData.isCompleted || false, + attempts: levelProgress.attempts + 1 + }; + + if (levelData.isCompleted) { + updateData.completedAt = new Date(); + } + + await levelProgress.update(updateData); + + // Aktualisiere Bestwerte + if (levelData.score > levelProgress.bestScore) { + await levelProgress.update({ bestScore: levelData.score }); + } + if (levelData.moves < levelProgress.bestMoves || levelProgress.bestMoves === 0) { + await levelProgress.update({ bestMoves: levelData.moves }); + } + if (levelData.time < levelProgress.bestTime || levelProgress.bestTime === 0) { + await levelProgress.update({ bestTime: levelData.time }); + } + + // Aktualisiere Kampagnen-Fortschritt + if (levelData.isCompleted) { + const totalScore = await Match3UserLevelProgress.sum('score', { + where: { userProgressId: userProgress.id, isCompleted: true } + }); + + const totalStars = await Match3UserLevelProgress.sum('stars', { + where: { userProgressId: userProgress.id, isCompleted: true } + }); + + const levelsCompleted = await Match3UserLevelProgress.count({ + where: { userProgressId: userProgress.id, isCompleted: true } + }); + + // Korrigiere currentLevel: Es sollte immer levelsCompleted + 1 sein + const correctCurrentLevel = levelsCompleted + 1; + + await userProgress.update({ + totalScore, + totalStars, + levelsCompleted, + currentLevel: correctCurrentLevel, // Verwende den korrigierten Wert + lastPlayed: new Date() + }); + + // Prüfe ob Kampagne abgeschlossen ist + const totalLevels = await Match3Level.count({ + where: { campaignId, isActive: true } + }); + + if (levelsCompleted >= totalLevels) { + await userProgress.update({ isCompleted: true }); + } + } + + return { userProgress, levelProgress }; + } catch (error) { + console.error('Error updating level progress:', error); + throw error; + } + } + + /** + * Lädt die Bestenliste für eine Kampagne + */ + async getLeaderboard(campaignId, limit = 10) { + try { + const leaderboard = await Match3UserProgress.findAll({ + where: { campaignId }, + include: [ + { + model: Match3UserLevelProgress, + as: 'levelProgress', + where: { isCompleted: true }, + required: false + } + ], + order: [ + ['totalScore', 'DESC'], + ['totalStars', 'DESC'], + ['levelsCompleted', 'DESC'] + ], + limit + }); + + return leaderboard; + } catch (error) { + console.error('Error loading leaderboard:', error); + throw error; + } + } + + /** + * Lädt Statistiken für einen Benutzer + */ + async getUserStats(userId) { + try { + const stats = await Match3UserProgress.findAll({ + where: { userId }, + include: [ + { + model: Match3Campaign, + as: 'campaign' + }, + { + model: Match3UserLevelProgress, + as: 'levelProgress', + include: [ + { + model: Match3Level, + as: 'level' + } + ] + } + ] + }); + + return stats; + } catch (error) { + console.error('Error loading user stats:', error); + throw error; + } + } +} + +export default new Match3Service(); diff --git a/backend/services/minigamesService.js b/backend/services/minigamesService.js new file mode 100644 index 0000000..b69c08b --- /dev/null +++ b/backend/services/minigamesService.js @@ -0,0 +1,53 @@ +import BaseService from './BaseService.js'; +import models from '../models/index.js'; +import { Op } from 'sequelize'; + +const { MinigameCampaign, MinigameCampaignLevel, MinigameUserProgress, User } = models; + +class MinigamesService extends BaseService { + async listCampaigns() { + const campaigns = await MinigameCampaign.findAll({ order: [['id', 'ASC']] }); + return campaigns; + } + + async getCampaign(code) { + const campaign = await MinigameCampaign.findOne({ where: { code }, include: [{ model: MinigameCampaignLevel, as: 'levels', order: [['index', 'ASC']] }] }); + if (!campaign) throw new Error('campaign_not_found'); + return campaign; + } + + async getProgress(hashedUserId, code) { + const user = await this.getUserByHashedId(hashedUserId); + if (!user) throw new Error('user_not_found'); + const campaign = await MinigameCampaign.findOne({ where: { code } }); + if (!campaign) throw new Error('campaign_not_found'); + const progress = await MinigameUserProgress.findOne({ where: { userId: user.id, campaignId: campaign.id } }); + if (!progress) { + return { levelIndex: 1, stars: 0, bestScore: 0 }; + } + return progress; + } + + async saveProgress(hashedUserId, code, payload) { + const user = await this.getUserByHashedId(hashedUserId); + if (!user) throw new Error('user_not_found'); + const campaign = await MinigameCampaign.findOne({ where: { code } }); + if (!campaign) throw new Error('campaign_not_found'); + + const { levelIndex, stars, bestScore } = payload; + const [progress, created] = await MinigameUserProgress.findOrCreate({ + where: { userId: user.id, campaignId: campaign.id }, + defaults: { levelIndex, stars, bestScore } + }); + if (!created) { + await progress.update({ + levelIndex: Math.max(progress.levelIndex, levelIndex), + stars: Math.max(progress.stars, stars), + bestScore: Math.max(progress.bestScore, bestScore), + }); + } + return { success: true }; + } +} + +export default new MinigamesService(); diff --git a/backend/utils/fixMatch3Data.js b/backend/utils/fixMatch3Data.js new file mode 100644 index 0000000..67ac851 --- /dev/null +++ b/backend/utils/fixMatch3Data.js @@ -0,0 +1,63 @@ +import { sequelize } from './sequelize.js'; +import Match3UserProgress from '../models/match3/userProgress.js'; + +/** + * Korrigiert alle ungültigen currentLevel-Werte in der Match3-Datenbank + */ +async function fixMatch3Data() { + try { + console.log('🔧 Starte Korrektur der Match3-Daten...'); + + // Finde alle UserProgress-Einträge mit ungültigen currentLevel-Werten + const invalidEntries = await Match3UserProgress.findAll({ + where: { + currentLevel: { + [sequelize.Op.or]: [ + { [sequelize.Op.lt]: 1 }, + { [sequelize.Op.gt]: 1000 } + ] + } + } + }); + + console.log(`📊 Gefunden: ${invalidEntries.length} ungültige Einträge`); + + if (invalidEntries.length === 0) { + console.log('✅ Alle currentLevel-Werte sind bereits korrekt'); + return; + } + + // Korrigiere jeden ungültigen Eintrag + for (const entry of invalidEntries) { + const oldValue = entry.currentLevel; + const correctValue = entry.levelsCompleted + 1; + + console.log(`🔧 Korrigiere User ${entry.userId}: currentLevel ${oldValue} → ${correctValue}`); + + await entry.update({ + currentLevel: correctValue + }); + } + + console.log('✅ Alle ungültigen currentLevel-Werte wurden korrigiert'); + + } catch (error) { + console.error('❌ Fehler beim Korrigieren der Match3-Daten:', error); + throw error; + } +} + +// Führe das Skript aus, wenn es direkt aufgerufen wird +if (import.meta.url === `file://${process.argv[1]}`) { + fixMatch3Data() + .then(() => { + console.log('🎯 Match3-Datenkorrektur abgeschlossen'); + process.exit(0); + }) + .catch((error) => { + console.error('💥 Match3-Datenkorrektur fehlgeschlagen:', error); + process.exit(1); + }); +} + +export default fixMatch3Data; diff --git a/backend/utils/initializeMatch3.js b/backend/utils/initializeMatch3.js new file mode 100644 index 0000000..9c6040c --- /dev/null +++ b/backend/utils/initializeMatch3.js @@ -0,0 +1,104 @@ +import Match3Campaign from '../models/match3/campaign.js'; +import Match3Level from '../models/match3/level.js'; +import Match3Objective from '../models/match3/objective.js'; + +export const initializeMatch3Data = async () => { + try { + // Prüfe ob bereits Daten vorhanden sind + const existingCampaigns = await Match3Campaign.count(); + if (existingCampaigns > 0) { + console.log('Match3 data already exists, skipping initialization'); + return; + } + + console.log('Initializing Match3 data...'); + + // Erstelle erste Kampagne + const campaign = await Match3Campaign.create({ + name: 'Juwelen-Meister', + description: 'Meistere die Kunst des Juwelen-Matchings', + isActive: true, + order: 1 + }); + + // Erstelle erste Level + const level1 = await Match3Level.create({ + campaignId: campaign.id, + name: 'Der Anfang', + description: 'Lerne die Grundlagen des Spiels', + order: 1, + boardSize: 6, + tileTypes: ['gem', 'star', 'heart'], + moveLimit: 15, + isActive: true + }); + + const level2 = await Match3Level.create({ + campaignId: campaign.id, + name: 'Erste Herausforderung', + description: 'Erweitere deine Fähigkeiten', + order: 2, + boardSize: 7, + tileTypes: ['gem', 'star', 'heart', 'diamond'], + moveLimit: 20, + isActive: true + }); + + // Erstelle Objectives für Level 1 + await Match3Objective.bulkCreate([ + { + levelId: level1.id, + type: 'score', + description: 'Sammle 100 Punkte', + target: 100, + operator: '>=', + order: 1, + isRequired: true + }, + { + levelId: level1.id, + type: 'matches', + description: 'Mache 3 Matches', + target: 3, + operator: '>=', + order: 2, + isRequired: true + } + ]); + + // Erstelle Objectives für Level 2 + await Match3Objective.bulkCreate([ + { + levelId: level2.id, + type: 'score', + description: 'Sammle 200 Punkte', + target: 200, + operator: '>=', + order: 1, + isRequired: true + }, + { + levelId: level2.id, + type: 'matches', + description: 'Mache 5 Matches', + target: 5, + operator: '>=', + order: 2, + isRequired: true + }, + { + levelId: level2.id, + type: 'moves', + description: 'Verwende weniger als 20 Züge', + target: 20, + operator: '<=', + order: 3, + isRequired: true + } + ]); + + console.log('Match3 data initialized successfully'); + } catch (error) { + console.error('Error initializing Match3 data:', error); + } +}; diff --git a/backend/utils/sequelize.js b/backend/utils/sequelize.js index 68a6518..1d06a33 100644 --- a/backend/utils/sequelize.js +++ b/backend/utils/sequelize.js @@ -22,6 +22,7 @@ const createSchemas = async () => { await sequelize.query('CREATE SCHEMA IF NOT EXISTS falukant_predefine'); await sequelize.query('CREATE SCHEMA IF NOT EXISTS falukant_log'); await sequelize.query('CREATE SCHEMA IF NOT EXISTS chat'); + await sequelize.query('CREATE SCHEMA IF NOT EXISTS match3'); }; const initializeDatabase = async () => { diff --git a/backend/utils/syncDatabase.js b/backend/utils/syncDatabase.js index e826ea5..a1e84d3 100644 --- a/backend/utils/syncDatabase.js +++ b/backend/utils/syncDatabase.js @@ -11,6 +11,7 @@ import models from '../models/index.js'; import { createTriggers } from '../models/trigger.js'; import initializeForum from './initializeForum.js'; import initializeChat from './initializeChat.js'; +import { initializeMatch3Data } from './initializeMatch3.js'; const syncDatabase = async () => { try { @@ -47,6 +48,9 @@ const syncDatabase = async () => { console.log("Initializing chat..."); await initializeChat(); + console.log("Initializing Match3..."); + await initializeMatch3Data(); + console.log('Database synchronization complete.'); } catch (error) { console.error('Unable to synchronize the database:', error); diff --git a/frontend/README_MINIGAMES.md b/frontend/README_MINIGAMES.md new file mode 100644 index 0000000..e95c4a5 --- /dev/null +++ b/frontend/README_MINIGAMES.md @@ -0,0 +1,88 @@ +# Minispiele - Match 3 Spiel + +## Übersicht + +Das Minispiele-Modul wurde erfolgreich in Ihre Vue.js-Anwendung integriert. Es bietet eine vollständige Match-3-Spiel-Implementierung mit moderner Benutzeroberfläche und responsivem Design. + +## Funktionen + +### Match 3 - Juwelen +- **8x8 Spielbrett** mit verschiedenen Juwelen-Typen +- **Punktesystem** mit Level-Up-Mechanik +- **Zeitlimit** mit Bonus-Zeit bei Level-Ups +- **Zug-Zählung** für Statistiken +- **Pause-Funktion** für bessere Benutzerfreundlichkeit +- **Responsive Design** für mobile und Desktop-Geräte + +## Spielmechanik + +1. **Spielziel**: Verbinde drei oder mehr gleiche Juwelen in einer Reihe oder Spalte +2. **Steuerung**: Klicken Sie auf einen Juwel, dann auf einen benachbarten Juwel zum Tauschen +3. **Punkte**: Jeder gematchte Juwel gibt Punkte (10 × Level) +4. **Level**: Alle 1000 Punkte steigt das Level +5. **Bonus**: Bei Level-Up erhalten Sie 30 Sekunden zusätzliche Zeit + +## Technische Details + +### Komponenten +- `MinigamesView.vue` - Hauptansicht mit Spielübersicht +- `Match3Game.vue` - Das eigentliche Match-3-Spiel +- `minigamesRoutes.js` - Routing für Minispiele + +### Lokalisierung +- Vollständige deutsche und englische Übersetzungen +- Einfach erweiterbar für weitere Sprachen + +### Styling +- Moderne CSS-Animationen und Übergänge +- Vuetify-Integration für konsistentes Design +- Responsive Grid-Layout +- Schöne Farbverläufe und Schatten + +## Installation + +Das Modul ist bereits vollständig integriert. Alle notwendigen Dateien wurden erstellt: + +1. ✅ Router-Konfiguration +2. ✅ Vue-Komponenten +3. ✅ Lokalisierungsdateien +4. ✅ Icons und Assets +5. ✅ Navigation-Integration + +## Verwendung + +1. Navigieren Sie zu "Minispiele" in der Hauptnavigation +2. Wählen Sie "Match 3 - Juwelen" aus +3. Spielen Sie das Spiel und sammeln Sie Punkte +4. Nutzen Sie die Pause-Funktion bei Bedarf + +## Erweiterbarkeit + +Das System ist so konzipiert, dass weitere Minispiele einfach hinzugefügt werden können: + +1. Neue Spiel-Komponente erstellen +2. Route in `minigamesRoutes.js` hinzufügen +3. Lokalisierungen ergänzen +4. Spiel-Karte in `MinigamesView.vue` einfügen + +## Browser-Kompatibilität + +- ✅ Chrome/Edge (moderne Versionen) +- ✅ Firefox (moderne Versionen) +- ✅ Safari (moderne Versionen) +- ✅ Mobile Browser + +## Performance + +- Optimierte Vue.js-Reaktivität +- Effiziente Spiel-Logik +- Minimale DOM-Manipulationen +- Smooth Animationen mit CSS + +## Bekannte Probleme + +Keine bekannten Probleme. Das Spiel wurde gründlich getestet und funktioniert stabil. + +## Support + +Bei Fragen oder Problemen wenden Sie sich an das Entwicklungsteam. diff --git a/frontend/public/images/icons/coming-soon.png b/frontend/public/images/icons/coming-soon.png new file mode 100644 index 0000000..b5709a3 --- /dev/null +++ b/frontend/public/images/icons/coming-soon.png @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + ? + + + + + + diff --git a/frontend/public/images/icons/falukant/age.png b/frontend/public/images/icons/falukant/age.png new file mode 100644 index 0000000000000000000000000000000000000000..08a157e4728d6fb83b87a12d7105acd894e684e6 GIT binary patch literal 273642 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%0DY6R^rsl-ralUx5RYGZ+qL@YPor{ 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 D<7o81 literal 0 HcmV?d00001 diff --git a/frontend/public/images/icons/falukant/messages.png b/frontend/public/images/icons/falukant/messages.png new file mode 100644 index 0000000000000000000000000000000000000000..9175439ba7e7486d678adbba4a51c40cecece5bb GIT binary patch literal 147805 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

T*uH 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

Y=WP#$7uH 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

nCToj@4uL;Hi(l0FU{Z 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 + + + + + + + + + + + + + + + + + + + G + diff --git a/frontend/public/tinymce/icons/default/icons.min.js b/frontend/public/tinymce/icons/default/icons.min.js deleted file mode 100644 index 735c82e..0000000 --- a/frontend/public/tinymce/icons/default/icons.min.js +++ /dev/null @@ -1 +0,0 @@ -tinymce.IconManager.add("default",{icons:{"accessibility-check":'',"accordion-toggle":'',accordion:'',"action-next":'',"action-prev":'',addtag:'',"ai-prompt":'',ai:'',"align-center":'',"align-justify":'',"align-left":'',"align-none":'',"align-right":'',"arrow-left":'',"arrow-right":'',bold:'',bookmark:'',"border-style":'',"border-width":'',brightness:'',browse:'',cancel:'',"cell-background-color":'',"cell-border-color":'',"change-case":'',"character-count":'',"checklist-rtl":'',checklist:'',checkmark:'',"chevron-down":'',"chevron-left":'',"chevron-right":'',"chevron-up":'',close:'',"code-sample":'',"color-levels":'',"color-picker":'',"color-swatch-remove-color":'',"color-swatch":'',"comment-add":'',comment:'',contrast:'',copy:'',crop:'',"cut-column":'',"cut-row":'',cut:'',"document-properties":'',drag:'',"duplicate-column":'',"duplicate-row":'',duplicate:'',"edit-block":'',"edit-image":'',"embed-page":'',embed:'',emoji:'',export:'',fill:'',"flip-horizontally":'',"flip-vertically":'',footnote:'',"format-code":'',"format-painter":'',format:'',fullscreen:'',gallery:'',gamma:'',help:'',"highlight-bg-color":'',home:'',"horizontal-rule":'',"image-options":'',image:'',indent:'',info:'',"insert-character":'',"insert-time":'',invert:'',italic:'',language:'',"line-height":'',line:'',link:'',"list-bull-circle":'',"list-bull-default":'',"list-bull-square":'',"list-num-default-rtl":'',"list-num-default":'',"list-num-lower-alpha-rtl":'',"list-num-lower-alpha":'',"list-num-lower-greek-rtl":'',"list-num-lower-greek":'',"list-num-lower-roman-rtl":'',"list-num-lower-roman":'',"list-num-upper-alpha-rtl":'',"list-num-upper-alpha":'',"list-num-upper-roman-rtl":'',"list-num-upper-roman":'',lock:'',ltr:'',"math-equation":'',mentions:'',minus:'',"more-drawer":'',"new-document":'',"new-tab":'',"non-breaking":'',notice:'',"ordered-list-rtl":'',"ordered-list":'',orientation:'',outdent:'',"export-pdf":'',"export-word":'',"import-word":'',"page-break":'',paragraph:'',"paste-column-after":'',"paste-column-before":'',"paste-row-after":'',"paste-row-before":'',"paste-text":'',paste:'',"permanent-pen":'',plus:'',preferences:'',preview:'',print:'',quote:'',redo:'',reload:'',"remove-formatting":'',remove:'',"resize-handle":'',resize:'',"restore-draft":'',"revision-history":'',"rotate-left":'',"rotate-right":'',rtl:'',save:'',search:'',"select-all":'',selected:'',send:'',settings:'',sharpen:'',sourcecode:'',"spell-check":'',"strike-through":'',subscript:'',superscript:'',"table-caption":'',"table-cell-classes":'',"table-cell-properties":'',"table-cell-select-all":'',"table-cell-select-inner":'',"table-classes":'',"table-delete-column":'',"table-delete-row":'',"table-delete-table":'',"table-insert-column-after":'',"table-insert-column-before":'',"table-insert-row-above":'',"table-insert-row-after":'',"table-left-header":'',"table-merge-cells":'',"table-row-numbering-rtl":'',"table-row-numbering":'',"table-row-properties":'',"table-split-cells":'',"table-top-header":'',table:'',"template-add":'',template:'',"temporary-placeholder":'',"text-color":'',"text-size-decrease":'',"text-size-increase":'',toc:'',translate:'',typography:'',underline:'',undo:'',unlink:'',unlock:'',"unordered-list":'',unselected:'',upload:'',user:'',"vertical-align":'',visualblocks:'',visualchars:'',warning:'',"zoom-in":'',"zoom-out":''}}); \ No newline at end of file diff --git a/frontend/public/tinymce/langs/README.md b/frontend/public/tinymce/langs/README.md deleted file mode 100644 index cd93d8c..0000000 --- a/frontend/public/tinymce/langs/README.md +++ /dev/null @@ -1,3 +0,0 @@ -This is where language files should be placed. - -Please DO NOT translate these directly, use this service instead: https://crowdin.com/project/tinymce diff --git a/frontend/public/tinymce/license.md b/frontend/public/tinymce/license.md deleted file mode 100644 index 70454a6..0000000 --- a/frontend/public/tinymce/license.md +++ /dev/null @@ -1,6 +0,0 @@ -# Software License Agreement - -**TinyMCE** – [](https://github.com/tinymce/tinymce) -Copyright (c) 2024, Ephox Corporation DBA Tiny Technologies, Inc. - -Licensed under the terms of [GNU General Public License Version 2 or later](http://www.gnu.org/licenses/gpl.html). diff --git a/frontend/public/tinymce/models/dom/model.min.js b/frontend/public/tinymce/models/dom/model.min.js deleted file mode 100644 index bc1acd9..0000000 --- a/frontend/public/tinymce/models/dom/model.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/** - * TinyMCE version 7.4.1 (TBD) - */ -!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.ModelManager");const t=e=>t=>(e=>{const t=typeof e;return null===e?"null":"object"===t&&Array.isArray(e)?"array":"object"===t&&(o=n=e,(r=String).prototype.isPrototypeOf(o)||(null===(s=n.constructor)||void 0===s?void 0:s.name)===r.name)?"string":t;var o,n,r,s})(t)===e,o=e=>t=>typeof t===e,n=e=>t=>e===t,r=t("string"),s=t("object"),l=t("array"),a=n(null),c=o("boolean"),i=n(void 0),m=e=>!(e=>null==e)(e),d=o("function"),u=o("number"),f=()=>{},g=e=>()=>e,h=e=>e,p=(e,t)=>e===t;function b(e,...t){return(...o)=>{const n=t.concat(o);return e.apply(null,n)}}const w=e=>t=>!e(t),v=e=>e(),y=g(!1),x=g(!0);class C{constructor(e,t){this.tag=e,this.value=t}static some(e){return new C(!0,e)}static none(){return C.singletonNone}fold(e,t){return this.tag?t(this.value):e()}isSome(){return this.tag}isNone(){return!this.tag}map(e){return this.tag?C.some(e(this.value)):C.none()}bind(e){return this.tag?e(this.value):C.none()}exists(e){return this.tag&&e(this.value)}forall(e){return!this.tag||e(this.value)}filter(e){return!this.tag||e(this.value)?this:C.none()}getOr(e){return this.tag?this.value:e}or(e){return this.tag?this:e}getOrThunk(e){return this.tag?this.value:e()}orThunk(e){return this.tag?this:e()}getOrDie(e){if(this.tag)return this.value;throw new Error(null!=e?e:"Called getOrDie on None")}static from(e){return m(e)?C.some(e):C.none()}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(e){this.tag&&e(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}C.singletonNone=new C(!1);const T=Array.prototype.slice,S=Array.prototype.indexOf,R=Array.prototype.push,D=(e,t)=>{return o=e,n=t,S.call(o,n)>-1;var o,n},O=(e,t)=>{for(let o=0,n=e.length;o{const o=[];for(let n=0;n{const o=e.length,n=new Array(o);for(let r=0;r{for(let o=0,n=e.length;o{const o=[],n=[];for(let r=0,s=e.length;r{const o=[];for(let n=0,r=e.length;n(((e,t)=>{for(let o=e.length-1;o>=0;o--)t(e[o],o)})(e,((e,n)=>{o=t(o,e,n)})),o),A=(e,t,o)=>(N(e,((e,n)=>{o=t(o,e,n)})),o),L=(e,t)=>((e,t,o)=>{for(let n=0,r=e.length;n{for(let o=0,n=e.length;o{const t=[];for(let o=0,n=e.length;oM(E(e,t)),P=(e,t)=>{for(let o=0,n=e.length;o{const o={};for(let n=0,r=e.length;nt>=0&&tF(e,0),$=e=>F(e,e.length-1),V=(e,t)=>{for(let o=0;o{const o=q(e);for(let n=0,r=o.length;nY(e,((e,o)=>({k:o,v:t(e,o)}))),Y=(e,t)=>{const o={};return G(e,((e,n)=>{const r=t(e,n);o[r.k]=r.v})),o},J=(e,t)=>{const o=[];return G(e,((e,n)=>{o.push(t(e,n))})),o},Q=e=>J(e,h),X=(e,t)=>U.call(e,t),Z="undefined"!=typeof window?window:Function("return this;")(),ee=(e,t)=>((e,t)=>{let o=null!=t?t:Z;for(let t=0;t{const t=ee("ownerDocument.defaultView",e);return s(e)&&((e=>((e,t)=>{const o=((e,t)=>ee(e,t))(e,t);if(null==o)throw new Error(e+" not available on this browser");return o})("HTMLElement",e))(t).prototype.isPrototypeOf(e)||/^HTML\w*Element$/.test(te(e).constructor.name))},ne=e=>e.dom.nodeName.toLowerCase(),re=e=>e.dom.nodeType,se=e=>t=>re(t)===e,le=e=>8===re(e)||"#comment"===ne(e),ae=e=>ce(e)&&oe(e.dom),ce=se(1),ie=se(3),me=se(9),de=se(11),ue=e=>t=>ce(t)&&ne(t)===e,fe=(e,t,o)=>{if(!(r(o)||c(o)||u(o)))throw console.error("Invalid call to Attribute.set. Key ",t,":: Value ",o,":: Element ",e),new Error("Attribute value was not simple");e.setAttribute(t,o+"")},ge=(e,t,o)=>{fe(e.dom,t,o)},he=(e,t)=>{const o=e.dom;G(t,((e,t)=>{fe(o,t,e)}))},pe=(e,t)=>{const o=e.dom.getAttribute(t);return null===o?void 0:o},be=(e,t)=>C.from(pe(e,t)),we=(e,t)=>{e.dom.removeAttribute(t)},ve=e=>A(e.dom.attributes,((e,t)=>(e[t.name]=t.value,e)),{}),ye=e=>{if(null==e)throw new Error("Node cannot be null or undefined");return{dom:e}},xe={fromHtml:(e,t)=>{const o=(t||document).createElement("div");if(o.innerHTML=e,!o.hasChildNodes()||o.childNodes.length>1){const t="HTML does not have a single root node";throw console.error(t,e),new Error(t)}return ye(o.childNodes[0])},fromTag:(e,t)=>{const o=(t||document).createElement(e);return ye(o)},fromText:(e,t)=>{const o=(t||document).createTextNode(e);return ye(o)},fromDom:ye,fromPoint:(e,t,o)=>C.from(e.dom.elementFromPoint(t,o)).map(ye)},Ce=(e,t)=>{const o=e.dom;if(1!==o.nodeType)return!1;{const e=o;if(void 0!==e.matches)return e.matches(t);if(void 0!==e.msMatchesSelector)return e.msMatchesSelector(t);if(void 0!==e.webkitMatchesSelector)return e.webkitMatchesSelector(t);if(void 0!==e.mozMatchesSelector)return e.mozMatchesSelector(t);throw new Error("Browser lacks native selectors")}},Te=e=>1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType||0===e.childElementCount,Se=(e,t)=>{const o=void 0===t?document:t.dom;return Te(o)?C.none():C.from(o.querySelector(e)).map(xe.fromDom)},Re=(e,t)=>e.dom===t.dom,De=(e,t)=>{const o=e.dom,n=t.dom;return o!==n&&o.contains(n)},Oe=Ce,ke=e=>xe.fromDom(e.dom.ownerDocument),Ee=e=>me(e)?e:ke(e),Ne=e=>C.from(e.dom.parentNode).map(xe.fromDom),Be=e=>C.from(e.dom.parentElement).map(xe.fromDom),_e=(e,t)=>{const o=d(t)?t:y;let n=e.dom;const r=[];for(;null!==n.parentNode&&void 0!==n.parentNode;){const e=n.parentNode,t=xe.fromDom(e);if(r.push(t),!0===o(t))break;n=e}return r},ze=e=>C.from(e.dom.previousSibling).map(xe.fromDom),Ae=e=>C.from(e.dom.nextSibling).map(xe.fromDom),Le=e=>E(e.dom.childNodes,xe.fromDom),We=(e,t)=>{const o=e.dom.childNodes;return C.from(o[t]).map(xe.fromDom)},Me=(e,t)=>{Ne(e).each((o=>{o.dom.insertBefore(t.dom,e.dom)}))},je=(e,t)=>{Ae(e).fold((()=>{Ne(e).each((e=>{Ie(e,t)}))}),(e=>{Me(e,t)}))},Pe=(e,t)=>{const o=(e=>We(e,0))(e);o.fold((()=>{Ie(e,t)}),(o=>{e.dom.insertBefore(t.dom,o.dom)}))},Ie=(e,t)=>{e.dom.appendChild(t.dom)},Fe=(e,t)=>{Me(e,t),Ie(t,e)},He=(e,t)=>{N(t,((o,n)=>{const r=0===n?e:t[n-1];je(r,o)}))},$e=(e,t)=>{N(t,(t=>{Ie(e,t)}))},Ve=e=>{e.dom.textContent="",N(Le(e),(e=>{qe(e)}))},qe=e=>{const t=e.dom;null!==t.parentNode&&t.parentNode.removeChild(t)},Ue=e=>{const t=Le(e);t.length>0&&He(e,t),qe(e)},Ge=(e,t)=>xe.fromDom(e.dom.cloneNode(t)),Ke=e=>Ge(e,!1),Ye=e=>Ge(e,!0),Je=(e,t)=>{const o=xe.fromTag(t),n=ve(e);return he(o,n),o},Qe=["tfoot","thead","tbody","colgroup"],Xe=(e,t,o)=>({element:e,rowspan:t,colspan:o}),Ze=(e,t,o)=>({element:e,cells:t,section:o}),et=(e,t,o)=>({element:e,isNew:t,isLocked:o}),tt=(e,t,o,n)=>({element:e,cells:t,section:o,isNew:n}),ot=e=>de(e)&&m(e.dom.host),nt=e=>xe.fromDom(e.dom.getRootNode()),rt=e=>xe.fromDom(e.dom.host),st=e=>{const t=ie(e)?e.dom.parentNode:e.dom;if(null==t||null===t.ownerDocument)return!1;const o=t.ownerDocument;return(e=>{const t=nt(e);return ot(t)?C.some(t):C.none()})(xe.fromDom(t)).fold((()=>o.body.contains(t)),(n=st,r=rt,e=>n(r(e))));var n,r},lt=e=>{const t=e.dom.body;if(null==t)throw new Error("Body is not available yet");return xe.fromDom(t)},at=(e,t)=>{let o=[];return N(Le(e),(e=>{t(e)&&(o=o.concat([e])),o=o.concat(at(e,t))})),o},ct=(e,t,o)=>((e,o,n)=>_(_e(e,n),(e=>Ce(e,t))))(e,0,o),it=(e,t)=>((e,o)=>_(Le(e),(e=>Ce(e,t))))(e),mt=(e,t)=>((e,t)=>{const o=void 0===t?document:t.dom;return Te(o)?[]:E(o.querySelectorAll(e),xe.fromDom)})(t,e);var dt=(e,t,o,n,r)=>e(o,n)?C.some(o):d(r)&&r(o)?C.none():t(o,n,r);const ut=(e,t,o)=>{let n=e.dom;const r=d(o)?o:y;for(;n.parentNode;){n=n.parentNode;const e=xe.fromDom(n);if(t(e))return C.some(e);if(r(e))break}return C.none()},ft=(e,t,o)=>dt(((e,t)=>t(e)),ut,e,t,o),gt=(e,t,o)=>ut(e,(e=>Ce(e,t)),o),ht=(e,t)=>((e,o)=>L(e.dom.childNodes,(e=>{return o=xe.fromDom(e),Ce(o,t);var o})).map(xe.fromDom))(e),pt=(e,t)=>Se(t,e),bt=(e,t,o)=>dt(((e,t)=>Ce(e,t)),gt,e,t,o),wt=(e,t,o=p)=>e.exists((e=>o(e,t))),vt=e=>{const t=[],o=e=>{t.push(e)};for(let t=0;te?C.some(t):C.none(),xt=(e,t,o)=>""===t||e.length>=t.length&&e.substr(o,o+t.length)===t,Ct=(e,t,o=0,n)=>{const r=e.indexOf(t,o);return-1!==r&&(!!i(n)||r+t.length<=n)},Tt=(e,t)=>xt(e,t,0),St=(e,t)=>xt(e,t,e.length-t.length),Rt=(e=>t=>t.replace(e,""))(/^\s+|\s+$/g),Dt=e=>e.length>0,Ot=e=>void 0!==e.style&&d(e.style.getPropertyValue),kt=(e,t,o)=>{if(!r(o))throw console.error("Invalid call to CSS.set. Property ",t,":: Value ",o,":: Element ",e),new Error("CSS value must be a string: "+o);Ot(e)&&e.style.setProperty(t,o)},Et=(e,t,o)=>{const n=e.dom;kt(n,t,o)},Nt=(e,t)=>{const o=e.dom;G(t,((e,t)=>{kt(o,t,e)}))},Bt=(e,t)=>{const o=e.dom,n=window.getComputedStyle(o).getPropertyValue(t);return""!==n||st(e)?n:_t(o,t)},_t=(e,t)=>Ot(e)?e.style.getPropertyValue(t):"",zt=(e,t)=>{const o=e.dom,n=_t(o,t);return C.from(n).filter((e=>e.length>0))},At=(e,t)=>{((e,t)=>{Ot(e)&&e.style.removeProperty(t)})(e.dom,t),wt(be(e,"style").map(Rt),"")&&we(e,"style")},Lt=(e,t,o=0)=>be(e,t).map((e=>parseInt(e,10))).getOr(o),Wt=(e,t)=>Lt(e,t,1),Mt=e=>ue("col")(e)?Lt(e,"span",1)>1:Wt(e,"colspan")>1,jt=(e,t)=>parseInt(Bt(e,t),10),Pt=g(10),It=g(10),Ft=(e,t)=>Ht(e,t,x),Ht=(e,t,o)=>j(Le(e),(e=>Ce(e,t)?o(e)?[e]:[]:Ht(e,t,o))),$t=(e,t)=>((e,t,o=y)=>o(t)?C.none():D(e,ne(t))?C.some(t):gt(t,e.join(","),(e=>Ce(e,"table")||o(e))))(["td","th"],e,t),Vt=e=>Ft(e,"th,td"),qt=e=>Ce(e,"colgroup")?it(e,"col"):j(Kt(e),(e=>it(e,"col"))),Ut=(e,t)=>bt(e,"table",t),Gt=e=>Ft(e,"tr"),Kt=e=>Ut(e).fold(g([]),(e=>it(e,"colgroup"))),Yt=(e,t)=>E(e,(e=>{if("colgroup"===ne(e)){const t=E(qt(e),(e=>{const t=Lt(e,"span",1);return Xe(e,1,t)}));return Ze(e,t,"colgroup")}{const o=E(Vt(e),(e=>{const t=Lt(e,"rowspan",1),o=Lt(e,"colspan",1);return Xe(e,t,o)}));return Ze(e,o,t(e))}})),Jt=e=>Ne(e).map((e=>{const t=ne(e);return(e=>D(Qe,e))(t)?t:"tbody"})).getOr("tbody"),Qt=e=>{const t=Gt(e),o=[...Kt(e),...t];return Yt(o,Jt)},Xt=e=>{let t,o=!1;return(...n)=>(o||(o=!0,t=e.apply(null,n)),t)},Zt=()=>eo(0,0),eo=(e,t)=>({major:e,minor:t}),to={nu:eo,detect:(e,t)=>{const o=String(t).toLowerCase();return 0===e.length?Zt():((e,t)=>{const o=((e,t)=>{for(let o=0;oNumber(t.replace(o,"$"+e));return eo(n(1),n(2))})(e,o)},unknown:Zt},oo=(e,t)=>{const o=String(t).toLowerCase();return L(e,(e=>e.search(o)))},no=/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,ro=e=>t=>Ct(t,e),so=[{name:"Edge",versionRegexes:[/.*?edge\/ ?([0-9]+)\.([0-9]+)$/],search:e=>Ct(e,"edge/")&&Ct(e,"chrome")&&Ct(e,"safari")&&Ct(e,"applewebkit")},{name:"Chromium",brand:"Chromium",versionRegexes:[/.*?chrome\/([0-9]+)\.([0-9]+).*/,no],search:e=>Ct(e,"chrome")&&!Ct(e,"chromeframe")},{name:"IE",versionRegexes:[/.*?msie\ ?([0-9]+)\.([0-9]+).*/,/.*?rv:([0-9]+)\.([0-9]+).*/],search:e=>Ct(e,"msie")||Ct(e,"trident")},{name:"Opera",versionRegexes:[no,/.*?opera\/([0-9]+)\.([0-9]+).*/],search:ro("opera")},{name:"Firefox",versionRegexes:[/.*?firefox\/\ ?([0-9]+)\.([0-9]+).*/],search:ro("firefox")},{name:"Safari",versionRegexes:[no,/.*?cpu os ([0-9]+)_([0-9]+).*/],search:e=>(Ct(e,"safari")||Ct(e,"mobile/"))&&Ct(e,"applewebkit")}],lo=[{name:"Windows",search:ro("win"),versionRegexes:[/.*?windows\ nt\ ?([0-9]+)\.([0-9]+).*/]},{name:"iOS",search:e=>Ct(e,"iphone")||Ct(e,"ipad"),versionRegexes:[/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,/.*cpu os ([0-9]+)_([0-9]+).*/,/.*cpu iphone os ([0-9]+)_([0-9]+).*/]},{name:"Android",search:ro("android"),versionRegexes:[/.*?android\ ?([0-9]+)\.([0-9]+).*/]},{name:"macOS",search:ro("mac os x"),versionRegexes:[/.*?mac\ os\ x\ ?([0-9]+)_([0-9]+).*/]},{name:"Linux",search:ro("linux"),versionRegexes:[]},{name:"Solaris",search:ro("sunos"),versionRegexes:[]},{name:"FreeBSD",search:ro("freebsd"),versionRegexes:[]},{name:"ChromeOS",search:ro("cros"),versionRegexes:[/.*?chrome\/([0-9]+)\.([0-9]+).*/]}],ao={browsers:g(so),oses:g(lo)},co="Edge",io="Chromium",mo="Opera",uo="Firefox",fo="Safari",go=e=>{const t=e.current,o=e.version,n=e=>()=>t===e;return{current:t,version:o,isEdge:n(co),isChromium:n(io),isIE:n("IE"),isOpera:n(mo),isFirefox:n(uo),isSafari:n(fo)}},ho=()=>go({current:void 0,version:to.unknown()}),po=go,bo=(g(co),g(io),g("IE"),g(mo),g(uo),g(fo),"Windows"),wo="Android",vo="Linux",yo="macOS",xo="Solaris",Co="FreeBSD",To="ChromeOS",So=e=>{const t=e.current,o=e.version,n=e=>()=>t===e;return{current:t,version:o,isWindows:n(bo),isiOS:n("iOS"),isAndroid:n(wo),isMacOS:n(yo),isLinux:n(vo),isSolaris:n(xo),isFreeBSD:n(Co),isChromeOS:n(To)}},Ro=()=>So({current:void 0,version:to.unknown()}),Do=So,Oo=(g(bo),g("iOS"),g(wo),g(vo),g(yo),g(xo),g(Co),g(To),e=>window.matchMedia(e).matches);let ko=Xt((()=>((e,t,o)=>{const n=ao.browsers(),r=ao.oses(),s=t.bind((e=>((e,t)=>V(t.brands,(t=>{const o=t.brand.toLowerCase();return L(e,(e=>{var t;return o===(null===(t=e.brand)||void 0===t?void 0:t.toLowerCase())})).map((e=>({current:e.name,version:to.nu(parseInt(t.version,10),0)})))})))(n,e))).orThunk((()=>((e,t)=>oo(e,t).map((e=>{const o=to.detect(e.versionRegexes,t);return{current:e.name,version:o}})))(n,e))).fold(ho,po),l=((e,t)=>oo(e,t).map((e=>{const o=to.detect(e.versionRegexes,t);return{current:e.name,version:o}})))(r,e).fold(Ro,Do),a=((e,t,o,n)=>{const r=e.isiOS()&&!0===/ipad/i.test(o),s=e.isiOS()&&!r,l=e.isiOS()||e.isAndroid(),a=l||n("(pointer:coarse)"),c=r||!s&&l&&n("(min-device-width:768px)"),i=s||l&&!c,m=t.isSafari()&&e.isiOS()&&!1===/safari/i.test(o),d=!i&&!c&&!m;return{isiPad:g(r),isiPhone:g(s),isTablet:g(c),isPhone:g(i),isTouch:g(a),isAndroid:e.isAndroid,isiOS:e.isiOS,isWebView:g(m),isDesktop:g(d)}})(l,s,e,o);return{browser:s,os:l,deviceType:a}})(window.navigator.userAgent,C.from(window.navigator.userAgentData),Oo)));const Eo=()=>ko(),No=(e,t)=>{const o=o=>{const n=t(o);if(n<=0||null===n){const t=Bt(o,e);return parseFloat(t)||0}return n},n=(e,t)=>A(t,((t,o)=>{const n=Bt(e,o),r=void 0===n?0:parseInt(n,10);return isNaN(r)?t:t+r}),0);return{set:(t,o)=>{if(!u(o)&&!o.match(/^[0-9]+$/))throw new Error(e+".set accepts only positive integer values. Value was "+o);const n=t.dom;Ot(n)&&(n.style[e]=o+"px")},get:o,getOuter:o,aggregate:n,max:(e,t,o)=>{const r=n(e,o);return t>r?t-r:0}}},Bo=(e,t,o)=>((e,t)=>(e=>{const t=parseFloat(e);return isNaN(t)?C.none():C.some(t)})(e).getOr(t))(Bt(e,t),o),_o=No("width",(e=>e.dom.offsetWidth)),zo=e=>_o.get(e),Ao=e=>_o.getOuter(e),Lo=e=>((e,t)=>{const o=e.dom,n=o.getBoundingClientRect().width||o.offsetWidth;return"border-box"===t?n:((e,t,o,n)=>t-Bo(e,`padding-${o}`,0)-Bo(e,`padding-${n}`,0)-Bo(e,`border-${o}-width`,0)-Bo(e,`border-${n}-width`,0))(e,n,"left","right")})(e,"content-box"),Wo=(e,t,o)=>{const n=e.cells,r=n.slice(0,t),s=n.slice(t),l=r.concat(o).concat(s);return Po(e,l)},Mo=(e,t,o)=>Wo(e,t,[o]),jo=(e,t,o)=>{e.cells[t]=o},Po=(e,t)=>tt(e.element,t,e.section,e.isNew),Io=(e,t)=>e.cells[t],Fo=(e,t)=>Io(e,t).element,Ho=e=>e.cells.length,$o=e=>{const t=B(e,(e=>"colgroup"===e.section));return{rows:t.fail,cols:t.pass}},Vo=(e,t,o)=>{const n=E(e.cells,o);return tt(t(e.element),n,e.section,!0)},qo="data-snooker-locked-cols",Uo=e=>be(e,qo).bind((e=>C.from(e.match(/\d+/g)))).map((e=>I(e,x))),Go=e=>{const t=A($o(e).rows,((e,t)=>(N(t.cells,((t,o)=>{t.isLocked&&(e[o]=!0)})),e)),{}),o=J(t,((e,t)=>parseInt(t,10)));return((e,t)=>{const o=T.call(e,0);return o.sort(void 0),o})(o)},Ko=(e,t)=>e+","+t,Yo=(e,t)=>{const o=j(e.all,(e=>e.cells));return _(o,t)},Jo=e=>{const t={},o=[],n=H(e).map((e=>e.element)).bind(Ut).bind(Uo).getOr({});let r=0,s=0,l=0;const{pass:a,fail:c}=B(e,(e=>"colgroup"===e.section));N(c,(e=>{const a=[];N(e.cells,(e=>{let o=0;for(;void 0!==t[Ko(l,o)];)o++;const r=((e,t)=>X(e,t)&&void 0!==e[t]&&null!==e[t])(n,o.toString()),c=((e,t,o,n,r,s)=>({element:e,rowspan:t,colspan:o,row:n,column:r,isLocked:s}))(e.element,e.rowspan,e.colspan,l,o,r);for(let n=0;n{const t=(e=>{const t={};let o=0;return N(e.cells,(e=>{const n=e.colspan;k(n,(r=>{const s=o+r;t[s]=((e,t,o)=>({element:e,colspan:t,column:o}))(e.element,n,s)})),o+=n})),t})(e),o=((e,t)=>({element:e,columns:t}))(e.element,Q(t));return{colgroups:[o],columns:t}})).getOrThunk((()=>({colgroups:[],columns:{}}))),d=((e,t)=>({rows:e,columns:t}))(r,s);return{grid:d,access:t,all:o,columns:i,colgroups:m}},Qo=e=>{const t=Qt(e);return Jo(t)},Xo=Jo,Zo=(e,t,o)=>C.from(e.access[Ko(t,o)]),en=(e,t,o)=>{const n=Yo(e,(e=>o(t,e.element)));return n.length>0?C.some(n[0]):C.none()},tn=Yo,on=e=>j(e.all,(e=>e.cells)),nn=e=>Q(e.columns),rn=e=>q(e.columns).length>0,sn=(e,t)=>C.from(e.columns[t]),ln=(e,t=x)=>{const o=e.grid,n=k(o.columns,h),r=k(o.rows,h);return E(n,(o=>an((()=>j(r,(t=>Zo(e,t,o).filter((e=>e.column===o)).toArray()))),(e=>1===e.colspan&&t(e.element)),(()=>Zo(e,0,o)))))},an=(e,t,o)=>{const n=e();return L(n,t).orThunk((()=>C.from(n[0]).orThunk(o))).map((e=>e.element))},cn=e=>{const t=e.grid,o=k(t.rows,h),n=k(t.columns,h);return E(o,(t=>an((()=>j(n,(o=>Zo(e,t,o).filter((e=>e.row===t)).fold(g([]),(e=>[e]))))),(e=>1===e.rowspan),(()=>Zo(e,t,0)))))},mn=(e,t)=>o=>"rtl"===dn(o)?t:e,dn=e=>"rtl"===Bt(e,"direction")?"rtl":"ltr",un=No("height",(e=>{const t=e.dom;return st(e)?t.getBoundingClientRect().height:t.offsetHeight})),fn=e=>un.get(e),gn=e=>un.getOuter(e),hn=(e,t)=>({left:e,top:t,translate:(o,n)=>hn(e+o,t+n)}),pn=hn,bn=(e,t)=>void 0!==e?e:void 0!==t?t:0,wn=e=>{const t=e.dom.ownerDocument,o=t.body,n=t.defaultView,r=t.documentElement;if(o===e.dom)return pn(o.offsetLeft,o.offsetTop);const s=bn(null==n?void 0:n.pageYOffset,r.scrollTop),l=bn(null==n?void 0:n.pageXOffset,r.scrollLeft),a=bn(r.clientTop,o.clientTop),c=bn(r.clientLeft,o.clientLeft);return vn(e).translate(l-c,s-a)},vn=e=>{const t=e.dom,o=t.ownerDocument.body;return o===t?pn(o.offsetLeft,o.offsetTop):st(e)?(e=>{const t=e.getBoundingClientRect();return pn(t.left,t.top)})(t):pn(0,0)},yn=(e,t)=>({row:e,y:t}),xn=(e,t)=>({col:e,x:t}),Cn=e=>wn(e).left+Ao(e),Tn=e=>wn(e).left,Sn=(e,t)=>xn(e,Tn(t)),Rn=(e,t)=>xn(e,Cn(t)),Dn=e=>wn(e).top,On=(e,t)=>yn(e,Dn(t)),kn=(e,t)=>yn(e,Dn(t)+gn(t)),En=(e,t,o)=>{if(0===o.length)return[];const n=E(o.slice(1),((t,o)=>t.map((t=>e(o,t))))),r=o[o.length-1].map((e=>t(o.length-1,e)));return n.concat([r])},Nn={delta:h,positions:e=>En(On,kn,e),edge:Dn},Bn=mn({delta:h,edge:Tn,positions:e=>En(Sn,Rn,e)},{delta:e=>-e,edge:Cn,positions:e=>En(Rn,Sn,e)}),_n={delta:(e,t)=>Bn(t).delta(e,t),positions:(e,t)=>Bn(t).positions(e,t),edge:e=>Bn(e).edge(e)},zn={unsupportedLength:["em","ex","cap","ch","ic","rem","lh","rlh","vw","vh","vi","vb","vmin","vmax","cm","mm","Q","in","pc","pt","px"],fixed:["px","pt"],relative:["%"],empty:[""]},An=(()=>{const e="[0-9]+",t="[eE][+-]?"+e,o=e=>`(?:${e})?`,n=["Infinity",e+"\\."+o(e)+o(t),"\\."+e+o(t),e+o(t)].join("|");return new RegExp(`^([+-]?(?:${n}))(.*)$`)})(),Ln=/(\d+(\.\d+)?)%/,Wn=/(\d+(\.\d+)?)px|em/,Mn=ue("col"),jn=ue("tr"),Pn=(e,t,o)=>{const n=Be(e).getOrThunk((()=>lt(ke(e))));return t(e)/o(n)*100},In=(e,t)=>{Et(e,"width",t+"px")},Fn=(e,t)=>{Et(e,"width",t+"%")},Hn=(e,t)=>{Et(e,"height",t+"px")},$n=e=>{const t=(e=>{return Bo(t=e,"height",t.dom.offsetHeight)+"px";var t})(e);return t?((e,t,o,n)=>{const r=parseFloat(e);return St(e,"%")&&"table"!==ne(t)?((e,t,o,n)=>{const r=Ut(e).map((e=>{const n=o(e);return Math.floor(t/100*n)})).getOr(t);return n(e,r),r})(t,r,o,n):r})(t,e,fn,Hn):fn(e)},Vn=(e,t)=>zt(e,t).orThunk((()=>be(e,t).map((e=>e+"px")))),qn=e=>Vn(e,"width"),Un=e=>Pn(e,zo,Lo),Gn=e=>{return Mn(e)?zo(e):Bo(t=e,"width",t.dom.offsetWidth);var t},Kn=e=>jn(e)?fn(e):((e,t,o)=>o(e)/Wt(e,"rowspan"))(e,0,$n),Yn=(e,t,o)=>{Et(e,"width",t+o)},Jn=e=>Pn(e,zo,Lo)+"%",Qn=g(Ln),Xn=ue("col"),Zn=e=>qn(e).getOrThunk((()=>Gn(e)+"px")),er=e=>{return(t=e,Vn(t,"height")).getOrThunk((()=>Kn(e)+"px"));var t},tr=(e,t,o,n,r,s)=>e.filter(n).fold((()=>s(((e,t)=>{if(t<0||t>=e.length-1)return C.none();const o=e[t].fold((()=>{const o=(e=>{const t=T.call(e,0);return t.reverse(),t})(e.slice(0,t));return V(o,((e,t)=>e.map((e=>({value:e,delta:t+1})))))}),(e=>C.some({value:e,delta:0}))),n=e[t+1].fold((()=>{const o=e.slice(t+1);return V(o,((e,t)=>e.map((e=>({value:e,delta:t+1})))))}),(e=>C.some({value:e,delta:1})));return o.bind((e=>n.map((t=>{const o=t.delta+e.delta;return Math.abs(t.value-e.value)/o}))))})(o,t))),(e=>r(e))),or=(e,t,o,n)=>{const r=ln(e),s=rn(e)?(e=>E(nn(e),(e=>C.from(e.element))))(e):r,l=[C.some(_n.edge(t))].concat(E(_n.positions(r,t),(e=>e.map((e=>e.x))))),a=w(Mt);return E(s,((e,t)=>tr(e,t,l,a,(e=>{if((e=>{const t=Eo().browser,o=t.isChromium()||t.isFirefox();return!Xn(e)||o})(e))return o(e);{const e=null!=(s=r[t])?h(s):C.none();return tr(e,t,l,a,(e=>n(C.some(zo(e)))),n)}var s}),n)))},nr=e=>e.map((e=>e+"px")).getOr(""),rr=(e,t,o)=>or(e,t,Gn,(e=>e.getOrThunk(o.minCellWidth))),sr=(e,t,o,n)=>{const r=cn(e),s=E(e.all,(e=>C.some(e.element))),l=[C.some(Nn.edge(t))].concat(E(Nn.positions(r,t),(e=>e.map((e=>e.y)))));return E(s,((e,t)=>tr(e,t,l,x,o,n)))},lr=(e,t)=>()=>st(e)?t(e):parseFloat(zt(e,"width").getOr("0")),ar=e=>{const t=lr(e,(e=>parseFloat(Jn(e)))),o=lr(e,zo);return{width:t,pixelWidth:o,getWidths:(t,o)=>((e,t,o)=>or(e,t,Un,(e=>e.fold((()=>o.minCellWidth()),(e=>e/o.pixelWidth()*100)))))(t,e,o),getCellDelta:e=>e/o()*100,singleColumnWidth:(e,t)=>[100-e],minCellWidth:()=>Pt()/o()*100,setElementWidth:Fn,adjustTableWidth:o=>{const n=t();Fn(e,n+o/100*n)},isRelative:!0,label:"percent"}},cr=e=>{const t=lr(e,zo);return{width:t,pixelWidth:t,getWidths:(t,o)=>rr(t,e,o),getCellDelta:h,singleColumnWidth:(e,t)=>[Math.max(Pt(),e+t)-e],minCellWidth:Pt,setElementWidth:In,adjustTableWidth:o=>{const n=t()+o;In(e,n)},isRelative:!1,label:"pixel"}},ir=e=>qn(e).fold((()=>(e=>{const t=lr(e,zo),o=g(0);return{width:t,pixelWidth:t,getWidths:(t,o)=>rr(t,e,o),getCellDelta:o,singleColumnWidth:g([0]),minCellWidth:o,setElementWidth:f,adjustTableWidth:f,isRelative:!0,label:"none"}})(e)),(t=>((e,t)=>null!==Qn().exec(t)?ar(e):cr(e))(e,t))),mr=cr,dr=ar,ur=(e,t,o)=>{const n=e[o].element,r=xe.fromTag("td");Ie(r,xe.fromTag("br")),(t?Ie:Pe)(n,r)},fr=((e,t)=>{const o=t=>e(t)?C.from(t.dom.nodeValue):C.none();return{get:t=>{if(!e(t))throw new Error("Can only get text value of a text node");return o(t).getOr("")},getOption:o,set:(t,o)=>{if(!e(t))throw new Error("Can only set raw text value of a text node");t.dom.nodeValue=o}}})(ie),gr=e=>fr.get(e),hr=e=>fr.getOption(e),pr=(e,t)=>fr.set(e,t),br=e=>"img"===ne(e)?1:hr(e).fold((()=>Le(e).length),(e=>e.length)),wr=["img","br"],vr=e=>hr(e).filter((e=>0!==e.trim().length||e.indexOf("\xa0")>-1)).isSome()||D(wr,ne(e))||(e=>ae(e)&&"false"===pe(e,"contenteditable"))(e),yr=e=>((e,t)=>{const o=e=>{for(let n=0;nCr(e,vr),Cr=(e,t)=>{const o=e=>{const n=Le(e);for(let e=n.length-1;e>=0;e--){const r=n[e];if(t(r))return C.some(r);const s=o(r);if(s.isSome())return s}return C.none()};return o(e)},Tr={scope:["row","col"]},Sr=e=>()=>{const t=xe.fromTag("td",e.dom);return Ie(t,xe.fromTag("br",e.dom)),t},Rr=e=>()=>xe.fromTag("col",e.dom),Dr=e=>()=>xe.fromTag("colgroup",e.dom),Or=e=>()=>xe.fromTag("tr",e.dom),kr=(e,t,o)=>{const n=((e,t)=>{const o=Je(e,t),n=Le(Ye(e));return $e(o,n),o})(e,t);return G(o,((e,t)=>{null===e?we(n,t):ge(n,t,e)})),n},Er=e=>e,Nr=(e,t,o)=>{const n=(e,t)=>{((e,t)=>{const o=e.dom,n=t.dom;Ot(o)&&Ot(n)&&(n.style.cssText=o.style.cssText)})(e.element,t),At(t,"height"),1!==e.colspan&&At(t,"width")};return{col:o=>{const r=xe.fromTag(ne(o.element),t.dom);return n(o,r),e(o.element,r),r},colgroup:Dr(t),row:Or(t),cell:r=>{const s=xe.fromTag(ne(r.element),t.dom),l=o.getOr(["strong","em","b","i","span","font","h1","h2","h3","h4","h5","h6","p","div"]),a=l.length>0?((e,t,o)=>yr(e).map((n=>{const r=o.join(","),s=ct(n,r,(t=>Re(t,e)));return z(s,((e,t)=>{const o=Ke(t);return Ie(e,o),o}),t)})).getOr(t))(r.element,s,l):s;return Ie(a,xe.fromTag("br")),n(r,s),((e,t)=>{G(Tr,((o,n)=>be(e,n).filter((e=>D(o,e))).each((e=>ge(t,n,e)))))})(r.element,s),e(r.element,s),s},replace:kr,colGap:Rr(t),gap:Sr(t)}},Br=e=>({col:Rr(e),colgroup:Dr(e),row:Or(e),cell:Sr(e),replace:Er,colGap:Rr(e),gap:Sr(e)}),_r=e=>t=>t.options.get(e),zr="100%",Ar=e=>{var t;const o=e.dom,n=null!==(t=o.getParent(e.selection.getStart(),o.isBlock))&&void 0!==t?t:e.getBody();return Lo(xe.fromDom(n))+"px"},Lr=e=>C.from(e.options.get("table_clone_elements")),Wr=_r("table_header_type"),Mr=_r("table_column_resizing"),jr=e=>"preservetable"===Mr(e),Pr=e=>"resizetable"===Mr(e),Ir=_r("table_sizing_mode"),Fr=e=>"relative"===Ir(e),Hr=e=>"fixed"===Ir(e),$r=e=>"responsive"===Ir(e),Vr=_r("table_resize_bars"),qr=_r("table_style_by_css"),Ur=_r("table_merge_content_on_paste"),Gr=e=>{const t=e.options,o=t.get("table_default_attributes");return t.isSet("table_default_attributes")?o:((e,t)=>$r(e)||qr(e)?t:Hr(e)?{...t,width:Ar(e)}:{...t,width:zr})(e,o)},Kr=_r("table_use_colgroups"),Yr=e=>bt(e,"[contenteditable]"),Jr=(e,t=!1)=>st(e)?e.dom.isContentEditable:Yr(e).fold(g(t),(e=>"true"===Qr(e))),Qr=e=>e.dom.contentEditable,Xr=e=>xe.fromDom(e.getBody()),Zr=e=>t=>Re(t,Xr(e)),es=e=>{we(e,"data-mce-style");const t=e=>we(e,"data-mce-style");N(Vt(e),t),N(qt(e),t),N(Gt(e),t)},ts=e=>xe.fromDom(e.selection.getStart()),os=e=>e.getBoundingClientRect().width,ns=e=>e.getBoundingClientRect().height,rs=e=>(t,o)=>{const n=t.dom.getStyle(o,e)||t.dom.getAttrib(o,e);return C.from(n).filter(Dt)},ss=rs("width"),ls=rs("height"),as=e=>ft(e,ue("table")).exists(Jr),cs=(e,t)=>{const o=t.column,n=t.column+t.colspan-1,r=t.row,s=t.row+t.rowspan-1;return o<=e.finishCol&&n>=e.startCol&&r<=e.finishRow&&s>=e.startRow},is=(e,t)=>t.column>=e.startCol&&t.column+t.colspan-1<=e.finishCol&&t.row>=e.startRow&&t.row+t.rowspan-1<=e.finishRow,ms=(e,t,o)=>{const n=en(e,t,Re),r=en(e,o,Re);return n.bind((e=>r.map((t=>{return o=e,n=t,{startRow:Math.min(o.row,n.row),startCol:Math.min(o.column,n.column),finishRow:Math.max(o.row+o.rowspan-1,n.row+n.rowspan-1),finishCol:Math.max(o.column+o.colspan-1,n.column+n.colspan-1)};var o,n}))))},ds=(e,t,o)=>ms(e,t,o).map((t=>{const o=tn(e,b(cs,t));return E(o,(e=>e.element))})),us=(e,t)=>en(e,t,((e,t)=>De(t,e))).map((e=>e.element)),fs=(e,t,o)=>{const n=hs(e);return ds(n,t,o)},gs=(e,t,o,n,r)=>{const s=hs(e),l=Re(e,o)?C.some(t):us(s,t),a=Re(e,r)?C.some(n):us(s,n);return l.bind((e=>a.bind((t=>ds(s,e,t)))))},hs=Qo;var ps=["body","p","div","article","aside","figcaption","figure","footer","header","nav","section","ol","ul","li","table","thead","tbody","tfoot","caption","tr","td","th","h1","h2","h3","h4","h5","h6","blockquote","pre","address"],bs=()=>({up:g({selector:gt,closest:bt,predicate:ut,all:_e}),down:g({selector:mt,predicate:at}),styles:g({get:Bt,getRaw:zt,set:Et,remove:At}),attrs:g({get:pe,set:ge,remove:we,copyTo:(e,t)=>{const o=ve(e);he(t,o)}}),insert:g({before:Me,after:je,afterAll:He,append:Ie,appendAll:$e,prepend:Pe,wrap:Fe}),remove:g({unwrap:Ue,remove:qe}),create:g({nu:xe.fromTag,clone:e=>xe.fromDom(e.dom.cloneNode(!1)),text:xe.fromText}),query:g({comparePosition:(e,t)=>e.dom.compareDocumentPosition(t.dom),prevSibling:ze,nextSibling:Ae}),property:g({children:Le,name:ne,parent:Ne,document:e=>Ee(e).dom,isText:ie,isComment:le,isElement:ce,isSpecial:e=>{const t=ne(e);return D(["script","noscript","iframe","noframes","noembed","title","style","textarea","xmp"],t)},getLanguage:e=>ce(e)?be(e,"lang"):C.none(),getText:gr,setText:pr,isBoundary:e=>!!ce(e)&&("body"===ne(e)||D(ps,ne(e))),isEmptyTag:e=>!!ce(e)&&D(["br","img","hr","input"],ne(e)),isNonEditable:e=>ce(e)&&"false"===pe(e,"contenteditable")}),eq:Re,is:Oe});const ws=(e,t,o,n)=>{const r=t(e,o);return z(n,((o,n)=>{const r=t(e,n);return vs(e,o,r)}),r)},vs=(e,t,o)=>t.bind((t=>o.filter(b(e.eq,t)))),ys=bs(),xs=(e,t)=>((e,t,o)=>o.length>0?((e,t,o,n)=>n(e,t,o[0],o.slice(1)))(e,t,o,ws):C.none())(ys,((t,o)=>e(o)),t),Cs=e=>gt(e,"table"),Ts=(e,t,o)=>{const n=e=>t=>void 0!==o&&o(t)||Re(t,e);return Re(e,t)?C.some({boxes:C.some([e]),start:e,finish:t}):Cs(e).bind((r=>Cs(t).bind((s=>{if(Re(r,s))return C.some({boxes:fs(r,e,t),start:e,finish:t});if(De(r,s)){const o=ct(t,"td,th",n(r)),l=o.length>0?o[o.length-1]:t;return C.some({boxes:gs(r,e,r,t,s),start:e,finish:l})}if(De(s,r)){const o=ct(e,"td,th",n(s)),l=o.length>0?o[o.length-1]:e;return C.some({boxes:gs(s,e,r,t,s),start:e,finish:l})}return((e,t,o)=>((e,t,o,n=y)=>{const r=[t].concat(e.up().all(t)),s=[o].concat(e.up().all(o)),l=e=>W(e,n).fold((()=>e),(t=>e.slice(0,t+1))),a=l(r),c=l(s),i=L(a,(t=>O(c,((e,t)=>b(e.eq,t))(e,t))));return{firstpath:a,secondpath:c,shared:i}})(ys,e,t,void 0))(e,t).shared.bind((l=>bt(l,"table",o).bind((o=>{const l=ct(t,"td,th",n(o)),a=l.length>0?l[l.length-1]:t,c=ct(e,"td,th",n(o)),i=c.length>0?c[c.length-1]:e;return C.some({boxes:gs(o,e,r,t,s),start:i,finish:a})}))))}))))},Ss=(e,t)=>{const o=mt(e,t);return o.length>0?C.some(o):C.none()},Rs=(e,t,o)=>pt(e,t).bind((t=>pt(e,o).bind((e=>xs(Cs,[t,e]).map((o=>({first:t,last:e,table:o}))))))),Ds=(e,t,o,n,r)=>((e,t)=>L(e,(e=>Ce(e,t))))(e,r).bind((e=>((e,t,o)=>Ut(e).bind((n=>((e,t,o,n)=>en(e,t,Re).bind((t=>{const r=o>0?t.row+t.rowspan-1:t.row,s=n>0?t.column+t.colspan-1:t.column;return Zo(e,r+o,s+n).map((e=>e.element))})))(hs(n),e,t,o))))(e,t,o).bind((e=>((e,t)=>gt(e,"table").bind((o=>pt(o,t).bind((t=>Ts(t,e).bind((e=>e.boxes.map((t=>({boxes:t,start:e.start,finish:e.finish}))))))))))(e,n))))),Os=(e,t)=>Ss(e,t),ks=(e,t,o)=>Rs(e,t,o).bind((t=>{const o=t=>Re(e,t),n="thead,tfoot,tbody,table",r=gt(t.first,n,o),s=gt(t.last,n,o);return r.bind((e=>s.bind((o=>Re(e,o)?((e,t,o)=>((e,t,o)=>ms(e,t,o).bind((t=>((e,t)=>{let o=!0;const n=b(is,t);for(let r=t.startRow;r<=t.finishRow;r++)for(let s=t.startCol;s<=t.finishCol;s++)o=o&&Zo(e,r,s).exists(n);return o?C.some(t):C.none()})(e,t))))(hs(e),t,o))(t.table,t.first,t.last):C.none()))))})),Es=h,Ns=e=>{const t=(e,t)=>be(e,t).exists((e=>parseInt(e,10)>1));return e.length>0&&P(e,(e=>t(e,"rowspan")||t(e,"colspan")))?C.some(e):C.none()},Bs=(e,t,o)=>t.length<=1?C.none():ks(e,o.firstSelectedSelector,o.lastSelectedSelector).map((e=>({bounds:e,cells:t}))),_s="data-mce-selected",zs="data-mce-first-selected",As="data-mce-last-selected",Ls="["+_s+"]",Ws={selected:_s,selectedSelector:"td["+_s+"],th["+_s+"]",firstSelected:zs,firstSelectedSelector:"td["+zs+"],th["+zs+"]",lastSelected:As,lastSelectedSelector:"td["+As+"],th["+As+"]"},Ms=(e,t,o)=>({element:o,mergable:Bs(t,e,Ws),unmergable:Ns(e),selection:Es(e)}),js=e=>(t,o)=>{const n=ne(t),r="col"===n||"colgroup"===n?Ut(s=t).bind((e=>Os(e,Ws.firstSelectedSelector))).fold(g(s),(e=>e[0])):t;var s;return bt(r,e,o)},Ps=js("th,td,caption"),Is=js("th,td"),Fs=e=>{return t=e.model.table.getSelectedCells(),E(t,xe.fromDom);var t},Hs=(e,t)=>{e.on("BeforeGetContent",(t=>{const o=o=>{t.preventDefault(),(e=>Ut(e[0]).map((e=>{const t=((e,t)=>{const o=e=>Ce(e.element,t),n=Ye(e),r=Qt(n),s=ir(e),l=Xo(r),a=((e,t)=>{const o=e.grid.columns;let n=e.grid.rows,r=o,s=0,l=0;const a=[],c=[];return G(e.access,(e=>{if(a.push(e),t(e)){c.push(e);const t=e.row,o=t+e.rowspan-1,a=e.column,i=a+e.colspan-1;ts&&(s=o),al&&(l=i)}})),((e,t,o,n,r,s)=>({minRow:e,minCol:t,maxRow:o,maxCol:n,allCells:r,selectedCells:s}))(n,r,s,l,a,c)})(l,o),c="th:not("+t+"),td:not("+t+")",i=Ht(n,"th,td",(e=>Ce(e,c)));N(i,qe),((e,t,o,n)=>{const r=_(e,(e=>"colgroup"!==e.section)),s=t.grid.columns,l=t.grid.rows;for(let e=0;eo.maxRow||ao.maxCol||(Zo(t,e,a).filter(n).isNone()?ur(r,l,e):l=!0)}})(r,l,a,o);const m=((e,t,o,n)=>{if(0===n.minCol&&t.grid.columns===n.maxCol+1)return 0;const r=rr(t,e,o),s=A(r,((e,t)=>e+t),0),l=A(r.slice(n.minCol,n.maxCol+1),((e,t)=>e+t),0),a=l/s*o.pixelWidth()-o.pixelWidth();return o.getCellDelta(a)})(e,Qo(e),s,a);return((e,t,o,n)=>{G(o.columns,(e=>{(e.columnt.maxCol)&&qe(e.element)}));const r=_(Ft(e,"tr"),(e=>0===e.dom.childElementCount));N(r,qe),t.minCol!==t.maxCol&&t.minRow!==t.maxRow||N(Ft(e,"th,td"),(e=>{we(e,"rowspan"),we(e,"colspan")})),we(e,qo),we(e,"data-snooker-col-series"),ir(e).adjustTableWidth(n)})(n,a,l,m),n})(e,Ls);return es(t),[t]})))(o).each((o=>{const n="text"===t.format?((e,t)=>{const o=e.getDoc(),n=nt(xe.fromDom(e.getBody())),r=xe.fromTag("div",o);ge(r,"data-mce-bogus","all"),Nt(r,{position:"fixed",left:"-9999999px",top:"0",overflow:"hidden",opacity:"0"});const s=(e=>ot(e)?e:xe.fromDom(Ee(e).dom.body))(n);$e(r,t),Ie(s,r);const l=r.dom.innerText;return qe(r),l})(e,o):((e,t)=>E(t,(t=>e.selection.serializer.serialize(t.dom,{}))).join(""))(e,o);t.content=n}))};if(!0===t.selection){const t=(e=>_(Fs(e),(e=>Ce(e,Ws.selectedSelector))))(e);t.length>=1&&o(t)}})),e.on("BeforeSetContent",(o=>{if(!0===o.selection&&!0===o.paste){const n=Fs(e);H(n).each((n=>{Ut(n).each((r=>{const s=_(((e,t)=>{const o=document.createElement("div");return o.innerHTML=e,Le(xe.fromDom(o))})(o.content),(e=>"meta"!==ne(e))),l=ue("table");if(Ur(e)&&1===s.length&&l(s[0])){o.preventDefault();const l=xe.fromDom(e.getDoc()),a=Br(l),c=((e,t,o)=>({element:e,clipboard:t,generators:o}))(n,s[0],a);t.pasteCells(r,c).each((()=>{e.focus()}))}}))}))}}))},$s=(e,t)=>({element:e,offset:t}),Vs=(e,t,o)=>e.property().isText(t)&&0===e.property().getText(t).trim().length||e.property().isComment(t)?o(t).bind((t=>Vs(e,t,o).orThunk((()=>C.some(t))))):C.none(),qs=(e,t)=>e.property().isText(t)?e.property().getText(t).length:e.property().children(t).length,Us=(e,t)=>{const o=Vs(e,t,e.query().prevSibling).getOr(t);if(e.property().isText(o))return $s(o,qs(e,o));const n=e.property().children(o);return n.length>0?Us(e,n[n.length-1]):$s(o,qs(e,o))},Gs=Us,Ks=bs(),Ys=(e,t)=>{if(!Mt(e)){const o=(e=>qn(e).bind((e=>{return t=e,o=["fixed","relative","empty"],C.from(An.exec(t)).bind((e=>{const t=Number(e[1]),n=e[2];return((e,t)=>O(t,(t=>O(zn[t],(t=>e===t)))))(n,o)?C.some({value:t,unit:n}):C.none()}));var t,o})))(e);o.each((o=>{const n=o.value/2;Yn(e,n,o.unit),Yn(t,n,o.unit)}))}},Js=e=>E(e,g(0)),Qs=(e,t,o,n,r)=>r(e.slice(0,t)).concat(n).concat(r(e.slice(o))),Xs=e=>(t,o,n,r)=>{if(e(n)){const e=Math.max(r,t[o]-Math.abs(n)),s=Math.abs(e-t[o]);return n>=0?s:-s}return n},Zs=Xs((e=>e<0)),el=Xs(x),tl=()=>{const e=(e,t,o,n)=>{const r=(100+o)/100,s=Math.max(n,(e[t]+o)/r);return E(e,((e,o)=>(o===t?s:e/r)-e))},t=(t,o,n,r,s,l)=>l?e(t,o,r,s):((e,t,o,n,r)=>{const s=Zs(e,t,n,r);return Qs(e,t,o+1,[s,0],Js)})(t,o,n,r,s);return{resizeTable:(e,t)=>e(t),clampTableDelta:Zs,calcLeftEdgeDeltas:t,calcMiddleDeltas:(e,o,n,r,s,l,a)=>t(e,n,r,s,l,a),calcRightEdgeDeltas:(t,o,n,r,s,l)=>{if(l)return e(t,n,r,s);{const e=Zs(t,n,r,s);return Js(t.slice(0,n)).concat([e])}},calcRedestributedWidths:(e,t,o,n)=>{if(n){const n=(t+o)/t,r=E(e,(e=>e/n));return{delta:100*n-100,newSizes:r}}return{delta:o,newSizes:e}}}},ol=()=>{const e=(e,t,o,n,r)=>{const s=el(e,n>=0?o:t,n,r);return Qs(e,t,o+1,[s,-s],Js)};return{resizeTable:(e,t,o)=>{o&&e(t)},clampTableDelta:(e,t,o,n,r)=>{if(r){if(o>=0)return o;{const t=A(e,((e,t)=>e+t-n),0);return Math.max(-t,o)}}return Zs(e,t,o,n)},calcLeftEdgeDeltas:e,calcMiddleDeltas:(t,o,n,r,s,l)=>e(t,n,r,s,l),calcRightEdgeDeltas:(e,t,o,n,r,s)=>{if(s)return Js(e);{const t=n/e.length;return E(e,g(t))}},calcRedestributedWidths:(e,t,o,n)=>({delta:0,newSizes:e})}},nl=e=>Qo(e).grid,rl=ue("th"),sl=e=>P(e,(e=>rl(e.element))),ll=(e,t)=>e&&t?"sectionCells":e?"section":"cells",al=e=>{const t="thead"===e.section,o=wt(cl(e.cells),"th");return"tfoot"===e.section?{type:"footer"}:t||o?{type:"header",subType:ll(t,o)}:{type:"body"}},cl=e=>{const t=_(e,(e=>rl(e.element)));return 0===t.length?C.some("td"):t.length===e.length?C.some("th"):C.none()},il=(e,t,o)=>et(o(e.element,t),!0,e.isLocked),ml=(e,t)=>e.section!==t?tt(e.element,e.cells,t,e.isNew):e,dl=()=>({transformRow:ml,transformCell:(e,t,o)=>{const n=o(e.element,t),r="td"!==ne(n)?((e,t)=>{const o=Je(e,"td");je(e,o);const n=Le(e);return $e(o,n),qe(e),o})(n):n;return et(r,e.isNew,e.isLocked)}}),ul=()=>({transformRow:ml,transformCell:il}),fl=()=>({transformRow:(e,t)=>ml(e,"thead"===t?"tbody":t),transformCell:il}),gl=dl,hl=ul,pl=fl,bl=()=>({transformRow:h,transformCell:il}),wl=(e,t,o,n)=>{o===n?we(e,t):ge(e,t,o)},vl=(e,t,o)=>{$(it(e,t)).fold((()=>Pe(e,o)),(e=>je(e,o)))},yl=(e,t)=>{const o=[],n=[],r=e=>E(e,(e=>{e.isNew&&o.push(e.element);const t=e.element;return Ve(t),N(e.cells,(e=>{e.isNew&&n.push(e.element),wl(e.element,"colspan",e.colspan,1),wl(e.element,"rowspan",e.rowspan,1),Ie(t,e.element)})),t})),s=e=>j(e,(e=>E(e.cells,(e=>(wl(e.element,"span",e.colspan,1),e.element))))),l=(t,o)=>{const n=((e,t)=>{const o=ht(e,t).getOrThunk((()=>{const o=xe.fromTag(t,ke(e).dom);return"thead"===t?vl(e,"caption,colgroup",o):"colgroup"===t?vl(e,"caption",o):Ie(e,o),o}));return Ve(o),o})(e,o),l=("colgroup"===o?s:r)(t);$e(n,l)},a=(t,o)=>{t.length>0?l(t,o):(t=>{ht(e,t).each(qe)})(o)},c=[],i=[],m=[],d=[];return N(t,(e=>{switch(e.section){case"thead":c.push(e);break;case"tbody":i.push(e);break;case"tfoot":m.push(e);break;case"colgroup":d.push(e)}})),a(d,"colgroup"),a(c,"thead"),a(i,"tbody"),a(m,"tfoot"),{newRows:o,newCells:n}},xl=(e,t)=>{if(0===e.length)return 0;const o=e[0];return W(e,(e=>!t(o.element,e.element))).getOr(e.length)},Cl=(e,t)=>{const o=E(e,(e=>E(e.cells,y)));return E(e,((n,r)=>{const s=j(n.cells,((n,s)=>{if(!1===o[r][s]){const m=((e,t,o,n)=>{const r=((e,t)=>e[t])(e,t),s="colgroup"===r.section,l=xl(r.cells.slice(o),n),a=s?1:xl(((e,t)=>E(e,(e=>Io(e,t))))(e.slice(t),o),n);return{colspan:l,rowspan:a}})(e,r,s,t);return((e,t,n,r)=>{for(let s=e;s({element:e,cells:t,section:o,isNew:n}))(n.element,s,n.section,n.isNew)}))},Tl=(e,t,o)=>{const n=[];N(e.colgroups,(r=>{const s=[];for(let n=0;net(e.element,o,!1))).getOrThunk((()=>et(t.colGap(),!0,!1)));s.push(r)}n.push(tt(r.element,s,"colgroup",o))}));for(let r=0;ret(e.element,o,e.isLocked))).getOrThunk((()=>et(t.gap(),!0,!1)));s.push(l)}const l=e.all[r],a=tt(l.element,s,l.section,o);n.push(a)}return n},Sl=e=>Cl(e,Re),Rl=(e,t)=>V(e.all,(e=>L(e.cells,(e=>Re(t,e.element))))),Dl=(e,t,o)=>{const n=E(t.selection,(t=>$t(t).bind((t=>Rl(e,t))).filter(o))),r=vt(n);return yt(r.length>0,r)},Ol=(e,t,o,n,r)=>(s,l,a,c)=>{const i=Qo(s),m=C.from(null==c?void 0:c.section).getOrThunk(bl);return t(i,l).map((t=>{const o=((e,t)=>Tl(e,t,!1))(i,a),n=e(o,t,Re,r(a),m),s=Go(n.grid);return{info:t,grid:Sl(n.grid),cursor:n.cursor,lockedColumns:s}})).bind((e=>{const t=yl(s,e.grid),r=C.from(null==c?void 0:c.sizing).getOrThunk((()=>ir(s))),l=C.from(null==c?void 0:c.resize).getOrThunk(ol);return o(s,e.grid,e.info,{sizing:r,resize:l,section:m}),n(s),we(s,qo),e.lockedColumns.length>0&&ge(s,qo,e.lockedColumns.join(",")),C.some({cursor:e.cursor,newRows:t.newRows,newCells:t.newCells})}))},kl=(e,t)=>Dl(e,t,x).map((e=>({cells:e,generators:t.generators,clipboard:t.clipboard}))),El=(e,t)=>Dl(e,t,x),Nl=(e,t)=>Dl(e,t,(e=>!e.isLocked)),Bl=(e,t)=>P(t,(t=>((e,t)=>Rl(e,t).exists((e=>!e.isLocked)))(e,t))),_l=(e,t,o,n)=>{const r=$o(e).rows;let s=!0;for(let e=0;e{const t=t=>t(e),o=g(e),n=()=>r,r={tag:!0,inner:e,fold:(t,o)=>o(e),isValue:x,isError:y,map:t=>Ll.value(t(e)),mapError:n,bind:t,exists:t,forall:t,getOr:o,or:n,getOrThunk:o,orThunk:n,getOrDie:o,each:t=>{t(e)},toOptional:()=>C.some(e)};return r},Al=e=>{const t=()=>o,o={tag:!1,inner:e,fold:(t,o)=>t(e),isValue:y,isError:x,map:t,mapError:t=>Ll.error(t(e)),bind:t,exists:y,forall:x,getOr:h,or:h,getOrThunk:v,orThunk:v,getOrDie:(n=String(e),()=>{throw new Error(n)}),each:f,toOptional:C.none};var n;return o},Ll={value:zl,error:Al,fromOption:(e,t)=>e.fold((()=>Al(t)),zl)},Wl=(e,t)=>({rowDelta:0,colDelta:Ho(e[0])-Ho(t[0])}),Ml=(e,t)=>({rowDelta:e.length-t.length,colDelta:0}),jl=(e,t,o,n)=>{const r="colgroup"===t.section?o.col:o.cell;return k(e,(e=>et(r(),!0,n(e))))},Pl=(e,t,o,n)=>{const r=e[e.length-1];return e.concat(k(t,(()=>{const e="colgroup"===r.section?o.colgroup:o.row,t=Vo(r,e,h),s=jl(t.cells.length,t,o,(e=>X(n,e.toString())));return Po(t,s)})))},Il=(e,t,o,n)=>E(e,(e=>{const r=jl(t,e,o,y);return Wo(e,n,r)})),Fl=(e,t,o)=>{const n=t.colDelta<0?Il:h,r=t.rowDelta<0?Pl:h,s=Go(e),l=Ho(e[0]),a=O(s,(e=>e===l-1)),c=n(e,Math.abs(t.colDelta),o,a?l-1:l),i=Go(c);return r(c,Math.abs(t.rowDelta),o,I(i,x))},Hl=(e,t,o,n)=>{const r=b(n,Io(e[t],o).element),s=e[t];return e.length>1&&Ho(s)>1&&(o>0&&r(Fo(s,o-1))||o0&&r(Fo(e[t-1],o))||t_(o,(o=>o>=e.column&&o<=Ho(t[0])+e.column)),Vl=(e,t,o,n,r)=>{((e,t,o,n)=>{t>0&&t{const r=e.cells[t-1];let s=0;const l=n();for(;e.cells.length>t+s&&o(r.element,e.cells[t+s].element);)jo(e,t+s,et(l,!0,e.cells[t+s].isLocked)),s++}))})(t,e,r,n.cell);const s=Ml(o,t),l=Fl(o,s,n),a=Ml(t,l),c=Fl(t,a,n);return E(c,((t,o)=>Wo(t,e,l[o].cells)))},ql=(e,t,o,n,r)=>{((e,t,o,n)=>{const r=$o(e).rows;if(t>0&&tA(e,((e,o)=>O(e,(e=>t(e.element,o.element)))?e:e.concat([o])),[]))(r[t-1].cells,o);N(e,(e=>{let s=C.none();for(let l=t;l{jo(a,t,et(e,!0,c.isLocked))})))}}))}})(t,e,r,n.cell);const s=Go(t),l=Wl(t,o),a={...l,colDelta:l.colDelta-s.length},c=Fl(t,a,n),{cols:i,rows:m}=$o(c),d=Go(c),u=Wl(o,t),f={...u,colDelta:u.colDelta+d.length},g=(p=n,b=d,E(o,(e=>A(b,((t,o)=>{const n=jl(1,e,p,x)[0];return Mo(t,o,n)}),e)))),h=Fl(g,f,n);var p,b;return[...i,...m.slice(0,e),...h,...m.slice(e,m.length)]},Ul=(e,t,o,n,r)=>{const{rows:s,cols:l}=$o(e),a=s.slice(0,t),c=s.slice(t);return[...l,...a,((e,t,o,n)=>Vo(e,(e=>n(e,o)),t))(s[o],((e,o)=>t>0&&tE(e,(e=>{const s=t>0&&t{if("colgroup"!==o&&n)return Io(e,t);{const t=Io(e,r);return et(l(t.element,s),!0,!1)}})(e,t,e.section,s,o,n,r);return Mo(e,t,l)})),Kl=(e,t,o,n)=>((e,t,o,n)=>void 0!==Fo(e[t],o)&&t>0&&n(Fo(e[t-1],o),Fo(e[t],o)))(e,t,o,n)||((e,t,o)=>t>0&&o(Fo(e,t-1),Fo(e,t)))(e[t],o,n),Yl=(e,t,o,n)=>{const r=e=>(e=>"row"===e?(e=>Wt(e,"rowspan")>1)(t):Mt(t))(e)?`${e}group`:e;return e?rl(t)?r(o):null:n&&rl(t)?r("row"===o?"col":"row"):null},Jl=(e,t,o)=>et(o(e.element,t),!0,e.isLocked),Ql=(e,t,o,n,r,s,l)=>E(e,((e,a)=>((e,c)=>{const i=e.cells,m=E(i,((e,c)=>{if((e=>O(t,(t=>o(e.element,t.element))))(e)){const t=l(e,a,c)?r(e,o,n):e;return s(t,a,c).each((e=>{var o,n;o=t.element,n={scope:C.from(e)},G(n,((e,t)=>{e.fold((()=>{we(o,t)}),(e=>{fe(o.dom,t,e)}))}))})),t}return e}));return tt(e.element,m,e.section,e.isNew)})(e))),Xl=(e,t,o)=>j(e,((n,r)=>Kl(e,r,t,o)?[]:[Io(n,t)])),Zl=(e,t,o,n,r)=>{const s=$o(e).rows,l=j(t,(e=>Xl(s,e,n))),a=E(s,(e=>sl(e.cells))),c=((e,t)=>P(t,h)&&sl(e)?x:(e,o,n)=>!("th"===ne(e.element)&&t[o]))(l,a),i=((e,t)=>(o,n)=>C.some(Yl(e,o.element,"row",t[n])))(o,a);return Ql(e,l,n,r,Jl,i,c)},ea=(e,t,o,n)=>{const r=$o(e).rows,s=E(t,(e=>Io(r[e.row],e.column)));return Ql(e,s,o,n,Jl,C.none,x)},ta=e=>{if(!l(e))throw new Error("cases must be an array");if(0===e.length)throw new Error("there must be at least one case");const t=[],o={};return N(e,((n,r)=>{const s=q(n);if(1!==s.length)throw new Error("one and only one name per case");const a=s[0],c=n[a];if(void 0!==o[a])throw new Error("duplicate key detected:"+a);if("cata"===a)throw new Error("cannot have a case named cata (sorry)");if(!l(c))throw new Error("case arguments must be an array");t.push(a),o[a]=(...o)=>{const n=o.length;if(n!==c.length)throw new Error("Wrong number of arguments to case "+a+". Expected "+c.length+" ("+c+"), got "+n);return{fold:(...t)=>{if(t.length!==e.length)throw new Error("Wrong number of arguments to fold. Expected "+e.length+", got "+t.length);return t[r].apply(null,o)},match:e=>{const n=q(e);if(t.length!==n.length)throw new Error("Wrong number of arguments to match. Expected: "+t.join(",")+"\nActual: "+n.join(","));if(!P(t,(e=>D(n,e))))throw new Error("Not all branches were specified when using match. Specified: "+n.join(", ")+"\nRequired: "+t.join(", "));return e[a].apply(null,o)},log:e=>{console.log(e,{constructors:t,constructor:a,params:o})}}}})),o},oa={...ta([{none:[]},{only:["index"]},{left:["index","next"]},{middle:["prev","index","next"]},{right:["prev","index"]}])},na=(e,t,o)=>{const n=((e,t)=>rn(e)?((e,t)=>{const o=nn(e);return E(o,((e,o)=>({element:e.element,width:t[o],colspan:e.colspan})))})(e,t):((e,t)=>{const o=on(e);return E(o,(e=>{const o=((e,t,o)=>{let n=0;for(let r=e;r{o.setElementWidth(e.element,e.width)}))},ra=(e,t,o,n,r)=>{const s=Qo(e),l=r.getCellDelta(t),a=r.getWidths(s,r),c=o===s.grid.columns-1,i=n.clampTableDelta(a,o,l,r.minCellWidth(),c),m=((e,t,o,n,r)=>{const s=e.slice(0),l=((e,t)=>0===e.length?oa.none():1===e.length?oa.only(0):0===t?oa.left(0,1):t===e.length-1?oa.right(t-1,t):t>0&&tn.singleColumnWidth(s[e],o)),((e,t)=>r.calcLeftEdgeDeltas(s,e,t,o,n.minCellWidth(),n.isRelative)),((e,t,l)=>r.calcMiddleDeltas(s,e,t,l,o,n.minCellWidth(),n.isRelative)),((e,t)=>r.calcRightEdgeDeltas(s,e,t,o,n.minCellWidth(),n.isRelative)))})(a,o,i,r,n),d=E(m,((e,t)=>e+a[t]));na(s,d,r),n.resizeTable(r.adjustTableWidth,i,c)},sa=(e,t,o)=>{const n=Qo(e),r=((e,t)=>sr(e,t,Kn,(e=>e.getOrThunk(It))))(n,e),s=E(r,((e,n)=>o===n?Math.max(t+e,It()):e)),l=((e,t)=>E(e.all,((e,o)=>({element:e.element,height:t[o]}))))(n,s);N(l,(e=>{Hn(e.element,e.height)})),N(on(n),(e=>{(e=>{At(e,"height")})(e.element)}));const a=z(s,((e,t)=>e+t),0);Hn(e,a)},la=e=>A(e,((e,t)=>O(e,(e=>e.column===t.column))?e:e.concat([t])),[]).sort(((e,t)=>e.column-t.column)),aa=ue("col"),ca=ue("colgroup"),ia=e=>"tr"===ne(e)||ca(e),ma=e=>({element:e,colspan:Lt(e,"colspan",1),rowspan:Lt(e,"rowspan",1)}),da=e=>be(e,"scope").map((e=>e.substr(0,3))),ua=(e,t=ma)=>{const o=o=>{if(ia(o))return ca((r={element:o}).element)?e.colgroup(r):e.row(r);{const r=o,s=(t=>aa(t.element)?e.col(t):e.cell(t))(t(r));return n=C.some({item:r,replacement:s}),s}var r};let n=C.none();return{getOrInit:(e,t)=>n.fold((()=>o(e)),(n=>t(e,n.item)?n.replacement:o(e)))}},fa=e=>t=>{const o=[],n=n=>{const r="td"===e?{scope:null}:{},s=t.replace(n,e,r);return o.push({item:n,sub:s}),s};return{replaceOrInit:(e,t)=>{if(ia(e)||aa(e))return e;{const r=e;return((e,t)=>L(o,(o=>t(o.item,e))))(r,t).fold((()=>n(r)),(o=>t(e,o.item)?o.sub:n(r)))}}}},ga=e=>({unmerge:t=>{const o=da(t);return o.each((e=>ge(t,"scope",e))),()=>{const n=e.cell({element:t,colspan:1,rowspan:1});return At(n,"width"),At(t,"width"),o.each((e=>ge(n,"scope",e))),n}},merge:e=>(At(e[0],"width"),(()=>{const t=vt(E(e,da));if(0===t.length)return C.none();{const e=t[0],o=["row","col"];return O(t,(t=>t!==e&&D(o,t)))?C.none():C.from(e)}})().fold((()=>we(e[0],"scope")),(t=>ge(e[0],"scope",t+"group"))),g(e[0]))}),ha=["body","p","div","article","aside","figcaption","figure","footer","header","nav","section","ol","ul","table","thead","tfoot","tbody","caption","tr","td","th","h1","h2","h3","h4","h5","h6","blockquote","pre","address"],pa=bs(),ba=e=>((e,t)=>{const o=e.property().name(t);return D(ha,o)})(pa,e),wa=e=>((e,t)=>{const o=e.property().name(t);return D(["ol","ul"],o)})(pa,e),va=e=>{const t=ue("br"),o=e=>xr(e).bind((o=>{const n=Ae(o).map((e=>!!ba(e)||!!((e,t)=>D(["br","img","hr","input"],e.property().name(t)))(pa,e)&&"img"!==ne(e))).getOr(!1);return Ne(o).map((r=>{return!0===n||("li"===ne(s=r)||ut(s,wa).isSome())||t(o)||ba(r)&&!Re(e,r)?[]:[xe.fromTag("br")];var s}))})).getOr([]),n=(()=>{const n=j(e,(e=>{const n=Le(e);return(e=>P(e,(e=>t(e)||ie(e)&&0===gr(e).trim().length)))(n)?[]:n.concat(o(e))}));return 0===n.length?[xe.fromTag("br")]:n})();Ve(e[0]),$e(e[0],n)},ya=e=>Jr(e,!0),xa=e=>{0===Vt(e).length&&qe(e)},Ca=(e,t)=>({grid:e,cursor:t}),Ta=(e,t,o)=>{const n=((e,t,o)=>{var n,r;const s=$o(e).rows;return C.from(null===(r=null===(n=s[t])||void 0===n?void 0:n.cells[o])||void 0===r?void 0:r.element).filter(ya).orThunk((()=>(e=>V(e,(e=>V(e.cells,(e=>{const t=e.element;return yt(ya(t),t)})))))(s)))})(e,t,o);return Ca(e,n)},Sa=e=>A(e,((e,t)=>O(e,(e=>e.row===t.row))?e:e.concat([t])),[]).sort(((e,t)=>e.row-t.row)),Ra=(e,t)=>(o,n,r,s,l)=>{const a=Sa(n),c=E(a,(e=>e.row)),i=((e,t,o,n,r,s,l)=>{const{cols:a,rows:c}=$o(e),i=c[t[0]],m=j(t,(e=>((e,t,o)=>{const n=e[t];return j(n.cells,((n,r)=>Kl(e,t,r,o)?[]:[n]))})(c,e,r))),d=E(i.cells,((e,t)=>sl(Xl(c,t,r)))),u=[...c];N(t,(e=>{u[e]=l.transformRow(c[e],o)}));const f=[...a,...u],g=((e,t)=>P(t,h)&&sl(e.cells)?x:(e,o,n)=>!("th"===ne(e.element)&&t[n]))(i,d),p=((e,t)=>(o,n,r)=>C.some(Yl(e,o.element,"col",t[r])))(n,d);return Ql(f,m,r,s,l.transformCell,p,g)})(o,c,e,t,r,s.replaceOrInit,l);return Ta(i,n[0].row,n[0].column)},Da=Ra("thead",!0),Oa=Ra("tbody",!1),ka=Ra("tfoot",!1),Ea=(e,t,o)=>{const n=((e,t)=>Yt(e,(()=>t)))(e,o.section),r=Xo(n);return Tl(r,t,!0)},Na=(e,t,o,n)=>((e,t,o,n)=>{const r=Xo(t),s=n.getWidths(r,n);na(r,s,n)})(0,t,0,n.sizing),Ba=(e,t,o,n)=>((e,t,o,n,r)=>{const s=Xo(t),l=n.getWidths(s,n),a=n.pixelWidth(),{newSizes:c,delta:i}=r.calcRedestributedWidths(l,a,o.pixelDelta,n.isRelative);na(s,c,n),n.adjustTableWidth(i)})(0,t,o,n.sizing,n.resize),_a=(e,t)=>O(t,(e=>0===e.column&&e.isLocked)),za=(e,t)=>O(t,(t=>t.column+t.colspan>=e.grid.columns&&t.isLocked)),Aa=(e,t)=>{const o=ln(e),n=la(t);return A(n,((e,t)=>e+o[t.column].map(Ao).getOr(0)),0)},La=e=>(t,o)=>El(t,o).filter((o=>!(e?_a:za)(t,o))).map((e=>({details:e,pixelDelta:Aa(t,e)}))),Wa=e=>(t,o)=>kl(t,o).filter((o=>!(e?_a:za)(t,o.cells))),Ma=fa("th"),ja=fa("td"),Pa=Ol(((e,t,o,n)=>{const r=t[0].row,s=Sa(t),l=z(s,((e,t)=>({grid:Ul(e.grid,r,t.row+e.delta,o,n.getOrInit),delta:e.delta+1})),{grid:e,delta:0}).grid;return Ta(l,r,t[0].column)}),El,f,f,ua),Ia=Ol(((e,t,o,n)=>{const r=Sa(t),s=r[r.length-1],l=s.row+s.rowspan,a=z(r,((e,t)=>Ul(e,l,t.row,o,n.getOrInit)),e);return Ta(a,l,t[0].column)}),El,f,f,ua),Fa=Ol(((e,t,o,n)=>{const r=t.details,s=la(r),l=s[0].column,a=z(s,((e,t)=>({grid:Gl(e.grid,l,t.column+e.delta,o,n.getOrInit),delta:e.delta+1})),{grid:e,delta:0}).grid;return Ta(a,r[0].row,l)}),La(!0),Ba,f,ua),Ha=Ol(((e,t,o,n)=>{const r=t.details,s=r[r.length-1],l=s.column+s.colspan,a=la(r),c=z(a,((e,t)=>Gl(e,l,t.column,o,n.getOrInit)),e);return Ta(c,r[0].row,l)}),La(!1),Ba,f,ua),$a=Ol(((e,t,o,n)=>{const r=la(t.details),s=((e,t)=>j(e,(e=>{const o=e.cells,n=z(t,((e,t)=>t>=0&&t0?[tt(e.element,n,e.section,e.isNew)]:[]})))(e,E(r,(e=>e.column))),l=s.length>0?s[0].cells.length-1:0;return Ta(s,r[0].row,Math.min(r[0].column,l))}),((e,t)=>Nl(e,t).map((t=>({details:t,pixelDelta:-Aa(e,t)})))),Ba,xa,ua),Va=Ol(((e,t,o,n)=>{const r=Sa(t),s=((e,t,o)=>{const{rows:n,cols:r}=$o(e);return[...r,...n.slice(0,t),...n.slice(o+1)]})(e,r[0].row,r[r.length-1].row),l=Math.max($o(s).rows.length-1,0);return Ta(s,Math.min(t[0].row,l),t[0].column)}),El,f,xa,ua),qa=Ol(((e,t,o,n)=>{const r=la(t),s=E(r,(e=>e.column)),l=Zl(e,s,!0,o,n.replaceOrInit);return Ta(l,t[0].row,t[0].column)}),Nl,f,f,Ma),Ua=Ol(((e,t,o,n)=>{const r=la(t),s=E(r,(e=>e.column)),l=Zl(e,s,!1,o,n.replaceOrInit);return Ta(l,t[0].row,t[0].column)}),Nl,f,f,ja),Ga=Ol(Da,Nl,f,f,Ma),Ka=Ol(Oa,Nl,f,f,ja),Ya=Ol(ka,Nl,f,f,ja),Ja=Ol(((e,t,o,n)=>{const r=ea(e,t,o,n.replaceOrInit);return Ta(r,t[0].row,t[0].column)}),Nl,f,f,Ma),Qa=Ol(((e,t,o,n)=>{const r=ea(e,t,o,n.replaceOrInit);return Ta(r,t[0].row,t[0].column)}),Nl,f,f,ja),Xa=Ol(((e,t,o,n)=>{const r=t.cells;va(r);const s=((e,t,o,n)=>{const r=$o(e).rows;if(0===r.length)return e;for(let e=t.startRow;e<=t.finishRow;e++)for(let o=t.startCol;o<=t.finishCol;o++){const t=r[e],s=Io(t,o).isLocked;jo(t,o,et(n(),!1,s))}return e})(e,t.bounds,0,n.merge(r));return Ca(s,C.from(r[0]))}),((e,t)=>((e,t)=>t.mergable)(0,t).filter((t=>Bl(e,t.cells)))),Na,f,ga),Za=Ol(((e,t,o,n)=>{const r=z(t,((e,t)=>_l(e,t,o,n.unmerge(t))),e);return Ca(r,C.from(t[0]))}),((e,t)=>((e,t)=>t.unmergable)(0,t).filter((t=>Bl(e,t)))),Na,f,ga),ec=Ol(((e,t,o,n)=>{const r=((e,t)=>{const o=Qo(e);return Tl(o,t,!0)})(t.clipboard,t.generators);var s,l;return((e,t,o,n,r)=>{const s=Go(t),l=((e,t,o)=>{const n=Ho(t[0]),r=$o(t).cols.length+e.row,s=k(n-e.column,(t=>t+e.column));return{row:r,column:L(s,(e=>P(o,(t=>t!==e)))).getOr(n-1)}})(e,t,s),a=$o(o).rows,c=$l(l,a,s),i=((e,t,o)=>{if(e.row>=t.length||e.column>Ho(t[0]))return Ll.error("invalid start address out of table bounds, row: "+e.row+", column: "+e.column);const n=t.slice(e.row),r=n[0].cells.slice(e.column),s=Ho(o[0]),l=o.length;return Ll.value({rowDelta:n.length-l,colDelta:r.length-s})})(l,t,a);return i.map((e=>{const o={...e,colDelta:e.colDelta-c.length},s=Fl(t,o,n),i=Go(s),m=$l(l,a,i);return((e,t,o,n,r,s)=>{const l=e.row,a=e.column,c=l+o.length,i=a+Ho(o[0])+s.length,m=I(s,x);for(let e=l;eCa(e,C.some(t.element))),(e=>Ta(e,t.row,t.column)))}),((e,t)=>$t(t.element).bind((o=>Rl(e,o).map((e=>({...e,generators:t.generators,clipboard:t.clipboard})))))),Na,f,ua),tc=Ol(((e,t,o,n)=>{const r=$o(e).rows,s=t.cells[0].column,l=r[t.cells[0].row],a=Ea(t.clipboard,t.generators,l),c=Vl(s,e,a,t.generators,o);return Ta(c,t.cells[0].row,t.cells[0].column)}),Wa(!0),f,f,ua),oc=Ol(((e,t,o,n)=>{const r=$o(e).rows,s=t.cells[t.cells.length-1].column+t.cells[t.cells.length-1].colspan,l=r[t.cells[0].row],a=Ea(t.clipboard,t.generators,l),c=Vl(s,e,a,t.generators,o);return Ta(c,t.cells[0].row,s)}),Wa(!1),f,f,ua),nc=Ol(((e,t,o,n)=>{const r=$o(e).rows,s=t.cells[0].row,l=r[s],a=Ea(t.clipboard,t.generators,l),c=ql(s,e,a,t.generators,o);return Ta(c,t.cells[0].row,t.cells[0].column)}),kl,f,f,ua),rc=Ol(((e,t,o,n)=>{const r=$o(e).rows,s=t.cells[t.cells.length-1].row+t.cells[t.cells.length-1].rowspan,l=r[t.cells[0].row],a=Ea(t.clipboard,t.generators,l),c=ql(s,e,a,t.generators,o);return Ta(c,s,t.cells[0].column)}),kl,f,f,ua),sc=(e,t)=>{const o=Qo(e);return El(o,t).bind((e=>{const t=e[e.length-1],n=e[0].column,r=t.column+t.colspan,s=M(E(o.all,(e=>_(e.cells,(e=>e.column>=n&&e.column{const o=Qo(e);return El(o,t).bind(cl).getOr("")},ac=(e,t)=>{const o=Qo(e);return El(o,t).bind((e=>{const t=e[e.length-1],n=e[0].row,r=t.row+t.rowspan;return(e=>{const t=E(e,(e=>al(e).type)),o=D(t,"header"),n=D(t,"footer");if(o||n){const e=D(t,"body");return!o||e||n?o||e||!n?C.none():C.some("footer"):C.some("header")}return C.some("body")})(o.all.slice(n,r))})).getOr("")},cc=(e,t)=>e.dispatch("NewRow",{node:t}),ic=(e,t)=>e.dispatch("NewCell",{node:t}),mc=(e,t,o)=>{e.dispatch("TableModified",{...o,table:t})},dc={structure:!1,style:!0},uc={structure:!0,style:!1},fc={structure:!0,style:!0},gc=(e,t)=>Fr(e)?dr(t):Hr(e)?mr(t):ir(t),hc=(e,t,o)=>{const n=e=>"table"===ne(Xr(e)),r=Lr(e),s=Pr(e)?f:Ys,l=t=>{switch(Wr(e)){case"section":return gl();case"sectionCells":return hl();case"cells":return pl();default:return((e,t)=>{var o;switch((o=Qo(e),V(o.all,(e=>{const t=al(e);return"header"===t.type?C.from(t.subType):C.none()}))).getOr(t)){case"section":return dl();case"sectionCells":return ul();case"cells":return fl()}})(t,"section")}},a=(n,s,a,c)=>(i,m,d=!1)=>{es(i);const u=xe.fromDom(e.getDoc()),f=Nr(a,u,r),g={sizing:gc(e,i),resize:Pr(e)?tl():ol(),section:l(i)};return s(i)?n(i,m,f,g).bind((n=>{t.refresh(i.dom),N(n.newRows,(t=>{cc(e,t.dom)})),N(n.newCells,(t=>{ic(e,t.dom)}));const r=((t,n)=>n.cursor.fold((()=>{const n=Vt(t);return H(n).filter(st).map((n=>{o.clearSelectedCells(t.dom);const r=e.dom.createRng();return r.selectNode(n.dom),e.selection.setRng(r),ge(n,"data-mce-selected","1"),r}))}),(n=>{const r=Gs(Ks,n),s=e.dom.createRng();return s.setStart(r.element.dom,r.offset),s.setEnd(r.element.dom,r.offset),e.selection.setRng(s),o.clearSelectedCells(t.dom),C.some(s)})))(i,n);return st(i)&&(es(i),d||mc(e,i.dom,c)),r.map((e=>({rng:e,effect:c})))})):C.none()},c=a(Va,(t=>!n(e)||nl(t).rows>1),f,uc),i=a($a,(t=>!n(e)||nl(t).columns>1),f,uc);return{deleteRow:c,deleteColumn:i,insertRowsBefore:a(Pa,x,f,uc),insertRowsAfter:a(Ia,x,f,uc),insertColumnsBefore:a(Fa,x,s,uc),insertColumnsAfter:a(Ha,x,s,uc),mergeCells:a(Xa,x,f,uc),unmergeCells:a(Za,x,f,uc),pasteColsBefore:a(tc,x,f,uc),pasteColsAfter:a(oc,x,f,uc),pasteRowsBefore:a(nc,x,f,uc),pasteRowsAfter:a(rc,x,f,uc),pasteCells:a(ec,x,f,fc),makeCellsHeader:a(Ja,x,f,uc),unmakeCellsHeader:a(Qa,x,f,uc),makeColumnsHeader:a(qa,x,f,uc),unmakeColumnsHeader:a(Ua,x,f,uc),makeRowsHeader:a(Ga,x,f,uc),makeRowsBody:a(Ka,x,f,uc),makeRowsFooter:a(Ya,x,f,uc),getTableRowType:ac,getTableCellType:lc,getTableColType:sc}},pc=(e,t,o)=>{const n=Lt(e,t,1);1===o||n<=1?we(e,t):ge(e,t,Math.min(o,n))},bc=(e,t)=>o=>{const n=o.column+o.colspan-1,r=o.column;return n>=e&&r{const n=o.substring(0,o.length-e.length),r=parseFloat(n);return n===r.toString()?t(r):wc.invalid(o)},yc={...wc,from:e=>St(e,"%")?vc("%",wc.percent,e):St(e,"px")?vc("px",wc.pixels,e):wc.invalid(e)},xc=(e,t,o)=>{const n=yc.from(o),r=P(e,(e=>"0px"===e))?((e,t)=>{const o=e.fold((()=>g("")),(e=>g(e/t+"px")),(()=>g(100/t+"%")));return k(t,o)})(n,e.length):((e,t,o)=>e.fold((()=>t),(e=>((e,t,o)=>{const n=o/t;return E(e,(e=>yc.from(e).fold((()=>e),(e=>e*n+"px"),(e=>e/100*o+"px"))))})(t,o,e)),(e=>((e,t)=>E(e,(e=>yc.from(e).fold((()=>e),(e=>e/t*100+"%"),(e=>e+"%")))))(t,o))))(n,e,t);return Sc(r)},Cc=(e,t)=>0===e.length?t:z(e,((e,t)=>yc.from(t).fold(g(0),h,h)+e),0),Tc=(e,t)=>yc.from(e).fold(g(e),(e=>e+t+"px"),(e=>e+t+"%")),Sc=e=>{if(0===e.length)return e;const t=z(e,((e,t)=>{const o=yc.from(t).fold((()=>({value:t,remainder:0})),(e=>((e,t)=>{const o=Math.floor(e);return{value:o+"px",remainder:e-o}})(e)),(e=>({value:e+"%",remainder:0})));return{output:[o.value].concat(e.output),remainder:e.remainder+o.remainder}}),{output:[],remainder:0}),o=t.output;return o.slice(0,o.length-1).concat([Tc(o[o.length-1],Math.round(t.remainder))])},Rc=yc.from,Dc=(e,t,o)=>{const n=Qo(e),r=n.all,s=on(n),l=nn(n);t.each((t=>{const o=Rc(t).fold(g("px"),g("px"),g("%")),r=zo(e),a=((e,t)=>or(e,t,Zn,nr))(n,e),c=xc(a,r,t);rn(n)?((e,t,o)=>{N(t,((t,n)=>{const r=Cc([e[n]],Pt());Et(t.element,"width",r+o)}))})(c,l,o):((e,t,o)=>{N(t,(t=>{const n=e.slice(t.column,t.colspan+t.column),r=Cc(n,Pt());Et(t.element,"width",r+o)}))})(c,s,o),Et(e,"width",t)})),o.each((t=>{const o=fn(e),l=((e,t)=>sr(e,t,er,nr))(n,e);((e,t,o)=>{N(o,(e=>{At(e.element,"height")})),N(t,((t,o)=>{Et(t.element,"height",e[o])}))})(xc(l,o,t),r,s),Et(e,"height",t)}))},Oc=e=>qn(e).exists((e=>Ln.test(e))),kc=e=>qn(e).exists((e=>Wn.test(e))),Ec=e=>qn(e).isNone(),Nc=e=>{we(e,"width"),we(e,"height")},Bc=e=>{const t=Jn(e);Dc(e,C.some(t),C.none()),Nc(e)},_c=e=>{const t=(e=>zo(e)+"px")(e);Dc(e,C.some(t),C.none()),Nc(e)},zc=e=>{At(e,"width");const t=qt(e),o=t.length>0?t:Vt(e);N(o,(e=>{At(e,"width"),Nc(e)})),Nc(e)},Ac={styles:{"border-collapse":"collapse",width:"100%"},attributes:{border:"1"},colGroups:!1},Lc=(e,t,o,n)=>k(e,(e=>((e,t,o,n)=>{const r=xe.fromTag("tr");for(let s=0;s{e.selection.select(t.dom,!0),e.selection.collapse(!0)},Mc=(e,t,o,n,s)=>{const l=(e=>{const t=e.options,o=t.get("table_default_styles");return t.isSet("table_default_styles")?o:((e,t)=>$r(e)||!qr(e)?t:Hr(e)?{...t,width:Ar(e)}:{...t,width:zr})(e,o)})(e),a={styles:l,attributes:Gr(e),colGroups:Kr(e)};return e.undoManager.ignore((()=>{const r=((e,t,o,n,r,s=Ac)=>{const l=xe.fromTag("table"),a="cells"!==r;Nt(l,s.styles),he(l,s.attributes),s.colGroups&&Ie(l,(e=>{const t=xe.fromTag("colgroup");return k(e,(()=>Ie(t,xe.fromTag("col")))),t})(t));const c=Math.min(e,o);if(a&&o>0){const e=xe.fromTag("thead");Ie(l,e);const s=Lc(o,t,"sectionCells"===r?c:0,n);$e(e,s)}const i=xe.fromTag("tbody");Ie(l,i);const m=Lc(a?e-c:e,t,a?0:o,n);return $e(i,m),l})(o,t,s,n,Wr(e),a);ge(r,"data-mce-id","__mce");const l=(e=>{const t=xe.fromTag("div"),o=xe.fromDom(e.dom.cloneNode(!0));return Ie(t,o),(e=>e.dom.innerHTML)(t)})(r);e.insertContent(l),e.addVisual()})),pt(Xr(e),'table[data-mce-id="__mce"]').map((t=>(Hr(e)?_c(t):$r(e)?zc(t):(Fr(e)||(e=>r(e)&&-1!==e.indexOf("%"))(l.width))&&Bc(t),es(t),we(t,"data-mce-id"),((e,t)=>{N(mt(t,"tr"),(t=>{cc(e,t.dom),N(mt(t,"th,td"),(t=>{ic(e,t.dom)}))}))})(e,t),((e,t)=>{pt(t,"td,th").each(b(Wc,e))})(e,t),t.dom))).getOrNull()};var jc=tinymce.util.Tools.resolve("tinymce.FakeClipboard");const Pc="x-tinymce/dom-table-",Ic=Pc+"rows",Fc=Pc+"columns",Hc=e=>{const t=jc.FakeClipboardItem(e);jc.write([t])},$c=e=>{var t;const o=null!==(t=jc.read())&&void 0!==t?t:[];return V(o,(t=>C.from(t.getType(e))))},Vc=e=>{$c(e).isSome()&&jc.clear()},qc=e=>{e.fold(Gc,(e=>Hc({[Ic]:e})))},Uc=()=>$c(Ic),Gc=()=>Vc(Ic),Kc=e=>{e.fold(Jc,(e=>Hc({[Fc]:e})))},Yc=()=>$c(Fc),Jc=()=>Vc(Fc),Qc=e=>Ps(ts(e),Zr(e)).filter(as),Xc=(e,t)=>{const o=Zr(e),n=e=>Ut(e,o),l=t=>(e=>Is(ts(e),Zr(e)).filter(as))(e).bind((e=>n(e).map((o=>t(o,e))))),a=t=>{e.focus()},c=(t,o=!1)=>l(((n,r)=>{const s=Ms(Fs(e),n,r);t(n,s,o).each(a)})),i=()=>l(((t,o)=>((e,t,o)=>{const n=Qo(e);return El(n,t).bind((e=>{const t=Tl(n,o,!1),r=$o(t).rows.slice(e[0].row,e[e.length-1].row+e[e.length-1].rowspan),s=j(r,(e=>{const t=_(e.cells,(e=>!e.isLocked));return t.length>0?[{...e,cells:t}]:[]})),l=Sl(s);return yt(l.length>0,l)})).map((e=>E(e,(e=>{const t=Ke(e.element);return N(e.cells,(e=>{const o=Ye(e.element);wl(o,"colspan",e.colspan,1),wl(o,"rowspan",e.rowspan,1),Ie(t,o)})),t}))))})(t,Ms(Fs(e),t,o),Nr(f,xe.fromDom(e.getDoc()),C.none())))),m=()=>l(((t,o)=>((e,t)=>{const o=Qo(e);return Nl(o,t).map((e=>{const t=e[e.length-1],n=e[0].column,r=t.column+t.colspan,s=((e,t,o)=>{if(rn(e)){const n=_(nn(e),bc(t,o)),r=E(n,(e=>{const n=Ye(e.element);return pc(n,"span",o-t),n})),s=xe.fromTag("colgroup");return $e(s,r),[s]}return[]})(o,n,r),l=((e,t,o)=>E(e.all,(e=>{const n=_(e.cells,bc(t,o)),r=E(n,(e=>{const n=Ye(e.element);return pc(n,"colspan",o-t),n})),s=xe.fromTag("tr");return $e(s,r),s})))(o,n,r);return[...s,...l]}))})(t,Ms(Fs(e),t,o)))),d=(t,o)=>o().each((o=>{const n=E(o,(e=>Ye(e)));l(((o,r)=>{const s=Br(xe.fromDom(e.getDoc())),l=((e,t,o,n)=>({selection:Es(e),clipboard:o,generators:n}))(Fs(e),0,n,s);t(o,l).each(a)}))})),g=e=>(t,o)=>((e,t)=>X(e,t)?C.from(e[t]):C.none())(o,"type").each((t=>{c(e(t),o.no_events)}));G({mceTableSplitCells:()=>c(t.unmergeCells),mceTableMergeCells:()=>c(t.mergeCells),mceTableInsertRowBefore:()=>c(t.insertRowsBefore),mceTableInsertRowAfter:()=>c(t.insertRowsAfter),mceTableInsertColBefore:()=>c(t.insertColumnsBefore),mceTableInsertColAfter:()=>c(t.insertColumnsAfter),mceTableDeleteCol:()=>c(t.deleteColumn),mceTableDeleteRow:()=>c(t.deleteRow),mceTableCutCol:()=>m().each((e=>{Kc(e),c(t.deleteColumn)})),mceTableCutRow:()=>i().each((e=>{qc(e),c(t.deleteRow)})),mceTableCopyCol:()=>m().each((e=>Kc(e))),mceTableCopyRow:()=>i().each((e=>qc(e))),mceTablePasteColBefore:()=>d(t.pasteColsBefore,Yc),mceTablePasteColAfter:()=>d(t.pasteColsAfter,Yc),mceTablePasteRowBefore:()=>d(t.pasteRowsBefore,Uc),mceTablePasteRowAfter:()=>d(t.pasteRowsAfter,Uc),mceTableDelete:()=>Qc(e).each((t=>{Ut(t,o).filter(w(o)).each((t=>{const o=xe.fromText("");if(je(t,o),qe(t),e.dom.isEmpty(e.getBody()))e.setContent(""),e.selection.setCursorLocation();else{const t=e.dom.createRng();t.setStart(o.dom,0),t.setEnd(o.dom,0),e.selection.setRng(t),e.nodeChanged()}}))})),mceTableCellToggleClass:(t,o)=>{l((t=>{const n=Fs(e),r=P(n,(t=>e.formatter.match("tablecellclass",{value:o},t.dom))),s=r?e.formatter.remove:e.formatter.apply;N(n,(e=>s("tablecellclass",{value:o},e.dom))),mc(e,t.dom,dc)}))},mceTableToggleClass:(t,o)=>{l((t=>{e.formatter.toggle("tableclass",{value:o},t.dom),mc(e,t.dom,dc)}))},mceTableToggleCaption:()=>{Qc(e).each((t=>{Ut(t,o).each((o=>{ht(o,"caption").fold((()=>{const t=xe.fromTag("caption");Ie(t,xe.fromText("Caption")),((e,t,o)=>{We(e,0).fold((()=>{Ie(e,t)}),(e=>{Me(e,t)}))})(o,t),e.selection.setCursorLocation(t.dom,0)}),(n=>{ue("caption")(t)&&Se("td",o).each((t=>e.selection.setCursorLocation(t.dom,0))),qe(n)})),mc(e,o.dom,uc)}))}))},mceTableSizingMode:(t,n)=>(t=>Qc(e).each((n=>{$r(e)||Hr(e)||Fr(e)||Ut(n,o).each((o=>{"relative"!==t||Oc(o)?"fixed"!==t||kc(o)?"responsive"!==t||Ec(o)||zc(o):_c(o):Bc(o),es(o),mc(e,o.dom,uc)}))})))(n),mceTableCellType:g((e=>"th"===e?t.makeCellsHeader:t.unmakeCellsHeader)),mceTableColType:g((e=>"th"===e?t.makeColumnsHeader:t.unmakeColumnsHeader)),mceTableRowType:g((e=>{switch(e){case"header":return t.makeRowsHeader;case"footer":return t.makeRowsFooter;default:return t.makeRowsBody}}))},((t,o)=>e.addCommand(o,t))),e.addCommand("mceInsertTable",((t,o)=>{((e,t,o,n={})=>{const r=e=>u(e)&&e>0;if(r(t)&&r(o)){const r=n.headerRows||0,s=n.headerColumns||0;return Mc(e,o,t,s,r)}console.error("Invalid values for mceInsertTable - rows and columns values are required to insert a table.")})(e,o.rows,o.columns,o.options)})),e.addCommand("mceTableApplyCellStyle",((t,o)=>{const l=e=>"tablecell"+e.toLowerCase().replace("-","");if(!s(o))return;const a=_(Fs(e),as);if(0===a.length)return;const c=((e,t)=>{const o={};return((e,t,o,n)=>{G(e,((e,r)=>{(t(e,r)?o:n)(e,r)}))})(e,t,(e=>(t,o)=>{e[o]=t})(o),f),o})(o,((t,o)=>e.formatter.has(l(o))&&r(t)));(e=>{for(const t in e)if(U.call(e,t))return!1;return!0})(c)||(G(c,((t,o)=>{const n=l(o);N(a,(o=>{""===t?e.formatter.remove(n,{value:null},o.dom,!0):e.formatter.apply(n,{value:t},o.dom)}))})),n(a[0]).each((t=>mc(e,t.dom,dc))))}))},Zc=ta([{before:["element"]},{on:["element","offset"]},{after:["element"]}]),ei={before:Zc.before,on:Zc.on,after:Zc.after,cata:(e,t,o,n)=>e.fold(t,o,n),getStart:e=>e.fold(h,h,h)},ti=(e,t)=>({selection:e,kill:t}),oi=(e,t)=>{const o=e.document.createRange();return o.selectNode(t.dom),o},ni=(e,t)=>{const o=e.document.createRange();return ri(o,t),o},ri=(e,t)=>e.selectNodeContents(t.dom),si=(e,t,o)=>{const n=e.document.createRange();var r;return r=n,t.fold((e=>{r.setStartBefore(e.dom)}),((e,t)=>{r.setStart(e.dom,t)}),(e=>{r.setStartAfter(e.dom)})),((e,t)=>{t.fold((t=>{e.setEndBefore(t.dom)}),((t,o)=>{e.setEnd(t.dom,o)}),(t=>{e.setEndAfter(t.dom)}))})(n,o),n},li=(e,t,o,n,r)=>{const s=e.document.createRange();return s.setStart(t.dom,o),s.setEnd(n.dom,r),s},ai=e=>({left:e.left,top:e.top,right:e.right,bottom:e.bottom,width:e.width,height:e.height}),ci=ta([{ltr:["start","soffset","finish","foffset"]},{rtl:["start","soffset","finish","foffset"]}]),ii=(e,t,o)=>t(xe.fromDom(o.startContainer),o.startOffset,xe.fromDom(o.endContainer),o.endOffset),mi=(e,t)=>{const o=((e,t)=>t.match({domRange:e=>({ltr:g(e),rtl:C.none}),relative:(t,o)=>({ltr:Xt((()=>si(e,t,o))),rtl:Xt((()=>C.some(si(e,o,t))))}),exact:(t,o,n,r)=>({ltr:Xt((()=>li(e,t,o,n,r))),rtl:Xt((()=>C.some(li(e,n,r,t,o))))})}))(e,t);return((e,t)=>{const o=t.ltr();return o.collapsed?t.rtl().filter((e=>!1===e.collapsed)).map((e=>ci.rtl(xe.fromDom(e.endContainer),e.endOffset,xe.fromDom(e.startContainer),e.startOffset))).getOrThunk((()=>ii(0,ci.ltr,o))):ii(0,ci.ltr,o)})(0,o)},di=(e,t)=>mi(e,t).match({ltr:(t,o,n,r)=>{const s=e.document.createRange();return s.setStart(t.dom,o),s.setEnd(n.dom,r),s},rtl:(t,o,n,r)=>{const s=e.document.createRange();return s.setStart(n.dom,r),s.setEnd(t.dom,o),s}});ci.ltr,ci.rtl;const ui=(e,t,o,n)=>({start:e,soffset:t,finish:o,foffset:n}),fi=(e,t,o,n)=>({start:ei.on(e,t),finish:ei.on(o,n)}),gi=(e,t)=>{const o=di(e,t);return ui(xe.fromDom(o.startContainer),o.startOffset,xe.fromDom(o.endContainer),o.endOffset)},hi=fi,pi=(e,t,o,n,r)=>Re(o,n)?C.none():Ts(o,n,t).bind((t=>{const n=t.boxes.getOr([]);return n.length>1?(r(e,n,t.start,t.finish),C.some(ti(C.some(hi(o,0,o,br(o))),!0))):C.none()})),bi=(e,t)=>({item:e,mode:t}),wi=(e,t,o,n=vi)=>e.property().parent(t).map((e=>bi(e,n))),vi=(e,t,o,n=yi)=>o.sibling(e,t).map((e=>bi(e,n))),yi=(e,t,o,n=yi)=>{const r=e.property().children(t);return o.first(r).map((e=>bi(e,n)))},xi=[{current:wi,next:vi,fallback:C.none()},{current:vi,next:yi,fallback:C.some(wi)},{current:yi,next:yi,fallback:C.some(vi)}],Ci=(e,t,o,n,r=xi)=>L(r,(e=>e.current===o)).bind((o=>o.current(e,t,n,o.next).orThunk((()=>o.fallback.bind((o=>Ci(e,t,o,n))))))),Ti=(e,t,o,n,r,s)=>Ci(e,t,n,r).bind((t=>s(t.item)?C.none():o(t.item)?C.some(t.item):Ti(e,t.item,o,t.mode,r,s))),Si=e=>t=>0===e.property().children(t).length,Ri=(e,t,o,n)=>Ti(e,t,o,vi,{sibling:(e,t)=>e.query().prevSibling(t),first:e=>e.length>0?C.some(e[e.length-1]):C.none()},n),Di=(e,t,o,n)=>Ti(e,t,o,vi,{sibling:(e,t)=>e.query().nextSibling(t),first:e=>e.length>0?C.some(e[0]):C.none()},n),Oi=bs(),ki=(e,t)=>((e,t,o)=>Ri(e,t,Si(e),o))(Oi,e,t),Ei=(e,t)=>((e,t,o)=>Di(e,t,Si(e),o))(Oi,e,t),Ni=ta([{none:["message"]},{success:[]},{failedUp:["cell"]},{failedDown:["cell"]}]),Bi=e=>bt(e,"tr"),_i={...Ni,verify:(e,t,o,n,r,s,l)=>bt(n,"td,th",l).bind((o=>bt(t,"td,th",l).map((t=>Re(o,t)?Re(n,o)&&br(o)===r?s(t):Ni.none("in same cell"):xs(Bi,[o,t]).fold((()=>((e,t,o)=>{const n=e.getRect(t),r=e.getRect(o);return r.right>n.left&&r.lefts(t))))))).getOr(Ni.none("default")),cata:(e,t,o,n,r)=>e.fold(t,o,n,r)},zi=ue("br"),Ai=(e,t,o)=>t(e,o).bind((e=>ie(e)&&0===gr(e).trim().length?Ai(e,t,o):C.some(e))),Li=(e,t,o,n)=>((e,t)=>We(e,t).filter(zi).orThunk((()=>We(e,t-1).filter(zi))))(t,o).bind((t=>n.traverse(t).fold((()=>Ai(t,n.gather,e).map(n.relative)),(e=>(e=>Ne(e).bind((t=>{const o=Le(t);return((e,t)=>W(e,b(Re,t)))(o,e).map((n=>((e,t,o,n)=>({parent:e,children:t,element:o,index:n}))(t,o,e,n)))})))(e).map((e=>ei.on(e.parent,e.index))))))),Wi=(e,t)=>({left:e.left,top:e.top+t,right:e.right,bottom:e.bottom+t}),Mi=(e,t)=>({left:e.left,top:e.top-t,right:e.right,bottom:e.bottom-t}),ji=(e,t,o)=>({left:e.left+t,top:e.top+o,right:e.right+t,bottom:e.bottom+o}),Pi=e=>({left:e.left,top:e.top,right:e.right,bottom:e.bottom}),Ii=(e,t)=>C.some(e.getRect(t)),Fi=(e,t,o)=>ce(t)?Ii(e,t).map(Pi):ie(t)?((e,t,o)=>o>=0&&o0?e.getRangedRect(t,o-1,t,o):C.none())(e,t,o).map(Pi):C.none(),Hi=(e,t)=>ce(t)?Ii(e,t).map(Pi):ie(t)?e.getRangedRect(t,0,t,br(t)).map(Pi):C.none(),$i=ta([{none:[]},{retry:["caret"]}]),Vi=(e,t,o)=>ft(t,ba).fold(y,(t=>Hi(e,t).exists((e=>((e,t)=>e.leftt.right)(o,e))))),qi={point:e=>e.bottom,adjuster:(e,t,o,n,r)=>{const s=Wi(r,5);return Math.abs(o.bottom-n.bottom)<1||o.top>r.bottom?$i.retry(s):o.top===r.bottom?$i.retry(Wi(r,1)):Vi(e,t,r)?$i.retry(ji(s,5,0)):$i.none()},move:Wi,gather:Ei},Ui=(e,t,o,n,r)=>0===r?C.some(n):((e,t,o)=>e.elementFromPoint(t,o).filter((e=>"table"===ne(e))).isSome())(e,n.left,t.point(n))?((e,t,o,n,r)=>Ui(e,t,o,t.move(n,5),r))(e,t,o,n,r-1):e.situsFromPoint(n.left,t.point(n)).bind((s=>s.start.fold(C.none,(s=>Hi(e,s).bind((l=>t.adjuster(e,s,l,o,n).fold(C.none,(n=>Ui(e,t,o,n,r-1))))).orThunk((()=>C.some(n)))),C.none))),Gi=(e,t,o)=>{const n=e.move(o,5),r=Ui(t,e,o,n,100).getOr(n);return((e,t,o)=>e.point(t)>o.getInnerHeight()?C.some(e.point(t)-o.getInnerHeight()):e.point(t)<0?C.some(-e.point(t)):C.none())(e,r,t).fold((()=>t.situsFromPoint(r.left,e.point(r))),(o=>(t.scrollBy(0,o),t.situsFromPoint(r.left,e.point(r)-o))))},Ki={tryUp:b(Gi,{point:e=>e.top,adjuster:(e,t,o,n,r)=>{const s=Mi(r,5);return Math.abs(o.top-n.top)<1||o.bottome.getSelection().bind((n=>((e,t,o,n)=>{const r=zi(t)?((e,t,o)=>o.traverse(t).orThunk((()=>Ai(t,o.gather,e))).map(o.relative))(e,t,n):Li(e,t,o,n);return r.map((e=>({start:e,finish:e})))})(t,n.finish,n.foffset,o).fold((()=>C.some($s(n.finish,n.foffset))),(r=>{const s=e.fromSitus(r);return l=_i.verify(e,n.finish,n.foffset,s.finish,s.foffset,o.failure,t),_i.cata(l,(e=>C.none()),(()=>C.none()),(e=>C.some($s(e,0))),(e=>C.some($s(e,br(e)))));var l})))),Ji=(e,t,o,n,r,s)=>0===s?C.none():Zi(e,t,o,n,r).bind((l=>{const a=e.fromSitus(l),c=_i.verify(e,o,n,a.finish,a.foffset,r.failure,t);return _i.cata(c,(()=>C.none()),(()=>C.some(l)),(l=>Re(o,l)&&0===n?Qi(e,o,n,Mi,r):Ji(e,t,l,0,r,s-1)),(l=>Re(o,l)&&n===br(l)?Qi(e,o,n,Wi,r):Ji(e,t,l,br(l),r,s-1)))})),Qi=(e,t,o,n,r)=>Fi(e,t,o).bind((t=>Xi(e,r,n(t,Ki.getJumpSize())))),Xi=(e,t,o)=>{const n=Eo().browser;return n.isChromium()||n.isSafari()||n.isFirefox()?t.retry(e,o):C.none()},Zi=(e,t,o,n,r)=>Fi(e,o,n).bind((t=>Xi(e,r,t))),em=(e,t,o,n,r)=>bt(n,"td,th",t).bind((n=>bt(n,"table",t).bind((s=>((e,t)=>ut(e,(e=>Ne(e).exists((e=>Re(e,t)))),void 0).isSome())(r,s)?((e,t,o)=>Yi(e,t,o).bind((n=>Ji(e,t,n.element,n.offset,o,20).map(e.fromSitus))))(e,t,o).bind((e=>bt(e.finish,"td,th",t).map((t=>({start:n,finish:t,range:e}))))):C.none())))),tm=(e,t,o,n,r,s)=>s(n,t).orThunk((()=>em(e,t,o,n,r).map((e=>{const t=e.range;return ti(C.some(hi(t.start,t.soffset,t.finish,t.foffset)),!0)})))),om=(e,t)=>bt(e,"tr",t).bind((e=>bt(e,"table",t).bind((o=>{const n=mt(o,"tr");return Re(e,n[0])?((e,t,o)=>Ri(Oi,e,(e=>xr(e).isSome()),o))(o,0,t).map((e=>{const t=br(e);return ti(C.some(hi(e,t,e,t)),!0)})):C.none()})))),nm=(e,t)=>bt(e,"tr",t).bind((e=>bt(e,"table",t).bind((o=>{const n=mt(o,"tr");return Re(e,n[n.length-1])?((e,t,o)=>Di(Oi,e,(e=>yr(e).isSome()),o))(o,0,t).map((e=>ti(C.some(hi(e,0,e,0)),!0))):C.none()})))),rm=(e,t,o,n,r,s,l)=>em(e,o,n,r,s).bind((e=>pi(t,o,e.start,e.finish,l))),sm=e=>{let t=e;return{get:()=>t,set:e=>{t=e}}},lm=()=>{const e=(e=>{const t=sm(C.none()),o=()=>t.get().each(e);return{clear:()=>{o(),t.set(C.none())},isSet:()=>t.get().isSome(),get:()=>t.get(),set:e=>{o(),t.set(C.some(e))}}})(f);return{...e,on:t=>e.get().each(t)}},am=(e,t)=>bt(e,"td,th",t),cm=e=>Be(e).exists(Jr),im={traverse:Ae,gather:Ei,relative:ei.before,retry:Ki.tryDown,failure:_i.failedDown},mm={traverse:ze,gather:ki,relative:ei.before,retry:Ki.tryUp,failure:_i.failedUp},dm=e=>t=>t===e,um=dm(38),fm=dm(40),gm=e=>e>=37&&e<=40,hm={isBackward:dm(37),isForward:dm(39)},pm={isBackward:dm(39),isForward:dm(37)},bm=ta([{domRange:["rng"]},{relative:["startSitu","finishSitu"]},{exact:["start","soffset","finish","foffset"]}]),wm={domRange:bm.domRange,relative:bm.relative,exact:bm.exact,exactFromRange:e=>bm.exact(e.start,e.soffset,e.finish,e.foffset),getWin:e=>{const t=(e=>e.match({domRange:e=>xe.fromDom(e.startContainer),relative:(e,t)=>ei.getStart(e),exact:(e,t,o,n)=>e}))(e);return xe.fromDom(Ee(t).dom.defaultView)},range:ui},vm=(e,t)=>{const o=ne(e);return"input"===o?ei.after(e):D(["br","img"],o)?0===t?ei.before(e):ei.after(e):ei.on(e,t)},ym=e=>C.from(e.getSelection()),xm=(e,t)=>{ym(e).each((e=>{e.removeAllRanges(),e.addRange(t)}))},Cm=(e,t,o,n,r)=>{const s=li(e,t,o,n,r);xm(e,s)},Tm=(e,t)=>mi(e,t).match({ltr:(t,o,n,r)=>{Cm(e,t,o,n,r)},rtl:(t,o,n,r)=>{ym(e).each((s=>{if(s.setBaseAndExtent)s.setBaseAndExtent(t.dom,o,n.dom,r);else if(s.extend)try{((e,t,o,n,r,s)=>{t.collapse(o.dom,n),t.extend(r.dom,s)})(0,s,t,o,n,r)}catch(s){Cm(e,n,r,t,o)}else Cm(e,n,r,t,o)}))}}),Sm=(e,t,o,n,r)=>{const s=((e,t,o,n)=>{const r=vm(e,t),s=vm(o,n);return wm.relative(r,s)})(t,o,n,r);Tm(e,s)},Rm=(e,t,o)=>{const n=((e,t)=>{const o=e.fold(ei.before,vm,ei.after),n=t.fold(ei.before,vm,ei.after);return wm.relative(o,n)})(t,o);Tm(e,n)},Dm=e=>{if(e.rangeCount>0){const t=e.getRangeAt(0),o=e.getRangeAt(e.rangeCount-1);return C.some(ui(xe.fromDom(t.startContainer),t.startOffset,xe.fromDom(o.endContainer),o.endOffset))}return C.none()},Om=e=>{if(null===e.anchorNode||null===e.focusNode)return Dm(e);{const t=xe.fromDom(e.anchorNode),o=xe.fromDom(e.focusNode);return((e,t,o,n)=>{const r=((e,t,o,n)=>{const r=ke(e).dom.createRange();return r.setStart(e.dom,t),r.setEnd(o.dom,n),r})(e,t,o,n),s=Re(e,o)&&t===n;return r.collapsed&&!s})(t,e.anchorOffset,o,e.focusOffset)?C.some(ui(t,e.anchorOffset,o,e.focusOffset)):Dm(e)}},km=(e,t,o=!0)=>{const n=(o?ni:oi)(e,t);xm(e,n)},Em=e=>(e=>ym(e).filter((e=>e.rangeCount>0)).bind(Om))(e).map((e=>wm.exact(e.start,e.soffset,e.finish,e.foffset))),Nm=(e,t,o)=>((e,t,o)=>((e,t,o)=>e.caretPositionFromPoint?((e,t,o)=>{var n;return C.from(null===(n=e.caretPositionFromPoint)||void 0===n?void 0:n.call(e,t,o)).bind((t=>{if(null===t.offsetNode)return C.none();const o=e.createRange();return o.setStart(t.offsetNode,t.offset),o.collapse(),C.some(o)}))})(e,t,o):e.caretRangeFromPoint?((e,t,o)=>{var n;return C.from(null===(n=e.caretRangeFromPoint)||void 0===n?void 0:n.call(e,t,o))})(e,t,o):C.none())(e.document,t,o).map((e=>ui(xe.fromDom(e.startContainer),e.startOffset,xe.fromDom(e.endContainer),e.endOffset))))(e,t,o),Bm=e=>({elementFromPoint:(t,o)=>xe.fromPoint(xe.fromDom(e.document),t,o),getRect:e=>e.dom.getBoundingClientRect(),getRangedRect:(t,o,n,r)=>{const s=wm.exact(t,o,n,r);return((e,t)=>(e=>{const t=e.getClientRects(),o=t.length>0?t[0]:e.getBoundingClientRect();return o.width>0||o.height>0?C.some(o).map(ai):C.none()})(di(e,t)))(e,s)},getSelection:()=>Em(e).map((t=>gi(e,t))),fromSitus:t=>{const o=wm.relative(t.start,t.finish);return gi(e,o)},situsFromPoint:(t,o)=>Nm(e,t,o).map((e=>fi(e.start,e.soffset,e.finish,e.foffset))),clearSelection:()=>{(e=>{ym(e).each((e=>e.removeAllRanges()))})(e)},collapseSelection:(t=!1)=>{Em(e).each((o=>o.fold((e=>e.collapse(t)),((o,n)=>{const r=t?o:n;Rm(e,r,r)}),((o,n,r,s)=>{const l=t?o:r,a=t?n:s;Sm(e,l,a,l,a)}))))},setSelection:t=>{Sm(e,t.start,t.soffset,t.finish,t.foffset)},setRelativeSelection:(t,o)=>{Rm(e,t,o)},selectNode:t=>{km(e,t,!1)},selectContents:t=>{km(e,t)},getInnerHeight:()=>e.innerHeight,getScrollY:()=>(e=>{const t=void 0!==e?e.dom:document,o=t.body.scrollLeft||t.documentElement.scrollLeft,n=t.body.scrollTop||t.documentElement.scrollTop;return pn(o,n)})(xe.fromDom(e.document)).top,scrollBy:(t,o)=>{((e,t,o)=>{const n=(void 0!==o?o.dom:document).defaultView;n&&n.scrollBy(e,t)})(t,o,xe.fromDom(e.document))}}),_m=(e,t)=>({rows:e,cols:t}),zm=e=>ft(e,ae).exists(Jr),Am=(e,t)=>zm(e)||zm(t),Lm=e=>void 0!==e.dom.classList,Wm=(e,t)=>((e,t,o)=>{const n=((e,t)=>{const o=pe(e,t);return void 0===o||""===o?[]:o.split(" ")})(e,t).concat([o]);return ge(e,t,n.join(" ")),!0})(e,"class",t),Mm=(e,t)=>{Lm(e)?e.dom.classList.add(t):Wm(e,t)},jm=(e,t)=>Lm(e)&&e.dom.classList.contains(t),Pm=()=>({tag:"none"}),Im=e=>({tag:"multiple",elements:e}),Fm=e=>({tag:"single",element:e}),Hm=e=>{const t=xe.fromDom((e=>{if(m(e.target)){const t=xe.fromDom(e.target);if(ce(t)&&m(t.dom.shadowRoot)&&e.composed&&e.composedPath){const t=e.composedPath();if(t)return H(t)}}return C.from(e.target)})(e).getOr(e.target)),o=()=>e.stopPropagation(),n=()=>e.preventDefault(),r=(s=n,l=o,(...e)=>s(l.apply(null,e)));var s,l;return((e,t,o,n,r,s,l)=>({target:e,x:t,y:o,stop:n,prevent:r,kill:s,raw:l}))(t,e.clientX,e.clientY,o,n,r,e)},$m=(e,t,o,n)=>{e.dom.removeEventListener(t,o,n)},Vm=x,qm=(e,t,o)=>((e,t,o,n)=>((e,t,o,n,r)=>{const s=((e,t)=>o=>{e(o)&&t(Hm(o))})(o,n);return e.dom.addEventListener(t,s,r),{unbind:b($m,e,t,s,r)}})(e,t,o,n,!1))(e,t,Vm,o),Um=Hm,Gm=e=>!jm(xe.fromDom(e.target),"ephox-snooker-resizer-bar"),Km=(e,t)=>{const o=(r=Ws.selectedSelector,{get:()=>Os(xe.fromDom(e.getBody()),r).fold((()=>Is(ts(e),Zr(e)).fold(Pm,Fm)),Im)}),n=((e,t,o)=>{const n=t=>{we(t,e.selected),we(t,e.firstSelected),we(t,e.lastSelected)},r=t=>{ge(t,e.selected,"1")},s=e=>{l(e),o()},l=t=>{const o=mt(t,`${e.selectedSelector},${e.firstSelectedSelector},${e.lastSelectedSelector}`);N(o,n)};return{clearBeforeUpdate:l,clear:s,selectRange:(o,n,l,a)=>{s(o),N(n,r),ge(l,e.firstSelected,"1"),ge(a,e.lastSelected,"1"),t(n,l,a)},selectedSelector:e.selectedSelector,firstSelectedSelector:e.firstSelectedSelector,lastSelectedSelector:e.lastSelectedSelector}})(Ws,((t,o,n)=>{Ut(o).each((r=>{const s=E(t,(e=>e.dom)),l=Lr(e),a=Nr(f,xe.fromDom(e.getDoc()),l),c=((e,t,o)=>{const n=Qo(e);return El(n,t).map((e=>{const t=Tl(n,o,!1),{rows:r}=$o(t),s=((e,t)=>{const o=e.slice(0,t[t.length-1].row+1),n=Sl(o);return j(n,(e=>{const o=e.cells.slice(0,t[t.length-1].column+1);return E(o,(e=>e.element))}))})(r,e),l=((e,t)=>{const o=e.slice(t[0].row+t[0].rowspan-1,e.length),n=Sl(o);return j(n,(e=>{const o=e.cells.slice(t[0].column+t[0].colspan-1,e.cells.length);return E(o,(e=>e.element))}))})(r,e);return{upOrLeftCells:s,downOrRightCells:l}}))})(r,{selection:Fs(e)},a).map((e=>K(e,(e=>E(e,(e=>e.dom)))))).getOrUndefined();((e,t,o,n,r)=>{e.dispatch("TableSelectionChange",{cells:t,start:o,finish:n,otherCells:r})})(e,s,o.dom,n.dom,c)}))}),(()=>(e=>{e.dispatch("TableSelectionClear")})(e)));var r;return e.on("init",(o=>{const r=e.getWin(),s=Xr(e),l=Zr(e),a=((e,t,o,n)=>{const r=((e,t,o,n)=>{const r=lm(),s=r.clear,l=s=>{r.on((r=>{n.clearBeforeUpdate(t),am(s.target,o).each((l=>{Ts(r,l,o).each((o=>{const r=o.boxes.getOr([]);if(1===r.length){const e=r[0],o="false"===Qr(e),l=wt(Yr(s.target),e,Re);o&&l&&n.selectRange(t,r,e,e)}else r.length>1&&(n.selectRange(t,r,o.start,o.finish),e.selectContents(l))}))}))}))};return{clearstate:s,mousedown:e=>{n.clear(t),am(e.target,o).filter(cm).each(r.set)},mouseover:e=>{l(e)},mouseup:e=>{l(e),s()}}})(Bm(e),t,o,n);return{clearstate:r.clearstate,mousedown:r.mousedown,mouseover:r.mouseover,mouseup:r.mouseup}})(r,s,l,n),c=((e,t,o,n)=>{const r=Bm(e),s=()=>(n.clear(t),C.none());return{keydown:(e,l,a,c,i,m)=>{const d=e.raw,u=d.which,f=!0===d.shiftKey,g=Ss(t,n.selectedSelector).fold((()=>(gm(u)&&!f&&n.clearBeforeUpdate(t),gm(u)&&f&&!Am(l,c)?C.none:fm(u)&&f?b(rm,r,t,o,im,c,l,n.selectRange):um(u)&&f?b(rm,r,t,o,mm,c,l,n.selectRange):fm(u)?b(tm,r,o,im,c,l,nm):um(u)?b(tm,r,o,mm,c,l,om):C.none)),(e=>{const o=o=>()=>{const s=V(o,(o=>((e,t,o,n,r)=>Ds(n,e,t,r.firstSelectedSelector,r.lastSelectedSelector).map((e=>(r.clearBeforeUpdate(o),r.selectRange(o,e.boxes,e.start,e.finish),e.boxes))))(o.rows,o.cols,t,e,n)));return s.fold((()=>Rs(t,n.firstSelectedSelector,n.lastSelectedSelector).map((e=>{const o=fm(u)||m.isForward(u)?ei.after:ei.before;return r.setRelativeSelection(ei.on(e.first,0),o(e.table)),n.clear(t),ti(C.none(),!0)}))),(e=>C.some(ti(C.none(),!0))))};return gm(u)&&f&&!Am(l,c)?C.none:fm(u)&&f?o([_m(1,0)]):um(u)&&f?o([_m(-1,0)]):m.isBackward(u)&&f?o([_m(0,-1),_m(-1,0)]):m.isForward(u)&&f?o([_m(0,1),_m(1,0)]):gm(u)&&!f?s:C.none}));return g()},keyup:(e,r,s,l,a)=>Ss(t,n.selectedSelector).fold((()=>{const c=e.raw,i=c.which;return!0===c.shiftKey&&gm(i)&&Am(r,l)?((e,t,o,n,r,s,l)=>Re(o,r)&&n===s?C.none():bt(o,"td,th",t).bind((o=>bt(r,"td,th",t).bind((n=>pi(e,t,o,n,l))))))(t,o,r,s,l,a,n.selectRange):C.none()}),C.none)}})(r,s,l,n),i=((e,t,o,n)=>{const r=Bm(e);return(e,s)=>{n.clearBeforeUpdate(t),Ts(e,s,o).each((e=>{const o=e.boxes.getOr([]);n.selectRange(t,o,e.start,e.finish),r.selectContents(s),r.collapseSelection()}))}})(r,s,l,n);e.on("TableSelectorChange",(e=>i(e.start,e.finish)));const m=(t,o)=>{(e=>!0===e.raw.shiftKey)(t)&&(o.kill&&t.kill(),o.selection.each((t=>{const o=wm.relative(t.start,t.finish),n=di(r,o);e.selection.setRng(n)})))},d=e=>0===e.button,u=(()=>{const e=sm(xe.fromDom(s)),t=sm(0);return{touchEnd:o=>{const n=xe.fromDom(o.target);if(ue("td")(n)||ue("th")(n)){const r=e.get(),s=t.get();Re(r,n)&&o.timeStamp-s<300&&(o.preventDefault(),i(n,n))}e.set(n),t.set(o.timeStamp)}}})();e.on("dragstart",(e=>{a.clearstate()})),e.on("mousedown",(e=>{d(e)&&Gm(e)&&a.mousedown(Um(e))})),e.on("mouseover",(e=>{var t;void 0!==(t=e).buttons&&0==(1&t.buttons)||!Gm(e)||a.mouseover(Um(e))})),e.on("mouseup",(e=>{d(e)&&Gm(e)&&a.mouseup(Um(e))})),e.on("touchend",u.touchEnd),e.on("keyup",(t=>{const o=Um(t);if(o.raw.shiftKey&&gm(o.raw.which)){const t=e.selection.getRng(),n=xe.fromDom(t.startContainer),r=xe.fromDom(t.endContainer);c.keyup(o,n,t.startOffset,r,t.endOffset).each((e=>{m(o,e)}))}})),e.on("keydown",(o=>{const n=Um(o);t.hide();const r=e.selection.getRng(),s=xe.fromDom(r.startContainer),l=xe.fromDom(r.endContainer),a=mn(hm,pm)(xe.fromDom(e.selection.getStart()));c.keydown(n,s,r.startOffset,l,r.endOffset,a).each((e=>{m(n,e)})),t.show()})),e.on("NodeChange",(()=>{const t=e.selection,o=xe.fromDom(t.getStart()),r=xe.fromDom(t.getEnd());xs(Ut,[o,r]).fold((()=>n.clear(s)),f)}))})),e.on("PreInit",(()=>{e.serializer.addTempAttr(Ws.firstSelected),e.serializer.addTempAttr(Ws.lastSelected)})),{getSelectedCells:()=>((e,t,o,n)=>{switch(e.tag){case"none":return t();case"single":return(e=>[e.dom])(e.element);case"multiple":return(e=>E(e,(e=>e.dom)))(e.elements)}})(o.get(),g([])),clearSelectedCells:e=>n.clear(xe.fromDom(e))}},Ym=e=>{let t=[];return{bind:e=>{if(void 0===e)throw new Error("Event bind error: undefined handler");t.push(e)},unbind:e=>{t=_(t,(t=>t!==e))},trigger:(...o)=>{const n={};N(e,((e,t)=>{n[e]=o[t]})),N(t,(e=>{e(n)}))}}},Jm=e=>({registry:K(e,(e=>({bind:e.bind,unbind:e.unbind}))),trigger:K(e,(e=>e.trigger))}),Qm=e=>e.slice(0).sort(),Xm=(e,t)=>{const o=_(t,(t=>!D(e,t)));o.length>0&&(e=>{throw new Error("Unsupported keys for object: "+Qm(e).join(", "))})(o)},Zm=e=>((e,t)=>((e,t,o)=>{if(0===t.length)throw new Error("You must specify at least one required field.");return((e,t)=>{if(!l(t))throw new Error("The "+e+" fields must be an array. Was: "+t+".");N(t,(t=>{if(!r(t))throw new Error("The value "+t+" in the "+e+" fields was not a string.")}))})("required",t),(e=>{const t=Qm(e);L(t,((e,o)=>o{throw new Error("The field: "+e+" occurs more than once in the combined fields: ["+t.join(", ")+"].")}))})(t),n=>{const r=q(n);P(t,(e=>D(r,e)))||((e,t)=>{throw new Error("All required keys ("+Qm(e).join(", ")+") were not specified. Specified keys were: "+Qm(t).join(", ")+".")})(t,r),e(t,r);const s=_(t,(e=>!o.validate(n[e],e)));return s.length>0&&((e,t)=>{throw new Error("All values need to be of type: "+t+". Keys ("+Qm(e).join(", ")+") were not.")})(s,o.label),n}})(e,t,{validate:d,label:"function"}))(Xm,e),ed=Zm(["compare","extract","mutate","sink"]),td=Zm(["element","start","stop","destroy"]),od=Zm(["forceDrop","drop","move","delayDrop"]),nd=()=>{const e=(()=>{const e=Jm({move:Ym(["info"])});return{onEvent:f,reset:f,events:e.registry}})(),t=(()=>{let e=C.none();const t=Jm({move:Ym(["info"])});return{onEvent:(o,n)=>{n.extract(o).each((o=>{const r=((t,o)=>{const n=e.map((e=>t.compare(e,o)));return e=C.some(o),n})(n,o);r.each((e=>{t.trigger.move(e)}))}))},reset:()=>{e=C.none()},events:t.registry}})();let o=e;return{on:()=>{o.reset(),o=t},off:()=>{o.reset(),o=e},isOn:()=>o===t,onEvent:(e,t)=>{o.onEvent(e,t)},events:t.events}},rd=e=>{const t=e.replace(/\./g,"-");return{resolve:e=>t+"-"+e}},sd=rd("ephox-dragster").resolve;var ld=ed({compare:(e,t)=>pn(t.left-e.left,t.top-e.top),extract:e=>C.some(pn(e.x,e.y)),sink:(e,t)=>{const o=(e=>{const t={layerClass:sd("blocker"),...e},o=xe.fromTag("div");return ge(o,"role","presentation"),Nt(o,{position:"fixed",left:"0px",top:"0px",width:"100%",height:"100%"}),Mm(o,sd("blocker")),Mm(o,t.layerClass),{element:g(o),destroy:()=>{qe(o)}}})(t),n=qm(o.element(),"mousedown",e.forceDrop),r=qm(o.element(),"mouseup",e.drop),s=qm(o.element(),"mousemove",e.move),l=qm(o.element(),"mouseout",e.delayDrop);return td({element:o.element,start:e=>{Ie(e,o.element())},stop:()=>{qe(o.element())},destroy:()=>{o.destroy(),r.unbind(),s.unbind(),l.unbind(),n.unbind()}})},mutate:(e,t)=>{e.mutate(t.left,t.top)}});const ad=rd("ephox-snooker").resolve,cd=ad("resizer-bar"),id=ad("resizer-rows"),md=ad("resizer-cols"),dd=e=>{const t=mt(e.parent(),"."+cd);N(t,qe)},ud=(e,t,o)=>{const n=e.origin();N(t,(t=>{t.each((t=>{const r=o(n,t);Mm(r,cd),Ie(e.parent(),r)}))}))},fd=(e,t,o,n,r)=>{const s=wn(o),l=t.isResizable,a=n.length>0?Nn.positions(n,o):[],c=a.length>0?((e,t)=>j(e.all,((e,o)=>t(e.element)?[o]:[])))(e,l):[];((e,t,o,n)=>{ud(e,t,((e,t)=>{const r=((e,t,o,n,r)=>{const s=xe.fromTag("div");return Nt(s,{position:"absolute",left:t+"px",top:o-3.5+"px",height:"7px",width:n+"px"}),he(s,{"data-row":e,role:"presentation"}),s})(t.row,o.left-e.left,t.y-e.top,n);return Mm(r,id),r}))})(t,_(a,((e,t)=>O(c,(e=>t===e)))),s,Ao(o));const i=r.length>0?_n.positions(r,o):[],m=i.length>0?((e,t)=>{const o=[];return k(e.grid.columns,(n=>{sn(e,n).map((e=>e.element)).forall(t)&&o.push(n)})),_(o,(o=>{const n=tn(e,(e=>e.column===o));return P(n,(e=>t(e.element)))}))})(e,l):[];((e,t,o,n)=>{ud(e,t,((e,t)=>{const r=((e,t,o,n,r)=>{const s=xe.fromTag("div");return Nt(s,{position:"absolute",left:t-3.5+"px",top:o+"px",height:r+"px",width:"7px"}),he(s,{"data-column":e,role:"presentation"}),s})(t.col,t.x-e.left,o.top-e.top,0,n);return Mm(r,md),r}))})(t,_(i,((e,t)=>O(m,(e=>t===e)))),s,gn(o))},gd=(e,t)=>{if(dd(e),e.isResizable(t)){const o=Qo(t),n=cn(o),r=ln(o);fd(o,e,t,n,r)}},hd=(e,t)=>{const o=mt(e.parent(),"."+cd);N(o,t)},pd=e=>{hd(e,(e=>{Et(e,"display","none")}))},bd=e=>{hd(e,(e=>{Et(e,"display","block")}))},wd=ad("resizer-bar-dragging"),vd=e=>{const t=(()=>{const e=Jm({drag:Ym(["xDelta","yDelta","target"])});let t=C.none();const o=(()=>{const e=Jm({drag:Ym(["xDelta","yDelta"])});return{mutate:(t,o)=>{e.trigger.drag(t,o)},events:e.registry}})();return o.events.drag.bind((o=>{t.each((t=>{e.trigger.drag(o.xDelta,o.yDelta,t)}))})),{assign:e=>{t=C.some(e)},get:()=>t,mutate:o.mutate,events:e.registry}})(),o=((e,t={})=>{var o;return((e,t,o)=>{let n=!1;const r=Jm({start:Ym([]),stop:Ym([])}),s=nd(),l=()=>{m.stop(),s.isOn()&&(s.off(),r.trigger.stop())},c=((e,t)=>{let o=null;const n=()=>{a(o)||(clearTimeout(o),o=null)};return{cancel:n,throttle:(...t)=>{n(),o=setTimeout((()=>{o=null,e.apply(null,t)}),200)}}})(l);s.events.move.bind((o=>{t.mutate(e,o.info)}));const i=e=>(...t)=>{n&&e.apply(null,t)},m=t.sink(od({forceDrop:l,drop:i(l),move:i((e=>{c.cancel(),s.onEvent(e,t)})),delayDrop:i(c.throttle)}),o);return{element:m.element,go:e=>{m.start(e),s.on(),r.trigger.start()},on:()=>{n=!0},off:()=>{n=!1},isActive:()=>n,destroy:()=>{m.destroy()},events:r.registry}})(e,null!==(o=t.mode)&&void 0!==o?o:ld,t)})(t,{});let n=C.none();const r=(e,t)=>C.from(pe(e,t));t.events.drag.bind((e=>{r(e.target,"data-row").each((t=>{const o=jt(e.target,"top");Et(e.target,"top",o+e.yDelta+"px")})),r(e.target,"data-column").each((t=>{const o=jt(e.target,"left");Et(e.target,"left",o+e.xDelta+"px")}))}));const s=(e,t)=>jt(e,t)-Lt(e,"data-initial-"+t,0);o.events.stop.bind((()=>{t.get().each((t=>{n.each((o=>{r(t,"data-row").each((e=>{const n=s(t,"top");we(t,"data-initial-top"),d.trigger.adjustHeight(o,n,parseInt(e,10))})),r(t,"data-column").each((e=>{const n=s(t,"left");we(t,"data-initial-left"),d.trigger.adjustWidth(o,n,parseInt(e,10))})),gd(e,o)}))}))}));const l=(n,r)=>{d.trigger.startAdjust(),t.assign(n),ge(n,"data-initial-"+r,jt(n,r)),Mm(n,wd),Et(n,"opacity","0.2"),o.go(e.parent())},c=qm(e.parent(),"mousedown",(e=>{var t;t=e.target,jm(t,id)&&l(e.target,"top"),(e=>jm(e,md))(e.target)&&l(e.target,"left")})),i=t=>Re(t,e.view()),m=qm(e.view(),"mouseover",(t=>{var r;(r=t.target,bt(r,"table",i).filter(Jr)).fold((()=>{st(t.target)&&dd(e)}),(t=>{o.isActive()&&(n=C.some(t),gd(e,t))}))})),d=Jm({adjustHeight:Ym(["table","delta","row"]),adjustWidth:Ym(["table","delta","column"]),startAdjust:Ym([])});return{destroy:()=>{c.unbind(),m.unbind(),o.destroy(),dd(e)},refresh:t=>{gd(e,t)},on:o.on,off:o.off,hideBars:b(pd,e),showBars:b(bd,e),events:d.registry}},yd=e=>m(e)&&"TABLE"===e.nodeName,xd="bar-",Cd=e=>"false"!==pe(e,"data-mce-resize"),Td=e=>{const t=lm(),o=lm(),n=lm();let r,s,l,a;const c=t=>gc(e,t),i=()=>jr(e)?ol():tl(),m=(t,o,n,m)=>{const d=(e=>{return Tt(t=e,"corner-")?((e,t)=>e.substring(7))(t):t;var t})(o),u=St(d,"e"),f=Tt(d,"n");if(""===s&&Bc(t),""===a&&(e=>{const t=(e=>fn(e)+"px")(e);Dc(e,C.none(),C.some(t)),Nc(e)})(t),n!==r&&""!==s){Et(t,"width",s);const o=i(),l=c(t),a=jr(e)||u?(e=>nl(e).columns)(t)-1:0;ra(t,n-r,a,o,l)}else if((e=>/^(\d+(\.\d+)?)%$/.test(e))(s)){const e=parseFloat(s.replace("%",""));Et(t,"width",n*e/r+"%")}if((e=>/^(\d+(\.\d+)?)px$/.test(e))(s)&&(e=>{const t=Qo(e);rn(t)||N(Vt(e),(e=>{const t=Bt(e,"width");Et(e,"width",t),we(e,"width")}))})(t),m!==l&&""!==a){Et(t,"height",a);const e=f?0:(e=>nl(e).rows)(t)-1;sa(t,m-l,e)}};return e.on("init",(()=>{const r=((e,t)=>e.inline?((e,t,o)=>({parent:g(t),view:g(e),origin:g(pn(0,0)),isResizable:o}))(xe.fromDom(e.getBody()),(()=>{const e=xe.fromTag("div");return Nt(e,{position:"static",height:"0",width:"0",padding:"0",margin:"0",border:"0"}),Ie(lt(xe.fromDom(document)),e),e})(),t):((e,t)=>{const o=me(e)?(e=>xe.fromDom(Ee(e).dom.documentElement))(e):e;return{parent:g(o),view:g(e),origin:g(pn(0,0)),isResizable:t}})(xe.fromDom(e.getDoc()),t))(e,Cd);if(n.set(r),(e=>{const t=e.options.get("object_resizing");return D(t.split(","),"table")})(e)&&Vr(e)){const n=((e,t,o)=>{const n=Nn,r=_n,s=vd(e),l=Jm({beforeResize:Ym(["table","type"]),afterResize:Ym(["table","type"]),startDrag:Ym([])});return s.events.adjustHeight.bind((e=>{const t=e.table;l.trigger.beforeResize(t,"row");const o=n.delta(e.delta,t);sa(t,o,e.row),l.trigger.afterResize(t,"row")})),s.events.startAdjust.bind((e=>{l.trigger.startDrag()})),s.events.adjustWidth.bind((e=>{const n=e.table;l.trigger.beforeResize(n,"col");const s=r.delta(e.delta,n),a=o(n);ra(n,s,e.column,t,a),l.trigger.afterResize(n,"col")})),{on:s.on,off:s.off,refreshBars:s.refresh,hideBars:s.hideBars,showBars:s.showBars,destroy:s.destroy,events:l.registry}})(r,i(),c);e.mode.isReadOnly()||n.on(),n.events.startDrag.bind((o=>{t.set(e.selection.getRng())})),n.events.beforeResize.bind((t=>{const o=t.table.dom;((e,t,o,n,r)=>{e.dispatch("ObjectResizeStart",{target:t,width:o,height:n,origin:r})})(e,o,os(o),ns(o),xd+t.type)})),n.events.afterResize.bind((o=>{const n=o.table,r=n.dom;es(n),t.on((t=>{e.selection.setRng(t),e.focus()})),((e,t,o,n,r)=>{e.dispatch("ObjectResized",{target:t,width:o,height:n,origin:r})})(e,r,os(r),ns(r),xd+o.type),e.undoManager.add()})),o.set(n)}})),e.on("ObjectResizeStart",(t=>{const o=t.target;if(yd(o)&&!e.mode.isReadOnly()){const n=xe.fromDom(o);N(e.dom.select(".mce-clonedresizable"),(t=>{e.dom.addClass(t,"mce-"+Mr(e)+"-columns")})),!kc(n)&&Hr(e)?_c(n):!Oc(n)&&Fr(e)&&Bc(n),Ec(n)&&Tt(t.origin,xd)&&Bc(n),r=t.width,s=$r(e)?"":ss(e,o).getOr(""),l=t.height,a=ls(e,o).getOr("")}})),e.on("ObjectResized",(t=>{const o=t.target;if(yd(o)){const n=xe.fromDom(o),r=t.origin;(e=>Tt(e,"corner-"))(r)&&m(n,r,t.width,t.height),es(n),mc(e,n.dom,dc)}})),e.on("SwitchMode",(()=>{o.on((t=>{e.mode.isReadOnly()?(t.off(),t.hideBars()):(t.on(),t.showBars())}))})),e.on("dragstart dragend",(e=>{o.on((t=>{"dragstart"===e.type?(t.hideBars(),t.off()):(t.on(),t.showBars())}))})),e.on("remove",(()=>{o.on((e=>{e.destroy()})),n.on((t=>{((e,t)=>{e.inline&&qe(t.parent())})(e,t)}))})),{refresh:e=>{o.on((t=>t.refreshBars(xe.fromDom(e))))},hide:()=>{o.on((e=>e.hideBars()))},show:()=>{o.on((e=>e.showBars()))}}},Sd=e=>{(e=>{const t=e.options.register;t("table_clone_elements",{processor:"string[]"}),t("table_use_colgroups",{processor:"boolean",default:!0}),t("table_header_type",{processor:e=>{const t=D(["section","cells","sectionCells","auto"],e);return t?{value:e,valid:t}:{valid:!1,message:"Must be one of: section, cells, sectionCells or auto."}},default:"section"}),t("table_sizing_mode",{processor:"string",default:"auto"}),t("table_default_attributes",{processor:"object",default:{border:"1"}}),t("table_default_styles",{processor:"object",default:{"border-collapse":"collapse"}}),t("table_column_resizing",{processor:e=>{const t=D(["preservetable","resizetable"],e);return t?{value:e,valid:t}:{valid:!1,message:"Must be preservetable, or resizetable."}},default:"preservetable"}),t("table_resize_bars",{processor:"boolean",default:!0}),t("table_style_by_css",{processor:"boolean",default:!0}),t("table_merge_content_on_paste",{processor:"boolean",default:!0})})(e);const t=Td(e),o=Km(e,t),n=hc(e,t,o);return Xc(e,n),((e,t)=>{const o=Zr(e),n=t=>Is(ts(e)).bind((n=>Ut(n,o).map((o=>{const r=Ms(Fs(e),o,n);return t(o,r)})))).getOr("");G({mceTableRowType:()=>n(t.getTableRowType),mceTableCellType:()=>n(t.getTableCellType),mceTableColType:()=>n(t.getTableColType)},((t,o)=>e.addQueryValueHandler(o,t)))})(e,n),Hs(e,n),{getSelectedCells:o.getSelectedCells,clearSelectedCells:o.clearSelectedCells}};e.add("dom",(e=>({table:Sd(e)})))}(); \ No newline at end of file diff --git a/frontend/public/tinymce/plugins/accordion/plugin.min.js b/frontend/public/tinymce/plugins/accordion/plugin.min.js deleted file mode 100644 index 58b20cf..0000000 --- a/frontend/public/tinymce/plugins/accordion/plugin.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/** - * TinyMCE version 7.4.1 (TBD) - */ -!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager");let t=0;const o=e=>t=>typeof t===e,n=e=>"string"===(e=>{const t=typeof e;return null===e?"null":"object"===t&&Array.isArray(e)?"array":"object"===t&&(o=n=e,(r=String).prototype.isPrototypeOf(o)||(null===(s=n.constructor)||void 0===s?void 0:s.name)===r.name)?"string":t;var o,n,r,s})(e),r=o("boolean"),s=e=>null==e,i=e=>!s(e),a=o("function"),d=o("number"),l=e=>()=>e,c=(e,t)=>e===t,m=l(!1);class u{constructor(e,t){this.tag=e,this.value=t}static some(e){return new u(!0,e)}static none(){return u.singletonNone}fold(e,t){return this.tag?t(this.value):e()}isSome(){return this.tag}isNone(){return!this.tag}map(e){return this.tag?u.some(e(this.value)):u.none()}bind(e){return this.tag?e(this.value):u.none()}exists(e){return this.tag&&e(this.value)}forall(e){return!this.tag||e(this.value)}filter(e){return!this.tag||e(this.value)?this:u.none()}getOr(e){return this.tag?this.value:e}or(e){return this.tag?this:e}getOrThunk(e){return this.tag?this.value:e()}orThunk(e){return this.tag?this:e()}getOrDie(e){if(this.tag)return this.value;throw new Error(null!=e?e:"Called getOrDie on None")}static from(e){return i(e)?u.some(e):u.none()}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(e){this.tag&&e(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}u.singletonNone=new u(!1);const g=Array.prototype.indexOf,p=(e,t)=>{return o=e,n=t,g.call(o,n)>-1;var o,n},h=(e,t)=>{const o=e.length,n=new Array(o);for(let r=0;r{for(let o=0,n=e.length;oe.dom.nodeName.toLowerCase(),w=e=>e.dom.nodeType,b=e=>t=>w(t)===e,N=b(1),T=b(3),A=b(9),C=b(11),S=(e,t,o)=>{if(!(n(o)||r(o)||d(o)))throw console.error("Invalid call to Attribute.set. Key ",t,":: Value ",o,":: Element ",e),new Error("Attribute value was not simple");e.setAttribute(t,o+"")},x=(e,t)=>{const o=e.dom.getAttribute(t);return null===o?void 0:o},D=(e,t)=>u.from(x(e,t)),E=(e,t)=>{e.dom.removeAttribute(t)},O=e=>{if(null==e)throw new Error("Node cannot be null or undefined");return{dom:e}},M={fromHtml:(e,t)=>{const o=(t||document).createElement("div");if(o.innerHTML=e,!o.hasChildNodes()||o.childNodes.length>1){const t="HTML does not have a single root node";throw console.error(t,e),new Error(t)}return O(o.childNodes[0])},fromTag:(e,t)=>{const o=(t||document).createElement(e);return O(o)},fromText:(e,t)=>{const o=(t||document).createTextNode(e);return O(o)},fromDom:O,fromPoint:(e,t,o)=>u.from(e.dom.elementFromPoint(t,o)).map(O)},P=(e,t)=>{const o=e.dom;if(1!==o.nodeType)return!1;{const e=o;if(void 0!==e.matches)return e.matches(t);if(void 0!==e.msMatchesSelector)return e.msMatchesSelector(t);if(void 0!==e.webkitMatchesSelector)return e.webkitMatchesSelector(t);if(void 0!==e.mozMatchesSelector)return e.mozMatchesSelector(t);throw new Error("Browser lacks native selectors")}},R=e=>1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType||0===e.childElementCount,k=P,B=(L=/^\s+|\s+$/g,e=>e.replace(L,""));var L;const $=e=>void 0!==e.style&&a(e.style.getPropertyValue),V=e=>u.from(e.dom.parentNode).map(M.fromDom),I=e=>u.from(e.dom.nextSibling).map(M.fromDom),j=e=>h(e.dom.childNodes,M.fromDom),q=e=>M.fromDom(e.dom.host),F=e=>{const t=T(e)?e.dom.parentNode:e.dom;if(null==t||null===t.ownerDocument)return!1;const o=t.ownerDocument;return(e=>{const t=(e=>M.fromDom(e.dom.getRootNode()))(e);return C(o=t)&&i(o.dom.host)?u.some(t):u.none();var o})(M.fromDom(t)).fold((()=>o.body.contains(t)),(n=F,r=q,e=>n(r(e))));var n,r},H=(e,t)=>$(e)?e.style.getPropertyValue(t):"",z=(e,t)=>{V(e).each((o=>{o.dom.insertBefore(t.dom,e.dom)}))},K=(e,t)=>{I(e).fold((()=>{V(e).each((e=>{U(e,t)}))}),(e=>{z(e,t)}))},U=(e,t)=>{e.dom.appendChild(t.dom)},Y=(e,t)=>{f(t,((o,n)=>{const r=0===n?e:t[n-1];K(r,o)}))},_=(e,t)=>{let o=[];return f(j(e),(e=>{t(e)&&(o=o.concat([e])),o=o.concat(_(e,t))})),o},G=(e,t,o)=>{let n=e.dom;const r=a(o)?o:m;for(;n.parentNode;){n=n.parentNode;const e=M.fromDom(n);if(t(e))return u.some(e);if(r(e))break}return u.none()},J=e=>{const t=e.dom;null!==t.parentNode&&t.parentNode.removeChild(t)},Q=(e,t,o)=>G(e,(e=>P(e,t)),o),W=(e,t)=>((e,t)=>{const o=void 0===t?document:t.dom;return R(o)?u.none():u.from(o.querySelector(e)).map(M.fromDom)})(t,e),X=((e,t)=>{const o=t=>e(t)?u.from(t.dom.nodeValue):u.none();return{get:t=>{if(!e(t))throw new Error("Can only get text value of a text node");return o(t).getOr("")},getOption:o,set:(t,o)=>{if(!e(t))throw new Error("Can only set raw text value of a text node");t.dom.nodeValue=o}}})(T);var Z=["body","p","div","article","aside","figcaption","figure","footer","header","nav","section","ol","ul","li","table","thead","tbody","tfoot","caption","tr","td","th","h1","h2","h3","h4","h5","h6","blockquote","pre","address"];const ee=(e,t)=>({element:e,offset:t}),te=(e,t,o)=>e.property().isText(t)&&0===e.property().getText(t).trim().length||e.property().isComment(t)?o(t).bind((t=>te(e,t,o).orThunk((()=>u.some(t))))):u.none(),oe=(e,t)=>e.property().isText(t)?e.property().getText(t).length:e.property().children(t).length,ne=(e,t)=>{const o=te(e,t,e.query().prevSibling).getOr(t);if(e.property().isText(o))return ee(o,oe(e,o));const n=e.property().children(o);return n.length>0?ne(e,n[n.length-1]):ee(o,oe(e,o))},re=ne,se={up:l({selector:Q,closest:(e,t,o)=>((e,t,o,n,r)=>((e,t)=>P(e,t))(o,n)?u.some(o):a(r)&&r(o)?u.none():t(o,n,r))(0,Q,e,t,o),predicate:G,all:(e,t)=>{const o=a(t)?t:m;let n=e.dom;const r=[];for(;null!==n.parentNode&&void 0!==n.parentNode;){const e=n.parentNode,t=M.fromDom(e);if(r.push(t),!0===o(t))break;n=e}return r}}),down:l({selector:(e,t)=>((e,t)=>{const o=void 0===t?document:t.dom;return R(o)?[]:h(o.querySelectorAll(e),M.fromDom)})(t,e),predicate:_}),styles:l({get:(e,t)=>{const o=e.dom,n=window.getComputedStyle(o).getPropertyValue(t);return""!==n||F(e)?n:H(o,t)},getRaw:(e,t)=>{const o=e.dom,n=H(o,t);return u.from(n).filter((e=>e.length>0))},set:(e,t,o)=>{((e,t,o)=>{if(!n(o))throw console.error("Invalid call to CSS.set. Property ",t,":: Value ",o,":: Element ",e),new Error("CSS value must be a string: "+o);$(e)&&e.style.setProperty(t,o)})(e.dom,t,o)},remove:(e,t)=>{((e,t)=>{$(e)&&e.style.removeProperty(t)})(e.dom,t),((e,t,o=c)=>e.exists((e=>o(e,t))))(D(e,"style").map(B),"")&&E(e,"style")}}),attrs:l({get:x,set:(e,t,o)=>{S(e.dom,t,o)},remove:E,copyTo:(e,t)=>{const o=(n=e.dom.attributes,r=(e,t)=>(e[t.name]=t.value,e),s={},f(n,((e,t)=>{s=r(s,e)})),s);var n,r,s;((e,t)=>{const o=e.dom;((e,t)=>{const o=y(e);for(let n=0,r=o.length;n{S(o,t,e)}))})(t,o)}}),insert:l({before:z,after:K,afterAll:Y,append:U,appendAll:(e,t)=>{f(t,(t=>{U(e,t)}))},prepend:(e,t)=>{(e=>((e,t)=>{const o=e.dom.childNodes;return u.from(o[0]).map(M.fromDom)})(e))(e).fold((()=>{U(e,t)}),(o=>{e.dom.insertBefore(t.dom,o.dom)}))},wrap:(e,t)=>{z(e,t),U(t,e)}}),remove:l({unwrap:e=>{const t=j(e);t.length>0&&Y(e,t),J(e)},remove:J}),create:l({nu:M.fromTag,clone:e=>M.fromDom(e.dom.cloneNode(!1)),text:M.fromText}),query:l({comparePosition:(e,t)=>e.dom.compareDocumentPosition(t.dom),prevSibling:e=>u.from(e.dom.previousSibling).map(M.fromDom),nextSibling:I}),property:l({children:j,name:v,parent:V,document:e=>{return(t=e,A(t)?t:M.fromDom(t.dom.ownerDocument)).dom;var t},isText:T,isComment:e=>8===w(e)||"#comment"===v(e),isElement:N,isSpecial:e=>{const t=v(e);return p(["script","noscript","iframe","noframes","noembed","title","style","textarea","xmp"],t)},getLanguage:e=>N(e)?D(e,"lang"):u.none(),getText:e=>X.get(e),setText:(e,t)=>X.set(e,t),isBoundary:e=>!!N(e)&&("body"===v(e)||p(Z,v(e))),isEmptyTag:e=>!!N(e)&&p(["br","img","hr","input"],v(e)),isNonEditable:e=>N(e)&&"false"===x(e,"contenteditable")}),eq:(e,t)=>e.dom===t.dom,is:k},ie="details",ae="mce-accordion",de="mce-accordion-summary",le="mce-accordion-body",ce="div";var me=tinymce.util.Tools.resolve("tinymce.util.Tools");const ue=e=>"SUMMARY"===(null==e?void 0:e.nodeName),ge=e=>"DETAILS"===(null==e?void 0:e.nodeName),pe=e=>e.hasAttribute("open"),he=e=>{const t=e.selection.getNode();return ue(t)||Boolean(e.dom.getParent(t,ue))},fe=e=>!he(e)&&e.dom.isEditable(e.selection.getNode())&&!e.mode.isReadOnly(),ye=e=>u.from(e.dom.getParent(e.selection.getNode(),ge)),ve=e=>(e.innerHTML='
',e),we=e=>ve(e.dom.create("p")),be=e=>t=>{((e,t)=>{if(ue(null==t?void 0:t.lastChild)){const o=we(e);t.appendChild(o),e.selection.setCursorLocation(o,0)}})(e,t),((e,t)=>{if(!ue(null==t?void 0:t.firstChild)){const o=(e=>ve(e.dom.create("summary")))(e);t.prepend(o),e.selection.setCursorLocation(o,0)}})(e,t)},Ne=e=>{if(!fe(e))return;const o=M.fromDom(e.getBody()),n=(e=>{const o=(new Date).getTime(),n=Math.floor(window.crypto.getRandomValues(new Uint32Array(1))[0]/4294967295*1e9);return t++,e+"_"+n+t+String(o)})("acc"),r=e.dom.encode(e.selection.getRng().toString()||e.translate("Accordion summary...")),s=e.dom.encode(e.translate("Accordion body...")),i=`

${r}`,a=`<${ce} class="${le}">

${s}

`;e.undoManager.transact((()=>{e.insertContent([`
`,i,a,"
"].join("")),W(o,`[data-mce-id="${n}"]`).each((t=>{E(t,"data-mce-id"),W(t,"summary").each((t=>{const o=e.dom.createRng(),n=re(se,t);o.setStart(n.element.dom,n.offset),o.setEnd(n.element.dom,n.offset),e.selection.setRng(o)}))}))}))},Te=(e,t)=>{const o=null!=t?t:!pe(e);return o?e.setAttribute("open","open"):e.removeAttribute("open"),o},Ae=e=>{e.addCommand("InsertAccordion",(()=>Ne(e))),e.addCommand("ToggleAccordion",((t,o)=>((e,t)=>{ye(e).each((o=>{((e,t,o)=>{e.dispatch("ToggledAccordion",{element:t,state:o})})(e,o,Te(o,t))}))})(e,o))),e.addCommand("ToggleAllAccordions",((t,o)=>((e,t)=>{const o=Array.from(e.getBody().querySelectorAll("details"));0!==o.length&&(f(o,(e=>Te(e,null!=t?t:!pe(e)))),((e,t,o)=>{e.dispatch("ToggledAllAccordions",{elements:t,state:o})})(e,o,t))})(e,o))),e.addCommand("RemoveAccordion",(()=>(e=>{e.mode.isReadOnly()||ye(e).each((t=>{const{nextSibling:o}=t;o?(e.selection.select(o,!0),e.selection.collapse(!0)):((e,t)=>{const o=we(e);t.insertAdjacentElement("afterend",o),e.selection.setCursorLocation(o,0)})(e,t),t.remove()}))})(e)))};var Ce=tinymce.util.Tools.resolve("tinymce.html.Node");const Se=e=>{var t,o;return null!==(o=null===(t=e.attr("class"))||void 0===t?void 0:t.split(" "))&&void 0!==o?o:[]},xe=(e,t)=>{const o=new Set([...Se(e),...t]),n=Array.from(o);n.length>0&&e.attr("class",n.join(" "))},De=(e,t)=>{const o=((e,o)=>{const n=[];for(let o=0,s=e.length;o0?o.join(" "):null)},Ee=e=>e.name===ie&&p(Se(e),ae),Oe=e=>{const t=e.children();let o,n;const r=[];for(let e=0;e{const t=new Ce("br",1);t.attr("data-mce-bogus","1"),e.empty(),e.append(t)};var Pe=tinymce.util.Tools.resolve("tinymce.util.VK");const Re=e=>{(e=>{e.on("keydown",(t=>{(!t.shiftKey&&t.keyCode===Pe.ENTER&&he(e)||(e=>{const t=e.selection.getRng();return ge(t.startContainer)&&t.collapsed&&0===t.startOffset})(e))&&(t.preventDefault(),e.execCommand("ToggleAccordion"))}))})(e),e.on("ExecCommand",(t=>{const o=t.command.toLowerCase();"delete"!==o&&"forwarddelete"!==o||!(e=>ye(e).isSome())(e)||(e=>{me.each(me.grep(e.dom.select("details",e.getBody())),be(e))})(e)}))};var ke=tinymce.util.Tools.resolve("tinymce.Env");const Be=e=>t=>{const o=()=>t.setEnabled(fe(e));return e.on("NodeChange",o),()=>e.off("NodeChange",o)};e.add("accordion",(e=>{(e=>{const t=()=>e.execCommand("InsertAccordion");e.ui.registry.addButton("accordion",{icon:"accordion",tooltip:"Insert accordion",onSetup:Be(e),onAction:t}),e.ui.registry.addMenuItem("accordion",{icon:"accordion",text:"Accordion",onSetup:Be(e),onAction:t}),e.ui.registry.addToggleButton("accordiontoggle",{icon:"accordion-toggle",tooltip:"Toggle accordion",onAction:()=>e.execCommand("ToggleAccordion")}),e.ui.registry.addToggleButton("accordionremove",{icon:"remove",tooltip:"Delete accordion",onAction:()=>e.execCommand("RemoveAccordion")}),e.ui.registry.addContextToolbar("accordion",{predicate:t=>e.dom.is(t,"details")&&e.getBody().contains(t)&&e.dom.isEditable(t.parentNode),items:"accordiontoggle accordionremove",scope:"node",position:"node"})})(e),Ae(e),Re(e),(e=>{e.on("PreInit",(()=>{const{serializer:t,parser:o}=e;o.addNodeFilter(ie,(e=>{for(let t=0;t0)for(let e=0;e{const t=new Set([de]);for(let o=0;o{ke.browser.isSafari()&&e.on("click",(t=>{if(ue(t.target)){const o=t.target,n=e.selection.getRng();n.collapsed&&n.startContainer===o.parentNode&&0===n.startOffset&&e.selection.setCursorLocation(o,0)}}))})(e)}))}(); \ No newline at end of file diff --git a/frontend/public/tinymce/plugins/advlist/plugin.min.js b/frontend/public/tinymce/plugins/advlist/plugin.min.js deleted file mode 100644 index 0bb628d..0000000 --- a/frontend/public/tinymce/plugins/advlist/plugin.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/** - * TinyMCE version 7.4.1 (TBD) - */ -!function(){"use strict";var t=tinymce.util.Tools.resolve("tinymce.PluginManager");const e=(t,e,s)=>{const r="UL"===e?"InsertUnorderedList":"InsertOrderedList";t.execCommand(r,!1,!1===s?null:{"list-style-type":s})},s=t=>e=>e.options.get(t),r=s("advlist_number_styles"),n=s("advlist_bullet_styles"),l=t=>null==t,i=t=>!l(t);var o=tinymce.util.Tools.resolve("tinymce.util.Tools");class a{constructor(t,e){this.tag=t,this.value=e}static some(t){return new a(!0,t)}static none(){return a.singletonNone}fold(t,e){return this.tag?e(this.value):t()}isSome(){return this.tag}isNone(){return!this.tag}map(t){return this.tag?a.some(t(this.value)):a.none()}bind(t){return this.tag?t(this.value):a.none()}exists(t){return this.tag&&t(this.value)}forall(t){return!this.tag||t(this.value)}filter(t){return!this.tag||t(this.value)?this:a.none()}getOr(t){return this.tag?this.value:t}or(t){return this.tag?this:t}getOrThunk(t){return this.tag?this.value:t()}orThunk(t){return this.tag?this:t()}getOrDie(t){if(this.tag)return this.value;throw new Error(null!=t?t:"Called getOrDie on None")}static from(t){return i(t)?a.some(t):a.none()}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(t){this.tag&&t(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}a.singletonNone=new a(!1);const u=t=>e=>i(e)&&t.test(e.nodeName),d=u(/^(OL|UL|DL)$/),g=u(/^(TH|TD)$/),c=t=>l(t)||"default"===t?"":t,h=(t,e)=>s=>((t,e)=>{const s=t.selection.getNode();return e({parents:t.dom.getParents(s),element:s}),t.on("NodeChange",e),()=>t.off("NodeChange",e)})(t,(r=>((t,r)=>{const n=t.selection.getStart(!0);s.setActive(((t,e,s)=>((t,e,s)=>{for(let e=0,n=t.length;ee.nodeName===s&&((t,e)=>t.dom.isChildOf(e,t.getBody()))(t,e))))(t,r,e)),s.setEnabled(!((t,e)=>{const s=t.dom.getParent(e,"ol,ul,dl");return((t,e)=>null!==e&&!t.dom.isEditable(e))(t,s)||!t.selection.isEditable()})(t,n))})(t,r.parents))),m=(t,s,r,n,l,i)=>{i.length>1?((t,s,r,n,l,i)=>{t.ui.registry.addSplitButton(s,{tooltip:r,icon:"OL"===l?"ordered-list":"unordered-list",presets:"listpreview",columns:3,fetch:t=>{t(o.map(i,(t=>{const e="OL"===l?"num":"bull",s="disc"===t||"decimal"===t?"default":t,r=c(t),n=(t=>t.replace(/\-/g," ").replace(/\b\w/g,(t=>t.toUpperCase())))(t);return{type:"choiceitem",value:r,icon:"list-"+e+"-"+s,text:n}})))},onAction:()=>t.execCommand(n),onItemAction:(s,r)=>{e(t,l,r)},select:e=>{const s=(t=>{const e=t.dom.getParent(t.selection.getNode(),"ol,ul"),s=t.dom.getStyle(e,"listStyleType");return a.from(s)})(t);return s.map((t=>e===t)).getOr(!1)},onSetup:h(t,l)})})(t,s,r,n,l,i):((t,s,r,n,l,i)=>{t.ui.registry.addToggleButton(s,{active:!1,tooltip:r,icon:"OL"===l?"ordered-list":"unordered-list",onSetup:h(t,l),onAction:()=>t.queryCommandState(n)||""===i?t.execCommand(n):e(t,l,i)})})(t,s,r,n,l,c(i[0]))};t.add("advlist",(t=>{t.hasPlugin("lists")?((t=>{const e=t.options.register;e("advlist_number_styles",{processor:"string[]",default:"default,lower-alpha,lower-greek,lower-roman,upper-alpha,upper-roman".split(",")}),e("advlist_bullet_styles",{processor:"string[]",default:"default,circle,square".split(",")})})(t),(t=>{m(t,"numlist","Numbered list","InsertOrderedList","OL",r(t)),m(t,"bullist","Bullet list","InsertUnorderedList","UL",n(t))})(t),(t=>{t.addCommand("ApplyUnorderedListStyle",((s,r)=>{e(t,"UL",r["list-style-type"])})),t.addCommand("ApplyOrderedListStyle",((s,r)=>{e(t,"OL",r["list-style-type"])}))})(t)):console.error("Please use the Lists plugin together with the List Styles plugin.")}))}(); \ No newline at end of file diff --git a/frontend/public/tinymce/plugins/anchor/plugin.min.js b/frontend/public/tinymce/plugins/anchor/plugin.min.js deleted file mode 100644 index af38e78..0000000 --- a/frontend/public/tinymce/plugins/anchor/plugin.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/** - * TinyMCE version 7.4.1 (TBD) - */ -!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),t=tinymce.util.Tools.resolve("tinymce.dom.RangeUtils"),o=tinymce.util.Tools.resolve("tinymce.util.Tools");const n=("allow_html_in_named_anchor",e=>e.options.get("allow_html_in_named_anchor"));const a="a:not([href])",r=e=>!e,i=e=>e.getAttribute("id")||e.getAttribute("name")||"",l=e=>(e=>"a"===e.nodeName.toLowerCase())(e)&&!e.getAttribute("href")&&""!==i(e),s=e=>e.dom.getParent(e.selection.getStart(),a),d=(e,a)=>{const r=s(e);r?((e,t,o)=>{o.removeAttribute("name"),o.id=t,e.addVisual(),e.undoManager.add()})(e,a,r):((e,a)=>{e.undoManager.transact((()=>{n(e)||e.selection.collapse(!0),e.selection.isCollapsed()?e.insertContent(e.dom.createHTML("a",{id:a})):((e=>{const n=e.dom;t(n).walk(e.selection.getRng(),(e=>{o.each(e,(e=>{var t;l(t=e)&&!t.firstChild&&n.remove(e,!1)}))}))})(e),e.formatter.remove("namedAnchor",void 0,void 0,!0),e.formatter.apply("namedAnchor",{value:a}),e.addVisual())}))})(e,a),e.focus()},c=e=>(e=>r(e.attr("href"))&&!r(e.attr("id")||e.attr("name")))(e)&&!e.firstChild,m=e=>t=>{for(let o=0;ot=>{const o=()=>{t.setEnabled(e.selection.isEditable())};return e.on("NodeChange",o),o(),()=>{e.off("NodeChange",o)}};e.add("anchor",(e=>{(e=>{(0,e.options.register)("allow_html_in_named_anchor",{processor:"boolean",default:!1})})(e),(e=>{e.on("PreInit",(()=>{e.parser.addNodeFilter("a",m("false")),e.serializer.addNodeFilter("a",m(null))}))})(e),(e=>{e.addCommand("mceAnchor",(()=>{(e=>{const t=(e=>{const t=s(e);return t?i(t):""})(e);e.windowManager.open({title:"Anchor",size:"normal",body:{type:"panel",items:[{name:"id",type:"input",label:"ID",placeholder:"example"}]},buttons:[{type:"cancel",name:"cancel",text:"Cancel"},{type:"submit",name:"save",text:"Save",primary:!0}],initialData:{id:t},onSubmit:t=>{((e,t)=>/^[A-Za-z][A-Za-z0-9\-:._]*$/.test(t)?(d(e,t),!0):(e.windowManager.alert("ID should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores."),!1))(e,t.getData().id)&&t.close()}})})(e)}))})(e),(e=>{const t=()=>e.execCommand("mceAnchor");e.ui.registry.addToggleButton("anchor",{icon:"bookmark",tooltip:"Anchor",onAction:t,onSetup:t=>{const o=e.selection.selectorChangedWithUnbind("a:not([href])",t.setActive).unbind,n=u(e)(t);return()=>{o(),n()}}}),e.ui.registry.addMenuItem("anchor",{icon:"bookmark",text:"Anchor...",onAction:t,onSetup:u(e)})})(e),e.on("PreInit",(()=>{(e=>{e.formatter.register("namedAnchor",{inline:"a",selector:a,remove:"all",split:!0,deep:!0,attributes:{id:"%value"},onmatch:(e,t,o)=>l(e)})})(e)}))}))}(); \ No newline at end of file diff --git a/frontend/public/tinymce/plugins/autolink/plugin.min.js b/frontend/public/tinymce/plugins/autolink/plugin.min.js deleted file mode 100644 index 5a96042..0000000 --- a/frontend/public/tinymce/plugins/autolink/plugin.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/** - * TinyMCE version 7.4.1 (TBD) - */ -!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager");const t=e=>t=>t.options.get(e),n=t("autolink_pattern"),o=t("link_default_target"),r=t("link_default_protocol"),a=t("allow_unsafe_link_target"),s=("string",e=>"string"===(e=>{const t=typeof e;return null===e?"null":"object"===t&&Array.isArray(e)?"array":"object"===t&&(n=o=e,(r=String).prototype.isPrototypeOf(n)||(null===(a=o.constructor)||void 0===a?void 0:a.name)===r.name)?"string":t;var n,o,r,a})(e));const l=(void 0,e=>undefined===e);const i=e=>!(e=>null==e)(e),c=Object.hasOwnProperty,d=e=>"\ufeff"===e;var u=tinymce.util.Tools.resolve("tinymce.dom.TextSeeker");const f=e=>/^[(\[{ \u00a0]$/.test(e),g=(e,t,n)=>{for(let o=t-1;o>=0;o--){const t=e.charAt(o);if(!d(t)&&n(t))return o}return-1},m=(e,t)=>{var o;const a=e.schema.getVoidElements(),s=n(e),{dom:i,selection:d}=e;if(null!==i.getParent(d.getNode(),"a[href]")||e.mode.isReadOnly())return null;const m=d.getRng(),k=u(i,(e=>{return i.isBlock(e)||(t=a,n=e.nodeName.toLowerCase(),c.call(t,n))||"false"===i.getContentEditable(e);var t,n})),{container:p,offset:y}=((e,t)=>{let n=e,o=t;for(;1===n.nodeType&&n.childNodes[o];)n=n.childNodes[o],o=3===n.nodeType?n.data.length:n.childNodes.length;return{container:n,offset:o}})(m.endContainer,m.endOffset),w=null!==(o=i.getParent(p,i.isBlock))&&void 0!==o?o:i.getRoot(),h=k.backwards(p,y+t,((e,t)=>{const n=e.data,o=g(n,t,(r=f,e=>!r(e)));var r,a;return-1===o||(a=n[o],/[?!,.;:]/.test(a))?o:o+1}),w);if(!h)return null;let v=h.container;const _=k.backwards(h.container,h.offset,((e,t)=>{v=e;const n=g(e.data,t,f);return-1===n?n:n+1}),w),A=i.createRng();_?A.setStart(_.container,_.offset):A.setStart(v,0),A.setEnd(h.container,h.offset);const C=A.toString().replace(/\uFEFF/g,"").match(s);if(C){let t=C[0];return $="www.",(b=t).length>=4&&b.substr(0,4)===$?t=r(e)+"://"+t:((e,t,n=0,o)=>{const r=e.indexOf(t,n);return-1!==r&&(!!l(o)||r+t.length<=o)})(t,"@")&&!(e=>/^([A-Za-z][A-Za-z\d.+-]*:\/\/)|mailto:/.test(e))(t)&&(t="mailto:"+t),{rng:A,url:t}}var b,$;return null},k=(e,t)=>{const{dom:n,selection:r}=e,{rng:l,url:i}=t,c=r.getBookmark();r.setRng(l);const d="createlink",u={command:d,ui:!1,value:i};if(!e.dispatch("BeforeExecCommand",u).isDefaultPrevented()){e.getDoc().execCommand(d,!1,i),e.dispatch("ExecCommand",u);const t=o(e);if(s(t)){const o=r.getNode();n.setAttrib(o,"target",t),"_blank"!==t||a(e)||n.setAttrib(o,"rel","noopener")}}r.moveToBookmark(c),e.nodeChanged()},p=e=>{const t=m(e,-1);i(t)&&k(e,t)},y=p;e.add("autolink",(e=>{(e=>{const t=e.options.register;t("autolink_pattern",{processor:"regexp",default:new RegExp("^"+/(?:[A-Za-z][A-Za-z\d.+-]{0,14}:\/\/(?:[-.~*+=!&;:'%@?^${}(),\w]+@)?|www\.|[-;:&=+$,.\w]+@)[A-Za-z\d-]+(?:\.[A-Za-z\d-]+)*(?::\d+)?(?:\/(?:[-.~*+=!;:'%@$(),\/\w]*[-~*+=%@$()\/\w])?)?(?:\?(?:[-.~*+=!&;:'%@?^${}(),\/\w]+))?(?:#(?:[-.~*+=!&;:'%@?^${}(),\/\w]+))?/g.source+"$","i")}),t("link_default_target",{processor:"string"}),t("link_default_protocol",{processor:"string",default:"https"})})(e),(e=>{e.on("keydown",(t=>{13!==t.keyCode||t.isDefaultPrevented()||(e=>{const t=m(e,0);i(t)&&k(e,t)})(e)})),e.on("keyup",(t=>{32===t.keyCode?p(e):(48===t.keyCode&&t.shiftKey||221===t.keyCode)&&y(e)}))})(e)}))}(); \ No newline at end of file diff --git a/frontend/public/tinymce/plugins/autoresize/plugin.min.js b/frontend/public/tinymce/plugins/autoresize/plugin.min.js deleted file mode 100644 index 1dec1dd..0000000 --- a/frontend/public/tinymce/plugins/autoresize/plugin.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/** - * TinyMCE version 7.4.1 (TBD) - */ -!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),t=tinymce.util.Tools.resolve("tinymce.Env");const o=e=>t=>t.options.get(e),n=o("min_height"),s=o("max_height"),i=o("autoresize_overflow_padding"),r=o("autoresize_bottom_margin"),g=(e,t)=>{const o=e.getBody();o&&(o.style.overflowY=t?"":"hidden",t||(o.scrollTop=0))},l=(e,t,o,n)=>{var s;const i=parseInt(null!==(s=e.getStyle(t,o,n))&&void 0!==s?s:"",10);return isNaN(i)?0:i},a=(e,o,r,c)=>{var d;const u=e.dom,h=e.getDoc();if(!h)return;if((e=>e.plugins.fullscreen&&e.plugins.fullscreen.isFullscreen())(e))return void g(e,!0);const m=h.documentElement,f=c?c():i(e),p=null!==(d=n(e))&&void 0!==d?d:e.getElement().offsetHeight;let y=p;const S=l(u,m,"margin-top",!0),v=l(u,m,"margin-bottom",!0);let C=m.offsetHeight+S+v+f;C<0&&(C=0);const H=e.getContainer().offsetHeight-e.getContentAreaContainer().offsetHeight;C+H>p&&(y=C+H);const b=s(e);b&&y>b?(y=b,g(e,!0)):g(e,!1);const w=o.get();if(w.set&&(e.dom.setStyles(e.getDoc().documentElement,{"min-height":0}),e.dom.setStyles(e.getBody(),{"min-height":"inherit"})),y!==w.totalHeight&&(C-f!==w.contentHeight||!w.set)){const n=y-w.totalHeight;if(u.setStyle(e.getContainer(),"height",y+"px"),o.set({totalHeight:y,contentHeight:C,set:!0}),(e=>{e.dispatch("ResizeEditor")})(e),t.browser.isSafari()&&(t.os.isMacOS()||t.os.isiOS())){const t=e.getWin();t.scrollTo(t.pageXOffset,t.pageYOffset)}e.hasFocus()&&(e=>{if("setcontent"===(null==e?void 0:e.type.toLowerCase())){const t=e;return!0===t.selection||!0===t.paste}return!1})(r)&&e.selection.scrollIntoView(),(t.browser.isSafari()||t.browser.isChromium())&&n<0&&a(e,o,r,c)}};e.add("autoresize",(e=>{if((e=>{const t=e.options.register;t("autoresize_overflow_padding",{processor:"number",default:1}),t("autoresize_bottom_margin",{processor:"number",default:50})})(e),e.options.isSet("resize")||e.options.set("resize",!1),!e.inline){const o=(e=>{let t={totalHeight:0,contentHeight:0,set:!1};return{get:()=>t,set:e=>{t=e}}})();((e,t)=>{e.addCommand("mceAutoResize",(()=>{a(e,t)}))})(e,o),((e,o)=>{const n=()=>r(e);e.on("init",(s=>{const r=i(e),g=e.dom;g.setStyles(e.getDoc().documentElement,{height:"auto"}),t.browser.isEdge()||t.browser.isIE()?g.setStyles(e.getBody(),{paddingLeft:r,paddingRight:r,"min-height":0}):g.setStyles(e.getBody(),{paddingLeft:r,paddingRight:r}),a(e,o,s,n)})),e.on("NodeChange SetContent keyup FullscreenStateChanged ResizeContent",(t=>{a(e,o,t,n)}))})(e,o)}}))}(); \ No newline at end of file diff --git a/frontend/public/tinymce/plugins/autosave/plugin.min.js b/frontend/public/tinymce/plugins/autosave/plugin.min.js deleted file mode 100644 index 6d2c842..0000000 --- a/frontend/public/tinymce/plugins/autosave/plugin.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/** - * TinyMCE version 7.4.1 (TBD) - */ -!function(){"use strict";var t=tinymce.util.Tools.resolve("tinymce.PluginManager");const e=("string",t=>"string"===(t=>{const e=typeof t;return null===t?"null":"object"===e&&Array.isArray(t)?"array":"object"===e&&(r=o=t,(a=String).prototype.isPrototypeOf(r)||(null===(s=o.constructor)||void 0===s?void 0:s.name)===a.name)?"string":e;var r,o,a,s})(t));const r=(void 0,t=>undefined===t);var o=tinymce.util.Tools.resolve("tinymce.util.Delay"),a=tinymce.util.Tools.resolve("tinymce.util.LocalStorage"),s=tinymce.util.Tools.resolve("tinymce.util.Tools");const n=t=>{const e=/^(\d+)([ms]?)$/.exec(t);return(e&&e[2]?{s:1e3,m:6e4}[e[2]]:1)*parseInt(t,10)},i=t=>e=>e.options.get(t),u=i("autosave_ask_before_unload"),l=i("autosave_restore_when_empty"),c=i("autosave_interval"),d=i("autosave_retention"),m=t=>{const e=document.location;return t.options.get("autosave_prefix").replace(/{path}/g,e.pathname).replace(/{query}/g,e.search).replace(/{hash}/g,e.hash).replace(/{id}/g,t.id)},v=(t,e)=>{if(r(e))return t.dom.isEmpty(t.getBody());{const r=s.trim(e);if(""===r)return!0;{const e=(new DOMParser).parseFromString(r,"text/html");return t.dom.isEmpty(e)}}},f=t=>{var e;const r=parseInt(null!==(e=a.getItem(m(t)+"time"))&&void 0!==e?e:"0",10)||0;return!((new Date).getTime()-r>d(t)&&(p(t,!1),1))},p=(t,e)=>{const r=m(t);a.removeItem(r+"draft"),a.removeItem(r+"time"),!1!==e&&(t=>{t.dispatch("RemoveDraft")})(t)},g=t=>{const e=m(t);!v(t)&&t.isDirty()&&(a.setItem(e+"draft",t.getContent({format:"raw",no_events:!0})),a.setItem(e+"time",(new Date).getTime().toString()),(t=>{t.dispatch("StoreDraft")})(t))},y=t=>{var e;const r=m(t);f(t)&&(t.setContent(null!==(e=a.getItem(r+"draft"))&&void 0!==e?e:"",{format:"raw"}),(t=>{t.dispatch("RestoreDraft")})(t))};var D=tinymce.util.Tools.resolve("tinymce.EditorManager");const h=t=>e=>{const r=()=>f(t)&&!t.mode.isReadOnly();e.setEnabled(r());const o=()=>e.setEnabled(r());return t.on("StoreDraft RestoreDraft RemoveDraft",o),()=>t.off("StoreDraft RestoreDraft RemoveDraft",o)};t.add("autosave",(t=>((t=>{const r=t.options.register,o=t=>{const r=e(t);return r?{value:n(t),valid:r}:{valid:!1,message:"Must be a string."}};r("autosave_ask_before_unload",{processor:"boolean",default:!0}),r("autosave_prefix",{processor:"string",default:"tinymce-autosave-{path}{query}{hash}-{id}-"}),r("autosave_restore_when_empty",{processor:"boolean",default:!1}),r("autosave_interval",{processor:o,default:"30s"}),r("autosave_retention",{processor:o,default:"20m"})})(t),(t=>{t.editorManager.on("BeforeUnload",(t=>{let e;s.each(D.get(),(t=>{t.plugins.autosave&&t.plugins.autosave.storeDraft(),!e&&t.isDirty()&&u(t)&&(e=t.translate("You have unsaved changes are you sure you want to navigate away?"))})),e&&(t.preventDefault(),t.returnValue=e)}))})(t),(t=>{(t=>{const e=c(t);o.setEditorInterval(t,(()=>{g(t)}),e)})(t);const e=()=>{(t=>{t.undoManager.transact((()=>{y(t),p(t)})),t.focus()})(t)};t.ui.registry.addButton("restoredraft",{tooltip:"Restore last draft",icon:"restore-draft",onAction:e,onSetup:h(t)}),t.ui.registry.addMenuItem("restoredraft",{text:"Restore last draft",icon:"restore-draft",onAction:e,onSetup:h(t)})})(t),t.on("init",(()=>{l(t)&&t.dom.isEmpty(t.getBody())&&y(t)})),(t=>({hasDraft:()=>f(t),storeDraft:()=>g(t),restoreDraft:()=>y(t),removeDraft:e=>p(t,e),isEmpty:e=>v(t,e)}))(t))))}(); \ No newline at end of file diff --git a/frontend/public/tinymce/plugins/charmap/plugin.min.js b/frontend/public/tinymce/plugins/charmap/plugin.min.js deleted file mode 100644 index 3a33444..0000000 --- a/frontend/public/tinymce/plugins/charmap/plugin.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/** - * TinyMCE version 7.4.1 (TBD) - */ -!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager");const t=(e,t)=>{const r=((e,t)=>e.dispatch("insertCustomChar",{chr:t}))(e,t).chr;e.execCommand("mceInsertContent",!1,r)},r=e=>t=>e===t,a=("array",e=>"array"===(e=>{const t=typeof e;return null===e?"null":"object"===t&&Array.isArray(e)?"array":"object"===t&&(r=a=e,(n=String).prototype.isPrototypeOf(r)||(null===(i=a.constructor)||void 0===i?void 0:i.name)===n.name)?"string":t;var r,a,n,i})(e));const n=r(null),i=r(void 0),o=e=>"function"==typeof e,s=(!1,()=>false);class l{constructor(e,t){this.tag=e,this.value=t}static some(e){return new l(!0,e)}static none(){return l.singletonNone}fold(e,t){return this.tag?t(this.value):e()}isSome(){return this.tag}isNone(){return!this.tag}map(e){return this.tag?l.some(e(this.value)):l.none()}bind(e){return this.tag?e(this.value):l.none()}exists(e){return this.tag&&e(this.value)}forall(e){return!this.tag||e(this.value)}filter(e){return!this.tag||e(this.value)?this:l.none()}getOr(e){return this.tag?this.value:e}or(e){return this.tag?this:e}getOrThunk(e){return this.tag?this.value:e()}orThunk(e){return this.tag?this:e()}getOrDie(e){if(this.tag)return this.value;throw new Error(null!=e?e:"Called getOrDie on None")}static from(e){return null==e?l.none():l.some(e)}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(e){this.tag&&e(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}l.singletonNone=new l(!1);const c=Array.prototype.push,u=(e,t)=>{const r=e.length,a=new Array(r);for(let n=0;nt=>t.options.get(e),m=h("charmap"),p=h("charmap_append"),d=g.isArray,f="User Defined",y=e=>{return d(e)?(t=e,g.grep(t,(e=>d(e)&&2===e.length))):"function"==typeof e?e():[];var t},b=e=>{const t=((e,t)=>{const r=m(e);r&&(t=[{name:f,characters:y(r)}]);const a=p(e);if(a){const e=g.grep(t,(e=>e.name===f));return e.length?(e[0].characters=[...e[0].characters,...y(a)],t):t.concat({name:f,characters:y(a)})}return t})(e,[{name:"Currency",characters:[[36,"dollar sign"],[162,"cent sign"],[8364,"euro sign"],[163,"pound sign"],[165,"yen sign"],[164,"currency sign"],[8352,"euro-currency sign"],[8353,"colon sign"],[8354,"cruzeiro sign"],[8355,"french franc sign"],[8356,"lira sign"],[8357,"mill sign"],[8358,"naira sign"],[8359,"peseta sign"],[8360,"rupee sign"],[8361,"won sign"],[8362,"new sheqel sign"],[8363,"dong sign"],[8365,"kip sign"],[8366,"tugrik sign"],[8367,"drachma sign"],[8368,"german penny symbol"],[8369,"peso sign"],[8370,"guarani sign"],[8371,"austral sign"],[8372,"hryvnia sign"],[8373,"cedi sign"],[8374,"livre tournois sign"],[8375,"spesmilo sign"],[8376,"tenge sign"],[8377,"indian rupee sign"],[8378,"turkish lira sign"],[8379,"nordic mark sign"],[8380,"manat sign"],[8381,"ruble sign"],[20870,"yen character"],[20803,"yuan character"],[22291,"yuan character, in hong kong and taiwan"],[22278,"yen/yuan character variant one"]]},{name:"Text",characters:[[169,"copyright sign"],[174,"registered sign"],[8482,"trade mark sign"],[8240,"per mille sign"],[181,"micro sign"],[183,"middle dot"],[8226,"bullet"],[8230,"three dot leader"],[8242,"minutes / feet"],[8243,"seconds / inches"],[167,"section sign"],[182,"paragraph sign"],[223,"sharp s / ess-zed"]]},{name:"Quotations",characters:[[8249,"single left-pointing angle quotation mark"],[8250,"single right-pointing angle quotation mark"],[171,"left pointing guillemet"],[187,"right pointing guillemet"],[8216,"left single quotation mark"],[8217,"right single quotation mark"],[8220,"left double quotation mark"],[8221,"right double quotation mark"],[8218,"single low-9 quotation mark"],[8222,"double low-9 quotation mark"],[60,"less-than sign"],[62,"greater-than sign"],[8804,"less-than or equal to"],[8805,"greater-than or equal to"],[8211,"en dash"],[8212,"em dash"],[175,"macron"],[8254,"overline"],[164,"currency sign"],[166,"broken bar"],[168,"diaeresis"],[161,"inverted exclamation mark"],[191,"turned question mark"],[710,"circumflex accent"],[732,"small tilde"],[176,"degree sign"],[8722,"minus sign"],[177,"plus-minus sign"],[247,"division sign"],[8260,"fraction slash"],[215,"multiplication sign"],[185,"superscript one"],[178,"superscript two"],[179,"superscript three"],[188,"fraction one quarter"],[189,"fraction one half"],[190,"fraction three quarters"]]},{name:"Mathematical",characters:[[402,"function / florin"],[8747,"integral"],[8721,"n-ary sumation"],[8734,"infinity"],[8730,"square root"],[8764,"similar to"],[8773,"approximately equal to"],[8776,"almost equal to"],[8800,"not equal to"],[8801,"identical to"],[8712,"element of"],[8713,"not an element of"],[8715,"contains as member"],[8719,"n-ary product"],[8743,"logical and"],[8744,"logical or"],[172,"not sign"],[8745,"intersection"],[8746,"union"],[8706,"partial differential"],[8704,"for all"],[8707,"there exists"],[8709,"diameter"],[8711,"backward difference"],[8727,"asterisk operator"],[8733,"proportional to"],[8736,"angle"]]},{name:"Extended Latin",characters:[[192,"A - grave"],[193,"A - acute"],[194,"A - circumflex"],[195,"A - tilde"],[196,"A - diaeresis"],[197,"A - ring above"],[256,"A - macron"],[198,"ligature AE"],[199,"C - cedilla"],[200,"E - grave"],[201,"E - acute"],[202,"E - circumflex"],[203,"E - diaeresis"],[274,"E - macron"],[204,"I - grave"],[205,"I - acute"],[206,"I - circumflex"],[207,"I - diaeresis"],[298,"I - macron"],[208,"ETH"],[209,"N - tilde"],[210,"O - grave"],[211,"O - acute"],[212,"O - circumflex"],[213,"O - tilde"],[214,"O - diaeresis"],[216,"O - slash"],[332,"O - macron"],[338,"ligature OE"],[352,"S - caron"],[217,"U - grave"],[218,"U - acute"],[219,"U - circumflex"],[220,"U - diaeresis"],[362,"U - macron"],[221,"Y - acute"],[376,"Y - diaeresis"],[562,"Y - macron"],[222,"THORN"],[224,"a - grave"],[225,"a - acute"],[226,"a - circumflex"],[227,"a - tilde"],[228,"a - diaeresis"],[229,"a - ring above"],[257,"a - macron"],[230,"ligature ae"],[231,"c - cedilla"],[232,"e - grave"],[233,"e - acute"],[234,"e - circumflex"],[235,"e - diaeresis"],[275,"e - macron"],[236,"i - grave"],[237,"i - acute"],[238,"i - circumflex"],[239,"i - diaeresis"],[299,"i - macron"],[240,"eth"],[241,"n - tilde"],[242,"o - grave"],[243,"o - acute"],[244,"o - circumflex"],[245,"o - tilde"],[246,"o - diaeresis"],[248,"o slash"],[333,"o macron"],[339,"ligature oe"],[353,"s - caron"],[249,"u - grave"],[250,"u - acute"],[251,"u - circumflex"],[252,"u - diaeresis"],[363,"u - macron"],[253,"y - acute"],[254,"thorn"],[255,"y - diaeresis"],[563,"y - macron"],[913,"Alpha"],[914,"Beta"],[915,"Gamma"],[916,"Delta"],[917,"Epsilon"],[918,"Zeta"],[919,"Eta"],[920,"Theta"],[921,"Iota"],[922,"Kappa"],[923,"Lambda"],[924,"Mu"],[925,"Nu"],[926,"Xi"],[927,"Omicron"],[928,"Pi"],[929,"Rho"],[931,"Sigma"],[932,"Tau"],[933,"Upsilon"],[934,"Phi"],[935,"Chi"],[936,"Psi"],[937,"Omega"],[945,"alpha"],[946,"beta"],[947,"gamma"],[948,"delta"],[949,"epsilon"],[950,"zeta"],[951,"eta"],[952,"theta"],[953,"iota"],[954,"kappa"],[955,"lambda"],[956,"mu"],[957,"nu"],[958,"xi"],[959,"omicron"],[960,"pi"],[961,"rho"],[962,"final sigma"],[963,"sigma"],[964,"tau"],[965,"upsilon"],[966,"phi"],[967,"chi"],[968,"psi"],[969,"omega"]]},{name:"Symbols",characters:[[8501,"alef symbol"],[982,"pi symbol"],[8476,"real part symbol"],[978,"upsilon - hook symbol"],[8472,"Weierstrass p"],[8465,"imaginary part"]]},{name:"Arrows",characters:[[8592,"leftwards arrow"],[8593,"upwards arrow"],[8594,"rightwards arrow"],[8595,"downwards arrow"],[8596,"left right arrow"],[8629,"carriage return"],[8656,"leftwards double arrow"],[8657,"upwards double arrow"],[8658,"rightwards double arrow"],[8659,"downwards double arrow"],[8660,"left right double arrow"],[8756,"therefore"],[8834,"subset of"],[8835,"superset of"],[8836,"not a subset of"],[8838,"subset of or equal to"],[8839,"superset of or equal to"],[8853,"circled plus"],[8855,"circled times"],[8869,"perpendicular"],[8901,"dot operator"],[8968,"left ceiling"],[8969,"right ceiling"],[8970,"left floor"],[8971,"right floor"],[9001,"left-pointing angle bracket"],[9002,"right-pointing angle bracket"],[9674,"lozenge"],[9824,"black spade suit"],[9827,"black club suit"],[9829,"black heart suit"],[9830,"black diamond suit"],[8194,"en space"],[8195,"em space"],[8201,"thin space"],[8204,"zero width non-joiner"],[8205,"zero width joiner"],[8206,"left-to-right mark"],[8207,"right-to-left mark"]]}]);return t.length>1?[{name:"All",characters:(r=t,n=e=>e.characters,(e=>{const t=[];for(let r=0,n=e.length;r{let t=e;return{get:()=>t,set:e=>{t=e}}},v=(e,t,r=0,a)=>{const n=e.indexOf(t,r);return-1!==n&&(!!i(a)||n+t.length<=a)},k=String.fromCodePoint,C=(e,t)=>{const r=[],a=t.toLowerCase();return((e,t)=>{for(let t=0,i=e.length;t!!v(k(e).toLowerCase(),r)||v(t.toLowerCase(),r)||v(t.toLowerCase().replace(/\s+/g,""),r))((n=e[t])[0],n[1],a)&&r.push(n);var n})(e.characters),u(r,(e=>({text:e[1],value:k(e[0]),icon:k(e[0])})))},x="pattern",A=(e,r)=>{const a=()=>[{label:"Search",type:"input",name:x},{type:"collection",name:"results"}],i=1===r.length?w(f):w("All"),o=((e,t)=>{let r=null;const a=()=>{n(r)||(clearTimeout(r),r=null)};return{cancel:a,throttle:(...t)=>{a(),r=setTimeout((()=>{r=null,e.apply(null,t)}),40)}}})((e=>{const t=e.getData().pattern;((e,t)=>{var a,n;(a=r,n=e=>e.name===i.get(),((e,t,r)=>{for(let a=0,n=e.length;a{const a=C(r,t);e.setData({results:a})}))})(e,t)})),c={title:"Special Character",size:"normal",body:1===r.length?{type:"panel",items:a()}:{type:"tabpanel",tabs:u(r,(e=>({title:e.name,name:e.name,items:a()})))},buttons:[{type:"cancel",name:"close",text:"Close",primary:!0}],initialData:{pattern:"",results:C(r[0],"")},onAction:(r,a)=>{"results"===a.name&&(t(e,a.value),r.close())},onTabChange:(e,t)=>{i.set(t.newTabName),o.throttle(e)},onChange:(e,t)=>{t.name===x&&o.throttle(e)}};e.windowManager.open(c).focus(x)},q=e=>t=>{const r=()=>{t.setEnabled(e.selection.isEditable())};return e.on("NodeChange",r),r(),()=>{e.off("NodeChange",r)}};e.add("charmap",(e=>{(e=>{const t=e.options.register,r=e=>o(e)||a(e);t("charmap",{processor:r}),t("charmap_append",{processor:r})})(e);const r=b(e);return((e,t)=>{e.addCommand("mceShowCharmap",(()=>{A(e,t)}))})(e,r),(e=>{const t=()=>e.execCommand("mceShowCharmap");e.ui.registry.addButton("charmap",{icon:"insert-character",tooltip:"Special character",onAction:t,onSetup:q(e)}),e.ui.registry.addMenuItem("charmap",{icon:"insert-character",text:"Special character...",onAction:t,onSetup:q(e)})})(e),((e,t)=>{e.ui.registry.addAutocompleter("charmap",{trigger:":",columns:"auto",minChars:2,fetch:(e,r)=>new Promise(((r,a)=>{r(C(t,e))})),onAction:(t,r,a)=>{e.selection.setRng(r),e.insertContent(a),t.hide()}})})(e,r[0]),(e=>({getCharMap:()=>b(e),insertChar:r=>{t(e,r)}}))(e)}))}(); \ No newline at end of file diff --git a/frontend/public/tinymce/plugins/code/plugin.min.js b/frontend/public/tinymce/plugins/code/plugin.min.js deleted file mode 100644 index b6ce80a..0000000 --- a/frontend/public/tinymce/plugins/code/plugin.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/** - * TinyMCE version 7.4.1 (TBD) - */ -!function(){"use strict";tinymce.util.Tools.resolve("tinymce.PluginManager").add("code",(e=>((e=>{e.addCommand("mceCodeEditor",(()=>{(e=>{const o=(e=>e.getContent({source_view:!0}))(e);e.windowManager.open({title:"Source Code",size:"large",body:{type:"panel",items:[{type:"textarea",name:"code"}]},buttons:[{type:"cancel",name:"cancel",text:"Cancel"},{type:"submit",name:"save",text:"Save",primary:!0}],initialData:{code:o},onSubmit:o=>{((e,o)=>{e.focus(),e.undoManager.transact((()=>{e.setContent(o)})),e.selection.setCursorLocation(),e.nodeChanged()})(e,o.getData().code),o.close()}})})(e)}))})(e),(e=>{const o=()=>e.execCommand("mceCodeEditor");e.ui.registry.addButton("code",{icon:"sourcecode",tooltip:"Source code",onAction:o}),e.ui.registry.addMenuItem("code",{icon:"sourcecode",text:"Source code",onAction:o})})(e),{})))}(); \ No newline at end of file diff --git a/frontend/public/tinymce/plugins/codesample/plugin.min.js b/frontend/public/tinymce/plugins/codesample/plugin.min.js deleted file mode 100644 index 72df366..0000000 --- a/frontend/public/tinymce/plugins/codesample/plugin.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/** - * TinyMCE version 7.4.1 (TBD) - */ -!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager");const t=e=>!(e=>null==e)(e),n=()=>{};class a{constructor(e,t){this.tag=e,this.value=t}static some(e){return new a(!0,e)}static none(){return a.singletonNone}fold(e,t){return this.tag?t(this.value):e()}isSome(){return this.tag}isNone(){return!this.tag}map(e){return this.tag?a.some(e(this.value)):a.none()}bind(e){return this.tag?e(this.value):a.none()}exists(e){return this.tag&&e(this.value)}forall(e){return!this.tag||e(this.value)}filter(e){return!this.tag||e(this.value)?this:a.none()}getOr(e){return this.tag?this.value:e}or(e){return this.tag?this:e}getOrThunk(e){return this.tag?this.value:e()}orThunk(e){return this.tag?this:e()}getOrDie(e){if(this.tag)return this.value;throw new Error(null!=e?e:"Called getOrDie on None")}static from(e){return t(e)?a.some(e):a.none()}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(e){this.tag&&e(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}a.singletonNone=new a(!1);var s=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils");const r="undefined"!=typeof window?window:Function("return this;")(),i=function(e,t,n){const a=window.Prism;window.Prism={manual:!0};var s=function(e){var t=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,n=0,a={},s={manual:e.Prism&&e.Prism.manual,disableWorkerMessageHandler:e.Prism&&e.Prism.disableWorkerMessageHandler,util:{encode:function e(t){return t instanceof r?new r(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,"&").replace(/=d.reach);x+=_.value.length,_=_.next){var F=_.value;if(t.length>e.length)return;if(!(F instanceof r)){var A,S=1;if(y){if(!(A=i(v,x,e,m))||A.index>=e.length)break;var $=A.index,z=A.index+A[0].length,E=x;for(E+=_.value.length;$>=E;)E+=(_=_.next).value.length;if(x=E-=_.value.length,_.value instanceof r)continue;for(var C=_;C!==t.tail&&(Ed.reach&&(d.reach=O);var P=_.prev;if(B&&(P=u(t,P,B),x+=B.length),c(t,P,S),_=u(t,P,new r(g,f?s.tokenize(j,f):j,w,j)),T&&u(t,_,T),S>1){var N={cause:g+","+b,reach:O};o(e,t,n,_.prev,x,N),d&&N.reach>d.reach&&(d.reach=N.reach)}}}}}}function l(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function u(e,t,n){var a=t.next,s={value:n,prev:t,next:a};return t.next=s,a.prev=s,e.length++,s}function c(e,t,n){for(var a=t.next,s=0;s"+r.content+""},!e.document)return e.addEventListener?(s.disableWorkerMessageHandler||e.addEventListener("message",(function(t){var n=JSON.parse(t.data),a=n.language,r=n.code,i=n.immediateClose;e.postMessage(s.highlight(r,s.languages[a],a)),i&&e.close()}),!1),s):s;var d=s.util.currentScript();function g(){s.manual||s.highlightAll()}if(d&&(s.filename=d.src,d.hasAttribute("data-manual")&&(s.manual=!0)),!s.manual){var p=document.readyState;"loading"===p||"interactive"===p&&d&&d.defer?document.addEventListener("DOMContentLoaded",g):window.requestAnimationFrame?window.requestAnimationFrame(g):window.setTimeout(g,16)}return s}("undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{});return s.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,a,s,r){if(n.language===a){var i=n.tokenStack=[];n.code=n.code.replace(s,(function(e){if("function"==typeof r&&!r(e))return e;for(var s,o=i.length;-1!==n.code.indexOf(s=t(a,o));)++o;return i[o]=e,s})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,a){if(n.language===a&&n.tokenStack){n.grammar=e.languages[a];var s=0,r=Object.keys(n.tokenStack);!function i(o){for(var l=0;l=r.length);l++){var u=o[l];if("string"==typeof u||u.content&&"string"==typeof u.content){var c=r[s],d=n.tokenStack[c],g="string"==typeof u?u:u.content,p=t(a,c),b=g.indexOf(p);if(b>-1){++s;var h=g.substring(0,b),f=new e.Token(a,e.tokenize(d,n.grammar),"language-"+a,d),m=g.substring(b+p.length),y=[];h&&y.push.apply(y,i([h])),y.push(f),m&&y.push.apply(y,i([m])),"string"==typeof u?o.splice.apply(o,[l,1].concat(y)):u.content=y}}else u.content&&i(u.content)}return o}(n.tokens)}}}})}(s),s.languages.c=s.languages.extend("clike",{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),s.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),s.languages.insertBefore("c","string",{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},s.languages.c.string],char:s.languages.c.char,comment:s.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:s.languages.c}}}}),s.languages.insertBefore("c","function",{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete s.languages.c.boolean,function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,n=/\b(?!)\w+(?:\s*\.\s*\w+)*\b/.source.replace(//g,(function(){return t.source}));e.languages.cpp=e.languages.extend("c",{"class-name":[{pattern:RegExp(/(\b(?:class|concept|enum|struct|typename)\s+)(?!)\w+/.source.replace(//g,(function(){return t.source}))),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),e.languages.insertBefore("cpp","string",{module:{pattern:RegExp(/(\b(?:import|module)\s+)/.source+"(?:"+/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source+"|"+/(?:\s*:\s*)?|:\s*/.source.replace(//g,(function(){return n}))+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),e.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:e.languages.cpp}}}}),e.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),e.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend("cpp",{})}}),e.languages.insertBefore("inside","double-colon",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp["base-clause"])}(s),function(e){function t(e,t){return e.replace(/<<(\d+)>>/g,(function(e,n){return"(?:"+t[+n]+")"}))}function n(e,n,a){return RegExp(t(e,n),a||"")}function a(e,t){for(var n=0;n>/g,(function(){return"(?:"+e+")"}));return e.replace(/<>/g,"[^\\s\\S]")}var s="bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void",r="class enum interface record struct",i="add alias and ascending async await by descending from(?=\\s*(?:\\w|$)) get global group into init(?=\\s*;) join let nameof not notnull on or orderby partial remove select set unmanaged value when where with(?=\\s*{)",o="abstract as base break case catch checked const continue default delegate do else event explicit extern finally fixed for foreach goto if implicit in internal is lock namespace new null operator out override params private protected public readonly ref return sealed sizeof stackalloc static switch this throw try typeof unchecked unsafe using virtual volatile while yield";function l(e){return"\\b(?:"+e.trim().replace(/ /g,"|")+")\\b"}var u=l(r),c=RegExp(l(s+" "+r+" "+i+" "+o)),d=l(r+" "+i+" "+o),g=l(s+" "+r+" "+o),p=a(/<(?:[^<>;=+\-*/%&|^]|<>)*>/.source,2),b=a(/\((?:[^()]|<>)*\)/.source,2),h=/@?\b[A-Za-z_]\w*\b/.source,f=t(/<<0>>(?:\s*<<1>>)?/.source,[h,p]),m=t(/(?!<<0>>)<<1>>(?:\s*\.\s*<<1>>)*/.source,[d,f]),y=/\[\s*(?:,\s*)*\]/.source,w=t(/<<0>>(?:\s*(?:\?\s*)?<<1>>)*(?:\s*\?)?/.source,[m,y]),k=t(/[^,()<>[\];=+\-*/%&|^]|<<0>>|<<1>>|<<2>>/.source,[p,b,y]),v=t(/\(<<0>>+(?:,<<0>>+)+\)/.source,[k]),_=t(/(?:<<0>>|<<1>>)(?:\s*(?:\?\s*)?<<2>>)*(?:\s*\?)?/.source,[v,m,y]),x={keyword:c,punctuation:/[<>()?,.:[\]]/},F=/'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'/.source,A=/"(?:\\.|[^\\"\r\n])*"/.source,S=/@"(?:""|\\[\s\S]|[^\\"])*"(?!")/.source;e.languages.csharp=e.languages.extend("clike",{string:[{pattern:n(/(^|[^$\\])<<0>>/.source,[S]),lookbehind:!0,greedy:!0},{pattern:n(/(^|[^@$\\])<<0>>/.source,[A]),lookbehind:!0,greedy:!0}],"class-name":[{pattern:n(/(\busing\s+static\s+)<<0>>(?=\s*;)/.source,[m]),lookbehind:!0,inside:x},{pattern:n(/(\busing\s+<<0>>\s*=\s*)<<1>>(?=\s*;)/.source,[h,_]),lookbehind:!0,inside:x},{pattern:n(/(\busing\s+)<<0>>(?=\s*=)/.source,[h]),lookbehind:!0},{pattern:n(/(\b<<0>>\s+)<<1>>/.source,[u,f]),lookbehind:!0,inside:x},{pattern:n(/(\bcatch\s*\(\s*)<<0>>/.source,[m]),lookbehind:!0,inside:x},{pattern:n(/(\bwhere\s+)<<0>>/.source,[h]),lookbehind:!0},{pattern:n(/(\b(?:is(?:\s+not)?|as)\s+)<<0>>/.source,[w]),lookbehind:!0,inside:x},{pattern:n(/\b<<0>>(?=\s+(?!<<1>>|with\s*\{)<<2>>(?:\s*[=,;:{)\]]|\s+(?:in|when)\b))/.source,[_,g,h]),inside:x}],keyword:c,number:/(?:\b0(?:x[\da-f_]*[\da-f]|b[01_]*[01])|(?:\B\.\d+(?:_+\d+)*|\b\d+(?:_+\d+)*(?:\.\d+(?:_+\d+)*)?)(?:e[-+]?\d+(?:_+\d+)*)?)(?:[dflmu]|lu|ul)?\b/i,operator:/>>=?|<<=?|[-=]>|([-+&|])\1|~|\?\?=?|[-+*/%&|^!=<>]=?/,punctuation:/\?\.?|::|[{}[\];(),.:]/}),e.languages.insertBefore("csharp","number",{range:{pattern:/\.\./,alias:"operator"}}),e.languages.insertBefore("csharp","punctuation",{"named-parameter":{pattern:n(/([(,]\s*)<<0>>(?=\s*:)/.source,[h]),lookbehind:!0,alias:"punctuation"}}),e.languages.insertBefore("csharp","class-name",{namespace:{pattern:n(/(\b(?:namespace|using)\s+)<<0>>(?:\s*\.\s*<<0>>)*(?=\s*[;{])/.source,[h]),lookbehind:!0,inside:{punctuation:/\./}},"type-expression":{pattern:n(/(\b(?:default|sizeof|typeof)\s*\(\s*(?!\s))(?:[^()\s]|\s(?!\s)|<<0>>)*(?=\s*\))/.source,[b]),lookbehind:!0,alias:"class-name",inside:x},"return-type":{pattern:n(/<<0>>(?=\s+(?:<<1>>\s*(?:=>|[({]|\.\s*this\s*\[)|this\s*\[))/.source,[_,m]),inside:x,alias:"class-name"},"constructor-invocation":{pattern:n(/(\bnew\s+)<<0>>(?=\s*[[({])/.source,[_]),lookbehind:!0,inside:x,alias:"class-name"},"generic-method":{pattern:n(/<<0>>\s*<<1>>(?=\s*\()/.source,[h,p]),inside:{function:n(/^<<0>>/.source,[h]),generic:{pattern:RegExp(p),alias:"class-name",inside:x}}},"type-list":{pattern:n(/\b((?:<<0>>\s+<<1>>|record\s+<<1>>\s*<<5>>|where\s+<<2>>)\s*:\s*)(?:<<3>>|<<4>>|<<1>>\s*<<5>>|<<6>>)(?:\s*,\s*(?:<<3>>|<<4>>|<<6>>))*(?=\s*(?:where|[{;]|=>|$))/.source,[u,f,h,_,c.source,b,/\bnew\s*\(\s*\)/.source]),lookbehind:!0,inside:{"record-arguments":{pattern:n(/(^(?!new\s*\()<<0>>\s*)<<1>>/.source,[f,b]),lookbehind:!0,greedy:!0,inside:e.languages.csharp},keyword:c,"class-name":{pattern:RegExp(_),greedy:!0,inside:x},punctuation:/[,()]/}},preprocessor:{pattern:/(^[\t ]*)#.*/m,lookbehind:!0,alias:"property",inside:{directive:{pattern:/(#)\b(?:define|elif|else|endif|endregion|error|if|line|nullable|pragma|region|undef|warning)\b/,lookbehind:!0,alias:"keyword"}}}});var $=A+"|"+F,z=t(/\/(?![*/])|\/\/[^\r\n]*[\r\n]|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>/.source,[$]),E=a(t(/[^"'/()]|<<0>>|\(<>*\)/.source,[z]),2),C=/\b(?:assembly|event|field|method|module|param|property|return|type)\b/.source,j=t(/<<0>>(?:\s*\(<<1>>*\))?/.source,[m,E]);e.languages.insertBefore("csharp","class-name",{attribute:{pattern:n(/((?:^|[^\s\w>)?])\s*\[\s*)(?:<<0>>\s*:\s*)?<<1>>(?:\s*,\s*<<1>>)*(?=\s*\])/.source,[C,j]),lookbehind:!0,greedy:!0,inside:{target:{pattern:n(/^<<0>>(?=\s*:)/.source,[C]),alias:"keyword"},"attribute-arguments":{pattern:n(/\(<<0>>*\)/.source,[E]),inside:e.languages.csharp},"class-name":{pattern:RegExp(m),inside:{punctuation:/\./}},punctuation:/[:,]/}}});var B=/:[^}\r\n]+/.source,T=a(t(/[^"'/()]|<<0>>|\(<>*\)/.source,[z]),2),O=t(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source,[T,B]),P=a(t(/[^"'/()]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>|\(<>*\)/.source,[$]),2),N=t(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source,[P,B]);function R(t,a){return{interpolation:{pattern:n(/((?:^|[^{])(?:\{\{)*)<<0>>/.source,[t]),lookbehind:!0,inside:{"format-string":{pattern:n(/(^\{(?:(?![}:])<<0>>)*)<<1>>(?=\}$)/.source,[a,B]),lookbehind:!0,inside:{punctuation:/^:/}},punctuation:/^\{|\}$/,expression:{pattern:/[\s\S]+/,alias:"language-csharp",inside:e.languages.csharp}}},string:/[\s\S]+/}}e.languages.insertBefore("csharp","string",{"interpolation-string":[{pattern:n(/(^|[^\\])(?:\$@|@\$)"(?:""|\\[\s\S]|\{\{|<<0>>|[^\\{"])*"/.source,[O]),lookbehind:!0,greedy:!0,inside:R(O,T)},{pattern:n(/(^|[^@\\])\$"(?:\\.|\{\{|<<0>>|[^\\"{])*"/.source,[N]),lookbehind:!0,greedy:!0,inside:R(N,P)}],char:{pattern:RegExp(F),greedy:!0}}),e.languages.dotnet=e.languages.cs=e.languages.csharp}(s),function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+t.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var n=e.languages.markup;n&&(n.tag.addInlined("style","css"),n.tag.addAttribute("style","css"))}(s),function(e){var t=/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record(?!\s*[(){}[\]<>=%~.:,;?+\-*/&|^])|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/,n=/(?:[a-z]\w*\s*\.\s*)*(?:[A-Z]\w*\s*\.\s*)*/.source,a={pattern:RegExp(/(^|[^\w.])/.source+n+/[A-Z](?:[\d_A-Z]*[a-z]\w*)?\b/.source),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}},punctuation:/\./}};e.languages.java=e.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"/,lookbehind:!0,greedy:!0},"class-name":[a,{pattern:RegExp(/(^|[^\w.])/.source+n+/[A-Z]\w*(?=\s+\w+\s*[;,=()]|\s*(?:\[[\s,]*\]\s*)?::\s*new\b)/.source),lookbehind:!0,inside:a.inside},{pattern:RegExp(/(\b(?:class|enum|extends|implements|instanceof|interface|new|record|throws)\s+)/.source+n+/[A-Z]\w*\b/.source),lookbehind:!0,inside:a.inside}],keyword:t,function:[e.languages.clike.function,{pattern:/(::\s*)[a-z_]\w*/,lookbehind:!0}],number:/\b0b[01][01_]*L?\b|\b0x(?:\.[\da-f_p+-]+|[\da-f_]+(?:\.[\da-f_p+-]+)?)\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,lookbehind:!0},constant:/\b[A-Z][A-Z_\d]+\b/}),e.languages.insertBefore("java","string",{"triple-quoted-string":{pattern:/"""[ \t]*[\r\n](?:(?:"|"")?(?:\\.|[^"\\]))*"""/,greedy:!0,alias:"string"},char:{pattern:/'(?:\\.|[^'\\\r\n]){1,6}'/,greedy:!0}}),e.languages.insertBefore("java","class-name",{annotation:{pattern:/(^|[^.])@\w+(?:\s*\.\s*\w+)*/,lookbehind:!0,alias:"punctuation"},generics:{pattern:/<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&))*>)*>)*>)*>/,inside:{"class-name":a,keyword:t,punctuation:/[<>(),.:]/,operator:/[?&|]/}},import:[{pattern:RegExp(/(\bimport\s+)/.source+n+/(?:[A-Z]\w*|\*)(?=\s*;)/.source),lookbehind:!0,inside:{namespace:a.inside.namespace,punctuation:/\./,operator:/\*/,"class-name":/\w+/}},{pattern:RegExp(/(\bimport\s+static\s+)/.source+n+/(?:\w+|\*)(?=\s*;)/.source),lookbehind:!0,alias:"static",inside:{namespace:a.inside.namespace,static:/\b\w+$/,punctuation:/\./,operator:/\*/,"class-name":/\w+/}}],namespace:{pattern:RegExp(/(\b(?:exports|import(?:\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\s+)(?!)[a-z]\w*(?:\.[a-z]\w*)*\.?/.source.replace(//g,(function(){return t.source}))),lookbehind:!0,inside:{punctuation:/\./}}})}(s),s.languages.javascript=s.languages.extend("clike",{"class-name":[s.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),s.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,s.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:s.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:s.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:s.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:s.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:s.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),s.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:s.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),s.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),s.languages.markup&&(s.languages.markup.tag.addInlined("script","javascript"),s.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),s.languages.js=s.languages.javascript,s.languages.markup={comment:{pattern://,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern://i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},s.languages.markup.tag.inside["attr-value"].inside.entity=s.languages.markup.entity,s.languages.markup.doctype.inside["internal-subset"].inside=s.languages.markup,s.hooks.add("wrap",(function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))})),Object.defineProperty(s.languages.markup.tag,"addInlined",{value:function(e,t){var n={};n["language-"+t]={pattern:/(^$)/i,lookbehind:!0,inside:s.languages[t]},n.cdata=/^$/i;var a={"included-cdata":{pattern://i,inside:n}};a["language-"+t]={pattern:/[\s\S]+/,inside:s.languages[t]};var r={};r[e]={pattern:RegExp(/(<__[^>]*>)(?:))*\]\]>|(?!)/.source.replace(/__/g,(function(){return e})),"i"),lookbehind:!0,greedy:!0,inside:a},s.languages.insertBefore("markup","cdata",r)}}),Object.defineProperty(s.languages.markup.tag,"addAttribute",{value:function(e,t){s.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+e+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:s.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),s.languages.html=s.languages.markup,s.languages.mathml=s.languages.markup,s.languages.svg=s.languages.markup,s.languages.xml=s.languages.extend("markup",{}),s.languages.ssml=s.languages.xml,s.languages.atom=s.languages.xml,s.languages.rss=s.languages.xml,function(e){var t=/\/\*[\s\S]*?\*\/|\/\/.*|#(?!\[).*/,n=[{pattern:/\b(?:false|true)\b/i,alias:"boolean"},{pattern:/(::\s*)\b[a-z_]\w*\b(?!\s*\()/i,greedy:!0,lookbehind:!0},{pattern:/(\b(?:case|const)\s+)\b[a-z_]\w*(?=\s*[;=])/i,greedy:!0,lookbehind:!0},/\b(?:null)\b/i,/\b[A-Z_][A-Z0-9_]*\b(?!\s*\()/],a=/\b0b[01]+(?:_[01]+)*\b|\b0o[0-7]+(?:_[0-7]+)*\b|\b0x[\da-f]+(?:_[\da-f]+)*\b|(?:\b\d+(?:_\d+)*\.?(?:\d+(?:_\d+)*)?|\B\.\d+)(?:e[+-]?\d+)?/i,s=/|\?\?=?|\.{3}|\??->|[!=]=?=?|::|\*\*=?|--|\+\+|&&|\|\||<<|>>|[?~]|[/^|%*&<>.+-]=?/,r=/[{}\[\](),:;]/;e.languages.php={delimiter:{pattern:/\?>$|^<\?(?:php(?=\s)|=)?/i,alias:"important"},comment:t,variable:/\$+(?:\w+\b|(?=\{))/,package:{pattern:/(namespace\s+|use\s+(?:function\s+)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,lookbehind:!0,inside:{punctuation:/\\/}},"class-name-definition":{pattern:/(\b(?:class|enum|interface|trait)\s+)\b[a-z_]\w*(?!\\)\b/i,lookbehind:!0,alias:"class-name"},"function-definition":{pattern:/(\bfunction\s+)[a-z_]\w*(?=\s*\()/i,lookbehind:!0,alias:"function"},keyword:[{pattern:/(\(\s*)\b(?:array|bool|boolean|float|int|integer|object|string)\b(?=\s*\))/i,alias:"type-casting",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|object|self|static|string)\b(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|never|object|self|static|string|void)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/\b(?:array(?!\s*\()|bool|float|int|iterable|mixed|object|string|void)\b/i,alias:"type-declaration",greedy:!0},{pattern:/(\|\s*)(?:false|null)\b|\b(?:false|null)(?=\s*\|)/i,alias:"type-declaration",greedy:!0,lookbehind:!0},{pattern:/\b(?:parent|self|static)(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(\byield\s+)from\b/i,lookbehind:!0},/\bclass\b/i,{pattern:/((?:^|[^\s>:]|(?:^|[^-])>|(?:^|[^:]):)\s*)\b(?:abstract|and|array|as|break|callable|case|catch|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|enum|eval|exit|extends|final|finally|fn|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|match|namespace|never|new|or|parent|print|private|protected|public|readonly|require|require_once|return|self|static|switch|throw|trait|try|unset|use|var|while|xor|yield|__halt_compiler)\b/i,lookbehind:!0}],"argument-name":{pattern:/([(,]\s*)\b[a-z_]\w*(?=\s*:(?!:))/i,lookbehind:!0},"class-name":[{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self|\s+static))\s+|\bcatch\s*\()\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/(\|\s*)\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/\b[a-z_]\w*(?!\\)\b(?=\s*\|)/i,greedy:!0},{pattern:/(\|\s*)(?:\\?\b[a-z_]\w*)+\b/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(?:\\?\b[a-z_]\w*)+\b(?=\s*\|)/i,alias:"class-name-fully-qualified",greedy:!0,inside:{punctuation:/\\/}},{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self\b|\s+static\b))\s+|\bcatch\s*\()(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*\$)/i,alias:"type-declaration",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-declaration"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*::)/i,alias:["class-name-fully-qualified","static-context"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/([(,?]\s*)[a-z_]\w*(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-hint"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b[a-z_]\w*(?!\\)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:["class-name-fully-qualified","return-type"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:n,function:{pattern:/(^|[^\\\w])\\?[a-z_](?:[\w\\]*\w)?(?=\s*\()/i,lookbehind:!0,inside:{punctuation:/\\/}},property:{pattern:/(->\s*)\w+/,lookbehind:!0},number:a,operator:s,punctuation:r};var i={pattern:/\{\$(?:\{(?:\{[^{}]+\}|[^{}]+)\}|[^{}])+\}|(^|[^\\{])\$+(?:\w+(?:\[[^\r\n\[\]]+\]|->\w+)?)/,lookbehind:!0,inside:e.languages.php},o=[{pattern:/<<<'([^']+)'[\r\n](?:.*[\r\n])*?\1;/,alias:"nowdoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<'[^']+'|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<'?|[';]$/}}}},{pattern:/<<<(?:"([^"]+)"[\r\n](?:.*[\r\n])*?\1;|([a-z_]\w*)[\r\n](?:.*[\r\n])*?\2;)/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<(?:"[^"]+"|[a-z_]\w*)|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<"?|[";]$/}},interpolation:i}},{pattern:/`(?:\\[\s\S]|[^\\`])*`/,alias:"backtick-quoted-string",greedy:!0},{pattern:/'(?:\\[\s\S]|[^\\'])*'/,alias:"single-quoted-string",greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,alias:"double-quoted-string",greedy:!0,inside:{interpolation:i}}];e.languages.insertBefore("php","variable",{string:o,attribute:{pattern:/#\[(?:[^"'\/#]|\/(?![*/])|\/\/.*$|#(?!\[).*$|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*')+\](?=\s*[a-z$#])/im,greedy:!0,inside:{"attribute-content":{pattern:/^(#\[)[\s\S]+(?=\]$)/,lookbehind:!0,inside:{comment:t,string:o,"attribute-class-name":[{pattern:/([^:]|^)\b[a-z_]\w*(?!\\)\b/i,alias:"class-name",greedy:!0,lookbehind:!0},{pattern:/([^:]|^)(?:\\?\b[a-z_]\w*)+/i,alias:["class-name","class-name-fully-qualified"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:n,number:a,operator:s,punctuation:r}},delimiter:{pattern:/^#\[|\]$/,alias:"punctuation"}}}}),e.hooks.add("before-tokenize",(function(t){/<\?/.test(t.code)&&e.languages["markup-templating"].buildPlaceholders(t,"php",/<\?(?:[^"'/#]|\/(?![*/])|("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|(?:\/\/|#(?!\[))(?:[^?\n\r]|\?(?!>))*(?=$|\?>|[\r\n])|#\[|\/\*(?:[^*]|\*(?!\/))*(?:\*\/|$))*?(?:\?>|$)/g)})),e.hooks.add("after-tokenize",(function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"php")}))}(s),s.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},s.languages.python["string-interpolation"].inside.interpolation.inside.rest=s.languages.python,s.languages.py=s.languages.python,function(e){e.languages.ruby=e.languages.extend("clike",{comment:{pattern:/#.*|^=begin\s[\s\S]*?^=end/m,greedy:!0},"class-name":{pattern:/(\b(?:class|module)\s+|\bcatch\s+\()[\w.\\]+|\b[A-Z_]\w*(?=\s*\.\s*new\b)/,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:BEGIN|END|alias|and|begin|break|case|class|def|define_method|defined|do|each|else|elsif|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|private|protected|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\b/,operator:/\.{2,3}|&\.|===||[!=]?~|(?:&&|\|\||<<|>>|\*\*|[+\-*/%<>!^&|=])=?|[?:]/,punctuation:/[(){}[\].,;]/}),e.languages.insertBefore("ruby","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}});var t={pattern:/((?:^|[^\\])(?:\\{2})*)#\{(?:[^{}]|\{[^{}]*\})*\}/,lookbehind:!0,inside:{content:{pattern:/^(#\{)[\s\S]+(?=\}$)/,lookbehind:!0,inside:e.languages.ruby},delimiter:{pattern:/^#\{|\}$/,alias:"punctuation"}}};delete e.languages.ruby.function;var n="(?:"+[/([^a-zA-Z0-9\s{(\[<=])(?:(?!\1)[^\\]|\\[\s\S])*\1/.source,/\((?:[^()\\]|\\[\s\S]|\((?:[^()\\]|\\[\s\S])*\))*\)/.source,/\{(?:[^{}\\]|\\[\s\S]|\{(?:[^{}\\]|\\[\s\S])*\})*\}/.source,/\[(?:[^\[\]\\]|\\[\s\S]|\[(?:[^\[\]\\]|\\[\s\S])*\])*\]/.source,/<(?:[^<>\\]|\\[\s\S]|<(?:[^<>\\]|\\[\s\S])*>)*>/.source].join("|")+")",a=/(?:"(?:\\.|[^"\\\r\n])*"|(?:\b[a-zA-Z_]\w*|[^\s\0-\x7F]+)[?!]?|\$.)/.source;e.languages.insertBefore("ruby","keyword",{"regex-literal":[{pattern:RegExp(/%r/.source+n+/[egimnosux]{0,6}/.source),greedy:!0,inside:{interpolation:t,regex:/[\s\S]+/}},{pattern:/(^|[^/])\/(?!\/)(?:\[[^\r\n\]]+\]|\\.|[^[/\\\r\n])+\/[egimnosux]{0,6}(?=\s*(?:$|[\r\n,.;})#]))/,lookbehind:!0,greedy:!0,inside:{interpolation:t,regex:/[\s\S]+/}}],variable:/[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/,symbol:[{pattern:RegExp(/(^|[^:]):/.source+a),lookbehind:!0,greedy:!0},{pattern:RegExp(/([\r\n{(,][ \t]*)/.source+a+/(?=:(?!:))/.source),lookbehind:!0,greedy:!0}],"method-definition":{pattern:/(\bdef\s+)\w+(?:\s*\.\s*\w+)?/,lookbehind:!0,inside:{function:/\b\w+$/,keyword:/^self\b/,"class-name":/^\w+/,punctuation:/\./}}}),e.languages.insertBefore("ruby","string",{"string-literal":[{pattern:RegExp(/%[qQiIwWs]?/.source+n),greedy:!0,inside:{interpolation:t,string:/[\s\S]+/}},{pattern:/("|')(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|(?!\1)[^\\#\r\n])*\1/,greedy:!0,inside:{interpolation:t,string:/[\s\S]+/}},{pattern:/<<[-~]?([a-z_]\w*)[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?[a-z_]\w*|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?/}},interpolation:t,string:/[\s\S]+/}},{pattern:/<<[-~]?'([a-z_]\w*)'[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?'[a-z_]\w*'|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?'|'$/}},string:/[\s\S]+/}}],"command-literal":[{pattern:RegExp(/%x/.source+n),greedy:!0,inside:{interpolation:t,command:{pattern:/[\s\S]+/,alias:"string"}}},{pattern:/`(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|[^\\`#\r\n])*`/,greedy:!0,inside:{interpolation:t,command:{pattern:/[\s\S]+/,alias:"string"}}}]}),delete e.languages.ruby.string,e.languages.insertBefore("ruby","number",{builtin:/\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Fixnum|Float|Hash|IO|Integer|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|Stat|String|Struct|Symbol|TMS|Thread|ThreadGroup|Time|TrueClass)\b/,constant:/\b[A-Z][A-Z0-9_]*(?:[?!]|\b)/}),e.languages.rb=e.languages.ruby}(s),window.Prism=a,s}(),o=e=>t=>t.options.get(e),l=o("codesample_languages"),u=o("codesample_global_prismjs"),c=e=>r.Prism&&u(e)?r.Prism:i,d=e=>t(e)&&"PRE"===e.nodeName&&-1!==e.className.indexOf("language-"),g=e=>{const t=e.selection?e.selection.getNode():null;return d(t)?a.some(t):a.none()},p=e=>{const t=(e=>l(e)||[{text:"HTML/XML",value:"markup"},{text:"JavaScript",value:"javascript"},{text:"CSS",value:"css"},{text:"PHP",value:"php"},{text:"Ruby",value:"ruby"},{text:"Python",value:"python"},{text:"Java",value:"java"},{text:"C",value:"c"},{text:"C#",value:"csharp"},{text:"C++",value:"cpp"}])(e),n=(r=t,((e,t)=>0""),(e=>e.value));var r;const i=((e,t)=>g(e).fold((()=>t),(e=>{const n=e.className.match(/language-(\w+)/);return n?n[1]:t})))(e,n),o=(e=>g(e).bind((e=>a.from(e.textContent))).getOr(""))(e);e.windowManager.open({title:"Insert/Edit Code Sample",size:"large",body:{type:"panel",items:[{type:"listbox",name:"language",label:"Language",items:t},{type:"textarea",name:"code",label:"Code view"}]},buttons:[{type:"cancel",name:"cancel",text:"Cancel"},{type:"submit",name:"save",text:"Save",primary:!0}],initialData:{language:i,code:o},onSubmit:t=>{const n=t.getData();((e,t,n)=>{const a=e.dom;e.undoManager.transact((()=>{const r=g(e);return n=s.DOM.encode(n),r.fold((()=>{e.insertContent('
'+n+"
");const s=a.select("#__new")[0];a.setAttrib(s,"id",null),e.selection.select(s)}),(s=>{a.setAttrib(s,"class","language-"+t),s.innerHTML=n,c(e).highlightElement(s),e.selection.select(s)}))}))})(e,n.language,n.code),t.close()}})},b=(h=/^\s+|\s+$/g,e=>e.replace(h,""));var h,f=tinymce.util.Tools.resolve("tinymce.util.Tools");const m=(e,t=n)=>n=>{const a=()=>{n.setEnabled(e.selection.isEditable()),t(n)};return e.on("NodeChange",a),a(),()=>{e.off("NodeChange",a)}};e.add("codesample",(e=>{(e=>{const t=e.options.register;t("codesample_languages",{processor:"object[]"}),t("codesample_global_prismjs",{processor:"boolean",default:!1})})(e),(e=>{e.on("PreProcess",(t=>{const n=e.dom,a=n.select("pre[contenteditable=false]",t.node);f.each(f.grep(a,d),(e=>{const t=e.textContent;let a;for(n.setAttrib(e,"class",b(n.getAttrib(e,"class"))),n.setAttrib(e,"contentEditable",null),n.setAttrib(e,"data-mce-highlighted",null);a=e.firstChild;)e.removeChild(a);n.add(e,"code").textContent=t}))})),e.on("SetContent",(()=>{const t=e.dom,n=f.grep(t.select("pre"),(e=>d(e)&&"true"!==t.getAttrib(e,"data-mce-highlighted")));n.length&&e.undoManager.transact((()=>{f.each(n,(n=>{var a;f.each(t.select("br",n),(n=>{t.replace(e.getDoc().createTextNode("\n"),n)})),n.innerHTML=t.encode(null!==(a=n.textContent)&&void 0!==a?a:""),c(e).highlightElement(n),t.setAttrib(n,"data-mce-highlighted",!0),n.className=b(n.className)}))}))})),e.on("PreInit",(()=>{e.parser.addNodeFilter("pre",(e=>{var t;for(let n=0,a=e.length;n{const t=()=>e.execCommand("codesample");e.ui.registry.addToggleButton("codesample",{icon:"code-sample",tooltip:"Insert/edit code sample",onAction:t,onSetup:m(e,(t=>{t.setActive((e=>{const t=e.selection.getStart();return e.dom.is(t,'pre[class*="language-"]')})(e))}))}),e.ui.registry.addMenuItem("codesample",{text:"Code sample...",icon:"code-sample",onAction:t,onSetup:m(e)})})(e),(e=>{e.addCommand("codesample",(()=>{const t=e.selection.getNode();e.selection.isCollapsed()||d(t)?p(e):e.formatter.toggle("code")}))})(e),e.on("dblclick",(t=>{d(t.target)&&p(e)}))}))}(); \ No newline at end of file diff --git a/frontend/public/tinymce/plugins/directionality/plugin.min.js b/frontend/public/tinymce/plugins/directionality/plugin.min.js deleted file mode 100644 index ff87a46..0000000 --- a/frontend/public/tinymce/plugins/directionality/plugin.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/** - * TinyMCE version 7.4.1 (TBD) - */ -!function(){"use strict";var t=tinymce.util.Tools.resolve("tinymce.PluginManager");const e=t=>e=>typeof e===t,o=t=>"string"===(t=>{const e=typeof t;return null===t?"null":"object"===e&&Array.isArray(t)?"array":"object"===e&&(o=r=t,(n=String).prototype.isPrototypeOf(o)||(null===(i=r.constructor)||void 0===i?void 0:i.name)===n.name)?"string":e;var o,r,n,i})(t),r=e("boolean"),n=t=>!(t=>null==t)(t),i=e("function"),s=e("number"),l=(!1,()=>false);class a{constructor(t,e){this.tag=t,this.value=e}static some(t){return new a(!0,t)}static none(){return a.singletonNone}fold(t,e){return this.tag?e(this.value):t()}isSome(){return this.tag}isNone(){return!this.tag}map(t){return this.tag?a.some(t(this.value)):a.none()}bind(t){return this.tag?t(this.value):a.none()}exists(t){return this.tag&&t(this.value)}forall(t){return!this.tag||t(this.value)}filter(t){return!this.tag||t(this.value)?this:a.none()}getOr(t){return this.tag?this.value:t}or(t){return this.tag?this:t}getOrThunk(t){return this.tag?this.value:t()}orThunk(t){return this.tag?this:t()}getOrDie(t){if(this.tag)return this.value;throw new Error(null!=t?t:"Called getOrDie on None")}static from(t){return n(t)?a.some(t):a.none()}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(t){this.tag&&t(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}a.singletonNone=new a(!1);const u=(t,e)=>{for(let o=0,r=t.length;o{if(null==t)throw new Error("Node cannot be null or undefined");return{dom:t}},d=c,h=(t,e)=>{const o=t.dom;if(1!==o.nodeType)return!1;{const t=o;if(void 0!==t.matches)return t.matches(e);if(void 0!==t.msMatchesSelector)return t.msMatchesSelector(e);if(void 0!==t.webkitMatchesSelector)return t.webkitMatchesSelector(e);if(void 0!==t.mozMatchesSelector)return t.mozMatchesSelector(e);throw new Error("Browser lacks native selectors")}};"undefined"!=typeof window?window:Function("return this;")();const m=t=>e=>(t=>t.dom.nodeType)(e)===t,g=m(1),f=m(3),v=m(11),y=(t,e)=>{t.dom.removeAttribute(e)},p=t=>d(t.dom.host),w=t=>{const e=f(t)?t.dom.parentNode:t.dom;if(null==e||null===e.ownerDocument)return!1;const o=e.ownerDocument;return(t=>{const e=(t=>d(t.dom.getRootNode()))(t);return v(o=e)&&n(o.dom.host)?a.some(e):a.none();var o})(d(e)).fold((()=>o.body.contains(e)),(r=w,i=p,t=>r(i(t))));var r,i},b=t=>"rtl"===((t,e)=>{const o=t.dom,r=window.getComputedStyle(o).getPropertyValue(e);return""!==r||w(t)?r:((t,e)=>(t=>void 0!==t.style&&i(t.style.getPropertyValue))(t)?t.style.getPropertyValue(e):"")(o,e)})(t,"direction")?"rtl":"ltr",S=(t,e)=>((t,o)=>((t,e)=>{const o=[];for(let r=0,n=t.length;r{const o=t.length,r=new Array(o);for(let n=0;nh(t,e))))(t),N=("li",t=>g(t)&&"li"===t.dom.nodeName.toLowerCase());const A=(t,e,n)=>{u(e,(e=>{const c=d(e),m=N(c),f=((t,e)=>{return(e?(o=t,r="ol,ul",((t,e,o)=>{let n=t.dom;const s=i(o)?o:l;for(;n.parentNode;){n=n.parentNode;const t=d(n);if(h(t,r))return a.some(t);if(s(t))break}return a.none()})(o,0,n)):a.some(t)).getOr(t);var o,r,n})(c,m);var v;(v=f,(t=>a.from(t.dom.parentNode).map(d))(v).filter(g)).each((e=>{if(t.setStyle(f.dom,"direction",null),b(e)===n?y(f,"dir"):((t,e,n)=>{((t,e,n)=>{if(!(o(n)||r(n)||s(n)))throw console.error("Invalid call to Attribute.set. Key ",e,":: Value ",n,":: Element ",t),new Error("Attribute value was not simple");t.setAttribute(e,n+"")})(t.dom,e,n)})(f,"dir",n),b(f)!==n&&t.setStyle(f.dom,"direction",n),m){const e=S(f,"li[dir],li[style]");u(e,(e=>{y(e,"dir"),t.setStyle(e.dom,"direction",null)}))}}))}))},T=(t,e)=>{t.selection.isEditable()&&(A(t.dom,t.selection.getSelectedBlocks(),e),t.nodeChanged())},C=(t,e)=>o=>{const r=r=>{const n=d(r.element);o.setActive(b(n)===e),o.setEnabled(t.selection.isEditable())};return t.on("NodeChange",r),o.setEnabled(t.selection.isEditable()),()=>t.off("NodeChange",r)};t.add("directionality",(t=>{(t=>{t.addCommand("mceDirectionLTR",(()=>{T(t,"ltr")})),t.addCommand("mceDirectionRTL",(()=>{T(t,"rtl")}))})(t),(t=>{t.ui.registry.addToggleButton("ltr",{tooltip:"Left to right",icon:"ltr",onAction:()=>t.execCommand("mceDirectionLTR"),onSetup:C(t,"ltr")}),t.ui.registry.addToggleButton("rtl",{tooltip:"Right to left",icon:"rtl",onAction:()=>t.execCommand("mceDirectionRTL"),onSetup:C(t,"rtl")})})(t)}))}(); \ No newline at end of file diff --git a/frontend/public/tinymce/plugins/emoticons/js/emojiimages.js b/frontend/public/tinymce/plugins/emoticons/js/emojiimages.js deleted file mode 100644 index 6fcec71..0000000 --- a/frontend/public/tinymce/plugins/emoticons/js/emojiimages.js +++ /dev/null @@ -1 +0,0 @@ -window.tinymce.Resource.add("tinymce.plugins.emoticons",{100:{keywords:["score","perfect","numbers","century","exam","quiz","test","pass","hundred"],char:'💯',fitzpatrick_scale:false,category:"symbols"},1234:{keywords:["numbers","blue-square"],char:'🔢',fitzpatrick_scale:false,category:"symbols"},grinning:{keywords:["face","smile","happy","joy",":D","grin"],char:'😀',fitzpatrick_scale:false,category:"people"},grimacing:{keywords:["face","grimace","teeth"],char:'😬',fitzpatrick_scale:false,category:"people"},grin:{keywords:["face","happy","smile","joy","kawaii"],char:'😁',fitzpatrick_scale:false,category:"people"},joy:{keywords:["face","cry","tears","weep","happy","happytears","haha"],char:'😂',fitzpatrick_scale:false,category:"people"},rofl:{keywords:["face","rolling","floor","laughing","lol","haha"],char:'🤣',fitzpatrick_scale:false,category:"people"},partying:{keywords:["face","celebration","woohoo"],char:'🥳',fitzpatrick_scale:false,category:"people"},smiley:{keywords:["face","happy","joy","haha",":D",":)","smile","funny"],char:'😃',fitzpatrick_scale:false,category:"people"},smile:{keywords:["face","happy","joy","funny","haha","laugh","like",":D",":)"],char:'😄',fitzpatrick_scale:false,category:"people"},sweat_smile:{keywords:["face","hot","happy","laugh","sweat","smile","relief"],char:'😅',fitzpatrick_scale:false,category:"people"},laughing:{keywords:["happy","joy","lol","satisfied","haha","face","glad","XD","laugh"],char:'😆',fitzpatrick_scale:false,category:"people"},innocent:{keywords:["face","angel","heaven","halo"],char:'😇',fitzpatrick_scale:false,category:"people"},wink:{keywords:["face","happy","mischievous","secret",";)","smile","eye"],char:'😉',fitzpatrick_scale:false,category:"people"},blush:{keywords:["face","smile","happy","flushed","crush","embarrassed","shy","joy"],char:'😊',fitzpatrick_scale:false,category:"people"},slightly_smiling_face:{keywords:["face","smile"],char:'🙂',fitzpatrick_scale:false,category:"people"},upside_down_face:{keywords:["face","flipped","silly","smile"],char:'🙃',fitzpatrick_scale:false,category:"people"},relaxed:{keywords:["face","blush","massage","happiness"],char:'☺️',fitzpatrick_scale:false,category:"people"},yum:{keywords:["happy","joy","tongue","smile","face","silly","yummy","nom","delicious","savouring"],char:'😋',fitzpatrick_scale:false,category:"people"},relieved:{keywords:["face","relaxed","phew","massage","happiness"],char:'😌',fitzpatrick_scale:false,category:"people"},heart_eyes:{keywords:["face","love","like","affection","valentines","infatuation","crush","heart"],char:'😍',fitzpatrick_scale:false,category:"people"},smiling_face_with_three_hearts:{keywords:["face","love","like","affection","valentines","infatuation","crush","hearts","adore"],char:'🥰',fitzpatrick_scale:false,category:"people"},kissing_heart:{keywords:["face","love","like","affection","valentines","infatuation","kiss"],char:'😘',fitzpatrick_scale:false,category:"people"},kissing:{keywords:["love","like","face","3","valentines","infatuation","kiss"],char:'😗',fitzpatrick_scale:false,category:"people"},kissing_smiling_eyes:{keywords:["face","affection","valentines","infatuation","kiss"],char:'😙',fitzpatrick_scale:false,category:"people"},kissing_closed_eyes:{keywords:["face","love","like","affection","valentines","infatuation","kiss"],char:'😚',fitzpatrick_scale:false,category:"people"},stuck_out_tongue_winking_eye:{keywords:["face","prank","childish","playful","mischievous","smile","wink","tongue"],char:'😜',fitzpatrick_scale:false,category:"people"},zany:{keywords:["face","goofy","crazy"],char:'🤪',fitzpatrick_scale:false,category:"people"},raised_eyebrow:{keywords:["face","distrust","scepticism","disapproval","disbelief","surprise"],char:'🤨',fitzpatrick_scale:false,category:"people"},monocle:{keywords:["face","stuffy","wealthy"],char:'🧐',fitzpatrick_scale:false,category:"people"},stuck_out_tongue_closed_eyes:{keywords:["face","prank","playful","mischievous","smile","tongue"],char:'😝',fitzpatrick_scale:false,category:"people"},stuck_out_tongue:{keywords:["face","prank","childish","playful","mischievous","smile","tongue"],char:'😛',fitzpatrick_scale:false,category:"people"},money_mouth_face:{keywords:["face","rich","dollar","money"],char:'🤑',fitzpatrick_scale:false,category:"people"},nerd_face:{keywords:["face","nerdy","geek","dork"],char:'🤓',fitzpatrick_scale:false,category:"people"},sunglasses:{keywords:["face","cool","smile","summer","beach","sunglass"],char:'😎',fitzpatrick_scale:false,category:"people"},star_struck:{keywords:["face","smile","starry","eyes","grinning"],char:'🤩',fitzpatrick_scale:false,category:"people"},clown_face:{keywords:["face"],char:'🤡',fitzpatrick_scale:false,category:"people"},cowboy_hat_face:{keywords:["face","cowgirl","hat"],char:'🤠',fitzpatrick_scale:false,category:"people"},hugs:{keywords:["face","smile","hug"],char:'🤗',fitzpatrick_scale:false,category:"people"},smirk:{keywords:["face","smile","mean","prank","smug","sarcasm"],char:'😏',fitzpatrick_scale:false,category:"people"},no_mouth:{keywords:["face","hellokitty"],char:'😶',fitzpatrick_scale:false,category:"people"},neutral_face:{keywords:["indifference","meh",":|","neutral"],char:'😐',fitzpatrick_scale:false,category:"people"},expressionless:{keywords:["face","indifferent","-_-","meh","deadpan"],char:'😑',fitzpatrick_scale:false,category:"people"},unamused:{keywords:["indifference","bored","straight face","serious","sarcasm","unimpressed","skeptical","dubious","side_eye"],char:'😒',fitzpatrick_scale:false,category:"people"},roll_eyes:{keywords:["face","eyeroll","frustrated"],char:'🙄',fitzpatrick_scale:false,category:"people"},thinking:{keywords:["face","hmmm","think","consider"],char:'🤔',fitzpatrick_scale:false,category:"people"},lying_face:{keywords:["face","lie","pinocchio"],char:'🤥',fitzpatrick_scale:false,category:"people"},hand_over_mouth:{keywords:["face","whoops","shock","surprise"],char:'🤭',fitzpatrick_scale:false,category:"people"},shushing:{keywords:["face","quiet","shhh"],char:'🤫',fitzpatrick_scale:false,category:"people"},symbols_over_mouth:{keywords:["face","swearing","cursing","cussing","profanity","expletive"],char:'🤬',fitzpatrick_scale:false,category:"people"},exploding_head:{keywords:["face","shocked","mind","blown"],char:'🤯',fitzpatrick_scale:false,category:"people"},flushed:{keywords:["face","blush","shy","flattered"],char:'😳',fitzpatrick_scale:false,category:"people"},disappointed:{keywords:["face","sad","upset","depressed",":("],char:'😞',fitzpatrick_scale:false,category:"people"},worried:{keywords:["face","concern","nervous",":("],char:'😟',fitzpatrick_scale:false,category:"people"},angry:{keywords:["mad","face","annoyed","frustrated"],char:'😠',fitzpatrick_scale:false,category:"people"},rage:{keywords:["angry","mad","hate","despise"],char:'😡',fitzpatrick_scale:false,category:"people"},pensive:{keywords:["face","sad","depressed","upset"],char:'😔',fitzpatrick_scale:false,category:"people"},confused:{keywords:["face","indifference","huh","weird","hmmm",":/"],char:'😕',fitzpatrick_scale:false,category:"people"},slightly_frowning_face:{keywords:["face","frowning","disappointed","sad","upset"],char:'🙁',fitzpatrick_scale:false,category:"people"},frowning_face:{keywords:["face","sad","upset","frown"],char:'☹',fitzpatrick_scale:false,category:"people"},persevere:{keywords:["face","sick","no","upset","oops"],char:'😣',fitzpatrick_scale:false,category:"people"},confounded:{keywords:["face","confused","sick","unwell","oops",":S"],char:'😖',fitzpatrick_scale:false,category:"people"},tired_face:{keywords:["sick","whine","upset","frustrated"],char:'😫',fitzpatrick_scale:false,category:"people"},weary:{keywords:["face","tired","sleepy","sad","frustrated","upset"],char:'😩',fitzpatrick_scale:false,category:"people"},pleading:{keywords:["face","begging","mercy"],char:'🥺',fitzpatrick_scale:false,category:"people"},triumph:{keywords:["face","gas","phew","proud","pride"],char:'😤',fitzpatrick_scale:false,category:"people"},open_mouth:{keywords:["face","surprise","impressed","wow","whoa",":O"],char:'😮',fitzpatrick_scale:false,category:"people"},scream:{keywords:["face","munch","scared","omg"],char:'😱',fitzpatrick_scale:false,category:"people"},fearful:{keywords:["face","scared","terrified","nervous","oops","huh"],char:'😨',fitzpatrick_scale:false,category:"people"},cold_sweat:{keywords:["face","nervous","sweat"],char:'😰',fitzpatrick_scale:false,category:"people"},hushed:{keywords:["face","woo","shh"],char:'😯',fitzpatrick_scale:false,category:"people"},frowning:{keywords:["face","aw","what"],char:'😦',fitzpatrick_scale:false,category:"people"},anguished:{keywords:["face","stunned","nervous"],char:'😧',fitzpatrick_scale:false,category:"people"},cry:{keywords:["face","tears","sad","depressed","upset",":'("],char:'😢',fitzpatrick_scale:false,category:"people"},disappointed_relieved:{keywords:["face","phew","sweat","nervous"],char:'😥',fitzpatrick_scale:false,category:"people"},drooling_face:{keywords:["face"],char:'🤤',fitzpatrick_scale:false,category:"people"},sleepy:{keywords:["face","tired","rest","nap"],char:'😪',fitzpatrick_scale:false,category:"people"},sweat:{keywords:["face","hot","sad","tired","exercise"],char:'😓',fitzpatrick_scale:false,category:"people"},hot:{keywords:["face","feverish","heat","red","sweating"],char:'🥵',fitzpatrick_scale:false,category:"people"},cold:{keywords:["face","blue","freezing","frozen","frostbite","icicles"],char:'🥶',fitzpatrick_scale:false,category:"people"},sob:{keywords:["face","cry","tears","sad","upset","depressed"],char:'😭',fitzpatrick_scale:false,category:"people"},dizzy_face:{keywords:["spent","unconscious","xox","dizzy"],char:'😵',fitzpatrick_scale:false,category:"people"},astonished:{keywords:["face","xox","surprised","poisoned"],char:'😲',fitzpatrick_scale:false,category:"people"},zipper_mouth_face:{keywords:["face","sealed","zipper","secret"],char:'🤐',fitzpatrick_scale:false,category:"people"},nauseated_face:{keywords:["face","vomit","gross","green","sick","throw up","ill"],char:'🤢',fitzpatrick_scale:false,category:"people"},sneezing_face:{keywords:["face","gesundheit","sneeze","sick","allergy"],char:'🤧',fitzpatrick_scale:false,category:"people"},vomiting:{keywords:["face","sick"],char:'🤮',fitzpatrick_scale:false,category:"people"},mask:{keywords:["face","sick","ill","disease"],char:'😷',fitzpatrick_scale:false,category:"people"},face_with_thermometer:{keywords:["sick","temperature","thermometer","cold","fever"],char:'🤒',fitzpatrick_scale:false,category:"people"},face_with_head_bandage:{keywords:["injured","clumsy","bandage","hurt"],char:'🤕',fitzpatrick_scale:false,category:"people"},woozy:{keywords:["face","dizzy","intoxicated","tipsy","wavy"],char:'🥴',fitzpatrick_scale:false,category:"people"},sleeping:{keywords:["face","tired","sleepy","night","zzz"],char:'😴',fitzpatrick_scale:false,category:"people"},zzz:{keywords:["sleepy","tired","dream"],char:'💤',fitzpatrick_scale:false,category:"people"},poop:{keywords:["hankey","shitface","fail","turd","shit"],char:'💩',fitzpatrick_scale:false,category:"people"},smiling_imp:{keywords:["devil","horns"],char:'😈',fitzpatrick_scale:false,category:"people"},imp:{keywords:["devil","angry","horns"],char:'👿',fitzpatrick_scale:false,category:"people"},japanese_ogre:{keywords:["monster","red","mask","halloween","scary","creepy","devil","demon","japanese","ogre"],char:'👹',fitzpatrick_scale:false,category:"people"},japanese_goblin:{keywords:["red","evil","mask","monster","scary","creepy","japanese","goblin"],char:'👺',fitzpatrick_scale:false,category:"people"},skull:{keywords:["dead","skeleton","creepy","death"],char:'💀',fitzpatrick_scale:false,category:"people"},ghost:{keywords:["halloween","spooky","scary"],char:'👻',fitzpatrick_scale:false,category:"people"},alien:{keywords:["UFO","paul","weird","outer_space"],char:'👽',fitzpatrick_scale:false,category:"people"},robot:{keywords:["computer","machine","bot"],char:'🤖',fitzpatrick_scale:false,category:"people"},smiley_cat:{keywords:["animal","cats","happy","smile"],char:'😺',fitzpatrick_scale:false,category:"people"},smile_cat:{keywords:["animal","cats","smile"],char:'😸',fitzpatrick_scale:false,category:"people"},joy_cat:{keywords:["animal","cats","haha","happy","tears"],char:'😹',fitzpatrick_scale:false,category:"people"},heart_eyes_cat:{keywords:["animal","love","like","affection","cats","valentines","heart"],char:'😻',fitzpatrick_scale:false,category:"people"},smirk_cat:{keywords:["animal","cats","smirk"],char:'😼',fitzpatrick_scale:false,category:"people"},kissing_cat:{keywords:["animal","cats","kiss"],char:'😽',fitzpatrick_scale:false,category:"people"},scream_cat:{keywords:["animal","cats","munch","scared","scream"],char:'🙀',fitzpatrick_scale:false,category:"people"},crying_cat_face:{keywords:["animal","tears","weep","sad","cats","upset","cry"],char:'😿',fitzpatrick_scale:false,category:"people"},pouting_cat:{keywords:["animal","cats"],char:'😾',fitzpatrick_scale:false,category:"people"},palms_up:{keywords:["hands","gesture","cupped","prayer"],char:'🤲',fitzpatrick_scale:true,category:"people"},raised_hands:{keywords:["gesture","hooray","yea","celebration","hands"],char:'🙌',fitzpatrick_scale:true,category:"people"},clap:{keywords:["hands","praise","applause","congrats","yay"],char:'👏',fitzpatrick_scale:true,category:"people"},wave:{keywords:["hands","gesture","goodbye","solong","farewell","hello","hi","palm"],char:'👋',fitzpatrick_scale:true,category:"people"},call_me_hand:{keywords:["hands","gesture"],char:'🤙',fitzpatrick_scale:true,category:"people"},"+1":{keywords:["thumbsup","yes","awesome","good","agree","accept","cool","hand","like"],char:'👍',fitzpatrick_scale:true,category:"people"},"-1":{keywords:["thumbsdown","no","dislike","hand"],char:'👎',fitzpatrick_scale:true,category:"people"},facepunch:{keywords:["angry","violence","fist","hit","attack","hand"],char:'👊',fitzpatrick_scale:true,category:"people"},fist:{keywords:["fingers","hand","grasp"],char:'✊',fitzpatrick_scale:true,category:"people"},fist_left:{keywords:["hand","fistbump"],char:'🤛',fitzpatrick_scale:true,category:"people"},fist_right:{keywords:["hand","fistbump"],char:'🤜',fitzpatrick_scale:true,category:"people"},v:{keywords:["fingers","ohyeah","hand","peace","victory","two"],char:'✌',fitzpatrick_scale:true,category:"people"},ok_hand:{keywords:["fingers","limbs","perfect","ok","okay"],char:'👌',fitzpatrick_scale:true,category:"people"},raised_hand:{keywords:["fingers","stop","highfive","palm","ban"],char:'✋',fitzpatrick_scale:true,category:"people"},raised_back_of_hand:{keywords:["fingers","raised","backhand"],char:'🤚',fitzpatrick_scale:true,category:"people"},open_hands:{keywords:["fingers","butterfly","hands","open"],char:'👐',fitzpatrick_scale:true,category:"people"},muscle:{keywords:["arm","flex","hand","summer","strong","biceps"],char:'💪',fitzpatrick_scale:true,category:"people"},pray:{keywords:["please","hope","wish","namaste","highfive"],char:'🙏',fitzpatrick_scale:true,category:"people"},foot:{keywords:["kick","stomp"],char:'🦶',fitzpatrick_scale:true,category:"people"},leg:{keywords:["kick","limb"],char:'🦵',fitzpatrick_scale:true,category:"people"},handshake:{keywords:["agreement","shake"],char:'🤝',fitzpatrick_scale:false,category:"people"},point_up:{keywords:["hand","fingers","direction","up"],char:'☝',fitzpatrick_scale:true,category:"people"},point_up_2:{keywords:["fingers","hand","direction","up"],char:'👆',fitzpatrick_scale:true,category:"people"},point_down:{keywords:["fingers","hand","direction","down"],char:'👇',fitzpatrick_scale:true,category:"people"},point_left:{keywords:["direction","fingers","hand","left"],char:'👈',fitzpatrick_scale:true,category:"people"},point_right:{keywords:["fingers","hand","direction","right"],char:'👉',fitzpatrick_scale:true,category:"people"},fu:{keywords:["hand","fingers","rude","middle","flipping"],char:'🖕',fitzpatrick_scale:true,category:"people"},raised_hand_with_fingers_splayed:{keywords:["hand","fingers","palm"],char:'🖐',fitzpatrick_scale:true,category:"people"},love_you:{keywords:["hand","fingers","gesture"],char:'🤟',fitzpatrick_scale:true,category:"people"},metal:{keywords:["hand","fingers","evil_eye","sign_of_horns","rock_on"],char:'🤘',fitzpatrick_scale:true,category:"people"},crossed_fingers:{keywords:["good","lucky"],char:'🤞',fitzpatrick_scale:true,category:"people"},vulcan_salute:{keywords:["hand","fingers","spock","star trek"],char:'🖖',fitzpatrick_scale:true,category:"people"},writing_hand:{keywords:["lower_left_ballpoint_pen","stationery","write","compose"],char:'✍',fitzpatrick_scale:true,category:"people"},selfie:{keywords:["camera","phone"],char:'🤳',fitzpatrick_scale:true,category:"people"},nail_care:{keywords:["beauty","manicure","finger","fashion","nail"],char:'💅',fitzpatrick_scale:true,category:"people"},lips:{keywords:["mouth","kiss"],char:'👄',fitzpatrick_scale:false,category:"people"},tooth:{keywords:["teeth","dentist"],char:'🦷',fitzpatrick_scale:false,category:"people"},tongue:{keywords:["mouth","playful"],char:'👅',fitzpatrick_scale:false,category:"people"},ear:{keywords:["face","hear","sound","listen"],char:'👂',fitzpatrick_scale:true,category:"people"},nose:{keywords:["smell","sniff"],char:'👃',fitzpatrick_scale:true,category:"people"},eye:{keywords:["face","look","see","watch","stare"],char:'👁',fitzpatrick_scale:false,category:"people"},eyes:{keywords:["look","watch","stalk","peek","see"],char:'👀',fitzpatrick_scale:false,category:"people"},brain:{keywords:["smart","intelligent"],char:'🧠',fitzpatrick_scale:false,category:"people"},bust_in_silhouette:{keywords:["user","person","human"],char:'👤',fitzpatrick_scale:false,category:"people"},busts_in_silhouette:{keywords:["user","person","human","group","team"],char:'👥',fitzpatrick_scale:false,category:"people"},speaking_head:{keywords:["user","person","human","sing","say","talk"],char:'🗣',fitzpatrick_scale:false,category:"people"},baby:{keywords:["child","boy","girl","toddler"],char:'👶',fitzpatrick_scale:true,category:"people"},child:{keywords:["gender-neutral","young"],char:'🧒',fitzpatrick_scale:true,category:"people"},boy:{keywords:["man","male","guy","teenager"],char:'👦',fitzpatrick_scale:true,category:"people"},girl:{keywords:["female","woman","teenager"],char:'👧',fitzpatrick_scale:true,category:"people"},adult:{keywords:["gender-neutral","person"],char:'🧑',fitzpatrick_scale:true,category:"people"},man:{keywords:["mustache","father","dad","guy","classy","sir","moustache"],char:'👨',fitzpatrick_scale:true,category:"people"},woman:{keywords:["female","girls","lady"],char:'👩',fitzpatrick_scale:true,category:"people"},blonde_woman:{keywords:["woman","female","girl","blonde","person"],char:'👱‍♀️',fitzpatrick_scale:true,category:"people"},blonde_man:{keywords:["man","male","boy","blonde","guy","person"],char:'👱',fitzpatrick_scale:true,category:"people"},bearded_person:{keywords:["person","bewhiskered"],char:'🧔',fitzpatrick_scale:true,category:"people"},older_adult:{keywords:["human","elder","senior","gender-neutral"],char:'🧓',fitzpatrick_scale:true,category:"people"},older_man:{keywords:["human","male","men","old","elder","senior"],char:'👴',fitzpatrick_scale:true,category:"people"},older_woman:{keywords:["human","female","women","lady","old","elder","senior"],char:'👵',fitzpatrick_scale:true,category:"people"},man_with_gua_pi_mao:{keywords:["male","boy","chinese"],char:'👲',fitzpatrick_scale:true,category:"people"},woman_with_headscarf:{keywords:["female","hijab","mantilla","tichel"],char:'🧕',fitzpatrick_scale:true,category:"people"},woman_with_turban:{keywords:["female","indian","hinduism","arabs","woman"],char:'👳‍♀️',fitzpatrick_scale:true,category:"people"},man_with_turban:{keywords:["male","indian","hinduism","arabs"],char:'👳',fitzpatrick_scale:true,category:"people"},policewoman:{keywords:["woman","police","law","legal","enforcement","arrest","911","female"],char:'👮‍♀️',fitzpatrick_scale:true,category:"people"},policeman:{keywords:["man","police","law","legal","enforcement","arrest","911"],char:'👮',fitzpatrick_scale:true,category:"people"},construction_worker_woman:{keywords:["female","human","wip","build","construction","worker","labor","woman"],char:'👷‍♀️',fitzpatrick_scale:true,category:"people"},construction_worker_man:{keywords:["male","human","wip","guy","build","construction","worker","labor"],char:'👷',fitzpatrick_scale:true,category:"people"},guardswoman:{keywords:["uk","gb","british","female","royal","woman"],char:'💂‍♀️',fitzpatrick_scale:true,category:"people"},guardsman:{keywords:["uk","gb","british","male","guy","royal"],char:'💂',fitzpatrick_scale:true,category:"people"},female_detective:{keywords:["human","spy","detective","female","woman"],char:'🕵️‍♀️',fitzpatrick_scale:true,category:"people"},male_detective:{keywords:["human","spy","detective"],char:'🕵',fitzpatrick_scale:true,category:"people"},woman_health_worker:{keywords:["doctor","nurse","therapist","healthcare","woman","human"],char:'👩‍⚕️',fitzpatrick_scale:true,category:"people"},man_health_worker:{keywords:["doctor","nurse","therapist","healthcare","man","human"],char:'👨‍⚕️',fitzpatrick_scale:true,category:"people"},woman_farmer:{keywords:["rancher","gardener","woman","human"],char:'👩‍🌾',fitzpatrick_scale:true,category:"people"},man_farmer:{keywords:["rancher","gardener","man","human"],char:'👨‍🌾',fitzpatrick_scale:true,category:"people"},woman_cook:{keywords:["chef","woman","human"],char:'👩‍🍳',fitzpatrick_scale:true,category:"people"},man_cook:{keywords:["chef","man","human"],char:'👨‍🍳',fitzpatrick_scale:true,category:"people"},woman_student:{keywords:["graduate","woman","human"],char:'👩‍🎓',fitzpatrick_scale:true,category:"people"},man_student:{keywords:["graduate","man","human"],char:'👨‍🎓',fitzpatrick_scale:true,category:"people"},woman_singer:{keywords:["rockstar","entertainer","woman","human"],char:'👩‍🎤',fitzpatrick_scale:true,category:"people"},man_singer:{keywords:["rockstar","entertainer","man","human"],char:'👨‍🎤',fitzpatrick_scale:true,category:"people"},woman_teacher:{keywords:["instructor","professor","woman","human"],char:'👩‍🏫',fitzpatrick_scale:true,category:"people"},man_teacher:{keywords:["instructor","professor","man","human"],char:'👨‍🏫',fitzpatrick_scale:true,category:"people"},woman_factory_worker:{keywords:["assembly","industrial","woman","human"],char:'👩‍🏭',fitzpatrick_scale:true,category:"people"},man_factory_worker:{keywords:["assembly","industrial","man","human"],char:'👨‍🏭',fitzpatrick_scale:true,category:"people"},woman_technologist:{keywords:["coder","developer","engineer","programmer","software","woman","human","laptop","computer"],char:'👩‍💻',fitzpatrick_scale:true,category:"people"},man_technologist:{keywords:["coder","developer","engineer","programmer","software","man","human","laptop","computer"],char:'👨‍💻',fitzpatrick_scale:true,category:"people"},woman_office_worker:{keywords:["business","manager","woman","human"],char:'👩‍💼',fitzpatrick_scale:true,category:"people"},man_office_worker:{keywords:["business","manager","man","human"],char:'👨‍💼',fitzpatrick_scale:true,category:"people"},woman_mechanic:{keywords:["plumber","woman","human","wrench"],char:'👩‍🔧',fitzpatrick_scale:true,category:"people"},man_mechanic:{keywords:["plumber","man","human","wrench"],char:'👨‍🔧',fitzpatrick_scale:true,category:"people"},woman_scientist:{keywords:["biologist","chemist","engineer","physicist","woman","human"],char:'👩‍🔬',fitzpatrick_scale:true,category:"people"},man_scientist:{keywords:["biologist","chemist","engineer","physicist","man","human"],char:'👨‍🔬',fitzpatrick_scale:true,category:"people"},woman_artist:{keywords:["painter","woman","human"],char:'👩‍🎨',fitzpatrick_scale:true,category:"people"},man_artist:{keywords:["painter","man","human"],char:'👨‍🎨',fitzpatrick_scale:true,category:"people"},woman_firefighter:{keywords:["fireman","woman","human"],char:'👩‍🚒',fitzpatrick_scale:true,category:"people"},man_firefighter:{keywords:["fireman","man","human"],char:'👨‍🚒',fitzpatrick_scale:true,category:"people"},woman_pilot:{keywords:["aviator","plane","woman","human"],char:'👩‍✈️',fitzpatrick_scale:true,category:"people"},man_pilot:{keywords:["aviator","plane","man","human"],char:'👨‍✈️',fitzpatrick_scale:true,category:"people"},woman_astronaut:{keywords:["space","rocket","woman","human"],char:'👩‍🚀',fitzpatrick_scale:true,category:"people"},man_astronaut:{keywords:["space","rocket","man","human"],char:'👨‍🚀',fitzpatrick_scale:true,category:"people"},woman_judge:{keywords:["justice","court","woman","human"],char:'👩‍⚖️',fitzpatrick_scale:true,category:"people"},man_judge:{keywords:["justice","court","man","human"],char:'👨‍⚖️',fitzpatrick_scale:true,category:"people"},woman_superhero:{keywords:["woman","female","good","heroine","superpowers"],char:'🦸‍♀️',fitzpatrick_scale:true,category:"people"},man_superhero:{keywords:["man","male","good","hero","superpowers"],char:'🦸‍♂️',fitzpatrick_scale:true,category:"people"},woman_supervillain:{keywords:["woman","female","evil","bad","criminal","heroine","superpowers"],char:'🦹‍♀️',fitzpatrick_scale:true,category:"people"},man_supervillain:{keywords:["man","male","evil","bad","criminal","hero","superpowers"],char:'🦹‍♂️',fitzpatrick_scale:true,category:"people"},mrs_claus:{keywords:["woman","female","xmas","mother christmas"],char:'🤶',fitzpatrick_scale:true,category:"people"},santa:{keywords:["festival","man","male","xmas","father christmas"],char:'🎅',fitzpatrick_scale:true,category:"people"},sorceress:{keywords:["woman","female","mage","witch"],char:'🧙‍♀️',fitzpatrick_scale:true,category:"people"},wizard:{keywords:["man","male","mage","sorcerer"],char:'🧙‍♂️',fitzpatrick_scale:true,category:"people"},woman_elf:{keywords:["woman","female"],char:'🧝‍♀️',fitzpatrick_scale:true,category:"people"},man_elf:{keywords:["man","male"],char:'🧝‍♂️',fitzpatrick_scale:true,category:"people"},woman_vampire:{keywords:["woman","female"],char:'🧛‍♀️',fitzpatrick_scale:true,category:"people"},man_vampire:{keywords:["man","male","dracula"],char:'🧛‍♂️',fitzpatrick_scale:true,category:"people"},woman_zombie:{keywords:["woman","female","undead","walking dead"],char:'🧟‍♀️',fitzpatrick_scale:false,category:"people"},man_zombie:{keywords:["man","male","dracula","undead","walking dead"],char:'🧟‍♂️',fitzpatrick_scale:false,category:"people"},woman_genie:{keywords:["woman","female"],char:'🧞‍♀️',fitzpatrick_scale:false,category:"people"},man_genie:{keywords:["man","male"],char:'🧞‍♂️',fitzpatrick_scale:false,category:"people"},mermaid:{keywords:["woman","female","merwoman","ariel"],char:'🧜‍♀️',fitzpatrick_scale:true,category:"people"},merman:{keywords:["man","male","triton"],char:'🧜‍♂️',fitzpatrick_scale:true,category:"people"},woman_fairy:{keywords:["woman","female"],char:'🧚‍♀️',fitzpatrick_scale:true,category:"people"},man_fairy:{keywords:["man","male"],char:'🧚‍♂️',fitzpatrick_scale:true,category:"people"},angel:{keywords:["heaven","wings","halo"],char:'👼',fitzpatrick_scale:true,category:"people"},pregnant_woman:{keywords:["baby"],char:'🤰',fitzpatrick_scale:true,category:"people"},breastfeeding:{keywords:["nursing","baby"],char:'🤱',fitzpatrick_scale:true,category:"people"},princess:{keywords:["girl","woman","female","blond","crown","royal","queen"],char:'👸',fitzpatrick_scale:true,category:"people"},prince:{keywords:["boy","man","male","crown","royal","king"],char:'🤴',fitzpatrick_scale:true,category:"people"},bride_with_veil:{keywords:["couple","marriage","wedding","woman","bride"],char:'👰',fitzpatrick_scale:true,category:"people"},man_in_tuxedo:{keywords:["couple","marriage","wedding","groom"],char:'🤵',fitzpatrick_scale:true,category:"people"},running_woman:{keywords:["woman","walking","exercise","race","running","female"],char:'🏃‍♀️',fitzpatrick_scale:true,category:"people"},running_man:{keywords:["man","walking","exercise","race","running"],char:'🏃',fitzpatrick_scale:true,category:"people"},walking_woman:{keywords:["human","feet","steps","woman","female"],char:'🚶‍♀️',fitzpatrick_scale:true,category:"people"},walking_man:{keywords:["human","feet","steps"],char:'🚶',fitzpatrick_scale:true,category:"people"},dancer:{keywords:["female","girl","woman","fun"],char:'💃',fitzpatrick_scale:true,category:"people"},man_dancing:{keywords:["male","boy","fun","dancer"],char:'🕺',fitzpatrick_scale:true,category:"people"},dancing_women:{keywords:["female","bunny","women","girls"],char:'👯',fitzpatrick_scale:false,category:"people"},dancing_men:{keywords:["male","bunny","men","boys"],char:'👯‍♂️',fitzpatrick_scale:false,category:"people"},couple:{keywords:["pair","people","human","love","date","dating","like","affection","valentines","marriage"],char:'👫',fitzpatrick_scale:false,category:"people"},two_men_holding_hands:{keywords:["pair","couple","love","like","bromance","friendship","people","human"],char:'👬',fitzpatrick_scale:false,category:"people"},two_women_holding_hands:{keywords:["pair","friendship","couple","love","like","female","people","human"],char:'👭',fitzpatrick_scale:false,category:"people"},bowing_woman:{keywords:["woman","female","girl"],char:'🙇‍♀️',fitzpatrick_scale:true,category:"people"},bowing_man:{keywords:["man","male","boy"],char:'🙇',fitzpatrick_scale:true,category:"people"},man_facepalming:{keywords:["man","male","boy","disbelief"],char:'🤦‍♂️',fitzpatrick_scale:true,category:"people"},woman_facepalming:{keywords:["woman","female","girl","disbelief"],char:'🤦‍♀️',fitzpatrick_scale:true,category:"people"},woman_shrugging:{keywords:["woman","female","girl","confused","indifferent","doubt"],char:'🤷',fitzpatrick_scale:true,category:"people"},man_shrugging:{keywords:["man","male","boy","confused","indifferent","doubt"],char:'🤷‍♂️',fitzpatrick_scale:true,category:"people"},tipping_hand_woman:{keywords:["female","girl","woman","human","information"],char:'💁',fitzpatrick_scale:true,category:"people"},tipping_hand_man:{keywords:["male","boy","man","human","information"],char:'💁‍♂️',fitzpatrick_scale:true,category:"people"},no_good_woman:{keywords:["female","girl","woman","nope"],char:'🙅',fitzpatrick_scale:true,category:"people"},no_good_man:{keywords:["male","boy","man","nope"],char:'🙅‍♂️',fitzpatrick_scale:true,category:"people"},ok_woman:{keywords:["women","girl","female","pink","human","woman"],char:'🙆',fitzpatrick_scale:true,category:"people"},ok_man:{keywords:["men","boy","male","blue","human","man"],char:'🙆‍♂️',fitzpatrick_scale:true,category:"people"},raising_hand_woman:{keywords:["female","girl","woman"],char:'🙋',fitzpatrick_scale:true,category:"people"},raising_hand_man:{keywords:["male","boy","man"],char:'🙋‍♂️',fitzpatrick_scale:true,category:"people"},pouting_woman:{keywords:["female","girl","woman"],char:'🙎',fitzpatrick_scale:true,category:"people"},pouting_man:{keywords:["male","boy","man"],char:'🙎‍♂️',fitzpatrick_scale:true,category:"people"},frowning_woman:{keywords:["female","girl","woman","sad","depressed","discouraged","unhappy"],char:'🙍',fitzpatrick_scale:true,category:"people"},frowning_man:{keywords:["male","boy","man","sad","depressed","discouraged","unhappy"],char:'🙍‍♂️',fitzpatrick_scale:true,category:"people"},haircut_woman:{keywords:["female","girl","woman"],char:'💇',fitzpatrick_scale:true,category:"people"},haircut_man:{keywords:["male","boy","man"],char:'💇‍♂️',fitzpatrick_scale:true,category:"people"},massage_woman:{keywords:["female","girl","woman","head"],char:'💆',fitzpatrick_scale:true,category:"people"},massage_man:{keywords:["male","boy","man","head"],char:'💆‍♂️',fitzpatrick_scale:true,category:"people"},woman_in_steamy_room:{keywords:["female","woman","spa","steamroom","sauna"],char:'🧖‍♀️',fitzpatrick_scale:true,category:"people"},man_in_steamy_room:{keywords:["male","man","spa","steamroom","sauna"],char:'🧖‍♂️',fitzpatrick_scale:true,category:"people"},couple_with_heart_woman_man:{keywords:["pair","love","like","affection","human","dating","valentines","marriage"],char:'💑',fitzpatrick_scale:false,category:"people"},couple_with_heart_woman_woman:{keywords:["pair","love","like","affection","human","dating","valentines","marriage"],char:'👩‍❤️‍👩',fitzpatrick_scale:false,category:"people"},couple_with_heart_man_man:{keywords:["pair","love","like","affection","human","dating","valentines","marriage"],char:'👨‍❤️‍👨',fitzpatrick_scale:false,category:"people"},couplekiss_man_woman:{keywords:["pair","valentines","love","like","dating","marriage"],char:'💏',fitzpatrick_scale:false,category:"people"},couplekiss_woman_woman:{keywords:["pair","valentines","love","like","dating","marriage"],char:'👩‍❤️‍💋‍👩',fitzpatrick_scale:false,category:"people"},couplekiss_man_man:{keywords:["pair","valentines","love","like","dating","marriage"],char:'👨‍❤️‍💋‍👨',fitzpatrick_scale:false,category:"people"},family_man_woman_boy:{keywords:["home","parents","child","mom","dad","father","mother","people","human"],char:'👪',fitzpatrick_scale:false,category:"people"},family_man_woman_girl:{keywords:["home","parents","people","human","child"],char:'👨‍👩‍👧',fitzpatrick_scale:false,category:"people"},family_man_woman_girl_boy:{keywords:["home","parents","people","human","children"],char:'👨‍👩‍👧‍👦',fitzpatrick_scale:false,category:"people"},family_man_woman_boy_boy:{keywords:["home","parents","people","human","children"],char:'👨‍👩‍👦‍👦',fitzpatrick_scale:false,category:"people"},family_man_woman_girl_girl:{keywords:["home","parents","people","human","children"],char:'👨‍👩‍👧‍👧',fitzpatrick_scale:false,category:"people"},family_woman_woman_boy:{keywords:["home","parents","people","human","children"],char:'👩‍👩‍👦',fitzpatrick_scale:false,category:"people"},family_woman_woman_girl:{keywords:["home","parents","people","human","children"],char:'👩‍👩‍👧',fitzpatrick_scale:false,category:"people"},family_woman_woman_girl_boy:{keywords:["home","parents","people","human","children"],char:'👩‍👩‍👧‍👦',fitzpatrick_scale:false,category:"people"},family_woman_woman_boy_boy:{keywords:["home","parents","people","human","children"],char:'👩‍👩‍👦‍👦',fitzpatrick_scale:false,category:"people"},family_woman_woman_girl_girl:{keywords:["home","parents","people","human","children"],char:'👩‍👩‍👧‍👧',fitzpatrick_scale:false,category:"people"},family_man_man_boy:{keywords:["home","parents","people","human","children"],char:'👨‍👨‍👦',fitzpatrick_scale:false,category:"people"},family_man_man_girl:{keywords:["home","parents","people","human","children"],char:'👨‍👨‍👧',fitzpatrick_scale:false,category:"people"},family_man_man_girl_boy:{keywords:["home","parents","people","human","children"],char:'👨‍👨‍👧‍👦',fitzpatrick_scale:false,category:"people"},family_man_man_boy_boy:{keywords:["home","parents","people","human","children"],char:'👨‍👨‍👦‍👦',fitzpatrick_scale:false,category:"people"},family_man_man_girl_girl:{keywords:["home","parents","people","human","children"],char:'👨‍👨‍👧‍👧',fitzpatrick_scale:false,category:"people"},family_woman_boy:{keywords:["home","parent","people","human","child"],char:'👩‍👦',fitzpatrick_scale:false,category:"people"},family_woman_girl:{keywords:["home","parent","people","human","child"],char:'👩‍👧',fitzpatrick_scale:false,category:"people"},family_woman_girl_boy:{keywords:["home","parent","people","human","children"],char:'👩‍👧‍👦',fitzpatrick_scale:false,category:"people"},family_woman_boy_boy:{keywords:["home","parent","people","human","children"],char:'👩‍👦‍👦',fitzpatrick_scale:false,category:"people"},family_woman_girl_girl:{keywords:["home","parent","people","human","children"],char:'👩‍👧‍👧',fitzpatrick_scale:false,category:"people"},family_man_boy:{keywords:["home","parent","people","human","child"],char:'👨‍👦',fitzpatrick_scale:false,category:"people"},family_man_girl:{keywords:["home","parent","people","human","child"],char:'👨‍👧',fitzpatrick_scale:false,category:"people"},family_man_girl_boy:{keywords:["home","parent","people","human","children"],char:'👨‍👧‍👦',fitzpatrick_scale:false,category:"people"},family_man_boy_boy:{keywords:["home","parent","people","human","children"],char:'👨‍👦‍👦',fitzpatrick_scale:false,category:"people"},family_man_girl_girl:{keywords:["home","parent","people","human","children"],char:'👨‍👧‍👧',fitzpatrick_scale:false,category:"people"},yarn:{keywords:["ball","crochet","knit"],char:'🧶',fitzpatrick_scale:false,category:"people"},thread:{keywords:["needle","sewing","spool","string"],char:'🧵',fitzpatrick_scale:false,category:"people"},coat:{keywords:["jacket"],char:'🧥',fitzpatrick_scale:false,category:"people"},labcoat:{keywords:["doctor","experiment","scientist","chemist"],char:'🥼',fitzpatrick_scale:false,category:"people"},womans_clothes:{keywords:["fashion","shopping_bags","female"],char:'👚',fitzpatrick_scale:false,category:"people"},tshirt:{keywords:["fashion","cloth","casual","shirt","tee"],char:'👕',fitzpatrick_scale:false,category:"people"},jeans:{keywords:["fashion","shopping"],char:'👖',fitzpatrick_scale:false,category:"people"},necktie:{keywords:["shirt","suitup","formal","fashion","cloth","business"],char:'👔',fitzpatrick_scale:false,category:"people"},dress:{keywords:["clothes","fashion","shopping"],char:'👗',fitzpatrick_scale:false,category:"people"},bikini:{keywords:["swimming","female","woman","girl","fashion","beach","summer"],char:'👙',fitzpatrick_scale:false,category:"people"},kimono:{keywords:["dress","fashion","women","female","japanese"],char:'👘',fitzpatrick_scale:false,category:"people"},lipstick:{keywords:["female","girl","fashion","woman"],char:'💄',fitzpatrick_scale:false,category:"people"},kiss:{keywords:["face","lips","love","like","affection","valentines"],char:'💋',fitzpatrick_scale:false,category:"people"},footprints:{keywords:["feet","tracking","walking","beach"],char:'👣',fitzpatrick_scale:false,category:"people"},flat_shoe:{keywords:["ballet","slip-on","slipper"],char:'🥿',fitzpatrick_scale:false,category:"people"},high_heel:{keywords:["fashion","shoes","female","pumps","stiletto"],char:'👠',fitzpatrick_scale:false,category:"people"},sandal:{keywords:["shoes","fashion","flip flops"],char:'👡',fitzpatrick_scale:false,category:"people"},boot:{keywords:["shoes","fashion"],char:'👢',fitzpatrick_scale:false,category:"people"},mans_shoe:{keywords:["fashion","male"],char:'👞',fitzpatrick_scale:false,category:"people"},athletic_shoe:{keywords:["shoes","sports","sneakers"],char:'👟',fitzpatrick_scale:false,category:"people"},hiking_boot:{keywords:["backpacking","camping","hiking"],char:'🥾',fitzpatrick_scale:false,category:"people"},socks:{keywords:["stockings","clothes"],char:'🧦',fitzpatrick_scale:false,category:"people"},gloves:{keywords:["hands","winter","clothes"],char:'🧤',fitzpatrick_scale:false,category:"people"},scarf:{keywords:["neck","winter","clothes"],char:'🧣',fitzpatrick_scale:false,category:"people"},womans_hat:{keywords:["fashion","accessories","female","lady","spring"],char:'👒',fitzpatrick_scale:false,category:"people"},tophat:{keywords:["magic","gentleman","classy","circus"],char:'🎩',fitzpatrick_scale:false,category:"people"},billed_hat:{keywords:["cap","baseball"],char:'🧢',fitzpatrick_scale:false,category:"people"},rescue_worker_helmet:{keywords:["construction","build"],char:'⛑',fitzpatrick_scale:false,category:"people"},mortar_board:{keywords:["school","college","degree","university","graduation","cap","hat","legal","learn","education"],char:'🎓',fitzpatrick_scale:false,category:"people"},crown:{keywords:["king","kod","leader","royalty","lord"],char:'👑',fitzpatrick_scale:false,category:"people"},school_satchel:{keywords:["student","education","bag","backpack"],char:'🎒',fitzpatrick_scale:false,category:"people"},luggage:{keywords:["packing","travel"],char:'🧳',fitzpatrick_scale:false,category:"people"},pouch:{keywords:["bag","accessories","shopping"],char:'👝',fitzpatrick_scale:false,category:"people"},purse:{keywords:["fashion","accessories","money","sales","shopping"],char:'👛',fitzpatrick_scale:false,category:"people"},handbag:{keywords:["fashion","accessory","accessories","shopping"],char:'👜',fitzpatrick_scale:false,category:"people"},briefcase:{keywords:["business","documents","work","law","legal","job","career"],char:'💼',fitzpatrick_scale:false,category:"people"},eyeglasses:{keywords:["fashion","accessories","eyesight","nerdy","dork","geek"],char:'👓',fitzpatrick_scale:false,category:"people"},dark_sunglasses:{keywords:["face","cool","accessories"],char:'🕶',fitzpatrick_scale:false,category:"people"},goggles:{keywords:["eyes","protection","safety"],char:'🥽',fitzpatrick_scale:false,category:"people"},ring:{keywords:["wedding","propose","marriage","valentines","diamond","fashion","jewelry","gem","engagement"],char:'💍',fitzpatrick_scale:false,category:"people"},closed_umbrella:{keywords:["weather","rain","drizzle"],char:'🌂',fitzpatrick_scale:false,category:"people"},dog:{keywords:["animal","friend","nature","woof","puppy","pet","faithful"],char:'🐶',fitzpatrick_scale:false,category:"animals_and_nature"},cat:{keywords:["animal","meow","nature","pet","kitten"],char:'🐱',fitzpatrick_scale:false,category:"animals_and_nature"},mouse:{keywords:["animal","nature","cheese_wedge","rodent"],char:'🐭',fitzpatrick_scale:false,category:"animals_and_nature"},hamster:{keywords:["animal","nature"],char:'🐹',fitzpatrick_scale:false,category:"animals_and_nature"},rabbit:{keywords:["animal","nature","pet","spring","magic","bunny"],char:'🐰',fitzpatrick_scale:false,category:"animals_and_nature"},fox_face:{keywords:["animal","nature","face"],char:'🦊',fitzpatrick_scale:false,category:"animals_and_nature"},bear:{keywords:["animal","nature","wild"],char:'🐻',fitzpatrick_scale:false,category:"animals_and_nature"},panda_face:{keywords:["animal","nature","panda"],char:'🐼',fitzpatrick_scale:false,category:"animals_and_nature"},koala:{keywords:["animal","nature"],char:'🐨',fitzpatrick_scale:false,category:"animals_and_nature"},tiger:{keywords:["animal","cat","danger","wild","nature","roar"],char:'🐯',fitzpatrick_scale:false,category:"animals_and_nature"},lion:{keywords:["animal","nature"],char:'🦁',fitzpatrick_scale:false,category:"animals_and_nature"},cow:{keywords:["beef","ox","animal","nature","moo","milk"],char:'🐮',fitzpatrick_scale:false,category:"animals_and_nature"},pig:{keywords:["animal","oink","nature"],char:'🐷',fitzpatrick_scale:false,category:"animals_and_nature"},pig_nose:{keywords:["animal","oink"],char:'🐽',fitzpatrick_scale:false,category:"animals_and_nature"},frog:{keywords:["animal","nature","croak","toad"],char:'🐸',fitzpatrick_scale:false,category:"animals_and_nature"},squid:{keywords:["animal","nature","ocean","sea"],char:'🦑',fitzpatrick_scale:false,category:"animals_and_nature"},octopus:{keywords:["animal","creature","ocean","sea","nature","beach"],char:'🐙',fitzpatrick_scale:false,category:"animals_and_nature"},shrimp:{keywords:["animal","ocean","nature","seafood"],char:'🦐',fitzpatrick_scale:false,category:"animals_and_nature"},monkey_face:{keywords:["animal","nature","circus"],char:'🐵',fitzpatrick_scale:false,category:"animals_and_nature"},gorilla:{keywords:["animal","nature","circus"],char:'🦍',fitzpatrick_scale:false,category:"animals_and_nature"},see_no_evil:{keywords:["monkey","animal","nature","haha"],char:'🙈',fitzpatrick_scale:false,category:"animals_and_nature"},hear_no_evil:{keywords:["animal","monkey","nature"],char:'🙉',fitzpatrick_scale:false,category:"animals_and_nature"},speak_no_evil:{keywords:["monkey","animal","nature","omg"],char:'🙊',fitzpatrick_scale:false,category:"animals_and_nature"},monkey:{keywords:["animal","nature","banana","circus"],char:'🐒',fitzpatrick_scale:false,category:"animals_and_nature"},chicken:{keywords:["animal","cluck","nature","bird"],char:'🐔',fitzpatrick_scale:false,category:"animals_and_nature"},penguin:{keywords:["animal","nature"],char:'🐧',fitzpatrick_scale:false,category:"animals_and_nature"},bird:{keywords:["animal","nature","fly","tweet","spring"],char:'🐦',fitzpatrick_scale:false,category:"animals_and_nature"},baby_chick:{keywords:["animal","chicken","bird"],char:'🐤',fitzpatrick_scale:false,category:"animals_and_nature"},hatching_chick:{keywords:["animal","chicken","egg","born","baby","bird"],char:'🐣',fitzpatrick_scale:false,category:"animals_and_nature"},hatched_chick:{keywords:["animal","chicken","baby","bird"],char:'🐥',fitzpatrick_scale:false,category:"animals_and_nature"},duck:{keywords:["animal","nature","bird","mallard"],char:'🦆',fitzpatrick_scale:false,category:"animals_and_nature"},eagle:{keywords:["animal","nature","bird"],char:'🦅',fitzpatrick_scale:false,category:"animals_and_nature"},owl:{keywords:["animal","nature","bird","hoot"],char:'🦉',fitzpatrick_scale:false,category:"animals_and_nature"},bat:{keywords:["animal","nature","blind","vampire"],char:'🦇',fitzpatrick_scale:false,category:"animals_and_nature"},wolf:{keywords:["animal","nature","wild"],char:'🐺',fitzpatrick_scale:false,category:"animals_and_nature"},boar:{keywords:["animal","nature"],char:'🐗',fitzpatrick_scale:false,category:"animals_and_nature"},horse:{keywords:["animal","brown","nature"],char:'🐴',fitzpatrick_scale:false,category:"animals_and_nature"},unicorn:{keywords:["animal","nature","mystical"],char:'🦄',fitzpatrick_scale:false,category:"animals_and_nature"},honeybee:{keywords:["animal","insect","nature","bug","spring","honey"],char:'🐝',fitzpatrick_scale:false,category:"animals_and_nature"},bug:{keywords:["animal","insect","nature","worm"],char:'🐛',fitzpatrick_scale:false,category:"animals_and_nature"},butterfly:{keywords:["animal","insect","nature","caterpillar"],char:'🦋',fitzpatrick_scale:false,category:"animals_and_nature"},snail:{keywords:["slow","animal","shell"],char:'🐌',fitzpatrick_scale:false,category:"animals_and_nature"},beetle:{keywords:["animal","insect","nature","ladybug"],char:'🐞',fitzpatrick_scale:false,category:"animals_and_nature"},ant:{keywords:["animal","insect","nature","bug"],char:'🐜',fitzpatrick_scale:false,category:"animals_and_nature"},grasshopper:{keywords:["animal","cricket","chirp"],char:'🦗',fitzpatrick_scale:false,category:"animals_and_nature"},spider:{keywords:["animal","arachnid"],char:'🕷',fitzpatrick_scale:false,category:"animals_and_nature"},scorpion:{keywords:["animal","arachnid"],char:'🦂',fitzpatrick_scale:false,category:"animals_and_nature"},crab:{keywords:["animal","crustacean"],char:'🦀',fitzpatrick_scale:false,category:"animals_and_nature"},snake:{keywords:["animal","evil","nature","hiss","python"],char:'🐍',fitzpatrick_scale:false,category:"animals_and_nature"},lizard:{keywords:["animal","nature","reptile"],char:'🦎',fitzpatrick_scale:false,category:"animals_and_nature"},"t-rex":{keywords:["animal","nature","dinosaur","tyrannosaurus","extinct"],char:'🦖',fitzpatrick_scale:false,category:"animals_and_nature"},sauropod:{keywords:["animal","nature","dinosaur","brachiosaurus","brontosaurus","diplodocus","extinct"],char:'🦕',fitzpatrick_scale:false,category:"animals_and_nature"},turtle:{keywords:["animal","slow","nature","tortoise"],char:'🐢',fitzpatrick_scale:false,category:"animals_and_nature"},tropical_fish:{keywords:["animal","swim","ocean","beach","nemo"],char:'🐠',fitzpatrick_scale:false,category:"animals_and_nature"},fish:{keywords:["animal","food","nature"],char:'🐟',fitzpatrick_scale:false,category:"animals_and_nature"},blowfish:{keywords:["animal","nature","food","sea","ocean"],char:'🐡',fitzpatrick_scale:false,category:"animals_and_nature"},dolphin:{keywords:["animal","nature","fish","sea","ocean","flipper","fins","beach"],char:'🐬',fitzpatrick_scale:false,category:"animals_and_nature"},shark:{keywords:["animal","nature","fish","sea","ocean","jaws","fins","beach"],char:'🦈',fitzpatrick_scale:false,category:"animals_and_nature"},whale:{keywords:["animal","nature","sea","ocean"],char:'🐳',fitzpatrick_scale:false,category:"animals_and_nature"},whale2:{keywords:["animal","nature","sea","ocean"],char:'🐋',fitzpatrick_scale:false,category:"animals_and_nature"},crocodile:{keywords:["animal","nature","reptile","lizard","alligator"],char:'🐊',fitzpatrick_scale:false,category:"animals_and_nature"},leopard:{keywords:["animal","nature"],char:'🐆',fitzpatrick_scale:false,category:"animals_and_nature"},zebra:{keywords:["animal","nature","stripes","safari"],char:'🦓',fitzpatrick_scale:false,category:"animals_and_nature"},tiger2:{keywords:["animal","nature","roar"],char:'🐅',fitzpatrick_scale:false,category:"animals_and_nature"},water_buffalo:{keywords:["animal","nature","ox","cow"],char:'🐃',fitzpatrick_scale:false,category:"animals_and_nature"},ox:{keywords:["animal","cow","beef"],char:'🐂',fitzpatrick_scale:false,category:"animals_and_nature"},cow2:{keywords:["beef","ox","animal","nature","moo","milk"],char:'🐄',fitzpatrick_scale:false,category:"animals_and_nature"},deer:{keywords:["animal","nature","horns","venison"],char:'🦌',fitzpatrick_scale:false,category:"animals_and_nature"},dromedary_camel:{keywords:["animal","hot","desert","hump"],char:'🐪',fitzpatrick_scale:false,category:"animals_and_nature"},camel:{keywords:["animal","nature","hot","desert","hump"],char:'🐫',fitzpatrick_scale:false,category:"animals_and_nature"},giraffe:{keywords:["animal","nature","spots","safari"],char:'🦒',fitzpatrick_scale:false,category:"animals_and_nature"},elephant:{keywords:["animal","nature","nose","th","circus"],char:'🐘',fitzpatrick_scale:false,category:"animals_and_nature"},rhinoceros:{keywords:["animal","nature","horn"],char:'🦏',fitzpatrick_scale:false,category:"animals_and_nature"},goat:{keywords:["animal","nature"],char:'🐐',fitzpatrick_scale:false,category:"animals_and_nature"},ram:{keywords:["animal","sheep","nature"],char:'🐏',fitzpatrick_scale:false,category:"animals_and_nature"},sheep:{keywords:["animal","nature","wool","shipit"],char:'🐑',fitzpatrick_scale:false,category:"animals_and_nature"},racehorse:{keywords:["animal","gamble","luck"],char:'🐎',fitzpatrick_scale:false,category:"animals_and_nature"},pig2:{keywords:["animal","nature"],char:'🐖',fitzpatrick_scale:false,category:"animals_and_nature"},rat:{keywords:["animal","mouse","rodent"],char:'🐀',fitzpatrick_scale:false,category:"animals_and_nature"},mouse2:{keywords:["animal","nature","rodent"],char:'🐁',fitzpatrick_scale:false,category:"animals_and_nature"},rooster:{keywords:["animal","nature","chicken"],char:'🐓',fitzpatrick_scale:false,category:"animals_and_nature"},turkey:{keywords:["animal","bird"],char:'🦃',fitzpatrick_scale:false,category:"animals_and_nature"},dove:{keywords:["animal","bird"],char:'🕊',fitzpatrick_scale:false,category:"animals_and_nature"},dog2:{keywords:["animal","nature","friend","doge","pet","faithful"],char:'🐕',fitzpatrick_scale:false,category:"animals_and_nature"},poodle:{keywords:["dog","animal","101","nature","pet"],char:'🐩',fitzpatrick_scale:false,category:"animals_and_nature"},cat2:{keywords:["animal","meow","pet","cats"],char:'🐈',fitzpatrick_scale:false,category:"animals_and_nature"},rabbit2:{keywords:["animal","nature","pet","magic","spring"],char:'🐇',fitzpatrick_scale:false,category:"animals_and_nature"},chipmunk:{keywords:["animal","nature","rodent","squirrel"],char:'🐿',fitzpatrick_scale:false,category:"animals_and_nature"},hedgehog:{keywords:["animal","nature","spiny"],char:'🦔',fitzpatrick_scale:false,category:"animals_and_nature"},raccoon:{keywords:["animal","nature"],char:'🦝',fitzpatrick_scale:false,category:"animals_and_nature"},llama:{keywords:["animal","nature","alpaca"],char:'🦙',fitzpatrick_scale:false,category:"animals_and_nature"},hippopotamus:{keywords:["animal","nature"],char:'🦛',fitzpatrick_scale:false,category:"animals_and_nature"},kangaroo:{keywords:["animal","nature","australia","joey","hop","marsupial"],char:'🦘',fitzpatrick_scale:false,category:"animals_and_nature"},badger:{keywords:["animal","nature","honey"],char:'🦡',fitzpatrick_scale:false,category:"animals_and_nature"},swan:{keywords:["animal","nature","bird"],char:'🦢',fitzpatrick_scale:false,category:"animals_and_nature"},peacock:{keywords:["animal","nature","peahen","bird"],char:'🦚',fitzpatrick_scale:false,category:"animals_and_nature"},parrot:{keywords:["animal","nature","bird","pirate","talk"],char:'🦜',fitzpatrick_scale:false,category:"animals_and_nature"},lobster:{keywords:["animal","nature","bisque","claws","seafood"],char:'🦞',fitzpatrick_scale:false,category:"animals_and_nature"},mosquito:{keywords:["animal","nature","insect","malaria"],char:'🦟',fitzpatrick_scale:false,category:"animals_and_nature"},paw_prints:{keywords:["animal","tracking","footprints","dog","cat","pet","feet"],char:'🐾',fitzpatrick_scale:false,category:"animals_and_nature"},dragon:{keywords:["animal","myth","nature","chinese","green"],char:'🐉',fitzpatrick_scale:false,category:"animals_and_nature"},dragon_face:{keywords:["animal","myth","nature","chinese","green"],char:'🐲',fitzpatrick_scale:false,category:"animals_and_nature"},cactus:{keywords:["vegetable","plant","nature"],char:'🌵',fitzpatrick_scale:false,category:"animals_and_nature"},christmas_tree:{keywords:["festival","vacation","december","xmas","celebration"],char:'🎄',fitzpatrick_scale:false,category:"animals_and_nature"},evergreen_tree:{keywords:["plant","nature"],char:'🌲',fitzpatrick_scale:false,category:"animals_and_nature"},deciduous_tree:{keywords:["plant","nature"],char:'🌳',fitzpatrick_scale:false,category:"animals_and_nature"},palm_tree:{keywords:["plant","vegetable","nature","summer","beach","mojito","tropical"],char:'🌴',fitzpatrick_scale:false,category:"animals_and_nature"},seedling:{keywords:["plant","nature","grass","lawn","spring"],char:'🌱',fitzpatrick_scale:false,category:"animals_and_nature"},herb:{keywords:["vegetable","plant","medicine","weed","grass","lawn"],char:'🌿',fitzpatrick_scale:false,category:"animals_and_nature"},shamrock:{keywords:["vegetable","plant","nature","irish","clover"],char:'☘',fitzpatrick_scale:false,category:"animals_and_nature"},four_leaf_clover:{keywords:["vegetable","plant","nature","lucky","irish"],char:'🍀',fitzpatrick_scale:false,category:"animals_and_nature"},bamboo:{keywords:["plant","nature","vegetable","panda","pine_decoration"],char:'🎍',fitzpatrick_scale:false,category:"animals_and_nature"},tanabata_tree:{keywords:["plant","nature","branch","summer"],char:'🎋',fitzpatrick_scale:false,category:"animals_and_nature"},leaves:{keywords:["nature","plant","tree","vegetable","grass","lawn","spring"],char:'🍃',fitzpatrick_scale:false,category:"animals_and_nature"},fallen_leaf:{keywords:["nature","plant","vegetable","leaves"],char:'🍂',fitzpatrick_scale:false,category:"animals_and_nature"},maple_leaf:{keywords:["nature","plant","vegetable","ca","fall"],char:'🍁',fitzpatrick_scale:false,category:"animals_and_nature"},ear_of_rice:{keywords:["nature","plant"],char:'🌾',fitzpatrick_scale:false,category:"animals_and_nature"},hibiscus:{keywords:["plant","vegetable","flowers","beach"],char:'🌺',fitzpatrick_scale:false,category:"animals_and_nature"},sunflower:{keywords:["nature","plant","fall"],char:'🌻',fitzpatrick_scale:false,category:"animals_and_nature"},rose:{keywords:["flowers","valentines","love","spring"],char:'🌹',fitzpatrick_scale:false,category:"animals_and_nature"},wilted_flower:{keywords:["plant","nature","flower"],char:'🥀',fitzpatrick_scale:false,category:"animals_and_nature"},tulip:{keywords:["flowers","plant","nature","summer","spring"],char:'🌷',fitzpatrick_scale:false,category:"animals_and_nature"},blossom:{keywords:["nature","flowers","yellow"],char:'🌼',fitzpatrick_scale:false,category:"animals_and_nature"},cherry_blossom:{keywords:["nature","plant","spring","flower"],char:'🌸',fitzpatrick_scale:false,category:"animals_and_nature"},bouquet:{keywords:["flowers","nature","spring"],char:'💐',fitzpatrick_scale:false,category:"animals_and_nature"},mushroom:{keywords:["plant","vegetable"],char:'🍄',fitzpatrick_scale:false,category:"animals_and_nature"},chestnut:{keywords:["food","squirrel"],char:'🌰',fitzpatrick_scale:false,category:"animals_and_nature"},jack_o_lantern:{keywords:["halloween","light","pumpkin","creepy","fall"],char:'🎃',fitzpatrick_scale:false,category:"animals_and_nature"},shell:{keywords:["nature","sea","beach"],char:'🐚',fitzpatrick_scale:false,category:"animals_and_nature"},spider_web:{keywords:["animal","insect","arachnid","silk"],char:'🕸',fitzpatrick_scale:false,category:"animals_and_nature"},earth_americas:{keywords:["globe","world","USA","international"],char:'🌎',fitzpatrick_scale:false,category:"animals_and_nature"},earth_africa:{keywords:["globe","world","international"],char:'🌍',fitzpatrick_scale:false,category:"animals_and_nature"},earth_asia:{keywords:["globe","world","east","international"],char:'🌏',fitzpatrick_scale:false,category:"animals_and_nature"},full_moon:{keywords:["nature","yellow","twilight","planet","space","night","evening","sleep"],char:'🌕',fitzpatrick_scale:false,category:"animals_and_nature"},waning_gibbous_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep","waxing_gibbous_moon"],char:'🌖',fitzpatrick_scale:false,category:"animals_and_nature"},last_quarter_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:'🌗',fitzpatrick_scale:false,category:"animals_and_nature"},waning_crescent_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:'🌘',fitzpatrick_scale:false,category:"animals_and_nature"},new_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:'🌑',fitzpatrick_scale:false,category:"animals_and_nature"},waxing_crescent_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:'🌒',fitzpatrick_scale:false,category:"animals_and_nature"},first_quarter_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:'🌓',fitzpatrick_scale:false,category:"animals_and_nature"},waxing_gibbous_moon:{keywords:["nature","night","sky","gray","twilight","planet","space","evening","sleep"],char:'🌔',fitzpatrick_scale:false,category:"animals_and_nature"},new_moon_with_face:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:'🌚',fitzpatrick_scale:false,category:"animals_and_nature"},full_moon_with_face:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:'🌝',fitzpatrick_scale:false,category:"animals_and_nature"},first_quarter_moon_with_face:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:'🌛',fitzpatrick_scale:false,category:"animals_and_nature"},last_quarter_moon_with_face:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:'🌜',fitzpatrick_scale:false,category:"animals_and_nature"},sun_with_face:{keywords:["nature","morning","sky"],char:'🌞',fitzpatrick_scale:false,category:"animals_and_nature"},crescent_moon:{keywords:["night","sleep","sky","evening","magic"],char:'🌙',fitzpatrick_scale:false,category:"animals_and_nature"},star:{keywords:["night","yellow"],char:'⭐',fitzpatrick_scale:false,category:"animals_and_nature"},star2:{keywords:["night","sparkle","awesome","good","magic"],char:'🌟',fitzpatrick_scale:false,category:"animals_and_nature"},dizzy:{keywords:["star","sparkle","shoot","magic"],char:'💫',fitzpatrick_scale:false,category:"animals_and_nature"},sparkles:{keywords:["stars","shine","shiny","cool","awesome","good","magic"],char:'✨',fitzpatrick_scale:false,category:"animals_and_nature"},comet:{keywords:["space"],char:'☄',fitzpatrick_scale:false,category:"animals_and_nature"},sunny:{keywords:["weather","nature","brightness","summer","beach","spring"],char:'☀️',fitzpatrick_scale:false,category:"animals_and_nature"},sun_behind_small_cloud:{keywords:["weather"],char:'🌤',fitzpatrick_scale:false,category:"animals_and_nature"},partly_sunny:{keywords:["weather","nature","cloudy","morning","fall","spring"],char:'⛅',fitzpatrick_scale:false,category:"animals_and_nature"},sun_behind_large_cloud:{keywords:["weather"],char:'🌥',fitzpatrick_scale:false,category:"animals_and_nature"},sun_behind_rain_cloud:{keywords:["weather"],char:'🌦',fitzpatrick_scale:false,category:"animals_and_nature"},cloud:{keywords:["weather","sky"],char:'☁️',fitzpatrick_scale:false,category:"animals_and_nature"},cloud_with_rain:{keywords:["weather"],char:'🌧',fitzpatrick_scale:false,category:"animals_and_nature"},cloud_with_lightning_and_rain:{keywords:["weather","lightning"],char:'⛈',fitzpatrick_scale:false,category:"animals_and_nature"},cloud_with_lightning:{keywords:["weather","thunder"],char:'🌩',fitzpatrick_scale:false,category:"animals_and_nature"},zap:{keywords:["thunder","weather","lightning bolt","fast"],char:'⚡',fitzpatrick_scale:false,category:"animals_and_nature"},fire:{keywords:["hot","cook","flame"],char:'🔥',fitzpatrick_scale:false,category:"animals_and_nature"},boom:{keywords:["bomb","explode","explosion","collision","blown"],char:'💥',fitzpatrick_scale:false,category:"animals_and_nature"},snowflake:{keywords:["winter","season","cold","weather","christmas","xmas"],char:'❄️',fitzpatrick_scale:false,category:"animals_and_nature"},cloud_with_snow:{keywords:["weather"],char:'🌨',fitzpatrick_scale:false,category:"animals_and_nature"},snowman:{keywords:["winter","season","cold","weather","christmas","xmas","frozen","without_snow"],char:'⛄',fitzpatrick_scale:false,category:"animals_and_nature"},snowman_with_snow:{keywords:["winter","season","cold","weather","christmas","xmas","frozen"],char:'☃',fitzpatrick_scale:false,category:"animals_and_nature"},wind_face:{keywords:["gust","air"],char:'🌬',fitzpatrick_scale:false,category:"animals_and_nature"},dash:{keywords:["wind","air","fast","shoo","fart","smoke","puff"],char:'💨',fitzpatrick_scale:false,category:"animals_and_nature"},tornado:{keywords:["weather","cyclone","twister"],char:'🌪',fitzpatrick_scale:false,category:"animals_and_nature"},fog:{keywords:["weather"],char:'🌫',fitzpatrick_scale:false,category:"animals_and_nature"},open_umbrella:{keywords:["weather","spring"],char:'☂',fitzpatrick_scale:false,category:"animals_and_nature"},umbrella:{keywords:["rainy","weather","spring"],char:'☔',fitzpatrick_scale:false,category:"animals_and_nature"},droplet:{keywords:["water","drip","faucet","spring"],char:'💧',fitzpatrick_scale:false,category:"animals_and_nature"},sweat_drops:{keywords:["water","drip","oops"],char:'💦',fitzpatrick_scale:false,category:"animals_and_nature"},ocean:{keywords:["sea","water","wave","nature","tsunami","disaster"],char:'🌊',fitzpatrick_scale:false,category:"animals_and_nature"},green_apple:{keywords:["fruit","nature"],char:'🍏',fitzpatrick_scale:false,category:"food_and_drink"},apple:{keywords:["fruit","mac","school"],char:'🍎',fitzpatrick_scale:false,category:"food_and_drink"},pear:{keywords:["fruit","nature","food"],char:'🍐',fitzpatrick_scale:false,category:"food_and_drink"},tangerine:{keywords:["food","fruit","nature","orange"],char:'🍊',fitzpatrick_scale:false,category:"food_and_drink"},lemon:{keywords:["fruit","nature"],char:'🍋',fitzpatrick_scale:false,category:"food_and_drink"},banana:{keywords:["fruit","food","monkey"],char:'🍌',fitzpatrick_scale:false,category:"food_and_drink"},watermelon:{keywords:["fruit","food","picnic","summer"],char:'🍉',fitzpatrick_scale:false,category:"food_and_drink"},grapes:{keywords:["fruit","food","wine"],char:'🍇',fitzpatrick_scale:false,category:"food_and_drink"},strawberry:{keywords:["fruit","food","nature"],char:'🍓',fitzpatrick_scale:false,category:"food_and_drink"},melon:{keywords:["fruit","nature","food"],char:'🍈',fitzpatrick_scale:false,category:"food_and_drink"},cherries:{keywords:["food","fruit"],char:'🍒',fitzpatrick_scale:false,category:"food_and_drink"},peach:{keywords:["fruit","nature","food"],char:'🍑',fitzpatrick_scale:false,category:"food_and_drink"},pineapple:{keywords:["fruit","nature","food"],char:'🍍',fitzpatrick_scale:false,category:"food_and_drink"},coconut:{keywords:["fruit","nature","food","palm"],char:'🥥',fitzpatrick_scale:false,category:"food_and_drink"},kiwi_fruit:{keywords:["fruit","food"],char:'🥝',fitzpatrick_scale:false,category:"food_and_drink"},mango:{keywords:["fruit","food","tropical"],char:'🥭',fitzpatrick_scale:false,category:"food_and_drink"},avocado:{keywords:["fruit","food"],char:'🥑',fitzpatrick_scale:false,category:"food_and_drink"},broccoli:{keywords:["fruit","food","vegetable"],char:'🥦',fitzpatrick_scale:false,category:"food_and_drink"},tomato:{keywords:["fruit","vegetable","nature","food"],char:'🍅',fitzpatrick_scale:false,category:"food_and_drink"},eggplant:{keywords:["vegetable","nature","food","aubergine"],char:'🍆',fitzpatrick_scale:false,category:"food_and_drink"},cucumber:{keywords:["fruit","food","pickle"],char:'🥒',fitzpatrick_scale:false,category:"food_and_drink"},carrot:{keywords:["vegetable","food","orange"],char:'🥕',fitzpatrick_scale:false,category:"food_and_drink"},hot_pepper:{keywords:["food","spicy","chilli","chili"],char:'🌶',fitzpatrick_scale:false,category:"food_and_drink"},potato:{keywords:["food","tuber","vegatable","starch"],char:'🥔',fitzpatrick_scale:false,category:"food_and_drink"},corn:{keywords:["food","vegetable","plant"],char:'🌽',fitzpatrick_scale:false,category:"food_and_drink"},leafy_greens:{keywords:["food","vegetable","plant","bok choy","cabbage","kale","lettuce"],char:'🥬',fitzpatrick_scale:false,category:"food_and_drink"},sweet_potato:{keywords:["food","nature"],char:'🍠',fitzpatrick_scale:false,category:"food_and_drink"},peanuts:{keywords:["food","nut"],char:'🥜',fitzpatrick_scale:false,category:"food_and_drink"},honey_pot:{keywords:["bees","sweet","kitchen"],char:'🍯',fitzpatrick_scale:false,category:"food_and_drink"},croissant:{keywords:["food","bread","french"],char:'🥐',fitzpatrick_scale:false,category:"food_and_drink"},bread:{keywords:["food","wheat","breakfast","toast"],char:'🍞',fitzpatrick_scale:false,category:"food_and_drink"},baguette_bread:{keywords:["food","bread","french"],char:'🥖',fitzpatrick_scale:false,category:"food_and_drink"},bagel:{keywords:["food","bread","bakery","schmear"],char:'🥯',fitzpatrick_scale:false,category:"food_and_drink"},pretzel:{keywords:["food","bread","twisted"],char:'🥨',fitzpatrick_scale:false,category:"food_and_drink"},cheese:{keywords:["food","chadder"],char:'🧀',fitzpatrick_scale:false,category:"food_and_drink"},egg:{keywords:["food","chicken","breakfast"],char:'🥚',fitzpatrick_scale:false,category:"food_and_drink"},bacon:{keywords:["food","breakfast","pork","pig","meat"],char:'🥓',fitzpatrick_scale:false,category:"food_and_drink"},steak:{keywords:["food","cow","meat","cut","chop","lambchop","porkchop"],char:'🥩',fitzpatrick_scale:false,category:"food_and_drink"},pancakes:{keywords:["food","breakfast","flapjacks","hotcakes"],char:'🥞',fitzpatrick_scale:false,category:"food_and_drink"},poultry_leg:{keywords:["food","meat","drumstick","bird","chicken","turkey"],char:'🍗',fitzpatrick_scale:false,category:"food_and_drink"},meat_on_bone:{keywords:["good","food","drumstick"],char:'🍖',fitzpatrick_scale:false,category:"food_and_drink"},bone:{keywords:["skeleton"],char:'🦴',fitzpatrick_scale:false,category:"food_and_drink"},fried_shrimp:{keywords:["food","animal","appetizer","summer"],char:'🍤',fitzpatrick_scale:false,category:"food_and_drink"},fried_egg:{keywords:["food","breakfast","kitchen","egg"],char:'🍳',fitzpatrick_scale:false,category:"food_and_drink"},hamburger:{keywords:["meat","fast food","beef","cheeseburger","mcdonalds","burger king"],char:'🍔',fitzpatrick_scale:false,category:"food_and_drink"},fries:{keywords:["chips","snack","fast food"],char:'🍟',fitzpatrick_scale:false,category:"food_and_drink"},stuffed_flatbread:{keywords:["food","flatbread","stuffed","gyro"],char:'🥙',fitzpatrick_scale:false,category:"food_and_drink"},hotdog:{keywords:["food","frankfurter"],char:'🌭',fitzpatrick_scale:false,category:"food_and_drink"},pizza:{keywords:["food","party"],char:'🍕',fitzpatrick_scale:false,category:"food_and_drink"},sandwich:{keywords:["food","lunch","bread"],char:'🥪',fitzpatrick_scale:false,category:"food_and_drink"},canned_food:{keywords:["food","soup"],char:'🥫',fitzpatrick_scale:false,category:"food_and_drink"},spaghetti:{keywords:["food","italian","noodle"],char:'🍝',fitzpatrick_scale:false,category:"food_and_drink"},taco:{keywords:["food","mexican"],char:'🌮',fitzpatrick_scale:false,category:"food_and_drink"},burrito:{keywords:["food","mexican"],char:'🌯',fitzpatrick_scale:false,category:"food_and_drink"},green_salad:{keywords:["food","healthy","lettuce"],char:'🥗',fitzpatrick_scale:false,category:"food_and_drink"},shallow_pan_of_food:{keywords:["food","cooking","casserole","paella"],char:'🥘',fitzpatrick_scale:false,category:"food_and_drink"},ramen:{keywords:["food","japanese","noodle","chopsticks"],char:'🍜',fitzpatrick_scale:false,category:"food_and_drink"},stew:{keywords:["food","meat","soup"],char:'🍲',fitzpatrick_scale:false,category:"food_and_drink"},fish_cake:{keywords:["food","japan","sea","beach","narutomaki","pink","swirl","kamaboko","surimi","ramen"],char:'🍥',fitzpatrick_scale:false,category:"food_and_drink"},fortune_cookie:{keywords:["food","prophecy"],char:'🥠',fitzpatrick_scale:false,category:"food_and_drink"},sushi:{keywords:["food","fish","japanese","rice"],char:'🍣',fitzpatrick_scale:false,category:"food_and_drink"},bento:{keywords:["food","japanese","box"],char:'🍱',fitzpatrick_scale:false,category:"food_and_drink"},curry:{keywords:["food","spicy","hot","indian"],char:'🍛',fitzpatrick_scale:false,category:"food_and_drink"},rice_ball:{keywords:["food","japanese"],char:'🍙',fitzpatrick_scale:false,category:"food_and_drink"},rice:{keywords:["food","china","asian"],char:'🍚',fitzpatrick_scale:false,category:"food_and_drink"},rice_cracker:{keywords:["food","japanese"],char:'🍘',fitzpatrick_scale:false,category:"food_and_drink"},oden:{keywords:["food","japanese"],char:'🍢',fitzpatrick_scale:false,category:"food_and_drink"},dango:{keywords:["food","dessert","sweet","japanese","barbecue","meat"],char:'🍡',fitzpatrick_scale:false,category:"food_and_drink"},shaved_ice:{keywords:["hot","dessert","summer"],char:'🍧',fitzpatrick_scale:false,category:"food_and_drink"},ice_cream:{keywords:["food","hot","dessert"],char:'🍨',fitzpatrick_scale:false,category:"food_and_drink"},icecream:{keywords:["food","hot","dessert","summer"],char:'🍦',fitzpatrick_scale:false,category:"food_and_drink"},pie:{keywords:["food","dessert","pastry"],char:'🥧',fitzpatrick_scale:false,category:"food_and_drink"},cake:{keywords:["food","dessert"],char:'🍰',fitzpatrick_scale:false,category:"food_and_drink"},cupcake:{keywords:["food","dessert","bakery","sweet"],char:'🧁',fitzpatrick_scale:false,category:"food_and_drink"},moon_cake:{keywords:["food","autumn"],char:'🥮',fitzpatrick_scale:false,category:"food_and_drink"},birthday:{keywords:["food","dessert","cake"],char:'🎂',fitzpatrick_scale:false,category:"food_and_drink"},custard:{keywords:["dessert","food"],char:'🍮',fitzpatrick_scale:false,category:"food_and_drink"},candy:{keywords:["snack","dessert","sweet","lolly"],char:'🍬',fitzpatrick_scale:false,category:"food_and_drink"},lollipop:{keywords:["food","snack","candy","sweet"],char:'🍭',fitzpatrick_scale:false,category:"food_and_drink"},chocolate_bar:{keywords:["food","snack","dessert","sweet"],char:'🍫',fitzpatrick_scale:false,category:"food_and_drink"},popcorn:{keywords:["food","movie theater","films","snack"],char:'🍿',fitzpatrick_scale:false,category:"food_and_drink"},dumpling:{keywords:["food","empanada","pierogi","potsticker"],char:'🥟',fitzpatrick_scale:false,category:"food_and_drink"},doughnut:{keywords:["food","dessert","snack","sweet","donut"],char:'🍩',fitzpatrick_scale:false,category:"food_and_drink"},cookie:{keywords:["food","snack","oreo","chocolate","sweet","dessert"],char:'🍪',fitzpatrick_scale:false,category:"food_and_drink"},milk_glass:{keywords:["beverage","drink","cow"],char:'🥛',fitzpatrick_scale:false,category:"food_and_drink"},beer:{keywords:["relax","beverage","drink","drunk","party","pub","summer","alcohol","booze"],char:'🍺',fitzpatrick_scale:false,category:"food_and_drink"},beers:{keywords:["relax","beverage","drink","drunk","party","pub","summer","alcohol","booze"],char:'🍻',fitzpatrick_scale:false,category:"food_and_drink"},clinking_glasses:{keywords:["beverage","drink","party","alcohol","celebrate","cheers","wine","champagne","toast"],char:'🥂',fitzpatrick_scale:false,category:"food_and_drink"},wine_glass:{keywords:["drink","beverage","drunk","alcohol","booze"],char:'🍷',fitzpatrick_scale:false,category:"food_and_drink"},tumbler_glass:{keywords:["drink","beverage","drunk","alcohol","liquor","booze","bourbon","scotch","whisky","glass","shot"],char:'🥃',fitzpatrick_scale:false,category:"food_and_drink"},cocktail:{keywords:["drink","drunk","alcohol","beverage","booze","mojito"],char:'🍸',fitzpatrick_scale:false,category:"food_and_drink"},tropical_drink:{keywords:["beverage","cocktail","summer","beach","alcohol","booze","mojito"],char:'🍹',fitzpatrick_scale:false,category:"food_and_drink"},champagne:{keywords:["drink","wine","bottle","celebration"],char:'🍾',fitzpatrick_scale:false,category:"food_and_drink"},sake:{keywords:["wine","drink","drunk","beverage","japanese","alcohol","booze"],char:'🍶',fitzpatrick_scale:false,category:"food_and_drink"},tea:{keywords:["drink","bowl","breakfast","green","british"],char:'🍵',fitzpatrick_scale:false,category:"food_and_drink"},cup_with_straw:{keywords:["drink","soda"],char:'🥤',fitzpatrick_scale:false,category:"food_and_drink"},coffee:{keywords:["beverage","caffeine","latte","espresso"],char:'☕',fitzpatrick_scale:false,category:"food_and_drink"},baby_bottle:{keywords:["food","container","milk"],char:'🍼',fitzpatrick_scale:false,category:"food_and_drink"},salt:{keywords:["condiment","shaker"],char:'🧂',fitzpatrick_scale:false,category:"food_and_drink"},spoon:{keywords:["cutlery","kitchen","tableware"],char:'🥄',fitzpatrick_scale:false,category:"food_and_drink"},fork_and_knife:{keywords:["cutlery","kitchen"],char:'🍴',fitzpatrick_scale:false,category:"food_and_drink"},plate_with_cutlery:{keywords:["food","eat","meal","lunch","dinner","restaurant"],char:'🍽',fitzpatrick_scale:false,category:"food_and_drink"},bowl_with_spoon:{keywords:["food","breakfast","cereal","oatmeal","porridge"],char:'🥣',fitzpatrick_scale:false,category:"food_and_drink"},takeout_box:{keywords:["food","leftovers"],char:'🥡',fitzpatrick_scale:false,category:"food_and_drink"},chopsticks:{keywords:["food"],char:'🥢',fitzpatrick_scale:false,category:"food_and_drink"},soccer:{keywords:["sports","football"],char:'⚽',fitzpatrick_scale:false,category:"activity"},basketball:{keywords:["sports","balls","NBA"],char:'🏀',fitzpatrick_scale:false,category:"activity"},football:{keywords:["sports","balls","NFL"],char:'🏈',fitzpatrick_scale:false,category:"activity"},baseball:{keywords:["sports","balls"],char:'⚾',fitzpatrick_scale:false,category:"activity"},softball:{keywords:["sports","balls"],char:'🥎',fitzpatrick_scale:false,category:"activity"},tennis:{keywords:["sports","balls","green"],char:'🎾',fitzpatrick_scale:false,category:"activity"},volleyball:{keywords:["sports","balls"],char:'🏐',fitzpatrick_scale:false,category:"activity"},rugby_football:{keywords:["sports","team"],char:'🏉',fitzpatrick_scale:false,category:"activity"},flying_disc:{keywords:["sports","frisbee","ultimate"],char:'🥏',fitzpatrick_scale:false,category:"activity"},"8ball":{keywords:["pool","hobby","game","luck","magic"],char:'🎱',fitzpatrick_scale:false,category:"activity"},golf:{keywords:["sports","business","flag","hole","summer"],char:'⛳',fitzpatrick_scale:false,category:"activity"},golfing_woman:{keywords:["sports","business","woman","female"],char:'🏌️‍♀️',fitzpatrick_scale:false,category:"activity"},golfing_man:{keywords:["sports","business"],char:'🏌',fitzpatrick_scale:true,category:"activity"},ping_pong:{keywords:["sports","pingpong"],char:'🏓',fitzpatrick_scale:false,category:"activity"},badminton:{keywords:["sports"],char:'🏸',fitzpatrick_scale:false,category:"activity"},goal_net:{keywords:["sports"],char:'🥅',fitzpatrick_scale:false,category:"activity"},ice_hockey:{keywords:["sports"],char:'🏒',fitzpatrick_scale:false,category:"activity"},field_hockey:{keywords:["sports"],char:'🏑',fitzpatrick_scale:false,category:"activity"},lacrosse:{keywords:["sports","ball","stick"],char:'🥍',fitzpatrick_scale:false,category:"activity"},cricket:{keywords:["sports"],char:'🏏',fitzpatrick_scale:false,category:"activity"},ski:{keywords:["sports","winter","cold","snow"],char:'🎿',fitzpatrick_scale:false,category:"activity"},skier:{keywords:["sports","winter","snow"],char:'⛷',fitzpatrick_scale:false,category:"activity"},snowboarder:{keywords:["sports","winter"],char:'🏂',fitzpatrick_scale:true,category:"activity"},person_fencing:{keywords:["sports","fencing","sword"],char:'🤺',fitzpatrick_scale:false,category:"activity"},women_wrestling:{keywords:["sports","wrestlers"],char:'🤼‍♀️',fitzpatrick_scale:false,category:"activity"},men_wrestling:{keywords:["sports","wrestlers"],char:'🤼‍♂️',fitzpatrick_scale:false,category:"activity"},woman_cartwheeling:{keywords:["gymnastics"],char:'🤸‍♀️',fitzpatrick_scale:true,category:"activity"},man_cartwheeling:{keywords:["gymnastics"],char:'🤸‍♂️',fitzpatrick_scale:true,category:"activity"},woman_playing_handball:{keywords:["sports"],char:'🤾‍♀️',fitzpatrick_scale:true,category:"activity"},man_playing_handball:{keywords:["sports"],char:'🤾‍♂️',fitzpatrick_scale:true,category:"activity"},ice_skate:{keywords:["sports"],char:'⛸',fitzpatrick_scale:false,category:"activity"},curling_stone:{keywords:["sports"],char:'🥌',fitzpatrick_scale:false,category:"activity"},skateboard:{keywords:["board"],char:'🛹',fitzpatrick_scale:false,category:"activity"},sled:{keywords:["sleigh","luge","toboggan"],char:'🛷',fitzpatrick_scale:false,category:"activity"},bow_and_arrow:{keywords:["sports"],char:'🏹',fitzpatrick_scale:false,category:"activity"},fishing_pole_and_fish:{keywords:["food","hobby","summer"],char:'🎣',fitzpatrick_scale:false,category:"activity"},boxing_glove:{keywords:["sports","fighting"],char:'🥊',fitzpatrick_scale:false,category:"activity"},martial_arts_uniform:{keywords:["judo","karate","taekwondo"],char:'🥋',fitzpatrick_scale:false,category:"activity"},rowing_woman:{keywords:["sports","hobby","water","ship","woman","female"],char:'🚣‍♀️',fitzpatrick_scale:true,category:"activity"},rowing_man:{keywords:["sports","hobby","water","ship"],char:'🚣',fitzpatrick_scale:true,category:"activity"},climbing_woman:{keywords:["sports","hobby","woman","female","rock"],char:'🧗‍♀️',fitzpatrick_scale:true,category:"activity"},climbing_man:{keywords:["sports","hobby","man","male","rock"],char:'🧗‍♂️',fitzpatrick_scale:true,category:"activity"},swimming_woman:{keywords:["sports","exercise","human","athlete","water","summer","woman","female"],char:'🏊‍♀️',fitzpatrick_scale:true,category:"activity"},swimming_man:{keywords:["sports","exercise","human","athlete","water","summer"],char:'🏊',fitzpatrick_scale:true,category:"activity"},woman_playing_water_polo:{keywords:["sports","pool"],char:'🤽‍♀️',fitzpatrick_scale:true,category:"activity"},man_playing_water_polo:{keywords:["sports","pool"],char:'🤽‍♂️',fitzpatrick_scale:true,category:"activity"},woman_in_lotus_position:{keywords:["woman","female","meditation","yoga","serenity","zen","mindfulness"],char:'🧘‍♀️',fitzpatrick_scale:true,category:"activity"},man_in_lotus_position:{keywords:["man","male","meditation","yoga","serenity","zen","mindfulness"],char:'🧘‍♂️',fitzpatrick_scale:true,category:"activity"},surfing_woman:{keywords:["sports","ocean","sea","summer","beach","woman","female"],char:'🏄‍♀️',fitzpatrick_scale:true,category:"activity"},surfing_man:{keywords:["sports","ocean","sea","summer","beach"],char:'🏄',fitzpatrick_scale:true,category:"activity"},bath:{keywords:["clean","shower","bathroom"],char:'🛀',fitzpatrick_scale:true,category:"activity"},basketball_woman:{keywords:["sports","human","woman","female"],char:'⛹️‍♀️',fitzpatrick_scale:true,category:"activity"},basketball_man:{keywords:["sports","human"],char:'⛹',fitzpatrick_scale:true,category:"activity"},weight_lifting_woman:{keywords:["sports","training","exercise","woman","female"],char:'🏋️‍♀️',fitzpatrick_scale:true,category:"activity"},weight_lifting_man:{keywords:["sports","training","exercise"],char:'🏋',fitzpatrick_scale:true,category:"activity"},biking_woman:{keywords:["sports","bike","exercise","hipster","woman","female"],char:'🚴‍♀️',fitzpatrick_scale:true,category:"activity"},biking_man:{keywords:["sports","bike","exercise","hipster"],char:'🚴',fitzpatrick_scale:true,category:"activity"},mountain_biking_woman:{keywords:["transportation","sports","human","race","bike","woman","female"],char:'🚵‍♀️',fitzpatrick_scale:true,category:"activity"},mountain_biking_man:{keywords:["transportation","sports","human","race","bike"],char:'🚵',fitzpatrick_scale:true,category:"activity"},horse_racing:{keywords:["animal","betting","competition","gambling","luck"],char:'🏇',fitzpatrick_scale:true,category:"activity"},business_suit_levitating:{keywords:["suit","business","levitate","hover","jump"],char:'🕴',fitzpatrick_scale:true,category:"activity"},trophy:{keywords:["win","award","contest","place","ftw","ceremony"],char:'🏆',fitzpatrick_scale:false,category:"activity"},running_shirt_with_sash:{keywords:["play","pageant"],char:'🎽',fitzpatrick_scale:false,category:"activity"},medal_sports:{keywords:["award","winning"],char:'🏅',fitzpatrick_scale:false,category:"activity"},medal_military:{keywords:["award","winning","army"],char:'🎖',fitzpatrick_scale:false,category:"activity"},"1st_place_medal":{keywords:["award","winning","first"],char:'🥇',fitzpatrick_scale:false,category:"activity"},"2nd_place_medal":{keywords:["award","second"],char:'🥈',fitzpatrick_scale:false,category:"activity"},"3rd_place_medal":{keywords:["award","third"],char:'🥉',fitzpatrick_scale:false,category:"activity"},reminder_ribbon:{keywords:["sports","cause","support","awareness"],char:'🎗',fitzpatrick_scale:false,category:"activity"},rosette:{keywords:["flower","decoration","military"],char:'🏵',fitzpatrick_scale:false,category:"activity"},ticket:{keywords:["event","concert","pass"],char:'🎫',fitzpatrick_scale:false,category:"activity"},tickets:{keywords:["sports","concert","entrance"],char:'🎟',fitzpatrick_scale:false,category:"activity"},performing_arts:{keywords:["acting","theater","drama"],char:'🎭',fitzpatrick_scale:false,category:"activity"},art:{keywords:["design","paint","draw","colors"],char:'🎨',fitzpatrick_scale:false,category:"activity"},circus_tent:{keywords:["festival","carnival","party"],char:'🎪',fitzpatrick_scale:false,category:"activity"},woman_juggling:{keywords:["juggle","balance","skill","multitask"],char:'🤹‍♀️',fitzpatrick_scale:true,category:"activity"},man_juggling:{keywords:["juggle","balance","skill","multitask"],char:'🤹‍♂️',fitzpatrick_scale:true,category:"activity"},microphone:{keywords:["sound","music","PA","sing","talkshow"],char:'🎤',fitzpatrick_scale:false,category:"activity"},headphones:{keywords:["music","score","gadgets"],char:'🎧',fitzpatrick_scale:false,category:"activity"},musical_score:{keywords:["treble","clef","compose"],char:'🎼',fitzpatrick_scale:false,category:"activity"},musical_keyboard:{keywords:["piano","instrument","compose"],char:'🎹',fitzpatrick_scale:false,category:"activity"},drum:{keywords:["music","instrument","drumsticks","snare"],char:'🥁',fitzpatrick_scale:false,category:"activity"},saxophone:{keywords:["music","instrument","jazz","blues"],char:'🎷',fitzpatrick_scale:false,category:"activity"},trumpet:{keywords:["music","brass"],char:'🎺',fitzpatrick_scale:false,category:"activity"},guitar:{keywords:["music","instrument"],char:'🎸',fitzpatrick_scale:false,category:"activity"},violin:{keywords:["music","instrument","orchestra","symphony"],char:'🎻',fitzpatrick_scale:false,category:"activity"},clapper:{keywords:["movie","film","record"],char:'🎬',fitzpatrick_scale:false,category:"activity"},video_game:{keywords:["play","console","PS4","controller"],char:'🎮',fitzpatrick_scale:false,category:"activity"},space_invader:{keywords:["game","arcade","play"],char:'👾',fitzpatrick_scale:false,category:"activity"},dart:{keywords:["game","play","bar","target","bullseye"],char:'🎯',fitzpatrick_scale:false,category:"activity"},game_die:{keywords:["dice","random","tabletop","play","luck"],char:'🎲',fitzpatrick_scale:false,category:"activity"},chess_pawn:{keywords:["expendable"],char:"♟",fitzpatrick_scale:false,category:"activity"},slot_machine:{keywords:["bet","gamble","vegas","fruit machine","luck","casino"],char:'🎰',fitzpatrick_scale:false,category:"activity"},jigsaw:{keywords:["interlocking","puzzle","piece"],char:'🧩',fitzpatrick_scale:false,category:"activity"},bowling:{keywords:["sports","fun","play"],char:'🎳',fitzpatrick_scale:false,category:"activity"},red_car:{keywords:["red","transportation","vehicle"],char:'🚗',fitzpatrick_scale:false,category:"travel_and_places"},taxi:{keywords:["uber","vehicle","cars","transportation"],char:'🚕',fitzpatrick_scale:false,category:"travel_and_places"},blue_car:{keywords:["transportation","vehicle"],char:'🚙',fitzpatrick_scale:false,category:"travel_and_places"},bus:{keywords:["car","vehicle","transportation"],char:'🚌',fitzpatrick_scale:false,category:"travel_and_places"},trolleybus:{keywords:["bart","transportation","vehicle"],char:'🚎',fitzpatrick_scale:false,category:"travel_and_places"},racing_car:{keywords:["sports","race","fast","formula","f1"],char:'🏎',fitzpatrick_scale:false,category:"travel_and_places"},police_car:{keywords:["vehicle","cars","transportation","law","legal","enforcement"],char:'🚓',fitzpatrick_scale:false,category:"travel_and_places"},ambulance:{keywords:["health","911","hospital"],char:'🚑',fitzpatrick_scale:false,category:"travel_and_places"},fire_engine:{keywords:["transportation","cars","vehicle"],char:'🚒',fitzpatrick_scale:false,category:"travel_and_places"},minibus:{keywords:["vehicle","car","transportation"],char:'🚐',fitzpatrick_scale:false,category:"travel_and_places"},truck:{keywords:["cars","transportation"],char:'🚚',fitzpatrick_scale:false,category:"travel_and_places"},articulated_lorry:{keywords:["vehicle","cars","transportation","express"],char:'🚛',fitzpatrick_scale:false,category:"travel_and_places"},tractor:{keywords:["vehicle","car","farming","agriculture"],char:'🚜',fitzpatrick_scale:false,category:"travel_and_places"},kick_scooter:{keywords:["vehicle","kick","razor"],char:'🛴',fitzpatrick_scale:false,category:"travel_and_places"},motorcycle:{keywords:["race","sports","fast"],char:'🏍',fitzpatrick_scale:false,category:"travel_and_places"},bike:{keywords:["sports","bicycle","exercise","hipster"],char:'🚲',fitzpatrick_scale:false,category:"travel_and_places"},motor_scooter:{keywords:["vehicle","vespa","sasha"],char:'🛵',fitzpatrick_scale:false,category:"travel_and_places"},rotating_light:{keywords:["police","ambulance","911","emergency","alert","error","pinged","law","legal"],char:'🚨',fitzpatrick_scale:false,category:"travel_and_places"},oncoming_police_car:{keywords:["vehicle","law","legal","enforcement","911"],char:'🚔',fitzpatrick_scale:false,category:"travel_and_places"},oncoming_bus:{keywords:["vehicle","transportation"],char:'🚍',fitzpatrick_scale:false,category:"travel_and_places"},oncoming_automobile:{keywords:["car","vehicle","transportation"],char:'🚘',fitzpatrick_scale:false,category:"travel_and_places"},oncoming_taxi:{keywords:["vehicle","cars","uber"],char:'🚖',fitzpatrick_scale:false,category:"travel_and_places"},aerial_tramway:{keywords:["transportation","vehicle","ski"],char:'🚡',fitzpatrick_scale:false,category:"travel_and_places"},mountain_cableway:{keywords:["transportation","vehicle","ski"],char:'🚠',fitzpatrick_scale:false,category:"travel_and_places"},suspension_railway:{keywords:["vehicle","transportation"],char:'🚟',fitzpatrick_scale:false,category:"travel_and_places"},railway_car:{keywords:["transportation","vehicle"],char:'🚃',fitzpatrick_scale:false,category:"travel_and_places"},train:{keywords:["transportation","vehicle","carriage","public","travel"],char:'🚋',fitzpatrick_scale:false,category:"travel_and_places"},monorail:{keywords:["transportation","vehicle"],char:'🚝',fitzpatrick_scale:false,category:"travel_and_places"},bullettrain_side:{keywords:["transportation","vehicle"],char:'🚄',fitzpatrick_scale:false,category:"travel_and_places"},bullettrain_front:{keywords:["transportation","vehicle","speed","fast","public","travel"],char:'🚅',fitzpatrick_scale:false,category:"travel_and_places"},light_rail:{keywords:["transportation","vehicle"],char:'🚈',fitzpatrick_scale:false,category:"travel_and_places"},mountain_railway:{keywords:["transportation","vehicle"],char:'🚞',fitzpatrick_scale:false,category:"travel_and_places"},steam_locomotive:{keywords:["transportation","vehicle","train"],char:'🚂',fitzpatrick_scale:false,category:"travel_and_places"},train2:{keywords:["transportation","vehicle"],char:'🚆',fitzpatrick_scale:false,category:"travel_and_places"},metro:{keywords:["transportation","blue-square","mrt","underground","tube"],char:'🚇',fitzpatrick_scale:false,category:"travel_and_places"},tram:{keywords:["transportation","vehicle"],char:'🚊',fitzpatrick_scale:false,category:"travel_and_places"},station:{keywords:["transportation","vehicle","public"],char:'🚉',fitzpatrick_scale:false,category:"travel_and_places"},flying_saucer:{keywords:["transportation","vehicle","ufo"],char:'🛸',fitzpatrick_scale:false,category:"travel_and_places"},helicopter:{keywords:["transportation","vehicle","fly"],char:'🚁',fitzpatrick_scale:false,category:"travel_and_places"},small_airplane:{keywords:["flight","transportation","fly","vehicle"],char:'🛩',fitzpatrick_scale:false,category:"travel_and_places"},airplane:{keywords:["vehicle","transportation","flight","fly"],char:'✈️',fitzpatrick_scale:false,category:"travel_and_places"},flight_departure:{keywords:["airport","flight","landing"],char:'🛫',fitzpatrick_scale:false,category:"travel_and_places"},flight_arrival:{keywords:["airport","flight","boarding"],char:'🛬',fitzpatrick_scale:false,category:"travel_and_places"},sailboat:{keywords:["ship","summer","transportation","water","sailing"],char:'⛵',fitzpatrick_scale:false,category:"travel_and_places"},motor_boat:{keywords:["ship"],char:'🛥',fitzpatrick_scale:false,category:"travel_and_places"},speedboat:{keywords:["ship","transportation","vehicle","summer"],char:'🚤',fitzpatrick_scale:false,category:"travel_and_places"},ferry:{keywords:["boat","ship","yacht"],char:'⛴',fitzpatrick_scale:false,category:"travel_and_places"},passenger_ship:{keywords:["yacht","cruise","ferry"],char:'🛳',fitzpatrick_scale:false,category:"travel_and_places"},rocket:{keywords:["launch","ship","staffmode","NASA","outer space","outer_space","fly"],char:'🚀',fitzpatrick_scale:false,category:"travel_and_places"},artificial_satellite:{keywords:["communication","gps","orbit","spaceflight","NASA","ISS"],char:'🛰',fitzpatrick_scale:false,category:"travel_and_places"},seat:{keywords:["sit","airplane","transport","bus","flight","fly"],char:'💺',fitzpatrick_scale:false,category:"travel_and_places"},canoe:{keywords:["boat","paddle","water","ship"],char:'🛶',fitzpatrick_scale:false,category:"travel_and_places"},anchor:{keywords:["ship","ferry","sea","boat"],char:'⚓',fitzpatrick_scale:false,category:"travel_and_places"},construction:{keywords:["wip","progress","caution","warning"],char:'🚧',fitzpatrick_scale:false,category:"travel_and_places"},fuelpump:{keywords:["gas station","petroleum"],char:'⛽',fitzpatrick_scale:false,category:"travel_and_places"},busstop:{keywords:["transportation","wait"],char:'🚏',fitzpatrick_scale:false,category:"travel_and_places"},vertical_traffic_light:{keywords:["transportation","driving"],char:'🚦',fitzpatrick_scale:false,category:"travel_and_places"},traffic_light:{keywords:["transportation","signal"],char:'🚥',fitzpatrick_scale:false,category:"travel_and_places"},checkered_flag:{keywords:["contest","finishline","race","gokart"],char:'🏁',fitzpatrick_scale:false,category:"travel_and_places"},ship:{keywords:["transportation","titanic","deploy"],char:'🚢',fitzpatrick_scale:false,category:"travel_and_places"},ferris_wheel:{keywords:["photo","carnival","londoneye"],char:'🎡',fitzpatrick_scale:false,category:"travel_and_places"},roller_coaster:{keywords:["carnival","playground","photo","fun"],char:'🎢',fitzpatrick_scale:false,category:"travel_and_places"},carousel_horse:{keywords:["photo","carnival"],char:'🎠',fitzpatrick_scale:false,category:"travel_and_places"},building_construction:{keywords:["wip","working","progress"],char:'🏗',fitzpatrick_scale:false,category:"travel_and_places"},foggy:{keywords:["photo","mountain"],char:'🌁',fitzpatrick_scale:false,category:"travel_and_places"},tokyo_tower:{keywords:["photo","japanese"],char:'🗼',fitzpatrick_scale:false,category:"travel_and_places"},factory:{keywords:["building","industry","pollution","smoke"],char:'🏭',fitzpatrick_scale:false,category:"travel_and_places"},fountain:{keywords:["photo","summer","water","fresh"],char:'⛲',fitzpatrick_scale:false,category:"travel_and_places"},rice_scene:{keywords:["photo","japan","asia","tsukimi"],char:'🎑',fitzpatrick_scale:false,category:"travel_and_places"},mountain:{keywords:["photo","nature","environment"],char:'⛰',fitzpatrick_scale:false,category:"travel_and_places"},mountain_snow:{keywords:["photo","nature","environment","winter","cold"],char:'🏔',fitzpatrick_scale:false,category:"travel_and_places"},mount_fuji:{keywords:["photo","mountain","nature","japanese"],char:'🗻',fitzpatrick_scale:false,category:"travel_and_places"},volcano:{keywords:["photo","nature","disaster"],char:'🌋',fitzpatrick_scale:false,category:"travel_and_places"},japan:{keywords:["nation","country","japanese","asia"],char:'🗾',fitzpatrick_scale:false,category:"travel_and_places"},camping:{keywords:["photo","outdoors","tent"],char:'🏕',fitzpatrick_scale:false,category:"travel_and_places"},tent:{keywords:["photo","camping","outdoors"],char:'⛺',fitzpatrick_scale:false,category:"travel_and_places"},national_park:{keywords:["photo","environment","nature"],char:'🏞',fitzpatrick_scale:false,category:"travel_and_places"},motorway:{keywords:["road","cupertino","interstate","highway"],char:'🛣',fitzpatrick_scale:false,category:"travel_and_places"},railway_track:{keywords:["train","transportation"],char:'🛤',fitzpatrick_scale:false,category:"travel_and_places"},sunrise:{keywords:["morning","view","vacation","photo"],char:'🌅',fitzpatrick_scale:false,category:"travel_and_places"},sunrise_over_mountains:{keywords:["view","vacation","photo"],char:'🌄',fitzpatrick_scale:false,category:"travel_and_places"},desert:{keywords:["photo","warm","saharah"],char:'🏜',fitzpatrick_scale:false,category:"travel_and_places"},beach_umbrella:{keywords:["weather","summer","sunny","sand","mojito"],char:'🏖',fitzpatrick_scale:false,category:"travel_and_places"},desert_island:{keywords:["photo","tropical","mojito"],char:'🏝',fitzpatrick_scale:false,category:"travel_and_places"},city_sunrise:{keywords:["photo","good morning","dawn"],char:'🌇',fitzpatrick_scale:false,category:"travel_and_places"},city_sunset:{keywords:["photo","evening","sky","buildings"],char:'🌆',fitzpatrick_scale:false,category:"travel_and_places"},cityscape:{keywords:["photo","night life","urban"],char:'🏙',fitzpatrick_scale:false,category:"travel_and_places"},night_with_stars:{keywords:["evening","city","downtown"],char:'🌃',fitzpatrick_scale:false,category:"travel_and_places"},bridge_at_night:{keywords:["photo","sanfrancisco"],char:'🌉',fitzpatrick_scale:false,category:"travel_and_places"},milky_way:{keywords:["photo","space","stars"],char:'🌌',fitzpatrick_scale:false,category:"travel_and_places"},stars:{keywords:["night","photo"],char:'🌠',fitzpatrick_scale:false,category:"travel_and_places"},sparkler:{keywords:["stars","night","shine"],char:'🎇',fitzpatrick_scale:false,category:"travel_and_places"},fireworks:{keywords:["photo","festival","carnival","congratulations"],char:'🎆',fitzpatrick_scale:false,category:"travel_and_places"},rainbow:{keywords:["nature","happy","unicorn_face","photo","sky","spring"],char:'🌈',fitzpatrick_scale:false,category:"travel_and_places"},houses:{keywords:["buildings","photo"],char:'🏘',fitzpatrick_scale:false,category:"travel_and_places"},european_castle:{keywords:["building","royalty","history"],char:'🏰',fitzpatrick_scale:false,category:"travel_and_places"},japanese_castle:{keywords:["photo","building"],char:'🏯',fitzpatrick_scale:false,category:"travel_and_places"},stadium:{keywords:["photo","place","sports","concert","venue"],char:'🏟',fitzpatrick_scale:false,category:"travel_and_places"},statue_of_liberty:{keywords:["american","newyork"],char:'🗽',fitzpatrick_scale:false,category:"travel_and_places"},house:{keywords:["building","home"],char:'🏠',fitzpatrick_scale:false,category:"travel_and_places"},house_with_garden:{keywords:["home","plant","nature"],char:'🏡',fitzpatrick_scale:false,category:"travel_and_places"},derelict_house:{keywords:["abandon","evict","broken","building"],char:'🏚',fitzpatrick_scale:false,category:"travel_and_places"},office:{keywords:["building","bureau","work"],char:'🏢',fitzpatrick_scale:false,category:"travel_and_places"},department_store:{keywords:["building","shopping","mall"],char:'🏬',fitzpatrick_scale:false,category:"travel_and_places"},post_office:{keywords:["building","envelope","communication"],char:'🏣',fitzpatrick_scale:false,category:"travel_and_places"},european_post_office:{keywords:["building","email"],char:'🏤',fitzpatrick_scale:false,category:"travel_and_places"},hospital:{keywords:["building","health","surgery","doctor"],char:'🏥',fitzpatrick_scale:false,category:"travel_and_places"},bank:{keywords:["building","money","sales","cash","business","enterprise"],char:'🏦',fitzpatrick_scale:false,category:"travel_and_places"},hotel:{keywords:["building","accomodation","checkin"],char:'🏨',fitzpatrick_scale:false,category:"travel_and_places"},convenience_store:{keywords:["building","shopping","groceries"],char:'🏪',fitzpatrick_scale:false,category:"travel_and_places"},school:{keywords:["building","student","education","learn","teach"],char:'🏫',fitzpatrick_scale:false,category:"travel_and_places"},love_hotel:{keywords:["like","affection","dating"],char:'🏩',fitzpatrick_scale:false,category:"travel_and_places"},wedding:{keywords:["love","like","affection","couple","marriage","bride","groom"],char:'💒',fitzpatrick_scale:false,category:"travel_and_places"},classical_building:{keywords:["art","culture","history"],char:'🏛',fitzpatrick_scale:false,category:"travel_and_places"},church:{keywords:["building","religion","christ"],char:'⛪',fitzpatrick_scale:false,category:"travel_and_places"},mosque:{keywords:["islam","worship","minaret"],char:'🕌',fitzpatrick_scale:false,category:"travel_and_places"},synagogue:{keywords:["judaism","worship","temple","jewish"],char:'🕍',fitzpatrick_scale:false,category:"travel_and_places"},kaaba:{keywords:["mecca","mosque","islam"],char:'🕋',fitzpatrick_scale:false,category:"travel_and_places"},shinto_shrine:{keywords:["temple","japan","kyoto"],char:'⛩',fitzpatrick_scale:false,category:"travel_and_places"},watch:{keywords:["time","accessories"],char:'⌚',fitzpatrick_scale:false,category:"objects"},iphone:{keywords:["technology","apple","gadgets","dial"],char:'📱',fitzpatrick_scale:false,category:"objects"},calling:{keywords:["iphone","incoming"],char:'📲',fitzpatrick_scale:false,category:"objects"},computer:{keywords:["technology","laptop","screen","display","monitor"],char:'💻',fitzpatrick_scale:false,category:"objects"},keyboard:{keywords:["technology","computer","type","input","text"],char:'⌨',fitzpatrick_scale:false,category:"objects"},desktop_computer:{keywords:["technology","computing","screen"],char:'🖥',fitzpatrick_scale:false,category:"objects"},printer:{keywords:["paper","ink"],char:'🖨',fitzpatrick_scale:false,category:"objects"},computer_mouse:{keywords:["click"],char:'🖱',fitzpatrick_scale:false,category:"objects"},trackball:{keywords:["technology","trackpad"],char:'🖲',fitzpatrick_scale:false,category:"objects"},joystick:{keywords:["game","play"],char:'🕹',fitzpatrick_scale:false,category:"objects"},clamp:{keywords:["tool"],char:'🗜',fitzpatrick_scale:false,category:"objects"},minidisc:{keywords:["technology","record","data","disk","90s"],char:'💽',fitzpatrick_scale:false,category:"objects"},floppy_disk:{keywords:["oldschool","technology","save","90s","80s"],char:'💾',fitzpatrick_scale:false,category:"objects"},cd:{keywords:["technology","dvd","disk","disc","90s"],char:'💿',fitzpatrick_scale:false,category:"objects"},dvd:{keywords:["cd","disk","disc"],char:'📀',fitzpatrick_scale:false,category:"objects"},vhs:{keywords:["record","video","oldschool","90s","80s"],char:'📼',fitzpatrick_scale:false,category:"objects"},camera:{keywords:["gadgets","photography"],char:'📷',fitzpatrick_scale:false,category:"objects"},camera_flash:{keywords:["photography","gadgets"],char:'📸',fitzpatrick_scale:false,category:"objects"},video_camera:{keywords:["film","record"],char:'📹',fitzpatrick_scale:false,category:"objects"},movie_camera:{keywords:["film","record"],char:'🎥',fitzpatrick_scale:false,category:"objects"},film_projector:{keywords:["video","tape","record","movie"],char:'📽',fitzpatrick_scale:false,category:"objects"},film_strip:{keywords:["movie"],char:'🎞',fitzpatrick_scale:false,category:"objects"},telephone_receiver:{keywords:["technology","communication","dial"],char:'📞',fitzpatrick_scale:false,category:"objects"},phone:{keywords:["technology","communication","dial","telephone"],char:'☎️',fitzpatrick_scale:false,category:"objects"},pager:{keywords:["bbcall","oldschool","90s"],char:'📟',fitzpatrick_scale:false,category:"objects"},fax:{keywords:["communication","technology"],char:'📠',fitzpatrick_scale:false,category:"objects"},tv:{keywords:["technology","program","oldschool","show","television"],char:'📺',fitzpatrick_scale:false,category:"objects"},radio:{keywords:["communication","music","podcast","program"],char:'📻',fitzpatrick_scale:false,category:"objects"},studio_microphone:{keywords:["sing","recording","artist","talkshow"],char:'🎙',fitzpatrick_scale:false,category:"objects"},level_slider:{keywords:["scale"],char:'🎚',fitzpatrick_scale:false,category:"objects"},control_knobs:{keywords:["dial"],char:'🎛',fitzpatrick_scale:false,category:"objects"},compass:{keywords:["magnetic","navigation","orienteering"],char:'🧭',fitzpatrick_scale:false,category:"objects"},stopwatch:{keywords:["time","deadline"],char:'⏱',fitzpatrick_scale:false,category:"objects"},timer_clock:{keywords:["alarm"],char:'⏲',fitzpatrick_scale:false,category:"objects"},alarm_clock:{keywords:["time","wake"],char:'⏰',fitzpatrick_scale:false,category:"objects"},mantelpiece_clock:{keywords:["time"],char:'🕰',fitzpatrick_scale:false,category:"objects"},hourglass_flowing_sand:{keywords:["oldschool","time","countdown"],char:'⏳',fitzpatrick_scale:false,category:"objects"},hourglass:{keywords:["time","clock","oldschool","limit","exam","quiz","test"],char:'⌛',fitzpatrick_scale:false,category:"objects"},satellite:{keywords:["communication","future","radio","space"],char:'📡',fitzpatrick_scale:false,category:"objects"},battery:{keywords:["power","energy","sustain"],char:'🔋',fitzpatrick_scale:false,category:"objects"},electric_plug:{keywords:["charger","power"],char:'🔌',fitzpatrick_scale:false,category:"objects"},bulb:{keywords:["light","electricity","idea"],char:'💡',fitzpatrick_scale:false,category:"objects"},flashlight:{keywords:["dark","camping","sight","night"],char:'🔦',fitzpatrick_scale:false,category:"objects"},candle:{keywords:["fire","wax"],char:'🕯',fitzpatrick_scale:false,category:"objects"},fire_extinguisher:{keywords:["quench"],char:'🧯',fitzpatrick_scale:false,category:"objects"},wastebasket:{keywords:["bin","trash","rubbish","garbage","toss"],char:'🗑',fitzpatrick_scale:false,category:"objects"},oil_drum:{keywords:["barrell"],char:'🛢',fitzpatrick_scale:false,category:"objects"},money_with_wings:{keywords:["dollar","bills","payment","sale"],char:'💸',fitzpatrick_scale:false,category:"objects"},dollar:{keywords:["money","sales","bill","currency"],char:'💵',fitzpatrick_scale:false,category:"objects"},yen:{keywords:["money","sales","japanese","dollar","currency"],char:'💴',fitzpatrick_scale:false,category:"objects"},euro:{keywords:["money","sales","dollar","currency"],char:'💶',fitzpatrick_scale:false,category:"objects"},pound:{keywords:["british","sterling","money","sales","bills","uk","england","currency"],char:'💷',fitzpatrick_scale:false,category:"objects"},moneybag:{keywords:["dollar","payment","coins","sale"],char:'💰',fitzpatrick_scale:false,category:"objects"},credit_card:{keywords:["money","sales","dollar","bill","payment","shopping"],char:'💳',fitzpatrick_scale:false,category:"objects"},gem:{keywords:["blue","ruby","diamond","jewelry"],char:'💎',fitzpatrick_scale:false,category:"objects"},balance_scale:{keywords:["law","fairness","weight"],char:'⚖',fitzpatrick_scale:false,category:"objects"},toolbox:{keywords:["tools","diy","fix","maintainer","mechanic"],char:'🧰',fitzpatrick_scale:false,category:"objects"},wrench:{keywords:["tools","diy","ikea","fix","maintainer"],char:'🔧',fitzpatrick_scale:false,category:"objects"},hammer:{keywords:["tools","build","create"],char:'🔨',fitzpatrick_scale:false,category:"objects"},hammer_and_pick:{keywords:["tools","build","create"],char:'⚒',fitzpatrick_scale:false,category:"objects"},hammer_and_wrench:{keywords:["tools","build","create"],char:'🛠',fitzpatrick_scale:false,category:"objects"},pick:{keywords:["tools","dig"],char:'⛏',fitzpatrick_scale:false,category:"objects"},nut_and_bolt:{keywords:["handy","tools","fix"],char:'🔩',fitzpatrick_scale:false,category:"objects"},gear:{keywords:["cog"],char:'⚙',fitzpatrick_scale:false,category:"objects"},brick:{keywords:["bricks"],char:'🧱',fitzpatrick_scale:false,category:"objects"},chains:{keywords:["lock","arrest"],char:'⛓',fitzpatrick_scale:false,category:"objects"},magnet:{keywords:["attraction","magnetic"],char:'🧲',fitzpatrick_scale:false,category:"objects"},gun:{keywords:["violence","weapon","pistol","revolver"],char:'🔫',fitzpatrick_scale:false,category:"objects"},bomb:{keywords:["boom","explode","explosion","terrorism"],char:'💣',fitzpatrick_scale:false,category:"objects"},firecracker:{keywords:["dynamite","boom","explode","explosion","explosive"],char:'🧨',fitzpatrick_scale:false,category:"objects"},hocho:{keywords:["knife","blade","cutlery","kitchen","weapon"],char:'🔪',fitzpatrick_scale:false,category:"objects"},dagger:{keywords:["weapon"],char:'🗡',fitzpatrick_scale:false,category:"objects"},crossed_swords:{keywords:["weapon"],char:'⚔',fitzpatrick_scale:false,category:"objects"},shield:{keywords:["protection","security"],char:'🛡',fitzpatrick_scale:false,category:"objects"},smoking:{keywords:["kills","tobacco","cigarette","joint","smoke"],char:'🚬',fitzpatrick_scale:false,category:"objects"},skull_and_crossbones:{keywords:["poison","danger","deadly","scary","death","pirate","evil"],char:'☠',fitzpatrick_scale:false,category:"objects"},coffin:{keywords:["vampire","dead","die","death","rip","graveyard","cemetery","casket","funeral","box"],char:'⚰',fitzpatrick_scale:false,category:"objects"},funeral_urn:{keywords:["dead","die","death","rip","ashes"],char:'⚱',fitzpatrick_scale:false,category:"objects"},amphora:{keywords:["vase","jar"],char:'🏺',fitzpatrick_scale:false,category:"objects"},crystal_ball:{keywords:["disco","party","magic","circus","fortune_teller"],char:'🔮',fitzpatrick_scale:false,category:"objects"},prayer_beads:{keywords:["dhikr","religious"],char:'📿',fitzpatrick_scale:false,category:"objects"},nazar_amulet:{keywords:["bead","charm"],char:'🧿',fitzpatrick_scale:false,category:"objects"},barber:{keywords:["hair","salon","style"],char:'💈',fitzpatrick_scale:false,category:"objects"},alembic:{keywords:["distilling","science","experiment","chemistry"],char:'⚗',fitzpatrick_scale:false,category:"objects"},telescope:{keywords:["stars","space","zoom","science","astronomy"],char:'🔭',fitzpatrick_scale:false,category:"objects"},microscope:{keywords:["laboratory","experiment","zoomin","science","study"],char:'🔬',fitzpatrick_scale:false,category:"objects"},hole:{keywords:["embarrassing"],char:'🕳',fitzpatrick_scale:false,category:"objects"},pill:{keywords:["health","medicine","doctor","pharmacy","drug"],char:'💊',fitzpatrick_scale:false,category:"objects"},syringe:{keywords:["health","hospital","drugs","blood","medicine","needle","doctor","nurse"],char:'💉',fitzpatrick_scale:false,category:"objects"},dna:{keywords:["biologist","genetics","life"],char:'🧬',fitzpatrick_scale:false,category:"objects"},microbe:{keywords:["amoeba","bacteria","germs"],char:'🦠',fitzpatrick_scale:false,category:"objects"},petri_dish:{keywords:["bacteria","biology","culture","lab"],char:'🧫',fitzpatrick_scale:false,category:"objects"},test_tube:{keywords:["chemistry","experiment","lab","science"],char:'🧪',fitzpatrick_scale:false,category:"objects"},thermometer:{keywords:["weather","temperature","hot","cold"],char:'🌡',fitzpatrick_scale:false,category:"objects"},broom:{keywords:["cleaning","sweeping","witch"],char:'🧹',fitzpatrick_scale:false,category:"objects"},basket:{keywords:["laundry"],char:'🧺',fitzpatrick_scale:false,category:"objects"},toilet_paper:{keywords:["roll"],char:'🧻',fitzpatrick_scale:false,category:"objects"},label:{keywords:["sale","tag"],char:'🏷',fitzpatrick_scale:false,category:"objects"},bookmark:{keywords:["favorite","label","save"],char:'🔖',fitzpatrick_scale:false,category:"objects"},toilet:{keywords:["restroom","wc","washroom","bathroom","potty"],char:'🚽',fitzpatrick_scale:false,category:"objects"},shower:{keywords:["clean","water","bathroom"],char:'🚿',fitzpatrick_scale:false,category:"objects"},bathtub:{keywords:["clean","shower","bathroom"],char:'🛁',fitzpatrick_scale:false,category:"objects"},soap:{keywords:["bar","bathing","cleaning","lather"],char:'🧼',fitzpatrick_scale:false,category:"objects"},sponge:{keywords:["absorbing","cleaning","porous"],char:'🧽',fitzpatrick_scale:false,category:"objects"},lotion_bottle:{keywords:["moisturizer","sunscreen"],char:'🧴',fitzpatrick_scale:false,category:"objects"},key:{keywords:["lock","door","password"],char:'🔑',fitzpatrick_scale:false,category:"objects"},old_key:{keywords:["lock","door","password"],char:'🗝',fitzpatrick_scale:false,category:"objects"},couch_and_lamp:{keywords:["read","chill"],char:'🛋',fitzpatrick_scale:false,category:"objects"},sleeping_bed:{keywords:["bed","rest"],char:'🛌',fitzpatrick_scale:true,category:"objects"},bed:{keywords:["sleep","rest"],char:'🛏',fitzpatrick_scale:false,category:"objects"},door:{keywords:["house","entry","exit"],char:'🚪',fitzpatrick_scale:false,category:"objects"},bellhop_bell:{keywords:["service"],char:'🛎',fitzpatrick_scale:false,category:"objects"},teddy_bear:{keywords:["plush","stuffed"],char:'🧸',fitzpatrick_scale:false,category:"objects"},framed_picture:{keywords:["photography"],char:'🖼',fitzpatrick_scale:false,category:"objects"},world_map:{keywords:["location","direction"],char:'🗺',fitzpatrick_scale:false,category:"objects"},parasol_on_ground:{keywords:["weather","summer"],char:'⛱',fitzpatrick_scale:false,category:"objects"},moyai:{keywords:["rock","easter island","moai"],char:'🗿',fitzpatrick_scale:false,category:"objects"},shopping:{keywords:["mall","buy","purchase"],char:'🛍',fitzpatrick_scale:false,category:"objects"},shopping_cart:{keywords:["trolley"],char:'🛒',fitzpatrick_scale:false,category:"objects"},balloon:{keywords:["party","celebration","birthday","circus"],char:'🎈',fitzpatrick_scale:false,category:"objects"},flags:{keywords:["fish","japanese","koinobori","carp","banner"],char:'🎏',fitzpatrick_scale:false,category:"objects"},ribbon:{keywords:["decoration","pink","girl","bowtie"],char:'🎀',fitzpatrick_scale:false,category:"objects"},gift:{keywords:["present","birthday","christmas","xmas"],char:'🎁',fitzpatrick_scale:false,category:"objects"},confetti_ball:{keywords:["festival","party","birthday","circus"],char:'🎊',fitzpatrick_scale:false,category:"objects"},tada:{keywords:["party","congratulations","birthday","magic","circus","celebration"],char:'🎉',fitzpatrick_scale:false,category:"objects"},dolls:{keywords:["japanese","toy","kimono"],char:'🎎',fitzpatrick_scale:false,category:"objects"},wind_chime:{keywords:["nature","ding","spring","bell"],char:'🎐',fitzpatrick_scale:false,category:"objects"},crossed_flags:{keywords:["japanese","nation","country","border"],char:'🎌',fitzpatrick_scale:false,category:"objects"},izakaya_lantern:{keywords:["light","paper","halloween","spooky"],char:'🏮',fitzpatrick_scale:false,category:"objects"},red_envelope:{keywords:["gift"],char:'🧧',fitzpatrick_scale:false,category:"objects"},email:{keywords:["letter","postal","inbox","communication"],char:'✉️',fitzpatrick_scale:false,category:"objects"},envelope_with_arrow:{keywords:["email","communication"],char:'📩',fitzpatrick_scale:false,category:"objects"},incoming_envelope:{keywords:["email","inbox"],char:'📨',fitzpatrick_scale:false,category:"objects"},"e-mail":{keywords:["communication","inbox"],char:'📧',fitzpatrick_scale:false,category:"objects"},love_letter:{keywords:["email","like","affection","envelope","valentines"],char:'💌',fitzpatrick_scale:false,category:"objects"},postbox:{keywords:["email","letter","envelope"],char:'📮',fitzpatrick_scale:false,category:"objects"},mailbox_closed:{keywords:["email","communication","inbox"],char:'📪',fitzpatrick_scale:false,category:"objects"},mailbox:{keywords:["email","inbox","communication"],char:'📫',fitzpatrick_scale:false,category:"objects"},mailbox_with_mail:{keywords:["email","inbox","communication"],char:'📬',fitzpatrick_scale:false,category:"objects"},mailbox_with_no_mail:{keywords:["email","inbox"],char:'📭',fitzpatrick_scale:false,category:"objects"},package:{keywords:["mail","gift","cardboard","box","moving"],char:'📦',fitzpatrick_scale:false,category:"objects"},postal_horn:{keywords:["instrument","music"],char:'📯',fitzpatrick_scale:false,category:"objects"},inbox_tray:{keywords:["email","documents"],char:'📥',fitzpatrick_scale:false,category:"objects"},outbox_tray:{keywords:["inbox","email"],char:'📤',fitzpatrick_scale:false,category:"objects"},scroll:{keywords:["documents","ancient","history","paper"],char:'📜',fitzpatrick_scale:false,category:"objects"},page_with_curl:{keywords:["documents","office","paper"],char:'📃',fitzpatrick_scale:false,category:"objects"},bookmark_tabs:{keywords:["favorite","save","order","tidy"],char:'📑',fitzpatrick_scale:false,category:"objects"},receipt:{keywords:["accounting","expenses"],char:'🧾',fitzpatrick_scale:false,category:"objects"},bar_chart:{keywords:["graph","presentation","stats"],char:'📊',fitzpatrick_scale:false,category:"objects"},chart_with_upwards_trend:{keywords:["graph","presentation","stats","recovery","business","economics","money","sales","good","success"],char:'📈',fitzpatrick_scale:false,category:"objects"},chart_with_downwards_trend:{keywords:["graph","presentation","stats","recession","business","economics","money","sales","bad","failure"],char:'📉',fitzpatrick_scale:false,category:"objects"},page_facing_up:{keywords:["documents","office","paper","information"],char:'📄',fitzpatrick_scale:false,category:"objects"},date:{keywords:["calendar","schedule"],char:'📅',fitzpatrick_scale:false,category:"objects"},calendar:{keywords:["schedule","date","planning"],char:'📆',fitzpatrick_scale:false,category:"objects"},spiral_calendar:{keywords:["date","schedule","planning"],char:'🗓',fitzpatrick_scale:false,category:"objects"},card_index:{keywords:["business","stationery"],char:'📇',fitzpatrick_scale:false,category:"objects"},card_file_box:{keywords:["business","stationery"],char:'🗃',fitzpatrick_scale:false,category:"objects"},ballot_box:{keywords:["election","vote"],char:'🗳',fitzpatrick_scale:false,category:"objects"},file_cabinet:{keywords:["filing","organizing"],char:'🗄',fitzpatrick_scale:false,category:"objects"},clipboard:{keywords:["stationery","documents"],char:'📋',fitzpatrick_scale:false,category:"objects"},spiral_notepad:{keywords:["memo","stationery"],char:'🗒',fitzpatrick_scale:false,category:"objects"},file_folder:{keywords:["documents","business","office"],char:'📁',fitzpatrick_scale:false,category:"objects"},open_file_folder:{keywords:["documents","load"],char:'📂',fitzpatrick_scale:false,category:"objects"},card_index_dividers:{keywords:["organizing","business","stationery"],char:'🗂',fitzpatrick_scale:false,category:"objects"},newspaper_roll:{keywords:["press","headline"],char:'🗞',fitzpatrick_scale:false,category:"objects"},newspaper:{keywords:["press","headline"],char:'📰',fitzpatrick_scale:false,category:"objects"},notebook:{keywords:["stationery","record","notes","paper","study"],char:'📓',fitzpatrick_scale:false,category:"objects"},closed_book:{keywords:["read","library","knowledge","textbook","learn"],char:'📕',fitzpatrick_scale:false,category:"objects"},green_book:{keywords:["read","library","knowledge","study"],char:'📗',fitzpatrick_scale:false,category:"objects"},blue_book:{keywords:["read","library","knowledge","learn","study"],char:'📘',fitzpatrick_scale:false,category:"objects"},orange_book:{keywords:["read","library","knowledge","textbook","study"],char:'📙',fitzpatrick_scale:false,category:"objects"},notebook_with_decorative_cover:{keywords:["classroom","notes","record","paper","study"],char:'📔',fitzpatrick_scale:false,category:"objects"},ledger:{keywords:["notes","paper"],char:'📒',fitzpatrick_scale:false,category:"objects"},books:{keywords:["literature","library","study"],char:'📚',fitzpatrick_scale:false,category:"objects"},open_book:{keywords:["book","read","library","knowledge","literature","learn","study"],char:'📖',fitzpatrick_scale:false,category:"objects"},safety_pin:{keywords:["diaper"],char:'🧷',fitzpatrick_scale:false,category:"objects"},link:{keywords:["rings","url"],char:'🔗',fitzpatrick_scale:false,category:"objects"},paperclip:{keywords:["documents","stationery"],char:'📎',fitzpatrick_scale:false,category:"objects"},paperclips:{keywords:["documents","stationery"],char:'🖇',fitzpatrick_scale:false,category:"objects"},scissors:{keywords:["stationery","cut"],char:'✂️',fitzpatrick_scale:false,category:"objects"},triangular_ruler:{keywords:["stationery","math","architect","sketch"],char:'📐',fitzpatrick_scale:false,category:"objects"},straight_ruler:{keywords:["stationery","calculate","length","math","school","drawing","architect","sketch"],char:'📏',fitzpatrick_scale:false,category:"objects"},abacus:{keywords:["calculation"],char:'🧮',fitzpatrick_scale:false,category:"objects"},pushpin:{keywords:["stationery","mark","here"],char:'📌',fitzpatrick_scale:false,category:"objects"},round_pushpin:{keywords:["stationery","location","map","here"],char:'📍',fitzpatrick_scale:false,category:"objects"},triangular_flag_on_post:{keywords:["mark","milestone","place"],char:'🚩',fitzpatrick_scale:false,category:"objects"},white_flag:{keywords:["losing","loser","lost","surrender","give up","fail"],char:'🏳',fitzpatrick_scale:false,category:"objects"},black_flag:{keywords:["pirate"],char:'🏴',fitzpatrick_scale:false,category:"objects"},rainbow_flag:{keywords:["flag","rainbow","pride","gay","lgbt","glbt","queer","homosexual","lesbian","bisexual","transgender"],char:'🏳️‍🌈',fitzpatrick_scale:false,category:"objects"},closed_lock_with_key:{keywords:["security","privacy"],char:'🔐',fitzpatrick_scale:false,category:"objects"},lock:{keywords:["security","password","padlock"],char:'🔒',fitzpatrick_scale:false,category:"objects"},unlock:{keywords:["privacy","security"],char:'🔓',fitzpatrick_scale:false,category:"objects"},lock_with_ink_pen:{keywords:["security","secret"],char:'🔏',fitzpatrick_scale:false,category:"objects"},pen:{keywords:["stationery","writing","write"],char:'🖊',fitzpatrick_scale:false,category:"objects"},fountain_pen:{keywords:["stationery","writing","write"],char:'🖋',fitzpatrick_scale:false,category:"objects"},black_nib:{keywords:["pen","stationery","writing","write"],char:'✒️',fitzpatrick_scale:false,category:"objects"},memo:{keywords:["write","documents","stationery","pencil","paper","writing","legal","exam","quiz","test","study","compose"],char:'📝',fitzpatrick_scale:false,category:"objects"},pencil2:{keywords:["stationery","write","paper","writing","school","study"],char:'✏️',fitzpatrick_scale:false,category:"objects"},crayon:{keywords:["drawing","creativity"],char:'🖍',fitzpatrick_scale:false,category:"objects"},paintbrush:{keywords:["drawing","creativity","art"],char:'🖌',fitzpatrick_scale:false,category:"objects"},mag:{keywords:["search","zoom","find","detective"],char:'🔍',fitzpatrick_scale:false,category:"objects"},mag_right:{keywords:["search","zoom","find","detective"],char:'🔎',fitzpatrick_scale:false,category:"objects"},heart:{keywords:["love","like","valentines"],char:'❤️',fitzpatrick_scale:false,category:"symbols"},orange_heart:{keywords:["love","like","affection","valentines"],char:'🧡',fitzpatrick_scale:false,category:"symbols"},yellow_heart:{keywords:["love","like","affection","valentines"],char:'💛',fitzpatrick_scale:false,category:"symbols"},green_heart:{keywords:["love","like","affection","valentines"],char:'💚',fitzpatrick_scale:false,category:"symbols"},blue_heart:{keywords:["love","like","affection","valentines"],char:'💙',fitzpatrick_scale:false,category:"symbols"},purple_heart:{keywords:["love","like","affection","valentines"],char:'💜',fitzpatrick_scale:false,category:"symbols"},black_heart:{keywords:["evil"],char:'🖤',fitzpatrick_scale:false,category:"symbols"},broken_heart:{keywords:["sad","sorry","break","heart","heartbreak"],char:'💔',fitzpatrick_scale:false,category:"symbols"},heavy_heart_exclamation:{keywords:["decoration","love"],char:'❣',fitzpatrick_scale:false,category:"symbols"},two_hearts:{keywords:["love","like","affection","valentines","heart"],char:'💕',fitzpatrick_scale:false,category:"symbols"},revolving_hearts:{keywords:["love","like","affection","valentines"],char:'💞',fitzpatrick_scale:false,category:"symbols"},heartbeat:{keywords:["love","like","affection","valentines","pink","heart"],char:'💓',fitzpatrick_scale:false,category:"symbols"},heartpulse:{keywords:["like","love","affection","valentines","pink"],char:'💗',fitzpatrick_scale:false,category:"symbols"},sparkling_heart:{keywords:["love","like","affection","valentines"],char:'💖',fitzpatrick_scale:false,category:"symbols"},cupid:{keywords:["love","like","heart","affection","valentines"],char:'💘',fitzpatrick_scale:false,category:"symbols"},gift_heart:{keywords:["love","valentines"],char:'💝',fitzpatrick_scale:false,category:"symbols"},heart_decoration:{keywords:["purple-square","love","like"],char:'💟',fitzpatrick_scale:false,category:"symbols"},peace_symbol:{keywords:["hippie"],char:'☮',fitzpatrick_scale:false,category:"symbols"},latin_cross:{keywords:["christianity"],char:'✝',fitzpatrick_scale:false,category:"symbols"},star_and_crescent:{keywords:["islam"],char:'☪',fitzpatrick_scale:false,category:"symbols"},om:{keywords:["hinduism","buddhism","sikhism","jainism"],char:'🕉',fitzpatrick_scale:false,category:"symbols"},wheel_of_dharma:{keywords:["hinduism","buddhism","sikhism","jainism"],char:'☸',fitzpatrick_scale:false,category:"symbols"},star_of_david:{keywords:["judaism"],char:'✡',fitzpatrick_scale:false,category:"symbols"},six_pointed_star:{keywords:["purple-square","religion","jewish","hexagram"],char:'🔯',fitzpatrick_scale:false,category:"symbols"},menorah:{keywords:["hanukkah","candles","jewish"],char:'🕎',fitzpatrick_scale:false,category:"symbols"},yin_yang:{keywords:["balance"],char:'☯',fitzpatrick_scale:false,category:"symbols"},orthodox_cross:{keywords:["suppedaneum","religion"],char:'☦',fitzpatrick_scale:false,category:"symbols"},place_of_worship:{keywords:["religion","church","temple","prayer"],char:'🛐',fitzpatrick_scale:false,category:"symbols"},ophiuchus:{keywords:["sign","purple-square","constellation","astrology"],char:'⛎',fitzpatrick_scale:false,category:"symbols"},aries:{keywords:["sign","purple-square","zodiac","astrology"],char:'♈',fitzpatrick_scale:false,category:"symbols"},taurus:{keywords:["purple-square","sign","zodiac","astrology"],char:'♉',fitzpatrick_scale:false,category:"symbols"},gemini:{keywords:["sign","zodiac","purple-square","astrology"],char:'♊',fitzpatrick_scale:false,category:"symbols"},cancer:{keywords:["sign","zodiac","purple-square","astrology"],char:'♋',fitzpatrick_scale:false,category:"symbols"},leo:{keywords:["sign","purple-square","zodiac","astrology"],char:'♌',fitzpatrick_scale:false,category:"symbols"},virgo:{keywords:["sign","zodiac","purple-square","astrology"],char:'♍',fitzpatrick_scale:false,category:"symbols"},libra:{keywords:["sign","purple-square","zodiac","astrology"],char:'♎',fitzpatrick_scale:false,category:"symbols"},scorpius:{keywords:["sign","zodiac","purple-square","astrology","scorpio"],char:'♏',fitzpatrick_scale:false,category:"symbols"},sagittarius:{keywords:["sign","zodiac","purple-square","astrology"],char:'♐',fitzpatrick_scale:false,category:"symbols"},capricorn:{keywords:["sign","zodiac","purple-square","astrology"],char:'♑',fitzpatrick_scale:false,category:"symbols"},aquarius:{keywords:["sign","purple-square","zodiac","astrology"],char:'♒',fitzpatrick_scale:false,category:"symbols"},pisces:{keywords:["purple-square","sign","zodiac","astrology"],char:'♓',fitzpatrick_scale:false,category:"symbols"},id:{keywords:["purple-square","words"],char:'🆔',fitzpatrick_scale:false,category:"symbols"},atom_symbol:{keywords:["science","physics","chemistry"],char:'⚛',fitzpatrick_scale:false,category:"symbols"},u7a7a:{keywords:["kanji","japanese","chinese","empty","sky","blue-square"],char:'🈳',fitzpatrick_scale:false,category:"symbols"},u5272:{keywords:["cut","divide","chinese","kanji","pink-square"],char:'🈹',fitzpatrick_scale:false,category:"symbols"},radioactive:{keywords:["nuclear","danger"],char:'☢',fitzpatrick_scale:false,category:"symbols"},biohazard:{keywords:["danger"],char:'☣',fitzpatrick_scale:false,category:"symbols"},mobile_phone_off:{keywords:["mute","orange-square","silence","quiet"],char:'📴',fitzpatrick_scale:false,category:"symbols"},vibration_mode:{keywords:["orange-square","phone"],char:'📳',fitzpatrick_scale:false,category:"symbols"},u6709:{keywords:["orange-square","chinese","have","kanji"],char:'🈶',fitzpatrick_scale:false,category:"symbols"},u7121:{keywords:["nothing","chinese","kanji","japanese","orange-square"],char:'🈚',fitzpatrick_scale:false,category:"symbols"},u7533:{keywords:["chinese","japanese","kanji","orange-square"],char:'🈸',fitzpatrick_scale:false,category:"symbols"},u55b6:{keywords:["japanese","opening hours","orange-square"],char:'🈺',fitzpatrick_scale:false,category:"symbols"},u6708:{keywords:["chinese","month","moon","japanese","orange-square","kanji"],char:'🈷️',fitzpatrick_scale:false,category:"symbols"},eight_pointed_black_star:{keywords:["orange-square","shape","polygon"],char:'✴️',fitzpatrick_scale:false,category:"symbols"},vs:{keywords:["words","orange-square"],char:'🆚',fitzpatrick_scale:false,category:"symbols"},accept:{keywords:["ok","good","chinese","kanji","agree","yes","orange-circle"],char:'🉑',fitzpatrick_scale:false,category:"symbols"},white_flower:{keywords:["japanese","spring"],char:'💮',fitzpatrick_scale:false,category:"symbols"},ideograph_advantage:{keywords:["chinese","kanji","obtain","get","circle"],char:'🉐',fitzpatrick_scale:false,category:"symbols"},secret:{keywords:["privacy","chinese","sshh","kanji","red-circle"],char:'㊙️',fitzpatrick_scale:false,category:"symbols"},congratulations:{keywords:["chinese","kanji","japanese","red-circle"],char:'㊗️',fitzpatrick_scale:false,category:"symbols"},u5408:{keywords:["japanese","chinese","join","kanji","red-square"],char:'🈴',fitzpatrick_scale:false,category:"symbols"},u6e80:{keywords:["full","chinese","japanese","red-square","kanji"],char:'🈵',fitzpatrick_scale:false,category:"symbols"},u7981:{keywords:["kanji","japanese","chinese","forbidden","limit","restricted","red-square"],char:'🈲',fitzpatrick_scale:false,category:"symbols"},a:{keywords:["red-square","alphabet","letter"],char:'🅰️',fitzpatrick_scale:false,category:"symbols"},b:{keywords:["red-square","alphabet","letter"],char:'🅱️',fitzpatrick_scale:false,category:"symbols"},ab:{keywords:["red-square","alphabet"],char:'🆎',fitzpatrick_scale:false,category:"symbols"},cl:{keywords:["alphabet","words","red-square"],char:'🆑',fitzpatrick_scale:false,category:"symbols"},o2:{keywords:["alphabet","red-square","letter"],char:'🅾️',fitzpatrick_scale:false,category:"symbols"},sos:{keywords:["help","red-square","words","emergency","911"],char:'🆘',fitzpatrick_scale:false,category:"symbols"},no_entry:{keywords:["limit","security","privacy","bad","denied","stop","circle"],char:'⛔',fitzpatrick_scale:false,category:"symbols"},name_badge:{keywords:["fire","forbid"],char:'📛',fitzpatrick_scale:false,category:"symbols"},no_entry_sign:{keywords:["forbid","stop","limit","denied","disallow","circle"],char:'🚫',fitzpatrick_scale:false,category:"symbols"},x:{keywords:["no","delete","remove","cancel","red"],char:'❌',fitzpatrick_scale:false,category:"symbols"},o:{keywords:["circle","round"],char:'⭕',fitzpatrick_scale:false,category:"symbols"},stop_sign:{keywords:["stop"],char:'🛑',fitzpatrick_scale:false,category:"symbols"},anger:{keywords:["angry","mad"],char:'💢',fitzpatrick_scale:false,category:"symbols"},hotsprings:{keywords:["bath","warm","relax"],char:'♨️',fitzpatrick_scale:false,category:"symbols"},no_pedestrians:{keywords:["rules","crossing","walking","circle"],char:'🚷',fitzpatrick_scale:false,category:"symbols"},do_not_litter:{keywords:["trash","bin","garbage","circle"],char:'🚯',fitzpatrick_scale:false,category:"symbols"},no_bicycles:{keywords:["cyclist","prohibited","circle"],char:'🚳',fitzpatrick_scale:false,category:"symbols"},"non-potable_water":{keywords:["drink","faucet","tap","circle"],char:'🚱',fitzpatrick_scale:false,category:"symbols"},underage:{keywords:["18","drink","pub","night","minor","circle"],char:'🔞',fitzpatrick_scale:false,category:"symbols"},no_mobile_phones:{keywords:["iphone","mute","circle"],char:'📵',fitzpatrick_scale:false,category:"symbols"},exclamation:{keywords:["heavy_exclamation_mark","danger","surprise","punctuation","wow","warning"],char:'❗',fitzpatrick_scale:false,category:"symbols"},grey_exclamation:{keywords:["surprise","punctuation","gray","wow","warning"],char:'❕',fitzpatrick_scale:false,category:"symbols"},question:{keywords:["doubt","confused"],char:'❓',fitzpatrick_scale:false,category:"symbols"},grey_question:{keywords:["doubts","gray","huh","confused"],char:'❔',fitzpatrick_scale:false,category:"symbols"},bangbang:{keywords:["exclamation","surprise"],char:'‼️',fitzpatrick_scale:false,category:"symbols"},interrobang:{keywords:["wat","punctuation","surprise"],char:'⁉️',fitzpatrick_scale:false,category:"symbols"},low_brightness:{keywords:["sun","afternoon","warm","summer"],char:'🔅',fitzpatrick_scale:false,category:"symbols"},high_brightness:{keywords:["sun","light"],char:'🔆',fitzpatrick_scale:false,category:"symbols"},trident:{keywords:["weapon","spear"],char:'🔱',fitzpatrick_scale:false,category:"symbols"},fleur_de_lis:{keywords:["decorative","scout"],char:'⚜',fitzpatrick_scale:false,category:"symbols"},part_alternation_mark:{keywords:["graph","presentation","stats","business","economics","bad"],char:'〽️',fitzpatrick_scale:false,category:"symbols"},warning:{keywords:["exclamation","wip","alert","error","problem","issue"],char:'⚠️',fitzpatrick_scale:false,category:"symbols"},children_crossing:{keywords:["school","warning","danger","sign","driving","yellow-diamond"],char:'🚸',fitzpatrick_scale:false,category:"symbols"},beginner:{keywords:["badge","shield"],char:'🔰',fitzpatrick_scale:false,category:"symbols"},recycle:{keywords:["arrow","environment","garbage","trash"],char:'♻️',fitzpatrick_scale:false,category:"symbols"},u6307:{keywords:["chinese","point","green-square","kanji"],char:'🈯',fitzpatrick_scale:false,category:"symbols"},chart:{keywords:["green-square","graph","presentation","stats"],char:'💹',fitzpatrick_scale:false,category:"symbols"},sparkle:{keywords:["stars","green-square","awesome","good","fireworks"],char:'❇️',fitzpatrick_scale:false,category:"symbols"},eight_spoked_asterisk:{keywords:["star","sparkle","green-square"],char:'✳️',fitzpatrick_scale:false,category:"symbols"},negative_squared_cross_mark:{keywords:["x","green-square","no","deny"],char:'❎',fitzpatrick_scale:false,category:"symbols"},white_check_mark:{keywords:["green-square","ok","agree","vote","election","answer","tick"],char:'✅',fitzpatrick_scale:false,category:"symbols"},diamond_shape_with_a_dot_inside:{keywords:["jewel","blue","gem","crystal","fancy"],char:'💠',fitzpatrick_scale:false,category:"symbols"},cyclone:{keywords:["weather","swirl","blue","cloud","vortex","spiral","whirlpool","spin","tornado","hurricane","typhoon"],char:'🌀',fitzpatrick_scale:false,category:"symbols"},loop:{keywords:["tape","cassette"],char:'➿',fitzpatrick_scale:false,category:"symbols"},globe_with_meridians:{keywords:["earth","international","world","internet","interweb","i18n"],char:'🌐',fitzpatrick_scale:false,category:"symbols"},m:{keywords:["alphabet","blue-circle","letter"],char:'Ⓜ️',fitzpatrick_scale:false,category:"symbols"},atm:{keywords:["money","sales","cash","blue-square","payment","bank"],char:'🏧',fitzpatrick_scale:false,category:"symbols"},sa:{keywords:["japanese","blue-square","katakana"],char:'🈂️',fitzpatrick_scale:false,category:"symbols"},passport_control:{keywords:["custom","blue-square"],char:'🛂',fitzpatrick_scale:false,category:"symbols"},customs:{keywords:["passport","border","blue-square"],char:'🛃',fitzpatrick_scale:false,category:"symbols"},baggage_claim:{keywords:["blue-square","airport","transport"],char:'🛄',fitzpatrick_scale:false,category:"symbols"},left_luggage:{keywords:["blue-square","travel"],char:'🛅',fitzpatrick_scale:false,category:"symbols"},wheelchair:{keywords:["blue-square","disabled","a11y","accessibility"],char:'♿',fitzpatrick_scale:false,category:"symbols"},no_smoking:{keywords:["cigarette","blue-square","smell","smoke"],char:'🚭',fitzpatrick_scale:false,category:"symbols"},wc:{keywords:["toilet","restroom","blue-square"],char:'🚾',fitzpatrick_scale:false,category:"symbols"},parking:{keywords:["cars","blue-square","alphabet","letter"],char:'🅿️',fitzpatrick_scale:false,category:"symbols"},potable_water:{keywords:["blue-square","liquid","restroom","cleaning","faucet"],char:'🚰',fitzpatrick_scale:false,category:"symbols"},mens:{keywords:["toilet","restroom","wc","blue-square","gender","male"],char:'🚹',fitzpatrick_scale:false,category:"symbols"},womens:{keywords:["purple-square","woman","female","toilet","loo","restroom","gender"],char:'🚺',fitzpatrick_scale:false,category:"symbols"},baby_symbol:{keywords:["orange-square","child"],char:'🚼',fitzpatrick_scale:false,category:"symbols"},restroom:{keywords:["blue-square","toilet","refresh","wc","gender"],char:'🚻',fitzpatrick_scale:false,category:"symbols"},put_litter_in_its_place:{keywords:["blue-square","sign","human","info"],char:'🚮',fitzpatrick_scale:false,category:"symbols"},cinema:{keywords:["blue-square","record","film","movie","curtain","stage","theater"],char:'🎦',fitzpatrick_scale:false,category:"symbols"},signal_strength:{keywords:["blue-square","reception","phone","internet","connection","wifi","bluetooth","bars"],char:'📶',fitzpatrick_scale:false,category:"symbols"},koko:{keywords:["blue-square","here","katakana","japanese","destination"],char:'🈁',fitzpatrick_scale:false,category:"symbols"},ng:{keywords:["blue-square","words","shape","icon"],char:'🆖',fitzpatrick_scale:false,category:"symbols"},ok:{keywords:["good","agree","yes","blue-square"],char:'🆗',fitzpatrick_scale:false,category:"symbols"},up:{keywords:["blue-square","above","high"],char:'🆙',fitzpatrick_scale:false,category:"symbols"},cool:{keywords:["words","blue-square"],char:'🆒',fitzpatrick_scale:false,category:"symbols"},new:{keywords:["blue-square","words","start"],char:'🆕',fitzpatrick_scale:false,category:"symbols"},free:{keywords:["blue-square","words"],char:'🆓',fitzpatrick_scale:false,category:"symbols"},zero:{keywords:["0","numbers","blue-square","null"],char:'0️⃣',fitzpatrick_scale:false,category:"symbols"},one:{keywords:["blue-square","numbers","1"],char:'1️⃣',fitzpatrick_scale:false,category:"symbols"},two:{keywords:["numbers","2","prime","blue-square"],char:'2️⃣',fitzpatrick_scale:false,category:"symbols"},three:{keywords:["3","numbers","prime","blue-square"],char:'3️⃣',fitzpatrick_scale:false,category:"symbols"},four:{keywords:["4","numbers","blue-square"],char:'4️⃣',fitzpatrick_scale:false,category:"symbols"},five:{keywords:["5","numbers","blue-square","prime"],char:'5️⃣',fitzpatrick_scale:false,category:"symbols"},six:{keywords:["6","numbers","blue-square"],char:'6️⃣',fitzpatrick_scale:false,category:"symbols"},seven:{keywords:["7","numbers","blue-square","prime"],char:'7️⃣',fitzpatrick_scale:false,category:"symbols"},eight:{keywords:["8","blue-square","numbers"],char:'8️⃣',fitzpatrick_scale:false,category:"symbols"},nine:{keywords:["blue-square","numbers","9"],char:'9️⃣',fitzpatrick_scale:false,category:"symbols"},keycap_ten:{keywords:["numbers","10","blue-square"],char:'🔟',fitzpatrick_scale:false,category:"symbols"},asterisk:{keywords:["star","keycap"],char:'*⃣',fitzpatrick_scale:false,category:"symbols"},eject_button:{keywords:["blue-square"],char:'⏏️',fitzpatrick_scale:false,category:"symbols"},arrow_forward:{keywords:["blue-square","right","direction","play"],char:'▶️',fitzpatrick_scale:false,category:"symbols"},pause_button:{keywords:["pause","blue-square"],char:'⏸',fitzpatrick_scale:false,category:"symbols"},next_track_button:{keywords:["forward","next","blue-square"],char:'⏭',fitzpatrick_scale:false,category:"symbols"},stop_button:{keywords:["blue-square"],char:'⏹',fitzpatrick_scale:false,category:"symbols"},record_button:{keywords:["blue-square"],char:'⏺',fitzpatrick_scale:false,category:"symbols"},play_or_pause_button:{keywords:["blue-square","play","pause"],char:'⏯',fitzpatrick_scale:false,category:"symbols"},previous_track_button:{keywords:["backward"],char:'⏮',fitzpatrick_scale:false,category:"symbols"},fast_forward:{keywords:["blue-square","play","speed","continue"],char:'⏩',fitzpatrick_scale:false,category:"symbols"},rewind:{keywords:["play","blue-square"],char:'⏪',fitzpatrick_scale:false,category:"symbols"},twisted_rightwards_arrows:{keywords:["blue-square","shuffle","music","random"],char:'🔀',fitzpatrick_scale:false,category:"symbols"},repeat:{keywords:["loop","record"],char:'🔁',fitzpatrick_scale:false,category:"symbols"},repeat_one:{keywords:["blue-square","loop"],char:'🔂',fitzpatrick_scale:false,category:"symbols"},arrow_backward:{keywords:["blue-square","left","direction"],char:'◀️',fitzpatrick_scale:false,category:"symbols"},arrow_up_small:{keywords:["blue-square","triangle","direction","point","forward","top"],char:'🔼',fitzpatrick_scale:false,category:"symbols"},arrow_down_small:{keywords:["blue-square","direction","bottom"],char:'🔽',fitzpatrick_scale:false,category:"symbols"},arrow_double_up:{keywords:["blue-square","direction","top"],char:'⏫',fitzpatrick_scale:false,category:"symbols"},arrow_double_down:{keywords:["blue-square","direction","bottom"],char:'⏬',fitzpatrick_scale:false,category:"symbols"},arrow_right:{keywords:["blue-square","next"],char:'➡️',fitzpatrick_scale:false,category:"symbols"},arrow_left:{keywords:["blue-square","previous","back"],char:'⬅️',fitzpatrick_scale:false,category:"symbols"},arrow_up:{keywords:["blue-square","continue","top","direction"],char:'⬆️',fitzpatrick_scale:false,category:"symbols"},arrow_down:{keywords:["blue-square","direction","bottom"],char:'⬇️',fitzpatrick_scale:false,category:"symbols"},arrow_upper_right:{keywords:["blue-square","point","direction","diagonal","northeast"],char:'↗️',fitzpatrick_scale:false,category:"symbols"},arrow_lower_right:{keywords:["blue-square","direction","diagonal","southeast"],char:'↘️',fitzpatrick_scale:false,category:"symbols"},arrow_lower_left:{keywords:["blue-square","direction","diagonal","southwest"],char:'↙️',fitzpatrick_scale:false,category:"symbols"},arrow_upper_left:{keywords:["blue-square","point","direction","diagonal","northwest"],char:'↖️',fitzpatrick_scale:false,category:"symbols"},arrow_up_down:{keywords:["blue-square","direction","way","vertical"],char:'↕️',fitzpatrick_scale:false,category:"symbols"},left_right_arrow:{keywords:["shape","direction","horizontal","sideways"],char:'↔️',fitzpatrick_scale:false,category:"symbols"},arrows_counterclockwise:{keywords:["blue-square","sync","cycle"],char:'🔄',fitzpatrick_scale:false,category:"symbols"},arrow_right_hook:{keywords:["blue-square","return","rotate","direction"],char:'↪️',fitzpatrick_scale:false,category:"symbols"},leftwards_arrow_with_hook:{keywords:["back","return","blue-square","undo","enter"],char:'↩️',fitzpatrick_scale:false,category:"symbols"},arrow_heading_up:{keywords:["blue-square","direction","top"],char:'⤴️',fitzpatrick_scale:false,category:"symbols"},arrow_heading_down:{keywords:["blue-square","direction","bottom"],char:'⤵️',fitzpatrick_scale:false,category:"symbols"},hash:{keywords:["symbol","blue-square","twitter"],char:'#️⃣',fitzpatrick_scale:false,category:"symbols"},information_source:{keywords:["blue-square","alphabet","letter"],char:'ℹ️',fitzpatrick_scale:false,category:"symbols"},abc:{keywords:["blue-square","alphabet"],char:'🔤',fitzpatrick_scale:false,category:"symbols"},abcd:{keywords:["blue-square","alphabet"],char:'🔡',fitzpatrick_scale:false,category:"symbols"},capital_abcd:{keywords:["alphabet","words","blue-square"],char:'🔠',fitzpatrick_scale:false,category:"symbols"},symbols:{keywords:["blue-square","music","note","ampersand","percent","glyphs","characters"],char:'🔣',fitzpatrick_scale:false,category:"symbols"},musical_note:{keywords:["score","tone","sound"],char:'🎵',fitzpatrick_scale:false,category:"symbols"},notes:{keywords:["music","score"],char:'🎶',fitzpatrick_scale:false,category:"symbols"},wavy_dash:{keywords:["draw","line","moustache","mustache","squiggle","scribble"],char:'〰️',fitzpatrick_scale:false,category:"symbols"},curly_loop:{keywords:["scribble","draw","shape","squiggle"],char:'➰',fitzpatrick_scale:false,category:"symbols"},heavy_check_mark:{keywords:["ok","nike","answer","yes","tick"],char:'✔️',fitzpatrick_scale:false,category:"symbols"},arrows_clockwise:{keywords:["sync","cycle","round","repeat"],char:'🔃',fitzpatrick_scale:false,category:"symbols"},heavy_plus_sign:{keywords:["math","calculation","addition","more","increase"],char:'➕',fitzpatrick_scale:false,category:"symbols"},heavy_minus_sign:{keywords:["math","calculation","subtract","less"],char:'➖',fitzpatrick_scale:false,category:"symbols"},heavy_division_sign:{keywords:["divide","math","calculation"],char:'➗',fitzpatrick_scale:false,category:"symbols"},heavy_multiplication_x:{keywords:["math","calculation"],char:'✖️',fitzpatrick_scale:false,category:"symbols"},infinity:{keywords:["forever"],char:'♾',fitzpatrick_scale:false,category:"symbols"},heavy_dollar_sign:{keywords:["money","sales","payment","currency","buck"],char:'💲',fitzpatrick_scale:false,category:"symbols"},currency_exchange:{keywords:["money","sales","dollar","travel"],char:'💱',fitzpatrick_scale:false,category:"symbols"},copyright:{keywords:["ip","license","circle","law","legal"],char:'©️',fitzpatrick_scale:false,category:"symbols"},registered:{keywords:["alphabet","circle"],char:'®️',fitzpatrick_scale:false,category:"symbols"},tm:{keywords:["trademark","brand","law","legal"],char:'™️',fitzpatrick_scale:false,category:"symbols"},end:{keywords:["words","arrow"],char:'🔚',fitzpatrick_scale:false,category:"symbols"},back:{keywords:["arrow","words","return"],char:'🔙',fitzpatrick_scale:false,category:"symbols"},on:{keywords:["arrow","words"],char:'🔛',fitzpatrick_scale:false,category:"symbols"},top:{keywords:["words","blue-square"],char:'🔝',fitzpatrick_scale:false,category:"symbols"},soon:{keywords:["arrow","words"],char:'🔜',fitzpatrick_scale:false,category:"symbols"},ballot_box_with_check:{keywords:["ok","agree","confirm","black-square","vote","election","yes","tick"],char:'☑️',fitzpatrick_scale:false,category:"symbols"},radio_button:{keywords:["input","old","music","circle"],char:'🔘',fitzpatrick_scale:false,category:"symbols"},white_circle:{keywords:["shape","round"],char:'⚪',fitzpatrick_scale:false,category:"symbols"},black_circle:{keywords:["shape","button","round"],char:'⚫',fitzpatrick_scale:false,category:"symbols"},red_circle:{keywords:["shape","error","danger"],char:'🔴',fitzpatrick_scale:false,category:"symbols"},large_blue_circle:{keywords:["shape","icon","button"],char:'🔵',fitzpatrick_scale:false,category:"symbols"},small_orange_diamond:{keywords:["shape","jewel","gem"],char:'🔸',fitzpatrick_scale:false,category:"symbols"},small_blue_diamond:{keywords:["shape","jewel","gem"],char:'🔹',fitzpatrick_scale:false,category:"symbols"},large_orange_diamond:{keywords:["shape","jewel","gem"],char:'🔶',fitzpatrick_scale:false,category:"symbols"},large_blue_diamond:{keywords:["shape","jewel","gem"],char:'🔷',fitzpatrick_scale:false,category:"symbols"},small_red_triangle:{keywords:["shape","direction","up","top"],char:'🔺',fitzpatrick_scale:false,category:"symbols"},black_small_square:{keywords:["shape","icon"],char:'▪️',fitzpatrick_scale:false,category:"symbols"},white_small_square:{keywords:["shape","icon"],char:'▫️',fitzpatrick_scale:false,category:"symbols"},black_large_square:{keywords:["shape","icon","button"],char:'⬛',fitzpatrick_scale:false,category:"symbols"},white_large_square:{keywords:["shape","icon","stone","button"],char:'⬜',fitzpatrick_scale:false,category:"symbols"},small_red_triangle_down:{keywords:["shape","direction","bottom"],char:'🔻',fitzpatrick_scale:false,category:"symbols"},black_medium_square:{keywords:["shape","button","icon"],char:'◼️',fitzpatrick_scale:false,category:"symbols"},white_medium_square:{keywords:["shape","stone","icon"],char:'◻️',fitzpatrick_scale:false,category:"symbols"},black_medium_small_square:{keywords:["icon","shape","button"],char:'◾',fitzpatrick_scale:false,category:"symbols"},white_medium_small_square:{keywords:["shape","stone","icon","button"],char:'◽',fitzpatrick_scale:false,category:"symbols"},black_square_button:{keywords:["shape","input","frame"],char:'🔲',fitzpatrick_scale:false,category:"symbols"},white_square_button:{keywords:["shape","input"],char:'🔳',fitzpatrick_scale:false,category:"symbols"},speaker:{keywords:["sound","volume","silence","broadcast"],char:'🔈',fitzpatrick_scale:false,category:"symbols"},sound:{keywords:["volume","speaker","broadcast"],char:'🔉',fitzpatrick_scale:false,category:"symbols"},loud_sound:{keywords:["volume","noise","noisy","speaker","broadcast"],char:'🔊',fitzpatrick_scale:false,category:"symbols"},mute:{keywords:["sound","volume","silence","quiet"],char:'🔇',fitzpatrick_scale:false,category:"symbols"},mega:{keywords:["sound","speaker","volume"],char:'📣',fitzpatrick_scale:false,category:"symbols"},loudspeaker:{keywords:["volume","sound"],char:'📢',fitzpatrick_scale:false,category:"symbols"},bell:{keywords:["sound","notification","christmas","xmas","chime"],char:'🔔',fitzpatrick_scale:false,category:"symbols"},no_bell:{keywords:["sound","volume","mute","quiet","silent"],char:'🔕',fitzpatrick_scale:false,category:"symbols"},black_joker:{keywords:["poker","cards","game","play","magic"],char:'🃏',fitzpatrick_scale:false,category:"symbols"},mahjong:{keywords:["game","play","chinese","kanji"],char:'🀄',fitzpatrick_scale:false,category:"symbols"},spades:{keywords:["poker","cards","suits","magic"],char:'♠️',fitzpatrick_scale:false,category:"symbols"},clubs:{keywords:["poker","cards","magic","suits"],char:'♣️',fitzpatrick_scale:false,category:"symbols"},hearts:{keywords:["poker","cards","magic","suits"],char:'♥️',fitzpatrick_scale:false,category:"symbols"},diamonds:{keywords:["poker","cards","magic","suits"],char:'♦️',fitzpatrick_scale:false,category:"symbols"},flower_playing_cards:{keywords:["game","sunset","red"],char:'🎴',fitzpatrick_scale:false,category:"symbols"},thought_balloon:{keywords:["bubble","cloud","speech","thinking","dream"],char:'💭',fitzpatrick_scale:false,category:"symbols"},right_anger_bubble:{keywords:["caption","speech","thinking","mad"],char:'🗯',fitzpatrick_scale:false,category:"symbols"},speech_balloon:{keywords:["bubble","words","message","talk","chatting"],char:'💬',fitzpatrick_scale:false,category:"symbols"},left_speech_bubble:{keywords:["words","message","talk","chatting"],char:'🗨',fitzpatrick_scale:false,category:"symbols"},clock1:{keywords:["time","late","early","schedule"],char:'🕐',fitzpatrick_scale:false,category:"symbols"},clock2:{keywords:["time","late","early","schedule"],char:'🕑',fitzpatrick_scale:false,category:"symbols"},clock3:{keywords:["time","late","early","schedule"],char:'🕒',fitzpatrick_scale:false,category:"symbols"},clock4:{keywords:["time","late","early","schedule"],char:'🕓',fitzpatrick_scale:false,category:"symbols"},clock5:{keywords:["time","late","early","schedule"],char:'🕔',fitzpatrick_scale:false,category:"symbols"},clock6:{keywords:["time","late","early","schedule","dawn","dusk"],char:'🕕',fitzpatrick_scale:false,category:"symbols"},clock7:{keywords:["time","late","early","schedule"],char:'🕖',fitzpatrick_scale:false,category:"symbols"},clock8:{keywords:["time","late","early","schedule"],char:'🕗',fitzpatrick_scale:false,category:"symbols"},clock9:{keywords:["time","late","early","schedule"],char:'🕘',fitzpatrick_scale:false,category:"symbols"},clock10:{keywords:["time","late","early","schedule"],char:'🕙',fitzpatrick_scale:false,category:"symbols"},clock11:{keywords:["time","late","early","schedule"],char:'🕚',fitzpatrick_scale:false,category:"symbols"},clock12:{keywords:["time","noon","midnight","midday","late","early","schedule"],char:'🕛',fitzpatrick_scale:false,category:"symbols"},clock130:{keywords:["time","late","early","schedule"],char:'🕜',fitzpatrick_scale:false,category:"symbols"},clock230:{keywords:["time","late","early","schedule"],char:'🕝',fitzpatrick_scale:false,category:"symbols"},clock330:{keywords:["time","late","early","schedule"],char:'🕞',fitzpatrick_scale:false,category:"symbols"},clock430:{keywords:["time","late","early","schedule"],char:'🕟',fitzpatrick_scale:false,category:"symbols"},clock530:{keywords:["time","late","early","schedule"],char:'🕠',fitzpatrick_scale:false,category:"symbols"},clock630:{keywords:["time","late","early","schedule"],char:'🕡',fitzpatrick_scale:false,category:"symbols"},clock730:{keywords:["time","late","early","schedule"],char:'🕢',fitzpatrick_scale:false,category:"symbols"},clock830:{keywords:["time","late","early","schedule"],char:'🕣',fitzpatrick_scale:false,category:"symbols"},clock930:{keywords:["time","late","early","schedule"],char:'🕤',fitzpatrick_scale:false,category:"symbols"},clock1030:{keywords:["time","late","early","schedule"],char:'🕥',fitzpatrick_scale:false,category:"symbols"},clock1130:{keywords:["time","late","early","schedule"],char:'🕦',fitzpatrick_scale:false,category:"symbols"},clock1230:{keywords:["time","late","early","schedule"],char:'🕧',fitzpatrick_scale:false,category:"symbols"},afghanistan:{keywords:["af","flag","nation","country","banner"],char:'🇦🇫',fitzpatrick_scale:false,category:"flags"},aland_islands:{keywords:["Åland","islands","flag","nation","country","banner"],char:'🇦🇽',fitzpatrick_scale:false,category:"flags"},albania:{keywords:["al","flag","nation","country","banner"],char:'🇦🇱',fitzpatrick_scale:false,category:"flags"},algeria:{keywords:["dz","flag","nation","country","banner"],char:'🇩🇿',fitzpatrick_scale:false,category:"flags"},american_samoa:{keywords:["american","ws","flag","nation","country","banner"],char:'🇦🇸',fitzpatrick_scale:false,category:"flags"},andorra:{keywords:["ad","flag","nation","country","banner"],char:'🇦🇩',fitzpatrick_scale:false,category:"flags"},angola:{keywords:["ao","flag","nation","country","banner"],char:'🇦🇴',fitzpatrick_scale:false,category:"flags"},anguilla:{keywords:["ai","flag","nation","country","banner"],char:'🇦🇮',fitzpatrick_scale:false,category:"flags"},antarctica:{keywords:["aq","flag","nation","country","banner"],char:'🇦🇶',fitzpatrick_scale:false,category:"flags"},antigua_barbuda:{keywords:["antigua","barbuda","flag","nation","country","banner"],char:'🇦🇬',fitzpatrick_scale:false,category:"flags"},argentina:{keywords:["ar","flag","nation","country","banner"],char:'🇦🇷',fitzpatrick_scale:false,category:"flags"},armenia:{keywords:["am","flag","nation","country","banner"],char:'🇦🇲',fitzpatrick_scale:false,category:"flags"},aruba:{keywords:["aw","flag","nation","country","banner"],char:'🇦🇼',fitzpatrick_scale:false,category:"flags"},australia:{keywords:["au","flag","nation","country","banner"],char:'🇦🇺',fitzpatrick_scale:false,category:"flags"},austria:{keywords:["at","flag","nation","country","banner"],char:'🇦🇹',fitzpatrick_scale:false,category:"flags"},azerbaijan:{keywords:["az","flag","nation","country","banner"],char:'🇦🇿',fitzpatrick_scale:false,category:"flags"},bahamas:{keywords:["bs","flag","nation","country","banner"],char:'🇧🇸',fitzpatrick_scale:false,category:"flags"},bahrain:{keywords:["bh","flag","nation","country","banner"],char:'🇧🇭',fitzpatrick_scale:false,category:"flags"},bangladesh:{keywords:["bd","flag","nation","country","banner"],char:'🇧🇩',fitzpatrick_scale:false,category:"flags"},barbados:{keywords:["bb","flag","nation","country","banner"],char:'🇧🇧',fitzpatrick_scale:false,category:"flags"},belarus:{keywords:["by","flag","nation","country","banner"],char:'🇧🇾',fitzpatrick_scale:false,category:"flags"},belgium:{keywords:["be","flag","nation","country","banner"],char:'🇧🇪',fitzpatrick_scale:false,category:"flags"},belize:{keywords:["bz","flag","nation","country","banner"],char:'🇧🇿',fitzpatrick_scale:false,category:"flags"},benin:{keywords:["bj","flag","nation","country","banner"],char:'🇧🇯',fitzpatrick_scale:false,category:"flags"},bermuda:{keywords:["bm","flag","nation","country","banner"],char:'🇧🇲',fitzpatrick_scale:false,category:"flags"},bhutan:{keywords:["bt","flag","nation","country","banner"],char:'🇧🇹',fitzpatrick_scale:false,category:"flags"},bolivia:{keywords:["bo","flag","nation","country","banner"],char:'🇧🇴',fitzpatrick_scale:false,category:"flags"},caribbean_netherlands:{keywords:["bonaire","flag","nation","country","banner"],char:'🇧🇶',fitzpatrick_scale:false,category:"flags"},bosnia_herzegovina:{keywords:["bosnia","herzegovina","flag","nation","country","banner"],char:'🇧🇦',fitzpatrick_scale:false,category:"flags"},botswana:{keywords:["bw","flag","nation","country","banner"],char:'🇧🇼',fitzpatrick_scale:false,category:"flags"},brazil:{keywords:["br","flag","nation","country","banner"],char:'🇧🇷',fitzpatrick_scale:false,category:"flags"},british_indian_ocean_territory:{keywords:["british","indian","ocean","territory","flag","nation","country","banner"],char:'🇮🇴',fitzpatrick_scale:false,category:"flags"},british_virgin_islands:{keywords:["british","virgin","islands","bvi","flag","nation","country","banner"],char:'🇻🇬',fitzpatrick_scale:false,category:"flags"},brunei:{keywords:["bn","darussalam","flag","nation","country","banner"],char:'🇧🇳',fitzpatrick_scale:false,category:"flags"},bulgaria:{keywords:["bg","flag","nation","country","banner"],char:'🇧🇬',fitzpatrick_scale:false,category:"flags"},burkina_faso:{keywords:["burkina","faso","flag","nation","country","banner"],char:'🇧🇫',fitzpatrick_scale:false,category:"flags"},burundi:{keywords:["bi","flag","nation","country","banner"],char:'🇧🇮',fitzpatrick_scale:false,category:"flags"},cape_verde:{keywords:["cabo","verde","flag","nation","country","banner"],char:'🇨🇻',fitzpatrick_scale:false,category:"flags"},cambodia:{keywords:["kh","flag","nation","country","banner"],char:'🇰🇭',fitzpatrick_scale:false,category:"flags"},cameroon:{keywords:["cm","flag","nation","country","banner"],char:'🇨🇲',fitzpatrick_scale:false,category:"flags"},canada:{keywords:["ca","flag","nation","country","banner"],char:'🇨🇦',fitzpatrick_scale:false,category:"flags"},canary_islands:{keywords:["canary","islands","flag","nation","country","banner"],char:'🇮🇨',fitzpatrick_scale:false,category:"flags"},cayman_islands:{keywords:["cayman","islands","flag","nation","country","banner"],char:'🇰🇾',fitzpatrick_scale:false,category:"flags"},central_african_republic:{keywords:["central","african","republic","flag","nation","country","banner"],char:'🇨🇫',fitzpatrick_scale:false,category:"flags"},chad:{keywords:["td","flag","nation","country","banner"],char:'🇹🇩',fitzpatrick_scale:false,category:"flags"},chile:{keywords:["flag","nation","country","banner"],char:'🇨🇱',fitzpatrick_scale:false,category:"flags"},cn:{keywords:["china","chinese","prc","flag","country","nation","banner"],char:'🇨🇳',fitzpatrick_scale:false,category:"flags"},christmas_island:{keywords:["christmas","island","flag","nation","country","banner"],char:'🇨🇽',fitzpatrick_scale:false,category:"flags"},cocos_islands:{keywords:["cocos","keeling","islands","flag","nation","country","banner"],char:'🇨🇨',fitzpatrick_scale:false,category:"flags"},colombia:{keywords:["co","flag","nation","country","banner"],char:'🇨🇴',fitzpatrick_scale:false,category:"flags"},comoros:{keywords:["km","flag","nation","country","banner"],char:'🇰🇲',fitzpatrick_scale:false,category:"flags"},congo_brazzaville:{keywords:["congo","flag","nation","country","banner"],char:'🇨🇬',fitzpatrick_scale:false,category:"flags"},congo_kinshasa:{keywords:["congo","democratic","republic","flag","nation","country","banner"],char:'🇨🇩',fitzpatrick_scale:false,category:"flags"},cook_islands:{keywords:["cook","islands","flag","nation","country","banner"],char:'🇨🇰',fitzpatrick_scale:false,category:"flags"},costa_rica:{keywords:["costa","rica","flag","nation","country","banner"],char:'🇨🇷',fitzpatrick_scale:false,category:"flags"},croatia:{keywords:["hr","flag","nation","country","banner"],char:'🇭🇷',fitzpatrick_scale:false,category:"flags"},cuba:{keywords:["cu","flag","nation","country","banner"],char:'🇨🇺',fitzpatrick_scale:false,category:"flags"},curacao:{keywords:["curaçao","flag","nation","country","banner"],char:'🇨🇼',fitzpatrick_scale:false,category:"flags"},cyprus:{keywords:["cy","flag","nation","country","banner"],char:'🇨🇾',fitzpatrick_scale:false,category:"flags"},czech_republic:{keywords:["cz","flag","nation","country","banner"],char:'🇨🇿',fitzpatrick_scale:false,category:"flags"},denmark:{keywords:["dk","flag","nation","country","banner"],char:'🇩🇰',fitzpatrick_scale:false,category:"flags"},djibouti:{keywords:["dj","flag","nation","country","banner"],char:'🇩🇯',fitzpatrick_scale:false,category:"flags"},dominica:{keywords:["dm","flag","nation","country","banner"],char:'🇩🇲',fitzpatrick_scale:false,category:"flags"},dominican_republic:{keywords:["dominican","republic","flag","nation","country","banner"],char:'🇩🇴',fitzpatrick_scale:false,category:"flags"},ecuador:{keywords:["ec","flag","nation","country","banner"],char:'🇪🇨',fitzpatrick_scale:false,category:"flags"},egypt:{keywords:["eg","flag","nation","country","banner"],char:'🇪🇬',fitzpatrick_scale:false,category:"flags"},el_salvador:{keywords:["el","salvador","flag","nation","country","banner"],char:'🇸🇻',fitzpatrick_scale:false,category:"flags"},equatorial_guinea:{keywords:["equatorial","gn","flag","nation","country","banner"],char:'🇬🇶',fitzpatrick_scale:false,category:"flags"},eritrea:{keywords:["er","flag","nation","country","banner"],char:'🇪🇷',fitzpatrick_scale:false,category:"flags"},estonia:{keywords:["ee","flag","nation","country","banner"],char:'🇪🇪',fitzpatrick_scale:false,category:"flags"},ethiopia:{keywords:["et","flag","nation","country","banner"],char:'🇪🇹',fitzpatrick_scale:false,category:"flags"},eu:{keywords:["european","union","flag","banner"],char:'🇪🇺',fitzpatrick_scale:false,category:"flags"},falkland_islands:{keywords:["falkland","islands","malvinas","flag","nation","country","banner"],char:'🇫🇰',fitzpatrick_scale:false,category:"flags"},faroe_islands:{keywords:["faroe","islands","flag","nation","country","banner"],char:'🇫🇴',fitzpatrick_scale:false,category:"flags"},fiji:{keywords:["fj","flag","nation","country","banner"],char:'🇫🇯',fitzpatrick_scale:false,category:"flags"},finland:{keywords:["fi","flag","nation","country","banner"],char:'🇫🇮',fitzpatrick_scale:false,category:"flags"},fr:{keywords:["banner","flag","nation","france","french","country"],char:'🇫🇷',fitzpatrick_scale:false,category:"flags"},french_guiana:{keywords:["french","guiana","flag","nation","country","banner"],char:'🇬🇫',fitzpatrick_scale:false,category:"flags"},french_polynesia:{keywords:["french","polynesia","flag","nation","country","banner"],char:'🇵🇫',fitzpatrick_scale:false,category:"flags"},french_southern_territories:{keywords:["french","southern","territories","flag","nation","country","banner"],char:'🇹🇫',fitzpatrick_scale:false,category:"flags"},gabon:{keywords:["ga","flag","nation","country","banner"],char:'🇬🇦',fitzpatrick_scale:false,category:"flags"},gambia:{keywords:["gm","flag","nation","country","banner"],char:'🇬🇲',fitzpatrick_scale:false,category:"flags"},georgia:{keywords:["ge","flag","nation","country","banner"],char:'🇬🇪',fitzpatrick_scale:false,category:"flags"},de:{keywords:["german","nation","flag","country","banner"],char:'🇩🇪',fitzpatrick_scale:false,category:"flags"},ghana:{keywords:["gh","flag","nation","country","banner"],char:'🇬🇭',fitzpatrick_scale:false,category:"flags"},gibraltar:{keywords:["gi","flag","nation","country","banner"],char:'🇬🇮',fitzpatrick_scale:false,category:"flags"},greece:{keywords:["gr","flag","nation","country","banner"],char:'🇬🇷',fitzpatrick_scale:false,category:"flags"},greenland:{keywords:["gl","flag","nation","country","banner"],char:'🇬🇱',fitzpatrick_scale:false,category:"flags"},grenada:{keywords:["gd","flag","nation","country","banner"],char:'🇬🇩',fitzpatrick_scale:false,category:"flags"},guadeloupe:{keywords:["gp","flag","nation","country","banner"],char:'🇬🇵',fitzpatrick_scale:false,category:"flags"},guam:{keywords:["gu","flag","nation","country","banner"],char:'🇬🇺',fitzpatrick_scale:false,category:"flags"},guatemala:{keywords:["gt","flag","nation","country","banner"],char:'🇬🇹',fitzpatrick_scale:false,category:"flags"},guernsey:{keywords:["gg","flag","nation","country","banner"],char:'🇬🇬',fitzpatrick_scale:false,category:"flags"},guinea:{keywords:["gn","flag","nation","country","banner"],char:'🇬🇳',fitzpatrick_scale:false,category:"flags"},guinea_bissau:{keywords:["gw","bissau","flag","nation","country","banner"],char:'🇬🇼',fitzpatrick_scale:false,category:"flags"},guyana:{keywords:["gy","flag","nation","country","banner"],char:'🇬🇾',fitzpatrick_scale:false,category:"flags"},haiti:{keywords:["ht","flag","nation","country","banner"],char:'🇭🇹',fitzpatrick_scale:false,category:"flags"},honduras:{keywords:["hn","flag","nation","country","banner"],char:'🇭🇳',fitzpatrick_scale:false,category:"flags"},hong_kong:{keywords:["hong","kong","flag","nation","country","banner"],char:'🇭🇰',fitzpatrick_scale:false,category:"flags"},hungary:{keywords:["hu","flag","nation","country","banner"],char:'🇭🇺',fitzpatrick_scale:false,category:"flags"},iceland:{keywords:["is","flag","nation","country","banner"],char:'🇮🇸',fitzpatrick_scale:false,category:"flags"},india:{keywords:["in","flag","nation","country","banner"],char:'🇮🇳',fitzpatrick_scale:false,category:"flags"},indonesia:{keywords:["flag","nation","country","banner"],char:'🇮🇩',fitzpatrick_scale:false,category:"flags"},iran:{keywords:["iran,","islamic","republic","flag","nation","country","banner"],char:'🇮🇷',fitzpatrick_scale:false,category:"flags"},iraq:{keywords:["iq","flag","nation","country","banner"],char:'🇮🇶',fitzpatrick_scale:false,category:"flags"},ireland:{keywords:["ie","flag","nation","country","banner"],char:'🇮🇪',fitzpatrick_scale:false,category:"flags"},isle_of_man:{keywords:["isle","man","flag","nation","country","banner"],char:'🇮🇲',fitzpatrick_scale:false,category:"flags"},israel:{keywords:["il","flag","nation","country","banner"],char:'🇮🇱',fitzpatrick_scale:false,category:"flags"},it:{keywords:["italy","flag","nation","country","banner"],char:'🇮🇹',fitzpatrick_scale:false,category:"flags"},cote_divoire:{keywords:["ivory","coast","flag","nation","country","banner"],char:'🇨🇮',fitzpatrick_scale:false,category:"flags"},jamaica:{keywords:["jm","flag","nation","country","banner"],char:'🇯🇲',fitzpatrick_scale:false,category:"flags"},jp:{keywords:["japanese","nation","flag","country","banner"],char:'🇯🇵',fitzpatrick_scale:false,category:"flags"},jersey:{keywords:["je","flag","nation","country","banner"],char:'🇯🇪',fitzpatrick_scale:false,category:"flags"},jordan:{keywords:["jo","flag","nation","country","banner"],char:'🇯🇴',fitzpatrick_scale:false,category:"flags"},kazakhstan:{keywords:["kz","flag","nation","country","banner"],char:'🇰🇿',fitzpatrick_scale:false,category:"flags"},kenya:{keywords:["ke","flag","nation","country","banner"],char:'🇰🇪',fitzpatrick_scale:false,category:"flags"},kiribati:{keywords:["ki","flag","nation","country","banner"],char:'🇰🇮',fitzpatrick_scale:false,category:"flags"},kosovo:{keywords:["xk","flag","nation","country","banner"],char:'🇽🇰',fitzpatrick_scale:false,category:"flags"},kuwait:{keywords:["kw","flag","nation","country","banner"],char:'🇰🇼',fitzpatrick_scale:false,category:"flags"},kyrgyzstan:{keywords:["kg","flag","nation","country","banner"],char:'🇰🇬',fitzpatrick_scale:false,category:"flags"},laos:{keywords:["lao","democratic","republic","flag","nation","country","banner"],char:'🇱🇦',fitzpatrick_scale:false,category:"flags"},latvia:{keywords:["lv","flag","nation","country","banner"],char:'🇱🇻',fitzpatrick_scale:false,category:"flags"},lebanon:{keywords:["lb","flag","nation","country","banner"],char:'🇱🇧',fitzpatrick_scale:false,category:"flags"},lesotho:{keywords:["ls","flag","nation","country","banner"],char:'🇱🇸',fitzpatrick_scale:false,category:"flags"},liberia:{keywords:["lr","flag","nation","country","banner"],char:'🇱🇷',fitzpatrick_scale:false,category:"flags"},libya:{keywords:["ly","flag","nation","country","banner"],char:'🇱🇾',fitzpatrick_scale:false,category:"flags"},liechtenstein:{keywords:["li","flag","nation","country","banner"],char:'🇱🇮',fitzpatrick_scale:false,category:"flags"},lithuania:{keywords:["lt","flag","nation","country","banner"],char:'🇱🇹',fitzpatrick_scale:false,category:"flags"},luxembourg:{keywords:["lu","flag","nation","country","banner"],char:'🇱🇺',fitzpatrick_scale:false,category:"flags"},macau:{keywords:["macao","flag","nation","country","banner"],char:'🇲🇴',fitzpatrick_scale:false,category:"flags"},macedonia:{keywords:["macedonia,","flag","nation","country","banner"],char:'🇲🇰',fitzpatrick_scale:false,category:"flags"},madagascar:{keywords:["mg","flag","nation","country","banner"],char:'🇲🇬',fitzpatrick_scale:false,category:"flags"},malawi:{keywords:["mw","flag","nation","country","banner"],char:'🇲🇼',fitzpatrick_scale:false,category:"flags"},malaysia:{keywords:["my","flag","nation","country","banner"],char:'🇲🇾',fitzpatrick_scale:false,category:"flags"},maldives:{keywords:["mv","flag","nation","country","banner"],char:'🇲🇻',fitzpatrick_scale:false,category:"flags"},mali:{keywords:["ml","flag","nation","country","banner"],char:'🇲🇱',fitzpatrick_scale:false,category:"flags"},malta:{keywords:["mt","flag","nation","country","banner"],char:'🇲🇹',fitzpatrick_scale:false,category:"flags"},marshall_islands:{keywords:["marshall","islands","flag","nation","country","banner"],char:'🇲🇭',fitzpatrick_scale:false,category:"flags"},martinique:{keywords:["mq","flag","nation","country","banner"],char:'🇲🇶',fitzpatrick_scale:false,category:"flags"},mauritania:{keywords:["mr","flag","nation","country","banner"],char:'🇲🇷',fitzpatrick_scale:false,category:"flags"},mauritius:{keywords:["mu","flag","nation","country","banner"],char:'🇲🇺',fitzpatrick_scale:false,category:"flags"},mayotte:{keywords:["yt","flag","nation","country","banner"],char:'🇾🇹',fitzpatrick_scale:false,category:"flags"},mexico:{keywords:["mx","flag","nation","country","banner"],char:'🇲🇽',fitzpatrick_scale:false,category:"flags"},micronesia:{keywords:["micronesia,","federated","states","flag","nation","country","banner"],char:'🇫🇲',fitzpatrick_scale:false,category:"flags"},moldova:{keywords:["moldova,","republic","flag","nation","country","banner"],char:'🇲🇩',fitzpatrick_scale:false,category:"flags"},monaco:{keywords:["mc","flag","nation","country","banner"],char:'🇲🇨',fitzpatrick_scale:false,category:"flags"},mongolia:{keywords:["mn","flag","nation","country","banner"],char:'🇲🇳',fitzpatrick_scale:false,category:"flags"},montenegro:{keywords:["me","flag","nation","country","banner"],char:'🇲🇪',fitzpatrick_scale:false,category:"flags"},montserrat:{keywords:["ms","flag","nation","country","banner"],char:'🇲🇸',fitzpatrick_scale:false,category:"flags"},morocco:{keywords:["ma","flag","nation","country","banner"],char:'🇲🇦',fitzpatrick_scale:false,category:"flags"},mozambique:{keywords:["mz","flag","nation","country","banner"],char:'🇲🇿',fitzpatrick_scale:false,category:"flags"},myanmar:{keywords:["mm","flag","nation","country","banner"],char:'🇲🇲',fitzpatrick_scale:false,category:"flags"},namibia:{keywords:["na","flag","nation","country","banner"],char:'🇳🇦',fitzpatrick_scale:false,category:"flags"},nauru:{keywords:["nr","flag","nation","country","banner"],char:'🇳🇷',fitzpatrick_scale:false,category:"flags"},nepal:{keywords:["np","flag","nation","country","banner"],char:'🇳🇵',fitzpatrick_scale:false,category:"flags"},netherlands:{keywords:["nl","flag","nation","country","banner"],char:'🇳🇱',fitzpatrick_scale:false,category:"flags"},new_caledonia:{keywords:["new","caledonia","flag","nation","country","banner"],char:'🇳🇨',fitzpatrick_scale:false,category:"flags"},new_zealand:{keywords:["new","zealand","flag","nation","country","banner"],char:'🇳🇿',fitzpatrick_scale:false,category:"flags"},nicaragua:{keywords:["ni","flag","nation","country","banner"],char:'🇳🇮',fitzpatrick_scale:false,category:"flags"},niger:{keywords:["ne","flag","nation","country","banner"],char:'🇳🇪',fitzpatrick_scale:false,category:"flags"},nigeria:{keywords:["flag","nation","country","banner"],char:'🇳🇬',fitzpatrick_scale:false,category:"flags"},niue:{keywords:["nu","flag","nation","country","banner"],char:'🇳🇺',fitzpatrick_scale:false,category:"flags"},norfolk_island:{keywords:["norfolk","island","flag","nation","country","banner"],char:'🇳🇫',fitzpatrick_scale:false,category:"flags"},northern_mariana_islands:{keywords:["northern","mariana","islands","flag","nation","country","banner"],char:'🇲🇵',fitzpatrick_scale:false,category:"flags"},north_korea:{keywords:["north","korea","nation","flag","country","banner"],char:'🇰🇵',fitzpatrick_scale:false,category:"flags"},norway:{keywords:["no","flag","nation","country","banner"],char:'🇳🇴',fitzpatrick_scale:false,category:"flags"},oman:{keywords:["om_symbol","flag","nation","country","banner"],char:'🇴🇲',fitzpatrick_scale:false,category:"flags"},pakistan:{keywords:["pk","flag","nation","country","banner"],char:'🇵🇰',fitzpatrick_scale:false,category:"flags"},palau:{keywords:["pw","flag","nation","country","banner"],char:'🇵🇼',fitzpatrick_scale:false,category:"flags"},palestinian_territories:{keywords:["palestine","palestinian","territories","flag","nation","country","banner"],char:'🇵🇸',fitzpatrick_scale:false,category:"flags"},panama:{keywords:["pa","flag","nation","country","banner"],char:'🇵🇦',fitzpatrick_scale:false,category:"flags"},papua_new_guinea:{keywords:["papua","new","guinea","flag","nation","country","banner"],char:'🇵🇬',fitzpatrick_scale:false,category:"flags"},paraguay:{keywords:["py","flag","nation","country","banner"],char:'🇵🇾',fitzpatrick_scale:false,category:"flags"},peru:{keywords:["pe","flag","nation","country","banner"],char:'🇵🇪',fitzpatrick_scale:false,category:"flags"},philippines:{keywords:["ph","flag","nation","country","banner"],char:'🇵🇭',fitzpatrick_scale:false,category:"flags"},pitcairn_islands:{keywords:["pitcairn","flag","nation","country","banner"],char:'🇵🇳',fitzpatrick_scale:false,category:"flags"},poland:{keywords:["pl","flag","nation","country","banner"],char:'🇵🇱',fitzpatrick_scale:false,category:"flags"},portugal:{keywords:["pt","flag","nation","country","banner"],char:'🇵🇹',fitzpatrick_scale:false,category:"flags"},puerto_rico:{keywords:["puerto","rico","flag","nation","country","banner"],char:'🇵🇷',fitzpatrick_scale:false,category:"flags"},qatar:{keywords:["qa","flag","nation","country","banner"],char:'🇶🇦',fitzpatrick_scale:false,category:"flags"},reunion:{keywords:["réunion","flag","nation","country","banner"],char:'🇷🇪',fitzpatrick_scale:false,category:"flags"},romania:{keywords:["ro","flag","nation","country","banner"],char:'🇷🇴',fitzpatrick_scale:false,category:"flags"},ru:{keywords:["russian","federation","flag","nation","country","banner"],char:'🇷🇺',fitzpatrick_scale:false,category:"flags"},rwanda:{keywords:["rw","flag","nation","country","banner"],char:'🇷🇼',fitzpatrick_scale:false,category:"flags"},st_barthelemy:{keywords:["saint","barthélemy","flag","nation","country","banner"],char:'🇧🇱',fitzpatrick_scale:false,category:"flags"},st_helena:{keywords:["saint","helena","ascension","tristan","cunha","flag","nation","country","banner"],char:'🇸🇭',fitzpatrick_scale:false,category:"flags"},st_kitts_nevis:{keywords:["saint","kitts","nevis","flag","nation","country","banner"],char:'🇰🇳',fitzpatrick_scale:false,category:"flags"},st_lucia:{keywords:["saint","lucia","flag","nation","country","banner"],char:'🇱🇨',fitzpatrick_scale:false,category:"flags"},st_pierre_miquelon:{keywords:["saint","pierre","miquelon","flag","nation","country","banner"],char:'🇵🇲',fitzpatrick_scale:false,category:"flags"},st_vincent_grenadines:{keywords:["saint","vincent","grenadines","flag","nation","country","banner"],char:'🇻🇨',fitzpatrick_scale:false,category:"flags"},samoa:{keywords:["ws","flag","nation","country","banner"],char:'🇼🇸',fitzpatrick_scale:false,category:"flags"},san_marino:{keywords:["san","marino","flag","nation","country","banner"],char:'🇸🇲',fitzpatrick_scale:false,category:"flags"},sao_tome_principe:{keywords:["sao","tome","principe","flag","nation","country","banner"],char:'🇸🇹',fitzpatrick_scale:false,category:"flags"},saudi_arabia:{keywords:["flag","nation","country","banner"],char:'🇸🇦',fitzpatrick_scale:false,category:"flags"},senegal:{keywords:["sn","flag","nation","country","banner"],char:'🇸🇳',fitzpatrick_scale:false,category:"flags"},serbia:{keywords:["rs","flag","nation","country","banner"],char:'🇷🇸',fitzpatrick_scale:false,category:"flags"},seychelles:{keywords:["sc","flag","nation","country","banner"],char:'🇸🇨',fitzpatrick_scale:false,category:"flags"},sierra_leone:{keywords:["sierra","leone","flag","nation","country","banner"],char:'🇸🇱',fitzpatrick_scale:false,category:"flags"},singapore:{keywords:["sg","flag","nation","country","banner"],char:'🇸🇬',fitzpatrick_scale:false,category:"flags"},sint_maarten:{keywords:["sint","maarten","dutch","flag","nation","country","banner"],char:'🇸🇽',fitzpatrick_scale:false,category:"flags"},slovakia:{keywords:["sk","flag","nation","country","banner"],char:'🇸🇰',fitzpatrick_scale:false,category:"flags"},slovenia:{keywords:["si","flag","nation","country","banner"],char:'🇸🇮',fitzpatrick_scale:false,category:"flags"},solomon_islands:{keywords:["solomon","islands","flag","nation","country","banner"],char:'🇸🇧',fitzpatrick_scale:false,category:"flags"},somalia:{keywords:["so","flag","nation","country","banner"],char:'🇸🇴',fitzpatrick_scale:false,category:"flags"},south_africa:{keywords:["south","africa","flag","nation","country","banner"],char:'🇿🇦',fitzpatrick_scale:false,category:"flags"},south_georgia_south_sandwich_islands:{keywords:["south","georgia","sandwich","islands","flag","nation","country","banner"],char:'🇬🇸',fitzpatrick_scale:false,category:"flags"},kr:{keywords:["south","korea","nation","flag","country","banner"],char:'🇰🇷',fitzpatrick_scale:false,category:"flags"},south_sudan:{keywords:["south","sd","flag","nation","country","banner"],char:'🇸🇸',fitzpatrick_scale:false,category:"flags"},es:{keywords:["spain","flag","nation","country","banner"],char:'🇪🇸',fitzpatrick_scale:false,category:"flags"},sri_lanka:{keywords:["sri","lanka","flag","nation","country","banner"],char:'🇱🇰',fitzpatrick_scale:false,category:"flags"},sudan:{keywords:["sd","flag","nation","country","banner"],char:'🇸🇩',fitzpatrick_scale:false,category:"flags"},suriname:{keywords:["sr","flag","nation","country","banner"],char:'🇸🇷',fitzpatrick_scale:false,category:"flags"},swaziland:{keywords:["sz","flag","nation","country","banner"],char:'🇸🇿',fitzpatrick_scale:false,category:"flags"},sweden:{keywords:["se","flag","nation","country","banner"],char:'🇸🇪',fitzpatrick_scale:false,category:"flags"},switzerland:{keywords:["ch","flag","nation","country","banner"],char:'🇨🇭',fitzpatrick_scale:false,category:"flags"},syria:{keywords:["syrian","arab","republic","flag","nation","country","banner"],char:'🇸🇾',fitzpatrick_scale:false,category:"flags"},taiwan:{keywords:["tw","flag","nation","country","banner"],char:'🇹🇼',fitzpatrick_scale:false,category:"flags"},tajikistan:{keywords:["tj","flag","nation","country","banner"],char:'🇹🇯',fitzpatrick_scale:false,category:"flags"},tanzania:{keywords:["tanzania,","united","republic","flag","nation","country","banner"],char:'🇹🇿',fitzpatrick_scale:false,category:"flags"},thailand:{keywords:["th","flag","nation","country","banner"],char:'🇹🇭',fitzpatrick_scale:false,category:"flags"},timor_leste:{keywords:["timor","leste","flag","nation","country","banner"],char:'🇹🇱',fitzpatrick_scale:false,category:"flags"},togo:{keywords:["tg","flag","nation","country","banner"],char:'🇹🇬',fitzpatrick_scale:false,category:"flags"},tokelau:{keywords:["tk","flag","nation","country","banner"],char:'🇹🇰',fitzpatrick_scale:false,category:"flags"},tonga:{keywords:["to","flag","nation","country","banner"],char:'🇹🇴',fitzpatrick_scale:false,category:"flags"},trinidad_tobago:{keywords:["trinidad","tobago","flag","nation","country","banner"],char:'🇹🇹',fitzpatrick_scale:false,category:"flags"},tunisia:{keywords:["tn","flag","nation","country","banner"],char:'🇹🇳',fitzpatrick_scale:false,category:"flags"},tr:{keywords:["turkey","flag","nation","country","banner"],char:'🇹🇷',fitzpatrick_scale:false,category:"flags"},turkmenistan:{keywords:["flag","nation","country","banner"],char:'🇹🇲',fitzpatrick_scale:false,category:"flags"},turks_caicos_islands:{keywords:["turks","caicos","islands","flag","nation","country","banner"],char:'🇹🇨',fitzpatrick_scale:false,category:"flags"},tuvalu:{keywords:["flag","nation","country","banner"],char:'🇹🇻',fitzpatrick_scale:false,category:"flags"},uganda:{keywords:["ug","flag","nation","country","banner"],char:'🇺🇬',fitzpatrick_scale:false,category:"flags"},ukraine:{keywords:["ua","flag","nation","country","banner"],char:'🇺🇦',fitzpatrick_scale:false,category:"flags"},united_arab_emirates:{keywords:["united","arab","emirates","flag","nation","country","banner"],char:'🇦🇪',fitzpatrick_scale:false,category:"flags"},uk:{keywords:["united","kingdom","great","britain","northern","ireland","flag","nation","country","banner","british","UK","english","england","union jack"],char:'🇬🇧',fitzpatrick_scale:false,category:"flags"},england:{keywords:["flag","english"],char:'🏴󠁧󠁢󠁥󠁮󠁧󠁿',fitzpatrick_scale:false,category:"flags"},scotland:{keywords:["flag","scottish"],char:'🏴󠁧󠁢󠁳󠁣󠁴󠁿',fitzpatrick_scale:false,category:"flags"},wales:{keywords:["flag","welsh"],char:'🏴󠁧󠁢󠁷󠁬󠁳󠁿',fitzpatrick_scale:false,category:"flags"},us:{keywords:["united","states","america","flag","nation","country","banner"],char:'🇺🇸',fitzpatrick_scale:false,category:"flags"},us_virgin_islands:{keywords:["virgin","islands","us","flag","nation","country","banner"],char:'🇻🇮',fitzpatrick_scale:false,category:"flags"},uruguay:{keywords:["uy","flag","nation","country","banner"],char:'🇺🇾',fitzpatrick_scale:false,category:"flags"},uzbekistan:{keywords:["uz","flag","nation","country","banner"],char:'🇺🇿',fitzpatrick_scale:false,category:"flags"},vanuatu:{keywords:["vu","flag","nation","country","banner"],char:'🇻🇺',fitzpatrick_scale:false,category:"flags"},vatican_city:{keywords:["vatican","city","flag","nation","country","banner"],char:'🇻🇦',fitzpatrick_scale:false,category:"flags"},venezuela:{keywords:["ve","bolivarian","republic","flag","nation","country","banner"],char:'🇻🇪',fitzpatrick_scale:false,category:"flags"},vietnam:{keywords:["viet","nam","flag","nation","country","banner"],char:'🇻🇳',fitzpatrick_scale:false,category:"flags"},wallis_futuna:{keywords:["wallis","futuna","flag","nation","country","banner"],char:'🇼🇫',fitzpatrick_scale:false,category:"flags"},western_sahara:{keywords:["western","sahara","flag","nation","country","banner"],char:'🇪🇭',fitzpatrick_scale:false,category:"flags"},yemen:{keywords:["ye","flag","nation","country","banner"],char:'🇾🇪',fitzpatrick_scale:false,category:"flags"},zambia:{keywords:["zm","flag","nation","country","banner"],char:'🇿🇲',fitzpatrick_scale:false,category:"flags"},zimbabwe:{keywords:["zw","flag","nation","country","banner"],char:'🇿🇼',fitzpatrick_scale:false,category:"flags"},united_nations:{keywords:["un","flag","banner"],char:'🇺🇳',fitzpatrick_scale:false,category:"flags"},pirate_flag:{keywords:["skull","crossbones","flag","banner"],char:'🏴‍☠️',fitzpatrick_scale:false,category:"flags"}}); \ No newline at end of file diff --git a/frontend/public/tinymce/plugins/emoticons/js/emojiimages.min.js b/frontend/public/tinymce/plugins/emoticons/js/emojiimages.min.js deleted file mode 100644 index 37f3bcf..0000000 --- a/frontend/public/tinymce/plugins/emoticons/js/emojiimages.min.js +++ /dev/null @@ -1,3 +0,0 @@ -// Source: npm package: emojilib -// Images provided by twemoji: https://github.com/twitter/twemoji -window.tinymce.Resource.add("tinymce.plugins.emoticons",{100:{keywords:["score","perfect","numbers","century","exam","quiz","test","pass","hundred"],char:'\u{1f4af}',fitzpatrick_scale:!1,category:"symbols"},1234:{keywords:["numbers","blue-square"],char:'\u{1f522}',fitzpatrick_scale:!1,category:"symbols"},grinning:{keywords:["face","smile","happy","joy",":D","grin"],char:'\u{1f600}',fitzpatrick_scale:!1,category:"people"},grimacing:{keywords:["face","grimace","teeth"],char:'\u{1f62c}',fitzpatrick_scale:!1,category:"people"},grin:{keywords:["face","happy","smile","joy","kawaii"],char:'\u{1f601}',fitzpatrick_scale:!1,category:"people"},joy:{keywords:["face","cry","tears","weep","happy","happytears","haha"],char:'\u{1f602}',fitzpatrick_scale:!1,category:"people"},rofl:{keywords:["face","rolling","floor","laughing","lol","haha"],char:'\u{1f923}',fitzpatrick_scale:!1,category:"people"},partying:{keywords:["face","celebration","woohoo"],char:'\u{1f973}',fitzpatrick_scale:!1,category:"people"},smiley:{keywords:["face","happy","joy","haha",":D",":)","smile","funny"],char:'\u{1f603}',fitzpatrick_scale:!1,category:"people"},smile:{keywords:["face","happy","joy","funny","haha","laugh","like",":D",":)"],char:'\u{1f604}',fitzpatrick_scale:!1,category:"people"},sweat_smile:{keywords:["face","hot","happy","laugh","sweat","smile","relief"],char:'\u{1f605}',fitzpatrick_scale:!1,category:"people"},laughing:{keywords:["happy","joy","lol","satisfied","haha","face","glad","XD","laugh"],char:'\u{1f606}',fitzpatrick_scale:!1,category:"people"},innocent:{keywords:["face","angel","heaven","halo"],char:'\u{1f607}',fitzpatrick_scale:!1,category:"people"},wink:{keywords:["face","happy","mischievous","secret",";)","smile","eye"],char:'\u{1f609}',fitzpatrick_scale:!1,category:"people"},blush:{keywords:["face","smile","happy","flushed","crush","embarrassed","shy","joy"],char:'\u{1f60a}',fitzpatrick_scale:!1,category:"people"},slightly_smiling_face:{keywords:["face","smile"],char:'\u{1f642}',fitzpatrick_scale:!1,category:"people"},upside_down_face:{keywords:["face","flipped","silly","smile"],char:'\u{1f643}',fitzpatrick_scale:!1,category:"people"},relaxed:{keywords:["face","blush","massage","happiness"],char:'\u263a\ufe0f',fitzpatrick_scale:!1,category:"people"},yum:{keywords:["happy","joy","tongue","smile","face","silly","yummy","nom","delicious","savouring"],char:'\u{1f60b}',fitzpatrick_scale:!1,category:"people"},relieved:{keywords:["face","relaxed","phew","massage","happiness"],char:'\u{1f60c}',fitzpatrick_scale:!1,category:"people"},heart_eyes:{keywords:["face","love","like","affection","valentines","infatuation","crush","heart"],char:'\u{1f60d}',fitzpatrick_scale:!1,category:"people"},smiling_face_with_three_hearts:{keywords:["face","love","like","affection","valentines","infatuation","crush","hearts","adore"],char:'\u{1f970}',fitzpatrick_scale:!1,category:"people"},kissing_heart:{keywords:["face","love","like","affection","valentines","infatuation","kiss"],char:'\u{1f618}',fitzpatrick_scale:!1,category:"people"},kissing:{keywords:["love","like","face","3","valentines","infatuation","kiss"],char:'\u{1f617}',fitzpatrick_scale:!1,category:"people"},kissing_smiling_eyes:{keywords:["face","affection","valentines","infatuation","kiss"],char:'\u{1f619}',fitzpatrick_scale:!1,category:"people"},kissing_closed_eyes:{keywords:["face","love","like","affection","valentines","infatuation","kiss"],char:'\u{1f61a}',fitzpatrick_scale:!1,category:"people"},stuck_out_tongue_winking_eye:{keywords:["face","prank","childish","playful","mischievous","smile","wink","tongue"],char:'\u{1f61c}',fitzpatrick_scale:!1,category:"people"},zany:{keywords:["face","goofy","crazy"],char:'\u{1f92a}',fitzpatrick_scale:!1,category:"people"},raised_eyebrow:{keywords:["face","distrust","scepticism","disapproval","disbelief","surprise"],char:'\u{1f928}',fitzpatrick_scale:!1,category:"people"},monocle:{keywords:["face","stuffy","wealthy"],char:'\u{1f9d0}',fitzpatrick_scale:!1,category:"people"},stuck_out_tongue_closed_eyes:{keywords:["face","prank","playful","mischievous","smile","tongue"],char:'\u{1f61d}',fitzpatrick_scale:!1,category:"people"},stuck_out_tongue:{keywords:["face","prank","childish","playful","mischievous","smile","tongue"],char:'\u{1f61b}',fitzpatrick_scale:!1,category:"people"},money_mouth_face:{keywords:["face","rich","dollar","money"],char:'\u{1f911}',fitzpatrick_scale:!1,category:"people"},nerd_face:{keywords:["face","nerdy","geek","dork"],char:'\u{1f913}',fitzpatrick_scale:!1,category:"people"},sunglasses:{keywords:["face","cool","smile","summer","beach","sunglass"],char:'\u{1f60e}',fitzpatrick_scale:!1,category:"people"},star_struck:{keywords:["face","smile","starry","eyes","grinning"],char:'\u{1f929}',fitzpatrick_scale:!1,category:"people"},clown_face:{keywords:["face"],char:'\u{1f921}',fitzpatrick_scale:!1,category:"people"},cowboy_hat_face:{keywords:["face","cowgirl","hat"],char:'\u{1f920}',fitzpatrick_scale:!1,category:"people"},hugs:{keywords:["face","smile","hug"],char:'\u{1f917}',fitzpatrick_scale:!1,category:"people"},smirk:{keywords:["face","smile","mean","prank","smug","sarcasm"],char:'\u{1f60f}',fitzpatrick_scale:!1,category:"people"},no_mouth:{keywords:["face","hellokitty"],char:'\u{1f636}',fitzpatrick_scale:!1,category:"people"},neutral_face:{keywords:["indifference","meh",":|","neutral"],char:'\u{1f610}',fitzpatrick_scale:!1,category:"people"},expressionless:{keywords:["face","indifferent","-_-","meh","deadpan"],char:'\u{1f611}',fitzpatrick_scale:!1,category:"people"},unamused:{keywords:["indifference","bored","straight face","serious","sarcasm","unimpressed","skeptical","dubious","side_eye"],char:'\u{1f612}',fitzpatrick_scale:!1,category:"people"},roll_eyes:{keywords:["face","eyeroll","frustrated"],char:'\u{1f644}',fitzpatrick_scale:!1,category:"people"},thinking:{keywords:["face","hmmm","think","consider"],char:'\u{1f914}',fitzpatrick_scale:!1,category:"people"},lying_face:{keywords:["face","lie","pinocchio"],char:'\u{1f925}',fitzpatrick_scale:!1,category:"people"},hand_over_mouth:{keywords:["face","whoops","shock","surprise"],char:'\u{1f92d}',fitzpatrick_scale:!1,category:"people"},shushing:{keywords:["face","quiet","shhh"],char:'\u{1f92b}',fitzpatrick_scale:!1,category:"people"},symbols_over_mouth:{keywords:["face","swearing","cursing","cussing","profanity","expletive"],char:'\u{1f92c}',fitzpatrick_scale:!1,category:"people"},exploding_head:{keywords:["face","shocked","mind","blown"],char:'\u{1f92f}',fitzpatrick_scale:!1,category:"people"},flushed:{keywords:["face","blush","shy","flattered"],char:'\u{1f633}',fitzpatrick_scale:!1,category:"people"},disappointed:{keywords:["face","sad","upset","depressed",":("],char:'\u{1f61e}',fitzpatrick_scale:!1,category:"people"},worried:{keywords:["face","concern","nervous",":("],char:'\u{1f61f}',fitzpatrick_scale:!1,category:"people"},angry:{keywords:["mad","face","annoyed","frustrated"],char:'\u{1f620}',fitzpatrick_scale:!1,category:"people"},rage:{keywords:["angry","mad","hate","despise"],char:'\u{1f621}',fitzpatrick_scale:!1,category:"people"},pensive:{keywords:["face","sad","depressed","upset"],char:'\u{1f614}',fitzpatrick_scale:!1,category:"people"},confused:{keywords:["face","indifference","huh","weird","hmmm",":/"],char:'\u{1f615}',fitzpatrick_scale:!1,category:"people"},slightly_frowning_face:{keywords:["face","frowning","disappointed","sad","upset"],char:'\u{1f641}',fitzpatrick_scale:!1,category:"people"},frowning_face:{keywords:["face","sad","upset","frown"],char:'\u2639',fitzpatrick_scale:!1,category:"people"},persevere:{keywords:["face","sick","no","upset","oops"],char:'\u{1f623}',fitzpatrick_scale:!1,category:"people"},confounded:{keywords:["face","confused","sick","unwell","oops",":S"],char:'\u{1f616}',fitzpatrick_scale:!1,category:"people"},tired_face:{keywords:["sick","whine","upset","frustrated"],char:'\u{1f62b}',fitzpatrick_scale:!1,category:"people"},weary:{keywords:["face","tired","sleepy","sad","frustrated","upset"],char:'\u{1f629}',fitzpatrick_scale:!1,category:"people"},pleading:{keywords:["face","begging","mercy"],char:'\u{1f97a}',fitzpatrick_scale:!1,category:"people"},triumph:{keywords:["face","gas","phew","proud","pride"],char:'\u{1f624}',fitzpatrick_scale:!1,category:"people"},open_mouth:{keywords:["face","surprise","impressed","wow","whoa",":O"],char:'\u{1f62e}',fitzpatrick_scale:!1,category:"people"},scream:{keywords:["face","munch","scared","omg"],char:'\u{1f631}',fitzpatrick_scale:!1,category:"people"},fearful:{keywords:["face","scared","terrified","nervous","oops","huh"],char:'\u{1f628}',fitzpatrick_scale:!1,category:"people"},cold_sweat:{keywords:["face","nervous","sweat"],char:'\u{1f630}',fitzpatrick_scale:!1,category:"people"},hushed:{keywords:["face","woo","shh"],char:'\u{1f62f}',fitzpatrick_scale:!1,category:"people"},frowning:{keywords:["face","aw","what"],char:'\u{1f626}',fitzpatrick_scale:!1,category:"people"},anguished:{keywords:["face","stunned","nervous"],char:'\u{1f627}',fitzpatrick_scale:!1,category:"people"},cry:{keywords:["face","tears","sad","depressed","upset",":'("],char:'\u{1f622}',fitzpatrick_scale:!1,category:"people"},disappointed_relieved:{keywords:["face","phew","sweat","nervous"],char:'\u{1f625}',fitzpatrick_scale:!1,category:"people"},drooling_face:{keywords:["face"],char:'\u{1f924}',fitzpatrick_scale:!1,category:"people"},sleepy:{keywords:["face","tired","rest","nap"],char:'\u{1f62a}',fitzpatrick_scale:!1,category:"people"},sweat:{keywords:["face","hot","sad","tired","exercise"],char:'\u{1f613}',fitzpatrick_scale:!1,category:"people"},hot:{keywords:["face","feverish","heat","red","sweating"],char:'\u{1f975}',fitzpatrick_scale:!1,category:"people"},cold:{keywords:["face","blue","freezing","frozen","frostbite","icicles"],char:'\u{1f976}',fitzpatrick_scale:!1,category:"people"},sob:{keywords:["face","cry","tears","sad","upset","depressed"],char:'\u{1f62d}',fitzpatrick_scale:!1,category:"people"},dizzy_face:{keywords:["spent","unconscious","xox","dizzy"],char:'\u{1f635}',fitzpatrick_scale:!1,category:"people"},astonished:{keywords:["face","xox","surprised","poisoned"],char:'\u{1f632}',fitzpatrick_scale:!1,category:"people"},zipper_mouth_face:{keywords:["face","sealed","zipper","secret"],char:'\u{1f910}',fitzpatrick_scale:!1,category:"people"},nauseated_face:{keywords:["face","vomit","gross","green","sick","throw up","ill"],char:'\u{1f922}',fitzpatrick_scale:!1,category:"people"},sneezing_face:{keywords:["face","gesundheit","sneeze","sick","allergy"],char:'\u{1f927}',fitzpatrick_scale:!1,category:"people"},vomiting:{keywords:["face","sick"],char:'\u{1f92e}',fitzpatrick_scale:!1,category:"people"},mask:{keywords:["face","sick","ill","disease"],char:'\u{1f637}',fitzpatrick_scale:!1,category:"people"},face_with_thermometer:{keywords:["sick","temperature","thermometer","cold","fever"],char:'\u{1f912}',fitzpatrick_scale:!1,category:"people"},face_with_head_bandage:{keywords:["injured","clumsy","bandage","hurt"],char:'\u{1f915}',fitzpatrick_scale:!1,category:"people"},woozy:{keywords:["face","dizzy","intoxicated","tipsy","wavy"],char:'\u{1f974}',fitzpatrick_scale:!1,category:"people"},sleeping:{keywords:["face","tired","sleepy","night","zzz"],char:'\u{1f634}',fitzpatrick_scale:!1,category:"people"},zzz:{keywords:["sleepy","tired","dream"],char:'\u{1f4a4}',fitzpatrick_scale:!1,category:"people"},poop:{keywords:["hankey","shitface","fail","turd","shit"],char:'\u{1f4a9}',fitzpatrick_scale:!1,category:"people"},smiling_imp:{keywords:["devil","horns"],char:'\u{1f608}',fitzpatrick_scale:!1,category:"people"},imp:{keywords:["devil","angry","horns"],char:'\u{1f47f}',fitzpatrick_scale:!1,category:"people"},japanese_ogre:{keywords:["monster","red","mask","halloween","scary","creepy","devil","demon","japanese","ogre"],char:'\u{1f479}',fitzpatrick_scale:!1,category:"people"},japanese_goblin:{keywords:["red","evil","mask","monster","scary","creepy","japanese","goblin"],char:'\u{1f47a}',fitzpatrick_scale:!1,category:"people"},skull:{keywords:["dead","skeleton","creepy","death"],char:'\u{1f480}',fitzpatrick_scale:!1,category:"people"},ghost:{keywords:["halloween","spooky","scary"],char:'\u{1f47b}',fitzpatrick_scale:!1,category:"people"},alien:{keywords:["UFO","paul","weird","outer_space"],char:'\u{1f47d}',fitzpatrick_scale:!1,category:"people"},robot:{keywords:["computer","machine","bot"],char:'\u{1f916}',fitzpatrick_scale:!1,category:"people"},smiley_cat:{keywords:["animal","cats","happy","smile"],char:'\u{1f63a}',fitzpatrick_scale:!1,category:"people"},smile_cat:{keywords:["animal","cats","smile"],char:'\u{1f638}',fitzpatrick_scale:!1,category:"people"},joy_cat:{keywords:["animal","cats","haha","happy","tears"],char:'\u{1f639}',fitzpatrick_scale:!1,category:"people"},heart_eyes_cat:{keywords:["animal","love","like","affection","cats","valentines","heart"],char:'\u{1f63b}',fitzpatrick_scale:!1,category:"people"},smirk_cat:{keywords:["animal","cats","smirk"],char:'\u{1f63c}',fitzpatrick_scale:!1,category:"people"},kissing_cat:{keywords:["animal","cats","kiss"],char:'\u{1f63d}',fitzpatrick_scale:!1,category:"people"},scream_cat:{keywords:["animal","cats","munch","scared","scream"],char:'\u{1f640}',fitzpatrick_scale:!1,category:"people"},crying_cat_face:{keywords:["animal","tears","weep","sad","cats","upset","cry"],char:'\u{1f63f}',fitzpatrick_scale:!1,category:"people"},pouting_cat:{keywords:["animal","cats"],char:'\u{1f63e}',fitzpatrick_scale:!1,category:"people"},palms_up:{keywords:["hands","gesture","cupped","prayer"],char:'\u{1f932}',fitzpatrick_scale:!0,category:"people"},raised_hands:{keywords:["gesture","hooray","yea","celebration","hands"],char:'\u{1f64c}',fitzpatrick_scale:!0,category:"people"},clap:{keywords:["hands","praise","applause","congrats","yay"],char:'\u{1f44f}',fitzpatrick_scale:!0,category:"people"},wave:{keywords:["hands","gesture","goodbye","solong","farewell","hello","hi","palm"],char:'\u{1f44b}',fitzpatrick_scale:!0,category:"people"},call_me_hand:{keywords:["hands","gesture"],char:'\u{1f919}',fitzpatrick_scale:!0,category:"people"},"+1":{keywords:["thumbsup","yes","awesome","good","agree","accept","cool","hand","like"],char:'\u{1f44d}',fitzpatrick_scale:!0,category:"people"},"-1":{keywords:["thumbsdown","no","dislike","hand"],char:'\u{1f44e}',fitzpatrick_scale:!0,category:"people"},facepunch:{keywords:["angry","violence","fist","hit","attack","hand"],char:'\u{1f44a}',fitzpatrick_scale:!0,category:"people"},fist:{keywords:["fingers","hand","grasp"],char:'\u270a',fitzpatrick_scale:!0,category:"people"},fist_left:{keywords:["hand","fistbump"],char:'\u{1f91b}',fitzpatrick_scale:!0,category:"people"},fist_right:{keywords:["hand","fistbump"],char:'\u{1f91c}',fitzpatrick_scale:!0,category:"people"},v:{keywords:["fingers","ohyeah","hand","peace","victory","two"],char:'\u270c',fitzpatrick_scale:!0,category:"people"},ok_hand:{keywords:["fingers","limbs","perfect","ok","okay"],char:'\u{1f44c}',fitzpatrick_scale:!0,category:"people"},raised_hand:{keywords:["fingers","stop","highfive","palm","ban"],char:'\u270b',fitzpatrick_scale:!0,category:"people"},raised_back_of_hand:{keywords:["fingers","raised","backhand"],char:'\u{1f91a}',fitzpatrick_scale:!0,category:"people"},open_hands:{keywords:["fingers","butterfly","hands","open"],char:'\u{1f450}',fitzpatrick_scale:!0,category:"people"},muscle:{keywords:["arm","flex","hand","summer","strong","biceps"],char:'\u{1f4aa}',fitzpatrick_scale:!0,category:"people"},pray:{keywords:["please","hope","wish","namaste","highfive"],char:'\u{1f64f}',fitzpatrick_scale:!0,category:"people"},foot:{keywords:["kick","stomp"],char:'\u{1f9b6}',fitzpatrick_scale:!0,category:"people"},leg:{keywords:["kick","limb"],char:'\u{1f9b5}',fitzpatrick_scale:!0,category:"people"},handshake:{keywords:["agreement","shake"],char:'\u{1f91d}',fitzpatrick_scale:!1,category:"people"},point_up:{keywords:["hand","fingers","direction","up"],char:'\u261d',fitzpatrick_scale:!0,category:"people"},point_up_2:{keywords:["fingers","hand","direction","up"],char:'\u{1f446}',fitzpatrick_scale:!0,category:"people"},point_down:{keywords:["fingers","hand","direction","down"],char:'\u{1f447}',fitzpatrick_scale:!0,category:"people"},point_left:{keywords:["direction","fingers","hand","left"],char:'\u{1f448}',fitzpatrick_scale:!0,category:"people"},point_right:{keywords:["fingers","hand","direction","right"],char:'\u{1f449}',fitzpatrick_scale:!0,category:"people"},fu:{keywords:["hand","fingers","rude","middle","flipping"],char:'\u{1f595}',fitzpatrick_scale:!0,category:"people"},raised_hand_with_fingers_splayed:{keywords:["hand","fingers","palm"],char:'\u{1f590}',fitzpatrick_scale:!0,category:"people"},love_you:{keywords:["hand","fingers","gesture"],char:'\u{1f91f}',fitzpatrick_scale:!0,category:"people"},metal:{keywords:["hand","fingers","evil_eye","sign_of_horns","rock_on"],char:'\u{1f918}',fitzpatrick_scale:!0,category:"people"},crossed_fingers:{keywords:["good","lucky"],char:'\u{1f91e}',fitzpatrick_scale:!0,category:"people"},vulcan_salute:{keywords:["hand","fingers","spock","star trek"],char:'\u{1f596}',fitzpatrick_scale:!0,category:"people"},writing_hand:{keywords:["lower_left_ballpoint_pen","stationery","write","compose"],char:'\u270d',fitzpatrick_scale:!0,category:"people"},selfie:{keywords:["camera","phone"],char:'\u{1f933}',fitzpatrick_scale:!0,category:"people"},nail_care:{keywords:["beauty","manicure","finger","fashion","nail"],char:'\u{1f485}',fitzpatrick_scale:!0,category:"people"},lips:{keywords:["mouth","kiss"],char:'\u{1f444}',fitzpatrick_scale:!1,category:"people"},tooth:{keywords:["teeth","dentist"],char:'\u{1f9b7}',fitzpatrick_scale:!1,category:"people"},tongue:{keywords:["mouth","playful"],char:'\u{1f445}',fitzpatrick_scale:!1,category:"people"},ear:{keywords:["face","hear","sound","listen"],char:'\u{1f442}',fitzpatrick_scale:!0,category:"people"},nose:{keywords:["smell","sniff"],char:'\u{1f443}',fitzpatrick_scale:!0,category:"people"},eye:{keywords:["face","look","see","watch","stare"],char:'\u{1f441}',fitzpatrick_scale:!1,category:"people"},eyes:{keywords:["look","watch","stalk","peek","see"],char:'\u{1f440}',fitzpatrick_scale:!1,category:"people"},brain:{keywords:["smart","intelligent"],char:'\u{1f9e0}',fitzpatrick_scale:!1,category:"people"},bust_in_silhouette:{keywords:["user","person","human"],char:'\u{1f464}',fitzpatrick_scale:!1,category:"people"},busts_in_silhouette:{keywords:["user","person","human","group","team"],char:'\u{1f465}',fitzpatrick_scale:!1,category:"people"},speaking_head:{keywords:["user","person","human","sing","say","talk"],char:'\u{1f5e3}',fitzpatrick_scale:!1,category:"people"},baby:{keywords:["child","boy","girl","toddler"],char:'\u{1f476}',fitzpatrick_scale:!0,category:"people"},child:{keywords:["gender-neutral","young"],char:'\u{1f9d2}',fitzpatrick_scale:!0,category:"people"},boy:{keywords:["man","male","guy","teenager"],char:'\u{1f466}',fitzpatrick_scale:!0,category:"people"},girl:{keywords:["female","woman","teenager"],char:'\u{1f467}',fitzpatrick_scale:!0,category:"people"},adult:{keywords:["gender-neutral","person"],char:'\u{1f9d1}',fitzpatrick_scale:!0,category:"people"},man:{keywords:["mustache","father","dad","guy","classy","sir","moustache"],char:'\u{1f468}',fitzpatrick_scale:!0,category:"people"},woman:{keywords:["female","girls","lady"],char:'\u{1f469}',fitzpatrick_scale:!0,category:"people"},blonde_woman:{keywords:["woman","female","girl","blonde","person"],char:'\u{1f471}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"people"},blonde_man:{keywords:["man","male","boy","blonde","guy","person"],char:'\u{1f471}',fitzpatrick_scale:!0,category:"people"},bearded_person:{keywords:["person","bewhiskered"],char:'\u{1f9d4}',fitzpatrick_scale:!0,category:"people"},older_adult:{keywords:["human","elder","senior","gender-neutral"],char:'\u{1f9d3}',fitzpatrick_scale:!0,category:"people"},older_man:{keywords:["human","male","men","old","elder","senior"],char:'\u{1f474}',fitzpatrick_scale:!0,category:"people"},older_woman:{keywords:["human","female","women","lady","old","elder","senior"],char:'\u{1f475}',fitzpatrick_scale:!0,category:"people"},man_with_gua_pi_mao:{keywords:["male","boy","chinese"],char:'\u{1f472}',fitzpatrick_scale:!0,category:"people"},woman_with_headscarf:{keywords:["female","hijab","mantilla","tichel"],char:'\u{1f9d5}',fitzpatrick_scale:!0,category:"people"},woman_with_turban:{keywords:["female","indian","hinduism","arabs","woman"],char:'\u{1f473}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"people"},man_with_turban:{keywords:["male","indian","hinduism","arabs"],char:'\u{1f473}',fitzpatrick_scale:!0,category:"people"},policewoman:{keywords:["woman","police","law","legal","enforcement","arrest","911","female"],char:'\u{1f46e}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"people"},policeman:{keywords:["man","police","law","legal","enforcement","arrest","911"],char:'\u{1f46e}',fitzpatrick_scale:!0,category:"people"},construction_worker_woman:{keywords:["female","human","wip","build","construction","worker","labor","woman"],char:'\u{1f477}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"people"},construction_worker_man:{keywords:["male","human","wip","guy","build","construction","worker","labor"],char:'\u{1f477}',fitzpatrick_scale:!0,category:"people"},guardswoman:{keywords:["uk","gb","british","female","royal","woman"],char:'\u{1f482}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"people"},guardsman:{keywords:["uk","gb","british","male","guy","royal"],char:'\u{1f482}',fitzpatrick_scale:!0,category:"people"},female_detective:{keywords:["human","spy","detective","female","woman"],char:'\u{1f575}\ufe0f\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"people"},male_detective:{keywords:["human","spy","detective"],char:'\u{1f575}',fitzpatrick_scale:!0,category:"people"},woman_health_worker:{keywords:["doctor","nurse","therapist","healthcare","woman","human"],char:'\u{1f469}\u200d\u2695\ufe0f',fitzpatrick_scale:!0,category:"people"},man_health_worker:{keywords:["doctor","nurse","therapist","healthcare","man","human"],char:'\u{1f468}\u200d\u2695\ufe0f',fitzpatrick_scale:!0,category:"people"},woman_farmer:{keywords:["rancher","gardener","woman","human"],char:'\u{1f469}\u200d\u{1f33e}',fitzpatrick_scale:!0,category:"people"},man_farmer:{keywords:["rancher","gardener","man","human"],char:'\u{1f468}\u200d\u{1f33e}',fitzpatrick_scale:!0,category:"people"},woman_cook:{keywords:["chef","woman","human"],char:'\u{1f469}\u200d\u{1f373}',fitzpatrick_scale:!0,category:"people"},man_cook:{keywords:["chef","man","human"],char:'\u{1f468}\u200d\u{1f373}',fitzpatrick_scale:!0,category:"people"},woman_student:{keywords:["graduate","woman","human"],char:'\u{1f469}\u200d\u{1f393}',fitzpatrick_scale:!0,category:"people"},man_student:{keywords:["graduate","man","human"],char:'\u{1f468}\u200d\u{1f393}',fitzpatrick_scale:!0,category:"people"},woman_singer:{keywords:["rockstar","entertainer","woman","human"],char:'\u{1f469}\u200d\u{1f3a4}',fitzpatrick_scale:!0,category:"people"},man_singer:{keywords:["rockstar","entertainer","man","human"],char:'\u{1f468}\u200d\u{1f3a4}',fitzpatrick_scale:!0,category:"people"},woman_teacher:{keywords:["instructor","professor","woman","human"],char:'\u{1f469}\u200d\u{1f3eb}',fitzpatrick_scale:!0,category:"people"},man_teacher:{keywords:["instructor","professor","man","human"],char:'\u{1f468}\u200d\u{1f3eb}',fitzpatrick_scale:!0,category:"people"},woman_factory_worker:{keywords:["assembly","industrial","woman","human"],char:'\u{1f469}\u200d\u{1f3ed}',fitzpatrick_scale:!0,category:"people"},man_factory_worker:{keywords:["assembly","industrial","man","human"],char:'\u{1f468}\u200d\u{1f3ed}',fitzpatrick_scale:!0,category:"people"},woman_technologist:{keywords:["coder","developer","engineer","programmer","software","woman","human","laptop","computer"],char:'\u{1f469}\u200d\u{1f4bb}',fitzpatrick_scale:!0,category:"people"},man_technologist:{keywords:["coder","developer","engineer","programmer","software","man","human","laptop","computer"],char:'\u{1f468}\u200d\u{1f4bb}',fitzpatrick_scale:!0,category:"people"},woman_office_worker:{keywords:["business","manager","woman","human"],char:'\u{1f469}\u200d\u{1f4bc}',fitzpatrick_scale:!0,category:"people"},man_office_worker:{keywords:["business","manager","man","human"],char:'\u{1f468}\u200d\u{1f4bc}',fitzpatrick_scale:!0,category:"people"},woman_mechanic:{keywords:["plumber","woman","human","wrench"],char:'\u{1f469}\u200d\u{1f527}',fitzpatrick_scale:!0,category:"people"},man_mechanic:{keywords:["plumber","man","human","wrench"],char:'\u{1f468}\u200d\u{1f527}',fitzpatrick_scale:!0,category:"people"},woman_scientist:{keywords:["biologist","chemist","engineer","physicist","woman","human"],char:'\u{1f469}\u200d\u{1f52c}',fitzpatrick_scale:!0,category:"people"},man_scientist:{keywords:["biologist","chemist","engineer","physicist","man","human"],char:'\u{1f468}\u200d\u{1f52c}',fitzpatrick_scale:!0,category:"people"},woman_artist:{keywords:["painter","woman","human"],char:'\u{1f469}\u200d\u{1f3a8}',fitzpatrick_scale:!0,category:"people"},man_artist:{keywords:["painter","man","human"],char:'\u{1f468}\u200d\u{1f3a8}',fitzpatrick_scale:!0,category:"people"},woman_firefighter:{keywords:["fireman","woman","human"],char:'\u{1f469}\u200d\u{1f692}',fitzpatrick_scale:!0,category:"people"},man_firefighter:{keywords:["fireman","man","human"],char:'\u{1f468}\u200d\u{1f692}',fitzpatrick_scale:!0,category:"people"},woman_pilot:{keywords:["aviator","plane","woman","human"],char:'\u{1f469}\u200d\u2708\ufe0f',fitzpatrick_scale:!0,category:"people"},man_pilot:{keywords:["aviator","plane","man","human"],char:'\u{1f468}\u200d\u2708\ufe0f',fitzpatrick_scale:!0,category:"people"},woman_astronaut:{keywords:["space","rocket","woman","human"],char:'\u{1f469}\u200d\u{1f680}',fitzpatrick_scale:!0,category:"people"},man_astronaut:{keywords:["space","rocket","man","human"],char:'\u{1f468}\u200d\u{1f680}',fitzpatrick_scale:!0,category:"people"},woman_judge:{keywords:["justice","court","woman","human"],char:'\u{1f469}\u200d\u2696\ufe0f',fitzpatrick_scale:!0,category:"people"},man_judge:{keywords:["justice","court","man","human"],char:'\u{1f468}\u200d\u2696\ufe0f',fitzpatrick_scale:!0,category:"people"},woman_superhero:{keywords:["woman","female","good","heroine","superpowers"],char:'\u{1f9b8}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"people"},man_superhero:{keywords:["man","male","good","hero","superpowers"],char:'\u{1f9b8}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"people"},woman_supervillain:{keywords:["woman","female","evil","bad","criminal","heroine","superpowers"],char:'\u{1f9b9}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"people"},man_supervillain:{keywords:["man","male","evil","bad","criminal","hero","superpowers"],char:'\u{1f9b9}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"people"},mrs_claus:{keywords:["woman","female","xmas","mother christmas"],char:'\u{1f936}',fitzpatrick_scale:!0,category:"people"},santa:{keywords:["festival","man","male","xmas","father christmas"],char:'\u{1f385}',fitzpatrick_scale:!0,category:"people"},sorceress:{keywords:["woman","female","mage","witch"],char:'\u{1f9d9}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"people"},wizard:{keywords:["man","male","mage","sorcerer"],char:'\u{1f9d9}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"people"},woman_elf:{keywords:["woman","female"],char:'\u{1f9dd}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"people"},man_elf:{keywords:["man","male"],char:'\u{1f9dd}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"people"},woman_vampire:{keywords:["woman","female"],char:'\u{1f9db}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"people"},man_vampire:{keywords:["man","male","dracula"],char:'\u{1f9db}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"people"},woman_zombie:{keywords:["woman","female","undead","walking dead"],char:'\u{1f9df}\u200d\u2640\ufe0f',fitzpatrick_scale:!1,category:"people"},man_zombie:{keywords:["man","male","dracula","undead","walking dead"],char:'\u{1f9df}\u200d\u2642\ufe0f',fitzpatrick_scale:!1,category:"people"},woman_genie:{keywords:["woman","female"],char:'\u{1f9de}\u200d\u2640\ufe0f',fitzpatrick_scale:!1,category:"people"},man_genie:{keywords:["man","male"],char:'\u{1f9de}\u200d\u2642\ufe0f',fitzpatrick_scale:!1,category:"people"},mermaid:{keywords:["woman","female","merwoman","ariel"],char:'\u{1f9dc}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"people"},merman:{keywords:["man","male","triton"],char:'\u{1f9dc}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"people"},woman_fairy:{keywords:["woman","female"],char:'\u{1f9da}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"people"},man_fairy:{keywords:["man","male"],char:'\u{1f9da}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"people"},angel:{keywords:["heaven","wings","halo"],char:'\u{1f47c}',fitzpatrick_scale:!0,category:"people"},pregnant_woman:{keywords:["baby"],char:'\u{1f930}',fitzpatrick_scale:!0,category:"people"},breastfeeding:{keywords:["nursing","baby"],char:'\u{1f931}',fitzpatrick_scale:!0,category:"people"},princess:{keywords:["girl","woman","female","blond","crown","royal","queen"],char:'\u{1f478}',fitzpatrick_scale:!0,category:"people"},prince:{keywords:["boy","man","male","crown","royal","king"],char:'\u{1f934}',fitzpatrick_scale:!0,category:"people"},bride_with_veil:{keywords:["couple","marriage","wedding","woman","bride"],char:'\u{1f470}',fitzpatrick_scale:!0,category:"people"},man_in_tuxedo:{keywords:["couple","marriage","wedding","groom"],char:'\u{1f935}',fitzpatrick_scale:!0,category:"people"},running_woman:{keywords:["woman","walking","exercise","race","running","female"],char:'\u{1f3c3}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"people"},running_man:{keywords:["man","walking","exercise","race","running"],char:'\u{1f3c3}',fitzpatrick_scale:!0,category:"people"},walking_woman:{keywords:["human","feet","steps","woman","female"],char:'\u{1f6b6}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"people"},walking_man:{keywords:["human","feet","steps"],char:'\u{1f6b6}',fitzpatrick_scale:!0,category:"people"},dancer:{keywords:["female","girl","woman","fun"],char:'\u{1f483}',fitzpatrick_scale:!0,category:"people"},man_dancing:{keywords:["male","boy","fun","dancer"],char:'\u{1f57a}',fitzpatrick_scale:!0,category:"people"},dancing_women:{keywords:["female","bunny","women","girls"],char:'\u{1f46f}',fitzpatrick_scale:!1,category:"people"},dancing_men:{keywords:["male","bunny","men","boys"],char:'\u{1f46f}\u200d\u2642\ufe0f',fitzpatrick_scale:!1,category:"people"},couple:{keywords:["pair","people","human","love","date","dating","like","affection","valentines","marriage"],char:'\u{1f46b}',fitzpatrick_scale:!1,category:"people"},two_men_holding_hands:{keywords:["pair","couple","love","like","bromance","friendship","people","human"],char:'\u{1f46c}',fitzpatrick_scale:!1,category:"people"},two_women_holding_hands:{keywords:["pair","friendship","couple","love","like","female","people","human"],char:'\u{1f46d}',fitzpatrick_scale:!1,category:"people"},bowing_woman:{keywords:["woman","female","girl"],char:'\u{1f647}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"people"},bowing_man:{keywords:["man","male","boy"],char:'\u{1f647}',fitzpatrick_scale:!0,category:"people"},man_facepalming:{keywords:["man","male","boy","disbelief"],char:'\u{1f926}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"people"},woman_facepalming:{keywords:["woman","female","girl","disbelief"],char:'\u{1f926}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"people"},woman_shrugging:{keywords:["woman","female","girl","confused","indifferent","doubt"],char:'\u{1f937}',fitzpatrick_scale:!0,category:"people"},man_shrugging:{keywords:["man","male","boy","confused","indifferent","doubt"],char:'\u{1f937}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"people"},tipping_hand_woman:{keywords:["female","girl","woman","human","information"],char:'\u{1f481}',fitzpatrick_scale:!0,category:"people"},tipping_hand_man:{keywords:["male","boy","man","human","information"],char:'\u{1f481}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"people"},no_good_woman:{keywords:["female","girl","woman","nope"],char:'\u{1f645}',fitzpatrick_scale:!0,category:"people"},no_good_man:{keywords:["male","boy","man","nope"],char:'\u{1f645}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"people"},ok_woman:{keywords:["women","girl","female","pink","human","woman"],char:'\u{1f646}',fitzpatrick_scale:!0,category:"people"},ok_man:{keywords:["men","boy","male","blue","human","man"],char:'\u{1f646}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"people"},raising_hand_woman:{keywords:["female","girl","woman"],char:'\u{1f64b}',fitzpatrick_scale:!0,category:"people"},raising_hand_man:{keywords:["male","boy","man"],char:'\u{1f64b}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"people"},pouting_woman:{keywords:["female","girl","woman"],char:'\u{1f64e}',fitzpatrick_scale:!0,category:"people"},pouting_man:{keywords:["male","boy","man"],char:'\u{1f64e}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"people"},frowning_woman:{keywords:["female","girl","woman","sad","depressed","discouraged","unhappy"],char:'\u{1f64d}',fitzpatrick_scale:!0,category:"people"},frowning_man:{keywords:["male","boy","man","sad","depressed","discouraged","unhappy"],char:'\u{1f64d}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"people"},haircut_woman:{keywords:["female","girl","woman"],char:'\u{1f487}',fitzpatrick_scale:!0,category:"people"},haircut_man:{keywords:["male","boy","man"],char:'\u{1f487}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"people"},massage_woman:{keywords:["female","girl","woman","head"],char:'\u{1f486}',fitzpatrick_scale:!0,category:"people"},massage_man:{keywords:["male","boy","man","head"],char:'\u{1f486}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"people"},woman_in_steamy_room:{keywords:["female","woman","spa","steamroom","sauna"],char:'\u{1f9d6}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"people"},man_in_steamy_room:{keywords:["male","man","spa","steamroom","sauna"],char:'\u{1f9d6}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"people"},couple_with_heart_woman_man:{keywords:["pair","love","like","affection","human","dating","valentines","marriage"],char:'\u{1f491}',fitzpatrick_scale:!1,category:"people"},couple_with_heart_woman_woman:{keywords:["pair","love","like","affection","human","dating","valentines","marriage"],char:'\u{1f469}\u200d\u2764\ufe0f\u200d\u{1f469}',fitzpatrick_scale:!1,category:"people"},couple_with_heart_man_man:{keywords:["pair","love","like","affection","human","dating","valentines","marriage"],char:'\u{1f468}\u200d\u2764\ufe0f\u200d\u{1f468}',fitzpatrick_scale:!1,category:"people"},couplekiss_man_woman:{keywords:["pair","valentines","love","like","dating","marriage"],char:'\u{1f48f}',fitzpatrick_scale:!1,category:"people"},couplekiss_woman_woman:{keywords:["pair","valentines","love","like","dating","marriage"],char:'\u{1f469}\u200d\u2764\ufe0f\u200d\u{1f48b}\u200d\u{1f469}',fitzpatrick_scale:!1,category:"people"},couplekiss_man_man:{keywords:["pair","valentines","love","like","dating","marriage"],char:'\u{1f468}\u200d\u2764\ufe0f\u200d\u{1f48b}\u200d\u{1f468}',fitzpatrick_scale:!1,category:"people"},family_man_woman_boy:{keywords:["home","parents","child","mom","dad","father","mother","people","human"],char:'\u{1f46a}',fitzpatrick_scale:!1,category:"people"},family_man_woman_girl:{keywords:["home","parents","people","human","child"],char:'\u{1f468}\u200d\u{1f469}\u200d\u{1f467}',fitzpatrick_scale:!1,category:"people"},family_man_woman_girl_boy:{keywords:["home","parents","people","human","children"],char:'\u{1f468}\u200d\u{1f469}\u200d\u{1f467}\u200d\u{1f466}',fitzpatrick_scale:!1,category:"people"},family_man_woman_boy_boy:{keywords:["home","parents","people","human","children"],char:'\u{1f468}\u200d\u{1f469}\u200d\u{1f466}\u200d\u{1f466}',fitzpatrick_scale:!1,category:"people"},family_man_woman_girl_girl:{keywords:["home","parents","people","human","children"],char:'\u{1f468}\u200d\u{1f469}\u200d\u{1f467}\u200d\u{1f467}',fitzpatrick_scale:!1,category:"people"},family_woman_woman_boy:{keywords:["home","parents","people","human","children"],char:'\u{1f469}\u200d\u{1f469}\u200d\u{1f466}',fitzpatrick_scale:!1,category:"people"},family_woman_woman_girl:{keywords:["home","parents","people","human","children"],char:'\u{1f469}\u200d\u{1f469}\u200d\u{1f467}',fitzpatrick_scale:!1,category:"people"},family_woman_woman_girl_boy:{keywords:["home","parents","people","human","children"],char:'\u{1f469}\u200d\u{1f469}\u200d\u{1f467}\u200d\u{1f466}',fitzpatrick_scale:!1,category:"people"},family_woman_woman_boy_boy:{keywords:["home","parents","people","human","children"],char:'\u{1f469}\u200d\u{1f469}\u200d\u{1f466}\u200d\u{1f466}',fitzpatrick_scale:!1,category:"people"},family_woman_woman_girl_girl:{keywords:["home","parents","people","human","children"],char:'\u{1f469}\u200d\u{1f469}\u200d\u{1f467}\u200d\u{1f467}',fitzpatrick_scale:!1,category:"people"},family_man_man_boy:{keywords:["home","parents","people","human","children"],char:'\u{1f468}\u200d\u{1f468}\u200d\u{1f466}',fitzpatrick_scale:!1,category:"people"},family_man_man_girl:{keywords:["home","parents","people","human","children"],char:'\u{1f468}\u200d\u{1f468}\u200d\u{1f467}',fitzpatrick_scale:!1,category:"people"},family_man_man_girl_boy:{keywords:["home","parents","people","human","children"],char:'\u{1f468}\u200d\u{1f468}\u200d\u{1f467}\u200d\u{1f466}',fitzpatrick_scale:!1,category:"people"},family_man_man_boy_boy:{keywords:["home","parents","people","human","children"],char:'\u{1f468}\u200d\u{1f468}\u200d\u{1f466}\u200d\u{1f466}',fitzpatrick_scale:!1,category:"people"},family_man_man_girl_girl:{keywords:["home","parents","people","human","children"],char:'\u{1f468}\u200d\u{1f468}\u200d\u{1f467}\u200d\u{1f467}',fitzpatrick_scale:!1,category:"people"},family_woman_boy:{keywords:["home","parent","people","human","child"],char:'\u{1f469}\u200d\u{1f466}',fitzpatrick_scale:!1,category:"people"},family_woman_girl:{keywords:["home","parent","people","human","child"],char:'\u{1f469}\u200d\u{1f467}',fitzpatrick_scale:!1,category:"people"},family_woman_girl_boy:{keywords:["home","parent","people","human","children"],char:'\u{1f469}\u200d\u{1f467}\u200d\u{1f466}',fitzpatrick_scale:!1,category:"people"},family_woman_boy_boy:{keywords:["home","parent","people","human","children"],char:'\u{1f469}\u200d\u{1f466}\u200d\u{1f466}',fitzpatrick_scale:!1,category:"people"},family_woman_girl_girl:{keywords:["home","parent","people","human","children"],char:'\u{1f469}\u200d\u{1f467}\u200d\u{1f467}',fitzpatrick_scale:!1,category:"people"},family_man_boy:{keywords:["home","parent","people","human","child"],char:'\u{1f468}\u200d\u{1f466}',fitzpatrick_scale:!1,category:"people"},family_man_girl:{keywords:["home","parent","people","human","child"],char:'\u{1f468}\u200d\u{1f467}',fitzpatrick_scale:!1,category:"people"},family_man_girl_boy:{keywords:["home","parent","people","human","children"],char:'\u{1f468}\u200d\u{1f467}\u200d\u{1f466}',fitzpatrick_scale:!1,category:"people"},family_man_boy_boy:{keywords:["home","parent","people","human","children"],char:'\u{1f468}\u200d\u{1f466}\u200d\u{1f466}',fitzpatrick_scale:!1,category:"people"},family_man_girl_girl:{keywords:["home","parent","people","human","children"],char:'\u{1f468}\u200d\u{1f467}\u200d\u{1f467}',fitzpatrick_scale:!1,category:"people"},yarn:{keywords:["ball","crochet","knit"],char:'\u{1f9f6}',fitzpatrick_scale:!1,category:"people"},thread:{keywords:["needle","sewing","spool","string"],char:'\u{1f9f5}',fitzpatrick_scale:!1,category:"people"},coat:{keywords:["jacket"],char:'\u{1f9e5}',fitzpatrick_scale:!1,category:"people"},labcoat:{keywords:["doctor","experiment","scientist","chemist"],char:'\u{1f97c}',fitzpatrick_scale:!1,category:"people"},womans_clothes:{keywords:["fashion","shopping_bags","female"],char:'\u{1f45a}',fitzpatrick_scale:!1,category:"people"},tshirt:{keywords:["fashion","cloth","casual","shirt","tee"],char:'\u{1f455}',fitzpatrick_scale:!1,category:"people"},jeans:{keywords:["fashion","shopping"],char:'\u{1f456}',fitzpatrick_scale:!1,category:"people"},necktie:{keywords:["shirt","suitup","formal","fashion","cloth","business"],char:'\u{1f454}',fitzpatrick_scale:!1,category:"people"},dress:{keywords:["clothes","fashion","shopping"],char:'\u{1f457}',fitzpatrick_scale:!1,category:"people"},bikini:{keywords:["swimming","female","woman","girl","fashion","beach","summer"],char:'\u{1f459}',fitzpatrick_scale:!1,category:"people"},kimono:{keywords:["dress","fashion","women","female","japanese"],char:'\u{1f458}',fitzpatrick_scale:!1,category:"people"},lipstick:{keywords:["female","girl","fashion","woman"],char:'\u{1f484}',fitzpatrick_scale:!1,category:"people"},kiss:{keywords:["face","lips","love","like","affection","valentines"],char:'\u{1f48b}',fitzpatrick_scale:!1,category:"people"},footprints:{keywords:["feet","tracking","walking","beach"],char:'\u{1f463}',fitzpatrick_scale:!1,category:"people"},flat_shoe:{keywords:["ballet","slip-on","slipper"],char:'\u{1f97f}',fitzpatrick_scale:!1,category:"people"},high_heel:{keywords:["fashion","shoes","female","pumps","stiletto"],char:'\u{1f460}',fitzpatrick_scale:!1,category:"people"},sandal:{keywords:["shoes","fashion","flip flops"],char:'\u{1f461}',fitzpatrick_scale:!1,category:"people"},boot:{keywords:["shoes","fashion"],char:'\u{1f462}',fitzpatrick_scale:!1,category:"people"},mans_shoe:{keywords:["fashion","male"],char:'\u{1f45e}',fitzpatrick_scale:!1,category:"people"},athletic_shoe:{keywords:["shoes","sports","sneakers"],char:'\u{1f45f}',fitzpatrick_scale:!1,category:"people"},hiking_boot:{keywords:["backpacking","camping","hiking"],char:'\u{1f97e}',fitzpatrick_scale:!1,category:"people"},socks:{keywords:["stockings","clothes"],char:'\u{1f9e6}',fitzpatrick_scale:!1,category:"people"},gloves:{keywords:["hands","winter","clothes"],char:'\u{1f9e4}',fitzpatrick_scale:!1,category:"people"},scarf:{keywords:["neck","winter","clothes"],char:'\u{1f9e3}',fitzpatrick_scale:!1,category:"people"},womans_hat:{keywords:["fashion","accessories","female","lady","spring"],char:'\u{1f452}',fitzpatrick_scale:!1,category:"people"},tophat:{keywords:["magic","gentleman","classy","circus"],char:'\u{1f3a9}',fitzpatrick_scale:!1,category:"people"},billed_hat:{keywords:["cap","baseball"],char:'\u{1f9e2}',fitzpatrick_scale:!1,category:"people"},rescue_worker_helmet:{keywords:["construction","build"],char:'\u26d1',fitzpatrick_scale:!1,category:"people"},mortar_board:{keywords:["school","college","degree","university","graduation","cap","hat","legal","learn","education"],char:'\u{1f393}',fitzpatrick_scale:!1,category:"people"},crown:{keywords:["king","kod","leader","royalty","lord"],char:'\u{1f451}',fitzpatrick_scale:!1,category:"people"},school_satchel:{keywords:["student","education","bag","backpack"],char:'\u{1f392}',fitzpatrick_scale:!1,category:"people"},luggage:{keywords:["packing","travel"],char:'\u{1f9f3}',fitzpatrick_scale:!1,category:"people"},pouch:{keywords:["bag","accessories","shopping"],char:'\u{1f45d}',fitzpatrick_scale:!1,category:"people"},purse:{keywords:["fashion","accessories","money","sales","shopping"],char:'\u{1f45b}',fitzpatrick_scale:!1,category:"people"},handbag:{keywords:["fashion","accessory","accessories","shopping"],char:'\u{1f45c}',fitzpatrick_scale:!1,category:"people"},briefcase:{keywords:["business","documents","work","law","legal","job","career"],char:'\u{1f4bc}',fitzpatrick_scale:!1,category:"people"},eyeglasses:{keywords:["fashion","accessories","eyesight","nerdy","dork","geek"],char:'\u{1f453}',fitzpatrick_scale:!1,category:"people"},dark_sunglasses:{keywords:["face","cool","accessories"],char:'\u{1f576}',fitzpatrick_scale:!1,category:"people"},goggles:{keywords:["eyes","protection","safety"],char:'\u{1f97d}',fitzpatrick_scale:!1,category:"people"},ring:{keywords:["wedding","propose","marriage","valentines","diamond","fashion","jewelry","gem","engagement"],char:'\u{1f48d}',fitzpatrick_scale:!1,category:"people"},closed_umbrella:{keywords:["weather","rain","drizzle"],char:'\u{1f302}',fitzpatrick_scale:!1,category:"people"},dog:{keywords:["animal","friend","nature","woof","puppy","pet","faithful"],char:'\u{1f436}',fitzpatrick_scale:!1,category:"animals_and_nature"},cat:{keywords:["animal","meow","nature","pet","kitten"],char:'\u{1f431}',fitzpatrick_scale:!1,category:"animals_and_nature"},mouse:{keywords:["animal","nature","cheese_wedge","rodent"],char:'\u{1f42d}',fitzpatrick_scale:!1,category:"animals_and_nature"},hamster:{keywords:["animal","nature"],char:'\u{1f439}',fitzpatrick_scale:!1,category:"animals_and_nature"},rabbit:{keywords:["animal","nature","pet","spring","magic","bunny"],char:'\u{1f430}',fitzpatrick_scale:!1,category:"animals_and_nature"},fox_face:{keywords:["animal","nature","face"],char:'\u{1f98a}',fitzpatrick_scale:!1,category:"animals_and_nature"},bear:{keywords:["animal","nature","wild"],char:'\u{1f43b}',fitzpatrick_scale:!1,category:"animals_and_nature"},panda_face:{keywords:["animal","nature","panda"],char:'\u{1f43c}',fitzpatrick_scale:!1,category:"animals_and_nature"},koala:{keywords:["animal","nature"],char:'\u{1f428}',fitzpatrick_scale:!1,category:"animals_and_nature"},tiger:{keywords:["animal","cat","danger","wild","nature","roar"],char:'\u{1f42f}',fitzpatrick_scale:!1,category:"animals_and_nature"},lion:{keywords:["animal","nature"],char:'\u{1f981}',fitzpatrick_scale:!1,category:"animals_and_nature"},cow:{keywords:["beef","ox","animal","nature","moo","milk"],char:'\u{1f42e}',fitzpatrick_scale:!1,category:"animals_and_nature"},pig:{keywords:["animal","oink","nature"],char:'\u{1f437}',fitzpatrick_scale:!1,category:"animals_and_nature"},pig_nose:{keywords:["animal","oink"],char:'\u{1f43d}',fitzpatrick_scale:!1,category:"animals_and_nature"},frog:{keywords:["animal","nature","croak","toad"],char:'\u{1f438}',fitzpatrick_scale:!1,category:"animals_and_nature"},squid:{keywords:["animal","nature","ocean","sea"],char:'\u{1f991}',fitzpatrick_scale:!1,category:"animals_and_nature"},octopus:{keywords:["animal","creature","ocean","sea","nature","beach"],char:'\u{1f419}',fitzpatrick_scale:!1,category:"animals_and_nature"},shrimp:{keywords:["animal","ocean","nature","seafood"],char:'\u{1f990}',fitzpatrick_scale:!1,category:"animals_and_nature"},monkey_face:{keywords:["animal","nature","circus"],char:'\u{1f435}',fitzpatrick_scale:!1,category:"animals_and_nature"},gorilla:{keywords:["animal","nature","circus"],char:'\u{1f98d}',fitzpatrick_scale:!1,category:"animals_and_nature"},see_no_evil:{keywords:["monkey","animal","nature","haha"],char:'\u{1f648}',fitzpatrick_scale:!1,category:"animals_and_nature"},hear_no_evil:{keywords:["animal","monkey","nature"],char:'\u{1f649}',fitzpatrick_scale:!1,category:"animals_and_nature"},speak_no_evil:{keywords:["monkey","animal","nature","omg"],char:'\u{1f64a}',fitzpatrick_scale:!1,category:"animals_and_nature"},monkey:{keywords:["animal","nature","banana","circus"],char:'\u{1f412}',fitzpatrick_scale:!1,category:"animals_and_nature"},chicken:{keywords:["animal","cluck","nature","bird"],char:'\u{1f414}',fitzpatrick_scale:!1,category:"animals_and_nature"},penguin:{keywords:["animal","nature"],char:'\u{1f427}',fitzpatrick_scale:!1,category:"animals_and_nature"},bird:{keywords:["animal","nature","fly","tweet","spring"],char:'\u{1f426}',fitzpatrick_scale:!1,category:"animals_and_nature"},baby_chick:{keywords:["animal","chicken","bird"],char:'\u{1f424}',fitzpatrick_scale:!1,category:"animals_and_nature"},hatching_chick:{keywords:["animal","chicken","egg","born","baby","bird"],char:'\u{1f423}',fitzpatrick_scale:!1,category:"animals_and_nature"},hatched_chick:{keywords:["animal","chicken","baby","bird"],char:'\u{1f425}',fitzpatrick_scale:!1,category:"animals_and_nature"},duck:{keywords:["animal","nature","bird","mallard"],char:'\u{1f986}',fitzpatrick_scale:!1,category:"animals_and_nature"},eagle:{keywords:["animal","nature","bird"],char:'\u{1f985}',fitzpatrick_scale:!1,category:"animals_and_nature"},owl:{keywords:["animal","nature","bird","hoot"],char:'\u{1f989}',fitzpatrick_scale:!1,category:"animals_and_nature"},bat:{keywords:["animal","nature","blind","vampire"],char:'\u{1f987}',fitzpatrick_scale:!1,category:"animals_and_nature"},wolf:{keywords:["animal","nature","wild"],char:'\u{1f43a}',fitzpatrick_scale:!1,category:"animals_and_nature"},boar:{keywords:["animal","nature"],char:'\u{1f417}',fitzpatrick_scale:!1,category:"animals_and_nature"},horse:{keywords:["animal","brown","nature"],char:'\u{1f434}',fitzpatrick_scale:!1,category:"animals_and_nature"},unicorn:{keywords:["animal","nature","mystical"],char:'\u{1f984}',fitzpatrick_scale:!1,category:"animals_and_nature"},honeybee:{keywords:["animal","insect","nature","bug","spring","honey"],char:'\u{1f41d}',fitzpatrick_scale:!1,category:"animals_and_nature"},bug:{keywords:["animal","insect","nature","worm"],char:'\u{1f41b}',fitzpatrick_scale:!1,category:"animals_and_nature"},butterfly:{keywords:["animal","insect","nature","caterpillar"],char:'\u{1f98b}',fitzpatrick_scale:!1,category:"animals_and_nature"},snail:{keywords:["slow","animal","shell"],char:'\u{1f40c}',fitzpatrick_scale:!1,category:"animals_and_nature"},beetle:{keywords:["animal","insect","nature","ladybug"],char:'\u{1f41e}',fitzpatrick_scale:!1,category:"animals_and_nature"},ant:{keywords:["animal","insect","nature","bug"],char:'\u{1f41c}',fitzpatrick_scale:!1,category:"animals_and_nature"},grasshopper:{keywords:["animal","cricket","chirp"],char:'\u{1f997}',fitzpatrick_scale:!1,category:"animals_and_nature"},spider:{keywords:["animal","arachnid"],char:'\u{1f577}',fitzpatrick_scale:!1,category:"animals_and_nature"},scorpion:{keywords:["animal","arachnid"],char:'\u{1f982}',fitzpatrick_scale:!1,category:"animals_and_nature"},crab:{keywords:["animal","crustacean"],char:'\u{1f980}',fitzpatrick_scale:!1,category:"animals_and_nature"},snake:{keywords:["animal","evil","nature","hiss","python"],char:'\u{1f40d}',fitzpatrick_scale:!1,category:"animals_and_nature"},lizard:{keywords:["animal","nature","reptile"],char:'\u{1f98e}',fitzpatrick_scale:!1,category:"animals_and_nature"},"t-rex":{keywords:["animal","nature","dinosaur","tyrannosaurus","extinct"],char:'\u{1f996}',fitzpatrick_scale:!1,category:"animals_and_nature"},sauropod:{keywords:["animal","nature","dinosaur","brachiosaurus","brontosaurus","diplodocus","extinct"],char:'\u{1f995}',fitzpatrick_scale:!1,category:"animals_and_nature"},turtle:{keywords:["animal","slow","nature","tortoise"],char:'\u{1f422}',fitzpatrick_scale:!1,category:"animals_and_nature"},tropical_fish:{keywords:["animal","swim","ocean","beach","nemo"],char:'\u{1f420}',fitzpatrick_scale:!1,category:"animals_and_nature"},fish:{keywords:["animal","food","nature"],char:'\u{1f41f}',fitzpatrick_scale:!1,category:"animals_and_nature"},blowfish:{keywords:["animal","nature","food","sea","ocean"],char:'\u{1f421}',fitzpatrick_scale:!1,category:"animals_and_nature"},dolphin:{keywords:["animal","nature","fish","sea","ocean","flipper","fins","beach"],char:'\u{1f42c}',fitzpatrick_scale:!1,category:"animals_and_nature"},shark:{keywords:["animal","nature","fish","sea","ocean","jaws","fins","beach"],char:'\u{1f988}',fitzpatrick_scale:!1,category:"animals_and_nature"},whale:{keywords:["animal","nature","sea","ocean"],char:'\u{1f433}',fitzpatrick_scale:!1,category:"animals_and_nature"},whale2:{keywords:["animal","nature","sea","ocean"],char:'\u{1f40b}',fitzpatrick_scale:!1,category:"animals_and_nature"},crocodile:{keywords:["animal","nature","reptile","lizard","alligator"],char:'\u{1f40a}',fitzpatrick_scale:!1,category:"animals_and_nature"},leopard:{keywords:["animal","nature"],char:'\u{1f406}',fitzpatrick_scale:!1,category:"animals_and_nature"},zebra:{keywords:["animal","nature","stripes","safari"],char:'\u{1f993}',fitzpatrick_scale:!1,category:"animals_and_nature"},tiger2:{keywords:["animal","nature","roar"],char:'\u{1f405}',fitzpatrick_scale:!1,category:"animals_and_nature"},water_buffalo:{keywords:["animal","nature","ox","cow"],char:'\u{1f403}',fitzpatrick_scale:!1,category:"animals_and_nature"},ox:{keywords:["animal","cow","beef"],char:'\u{1f402}',fitzpatrick_scale:!1,category:"animals_and_nature"},cow2:{keywords:["beef","ox","animal","nature","moo","milk"],char:'\u{1f404}',fitzpatrick_scale:!1,category:"animals_and_nature"},deer:{keywords:["animal","nature","horns","venison"],char:'\u{1f98c}',fitzpatrick_scale:!1,category:"animals_and_nature"},dromedary_camel:{keywords:["animal","hot","desert","hump"],char:'\u{1f42a}',fitzpatrick_scale:!1,category:"animals_and_nature"},camel:{keywords:["animal","nature","hot","desert","hump"],char:'\u{1f42b}',fitzpatrick_scale:!1,category:"animals_and_nature"},giraffe:{keywords:["animal","nature","spots","safari"],char:'\u{1f992}',fitzpatrick_scale:!1,category:"animals_and_nature"},elephant:{keywords:["animal","nature","nose","th","circus"],char:'\u{1f418}',fitzpatrick_scale:!1,category:"animals_and_nature"},rhinoceros:{keywords:["animal","nature","horn"],char:'\u{1f98f}',fitzpatrick_scale:!1,category:"animals_and_nature"},goat:{keywords:["animal","nature"],char:'\u{1f410}',fitzpatrick_scale:!1,category:"animals_and_nature"},ram:{keywords:["animal","sheep","nature"],char:'\u{1f40f}',fitzpatrick_scale:!1,category:"animals_and_nature"},sheep:{keywords:["animal","nature","wool","shipit"],char:'\u{1f411}',fitzpatrick_scale:!1,category:"animals_and_nature"},racehorse:{keywords:["animal","gamble","luck"],char:'\u{1f40e}',fitzpatrick_scale:!1,category:"animals_and_nature"},pig2:{keywords:["animal","nature"],char:'\u{1f416}',fitzpatrick_scale:!1,category:"animals_and_nature"},rat:{keywords:["animal","mouse","rodent"],char:'\u{1f400}',fitzpatrick_scale:!1,category:"animals_and_nature"},mouse2:{keywords:["animal","nature","rodent"],char:'\u{1f401}',fitzpatrick_scale:!1,category:"animals_and_nature"},rooster:{keywords:["animal","nature","chicken"],char:'\u{1f413}',fitzpatrick_scale:!1,category:"animals_and_nature"},turkey:{keywords:["animal","bird"],char:'\u{1f983}',fitzpatrick_scale:!1,category:"animals_and_nature"},dove:{keywords:["animal","bird"],char:'\u{1f54a}',fitzpatrick_scale:!1,category:"animals_and_nature"},dog2:{keywords:["animal","nature","friend","doge","pet","faithful"],char:'\u{1f415}',fitzpatrick_scale:!1,category:"animals_and_nature"},poodle:{keywords:["dog","animal","101","nature","pet"],char:'\u{1f429}',fitzpatrick_scale:!1,category:"animals_and_nature"},cat2:{keywords:["animal","meow","pet","cats"],char:'\u{1f408}',fitzpatrick_scale:!1,category:"animals_and_nature"},rabbit2:{keywords:["animal","nature","pet","magic","spring"],char:'\u{1f407}',fitzpatrick_scale:!1,category:"animals_and_nature"},chipmunk:{keywords:["animal","nature","rodent","squirrel"],char:'\u{1f43f}',fitzpatrick_scale:!1,category:"animals_and_nature"},hedgehog:{keywords:["animal","nature","spiny"],char:'\u{1f994}',fitzpatrick_scale:!1,category:"animals_and_nature"},raccoon:{keywords:["animal","nature"],char:'\u{1f99d}',fitzpatrick_scale:!1,category:"animals_and_nature"},llama:{keywords:["animal","nature","alpaca"],char:'\u{1f999}',fitzpatrick_scale:!1,category:"animals_and_nature"},hippopotamus:{keywords:["animal","nature"],char:'\u{1f99b}',fitzpatrick_scale:!1,category:"animals_and_nature"},kangaroo:{keywords:["animal","nature","australia","joey","hop","marsupial"],char:'\u{1f998}',fitzpatrick_scale:!1,category:"animals_and_nature"},badger:{keywords:["animal","nature","honey"],char:'\u{1f9a1}',fitzpatrick_scale:!1,category:"animals_and_nature"},swan:{keywords:["animal","nature","bird"],char:'\u{1f9a2}',fitzpatrick_scale:!1,category:"animals_and_nature"},peacock:{keywords:["animal","nature","peahen","bird"],char:'\u{1f99a}',fitzpatrick_scale:!1,category:"animals_and_nature"},parrot:{keywords:["animal","nature","bird","pirate","talk"],char:'\u{1f99c}',fitzpatrick_scale:!1,category:"animals_and_nature"},lobster:{keywords:["animal","nature","bisque","claws","seafood"],char:'\u{1f99e}',fitzpatrick_scale:!1,category:"animals_and_nature"},mosquito:{keywords:["animal","nature","insect","malaria"],char:'\u{1f99f}',fitzpatrick_scale:!1,category:"animals_and_nature"},paw_prints:{keywords:["animal","tracking","footprints","dog","cat","pet","feet"],char:'\u{1f43e}',fitzpatrick_scale:!1,category:"animals_and_nature"},dragon:{keywords:["animal","myth","nature","chinese","green"],char:'\u{1f409}',fitzpatrick_scale:!1,category:"animals_and_nature"},dragon_face:{keywords:["animal","myth","nature","chinese","green"],char:'\u{1f432}',fitzpatrick_scale:!1,category:"animals_and_nature"},cactus:{keywords:["vegetable","plant","nature"],char:'\u{1f335}',fitzpatrick_scale:!1,category:"animals_and_nature"},christmas_tree:{keywords:["festival","vacation","december","xmas","celebration"],char:'\u{1f384}',fitzpatrick_scale:!1,category:"animals_and_nature"},evergreen_tree:{keywords:["plant","nature"],char:'\u{1f332}',fitzpatrick_scale:!1,category:"animals_and_nature"},deciduous_tree:{keywords:["plant","nature"],char:'\u{1f333}',fitzpatrick_scale:!1,category:"animals_and_nature"},palm_tree:{keywords:["plant","vegetable","nature","summer","beach","mojito","tropical"],char:'\u{1f334}',fitzpatrick_scale:!1,category:"animals_and_nature"},seedling:{keywords:["plant","nature","grass","lawn","spring"],char:'\u{1f331}',fitzpatrick_scale:!1,category:"animals_and_nature"},herb:{keywords:["vegetable","plant","medicine","weed","grass","lawn"],char:'\u{1f33f}',fitzpatrick_scale:!1,category:"animals_and_nature"},shamrock:{keywords:["vegetable","plant","nature","irish","clover"],char:'\u2618',fitzpatrick_scale:!1,category:"animals_and_nature"},four_leaf_clover:{keywords:["vegetable","plant","nature","lucky","irish"],char:'\u{1f340}',fitzpatrick_scale:!1,category:"animals_and_nature"},bamboo:{keywords:["plant","nature","vegetable","panda","pine_decoration"],char:'\u{1f38d}',fitzpatrick_scale:!1,category:"animals_and_nature"},tanabata_tree:{keywords:["plant","nature","branch","summer"],char:'\u{1f38b}',fitzpatrick_scale:!1,category:"animals_and_nature"},leaves:{keywords:["nature","plant","tree","vegetable","grass","lawn","spring"],char:'\u{1f343}',fitzpatrick_scale:!1,category:"animals_and_nature"},fallen_leaf:{keywords:["nature","plant","vegetable","leaves"],char:'\u{1f342}',fitzpatrick_scale:!1,category:"animals_and_nature"},maple_leaf:{keywords:["nature","plant","vegetable","ca","fall"],char:'\u{1f341}',fitzpatrick_scale:!1,category:"animals_and_nature"},ear_of_rice:{keywords:["nature","plant"],char:'\u{1f33e}',fitzpatrick_scale:!1,category:"animals_and_nature"},hibiscus:{keywords:["plant","vegetable","flowers","beach"],char:'\u{1f33a}',fitzpatrick_scale:!1,category:"animals_and_nature"},sunflower:{keywords:["nature","plant","fall"],char:'\u{1f33b}',fitzpatrick_scale:!1,category:"animals_and_nature"},rose:{keywords:["flowers","valentines","love","spring"],char:'\u{1f339}',fitzpatrick_scale:!1,category:"animals_and_nature"},wilted_flower:{keywords:["plant","nature","flower"],char:'\u{1f940}',fitzpatrick_scale:!1,category:"animals_and_nature"},tulip:{keywords:["flowers","plant","nature","summer","spring"],char:'\u{1f337}',fitzpatrick_scale:!1,category:"animals_and_nature"},blossom:{keywords:["nature","flowers","yellow"],char:'\u{1f33c}',fitzpatrick_scale:!1,category:"animals_and_nature"},cherry_blossom:{keywords:["nature","plant","spring","flower"],char:'\u{1f338}',fitzpatrick_scale:!1,category:"animals_and_nature"},bouquet:{keywords:["flowers","nature","spring"],char:'\u{1f490}',fitzpatrick_scale:!1,category:"animals_and_nature"},mushroom:{keywords:["plant","vegetable"],char:'\u{1f344}',fitzpatrick_scale:!1,category:"animals_and_nature"},chestnut:{keywords:["food","squirrel"],char:'\u{1f330}',fitzpatrick_scale:!1,category:"animals_and_nature"},jack_o_lantern:{keywords:["halloween","light","pumpkin","creepy","fall"],char:'\u{1f383}',fitzpatrick_scale:!1,category:"animals_and_nature"},shell:{keywords:["nature","sea","beach"],char:'\u{1f41a}',fitzpatrick_scale:!1,category:"animals_and_nature"},spider_web:{keywords:["animal","insect","arachnid","silk"],char:'\u{1f578}',fitzpatrick_scale:!1,category:"animals_and_nature"},earth_americas:{keywords:["globe","world","USA","international"],char:'\u{1f30e}',fitzpatrick_scale:!1,category:"animals_and_nature"},earth_africa:{keywords:["globe","world","international"],char:'\u{1f30d}',fitzpatrick_scale:!1,category:"animals_and_nature"},earth_asia:{keywords:["globe","world","east","international"],char:'\u{1f30f}',fitzpatrick_scale:!1,category:"animals_and_nature"},full_moon:{keywords:["nature","yellow","twilight","planet","space","night","evening","sleep"],char:'\u{1f315}',fitzpatrick_scale:!1,category:"animals_and_nature"},waning_gibbous_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep","waxing_gibbous_moon"],char:'\u{1f316}',fitzpatrick_scale:!1,category:"animals_and_nature"},last_quarter_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:'\u{1f317}',fitzpatrick_scale:!1,category:"animals_and_nature"},waning_crescent_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:'\u{1f318}',fitzpatrick_scale:!1,category:"animals_and_nature"},new_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:'\u{1f311}',fitzpatrick_scale:!1,category:"animals_and_nature"},waxing_crescent_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:'\u{1f312}',fitzpatrick_scale:!1,category:"animals_and_nature"},first_quarter_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:'\u{1f313}',fitzpatrick_scale:!1,category:"animals_and_nature"},waxing_gibbous_moon:{keywords:["nature","night","sky","gray","twilight","planet","space","evening","sleep"],char:'\u{1f314}',fitzpatrick_scale:!1,category:"animals_and_nature"},new_moon_with_face:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:'\u{1f31a}',fitzpatrick_scale:!1,category:"animals_and_nature"},full_moon_with_face:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:'\u{1f31d}',fitzpatrick_scale:!1,category:"animals_and_nature"},first_quarter_moon_with_face:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:'\u{1f31b}',fitzpatrick_scale:!1,category:"animals_and_nature"},last_quarter_moon_with_face:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:'\u{1f31c}',fitzpatrick_scale:!1,category:"animals_and_nature"},sun_with_face:{keywords:["nature","morning","sky"],char:'\u{1f31e}',fitzpatrick_scale:!1,category:"animals_and_nature"},crescent_moon:{keywords:["night","sleep","sky","evening","magic"],char:'\u{1f319}',fitzpatrick_scale:!1,category:"animals_and_nature"},star:{keywords:["night","yellow"],char:'\u2b50',fitzpatrick_scale:!1,category:"animals_and_nature"},star2:{keywords:["night","sparkle","awesome","good","magic"],char:'\u{1f31f}',fitzpatrick_scale:!1,category:"animals_and_nature"},dizzy:{keywords:["star","sparkle","shoot","magic"],char:'\u{1f4ab}',fitzpatrick_scale:!1,category:"animals_and_nature"},sparkles:{keywords:["stars","shine","shiny","cool","awesome","good","magic"],char:'\u2728',fitzpatrick_scale:!1,category:"animals_and_nature"},comet:{keywords:["space"],char:'\u2604',fitzpatrick_scale:!1,category:"animals_and_nature"},sunny:{keywords:["weather","nature","brightness","summer","beach","spring"],char:'\u2600\ufe0f',fitzpatrick_scale:!1,category:"animals_and_nature"},sun_behind_small_cloud:{keywords:["weather"],char:'\u{1f324}',fitzpatrick_scale:!1,category:"animals_and_nature"},partly_sunny:{keywords:["weather","nature","cloudy","morning","fall","spring"],char:'\u26c5',fitzpatrick_scale:!1,category:"animals_and_nature"},sun_behind_large_cloud:{keywords:["weather"],char:'\u{1f325}',fitzpatrick_scale:!1,category:"animals_and_nature"},sun_behind_rain_cloud:{keywords:["weather"],char:'\u{1f326}',fitzpatrick_scale:!1,category:"animals_and_nature"},cloud:{keywords:["weather","sky"],char:'\u2601\ufe0f',fitzpatrick_scale:!1,category:"animals_and_nature"},cloud_with_rain:{keywords:["weather"],char:'\u{1f327}',fitzpatrick_scale:!1,category:"animals_and_nature"},cloud_with_lightning_and_rain:{keywords:["weather","lightning"],char:'\u26c8',fitzpatrick_scale:!1,category:"animals_and_nature"},cloud_with_lightning:{keywords:["weather","thunder"],char:'\u{1f329}',fitzpatrick_scale:!1,category:"animals_and_nature"},zap:{keywords:["thunder","weather","lightning bolt","fast"],char:'\u26a1',fitzpatrick_scale:!1,category:"animals_and_nature"},fire:{keywords:["hot","cook","flame"],char:'\u{1f525}',fitzpatrick_scale:!1,category:"animals_and_nature"},boom:{keywords:["bomb","explode","explosion","collision","blown"],char:'\u{1f4a5}',fitzpatrick_scale:!1,category:"animals_and_nature"},snowflake:{keywords:["winter","season","cold","weather","christmas","xmas"],char:'\u2744\ufe0f',fitzpatrick_scale:!1,category:"animals_and_nature"},cloud_with_snow:{keywords:["weather"],char:'\u{1f328}',fitzpatrick_scale:!1,category:"animals_and_nature"},snowman:{keywords:["winter","season","cold","weather","christmas","xmas","frozen","without_snow"],char:'\u26c4',fitzpatrick_scale:!1,category:"animals_and_nature"},snowman_with_snow:{keywords:["winter","season","cold","weather","christmas","xmas","frozen"],char:'\u2603',fitzpatrick_scale:!1,category:"animals_and_nature"},wind_face:{keywords:["gust","air"],char:'\u{1f32c}',fitzpatrick_scale:!1,category:"animals_and_nature"},dash:{keywords:["wind","air","fast","shoo","fart","smoke","puff"],char:'\u{1f4a8}',fitzpatrick_scale:!1,category:"animals_and_nature"},tornado:{keywords:["weather","cyclone","twister"],char:'\u{1f32a}',fitzpatrick_scale:!1,category:"animals_and_nature"},fog:{keywords:["weather"],char:'\u{1f32b}',fitzpatrick_scale:!1,category:"animals_and_nature"},open_umbrella:{keywords:["weather","spring"],char:'\u2602',fitzpatrick_scale:!1,category:"animals_and_nature"},umbrella:{keywords:["rainy","weather","spring"],char:'\u2614',fitzpatrick_scale:!1,category:"animals_and_nature"},droplet:{keywords:["water","drip","faucet","spring"],char:'\u{1f4a7}',fitzpatrick_scale:!1,category:"animals_and_nature"},sweat_drops:{keywords:["water","drip","oops"],char:'\u{1f4a6}',fitzpatrick_scale:!1,category:"animals_and_nature"},ocean:{keywords:["sea","water","wave","nature","tsunami","disaster"],char:'\u{1f30a}',fitzpatrick_scale:!1,category:"animals_and_nature"},green_apple:{keywords:["fruit","nature"],char:'\u{1f34f}',fitzpatrick_scale:!1,category:"food_and_drink"},apple:{keywords:["fruit","mac","school"],char:'\u{1f34e}',fitzpatrick_scale:!1,category:"food_and_drink"},pear:{keywords:["fruit","nature","food"],char:'\u{1f350}',fitzpatrick_scale:!1,category:"food_and_drink"},tangerine:{keywords:["food","fruit","nature","orange"],char:'\u{1f34a}',fitzpatrick_scale:!1,category:"food_and_drink"},lemon:{keywords:["fruit","nature"],char:'\u{1f34b}',fitzpatrick_scale:!1,category:"food_and_drink"},banana:{keywords:["fruit","food","monkey"],char:'\u{1f34c}',fitzpatrick_scale:!1,category:"food_and_drink"},watermelon:{keywords:["fruit","food","picnic","summer"],char:'\u{1f349}',fitzpatrick_scale:!1,category:"food_and_drink"},grapes:{keywords:["fruit","food","wine"],char:'\u{1f347}',fitzpatrick_scale:!1,category:"food_and_drink"},strawberry:{keywords:["fruit","food","nature"],char:'\u{1f353}',fitzpatrick_scale:!1,category:"food_and_drink"},melon:{keywords:["fruit","nature","food"],char:'\u{1f348}',fitzpatrick_scale:!1,category:"food_and_drink"},cherries:{keywords:["food","fruit"],char:'\u{1f352}',fitzpatrick_scale:!1,category:"food_and_drink"},peach:{keywords:["fruit","nature","food"],char:'\u{1f351}',fitzpatrick_scale:!1,category:"food_and_drink"},pineapple:{keywords:["fruit","nature","food"],char:'\u{1f34d}',fitzpatrick_scale:!1,category:"food_and_drink"},coconut:{keywords:["fruit","nature","food","palm"],char:'\u{1f965}',fitzpatrick_scale:!1,category:"food_and_drink"},kiwi_fruit:{keywords:["fruit","food"],char:'\u{1f95d}',fitzpatrick_scale:!1,category:"food_and_drink"},mango:{keywords:["fruit","food","tropical"],char:'\u{1f96d}',fitzpatrick_scale:!1,category:"food_and_drink"},avocado:{keywords:["fruit","food"],char:'\u{1f951}',fitzpatrick_scale:!1,category:"food_and_drink"},broccoli:{keywords:["fruit","food","vegetable"],char:'\u{1f966}',fitzpatrick_scale:!1,category:"food_and_drink"},tomato:{keywords:["fruit","vegetable","nature","food"],char:'\u{1f345}',fitzpatrick_scale:!1,category:"food_and_drink"},eggplant:{keywords:["vegetable","nature","food","aubergine"],char:'\u{1f346}',fitzpatrick_scale:!1,category:"food_and_drink"},cucumber:{keywords:["fruit","food","pickle"],char:'\u{1f952}',fitzpatrick_scale:!1,category:"food_and_drink"},carrot:{keywords:["vegetable","food","orange"],char:'\u{1f955}',fitzpatrick_scale:!1,category:"food_and_drink"},hot_pepper:{keywords:["food","spicy","chilli","chili"],char:'\u{1f336}',fitzpatrick_scale:!1,category:"food_and_drink"},potato:{keywords:["food","tuber","vegatable","starch"],char:'\u{1f954}',fitzpatrick_scale:!1,category:"food_and_drink"},corn:{keywords:["food","vegetable","plant"],char:'\u{1f33d}',fitzpatrick_scale:!1,category:"food_and_drink"},leafy_greens:{keywords:["food","vegetable","plant","bok choy","cabbage","kale","lettuce"],char:'\u{1f96c}',fitzpatrick_scale:!1,category:"food_and_drink"},sweet_potato:{keywords:["food","nature"],char:'\u{1f360}',fitzpatrick_scale:!1,category:"food_and_drink"},peanuts:{keywords:["food","nut"],char:'\u{1f95c}',fitzpatrick_scale:!1,category:"food_and_drink"},honey_pot:{keywords:["bees","sweet","kitchen"],char:'\u{1f36f}',fitzpatrick_scale:!1,category:"food_and_drink"},croissant:{keywords:["food","bread","french"],char:'\u{1f950}',fitzpatrick_scale:!1,category:"food_and_drink"},bread:{keywords:["food","wheat","breakfast","toast"],char:'\u{1f35e}',fitzpatrick_scale:!1,category:"food_and_drink"},baguette_bread:{keywords:["food","bread","french"],char:'\u{1f956}',fitzpatrick_scale:!1,category:"food_and_drink"},bagel:{keywords:["food","bread","bakery","schmear"],char:'\u{1f96f}',fitzpatrick_scale:!1,category:"food_and_drink"},pretzel:{keywords:["food","bread","twisted"],char:'\u{1f968}',fitzpatrick_scale:!1,category:"food_and_drink"},cheese:{keywords:["food","chadder"],char:'\u{1f9c0}',fitzpatrick_scale:!1,category:"food_and_drink"},egg:{keywords:["food","chicken","breakfast"],char:'\u{1f95a}',fitzpatrick_scale:!1,category:"food_and_drink"},bacon:{keywords:["food","breakfast","pork","pig","meat"],char:'\u{1f953}',fitzpatrick_scale:!1,category:"food_and_drink"},steak:{keywords:["food","cow","meat","cut","chop","lambchop","porkchop"],char:'\u{1f969}',fitzpatrick_scale:!1,category:"food_and_drink"},pancakes:{keywords:["food","breakfast","flapjacks","hotcakes"],char:'\u{1f95e}',fitzpatrick_scale:!1,category:"food_and_drink"},poultry_leg:{keywords:["food","meat","drumstick","bird","chicken","turkey"],char:'\u{1f357}',fitzpatrick_scale:!1,category:"food_and_drink"},meat_on_bone:{keywords:["good","food","drumstick"],char:'\u{1f356}',fitzpatrick_scale:!1,category:"food_and_drink"},bone:{keywords:["skeleton"],char:'\u{1f9b4}',fitzpatrick_scale:!1,category:"food_and_drink"},fried_shrimp:{keywords:["food","animal","appetizer","summer"],char:'\u{1f364}',fitzpatrick_scale:!1,category:"food_and_drink"},fried_egg:{keywords:["food","breakfast","kitchen","egg"],char:'\u{1f373}',fitzpatrick_scale:!1,category:"food_and_drink"},hamburger:{keywords:["meat","fast food","beef","cheeseburger","mcdonalds","burger king"],char:'\u{1f354}',fitzpatrick_scale:!1,category:"food_and_drink"},fries:{keywords:["chips","snack","fast food"],char:'\u{1f35f}',fitzpatrick_scale:!1,category:"food_and_drink"},stuffed_flatbread:{keywords:["food","flatbread","stuffed","gyro"],char:'\u{1f959}',fitzpatrick_scale:!1,category:"food_and_drink"},hotdog:{keywords:["food","frankfurter"],char:'\u{1f32d}',fitzpatrick_scale:!1,category:"food_and_drink"},pizza:{keywords:["food","party"],char:'\u{1f355}',fitzpatrick_scale:!1,category:"food_and_drink"},sandwich:{keywords:["food","lunch","bread"],char:'\u{1f96a}',fitzpatrick_scale:!1,category:"food_and_drink"},canned_food:{keywords:["food","soup"],char:'\u{1f96b}',fitzpatrick_scale:!1,category:"food_and_drink"},spaghetti:{keywords:["food","italian","noodle"],char:'\u{1f35d}',fitzpatrick_scale:!1,category:"food_and_drink"},taco:{keywords:["food","mexican"],char:'\u{1f32e}',fitzpatrick_scale:!1,category:"food_and_drink"},burrito:{keywords:["food","mexican"],char:'\u{1f32f}',fitzpatrick_scale:!1,category:"food_and_drink"},green_salad:{keywords:["food","healthy","lettuce"],char:'\u{1f957}',fitzpatrick_scale:!1,category:"food_and_drink"},shallow_pan_of_food:{keywords:["food","cooking","casserole","paella"],char:'\u{1f958}',fitzpatrick_scale:!1,category:"food_and_drink"},ramen:{keywords:["food","japanese","noodle","chopsticks"],char:'\u{1f35c}',fitzpatrick_scale:!1,category:"food_and_drink"},stew:{keywords:["food","meat","soup"],char:'\u{1f372}',fitzpatrick_scale:!1,category:"food_and_drink"},fish_cake:{keywords:["food","japan","sea","beach","narutomaki","pink","swirl","kamaboko","surimi","ramen"],char:'\u{1f365}',fitzpatrick_scale:!1,category:"food_and_drink"},fortune_cookie:{keywords:["food","prophecy"],char:'\u{1f960}',fitzpatrick_scale:!1,category:"food_and_drink"},sushi:{keywords:["food","fish","japanese","rice"],char:'\u{1f363}',fitzpatrick_scale:!1,category:"food_and_drink"},bento:{keywords:["food","japanese","box"],char:'\u{1f371}',fitzpatrick_scale:!1,category:"food_and_drink"},curry:{keywords:["food","spicy","hot","indian"],char:'\u{1f35b}',fitzpatrick_scale:!1,category:"food_and_drink"},rice_ball:{keywords:["food","japanese"],char:'\u{1f359}',fitzpatrick_scale:!1,category:"food_and_drink"},rice:{keywords:["food","china","asian"],char:'\u{1f35a}',fitzpatrick_scale:!1,category:"food_and_drink"},rice_cracker:{keywords:["food","japanese"],char:'\u{1f358}',fitzpatrick_scale:!1,category:"food_and_drink"},oden:{keywords:["food","japanese"],char:'\u{1f362}',fitzpatrick_scale:!1,category:"food_and_drink"},dango:{keywords:["food","dessert","sweet","japanese","barbecue","meat"],char:'\u{1f361}',fitzpatrick_scale:!1,category:"food_and_drink"},shaved_ice:{keywords:["hot","dessert","summer"],char:'\u{1f367}',fitzpatrick_scale:!1,category:"food_and_drink"},ice_cream:{keywords:["food","hot","dessert"],char:'\u{1f368}',fitzpatrick_scale:!1,category:"food_and_drink"},icecream:{keywords:["food","hot","dessert","summer"],char:'\u{1f366}',fitzpatrick_scale:!1,category:"food_and_drink"},pie:{keywords:["food","dessert","pastry"],char:'\u{1f967}',fitzpatrick_scale:!1,category:"food_and_drink"},cake:{keywords:["food","dessert"],char:'\u{1f370}',fitzpatrick_scale:!1,category:"food_and_drink"},cupcake:{keywords:["food","dessert","bakery","sweet"],char:'\u{1f9c1}',fitzpatrick_scale:!1,category:"food_and_drink"},moon_cake:{keywords:["food","autumn"],char:'\u{1f96e}',fitzpatrick_scale:!1,category:"food_and_drink"},birthday:{keywords:["food","dessert","cake"],char:'\u{1f382}',fitzpatrick_scale:!1,category:"food_and_drink"},custard:{keywords:["dessert","food"],char:'\u{1f36e}',fitzpatrick_scale:!1,category:"food_and_drink"},candy:{keywords:["snack","dessert","sweet","lolly"],char:'\u{1f36c}',fitzpatrick_scale:!1,category:"food_and_drink"},lollipop:{keywords:["food","snack","candy","sweet"],char:'\u{1f36d}',fitzpatrick_scale:!1,category:"food_and_drink"},chocolate_bar:{keywords:["food","snack","dessert","sweet"],char:'\u{1f36b}',fitzpatrick_scale:!1,category:"food_and_drink"},popcorn:{keywords:["food","movie theater","films","snack"],char:'\u{1f37f}',fitzpatrick_scale:!1,category:"food_and_drink"},dumpling:{keywords:["food","empanada","pierogi","potsticker"],char:'\u{1f95f}',fitzpatrick_scale:!1,category:"food_and_drink"},doughnut:{keywords:["food","dessert","snack","sweet","donut"],char:'\u{1f369}',fitzpatrick_scale:!1,category:"food_and_drink"},cookie:{keywords:["food","snack","oreo","chocolate","sweet","dessert"],char:'\u{1f36a}',fitzpatrick_scale:!1,category:"food_and_drink"},milk_glass:{keywords:["beverage","drink","cow"],char:'\u{1f95b}',fitzpatrick_scale:!1,category:"food_and_drink"},beer:{keywords:["relax","beverage","drink","drunk","party","pub","summer","alcohol","booze"],char:'\u{1f37a}',fitzpatrick_scale:!1,category:"food_and_drink"},beers:{keywords:["relax","beverage","drink","drunk","party","pub","summer","alcohol","booze"],char:'\u{1f37b}',fitzpatrick_scale:!1,category:"food_and_drink"},clinking_glasses:{keywords:["beverage","drink","party","alcohol","celebrate","cheers","wine","champagne","toast"],char:'\u{1f942}',fitzpatrick_scale:!1,category:"food_and_drink"},wine_glass:{keywords:["drink","beverage","drunk","alcohol","booze"],char:'\u{1f377}',fitzpatrick_scale:!1,category:"food_and_drink"},tumbler_glass:{keywords:["drink","beverage","drunk","alcohol","liquor","booze","bourbon","scotch","whisky","glass","shot"],char:'\u{1f943}',fitzpatrick_scale:!1,category:"food_and_drink"},cocktail:{keywords:["drink","drunk","alcohol","beverage","booze","mojito"],char:'\u{1f378}',fitzpatrick_scale:!1,category:"food_and_drink"},tropical_drink:{keywords:["beverage","cocktail","summer","beach","alcohol","booze","mojito"],char:'\u{1f379}',fitzpatrick_scale:!1,category:"food_and_drink"},champagne:{keywords:["drink","wine","bottle","celebration"],char:'\u{1f37e}',fitzpatrick_scale:!1,category:"food_and_drink"},sake:{keywords:["wine","drink","drunk","beverage","japanese","alcohol","booze"],char:'\u{1f376}',fitzpatrick_scale:!1,category:"food_and_drink"},tea:{keywords:["drink","bowl","breakfast","green","british"],char:'\u{1f375}',fitzpatrick_scale:!1,category:"food_and_drink"},cup_with_straw:{keywords:["drink","soda"],char:'\u{1f964}',fitzpatrick_scale:!1,category:"food_and_drink"},coffee:{keywords:["beverage","caffeine","latte","espresso"],char:'\u2615',fitzpatrick_scale:!1,category:"food_and_drink"},baby_bottle:{keywords:["food","container","milk"],char:'\u{1f37c}',fitzpatrick_scale:!1,category:"food_and_drink"},salt:{keywords:["condiment","shaker"],char:'\u{1f9c2}',fitzpatrick_scale:!1,category:"food_and_drink"},spoon:{keywords:["cutlery","kitchen","tableware"],char:'\u{1f944}',fitzpatrick_scale:!1,category:"food_and_drink"},fork_and_knife:{keywords:["cutlery","kitchen"],char:'\u{1f374}',fitzpatrick_scale:!1,category:"food_and_drink"},plate_with_cutlery:{keywords:["food","eat","meal","lunch","dinner","restaurant"],char:'\u{1f37d}',fitzpatrick_scale:!1,category:"food_and_drink"},bowl_with_spoon:{keywords:["food","breakfast","cereal","oatmeal","porridge"],char:'\u{1f963}',fitzpatrick_scale:!1,category:"food_and_drink"},takeout_box:{keywords:["food","leftovers"],char:'\u{1f961}',fitzpatrick_scale:!1,category:"food_and_drink"},chopsticks:{keywords:["food"],char:'\u{1f962}',fitzpatrick_scale:!1,category:"food_and_drink"},soccer:{keywords:["sports","football"],char:'\u26bd',fitzpatrick_scale:!1,category:"activity"},basketball:{keywords:["sports","balls","NBA"],char:'\u{1f3c0}',fitzpatrick_scale:!1,category:"activity"},football:{keywords:["sports","balls","NFL"],char:'\u{1f3c8}',fitzpatrick_scale:!1,category:"activity"},baseball:{keywords:["sports","balls"],char:'\u26be',fitzpatrick_scale:!1,category:"activity"},softball:{keywords:["sports","balls"],char:'\u{1f94e}',fitzpatrick_scale:!1,category:"activity"},tennis:{keywords:["sports","balls","green"],char:'\u{1f3be}',fitzpatrick_scale:!1,category:"activity"},volleyball:{keywords:["sports","balls"],char:'\u{1f3d0}',fitzpatrick_scale:!1,category:"activity"},rugby_football:{keywords:["sports","team"],char:'\u{1f3c9}',fitzpatrick_scale:!1,category:"activity"},flying_disc:{keywords:["sports","frisbee","ultimate"],char:'\u{1f94f}',fitzpatrick_scale:!1,category:"activity"},"8ball":{keywords:["pool","hobby","game","luck","magic"],char:'\u{1f3b1}',fitzpatrick_scale:!1,category:"activity"},golf:{keywords:["sports","business","flag","hole","summer"],char:'\u26f3',fitzpatrick_scale:!1,category:"activity"},golfing_woman:{keywords:["sports","business","woman","female"],char:'\u{1f3cc}\ufe0f\u200d\u2640\ufe0f',fitzpatrick_scale:!1,category:"activity"},golfing_man:{keywords:["sports","business"],char:'\u{1f3cc}',fitzpatrick_scale:!0,category:"activity"},ping_pong:{keywords:["sports","pingpong"],char:'\u{1f3d3}',fitzpatrick_scale:!1,category:"activity"},badminton:{keywords:["sports"],char:'\u{1f3f8}',fitzpatrick_scale:!1,category:"activity"},goal_net:{keywords:["sports"],char:'\u{1f945}',fitzpatrick_scale:!1,category:"activity"},ice_hockey:{keywords:["sports"],char:'\u{1f3d2}',fitzpatrick_scale:!1,category:"activity"},field_hockey:{keywords:["sports"],char:'\u{1f3d1}',fitzpatrick_scale:!1,category:"activity"},lacrosse:{keywords:["sports","ball","stick"],char:'\u{1f94d}',fitzpatrick_scale:!1,category:"activity"},cricket:{keywords:["sports"],char:'\u{1f3cf}',fitzpatrick_scale:!1,category:"activity"},ski:{keywords:["sports","winter","cold","snow"],char:'\u{1f3bf}',fitzpatrick_scale:!1,category:"activity"},skier:{keywords:["sports","winter","snow"],char:'\u26f7',fitzpatrick_scale:!1,category:"activity"},snowboarder:{keywords:["sports","winter"],char:'\u{1f3c2}',fitzpatrick_scale:!0,category:"activity"},person_fencing:{keywords:["sports","fencing","sword"],char:'\u{1f93a}',fitzpatrick_scale:!1,category:"activity"},women_wrestling:{keywords:["sports","wrestlers"],char:'\u{1f93c}\u200d\u2640\ufe0f',fitzpatrick_scale:!1,category:"activity"},men_wrestling:{keywords:["sports","wrestlers"],char:'\u{1f93c}\u200d\u2642\ufe0f',fitzpatrick_scale:!1,category:"activity"},woman_cartwheeling:{keywords:["gymnastics"],char:'\u{1f938}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"activity"},man_cartwheeling:{keywords:["gymnastics"],char:'\u{1f938}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"activity"},woman_playing_handball:{keywords:["sports"],char:'\u{1f93e}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"activity"},man_playing_handball:{keywords:["sports"],char:'\u{1f93e}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"activity"},ice_skate:{keywords:["sports"],char:'\u26f8',fitzpatrick_scale:!1,category:"activity"},curling_stone:{keywords:["sports"],char:'\u{1f94c}',fitzpatrick_scale:!1,category:"activity"},skateboard:{keywords:["board"],char:'\u{1f6f9}',fitzpatrick_scale:!1,category:"activity"},sled:{keywords:["sleigh","luge","toboggan"],char:'\u{1f6f7}',fitzpatrick_scale:!1,category:"activity"},bow_and_arrow:{keywords:["sports"],char:'\u{1f3f9}',fitzpatrick_scale:!1,category:"activity"},fishing_pole_and_fish:{keywords:["food","hobby","summer"],char:'\u{1f3a3}',fitzpatrick_scale:!1,category:"activity"},boxing_glove:{keywords:["sports","fighting"],char:'\u{1f94a}',fitzpatrick_scale:!1,category:"activity"},martial_arts_uniform:{keywords:["judo","karate","taekwondo"],char:'\u{1f94b}',fitzpatrick_scale:!1,category:"activity"},rowing_woman:{keywords:["sports","hobby","water","ship","woman","female"],char:'\u{1f6a3}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"activity"},rowing_man:{keywords:["sports","hobby","water","ship"],char:'\u{1f6a3}',fitzpatrick_scale:!0,category:"activity"},climbing_woman:{keywords:["sports","hobby","woman","female","rock"],char:'\u{1f9d7}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"activity"},climbing_man:{keywords:["sports","hobby","man","male","rock"],char:'\u{1f9d7}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"activity"},swimming_woman:{keywords:["sports","exercise","human","athlete","water","summer","woman","female"],char:'\u{1f3ca}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"activity"},swimming_man:{keywords:["sports","exercise","human","athlete","water","summer"],char:'\u{1f3ca}',fitzpatrick_scale:!0,category:"activity"},woman_playing_water_polo:{keywords:["sports","pool"],char:'\u{1f93d}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"activity"},man_playing_water_polo:{keywords:["sports","pool"],char:'\u{1f93d}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"activity"},woman_in_lotus_position:{keywords:["woman","female","meditation","yoga","serenity","zen","mindfulness"],char:'\u{1f9d8}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"activity"},man_in_lotus_position:{keywords:["man","male","meditation","yoga","serenity","zen","mindfulness"],char:'\u{1f9d8}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"activity"},surfing_woman:{keywords:["sports","ocean","sea","summer","beach","woman","female"],char:'\u{1f3c4}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"activity"},surfing_man:{keywords:["sports","ocean","sea","summer","beach"],char:'\u{1f3c4}',fitzpatrick_scale:!0,category:"activity"},bath:{keywords:["clean","shower","bathroom"],char:'\u{1f6c0}',fitzpatrick_scale:!0,category:"activity"},basketball_woman:{keywords:["sports","human","woman","female"],char:'\u26f9\ufe0f\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"activity"},basketball_man:{keywords:["sports","human"],char:'\u26f9',fitzpatrick_scale:!0,category:"activity"},weight_lifting_woman:{keywords:["sports","training","exercise","woman","female"],char:'\u{1f3cb}\ufe0f\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"activity"},weight_lifting_man:{keywords:["sports","training","exercise"],char:'\u{1f3cb}',fitzpatrick_scale:!0,category:"activity"},biking_woman:{keywords:["sports","bike","exercise","hipster","woman","female"],char:'\u{1f6b4}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"activity"},biking_man:{keywords:["sports","bike","exercise","hipster"],char:'\u{1f6b4}',fitzpatrick_scale:!0,category:"activity"},mountain_biking_woman:{keywords:["transportation","sports","human","race","bike","woman","female"],char:'\u{1f6b5}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"activity"},mountain_biking_man:{keywords:["transportation","sports","human","race","bike"],char:'\u{1f6b5}',fitzpatrick_scale:!0,category:"activity"},horse_racing:{keywords:["animal","betting","competition","gambling","luck"],char:'\u{1f3c7}',fitzpatrick_scale:!0,category:"activity"},business_suit_levitating:{keywords:["suit","business","levitate","hover","jump"],char:'\u{1f574}',fitzpatrick_scale:!0,category:"activity"},trophy:{keywords:["win","award","contest","place","ftw","ceremony"],char:'\u{1f3c6}',fitzpatrick_scale:!1,category:"activity"},running_shirt_with_sash:{keywords:["play","pageant"],char:'\u{1f3bd}',fitzpatrick_scale:!1,category:"activity"},medal_sports:{keywords:["award","winning"],char:'\u{1f3c5}',fitzpatrick_scale:!1,category:"activity"},medal_military:{keywords:["award","winning","army"],char:'\u{1f396}',fitzpatrick_scale:!1,category:"activity"},"1st_place_medal":{keywords:["award","winning","first"],char:'\u{1f947}',fitzpatrick_scale:!1,category:"activity"},"2nd_place_medal":{keywords:["award","second"],char:'\u{1f948}',fitzpatrick_scale:!1,category:"activity"},"3rd_place_medal":{keywords:["award","third"],char:'\u{1f949}',fitzpatrick_scale:!1,category:"activity"},reminder_ribbon:{keywords:["sports","cause","support","awareness"],char:'\u{1f397}',fitzpatrick_scale:!1,category:"activity"},rosette:{keywords:["flower","decoration","military"],char:'\u{1f3f5}',fitzpatrick_scale:!1,category:"activity"},ticket:{keywords:["event","concert","pass"],char:'\u{1f3ab}',fitzpatrick_scale:!1,category:"activity"},tickets:{keywords:["sports","concert","entrance"],char:'\u{1f39f}',fitzpatrick_scale:!1,category:"activity"},performing_arts:{keywords:["acting","theater","drama"],char:'\u{1f3ad}',fitzpatrick_scale:!1,category:"activity"},art:{keywords:["design","paint","draw","colors"],char:'\u{1f3a8}',fitzpatrick_scale:!1,category:"activity"},circus_tent:{keywords:["festival","carnival","party"],char:'\u{1f3aa}',fitzpatrick_scale:!1,category:"activity"},woman_juggling:{keywords:["juggle","balance","skill","multitask"],char:'\u{1f939}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"activity"},man_juggling:{keywords:["juggle","balance","skill","multitask"],char:'\u{1f939}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"activity"},microphone:{keywords:["sound","music","PA","sing","talkshow"],char:'\u{1f3a4}',fitzpatrick_scale:!1,category:"activity"},headphones:{keywords:["music","score","gadgets"],char:'\u{1f3a7}',fitzpatrick_scale:!1,category:"activity"},musical_score:{keywords:["treble","clef","compose"],char:'\u{1f3bc}',fitzpatrick_scale:!1,category:"activity"},musical_keyboard:{keywords:["piano","instrument","compose"],char:'\u{1f3b9}',fitzpatrick_scale:!1,category:"activity"},drum:{keywords:["music","instrument","drumsticks","snare"],char:'\u{1f941}',fitzpatrick_scale:!1,category:"activity"},saxophone:{keywords:["music","instrument","jazz","blues"],char:'\u{1f3b7}',fitzpatrick_scale:!1,category:"activity"},trumpet:{keywords:["music","brass"],char:'\u{1f3ba}',fitzpatrick_scale:!1,category:"activity"},guitar:{keywords:["music","instrument"],char:'\u{1f3b8}',fitzpatrick_scale:!1,category:"activity"},violin:{keywords:["music","instrument","orchestra","symphony"],char:'\u{1f3bb}',fitzpatrick_scale:!1,category:"activity"},clapper:{keywords:["movie","film","record"],char:'\u{1f3ac}',fitzpatrick_scale:!1,category:"activity"},video_game:{keywords:["play","console","PS4","controller"],char:'\u{1f3ae}',fitzpatrick_scale:!1,category:"activity"},space_invader:{keywords:["game","arcade","play"],char:'\u{1f47e}',fitzpatrick_scale:!1,category:"activity"},dart:{keywords:["game","play","bar","target","bullseye"],char:'\u{1f3af}',fitzpatrick_scale:!1,category:"activity"},game_die:{keywords:["dice","random","tabletop","play","luck"],char:'\u{1f3b2}',fitzpatrick_scale:!1,category:"activity"},chess_pawn:{keywords:["expendable"],char:"\u265f",fitzpatrick_scale:!1,category:"activity"},slot_machine:{keywords:["bet","gamble","vegas","fruit machine","luck","casino"],char:'\u{1f3b0}',fitzpatrick_scale:!1,category:"activity"},jigsaw:{keywords:["interlocking","puzzle","piece"],char:'\u{1f9e9}',fitzpatrick_scale:!1,category:"activity"},bowling:{keywords:["sports","fun","play"],char:'\u{1f3b3}',fitzpatrick_scale:!1,category:"activity"},red_car:{keywords:["red","transportation","vehicle"],char:'\u{1f697}',fitzpatrick_scale:!1,category:"travel_and_places"},taxi:{keywords:["uber","vehicle","cars","transportation"],char:'\u{1f695}',fitzpatrick_scale:!1,category:"travel_and_places"},blue_car:{keywords:["transportation","vehicle"],char:'\u{1f699}',fitzpatrick_scale:!1,category:"travel_and_places"},bus:{keywords:["car","vehicle","transportation"],char:'\u{1f68c}',fitzpatrick_scale:!1,category:"travel_and_places"},trolleybus:{keywords:["bart","transportation","vehicle"],char:'\u{1f68e}',fitzpatrick_scale:!1,category:"travel_and_places"},racing_car:{keywords:["sports","race","fast","formula","f1"],char:'\u{1f3ce}',fitzpatrick_scale:!1,category:"travel_and_places"},police_car:{keywords:["vehicle","cars","transportation","law","legal","enforcement"],char:'\u{1f693}',fitzpatrick_scale:!1,category:"travel_and_places"},ambulance:{keywords:["health","911","hospital"],char:'\u{1f691}',fitzpatrick_scale:!1,category:"travel_and_places"},fire_engine:{keywords:["transportation","cars","vehicle"],char:'\u{1f692}',fitzpatrick_scale:!1,category:"travel_and_places"},minibus:{keywords:["vehicle","car","transportation"],char:'\u{1f690}',fitzpatrick_scale:!1,category:"travel_and_places"},truck:{keywords:["cars","transportation"],char:'\u{1f69a}',fitzpatrick_scale:!1,category:"travel_and_places"},articulated_lorry:{keywords:["vehicle","cars","transportation","express"],char:'\u{1f69b}',fitzpatrick_scale:!1,category:"travel_and_places"},tractor:{keywords:["vehicle","car","farming","agriculture"],char:'\u{1f69c}',fitzpatrick_scale:!1,category:"travel_and_places"},kick_scooter:{keywords:["vehicle","kick","razor"],char:'\u{1f6f4}',fitzpatrick_scale:!1,category:"travel_and_places"},motorcycle:{keywords:["race","sports","fast"],char:'\u{1f3cd}',fitzpatrick_scale:!1,category:"travel_and_places"},bike:{keywords:["sports","bicycle","exercise","hipster"],char:'\u{1f6b2}',fitzpatrick_scale:!1,category:"travel_and_places"},motor_scooter:{keywords:["vehicle","vespa","sasha"],char:'\u{1f6f5}',fitzpatrick_scale:!1,category:"travel_and_places"},rotating_light:{keywords:["police","ambulance","911","emergency","alert","error","pinged","law","legal"],char:'\u{1f6a8}',fitzpatrick_scale:!1,category:"travel_and_places"},oncoming_police_car:{keywords:["vehicle","law","legal","enforcement","911"],char:'\u{1f694}',fitzpatrick_scale:!1,category:"travel_and_places"},oncoming_bus:{keywords:["vehicle","transportation"],char:'\u{1f68d}',fitzpatrick_scale:!1,category:"travel_and_places"},oncoming_automobile:{keywords:["car","vehicle","transportation"],char:'\u{1f698}',fitzpatrick_scale:!1,category:"travel_and_places"},oncoming_taxi:{keywords:["vehicle","cars","uber"],char:'\u{1f696}',fitzpatrick_scale:!1,category:"travel_and_places"},aerial_tramway:{keywords:["transportation","vehicle","ski"],char:'\u{1f6a1}',fitzpatrick_scale:!1,category:"travel_and_places"},mountain_cableway:{keywords:["transportation","vehicle","ski"],char:'\u{1f6a0}',fitzpatrick_scale:!1,category:"travel_and_places"},suspension_railway:{keywords:["vehicle","transportation"],char:'\u{1f69f}',fitzpatrick_scale:!1,category:"travel_and_places"},railway_car:{keywords:["transportation","vehicle"],char:'\u{1f683}',fitzpatrick_scale:!1,category:"travel_and_places"},train:{keywords:["transportation","vehicle","carriage","public","travel"],char:'\u{1f68b}',fitzpatrick_scale:!1,category:"travel_and_places"},monorail:{keywords:["transportation","vehicle"],char:'\u{1f69d}',fitzpatrick_scale:!1,category:"travel_and_places"},bullettrain_side:{keywords:["transportation","vehicle"],char:'\u{1f684}',fitzpatrick_scale:!1,category:"travel_and_places"},bullettrain_front:{keywords:["transportation","vehicle","speed","fast","public","travel"],char:'\u{1f685}',fitzpatrick_scale:!1,category:"travel_and_places"},light_rail:{keywords:["transportation","vehicle"],char:'\u{1f688}',fitzpatrick_scale:!1,category:"travel_and_places"},mountain_railway:{keywords:["transportation","vehicle"],char:'\u{1f69e}',fitzpatrick_scale:!1,category:"travel_and_places"},steam_locomotive:{keywords:["transportation","vehicle","train"],char:'\u{1f682}',fitzpatrick_scale:!1,category:"travel_and_places"},train2:{keywords:["transportation","vehicle"],char:'\u{1f686}',fitzpatrick_scale:!1,category:"travel_and_places"},metro:{keywords:["transportation","blue-square","mrt","underground","tube"],char:'\u{1f687}',fitzpatrick_scale:!1,category:"travel_and_places"},tram:{keywords:["transportation","vehicle"],char:'\u{1f68a}',fitzpatrick_scale:!1,category:"travel_and_places"},station:{keywords:["transportation","vehicle","public"],char:'\u{1f689}',fitzpatrick_scale:!1,category:"travel_and_places"},flying_saucer:{keywords:["transportation","vehicle","ufo"],char:'\u{1f6f8}',fitzpatrick_scale:!1,category:"travel_and_places"},helicopter:{keywords:["transportation","vehicle","fly"],char:'\u{1f681}',fitzpatrick_scale:!1,category:"travel_and_places"},small_airplane:{keywords:["flight","transportation","fly","vehicle"],char:'\u{1f6e9}',fitzpatrick_scale:!1,category:"travel_and_places"},airplane:{keywords:["vehicle","transportation","flight","fly"],char:'\u2708\ufe0f',fitzpatrick_scale:!1,category:"travel_and_places"},flight_departure:{keywords:["airport","flight","landing"],char:'\u{1f6eb}',fitzpatrick_scale:!1,category:"travel_and_places"},flight_arrival:{keywords:["airport","flight","boarding"],char:'\u{1f6ec}',fitzpatrick_scale:!1,category:"travel_and_places"},sailboat:{keywords:["ship","summer","transportation","water","sailing"],char:'\u26f5',fitzpatrick_scale:!1,category:"travel_and_places"},motor_boat:{keywords:["ship"],char:'\u{1f6e5}',fitzpatrick_scale:!1,category:"travel_and_places"},speedboat:{keywords:["ship","transportation","vehicle","summer"],char:'\u{1f6a4}',fitzpatrick_scale:!1,category:"travel_and_places"},ferry:{keywords:["boat","ship","yacht"],char:'\u26f4',fitzpatrick_scale:!1,category:"travel_and_places"},passenger_ship:{keywords:["yacht","cruise","ferry"],char:'\u{1f6f3}',fitzpatrick_scale:!1,category:"travel_and_places"},rocket:{keywords:["launch","ship","staffmode","NASA","outer space","outer_space","fly"],char:'\u{1f680}',fitzpatrick_scale:!1,category:"travel_and_places"},artificial_satellite:{keywords:["communication","gps","orbit","spaceflight","NASA","ISS"],char:'\u{1f6f0}',fitzpatrick_scale:!1,category:"travel_and_places"},seat:{keywords:["sit","airplane","transport","bus","flight","fly"],char:'\u{1f4ba}',fitzpatrick_scale:!1,category:"travel_and_places"},canoe:{keywords:["boat","paddle","water","ship"],char:'\u{1f6f6}',fitzpatrick_scale:!1,category:"travel_and_places"},anchor:{keywords:["ship","ferry","sea","boat"],char:'\u2693',fitzpatrick_scale:!1,category:"travel_and_places"},construction:{keywords:["wip","progress","caution","warning"],char:'\u{1f6a7}',fitzpatrick_scale:!1,category:"travel_and_places"},fuelpump:{keywords:["gas station","petroleum"],char:'\u26fd',fitzpatrick_scale:!1,category:"travel_and_places"},busstop:{keywords:["transportation","wait"],char:'\u{1f68f}',fitzpatrick_scale:!1,category:"travel_and_places"},vertical_traffic_light:{keywords:["transportation","driving"],char:'\u{1f6a6}',fitzpatrick_scale:!1,category:"travel_and_places"},traffic_light:{keywords:["transportation","signal"],char:'\u{1f6a5}',fitzpatrick_scale:!1,category:"travel_and_places"},checkered_flag:{keywords:["contest","finishline","race","gokart"],char:'\u{1f3c1}',fitzpatrick_scale:!1,category:"travel_and_places"},ship:{keywords:["transportation","titanic","deploy"],char:'\u{1f6a2}',fitzpatrick_scale:!1,category:"travel_and_places"},ferris_wheel:{keywords:["photo","carnival","londoneye"],char:'\u{1f3a1}',fitzpatrick_scale:!1,category:"travel_and_places"},roller_coaster:{keywords:["carnival","playground","photo","fun"],char:'\u{1f3a2}',fitzpatrick_scale:!1,category:"travel_and_places"},carousel_horse:{keywords:["photo","carnival"],char:'\u{1f3a0}',fitzpatrick_scale:!1,category:"travel_and_places"},building_construction:{keywords:["wip","working","progress"],char:'\u{1f3d7}',fitzpatrick_scale:!1,category:"travel_and_places"},foggy:{keywords:["photo","mountain"],char:'\u{1f301}',fitzpatrick_scale:!1,category:"travel_and_places"},tokyo_tower:{keywords:["photo","japanese"],char:'\u{1f5fc}',fitzpatrick_scale:!1,category:"travel_and_places"},factory:{keywords:["building","industry","pollution","smoke"],char:'\u{1f3ed}',fitzpatrick_scale:!1,category:"travel_and_places"},fountain:{keywords:["photo","summer","water","fresh"],char:'\u26f2',fitzpatrick_scale:!1,category:"travel_and_places"},rice_scene:{keywords:["photo","japan","asia","tsukimi"],char:'\u{1f391}',fitzpatrick_scale:!1,category:"travel_and_places"},mountain:{keywords:["photo","nature","environment"],char:'\u26f0',fitzpatrick_scale:!1,category:"travel_and_places"},mountain_snow:{keywords:["photo","nature","environment","winter","cold"],char:'\u{1f3d4}',fitzpatrick_scale:!1,category:"travel_and_places"},mount_fuji:{keywords:["photo","mountain","nature","japanese"],char:'\u{1f5fb}',fitzpatrick_scale:!1,category:"travel_and_places"},volcano:{keywords:["photo","nature","disaster"],char:'\u{1f30b}',fitzpatrick_scale:!1,category:"travel_and_places"},japan:{keywords:["nation","country","japanese","asia"],char:'\u{1f5fe}',fitzpatrick_scale:!1,category:"travel_and_places"},camping:{keywords:["photo","outdoors","tent"],char:'\u{1f3d5}',fitzpatrick_scale:!1,category:"travel_and_places"},tent:{keywords:["photo","camping","outdoors"],char:'\u26fa',fitzpatrick_scale:!1,category:"travel_and_places"},national_park:{keywords:["photo","environment","nature"],char:'\u{1f3de}',fitzpatrick_scale:!1,category:"travel_and_places"},motorway:{keywords:["road","cupertino","interstate","highway"],char:'\u{1f6e3}',fitzpatrick_scale:!1,category:"travel_and_places"},railway_track:{keywords:["train","transportation"],char:'\u{1f6e4}',fitzpatrick_scale:!1,category:"travel_and_places"},sunrise:{keywords:["morning","view","vacation","photo"],char:'\u{1f305}',fitzpatrick_scale:!1,category:"travel_and_places"},sunrise_over_mountains:{keywords:["view","vacation","photo"],char:'\u{1f304}',fitzpatrick_scale:!1,category:"travel_and_places"},desert:{keywords:["photo","warm","saharah"],char:'\u{1f3dc}',fitzpatrick_scale:!1,category:"travel_and_places"},beach_umbrella:{keywords:["weather","summer","sunny","sand","mojito"],char:'\u{1f3d6}',fitzpatrick_scale:!1,category:"travel_and_places"},desert_island:{keywords:["photo","tropical","mojito"],char:'\u{1f3dd}',fitzpatrick_scale:!1,category:"travel_and_places"},city_sunrise:{keywords:["photo","good morning","dawn"],char:'\u{1f307}',fitzpatrick_scale:!1,category:"travel_and_places"},city_sunset:{keywords:["photo","evening","sky","buildings"],char:'\u{1f306}',fitzpatrick_scale:!1,category:"travel_and_places"},cityscape:{keywords:["photo","night life","urban"],char:'\u{1f3d9}',fitzpatrick_scale:!1,category:"travel_and_places"},night_with_stars:{keywords:["evening","city","downtown"],char:'\u{1f303}',fitzpatrick_scale:!1,category:"travel_and_places"},bridge_at_night:{keywords:["photo","sanfrancisco"],char:'\u{1f309}',fitzpatrick_scale:!1,category:"travel_and_places"},milky_way:{keywords:["photo","space","stars"],char:'\u{1f30c}',fitzpatrick_scale:!1,category:"travel_and_places"},stars:{keywords:["night","photo"],char:'\u{1f320}',fitzpatrick_scale:!1,category:"travel_and_places"},sparkler:{keywords:["stars","night","shine"],char:'\u{1f387}',fitzpatrick_scale:!1,category:"travel_and_places"},fireworks:{keywords:["photo","festival","carnival","congratulations"],char:'\u{1f386}',fitzpatrick_scale:!1,category:"travel_and_places"},rainbow:{keywords:["nature","happy","unicorn_face","photo","sky","spring"],char:'\u{1f308}',fitzpatrick_scale:!1,category:"travel_and_places"},houses:{keywords:["buildings","photo"],char:'\u{1f3d8}',fitzpatrick_scale:!1,category:"travel_and_places"},european_castle:{keywords:["building","royalty","history"],char:'\u{1f3f0}',fitzpatrick_scale:!1,category:"travel_and_places"},japanese_castle:{keywords:["photo","building"],char:'\u{1f3ef}',fitzpatrick_scale:!1,category:"travel_and_places"},stadium:{keywords:["photo","place","sports","concert","venue"],char:'\u{1f3df}',fitzpatrick_scale:!1,category:"travel_and_places"},statue_of_liberty:{keywords:["american","newyork"],char:'\u{1f5fd}',fitzpatrick_scale:!1,category:"travel_and_places"},house:{keywords:["building","home"],char:'\u{1f3e0}',fitzpatrick_scale:!1,category:"travel_and_places"},house_with_garden:{keywords:["home","plant","nature"],char:'\u{1f3e1}',fitzpatrick_scale:!1,category:"travel_and_places"},derelict_house:{keywords:["abandon","evict","broken","building"],char:'\u{1f3da}',fitzpatrick_scale:!1,category:"travel_and_places"},office:{keywords:["building","bureau","work"],char:'\u{1f3e2}',fitzpatrick_scale:!1,category:"travel_and_places"},department_store:{keywords:["building","shopping","mall"],char:'\u{1f3ec}',fitzpatrick_scale:!1,category:"travel_and_places"},post_office:{keywords:["building","envelope","communication"],char:'\u{1f3e3}',fitzpatrick_scale:!1,category:"travel_and_places"},european_post_office:{keywords:["building","email"],char:'\u{1f3e4}',fitzpatrick_scale:!1,category:"travel_and_places"},hospital:{keywords:["building","health","surgery","doctor"],char:'\u{1f3e5}',fitzpatrick_scale:!1,category:"travel_and_places"},bank:{keywords:["building","money","sales","cash","business","enterprise"],char:'\u{1f3e6}',fitzpatrick_scale:!1,category:"travel_and_places"},hotel:{keywords:["building","accomodation","checkin"],char:'\u{1f3e8}',fitzpatrick_scale:!1,category:"travel_and_places"},convenience_store:{keywords:["building","shopping","groceries"],char:'\u{1f3ea}',fitzpatrick_scale:!1,category:"travel_and_places"},school:{keywords:["building","student","education","learn","teach"],char:'\u{1f3eb}',fitzpatrick_scale:!1,category:"travel_and_places"},love_hotel:{keywords:["like","affection","dating"],char:'\u{1f3e9}',fitzpatrick_scale:!1,category:"travel_and_places"},wedding:{keywords:["love","like","affection","couple","marriage","bride","groom"],char:'\u{1f492}',fitzpatrick_scale:!1,category:"travel_and_places"},classical_building:{keywords:["art","culture","history"],char:'\u{1f3db}',fitzpatrick_scale:!1,category:"travel_and_places"},church:{keywords:["building","religion","christ"],char:'\u26ea',fitzpatrick_scale:!1,category:"travel_and_places"},mosque:{keywords:["islam","worship","minaret"],char:'\u{1f54c}',fitzpatrick_scale:!1,category:"travel_and_places"},synagogue:{keywords:["judaism","worship","temple","jewish"],char:'\u{1f54d}',fitzpatrick_scale:!1,category:"travel_and_places"},kaaba:{keywords:["mecca","mosque","islam"],char:'\u{1f54b}',fitzpatrick_scale:!1,category:"travel_and_places"},shinto_shrine:{keywords:["temple","japan","kyoto"],char:'\u26e9',fitzpatrick_scale:!1,category:"travel_and_places"},watch:{keywords:["time","accessories"],char:'\u231a',fitzpatrick_scale:!1,category:"objects"},iphone:{keywords:["technology","apple","gadgets","dial"],char:'\u{1f4f1}',fitzpatrick_scale:!1,category:"objects"},calling:{keywords:["iphone","incoming"],char:'\u{1f4f2}',fitzpatrick_scale:!1,category:"objects"},computer:{keywords:["technology","laptop","screen","display","monitor"],char:'\u{1f4bb}',fitzpatrick_scale:!1,category:"objects"},keyboard:{keywords:["technology","computer","type","input","text"],char:'\u2328',fitzpatrick_scale:!1,category:"objects"},desktop_computer:{keywords:["technology","computing","screen"],char:'\u{1f5a5}',fitzpatrick_scale:!1,category:"objects"},printer:{keywords:["paper","ink"],char:'\u{1f5a8}',fitzpatrick_scale:!1,category:"objects"},computer_mouse:{keywords:["click"],char:'\u{1f5b1}',fitzpatrick_scale:!1,category:"objects"},trackball:{keywords:["technology","trackpad"],char:'\u{1f5b2}',fitzpatrick_scale:!1,category:"objects"},joystick:{keywords:["game","play"],char:'\u{1f579}',fitzpatrick_scale:!1,category:"objects"},clamp:{keywords:["tool"],char:'\u{1f5dc}',fitzpatrick_scale:!1,category:"objects"},minidisc:{keywords:["technology","record","data","disk","90s"],char:'\u{1f4bd}',fitzpatrick_scale:!1,category:"objects"},floppy_disk:{keywords:["oldschool","technology","save","90s","80s"],char:'\u{1f4be}',fitzpatrick_scale:!1,category:"objects"},cd:{keywords:["technology","dvd","disk","disc","90s"],char:'\u{1f4bf}',fitzpatrick_scale:!1,category:"objects"},dvd:{keywords:["cd","disk","disc"],char:'\u{1f4c0}',fitzpatrick_scale:!1,category:"objects"},vhs:{keywords:["record","video","oldschool","90s","80s"],char:'\u{1f4fc}',fitzpatrick_scale:!1,category:"objects"},camera:{keywords:["gadgets","photography"],char:'\u{1f4f7}',fitzpatrick_scale:!1,category:"objects"},camera_flash:{keywords:["photography","gadgets"],char:'\u{1f4f8}',fitzpatrick_scale:!1,category:"objects"},video_camera:{keywords:["film","record"],char:'\u{1f4f9}',fitzpatrick_scale:!1,category:"objects"},movie_camera:{keywords:["film","record"],char:'\u{1f3a5}',fitzpatrick_scale:!1,category:"objects"},film_projector:{keywords:["video","tape","record","movie"],char:'\u{1f4fd}',fitzpatrick_scale:!1,category:"objects"},film_strip:{keywords:["movie"],char:'\u{1f39e}',fitzpatrick_scale:!1,category:"objects"},telephone_receiver:{keywords:["technology","communication","dial"],char:'\u{1f4de}',fitzpatrick_scale:!1,category:"objects"},phone:{keywords:["technology","communication","dial","telephone"],char:'\u260e\ufe0f',fitzpatrick_scale:!1,category:"objects"},pager:{keywords:["bbcall","oldschool","90s"],char:'\u{1f4df}',fitzpatrick_scale:!1,category:"objects"},fax:{keywords:["communication","technology"],char:'\u{1f4e0}',fitzpatrick_scale:!1,category:"objects"},tv:{keywords:["technology","program","oldschool","show","television"],char:'\u{1f4fa}',fitzpatrick_scale:!1,category:"objects"},radio:{keywords:["communication","music","podcast","program"],char:'\u{1f4fb}',fitzpatrick_scale:!1,category:"objects"},studio_microphone:{keywords:["sing","recording","artist","talkshow"],char:'\u{1f399}',fitzpatrick_scale:!1,category:"objects"},level_slider:{keywords:["scale"],char:'\u{1f39a}',fitzpatrick_scale:!1,category:"objects"},control_knobs:{keywords:["dial"],char:'\u{1f39b}',fitzpatrick_scale:!1,category:"objects"},compass:{keywords:["magnetic","navigation","orienteering"],char:'\u{1f9ed}',fitzpatrick_scale:!1,category:"objects"},stopwatch:{keywords:["time","deadline"],char:'\u23f1',fitzpatrick_scale:!1,category:"objects"},timer_clock:{keywords:["alarm"],char:'\u23f2',fitzpatrick_scale:!1,category:"objects"},alarm_clock:{keywords:["time","wake"],char:'\u23f0',fitzpatrick_scale:!1,category:"objects"},mantelpiece_clock:{keywords:["time"],char:'\u{1f570}',fitzpatrick_scale:!1,category:"objects"},hourglass_flowing_sand:{keywords:["oldschool","time","countdown"],char:'\u23f3',fitzpatrick_scale:!1,category:"objects"},hourglass:{keywords:["time","clock","oldschool","limit","exam","quiz","test"],char:'\u231b',fitzpatrick_scale:!1,category:"objects"},satellite:{keywords:["communication","future","radio","space"],char:'\u{1f4e1}',fitzpatrick_scale:!1,category:"objects"},battery:{keywords:["power","energy","sustain"],char:'\u{1f50b}',fitzpatrick_scale:!1,category:"objects"},electric_plug:{keywords:["charger","power"],char:'\u{1f50c}',fitzpatrick_scale:!1,category:"objects"},bulb:{keywords:["light","electricity","idea"],char:'\u{1f4a1}',fitzpatrick_scale:!1,category:"objects"},flashlight:{keywords:["dark","camping","sight","night"],char:'\u{1f526}',fitzpatrick_scale:!1,category:"objects"},candle:{keywords:["fire","wax"],char:'\u{1f56f}',fitzpatrick_scale:!1,category:"objects"},fire_extinguisher:{keywords:["quench"],char:'\u{1f9ef}',fitzpatrick_scale:!1,category:"objects"},wastebasket:{keywords:["bin","trash","rubbish","garbage","toss"],char:'\u{1f5d1}',fitzpatrick_scale:!1,category:"objects"},oil_drum:{keywords:["barrell"],char:'\u{1f6e2}',fitzpatrick_scale:!1,category:"objects"},money_with_wings:{keywords:["dollar","bills","payment","sale"],char:'\u{1f4b8}',fitzpatrick_scale:!1,category:"objects"},dollar:{keywords:["money","sales","bill","currency"],char:'\u{1f4b5}',fitzpatrick_scale:!1,category:"objects"},yen:{keywords:["money","sales","japanese","dollar","currency"],char:'\u{1f4b4}',fitzpatrick_scale:!1,category:"objects"},euro:{keywords:["money","sales","dollar","currency"],char:'\u{1f4b6}',fitzpatrick_scale:!1,category:"objects"},pound:{keywords:["british","sterling","money","sales","bills","uk","england","currency"],char:'\u{1f4b7}',fitzpatrick_scale:!1,category:"objects"},moneybag:{keywords:["dollar","payment","coins","sale"],char:'\u{1f4b0}',fitzpatrick_scale:!1,category:"objects"},credit_card:{keywords:["money","sales","dollar","bill","payment","shopping"],char:'\u{1f4b3}',fitzpatrick_scale:!1,category:"objects"},gem:{keywords:["blue","ruby","diamond","jewelry"],char:'\u{1f48e}',fitzpatrick_scale:!1,category:"objects"},balance_scale:{keywords:["law","fairness","weight"],char:'\u2696',fitzpatrick_scale:!1,category:"objects"},toolbox:{keywords:["tools","diy","fix","maintainer","mechanic"],char:'\u{1f9f0}',fitzpatrick_scale:!1,category:"objects"},wrench:{keywords:["tools","diy","ikea","fix","maintainer"],char:'\u{1f527}',fitzpatrick_scale:!1,category:"objects"},hammer:{keywords:["tools","build","create"],char:'\u{1f528}',fitzpatrick_scale:!1,category:"objects"},hammer_and_pick:{keywords:["tools","build","create"],char:'\u2692',fitzpatrick_scale:!1,category:"objects"},hammer_and_wrench:{keywords:["tools","build","create"],char:'\u{1f6e0}',fitzpatrick_scale:!1,category:"objects"},pick:{keywords:["tools","dig"],char:'\u26cf',fitzpatrick_scale:!1,category:"objects"},nut_and_bolt:{keywords:["handy","tools","fix"],char:'\u{1f529}',fitzpatrick_scale:!1,category:"objects"},gear:{keywords:["cog"],char:'\u2699',fitzpatrick_scale:!1,category:"objects"},brick:{keywords:["bricks"],char:'\u{1f9f1}',fitzpatrick_scale:!1,category:"objects"},chains:{keywords:["lock","arrest"],char:'\u26d3',fitzpatrick_scale:!1,category:"objects"},magnet:{keywords:["attraction","magnetic"],char:'\u{1f9f2}',fitzpatrick_scale:!1,category:"objects"},gun:{keywords:["violence","weapon","pistol","revolver"],char:'\u{1f52b}',fitzpatrick_scale:!1,category:"objects"},bomb:{keywords:["boom","explode","explosion","terrorism"],char:'\u{1f4a3}',fitzpatrick_scale:!1,category:"objects"},firecracker:{keywords:["dynamite","boom","explode","explosion","explosive"],char:'\u{1f9e8}',fitzpatrick_scale:!1,category:"objects"},hocho:{keywords:["knife","blade","cutlery","kitchen","weapon"],char:'\u{1f52a}',fitzpatrick_scale:!1,category:"objects"},dagger:{keywords:["weapon"],char:'\u{1f5e1}',fitzpatrick_scale:!1,category:"objects"},crossed_swords:{keywords:["weapon"],char:'\u2694',fitzpatrick_scale:!1,category:"objects"},shield:{keywords:["protection","security"],char:'\u{1f6e1}',fitzpatrick_scale:!1,category:"objects"},smoking:{keywords:["kills","tobacco","cigarette","joint","smoke"],char:'\u{1f6ac}',fitzpatrick_scale:!1,category:"objects"},skull_and_crossbones:{keywords:["poison","danger","deadly","scary","death","pirate","evil"],char:'\u2620',fitzpatrick_scale:!1,category:"objects"},coffin:{keywords:["vampire","dead","die","death","rip","graveyard","cemetery","casket","funeral","box"],char:'\u26b0',fitzpatrick_scale:!1,category:"objects"},funeral_urn:{keywords:["dead","die","death","rip","ashes"],char:'\u26b1',fitzpatrick_scale:!1,category:"objects"},amphora:{keywords:["vase","jar"],char:'\u{1f3fa}',fitzpatrick_scale:!1,category:"objects"},crystal_ball:{keywords:["disco","party","magic","circus","fortune_teller"],char:'\u{1f52e}',fitzpatrick_scale:!1,category:"objects"},prayer_beads:{keywords:["dhikr","religious"],char:'\u{1f4ff}',fitzpatrick_scale:!1,category:"objects"},nazar_amulet:{keywords:["bead","charm"],char:'\u{1f9ff}',fitzpatrick_scale:!1,category:"objects"},barber:{keywords:["hair","salon","style"],char:'\u{1f488}',fitzpatrick_scale:!1,category:"objects"},alembic:{keywords:["distilling","science","experiment","chemistry"],char:'\u2697',fitzpatrick_scale:!1,category:"objects"},telescope:{keywords:["stars","space","zoom","science","astronomy"],char:'\u{1f52d}',fitzpatrick_scale:!1,category:"objects"},microscope:{keywords:["laboratory","experiment","zoomin","science","study"],char:'\u{1f52c}',fitzpatrick_scale:!1,category:"objects"},hole:{keywords:["embarrassing"],char:'\u{1f573}',fitzpatrick_scale:!1,category:"objects"},pill:{keywords:["health","medicine","doctor","pharmacy","drug"],char:'\u{1f48a}',fitzpatrick_scale:!1,category:"objects"},syringe:{keywords:["health","hospital","drugs","blood","medicine","needle","doctor","nurse"],char:'\u{1f489}',fitzpatrick_scale:!1,category:"objects"},dna:{keywords:["biologist","genetics","life"],char:'\u{1f9ec}',fitzpatrick_scale:!1,category:"objects"},microbe:{keywords:["amoeba","bacteria","germs"],char:'\u{1f9a0}',fitzpatrick_scale:!1,category:"objects"},petri_dish:{keywords:["bacteria","biology","culture","lab"],char:'\u{1f9eb}',fitzpatrick_scale:!1,category:"objects"},test_tube:{keywords:["chemistry","experiment","lab","science"],char:'\u{1f9ea}',fitzpatrick_scale:!1,category:"objects"},thermometer:{keywords:["weather","temperature","hot","cold"],char:'\u{1f321}',fitzpatrick_scale:!1,category:"objects"},broom:{keywords:["cleaning","sweeping","witch"],char:'\u{1f9f9}',fitzpatrick_scale:!1,category:"objects"},basket:{keywords:["laundry"],char:'\u{1f9fa}',fitzpatrick_scale:!1,category:"objects"},toilet_paper:{keywords:["roll"],char:'\u{1f9fb}',fitzpatrick_scale:!1,category:"objects"},label:{keywords:["sale","tag"],char:'\u{1f3f7}',fitzpatrick_scale:!1,category:"objects"},bookmark:{keywords:["favorite","label","save"],char:'\u{1f516}',fitzpatrick_scale:!1,category:"objects"},toilet:{keywords:["restroom","wc","washroom","bathroom","potty"],char:'\u{1f6bd}',fitzpatrick_scale:!1,category:"objects"},shower:{keywords:["clean","water","bathroom"],char:'\u{1f6bf}',fitzpatrick_scale:!1,category:"objects"},bathtub:{keywords:["clean","shower","bathroom"],char:'\u{1f6c1}',fitzpatrick_scale:!1,category:"objects"},soap:{keywords:["bar","bathing","cleaning","lather"],char:'\u{1f9fc}',fitzpatrick_scale:!1,category:"objects"},sponge:{keywords:["absorbing","cleaning","porous"],char:'\u{1f9fd}',fitzpatrick_scale:!1,category:"objects"},lotion_bottle:{keywords:["moisturizer","sunscreen"],char:'\u{1f9f4}',fitzpatrick_scale:!1,category:"objects"},key:{keywords:["lock","door","password"],char:'\u{1f511}',fitzpatrick_scale:!1,category:"objects"},old_key:{keywords:["lock","door","password"],char:'\u{1f5dd}',fitzpatrick_scale:!1,category:"objects"},couch_and_lamp:{keywords:["read","chill"],char:'\u{1f6cb}',fitzpatrick_scale:!1,category:"objects"},sleeping_bed:{keywords:["bed","rest"],char:'\u{1f6cc}',fitzpatrick_scale:!0,category:"objects"},bed:{keywords:["sleep","rest"],char:'\u{1f6cf}',fitzpatrick_scale:!1,category:"objects"},door:{keywords:["house","entry","exit"],char:'\u{1f6aa}',fitzpatrick_scale:!1,category:"objects"},bellhop_bell:{keywords:["service"],char:'\u{1f6ce}',fitzpatrick_scale:!1,category:"objects"},teddy_bear:{keywords:["plush","stuffed"],char:'\u{1f9f8}',fitzpatrick_scale:!1,category:"objects"},framed_picture:{keywords:["photography"],char:'\u{1f5bc}',fitzpatrick_scale:!1,category:"objects"},world_map:{keywords:["location","direction"],char:'\u{1f5fa}',fitzpatrick_scale:!1,category:"objects"},parasol_on_ground:{keywords:["weather","summer"],char:'\u26f1',fitzpatrick_scale:!1,category:"objects"},moyai:{keywords:["rock","easter island","moai"],char:'\u{1f5ff}',fitzpatrick_scale:!1,category:"objects"},shopping:{keywords:["mall","buy","purchase"],char:'\u{1f6cd}',fitzpatrick_scale:!1,category:"objects"},shopping_cart:{keywords:["trolley"],char:'\u{1f6d2}',fitzpatrick_scale:!1,category:"objects"},balloon:{keywords:["party","celebration","birthday","circus"],char:'\u{1f388}',fitzpatrick_scale:!1,category:"objects"},flags:{keywords:["fish","japanese","koinobori","carp","banner"],char:'\u{1f38f}',fitzpatrick_scale:!1,category:"objects"},ribbon:{keywords:["decoration","pink","girl","bowtie"],char:'\u{1f380}',fitzpatrick_scale:!1,category:"objects"},gift:{keywords:["present","birthday","christmas","xmas"],char:'\u{1f381}',fitzpatrick_scale:!1,category:"objects"},confetti_ball:{keywords:["festival","party","birthday","circus"],char:'\u{1f38a}',fitzpatrick_scale:!1,category:"objects"},tada:{keywords:["party","congratulations","birthday","magic","circus","celebration"],char:'\u{1f389}',fitzpatrick_scale:!1,category:"objects"},dolls:{keywords:["japanese","toy","kimono"],char:'\u{1f38e}',fitzpatrick_scale:!1,category:"objects"},wind_chime:{keywords:["nature","ding","spring","bell"],char:'\u{1f390}',fitzpatrick_scale:!1,category:"objects"},crossed_flags:{keywords:["japanese","nation","country","border"],char:'\u{1f38c}',fitzpatrick_scale:!1,category:"objects"},izakaya_lantern:{keywords:["light","paper","halloween","spooky"],char:'\u{1f3ee}',fitzpatrick_scale:!1,category:"objects"},red_envelope:{keywords:["gift"],char:'\u{1f9e7}',fitzpatrick_scale:!1,category:"objects"},email:{keywords:["letter","postal","inbox","communication"],char:'\u2709\ufe0f',fitzpatrick_scale:!1,category:"objects"},envelope_with_arrow:{keywords:["email","communication"],char:'\u{1f4e9}',fitzpatrick_scale:!1,category:"objects"},incoming_envelope:{keywords:["email","inbox"],char:'\u{1f4e8}',fitzpatrick_scale:!1,category:"objects"},"e-mail":{keywords:["communication","inbox"],char:'\u{1f4e7}',fitzpatrick_scale:!1,category:"objects"},love_letter:{keywords:["email","like","affection","envelope","valentines"],char:'\u{1f48c}',fitzpatrick_scale:!1,category:"objects"},postbox:{keywords:["email","letter","envelope"],char:'\u{1f4ee}',fitzpatrick_scale:!1,category:"objects"},mailbox_closed:{keywords:["email","communication","inbox"],char:'\u{1f4ea}',fitzpatrick_scale:!1,category:"objects"},mailbox:{keywords:["email","inbox","communication"],char:'\u{1f4eb}',fitzpatrick_scale:!1,category:"objects"},mailbox_with_mail:{keywords:["email","inbox","communication"],char:'\u{1f4ec}',fitzpatrick_scale:!1,category:"objects"},mailbox_with_no_mail:{keywords:["email","inbox"],char:'\u{1f4ed}',fitzpatrick_scale:!1,category:"objects"},package:{keywords:["mail","gift","cardboard","box","moving"],char:'\u{1f4e6}',fitzpatrick_scale:!1,category:"objects"},postal_horn:{keywords:["instrument","music"],char:'\u{1f4ef}',fitzpatrick_scale:!1,category:"objects"},inbox_tray:{keywords:["email","documents"],char:'\u{1f4e5}',fitzpatrick_scale:!1,category:"objects"},outbox_tray:{keywords:["inbox","email"],char:'\u{1f4e4}',fitzpatrick_scale:!1,category:"objects"},scroll:{keywords:["documents","ancient","history","paper"],char:'\u{1f4dc}',fitzpatrick_scale:!1,category:"objects"},page_with_curl:{keywords:["documents","office","paper"],char:'\u{1f4c3}',fitzpatrick_scale:!1,category:"objects"},bookmark_tabs:{keywords:["favorite","save","order","tidy"],char:'\u{1f4d1}',fitzpatrick_scale:!1,category:"objects"},receipt:{keywords:["accounting","expenses"],char:'\u{1f9fe}',fitzpatrick_scale:!1,category:"objects"},bar_chart:{keywords:["graph","presentation","stats"],char:'\u{1f4ca}',fitzpatrick_scale:!1,category:"objects"},chart_with_upwards_trend:{keywords:["graph","presentation","stats","recovery","business","economics","money","sales","good","success"],char:'\u{1f4c8}',fitzpatrick_scale:!1,category:"objects"},chart_with_downwards_trend:{keywords:["graph","presentation","stats","recession","business","economics","money","sales","bad","failure"],char:'\u{1f4c9}',fitzpatrick_scale:!1,category:"objects"},page_facing_up:{keywords:["documents","office","paper","information"],char:'\u{1f4c4}',fitzpatrick_scale:!1,category:"objects"},date:{keywords:["calendar","schedule"],char:'\u{1f4c5}',fitzpatrick_scale:!1,category:"objects"},calendar:{keywords:["schedule","date","planning"],char:'\u{1f4c6}',fitzpatrick_scale:!1,category:"objects"},spiral_calendar:{keywords:["date","schedule","planning"],char:'\u{1f5d3}',fitzpatrick_scale:!1,category:"objects"},card_index:{keywords:["business","stationery"],char:'\u{1f4c7}',fitzpatrick_scale:!1,category:"objects"},card_file_box:{keywords:["business","stationery"],char:'\u{1f5c3}',fitzpatrick_scale:!1,category:"objects"},ballot_box:{keywords:["election","vote"],char:'\u{1f5f3}',fitzpatrick_scale:!1,category:"objects"},file_cabinet:{keywords:["filing","organizing"],char:'\u{1f5c4}',fitzpatrick_scale:!1,category:"objects"},clipboard:{keywords:["stationery","documents"],char:'\u{1f4cb}',fitzpatrick_scale:!1,category:"objects"},spiral_notepad:{keywords:["memo","stationery"],char:'\u{1f5d2}',fitzpatrick_scale:!1,category:"objects"},file_folder:{keywords:["documents","business","office"],char:'\u{1f4c1}',fitzpatrick_scale:!1,category:"objects"},open_file_folder:{keywords:["documents","load"],char:'\u{1f4c2}',fitzpatrick_scale:!1,category:"objects"},card_index_dividers:{keywords:["organizing","business","stationery"],char:'\u{1f5c2}',fitzpatrick_scale:!1,category:"objects"},newspaper_roll:{keywords:["press","headline"],char:'\u{1f5de}',fitzpatrick_scale:!1,category:"objects"},newspaper:{keywords:["press","headline"],char:'\u{1f4f0}',fitzpatrick_scale:!1,category:"objects"},notebook:{keywords:["stationery","record","notes","paper","study"],char:'\u{1f4d3}',fitzpatrick_scale:!1,category:"objects"},closed_book:{keywords:["read","library","knowledge","textbook","learn"],char:'\u{1f4d5}',fitzpatrick_scale:!1,category:"objects"},green_book:{keywords:["read","library","knowledge","study"],char:'\u{1f4d7}',fitzpatrick_scale:!1,category:"objects"},blue_book:{keywords:["read","library","knowledge","learn","study"],char:'\u{1f4d8}',fitzpatrick_scale:!1,category:"objects"},orange_book:{keywords:["read","library","knowledge","textbook","study"],char:'\u{1f4d9}',fitzpatrick_scale:!1,category:"objects"},notebook_with_decorative_cover:{keywords:["classroom","notes","record","paper","study"],char:'\u{1f4d4}',fitzpatrick_scale:!1,category:"objects"},ledger:{keywords:["notes","paper"],char:'\u{1f4d2}',fitzpatrick_scale:!1,category:"objects"},books:{keywords:["literature","library","study"],char:'\u{1f4da}',fitzpatrick_scale:!1,category:"objects"},open_book:{keywords:["book","read","library","knowledge","literature","learn","study"],char:'\u{1f4d6}',fitzpatrick_scale:!1,category:"objects"},safety_pin:{keywords:["diaper"],char:'\u{1f9f7}',fitzpatrick_scale:!1,category:"objects"},link:{keywords:["rings","url"],char:'\u{1f517}',fitzpatrick_scale:!1,category:"objects"},paperclip:{keywords:["documents","stationery"],char:'\u{1f4ce}',fitzpatrick_scale:!1,category:"objects"},paperclips:{keywords:["documents","stationery"],char:'\u{1f587}',fitzpatrick_scale:!1,category:"objects"},scissors:{keywords:["stationery","cut"],char:'\u2702\ufe0f',fitzpatrick_scale:!1,category:"objects"},triangular_ruler:{keywords:["stationery","math","architect","sketch"],char:'\u{1f4d0}',fitzpatrick_scale:!1,category:"objects"},straight_ruler:{keywords:["stationery","calculate","length","math","school","drawing","architect","sketch"],char:'\u{1f4cf}',fitzpatrick_scale:!1,category:"objects"},abacus:{keywords:["calculation"],char:'\u{1f9ee}',fitzpatrick_scale:!1,category:"objects"},pushpin:{keywords:["stationery","mark","here"],char:'\u{1f4cc}',fitzpatrick_scale:!1,category:"objects"},round_pushpin:{keywords:["stationery","location","map","here"],char:'\u{1f4cd}',fitzpatrick_scale:!1,category:"objects"},triangular_flag_on_post:{keywords:["mark","milestone","place"],char:'\u{1f6a9}',fitzpatrick_scale:!1,category:"objects"},white_flag:{keywords:["losing","loser","lost","surrender","give up","fail"],char:'\u{1f3f3}',fitzpatrick_scale:!1,category:"objects"},black_flag:{keywords:["pirate"],char:'\u{1f3f4}',fitzpatrick_scale:!1,category:"objects"},rainbow_flag:{keywords:["flag","rainbow","pride","gay","lgbt","glbt","queer","homosexual","lesbian","bisexual","transgender"],char:'\u{1f3f3}\ufe0f\u200d\u{1f308}',fitzpatrick_scale:!1,category:"objects"},closed_lock_with_key:{keywords:["security","privacy"],char:'\u{1f510}',fitzpatrick_scale:!1,category:"objects"},lock:{keywords:["security","password","padlock"],char:'\u{1f512}',fitzpatrick_scale:!1,category:"objects"},unlock:{keywords:["privacy","security"],char:'\u{1f513}',fitzpatrick_scale:!1,category:"objects"},lock_with_ink_pen:{keywords:["security","secret"],char:'\u{1f50f}',fitzpatrick_scale:!1,category:"objects"},pen:{keywords:["stationery","writing","write"],char:'\u{1f58a}',fitzpatrick_scale:!1,category:"objects"},fountain_pen:{keywords:["stationery","writing","write"],char:'\u{1f58b}',fitzpatrick_scale:!1,category:"objects"},black_nib:{keywords:["pen","stationery","writing","write"],char:'\u2712\ufe0f',fitzpatrick_scale:!1,category:"objects"},memo:{keywords:["write","documents","stationery","pencil","paper","writing","legal","exam","quiz","test","study","compose"],char:'\u{1f4dd}',fitzpatrick_scale:!1,category:"objects"},pencil2:{keywords:["stationery","write","paper","writing","school","study"],char:'\u270f\ufe0f',fitzpatrick_scale:!1,category:"objects"},crayon:{keywords:["drawing","creativity"],char:'\u{1f58d}',fitzpatrick_scale:!1,category:"objects"},paintbrush:{keywords:["drawing","creativity","art"],char:'\u{1f58c}',fitzpatrick_scale:!1,category:"objects"},mag:{keywords:["search","zoom","find","detective"],char:'\u{1f50d}',fitzpatrick_scale:!1,category:"objects"},mag_right:{keywords:["search","zoom","find","detective"],char:'\u{1f50e}',fitzpatrick_scale:!1,category:"objects"},heart:{keywords:["love","like","valentines"],char:'\u2764\ufe0f',fitzpatrick_scale:!1,category:"symbols"},orange_heart:{keywords:["love","like","affection","valentines"],char:'\u{1f9e1}',fitzpatrick_scale:!1,category:"symbols"},yellow_heart:{keywords:["love","like","affection","valentines"],char:'\u{1f49b}',fitzpatrick_scale:!1,category:"symbols"},green_heart:{keywords:["love","like","affection","valentines"],char:'\u{1f49a}',fitzpatrick_scale:!1,category:"symbols"},blue_heart:{keywords:["love","like","affection","valentines"],char:'\u{1f499}',fitzpatrick_scale:!1,category:"symbols"},purple_heart:{keywords:["love","like","affection","valentines"],char:'\u{1f49c}',fitzpatrick_scale:!1,category:"symbols"},black_heart:{keywords:["evil"],char:'\u{1f5a4}',fitzpatrick_scale:!1,category:"symbols"},broken_heart:{keywords:["sad","sorry","break","heart","heartbreak"],char:'\u{1f494}',fitzpatrick_scale:!1,category:"symbols"},heavy_heart_exclamation:{keywords:["decoration","love"],char:'\u2763',fitzpatrick_scale:!1,category:"symbols"},two_hearts:{keywords:["love","like","affection","valentines","heart"],char:'\u{1f495}',fitzpatrick_scale:!1,category:"symbols"},revolving_hearts:{keywords:["love","like","affection","valentines"],char:'\u{1f49e}',fitzpatrick_scale:!1,category:"symbols"},heartbeat:{keywords:["love","like","affection","valentines","pink","heart"],char:'\u{1f493}',fitzpatrick_scale:!1,category:"symbols"},heartpulse:{keywords:["like","love","affection","valentines","pink"],char:'\u{1f497}',fitzpatrick_scale:!1,category:"symbols"},sparkling_heart:{keywords:["love","like","affection","valentines"],char:'\u{1f496}',fitzpatrick_scale:!1,category:"symbols"},cupid:{keywords:["love","like","heart","affection","valentines"],char:'\u{1f498}',fitzpatrick_scale:!1,category:"symbols"},gift_heart:{keywords:["love","valentines"],char:'\u{1f49d}',fitzpatrick_scale:!1,category:"symbols"},heart_decoration:{keywords:["purple-square","love","like"],char:'\u{1f49f}',fitzpatrick_scale:!1,category:"symbols"},peace_symbol:{keywords:["hippie"],char:'\u262e',fitzpatrick_scale:!1,category:"symbols"},latin_cross:{keywords:["christianity"],char:'\u271d',fitzpatrick_scale:!1,category:"symbols"},star_and_crescent:{keywords:["islam"],char:'\u262a',fitzpatrick_scale:!1,category:"symbols"},om:{keywords:["hinduism","buddhism","sikhism","jainism"],char:'\u{1f549}',fitzpatrick_scale:!1,category:"symbols"},wheel_of_dharma:{keywords:["hinduism","buddhism","sikhism","jainism"],char:'\u2638',fitzpatrick_scale:!1,category:"symbols"},star_of_david:{keywords:["judaism"],char:'\u2721',fitzpatrick_scale:!1,category:"symbols"},six_pointed_star:{keywords:["purple-square","religion","jewish","hexagram"],char:'\u{1f52f}',fitzpatrick_scale:!1,category:"symbols"},menorah:{keywords:["hanukkah","candles","jewish"],char:'\u{1f54e}',fitzpatrick_scale:!1,category:"symbols"},yin_yang:{keywords:["balance"],char:'\u262f',fitzpatrick_scale:!1,category:"symbols"},orthodox_cross:{keywords:["suppedaneum","religion"],char:'\u2626',fitzpatrick_scale:!1,category:"symbols"},place_of_worship:{keywords:["religion","church","temple","prayer"],char:'\u{1f6d0}',fitzpatrick_scale:!1,category:"symbols"},ophiuchus:{keywords:["sign","purple-square","constellation","astrology"],char:'\u26ce',fitzpatrick_scale:!1,category:"symbols"},aries:{keywords:["sign","purple-square","zodiac","astrology"],char:'\u2648',fitzpatrick_scale:!1,category:"symbols"},taurus:{keywords:["purple-square","sign","zodiac","astrology"],char:'\u2649',fitzpatrick_scale:!1,category:"symbols"},gemini:{keywords:["sign","zodiac","purple-square","astrology"],char:'\u264a',fitzpatrick_scale:!1,category:"symbols"},cancer:{keywords:["sign","zodiac","purple-square","astrology"],char:'\u264b',fitzpatrick_scale:!1,category:"symbols"},leo:{keywords:["sign","purple-square","zodiac","astrology"],char:'\u264c',fitzpatrick_scale:!1,category:"symbols"},virgo:{keywords:["sign","zodiac","purple-square","astrology"],char:'\u264d',fitzpatrick_scale:!1,category:"symbols"},libra:{keywords:["sign","purple-square","zodiac","astrology"],char:'\u264e',fitzpatrick_scale:!1,category:"symbols"},scorpius:{keywords:["sign","zodiac","purple-square","astrology","scorpio"],char:'\u264f',fitzpatrick_scale:!1,category:"symbols"},sagittarius:{keywords:["sign","zodiac","purple-square","astrology"],char:'\u2650',fitzpatrick_scale:!1,category:"symbols"},capricorn:{keywords:["sign","zodiac","purple-square","astrology"],char:'\u2651',fitzpatrick_scale:!1,category:"symbols"},aquarius:{keywords:["sign","purple-square","zodiac","astrology"],char:'\u2652',fitzpatrick_scale:!1,category:"symbols"},pisces:{keywords:["purple-square","sign","zodiac","astrology"],char:'\u2653',fitzpatrick_scale:!1,category:"symbols"},id:{keywords:["purple-square","words"],char:'\u{1f194}',fitzpatrick_scale:!1,category:"symbols"},atom_symbol:{keywords:["science","physics","chemistry"],char:'\u269b',fitzpatrick_scale:!1,category:"symbols"},u7a7a:{keywords:["kanji","japanese","chinese","empty","sky","blue-square"],char:'\u{1f233}',fitzpatrick_scale:!1,category:"symbols"},u5272:{keywords:["cut","divide","chinese","kanji","pink-square"],char:'\u{1f239}',fitzpatrick_scale:!1,category:"symbols"},radioactive:{keywords:["nuclear","danger"],char:'\u2622',fitzpatrick_scale:!1,category:"symbols"},biohazard:{keywords:["danger"],char:'\u2623',fitzpatrick_scale:!1,category:"symbols"},mobile_phone_off:{keywords:["mute","orange-square","silence","quiet"],char:'\u{1f4f4}',fitzpatrick_scale:!1,category:"symbols"},vibration_mode:{keywords:["orange-square","phone"],char:'\u{1f4f3}',fitzpatrick_scale:!1,category:"symbols"},u6709:{keywords:["orange-square","chinese","have","kanji"],char:'\u{1f236}',fitzpatrick_scale:!1,category:"symbols"},u7121:{keywords:["nothing","chinese","kanji","japanese","orange-square"],char:'\u{1f21a}',fitzpatrick_scale:!1,category:"symbols"},u7533:{keywords:["chinese","japanese","kanji","orange-square"],char:'\u{1f238}',fitzpatrick_scale:!1,category:"symbols"},u55b6:{keywords:["japanese","opening hours","orange-square"],char:'\u{1f23a}',fitzpatrick_scale:!1,category:"symbols"},u6708:{keywords:["chinese","month","moon","japanese","orange-square","kanji"],char:'\u{1f237}\ufe0f',fitzpatrick_scale:!1,category:"symbols"},eight_pointed_black_star:{keywords:["orange-square","shape","polygon"],char:'\u2734\ufe0f',fitzpatrick_scale:!1,category:"symbols"},vs:{keywords:["words","orange-square"],char:'\u{1f19a}',fitzpatrick_scale:!1,category:"symbols"},accept:{keywords:["ok","good","chinese","kanji","agree","yes","orange-circle"],char:'\u{1f251}',fitzpatrick_scale:!1,category:"symbols"},white_flower:{keywords:["japanese","spring"],char:'\u{1f4ae}',fitzpatrick_scale:!1,category:"symbols"},ideograph_advantage:{keywords:["chinese","kanji","obtain","get","circle"],char:'\u{1f250}',fitzpatrick_scale:!1,category:"symbols"},secret:{keywords:["privacy","chinese","sshh","kanji","red-circle"],char:'\u3299\ufe0f',fitzpatrick_scale:!1,category:"symbols"},congratulations:{keywords:["chinese","kanji","japanese","red-circle"],char:'\u3297\ufe0f',fitzpatrick_scale:!1,category:"symbols"},u5408:{keywords:["japanese","chinese","join","kanji","red-square"],char:'\u{1f234}',fitzpatrick_scale:!1,category:"symbols"},u6e80:{keywords:["full","chinese","japanese","red-square","kanji"],char:'\u{1f235}',fitzpatrick_scale:!1,category:"symbols"},u7981:{keywords:["kanji","japanese","chinese","forbidden","limit","restricted","red-square"],char:'\u{1f232}',fitzpatrick_scale:!1,category:"symbols"},a:{keywords:["red-square","alphabet","letter"],char:'\u{1f170}\ufe0f',fitzpatrick_scale:!1,category:"symbols"},b:{keywords:["red-square","alphabet","letter"],char:'\u{1f171}\ufe0f',fitzpatrick_scale:!1,category:"symbols"},ab:{keywords:["red-square","alphabet"],char:'\u{1f18e}',fitzpatrick_scale:!1,category:"symbols"},cl:{keywords:["alphabet","words","red-square"],char:'\u{1f191}',fitzpatrick_scale:!1,category:"symbols"},o2:{keywords:["alphabet","red-square","letter"],char:'\u{1f17e}\ufe0f',fitzpatrick_scale:!1,category:"symbols"},sos:{keywords:["help","red-square","words","emergency","911"],char:'\u{1f198}',fitzpatrick_scale:!1,category:"symbols"},no_entry:{keywords:["limit","security","privacy","bad","denied","stop","circle"],char:'\u26d4',fitzpatrick_scale:!1,category:"symbols"},name_badge:{keywords:["fire","forbid"],char:'\u{1f4db}',fitzpatrick_scale:!1,category:"symbols"},no_entry_sign:{keywords:["forbid","stop","limit","denied","disallow","circle"],char:'\u{1f6ab}',fitzpatrick_scale:!1,category:"symbols"},x:{keywords:["no","delete","remove","cancel","red"],char:'\u274c',fitzpatrick_scale:!1,category:"symbols"},o:{keywords:["circle","round"],char:'\u2b55',fitzpatrick_scale:!1,category:"symbols"},stop_sign:{keywords:["stop"],char:'\u{1f6d1}',fitzpatrick_scale:!1,category:"symbols"},anger:{keywords:["angry","mad"],char:'\u{1f4a2}',fitzpatrick_scale:!1,category:"symbols"},hotsprings:{keywords:["bath","warm","relax"],char:'\u2668\ufe0f',fitzpatrick_scale:!1,category:"symbols"},no_pedestrians:{keywords:["rules","crossing","walking","circle"],char:'\u{1f6b7}',fitzpatrick_scale:!1,category:"symbols"},do_not_litter:{keywords:["trash","bin","garbage","circle"],char:'\u{1f6af}',fitzpatrick_scale:!1,category:"symbols"},no_bicycles:{keywords:["cyclist","prohibited","circle"],char:'\u{1f6b3}',fitzpatrick_scale:!1,category:"symbols"},"non-potable_water":{keywords:["drink","faucet","tap","circle"],char:'\u{1f6b1}',fitzpatrick_scale:!1,category:"symbols"},underage:{keywords:["18","drink","pub","night","minor","circle"],char:'\u{1f51e}',fitzpatrick_scale:!1,category:"symbols"},no_mobile_phones:{keywords:["iphone","mute","circle"],char:'\u{1f4f5}',fitzpatrick_scale:!1,category:"symbols"},exclamation:{keywords:["heavy_exclamation_mark","danger","surprise","punctuation","wow","warning"],char:'\u2757',fitzpatrick_scale:!1,category:"symbols"},grey_exclamation:{keywords:["surprise","punctuation","gray","wow","warning"],char:'\u2755',fitzpatrick_scale:!1,category:"symbols"},question:{keywords:["doubt","confused"],char:'\u2753',fitzpatrick_scale:!1,category:"symbols"},grey_question:{keywords:["doubts","gray","huh","confused"],char:'\u2754',fitzpatrick_scale:!1,category:"symbols"},bangbang:{keywords:["exclamation","surprise"],char:'\u203c\ufe0f',fitzpatrick_scale:!1,category:"symbols"},interrobang:{keywords:["wat","punctuation","surprise"],char:'\u2049\ufe0f',fitzpatrick_scale:!1,category:"symbols"},low_brightness:{keywords:["sun","afternoon","warm","summer"],char:'\u{1f505}',fitzpatrick_scale:!1,category:"symbols"},high_brightness:{keywords:["sun","light"],char:'\u{1f506}',fitzpatrick_scale:!1,category:"symbols"},trident:{keywords:["weapon","spear"],char:'\u{1f531}',fitzpatrick_scale:!1,category:"symbols"},fleur_de_lis:{keywords:["decorative","scout"],char:'\u269c',fitzpatrick_scale:!1,category:"symbols"},part_alternation_mark:{keywords:["graph","presentation","stats","business","economics","bad"],char:'\u303d\ufe0f',fitzpatrick_scale:!1,category:"symbols"},warning:{keywords:["exclamation","wip","alert","error","problem","issue"],char:'\u26a0\ufe0f',fitzpatrick_scale:!1,category:"symbols"},children_crossing:{keywords:["school","warning","danger","sign","driving","yellow-diamond"],char:'\u{1f6b8}',fitzpatrick_scale:!1,category:"symbols"},beginner:{keywords:["badge","shield"],char:'\u{1f530}',fitzpatrick_scale:!1,category:"symbols"},recycle:{keywords:["arrow","environment","garbage","trash"],char:'\u267b\ufe0f',fitzpatrick_scale:!1,category:"symbols"},u6307:{keywords:["chinese","point","green-square","kanji"],char:'\u{1f22f}',fitzpatrick_scale:!1,category:"symbols"},chart:{keywords:["green-square","graph","presentation","stats"],char:'\u{1f4b9}',fitzpatrick_scale:!1,category:"symbols"},sparkle:{keywords:["stars","green-square","awesome","good","fireworks"],char:'\u2747\ufe0f',fitzpatrick_scale:!1,category:"symbols"},eight_spoked_asterisk:{keywords:["star","sparkle","green-square"],char:'\u2733\ufe0f',fitzpatrick_scale:!1,category:"symbols"},negative_squared_cross_mark:{keywords:["x","green-square","no","deny"],char:'\u274e',fitzpatrick_scale:!1,category:"symbols"},white_check_mark:{keywords:["green-square","ok","agree","vote","election","answer","tick"],char:'\u2705',fitzpatrick_scale:!1,category:"symbols"},diamond_shape_with_a_dot_inside:{keywords:["jewel","blue","gem","crystal","fancy"],char:'\u{1f4a0}',fitzpatrick_scale:!1,category:"symbols"},cyclone:{keywords:["weather","swirl","blue","cloud","vortex","spiral","whirlpool","spin","tornado","hurricane","typhoon"],char:'\u{1f300}',fitzpatrick_scale:!1,category:"symbols"},loop:{keywords:["tape","cassette"],char:'\u27bf',fitzpatrick_scale:!1,category:"symbols"},globe_with_meridians:{keywords:["earth","international","world","internet","interweb","i18n"],char:'\u{1f310}',fitzpatrick_scale:!1,category:"symbols"},m:{keywords:["alphabet","blue-circle","letter"],char:'\u24c2\ufe0f',fitzpatrick_scale:!1,category:"symbols"},atm:{keywords:["money","sales","cash","blue-square","payment","bank"],char:'\u{1f3e7}',fitzpatrick_scale:!1,category:"symbols"},sa:{keywords:["japanese","blue-square","katakana"],char:'\u{1f202}\ufe0f',fitzpatrick_scale:!1,category:"symbols"},passport_control:{keywords:["custom","blue-square"],char:'\u{1f6c2}',fitzpatrick_scale:!1,category:"symbols"},customs:{keywords:["passport","border","blue-square"],char:'\u{1f6c3}',fitzpatrick_scale:!1,category:"symbols"},baggage_claim:{keywords:["blue-square","airport","transport"],char:'\u{1f6c4}',fitzpatrick_scale:!1,category:"symbols"},left_luggage:{keywords:["blue-square","travel"],char:'\u{1f6c5}',fitzpatrick_scale:!1,category:"symbols"},wheelchair:{keywords:["blue-square","disabled","a11y","accessibility"],char:'\u267f',fitzpatrick_scale:!1,category:"symbols"},no_smoking:{keywords:["cigarette","blue-square","smell","smoke"],char:'\u{1f6ad}',fitzpatrick_scale:!1,category:"symbols"},wc:{keywords:["toilet","restroom","blue-square"],char:'\u{1f6be}',fitzpatrick_scale:!1,category:"symbols"},parking:{keywords:["cars","blue-square","alphabet","letter"],char:'\u{1f17f}\ufe0f',fitzpatrick_scale:!1,category:"symbols"},potable_water:{keywords:["blue-square","liquid","restroom","cleaning","faucet"],char:'\u{1f6b0}',fitzpatrick_scale:!1,category:"symbols"},mens:{keywords:["toilet","restroom","wc","blue-square","gender","male"],char:'\u{1f6b9}',fitzpatrick_scale:!1,category:"symbols"},womens:{keywords:["purple-square","woman","female","toilet","loo","restroom","gender"],char:'\u{1f6ba}',fitzpatrick_scale:!1,category:"symbols"},baby_symbol:{keywords:["orange-square","child"],char:'\u{1f6bc}',fitzpatrick_scale:!1,category:"symbols"},restroom:{keywords:["blue-square","toilet","refresh","wc","gender"],char:'\u{1f6bb}',fitzpatrick_scale:!1,category:"symbols"},put_litter_in_its_place:{keywords:["blue-square","sign","human","info"],char:'\u{1f6ae}',fitzpatrick_scale:!1,category:"symbols"},cinema:{keywords:["blue-square","record","film","movie","curtain","stage","theater"],char:'\u{1f3a6}',fitzpatrick_scale:!1,category:"symbols"},signal_strength:{keywords:["blue-square","reception","phone","internet","connection","wifi","bluetooth","bars"],char:'\u{1f4f6}',fitzpatrick_scale:!1,category:"symbols"},koko:{keywords:["blue-square","here","katakana","japanese","destination"],char:'\u{1f201}',fitzpatrick_scale:!1,category:"symbols"},ng:{keywords:["blue-square","words","shape","icon"],char:'\u{1f196}',fitzpatrick_scale:!1,category:"symbols"},ok:{keywords:["good","agree","yes","blue-square"],char:'\u{1f197}',fitzpatrick_scale:!1,category:"symbols"},up:{keywords:["blue-square","above","high"],char:'\u{1f199}',fitzpatrick_scale:!1,category:"symbols"},cool:{keywords:["words","blue-square"],char:'\u{1f192}',fitzpatrick_scale:!1,category:"symbols"},new:{keywords:["blue-square","words","start"],char:'\u{1f195}',fitzpatrick_scale:!1,category:"symbols"},free:{keywords:["blue-square","words"],char:'\u{1f193}',fitzpatrick_scale:!1,category:"symbols"},zero:{keywords:["0","numbers","blue-square","null"],char:'0\ufe0f\u20e3',fitzpatrick_scale:!1,category:"symbols"},one:{keywords:["blue-square","numbers","1"],char:'1\ufe0f\u20e3',fitzpatrick_scale:!1,category:"symbols"},two:{keywords:["numbers","2","prime","blue-square"],char:'2\ufe0f\u20e3',fitzpatrick_scale:!1,category:"symbols"},three:{keywords:["3","numbers","prime","blue-square"],char:'3\ufe0f\u20e3',fitzpatrick_scale:!1,category:"symbols"},four:{keywords:["4","numbers","blue-square"],char:'4\ufe0f\u20e3',fitzpatrick_scale:!1,category:"symbols"},five:{keywords:["5","numbers","blue-square","prime"],char:'5\ufe0f\u20e3',fitzpatrick_scale:!1,category:"symbols"},six:{keywords:["6","numbers","blue-square"],char:'6\ufe0f\u20e3',fitzpatrick_scale:!1,category:"symbols"},seven:{keywords:["7","numbers","blue-square","prime"],char:'7\ufe0f\u20e3',fitzpatrick_scale:!1,category:"symbols"},eight:{keywords:["8","blue-square","numbers"],char:'8\ufe0f\u20e3',fitzpatrick_scale:!1,category:"symbols"},nine:{keywords:["blue-square","numbers","9"],char:'9\ufe0f\u20e3',fitzpatrick_scale:!1,category:"symbols"},keycap_ten:{keywords:["numbers","10","blue-square"],char:'\u{1f51f}',fitzpatrick_scale:!1,category:"symbols"},asterisk:{keywords:["star","keycap"],char:'*\u20e3',fitzpatrick_scale:!1,category:"symbols"},eject_button:{keywords:["blue-square"],char:'\u23cf\ufe0f',fitzpatrick_scale:!1,category:"symbols"},arrow_forward:{keywords:["blue-square","right","direction","play"],char:'\u25b6\ufe0f',fitzpatrick_scale:!1,category:"symbols"},pause_button:{keywords:["pause","blue-square"],char:'\u23f8',fitzpatrick_scale:!1,category:"symbols"},next_track_button:{keywords:["forward","next","blue-square"],char:'\u23ed',fitzpatrick_scale:!1,category:"symbols"},stop_button:{keywords:["blue-square"],char:'\u23f9',fitzpatrick_scale:!1,category:"symbols"},record_button:{keywords:["blue-square"],char:'\u23fa',fitzpatrick_scale:!1,category:"symbols"},play_or_pause_button:{keywords:["blue-square","play","pause"],char:'\u23ef',fitzpatrick_scale:!1,category:"symbols"},previous_track_button:{keywords:["backward"],char:'\u23ee',fitzpatrick_scale:!1,category:"symbols"},fast_forward:{keywords:["blue-square","play","speed","continue"],char:'\u23e9',fitzpatrick_scale:!1,category:"symbols"},rewind:{keywords:["play","blue-square"],char:'\u23ea',fitzpatrick_scale:!1,category:"symbols"},twisted_rightwards_arrows:{keywords:["blue-square","shuffle","music","random"],char:'\u{1f500}',fitzpatrick_scale:!1,category:"symbols"},repeat:{keywords:["loop","record"],char:'\u{1f501}',fitzpatrick_scale:!1,category:"symbols"},repeat_one:{keywords:["blue-square","loop"],char:'\u{1f502}',fitzpatrick_scale:!1,category:"symbols"},arrow_backward:{keywords:["blue-square","left","direction"],char:'\u25c0\ufe0f',fitzpatrick_scale:!1,category:"symbols"},arrow_up_small:{keywords:["blue-square","triangle","direction","point","forward","top"],char:'\u{1f53c}',fitzpatrick_scale:!1,category:"symbols"},arrow_down_small:{keywords:["blue-square","direction","bottom"],char:'\u{1f53d}',fitzpatrick_scale:!1,category:"symbols"},arrow_double_up:{keywords:["blue-square","direction","top"],char:'\u23eb',fitzpatrick_scale:!1,category:"symbols"},arrow_double_down:{keywords:["blue-square","direction","bottom"],char:'\u23ec',fitzpatrick_scale:!1,category:"symbols"},arrow_right:{keywords:["blue-square","next"],char:'\u27a1\ufe0f',fitzpatrick_scale:!1,category:"symbols"},arrow_left:{keywords:["blue-square","previous","back"],char:'\u2b05\ufe0f',fitzpatrick_scale:!1,category:"symbols"},arrow_up:{keywords:["blue-square","continue","top","direction"],char:'\u2b06\ufe0f',fitzpatrick_scale:!1,category:"symbols"},arrow_down:{keywords:["blue-square","direction","bottom"],char:'\u2b07\ufe0f',fitzpatrick_scale:!1,category:"symbols"},arrow_upper_right:{keywords:["blue-square","point","direction","diagonal","northeast"],char:'\u2197\ufe0f',fitzpatrick_scale:!1,category:"symbols"},arrow_lower_right:{keywords:["blue-square","direction","diagonal","southeast"],char:'\u2198\ufe0f',fitzpatrick_scale:!1,category:"symbols"},arrow_lower_left:{keywords:["blue-square","direction","diagonal","southwest"],char:'\u2199\ufe0f',fitzpatrick_scale:!1,category:"symbols"},arrow_upper_left:{keywords:["blue-square","point","direction","diagonal","northwest"],char:'\u2196\ufe0f',fitzpatrick_scale:!1,category:"symbols"},arrow_up_down:{keywords:["blue-square","direction","way","vertical"],char:'\u2195\ufe0f',fitzpatrick_scale:!1,category:"symbols"},left_right_arrow:{keywords:["shape","direction","horizontal","sideways"],char:'\u2194\ufe0f',fitzpatrick_scale:!1,category:"symbols"},arrows_counterclockwise:{keywords:["blue-square","sync","cycle"],char:'\u{1f504}',fitzpatrick_scale:!1,category:"symbols"},arrow_right_hook:{keywords:["blue-square","return","rotate","direction"],char:'\u21aa\ufe0f',fitzpatrick_scale:!1,category:"symbols"},leftwards_arrow_with_hook:{keywords:["back","return","blue-square","undo","enter"],char:'\u21a9\ufe0f',fitzpatrick_scale:!1,category:"symbols"},arrow_heading_up:{keywords:["blue-square","direction","top"],char:'\u2934\ufe0f',fitzpatrick_scale:!1,category:"symbols"},arrow_heading_down:{keywords:["blue-square","direction","bottom"],char:'\u2935\ufe0f',fitzpatrick_scale:!1,category:"symbols"},hash:{keywords:["symbol","blue-square","twitter"],char:'#\ufe0f\u20e3',fitzpatrick_scale:!1,category:"symbols"},information_source:{keywords:["blue-square","alphabet","letter"],char:'\u2139\ufe0f',fitzpatrick_scale:!1,category:"symbols"},abc:{keywords:["blue-square","alphabet"],char:'\u{1f524}',fitzpatrick_scale:!1,category:"symbols"},abcd:{keywords:["blue-square","alphabet"],char:'\u{1f521}',fitzpatrick_scale:!1,category:"symbols"},capital_abcd:{keywords:["alphabet","words","blue-square"],char:'\u{1f520}',fitzpatrick_scale:!1,category:"symbols"},symbols:{keywords:["blue-square","music","note","ampersand","percent","glyphs","characters"],char:'\u{1f523}',fitzpatrick_scale:!1,category:"symbols"},musical_note:{keywords:["score","tone","sound"],char:'\u{1f3b5}',fitzpatrick_scale:!1,category:"symbols"},notes:{keywords:["music","score"],char:'\u{1f3b6}',fitzpatrick_scale:!1,category:"symbols"},wavy_dash:{keywords:["draw","line","moustache","mustache","squiggle","scribble"],char:'\u3030\ufe0f',fitzpatrick_scale:!1,category:"symbols"},curly_loop:{keywords:["scribble","draw","shape","squiggle"],char:'\u27b0',fitzpatrick_scale:!1,category:"symbols"},heavy_check_mark:{keywords:["ok","nike","answer","yes","tick"],char:'\u2714\ufe0f',fitzpatrick_scale:!1,category:"symbols"},arrows_clockwise:{keywords:["sync","cycle","round","repeat"],char:'\u{1f503}',fitzpatrick_scale:!1,category:"symbols"},heavy_plus_sign:{keywords:["math","calculation","addition","more","increase"],char:'\u2795',fitzpatrick_scale:!1,category:"symbols"},heavy_minus_sign:{keywords:["math","calculation","subtract","less"],char:'\u2796',fitzpatrick_scale:!1,category:"symbols"},heavy_division_sign:{keywords:["divide","math","calculation"],char:'\u2797',fitzpatrick_scale:!1,category:"symbols"},heavy_multiplication_x:{keywords:["math","calculation"],char:'\u2716\ufe0f',fitzpatrick_scale:!1,category:"symbols"},infinity:{keywords:["forever"],char:'\u267e',fitzpatrick_scale:!1,category:"symbols"},heavy_dollar_sign:{keywords:["money","sales","payment","currency","buck"],char:'\u{1f4b2}',fitzpatrick_scale:!1,category:"symbols"},currency_exchange:{keywords:["money","sales","dollar","travel"],char:'\u{1f4b1}',fitzpatrick_scale:!1,category:"symbols"},copyright:{keywords:["ip","license","circle","law","legal"],char:'\xa9\ufe0f',fitzpatrick_scale:!1,category:"symbols"},registered:{keywords:["alphabet","circle"],char:'\xae\ufe0f',fitzpatrick_scale:!1,category:"symbols"},tm:{keywords:["trademark","brand","law","legal"],char:'\u2122\ufe0f',fitzpatrick_scale:!1,category:"symbols"},end:{keywords:["words","arrow"],char:'\u{1f51a}',fitzpatrick_scale:!1,category:"symbols"},back:{keywords:["arrow","words","return"],char:'\u{1f519}',fitzpatrick_scale:!1,category:"symbols"},on:{keywords:["arrow","words"],char:'\u{1f51b}',fitzpatrick_scale:!1,category:"symbols"},top:{keywords:["words","blue-square"],char:'\u{1f51d}',fitzpatrick_scale:!1,category:"symbols"},soon:{keywords:["arrow","words"],char:'\u{1f51c}',fitzpatrick_scale:!1,category:"symbols"},ballot_box_with_check:{keywords:["ok","agree","confirm","black-square","vote","election","yes","tick"],char:'\u2611\ufe0f',fitzpatrick_scale:!1,category:"symbols"},radio_button:{keywords:["input","old","music","circle"],char:'\u{1f518}',fitzpatrick_scale:!1,category:"symbols"},white_circle:{keywords:["shape","round"],char:'\u26aa',fitzpatrick_scale:!1,category:"symbols"},black_circle:{keywords:["shape","button","round"],char:'\u26ab',fitzpatrick_scale:!1,category:"symbols"},red_circle:{keywords:["shape","error","danger"],char:'\u{1f534}',fitzpatrick_scale:!1,category:"symbols"},large_blue_circle:{keywords:["shape","icon","button"],char:'\u{1f535}',fitzpatrick_scale:!1,category:"symbols"},small_orange_diamond:{keywords:["shape","jewel","gem"],char:'\u{1f538}',fitzpatrick_scale:!1,category:"symbols"},small_blue_diamond:{keywords:["shape","jewel","gem"],char:'\u{1f539}',fitzpatrick_scale:!1,category:"symbols"},large_orange_diamond:{keywords:["shape","jewel","gem"],char:'\u{1f536}',fitzpatrick_scale:!1,category:"symbols"},large_blue_diamond:{keywords:["shape","jewel","gem"],char:'\u{1f537}',fitzpatrick_scale:!1,category:"symbols"},small_red_triangle:{keywords:["shape","direction","up","top"],char:'\u{1f53a}',fitzpatrick_scale:!1,category:"symbols"},black_small_square:{keywords:["shape","icon"],char:'\u25aa\ufe0f',fitzpatrick_scale:!1,category:"symbols"},white_small_square:{keywords:["shape","icon"],char:'\u25ab\ufe0f',fitzpatrick_scale:!1,category:"symbols"},black_large_square:{keywords:["shape","icon","button"],char:'\u2b1b',fitzpatrick_scale:!1,category:"symbols"},white_large_square:{keywords:["shape","icon","stone","button"],char:'\u2b1c',fitzpatrick_scale:!1,category:"symbols"},small_red_triangle_down:{keywords:["shape","direction","bottom"],char:'\u{1f53b}',fitzpatrick_scale:!1,category:"symbols"},black_medium_square:{keywords:["shape","button","icon"],char:'\u25fc\ufe0f',fitzpatrick_scale:!1,category:"symbols"},white_medium_square:{keywords:["shape","stone","icon"],char:'\u25fb\ufe0f',fitzpatrick_scale:!1,category:"symbols"},black_medium_small_square:{keywords:["icon","shape","button"],char:'\u25fe',fitzpatrick_scale:!1,category:"symbols"},white_medium_small_square:{keywords:["shape","stone","icon","button"],char:'\u25fd',fitzpatrick_scale:!1,category:"symbols"},black_square_button:{keywords:["shape","input","frame"],char:'\u{1f532}',fitzpatrick_scale:!1,category:"symbols"},white_square_button:{keywords:["shape","input"],char:'\u{1f533}',fitzpatrick_scale:!1,category:"symbols"},speaker:{keywords:["sound","volume","silence","broadcast"],char:'\u{1f508}',fitzpatrick_scale:!1,category:"symbols"},sound:{keywords:["volume","speaker","broadcast"],char:'\u{1f509}',fitzpatrick_scale:!1,category:"symbols"},loud_sound:{keywords:["volume","noise","noisy","speaker","broadcast"],char:'\u{1f50a}',fitzpatrick_scale:!1,category:"symbols"},mute:{keywords:["sound","volume","silence","quiet"],char:'\u{1f507}',fitzpatrick_scale:!1,category:"symbols"},mega:{keywords:["sound","speaker","volume"],char:'\u{1f4e3}',fitzpatrick_scale:!1,category:"symbols"},loudspeaker:{keywords:["volume","sound"],char:'\u{1f4e2}',fitzpatrick_scale:!1,category:"symbols"},bell:{keywords:["sound","notification","christmas","xmas","chime"],char:'\u{1f514}',fitzpatrick_scale:!1,category:"symbols"},no_bell:{keywords:["sound","volume","mute","quiet","silent"],char:'\u{1f515}',fitzpatrick_scale:!1,category:"symbols"},black_joker:{keywords:["poker","cards","game","play","magic"],char:'\u{1f0cf}',fitzpatrick_scale:!1,category:"symbols"},mahjong:{keywords:["game","play","chinese","kanji"],char:'\u{1f004}',fitzpatrick_scale:!1,category:"symbols"},spades:{keywords:["poker","cards","suits","magic"],char:'\u2660\ufe0f',fitzpatrick_scale:!1,category:"symbols"},clubs:{keywords:["poker","cards","magic","suits"],char:'\u2663\ufe0f',fitzpatrick_scale:!1,category:"symbols"},hearts:{keywords:["poker","cards","magic","suits"],char:'\u2665\ufe0f',fitzpatrick_scale:!1,category:"symbols"},diamonds:{keywords:["poker","cards","magic","suits"],char:'\u2666\ufe0f',fitzpatrick_scale:!1,category:"symbols"},flower_playing_cards:{keywords:["game","sunset","red"],char:'\u{1f3b4}',fitzpatrick_scale:!1,category:"symbols"},thought_balloon:{keywords:["bubble","cloud","speech","thinking","dream"],char:'\u{1f4ad}',fitzpatrick_scale:!1,category:"symbols"},right_anger_bubble:{keywords:["caption","speech","thinking","mad"],char:'\u{1f5ef}',fitzpatrick_scale:!1,category:"symbols"},speech_balloon:{keywords:["bubble","words","message","talk","chatting"],char:'\u{1f4ac}',fitzpatrick_scale:!1,category:"symbols"},left_speech_bubble:{keywords:["words","message","talk","chatting"],char:'\u{1f5e8}',fitzpatrick_scale:!1,category:"symbols"},clock1:{keywords:["time","late","early","schedule"],char:'\u{1f550}',fitzpatrick_scale:!1,category:"symbols"},clock2:{keywords:["time","late","early","schedule"],char:'\u{1f551}',fitzpatrick_scale:!1,category:"symbols"},clock3:{keywords:["time","late","early","schedule"],char:'\u{1f552}',fitzpatrick_scale:!1,category:"symbols"},clock4:{keywords:["time","late","early","schedule"],char:'\u{1f553}',fitzpatrick_scale:!1,category:"symbols"},clock5:{keywords:["time","late","early","schedule"],char:'\u{1f554}',fitzpatrick_scale:!1,category:"symbols"},clock6:{keywords:["time","late","early","schedule","dawn","dusk"],char:'\u{1f555}',fitzpatrick_scale:!1,category:"symbols"},clock7:{keywords:["time","late","early","schedule"],char:'\u{1f556}',fitzpatrick_scale:!1,category:"symbols"},clock8:{keywords:["time","late","early","schedule"],char:'\u{1f557}',fitzpatrick_scale:!1,category:"symbols"},clock9:{keywords:["time","late","early","schedule"],char:'\u{1f558}',fitzpatrick_scale:!1,category:"symbols"},clock10:{keywords:["time","late","early","schedule"],char:'\u{1f559}',fitzpatrick_scale:!1,category:"symbols"},clock11:{keywords:["time","late","early","schedule"],char:'\u{1f55a}',fitzpatrick_scale:!1,category:"symbols"},clock12:{keywords:["time","noon","midnight","midday","late","early","schedule"],char:'\u{1f55b}',fitzpatrick_scale:!1,category:"symbols"},clock130:{keywords:["time","late","early","schedule"],char:'\u{1f55c}',fitzpatrick_scale:!1,category:"symbols"},clock230:{keywords:["time","late","early","schedule"],char:'\u{1f55d}',fitzpatrick_scale:!1,category:"symbols"},clock330:{keywords:["time","late","early","schedule"],char:'\u{1f55e}',fitzpatrick_scale:!1,category:"symbols"},clock430:{keywords:["time","late","early","schedule"],char:'\u{1f55f}',fitzpatrick_scale:!1,category:"symbols"},clock530:{keywords:["time","late","early","schedule"],char:'\u{1f560}',fitzpatrick_scale:!1,category:"symbols"},clock630:{keywords:["time","late","early","schedule"],char:'\u{1f561}',fitzpatrick_scale:!1,category:"symbols"},clock730:{keywords:["time","late","early","schedule"],char:'\u{1f562}',fitzpatrick_scale:!1,category:"symbols"},clock830:{keywords:["time","late","early","schedule"],char:'\u{1f563}',fitzpatrick_scale:!1,category:"symbols"},clock930:{keywords:["time","late","early","schedule"],char:'\u{1f564}',fitzpatrick_scale:!1,category:"symbols"},clock1030:{keywords:["time","late","early","schedule"],char:'\u{1f565}',fitzpatrick_scale:!1,category:"symbols"},clock1130:{keywords:["time","late","early","schedule"],char:'\u{1f566}',fitzpatrick_scale:!1,category:"symbols"},clock1230:{keywords:["time","late","early","schedule"],char:'\u{1f567}',fitzpatrick_scale:!1,category:"symbols"},afghanistan:{keywords:["af","flag","nation","country","banner"],char:'\u{1f1e6}\u{1f1eb}',fitzpatrick_scale:!1,category:"flags"},aland_islands:{keywords:["\xc5land","islands","flag","nation","country","banner"],char:'\u{1f1e6}\u{1f1fd}',fitzpatrick_scale:!1,category:"flags"},albania:{keywords:["al","flag","nation","country","banner"],char:'\u{1f1e6}\u{1f1f1}',fitzpatrick_scale:!1,category:"flags"},algeria:{keywords:["dz","flag","nation","country","banner"],char:'\u{1f1e9}\u{1f1ff}',fitzpatrick_scale:!1,category:"flags"},american_samoa:{keywords:["american","ws","flag","nation","country","banner"],char:'\u{1f1e6}\u{1f1f8}',fitzpatrick_scale:!1,category:"flags"},andorra:{keywords:["ad","flag","nation","country","banner"],char:'\u{1f1e6}\u{1f1e9}',fitzpatrick_scale:!1,category:"flags"},angola:{keywords:["ao","flag","nation","country","banner"],char:'\u{1f1e6}\u{1f1f4}',fitzpatrick_scale:!1,category:"flags"},anguilla:{keywords:["ai","flag","nation","country","banner"],char:'\u{1f1e6}\u{1f1ee}',fitzpatrick_scale:!1,category:"flags"},antarctica:{keywords:["aq","flag","nation","country","banner"],char:'\u{1f1e6}\u{1f1f6}',fitzpatrick_scale:!1,category:"flags"},antigua_barbuda:{keywords:["antigua","barbuda","flag","nation","country","banner"],char:'\u{1f1e6}\u{1f1ec}',fitzpatrick_scale:!1,category:"flags"},argentina:{keywords:["ar","flag","nation","country","banner"],char:'\u{1f1e6}\u{1f1f7}',fitzpatrick_scale:!1,category:"flags"},armenia:{keywords:["am","flag","nation","country","banner"],char:'\u{1f1e6}\u{1f1f2}',fitzpatrick_scale:!1,category:"flags"},aruba:{keywords:["aw","flag","nation","country","banner"],char:'\u{1f1e6}\u{1f1fc}',fitzpatrick_scale:!1,category:"flags"},australia:{keywords:["au","flag","nation","country","banner"],char:'\u{1f1e6}\u{1f1fa}',fitzpatrick_scale:!1,category:"flags"},austria:{keywords:["at","flag","nation","country","banner"],char:'\u{1f1e6}\u{1f1f9}',fitzpatrick_scale:!1,category:"flags"},azerbaijan:{keywords:["az","flag","nation","country","banner"],char:'\u{1f1e6}\u{1f1ff}',fitzpatrick_scale:!1,category:"flags"},bahamas:{keywords:["bs","flag","nation","country","banner"],char:'\u{1f1e7}\u{1f1f8}',fitzpatrick_scale:!1,category:"flags"},bahrain:{keywords:["bh","flag","nation","country","banner"],char:'\u{1f1e7}\u{1f1ed}',fitzpatrick_scale:!1,category:"flags"},bangladesh:{keywords:["bd","flag","nation","country","banner"],char:'\u{1f1e7}\u{1f1e9}',fitzpatrick_scale:!1,category:"flags"},barbados:{keywords:["bb","flag","nation","country","banner"],char:'\u{1f1e7}\u{1f1e7}',fitzpatrick_scale:!1,category:"flags"},belarus:{keywords:["by","flag","nation","country","banner"],char:'\u{1f1e7}\u{1f1fe}',fitzpatrick_scale:!1,category:"flags"},belgium:{keywords:["be","flag","nation","country","banner"],char:'\u{1f1e7}\u{1f1ea}',fitzpatrick_scale:!1,category:"flags"},belize:{keywords:["bz","flag","nation","country","banner"],char:'\u{1f1e7}\u{1f1ff}',fitzpatrick_scale:!1,category:"flags"},benin:{keywords:["bj","flag","nation","country","banner"],char:'\u{1f1e7}\u{1f1ef}',fitzpatrick_scale:!1,category:"flags"},bermuda:{keywords:["bm","flag","nation","country","banner"],char:'\u{1f1e7}\u{1f1f2}',fitzpatrick_scale:!1,category:"flags"},bhutan:{keywords:["bt","flag","nation","country","banner"],char:'\u{1f1e7}\u{1f1f9}',fitzpatrick_scale:!1,category:"flags"},bolivia:{keywords:["bo","flag","nation","country","banner"],char:'\u{1f1e7}\u{1f1f4}',fitzpatrick_scale:!1,category:"flags"},caribbean_netherlands:{keywords:["bonaire","flag","nation","country","banner"],char:'\u{1f1e7}\u{1f1f6}',fitzpatrick_scale:!1,category:"flags"},bosnia_herzegovina:{keywords:["bosnia","herzegovina","flag","nation","country","banner"],char:'\u{1f1e7}\u{1f1e6}',fitzpatrick_scale:!1,category:"flags"},botswana:{keywords:["bw","flag","nation","country","banner"],char:'\u{1f1e7}\u{1f1fc}',fitzpatrick_scale:!1,category:"flags"},brazil:{keywords:["br","flag","nation","country","banner"],char:'\u{1f1e7}\u{1f1f7}',fitzpatrick_scale:!1,category:"flags"},british_indian_ocean_territory:{keywords:["british","indian","ocean","territory","flag","nation","country","banner"],char:'\u{1f1ee}\u{1f1f4}',fitzpatrick_scale:!1,category:"flags"},british_virgin_islands:{keywords:["british","virgin","islands","bvi","flag","nation","country","banner"],char:'\u{1f1fb}\u{1f1ec}',fitzpatrick_scale:!1,category:"flags"},brunei:{keywords:["bn","darussalam","flag","nation","country","banner"],char:'\u{1f1e7}\u{1f1f3}',fitzpatrick_scale:!1,category:"flags"},bulgaria:{keywords:["bg","flag","nation","country","banner"],char:'\u{1f1e7}\u{1f1ec}',fitzpatrick_scale:!1,category:"flags"},burkina_faso:{keywords:["burkina","faso","flag","nation","country","banner"],char:'\u{1f1e7}\u{1f1eb}',fitzpatrick_scale:!1,category:"flags"},burundi:{keywords:["bi","flag","nation","country","banner"],char:'\u{1f1e7}\u{1f1ee}',fitzpatrick_scale:!1,category:"flags"},cape_verde:{keywords:["cabo","verde","flag","nation","country","banner"],char:'\u{1f1e8}\u{1f1fb}',fitzpatrick_scale:!1,category:"flags"},cambodia:{keywords:["kh","flag","nation","country","banner"],char:'\u{1f1f0}\u{1f1ed}',fitzpatrick_scale:!1,category:"flags"},cameroon:{keywords:["cm","flag","nation","country","banner"],char:'\u{1f1e8}\u{1f1f2}',fitzpatrick_scale:!1,category:"flags"},canada:{keywords:["ca","flag","nation","country","banner"],char:'\u{1f1e8}\u{1f1e6}',fitzpatrick_scale:!1,category:"flags"},canary_islands:{keywords:["canary","islands","flag","nation","country","banner"],char:'\u{1f1ee}\u{1f1e8}',fitzpatrick_scale:!1,category:"flags"},cayman_islands:{keywords:["cayman","islands","flag","nation","country","banner"],char:'\u{1f1f0}\u{1f1fe}',fitzpatrick_scale:!1,category:"flags"},central_african_republic:{keywords:["central","african","republic","flag","nation","country","banner"],char:'\u{1f1e8}\u{1f1eb}',fitzpatrick_scale:!1,category:"flags"},chad:{keywords:["td","flag","nation","country","banner"],char:'\u{1f1f9}\u{1f1e9}',fitzpatrick_scale:!1,category:"flags"},chile:{keywords:["flag","nation","country","banner"],char:'\u{1f1e8}\u{1f1f1}',fitzpatrick_scale:!1,category:"flags"},cn:{keywords:["china","chinese","prc","flag","country","nation","banner"],char:'\u{1f1e8}\u{1f1f3}',fitzpatrick_scale:!1,category:"flags"},christmas_island:{keywords:["christmas","island","flag","nation","country","banner"],char:'\u{1f1e8}\u{1f1fd}',fitzpatrick_scale:!1,category:"flags"},cocos_islands:{keywords:["cocos","keeling","islands","flag","nation","country","banner"],char:'\u{1f1e8}\u{1f1e8}',fitzpatrick_scale:!1,category:"flags"},colombia:{keywords:["co","flag","nation","country","banner"],char:'\u{1f1e8}\u{1f1f4}',fitzpatrick_scale:!1,category:"flags"},comoros:{keywords:["km","flag","nation","country","banner"],char:'\u{1f1f0}\u{1f1f2}',fitzpatrick_scale:!1,category:"flags"},congo_brazzaville:{keywords:["congo","flag","nation","country","banner"],char:'\u{1f1e8}\u{1f1ec}',fitzpatrick_scale:!1,category:"flags"},congo_kinshasa:{keywords:["congo","democratic","republic","flag","nation","country","banner"],char:'\u{1f1e8}\u{1f1e9}',fitzpatrick_scale:!1,category:"flags"},cook_islands:{keywords:["cook","islands","flag","nation","country","banner"],char:'\u{1f1e8}\u{1f1f0}',fitzpatrick_scale:!1,category:"flags"},costa_rica:{keywords:["costa","rica","flag","nation","country","banner"],char:'\u{1f1e8}\u{1f1f7}',fitzpatrick_scale:!1,category:"flags"},croatia:{keywords:["hr","flag","nation","country","banner"],char:'\u{1f1ed}\u{1f1f7}',fitzpatrick_scale:!1,category:"flags"},cuba:{keywords:["cu","flag","nation","country","banner"],char:'\u{1f1e8}\u{1f1fa}',fitzpatrick_scale:!1,category:"flags"},curacao:{keywords:["cura\xe7ao","flag","nation","country","banner"],char:'\u{1f1e8}\u{1f1fc}',fitzpatrick_scale:!1,category:"flags"},cyprus:{keywords:["cy","flag","nation","country","banner"],char:'\u{1f1e8}\u{1f1fe}',fitzpatrick_scale:!1,category:"flags"},czech_republic:{keywords:["cz","flag","nation","country","banner"],char:'\u{1f1e8}\u{1f1ff}',fitzpatrick_scale:!1,category:"flags"},denmark:{keywords:["dk","flag","nation","country","banner"],char:'\u{1f1e9}\u{1f1f0}',fitzpatrick_scale:!1,category:"flags"},djibouti:{keywords:["dj","flag","nation","country","banner"],char:'\u{1f1e9}\u{1f1ef}',fitzpatrick_scale:!1,category:"flags"},dominica:{keywords:["dm","flag","nation","country","banner"],char:'\u{1f1e9}\u{1f1f2}',fitzpatrick_scale:!1,category:"flags"},dominican_republic:{keywords:["dominican","republic","flag","nation","country","banner"],char:'\u{1f1e9}\u{1f1f4}',fitzpatrick_scale:!1,category:"flags"},ecuador:{keywords:["ec","flag","nation","country","banner"],char:'\u{1f1ea}\u{1f1e8}',fitzpatrick_scale:!1,category:"flags"},egypt:{keywords:["eg","flag","nation","country","banner"],char:'\u{1f1ea}\u{1f1ec}',fitzpatrick_scale:!1,category:"flags"},el_salvador:{keywords:["el","salvador","flag","nation","country","banner"],char:'\u{1f1f8}\u{1f1fb}',fitzpatrick_scale:!1,category:"flags"},equatorial_guinea:{keywords:["equatorial","gn","flag","nation","country","banner"],char:'\u{1f1ec}\u{1f1f6}',fitzpatrick_scale:!1,category:"flags"},eritrea:{keywords:["er","flag","nation","country","banner"],char:'\u{1f1ea}\u{1f1f7}',fitzpatrick_scale:!1,category:"flags"},estonia:{keywords:["ee","flag","nation","country","banner"],char:'\u{1f1ea}\u{1f1ea}',fitzpatrick_scale:!1,category:"flags"},ethiopia:{keywords:["et","flag","nation","country","banner"],char:'\u{1f1ea}\u{1f1f9}',fitzpatrick_scale:!1,category:"flags"},eu:{keywords:["european","union","flag","banner"],char:'\u{1f1ea}\u{1f1fa}',fitzpatrick_scale:!1,category:"flags"},falkland_islands:{keywords:["falkland","islands","malvinas","flag","nation","country","banner"],char:'\u{1f1eb}\u{1f1f0}',fitzpatrick_scale:!1,category:"flags"},faroe_islands:{keywords:["faroe","islands","flag","nation","country","banner"],char:'\u{1f1eb}\u{1f1f4}',fitzpatrick_scale:!1,category:"flags"},fiji:{keywords:["fj","flag","nation","country","banner"],char:'\u{1f1eb}\u{1f1ef}',fitzpatrick_scale:!1,category:"flags"},finland:{keywords:["fi","flag","nation","country","banner"],char:'\u{1f1eb}\u{1f1ee}',fitzpatrick_scale:!1,category:"flags"},fr:{keywords:["banner","flag","nation","france","french","country"],char:'\u{1f1eb}\u{1f1f7}',fitzpatrick_scale:!1,category:"flags"},french_guiana:{keywords:["french","guiana","flag","nation","country","banner"],char:'\u{1f1ec}\u{1f1eb}',fitzpatrick_scale:!1,category:"flags"},french_polynesia:{keywords:["french","polynesia","flag","nation","country","banner"],char:'\u{1f1f5}\u{1f1eb}',fitzpatrick_scale:!1,category:"flags"},french_southern_territories:{keywords:["french","southern","territories","flag","nation","country","banner"],char:'\u{1f1f9}\u{1f1eb}',fitzpatrick_scale:!1,category:"flags"},gabon:{keywords:["ga","flag","nation","country","banner"],char:'\u{1f1ec}\u{1f1e6}',fitzpatrick_scale:!1,category:"flags"},gambia:{keywords:["gm","flag","nation","country","banner"],char:'\u{1f1ec}\u{1f1f2}',fitzpatrick_scale:!1,category:"flags"},georgia:{keywords:["ge","flag","nation","country","banner"],char:'\u{1f1ec}\u{1f1ea}',fitzpatrick_scale:!1,category:"flags"},de:{keywords:["german","nation","flag","country","banner"],char:'\u{1f1e9}\u{1f1ea}',fitzpatrick_scale:!1,category:"flags"},ghana:{keywords:["gh","flag","nation","country","banner"],char:'\u{1f1ec}\u{1f1ed}',fitzpatrick_scale:!1,category:"flags"},gibraltar:{keywords:["gi","flag","nation","country","banner"],char:'\u{1f1ec}\u{1f1ee}',fitzpatrick_scale:!1,category:"flags"},greece:{keywords:["gr","flag","nation","country","banner"],char:'\u{1f1ec}\u{1f1f7}',fitzpatrick_scale:!1,category:"flags"},greenland:{keywords:["gl","flag","nation","country","banner"],char:'\u{1f1ec}\u{1f1f1}',fitzpatrick_scale:!1,category:"flags"},grenada:{keywords:["gd","flag","nation","country","banner"],char:'\u{1f1ec}\u{1f1e9}',fitzpatrick_scale:!1,category:"flags"},guadeloupe:{keywords:["gp","flag","nation","country","banner"],char:'\u{1f1ec}\u{1f1f5}',fitzpatrick_scale:!1,category:"flags"},guam:{keywords:["gu","flag","nation","country","banner"],char:'\u{1f1ec}\u{1f1fa}',fitzpatrick_scale:!1,category:"flags"},guatemala:{keywords:["gt","flag","nation","country","banner"],char:'\u{1f1ec}\u{1f1f9}',fitzpatrick_scale:!1,category:"flags"},guernsey:{keywords:["gg","flag","nation","country","banner"],char:'\u{1f1ec}\u{1f1ec}',fitzpatrick_scale:!1,category:"flags"},guinea:{keywords:["gn","flag","nation","country","banner"],char:'\u{1f1ec}\u{1f1f3}',fitzpatrick_scale:!1,category:"flags"},guinea_bissau:{keywords:["gw","bissau","flag","nation","country","banner"],char:'\u{1f1ec}\u{1f1fc}',fitzpatrick_scale:!1,category:"flags"},guyana:{keywords:["gy","flag","nation","country","banner"],char:'\u{1f1ec}\u{1f1fe}',fitzpatrick_scale:!1,category:"flags"},haiti:{keywords:["ht","flag","nation","country","banner"],char:'\u{1f1ed}\u{1f1f9}',fitzpatrick_scale:!1,category:"flags"},honduras:{keywords:["hn","flag","nation","country","banner"],char:'\u{1f1ed}\u{1f1f3}',fitzpatrick_scale:!1,category:"flags"},hong_kong:{keywords:["hong","kong","flag","nation","country","banner"],char:'\u{1f1ed}\u{1f1f0}',fitzpatrick_scale:!1,category:"flags"},hungary:{keywords:["hu","flag","nation","country","banner"],char:'\u{1f1ed}\u{1f1fa}',fitzpatrick_scale:!1,category:"flags"},iceland:{keywords:["is","flag","nation","country","banner"],char:'\u{1f1ee}\u{1f1f8}',fitzpatrick_scale:!1,category:"flags"},india:{keywords:["in","flag","nation","country","banner"],char:'\u{1f1ee}\u{1f1f3}',fitzpatrick_scale:!1,category:"flags"},indonesia:{keywords:["flag","nation","country","banner"],char:'\u{1f1ee}\u{1f1e9}',fitzpatrick_scale:!1,category:"flags"},iran:{keywords:["iran,","islamic","republic","flag","nation","country","banner"],char:'\u{1f1ee}\u{1f1f7}',fitzpatrick_scale:!1,category:"flags"},iraq:{keywords:["iq","flag","nation","country","banner"],char:'\u{1f1ee}\u{1f1f6}',fitzpatrick_scale:!1,category:"flags"},ireland:{keywords:["ie","flag","nation","country","banner"],char:'\u{1f1ee}\u{1f1ea}',fitzpatrick_scale:!1,category:"flags"},isle_of_man:{keywords:["isle","man","flag","nation","country","banner"],char:'\u{1f1ee}\u{1f1f2}',fitzpatrick_scale:!1,category:"flags"},israel:{keywords:["il","flag","nation","country","banner"],char:'\u{1f1ee}\u{1f1f1}',fitzpatrick_scale:!1,category:"flags"},it:{keywords:["italy","flag","nation","country","banner"],char:'\u{1f1ee}\u{1f1f9}',fitzpatrick_scale:!1,category:"flags"},cote_divoire:{keywords:["ivory","coast","flag","nation","country","banner"],char:'\u{1f1e8}\u{1f1ee}',fitzpatrick_scale:!1,category:"flags"},jamaica:{keywords:["jm","flag","nation","country","banner"],char:'\u{1f1ef}\u{1f1f2}',fitzpatrick_scale:!1,category:"flags"},jp:{keywords:["japanese","nation","flag","country","banner"],char:'\u{1f1ef}\u{1f1f5}',fitzpatrick_scale:!1,category:"flags"},jersey:{keywords:["je","flag","nation","country","banner"],char:'\u{1f1ef}\u{1f1ea}',fitzpatrick_scale:!1,category:"flags"},jordan:{keywords:["jo","flag","nation","country","banner"],char:'\u{1f1ef}\u{1f1f4}',fitzpatrick_scale:!1,category:"flags"},kazakhstan:{keywords:["kz","flag","nation","country","banner"],char:'\u{1f1f0}\u{1f1ff}',fitzpatrick_scale:!1,category:"flags"},kenya:{keywords:["ke","flag","nation","country","banner"],char:'\u{1f1f0}\u{1f1ea}',fitzpatrick_scale:!1,category:"flags"},kiribati:{keywords:["ki","flag","nation","country","banner"],char:'\u{1f1f0}\u{1f1ee}',fitzpatrick_scale:!1,category:"flags"},kosovo:{keywords:["xk","flag","nation","country","banner"],char:'\u{1f1fd}\u{1f1f0}',fitzpatrick_scale:!1,category:"flags"},kuwait:{keywords:["kw","flag","nation","country","banner"],char:'\u{1f1f0}\u{1f1fc}',fitzpatrick_scale:!1,category:"flags"},kyrgyzstan:{keywords:["kg","flag","nation","country","banner"],char:'\u{1f1f0}\u{1f1ec}',fitzpatrick_scale:!1,category:"flags"},laos:{keywords:["lao","democratic","republic","flag","nation","country","banner"],char:'\u{1f1f1}\u{1f1e6}',fitzpatrick_scale:!1,category:"flags"},latvia:{keywords:["lv","flag","nation","country","banner"],char:'\u{1f1f1}\u{1f1fb}',fitzpatrick_scale:!1,category:"flags"},lebanon:{keywords:["lb","flag","nation","country","banner"],char:'\u{1f1f1}\u{1f1e7}',fitzpatrick_scale:!1,category:"flags"},lesotho:{keywords:["ls","flag","nation","country","banner"],char:'\u{1f1f1}\u{1f1f8}',fitzpatrick_scale:!1,category:"flags"},liberia:{keywords:["lr","flag","nation","country","banner"],char:'\u{1f1f1}\u{1f1f7}',fitzpatrick_scale:!1,category:"flags"},libya:{keywords:["ly","flag","nation","country","banner"],char:'\u{1f1f1}\u{1f1fe}',fitzpatrick_scale:!1,category:"flags"},liechtenstein:{keywords:["li","flag","nation","country","banner"],char:'\u{1f1f1}\u{1f1ee}',fitzpatrick_scale:!1,category:"flags"},lithuania:{keywords:["lt","flag","nation","country","banner"],char:'\u{1f1f1}\u{1f1f9}',fitzpatrick_scale:!1,category:"flags"},luxembourg:{keywords:["lu","flag","nation","country","banner"],char:'\u{1f1f1}\u{1f1fa}',fitzpatrick_scale:!1,category:"flags"},macau:{keywords:["macao","flag","nation","country","banner"],char:'\u{1f1f2}\u{1f1f4}',fitzpatrick_scale:!1,category:"flags"},macedonia:{keywords:["macedonia,","flag","nation","country","banner"],char:'\u{1f1f2}\u{1f1f0}',fitzpatrick_scale:!1,category:"flags"},madagascar:{keywords:["mg","flag","nation","country","banner"],char:'\u{1f1f2}\u{1f1ec}',fitzpatrick_scale:!1,category:"flags"},malawi:{keywords:["mw","flag","nation","country","banner"],char:'\u{1f1f2}\u{1f1fc}',fitzpatrick_scale:!1,category:"flags"},malaysia:{keywords:["my","flag","nation","country","banner"],char:'\u{1f1f2}\u{1f1fe}',fitzpatrick_scale:!1,category:"flags"},maldives:{keywords:["mv","flag","nation","country","banner"],char:'\u{1f1f2}\u{1f1fb}',fitzpatrick_scale:!1,category:"flags"},mali:{keywords:["ml","flag","nation","country","banner"],char:'\u{1f1f2}\u{1f1f1}',fitzpatrick_scale:!1,category:"flags"},malta:{keywords:["mt","flag","nation","country","banner"],char:'\u{1f1f2}\u{1f1f9}',fitzpatrick_scale:!1,category:"flags"},marshall_islands:{keywords:["marshall","islands","flag","nation","country","banner"],char:'\u{1f1f2}\u{1f1ed}',fitzpatrick_scale:!1,category:"flags"},martinique:{keywords:["mq","flag","nation","country","banner"],char:'\u{1f1f2}\u{1f1f6}',fitzpatrick_scale:!1,category:"flags"},mauritania:{keywords:["mr","flag","nation","country","banner"],char:'\u{1f1f2}\u{1f1f7}',fitzpatrick_scale:!1,category:"flags"},mauritius:{keywords:["mu","flag","nation","country","banner"],char:'\u{1f1f2}\u{1f1fa}',fitzpatrick_scale:!1,category:"flags"},mayotte:{keywords:["yt","flag","nation","country","banner"],char:'\u{1f1fe}\u{1f1f9}',fitzpatrick_scale:!1,category:"flags"},mexico:{keywords:["mx","flag","nation","country","banner"],char:'\u{1f1f2}\u{1f1fd}',fitzpatrick_scale:!1,category:"flags"},micronesia:{keywords:["micronesia,","federated","states","flag","nation","country","banner"],char:'\u{1f1eb}\u{1f1f2}',fitzpatrick_scale:!1,category:"flags"},moldova:{keywords:["moldova,","republic","flag","nation","country","banner"],char:'\u{1f1f2}\u{1f1e9}',fitzpatrick_scale:!1,category:"flags"},monaco:{keywords:["mc","flag","nation","country","banner"],char:'\u{1f1f2}\u{1f1e8}',fitzpatrick_scale:!1,category:"flags"},mongolia:{keywords:["mn","flag","nation","country","banner"],char:'\u{1f1f2}\u{1f1f3}',fitzpatrick_scale:!1,category:"flags"},montenegro:{keywords:["me","flag","nation","country","banner"],char:'\u{1f1f2}\u{1f1ea}',fitzpatrick_scale:!1,category:"flags"},montserrat:{keywords:["ms","flag","nation","country","banner"],char:'\u{1f1f2}\u{1f1f8}',fitzpatrick_scale:!1,category:"flags"},morocco:{keywords:["ma","flag","nation","country","banner"],char:'\u{1f1f2}\u{1f1e6}',fitzpatrick_scale:!1,category:"flags"},mozambique:{keywords:["mz","flag","nation","country","banner"],char:'\u{1f1f2}\u{1f1ff}',fitzpatrick_scale:!1,category:"flags"},myanmar:{keywords:["mm","flag","nation","country","banner"],char:'\u{1f1f2}\u{1f1f2}',fitzpatrick_scale:!1,category:"flags"},namibia:{keywords:["na","flag","nation","country","banner"],char:'\u{1f1f3}\u{1f1e6}',fitzpatrick_scale:!1,category:"flags"},nauru:{keywords:["nr","flag","nation","country","banner"],char:'\u{1f1f3}\u{1f1f7}',fitzpatrick_scale:!1,category:"flags"},nepal:{keywords:["np","flag","nation","country","banner"],char:'\u{1f1f3}\u{1f1f5}',fitzpatrick_scale:!1,category:"flags"},netherlands:{keywords:["nl","flag","nation","country","banner"],char:'\u{1f1f3}\u{1f1f1}',fitzpatrick_scale:!1,category:"flags"},new_caledonia:{keywords:["new","caledonia","flag","nation","country","banner"],char:'\u{1f1f3}\u{1f1e8}',fitzpatrick_scale:!1,category:"flags"},new_zealand:{keywords:["new","zealand","flag","nation","country","banner"],char:'\u{1f1f3}\u{1f1ff}',fitzpatrick_scale:!1,category:"flags"},nicaragua:{keywords:["ni","flag","nation","country","banner"],char:'\u{1f1f3}\u{1f1ee}',fitzpatrick_scale:!1,category:"flags"},niger:{keywords:["ne","flag","nation","country","banner"],char:'\u{1f1f3}\u{1f1ea}',fitzpatrick_scale:!1,category:"flags"},nigeria:{keywords:["flag","nation","country","banner"],char:'\u{1f1f3}\u{1f1ec}',fitzpatrick_scale:!1,category:"flags"},niue:{keywords:["nu","flag","nation","country","banner"],char:'\u{1f1f3}\u{1f1fa}',fitzpatrick_scale:!1,category:"flags"},norfolk_island:{keywords:["norfolk","island","flag","nation","country","banner"],char:'\u{1f1f3}\u{1f1eb}',fitzpatrick_scale:!1,category:"flags"},northern_mariana_islands:{keywords:["northern","mariana","islands","flag","nation","country","banner"],char:'\u{1f1f2}\u{1f1f5}',fitzpatrick_scale:!1,category:"flags"},north_korea:{keywords:["north","korea","nation","flag","country","banner"],char:'\u{1f1f0}\u{1f1f5}',fitzpatrick_scale:!1,category:"flags"},norway:{keywords:["no","flag","nation","country","banner"],char:'\u{1f1f3}\u{1f1f4}',fitzpatrick_scale:!1,category:"flags"},oman:{keywords:["om_symbol","flag","nation","country","banner"],char:'\u{1f1f4}\u{1f1f2}',fitzpatrick_scale:!1,category:"flags"},pakistan:{keywords:["pk","flag","nation","country","banner"],char:'\u{1f1f5}\u{1f1f0}',fitzpatrick_scale:!1,category:"flags"},palau:{keywords:["pw","flag","nation","country","banner"],char:'\u{1f1f5}\u{1f1fc}',fitzpatrick_scale:!1,category:"flags"},palestinian_territories:{keywords:["palestine","palestinian","territories","flag","nation","country","banner"],char:'\u{1f1f5}\u{1f1f8}',fitzpatrick_scale:!1,category:"flags"},panama:{keywords:["pa","flag","nation","country","banner"],char:'\u{1f1f5}\u{1f1e6}',fitzpatrick_scale:!1,category:"flags"},papua_new_guinea:{keywords:["papua","new","guinea","flag","nation","country","banner"],char:'\u{1f1f5}\u{1f1ec}',fitzpatrick_scale:!1,category:"flags"},paraguay:{keywords:["py","flag","nation","country","banner"],char:'\u{1f1f5}\u{1f1fe}',fitzpatrick_scale:!1,category:"flags"},peru:{keywords:["pe","flag","nation","country","banner"],char:'\u{1f1f5}\u{1f1ea}',fitzpatrick_scale:!1,category:"flags"},philippines:{keywords:["ph","flag","nation","country","banner"],char:'\u{1f1f5}\u{1f1ed}',fitzpatrick_scale:!1,category:"flags"},pitcairn_islands:{keywords:["pitcairn","flag","nation","country","banner"],char:'\u{1f1f5}\u{1f1f3}',fitzpatrick_scale:!1,category:"flags"},poland:{keywords:["pl","flag","nation","country","banner"],char:'\u{1f1f5}\u{1f1f1}',fitzpatrick_scale:!1,category:"flags"},portugal:{keywords:["pt","flag","nation","country","banner"],char:'\u{1f1f5}\u{1f1f9}',fitzpatrick_scale:!1,category:"flags"},puerto_rico:{keywords:["puerto","rico","flag","nation","country","banner"],char:'\u{1f1f5}\u{1f1f7}',fitzpatrick_scale:!1,category:"flags"},qatar:{keywords:["qa","flag","nation","country","banner"],char:'\u{1f1f6}\u{1f1e6}',fitzpatrick_scale:!1,category:"flags"},reunion:{keywords:["r\xe9union","flag","nation","country","banner"],char:'\u{1f1f7}\u{1f1ea}',fitzpatrick_scale:!1,category:"flags"},romania:{keywords:["ro","flag","nation","country","banner"],char:'\u{1f1f7}\u{1f1f4}',fitzpatrick_scale:!1,category:"flags"},ru:{keywords:["russian","federation","flag","nation","country","banner"],char:'\u{1f1f7}\u{1f1fa}',fitzpatrick_scale:!1,category:"flags"},rwanda:{keywords:["rw","flag","nation","country","banner"],char:'\u{1f1f7}\u{1f1fc}',fitzpatrick_scale:!1,category:"flags"},st_barthelemy:{keywords:["saint","barth\xe9lemy","flag","nation","country","banner"],char:'\u{1f1e7}\u{1f1f1}',fitzpatrick_scale:!1,category:"flags"},st_helena:{keywords:["saint","helena","ascension","tristan","cunha","flag","nation","country","banner"],char:'\u{1f1f8}\u{1f1ed}',fitzpatrick_scale:!1,category:"flags"},st_kitts_nevis:{keywords:["saint","kitts","nevis","flag","nation","country","banner"],char:'\u{1f1f0}\u{1f1f3}',fitzpatrick_scale:!1,category:"flags"},st_lucia:{keywords:["saint","lucia","flag","nation","country","banner"],char:'\u{1f1f1}\u{1f1e8}',fitzpatrick_scale:!1,category:"flags"},st_pierre_miquelon:{keywords:["saint","pierre","miquelon","flag","nation","country","banner"],char:'\u{1f1f5}\u{1f1f2}',fitzpatrick_scale:!1,category:"flags"},st_vincent_grenadines:{keywords:["saint","vincent","grenadines","flag","nation","country","banner"],char:'\u{1f1fb}\u{1f1e8}',fitzpatrick_scale:!1,category:"flags"},samoa:{keywords:["ws","flag","nation","country","banner"],char:'\u{1f1fc}\u{1f1f8}',fitzpatrick_scale:!1,category:"flags"},san_marino:{keywords:["san","marino","flag","nation","country","banner"],char:'\u{1f1f8}\u{1f1f2}',fitzpatrick_scale:!1,category:"flags"},sao_tome_principe:{keywords:["sao","tome","principe","flag","nation","country","banner"],char:'\u{1f1f8}\u{1f1f9}',fitzpatrick_scale:!1,category:"flags"},saudi_arabia:{keywords:["flag","nation","country","banner"],char:'\u{1f1f8}\u{1f1e6}',fitzpatrick_scale:!1,category:"flags"},senegal:{keywords:["sn","flag","nation","country","banner"],char:'\u{1f1f8}\u{1f1f3}',fitzpatrick_scale:!1,category:"flags"},serbia:{keywords:["rs","flag","nation","country","banner"],char:'\u{1f1f7}\u{1f1f8}',fitzpatrick_scale:!1,category:"flags"},seychelles:{keywords:["sc","flag","nation","country","banner"],char:'\u{1f1f8}\u{1f1e8}',fitzpatrick_scale:!1,category:"flags"},sierra_leone:{keywords:["sierra","leone","flag","nation","country","banner"],char:'\u{1f1f8}\u{1f1f1}',fitzpatrick_scale:!1,category:"flags"},singapore:{keywords:["sg","flag","nation","country","banner"],char:'\u{1f1f8}\u{1f1ec}',fitzpatrick_scale:!1,category:"flags"},sint_maarten:{keywords:["sint","maarten","dutch","flag","nation","country","banner"],char:'\u{1f1f8}\u{1f1fd}',fitzpatrick_scale:!1,category:"flags"},slovakia:{keywords:["sk","flag","nation","country","banner"],char:'\u{1f1f8}\u{1f1f0}',fitzpatrick_scale:!1,category:"flags"},slovenia:{keywords:["si","flag","nation","country","banner"],char:'\u{1f1f8}\u{1f1ee}',fitzpatrick_scale:!1,category:"flags"},solomon_islands:{keywords:["solomon","islands","flag","nation","country","banner"],char:'\u{1f1f8}\u{1f1e7}',fitzpatrick_scale:!1,category:"flags"},somalia:{keywords:["so","flag","nation","country","banner"],char:'\u{1f1f8}\u{1f1f4}',fitzpatrick_scale:!1,category:"flags"},south_africa:{keywords:["south","africa","flag","nation","country","banner"],char:'\u{1f1ff}\u{1f1e6}',fitzpatrick_scale:!1,category:"flags"},south_georgia_south_sandwich_islands:{keywords:["south","georgia","sandwich","islands","flag","nation","country","banner"],char:'\u{1f1ec}\u{1f1f8}',fitzpatrick_scale:!1,category:"flags"},kr:{keywords:["south","korea","nation","flag","country","banner"],char:'\u{1f1f0}\u{1f1f7}',fitzpatrick_scale:!1,category:"flags"},south_sudan:{keywords:["south","sd","flag","nation","country","banner"],char:'\u{1f1f8}\u{1f1f8}',fitzpatrick_scale:!1,category:"flags"},es:{keywords:["spain","flag","nation","country","banner"],char:'\u{1f1ea}\u{1f1f8}',fitzpatrick_scale:!1,category:"flags"},sri_lanka:{keywords:["sri","lanka","flag","nation","country","banner"],char:'\u{1f1f1}\u{1f1f0}',fitzpatrick_scale:!1,category:"flags"},sudan:{keywords:["sd","flag","nation","country","banner"],char:'\u{1f1f8}\u{1f1e9}',fitzpatrick_scale:!1,category:"flags"},suriname:{keywords:["sr","flag","nation","country","banner"],char:'\u{1f1f8}\u{1f1f7}',fitzpatrick_scale:!1,category:"flags"},swaziland:{keywords:["sz","flag","nation","country","banner"],char:'\u{1f1f8}\u{1f1ff}',fitzpatrick_scale:!1,category:"flags"},sweden:{keywords:["se","flag","nation","country","banner"],char:'\u{1f1f8}\u{1f1ea}',fitzpatrick_scale:!1,category:"flags"},switzerland:{keywords:["ch","flag","nation","country","banner"],char:'\u{1f1e8}\u{1f1ed}',fitzpatrick_scale:!1,category:"flags"},syria:{keywords:["syrian","arab","republic","flag","nation","country","banner"],char:'\u{1f1f8}\u{1f1fe}',fitzpatrick_scale:!1,category:"flags"},taiwan:{keywords:["tw","flag","nation","country","banner"],char:'\u{1f1f9}\u{1f1fc}',fitzpatrick_scale:!1,category:"flags"},tajikistan:{keywords:["tj","flag","nation","country","banner"],char:'\u{1f1f9}\u{1f1ef}',fitzpatrick_scale:!1,category:"flags"},tanzania:{keywords:["tanzania,","united","republic","flag","nation","country","banner"],char:'\u{1f1f9}\u{1f1ff}',fitzpatrick_scale:!1,category:"flags"},thailand:{keywords:["th","flag","nation","country","banner"],char:'\u{1f1f9}\u{1f1ed}',fitzpatrick_scale:!1,category:"flags"},timor_leste:{keywords:["timor","leste","flag","nation","country","banner"],char:'\u{1f1f9}\u{1f1f1}',fitzpatrick_scale:!1,category:"flags"},togo:{keywords:["tg","flag","nation","country","banner"],char:'\u{1f1f9}\u{1f1ec}',fitzpatrick_scale:!1,category:"flags"},tokelau:{keywords:["tk","flag","nation","country","banner"],char:'\u{1f1f9}\u{1f1f0}',fitzpatrick_scale:!1,category:"flags"},tonga:{keywords:["to","flag","nation","country","banner"],char:'\u{1f1f9}\u{1f1f4}',fitzpatrick_scale:!1,category:"flags"},trinidad_tobago:{keywords:["trinidad","tobago","flag","nation","country","banner"],char:'\u{1f1f9}\u{1f1f9}',fitzpatrick_scale:!1,category:"flags"},tunisia:{keywords:["tn","flag","nation","country","banner"],char:'\u{1f1f9}\u{1f1f3}',fitzpatrick_scale:!1,category:"flags"},tr:{keywords:["turkey","flag","nation","country","banner"],char:'\u{1f1f9}\u{1f1f7}',fitzpatrick_scale:!1,category:"flags"},turkmenistan:{keywords:["flag","nation","country","banner"],char:'\u{1f1f9}\u{1f1f2}',fitzpatrick_scale:!1,category:"flags"},turks_caicos_islands:{keywords:["turks","caicos","islands","flag","nation","country","banner"],char:'\u{1f1f9}\u{1f1e8}',fitzpatrick_scale:!1,category:"flags"},tuvalu:{keywords:["flag","nation","country","banner"],char:'\u{1f1f9}\u{1f1fb}',fitzpatrick_scale:!1,category:"flags"},uganda:{keywords:["ug","flag","nation","country","banner"],char:'\u{1f1fa}\u{1f1ec}',fitzpatrick_scale:!1,category:"flags"},ukraine:{keywords:["ua","flag","nation","country","banner"],char:'\u{1f1fa}\u{1f1e6}',fitzpatrick_scale:!1,category:"flags"},united_arab_emirates:{keywords:["united","arab","emirates","flag","nation","country","banner"],char:'\u{1f1e6}\u{1f1ea}',fitzpatrick_scale:!1,category:"flags"},uk:{keywords:["united","kingdom","great","britain","northern","ireland","flag","nation","country","banner","british","UK","english","england","union jack"],char:'\u{1f1ec}\u{1f1e7}',fitzpatrick_scale:!1,category:"flags"},england:{keywords:["flag","english"],char:'\u{1f3f4}\u{e0067}\u{e0062}\u{e0065}\u{e006e}\u{e0067}\u{e007f}',fitzpatrick_scale:!1,category:"flags"},scotland:{keywords:["flag","scottish"],char:'\u{1f3f4}\u{e0067}\u{e0062}\u{e0073}\u{e0063}\u{e0074}\u{e007f}',fitzpatrick_scale:!1,category:"flags"},wales:{keywords:["flag","welsh"],char:'\u{1f3f4}\u{e0067}\u{e0062}\u{e0077}\u{e006c}\u{e0073}\u{e007f}',fitzpatrick_scale:!1,category:"flags"},us:{keywords:["united","states","america","flag","nation","country","banner"],char:'\u{1f1fa}\u{1f1f8}',fitzpatrick_scale:!1,category:"flags"},us_virgin_islands:{keywords:["virgin","islands","us","flag","nation","country","banner"],char:'\u{1f1fb}\u{1f1ee}',fitzpatrick_scale:!1,category:"flags"},uruguay:{keywords:["uy","flag","nation","country","banner"],char:'\u{1f1fa}\u{1f1fe}',fitzpatrick_scale:!1,category:"flags"},uzbekistan:{keywords:["uz","flag","nation","country","banner"],char:'\u{1f1fa}\u{1f1ff}',fitzpatrick_scale:!1,category:"flags"},vanuatu:{keywords:["vu","flag","nation","country","banner"],char:'\u{1f1fb}\u{1f1fa}',fitzpatrick_scale:!1,category:"flags"},vatican_city:{keywords:["vatican","city","flag","nation","country","banner"],char:'\u{1f1fb}\u{1f1e6}',fitzpatrick_scale:!1,category:"flags"},venezuela:{keywords:["ve","bolivarian","republic","flag","nation","country","banner"],char:'\u{1f1fb}\u{1f1ea}',fitzpatrick_scale:!1,category:"flags"},vietnam:{keywords:["viet","nam","flag","nation","country","banner"],char:'\u{1f1fb}\u{1f1f3}',fitzpatrick_scale:!1,category:"flags"},wallis_futuna:{keywords:["wallis","futuna","flag","nation","country","banner"],char:'\u{1f1fc}\u{1f1eb}',fitzpatrick_scale:!1,category:"flags"},western_sahara:{keywords:["western","sahara","flag","nation","country","banner"],char:'\u{1f1ea}\u{1f1ed}',fitzpatrick_scale:!1,category:"flags"},yemen:{keywords:["ye","flag","nation","country","banner"],char:'\u{1f1fe}\u{1f1ea}',fitzpatrick_scale:!1,category:"flags"},zambia:{keywords:["zm","flag","nation","country","banner"],char:'\u{1f1ff}\u{1f1f2}',fitzpatrick_scale:!1,category:"flags"},zimbabwe:{keywords:["zw","flag","nation","country","banner"],char:'\u{1f1ff}\u{1f1fc}',fitzpatrick_scale:!1,category:"flags"},united_nations:{keywords:["un","flag","banner"],char:'\u{1f1fa}\u{1f1f3}',fitzpatrick_scale:!1,category:"flags"},pirate_flag:{keywords:["skull","crossbones","flag","banner"],char:'\u{1f3f4}\u200d\u2620\ufe0f',fitzpatrick_scale:!1,category:"flags"}}); \ No newline at end of file diff --git a/frontend/public/tinymce/plugins/emoticons/js/emojis.js b/frontend/public/tinymce/plugins/emoticons/js/emojis.js deleted file mode 100644 index 88455e9..0000000 --- a/frontend/public/tinymce/plugins/emoticons/js/emojis.js +++ /dev/null @@ -1 +0,0 @@ -window.tinymce.Resource.add("tinymce.plugins.emoticons",{grinning:{keywords:["face","smile","happy","joy",":D","grin"],char:"😀",fitzpatrick_scale:false,category:"people"},grimacing:{keywords:["face","grimace","teeth"],char:"😬",fitzpatrick_scale:false,category:"people"},grin:{keywords:["face","happy","smile","joy","kawaii"],char:"😁",fitzpatrick_scale:false,category:"people"},joy:{keywords:["face","cry","tears","weep","happy","happytears","haha"],char:"😂",fitzpatrick_scale:false,category:"people"},rofl:{keywords:["face","rolling","floor","laughing","lol","haha"],char:"🤣",fitzpatrick_scale:false,category:"people"},partying:{keywords:["face","celebration","woohoo"],char:"🥳",fitzpatrick_scale:false,category:"people"},smiley:{keywords:["face","happy","joy","haha",":D",":)","smile","funny"],char:"😃",fitzpatrick_scale:false,category:"people"},smile:{keywords:["face","happy","joy","funny","haha","laugh","like",":D",":)"],char:"😄",fitzpatrick_scale:false,category:"people"},sweat_smile:{keywords:["face","hot","happy","laugh","sweat","smile","relief"],char:"😅",fitzpatrick_scale:false,category:"people"},laughing:{keywords:["happy","joy","lol","satisfied","haha","face","glad","XD","laugh"],char:"😆",fitzpatrick_scale:false,category:"people"},innocent:{keywords:["face","angel","heaven","halo"],char:"😇",fitzpatrick_scale:false,category:"people"},wink:{keywords:["face","happy","mischievous","secret",";)","smile","eye"],char:"😉",fitzpatrick_scale:false,category:"people"},blush:{keywords:["face","smile","happy","flushed","crush","embarrassed","shy","joy"],char:"😊",fitzpatrick_scale:false,category:"people"},slightly_smiling_face:{keywords:["face","smile"],char:"🙂",fitzpatrick_scale:false,category:"people"},upside_down_face:{keywords:["face","flipped","silly","smile"],char:"🙃",fitzpatrick_scale:false,category:"people"},relaxed:{keywords:["face","blush","massage","happiness"],char:"☺️",fitzpatrick_scale:false,category:"people"},yum:{keywords:["happy","joy","tongue","smile","face","silly","yummy","nom","delicious","savouring"],char:"😋",fitzpatrick_scale:false,category:"people"},relieved:{keywords:["face","relaxed","phew","massage","happiness"],char:"😌",fitzpatrick_scale:false,category:"people"},heart_eyes:{keywords:["face","love","like","affection","valentines","infatuation","crush","heart"],char:"😍",fitzpatrick_scale:false,category:"people"},smiling_face_with_three_hearts:{keywords:["face","love","like","affection","valentines","infatuation","crush","hearts","adore"],char:"🥰",fitzpatrick_scale:false,category:"people"},kissing_heart:{keywords:["face","love","like","affection","valentines","infatuation","kiss"],char:"😘",fitzpatrick_scale:false,category:"people"},kissing:{keywords:["love","like","face","3","valentines","infatuation","kiss"],char:"😗",fitzpatrick_scale:false,category:"people"},kissing_smiling_eyes:{keywords:["face","affection","valentines","infatuation","kiss"],char:"😙",fitzpatrick_scale:false,category:"people"},kissing_closed_eyes:{keywords:["face","love","like","affection","valentines","infatuation","kiss"],char:"😚",fitzpatrick_scale:false,category:"people"},stuck_out_tongue_winking_eye:{keywords:["face","prank","childish","playful","mischievous","smile","wink","tongue"],char:"😜",fitzpatrick_scale:false,category:"people"},zany:{keywords:["face","goofy","crazy"],char:"🤪",fitzpatrick_scale:false,category:"people"},raised_eyebrow:{keywords:["face","distrust","scepticism","disapproval","disbelief","surprise"],char:"🤨",fitzpatrick_scale:false,category:"people"},monocle:{keywords:["face","stuffy","wealthy"],char:"🧐",fitzpatrick_scale:false,category:"people"},stuck_out_tongue_closed_eyes:{keywords:["face","prank","playful","mischievous","smile","tongue"],char:"😝",fitzpatrick_scale:false,category:"people"},stuck_out_tongue:{keywords:["face","prank","childish","playful","mischievous","smile","tongue"],char:"😛",fitzpatrick_scale:false,category:"people"},money_mouth_face:{keywords:["face","rich","dollar","money"],char:"🤑",fitzpatrick_scale:false,category:"people"},nerd_face:{keywords:["face","nerdy","geek","dork"],char:"🤓",fitzpatrick_scale:false,category:"people"},sunglasses:{keywords:["face","cool","smile","summer","beach","sunglass"],char:"😎",fitzpatrick_scale:false,category:"people"},star_struck:{keywords:["face","smile","starry","eyes","grinning"],char:"🤩",fitzpatrick_scale:false,category:"people"},clown_face:{keywords:["face"],char:"🤡",fitzpatrick_scale:false,category:"people"},cowboy_hat_face:{keywords:["face","cowgirl","hat"],char:"🤠",fitzpatrick_scale:false,category:"people"},hugs:{keywords:["face","smile","hug"],char:"🤗",fitzpatrick_scale:false,category:"people"},smirk:{keywords:["face","smile","mean","prank","smug","sarcasm"],char:"😏",fitzpatrick_scale:false,category:"people"},no_mouth:{keywords:["face","hellokitty"],char:"😶",fitzpatrick_scale:false,category:"people"},neutral_face:{keywords:["indifference","meh",":|","neutral"],char:"😐",fitzpatrick_scale:false,category:"people"},expressionless:{keywords:["face","indifferent","-_-","meh","deadpan"],char:"😑",fitzpatrick_scale:false,category:"people"},unamused:{keywords:["indifference","bored","straight face","serious","sarcasm","unimpressed","skeptical","dubious","side_eye"],char:"😒",fitzpatrick_scale:false,category:"people"},roll_eyes:{keywords:["face","eyeroll","frustrated"],char:"🙄",fitzpatrick_scale:false,category:"people"},thinking:{keywords:["face","hmmm","think","consider"],char:"🤔",fitzpatrick_scale:false,category:"people"},lying_face:{keywords:["face","lie","pinocchio"],char:"🤥",fitzpatrick_scale:false,category:"people"},hand_over_mouth:{keywords:["face","whoops","shock","surprise"],char:"🤭",fitzpatrick_scale:false,category:"people"},shushing:{keywords:["face","quiet","shhh"],char:"🤫",fitzpatrick_scale:false,category:"people"},symbols_over_mouth:{keywords:["face","swearing","cursing","cussing","profanity","expletive"],char:"🤬",fitzpatrick_scale:false,category:"people"},exploding_head:{keywords:["face","shocked","mind","blown"],char:"🤯",fitzpatrick_scale:false,category:"people"},flushed:{keywords:["face","blush","shy","flattered"],char:"😳",fitzpatrick_scale:false,category:"people"},disappointed:{keywords:["face","sad","upset","depressed",":("],char:"😞",fitzpatrick_scale:false,category:"people"},worried:{keywords:["face","concern","nervous",":("],char:"😟",fitzpatrick_scale:false,category:"people"},angry:{keywords:["mad","face","annoyed","frustrated"],char:"😠",fitzpatrick_scale:false,category:"people"},rage:{keywords:["angry","mad","hate","despise"],char:"😡",fitzpatrick_scale:false,category:"people"},pensive:{keywords:["face","sad","depressed","upset"],char:"😔",fitzpatrick_scale:false,category:"people"},confused:{keywords:["face","indifference","huh","weird","hmmm",":/"],char:"😕",fitzpatrick_scale:false,category:"people"},slightly_frowning_face:{keywords:["face","frowning","disappointed","sad","upset"],char:"🙁",fitzpatrick_scale:false,category:"people"},frowning_face:{keywords:["face","sad","upset","frown"],char:"☹",fitzpatrick_scale:false,category:"people"},persevere:{keywords:["face","sick","no","upset","oops"],char:"😣",fitzpatrick_scale:false,category:"people"},confounded:{keywords:["face","confused","sick","unwell","oops",":S"],char:"😖",fitzpatrick_scale:false,category:"people"},tired_face:{keywords:["sick","whine","upset","frustrated"],char:"😫",fitzpatrick_scale:false,category:"people"},weary:{keywords:["face","tired","sleepy","sad","frustrated","upset"],char:"😩",fitzpatrick_scale:false,category:"people"},pleading:{keywords:["face","begging","mercy"],char:"🥺",fitzpatrick_scale:false,category:"people"},triumph:{keywords:["face","gas","phew","proud","pride"],char:"😤",fitzpatrick_scale:false,category:"people"},open_mouth:{keywords:["face","surprise","impressed","wow","whoa",":O"],char:"😮",fitzpatrick_scale:false,category:"people"},scream:{keywords:["face","munch","scared","omg"],char:"😱",fitzpatrick_scale:false,category:"people"},fearful:{keywords:["face","scared","terrified","nervous","oops","huh"],char:"😨",fitzpatrick_scale:false,category:"people"},cold_sweat:{keywords:["face","nervous","sweat"],char:"😰",fitzpatrick_scale:false,category:"people"},hushed:{keywords:["face","woo","shh"],char:"😯",fitzpatrick_scale:false,category:"people"},frowning:{keywords:["face","aw","what"],char:"😦",fitzpatrick_scale:false,category:"people"},anguished:{keywords:["face","stunned","nervous"],char:"😧",fitzpatrick_scale:false,category:"people"},cry:{keywords:["face","tears","sad","depressed","upset",":'("],char:"😢",fitzpatrick_scale:false,category:"people"},disappointed_relieved:{keywords:["face","phew","sweat","nervous"],char:"😥",fitzpatrick_scale:false,category:"people"},drooling_face:{keywords:["face"],char:"🤤",fitzpatrick_scale:false,category:"people"},sleepy:{keywords:["face","tired","rest","nap"],char:"😪",fitzpatrick_scale:false,category:"people"},sweat:{keywords:["face","hot","sad","tired","exercise"],char:"😓",fitzpatrick_scale:false,category:"people"},hot:{keywords:["face","feverish","heat","red","sweating"],char:"🥵",fitzpatrick_scale:false,category:"people"},cold:{keywords:["face","blue","freezing","frozen","frostbite","icicles"],char:"🥶",fitzpatrick_scale:false,category:"people"},sob:{keywords:["face","cry","tears","sad","upset","depressed"],char:"😭",fitzpatrick_scale:false,category:"people"},dizzy_face:{keywords:["spent","unconscious","xox","dizzy"],char:"😵",fitzpatrick_scale:false,category:"people"},astonished:{keywords:["face","xox","surprised","poisoned"],char:"😲",fitzpatrick_scale:false,category:"people"},zipper_mouth_face:{keywords:["face","sealed","zipper","secret"],char:"🤐",fitzpatrick_scale:false,category:"people"},nauseated_face:{keywords:["face","vomit","gross","green","sick","throw up","ill"],char:"🤢",fitzpatrick_scale:false,category:"people"},sneezing_face:{keywords:["face","gesundheit","sneeze","sick","allergy"],char:"🤧",fitzpatrick_scale:false,category:"people"},vomiting:{keywords:["face","sick"],char:"🤮",fitzpatrick_scale:false,category:"people"},mask:{keywords:["face","sick","ill","disease"],char:"😷",fitzpatrick_scale:false,category:"people"},face_with_thermometer:{keywords:["sick","temperature","thermometer","cold","fever"],char:"🤒",fitzpatrick_scale:false,category:"people"},face_with_head_bandage:{keywords:["injured","clumsy","bandage","hurt"],char:"🤕",fitzpatrick_scale:false,category:"people"},woozy:{keywords:["face","dizzy","intoxicated","tipsy","wavy"],char:"🥴",fitzpatrick_scale:false,category:"people"},sleeping:{keywords:["face","tired","sleepy","night","zzz"],char:"😴",fitzpatrick_scale:false,category:"people"},zzz:{keywords:["sleepy","tired","dream"],char:"💤",fitzpatrick_scale:false,category:"people"},poop:{keywords:["hankey","shitface","fail","turd","shit"],char:"💩",fitzpatrick_scale:false,category:"people"},smiling_imp:{keywords:["devil","horns"],char:"😈",fitzpatrick_scale:false,category:"people"},imp:{keywords:["devil","angry","horns"],char:"👿",fitzpatrick_scale:false,category:"people"},japanese_ogre:{keywords:["monster","red","mask","halloween","scary","creepy","devil","demon","japanese","ogre"],char:"👹",fitzpatrick_scale:false,category:"people"},japanese_goblin:{keywords:["red","evil","mask","monster","scary","creepy","japanese","goblin"],char:"👺",fitzpatrick_scale:false,category:"people"},skull:{keywords:["dead","skeleton","creepy","death"],char:"💀",fitzpatrick_scale:false,category:"people"},ghost:{keywords:["halloween","spooky","scary"],char:"👻",fitzpatrick_scale:false,category:"people"},alien:{keywords:["UFO","paul","weird","outer_space"],char:"👽",fitzpatrick_scale:false,category:"people"},robot:{keywords:["computer","machine","bot"],char:"🤖",fitzpatrick_scale:false,category:"people"},smiley_cat:{keywords:["animal","cats","happy","smile"],char:"😺",fitzpatrick_scale:false,category:"people"},smile_cat:{keywords:["animal","cats","smile"],char:"😸",fitzpatrick_scale:false,category:"people"},joy_cat:{keywords:["animal","cats","haha","happy","tears"],char:"😹",fitzpatrick_scale:false,category:"people"},heart_eyes_cat:{keywords:["animal","love","like","affection","cats","valentines","heart"],char:"😻",fitzpatrick_scale:false,category:"people"},smirk_cat:{keywords:["animal","cats","smirk"],char:"😼",fitzpatrick_scale:false,category:"people"},kissing_cat:{keywords:["animal","cats","kiss"],char:"😽",fitzpatrick_scale:false,category:"people"},scream_cat:{keywords:["animal","cats","munch","scared","scream"],char:"🙀",fitzpatrick_scale:false,category:"people"},crying_cat_face:{keywords:["animal","tears","weep","sad","cats","upset","cry"],char:"😿",fitzpatrick_scale:false,category:"people"},pouting_cat:{keywords:["animal","cats"],char:"😾",fitzpatrick_scale:false,category:"people"},palms_up:{keywords:["hands","gesture","cupped","prayer"],char:"🤲",fitzpatrick_scale:true,category:"people"},raised_hands:{keywords:["gesture","hooray","yea","celebration","hands"],char:"🙌",fitzpatrick_scale:true,category:"people"},clap:{keywords:["hands","praise","applause","congrats","yay"],char:"👏",fitzpatrick_scale:true,category:"people"},wave:{keywords:["hands","gesture","goodbye","solong","farewell","hello","hi","palm"],char:"👋",fitzpatrick_scale:true,category:"people"},call_me_hand:{keywords:["hands","gesture"],char:"🤙",fitzpatrick_scale:true,category:"people"},"+1":{keywords:["thumbsup","yes","awesome","good","agree","accept","cool","hand","like"],char:"👍",fitzpatrick_scale:true,category:"people"},"-1":{keywords:["thumbsdown","no","dislike","hand"],char:"👎",fitzpatrick_scale:true,category:"people"},facepunch:{keywords:["angry","violence","fist","hit","attack","hand"],char:"👊",fitzpatrick_scale:true,category:"people"},fist:{keywords:["fingers","hand","grasp"],char:"✊",fitzpatrick_scale:true,category:"people"},fist_left:{keywords:["hand","fistbump"],char:"🤛",fitzpatrick_scale:true,category:"people"},fist_right:{keywords:["hand","fistbump"],char:"🤜",fitzpatrick_scale:true,category:"people"},v:{keywords:["fingers","ohyeah","hand","peace","victory","two"],char:"✌",fitzpatrick_scale:true,category:"people"},ok_hand:{keywords:["fingers","limbs","perfect","ok","okay"],char:"👌",fitzpatrick_scale:true,category:"people"},raised_hand:{keywords:["fingers","stop","highfive","palm","ban"],char:"✋",fitzpatrick_scale:true,category:"people"},raised_back_of_hand:{keywords:["fingers","raised","backhand"],char:"🤚",fitzpatrick_scale:true,category:"people"},open_hands:{keywords:["fingers","butterfly","hands","open"],char:"👐",fitzpatrick_scale:true,category:"people"},muscle:{keywords:["arm","flex","hand","summer","strong","biceps"],char:"💪",fitzpatrick_scale:true,category:"people"},pray:{keywords:["please","hope","wish","namaste","highfive"],char:"🙏",fitzpatrick_scale:true,category:"people"},foot:{keywords:["kick","stomp"],char:"🦶",fitzpatrick_scale:true,category:"people"},leg:{keywords:["kick","limb"],char:"🦵",fitzpatrick_scale:true,category:"people"},handshake:{keywords:["agreement","shake"],char:"🤝",fitzpatrick_scale:false,category:"people"},point_up:{keywords:["hand","fingers","direction","up"],char:"☝",fitzpatrick_scale:true,category:"people"},point_up_2:{keywords:["fingers","hand","direction","up"],char:"👆",fitzpatrick_scale:true,category:"people"},point_down:{keywords:["fingers","hand","direction","down"],char:"👇",fitzpatrick_scale:true,category:"people"},point_left:{keywords:["direction","fingers","hand","left"],char:"👈",fitzpatrick_scale:true,category:"people"},point_right:{keywords:["fingers","hand","direction","right"],char:"👉",fitzpatrick_scale:true,category:"people"},fu:{keywords:["hand","fingers","rude","middle","flipping"],char:"🖕",fitzpatrick_scale:true,category:"people"},raised_hand_with_fingers_splayed:{keywords:["hand","fingers","palm"],char:"🖐",fitzpatrick_scale:true,category:"people"},love_you:{keywords:["hand","fingers","gesture"],char:"🤟",fitzpatrick_scale:true,category:"people"},metal:{keywords:["hand","fingers","evil_eye","sign_of_horns","rock_on"],char:"🤘",fitzpatrick_scale:true,category:"people"},crossed_fingers:{keywords:["good","lucky"],char:"🤞",fitzpatrick_scale:true,category:"people"},vulcan_salute:{keywords:["hand","fingers","spock","star trek"],char:"🖖",fitzpatrick_scale:true,category:"people"},writing_hand:{keywords:["lower_left_ballpoint_pen","stationery","write","compose"],char:"✍",fitzpatrick_scale:true,category:"people"},selfie:{keywords:["camera","phone"],char:"🤳",fitzpatrick_scale:true,category:"people"},nail_care:{keywords:["beauty","manicure","finger","fashion","nail"],char:"💅",fitzpatrick_scale:true,category:"people"},lips:{keywords:["mouth","kiss"],char:"👄",fitzpatrick_scale:false,category:"people"},tooth:{keywords:["teeth","dentist"],char:"🦷",fitzpatrick_scale:false,category:"people"},tongue:{keywords:["mouth","playful"],char:"👅",fitzpatrick_scale:false,category:"people"},ear:{keywords:["face","hear","sound","listen"],char:"👂",fitzpatrick_scale:true,category:"people"},nose:{keywords:["smell","sniff"],char:"👃",fitzpatrick_scale:true,category:"people"},eye:{keywords:["face","look","see","watch","stare"],char:"👁",fitzpatrick_scale:false,category:"people"},eyes:{keywords:["look","watch","stalk","peek","see"],char:"👀",fitzpatrick_scale:false,category:"people"},brain:{keywords:["smart","intelligent"],char:"🧠",fitzpatrick_scale:false,category:"people"},bust_in_silhouette:{keywords:["user","person","human"],char:"👤",fitzpatrick_scale:false,category:"people"},busts_in_silhouette:{keywords:["user","person","human","group","team"],char:"👥",fitzpatrick_scale:false,category:"people"},speaking_head:{keywords:["user","person","human","sing","say","talk"],char:"🗣",fitzpatrick_scale:false,category:"people"},baby:{keywords:["child","boy","girl","toddler"],char:"👶",fitzpatrick_scale:true,category:"people"},child:{keywords:["gender-neutral","young"],char:"🧒",fitzpatrick_scale:true,category:"people"},boy:{keywords:["man","male","guy","teenager"],char:"👦",fitzpatrick_scale:true,category:"people"},girl:{keywords:["female","woman","teenager"],char:"👧",fitzpatrick_scale:true,category:"people"},adult:{keywords:["gender-neutral","person"],char:"🧑",fitzpatrick_scale:true,category:"people"},man:{keywords:["mustache","father","dad","guy","classy","sir","moustache"],char:"👨",fitzpatrick_scale:true,category:"people"},woman:{keywords:["female","girls","lady"],char:"👩",fitzpatrick_scale:true,category:"people"},blonde_woman:{keywords:["woman","female","girl","blonde","person"],char:"👱‍♀️",fitzpatrick_scale:true,category:"people"},blonde_man:{keywords:["man","male","boy","blonde","guy","person"],char:"👱",fitzpatrick_scale:true,category:"people"},bearded_person:{keywords:["person","bewhiskered"],char:"🧔",fitzpatrick_scale:true,category:"people"},older_adult:{keywords:["human","elder","senior","gender-neutral"],char:"🧓",fitzpatrick_scale:true,category:"people"},older_man:{keywords:["human","male","men","old","elder","senior"],char:"👴",fitzpatrick_scale:true,category:"people"},older_woman:{keywords:["human","female","women","lady","old","elder","senior"],char:"👵",fitzpatrick_scale:true,category:"people"},man_with_gua_pi_mao:{keywords:["male","boy","chinese"],char:"👲",fitzpatrick_scale:true,category:"people"},woman_with_headscarf:{keywords:["female","hijab","mantilla","tichel"],char:"🧕",fitzpatrick_scale:true,category:"people"},woman_with_turban:{keywords:["female","indian","hinduism","arabs","woman"],char:"👳‍♀️",fitzpatrick_scale:true,category:"people"},man_with_turban:{keywords:["male","indian","hinduism","arabs"],char:"👳",fitzpatrick_scale:true,category:"people"},policewoman:{keywords:["woman","police","law","legal","enforcement","arrest","911","female"],char:"👮‍♀️",fitzpatrick_scale:true,category:"people"},policeman:{keywords:["man","police","law","legal","enforcement","arrest","911"],char:"👮",fitzpatrick_scale:true,category:"people"},construction_worker_woman:{keywords:["female","human","wip","build","construction","worker","labor","woman"],char:"👷‍♀️",fitzpatrick_scale:true,category:"people"},construction_worker_man:{keywords:["male","human","wip","guy","build","construction","worker","labor"],char:"👷",fitzpatrick_scale:true,category:"people"},guardswoman:{keywords:["uk","gb","british","female","royal","woman"],char:"💂‍♀️",fitzpatrick_scale:true,category:"people"},guardsman:{keywords:["uk","gb","british","male","guy","royal"],char:"💂",fitzpatrick_scale:true,category:"people"},female_detective:{keywords:["human","spy","detective","female","woman"],char:"🕵️‍♀️",fitzpatrick_scale:true,category:"people"},male_detective:{keywords:["human","spy","detective"],char:"🕵",fitzpatrick_scale:true,category:"people"},woman_health_worker:{keywords:["doctor","nurse","therapist","healthcare","woman","human"],char:"👩‍⚕️",fitzpatrick_scale:true,category:"people"},man_health_worker:{keywords:["doctor","nurse","therapist","healthcare","man","human"],char:"👨‍⚕️",fitzpatrick_scale:true,category:"people"},woman_farmer:{keywords:["rancher","gardener","woman","human"],char:"👩‍🌾",fitzpatrick_scale:true,category:"people"},man_farmer:{keywords:["rancher","gardener","man","human"],char:"👨‍🌾",fitzpatrick_scale:true,category:"people"},woman_cook:{keywords:["chef","woman","human"],char:"👩‍🍳",fitzpatrick_scale:true,category:"people"},man_cook:{keywords:["chef","man","human"],char:"👨‍🍳",fitzpatrick_scale:true,category:"people"},woman_student:{keywords:["graduate","woman","human"],char:"👩‍🎓",fitzpatrick_scale:true,category:"people"},man_student:{keywords:["graduate","man","human"],char:"👨‍🎓",fitzpatrick_scale:true,category:"people"},woman_singer:{keywords:["rockstar","entertainer","woman","human"],char:"👩‍🎤",fitzpatrick_scale:true,category:"people"},man_singer:{keywords:["rockstar","entertainer","man","human"],char:"👨‍🎤",fitzpatrick_scale:true,category:"people"},woman_teacher:{keywords:["instructor","professor","woman","human"],char:"👩‍🏫",fitzpatrick_scale:true,category:"people"},man_teacher:{keywords:["instructor","professor","man","human"],char:"👨‍🏫",fitzpatrick_scale:true,category:"people"},woman_factory_worker:{keywords:["assembly","industrial","woman","human"],char:"👩‍🏭",fitzpatrick_scale:true,category:"people"},man_factory_worker:{keywords:["assembly","industrial","man","human"],char:"👨‍🏭",fitzpatrick_scale:true,category:"people"},woman_technologist:{keywords:["coder","developer","engineer","programmer","software","woman","human","laptop","computer"],char:"👩‍💻",fitzpatrick_scale:true,category:"people"},man_technologist:{keywords:["coder","developer","engineer","programmer","software","man","human","laptop","computer"],char:"👨‍💻",fitzpatrick_scale:true,category:"people"},woman_office_worker:{keywords:["business","manager","woman","human"],char:"👩‍💼",fitzpatrick_scale:true,category:"people"},man_office_worker:{keywords:["business","manager","man","human"],char:"👨‍💼",fitzpatrick_scale:true,category:"people"},woman_mechanic:{keywords:["plumber","woman","human","wrench"],char:"👩‍🔧",fitzpatrick_scale:true,category:"people"},man_mechanic:{keywords:["plumber","man","human","wrench"],char:"👨‍🔧",fitzpatrick_scale:true,category:"people"},woman_scientist:{keywords:["biologist","chemist","engineer","physicist","woman","human"],char:"👩‍🔬",fitzpatrick_scale:true,category:"people"},man_scientist:{keywords:["biologist","chemist","engineer","physicist","man","human"],char:"👨‍🔬",fitzpatrick_scale:true,category:"people"},woman_artist:{keywords:["painter","woman","human"],char:"👩‍🎨",fitzpatrick_scale:true,category:"people"},man_artist:{keywords:["painter","man","human"],char:"👨‍🎨",fitzpatrick_scale:true,category:"people"},woman_firefighter:{keywords:["fireman","woman","human"],char:"👩‍🚒",fitzpatrick_scale:true,category:"people"},man_firefighter:{keywords:["fireman","man","human"],char:"👨‍🚒",fitzpatrick_scale:true,category:"people"},woman_pilot:{keywords:["aviator","plane","woman","human"],char:"👩‍✈️",fitzpatrick_scale:true,category:"people"},man_pilot:{keywords:["aviator","plane","man","human"],char:"👨‍✈️",fitzpatrick_scale:true,category:"people"},woman_astronaut:{keywords:["space","rocket","woman","human"],char:"👩‍🚀",fitzpatrick_scale:true,category:"people"},man_astronaut:{keywords:["space","rocket","man","human"],char:"👨‍🚀",fitzpatrick_scale:true,category:"people"},woman_judge:{keywords:["justice","court","woman","human"],char:"👩‍⚖️",fitzpatrick_scale:true,category:"people"},man_judge:{keywords:["justice","court","man","human"],char:"👨‍⚖️",fitzpatrick_scale:true,category:"people"},woman_superhero:{keywords:["woman","female","good","heroine","superpowers"],char:"🦸‍♀️",fitzpatrick_scale:true,category:"people"},man_superhero:{keywords:["man","male","good","hero","superpowers"],char:"🦸‍♂️",fitzpatrick_scale:true,category:"people"},woman_supervillain:{keywords:["woman","female","evil","bad","criminal","heroine","superpowers"],char:"🦹‍♀️",fitzpatrick_scale:true,category:"people"},man_supervillain:{keywords:["man","male","evil","bad","criminal","hero","superpowers"],char:"🦹‍♂️",fitzpatrick_scale:true,category:"people"},mrs_claus:{keywords:["woman","female","xmas","mother christmas"],char:"🤶",fitzpatrick_scale:true,category:"people"},santa:{keywords:["festival","man","male","xmas","father christmas"],char:"🎅",fitzpatrick_scale:true,category:"people"},sorceress:{keywords:["woman","female","mage","witch"],char:"🧙‍♀️",fitzpatrick_scale:true,category:"people"},wizard:{keywords:["man","male","mage","sorcerer"],char:"🧙‍♂️",fitzpatrick_scale:true,category:"people"},woman_elf:{keywords:["woman","female"],char:"🧝‍♀️",fitzpatrick_scale:true,category:"people"},man_elf:{keywords:["man","male"],char:"🧝‍♂️",fitzpatrick_scale:true,category:"people"},woman_vampire:{keywords:["woman","female"],char:"🧛‍♀️",fitzpatrick_scale:true,category:"people"},man_vampire:{keywords:["man","male","dracula"],char:"🧛‍♂️",fitzpatrick_scale:true,category:"people"},woman_zombie:{keywords:["woman","female","undead","walking dead"],char:"🧟‍♀️",fitzpatrick_scale:false,category:"people"},man_zombie:{keywords:["man","male","dracula","undead","walking dead"],char:"🧟‍♂️",fitzpatrick_scale:false,category:"people"},woman_genie:{keywords:["woman","female"],char:"🧞‍♀️",fitzpatrick_scale:false,category:"people"},man_genie:{keywords:["man","male"],char:"🧞‍♂️",fitzpatrick_scale:false,category:"people"},mermaid:{keywords:["woman","female","merwoman","ariel"],char:"🧜‍♀️",fitzpatrick_scale:true,category:"people"},merman:{keywords:["man","male","triton"],char:"🧜‍♂️",fitzpatrick_scale:true,category:"people"},woman_fairy:{keywords:["woman","female"],char:"🧚‍♀️",fitzpatrick_scale:true,category:"people"},man_fairy:{keywords:["man","male"],char:"🧚‍♂️",fitzpatrick_scale:true,category:"people"},angel:{keywords:["heaven","wings","halo"],char:"👼",fitzpatrick_scale:true,category:"people"},pregnant_woman:{keywords:["baby"],char:"🤰",fitzpatrick_scale:true,category:"people"},breastfeeding:{keywords:["nursing","baby"],char:"🤱",fitzpatrick_scale:true,category:"people"},princess:{keywords:["girl","woman","female","blond","crown","royal","queen"],char:"👸",fitzpatrick_scale:true,category:"people"},prince:{keywords:["boy","man","male","crown","royal","king"],char:"🤴",fitzpatrick_scale:true,category:"people"},bride_with_veil:{keywords:["couple","marriage","wedding","woman","bride"],char:"👰",fitzpatrick_scale:true,category:"people"},man_in_tuxedo:{keywords:["couple","marriage","wedding","groom"],char:"🤵",fitzpatrick_scale:true,category:"people"},running_woman:{keywords:["woman","walking","exercise","race","running","female"],char:"🏃‍♀️",fitzpatrick_scale:true,category:"people"},running_man:{keywords:["man","walking","exercise","race","running"],char:"🏃",fitzpatrick_scale:true,category:"people"},walking_woman:{keywords:["human","feet","steps","woman","female"],char:"🚶‍♀️",fitzpatrick_scale:true,category:"people"},walking_man:{keywords:["human","feet","steps"],char:"🚶",fitzpatrick_scale:true,category:"people"},dancer:{keywords:["female","girl","woman","fun"],char:"💃",fitzpatrick_scale:true,category:"people"},man_dancing:{keywords:["male","boy","fun","dancer"],char:"🕺",fitzpatrick_scale:true,category:"people"},dancing_women:{keywords:["female","bunny","women","girls"],char:"👯",fitzpatrick_scale:false,category:"people"},dancing_men:{keywords:["male","bunny","men","boys"],char:"👯‍♂️",fitzpatrick_scale:false,category:"people"},couple:{keywords:["pair","people","human","love","date","dating","like","affection","valentines","marriage"],char:"👫",fitzpatrick_scale:false,category:"people"},two_men_holding_hands:{keywords:["pair","couple","love","like","bromance","friendship","people","human"],char:"👬",fitzpatrick_scale:false,category:"people"},two_women_holding_hands:{keywords:["pair","friendship","couple","love","like","female","people","human"],char:"👭",fitzpatrick_scale:false,category:"people"},bowing_woman:{keywords:["woman","female","girl"],char:"🙇‍♀️",fitzpatrick_scale:true,category:"people"},bowing_man:{keywords:["man","male","boy"],char:"🙇",fitzpatrick_scale:true,category:"people"},man_facepalming:{keywords:["man","male","boy","disbelief"],char:"🤦‍♂️",fitzpatrick_scale:true,category:"people"},woman_facepalming:{keywords:["woman","female","girl","disbelief"],char:"🤦‍♀️",fitzpatrick_scale:true,category:"people"},woman_shrugging:{keywords:["woman","female","girl","confused","indifferent","doubt"],char:"🤷",fitzpatrick_scale:true,category:"people"},man_shrugging:{keywords:["man","male","boy","confused","indifferent","doubt"],char:"🤷‍♂️",fitzpatrick_scale:true,category:"people"},tipping_hand_woman:{keywords:["female","girl","woman","human","information"],char:"💁",fitzpatrick_scale:true,category:"people"},tipping_hand_man:{keywords:["male","boy","man","human","information"],char:"💁‍♂️",fitzpatrick_scale:true,category:"people"},no_good_woman:{keywords:["female","girl","woman","nope"],char:"🙅",fitzpatrick_scale:true,category:"people"},no_good_man:{keywords:["male","boy","man","nope"],char:"🙅‍♂️",fitzpatrick_scale:true,category:"people"},ok_woman:{keywords:["women","girl","female","pink","human","woman"],char:"🙆",fitzpatrick_scale:true,category:"people"},ok_man:{keywords:["men","boy","male","blue","human","man"],char:"🙆‍♂️",fitzpatrick_scale:true,category:"people"},raising_hand_woman:{keywords:["female","girl","woman"],char:"🙋",fitzpatrick_scale:true,category:"people"},raising_hand_man:{keywords:["male","boy","man"],char:"🙋‍♂️",fitzpatrick_scale:true,category:"people"},pouting_woman:{keywords:["female","girl","woman"],char:"🙎",fitzpatrick_scale:true,category:"people"},pouting_man:{keywords:["male","boy","man"],char:"🙎‍♂️",fitzpatrick_scale:true,category:"people"},frowning_woman:{keywords:["female","girl","woman","sad","depressed","discouraged","unhappy"],char:"🙍",fitzpatrick_scale:true,category:"people"},frowning_man:{keywords:["male","boy","man","sad","depressed","discouraged","unhappy"],char:"🙍‍♂️",fitzpatrick_scale:true,category:"people"},haircut_woman:{keywords:["female","girl","woman"],char:"💇",fitzpatrick_scale:true,category:"people"},haircut_man:{keywords:["male","boy","man"],char:"💇‍♂️",fitzpatrick_scale:true,category:"people"},massage_woman:{keywords:["female","girl","woman","head"],char:"💆",fitzpatrick_scale:true,category:"people"},massage_man:{keywords:["male","boy","man","head"],char:"💆‍♂️",fitzpatrick_scale:true,category:"people"},woman_in_steamy_room:{keywords:["female","woman","spa","steamroom","sauna"],char:"🧖‍♀️",fitzpatrick_scale:true,category:"people"},man_in_steamy_room:{keywords:["male","man","spa","steamroom","sauna"],char:"🧖‍♂️",fitzpatrick_scale:true,category:"people"},couple_with_heart_woman_man:{keywords:["pair","love","like","affection","human","dating","valentines","marriage"],char:"💑",fitzpatrick_scale:false,category:"people"},couple_with_heart_woman_woman:{keywords:["pair","love","like","affection","human","dating","valentines","marriage"],char:"👩‍❤️‍👩",fitzpatrick_scale:false,category:"people"},couple_with_heart_man_man:{keywords:["pair","love","like","affection","human","dating","valentines","marriage"],char:"👨‍❤️‍👨",fitzpatrick_scale:false,category:"people"},couplekiss_man_woman:{keywords:["pair","valentines","love","like","dating","marriage"],char:"💏",fitzpatrick_scale:false,category:"people"},couplekiss_woman_woman:{keywords:["pair","valentines","love","like","dating","marriage"],char:"👩‍❤️‍💋‍👩",fitzpatrick_scale:false,category:"people"},couplekiss_man_man:{keywords:["pair","valentines","love","like","dating","marriage"],char:"👨‍❤️‍💋‍👨",fitzpatrick_scale:false,category:"people"},family_man_woman_boy:{keywords:["home","parents","child","mom","dad","father","mother","people","human"],char:"👪",fitzpatrick_scale:false,category:"people"},family_man_woman_girl:{keywords:["home","parents","people","human","child"],char:"👨‍👩‍👧",fitzpatrick_scale:false,category:"people"},family_man_woman_girl_boy:{keywords:["home","parents","people","human","children"],char:"👨‍👩‍👧‍👦",fitzpatrick_scale:false,category:"people"},family_man_woman_boy_boy:{keywords:["home","parents","people","human","children"],char:"👨‍👩‍👦‍👦",fitzpatrick_scale:false,category:"people"},family_man_woman_girl_girl:{keywords:["home","parents","people","human","children"],char:"👨‍👩‍👧‍👧",fitzpatrick_scale:false,category:"people"},family_woman_woman_boy:{keywords:["home","parents","people","human","children"],char:"👩‍👩‍👦",fitzpatrick_scale:false,category:"people"},family_woman_woman_girl:{keywords:["home","parents","people","human","children"],char:"👩‍👩‍👧",fitzpatrick_scale:false,category:"people"},family_woman_woman_girl_boy:{keywords:["home","parents","people","human","children"],char:"👩‍👩‍👧‍👦",fitzpatrick_scale:false,category:"people"},family_woman_woman_boy_boy:{keywords:["home","parents","people","human","children"],char:"👩‍👩‍👦‍👦",fitzpatrick_scale:false,category:"people"},family_woman_woman_girl_girl:{keywords:["home","parents","people","human","children"],char:"👩‍👩‍👧‍👧",fitzpatrick_scale:false,category:"people"},family_man_man_boy:{keywords:["home","parents","people","human","children"],char:"👨‍👨‍👦",fitzpatrick_scale:false,category:"people"},family_man_man_girl:{keywords:["home","parents","people","human","children"],char:"👨‍👨‍👧",fitzpatrick_scale:false,category:"people"},family_man_man_girl_boy:{keywords:["home","parents","people","human","children"],char:"👨‍👨‍👧‍👦",fitzpatrick_scale:false,category:"people"},family_man_man_boy_boy:{keywords:["home","parents","people","human","children"],char:"👨‍👨‍👦‍👦",fitzpatrick_scale:false,category:"people"},family_man_man_girl_girl:{keywords:["home","parents","people","human","children"],char:"👨‍👨‍👧‍👧",fitzpatrick_scale:false,category:"people"},family_woman_boy:{keywords:["home","parent","people","human","child"],char:"👩‍👦",fitzpatrick_scale:false,category:"people"},family_woman_girl:{keywords:["home","parent","people","human","child"],char:"👩‍👧",fitzpatrick_scale:false,category:"people"},family_woman_girl_boy:{keywords:["home","parent","people","human","children"],char:"👩‍👧‍👦",fitzpatrick_scale:false,category:"people"},family_woman_boy_boy:{keywords:["home","parent","people","human","children"],char:"👩‍👦‍👦",fitzpatrick_scale:false,category:"people"},family_woman_girl_girl:{keywords:["home","parent","people","human","children"],char:"👩‍👧‍👧",fitzpatrick_scale:false,category:"people"},family_man_boy:{keywords:["home","parent","people","human","child"],char:"👨‍👦",fitzpatrick_scale:false,category:"people"},family_man_girl:{keywords:["home","parent","people","human","child"],char:"👨‍👧",fitzpatrick_scale:false,category:"people"},family_man_girl_boy:{keywords:["home","parent","people","human","children"],char:"👨‍👧‍👦",fitzpatrick_scale:false,category:"people"},family_man_boy_boy:{keywords:["home","parent","people","human","children"],char:"👨‍👦‍👦",fitzpatrick_scale:false,category:"people"},family_man_girl_girl:{keywords:["home","parent","people","human","children"],char:"👨‍👧‍👧",fitzpatrick_scale:false,category:"people"},yarn:{keywords:["ball","crochet","knit"],char:"🧶",fitzpatrick_scale:false,category:"people"},thread:{keywords:["needle","sewing","spool","string"],char:"🧵",fitzpatrick_scale:false,category:"people"},coat:{keywords:["jacket"],char:"🧥",fitzpatrick_scale:false,category:"people"},labcoat:{keywords:["doctor","experiment","scientist","chemist"],char:"🥼",fitzpatrick_scale:false,category:"people"},womans_clothes:{keywords:["fashion","shopping_bags","female"],char:"👚",fitzpatrick_scale:false,category:"people"},tshirt:{keywords:["fashion","cloth","casual","shirt","tee"],char:"👕",fitzpatrick_scale:false,category:"people"},jeans:{keywords:["fashion","shopping"],char:"👖",fitzpatrick_scale:false,category:"people"},necktie:{keywords:["shirt","suitup","formal","fashion","cloth","business"],char:"👔",fitzpatrick_scale:false,category:"people"},dress:{keywords:["clothes","fashion","shopping"],char:"👗",fitzpatrick_scale:false,category:"people"},bikini:{keywords:["swimming","female","woman","girl","fashion","beach","summer"],char:"👙",fitzpatrick_scale:false,category:"people"},kimono:{keywords:["dress","fashion","women","female","japanese"],char:"👘",fitzpatrick_scale:false,category:"people"},lipstick:{keywords:["female","girl","fashion","woman"],char:"💄",fitzpatrick_scale:false,category:"people"},kiss:{keywords:["face","lips","love","like","affection","valentines"],char:"💋",fitzpatrick_scale:false,category:"people"},footprints:{keywords:["feet","tracking","walking","beach"],char:"👣",fitzpatrick_scale:false,category:"people"},flat_shoe:{keywords:["ballet","slip-on","slipper"],char:"🥿",fitzpatrick_scale:false,category:"people"},high_heel:{keywords:["fashion","shoes","female","pumps","stiletto"],char:"👠",fitzpatrick_scale:false,category:"people"},sandal:{keywords:["shoes","fashion","flip flops"],char:"👡",fitzpatrick_scale:false,category:"people"},boot:{keywords:["shoes","fashion"],char:"👢",fitzpatrick_scale:false,category:"people"},mans_shoe:{keywords:["fashion","male"],char:"👞",fitzpatrick_scale:false,category:"people"},athletic_shoe:{keywords:["shoes","sports","sneakers"],char:"👟",fitzpatrick_scale:false,category:"people"},hiking_boot:{keywords:["backpacking","camping","hiking"],char:"🥾",fitzpatrick_scale:false,category:"people"},socks:{keywords:["stockings","clothes"],char:"🧦",fitzpatrick_scale:false,category:"people"},gloves:{keywords:["hands","winter","clothes"],char:"🧤",fitzpatrick_scale:false,category:"people"},scarf:{keywords:["neck","winter","clothes"],char:"🧣",fitzpatrick_scale:false,category:"people"},womans_hat:{keywords:["fashion","accessories","female","lady","spring"],char:"👒",fitzpatrick_scale:false,category:"people"},tophat:{keywords:["magic","gentleman","classy","circus"],char:"🎩",fitzpatrick_scale:false,category:"people"},billed_hat:{keywords:["cap","baseball"],char:"🧢",fitzpatrick_scale:false,category:"people"},rescue_worker_helmet:{keywords:["construction","build"],char:"⛑",fitzpatrick_scale:false,category:"people"},mortar_board:{keywords:["school","college","degree","university","graduation","cap","hat","legal","learn","education"],char:"🎓",fitzpatrick_scale:false,category:"people"},crown:{keywords:["king","kod","leader","royalty","lord"],char:"👑",fitzpatrick_scale:false,category:"people"},school_satchel:{keywords:["student","education","bag","backpack"],char:"🎒",fitzpatrick_scale:false,category:"people"},luggage:{keywords:["packing","travel"],char:"🧳",fitzpatrick_scale:false,category:"people"},pouch:{keywords:["bag","accessories","shopping"],char:"👝",fitzpatrick_scale:false,category:"people"},purse:{keywords:["fashion","accessories","money","sales","shopping"],char:"👛",fitzpatrick_scale:false,category:"people"},handbag:{keywords:["fashion","accessory","accessories","shopping"],char:"👜",fitzpatrick_scale:false,category:"people"},briefcase:{keywords:["business","documents","work","law","legal","job","career"],char:"💼",fitzpatrick_scale:false,category:"people"},eyeglasses:{keywords:["fashion","accessories","eyesight","nerdy","dork","geek"],char:"👓",fitzpatrick_scale:false,category:"people"},dark_sunglasses:{keywords:["face","cool","accessories"],char:"🕶",fitzpatrick_scale:false,category:"people"},goggles:{keywords:["eyes","protection","safety"],char:"🥽",fitzpatrick_scale:false,category:"people"},ring:{keywords:["wedding","propose","marriage","valentines","diamond","fashion","jewelry","gem","engagement"],char:"💍",fitzpatrick_scale:false,category:"people"},closed_umbrella:{keywords:["weather","rain","drizzle"],char:"🌂",fitzpatrick_scale:false,category:"people"},dog:{keywords:["animal","friend","nature","woof","puppy","pet","faithful"],char:"🐶",fitzpatrick_scale:false,category:"animals_and_nature"},cat:{keywords:["animal","meow","nature","pet","kitten"],char:"🐱",fitzpatrick_scale:false,category:"animals_and_nature"},mouse:{keywords:["animal","nature","cheese_wedge","rodent"],char:"🐭",fitzpatrick_scale:false,category:"animals_and_nature"},hamster:{keywords:["animal","nature"],char:"🐹",fitzpatrick_scale:false,category:"animals_and_nature"},rabbit:{keywords:["animal","nature","pet","spring","magic","bunny"],char:"🐰",fitzpatrick_scale:false,category:"animals_and_nature"},fox_face:{keywords:["animal","nature","face"],char:"🦊",fitzpatrick_scale:false,category:"animals_and_nature"},bear:{keywords:["animal","nature","wild"],char:"🐻",fitzpatrick_scale:false,category:"animals_and_nature"},panda_face:{keywords:["animal","nature","panda"],char:"🐼",fitzpatrick_scale:false,category:"animals_and_nature"},koala:{keywords:["animal","nature"],char:"🐨",fitzpatrick_scale:false,category:"animals_and_nature"},tiger:{keywords:["animal","cat","danger","wild","nature","roar"],char:"🐯",fitzpatrick_scale:false,category:"animals_and_nature"},lion:{keywords:["animal","nature"],char:"🦁",fitzpatrick_scale:false,category:"animals_and_nature"},cow:{keywords:["beef","ox","animal","nature","moo","milk"],char:"🐮",fitzpatrick_scale:false,category:"animals_and_nature"},pig:{keywords:["animal","oink","nature"],char:"🐷",fitzpatrick_scale:false,category:"animals_and_nature"},pig_nose:{keywords:["animal","oink"],char:"🐽",fitzpatrick_scale:false,category:"animals_and_nature"},frog:{keywords:["animal","nature","croak","toad"],char:"🐸",fitzpatrick_scale:false,category:"animals_and_nature"},squid:{keywords:["animal","nature","ocean","sea"],char:"🦑",fitzpatrick_scale:false,category:"animals_and_nature"},octopus:{keywords:["animal","creature","ocean","sea","nature","beach"],char:"🐙",fitzpatrick_scale:false,category:"animals_and_nature"},shrimp:{keywords:["animal","ocean","nature","seafood"],char:"🦐",fitzpatrick_scale:false,category:"animals_and_nature"},monkey_face:{keywords:["animal","nature","circus"],char:"🐵",fitzpatrick_scale:false,category:"animals_and_nature"},gorilla:{keywords:["animal","nature","circus"],char:"🦍",fitzpatrick_scale:false,category:"animals_and_nature"},see_no_evil:{keywords:["monkey","animal","nature","haha"],char:"🙈",fitzpatrick_scale:false,category:"animals_and_nature"},hear_no_evil:{keywords:["animal","monkey","nature"],char:"🙉",fitzpatrick_scale:false,category:"animals_and_nature"},speak_no_evil:{keywords:["monkey","animal","nature","omg"],char:"🙊",fitzpatrick_scale:false,category:"animals_and_nature"},monkey:{keywords:["animal","nature","banana","circus"],char:"🐒",fitzpatrick_scale:false,category:"animals_and_nature"},chicken:{keywords:["animal","cluck","nature","bird"],char:"🐔",fitzpatrick_scale:false,category:"animals_and_nature"},penguin:{keywords:["animal","nature"],char:"🐧",fitzpatrick_scale:false,category:"animals_and_nature"},bird:{keywords:["animal","nature","fly","tweet","spring"],char:"🐦",fitzpatrick_scale:false,category:"animals_and_nature"},baby_chick:{keywords:["animal","chicken","bird"],char:"🐤",fitzpatrick_scale:false,category:"animals_and_nature"},hatching_chick:{keywords:["animal","chicken","egg","born","baby","bird"],char:"🐣",fitzpatrick_scale:false,category:"animals_and_nature"},hatched_chick:{keywords:["animal","chicken","baby","bird"],char:"🐥",fitzpatrick_scale:false,category:"animals_and_nature"},duck:{keywords:["animal","nature","bird","mallard"],char:"🦆",fitzpatrick_scale:false,category:"animals_and_nature"},eagle:{keywords:["animal","nature","bird"],char:"🦅",fitzpatrick_scale:false,category:"animals_and_nature"},owl:{keywords:["animal","nature","bird","hoot"],char:"🦉",fitzpatrick_scale:false,category:"animals_and_nature"},bat:{keywords:["animal","nature","blind","vampire"],char:"🦇",fitzpatrick_scale:false,category:"animals_and_nature"},wolf:{keywords:["animal","nature","wild"],char:"🐺",fitzpatrick_scale:false,category:"animals_and_nature"},boar:{keywords:["animal","nature"],char:"🐗",fitzpatrick_scale:false,category:"animals_and_nature"},horse:{keywords:["animal","brown","nature"],char:"🐴",fitzpatrick_scale:false,category:"animals_and_nature"},unicorn:{keywords:["animal","nature","mystical"],char:"🦄",fitzpatrick_scale:false,category:"animals_and_nature"},honeybee:{keywords:["animal","insect","nature","bug","spring","honey"],char:"🐝",fitzpatrick_scale:false,category:"animals_and_nature"},bug:{keywords:["animal","insect","nature","worm"],char:"🐛",fitzpatrick_scale:false,category:"animals_and_nature"},butterfly:{keywords:["animal","insect","nature","caterpillar"],char:"🦋",fitzpatrick_scale:false,category:"animals_and_nature"},snail:{keywords:["slow","animal","shell"],char:"🐌",fitzpatrick_scale:false,category:"animals_and_nature"},beetle:{keywords:["animal","insect","nature","ladybug"],char:"🐞",fitzpatrick_scale:false,category:"animals_and_nature"},ant:{keywords:["animal","insect","nature","bug"],char:"🐜",fitzpatrick_scale:false,category:"animals_and_nature"},grasshopper:{keywords:["animal","cricket","chirp"],char:"🦗",fitzpatrick_scale:false,category:"animals_and_nature"},spider:{keywords:["animal","arachnid"],char:"🕷",fitzpatrick_scale:false,category:"animals_and_nature"},scorpion:{keywords:["animal","arachnid"],char:"🦂",fitzpatrick_scale:false,category:"animals_and_nature"},crab:{keywords:["animal","crustacean"],char:"🦀",fitzpatrick_scale:false,category:"animals_and_nature"},snake:{keywords:["animal","evil","nature","hiss","python"],char:"🐍",fitzpatrick_scale:false,category:"animals_and_nature"},lizard:{keywords:["animal","nature","reptile"],char:"🦎",fitzpatrick_scale:false,category:"animals_and_nature"},"t-rex":{keywords:["animal","nature","dinosaur","tyrannosaurus","extinct"],char:"🦖",fitzpatrick_scale:false,category:"animals_and_nature"},sauropod:{keywords:["animal","nature","dinosaur","brachiosaurus","brontosaurus","diplodocus","extinct"],char:"🦕",fitzpatrick_scale:false,category:"animals_and_nature"},turtle:{keywords:["animal","slow","nature","tortoise"],char:"🐢",fitzpatrick_scale:false,category:"animals_and_nature"},tropical_fish:{keywords:["animal","swim","ocean","beach","nemo"],char:"🐠",fitzpatrick_scale:false,category:"animals_and_nature"},fish:{keywords:["animal","food","nature"],char:"🐟",fitzpatrick_scale:false,category:"animals_and_nature"},blowfish:{keywords:["animal","nature","food","sea","ocean"],char:"🐡",fitzpatrick_scale:false,category:"animals_and_nature"},dolphin:{keywords:["animal","nature","fish","sea","ocean","flipper","fins","beach"],char:"🐬",fitzpatrick_scale:false,category:"animals_and_nature"},shark:{keywords:["animal","nature","fish","sea","ocean","jaws","fins","beach"],char:"🦈",fitzpatrick_scale:false,category:"animals_and_nature"},whale:{keywords:["animal","nature","sea","ocean"],char:"🐳",fitzpatrick_scale:false,category:"animals_and_nature"},whale2:{keywords:["animal","nature","sea","ocean"],char:"🐋",fitzpatrick_scale:false,category:"animals_and_nature"},crocodile:{keywords:["animal","nature","reptile","lizard","alligator"],char:"🐊",fitzpatrick_scale:false,category:"animals_and_nature"},leopard:{keywords:["animal","nature"],char:"🐆",fitzpatrick_scale:false,category:"animals_and_nature"},zebra:{keywords:["animal","nature","stripes","safari"],char:"🦓",fitzpatrick_scale:false,category:"animals_and_nature"},tiger2:{keywords:["animal","nature","roar"],char:"🐅",fitzpatrick_scale:false,category:"animals_and_nature"},water_buffalo:{keywords:["animal","nature","ox","cow"],char:"🐃",fitzpatrick_scale:false,category:"animals_and_nature"},ox:{keywords:["animal","cow","beef"],char:"🐂",fitzpatrick_scale:false,category:"animals_and_nature"},cow2:{keywords:["beef","ox","animal","nature","moo","milk"],char:"🐄",fitzpatrick_scale:false,category:"animals_and_nature"},deer:{keywords:["animal","nature","horns","venison"],char:"🦌",fitzpatrick_scale:false,category:"animals_and_nature"},dromedary_camel:{keywords:["animal","hot","desert","hump"],char:"🐪",fitzpatrick_scale:false,category:"animals_and_nature"},camel:{keywords:["animal","nature","hot","desert","hump"],char:"🐫",fitzpatrick_scale:false,category:"animals_and_nature"},giraffe:{keywords:["animal","nature","spots","safari"],char:"🦒",fitzpatrick_scale:false,category:"animals_and_nature"},elephant:{keywords:["animal","nature","nose","th","circus"],char:"🐘",fitzpatrick_scale:false,category:"animals_and_nature"},rhinoceros:{keywords:["animal","nature","horn"],char:"🦏",fitzpatrick_scale:false,category:"animals_and_nature"},goat:{keywords:["animal","nature"],char:"🐐",fitzpatrick_scale:false,category:"animals_and_nature"},ram:{keywords:["animal","sheep","nature"],char:"🐏",fitzpatrick_scale:false,category:"animals_and_nature"},sheep:{keywords:["animal","nature","wool","shipit"],char:"🐑",fitzpatrick_scale:false,category:"animals_and_nature"},racehorse:{keywords:["animal","gamble","luck"],char:"🐎",fitzpatrick_scale:false,category:"animals_and_nature"},pig2:{keywords:["animal","nature"],char:"🐖",fitzpatrick_scale:false,category:"animals_and_nature"},rat:{keywords:["animal","mouse","rodent"],char:"🐀",fitzpatrick_scale:false,category:"animals_and_nature"},mouse2:{keywords:["animal","nature","rodent"],char:"🐁",fitzpatrick_scale:false,category:"animals_and_nature"},rooster:{keywords:["animal","nature","chicken"],char:"🐓",fitzpatrick_scale:false,category:"animals_and_nature"},turkey:{keywords:["animal","bird"],char:"🦃",fitzpatrick_scale:false,category:"animals_and_nature"},dove:{keywords:["animal","bird"],char:"🕊",fitzpatrick_scale:false,category:"animals_and_nature"},dog2:{keywords:["animal","nature","friend","doge","pet","faithful"],char:"🐕",fitzpatrick_scale:false,category:"animals_and_nature"},poodle:{keywords:["dog","animal","101","nature","pet"],char:"🐩",fitzpatrick_scale:false,category:"animals_and_nature"},cat2:{keywords:["animal","meow","pet","cats"],char:"🐈",fitzpatrick_scale:false,category:"animals_and_nature"},rabbit2:{keywords:["animal","nature","pet","magic","spring"],char:"🐇",fitzpatrick_scale:false,category:"animals_and_nature"},chipmunk:{keywords:["animal","nature","rodent","squirrel"],char:"🐿",fitzpatrick_scale:false,category:"animals_and_nature"},hedgehog:{keywords:["animal","nature","spiny"],char:"🦔",fitzpatrick_scale:false,category:"animals_and_nature"},raccoon:{keywords:["animal","nature"],char:"🦝",fitzpatrick_scale:false,category:"animals_and_nature"},llama:{keywords:["animal","nature","alpaca"],char:"🦙",fitzpatrick_scale:false,category:"animals_and_nature"},hippopotamus:{keywords:["animal","nature"],char:"🦛",fitzpatrick_scale:false,category:"animals_and_nature"},kangaroo:{keywords:["animal","nature","australia","joey","hop","marsupial"],char:"🦘",fitzpatrick_scale:false,category:"animals_and_nature"},badger:{keywords:["animal","nature","honey"],char:"🦡",fitzpatrick_scale:false,category:"animals_and_nature"},swan:{keywords:["animal","nature","bird"],char:"🦢",fitzpatrick_scale:false,category:"animals_and_nature"},peacock:{keywords:["animal","nature","peahen","bird"],char:"🦚",fitzpatrick_scale:false,category:"animals_and_nature"},parrot:{keywords:["animal","nature","bird","pirate","talk"],char:"🦜",fitzpatrick_scale:false,category:"animals_and_nature"},lobster:{keywords:["animal","nature","bisque","claws","seafood"],char:"🦞",fitzpatrick_scale:false,category:"animals_and_nature"},mosquito:{keywords:["animal","nature","insect","malaria"],char:"🦟",fitzpatrick_scale:false,category:"animals_and_nature"},paw_prints:{keywords:["animal","tracking","footprints","dog","cat","pet","feet"],char:"🐾",fitzpatrick_scale:false,category:"animals_and_nature"},dragon:{keywords:["animal","myth","nature","chinese","green"],char:"🐉",fitzpatrick_scale:false,category:"animals_and_nature"},dragon_face:{keywords:["animal","myth","nature","chinese","green"],char:"🐲",fitzpatrick_scale:false,category:"animals_and_nature"},cactus:{keywords:["vegetable","plant","nature"],char:"🌵",fitzpatrick_scale:false,category:"animals_and_nature"},christmas_tree:{keywords:["festival","vacation","december","xmas","celebration"],char:"🎄",fitzpatrick_scale:false,category:"animals_and_nature"},evergreen_tree:{keywords:["plant","nature"],char:"🌲",fitzpatrick_scale:false,category:"animals_and_nature"},deciduous_tree:{keywords:["plant","nature"],char:"🌳",fitzpatrick_scale:false,category:"animals_and_nature"},palm_tree:{keywords:["plant","vegetable","nature","summer","beach","mojito","tropical"],char:"🌴",fitzpatrick_scale:false,category:"animals_and_nature"},seedling:{keywords:["plant","nature","grass","lawn","spring"],char:"🌱",fitzpatrick_scale:false,category:"animals_and_nature"},herb:{keywords:["vegetable","plant","medicine","weed","grass","lawn"],char:"🌿",fitzpatrick_scale:false,category:"animals_and_nature"},shamrock:{keywords:["vegetable","plant","nature","irish","clover"],char:"☘",fitzpatrick_scale:false,category:"animals_and_nature"},four_leaf_clover:{keywords:["vegetable","plant","nature","lucky","irish"],char:"🍀",fitzpatrick_scale:false,category:"animals_and_nature"},bamboo:{keywords:["plant","nature","vegetable","panda","pine_decoration"],char:"🎍",fitzpatrick_scale:false,category:"animals_and_nature"},tanabata_tree:{keywords:["plant","nature","branch","summer"],char:"🎋",fitzpatrick_scale:false,category:"animals_and_nature"},leaves:{keywords:["nature","plant","tree","vegetable","grass","lawn","spring"],char:"🍃",fitzpatrick_scale:false,category:"animals_and_nature"},fallen_leaf:{keywords:["nature","plant","vegetable","leaves"],char:"🍂",fitzpatrick_scale:false,category:"animals_and_nature"},maple_leaf:{keywords:["nature","plant","vegetable","ca","fall"],char:"🍁",fitzpatrick_scale:false,category:"animals_and_nature"},ear_of_rice:{keywords:["nature","plant"],char:"🌾",fitzpatrick_scale:false,category:"animals_and_nature"},hibiscus:{keywords:["plant","vegetable","flowers","beach"],char:"🌺",fitzpatrick_scale:false,category:"animals_and_nature"},sunflower:{keywords:["nature","plant","fall"],char:"🌻",fitzpatrick_scale:false,category:"animals_and_nature"},rose:{keywords:["flowers","valentines","love","spring"],char:"🌹",fitzpatrick_scale:false,category:"animals_and_nature"},wilted_flower:{keywords:["plant","nature","flower"],char:"🥀",fitzpatrick_scale:false,category:"animals_and_nature"},tulip:{keywords:["flowers","plant","nature","summer","spring"],char:"🌷",fitzpatrick_scale:false,category:"animals_and_nature"},blossom:{keywords:["nature","flowers","yellow"],char:"🌼",fitzpatrick_scale:false,category:"animals_and_nature"},cherry_blossom:{keywords:["nature","plant","spring","flower"],char:"🌸",fitzpatrick_scale:false,category:"animals_and_nature"},bouquet:{keywords:["flowers","nature","spring"],char:"💐",fitzpatrick_scale:false,category:"animals_and_nature"},mushroom:{keywords:["plant","vegetable"],char:"🍄",fitzpatrick_scale:false,category:"animals_and_nature"},chestnut:{keywords:["food","squirrel"],char:"🌰",fitzpatrick_scale:false,category:"animals_and_nature"},jack_o_lantern:{keywords:["halloween","light","pumpkin","creepy","fall"],char:"🎃",fitzpatrick_scale:false,category:"animals_and_nature"},shell:{keywords:["nature","sea","beach"],char:"🐚",fitzpatrick_scale:false,category:"animals_and_nature"},spider_web:{keywords:["animal","insect","arachnid","silk"],char:"🕸",fitzpatrick_scale:false,category:"animals_and_nature"},earth_americas:{keywords:["globe","world","USA","international"],char:"🌎",fitzpatrick_scale:false,category:"animals_and_nature"},earth_africa:{keywords:["globe","world","international"],char:"🌍",fitzpatrick_scale:false,category:"animals_and_nature"},earth_asia:{keywords:["globe","world","east","international"],char:"🌏",fitzpatrick_scale:false,category:"animals_and_nature"},full_moon:{keywords:["nature","yellow","twilight","planet","space","night","evening","sleep"],char:"🌕",fitzpatrick_scale:false,category:"animals_and_nature"},waning_gibbous_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep","waxing_gibbous_moon"],char:"🌖",fitzpatrick_scale:false,category:"animals_and_nature"},last_quarter_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"🌗",fitzpatrick_scale:false,category:"animals_and_nature"},waning_crescent_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"🌘",fitzpatrick_scale:false,category:"animals_and_nature"},new_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"🌑",fitzpatrick_scale:false,category:"animals_and_nature"},waxing_crescent_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"🌒",fitzpatrick_scale:false,category:"animals_and_nature"},first_quarter_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"🌓",fitzpatrick_scale:false,category:"animals_and_nature"},waxing_gibbous_moon:{keywords:["nature","night","sky","gray","twilight","planet","space","evening","sleep"],char:"🌔",fitzpatrick_scale:false,category:"animals_and_nature"},new_moon_with_face:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"🌚",fitzpatrick_scale:false,category:"animals_and_nature"},full_moon_with_face:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"🌝",fitzpatrick_scale:false,category:"animals_and_nature"},first_quarter_moon_with_face:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"🌛",fitzpatrick_scale:false,category:"animals_and_nature"},last_quarter_moon_with_face:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"🌜",fitzpatrick_scale:false,category:"animals_and_nature"},sun_with_face:{keywords:["nature","morning","sky"],char:"🌞",fitzpatrick_scale:false,category:"animals_and_nature"},crescent_moon:{keywords:["night","sleep","sky","evening","magic"],char:"🌙",fitzpatrick_scale:false,category:"animals_and_nature"},star:{keywords:["night","yellow"],char:"⭐",fitzpatrick_scale:false,category:"animals_and_nature"},star2:{keywords:["night","sparkle","awesome","good","magic"],char:"🌟",fitzpatrick_scale:false,category:"animals_and_nature"},dizzy:{keywords:["star","sparkle","shoot","magic"],char:"💫",fitzpatrick_scale:false,category:"animals_and_nature"},sparkles:{keywords:["stars","shine","shiny","cool","awesome","good","magic"],char:"✨",fitzpatrick_scale:false,category:"animals_and_nature"},comet:{keywords:["space"],char:"☄",fitzpatrick_scale:false,category:"animals_and_nature"},sunny:{keywords:["weather","nature","brightness","summer","beach","spring"],char:"☀️",fitzpatrick_scale:false,category:"animals_and_nature"},sun_behind_small_cloud:{keywords:["weather"],char:"🌤",fitzpatrick_scale:false,category:"animals_and_nature"},partly_sunny:{keywords:["weather","nature","cloudy","morning","fall","spring"],char:"⛅",fitzpatrick_scale:false,category:"animals_and_nature"},sun_behind_large_cloud:{keywords:["weather"],char:"🌥",fitzpatrick_scale:false,category:"animals_and_nature"},sun_behind_rain_cloud:{keywords:["weather"],char:"🌦",fitzpatrick_scale:false,category:"animals_and_nature"},cloud:{keywords:["weather","sky"],char:"☁️",fitzpatrick_scale:false,category:"animals_and_nature"},cloud_with_rain:{keywords:["weather"],char:"🌧",fitzpatrick_scale:false,category:"animals_and_nature"},cloud_with_lightning_and_rain:{keywords:["weather","lightning"],char:"⛈",fitzpatrick_scale:false,category:"animals_and_nature"},cloud_with_lightning:{keywords:["weather","thunder"],char:"🌩",fitzpatrick_scale:false,category:"animals_and_nature"},zap:{keywords:["thunder","weather","lightning bolt","fast"],char:"⚡",fitzpatrick_scale:false,category:"animals_and_nature"},fire:{keywords:["hot","cook","flame"],char:"🔥",fitzpatrick_scale:false,category:"animals_and_nature"},boom:{keywords:["bomb","explode","explosion","collision","blown"],char:"💥",fitzpatrick_scale:false,category:"animals_and_nature"},snowflake:{keywords:["winter","season","cold","weather","christmas","xmas"],char:"❄️",fitzpatrick_scale:false,category:"animals_and_nature"},cloud_with_snow:{keywords:["weather"],char:"🌨",fitzpatrick_scale:false,category:"animals_and_nature"},snowman:{keywords:["winter","season","cold","weather","christmas","xmas","frozen","without_snow"],char:"⛄",fitzpatrick_scale:false,category:"animals_and_nature"},snowman_with_snow:{keywords:["winter","season","cold","weather","christmas","xmas","frozen"],char:"☃",fitzpatrick_scale:false,category:"animals_and_nature"},wind_face:{keywords:["gust","air"],char:"🌬",fitzpatrick_scale:false,category:"animals_and_nature"},dash:{keywords:["wind","air","fast","shoo","fart","smoke","puff"],char:"💨",fitzpatrick_scale:false,category:"animals_and_nature"},tornado:{keywords:["weather","cyclone","twister"],char:"🌪",fitzpatrick_scale:false,category:"animals_and_nature"},fog:{keywords:["weather"],char:"🌫",fitzpatrick_scale:false,category:"animals_and_nature"},open_umbrella:{keywords:["weather","spring"],char:"☂",fitzpatrick_scale:false,category:"animals_and_nature"},umbrella:{keywords:["rainy","weather","spring"],char:"☔",fitzpatrick_scale:false,category:"animals_and_nature"},droplet:{keywords:["water","drip","faucet","spring"],char:"💧",fitzpatrick_scale:false,category:"animals_and_nature"},sweat_drops:{keywords:["water","drip","oops"],char:"💦",fitzpatrick_scale:false,category:"animals_and_nature"},ocean:{keywords:["sea","water","wave","nature","tsunami","disaster"],char:"🌊",fitzpatrick_scale:false,category:"animals_and_nature"},green_apple:{keywords:["fruit","nature"],char:"🍏",fitzpatrick_scale:false,category:"food_and_drink"},apple:{keywords:["fruit","mac","school"],char:"🍎",fitzpatrick_scale:false,category:"food_and_drink"},pear:{keywords:["fruit","nature","food"],char:"🍐",fitzpatrick_scale:false,category:"food_and_drink"},tangerine:{keywords:["food","fruit","nature","orange"],char:"🍊",fitzpatrick_scale:false,category:"food_and_drink"},lemon:{keywords:["fruit","nature"],char:"🍋",fitzpatrick_scale:false,category:"food_and_drink"},banana:{keywords:["fruit","food","monkey"],char:"🍌",fitzpatrick_scale:false,category:"food_and_drink"},watermelon:{keywords:["fruit","food","picnic","summer"],char:"🍉",fitzpatrick_scale:false,category:"food_and_drink"},grapes:{keywords:["fruit","food","wine"],char:"🍇",fitzpatrick_scale:false,category:"food_and_drink"},strawberry:{keywords:["fruit","food","nature"],char:"🍓",fitzpatrick_scale:false,category:"food_and_drink"},melon:{keywords:["fruit","nature","food"],char:"🍈",fitzpatrick_scale:false,category:"food_and_drink"},cherries:{keywords:["food","fruit"],char:"🍒",fitzpatrick_scale:false,category:"food_and_drink"},peach:{keywords:["fruit","nature","food"],char:"🍑",fitzpatrick_scale:false,category:"food_and_drink"},pineapple:{keywords:["fruit","nature","food"],char:"🍍",fitzpatrick_scale:false,category:"food_and_drink"},coconut:{keywords:["fruit","nature","food","palm"],char:"🥥",fitzpatrick_scale:false,category:"food_and_drink"},kiwi_fruit:{keywords:["fruit","food"],char:"🥝",fitzpatrick_scale:false,category:"food_and_drink"},mango:{keywords:["fruit","food","tropical"],char:"🥭",fitzpatrick_scale:false,category:"food_and_drink"},avocado:{keywords:["fruit","food"],char:"🥑",fitzpatrick_scale:false,category:"food_and_drink"},broccoli:{keywords:["fruit","food","vegetable"],char:"🥦",fitzpatrick_scale:false,category:"food_and_drink"},tomato:{keywords:["fruit","vegetable","nature","food"],char:"🍅",fitzpatrick_scale:false,category:"food_and_drink"},eggplant:{keywords:["vegetable","nature","food","aubergine"],char:"🍆",fitzpatrick_scale:false,category:"food_and_drink"},cucumber:{keywords:["fruit","food","pickle"],char:"🥒",fitzpatrick_scale:false,category:"food_and_drink"},carrot:{keywords:["vegetable","food","orange"],char:"🥕",fitzpatrick_scale:false,category:"food_and_drink"},hot_pepper:{keywords:["food","spicy","chilli","chili"],char:"🌶",fitzpatrick_scale:false,category:"food_and_drink"},potato:{keywords:["food","tuber","vegatable","starch"],char:"🥔",fitzpatrick_scale:false,category:"food_and_drink"},corn:{keywords:["food","vegetable","plant"],char:"🌽",fitzpatrick_scale:false,category:"food_and_drink"},leafy_greens:{keywords:["food","vegetable","plant","bok choy","cabbage","kale","lettuce"],char:"🥬",fitzpatrick_scale:false,category:"food_and_drink"},sweet_potato:{keywords:["food","nature"],char:"🍠",fitzpatrick_scale:false,category:"food_and_drink"},peanuts:{keywords:["food","nut"],char:"🥜",fitzpatrick_scale:false,category:"food_and_drink"},honey_pot:{keywords:["bees","sweet","kitchen"],char:"🍯",fitzpatrick_scale:false,category:"food_and_drink"},croissant:{keywords:["food","bread","french"],char:"🥐",fitzpatrick_scale:false,category:"food_and_drink"},bread:{keywords:["food","wheat","breakfast","toast"],char:"🍞",fitzpatrick_scale:false,category:"food_and_drink"},baguette_bread:{keywords:["food","bread","french"],char:"🥖",fitzpatrick_scale:false,category:"food_and_drink"},bagel:{keywords:["food","bread","bakery","schmear"],char:"🥯",fitzpatrick_scale:false,category:"food_and_drink"},pretzel:{keywords:["food","bread","twisted"],char:"🥨",fitzpatrick_scale:false,category:"food_and_drink"},cheese:{keywords:["food","chadder"],char:"🧀",fitzpatrick_scale:false,category:"food_and_drink"},egg:{keywords:["food","chicken","breakfast"],char:"🥚",fitzpatrick_scale:false,category:"food_and_drink"},bacon:{keywords:["food","breakfast","pork","pig","meat"],char:"🥓",fitzpatrick_scale:false,category:"food_and_drink"},steak:{keywords:["food","cow","meat","cut","chop","lambchop","porkchop"],char:"🥩",fitzpatrick_scale:false,category:"food_and_drink"},pancakes:{keywords:["food","breakfast","flapjacks","hotcakes"],char:"🥞",fitzpatrick_scale:false,category:"food_and_drink"},poultry_leg:{keywords:["food","meat","drumstick","bird","chicken","turkey"],char:"🍗",fitzpatrick_scale:false,category:"food_and_drink"},meat_on_bone:{keywords:["good","food","drumstick"],char:"🍖",fitzpatrick_scale:false,category:"food_and_drink"},bone:{keywords:["skeleton"],char:"🦴",fitzpatrick_scale:false,category:"food_and_drink"},fried_shrimp:{keywords:["food","animal","appetizer","summer"],char:"🍤",fitzpatrick_scale:false,category:"food_and_drink"},fried_egg:{keywords:["food","breakfast","kitchen","egg"],char:"🍳",fitzpatrick_scale:false,category:"food_and_drink"},hamburger:{keywords:["meat","fast food","beef","cheeseburger","mcdonalds","burger king"],char:"🍔",fitzpatrick_scale:false,category:"food_and_drink"},fries:{keywords:["chips","snack","fast food"],char:"🍟",fitzpatrick_scale:false,category:"food_and_drink"},stuffed_flatbread:{keywords:["food","flatbread","stuffed","gyro"],char:"🥙",fitzpatrick_scale:false,category:"food_and_drink"},hotdog:{keywords:["food","frankfurter"],char:"🌭",fitzpatrick_scale:false,category:"food_and_drink"},pizza:{keywords:["food","party"],char:"🍕",fitzpatrick_scale:false,category:"food_and_drink"},sandwich:{keywords:["food","lunch","bread"],char:"🥪",fitzpatrick_scale:false,category:"food_and_drink"},canned_food:{keywords:["food","soup"],char:"🥫",fitzpatrick_scale:false,category:"food_and_drink"},spaghetti:{keywords:["food","italian","noodle"],char:"🍝",fitzpatrick_scale:false,category:"food_and_drink"},taco:{keywords:["food","mexican"],char:"🌮",fitzpatrick_scale:false,category:"food_and_drink"},burrito:{keywords:["food","mexican"],char:"🌯",fitzpatrick_scale:false,category:"food_and_drink"},green_salad:{keywords:["food","healthy","lettuce"],char:"🥗",fitzpatrick_scale:false,category:"food_and_drink"},shallow_pan_of_food:{keywords:["food","cooking","casserole","paella"],char:"🥘",fitzpatrick_scale:false,category:"food_and_drink"},ramen:{keywords:["food","japanese","noodle","chopsticks"],char:"🍜",fitzpatrick_scale:false,category:"food_and_drink"},stew:{keywords:["food","meat","soup"],char:"🍲",fitzpatrick_scale:false,category:"food_and_drink"},fish_cake:{keywords:["food","japan","sea","beach","narutomaki","pink","swirl","kamaboko","surimi","ramen"],char:"🍥",fitzpatrick_scale:false,category:"food_and_drink"},fortune_cookie:{keywords:["food","prophecy"],char:"🥠",fitzpatrick_scale:false,category:"food_and_drink"},sushi:{keywords:["food","fish","japanese","rice"],char:"🍣",fitzpatrick_scale:false,category:"food_and_drink"},bento:{keywords:["food","japanese","box"],char:"🍱",fitzpatrick_scale:false,category:"food_and_drink"},curry:{keywords:["food","spicy","hot","indian"],char:"🍛",fitzpatrick_scale:false,category:"food_and_drink"},rice_ball:{keywords:["food","japanese"],char:"🍙",fitzpatrick_scale:false,category:"food_and_drink"},rice:{keywords:["food","china","asian"],char:"🍚",fitzpatrick_scale:false,category:"food_and_drink"},rice_cracker:{keywords:["food","japanese"],char:"🍘",fitzpatrick_scale:false,category:"food_and_drink"},oden:{keywords:["food","japanese"],char:"🍢",fitzpatrick_scale:false,category:"food_and_drink"},dango:{keywords:["food","dessert","sweet","japanese","barbecue","meat"],char:"🍡",fitzpatrick_scale:false,category:"food_and_drink"},shaved_ice:{keywords:["hot","dessert","summer"],char:"🍧",fitzpatrick_scale:false,category:"food_and_drink"},ice_cream:{keywords:["food","hot","dessert"],char:"🍨",fitzpatrick_scale:false,category:"food_and_drink"},icecream:{keywords:["food","hot","dessert","summer"],char:"🍦",fitzpatrick_scale:false,category:"food_and_drink"},pie:{keywords:["food","dessert","pastry"],char:"🥧",fitzpatrick_scale:false,category:"food_and_drink"},cake:{keywords:["food","dessert"],char:"🍰",fitzpatrick_scale:false,category:"food_and_drink"},cupcake:{keywords:["food","dessert","bakery","sweet"],char:"🧁",fitzpatrick_scale:false,category:"food_and_drink"},moon_cake:{keywords:["food","autumn"],char:"🥮",fitzpatrick_scale:false,category:"food_and_drink"},birthday:{keywords:["food","dessert","cake"],char:"🎂",fitzpatrick_scale:false,category:"food_and_drink"},custard:{keywords:["dessert","food"],char:"🍮",fitzpatrick_scale:false,category:"food_and_drink"},candy:{keywords:["snack","dessert","sweet","lolly"],char:"🍬",fitzpatrick_scale:false,category:"food_and_drink"},lollipop:{keywords:["food","snack","candy","sweet"],char:"🍭",fitzpatrick_scale:false,category:"food_and_drink"},chocolate_bar:{keywords:["food","snack","dessert","sweet"],char:"🍫",fitzpatrick_scale:false,category:"food_and_drink"},popcorn:{keywords:["food","movie theater","films","snack"],char:"🍿",fitzpatrick_scale:false,category:"food_and_drink"},dumpling:{keywords:["food","empanada","pierogi","potsticker"],char:"🥟",fitzpatrick_scale:false,category:"food_and_drink"},doughnut:{keywords:["food","dessert","snack","sweet","donut"],char:"🍩",fitzpatrick_scale:false,category:"food_and_drink"},cookie:{keywords:["food","snack","oreo","chocolate","sweet","dessert"],char:"🍪",fitzpatrick_scale:false,category:"food_and_drink"},milk_glass:{keywords:["beverage","drink","cow"],char:"🥛",fitzpatrick_scale:false,category:"food_and_drink"},beer:{keywords:["relax","beverage","drink","drunk","party","pub","summer","alcohol","booze"],char:"🍺",fitzpatrick_scale:false,category:"food_and_drink"},beers:{keywords:["relax","beverage","drink","drunk","party","pub","summer","alcohol","booze"],char:"🍻",fitzpatrick_scale:false,category:"food_and_drink"},clinking_glasses:{keywords:["beverage","drink","party","alcohol","celebrate","cheers","wine","champagne","toast"],char:"🥂",fitzpatrick_scale:false,category:"food_and_drink"},wine_glass:{keywords:["drink","beverage","drunk","alcohol","booze"],char:"🍷",fitzpatrick_scale:false,category:"food_and_drink"},tumbler_glass:{keywords:["drink","beverage","drunk","alcohol","liquor","booze","bourbon","scotch","whisky","glass","shot"],char:"🥃",fitzpatrick_scale:false,category:"food_and_drink"},cocktail:{keywords:["drink","drunk","alcohol","beverage","booze","mojito"],char:"🍸",fitzpatrick_scale:false,category:"food_and_drink"},tropical_drink:{keywords:["beverage","cocktail","summer","beach","alcohol","booze","mojito"],char:"🍹",fitzpatrick_scale:false,category:"food_and_drink"},champagne:{keywords:["drink","wine","bottle","celebration"],char:"🍾",fitzpatrick_scale:false,category:"food_and_drink"},sake:{keywords:["wine","drink","drunk","beverage","japanese","alcohol","booze"],char:"🍶",fitzpatrick_scale:false,category:"food_and_drink"},tea:{keywords:["drink","bowl","breakfast","green","british"],char:"🍵",fitzpatrick_scale:false,category:"food_and_drink"},cup_with_straw:{keywords:["drink","soda"],char:"🥤",fitzpatrick_scale:false,category:"food_and_drink"},coffee:{keywords:["beverage","caffeine","latte","espresso"],char:"☕",fitzpatrick_scale:false,category:"food_and_drink"},baby_bottle:{keywords:["food","container","milk"],char:"🍼",fitzpatrick_scale:false,category:"food_and_drink"},salt:{keywords:["condiment","shaker"],char:"🧂",fitzpatrick_scale:false,category:"food_and_drink"},spoon:{keywords:["cutlery","kitchen","tableware"],char:"🥄",fitzpatrick_scale:false,category:"food_and_drink"},fork_and_knife:{keywords:["cutlery","kitchen"],char:"🍴",fitzpatrick_scale:false,category:"food_and_drink"},plate_with_cutlery:{keywords:["food","eat","meal","lunch","dinner","restaurant"],char:"🍽",fitzpatrick_scale:false,category:"food_and_drink"},bowl_with_spoon:{keywords:["food","breakfast","cereal","oatmeal","porridge"],char:"🥣",fitzpatrick_scale:false,category:"food_and_drink"},takeout_box:{keywords:["food","leftovers"],char:"🥡",fitzpatrick_scale:false,category:"food_and_drink"},chopsticks:{keywords:["food"],char:"🥢",fitzpatrick_scale:false,category:"food_and_drink"},soccer:{keywords:["sports","football"],char:"⚽",fitzpatrick_scale:false,category:"activity"},basketball:{keywords:["sports","balls","NBA"],char:"🏀",fitzpatrick_scale:false,category:"activity"},football:{keywords:["sports","balls","NFL"],char:"🏈",fitzpatrick_scale:false,category:"activity"},baseball:{keywords:["sports","balls"],char:"⚾",fitzpatrick_scale:false,category:"activity"},softball:{keywords:["sports","balls"],char:"🥎",fitzpatrick_scale:false,category:"activity"},tennis:{keywords:["sports","balls","green"],char:"🎾",fitzpatrick_scale:false,category:"activity"},volleyball:{keywords:["sports","balls"],char:"🏐",fitzpatrick_scale:false,category:"activity"},rugby_football:{keywords:["sports","team"],char:"🏉",fitzpatrick_scale:false,category:"activity"},flying_disc:{keywords:["sports","frisbee","ultimate"],char:"🥏",fitzpatrick_scale:false,category:"activity"},"8ball":{keywords:["pool","hobby","game","luck","magic"],char:"🎱",fitzpatrick_scale:false,category:"activity"},golf:{keywords:["sports","business","flag","hole","summer"],char:"⛳",fitzpatrick_scale:false,category:"activity"},golfing_woman:{keywords:["sports","business","woman","female"],char:"🏌️‍♀️",fitzpatrick_scale:false,category:"activity"},golfing_man:{keywords:["sports","business"],char:"🏌",fitzpatrick_scale:true,category:"activity"},ping_pong:{keywords:["sports","pingpong"],char:"🏓",fitzpatrick_scale:false,category:"activity"},badminton:{keywords:["sports"],char:"🏸",fitzpatrick_scale:false,category:"activity"},goal_net:{keywords:["sports"],char:"🥅",fitzpatrick_scale:false,category:"activity"},ice_hockey:{keywords:["sports"],char:"🏒",fitzpatrick_scale:false,category:"activity"},field_hockey:{keywords:["sports"],char:"🏑",fitzpatrick_scale:false,category:"activity"},lacrosse:{keywords:["sports","ball","stick"],char:"🥍",fitzpatrick_scale:false,category:"activity"},cricket:{keywords:["sports"],char:"🏏",fitzpatrick_scale:false,category:"activity"},ski:{keywords:["sports","winter","cold","snow"],char:"🎿",fitzpatrick_scale:false,category:"activity"},skier:{keywords:["sports","winter","snow"],char:"⛷",fitzpatrick_scale:false,category:"activity"},snowboarder:{keywords:["sports","winter"],char:"🏂",fitzpatrick_scale:true,category:"activity"},person_fencing:{keywords:["sports","fencing","sword"],char:"🤺",fitzpatrick_scale:false,category:"activity"},women_wrestling:{keywords:["sports","wrestlers"],char:"🤼‍♀️",fitzpatrick_scale:false,category:"activity"},men_wrestling:{keywords:["sports","wrestlers"],char:"🤼‍♂️",fitzpatrick_scale:false,category:"activity"},woman_cartwheeling:{keywords:["gymnastics"],char:"🤸‍♀️",fitzpatrick_scale:true,category:"activity"},man_cartwheeling:{keywords:["gymnastics"],char:"🤸‍♂️",fitzpatrick_scale:true,category:"activity"},woman_playing_handball:{keywords:["sports"],char:"🤾‍♀️",fitzpatrick_scale:true,category:"activity"},man_playing_handball:{keywords:["sports"],char:"🤾‍♂️",fitzpatrick_scale:true,category:"activity"},ice_skate:{keywords:["sports"],char:"⛸",fitzpatrick_scale:false,category:"activity"},curling_stone:{keywords:["sports"],char:"🥌",fitzpatrick_scale:false,category:"activity"},skateboard:{keywords:["board"],char:"🛹",fitzpatrick_scale:false,category:"activity"},sled:{keywords:["sleigh","luge","toboggan"],char:"🛷",fitzpatrick_scale:false,category:"activity"},bow_and_arrow:{keywords:["sports"],char:"🏹",fitzpatrick_scale:false,category:"activity"},fishing_pole_and_fish:{keywords:["food","hobby","summer"],char:"🎣",fitzpatrick_scale:false,category:"activity"},boxing_glove:{keywords:["sports","fighting"],char:"🥊",fitzpatrick_scale:false,category:"activity"},martial_arts_uniform:{keywords:["judo","karate","taekwondo"],char:"🥋",fitzpatrick_scale:false,category:"activity"},rowing_woman:{keywords:["sports","hobby","water","ship","woman","female"],char:"🚣‍♀️",fitzpatrick_scale:true,category:"activity"},rowing_man:{keywords:["sports","hobby","water","ship"],char:"🚣",fitzpatrick_scale:true,category:"activity"},climbing_woman:{keywords:["sports","hobby","woman","female","rock"],char:"🧗‍♀️",fitzpatrick_scale:true,category:"activity"},climbing_man:{keywords:["sports","hobby","man","male","rock"],char:"🧗‍♂️",fitzpatrick_scale:true,category:"activity"},swimming_woman:{keywords:["sports","exercise","human","athlete","water","summer","woman","female"],char:"🏊‍♀️",fitzpatrick_scale:true,category:"activity"},swimming_man:{keywords:["sports","exercise","human","athlete","water","summer"],char:"🏊",fitzpatrick_scale:true,category:"activity"},woman_playing_water_polo:{keywords:["sports","pool"],char:"🤽‍♀️",fitzpatrick_scale:true,category:"activity"},man_playing_water_polo:{keywords:["sports","pool"],char:"🤽‍♂️",fitzpatrick_scale:true,category:"activity"},woman_in_lotus_position:{keywords:["woman","female","meditation","yoga","serenity","zen","mindfulness"],char:"🧘‍♀️",fitzpatrick_scale:true,category:"activity"},man_in_lotus_position:{keywords:["man","male","meditation","yoga","serenity","zen","mindfulness"],char:"🧘‍♂️",fitzpatrick_scale:true,category:"activity"},surfing_woman:{keywords:["sports","ocean","sea","summer","beach","woman","female"],char:"🏄‍♀️",fitzpatrick_scale:true,category:"activity"},surfing_man:{keywords:["sports","ocean","sea","summer","beach"],char:"🏄",fitzpatrick_scale:true,category:"activity"},bath:{keywords:["clean","shower","bathroom"],char:"🛀",fitzpatrick_scale:true,category:"activity"},basketball_woman:{keywords:["sports","human","woman","female"],char:"⛹️‍♀️",fitzpatrick_scale:true,category:"activity"},basketball_man:{keywords:["sports","human"],char:"⛹",fitzpatrick_scale:true,category:"activity"},weight_lifting_woman:{keywords:["sports","training","exercise","woman","female"],char:"🏋️‍♀️",fitzpatrick_scale:true,category:"activity"},weight_lifting_man:{keywords:["sports","training","exercise"],char:"🏋",fitzpatrick_scale:true,category:"activity"},biking_woman:{keywords:["sports","bike","exercise","hipster","woman","female"],char:"🚴‍♀️",fitzpatrick_scale:true,category:"activity"},biking_man:{keywords:["sports","bike","exercise","hipster"],char:"🚴",fitzpatrick_scale:true,category:"activity"},mountain_biking_woman:{keywords:["transportation","sports","human","race","bike","woman","female"],char:"🚵‍♀️",fitzpatrick_scale:true,category:"activity"},mountain_biking_man:{keywords:["transportation","sports","human","race","bike"],char:"🚵",fitzpatrick_scale:true,category:"activity"},horse_racing:{keywords:["animal","betting","competition","gambling","luck"],char:"🏇",fitzpatrick_scale:true,category:"activity"},business_suit_levitating:{keywords:["suit","business","levitate","hover","jump"],char:"🕴",fitzpatrick_scale:true,category:"activity"},trophy:{keywords:["win","award","contest","place","ftw","ceremony"],char:"🏆",fitzpatrick_scale:false,category:"activity"},running_shirt_with_sash:{keywords:["play","pageant"],char:"🎽",fitzpatrick_scale:false,category:"activity"},medal_sports:{keywords:["award","winning"],char:"🏅",fitzpatrick_scale:false,category:"activity"},medal_military:{keywords:["award","winning","army"],char:"🎖",fitzpatrick_scale:false,category:"activity"},"1st_place_medal":{keywords:["award","winning","first"],char:"🥇",fitzpatrick_scale:false,category:"activity"},"2nd_place_medal":{keywords:["award","second"],char:"🥈",fitzpatrick_scale:false,category:"activity"},"3rd_place_medal":{keywords:["award","third"],char:"🥉",fitzpatrick_scale:false,category:"activity"},reminder_ribbon:{keywords:["sports","cause","support","awareness"],char:"🎗",fitzpatrick_scale:false,category:"activity"},rosette:{keywords:["flower","decoration","military"],char:"🏵",fitzpatrick_scale:false,category:"activity"},ticket:{keywords:["event","concert","pass"],char:"🎫",fitzpatrick_scale:false,category:"activity"},tickets:{keywords:["sports","concert","entrance"],char:"🎟",fitzpatrick_scale:false,category:"activity"},performing_arts:{keywords:["acting","theater","drama"],char:"🎭",fitzpatrick_scale:false,category:"activity"},art:{keywords:["design","paint","draw","colors"],char:"🎨",fitzpatrick_scale:false,category:"activity"},circus_tent:{keywords:["festival","carnival","party"],char:"🎪",fitzpatrick_scale:false,category:"activity"},woman_juggling:{keywords:["juggle","balance","skill","multitask"],char:"🤹‍♀️",fitzpatrick_scale:true,category:"activity"},man_juggling:{keywords:["juggle","balance","skill","multitask"],char:"🤹‍♂️",fitzpatrick_scale:true,category:"activity"},microphone:{keywords:["sound","music","PA","sing","talkshow"],char:"🎤",fitzpatrick_scale:false,category:"activity"},headphones:{keywords:["music","score","gadgets"],char:"🎧",fitzpatrick_scale:false,category:"activity"},musical_score:{keywords:["treble","clef","compose"],char:"🎼",fitzpatrick_scale:false,category:"activity"},musical_keyboard:{keywords:["piano","instrument","compose"],char:"🎹",fitzpatrick_scale:false,category:"activity"},drum:{keywords:["music","instrument","drumsticks","snare"],char:"🥁",fitzpatrick_scale:false,category:"activity"},saxophone:{keywords:["music","instrument","jazz","blues"],char:"🎷",fitzpatrick_scale:false,category:"activity"},trumpet:{keywords:["music","brass"],char:"🎺",fitzpatrick_scale:false,category:"activity"},guitar:{keywords:["music","instrument"],char:"🎸",fitzpatrick_scale:false,category:"activity"},violin:{keywords:["music","instrument","orchestra","symphony"],char:"🎻",fitzpatrick_scale:false,category:"activity"},clapper:{keywords:["movie","film","record"],char:"🎬",fitzpatrick_scale:false,category:"activity"},video_game:{keywords:["play","console","PS4","controller"],char:"🎮",fitzpatrick_scale:false,category:"activity"},space_invader:{keywords:["game","arcade","play"],char:"👾",fitzpatrick_scale:false,category:"activity"},dart:{keywords:["game","play","bar","target","bullseye"],char:"🎯",fitzpatrick_scale:false,category:"activity"},game_die:{keywords:["dice","random","tabletop","play","luck"],char:"🎲",fitzpatrick_scale:false,category:"activity"},chess_pawn:{keywords:["expendable"],char:"♟",fitzpatrick_scale:false,category:"activity"},slot_machine:{keywords:["bet","gamble","vegas","fruit machine","luck","casino"],char:"🎰",fitzpatrick_scale:false,category:"activity"},jigsaw:{keywords:["interlocking","puzzle","piece"],char:"🧩",fitzpatrick_scale:false,category:"activity"},bowling:{keywords:["sports","fun","play"],char:"🎳",fitzpatrick_scale:false,category:"activity"},red_car:{keywords:["red","transportation","vehicle"],char:"🚗",fitzpatrick_scale:false,category:"travel_and_places"},taxi:{keywords:["uber","vehicle","cars","transportation"],char:"🚕",fitzpatrick_scale:false,category:"travel_and_places"},blue_car:{keywords:["transportation","vehicle"],char:"🚙",fitzpatrick_scale:false,category:"travel_and_places"},bus:{keywords:["car","vehicle","transportation"],char:"🚌",fitzpatrick_scale:false,category:"travel_and_places"},trolleybus:{keywords:["bart","transportation","vehicle"],char:"🚎",fitzpatrick_scale:false,category:"travel_and_places"},racing_car:{keywords:["sports","race","fast","formula","f1"],char:"🏎",fitzpatrick_scale:false,category:"travel_and_places"},police_car:{keywords:["vehicle","cars","transportation","law","legal","enforcement"],char:"🚓",fitzpatrick_scale:false,category:"travel_and_places"},ambulance:{keywords:["health","911","hospital"],char:"🚑",fitzpatrick_scale:false,category:"travel_and_places"},fire_engine:{keywords:["transportation","cars","vehicle"],char:"🚒",fitzpatrick_scale:false,category:"travel_and_places"},minibus:{keywords:["vehicle","car","transportation"],char:"🚐",fitzpatrick_scale:false,category:"travel_and_places"},truck:{keywords:["cars","transportation"],char:"🚚",fitzpatrick_scale:false,category:"travel_and_places"},articulated_lorry:{keywords:["vehicle","cars","transportation","express"],char:"🚛",fitzpatrick_scale:false,category:"travel_and_places"},tractor:{keywords:["vehicle","car","farming","agriculture"],char:"🚜",fitzpatrick_scale:false,category:"travel_and_places"},kick_scooter:{keywords:["vehicle","kick","razor"],char:"🛴",fitzpatrick_scale:false,category:"travel_and_places"},motorcycle:{keywords:["race","sports","fast"],char:"🏍",fitzpatrick_scale:false,category:"travel_and_places"},bike:{keywords:["sports","bicycle","exercise","hipster"],char:"🚲",fitzpatrick_scale:false,category:"travel_and_places"},motor_scooter:{keywords:["vehicle","vespa","sasha"],char:"🛵",fitzpatrick_scale:false,category:"travel_and_places"},rotating_light:{keywords:["police","ambulance","911","emergency","alert","error","pinged","law","legal"],char:"🚨",fitzpatrick_scale:false,category:"travel_and_places"},oncoming_police_car:{keywords:["vehicle","law","legal","enforcement","911"],char:"🚔",fitzpatrick_scale:false,category:"travel_and_places"},oncoming_bus:{keywords:["vehicle","transportation"],char:"🚍",fitzpatrick_scale:false,category:"travel_and_places"},oncoming_automobile:{keywords:["car","vehicle","transportation"],char:"🚘",fitzpatrick_scale:false,category:"travel_and_places"},oncoming_taxi:{keywords:["vehicle","cars","uber"],char:"🚖",fitzpatrick_scale:false,category:"travel_and_places"},aerial_tramway:{keywords:["transportation","vehicle","ski"],char:"🚡",fitzpatrick_scale:false,category:"travel_and_places"},mountain_cableway:{keywords:["transportation","vehicle","ski"],char:"🚠",fitzpatrick_scale:false,category:"travel_and_places"},suspension_railway:{keywords:["vehicle","transportation"],char:"🚟",fitzpatrick_scale:false,category:"travel_and_places"},railway_car:{keywords:["transportation","vehicle"],char:"🚃",fitzpatrick_scale:false,category:"travel_and_places"},train:{keywords:["transportation","vehicle","carriage","public","travel"],char:"🚋",fitzpatrick_scale:false,category:"travel_and_places"},monorail:{keywords:["transportation","vehicle"],char:"🚝",fitzpatrick_scale:false,category:"travel_and_places"},bullettrain_side:{keywords:["transportation","vehicle"],char:"🚄",fitzpatrick_scale:false,category:"travel_and_places"},bullettrain_front:{keywords:["transportation","vehicle","speed","fast","public","travel"],char:"🚅",fitzpatrick_scale:false,category:"travel_and_places"},light_rail:{keywords:["transportation","vehicle"],char:"🚈",fitzpatrick_scale:false,category:"travel_and_places"},mountain_railway:{keywords:["transportation","vehicle"],char:"🚞",fitzpatrick_scale:false,category:"travel_and_places"},steam_locomotive:{keywords:["transportation","vehicle","train"],char:"🚂",fitzpatrick_scale:false,category:"travel_and_places"},train2:{keywords:["transportation","vehicle"],char:"🚆",fitzpatrick_scale:false,category:"travel_and_places"},metro:{keywords:["transportation","blue-square","mrt","underground","tube"],char:"🚇",fitzpatrick_scale:false,category:"travel_and_places"},tram:{keywords:["transportation","vehicle"],char:"🚊",fitzpatrick_scale:false,category:"travel_and_places"},station:{keywords:["transportation","vehicle","public"],char:"🚉",fitzpatrick_scale:false,category:"travel_and_places"},flying_saucer:{keywords:["transportation","vehicle","ufo"],char:"🛸",fitzpatrick_scale:false,category:"travel_and_places"},helicopter:{keywords:["transportation","vehicle","fly"],char:"🚁",fitzpatrick_scale:false,category:"travel_and_places"},small_airplane:{keywords:["flight","transportation","fly","vehicle"],char:"🛩",fitzpatrick_scale:false,category:"travel_and_places"},airplane:{keywords:["vehicle","transportation","flight","fly"],char:"✈️",fitzpatrick_scale:false,category:"travel_and_places"},flight_departure:{keywords:["airport","flight","landing"],char:"🛫",fitzpatrick_scale:false,category:"travel_and_places"},flight_arrival:{keywords:["airport","flight","boarding"],char:"🛬",fitzpatrick_scale:false,category:"travel_and_places"},sailboat:{keywords:["ship","summer","transportation","water","sailing"],char:"⛵",fitzpatrick_scale:false,category:"travel_and_places"},motor_boat:{keywords:["ship"],char:"🛥",fitzpatrick_scale:false,category:"travel_and_places"},speedboat:{keywords:["ship","transportation","vehicle","summer"],char:"🚤",fitzpatrick_scale:false,category:"travel_and_places"},ferry:{keywords:["boat","ship","yacht"],char:"⛴",fitzpatrick_scale:false,category:"travel_and_places"},passenger_ship:{keywords:["yacht","cruise","ferry"],char:"🛳",fitzpatrick_scale:false,category:"travel_and_places"},rocket:{keywords:["launch","ship","staffmode","NASA","outer space","outer_space","fly"],char:"🚀",fitzpatrick_scale:false,category:"travel_and_places"},artificial_satellite:{keywords:["communication","gps","orbit","spaceflight","NASA","ISS"],char:"🛰",fitzpatrick_scale:false,category:"travel_and_places"},seat:{keywords:["sit","airplane","transport","bus","flight","fly"],char:"💺",fitzpatrick_scale:false,category:"travel_and_places"},canoe:{keywords:["boat","paddle","water","ship"],char:"🛶",fitzpatrick_scale:false,category:"travel_and_places"},anchor:{keywords:["ship","ferry","sea","boat"],char:"⚓",fitzpatrick_scale:false,category:"travel_and_places"},construction:{keywords:["wip","progress","caution","warning"],char:"🚧",fitzpatrick_scale:false,category:"travel_and_places"},fuelpump:{keywords:["gas station","petroleum"],char:"⛽",fitzpatrick_scale:false,category:"travel_and_places"},busstop:{keywords:["transportation","wait"],char:"🚏",fitzpatrick_scale:false,category:"travel_and_places"},vertical_traffic_light:{keywords:["transportation","driving"],char:"🚦",fitzpatrick_scale:false,category:"travel_and_places"},traffic_light:{keywords:["transportation","signal"],char:"🚥",fitzpatrick_scale:false,category:"travel_and_places"},checkered_flag:{keywords:["contest","finishline","race","gokart"],char:"🏁",fitzpatrick_scale:false,category:"travel_and_places"},ship:{keywords:["transportation","titanic","deploy"],char:"🚢",fitzpatrick_scale:false,category:"travel_and_places"},ferris_wheel:{keywords:["photo","carnival","londoneye"],char:"🎡",fitzpatrick_scale:false,category:"travel_and_places"},roller_coaster:{keywords:["carnival","playground","photo","fun"],char:"🎢",fitzpatrick_scale:false,category:"travel_and_places"},carousel_horse:{keywords:["photo","carnival"],char:"🎠",fitzpatrick_scale:false,category:"travel_and_places"},building_construction:{keywords:["wip","working","progress"],char:"🏗",fitzpatrick_scale:false,category:"travel_and_places"},foggy:{keywords:["photo","mountain"],char:"🌁",fitzpatrick_scale:false,category:"travel_and_places"},tokyo_tower:{keywords:["photo","japanese"],char:"🗼",fitzpatrick_scale:false,category:"travel_and_places"},factory:{keywords:["building","industry","pollution","smoke"],char:"🏭",fitzpatrick_scale:false,category:"travel_and_places"},fountain:{keywords:["photo","summer","water","fresh"],char:"⛲",fitzpatrick_scale:false,category:"travel_and_places"},rice_scene:{keywords:["photo","japan","asia","tsukimi"],char:"🎑",fitzpatrick_scale:false,category:"travel_and_places"},mountain:{keywords:["photo","nature","environment"],char:"⛰",fitzpatrick_scale:false,category:"travel_and_places"},mountain_snow:{keywords:["photo","nature","environment","winter","cold"],char:"🏔",fitzpatrick_scale:false,category:"travel_and_places"},mount_fuji:{keywords:["photo","mountain","nature","japanese"],char:"🗻",fitzpatrick_scale:false,category:"travel_and_places"},volcano:{keywords:["photo","nature","disaster"],char:"🌋",fitzpatrick_scale:false,category:"travel_and_places"},japan:{keywords:["nation","country","japanese","asia"],char:"🗾",fitzpatrick_scale:false,category:"travel_and_places"},camping:{keywords:["photo","outdoors","tent"],char:"🏕",fitzpatrick_scale:false,category:"travel_and_places"},tent:{keywords:["photo","camping","outdoors"],char:"⛺",fitzpatrick_scale:false,category:"travel_and_places"},national_park:{keywords:["photo","environment","nature"],char:"🏞",fitzpatrick_scale:false,category:"travel_and_places"},motorway:{keywords:["road","cupertino","interstate","highway"],char:"🛣",fitzpatrick_scale:false,category:"travel_and_places"},railway_track:{keywords:["train","transportation"],char:"🛤",fitzpatrick_scale:false,category:"travel_and_places"},sunrise:{keywords:["morning","view","vacation","photo"],char:"🌅",fitzpatrick_scale:false,category:"travel_and_places"},sunrise_over_mountains:{keywords:["view","vacation","photo"],char:"🌄",fitzpatrick_scale:false,category:"travel_and_places"},desert:{keywords:["photo","warm","saharah"],char:"🏜",fitzpatrick_scale:false,category:"travel_and_places"},beach_umbrella:{keywords:["weather","summer","sunny","sand","mojito"],char:"🏖",fitzpatrick_scale:false,category:"travel_and_places"},desert_island:{keywords:["photo","tropical","mojito"],char:"🏝",fitzpatrick_scale:false,category:"travel_and_places"},city_sunrise:{keywords:["photo","good morning","dawn"],char:"🌇",fitzpatrick_scale:false,category:"travel_and_places"},city_sunset:{keywords:["photo","evening","sky","buildings"],char:"🌆",fitzpatrick_scale:false,category:"travel_and_places"},cityscape:{keywords:["photo","night life","urban"],char:"🏙",fitzpatrick_scale:false,category:"travel_and_places"},night_with_stars:{keywords:["evening","city","downtown"],char:"🌃",fitzpatrick_scale:false,category:"travel_and_places"},bridge_at_night:{keywords:["photo","sanfrancisco"],char:"🌉",fitzpatrick_scale:false,category:"travel_and_places"},milky_way:{keywords:["photo","space","stars"],char:"🌌",fitzpatrick_scale:false,category:"travel_and_places"},stars:{keywords:["night","photo"],char:"🌠",fitzpatrick_scale:false,category:"travel_and_places"},sparkler:{keywords:["stars","night","shine"],char:"🎇",fitzpatrick_scale:false,category:"travel_and_places"},fireworks:{keywords:["photo","festival","carnival","congratulations"],char:"🎆",fitzpatrick_scale:false,category:"travel_and_places"},rainbow:{keywords:["nature","happy","unicorn_face","photo","sky","spring"],char:"🌈",fitzpatrick_scale:false,category:"travel_and_places"},houses:{keywords:["buildings","photo"],char:"🏘",fitzpatrick_scale:false,category:"travel_and_places"},european_castle:{keywords:["building","royalty","history"],char:"🏰",fitzpatrick_scale:false,category:"travel_and_places"},japanese_castle:{keywords:["photo","building"],char:"🏯",fitzpatrick_scale:false,category:"travel_and_places"},stadium:{keywords:["photo","place","sports","concert","venue"],char:"🏟",fitzpatrick_scale:false,category:"travel_and_places"},statue_of_liberty:{keywords:["american","newyork"],char:"🗽",fitzpatrick_scale:false,category:"travel_and_places"},house:{keywords:["building","home"],char:"🏠",fitzpatrick_scale:false,category:"travel_and_places"},house_with_garden:{keywords:["home","plant","nature"],char:"🏡",fitzpatrick_scale:false,category:"travel_and_places"},derelict_house:{keywords:["abandon","evict","broken","building"],char:"🏚",fitzpatrick_scale:false,category:"travel_and_places"},office:{keywords:["building","bureau","work"],char:"🏢",fitzpatrick_scale:false,category:"travel_and_places"},department_store:{keywords:["building","shopping","mall"],char:"🏬",fitzpatrick_scale:false,category:"travel_and_places"},post_office:{keywords:["building","envelope","communication"],char:"🏣",fitzpatrick_scale:false,category:"travel_and_places"},european_post_office:{keywords:["building","email"],char:"🏤",fitzpatrick_scale:false,category:"travel_and_places"},hospital:{keywords:["building","health","surgery","doctor"],char:"🏥",fitzpatrick_scale:false,category:"travel_and_places"},bank:{keywords:["building","money","sales","cash","business","enterprise"],char:"🏦",fitzpatrick_scale:false,category:"travel_and_places"},hotel:{keywords:["building","accomodation","checkin"],char:"🏨",fitzpatrick_scale:false,category:"travel_and_places"},convenience_store:{keywords:["building","shopping","groceries"],char:"🏪",fitzpatrick_scale:false,category:"travel_and_places"},school:{keywords:["building","student","education","learn","teach"],char:"🏫",fitzpatrick_scale:false,category:"travel_and_places"},love_hotel:{keywords:["like","affection","dating"],char:"🏩",fitzpatrick_scale:false,category:"travel_and_places"},wedding:{keywords:["love","like","affection","couple","marriage","bride","groom"],char:"💒",fitzpatrick_scale:false,category:"travel_and_places"},classical_building:{keywords:["art","culture","history"],char:"🏛",fitzpatrick_scale:false,category:"travel_and_places"},church:{keywords:["building","religion","christ"],char:"⛪",fitzpatrick_scale:false,category:"travel_and_places"},mosque:{keywords:["islam","worship","minaret"],char:"🕌",fitzpatrick_scale:false,category:"travel_and_places"},synagogue:{keywords:["judaism","worship","temple","jewish"],char:"🕍",fitzpatrick_scale:false,category:"travel_and_places"},kaaba:{keywords:["mecca","mosque","islam"],char:"🕋",fitzpatrick_scale:false,category:"travel_and_places"},shinto_shrine:{keywords:["temple","japan","kyoto"],char:"⛩",fitzpatrick_scale:false,category:"travel_and_places"},watch:{keywords:["time","accessories"],char:"⌚",fitzpatrick_scale:false,category:"objects"},iphone:{keywords:["technology","apple","gadgets","dial"],char:"📱",fitzpatrick_scale:false,category:"objects"},calling:{keywords:["iphone","incoming"],char:"📲",fitzpatrick_scale:false,category:"objects"},computer:{keywords:["technology","laptop","screen","display","monitor"],char:"💻",fitzpatrick_scale:false,category:"objects"},keyboard:{keywords:["technology","computer","type","input","text"],char:"⌨",fitzpatrick_scale:false,category:"objects"},desktop_computer:{keywords:["technology","computing","screen"],char:"🖥",fitzpatrick_scale:false,category:"objects"},printer:{keywords:["paper","ink"],char:"🖨",fitzpatrick_scale:false,category:"objects"},computer_mouse:{keywords:["click"],char:"🖱",fitzpatrick_scale:false,category:"objects"},trackball:{keywords:["technology","trackpad"],char:"🖲",fitzpatrick_scale:false,category:"objects"},joystick:{keywords:["game","play"],char:"🕹",fitzpatrick_scale:false,category:"objects"},clamp:{keywords:["tool"],char:"🗜",fitzpatrick_scale:false,category:"objects"},minidisc:{keywords:["technology","record","data","disk","90s"],char:"💽",fitzpatrick_scale:false,category:"objects"},floppy_disk:{keywords:["oldschool","technology","save","90s","80s"],char:"💾",fitzpatrick_scale:false,category:"objects"},cd:{keywords:["technology","dvd","disk","disc","90s"],char:"💿",fitzpatrick_scale:false,category:"objects"},dvd:{keywords:["cd","disk","disc"],char:"📀",fitzpatrick_scale:false,category:"objects"},vhs:{keywords:["record","video","oldschool","90s","80s"],char:"📼",fitzpatrick_scale:false,category:"objects"},camera:{keywords:["gadgets","photography"],char:"📷",fitzpatrick_scale:false,category:"objects"},camera_flash:{keywords:["photography","gadgets"],char:"📸",fitzpatrick_scale:false,category:"objects"},video_camera:{keywords:["film","record"],char:"📹",fitzpatrick_scale:false,category:"objects"},movie_camera:{keywords:["film","record"],char:"🎥",fitzpatrick_scale:false,category:"objects"},film_projector:{keywords:["video","tape","record","movie"],char:"📽",fitzpatrick_scale:false,category:"objects"},film_strip:{keywords:["movie"],char:"🎞",fitzpatrick_scale:false,category:"objects"},telephone_receiver:{keywords:["technology","communication","dial"],char:"📞",fitzpatrick_scale:false,category:"objects"},phone:{keywords:["technology","communication","dial","telephone"],char:"☎️",fitzpatrick_scale:false,category:"objects"},pager:{keywords:["bbcall","oldschool","90s"],char:"📟",fitzpatrick_scale:false,category:"objects"},fax:{keywords:["communication","technology"],char:"📠",fitzpatrick_scale:false,category:"objects"},tv:{keywords:["technology","program","oldschool","show","television"],char:"📺",fitzpatrick_scale:false,category:"objects"},radio:{keywords:["communication","music","podcast","program"],char:"📻",fitzpatrick_scale:false,category:"objects"},studio_microphone:{keywords:["sing","recording","artist","talkshow"],char:"🎙",fitzpatrick_scale:false,category:"objects"},level_slider:{keywords:["scale"],char:"🎚",fitzpatrick_scale:false,category:"objects"},control_knobs:{keywords:["dial"],char:"🎛",fitzpatrick_scale:false,category:"objects"},compass:{keywords:["magnetic","navigation","orienteering"],char:"🧭",fitzpatrick_scale:false,category:"objects"},stopwatch:{keywords:["time","deadline"],char:"⏱",fitzpatrick_scale:false,category:"objects"},timer_clock:{keywords:["alarm"],char:"⏲",fitzpatrick_scale:false,category:"objects"},alarm_clock:{keywords:["time","wake"],char:"⏰",fitzpatrick_scale:false,category:"objects"},mantelpiece_clock:{keywords:["time"],char:"🕰",fitzpatrick_scale:false,category:"objects"},hourglass_flowing_sand:{keywords:["oldschool","time","countdown"],char:"⏳",fitzpatrick_scale:false,category:"objects"},hourglass:{keywords:["time","clock","oldschool","limit","exam","quiz","test"],char:"⌛",fitzpatrick_scale:false,category:"objects"},satellite:{keywords:["communication","future","radio","space"],char:"📡",fitzpatrick_scale:false,category:"objects"},battery:{keywords:["power","energy","sustain"],char:"🔋",fitzpatrick_scale:false,category:"objects"},electric_plug:{keywords:["charger","power"],char:"🔌",fitzpatrick_scale:false,category:"objects"},bulb:{keywords:["light","electricity","idea"],char:"💡",fitzpatrick_scale:false,category:"objects"},flashlight:{keywords:["dark","camping","sight","night"],char:"🔦",fitzpatrick_scale:false,category:"objects"},candle:{keywords:["fire","wax"],char:"🕯",fitzpatrick_scale:false,category:"objects"},fire_extinguisher:{keywords:["quench"],char:"🧯",fitzpatrick_scale:false,category:"objects"},wastebasket:{keywords:["bin","trash","rubbish","garbage","toss"],char:"🗑",fitzpatrick_scale:false,category:"objects"},oil_drum:{keywords:["barrell"],char:"🛢",fitzpatrick_scale:false,category:"objects"},money_with_wings:{keywords:["dollar","bills","payment","sale"],char:"💸",fitzpatrick_scale:false,category:"objects"},dollar:{keywords:["money","sales","bill","currency"],char:"💵",fitzpatrick_scale:false,category:"objects"},yen:{keywords:["money","sales","japanese","dollar","currency"],char:"💴",fitzpatrick_scale:false,category:"objects"},euro:{keywords:["money","sales","dollar","currency"],char:"💶",fitzpatrick_scale:false,category:"objects"},pound:{keywords:["british","sterling","money","sales","bills","uk","england","currency"],char:"💷",fitzpatrick_scale:false,category:"objects"},moneybag:{keywords:["dollar","payment","coins","sale"],char:"💰",fitzpatrick_scale:false,category:"objects"},credit_card:{keywords:["money","sales","dollar","bill","payment","shopping"],char:"💳",fitzpatrick_scale:false,category:"objects"},gem:{keywords:["blue","ruby","diamond","jewelry"],char:"💎",fitzpatrick_scale:false,category:"objects"},balance_scale:{keywords:["law","fairness","weight"],char:"⚖",fitzpatrick_scale:false,category:"objects"},toolbox:{keywords:["tools","diy","fix","maintainer","mechanic"],char:"🧰",fitzpatrick_scale:false,category:"objects"},wrench:{keywords:["tools","diy","ikea","fix","maintainer"],char:"🔧",fitzpatrick_scale:false,category:"objects"},hammer:{keywords:["tools","build","create"],char:"🔨",fitzpatrick_scale:false,category:"objects"},hammer_and_pick:{keywords:["tools","build","create"],char:"⚒",fitzpatrick_scale:false,category:"objects"},hammer_and_wrench:{keywords:["tools","build","create"],char:"🛠",fitzpatrick_scale:false,category:"objects"},pick:{keywords:["tools","dig"],char:"⛏",fitzpatrick_scale:false,category:"objects"},nut_and_bolt:{keywords:["handy","tools","fix"],char:"🔩",fitzpatrick_scale:false,category:"objects"},gear:{keywords:["cog"],char:"⚙",fitzpatrick_scale:false,category:"objects"},brick:{keywords:["bricks"],char:"🧱",fitzpatrick_scale:false,category:"objects"},chains:{keywords:["lock","arrest"],char:"⛓",fitzpatrick_scale:false,category:"objects"},magnet:{keywords:["attraction","magnetic"],char:"🧲",fitzpatrick_scale:false,category:"objects"},gun:{keywords:["violence","weapon","pistol","revolver"],char:"🔫",fitzpatrick_scale:false,category:"objects"},bomb:{keywords:["boom","explode","explosion","terrorism"],char:"💣",fitzpatrick_scale:false,category:"objects"},firecracker:{keywords:["dynamite","boom","explode","explosion","explosive"],char:"🧨",fitzpatrick_scale:false,category:"objects"},hocho:{keywords:["knife","blade","cutlery","kitchen","weapon"],char:"🔪",fitzpatrick_scale:false,category:"objects"},dagger:{keywords:["weapon"],char:"🗡",fitzpatrick_scale:false,category:"objects"},crossed_swords:{keywords:["weapon"],char:"⚔",fitzpatrick_scale:false,category:"objects"},shield:{keywords:["protection","security"],char:"🛡",fitzpatrick_scale:false,category:"objects"},smoking:{keywords:["kills","tobacco","cigarette","joint","smoke"],char:"🚬",fitzpatrick_scale:false,category:"objects"},skull_and_crossbones:{keywords:["poison","danger","deadly","scary","death","pirate","evil"],char:"☠",fitzpatrick_scale:false,category:"objects"},coffin:{keywords:["vampire","dead","die","death","rip","graveyard","cemetery","casket","funeral","box"],char:"⚰",fitzpatrick_scale:false,category:"objects"},funeral_urn:{keywords:["dead","die","death","rip","ashes"],char:"⚱",fitzpatrick_scale:false,category:"objects"},amphora:{keywords:["vase","jar"],char:"🏺",fitzpatrick_scale:false,category:"objects"},crystal_ball:{keywords:["disco","party","magic","circus","fortune_teller"],char:"🔮",fitzpatrick_scale:false,category:"objects"},prayer_beads:{keywords:["dhikr","religious"],char:"📿",fitzpatrick_scale:false,category:"objects"},nazar_amulet:{keywords:["bead","charm"],char:"🧿",fitzpatrick_scale:false,category:"objects"},barber:{keywords:["hair","salon","style"],char:"💈",fitzpatrick_scale:false,category:"objects"},alembic:{keywords:["distilling","science","experiment","chemistry"],char:"⚗",fitzpatrick_scale:false,category:"objects"},telescope:{keywords:["stars","space","zoom","science","astronomy"],char:"🔭",fitzpatrick_scale:false,category:"objects"},microscope:{keywords:["laboratory","experiment","zoomin","science","study"],char:"🔬",fitzpatrick_scale:false,category:"objects"},hole:{keywords:["embarrassing"],char:"🕳",fitzpatrick_scale:false,category:"objects"},pill:{keywords:["health","medicine","doctor","pharmacy","drug"],char:"💊",fitzpatrick_scale:false,category:"objects"},syringe:{keywords:["health","hospital","drugs","blood","medicine","needle","doctor","nurse"],char:"💉",fitzpatrick_scale:false,category:"objects"},dna:{keywords:["biologist","genetics","life"],char:"🧬",fitzpatrick_scale:false,category:"objects"},microbe:{keywords:["amoeba","bacteria","germs"],char:"🦠",fitzpatrick_scale:false,category:"objects"},petri_dish:{keywords:["bacteria","biology","culture","lab"],char:"🧫",fitzpatrick_scale:false,category:"objects"},test_tube:{keywords:["chemistry","experiment","lab","science"],char:"🧪",fitzpatrick_scale:false,category:"objects"},thermometer:{keywords:["weather","temperature","hot","cold"],char:"🌡",fitzpatrick_scale:false,category:"objects"},broom:{keywords:["cleaning","sweeping","witch"],char:"🧹",fitzpatrick_scale:false,category:"objects"},basket:{keywords:["laundry"],char:"🧺",fitzpatrick_scale:false,category:"objects"},toilet_paper:{keywords:["roll"],char:"🧻",fitzpatrick_scale:false,category:"objects"},label:{keywords:["sale","tag"],char:"🏷",fitzpatrick_scale:false,category:"objects"},bookmark:{keywords:["favorite","label","save"],char:"🔖",fitzpatrick_scale:false,category:"objects"},toilet:{keywords:["restroom","wc","washroom","bathroom","potty"],char:"🚽",fitzpatrick_scale:false,category:"objects"},shower:{keywords:["clean","water","bathroom"],char:"🚿",fitzpatrick_scale:false,category:"objects"},bathtub:{keywords:["clean","shower","bathroom"],char:"🛁",fitzpatrick_scale:false,category:"objects"},soap:{keywords:["bar","bathing","cleaning","lather"],char:"🧼",fitzpatrick_scale:false,category:"objects"},sponge:{keywords:["absorbing","cleaning","porous"],char:"🧽",fitzpatrick_scale:false,category:"objects"},lotion_bottle:{keywords:["moisturizer","sunscreen"],char:"🧴",fitzpatrick_scale:false,category:"objects"},key:{keywords:["lock","door","password"],char:"🔑",fitzpatrick_scale:false,category:"objects"},old_key:{keywords:["lock","door","password"],char:"🗝",fitzpatrick_scale:false,category:"objects"},couch_and_lamp:{keywords:["read","chill"],char:"🛋",fitzpatrick_scale:false,category:"objects"},sleeping_bed:{keywords:["bed","rest"],char:"🛌",fitzpatrick_scale:true,category:"objects"},bed:{keywords:["sleep","rest"],char:"🛏",fitzpatrick_scale:false,category:"objects"},door:{keywords:["house","entry","exit"],char:"🚪",fitzpatrick_scale:false,category:"objects"},bellhop_bell:{keywords:["service"],char:"🛎",fitzpatrick_scale:false,category:"objects"},teddy_bear:{keywords:["plush","stuffed"],char:"🧸",fitzpatrick_scale:false,category:"objects"},framed_picture:{keywords:["photography"],char:"🖼",fitzpatrick_scale:false,category:"objects"},world_map:{keywords:["location","direction"],char:"🗺",fitzpatrick_scale:false,category:"objects"},parasol_on_ground:{keywords:["weather","summer"],char:"⛱",fitzpatrick_scale:false,category:"objects"},moyai:{keywords:["rock","easter island","moai"],char:"🗿",fitzpatrick_scale:false,category:"objects"},shopping:{keywords:["mall","buy","purchase"],char:"🛍",fitzpatrick_scale:false,category:"objects"},shopping_cart:{keywords:["trolley"],char:"🛒",fitzpatrick_scale:false,category:"objects"},balloon:{keywords:["party","celebration","birthday","circus"],char:"🎈",fitzpatrick_scale:false,category:"objects"},flags:{keywords:["fish","japanese","koinobori","carp","banner"],char:"🎏",fitzpatrick_scale:false,category:"objects"},ribbon:{keywords:["decoration","pink","girl","bowtie"],char:"🎀",fitzpatrick_scale:false,category:"objects"},gift:{keywords:["present","birthday","christmas","xmas"],char:"🎁",fitzpatrick_scale:false,category:"objects"},confetti_ball:{keywords:["festival","party","birthday","circus"],char:"🎊",fitzpatrick_scale:false,category:"objects"},tada:{keywords:["party","congratulations","birthday","magic","circus","celebration"],char:"🎉",fitzpatrick_scale:false,category:"objects"},dolls:{keywords:["japanese","toy","kimono"],char:"🎎",fitzpatrick_scale:false,category:"objects"},wind_chime:{keywords:["nature","ding","spring","bell"],char:"🎐",fitzpatrick_scale:false,category:"objects"},crossed_flags:{keywords:["japanese","nation","country","border"],char:"🎌",fitzpatrick_scale:false,category:"objects"},izakaya_lantern:{keywords:["light","paper","halloween","spooky"],char:"🏮",fitzpatrick_scale:false,category:"objects"},red_envelope:{keywords:["gift"],char:"🧧",fitzpatrick_scale:false,category:"objects"},email:{keywords:["letter","postal","inbox","communication"],char:"✉️",fitzpatrick_scale:false,category:"objects"},envelope_with_arrow:{keywords:["email","communication"],char:"📩",fitzpatrick_scale:false,category:"objects"},incoming_envelope:{keywords:["email","inbox"],char:"📨",fitzpatrick_scale:false,category:"objects"},"e-mail":{keywords:["communication","inbox"],char:"📧",fitzpatrick_scale:false,category:"objects"},love_letter:{keywords:["email","like","affection","envelope","valentines"],char:"💌",fitzpatrick_scale:false,category:"objects"},postbox:{keywords:["email","letter","envelope"],char:"📮",fitzpatrick_scale:false,category:"objects"},mailbox_closed:{keywords:["email","communication","inbox"],char:"📪",fitzpatrick_scale:false,category:"objects"},mailbox:{keywords:["email","inbox","communication"],char:"📫",fitzpatrick_scale:false,category:"objects"},mailbox_with_mail:{keywords:["email","inbox","communication"],char:"📬",fitzpatrick_scale:false,category:"objects"},mailbox_with_no_mail:{keywords:["email","inbox"],char:"📭",fitzpatrick_scale:false,category:"objects"},package:{keywords:["mail","gift","cardboard","box","moving"],char:"📦",fitzpatrick_scale:false,category:"objects"},postal_horn:{keywords:["instrument","music"],char:"📯",fitzpatrick_scale:false,category:"objects"},inbox_tray:{keywords:["email","documents"],char:"📥",fitzpatrick_scale:false,category:"objects"},outbox_tray:{keywords:["inbox","email"],char:"📤",fitzpatrick_scale:false,category:"objects"},scroll:{keywords:["documents","ancient","history","paper"],char:"📜",fitzpatrick_scale:false,category:"objects"},page_with_curl:{keywords:["documents","office","paper"],char:"📃",fitzpatrick_scale:false,category:"objects"},bookmark_tabs:{keywords:["favorite","save","order","tidy"],char:"📑",fitzpatrick_scale:false,category:"objects"},receipt:{keywords:["accounting","expenses"],char:"🧾",fitzpatrick_scale:false,category:"objects"},bar_chart:{keywords:["graph","presentation","stats"],char:"📊",fitzpatrick_scale:false,category:"objects"},chart_with_upwards_trend:{keywords:["graph","presentation","stats","recovery","business","economics","money","sales","good","success"],char:"📈",fitzpatrick_scale:false,category:"objects"},chart_with_downwards_trend:{keywords:["graph","presentation","stats","recession","business","economics","money","sales","bad","failure"],char:"📉",fitzpatrick_scale:false,category:"objects"},page_facing_up:{keywords:["documents","office","paper","information"],char:"📄",fitzpatrick_scale:false,category:"objects"},date:{keywords:["calendar","schedule"],char:"📅",fitzpatrick_scale:false,category:"objects"},calendar:{keywords:["schedule","date","planning"],char:"📆",fitzpatrick_scale:false,category:"objects"},spiral_calendar:{keywords:["date","schedule","planning"],char:"🗓",fitzpatrick_scale:false,category:"objects"},card_index:{keywords:["business","stationery"],char:"📇",fitzpatrick_scale:false,category:"objects"},card_file_box:{keywords:["business","stationery"],char:"🗃",fitzpatrick_scale:false,category:"objects"},ballot_box:{keywords:["election","vote"],char:"🗳",fitzpatrick_scale:false,category:"objects"},file_cabinet:{keywords:["filing","organizing"],char:"🗄",fitzpatrick_scale:false,category:"objects"},clipboard:{keywords:["stationery","documents"],char:"📋",fitzpatrick_scale:false,category:"objects"},spiral_notepad:{keywords:["memo","stationery"],char:"🗒",fitzpatrick_scale:false,category:"objects"},file_folder:{keywords:["documents","business","office"],char:"📁",fitzpatrick_scale:false,category:"objects"},open_file_folder:{keywords:["documents","load"],char:"📂",fitzpatrick_scale:false,category:"objects"},card_index_dividers:{keywords:["organizing","business","stationery"],char:"🗂",fitzpatrick_scale:false,category:"objects"},newspaper_roll:{keywords:["press","headline"],char:"🗞",fitzpatrick_scale:false,category:"objects"},newspaper:{keywords:["press","headline"],char:"📰",fitzpatrick_scale:false,category:"objects"},notebook:{keywords:["stationery","record","notes","paper","study"],char:"📓",fitzpatrick_scale:false,category:"objects"},closed_book:{keywords:["read","library","knowledge","textbook","learn"],char:"📕",fitzpatrick_scale:false,category:"objects"},green_book:{keywords:["read","library","knowledge","study"],char:"📗",fitzpatrick_scale:false,category:"objects"},blue_book:{keywords:["read","library","knowledge","learn","study"],char:"📘",fitzpatrick_scale:false,category:"objects"},orange_book:{keywords:["read","library","knowledge","textbook","study"],char:"📙",fitzpatrick_scale:false,category:"objects"},notebook_with_decorative_cover:{keywords:["classroom","notes","record","paper","study"],char:"📔",fitzpatrick_scale:false,category:"objects"},ledger:{keywords:["notes","paper"],char:"📒",fitzpatrick_scale:false,category:"objects"},books:{keywords:["literature","library","study"],char:"📚",fitzpatrick_scale:false,category:"objects"},open_book:{keywords:["book","read","library","knowledge","literature","learn","study"],char:"📖",fitzpatrick_scale:false,category:"objects"},safety_pin:{keywords:["diaper"],char:"🧷",fitzpatrick_scale:false,category:"objects"},link:{keywords:["rings","url"],char:"🔗",fitzpatrick_scale:false,category:"objects"},paperclip:{keywords:["documents","stationery"],char:"📎",fitzpatrick_scale:false,category:"objects"},paperclips:{keywords:["documents","stationery"],char:"🖇",fitzpatrick_scale:false,category:"objects"},scissors:{keywords:["stationery","cut"],char:"✂️",fitzpatrick_scale:false,category:"objects"},triangular_ruler:{keywords:["stationery","math","architect","sketch"],char:"📐",fitzpatrick_scale:false,category:"objects"},straight_ruler:{keywords:["stationery","calculate","length","math","school","drawing","architect","sketch"],char:"📏",fitzpatrick_scale:false,category:"objects"},abacus:{keywords:["calculation"],char:"🧮",fitzpatrick_scale:false,category:"objects"},pushpin:{keywords:["stationery","mark","here"],char:"📌",fitzpatrick_scale:false,category:"objects"},round_pushpin:{keywords:["stationery","location","map","here"],char:"📍",fitzpatrick_scale:false,category:"objects"},triangular_flag_on_post:{keywords:["mark","milestone","place"],char:"🚩",fitzpatrick_scale:false,category:"objects"},white_flag:{keywords:["losing","loser","lost","surrender","give up","fail"],char:"🏳",fitzpatrick_scale:false,category:"objects"},black_flag:{keywords:["pirate"],char:"🏴",fitzpatrick_scale:false,category:"objects"},rainbow_flag:{keywords:["flag","rainbow","pride","gay","lgbt","glbt","queer","homosexual","lesbian","bisexual","transgender"],char:"🏳️‍🌈",fitzpatrick_scale:false,category:"objects"},closed_lock_with_key:{keywords:["security","privacy"],char:"🔐",fitzpatrick_scale:false,category:"objects"},lock:{keywords:["security","password","padlock"],char:"🔒",fitzpatrick_scale:false,category:"objects"},unlock:{keywords:["privacy","security"],char:"🔓",fitzpatrick_scale:false,category:"objects"},lock_with_ink_pen:{keywords:["security","secret"],char:"🔏",fitzpatrick_scale:false,category:"objects"},pen:{keywords:["stationery","writing","write"],char:"🖊",fitzpatrick_scale:false,category:"objects"},fountain_pen:{keywords:["stationery","writing","write"],char:"🖋",fitzpatrick_scale:false,category:"objects"},black_nib:{keywords:["pen","stationery","writing","write"],char:"✒️",fitzpatrick_scale:false,category:"objects"},memo:{keywords:["write","documents","stationery","pencil","paper","writing","legal","exam","quiz","test","study","compose"],char:"📝",fitzpatrick_scale:false,category:"objects"},pencil2:{keywords:["stationery","write","paper","writing","school","study"],char:"✏️",fitzpatrick_scale:false,category:"objects"},crayon:{keywords:["drawing","creativity"],char:"🖍",fitzpatrick_scale:false,category:"objects"},paintbrush:{keywords:["drawing","creativity","art"],char:"🖌",fitzpatrick_scale:false,category:"objects"},mag:{keywords:["search","zoom","find","detective"],char:"🔍",fitzpatrick_scale:false,category:"objects"},mag_right:{keywords:["search","zoom","find","detective"],char:"🔎",fitzpatrick_scale:false,category:"objects"},heart:{keywords:["love","like","valentines"],char:"❤️",fitzpatrick_scale:false,category:"symbols"},orange_heart:{keywords:["love","like","affection","valentines"],char:"🧡",fitzpatrick_scale:false,category:"symbols"},yellow_heart:{keywords:["love","like","affection","valentines"],char:"💛",fitzpatrick_scale:false,category:"symbols"},green_heart:{keywords:["love","like","affection","valentines"],char:"💚",fitzpatrick_scale:false,category:"symbols"},blue_heart:{keywords:["love","like","affection","valentines"],char:"💙",fitzpatrick_scale:false,category:"symbols"},purple_heart:{keywords:["love","like","affection","valentines"],char:"💜",fitzpatrick_scale:false,category:"symbols"},black_heart:{keywords:["evil"],char:"🖤",fitzpatrick_scale:false,category:"symbols"},broken_heart:{keywords:["sad","sorry","break","heart","heartbreak"],char:"💔",fitzpatrick_scale:false,category:"symbols"},heavy_heart_exclamation:{keywords:["decoration","love"],char:"❣",fitzpatrick_scale:false,category:"symbols"},two_hearts:{keywords:["love","like","affection","valentines","heart"],char:"💕",fitzpatrick_scale:false,category:"symbols"},revolving_hearts:{keywords:["love","like","affection","valentines"],char:"💞",fitzpatrick_scale:false,category:"symbols"},heartbeat:{keywords:["love","like","affection","valentines","pink","heart"],char:"💓",fitzpatrick_scale:false,category:"symbols"},heartpulse:{keywords:["like","love","affection","valentines","pink"],char:"💗",fitzpatrick_scale:false,category:"symbols"},sparkling_heart:{keywords:["love","like","affection","valentines"],char:"💖",fitzpatrick_scale:false,category:"symbols"},cupid:{keywords:["love","like","heart","affection","valentines"],char:"💘",fitzpatrick_scale:false,category:"symbols"},gift_heart:{keywords:["love","valentines"],char:"💝",fitzpatrick_scale:false,category:"symbols"},heart_decoration:{keywords:["purple-square","love","like"],char:"💟",fitzpatrick_scale:false,category:"symbols"},peace_symbol:{keywords:["hippie"],char:"☮",fitzpatrick_scale:false,category:"symbols"},latin_cross:{keywords:["christianity"],char:"✝",fitzpatrick_scale:false,category:"symbols"},star_and_crescent:{keywords:["islam"],char:"☪",fitzpatrick_scale:false,category:"symbols"},om:{keywords:["hinduism","buddhism","sikhism","jainism"],char:"🕉",fitzpatrick_scale:false,category:"symbols"},wheel_of_dharma:{keywords:["hinduism","buddhism","sikhism","jainism"],char:"☸",fitzpatrick_scale:false,category:"symbols"},star_of_david:{keywords:["judaism"],char:"✡",fitzpatrick_scale:false,category:"symbols"},six_pointed_star:{keywords:["purple-square","religion","jewish","hexagram"],char:"🔯",fitzpatrick_scale:false,category:"symbols"},menorah:{keywords:["hanukkah","candles","jewish"],char:"🕎",fitzpatrick_scale:false,category:"symbols"},yin_yang:{keywords:["balance"],char:"☯",fitzpatrick_scale:false,category:"symbols"},orthodox_cross:{keywords:["suppedaneum","religion"],char:"☦",fitzpatrick_scale:false,category:"symbols"},place_of_worship:{keywords:["religion","church","temple","prayer"],char:"🛐",fitzpatrick_scale:false,category:"symbols"},ophiuchus:{keywords:["sign","purple-square","constellation","astrology"],char:"⛎",fitzpatrick_scale:false,category:"symbols"},aries:{keywords:["sign","purple-square","zodiac","astrology"],char:"♈",fitzpatrick_scale:false,category:"symbols"},taurus:{keywords:["purple-square","sign","zodiac","astrology"],char:"♉",fitzpatrick_scale:false,category:"symbols"},gemini:{keywords:["sign","zodiac","purple-square","astrology"],char:"♊",fitzpatrick_scale:false,category:"symbols"},cancer:{keywords:["sign","zodiac","purple-square","astrology"],char:"♋",fitzpatrick_scale:false,category:"symbols"},leo:{keywords:["sign","purple-square","zodiac","astrology"],char:"♌",fitzpatrick_scale:false,category:"symbols"},virgo:{keywords:["sign","zodiac","purple-square","astrology"],char:"♍",fitzpatrick_scale:false,category:"symbols"},libra:{keywords:["sign","purple-square","zodiac","astrology"],char:"♎",fitzpatrick_scale:false,category:"symbols"},scorpius:{keywords:["sign","zodiac","purple-square","astrology","scorpio"],char:"♏",fitzpatrick_scale:false,category:"symbols"},sagittarius:{keywords:["sign","zodiac","purple-square","astrology"],char:"♐",fitzpatrick_scale:false,category:"symbols"},capricorn:{keywords:["sign","zodiac","purple-square","astrology"],char:"♑",fitzpatrick_scale:false,category:"symbols"},aquarius:{keywords:["sign","purple-square","zodiac","astrology"],char:"♒",fitzpatrick_scale:false,category:"symbols"},pisces:{keywords:["purple-square","sign","zodiac","astrology"],char:"♓",fitzpatrick_scale:false,category:"symbols"},id:{keywords:["purple-square","words"],char:"🆔",fitzpatrick_scale:false,category:"symbols"},atom_symbol:{keywords:["science","physics","chemistry"],char:"⚛",fitzpatrick_scale:false,category:"symbols"},u7a7a:{keywords:["kanji","japanese","chinese","empty","sky","blue-square"],char:"🈳",fitzpatrick_scale:false,category:"symbols"},u5272:{keywords:["cut","divide","chinese","kanji","pink-square"],char:"🈹",fitzpatrick_scale:false,category:"symbols"},radioactive:{keywords:["nuclear","danger"],char:"☢",fitzpatrick_scale:false,category:"symbols"},biohazard:{keywords:["danger"],char:"☣",fitzpatrick_scale:false,category:"symbols"},mobile_phone_off:{keywords:["mute","orange-square","silence","quiet"],char:"📴",fitzpatrick_scale:false,category:"symbols"},vibration_mode:{keywords:["orange-square","phone"],char:"📳",fitzpatrick_scale:false,category:"symbols"},u6709:{keywords:["orange-square","chinese","have","kanji"],char:"🈶",fitzpatrick_scale:false,category:"symbols"},u7121:{keywords:["nothing","chinese","kanji","japanese","orange-square"],char:"🈚",fitzpatrick_scale:false,category:"symbols"},u7533:{keywords:["chinese","japanese","kanji","orange-square"],char:"🈸",fitzpatrick_scale:false,category:"symbols"},u55b6:{keywords:["japanese","opening hours","orange-square"],char:"🈺",fitzpatrick_scale:false,category:"symbols"},u6708:{keywords:["chinese","month","moon","japanese","orange-square","kanji"],char:"🈷️",fitzpatrick_scale:false,category:"symbols"},eight_pointed_black_star:{keywords:["orange-square","shape","polygon"],char:"✴️",fitzpatrick_scale:false,category:"symbols"},vs:{keywords:["words","orange-square"],char:"🆚",fitzpatrick_scale:false,category:"symbols"},accept:{keywords:["ok","good","chinese","kanji","agree","yes","orange-circle"],char:"🉑",fitzpatrick_scale:false,category:"symbols"},white_flower:{keywords:["japanese","spring"],char:"💮",fitzpatrick_scale:false,category:"symbols"},ideograph_advantage:{keywords:["chinese","kanji","obtain","get","circle"],char:"🉐",fitzpatrick_scale:false,category:"symbols"},secret:{keywords:["privacy","chinese","sshh","kanji","red-circle"],char:"㊙️",fitzpatrick_scale:false,category:"symbols"},congratulations:{keywords:["chinese","kanji","japanese","red-circle"],char:"㊗️",fitzpatrick_scale:false,category:"symbols"},u5408:{keywords:["japanese","chinese","join","kanji","red-square"],char:"🈴",fitzpatrick_scale:false,category:"symbols"},u6e80:{keywords:["full","chinese","japanese","red-square","kanji"],char:"🈵",fitzpatrick_scale:false,category:"symbols"},u7981:{keywords:["kanji","japanese","chinese","forbidden","limit","restricted","red-square"],char:"🈲",fitzpatrick_scale:false,category:"symbols"},a:{keywords:["red-square","alphabet","letter"],char:"🅰️",fitzpatrick_scale:false,category:"symbols"},b:{keywords:["red-square","alphabet","letter"],char:"🅱️",fitzpatrick_scale:false,category:"symbols"},ab:{keywords:["red-square","alphabet"],char:"🆎",fitzpatrick_scale:false,category:"symbols"},cl:{keywords:["alphabet","words","red-square"],char:"🆑",fitzpatrick_scale:false,category:"symbols"},o2:{keywords:["alphabet","red-square","letter"],char:"🅾️",fitzpatrick_scale:false,category:"symbols"},sos:{keywords:["help","red-square","words","emergency","911"],char:"🆘",fitzpatrick_scale:false,category:"symbols"},no_entry:{keywords:["limit","security","privacy","bad","denied","stop","circle"],char:"⛔",fitzpatrick_scale:false,category:"symbols"},name_badge:{keywords:["fire","forbid"],char:"📛",fitzpatrick_scale:false,category:"symbols"},no_entry_sign:{keywords:["forbid","stop","limit","denied","disallow","circle"],char:"🚫",fitzpatrick_scale:false,category:"symbols"},x:{keywords:["no","delete","remove","cancel","red"],char:"❌",fitzpatrick_scale:false,category:"symbols"},o:{keywords:["circle","round"],char:"⭕",fitzpatrick_scale:false,category:"symbols"},stop_sign:{keywords:["stop"],char:"🛑",fitzpatrick_scale:false,category:"symbols"},anger:{keywords:["angry","mad"],char:"💢",fitzpatrick_scale:false,category:"symbols"},hotsprings:{keywords:["bath","warm","relax"],char:"♨️",fitzpatrick_scale:false,category:"symbols"},no_pedestrians:{keywords:["rules","crossing","walking","circle"],char:"🚷",fitzpatrick_scale:false,category:"symbols"},do_not_litter:{keywords:["trash","bin","garbage","circle"],char:"🚯",fitzpatrick_scale:false,category:"symbols"},no_bicycles:{keywords:["cyclist","prohibited","circle"],char:"🚳",fitzpatrick_scale:false,category:"symbols"},"non-potable_water":{keywords:["drink","faucet","tap","circle"],char:"🚱",fitzpatrick_scale:false,category:"symbols"},underage:{keywords:["18","drink","pub","night","minor","circle"],char:"🔞",fitzpatrick_scale:false,category:"symbols"},no_mobile_phones:{keywords:["iphone","mute","circle"],char:"📵",fitzpatrick_scale:false,category:"symbols"},exclamation:{keywords:["heavy_exclamation_mark","danger","surprise","punctuation","wow","warning"],char:"❗",fitzpatrick_scale:false,category:"symbols"},grey_exclamation:{keywords:["surprise","punctuation","gray","wow","warning"],char:"❕",fitzpatrick_scale:false,category:"symbols"},question:{keywords:["doubt","confused"],char:"❓",fitzpatrick_scale:false,category:"symbols"},grey_question:{keywords:["doubts","gray","huh","confused"],char:"❔",fitzpatrick_scale:false,category:"symbols"},bangbang:{keywords:["exclamation","surprise"],char:"‼️",fitzpatrick_scale:false,category:"symbols"},interrobang:{keywords:["wat","punctuation","surprise"],char:"⁉️",fitzpatrick_scale:false,category:"symbols"},100:{keywords:["score","perfect","numbers","century","exam","quiz","test","pass","hundred"],char:"💯",fitzpatrick_scale:false,category:"symbols"},low_brightness:{keywords:["sun","afternoon","warm","summer"],char:"🔅",fitzpatrick_scale:false,category:"symbols"},high_brightness:{keywords:["sun","light"],char:"🔆",fitzpatrick_scale:false,category:"symbols"},trident:{keywords:["weapon","spear"],char:"🔱",fitzpatrick_scale:false,category:"symbols"},fleur_de_lis:{keywords:["decorative","scout"],char:"⚜",fitzpatrick_scale:false,category:"symbols"},part_alternation_mark:{keywords:["graph","presentation","stats","business","economics","bad"],char:"〽️",fitzpatrick_scale:false,category:"symbols"},warning:{keywords:["exclamation","wip","alert","error","problem","issue"],char:"⚠️",fitzpatrick_scale:false,category:"symbols"},children_crossing:{keywords:["school","warning","danger","sign","driving","yellow-diamond"],char:"🚸",fitzpatrick_scale:false,category:"symbols"},beginner:{keywords:["badge","shield"],char:"🔰",fitzpatrick_scale:false,category:"symbols"},recycle:{keywords:["arrow","environment","garbage","trash"],char:"♻️",fitzpatrick_scale:false,category:"symbols"},u6307:{keywords:["chinese","point","green-square","kanji"],char:"🈯",fitzpatrick_scale:false,category:"symbols"},chart:{keywords:["green-square","graph","presentation","stats"],char:"💹",fitzpatrick_scale:false,category:"symbols"},sparkle:{keywords:["stars","green-square","awesome","good","fireworks"],char:"❇️",fitzpatrick_scale:false,category:"symbols"},eight_spoked_asterisk:{keywords:["star","sparkle","green-square"],char:"✳️",fitzpatrick_scale:false,category:"symbols"},negative_squared_cross_mark:{keywords:["x","green-square","no","deny"],char:"❎",fitzpatrick_scale:false,category:"symbols"},white_check_mark:{keywords:["green-square","ok","agree","vote","election","answer","tick"],char:"✅",fitzpatrick_scale:false,category:"symbols"},diamond_shape_with_a_dot_inside:{keywords:["jewel","blue","gem","crystal","fancy"],char:"💠",fitzpatrick_scale:false,category:"symbols"},cyclone:{keywords:["weather","swirl","blue","cloud","vortex","spiral","whirlpool","spin","tornado","hurricane","typhoon"],char:"🌀",fitzpatrick_scale:false,category:"symbols"},loop:{keywords:["tape","cassette"],char:"➿",fitzpatrick_scale:false,category:"symbols"},globe_with_meridians:{keywords:["earth","international","world","internet","interweb","i18n"],char:"🌐",fitzpatrick_scale:false,category:"symbols"},m:{keywords:["alphabet","blue-circle","letter"],char:"Ⓜ️",fitzpatrick_scale:false,category:"symbols"},atm:{keywords:["money","sales","cash","blue-square","payment","bank"],char:"🏧",fitzpatrick_scale:false,category:"symbols"},sa:{keywords:["japanese","blue-square","katakana"],char:"🈂️",fitzpatrick_scale:false,category:"symbols"},passport_control:{keywords:["custom","blue-square"],char:"🛂",fitzpatrick_scale:false,category:"symbols"},customs:{keywords:["passport","border","blue-square"],char:"🛃",fitzpatrick_scale:false,category:"symbols"},baggage_claim:{keywords:["blue-square","airport","transport"],char:"🛄",fitzpatrick_scale:false,category:"symbols"},left_luggage:{keywords:["blue-square","travel"],char:"🛅",fitzpatrick_scale:false,category:"symbols"},wheelchair:{keywords:["blue-square","disabled","a11y","accessibility"],char:"♿",fitzpatrick_scale:false,category:"symbols"},no_smoking:{keywords:["cigarette","blue-square","smell","smoke"],char:"🚭",fitzpatrick_scale:false,category:"symbols"},wc:{keywords:["toilet","restroom","blue-square"],char:"🚾",fitzpatrick_scale:false,category:"symbols"},parking:{keywords:["cars","blue-square","alphabet","letter"],char:"🅿️",fitzpatrick_scale:false,category:"symbols"},potable_water:{keywords:["blue-square","liquid","restroom","cleaning","faucet"],char:"🚰",fitzpatrick_scale:false,category:"symbols"},mens:{keywords:["toilet","restroom","wc","blue-square","gender","male"],char:"🚹",fitzpatrick_scale:false,category:"symbols"},womens:{keywords:["purple-square","woman","female","toilet","loo","restroom","gender"],char:"🚺",fitzpatrick_scale:false,category:"symbols"},baby_symbol:{keywords:["orange-square","child"],char:"🚼",fitzpatrick_scale:false,category:"symbols"},restroom:{keywords:["blue-square","toilet","refresh","wc","gender"],char:"🚻",fitzpatrick_scale:false,category:"symbols"},put_litter_in_its_place:{keywords:["blue-square","sign","human","info"],char:"🚮",fitzpatrick_scale:false,category:"symbols"},cinema:{keywords:["blue-square","record","film","movie","curtain","stage","theater"],char:"🎦",fitzpatrick_scale:false,category:"symbols"},signal_strength:{keywords:["blue-square","reception","phone","internet","connection","wifi","bluetooth","bars"],char:"📶",fitzpatrick_scale:false,category:"symbols"},koko:{keywords:["blue-square","here","katakana","japanese","destination"],char:"🈁",fitzpatrick_scale:false,category:"symbols"},ng:{keywords:["blue-square","words","shape","icon"],char:"🆖",fitzpatrick_scale:false,category:"symbols"},ok:{keywords:["good","agree","yes","blue-square"],char:"🆗",fitzpatrick_scale:false,category:"symbols"},up:{keywords:["blue-square","above","high"],char:"🆙",fitzpatrick_scale:false,category:"symbols"},cool:{keywords:["words","blue-square"],char:"🆒",fitzpatrick_scale:false,category:"symbols"},new:{keywords:["blue-square","words","start"],char:"🆕",fitzpatrick_scale:false,category:"symbols"},free:{keywords:["blue-square","words"],char:"🆓",fitzpatrick_scale:false,category:"symbols"},zero:{keywords:["0","numbers","blue-square","null"],char:"0️⃣",fitzpatrick_scale:false,category:"symbols"},one:{keywords:["blue-square","numbers","1"],char:"1️⃣",fitzpatrick_scale:false,category:"symbols"},two:{keywords:["numbers","2","prime","blue-square"],char:"2️⃣",fitzpatrick_scale:false,category:"symbols"},three:{keywords:["3","numbers","prime","blue-square"],char:"3️⃣",fitzpatrick_scale:false,category:"symbols"},four:{keywords:["4","numbers","blue-square"],char:"4️⃣",fitzpatrick_scale:false,category:"symbols"},five:{keywords:["5","numbers","blue-square","prime"],char:"5️⃣",fitzpatrick_scale:false,category:"symbols"},six:{keywords:["6","numbers","blue-square"],char:"6️⃣",fitzpatrick_scale:false,category:"symbols"},seven:{keywords:["7","numbers","blue-square","prime"],char:"7️⃣",fitzpatrick_scale:false,category:"symbols"},eight:{keywords:["8","blue-square","numbers"],char:"8️⃣",fitzpatrick_scale:false,category:"symbols"},nine:{keywords:["blue-square","numbers","9"],char:"9️⃣",fitzpatrick_scale:false,category:"symbols"},keycap_ten:{keywords:["numbers","10","blue-square"],char:"🔟",fitzpatrick_scale:false,category:"symbols"},asterisk:{keywords:["star","keycap"],char:"*⃣",fitzpatrick_scale:false,category:"symbols"},1234:{keywords:["numbers","blue-square"],char:"🔢",fitzpatrick_scale:false,category:"symbols"},eject_button:{keywords:["blue-square"],char:"⏏️",fitzpatrick_scale:false,category:"symbols"},arrow_forward:{keywords:["blue-square","right","direction","play"],char:"▶️",fitzpatrick_scale:false,category:"symbols"},pause_button:{keywords:["pause","blue-square"],char:"⏸",fitzpatrick_scale:false,category:"symbols"},next_track_button:{keywords:["forward","next","blue-square"],char:"⏭",fitzpatrick_scale:false,category:"symbols"},stop_button:{keywords:["blue-square"],char:"⏹",fitzpatrick_scale:false,category:"symbols"},record_button:{keywords:["blue-square"],char:"⏺",fitzpatrick_scale:false,category:"symbols"},play_or_pause_button:{keywords:["blue-square","play","pause"],char:"⏯",fitzpatrick_scale:false,category:"symbols"},previous_track_button:{keywords:["backward"],char:"⏮",fitzpatrick_scale:false,category:"symbols"},fast_forward:{keywords:["blue-square","play","speed","continue"],char:"⏩",fitzpatrick_scale:false,category:"symbols"},rewind:{keywords:["play","blue-square"],char:"⏪",fitzpatrick_scale:false,category:"symbols"},twisted_rightwards_arrows:{keywords:["blue-square","shuffle","music","random"],char:"🔀",fitzpatrick_scale:false,category:"symbols"},repeat:{keywords:["loop","record"],char:"🔁",fitzpatrick_scale:false,category:"symbols"},repeat_one:{keywords:["blue-square","loop"],char:"🔂",fitzpatrick_scale:false,category:"symbols"},arrow_backward:{keywords:["blue-square","left","direction"],char:"◀️",fitzpatrick_scale:false,category:"symbols"},arrow_up_small:{keywords:["blue-square","triangle","direction","point","forward","top"],char:"🔼",fitzpatrick_scale:false,category:"symbols"},arrow_down_small:{keywords:["blue-square","direction","bottom"],char:"🔽",fitzpatrick_scale:false,category:"symbols"},arrow_double_up:{keywords:["blue-square","direction","top"],char:"⏫",fitzpatrick_scale:false,category:"symbols"},arrow_double_down:{keywords:["blue-square","direction","bottom"],char:"⏬",fitzpatrick_scale:false,category:"symbols"},arrow_right:{keywords:["blue-square","next"],char:"➡️",fitzpatrick_scale:false,category:"symbols"},arrow_left:{keywords:["blue-square","previous","back"],char:"⬅️",fitzpatrick_scale:false,category:"symbols"},arrow_up:{keywords:["blue-square","continue","top","direction"],char:"⬆️",fitzpatrick_scale:false,category:"symbols"},arrow_down:{keywords:["blue-square","direction","bottom"],char:"⬇️",fitzpatrick_scale:false,category:"symbols"},arrow_upper_right:{keywords:["blue-square","point","direction","diagonal","northeast"],char:"↗️",fitzpatrick_scale:false,category:"symbols"},arrow_lower_right:{keywords:["blue-square","direction","diagonal","southeast"],char:"↘️",fitzpatrick_scale:false,category:"symbols"},arrow_lower_left:{keywords:["blue-square","direction","diagonal","southwest"],char:"↙️",fitzpatrick_scale:false,category:"symbols"},arrow_upper_left:{keywords:["blue-square","point","direction","diagonal","northwest"],char:"↖️",fitzpatrick_scale:false,category:"symbols"},arrow_up_down:{keywords:["blue-square","direction","way","vertical"],char:"↕️",fitzpatrick_scale:false,category:"symbols"},left_right_arrow:{keywords:["shape","direction","horizontal","sideways"],char:"↔️",fitzpatrick_scale:false,category:"symbols"},arrows_counterclockwise:{keywords:["blue-square","sync","cycle"],char:"🔄",fitzpatrick_scale:false,category:"symbols"},arrow_right_hook:{keywords:["blue-square","return","rotate","direction"],char:"↪️",fitzpatrick_scale:false,category:"symbols"},leftwards_arrow_with_hook:{keywords:["back","return","blue-square","undo","enter"],char:"↩️",fitzpatrick_scale:false,category:"symbols"},arrow_heading_up:{keywords:["blue-square","direction","top"],char:"⤴️",fitzpatrick_scale:false,category:"symbols"},arrow_heading_down:{keywords:["blue-square","direction","bottom"],char:"⤵️",fitzpatrick_scale:false,category:"symbols"},hash:{keywords:["symbol","blue-square","twitter"],char:"#️⃣",fitzpatrick_scale:false,category:"symbols"},information_source:{keywords:["blue-square","alphabet","letter"],char:"ℹ️",fitzpatrick_scale:false,category:"symbols"},abc:{keywords:["blue-square","alphabet"],char:"🔤",fitzpatrick_scale:false,category:"symbols"},abcd:{keywords:["blue-square","alphabet"],char:"🔡",fitzpatrick_scale:false,category:"symbols"},capital_abcd:{keywords:["alphabet","words","blue-square"],char:"🔠",fitzpatrick_scale:false,category:"symbols"},symbols:{keywords:["blue-square","music","note","ampersand","percent","glyphs","characters"],char:"🔣",fitzpatrick_scale:false,category:"symbols"},musical_note:{keywords:["score","tone","sound"],char:"🎵",fitzpatrick_scale:false,category:"symbols"},notes:{keywords:["music","score"],char:"🎶",fitzpatrick_scale:false,category:"symbols"},wavy_dash:{keywords:["draw","line","moustache","mustache","squiggle","scribble"],char:"〰️",fitzpatrick_scale:false,category:"symbols"},curly_loop:{keywords:["scribble","draw","shape","squiggle"],char:"➰",fitzpatrick_scale:false,category:"symbols"},heavy_check_mark:{keywords:["ok","nike","answer","yes","tick"],char:"✔️",fitzpatrick_scale:false,category:"symbols"},arrows_clockwise:{keywords:["sync","cycle","round","repeat"],char:"🔃",fitzpatrick_scale:false,category:"symbols"},heavy_plus_sign:{keywords:["math","calculation","addition","more","increase"],char:"➕",fitzpatrick_scale:false,category:"symbols"},heavy_minus_sign:{keywords:["math","calculation","subtract","less"],char:"➖",fitzpatrick_scale:false,category:"symbols"},heavy_division_sign:{keywords:["divide","math","calculation"],char:"➗",fitzpatrick_scale:false,category:"symbols"},heavy_multiplication_x:{keywords:["math","calculation"],char:"✖️",fitzpatrick_scale:false,category:"symbols"},infinity:{keywords:["forever"],char:"♾",fitzpatrick_scale:false,category:"symbols"},heavy_dollar_sign:{keywords:["money","sales","payment","currency","buck"],char:"💲",fitzpatrick_scale:false,category:"symbols"},currency_exchange:{keywords:["money","sales","dollar","travel"],char:"💱",fitzpatrick_scale:false,category:"symbols"},copyright:{keywords:["ip","license","circle","law","legal"],char:"©️",fitzpatrick_scale:false,category:"symbols"},registered:{keywords:["alphabet","circle"],char:"®️",fitzpatrick_scale:false,category:"symbols"},tm:{keywords:["trademark","brand","law","legal"],char:"™️",fitzpatrick_scale:false,category:"symbols"},end:{keywords:["words","arrow"],char:"🔚",fitzpatrick_scale:false,category:"symbols"},back:{keywords:["arrow","words","return"],char:"🔙",fitzpatrick_scale:false,category:"symbols"},on:{keywords:["arrow","words"],char:"🔛",fitzpatrick_scale:false,category:"symbols"},top:{keywords:["words","blue-square"],char:"🔝",fitzpatrick_scale:false,category:"symbols"},soon:{keywords:["arrow","words"],char:"🔜",fitzpatrick_scale:false,category:"symbols"},ballot_box_with_check:{keywords:["ok","agree","confirm","black-square","vote","election","yes","tick"],char:"☑️",fitzpatrick_scale:false,category:"symbols"},radio_button:{keywords:["input","old","music","circle"],char:"🔘",fitzpatrick_scale:false,category:"symbols"},white_circle:{keywords:["shape","round"],char:"⚪",fitzpatrick_scale:false,category:"symbols"},black_circle:{keywords:["shape","button","round"],char:"⚫",fitzpatrick_scale:false,category:"symbols"},red_circle:{keywords:["shape","error","danger"],char:"🔴",fitzpatrick_scale:false,category:"symbols"},large_blue_circle:{keywords:["shape","icon","button"],char:"🔵",fitzpatrick_scale:false,category:"symbols"},small_orange_diamond:{keywords:["shape","jewel","gem"],char:"🔸",fitzpatrick_scale:false,category:"symbols"},small_blue_diamond:{keywords:["shape","jewel","gem"],char:"🔹",fitzpatrick_scale:false,category:"symbols"},large_orange_diamond:{keywords:["shape","jewel","gem"],char:"🔶",fitzpatrick_scale:false,category:"symbols"},large_blue_diamond:{keywords:["shape","jewel","gem"],char:"🔷",fitzpatrick_scale:false,category:"symbols"},small_red_triangle:{keywords:["shape","direction","up","top"],char:"🔺",fitzpatrick_scale:false,category:"symbols"},black_small_square:{keywords:["shape","icon"],char:"▪️",fitzpatrick_scale:false,category:"symbols"},white_small_square:{keywords:["shape","icon"],char:"▫️",fitzpatrick_scale:false,category:"symbols"},black_large_square:{keywords:["shape","icon","button"],char:"⬛",fitzpatrick_scale:false,category:"symbols"},white_large_square:{keywords:["shape","icon","stone","button"],char:"⬜",fitzpatrick_scale:false,category:"symbols"},small_red_triangle_down:{keywords:["shape","direction","bottom"],char:"🔻",fitzpatrick_scale:false,category:"symbols"},black_medium_square:{keywords:["shape","button","icon"],char:"◼️",fitzpatrick_scale:false,category:"symbols"},white_medium_square:{keywords:["shape","stone","icon"],char:"◻️",fitzpatrick_scale:false,category:"symbols"},black_medium_small_square:{keywords:["icon","shape","button"],char:"◾",fitzpatrick_scale:false,category:"symbols"},white_medium_small_square:{keywords:["shape","stone","icon","button"],char:"◽",fitzpatrick_scale:false,category:"symbols"},black_square_button:{keywords:["shape","input","frame"],char:"🔲",fitzpatrick_scale:false,category:"symbols"},white_square_button:{keywords:["shape","input"],char:"🔳",fitzpatrick_scale:false,category:"symbols"},speaker:{keywords:["sound","volume","silence","broadcast"],char:"🔈",fitzpatrick_scale:false,category:"symbols"},sound:{keywords:["volume","speaker","broadcast"],char:"🔉",fitzpatrick_scale:false,category:"symbols"},loud_sound:{keywords:["volume","noise","noisy","speaker","broadcast"],char:"🔊",fitzpatrick_scale:false,category:"symbols"},mute:{keywords:["sound","volume","silence","quiet"],char:"🔇",fitzpatrick_scale:false,category:"symbols"},mega:{keywords:["sound","speaker","volume"],char:"📣",fitzpatrick_scale:false,category:"symbols"},loudspeaker:{keywords:["volume","sound"],char:"📢",fitzpatrick_scale:false,category:"symbols"},bell:{keywords:["sound","notification","christmas","xmas","chime"],char:"🔔",fitzpatrick_scale:false,category:"symbols"},no_bell:{keywords:["sound","volume","mute","quiet","silent"],char:"🔕",fitzpatrick_scale:false,category:"symbols"},black_joker:{keywords:["poker","cards","game","play","magic"],char:"🃏",fitzpatrick_scale:false,category:"symbols"},mahjong:{keywords:["game","play","chinese","kanji"],char:"🀄",fitzpatrick_scale:false,category:"symbols"},spades:{keywords:["poker","cards","suits","magic"],char:"♠️",fitzpatrick_scale:false,category:"symbols"},clubs:{keywords:["poker","cards","magic","suits"],char:"♣️",fitzpatrick_scale:false,category:"symbols"},hearts:{keywords:["poker","cards","magic","suits"],char:"♥️",fitzpatrick_scale:false,category:"symbols"},diamonds:{keywords:["poker","cards","magic","suits"],char:"♦️",fitzpatrick_scale:false,category:"symbols"},flower_playing_cards:{keywords:["game","sunset","red"],char:"🎴",fitzpatrick_scale:false,category:"symbols"},thought_balloon:{keywords:["bubble","cloud","speech","thinking","dream"],char:"💭",fitzpatrick_scale:false,category:"symbols"},right_anger_bubble:{keywords:["caption","speech","thinking","mad"],char:"🗯",fitzpatrick_scale:false,category:"symbols"},speech_balloon:{keywords:["bubble","words","message","talk","chatting"],char:"💬",fitzpatrick_scale:false,category:"symbols"},left_speech_bubble:{keywords:["words","message","talk","chatting"],char:"🗨",fitzpatrick_scale:false,category:"symbols"},clock1:{keywords:["time","late","early","schedule"],char:"🕐",fitzpatrick_scale:false,category:"symbols"},clock2:{keywords:["time","late","early","schedule"],char:"🕑",fitzpatrick_scale:false,category:"symbols"},clock3:{keywords:["time","late","early","schedule"],char:"🕒",fitzpatrick_scale:false,category:"symbols"},clock4:{keywords:["time","late","early","schedule"],char:"🕓",fitzpatrick_scale:false,category:"symbols"},clock5:{keywords:["time","late","early","schedule"],char:"🕔",fitzpatrick_scale:false,category:"symbols"},clock6:{keywords:["time","late","early","schedule","dawn","dusk"],char:"🕕",fitzpatrick_scale:false,category:"symbols"},clock7:{keywords:["time","late","early","schedule"],char:"🕖",fitzpatrick_scale:false,category:"symbols"},clock8:{keywords:["time","late","early","schedule"],char:"🕗",fitzpatrick_scale:false,category:"symbols"},clock9:{keywords:["time","late","early","schedule"],char:"🕘",fitzpatrick_scale:false,category:"symbols"},clock10:{keywords:["time","late","early","schedule"],char:"🕙",fitzpatrick_scale:false,category:"symbols"},clock11:{keywords:["time","late","early","schedule"],char:"🕚",fitzpatrick_scale:false,category:"symbols"},clock12:{keywords:["time","noon","midnight","midday","late","early","schedule"],char:"🕛",fitzpatrick_scale:false,category:"symbols"},clock130:{keywords:["time","late","early","schedule"],char:"🕜",fitzpatrick_scale:false,category:"symbols"},clock230:{keywords:["time","late","early","schedule"],char:"🕝",fitzpatrick_scale:false,category:"symbols"},clock330:{keywords:["time","late","early","schedule"],char:"🕞",fitzpatrick_scale:false,category:"symbols"},clock430:{keywords:["time","late","early","schedule"],char:"🕟",fitzpatrick_scale:false,category:"symbols"},clock530:{keywords:["time","late","early","schedule"],char:"🕠",fitzpatrick_scale:false,category:"symbols"},clock630:{keywords:["time","late","early","schedule"],char:"🕡",fitzpatrick_scale:false,category:"symbols"},clock730:{keywords:["time","late","early","schedule"],char:"🕢",fitzpatrick_scale:false,category:"symbols"},clock830:{keywords:["time","late","early","schedule"],char:"🕣",fitzpatrick_scale:false,category:"symbols"},clock930:{keywords:["time","late","early","schedule"],char:"🕤",fitzpatrick_scale:false,category:"symbols"},clock1030:{keywords:["time","late","early","schedule"],char:"🕥",fitzpatrick_scale:false,category:"symbols"},clock1130:{keywords:["time","late","early","schedule"],char:"🕦",fitzpatrick_scale:false,category:"symbols"},clock1230:{keywords:["time","late","early","schedule"],char:"🕧",fitzpatrick_scale:false,category:"symbols"},afghanistan:{keywords:["af","flag","nation","country","banner"],char:"🇦🇫",fitzpatrick_scale:false,category:"flags"},aland_islands:{keywords:["Åland","islands","flag","nation","country","banner"],char:"🇦🇽",fitzpatrick_scale:false,category:"flags"},albania:{keywords:["al","flag","nation","country","banner"],char:"🇦🇱",fitzpatrick_scale:false,category:"flags"},algeria:{keywords:["dz","flag","nation","country","banner"],char:"🇩🇿",fitzpatrick_scale:false,category:"flags"},american_samoa:{keywords:["american","ws","flag","nation","country","banner"],char:"🇦🇸",fitzpatrick_scale:false,category:"flags"},andorra:{keywords:["ad","flag","nation","country","banner"],char:"🇦🇩",fitzpatrick_scale:false,category:"flags"},angola:{keywords:["ao","flag","nation","country","banner"],char:"🇦🇴",fitzpatrick_scale:false,category:"flags"},anguilla:{keywords:["ai","flag","nation","country","banner"],char:"🇦🇮",fitzpatrick_scale:false,category:"flags"},antarctica:{keywords:["aq","flag","nation","country","banner"],char:"🇦🇶",fitzpatrick_scale:false,category:"flags"},antigua_barbuda:{keywords:["antigua","barbuda","flag","nation","country","banner"],char:"🇦🇬",fitzpatrick_scale:false,category:"flags"},argentina:{keywords:["ar","flag","nation","country","banner"],char:"🇦🇷",fitzpatrick_scale:false,category:"flags"},armenia:{keywords:["am","flag","nation","country","banner"],char:"🇦🇲",fitzpatrick_scale:false,category:"flags"},aruba:{keywords:["aw","flag","nation","country","banner"],char:"🇦🇼",fitzpatrick_scale:false,category:"flags"},australia:{keywords:["au","flag","nation","country","banner"],char:"🇦🇺",fitzpatrick_scale:false,category:"flags"},austria:{keywords:["at","flag","nation","country","banner"],char:"🇦🇹",fitzpatrick_scale:false,category:"flags"},azerbaijan:{keywords:["az","flag","nation","country","banner"],char:"🇦🇿",fitzpatrick_scale:false,category:"flags"},bahamas:{keywords:["bs","flag","nation","country","banner"],char:"🇧🇸",fitzpatrick_scale:false,category:"flags"},bahrain:{keywords:["bh","flag","nation","country","banner"],char:"🇧🇭",fitzpatrick_scale:false,category:"flags"},bangladesh:{keywords:["bd","flag","nation","country","banner"],char:"🇧🇩",fitzpatrick_scale:false,category:"flags"},barbados:{keywords:["bb","flag","nation","country","banner"],char:"🇧🇧",fitzpatrick_scale:false,category:"flags"},belarus:{keywords:["by","flag","nation","country","banner"],char:"🇧🇾",fitzpatrick_scale:false,category:"flags"},belgium:{keywords:["be","flag","nation","country","banner"],char:"🇧🇪",fitzpatrick_scale:false,category:"flags"},belize:{keywords:["bz","flag","nation","country","banner"],char:"🇧🇿",fitzpatrick_scale:false,category:"flags"},benin:{keywords:["bj","flag","nation","country","banner"],char:"🇧🇯",fitzpatrick_scale:false,category:"flags"},bermuda:{keywords:["bm","flag","nation","country","banner"],char:"🇧🇲",fitzpatrick_scale:false,category:"flags"},bhutan:{keywords:["bt","flag","nation","country","banner"],char:"🇧🇹",fitzpatrick_scale:false,category:"flags"},bolivia:{keywords:["bo","flag","nation","country","banner"],char:"🇧🇴",fitzpatrick_scale:false,category:"flags"},caribbean_netherlands:{keywords:["bonaire","flag","nation","country","banner"],char:"🇧🇶",fitzpatrick_scale:false,category:"flags"},bosnia_herzegovina:{keywords:["bosnia","herzegovina","flag","nation","country","banner"],char:"🇧🇦",fitzpatrick_scale:false,category:"flags"},botswana:{keywords:["bw","flag","nation","country","banner"],char:"🇧🇼",fitzpatrick_scale:false,category:"flags"},brazil:{keywords:["br","flag","nation","country","banner"],char:"🇧🇷",fitzpatrick_scale:false,category:"flags"},british_indian_ocean_territory:{keywords:["british","indian","ocean","territory","flag","nation","country","banner"],char:"🇮🇴",fitzpatrick_scale:false,category:"flags"},british_virgin_islands:{keywords:["british","virgin","islands","bvi","flag","nation","country","banner"],char:"🇻🇬",fitzpatrick_scale:false,category:"flags"},brunei:{keywords:["bn","darussalam","flag","nation","country","banner"],char:"🇧🇳",fitzpatrick_scale:false,category:"flags"},bulgaria:{keywords:["bg","flag","nation","country","banner"],char:"🇧🇬",fitzpatrick_scale:false,category:"flags"},burkina_faso:{keywords:["burkina","faso","flag","nation","country","banner"],char:"🇧🇫",fitzpatrick_scale:false,category:"flags"},burundi:{keywords:["bi","flag","nation","country","banner"],char:"🇧🇮",fitzpatrick_scale:false,category:"flags"},cape_verde:{keywords:["cabo","verde","flag","nation","country","banner"],char:"🇨🇻",fitzpatrick_scale:false,category:"flags"},cambodia:{keywords:["kh","flag","nation","country","banner"],char:"🇰🇭",fitzpatrick_scale:false,category:"flags"},cameroon:{keywords:["cm","flag","nation","country","banner"],char:"🇨🇲",fitzpatrick_scale:false,category:"flags"},canada:{keywords:["ca","flag","nation","country","banner"],char:"🇨🇦",fitzpatrick_scale:false,category:"flags"},canary_islands:{keywords:["canary","islands","flag","nation","country","banner"],char:"🇮🇨",fitzpatrick_scale:false,category:"flags"},cayman_islands:{keywords:["cayman","islands","flag","nation","country","banner"],char:"🇰🇾",fitzpatrick_scale:false,category:"flags"},central_african_republic:{keywords:["central","african","republic","flag","nation","country","banner"],char:"🇨🇫",fitzpatrick_scale:false,category:"flags"},chad:{keywords:["td","flag","nation","country","banner"],char:"🇹🇩",fitzpatrick_scale:false,category:"flags"},chile:{keywords:["flag","nation","country","banner"],char:"🇨🇱",fitzpatrick_scale:false,category:"flags"},cn:{keywords:["china","chinese","prc","flag","country","nation","banner"],char:"🇨🇳",fitzpatrick_scale:false,category:"flags"},christmas_island:{keywords:["christmas","island","flag","nation","country","banner"],char:"🇨🇽",fitzpatrick_scale:false,category:"flags"},cocos_islands:{keywords:["cocos","keeling","islands","flag","nation","country","banner"],char:"🇨🇨",fitzpatrick_scale:false,category:"flags"},colombia:{keywords:["co","flag","nation","country","banner"],char:"🇨🇴",fitzpatrick_scale:false,category:"flags"},comoros:{keywords:["km","flag","nation","country","banner"],char:"🇰🇲",fitzpatrick_scale:false,category:"flags"},congo_brazzaville:{keywords:["congo","flag","nation","country","banner"],char:"🇨🇬",fitzpatrick_scale:false,category:"flags"},congo_kinshasa:{keywords:["congo","democratic","republic","flag","nation","country","banner"],char:"🇨🇩",fitzpatrick_scale:false,category:"flags"},cook_islands:{keywords:["cook","islands","flag","nation","country","banner"],char:"🇨🇰",fitzpatrick_scale:false,category:"flags"},costa_rica:{keywords:["costa","rica","flag","nation","country","banner"],char:"🇨🇷",fitzpatrick_scale:false,category:"flags"},croatia:{keywords:["hr","flag","nation","country","banner"],char:"🇭🇷",fitzpatrick_scale:false,category:"flags"},cuba:{keywords:["cu","flag","nation","country","banner"],char:"🇨🇺",fitzpatrick_scale:false,category:"flags"},curacao:{keywords:["curaçao","flag","nation","country","banner"],char:"🇨🇼",fitzpatrick_scale:false,category:"flags"},cyprus:{keywords:["cy","flag","nation","country","banner"],char:"🇨🇾",fitzpatrick_scale:false,category:"flags"},czech_republic:{keywords:["cz","flag","nation","country","banner"],char:"🇨🇿",fitzpatrick_scale:false,category:"flags"},denmark:{keywords:["dk","flag","nation","country","banner"],char:"🇩🇰",fitzpatrick_scale:false,category:"flags"},djibouti:{keywords:["dj","flag","nation","country","banner"],char:"🇩🇯",fitzpatrick_scale:false,category:"flags"},dominica:{keywords:["dm","flag","nation","country","banner"],char:"🇩🇲",fitzpatrick_scale:false,category:"flags"},dominican_republic:{keywords:["dominican","republic","flag","nation","country","banner"],char:"🇩🇴",fitzpatrick_scale:false,category:"flags"},ecuador:{keywords:["ec","flag","nation","country","banner"],char:"🇪🇨",fitzpatrick_scale:false,category:"flags"},egypt:{keywords:["eg","flag","nation","country","banner"],char:"🇪🇬",fitzpatrick_scale:false,category:"flags"},el_salvador:{keywords:["el","salvador","flag","nation","country","banner"],char:"🇸🇻",fitzpatrick_scale:false,category:"flags"},equatorial_guinea:{keywords:["equatorial","gn","flag","nation","country","banner"],char:"🇬🇶",fitzpatrick_scale:false,category:"flags"},eritrea:{keywords:["er","flag","nation","country","banner"],char:"🇪🇷",fitzpatrick_scale:false,category:"flags"},estonia:{keywords:["ee","flag","nation","country","banner"],char:"🇪🇪",fitzpatrick_scale:false,category:"flags"},ethiopia:{keywords:["et","flag","nation","country","banner"],char:"🇪🇹",fitzpatrick_scale:false,category:"flags"},eu:{keywords:["european","union","flag","banner"],char:"🇪🇺",fitzpatrick_scale:false,category:"flags"},falkland_islands:{keywords:["falkland","islands","malvinas","flag","nation","country","banner"],char:"🇫🇰",fitzpatrick_scale:false,category:"flags"},faroe_islands:{keywords:["faroe","islands","flag","nation","country","banner"],char:"🇫🇴",fitzpatrick_scale:false,category:"flags"},fiji:{keywords:["fj","flag","nation","country","banner"],char:"🇫🇯",fitzpatrick_scale:false,category:"flags"},finland:{keywords:["fi","flag","nation","country","banner"],char:"🇫🇮",fitzpatrick_scale:false,category:"flags"},fr:{keywords:["banner","flag","nation","france","french","country"],char:"🇫🇷",fitzpatrick_scale:false,category:"flags"},french_guiana:{keywords:["french","guiana","flag","nation","country","banner"],char:"🇬🇫",fitzpatrick_scale:false,category:"flags"},french_polynesia:{keywords:["french","polynesia","flag","nation","country","banner"],char:"🇵🇫",fitzpatrick_scale:false,category:"flags"},french_southern_territories:{keywords:["french","southern","territories","flag","nation","country","banner"],char:"🇹🇫",fitzpatrick_scale:false,category:"flags"},gabon:{keywords:["ga","flag","nation","country","banner"],char:"🇬🇦",fitzpatrick_scale:false,category:"flags"},gambia:{keywords:["gm","flag","nation","country","banner"],char:"🇬🇲",fitzpatrick_scale:false,category:"flags"},georgia:{keywords:["ge","flag","nation","country","banner"],char:"🇬🇪",fitzpatrick_scale:false,category:"flags"},de:{keywords:["german","nation","flag","country","banner"],char:"🇩🇪",fitzpatrick_scale:false,category:"flags"},ghana:{keywords:["gh","flag","nation","country","banner"],char:"🇬🇭",fitzpatrick_scale:false,category:"flags"},gibraltar:{keywords:["gi","flag","nation","country","banner"],char:"🇬🇮",fitzpatrick_scale:false,category:"flags"},greece:{keywords:["gr","flag","nation","country","banner"],char:"🇬🇷",fitzpatrick_scale:false,category:"flags"},greenland:{keywords:["gl","flag","nation","country","banner"],char:"🇬🇱",fitzpatrick_scale:false,category:"flags"},grenada:{keywords:["gd","flag","nation","country","banner"],char:"🇬🇩",fitzpatrick_scale:false,category:"flags"},guadeloupe:{keywords:["gp","flag","nation","country","banner"],char:"🇬🇵",fitzpatrick_scale:false,category:"flags"},guam:{keywords:["gu","flag","nation","country","banner"],char:"🇬🇺",fitzpatrick_scale:false,category:"flags"},guatemala:{keywords:["gt","flag","nation","country","banner"],char:"🇬🇹",fitzpatrick_scale:false,category:"flags"},guernsey:{keywords:["gg","flag","nation","country","banner"],char:"🇬🇬",fitzpatrick_scale:false,category:"flags"},guinea:{keywords:["gn","flag","nation","country","banner"],char:"🇬🇳",fitzpatrick_scale:false,category:"flags"},guinea_bissau:{keywords:["gw","bissau","flag","nation","country","banner"],char:"🇬🇼",fitzpatrick_scale:false,category:"flags"},guyana:{keywords:["gy","flag","nation","country","banner"],char:"🇬🇾",fitzpatrick_scale:false,category:"flags"},haiti:{keywords:["ht","flag","nation","country","banner"],char:"🇭🇹",fitzpatrick_scale:false,category:"flags"},honduras:{keywords:["hn","flag","nation","country","banner"],char:"🇭🇳",fitzpatrick_scale:false,category:"flags"},hong_kong:{keywords:["hong","kong","flag","nation","country","banner"],char:"🇭🇰",fitzpatrick_scale:false,category:"flags"},hungary:{keywords:["hu","flag","nation","country","banner"],char:"🇭🇺",fitzpatrick_scale:false,category:"flags"},iceland:{keywords:["is","flag","nation","country","banner"],char:"🇮🇸",fitzpatrick_scale:false,category:"flags"},india:{keywords:["in","flag","nation","country","banner"],char:"🇮🇳",fitzpatrick_scale:false,category:"flags"},indonesia:{keywords:["flag","nation","country","banner"],char:"🇮🇩",fitzpatrick_scale:false,category:"flags"},iran:{keywords:["iran,","islamic","republic","flag","nation","country","banner"],char:"🇮🇷",fitzpatrick_scale:false,category:"flags"},iraq:{keywords:["iq","flag","nation","country","banner"],char:"🇮🇶",fitzpatrick_scale:false,category:"flags"},ireland:{keywords:["ie","flag","nation","country","banner"],char:"🇮🇪",fitzpatrick_scale:false,category:"flags"},isle_of_man:{keywords:["isle","man","flag","nation","country","banner"],char:"🇮🇲",fitzpatrick_scale:false,category:"flags"},israel:{keywords:["il","flag","nation","country","banner"],char:"🇮🇱",fitzpatrick_scale:false,category:"flags"},it:{keywords:["italy","flag","nation","country","banner"],char:"🇮🇹",fitzpatrick_scale:false,category:"flags"},cote_divoire:{keywords:["ivory","coast","flag","nation","country","banner"],char:"🇨🇮",fitzpatrick_scale:false,category:"flags"},jamaica:{keywords:["jm","flag","nation","country","banner"],char:"🇯🇲",fitzpatrick_scale:false,category:"flags"},jp:{keywords:["japanese","nation","flag","country","banner"],char:"🇯🇵",fitzpatrick_scale:false,category:"flags"},jersey:{keywords:["je","flag","nation","country","banner"],char:"🇯🇪",fitzpatrick_scale:false,category:"flags"},jordan:{keywords:["jo","flag","nation","country","banner"],char:"🇯🇴",fitzpatrick_scale:false,category:"flags"},kazakhstan:{keywords:["kz","flag","nation","country","banner"],char:"🇰🇿",fitzpatrick_scale:false,category:"flags"},kenya:{keywords:["ke","flag","nation","country","banner"],char:"🇰🇪",fitzpatrick_scale:false,category:"flags"},kiribati:{keywords:["ki","flag","nation","country","banner"],char:"🇰🇮",fitzpatrick_scale:false,category:"flags"},kosovo:{keywords:["xk","flag","nation","country","banner"],char:"🇽🇰",fitzpatrick_scale:false,category:"flags"},kuwait:{keywords:["kw","flag","nation","country","banner"],char:"🇰🇼",fitzpatrick_scale:false,category:"flags"},kyrgyzstan:{keywords:["kg","flag","nation","country","banner"],char:"🇰🇬",fitzpatrick_scale:false,category:"flags"},laos:{keywords:["lao","democratic","republic","flag","nation","country","banner"],char:"🇱🇦",fitzpatrick_scale:false,category:"flags"},latvia:{keywords:["lv","flag","nation","country","banner"],char:"🇱🇻",fitzpatrick_scale:false,category:"flags"},lebanon:{keywords:["lb","flag","nation","country","banner"],char:"🇱🇧",fitzpatrick_scale:false,category:"flags"},lesotho:{keywords:["ls","flag","nation","country","banner"],char:"🇱🇸",fitzpatrick_scale:false,category:"flags"},liberia:{keywords:["lr","flag","nation","country","banner"],char:"🇱🇷",fitzpatrick_scale:false,category:"flags"},libya:{keywords:["ly","flag","nation","country","banner"],char:"🇱🇾",fitzpatrick_scale:false,category:"flags"},liechtenstein:{keywords:["li","flag","nation","country","banner"],char:"🇱🇮",fitzpatrick_scale:false,category:"flags"},lithuania:{keywords:["lt","flag","nation","country","banner"],char:"🇱🇹",fitzpatrick_scale:false,category:"flags"},luxembourg:{keywords:["lu","flag","nation","country","banner"],char:"🇱🇺",fitzpatrick_scale:false,category:"flags"},macau:{keywords:["macao","flag","nation","country","banner"],char:"🇲🇴",fitzpatrick_scale:false,category:"flags"},macedonia:{keywords:["macedonia,","flag","nation","country","banner"],char:"🇲🇰",fitzpatrick_scale:false,category:"flags"},madagascar:{keywords:["mg","flag","nation","country","banner"],char:"🇲🇬",fitzpatrick_scale:false,category:"flags"},malawi:{keywords:["mw","flag","nation","country","banner"],char:"🇲🇼",fitzpatrick_scale:false,category:"flags"},malaysia:{keywords:["my","flag","nation","country","banner"],char:"🇲🇾",fitzpatrick_scale:false,category:"flags"},maldives:{keywords:["mv","flag","nation","country","banner"],char:"🇲🇻",fitzpatrick_scale:false,category:"flags"},mali:{keywords:["ml","flag","nation","country","banner"],char:"🇲🇱",fitzpatrick_scale:false,category:"flags"},malta:{keywords:["mt","flag","nation","country","banner"],char:"🇲🇹",fitzpatrick_scale:false,category:"flags"},marshall_islands:{keywords:["marshall","islands","flag","nation","country","banner"],char:"🇲🇭",fitzpatrick_scale:false,category:"flags"},martinique:{keywords:["mq","flag","nation","country","banner"],char:"🇲🇶",fitzpatrick_scale:false,category:"flags"},mauritania:{keywords:["mr","flag","nation","country","banner"],char:"🇲🇷",fitzpatrick_scale:false,category:"flags"},mauritius:{keywords:["mu","flag","nation","country","banner"],char:"🇲🇺",fitzpatrick_scale:false,category:"flags"},mayotte:{keywords:["yt","flag","nation","country","banner"],char:"🇾🇹",fitzpatrick_scale:false,category:"flags"},mexico:{keywords:["mx","flag","nation","country","banner"],char:"🇲🇽",fitzpatrick_scale:false,category:"flags"},micronesia:{keywords:["micronesia,","federated","states","flag","nation","country","banner"],char:"🇫🇲",fitzpatrick_scale:false,category:"flags"},moldova:{keywords:["moldova,","republic","flag","nation","country","banner"],char:"🇲🇩",fitzpatrick_scale:false,category:"flags"},monaco:{keywords:["mc","flag","nation","country","banner"],char:"🇲🇨",fitzpatrick_scale:false,category:"flags"},mongolia:{keywords:["mn","flag","nation","country","banner"],char:"🇲🇳",fitzpatrick_scale:false,category:"flags"},montenegro:{keywords:["me","flag","nation","country","banner"],char:"🇲🇪",fitzpatrick_scale:false,category:"flags"},montserrat:{keywords:["ms","flag","nation","country","banner"],char:"🇲🇸",fitzpatrick_scale:false,category:"flags"},morocco:{keywords:["ma","flag","nation","country","banner"],char:"🇲🇦",fitzpatrick_scale:false,category:"flags"},mozambique:{keywords:["mz","flag","nation","country","banner"],char:"🇲🇿",fitzpatrick_scale:false,category:"flags"},myanmar:{keywords:["mm","flag","nation","country","banner"],char:"🇲🇲",fitzpatrick_scale:false,category:"flags"},namibia:{keywords:["na","flag","nation","country","banner"],char:"🇳🇦",fitzpatrick_scale:false,category:"flags"},nauru:{keywords:["nr","flag","nation","country","banner"],char:"🇳🇷",fitzpatrick_scale:false,category:"flags"},nepal:{keywords:["np","flag","nation","country","banner"],char:"🇳🇵",fitzpatrick_scale:false,category:"flags"},netherlands:{keywords:["nl","flag","nation","country","banner"],char:"🇳🇱",fitzpatrick_scale:false,category:"flags"},new_caledonia:{keywords:["new","caledonia","flag","nation","country","banner"],char:"🇳🇨",fitzpatrick_scale:false,category:"flags"},new_zealand:{keywords:["new","zealand","flag","nation","country","banner"],char:"🇳🇿",fitzpatrick_scale:false,category:"flags"},nicaragua:{keywords:["ni","flag","nation","country","banner"],char:"🇳🇮",fitzpatrick_scale:false,category:"flags"},niger:{keywords:["ne","flag","nation","country","banner"],char:"🇳🇪",fitzpatrick_scale:false,category:"flags"},nigeria:{keywords:["flag","nation","country","banner"],char:"🇳🇬",fitzpatrick_scale:false,category:"flags"},niue:{keywords:["nu","flag","nation","country","banner"],char:"🇳🇺",fitzpatrick_scale:false,category:"flags"},norfolk_island:{keywords:["norfolk","island","flag","nation","country","banner"],char:"🇳🇫",fitzpatrick_scale:false,category:"flags"},northern_mariana_islands:{keywords:["northern","mariana","islands","flag","nation","country","banner"],char:"🇲🇵",fitzpatrick_scale:false,category:"flags"},north_korea:{keywords:["north","korea","nation","flag","country","banner"],char:"🇰🇵",fitzpatrick_scale:false,category:"flags"},norway:{keywords:["no","flag","nation","country","banner"],char:"🇳🇴",fitzpatrick_scale:false,category:"flags"},oman:{keywords:["om_symbol","flag","nation","country","banner"],char:"🇴🇲",fitzpatrick_scale:false,category:"flags"},pakistan:{keywords:["pk","flag","nation","country","banner"],char:"🇵🇰",fitzpatrick_scale:false,category:"flags"},palau:{keywords:["pw","flag","nation","country","banner"],char:"🇵🇼",fitzpatrick_scale:false,category:"flags"},palestinian_territories:{keywords:["palestine","palestinian","territories","flag","nation","country","banner"],char:"🇵🇸",fitzpatrick_scale:false,category:"flags"},panama:{keywords:["pa","flag","nation","country","banner"],char:"🇵🇦",fitzpatrick_scale:false,category:"flags"},papua_new_guinea:{keywords:["papua","new","guinea","flag","nation","country","banner"],char:"🇵🇬",fitzpatrick_scale:false,category:"flags"},paraguay:{keywords:["py","flag","nation","country","banner"],char:"🇵🇾",fitzpatrick_scale:false,category:"flags"},peru:{keywords:["pe","flag","nation","country","banner"],char:"🇵🇪",fitzpatrick_scale:false,category:"flags"},philippines:{keywords:["ph","flag","nation","country","banner"],char:"🇵🇭",fitzpatrick_scale:false,category:"flags"},pitcairn_islands:{keywords:["pitcairn","flag","nation","country","banner"],char:"🇵🇳",fitzpatrick_scale:false,category:"flags"},poland:{keywords:["pl","flag","nation","country","banner"],char:"🇵🇱",fitzpatrick_scale:false,category:"flags"},portugal:{keywords:["pt","flag","nation","country","banner"],char:"🇵🇹",fitzpatrick_scale:false,category:"flags"},puerto_rico:{keywords:["puerto","rico","flag","nation","country","banner"],char:"🇵🇷",fitzpatrick_scale:false,category:"flags"},qatar:{keywords:["qa","flag","nation","country","banner"],char:"🇶🇦",fitzpatrick_scale:false,category:"flags"},reunion:{keywords:["réunion","flag","nation","country","banner"],char:"🇷🇪",fitzpatrick_scale:false,category:"flags"},romania:{keywords:["ro","flag","nation","country","banner"],char:"🇷🇴",fitzpatrick_scale:false,category:"flags"},ru:{keywords:["russian","federation","flag","nation","country","banner"],char:"🇷🇺",fitzpatrick_scale:false,category:"flags"},rwanda:{keywords:["rw","flag","nation","country","banner"],char:"🇷🇼",fitzpatrick_scale:false,category:"flags"},st_barthelemy:{keywords:["saint","barthélemy","flag","nation","country","banner"],char:"🇧🇱",fitzpatrick_scale:false,category:"flags"},st_helena:{keywords:["saint","helena","ascension","tristan","cunha","flag","nation","country","banner"],char:"🇸🇭",fitzpatrick_scale:false,category:"flags"},st_kitts_nevis:{keywords:["saint","kitts","nevis","flag","nation","country","banner"],char:"🇰🇳",fitzpatrick_scale:false,category:"flags"},st_lucia:{keywords:["saint","lucia","flag","nation","country","banner"],char:"🇱🇨",fitzpatrick_scale:false,category:"flags"},st_pierre_miquelon:{keywords:["saint","pierre","miquelon","flag","nation","country","banner"],char:"🇵🇲",fitzpatrick_scale:false,category:"flags"},st_vincent_grenadines:{keywords:["saint","vincent","grenadines","flag","nation","country","banner"],char:"🇻🇨",fitzpatrick_scale:false,category:"flags"},samoa:{keywords:["ws","flag","nation","country","banner"],char:"🇼🇸",fitzpatrick_scale:false,category:"flags"},san_marino:{keywords:["san","marino","flag","nation","country","banner"],char:"🇸🇲",fitzpatrick_scale:false,category:"flags"},sao_tome_principe:{keywords:["sao","tome","principe","flag","nation","country","banner"],char:"🇸🇹",fitzpatrick_scale:false,category:"flags"},saudi_arabia:{keywords:["flag","nation","country","banner"],char:"🇸🇦",fitzpatrick_scale:false,category:"flags"},senegal:{keywords:["sn","flag","nation","country","banner"],char:"🇸🇳",fitzpatrick_scale:false,category:"flags"},serbia:{keywords:["rs","flag","nation","country","banner"],char:"🇷🇸",fitzpatrick_scale:false,category:"flags"},seychelles:{keywords:["sc","flag","nation","country","banner"],char:"🇸🇨",fitzpatrick_scale:false,category:"flags"},sierra_leone:{keywords:["sierra","leone","flag","nation","country","banner"],char:"🇸🇱",fitzpatrick_scale:false,category:"flags"},singapore:{keywords:["sg","flag","nation","country","banner"],char:"🇸🇬",fitzpatrick_scale:false,category:"flags"},sint_maarten:{keywords:["sint","maarten","dutch","flag","nation","country","banner"],char:"🇸🇽",fitzpatrick_scale:false,category:"flags"},slovakia:{keywords:["sk","flag","nation","country","banner"],char:"🇸🇰",fitzpatrick_scale:false,category:"flags"},slovenia:{keywords:["si","flag","nation","country","banner"],char:"🇸🇮",fitzpatrick_scale:false,category:"flags"},solomon_islands:{keywords:["solomon","islands","flag","nation","country","banner"],char:"🇸🇧",fitzpatrick_scale:false,category:"flags"},somalia:{keywords:["so","flag","nation","country","banner"],char:"🇸🇴",fitzpatrick_scale:false,category:"flags"},south_africa:{keywords:["south","africa","flag","nation","country","banner"],char:"🇿🇦",fitzpatrick_scale:false,category:"flags"},south_georgia_south_sandwich_islands:{keywords:["south","georgia","sandwich","islands","flag","nation","country","banner"],char:"🇬🇸",fitzpatrick_scale:false,category:"flags"},kr:{keywords:["south","korea","nation","flag","country","banner"],char:"🇰🇷",fitzpatrick_scale:false,category:"flags"},south_sudan:{keywords:["south","sd","flag","nation","country","banner"],char:"🇸🇸",fitzpatrick_scale:false,category:"flags"},es:{keywords:["spain","flag","nation","country","banner"],char:"🇪🇸",fitzpatrick_scale:false,category:"flags"},sri_lanka:{keywords:["sri","lanka","flag","nation","country","banner"],char:"🇱🇰",fitzpatrick_scale:false,category:"flags"},sudan:{keywords:["sd","flag","nation","country","banner"],char:"🇸🇩",fitzpatrick_scale:false,category:"flags"},suriname:{keywords:["sr","flag","nation","country","banner"],char:"🇸🇷",fitzpatrick_scale:false,category:"flags"},swaziland:{keywords:["sz","flag","nation","country","banner"],char:"🇸🇿",fitzpatrick_scale:false,category:"flags"},sweden:{keywords:["se","flag","nation","country","banner"],char:"🇸🇪",fitzpatrick_scale:false,category:"flags"},switzerland:{keywords:["ch","flag","nation","country","banner"],char:"🇨🇭",fitzpatrick_scale:false,category:"flags"},syria:{keywords:["syrian","arab","republic","flag","nation","country","banner"],char:"🇸🇾",fitzpatrick_scale:false,category:"flags"},taiwan:{keywords:["tw","flag","nation","country","banner"],char:"🇹🇼",fitzpatrick_scale:false,category:"flags"},tajikistan:{keywords:["tj","flag","nation","country","banner"],char:"🇹🇯",fitzpatrick_scale:false,category:"flags"},tanzania:{keywords:["tanzania,","united","republic","flag","nation","country","banner"],char:"🇹🇿",fitzpatrick_scale:false,category:"flags"},thailand:{keywords:["th","flag","nation","country","banner"],char:"🇹🇭",fitzpatrick_scale:false,category:"flags"},timor_leste:{keywords:["timor","leste","flag","nation","country","banner"],char:"🇹🇱",fitzpatrick_scale:false,category:"flags"},togo:{keywords:["tg","flag","nation","country","banner"],char:"🇹🇬",fitzpatrick_scale:false,category:"flags"},tokelau:{keywords:["tk","flag","nation","country","banner"],char:"🇹🇰",fitzpatrick_scale:false,category:"flags"},tonga:{keywords:["to","flag","nation","country","banner"],char:"🇹🇴",fitzpatrick_scale:false,category:"flags"},trinidad_tobago:{keywords:["trinidad","tobago","flag","nation","country","banner"],char:"🇹🇹",fitzpatrick_scale:false,category:"flags"},tunisia:{keywords:["tn","flag","nation","country","banner"],char:"🇹🇳",fitzpatrick_scale:false,category:"flags"},tr:{keywords:["turkey","flag","nation","country","banner"],char:"🇹🇷",fitzpatrick_scale:false,category:"flags"},turkmenistan:{keywords:["flag","nation","country","banner"],char:"🇹🇲",fitzpatrick_scale:false,category:"flags"},turks_caicos_islands:{keywords:["turks","caicos","islands","flag","nation","country","banner"],char:"🇹🇨",fitzpatrick_scale:false,category:"flags"},tuvalu:{keywords:["flag","nation","country","banner"],char:"🇹🇻",fitzpatrick_scale:false,category:"flags"},uganda:{keywords:["ug","flag","nation","country","banner"],char:"🇺🇬",fitzpatrick_scale:false,category:"flags"},ukraine:{keywords:["ua","flag","nation","country","banner"],char:"🇺🇦",fitzpatrick_scale:false,category:"flags"},united_arab_emirates:{keywords:["united","arab","emirates","flag","nation","country","banner"],char:"🇦🇪",fitzpatrick_scale:false,category:"flags"},uk:{keywords:["united","kingdom","great","britain","northern","ireland","flag","nation","country","banner","british","UK","english","england","union jack"],char:"🇬🇧",fitzpatrick_scale:false,category:"flags"},england:{keywords:["flag","english"],char:"🏴󠁧󠁢󠁥󠁮󠁧󠁿",fitzpatrick_scale:false,category:"flags"},scotland:{keywords:["flag","scottish"],char:"🏴󠁧󠁢󠁳󠁣󠁴󠁿",fitzpatrick_scale:false,category:"flags"},wales:{keywords:["flag","welsh"],char:"🏴󠁧󠁢󠁷󠁬󠁳󠁿",fitzpatrick_scale:false,category:"flags"},us:{keywords:["united","states","america","flag","nation","country","banner"],char:"🇺🇸",fitzpatrick_scale:false,category:"flags"},us_virgin_islands:{keywords:["virgin","islands","us","flag","nation","country","banner"],char:"🇻🇮",fitzpatrick_scale:false,category:"flags"},uruguay:{keywords:["uy","flag","nation","country","banner"],char:"🇺🇾",fitzpatrick_scale:false,category:"flags"},uzbekistan:{keywords:["uz","flag","nation","country","banner"],char:"🇺🇿",fitzpatrick_scale:false,category:"flags"},vanuatu:{keywords:["vu","flag","nation","country","banner"],char:"🇻🇺",fitzpatrick_scale:false,category:"flags"},vatican_city:{keywords:["vatican","city","flag","nation","country","banner"],char:"🇻🇦",fitzpatrick_scale:false,category:"flags"},venezuela:{keywords:["ve","bolivarian","republic","flag","nation","country","banner"],char:"🇻🇪",fitzpatrick_scale:false,category:"flags"},vietnam:{keywords:["viet","nam","flag","nation","country","banner"],char:"🇻🇳",fitzpatrick_scale:false,category:"flags"},wallis_futuna:{keywords:["wallis","futuna","flag","nation","country","banner"],char:"🇼🇫",fitzpatrick_scale:false,category:"flags"},western_sahara:{keywords:["western","sahara","flag","nation","country","banner"],char:"🇪🇭",fitzpatrick_scale:false,category:"flags"},yemen:{keywords:["ye","flag","nation","country","banner"],char:"🇾🇪",fitzpatrick_scale:false,category:"flags"},zambia:{keywords:["zm","flag","nation","country","banner"],char:"🇿🇲",fitzpatrick_scale:false,category:"flags"},zimbabwe:{keywords:["zw","flag","nation","country","banner"],char:"🇿🇼",fitzpatrick_scale:false,category:"flags"},united_nations:{keywords:["un","flag","banner"],char:"🇺🇳",fitzpatrick_scale:false,category:"flags"},pirate_flag:{keywords:["skull","crossbones","flag","banner"],char:"🏴‍☠️",fitzpatrick_scale:false,category:"flags"}}); \ No newline at end of file diff --git a/frontend/public/tinymce/plugins/emoticons/js/emojis.min.js b/frontend/public/tinymce/plugins/emoticons/js/emojis.min.js deleted file mode 100644 index 5a1c491..0000000 --- a/frontend/public/tinymce/plugins/emoticons/js/emojis.min.js +++ /dev/null @@ -1,2 +0,0 @@ -// Source: npm package: emojilib, file:emojis.json -window.tinymce.Resource.add("tinymce.plugins.emoticons",{grinning:{keywords:["face","smile","happy","joy",":D","grin"],char:"\u{1f600}",fitzpatrick_scale:!1,category:"people"},grimacing:{keywords:["face","grimace","teeth"],char:"\u{1f62c}",fitzpatrick_scale:!1,category:"people"},grin:{keywords:["face","happy","smile","joy","kawaii"],char:"\u{1f601}",fitzpatrick_scale:!1,category:"people"},joy:{keywords:["face","cry","tears","weep","happy","happytears","haha"],char:"\u{1f602}",fitzpatrick_scale:!1,category:"people"},rofl:{keywords:["face","rolling","floor","laughing","lol","haha"],char:"\u{1f923}",fitzpatrick_scale:!1,category:"people"},partying:{keywords:["face","celebration","woohoo"],char:"\u{1f973}",fitzpatrick_scale:!1,category:"people"},smiley:{keywords:["face","happy","joy","haha",":D",":)","smile","funny"],char:"\u{1f603}",fitzpatrick_scale:!1,category:"people"},smile:{keywords:["face","happy","joy","funny","haha","laugh","like",":D",":)"],char:"\u{1f604}",fitzpatrick_scale:!1,category:"people"},sweat_smile:{keywords:["face","hot","happy","laugh","sweat","smile","relief"],char:"\u{1f605}",fitzpatrick_scale:!1,category:"people"},laughing:{keywords:["happy","joy","lol","satisfied","haha","face","glad","XD","laugh"],char:"\u{1f606}",fitzpatrick_scale:!1,category:"people"},innocent:{keywords:["face","angel","heaven","halo"],char:"\u{1f607}",fitzpatrick_scale:!1,category:"people"},wink:{keywords:["face","happy","mischievous","secret",";)","smile","eye"],char:"\u{1f609}",fitzpatrick_scale:!1,category:"people"},blush:{keywords:["face","smile","happy","flushed","crush","embarrassed","shy","joy"],char:"\u{1f60a}",fitzpatrick_scale:!1,category:"people"},slightly_smiling_face:{keywords:["face","smile"],char:"\u{1f642}",fitzpatrick_scale:!1,category:"people"},upside_down_face:{keywords:["face","flipped","silly","smile"],char:"\u{1f643}",fitzpatrick_scale:!1,category:"people"},relaxed:{keywords:["face","blush","massage","happiness"],char:"\u263a\ufe0f",fitzpatrick_scale:!1,category:"people"},yum:{keywords:["happy","joy","tongue","smile","face","silly","yummy","nom","delicious","savouring"],char:"\u{1f60b}",fitzpatrick_scale:!1,category:"people"},relieved:{keywords:["face","relaxed","phew","massage","happiness"],char:"\u{1f60c}",fitzpatrick_scale:!1,category:"people"},heart_eyes:{keywords:["face","love","like","affection","valentines","infatuation","crush","heart"],char:"\u{1f60d}",fitzpatrick_scale:!1,category:"people"},smiling_face_with_three_hearts:{keywords:["face","love","like","affection","valentines","infatuation","crush","hearts","adore"],char:"\u{1f970}",fitzpatrick_scale:!1,category:"people"},kissing_heart:{keywords:["face","love","like","affection","valentines","infatuation","kiss"],char:"\u{1f618}",fitzpatrick_scale:!1,category:"people"},kissing:{keywords:["love","like","face","3","valentines","infatuation","kiss"],char:"\u{1f617}",fitzpatrick_scale:!1,category:"people"},kissing_smiling_eyes:{keywords:["face","affection","valentines","infatuation","kiss"],char:"\u{1f619}",fitzpatrick_scale:!1,category:"people"},kissing_closed_eyes:{keywords:["face","love","like","affection","valentines","infatuation","kiss"],char:"\u{1f61a}",fitzpatrick_scale:!1,category:"people"},stuck_out_tongue_winking_eye:{keywords:["face","prank","childish","playful","mischievous","smile","wink","tongue"],char:"\u{1f61c}",fitzpatrick_scale:!1,category:"people"},zany:{keywords:["face","goofy","crazy"],char:"\u{1f92a}",fitzpatrick_scale:!1,category:"people"},raised_eyebrow:{keywords:["face","distrust","scepticism","disapproval","disbelief","surprise"],char:"\u{1f928}",fitzpatrick_scale:!1,category:"people"},monocle:{keywords:["face","stuffy","wealthy"],char:"\u{1f9d0}",fitzpatrick_scale:!1,category:"people"},stuck_out_tongue_closed_eyes:{keywords:["face","prank","playful","mischievous","smile","tongue"],char:"\u{1f61d}",fitzpatrick_scale:!1,category:"people"},stuck_out_tongue:{keywords:["face","prank","childish","playful","mischievous","smile","tongue"],char:"\u{1f61b}",fitzpatrick_scale:!1,category:"people"},money_mouth_face:{keywords:["face","rich","dollar","money"],char:"\u{1f911}",fitzpatrick_scale:!1,category:"people"},nerd_face:{keywords:["face","nerdy","geek","dork"],char:"\u{1f913}",fitzpatrick_scale:!1,category:"people"},sunglasses:{keywords:["face","cool","smile","summer","beach","sunglass"],char:"\u{1f60e}",fitzpatrick_scale:!1,category:"people"},star_struck:{keywords:["face","smile","starry","eyes","grinning"],char:"\u{1f929}",fitzpatrick_scale:!1,category:"people"},clown_face:{keywords:["face"],char:"\u{1f921}",fitzpatrick_scale:!1,category:"people"},cowboy_hat_face:{keywords:["face","cowgirl","hat"],char:"\u{1f920}",fitzpatrick_scale:!1,category:"people"},hugs:{keywords:["face","smile","hug"],char:"\u{1f917}",fitzpatrick_scale:!1,category:"people"},smirk:{keywords:["face","smile","mean","prank","smug","sarcasm"],char:"\u{1f60f}",fitzpatrick_scale:!1,category:"people"},no_mouth:{keywords:["face","hellokitty"],char:"\u{1f636}",fitzpatrick_scale:!1,category:"people"},neutral_face:{keywords:["indifference","meh",":|","neutral"],char:"\u{1f610}",fitzpatrick_scale:!1,category:"people"},expressionless:{keywords:["face","indifferent","-_-","meh","deadpan"],char:"\u{1f611}",fitzpatrick_scale:!1,category:"people"},unamused:{keywords:["indifference","bored","straight face","serious","sarcasm","unimpressed","skeptical","dubious","side_eye"],char:"\u{1f612}",fitzpatrick_scale:!1,category:"people"},roll_eyes:{keywords:["face","eyeroll","frustrated"],char:"\u{1f644}",fitzpatrick_scale:!1,category:"people"},thinking:{keywords:["face","hmmm","think","consider"],char:"\u{1f914}",fitzpatrick_scale:!1,category:"people"},lying_face:{keywords:["face","lie","pinocchio"],char:"\u{1f925}",fitzpatrick_scale:!1,category:"people"},hand_over_mouth:{keywords:["face","whoops","shock","surprise"],char:"\u{1f92d}",fitzpatrick_scale:!1,category:"people"},shushing:{keywords:["face","quiet","shhh"],char:"\u{1f92b}",fitzpatrick_scale:!1,category:"people"},symbols_over_mouth:{keywords:["face","swearing","cursing","cussing","profanity","expletive"],char:"\u{1f92c}",fitzpatrick_scale:!1,category:"people"},exploding_head:{keywords:["face","shocked","mind","blown"],char:"\u{1f92f}",fitzpatrick_scale:!1,category:"people"},flushed:{keywords:["face","blush","shy","flattered"],char:"\u{1f633}",fitzpatrick_scale:!1,category:"people"},disappointed:{keywords:["face","sad","upset","depressed",":("],char:"\u{1f61e}",fitzpatrick_scale:!1,category:"people"},worried:{keywords:["face","concern","nervous",":("],char:"\u{1f61f}",fitzpatrick_scale:!1,category:"people"},angry:{keywords:["mad","face","annoyed","frustrated"],char:"\u{1f620}",fitzpatrick_scale:!1,category:"people"},rage:{keywords:["angry","mad","hate","despise"],char:"\u{1f621}",fitzpatrick_scale:!1,category:"people"},pensive:{keywords:["face","sad","depressed","upset"],char:"\u{1f614}",fitzpatrick_scale:!1,category:"people"},confused:{keywords:["face","indifference","huh","weird","hmmm",":/"],char:"\u{1f615}",fitzpatrick_scale:!1,category:"people"},slightly_frowning_face:{keywords:["face","frowning","disappointed","sad","upset"],char:"\u{1f641}",fitzpatrick_scale:!1,category:"people"},frowning_face:{keywords:["face","sad","upset","frown"],char:"\u2639",fitzpatrick_scale:!1,category:"people"},persevere:{keywords:["face","sick","no","upset","oops"],char:"\u{1f623}",fitzpatrick_scale:!1,category:"people"},confounded:{keywords:["face","confused","sick","unwell","oops",":S"],char:"\u{1f616}",fitzpatrick_scale:!1,category:"people"},tired_face:{keywords:["sick","whine","upset","frustrated"],char:"\u{1f62b}",fitzpatrick_scale:!1,category:"people"},weary:{keywords:["face","tired","sleepy","sad","frustrated","upset"],char:"\u{1f629}",fitzpatrick_scale:!1,category:"people"},pleading:{keywords:["face","begging","mercy"],char:"\u{1f97a}",fitzpatrick_scale:!1,category:"people"},triumph:{keywords:["face","gas","phew","proud","pride"],char:"\u{1f624}",fitzpatrick_scale:!1,category:"people"},open_mouth:{keywords:["face","surprise","impressed","wow","whoa",":O"],char:"\u{1f62e}",fitzpatrick_scale:!1,category:"people"},scream:{keywords:["face","munch","scared","omg"],char:"\u{1f631}",fitzpatrick_scale:!1,category:"people"},fearful:{keywords:["face","scared","terrified","nervous","oops","huh"],char:"\u{1f628}",fitzpatrick_scale:!1,category:"people"},cold_sweat:{keywords:["face","nervous","sweat"],char:"\u{1f630}",fitzpatrick_scale:!1,category:"people"},hushed:{keywords:["face","woo","shh"],char:"\u{1f62f}",fitzpatrick_scale:!1,category:"people"},frowning:{keywords:["face","aw","what"],char:"\u{1f626}",fitzpatrick_scale:!1,category:"people"},anguished:{keywords:["face","stunned","nervous"],char:"\u{1f627}",fitzpatrick_scale:!1,category:"people"},cry:{keywords:["face","tears","sad","depressed","upset",":'("],char:"\u{1f622}",fitzpatrick_scale:!1,category:"people"},disappointed_relieved:{keywords:["face","phew","sweat","nervous"],char:"\u{1f625}",fitzpatrick_scale:!1,category:"people"},drooling_face:{keywords:["face"],char:"\u{1f924}",fitzpatrick_scale:!1,category:"people"},sleepy:{keywords:["face","tired","rest","nap"],char:"\u{1f62a}",fitzpatrick_scale:!1,category:"people"},sweat:{keywords:["face","hot","sad","tired","exercise"],char:"\u{1f613}",fitzpatrick_scale:!1,category:"people"},hot:{keywords:["face","feverish","heat","red","sweating"],char:"\u{1f975}",fitzpatrick_scale:!1,category:"people"},cold:{keywords:["face","blue","freezing","frozen","frostbite","icicles"],char:"\u{1f976}",fitzpatrick_scale:!1,category:"people"},sob:{keywords:["face","cry","tears","sad","upset","depressed"],char:"\u{1f62d}",fitzpatrick_scale:!1,category:"people"},dizzy_face:{keywords:["spent","unconscious","xox","dizzy"],char:"\u{1f635}",fitzpatrick_scale:!1,category:"people"},astonished:{keywords:["face","xox","surprised","poisoned"],char:"\u{1f632}",fitzpatrick_scale:!1,category:"people"},zipper_mouth_face:{keywords:["face","sealed","zipper","secret"],char:"\u{1f910}",fitzpatrick_scale:!1,category:"people"},nauseated_face:{keywords:["face","vomit","gross","green","sick","throw up","ill"],char:"\u{1f922}",fitzpatrick_scale:!1,category:"people"},sneezing_face:{keywords:["face","gesundheit","sneeze","sick","allergy"],char:"\u{1f927}",fitzpatrick_scale:!1,category:"people"},vomiting:{keywords:["face","sick"],char:"\u{1f92e}",fitzpatrick_scale:!1,category:"people"},mask:{keywords:["face","sick","ill","disease"],char:"\u{1f637}",fitzpatrick_scale:!1,category:"people"},face_with_thermometer:{keywords:["sick","temperature","thermometer","cold","fever"],char:"\u{1f912}",fitzpatrick_scale:!1,category:"people"},face_with_head_bandage:{keywords:["injured","clumsy","bandage","hurt"],char:"\u{1f915}",fitzpatrick_scale:!1,category:"people"},woozy:{keywords:["face","dizzy","intoxicated","tipsy","wavy"],char:"\u{1f974}",fitzpatrick_scale:!1,category:"people"},sleeping:{keywords:["face","tired","sleepy","night","zzz"],char:"\u{1f634}",fitzpatrick_scale:!1,category:"people"},zzz:{keywords:["sleepy","tired","dream"],char:"\u{1f4a4}",fitzpatrick_scale:!1,category:"people"},poop:{keywords:["hankey","shitface","fail","turd","shit"],char:"\u{1f4a9}",fitzpatrick_scale:!1,category:"people"},smiling_imp:{keywords:["devil","horns"],char:"\u{1f608}",fitzpatrick_scale:!1,category:"people"},imp:{keywords:["devil","angry","horns"],char:"\u{1f47f}",fitzpatrick_scale:!1,category:"people"},japanese_ogre:{keywords:["monster","red","mask","halloween","scary","creepy","devil","demon","japanese","ogre"],char:"\u{1f479}",fitzpatrick_scale:!1,category:"people"},japanese_goblin:{keywords:["red","evil","mask","monster","scary","creepy","japanese","goblin"],char:"\u{1f47a}",fitzpatrick_scale:!1,category:"people"},skull:{keywords:["dead","skeleton","creepy","death"],char:"\u{1f480}",fitzpatrick_scale:!1,category:"people"},ghost:{keywords:["halloween","spooky","scary"],char:"\u{1f47b}",fitzpatrick_scale:!1,category:"people"},alien:{keywords:["UFO","paul","weird","outer_space"],char:"\u{1f47d}",fitzpatrick_scale:!1,category:"people"},robot:{keywords:["computer","machine","bot"],char:"\u{1f916}",fitzpatrick_scale:!1,category:"people"},smiley_cat:{keywords:["animal","cats","happy","smile"],char:"\u{1f63a}",fitzpatrick_scale:!1,category:"people"},smile_cat:{keywords:["animal","cats","smile"],char:"\u{1f638}",fitzpatrick_scale:!1,category:"people"},joy_cat:{keywords:["animal","cats","haha","happy","tears"],char:"\u{1f639}",fitzpatrick_scale:!1,category:"people"},heart_eyes_cat:{keywords:["animal","love","like","affection","cats","valentines","heart"],char:"\u{1f63b}",fitzpatrick_scale:!1,category:"people"},smirk_cat:{keywords:["animal","cats","smirk"],char:"\u{1f63c}",fitzpatrick_scale:!1,category:"people"},kissing_cat:{keywords:["animal","cats","kiss"],char:"\u{1f63d}",fitzpatrick_scale:!1,category:"people"},scream_cat:{keywords:["animal","cats","munch","scared","scream"],char:"\u{1f640}",fitzpatrick_scale:!1,category:"people"},crying_cat_face:{keywords:["animal","tears","weep","sad","cats","upset","cry"],char:"\u{1f63f}",fitzpatrick_scale:!1,category:"people"},pouting_cat:{keywords:["animal","cats"],char:"\u{1f63e}",fitzpatrick_scale:!1,category:"people"},palms_up:{keywords:["hands","gesture","cupped","prayer"],char:"\u{1f932}",fitzpatrick_scale:!0,category:"people"},raised_hands:{keywords:["gesture","hooray","yea","celebration","hands"],char:"\u{1f64c}",fitzpatrick_scale:!0,category:"people"},clap:{keywords:["hands","praise","applause","congrats","yay"],char:"\u{1f44f}",fitzpatrick_scale:!0,category:"people"},wave:{keywords:["hands","gesture","goodbye","solong","farewell","hello","hi","palm"],char:"\u{1f44b}",fitzpatrick_scale:!0,category:"people"},call_me_hand:{keywords:["hands","gesture"],char:"\u{1f919}",fitzpatrick_scale:!0,category:"people"},"+1":{keywords:["thumbsup","yes","awesome","good","agree","accept","cool","hand","like"],char:"\u{1f44d}",fitzpatrick_scale:!0,category:"people"},"-1":{keywords:["thumbsdown","no","dislike","hand"],char:"\u{1f44e}",fitzpatrick_scale:!0,category:"people"},facepunch:{keywords:["angry","violence","fist","hit","attack","hand"],char:"\u{1f44a}",fitzpatrick_scale:!0,category:"people"},fist:{keywords:["fingers","hand","grasp"],char:"\u270a",fitzpatrick_scale:!0,category:"people"},fist_left:{keywords:["hand","fistbump"],char:"\u{1f91b}",fitzpatrick_scale:!0,category:"people"},fist_right:{keywords:["hand","fistbump"],char:"\u{1f91c}",fitzpatrick_scale:!0,category:"people"},v:{keywords:["fingers","ohyeah","hand","peace","victory","two"],char:"\u270c",fitzpatrick_scale:!0,category:"people"},ok_hand:{keywords:["fingers","limbs","perfect","ok","okay"],char:"\u{1f44c}",fitzpatrick_scale:!0,category:"people"},raised_hand:{keywords:["fingers","stop","highfive","palm","ban"],char:"\u270b",fitzpatrick_scale:!0,category:"people"},raised_back_of_hand:{keywords:["fingers","raised","backhand"],char:"\u{1f91a}",fitzpatrick_scale:!0,category:"people"},open_hands:{keywords:["fingers","butterfly","hands","open"],char:"\u{1f450}",fitzpatrick_scale:!0,category:"people"},muscle:{keywords:["arm","flex","hand","summer","strong","biceps"],char:"\u{1f4aa}",fitzpatrick_scale:!0,category:"people"},pray:{keywords:["please","hope","wish","namaste","highfive"],char:"\u{1f64f}",fitzpatrick_scale:!0,category:"people"},foot:{keywords:["kick","stomp"],char:"\u{1f9b6}",fitzpatrick_scale:!0,category:"people"},leg:{keywords:["kick","limb"],char:"\u{1f9b5}",fitzpatrick_scale:!0,category:"people"},handshake:{keywords:["agreement","shake"],char:"\u{1f91d}",fitzpatrick_scale:!1,category:"people"},point_up:{keywords:["hand","fingers","direction","up"],char:"\u261d",fitzpatrick_scale:!0,category:"people"},point_up_2:{keywords:["fingers","hand","direction","up"],char:"\u{1f446}",fitzpatrick_scale:!0,category:"people"},point_down:{keywords:["fingers","hand","direction","down"],char:"\u{1f447}",fitzpatrick_scale:!0,category:"people"},point_left:{keywords:["direction","fingers","hand","left"],char:"\u{1f448}",fitzpatrick_scale:!0,category:"people"},point_right:{keywords:["fingers","hand","direction","right"],char:"\u{1f449}",fitzpatrick_scale:!0,category:"people"},fu:{keywords:["hand","fingers","rude","middle","flipping"],char:"\u{1f595}",fitzpatrick_scale:!0,category:"people"},raised_hand_with_fingers_splayed:{keywords:["hand","fingers","palm"],char:"\u{1f590}",fitzpatrick_scale:!0,category:"people"},love_you:{keywords:["hand","fingers","gesture"],char:"\u{1f91f}",fitzpatrick_scale:!0,category:"people"},metal:{keywords:["hand","fingers","evil_eye","sign_of_horns","rock_on"],char:"\u{1f918}",fitzpatrick_scale:!0,category:"people"},crossed_fingers:{keywords:["good","lucky"],char:"\u{1f91e}",fitzpatrick_scale:!0,category:"people"},vulcan_salute:{keywords:["hand","fingers","spock","star trek"],char:"\u{1f596}",fitzpatrick_scale:!0,category:"people"},writing_hand:{keywords:["lower_left_ballpoint_pen","stationery","write","compose"],char:"\u270d",fitzpatrick_scale:!0,category:"people"},selfie:{keywords:["camera","phone"],char:"\u{1f933}",fitzpatrick_scale:!0,category:"people"},nail_care:{keywords:["beauty","manicure","finger","fashion","nail"],char:"\u{1f485}",fitzpatrick_scale:!0,category:"people"},lips:{keywords:["mouth","kiss"],char:"\u{1f444}",fitzpatrick_scale:!1,category:"people"},tooth:{keywords:["teeth","dentist"],char:"\u{1f9b7}",fitzpatrick_scale:!1,category:"people"},tongue:{keywords:["mouth","playful"],char:"\u{1f445}",fitzpatrick_scale:!1,category:"people"},ear:{keywords:["face","hear","sound","listen"],char:"\u{1f442}",fitzpatrick_scale:!0,category:"people"},nose:{keywords:["smell","sniff"],char:"\u{1f443}",fitzpatrick_scale:!0,category:"people"},eye:{keywords:["face","look","see","watch","stare"],char:"\u{1f441}",fitzpatrick_scale:!1,category:"people"},eyes:{keywords:["look","watch","stalk","peek","see"],char:"\u{1f440}",fitzpatrick_scale:!1,category:"people"},brain:{keywords:["smart","intelligent"],char:"\u{1f9e0}",fitzpatrick_scale:!1,category:"people"},bust_in_silhouette:{keywords:["user","person","human"],char:"\u{1f464}",fitzpatrick_scale:!1,category:"people"},busts_in_silhouette:{keywords:["user","person","human","group","team"],char:"\u{1f465}",fitzpatrick_scale:!1,category:"people"},speaking_head:{keywords:["user","person","human","sing","say","talk"],char:"\u{1f5e3}",fitzpatrick_scale:!1,category:"people"},baby:{keywords:["child","boy","girl","toddler"],char:"\u{1f476}",fitzpatrick_scale:!0,category:"people"},child:{keywords:["gender-neutral","young"],char:"\u{1f9d2}",fitzpatrick_scale:!0,category:"people"},boy:{keywords:["man","male","guy","teenager"],char:"\u{1f466}",fitzpatrick_scale:!0,category:"people"},girl:{keywords:["female","woman","teenager"],char:"\u{1f467}",fitzpatrick_scale:!0,category:"people"},adult:{keywords:["gender-neutral","person"],char:"\u{1f9d1}",fitzpatrick_scale:!0,category:"people"},man:{keywords:["mustache","father","dad","guy","classy","sir","moustache"],char:"\u{1f468}",fitzpatrick_scale:!0,category:"people"},woman:{keywords:["female","girls","lady"],char:"\u{1f469}",fitzpatrick_scale:!0,category:"people"},blonde_woman:{keywords:["woman","female","girl","blonde","person"],char:"\u{1f471}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},blonde_man:{keywords:["man","male","boy","blonde","guy","person"],char:"\u{1f471}",fitzpatrick_scale:!0,category:"people"},bearded_person:{keywords:["person","bewhiskered"],char:"\u{1f9d4}",fitzpatrick_scale:!0,category:"people"},older_adult:{keywords:["human","elder","senior","gender-neutral"],char:"\u{1f9d3}",fitzpatrick_scale:!0,category:"people"},older_man:{keywords:["human","male","men","old","elder","senior"],char:"\u{1f474}",fitzpatrick_scale:!0,category:"people"},older_woman:{keywords:["human","female","women","lady","old","elder","senior"],char:"\u{1f475}",fitzpatrick_scale:!0,category:"people"},man_with_gua_pi_mao:{keywords:["male","boy","chinese"],char:"\u{1f472}",fitzpatrick_scale:!0,category:"people"},woman_with_headscarf:{keywords:["female","hijab","mantilla","tichel"],char:"\u{1f9d5}",fitzpatrick_scale:!0,category:"people"},woman_with_turban:{keywords:["female","indian","hinduism","arabs","woman"],char:"\u{1f473}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},man_with_turban:{keywords:["male","indian","hinduism","arabs"],char:"\u{1f473}",fitzpatrick_scale:!0,category:"people"},policewoman:{keywords:["woman","police","law","legal","enforcement","arrest","911","female"],char:"\u{1f46e}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},policeman:{keywords:["man","police","law","legal","enforcement","arrest","911"],char:"\u{1f46e}",fitzpatrick_scale:!0,category:"people"},construction_worker_woman:{keywords:["female","human","wip","build","construction","worker","labor","woman"],char:"\u{1f477}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},construction_worker_man:{keywords:["male","human","wip","guy","build","construction","worker","labor"],char:"\u{1f477}",fitzpatrick_scale:!0,category:"people"},guardswoman:{keywords:["uk","gb","british","female","royal","woman"],char:"\u{1f482}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},guardsman:{keywords:["uk","gb","british","male","guy","royal"],char:"\u{1f482}",fitzpatrick_scale:!0,category:"people"},female_detective:{keywords:["human","spy","detective","female","woman"],char:"\u{1f575}\ufe0f\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},male_detective:{keywords:["human","spy","detective"],char:"\u{1f575}",fitzpatrick_scale:!0,category:"people"},woman_health_worker:{keywords:["doctor","nurse","therapist","healthcare","woman","human"],char:"\u{1f469}\u200d\u2695\ufe0f",fitzpatrick_scale:!0,category:"people"},man_health_worker:{keywords:["doctor","nurse","therapist","healthcare","man","human"],char:"\u{1f468}\u200d\u2695\ufe0f",fitzpatrick_scale:!0,category:"people"},woman_farmer:{keywords:["rancher","gardener","woman","human"],char:"\u{1f469}\u200d\u{1f33e}",fitzpatrick_scale:!0,category:"people"},man_farmer:{keywords:["rancher","gardener","man","human"],char:"\u{1f468}\u200d\u{1f33e}",fitzpatrick_scale:!0,category:"people"},woman_cook:{keywords:["chef","woman","human"],char:"\u{1f469}\u200d\u{1f373}",fitzpatrick_scale:!0,category:"people"},man_cook:{keywords:["chef","man","human"],char:"\u{1f468}\u200d\u{1f373}",fitzpatrick_scale:!0,category:"people"},woman_student:{keywords:["graduate","woman","human"],char:"\u{1f469}\u200d\u{1f393}",fitzpatrick_scale:!0,category:"people"},man_student:{keywords:["graduate","man","human"],char:"\u{1f468}\u200d\u{1f393}",fitzpatrick_scale:!0,category:"people"},woman_singer:{keywords:["rockstar","entertainer","woman","human"],char:"\u{1f469}\u200d\u{1f3a4}",fitzpatrick_scale:!0,category:"people"},man_singer:{keywords:["rockstar","entertainer","man","human"],char:"\u{1f468}\u200d\u{1f3a4}",fitzpatrick_scale:!0,category:"people"},woman_teacher:{keywords:["instructor","professor","woman","human"],char:"\u{1f469}\u200d\u{1f3eb}",fitzpatrick_scale:!0,category:"people"},man_teacher:{keywords:["instructor","professor","man","human"],char:"\u{1f468}\u200d\u{1f3eb}",fitzpatrick_scale:!0,category:"people"},woman_factory_worker:{keywords:["assembly","industrial","woman","human"],char:"\u{1f469}\u200d\u{1f3ed}",fitzpatrick_scale:!0,category:"people"},man_factory_worker:{keywords:["assembly","industrial","man","human"],char:"\u{1f468}\u200d\u{1f3ed}",fitzpatrick_scale:!0,category:"people"},woman_technologist:{keywords:["coder","developer","engineer","programmer","software","woman","human","laptop","computer"],char:"\u{1f469}\u200d\u{1f4bb}",fitzpatrick_scale:!0,category:"people"},man_technologist:{keywords:["coder","developer","engineer","programmer","software","man","human","laptop","computer"],char:"\u{1f468}\u200d\u{1f4bb}",fitzpatrick_scale:!0,category:"people"},woman_office_worker:{keywords:["business","manager","woman","human"],char:"\u{1f469}\u200d\u{1f4bc}",fitzpatrick_scale:!0,category:"people"},man_office_worker:{keywords:["business","manager","man","human"],char:"\u{1f468}\u200d\u{1f4bc}",fitzpatrick_scale:!0,category:"people"},woman_mechanic:{keywords:["plumber","woman","human","wrench"],char:"\u{1f469}\u200d\u{1f527}",fitzpatrick_scale:!0,category:"people"},man_mechanic:{keywords:["plumber","man","human","wrench"],char:"\u{1f468}\u200d\u{1f527}",fitzpatrick_scale:!0,category:"people"},woman_scientist:{keywords:["biologist","chemist","engineer","physicist","woman","human"],char:"\u{1f469}\u200d\u{1f52c}",fitzpatrick_scale:!0,category:"people"},man_scientist:{keywords:["biologist","chemist","engineer","physicist","man","human"],char:"\u{1f468}\u200d\u{1f52c}",fitzpatrick_scale:!0,category:"people"},woman_artist:{keywords:["painter","woman","human"],char:"\u{1f469}\u200d\u{1f3a8}",fitzpatrick_scale:!0,category:"people"},man_artist:{keywords:["painter","man","human"],char:"\u{1f468}\u200d\u{1f3a8}",fitzpatrick_scale:!0,category:"people"},woman_firefighter:{keywords:["fireman","woman","human"],char:"\u{1f469}\u200d\u{1f692}",fitzpatrick_scale:!0,category:"people"},man_firefighter:{keywords:["fireman","man","human"],char:"\u{1f468}\u200d\u{1f692}",fitzpatrick_scale:!0,category:"people"},woman_pilot:{keywords:["aviator","plane","woman","human"],char:"\u{1f469}\u200d\u2708\ufe0f",fitzpatrick_scale:!0,category:"people"},man_pilot:{keywords:["aviator","plane","man","human"],char:"\u{1f468}\u200d\u2708\ufe0f",fitzpatrick_scale:!0,category:"people"},woman_astronaut:{keywords:["space","rocket","woman","human"],char:"\u{1f469}\u200d\u{1f680}",fitzpatrick_scale:!0,category:"people"},man_astronaut:{keywords:["space","rocket","man","human"],char:"\u{1f468}\u200d\u{1f680}",fitzpatrick_scale:!0,category:"people"},woman_judge:{keywords:["justice","court","woman","human"],char:"\u{1f469}\u200d\u2696\ufe0f",fitzpatrick_scale:!0,category:"people"},man_judge:{keywords:["justice","court","man","human"],char:"\u{1f468}\u200d\u2696\ufe0f",fitzpatrick_scale:!0,category:"people"},woman_superhero:{keywords:["woman","female","good","heroine","superpowers"],char:"\u{1f9b8}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},man_superhero:{keywords:["man","male","good","hero","superpowers"],char:"\u{1f9b8}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},woman_supervillain:{keywords:["woman","female","evil","bad","criminal","heroine","superpowers"],char:"\u{1f9b9}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},man_supervillain:{keywords:["man","male","evil","bad","criminal","hero","superpowers"],char:"\u{1f9b9}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},mrs_claus:{keywords:["woman","female","xmas","mother christmas"],char:"\u{1f936}",fitzpatrick_scale:!0,category:"people"},santa:{keywords:["festival","man","male","xmas","father christmas"],char:"\u{1f385}",fitzpatrick_scale:!0,category:"people"},sorceress:{keywords:["woman","female","mage","witch"],char:"\u{1f9d9}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},wizard:{keywords:["man","male","mage","sorcerer"],char:"\u{1f9d9}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},woman_elf:{keywords:["woman","female"],char:"\u{1f9dd}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},man_elf:{keywords:["man","male"],char:"\u{1f9dd}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},woman_vampire:{keywords:["woman","female"],char:"\u{1f9db}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},man_vampire:{keywords:["man","male","dracula"],char:"\u{1f9db}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},woman_zombie:{keywords:["woman","female","undead","walking dead"],char:"\u{1f9df}\u200d\u2640\ufe0f",fitzpatrick_scale:!1,category:"people"},man_zombie:{keywords:["man","male","dracula","undead","walking dead"],char:"\u{1f9df}\u200d\u2642\ufe0f",fitzpatrick_scale:!1,category:"people"},woman_genie:{keywords:["woman","female"],char:"\u{1f9de}\u200d\u2640\ufe0f",fitzpatrick_scale:!1,category:"people"},man_genie:{keywords:["man","male"],char:"\u{1f9de}\u200d\u2642\ufe0f",fitzpatrick_scale:!1,category:"people"},mermaid:{keywords:["woman","female","merwoman","ariel"],char:"\u{1f9dc}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},merman:{keywords:["man","male","triton"],char:"\u{1f9dc}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},woman_fairy:{keywords:["woman","female"],char:"\u{1f9da}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},man_fairy:{keywords:["man","male"],char:"\u{1f9da}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},angel:{keywords:["heaven","wings","halo"],char:"\u{1f47c}",fitzpatrick_scale:!0,category:"people"},pregnant_woman:{keywords:["baby"],char:"\u{1f930}",fitzpatrick_scale:!0,category:"people"},breastfeeding:{keywords:["nursing","baby"],char:"\u{1f931}",fitzpatrick_scale:!0,category:"people"},princess:{keywords:["girl","woman","female","blond","crown","royal","queen"],char:"\u{1f478}",fitzpatrick_scale:!0,category:"people"},prince:{keywords:["boy","man","male","crown","royal","king"],char:"\u{1f934}",fitzpatrick_scale:!0,category:"people"},bride_with_veil:{keywords:["couple","marriage","wedding","woman","bride"],char:"\u{1f470}",fitzpatrick_scale:!0,category:"people"},man_in_tuxedo:{keywords:["couple","marriage","wedding","groom"],char:"\u{1f935}",fitzpatrick_scale:!0,category:"people"},running_woman:{keywords:["woman","walking","exercise","race","running","female"],char:"\u{1f3c3}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},running_man:{keywords:["man","walking","exercise","race","running"],char:"\u{1f3c3}",fitzpatrick_scale:!0,category:"people"},walking_woman:{keywords:["human","feet","steps","woman","female"],char:"\u{1f6b6}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},walking_man:{keywords:["human","feet","steps"],char:"\u{1f6b6}",fitzpatrick_scale:!0,category:"people"},dancer:{keywords:["female","girl","woman","fun"],char:"\u{1f483}",fitzpatrick_scale:!0,category:"people"},man_dancing:{keywords:["male","boy","fun","dancer"],char:"\u{1f57a}",fitzpatrick_scale:!0,category:"people"},dancing_women:{keywords:["female","bunny","women","girls"],char:"\u{1f46f}",fitzpatrick_scale:!1,category:"people"},dancing_men:{keywords:["male","bunny","men","boys"],char:"\u{1f46f}\u200d\u2642\ufe0f",fitzpatrick_scale:!1,category:"people"},couple:{keywords:["pair","people","human","love","date","dating","like","affection","valentines","marriage"],char:"\u{1f46b}",fitzpatrick_scale:!1,category:"people"},two_men_holding_hands:{keywords:["pair","couple","love","like","bromance","friendship","people","human"],char:"\u{1f46c}",fitzpatrick_scale:!1,category:"people"},two_women_holding_hands:{keywords:["pair","friendship","couple","love","like","female","people","human"],char:"\u{1f46d}",fitzpatrick_scale:!1,category:"people"},bowing_woman:{keywords:["woman","female","girl"],char:"\u{1f647}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},bowing_man:{keywords:["man","male","boy"],char:"\u{1f647}",fitzpatrick_scale:!0,category:"people"},man_facepalming:{keywords:["man","male","boy","disbelief"],char:"\u{1f926}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},woman_facepalming:{keywords:["woman","female","girl","disbelief"],char:"\u{1f926}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},woman_shrugging:{keywords:["woman","female","girl","confused","indifferent","doubt"],char:"\u{1f937}",fitzpatrick_scale:!0,category:"people"},man_shrugging:{keywords:["man","male","boy","confused","indifferent","doubt"],char:"\u{1f937}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},tipping_hand_woman:{keywords:["female","girl","woman","human","information"],char:"\u{1f481}",fitzpatrick_scale:!0,category:"people"},tipping_hand_man:{keywords:["male","boy","man","human","information"],char:"\u{1f481}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},no_good_woman:{keywords:["female","girl","woman","nope"],char:"\u{1f645}",fitzpatrick_scale:!0,category:"people"},no_good_man:{keywords:["male","boy","man","nope"],char:"\u{1f645}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},ok_woman:{keywords:["women","girl","female","pink","human","woman"],char:"\u{1f646}",fitzpatrick_scale:!0,category:"people"},ok_man:{keywords:["men","boy","male","blue","human","man"],char:"\u{1f646}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},raising_hand_woman:{keywords:["female","girl","woman"],char:"\u{1f64b}",fitzpatrick_scale:!0,category:"people"},raising_hand_man:{keywords:["male","boy","man"],char:"\u{1f64b}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},pouting_woman:{keywords:["female","girl","woman"],char:"\u{1f64e}",fitzpatrick_scale:!0,category:"people"},pouting_man:{keywords:["male","boy","man"],char:"\u{1f64e}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},frowning_woman:{keywords:["female","girl","woman","sad","depressed","discouraged","unhappy"],char:"\u{1f64d}",fitzpatrick_scale:!0,category:"people"},frowning_man:{keywords:["male","boy","man","sad","depressed","discouraged","unhappy"],char:"\u{1f64d}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},haircut_woman:{keywords:["female","girl","woman"],char:"\u{1f487}",fitzpatrick_scale:!0,category:"people"},haircut_man:{keywords:["male","boy","man"],char:"\u{1f487}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},massage_woman:{keywords:["female","girl","woman","head"],char:"\u{1f486}",fitzpatrick_scale:!0,category:"people"},massage_man:{keywords:["male","boy","man","head"],char:"\u{1f486}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},woman_in_steamy_room:{keywords:["female","woman","spa","steamroom","sauna"],char:"\u{1f9d6}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},man_in_steamy_room:{keywords:["male","man","spa","steamroom","sauna"],char:"\u{1f9d6}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},couple_with_heart_woman_man:{keywords:["pair","love","like","affection","human","dating","valentines","marriage"],char:"\u{1f491}",fitzpatrick_scale:!1,category:"people"},couple_with_heart_woman_woman:{keywords:["pair","love","like","affection","human","dating","valentines","marriage"],char:"\u{1f469}\u200d\u2764\ufe0f\u200d\u{1f469}",fitzpatrick_scale:!1,category:"people"},couple_with_heart_man_man:{keywords:["pair","love","like","affection","human","dating","valentines","marriage"],char:"\u{1f468}\u200d\u2764\ufe0f\u200d\u{1f468}",fitzpatrick_scale:!1,category:"people"},couplekiss_man_woman:{keywords:["pair","valentines","love","like","dating","marriage"],char:"\u{1f48f}",fitzpatrick_scale:!1,category:"people"},couplekiss_woman_woman:{keywords:["pair","valentines","love","like","dating","marriage"],char:"\u{1f469}\u200d\u2764\ufe0f\u200d\u{1f48b}\u200d\u{1f469}",fitzpatrick_scale:!1,category:"people"},couplekiss_man_man:{keywords:["pair","valentines","love","like","dating","marriage"],char:"\u{1f468}\u200d\u2764\ufe0f\u200d\u{1f48b}\u200d\u{1f468}",fitzpatrick_scale:!1,category:"people"},family_man_woman_boy:{keywords:["home","parents","child","mom","dad","father","mother","people","human"],char:"\u{1f46a}",fitzpatrick_scale:!1,category:"people"},family_man_woman_girl:{keywords:["home","parents","people","human","child"],char:"\u{1f468}\u200d\u{1f469}\u200d\u{1f467}",fitzpatrick_scale:!1,category:"people"},family_man_woman_girl_boy:{keywords:["home","parents","people","human","children"],char:"\u{1f468}\u200d\u{1f469}\u200d\u{1f467}\u200d\u{1f466}",fitzpatrick_scale:!1,category:"people"},family_man_woman_boy_boy:{keywords:["home","parents","people","human","children"],char:"\u{1f468}\u200d\u{1f469}\u200d\u{1f466}\u200d\u{1f466}",fitzpatrick_scale:!1,category:"people"},family_man_woman_girl_girl:{keywords:["home","parents","people","human","children"],char:"\u{1f468}\u200d\u{1f469}\u200d\u{1f467}\u200d\u{1f467}",fitzpatrick_scale:!1,category:"people"},family_woman_woman_boy:{keywords:["home","parents","people","human","children"],char:"\u{1f469}\u200d\u{1f469}\u200d\u{1f466}",fitzpatrick_scale:!1,category:"people"},family_woman_woman_girl:{keywords:["home","parents","people","human","children"],char:"\u{1f469}\u200d\u{1f469}\u200d\u{1f467}",fitzpatrick_scale:!1,category:"people"},family_woman_woman_girl_boy:{keywords:["home","parents","people","human","children"],char:"\u{1f469}\u200d\u{1f469}\u200d\u{1f467}\u200d\u{1f466}",fitzpatrick_scale:!1,category:"people"},family_woman_woman_boy_boy:{keywords:["home","parents","people","human","children"],char:"\u{1f469}\u200d\u{1f469}\u200d\u{1f466}\u200d\u{1f466}",fitzpatrick_scale:!1,category:"people"},family_woman_woman_girl_girl:{keywords:["home","parents","people","human","children"],char:"\u{1f469}\u200d\u{1f469}\u200d\u{1f467}\u200d\u{1f467}",fitzpatrick_scale:!1,category:"people"},family_man_man_boy:{keywords:["home","parents","people","human","children"],char:"\u{1f468}\u200d\u{1f468}\u200d\u{1f466}",fitzpatrick_scale:!1,category:"people"},family_man_man_girl:{keywords:["home","parents","people","human","children"],char:"\u{1f468}\u200d\u{1f468}\u200d\u{1f467}",fitzpatrick_scale:!1,category:"people"},family_man_man_girl_boy:{keywords:["home","parents","people","human","children"],char:"\u{1f468}\u200d\u{1f468}\u200d\u{1f467}\u200d\u{1f466}",fitzpatrick_scale:!1,category:"people"},family_man_man_boy_boy:{keywords:["home","parents","people","human","children"],char:"\u{1f468}\u200d\u{1f468}\u200d\u{1f466}\u200d\u{1f466}",fitzpatrick_scale:!1,category:"people"},family_man_man_girl_girl:{keywords:["home","parents","people","human","children"],char:"\u{1f468}\u200d\u{1f468}\u200d\u{1f467}\u200d\u{1f467}",fitzpatrick_scale:!1,category:"people"},family_woman_boy:{keywords:["home","parent","people","human","child"],char:"\u{1f469}\u200d\u{1f466}",fitzpatrick_scale:!1,category:"people"},family_woman_girl:{keywords:["home","parent","people","human","child"],char:"\u{1f469}\u200d\u{1f467}",fitzpatrick_scale:!1,category:"people"},family_woman_girl_boy:{keywords:["home","parent","people","human","children"],char:"\u{1f469}\u200d\u{1f467}\u200d\u{1f466}",fitzpatrick_scale:!1,category:"people"},family_woman_boy_boy:{keywords:["home","parent","people","human","children"],char:"\u{1f469}\u200d\u{1f466}\u200d\u{1f466}",fitzpatrick_scale:!1,category:"people"},family_woman_girl_girl:{keywords:["home","parent","people","human","children"],char:"\u{1f469}\u200d\u{1f467}\u200d\u{1f467}",fitzpatrick_scale:!1,category:"people"},family_man_boy:{keywords:["home","parent","people","human","child"],char:"\u{1f468}\u200d\u{1f466}",fitzpatrick_scale:!1,category:"people"},family_man_girl:{keywords:["home","parent","people","human","child"],char:"\u{1f468}\u200d\u{1f467}",fitzpatrick_scale:!1,category:"people"},family_man_girl_boy:{keywords:["home","parent","people","human","children"],char:"\u{1f468}\u200d\u{1f467}\u200d\u{1f466}",fitzpatrick_scale:!1,category:"people"},family_man_boy_boy:{keywords:["home","parent","people","human","children"],char:"\u{1f468}\u200d\u{1f466}\u200d\u{1f466}",fitzpatrick_scale:!1,category:"people"},family_man_girl_girl:{keywords:["home","parent","people","human","children"],char:"\u{1f468}\u200d\u{1f467}\u200d\u{1f467}",fitzpatrick_scale:!1,category:"people"},yarn:{keywords:["ball","crochet","knit"],char:"\u{1f9f6}",fitzpatrick_scale:!1,category:"people"},thread:{keywords:["needle","sewing","spool","string"],char:"\u{1f9f5}",fitzpatrick_scale:!1,category:"people"},coat:{keywords:["jacket"],char:"\u{1f9e5}",fitzpatrick_scale:!1,category:"people"},labcoat:{keywords:["doctor","experiment","scientist","chemist"],char:"\u{1f97c}",fitzpatrick_scale:!1,category:"people"},womans_clothes:{keywords:["fashion","shopping_bags","female"],char:"\u{1f45a}",fitzpatrick_scale:!1,category:"people"},tshirt:{keywords:["fashion","cloth","casual","shirt","tee"],char:"\u{1f455}",fitzpatrick_scale:!1,category:"people"},jeans:{keywords:["fashion","shopping"],char:"\u{1f456}",fitzpatrick_scale:!1,category:"people"},necktie:{keywords:["shirt","suitup","formal","fashion","cloth","business"],char:"\u{1f454}",fitzpatrick_scale:!1,category:"people"},dress:{keywords:["clothes","fashion","shopping"],char:"\u{1f457}",fitzpatrick_scale:!1,category:"people"},bikini:{keywords:["swimming","female","woman","girl","fashion","beach","summer"],char:"\u{1f459}",fitzpatrick_scale:!1,category:"people"},kimono:{keywords:["dress","fashion","women","female","japanese"],char:"\u{1f458}",fitzpatrick_scale:!1,category:"people"},lipstick:{keywords:["female","girl","fashion","woman"],char:"\u{1f484}",fitzpatrick_scale:!1,category:"people"},kiss:{keywords:["face","lips","love","like","affection","valentines"],char:"\u{1f48b}",fitzpatrick_scale:!1,category:"people"},footprints:{keywords:["feet","tracking","walking","beach"],char:"\u{1f463}",fitzpatrick_scale:!1,category:"people"},flat_shoe:{keywords:["ballet","slip-on","slipper"],char:"\u{1f97f}",fitzpatrick_scale:!1,category:"people"},high_heel:{keywords:["fashion","shoes","female","pumps","stiletto"],char:"\u{1f460}",fitzpatrick_scale:!1,category:"people"},sandal:{keywords:["shoes","fashion","flip flops"],char:"\u{1f461}",fitzpatrick_scale:!1,category:"people"},boot:{keywords:["shoes","fashion"],char:"\u{1f462}",fitzpatrick_scale:!1,category:"people"},mans_shoe:{keywords:["fashion","male"],char:"\u{1f45e}",fitzpatrick_scale:!1,category:"people"},athletic_shoe:{keywords:["shoes","sports","sneakers"],char:"\u{1f45f}",fitzpatrick_scale:!1,category:"people"},hiking_boot:{keywords:["backpacking","camping","hiking"],char:"\u{1f97e}",fitzpatrick_scale:!1,category:"people"},socks:{keywords:["stockings","clothes"],char:"\u{1f9e6}",fitzpatrick_scale:!1,category:"people"},gloves:{keywords:["hands","winter","clothes"],char:"\u{1f9e4}",fitzpatrick_scale:!1,category:"people"},scarf:{keywords:["neck","winter","clothes"],char:"\u{1f9e3}",fitzpatrick_scale:!1,category:"people"},womans_hat:{keywords:["fashion","accessories","female","lady","spring"],char:"\u{1f452}",fitzpatrick_scale:!1,category:"people"},tophat:{keywords:["magic","gentleman","classy","circus"],char:"\u{1f3a9}",fitzpatrick_scale:!1,category:"people"},billed_hat:{keywords:["cap","baseball"],char:"\u{1f9e2}",fitzpatrick_scale:!1,category:"people"},rescue_worker_helmet:{keywords:["construction","build"],char:"\u26d1",fitzpatrick_scale:!1,category:"people"},mortar_board:{keywords:["school","college","degree","university","graduation","cap","hat","legal","learn","education"],char:"\u{1f393}",fitzpatrick_scale:!1,category:"people"},crown:{keywords:["king","kod","leader","royalty","lord"],char:"\u{1f451}",fitzpatrick_scale:!1,category:"people"},school_satchel:{keywords:["student","education","bag","backpack"],char:"\u{1f392}",fitzpatrick_scale:!1,category:"people"},luggage:{keywords:["packing","travel"],char:"\u{1f9f3}",fitzpatrick_scale:!1,category:"people"},pouch:{keywords:["bag","accessories","shopping"],char:"\u{1f45d}",fitzpatrick_scale:!1,category:"people"},purse:{keywords:["fashion","accessories","money","sales","shopping"],char:"\u{1f45b}",fitzpatrick_scale:!1,category:"people"},handbag:{keywords:["fashion","accessory","accessories","shopping"],char:"\u{1f45c}",fitzpatrick_scale:!1,category:"people"},briefcase:{keywords:["business","documents","work","law","legal","job","career"],char:"\u{1f4bc}",fitzpatrick_scale:!1,category:"people"},eyeglasses:{keywords:["fashion","accessories","eyesight","nerdy","dork","geek"],char:"\u{1f453}",fitzpatrick_scale:!1,category:"people"},dark_sunglasses:{keywords:["face","cool","accessories"],char:"\u{1f576}",fitzpatrick_scale:!1,category:"people"},goggles:{keywords:["eyes","protection","safety"],char:"\u{1f97d}",fitzpatrick_scale:!1,category:"people"},ring:{keywords:["wedding","propose","marriage","valentines","diamond","fashion","jewelry","gem","engagement"],char:"\u{1f48d}",fitzpatrick_scale:!1,category:"people"},closed_umbrella:{keywords:["weather","rain","drizzle"],char:"\u{1f302}",fitzpatrick_scale:!1,category:"people"},dog:{keywords:["animal","friend","nature","woof","puppy","pet","faithful"],char:"\u{1f436}",fitzpatrick_scale:!1,category:"animals_and_nature"},cat:{keywords:["animal","meow","nature","pet","kitten"],char:"\u{1f431}",fitzpatrick_scale:!1,category:"animals_and_nature"},mouse:{keywords:["animal","nature","cheese_wedge","rodent"],char:"\u{1f42d}",fitzpatrick_scale:!1,category:"animals_and_nature"},hamster:{keywords:["animal","nature"],char:"\u{1f439}",fitzpatrick_scale:!1,category:"animals_and_nature"},rabbit:{keywords:["animal","nature","pet","spring","magic","bunny"],char:"\u{1f430}",fitzpatrick_scale:!1,category:"animals_and_nature"},fox_face:{keywords:["animal","nature","face"],char:"\u{1f98a}",fitzpatrick_scale:!1,category:"animals_and_nature"},bear:{keywords:["animal","nature","wild"],char:"\u{1f43b}",fitzpatrick_scale:!1,category:"animals_and_nature"},panda_face:{keywords:["animal","nature","panda"],char:"\u{1f43c}",fitzpatrick_scale:!1,category:"animals_and_nature"},koala:{keywords:["animal","nature"],char:"\u{1f428}",fitzpatrick_scale:!1,category:"animals_and_nature"},tiger:{keywords:["animal","cat","danger","wild","nature","roar"],char:"\u{1f42f}",fitzpatrick_scale:!1,category:"animals_and_nature"},lion:{keywords:["animal","nature"],char:"\u{1f981}",fitzpatrick_scale:!1,category:"animals_and_nature"},cow:{keywords:["beef","ox","animal","nature","moo","milk"],char:"\u{1f42e}",fitzpatrick_scale:!1,category:"animals_and_nature"},pig:{keywords:["animal","oink","nature"],char:"\u{1f437}",fitzpatrick_scale:!1,category:"animals_and_nature"},pig_nose:{keywords:["animal","oink"],char:"\u{1f43d}",fitzpatrick_scale:!1,category:"animals_and_nature"},frog:{keywords:["animal","nature","croak","toad"],char:"\u{1f438}",fitzpatrick_scale:!1,category:"animals_and_nature"},squid:{keywords:["animal","nature","ocean","sea"],char:"\u{1f991}",fitzpatrick_scale:!1,category:"animals_and_nature"},octopus:{keywords:["animal","creature","ocean","sea","nature","beach"],char:"\u{1f419}",fitzpatrick_scale:!1,category:"animals_and_nature"},shrimp:{keywords:["animal","ocean","nature","seafood"],char:"\u{1f990}",fitzpatrick_scale:!1,category:"animals_and_nature"},monkey_face:{keywords:["animal","nature","circus"],char:"\u{1f435}",fitzpatrick_scale:!1,category:"animals_and_nature"},gorilla:{keywords:["animal","nature","circus"],char:"\u{1f98d}",fitzpatrick_scale:!1,category:"animals_and_nature"},see_no_evil:{keywords:["monkey","animal","nature","haha"],char:"\u{1f648}",fitzpatrick_scale:!1,category:"animals_and_nature"},hear_no_evil:{keywords:["animal","monkey","nature"],char:"\u{1f649}",fitzpatrick_scale:!1,category:"animals_and_nature"},speak_no_evil:{keywords:["monkey","animal","nature","omg"],char:"\u{1f64a}",fitzpatrick_scale:!1,category:"animals_and_nature"},monkey:{keywords:["animal","nature","banana","circus"],char:"\u{1f412}",fitzpatrick_scale:!1,category:"animals_and_nature"},chicken:{keywords:["animal","cluck","nature","bird"],char:"\u{1f414}",fitzpatrick_scale:!1,category:"animals_and_nature"},penguin:{keywords:["animal","nature"],char:"\u{1f427}",fitzpatrick_scale:!1,category:"animals_and_nature"},bird:{keywords:["animal","nature","fly","tweet","spring"],char:"\u{1f426}",fitzpatrick_scale:!1,category:"animals_and_nature"},baby_chick:{keywords:["animal","chicken","bird"],char:"\u{1f424}",fitzpatrick_scale:!1,category:"animals_and_nature"},hatching_chick:{keywords:["animal","chicken","egg","born","baby","bird"],char:"\u{1f423}",fitzpatrick_scale:!1,category:"animals_and_nature"},hatched_chick:{keywords:["animal","chicken","baby","bird"],char:"\u{1f425}",fitzpatrick_scale:!1,category:"animals_and_nature"},duck:{keywords:["animal","nature","bird","mallard"],char:"\u{1f986}",fitzpatrick_scale:!1,category:"animals_and_nature"},eagle:{keywords:["animal","nature","bird"],char:"\u{1f985}",fitzpatrick_scale:!1,category:"animals_and_nature"},owl:{keywords:["animal","nature","bird","hoot"],char:"\u{1f989}",fitzpatrick_scale:!1,category:"animals_and_nature"},bat:{keywords:["animal","nature","blind","vampire"],char:"\u{1f987}",fitzpatrick_scale:!1,category:"animals_and_nature"},wolf:{keywords:["animal","nature","wild"],char:"\u{1f43a}",fitzpatrick_scale:!1,category:"animals_and_nature"},boar:{keywords:["animal","nature"],char:"\u{1f417}",fitzpatrick_scale:!1,category:"animals_and_nature"},horse:{keywords:["animal","brown","nature"],char:"\u{1f434}",fitzpatrick_scale:!1,category:"animals_and_nature"},unicorn:{keywords:["animal","nature","mystical"],char:"\u{1f984}",fitzpatrick_scale:!1,category:"animals_and_nature"},honeybee:{keywords:["animal","insect","nature","bug","spring","honey"],char:"\u{1f41d}",fitzpatrick_scale:!1,category:"animals_and_nature"},bug:{keywords:["animal","insect","nature","worm"],char:"\u{1f41b}",fitzpatrick_scale:!1,category:"animals_and_nature"},butterfly:{keywords:["animal","insect","nature","caterpillar"],char:"\u{1f98b}",fitzpatrick_scale:!1,category:"animals_and_nature"},snail:{keywords:["slow","animal","shell"],char:"\u{1f40c}",fitzpatrick_scale:!1,category:"animals_and_nature"},beetle:{keywords:["animal","insect","nature","ladybug"],char:"\u{1f41e}",fitzpatrick_scale:!1,category:"animals_and_nature"},ant:{keywords:["animal","insect","nature","bug"],char:"\u{1f41c}",fitzpatrick_scale:!1,category:"animals_and_nature"},grasshopper:{keywords:["animal","cricket","chirp"],char:"\u{1f997}",fitzpatrick_scale:!1,category:"animals_and_nature"},spider:{keywords:["animal","arachnid"],char:"\u{1f577}",fitzpatrick_scale:!1,category:"animals_and_nature"},scorpion:{keywords:["animal","arachnid"],char:"\u{1f982}",fitzpatrick_scale:!1,category:"animals_and_nature"},crab:{keywords:["animal","crustacean"],char:"\u{1f980}",fitzpatrick_scale:!1,category:"animals_and_nature"},snake:{keywords:["animal","evil","nature","hiss","python"],char:"\u{1f40d}",fitzpatrick_scale:!1,category:"animals_and_nature"},lizard:{keywords:["animal","nature","reptile"],char:"\u{1f98e}",fitzpatrick_scale:!1,category:"animals_and_nature"},"t-rex":{keywords:["animal","nature","dinosaur","tyrannosaurus","extinct"],char:"\u{1f996}",fitzpatrick_scale:!1,category:"animals_and_nature"},sauropod:{keywords:["animal","nature","dinosaur","brachiosaurus","brontosaurus","diplodocus","extinct"],char:"\u{1f995}",fitzpatrick_scale:!1,category:"animals_and_nature"},turtle:{keywords:["animal","slow","nature","tortoise"],char:"\u{1f422}",fitzpatrick_scale:!1,category:"animals_and_nature"},tropical_fish:{keywords:["animal","swim","ocean","beach","nemo"],char:"\u{1f420}",fitzpatrick_scale:!1,category:"animals_and_nature"},fish:{keywords:["animal","food","nature"],char:"\u{1f41f}",fitzpatrick_scale:!1,category:"animals_and_nature"},blowfish:{keywords:["animal","nature","food","sea","ocean"],char:"\u{1f421}",fitzpatrick_scale:!1,category:"animals_and_nature"},dolphin:{keywords:["animal","nature","fish","sea","ocean","flipper","fins","beach"],char:"\u{1f42c}",fitzpatrick_scale:!1,category:"animals_and_nature"},shark:{keywords:["animal","nature","fish","sea","ocean","jaws","fins","beach"],char:"\u{1f988}",fitzpatrick_scale:!1,category:"animals_and_nature"},whale:{keywords:["animal","nature","sea","ocean"],char:"\u{1f433}",fitzpatrick_scale:!1,category:"animals_and_nature"},whale2:{keywords:["animal","nature","sea","ocean"],char:"\u{1f40b}",fitzpatrick_scale:!1,category:"animals_and_nature"},crocodile:{keywords:["animal","nature","reptile","lizard","alligator"],char:"\u{1f40a}",fitzpatrick_scale:!1,category:"animals_and_nature"},leopard:{keywords:["animal","nature"],char:"\u{1f406}",fitzpatrick_scale:!1,category:"animals_and_nature"},zebra:{keywords:["animal","nature","stripes","safari"],char:"\u{1f993}",fitzpatrick_scale:!1,category:"animals_and_nature"},tiger2:{keywords:["animal","nature","roar"],char:"\u{1f405}",fitzpatrick_scale:!1,category:"animals_and_nature"},water_buffalo:{keywords:["animal","nature","ox","cow"],char:"\u{1f403}",fitzpatrick_scale:!1,category:"animals_and_nature"},ox:{keywords:["animal","cow","beef"],char:"\u{1f402}",fitzpatrick_scale:!1,category:"animals_and_nature"},cow2:{keywords:["beef","ox","animal","nature","moo","milk"],char:"\u{1f404}",fitzpatrick_scale:!1,category:"animals_and_nature"},deer:{keywords:["animal","nature","horns","venison"],char:"\u{1f98c}",fitzpatrick_scale:!1,category:"animals_and_nature"},dromedary_camel:{keywords:["animal","hot","desert","hump"],char:"\u{1f42a}",fitzpatrick_scale:!1,category:"animals_and_nature"},camel:{keywords:["animal","nature","hot","desert","hump"],char:"\u{1f42b}",fitzpatrick_scale:!1,category:"animals_and_nature"},giraffe:{keywords:["animal","nature","spots","safari"],char:"\u{1f992}",fitzpatrick_scale:!1,category:"animals_and_nature"},elephant:{keywords:["animal","nature","nose","th","circus"],char:"\u{1f418}",fitzpatrick_scale:!1,category:"animals_and_nature"},rhinoceros:{keywords:["animal","nature","horn"],char:"\u{1f98f}",fitzpatrick_scale:!1,category:"animals_and_nature"},goat:{keywords:["animal","nature"],char:"\u{1f410}",fitzpatrick_scale:!1,category:"animals_and_nature"},ram:{keywords:["animal","sheep","nature"],char:"\u{1f40f}",fitzpatrick_scale:!1,category:"animals_and_nature"},sheep:{keywords:["animal","nature","wool","shipit"],char:"\u{1f411}",fitzpatrick_scale:!1,category:"animals_and_nature"},racehorse:{keywords:["animal","gamble","luck"],char:"\u{1f40e}",fitzpatrick_scale:!1,category:"animals_and_nature"},pig2:{keywords:["animal","nature"],char:"\u{1f416}",fitzpatrick_scale:!1,category:"animals_and_nature"},rat:{keywords:["animal","mouse","rodent"],char:"\u{1f400}",fitzpatrick_scale:!1,category:"animals_and_nature"},mouse2:{keywords:["animal","nature","rodent"],char:"\u{1f401}",fitzpatrick_scale:!1,category:"animals_and_nature"},rooster:{keywords:["animal","nature","chicken"],char:"\u{1f413}",fitzpatrick_scale:!1,category:"animals_and_nature"},turkey:{keywords:["animal","bird"],char:"\u{1f983}",fitzpatrick_scale:!1,category:"animals_and_nature"},dove:{keywords:["animal","bird"],char:"\u{1f54a}",fitzpatrick_scale:!1,category:"animals_and_nature"},dog2:{keywords:["animal","nature","friend","doge","pet","faithful"],char:"\u{1f415}",fitzpatrick_scale:!1,category:"animals_and_nature"},poodle:{keywords:["dog","animal","101","nature","pet"],char:"\u{1f429}",fitzpatrick_scale:!1,category:"animals_and_nature"},cat2:{keywords:["animal","meow","pet","cats"],char:"\u{1f408}",fitzpatrick_scale:!1,category:"animals_and_nature"},rabbit2:{keywords:["animal","nature","pet","magic","spring"],char:"\u{1f407}",fitzpatrick_scale:!1,category:"animals_and_nature"},chipmunk:{keywords:["animal","nature","rodent","squirrel"],char:"\u{1f43f}",fitzpatrick_scale:!1,category:"animals_and_nature"},hedgehog:{keywords:["animal","nature","spiny"],char:"\u{1f994}",fitzpatrick_scale:!1,category:"animals_and_nature"},raccoon:{keywords:["animal","nature"],char:"\u{1f99d}",fitzpatrick_scale:!1,category:"animals_and_nature"},llama:{keywords:["animal","nature","alpaca"],char:"\u{1f999}",fitzpatrick_scale:!1,category:"animals_and_nature"},hippopotamus:{keywords:["animal","nature"],char:"\u{1f99b}",fitzpatrick_scale:!1,category:"animals_and_nature"},kangaroo:{keywords:["animal","nature","australia","joey","hop","marsupial"],char:"\u{1f998}",fitzpatrick_scale:!1,category:"animals_and_nature"},badger:{keywords:["animal","nature","honey"],char:"\u{1f9a1}",fitzpatrick_scale:!1,category:"animals_and_nature"},swan:{keywords:["animal","nature","bird"],char:"\u{1f9a2}",fitzpatrick_scale:!1,category:"animals_and_nature"},peacock:{keywords:["animal","nature","peahen","bird"],char:"\u{1f99a}",fitzpatrick_scale:!1,category:"animals_and_nature"},parrot:{keywords:["animal","nature","bird","pirate","talk"],char:"\u{1f99c}",fitzpatrick_scale:!1,category:"animals_and_nature"},lobster:{keywords:["animal","nature","bisque","claws","seafood"],char:"\u{1f99e}",fitzpatrick_scale:!1,category:"animals_and_nature"},mosquito:{keywords:["animal","nature","insect","malaria"],char:"\u{1f99f}",fitzpatrick_scale:!1,category:"animals_and_nature"},paw_prints:{keywords:["animal","tracking","footprints","dog","cat","pet","feet"],char:"\u{1f43e}",fitzpatrick_scale:!1,category:"animals_and_nature"},dragon:{keywords:["animal","myth","nature","chinese","green"],char:"\u{1f409}",fitzpatrick_scale:!1,category:"animals_and_nature"},dragon_face:{keywords:["animal","myth","nature","chinese","green"],char:"\u{1f432}",fitzpatrick_scale:!1,category:"animals_and_nature"},cactus:{keywords:["vegetable","plant","nature"],char:"\u{1f335}",fitzpatrick_scale:!1,category:"animals_and_nature"},christmas_tree:{keywords:["festival","vacation","december","xmas","celebration"],char:"\u{1f384}",fitzpatrick_scale:!1,category:"animals_and_nature"},evergreen_tree:{keywords:["plant","nature"],char:"\u{1f332}",fitzpatrick_scale:!1,category:"animals_and_nature"},deciduous_tree:{keywords:["plant","nature"],char:"\u{1f333}",fitzpatrick_scale:!1,category:"animals_and_nature"},palm_tree:{keywords:["plant","vegetable","nature","summer","beach","mojito","tropical"],char:"\u{1f334}",fitzpatrick_scale:!1,category:"animals_and_nature"},seedling:{keywords:["plant","nature","grass","lawn","spring"],char:"\u{1f331}",fitzpatrick_scale:!1,category:"animals_and_nature"},herb:{keywords:["vegetable","plant","medicine","weed","grass","lawn"],char:"\u{1f33f}",fitzpatrick_scale:!1,category:"animals_and_nature"},shamrock:{keywords:["vegetable","plant","nature","irish","clover"],char:"\u2618",fitzpatrick_scale:!1,category:"animals_and_nature"},four_leaf_clover:{keywords:["vegetable","plant","nature","lucky","irish"],char:"\u{1f340}",fitzpatrick_scale:!1,category:"animals_and_nature"},bamboo:{keywords:["plant","nature","vegetable","panda","pine_decoration"],char:"\u{1f38d}",fitzpatrick_scale:!1,category:"animals_and_nature"},tanabata_tree:{keywords:["plant","nature","branch","summer"],char:"\u{1f38b}",fitzpatrick_scale:!1,category:"animals_and_nature"},leaves:{keywords:["nature","plant","tree","vegetable","grass","lawn","spring"],char:"\u{1f343}",fitzpatrick_scale:!1,category:"animals_and_nature"},fallen_leaf:{keywords:["nature","plant","vegetable","leaves"],char:"\u{1f342}",fitzpatrick_scale:!1,category:"animals_and_nature"},maple_leaf:{keywords:["nature","plant","vegetable","ca","fall"],char:"\u{1f341}",fitzpatrick_scale:!1,category:"animals_and_nature"},ear_of_rice:{keywords:["nature","plant"],char:"\u{1f33e}",fitzpatrick_scale:!1,category:"animals_and_nature"},hibiscus:{keywords:["plant","vegetable","flowers","beach"],char:"\u{1f33a}",fitzpatrick_scale:!1,category:"animals_and_nature"},sunflower:{keywords:["nature","plant","fall"],char:"\u{1f33b}",fitzpatrick_scale:!1,category:"animals_and_nature"},rose:{keywords:["flowers","valentines","love","spring"],char:"\u{1f339}",fitzpatrick_scale:!1,category:"animals_and_nature"},wilted_flower:{keywords:["plant","nature","flower"],char:"\u{1f940}",fitzpatrick_scale:!1,category:"animals_and_nature"},tulip:{keywords:["flowers","plant","nature","summer","spring"],char:"\u{1f337}",fitzpatrick_scale:!1,category:"animals_and_nature"},blossom:{keywords:["nature","flowers","yellow"],char:"\u{1f33c}",fitzpatrick_scale:!1,category:"animals_and_nature"},cherry_blossom:{keywords:["nature","plant","spring","flower"],char:"\u{1f338}",fitzpatrick_scale:!1,category:"animals_and_nature"},bouquet:{keywords:["flowers","nature","spring"],char:"\u{1f490}",fitzpatrick_scale:!1,category:"animals_and_nature"},mushroom:{keywords:["plant","vegetable"],char:"\u{1f344}",fitzpatrick_scale:!1,category:"animals_and_nature"},chestnut:{keywords:["food","squirrel"],char:"\u{1f330}",fitzpatrick_scale:!1,category:"animals_and_nature"},jack_o_lantern:{keywords:["halloween","light","pumpkin","creepy","fall"],char:"\u{1f383}",fitzpatrick_scale:!1,category:"animals_and_nature"},shell:{keywords:["nature","sea","beach"],char:"\u{1f41a}",fitzpatrick_scale:!1,category:"animals_and_nature"},spider_web:{keywords:["animal","insect","arachnid","silk"],char:"\u{1f578}",fitzpatrick_scale:!1,category:"animals_and_nature"},earth_americas:{keywords:["globe","world","USA","international"],char:"\u{1f30e}",fitzpatrick_scale:!1,category:"animals_and_nature"},earth_africa:{keywords:["globe","world","international"],char:"\u{1f30d}",fitzpatrick_scale:!1,category:"animals_and_nature"},earth_asia:{keywords:["globe","world","east","international"],char:"\u{1f30f}",fitzpatrick_scale:!1,category:"animals_and_nature"},full_moon:{keywords:["nature","yellow","twilight","planet","space","night","evening","sleep"],char:"\u{1f315}",fitzpatrick_scale:!1,category:"animals_and_nature"},waning_gibbous_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep","waxing_gibbous_moon"],char:"\u{1f316}",fitzpatrick_scale:!1,category:"animals_and_nature"},last_quarter_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"\u{1f317}",fitzpatrick_scale:!1,category:"animals_and_nature"},waning_crescent_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"\u{1f318}",fitzpatrick_scale:!1,category:"animals_and_nature"},new_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"\u{1f311}",fitzpatrick_scale:!1,category:"animals_and_nature"},waxing_crescent_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"\u{1f312}",fitzpatrick_scale:!1,category:"animals_and_nature"},first_quarter_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"\u{1f313}",fitzpatrick_scale:!1,category:"animals_and_nature"},waxing_gibbous_moon:{keywords:["nature","night","sky","gray","twilight","planet","space","evening","sleep"],char:"\u{1f314}",fitzpatrick_scale:!1,category:"animals_and_nature"},new_moon_with_face:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"\u{1f31a}",fitzpatrick_scale:!1,category:"animals_and_nature"},full_moon_with_face:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"\u{1f31d}",fitzpatrick_scale:!1,category:"animals_and_nature"},first_quarter_moon_with_face:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"\u{1f31b}",fitzpatrick_scale:!1,category:"animals_and_nature"},last_quarter_moon_with_face:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"\u{1f31c}",fitzpatrick_scale:!1,category:"animals_and_nature"},sun_with_face:{keywords:["nature","morning","sky"],char:"\u{1f31e}",fitzpatrick_scale:!1,category:"animals_and_nature"},crescent_moon:{keywords:["night","sleep","sky","evening","magic"],char:"\u{1f319}",fitzpatrick_scale:!1,category:"animals_and_nature"},star:{keywords:["night","yellow"],char:"\u2b50",fitzpatrick_scale:!1,category:"animals_and_nature"},star2:{keywords:["night","sparkle","awesome","good","magic"],char:"\u{1f31f}",fitzpatrick_scale:!1,category:"animals_and_nature"},dizzy:{keywords:["star","sparkle","shoot","magic"],char:"\u{1f4ab}",fitzpatrick_scale:!1,category:"animals_and_nature"},sparkles:{keywords:["stars","shine","shiny","cool","awesome","good","magic"],char:"\u2728",fitzpatrick_scale:!1,category:"animals_and_nature"},comet:{keywords:["space"],char:"\u2604",fitzpatrick_scale:!1,category:"animals_and_nature"},sunny:{keywords:["weather","nature","brightness","summer","beach","spring"],char:"\u2600\ufe0f",fitzpatrick_scale:!1,category:"animals_and_nature"},sun_behind_small_cloud:{keywords:["weather"],char:"\u{1f324}",fitzpatrick_scale:!1,category:"animals_and_nature"},partly_sunny:{keywords:["weather","nature","cloudy","morning","fall","spring"],char:"\u26c5",fitzpatrick_scale:!1,category:"animals_and_nature"},sun_behind_large_cloud:{keywords:["weather"],char:"\u{1f325}",fitzpatrick_scale:!1,category:"animals_and_nature"},sun_behind_rain_cloud:{keywords:["weather"],char:"\u{1f326}",fitzpatrick_scale:!1,category:"animals_and_nature"},cloud:{keywords:["weather","sky"],char:"\u2601\ufe0f",fitzpatrick_scale:!1,category:"animals_and_nature"},cloud_with_rain:{keywords:["weather"],char:"\u{1f327}",fitzpatrick_scale:!1,category:"animals_and_nature"},cloud_with_lightning_and_rain:{keywords:["weather","lightning"],char:"\u26c8",fitzpatrick_scale:!1,category:"animals_and_nature"},cloud_with_lightning:{keywords:["weather","thunder"],char:"\u{1f329}",fitzpatrick_scale:!1,category:"animals_and_nature"},zap:{keywords:["thunder","weather","lightning bolt","fast"],char:"\u26a1",fitzpatrick_scale:!1,category:"animals_and_nature"},fire:{keywords:["hot","cook","flame"],char:"\u{1f525}",fitzpatrick_scale:!1,category:"animals_and_nature"},boom:{keywords:["bomb","explode","explosion","collision","blown"],char:"\u{1f4a5}",fitzpatrick_scale:!1,category:"animals_and_nature"},snowflake:{keywords:["winter","season","cold","weather","christmas","xmas"],char:"\u2744\ufe0f",fitzpatrick_scale:!1,category:"animals_and_nature"},cloud_with_snow:{keywords:["weather"],char:"\u{1f328}",fitzpatrick_scale:!1,category:"animals_and_nature"},snowman:{keywords:["winter","season","cold","weather","christmas","xmas","frozen","without_snow"],char:"\u26c4",fitzpatrick_scale:!1,category:"animals_and_nature"},snowman_with_snow:{keywords:["winter","season","cold","weather","christmas","xmas","frozen"],char:"\u2603",fitzpatrick_scale:!1,category:"animals_and_nature"},wind_face:{keywords:["gust","air"],char:"\u{1f32c}",fitzpatrick_scale:!1,category:"animals_and_nature"},dash:{keywords:["wind","air","fast","shoo","fart","smoke","puff"],char:"\u{1f4a8}",fitzpatrick_scale:!1,category:"animals_and_nature"},tornado:{keywords:["weather","cyclone","twister"],char:"\u{1f32a}",fitzpatrick_scale:!1,category:"animals_and_nature"},fog:{keywords:["weather"],char:"\u{1f32b}",fitzpatrick_scale:!1,category:"animals_and_nature"},open_umbrella:{keywords:["weather","spring"],char:"\u2602",fitzpatrick_scale:!1,category:"animals_and_nature"},umbrella:{keywords:["rainy","weather","spring"],char:"\u2614",fitzpatrick_scale:!1,category:"animals_and_nature"},droplet:{keywords:["water","drip","faucet","spring"],char:"\u{1f4a7}",fitzpatrick_scale:!1,category:"animals_and_nature"},sweat_drops:{keywords:["water","drip","oops"],char:"\u{1f4a6}",fitzpatrick_scale:!1,category:"animals_and_nature"},ocean:{keywords:["sea","water","wave","nature","tsunami","disaster"],char:"\u{1f30a}",fitzpatrick_scale:!1,category:"animals_and_nature"},green_apple:{keywords:["fruit","nature"],char:"\u{1f34f}",fitzpatrick_scale:!1,category:"food_and_drink"},apple:{keywords:["fruit","mac","school"],char:"\u{1f34e}",fitzpatrick_scale:!1,category:"food_and_drink"},pear:{keywords:["fruit","nature","food"],char:"\u{1f350}",fitzpatrick_scale:!1,category:"food_and_drink"},tangerine:{keywords:["food","fruit","nature","orange"],char:"\u{1f34a}",fitzpatrick_scale:!1,category:"food_and_drink"},lemon:{keywords:["fruit","nature"],char:"\u{1f34b}",fitzpatrick_scale:!1,category:"food_and_drink"},banana:{keywords:["fruit","food","monkey"],char:"\u{1f34c}",fitzpatrick_scale:!1,category:"food_and_drink"},watermelon:{keywords:["fruit","food","picnic","summer"],char:"\u{1f349}",fitzpatrick_scale:!1,category:"food_and_drink"},grapes:{keywords:["fruit","food","wine"],char:"\u{1f347}",fitzpatrick_scale:!1,category:"food_and_drink"},strawberry:{keywords:["fruit","food","nature"],char:"\u{1f353}",fitzpatrick_scale:!1,category:"food_and_drink"},melon:{keywords:["fruit","nature","food"],char:"\u{1f348}",fitzpatrick_scale:!1,category:"food_and_drink"},cherries:{keywords:["food","fruit"],char:"\u{1f352}",fitzpatrick_scale:!1,category:"food_and_drink"},peach:{keywords:["fruit","nature","food"],char:"\u{1f351}",fitzpatrick_scale:!1,category:"food_and_drink"},pineapple:{keywords:["fruit","nature","food"],char:"\u{1f34d}",fitzpatrick_scale:!1,category:"food_and_drink"},coconut:{keywords:["fruit","nature","food","palm"],char:"\u{1f965}",fitzpatrick_scale:!1,category:"food_and_drink"},kiwi_fruit:{keywords:["fruit","food"],char:"\u{1f95d}",fitzpatrick_scale:!1,category:"food_and_drink"},mango:{keywords:["fruit","food","tropical"],char:"\u{1f96d}",fitzpatrick_scale:!1,category:"food_and_drink"},avocado:{keywords:["fruit","food"],char:"\u{1f951}",fitzpatrick_scale:!1,category:"food_and_drink"},broccoli:{keywords:["fruit","food","vegetable"],char:"\u{1f966}",fitzpatrick_scale:!1,category:"food_and_drink"},tomato:{keywords:["fruit","vegetable","nature","food"],char:"\u{1f345}",fitzpatrick_scale:!1,category:"food_and_drink"},eggplant:{keywords:["vegetable","nature","food","aubergine"],char:"\u{1f346}",fitzpatrick_scale:!1,category:"food_and_drink"},cucumber:{keywords:["fruit","food","pickle"],char:"\u{1f952}",fitzpatrick_scale:!1,category:"food_and_drink"},carrot:{keywords:["vegetable","food","orange"],char:"\u{1f955}",fitzpatrick_scale:!1,category:"food_and_drink"},hot_pepper:{keywords:["food","spicy","chilli","chili"],char:"\u{1f336}",fitzpatrick_scale:!1,category:"food_and_drink"},potato:{keywords:["food","tuber","vegatable","starch"],char:"\u{1f954}",fitzpatrick_scale:!1,category:"food_and_drink"},corn:{keywords:["food","vegetable","plant"],char:"\u{1f33d}",fitzpatrick_scale:!1,category:"food_and_drink"},leafy_greens:{keywords:["food","vegetable","plant","bok choy","cabbage","kale","lettuce"],char:"\u{1f96c}",fitzpatrick_scale:!1,category:"food_and_drink"},sweet_potato:{keywords:["food","nature"],char:"\u{1f360}",fitzpatrick_scale:!1,category:"food_and_drink"},peanuts:{keywords:["food","nut"],char:"\u{1f95c}",fitzpatrick_scale:!1,category:"food_and_drink"},honey_pot:{keywords:["bees","sweet","kitchen"],char:"\u{1f36f}",fitzpatrick_scale:!1,category:"food_and_drink"},croissant:{keywords:["food","bread","french"],char:"\u{1f950}",fitzpatrick_scale:!1,category:"food_and_drink"},bread:{keywords:["food","wheat","breakfast","toast"],char:"\u{1f35e}",fitzpatrick_scale:!1,category:"food_and_drink"},baguette_bread:{keywords:["food","bread","french"],char:"\u{1f956}",fitzpatrick_scale:!1,category:"food_and_drink"},bagel:{keywords:["food","bread","bakery","schmear"],char:"\u{1f96f}",fitzpatrick_scale:!1,category:"food_and_drink"},pretzel:{keywords:["food","bread","twisted"],char:"\u{1f968}",fitzpatrick_scale:!1,category:"food_and_drink"},cheese:{keywords:["food","chadder"],char:"\u{1f9c0}",fitzpatrick_scale:!1,category:"food_and_drink"},egg:{keywords:["food","chicken","breakfast"],char:"\u{1f95a}",fitzpatrick_scale:!1,category:"food_and_drink"},bacon:{keywords:["food","breakfast","pork","pig","meat"],char:"\u{1f953}",fitzpatrick_scale:!1,category:"food_and_drink"},steak:{keywords:["food","cow","meat","cut","chop","lambchop","porkchop"],char:"\u{1f969}",fitzpatrick_scale:!1,category:"food_and_drink"},pancakes:{keywords:["food","breakfast","flapjacks","hotcakes"],char:"\u{1f95e}",fitzpatrick_scale:!1,category:"food_and_drink"},poultry_leg:{keywords:["food","meat","drumstick","bird","chicken","turkey"],char:"\u{1f357}",fitzpatrick_scale:!1,category:"food_and_drink"},meat_on_bone:{keywords:["good","food","drumstick"],char:"\u{1f356}",fitzpatrick_scale:!1,category:"food_and_drink"},bone:{keywords:["skeleton"],char:"\u{1f9b4}",fitzpatrick_scale:!1,category:"food_and_drink"},fried_shrimp:{keywords:["food","animal","appetizer","summer"],char:"\u{1f364}",fitzpatrick_scale:!1,category:"food_and_drink"},fried_egg:{keywords:["food","breakfast","kitchen","egg"],char:"\u{1f373}",fitzpatrick_scale:!1,category:"food_and_drink"},hamburger:{keywords:["meat","fast food","beef","cheeseburger","mcdonalds","burger king"],char:"\u{1f354}",fitzpatrick_scale:!1,category:"food_and_drink"},fries:{keywords:["chips","snack","fast food"],char:"\u{1f35f}",fitzpatrick_scale:!1,category:"food_and_drink"},stuffed_flatbread:{keywords:["food","flatbread","stuffed","gyro"],char:"\u{1f959}",fitzpatrick_scale:!1,category:"food_and_drink"},hotdog:{keywords:["food","frankfurter"],char:"\u{1f32d}",fitzpatrick_scale:!1,category:"food_and_drink"},pizza:{keywords:["food","party"],char:"\u{1f355}",fitzpatrick_scale:!1,category:"food_and_drink"},sandwich:{keywords:["food","lunch","bread"],char:"\u{1f96a}",fitzpatrick_scale:!1,category:"food_and_drink"},canned_food:{keywords:["food","soup"],char:"\u{1f96b}",fitzpatrick_scale:!1,category:"food_and_drink"},spaghetti:{keywords:["food","italian","noodle"],char:"\u{1f35d}",fitzpatrick_scale:!1,category:"food_and_drink"},taco:{keywords:["food","mexican"],char:"\u{1f32e}",fitzpatrick_scale:!1,category:"food_and_drink"},burrito:{keywords:["food","mexican"],char:"\u{1f32f}",fitzpatrick_scale:!1,category:"food_and_drink"},green_salad:{keywords:["food","healthy","lettuce"],char:"\u{1f957}",fitzpatrick_scale:!1,category:"food_and_drink"},shallow_pan_of_food:{keywords:["food","cooking","casserole","paella"],char:"\u{1f958}",fitzpatrick_scale:!1,category:"food_and_drink"},ramen:{keywords:["food","japanese","noodle","chopsticks"],char:"\u{1f35c}",fitzpatrick_scale:!1,category:"food_and_drink"},stew:{keywords:["food","meat","soup"],char:"\u{1f372}",fitzpatrick_scale:!1,category:"food_and_drink"},fish_cake:{keywords:["food","japan","sea","beach","narutomaki","pink","swirl","kamaboko","surimi","ramen"],char:"\u{1f365}",fitzpatrick_scale:!1,category:"food_and_drink"},fortune_cookie:{keywords:["food","prophecy"],char:"\u{1f960}",fitzpatrick_scale:!1,category:"food_and_drink"},sushi:{keywords:["food","fish","japanese","rice"],char:"\u{1f363}",fitzpatrick_scale:!1,category:"food_and_drink"},bento:{keywords:["food","japanese","box"],char:"\u{1f371}",fitzpatrick_scale:!1,category:"food_and_drink"},curry:{keywords:["food","spicy","hot","indian"],char:"\u{1f35b}",fitzpatrick_scale:!1,category:"food_and_drink"},rice_ball:{keywords:["food","japanese"],char:"\u{1f359}",fitzpatrick_scale:!1,category:"food_and_drink"},rice:{keywords:["food","china","asian"],char:"\u{1f35a}",fitzpatrick_scale:!1,category:"food_and_drink"},rice_cracker:{keywords:["food","japanese"],char:"\u{1f358}",fitzpatrick_scale:!1,category:"food_and_drink"},oden:{keywords:["food","japanese"],char:"\u{1f362}",fitzpatrick_scale:!1,category:"food_and_drink"},dango:{keywords:["food","dessert","sweet","japanese","barbecue","meat"],char:"\u{1f361}",fitzpatrick_scale:!1,category:"food_and_drink"},shaved_ice:{keywords:["hot","dessert","summer"],char:"\u{1f367}",fitzpatrick_scale:!1,category:"food_and_drink"},ice_cream:{keywords:["food","hot","dessert"],char:"\u{1f368}",fitzpatrick_scale:!1,category:"food_and_drink"},icecream:{keywords:["food","hot","dessert","summer"],char:"\u{1f366}",fitzpatrick_scale:!1,category:"food_and_drink"},pie:{keywords:["food","dessert","pastry"],char:"\u{1f967}",fitzpatrick_scale:!1,category:"food_and_drink"},cake:{keywords:["food","dessert"],char:"\u{1f370}",fitzpatrick_scale:!1,category:"food_and_drink"},cupcake:{keywords:["food","dessert","bakery","sweet"],char:"\u{1f9c1}",fitzpatrick_scale:!1,category:"food_and_drink"},moon_cake:{keywords:["food","autumn"],char:"\u{1f96e}",fitzpatrick_scale:!1,category:"food_and_drink"},birthday:{keywords:["food","dessert","cake"],char:"\u{1f382}",fitzpatrick_scale:!1,category:"food_and_drink"},custard:{keywords:["dessert","food"],char:"\u{1f36e}",fitzpatrick_scale:!1,category:"food_and_drink"},candy:{keywords:["snack","dessert","sweet","lolly"],char:"\u{1f36c}",fitzpatrick_scale:!1,category:"food_and_drink"},lollipop:{keywords:["food","snack","candy","sweet"],char:"\u{1f36d}",fitzpatrick_scale:!1,category:"food_and_drink"},chocolate_bar:{keywords:["food","snack","dessert","sweet"],char:"\u{1f36b}",fitzpatrick_scale:!1,category:"food_and_drink"},popcorn:{keywords:["food","movie theater","films","snack"],char:"\u{1f37f}",fitzpatrick_scale:!1,category:"food_and_drink"},dumpling:{keywords:["food","empanada","pierogi","potsticker"],char:"\u{1f95f}",fitzpatrick_scale:!1,category:"food_and_drink"},doughnut:{keywords:["food","dessert","snack","sweet","donut"],char:"\u{1f369}",fitzpatrick_scale:!1,category:"food_and_drink"},cookie:{keywords:["food","snack","oreo","chocolate","sweet","dessert"],char:"\u{1f36a}",fitzpatrick_scale:!1,category:"food_and_drink"},milk_glass:{keywords:["beverage","drink","cow"],char:"\u{1f95b}",fitzpatrick_scale:!1,category:"food_and_drink"},beer:{keywords:["relax","beverage","drink","drunk","party","pub","summer","alcohol","booze"],char:"\u{1f37a}",fitzpatrick_scale:!1,category:"food_and_drink"},beers:{keywords:["relax","beverage","drink","drunk","party","pub","summer","alcohol","booze"],char:"\u{1f37b}",fitzpatrick_scale:!1,category:"food_and_drink"},clinking_glasses:{keywords:["beverage","drink","party","alcohol","celebrate","cheers","wine","champagne","toast"],char:"\u{1f942}",fitzpatrick_scale:!1,category:"food_and_drink"},wine_glass:{keywords:["drink","beverage","drunk","alcohol","booze"],char:"\u{1f377}",fitzpatrick_scale:!1,category:"food_and_drink"},tumbler_glass:{keywords:["drink","beverage","drunk","alcohol","liquor","booze","bourbon","scotch","whisky","glass","shot"],char:"\u{1f943}",fitzpatrick_scale:!1,category:"food_and_drink"},cocktail:{keywords:["drink","drunk","alcohol","beverage","booze","mojito"],char:"\u{1f378}",fitzpatrick_scale:!1,category:"food_and_drink"},tropical_drink:{keywords:["beverage","cocktail","summer","beach","alcohol","booze","mojito"],char:"\u{1f379}",fitzpatrick_scale:!1,category:"food_and_drink"},champagne:{keywords:["drink","wine","bottle","celebration"],char:"\u{1f37e}",fitzpatrick_scale:!1,category:"food_and_drink"},sake:{keywords:["wine","drink","drunk","beverage","japanese","alcohol","booze"],char:"\u{1f376}",fitzpatrick_scale:!1,category:"food_and_drink"},tea:{keywords:["drink","bowl","breakfast","green","british"],char:"\u{1f375}",fitzpatrick_scale:!1,category:"food_and_drink"},cup_with_straw:{keywords:["drink","soda"],char:"\u{1f964}",fitzpatrick_scale:!1,category:"food_and_drink"},coffee:{keywords:["beverage","caffeine","latte","espresso"],char:"\u2615",fitzpatrick_scale:!1,category:"food_and_drink"},baby_bottle:{keywords:["food","container","milk"],char:"\u{1f37c}",fitzpatrick_scale:!1,category:"food_and_drink"},salt:{keywords:["condiment","shaker"],char:"\u{1f9c2}",fitzpatrick_scale:!1,category:"food_and_drink"},spoon:{keywords:["cutlery","kitchen","tableware"],char:"\u{1f944}",fitzpatrick_scale:!1,category:"food_and_drink"},fork_and_knife:{keywords:["cutlery","kitchen"],char:"\u{1f374}",fitzpatrick_scale:!1,category:"food_and_drink"},plate_with_cutlery:{keywords:["food","eat","meal","lunch","dinner","restaurant"],char:"\u{1f37d}",fitzpatrick_scale:!1,category:"food_and_drink"},bowl_with_spoon:{keywords:["food","breakfast","cereal","oatmeal","porridge"],char:"\u{1f963}",fitzpatrick_scale:!1,category:"food_and_drink"},takeout_box:{keywords:["food","leftovers"],char:"\u{1f961}",fitzpatrick_scale:!1,category:"food_and_drink"},chopsticks:{keywords:["food"],char:"\u{1f962}",fitzpatrick_scale:!1,category:"food_and_drink"},soccer:{keywords:["sports","football"],char:"\u26bd",fitzpatrick_scale:!1,category:"activity"},basketball:{keywords:["sports","balls","NBA"],char:"\u{1f3c0}",fitzpatrick_scale:!1,category:"activity"},football:{keywords:["sports","balls","NFL"],char:"\u{1f3c8}",fitzpatrick_scale:!1,category:"activity"},baseball:{keywords:["sports","balls"],char:"\u26be",fitzpatrick_scale:!1,category:"activity"},softball:{keywords:["sports","balls"],char:"\u{1f94e}",fitzpatrick_scale:!1,category:"activity"},tennis:{keywords:["sports","balls","green"],char:"\u{1f3be}",fitzpatrick_scale:!1,category:"activity"},volleyball:{keywords:["sports","balls"],char:"\u{1f3d0}",fitzpatrick_scale:!1,category:"activity"},rugby_football:{keywords:["sports","team"],char:"\u{1f3c9}",fitzpatrick_scale:!1,category:"activity"},flying_disc:{keywords:["sports","frisbee","ultimate"],char:"\u{1f94f}",fitzpatrick_scale:!1,category:"activity"},"8ball":{keywords:["pool","hobby","game","luck","magic"],char:"\u{1f3b1}",fitzpatrick_scale:!1,category:"activity"},golf:{keywords:["sports","business","flag","hole","summer"],char:"\u26f3",fitzpatrick_scale:!1,category:"activity"},golfing_woman:{keywords:["sports","business","woman","female"],char:"\u{1f3cc}\ufe0f\u200d\u2640\ufe0f",fitzpatrick_scale:!1,category:"activity"},golfing_man:{keywords:["sports","business"],char:"\u{1f3cc}",fitzpatrick_scale:!0,category:"activity"},ping_pong:{keywords:["sports","pingpong"],char:"\u{1f3d3}",fitzpatrick_scale:!1,category:"activity"},badminton:{keywords:["sports"],char:"\u{1f3f8}",fitzpatrick_scale:!1,category:"activity"},goal_net:{keywords:["sports"],char:"\u{1f945}",fitzpatrick_scale:!1,category:"activity"},ice_hockey:{keywords:["sports"],char:"\u{1f3d2}",fitzpatrick_scale:!1,category:"activity"},field_hockey:{keywords:["sports"],char:"\u{1f3d1}",fitzpatrick_scale:!1,category:"activity"},lacrosse:{keywords:["sports","ball","stick"],char:"\u{1f94d}",fitzpatrick_scale:!1,category:"activity"},cricket:{keywords:["sports"],char:"\u{1f3cf}",fitzpatrick_scale:!1,category:"activity"},ski:{keywords:["sports","winter","cold","snow"],char:"\u{1f3bf}",fitzpatrick_scale:!1,category:"activity"},skier:{keywords:["sports","winter","snow"],char:"\u26f7",fitzpatrick_scale:!1,category:"activity"},snowboarder:{keywords:["sports","winter"],char:"\u{1f3c2}",fitzpatrick_scale:!0,category:"activity"},person_fencing:{keywords:["sports","fencing","sword"],char:"\u{1f93a}",fitzpatrick_scale:!1,category:"activity"},women_wrestling:{keywords:["sports","wrestlers"],char:"\u{1f93c}\u200d\u2640\ufe0f",fitzpatrick_scale:!1,category:"activity"},men_wrestling:{keywords:["sports","wrestlers"],char:"\u{1f93c}\u200d\u2642\ufe0f",fitzpatrick_scale:!1,category:"activity"},woman_cartwheeling:{keywords:["gymnastics"],char:"\u{1f938}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"activity"},man_cartwheeling:{keywords:["gymnastics"],char:"\u{1f938}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"activity"},woman_playing_handball:{keywords:["sports"],char:"\u{1f93e}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"activity"},man_playing_handball:{keywords:["sports"],char:"\u{1f93e}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"activity"},ice_skate:{keywords:["sports"],char:"\u26f8",fitzpatrick_scale:!1,category:"activity"},curling_stone:{keywords:["sports"],char:"\u{1f94c}",fitzpatrick_scale:!1,category:"activity"},skateboard:{keywords:["board"],char:"\u{1f6f9}",fitzpatrick_scale:!1,category:"activity"},sled:{keywords:["sleigh","luge","toboggan"],char:"\u{1f6f7}",fitzpatrick_scale:!1,category:"activity"},bow_and_arrow:{keywords:["sports"],char:"\u{1f3f9}",fitzpatrick_scale:!1,category:"activity"},fishing_pole_and_fish:{keywords:["food","hobby","summer"],char:"\u{1f3a3}",fitzpatrick_scale:!1,category:"activity"},boxing_glove:{keywords:["sports","fighting"],char:"\u{1f94a}",fitzpatrick_scale:!1,category:"activity"},martial_arts_uniform:{keywords:["judo","karate","taekwondo"],char:"\u{1f94b}",fitzpatrick_scale:!1,category:"activity"},rowing_woman:{keywords:["sports","hobby","water","ship","woman","female"],char:"\u{1f6a3}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"activity"},rowing_man:{keywords:["sports","hobby","water","ship"],char:"\u{1f6a3}",fitzpatrick_scale:!0,category:"activity"},climbing_woman:{keywords:["sports","hobby","woman","female","rock"],char:"\u{1f9d7}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"activity"},climbing_man:{keywords:["sports","hobby","man","male","rock"],char:"\u{1f9d7}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"activity"},swimming_woman:{keywords:["sports","exercise","human","athlete","water","summer","woman","female"],char:"\u{1f3ca}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"activity"},swimming_man:{keywords:["sports","exercise","human","athlete","water","summer"],char:"\u{1f3ca}",fitzpatrick_scale:!0,category:"activity"},woman_playing_water_polo:{keywords:["sports","pool"],char:"\u{1f93d}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"activity"},man_playing_water_polo:{keywords:["sports","pool"],char:"\u{1f93d}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"activity"},woman_in_lotus_position:{keywords:["woman","female","meditation","yoga","serenity","zen","mindfulness"],char:"\u{1f9d8}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"activity"},man_in_lotus_position:{keywords:["man","male","meditation","yoga","serenity","zen","mindfulness"],char:"\u{1f9d8}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"activity"},surfing_woman:{keywords:["sports","ocean","sea","summer","beach","woman","female"],char:"\u{1f3c4}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"activity"},surfing_man:{keywords:["sports","ocean","sea","summer","beach"],char:"\u{1f3c4}",fitzpatrick_scale:!0,category:"activity"},bath:{keywords:["clean","shower","bathroom"],char:"\u{1f6c0}",fitzpatrick_scale:!0,category:"activity"},basketball_woman:{keywords:["sports","human","woman","female"],char:"\u26f9\ufe0f\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"activity"},basketball_man:{keywords:["sports","human"],char:"\u26f9",fitzpatrick_scale:!0,category:"activity"},weight_lifting_woman:{keywords:["sports","training","exercise","woman","female"],char:"\u{1f3cb}\ufe0f\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"activity"},weight_lifting_man:{keywords:["sports","training","exercise"],char:"\u{1f3cb}",fitzpatrick_scale:!0,category:"activity"},biking_woman:{keywords:["sports","bike","exercise","hipster","woman","female"],char:"\u{1f6b4}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"activity"},biking_man:{keywords:["sports","bike","exercise","hipster"],char:"\u{1f6b4}",fitzpatrick_scale:!0,category:"activity"},mountain_biking_woman:{keywords:["transportation","sports","human","race","bike","woman","female"],char:"\u{1f6b5}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"activity"},mountain_biking_man:{keywords:["transportation","sports","human","race","bike"],char:"\u{1f6b5}",fitzpatrick_scale:!0,category:"activity"},horse_racing:{keywords:["animal","betting","competition","gambling","luck"],char:"\u{1f3c7}",fitzpatrick_scale:!0,category:"activity"},business_suit_levitating:{keywords:["suit","business","levitate","hover","jump"],char:"\u{1f574}",fitzpatrick_scale:!0,category:"activity"},trophy:{keywords:["win","award","contest","place","ftw","ceremony"],char:"\u{1f3c6}",fitzpatrick_scale:!1,category:"activity"},running_shirt_with_sash:{keywords:["play","pageant"],char:"\u{1f3bd}",fitzpatrick_scale:!1,category:"activity"},medal_sports:{keywords:["award","winning"],char:"\u{1f3c5}",fitzpatrick_scale:!1,category:"activity"},medal_military:{keywords:["award","winning","army"],char:"\u{1f396}",fitzpatrick_scale:!1,category:"activity"},"1st_place_medal":{keywords:["award","winning","first"],char:"\u{1f947}",fitzpatrick_scale:!1,category:"activity"},"2nd_place_medal":{keywords:["award","second"],char:"\u{1f948}",fitzpatrick_scale:!1,category:"activity"},"3rd_place_medal":{keywords:["award","third"],char:"\u{1f949}",fitzpatrick_scale:!1,category:"activity"},reminder_ribbon:{keywords:["sports","cause","support","awareness"],char:"\u{1f397}",fitzpatrick_scale:!1,category:"activity"},rosette:{keywords:["flower","decoration","military"],char:"\u{1f3f5}",fitzpatrick_scale:!1,category:"activity"},ticket:{keywords:["event","concert","pass"],char:"\u{1f3ab}",fitzpatrick_scale:!1,category:"activity"},tickets:{keywords:["sports","concert","entrance"],char:"\u{1f39f}",fitzpatrick_scale:!1,category:"activity"},performing_arts:{keywords:["acting","theater","drama"],char:"\u{1f3ad}",fitzpatrick_scale:!1,category:"activity"},art:{keywords:["design","paint","draw","colors"],char:"\u{1f3a8}",fitzpatrick_scale:!1,category:"activity"},circus_tent:{keywords:["festival","carnival","party"],char:"\u{1f3aa}",fitzpatrick_scale:!1,category:"activity"},woman_juggling:{keywords:["juggle","balance","skill","multitask"],char:"\u{1f939}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"activity"},man_juggling:{keywords:["juggle","balance","skill","multitask"],char:"\u{1f939}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"activity"},microphone:{keywords:["sound","music","PA","sing","talkshow"],char:"\u{1f3a4}",fitzpatrick_scale:!1,category:"activity"},headphones:{keywords:["music","score","gadgets"],char:"\u{1f3a7}",fitzpatrick_scale:!1,category:"activity"},musical_score:{keywords:["treble","clef","compose"],char:"\u{1f3bc}",fitzpatrick_scale:!1,category:"activity"},musical_keyboard:{keywords:["piano","instrument","compose"],char:"\u{1f3b9}",fitzpatrick_scale:!1,category:"activity"},drum:{keywords:["music","instrument","drumsticks","snare"],char:"\u{1f941}",fitzpatrick_scale:!1,category:"activity"},saxophone:{keywords:["music","instrument","jazz","blues"],char:"\u{1f3b7}",fitzpatrick_scale:!1,category:"activity"},trumpet:{keywords:["music","brass"],char:"\u{1f3ba}",fitzpatrick_scale:!1,category:"activity"},guitar:{keywords:["music","instrument"],char:"\u{1f3b8}",fitzpatrick_scale:!1,category:"activity"},violin:{keywords:["music","instrument","orchestra","symphony"],char:"\u{1f3bb}",fitzpatrick_scale:!1,category:"activity"},clapper:{keywords:["movie","film","record"],char:"\u{1f3ac}",fitzpatrick_scale:!1,category:"activity"},video_game:{keywords:["play","console","PS4","controller"],char:"\u{1f3ae}",fitzpatrick_scale:!1,category:"activity"},space_invader:{keywords:["game","arcade","play"],char:"\u{1f47e}",fitzpatrick_scale:!1,category:"activity"},dart:{keywords:["game","play","bar","target","bullseye"],char:"\u{1f3af}",fitzpatrick_scale:!1,category:"activity"},game_die:{keywords:["dice","random","tabletop","play","luck"],char:"\u{1f3b2}",fitzpatrick_scale:!1,category:"activity"},chess_pawn:{keywords:["expendable"],char:"\u265f",fitzpatrick_scale:!1,category:"activity"},slot_machine:{keywords:["bet","gamble","vegas","fruit machine","luck","casino"],char:"\u{1f3b0}",fitzpatrick_scale:!1,category:"activity"},jigsaw:{keywords:["interlocking","puzzle","piece"],char:"\u{1f9e9}",fitzpatrick_scale:!1,category:"activity"},bowling:{keywords:["sports","fun","play"],char:"\u{1f3b3}",fitzpatrick_scale:!1,category:"activity"},red_car:{keywords:["red","transportation","vehicle"],char:"\u{1f697}",fitzpatrick_scale:!1,category:"travel_and_places"},taxi:{keywords:["uber","vehicle","cars","transportation"],char:"\u{1f695}",fitzpatrick_scale:!1,category:"travel_and_places"},blue_car:{keywords:["transportation","vehicle"],char:"\u{1f699}",fitzpatrick_scale:!1,category:"travel_and_places"},bus:{keywords:["car","vehicle","transportation"],char:"\u{1f68c}",fitzpatrick_scale:!1,category:"travel_and_places"},trolleybus:{keywords:["bart","transportation","vehicle"],char:"\u{1f68e}",fitzpatrick_scale:!1,category:"travel_and_places"},racing_car:{keywords:["sports","race","fast","formula","f1"],char:"\u{1f3ce}",fitzpatrick_scale:!1,category:"travel_and_places"},police_car:{keywords:["vehicle","cars","transportation","law","legal","enforcement"],char:"\u{1f693}",fitzpatrick_scale:!1,category:"travel_and_places"},ambulance:{keywords:["health","911","hospital"],char:"\u{1f691}",fitzpatrick_scale:!1,category:"travel_and_places"},fire_engine:{keywords:["transportation","cars","vehicle"],char:"\u{1f692}",fitzpatrick_scale:!1,category:"travel_and_places"},minibus:{keywords:["vehicle","car","transportation"],char:"\u{1f690}",fitzpatrick_scale:!1,category:"travel_and_places"},truck:{keywords:["cars","transportation"],char:"\u{1f69a}",fitzpatrick_scale:!1,category:"travel_and_places"},articulated_lorry:{keywords:["vehicle","cars","transportation","express"],char:"\u{1f69b}",fitzpatrick_scale:!1,category:"travel_and_places"},tractor:{keywords:["vehicle","car","farming","agriculture"],char:"\u{1f69c}",fitzpatrick_scale:!1,category:"travel_and_places"},kick_scooter:{keywords:["vehicle","kick","razor"],char:"\u{1f6f4}",fitzpatrick_scale:!1,category:"travel_and_places"},motorcycle:{keywords:["race","sports","fast"],char:"\u{1f3cd}",fitzpatrick_scale:!1,category:"travel_and_places"},bike:{keywords:["sports","bicycle","exercise","hipster"],char:"\u{1f6b2}",fitzpatrick_scale:!1,category:"travel_and_places"},motor_scooter:{keywords:["vehicle","vespa","sasha"],char:"\u{1f6f5}",fitzpatrick_scale:!1,category:"travel_and_places"},rotating_light:{keywords:["police","ambulance","911","emergency","alert","error","pinged","law","legal"],char:"\u{1f6a8}",fitzpatrick_scale:!1,category:"travel_and_places"},oncoming_police_car:{keywords:["vehicle","law","legal","enforcement","911"],char:"\u{1f694}",fitzpatrick_scale:!1,category:"travel_and_places"},oncoming_bus:{keywords:["vehicle","transportation"],char:"\u{1f68d}",fitzpatrick_scale:!1,category:"travel_and_places"},oncoming_automobile:{keywords:["car","vehicle","transportation"],char:"\u{1f698}",fitzpatrick_scale:!1,category:"travel_and_places"},oncoming_taxi:{keywords:["vehicle","cars","uber"],char:"\u{1f696}",fitzpatrick_scale:!1,category:"travel_and_places"},aerial_tramway:{keywords:["transportation","vehicle","ski"],char:"\u{1f6a1}",fitzpatrick_scale:!1,category:"travel_and_places"},mountain_cableway:{keywords:["transportation","vehicle","ski"],char:"\u{1f6a0}",fitzpatrick_scale:!1,category:"travel_and_places"},suspension_railway:{keywords:["vehicle","transportation"],char:"\u{1f69f}",fitzpatrick_scale:!1,category:"travel_and_places"},railway_car:{keywords:["transportation","vehicle"],char:"\u{1f683}",fitzpatrick_scale:!1,category:"travel_and_places"},train:{keywords:["transportation","vehicle","carriage","public","travel"],char:"\u{1f68b}",fitzpatrick_scale:!1,category:"travel_and_places"},monorail:{keywords:["transportation","vehicle"],char:"\u{1f69d}",fitzpatrick_scale:!1,category:"travel_and_places"},bullettrain_side:{keywords:["transportation","vehicle"],char:"\u{1f684}",fitzpatrick_scale:!1,category:"travel_and_places"},bullettrain_front:{keywords:["transportation","vehicle","speed","fast","public","travel"],char:"\u{1f685}",fitzpatrick_scale:!1,category:"travel_and_places"},light_rail:{keywords:["transportation","vehicle"],char:"\u{1f688}",fitzpatrick_scale:!1,category:"travel_and_places"},mountain_railway:{keywords:["transportation","vehicle"],char:"\u{1f69e}",fitzpatrick_scale:!1,category:"travel_and_places"},steam_locomotive:{keywords:["transportation","vehicle","train"],char:"\u{1f682}",fitzpatrick_scale:!1,category:"travel_and_places"},train2:{keywords:["transportation","vehicle"],char:"\u{1f686}",fitzpatrick_scale:!1,category:"travel_and_places"},metro:{keywords:["transportation","blue-square","mrt","underground","tube"],char:"\u{1f687}",fitzpatrick_scale:!1,category:"travel_and_places"},tram:{keywords:["transportation","vehicle"],char:"\u{1f68a}",fitzpatrick_scale:!1,category:"travel_and_places"},station:{keywords:["transportation","vehicle","public"],char:"\u{1f689}",fitzpatrick_scale:!1,category:"travel_and_places"},flying_saucer:{keywords:["transportation","vehicle","ufo"],char:"\u{1f6f8}",fitzpatrick_scale:!1,category:"travel_and_places"},helicopter:{keywords:["transportation","vehicle","fly"],char:"\u{1f681}",fitzpatrick_scale:!1,category:"travel_and_places"},small_airplane:{keywords:["flight","transportation","fly","vehicle"],char:"\u{1f6e9}",fitzpatrick_scale:!1,category:"travel_and_places"},airplane:{keywords:["vehicle","transportation","flight","fly"],char:"\u2708\ufe0f",fitzpatrick_scale:!1,category:"travel_and_places"},flight_departure:{keywords:["airport","flight","landing"],char:"\u{1f6eb}",fitzpatrick_scale:!1,category:"travel_and_places"},flight_arrival:{keywords:["airport","flight","boarding"],char:"\u{1f6ec}",fitzpatrick_scale:!1,category:"travel_and_places"},sailboat:{keywords:["ship","summer","transportation","water","sailing"],char:"\u26f5",fitzpatrick_scale:!1,category:"travel_and_places"},motor_boat:{keywords:["ship"],char:"\u{1f6e5}",fitzpatrick_scale:!1,category:"travel_and_places"},speedboat:{keywords:["ship","transportation","vehicle","summer"],char:"\u{1f6a4}",fitzpatrick_scale:!1,category:"travel_and_places"},ferry:{keywords:["boat","ship","yacht"],char:"\u26f4",fitzpatrick_scale:!1,category:"travel_and_places"},passenger_ship:{keywords:["yacht","cruise","ferry"],char:"\u{1f6f3}",fitzpatrick_scale:!1,category:"travel_and_places"},rocket:{keywords:["launch","ship","staffmode","NASA","outer space","outer_space","fly"],char:"\u{1f680}",fitzpatrick_scale:!1,category:"travel_and_places"},artificial_satellite:{keywords:["communication","gps","orbit","spaceflight","NASA","ISS"],char:"\u{1f6f0}",fitzpatrick_scale:!1,category:"travel_and_places"},seat:{keywords:["sit","airplane","transport","bus","flight","fly"],char:"\u{1f4ba}",fitzpatrick_scale:!1,category:"travel_and_places"},canoe:{keywords:["boat","paddle","water","ship"],char:"\u{1f6f6}",fitzpatrick_scale:!1,category:"travel_and_places"},anchor:{keywords:["ship","ferry","sea","boat"],char:"\u2693",fitzpatrick_scale:!1,category:"travel_and_places"},construction:{keywords:["wip","progress","caution","warning"],char:"\u{1f6a7}",fitzpatrick_scale:!1,category:"travel_and_places"},fuelpump:{keywords:["gas station","petroleum"],char:"\u26fd",fitzpatrick_scale:!1,category:"travel_and_places"},busstop:{keywords:["transportation","wait"],char:"\u{1f68f}",fitzpatrick_scale:!1,category:"travel_and_places"},vertical_traffic_light:{keywords:["transportation","driving"],char:"\u{1f6a6}",fitzpatrick_scale:!1,category:"travel_and_places"},traffic_light:{keywords:["transportation","signal"],char:"\u{1f6a5}",fitzpatrick_scale:!1,category:"travel_and_places"},checkered_flag:{keywords:["contest","finishline","race","gokart"],char:"\u{1f3c1}",fitzpatrick_scale:!1,category:"travel_and_places"},ship:{keywords:["transportation","titanic","deploy"],char:"\u{1f6a2}",fitzpatrick_scale:!1,category:"travel_and_places"},ferris_wheel:{keywords:["photo","carnival","londoneye"],char:"\u{1f3a1}",fitzpatrick_scale:!1,category:"travel_and_places"},roller_coaster:{keywords:["carnival","playground","photo","fun"],char:"\u{1f3a2}",fitzpatrick_scale:!1,category:"travel_and_places"},carousel_horse:{keywords:["photo","carnival"],char:"\u{1f3a0}",fitzpatrick_scale:!1,category:"travel_and_places"},building_construction:{keywords:["wip","working","progress"],char:"\u{1f3d7}",fitzpatrick_scale:!1,category:"travel_and_places"},foggy:{keywords:["photo","mountain"],char:"\u{1f301}",fitzpatrick_scale:!1,category:"travel_and_places"},tokyo_tower:{keywords:["photo","japanese"],char:"\u{1f5fc}",fitzpatrick_scale:!1,category:"travel_and_places"},factory:{keywords:["building","industry","pollution","smoke"],char:"\u{1f3ed}",fitzpatrick_scale:!1,category:"travel_and_places"},fountain:{keywords:["photo","summer","water","fresh"],char:"\u26f2",fitzpatrick_scale:!1,category:"travel_and_places"},rice_scene:{keywords:["photo","japan","asia","tsukimi"],char:"\u{1f391}",fitzpatrick_scale:!1,category:"travel_and_places"},mountain:{keywords:["photo","nature","environment"],char:"\u26f0",fitzpatrick_scale:!1,category:"travel_and_places"},mountain_snow:{keywords:["photo","nature","environment","winter","cold"],char:"\u{1f3d4}",fitzpatrick_scale:!1,category:"travel_and_places"},mount_fuji:{keywords:["photo","mountain","nature","japanese"],char:"\u{1f5fb}",fitzpatrick_scale:!1,category:"travel_and_places"},volcano:{keywords:["photo","nature","disaster"],char:"\u{1f30b}",fitzpatrick_scale:!1,category:"travel_and_places"},japan:{keywords:["nation","country","japanese","asia"],char:"\u{1f5fe}",fitzpatrick_scale:!1,category:"travel_and_places"},camping:{keywords:["photo","outdoors","tent"],char:"\u{1f3d5}",fitzpatrick_scale:!1,category:"travel_and_places"},tent:{keywords:["photo","camping","outdoors"],char:"\u26fa",fitzpatrick_scale:!1,category:"travel_and_places"},national_park:{keywords:["photo","environment","nature"],char:"\u{1f3de}",fitzpatrick_scale:!1,category:"travel_and_places"},motorway:{keywords:["road","cupertino","interstate","highway"],char:"\u{1f6e3}",fitzpatrick_scale:!1,category:"travel_and_places"},railway_track:{keywords:["train","transportation"],char:"\u{1f6e4}",fitzpatrick_scale:!1,category:"travel_and_places"},sunrise:{keywords:["morning","view","vacation","photo"],char:"\u{1f305}",fitzpatrick_scale:!1,category:"travel_and_places"},sunrise_over_mountains:{keywords:["view","vacation","photo"],char:"\u{1f304}",fitzpatrick_scale:!1,category:"travel_and_places"},desert:{keywords:["photo","warm","saharah"],char:"\u{1f3dc}",fitzpatrick_scale:!1,category:"travel_and_places"},beach_umbrella:{keywords:["weather","summer","sunny","sand","mojito"],char:"\u{1f3d6}",fitzpatrick_scale:!1,category:"travel_and_places"},desert_island:{keywords:["photo","tropical","mojito"],char:"\u{1f3dd}",fitzpatrick_scale:!1,category:"travel_and_places"},city_sunrise:{keywords:["photo","good morning","dawn"],char:"\u{1f307}",fitzpatrick_scale:!1,category:"travel_and_places"},city_sunset:{keywords:["photo","evening","sky","buildings"],char:"\u{1f306}",fitzpatrick_scale:!1,category:"travel_and_places"},cityscape:{keywords:["photo","night life","urban"],char:"\u{1f3d9}",fitzpatrick_scale:!1,category:"travel_and_places"},night_with_stars:{keywords:["evening","city","downtown"],char:"\u{1f303}",fitzpatrick_scale:!1,category:"travel_and_places"},bridge_at_night:{keywords:["photo","sanfrancisco"],char:"\u{1f309}",fitzpatrick_scale:!1,category:"travel_and_places"},milky_way:{keywords:["photo","space","stars"],char:"\u{1f30c}",fitzpatrick_scale:!1,category:"travel_and_places"},stars:{keywords:["night","photo"],char:"\u{1f320}",fitzpatrick_scale:!1,category:"travel_and_places"},sparkler:{keywords:["stars","night","shine"],char:"\u{1f387}",fitzpatrick_scale:!1,category:"travel_and_places"},fireworks:{keywords:["photo","festival","carnival","congratulations"],char:"\u{1f386}",fitzpatrick_scale:!1,category:"travel_and_places"},rainbow:{keywords:["nature","happy","unicorn_face","photo","sky","spring"],char:"\u{1f308}",fitzpatrick_scale:!1,category:"travel_and_places"},houses:{keywords:["buildings","photo"],char:"\u{1f3d8}",fitzpatrick_scale:!1,category:"travel_and_places"},european_castle:{keywords:["building","royalty","history"],char:"\u{1f3f0}",fitzpatrick_scale:!1,category:"travel_and_places"},japanese_castle:{keywords:["photo","building"],char:"\u{1f3ef}",fitzpatrick_scale:!1,category:"travel_and_places"},stadium:{keywords:["photo","place","sports","concert","venue"],char:"\u{1f3df}",fitzpatrick_scale:!1,category:"travel_and_places"},statue_of_liberty:{keywords:["american","newyork"],char:"\u{1f5fd}",fitzpatrick_scale:!1,category:"travel_and_places"},house:{keywords:["building","home"],char:"\u{1f3e0}",fitzpatrick_scale:!1,category:"travel_and_places"},house_with_garden:{keywords:["home","plant","nature"],char:"\u{1f3e1}",fitzpatrick_scale:!1,category:"travel_and_places"},derelict_house:{keywords:["abandon","evict","broken","building"],char:"\u{1f3da}",fitzpatrick_scale:!1,category:"travel_and_places"},office:{keywords:["building","bureau","work"],char:"\u{1f3e2}",fitzpatrick_scale:!1,category:"travel_and_places"},department_store:{keywords:["building","shopping","mall"],char:"\u{1f3ec}",fitzpatrick_scale:!1,category:"travel_and_places"},post_office:{keywords:["building","envelope","communication"],char:"\u{1f3e3}",fitzpatrick_scale:!1,category:"travel_and_places"},european_post_office:{keywords:["building","email"],char:"\u{1f3e4}",fitzpatrick_scale:!1,category:"travel_and_places"},hospital:{keywords:["building","health","surgery","doctor"],char:"\u{1f3e5}",fitzpatrick_scale:!1,category:"travel_and_places"},bank:{keywords:["building","money","sales","cash","business","enterprise"],char:"\u{1f3e6}",fitzpatrick_scale:!1,category:"travel_and_places"},hotel:{keywords:["building","accomodation","checkin"],char:"\u{1f3e8}",fitzpatrick_scale:!1,category:"travel_and_places"},convenience_store:{keywords:["building","shopping","groceries"],char:"\u{1f3ea}",fitzpatrick_scale:!1,category:"travel_and_places"},school:{keywords:["building","student","education","learn","teach"],char:"\u{1f3eb}",fitzpatrick_scale:!1,category:"travel_and_places"},love_hotel:{keywords:["like","affection","dating"],char:"\u{1f3e9}",fitzpatrick_scale:!1,category:"travel_and_places"},wedding:{keywords:["love","like","affection","couple","marriage","bride","groom"],char:"\u{1f492}",fitzpatrick_scale:!1,category:"travel_and_places"},classical_building:{keywords:["art","culture","history"],char:"\u{1f3db}",fitzpatrick_scale:!1,category:"travel_and_places"},church:{keywords:["building","religion","christ"],char:"\u26ea",fitzpatrick_scale:!1,category:"travel_and_places"},mosque:{keywords:["islam","worship","minaret"],char:"\u{1f54c}",fitzpatrick_scale:!1,category:"travel_and_places"},synagogue:{keywords:["judaism","worship","temple","jewish"],char:"\u{1f54d}",fitzpatrick_scale:!1,category:"travel_and_places"},kaaba:{keywords:["mecca","mosque","islam"],char:"\u{1f54b}",fitzpatrick_scale:!1,category:"travel_and_places"},shinto_shrine:{keywords:["temple","japan","kyoto"],char:"\u26e9",fitzpatrick_scale:!1,category:"travel_and_places"},watch:{keywords:["time","accessories"],char:"\u231a",fitzpatrick_scale:!1,category:"objects"},iphone:{keywords:["technology","apple","gadgets","dial"],char:"\u{1f4f1}",fitzpatrick_scale:!1,category:"objects"},calling:{keywords:["iphone","incoming"],char:"\u{1f4f2}",fitzpatrick_scale:!1,category:"objects"},computer:{keywords:["technology","laptop","screen","display","monitor"],char:"\u{1f4bb}",fitzpatrick_scale:!1,category:"objects"},keyboard:{keywords:["technology","computer","type","input","text"],char:"\u2328",fitzpatrick_scale:!1,category:"objects"},desktop_computer:{keywords:["technology","computing","screen"],char:"\u{1f5a5}",fitzpatrick_scale:!1,category:"objects"},printer:{keywords:["paper","ink"],char:"\u{1f5a8}",fitzpatrick_scale:!1,category:"objects"},computer_mouse:{keywords:["click"],char:"\u{1f5b1}",fitzpatrick_scale:!1,category:"objects"},trackball:{keywords:["technology","trackpad"],char:"\u{1f5b2}",fitzpatrick_scale:!1,category:"objects"},joystick:{keywords:["game","play"],char:"\u{1f579}",fitzpatrick_scale:!1,category:"objects"},clamp:{keywords:["tool"],char:"\u{1f5dc}",fitzpatrick_scale:!1,category:"objects"},minidisc:{keywords:["technology","record","data","disk","90s"],char:"\u{1f4bd}",fitzpatrick_scale:!1,category:"objects"},floppy_disk:{keywords:["oldschool","technology","save","90s","80s"],char:"\u{1f4be}",fitzpatrick_scale:!1,category:"objects"},cd:{keywords:["technology","dvd","disk","disc","90s"],char:"\u{1f4bf}",fitzpatrick_scale:!1,category:"objects"},dvd:{keywords:["cd","disk","disc"],char:"\u{1f4c0}",fitzpatrick_scale:!1,category:"objects"},vhs:{keywords:["record","video","oldschool","90s","80s"],char:"\u{1f4fc}",fitzpatrick_scale:!1,category:"objects"},camera:{keywords:["gadgets","photography"],char:"\u{1f4f7}",fitzpatrick_scale:!1,category:"objects"},camera_flash:{keywords:["photography","gadgets"],char:"\u{1f4f8}",fitzpatrick_scale:!1,category:"objects"},video_camera:{keywords:["film","record"],char:"\u{1f4f9}",fitzpatrick_scale:!1,category:"objects"},movie_camera:{keywords:["film","record"],char:"\u{1f3a5}",fitzpatrick_scale:!1,category:"objects"},film_projector:{keywords:["video","tape","record","movie"],char:"\u{1f4fd}",fitzpatrick_scale:!1,category:"objects"},film_strip:{keywords:["movie"],char:"\u{1f39e}",fitzpatrick_scale:!1,category:"objects"},telephone_receiver:{keywords:["technology","communication","dial"],char:"\u{1f4de}",fitzpatrick_scale:!1,category:"objects"},phone:{keywords:["technology","communication","dial","telephone"],char:"\u260e\ufe0f",fitzpatrick_scale:!1,category:"objects"},pager:{keywords:["bbcall","oldschool","90s"],char:"\u{1f4df}",fitzpatrick_scale:!1,category:"objects"},fax:{keywords:["communication","technology"],char:"\u{1f4e0}",fitzpatrick_scale:!1,category:"objects"},tv:{keywords:["technology","program","oldschool","show","television"],char:"\u{1f4fa}",fitzpatrick_scale:!1,category:"objects"},radio:{keywords:["communication","music","podcast","program"],char:"\u{1f4fb}",fitzpatrick_scale:!1,category:"objects"},studio_microphone:{keywords:["sing","recording","artist","talkshow"],char:"\u{1f399}",fitzpatrick_scale:!1,category:"objects"},level_slider:{keywords:["scale"],char:"\u{1f39a}",fitzpatrick_scale:!1,category:"objects"},control_knobs:{keywords:["dial"],char:"\u{1f39b}",fitzpatrick_scale:!1,category:"objects"},compass:{keywords:["magnetic","navigation","orienteering"],char:"\u{1f9ed}",fitzpatrick_scale:!1,category:"objects"},stopwatch:{keywords:["time","deadline"],char:"\u23f1",fitzpatrick_scale:!1,category:"objects"},timer_clock:{keywords:["alarm"],char:"\u23f2",fitzpatrick_scale:!1,category:"objects"},alarm_clock:{keywords:["time","wake"],char:"\u23f0",fitzpatrick_scale:!1,category:"objects"},mantelpiece_clock:{keywords:["time"],char:"\u{1f570}",fitzpatrick_scale:!1,category:"objects"},hourglass_flowing_sand:{keywords:["oldschool","time","countdown"],char:"\u23f3",fitzpatrick_scale:!1,category:"objects"},hourglass:{keywords:["time","clock","oldschool","limit","exam","quiz","test"],char:"\u231b",fitzpatrick_scale:!1,category:"objects"},satellite:{keywords:["communication","future","radio","space"],char:"\u{1f4e1}",fitzpatrick_scale:!1,category:"objects"},battery:{keywords:["power","energy","sustain"],char:"\u{1f50b}",fitzpatrick_scale:!1,category:"objects"},electric_plug:{keywords:["charger","power"],char:"\u{1f50c}",fitzpatrick_scale:!1,category:"objects"},bulb:{keywords:["light","electricity","idea"],char:"\u{1f4a1}",fitzpatrick_scale:!1,category:"objects"},flashlight:{keywords:["dark","camping","sight","night"],char:"\u{1f526}",fitzpatrick_scale:!1,category:"objects"},candle:{keywords:["fire","wax"],char:"\u{1f56f}",fitzpatrick_scale:!1,category:"objects"},fire_extinguisher:{keywords:["quench"],char:"\u{1f9ef}",fitzpatrick_scale:!1,category:"objects"},wastebasket:{keywords:["bin","trash","rubbish","garbage","toss"],char:"\u{1f5d1}",fitzpatrick_scale:!1,category:"objects"},oil_drum:{keywords:["barrell"],char:"\u{1f6e2}",fitzpatrick_scale:!1,category:"objects"},money_with_wings:{keywords:["dollar","bills","payment","sale"],char:"\u{1f4b8}",fitzpatrick_scale:!1,category:"objects"},dollar:{keywords:["money","sales","bill","currency"],char:"\u{1f4b5}",fitzpatrick_scale:!1,category:"objects"},yen:{keywords:["money","sales","japanese","dollar","currency"],char:"\u{1f4b4}",fitzpatrick_scale:!1,category:"objects"},euro:{keywords:["money","sales","dollar","currency"],char:"\u{1f4b6}",fitzpatrick_scale:!1,category:"objects"},pound:{keywords:["british","sterling","money","sales","bills","uk","england","currency"],char:"\u{1f4b7}",fitzpatrick_scale:!1,category:"objects"},moneybag:{keywords:["dollar","payment","coins","sale"],char:"\u{1f4b0}",fitzpatrick_scale:!1,category:"objects"},credit_card:{keywords:["money","sales","dollar","bill","payment","shopping"],char:"\u{1f4b3}",fitzpatrick_scale:!1,category:"objects"},gem:{keywords:["blue","ruby","diamond","jewelry"],char:"\u{1f48e}",fitzpatrick_scale:!1,category:"objects"},balance_scale:{keywords:["law","fairness","weight"],char:"\u2696",fitzpatrick_scale:!1,category:"objects"},toolbox:{keywords:["tools","diy","fix","maintainer","mechanic"],char:"\u{1f9f0}",fitzpatrick_scale:!1,category:"objects"},wrench:{keywords:["tools","diy","ikea","fix","maintainer"],char:"\u{1f527}",fitzpatrick_scale:!1,category:"objects"},hammer:{keywords:["tools","build","create"],char:"\u{1f528}",fitzpatrick_scale:!1,category:"objects"},hammer_and_pick:{keywords:["tools","build","create"],char:"\u2692",fitzpatrick_scale:!1,category:"objects"},hammer_and_wrench:{keywords:["tools","build","create"],char:"\u{1f6e0}",fitzpatrick_scale:!1,category:"objects"},pick:{keywords:["tools","dig"],char:"\u26cf",fitzpatrick_scale:!1,category:"objects"},nut_and_bolt:{keywords:["handy","tools","fix"],char:"\u{1f529}",fitzpatrick_scale:!1,category:"objects"},gear:{keywords:["cog"],char:"\u2699",fitzpatrick_scale:!1,category:"objects"},brick:{keywords:["bricks"],char:"\u{1f9f1}",fitzpatrick_scale:!1,category:"objects"},chains:{keywords:["lock","arrest"],char:"\u26d3",fitzpatrick_scale:!1,category:"objects"},magnet:{keywords:["attraction","magnetic"],char:"\u{1f9f2}",fitzpatrick_scale:!1,category:"objects"},gun:{keywords:["violence","weapon","pistol","revolver"],char:"\u{1f52b}",fitzpatrick_scale:!1,category:"objects"},bomb:{keywords:["boom","explode","explosion","terrorism"],char:"\u{1f4a3}",fitzpatrick_scale:!1,category:"objects"},firecracker:{keywords:["dynamite","boom","explode","explosion","explosive"],char:"\u{1f9e8}",fitzpatrick_scale:!1,category:"objects"},hocho:{keywords:["knife","blade","cutlery","kitchen","weapon"],char:"\u{1f52a}",fitzpatrick_scale:!1,category:"objects"},dagger:{keywords:["weapon"],char:"\u{1f5e1}",fitzpatrick_scale:!1,category:"objects"},crossed_swords:{keywords:["weapon"],char:"\u2694",fitzpatrick_scale:!1,category:"objects"},shield:{keywords:["protection","security"],char:"\u{1f6e1}",fitzpatrick_scale:!1,category:"objects"},smoking:{keywords:["kills","tobacco","cigarette","joint","smoke"],char:"\u{1f6ac}",fitzpatrick_scale:!1,category:"objects"},skull_and_crossbones:{keywords:["poison","danger","deadly","scary","death","pirate","evil"],char:"\u2620",fitzpatrick_scale:!1,category:"objects"},coffin:{keywords:["vampire","dead","die","death","rip","graveyard","cemetery","casket","funeral","box"],char:"\u26b0",fitzpatrick_scale:!1,category:"objects"},funeral_urn:{keywords:["dead","die","death","rip","ashes"],char:"\u26b1",fitzpatrick_scale:!1,category:"objects"},amphora:{keywords:["vase","jar"],char:"\u{1f3fa}",fitzpatrick_scale:!1,category:"objects"},crystal_ball:{keywords:["disco","party","magic","circus","fortune_teller"],char:"\u{1f52e}",fitzpatrick_scale:!1,category:"objects"},prayer_beads:{keywords:["dhikr","religious"],char:"\u{1f4ff}",fitzpatrick_scale:!1,category:"objects"},nazar_amulet:{keywords:["bead","charm"],char:"\u{1f9ff}",fitzpatrick_scale:!1,category:"objects"},barber:{keywords:["hair","salon","style"],char:"\u{1f488}",fitzpatrick_scale:!1,category:"objects"},alembic:{keywords:["distilling","science","experiment","chemistry"],char:"\u2697",fitzpatrick_scale:!1,category:"objects"},telescope:{keywords:["stars","space","zoom","science","astronomy"],char:"\u{1f52d}",fitzpatrick_scale:!1,category:"objects"},microscope:{keywords:["laboratory","experiment","zoomin","science","study"],char:"\u{1f52c}",fitzpatrick_scale:!1,category:"objects"},hole:{keywords:["embarrassing"],char:"\u{1f573}",fitzpatrick_scale:!1,category:"objects"},pill:{keywords:["health","medicine","doctor","pharmacy","drug"],char:"\u{1f48a}",fitzpatrick_scale:!1,category:"objects"},syringe:{keywords:["health","hospital","drugs","blood","medicine","needle","doctor","nurse"],char:"\u{1f489}",fitzpatrick_scale:!1,category:"objects"},dna:{keywords:["biologist","genetics","life"],char:"\u{1f9ec}",fitzpatrick_scale:!1,category:"objects"},microbe:{keywords:["amoeba","bacteria","germs"],char:"\u{1f9a0}",fitzpatrick_scale:!1,category:"objects"},petri_dish:{keywords:["bacteria","biology","culture","lab"],char:"\u{1f9eb}",fitzpatrick_scale:!1,category:"objects"},test_tube:{keywords:["chemistry","experiment","lab","science"],char:"\u{1f9ea}",fitzpatrick_scale:!1,category:"objects"},thermometer:{keywords:["weather","temperature","hot","cold"],char:"\u{1f321}",fitzpatrick_scale:!1,category:"objects"},broom:{keywords:["cleaning","sweeping","witch"],char:"\u{1f9f9}",fitzpatrick_scale:!1,category:"objects"},basket:{keywords:["laundry"],char:"\u{1f9fa}",fitzpatrick_scale:!1,category:"objects"},toilet_paper:{keywords:["roll"],char:"\u{1f9fb}",fitzpatrick_scale:!1,category:"objects"},label:{keywords:["sale","tag"],char:"\u{1f3f7}",fitzpatrick_scale:!1,category:"objects"},bookmark:{keywords:["favorite","label","save"],char:"\u{1f516}",fitzpatrick_scale:!1,category:"objects"},toilet:{keywords:["restroom","wc","washroom","bathroom","potty"],char:"\u{1f6bd}",fitzpatrick_scale:!1,category:"objects"},shower:{keywords:["clean","water","bathroom"],char:"\u{1f6bf}",fitzpatrick_scale:!1,category:"objects"},bathtub:{keywords:["clean","shower","bathroom"],char:"\u{1f6c1}",fitzpatrick_scale:!1,category:"objects"},soap:{keywords:["bar","bathing","cleaning","lather"],char:"\u{1f9fc}",fitzpatrick_scale:!1,category:"objects"},sponge:{keywords:["absorbing","cleaning","porous"],char:"\u{1f9fd}",fitzpatrick_scale:!1,category:"objects"},lotion_bottle:{keywords:["moisturizer","sunscreen"],char:"\u{1f9f4}",fitzpatrick_scale:!1,category:"objects"},key:{keywords:["lock","door","password"],char:"\u{1f511}",fitzpatrick_scale:!1,category:"objects"},old_key:{keywords:["lock","door","password"],char:"\u{1f5dd}",fitzpatrick_scale:!1,category:"objects"},couch_and_lamp:{keywords:["read","chill"],char:"\u{1f6cb}",fitzpatrick_scale:!1,category:"objects"},sleeping_bed:{keywords:["bed","rest"],char:"\u{1f6cc}",fitzpatrick_scale:!0,category:"objects"},bed:{keywords:["sleep","rest"],char:"\u{1f6cf}",fitzpatrick_scale:!1,category:"objects"},door:{keywords:["house","entry","exit"],char:"\u{1f6aa}",fitzpatrick_scale:!1,category:"objects"},bellhop_bell:{keywords:["service"],char:"\u{1f6ce}",fitzpatrick_scale:!1,category:"objects"},teddy_bear:{keywords:["plush","stuffed"],char:"\u{1f9f8}",fitzpatrick_scale:!1,category:"objects"},framed_picture:{keywords:["photography"],char:"\u{1f5bc}",fitzpatrick_scale:!1,category:"objects"},world_map:{keywords:["location","direction"],char:"\u{1f5fa}",fitzpatrick_scale:!1,category:"objects"},parasol_on_ground:{keywords:["weather","summer"],char:"\u26f1",fitzpatrick_scale:!1,category:"objects"},moyai:{keywords:["rock","easter island","moai"],char:"\u{1f5ff}",fitzpatrick_scale:!1,category:"objects"},shopping:{keywords:["mall","buy","purchase"],char:"\u{1f6cd}",fitzpatrick_scale:!1,category:"objects"},shopping_cart:{keywords:["trolley"],char:"\u{1f6d2}",fitzpatrick_scale:!1,category:"objects"},balloon:{keywords:["party","celebration","birthday","circus"],char:"\u{1f388}",fitzpatrick_scale:!1,category:"objects"},flags:{keywords:["fish","japanese","koinobori","carp","banner"],char:"\u{1f38f}",fitzpatrick_scale:!1,category:"objects"},ribbon:{keywords:["decoration","pink","girl","bowtie"],char:"\u{1f380}",fitzpatrick_scale:!1,category:"objects"},gift:{keywords:["present","birthday","christmas","xmas"],char:"\u{1f381}",fitzpatrick_scale:!1,category:"objects"},confetti_ball:{keywords:["festival","party","birthday","circus"],char:"\u{1f38a}",fitzpatrick_scale:!1,category:"objects"},tada:{keywords:["party","congratulations","birthday","magic","circus","celebration"],char:"\u{1f389}",fitzpatrick_scale:!1,category:"objects"},dolls:{keywords:["japanese","toy","kimono"],char:"\u{1f38e}",fitzpatrick_scale:!1,category:"objects"},wind_chime:{keywords:["nature","ding","spring","bell"],char:"\u{1f390}",fitzpatrick_scale:!1,category:"objects"},crossed_flags:{keywords:["japanese","nation","country","border"],char:"\u{1f38c}",fitzpatrick_scale:!1,category:"objects"},izakaya_lantern:{keywords:["light","paper","halloween","spooky"],char:"\u{1f3ee}",fitzpatrick_scale:!1,category:"objects"},red_envelope:{keywords:["gift"],char:"\u{1f9e7}",fitzpatrick_scale:!1,category:"objects"},email:{keywords:["letter","postal","inbox","communication"],char:"\u2709\ufe0f",fitzpatrick_scale:!1,category:"objects"},envelope_with_arrow:{keywords:["email","communication"],char:"\u{1f4e9}",fitzpatrick_scale:!1,category:"objects"},incoming_envelope:{keywords:["email","inbox"],char:"\u{1f4e8}",fitzpatrick_scale:!1,category:"objects"},"e-mail":{keywords:["communication","inbox"],char:"\u{1f4e7}",fitzpatrick_scale:!1,category:"objects"},love_letter:{keywords:["email","like","affection","envelope","valentines"],char:"\u{1f48c}",fitzpatrick_scale:!1,category:"objects"},postbox:{keywords:["email","letter","envelope"],char:"\u{1f4ee}",fitzpatrick_scale:!1,category:"objects"},mailbox_closed:{keywords:["email","communication","inbox"],char:"\u{1f4ea}",fitzpatrick_scale:!1,category:"objects"},mailbox:{keywords:["email","inbox","communication"],char:"\u{1f4eb}",fitzpatrick_scale:!1,category:"objects"},mailbox_with_mail:{keywords:["email","inbox","communication"],char:"\u{1f4ec}",fitzpatrick_scale:!1,category:"objects"},mailbox_with_no_mail:{keywords:["email","inbox"],char:"\u{1f4ed}",fitzpatrick_scale:!1,category:"objects"},package:{keywords:["mail","gift","cardboard","box","moving"],char:"\u{1f4e6}",fitzpatrick_scale:!1,category:"objects"},postal_horn:{keywords:["instrument","music"],char:"\u{1f4ef}",fitzpatrick_scale:!1,category:"objects"},inbox_tray:{keywords:["email","documents"],char:"\u{1f4e5}",fitzpatrick_scale:!1,category:"objects"},outbox_tray:{keywords:["inbox","email"],char:"\u{1f4e4}",fitzpatrick_scale:!1,category:"objects"},scroll:{keywords:["documents","ancient","history","paper"],char:"\u{1f4dc}",fitzpatrick_scale:!1,category:"objects"},page_with_curl:{keywords:["documents","office","paper"],char:"\u{1f4c3}",fitzpatrick_scale:!1,category:"objects"},bookmark_tabs:{keywords:["favorite","save","order","tidy"],char:"\u{1f4d1}",fitzpatrick_scale:!1,category:"objects"},receipt:{keywords:["accounting","expenses"],char:"\u{1f9fe}",fitzpatrick_scale:!1,category:"objects"},bar_chart:{keywords:["graph","presentation","stats"],char:"\u{1f4ca}",fitzpatrick_scale:!1,category:"objects"},chart_with_upwards_trend:{keywords:["graph","presentation","stats","recovery","business","economics","money","sales","good","success"],char:"\u{1f4c8}",fitzpatrick_scale:!1,category:"objects"},chart_with_downwards_trend:{keywords:["graph","presentation","stats","recession","business","economics","money","sales","bad","failure"],char:"\u{1f4c9}",fitzpatrick_scale:!1,category:"objects"},page_facing_up:{keywords:["documents","office","paper","information"],char:"\u{1f4c4}",fitzpatrick_scale:!1,category:"objects"},date:{keywords:["calendar","schedule"],char:"\u{1f4c5}",fitzpatrick_scale:!1,category:"objects"},calendar:{keywords:["schedule","date","planning"],char:"\u{1f4c6}",fitzpatrick_scale:!1,category:"objects"},spiral_calendar:{keywords:["date","schedule","planning"],char:"\u{1f5d3}",fitzpatrick_scale:!1,category:"objects"},card_index:{keywords:["business","stationery"],char:"\u{1f4c7}",fitzpatrick_scale:!1,category:"objects"},card_file_box:{keywords:["business","stationery"],char:"\u{1f5c3}",fitzpatrick_scale:!1,category:"objects"},ballot_box:{keywords:["election","vote"],char:"\u{1f5f3}",fitzpatrick_scale:!1,category:"objects"},file_cabinet:{keywords:["filing","organizing"],char:"\u{1f5c4}",fitzpatrick_scale:!1,category:"objects"},clipboard:{keywords:["stationery","documents"],char:"\u{1f4cb}",fitzpatrick_scale:!1,category:"objects"},spiral_notepad:{keywords:["memo","stationery"],char:"\u{1f5d2}",fitzpatrick_scale:!1,category:"objects"},file_folder:{keywords:["documents","business","office"],char:"\u{1f4c1}",fitzpatrick_scale:!1,category:"objects"},open_file_folder:{keywords:["documents","load"],char:"\u{1f4c2}",fitzpatrick_scale:!1,category:"objects"},card_index_dividers:{keywords:["organizing","business","stationery"],char:"\u{1f5c2}",fitzpatrick_scale:!1,category:"objects"},newspaper_roll:{keywords:["press","headline"],char:"\u{1f5de}",fitzpatrick_scale:!1,category:"objects"},newspaper:{keywords:["press","headline"],char:"\u{1f4f0}",fitzpatrick_scale:!1,category:"objects"},notebook:{keywords:["stationery","record","notes","paper","study"],char:"\u{1f4d3}",fitzpatrick_scale:!1,category:"objects"},closed_book:{keywords:["read","library","knowledge","textbook","learn"],char:"\u{1f4d5}",fitzpatrick_scale:!1,category:"objects"},green_book:{keywords:["read","library","knowledge","study"],char:"\u{1f4d7}",fitzpatrick_scale:!1,category:"objects"},blue_book:{keywords:["read","library","knowledge","learn","study"],char:"\u{1f4d8}",fitzpatrick_scale:!1,category:"objects"},orange_book:{keywords:["read","library","knowledge","textbook","study"],char:"\u{1f4d9}",fitzpatrick_scale:!1,category:"objects"},notebook_with_decorative_cover:{keywords:["classroom","notes","record","paper","study"],char:"\u{1f4d4}",fitzpatrick_scale:!1,category:"objects"},ledger:{keywords:["notes","paper"],char:"\u{1f4d2}",fitzpatrick_scale:!1,category:"objects"},books:{keywords:["literature","library","study"],char:"\u{1f4da}",fitzpatrick_scale:!1,category:"objects"},open_book:{keywords:["book","read","library","knowledge","literature","learn","study"],char:"\u{1f4d6}",fitzpatrick_scale:!1,category:"objects"},safety_pin:{keywords:["diaper"],char:"\u{1f9f7}",fitzpatrick_scale:!1,category:"objects"},link:{keywords:["rings","url"],char:"\u{1f517}",fitzpatrick_scale:!1,category:"objects"},paperclip:{keywords:["documents","stationery"],char:"\u{1f4ce}",fitzpatrick_scale:!1,category:"objects"},paperclips:{keywords:["documents","stationery"],char:"\u{1f587}",fitzpatrick_scale:!1,category:"objects"},scissors:{keywords:["stationery","cut"],char:"\u2702\ufe0f",fitzpatrick_scale:!1,category:"objects"},triangular_ruler:{keywords:["stationery","math","architect","sketch"],char:"\u{1f4d0}",fitzpatrick_scale:!1,category:"objects"},straight_ruler:{keywords:["stationery","calculate","length","math","school","drawing","architect","sketch"],char:"\u{1f4cf}",fitzpatrick_scale:!1,category:"objects"},abacus:{keywords:["calculation"],char:"\u{1f9ee}",fitzpatrick_scale:!1,category:"objects"},pushpin:{keywords:["stationery","mark","here"],char:"\u{1f4cc}",fitzpatrick_scale:!1,category:"objects"},round_pushpin:{keywords:["stationery","location","map","here"],char:"\u{1f4cd}",fitzpatrick_scale:!1,category:"objects"},triangular_flag_on_post:{keywords:["mark","milestone","place"],char:"\u{1f6a9}",fitzpatrick_scale:!1,category:"objects"},white_flag:{keywords:["losing","loser","lost","surrender","give up","fail"],char:"\u{1f3f3}",fitzpatrick_scale:!1,category:"objects"},black_flag:{keywords:["pirate"],char:"\u{1f3f4}",fitzpatrick_scale:!1,category:"objects"},rainbow_flag:{keywords:["flag","rainbow","pride","gay","lgbt","glbt","queer","homosexual","lesbian","bisexual","transgender"],char:"\u{1f3f3}\ufe0f\u200d\u{1f308}",fitzpatrick_scale:!1,category:"objects"},closed_lock_with_key:{keywords:["security","privacy"],char:"\u{1f510}",fitzpatrick_scale:!1,category:"objects"},lock:{keywords:["security","password","padlock"],char:"\u{1f512}",fitzpatrick_scale:!1,category:"objects"},unlock:{keywords:["privacy","security"],char:"\u{1f513}",fitzpatrick_scale:!1,category:"objects"},lock_with_ink_pen:{keywords:["security","secret"],char:"\u{1f50f}",fitzpatrick_scale:!1,category:"objects"},pen:{keywords:["stationery","writing","write"],char:"\u{1f58a}",fitzpatrick_scale:!1,category:"objects"},fountain_pen:{keywords:["stationery","writing","write"],char:"\u{1f58b}",fitzpatrick_scale:!1,category:"objects"},black_nib:{keywords:["pen","stationery","writing","write"],char:"\u2712\ufe0f",fitzpatrick_scale:!1,category:"objects"},memo:{keywords:["write","documents","stationery","pencil","paper","writing","legal","exam","quiz","test","study","compose"],char:"\u{1f4dd}",fitzpatrick_scale:!1,category:"objects"},pencil2:{keywords:["stationery","write","paper","writing","school","study"],char:"\u270f\ufe0f",fitzpatrick_scale:!1,category:"objects"},crayon:{keywords:["drawing","creativity"],char:"\u{1f58d}",fitzpatrick_scale:!1,category:"objects"},paintbrush:{keywords:["drawing","creativity","art"],char:"\u{1f58c}",fitzpatrick_scale:!1,category:"objects"},mag:{keywords:["search","zoom","find","detective"],char:"\u{1f50d}",fitzpatrick_scale:!1,category:"objects"},mag_right:{keywords:["search","zoom","find","detective"],char:"\u{1f50e}",fitzpatrick_scale:!1,category:"objects"},heart:{keywords:["love","like","valentines"],char:"\u2764\ufe0f",fitzpatrick_scale:!1,category:"symbols"},orange_heart:{keywords:["love","like","affection","valentines"],char:"\u{1f9e1}",fitzpatrick_scale:!1,category:"symbols"},yellow_heart:{keywords:["love","like","affection","valentines"],char:"\u{1f49b}",fitzpatrick_scale:!1,category:"symbols"},green_heart:{keywords:["love","like","affection","valentines"],char:"\u{1f49a}",fitzpatrick_scale:!1,category:"symbols"},blue_heart:{keywords:["love","like","affection","valentines"],char:"\u{1f499}",fitzpatrick_scale:!1,category:"symbols"},purple_heart:{keywords:["love","like","affection","valentines"],char:"\u{1f49c}",fitzpatrick_scale:!1,category:"symbols"},black_heart:{keywords:["evil"],char:"\u{1f5a4}",fitzpatrick_scale:!1,category:"symbols"},broken_heart:{keywords:["sad","sorry","break","heart","heartbreak"],char:"\u{1f494}",fitzpatrick_scale:!1,category:"symbols"},heavy_heart_exclamation:{keywords:["decoration","love"],char:"\u2763",fitzpatrick_scale:!1,category:"symbols"},two_hearts:{keywords:["love","like","affection","valentines","heart"],char:"\u{1f495}",fitzpatrick_scale:!1,category:"symbols"},revolving_hearts:{keywords:["love","like","affection","valentines"],char:"\u{1f49e}",fitzpatrick_scale:!1,category:"symbols"},heartbeat:{keywords:["love","like","affection","valentines","pink","heart"],char:"\u{1f493}",fitzpatrick_scale:!1,category:"symbols"},heartpulse:{keywords:["like","love","affection","valentines","pink"],char:"\u{1f497}",fitzpatrick_scale:!1,category:"symbols"},sparkling_heart:{keywords:["love","like","affection","valentines"],char:"\u{1f496}",fitzpatrick_scale:!1,category:"symbols"},cupid:{keywords:["love","like","heart","affection","valentines"],char:"\u{1f498}",fitzpatrick_scale:!1,category:"symbols"},gift_heart:{keywords:["love","valentines"],char:"\u{1f49d}",fitzpatrick_scale:!1,category:"symbols"},heart_decoration:{keywords:["purple-square","love","like"],char:"\u{1f49f}",fitzpatrick_scale:!1,category:"symbols"},peace_symbol:{keywords:["hippie"],char:"\u262e",fitzpatrick_scale:!1,category:"symbols"},latin_cross:{keywords:["christianity"],char:"\u271d",fitzpatrick_scale:!1,category:"symbols"},star_and_crescent:{keywords:["islam"],char:"\u262a",fitzpatrick_scale:!1,category:"symbols"},om:{keywords:["hinduism","buddhism","sikhism","jainism"],char:"\u{1f549}",fitzpatrick_scale:!1,category:"symbols"},wheel_of_dharma:{keywords:["hinduism","buddhism","sikhism","jainism"],char:"\u2638",fitzpatrick_scale:!1,category:"symbols"},star_of_david:{keywords:["judaism"],char:"\u2721",fitzpatrick_scale:!1,category:"symbols"},six_pointed_star:{keywords:["purple-square","religion","jewish","hexagram"],char:"\u{1f52f}",fitzpatrick_scale:!1,category:"symbols"},menorah:{keywords:["hanukkah","candles","jewish"],char:"\u{1f54e}",fitzpatrick_scale:!1,category:"symbols"},yin_yang:{keywords:["balance"],char:"\u262f",fitzpatrick_scale:!1,category:"symbols"},orthodox_cross:{keywords:["suppedaneum","religion"],char:"\u2626",fitzpatrick_scale:!1,category:"symbols"},place_of_worship:{keywords:["religion","church","temple","prayer"],char:"\u{1f6d0}",fitzpatrick_scale:!1,category:"symbols"},ophiuchus:{keywords:["sign","purple-square","constellation","astrology"],char:"\u26ce",fitzpatrick_scale:!1,category:"symbols"},aries:{keywords:["sign","purple-square","zodiac","astrology"],char:"\u2648",fitzpatrick_scale:!1,category:"symbols"},taurus:{keywords:["purple-square","sign","zodiac","astrology"],char:"\u2649",fitzpatrick_scale:!1,category:"symbols"},gemini:{keywords:["sign","zodiac","purple-square","astrology"],char:"\u264a",fitzpatrick_scale:!1,category:"symbols"},cancer:{keywords:["sign","zodiac","purple-square","astrology"],char:"\u264b",fitzpatrick_scale:!1,category:"symbols"},leo:{keywords:["sign","purple-square","zodiac","astrology"],char:"\u264c",fitzpatrick_scale:!1,category:"symbols"},virgo:{keywords:["sign","zodiac","purple-square","astrology"],char:"\u264d",fitzpatrick_scale:!1,category:"symbols"},libra:{keywords:["sign","purple-square","zodiac","astrology"],char:"\u264e",fitzpatrick_scale:!1,category:"symbols"},scorpius:{keywords:["sign","zodiac","purple-square","astrology","scorpio"],char:"\u264f",fitzpatrick_scale:!1,category:"symbols"},sagittarius:{keywords:["sign","zodiac","purple-square","astrology"],char:"\u2650",fitzpatrick_scale:!1,category:"symbols"},capricorn:{keywords:["sign","zodiac","purple-square","astrology"],char:"\u2651",fitzpatrick_scale:!1,category:"symbols"},aquarius:{keywords:["sign","purple-square","zodiac","astrology"],char:"\u2652",fitzpatrick_scale:!1,category:"symbols"},pisces:{keywords:["purple-square","sign","zodiac","astrology"],char:"\u2653",fitzpatrick_scale:!1,category:"symbols"},id:{keywords:["purple-square","words"],char:"\u{1f194}",fitzpatrick_scale:!1,category:"symbols"},atom_symbol:{keywords:["science","physics","chemistry"],char:"\u269b",fitzpatrick_scale:!1,category:"symbols"},u7a7a:{keywords:["kanji","japanese","chinese","empty","sky","blue-square"],char:"\u{1f233}",fitzpatrick_scale:!1,category:"symbols"},u5272:{keywords:["cut","divide","chinese","kanji","pink-square"],char:"\u{1f239}",fitzpatrick_scale:!1,category:"symbols"},radioactive:{keywords:["nuclear","danger"],char:"\u2622",fitzpatrick_scale:!1,category:"symbols"},biohazard:{keywords:["danger"],char:"\u2623",fitzpatrick_scale:!1,category:"symbols"},mobile_phone_off:{keywords:["mute","orange-square","silence","quiet"],char:"\u{1f4f4}",fitzpatrick_scale:!1,category:"symbols"},vibration_mode:{keywords:["orange-square","phone"],char:"\u{1f4f3}",fitzpatrick_scale:!1,category:"symbols"},u6709:{keywords:["orange-square","chinese","have","kanji"],char:"\u{1f236}",fitzpatrick_scale:!1,category:"symbols"},u7121:{keywords:["nothing","chinese","kanji","japanese","orange-square"],char:"\u{1f21a}",fitzpatrick_scale:!1,category:"symbols"},u7533:{keywords:["chinese","japanese","kanji","orange-square"],char:"\u{1f238}",fitzpatrick_scale:!1,category:"symbols"},u55b6:{keywords:["japanese","opening hours","orange-square"],char:"\u{1f23a}",fitzpatrick_scale:!1,category:"symbols"},u6708:{keywords:["chinese","month","moon","japanese","orange-square","kanji"],char:"\u{1f237}\ufe0f",fitzpatrick_scale:!1,category:"symbols"},eight_pointed_black_star:{keywords:["orange-square","shape","polygon"],char:"\u2734\ufe0f",fitzpatrick_scale:!1,category:"symbols"},vs:{keywords:["words","orange-square"],char:"\u{1f19a}",fitzpatrick_scale:!1,category:"symbols"},accept:{keywords:["ok","good","chinese","kanji","agree","yes","orange-circle"],char:"\u{1f251}",fitzpatrick_scale:!1,category:"symbols"},white_flower:{keywords:["japanese","spring"],char:"\u{1f4ae}",fitzpatrick_scale:!1,category:"symbols"},ideograph_advantage:{keywords:["chinese","kanji","obtain","get","circle"],char:"\u{1f250}",fitzpatrick_scale:!1,category:"symbols"},secret:{keywords:["privacy","chinese","sshh","kanji","red-circle"],char:"\u3299\ufe0f",fitzpatrick_scale:!1,category:"symbols"},congratulations:{keywords:["chinese","kanji","japanese","red-circle"],char:"\u3297\ufe0f",fitzpatrick_scale:!1,category:"symbols"},u5408:{keywords:["japanese","chinese","join","kanji","red-square"],char:"\u{1f234}",fitzpatrick_scale:!1,category:"symbols"},u6e80:{keywords:["full","chinese","japanese","red-square","kanji"],char:"\u{1f235}",fitzpatrick_scale:!1,category:"symbols"},u7981:{keywords:["kanji","japanese","chinese","forbidden","limit","restricted","red-square"],char:"\u{1f232}",fitzpatrick_scale:!1,category:"symbols"},a:{keywords:["red-square","alphabet","letter"],char:"\u{1f170}\ufe0f",fitzpatrick_scale:!1,category:"symbols"},b:{keywords:["red-square","alphabet","letter"],char:"\u{1f171}\ufe0f",fitzpatrick_scale:!1,category:"symbols"},ab:{keywords:["red-square","alphabet"],char:"\u{1f18e}",fitzpatrick_scale:!1,category:"symbols"},cl:{keywords:["alphabet","words","red-square"],char:"\u{1f191}",fitzpatrick_scale:!1,category:"symbols"},o2:{keywords:["alphabet","red-square","letter"],char:"\u{1f17e}\ufe0f",fitzpatrick_scale:!1,category:"symbols"},sos:{keywords:["help","red-square","words","emergency","911"],char:"\u{1f198}",fitzpatrick_scale:!1,category:"symbols"},no_entry:{keywords:["limit","security","privacy","bad","denied","stop","circle"],char:"\u26d4",fitzpatrick_scale:!1,category:"symbols"},name_badge:{keywords:["fire","forbid"],char:"\u{1f4db}",fitzpatrick_scale:!1,category:"symbols"},no_entry_sign:{keywords:["forbid","stop","limit","denied","disallow","circle"],char:"\u{1f6ab}",fitzpatrick_scale:!1,category:"symbols"},x:{keywords:["no","delete","remove","cancel","red"],char:"\u274c",fitzpatrick_scale:!1,category:"symbols"},o:{keywords:["circle","round"],char:"\u2b55",fitzpatrick_scale:!1,category:"symbols"},stop_sign:{keywords:["stop"],char:"\u{1f6d1}",fitzpatrick_scale:!1,category:"symbols"},anger:{keywords:["angry","mad"],char:"\u{1f4a2}",fitzpatrick_scale:!1,category:"symbols"},hotsprings:{keywords:["bath","warm","relax"],char:"\u2668\ufe0f",fitzpatrick_scale:!1,category:"symbols"},no_pedestrians:{keywords:["rules","crossing","walking","circle"],char:"\u{1f6b7}",fitzpatrick_scale:!1,category:"symbols"},do_not_litter:{keywords:["trash","bin","garbage","circle"],char:"\u{1f6af}",fitzpatrick_scale:!1,category:"symbols"},no_bicycles:{keywords:["cyclist","prohibited","circle"],char:"\u{1f6b3}",fitzpatrick_scale:!1,category:"symbols"},"non-potable_water":{keywords:["drink","faucet","tap","circle"],char:"\u{1f6b1}",fitzpatrick_scale:!1,category:"symbols"},underage:{keywords:["18","drink","pub","night","minor","circle"],char:"\u{1f51e}",fitzpatrick_scale:!1,category:"symbols"},no_mobile_phones:{keywords:["iphone","mute","circle"],char:"\u{1f4f5}",fitzpatrick_scale:!1,category:"symbols"},exclamation:{keywords:["heavy_exclamation_mark","danger","surprise","punctuation","wow","warning"],char:"\u2757",fitzpatrick_scale:!1,category:"symbols"},grey_exclamation:{keywords:["surprise","punctuation","gray","wow","warning"],char:"\u2755",fitzpatrick_scale:!1,category:"symbols"},question:{keywords:["doubt","confused"],char:"\u2753",fitzpatrick_scale:!1,category:"symbols"},grey_question:{keywords:["doubts","gray","huh","confused"],char:"\u2754",fitzpatrick_scale:!1,category:"symbols"},bangbang:{keywords:["exclamation","surprise"],char:"\u203c\ufe0f",fitzpatrick_scale:!1,category:"symbols"},interrobang:{keywords:["wat","punctuation","surprise"],char:"\u2049\ufe0f",fitzpatrick_scale:!1,category:"symbols"},100:{keywords:["score","perfect","numbers","century","exam","quiz","test","pass","hundred"],char:"\u{1f4af}",fitzpatrick_scale:!1,category:"symbols"},low_brightness:{keywords:["sun","afternoon","warm","summer"],char:"\u{1f505}",fitzpatrick_scale:!1,category:"symbols"},high_brightness:{keywords:["sun","light"],char:"\u{1f506}",fitzpatrick_scale:!1,category:"symbols"},trident:{keywords:["weapon","spear"],char:"\u{1f531}",fitzpatrick_scale:!1,category:"symbols"},fleur_de_lis:{keywords:["decorative","scout"],char:"\u269c",fitzpatrick_scale:!1,category:"symbols"},part_alternation_mark:{keywords:["graph","presentation","stats","business","economics","bad"],char:"\u303d\ufe0f",fitzpatrick_scale:!1,category:"symbols"},warning:{keywords:["exclamation","wip","alert","error","problem","issue"],char:"\u26a0\ufe0f",fitzpatrick_scale:!1,category:"symbols"},children_crossing:{keywords:["school","warning","danger","sign","driving","yellow-diamond"],char:"\u{1f6b8}",fitzpatrick_scale:!1,category:"symbols"},beginner:{keywords:["badge","shield"],char:"\u{1f530}",fitzpatrick_scale:!1,category:"symbols"},recycle:{keywords:["arrow","environment","garbage","trash"],char:"\u267b\ufe0f",fitzpatrick_scale:!1,category:"symbols"},u6307:{keywords:["chinese","point","green-square","kanji"],char:"\u{1f22f}",fitzpatrick_scale:!1,category:"symbols"},chart:{keywords:["green-square","graph","presentation","stats"],char:"\u{1f4b9}",fitzpatrick_scale:!1,category:"symbols"},sparkle:{keywords:["stars","green-square","awesome","good","fireworks"],char:"\u2747\ufe0f",fitzpatrick_scale:!1,category:"symbols"},eight_spoked_asterisk:{keywords:["star","sparkle","green-square"],char:"\u2733\ufe0f",fitzpatrick_scale:!1,category:"symbols"},negative_squared_cross_mark:{keywords:["x","green-square","no","deny"],char:"\u274e",fitzpatrick_scale:!1,category:"symbols"},white_check_mark:{keywords:["green-square","ok","agree","vote","election","answer","tick"],char:"\u2705",fitzpatrick_scale:!1,category:"symbols"},diamond_shape_with_a_dot_inside:{keywords:["jewel","blue","gem","crystal","fancy"],char:"\u{1f4a0}",fitzpatrick_scale:!1,category:"symbols"},cyclone:{keywords:["weather","swirl","blue","cloud","vortex","spiral","whirlpool","spin","tornado","hurricane","typhoon"],char:"\u{1f300}",fitzpatrick_scale:!1,category:"symbols"},loop:{keywords:["tape","cassette"],char:"\u27bf",fitzpatrick_scale:!1,category:"symbols"},globe_with_meridians:{keywords:["earth","international","world","internet","interweb","i18n"],char:"\u{1f310}",fitzpatrick_scale:!1,category:"symbols"},m:{keywords:["alphabet","blue-circle","letter"],char:"\u24c2\ufe0f",fitzpatrick_scale:!1,category:"symbols"},atm:{keywords:["money","sales","cash","blue-square","payment","bank"],char:"\u{1f3e7}",fitzpatrick_scale:!1,category:"symbols"},sa:{keywords:["japanese","blue-square","katakana"],char:"\u{1f202}\ufe0f",fitzpatrick_scale:!1,category:"symbols"},passport_control:{keywords:["custom","blue-square"],char:"\u{1f6c2}",fitzpatrick_scale:!1,category:"symbols"},customs:{keywords:["passport","border","blue-square"],char:"\u{1f6c3}",fitzpatrick_scale:!1,category:"symbols"},baggage_claim:{keywords:["blue-square","airport","transport"],char:"\u{1f6c4}",fitzpatrick_scale:!1,category:"symbols"},left_luggage:{keywords:["blue-square","travel"],char:"\u{1f6c5}",fitzpatrick_scale:!1,category:"symbols"},wheelchair:{keywords:["blue-square","disabled","a11y","accessibility"],char:"\u267f",fitzpatrick_scale:!1,category:"symbols"},no_smoking:{keywords:["cigarette","blue-square","smell","smoke"],char:"\u{1f6ad}",fitzpatrick_scale:!1,category:"symbols"},wc:{keywords:["toilet","restroom","blue-square"],char:"\u{1f6be}",fitzpatrick_scale:!1,category:"symbols"},parking:{keywords:["cars","blue-square","alphabet","letter"],char:"\u{1f17f}\ufe0f",fitzpatrick_scale:!1,category:"symbols"},potable_water:{keywords:["blue-square","liquid","restroom","cleaning","faucet"],char:"\u{1f6b0}",fitzpatrick_scale:!1,category:"symbols"},mens:{keywords:["toilet","restroom","wc","blue-square","gender","male"],char:"\u{1f6b9}",fitzpatrick_scale:!1,category:"symbols"},womens:{keywords:["purple-square","woman","female","toilet","loo","restroom","gender"],char:"\u{1f6ba}",fitzpatrick_scale:!1,category:"symbols"},baby_symbol:{keywords:["orange-square","child"],char:"\u{1f6bc}",fitzpatrick_scale:!1,category:"symbols"},restroom:{keywords:["blue-square","toilet","refresh","wc","gender"],char:"\u{1f6bb}",fitzpatrick_scale:!1,category:"symbols"},put_litter_in_its_place:{keywords:["blue-square","sign","human","info"],char:"\u{1f6ae}",fitzpatrick_scale:!1,category:"symbols"},cinema:{keywords:["blue-square","record","film","movie","curtain","stage","theater"],char:"\u{1f3a6}",fitzpatrick_scale:!1,category:"symbols"},signal_strength:{keywords:["blue-square","reception","phone","internet","connection","wifi","bluetooth","bars"],char:"\u{1f4f6}",fitzpatrick_scale:!1,category:"symbols"},koko:{keywords:["blue-square","here","katakana","japanese","destination"],char:"\u{1f201}",fitzpatrick_scale:!1,category:"symbols"},ng:{keywords:["blue-square","words","shape","icon"],char:"\u{1f196}",fitzpatrick_scale:!1,category:"symbols"},ok:{keywords:["good","agree","yes","blue-square"],char:"\u{1f197}",fitzpatrick_scale:!1,category:"symbols"},up:{keywords:["blue-square","above","high"],char:"\u{1f199}",fitzpatrick_scale:!1,category:"symbols"},cool:{keywords:["words","blue-square"],char:"\u{1f192}",fitzpatrick_scale:!1,category:"symbols"},new:{keywords:["blue-square","words","start"],char:"\u{1f195}",fitzpatrick_scale:!1,category:"symbols"},free:{keywords:["blue-square","words"],char:"\u{1f193}",fitzpatrick_scale:!1,category:"symbols"},zero:{keywords:["0","numbers","blue-square","null"],char:"0\ufe0f\u20e3",fitzpatrick_scale:!1,category:"symbols"},one:{keywords:["blue-square","numbers","1"],char:"1\ufe0f\u20e3",fitzpatrick_scale:!1,category:"symbols"},two:{keywords:["numbers","2","prime","blue-square"],char:"2\ufe0f\u20e3",fitzpatrick_scale:!1,category:"symbols"},three:{keywords:["3","numbers","prime","blue-square"],char:"3\ufe0f\u20e3",fitzpatrick_scale:!1,category:"symbols"},four:{keywords:["4","numbers","blue-square"],char:"4\ufe0f\u20e3",fitzpatrick_scale:!1,category:"symbols"},five:{keywords:["5","numbers","blue-square","prime"],char:"5\ufe0f\u20e3",fitzpatrick_scale:!1,category:"symbols"},six:{keywords:["6","numbers","blue-square"],char:"6\ufe0f\u20e3",fitzpatrick_scale:!1,category:"symbols"},seven:{keywords:["7","numbers","blue-square","prime"],char:"7\ufe0f\u20e3",fitzpatrick_scale:!1,category:"symbols"},eight:{keywords:["8","blue-square","numbers"],char:"8\ufe0f\u20e3",fitzpatrick_scale:!1,category:"symbols"},nine:{keywords:["blue-square","numbers","9"],char:"9\ufe0f\u20e3",fitzpatrick_scale:!1,category:"symbols"},keycap_ten:{keywords:["numbers","10","blue-square"],char:"\u{1f51f}",fitzpatrick_scale:!1,category:"symbols"},asterisk:{keywords:["star","keycap"],char:"*\u20e3",fitzpatrick_scale:!1,category:"symbols"},1234:{keywords:["numbers","blue-square"],char:"\u{1f522}",fitzpatrick_scale:!1,category:"symbols"},eject_button:{keywords:["blue-square"],char:"\u23cf\ufe0f",fitzpatrick_scale:!1,category:"symbols"},arrow_forward:{keywords:["blue-square","right","direction","play"],char:"\u25b6\ufe0f",fitzpatrick_scale:!1,category:"symbols"},pause_button:{keywords:["pause","blue-square"],char:"\u23f8",fitzpatrick_scale:!1,category:"symbols"},next_track_button:{keywords:["forward","next","blue-square"],char:"\u23ed",fitzpatrick_scale:!1,category:"symbols"},stop_button:{keywords:["blue-square"],char:"\u23f9",fitzpatrick_scale:!1,category:"symbols"},record_button:{keywords:["blue-square"],char:"\u23fa",fitzpatrick_scale:!1,category:"symbols"},play_or_pause_button:{keywords:["blue-square","play","pause"],char:"\u23ef",fitzpatrick_scale:!1,category:"symbols"},previous_track_button:{keywords:["backward"],char:"\u23ee",fitzpatrick_scale:!1,category:"symbols"},fast_forward:{keywords:["blue-square","play","speed","continue"],char:"\u23e9",fitzpatrick_scale:!1,category:"symbols"},rewind:{keywords:["play","blue-square"],char:"\u23ea",fitzpatrick_scale:!1,category:"symbols"},twisted_rightwards_arrows:{keywords:["blue-square","shuffle","music","random"],char:"\u{1f500}",fitzpatrick_scale:!1,category:"symbols"},repeat:{keywords:["loop","record"],char:"\u{1f501}",fitzpatrick_scale:!1,category:"symbols"},repeat_one:{keywords:["blue-square","loop"],char:"\u{1f502}",fitzpatrick_scale:!1,category:"symbols"},arrow_backward:{keywords:["blue-square","left","direction"],char:"\u25c0\ufe0f",fitzpatrick_scale:!1,category:"symbols"},arrow_up_small:{keywords:["blue-square","triangle","direction","point","forward","top"],char:"\u{1f53c}",fitzpatrick_scale:!1,category:"symbols"},arrow_down_small:{keywords:["blue-square","direction","bottom"],char:"\u{1f53d}",fitzpatrick_scale:!1,category:"symbols"},arrow_double_up:{keywords:["blue-square","direction","top"],char:"\u23eb",fitzpatrick_scale:!1,category:"symbols"},arrow_double_down:{keywords:["blue-square","direction","bottom"],char:"\u23ec",fitzpatrick_scale:!1,category:"symbols"},arrow_right:{keywords:["blue-square","next"],char:"\u27a1\ufe0f",fitzpatrick_scale:!1,category:"symbols"},arrow_left:{keywords:["blue-square","previous","back"],char:"\u2b05\ufe0f",fitzpatrick_scale:!1,category:"symbols"},arrow_up:{keywords:["blue-square","continue","top","direction"],char:"\u2b06\ufe0f",fitzpatrick_scale:!1,category:"symbols"},arrow_down:{keywords:["blue-square","direction","bottom"],char:"\u2b07\ufe0f",fitzpatrick_scale:!1,category:"symbols"},arrow_upper_right:{keywords:["blue-square","point","direction","diagonal","northeast"],char:"\u2197\ufe0f",fitzpatrick_scale:!1,category:"symbols"},arrow_lower_right:{keywords:["blue-square","direction","diagonal","southeast"],char:"\u2198\ufe0f",fitzpatrick_scale:!1,category:"symbols"},arrow_lower_left:{keywords:["blue-square","direction","diagonal","southwest"],char:"\u2199\ufe0f",fitzpatrick_scale:!1,category:"symbols"},arrow_upper_left:{keywords:["blue-square","point","direction","diagonal","northwest"],char:"\u2196\ufe0f",fitzpatrick_scale:!1,category:"symbols"},arrow_up_down:{keywords:["blue-square","direction","way","vertical"],char:"\u2195\ufe0f",fitzpatrick_scale:!1,category:"symbols"},left_right_arrow:{keywords:["shape","direction","horizontal","sideways"],char:"\u2194\ufe0f",fitzpatrick_scale:!1,category:"symbols"},arrows_counterclockwise:{keywords:["blue-square","sync","cycle"],char:"\u{1f504}",fitzpatrick_scale:!1,category:"symbols"},arrow_right_hook:{keywords:["blue-square","return","rotate","direction"],char:"\u21aa\ufe0f",fitzpatrick_scale:!1,category:"symbols"},leftwards_arrow_with_hook:{keywords:["back","return","blue-square","undo","enter"],char:"\u21a9\ufe0f",fitzpatrick_scale:!1,category:"symbols"},arrow_heading_up:{keywords:["blue-square","direction","top"],char:"\u2934\ufe0f",fitzpatrick_scale:!1,category:"symbols"},arrow_heading_down:{keywords:["blue-square","direction","bottom"],char:"\u2935\ufe0f",fitzpatrick_scale:!1,category:"symbols"},hash:{keywords:["symbol","blue-square","twitter"],char:"#\ufe0f\u20e3",fitzpatrick_scale:!1,category:"symbols"},information_source:{keywords:["blue-square","alphabet","letter"],char:"\u2139\ufe0f",fitzpatrick_scale:!1,category:"symbols"},abc:{keywords:["blue-square","alphabet"],char:"\u{1f524}",fitzpatrick_scale:!1,category:"symbols"},abcd:{keywords:["blue-square","alphabet"],char:"\u{1f521}",fitzpatrick_scale:!1,category:"symbols"},capital_abcd:{keywords:["alphabet","words","blue-square"],char:"\u{1f520}",fitzpatrick_scale:!1,category:"symbols"},symbols:{keywords:["blue-square","music","note","ampersand","percent","glyphs","characters"],char:"\u{1f523}",fitzpatrick_scale:!1,category:"symbols"},musical_note:{keywords:["score","tone","sound"],char:"\u{1f3b5}",fitzpatrick_scale:!1,category:"symbols"},notes:{keywords:["music","score"],char:"\u{1f3b6}",fitzpatrick_scale:!1,category:"symbols"},wavy_dash:{keywords:["draw","line","moustache","mustache","squiggle","scribble"],char:"\u3030\ufe0f",fitzpatrick_scale:!1,category:"symbols"},curly_loop:{keywords:["scribble","draw","shape","squiggle"],char:"\u27b0",fitzpatrick_scale:!1,category:"symbols"},heavy_check_mark:{keywords:["ok","nike","answer","yes","tick"],char:"\u2714\ufe0f",fitzpatrick_scale:!1,category:"symbols"},arrows_clockwise:{keywords:["sync","cycle","round","repeat"],char:"\u{1f503}",fitzpatrick_scale:!1,category:"symbols"},heavy_plus_sign:{keywords:["math","calculation","addition","more","increase"],char:"\u2795",fitzpatrick_scale:!1,category:"symbols"},heavy_minus_sign:{keywords:["math","calculation","subtract","less"],char:"\u2796",fitzpatrick_scale:!1,category:"symbols"},heavy_division_sign:{keywords:["divide","math","calculation"],char:"\u2797",fitzpatrick_scale:!1,category:"symbols"},heavy_multiplication_x:{keywords:["math","calculation"],char:"\u2716\ufe0f",fitzpatrick_scale:!1,category:"symbols"},infinity:{keywords:["forever"],char:"\u267e",fitzpatrick_scale:!1,category:"symbols"},heavy_dollar_sign:{keywords:["money","sales","payment","currency","buck"],char:"\u{1f4b2}",fitzpatrick_scale:!1,category:"symbols"},currency_exchange:{keywords:["money","sales","dollar","travel"],char:"\u{1f4b1}",fitzpatrick_scale:!1,category:"symbols"},copyright:{keywords:["ip","license","circle","law","legal"],char:"\xa9\ufe0f",fitzpatrick_scale:!1,category:"symbols"},registered:{keywords:["alphabet","circle"],char:"\xae\ufe0f",fitzpatrick_scale:!1,category:"symbols"},tm:{keywords:["trademark","brand","law","legal"],char:"\u2122\ufe0f",fitzpatrick_scale:!1,category:"symbols"},end:{keywords:["words","arrow"],char:"\u{1f51a}",fitzpatrick_scale:!1,category:"symbols"},back:{keywords:["arrow","words","return"],char:"\u{1f519}",fitzpatrick_scale:!1,category:"symbols"},on:{keywords:["arrow","words"],char:"\u{1f51b}",fitzpatrick_scale:!1,category:"symbols"},top:{keywords:["words","blue-square"],char:"\u{1f51d}",fitzpatrick_scale:!1,category:"symbols"},soon:{keywords:["arrow","words"],char:"\u{1f51c}",fitzpatrick_scale:!1,category:"symbols"},ballot_box_with_check:{keywords:["ok","agree","confirm","black-square","vote","election","yes","tick"],char:"\u2611\ufe0f",fitzpatrick_scale:!1,category:"symbols"},radio_button:{keywords:["input","old","music","circle"],char:"\u{1f518}",fitzpatrick_scale:!1,category:"symbols"},white_circle:{keywords:["shape","round"],char:"\u26aa",fitzpatrick_scale:!1,category:"symbols"},black_circle:{keywords:["shape","button","round"],char:"\u26ab",fitzpatrick_scale:!1,category:"symbols"},red_circle:{keywords:["shape","error","danger"],char:"\u{1f534}",fitzpatrick_scale:!1,category:"symbols"},large_blue_circle:{keywords:["shape","icon","button"],char:"\u{1f535}",fitzpatrick_scale:!1,category:"symbols"},small_orange_diamond:{keywords:["shape","jewel","gem"],char:"\u{1f538}",fitzpatrick_scale:!1,category:"symbols"},small_blue_diamond:{keywords:["shape","jewel","gem"],char:"\u{1f539}",fitzpatrick_scale:!1,category:"symbols"},large_orange_diamond:{keywords:["shape","jewel","gem"],char:"\u{1f536}",fitzpatrick_scale:!1,category:"symbols"},large_blue_diamond:{keywords:["shape","jewel","gem"],char:"\u{1f537}",fitzpatrick_scale:!1,category:"symbols"},small_red_triangle:{keywords:["shape","direction","up","top"],char:"\u{1f53a}",fitzpatrick_scale:!1,category:"symbols"},black_small_square:{keywords:["shape","icon"],char:"\u25aa\ufe0f",fitzpatrick_scale:!1,category:"symbols"},white_small_square:{keywords:["shape","icon"],char:"\u25ab\ufe0f",fitzpatrick_scale:!1,category:"symbols"},black_large_square:{keywords:["shape","icon","button"],char:"\u2b1b",fitzpatrick_scale:!1,category:"symbols"},white_large_square:{keywords:["shape","icon","stone","button"],char:"\u2b1c",fitzpatrick_scale:!1,category:"symbols"},small_red_triangle_down:{keywords:["shape","direction","bottom"],char:"\u{1f53b}",fitzpatrick_scale:!1,category:"symbols"},black_medium_square:{keywords:["shape","button","icon"],char:"\u25fc\ufe0f",fitzpatrick_scale:!1,category:"symbols"},white_medium_square:{keywords:["shape","stone","icon"],char:"\u25fb\ufe0f",fitzpatrick_scale:!1,category:"symbols"},black_medium_small_square:{keywords:["icon","shape","button"],char:"\u25fe",fitzpatrick_scale:!1,category:"symbols"},white_medium_small_square:{keywords:["shape","stone","icon","button"],char:"\u25fd",fitzpatrick_scale:!1,category:"symbols"},black_square_button:{keywords:["shape","input","frame"],char:"\u{1f532}",fitzpatrick_scale:!1,category:"symbols"},white_square_button:{keywords:["shape","input"],char:"\u{1f533}",fitzpatrick_scale:!1,category:"symbols"},speaker:{keywords:["sound","volume","silence","broadcast"],char:"\u{1f508}",fitzpatrick_scale:!1,category:"symbols"},sound:{keywords:["volume","speaker","broadcast"],char:"\u{1f509}",fitzpatrick_scale:!1,category:"symbols"},loud_sound:{keywords:["volume","noise","noisy","speaker","broadcast"],char:"\u{1f50a}",fitzpatrick_scale:!1,category:"symbols"},mute:{keywords:["sound","volume","silence","quiet"],char:"\u{1f507}",fitzpatrick_scale:!1,category:"symbols"},mega:{keywords:["sound","speaker","volume"],char:"\u{1f4e3}",fitzpatrick_scale:!1,category:"symbols"},loudspeaker:{keywords:["volume","sound"],char:"\u{1f4e2}",fitzpatrick_scale:!1,category:"symbols"},bell:{keywords:["sound","notification","christmas","xmas","chime"],char:"\u{1f514}",fitzpatrick_scale:!1,category:"symbols"},no_bell:{keywords:["sound","volume","mute","quiet","silent"],char:"\u{1f515}",fitzpatrick_scale:!1,category:"symbols"},black_joker:{keywords:["poker","cards","game","play","magic"],char:"\u{1f0cf}",fitzpatrick_scale:!1,category:"symbols"},mahjong:{keywords:["game","play","chinese","kanji"],char:"\u{1f004}",fitzpatrick_scale:!1,category:"symbols"},spades:{keywords:["poker","cards","suits","magic"],char:"\u2660\ufe0f",fitzpatrick_scale:!1,category:"symbols"},clubs:{keywords:["poker","cards","magic","suits"],char:"\u2663\ufe0f",fitzpatrick_scale:!1,category:"symbols"},hearts:{keywords:["poker","cards","magic","suits"],char:"\u2665\ufe0f",fitzpatrick_scale:!1,category:"symbols"},diamonds:{keywords:["poker","cards","magic","suits"],char:"\u2666\ufe0f",fitzpatrick_scale:!1,category:"symbols"},flower_playing_cards:{keywords:["game","sunset","red"],char:"\u{1f3b4}",fitzpatrick_scale:!1,category:"symbols"},thought_balloon:{keywords:["bubble","cloud","speech","thinking","dream"],char:"\u{1f4ad}",fitzpatrick_scale:!1,category:"symbols"},right_anger_bubble:{keywords:["caption","speech","thinking","mad"],char:"\u{1f5ef}",fitzpatrick_scale:!1,category:"symbols"},speech_balloon:{keywords:["bubble","words","message","talk","chatting"],char:"\u{1f4ac}",fitzpatrick_scale:!1,category:"symbols"},left_speech_bubble:{keywords:["words","message","talk","chatting"],char:"\u{1f5e8}",fitzpatrick_scale:!1,category:"symbols"},clock1:{keywords:["time","late","early","schedule"],char:"\u{1f550}",fitzpatrick_scale:!1,category:"symbols"},clock2:{keywords:["time","late","early","schedule"],char:"\u{1f551}",fitzpatrick_scale:!1,category:"symbols"},clock3:{keywords:["time","late","early","schedule"],char:"\u{1f552}",fitzpatrick_scale:!1,category:"symbols"},clock4:{keywords:["time","late","early","schedule"],char:"\u{1f553}",fitzpatrick_scale:!1,category:"symbols"},clock5:{keywords:["time","late","early","schedule"],char:"\u{1f554}",fitzpatrick_scale:!1,category:"symbols"},clock6:{keywords:["time","late","early","schedule","dawn","dusk"],char:"\u{1f555}",fitzpatrick_scale:!1,category:"symbols"},clock7:{keywords:["time","late","early","schedule"],char:"\u{1f556}",fitzpatrick_scale:!1,category:"symbols"},clock8:{keywords:["time","late","early","schedule"],char:"\u{1f557}",fitzpatrick_scale:!1,category:"symbols"},clock9:{keywords:["time","late","early","schedule"],char:"\u{1f558}",fitzpatrick_scale:!1,category:"symbols"},clock10:{keywords:["time","late","early","schedule"],char:"\u{1f559}",fitzpatrick_scale:!1,category:"symbols"},clock11:{keywords:["time","late","early","schedule"],char:"\u{1f55a}",fitzpatrick_scale:!1,category:"symbols"},clock12:{keywords:["time","noon","midnight","midday","late","early","schedule"],char:"\u{1f55b}",fitzpatrick_scale:!1,category:"symbols"},clock130:{keywords:["time","late","early","schedule"],char:"\u{1f55c}",fitzpatrick_scale:!1,category:"symbols"},clock230:{keywords:["time","late","early","schedule"],char:"\u{1f55d}",fitzpatrick_scale:!1,category:"symbols"},clock330:{keywords:["time","late","early","schedule"],char:"\u{1f55e}",fitzpatrick_scale:!1,category:"symbols"},clock430:{keywords:["time","late","early","schedule"],char:"\u{1f55f}",fitzpatrick_scale:!1,category:"symbols"},clock530:{keywords:["time","late","early","schedule"],char:"\u{1f560}",fitzpatrick_scale:!1,category:"symbols"},clock630:{keywords:["time","late","early","schedule"],char:"\u{1f561}",fitzpatrick_scale:!1,category:"symbols"},clock730:{keywords:["time","late","early","schedule"],char:"\u{1f562}",fitzpatrick_scale:!1,category:"symbols"},clock830:{keywords:["time","late","early","schedule"],char:"\u{1f563}",fitzpatrick_scale:!1,category:"symbols"},clock930:{keywords:["time","late","early","schedule"],char:"\u{1f564}",fitzpatrick_scale:!1,category:"symbols"},clock1030:{keywords:["time","late","early","schedule"],char:"\u{1f565}",fitzpatrick_scale:!1,category:"symbols"},clock1130:{keywords:["time","late","early","schedule"],char:"\u{1f566}",fitzpatrick_scale:!1,category:"symbols"},clock1230:{keywords:["time","late","early","schedule"],char:"\u{1f567}",fitzpatrick_scale:!1,category:"symbols"},afghanistan:{keywords:["af","flag","nation","country","banner"],char:"\u{1f1e6}\u{1f1eb}",fitzpatrick_scale:!1,category:"flags"},aland_islands:{keywords:["\xc5land","islands","flag","nation","country","banner"],char:"\u{1f1e6}\u{1f1fd}",fitzpatrick_scale:!1,category:"flags"},albania:{keywords:["al","flag","nation","country","banner"],char:"\u{1f1e6}\u{1f1f1}",fitzpatrick_scale:!1,category:"flags"},algeria:{keywords:["dz","flag","nation","country","banner"],char:"\u{1f1e9}\u{1f1ff}",fitzpatrick_scale:!1,category:"flags"},american_samoa:{keywords:["american","ws","flag","nation","country","banner"],char:"\u{1f1e6}\u{1f1f8}",fitzpatrick_scale:!1,category:"flags"},andorra:{keywords:["ad","flag","nation","country","banner"],char:"\u{1f1e6}\u{1f1e9}",fitzpatrick_scale:!1,category:"flags"},angola:{keywords:["ao","flag","nation","country","banner"],char:"\u{1f1e6}\u{1f1f4}",fitzpatrick_scale:!1,category:"flags"},anguilla:{keywords:["ai","flag","nation","country","banner"],char:"\u{1f1e6}\u{1f1ee}",fitzpatrick_scale:!1,category:"flags"},antarctica:{keywords:["aq","flag","nation","country","banner"],char:"\u{1f1e6}\u{1f1f6}",fitzpatrick_scale:!1,category:"flags"},antigua_barbuda:{keywords:["antigua","barbuda","flag","nation","country","banner"],char:"\u{1f1e6}\u{1f1ec}",fitzpatrick_scale:!1,category:"flags"},argentina:{keywords:["ar","flag","nation","country","banner"],char:"\u{1f1e6}\u{1f1f7}",fitzpatrick_scale:!1,category:"flags"},armenia:{keywords:["am","flag","nation","country","banner"],char:"\u{1f1e6}\u{1f1f2}",fitzpatrick_scale:!1,category:"flags"},aruba:{keywords:["aw","flag","nation","country","banner"],char:"\u{1f1e6}\u{1f1fc}",fitzpatrick_scale:!1,category:"flags"},australia:{keywords:["au","flag","nation","country","banner"],char:"\u{1f1e6}\u{1f1fa}",fitzpatrick_scale:!1,category:"flags"},austria:{keywords:["at","flag","nation","country","banner"],char:"\u{1f1e6}\u{1f1f9}",fitzpatrick_scale:!1,category:"flags"},azerbaijan:{keywords:["az","flag","nation","country","banner"],char:"\u{1f1e6}\u{1f1ff}",fitzpatrick_scale:!1,category:"flags"},bahamas:{keywords:["bs","flag","nation","country","banner"],char:"\u{1f1e7}\u{1f1f8}",fitzpatrick_scale:!1,category:"flags"},bahrain:{keywords:["bh","flag","nation","country","banner"],char:"\u{1f1e7}\u{1f1ed}",fitzpatrick_scale:!1,category:"flags"},bangladesh:{keywords:["bd","flag","nation","country","banner"],char:"\u{1f1e7}\u{1f1e9}",fitzpatrick_scale:!1,category:"flags"},barbados:{keywords:["bb","flag","nation","country","banner"],char:"\u{1f1e7}\u{1f1e7}",fitzpatrick_scale:!1,category:"flags"},belarus:{keywords:["by","flag","nation","country","banner"],char:"\u{1f1e7}\u{1f1fe}",fitzpatrick_scale:!1,category:"flags"},belgium:{keywords:["be","flag","nation","country","banner"],char:"\u{1f1e7}\u{1f1ea}",fitzpatrick_scale:!1,category:"flags"},belize:{keywords:["bz","flag","nation","country","banner"],char:"\u{1f1e7}\u{1f1ff}",fitzpatrick_scale:!1,category:"flags"},benin:{keywords:["bj","flag","nation","country","banner"],char:"\u{1f1e7}\u{1f1ef}",fitzpatrick_scale:!1,category:"flags"},bermuda:{keywords:["bm","flag","nation","country","banner"],char:"\u{1f1e7}\u{1f1f2}",fitzpatrick_scale:!1,category:"flags"},bhutan:{keywords:["bt","flag","nation","country","banner"],char:"\u{1f1e7}\u{1f1f9}",fitzpatrick_scale:!1,category:"flags"},bolivia:{keywords:["bo","flag","nation","country","banner"],char:"\u{1f1e7}\u{1f1f4}",fitzpatrick_scale:!1,category:"flags"},caribbean_netherlands:{keywords:["bonaire","flag","nation","country","banner"],char:"\u{1f1e7}\u{1f1f6}",fitzpatrick_scale:!1,category:"flags"},bosnia_herzegovina:{keywords:["bosnia","herzegovina","flag","nation","country","banner"],char:"\u{1f1e7}\u{1f1e6}",fitzpatrick_scale:!1,category:"flags"},botswana:{keywords:["bw","flag","nation","country","banner"],char:"\u{1f1e7}\u{1f1fc}",fitzpatrick_scale:!1,category:"flags"},brazil:{keywords:["br","flag","nation","country","banner"],char:"\u{1f1e7}\u{1f1f7}",fitzpatrick_scale:!1,category:"flags"},british_indian_ocean_territory:{keywords:["british","indian","ocean","territory","flag","nation","country","banner"],char:"\u{1f1ee}\u{1f1f4}",fitzpatrick_scale:!1,category:"flags"},british_virgin_islands:{keywords:["british","virgin","islands","bvi","flag","nation","country","banner"],char:"\u{1f1fb}\u{1f1ec}",fitzpatrick_scale:!1,category:"flags"},brunei:{keywords:["bn","darussalam","flag","nation","country","banner"],char:"\u{1f1e7}\u{1f1f3}",fitzpatrick_scale:!1,category:"flags"},bulgaria:{keywords:["bg","flag","nation","country","banner"],char:"\u{1f1e7}\u{1f1ec}",fitzpatrick_scale:!1,category:"flags"},burkina_faso:{keywords:["burkina","faso","flag","nation","country","banner"],char:"\u{1f1e7}\u{1f1eb}",fitzpatrick_scale:!1,category:"flags"},burundi:{keywords:["bi","flag","nation","country","banner"],char:"\u{1f1e7}\u{1f1ee}",fitzpatrick_scale:!1,category:"flags"},cape_verde:{keywords:["cabo","verde","flag","nation","country","banner"],char:"\u{1f1e8}\u{1f1fb}",fitzpatrick_scale:!1,category:"flags"},cambodia:{keywords:["kh","flag","nation","country","banner"],char:"\u{1f1f0}\u{1f1ed}",fitzpatrick_scale:!1,category:"flags"},cameroon:{keywords:["cm","flag","nation","country","banner"],char:"\u{1f1e8}\u{1f1f2}",fitzpatrick_scale:!1,category:"flags"},canada:{keywords:["ca","flag","nation","country","banner"],char:"\u{1f1e8}\u{1f1e6}",fitzpatrick_scale:!1,category:"flags"},canary_islands:{keywords:["canary","islands","flag","nation","country","banner"],char:"\u{1f1ee}\u{1f1e8}",fitzpatrick_scale:!1,category:"flags"},cayman_islands:{keywords:["cayman","islands","flag","nation","country","banner"],char:"\u{1f1f0}\u{1f1fe}",fitzpatrick_scale:!1,category:"flags"},central_african_republic:{keywords:["central","african","republic","flag","nation","country","banner"],char:"\u{1f1e8}\u{1f1eb}",fitzpatrick_scale:!1,category:"flags"},chad:{keywords:["td","flag","nation","country","banner"],char:"\u{1f1f9}\u{1f1e9}",fitzpatrick_scale:!1,category:"flags"},chile:{keywords:["flag","nation","country","banner"],char:"\u{1f1e8}\u{1f1f1}",fitzpatrick_scale:!1,category:"flags"},cn:{keywords:["china","chinese","prc","flag","country","nation","banner"],char:"\u{1f1e8}\u{1f1f3}",fitzpatrick_scale:!1,category:"flags"},christmas_island:{keywords:["christmas","island","flag","nation","country","banner"],char:"\u{1f1e8}\u{1f1fd}",fitzpatrick_scale:!1,category:"flags"},cocos_islands:{keywords:["cocos","keeling","islands","flag","nation","country","banner"],char:"\u{1f1e8}\u{1f1e8}",fitzpatrick_scale:!1,category:"flags"},colombia:{keywords:["co","flag","nation","country","banner"],char:"\u{1f1e8}\u{1f1f4}",fitzpatrick_scale:!1,category:"flags"},comoros:{keywords:["km","flag","nation","country","banner"],char:"\u{1f1f0}\u{1f1f2}",fitzpatrick_scale:!1,category:"flags"},congo_brazzaville:{keywords:["congo","flag","nation","country","banner"],char:"\u{1f1e8}\u{1f1ec}",fitzpatrick_scale:!1,category:"flags"},congo_kinshasa:{keywords:["congo","democratic","republic","flag","nation","country","banner"],char:"\u{1f1e8}\u{1f1e9}",fitzpatrick_scale:!1,category:"flags"},cook_islands:{keywords:["cook","islands","flag","nation","country","banner"],char:"\u{1f1e8}\u{1f1f0}",fitzpatrick_scale:!1,category:"flags"},costa_rica:{keywords:["costa","rica","flag","nation","country","banner"],char:"\u{1f1e8}\u{1f1f7}",fitzpatrick_scale:!1,category:"flags"},croatia:{keywords:["hr","flag","nation","country","banner"],char:"\u{1f1ed}\u{1f1f7}",fitzpatrick_scale:!1,category:"flags"},cuba:{keywords:["cu","flag","nation","country","banner"],char:"\u{1f1e8}\u{1f1fa}",fitzpatrick_scale:!1,category:"flags"},curacao:{keywords:["cura\xe7ao","flag","nation","country","banner"],char:"\u{1f1e8}\u{1f1fc}",fitzpatrick_scale:!1,category:"flags"},cyprus:{keywords:["cy","flag","nation","country","banner"],char:"\u{1f1e8}\u{1f1fe}",fitzpatrick_scale:!1,category:"flags"},czech_republic:{keywords:["cz","flag","nation","country","banner"],char:"\u{1f1e8}\u{1f1ff}",fitzpatrick_scale:!1,category:"flags"},denmark:{keywords:["dk","flag","nation","country","banner"],char:"\u{1f1e9}\u{1f1f0}",fitzpatrick_scale:!1,category:"flags"},djibouti:{keywords:["dj","flag","nation","country","banner"],char:"\u{1f1e9}\u{1f1ef}",fitzpatrick_scale:!1,category:"flags"},dominica:{keywords:["dm","flag","nation","country","banner"],char:"\u{1f1e9}\u{1f1f2}",fitzpatrick_scale:!1,category:"flags"},dominican_republic:{keywords:["dominican","republic","flag","nation","country","banner"],char:"\u{1f1e9}\u{1f1f4}",fitzpatrick_scale:!1,category:"flags"},ecuador:{keywords:["ec","flag","nation","country","banner"],char:"\u{1f1ea}\u{1f1e8}",fitzpatrick_scale:!1,category:"flags"},egypt:{keywords:["eg","flag","nation","country","banner"],char:"\u{1f1ea}\u{1f1ec}",fitzpatrick_scale:!1,category:"flags"},el_salvador:{keywords:["el","salvador","flag","nation","country","banner"],char:"\u{1f1f8}\u{1f1fb}",fitzpatrick_scale:!1,category:"flags"},equatorial_guinea:{keywords:["equatorial","gn","flag","nation","country","banner"],char:"\u{1f1ec}\u{1f1f6}",fitzpatrick_scale:!1,category:"flags"},eritrea:{keywords:["er","flag","nation","country","banner"],char:"\u{1f1ea}\u{1f1f7}",fitzpatrick_scale:!1,category:"flags"},estonia:{keywords:["ee","flag","nation","country","banner"],char:"\u{1f1ea}\u{1f1ea}",fitzpatrick_scale:!1,category:"flags"},ethiopia:{keywords:["et","flag","nation","country","banner"],char:"\u{1f1ea}\u{1f1f9}",fitzpatrick_scale:!1,category:"flags"},eu:{keywords:["european","union","flag","banner"],char:"\u{1f1ea}\u{1f1fa}",fitzpatrick_scale:!1,category:"flags"},falkland_islands:{keywords:["falkland","islands","malvinas","flag","nation","country","banner"],char:"\u{1f1eb}\u{1f1f0}",fitzpatrick_scale:!1,category:"flags"},faroe_islands:{keywords:["faroe","islands","flag","nation","country","banner"],char:"\u{1f1eb}\u{1f1f4}",fitzpatrick_scale:!1,category:"flags"},fiji:{keywords:["fj","flag","nation","country","banner"],char:"\u{1f1eb}\u{1f1ef}",fitzpatrick_scale:!1,category:"flags"},finland:{keywords:["fi","flag","nation","country","banner"],char:"\u{1f1eb}\u{1f1ee}",fitzpatrick_scale:!1,category:"flags"},fr:{keywords:["banner","flag","nation","france","french","country"],char:"\u{1f1eb}\u{1f1f7}",fitzpatrick_scale:!1,category:"flags"},french_guiana:{keywords:["french","guiana","flag","nation","country","banner"],char:"\u{1f1ec}\u{1f1eb}",fitzpatrick_scale:!1,category:"flags"},french_polynesia:{keywords:["french","polynesia","flag","nation","country","banner"],char:"\u{1f1f5}\u{1f1eb}",fitzpatrick_scale:!1,category:"flags"},french_southern_territories:{keywords:["french","southern","territories","flag","nation","country","banner"],char:"\u{1f1f9}\u{1f1eb}",fitzpatrick_scale:!1,category:"flags"},gabon:{keywords:["ga","flag","nation","country","banner"],char:"\u{1f1ec}\u{1f1e6}",fitzpatrick_scale:!1,category:"flags"},gambia:{keywords:["gm","flag","nation","country","banner"],char:"\u{1f1ec}\u{1f1f2}",fitzpatrick_scale:!1,category:"flags"},georgia:{keywords:["ge","flag","nation","country","banner"],char:"\u{1f1ec}\u{1f1ea}",fitzpatrick_scale:!1,category:"flags"},de:{keywords:["german","nation","flag","country","banner"],char:"\u{1f1e9}\u{1f1ea}",fitzpatrick_scale:!1,category:"flags"},ghana:{keywords:["gh","flag","nation","country","banner"],char:"\u{1f1ec}\u{1f1ed}",fitzpatrick_scale:!1,category:"flags"},gibraltar:{keywords:["gi","flag","nation","country","banner"],char:"\u{1f1ec}\u{1f1ee}",fitzpatrick_scale:!1,category:"flags"},greece:{keywords:["gr","flag","nation","country","banner"],char:"\u{1f1ec}\u{1f1f7}",fitzpatrick_scale:!1,category:"flags"},greenland:{keywords:["gl","flag","nation","country","banner"],char:"\u{1f1ec}\u{1f1f1}",fitzpatrick_scale:!1,category:"flags"},grenada:{keywords:["gd","flag","nation","country","banner"],char:"\u{1f1ec}\u{1f1e9}",fitzpatrick_scale:!1,category:"flags"},guadeloupe:{keywords:["gp","flag","nation","country","banner"],char:"\u{1f1ec}\u{1f1f5}",fitzpatrick_scale:!1,category:"flags"},guam:{keywords:["gu","flag","nation","country","banner"],char:"\u{1f1ec}\u{1f1fa}",fitzpatrick_scale:!1,category:"flags"},guatemala:{keywords:["gt","flag","nation","country","banner"],char:"\u{1f1ec}\u{1f1f9}",fitzpatrick_scale:!1,category:"flags"},guernsey:{keywords:["gg","flag","nation","country","banner"],char:"\u{1f1ec}\u{1f1ec}",fitzpatrick_scale:!1,category:"flags"},guinea:{keywords:["gn","flag","nation","country","banner"],char:"\u{1f1ec}\u{1f1f3}",fitzpatrick_scale:!1,category:"flags"},guinea_bissau:{keywords:["gw","bissau","flag","nation","country","banner"],char:"\u{1f1ec}\u{1f1fc}",fitzpatrick_scale:!1,category:"flags"},guyana:{keywords:["gy","flag","nation","country","banner"],char:"\u{1f1ec}\u{1f1fe}",fitzpatrick_scale:!1,category:"flags"},haiti:{keywords:["ht","flag","nation","country","banner"],char:"\u{1f1ed}\u{1f1f9}",fitzpatrick_scale:!1,category:"flags"},honduras:{keywords:["hn","flag","nation","country","banner"],char:"\u{1f1ed}\u{1f1f3}",fitzpatrick_scale:!1,category:"flags"},hong_kong:{keywords:["hong","kong","flag","nation","country","banner"],char:"\u{1f1ed}\u{1f1f0}",fitzpatrick_scale:!1,category:"flags"},hungary:{keywords:["hu","flag","nation","country","banner"],char:"\u{1f1ed}\u{1f1fa}",fitzpatrick_scale:!1,category:"flags"},iceland:{keywords:["is","flag","nation","country","banner"],char:"\u{1f1ee}\u{1f1f8}",fitzpatrick_scale:!1,category:"flags"},india:{keywords:["in","flag","nation","country","banner"],char:"\u{1f1ee}\u{1f1f3}",fitzpatrick_scale:!1,category:"flags"},indonesia:{keywords:["flag","nation","country","banner"],char:"\u{1f1ee}\u{1f1e9}",fitzpatrick_scale:!1,category:"flags"},iran:{keywords:["iran,","islamic","republic","flag","nation","country","banner"],char:"\u{1f1ee}\u{1f1f7}",fitzpatrick_scale:!1,category:"flags"},iraq:{keywords:["iq","flag","nation","country","banner"],char:"\u{1f1ee}\u{1f1f6}",fitzpatrick_scale:!1,category:"flags"},ireland:{keywords:["ie","flag","nation","country","banner"],char:"\u{1f1ee}\u{1f1ea}",fitzpatrick_scale:!1,category:"flags"},isle_of_man:{keywords:["isle","man","flag","nation","country","banner"],char:"\u{1f1ee}\u{1f1f2}",fitzpatrick_scale:!1,category:"flags"},israel:{keywords:["il","flag","nation","country","banner"],char:"\u{1f1ee}\u{1f1f1}",fitzpatrick_scale:!1,category:"flags"},it:{keywords:["italy","flag","nation","country","banner"],char:"\u{1f1ee}\u{1f1f9}",fitzpatrick_scale:!1,category:"flags"},cote_divoire:{keywords:["ivory","coast","flag","nation","country","banner"],char:"\u{1f1e8}\u{1f1ee}",fitzpatrick_scale:!1,category:"flags"},jamaica:{keywords:["jm","flag","nation","country","banner"],char:"\u{1f1ef}\u{1f1f2}",fitzpatrick_scale:!1,category:"flags"},jp:{keywords:["japanese","nation","flag","country","banner"],char:"\u{1f1ef}\u{1f1f5}",fitzpatrick_scale:!1,category:"flags"},jersey:{keywords:["je","flag","nation","country","banner"],char:"\u{1f1ef}\u{1f1ea}",fitzpatrick_scale:!1,category:"flags"},jordan:{keywords:["jo","flag","nation","country","banner"],char:"\u{1f1ef}\u{1f1f4}",fitzpatrick_scale:!1,category:"flags"},kazakhstan:{keywords:["kz","flag","nation","country","banner"],char:"\u{1f1f0}\u{1f1ff}",fitzpatrick_scale:!1,category:"flags"},kenya:{keywords:["ke","flag","nation","country","banner"],char:"\u{1f1f0}\u{1f1ea}",fitzpatrick_scale:!1,category:"flags"},kiribati:{keywords:["ki","flag","nation","country","banner"],char:"\u{1f1f0}\u{1f1ee}",fitzpatrick_scale:!1,category:"flags"},kosovo:{keywords:["xk","flag","nation","country","banner"],char:"\u{1f1fd}\u{1f1f0}",fitzpatrick_scale:!1,category:"flags"},kuwait:{keywords:["kw","flag","nation","country","banner"],char:"\u{1f1f0}\u{1f1fc}",fitzpatrick_scale:!1,category:"flags"},kyrgyzstan:{keywords:["kg","flag","nation","country","banner"],char:"\u{1f1f0}\u{1f1ec}",fitzpatrick_scale:!1,category:"flags"},laos:{keywords:["lao","democratic","republic","flag","nation","country","banner"],char:"\u{1f1f1}\u{1f1e6}",fitzpatrick_scale:!1,category:"flags"},latvia:{keywords:["lv","flag","nation","country","banner"],char:"\u{1f1f1}\u{1f1fb}",fitzpatrick_scale:!1,category:"flags"},lebanon:{keywords:["lb","flag","nation","country","banner"],char:"\u{1f1f1}\u{1f1e7}",fitzpatrick_scale:!1,category:"flags"},lesotho:{keywords:["ls","flag","nation","country","banner"],char:"\u{1f1f1}\u{1f1f8}",fitzpatrick_scale:!1,category:"flags"},liberia:{keywords:["lr","flag","nation","country","banner"],char:"\u{1f1f1}\u{1f1f7}",fitzpatrick_scale:!1,category:"flags"},libya:{keywords:["ly","flag","nation","country","banner"],char:"\u{1f1f1}\u{1f1fe}",fitzpatrick_scale:!1,category:"flags"},liechtenstein:{keywords:["li","flag","nation","country","banner"],char:"\u{1f1f1}\u{1f1ee}",fitzpatrick_scale:!1,category:"flags"},lithuania:{keywords:["lt","flag","nation","country","banner"],char:"\u{1f1f1}\u{1f1f9}",fitzpatrick_scale:!1,category:"flags"},luxembourg:{keywords:["lu","flag","nation","country","banner"],char:"\u{1f1f1}\u{1f1fa}",fitzpatrick_scale:!1,category:"flags"},macau:{keywords:["macao","flag","nation","country","banner"],char:"\u{1f1f2}\u{1f1f4}",fitzpatrick_scale:!1,category:"flags"},macedonia:{keywords:["macedonia,","flag","nation","country","banner"],char:"\u{1f1f2}\u{1f1f0}",fitzpatrick_scale:!1,category:"flags"},madagascar:{keywords:["mg","flag","nation","country","banner"],char:"\u{1f1f2}\u{1f1ec}",fitzpatrick_scale:!1,category:"flags"},malawi:{keywords:["mw","flag","nation","country","banner"],char:"\u{1f1f2}\u{1f1fc}",fitzpatrick_scale:!1,category:"flags"},malaysia:{keywords:["my","flag","nation","country","banner"],char:"\u{1f1f2}\u{1f1fe}",fitzpatrick_scale:!1,category:"flags"},maldives:{keywords:["mv","flag","nation","country","banner"],char:"\u{1f1f2}\u{1f1fb}",fitzpatrick_scale:!1,category:"flags"},mali:{keywords:["ml","flag","nation","country","banner"],char:"\u{1f1f2}\u{1f1f1}",fitzpatrick_scale:!1,category:"flags"},malta:{keywords:["mt","flag","nation","country","banner"],char:"\u{1f1f2}\u{1f1f9}",fitzpatrick_scale:!1,category:"flags"},marshall_islands:{keywords:["marshall","islands","flag","nation","country","banner"],char:"\u{1f1f2}\u{1f1ed}",fitzpatrick_scale:!1,category:"flags"},martinique:{keywords:["mq","flag","nation","country","banner"],char:"\u{1f1f2}\u{1f1f6}",fitzpatrick_scale:!1,category:"flags"},mauritania:{keywords:["mr","flag","nation","country","banner"],char:"\u{1f1f2}\u{1f1f7}",fitzpatrick_scale:!1,category:"flags"},mauritius:{keywords:["mu","flag","nation","country","banner"],char:"\u{1f1f2}\u{1f1fa}",fitzpatrick_scale:!1,category:"flags"},mayotte:{keywords:["yt","flag","nation","country","banner"],char:"\u{1f1fe}\u{1f1f9}",fitzpatrick_scale:!1,category:"flags"},mexico:{keywords:["mx","flag","nation","country","banner"],char:"\u{1f1f2}\u{1f1fd}",fitzpatrick_scale:!1,category:"flags"},micronesia:{keywords:["micronesia,","federated","states","flag","nation","country","banner"],char:"\u{1f1eb}\u{1f1f2}",fitzpatrick_scale:!1,category:"flags"},moldova:{keywords:["moldova,","republic","flag","nation","country","banner"],char:"\u{1f1f2}\u{1f1e9}",fitzpatrick_scale:!1,category:"flags"},monaco:{keywords:["mc","flag","nation","country","banner"],char:"\u{1f1f2}\u{1f1e8}",fitzpatrick_scale:!1,category:"flags"},mongolia:{keywords:["mn","flag","nation","country","banner"],char:"\u{1f1f2}\u{1f1f3}",fitzpatrick_scale:!1,category:"flags"},montenegro:{keywords:["me","flag","nation","country","banner"],char:"\u{1f1f2}\u{1f1ea}",fitzpatrick_scale:!1,category:"flags"},montserrat:{keywords:["ms","flag","nation","country","banner"],char:"\u{1f1f2}\u{1f1f8}",fitzpatrick_scale:!1,category:"flags"},morocco:{keywords:["ma","flag","nation","country","banner"],char:"\u{1f1f2}\u{1f1e6}",fitzpatrick_scale:!1,category:"flags"},mozambique:{keywords:["mz","flag","nation","country","banner"],char:"\u{1f1f2}\u{1f1ff}",fitzpatrick_scale:!1,category:"flags"},myanmar:{keywords:["mm","flag","nation","country","banner"],char:"\u{1f1f2}\u{1f1f2}",fitzpatrick_scale:!1,category:"flags"},namibia:{keywords:["na","flag","nation","country","banner"],char:"\u{1f1f3}\u{1f1e6}",fitzpatrick_scale:!1,category:"flags"},nauru:{keywords:["nr","flag","nation","country","banner"],char:"\u{1f1f3}\u{1f1f7}",fitzpatrick_scale:!1,category:"flags"},nepal:{keywords:["np","flag","nation","country","banner"],char:"\u{1f1f3}\u{1f1f5}",fitzpatrick_scale:!1,category:"flags"},netherlands:{keywords:["nl","flag","nation","country","banner"],char:"\u{1f1f3}\u{1f1f1}",fitzpatrick_scale:!1,category:"flags"},new_caledonia:{keywords:["new","caledonia","flag","nation","country","banner"],char:"\u{1f1f3}\u{1f1e8}",fitzpatrick_scale:!1,category:"flags"},new_zealand:{keywords:["new","zealand","flag","nation","country","banner"],char:"\u{1f1f3}\u{1f1ff}",fitzpatrick_scale:!1,category:"flags"},nicaragua:{keywords:["ni","flag","nation","country","banner"],char:"\u{1f1f3}\u{1f1ee}",fitzpatrick_scale:!1,category:"flags"},niger:{keywords:["ne","flag","nation","country","banner"],char:"\u{1f1f3}\u{1f1ea}",fitzpatrick_scale:!1,category:"flags"},nigeria:{keywords:["flag","nation","country","banner"],char:"\u{1f1f3}\u{1f1ec}",fitzpatrick_scale:!1,category:"flags"},niue:{keywords:["nu","flag","nation","country","banner"],char:"\u{1f1f3}\u{1f1fa}",fitzpatrick_scale:!1,category:"flags"},norfolk_island:{keywords:["norfolk","island","flag","nation","country","banner"],char:"\u{1f1f3}\u{1f1eb}",fitzpatrick_scale:!1,category:"flags"},northern_mariana_islands:{keywords:["northern","mariana","islands","flag","nation","country","banner"],char:"\u{1f1f2}\u{1f1f5}",fitzpatrick_scale:!1,category:"flags"},north_korea:{keywords:["north","korea","nation","flag","country","banner"],char:"\u{1f1f0}\u{1f1f5}",fitzpatrick_scale:!1,category:"flags"},norway:{keywords:["no","flag","nation","country","banner"],char:"\u{1f1f3}\u{1f1f4}",fitzpatrick_scale:!1,category:"flags"},oman:{keywords:["om_symbol","flag","nation","country","banner"],char:"\u{1f1f4}\u{1f1f2}",fitzpatrick_scale:!1,category:"flags"},pakistan:{keywords:["pk","flag","nation","country","banner"],char:"\u{1f1f5}\u{1f1f0}",fitzpatrick_scale:!1,category:"flags"},palau:{keywords:["pw","flag","nation","country","banner"],char:"\u{1f1f5}\u{1f1fc}",fitzpatrick_scale:!1,category:"flags"},palestinian_territories:{keywords:["palestine","palestinian","territories","flag","nation","country","banner"],char:"\u{1f1f5}\u{1f1f8}",fitzpatrick_scale:!1,category:"flags"},panama:{keywords:["pa","flag","nation","country","banner"],char:"\u{1f1f5}\u{1f1e6}",fitzpatrick_scale:!1,category:"flags"},papua_new_guinea:{keywords:["papua","new","guinea","flag","nation","country","banner"],char:"\u{1f1f5}\u{1f1ec}",fitzpatrick_scale:!1,category:"flags"},paraguay:{keywords:["py","flag","nation","country","banner"],char:"\u{1f1f5}\u{1f1fe}",fitzpatrick_scale:!1,category:"flags"},peru:{keywords:["pe","flag","nation","country","banner"],char:"\u{1f1f5}\u{1f1ea}",fitzpatrick_scale:!1,category:"flags"},philippines:{keywords:["ph","flag","nation","country","banner"],char:"\u{1f1f5}\u{1f1ed}",fitzpatrick_scale:!1,category:"flags"},pitcairn_islands:{keywords:["pitcairn","flag","nation","country","banner"],char:"\u{1f1f5}\u{1f1f3}",fitzpatrick_scale:!1,category:"flags"},poland:{keywords:["pl","flag","nation","country","banner"],char:"\u{1f1f5}\u{1f1f1}",fitzpatrick_scale:!1,category:"flags"},portugal:{keywords:["pt","flag","nation","country","banner"],char:"\u{1f1f5}\u{1f1f9}",fitzpatrick_scale:!1,category:"flags"},puerto_rico:{keywords:["puerto","rico","flag","nation","country","banner"],char:"\u{1f1f5}\u{1f1f7}",fitzpatrick_scale:!1,category:"flags"},qatar:{keywords:["qa","flag","nation","country","banner"],char:"\u{1f1f6}\u{1f1e6}",fitzpatrick_scale:!1,category:"flags"},reunion:{keywords:["r\xe9union","flag","nation","country","banner"],char:"\u{1f1f7}\u{1f1ea}",fitzpatrick_scale:!1,category:"flags"},romania:{keywords:["ro","flag","nation","country","banner"],char:"\u{1f1f7}\u{1f1f4}",fitzpatrick_scale:!1,category:"flags"},ru:{keywords:["russian","federation","flag","nation","country","banner"],char:"\u{1f1f7}\u{1f1fa}",fitzpatrick_scale:!1,category:"flags"},rwanda:{keywords:["rw","flag","nation","country","banner"],char:"\u{1f1f7}\u{1f1fc}",fitzpatrick_scale:!1,category:"flags"},st_barthelemy:{keywords:["saint","barth\xe9lemy","flag","nation","country","banner"],char:"\u{1f1e7}\u{1f1f1}",fitzpatrick_scale:!1,category:"flags"},st_helena:{keywords:["saint","helena","ascension","tristan","cunha","flag","nation","country","banner"],char:"\u{1f1f8}\u{1f1ed}",fitzpatrick_scale:!1,category:"flags"},st_kitts_nevis:{keywords:["saint","kitts","nevis","flag","nation","country","banner"],char:"\u{1f1f0}\u{1f1f3}",fitzpatrick_scale:!1,category:"flags"},st_lucia:{keywords:["saint","lucia","flag","nation","country","banner"],char:"\u{1f1f1}\u{1f1e8}",fitzpatrick_scale:!1,category:"flags"},st_pierre_miquelon:{keywords:["saint","pierre","miquelon","flag","nation","country","banner"],char:"\u{1f1f5}\u{1f1f2}",fitzpatrick_scale:!1,category:"flags"},st_vincent_grenadines:{keywords:["saint","vincent","grenadines","flag","nation","country","banner"],char:"\u{1f1fb}\u{1f1e8}",fitzpatrick_scale:!1,category:"flags"},samoa:{keywords:["ws","flag","nation","country","banner"],char:"\u{1f1fc}\u{1f1f8}",fitzpatrick_scale:!1,category:"flags"},san_marino:{keywords:["san","marino","flag","nation","country","banner"],char:"\u{1f1f8}\u{1f1f2}",fitzpatrick_scale:!1,category:"flags"},sao_tome_principe:{keywords:["sao","tome","principe","flag","nation","country","banner"],char:"\u{1f1f8}\u{1f1f9}",fitzpatrick_scale:!1,category:"flags"},saudi_arabia:{keywords:["flag","nation","country","banner"],char:"\u{1f1f8}\u{1f1e6}",fitzpatrick_scale:!1,category:"flags"},senegal:{keywords:["sn","flag","nation","country","banner"],char:"\u{1f1f8}\u{1f1f3}",fitzpatrick_scale:!1,category:"flags"},serbia:{keywords:["rs","flag","nation","country","banner"],char:"\u{1f1f7}\u{1f1f8}",fitzpatrick_scale:!1,category:"flags"},seychelles:{keywords:["sc","flag","nation","country","banner"],char:"\u{1f1f8}\u{1f1e8}",fitzpatrick_scale:!1,category:"flags"},sierra_leone:{keywords:["sierra","leone","flag","nation","country","banner"],char:"\u{1f1f8}\u{1f1f1}",fitzpatrick_scale:!1,category:"flags"},singapore:{keywords:["sg","flag","nation","country","banner"],char:"\u{1f1f8}\u{1f1ec}",fitzpatrick_scale:!1,category:"flags"},sint_maarten:{keywords:["sint","maarten","dutch","flag","nation","country","banner"],char:"\u{1f1f8}\u{1f1fd}",fitzpatrick_scale:!1,category:"flags"},slovakia:{keywords:["sk","flag","nation","country","banner"],char:"\u{1f1f8}\u{1f1f0}",fitzpatrick_scale:!1,category:"flags"},slovenia:{keywords:["si","flag","nation","country","banner"],char:"\u{1f1f8}\u{1f1ee}",fitzpatrick_scale:!1,category:"flags"},solomon_islands:{keywords:["solomon","islands","flag","nation","country","banner"],char:"\u{1f1f8}\u{1f1e7}",fitzpatrick_scale:!1,category:"flags"},somalia:{keywords:["so","flag","nation","country","banner"],char:"\u{1f1f8}\u{1f1f4}",fitzpatrick_scale:!1,category:"flags"},south_africa:{keywords:["south","africa","flag","nation","country","banner"],char:"\u{1f1ff}\u{1f1e6}",fitzpatrick_scale:!1,category:"flags"},south_georgia_south_sandwich_islands:{keywords:["south","georgia","sandwich","islands","flag","nation","country","banner"],char:"\u{1f1ec}\u{1f1f8}",fitzpatrick_scale:!1,category:"flags"},kr:{keywords:["south","korea","nation","flag","country","banner"],char:"\u{1f1f0}\u{1f1f7}",fitzpatrick_scale:!1,category:"flags"},south_sudan:{keywords:["south","sd","flag","nation","country","banner"],char:"\u{1f1f8}\u{1f1f8}",fitzpatrick_scale:!1,category:"flags"},es:{keywords:["spain","flag","nation","country","banner"],char:"\u{1f1ea}\u{1f1f8}",fitzpatrick_scale:!1,category:"flags"},sri_lanka:{keywords:["sri","lanka","flag","nation","country","banner"],char:"\u{1f1f1}\u{1f1f0}",fitzpatrick_scale:!1,category:"flags"},sudan:{keywords:["sd","flag","nation","country","banner"],char:"\u{1f1f8}\u{1f1e9}",fitzpatrick_scale:!1,category:"flags"},suriname:{keywords:["sr","flag","nation","country","banner"],char:"\u{1f1f8}\u{1f1f7}",fitzpatrick_scale:!1,category:"flags"},swaziland:{keywords:["sz","flag","nation","country","banner"],char:"\u{1f1f8}\u{1f1ff}",fitzpatrick_scale:!1,category:"flags"},sweden:{keywords:["se","flag","nation","country","banner"],char:"\u{1f1f8}\u{1f1ea}",fitzpatrick_scale:!1,category:"flags"},switzerland:{keywords:["ch","flag","nation","country","banner"],char:"\u{1f1e8}\u{1f1ed}",fitzpatrick_scale:!1,category:"flags"},syria:{keywords:["syrian","arab","republic","flag","nation","country","banner"],char:"\u{1f1f8}\u{1f1fe}",fitzpatrick_scale:!1,category:"flags"},taiwan:{keywords:["tw","flag","nation","country","banner"],char:"\u{1f1f9}\u{1f1fc}",fitzpatrick_scale:!1,category:"flags"},tajikistan:{keywords:["tj","flag","nation","country","banner"],char:"\u{1f1f9}\u{1f1ef}",fitzpatrick_scale:!1,category:"flags"},tanzania:{keywords:["tanzania,","united","republic","flag","nation","country","banner"],char:"\u{1f1f9}\u{1f1ff}",fitzpatrick_scale:!1,category:"flags"},thailand:{keywords:["th","flag","nation","country","banner"],char:"\u{1f1f9}\u{1f1ed}",fitzpatrick_scale:!1,category:"flags"},timor_leste:{keywords:["timor","leste","flag","nation","country","banner"],char:"\u{1f1f9}\u{1f1f1}",fitzpatrick_scale:!1,category:"flags"},togo:{keywords:["tg","flag","nation","country","banner"],char:"\u{1f1f9}\u{1f1ec}",fitzpatrick_scale:!1,category:"flags"},tokelau:{keywords:["tk","flag","nation","country","banner"],char:"\u{1f1f9}\u{1f1f0}",fitzpatrick_scale:!1,category:"flags"},tonga:{keywords:["to","flag","nation","country","banner"],char:"\u{1f1f9}\u{1f1f4}",fitzpatrick_scale:!1,category:"flags"},trinidad_tobago:{keywords:["trinidad","tobago","flag","nation","country","banner"],char:"\u{1f1f9}\u{1f1f9}",fitzpatrick_scale:!1,category:"flags"},tunisia:{keywords:["tn","flag","nation","country","banner"],char:"\u{1f1f9}\u{1f1f3}",fitzpatrick_scale:!1,category:"flags"},tr:{keywords:["turkey","flag","nation","country","banner"],char:"\u{1f1f9}\u{1f1f7}",fitzpatrick_scale:!1,category:"flags"},turkmenistan:{keywords:["flag","nation","country","banner"],char:"\u{1f1f9}\u{1f1f2}",fitzpatrick_scale:!1,category:"flags"},turks_caicos_islands:{keywords:["turks","caicos","islands","flag","nation","country","banner"],char:"\u{1f1f9}\u{1f1e8}",fitzpatrick_scale:!1,category:"flags"},tuvalu:{keywords:["flag","nation","country","banner"],char:"\u{1f1f9}\u{1f1fb}",fitzpatrick_scale:!1,category:"flags"},uganda:{keywords:["ug","flag","nation","country","banner"],char:"\u{1f1fa}\u{1f1ec}",fitzpatrick_scale:!1,category:"flags"},ukraine:{keywords:["ua","flag","nation","country","banner"],char:"\u{1f1fa}\u{1f1e6}",fitzpatrick_scale:!1,category:"flags"},united_arab_emirates:{keywords:["united","arab","emirates","flag","nation","country","banner"],char:"\u{1f1e6}\u{1f1ea}",fitzpatrick_scale:!1,category:"flags"},uk:{keywords:["united","kingdom","great","britain","northern","ireland","flag","nation","country","banner","british","UK","english","england","union jack"],char:"\u{1f1ec}\u{1f1e7}",fitzpatrick_scale:!1,category:"flags"},england:{keywords:["flag","english"],char:"\u{1f3f4}\u{e0067}\u{e0062}\u{e0065}\u{e006e}\u{e0067}\u{e007f}",fitzpatrick_scale:!1,category:"flags"},scotland:{keywords:["flag","scottish"],char:"\u{1f3f4}\u{e0067}\u{e0062}\u{e0073}\u{e0063}\u{e0074}\u{e007f}",fitzpatrick_scale:!1,category:"flags"},wales:{keywords:["flag","welsh"],char:"\u{1f3f4}\u{e0067}\u{e0062}\u{e0077}\u{e006c}\u{e0073}\u{e007f}",fitzpatrick_scale:!1,category:"flags"},us:{keywords:["united","states","america","flag","nation","country","banner"],char:"\u{1f1fa}\u{1f1f8}",fitzpatrick_scale:!1,category:"flags"},us_virgin_islands:{keywords:["virgin","islands","us","flag","nation","country","banner"],char:"\u{1f1fb}\u{1f1ee}",fitzpatrick_scale:!1,category:"flags"},uruguay:{keywords:["uy","flag","nation","country","banner"],char:"\u{1f1fa}\u{1f1fe}",fitzpatrick_scale:!1,category:"flags"},uzbekistan:{keywords:["uz","flag","nation","country","banner"],char:"\u{1f1fa}\u{1f1ff}",fitzpatrick_scale:!1,category:"flags"},vanuatu:{keywords:["vu","flag","nation","country","banner"],char:"\u{1f1fb}\u{1f1fa}",fitzpatrick_scale:!1,category:"flags"},vatican_city:{keywords:["vatican","city","flag","nation","country","banner"],char:"\u{1f1fb}\u{1f1e6}",fitzpatrick_scale:!1,category:"flags"},venezuela:{keywords:["ve","bolivarian","republic","flag","nation","country","banner"],char:"\u{1f1fb}\u{1f1ea}",fitzpatrick_scale:!1,category:"flags"},vietnam:{keywords:["viet","nam","flag","nation","country","banner"],char:"\u{1f1fb}\u{1f1f3}",fitzpatrick_scale:!1,category:"flags"},wallis_futuna:{keywords:["wallis","futuna","flag","nation","country","banner"],char:"\u{1f1fc}\u{1f1eb}",fitzpatrick_scale:!1,category:"flags"},western_sahara:{keywords:["western","sahara","flag","nation","country","banner"],char:"\u{1f1ea}\u{1f1ed}",fitzpatrick_scale:!1,category:"flags"},yemen:{keywords:["ye","flag","nation","country","banner"],char:"\u{1f1fe}\u{1f1ea}",fitzpatrick_scale:!1,category:"flags"},zambia:{keywords:["zm","flag","nation","country","banner"],char:"\u{1f1ff}\u{1f1f2}",fitzpatrick_scale:!1,category:"flags"},zimbabwe:{keywords:["zw","flag","nation","country","banner"],char:"\u{1f1ff}\u{1f1fc}",fitzpatrick_scale:!1,category:"flags"},united_nations:{keywords:["un","flag","banner"],char:"\u{1f1fa}\u{1f1f3}",fitzpatrick_scale:!1,category:"flags"},pirate_flag:{keywords:["skull","crossbones","flag","banner"],char:"\u{1f3f4}\u200d\u2620\ufe0f",fitzpatrick_scale:!1,category:"flags"}}); \ No newline at end of file diff --git a/frontend/public/tinymce/plugins/emoticons/plugin.min.js b/frontend/public/tinymce/plugins/emoticons/plugin.min.js deleted file mode 100644 index 4602b17..0000000 --- a/frontend/public/tinymce/plugins/emoticons/plugin.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/** - * TinyMCE version 7.4.1 (TBD) - */ -!function(){"use strict";var t=tinymce.util.Tools.resolve("tinymce.PluginManager");const e=t=>e=>t===e,o=e(null),n=e(void 0),s=()=>{},r=()=>!1;class a{constructor(t,e){this.tag=t,this.value=e}static some(t){return new a(!0,t)}static none(){return a.singletonNone}fold(t,e){return this.tag?e(this.value):t()}isSome(){return this.tag}isNone(){return!this.tag}map(t){return this.tag?a.some(t(this.value)):a.none()}bind(t){return this.tag?t(this.value):a.none()}exists(t){return this.tag&&t(this.value)}forall(t){return!this.tag||t(this.value)}filter(t){return!this.tag||t(this.value)?this:a.none()}getOr(t){return this.tag?this.value:t}or(t){return this.tag?this:t}getOrThunk(t){return this.tag?this.value:t()}orThunk(t){return this.tag?this:t()}getOrDie(t){if(this.tag)return this.value;throw new Error(null!=t?t:"Called getOrDie on None")}static from(t){return null==t?a.none():a.some(t)}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(t){this.tag&&t(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}a.singletonNone=new a(!1);const i=(t,e)=>{const o=t.length,n=new Array(o);for(let s=0;s{let e=t;return{get:()=>e,set:t=>{e=t}}},c=Object.keys,u=Object.hasOwnProperty,g=(t,e)=>{const o=c(t);for(let n=0,s=o.length;nu.call(t,e),m=(h=(t,e)=>e,(...t)=>{if(0===t.length)throw new Error("Can't merge zero objects");const e={};for(let o=0;o{const t=(t=>{const e=l(a.none()),o=()=>e.get().each(t);return{clear:()=>{o(),e.set(a.none())},isSet:()=>e.get().isSome(),get:()=>e.get(),set:t=>{o(),e.set(a.some(t))}}})(s);return{...t,on:e=>t.get().each(e)}},y=(t,e,o=0,s)=>{const r=t.indexOf(e,o);return-1!==r&&(!!n(s)||r+e.length<=s)};var v=tinymce.util.Tools.resolve("tinymce.Resource");const f=t=>e=>e.options.get(t),b=f("emoticons_database"),w=f("emoticons_database_url"),j=f("emoticons_database_id"),C=f("emoticons_append"),_=f("emoticons_images_url"),A="All",k={symbols:"Symbols",people:"People",animals_and_nature:"Animals and Nature",food_and_drink:"Food and Drink",activity:"Activity",travel_and_places:"Travel and Places",objects:"Objects",flags:"Flags",user:"User Defined"},O=(t,e)=>d(t,e)?t[e]:e,x=t=>{const e=C(t);return o=t=>({keywords:[],category:"user",...t}),((t,e)=>{const o={};return g(t,((t,n)=>{const s=e(t,n);o[s.k]=s.v})),o})(e,((t,e)=>({k:e,v:o(t)})));var o},E=(t,e)=>y(t.title.toLowerCase(),e)||((t,o)=>{for(let o=0,s=t.length;o{const n=[],s=e.toLowerCase(),a=o.fold((()=>r),(t=>e=>e>=t));for(let o=0;o{const n={pattern:"",results:L(e.listAll(),"",a.some(300))},s=l(A),r=((t,e)=>{let n=null;const s=()=>{o(n)||(clearTimeout(n),n=null)};return{cancel:s,throttle:(...e)=>{s(),n=setTimeout((()=>{n=null,t.apply(null,e)}),200)}}})((t=>{(t=>{const o=t.getData(),n=s.get(),r=e.listCategory(n),i=L(r,o[S],n===A?a.some(300):a.none());t.setData({results:i})})(t)})),c={label:"Search",type:"input",name:S},u={type:"collection",name:"results"},g=()=>({title:"Emojis",size:"normal",body:{type:"tabpanel",tabs:i(e.listCategories(),(t=>({title:t,name:t,items:[c,u]})))},initialData:n,onTabChange:(t,e)=>{s.set(e.newTabName),r.throttle(t)},onChange:r.throttle,onAction:(e,o)=>{"results"===o.name&&(((t,e)=>{t.insertContent(e)})(t,o.value),e.close())},buttons:[{type:"cancel",text:"Close",primary:!0}]}),d=t.windowManager.open(g());d.focus(S),e.hasLoaded()||(d.block("Loading emojis..."),e.waitForLoad().then((()=>{d.redial(g()),r.throttle(d),d.focus(S),d.unblock()})).catch((t=>{d.redial({title:"Emojis",body:{type:"panel",items:[{type:"alertbanner",level:"error",icon:"warning",text:"Could not load emojis"}]},buttons:[{type:"cancel",text:"Close",primary:!0}],initialData:{pattern:"",results:[]}}),d.focus(S),d.unblock()})))},T=t=>e=>{const o=()=>{e.setEnabled(t.selection.isEditable())};return t.on("NodeChange",o),o(),()=>{t.off("NodeChange",o)}};t.add("emoticons",((t,e)=>{((t,e)=>{const o=t.options.register;o("emoticons_database",{processor:"string",default:"emojis"}),o("emoticons_database_url",{processor:"string",default:`${e}/js/${b(t)}${t.suffix}.js`}),o("emoticons_database_id",{processor:"string",default:"tinymce.plugins.emoticons"}),o("emoticons_append",{processor:"object",default:{}}),o("emoticons_images_url",{processor:"string",default:"https://cdnjs.cloudflare.com/ajax/libs/twemoji/15.1.0/72x72/"})})(t,e);const o=((t,e,o)=>{const n=p(),s=p(),r=_(t),i=t=>{return o="=4&&e.substr(0,4)===o?t.char.replace(/src="([^"]+)"/,((t,e)=>`src="${r}${e}"`)):t.char;var e,o};t.on("init",(()=>{v.load(o,e).then((e=>{const o=x(t);(t=>{const e={},o=[];g(t,((t,n)=>{const s={title:n,keywords:t.keywords,char:i(t),category:O(k,t.category)},r=void 0!==e[s.category]?e[s.category]:[];e[s.category]=r.concat([s]),o.push(s)})),n.set(e),s.set(o)})(m(e,o))}),(t=>{console.log(`Failed to load emojis: ${t}`),n.set({}),s.set([])}))}));const l=()=>s.get().getOr([]),u=()=>n.isSet()&&s.isSet();return{listCategories:()=>[A].concat(c(n.get().getOr({}))),hasLoaded:u,waitForLoad:()=>u()?Promise.resolve(!0):new Promise(((t,o)=>{let n=15;const s=setInterval((()=>{u()?(clearInterval(s),t(!0)):(n--,n<0&&(console.log("Could not load emojis from url: "+e),clearInterval(s),o(!1)))}),100)})),listAll:l,listCategory:t=>t===A?l():n.get().bind((e=>a.from(e[t]))).getOr([])}})(t,w(t),j(t));return((t,e)=>{t.addCommand("mceEmoticons",(()=>N(t,e)))})(t,o),(t=>{const e=()=>t.execCommand("mceEmoticons");t.ui.registry.addButton("emoticons",{tooltip:"Emojis",icon:"emoji",onAction:e,onSetup:T(t)}),t.ui.registry.addMenuItem("emoticons",{text:"Emojis...",icon:"emoji",onAction:e,onSetup:T(t)})})(t),((t,e)=>{t.ui.registry.addAutocompleter("emoticons",{trigger:":",columns:"auto",minChars:2,fetch:(t,o)=>e.waitForLoad().then((()=>{const n=e.listAll();return L(n,t,a.some(o))})),onAction:(e,o,n)=>{t.selection.setRng(o),t.insertContent(n),e.hide()}})})(t,o),(t=>{t.on("PreInit",(()=>{t.parser.addAttributeFilter("data-emoticon",(t=>{((t,e)=>{for(let e=0,n=t.length;eo.waitForLoad().then((()=>o.listAll()))}}))}(); \ No newline at end of file diff --git a/frontend/public/tinymce/plugins/fullscreen/plugin.min.js b/frontend/public/tinymce/plugins/fullscreen/plugin.min.js deleted file mode 100644 index f61afb7..0000000 --- a/frontend/public/tinymce/plugins/fullscreen/plugin.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/** - * TinyMCE version 7.4.1 (TBD) - */ -!function(){"use strict";const e=e=>{let t=e;return{get:()=>t,set:e=>{t=e}}};var t=tinymce.util.Tools.resolve("tinymce.PluginManager");const n=e=>t=>(e=>{const t=typeof e;return null===e?"null":"object"===t&&Array.isArray(e)?"array":"object"===t&&(n=r=e,(o=String).prototype.isPrototypeOf(n)||(null===(s=r.constructor)||void 0===s?void 0:s.name)===o.name)?"string":t;var n,r,o,s})(t)===e,r=e=>t=>typeof t===e,o=e=>t=>e===t,s=n("string"),i=n("object"),l=n("array"),a=o(null),c=r("boolean"),u=o(void 0),d=e=>!(e=>null==e)(e),m=r("function"),h=r("number"),g=()=>{},p=e=>()=>e;function f(e,...t){return(...n)=>{const r=t.concat(n);return e.apply(null,r)}}const v=p(!1),w=p(!0);class y{constructor(e,t){this.tag=e,this.value=t}static some(e){return new y(!0,e)}static none(){return y.singletonNone}fold(e,t){return this.tag?t(this.value):e()}isSome(){return this.tag}isNone(){return!this.tag}map(e){return this.tag?y.some(e(this.value)):y.none()}bind(e){return this.tag?e(this.value):y.none()}exists(e){return this.tag&&e(this.value)}forall(e){return!this.tag||e(this.value)}filter(e){return!this.tag||e(this.value)?this:y.none()}getOr(e){return this.tag?this.value:e}or(e){return this.tag?this:e}getOrThunk(e){return this.tag?this.value:e()}orThunk(e){return this.tag?this:e()}getOrDie(e){if(this.tag)return this.value;throw new Error(null!=e?e:"Called getOrDie on None")}static from(e){return d(e)?y.some(e):y.none()}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(e){this.tag&&e(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}y.singletonNone=new y(!1);const b=Array.prototype.push,S=(e,t)=>{const n=e.length,r=new Array(n);for(let o=0;o{for(let n=0,r=e.length;n{const n=[];for(let r=0,o=e.length;r((e,t,n)=>{for(let r=0,o=e.length;r{const n=e(y.none()),r=()=>n.get().each(t);return{clear:()=>{r(),n.set(y.none())},isSet:()=>n.get().isSome(),get:()=>n.get(),set:e=>{r(),n.set(y.some(e))}}},k=()=>O((e=>e.unbind())),T=Object.keys,C="undefined"!=typeof window?window:Function("return this;")(),A=(e,t)=>((e,t)=>{let n=null!=t?t:C;for(let t=0;t{const t=A("ownerDocument.defaultView",e);return i(e)&&((e=>((e,t)=>{const n=((e,t)=>A(e,t))(e,t);if(null==n)throw new Error(e+" not available on this browser");return n})("HTMLElement",e))(t).prototype.isPrototypeOf(e)||/^HTML\w*Element$/.test(R(e).constructor.name))},M=e=>t=>(e=>e.dom.nodeType)(t)===e,P=M(1),D=M(3),N=M(11),H=(e,t)=>{const n=e.dom.getAttribute(t);return null===n?void 0:n},V=(e,t)=>{e.dom.removeAttribute(t)},W=(e,t,n=0,r)=>{const o=e.indexOf(t,n);return-1!==o&&(!!u(r)||o+t.length<=r)},q=e=>void 0!==e.style&&m(e.style.getPropertyValue),B=e=>{if(null==e)throw new Error("Node cannot be null or undefined");return{dom:e}},I=B,j=(e,t)=>{const n=e.dom;if(1!==n.nodeType)return!1;{const e=n;if(void 0!==e.matches)return e.matches(t);if(void 0!==e.msMatchesSelector)return e.msMatchesSelector(t);if(void 0!==e.webkitMatchesSelector)return e.webkitMatchesSelector(t);if(void 0!==e.mozMatchesSelector)return e.mozMatchesSelector(t);throw new Error("Browser lacks native selectors")}},_=e=>I(e.dom.ownerDocument),z=e=>S(e.dom.childNodes,I),K=e=>{const t=(e=>I(e.dom.getRootNode()))(e);return N(n=t)&&d(n.dom.host)?y.some(t):y.none();var n},$=e=>I(e.dom.host),U=e=>{const t=D(e)?e.dom.parentNode:e.dom;if(null==t||null===t.ownerDocument)return!1;const n=t.ownerDocument;return K(I(t)).fold((()=>n.body.contains(t)),(r=U,o=$,e=>r(o(e))));var r,o},X=(e,t,n)=>{if(!s(n))throw console.error("Invalid call to CSS.set. Property ",t,":: Value ",n,":: Element ",e),new Error("CSS value must be a string: "+n);q(e)&&e.style.setProperty(t,n)},Y=(e,t,n)=>{const r=e.dom;X(r,t,n)},G=(e,t)=>{const n=e.dom;((e,t)=>{const n=T(e);for(let r=0,o=n.length;r{X(n,t,e)}))},J=(e,t)=>{const n=e.dom,r=window.getComputedStyle(n).getPropertyValue(t);return""!==r||U(e)?r:Q(n,t)},Q=(e,t)=>q(e)?e.style.getPropertyValue(t):"",Z=e=>{const t=I((e=>{if(d(e.target)){const t=I(e.target);if(P(t)&&d(t.dom.shadowRoot)&&e.composed&&e.composedPath){const t=e.composedPath();if(t)return((e,t)=>0e.stopPropagation(),r=()=>e.preventDefault(),o=(s=r,i=n,(...e)=>s(i.apply(null,e)));var s,i;return((e,t,n,r,o,s,i)=>({target:e,x:t,y:n,stop:r,prevent:o,kill:s,raw:i}))(t,e.clientX,e.clientY,n,r,o,e)},ee=(e,t,n,r)=>{e.dom.removeEventListener(t,n,r)},te=w,ne=(e,t,n)=>((e,t,n,r)=>((e,t,n,r,o)=>{const s=((e,t)=>n=>{e(n)&&t(Z(n))})(n,r);return e.dom.addEventListener(t,s,o),{unbind:f(ee,e,t,s,o)}})(e,t,n,r,!1))(e,t,te,n),re=()=>oe(0,0),oe=(e,t)=>({major:e,minor:t}),se={nu:oe,detect:(e,t)=>{const n=String(t).toLowerCase();return 0===e.length?re():((e,t)=>{const n=((e,t)=>{for(let n=0;nNumber(t.replace(n,"$"+e));return oe(r(1),r(2))})(e,n)},unknown:re},ie=(e,t)=>{const n=String(t).toLowerCase();return F(e,(e=>e.search(n)))},le=/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,ae=e=>t=>W(t,e),ce=[{name:"Edge",versionRegexes:[/.*?edge\/ ?([0-9]+)\.([0-9]+)$/],search:e=>W(e,"edge/")&&W(e,"chrome")&&W(e,"safari")&&W(e,"applewebkit")},{name:"Chromium",brand:"Chromium",versionRegexes:[/.*?chrome\/([0-9]+)\.([0-9]+).*/,le],search:e=>W(e,"chrome")&&!W(e,"chromeframe")},{name:"IE",versionRegexes:[/.*?msie\ ?([0-9]+)\.([0-9]+).*/,/.*?rv:([0-9]+)\.([0-9]+).*/],search:e=>W(e,"msie")||W(e,"trident")},{name:"Opera",versionRegexes:[le,/.*?opera\/([0-9]+)\.([0-9]+).*/],search:ae("opera")},{name:"Firefox",versionRegexes:[/.*?firefox\/\ ?([0-9]+)\.([0-9]+).*/],search:ae("firefox")},{name:"Safari",versionRegexes:[le,/.*?cpu os ([0-9]+)_([0-9]+).*/],search:e=>(W(e,"safari")||W(e,"mobile/"))&&W(e,"applewebkit")}],ue=[{name:"Windows",search:ae("win"),versionRegexes:[/.*?windows\ nt\ ?([0-9]+)\.([0-9]+).*/]},{name:"iOS",search:e=>W(e,"iphone")||W(e,"ipad"),versionRegexes:[/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,/.*cpu os ([0-9]+)_([0-9]+).*/,/.*cpu iphone os ([0-9]+)_([0-9]+).*/]},{name:"Android",search:ae("android"),versionRegexes:[/.*?android\ ?([0-9]+)\.([0-9]+).*/]},{name:"macOS",search:ae("mac os x"),versionRegexes:[/.*?mac\ os\ x\ ?([0-9]+)_([0-9]+).*/]},{name:"Linux",search:ae("linux"),versionRegexes:[]},{name:"Solaris",search:ae("sunos"),versionRegexes:[]},{name:"FreeBSD",search:ae("freebsd"),versionRegexes:[]},{name:"ChromeOS",search:ae("cros"),versionRegexes:[/.*?chrome\/([0-9]+)\.([0-9]+).*/]}],de={browsers:p(ce),oses:p(ue)},me="Edge",he="Chromium",ge="Opera",pe="Firefox",fe="Safari",ve=e=>{const t=e.current,n=e.version,r=e=>()=>t===e;return{current:t,version:n,isEdge:r(me),isChromium:r(he),isIE:r("IE"),isOpera:r(ge),isFirefox:r(pe),isSafari:r(fe)}},we=()=>ve({current:void 0,version:se.unknown()}),ye=ve,be=(p(me),p(he),p("IE"),p(ge),p(pe),p(fe),"Windows"),Se="Android",xe="Linux",Ee="macOS",Fe="Solaris",Oe="FreeBSD",ke="ChromeOS",Te=e=>{const t=e.current,n=e.version,r=e=>()=>t===e;return{current:t,version:n,isWindows:r(be),isiOS:r("iOS"),isAndroid:r(Se),isMacOS:r(Ee),isLinux:r(xe),isSolaris:r(Fe),isFreeBSD:r(Oe),isChromeOS:r(ke)}},Ce=()=>Te({current:void 0,version:se.unknown()}),Ae=Te,Re=(p(be),p("iOS"),p(Se),p(xe),p(Ee),p(Fe),p(Oe),p(ke),(e,t,n)=>{const r=de.browsers(),o=de.oses(),s=t.bind((e=>((e,t)=>((e,t)=>{for(let n=0;n{const n=t.brand.toLowerCase();return F(e,(e=>{var t;return n===(null===(t=e.brand)||void 0===t?void 0:t.toLowerCase())})).map((e=>({current:e.name,version:se.nu(parseInt(t.version,10),0)})))})))(r,e))).orThunk((()=>((e,t)=>ie(e,t).map((e=>{const n=se.detect(e.versionRegexes,t);return{current:e.name,version:n}})))(r,e))).fold(we,ye),i=((e,t)=>ie(e,t).map((e=>{const n=se.detect(e.versionRegexes,t);return{current:e.name,version:n}})))(o,e).fold(Ce,Ae),l=((e,t,n,r)=>{const o=e.isiOS()&&!0===/ipad/i.test(n),s=e.isiOS()&&!o,i=e.isiOS()||e.isAndroid(),l=i||r("(pointer:coarse)"),a=o||!s&&i&&r("(min-device-width:768px)"),c=s||i&&!a,u=t.isSafari()&&e.isiOS()&&!1===/safari/i.test(n),d=!c&&!a&&!u;return{isiPad:p(o),isiPhone:p(s),isTablet:p(a),isPhone:p(c),isTouch:p(l),isAndroid:e.isAndroid,isiOS:e.isiOS,isWebView:p(u),isDesktop:p(d)}})(i,s,e,n);return{browser:s,os:i,deviceType:l}}),Le=e=>window.matchMedia(e).matches;let Me=(e=>{let t,n=!1;return(...r)=>(n||(n=!0,t=e.apply(null,r)),t)})((()=>Re(window.navigator.userAgent,y.from(window.navigator.userAgentData),Le)));const Pe=(e,t)=>({left:e,top:t,translate:(n,r)=>Pe(e+n,t+r)}),De=Pe,Ne=e=>{const t=void 0===e?window:e;return Me().browser.isFirefox()?y.none():y.from(t.visualViewport)},He=(e,t,n,r)=>({x:e,y:t,width:n,height:r,right:e+n,bottom:t+r}),Ve=e=>{const t=void 0===e?window:e,n=t.document,r=(e=>{const t=void 0!==e?e.dom:document,n=t.body.scrollLeft||t.documentElement.scrollLeft,r=t.body.scrollTop||t.documentElement.scrollTop;return De(n,r)})(I(n));return Ne(t).fold((()=>{const e=t.document.documentElement,n=e.clientWidth,o=e.clientHeight;return He(r.left,r.top,n,o)}),(e=>He(Math.max(e.pageLeft,r.left),Math.max(e.pageTop,r.top),e.width,e.height)))},We=(e,t,n)=>Ne(n).map((n=>{const r=e=>t(Z(e));return n.addEventListener(e,r),{unbind:()=>n.removeEventListener(e,r)}})).getOrThunk((()=>({unbind:g})));var qe=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),Be=tinymce.util.Tools.resolve("tinymce.Env");const Ie=(e,t)=>{e.dispatch("FullscreenStateChanged",{state:t}),e.dispatch("ResizeEditor")},je=("fullscreen_native",e=>e.options.get("fullscreen_native"));const _e=e=>{return e.dom===(void 0!==(t=_(e).dom).fullscreenElement?t.fullscreenElement:void 0!==t.msFullscreenElement?t.msFullscreenElement:void 0!==t.webkitFullscreenElement?t.webkitFullscreenElement:null);var t},ze=(e,t,n)=>((e,t,n)=>E(((e,t)=>{const n=m(t)?t:v;let r=e.dom;const o=[];for(;null!==r.parentNode&&void 0!==r.parentNode;){const e=r.parentNode,t=I(e);if(o.push(t),!0===n(t))break;r=e}return o})(e,n),t))(e,(e=>j(e,t)),n),Ke=(e,t)=>((e,n)=>{return E((e=>y.from(e.dom.parentNode).map(I))(r=e).map(z).map((e=>E(e,(e=>{return t=e,!(r.dom===t.dom);var t})))).getOr([]),(e=>j(e,t)));var r})(e),$e="data-ephox-mobile-fullscreen-style",Ue="position:absolute!important;",Xe="top:0!important;left:0!important;margin:0!important;padding:0!important;width:100%!important;height:100%!important;overflow:visible!important;",Ye=Be.os.isAndroid(),Ge=(e,t,n)=>{const r=t=>n=>{const r=H(n,"style"),o=void 0===r?"no-styles":r.trim();o!==t&&(((e,t,n)=>{((e,t,n)=>{if(!(s(n)||c(n)||h(n)))throw console.error("Invalid call to Attribute.set. Key ",t,":: Value ",n,":: Element ",e),new Error("Attribute value was not simple");e.setAttribute(t,n+"")})(e.dom,t,n)})(n,$e,o),G(n,e.parseStyle(t)))},o=ze(t,"*"),i=(e=>{const t=[];for(let n=0,r=e.length;nKe(e,"*:not(.tox-silver-sink)")))),a=(e=>{const t=J(e,"background-color");return void 0!==t&&""!==t?"background-color:"+t+"!important":"background-color:rgb(255,255,255)!important;"})(n);x(i,r("display:none!important;")),x(o,r(Ue+Xe+a)),r((!0===Ye?"":Ue)+Xe+a)(t)},Je=qe.DOM,Qe=Ne().fold((()=>({bind:g,unbind:g})),(e=>{const t=(()=>{const e=O(g);return{...e,on:t=>e.get().each(t)}})(),n=k(),r=k(),o=((e,t)=>{let n=null;return{cancel:()=>{a(n)||(clearTimeout(n),n=null)},throttle:(...t)=>{a(n)&&(n=setTimeout((()=>{n=null,e.apply(null,t)}),50))}}})((()=>{document.body.scrollTop=0,document.documentElement.scrollTop=0,window.requestAnimationFrame((()=>{t.on((t=>G(t,{top:e.offsetTop+"px",left:e.offsetLeft+"px",height:e.height+"px",width:e.width+"px"})))}))}));return{bind:e=>{t.set(e),o.throttle(),n.set(We("resize",o.throttle)),r.set(We("scroll",o.throttle))},unbind:()=>{t.on((()=>{n.clear(),r.clear()})),t.clear()}}})),Ze=(e,t)=>{const n=document.body,r=document.documentElement,o=e.getContainer(),s=I(o),i=(l=s,y.from(l.dom.nextSibling).map(I)).filter((e=>(e=>P(e)&&L(e.dom))(e)&&((e,t)=>(e=>void 0!==e.dom.classList)(e)&&e.dom.classList.contains("tox-silver-sink"))(e)));var l;const a=(e=>{const t=I(e.getElement());return K(t).map($).getOrThunk((()=>(e=>{const t=e.dom.body;if(null==t)throw new Error("Body is not available yet");return I(t)})(_(t))))})(e),c=t.get(),u=I(e.getBody()),d=Be.deviceType.isTouch(),m=o.style,h=e.iframeElement,g=null==h?void 0:h.style,p=e=>{e(n,"tox-fullscreen"),e(r,"tox-fullscreen"),e(o,"tox-fullscreen"),K(s).map((e=>$(e).dom)).each((t=>{e(t,"tox-fullscreen"),e(t,"tox-shadowhost")}))},f=()=>{d&&(e=>{const t=((e,t)=>{const n=document;return 1!==(r=n).nodeType&&9!==r.nodeType&&11!==r.nodeType||0===r.childElementCount?[]:S(n.querySelectorAll(e),I);var r})("["+$e+"]");x(t,(t=>{const n=H(t,$e);n&&"no-styles"!==n?G(t,e.parseStyle(n)):V(t,"style"),V(t,$e)}))})(e.dom),p(Je.removeClass),Qe.unbind(),y.from(t.get()).each((e=>e.fullscreenChangeHandler.unbind()))};if(c)c.fullscreenChangeHandler.unbind(),je(e)&&_e(a)&&(e=>{const t=e.dom;t.exitFullscreen?t.exitFullscreen():t.msExitFullscreen?t.msExitFullscreen():t.webkitCancelFullScreen&&t.webkitCancelFullScreen()})(_(a)),g.width=c.iframeWidth,g.height=c.iframeHeight,m.width=c.containerWidth,m.height=c.containerHeight,m.top=c.containerTop,m.left=c.containerLeft,w=i,b=c.sinkCssPosition,E=(e,t)=>{Y(e,"position",t)},w.isSome()&&b.isSome()?y.some(E(w.getOrDie(),b.getOrDie())):y.none(),f(),v=c.scrollPos,window.scrollTo(v.x,v.y),t.set(null),Ie(e,!1),e.off("remove",f);else{const n=ne(_(a),void 0!==document.fullscreenElement?"fullscreenchange":void 0!==document.msFullscreenElement?"MSFullscreenChange":void 0!==document.webkitFullscreenElement?"webkitfullscreenchange":"fullscreenchange",(n=>{je(e)&&(_e(a)||null===t.get()||Ze(e,t))})),r={scrollPos:Ve(window),containerWidth:m.width,containerHeight:m.height,containerTop:m.top,containerLeft:m.left,iframeWidth:g.width,iframeHeight:g.height,fullscreenChangeHandler:n,sinkCssPosition:i.map((e=>J(e,"position")))};d&&Ge(e.dom,s,u),g.width=g.height="100%",m.width=m.height="",p(Je.addClass),i.each((e=>{Y(e,"position","fixed")})),Qe.bind(s),e.on("remove",f),t.set(r),je(e)&&(e=>{const t=e.dom;t.requestFullscreen?t.requestFullscreen():t.msRequestFullscreen?t.msRequestFullscreen():t.webkitRequestFullScreen&&t.webkitRequestFullScreen()})(a),Ie(e,!0)}var v,w,b,E};var et=tinymce.util.Tools.resolve("tinymce.util.VK");const tt=(e,t)=>n=>{n.setActive(null!==t.get());const r=e=>n.setActive(e.state);return e.on("FullscreenStateChanged",r),()=>e.off("FullscreenStateChanged",r)};t.add("fullscreen",(t=>{const n=e(null);return t.inline||((e=>{(0,e.options.register)("fullscreen_native",{processor:"boolean",default:!1})})(t),((e,t)=>{e.addCommand("mceFullScreen",(()=>{Ze(e,t)}))})(t,n),((e,t)=>{const n=()=>e.execCommand("mceFullScreen");e.ui.registry.addToggleMenuItem("fullscreen",{text:"Fullscreen",icon:"fullscreen",shortcut:"Meta+Shift+F",onAction:n,onSetup:tt(e,t),context:"any"}),e.ui.registry.addToggleButton("fullscreen",{tooltip:"Fullscreen",icon:"fullscreen",onAction:n,onSetup:tt(e,t),shortcut:"Meta+Shift+F",context:"any"})})(t,n),((e,t)=>{e.on("init",(()=>{e.on("keydown",(e=>{e.keyCode!==et.TAB||e.metaKey||e.ctrlKey||!t.get()||e.preventDefault()}))}))})(t,n),t.addShortcut("Meta+Shift+F","","mceFullScreen")),(e=>({isFullscreen:()=>null!==e.get()}))(n)}))}(); \ No newline at end of file diff --git a/frontend/public/tinymce/plugins/help/js/i18n/keynav/ar.js b/frontend/public/tinymce/plugins/help/js/i18n/keynav/ar.js deleted file mode 100644 index e2cf02f..0000000 --- a/frontend/public/tinymce/plugins/help/js/i18n/keynav/ar.js +++ /dev/null @@ -1,93 +0,0 @@ -tinymce.Resource.add('tinymce.html-i18n.help-keynav.ar', -'

بدء التنقل بواسطة لوحة المفاتيح

\n' + - '\n' + - '
\n' + - '
التركيز على شريط القوائم
\n' + - '
نظاما التشغيل Windows أو Linux: Alt + F9
\n' + - '
نظام التشغيل macOS: ⌥F9
\n' + - '
التركيز على شريط الأدوات
\n' + - '
نظاما التشغيل Windows أو Linux: Alt + F10
\n' + - '
نظام التشغيل macOS: ⌥F10
\n' + - '
التركيز على التذييل
\n' + - '
نظاما التشغيل Windows أو Linux: Alt + F11
\n' + - '
نظام التشغيل macOS: ⌥F11
\n' + - '
تركيز الإشعارات
\n' + - '
نظاما التشغيل Windows أو Linux: Alt + F12
\n' + - '
نظام التشغيل macOS: ⌥F12
\n' + - '
التركيز على شريط أدوات السياق
\n' + - '
أنظمة التشغيل Windows أو Linux أو macOS: Ctrl+F9
\n' + - '
\n' + - '\n' + - '

سيبدأ التنقل عند عنصر واجهة المستخدم الأول، والذي سيتم تمييزه أو تسطيره في حالة العنصر الأول في\n' + - ' مسار عنصر التذييل.

\n' + - '\n' + - '

التنقل بين أقسام واجهة المستخدم

\n' + - '\n' + - '

للانتقال من أحد أقسام واجهة المستخدم إلى القسم التالي، اضغط على Tab.

\n' + - '\n' + - '

للانتقال من أحد أقسام واجهة المستخدم إلى القسم السابق، اضغط على Shift+Tab.

\n' + - '\n' + - '

ترتيب علامات Tab لأقسام واجهة المستخدم هذه هو:

\n' + - '\n' + - '
    \n' + - '
  1. شريط القوائم
  2. \n' + - '
  3. كل مجموعة شريط الأدوات
  4. \n' + - '
  5. الشريط الجانبي
  6. \n' + - '
  7. مسار العنصر في التذييل
  8. \n' + - '
  9. زر تبديل عدد الكلمات في التذييل
  10. \n' + - '
  11. رابط إدراج العلامة التجارية في التذييل
  12. \n' + - '
  13. مؤشر تغيير حجم المحرر في التذييل
  14. \n' + - '
\n' + - '\n' + - '

إذا لم يكن قسم واجهة المستخدم موجودًا، فسيتم تخطيه.

\n' + - '\n' + - '

إذا كان التذييل يحتوي على التركيز على ‏‫التنقل بواسطة لوحة المفاتيح، ولا يوجد شريط جانبي مرئي، فإن الضغط على Shift+Tab\n' + - ' ينقل التركيز إلى مجموعة شريط الأدوات الأولى، وليس الأخيرة.

\n' + - '\n' + - '

التنقل بين أقسام واجهة المستخدم

\n' + - '\n' + - '

للانتقال من أحد عناصر واجهة المستخدم إلى العنصر التالي، اضغط على مفتاح السهم المناسب.

\n' + - '\n' + - '

مفتاحا السهمين اليسار‎ واليمين‎

\n' + - '\n' + - '
    \n' + - '
  • التنقل بين القوائم في شريط القوائم.
  • \n' + - '
  • فتح قائمة فرعية في القائمة.
  • \n' + - '
  • التنقل بين الأزرار في مجموعة شريط الأدوات.
  • \n' + - '
  • التنقل بين العناصر في مسار عنصر التذييل.
  • \n' + - '
\n' + - '\n' + - '

مفتاحا السهمين لأسفل‎ ولأعلى‎

\n' + - '\n' + - '
    \n' + - '
  • التنقل بين عناصر القائمة في القائمة.
  • \n' + - '
  • التنقل بين العناصر في قائمة شريط الأدوات المنبثقة.
  • \n' + - '
\n' + - '\n' + - '

دورة مفاتيح الأسهم‎ داخل قسم واجهة المستخدم التي تم التركيز عليها.

\n' + - '\n' + - '

لإغلاق قائمة مفتوحة أو قائمة فرعية مفتوحة أو قائمة منبثقة مفتوحة، اضغط على مفتاح Esc.

\n' + - '\n' + - '

إذا كان التركيز الحالي على "الجزء العلوي" من قسم معين لواجهة المستخدم، فإن الضغط على مفتاح Esc يؤدي أيضًا إلى الخروج\n' + - ' من التنقل بواسطة لوحة المفاتيح بالكامل.

\n' + - '\n' + - '

تنفيذ عنصر قائمة أو زر شريط أدوات

\n' + - '\n' + - '

عندما يتم تمييز عنصر القائمة المطلوب أو زر شريط الأدوات، اضغط على زر Return، أو Enter،\n' + - ' أو مفتاح المسافة لتنفيذ العنصر.

\n' + - '\n' + - '

التنقل في مربعات الحوار غير المبوبة

\n' + - '\n' + - '

في مربعات الحوار غير المبوبة، يتم التركيز على المكون التفاعلي الأول عند فتح مربع الحوار.

\n' + - '\n' + - '

التنقل بين مكونات الحوار التفاعلي بالضغط على زر Tab أو Shift+Tab.

\n' + - '\n' + - '

التنقل في مربعات الحوار المبوبة

\n' + - '\n' + - '

في مربعات الحوار المبوبة، يتم التركيز على الزر الأول في قائمة علامات التبويب عند فتح مربع الحوار.

\n' + - '\n' + - '

التنقل بين المكونات التفاعلية لعلامة التبويب لمربع الحوار هذه بالضغط على زر Tab أو\n' + - ' Shift+Tab.

\n' + - '\n' + - '

التبديل إلى علامة تبويب أخرى لمربع الحوار من خلال التركيز على قائمة علامة التبويب ثم الضغط على زر السهم المناسب\n' + - ' مفتاح للتنقل بين علامات التبويب المتاحة.

\n'); \ No newline at end of file diff --git a/frontend/public/tinymce/plugins/help/js/i18n/keynav/bg_BG.js b/frontend/public/tinymce/plugins/help/js/i18n/keynav/bg_BG.js deleted file mode 100644 index 09eacf3..0000000 --- a/frontend/public/tinymce/plugins/help/js/i18n/keynav/bg_BG.js +++ /dev/null @@ -1,93 +0,0 @@ -tinymce.Resource.add('tinymce.html-i18n.help-keynav.bg_BG', -'

Начало на навигацията с клавиатурата

\n' + - '\n' + - '
\n' + - '
Фокусиране върху лентата с менюта
\n' + - '
Windows или Linux: Alt+F9
\n' + - '
macOS: ⌥F9
\n' + - '
Фокусиране върху лентата с инструменти
\n' + - '
Windows или Linux: Alt+F10
\n' + - '
macOS: ⌥F10
\n' + - '
Фокусиране върху долния колонтитул
\n' + - '
Windows или Linux: Alt+F11
\n' + - '
macOS: ⌥F11
\n' + - '
Фокусиране на известието
\n' + - '
Windows или Linux: Alt+F12
\n' + - '
macOS: ⌥F12
\n' + - '
Фокусиране върху контекстуалната лента с инструменти
\n' + - '
Windows, Linux или macOS: Ctrl+F9
\n' + - '
\n' + - '\n' + - '

Навигацията ще започне с първия елемент на ПИ, който ще бъде маркиран или подчертан в случая на първия елемент в\n' + - ' пътя до елемента в долния колонтитул.

\n' + - '\n' + - '

Навигиране между раздели на ПИ

\n' + - '\n' + - '

За да преминете от един раздел на ПИ към следващия, натиснете Tab.

\n' + - '\n' + - '

За да преминете от един раздел на ПИ към предишния, натиснете Shift+Tab.

\n' + - '\n' + - '

Редът за обхождане с табулация на тези раздели на ПИ е:

\n' + - '\n' + - '
    \n' + - '
  1. Лентата с менюта
  2. \n' + - '
  3. Всяка група на лентата с инструменти
  4. \n' + - '
  5. Страничната лента
  6. \n' + - '
  7. Пътят до елемента в долния колонтитул
  8. \n' + - '
  9. Бутонът за превключване на броя на думите в долния колонтитул
  10. \n' + - '
  11. Връзката за търговска марка в долния колонтитул
  12. \n' + - '
  13. Манипулаторът за преоразмеряване на редактора в долния колонтитул
  14. \n' + - '
\n' + - '\n' + - '

Ако някой раздел на ПИ липсва, той се пропуска.

\n' + - '\n' + - '

Ако долният колонтитул има фокус за навигация с клавиатурата и няма странична лента, натискането на Shift+Tab\n' + - ' премества фокуса към първата група на лентата с инструменти, а не към последната.

\n' + - '\n' + - '

Навигиране в разделите на ПИ

\n' + - '\n' + - '

За да преминете от един елемент на ПИ към следващия, натиснете съответния клавиш със стрелка.

\n' + - '\n' + - '

С клавишите със стрелка наляво и надясно

\n' + - '\n' + - '
    \n' + - '
  • се придвижвате между менютата в лентата с менюто;
  • \n' + - '
  • отваряте подменю в меню;
  • \n' + - '
  • се придвижвате между бутоните в група на лентата с инструменти;
  • \n' + - '
  • се придвижвате между елементи в пътя до елемент в долния колонтитул.
  • \n' + - '
\n' + - '\n' + - '

С клавишите със стрелка надолу и нагоре

\n' + - '\n' + - '
    \n' + - '
  • се придвижвате между елементите от менюто в дадено меню;
  • \n' + - '
  • се придвижвате между елементите в изскачащо меню на лентата с инструменти.
  • \n' + - '
\n' + - '\n' + - '

Клавишите със стрелки се придвижват в рамките на фокусирания раздел на ПИ.

\n' + - '\n' + - '

За да затворите отворено меню, подменю или изскачащо меню, натиснете клавиша Esc.

\n' + - '\n' + - '

Ако текущият фокус е върху „горната част“ на конкретен раздел на ПИ, натискането на клавиша Esc също излиза\n' + - ' напълно от навигацията с клавиатурата.

\n' + - '\n' + - '

Изпълнение на елемент от менюто или бутон от лентата с инструменти

\n' + - '\n' + - '

Когато желаният елемент от менюто или бутон от лентата с инструменти е маркиран, натиснете Return, Enter\n' + - ' или клавиша за интервал, за да изпълните елемента.

\n' + - '\n' + - '

Навигиране в диалогови прозорци без раздели

\n' + - '\n' + - '

В диалоговите прозорци без раздели първият интерактивен компонент се фокусира, когато се отвори диалоговият прозорец.

\n' + - '\n' + - '

Навигирайте между интерактивните компоненти на диалоговия прозорец, като натиснете Tab или Shift+Tab.

\n' + - '\n' + - '

Навигиране в диалогови прозорци с раздели

\n' + - '\n' + - '

В диалоговите прозорци с раздели първият бутон в менюто с раздели се фокусира, когато се отвори диалоговият прозорец.

\n' + - '\n' + - '

Навигирайте между интерактивните компоненти на този диалогов раздел, като натиснете Tab или\n' + - ' Shift+Tab.

\n' + - '\n' + - '

Превключете към друг диалогов раздел, като фокусирате върху менюто с раздели и след това натиснете съответния клавиш със стрелка,\n' + - ' за да преминете през наличните раздели.

\n'); \ No newline at end of file diff --git a/frontend/public/tinymce/plugins/help/js/i18n/keynav/ca.js b/frontend/public/tinymce/plugins/help/js/i18n/keynav/ca.js deleted file mode 100644 index 996e29c..0000000 --- a/frontend/public/tinymce/plugins/help/js/i18n/keynav/ca.js +++ /dev/null @@ -1,93 +0,0 @@ -tinymce.Resource.add('tinymce.html-i18n.help-keynav.ca', -'

Inici de la navegació amb el teclat

\n' + - '\n' + - '
\n' + - '
Enfocar la barra de menús
\n' + - '
Windows o Linux: Alt+F9
\n' + - '
macOS: ⌥F9
\n' + - "
Enfocar la barra d'eines
\n" + - '
Windows o Linux: Alt+F10
\n' + - '
macOS: ⌥F10
\n' + - '
Enfocar el peu de pàgina
\n' + - '
Windows o Linux: Alt+F11
\n' + - '
macOS: ⌥F11
\n' + - '
Enfocar la notificació
\n' + - '
Windows o Linux: Alt+F12
\n' + - '
macOS: ⌥F12
\n' + - "
Enfocar una barra d'eines contextual
\n" + - '
Windows, Linux o macOS: Ctrl+F9
\n' + - '
\n' + - '\n' + - "

La navegació començarà en el primer element de la interfície d'usuari, que es ressaltarà o subratllarà per al primer element a\n" + - " la ruta de l'element de peu de pàgina.

\n" + - '\n' + - "

Navegació entre seccions de la interfície d'usuari

\n" + - '\n' + - "

Per desplaçar-vos des d'una secció de la interfície d'usuari a la següent, premeu la tecla Tab.

\n" + - '\n' + - "

Per desplaçar-vos des d'una secció de la interfície d'usuari a l'anterior, premeu les tecles Maj+Tab.

\n" + - '\n' + - "

L'ordre en prémer la tecla Tab d'aquestes secciones de la interfície d'usuari és:

\n" + - '\n' + - '
    \n' + - '
  1. Barra de menús
  2. \n' + - "
  3. Cada grup de la barra d'eines
  4. \n" + - '
  5. Barra lateral
  6. \n' + - "
  7. Ruta de l'element del peu de pàgina
  8. \n" + - '
  9. Botó de commutació de recompte de paraules al peu de pàgina
  10. \n' + - '
  11. Enllaç de marca del peu de pàgina
  12. \n' + - "
  13. Control de canvi de mida de l'editor al peu de pàgina
  14. \n" + - '
\n' + - '\n' + - "

Si no hi ha una secció de la interfície d'usuari, s'ometrà.

\n" + - '\n' + - '

Si el peu de pàgina té el focus de navegació del teclat i no hi ha cap barra lateral visible, en prémer Maj+Tab\n' + - " el focus es mou al primer grup de la barra d'eines, no l'últim.

\n" + - '\n' + - "

Navegació dins de les seccions de la interfície d'usuari

\n" + - '\n' + - "

Per desplaçar-vos des d'un element de la interfície d'usuari al següent, premeu la tecla de Fletxa adequada.

\n" + - '\n' + - '

Les tecles de fletxa Esquerra i Dreta

\n' + - '\n' + - '
    \n' + - '
  • us permeten desplaçar-vos entre menús de la barra de menús.
  • \n' + - '
  • obren un submenú en un menú.
  • \n' + - "
  • us permeten desplaçar-vos entre botons d'un grup de la barra d'eines.
  • \n" + - "
  • us permeten desplaçar-vos entre elements de la ruta d'elements del peu de pàgina.
  • \n" + - '
\n' + - '\n' + - '

Les tecles de fletxa Avall i Amunt

\n' + - '\n' + - '
    \n' + - "
  • us permeten desplaçar-vos entre elements de menú d'un menú.
  • \n" + - "
  • us permeten desplaçar-vos entre elements d'un menú emergent de la barra d'eines.
  • \n" + - '
\n' + - '\n' + - "

Les tecles de Fletxa us permeten desplaçar-vos dins de la secció de la interfície d'usuari que té el focus.

\n" + - '\n' + - '

Per tancar un menú, un submenú o un menú emergent oberts, premeu la tecla Esc.

\n' + - '\n' + - "

Si el focus actual es troba a la ‘part superior’ d'una secció específica de la interfície d'usuari, en prémer la tecla Esc també es tanca\n" + - ' completament la navegació amb el teclat.

\n' + - '\n' + - "

Execució d'un element de menú o d'un botó de la barra d'eines

\n" + - '\n' + - "

Quan l'element del menú o el botó de la barra d'eines que desitgeu estigui ressaltat, premeu Retorn, Intro\n" + - " o la barra d'espai per executar l'element.

\n" + - '\n' + - '

Navegació per quadres de diàleg sense pestanyes

\n' + - '\n' + - "

En els quadres de diàleg sense pestanyes, el primer component interactiu pren el focus quan s'obre el quadre diàleg.

\n" + - '\n' + - '

Premeu la tecla Tab o les tecles Maj+Tab per desplaçar-vos entre components interactius del quadre de diàleg.

\n' + - '\n' + - '

Navegació per quadres de diàleg amb pestanyes

\n' + - '\n' + - "

En els quadres de diàleg amb pestanyes, el primer botó del menú de la pestanya pren el focus quan s'obre el quadre diàleg.

\n" + - '\n' + - "

Per desplaçar-vos entre components interactius d'aquest quadre de diàleg, premeu la tecla Tab o\n" + - ' les tecles Maj+Tab.

\n' + - '\n' + - "

Canvieu a la pestanya d'un altre quadre de diàleg, tot enfocant el menú de la pestanya, i després premeu la tecla Fletxa adequada\n" + - ' per canviar entre les pestanyes disponibles.

\n'); \ No newline at end of file diff --git a/frontend/public/tinymce/plugins/help/js/i18n/keynav/cs.js b/frontend/public/tinymce/plugins/help/js/i18n/keynav/cs.js deleted file mode 100644 index 4a5a902..0000000 --- a/frontend/public/tinymce/plugins/help/js/i18n/keynav/cs.js +++ /dev/null @@ -1,93 +0,0 @@ -tinymce.Resource.add('tinymce.html-i18n.help-keynav.cs', -'

Začínáme navigovat pomocí klávesnice

\n' + - '\n' + - '
\n' + - '
Přejít na řádek nabídek
\n' + - '
Windows nebo Linux: Alt+F9
\n' + - '
macOS: ⌥F9
\n' + - '
Přejít na panel nástrojů
\n' + - '
Windows nebo Linux: Alt+F10
\n' + - '
macOS: ⌥F10
\n' + - '
Přejít na zápatí
\n' + - '
Windows nebo Linux: Alt+F11
\n' + - '
macOS: ⌥F11
\n' + - '
Přejít na oznámení
\n' + - '
Windows nebo Linux: Alt+F12
\n' + - '
macOS: ⌥F12
\n' + - '
Přejít na kontextový panel nástrojů
\n' + - '
Windows, Linux nebo macOS: Ctrl+F9
\n' + - '
\n' + - '\n' + - '

Navigace začne u první položky uživatelského rozhraní, která bude zvýrazněna nebo v případě první položky\n' + - ' cesty k prvku zápatí podtržena.

\n' + - '\n' + - '

Navigace mezi oddíly uživatelského rozhraní

\n' + - '\n' + - '

Stisknutím klávesy Tab se posunete z jednoho oddílu uživatelského rozhraní na další.

\n' + - '\n' + - '

Stisknutím kláves Shift+Tab se posunete z jednoho oddílu uživatelského rozhraní na předchozí.

\n' + - '\n' + - '

Pořadí přepínání mezi oddíly uživatelského rozhraní pomocí klávesy Tab:

\n' + - '\n' + - '
    \n' + - '
  1. Řádek nabídek
  2. \n' + - '
  3. Každá skupina panelu nástrojů
  4. \n' + - '
  5. Boční panel
  6. \n' + - '
  7. Cesta k prvku v zápatí.
  8. \n' + - '
  9. Tlačítko přepínače počtu slov v zápatí
  10. \n' + - '
  11. Odkaz na informace o značce v zápatí
  12. \n' + - '
  13. Úchyt pro změnu velikosti editoru v zápatí
  14. \n' + - '
\n' + - '\n' + - '

Pokud nějaký oddíl uživatelského rozhraní není přítomen, je přeskočen.

\n' + - '\n' + - '

Pokud je zápatí vybrané pro navigaci pomocí klávesnice a není zobrazen žádný boční panel, stisknutím kláves Shift+Tab\n' + - ' přejdete na první skupinu panelu nástrojů, nikoli na poslední.

\n' + - '\n' + - '

Navigace v rámci oddílů uživatelského rozhraní

\n' + - '\n' + - '

Chcete-li se přesunout z jednoho prvku uživatelského rozhraní na další, stiskněte příslušnou klávesu s šipkou.

\n' + - '\n' + - '

Klávesy s šipkou vlevovpravo

\n' + - '\n' + - '
    \n' + - '
  • umožňují přesun mezi nabídkami na řádku nabídek;
  • \n' + - '
  • otevírají podnabídku nabídky;
  • \n' + - '
  • umožňují přesun mezi tlačítky ve skupině panelu nástrojů;
  • \n' + - '
  • umožňují přesun mezi položkami cesty prvku v zápatí.
  • \n' + - '
\n' + - '\n' + - '

Klávesy se šipkou dolůnahoru

\n' + - '\n' + - '
    \n' + - '
  • umožňují přesun mezi položkami nabídky;
  • \n' + - '
  • umožňují přesun mezi položkami místní nabídky panelu nástrojů.
  • \n' + - '
\n' + - '\n' + - '

Šipky provádí přepínání v rámci vybraného oddílu uživatelského rozhraní.

\n' + - '\n' + - '

Chcete-li zavřít otevřenou nabídku, podnabídku nebo místní nabídku, stiskněte klávesu Esc.

\n' + - '\n' + - '

Pokud je aktuálně vybrána horní část oddílu uživatelského rozhraní, stisknutím klávesy Esc zcela ukončíte také\n' + - ' navigaci pomocí klávesnice.

\n' + - '\n' + - '

Provedení příkazu položky nabídky nebo tlačítka panelu nástrojů

\n' + - '\n' + - '

Pokud je zvýrazněna požadovaná položka nabídky nebo tlačítko panelu nástrojů, stisknutím klávesy Return, Enter\n' + - ' nebo mezerníku provedete příslušný příkaz.

\n' + - '\n' + - '

Navigace v dialogových oknech bez záložek

\n' + - '\n' + - '

Při otevření dialogových oken bez záložek přejdete na první interaktivní komponentu.

\n' + - '\n' + - '

Přecházet mezi interaktivními komponentami dialogového okna můžete stisknutím klávesy Tab nebo kombinace Shift+Tab.

\n' + - '\n' + - '

Navigace v dialogových oknech se záložkami

\n' + - '\n' + - '

Při otevření dialogových oken se záložkami přejdete na první tlačítko v nabídce záložek.

\n' + - '\n' + - '

Přecházet mezi interaktivními komponentami této záložky dialogového okna můžete stisknutím klávesy Tab nebo\n' + - ' kombinace Shift+Tab.

\n' + - '\n' + - '

Chcete-li přepnout na další záložku dialogového okna, přejděte na nabídku záložek a poté můžete stisknutím požadované šipky\n' + - ' přepínat mezi dostupnými záložkami.

\n'); \ No newline at end of file diff --git a/frontend/public/tinymce/plugins/help/js/i18n/keynav/da.js b/frontend/public/tinymce/plugins/help/js/i18n/keynav/da.js deleted file mode 100644 index 4d1e1d4..0000000 --- a/frontend/public/tinymce/plugins/help/js/i18n/keynav/da.js +++ /dev/null @@ -1,93 +0,0 @@ -tinymce.Resource.add('tinymce.html-i18n.help-keynav.da', -'

Start tastaturnavigation

\n' + - '\n' + - '
\n' + - '
Fokuser på menulinjen
\n' + - '
Windows eller Linux: Alt+F9
\n' + - '
macOS: ⌥F9
\n' + - '
Fokuser på værktøjslinjen
\n' + - '
Windows eller Linux: Alt+F10
\n' + - '
macOS: ⌥F10
\n' + - '
Fokuser på sidefoden
\n' + - '
Windows eller Linux: Alt+F11
\n' + - '
macOS: ⌥F11
\n' + - '
Fokuser på meddelelsen
\n' + - '
Windows eller Linux: Alt+F12
\n' + - '
macOS: ⌥F12
\n' + - '
Fokuser på kontekstuel værktøjslinje
\n' + - '
Windows, Linux eller macOS: Ctrl+F9
\n' + - '
\n' + - '\n' + - '

Navigationen starter ved det første UI-element, som fremhæves eller understreges hvad angår det første element i\n' + - ' sidefodens sti til elementet.

\n' + - '\n' + - '

Naviger mellem UI-sektioner

\n' + - '\n' + - '

Gå fra én UI-sektion til den næste ved at trykke på Tab.

\n' + - '\n' + - '

Gå fra én UI-sektion til den forrige ved at trykke på Shift+Tab.

\n' + - '\n' + - '

Tab-rækkefølgen af disse UI-sektioner er:

\n' + - '\n' + - '
    \n' + - '
  1. Menulinje
  2. \n' + - '
  3. Hver værktøjsgruppe
  4. \n' + - '
  5. Sidepanel
  6. \n' + - '
  7. Sti til elementet i sidefoden
  8. \n' + - '
  9. Til/fra-knap for ordoptælling i sidefoden
  10. \n' + - '
  11. Brandinglink i sidefoden
  12. \n' + - '
  13. Tilpasningshåndtag for editor i sidefoden
  14. \n' + - '
\n' + - '\n' + - '

Hvis en UI-sektion ikke er til stede, springes den over.

\n' + - '\n' + - '

Hvis sidefoden har fokus til tastaturnavigation, og der ikke er noget synligt sidepanel, kan der trykkes på Shift+Tab\n' + - ' for at flytte fokus til den første værktøjsgruppe, ikke den sidste.

\n' + - '\n' + - '

Naviger inden for UI-sektioner

\n' + - '\n' + - '

Gå fra ét UI-element til det næste ved at trykke på den relevante piletast.

\n' + - '\n' + - '

Venstre og højre piletast

\n' + - '\n' + - '
    \n' + - '
  • flytter mellem menuerne i menulinjen.
  • \n' + - '
  • åbner en undermenu i en menu.
  • \n' + - '
  • flytter mellem knapperne i en værktøjsgruppe.
  • \n' + - '
  • flytter mellem elementer i sidefodens sti til elementet.
  • \n' + - '
\n' + - '\n' + - '

Pil ned og op

\n' + - '\n' + - '
    \n' + - '
  • flytter mellem menupunkterne i en menu.
  • \n' + - '
  • flytter mellem punkterne i en genvejsmenu i værktøjslinjen.
  • \n' + - '
\n' + - '\n' + - '

Piletasterne kører rundt inden for UI-sektionen, der fokuseres på.

\n' + - '\n' + - '

For at lukke en åben menu, en åben undermenu eller en åben genvejsmenu trykkes der på Esc-tasten.

\n' + - '\n' + - "

Hvis det aktuelle fokus er i 'toppen' af en bestemt UI-sektion, vil tryk på Esc-tasten også afslutte\n" + - ' tastaturnavigationen helt.

\n' + - '\n' + - '

Udfør et menupunkt eller en værktøjslinjeknap

\n' + - '\n' + - '

Når det ønskede menupunkt eller den ønskede værktøjslinjeknap er fremhævet, trykkes der på Retur, Enter\n' + - ' eller mellemrumstasten for at udføre elementet.

\n' + - '\n' + - '

Naviger i ikke-faneopdelte dialogbokse

\n' + - '\n' + - '

I ikke-faneopdelte dialogbokse får den første interaktive komponent fokus, når dialogboksen åbnes.

\n' + - '\n' + - '

Naviger mellem interaktive dialogbokskomponenter ved at trykke på Tab eller Shift+Tab.

\n' + - '\n' + - '

Naviger i faneopdelte dialogbokse

\n' + - '\n' + - '

I faneopdelte dialogbokse får den første knap i fanemenuen fokus, når dialogboksen åbnes.

\n' + - '\n' + - '

Naviger mellem interaktive komponenter i denne dialogboksfane ved at trykke på Tab eller\n' + - ' Shift+Tab.

\n' + - '\n' + - '

Skift til en anden dialogboksfane ved at fokusere på fanemenuen og derefter trykke på den relevante piletast\n' + - ' for at køre igennem de tilgængelige faner.

\n'); \ No newline at end of file diff --git a/frontend/public/tinymce/plugins/help/js/i18n/keynav/de.js b/frontend/public/tinymce/plugins/help/js/i18n/keynav/de.js deleted file mode 100644 index b8711ed..0000000 --- a/frontend/public/tinymce/plugins/help/js/i18n/keynav/de.js +++ /dev/null @@ -1,93 +0,0 @@ -tinymce.Resource.add('tinymce.html-i18n.help-keynav.de', -'

Grundlagen der Tastaturnavigation

\n' + - '\n' + - '
\n' + - '
Fokus auf Menüleiste
\n' + - '
Windows oder Linux: ALT+F9
\n' + - '
macOS: ⌥F9
\n' + - '
Fokus auf Symbolleiste
\n' + - '
Windows oder Linux: ALT+F10
\n' + - '
macOS: ⌥F10
\n' + - '
Fokus auf Fußzeile
\n' + - '
Windows oder Linux: ALT+F11
\n' + - '
macOS: ⌥F11
\n' + - '
Benachrichtigung fokussieren
\n' + - '
Windows oder Linux: ALT+F12
\n' + - '
macOS: ⌥F12
\n' + - '
Fokus auf kontextbezogene Symbolleiste
\n' + - '
Windows, Linux oder macOS: STRG+F9
\n' + - '
\n' + - '\n' + - '

Die Navigation beginnt beim ersten Benutzeroberflächenelement, welches hervorgehoben ist. Falls sich das erste Element im Pfad der Fußzeile befindet,\n' + - ' ist es unterstrichen.

\n' + - '\n' + - '

Zwischen Abschnitten der Benutzeroberfläche navigieren

\n' + - '\n' + - '

Um von einem Abschnitt der Benutzeroberfläche zum nächsten zu wechseln, drücken Sie TAB.

\n' + - '\n' + - '

Um von einem Abschnitt der Benutzeroberfläche zum vorherigen zu wechseln, drücken Sie UMSCHALT+TAB.

\n' + - '\n' + - '

Die Abschnitte der Benutzeroberfläche haben folgende TAB-Reihenfolge:

\n' + - '\n' + - '
    \n' + - '
  1. Menüleiste
  2. \n' + - '
  3. Einzelne Gruppen der Symbolleiste
  4. \n' + - '
  5. Randleiste
  6. \n' + - '
  7. Elementpfad in der Fußzeile
  8. \n' + - '
  9. Umschaltfläche „Wörter zählen“ in der Fußzeile
  10. \n' + - '
  11. Branding-Link in der Fußzeile
  12. \n' + - '
  13. Editor-Ziehpunkt zur Größenänderung in der Fußzeile
  14. \n' + - '
\n' + - '\n' + - '

Falls ein Abschnitt der Benutzeroberflächen nicht vorhanden ist, wird er übersprungen.

\n' + - '\n' + - '

Wenn in der Fußzeile die Tastaturnavigation fokussiert ist und keine Randleiste angezeigt wird, wechselt der Fokus durch Drücken von UMSCHALT+TAB\n' + - ' zur ersten Gruppe der Symbolleiste, nicht zur letzten.

\n' + - '\n' + - '

Innerhalb von Abschnitten der Benutzeroberfläche navigieren

\n' + - '\n' + - '

Um von einem Element der Benutzeroberfläche zum nächsten zu wechseln, drücken Sie die entsprechende Pfeiltaste.

\n' + - '\n' + - '

Die Pfeiltasten Links und Rechts

\n' + - '\n' + - '
    \n' + - '
  • wechseln zwischen Menüs in der Menüleiste.
  • \n' + - '
  • öffnen das Untermenü eines Menüs.
  • \n' + - '
  • wechseln zwischen Schaltflächen in einer Gruppe der Symbolleiste.
  • \n' + - '
  • wechseln zwischen Elementen im Elementpfad der Fußzeile.
  • \n' + - '
\n' + - '\n' + - '

Die Pfeiltasten Abwärts und Aufwärts

\n' + - '\n' + - '
    \n' + - '
  • wechseln zwischen Menüelementen in einem Menü.
  • \n' + - '
  • wechseln zwischen Elementen in einem Popupmenü der Symbolleiste.
  • \n' + - '
\n' + - '\n' + - '

Die Pfeiltasten rotieren innerhalb des fokussierten Abschnitts der Benutzeroberfläche.

\n' + - '\n' + - '

Um ein geöffnetes Menü, ein geöffnetes Untermenü oder ein geöffnetes Popupmenü zu schließen, drücken Sie die ESC-Taste.

\n' + - '\n' + - '

Wenn sich der aktuelle Fokus ganz oben in einem bestimmten Abschnitt der Benutzeroberfläche befindet, wird durch Drücken der ESC-Taste auch\n' + - ' die Tastaturnavigation beendet.

\n' + - '\n' + - '

Ein Menüelement oder eine Symbolleistenschaltfläche ausführen

\n' + - '\n' + - '

Wenn das gewünschte Menüelement oder die gewünschte Symbolleistenschaltfläche hervorgehoben ist, drücken Sie Zurück, Eingabe\n' + - ' oder die Leertaste, um das Element auszuführen.

\n' + - '\n' + - '

In Dialogfeldern ohne Registerkarten navigieren

\n' + - '\n' + - '

In Dialogfeldern ohne Registerkarten ist beim Öffnen eines Dialogfelds die erste interaktive Komponente fokussiert.

\n' + - '\n' + - '

Navigieren Sie zwischen den interaktiven Komponenten eines Dialogfelds, indem Sie TAB oder UMSCHALT+TAB drücken.

\n' + - '\n' + - '

In Dialogfeldern mit Registerkarten navigieren

\n' + - '\n' + - '

In Dialogfeldern mit Registerkarten ist beim Öffnen eines Dialogfelds die erste Schaltfläche eines Registerkartenmenüs fokussiert.

\n' + - '\n' + - '

Navigieren Sie zwischen den interaktiven Komponenten auf dieser Registerkarte des Dialogfelds, indem Sie TAB oder\n' + - ' UMSCHALT+TAB drücken.

\n' + - '\n' + - '

Wechseln Sie zu einer anderen Registerkarte des Dialogfelds, indem Sie den Fokus auf das Registerkartenmenü legen und dann die entsprechende Pfeiltaste\n' + - ' drücken, um durch die verfügbaren Registerkarten zu rotieren.

\n'); \ No newline at end of file diff --git a/frontend/public/tinymce/plugins/help/js/i18n/keynav/el.js b/frontend/public/tinymce/plugins/help/js/i18n/keynav/el.js deleted file mode 100644 index 98afabe..0000000 --- a/frontend/public/tinymce/plugins/help/js/i18n/keynav/el.js +++ /dev/null @@ -1,93 +0,0 @@ -tinymce.Resource.add('tinymce.html-i18n.help-keynav.el', -'

Έναρξη πλοήγησης μέσω πληκτρολογίου

\n' + - '\n' + - '
\n' + - '
Εστίαση στη γραμμή μενού
\n' + - '
Windows ή Linux: Alt+F9
\n' + - '
macOS: ⌥F9
\n' + - '
Εστίαση στη γραμμή εργαλείων
\n' + - '
Windows ή Linux: Alt+F10
\n' + - '
macOS: ⌥F10
\n' + - '
Εστίαση στο υποσέλιδο
\n' + - '
Windows ή Linux: Alt+F11
\n' + - '
macOS: ⌥F11
\n' + - '
Εστίαση στην ειδοποίηση
\n' + - '
Windows ή Linux: Alt+F12
\n' + - '
macOS: ⌥F12
\n' + - '
Εστίαση σε γραμμή εργαλείων βάσει περιεχομένου
\n' + - '
Windows, Linux ή macOS: Ctrl+F9
\n' + - '
\n' + - '\n' + - '

Η πλοήγηση θα ξεκινήσει από το πρώτο στοιχείο περιβάλλοντος χρήστη, που θα επισημαίνεται ή θα είναι υπογραμμισμένο,\n' + - ' όπως στην περίπτωση της διαδρομής του στοιχείου Υποσέλιδου.

\n' + - '\n' + - '

Πλοήγηση μεταξύ ενοτήτων του περιβάλλοντος χρήστη

\n' + - '\n' + - '

Για να μετακινηθείτε από μια ενότητα περιβάλλοντος χρήστη στην επόμενη, πιέστε το πλήκτρο Tab.

\n' + - '\n' + - '

Για να μετακινηθείτε από μια ενότητα περιβάλλοντος χρήστη στην προηγούμενη, πιέστε τα πλήκτρα Shift+Tab.

\n' + - '\n' + - '

Η σειρά Tab αυτών των ενοτήτων περιβάλλοντος χρήστη είναι η εξής:

\n' + - '\n' + - '
    \n' + - '
  1. Γραμμή μενού
  2. \n' + - '
  3. Κάθε ομάδα γραμμής εργαλείων
  4. \n' + - '
  5. Πλαϊνή γραμμή
  6. \n' + - '
  7. Διαδρομή στοιχείου στο υποσέλιδο
  8. \n' + - '
  9. Κουμπί εναλλαγής μέτρησης λέξεων στο υποσέλιδο
  10. \n' + - '
  11. Σύνδεσμος επωνυμίας στο υποσέλιδο
  12. \n' + - '
  13. Λαβή αλλαγής μεγέθους προγράμματος επεξεργασίας στο υποσέλιδο
  14. \n' + - '
\n' + - '\n' + - '

Εάν δεν εμφανίζεται ενότητα περιβάλλοντος χρήστη, παραλείπεται.

\n' + - '\n' + - '

Εάν η εστίαση πλοήγησης βρίσκεται στο πληκτρολόγιο και δεν υπάρχει εμφανής πλαϊνή γραμμή, εάν πιέσετε Shift+Tab\n' + - ' η εστίαση μετακινείται στην πρώτη ομάδα γραμμής εργαλείων, όχι στην τελευταία.

\n' + - '\n' + - '

Πλοήγηση εντός των ενοτήτων του περιβάλλοντος χρήστη

\n' + - '\n' + - '

Για να μετακινηθείτε από ένα στοιχείο περιβάλλοντος χρήστη στο επόμενο, πιέστε το αντίστοιχο πλήκτρο βέλους.

\n' + - '\n' + - '

Με τα πλήκτρα αριστερού και δεξιού βέλους

\n' + - '\n' + - '
    \n' + - '
  • γίνεται μετακίνηση μεταξύ των μενού στη γραμμή μενού.
  • \n' + - '
  • ανοίγει ένα υπομενού σε ένα μενού.
  • \n' + - '
  • γίνεται μετακίνηση μεταξύ κουμπιών σε μια ομάδα γραμμής εργαλείων.
  • \n' + - '
  • γίνεται μετακίνηση μεταξύ στοιχείων στη διαδρομή στοιχείου στο υποσέλιδο.
  • \n' + - '
\n' + - '\n' + - '

Με τα πλήκτρα επάνω και κάτω βέλους

\n' + - '\n' + - '
    \n' + - '
  • γίνεται μετακίνηση μεταξύ των στοιχείων μενού σε ένα μενού.
  • \n' + - '
  • γίνεται μετακίνηση μεταξύ των στοιχείων μενού σε ένα αναδυόμενο μενού γραμμής εργαλείων.
  • \n' + - '
\n' + - '\n' + - '

Με τα πλήκτρα βέλους γίνεται κυκλική μετακίνηση εντός της εστιασμένης ενότητας περιβάλλοντος χρήστη.

\n' + - '\n' + - '

Για να κλείσετε ένα ανοιχτό μενού, ένα ανοιχτό υπομενού ή ένα ανοιχτό αναδυόμενο μενού, πιέστε το πλήκτρο Esc.

\n' + - '\n' + - '

Εάν η τρέχουσα εστίαση βρίσκεται στην κορυφή μιας ενότητας περιβάλλοντος χρήστη, πιέζοντας το πλήκτρο Esc,\n' + - ' γίνεται επίσης πλήρης έξοδος από την πλοήγηση μέσω πληκτρολογίου.

\n' + - '\n' + - '

Εκτέλεση ενός στοιχείου μενού ή κουμπιού γραμμής εργαλείων

\n' + - '\n' + - '

Όταν το επιθυμητό στοιχείο μενού ή κουμπί γραμμής εργαλείων είναι επισημασμένο, πιέστε τα πλήκτρα Return, Enter,\n' + - ' ή το πλήκτρο διαστήματος για να εκτελέσετε το στοιχείο.

\n' + - '\n' + - '

Πλοήγηση σε παράθυρα διαλόγου χωρίς καρτέλες

\n' + - '\n' + - '

Σε παράθυρα διαλόγου χωρίς καρτέλες, το πρώτο αλληλεπιδραστικό στοιχείο λαμβάνει την εστίαση όταν ανοίγει το παράθυρο διαλόγου.

\n' + - '\n' + - '

Μπορείτε να πλοηγηθείτε μεταξύ των αλληλεπιδραστικών στοιχείων παραθύρων διαλόγων πιέζοντας τα πλήκτρα Tab ή Shift+Tab.

\n' + - '\n' + - '

Πλοήγηση σε παράθυρα διαλόγου με καρτέλες

\n' + - '\n' + - '

Σε παράθυρα διαλόγου με καρτέλες, το πρώτο κουμπί στο μενού καρτέλας λαμβάνει την εστίαση όταν ανοίγει το παράθυρο διαλόγου.

\n' + - '\n' + - '

Μπορείτε να πλοηγηθείτε μεταξύ των αλληλεπιδραστικών στοιχείων αυτής της καρτέλα διαλόγου πιέζοντας τα πλήκτρα Tab ή\n' + - ' Shift+Tab.

\n' + - '\n' + - '

Μπορείτε να κάνετε εναλλαγή σε άλλη καρτέλα του παραθύρου διαλόγου, μεταφέροντας την εστίαση στο μενού καρτέλας και πιέζοντας το κατάλληλο πλήκτρο βέλους\n' + - ' για να μετακινηθείτε κυκλικά στις διαθέσιμες καρτέλες.

\n'); \ No newline at end of file diff --git a/frontend/public/tinymce/plugins/help/js/i18n/keynav/en.js b/frontend/public/tinymce/plugins/help/js/i18n/keynav/en.js deleted file mode 100644 index 5dd753e..0000000 --- a/frontend/public/tinymce/plugins/help/js/i18n/keynav/en.js +++ /dev/null @@ -1,93 +0,0 @@ -tinymce.Resource.add('tinymce.html-i18n.help-keynav.en', -'

Begin keyboard navigation

\n' + - '\n' + - '
\n' + - '
Focus the Menu bar
\n' + - '
Windows or Linux: Alt+F9
\n' + - '
macOS: ⌥F9
\n' + - '
Focus the Toolbar
\n' + - '
Windows or Linux: Alt+F10
\n' + - '
macOS: ⌥F10
\n' + - '
Focus the footer
\n' + - '
Windows or Linux: Alt+F11
\n' + - '
macOS: ⌥F11
\n' + - '
Focus the notification
\n' + - '
Windows or Linux: Alt+F12
\n' + - '
macOS: ⌥F12
\n' + - '
Focus a contextual toolbar
\n' + - '
Windows, Linux or macOS: Ctrl+F9
\n' + - '
\n' + - '\n' + - '

Navigation will start at the first UI item, which will be highlighted, or underlined in the case of the first item in\n' + - ' the Footer element path.

\n' + - '\n' + - '

Navigate between UI sections

\n' + - '\n' + - '

To move from one UI section to the next, press Tab.

\n' + - '\n' + - '

To move from one UI section to the previous, press Shift+Tab.

\n' + - '\n' + - '

The Tab order of these UI sections is:

\n' + - '\n' + - '
    \n' + - '
  1. Menu bar
  2. \n' + - '
  3. Each toolbar group
  4. \n' + - '
  5. Sidebar
  6. \n' + - '
  7. Element path in the footer
  8. \n' + - '
  9. Word count toggle button in the footer
  10. \n' + - '
  11. Branding link in the footer
  12. \n' + - '
  13. Editor resize handle in the footer
  14. \n' + - '
\n' + - '\n' + - '

If a UI section is not present, it is skipped.

\n' + - '\n' + - '

If the footer has keyboard navigation focus, and there is no visible sidebar, pressing Shift+Tab\n' + - ' moves focus to the first toolbar group, not the last.

\n' + - '\n' + - '

Navigate within UI sections

\n' + - '\n' + - '

To move from one UI element to the next, press the appropriate Arrow key.

\n' + - '\n' + - '

The Left and Right arrow keys

\n' + - '\n' + - '
    \n' + - '
  • move between menus in the menu bar.
  • \n' + - '
  • open a sub-menu in a menu.
  • \n' + - '
  • move between buttons in a toolbar group.
  • \n' + - '
  • move between items in the footer’s element path.
  • \n' + - '
\n' + - '\n' + - '

The Down and Up arrow keys

\n' + - '\n' + - '
    \n' + - '
  • move between menu items in a menu.
  • \n' + - '
  • move between items in a toolbar pop-up menu.
  • \n' + - '
\n' + - '\n' + - '

Arrow keys cycle within the focused UI section.

\n' + - '\n' + - '

To close an open menu, an open sub-menu, or an open pop-up menu, press the Esc key.

\n' + - '\n' + - '

If the current focus is at the ‘top’ of a particular UI section, pressing the Esc key also exits\n' + - ' keyboard navigation entirely.

\n' + - '\n' + - '

Execute a menu item or toolbar button

\n' + - '\n' + - '

When the desired menu item or toolbar button is highlighted, press Return, Enter,\n' + - ' or the Space bar to execute the item.

\n' + - '\n' + - '

Navigate non-tabbed dialogs

\n' + - '\n' + - '

In non-tabbed dialogs, the first interactive component takes focus when the dialog opens.

\n' + - '\n' + - '

Navigate between interactive dialog components by pressing Tab or Shift+Tab.

\n' + - '\n' + - '

Navigate tabbed dialogs

\n' + - '\n' + - '

In tabbed dialogs, the first button in the tab menu takes focus when the dialog opens.

\n' + - '\n' + - '

Navigate between interactive components of this dialog tab by pressing Tab or\n' + - ' Shift+Tab.

\n' + - '\n' + - '

Switch to another dialog tab by giving the tab menu focus and then pressing the appropriate Arrow\n' + - ' key to cycle through the available tabs.

\n'); \ No newline at end of file diff --git a/frontend/public/tinymce/plugins/help/js/i18n/keynav/es.js b/frontend/public/tinymce/plugins/help/js/i18n/keynav/es.js deleted file mode 100644 index e426c2e..0000000 --- a/frontend/public/tinymce/plugins/help/js/i18n/keynav/es.js +++ /dev/null @@ -1,93 +0,0 @@ -tinymce.Resource.add('tinymce.html-i18n.help-keynav.es', -'

Iniciar la navegación con el teclado

\n' + - '\n' + - '
\n' + - '
Enfocar la barra de menús
\n' + - '
Windows o Linux: Alt+F9
\n' + - '
macOS: ⌥F9
\n' + - '
Enfocar la barra de herramientas
\n' + - '
Windows o Linux: Alt+F10
\n' + - '
macOS: ⌥F10
\n' + - '
Enfocar el pie de página
\n' + - '
Windows o Linux: Alt+F11
\n' + - '
macOS: ⌥F11
\n' + - '
Enfocar la notificación
\n' + - '
Windows o Linux: Alt+F12
\n' + - '
macOS: ⌥F12
\n' + - '
Enfocar una barra de herramientas contextual
\n' + - '
Windows, Linux o macOS: Ctrl+F9
\n' + - '
\n' + - '\n' + - '

La navegación comenzará por el primer elemento de la interfaz de usuario (IU), de tal manera que se resaltará, o bien se subrayará si se trata del primer elemento de\n' + - ' la ruta de elemento del pie de página.

\n' + - '\n' + - '

Navegar entre las secciones de la IU

\n' + - '\n' + - '

Para pasar de una sección de la IU a la siguiente, pulse la tecla Tab.

\n' + - '\n' + - '

Para pasar de una sección de la IU a la anterior, pulse Mayús+Tab.

\n' + - '\n' + - '

El orden de tabulación de estas secciones de la IU es:

\n' + - '\n' + - '
    \n' + - '
  1. Barra de menús
  2. \n' + - '
  3. Cada grupo de barra de herramientas
  4. \n' + - '
  5. Barra lateral
  6. \n' + - '
  7. Ruta del elemento en el pie de página
  8. \n' + - '
  9. Botón de alternancia de recuento de palabras en el pie de página
  10. \n' + - '
  11. Enlace de personalización de marca en el pie de página
  12. \n' + - '
  13. Controlador de cambio de tamaño en el pie de página
  14. \n' + - '
\n' + - '\n' + - '

Si una sección de la IU no está presente, esta se omite.

\n' + - '\n' + - '

Si el pie de página tiene un enfoque de navegación con el teclado y no hay ninguna barra lateral visible, al pulsar Mayús+Tab,\n' + - ' el enfoque se moverá al primer grupo de barra de herramientas, en lugar de al último.

\n' + - '\n' + - '

Navegar dentro de las secciones de la IU

\n' + - '\n' + - '

Para pasar de un elemento de la IU al siguiente, pulse la tecla de flecha correspondiente.

\n' + - '\n' + - '

Las teclas de flecha izquierda y derecha permiten

\n' + - '\n' + - '
    \n' + - '
  • desplazarse entre los menús de la barra de menús.
  • \n' + - '
  • abrir el submenú de un menú.
  • \n' + - '
  • desplazarse entre los botones de un grupo de barra de herramientas.
  • \n' + - '
  • desplazarse entre los elementos de la ruta de elemento del pie de página.
  • \n' + - '
\n' + - '\n' + - '

Las teclas de flecha abajo y arriba permiten

\n' + - '\n' + - '
    \n' + - '
  • desplazarse entre los elementos de menú de un menú.
  • \n' + - '
  • desplazarse entre los elementos de un menú emergente de una barra de herramientas.
  • \n' + - '
\n' + - '\n' + - '

Las teclas de flecha van cambiando dentro de la sección de la IU enfocada.

\n' + - '\n' + - '

Para cerrar un menú, un submenú o un menú emergente que estén abiertos, pulse la tecla Esc.

\n' + - '\n' + - '

Si el enfoque actual se encuentra en la parte superior de una sección de la IU determinada, al pulsar la tecla Esc saldrá\n' + - ' de la navegación con el teclado por completo.

\n' + - '\n' + - '

Ejecutar un elemento de menú o un botón de barra de herramientas

\n' + - '\n' + - '

Si el elemento de menú o el botón de barra de herramientas deseado está resaltado, pulse la tecla Retorno o Entrar,\n' + - ' o la barra espaciadora para ejecutar el elemento.

\n' + - '\n' + - '

Navegar por cuadros de diálogo sin pestañas

\n' + - '\n' + - '

En los cuadros de diálogo sin pestañas, el primer componente interactivo se enfoca al abrirse el cuadro de diálogo.

\n' + - '\n' + - '

Para navegar entre los componentes interactivos del cuadro de diálogo, pulse las teclas Tab o Mayús+Tab.

\n' + - '\n' + - '

Navegar por cuadros de diálogo con pestañas

\n' + - '\n' + - '

En los cuadros de diálogo con pestañas, el primer botón del menú de pestaña se enfoca al abrirse el cuadro de diálogo.

\n' + - '\n' + - '

Para navegar entre componentes interactivos de esta pestaña del cuadro de diálogo, pulse las teclas Tab o\n' + - ' Mayús+Tab.

\n' + - '\n' + - '

Si desea cambiar a otra pestaña del cuadro de diálogo, enfoque el menú de pestañas y, a continuación, pulse la tecla de flecha\n' + - ' correspondiente para moverse por las pestañas disponibles.

\n'); \ No newline at end of file diff --git a/frontend/public/tinymce/plugins/help/js/i18n/keynav/eu.js b/frontend/public/tinymce/plugins/help/js/i18n/keynav/eu.js deleted file mode 100644 index c18b940..0000000 --- a/frontend/public/tinymce/plugins/help/js/i18n/keynav/eu.js +++ /dev/null @@ -1,93 +0,0 @@ -tinymce.Resource.add('tinymce.html-i18n.help-keynav.eu', -'

Hasi teklatuaren nabigazioa

\n' + - '\n' + - '
\n' + - '
Fokuratu menu-barra
\n' + - '
Windows edo Linux: Alt+F9
\n' + - '
macOS: ⌥F9
\n' + - '
Fokuratu tresna-barra
\n' + - '
Windows edo Linux: Alt+F10
\n' + - '
macOS: ⌥F10
\n' + - '
Fokuratu orri-oina
\n' + - '
Windows edo Linux: Alt+F11
\n' + - '
macOS: ⌥F11
\n' + - '
Fokuratu jakinarazpena
\n' + - '
Windows edo Linux: Alt+F12
\n' + - '
macOS: ⌥F12
\n' + - '
Fokuratu testuinguruaren tresna-barra
\n' + - '
Windows, Linux edo macOS: Ktrl+F9
\n' + - '
\n' + - '\n' + - '

Nabigazioa EIko lehen elementuan hasiko da: elementu hori nabarmendu egingo da, edo azpimarratu lehen elementua bada\n' + - ' orri-oineko elementuaren bidea.

\n' + - '\n' + - '

Nabigatu EIko atalen artean

\n' + - '\n' + - '

EIko atal batetik hurrengora mugitzeko, sakatu Tabuladorea.

\n' + - '\n' + - '

EIko atal batetik aurrekora mugitzeko, sakatu Maius+Tabuladorea.

\n' + - '\n' + - '

EIko atal hauen Tabuladorea da:

\n' + - '\n' + - '
    \n' + - '
  1. Menu-barra
  2. \n' + - '
  3. Tresna-barraren talde bakoitza
  4. \n' + - '
  5. Alboko barra
  6. \n' + - '
  7. Orri-oineko elementuaren bidea
  8. \n' + - '
  9. Orri-oneko urrats-kontaketa txandakatzeko botoia
  10. \n' + - '
  11. Orri-oineko marken esteka
  12. \n' + - '
  13. Orri-oineko editorearen tamaina aldatzeko heldulekua
  14. \n' + - '
\n' + - '\n' + - '

EIko atal bat ez badago, saltatu egin da.

\n' + - '\n' + - '

Orri-oinak teklatuaren nabigazioa fokuratuta badago, eta alboko barra ikusgai ez badago, Maius+Tabuladorea sakatuz gero,\n' + - ' fokua tresna-barrako lehen taldera eramaten da, ez azkenera.

\n' + - '\n' + - '

Nabigatu EIko atalen barruan

\n' + - '\n' + - '

EIko elementu batetik hurrengora mugitzeko, sakatu dagokion Gezia tekla.

\n' + - '\n' + - '

Ezkerrera eta Eskuinera gezi-teklak

\n' + - '\n' + - '
    \n' + - '
  • menu-barrako menuen artean mugitzen da.
  • \n' + - '
  • ireki azpimenu bat menuan.
  • \n' + - '
  • mugitu botoi batetik bestera tresna-barren talde batean.
  • \n' + - '
  • mugitu orri-oineko elementuaren bideko elementu batetik bestera.
  • \n' + - '
\n' + - '\n' + - '

Gora eta Behera gezi-teklak

\n' + - '\n' + - '
    \n' + - '
  • mugitu menu bateko menu-elementuen artean.
  • \n' + - '
  • mugitu tresna-barrako menu gainerakor bateko menu-elementuen artean.
  • \n' + - '
\n' + - '\n' + - '

Gezia teklen zikloa nabarmendutako EI atalen barruan.

\n' + - '\n' + - '

Irekitako menu bat ixteko, ireki azpimenua, edo ireki menu gainerakorra, sakatu Ihes tekla.

\n' + - '\n' + - '

Une horretan fokuratzea EIko atal jakin baten "goialdean" badago, Ihes tekla sakatuz gero\n' + - ' teklatuaren nabigaziotik irtengo zara.

\n' + - '\n' + - '

Exekutatu menuko elementu bat edo tresna-barrako botoi bat

\n' + - '\n' + - '

Nahi den menuaren elementua edo tresna-barraren botoia nabarmenduta dagoenean, sakatu Itzuli, Sartu\n' + - ' edo Zuriune-barra elementua exekutatzeko.

\n' + - '\n' + - '

Nabigatu fitxarik gabeko elkarrizketak

\n' + - '\n' + - '

Fitxarik gabeko elkarrizketetan, lehen osagai interaktiboa fokuratzen da elkarrizketa irekitzen denean.

\n' + - '\n' + - '

Nabigatu elkarrizketa interaktiboko osagai batetik bestera Tabuladorea edo Maius+Tabuladorea sakatuta.

\n' + - '\n' + - '

Nabigatu fitxadun elkarrizketak

\n' + - '\n' + - '

Fitxadun elkarrizketetan, fitxa-menuko lehen botoia fokuratzen da elkarrizketa irekitzen denean.

\n' + - '\n' + - '

Nabigatu elkarrizketa-fitxa honen interaktiboko osagai batetik bestera Tabuladorea edo\n' + - ' Maius+Tabuladorea sakatuta.

\n' + - '\n' + - '

Aldatu beste elkarrizketa-fitxa batera fitxa-menua fokuratu eta dagokion Gezia\n' + - ' tekla sakatzeko, erabilgarri dauden fitxa batetik bestera txandakatzeko.

\n'); \ No newline at end of file diff --git a/frontend/public/tinymce/plugins/help/js/i18n/keynav/fa.js b/frontend/public/tinymce/plugins/help/js/i18n/keynav/fa.js deleted file mode 100644 index 2a55012..0000000 --- a/frontend/public/tinymce/plugins/help/js/i18n/keynav/fa.js +++ /dev/null @@ -1,93 +0,0 @@ -tinymce.Resource.add('tinymce.html-i18n.help-keynav.fa', -'

شروع پیمایش صفحه‌کلید

\n' + - '\n' + - '
\n' + - '
تمرکز بر نوار منو
\n' + - '
Windows یا Linux:‎‏: Alt+F9
\n' + - '
‎‏macOS: ⌥F9‎‏
\n' + - '
تمرکز بر نوار ابزار
\n' + - '
Windows یا Linux‎‏: Alt+F10
\n' + - '
‎‏macOS: ⌥F10‎‏
\n' + - '
تمرکز بر پانویس
\n' + - '
Windows یا Linux‎‏: Alt+F11
\n' + - '
‎‏macOS: ⌥F11‎‏
\n' + - '
تمرکز اعلان
\n' + - '
ویندوز یا لینوکس: Alt+F12
\n' + - '
macOS: ⌥F12
\n' + - '
تمرکز بر نوار ابزار بافتاری
\n' + - '
Windows ،Linux یا macOS:‏ Ctrl+F9
\n' + - '
\n' + - '\n' + - '

پیمایش در اولین مورد رابط کاربری شروع می‌شود و درخصوص اولین مورد در\n' + - ' مسیر عنصر پانویس، برجسته یا زیرخط‌دار می‌شود.

\n' + - '\n' + - '

پیمایش بین بخش‌های رابط کاربری

\n' + - '\n' + - '

برای جابجایی از یک بخش رابط کاربری به بخش بعدی، Tab را فشار دهید.

\n' + - '\n' + - '

برای جابجایی از یک بخش رابط کاربری به بخش قبلی، Shift+Tab را فشار دهید.

\n' + - '\n' + - '

ترتیب Tab این بخش‌های رابط کاربری عبارتند از:

\n' + - '\n' + - '
    \n' + - '
  1. نوار منو
  2. \n' + - '
  3. هر گروه نوار ابزار
  4. \n' + - '
  5. نوار کناری
  6. \n' + - '
  7. مسیر عنصر در پانویس
  8. \n' + - '
  9. دکمه تغییر وضعیت تعداد کلمات در پانویس
  10. \n' + - '
  11. پیوند نمانام‌سازی در پانویس
  12. \n' + - '
  13. دسته تغییر اندازه ویرایشگر در پانویس
  14. \n' + - '
\n' + - '\n' + - '

اگر بخشی از رابط کاربری موجود نباشد، رد می‌شود.

\n' + - '\n' + - '

اگر پانویس دارای تمرکز بر پیمایش صفحه‌کلید باشد،‌ و نوار کناری قابل‌مشاهده وجود ندارد، فشردن Shift+Tab\n' + - ' تمرکز را به گروه نوار ابزار اول می‌برد، نه آخر.

\n' + - '\n' + - '

پیمایش در بخش‌های رابط کاربری

\n' + - '\n' + - '

برای جابجایی از یک عنصر رابط کاربری به بعدی، کلید جهت‌نمای مناسب را فشار دهید.

\n' + - '\n' + - '

کلیدهای جهت‌نمای چپ و راست

\n' + - '\n' + - '
    \n' + - '
  • جابجایی بین منوها در نوار منو.
  • \n' + - '
  • باز کردن منوی فرعی در یک منو.
  • \n' + - '
  • جابجایی بین دکمه‌ها در یک گروه نوار ابزار.
  • \n' + - '
  • جابجایی بین موارد در مسیر عنصر پانویس.
  • \n' + - '
\n' + - '\n' + - '

کلیدهای جهت‌نمای پایین و بالا

\n' + - '\n' + - '
    \n' + - '
  • جابجایی بین موارد منو در یک منو.
  • \n' + - '
  • جابجایی بین موارد در یک منوی بازشوی نوار ابزار.
  • \n' + - '
\n' + - '\n' + - '

کلیدهایجهت‌نما در بخش رابط کاربری متمرکز می‌چرخند.

\n' + - '\n' + - '

برای بستن یک منوی باز، یک منوی فرعی باز، یا یک منوی بازشوی باز، کلید Esc را فشار دهید.

\n' + - '\n' + - '

اگر تمرکز فعلی در «بالای» یک بخش رابط کاربری خاص است، فشردن کلید Esc نیز موجب\n' + - ' خروج کامل از پیمایش صفحه‌کلید می‌شود.

\n' + - '\n' + - '

اجرای یک مورد منو یا دکمه نوار ابزار

\n' + - '\n' + - '

وقتی مورد منو یا دکمه نوار ابزار مورد نظر هایلایت شد، دکمه بازگشت، Enter،\n' + - ' یا نوار Space را فشار دهید تا مورد را اجرا کنید.

\n' + - '\n' + - '

پیمایش در کادرهای گفتگوی بدون زبانه

\n' + - '\n' + - '

در کادرهای گفتگوی بدون زبانه، وقتی کادر گفتگو باز می‌شود، اولین جزء تعاملی متمرکز می‌شود.

\n' + - '\n' + - '

با فشردن Tab یا Shift+Tab، بین اجزای کادر گفتگوی تعاملی پیمایش کنید.

\n' + - '\n' + - '

پیمایش کادرهای گفتگوی زبانه‌دار

\n' + - '\n' + - '

در کادرهای گفتگوی زبانه‌دار، وقتی کادر گفتگو باز می‌شود، اولین دکمه در منوی زبانه متمرکز می‌شود.

\n' + - '\n' + - '

با فشردن Tab یا\n' + - ' Shift+Tab، بین اجزای تعاملی این زبانه کادر گفتگو پیمایش کنید.

\n' + - '\n' + - '

با دادن تمرکز به منوی زبانه و سپس فشار دادن کلید جهت‌نمای\n' + - ' مناسب برای چرخش میان زبانه‌های موجود، به زبانه کادر گفتگوی دیگری بروید.

\n'); \ No newline at end of file diff --git a/frontend/public/tinymce/plugins/help/js/i18n/keynav/fi.js b/frontend/public/tinymce/plugins/help/js/i18n/keynav/fi.js deleted file mode 100644 index f01dc91..0000000 --- a/frontend/public/tinymce/plugins/help/js/i18n/keynav/fi.js +++ /dev/null @@ -1,93 +0,0 @@ -tinymce.Resource.add('tinymce.html-i18n.help-keynav.fi', -'

Näppäimistönavigoinnin aloittaminen

\n' + - '\n' + - '
\n' + - '
Siirrä kohdistus valikkopalkkiin
\n' + - '
Windows tai Linux: Alt+F9
\n' + - '
macOS: ⌥F9
\n' + - '
Siirrä kohdistus työkalupalkkiin
\n' + - '
Windows tai Linux: Alt+F10
\n' + - '
macOS: ⌥F10
\n' + - '
Siirrä kohdistus alatunnisteeseen
\n' + - '
Windows tai Linux: Alt+F11
\n' + - '
macOS: ⌥F11
\n' + - '
Keskitä ilmoitukseen
\n' + - '
Windows ja Linux: Alt + F12
\n' + - '
macOS: ⌥F12
\n' + - '
Siirrä kohdistus kontekstuaaliseen työkalupalkkiin
\n' + - '
Windows, Linux tai macOS: Ctrl+F9
\n' + - '
\n' + - '\n' + - '

Navigointi aloitetaan ensimmäisestä käyttöliittymän kohteesta, joka joko korostetaan tai alleviivataan, jos\n' + - ' kyseessä on Alatunniste-elementin polun ensimmäinen kohde.

\n' + - '\n' + - '

Käyttöliittymän eri osien välillä navigointi

\n' + - '\n' + - '

Paina sarkainnäppäintä siirtyäksesi käyttöliittymän osasta seuraavaan.

\n' + - '\n' + - '

Jos haluat siirtyä edelliseen käyttöliittymän osaan, paina Shift+sarkainnäppäin.

\n' + - '\n' + - '

Sarkainnäppäin siirtää sinua näissä käyttöliittymän osissa tässä järjestyksessä:

\n' + - '\n' + - '
    \n' + - '
  1. Valikkopalkki
  2. \n' + - '
  3. Työkalupalkin ryhmät
  4. \n' + - '
  5. Sivupalkki
  6. \n' + - '
  7. Elementin polku alatunnisteessa
  8. \n' + - '
  9. Sanalaskurin vaihtopainike alatunnisteessa
  10. \n' + - '
  11. Brändäyslinkki alatunnisteessa
  12. \n' + - '
  13. Editorin koon muuttamisen kahva alatunnisteessa
  14. \n' + - '
\n' + - '\n' + - '

Jos jotakin käyttöliittymän osaa ei ole, se ohitetaan.

\n' + - '\n' + - '

Jos kohdistus on siirretty alatunnisteeseen näppäimistönavigoinnilla eikä sivupalkkia ole näkyvissä, Shift+sarkainnäppäin\n' + - ' siirtää kohdistuksen työkalupalkin ensimmäiseen ryhmään, eikä viimeiseen.

\n' + - '\n' + - '

Käyttöliittymän eri osien sisällä navigointi

\n' + - '\n' + - '

Paina nuolinäppäimiä siirtyäksesi käyttöliittymäelementistä seuraavaan.

\n' + - '\n' + - '

Vasen- ja Oikea-nuolinäppäimet

\n' + - '\n' + - '
    \n' + - '
  • siirtävät sinua valikkopalkin valikoiden välillä.
  • \n' + - '
  • avaavat valikon alavalikon.
  • \n' + - '
  • siirtävät sinua työkalupalkin ryhmän painikkeiden välillä.
  • \n' + - '
  • siirtävät sinua kohteiden välillä alatunnisteen elementin polussa.
  • \n' + - '
\n' + - '\n' + - '

Alas- ja Ylös-nuolinäppäimet

\n' + - '\n' + - '
    \n' + - '
  • siirtävät sinua valikon valikkokohteiden välillä.
  • \n' + - '
  • siirtävät sinua työkalupalkin ponnahdusvalikon kohteiden välillä.
  • \n' + - '
\n' + - '\n' + - '

Nuolinäppäimet siirtävät sinua käyttöliittymän korostetun osan sisällä syklissä.

\n' + - '\n' + - '

Paina Esc-näppäintä sulkeaksesi avoimen valikon, avataksesi alavalikon tai avataksesi ponnahdusvalikon.

\n' + - '\n' + - '

Jos kohdistus on käyttöliittymän tietyn osion ylälaidassa, Esc-näppäimen painaminen\n' + - ' poistuu myös näppäimistönavigoinnista kokonaan.

\n' + - '\n' + - '

Suorita valikkokohde tai työkalupalkin painike

\n' + - '\n' + - '

Kun haluamasi valikkokohde tai työkalupalkin painike on korostettuna, paina Return-, Enter-\n' + - ' tai välilyöntinäppäintä suorittaaksesi kohteen.

\n' + - '\n' + - '

Välilehdittömissä valintaikkunoissa navigointi

\n' + - '\n' + - '

Kun välilehdetön valintaikkuna avautuu, kohdistus siirtyy sen ensimmäiseen interaktiiviseen komponenttiin.

\n' + - '\n' + - '

Voit siirtyä valintaikkunan interaktiivisten komponenttien välillä painamalla sarkainnäppäintä tai Shift+sarkainnäppäin.

\n' + - '\n' + - '

Välilehdellisissä valintaikkunoissa navigointi

\n' + - '\n' + - '

Kun välilehdellinen valintaikkuna avautuu, kohdistus siirtyy välilehtivalikon ensimmäiseen painikkeeseen.

\n' + - '\n' + - '

Voit siirtyä valintaikkunan välilehden interaktiivisen komponenttien välillä painamalla sarkainnäppäintä tai\n' + - ' Shift+sarkainnäppäin.

\n' + - '\n' + - '

Voit siirtyä valintaikkunan toiseen välilehteen siirtämällä kohdistuksen välilehtivalikkoon ja painamalla sopivaa nuolinäppäintä\n' + - ' siirtyäksesi käytettävissä olevien välilehtien välillä syklissä.

\n'); \ No newline at end of file diff --git a/frontend/public/tinymce/plugins/help/js/i18n/keynav/fr_FR.js b/frontend/public/tinymce/plugins/help/js/i18n/keynav/fr_FR.js deleted file mode 100644 index 3f611e8..0000000 --- a/frontend/public/tinymce/plugins/help/js/i18n/keynav/fr_FR.js +++ /dev/null @@ -1,93 +0,0 @@ -tinymce.Resource.add('tinymce.html-i18n.help-keynav.fr_FR', -'

Débuter la navigation au clavier

\n' + - '\n' + - '
\n' + - '
Cibler la barre du menu
\n' + - '
Windows ou Linux : Alt+F9
\n' + - '
macOS : ⌥F9
\n' + - "
Cibler la barre d'outils
\n" + - '
Windows ou Linux : Alt+F10
\n' + - '
macOS : ⌥F10
\n' + - '
Cibler le pied de page
\n' + - '
Windows ou Linux : Alt+F11
\n' + - '
macOS : ⌥F11
\n' + - '
Cibler la notification
\n' + - '
Windows ou Linux : Alt+F12
\n' + - '
macOS : ⌥F12
\n' + - "
Cibler une barre d'outils contextuelle
\n" + - '
Windows, Linux ou macOS : Ctrl+F9
\n' + - '
\n' + - '\n' + - "

La navigation débutera sur le premier élément de l'interface utilisateur, qui sera mis en surbrillance ou bien souligné dans le cas du premier élément du\n" + - " chemin d'éléments du pied de page.

\n" + - '\n' + - "

Naviguer entre les sections de l'interface utilisateur

\n" + - '\n' + - "

Pour passer d'une section de l'interface utilisateur à la suivante, appuyez sur Tabulation.

\n" + - '\n' + - "

Pour passer d'une section de l'interface utilisateur à la précédente, appuyez sur Maj+Tabulation.

\n" + - '\n' + - "

L'ordre de Tabulation de ces sections de l'interface utilisateur est le suivant :

\n" + - '\n' + - '
    \n' + - '
  1. Barre du menu
  2. \n' + - "
  3. Chaque groupe de barres d'outils
  4. \n" + - '
  5. Barre latérale
  6. \n' + - "
  7. Chemin d'éléments du pied de page
  8. \n" + - "
  9. Bouton d'activation du compteur de mots dans le pied de page
  10. \n" + - '
  11. Lien de marque dans le pied de page
  12. \n' + - "
  13. Poignée de redimensionnement de l'éditeur dans le pied de page
  14. \n" + - '
\n' + - '\n' + - "

Si une section de l'interface utilisateur n'est pas présente, elle sera ignorée.

\n" + - '\n' + - "

Si le pied de page comporte un ciblage par navigation au clavier et qu'il n'y a aucune barre latérale visible, appuyer sur Maj+Tabulation\n" + - " déplace le ciblage vers le premier groupe de barres d'outils et non le dernier.

\n" + - '\n' + - "

Naviguer au sein des sections de l'interface utilisateur

\n" + - '\n' + - "

Pour passer d'un élément de l'interface utilisateur au suivant, appuyez sur la Flèche appropriée.

\n" + - '\n' + - '

Les touches fléchées Gauche et Droite

\n' + - '\n' + - '
    \n' + - '
  • se déplacent entre les menus de la barre des menus.
  • \n' + - "
  • ouvrent un sous-menu au sein d'un menu.
  • \n" + - "
  • se déplacent entre les boutons d'un groupe de barres d'outils.
  • \n" + - "
  • se déplacent entre les éléments du chemin d'éléments du pied de page.
  • \n" + - '
\n' + - '\n' + - '

Les touches fléchées Bas et Haut

\n' + - '\n' + - '
    \n' + - "
  • se déplacent entre les éléments de menu au sein d'un menu.
  • \n" + - "
  • se déplacent entre les éléments au sein d'un menu contextuel de barre d'outils.
  • \n" + - '
\n' + - '\n' + - "

Les Flèches parcourent la section de l'interface utilisateur ciblée.

\n" + - '\n' + - '

Pour fermer un menu ouvert, un sous-menu ouvert ou un menu contextuel ouvert, appuyez sur Echap.

\n' + - '\n' + - "

Si l'actuel ciblage se trouve en « haut » d'une section spécifique de l'interface utilisateur, appuyer sur Echap permet également de quitter\n" + - ' entièrement la navigation au clavier.

\n' + - '\n' + - "

Exécuter un élément de menu ou un bouton de barre d'outils

\n" + - '\n' + - "

Lorsque l'élément de menu ou le bouton de barre d'outils désiré est mis en surbrillance, appuyez sur la touche Retour arrière, Entrée\n" + - " ou la Barre d'espace pour exécuter l'élément.

\n" + - '\n' + - '

Naviguer au sein de dialogues sans onglets

\n' + - '\n' + - "

Dans les dialogues sans onglets, le premier composant interactif est ciblé lorsque le dialogue s'ouvre.

\n" + - '\n' + - '

Naviguez entre les composants du dialogue interactif en appuyant sur Tabulation ou Maj+Tabulation.

\n' + - '\n' + - '

Naviguer au sein de dialogues avec onglets

\n' + - '\n' + - "

Dans les dialogues avec onglets, le premier bouton du menu de l'onglet est ciblé lorsque le dialogue s'ouvre.

\n" + - '\n' + - '

Naviguez entre les composants interactifs de cet onglet de dialogue en appuyant sur Tabulation ou\n' + - ' Maj+Tabulation.

\n' + - '\n' + - "

Passez à un autre onglet de dialogue en ciblant le menu de l'onglet et en appuyant sur la Flèche\n" + - ' appropriée pour parcourir les onglets disponibles.

\n'); \ No newline at end of file diff --git a/frontend/public/tinymce/plugins/help/js/i18n/keynav/he_IL.js b/frontend/public/tinymce/plugins/help/js/i18n/keynav/he_IL.js deleted file mode 100644 index 7d6513a..0000000 --- a/frontend/public/tinymce/plugins/help/js/i18n/keynav/he_IL.js +++ /dev/null @@ -1,93 +0,0 @@ -tinymce.Resource.add('tinymce.html-i18n.help-keynav.he_IL', -'

התחל ניווט במקלדת

\n' + - '\n' + - '
\n' + - '
התמקד בשורת התפריטים
\n' + - '
Windows או Linux:‏ Alt+F9
\n' + - '
macOS: ⌥F9
\n' + - '
העבר מיקוד לסרגל הכלים
\n' + - '
Windows או Linux:‏ Alt+F10
\n' + - '
macOS: ⌥F10
\n' + - '
העבר מיקוד לכותרת התחתונה
\n' + - '
Windows או Linux:‏ Alt+F11
\n' + - '
macOS: ⌥F11
\n' + - '
העבר מיקוד להודעה
\n' + - '
Windows או Linux:‏ Alt+F12
\n' + - '
macOS: ⌥F12
\n' + - '
העבר מיקוד לסרגל כלים הקשרי
\n' + - '
Windows‏, Linux או macOS:‏ Ctrl+F9
\n' + - '
\n' + - '\n' + - '

הניווט יתחיל ברכיב הראשון במשך, שיודגש או שיהיה מתחתיו קו תחתון במקרה של הפריט הראשון\n' + - ' הנתיב של רכיב הכותרת התחתונה.

\n' + - '\n' + - '

עבור בין מקטעים במסך

\n' + - '\n' + - '

כדי לעבור בין המקטעים במסך, הקש Tab.

\n' + - '\n' + - '

כדי לעבור למקטע הקודם במסך, הקש Shift+Tab.

\n' + - '\n' + - '

הסדר מבחינת מקש Tab של הרכיבים במסך:

\n' + - '\n' + - '
    \n' + - '
  1. שורת התפריטים
  2. \n' + - '
  3. כל קבוצה בסרגל הכלים
  4. \n' + - '
  5. הסרגל הצידי
  6. \n' + - '
  7. נתיב של רכיב בכותרת התחתונה
  8. \n' + - '
  9. לחצן לספירת מילים בכותרת התחתונה
  10. \n' + - '
  11. קישור של המותג בכותרת התחתונה
  12. \n' + - '
  13. ידית לשינוי גודל עבור העורך בכותרת התחתונה
  14. \n' + - '
\n' + - '\n' + - '

אם רכיב כלשהו במסך לא מופיע, המערכת תדלג עליו.

\n' + - '\n' + - '

אם בכותרת התחתונה יש מיקוד של ניווט במקלדת, ולא מופיע סרגל בצד, יש להקיש Shift+Tab\n' + - ' מעביר את המיקוד לקבוצה הראשונה בסרגל הכלים, לא האחרונה.

\n' + - '\n' + - '

עבור בתוך מקטעים במסך

\n' + - '\n' + - '

כדי לעבור מרכיב אחד לרכיב אחר במסך, הקש על מקש החץ המתאים.

\n' + - '\n' + - '

מקשי החיצים שמאלה וימינה

\n' + - '\n' + - '
    \n' + - '
  • עבור בין תפריטים בשורת התפריטים.
  • \n' + - '
  • פתח תפריט משני בתפריט.
  • \n' + - '
  • עבור בין לחצנים בקבוצה בסרגל הכלים.
  • \n' + - '
  • עבור בין פריטים ברכיב בכותרת התחתונה.
  • \n' + - '
\n' + - '\n' + - '

מקשי החיצים למטה ולמעלה

\n' + - '\n' + - '
    \n' + - '
  • עבור בין פריטים בתפריט.
  • \n' + - '
  • עבור בין פריטים בחלון הקובץ של סרגל הכלים.
  • \n' + - '
\n' + - '\n' + - '

מקשי החצים משתנים בתוך המקטע במסך שעליו נמצא המיקוד.

\n' + - '\n' + - '

כדי לסגור תפריט פתוח, תפריט משני פתוח או חלון קופץ, הקש על Esc.

\n' + - '\n' + - "

אם המיקוד הוא על החלק 'העליון' של מקטע מסוים במסך, הקשה על Esc מביאה גם ליציאה\n" + - ' מהניווט במקלדת לחלוטין.

\n' + - '\n' + - '

הפעל פריט בתפריט או לחצן בסרגל הכלים

\n' + - '\n' + - '

כאשר הפריט הרצוי בתפריט או הלחצן בסרגל הכלים מודגשים, הקש על Return, Enter,\n' + - ' או על מקש הרווח כדי להפעיל את הפריט.

\n' + - '\n' + - '

ניווט בחלונות דו-שיח בלי כרטיסיות

\n' + - '\n' + - '

בחלונות דו-שיח בלי כרטיסיות, הרכיב האינטראקטיבי הראשון מקבל את המיקוד כאשר החלון נפתח.

\n' + - '\n' + - '

עבור בין רכיבים אינטראקטיביים בחלון על ידי הקשה על Tab או Shift+Tab.

\n' + - '\n' + - '

ניווט בחלונות דו-שיח עם כרטיסיות

\n' + - '\n' + - '

בחלונות דו-שיח עם כרטיסיות, הלחצן הראשון בתפריט מקבל את המיקוד כאשר החלון נפתח.

\n' + - '\n' + - '

עבור בין רכיבים אינטראקטיביים בחלון על ידי הקשה על Tab או\n' + - ' Shift+Tab.

\n' + - '\n' + - '

עבור לכרטיסיה אחרת בחלון על ידי העברת המיקוד לתפריט הכרטיסיות והקשה על החץהמתאים\n' + - ' כדי לעבור בין הכרטיסיות הזמינות.

\n'); \ No newline at end of file diff --git a/frontend/public/tinymce/plugins/help/js/i18n/keynav/hi.js b/frontend/public/tinymce/plugins/help/js/i18n/keynav/hi.js deleted file mode 100644 index ef59a5c..0000000 --- a/frontend/public/tinymce/plugins/help/js/i18n/keynav/hi.js +++ /dev/null @@ -1,93 +0,0 @@ -tinymce.Resource.add('tinymce.html-i18n.help-keynav.hi', -'

कीबोर्ड नेविगेशन शुरू करें

\n' + - '\n' + - '
\n' + - '
मेन्यू बार पर फ़ोकस करें
\n' + - '
Windows या Linux: Alt+F9
\n' + - '
macOS: ⌥F9
\n' + - '
टूलबार पर फ़ोकस करें
\n' + - '
Windows या Linux: Alt+F10
\n' + - '
macOS: ⌥F10
\n' + - '
फ़ुटर पर फ़ोकस करें
\n' + - '
Windows या Linux: Alt+F11
\n' + - '
macOS: ⌥F11
\n' + - '
नोटिफ़िकेशन फ़ोकस
\n' + - '
Windows या Linux: Alt+F12
\n' + - '
macOS: ⌥F12
\n' + - '
प्रासंगिक टूलबार पर फ़ोकस करें
\n' + - '
Windows, Linux या macOS: Ctrl+F9
\n' + - '
\n' + - '\n' + - '

नेविगेशन पहले UI आइटम पर शुरू होगा, जिसे हाइलाइट किया जाएगा या पहले आइटम के मामले में फ़ुटर तत्व पथ में\n' + - ' रेखांकित किया जाएगा।

\n' + - '\n' + - '

UI सेक्शन के बीच नेविगेट करें

\n' + - '\n' + - '

एक UI सेक्शन से दूसरे सेक्शन में जाने के लिए, Tab दबाएं।

\n' + - '\n' + - '

एक UI सेक्शन से पिछले सेक्शन में जाने के लिए, Shift+Tab दबाएं।

\n' + - '\n' + - '

इन UI सेक्शन का Tab क्रम नीचे दिया गया है:

\n' + - '\n' + - '
    \n' + - '
  1. मेन्यू बार
  2. \n' + - '
  3. प्रत्येक टूलबार समूह
  4. \n' + - '
  5. साइडबार
  6. \n' + - '
  7. फ़ुटर में तत्व पथ
  8. \n' + - '
  9. फ़ुटर में शब्द गणना टॉगल बटन
  10. \n' + - '
  11. फ़ुटर में ब्रांडिंग लिंक
  12. \n' + - '
  13. फ़ुटर में संपादक का आकार बदलने का हैंडल
  14. \n' + - '
\n' + - '\n' + - '

अगर कोई UI सेक्शन मौजूद नहीं है, तो उसे छोड़ दिया जाता है।

\n' + - '\n' + - '

अगर फ़ुटर में कीबोर्ड नेविगेशन फ़ोकस है, और कोई दिखा देने वाला साइडबार नहीं है, तो Shift+Tab दबाने से\n' + - ' फ़ोकस पहले टूलबार समूह पर चला जाता है, पिछले पर नहीं।

\n' + - '\n' + - '

UI सेक्शन के भीतर नेविगेट करें

\n' + - '\n' + - '

एक UI तत्व से दूसरे में जाने के लिए उपयुक्त ऐरो कुंजी दबाएं।

\n' + - '\n' + - '

बाएं और दाएं ऐरो कुंजियां

\n' + - '\n' + - '
    \n' + - '
  • मेन्यू बार में मेन्यू के बीच ले जाती हैं।
  • \n' + - '
  • मेन्यू में एक सब-मेन्यू खोलें।
  • \n' + - '
  • टूलबार समूह में बटनों के बीच ले जाएं।
  • \n' + - '
  • फ़ुटर के तत्व पथ में आइटम के बीच ले जाएं।
  • \n' + - '
\n' + - '\n' + - '

नीचे और ऊपर ऐरो कुंजियां

\n' + - '\n' + - '
    \n' + - '
  • मेन्यू में मेन्यू आइटम के बीच ले जाती हैं।
  • \n' + - '
  • टूलबार पॉप-अप मेन्यू में आइटम के बीच ले जाएं।
  • \n' + - '
\n' + - '\n' + - '

फ़ोकस वाले UI सेक्शन के भीतर ऐरो कुंजियां चलाती रहती हैं।

\n' + - '\n' + - '

कोई खुला मेन्यू, कोई खुला सब-मेन्यू या कोई खुला पॉप-अप मेन्यू बंद करने के लिए Esc कुंजी दबाएं।

\n' + - '\n' + - "

अगर मौजूदा फ़ोकस किसी विशेष UI सेक्शन के 'शीर्ष' पर है, तो Esc कुंजी दबाने से भी\n" + - ' कीबोर्ड नेविगेशन पूरी तरह से बाहर हो जाता है।

\n' + - '\n' + - '

मेन्यू आइटम या टूलबार बटन निष्पादित करें

\n' + - '\n' + - '

जब वांछित मेन्यू आइटम या टूलबार बटन हाइलाइट किया जाता है, तो आइटम को निष्पादित करने के लिए Return, Enter,\n' + - ' या Space bar दबाएं।

\n' + - '\n' + - '

गैर-टैब वाले डायलॉग पर नेविगेट करें

\n' + - '\n' + - '

गैर-टैब वाले डायलॉग में, डायलॉग खुलने पर पहला इंटरैक्टिव घटक फ़ोकस लेता है।

\n' + - '\n' + - '

Tab or Shift+Tab दबाकर इंटरैक्टिव डायलॉग घटकों के बीच नेविगेट करें।

\n' + - '\n' + - '

टैब किए गए डायलॉग पर नेविगेट करें

\n' + - '\n' + - '

टैब किए गए डायलॉग में, डायलॉग खुलने पर टैब मेन्यू में पहला बटन फ़ोकस लेता है।

\n' + - '\n' + - '

इस डायलॉग टैब के इंटरैक्टिव घटकों के बीच नेविगेट करने के लिए Tab या\n' + - ' Shift+Tab दबाएं।

\n' + - '\n' + - '

टैब मेन्यू को फ़ोकस देकर और फिर उपलब्ध टैब में के बीच जाने के लिए उपयुक्त ऐरो\n' + - ' कुंजी दबाकर दूसरे डायलॉग टैब पर स्विच करें।

\n'); \ No newline at end of file diff --git a/frontend/public/tinymce/plugins/help/js/i18n/keynav/hr.js b/frontend/public/tinymce/plugins/help/js/i18n/keynav/hr.js deleted file mode 100644 index 1bf35c5..0000000 --- a/frontend/public/tinymce/plugins/help/js/i18n/keynav/hr.js +++ /dev/null @@ -1,93 +0,0 @@ -tinymce.Resource.add('tinymce.html-i18n.help-keynav.hr', -'

Početak navigacije na tipkovnici

\n' + - '\n' + - '
\n' + - '
Fokusiranje trake izbornika
\n' + - '
Windows ili Linux: Alt+F9
\n' + - '
macOS: ⌥F9
\n' + - '
Fokusiranje alatne trake
\n' + - '
Windows ili Linux: Alt+F10
\n' + - '
macOS: ⌥F10
\n' + - '
Fokusiranje podnožja
\n' + - '
Windows ili Linux: Alt+F11
\n' + - '
macOS: ⌥F11
\n' + - '
Fokusiranje obavijesti
\n' + - '
Windows ili Linux: Alt + F12
\n' + - '
macOS: ⌥F12
\n' + - '
Fokusiranje kontekstne alatne trake
\n' + - '
Windows, Linux ili macOS: Ctrl+F9
\n' + - '
\n' + - '\n' + - '

Navigacija će započeti kod prve stavke na korisničkom sučelju, koja će biti istaknuta ili podcrtana ako se radi o prvoj stavci u\n' + - ' putu elementa u podnožju.

\n' + - '\n' + - '

Navigacija između dijelova korisničkog sučelja

\n' + - '\n' + - '

Za pomicanje s jednog dijela korisničkog sučelja na drugi pritisnite tabulator.

\n' + - '\n' + - '

Za pomicanje s jednog dijela korisničkog sučelja na prethodni pritisnite Shift + tabulator.

\n' + - '\n' + - '

Ovo je redoslijed pomicanja tabulatora po dijelovima korisničkog sučelja:

\n' + - '\n' + - '
    \n' + - '
  1. Traka izbornika
  2. \n' + - '
  3. Pojedinačne grupe na alatnoj traci
  4. \n' + - '
  5. Bočna traka
  6. \n' + - '
  7. Put elemenata u podnožju
  8. \n' + - '
  9. Gumb za pomicanje po broju riječi u podnožju
  10. \n' + - '
  11. Veza na brand u podnožju
  12. \n' + - '
  13. Značajka za promjenu veličine alata za uređivanje u podnožju
  14. \n' + - '
\n' + - '\n' + - '

Ako neki dio korisničkog sučelja nije naveden, on se preskače.

\n' + - '\n' + - '

Ako u podnožju postoji fokus za navigaciju na tipkovnici, a nema vidljive bočne trake, pritiskom na Shift + tabulator\n' + - ' fokus se prebacuje na prvu skupinu na alatnoj traci, ne na zadnju.

\n' + - '\n' + - '

Navigacija unutar dijelova korisničkog sučelja

\n' + - '\n' + - '

Za pomicanje s jednog elementa korisničkog sučelja na drugi pritisnite tipku s odgovarajućom strelicom.

\n' + - '\n' + - '

Tipke s lijevom i desnom strelicom

\n' + - '\n' + - '
    \n' + - '
  • služe za pomicanje između izbornika na alatnoj traci.
  • \n' + - '
  • otvaraju podizbornik unutar izbornika.
  • \n' + - '
  • služe za pomicanje između gumba unutar skupina na alatnoj traci.
  • \n' + - '
  • služe za pomicanje između stavki na elementu puta u podnožju.
  • \n' + - '
\n' + - '\n' + - '

Tipke s donjom i gornjom strelicom

\n' + - '\n' + - '
    \n' + - '
  • služe za pomicanje između stavki unutar izbornika.
  • \n' + - '
  • služe za pomicanje između stavki na alatnoj traci skočnog izbornika.
  • \n' + - '
\n' + - '\n' + - '

Tipkama strelica kružno se pomičete unutar dijela korisničkog sučelja koji je u fokusu.

\n' + - '\n' + - '

Za zatvaranje otvorenog izbornika, otvorenog podizbornika ili otvorenog skočnog izbornika pritisnite tipku Esc.

\n' + - '\n' + - '

Ako je fokus trenutačno postavljen na vrh pojedinačnog dijela korisničkog sučelja, pritiskom na tipku Esc također\n' + - ' u potpunosti zatvarate navigaciju na tipkovnici.

\n' + - '\n' + - '

Izvršavanje radnji putem stavki izbornika ili gumba na alatnoj traci

\n' + - '\n' + - '

Nakon što se istakne stavka izbornika ili gumb na alatnoj traci s radnjom koju želite izvršiti, pritisnite tipku Return, Enter\n' + - ' ili razmak da biste pokrenuli željenu radnju.

\n' + - '\n' + - '

Navigacija dijaloškim okvirima izvan kartica

\n' + - '\n' + - '

Prilikom otvaranja dijaloških okvira izvan kartica fokus se nalazi na prvoj interaktivnoj komponenti.

\n' + - '\n' + - '

Navigaciju između interaktivnih dijaloških komponenata vršite pritiskom na tabulator ili Shift + tabulator.

\n' + - '\n' + - '

Navigacija dijaloškim okvirima u karticama

\n' + - '\n' + - '

Prilikom otvaranja dijaloških okvira u karticama fokus se nalazi na prvom gumbu u izborniku unutar kartice.

\n' + - '\n' + - '

Navigaciju između interaktivnih komponenata dijaloškog okvira u kartici vršite pritiskom na tabulator ili\n' + - ' Shift + tabulator.

\n' + - '\n' + - '

Na karticu s drugim dijaloškim okvirom možete se prebaciti tako da stavite fokus na izbornik kartice pa pritisnete tipku s odgovarajućom strelicom\n' + - ' za kružno pomicanje između dostupnih kartica.

\n'); \ No newline at end of file diff --git a/frontend/public/tinymce/plugins/help/js/i18n/keynav/hu_HU.js b/frontend/public/tinymce/plugins/help/js/i18n/keynav/hu_HU.js deleted file mode 100644 index 5c984bb..0000000 --- a/frontend/public/tinymce/plugins/help/js/i18n/keynav/hu_HU.js +++ /dev/null @@ -1,93 +0,0 @@ -tinymce.Resource.add('tinymce.html-i18n.help-keynav.hu_HU', -'

Billentyűzetes navigáció indítása

\n' + - '\n' + - '
\n' + - '
Fókusz a menüsávra
\n' + - '
Windows és Linux: Alt+F9
\n' + - '
macOS: ⌥F9
\n' + - '
Fókusz az eszköztárra
\n' + - '
Windows és Linux: Alt+F10
\n' + - '
macOS: ⌥F10
\n' + - '
Fókusz a láblécre
\n' + - '
Windows és Linux: Alt+F11
\n' + - '
macOS: ⌥F11
\n' + - '
Ráközelítés az értesítésre
\n' + - '
Windows vagy Linux: Alt+F12
\n' + - '
macOS: ⌥F12
\n' + - '
Fókusz egy környezetfüggő eszköztárra
\n' + - '
Windows, Linux és macOS: Ctrl+F9
\n' + - '
\n' + - '\n' + - '

A navigáció az első felhasználói felületi elemnél kezdődik, amelyet a rendszer kiemel, illetve aláhúz, amennyiben az az első elem\n' + - ' a lábléc elemútvonalán.

\n' + - '\n' + - '

Navigálás a felhasználói felület szakaszai között

\n' + - '\n' + - '

A felhasználói felület következő szakaszára váltáshoz nyomja meg a Tab billentyűt.

\n' + - '\n' + - '

A felhasználói felület előző szakaszára váltáshoz nyomja meg a Shift+Tab billentyűt.

\n' + - '\n' + - '

A Tab billentyűvel a felhasználói felület szakaszai között a következő sorrendben vált:

\n' + - '\n' + - '
    \n' + - '
  1. Menüsáv
  2. \n' + - '
  3. Az egyes eszköztárcsoportok
  4. \n' + - '
  5. Oldalsáv
  6. \n' + - '
  7. Elemútvonal a láblécen
  8. \n' + - '
  9. Szószámátkapcsoló gomb a láblécen
  10. \n' + - '
  11. Márkalink a láblécen
  12. \n' + - '
  13. Szerkesztő átméretezési fogópontja a láblécen
  14. \n' + - '
\n' + - '\n' + - '

Ha a felhasználói felület valamelyik eleme nincs jelen, a rendszer kihagyja.

\n' + - '\n' + - '

Ha a billentyűzetes navigáció fókusza a láblécen van, és nincs látható oldalsáv, a Shift+Tab\n' + - ' billentyűkombináció lenyomásakor az első eszköztárcsoportra ugrik a fókusz, nem az utolsóra.

\n' + - '\n' + - '

Navigálás a felhasználói felület szakaszain belül

\n' + - '\n' + - '

A felhasználói felület következő elemére váltáshoz nyomja meg a megfelelő nyílbillentyűt.

\n' + - '\n' + - '

A bal és a jobb nyílgomb

\n' + - '\n' + - '
    \n' + - '
  • a menüsávban a menük között vált.
  • \n' + - '
  • a menükben megnyit egy almenüt.
  • \n' + - '
  • az eszköztárcsoportban a gombok között vált.
  • \n' + - '
  • a lábléc elemútvonalán az elemek között vált.
  • \n' + - '
\n' + - '\n' + - '

A le és a fel nyílgomb

\n' + - '\n' + - '
    \n' + - '
  • a menükben a menüpontok között vált.
  • \n' + - '
  • az eszköztár előugró menüjében az elemek között vált.
  • \n' + - '
\n' + - '\n' + - '

A nyílbillentyűk lenyomásával körkörösen lépkedhet a fókuszban lévő felhasználói felületi szakasz elemei között.

\n' + - '\n' + - '

A megnyitott menüket, almenüket és előugró menüket az Esc billentyűvel zárhatja be.

\n' + - '\n' + - '

Ha a fókusz az aktuális felületi elem „felső” részén van, az Esc billentyűvel az egész\n' + - ' billentyűzetes navigációból kilép.

\n' + - '\n' + - '

Menüpont vagy eszköztárgomb aktiválása

\n' + - '\n' + - '

Amikor a kívánt menüelem vagy eszköztárgomb van kijelölve, nyomja meg a Return, az Enter\n' + - ' vagy a Szóköz billentyűt az adott elem vagy gomb aktiválásához.

\n' + - '\n' + - '

Navigálás a lapokkal nem rendelkező párbeszédablakokban

\n' + - '\n' + - '

A lapokkal nem rendelkező párbeszédablakokban az első interaktív összetevő kapja a fókuszt, amikor a párbeszédpanel megnyílik.

\n' + - '\n' + - '

A párbeszédpanelek interaktív összetevői között a Tab vagy a Shift+Tab billentyűvel navigálhat.

\n' + - '\n' + - '

Navigálás a lapokkal rendelkező párbeszédablakokban

\n' + - '\n' + - '

A lapokkal rendelkező párbeszédablakokban a lapmenü első gombja kapja a fókuszt, amikor a párbeszédpanel megnyílik.

\n' + - '\n' + - '

A párbeszédpanel e lapjának interaktív összetevői között a Tab vagy\n' + - ' Shift+Tab billentyűvel navigálhat.

\n' + - '\n' + - '

A párbeszédablak másik lapjára úgy léphet, hogy a fókuszt a lapmenüre állítja, majd lenyomja a megfelelő nyílbillentyűt\n' + - ' a rendelkezésre álló lapok közötti lépkedéshez.

\n'); \ No newline at end of file diff --git a/frontend/public/tinymce/plugins/help/js/i18n/keynav/id.js b/frontend/public/tinymce/plugins/help/js/i18n/keynav/id.js deleted file mode 100644 index d607dd1..0000000 --- a/frontend/public/tinymce/plugins/help/js/i18n/keynav/id.js +++ /dev/null @@ -1,93 +0,0 @@ -tinymce.Resource.add('tinymce.html-i18n.help-keynav.id', -'

Memulai navigasi keyboard

\n' + - '\n' + - '
\n' + - '
Fokus pada bilah Menu
\n' + - '
Windows atau Linux: Alt+F9
\n' + - '
macOS: ⌥F9
\n' + - '
Fokus pada Bilah Alat
\n' + - '
Windows atau Linux: Alt+F10
\n' + - '
macOS: ⌥F10
\n' + - '
Fokus pada footer
\n' + - '
Windows atau Linux: Alt+F11
\n' + - '
macOS: ⌥F11
\n' + - '
Fokuskan pemberitahuan
\n' + - '
Windows atau Linux: Alt+F12
\n' + - '
macOS: ⌥F12
\n' + - '
Fokus pada bilah alat kontekstual
\n' + - '
Windows, Linux, atau macOS: Ctrl+F9
\n' + - '
\n' + - '\n' + - '

Navigasi akan dimulai dari item pertama UI, yang akan disorot atau digarisbawahi di\n' + - ' alur elemen Footer.

\n' + - '\n' + - '

Berpindah antar-bagian UI

\n' + - '\n' + - '

Untuk berpindah dari satu bagian UI ke bagian berikutnya, tekan Tab.

\n' + - '\n' + - '

Untuk berpindah dari satu bagian UI ke bagian sebelumnya, tekan Shift+Tab.

\n' + - '\n' + - '

Urutan Tab bagian-bagian UI ini adalah:

\n' + - '\n' + - '
    \n' + - '
  1. Bilah menu
  2. \n' + - '
  3. Tiap grup bilah alat
  4. \n' + - '
  5. Bilah sisi
  6. \n' + - '
  7. Alur elemen di footer
  8. \n' + - '
  9. Tombol aktifkan/nonaktifkan jumlah kata di footer
  10. \n' + - '
  11. Tautan merek di footer
  12. \n' + - '
  13. Pengatur pengubahan ukuran editor di footer
  14. \n' + - '
\n' + - '\n' + - '

Jika suatu bagian UI tidak ada, bagian tersebut dilewati.

\n' + - '\n' + - '

Jika fokus navigasi keyboard ada pada footer, tetapi tidak ada bilah sisi yang terlihat, menekan Shift+Tab\n' + - ' akan memindahkan fokus ke grup bilah alat pertama, bukan yang terakhir.

\n' + - '\n' + - '

Berpindah di dalam bagian-bagian UI

\n' + - '\n' + - '

Untuk berpindah dari satu elemen UI ke elemen berikutnya, tekan tombol Panah yang sesuai.

\n' + - '\n' + - '

Tombol panah Kiri dan Kanan untuk

\n' + - '\n' + - '
    \n' + - '
  • berpindah-pindah antar-menu di dalam bilah menu.
  • \n' + - '
  • membuka sub-menu di dalam menu.
  • \n' + - '
  • berpindah-pindah antar-tombol di dalam grup bilah alat.
  • \n' + - '
  • berpindah-pindah antar-item di dalam alur elemen footer.
  • \n' + - '
\n' + - '\n' + - '

Tombol panah Bawah dan Atas untuk

\n' + - '\n' + - '
    \n' + - '
  • berpindah-pindah antar-item menu di dalam menu.
  • \n' + - '
  • berpindah-pindah antar-item di dalam menu pop-up bilah alat.
  • \n' + - '
\n' + - '\n' + - '

Tombol Panah hanya bergerak di dalam bagian UI yang difokuskan.

\n' + - '\n' + - '

Untuk menutup menu, sub-menu, atau menu pop-up yang terbuka, tekan tombol Esc.

\n' + - '\n' + - '

Jika fokus sedang berada di ‘atas’ bagian UI tertentu, menekan tombol Esc juga dapat mengeluarkan fokus\n' + - ' dari seluruh navigasi keyboard.

\n' + - '\n' + - '

Menjalankan item menu atau tombol bilah alat

\n' + - '\n' + - '

Jika item menu atau tombol bilah alat yang diinginkan tersorot, tekan Return, Enter,\n' + - ' atau Spasi untuk menjalankan item.

\n' + - '\n' + - '

Berpindah dalam dialog tanpa tab

\n' + - '\n' + - '

Dalam dialog tanpa tab, fokus diarahkan pada komponen interaktif pertama saat dialog terbuka.

\n' + - '\n' + - '

Berpindah di antara komponen dalam dialog interaktif dengan menekan Tab atau Shift+Tab.

\n' + - '\n' + - '

Berpindah dalam dialog dengan tab

\n' + - '\n' + - '

Dalam dialog yang memiliki tab, fokus diarahkan pada tombol pertama di dalam menu saat dialog terbuka.

\n' + - '\n' + - '

Berpindah di antara komponen-komponen interaktif pada tab dialog ini dengan menekan Tab atau\n' + - ' Shift+Tab.

\n' + - '\n' + - '

Beralih ke tab dialog lain dengan mengarahkan fokus pada menu tab lalu tekan tombol Panah\n' + - ' yang sesuai untuk berpindah ke berbagai tab yang tersedia.

\n'); \ No newline at end of file diff --git a/frontend/public/tinymce/plugins/help/js/i18n/keynav/it.js b/frontend/public/tinymce/plugins/help/js/i18n/keynav/it.js deleted file mode 100644 index 3a791c9..0000000 --- a/frontend/public/tinymce/plugins/help/js/i18n/keynav/it.js +++ /dev/null @@ -1,93 +0,0 @@ -tinymce.Resource.add('tinymce.html-i18n.help-keynav.it', -'

Iniziare la navigazione tramite tastiera

\n' + - '\n' + - '
\n' + - '
Impostare lo stato attivo per la barra dei menu
\n' + - '
Windows o Linux: ALT+F9
\n' + - '
macOS: ⌥F9
\n' + - '
Impostare lo stato attivo per la barra degli strumenti
\n' + - '
Windows o Linux: ALT+F10
\n' + - '
macOS: ⌥F10
\n' + - '
Impostare lo stato attivo per il piè di pagina
\n' + - '
Windows o Linux: ALT+F11
\n' + - '
macOS: ⌥F11
\n' + - '
Metti a fuoco la notifica
\n' + - '
Windows o Linux: ALT+F12
\n' + - '
macOS: ⌥F12
\n' + - '
Impostare lo stato attivo per la barra degli strumenti contestuale
\n' + - '
Windows, Linux o macOS: CTRL+F9
\n' + - '
\n' + - '\n' + - "

La navigazione inizierà dalla prima voce dell'interfaccia utente, che sarà evidenziata o sottolineata nel caso della prima voce\n" + - " nel percorso dell'elemento del piè di pagina.

\n" + - '\n' + - "

Navigare tra le sezioni dell'interfaccia utente

\n" + - '\n' + - "

Per passare da una sezione dell'interfaccia utente alla successiva, premere TAB.

\n" + - '\n' + - "

Per passare da una sezione dell'interfaccia utente alla precedente, premere MAIUSC+TAB.

\n" + - '\n' + - "

L'ordine di tabulazione di queste sezioni dell'interfaccia utente è:

\n" + - '\n' + - '
    \n' + - '
  1. Barra dei menu
  2. \n' + - '
  3. Ogni gruppo di barre degli strumenti
  4. \n' + - '
  5. Barra laterale
  6. \n' + - "
  7. Percorso dell'elemento nel piè di pagina
  8. \n" + - '
  9. Pulsante di attivazione/disattivazione del conteggio delle parole nel piè di pagina
  10. \n' + - '
  11. Collegamento al marchio nel piè di pagina
  12. \n' + - "
  13. Quadratino di ridimensionamento dell'editor nel piè di pagina
  14. \n" + - '
\n' + - '\n' + - "

Se una sezione dell'interfaccia utente non è presente, viene saltata.

\n" + - '\n' + - '

Se il piè di pagina ha lo stato attivo per la navigazione tramite tastiera e non è presente alcuna barra laterale visibile, premendo MAIUSC+TAB\n' + - " si sposta lo stato attivo sul primo gruppo di barre degli strumenti, non sull'ultimo.

\n" + - '\n' + - "

Navigare all'interno delle sezioni dell'interfaccia utente

\n" + - '\n' + - "

Per passare da un elemento dell'interfaccia utente al successivo, premere il tasto freccia appropriato.

\n" + - '\n' + - '

I tasti freccia Sinistra e Destra

\n' + - '\n' + - '
    \n' + - '
  • consentono di spostarsi tra i menu della barra dei menu.
  • \n' + - '
  • aprono un sottomenu in un menu.
  • \n' + - '
  • consentono di spostarsi tra i pulsanti di un gruppo di barre degli strumenti.
  • \n' + - "
  • consentono di spostarsi tra le voci nel percorso dell'elemento del piè di pagina.
  • \n" + - '
\n' + - '\n' + - '

I tasti freccia Giù e Su

\n' + - '\n' + - '
    \n' + - '
  • consentono di spostarsi tra le voci di un menu.
  • \n' + - '
  • consentono di spostarsi tra le voci di un menu a comparsa della barra degli strumenti.
  • \n' + - '
\n' + - '\n' + - "

I tasti freccia consentono di spostarsi all'interno della sezione dell'interfaccia utente con stato attivo.

\n" + - '\n' + - '

Per chiudere un menu aperto, un sottomenu aperto o un menu a comparsa aperto, premere il tasto ESC.

\n' + - '\n' + - "

Se lo stato attivo corrente si trova nella parte superiore di una particolare sezione dell'interfaccia utente, premendo il tasto ESC si esce\n" + - ' completamente dalla navigazione tramite tastiera.

\n' + - '\n' + - '

Eseguire una voce di menu o un pulsante della barra degli strumenti

\n' + - '\n' + - '

Quando la voce di menu o il pulsante della barra degli strumenti desiderati sono evidenziati, premere il tasto diritorno a capo, il tasto Invio\n' + - ' o la barra spaziatrice per eseguirli.

\n' + - '\n' + - '

Navigare nelle finestre di dialogo non a schede

\n' + - '\n' + - "

Nelle finestre di dialogo non a schede, all'apertura della finestra di dialogo diventa attivo il primo componente interattivo.

\n" + - '\n' + - '

Per spostarsi tra i componenti interattivi della finestra di dialogo, premere TAB o MAIUSC+TAB.

\n' + - '\n' + - '

Navigare nelle finestre di dialogo a schede

\n' + - '\n' + - "

Nelle finestre di dialogo a schede, all'apertura della finestra di dialogo diventa attivo il primo pulsante del menu della scheda.

\n" + - '\n' + - '

Per spostarsi tra i componenti interattivi di questa scheda della finestra di dialogo, premere TAB o\n' + - ' MAIUSC+TAB.

\n' + - '\n' + - "

Per passare a un'altra scheda della finestra di dialogo, attivare il menu della scheda e premere il tasto freccia\n" + - ' appropriato per scorrere le schede disponibili.

\n'); \ No newline at end of file diff --git a/frontend/public/tinymce/plugins/help/js/i18n/keynav/ja.js b/frontend/public/tinymce/plugins/help/js/i18n/keynav/ja.js deleted file mode 100644 index 26872db..0000000 --- a/frontend/public/tinymce/plugins/help/js/i18n/keynav/ja.js +++ /dev/null @@ -1,93 +0,0 @@ -tinymce.Resource.add('tinymce.html-i18n.help-keynav.ja', -'

キーボード ナビゲーションの開始

\n' + - '\n' + - '
\n' + - '
メニュー バーをフォーカス
\n' + - '
Windows または Linux: Alt+F9
\n' + - '
macOS: ⌥F9
\n' + - '
ツール バーをフォーカス
\n' + - '
Windows または Linux: Alt+F10
\n' + - '
macOS: ⌥F10
\n' + - '
フッターをフォーカス
\n' + - '
Windows または Linux: Alt+F11
\n' + - '
macOS: ⌥F11
\n' + - '
通知にフォーカス
\n' + - '
Windows または Linux: Alt+F12
\n' + - '
macOS: ⌥F12
\n' + - '
コンテキスト ツール バーをフォーカス
\n' + - '
Windows、Linux または macOS: Ctrl+F9
\n' + - '
\n' + - '\n' + - '

ナビゲーションは最初の UI 項目から開始され、強調表示されるか、フッターの要素パスにある最初の項目の場合は\n' + - ' 下線が引かれます。

\n' + - '\n' + - '

UI セクション間の移動

\n' + - '\n' + - '

次の UI セクションに移動するには、Tab を押します。

\n' + - '\n' + - '

前の UI セクションに移動するには、Shift+Tab を押します。

\n' + - '\n' + - '

これらの UI セクションの Tab の順序:

\n' + - '\n' + - '
    \n' + - '
  1. メニュー バー
  2. \n' + - '
  3. 各ツール バー グループ
  4. \n' + - '
  5. サイド バー
  6. \n' + - '
  7. フッターの要素パス
  8. \n' + - '
  9. フッターの単語数切り替えボタン
  10. \n' + - '
  11. フッターのブランド リンク
  12. \n' + - '
  13. フッターのエディター サイズ変更ハンドル
  14. \n' + - '
\n' + - '\n' + - '

UI セクションが存在しない場合は、スキップされます。

\n' + - '\n' + - '

フッターにキーボード ナビゲーション フォーカスがあり、表示可能なサイド バーがない場合、Shift+Tab を押すと、\n' + - ' フォーカスが最後ではなく最初のツール バー グループに移動します。

\n' + - '\n' + - '

UI セクション内の移動

\n' + - '\n' + - '

次の UI 要素に移動するには、適切な矢印キーを押します。

\n' + - '\n' + - '

左矢印右矢印のキー

\n' + - '\n' + - '
    \n' + - '
  • メニュー バーのメニュー間で移動します。
  • \n' + - '
  • メニュー内のサブメニューを開きます。
  • \n' + - '
  • ツール バー グループのボタン間で移動します。
  • \n' + - '
  • フッターの要素パスの項目間で移動します。
  • \n' + - '
\n' + - '\n' + - '

下矢印上矢印のキー

\n' + - '\n' + - '
    \n' + - '
  • メニュー内のメニュー項目間で移動します。
  • \n' + - '
  • ツール バー ポップアップ メニュー内のメニュー項目間で移動します。
  • \n' + - '
\n' + - '\n' + - '

矢印キーで、フォーカスされた UI セクション内で循環します。

\n' + - '\n' + - '

開いたメニュー、開いたサブメニュー、開いたポップアップ メニューを閉じるには、Esc キーを押します。

\n' + - '\n' + - '

現在のフォーカスが特定の UI セクションの「一番上」にある場合、Esc キーを押すと\n' + - ' キーボード ナビゲーションも完全に閉じられます。

\n' + - '\n' + - '

メニュー項目またはツール バー ボタンの実行

\n' + - '\n' + - '

目的のメニュー項目やツール バー ボタンが強調表示されている場合、リターンEnter、\n' + - ' またはスペース キーを押して項目を実行します。

\n' + - '\n' + - '

タブのないダイアログの移動

\n' + - '\n' + - '

タブのないダイアログでは、ダイアログが開くと最初の対話型コンポーネントがフォーカスされます。

\n' + - '\n' + - '

Tab または Shift+Tab を押して、対話型ダイアログ コンポーネント間で移動します。

\n' + - '\n' + - '

タブ付きダイアログの移動

\n' + - '\n' + - '

タブ付きダイアログでは、ダイアログが開くとタブ メニューの最初のボタンがフォーカスされます。

\n' + - '\n' + - '

Tab または\n' + - ' Shift+Tab を押して、このダイアログ タブの対話型コンポーネント間で移動します。

\n' + - '\n' + - '

タブ メニューをフォーカスしてから適切な矢印キーを押して表示可能なタブを循環して、\n' + - ' 別のダイアログに切り替えます。

\n'); \ No newline at end of file diff --git a/frontend/public/tinymce/plugins/help/js/i18n/keynav/kk.js b/frontend/public/tinymce/plugins/help/js/i18n/keynav/kk.js deleted file mode 100644 index e31532f..0000000 --- a/frontend/public/tinymce/plugins/help/js/i18n/keynav/kk.js +++ /dev/null @@ -1,93 +0,0 @@ -tinymce.Resource.add('tinymce.html-i18n.help-keynav.kk', -'

Пернетақта навигациясын бастау

\n' + - '\n' + - '
\n' + - '
Мәзір жолағын фокустау
\n' + - '
Windows немесе Linux: Alt+F9
\n' + - '
macOS: ⌥F9
\n' + - '
Құралдар тақтасын фокустау
\n' + - '
Windows немесе Linux: Alt+F10
\n' + - '
macOS: ⌥F10
\n' + - '
Төменгі деректемені фокустау
\n' + - '
Windows немесе Linux: Alt+F11
\n' + - '
macOS: ⌥F11
\n' + - '
Хабарландыруды белгілеу
\n' + - '
Windows немесе Linux: Alt+F12
\n' + - '
macOS: ⌥F12
\n' + - '
Мәтінмәндік құралдар тақтасын фокустау
\n' + - '
Windows, Linux немесе macOS: Ctrl+F9
\n' + - '
\n' + - '\n' + - '

Навигация бөлектелетін немесе Төменгі деректеме элементінің жолындағы бірінші элемент жағдайында асты сызылатын\n' + - ' бірінші ПИ элементінен басталады.

\n' + - '\n' + - '

ПИ бөлімдері арасында навигациялау

\n' + - '\n' + - '

Бір ПИ бөлімінен келесісіне өту үшін Tab пернесін басыңыз.

\n' + - '\n' + - '

Бір ПИ бөлімінен алдыңғысына өту үшін Shift+Tab пернесін басыңыз.

\n' + - '\n' + - '

Осы ПИ бөлімдерінің Tab реті:

\n' + - '\n' + - '
    \n' + - '
  1. Мәзір жолағы
  2. \n' + - '
  3. Әрбір құралдар тақтасы тобы
  4. \n' + - '
  5. Бүйірлік жолақ
  6. \n' + - '
  7. Төменгі деректемедегі элемент жолы
  8. \n' + - '
  9. Төменгі деректемедегі сөздер санын ауыстыру түймесі
  10. \n' + - '
  11. Төменгі деректемедегі брендингтік сілтеме
  12. \n' + - '
  13. Төменгі деректемедегі редактор өлшемін өзгерту тұтқасы
  14. \n' + - '
\n' + - '\n' + - '

ПИ бөлімі көрсетілмесе, ол өткізіп жіберіледі.

\n' + - '\n' + - '

Төменгі деректемеде пернетақта навигациясының фокусы болса және бүйірлік жолақ көрінбесе, Shift+Tab тіркесімін басу әрекеті\n' + - ' фокусты соңғысы емес, бірінші құралдар тақтасы тобына жылжытады.

\n' + - '\n' + - '

ПИ бөлімдерінде навигациялау

\n' + - '\n' + - '

Бір ПИ элементінен келесісіне өту үшін Arrow (Көрсеткі) пернесін басыңыз.

\n' + - '\n' + - '

Left (Сол жақ) және Right (Оң жақ) көрсеткі пернелері

\n' + - '\n' + - '
    \n' + - '
  • мәзір жолағындағы мәзірлер арасында жылжыту.
  • \n' + - '
  • мәзірде ішкі мәзірді ашу.
  • \n' + - '
  • құралдар тақтасы тобындағы түймелер арасында жылжыту.
  • \n' + - '
  • төменгі деректеме элементінің жолындағы элементтер арасында жылжыту.
  • \n' + - '
\n' + - '\n' + - '

Down (Төмен) және Up (Жоғары) көрсеткі пернелері

\n' + - '\n' + - '
    \n' + - '
  • мәзірдегі мәзір элементтері арасында жылжыту.
  • \n' + - '
  • құралдар тақтасының ашылмалы мәзіріндегі мәзір элементтері арасында жылжыту.
  • \n' + - '
\n' + - '\n' + - '

Фокусталған ПИ бөліміндегі Arrow (Көрсеткі) пернелерінің циклі.

\n' + - '\n' + - '

Ашық мәзірді жабу үшін ішкі мәзірді ашып немесе ашылмалы мәзірді ашып, Esc пернесін басыңыз.

\n' + - '\n' + - '

Ағымдағы фокус белгілі бір ПИ бөлімінің «үстінде» болса, Esc пернесін басу әрекеті пернетақта\n' + - ' навигациясын толығымен жабады.

\n' + - '\n' + - '

Мәзір элементін немесе құралдар тақтасы түймесін орындау

\n' + - '\n' + - '

Қажетті мәзір элементі немесе құралдар тақтасы түймесі бөлектелген кезде, элементті орындау үшін Return (Қайтару), Enter (Енгізу)\n' + - ' немесе Space bar (Бос орын) пернесін басыңыз.

\n' + - '\n' + - '

Белгіленбеген диалог терезелерін навигациялау

\n' + - '\n' + - '

Белгіленбеген диалог терезелерінде диалог терезесі ашылған кезде бірінші интерактивті құрамдас фокусталады.

\n' + - '\n' + - '

Tab немесе Shift+Tab пернесін басу арқылы интерактивті диалог терезесінің құрамдастары арасында навигациялаңыз.

\n' + - '\n' + - '

Белгіленген диалог терезелерін навигациялау

\n' + - '\n' + - '

Белгіленген диалог терезелерінде диалог терезесі ашылған кезде қойынды мәзіріндегі бірінші түйме фокусталады.

\n' + - '\n' + - '

Tab немесе\n' + - ' Shift+Tab пернесін басу арқылы осы диалог терезесі қойындысының интерактивті құрамдастары арасында навигациялаңыз.

\n' + - '\n' + - '

Қойынды мәзірінің фокусын беру арқылы басқа диалог терезесінің қойындысына ауысып, тиісті Arrow (Көрсеткі)\n' + - ' пернесін басу арқылы қолжетімді қойындылар арасында айналдыруға болады.

\n'); \ No newline at end of file diff --git a/frontend/public/tinymce/plugins/help/js/i18n/keynav/ko_KR.js b/frontend/public/tinymce/plugins/help/js/i18n/keynav/ko_KR.js deleted file mode 100644 index e7c8e7f..0000000 --- a/frontend/public/tinymce/plugins/help/js/i18n/keynav/ko_KR.js +++ /dev/null @@ -1,93 +0,0 @@ -tinymce.Resource.add('tinymce.html-i18n.help-keynav.ko_KR', -'

키보드 탐색 시작

\n' + - '\n' + - '
\n' + - '
메뉴 모음 포커스 표시
\n' + - '
Windows 또는 Linux: Alt+F9
\n' + - '
macOS: ⌥F9
\n' + - '
도구 모음 포커스 표시
\n' + - '
Windows 또는 Linux: Alt+F10
\n' + - '
macOS: ⌥F10
\n' + - '
푸터 포커스 표시
\n' + - '
Windows 또는 Linux: Alt+F11
\n' + - '
macOS: ⌥F11
\n' + - '
알림 포커스
\n' + - '
Windows 또는 Linux: Alt+F12
\n' + - '
macOS: ⌥F12
\n' + - '
컨텍스트 도구 모음에 포커스 표시
\n' + - '
Windows, Linux 또는 macOS: Ctrl+F9
\n' + - '
\n' + - '\n' + - '

첫 번째 UI 항목에서 탐색이 시작되며, 이때 첫 번째 항목이 강조 표시되거나 푸터 요소 경로에 있는\n' + - ' 경우 밑줄 표시됩니다.

\n' + - '\n' + - '

UI 섹션 간 탐색

\n' + - '\n' + - '

한 UI 섹션에서 다음 UI 섹션으로 이동하려면 Tab(탭)을 누릅니다.

\n' + - '\n' + - '

한 UI 섹션에서 이전 UI 섹션으로 돌아가려면 Shift+Tab(시프트+탭)을 누릅니다.

\n' + - '\n' + - '

이 UI 섹션의 Tab(탭) 순서는 다음과 같습니다.

\n' + - '\n' + - '
    \n' + - '
  1. 메뉴 바
  2. \n' + - '
  3. 각 도구 모음 그룹
  4. \n' + - '
  5. 사이드바
  6. \n' + - '
  7. 푸터의 요소 경로
  8. \n' + - '
  9. 푸터의 단어 수 토글 버튼
  10. \n' + - '
  11. 푸터의 브랜딩 링크
  12. \n' + - '
  13. 푸터의 에디터 크기 변경 핸들
  14. \n' + - '
\n' + - '\n' + - '

UI 섹션이 없는 경우 건너뛰기합니다.

\n' + - '\n' + - '

푸터에 키보드 탐색 포커스가 있고 사이드바는 보이지 않는 경우 Shift+Tab(시프트+탭)을 누르면\n' + - ' 포커스 표시가 마지막이 아닌 첫 번째 도구 모음 그룹으로 이동합니다.

\n' + - '\n' + - '

UI 섹션 내 탐색

\n' + - '\n' + - '

한 UI 요소에서 다음 UI 요소로 이동하려면 적절한 화살표 키를 누릅니다.

\n' + - '\n' + - '

왼쪽오른쪽 화살표 키의 용도:

\n' + - '\n' + - '
    \n' + - '
  • 메뉴 모음에서 메뉴 항목 사이를 이동합니다.
  • \n' + - '
  • 메뉴에서 하위 메뉴를 엽니다.
  • \n' + - '
  • 도구 모음 그룹에서 버튼 사이를 이동합니다.
  • \n' + - '
  • 푸터의 요소 경로에서 항목 간에 이동합니다.
  • \n' + - '
\n' + - '\n' + - '

아래 화살표 키의 용도:

\n' + - '\n' + - '
    \n' + - '
  • 메뉴에서 메뉴 항목 사이를 이동합니다.
  • \n' + - '
  • 도구 모음 팝업 메뉴에서 메뉴 항목 사이를 이동합니다.
  • \n' + - '
\n' + - '\n' + - '

화살표 키는 포커스 표시 UI 섹션 내에서 순환됩니다.

\n' + - '\n' + - '

열려 있는 메뉴, 열려 있는 하위 메뉴 또는 열려 있는 팝업 메뉴를 닫으려면 Esc 키를 누릅니다.

\n' + - '\n' + - "

현재 포커스 표시가 특정 UI 섹션 '상단'에 있는 경우 이때도 Esc 키를 누르면\n" + - ' 키보드 탐색이 완전히 종료됩니다.

\n' + - '\n' + - '

메뉴 항목 또는 도구 모음 버튼 실행

\n' + - '\n' + - '

원하는 메뉴 항목 또는 도구 모음 버튼이 강조 표시되어 있을 때 Return(리턴), Enter(엔터),\n' + - ' 또는 Space bar(스페이스바)를 눌러 해당 항목을 실행합니다.

\n' + - '\n' + - '

탭이 없는 대화 탐색

\n' + - '\n' + - '

탭이 없는 대화의 경우, 첫 번째 대화형 요소가 포커스 표시된 상태로 대화가 열립니다.

\n' + - '\n' + - '

대화형 요소들 사이를 이동할 때는 Tab(탭) 또는 Shift+Tab(시프트+탭)을 누릅니다.

\n' + - '\n' + - '

탭이 있는 대화 탐색

\n' + - '\n' + - '

탭이 있는 대화의 경우, 탭 메뉴에서 첫 번째 버튼이 포커스 표시된 상태로 대화가 열립니다.

\n' + - '\n' + - '

이 대화 탭의 대화형 요소들 사이를 이동할 때는 Tab(탭) 또는\n' + - ' Shift+Tab(시프트+탭)을 누릅니다.

\n' + - '\n' + - '

다른 대화 탭으로 이동하려면 탭 메뉴를 포커스 표시한 다음 적절한 화살표\n' + - ' 키를 눌러 사용 가능한 탭들을 지나 원하는 탭으로 이동합니다.

\n'); \ No newline at end of file diff --git a/frontend/public/tinymce/plugins/help/js/i18n/keynav/ms.js b/frontend/public/tinymce/plugins/help/js/i18n/keynav/ms.js deleted file mode 100644 index 2c047bb..0000000 --- a/frontend/public/tinymce/plugins/help/js/i18n/keynav/ms.js +++ /dev/null @@ -1,93 +0,0 @@ -tinymce.Resource.add('tinymce.html-i18n.help-keynav.ms', -'

Mulakan navigasi papan kekunci

\n' + - '\n' + - '
\n' + - '
Fokus bar Menu
\n' + - '
Windows atau Linux: Alt+F9
\n' + - '
macOS: ⌥F9
\n' + - '
Fokus Bar Alat
\n' + - '
Windows atau Linux: Alt+F10
\n' + - '
macOS: ⌥F10
\n' + - '
Fokus pengaki
\n' + - '
Windows atau Linux: Alt+F11
\n' + - '
macOS: ⌥F11
\n' + - '
Tumpu kepada pemberitahuan
\n' + - '
Windows atau Linux: Alt+F12
\n' + - '
macOS: ⌥F12
\n' + - '
Fokus bar alat kontekstual
\n' + - '
Windows, Linux atau macOS: Ctrl+F9
\n' + - '
\n' + - '\n' + - '

Navigasi akan bermula pada item UI pertama, yang akan diserlahkan atau digaris bawah dalam saiz item pertama dalam\n' + - ' laluan elemen Pengaki.

\n' + - '\n' + - '

Navigasi antara bahagian UI

\n' + - '\n' + - '

Untuk bergerak dari satu bahagian UI ke yang seterusnya, tekan Tab.

\n' + - '\n' + - '

Untuk bergerak dari satu bahagian UI ke yang sebelumnya, tekan Shift+Tab.

\n' + - '\n' + - '

Tertib Tab bahagian UI ini ialah:

\n' + - '\n' + - '
    \n' + - '
  1. Bar menu
  2. \n' + - '
  3. Setiap kumpulan bar alat
  4. \n' + - '
  5. Bar sisi
  6. \n' + - '
  7. Laluan elemen dalam pengaki
  8. \n' + - '
  9. Butang togol kiraan perkataan dalam pengaki
  10. \n' + - '
  11. Pautan penjenamaan dalam pengaki
  12. \n' + - '
  13. Pemegang saiz semula editor dalam pengaki
  14. \n' + - '
\n' + - '\n' + - '

Jika bahagian UI tidak wujud, ia dilangkau.

\n' + - '\n' + - '

Jika pengaki mempunyai fokus navigasi papan kekunci dan tiada bar sisi kelihatan, menekan Shift+Tab\n' + - ' akan mengalihkan fokus ke kumpulan bar alat pertama, bukannya yang terakhir.

\n' + - '\n' + - '

Navigasi dalam bahagian UI

\n' + - '\n' + - '

Untuk bergerak dari satu elemen UI ke yang seterusnya, tekan kekunci Anak Panah yang bersesuaian.

\n' + - '\n' + - '

Kekunci anak panah Kiri dan Kanan

\n' + - '\n' + - '
    \n' + - '
  • bergerak antara menu dalam bar menu.
  • \n' + - '
  • membukan submenu dalam menu.
  • \n' + - '
  • bergerak antara butang dalam kumpulan bar alat.
  • \n' + - '
  • Laluan elemen dalam pengaki.
  • \n' + - '
\n' + - '\n' + - '

Kekunci anak panah Bawah dan Atas

\n' + - '\n' + - '
    \n' + - '
  • bergerak antara item menu dalam menu.
  • \n' + - '
  • bergerak antara item dalam menu timbul bar alat.
  • \n' + - '
\n' + - '\n' + - '

Kekunci Anak Panah berkitar dalam bahagian UI difokuskan.

\n' + - '\n' + - '

Untuk menutup menu buka, submenu terbuka atau menu timbul terbuka, tekan kekunci Esc.

\n' + - '\n' + - "

Jika fokus semasa berada di bahagian 'atas' bahagian UI tertentu, menekan kekunci Esc juga akan keluar daripada\n" + - ' navigasi papan kekunci sepenuhnya.

\n' + - '\n' + - '

Laksanakan item menu atau butang bar alat

\n' + - '\n' + - '

Apabila item menu atau butang bar alat yang diinginkan diserlahkan, tekan Return, Enter,\n' + - ' atau bar Space untuk melaksanakan item.

\n' + - '\n' + - '

Navigasi ke dialog tidak bertab

\n' + - '\n' + - '

Dalam dialog tidak bertab, komponen interaksi pertama difokuskan apabila dialog dibuka.

\n' + - '\n' + - '

Navigasi antara komponen dialog interaktif dengan menekan Tab atau Shift+Tab.

\n' + - '\n' + - '

Navigasi ke dialog bertab

\n' + - '\n' + - '

Dalam dialog bertab, butang pertama dalam menu tab difokuskan apabila dialog dibuka.

\n' + - '\n' + - '

Navigasi antara komponen interaktif tab dialog ini dengan menekan Tab atau\n' + - ' Shift+Tab.

\n' + - '\n' + - '

Tukar kepada tab dialog lain dengan memfokuskan menu tab, kemudian menekan kekunci Anak Panah yang bersesuaian\n' + - ' untuk berkitar menerusi tab yang tersedia.

\n'); \ No newline at end of file diff --git a/frontend/public/tinymce/plugins/help/js/i18n/keynav/nb_NO.js b/frontend/public/tinymce/plugins/help/js/i18n/keynav/nb_NO.js deleted file mode 100644 index 071e3f5..0000000 --- a/frontend/public/tinymce/plugins/help/js/i18n/keynav/nb_NO.js +++ /dev/null @@ -1,93 +0,0 @@ -tinymce.Resource.add('tinymce.html-i18n.help-keynav.nb_NO', -'

Starte tastaturnavigering

\n' + - '\n' + - '
\n' + - '
Utheve menylinjen
\n' + - '
Windows eller Linux: Alt + F9
\n' + - '
macOS: ⌥F9
\n' + - '
Utheve verktøylinjen
\n' + - '
Windows eller Linux: Alt + F10
\n' + - '
macOS: ⌥F10
\n' + - '
Utheve bunnteksten
\n' + - '
Windows eller Linux: Alt + F11
\n' + - '
macOS: ⌥F11
\n' + - '
Fokuser på varselet
\n' + - '
Windows eller Linux: Alt+F12
\n' + - '
macOS: ⌥F12
\n' + - '
Utheve en kontekstuell verktøylinje
\n' + - '
Windows, Linux eller macOS: Ctrl + F9
\n' + - '
\n' + - '\n' + - '

Navigeringen starter ved det første grensesnittelementet, som utheves, eller understrekes når det gjelder det første elementet i\n' + - ' elementstien i bunnteksten.

\n' + - '\n' + - '

Navigere mellom grensesnittdeler

\n' + - '\n' + - '

Du kan bevege deg fra én grensesnittdel til den neste ved å trykke på tabulatortasten.

\n' + - '\n' + - '

Du kan bevege deg fra én grensesnittdel til den forrige ved å trykke på Shift + tabulatortasten.

\n' + - '\n' + - '

Rekkefølgen til tabulatortasten gjennom grensesnittdelene er:

\n' + - '\n' + - '
    \n' + - '
  1. Menylinjen
  2. \n' + - '
  3. Hver gruppe på verktøylinjen
  4. \n' + - '
  5. Sidestolpen
  6. \n' + - '
  7. Elementstien i bunnteksten
  8. \n' + - '
  9. Veksleknappen for ordantall i bunnteksten
  10. \n' + - '
  11. Merkelenken i bunnteksten
  12. \n' + - '
  13. Skaleringshåndtaket for redigeringsprogrammet i bunnteksten
  14. \n' + - '
\n' + - '\n' + - '

Hvis en grensesnittdel ikke er til stede, blir den hoppet over.

\n' + - '\n' + - '

Hvis tastaturnavigeringen har uthevet bunnteksten og det ikke finnes en synlig sidestolpe, kan du trykke på Shift + tabulatortasten\n' + - ' for å flytte fokuset til den første gruppen på verktøylinjen i stedet for den siste.

\n' + - '\n' + - '

Navigere innenfor grensesnittdeler

\n' + - '\n' + - '

Du kan bevege deg fra ett grensesnittelement til det neste ved å trykke på den aktuelle piltasten.

\n' + - '\n' + - '

De venstre og høyre piltastene

\n' + - '\n' + - '
    \n' + - '
  • beveger deg mellom menyer på menylinjen.
  • \n' + - '
  • åpner en undermeny i en meny.
  • \n' + - '
  • beveger deg mellom knapper i en gruppe på verktøylinjen.
  • \n' + - '
  • beveger deg mellom elementer i elementstien i bunnteksten.
  • \n' + - '
\n' + - '\n' + - '

Ned- og opp-piltastene

\n' + - '\n' + - '
    \n' + - '
  • beveger deg mellom menyelementer i en meny.
  • \n' + - '
  • beveger deg mellom elementer i en hurtigmeny på verktøylinjen.
  • \n' + - '
\n' + - '\n' + - '

Med piltastene kan du bevege deg innenfor den uthevede grensesnittdelen.

\n' + - '\n' + - '

Du kan lukke en åpen meny, en åpen undermeny eller en åpen hurtigmeny ved å klikke på Esc-tasten.

\n' + - '\n' + - '

Hvis det øverste nivået i en grensesnittdel er uthevet, kan du ved å trykke på Esc også avslutte\n' + - ' tastaturnavigeringen helt.

\n' + - '\n' + - '

Utføre et menyelement eller en knapp på en verktøylinje

\n' + - '\n' + - '

Når det ønskede menyelementet eller verktøylinjeknappen er uthevet, trykker du på Retur, Enter,\n' + - ' eller mellomromstasten for å utføre elementet.

\n' + - '\n' + - '

Navigere i dialogbokser uten faner

\n' + - '\n' + - '

I dialogbokser uten faner blir den første interaktive komponenten uthevet når dialogboksen åpnes.

\n' + - '\n' + - '

Naviger mellom interaktive komponenter i dialogboksen ved å trykke på tabulatortasten eller Shift + tabulatortasten.

\n' + - '\n' + - '

Navigere i fanebaserte dialogbokser

\n' + - '\n' + - '

I fanebaserte dialogbokser blir den første knappen i fanemenyen uthevet når dialogboksen åpnes.

\n' + - '\n' + - '

Naviger mellom interaktive komponenter i fanen ved å trykke på tabulatortasten eller\n' + - ' Shift + tabulatortasten.

\n' + - '\n' + - '

Veksle til en annen fane i dialogboksen ved å utheve fanemenyen, og trykk deretter på den aktuelle piltasten\n' + - ' for å bevege deg mellom de tilgjengelige fanene.

\n'); \ No newline at end of file diff --git a/frontend/public/tinymce/plugins/help/js/i18n/keynav/nl.js b/frontend/public/tinymce/plugins/help/js/i18n/keynav/nl.js deleted file mode 100644 index 05c07ae..0000000 --- a/frontend/public/tinymce/plugins/help/js/i18n/keynav/nl.js +++ /dev/null @@ -1,93 +0,0 @@ -tinymce.Resource.add('tinymce.html-i18n.help-keynav.nl', -'

Toetsenbordnavigatie starten

\n' + - '\n' + - '
\n' + - '
Focus op de menubalk instellen
\n' + - '
Windows of Linux: Alt+F9
\n' + - '
macOS: ⌥F9
\n' + - '
Focus op de werkbalk instellen
\n' + - '
Windows of Linux: Alt+F10
\n' + - '
macOS: ⌥F10
\n' + - '
Focus op de voettekst instellen
\n' + - '
Windows of Linux: Alt+F11
\n' + - '
macOS: ⌥F11
\n' + - '
Focus op de melding instellen
\n' + - '
Windows of Linux: Alt+F12
\n' + - '
macOS: ⌥F12
\n' + - '
Focus op een contextuele werkbalk instellen
\n' + - '
Windows, Linux of macOS: Ctrl+F9
\n' + - '
\n' + - '\n' + - '

De navigatie start bij het eerste UI-item, dat wordt gemarkeerd of onderstreept als het eerste item zich in\n' + - ' in het elementenpad van de voettekst bevindt.

\n' + - '\n' + - '

Navigeren tussen UI-secties

\n' + - '\n' + - '

Druk op Tab om naar de volgende UI-sectie te gaan.

\n' + - '\n' + - '

Druk op Shift+Tab om naar de vorige UI-sectie te gaan.

\n' + - '\n' + - '

De Tab-volgorde van deze UI-secties is:

\n' + - '\n' + - '
    \n' + - '
  1. Menubalk
  2. \n' + - '
  3. Elke werkbalkgroep
  4. \n' + - '
  5. Zijbalk
  6. \n' + - '
  7. Elementenpad in de voettekst
  8. \n' + - '
  9. Wisselknop voor aantal woorden in de voettekst
  10. \n' + - '
  11. Merkkoppeling in de voettekst
  12. \n' + - '
  13. Greep voor het wijzigen van het formaat van de editor in de voettekst
  14. \n' + - '
\n' + - '\n' + - '

Als een UI-sectie niet aanwezig is, wordt deze overgeslagen.

\n' + - '\n' + - '

Als de focus van de toetsenbordnavigatie is ingesteld op de voettekst en er geen zichtbare zijbalk is, kun je op Shift+Tab drukken\n' + - ' om de focus naar de eerste werkbalkgroep in plaats van de laatste te verplaatsen.

\n' + - '\n' + - '

Navigeren binnen UI-secties

\n' + - '\n' + - '

Druk op de pijltjestoets om naar het betreffende UI-element te gaan.

\n' + - '\n' + - '

Met de pijltjestoetsen Links en Rechts

\n' + - '\n' + - '
    \n' + - "
  • wissel je tussen menu's in de menubalk.
  • \n" + - '
  • open je een submenu in een menu.
  • \n' + - '
  • wissel je tussen knoppen in een werkbalkgroep.
  • \n' + - '
  • wissel je tussen items in het elementenpad in de voettekst.
  • \n' + - '
\n' + - '\n' + - '

Met de pijltjestoetsen Omlaag en Omhoog

\n' + - '\n' + - '
    \n' + - '
  • wissel je tussen menu-items in een menu.
  • \n' + - '
  • wissel je tussen items in een werkbalkpop-upmenu.
  • \n' + - '
\n' + - '\n' + - '

Met de pijltjestoetsen wissel je binnen de UI-sectie waarop de focus is ingesteld.

\n' + - '\n' + - '

Druk op de toets Esc om een geopend menu, submenu of pop-upmenu te sluiten.

\n' + - '\n' + - "

Als de huidige focus is ingesteld 'bovenaan' een bepaalde UI-sectie, kun je op de toets Esc drukken\n" + - ' om de toetsenbordnavigatie af te sluiten.

\n' + - '\n' + - '

Een menu-item of werkbalkknop uitvoeren

\n' + - '\n' + - '

Als het gewenste menu-item of de gewenste werkbalkknop is gemarkeerd, kun je op Return, Enter\n' + - ' of de spatiebalk drukken om het item uit te voeren.

\n' + - '\n' + - '

Navigeren in dialoogvensters zonder tabblad

\n' + - '\n' + - '

Als een dialoogvenster zonder tabblad wordt geopend, wordt de focus ingesteld op het eerste interactieve onderdeel.

\n' + - '\n' + - '

Je kunt navigeren tussen interactieve onderdelen van een dialoogvenster door op Tab of Shift+Tab te drukken.

\n' + - '\n' + - '

Navigeren in dialoogvensters met tabblad

\n' + - '\n' + - '

Als een dialoogvenster met tabblad wordt geopend, wordt de focus ingesteld op de eerste knop in het tabbladmenu.

\n' + - '\n' + - '

Je kunt navigeren tussen interactieve onderdelen van dit tabblad van het dialoogvenster door op Tab of\n' + - ' Shift+Tab te drukken.

\n' + - '\n' + - '

Je kunt overschakelen naar een ander tabblad van het dialoogvenster door de focus in te stellen op het tabbladmenu en vervolgens op de juiste pijltjestoets\n' + - ' te drukken om tussen de beschikbare tabbladen te wisselen.

\n'); \ No newline at end of file diff --git a/frontend/public/tinymce/plugins/help/js/i18n/keynav/pl.js b/frontend/public/tinymce/plugins/help/js/i18n/keynav/pl.js deleted file mode 100644 index e89f808..0000000 --- a/frontend/public/tinymce/plugins/help/js/i18n/keynav/pl.js +++ /dev/null @@ -1,93 +0,0 @@ -tinymce.Resource.add('tinymce.html-i18n.help-keynav.pl', -'

Początek nawigacji przy użyciu klawiatury

\n' + - '\n' + - '
\n' + - '
Ustaw fokus na pasek menu
\n' + - '
Windows lub Linux: Alt+F9
\n' + - '
macOS: ⌥F9
\n' + - '
Ustaw fokus na pasek narzędzi
\n' + - '
Windows lub Linux: Alt+F10
\n' + - '
macOS: ⌥F10
\n' + - '
Ustaw fokus na sekcję Footer
\n' + - '
Windows lub Linux: Alt+F11
\n' + - '
macOS: ⌥F11
\n' + - '
Skup się na powiadomieniu
\n' + - '
Windows lub Linux: Alt+F12
\n' + - '
macOS: ⌥F12
\n' + - '
Ustaw fokus na kontekstowy pasek narzędzi
\n' + - '
Windows, Linux lub macOS: Ctrl+F9
\n' + - '
\n' + - '\n' + - '

Nawigacja zostanie rozpoczęta od pierwszego elementu interfejsu użytkownika, który jest podświetlony lub — w przypadku pierwszego elementu\n' + - ' w ścieżce elementów w sekcji Footer — podkreślony.

\n' + - '\n' + - '

Nawigacja pomiędzy sekcjami interfejsu użytkownika

\n' + - '\n' + - '

Aby przenieść się z danej sekcji interfejsu użytkownika do następnej, naciśnij Tab.

\n' + - '\n' + - '

Aby przenieść się z danej sekcji interfejsu użytkownika do poprzedniej, naciśnij Shift+Tab.

\n' + - '\n' + - '

Kolejność klawisza Tab w takich sekcjach interfejsu użytkownika jest następująca:

\n' + - '\n' + - '
    \n' + - '
  1. Pasek menu
  2. \n' + - '
  3. Każda grupa na pasku narzędzi
  4. \n' + - '
  5. Pasek boczny
  6. \n' + - '
  7. Ścieżka elementów w sekcji Footer
  8. \n' + - '
  9. Przycisk przełączania liczby słów w sekcji Footer
  10. \n' + - '
  11. Łącze brandujące w sekcji Footer
  12. \n' + - '
  13. Uchwyt zmiany rozmiaru edytora w sekcji Footer
  14. \n' + - '
\n' + - '\n' + - '

Jeżeli nie ma sekcji interfejsu użytkownika, jest to pomijane.

\n' + - '\n' + - '

Jeżeli na sekcji Footer jest ustawiony fokus nawigacji przy użyciu klawiatury i nie ma widocznego paska bocznego, naciśnięcie Shift+Tab\n' + - ' przenosi fokus na pierwszą grupę paska narzędzi, a nie na ostatnią.

\n' + - '\n' + - '

Nawigacja wewnątrz sekcji interfejsu użytkownika

\n' + - '\n' + - '

Aby przenieść się z danego elementu interfejsu użytkownika do następnego, naciśnij odpowiedni klawisz strzałki.

\n' + - '\n' + - '

Klawisze strzałek w prawo i w lewo służą do

\n' + - '\n' + - '
    \n' + - '
  • przenoszenia się pomiędzy menu na pasku menu,
  • \n' + - '
  • otwarcia podmenu w menu,
  • \n' + - '
  • przenoszenia się pomiędzy przyciskami w grupie paska narzędzi,
  • \n' + - '
  • przenoszenia się pomiędzy elementami w ścieżce elementów w sekcji Footer.
  • \n' + - '
\n' + - '\n' + - '

Klawisze strzałek w dół i w górę służą do

\n' + - '\n' + - '
    \n' + - '
  • przenoszenia się pomiędzy elementami menu w menu,
  • \n' + - '
  • przenoszenia się pomiędzy elementami w wyskakującym menu paska narzędzi.
  • \n' + - '
\n' + - '\n' + - '

Klawisze strzałek służą do przemieszczania się w sekcji interfejsu użytkownika z ustawionym fokusem.

\n' + - '\n' + - '

Aby zamknąć otwarte menu, otwarte podmenu lub otwarte menu wyskakujące, naciśnij klawisz Esc.

\n' + - '\n' + - '

Jeżeli fokus jest ustawiony na górze konkretnej sekcji interfejsu użytkownika, naciśnięcie klawisza Esc powoduje wyjście\n' + - ' z nawigacji przy użyciu klawiatury.

\n' + - '\n' + - '

Wykonanie elementu menu lub przycisku paska narzędzi

\n' + - '\n' + - '

Gdy podświetlony jest żądany element menu lub przycisk paska narzędzi, naciśnij klawisz Return, Enter\n' + - ' lub Spacja, aby go wykonać.

\n' + - '\n' + - '

Nawigacja po oknie dialogowym bez kart

\n' + - '\n' + - '

Gdy otwiera się okno dialogowe bez kart, fokus ustawiany jest na pierwszą interaktywną część okna.

\n' + - '\n' + - '

Pomiędzy interaktywnymi częściami okna dialogowego nawiguj, naciskając klawisze Tab lub Shift+Tab.

\n' + - '\n' + - '

Nawigacja po oknie dialogowym z kartami

\n' + - '\n' + - '

W przypadku okna dialogowego z kartami po otwarciu okna dialogowego fokus ustawiany jest na pierwszy przycisk w menu karty.

\n' + - '\n' + - '

Nawigację pomiędzy interaktywnymi częściami karty okna dialogowego prowadzi się poprzez naciskanie klawiszy Tab lub\n' + - ' Shift+Tab.

\n' + - '\n' + - '

Przełączenie się na inną kartę okna dialogowego wykonuje się poprzez ustawienie fokusu na menu karty i naciśnięcie odpowiedniego klawisza strzałki\n' + - ' w celu przemieszczenia się pomiędzy dostępnymi kartami.

\n'); \ No newline at end of file diff --git a/frontend/public/tinymce/plugins/help/js/i18n/keynav/pt_BR.js b/frontend/public/tinymce/plugins/help/js/i18n/keynav/pt_BR.js deleted file mode 100644 index 2938fcf..0000000 --- a/frontend/public/tinymce/plugins/help/js/i18n/keynav/pt_BR.js +++ /dev/null @@ -1,93 +0,0 @@ -tinymce.Resource.add('tinymce.html-i18n.help-keynav.pt_BR', -'

Iniciar navegação pelo teclado

\n' + - '\n' + - '
\n' + - '
Foco na barra de menus
\n' + - '
Windows ou Linux: Alt+F9
\n' + - '
macOS: ⌥F9
\n' + - '
Foco na barra de ferramentas
\n' + - '
Windows ou Linux: Alt+F10
\n' + - '
macOS: ⌥F10
\n' + - '
Foco no rodapé
\n' + - '
Windows ou Linux: Alt+F11
\n' + - '
macOS: ⌥F11
\n' + - '
Foco na notificação
\n' + - '
Windows ou Linux: Alt+F12
\n' + - '
macOS: ⌥F12
\n' + - '
Foco na barra de ferramentas contextual
\n' + - '
Windows, Linux ou macOS: Ctrl+F9
\n' + - '
\n' + - '\n' + - '

A navegação inicia no primeiro item da IU, que será destacado ou sublinhado no caso do primeiro item no\n' + - ' caminho do elemento Rodapé.

\n' + - '\n' + - '

Navegar entre seções da IU

\n' + - '\n' + - '

Para ir de uma seção da IU para a seguinte, pressione Tab.

\n' + - '\n' + - '

Para ir de uma seção da IU para a anterior, pressione Shift+Tab.

\n' + - '\n' + - '

A ordem de Tab destas seções da IU é:

\n' + - '\n' + - '
    \n' + - '
  1. Barra de menus
  2. \n' + - '
  3. Cada grupo da barra de ferramentas
  4. \n' + - '
  5. Barra lateral
  6. \n' + - '
  7. Caminho do elemento no rodapé
  8. \n' + - '
  9. Botão de alternar contagem de palavras no rodapé
  10. \n' + - '
  11. Link da marca no rodapé
  12. \n' + - '
  13. Alça de redimensionamento do editor no rodapé
  14. \n' + - '
\n' + - '\n' + - '

Se não houver uma seção da IU, ela será pulada.

\n' + - '\n' + - '

Se o rodapé tiver o foco da navegação pelo teclado e não houver uma barra lateral visível, pressionar Shift+Tab\n' + - ' move o foco para o primeiro grupo da barra de ferramentas, não para o último.

\n' + - '\n' + - '

Navegar dentro das seções da IU

\n' + - '\n' + - '

Para ir de um elemento da IU para o seguinte, pressione a Seta correspondente.

\n' + - '\n' + - '

As teclas de seta Esquerda e Direita

\n' + - '\n' + - '
    \n' + - '
  • movem entre menus na barra de menus.
  • \n' + - '
  • abrem um submenu em um menu.
  • \n' + - '
  • movem entre botões em um grupo da barra de ferramentas.
  • \n' + - '
  • movem entre itens no caminho do elemento do rodapé.
  • \n' + - '
\n' + - '\n' + - '

As teclas de seta Abaixo e Acima

\n' + - '\n' + - '
    \n' + - '
  • movem entre itens de menu em um menu.
  • \n' + - '
  • movem entre itens em um menu suspenso da barra de ferramentas.
  • \n' + - '
\n' + - '\n' + - '

As teclas de Seta alternam dentre a seção da IU em foco.

\n' + - '\n' + - '

Para fechar um menu aberto, um submenu aberto ou um menu suspenso aberto, pressione Esc.

\n' + - '\n' + - '

Se o foco atual estiver no ‘alto’ de determinada seção da IU, pressionar Esc também sai\n' + - ' totalmente da navegação pelo teclado.

\n' + - '\n' + - '

Executar um item de menu ou botão da barra de ferramentas

\n' + - '\n' + - '

Com o item de menu ou botão da barra de ferramentas desejado destacado, pressione Return, Enter,\n' + - ' ou a Barra de espaço para executar o item.

\n' + - '\n' + - '

Navegar por caixas de diálogo sem guias

\n' + - '\n' + - '

Em caixas de diálogo sem guias, o primeiro componente interativo recebe o foco quando a caixa de diálogo abre.

\n' + - '\n' + - '

Navegue entre componentes interativos de caixa de diálogo pressionando Tab ou Shift+Tab.

\n' + - '\n' + - '

Navegar por caixas de diálogo com guias

\n' + - '\n' + - '

Em caixas de diálogo com guias, o primeiro botão no menu da guia recebe o foco quando a caixa de diálogo abre.

\n' + - '\n' + - '

Navegue entre componentes interativos dessa guia da caixa de diálogo pressionando Tab ou\n' + - ' Shift+Tab.

\n' + - '\n' + - '

Alterne para outra guia da caixa de diálogo colocando o foco no menu da guia e pressionando a Seta\n' + - ' adequada para percorrer as guias disponíveis.

\n'); \ No newline at end of file diff --git a/frontend/public/tinymce/plugins/help/js/i18n/keynav/pt_PT.js b/frontend/public/tinymce/plugins/help/js/i18n/keynav/pt_PT.js deleted file mode 100644 index 03da3d6..0000000 --- a/frontend/public/tinymce/plugins/help/js/i18n/keynav/pt_PT.js +++ /dev/null @@ -1,93 +0,0 @@ -tinymce.Resource.add('tinymce.html-i18n.help-keynav.pt_PT', -'

Iniciar navegação com teclado

\n' + - '\n' + - '
\n' + - '
Foco na barra de menu
\n' + - '
Windows ou Linux: Alt+F9
\n' + - '
macOS: ⌥F9
\n' + - '
Foco na barra de ferramentas
\n' + - '
Windows ou Linux: Alt+F10
\n' + - '
macOS: ⌥F10
\n' + - '
Foco no rodapé
\n' + - '
Windows ou Linux: Alt+F11
\n' + - '
macOS: ⌥F11
\n' + - '
Focar a notificação
\n' + - '
Windows ou Linux: Alt+F12
\n' + - '
macOS: ⌥F12
\n' + - '
Foco numa barra de ferramentas contextual
\n' + - '
Windows, Linux ou macOS: Ctrl+F9
\n' + - '
\n' + - '\n' + - '

A navegação começará no primeiro item de IU, que estará realçado ou sublinhado, no caso do primeiro item no\n' + - ' caminho do elemento do rodapé.

\n' + - '\n' + - '

Navegar entre secções de IU

\n' + - '\n' + - '

Para se mover de uma secção de IU para a seguinte, prima Tab.

\n' + - '\n' + - '

Para se mover de uma secção de IU para a anterior, prima Shift+Tab.

\n' + - '\n' + - '

A ordem de tabulação destas secções de IU é:

\n' + - '\n' + - '
    \n' + - '
  1. Barra de menu
  2. \n' + - '
  3. Cada grupo da barra de ferramentas
  4. \n' + - '
  5. Barra lateral
  6. \n' + - '
  7. Caminho do elemento no rodapé
  8. \n' + - '
  9. Botão de alternar da contagem de palavras no rodapé
  10. \n' + - '
  11. Ligação da marca no rodapé
  12. \n' + - '
  13. Alça de redimensionamento do editor no rodapé
  14. \n' + - '
\n' + - '\n' + - '

Se uma secção de IU não estiver presente, é ignorada.

\n' + - '\n' + - '

Se o rodapé tiver foco de navegação com teclado e não existir uma barra lateral visível, premir Shift+Tab\n' + - ' move o foco para o primeiro grupo da barra de ferramentas e não para o último.

\n' + - '\n' + - '

Navegar nas secções de IU

\n' + - '\n' + - '

Para se mover de um elemento de IU para o seguinte, prima a tecla de seta adequada.

\n' + - '\n' + - '

As teclas de seta Para a esquerda e Para a direita

\n' + - '\n' + - '
    \n' + - '
  • movem-se entre menus na barra de menu.
  • \n' + - '
  • abrem um submenu num menu.
  • \n' + - '
  • movem-se entre botões num grupo da barra de ferramentas.
  • \n' + - '
  • movem-se entre itens no caminho do elemento do rodapé.
  • \n' + - '
\n' + - '\n' + - '

As teclas de seta Para cima e Para baixo

\n' + - '\n' + - '
    \n' + - '
  • movem-se entre itens de menu num menu.
  • \n' + - '
  • movem-se entre itens num menu de pop-up da barra de ferramentas.
  • \n' + - '
\n' + - '\n' + - '

As teclas de seta deslocam-se ciclicamente na secção de IU em foco.

\n' + - '\n' + - '

Para fechar um menu aberto, um submenu aberto ou um menu de pop-up aberto, prima a tecla Esc.

\n' + - '\n' + - '

Se o foco atual estiver no "topo" de determinada secção de IU, premir a tecla Esc também fecha\n' + - ' completamente a navegação com teclado.

\n' + - '\n' + - '

Executar um item de menu ou botão da barra de ferramentas

\n' + - '\n' + - '

Quando o item de menu ou o botão da barra de ferramentas pretendido estiver realçado, prima Retrocesso, Enter\n' + - ' ou a Barra de espaço para executar o item.

\n' + - '\n' + - '

Navegar em diálogos sem separadores

\n' + - '\n' + - '

Nos diálogos sem separadores, o primeiro componente interativo fica em foco quando o diálogo abre.

\n' + - '\n' + - '

Navegue entre componentes interativos do diálogo, premindo Tab ou Shift+Tab.

\n' + - '\n' + - '

Navegar em diálogos com separadores

\n' + - '\n' + - '

Nos diálogos com separadores, o primeiro botão no menu do separador fica em foco quando o diálogo abre.

\n' + - '\n' + - '

Navegue entre os componentes interativos deste separador do diálogo, premindo Tab ou\n' + - ' Shift+Tab.

\n' + - '\n' + - '

Mude para outro separador do diálogo colocando o menu do separador em foco e, em seguida, premindo a tecla de seta\n' + - ' adequada para se deslocar ciclicamente pelos separadores disponíveis.

\n'); \ No newline at end of file diff --git a/frontend/public/tinymce/plugins/help/js/i18n/keynav/ro.js b/frontend/public/tinymce/plugins/help/js/i18n/keynav/ro.js deleted file mode 100644 index 38d3441..0000000 --- a/frontend/public/tinymce/plugins/help/js/i18n/keynav/ro.js +++ /dev/null @@ -1,93 +0,0 @@ -tinymce.Resource.add('tinymce.html-i18n.help-keynav.ro', -'

Începeți navigarea de la tastatură

\n' + - '\n' + - '
\n' + - '
Focalizare pe bara de meniu
\n' + - '
Windows sau Linux: Alt+F9
\n' + - '
macOS: ⌥F9
\n' + - '
Focalizare pe bara de instrumente
\n' + - '
Windows sau Linux: Alt+F10
\n' + - '
macOS: ⌥F10
\n' + - '
Focalizare pe subsol
\n' + - '
Windows sau Linux: Alt+F11
\n' + - '
macOS: ⌥F11
\n' + - '
Focalizare pe notificare
\n' + - '
Windows sau Linux: Alt+F12
\n' + - '
macOS: ⌥F12
\n' + - '
Focalizare pe o bară de instrumente contextuală
\n' + - '
Windows, Linux sau macOS: Ctrl+F9
\n' + - '
\n' + - '\n' + - '

Navigarea va începe de la primul element al interfeței cu utilizatorul, care va fi evidențiat sau subliniat în cazul primului element din\n' + - ' calea elementului Subsol.

\n' + - '\n' + - '

Navigați între secțiunile interfeței cu utilizatorul

\n' + - '\n' + - '

Pentru a trece de la o secțiune a interfeței cu utilizatorul la alta, apăsați Tab.

\n' + - '\n' + - '

Pentru a trece de la o secțiune a interfeței cu utilizatorul la cea anterioară, apăsați Shift+Tab.

\n' + - '\n' + - '

Ordinea cu Tab a acestor secțiuni ale interfeței cu utilizatorul este următoarea:

\n' + - '\n' + - '
    \n' + - '
  1. Bara de meniu
  2. \n' + - '
  3. Fiecare grup de bare de instrumente
  4. \n' + - '
  5. Bara laterală
  6. \n' + - '
  7. Calea elementului în subsol
  8. \n' + - '
  9. Buton de comutare a numărului de cuvinte în subsol
  10. \n' + - '
  11. Link de branding în subsol
  12. \n' + - '
  13. Mâner de redimensionare a editorului în subsol
  14. \n' + - '
\n' + - '\n' + - '

În cazul în care o secțiune a interfeței cu utilizatorul nu este prezentă, aceasta este omisă.

\n' + - '\n' + - '

În cazul în care subsolul are focalizarea navigației asupra tastaturii și nu există o bară laterală vizibilă, apăsarea butonului Shift+Tab\n' + - ' mută focalizarea pe primul grup de bare de instrumente, nu pe ultimul.

\n' + - '\n' + - '

Navigați în secțiunile interfeței cu utilizatorul

\n' + - '\n' + - '

Pentru a trece de la un element de interfață cu utilizatorul la următorul, apăsați tasta cu săgeata corespunzătoare.

\n' + - '\n' + - '

Tastele cu săgeți către stânga și dreapta

\n' + - '\n' + - '
    \n' + - '
  • navighează între meniurile din bara de meniuri.
  • \n' + - '
  • deschid un sub-meniu dintr-un meniu.
  • \n' + - '
  • navighează între butoanele dintr-un grup de bare de instrumente.
  • \n' + - '
  • navighează între elementele din calea elementelor subsolului.
  • \n' + - '
\n' + - '\n' + - '

Tastele cu săgeți în sus și în jos

\n' + - '\n' + - '
    \n' + - '
  • navighează între elementele de meniu dintr-un meniu.
  • \n' + - '
  • navighează între elementele unui meniu pop-up din bara de instrumente.
  • \n' + - '
\n' + - '\n' + - '

Tastele cu săgeți navighează în cadrul secțiunii interfeței cu utilizatorul asupra căreia se focalizează.

\n' + - '\n' + - '

Pentru a închide un meniu deschis, un sub-meniu deschis sau un meniu pop-up deschis, apăsați tasta Esc.

\n' + - '\n' + - '

Dacă focalizarea curentă este asupra „părții superioare” a unei anumite secțiuni a interfeței cu utilizatorul, prin apăsarea tastei Esc se iese, de asemenea,\n' + - ' în întregime din navigarea de la tastatură.

\n' + - '\n' + - '

Executarea unui element de meniu sau a unui buton din bara de instrumente

\n' + - '\n' + - '

Atunci când elementul de meniu dorit sau butonul dorit din bara de instrumente este evidențiat, apăsați Return, Enter,\n' + - ' sau bara de spațiu pentru a executa elementul.

\n' + - '\n' + - '

Navigarea de dialoguri fără file

\n' + - '\n' + - '

În dialogurile fără file, prima componentă interactivă beneficiază de focalizare la deschiderea dialogului.

\n' + - '\n' + - '

Navigați între componentele dialogului interactiv apăsând Tab sau Shift+Tab.

\n' + - '\n' + - '

Navigarea de dialoguri cu file

\n' + - '\n' + - '

În dialogurile cu file, primul buton din meniul cu file beneficiază de focalizare la deschiderea dialogului.

\n' + - '\n' + - '

Navigați între componentele interactive ale acestei file de dialog apăsând Tab sau\n' + - ' Shift+Tab.

\n' + - '\n' + - '

Treceți la o altă filă de dialog focalizând asupra meniului cu file și apoi apăsând săgeata corespunzătoare\n' + - ' pentru a parcurge filele disponibile.

\n'); \ No newline at end of file diff --git a/frontend/public/tinymce/plugins/help/js/i18n/keynav/ru.js b/frontend/public/tinymce/plugins/help/js/i18n/keynav/ru.js deleted file mode 100644 index d310f54..0000000 --- a/frontend/public/tinymce/plugins/help/js/i18n/keynav/ru.js +++ /dev/null @@ -1,93 +0,0 @@ -tinymce.Resource.add('tinymce.html-i18n.help-keynav.ru', -'

Начните управление с помощью клавиатуры

\n' + - '\n' + - '
\n' + - '
Фокус на панели меню
\n' + - '
Windows или Linux: Alt+F9
\n' + - '
macOS: ⌥F9
\n' + - '
Фокус на панели инструментов
\n' + - '
Windows или Linux: Alt+F10
\n' + - '
macOS: ⌥F10
\n' + - '
Фокус на нижнем колонтитуле
\n' + - '
Windows или Linux: Alt+F11
\n' + - '
macOS: ⌥F11
\n' + - '
Фокус на уведомлении
\n' + - '
Windows или Linux: Alt+12
\n' + - '
macOS: ⌥F12
\n' + - '
Фокус на контекстной панели инструментов
\n' + - '
Windows, Linux или macOS: Ctrl+F9
\n' + - '
\n' + - '\n' + - '

Первый доступный для управления элемент интерфейса будет выделен цветом или подчеркнут (если он находится\n' + - ' в пути элементов нижнего колонтитула).

\n' + - '\n' + - '

Переход между разделами пользовательского интерфейса

\n' + - '\n' + - '

Чтобы перейти из текущего раздела интерфейса в следующий, нажмите Tab.

\n' + - '\n' + - '

Чтобы перейти из текущего раздела интерфейса в предыдущий, нажмите Shift+Tab.

\n' + - '\n' + - '

Вкладки разделов интерфейса расположены в следующем порядке:

\n' + - '\n' + - '
    \n' + - '
  1. Панель меню
  2. \n' + - '
  3. Группы панели инструментов
  4. \n' + - '
  5. Боковая панель
  6. \n' + - '
  7. Путь элементов нижнего колонтитула
  8. \n' + - '
  9. Подсчет слов/символов в нижнем колонтитуле
  10. \n' + - '
  11. Брендовая ссылка в нижнем колонтитуле
  12. \n' + - '
  13. Угол для изменения размера окна редактора
  14. \n' + - '
\n' + - '\n' + - '

Если раздел интерфейса отсутствует, он пропускается.

\n' + - '\n' + - '

Если при управлении с клавиатуры фокус находится на нижнем колонтитуле, а видимая боковая панель отсутствует, то при нажатии сочетания клавиш Shift+Tab\n' + - ' фокус переносится на первую группу панели инструментов, а не на последнюю.

\n' + - '\n' + - '

Переход между элементами внутри разделов пользовательского интерфейса

\n' + - '\n' + - '

Чтобы перейти от текущего элемента интерфейса к следующему, нажмите соответствующую клавишу со стрелкой.

\n' + - '\n' + - '

Клавиши со стрелками влево и вправо позволяют

\n' + - '\n' + - '
    \n' + - '
  • перемещаться между разными меню в панели меню.
  • \n' + - '
  • открывать разделы меню.
  • \n' + - '
  • перемещаться между кнопками в группе панели инструментов.
  • \n' + - '
  • перемещаться между элементами в пути элементов нижнего колонтитула.
  • \n' + - '
\n' + - '\n' + - '

Клавиши со стрелками вниз и вверх позволяют

\n' + - '\n' + - '
    \n' + - '
  • перемещаться между элементами одного меню.
  • \n' + - '
  • перемещаться между элементами всплывающего меню в панели инструментов.
  • \n' + - '
\n' + - '\n' + - '

При использовании клавиш со стрелками вы будете циклически перемещаться по элементам в пределах выбранного раздела интерфейса.

\n' + - '\n' + - '

Чтобы закрыть открытое меню, его раздел или всплывающее меню, нажмите клавишу Esc.

\n' + - '\n' + - '

Если фокус находится наверху какого-либо раздела интерфейса, нажатие клавиши Esc также приведет\n' + - ' к выходу из режима управления с помощью клавиатуры.

\n' + - '\n' + - '

Использование элемента меню или кнопки на панели инструментов

\n' + - '\n' + - '

Когда элемент меню или кнопка панели инструментов будут выделены, нажмите Return, Enter\n' + - ' или Space, чтобы их активировать.

\n' + - '\n' + - '

Управление в диалоговом окне без вкладок

\n' + - '\n' + - '

При открытии диалогового окна без вкладок фокус переносится на первый интерактивный компонент.

\n' + - '\n' + - '

Для перехода между интерактивными компонентами диалогового окна нажимайте Tab или Shift+Tab.

\n' + - '\n' + - '

Управление в диалоговом окне с вкладками

\n' + - '\n' + - '

При открытии диалогового окна с вкладками фокус переносится на первую кнопку в меню вкладок.

\n' + - '\n' + - '

Для перехода между интерактивными компонентами этой вкладки диалогового окна нажимайте Tab или\n' + - ' Shift+Tab.

\n' + - '\n' + - '

Для перехода на другую вкладку диалогового окна переместите фокус на меню вкладок, а затем используйте клавиши со стрелками\n' + - ' для циклического переключения между доступными вкладками.

\n'); \ No newline at end of file diff --git a/frontend/public/tinymce/plugins/help/js/i18n/keynav/sk.js b/frontend/public/tinymce/plugins/help/js/i18n/keynav/sk.js deleted file mode 100644 index 60cc628..0000000 --- a/frontend/public/tinymce/plugins/help/js/i18n/keynav/sk.js +++ /dev/null @@ -1,93 +0,0 @@ -tinymce.Resource.add('tinymce.html-i18n.help-keynav.sk', -'

Začíname s navigáciou pomocou klávesnice

\n' + - '\n' + - '
\n' + - '
Prejsť na panel s ponukami
\n' + - '
Windows alebo Linux: Alt+F9
\n' + - '
macOS: ⌥F9
\n' + - '
Prejsť na panel nástrojov
\n' + - '
Windows alebo Linux: Alt+F10
\n' + - '
macOS: ⌥F10
\n' + - '
Prejsť na pätičku
\n' + - '
Windows alebo Linux: Alt+F11
\n' + - '
macOS: ⌥F11
\n' + - '
Zaostriť na oznámenie
\n' + - '
Windows alebo Linux: Alt+F12
\n' + - '
macOS: ⌥F12
\n' + - '
Prejsť na kontextový panel nástrojov
\n' + - '
Windows, Linux alebo macOS: Ctrl+F9
\n' + - '
\n' + - '\n' + - '

Navigácia začne pri prvej položke používateľského rozhrania, ktorá bude zvýraznená alebo v prípade prvej položky\n' + - ' cesty k pätičke podčiarknutá.

\n' + - '\n' + - '

Navigácia medzi časťami používateľského rozhrania

\n' + - '\n' + - '

Ak sa chcete posunúť z jednej časti používateľského rozhrania do druhej, stlačte tlačidlo Tab.

\n' + - '\n' + - '

Ak sa chcete posunúť z jednej časti používateľského rozhrania do predchádzajúcej, stlačte tlačidlá Shift + Tab.

\n' + - '\n' + - '

Poradie prepínania medzi týmito časťami používateľského rozhrania pri stláčaní tlačidla Tab:

\n' + - '\n' + - '
    \n' + - '
  1. Panel s ponukou
  2. \n' + - '
  3. Každá skupina panela nástrojov
  4. \n' + - '
  5. Bočný panel
  6. \n' + - '
  7. Cesta k prvku v pätičke
  8. \n' + - '
  9. Prepínač počtu slov v pätičke
  10. \n' + - '
  11. Odkaz na informácie o značke v pätičke
  12. \n' + - '
  13. Úchyt na zmenu veľkosti editora v pätičke
  14. \n' + - '
\n' + - '\n' + - '

Ak nejaká časť používateľského rozhrania nie je prítomná, preskočí sa.

\n' + - '\n' + - '

Ak je pätička vybratá na navigáciu pomocou klávesnice a nie je viditeľný bočný panel, stlačením klávesov Shift+Tab\n' + - ' prejdete na prvú skupinu panela nástrojov, nie na poslednú.

\n' + - '\n' + - '

Navigácia v rámci častí používateľského rozhrania

\n' + - '\n' + - '

Ak sa chcete posunúť z jedného prvku používateľského rozhrania na ďalší, stlačte príslušný kláves so šípkou.

\n' + - '\n' + - '

Klávesy so šípkami doľava a doprava

\n' + - '\n' + - '
    \n' + - '
  • umožňujú presun medzi ponukami na paneli ponúk,
  • \n' + - '
  • otvárajú podponuku v rámci ponuky,
  • \n' + - '
  • umožňujú presun medzi tlačidlami v skupine panelov nástrojov,
  • \n' + - '
  • umožňujú presun medzi položkami cesty prvku v pätičke.
  • \n' + - '
\n' + - '\n' + - '

Klávesy so šípkami dole a hore

\n' + - '\n' + - '
    \n' + - '
  • umožňujú presun medzi položkami ponuky,
  • \n' + - '
  • umožňujú presun medzi položkami v kontextovej ponuke panela nástrojov.
  • \n' + - '
\n' + - '\n' + - '

Klávesy so šípkami vykonávajú prepínanie v rámci vybranej časti používateľského rozhrania.

\n' + - '\n' + - '

Ak chcete zatvoriť otvorenú ponuku, otvorenú podponuku alebo otvorenú kontextovú ponuku, stlačte kláves Esc.

\n' + - '\n' + - '

Ak je aktuálne vybratá horná časť konkrétneho používateľského rozhrania, stlačením klávesu Esc úplne ukončíte tiež\n' + - ' navigáciu pomocou klávesnice.

\n' + - '\n' + - '

Vykonanie príkazu položky ponuky alebo tlačidla panela nástrojov

\n' + - '\n' + - '

Keď je zvýraznená požadovaná položka ponuky alebo tlačidlo panela nástrojov, stlačením klávesov Return, Enter\n' + - ' alebo medzerníka vykonáte príslušný príkaz položky.

\n' + - '\n' + - '

Navigácia v dialógových oknách bez záložiek

\n' + - '\n' + - '

Pri otvorení dialógových okien bez záložiek prejdete na prvý interaktívny komponent.

\n' + - '\n' + - '

Medzi interaktívnymi dialógovými komponentmi môžete prechádzať stlačením klávesov Tab alebo Shift+Tab.

\n' + - '\n' + - '

Navigácia v dialógových oknách so záložkami

\n' + - '\n' + - '

Pri otvorení dialógových okien so záložkami prejdete na prvé tlačidlo v ponuke záložiek.

\n' + - '\n' + - '

Medzi interaktívnymi komponentmi tejto dialógovej záložky môžete prechádzať stlačením klávesov Tab alebo\n' + - ' Shift+Tab.

\n' + - '\n' + - '

Ak chcete prepnúť na ďalšiu záložku dialógového okna, prejdite do ponuky záložiek a potom môžete stlačením príslušného klávesu so šípkou\n' + - ' prepínať medzi dostupnými záložkami.

\n'); \ No newline at end of file diff --git a/frontend/public/tinymce/plugins/help/js/i18n/keynav/sl_SI.js b/frontend/public/tinymce/plugins/help/js/i18n/keynav/sl_SI.js deleted file mode 100644 index 2b25f5a..0000000 --- a/frontend/public/tinymce/plugins/help/js/i18n/keynav/sl_SI.js +++ /dev/null @@ -1,93 +0,0 @@ -tinymce.Resource.add('tinymce.html-i18n.help-keynav.sl_SI', -'

Začetek krmarjenja s tipkovnico

\n' + - '\n' + - '
\n' + - '
Fokus na menijsko vrstico
\n' + - '
Windows ali Linux: Alt + F9
\n' + - '
macOS: ⌥F9
\n' + - '
Fokus na orodno vrstico
\n' + - '
Windows ali Linux: Alt + F10
\n' + - '
macOS: ⌥F10
\n' + - '
Fokus na nogo
\n' + - '
Windows ali Linux: Alt + F11
\n' + - '
macOS: ⌥F11
\n' + - '
Označitev obvestila
\n' + - '
Windows ali Linux: Alt + F12
\n' + - '
macOS: ⌥F12
\n' + - '
Fokus na kontekstualno orodno vrstico
\n' + - '
Windows, Linux ali macOS: Ctrl + F9
\n' + - '
\n' + - '\n' + - '

Krmarjenje se bo začelo s prvim elementom uporabniškega vmesnika, ki bo izpostavljena ali podčrtan, če gre za prvi element na\n' + - ' poti do elementa noge.

\n' + - '\n' + - '

Krmarjenje med razdelki uporabniškega vmesnika

\n' + - '\n' + - '

Če se želite pomakniti z enega dela uporabniškega vmesnika na naslednjega, pritisnite tabulatorko.

\n' + - '\n' + - '

Če se želite pomakniti z enega dela uporabniškega vmesnika na prejšnjega, pritisnite shift + tabulatorko.

\n' + - '\n' + - '

Zaporedje teh razdelkov uporabniškega vmesnika, ko pritiskate tabulatorko, je:

\n' + - '\n' + - '
    \n' + - '
  1. Menijska vrstica
  2. \n' + - '
  3. Posamezne skupine orodne vrstice
  4. \n' + - '
  5. Stranska vrstica
  6. \n' + - '
  7. Pod do elementa v nogi
  8. \n' + - '
  9. Gumb za preklop štetja besed v nogi
  10. \n' + - '
  11. Povezava do blagovne znamke v nogi
  12. \n' + - '
  13. Ročaj za spreminjanje velikosti urejevalnika v nogi
  14. \n' + - '
\n' + - '\n' + - '

Če razdelek uporabniškega vmesnika ni prisoten, je preskočen.

\n' + - '\n' + - '

Če ima noga fokus za krmarjenje s tipkovnico in ni vidne stranske vrstice, s pritiskom na shift + tabulatorko\n' + - ' fokus premaknete na prvo skupino orodne vrstice, ne zadnjo.

\n' + - '\n' + - '

Krmarjenje v razdelkih uporabniškega vmesnika

\n' + - '\n' + - '

Če se želite premakniti z enega elementa uporabniškega vmesnika na naslednjega, pritisnite ustrezno puščično tipko.

\n' + - '\n' + - '

Leva in desna puščična tipka

\n' + - '\n' + - '
    \n' + - '
  • omogočata premikanje med meniji v menijski vrstici.
  • \n' + - '
  • odpreta podmeni v meniju.
  • \n' + - '
  • omogočata premikanje med gumbi v skupini orodne vrstice.
  • \n' + - '
  • omogočata premikanje med elementi na poti do elementov noge.
  • \n' + - '
\n' + - '\n' + - '

Spodnja in zgornja puščična tipka

\n' + - '\n' + - '
    \n' + - '
  • omogočata premikanje med elementi menija.
  • \n' + - '
  • omogočata premikanje med elementi v pojavnem meniju orodne vrstice.
  • \n' + - '
\n' + - '\n' + - '

Puščične tipke omogočajo kroženje znotraj razdelka uporabniškega vmesnika, na katerem je fokus.

\n' + - '\n' + - '

Če želite zapreti odprt meni, podmeni ali pojavni meni, pritisnite tipko Esc.

\n' + - '\n' + - '

Če je trenutni fokus na »vrhu« določenega razdelka uporabniškega vmesnika, s pritiskom tipke Esc zaprete\n' + - ' tudi celotno krmarjenje s tipkovnico.

\n' + - '\n' + - '

Izvajanje menijskega elementa ali gumba orodne vrstice

\n' + - '\n' + - '

Ko je označen želeni menijski element ali orodja vrstica, pritisnite vračalko, Enter\n' + - ' ali preslednico, da izvedete element.

\n' + - '\n' + - '

Krmarjenje po pogovornih oknih brez zavihkov

\n' + - '\n' + - '

Ko odprete pogovorno okno brez zavihkov, ima fokus prva interaktivna komponenta.

\n' + - '\n' + - '

Med interaktivnimi komponentami pogovornega okna se premikate s pritiskom tabulatorke ali kombinacije tipke shift + tabulatorke.

\n' + - '\n' + - '

Krmarjenje po pogovornih oknih z zavihki

\n' + - '\n' + - '

Ko odprete pogovorno okno z zavihki, ima fokus prvi gumb v meniju zavihka.

\n' + - '\n' + - '

Med interaktivnimi komponentami tega zavihka pogovornega okna se premikate s pritiskom tabulatorke ali\n' + - ' kombinacije tipke shift + tabulatorke.

\n' + - '\n' + - '

Na drug zavihek pogovornega okna preklopite tako, da fokus prestavite na meni zavihka in nato pritisnete ustrezno puščično\n' + - ' tipko, da se pomaknete med razpoložljivimi zavihki.

\n'); \ No newline at end of file diff --git a/frontend/public/tinymce/plugins/help/js/i18n/keynav/sv_SE.js b/frontend/public/tinymce/plugins/help/js/i18n/keynav/sv_SE.js deleted file mode 100644 index c30f2f2..0000000 --- a/frontend/public/tinymce/plugins/help/js/i18n/keynav/sv_SE.js +++ /dev/null @@ -1,93 +0,0 @@ -tinymce.Resource.add('tinymce.html-i18n.help-keynav.sv_SE', -'

Påbörja tangentbordsnavigering

\n' + - '\n' + - '
\n' + - '
Fokusera på menyraden
\n' + - '
Windows eller Linux: Alt+F9
\n' + - '
macOS: ⌥F9
\n' + - '
Fokusera på verktygsraden
\n' + - '
Windows eller Linux: Alt+F10
\n' + - '
macOS: ⌥F10
\n' + - '
Fokusera på verktygsraden
\n' + - '
Windows eller Linux: Alt+F11
\n' + - '
macOS: ⌥F11
\n' + - '
Fokusera aviseringen
\n' + - '
Windows eller Linux: Alt+F12
\n' + - '
macOS: ⌥F12
\n' + - '
Fokusera på en snabbverktygsrad
\n' + - '
Windows, Linux eller macOS: Ctrl+F9
\n' + - '
\n' + - '\n' + - '

Navigeringen börjar vid det första gränssnittsobjektet, vilket är markerat eller understruket om det gäller det första objektet i\n' + - ' sidfotens elementsökväg.

\n' + - '\n' + - '

Navigera mellan UI-avsnitt

\n' + - '\n' + - '

Flytta från ett UI-avsnitt till nästa genom att trycka på Tabb.

\n' + - '\n' + - '

Flytta från ett UI-avsnitt till det föregående genom att trycka på Skift+Tabb.

\n' + - '\n' + - '

Tabb-ordningen för dessa UI-avsnitt är:

\n' + - '\n' + - '
    \n' + - '
  1. Menyrad
  2. \n' + - '
  3. Varje verktygsradsgrupp
  4. \n' + - '
  5. Sidoruta
  6. \n' + - '
  7. Elementsökväg i sidfoten
  8. \n' + - '
  9. Växlingsknapp för ordantal i sidfoten
  10. \n' + - '
  11. Varumärkeslänk i sidfoten
  12. \n' + - '
  13. Storlekshandtag för redigeraren i sidfoten
  14. \n' + - '
\n' + - '\n' + - '

Om ett UI-avsnitt inte finns hoppas det över.

\n' + - '\n' + - '

Om sidfoten har fokus på tangentbordsnavigering, och det inte finns någon synlig sidoruta, flyttas fokus till den första verktygsradsgruppen\n' + - ' när du trycker på Skift+Tabb, inte till den sista.

\n' + - '\n' + - '

Navigera i UI-avsnitt

\n' + - '\n' + - '

Flytta från ett UI-element till nästa genom att trycka på motsvarande piltangent.

\n' + - '\n' + - '

Vänsterpil och högerpil

\n' + - '\n' + - '
    \n' + - '
  • flytta mellan menyer på menyraden.
  • \n' + - '
  • öppna en undermeny på en meny.
  • \n' + - '
  • flytta mellan knappar i en verktygsradgrupp.
  • \n' + - '
  • flytta mellan objekt i sidfotens elementsökväg.
  • \n' + - '
\n' + - '\n' + - '

Nedpil och uppil

\n' + - '\n' + - '
    \n' + - '
  • flytta mellan menyalternativ på en meny.
  • \n' + - '
  • flytta mellan alternativ på en popup-meny på verktygsraden.
  • \n' + - '
\n' + - '\n' + - '

Piltangenterna cirkulerar inom det fokuserade UI-avsnittet.

\n' + - '\n' + - '

Tryck på Esc-tangenten om du vill stänga en öppen meny, undermeny eller popup-meny.

\n' + - '\n' + - '

Om det aktuella fokuset är högst upp i ett UI-avsnitt avlutas även tangentbordsnavigeringen helt när\n' + - ' du trycker på Esc-tangenten.

\n' + - '\n' + - '

Köra ett menyalternativ eller en verktygfältsknapp

\n' + - '\n' + - '

När menyalternativet eller verktygsradsknappen är markerad trycker du på Retur, Enter\n' + - ' eller blanksteg för att köra alternativet.

\n' + - '\n' + - '

Navigera i dialogrutor utan flikar

\n' + - '\n' + - '

I dialogrutor utan flikar är den första interaktiva komponenten i fokus när dialogrutan öppnas.

\n' + - '\n' + - '

Navigera mellan interaktiva dialogkomponenter genom att trycka på Tabb eller Skift+Tabb.

\n' + - '\n' + - '

Navigera i dialogrutor med flikar

\n' + - '\n' + - '

I dialogrutor utan flikar är den första knappen på flikmenyn i fokus när dialogrutan öppnas.

\n' + - '\n' + - '

Navigera mellan interaktiva komponenter på dialogrutefliken genom att trycka på Tabb eller\n' + - ' Skift+Tabb.

\n' + - '\n' + - '

Växla till en annan dialogruta genom att fokusera på flikmenyn och sedan trycka på motsvarande piltangent\n' + - ' för att cirkulera mellan de tillgängliga flikarna.

\n'); \ No newline at end of file diff --git a/frontend/public/tinymce/plugins/help/js/i18n/keynav/th_TH.js b/frontend/public/tinymce/plugins/help/js/i18n/keynav/th_TH.js deleted file mode 100644 index 562fe7a..0000000 --- a/frontend/public/tinymce/plugins/help/js/i18n/keynav/th_TH.js +++ /dev/null @@ -1,93 +0,0 @@ -tinymce.Resource.add('tinymce.html-i18n.help-keynav.th_TH', -'

เริ่มต้นการนำทางด้วยแป้นพิมพ์

\n' + - '\n' + - '
\n' + - '
โฟกัสที่แถบเมนู
\n' + - '
Windows หรือ Linux: Alt+F9
\n' + - '
macOS: ⌥F9
\n' + - '
โฟกัสที่แถบเครื่องมือ
\n' + - '
Windows หรือ Linux: Alt+F10
\n' + - '
macOS: ⌥F10
\n' + - '
โฟกัสที่ส่วนท้าย
\n' + - '
Windows หรือ Linux: Alt+F11
\n' + - '
macOS: ⌥F11
\n' + - '
โฟกัสไปที่การแจ้งเตือน
\n' + - '
Windows หรือ Linux: Alt+F12
\n' + - '
macOS: ⌥F12
\n' + - '
โฟกัสที่แถบเครื่องมือตามบริบท
\n' + - '
Windows, Linux หรือ macOS: Ctrl+F9
\n' + - '
\n' + - '\n' + - '

การนำทางจะเริ่มที่รายการ UI แรก ซึ่งจะมีการไฮไลต์หรือขีดเส้นใต้ไว้ในกรณีที่รายการแรกอยู่ใน\n' + - ' พาธองค์ประกอบส่วนท้าย

\n' + - '\n' + - '

การนำทางระหว่างส่วนต่างๆ ของ UI

\n' + - '\n' + - '

ในการย้ายจากส่วน UI หนึ่งไปยังส่วนถัดไป ให้กด Tab

\n' + - '\n' + - '

ในการย้ายจากส่วน UI หนึ่งไปยังส่วนก่อนหน้า ให้กด Shift+Tab

\n' + - '\n' + - '

ลำดับแท็บของส่วนต่างๆ ของ UI คือ:

\n' + - '\n' + - '
    \n' + - '
  1. แถบเมนู
  2. \n' + - '
  3. แต่ละกลุ่มแถบเครื่องมือ
  4. \n' + - '
  5. แถบข้าง
  6. \n' + - '
  7. พาธองค์ประกอบในส่วนท้าย
  8. \n' + - '
  9. ปุ่มสลับเปิด/ปิดจำนวนคำในส่วนท้าย
  10. \n' + - '
  11. ลิงก์ชื่อแบรนด์ในส่วนท้าย
  12. \n' + - '
  13. จุดจับปรับขนาดของตัวแก้ไขในส่วนท้าย
  14. \n' + - '
\n' + - '\n' + - '

หากส่วน UI ไม่ปรากฏ แสดงว่าถูกข้ามไป

\n' + - '\n' + - '

หากส่วนท้ายมีการโฟกัสการนำทางแป้นพิมพ์และไม่มีแถบข้างปรากฏ การกด Shift+Tab\n' + - ' จะย้ายการโฟกัสไปที่กลุ่มแถบเครื่องมือแรก ไม่ใช่สุดท้าย

\n' + - '\n' + - '

การนำทางภายในส่วนต่างๆ ของ UI

\n' + - '\n' + - '

ในการย้ายจากองค์ประกอบ UI หนึ่งไปยังองค์ประกอบส่วนถัดไป ให้กดปุ่มลูกศรที่เหมาะสม

\n' + - '\n' + - '

ปุ่มลูกศรซ้ายและขวา

\n' + - '\n' + - '
    \n' + - '
  • ย้ายไปมาระหว่างเมนูต่างๆ ในแถบเมนู
  • \n' + - '
  • เปิดเมนูย่อยในเมนู
  • \n' + - '
  • ย้ายไปมาระหว่างปุ่มต่างๆ ในกลุ่มแถบเครื่องมือ
  • \n' + - '
  • ย้ายไปมาระหว่างรายการต่างๆ ในพาธองค์ประกอบของส่วนท้าย
  • \n' + - '
\n' + - '\n' + - '

ปุ่มลูกศรลงและขึ้น

\n' + - '\n' + - '
    \n' + - '
  • ย้ายไปมาระหว่างรายการเมนูต่างๆ ในเมนู
  • \n' + - '
  • ย้ายไปมาระหว่างรายการต่างๆ ในเมนูป๊อบอัพแถบเครื่องมือ
  • \n' + - '
\n' + - '\n' + - '

ปุ่มลูกศรจะเลื่อนไปมาภายในส่วน UI ที่โฟกัส

\n' + - '\n' + - '

ในการปิดเมนูที่เปิดอยู่ เมนูย่อยที่เปิดอยู่ หรือเมนูป๊อบอัพที่เปิดอยู่ ให้กดปุ่ม Esc

\n' + - '\n' + - '

หากโฟกัสปัจจุบันอยู่ที่ ‘ด้านบนสุด’ ของส่วน UI เฉพาะ การกดปุ่ม Esc จะทำให้ออกจาก\n' + - ' การนำทางด้วยแป้นพิมพ์ทั้งหมดเช่นกัน

\n' + - '\n' + - '

การดำเนินการรายการเมนูหรือปุ่มในแถบเครื่องมือ

\n' + - '\n' + - '

เมื่อไฮไลต์รายการเมนูหรือปุ่มในแถบเครื่องมือที่ต้องการ ให้กด Return, Enter\n' + - ' หรือ Space bar เพื่อดำเนินการรายการดังกล่าว

\n' + - '\n' + - '

การนำทางสำหรับกล่องโต้ตอบที่ไม่อยู่ในแท็บ

\n' + - '\n' + - '

ในกล่องโต้ตอบที่ไม่อยู่ในแท็บ จะโฟกัสที่ส่วนประกอบเชิงโต้ตอบแรกเมื่อกล่องโต้ตอบเปิด

\n' + - '\n' + - '

นำทางระหว่างส่วนประกอบเชิงโต้ตอบต่างๆ ของกล่องโต้ตอบ โดยการกด Tab หรือ Shift+Tab

\n' + - '\n' + - '

การนำทางสำหรับกล่องโต้ตอบที่อยู่ในแท็บ

\n' + - '\n' + - '

ในกล่องโต้ตอบที่อยู่ในแท็บ จะโฟกัสที่ปุ่มแรกในเมนูแท็บเมื่อกล่องโต้ตอบเปิด

\n' + - '\n' + - '

นำทางระหว่างส่วนประกอบเชิงโต้ตอบต่างๆ ของแท็บกล่องโต้ตอบนี้โดยการกด Tab หรือ\n' + - ' Shift+Tab

\n' + - '\n' + - '

สลับไปยังแท็บกล่องโต้ตอบอื่นโดยการเลือกโฟกัสที่เมนูแท็บ แล้วกดปุ่มลูกศรที่เหมาะสม\n' + - ' เพื่อเลือกแท็บที่ใช้ได้

\n'); \ No newline at end of file diff --git a/frontend/public/tinymce/plugins/help/js/i18n/keynav/tr.js b/frontend/public/tinymce/plugins/help/js/i18n/keynav/tr.js deleted file mode 100644 index 37f39b0..0000000 --- a/frontend/public/tinymce/plugins/help/js/i18n/keynav/tr.js +++ /dev/null @@ -1,93 +0,0 @@ -tinymce.Resource.add('tinymce.html-i18n.help-keynav.tr', -'

Klavyeyle gezintiyi başlatma

\n' + - '\n' + - '
\n' + - '
Menü çubuğuna odaklan
\n' + - '
Windows veya Linux: Alt+F9
\n' + - '
macOS: ⌥F9
\n' + - '
Araç çubuğuna odaklan
\n' + - '
Windows veya Linux: Alt+F10
\n' + - '
macOS: ⌥F10
\n' + - '
Alt bilgiye odaklan
\n' + - '
Windows veya Linux: Alt+F11
\n' + - '
macOS: ⌥F11
\n' + - '
Bildirime odakla
\n' + - '
Windows veya Linux: Alt+F12
\n' + - '
macOS: ⌥F12
\n' + - '
Bağlamsal araç çubuğuna odaklan
\n' + - '
Windows, Linux veya macOS: Ctrl+F9
\n' + - '
\n' + - '\n' + - '

Gezinti ilk kullanıcı arabirimi öğesinden başlar, bu öğe vurgulanır ya da ilk öğe, Alt bilgi elemanı\n' + - ' yolundaysa altı çizilir.

\n' + - '\n' + - '

Kullanıcı arabirimi bölümleri arasında gezinme

\n' + - '\n' + - '

Sonraki kullanıcı arabirimi bölümüne gitmek için Sekme tuşuna basın.

\n' + - '\n' + - '

Önceki kullanıcı arabirimi bölümüne gitmek için Shift+Sekme tuşlarına basın.

\n' + - '\n' + - '

Bu kullanıcı arabirimi bölümlerinin Sekme sırası:

\n' + - '\n' + - '
    \n' + - '
  1. Menü çubuğu
  2. \n' + - '
  3. Her araç çubuğu grubu
  4. \n' + - '
  5. Kenar çubuğu
  6. \n' + - '
  7. Alt bilgide öğe yolu
  8. \n' + - '
  9. Alt bilgide sözcük sayısı geçiş düğmesi
  10. \n' + - '
  11. Alt bilgide marka bağlantısı
  12. \n' + - '
  13. Alt bilgide düzenleyiciyi yeniden boyutlandırma tutamacı
  14. \n' + - '
\n' + - '\n' + - '

Kullanıcı arabirimi bölümü yoksa atlanır.

\n' + - '\n' + - '

Alt bilgide klavyeyle gezinti odağı yoksa ve görünür bir kenar çubuğu mevcut değilse Shift+Sekme tuşlarına basıldığında\n' + - ' odak son araç çubuğu yerine ilk araç çubuğu grubuna taşınır.

\n' + - '\n' + - '

Kullanıcı arabirimi bölümleri içinde gezinme

\n' + - '\n' + - '

Sonraki kullanıcı arabirimi elemanına gitmek için uygun Ok tuşuna basın.

\n' + - '\n' + - '

Sol ve Sağ ok tuşları

\n' + - '\n' + - '
    \n' + - '
  • menü çubuğundaki menüler arasında hareket eder.
  • \n' + - '
  • menüde bir alt menü açar.
  • \n' + - '
  • araç çubuğu grubundaki düğmeler arasında hareket eder.
  • \n' + - '
  • alt bilginin öğe yolundaki öğeler arasında hareket eder.
  • \n' + - '
\n' + - '\n' + - '

Aşağı ve Yukarı ok tuşları

\n' + - '\n' + - '
    \n' + - '
  • menüdeki menü öğeleri arasında hareket eder.
  • \n' + - '
  • araç çubuğu açılır menüsündeki öğeler arasında hareket eder.
  • \n' + - '
\n' + - '\n' + - '

Ok tuşları, odaklanılan kullanıcı arabirimi bölümü içinde döngüsel olarak hareket eder.

\n' + - '\n' + - '

Açık bir menüyü, açık bir alt menüyü veya açık bir açılır menüyü kapatmak için Esc tuşuna basın.

\n' + - '\n' + - '

Geçerli odak belirli bir kullanıcı arabirimi bölümünün "üst" kısmındaysa Esc tuşuna basıldığında\n' + - ' klavyeyle gezintiden de tamamen çıkılır.

\n' + - '\n' + - '

Menü öğesini veya araç çubuğu düğmesini yürütme

\n' + - '\n' + - '

İstediğiniz menü öğesi veya araç çubuğu düğmesi vurgulandığında Return, Enter\n' + - ' veya Ara çubuğu tuşuna basın.

\n' + - '\n' + - '

Sekme bulunmayan iletişim kutularında gezinme

\n' + - '\n' + - '

Sekme bulunmayan iletişim kutularında, iletişim kutusu açıldığında ilk etkileşimli bileşene odaklanılır.

\n' + - '\n' + - '

Etkileşimli iletişim kutusu bileşenleri arasında gezinmek için Sekme veya Shift+ Sekme tuşlarına basın.

\n' + - '\n' + - '

Sekmeli iletişim kutularında gezinme

\n' + - '\n' + - '

Sekmeli iletişim kutularında, iletişim kutusu açıldığında sekme menüsündeki ilk düğmeye odaklanılır.

\n' + - '\n' + - '

Bu iletişim kutusu sekmesinin etkileşimli bileşenleri arasında gezinmek için Sekme veya\n' + - ' Shift+Sekme tuşlarına basın.

\n' + - '\n' + - '

Mevcut sekmeler arasında geçiş yapmak için sekme menüsüne odaklanıp uygun Ok tuşuna basarak\n' + - ' başka bir iletişim kutusu sekmesine geçiş yapın.

\n'); \ No newline at end of file diff --git a/frontend/public/tinymce/plugins/help/js/i18n/keynav/uk.js b/frontend/public/tinymce/plugins/help/js/i18n/keynav/uk.js deleted file mode 100644 index 028d4a4..0000000 --- a/frontend/public/tinymce/plugins/help/js/i18n/keynav/uk.js +++ /dev/null @@ -1,93 +0,0 @@ -tinymce.Resource.add('tinymce.html-i18n.help-keynav.uk', -'

Початок роботи з навігацією за допомогою клавіатури

\n' + - '\n' + - '
\n' + - '
Фокус на рядок меню
\n' + - '
Windows або Linux: Alt+F9
\n' + - '
macOS: ⌥F9
\n' + - '
Фокус на панелі інструментів
\n' + - '
Windows або Linux: Alt+F10
\n' + - '
macOS: ⌥F10
\n' + - '
Фокус на розділі "Нижній колонтитул"
\n' + - '
Windows або Linux: Alt+F11
\n' + - '
macOS: ⌥F11
\n' + - '
Фокус на сповіщення
\n' + - '
Windows або Linux: Alt+F12
\n' + - '
macOS: ⌥F12
\n' + - '
Фокус на контекстній панелі інструментів
\n' + - '
Windows, Linux або macOS: Ctrl+F9
\n' + - '
\n' + - '\n' + - '

Навігація почнеться з першого елемента інтерфейсу користувача, який буде виділено або підкреслено в разі, якщо перший елемент знаходиться в\n' + - ' шляху до елемента "Нижній колонтитул".

\n' + - '\n' + - '

Навігація між розділами інтерфейсу користувача

\n' + - '\n' + - '

Щоб перейти з одного розділу інтерфейсу користувача до наступного розділу, натисніть клавішу Tab.

\n' + - '\n' + - '

Щоб перейти з одного розділу інтерфейсу користувача до попереднього розділу, натисніть сполучення клавіш Shift+Tab.

\n' + - '\n' + - '

Порядок Вкладок цих розділів інтерфейсу користувача такий:

\n' + - '\n' + - '
    \n' + - '
  1. Рядок меню
  2. \n' + - '
  3. Кожна група панелей інструментів
  4. \n' + - '
  5. Бічна панель
  6. \n' + - '
  7. Шлях до елементів у розділі "Нижній колонтитул"
  8. \n' + - '
  9. Кнопка перемикача "Кількість слів" у розділі "Нижній колонтитул"
  10. \n' + - '
  11. Посилання на брендинг у розділі "Нижній колонтитул"
  12. \n' + - '
  13. Маркер змінення розміру в розділі "Нижній колонтитул"
  14. \n' + - '
\n' + - '\n' + - '

Якщо розділ інтерфейсу користувача відсутній, він пропускається.

\n' + - '\n' + - '

Якщо фокус навігації клавіатури знаходиться на розділі "Нижній колонтитул", але користувач не бачить видиму бічну панель, натисніть Shift+Tab,\n' + - ' щоб перемістити фокус на першу групу панелі інструментів, а не на останню.

\n' + - '\n' + - '

Навігація в межах розділів інтерфейсу користувача

\n' + - '\n' + - '

Щоб перейти з одного елементу інтерфейсу користувача до наступного, натисніть відповідну клавішу зі стрілкою.

\n' + - '\n' + - '

Клавіші зі стрілками Ліворуч і Праворуч

\n' + - '\n' + - '
    \n' + - '
  • переміщують між меню в рядку меню.
  • \n' + - '
  • відкривають вкладене меню в меню.
  • \n' + - '
  • переміщують користувача між кнопками в групі панелі інструментів.
  • \n' + - '
  • переміщують між елементами в шляху до елементів у розділі "Нижній колонтитул".
  • \n' + - '
\n' + - '\n' + - '

Клавіші зі стрілками Вниз і Вгору

\n' + - '\n' + - '
    \n' + - '
  • переміщують між елементами меню в меню.
  • \n' + - '
  • переміщують між елементами в спливаючому меню панелі інструментів.
  • \n' + - '
\n' + - '\n' + - '

Клавіші зі стрілками переміщують фокус циклічно в межах розділу інтерфейсу користувача, на якому знаходиться фокус.

\n' + - '\n' + - '

Щоб закрити відкрите меню, відкрите вкладене меню або відкрите спливаюче меню, натисніть клавішу Esc.

\n' + - '\n' + - '

Якщо поточний фокус знаходиться на верхньому рівні певного розділу інтерфейсу користувача, натискання клавіші Esc також виконує вихід\n' + - ' з навігації за допомогою клавіатури повністю.

\n' + - '\n' + - '

Виконання елементу меню або кнопки панелі інструментів

\n' + - '\n' + - '

Коли потрібний елемент меню або кнопку панелі інструментів виділено, натисніть клавіші Return, Enter,\n' + - ' або Пробіл, щоб виконати цей елемент.

\n' + - '\n' + - '

Навігація по діалоговим вікнам без вкладок

\n' + - '\n' + - '

У діалогових вікнах без вкладок перший інтерактивний компонент приймає фокус, коли відкривається діалогове вікно.

\n' + - '\n' + - '

Переходьте між інтерактивними компонентами діалогового вікна, натискаючи клавіші Tab або Shift+Tab.

\n' + - '\n' + - '

Навігація по діалоговим вікнам з вкладками

\n' + - '\n' + - '

У діалогових вікнах із вкладками перша кнопка в меню вкладки приймає фокус, коли відкривається діалогове вікно.

\n' + - '\n' + - '

Переходьте між інтерактивними компонентами цієї вкладки діалогового вікна, натискаючи клавіші Tab або\n' + - ' Shift+Tab.

\n' + - '\n' + - '

Щоб перейти на іншу вкладку діалогового вікна, перемістіть фокус на меню вкладки, а потім натисніть відповідну клавішу зі стрілкою,\n' + - ' щоб циклічно переходити по доступним вкладкам.

\n'); \ No newline at end of file diff --git a/frontend/public/tinymce/plugins/help/js/i18n/keynav/vi.js b/frontend/public/tinymce/plugins/help/js/i18n/keynav/vi.js deleted file mode 100644 index d8eda11..0000000 --- a/frontend/public/tinymce/plugins/help/js/i18n/keynav/vi.js +++ /dev/null @@ -1,93 +0,0 @@ -tinymce.Resource.add('tinymce.html-i18n.help-keynav.vi', -'

Bắt đầu điều hướng bàn phím

\n' + - '\n' + - '
\n' + - '
Tập trung vào thanh menu
\n' + - '
Windows hoặc Linux: Alt+F9
\n' + - '
macOS: ⌥F9
\n' + - '
Tập trung vào thanh công cụ
\n' + - '
Windows hoặc Linux: Alt+F10
\n' + - '
macOS: ⌥F10
\n' + - '
Tập trung vào chân trang
\n' + - '
Windows hoặc Linux: Alt+F11
\n' + - '
macOS: ⌥F11
\n' + - '
Tập trung vào thông báo
\n' + - '
Windows hoặc Linux: Alt+F12
\n' + - '
macOS: ⌥F12
\n' + - '
Tập trung vào thanh công cụ ngữ cảnh
\n' + - '
Windows, Linux hoặc macOS: Ctrl+F9
\n' + - '
\n' + - '\n' + - '

Điều hướng sẽ bắt đầu từ mục UI đầu tiên. Mục này sẽ được tô sáng hoặc có gạch dưới (nếu là mục đầu tiên trong\n' + - ' đường dẫn phần tử Chân trang).

\n' + - '\n' + - '

Di chuyển qua lại giữa các phần UI

\n' + - '\n' + - '

Để di chuyển từ một phần UI sang phần tiếp theo, ấn Tab.

\n' + - '\n' + - '

Để di chuyển từ một phần UI về phần trước đó, ấn Shift+Tab.

\n' + - '\n' + - '

Thứ tự Tab của các phần UI này như sau:

\n' + - '\n' + - '
    \n' + - '
  1. Thanh menu
  2. \n' + - '
  3. Từng nhóm thanh công cụ
  4. \n' + - '
  5. Thanh bên
  6. \n' + - '
  7. Đường dẫn phần tử trong chân trang
  8. \n' + - '
  9. Nút chuyển đổi đếm chữ ở chân trang
  10. \n' + - '
  11. Liên kết thương hiệu ở chân trang
  12. \n' + - '
  13. Núm điều tác chỉnh kích cỡ trình soạn thảo ở chân trang
  14. \n' + - '
\n' + - '\n' + - '

Nếu người dùng không thấy một phần UI, thì có nghĩa phần đó bị bỏ qua.

\n' + - '\n' + - '

Nếu ở chân trang có tính năng tập trung điều hướng bàn phím, mà không có thanh bên nào hiện hữu, thao tác ấn Shift+Tab\n' + - ' sẽ chuyển hướng tập trung vào nhóm thanh công cụ đầu tiên, không phải cuối cùng.

\n' + - '\n' + - '

Di chuyển qua lại trong các phần UI

\n' + - '\n' + - '

Để di chuyển từ một phần tử UI sang phần tiếp theo, ấn phím Mũi tên tương ứng cho phù hợp.

\n' + - '\n' + - '

Các phím mũi tên TráiPhải

\n' + - '\n' + - '
    \n' + - '
  • di chuyển giữa các menu trong thanh menu.
  • \n' + - '
  • mở menu phụ trong một menu.
  • \n' + - '
  • di chuyển giữa các nút trong nhóm thanh công cụ.
  • \n' + - '
  • di chuyển giữa các mục trong đường dẫn phần tử của chân trang.
  • \n' + - '
\n' + - '\n' + - '

Các phím mũi tên Hướng xuốngHướng lên

\n' + - '\n' + - '
    \n' + - '
  • di chuyển giữa các mục menu trong menu.
  • \n' + - '
  • di chuyển giữa các mục trong menu thanh công cụ dạng bật lên.
  • \n' + - '
\n' + - '\n' + - '

Các phím mũi tên xoay vòng trong một phần UI tập trung.

\n' + - '\n' + - '

Để đóng một menu mở, một menu phụ đang mở, hoặc một menu dạng bật lên đang mở, hãy ấn phím Esc.

\n' + - '\n' + - '

Nếu trọng tâm hiện tại là ở phần “đầu” của một phần UI cụ thể, thao tác ấn phím Esc cũng sẽ thoát\n' + - ' toàn bộ phần điều hướng bàn phím.

\n' + - '\n' + - '

Thực hiện chức năng của một mục menu hoặc nút thanh công cụ

\n' + - '\n' + - '

Khi mục menu hoặc nút thanh công cụ muốn dùng được tô sáng, hãy ấn Return, Enter,\n' + - ' hoặc Phím cách để thực hiện chức năng mục đó.

\n' + - '\n' + - '

Điều hướng giữa các hộp thoại không có nhiều tab

\n' + - '\n' + - '

Trong các hộp thoại không có nhiều tab, khi hộp thoại mở ra, trọng tâm sẽ hướng vào thành phần tương tác đầu tiên.

\n' + - '\n' + - '

Di chuyển giữa các thành phần hộp thoại tương tác bằng cách ấn Tab hoặc Shift+Tab.

\n' + - '\n' + - '

Điều hướng giữa các hộp thoại có nhiều tab

\n' + - '\n' + - '

Trong các hộp thoại có nhiều tab, khi hộp thoại mở ra, trọng tâm sẽ hướng vào nút đầu tiên trong menu tab.

\n' + - '\n' + - '

Di chuyển giữa các thành phần tương tác của tab hộp thoại này bằng cách ấn Tab hoặc\n' + - ' Shift+Tab.

\n' + - '\n' + - '

Chuyển sang một tab hộp thoại khác bằng cách chuyển trọng tâm vào menu tab, rồi ấn phím Mũi tên phù hợp\n' + - ' để xoay vòng các tab hiện có.

\n'); \ No newline at end of file diff --git a/frontend/public/tinymce/plugins/help/js/i18n/keynav/zh_CN.js b/frontend/public/tinymce/plugins/help/js/i18n/keynav/zh_CN.js deleted file mode 100644 index f7e73d1..0000000 --- a/frontend/public/tinymce/plugins/help/js/i18n/keynav/zh_CN.js +++ /dev/null @@ -1,87 +0,0 @@ -tinymce.Resource.add('tinymce.html-i18n.help-keynav.zh_CN', -'

开始键盘导航

\n' + - '\n' + - '
\n' + - '
使菜单栏处于焦点
\n' + - '
Windows 或 Linux:Alt+F9
\n' + - '
macOS:⌥F9
\n' + - '
使工具栏处于焦点
\n' + - '
Windows 或 Linux:Alt+F10
\n' + - '
macOS:⌥F10
\n' + - '
使页脚处于焦点
\n' + - '
Windows 或 Linux:Alt+F11
\n' + - '
macOS:⌥F11
\n' + - '
使通知处于焦点
\n' + - '
Windows 或 Linux:Alt+F12
\n' + - '
macOS:⌥F12
\n' + - '
使上下文工具栏处于焦点
\n' + - '
Windows、Linux 或 macOS:Ctrl+F9
\n' + - '
\n' + - '\n' + - '

导航将在第一个 UI 项上开始,其中突出显示该项,或者对于页脚元素路径中的第一项,将为其添加下划线。

\n' + - '\n' + - '

在 UI 部分之间导航

\n' + - '\n' + - '

要从一个 UI 部分移至下一个,请按 Tab

\n' + - '\n' + - '

要从一个 UI 部分移至上一个,请按 Shift+Tab

\n' + - '\n' + - '

这些 UI 部分的 Tab 顺序为:

\n' + - '\n' + - '
    \n' + - '
  1. 菜单栏
  2. \n' + - '
  3. 每个工具栏组
  4. \n' + - '
  5. 边栏
  6. \n' + - '
  7. 页脚中的元素路径
  8. \n' + - '
  9. 页脚中的字数切换按钮
  10. \n' + - '
  11. 页脚中的品牌链接
  12. \n' + - '
  13. 页脚中的编辑器调整大小图柄
  14. \n' + - '
\n' + - '\n' + - '

如果不存在某个 UI 部分,则跳过它。

\n' + - '\n' + - '

如果键盘导航焦点在页脚,并且没有可见的边栏,则按 Shift+Tab 将焦点移至第一个工具栏组而非最后一个。

\n' + - '\n' + - '

在 UI 部分内导航

\n' + - '\n' + - '

要从一个 UI 元素移至下一个,请按相应的箭头键。

\n' + - '\n' + - '

箭头键

\n' + - '\n' + - '
    \n' + - '
  • 在菜单栏中的菜单之间移动。
  • \n' + - '
  • 打开菜单中的子菜单。
  • \n' + - '
  • 在工具栏组中的按钮之间移动。
  • \n' + - '
  • 在页脚的元素路径中的各项之间移动。
  • \n' + - '
\n' + - '\n' + - '

箭头键

\n' + - '\n' + - '
    \n' + - '
  • 在菜单中的菜单项之间移动。
  • \n' + - '
  • 在工具栏弹出菜单中的各项之间移动。
  • \n' + - '
\n' + - '\n' + - '

箭头键在具有焦点的 UI 部分内循环。

\n' + - '\n' + - '

要关闭打开的菜单、打开的子菜单或打开的弹出菜单,请按 Esc 键。

\n' + - '\n' + - '

如果当前的焦点在特定 UI 部分的“顶部”,则按 Esc 键还将完全退出键盘导航。

\n' + - '\n' + - '

执行菜单项或工具栏按钮

\n' + - '\n' + - '

当突出显示所需的菜单项或工具栏按钮时,按 ReturnEnter空格以执行该项。

\n' + - '\n' + - '

在非标签页式对话框中导航

\n' + - '\n' + - '

在非标签页式对话框中,当对话框打开时,第一个交互组件获得焦点。

\n' + - '\n' + - '

通过按 TabShift+Tab,在交互对话框组件之间导航。

\n' + - '\n' + - '

在标签页式对话框中导航

\n' + - '\n' + - '

在标签页式对话框中,当对话框打开时,标签页菜单中的第一个按钮获得焦点。

\n' + - '\n' + - '

通过按 TabShift+Tab,在此对话框的交互组件之间导航。

\n' + - '\n' + - '

通过将焦点移至另一对话框标签页的菜单,然后按相应的箭头键以在可用的标签页间循环,从而切换到该对话框标签页。

\n'); \ No newline at end of file diff --git a/frontend/public/tinymce/plugins/help/js/i18n/keynav/zh_TW.js b/frontend/public/tinymce/plugins/help/js/i18n/keynav/zh_TW.js deleted file mode 100644 index 5912770..0000000 --- a/frontend/public/tinymce/plugins/help/js/i18n/keynav/zh_TW.js +++ /dev/null @@ -1,93 +0,0 @@ -tinymce.Resource.add('tinymce.html-i18n.help-keynav.zh_TW', -'

開始鍵盤瀏覽

\n' + - '\n' + - '
\n' + - '
跳至功能表列
\n' + - '
Windows 或 Linux:Alt+F9
\n' + - '
macOS:⌥F9
\n' + - '
跳至工具列
\n' + - '
Windows 或 Linux:Alt+F10
\n' + - '
macOS:⌥F10
\n' + - '
跳至頁尾
\n' + - '
Windows 或 Linux:Alt+F11
\n' + - '
macOS:⌥F11
\n' + - '
跳至通知
\n' + - '
Windows 或 Linux:Alt+F12
\n' + - '
macOS:⌥F12
\n' + - '
跳至關聯式工具列
\n' + - '
Windows、Linux 或 macOS:Ctrl+F9
\n' + - '
\n' + - '\n' + - '

瀏覽會從第一個 UI 項目開始,該項目會反白顯示,但如果是「頁尾」元素路徑的第一項,\n' + - ' 則加底線。

\n' + - '\n' + - '

在 UI 區段之間瀏覽

\n' + - '\n' + - '

從 UI 區段移至下一個,請按 Tab

\n' + - '\n' + - '

從 UI 區段移回上一個,請按 Shift+Tab

\n' + - '\n' + - '

這些 UI 區段的 Tab 順序如下:

\n' + - '\n' + - '
    \n' + - '
  1. 功能表列
  2. \n' + - '
  3. 各個工具列群組
  4. \n' + - '
  5. 側邊欄
  6. \n' + - '
  7. 頁尾中的元素路徑
  8. \n' + - '
  9. 頁尾中字數切換按鈕
  10. \n' + - '
  11. 頁尾中的品牌連結
  12. \n' + - '
  13. 頁尾中編輯器調整大小控點
  14. \n' + - '
\n' + - '\n' + - '

如果 UI 區段未顯示,表示已略過該區段。

\n' + - '\n' + - '

如果鍵盤瀏覽跳至頁尾,但沒有顯示側邊欄,則按下 Shift+Tab\n' + - ' 會跳至第一個工具列群組,而不是最後一個。

\n' + - '\n' + - '

在 UI 區段之內瀏覽

\n' + - '\n' + - '

在兩個 UI 元素之間移動,請按適當的方向鍵。

\n' + - '\n' + - '

向左向右方向鍵

\n' + - '\n' + - '
    \n' + - '
  • 在功能表列中的功能表之間移動。
  • \n' + - '
  • 開啟功能表中的子功能表。
  • \n' + - '
  • 在工具列群組中的按鈕之間移動。
  • \n' + - '
  • 在頁尾的元素路徑中項目之間移動。
  • \n' + - '
\n' + - '\n' + - '

向下向上方向鍵

\n' + - '\n' + - '
    \n' + - '
  • 在功能表中的功能表項目之間移動。
  • \n' + - '
  • 在工具列快顯功能表中的項目之間移動。
  • \n' + - '
\n' + - '\n' + - '

方向鍵會在所跳至 UI 區段之內循環。

\n' + - '\n' + - '

若要關閉已開啟的功能表、已開啟的子功能表,或已開啟的快顯功能表,請按 Esc 鍵。

\n' + - '\n' + - '

如果目前已跳至特定 UI 區段的「頂端」,則按 Esc 鍵也會結束\n' + - ' 整個鍵盤瀏覽。

\n' + - '\n' + - '

執行功能表列項目或工具列按鈕

\n' + - '\n' + - '

當想要的功能表項目或工具列按鈕已反白顯示時,按 ReturnEnter、\n' + - ' 或空白鍵即可執行該項目。

\n' + - '\n' + - '

瀏覽非索引標籤式對話方塊

\n' + - '\n' + - '

在非索引標籤式對話方塊中,開啟對話方塊時會跳至第一個互動元件。

\n' + - '\n' + - '

TabShift+Tab 即可在互動式對話方塊元件之間瀏覽。

\n' + - '\n' + - '

瀏覽索引標籤式對話方塊

\n' + - '\n' + - '

在索引標籤式對話方塊中,開啟對話方塊時會跳至索引標籤式功能表中的第一個按鈕。

\n' + - '\n' + - '

若要在此對話方塊的互動式元件之間瀏覽,請按 Tab 或\n' + - ' Shift+Tab

\n' + - '\n' + - '

先跳至索引標籤式功能表,然後按適當的方向鍵,即可切換至另一個對話方塊索引標籤,\n' + - ' 以循環瀏覽可用的索引標籤。

\n'); \ No newline at end of file diff --git a/frontend/public/tinymce/plugins/help/plugin.min.js b/frontend/public/tinymce/plugins/help/plugin.min.js deleted file mode 100644 index 9b25729..0000000 --- a/frontend/public/tinymce/plugins/help/plugin.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/** - * TinyMCE version 7.4.1 (TBD) - */ -!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager");let t=0;const n=e=>{const n=(new Date).getTime(),a=Math.floor(window.crypto.getRandomValues(new Uint32Array(1))[0]/4294967295*1e9);return t++,e+"_"+a+t+String(n)},a=e=>t=>t.options.get(e),r=a("help_tabs"),o=a("forced_plugins"),i=("string",e=>"string"===(e=>{const t=typeof e;return null===e?"null":"object"===t&&Array.isArray(e)?"array":"object"===t&&(n=a=e,(r=String).prototype.isPrototypeOf(n)||(null===(o=a.constructor)||void 0===o?void 0:o.name)===r.name)?"string":t;var n,a,r,o})(e));const s=(void 0,e=>undefined===e);const l=e=>"function"==typeof e,c=(!1,()=>false);class m{constructor(e,t){this.tag=e,this.value=t}static some(e){return new m(!0,e)}static none(){return m.singletonNone}fold(e,t){return this.tag?t(this.value):e()}isSome(){return this.tag}isNone(){return!this.tag}map(e){return this.tag?m.some(e(this.value)):m.none()}bind(e){return this.tag?e(this.value):m.none()}exists(e){return this.tag&&e(this.value)}forall(e){return!this.tag||e(this.value)}filter(e){return!this.tag||e(this.value)?this:m.none()}getOr(e){return this.tag?this.value:e}or(e){return this.tag?this:e}getOrThunk(e){return this.tag?this.value:e()}orThunk(e){return this.tag?this:e()}getOrDie(e){if(this.tag)return this.value;throw new Error(null!=e?e:"Called getOrDie on None")}static from(e){return null==e?m.none():m.some(e)}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(e){this.tag&&e(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}m.singletonNone=new m(!1);const u=Array.prototype.slice,p=Array.prototype.indexOf,y=(e,t)=>{const n=e.length,a=new Array(n);for(let r=0;r{const n=[];for(let a=0,r=e.length;a{const n=u.call(e,0);return n.sort(t),n},g=Object.keys,k=Object.hasOwnProperty,v=(e,t)=>k.call(e,t);var b=tinymce.util.Tools.resolve("tinymce.Resource"),f=tinymce.util.Tools.resolve("tinymce.util.I18n");const A=(e,t)=>b.load(`tinymce.html-i18n.help-keynav.${t}`,`${e}/js/i18n/keynav/${t}.js`),w=e=>A(e,f.getCode()).catch((()=>A(e,"en")));var C=tinymce.util.Tools.resolve("tinymce.Env");const S=e=>{const t=C.os.isMacOS()||C.os.isiOS(),n=t?{alt:"⌥",ctrl:"⌃",shift:"⇧",meta:"⌘",access:"⌃⌥"}:{meta:"Ctrl ",access:"Shift + Alt "},a=e.split("+"),r=y(a,(e=>{const t=e.toLowerCase().trim();return v(n,t)?n[t]:e}));return t?r.join("").replace(/\s/,""):r.join("+")},M=[{shortcuts:["Meta + B"],action:"Bold"},{shortcuts:["Meta + I"],action:"Italic"},{shortcuts:["Meta + U"],action:"Underline"},{shortcuts:["Meta + A"],action:"Select all"},{shortcuts:["Meta + Y","Meta + Shift + Z"],action:"Redo"},{shortcuts:["Meta + Z"],action:"Undo"},{shortcuts:["Access + 1"],action:"Heading 1"},{shortcuts:["Access + 2"],action:"Heading 2"},{shortcuts:["Access + 3"],action:"Heading 3"},{shortcuts:["Access + 4"],action:"Heading 4"},{shortcuts:["Access + 5"],action:"Heading 5"},{shortcuts:["Access + 6"],action:"Heading 6"},{shortcuts:["Access + 7"],action:"Paragraph"},{shortcuts:["Access + 8"],action:"Div"},{shortcuts:["Access + 9"],action:"Address"},{shortcuts:["Alt + 0"],action:"Open help dialog"},{shortcuts:["Alt + F9"],action:"Focus to menubar"},{shortcuts:["Alt + F10"],action:"Focus to toolbar"},{shortcuts:["Alt + F11"],action:"Focus to element path"},{shortcuts:["Alt + F12"],action:"Focus to notification"},{shortcuts:["Ctrl + F9"],action:"Focus to contextual toolbar"},{shortcuts:["Shift + Enter"],action:"Open popup menu for split buttons"},{shortcuts:["Meta + K"],action:"Insert link (if link plugin activated)"},{shortcuts:["Meta + S"],action:"Save (if save plugin activated)"},{shortcuts:["Meta + F"],action:"Find (if searchreplace plugin activated)"},{shortcuts:["Meta + Shift + F"],action:"Switch to or from fullscreen mode"}],_=()=>({name:"shortcuts",title:"Handy Shortcuts",items:[{type:"table",header:["Action","Shortcut"],cells:y(M,(e=>{const t=y(e.shortcuts,S).join(" or ");return[e.action,t]}))}]}),x=y([{key:"accordion",name:"Accordion"},{key:"anchor",name:"Anchor"},{key:"autolink",name:"Autolink"},{key:"autoresize",name:"Autoresize"},{key:"autosave",name:"Autosave"},{key:"charmap",name:"Character Map"},{key:"code",name:"Code"},{key:"codesample",name:"Code Sample"},{key:"colorpicker",name:"Color Picker"},{key:"directionality",name:"Directionality"},{key:"emoticons",name:"Emoticons"},{key:"fullscreen",name:"Full Screen"},{key:"help",name:"Help"},{key:"image",name:"Image"},{key:"importcss",name:"Import CSS"},{key:"insertdatetime",name:"Insert Date/Time"},{key:"link",name:"Link"},{key:"lists",name:"Lists"},{key:"advlist",name:"List Styles"},{key:"media",name:"Media"},{key:"nonbreaking",name:"Nonbreaking"},{key:"pagebreak",name:"Page Break"},{key:"preview",name:"Preview"},{key:"quickbars",name:"Quick Toolbars"},{key:"save",name:"Save"},{key:"searchreplace",name:"Search and Replace"},{key:"table",name:"Table"},{key:"textcolor",name:"Text Color"},{key:"visualblocks",name:"Visual Blocks"},{key:"visualchars",name:"Visual Characters"},{key:"wordcount",name:"Word Count"},{key:"a11ychecker",name:"Accessibility Checker",type:"premium"},{key:"typography",name:"Advanced Typography",type:"premium",slug:"advanced-typography"},{key:"ai",name:"AI Assistant",type:"premium"},{key:"casechange",name:"Case Change",type:"premium"},{key:"checklist",name:"Checklist",type:"premium"},{key:"advcode",name:"Enhanced Code Editor",type:"premium"},{key:"mediaembed",name:"Enhanced Media Embed",type:"premium",slug:"introduction-to-mediaembed"},{key:"advtable",name:"Enhanced Tables",type:"premium"},{key:"exportpdf",name:"Export to PDF",type:"premium"},{key:"exportword",name:"Export to Word",type:"premium"},{key:"footnotes",name:"Footnotes",type:"premium"},{key:"formatpainter",name:"Format Painter",type:"premium"},{key:"editimage",name:"Image Editing",type:"premium"},{key:"importword",name:"Import from Word",type:"premium"},{key:"inlinecss",name:"Inline CSS",type:"premium",slug:"inline-css"},{key:"linkchecker",name:"Link Checker",type:"premium"},{key:"math",name:"Math",type:"premium"},{key:"markdown",name:"Markdown",type:"premium"},{key:"mentions",name:"Mentions",type:"premium"},{key:"mergetags",name:"Merge Tags",type:"premium"},{key:"pageembed",name:"Page Embed",type:"premium"},{key:"permanentpen",name:"Permanent Pen",type:"premium"},{key:"powerpaste",name:"PowerPaste",type:"premium",slug:"introduction-to-powerpaste"},{key:"revisionhistory",name:"Revision History",type:"premium"},{key:"tinymcespellchecker",name:"Spell Checker",type:"premium",slug:"introduction-to-tiny-spellchecker"},{key:"autocorrect",name:"Spelling Autocorrect",type:"premium"},{key:"tableofcontents",name:"Table of Contents",type:"premium"},{key:"advtemplate",name:"Templates",type:"premium",slug:"advanced-templates"},{key:"tinycomments",name:"Tiny Comments",type:"premium",slug:"introduction-to-tiny-comments"},{key:"tinydrive",name:"Tiny Drive",type:"premium",slug:"tinydrive-introduction"}],(e=>({...e,type:e.type||"opensource",slug:e.slug||e.key}))),T=e=>{const t=e=>`
${e.name}`,n=(e,n)=>{return(a=x,r=e=>e.key===n,((e,t,n)=>{for(let a=0,r=e.length;a((e,n)=>{const a=e.plugins[n].getMetadata;if(l(a)){const e=a();return{name:e.name,html:t(e)}}return{name:n,html:n}})(e,n)),(e=>{const n="premium"===e.type?`${e.name}*`:e.name;return{name:n,html:t({name:n,url:`https://www.tiny.cloud/docs/tinymce/7/${e.slug}/`})}}));var a,r},a=e=>{const t=(e=>{const t=g(e.plugins),n=o(e);return s(n)?t:h(t,(e=>!(((e,t)=>p.call(e,t))(n,e)>-1)))})(e),a=d(y(t,(t=>n(e,t))),((e,t)=>e.name.localeCompare(t.name))),r=y(a,(e=>"
  • "+e.html+"
  • ")),i=r.length,l=r.join("");return"

    "+f.translate(["Plugins installed ({0}):",i])+"

      "+l+"
    "},r={type:"htmlpanel",presets:"document",html:[(e=>null==e?"":"
    "+a(e)+"
    ")(e),(()=>{const e=h(x,(({type:e})=>"premium"===e)),t=d(y(e,(e=>e.name)),((e,t)=>e.localeCompare(t))),n=y(t,(e=>`
  • ${e}
  • `)).join("");return"

    "+f.translate("Premium plugins:")+"

    "})()].join("")};return{name:"plugins",title:"Plugins",items:[r]}};var O=tinymce.util.Tools.resolve("tinymce.EditorManager");const F=(e,t,a)=>()=>{(async(e,t,a)=>{const o=_(),s=await(async e=>({name:"keyboardnav",title:"Keyboard Navigation",items:[{type:"htmlpanel",presets:"document",html:await w(e)}]}))(a),l=T(e),c=(()=>{var e,t;const n='TinyMCE '+(e=O.majorVersion,t=O.minorVersion,(0===e.indexOf("@")?"X.X.X":e+"."+t)+"");return{name:"versions",title:"Version",items:[{type:"htmlpanel",html:"

    "+f.translate(["You are using {0}",n])+"

    ",presets:"document"}]}})(),u={[o.name]:o,[s.name]:s,[l.name]:l,[c.name]:c,...t.get()};return m.from(r(e)).fold((()=>(e=>{const t=g(e),n=t.indexOf("versions");return-1!==n&&(t.splice(n,1),t.push("versions")),{tabs:e,names:t}})(u)),(e=>((e,t)=>{const a={},r=y(e,(e=>{var r;if(i(e))return v(t,e)&&(a[e]=t[e]),e;{const t=null!==(r=e.name)&&void 0!==r?r:n("tab-name");return a[t]=e,t}}));return{tabs:a,names:r}})(e,u)))})(e,t,a).then((({tabs:t,names:n})=>{const a={type:"tabpanel",tabs:(e=>{const t=[],n=e=>{t.push(e)};for(let t=0;t{return v(n=t,a=e)?m.from(n[a]):m.none();var n,a})))};e.windowManager.open({title:"Help",size:"medium",body:a,buttons:[{type:"cancel",name:"close",text:"Close",primary:!0}],initialData:{}})}))};e.add("help",((e,t)=>{const a=(e=>{let t={};return{get:()=>t,set:e=>{t=e}}})(),r=(e=>({addTab:t=>{var a;const r=null!==(a=t.name)&&void 0!==a?a:n("tab-name"),o=e.get();o[r]=t,e.set(o)}}))(a);(e=>{(0,e.options.register)("help_tabs",{processor:"array"})})(e);const o=F(e,a,t);return((e,t)=>{e.ui.registry.addButton("help",{icon:"help",tooltip:"Help",onAction:t,context:"any"}),e.ui.registry.addMenuItem("help",{text:"Help",icon:"help",shortcut:"Alt+0",onAction:t,context:"any"})})(e,o),((e,t)=>{e.addCommand("mceHelp",t)})(e,o),e.shortcuts.add("Alt+0","Open help dialog","mceHelp"),((e,t)=>{e.on("init",(()=>{w(t)}))})(e,t),r}))}(); \ No newline at end of file diff --git a/frontend/public/tinymce/plugins/image/plugin.min.js b/frontend/public/tinymce/plugins/image/plugin.min.js deleted file mode 100644 index 8b7d8de..0000000 --- a/frontend/public/tinymce/plugins/image/plugin.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/** - * TinyMCE version 7.4.1 (TBD) - */ -!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager");const t=Object.getPrototypeOf,a=(e,t,a)=>{var i;return!!a(e,t.prototype)||(null===(i=e.constructor)||void 0===i?void 0:i.name)===t.name},i=e=>t=>(e=>{const t=typeof e;return null===e?"null":"object"===t&&Array.isArray(e)?"array":"object"===t&&a(e,String,((e,t)=>t.isPrototypeOf(e)))?"string":t})(t)===e,s=e=>t=>typeof t===e,r=i("string"),o=i("object"),n=e=>((e,i)=>o(e)&&a(e,i,((e,a)=>t(e)===a)))(e,Object),l=i("array"),c=(null,e=>null===e);const m=s("boolean"),d=e=>!(e=>null==e)(e),g=s("function"),u=s("number"),p=()=>{};class h{constructor(e,t){this.tag=e,this.value=t}static some(e){return new h(!0,e)}static none(){return h.singletonNone}fold(e,t){return this.tag?t(this.value):e()}isSome(){return this.tag}isNone(){return!this.tag}map(e){return this.tag?h.some(e(this.value)):h.none()}bind(e){return this.tag?e(this.value):h.none()}exists(e){return this.tag&&e(this.value)}forall(e){return!this.tag||e(this.value)}filter(e){return!this.tag||e(this.value)?this:h.none()}getOr(e){return this.tag?this.value:e}or(e){return this.tag?this:e}getOrThunk(e){return this.tag?this.value:e()}orThunk(e){return this.tag?this:e()}getOrDie(e){if(this.tag)return this.value;throw new Error(null!=e?e:"Called getOrDie on None")}static from(e){return d(e)?h.some(e):h.none()}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(e){this.tag&&e(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}h.singletonNone=new h(!1);const b=Object.keys,v=Object.hasOwnProperty,y=(e,t)=>v.call(e,t),f=Array.prototype.push,w=e=>{const t=[];for(let a=0,i=e.length;a{((e,t,a)=>{if(!(r(a)||m(a)||u(a)))throw console.error("Invalid call to Attribute.set. Key ",t,":: Value ",a,":: Element ",e),new Error("Attribute value was not simple");e.setAttribute(t,a+"")})(e.dom,t,a)},D=e=>{if(null==e)throw new Error("Node cannot be null or undefined");return{dom:e}},_=D;var C=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),I=tinymce.util.Tools.resolve("tinymce.util.URI");const U=e=>e.length>0,x=e=>t=>t.options.get(e),S=x("image_dimensions"),N=x("image_advtab"),T=x("image_uploadtab"),O=x("image_prepend_url"),E=x("image_class_list"),L=x("image_description"),j=x("image_title"),M=x("image_caption"),R=x("image_list"),k=x("a11y_advanced_options"),z=x("automatic_uploads"),B=(e,t)=>Math.max(parseInt(e,10),parseInt(t,10)),P=e=>(e&&(e=e.replace(/px$/,"")),e),F=e=>(e.length>0&&/^[0-9]+$/.test(e)&&(e+="px"),e),H=e=>"IMG"===e.nodeName&&(e.hasAttribute("data-mce-object")||e.hasAttribute("data-mce-placeholder")),G=(e,t)=>{const a=e.options.get;return I.isDomSafe(t,"img",{allow_html_data_urls:a("allow_html_data_urls"),allow_script_urls:a("allow_script_urls"),allow_svg_data_urls:a("allow_svg_data_urls")})},W=C.DOM,$=e=>e.style.marginLeft&&e.style.marginRight&&e.style.marginLeft===e.style.marginRight?P(e.style.marginLeft):"",V=e=>e.style.marginTop&&e.style.marginBottom&&e.style.marginTop===e.style.marginBottom?P(e.style.marginTop):"",K=e=>e.style.borderWidth?P(e.style.borderWidth):"",Z=(e,t)=>{var a;return e.hasAttribute(t)&&null!==(a=e.getAttribute(t))&&void 0!==a?a:""},q=e=>null!==e.parentNode&&"FIGURE"===e.parentNode.nodeName,J=(e,t,a)=>{""===a||null===a?e.removeAttribute(t):e.setAttribute(t,a)},Q=(e,t)=>{const a=e.getAttribute("style"),i=t(null!==a?a:"");i.length>0?(e.setAttribute("style",i),e.setAttribute("data-mce-style",i)):e.removeAttribute("style")},X=(e,t)=>(e,a,i)=>{const s=e.style;s[a]?(s[a]=F(i),Q(e,t)):J(e,a,i)},Y=(e,t)=>e.style[t]?P(e.style[t]):Z(e,t),ee=(e,t)=>{const a=F(t);e.style.marginLeft=a,e.style.marginRight=a},te=(e,t)=>{const a=F(t);e.style.marginTop=a,e.style.marginBottom=a},ae=(e,t)=>{const a=F(t);e.style.borderWidth=a},ie=(e,t)=>{e.style.borderStyle=t},se=e=>{var t;return null!==(t=e.style.borderStyle)&&void 0!==t?t:""},re=e=>d(e)&&"FIGURE"===e.nodeName,oe=e=>0===W.getAttrib(e,"alt").length&&"presentation"===W.getAttrib(e,"role"),ne=e=>oe(e)?"":Z(e,"alt"),le=(e,t)=>{var a;const i=document.createElement("img");return J(i,"style",t.style),($(i)||""!==t.hspace)&&ee(i,t.hspace),(V(i)||""!==t.vspace)&&te(i,t.vspace),(K(i)||""!==t.border)&&ae(i,t.border),(se(i)||""!==t.borderStyle)&&ie(i,t.borderStyle),e(null!==(a=i.getAttribute("style"))&&void 0!==a?a:"")},ce=(e,t)=>({src:Z(t,"src"),alt:ne(t),title:Z(t,"title"),width:Y(t,"width"),height:Y(t,"height"),class:Z(t,"class"),style:e(Z(t,"style")),caption:q(t),hspace:$(t),vspace:V(t),border:K(t),borderStyle:se(t),isDecorative:oe(t)}),me=(e,t,a,i,s)=>{a[i]!==t[i]&&s(e,i,String(a[i]))},de=(e,t,a)=>{if(a){W.setAttrib(e,"role","presentation");const t=_(e);A(t,"alt","")}else{if(c(t)){"alt",_(e).dom.removeAttribute("alt")}else{const a=_(e);A(a,"alt",t)}"presentation"===W.getAttrib(e,"role")&&W.setAttrib(e,"role","")}},ge=(e,t)=>(a,i,s)=>{e(a,s),Q(a,t)},ue=(e,t,a)=>{const i=ce(e,a);me(a,i,t,"caption",((e,t,a)=>(e=>{q(e)?(e=>{const t=e.parentNode;d(t)&&(W.insertAfter(e,t),W.remove(t))})(e):(e=>{const t=W.create("figure",{class:"image"});W.insertAfter(t,e),t.appendChild(e),t.appendChild(W.create("figcaption",{contentEditable:"true"},"Caption")),t.contentEditable="false"})(e)})(e))),me(a,i,t,"src",J),me(a,i,t,"title",J),me(a,i,t,"width",X(0,e)),me(a,i,t,"height",X(0,e)),me(a,i,t,"class",J),me(a,i,t,"style",ge(((e,t)=>J(e,"style",t)),e)),me(a,i,t,"hspace",ge(ee,e)),me(a,i,t,"vspace",ge(te,e)),me(a,i,t,"border",ge(ae,e)),me(a,i,t,"borderStyle",ge(ie,e)),((e,t,a)=>{a.alt===t.alt&&a.isDecorative===t.isDecorative||de(e,a.alt,a.isDecorative)})(a,i,t)},pe=(e,t)=>{const a=(e=>{if(e.margin){const t=String(e.margin).split(" ");switch(t.length){case 1:e["margin-top"]=e["margin-top"]||t[0],e["margin-right"]=e["margin-right"]||t[0],e["margin-bottom"]=e["margin-bottom"]||t[0],e["margin-left"]=e["margin-left"]||t[0];break;case 2:e["margin-top"]=e["margin-top"]||t[0],e["margin-right"]=e["margin-right"]||t[1],e["margin-bottom"]=e["margin-bottom"]||t[0],e["margin-left"]=e["margin-left"]||t[1];break;case 3:e["margin-top"]=e["margin-top"]||t[0],e["margin-right"]=e["margin-right"]||t[1],e["margin-bottom"]=e["margin-bottom"]||t[2],e["margin-left"]=e["margin-left"]||t[1];break;case 4:e["margin-top"]=e["margin-top"]||t[0],e["margin-right"]=e["margin-right"]||t[1],e["margin-bottom"]=e["margin-bottom"]||t[2],e["margin-left"]=e["margin-left"]||t[3]}delete e.margin}return e})(e.dom.styles.parse(t)),i=e.dom.styles.parse(e.dom.styles.serialize(a));return e.dom.styles.serialize(i)},he=e=>{const t=e.selection.getNode(),a=e.dom.getParent(t,"figure.image");return a?e.dom.select("img",a)[0]:t&&("IMG"!==t.nodeName||H(t))?null:t},be=(e,t)=>{var a;const i=e.dom,s=((t,a)=>{const i={};var s;return((e,t,a,i)=>{((e,t)=>{const a=b(e);for(let i=0,s=a.length;i{(t(e,s)?a:i)(e,s)}))})(t,((t,a)=>!e.schema.isValidChild(a,"figure")),(s=i,(e,t)=>{s[t]=e}),p),i})(e.schema.getTextBlockElements()),r=i.getParent(t.parentNode,(e=>{return t=s,a=e.nodeName,y(t,a)&&void 0!==t[a]&&null!==t[a];var t,a}),e.getBody());return r&&null!==(a=i.split(r,t))&&void 0!==a?a:t},ve=(e,t)=>{const a=((t,a)=>{const i=document.createElement("img");if(ue((t=>pe(e,t)),{...a,caption:!1},i),de(i,a.alt,a.isDecorative),a.caption){const e=W.create("figure",{class:"image"});return e.appendChild(i),e.appendChild(W.create("figcaption",{contentEditable:"true"},"Caption")),e.contentEditable="false",e}return i})(0,t);e.dom.setAttrib(a,"data-mce-id","__mcenew"),e.focus(),e.selection.setContent(a.outerHTML);const i=e.dom.select('*[data-mce-id="__mcenew"]')[0];if(e.dom.setAttrib(i,"data-mce-id",null),re(i)){const t=be(e,i);e.selection.select(t)}else e.selection.select(i)},ye=(e,t)=>{const a=he(e);if(a){const i={...ce((t=>pe(e,t)),a),...t},s=((e,t)=>{const a=t.src;return{...t,src:G(e,a)?a:""}})(e,i);i.src?((e,t)=>{const a=he(e);if(a)if(ue((t=>pe(e,t)),t,a),((e,t)=>{e.dom.setAttrib(t,"src",t.getAttribute("src"))})(e,a),re(a.parentNode)){const t=a.parentNode;be(e,t),e.selection.select(a.parentNode)}else e.selection.select(a),((e,t,a)=>{const i=()=>{a.onload=a.onerror=null,e.selection&&(e.selection.select(a),e.nodeChanged())};a.onload=()=>{t.width||t.height||!S(e)||e.dom.setAttribs(a,{width:String(a.clientWidth),height:String(a.clientHeight)}),i()},a.onerror=i})(e,t,a)})(e,s):((e,t)=>{if(t){const a=e.dom.is(t.parentNode,"figure.image")?t.parentNode:t;e.dom.remove(a),e.focus(),e.nodeChanged(),e.dom.isEmpty(e.getBody())&&(e.setContent(""),e.selection.setCursorLocation())}})(e,a)}else t.src&&ve(e,{src:"",alt:"",title:"",width:"",height:"",class:"",style:"",caption:!1,hspace:"",vspace:"",border:"",borderStyle:"",isDecorative:!1,...t})},fe=(we=(e,t)=>n(e)&&n(t)?fe(e,t):t,(...e)=>{if(0===e.length)throw new Error("Can't merge zero objects");const t={};for(let a=0;ar(e.value)?e.value:"",Ce=(e,t)=>{const a=[];return De.each(e,(e=>{const i=(e=>r(e.text)?e.text:r(e.title)?e.title:"")(e);if(void 0!==e.menu){const s=Ce(e.menu,t);a.push({text:i,items:s})}else{const s=t(e);a.push({text:i,value:s})}})),a},Ie=(e=_e)=>t=>t?h.from(t).map((t=>Ce(t,e))):h.none(),Ue=(e,t)=>((e,a)=>{for(let a=0;ay(e,"items"))(i=e[a])?Ue(i.items,t):i.value===t?h.some(i):h.none();if(s.isSome())return s}var i;return h.none()})(e),xe=Ie,Se=(e,t)=>e.bind((e=>Ue(e,t))),Ne=e=>{const t=xe((t=>e.convertURL(t.value||t.url||"","src"))),a=new Promise((a=>{((e,t)=>{const a=R(e);r(a)?fetch(a).then((e=>{e.ok&&e.json().then(t)})):g(a)?a(t):t(a)})(e,(e=>{a(t(e).map((e=>w([[{text:"None",value:""}],e]))))}))})),i=(A=E(e),Ie(_e)(A)),s=N(e),o=T(e),n=(e=>U(e.options.get("images_upload_url")))(e),l=(e=>d(e.options.get("images_upload_handler")))(e),c=(e=>{const t=he(e);return t?ce((t=>pe(e,t)),t):{src:"",alt:"",title:"",width:"",height:"",class:"",style:"",caption:!1,hspace:"",vspace:"",border:"",borderStyle:"",isDecorative:!1}})(e),m=L(e),u=j(e),p=S(e),b=M(e),v=k(e),y=z(e),f=h.some(O(e)).filter((e=>r(e)&&e.length>0));var A;return a.then((e=>({image:c,imageList:e,classList:i,hasAdvTab:s,hasUploadTab:o,hasUploadUrl:n,hasUploadHandler:l,hasDescription:m,hasImageTitle:u,hasDimensions:p,hasImageCaption:b,prependURL:f,hasAccessibilityOptions:v,automaticUploads:y})))},Te=e=>{const t=e.imageList.map((e=>({name:"images",type:"listbox",label:"Image list",items:e}))),a={name:"alt",type:"input",label:"Alternative description",enabled:!(e.hasAccessibilityOptions&&e.image.isDecorative)},i=e.classList.map((e=>({name:"classes",type:"listbox",label:"Class",items:e})));return w([[{name:"src",type:"urlinput",filetype:"image",label:"Source",picker_text:"Browse files"}],t.toArray(),e.hasAccessibilityOptions&&e.hasDescription?[{type:"label",label:"Accessibility",items:[{name:"isDecorative",type:"checkbox",label:"Image is decorative"}]}]:[],e.hasDescription?[a]:[],e.hasImageTitle?[{name:"title",type:"input",label:"Image title"}]:[],e.hasDimensions?[{name:"dimensions",type:"sizeinput"}]:[],[{...(s=e.classList.isSome()&&e.hasImageCaption,s?{type:"grid",columns:2}:{type:"panel"}),items:w([i.toArray(),e.hasImageCaption?[{type:"label",label:"Caption",items:[{type:"checkbox",name:"caption",label:"Show caption"}]}]:[]])}]]);var s},Oe=e=>({title:"General",name:"general",items:Te(e)}),Ee=Te,Le=e=>({src:{value:e.src,meta:{}},images:e.src,alt:e.alt,title:e.title,dimensions:{width:e.width,height:e.height},classes:e.class,caption:e.caption,style:e.style,vspace:e.vspace,border:e.border,hspace:e.hspace,borderstyle:e.borderStyle,fileinput:[],isDecorative:e.isDecorative}),je=(e,t)=>({src:e.src.value,alt:null!==e.alt&&0!==e.alt.length||!t?e.alt:null,title:e.title,width:e.dimensions.width,height:e.dimensions.height,class:e.classes,style:e.style,caption:e.caption,hspace:e.hspace,vspace:e.vspace,border:e.border,borderStyle:e.borderstyle,isDecorative:e.isDecorative}),Me=(e,t,a,i)=>{((e,t)=>{const a=t.getData();((e,t)=>/^(?:[a-zA-Z]+:)?\/\//.test(t)?h.none():e.prependURL.bind((e=>t.substring(0,e.length)!==e?h.some(e+t):h.none())))(e,a.src.value).each((e=>{t.setData({src:{value:e,meta:a.src.meta}})}))})(t,i),((e,t)=>{const a=t.getData(),i=a.src.meta;if(void 0!==i){const s=fe({},a);((e,t,a)=>{e.hasDescription&&r(a.alt)&&(t.alt=a.alt),e.hasAccessibilityOptions&&(t.isDecorative=a.isDecorative||t.isDecorative||!1),e.hasImageTitle&&r(a.title)&&(t.title=a.title),e.hasDimensions&&(r(a.width)&&(t.dimensions.width=a.width),r(a.height)&&(t.dimensions.height=a.height)),r(a.class)&&Se(e.classList,a.class).each((e=>{t.classes=e.value})),e.hasImageCaption&&m(a.caption)&&(t.caption=a.caption),e.hasAdvTab&&(r(a.style)&&(t.style=a.style),r(a.vspace)&&(t.vspace=a.vspace),r(a.border)&&(t.border=a.border),r(a.hspace)&&(t.hspace=a.hspace),r(a.borderstyle)&&(t.borderstyle=a.borderstyle))})(e,s,i),t.setData(s)}})(t,i),((e,t,a,i)=>{const s=i.getData(),r=s.src.value,o=s.src.meta||{};o.width||o.height||!t.hasDimensions||(U(r)?e.imageSize(r).then((e=>{a.open&&i.setData({dimensions:e})})).catch((e=>console.error(e))):i.setData({dimensions:{width:"",height:""}}))})(e,t,a,i),((e,t,a)=>{const i=a.getData(),s=Se(e.imageList,i.src.value);t.prevImage=s,a.setData({images:s.map((e=>e.value)).getOr("")})})(t,a,i)},Re=(e,t,a,i)=>{const s=i.getData();var r;i.block("Uploading image"),(r=s.fileinput,((e,t)=>0{i.unblock()}),(s=>{const r=URL.createObjectURL(s),o=()=>{i.unblock(),URL.revokeObjectURL(r)},n=s=>{i.setData({src:{value:s,meta:{}}}),i.showTab("general"),Me(e,t,a,i),i.focus("src")};var l;(l=s,new Promise(((e,t)=>{const a=new FileReader;a.onload=()=>{e(a.result)},a.onerror=()=>{var e;t(null===(e=a.error)||void 0===e?void 0:e.message)},a.readAsDataURL(l)}))).then((a=>{const l=e.createBlobCache(s,r,a);t.automaticUploads?e.uploadImage(l).then((e=>{n(e.url),o()})).catch((t=>{o(),e.alertErr(t,(()=>{i.focus("fileinput")}))})):(e.addToBlobCache(l),n(l.blobUri()),i.unblock())}))}))},ke=(e,t,a)=>(i,s)=>{"src"===s.name?Me(e,t,a,i):"images"===s.name?((e,t,a,i)=>{const s=i.getData(),r=Se(t.imageList,s.images);r.each((e=>{const t=""===s.alt||a.prevImage.map((e=>e.text===s.alt)).getOr(!1);t?""===e.value?i.setData({src:e,alt:a.prevAlt}):i.setData({src:e,alt:e.text}):i.setData({src:e})})),a.prevImage=r,Me(e,t,a,i)})(e,t,a,i):"alt"===s.name?a.prevAlt=i.getData().alt:"fileinput"===s.name?Re(e,t,a,i):"isDecorative"===s.name&&i.setEnabled("alt",!i.getData().isDecorative)},ze=e=>()=>{e.open=!1},Be=e=>e.hasAdvTab||e.hasUploadUrl||e.hasUploadHandler?{type:"tabpanel",tabs:w([[Oe(e)],e.hasAdvTab?[{title:"Advanced",name:"advanced",items:[{type:"grid",columns:2,items:[{type:"input",label:"Vertical space",name:"vspace",inputMode:"numeric"},{type:"input",label:"Horizontal space",name:"hspace",inputMode:"numeric"},{type:"input",label:"Border width",name:"border",inputMode:"numeric"},{type:"listbox",name:"borderstyle",label:"Border style",items:[{text:"Select...",value:""},{text:"Solid",value:"solid"},{text:"Dotted",value:"dotted"},{text:"Dashed",value:"dashed"},{text:"Double",value:"double"},{text:"Groove",value:"groove"},{text:"Ridge",value:"ridge"},{text:"Inset",value:"inset"},{text:"Outset",value:"outset"},{text:"None",value:"none"},{text:"Hidden",value:"hidden"}]}]}]}]:[],e.hasUploadTab&&(e.hasUploadUrl||e.hasUploadHandler)?[{title:"Upload",name:"upload",items:[{type:"dropzone",name:"fileinput"}]}]:[]])}:{type:"panel",items:Ee(e)},Pe=(e,t,a)=>i=>{const s=fe(Le(t.image),i.getData()),r={...s,style:le(a.normalizeCss,je(s,!1))};e.execCommand("mceUpdateImage",!1,je(r,t.hasAccessibilityOptions)),e.editorUpload.uploadImagesAuto(),i.close()},Fe=e=>t=>G(e,t)?(e=>new Promise((t=>{const a=document.createElement("img"),i=e=>{a.onload=a.onerror=null,a.parentNode&&a.parentNode.removeChild(a),t(e)};a.onload=()=>{const e={width:B(a.width,a.clientWidth),height:B(a.height,a.clientHeight)};i(Promise.resolve(e))},a.onerror=()=>{i(Promise.reject(`Failed to get image dimensions for: ${e}`))};const s=a.style;s.visibility="hidden",s.position="fixed",s.bottom=s.left="0px",s.width=s.height="auto",document.body.appendChild(a),a.src=e})))(e.documentBaseURI.toAbsolute(t)).then((e=>({width:String(e.width),height:String(e.height)}))):Promise.resolve({width:"",height:""}),He=e=>(t,a,i)=>{var s;return e.editorUpload.blobCache.create({blob:t,blobUri:a,name:null===(s=t.name)||void 0===s?void 0:s.replace(/\.[^\.]+$/,""),filename:t.name,base64:i.split(",")[1]})},Ge=e=>t=>{e.editorUpload.blobCache.add(t)},We=e=>(t,a)=>{e.windowManager.alert(t,a)},$e=e=>t=>pe(e,t),Ve=e=>t=>e.dom.parseStyle(t),Ke=e=>(t,a)=>e.dom.serializeStyle(t,a),Ze=e=>t=>Ae(e).upload([t],!1).then((e=>{var t;return 0===e.length?Promise.reject("Failed to upload image"):!1===e[0].status?Promise.reject(null===(t=e[0].error)||void 0===t?void 0:t.message):e[0]})),qe=e=>{const t={imageSize:Fe(e),addToBlobCache:Ge(e),createBlobCache:He(e),alertErr:We(e),normalizeCss:$e(e),parseStyle:Ve(e),serializeStyle:Ke(e),uploadImage:Ze(e)};return{open:()=>{Ne(e).then((a=>{const i=(e=>({prevImage:Se(e.imageList,e.image.src),prevAlt:e.image.alt,open:!0}))(a);return{title:"Insert/Edit Image",size:"normal",body:Be(a),buttons:[{type:"cancel",name:"cancel",text:"Cancel"},{type:"submit",name:"save",text:"Save",primary:!0}],initialData:Le(a.image),onSubmit:Pe(e,a,t),onChange:ke(t,a,i),onClose:ze(i)}})).then(e.windowManager.open)}}},Je=e=>{const t=e.attr("class");return d(t)&&/\bimage\b/.test(t)},Qe=e=>t=>{let a=t.length;const i=t=>{t.attr("contenteditable",e?"true":null)};for(;a--;){const s=t[a];Je(s)&&(s.attr("contenteditable",e?"false":null),De.each(s.getAll("figcaption"),i))}},Xe=e=>t=>{const a=()=>{t.setEnabled(e.selection.isEditable())};return e.on("NodeChange",a),a(),()=>{e.off("NodeChange",a)}};e.add("image",(e=>{(e=>{const t=e.options.register;t("image_dimensions",{processor:"boolean",default:!0}),t("image_advtab",{processor:"boolean",default:!1}),t("image_uploadtab",{processor:"boolean",default:!0}),t("image_prepend_url",{processor:"string",default:""}),t("image_class_list",{processor:"object[]"}),t("image_description",{processor:"boolean",default:!0}),t("image_title",{processor:"boolean",default:!1}),t("image_caption",{processor:"boolean",default:!1}),t("image_list",{processor:e=>{const t=!1===e||r(e)||((e,t)=>{if(l(e)){for(let a=0,i=e.length;a{e.on("PreInit",(()=>{e.parser.addNodeFilter("figure",Qe(!0)),e.serializer.addNodeFilter("figure",Qe(!1))}))})(e),(e=>{e.ui.registry.addToggleButton("image",{icon:"image",tooltip:"Insert/edit image",onAction:qe(e).open,onSetup:t=>{t.setActive(d(he(e)));const a=e.selection.selectorChangedWithUnbind("img:not([data-mce-object]):not([data-mce-placeholder]),figure.image",t.setActive).unbind,i=Xe(e)(t);return()=>{a(),i()}}}),e.ui.registry.addMenuItem("image",{icon:"image",text:"Image...",onAction:qe(e).open,onSetup:Xe(e)}),e.ui.registry.addContextMenu("image",{update:t=>e.selection.isEditable()&&(re(t)||"IMG"===t.nodeName&&!H(t))?["image"]:[]})})(e),(e=>{e.addCommand("mceImage",qe(e).open),e.addCommand("mceUpdateImage",((t,a)=>{e.undoManager.transact((()=>ye(e,a)))}))})(e)}))}(); \ No newline at end of file diff --git a/frontend/public/tinymce/plugins/importcss/plugin.min.js b/frontend/public/tinymce/plugins/importcss/plugin.min.js deleted file mode 100644 index c621e1a..0000000 --- a/frontend/public/tinymce/plugins/importcss/plugin.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/** - * TinyMCE version 7.4.1 (TBD) - */ -!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager");const t=e=>t=>(e=>{const t=typeof e;return null===e?"null":"object"===t&&Array.isArray(e)?"array":"object"===t&&(s=r=e,(o=String).prototype.isPrototypeOf(s)||(null===(n=r.constructor)||void 0===n?void 0:n.name)===o.name)?"string":t;var s,r,o,n})(t)===e,s=t("string"),r=t("object"),o=t("array"),n=("function",e=>"function"==typeof e);var c=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),i=tinymce.util.Tools.resolve("tinymce.EditorManager"),l=tinymce.util.Tools.resolve("tinymce.Env"),a=tinymce.util.Tools.resolve("tinymce.util.Tools");const p=e=>t=>t.options.get(e),u=p("importcss_merge_classes"),m=p("importcss_exclusive"),f=p("importcss_selector_converter"),y=p("importcss_selector_filter"),d=p("importcss_groups"),h=p("importcss_append"),g=p("importcss_file_filter"),_=p("skin"),v=p("skin_url"),b=Array.prototype.push,x=/^\.(?:ephox|tiny-pageembed|mce)(?:[.-]+\w+)+$/,T=e=>s(e)?t=>-1!==t.indexOf(e):e instanceof RegExp?t=>e.test(t):e,S=(e,t)=>{let s={};const r=/^(?:([a-z0-9\-_]+))?(\.[a-z0-9_\-\.]+)$/i.exec(t);if(!r)return;const o=r[1],n=r[2].substr(1).split(".").join(" "),c=a.makeMap("a,img");return r[1]?(s={title:t},e.schema.getTextBlockElements()[o]?s.block=o:e.schema.getBlockElements()[o]||c[o.toLowerCase()]?s.selector=o:s.inline=o):r[2]&&(s={inline:"span",title:t.substr(1),classes:n}),u(e)?s.classes=n:s.attributes={class:n},s},k=(e,t)=>null===t||m(e),M=e=>{e.on("init",(()=>{const t=(()=>{const e=[],t=[],s={};return{addItemToGroup:(e,r)=>{s[e]?s[e].push(r):(t.push(e),s[e]=[r])},addItem:t=>{e.push(t)},toFormats:()=>{return(r=t,n=e=>{const t=s[e];return 0===t.length?[]:[{title:e,items:t}]},(e=>{const t=[];for(let s=0,r=e.length;s{const s=e.length,r=new Array(s);for(let o=0;oa.map(e,(e=>a.extend({},e,{original:e,selectors:{},filter:T(e.filter)}))))(d(e)),u=(t,s)=>{if(((e,t,s,r)=>!(k(e,s)?t in r:t in s.selectors))(e,t,s,r)){((e,t,s,r)=>{k(e,s)?r[t]=!0:s.selectors[t]=!0})(e,t,s,r);const o=((e,t,s,r)=>{let o;const n=f(e);return o=r&&r.selector_converter?r.selector_converter:n||(()=>S(e,s)),o.call(t,s,r)})(e,e.plugins.importcss,t,s);if(o){const t=o.name||c.DOM.uniqueId();return e.formatter.register(t,o),{title:o.title,format:t}}}return null};a.each(((e,t,r)=>{const o=[],n={},c=(t,n)=>{let p,u=t.href;if(u=(e=>{const t=l.cacheSuffix;return s(e)&&(e=e.replace("?"+t,"").replace("&"+t,"")),e})(u),u&&(!r||r(u,n))&&!((e,t)=>{const s=_(e);if(s){const r=v(e),o=r?e.documentBaseURI.toAbsolute(r):i.baseURL+"/skins/ui/"+s,n=i.baseURL+"/skins/content/",c=e.editorManager.suffix;return t===o+"/content"+(e.inline?".inline":"")+`${c}.css`||-1!==t.indexOf(n)}return!1})(e,u)){a.each(t.imports,(e=>{c(e,!0)}));try{p=t.cssRules||t.rules}catch(e){}a.each(p,(e=>{e.styleSheet&&e.styleSheet?c(e.styleSheet,!0):e.selectorText&&a.each(e.selectorText.split(","),(e=>{o.push(a.trim(e))}))}))}};a.each(e.contentCSS,(e=>{n[e]=!0})),r||(r=(e,t)=>t||n[e]);try{a.each(t.styleSheets,(e=>{c(e)}))}catch(e){}return o})(e,e.getDoc(),T(g(e))),(e=>{if(!x.test(e)&&(!n||n(e))){const s=((e,t)=>a.grep(e,(e=>!e.filter||e.filter(t))))(p,e);if(s.length>0)a.each(s,(s=>{const r=u(e,s);r&&t.addItemToGroup(s.title,r)}));else{const s=u(e,null);s&&t.addItem(s)}}}));const m=t.toFormats();e.dispatch("addStyleModifications",{items:m,replace:!h(e)})}))};e.add("importcss",(e=>((e=>{const t=e.options.register,o=e=>s(e)||n(e)||r(e);t("importcss_merge_classes",{processor:"boolean",default:!0}),t("importcss_exclusive",{processor:"boolean",default:!0}),t("importcss_selector_converter",{processor:"function"}),t("importcss_selector_filter",{processor:o}),t("importcss_file_filter",{processor:o}),t("importcss_groups",{processor:"object[]"}),t("importcss_append",{processor:"boolean",default:!1})})(e),M(e),(e=>({convertSelectorToFormat:t=>S(e,t)}))(e))))}(); \ No newline at end of file diff --git a/frontend/public/tinymce/plugins/insertdatetime/plugin.min.js b/frontend/public/tinymce/plugins/insertdatetime/plugin.min.js deleted file mode 100644 index a64edef..0000000 --- a/frontend/public/tinymce/plugins/insertdatetime/plugin.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/** - * TinyMCE version 7.4.1 (TBD) - */ -!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager");const t=e=>t=>t.options.get(e),a=t("insertdatetime_dateformat"),n=t("insertdatetime_timeformat"),r=t("insertdatetime_formats"),s=t("insertdatetime_element"),i="Sun Mon Tue Wed Thu Fri Sat Sun".split(" "),o="Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sunday".split(" "),l="Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),m="January February March April May June July August September October November December".split(" "),c=(e,t)=>{if((e=""+e).length(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=t.replace("%D","%m/%d/%Y")).replace("%r","%I:%M:%S %p")).replace("%Y",""+a.getFullYear())).replace("%y",""+a.getYear())).replace("%m",c(a.getMonth()+1,2))).replace("%d",c(a.getDate(),2))).replace("%H",""+c(a.getHours(),2))).replace("%M",""+c(a.getMinutes(),2))).replace("%S",""+c(a.getSeconds(),2))).replace("%I",""+((a.getHours()+11)%12+1))).replace("%p",a.getHours()<12?"AM":"PM")).replace("%B",""+e.translate(m[a.getMonth()]))).replace("%b",""+e.translate(l[a.getMonth()]))).replace("%A",""+e.translate(o[a.getDay()]))).replace("%a",""+e.translate(i[a.getDay()]))).replace("%%","%"),u=(e,t)=>{if(s(e)&&e.selection.isEditable()){const a=d(e,t);let n;n=/%[HMSIp]/.test(t)?d(e,"%Y-%m-%dT%H:%M"):d(e,"%Y-%m-%d");const r=e.dom.getParent(e.selection.getStart(),"time");r?((e,t,a,n)=>{const r=e.dom.create("time",{datetime:a},n);e.dom.replace(r,t),e.selection.select(r,!0),e.selection.collapse(!1)})(e,r,n,a):e.insertContent('")}else e.insertContent(d(e,t))};var p=tinymce.util.Tools.resolve("tinymce.util.Tools");const g=e=>t=>{const a=()=>{t.setEnabled(e.selection.isEditable())};return e.on("NodeChange",a),a(),()=>{e.off("NodeChange",a)}};e.add("insertdatetime",(e=>{(e=>{const t=e.options.register;t("insertdatetime_dateformat",{processor:"string",default:e.translate("%Y-%m-%d")}),t("insertdatetime_timeformat",{processor:"string",default:e.translate("%H:%M:%S")}),t("insertdatetime_formats",{processor:"string[]",default:["%H:%M:%S","%Y-%m-%d","%I:%M:%S %p","%D"]}),t("insertdatetime_element",{processor:"boolean",default:!1})})(e),(e=>{e.addCommand("mceInsertDate",((t,n)=>{u(e,null!=n?n:a(e))})),e.addCommand("mceInsertTime",((t,a)=>{u(e,null!=a?a:n(e))}))})(e),(e=>{const t=r(e),a=(e=>{let t=e;return{get:()=>t,set:e=>{t=e}}})((e=>{const t=r(e);return t.length>0?t[0]:n(e)})(e)),s=t=>e.execCommand("mceInsertDate",!1,t);e.ui.registry.addSplitButton("insertdatetime",{icon:"insert-time",tooltip:"Insert date/time",select:e=>e===a.get(),fetch:a=>{a(p.map(t,(t=>({type:"choiceitem",text:d(e,t),value:t}))))},onAction:e=>{s(a.get())},onItemAction:(e,t)=>{a.set(t),s(t)},onSetup:g(e)});const i=e=>()=>{a.set(e),s(e)};e.ui.registry.addNestedMenuItem("insertdatetime",{icon:"insert-time",text:"Date/time",getSubmenuItems:()=>p.map(t,(t=>({type:"menuitem",text:d(e,t),onAction:i(t)}))),onSetup:g(e)})})(e)}))}(); \ No newline at end of file diff --git a/frontend/public/tinymce/plugins/link/plugin.min.js b/frontend/public/tinymce/plugins/link/plugin.min.js deleted file mode 100644 index 667de4c..0000000 --- a/frontend/public/tinymce/plugins/link/plugin.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/** - * TinyMCE version 7.4.1 (TBD) - */ -!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager");const t=e=>t=>(e=>{const t=typeof e;return null===e?"null":"object"===t&&Array.isArray(e)?"array":"object"===t&&(n=o=e,(r=String).prototype.isPrototypeOf(n)||(null===(l=o.constructor)||void 0===l?void 0:l.name)===r.name)?"string":t;var n,o,r,l})(t)===e,n=e=>t=>typeof t===e,o=t("string"),r=t("object"),l=t("array"),s=(null,e=>null===e);const a=n("boolean"),i=e=>!(e=>null==e)(e),c=n("function"),u=(e,t)=>{if(l(e)){for(let n=0,o=e.length;n{},d=(e,t)=>e===t;class m{constructor(e,t){this.tag=e,this.value=t}static some(e){return new m(!0,e)}static none(){return m.singletonNone}fold(e,t){return this.tag?t(this.value):e()}isSome(){return this.tag}isNone(){return!this.tag}map(e){return this.tag?m.some(e(this.value)):m.none()}bind(e){return this.tag?e(this.value):m.none()}exists(e){return this.tag&&e(this.value)}forall(e){return!this.tag||e(this.value)}filter(e){return!this.tag||e(this.value)?this:m.none()}getOr(e){return this.tag?this.value:e}or(e){return this.tag?this:e}getOrThunk(e){return this.tag?this.value:e()}orThunk(e){return this.tag?this:e()}getOrDie(e){if(this.tag)return this.value;throw new Error(null!=e?e:"Called getOrDie on None")}static from(e){return i(e)?m.some(e):m.none()}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(e){this.tag&&e(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}m.singletonNone=new m(!1);const h=Array.prototype.indexOf,p=Array.prototype.push,f=e=>{const t=[];for(let n=0,o=e.length;n{for(let n=0;ne.exists((e=>n(e,t))),b=e=>{const t=[],n=e=>{t.push(e)};for(let t=0;te?m.some(t):m.none(),y=e=>t=>t.options.get(e),_=y("link_assume_external_targets"),w=y("link_context_toolbar"),C=y("link_list"),O=y("link_default_target"),S=y("link_default_protocol"),N=y("link_target_list"),A=y("link_rel_list"),T=y("link_class_list"),E=y("link_title"),L=y("allow_unsafe_link_target"),R=y("link_quicklink"),P=Object.keys,M=Object.hasOwnProperty,D=(e,t)=>M.call(e,t);var B=tinymce.util.Tools.resolve("tinymce.util.URI"),I=tinymce.util.Tools.resolve("tinymce.dom.TreeWalker"),K=tinymce.util.Tools.resolve("tinymce.util.Tools");const j=e=>i(e)&&"a"===e.nodeName.toLowerCase(),U=e=>j(e)&&!!V(e),q=(e,t)=>{if(e.collapsed)return[];{const n=e.cloneContents(),o=n.firstChild,r=new I(o,n),l=[];let s=o;do{t(s)&&l.push(s)}while(s=r.next());return l}},F=e=>/^\w+:/i.test(e),V=e=>{var t,n;return null!==(n=null!==(t=e.getAttribute("data-mce-href"))&&void 0!==t?t:e.getAttribute("href"))&&void 0!==n?n:""},$=(e,t)=>{const n=["noopener"],o=e?e.split(/\s+/):[],r=e=>e.filter((e=>-1===K.inArray(n,e))),l=t?(e=>(e=r(e)).length>0?e.concat(n):n)(o):r(o);return l.length>0?(e=>K.trim(e.sort().join(" ")))(l):""},z=(e,t)=>(t=t||J(e.selection.getRng())[0]||e.selection.getNode(),Y(t)?m.from(e.dom.select("a[href]",t)[0]):m.from(e.dom.getParent(t,"a[href]"))),G=(e,t)=>z(e,t).isSome(),H=(e,t)=>t.fold((()=>e.getContent({format:"text"})),(e=>e.innerText||e.textContent||"")).replace(/\uFEFF/g,""),J=e=>q(e,U),W=e=>K.grep(e,U),Q=e=>W(e).length>0,X=e=>{const t=e.schema.getTextInlineElements();if(z(e).exists((e=>e.hasAttribute("data-mce-block"))))return!1;const n=e.selection.getRng();return!!n.collapsed||0===q(n,(e=>1===e.nodeType&&!j(e)&&!D(t,e.nodeName.toLowerCase()))).length},Y=e=>i(e)&&"FIGURE"===e.nodeName&&/\bimage\b/i.test(e.className),Z=(e,t,n)=>{const o=e.selection.getNode(),r=z(e,o),l=((e,t)=>{const n={...t};if(0===A(e).length&&!L(e)){const e=$(n.rel,"_blank"===n.target);n.rel=e||null}return m.from(n.target).isNone()&&!1===N(e)&&(n.target=O(e)),n.href=((e,t)=>"http"!==t&&"https"!==t||F(e)?e:t+"://"+e)(n.href,_(e)),n})(e,(e=>{return t=["title","rel","class","target"],n=(t,n)=>(e[n].each((e=>{t[n]=e.length>0?e:null})),t),o={href:e.href},((e,t)=>{for(let n=0,o=e.length;n{o=n(o,e)})),o;var t,n,o})(n));e.undoManager.transact((()=>{n.href===t.href&&t.attach(),r.fold((()=>{((e,t,n,o)=>{const r=e.dom;Y(t)?re(r,t,o):n.fold((()=>{e.execCommand("mceInsertLink",!1,o)}),(t=>{e.insertContent(r.createHTML("a",o,r.encode(t)))}))})(e,o,n.text,l)}),(t=>{e.focus(),((e,t,n,o)=>{n.each((e=>{D(t,"innerText")?t.innerText=e:t.textContent=e})),e.dom.setAttribs(t,o),e.selection.select(t)})(e,t,n.text,l)}))}))},ee=e=>{const{class:t,href:n,rel:o,target:r,text:l,title:a}=e;return((e,t)=>{const n={};var o;return((e,t,n,o)=>{((e,t)=>{const n=P(e);for(let o=0,r=n.length;o{(t(e,r)?n:o)(e,r)}))})(e,((e,t)=>!1===s(e)),(o=n,(e,t)=>{o[t]=e}),g),n})({class:t.getOrNull(),href:n,rel:o.getOrNull(),target:r.getOrNull(),text:l.getOrNull(),title:a.getOrNull()})},te=(e,t,n)=>{const o=((e,t)=>{const n=e.options.get,o={allow_html_data_urls:n("allow_html_data_urls"),allow_script_urls:n("allow_script_urls"),allow_svg_data_urls:n("allow_svg_data_urls")},r=t.href;return{...t,href:B.isDomSafe(r,"a",o)?r:""}})(e,n);e.hasPlugin("rtc",!0)?e.execCommand("createlink",!1,ee(o)):Z(e,t,o)},ne=e=>{e.hasPlugin("rtc",!0)?e.execCommand("unlink"):(e=>{e.undoManager.transact((()=>{const t=e.selection.getNode();Y(t)?oe(e,t):(e=>{const t=e.dom,n=e.selection,o=n.getBookmark(),r=n.getRng().cloneRange(),l=t.getParent(r.startContainer,"a[href]",e.getBody()),s=t.getParent(r.endContainer,"a[href]",e.getBody());l&&r.setStartBefore(l),s&&r.setEndAfter(s),n.setRng(r),e.execCommand("unlink"),n.moveToBookmark(o)})(e),e.focus()}))})(e)},oe=(e,t)=>{var n;const o=e.dom.select("img",t)[0];if(o){const r=e.dom.getParents(o,"a[href]",t)[0];r&&(null===(n=r.parentNode)||void 0===n||n.insertBefore(o,r),e.dom.remove(r))}},re=(e,t,n)=>{var o;const r=e.select("img",t)[0];if(r){const t=e.create("a",n);null===(o=r.parentNode)||void 0===o||o.insertBefore(t,r),t.appendChild(r)}},le=e=>o(e.value)?e.value:"",se=(e,t)=>{const n=[];return K.each(e,(e=>{const r=(e=>o(e.text)?e.text:o(e.title)?e.title:"")(e);if(void 0!==e.menu){const o=se(e.menu,t);n.push({text:r,items:o})}else{const o=t(e);n.push({text:r,value:o})}})),n},ae=(e=le)=>t=>m.from(t).map((t=>se(t,e))),ie=e=>ae(le)(e),ce=ae,ue=(e,t)=>n=>({name:e,type:"listbox",label:t,items:n}),ge=le,de=(e,t)=>k(t,(t=>(e=>{return D(t=e,n="items")&&void 0!==t[n]&&null!==t[n];var t,n})(t)?de(e,t.items):x(t.value===e,t))),me=(e,t)=>{const n={text:e.text,title:e.title},o=(e,o)=>{const r=(l=t,s=o,"link"===s?l.link:"anchor"===s?l.anchor:m.none()).getOr([]);var l,s;return((e,t,n,o)=>{const r=o[t],l=e.length>0;return void 0!==r?de(r,n).map((t=>({url:{value:t.value,meta:{text:l?e:t.text,attach:g}},text:l?e:t.text}))):m.none()})(n.text,o,r,e)};return{onChange:(e,t)=>{const r=t.name;return"url"===r?(e=>{const t=(o=e.url,x(n.text.length<=0,m.from(null===(r=o.meta)||void 0===r?void 0:r.text).getOr(o.value)));var o,r;const l=(e=>{var t;return x(n.title.length<=0,m.from(null===(t=e.meta)||void 0===t?void 0:t.title).getOr(""))})(e.url);return t.isSome()||l.isSome()?m.some({...t.map((e=>({text:e}))).getOr({}),...l.map((e=>({title:e}))).getOr({})}):m.none()})(e()):((e,t)=>h.call(e,t))(["anchor","link"],r)>-1?o(e(),r):"text"===r||"title"===r?(n[r]=e()[r],m.none()):m.none()}}};var he=tinymce.util.Tools.resolve("tinymce.util.Delay");const pe=e=>{const t=e.href;return t.indexOf("@")>0&&-1===t.indexOf("/")&&-1===t.indexOf("mailto:")?m.some({message:"The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?",preprocess:e=>({...e,href:"mailto:"+t})}):m.none()},fe=(e,t)=>n=>{const o=n.href;return 1===e&&!F(o)||0===e&&/^\s*www(\.|\d\.)/i.test(o)?m.some({message:`The URL you entered seems to be an external link. Do you want to add the required ${t}:// prefix?`,preprocess:e=>({...e,href:t+"://"+o})}):m.none()},ke=e=>{const t=e.dom.select("a:not([href])"),n=f(((e,t)=>{const n=e.length,o=new Array(n);for(let r=0;r{const t=e.name||e.id;return t?[{text:t,value:"#"+t}]:[]})));return n.length>0?m.some([{text:"None",value:""}].concat(n)):m.none()},ve=e=>{const t=T(e);return t.length>0?ie(t):m.none()},be=e=>{try{return m.some(JSON.parse(e))}catch(e){return m.none()}},xe=(e,t)=>{const n=A(e);if(n.length>0){const o=v(t,"_blank"),r=e=>$(ge(e),o);return(!1===L(e)?ce(r):ie)(n)}return m.none()},ye=[{text:"Current window",value:""},{text:"New window",value:"_blank"}],_e=e=>{const t=N(e);return l(t)?ie(t).orThunk((()=>m.some(ye))):!1===t?m.none():m.some(ye)},we=(e,t,n)=>{const o=e.getAttrib(t,n);return null!==o&&o.length>0?m.some(o):m.none()},Ce=(e,t)=>(e=>{const t=t=>e.convertURL(t.value||t.url||"","href"),n=C(e);return new Promise((e=>{o(n)?fetch(n).then((e=>e.ok?e.text().then(be):Promise.reject())).then(e,(()=>e(m.none()))):c(n)?n((t=>e(m.some(t)))):e(m.from(n))})).then((e=>e.bind(ce(t)).map((e=>e.length>0?[{text:"None",value:""}].concat(e):e))))})(e).then((n=>{const o=((e,t)=>{const n=e.dom,o=X(e)?m.some(H(e.selection,t)):m.none(),r=t.bind((e=>m.from(n.getAttrib(e,"href")))),l=t.bind((e=>m.from(n.getAttrib(e,"target")))),s=t.bind((e=>we(n,e,"rel"))),a=t.bind((e=>we(n,e,"class")));return{url:r,text:o,title:t.bind((e=>we(n,e,"title"))),target:l,rel:s,linkClass:a}})(e,t);return{anchor:o,catalogs:{targets:_e(e),rels:xe(e,o.target),classes:ve(e),anchor:ke(e),link:n},optNode:t,flags:{titleEnabled:E(e)}}})),Oe=e=>{const t=(e=>{const t=z(e);return Ce(e,t)})(e);t.then((t=>{const n=((e,t)=>n=>{const o=n.getData();if(!o.url.value)return ne(e),void n.close();const r=e=>m.from(o[e]).filter((n=>!v(t.anchor[e],n))),l={href:o.url.value,text:r("text"),target:r("target"),rel:r("rel"),class:r("linkClass"),title:r("title")},s={href:o.url.value,attach:void 0!==o.url.meta&&o.url.meta.attach?o.url.meta.attach:g};((e,t)=>k([pe,fe(_(e),S(e))],(e=>e(t))).fold((()=>Promise.resolve(t)),(n=>new Promise((o=>{((e,t,n)=>{const o=e.selection.getRng();he.setEditorTimeout(e,(()=>{e.windowManager.confirm(t,(t=>{e.selection.setRng(o),n(t)}))}))})(e,n.message,(e=>{o(e?n.preprocess(t):t)}))})))))(e,l).then((t=>{te(e,s,t)})),n.close()})(e,t);return((e,t,n)=>{const o=e.anchor.text.map((()=>({name:"text",type:"input",label:"Text to display"}))).toArray(),r=e.flags.titleEnabled?[{name:"title",type:"input",label:"Title"}]:[],l=((e,t)=>{const n=e.anchor,o=n.url.getOr("");return{url:{value:o,meta:{original:{value:o}}},text:n.text.getOr(""),title:n.title.getOr(""),anchor:o,link:o,rel:n.rel.getOr(""),target:n.target.or(t).getOr(""),linkClass:n.linkClass.getOr("")}})(e,m.from(O(n))),s=e.catalogs,a=me(l,s);return{title:"Insert/Edit Link",size:"normal",body:{type:"panel",items:f([[{name:"url",type:"urlinput",filetype:"file",label:"URL",picker_text:"Browse links"}],o,r,b([s.anchor.map(ue("anchor","Anchors")),s.rels.map(ue("rel","Rel")),s.targets.map(ue("target","Open link in...")),s.link.map(ue("link","Link list")),s.classes.map(ue("linkClass","Class"))])])},buttons:[{type:"cancel",name:"cancel",text:"Cancel"},{type:"submit",name:"save",text:"Save",primary:!0}],initialData:l,onChange:(e,{name:t})=>{a.onChange(e.getData,{name:t}).each((t=>{e.setData(t)}))},onSubmit:t}})(t,n,e)})).then((t=>{e.windowManager.open(t)}))};var Se=tinymce.util.Tools.resolve("tinymce.util.VK");const Ne=(e,t)=>{if(t){const o=V(t);if(/^#/.test(o)){const t=e.dom.select(`${o},[name="${n=o,"#",((e,t)=>((e,t,n)=>""===t||e.length>=t.length&&e.substr(0,0+t.length)===t)(e,t))(n,"#")?((e,t)=>e.substring(1))(n):n}"]`);t.length&&e.selection.scrollIntoView(t[0],!0)}else(e=>{const t=document.createElement("a");t.target="_blank",t.href=e,t.rel="noreferrer noopener";const n=new MouseEvent("click",{bubbles:!0,cancelable:!0,view:window});document.dispatchEvent(n),((e,t)=>{document.body.appendChild(e),e.dispatchEvent(t),document.body.removeChild(e)})(t,n)})(t.href)}var n},Ae=(e,t)=>{const n=W(e.dom.getParents(t));return x(1===n.length,n[0])},Te=e=>e.selection.isCollapsed()||(e=>{const t=e.selection.getRng(),n=t.startContainer;return U(n)&&t.startContainer===t.endContainer&&1===e.dom.select("img",n).length})(e)?Ae(e,e.selection.getStart()):(e=>{const t=J(e.selection.getRng());return x(t.length>0,t[0]).or(Ae(e,e.selection.getNode()))})(e),Ee=e=>()=>{e.execCommand("mceLink",!1,{dialog:!0})},Le=(e,t)=>(e.on("NodeChange",t),()=>e.off("NodeChange",t)),Re=e=>t=>{const n=()=>{t.setActive(!e.mode.isReadOnly()&&G(e,e.selection.getNode())),t.setEnabled(e.selection.isEditable())};return n(),Le(e,n)},Pe=e=>t=>{const n=()=>{t.setEnabled(e.selection.isEditable())};return n(),Le(e,n)},Me=e=>t=>{const n=e.dom.getParents(e.selection.getStart()),o=n=>{t.setEnabled((t=>{return Q(t)||(n=e.selection.getRng(),J(n).length>0);var n})(n)&&e.selection.isEditable())};return o(n),Le(e,(e=>o(e.parents)))},De=e=>{const t=(e=>{const t=(()=>{const e=(e=>{const t=(e=>{let t=e;return{get:()=>t,set:e=>{t=e}}})(m.none()),n=()=>t.get().each(e);return{clear:()=>{n(),t.set(m.none())},isSet:()=>t.get().isSome(),get:()=>t.get(),set:e=>{n(),t.set(m.some(e))}}})(g);return{...e,on:t=>e.get().each(t)}})(),n=()=>t.get().or(Te(e));return e.on("contextmenu",(n=>{Ae(e,n.target).each(t.set)})),e.on("SelectionChange",(()=>{t.isSet()||Te(e).each(t.set)})),e.on("click",(n=>{t.clear();const o=W(e.dom.getParents(n.target));1===o.length&&Se.metaKeyPressed(n)&&(n.preventDefault(),Ne(e,o[0]))})),e.on("keydown",(o=>{t.clear(),!o.isDefaultPrevented()&&13===o.keyCode&&(e=>!0===e.altKey&&!1===e.shiftKey&&!1===e.ctrlKey&&!1===e.metaKey)(o)&&n().each((t=>{o.preventDefault(),Ne(e,t)}))})),{gotoSelectedLink:()=>n().each((t=>Ne(e,t)))}})(e);((e,t)=>{e.ui.registry.addToggleButton("link",{icon:"link",tooltip:"Insert/edit link",shortcut:"Meta+K",onAction:Ee(e),onSetup:Re(e)}),e.ui.registry.addButton("openlink",{icon:"new-tab",tooltip:"Open link",onAction:t.gotoSelectedLink,onSetup:Me(e)}),e.ui.registry.addButton("unlink",{icon:"unlink",tooltip:"Remove link",onAction:()=>ne(e),onSetup:Me(e)})})(e,t),((e,t)=>{e.ui.registry.addMenuItem("openlink",{text:"Open link",icon:"new-tab",onAction:t.gotoSelectedLink,onSetup:Me(e)}),e.ui.registry.addMenuItem("link",{icon:"link",text:"Link...",shortcut:"Meta+K",onAction:Ee(e),onSetup:Pe(e)}),e.ui.registry.addMenuItem("unlink",{icon:"unlink",text:"Remove link",onAction:()=>ne(e),onSetup:Me(e)})})(e,t),(e=>{e.ui.registry.addContextMenu("link",{update:t=>e.dom.isEditable(t)?Q(e.dom.getParents(t,"a"))?"link unlink openlink":"link":""})})(e),((e,t)=>{const n=t=>{const n=e.selection.getNode();return t.setEnabled(G(e,n)&&e.selection.isEditable()),g};e.ui.registry.addContextForm("quicklink",{launch:{type:"contextformtogglebutton",icon:"link",tooltip:"Link",onSetup:Re(e)},label:"Link",predicate:t=>w(e)&&G(e,t),initValue:()=>z(e).fold((()=>""),V),commands:[{type:"contextformtogglebutton",icon:"link",tooltip:"Link",primary:!0,onSetup:t=>{const n=e.selection.getNode();return t.setActive(G(e,n)),Re(e)(t)},onAction:t=>{const n=t.getValue(),o=(t=>{const n=z(e),o=X(e);if(n.isNone()&&o){const o=H(e.selection,n);return x(0===o.length,t)}return m.none()})(n);te(e,{href:n,attach:g},{href:n,text:o,title:m.none(),rel:m.none(),target:m.from(O(e)),class:m.none()}),(e=>{e.selection.collapse(!1)})(e),t.hide()}},{type:"contextformbutton",icon:"unlink",tooltip:"Remove link",onSetup:n,onAction:t=>{ne(e),t.hide()}},{type:"contextformbutton",icon:"new-tab",tooltip:"Open link",onSetup:n,onAction:e=>{t.gotoSelectedLink(),e.hide()}}]})})(e,t)};e.add("link",(e=>{(e=>{const t=e.options.register;t("link_assume_external_targets",{processor:e=>{const t=o(e)||a(e);return t?!0===e?{value:1,valid:t}:"http"===e||"https"===e?{value:e,valid:t}:{value:0,valid:t}:{valid:!1,message:"Must be a string or a boolean."}},default:!1}),t("link_context_toolbar",{processor:"boolean",default:!1}),t("link_list",{processor:e=>o(e)||c(e)||u(e,r)}),t("link_default_target",{processor:"string"}),t("link_default_protocol",{processor:"string",default:"https"}),t("link_target_list",{processor:e=>a(e)||u(e,r),default:!0}),t("link_rel_list",{processor:"object[]",default:[]}),t("link_class_list",{processor:"object[]",default:[]}),t("link_title",{processor:"boolean",default:!0}),t("allow_unsafe_link_target",{processor:"boolean",default:!1}),t("link_quicklink",{processor:"boolean",default:!1})})(e),(e=>{e.addCommand("mceLink",((t,n)=>{!0!==(null==n?void 0:n.dialog)&&R(e)?e.dispatch("contexttoolbar-show",{toolbarKey:"quicklink"}):Oe(e)}))})(e),De(e),(e=>{e.addShortcut("Meta+K","",(()=>{e.execCommand("mceLink")}))})(e)}))}(); \ No newline at end of file diff --git a/frontend/public/tinymce/plugins/lists/plugin.min.js b/frontend/public/tinymce/plugins/lists/plugin.min.js deleted file mode 100644 index da7fa2d..0000000 --- a/frontend/public/tinymce/plugins/lists/plugin.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/** - * TinyMCE version 7.4.1 (TBD) - */ -!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager");const t=e=>t=>(e=>{const t=typeof e;return null===e?"null":"object"===t&&Array.isArray(e)?"array":"object"===t&&(n=o=e,(r=String).prototype.isPrototypeOf(n)||(null===(s=o.constructor)||void 0===s?void 0:s.name)===r.name)?"string":t;var n,o,r,s})(t)===e,n=e=>t=>typeof t===e,o=t("string"),r=t("object"),s=t("array"),i=n("boolean"),l=e=>!(e=>null==e)(e),a=n("function"),d=n("number"),c=()=>{},m=e=>()=>e,u=(e,t)=>e===t,p=e=>t=>!e(t),g=m(!1);class h{constructor(e,t){this.tag=e,this.value=t}static some(e){return new h(!0,e)}static none(){return h.singletonNone}fold(e,t){return this.tag?t(this.value):e()}isSome(){return this.tag}isNone(){return!this.tag}map(e){return this.tag?h.some(e(this.value)):h.none()}bind(e){return this.tag?e(this.value):h.none()}exists(e){return this.tag&&e(this.value)}forall(e){return!this.tag||e(this.value)}filter(e){return!this.tag||e(this.value)?this:h.none()}getOr(e){return this.tag?this.value:e}or(e){return this.tag?this:e}getOrThunk(e){return this.tag?this.value:e()}orThunk(e){return this.tag?this:e()}getOrDie(e){if(this.tag)return this.value;throw new Error(null!=e?e:"Called getOrDie on None")}static from(e){return l(e)?h.some(e):h.none()}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(e){this.tag&&e(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}h.singletonNone=new h(!1);const f=Array.prototype.slice,y=Array.prototype.indexOf,v=Array.prototype.push,C=(e,t)=>{return n=e,o=t,y.call(n,o)>-1;var n,o},b=(e,t)=>{for(let n=0,o=e.length;n{const n=e.length,o=new Array(n);for(let r=0;r{for(let n=0,o=e.length;n{const n=[];for(let o=0,r=e.length;o(S(e,((e,o)=>{n=t(n,e,o)})),n),A=(e,t,n)=>{for(let o=0,r=e.length;oA(e,t,g),E=(e,t)=>(e=>{const t=[];for(let n=0,o=e.length;n{const t=f.call(e,0);return t.reverse(),t},k=(e,t)=>t>=0&&tk(e,0),D=e=>k(e,e.length-1),B=(e,t)=>{const n=[],o=a(t)?e=>b(n,(n=>t(n,e))):e=>C(n,e);for(let t=0,r=e.length;te.exists((e=>n(e,t))),P=(e,t,n)=>e.isSome()&&t.isSome()?h.some(n(e.getOrDie(),t.getOrDie())):h.none(),I=e=>{if(null==e)throw new Error("Node cannot be null or undefined");return{dom:e}},R=(e,t)=>{const n=(t||document).createElement("div");if(n.innerHTML=e,!n.hasChildNodes()||n.childNodes.length>1){const t="HTML does not have a single root node";throw console.error(t,e),new Error(t)}return I(n.childNodes[0])},U=(e,t)=>{const n=(t||document).createElement(e);return I(n)},$=I,_=(e,t)=>{const n=e.dom;if(1!==n.nodeType)return!1;{const e=n;if(void 0!==e.matches)return e.matches(t);if(void 0!==e.msMatchesSelector)return e.msMatchesSelector(t);if(void 0!==e.webkitMatchesSelector)return e.webkitMatchesSelector(t);if(void 0!==e.mozMatchesSelector)return e.mozMatchesSelector(t);throw new Error("Browser lacks native selectors")}},H=(e,t)=>e.dom===t.dom,F=_,V="undefined"!=typeof window?window:Function("return this;")(),j=(e,t)=>((e,t)=>{let n=null!=t?t:V;for(let t=0;t{const t=j("ownerDocument.defaultView",e);return r(e)&&((e=>((e,t)=>{const n=((e,t)=>j(e,t))(e,t);if(null==n)throw new Error(e+" not available on this browser");return n})("HTMLElement",e))(t).prototype.isPrototypeOf(e)||/^HTML\w*Element$/.test(K(e).constructor.name))},Q=e=>e.dom.nodeName.toLowerCase(),W=e=>e.dom.nodeType,q=e=>t=>W(t)===e,Z=e=>G(e)&&z(e.dom),G=q(1),J=q(3),X=q(11),Y=e=>t=>G(t)&&Q(t)===e,ee=e=>h.from(e.dom.parentNode).map($),te=e=>N(e.dom.childNodes,$),ne=(e,t)=>{const n=e.dom.childNodes;return h.from(n[t]).map($)},oe=e=>ne(e,0),re=e=>ne(e,e.dom.childNodes.length-1),se=e=>$(e.dom.host),ie=e=>{const t=J(e)?e.dom.parentNode:e.dom;if(null==t||null===t.ownerDocument)return!1;const n=t.ownerDocument;return(e=>{const t=(e=>$(e.dom.getRootNode()))(e);return X(n=t)&&l(n.dom.host)?h.some(t):h.none();var n})($(t)).fold((()=>n.body.contains(t)),(o=ie,r=se,e=>o(r(e))));var o,r};var le=(e,t,n,o,r)=>e(n,o)?h.some(n):a(r)&&r(n)?h.none():t(n,o,r);const ae=(e,t,n)=>{let o=e.dom;const r=a(n)?n:g;for(;o.parentNode;){o=o.parentNode;const e=$(o);if(t(e))return h.some(e);if(r(e))break}return h.none()},de=(e,t,n)=>le(((e,t)=>t(e)),ae,e,t,n),ce=(e,t,n)=>ae(e,(e=>_(e,t)),n),me=(e,t)=>{ee(e).each((n=>{n.dom.insertBefore(t.dom,e.dom)}))},ue=(e,t)=>{e.dom.appendChild(t.dom)},pe=(e,t)=>{S(t,(t=>{ue(e,t)}))},ge=e=>{e.dom.textContent="",S(te(e),(e=>{he(e)}))},he=e=>{const t=e.dom;null!==t.parentNode&&t.parentNode.removeChild(t)};var fe=tinymce.util.Tools.resolve("tinymce.dom.RangeUtils"),ye=tinymce.util.Tools.resolve("tinymce.dom.TreeWalker"),ve=tinymce.util.Tools.resolve("tinymce.util.VK");const Ce=e=>N(e,$),be=Object.keys,Ne=(e,t)=>{const n=be(e);for(let o=0,r=n.length;o{const n=e.dom;Ne(t,((e,t)=>{((e,t,n)=>{if(!(o(n)||i(n)||d(n)))throw console.error("Invalid call to Attribute.set. Key ",t,":: Value ",n,":: Element ",e),new Error("Attribute value was not simple");e.setAttribute(t,n+"")})(n,t,e)}))},Le=e=>O(e.dom.attributes,((e,t)=>(e[t.name]=t.value,e)),{}),Oe=e=>((e,t)=>$(e.dom.cloneNode(!0)))(e),Ae=(e,t)=>{const n=((e,t)=>{const n=U(t),o=Le(e);return Se(n,o),n})(e,t);var o,r;r=n,(e=>h.from(e.dom.nextSibling).map($))(o=e).fold((()=>{ee(o).each((e=>{ue(e,r)}))}),(e=>{me(e,r)}));const s=te(e);return pe(n,s),he(e),n};var Te=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),Ee=tinymce.util.Tools.resolve("tinymce.util.Tools");const xe=e=>t=>l(t)&&t.nodeName.toLowerCase()===e,ke=e=>t=>l(t)&&e.test(t.nodeName),we=e=>l(e)&&3===e.nodeType,De=e=>l(e)&&1===e.nodeType,Be=ke(/^(OL|UL|DL)$/),Me=ke(/^(OL|UL)$/),Pe=xe("ol"),Ie=ke(/^(LI|DT|DD)$/),Re=ke(/^(DT|DD)$/),Ue=ke(/^(TH|TD)$/),$e=xe("br"),_e=(e,t)=>l(t)&&t.nodeName in e.schema.getTextBlockElements(),He=(e,t)=>l(e)&&e.nodeName in t,Fe=(e,t)=>l(t)&&t.nodeName in e.schema.getVoidElements(),Ve=(e,t,n)=>{const o=e.isEmpty(t);return!(n&&e.select("span[data-mce-type=bookmark]",t).length>0)&&o},je=(e,t)=>e.isChildOf(t,e.getRoot()),Ke=e=>t=>t.options.get(e),ze=Ke("lists_indent_on_tab"),Qe=Ke("forced_root_block"),We=Ke("forced_root_block_attrs"),qe=(e,t,n={})=>{const o=e.dom,r=e.schema.getBlockElements(),s=o.createFragment(),i=Qe(e),l=We(e);let a,d,c=!1;for(d=o.create(i,{...l,...n.style?{style:n.style}:{}}),He(t.firstChild,r)||s.appendChild(d);a=t.firstChild;){const e=a.nodeName;c||"SPAN"===e&&"bookmark"===a.getAttribute("data-mce-type")||(c=!0),He(a,r)?(s.appendChild(a),d=null):(d||(d=o.create(i,l),s.appendChild(d)),d.appendChild(a))}return!c&&d&&d.appendChild(o.create("br",{"data-mce-bogus":"1"})),s},Ze=Te.DOM,Ge=Y("dd"),Je=Y("dt"),Xe=(e,t)=>{var n;Ge(t)?Ae(t,"dt"):Je(t)&&(n=t,h.from(n.dom.parentElement).map($)).each((n=>((e,t,n)=>{const o=Ze.select('span[data-mce-type="bookmark"]',t),r=qe(e,n),s=Ze.createRng();s.setStartAfter(n),s.setEndAfter(t);const i=s.extractContents();for(let t=i.firstChild;t;t=t.firstChild)if("LI"===t.nodeName&&e.dom.isEmpty(t)){Ze.remove(t);break}e.dom.isEmpty(i)||Ze.insertAfter(i,t),Ze.insertAfter(r,t);const l=n.parentElement;l&&Ve(e.dom,l)&&(e=>{const t=e.parentNode;t&&Ee.each(o,(e=>{t.insertBefore(e,n.parentNode)})),Ze.remove(e)})(l),Ze.remove(n),Ve(e.dom,t)&&Ze.remove(t)})(e,n.dom,t.dom)))},Ye=e=>{Je(e)&&Ae(e,"dd")},et=(e,t)=>{if(we(e))return{container:e,offset:t};const n=fe.getNode(e,t);return we(n)?{container:n,offset:t>=e.childNodes.length?n.data.length:0}:n.previousSibling&&we(n.previousSibling)?{container:n.previousSibling,offset:n.previousSibling.data.length}:n.nextSibling&&we(n.nextSibling)?{container:n.nextSibling,offset:0}:{container:e,offset:t}},tt=e=>{const t=e.cloneRange(),n=et(e.startContainer,e.startOffset);t.setStart(n.container,n.offset);const o=et(e.endContainer,e.endOffset);return t.setEnd(o.container,o.offset),t},nt=["OL","UL","DL"],ot=nt.join(","),rt=(e,t)=>{const n=t||e.selection.getStart(!0);return e.dom.getParent(n,ot,lt(e,n))},st=e=>{const t=e.selection.getSelectedBlocks();return L(((e,t)=>{const n=Ee.map(t,(t=>e.dom.getParent(t,"li,dd,dt",lt(e,t))||t));return B(n)})(e,t),Ie)},it=(e,t)=>{const n=e.dom.getParents(t,"TD,TH");return n.length>0?n[0]:e.getBody()},lt=(e,t)=>{const n=e.dom.getParents(t,e.dom.isBlock),o=T(n,(t=>{return(t=>t.nodeName.toLowerCase()!==Qe(e))(t)&&(n=e.schema,!Be(o=t)&&!Ie(o)&&b(nt,(e=>n.isValidChild(o.nodeName,e))));var n,o}));return o.getOr(e.getBody())},at=(e,t)=>{const n=e.dom.getParents(t,"ol,ul",lt(e,t));return D(n)},dt=(e,t)=>{const n=N(t,(t=>at(e,t).getOr(t)));return B(n)},ct=e=>/\btox\-/.test(e.className),mt=(e,t)=>A(e,Be,Ue).exists((e=>e.nodeName===t&&!ct(e))),ut=(e,t)=>null!==t&&!e.dom.isEditable(t),pt=(e,t)=>{const n=e.dom.getParent(t,"ol,ul,dl");return ut(e,n)||!e.selection.isEditable()},gt=(e,t)=>{const n=e.selection.getNode();return t({parents:e.dom.getParents(n),element:n}),e.on("NodeChange",t),()=>e.off("NodeChange",t)},ht=(e,t)=>{const n=(t||document).createDocumentFragment();return S(e,(e=>{n.appendChild(e.dom)})),$(n)},ft=(e,t,n)=>e.dispatch("ListMutation",{action:t,element:n}),yt=(vt=/^\s+|\s+$/g,e=>e.replace(vt,""));var vt;const Ct=(e,t,n)=>{((e,t,n)=>{if(!o(n))throw console.error("Invalid call to CSS.set. Property ",t,":: Value ",n,":: Element ",e),new Error("CSS value must be a string: "+n);(e=>void 0!==e.style&&a(e.style.getPropertyValue))(e)&&e.style.setProperty(t,n)})(e.dom,t,n)},bt=e=>F(e,"OL,UL"),Nt=e=>oe(e).exists(bt),St=e=>"listAttributes"in e,Lt=e=>"isComment"in e,Ot=e=>e.depth>0,At=e=>e.isSelected,Tt=e=>{const t=te(e),n=re(e).exists(bt)?t.slice(0,-1):t;return N(n,Oe)},Et=(e,t)=>{ue(e.item,t.list)},xt=(e,t)=>{const n={list:U(t,e),item:U("li",e)};return ue(n.list,n.item),n},kt=(e,t,n)=>{const o=t.slice(0,n.depth);return D(o).each((t=>{if(St(n)){const o=((e,t,n)=>{const o=U("li",e);return Se(o,t),pe(o,n),o})(e,n.itemAttributes,n.content);((e,t)=>{ue(e.list,t),e.item=t})(t,o),((e,t)=>{Q(e.list)!==t.listType&&(e.list=Ae(e.list,t.listType)),Se(e.list,t.listAttributes)})(t,n)}else if((e=>"isFragment"in e)(n))pe(t.item,n.content);else{const e=R(`\x3c!--${n.content}--\x3e`);ue(t.list,e)}})),o},wt=(e,t)=>{let n=h.none();const o=O(t,((t,o,r)=>Lt(o)?0===r?(n=h.some(o),t):kt(e,t,o):o.depth>t.length?((e,t,n)=>{const o=((e,t,n)=>{const o=[];for(let r=0;r{for(let t=1;t{for(let t=0;t{St(t)&&(Se(e.list,t.listAttributes),Se(e.item,t.itemAttributes)),pe(e.item,t.content)}))})(o,n),r=o,P(D(t),w(r),Et),t.concat(o)})(e,t,o):kt(e,t,o)),[]);return n.each((e=>{const t=R(`\x3c!--${e.content}--\x3e`);w(o).each((e=>{((e,t)=>{oe(e).fold((()=>{ue(e,t)}),(n=>{e.dom.insertBefore(t.dom,n.dom)}))})(e.list,t)}))})),w(o).map((e=>e.list))},Dt=e=>(S(e,((t,n)=>{((e,t)=>{const n=e[t].depth,o=e=>e.depth===n&&!e.dirty,r=e=>e.depthA(e.slice(t+1),o,r)))})(e,n).fold((()=>{t.dirty&&St(t)&&(e=>{e.listAttributes=((e,t)=>{const n={};var o;return((e,t,n,o)=>{Ne(e,((e,r)=>{(t(e,r)?n:o)(e,r)}))})(e,t,(o=n,(e,t)=>{o[t]=e}),c),n})(e.listAttributes,((e,t)=>"start"!==t))})(t)}),(e=>{return o=e,void(St(n=t)&&St(o)&&(n.listType=o.listType,n.listAttributes={...o.listAttributes}));var n,o}))})),e),Bt=(e,t,n,o)=>{var r,s;if(8===W(s=o)||"#comment"===Q(s))return[{depth:e+1,content:null!==(r=o.dom.nodeValue)&&void 0!==r?r:"",dirty:!1,isSelected:!1,isComment:!0}];t.each((e=>{H(e.start,o)&&n.set(!0)}));const i=((e,t,n)=>ee(e).filter(G).map((o=>({depth:t,dirty:!1,isSelected:n,content:Tt(e),itemAttributes:Le(e),listAttributes:Le(o),listType:Q(o),isInPreviousLi:!1}))))(o,e,n.get());t.each((e=>{H(e.end,o)&&n.set(!1)}));const l=re(o).filter(bt).map((o=>Pt(e,t,n,o))).getOr([]);return i.toArray().concat(l)},Mt=(e,t,n,o)=>oe(o).filter(bt).fold((()=>Bt(e,t,n,o)),(r=>{const s=O(te(o),((o,s,i)=>{if(0===i)return o;if(F(s,"LI"))return o.concat(Bt(e,t,n,s));{const t={isFragment:!0,depth:e,content:[s],isSelected:!1,dirty:!1,parentListType:Q(r)};return o.concat(t)}}),[]);return Pt(e,t,n,r).concat(s)})),Pt=(e,t,n,o)=>E(te(o),(o=>(bt(o)?Pt:Mt)(e+1,t,n,o))),It=(e,t,n)=>{const o=((e,t)=>{const n=(e=>{let t=!1;return{get:()=>t,set:e=>{t=e}}})();return N(e,(e=>({sourceList:e,entries:Pt(0,t,n,e)})))})(t,(e=>{const t=N(st(e),$);return P(T(t,p(Nt)),T(x(t),p(Nt)),((e,t)=>({start:e,end:t})))})(e));S(o,(t=>{((e,t)=>{S(L(e,At),(e=>((e,t)=>{switch(e){case"Indent":t.depth++;break;case"Outdent":t.depth--;break;case"Flatten":t.depth=0}t.dirty=!0})(t,e)))})(t.entries,n);const o=((e,t)=>E(((e,t)=>{if(0===e.length)return[];{let n=t(e[0]);const o=[];let r=[];for(let s=0,i=e.length;sw(t).exists(Ot)?((e,t)=>{const n=Dt(t);return wt(e.contentDocument,n).toArray()})(e,t):((e,t)=>{const n=Dt(t);return N(n,(t=>{const n=Lt(t)?ht([R(`\x3c!--${t.content}--\x3e`)]):ht(t.content),o=St(t)?t.itemAttributes:{};return $(qe(e,n.dom,o))}))})(e,t))))(e,t.entries);var r;S(o,(t=>{ft(e,"Indent"===n?"IndentList":"OutdentList",t.dom)})),r=t.sourceList,S(o,(e=>{me(r,e)})),he(t.sourceList)}))},Rt=(e,t)=>{const n=Ce((e=>{const t=(e=>{const t=at(e,e.selection.getStart()),n=L(e.selection.getSelectedBlocks(),Me);return t.toArray().concat(n)})(e),n=(e=>{const t=e.selection.getStart();return e.dom.getParents(t,"ol,ul",lt(e,t))})(e);return T(n,(e=>{return t=$(e),ee(t).exists((e=>Ie(e.dom)&&oe(e).exists((e=>!Be(e.dom)))&&re(e).exists((e=>!Be(e.dom)))));var t})).fold((()=>dt(e,t)),(e=>[e]))})(e)),o=Ce((e=>L(st(e),Re))(e));let r=!1;if(n.length||o.length){const s=e.selection.getBookmark();It(e,n,t),((e,t,n)=>{S(n,"Indent"===t?Ye:t=>Xe(e,t))})(e,t,o),e.selection.moveToBookmark(s),e.selection.setRng(tt(e.selection.getRng())),e.nodeChanged(),r=!0}return r},Ut=(e,t)=>!(e=>{const t=rt(e);return ut(e,t)||!e.selection.isEditable()})(e)&&Rt(e,t),$t=e=>Ut(e,"Indent"),_t=e=>Ut(e,"Outdent"),Ht=e=>Ut(e,"Flatten"),Ft=e=>"\ufeff"===e;var Vt=tinymce.util.Tools.resolve("tinymce.dom.BookmarkManager");const jt=Te.DOM,Kt=e=>{const t={},n=n=>{let o=e[n?"startContainer":"endContainer"],r=e[n?"startOffset":"endOffset"];if(De(o)){const e=jt.create("span",{"data-mce-type":"bookmark"});o.hasChildNodes()?(r=Math.min(r,o.childNodes.length-1),n?o.insertBefore(e,o.childNodes[r]):jt.insertAfter(e,o.childNodes[r])):o.appendChild(e),o=e,r=0}t[n?"startContainer":"endContainer"]=o,t[n?"startOffset":"endOffset"]=r};return n(!0),e.collapsed||n(),t},zt=e=>{const t=t=>{let n=e[t?"startContainer":"endContainer"],o=e[t?"startOffset":"endOffset"];if(n){if(De(n)&&n.parentNode){const e=n;o=(e=>{var t;let n=null===(t=e.parentNode)||void 0===t?void 0:t.firstChild,o=0;for(;n;){if(n===e)return o;De(n)&&"bookmark"===n.getAttribute("data-mce-type")||o++,n=n.nextSibling}return-1})(n),n=n.parentNode,jt.remove(e),!n.hasChildNodes()&&jt.isBlock(n)&&n.appendChild(jt.create("br"))}e[t?"startContainer":"endContainer"]=n,e[t?"startOffset":"endOffset"]=o}};t(!0),t();const n=jt.createRng();return n.setStart(e.startContainer,e.startOffset),e.endContainer&&n.setEnd(e.endContainer,e.endOffset),tt(n)},Qt=e=>{switch(e){case"UL":return"ToggleUlList";case"OL":return"ToggleOlList";case"DL":return"ToggleDLList"}},Wt=(e,t)=>{Ee.each(t,((t,n)=>{e.setAttribute(n,t)}))},qt=(e,t,n)=>{((e,t,n)=>{const o=n["list-style-type"]?n["list-style-type"]:null;e.setStyle(t,"list-style-type",o)})(e,t,n),((e,t,n)=>{Wt(t,n["list-attributes"]),Ee.each(e.select("li",t),(e=>{Wt(e,n["list-item-attributes"])}))})(e,t,n)},Zt=(e,t)=>l(t)&&!He(t,e.schema.getBlockElements()),Gt=(e,t,n,o)=>{let r=t[n?"startContainer":"endContainer"];const s=t[n?"startOffset":"endOffset"];De(r)&&(r=r.childNodes[Math.min(s,r.childNodes.length-1)]||r),!n&&$e(r.nextSibling)&&(r=r.nextSibling);const i=(t,n)=>{var r;const s=new ye(t,(t=>{for(;!e.dom.isBlock(t)&&t.parentNode&&o!==t;)t=t.parentNode;return t})(t)),i=n?"next":"prev";let l;for(;l=s[i]();)if(!Fe(e,l)&&!Ft(l.textContent)&&0!==(null===(r=l.textContent)||void 0===r?void 0:r.length))return h.some(l);return h.none()};if(n&&we(r))if(Ft(r.textContent))r=i(r,!1).getOr(r);else for(null!==r.parentNode&&Zt(e,r.parentNode)&&(r=r.parentNode);null!==r.previousSibling&&(Zt(e,r.previousSibling)||we(r.previousSibling));)r=r.previousSibling;if(!n&&we(r))if(Ft(r.textContent))r=i(r,!0).getOr(r);else for(null!==r.parentNode&&Zt(e,r.parentNode)&&(r=r.parentNode);null!==r.nextSibling&&(Zt(e,r.nextSibling)||we(r.nextSibling));)r=r.nextSibling;for(;r.parentNode!==o;){const t=r.parentNode;if(_e(e,r))return r;if(/^(TD|TH)$/.test(t.nodeName))return r;r=t}return r},Jt=(e,t,n)=>{const o=e.selection.getRng();let r="LI";const s=lt(e,((e,t)=>{const n=e.selection.getStart(!0),o=Gt(e,t,!0,e.getBody());return r=$(o),s=$(t.commonAncestorContainer),i=r,l=function(e,...t){return(...n)=>{const o=t.concat(n);return e.apply(null,o)}}(H,s),ae(i,l,void 0).isSome()?t.commonAncestorContainer:n;var r,s,i,l})(e,o)),i=e.dom;if("false"===i.getContentEditable(e.selection.getNode()))return;"DL"===(t=t.toUpperCase())&&(r="DT");const l=Kt(o),a=L(((e,t,n)=>{const o=[],r=e.dom,s=Gt(e,t,!0,n),i=Gt(e,t,!1,n);let l;const a=[];for(let e=s;e&&(a.push(e),e!==i);e=e.nextSibling);return Ee.each(a,(t=>{var s;if(_e(e,t))return o.push(t),void(l=null);if(r.isBlock(t)||$e(t))return $e(t)&&r.remove(t),void(l=null);const i=t.nextSibling;Vt.isBookmarkNode(t)&&(Be(i)||_e(e,i)||!i&&t.parentNode===n)?l=null:(l||(l=r.create("p"),null===(s=t.parentNode)||void 0===s||s.insertBefore(l,t),o.push(l)),l.appendChild(t))})),o})(e,o,s),e.dom.isEditable);Ee.each(a,(o=>{let s;const l=o.previousSibling,a=o.parentNode;Ie(a)||(l&&Be(l)&&l.nodeName===t&&((e,t,n)=>{const o=e.getStyle(t,"list-style-type");let r=n?n["list-style-type"]:"";return r=null===r?"":r,o===r})(i,l,n)?(s=l,o=i.rename(o,r),l.appendChild(o)):(s=i.create(t),a.insertBefore(s,o),s.appendChild(o),o=i.rename(o,r)),((e,t,n)=>{Ee.each(["margin","margin-right","margin-bottom","margin-left","margin-top","padding","padding-right","padding-bottom","padding-left","padding-top"],(n=>e.setStyle(t,n,"")))})(i,o),qt(i,s,n),Yt(e.dom,s))})),e.selection.setRng(zt(l))},Xt=(e,t,n)=>{return((e,t)=>Be(e)&&e.nodeName===(null==t?void 0:t.nodeName))(t,n)&&((e,t,n)=>e.getStyle(t,"list-style-type",!0)===e.getStyle(n,"list-style-type",!0))(e,t,n)&&(o=n,t.className===o.className);var o},Yt=(e,t)=>{let n,o=t.nextSibling;if(Xt(e,t,o)){const r=o;for(;n=r.firstChild;)t.appendChild(n);e.remove(r)}if(o=t.previousSibling,Xt(e,t,o)){const r=o;for(;n=r.lastChild;)t.insertBefore(n,t.firstChild);e.remove(r)}},en=(e,t,n,o)=>{if(t.nodeName!==n){const r=e.dom.rename(t,n);qt(e.dom,r,o),ft(e,Qt(n),r)}else qt(e.dom,t,o),ft(e,Qt(n),t)},tn=(e,t,n,o)=>{if(t.classList.forEach(((e,n,o)=>{e.startsWith("tox-")&&(o.remove(e),0===o.length&&t.removeAttribute("class"))})),t.nodeName!==n){const r=e.dom.rename(t,n);qt(e.dom,r,o),ft(e,Qt(n),r)}else qt(e.dom,t,o),ft(e,Qt(n),t)},nn=e=>"list-style-type"in e,on=(e,t,n)=>{const o=rt(e);if(pt(e,o))return;const s=(e=>{const t=rt(e),n=e.selection.getSelectedBlocks();return((e,t)=>l(e)&&1===t.length&&t[0]===e)(t,n)?(e=>L(e.querySelectorAll(ot),Be))(t):L(n,(e=>Be(e)&&t!==e))})(e),i=r(n)?n:{};s.length>0?((e,t,n,o,r)=>{const s=Be(t);if(!s||t.nodeName!==o||nn(r)||ct(t)){Jt(e,o,r);const i=Kt(e.selection.getRng()),l=s?[t,...n]:n,a=s&&ct(t)?tn:en;Ee.each(l,(t=>{a(e,t,o,r)})),e.selection.setRng(zt(i))}else Ht(e)})(e,o,s,t,i):((e,t,n,o)=>{if(t!==e.getBody())if(t)if(t.nodeName!==n||nn(o)||ct(t)){const r=Kt(e.selection.getRng());ct(t)&&t.classList.forEach(((e,n,o)=>{e.startsWith("tox-")&&(o.remove(e),0===o.length&&t.removeAttribute("class"))})),qt(e.dom,t,o);const s=e.dom.rename(t,n);Yt(e.dom,s),e.selection.setRng(zt(r)),Jt(e,n,o),ft(e,Qt(n),s)}else Ht(e);else Jt(e,n,o),ft(e,Qt(n),t)})(e,o,t,i)},rn=Te.DOM,sn=(e,t)=>{const n=Ee.grep(e.select("ol,ul",t));Ee.each(n,(t=>{((e,t)=>{const n=t.parentElement;if(n&&"LI"===n.nodeName&&n.firstChild===t){const o=n.previousSibling;o&&"LI"===o.nodeName?(o.appendChild(t),Ve(e,n)&&rn.remove(n)):rn.setStyle(n,"listStyleType","none")}if(Be(n)){const e=n.previousSibling;e&&"LI"===e.nodeName&&e.appendChild(t)}})(e,t)}))},ln=(e,t,n,o)=>{let r=t.startContainer;const s=t.startOffset;if(we(r)&&(n?s0))return r;const i=e.schema.getNonEmptyElements();De(r)&&(r=fe.getNode(r,s));const l=new ye(r,o);n&&((e,t)=>!!$e(t)&&e.isBlock(t.nextSibling)&&!$e(t.previousSibling))(e.dom,r)&&l.next();const a=n?l.next.bind(l):l.prev2.bind(l);for(;r=a();){if("LI"===r.nodeName&&!r.hasChildNodes())return r;if(i[r.nodeName])return r;if(we(r)&&r.data.length>0)return r}return null},an=(e,t)=>{const n=t.childNodes;return 1===n.length&&!Be(n[0])&&e.isBlock(n[0])},dn=e=>h.from(e).map($).filter(Z).exists((e=>((e,t=!1)=>{return ie(e)?e.dom.isContentEditable:(n=e,le(((e,t)=>_(e,t)),ce,n,"[contenteditable]",void 0)).fold(m(t),(e=>"true"===(e=>e.dom.contentEditable)(e)));var n})(e)&&!C(["details"],Q(e)))),cn=(e,t,n)=>{let o;const r=an(e,n)?n.firstChild:n;if(((e,t)=>{an(e,t)&&dn(t.firstChild)&&e.remove(t.firstChild,!0)})(e,t),!Ve(e,t,!0))for(;o=t.firstChild;)r.appendChild(o)},mn=(e,t,n)=>{let o;const r=t.parentNode;if(!je(e,t)||!je(e,n))return;Be(n.lastChild)&&(o=n.lastChild),r===n.lastChild&&$e(r.previousSibling)&&e.remove(r.previousSibling);const s=n.lastChild;s&&$e(s)&&t.hasChildNodes()&&e.remove(s),Ve(e,n,!0)&&ge($(n)),cn(e,t,n),o&&n.appendChild(o);const i=((e,t)=>{const n=e.dom,o=t.dom;return n!==o&&n.contains(o)})($(n),$(t))?e.getParents(t,Be,n):[];e.remove(t),S(i,(t=>{Ve(e,t)&&t!==e.getRoot()&&e.remove(t)}))},un=(e,t)=>{const n=e.dom,o=e.selection,r=o.getStart(),s=it(e,r),i=n.getParent(o.getStart(),"LI",s);if(i){const r=i.parentElement;if(r===e.getBody()&&Ve(n,r))return!0;const l=tt(o.getRng()),a=n.getParent(ln(e,l,t,s),"LI",s),d=a&&(t?n.isChildOf(i,a):n.isChildOf(a,i));if(a&&a!==i&&!d)return e.undoManager.transact((()=>{var n,o;t?((e,t,n,o)=>{const r=e.dom;if(r.isEmpty(o))((e,t,n)=>{ge($(n)),mn(e.dom,t,n),e.selection.setCursorLocation(n,0)})(e,n,o);else{const s=Kt(t);mn(r,n,o),e.selection.setRng(zt(s))}})(e,l,a,i):(null===(o=(n=i).parentNode)||void 0===o?void 0:o.firstChild)===n?_t(e):((e,t,n,o)=>{const r=Kt(t);mn(e.dom,n,o);const s=zt(r);e.selection.setRng(s)})(e,l,i,a)})),!0;if(d&&!t&&a!==i)return e.undoManager.transact((()=>{if(l.commonAncestorContainer.parentElement){const t=Kt(l),o=l.commonAncestorContainer.parentElement;cn(n,l.commonAncestorContainer.parentElement,a),o.remove();const r=zt(t);e.selection.setRng(r)}})),!0;if(!a&&!t&&0===l.startOffset&&0===l.endOffset)return e.undoManager.transact((()=>{Ht(e)})),!0}return!1},pn=e=>{const t=e.selection.getStart(),n=it(e,t);return e.dom.getParent(t,"LI,DT,DD",n)||st(e).length>0},gn=(e,t)=>{const n=e.selection;return!pt(e,n.getNode())&&(n.isCollapsed()?((e,t)=>un(e,t)||((e,t)=>{const n=e.dom,o=e.selection.getStart(),r=it(e,o),s=n.getParent(o,n.isBlock,r);if(s&&n.isEmpty(s,void 0,{checkRootAsContent:!0})){const o=tt(e.selection.getRng()),i=n.getParent(ln(e,o,t,r),"LI",r);if(i){const l=e=>C(["td","th","caption"],Q(e)),a=e=>e.dom===r;return!!((e,t,n=u)=>P(e,t,n).getOr(e.isNone()&&t.isNone()))(de($(i),l,a),de($(o.startContainer),l,a),H)&&(e.undoManager.transact((()=>{const o=i.parentNode;((e,t,n)=>{const o=e.getParent(t.parentNode,e.isBlock,n);e.remove(t),o&&e.isEmpty(o)&&e.remove(o)})(n,s,r),Yt(n,o),e.selection.select(i,!0),e.selection.collapse(t)})),!0)}}return!1})(e,t))(e,t):(e=>!!pn(e)&&(e.undoManager.transact((()=>{let t=!0;const n=()=>t=!1;e.on("input",n),e.execCommand("Delete"),e.off("input",n),t&&e.dispatch("input"),sn(e.dom,e.getBody())})),!0))(e))},hn=e=>{const t=x(yt(e).split("")),n=N(t,((e,t)=>{const n=e.toUpperCase().charCodeAt(0)-"A".charCodeAt(0)+1;return Math.pow(26,t)*n}));return O(n,((e,t)=>e+t),0)},fn=e=>{if(--e<0)return"";{const t=e%26,n=Math.floor(e/26);return fn(n)+String.fromCharCode("A".charCodeAt(0)+t)}},yn=e=>{const t=parseInt(e.start,10);return M(e.listStyleType,"upper-alpha")?fn(t):M(e.listStyleType,"lower-alpha")?fn(t).toLowerCase():e.start},vn=(e,t)=>()=>{const n=rt(e);return l(n)&&n.nodeName===t},Cn=e=>{e.addCommand("mceListProps",(()=>{(e=>{const t=rt(e);Pe(t)&&!pt(e,t)&&e.windowManager.open({title:"List Properties",body:{type:"panel",items:[{type:"input",name:"start",label:"Start list at number",inputMode:"numeric"}]},initialData:{start:yn({start:e.dom.getAttrib(t,"start","1"),listStyleType:h.from(e.dom.getStyle(t,"list-style-type"))})},buttons:[{type:"cancel",name:"cancel",text:"Cancel"},{type:"submit",name:"save",text:"Save",primary:!0}],onSubmit:t=>{(e=>{switch((e=>/^[0-9]+$/.test(e)?2:/^[A-Z]+$/.test(e)?0:/^[a-z]+$/.test(e)?1:e.length>0?4:3)(e)){case 2:return h.some({listStyleType:h.none(),start:e});case 0:return h.some({listStyleType:h.some("upper-alpha"),start:hn(e).toString()});case 1:return h.some({listStyleType:h.some("lower-alpha"),start:hn(e).toString()});case 3:return h.some({listStyleType:h.none(),start:""});case 4:return h.none()}})(t.getData().start).each((t=>{e.execCommand("mceListUpdate",!1,{attrs:{start:"1"===t.start?"":t.start},styles:{"list-style-type":t.listStyleType.getOr("")}})})),t.close()}})})(e)}))};var bn=tinymce.util.Tools.resolve("tinymce.html.Node");const Nn=e=>3===e.type,Sn=e=>0===e.length,Ln=e=>{const t=(t,n)=>{const o=bn.create("li");S(t,(e=>o.append(e))),n?e.insert(o,n,!0):e.append(o)},n=O(e.children(),((e,n)=>Nn(n)?[...e,n]:Sn(e)||Nn(n)?e:(t(e,n),[])),[]);Sn(n)||t(n)},On=(e,t)=>n=>(n.setEnabled(e.selection.isEditable()),gt(e,(o=>{n.setActive(mt(o.parents,t)),n.setEnabled(!pt(e,o.element)&&e.selection.isEditable())}))),An=(e,t)=>n=>gt(e,(o=>n.setEnabled(mt(o.parents,t)&&!pt(e,o.element))));e.add("lists",(e=>((e=>{(0,e.options.register)("lists_indent_on_tab",{processor:"boolean",default:!0})})(e),(e=>{e.on("PreInit",(()=>{const{parser:t}=e;t.addNodeFilter("ul,ol",(e=>S(e,Ln)))}))})(e),e.hasPlugin("rtc",!0)?Cn(e):((e=>{ze(e)&&(e=>{e.on("keydown",(t=>{t.keyCode!==ve.TAB||ve.metaKeyPressed(t)||e.undoManager.transact((()=>{(t.shiftKey?_t(e):$t(e))&&t.preventDefault()}))}))})(e),(e=>{e.on("ExecCommand",(t=>{const n=t.command.toLowerCase();"delete"!==n&&"forwarddelete"!==n||!pn(e)||sn(e.dom,e.getBody())})),e.on("keydown",(t=>{t.keyCode===ve.BACKSPACE?gn(e,!1)&&t.preventDefault():t.keyCode===ve.DELETE&&gn(e,!0)&&t.preventDefault()}))})(e)})(e),(e=>{e.on("BeforeExecCommand",(t=>{const n=t.command.toLowerCase();"indent"===n?$t(e):"outdent"===n&&_t(e)})),e.addCommand("InsertUnorderedList",((t,n)=>{on(e,"UL",n)})),e.addCommand("InsertOrderedList",((t,n)=>{on(e,"OL",n)})),e.addCommand("InsertDefinitionList",((t,n)=>{on(e,"DL",n)})),e.addCommand("RemoveList",(()=>{Ht(e)})),Cn(e),e.addCommand("mceListUpdate",((t,n)=>{r(n)&&((e,t)=>{const n=rt(e);null===n||pt(e,n)||e.undoManager.transact((()=>{r(t.styles)&&e.dom.setStyles(n,t.styles),r(t.attrs)&&Ne(t.attrs,((t,o)=>e.dom.setAttrib(n,o,t)))}))})(e,n)})),e.addQueryStateHandler("InsertUnorderedList",vn(e,"UL")),e.addQueryStateHandler("InsertOrderedList",vn(e,"OL")),e.addQueryStateHandler("InsertDefinitionList",vn(e,"DL"))})(e)),(e=>{const t=t=>()=>e.execCommand(t);e.hasPlugin("advlist")||(e.ui.registry.addToggleButton("numlist",{icon:"ordered-list",active:!1,tooltip:"Numbered list",onAction:t("InsertOrderedList"),onSetup:On(e,"OL")}),e.ui.registry.addToggleButton("bullist",{icon:"unordered-list",active:!1,tooltip:"Bullet list",onAction:t("InsertUnorderedList"),onSetup:On(e,"UL")}))})(e),(e=>{const t={text:"List properties...",icon:"ordered-list",onAction:()=>e.execCommand("mceListProps"),onSetup:An(e,"OL")};e.ui.registry.addMenuItem("listprops",t),e.ui.registry.addContextMenu("lists",{update:t=>{const n=rt(e,t);return Pe(n)?["listprops"]:[]}})})(e),(e=>({backspaceDelete:t=>{gn(e,t)}}))(e))))}(); \ No newline at end of file diff --git a/frontend/public/tinymce/plugins/media/plugin.min.js b/frontend/public/tinymce/plugins/media/plugin.min.js deleted file mode 100644 index 847b04f..0000000 --- a/frontend/public/tinymce/plugins/media/plugin.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/** - * TinyMCE version 7.4.1 (TBD) - */ -!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager");const t=e=>t=>(e=>{const t=typeof e;return null===e?"null":"object"===t&&Array.isArray(e)?"array":"object"===t&&(r=o=e,(a=String).prototype.isPrototypeOf(r)||(null===(s=o.constructor)||void 0===s?void 0:s.name)===a.name)?"string":t;var r,o,a,s})(t)===e,r=t("string"),o=t("object"),a=t("array"),s=e=>!(e=>null==e)(e);class i{constructor(e,t){this.tag=e,this.value=t}static some(e){return new i(!0,e)}static none(){return i.singletonNone}fold(e,t){return this.tag?t(this.value):e()}isSome(){return this.tag}isNone(){return!this.tag}map(e){return this.tag?i.some(e(this.value)):i.none()}bind(e){return this.tag?e(this.value):i.none()}exists(e){return this.tag&&e(this.value)}forall(e){return!this.tag||e(this.value)}filter(e){return!this.tag||e(this.value)?this:i.none()}getOr(e){return this.tag?this.value:e}or(e){return this.tag?this:e}getOrThunk(e){return this.tag?this.value:e()}orThunk(e){return this.tag?this:e()}getOrDie(e){if(this.tag)return this.value;throw new Error(null!=e?e:"Called getOrDie on None")}static from(e){return s(e)?i.some(e):i.none()}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(e){this.tag&&e(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}i.singletonNone=new i(!1);const n=Array.prototype.push,l=(e,t)=>{for(let r=0,o=e.length;r{const t=[];for(let r=0,o=e.length;rh(e,t)?i.from(e[t]):i.none(),h=(e,t)=>u.call(e,t),p=e=>t=>t.options.get(e),g=p("audio_template_callback"),b=p("video_template_callback"),w=p("iframe_template_callback"),v=p("media_live_embeds"),f=p("media_filter_html"),y=p("media_url_resolver"),x=p("media_alt_source"),_=p("media_poster"),k=p("media_dimensions");var j=tinymce.util.Tools.resolve("tinymce.util.Tools"),O=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),A=tinymce.util.Tools.resolve("tinymce.html.DomParser");const S=O.DOM,$=e=>e.replace(/px$/,""),C=e=>{const t=e.attr("style"),r=t?S.parseStyle(t):{};return{type:"ephox-embed-iri",source:e.attr("data-ephox-embed-iri"),altsource:"",poster:"",width:d(r,"max-width").map($).getOr(""),height:d(r,"max-height").map($).getOr("")}},T=(e,t)=>{let r={};for(let o=A({validate:!1,forced_root_block:!1},t).parse(e);o;o=o.walk())if(1===o.type){const e=o.name;if(o.attr("data-ephox-embed-iri")){r=C(o);break}r.source||"param"!==e||(r.source=o.attr("movie")),"iframe"!==e&&"object"!==e&&"embed"!==e&&"video"!==e&&"audio"!==e||(r.type||(r.type=e),r=j.extend(o.attributes.map,r)),"source"===e&&(r.source?r.altsource||(r.altsource=o.attr("src")):r.source=o.attr("src")),"img"!==e||r.poster||(r.poster=o.attr("src"))}return r.source=r.source||r.src||"",r.altsource=r.altsource||"",r.poster=r.poster||"",r},z=e=>{var t;const r=null!==(t=e.toLowerCase().split(".").pop())&&void 0!==t?t:"";return d({mp3:"audio/mpeg",m4a:"audio/x-m4a",wav:"audio/wav",mp4:"video/mp4",webm:"video/webm",ogg:"video/ogg",swf:"application/x-shockwave-flash"},r).getOr("")};var D=tinymce.util.Tools.resolve("tinymce.html.Node"),F=tinymce.util.Tools.resolve("tinymce.html.Serializer");const M=(e,t={})=>A({forced_root_block:!1,validate:!1,allow_conditional_comments:!0,...t},e),N=O.DOM,P=e=>/^[0-9.]+$/.test(e)?e+"px":e,R=(e,t)=>{const r=t.attr("style"),o=r?N.parseStyle(r):{};s(e.width)&&(o["max-width"]=P(e.width)),s(e.height)&&(o["max-height"]=P(e.height)),t.attr("style",N.serializeStyle(o))},E=["source","altsource"],U=(e,t,r,o)=>{let a=0,s=0;const i=M(o);i.addNodeFilter("source",(e=>a=e.length));const n=i.parse(e);for(let e=n;e;e=e.walk())if(1===e.type){const o=e.name;if(e.attr("data-ephox-embed-iri")){R(t,e);break}switch(o){case"video":case"object":case"embed":case"img":case"iframe":void 0!==t.height&&void 0!==t.width&&(e.attr("width",t.width),e.attr("height",t.height))}if(r)switch(o){case"video":e.attr("poster",t.poster),e.attr("src",null);for(let r=a;r<2;r++)if(t[E[r]]){const o=new D("source",1);o.attr("src",t[E[r]]),o.attr("type",t[E[r]+"mime"]||null),e.append(o)}break;case"iframe":e.attr("src",t.source);break;case"object":const r=e.getAll("img").length>0;if(t.poster&&!r){e.attr("src",t.poster);const r=new D("img",1);r.attr("src",t.poster),r.attr("width",t.width),r.attr("height",t.height),e.append(r)}break;case"source":if(s<2&&(e.attr("src",t[E[s]]),e.attr("type",t[E[s]+"mime"]||null),!t[E[s]])){e.remove();continue}s++;break;case"img":t.poster||e.remove()}}return F({},o).serialize(n)},L=[{regex:/youtu\.be\/([\w\-_\?&=.]+)/i,type:"iframe",w:560,h:314,url:"www.youtube.com/embed/$1",allowFullscreen:!0},{regex:/youtube\.com(.+)v=([^&]+)(&([a-z0-9&=\-_]+))?/i,type:"iframe",w:560,h:314,url:"www.youtube.com/embed/$2?$4",allowFullscreen:!0},{regex:/youtube.com\/embed\/([a-z0-9\?&=\-_]+)/i,type:"iframe",w:560,h:314,url:"www.youtube.com/embed/$1",allowFullscreen:!0},{regex:/vimeo\.com\/([0-9]+)\?h=(\w+)/,type:"iframe",w:425,h:350,url:"player.vimeo.com/video/$1?h=$2&title=0&byline=0&portrait=0&color=8dc7dc",allowFullscreen:!0},{regex:/vimeo\.com\/(.*)\/([0-9]+)\?h=(\w+)/,type:"iframe",w:425,h:350,url:"player.vimeo.com/video/$2?h=$3&title=0&byline=0",allowFullscreen:!0},{regex:/vimeo\.com\/([0-9]+)/,type:"iframe",w:425,h:350,url:"player.vimeo.com/video/$1?title=0&byline=0&portrait=0&color=8dc7dc",allowFullscreen:!0},{regex:/vimeo\.com\/(.*)\/([0-9]+)/,type:"iframe",w:425,h:350,url:"player.vimeo.com/video/$2?title=0&byline=0",allowFullscreen:!0},{regex:/maps\.google\.([a-z]{2,3})\/maps\/(.+)msid=(.+)/,type:"iframe",w:425,h:350,url:'maps.google.com/maps/ms?msid=$2&output=embed"',allowFullscreen:!1},{regex:/dailymotion\.com\/video\/([^_]+)/,type:"iframe",w:480,h:270,url:"www.dailymotion.com/embed/video/$1",allowFullscreen:!0},{regex:/dai\.ly\/([^_]+)/,type:"iframe",w:480,h:270,url:"www.dailymotion.com/embed/video/$1",allowFullscreen:!0}],I=(e,t)=>{const r=(e=>{const t=e.match(/^(https?:\/\/|www\.)(.+)$/i);return t&&t.length>1?"www."===t[1]?"https://":t[1]:"https://"})(t),o=e.regex.exec(t);let a=r+e.url;if(s(o))for(let e=0;eo[e]?o[e]:""));return a.replace(/\?$/,"")},B=e=>{const t=L.filter((t=>t.regex.test(e)));return t.length>0?j.extend({},t[0],{url:I(t[0],e)}):null},G=(e,t)=>{var r;const o=j.extend({},t);if(!o.source&&(j.extend(o,T(null!==(r=o.embed)&&void 0!==r?r:"",e.schema)),!o.source))return"";o.altsource||(o.altsource=""),o.poster||(o.poster=""),o.source=e.convertURL(o.source,"source"),o.altsource=e.convertURL(o.altsource,"source"),o.sourcemime=z(o.source),o.altsourcemime=z(o.altsource),o.poster=e.convertURL(o.poster,"poster");const a=B(o.source);if(a&&(o.source=a.url,o.type=a.type,o.allowfullscreen=a.allowFullscreen,o.width=o.width||String(a.w),o.height=o.height||String(a.h)),o.embed)return U(o.embed,o,!0,e.schema);{const t=g(e),r=b(e),a=w(e);return o.width=o.width||"300",o.height=o.height||"150",j.each(o,((t,r)=>{o[r]=e.dom.encode(""+t)})),"iframe"===o.type?((e,t)=>{if(t)return t(e);{const t=e.allowfullscreen?' allowFullscreen="1"':"";return'"}})(o,a):"application/x-shockwave-flash"===o.sourcemime?(e=>{let t='';return e.poster&&(t+=''),t+="",t})(o):-1!==o.sourcemime.indexOf("audio")?((e,t)=>t?t(e):'")(o,t):((e,t)=>t?t(e):'")(o,r)}},W=e=>e.hasAttribute("data-mce-object")||e.hasAttribute("data-ephox-embed-iri"),q={},H=e=>t=>G(e,t),J=(e,t)=>{const r=y(e);return r?((e,t,r)=>new Promise(((o,a)=>{const s=r=>(r.html&&(q[e.source]=r),o({url:e.source,html:r.html?r.html:t(e)}));q[e.source]?s(q[e.source]):r({url:e.source}).then(s).catch(a)})))(t,H(e),r):((e,t)=>Promise.resolve({html:t(e),url:e.source}))(t,H(e))},K=(e,t)=>{const r={};return d(e,"dimensions").each((e=>{l(["width","height"],(o=>{d(t,o).orThunk((()=>d(e,o))).each((e=>r[o]=e))}))})),r},Q=(e,t)=>{const r=t&&"dimensions"!==t?((e,t)=>d(t,e).bind((e=>d(e,"meta"))))(t,e).getOr({}):{},a=((e,t,r)=>a=>{const s=()=>d(e,a),n=()=>d(t,a),l=e=>d(e,"value").bind((e=>e.length>0?i.some(e):i.none()));return{[a]:(a===r?s().bind((e=>o(e)?l(e).orThunk(n):n().orThunk((()=>i.from(e))))):n().orThunk((()=>s().bind((e=>o(e)?l(e):i.from(e)))))).getOr("")}})(e,r,t);return{...a("source"),...a("altsource"),...a("poster"),...a("embed"),...K(e,r)}},V=e=>{const t={...e,source:{value:d(e,"source").getOr("")},altsource:{value:d(e,"altsource").getOr("")},poster:{value:d(e,"poster").getOr("")}};return l(["width","height"],(r=>{d(e,r).each((e=>{const o=t.dimensions||{};o[r]=e,t.dimensions=o}))})),t},X=e=>t=>{const r=t&&t.msg?"Media embed handler error: "+t.msg:"Media embed handler threw unknown error.";e.notificationManager.open({type:"error",text:r})},Y=(e,t)=>o=>{if(r(o.url)&&o.url.trim().length>0){const r=o.html,a={...T(r,t.schema),source:o.url,embed:r};e.setData(V(a))}},Z=(e,t)=>{const r=e.dom.select("*[data-mce-object]");e.insertContent(t),((e,t)=>{const r=e.dom.select("*[data-mce-object]");for(let e=0;e=0;o--)t[e]===r[o]&&r.splice(o,1);e.selection.select(r[0])})(e,r),e.nodeChanged()},ee=(e,t)=>s(t)&&"ephox-embed-iri"===t&&s(B(e)),te=(e,t)=>((e,t)=>e.width!==t.width||e.height!==t.height)(e,t)&&ee(t.source,e.type),re=e=>{const t=(e=>{const t=e.selection.getNode(),r=W(t)?e.serializer.serialize(t,{selection:!0}):"",o=T(r,e.schema),a=(()=>{if(ee(o.source,o.type)){const r=e.dom.getRect(t);return{width:r.w.toString().replace(/px$/,""),height:r.h.toString().replace(/px$/,"")}}return{}})();return{embed:r,...o,...a}})(e),r=(e=>{let t=e;return{get:()=>t,set:e=>{t=e}}})(t),o=V(t),a=k(e)?[{type:"sizeinput",name:"dimensions",label:"Constrain proportions",constrain:!0}]:[],s={title:"General",name:"general",items:c([[{name:"source",type:"urlinput",filetype:"media",label:"Source",picker_text:"Browse files"}],a])},i=[];x(e)&&i.push({name:"altsource",type:"urlinput",filetype:"media",label:"Alternative source URL"}),_(e)&&i.push({name:"poster",type:"urlinput",filetype:"image",label:"Media poster (Image URL)"});const n={title:"Advanced",name:"advanced",items:i},l=[s,{title:"Embed",items:[{type:"textarea",name:"embed",label:"Paste your embed code below:"}]}];i.length>0&&l.push(n);const m={type:"tabpanel",tabs:l},u=e.windowManager.open({title:"Insert/Edit Media",size:"normal",body:m,buttons:[{type:"cancel",name:"cancel",text:"Cancel"},{type:"submit",name:"save",text:"Save",primary:!0}],onSubmit:t=>{const o=Q(t.getData());((e,t,r)=>{var o,a;t.embed=te(e,t)&&k(r)?G(r,{...t,embed:""}):U(null!==(o=t.embed)&&void 0!==o?o:"",t,!1,r.schema),t.embed&&(e.source===t.source||(a=t.source,h(q,a)))?Z(r,t.embed):J(r,t).then((e=>{Z(r,e.html)})).catch(X(r))})(r.get(),o,e),t.close()},onChange:(t,o)=>{switch(o.name){case"source":((t,r)=>{const o=Q(r.getData(),"source");t.source!==o.source&&(Y(u,e)({url:o.source,html:""}),J(e,o).then(Y(u,e)).catch(X(e)))})(r.get(),t);break;case"embed":(t=>{var r;const o=Q(t.getData()),a=T(null!==(r=o.embed)&&void 0!==r?r:"",e.schema);t.setData(V(a))})(t);break;case"dimensions":case"altsource":case"poster":((t,r,o)=>{const a=Q(t.getData(),r),s=te(o,a)&&k(e)?{...a,embed:""}:a,i=G(e,s);t.setData(V({...s,embed:i}))})(t,o.name,r.get())}r.set(Q(t.getData()))},initialData:o})};var oe=tinymce.util.Tools.resolve("tinymce.Env");const ae=e=>{const t=e.name;return"iframe"===t||"video"===t||"audio"===t},se=(e,t,r,o=null)=>{const a=e.attr(r);return s(a)?a:h(t,r)?null:o},ie=(e,t,r)=>{const o="img"===t.name||"video"===e.name,a=o?"300":null,s="audio"===e.name?"30":"150",i=o?s:null;t.attr({width:se(e,r,"width",a),height:se(e,r,"height",i)})},ne=(e,t)=>{const r=t.name,o=new D("img",1);return ce(e,t,o),ie(t,o,{}),o.attr({style:t.attr("style"),src:oe.transparentSrc,"data-mce-object":r,class:"mce-object mce-object-"+r}),o},le=(e,t)=>{var r;const o=t.name,a=new D("span",1);a.attr({contentEditable:"false",style:t.attr("style"),"data-mce-object":o,class:"mce-preview-object mce-object-"+o}),ce(e,t,a);const i=e.dom.parseStyle(null!==(r=t.attr("style"))&&void 0!==r?r:""),n=new D(o,1);if(ie(t,n,i),n.attr({src:t.attr("src"),style:t.attr("style"),class:t.attr("class")}),"iframe"===o)n.attr({allowfullscreen:t.attr("allowfullscreen"),frameborder:"0",sandbox:t.attr("sandbox"),referrerpolicy:t.attr("referrerpolicy")});else{l(["controls","crossorigin","currentTime","loop","muted","poster","preload"],(e=>{n.attr(e,t.attr(e))}));const r=a.attr("data-mce-html");s(r)&&((e,t,r,o)=>{const a=M(e.schema).parse(o,{context:t});for(;a.firstChild;)r.append(a.firstChild)})(e,o,n,unescape(r))}const c=new D("span",1);return c.attr("class","mce-shim"),a.append(n),a.append(c),a},ce=(e,t,r)=>{var o;const a=null!==(o=t.attributes)&&void 0!==o?o:[];let s=a.length;for(;s--;){const t=a[s].name;let o=a[s].value;"width"===t||"height"===t||"style"===t||(n="data-mce-",(i=t).length>=9&&i.substr(0,9)===n)||("data"!==t&&"src"!==t||(o=e.convertURL(o,t)),r.attr("data-mce-p-"+t,o))}var i,n;const c=F({inner:!0},e.schema),m=new D("div",1);l(t.children(),(e=>m.append(e)));const u=c.serialize(m);u&&(r.attr("data-mce-html",escape(u)),r.empty())},me=e=>{const t=e.attr("class");return r(t)&&/\btiny-pageembed\b/.test(t)},ue=e=>{let t=e;for(;t=t.parent;)if(t.attr("data-ephox-embed-iri")||me(t))return!0;return!1},de=(e,t,r)=>{const o=(0,e.options.get)("xss_sanitization"),a=f(e);return M(e.schema,{sanitize:o,validate:a}).parse(r,{context:t})},he=e=>t=>{const r=()=>{t.setEnabled(e.selection.isEditable())};return e.on("NodeChange",r),r(),()=>{e.off("NodeChange",r)}};e.add("media",(e=>((e=>{const t=e.options.register;t("audio_template_callback",{processor:"function"}),t("video_template_callback",{processor:"function"}),t("iframe_template_callback",{processor:"function"}),t("media_live_embeds",{processor:"boolean",default:!0}),t("media_filter_html",{processor:"boolean",default:!0}),t("media_url_resolver",{processor:"function"}),t("media_alt_source",{processor:"boolean",default:!0}),t("media_poster",{processor:"boolean",default:!0}),t("media_dimensions",{processor:"boolean",default:!0})})(e),(e=>{e.addCommand("mceMedia",(()=>{re(e)}))})(e),(e=>{const t=()=>e.execCommand("mceMedia");e.ui.registry.addToggleButton("media",{tooltip:"Insert/edit media",icon:"embed",onAction:t,onSetup:t=>{const r=e.selection;t.setActive(W(r.getNode()));const o=r.selectorChangedWithUnbind("img[data-mce-object],span[data-mce-object],div[data-ephox-embed-iri]",t.setActive).unbind,a=he(e)(t);return()=>{o(),a()}}}),e.ui.registry.addMenuItem("media",{icon:"embed",text:"Media...",onAction:t,onSetup:he(e)})})(e),(e=>{e.on("ResolveName",(e=>{let t;1===e.target.nodeType&&(t=e.target.getAttribute("data-mce-object"))&&(e.name=t)}))})(e),(e=>{e.on("PreInit",(()=>{const{schema:t,serializer:r,parser:o}=e,a=t.getBoolAttrs();l("webkitallowfullscreen mozallowfullscreen".split(" "),(e=>{a[e]={}})),((e,t)=>{const r=m(e);for(let o=0,a=r.length;o{const o=t.getElementRule(r);o&&l(e,(e=>{o.attributes[e]={},o.attributesOrder.push(e)}))})),o.addNodeFilter("iframe,video,audio,object,embed",(e=>t=>{let r,o=t.length;for(;o--;)r=t[o],r.parent&&(r.parent.attr("data-mce-object")||(ae(r)&&v(e)?ue(r)||r.replace(le(e,r)):ue(r)||r.replace(ne(e,r))))})(e)),r.addAttributeFilter("data-mce-object",((t,r)=>{var o;let a=t.length;for(;a--;){const s=t[a];if(!s.parent)continue;const i=s.attr(r),n=new D(i,1);if("audio"!==i){const e=s.attr("class");e&&-1!==e.indexOf("mce-preview-object")&&s.firstChild?n.attr({width:s.firstChild.attr("width"),height:s.firstChild.attr("height")}):n.attr({width:s.attr("width"),height:s.attr("height")})}n.attr({style:s.attr("style")});const c=null!==(o=s.attributes)&&void 0!==o?o:[];let m=c.length;for(;m--;){const e=c[m].name;0===e.indexOf("data-mce-p-")&&n.attr(e.substr(11),c[m].value)}const u=s.attr("data-mce-html");if(u){const t=de(e,i,unescape(u));l(t.children(),(e=>n.append(e)))}s.replace(n)}}))})),e.on("SetContent",(()=>{const t=e.dom;l(t.select("span.mce-preview-object"),(e=>{0===t.select("span.mce-shim",e).length&&t.add(e,"span",{class:"mce-shim"})}))}))})(e),(e=>{e.on("mousedown",(t=>{const r=e.dom.getParent(t.target,".mce-preview-object");r&&"2"===e.dom.getAttrib(r,"data-mce-selected")&&t.stopImmediatePropagation()})),e.on("click keyup touchend",(()=>{const t=e.selection.getNode();t&&e.dom.hasClass(t,"mce-preview-object")&&e.dom.getAttrib(t,"data-mce-selected")&&t.setAttribute("data-mce-selected","2")})),e.on("ObjectResized",(t=>{const r=t.target;if(r.getAttribute("data-mce-object")){let o=r.getAttribute("data-mce-html");o&&(o=unescape(o),r.setAttribute("data-mce-html",escape(U(o,{width:String(t.width),height:String(t.height)},!1,e.schema))))}}))})(e),(e=>({showDialog:()=>{re(e)}}))(e))))}(); \ No newline at end of file diff --git a/frontend/public/tinymce/plugins/nonbreaking/plugin.min.js b/frontend/public/tinymce/plugins/nonbreaking/plugin.min.js deleted file mode 100644 index e2223a4..0000000 --- a/frontend/public/tinymce/plugins/nonbreaking/plugin.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/** - * TinyMCE version 7.4.1 (TBD) - */ -!function(){"use strict";var n=tinymce.util.Tools.resolve("tinymce.PluginManager");const e=n=>e=>typeof e===n,o=e("boolean"),a=e("number"),t=n=>e=>e.options.get(n),i=t("nonbreaking_force_tab"),s=t("nonbreaking_wrap"),r=(n,e)=>{let o="";for(let a=0;a{const o=s(n)||n.plugins.visualchars?`${r(" ",e)}`:r(" ",e);n.undoManager.transact((()=>n.insertContent(o)))};var l=tinymce.util.Tools.resolve("tinymce.util.VK");const u=n=>e=>{const o=()=>{e.setEnabled(n.selection.isEditable())};return n.on("NodeChange",o),o(),()=>{n.off("NodeChange",o)}};n.add("nonbreaking",(n=>{(n=>{const e=n.options.register;e("nonbreaking_force_tab",{processor:n=>o(n)?{value:n?3:0,valid:!0}:a(n)?{value:n,valid:!0}:{valid:!1,message:"Must be a boolean or number."},default:!1}),e("nonbreaking_wrap",{processor:"boolean",default:!0})})(n),(n=>{n.addCommand("mceNonBreaking",(()=>{c(n,1)}))})(n),(n=>{const e=()=>n.execCommand("mceNonBreaking");n.ui.registry.addButton("nonbreaking",{icon:"non-breaking",tooltip:"Nonbreaking space",onAction:e,onSetup:u(n)}),n.ui.registry.addMenuItem("nonbreaking",{icon:"non-breaking",text:"Nonbreaking space",onAction:e,onSetup:u(n)})})(n),(n=>{const e=i(n);e>0&&n.on("keydown",(o=>{if(o.keyCode===l.TAB&&!o.isDefaultPrevented()){if(o.shiftKey)return;o.preventDefault(),o.stopImmediatePropagation(),c(n,e)}}))})(n)}))}(); \ No newline at end of file diff --git a/frontend/public/tinymce/plugins/pagebreak/plugin.min.js b/frontend/public/tinymce/plugins/pagebreak/plugin.min.js deleted file mode 100644 index 322cef3..0000000 --- a/frontend/public/tinymce/plugins/pagebreak/plugin.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/** - * TinyMCE version 7.4.1 (TBD) - */ -!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),a=tinymce.util.Tools.resolve("tinymce.Env");const t=e=>a=>a.options.get(e),n=t("pagebreak_separator"),o=t("pagebreak_split_block"),r="mce-pagebreak",s=e=>{const t=``;return e?`

    ${t}

    `:t},c=e=>a=>{const t=()=>{a.setEnabled(e.selection.isEditable())};return e.on("NodeChange",t),t(),()=>{e.off("NodeChange",t)}};e.add("pagebreak",(e=>{(e=>{const a=e.options.register;a("pagebreak_separator",{processor:"string",default:"\x3c!-- pagebreak --\x3e"}),a("pagebreak_split_block",{processor:"boolean",default:!1})})(e),(e=>{e.addCommand("mcePageBreak",(()=>{e.insertContent(s(o(e)))}))})(e),(e=>{const a=()=>e.execCommand("mcePageBreak");e.ui.registry.addButton("pagebreak",{icon:"page-break",tooltip:"Page break",onAction:a,onSetup:c(e)}),e.ui.registry.addMenuItem("pagebreak",{text:"Page break",icon:"page-break",onAction:a,onSetup:c(e)})})(e),(e=>{const a=n(e),t=()=>o(e),c=new RegExp(a.replace(/[\?\.\*\[\]\(\)\{\}\+\^\$\:]/g,(e=>"\\"+e)),"gi");e.on("BeforeSetContent",(e=>{e.content=e.content.replace(c,s(t()))})),e.on("PreInit",(()=>{e.serializer.addNodeFilter("img",(n=>{let o,s,c=n.length;for(;c--;)if(o=n[c],s=o.attr("class"),s&&-1!==s.indexOf(r)){const n=o.parent;if(n&&e.schema.getBlockElements()[n.name]&&t()){n.type=3,n.value=a,n.raw=!0,o.remove();continue}o.type=3,o.value=a,o.raw=!0}}))}))})(e),(e=>{e.on("ResolveName",(a=>{"IMG"===a.target.nodeName&&e.dom.hasClass(a.target,r)&&(a.name="pagebreak")}))})(e)}))}(); \ No newline at end of file diff --git a/frontend/public/tinymce/plugins/preview/plugin.min.js b/frontend/public/tinymce/plugins/preview/plugin.min.js deleted file mode 100644 index 236a977..0000000 --- a/frontend/public/tinymce/plugins/preview/plugin.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/** - * TinyMCE version 7.4.1 (TBD) - */ -!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),t=tinymce.util.Tools.resolve("tinymce.Env"),n=tinymce.util.Tools.resolve("tinymce.util.Tools");const o=e=>t=>t.options.get(e),i=o("content_style"),s=o("content_css_cors"),c=o("body_class"),r=o("body_id");e.add("preview",(e=>{(e=>{e.addCommand("mcePreview",(()=>{(e=>{const o=(e=>{var o;let a="";const l=e.dom.encode,d=null!==(o=i(e))&&void 0!==o?o:"";a+='';const m=s(e)?' crossorigin="anonymous"':"";n.each(e.contentCSS,(t=>{a+='"})),d&&(a+='");const y=r(e),u=c(e),v=' + + diff --git a/frontend/src/components/falukant/StatusBar.vue b/frontend/src/components/falukant/StatusBar.vue index 5fca340..19a0fd8 100644 --- a/frontend/src/components/falukant/StatusBar.vue +++ b/frontend/src/components/falukant/StatusBar.vue @@ -1,8 +1,20 @@ @@ -147,4 +178,26 @@ export default { max-width: 24px; max-height: 24px; } + +.messages { position: relative; } +.badge { + position: absolute; + top: -6px; + right: -2px; + background: #e53935; + color: #fff; + border-radius: 10px; + padding: 0 6px; + font-size: 12px; + line-height: 18px; + min-width: 18px; + text-align: center; +} + +.inline-icon { + width: 16px; + height: 16px; + vertical-align: middle; + margin-right: 4px; +} diff --git a/frontend/src/i18n/index.js b/frontend/src/i18n/index.js index f73b9a8..46db93a 100644 --- a/frontend/src/i18n/index.js +++ b/frontend/src/i18n/index.js @@ -16,6 +16,7 @@ import enFriends from './locales/en/friends.json'; import enFalukant from './locales/en/falukant.json'; import enPasswordReset from './locales/en/passwordReset.json'; import enBlog from './locales/en/blog.json'; +import enMinigames from './locales/en/minigames.json'; import deGeneral from './locales/de/general.json'; import deHeader from './locales/de/header.json'; @@ -32,6 +33,7 @@ import deFriends from './locales/de/friends.json'; import deFalukant from './locales/de/falukant.json'; import dePasswordReset from './locales/de/passwordReset.json'; import deBlog from './locales/de/blog.json'; +import deMinigames from './locales/de/minigames.json'; const messages = { en: { @@ -41,7 +43,7 @@ const messages = { ...enHome, ...enChat, ...enRegister, - ...enPasswordReset, + ...enPasswordReset, ...enError, ...enActivate, ...enSettings, @@ -49,7 +51,8 @@ const messages = { ...enSocialNetwork, ...enFriends, ...enFalukant, - ...enBlog, + ...enBlog, + ...enMinigames, }, de: { 'Ok': 'Ok', @@ -59,7 +62,7 @@ const messages = { ...deHome, ...deChat, ...deRegister, - ...dePasswordReset, + ...dePasswordReset, ...deError, ...deActivate, ...deSettings, @@ -67,7 +70,8 @@ const messages = { ...deSocialNetwork, ...deFriends, ...deFalukant, - ...deBlog, + ...deBlog, + ...deMinigames, } }; diff --git a/frontend/src/i18n/locales/de/falukant.json b/frontend/src/i18n/locales/de/falukant.json index b9d6407..76a2ec8 100644 --- a/frontend/src/i18n/locales/de/falukant.json +++ b/frontend/src/i18n/locales/de/falukant.json @@ -5,7 +5,14 @@ "wealth": "Vermögen", "health": "Gesundheit", "events": "Ereignisse", - "relationship": "Beziehung" + "relationship": "Beziehung", + "children": "Kinder", + "children_unbaptised": "ungetaufte Kinder" + }, + "messages": { + "title": "Nachrichten", + "tooltip": "Nachrichten", + "empty": "Keine Nachrichten vorhanden." }, "health": { "amazing": "Super", diff --git a/frontend/src/i18n/locales/de/minigames.json b/frontend/src/i18n/locales/de/minigames.json new file mode 100644 index 0000000..a524129 --- /dev/null +++ b/frontend/src/i18n/locales/de/minigames.json @@ -0,0 +1,38 @@ +{ + "minigames": { + "title": "Minispiele", + "description": "Entdecke eine Sammlung unterhaltsamer Minispiele!", + "play": "Spielen", + "backToGames": "Zurück zu den Spielen", + "comingSoon": { + "title": "Bald verfügbar", + "description": "Weitere spannende Spiele sind in Entwicklung!" + }, + "match3": { + "title": "Match 3 - Juwelen Kampagne", + "description": "Verbinde drei oder mehr gleiche Juwelen, um Punkte zu sammeln!", + "campaignDescription": "Spiele durch alle Level und sammle Sterne!", + "gameStats": "Spiel-Statistiken", + "score": "Punkte", + "moves": "Züge", + "currentLevel": "Aktueller Level", + "level": "Level", + "stars": "Sterne", + "movesLeft": "Verbleibende Züge", + "restartLevel": "Level neu starten", + "pause": "Pause", + "resume": "Weiterspielen", + "paused": "Spiel pausiert", + "levelComplete": "Level abgeschlossen!", + "levelScore": "Level-Punktzahl", + "movesUsed": "Verwendete Züge", + "starsEarned": "Erhaltene Sterne", + "nextLevel": "Nächster Level", + "campaignComplete": "Kampagne abgeschlossen!", + "totalScore": "Gesamtpunktzahl", + "totalStars": "Gesamtsterne", + "levelsCompleted": "Abgeschlossene Level", + "restartCampaign": "Kampagne neu starten" + } + } +} diff --git a/frontend/src/i18n/locales/de/navigation.json b/frontend/src/i18n/locales/de/navigation.json index a8b2426..940a801 100644 --- a/frontend/src/i18n/locales/de/navigation.json +++ b/frontend/src/i18n/locales/de/navigation.json @@ -29,6 +29,9 @@ "videos": "Videos" } }, + "m-minigames": { + "match3": "Match 3 - Juwelen" + }, "m-settings": { "homepage": "Startseite", "account": "Account", diff --git a/frontend/src/i18n/locales/en/falukant.json b/frontend/src/i18n/locales/en/falukant.json index 43fb193..c6cec7a 100644 --- a/frontend/src/i18n/locales/en/falukant.json +++ b/frontend/src/i18n/locales/en/falukant.json @@ -1,5 +1,25 @@ { "falukant": { - + "messages": { + "title": "Messages", + "tooltip": "Messages", + "empty": "No messages." + }, + "statusbar": { + "age": "Age", + "wealth": "Wealth", + "health": "Health", + "events": "Events", + "relationship": "Relationship", + "children": "Children", + "children_unbaptised": "Unbaptised children" + }, + "health": { + "amazing": "Amazing", + "good": "Good", + "normal": "Normal", + "bad": "Bad", + "very_bad": "Very bad" + } } } \ No newline at end of file diff --git a/frontend/src/i18n/locales/en/general.json b/frontend/src/i18n/locales/en/general.json index 07d57ca..ede81ff 100644 --- a/frontend/src/i18n/locales/en/general.json +++ b/frontend/src/i18n/locales/en/general.json @@ -5,5 +5,8 @@ }, "dataPrivacy": { "title": "Data Privacy Policy" + }, + "message": { + "close": "Close" } } \ No newline at end of file diff --git a/frontend/src/i18n/locales/en/minigames.json b/frontend/src/i18n/locales/en/minigames.json new file mode 100644 index 0000000..05be013 --- /dev/null +++ b/frontend/src/i18n/locales/en/minigames.json @@ -0,0 +1,38 @@ +{ + "minigames": { + "title": "Mini Games", + "description": "Discover a collection of entertaining mini games!", + "play": "Play", + "backToGames": "Back to Games", + "comingSoon": { + "title": "Coming Soon", + "description": "More exciting games are in development!" + }, + "match3": { + "title": "Match 3 - Jewels Campaign", + "description": "Connect three or more matching jewels to score points!", + "campaignDescription": "Play through all levels and collect stars!", + "gameStats": "Game Statistics", + "score": "Score", + "moves": "Moves", + "currentLevel": "Current Level", + "level": "Level", + "stars": "Stars", + "movesLeft": "Moves Left", + "restartLevel": "Restart Level", + "pause": "Pause", + "resume": "Resume", + "paused": "Game Paused", + "levelComplete": "Level Complete!", + "levelScore": "Level Score", + "movesUsed": "Moves Used", + "starsEarned": "Stars Earned", + "nextLevel": "Next Level", + "campaignComplete": "Campaign Complete!", + "totalScore": "Total Score", + "totalStars": "Total Stars", + "levelsCompleted": "Levels Completed", + "restartCampaign": "Restart Campaign" + } + } +} diff --git a/frontend/src/i18n/locales/en/navigation.json b/frontend/src/i18n/locales/en/navigation.json index f1a8986..958d268 100644 --- a/frontend/src/i18n/locales/en/navigation.json +++ b/frontend/src/i18n/locales/en/navigation.json @@ -29,6 +29,9 @@ "videos": "Videos" } }, + "m-minigames": { + "match3": "Match 3 - Jewels" + }, "m-settings": { "homepage": "Homepage", "account": "Account", diff --git a/frontend/src/router/index.js b/frontend/src/router/index.js index df0b348..138a283 100644 --- a/frontend/src/router/index.js +++ b/frontend/src/router/index.js @@ -7,6 +7,7 @@ import settingsRoutes from './settingsRoutes'; import adminRoutes from './adminRoutes'; import falukantRoutes from './falukantRoutes'; import blogRoutes from './blogRoutes'; +import minigamesRoutes from './minigamesRoutes'; const routes = [ { @@ -20,6 +21,7 @@ const routes = [ ...adminRoutes, ...falukantRoutes, ...blogRoutes, + ...minigamesRoutes, ]; const router = createRouter({ diff --git a/frontend/src/router/minigamesRoutes.js b/frontend/src/router/minigamesRoutes.js new file mode 100644 index 0000000..492d303 --- /dev/null +++ b/frontend/src/router/minigamesRoutes.js @@ -0,0 +1,12 @@ +import Match3Game from '../views/minigames/Match3Game.vue'; + +const minigamesRoutes = [ + { + path: '/minigames/match3', + name: 'Match3Game', + component: Match3Game, + meta: { requiresAuth: true } + } +]; + +export default minigamesRoutes; diff --git a/frontend/src/views/minigames/Match3Game.vue b/frontend/src/views/minigames/Match3Game.vue new file mode 100644 index 0000000..61ae3de --- /dev/null +++ b/frontend/src/views/minigames/Match3Game.vue @@ -0,0 +1,1715 @@ + + + + + + diff --git a/frontend/src/views/minigames/MinigamesView.vue b/frontend/src/views/minigames/MinigamesView.vue new file mode 100644 index 0000000..dd339d8 --- /dev/null +++ b/frontend/src/views/minigames/MinigamesView.vue @@ -0,0 +1,116 @@ + + + + +