[
  {
    "path": ".github/ISSUE_TEMPLATE/bug_report.md",
    "content": "---\nname: Bug Report\nabout: Describe a bug or problem\ntitle: ''\nlabels: bug\nassignees: ''\n---\n\n> Please complete the following steps. Issues that do not follow this template may be closed without review.\n\n### Describe the problem\n<!-- A clear and concise description of what the bug is. -->\n\n### Expected behavior\n<!-- What did you expect to happen? -->\n\n### Actual behavior\n<!-- What actually happened? -->\n\n### Steps to reproduce\n<!--\n1. Go to '...'\n2. Click on '...'\n3. See error\n-->\n\n### Bludit version\n<!-- e.g. 3.15.0 -->\n\n### PHP version\n<!-- e.g. 8.1 — run `php -v` if unsure -->\n\n### PHP error logs\n<!--\nThe location of the PHP error log varies by OS and configuration.\nIt is usually set in php.ini:\n- Linux: /var/log/php_errors.log\n- Windows (IIS): C:\\log_files\\php_errors.log\n\nPaste any relevant log entries here, or remove this section if not applicable.\n-->\n\n### Additional context\n<!-- Screenshots, browser console errors, or any other relevant information. -->\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/config.yml",
    "content": "blank_issues_enabled: false\n"
  },
  {
    "path": ".github/workflows/close_inactive_issues.yml",
    "content": "name: \"Close inactive issues\"\non:\n  schedule:\n    - cron: '30 1 * * *'\n\njobs:\n  stale:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/stale@v9\n        with:\n          repo-token: ${{ secrets.GITHUB_TOKEN }}\n          days-before-pr-stale: -1\n          days-before-pr-close: -1\n          # The labels you want to PROTECT from being closed\n          exempt-issue-labels: 'Bug,New request'\n\n          # Standard configuration\n          stale-issue-message: 'This issue is inactive and will be closed in 7 days.'\n          close-issue-message: 'Closed due to inactivity.'\n          days-before-stale: 14\n          days-before-close: 7\n"
  },
  {
    "path": ".gitignore",
    "content": ".DS_Store\ndbgenerator.php\nbl-content/*\n!bl-content/.keep\nbl-content-migrator\nbl-plugins/gallery\nbl-plugins/timemachine\nbl-plugins/timemachine-x\nbl-plugins/backup-manager\nbl-plugins/discovery\nbl-plugins/updater\nbl-plugins/medium-editor\nbl-plugins/quill\nbl-plugins/yandex-metrica/\nbl-plugins/domain-migrator/\nbl-plugins/tail-writer/\nbl-kernel/bludit.pro.*.php\nbl-kernel/admin/themes/gris\nbl-themes/docs\nbl-themes/typerite\nbl-themes/docsx\nbl-themes/editorial\nbl-themes/mediumish\nbl-themes/clean-blog\nbl-themes/grayscale\nbl-themes/massively\nbl-themes/hyperspace\nbl-themes/striped\nbl-themes/log\nbl-themes/micro\nbl-themes/tagg\nbl-themes/small\nbl-themes/future-imperfect\nbl-themes/social-network\ntest-server.sh\ntest-php85-compatibility.php\nphp85-server.log\nanalyze-logs.sh\nscripts/*\nlogs/*\n"
  },
  {
    "path": ".htaccess",
    "content": "AddDefaultCharset UTF-8\n\n<IfModule mod_rewrite.c>\n\n# Enable rewrite rules\nRewriteEngine on\n\n# Base directory\nRewriteBase /\n\n# Deny direct access to the next directories\nRewriteRule ^bl-content/(databases|workspaces|pages|tmp)/.*$ - [R=404,L]\n\n# All URL process by index.php\nRewriteCond %{REQUEST_FILENAME} !-f\nRewriteCond %{REQUEST_FILENAME} !-d\nRewriteRule ^(.*) index.php [PT,L]\n\n</IfModule>"
  },
  {
    "path": ".prettierrc",
    "content": "{\n  \"semi\": true,\n  \"singleQuote\": true,\n  \"useTabs\": false,\n  \"tabWidth\": 2,\n  \"printWidth\": 100\n}\n"
  },
  {
    "path": "LICENSE",
    "content": "The MIT License (MIT)\n\nCopyright (c) 2015-2023 Diego Najar\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "README.ar.md",
    "content": "# [Bludit](https://www.bludit.com/)\n\n[![English](https://img.shields.io/badge/Language-English-blue.svg)](README.md)\n[![Español](https://img.shields.io/badge/Language-Español-green.svg)](README.es.md)\n[![العربية](https://img.shields.io/badge/Language-العربية-yellow.svg)](README.ar.md)\n[![中文](https://img.shields.io/badge/Language-中文-red.svg)](README.zh.md)\n[![Français](https://img.shields.io/badge/Language-Français-purple.svg)](README.fr.md)\n[![Deutsch](https://img.shields.io/badge/Language-Deutsch-orange.svg)](README.de.md)\n[![हिंदी](https://img.shields.io/badge/Language-हिंदी-lightblue.svg)](README.hi.md)\n[![日本語](https://img.shields.io/badge/Language-日本語-pink.svg)](README.ja.md)\n[![Português](https://img.shields.io/badge/Language-Português-darkgreen.svg)](README.pt.md)\n[![Русский](https://img.shields.io/badge/Language-Русский-cyan.svg)](README.ru.md)\n\nBludit - نظام إدارة المحتوى البسيط والسريع والمرن.\n\nمع Bludit، يمكنك بناء موقعك الإلكتروني أو مدونتك في ثوانٍ معدودة. إنه مجاني تمامًا، مفتوح المصدر، وسهل الاستخدام. يخزن Bludit المحتوى بتنسيق JSON، مما يلغي الحاجة إلى تثبيت أو تهيئة قاعدة بيانات. كل ما تحتاجه هو خادم ويب يدعم PHP.\n\nكـ Flat-File CMS، يقدم Bludit مرونة وسرعة لا مثيل لهما. بالإضافة إلى ذلك، مع دعم كود Markdown وHTML، أصبح إنشاء وإدارة المحتوى أسهل من أي وقت مضى.\n\n## الموارد\n\n- [الإضافات](https://plugins.bludit.com)\n- [القوالب](https://themes.bludit.com)\n- [الوثائق](https://docs.bludit.com)\n- الأخبار والإعلانات على [تويتر](https://twitter.com/bludit)، [فيسبوك](https://www.facebook.com/bluditcms)، و[ريديت](https://www.reddit.com/r/bludit/)\n- الحديث والدردشة على [ديسكورد](https://discord.gg/CFaXEdZWds)\n- المساعدة والدعم على [المنتدى](https://forum.bludit.org)\n- تقارير الأخطاء على [مشكلات غيت هب](https://github.com/bludit/bludit/issues)\n\n## المتطلبات\n\n- خادم ويب يدعم PHP.\n- إصدار PHP 8.0 أو أعلى.\n- وحدة PHP [mbstring](http://php.net/manual/en/book.mbstring.php) لدعم UTF-8 الكامل.\n- وحدة PHP [gd](http://php.net/manual/en/book.image.php) لمعالجة الصور.\n- وحدة PHP [dom](http://php.net/manual/en/book.dom.php) للتعامل مع DOM.\n- وحدة PHP [json](http://php.net/manual/en/book.json.php) للتعامل مع JSON.\n\n## التثبيت\n\n1. قم بتنزيل الإصدار الأحدث من الصفحة الرسمية: [Bludit.com](https://www.bludit.com)\n2. استخرج ملف الـ zip إلى دليل، مثل `bludit`.\n3. ارفع دليل `bludit` إلى خادم الويب أو الاستضافة الخاص بك.\n4. قم بزيارة نطاقك (مثل https://example.com/bludit/).\n5. اتبع مثبت Bludit لإعداد موقعك.\n\n## تثبيت سريع للاختبار\n\nيمكنك استخدام خادم الويب المدمج في PHP (`php -S localhost:8000`) أو Docker:\n\n```bash\ndocker pull bludit/docker:latest\ndocker run -d --name bludit -p 8000:80 bludit/docker:latest\n```\n\nثم افتح http://localhost:8000\n\n## ترقية Bludit\n\nقبل ترقية Bludit، **قم دائمًا بعمل نسخة احتياطية من موقعك**. هذا يشمل:\n- مجلد `bl-content/` بأكمله (يحتوي على صفحاتك، القاعدة، الوسائط، الإعدادات)\n- أي تخصيصات قمت بها على المواضيع أو الإضافات\n\n### خطوات الترقية\n\n1. **قم بتنزيل أحدث نسخة**: احصل على أحدث إصدار من Bludit من [الموقع الرسمي](https://www.bludit.com) أو [GitHub](https://github.com/bludit/bludit/releases)\n\n2. **قم بعمل نسخة احتياطية**: انسخ المجلدات التالية إلى مكان آمن:\n   - `bl-content/` (الأهم - يحتوي على جميع بياناتك)\n   - أي مواضيع أو إضافات مخصصة قمت بتعديلها\n\n3. **حذف المجلدات القديمة**: احذف هذه المجلدات من تثبيت Bludit الحالي:\n   - `bl-kernel/`\n   - `bl-languages/`\n   - `bl-plugins/`\n   - `bl-themes/`\n\n4. **تحميل الملفات الجديدة**: من حزمة Bludit الجديدة، قم بتحميل:\n   - `bl-kernel/`\n   - `bl-languages/`\n   - `bl-plugins/`\n   - `bl-themes/`\n   - `index.php`\n   - `install.php`\n   - `.htaccess` (إذا كان موجودًا)\n\n5. **الاحتفاظ بمحتواك**: **لا تستبدل** مجلد `bl-content/` - فهو يحتوي على جميع بياناتك\n\n6. **تحديث Bludit**: افتح موقعك في متصفح. سيكتشف Bludit الإصدار الجديد ويقوم بتشغيل عملية الترقية تلقائيًا\n\n7. **التحقق من موقعك**: بعد الترقية:\n   - تسجيل الدخول إلى لوحة الإدارة\n   - التحقق من ظهور محتواك بشكل صحيح\n   - اختبار المواضيع والإضافات\n   - مراجعة إعداداتك\n\n8. **مسح ذاكرة التخزين المؤقت**: إذا واجهت مشاكل:\n   - مسح ذاكرة التخزين المؤقت للمتصفح\n   - إذا كنت تستخددم إضافة للتخزين المؤقت، امسح ذاكرتها المؤقتة\n   - تحقق من سجلات الخادم للأخطاء\n\n> **ملاحظة**: يحفظ Bludit جميع بياناتك كملفات JSON في `bl-content/databases/`. طالما حافظت على هذا المجلد سليمًا، فإن بياناتك آمنة.\n\n## دعم Bludit\n\nBludit مفتوح المصدر ومجاني الاستخدام، لكن إذا وجدت المشروع مفيدًا وترغب في دعم تطويره، يمكنك المساهمة على [باتيريون](https://www.patreon.com/join/bludit). كرمز لتقديرنا، سيحصل الداعمون على Bludit PRO.\n\nإذا كنت تفضل، يمكنك أيضًا تقديم تبرع لمرة واحدة لشراء قهوة أو بيرة لنا. كل مساهمة تساعدنا على مواصلة تحسين Bludit وتقديم أفضل تجربة ممكنة لمستخدمينا.\n\n- [باي بال](https://www.paypal.me/bludit/10)\n- BTC (بيتكوين): [bc1qtets5pdj73uyysjpegfh2gar4pfywra4rglcph](https://www.blockchain.com/explorer/addresses/btc/bc1qtets5pdj73uyysjpegfh2gar4pfywra4rglcph)\n- ETH (إيثريوم): [0x0d7D58D848aA5f175D75Ce4bC746bAC107f331b7](https://www.blockchain.com/explorer/addresses/eth/0x0d7D58D848aA5f175D75Ce4bC746bAC107f331b7)\n\n## الترخيص\n\nBludit هو برمجية مفتوحة المصدر مرخصة بموجب [ترخيص MIT](https://tldrlegal.com/license/mit-license).\n"
  },
  {
    "path": "README.de.md",
    "content": "# [Bludit](https://www.bludit.com/de/)\n\n[![English](https://img.shields.io/badge/Language-English-blue.svg)](README.md)\n[![Español](https://img.shields.io/badge/Language-Español-green.svg)](README.es.md)\n[![العربية](https://img.shields.io/badge/Language-العربية-yellow.svg)](README.ar.md)\n[![中文](https://img.shields.io/badge/Language-中文-red.svg)](README.zh.md)\n[![Français](https://img.shields.io/badge/Language-Français-purple.svg)](README.fr.md)\n[![Deutsch](https://img.shields.io/badge/Language-Deutsch-orange.svg)](README.de.md)\n[![हिंदी](https://img.shields.io/badge/Language-हिंदी-lightblue.svg)](README.hi.md)\n[![日本語](https://img.shields.io/badge/Language-日本語-pink.svg)](README.ja.md)\n[![Português](https://img.shields.io/badge/Language-Português-darkgreen.svg)](README.pt.md)\n[![Русский](https://img.shields.io/badge/Language-Русский-cyan.svg)](README.ru.md)\n\nBludit - das einfache, schnelle und flexible CMS.\n\nMit Bludit können Sie Ihre eigene Website oder Ihren Blog in Sekunden erstellen. Es ist völlig kostenlos, open-source und einfach zu bedienen. Bludit speichert Inhalte im JSON-Format, sodass keine Datenbankinstallation oder -konfiguration erforderlich ist. Alles, was Sie brauchen, ist ein Webserver mit PHP-Unterstützung.\n\nAls Flat-File-CMS bietet Bludit unvergleichliche Flexibilität und Geschwindigkeit. Zudem macht die Unterstützung für Markdown- und HTML-Code das Erstellen und Verwalten von Inhalten einfacher denn je.\n\n## Ressourcen\n\n- [Plugins](https://plugins.bludit.com)\n- [Themes](https://themes.bludit.com)\n- [Dokumentation](https://docs.bludit.com)\n- Neuigkeiten und Ankündigungen auf [Twitter](https://twitter.com/bludit), [Facebook](https://www.facebook.com/bluditcms) und [Reddit](https://www.reddit.com/r/bludit/)\n- Gespräche und Chat auf [Discord](https://discord.gg/CFaXEdZWds)\n- Hilfe und Support auf [Forum](https://forum.bludit.org)\n- Fehlermeldungen auf [Github Issues](https://github.com/bludit/bludit/issues)\n\n## Anforderungen\n\n- Webserver mit PHP-Unterstützung.\n- PHP Version 8.0 oder höher.\n- PHP-Modul [mbstring](http://php.net/manual/en/book.mbstring.php) für vollständige UTF-8-Unterstützung.\n- PHP-Modul [gd](http://php.net/manual/en/book.image.php) für Bildverarbeitung.\n- PHP-Modul [dom](http://php.net/manual/en/book.dom.php) für DOM-Manipulation.\n- PHP-Modul [json](http://php.net/manual/en/book.json.php) für JSON-Manipulation.\n\n## Installation\n\n1. Laden Sie die neueste Version von der offiziellen Seite herunter: [Bludit.com](https://www.bludit.com/de/)\n2. Entpacken Sie die Zip-Datei in ein Verzeichnis, wie `bludit`.\n3. Laden Sie das Verzeichnis `bludit` auf Ihren Webserver oder Ihr Hosting hoch.\n4. Besuchen Sie Ihre Domain (z. B. https://example.com/bludit/).\n5. Folgen Sie dem Bludit-Installer, um Ihre Website einzurichten.\n\n## Schnelle Installation zum Testen\n\nSie können den integrierten PHP-Webserver (`php -S localhost:8000`) oder Docker verwenden:\n\n```bash\ndocker pull bludit/docker:latest\ndocker run -d --name bludit -p 8000:80 bludit/docker:latest\n```\n\nDann öffnen Sie http://localhost:8000\n\n## Bludit aktualisieren\n\nDie folgenden Schritte gelten für die Aktualisierung auf jede Version von Bludit derselben Hauptversion. Die Hauptversion ist die erste Ziffer in der Versionsnummer, zum Beispiel Bludit v3.x.\n\n1. **Erstellen Sie ein vollständiges Backup**, keine Diskussion hier, vollständiges Backup der Dateien und Verzeichnisse. Das bedeutet, ALLE Dateien in einen neuen Ordner zu kopieren.\n2. **Merken Sie sich, welche Version von Bludit Sie verwenden** für ein mögliches Rollback.\n3. **Laden Sie die neueste Version** von der [offiziellen Seite](https://www.bludit.com) herunter.\n4. **Entpacken Sie die Zip-Datei**.\n5. **Ersetzen Sie vorhandene Dateien** durch die neuen Dateien.\n6. **Löschen Sie Ihren Browser-Cache**, und lesen Sie bitte den Hinweis unten.\n7. **Melden Sie sich im Administrationsbereich an** und überprüfen Sie Ihre Einstellungen.\n8. Fertig.\n\n> **Hinweis:** Wenn Ihre Website hinter einem Server-Cache-System steht (z.B. bietet Cloudflare standardmäßig eines an), müssen Sie die Dateien dort ebenfalls löschen. Es ist auch eine gute Idee, Ihren Browser-Cache zu löschen. Bludit versucht, die Dateien mit den neuen zu laden, aber einige Komponenten wie TinyMCE werden möglicherweise nicht neu geladen und können Probleme in der Benutzeroberfläche verursachen oder JavaScript-Fehler werfen.\n\n## Bludit unterstützen\n\nBludit ist open-source und kostenlos zu verwenden, aber wenn Sie das Projekt nützlich finden und seine Entwicklung unterstützen möchten, können Sie auf [Patreon](https://www.patreon.com/join/bludit) beitragen. Als Zeichen unserer Wertschätzung erhalten Unterstützer Bludit PRO.\n\nFalls gewünscht, können Sie auch eine einmalige Spende machen, um uns einen Kaffee oder ein Bier zu spenden. Jeder Beitrag hilft uns, Bludit weiter zu verbessern und die beste Erfahrung für unsere Nutzer zu bieten.\n\n- [PayPal](https://www.paypal.me/bludit/10)\n- BTC (Bitcoin): [bc1qtets5pdj73uyysjpegfh2gar4pfywra4rglcph](https://www.blockchain.com/explorer/addresses/btc/bc1qtets5pdj73uyysjpegfh2gar4pfywra4rglcph)\n- ETH (Ethereum): [0x0d7D58D848aA5f175D75Ce4bC746bAC107f331b7](https://www.blockchain.com/explorer/addresses/eth/0x0d7D58D848aA5f175D75Ce4bC746bAC107f331b7)\n\n## Lizenz\n\nBludit ist open-source-Software unter der [MIT-Lizenz](https://tldrlegal.com/license/mit-license).\n"
  },
  {
    "path": "README.es.md",
    "content": "# [Bludit](https://www.bludit.com/es/)\n\n[![English](https://img.shields.io/badge/Language-English-blue.svg)](README.md)\n[![Español](https://img.shields.io/badge/Language-Español-green.svg)](README.es.md)\n[![العربية](https://img.shields.io/badge/Language-العربية-yellow.svg)](README.ar.md)\n[![中文](https://img.shields.io/badge/Language-中文-red.svg)](README.zh.md)\n[![Français](https://img.shields.io/badge/Language-Français-purple.svg)](README.fr.md)\n[![Deutsch](https://img.shields.io/badge/Language-Deutsch-orange.svg)](README.de.md)\n[![हिंदी](https://img.shields.io/badge/Language-हिंदी-lightblue.svg)](README.hi.md)\n[![日本語](https://img.shields.io/badge/Language-日本語-pink.svg)](README.ja.md)\n[![Português](https://img.shields.io/badge/Language-Português-darkgreen.svg)](README.pt.md)\n[![Русский](https://img.shields.io/badge/Language-Русский-cyan.svg)](README.ru.md)\n\nBludit - CMS simple, rápido y flexible.\n\nCon Bludit, puedes crear tu propio sitio web o blog en solo segundos. Es completamente gratuito, de código abierto y fácil de usar. Bludit almacena el contenido en formato JSON, eliminando la necesidad de instalar o configurar una base de datos. Todo lo que necesitas es un servidor web con soporte PHP.\n\nComo CMS de archivos planos, Bludit ofrece una flexibilidad y velocidad inigualables. Además, con soporte para código Markdown y HTML, crear y gestionar contenido nunca ha sido tan fácil.\n\n## Recursos\n\n- [Plugins](https://plugins.bludit.com)\n- [Temas](https://themes.bludit.com)\n- [Documentación](https://docs.bludit.com)\n- Noticias y anuncios en [Twitter](https://twitter.com/bludit), [Facebook](https://www.facebook.com/bluditcms) y [Reddit](https://www.reddit.com/r/bludit/)\n- Charla y chat en [Discord](https://discord.gg/CFaXEdZWds)\n- Ayuda y soporte en [Foro](https://forum.bludit.org)\n- Reportes de errores en [Github Issues](https://github.com/bludit/bludit/issues)\n\n## Requisitos\n\n- Servidor web con soporte PHP.\n- PHP versión 8.0 o superior.\n- Módulo PHP [mbstring](http://php.net/manual/en/book.mbstring.php) para soporte completo de UTF-8.\n- Módulo PHP [gd](http://php.net/manual/en/book.image.php) para procesamiento de imágenes.\n- Módulo PHP [dom](http://php.net/manual/en/book.dom.php) para manipulación de DOM.\n- Módulo PHP [json](http://php.net/manual/en/book.json.php) para manipulación de JSON.\n\n## Instalación\n\n1. Descarga la última versión desde la página oficial: [Bludit.com](https://www.bludit.com/es/)\n2. Extrae el archivo zip en un directorio, como `bludit`.\n3. Sube el directorio `bludit` a tu servidor web o hosting.\n4. Visita tu dominio (por ejemplo, https://example.com/bludit/).\n5. Sigue el instalador de Bludit para configurar tu sitio.\n\n## Instalación rápida para pruebas\n\nPuedes usar el servidor web incorporado de PHP (`php -S localhost:8000`) o Docker:\n\n```bash\ndocker pull bludit/docker:latest\ndocker run -d --name bludit -p 8000:80 bludit/docker:latest\n```\n\nLuego abre http://localhost:8000\n\n## Actualizar Bludit\n\nLos siguientes pasos son válidos para actualizar a cualquier versión de Bludit de la misma versión mayor. La versión mayor es el primer dígito en el número de versión, por ejemplo, Bludit v3.x.\n\n1. **Haz una copia de seguridad completa**, sin discusión aquí, copia de seguridad completa de los archivos y directorios. Eso significa copiar TODOS los archivos en una nueva carpeta.\n2. **Recuerda qué versión de Bludit estás usando** para una posible reversión.\n3. **Descarga la última versión** desde la [página oficial](https://www.bludit.com).\n4. **Extrae el archivo zip**.\n5. **Reemplaza los archivos existentes** con los nuevos archivos.\n6. **Limpia la caché de tu navegador**, y por favor lee la nota a continuación.\n7. **Inicia sesión en el área de administración** y verifica tu configuración.\n8. Listo.\n\n> **Nota:** Si tu sitio web está detrás de algún tipo de sistema de caché de servidor (por ejemplo, Cloudflare proporciona uno por defecto) necesitas purgar los archivos allí también. También es una buena idea limpiar la caché de tu navegador. Bludit intenta recargar los archivos con los nuevos, pero algunos componentes como TinyMCE pueden no recargarse y provocar problemas en la interfaz de usuario o generar errores de JavaScript.\n\n## Apoya a Bludit\n\nBludit es de código abierto y gratuito para usar, pero si encuentras el proyecto útil y quieres apoyar su desarrollo, puedes contribuir en [Patreon](https://www.patreon.com/join/bludit). Como muestra de nuestra apreciación, los supporters recibirán Bludit PRO.\n\nSi prefieres, también puedes hacer una donación única para comprarnos un café o una cerveza. Cada contribución nos ayuda a continuar mejorando Bludit y proporcionar la mejor experiencia posible a nuestros usuarios.\n\n- [PayPal](https://www.paypal.me/bludit/10)\n- BTC (Bitcoin): [bc1qtets5pdj73uyysjpegfh2gar4pfywra4rglcph](https://www.blockchain.com/explorer/addresses/btc/bc1qtets5pdj73uyysjpegfh2gar4pfywra4rglcph)\n- ETH (Ethereum): [0x0d7D58D848aA5f175D75Ce4bC746bAC107f331b7](https://www.blockchain.com/explorer/addresses/eth/0x0d7D58D848aA5f175D75Ce4bC746bAC107f331b7)\n\n## Licencia\n\nBludit es software de código abierto licenciado bajo la [licencia MIT](https://tldrlegal.com/license/mit-license).\n"
  },
  {
    "path": "README.fr.md",
    "content": "# [Bludit](https://www.bludit.com/)\n\n[![English](https://img.shields.io/badge/Language-English-blue.svg)](README.md)\n[![Español](https://img.shields.io/badge/Language-Español-green.svg)](README.es.md)\n[![العربية](https://img.shields.io/badge/Language-العربية-yellow.svg)](README.ar.md)\n[![中文](https://img.shields.io/badge/Language-中文-red.svg)](README.zh.md)\n[![Français](https://img.shields.io/badge/Language-Français-purple.svg)](README.fr.md)\n[![Deutsch](https://img.shields.io/badge/Language-Deutsch-orange.svg)](README.de.md)\n[![हिंदी](https://img.shields.io/badge/Language-हिंदी-lightblue.svg)](README.hi.md)\n[![日本語](https://img.shields.io/badge/Language-日本語-pink.svg)](README.ja.md)\n[![Português](https://img.shields.io/badge/Language-Português-darkgreen.svg)](README.pt.md)\n[![Русский](https://img.shields.io/badge/Language-Русский-cyan.svg)](README.ru.md)\n\nBludit - le CMS simple, rapide et flexible.\n\nAvec Bludit, vous pouvez créer votre propre site web ou blog en quelques secondes. Il est complètement gratuit, open-source et facile à utiliser. Bludit stocke le contenu au format JSON, éliminant le besoin d'installer ou de configurer une base de données. Tout ce dont vous avez besoin est un serveur web avec support PHP.\n\nEn tant que CMS flat-file, Bludit offre une flexibilité et une vitesse inégalées. De plus, avec le support pour le code Markdown et HTML, créer et gérer du contenu n'a jamais été aussi simple.\n\n## Ressources\n\n- [Plugins](https://plugins.bludit.com)\n- [Thèmes](https://themes.bludit.com)\n- [Documentation](https://docs.bludit.com)\n- Actualités et annonces sur [Twitter](https://twitter.com/bludit), [Facebook](https://www.facebook.com/bluditcms) et [Reddit](https://www.reddit.com/r/bludit/)\n- Discussion et chat sur [Discord](https://discord.gg/CFaXEdZWds)\n- Aide et support sur [Forum](https://forum.bludit.org)\n- Rapports de bugs sur [Github Issues](https://github.com/bludit/bludit/issues)\n\n## Exigences\n\n- Serveur web avec support PHP.\n- PHP version 8.0 ou supérieure.\n- Module PHP [mbstring](http://php.net/manual/en/book.mbstring.php) pour un support UTF-8 complet.\n- Module PHP [gd](http://php.net/manual/en/book.image.php) pour le traitement d'images.\n- Module PHP [dom](http://php.net/manual/en/book.dom.php) pour la manipulation DOM.\n- Module PHP [json](http://php.net/manual/en/book.json.php) pour la manipulation JSON.\n\n## Installation\n\n1. Téléchargez la dernière version depuis la page officielle : [Bludit.com](https://www.bludit.com)\n2. Extrayez le fichier zip dans un répertoire, tel que `bludit`.\n3. Téléchargez le répertoire `bludit` sur votre serveur web ou hébergement.\n4. Visitez votre domaine (par exemple, https://example.com/bludit/).\n5. Suivez l'installateur Bludit pour configurer votre site.\n\n## Installation rapide pour tests\n\nVous pouvez utiliser le serveur web intégré de PHP (`php -S localhost:8000`) ou Docker :\n\n```bash\ndocker pull bludit/docker:latest\ndocker run -d --name bludit -p 8000:80 bludit/docker:latest\n```\n\nEnsuite, ouvrez http://localhost:8000\n\n## Mettre à jour Bludit\n\nAvant de mettre à jour Bludit, **faites toujours une sauvegarde de votre site**. Cela inclut :\n- L'intégralité du dossier `bl-content/` (contient vos pages, bases de données, médias, paramètres)\n- Toute personnalisation apportée aux thèmes ou plugins\n\n### Étapes de mise à jour\n\n1. **Téléchargez la dernière version** : Obtenez la dernière version de Bludit depuis le [site officiel](https://www.bludit.com) ou [GitHub](https://github.com/bludit/bludit/releases)\n\n2. **Créez une sauvegarde** : Copiez les dossiers suivants dans un endroit sûr :\n   - `bl-content/` (le plus important - contient toutes vos données)\n   - Tout thème ou plugin personnalisé que vous avez modifié\n\n3. **Supprimez les anciens dossiers** : De votre installation Bludit actuelle, supprimez ces dossiers :\n   - `bl-kernel/`\n   - `bl-languages/`\n   - `bl-plugins/`\n   - `bl-themes/`\n\n4. **Téléversez les nouveaux fichiers** : Depuis le nouveau package Bludit, téléversez :\n   - `bl-kernel/`\n   - `bl-languages/`\n   - `bl-plugins/`\n   - `bl-themes/`\n   - `index.php`\n   - `install.php`\n   - `.htaccess` (si présent)\n\n5. **Conservez votre contenu** : **NE remplacez PAS** le dossier `bl-content/` - il contient toutes vos données\n\n6. **Mettez à jour Bludit** : Ouvrez votre site dans un navigateur. Bludit détectera la nouvelle version et exécutera automatiquement le processus de mise à jour\n\n7. **Vérifiez votre site** : Après la mise à jour :\n   - Connectez-vous au panneau d'administration\n   - Vérifiez que votre contenu s'affiche correctement\n   - Testez les thèmes et plugins\n   - Vérifiez vos paramètres\n\n8. **Videz le cache** : Si vous rencontrez des problèmes :\n   - Videz le cache de votre navigateur\n   - Si vous utilisez un plugin de mise en cache, videz son cache\n   - Vérifiez les journaux du serveur pour les erreurs\n\n> **Note** : Bludit stocke toutes vos données sous forme de fichiers JSON dans `bl-content/databases/`. Tant que vous conservez ce dossier intact, vos données sont en sécurité.\n\n## Soutenir Bludit\n\nBludit est open-source et gratuit à utiliser, mais si vous trouvez le projet utile et souhaitez soutenir son développement, vous pouvez contribuer sur [Patreon](https://www.patreon.com/join/bludit). En signe de notre appréciation, les supporters recevront Bludit PRO.\n\nSi vous préférez, vous pouvez également faire un don unique pour nous offrir un café ou une bière. Chaque contribution nous aide à continuer d'améliorer Bludit et à fournir la meilleure expérience possible à nos utilisateurs.\n\n- [PayPal](https://www.paypal.me/bludit/10)\n- BTC (Bitcoin): [bc1qtets5pdj73uyysjpegfh2gar4pfywra4rglcph](https://www.blockchain.com/explorer/addresses/btc/bc1qtets5pdj73uyysjpegfh2gar4pfywra4rglcph)\n- ETH (Ethereum): [0x0d7D58D848aA5f175D75Ce4bC746bAC107f331b7](https://www.blockchain.com/explorer/addresses/eth/0x0d7D58D848aA5f175D75Ce4bC746bAC107f331b7)\n\n## Licence\n\nBludit est un logiciel open-source sous [licence MIT](https://tldrlegal.com/license/mit-license).\n"
  },
  {
    "path": "README.hi.md",
    "content": "# [Bludit](https://www.bludit.com/)\n\n[![English](https://img.shields.io/badge/Language-English-blue.svg)](README.md)\n[![Español](https://img.shields.io/badge/Language-Español-green.svg)](README.es.md)\n[![العربية](https://img.shields.io/badge/Language-العربية-yellow.svg)](README.ar.md)\n[![中文](https://img.shields.io/badge/Language-中文-red.svg)](README.zh.md)\n[![Français](https://img.shields.io/badge/Language-Français-purple.svg)](README.fr.md)\n[![Deutsch](https://img.shields.io/badge/Language-Deutsch-orange.svg)](README.de.md)\n[![हिंदी](https://img.shields.io/badge/Language-हिंदी-lightblue.svg)](README.hi.md)\n[![日本語](https://img.shields.io/badge/Language-日本語-pink.svg)](README.ja.md)\n[![Português](https://img.shields.io/badge/Language-Português-darkgreen.svg)](README.pt.md)\n[![Русский](https://img.shields.io/badge/Language-Русский-cyan.svg)](README.ru.md)\n\nBludit - सरल, तेज और लचीला CMS.\n\nBludit के साथ, आप कुछ सेकंड में अपनी खुद की वेबसाइट या ब्लॉग बना सकते हैं। यह पूरी तरह से मुफ्त, ओपन-सोर्स और उपयोग में आसान है। Bludit सामग्री को JSON प्रारूप में संग्रहीत करता है, जो डेटाबेस इंस्टॉलेशन या कॉन्फ़िगरेशन की आवश्यकता को समाप्त कर देता है। आपको केवल PHP सपोर्ट वाले वेब सर्वर की आवश्यकता है।\n\nएक Flat-File CMS के रूप में, Bludit अद्वितीय लचीलापन और गति प्रदान करता है। इसके अलावा, Markdown और HTML कोड के समर्थन के साथ, सामग्री बनाना और प्रबंधित करना कभी इतना आसान नहीं रहा।\n\n## संसाधन\n\n- [प्लगइन्स](https://plugins.bludit.com)\n- [थीम्स](https://themes.bludit.com)\n- [दस्तावेज़ीकरण](https://docs.bludit.com)\n- समाचार और घोषणाएं [ट्विटर](https://twitter.com/bludit), [फेसबुक](https://www.facebook.com/bluditcms) और [रेडिट](https://www.reddit.com/r/bludit/) पर\n- बातचीत और चैट [डिस्कॉर्ड](https://discord.gg/CFaXEdZWds) पर\n- मदद और समर्थन [फोरम](https://forum.bludit.org) पर\n- बग रिपोर्ट [गिटहब इश्यूज](https://github.com/bludit/bludit/issues) पर\n\n## आवश्यकताएँ\n\n- PHP सपोर्ट वाला वेबसर्वर।\n- PHP v8.0 या उच्च संस्करण।\n- पूर्ण UTF-8 समर्थन के लिए PHP [mbstring](http://php.net/manual/en/book.mbstring.php) मॉड्यूल।\n- छवि प्रसंस्करण के लिए PHP [gd](http://php.net/manual/en/book.image.php) मॉड्यूल।\n- DOM मैनिपुलेशन के लिए PHP [dom](http://php.net/manual/en/book.dom.php) मॉड्यूल।\n- JSON मैनिपुलेशन के लिए PHP [json](http://php.net/manual/en/book.json.php) मॉड्यूल।\n\n## इंस्टॉलेशन\n\n1. आधिकारिक पेज से नवीनतम संस्करण डाउनलोड करें: [Bludit.com](https://www.bludit.com)\n2. ज़िप फ़ाइल को एक डायरेक्टरी में निकालें, जैसे `bludit`।\n3. `bludit` डायरेक्टरी को अपने वेब सर्वर या होस्टिंग पर अपलोड करें।\n4. अपना डोमेन विज़िट करें (उदा., https://example.com/bludit/)।\n5. अपनी वेबसाइट सेट अप करने के लिए Bludit इंस्टॉलर का पालन करें।\n\n## परीक्षण के लिए त्वरित इंस्टॉलेशन\n\nआप PHP बिल्ट-इन वेब सर्वर (`php -S localhost:8000`) या Docker का उपयोग कर सकते हैं:\n\n```bash\ndocker pull bludit/docker:latest\ndocker run -d --name bludit -p 8000:80 bludit/docker:latest\n```\n\nफिर http://localhost:8000 खोलें\n\n## Bludit का अपग्रेड करें\n\nBludit को अपग्रेड करने से पहले, **हमेशा अपनी साइट का बैकअप लें**। इसमें शामिल हैं:\n- संपूर्ण `bl-content/` फ़ोल्डर (इसमें आपके पेज, डेटाबेस, मीडिया, सेटिंग्स हैं)\n- थीम या प्लगइन्स में किए गए कोई भी कस्टमाइज़ेशन\n\n### अपग्रेड चरण\n\n1. **नवीनतम संस्करण डाउनलोड करें**: [आधिकारिक वेबसाइट](https://www.bludit.com) या [GitHub](https://github.com/bludit/bludit/releases) से Bludit का नवीनतम संस्करण प्राप्त करें\n\n2. **बैकअप बनाएं**: निम्नलिखित फ़ोल्डरों को सुरक्षित स्थान पर कॉपी करें:\n   - `bl-content/` (सबसे महत्वपूर्ण - इसमें आपका सभी डेटा है)\n   - कोई भी कस्टम थीम या प्लगइन्स जिन्हें आपने संशोधित किया है\n\n3. **पुराने फ़ोल्डर हटाएं**: अपने वर्तमान Bludit इंस्टॉलेशन से ये फ़ोल्डर हटाएं:\n   - `bl-kernel/`\n   - `bl-languages/`\n   - `bl-plugins/`\n   - `bl-themes/`\n\n4. **नई फाइलें अपलोड करें**: नए Bludit पैकेज से, अपलोड करें:\n   - `bl-kernel/`\n   - `bl-languages/`\n   - `bl-plugins/`\n   - `bl-themes/`\n   - `index.php`\n   - `install.php`\n   - `.htaccess` (यदि मौजूद हो)\n\n5. **अपनी सामग्री रखें**: `bl-content/` फ़ोल्डर को **प्रतिस्थापित न करें** - इसमें आपका सभी डेटा है\n\n6. **Bludit अपडेट करें**: अपनी साइट को ब्राउज़र में खोलें। Bludit नए संस्करण का पता लगाएगा और स्वचालित रूप से अपग्रेड प्रक्रिया चलाएगा\n\n7. **अपनी साइट सत्यापित करें**: अपग्रेड के बाद:\n   - व्यवस्थापक पैनल में लॉग इन करें\n   - सत्यापित करें कि आपकी सामग्री सही ढंग से दिखाई देती है\n   - थीम और प्लगइन्स का परीक्षण करें\n   - अपनी सेटिंग्स की समीक्षा करें\n\n8. **कैश साफ़ करें**: यदि आपको समस्याएं आती हैं:\n   - अपने ब्राउज़र का कैश साफ़ करें\n   - यदि कैशिंग प्लगइन का उपयोग कर रहे हैं, तो इसका कैश साफ़ करें\n   - त्रुटियों के लिए सर्वर लॉग जांचें\n\n> **नोट**: Bludit आपके सभी डेटा को `bl-content/databases/` में JSON फाइलों के रूप में संग्रहीत करता है। जब तक आप इस फ़ोल्डर को बरकरार रखते हैं, आपका डेटा सुरक्षित है।\n\n## Bludit का समर्थन करें\n\nBludit ओपन-सोर्स और उपयोग करने के लिए मुफ्त है, लेकिन यदि आपको प्रोजेक्ट उपयोगी लगता है और इसके विकास का समर्थन करना चाहते हैं, तो आप [पैट्रियन](https://www.patreon.com/join/bludit) पर योगदान दे सकते हैं। हमारी सराहना के प्रतीक के रूप में, समर्थक Bludit PRO प्राप्त करेंगे।\n\nयदि आप चाहें, तो आप हमें कॉफी या बीयर खरीदने के लिए एक बार का दान भी कर सकते हैं। हर योगदान हमें Bludit को बेहतर बनाने और हमारे उपयोगकर्ताओं के लिए सर्वोत्तम संभव अनुभव प्रदान करने में मदद करता है।\n\n- [पेपाल](https://www.paypal.me/bludit/10)\n- BTC (बिटकॉइन): [bc1qtets5pdj73uyysjpegfh2gar4pfywra4rglcph](https://www.blockchain.com/explorer/addresses/btc/bc1qtets5pdj73uyysjpegfh2gar4pfywra4rglcph)\n- ETH (ईथीरियम): [0x0d7D58D848aA5f175D75Ce4bC746bAC107f331b7](https://www.blockchain.com/explorer/addresses/eth/0x0d7D58D848aA5f175D75Ce4bC746bAC107f331b7)\n\n\n## लाइसेंस\n\nBludit MIT लाइसेंस के तहत लाइसेंस प्राप्त ओपन सोर्स सॉफ्टवेयर है।\n"
  },
  {
    "path": "README.it.md",
    "content": "# [Bludit](https://www.bludit.com/)\n\n[![English](https://img.shields.io/badge/Language-English-blue.svg)](README.md)\n[![Español](https://img.shields.io/badge/Language-Español-green.svg)](README.es.md)\n[![العربية](https://img.shields.io/badge/Language-العربية-yellow.svg)](README.ar.md)\n[![中文](https://img.shields.io/badge/Language-中文-red.svg)](README.zh.md)\n[![Français](https://img.shields.io/badge/Language-Français-purple.svg)](README.fr.md)\n[![Deutsch](https://img.shields.io/badge/Language-Deutsch-orange.svg)](README.de.md)\n[![हिंदी](https://img.shields.io/badge/Language-हिंदी-lightblue.svg)](README.hi.md)\n[![日本語](https://img.shields.io/badge/Language-日本語-pink.svg)](README.ja.md)\n[![Português](https://img.shields.io/badge/Language-Português-darkgreen.svg)](README.pt.md)\n[![Русский](https://img.shields.io/badge/Language-Русский-cyan.svg)](README.ru.md)\n\nBludit - il CMS semplice, veloce e flessibile.\n\nCon Bludit, puoi creare il tuo sito web o blog in pochi secondi. È completamente gratuito, open-source e facile da usare. Bludit memorizza i contenuti in formato JSON, eliminando la necessità di installare o configurare un database. Tutto ciò di cui hai bisogno è un server web con supporto PHP.\n\nCome CMS flat-file, Bludit offre una flessibilità e velocità senza pari. Inoltre, con il supporto per codice Markdown e HTML, creare e gestire contenuti non è mai stato così facile.\n\n## Risorse\n\n- [Plugin](https://plugins.bludit.com)\n- [Temi](https://themes.bludit.com)\n- [Documentazione](https://docs.bludit.com)\n- Notizie e annunci su [Twitter](https://twitter.com/bludit), [Facebook](https://www.facebook.com/bluditcms) e [Reddit](https://www.reddit.com/r/bludit/)\n- Conversazioni e chat su [Discord](https://discord.gg/CFaXEdZWds)\n- Aiuto e supporto su [Forum](https://forum.bludit.org)\n- Segnalazioni di bug su [Github Issues](https://github.com/bludit/bludit/issues)\n\n## Requisiti\n\n- Server web con supporto PHP.\n- PHP versione 8.0 o superiore.\n- Modulo PHP [mbstring](http://php.net/manual/en/book.mbstring.php) per supporto completo UTF-8.\n- Modulo PHP [gd](http://php.net/manual/en/book.image.php) per elaborazione immagini.\n- Modulo PHP [dom](http://php.net/manual/en/book.dom.php) per manipolazione DOM.\n- Modulo PHP [json](http://php.net/manual/en/book.json.php) per manipolazione JSON.\n\n## Installazione\n\n1. Scarica l'ultima versione dalla pagina ufficiale: [Bludit.com](https://www.bludit.com)\n2. Estrai il file zip in una directory, come `bludit`.\n3. Carica la directory `bludit` sul tuo server web o hosting.\n4. Visita il tuo dominio (ad esempio, https://example.com/bludit/).\n5. Segui l'installatore Bludit per configurare il tuo sito.\n\n## Installazione rapida per test\n\nPuoi usare il server web integrato di PHP (`php -S localhost:8000`) oppure Docker:\n\n```bash\ndocker pull bludit/docker:latest\ndocker run -d --name bludit -p 8000:80 bludit/docker:latest\n```\n\nPoi apri http://localhost:8000\n\n## Aggiornare Bludit\n\nPrima di aggiornare Bludit, **fai sempre un backup del tuo sito**. Questo include:\n- L'intera cartella `bl-content/` (contiene le tue pagine, database, media, impostazioni)\n- Qualsiasi personalizzazione fatta a temi o plugin\n\n### Passaggi per l'Aggiornamento\n\n1. **Scarica l'ultima versione**: Ottieni l'ultima versione di Bludit dal [sito ufficiale](https://www.bludit.com) o da [GitHub](https://github.com/bludit/bludit/releases)\n\n2. **Crea un backup**: Copia le seguenti cartelle in un luogo sicuro:\n   - `bl-content/` (più importante - contiene tutti i tuoi dati)\n   - Qualsiasi tema o plugin personalizzato che hai modificato\n\n3. **Elimina le vecchie cartelle**: Dalla tua installazione Bludit corrente, elimina queste cartelle:\n   - `bl-kernel/`\n   - `bl-languages/`\n   - `bl-plugins/`\n   - `bl-themes/`\n\n4. **Carica i nuovi file**: Dal nuovo pacchetto Bludit, carica:\n   - `bl-kernel/`\n   - `bl-languages/`\n   - `bl-plugins/`\n   - `bl-themes/`\n   - `index.php`\n   - `install.php`\n   - `.htaccess` (se presente)\n\n5. **Mantieni il tuo contenuto**: **NON sostituire** la cartella `bl-content/` - contiene tutti i tuoi dati\n\n6. **Aggiorna Bludit**: Apri il tuo sito in un browser. Bludit rileverà la nuova versione ed eseguirà automaticamente il processo di aggiornamento\n\n7. **Verifica il tuo sito**: Dopo l'aggiornamento:\n   - Accedi al pannello di amministrazione\n   - Verifica che il tuo contenuto appaia correttamente\n   - Testa temi e plugin\n   - Controlla le tue impostazioni\n\n8. **Cancella la cache**: Se riscontri problemi:\n   - Cancella la cache del browser\n   - Se usi un plugin di caching, cancella la sua cache\n   - Controlla i log del server per errori\n\n> **Nota**: Bludit memorizza tutti i tuoi dati come file JSON in `bl-content/databases/`. Finché mantieni questa cartella intatta, i tuoi dati sono al sicuro.\n\n## Supporta Bludit\n\nBludit è open-source e gratuito da usare, ma se trovi il progetto utile e vuoi supportarne lo sviluppo, puoi contribuire su [Patreon](https://www.patreon.com/join/bludit). Come segno della nostra apprezzamento, i sostenitori riceveranno Bludit PRO.\n\nSe preferisci, puoi anche fare una donazione una tantum per offrirci un caffè o una birra. Ogni contributo ci aiuta a continuare a migliorare Bludit e fornire la migliore esperienza possibile ai nostri utenti.\n\n- [PayPal](https://www.paypal.me/bludit/10)\n- BTC (Bitcoin): [bc1qtets5pdj73uyysjpegfh2gar4pfywra4rglcph](https://www.blockchain.com/explorer/addresses/btc/bc1qtets5pdj73uyysjpegfh2gar4pfywra4rglcph)\n- ETH (Ethereum): [0x0d7D58D848aA5f175D75Ce4bC746bAC107f331b7](https://www.blockchain.com/explorer/addresses/eth/0x0d7D58D848aA5f175D75Ce4bC746bAC107f331b7)\n\n## Licenza\n\nBludit è software open-source con licenza [MIT](https://tldrlegal.com/license/mit-license).\n"
  },
  {
    "path": "README.ja.md",
    "content": "# [Bludit](https://www.bludit.com/)\n\n[![English](https://img.shields.io/badge/Language-English-blue.svg)](README.md)\n[![Español](https://img.shields.io/badge/Language-Español-green.svg)](README.es.md)\n[![العربية](https://img.shields.io/badge/Language-العربية-yellow.svg)](README.ar.md)\n[![中文](https://img.shields.io/badge/Language-中文-red.svg)](README.zh.md)\n[![Français](https://img.shields.io/badge/Language-Français-purple.svg)](README.fr.md)\n[![Deutsch](https://img.shields.io/badge/Language-Deutsch-orange.svg)](README.de.md)\n[![हिंदी](https://img.shields.io/badge/Language-हिंदी-lightblue.svg)](README.hi.md)\n[![日本語](https://img.shields.io/badge/Language-日本語-pink.svg)](README.ja.md)\n[![Português](https://img.shields.io/badge/Language-Português-darkgreen.svg)](README.pt.md)\n[![Русский](https://img.shields.io/badge/Language-Русский-cyan.svg)](README.ru.md)\n\nBludit - シンプルで高速で柔軟なCMS。\n\nBluditを使えば、数秒で自分のウェブサイトやブログを作成できます。完全に無料でオープンソースで使いやすいです。BluditはコンテンツをJSON形式で保存するため、データベースのインストールや設定は必要ありません。必要なのはPHPをサポートするウェブサーバーだけです。\n\nフラットファイルCMSとして、Bluditは比類のない柔軟性と速度を提供します。さらに、MarkdownとHTMLコードのサポートにより、コンテンツの作成と管理がこれまで以上に簡単になりました。\n\n## リソース\n\n- [プラグイン](https://plugins.bludit.com)\n- [テーマ](https://themes.bludit.com)\n- [ドキュメント](https://docs.bludit.com)\n- ニュースと発表は[Twitter](https://twitter.com/bludit)、[Facebook](https://www.facebook.com/bluditcms)、[Reddit](https://www.reddit.com/r/bludit/)で\n- トークとチャットは[Discord](https://discord.gg/CFaXEdZWds)で\n- ヘルプとサポートは[フォーラム](https://forum.bludit.org)で\n- バグレポートは[Github Issues](https://github.com/bludit/bludit/issues)で\n\n## 要件\n\n- PHPをサポートするウェブサーバー。\n- PHPバージョン8.0以上。\n- UTF-8の完全サポートのためのPHP [mbstring](http://php.net/manual/en/book.mbstring.php)モジュール。\n- 画像処理のためのPHP [gd](http://php.net/manual/en/book.image.php)モジュール。\n- DOM操作のためのPHP [dom](http://php.net/manual/en/book.dom.php)モジュール。\n- JSON操作のためのPHP [json](http://php.net/manual/en/book.json.php)モジュール。\n\n## インストール\n\n1. 公式ページから最新バージョンをダウンロード：[Bludit.com](https://www.bludit.com)\n2. zipファイルをディレクトリに展開、例えば`bludit`。\n3. `bludit`ディレクトリをウェブサーバーまたはホスティングにアップロード。\n4. ドメインにアクセス（例: https://example.com/bludit/）。\n5. Bluditインストーラーに従ってサイトを設定。\n\n## テストのためのクイックインストール\n\nPHPの組み込みウェブサーバー（`php -S localhost:8000`）またはDockerを使用できます：\n\n```bash\ndocker pull bludit/docker:latest\ndocker run -d --name bludit -p 8000:80 bludit/docker:latest\n```\n\nその後 http://localhost:8000 を開いてください\n\n## Bluditのアップグレード\n\nBluditをアップグレードする前に、**必ずサイトをバックアップしてください**。これには以下が含まれます:\n- `bl-content/` フォルダ全体（ページ、データベース、メディア、設定を含みます）\n- テーマやプラグインへのカスタマイズ\n\n### アップグレード手順\n\n1. **最新バージョンをダウンロード**: [公式ウェブサイト](https://www.bludit.com)または[GitHub](https://github.com/bludit/bludit/releases)からBluditの最新バージョンを入手\n\n2. **バックアップを作成**: 以下のフォルダを安全な場所にコピー:\n   - `bl-content/`（最も重要 - すべてのデータが含まれています）\n   - 変更したカスタムテーマやプラグイン\n\n3. **古いフォルダを削除**: 現在のBluditインストールから以下のフォルダを削除:\n   - `bl-kernel/`\n   - `bl-languages/`\n   - `bl-plugins/`\n   - `bl-themes/`\n\n4. **新しいファイルをアップロード**: 新しいBluditパッケージから以下をアップロード:\n   - `bl-kernel/`\n   - `bl-languages/`\n   - `bl-plugins/`\n   - `bl-themes/`\n   - `index.php`\n   - `install.php`\n   - `.htaccess`（存在する場合）\n\n5. **コンテンツを保持**: `bl-content/` フォルダは**置き換えないでください** - すべてのデータが含まれています\n\n6. **Bluditを更新**: ブラウザでサイトを開きます。Bluditは新しいバージョンを検出し、自動的にアップグレードプロセスを実行します\n\n7. **サイトを検証**: アップグレード後:\n   - 管理パネルにログイン\n   - コンテンツが正しく表示されることを確認\n   - テーマとプラグインをテスト\n   - 設定を確認\n\n8. **キャッシュをクリア**: 問題が発生した場合:\n   - ブラウザのキャッシュをクリア\n   - キャッシングプラグインを使用している場合は、そのキャッシュをクリア\n   - エラーがないかサーバーログを確認\n\n> **注意**: Bluditはすべてのデータを`bl-content/databases/`にJSONファイルとして保存します。このフォルダを無傷に保つ限り、データは安全です。\n\n## Bluditをサポート\n\nBluditはオープンソースで無料ですが、プロジェクトが有用だと感じて開発をサポートしたい場合は、[Patreon](https://www.patreon.com/join/bludit)で貢献できます。私たちの感謝の印として、サポーターはBludit PROを受け取ります。\n\n好みに応じて、コーヒーやビールを買うための1回限りの寄付も可能です。すべての貢献がBluditの改善とユーザーへの最高の体験提供に役立ちます。\n\n- [PayPal](https://www.paypal.me/bludit/10)\n- BTC (Bitcoin): [bc1qtets5pdj73uyysjpegfh2gar4pfywra4rglcph](https://www.blockchain.com/explorer/addresses/btc/bc1qtets5pdj73uyysjpegfh2gar4pfywra4rglcph)\n- ETH (Ethereum): [0x0d7D58D848aA5f175D75Ce4bC746bAC107f331b7](https://www.blockchain.com/explorer/addresses/eth/0x0d7D58D848aA5f175D75Ce4bC746bAC107f331b7)\n\n## ライセンス\n\nBluditは[MITライセンス](https://tldrlegal.com/license/mit-license)下のオープンソースソフトウェアです。\n"
  },
  {
    "path": "README.md",
    "content": "# [Bludit](https://www.bludit.com/)\n\n[![English](https://img.shields.io/badge/Language-English-blue.svg)](README.md)\n[![Español](https://img.shields.io/badge/Language-Español-green.svg)](README.es.md)\n[![العربية](https://img.shields.io/badge/Language-العربية-yellow.svg)](README.ar.md)\n[![中文](https://img.shields.io/badge/Language-中文-red.svg)](README.zh.md)\n[![Français](https://img.shields.io/badge/Language-Français-purple.svg)](README.fr.md)\n[![Deutsch](https://img.shields.io/badge/Language-Deutsch-orange.svg)](README.de.md)\n[![हिंदी](https://img.shields.io/badge/Language-हिंदी-lightblue.svg)](README.hi.md)\n[![日本語](https://img.shields.io/badge/Language-日本語-pink.svg)](README.ja.md)\n[![Português](https://img.shields.io/badge/Language-Português-darkgreen.svg)](README.pt.md)\n[![Русский](https://img.shields.io/badge/Language-Русский-cyan.svg)](README.ru.md)\n\nBludit the Simple, Fast, and Flexible CMS.\n\nWith Bludit, you can build your own website or blog in just seconds. It’s completely free, open-source, and easy to use. Bludit stores content in JSON format, eliminating the need for database installation or configuration. All you need is a web server with PHP support.\n\nAs a Flat-File CMS, Bludit offers unparalleled flexibility and speed. Plus, with support for both Markdown and HTML code, creating and managing content has never been easier.\n\n## Resources\n\n- [Plugins](https://plugins.bludit.com)\n- [Themes](https://themes.bludit.com)\n- [Documentation](https://docs.bludit.com)\n- News and announcement on [Twitter](https://twitter.com/bludit), [Facebook](https://www.facebook.com/bluditcms), and [Reddit](https://www.reddit.com/r/bludit/)\n- Talk & Chat on [Discord](https://discord.gg/CFaXEdZWds)\n- Help and Support on [Forum](https://forum.bludit.org)\n- Bugs reports on [Github Issues](https://github.com/bludit/bludit/issues)\n\n## Requirements\n\n- Webserver with PHP support.\n- PHP v8.0 or higher version.\n- PHP [mbstring](http://php.net/manual/en/book.mbstring.php) module for full UTF-8 support.\n- PHP [gd](http://php.net/manual/en/book.image.php) module for image processing.\n- PHP [dom](http://php.net/manual/en/book.dom.php) module for DOM manipulation.\n- PHP [json](http://php.net/manual/en/book.json.php) module for JSON manipulation.\n\n## Installation\n\n1. Download the latest version from the official page: [Bludit.com](https://www.bludit.com)\n2. Extract the zip file into a directory, such as `bludit`.\n3. Upload the `bludit` directory to your web server or hosting.\n4. Visit your domain (e.g., https://example.com/bludit/).\n5. Follow the Bludit Installer to set up your website.\n\n> **Note — running behind Cloudflare, nginx, Apache or another reverse proxy:** Bludit reads the client IP from `REMOTE_ADDR` only. Proxy headers like `X-Forwarded-For` or `CF-Connecting-IP` are **not** trusted at the PHP layer because any client can forge them. If your site sits behind a reverse proxy, configure the webserver to rewrite `REMOTE_ADDR` to the real client IP before PHP sees it — otherwise the login brute-force blocklist will block the proxy itself (locking out every visitor after enough failed logins) and visitor statistics will count all traffic as a single visitor.\n>\n> - **Apache** — enable [`mod_remoteip`](https://httpd.apache.org/docs/current/mod/mod_remoteip.html) and list your upstream's IP ranges with `RemoteIPTrustedProxy`. For Cloudflare, use the header `CF-Connecting-IP` and the IP ranges published at [cloudflare.com/ips-v4](https://www.cloudflare.com/ips-v4) and [cloudflare.com/ips-v6](https://www.cloudflare.com/ips-v6).\n> - **nginx** — use the built-in [`ngx_http_realip_module`](https://nginx.org/en/docs/http/ngx_http_realip_module.html) with `set_real_ip_from` + `real_ip_header`.\n>\n> No configuration is needed for direct / localhost / intranet deployments.\n\n## Quick installation for testing\n\nYou can use PHP Built-in web server (`php -S localhost:8000`) or Docker:\n\n```bash\ndocker pull bludit/docker:latest\ndocker run -d --name bludit -p 8000:80 bludit/docker:latest\n```\n\nThen open http://localhost:8000\n\n## Upgrading Bludit\n\nThe following steps are valid for upgrading to any version of Bludit from the same major version. The major version is the first digit in the version number, for example, Bludit v3.x.\n\n1. **Make a full backup**, no discussion here, entire backup of the files and directories. That means copy ALL files into a new folder.\n2. **Remember which version of Bludit you are using** for a possible roll-back.\n3. **Download the latest version** from the [official page](https://www.bludit.com).\n4. **Extract the zip file**.\n5. **Replace existing files** with the new files.\n6. **Clean your browser cache**, and please read the note below.\n7. **Log into the admin area** and check your settings.\n8. Done.\n\n> **Note:** If your website is behind some kind of server cache system (for example, Cloudflare provides one by default) you need to purge the files there, too. It's also a good idea to clear your browser cache. Bludit tries to reload the files with the new ones, but some components like TinyMCE may not reload, and provoke some issues in the UI or throw out JavaScript errors.\n\n## Support Bludit\n\nBludit is open-source and free to use, but if you find the project useful and would like to support its development, you can contribute on [Patreon](https://www.patreon.com/join/bludit). As a token of our appreciation, supporters will receive Bludit PRO.\n\nIf you prefer, you can also make a one-time donation to buy us a coffee or beer. Every contribution helps us continue to improve Bludit and provide the best possible experience for our users.\n\n- [PayPal](https://www.paypal.me/bludit/10)\n- BTC (Bitcoin): [bc1qtets5pdj73uyysjpegfh2gar4pfywra4rglcph](https://www.blockchain.com/explorer/addresses/btc/bc1qtets5pdj73uyysjpegfh2gar4pfywra4rglcph)\n- ETH (Ethereum): [0x0d7D58D848aA5f175D75Ce4bC746bAC107f331b7](https://www.blockchain.com/explorer/addresses/eth/0x0d7D58D848aA5f175D75Ce4bC746bAC107f331b7)\n\n## License\n\nBludit is open source software licensed under the [MIT license](https://tldrlegal.com/license/mit-license).\n"
  },
  {
    "path": "README.pt.md",
    "content": "# [Bludit](https://www.bludit.com/)\n\n[![English](https://img.shields.io/badge/Language-English-blue.svg)](README.md)\n[![Español](https://img.shields.io/badge/Language-Español-green.svg)](README.es.md)\n[![العربية](https://img.shields.io/badge/Language-العربية-yellow.svg)](README.ar.md)\n[![中文](https://img.shields.io/badge/Language-中文-red.svg)](README.zh.md)\n[![Français](https://img.shields.io/badge/Language-Français-purple.svg)](README.fr.md)\n[![Deutsch](https://img.shields.io/badge/Language-Deutsch-orange.svg)](README.de.md)\n[![हिंदी](https://img.shields.io/badge/Language-हिंदी-lightblue.svg)](README.hi.md)\n[![日本語](https://img.shields.io/badge/Language-日本語-pink.svg)](README.ja.md)\n[![Português](https://img.shields.io/badge/Language-Português-darkgreen.svg)](README.pt.md)\n[![Русский](https://img.shields.io/badge/Language-Русский-cyan.svg)](README.ru.md)\n\nBludit - o CMS simples, rápido e flexível.\n\nCom o Bludit, você pode criar seu próprio site ou blog em segundos. É completamente gratuito, de código aberto e fácil de usar. O Bludit armazena o conteúdo em formato JSON, eliminando a necessidade de instalação ou configuração de banco de dados. Tudo o que você precisa é de um servidor web com suporte a PHP.\n\nComo um CMS de arquivos planos, o Bludit oferece flexibilidade e velocidade incomparáveis. Além disso, com suporte a código Markdown e HTML, criar e gerenciar conteúdo nunca foi tão fácil.\n\n## Recursos\n\n- [Plugins](https://plugins.bludit.com)\n- [Temas](https://themes.bludit.com)\n- [Documentação](https://docs.bludit.com)\n- Notícias e anúncios no [Twitter](https://twitter.com/bludit), [Facebook](https://www.facebook.com/bluditcms) e [Reddit](https://www.reddit.com/r/bludit/)\n- Conversa e chat no [Discord](https://discord.gg/CFaXEdZWds)\n- Ajuda e suporte no [Fórum](https://forum.bludit.org)\n- Relatórios de bugs no [Github Issues](https://github.com/bludit/bludit/issues)\n\n## Requisitos\n\n- Servidor web com suporte a PHP.\n- PHP v8.0 ou versão superior.\n- Módulo PHP [mbstring](http://php.net/manual/en/book.mbstring.php) para suporte completo a UTF-8.\n- Módulo PHP [gd](http://php.net/manual/en/book.image.php) para processamento de imagens.\n- Módulo PHP [dom](http://php.net/manual/en/book.dom.php) para manipulação de DOM.\n- Módulo PHP [json](http://php.net/manual/en/book.json.php) para manipulação de JSON.\n\n## Instalação\n\n1. Baixe a versão mais recente da página oficial: [Bludit.com](https://www.bludit.com)\n2. Extraia o arquivo zip em um diretório, como `bludit`.\n3. Carregue o diretório `bludit` para o seu servidor web ou hospedagem.\n4. Visite o seu domínio (ex.: https://example.com/bludit/).\n5. Siga o instalador do Bludit para configurar o seu site.\n\n## Instalação rápida para testes\n\nVocê pode usar o servidor web integrado do PHP (`php -S localhost:8000`) ou Docker:\n\n```bash\ndocker pull bludit/docker:latest\ndocker run -d --name bludit -p 8000:80 bludit/docker:latest\n```\n\nEm seguida, abra http://localhost:8000\n\n## Atualizar o Bludit\n\nAs etapas a seguir são válidas para atualizar para qualquer versão do Bludit da mesma versão principal. A versão principal é o primeiro dígito no número da versão, por exemplo, Bludit v3.x.\n\n1. **Faça um backup completo**, sem discussão aqui, backup completo dos arquivos e diretórios. Isso significa copiar TODOS os arquivos para uma nova pasta.\n2. **Lembre-se de qual versão do Bludit você está usando** para um possível rollback.\n3. **Baixe a versão mais recente** da [página oficial](https://www.bludit.com).\n4. **Extraia o arquivo zip**.\n5. **Substitua os arquivos existentes** pelos novos arquivos.\n6. **Limpe o cache do seu navegador**, e por favor leia a nota abaixo.\n7. **Faça login na área de administração** e verifique suas configurações.\n8. Concluído.\n\n> **Nota:** Se o seu site estiver atrás de algum tipo de sistema de cache de servidor (por exemplo, Cloudflare fornece um por padrão), você precisa limpar os arquivos lá também. Também é uma boa ideia limpar o cache do seu navegador. O Bludit tenta recarregar os arquivos com os novos, mas alguns componentes como TinyMCE podem não recarregar e provocar problemas na interface do usuário ou gerar erros de JavaScript.\n\n## Apoie o Bludit\n\nO Bludit é de código aberto e gratuito para uso, mas se você achar o projeto útil e quiser apoiar seu desenvolvimento, pode contribuir no [Patreon](https://www.patreon.com/join/bludit). Como sinal de nossa apreciação, os apoiadores receberão o Bludit PRO.\n\nSe preferir, você também pode fazer uma doação única para nos comprar um café ou uma cerveja. Cada contribuição nos ajuda a continuar melhorando o Bludit e fornecer a melhor experiência possível aos nossos usuários.\n\n- [PayPal](https://www.paypal.me/bludit/10)\n- BTC (Bitcoin): [bc1qtets5pdj73uyysjpegfh2gar4pfywra4rglcph](https://www.blockchain.com/explorer/addresses/btc/bc1qtets5pdj73uyysjpegfh2gar4pfywra4rglcph)\n- ETH (Ethereum): [0x0d7D58D848aA5f175D75Ce4bC746bAC107f331b7](https://www.blockchain.com/explorer/addresses/eth/0x0d7D58D848aA5f175D75Ce4bC746bAC107f331b7)\n\n## Licença\n\nO Bludit é software de código aberto licenciado sob a [licença MIT](https://tldrlegal.com/license/mit-license).\n"
  },
  {
    "path": "README.ru.md",
    "content": "# [Bludit](https://www.bludit.com/)\n\n[![English](https://img.shields.io/badge/Language-English-blue.svg)](README.md)\n[![Español](https://img.shields.io/badge/Language-Español-green.svg)](README.es.md)\n[![العربية](https://img.shields.io/badge/Language-العربية-yellow.svg)](README.ar.md)\n[![中文](https://img.shields.io/badge/Language-中文-red.svg)](README.zh.md)\n[![Français](https://img.shields.io/badge/Language-Français-purple.svg)](README.fr.md)\n[![Deutsch](https://img.shields.io/badge/Language-Deutsch-orange.svg)](README.de.md)\n[![हिंदी](https://img.shields.io/badge/Language-हिंदी-lightblue.svg)](README.hi.md)\n[![日本語](https://img.shields.io/badge/Language-日本語-pink.svg)](README.ja.md)\n[![Português](https://img.shields.io/badge/Language-Português-darkgreen.svg)](README.pt.md)\n[![Русский](https://img.shields.io/badge/Language-Русский-cyan.svg)](README.ru.md)\n\nBludit - простой, быстрый и гибкий CMS.\n\nС Bludit вы можете создать собственный веб-сайт или блог всего за несколько секунд. Это полностью бесплатный, с открытым исходным кодом и простой в использовании CMS. Bludit хранит контент в формате JSON, что устраняет необходимость установки или настройки базы данных. Все, что вам нужно — это веб-сервер с поддержкой PHP.\n\nКак Flat-File CMS, Bludit предлагает непревзойденную гибкость и скорость. Кроме того, с поддержкой как Markdown, так и HTML кода, создание и управление контентом стало еще проще.\n\n## Ресурсы\n\n- [Плагины](https://plugins.bludit.com)\n- [Темы](https://themes.bludit.com)\n- [Документация](https://docs.bludit.com)\n- Новости и объявления в [Твиттере](https://twitter.com/bludit), [Фейсбуке](https://www.facebook.com/bluditcms) и [Реддите](https://www.reddit.com/r/bludit/)\n- Общение и чат в [Discord](https://discord.gg/CFaXEdZWds)\n- Помощь и поддержка на [форуме](https://forum.bludit.org)\n- Сообщения об ошибках на [Github Issues](https://github.com/bludit/bludit/issues)\n\n## Требования\n\n- Веб-сервер с поддержкой PHP.\n- PHP версии 8.0 или выше.\n- PHP-модуль [mbstring](http://php.net/manual/en/book.mbstring.php) для полной поддержки UTF-8.\n- PHP-модуль [gd](http://php.net/manual/en/book.image.php) для обработки изображений.\n- PHP-модуль [dom](http://php.net/manual/en/book.dom.php) для работы с DOM.\n- PHP-модуль [json](http://php.net/manual/en/book.json.php) для работы с JSON.\n\n## Установка\n\n1. Скачайте последнюю версию с официальной страницы: [Bludit.com](https://www.bludit.com)\n2. Распакуйте zip-файл в каталог, например `bludit`.\n3. Загрузите каталог `bludit` на ваш веб-сервер или хостинг.\n4. Перейдите на ваш домен (например, https://example.com/bludit/).\n5. Следуйте установщику Bludit для настройки вашего сайта.\n\n## Быстрая установка для тестирования\n\nВы можете использовать встроенный веб-сервер PHP (`php -S localhost:8000`) или Docker:\n\n```bash\ndocker pull bludit/docker:latest\ndocker run -d --name bludit -p 8000:80 bludit/docker:latest\n```\n\nЗатем откройте http://localhost:8000\n## Обновление Bludit\n\nСледующие шаги действительны для обновления до любой версии Bludit той же основной версии. Основная версия - это первая цифра в номере версии, например, Bludit v3.x.\n\n1. **Сделайте полную резервную копию**, никаких обсуждений, полная резервная копия файлов и каталогов. Это означает копирование ВСЕХ файлов в новую папку.\n2. **Запомните, какую версию Bludit вы используете** для возможного отката.\n3. **Загрузите последнюю версию** с [официальной страницы](https://www.bludit.com).\n4. **Извлеките zip-файл**.\n5. **Замените существующие файлы** новыми файлами.\n6. **Очистите кеш браузера**, и пожалуйста, прочитайте примечание ниже.\n7. **Войдите в административную область** и проверьте свои настройки.\n8. Готово.\n\n> **Примечание:** Если ваш веб-сайт находится за какой-либо системой кеширования сервера (например, Cloudflare предоставляет ее по умолчанию), вам также необходимо очистить файлы там. Также рекомендуется очистить кеш браузера. Bludit пытается перезагрузить файлы с новыми, но некоторые компоненты, такие как TinyMCE, могут не перезагрузиться и вызвать проблемы в пользовательском интерфейсе или вызвать ошибки JavaScript.\n## Поддержать Bludit\n\nBludit - это проект с открытым исходным кодом и бесплатный для использования, но если вы считаете его полезным и хотите поддержать развитие, вы можете сделать пожертвование на [Patreon](https://www.patreon.com/join/bludit). В знак нашей благодарности, поддерживающие получат Bludit PRO.\n\nЕсли хотите, вы также можете сделать одноразовое пожертвование, чтобы угостить нас кофе или пивом. Каждое пожертвование помогает нам продолжать улучшать Bludit и предоставлять лучший опыт нашим пользователям.\n\n- [PayPal](https://www.paypal.me/bludit/10)\n- BTC (Bitcoin): [bc1qtets5pdj73uyysjpegfh2gar4pfywra4rglcph](https://www.blockchain.com/explorer/addresses/btc/bc1qtets5pdj73uyysjpegfh2gar4pfywra4rglcph)\n- ETH (Ethereum): [0x0d7D58D848aA5f175D75Ce4bC746bAC107f331b7](https://www.blockchain.com/explorer/addresses/eth/0x0d7D58D848aA5f175D75Ce4bC746bAC107f331b7)\n\n## Лицензия\n\nBludit - это программное обеспечение с открытым исходным кодом, лицензированное по [MIT лицензии](https://tldrlegal.com/license/mit-license).\n"
  },
  {
    "path": "README.zh.md",
    "content": "# [Bludit](https://www.bludit.com/)\n\n[![English](https://img.shields.io/badge/Language-English-blue.svg)](README.md)\n[![Español](https://img.shields.io/badge/Language-Español-green.svg)](README.es.md)\n[![العربية](https://img.shields.io/badge/Language-العربية-yellow.svg)](README.ar.md)\n[![中文](https://img.shields.io/badge/Language-中文-red.svg)](README.zh.md)\n[![Français](https://img.shields.io/badge/Language-Français-purple.svg)](README.fr.md)\n[![Deutsch](https://img.shields.io/badge/Language-Deutsch-orange.svg)](README.de.md)\n[![हिंदी](https://img.shields.io/badge/Language-हिंदी-lightblue.svg)](README.hi.md)\n[![日本語](https://img.shields.io/badge/Language-日本語-pink.svg)](README.ja.md)\n[![Português](https://img.shields.io/badge/Language-Português-darkgreen.svg)](README.pt.md)\n[![Русский](https://img.shields.io/badge/Language-Русский-cyan.svg)](README.ru.md)\n\nBludit - 简单、快速、灵活的CMS。\n\n使用Bludit，您可以在几秒钟内构建自己的网站或博客。它完全免费、开源且易于使用。Bludit将内容存储在JSON格式中，消除了安装或配置数据库的需要。您只需要一个支持PHP的Web服务器。\n\n作为Flat-File CMS，Bludit提供了无与伦比的灵活性和速度。而且，支持Markdown和HTML代码，创建和管理内容从未如此简单。\n\n## 资源\n\n- [插件](https://plugins.bludit.com)\n- [主题](https://themes.bludit.com)\n- [文档](https://docs.bludit.com)\n- 新闻和公告在[Twitter](https://twitter.com/bludit)、[Facebook](https://www.facebook.com/bluditcms)和[Reddit](https://www.reddit.com/r/bludit/)上\n- 对话和聊天在[Discord](https://discord.gg/CFaXEdZWds)上\n- 帮助和支持在[论坛](https://forum.bludit.org)上\n- 错误报告在[Github Issues](https://github.com/bludit/bludit/issues)上\n\n## 要求\n\n- 支持PHP的Web服务器。\n- PHP版本8.0或更高。\n- PHP [mbstring](http://php.net/manual/en/book.mbstring.php)模块用于完整的UTF-8支持。\n- PHP [gd](http://php.net/manual/en/book.image.php)模块用于图像处理。\n- PHP [dom](http://php.net/manual/en/book.dom.php)模块用于DOM操作。\n- PHP [json](http://php.net/manual/en/book.json.php)模块用于JSON操作。\n\n## 安装\n\n1. 从官方页面下载最新版本：[Bludit.com](https://www.bludit.com)\n2. 将zip文件解压到目录中，例如`bludit`。\n3. 将`bludit`目录上传到您的Web服务器或托管。\n4. 访问您的域名（例如，https://example.com/bludit/）。\n5. 按照Bludit安装程序设置您的网站。\n\n## 测试的快速安装\n\n您可以使用PHP内置Web服务器（`php -S localhost:8000`）或 Docker：\n\n```bash\ndocker pull bludit/docker:latest\ndocker run -d --name bludit -p 8000:80 bludit/docker:latest\n```\n\n然后打开 http://localhost:8000\n## 升级 Bludit\n\n以下步骤适用于从相同主版本升级到 Bludit 的任何版本。主版本是版本号中的第一位数字,例如 Bludit v3.x。\n\n1. **进行完整备份**,这里不讨论,完整备份文件和目录。这意味着将所有文件复制到一个新文件夹。\n2. **记住您正在使用的 Bludit 版本**,以便可能的回滚。\n3. **从[官方页面](https://www.bludit.com)下载最新版本**。\n4. **解压 zip 文件**。\n5. **用新文件替换现有文件**。\n6. **清除浏览器缓存**,请阅读下面的注释。\n7. **登录管理区域**并检查您的设置。\n8. 完成。\n\n> **注意:** 如果您的网站位于某种服务器缓存系统后面(例如,Cloudflare 默认提供一个),您也需要在那里清除文件。清除浏览器缓存也是一个好主意。Bludit 尝试用新文件重新加载文件,但某些组件(如 TinyMCE)可能无法重新加载,并在 UI 中引发一些问题或抛出 JavaScript 错误。\n## 支持Bludit\n\nBludit是开源且免费使用的，但如果您发现该项目有用并希望支持其开发，您可以在[Patreon](https://www.patreon.com/join/bludit)上贡献。作为我们感激的象征，支持者将收到Bludit PRO。\n\n如果您愿意，您也可以进行一次性捐赠，为我们买杯咖啡或啤酒。每笔贡献都帮助我们继续改进Bludit并为用户提供最佳体验。\n\n- [PayPal](https://www.paypal.me/bludit/10)\n- BTC (Bitcoin): [bc1qtets5pdj73uyysjpegfh2gar4pfywra4rglcph](https://www.blockchain.com/explorer/addresses/btc/bc1qtets5pdj73uyysjpegfh2gar4pfywra4rglcph)\n- ETH (Ethereum): [0x0d7D58D848aA5f175D75Ce4bC746bAC107f331b7](https://www.blockchain.com/explorer/addresses/eth/0x0d7D58D848aA5f175D75Ce4bC746bAC107f331b7)\n\n## 许可证\n\nBludit是根据[MIT许可证](https://tldrlegal.com/license/mit-license)许可的开源软件。\n"
  },
  {
    "path": "bl-content/.keep",
    "content": ""
  },
  {
    "path": "bl-kernel/abstract/dbjson.class.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\nclass dbJSON {\n\n\tpublic $db;\n\tpublic $dbBackup;\n\tpublic $file;\n\tpublic $firstLine;\n\n\t// $file, the JSON file.\n\t// $firstLine, TRUE if you want to remove the first line, FALSE otherwise\n\tfunction __construct($file, $firstLine=true)\n\t{\n\t\t$this->file = $file;\n\t\t$this->db = array();\n\t\t$this->dbBackup = array();\n\t\t$this->firstLine = $firstLine;\n\n\t\tif (file_exists($file)) {\n\t\t\t// Read JSON file\n\t\t\t$lines = file($file);\n\n\t\t\t// Remove the first line, the first line is for security reasons\n\t\t\tif ($firstLine) {\n\t\t\t\tunset($lines[0]);\n\t\t\t}\n\n\t\t\t// Regenerate the JSON file\n\t\t\t$implode = implode('', $lines);\n\n\t\t\t// Unserialize, JSON to Array\n\t\t\t$array = $this->unserialize($implode);\n\t\t\tif (empty($array)) {\n\t\t\t\t$this->db = array();\n\t\t\t\t$this->dbBackup = array();\n\t\t\t} else {\n\t\t\t\t$this->db = $array;\n\t\t\t\t$this->dbBackup = $array;\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic function restoreDB()\n\t{\n\t\t$this->db = $this->dbBackup;\n\t\treturn true;\n\t}\n\n\t// Returns the number of rows in the database\n\tpublic function count()\n\t{\n\t\treturn count($this->db);\n\t}\n\n\t// Returns the value from the field\n\tpublic function getField($field)\n\t{\n\t\tif (isset($this->db[$field])) {\n\t\t\treturn $this->db[$field];\n\t\t}\n\t\tif (isset($this->dbFields[$field])) {\n\t\t\treturn $this->dbFields[$field];\n\t\t}\n\t\treturn null;\n\t}\n\n\t// Save the JSON file\n\tpublic function save()\n\t{\n\t\t$data = '';\n\t\tif ($this->firstLine) {\n\t\t\t$data  = \"<?php defined('BLUDIT') or die('Bludit CMS.'); ?>\".PHP_EOL;\n\t\t}\n\n\t\t// Serialize database\n\t\t$data .= $this->serialize($this->db);\n\n\t\t// Backup the new database.\n\t\t$this->dbBackup = $this->db;\n\n\t\t// LOCK_EX flag to prevent anyone else writing to the file at the same time.\n\t\tif (file_put_contents($this->file, $data, LOCK_EX)) {\n\t\t\treturn true;\n\t\t} else {\n\t\t\tLog::set(__METHOD__.LOG_SEP.'Error occurred when trying to save the database file.', LOG_TYPE_ERROR);\n\t\t\treturn false;\n\t\t}\n\t}\n\n\t// Returns a JSON encoded string on success or FALSE on failure\n\tprivate function serialize($data)\n\t{\n\t\tif (DEBUG_MODE) {\n\t\t\treturn json_encode($data, JSON_PRETTY_PRINT);\n\t\t}\n\t\treturn json_encode($data);\n\t}\n\n\t// Returns the value encoded in json in appropriate PHP type\n\tprivate function unserialize($data)\n\t{\n\t\t// NULL is returned if the json cannot be decoded\n\t\t$decode = json_decode($data, true);\n\t\tif ($decode===NULL) {\n\t\t\tLog::set(__METHOD__.LOG_SEP.'Error trying to read the JSON file: '.$this->file, LOG_TYPE_ERROR);\n\t\t\treturn false;\n\t\t}\n\t\treturn $decode;\n\t}\n\n\tpublic function getDB()\n\t{\n\t\treturn $this->db;\n\t}\n\n\t// Truncate all the rows\n\tpublic function truncate()\n\t{\n\t\t$this->db = array();\n\t\treturn $this->save();\n\t}\n\n}\n"
  },
  {
    "path": "bl-kernel/abstract/dblist.class.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\n/*\nDatabase structure\n\n{\n\t\"videos\": {\n\t\t\"name\": \"Videos\",\n\t\t\"template: \"\",\n\t\t\"description: \"\",\n\t\t\"list\": [ \"my-page\", \"second-page\" ]\n\t},\n\t\"pets\": {\n\t\t\"name\": \"Pets\",\n\t\t\"template: \"\",\n\t\t\"description: \"\",\n\t\t\"list\": [ \"cats-and-dogs\" ]\n\t}\n}\n*/\n\nclass dbList extends dbJSON\n{\n\tpublic $db = array();\n\n\tfunction __construct($file)\n\t{\n\t\tparent::__construct($file);\n\t}\n\n\tpublic function keys()\n\t{\n\t\treturn array_keys($this->db);\n\t}\n\n\t// Returns the list of keys filter by pageNumber\n\t// $pageNumber start in 1\n\tpublic function getList($key, $pageNumber, $numberOfItems)\n\t{\n\t\tif (!isset($this->db[$key])) {\n\t\t\tLog::set(__METHOD__.LOG_SEP.'Error key does not exist '.$key);\n\t\t\treturn false;\n\t\t}\n\n\t\t// List of keys\n\t\t$list = $this->db[$key]['list'];\n\n\t\t// Returns all the items from the list\n\t\tif ($numberOfItems==-1) {\n\t\t\treturn $list;\n\t\t}\n\n\t\t// The first page number is 1, so the real is 0\n\t\t$realPageNumber = $pageNumber - 1;\n\t\t$chunks = array_chunk($list, $numberOfItems);\n\t\tif (isset($chunks[$realPageNumber])) {\n\t\t\treturn $chunks[$realPageNumber];\n\t\t}\n\n\t\t// Out of index,returns FALSE\n\t\treturn false;\n\t}\n\n\tpublic function generateKey($name)\n\t{\n\t\tglobal $L;\n\n\t\t$key = Text::cleanUrl($name);\n\t\tif (Text::isEmpty($key)) {\n\t\t\t$key = $L->g('empty');\n\t\t}\n\t\twhile (isset($this->db[$key])) {\n\t\t\t$key++;\n\t\t}\n\t\treturn $key;\n\t}\n\n\t// Add a new item to the dblist\n\t// $args => 'name', 'template', 'description', 'list'\n\tpublic function add($args)\n\t{\n\t\t$key = $this->generateKey($args['name']);\n\n\t\t$this->db[$key]['name'] \t= Sanitize::removeTags($args['name']);\n\t\t$this->db[$key]['template'] \t= isset($args['template'])?Sanitize::removeTags($args['template']):'';\n\t\t$this->db[$key]['description'] \t= isset($args['description'])?Sanitize::removeTags($args['description']):'';\n\t\t$this->db[$key]['list'] \t= isset($args['list'])?$args['list']:array();\n\n\t\t$this->sortAlphanumeric();\n\t\t$this->save();\n\t\treturn $key;\n\t}\n\n\tpublic function remove($key)\n\t{\n\t\tif (!isset($this->db[$key])) {\n\t\t\tLog::set(__METHOD__.LOG_SEP.'The key does not exist, key: '.$key);\n\t\t\treturn false;\n\t\t}\n\n\t\tunset($this->db[$key]);\n\t\treturn $this->save();\n\t}\n\n\t// Edit an item to the dblist\n\t// $args => 'name', 'oldkey', 'newKey', 'template', 'description'\n\tpublic function edit($args)\n\t{\n\t\tif ( isset($this->db[$args['newKey']]) && ($args['newKey']!==$args['oldKey']) ) {\n\t\t\tLog::set(__METHOD__.LOG_SEP.'The new key already exists. Key: '.$args['newKey'], LOG_TYPE_WARN);\n\t\t\treturn false;\n\t\t}\n\n\t\t$this->db[$args['newKey']]['name'] \t= Sanitize::removeTags($args['name']);\n\t\t$this->db[$args['newKey']]['template'] \t= isset($args['template'])?Sanitize::removeTags($args['template']):'';\n\t\t$this->db[$args['newKey']]['description'] = isset($args['description'])?Sanitize::removeTags($args['description']):'';\n\t\t$this->db[$args['newKey']]['list'] \t= $this->db[$args['oldKey']]['list'];\n\n\t\t// Remove the old category\n\t\tif ($args['oldKey'] !== $args['newKey']) {\n\t\t\tunset( $this->db[$args['oldKey']] );\n\t\t}\n\n\t\t$this->sortAlphanumeric();\n\t\t$this->save();\n\t\treturn $args['newKey'];\n\t}\n\n\t// Sort the categories by \"Natural order\"\n\tpublic function sortAlphanumeric()\n\t{\n\t\t// Sort key alphanumeric strings, a01, a10, b10, c02\n\t\treturn ksort($this->db);\n\t}\n\n\t// Returns the name associated to the key, FALSE if the key doesn't exist\n\tpublic function getName($key)\n\t{\n\t\tif (isset($this->db[$key])) {\n\t\t\treturn $this->db[$key]['name'];\n\t\t}\n\t\treturn false;\n\t}\n\n\t// Returns an array with key=>name of the list\n\tpublic function getKeyNameArray()\n\t{\n\t\t$tmp = array();\n\t\tforeach($this->db as $key=>$fields) {\n\t\t\t$tmp[$key] = $fields['name'];\n\t\t}\n\t\treturn $tmp;\n\t}\n\n\t// Returns the number of items in the list\n\tpublic function countItems($key)\n\t{\n\t\tif (isset($this->db[$key])) {\n\t\t\treturn count($this->db[$key]['list']);\n\t\t}\n\t\treturn 0;\n\t}\n\n\tpublic function exists($key)\n\t{\n\t\treturn isset( $this->db[$key] );\n\t}\n\n\tpublic function existsName($name)\n\t{\n\t\tforeach ($this->db as $key=>$fields) {\n\t\t\tif ($name==$fields['name']) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\t// Returns an array with a portion of the database filtered by key\n\t// Returns array( 'key'=>'', 'name'=>'', 'template'=>'', 'description'=>'', list'=>array() )\n\tpublic function getMap($key)\n\t{\n\t\tif (isset($this->db[$key])) {\n\t\t\t$tmp = $this->db[$key];\n\t\t\t$tmp['key'] = $key;\n\t\t\treturn $tmp;\n\t\t}\n\t\treturn false;\n\t}\n\n}"
  },
  {
    "path": "bl-kernel/abstract/plugin.class.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\nclass Plugin\n{\n\n\t// (string) directory name, just the name\n\t// Ex: sitemap\n\tpublic $directoryName;\n\n\t// (string) Absolute database filename and path\n\t// Ex: /www/bludit/bl-content/plugins/sitemap/db.php\n\tpublic $filenameDb;\n\n\t// (string) Absolute metadata filename and path\n\t// Ex: /www/bludit/bl-plugins/sitemap/metadata.json\n\tpublic $filenameMetadata;\n\n\t// (array) Plugin metadata\n\t// Ex: array('author'=>'',...., 'notes'=>'')\n\tpublic $metadata;\n\n\t// (string) Class name\n\t// Ex: pluginSitemap\n\tpublic $className;\n\n\t// (array) Database unserialized\n\tpublic $db;\n\n\t// (array) Database fields, only for initialize\n\tpublic $dbFields;\n\n\t// (boolean) Enable or disable default Save and Cancel button on plugin settings\n\tpublic $formButtons;\n\n\t// (array) List of custom hooks\n\tpublic $customHooks;\n\n\tfunction __construct()\n\t{\n\t\t$this->dbFields = array();\n\t\t$this->customHooks = array();\n\n\t\t$reflector = new ReflectionClass(get_class($this));\n\n\t\t// Directory name\n\t\t$this->directoryName = basename(dirname($reflector->getFileName()));\n\n\t\t// Class Name\n\t\t$this->className = $reflector->getName();\n\n\t\t$this->formButtons = true;\n\n\t\t// Call the method init() from the children\n\t\t$this->init();\n\n\t\t// Init empty database with default values\n\t\t$this->db = $this->dbFields;\n\n\t\t$this->filenameDb = PATH_PLUGINS_DATABASES . $this->directoryName . DS . 'db.php';\n\n\t\t// --- Metadata ---\n\t\t$this->filenameMetadata = PATH_PLUGINS . $this->directoryName() . DS . 'metadata.json';\n\t\t$metadataString = file_get_contents($this->filenameMetadata);\n\t\t$this->metadata = json_decode($metadataString, true);\n\n\t\t// If the plugin is installed then get the database\n\t\tif ($this->installed()) {\n\t\t\t$Tmp = new dbJSON($this->filenameDb);\n\t\t\t$this->db = $Tmp->db;\n\t\t\t$this->prepare();\n\t\t}\n\t}\n\n\tpublic function save()\n\t{\n\t\t$tmp = new dbJSON($this->filenameDb);\n\t\t$tmp->db = $this->db;\n\t\treturn $tmp->save();\n\t}\n\n\tpublic function includeCSS($filename)\n\t{\n\t\treturn '<link rel=\"stylesheet\" type=\"text/css\" href=\"' . $this->domainPath() . 'css/' . $filename . '?version=' . BLUDIT_VERSION . '\">' . PHP_EOL;\n\t}\n\n\tpublic function includeJS($filename)\n\t{\n\t\treturn '<script charset=\"utf-8\" src=\"' . $this->domainPath() . 'js/' . $filename . '?version=' . BLUDIT_VERSION . '\"></script>' . PHP_EOL;\n\t}\n\n\t// Returns absolute URL and path of the plugin directory\n\t// This function helps to include CSS or Javascript files with absolute URL\n\tpublic function domainPath()\n\t{\n\t\treturn DOMAIN_PLUGINS . $this->directoryName . '/';\n\t}\n\n\t// Returns relative path of the plugin directory\n\t// This function helps to include CSS or Javascript files with relative URL\n\tpublic function htmlPath()\n\t{\n\t\treturn HTML_PATH_PLUGINS . $this->directoryName . '/';\n\t}\n\n\t// Returns absolute path of the plugin directory\n\t// This function helps to include PHP libraries or some file at server level\n\tpublic function phpPath()\n\t{\n\t\treturn PATH_PLUGINS . $this->directoryName . DS;\n\t}\n\n\tpublic function phpPathDB()\n\t{\n\t\treturn PATH_PLUGINS_DATABASES . $this->directoryName . DS;\n\t}\n\n\t// Returns the value of the key from the metadata of the plugin, FALSE if the key doesn't exist\n\tpublic function getMetadata($key)\n\t{\n\t\tif (isset($this->metadata[$key])) {\n\t\t\treturn $this->metadata[$key];\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t// Set a key / value on the metadata of the plugin\n\tpublic function setMetadata($key, $value)\n\t{\n\t\t$this->metadata[$key] = $value;\n\t\treturn true;\n\t}\n\n\t// Returns the value of the field from the database\n\t// (string) $field\n\t// (boolean) $html, TRUE returns the value sanitized, FALSE unsanitized\n\tpublic function getValue($field, $html = true)\n\t{\n\t\tif (isset($this->db[$field])) {\n\t\t\tif ($html) {\n\t\t\t\treturn $this->db[$field];\n\t\t\t} else {\n\t\t\t\treturn Sanitize::htmlDecode($this->db[$field]);\n\t\t\t}\n\t\t}\n\t\treturn $this->dbFields[$field];\n\t}\n\n\tpublic function label()\n\t{\n\t\treturn $this->getMetadata('label');\n\t}\n\n\tpublic function name()\n\t{\n\t\treturn $this->getMetadata('name');\n\t}\n\n\tpublic function description()\n\t{\n\t\treturn $this->getMetadata('description');\n\t}\n\n\tpublic function author()\n\t{\n\t\treturn $this->getMetadata('author');\n\t}\n\n\tpublic function email()\n\t{\n\t\treturn $this->getMetadata('email');\n\t}\n\n\tpublic function website()\n\t{\n\t\treturn $this->getMetadata('website');\n\t}\n\n\tpublic function position()\n\t{\n\t\treturn $this->getValue('position');\n\t}\n\n\tpublic function version()\n\t{\n\t\treturn $this->getMetadata('version');\n\t}\n\n\tpublic function releaseDate()\n\t{\n\t\treturn $this->getMetadata('releaseDate');\n\t}\n\n\tpublic function className()\n\t{\n\t\treturn $this->className;\n\t}\n\n\tpublic function formButtons()\n\t{\n\t\treturn $this->formButtons;\n\t}\n\n\tpublic function isCompatible()\n\t{\n\t\t$bluditRoot = explode('.', BLUDIT_VERSION);\n\t\t$compatible = explode(',', $this->getMetadata('compatible'));\n\t\tforeach ($compatible as $version) {\n\t\t\t$root = explode('.', $version);\n\t\t\tif ($root[0] == $bluditRoot[0] && $root[1] == $bluditRoot[1]) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic function directoryName()\n\t{\n\t\treturn $this->directoryName;\n\t}\n\n\t// Return TRUE if the installation success, otherwise FALSE.\n\tpublic function install($position = 1)\n\t{\n\t\tif ($this->installed()) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Create workspace\n\t\t$workspace = $this->workspace();\n\t\tmkdir($workspace, DIR_PERMISSIONS, true);\n\n\t\t// Create plugin directory for the database\n\t\tmkdir(PATH_PLUGINS_DATABASES . $this->directoryName, DIR_PERMISSIONS, true);\n\n\t\t$this->dbFields['position'] = $position;\n\t\t// Sanitize default values to store in the file\n\t\tforeach ($this->dbFields as $key => $value) {\n\t\t\t$value = Sanitize::html($value);\n\t\t\tsettype($value, gettype($this->dbFields[$key]));\n\t\t\t$this->db[$key] = $value;\n\t\t}\n\n\t\t// Create the database\n\t\treturn $this->save();\n\t}\n\n\tpublic function uninstall()\n\t{\n\t\t// Delete database\n\t\t$path = PATH_PLUGINS_DATABASES . $this->directoryName;\n\t\tFilesystem::deleteRecursive($path);\n\n\t\t// Delete workspace\n\t\t$workspace = $this->workspace();\n\t\tFilesystem::deleteRecursive($workspace);\n\n\t\treturn true;\n\t}\n\n\t// Returns TRUE if the plugin is installed\n\t// This function just check if the database of the plugin is created\n\tpublic function installed()\n\t{\n\t\treturn file_exists($this->filenameDb);\n\t}\n\n\tpublic function workspace()\n\t{\n\t\treturn PATH_WORKSPACES . $this->directoryName . DS;\n\t}\n\n\tpublic function init()\n\t{\n\t\t// This method is used on children classes\n\t\t// The user can define his own field of the database\n\t}\n\n\tpublic function prepare()\n\t{\n\t\t// This method is used on children classes\n\t\t// The user can prepare the plugin, when it is installed\n\t}\n\n\tpublic function post()\n\t{\n\t\t$args = $_POST;\n\t\tforeach ($this->dbFields as $field => $value) {\n\t\t\tif (isset($args[$field])) {\n\t\t\t\t$finalValue = Sanitize::html($args[$field]);\n\t\t\t\tif ($finalValue === 'false') {\n\t\t\t\t\t$finalValue = false;\n\t\t\t\t} elseif ($finalValue === 'true') {\n\t\t\t\t\t$finalValue = true;\n\t\t\t\t}\n\t\t\t\tsettype($finalValue, gettype($value));\n\t\t\t\t$this->db[$field] = $finalValue;\n\t\t\t}\n\t\t}\n\t\treturn $this->save();\n\t}\n\n\tpublic function type()\n\t{\n\t\treturn $this->getMetadata('type');\n\t}\n\n\tpublic function setField($field, $value)\n\t{\n\t\t$this->db[$field] = Sanitize::html($value);\n\t\treturn $this->save();\n\t}\n\n\tpublic function setPosition($position)\n\t{\n\t\treturn $this->setField('position', $position);\n\t}\n\n\t// Returns the parameters after the URI, FALSE if the URI doesn't match with the webhook\n\t// Example: https://www.mybludit.com/api/foo/bar\n\tpublic function webhook($URI = false, $returnsAfterURI = false, $fixed = true)\n\t{\n\t\tglobal $url;\n\n\t\tif (empty($URI)) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Check URI start with the webhook\n\t\t$startString = HTML_PATH_ROOT . $URI;\n\t\t$URI = $url->uri();\n\t\t$length = mb_strlen($startString, CHARSET);\n\t\tif (mb_substr($URI, 0, $length) != $startString) {\n\t\t\treturn false;\n\t\t}\n\n\t\t$afterURI = mb_substr($URI, $length);\n\t\tif (!empty($afterURI)) {\n\t\t\tif ($fixed) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif ($afterURI[0] != '/') {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tif ($returnsAfterURI) {\n\t\t\treturn $afterURI;\n\t\t}\n\n\t\tLog::set(__METHOD__ . LOG_SEP . 'Webhook requested.');\n\t\treturn true;\n\t}\n}\n"
  },
  {
    "path": "bl-kernel/admin/controllers/about.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\n// Title of the page\n$layout['title'] = $L->g('About') . ' - ' . $layout['title'];"
  },
  {
    "path": "bl-kernel/admin/controllers/api.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\n// ============================================================================\n// Check role\n// ============================================================================\n\ncheckRole(array('admin'));\n\n// ============================================================================\n// Functions\n// ============================================================================\n\n// ============================================================================\n// Main before POST\n// ============================================================================\n\n// ============================================================================\n// POST Method\n// ============================================================================\n\n// ============================================================================\n// Main after POST\n// ============================================================================\n\nactivatePlugin('pluginAPI');\n$apiURL = DOMAIN_BASE.'api/';\n$pluginAPI = getPlugin('pluginAPI');\n$apiToken = $pluginAPI->getToken();\n$username = $login->username();\n$admin = new User($username);\n$authToken = $admin->tokenAuth();\n$output = array(\n\t'apiURL'=>$apiURL,\n\t'username'=>$username,\n\t'apiToken'=>$apiToken,\n\t'authToken'=>$authToken\n);\nexit(json_encode($output));\n\n?>"
  },
  {
    "path": "bl-kernel/admin/controllers/categories.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\n// ============================================================================\n// Check role\n// ============================================================================\n\ncheckRole(array('admin'));\n\n// ============================================================================\n// Functions\n// ============================================================================\n\n// ============================================================================\n// Main before POST\n// ============================================================================\n\n// ============================================================================\n// POST Method\n// ============================================================================\n\n// ============================================================================\n// Main after POST\n// ============================================================================\n\n// Title of the page\n$layout['title'] .= ' - '.$L->g('Categories');"
  },
  {
    "path": "bl-kernel/admin/controllers/configure-plugin.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\n// ============================================================================\n// Check role\n// ============================================================================\n\ncheckRole(array('admin'));\n\n// ============================================================================\n// Functions\n// ============================================================================\n\n// ============================================================================\n// Main before POST\n// ============================================================================\n$plugin = false;\n$pluginClassName = $layout['parameters'];\n\n// Check if the plugin exists\nif (isset($plugins['all'][$pluginClassName])) {\n\t$plugin = $plugins['all'][$pluginClassName];\n} else {\n\tRedirect::page('plugins');\n}\n\n// Check if the plugin has the method form()\nif (!method_exists($plugin, 'form')) {\n\tRedirect::page('plugins');\n}\n\n// ============================================================================\n// POST Method\n// ============================================================================\n\nif ($_SERVER['REQUEST_METHOD'] == 'POST') {\n\t// Add to syslog\n\t$syslog->add(array(\n\t\t'dictionaryKey'=>'plugin-configured',\n\t\t'notes'=>$plugin->name()\n\t));\n\n\t// Call the method post of the plugin\n\t$plugin->post();\n\tAlert::set( $L->g('The changes have been saved') );\n\tRedirect::page('configure-plugin/'.$plugin->className());\n}\n\n// ============================================================================\n// Main after POST\n// ============================================================================\n\n// Title of the page\n$layout['title'] = $L->g('Plugin').' - '.$plugin->name().' - '.$layout['title'];"
  },
  {
    "path": "bl-kernel/admin/controllers/content.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\n// ============================================================================\n// Check role\n// ============================================================================\n\ncheckRole(array('admin', 'editor', 'author'));\n\n// ============================================================================\n// Functions\n// ============================================================================\n\n// Returns the content belongs to the current user if the user has the role Editor\nfunction filterContentOwner($list) {\n\tglobal $login;\n\tglobal $pages;\n\t$tmp = array();\n\tforeach ($list as $pageKey) {\n\t\tif ($pages->db[$pageKey]['username']==$login->username()) {\n\t\t\tarray_push($tmp, $pageKey);\n\t\t}\n\t}\n\treturn $tmp;\n}\n\n// ============================================================================\n// Main before POST\n// ============================================================================\n\n// ============================================================================\n// POST Method\n// ============================================================================\n\n// ============================================================================\n// Main after POST\n// ============================================================================\n\n$published = $pages->getList($url->pageNumber(), ITEMS_PER_PAGE_ADMIN);\n$drafts = $pages->getDraftDB(true);\n$scheduled = $pages->getScheduledDB(true);\n$static = $pages->getStaticDB(true);\n$sticky = $pages->getStickyDB(true);\n$autosave = $pages->getAutosaveDB(true);\n\n// If the user is an Author filter the content he/she can edit\nif (checkRole(array('author'), false)) {\n\t$published \t= filterContentOwner($published);\n\t$drafts \t= filterContentOwner($drafts);\n\t$scheduled \t= filterContentOwner($scheduled);\n\t$static \t= filterContentOwner($static);\n\t$sticky \t= filterContentOwner($sticky);\n}\n\n// Check if out of range the pageNumber\nif (empty($published) && $url->pageNumber()>1) {\n\tRedirect::page('content');\n}\n\n// Title of the page\n$layout['title'] .= ' - '.$L->g('Manage content');"
  },
  {
    "path": "bl-kernel/admin/controllers/dashboard.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\n// ============================================================================\n// Functions\n// ============================================================================\nfunction updateBludit() {\n\tglobal $site;\n\tglobal $syslog;\n\n\t// New installation\n\tif ($site->currentBuild()==0) {\n\t\t$site->set(array('currentBuild'=>BLUDIT_BUILD));\n\t}\n\n\t// Check if Bludit need to be updated\n\tif ( ($site->currentBuild() < BLUDIT_BUILD) || isset($_GET['update']) ) {\n\t\tLog::set('UPDATE SYSTEM - Starting.');\n\n\t\t// Updates only for version less than Bludit v3.0 rc-3\n\t\tif ($site->currentBuild()<='20180910') {\n\t\t\t@mkdir(PATH_WORKSPACES, DIR_PERMISSIONS, true);\n\t\t\t$plugins = array('pluginVisitsStats', 'pluginRSS', 'pluginSitemap', 'pluginTimeMachineX', 'pluginBackup');\n\t\t\tforeach ($plugins as $plugin) {\n\t\t\t\tif (pluginActivated($plugin)) {\n\t\t\t\t\tLog::set('UPDATE SYSTEM - Re-enable plugin: '.$plugin);\n\t\t\t\t\tdeactivatePlugin($plugin);\n\t\t\t\t\tactivatePlugin($plugin);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Updates only for version less than Bludit v3.1\n\t\tif ($site->currentBuild()<='20180921') {\n\t\t\t@mkdir(PATH_UPLOADS_PAGES, DIR_PERMISSIONS, true);\n\t\t\t$site->set(array('imageRelativeToAbsolute'=>true, 'imageRestrict'=>false));\n\t\t}\n\n\t\t// Set the current build number\n\t\t$site->set(array('currentBuild'=>BLUDIT_BUILD));\n\t\tLog::set('UPDATE SYSTEM - Finished.');\n\n\t\t// Add to syslog\n\t\t$syslog->add(array(\n\t\t\t'dictionaryKey'=>'system-updated',\n\t\t\t'notes'=>'Bludit v'.BLUDIT_VERSION\n\t\t));\n\t}\n}\n\n// ============================================================================\n// Main before POST\n// ============================================================================\n\n// ============================================================================\n// POST Method\n// ============================================================================\n\n// ============================================================================\n// Main after POST\n// ============================================================================\n\n// Try update Bludit\nupdateBludit();\n\n// Title of the page\n$layout['title'] .= ' - '.$L->g('Dashboard');"
  },
  {
    "path": "bl-kernel/admin/controllers/developers.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\n// ============================================================================\n// Check role\n// ============================================================================\n\ncheckRole(array('admin'));\n\n// ============================================================================\n// Functions\n// ============================================================================\n\n// This function is used on the VIEW to show the tables\nfunction printTable($title, $array) {\n\techo '<h2 class=\"mb-2 mt-4\">'.$title.'</h2>';\n\techo '<table class=\"table table-striped mt-3\">\n\t\t<tbody>\n\t';\n\n\tforeach ($array as $key=>$value) {\n\t\tif($value===false) { $value = 'false'; }\n\t\telseif($value===true) { $value = 'true'; }\n\t\techo '<tr>';\n\t\techo '<td>'.$key.'</td>';\n\t\tif (is_array($value)) {\n\t\t\techo '<td>'.json_encode($value).'</td>';\n\t\t} else {\n\t\t\techo '<td>'.Sanitize::html($value).'</td>';\n\t\t}\n\t\techo '</tr>';\n\t}\n\n\techo '\n\t\t</tbody>\n\t\t</table>\n\t';\n}\n\n// ============================================================================\n// Main before POST\n// ============================================================================\n\n// ============================================================================\n// POST Method\n// ============================================================================\n\n// ============================================================================\n// Main after POST\n// ============================================================================\n\n$layout['title'] .= ' - '.$L->g('Developers');"
  },
  {
    "path": "bl-kernel/admin/controllers/edit-category.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\n// ============================================================================\n// Check role\n// ============================================================================\n\ncheckRole(array('admin'));\n\n// ============================================================================\n// Functions\n// ============================================================================\n\n// ============================================================================\n// Main before POST\n// ============================================================================\n\n// ============================================================================\n// POST Method\n// ============================================================================\n\nif ($_SERVER['REQUEST_METHOD'] == 'POST') {\n\tif ($_POST['action']=='delete') {\n\t\tdeleteCategory($_POST);\n\t} elseif ($_POST['action']=='edit') {\n\t\teditCategory($_POST);\n\t}\n\n\tRedirect::page('categories');\n}\n\n// ============================================================================\n// Main after POST\n// ============================================================================\n$categoryKey = $layout['parameters'];\n\nif (!$categories->exists($categoryKey)) {\n\tLog::set(__METHOD__.LOG_SEP.'Error occurred when trying to get the category: '.$categoryKey);\n\tRedirect::page('categories');\n}\n\n$categoryMap = $categories->getMap($categoryKey);\n\n// Title of the page\n$layout['title'] .= ' - '.$L->g('Edit Category').' [ '.$categoryMap['name'] . ' ] ';"
  },
  {
    "path": "bl-kernel/admin/controllers/edit-content.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\n// ============================================================================\n// Check role\n// ============================================================================\n\nif (checkRole(array('author'), false)) {\n\ttry {\n\t\t$pageKey = isset($_POST['key']) ? $_POST['key'] : $layout['parameters'];\n\t\t$page = new Page($pageKey);\n\t} catch (Exception $e) {\n\t\tAlert::set($L->g('You do not have sufficient permissions'));\n\t\tRedirect::page('dashboard');\n\t}\n\n\tif ($page->username()!==$login->username()) {\n\t\t// Add to syslog\n\t\t$syslog->add(array(\n\t\t\t'dictionaryKey'=>'access-denied',\n\t\t\t'notes'=>$login->username()\n\t\t));\n\n\t\tAlert::set($L->g('You do not have sufficient permissions'));\n\t\tRedirect::page('dashboard');\n\t}\n}\n\n// ============================================================================\n// Functions\n// ============================================================================\n\n// ============================================================================\n// Main before POST\n// ============================================================================\n\n// ============================================================================\n// POST Method\n// ============================================================================\n\nif ($_SERVER['REQUEST_METHOD'] == 'POST') {\n\tif ($_POST['type']==='delete') {\n\t\t// Get the page type before deleting to redirect to the correct tab\n\t\tif (empty($_POST['tab'])) {\n\t\t\ttry {\n\t\t\t\t$pageToDelete = new Page($_POST['key']);\n\t\t\t\t$pageType = $pageToDelete->type();\n\t\t\t\tif ($pageType === 'autosave') {\n\t\t\t\t\t$_POST['tab'] = 'autosave';\n\t\t\t\t} elseif ($pageType === 'draft') {\n\t\t\t\t\t$_POST['tab'] = 'draft';\n\t\t\t\t} elseif ($pageType === 'scheduled') {\n\t\t\t\t\t$_POST['tab'] = 'scheduled';\n\t\t\t\t} elseif ($pageType === 'static') {\n\t\t\t\t\t$_POST['tab'] = 'static';\n\t\t\t\t} else {\n\t\t\t\t\t$_POST['tab'] = 'pages';\n\t\t\t\t}\n\t\t\t} catch (Exception $e) {\n\t\t\t\t$_POST['tab'] = 'pages';\n\t\t\t}\n\t\t}\n\n\t\tif (deletePage($_POST['key'])) {\n\t\t\tAlert::set( $L->g('The changes have been saved') );\n\t\t}\n\t} else {\n\t\t$key = editPage($_POST);\n\t\tif ($key!==false) {\n\t\t\tAlert::set( $L->g('The changes have been saved') );\n\t\t\tRedirect::page('edit-content/'.$key);\n\t\t}\n\t}\n\n\tif (!empty($_POST['tab'])) {\n\t\t$tab = preg_replace('/[^a-zA-Z0-9_-]/', '', $_POST['tab']);\n\t\tRedirect::page('content#'.$tab);\n\t}\n\tRedirect::page('content');\n}\n\n// ============================================================================\n// Main after POST\n// ============================================================================\ntry {\n\t$pageKey = $layout['parameters'];\n\t$page = new Page($pageKey);\n} catch (Exception $e) {\n\tLog::set(__METHOD__.LOG_SEP.'Error occurred when trying to get the page: '.$pageKey, LOG_TYPE_ERROR);\n\tRedirect::page('content');\n}\n\n// Images prefix directory\ndefine('PAGE_IMAGES_KEY', $page->uuid());\n\n// Images and thubmnails directories\nif (IMAGE_RESTRICT) {\n\tdefine('PAGE_IMAGES_DIRECTORY', (IMAGE_RELATIVE_TO_ABSOLUTE? '' : HTML_PATH_UPLOADS_PAGES.PAGE_IMAGES_KEY.'/'));\n\tdefine('PAGE_IMAGES_URL', (IMAGE_RELATIVE_TO_ABSOLUTE? '' : DOMAIN_UPLOADS_PAGES.PAGE_IMAGES_KEY.'/'));\n\tdefine('PAGE_THUMBNAILS_DIRECTORY', PATH_UPLOADS_PAGES.PAGE_IMAGES_KEY.DS.'thumbnails'.DS);\n\tdefine('PAGE_THUMBNAILS_HTML', HTML_PATH_UPLOADS_PAGES.PAGE_IMAGES_KEY.'/thumbnails/');\n\tdefine('PAGE_THUMBNAILS_URL', DOMAIN_UPLOADS_PAGES.PAGE_IMAGES_KEY.'/thumbnails/');\n} else {\n\tdefine('PAGE_IMAGES_DIRECTORY', (IMAGE_RELATIVE_TO_ABSOLUTE? '' : HTML_PATH_UPLOADS));\n\tdefine('PAGE_IMAGES_URL', (IMAGE_RELATIVE_TO_ABSOLUTE? '' : DOMAIN_UPLOADS));\n\tdefine('PAGE_THUMBNAILS_DIRECTORY', PATH_UPLOADS_THUMBNAILS);\n\tdefine('PAGE_THUMBNAILS_HTML', HTML_PATH_UPLOADS_THUMBNAILS);\n\tdefine('PAGE_THUMBNAILS_URL', DOMAIN_UPLOADS_THUMBNAILS);\n}\n\n// Title of the page\n$layout['title'] .= ' - '.$L->g('Edit content').' - '.$page->title();\n"
  },
  {
    "path": "bl-kernel/admin/controllers/edit-user.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\n// ============================================================================\n// Functions\n// ============================================================================\n\n// ============================================================================\n// Main before POST\n// ============================================================================\n\n// ============================================================================\n// POST Method\n// ============================================================================\n\nif ($_SERVER['REQUEST_METHOD'] == 'POST') {\n\t// Prevent non-administrators to change other users\n\tif ($login->role()!=='admin') {\n\t\t$_POST['username'] = $login->username();\n\t\tunset($_POST['role']);\n\t}\n\n\tif (isset($_POST['deleteUserAndDeleteContent']) && ($login->role()==='admin')) {\n\t\t$_POST['deleteContent'] = true;\n\t\tdeleteUser($_POST);\n\t} elseif (isset($_POST['deleteUserAndKeepContent']) && ($login->role()==='admin')) {\n\t\t$_POST['deleteContent'] = false;\n\t\tdeleteUser($_POST);\n\t} elseif (isset($_POST['disableUser']) && ($login->role()==='admin')) {\n\t\tdisableUser(array('username'=>$_POST['username']));\n\t} else {\n\t\teditUser($_POST);\n\t}\n\n\tAlert::set($L->g('The changes have been saved'));\n\n\tif ($login->role()==='admin') {\n\t\tRedirect::page('users');\n\t}\n\tRedirect::page('edit-user/'.$login->username());\n}\n\n// ============================================================================\n// Main after POST\n// ============================================================================\n\n$username = $layout['parameters'];\n\n// Prevent non-administrators to change other users\nif ($login->role()!=='admin') {\n\t$username = $login->username();\n}\n\ntry {\n\t$user = new User($username);\n} catch (Exception $e) {\n\tRedirect::page('users');\n}\n\n// Title of the page\n$layout['title'] = $L->g('Edit user').' - '.$layout['title'];"
  },
  {
    "path": "bl-kernel/admin/controllers/install-plugin.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\n// ============================================================================\n// Check role\n// ============================================================================\n\ncheckRole(array('admin'));\n\n// ============================================================================\n// Functions\n// ============================================================================\n\n// ============================================================================\n// Main before POST\n// ============================================================================\n\n// ============================================================================\n// POST Method\n// ============================================================================\n\n// ============================================================================\n// Main after POST\n// ============================================================================\n$pluginClassName = $layout['parameters'];\nif (!activatePlugin($pluginClassName)) {\n\tLog::set('Fail when try to activate the plugin.', LOG_TYPE_ERROR);\n}\n\nif (isset($plugins['all'][$pluginClassName])) {\n\t$plugin = $plugins['all'][$pluginClassName];\n} else {\n\tRedirect::page('plugins');\n}\n\nif (method_exists($plugin, 'form')) {\n\tRedirect::page('configure-plugin/'.$pluginClassName);\n}\n\nRedirect::page('plugins#'.$pluginClassName);\n"
  },
  {
    "path": "bl-kernel/admin/controllers/install-theme.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\n// ============================================================================\n// Check role\n// ============================================================================\n\ncheckRole(array('admin'));\n\n// ============================================================================\n// Functions\n// ============================================================================\n\n// ============================================================================\n// Main before POST\n// ============================================================================\n\n// ============================================================================\n// POST Method\n// ============================================================================\n\n// ============================================================================\n// Main after POST\n// ============================================================================\n$themeDirectory = $layout['parameters'];\n\n// Activate theme\nactivateTheme($themeDirectory);\n\n// Redirect\nRedirect::page('themes');\n"
  },
  {
    "path": "bl-kernel/admin/controllers/login.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\n// ============================================================================\n// Check role\n// ============================================================================\n\n// ============================================================================\n// Functions\n// ============================================================================\n\nfunction checkLogin($args)\n{\n\tglobal $security;\n\tglobal $login;\n\tglobal $L;\n\n\tif ($security->isBlocked()) {\n\t\tAlert::set($L->g('IP address has been blocked').'<br>'.$L->g('Try again in a few minutes'), ALERT_STATUS_FAIL);\n\t\treturn false;\n\t}\n\n\tif ($login->verifyUser($_POST['username'], $_POST['password'])) {\n\t\tif (isset($_POST['remember'])) {\n\t\t\t$login->setRememberMe($_POST['username']);\n\t\t}\n\t\t// Renew the token. This token will be the same inside the session for multiple forms.\n\t\t$security->generateTokenCSRF();\n\n\t\tif (isset($_GET['enableAPI'])) {\n\t\t\tRedirect::page('api');\n\t\t}\n\t\tRedirect::page('dashboard');\n\t\treturn true;\n\t}\n\n\t// Bruteforce protection, add IP to the blacklist\n\t$security->addToBlacklist();\n\n\t// Create alert\n\tAlert::set($L->g('Username or password incorrect'), ALERT_STATUS_FAIL);\n\treturn false;\n}\n\nfunction checkRememberMe()\n{\n\tglobal $security;\n\tglobal $login;\n\n\tif ($security->isBlocked()) {\n\t\treturn false;\n\t}\n\n\tif ($login->verifyUserByRemember()) {\n\t\t$security->generateTokenCSRF();\n\t\tRedirect::page('dashboard');\n\t\treturn true;\n\t}\n\n\treturn false;\n}\n\n// ============================================================================\n// Main before POST\n// ============================================================================\n\nif ($_SERVER['REQUEST_METHOD']!=='POST') {\n\tcheckRememberMe();\n}\n\n// ============================================================================\n// POST Method\n// ============================================================================\n\nif ($_SERVER['REQUEST_METHOD']=='POST') {\n\tcheckLogin($_POST);\n}\n\n// ============================================================================\n// Main after POST\n// ============================================================================\n"
  },
  {
    "path": "bl-kernel/admin/controllers/logout.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\n// ============================================================================\n// Check role\n// ============================================================================\n\n// ============================================================================\n// Functions\n// ============================================================================\n\n// ============================================================================\n// Main before POST\n// ============================================================================\n\n// ============================================================================\n// POST Method\n// ============================================================================\n\n// ============================================================================\n// Main after POST\n// ============================================================================\n\nif ($login->logout()) {\n\tRedirect::admin();\n}\n"
  },
  {
    "path": "bl-kernel/admin/controllers/new-category.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\n// ============================================================================\n// Check role\n// ============================================================================\n\ncheckRole(array('admin'));\n\n// ============================================================================\n// Functions\n// ============================================================================\n\n// ============================================================================\n// Main before POST\n// ============================================================================\n\n// ============================================================================\n// POST Method\n// ============================================================================\n\nif ($_SERVER['REQUEST_METHOD'] == 'POST') {\n\tif (createCategory($_POST)) {\n\t\tRedirect::page('categories');\n\t}\n}\n\n// ============================================================================\n// Main after POST\n// ============================================================================\n\n// Title of the page\n$layout['title'] .= ' - '.$L->g('New category');"
  },
  {
    "path": "bl-kernel/admin/controllers/new-content.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\n// ============================================================================\n// Check role\n// ============================================================================\n\ncheckRole(array('admin', 'editor', 'author'));\n\n// ============================================================================\n// Functions\n// ============================================================================\n\n// ============================================================================\n// Main before POST\n// ============================================================================\n\n// ============================================================================\n// POST Method\n// ============================================================================\n\nif ($_SERVER['REQUEST_METHOD'] == 'POST') {\n\tcreatePage($_POST);\n\tRedirect::page('content');\n}\n\n// ============================================================================\n// Main after POST\n// ============================================================================\n\n// UUID of the page is need it for autosave and media manager\n$uuid = $pages->generateUUID();\n\n// Images prefix directory\ndefine('PAGE_IMAGES_KEY', $uuid);\n\n// Images and thubmnails directories\nif (IMAGE_RESTRICT) {\n\tdefine('PAGE_IMAGES_DIRECTORY', (IMAGE_RELATIVE_TO_ABSOLUTE? '' : HTML_PATH_UPLOADS_PAGES.PAGE_IMAGES_KEY.'/'));\n\tdefine('PAGE_IMAGES_URL', (IMAGE_RELATIVE_TO_ABSOLUTE? '' : DOMAIN_UPLOADS_PAGES.PAGE_IMAGES_KEY.'/'));\n\tdefine('PAGE_THUMBNAILS_DIRECTORY', PATH_UPLOADS_PAGES.PAGE_IMAGES_KEY.DS.'thumbnails'.DS);\n\tdefine('PAGE_THUMBNAILS_HTML', HTML_PATH_UPLOADS_PAGES.PAGE_IMAGES_KEY.'/thumbnails/');\n\tdefine('PAGE_THUMBNAILS_URL', DOMAIN_UPLOADS_PAGES.PAGE_IMAGES_KEY.'/thumbnails/');\n} else {\n\tdefine('PAGE_IMAGES_DIRECTORY', (IMAGE_RELATIVE_TO_ABSOLUTE? '' : HTML_PATH_UPLOADS));\n\tdefine('PAGE_IMAGES_URL', (IMAGE_RELATIVE_TO_ABSOLUTE? '' : DOMAIN_UPLOADS));\n\tdefine('PAGE_THUMBNAILS_DIRECTORY', PATH_UPLOADS_THUMBNAILS);\n\tdefine('PAGE_THUMBNAILS_HTML', HTML_PATH_UPLOADS_THUMBNAILS);\n\tdefine('PAGE_THUMBNAILS_URL', DOMAIN_UPLOADS_THUMBNAILS);\n}\n\n// Title of the page\n$layout['title'] = $L->g('New content').' - '.$layout['title'];"
  },
  {
    "path": "bl-kernel/admin/controllers/new-user.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\n// ============================================================================\n// Check role\n// ============================================================================\n\ncheckRole(array('admin'));\n\n// ============================================================================\n// Functions\n// ============================================================================\n\n// ============================================================================\n// Main before POST\n// ============================================================================\n\n// ============================================================================\n// POST Method\n// ============================================================================\n\nif ($_SERVER['REQUEST_METHOD'] == 'POST') {\n\tif (createUser($_POST)) {\n\t\tRedirect::page('users');\n\t}\n}\n\n// ============================================================================\n// Main after POST\n// ============================================================================\n\n// Title of the page\n$layout['title'] .= ' - '.$L->g('Add a new user');"
  },
  {
    "path": "bl-kernel/admin/controllers/plugins-position.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\n// ============================================================================\n// Check role\n// ============================================================================\n\ncheckRole(array('admin'));\n\n// ============================================================================\n// Functions\n// ============================================================================\n\n// ============================================================================\n// Main before POST\n// ============================================================================\nif ($_SERVER['REQUEST_METHOD'] == 'POST') {\n\tchangePluginsPosition(explode(',',$_POST['plugin-list']));\n\tRedirect::page('plugins-position');\n}\n// ============================================================================\n// POST Method\n// ============================================================================\n\n// ============================================================================\n// Main after POST\n// ============================================================================\n\n// Title of the page\n$layout['title'] .= ' - '.$L->g('Plugins');"
  },
  {
    "path": "bl-kernel/admin/controllers/plugins.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\n// ============================================================================\n// Check role\n// ============================================================================\n\ncheckRole(array('admin'));\n\n// ============================================================================\n// Functions\n// ============================================================================\n\n// ============================================================================\n// Main before POST\n// ============================================================================\n\n// ============================================================================\n// POST Method\n// ============================================================================\n\n// ============================================================================\n// Main after POST\n// ============================================================================\n\n// Title of the page\n$layout['title'] .= ' - '.$L->g('Plugins');"
  },
  {
    "path": "bl-kernel/admin/controllers/settings.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\n// ============================================================================\n// Check role\n// ============================================================================\n\ncheckRole(array('admin'));\n\n// ============================================================================\n// Functions\n// ============================================================================\n\n// ============================================================================\n// Main after POST\n// ============================================================================\n\n// ============================================================================\n// POST Method\n// ============================================================================\n\nif ($_SERVER['REQUEST_METHOD'] == 'POST') {\n\teditSettings($_POST);\n\tRedirect::page('settings');\n}\n\n// ============================================================================\n// Main after POST\n// ============================================================================\n\n// Title of the page\n$layout['title'] .= ' - '.$L->g('Advanced Settings');"
  },
  {
    "path": "bl-kernel/admin/controllers/themes.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\n// ============================================================================\n// Check role\n// ============================================================================\n\ncheckRole(array('admin'));\n\n// ============================================================================\n// Main after POST\n// ============================================================================\n\n// ============================================================================\n// POST Method\n// ============================================================================\n\n// ============================================================================\n// Main after POST\n// ============================================================================\n\n$themes = buildThemes();\n\n// Title of the page\n$layout['title'] .= ' - '.$L->g('Themes');"
  },
  {
    "path": "bl-kernel/admin/controllers/uninstall-plugin.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\n// ============================================================================\n// Check role\n// ============================================================================\n\ncheckRole(array('admin'));\n\n// ============================================================================\n// Functions\n// ============================================================================\n\n// ============================================================================\n// Main before POST\n// ============================================================================\n\n// ============================================================================\n// POST Method\n// ============================================================================\n\n// ============================================================================\n// Main after POST\n// ============================================================================\n$pluginClassName = $layout['parameters'];\ndeactivatePlugin($pluginClassName);\nRedirect::page('plugins');"
  },
  {
    "path": "bl-kernel/admin/controllers/user-password.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\n// ============================================================================\n// Functions\n// ============================================================================\n\n// ============================================================================\n// Main before POST\n// ============================================================================\n\n// ============================================================================\n// POST Method\n// ============================================================================\n\nif ($_SERVER['REQUEST_METHOD'] == 'POST') {\n\t// Prevent non-administrators to change other users\n\t$username = $_POST['username'];\n\tif ($login->role()!=='admin') {\n\t    $username = $login->username();\n\t}\n\n\tif (changeUserPassword(array(\n\t\t'username'=>$username,\n\t\t'newPassword'=>$_POST['newPassword'],\n\t\t'confirmPassword'=>$_POST['confirmPassword']\n\t))) {\n\t\tif ($login->role()==='admin') {\n\t\t\tRedirect::page('users');\n\t\t}\n\t\tRedirect::page('edit-user/'.$login->username());\n\t}\n}\n\n// ============================================================================\n// Main after POST\n// ============================================================================\n\n// Prevent non-administrators to change other users\nif ($login->role()!=='admin') {\n\t$layout['parameters'] = $login->username();\n}\n\ntry {\n\t$username = $layout['parameters'];\n\t$user = new User($username);\n} catch (Exception $e) {\n\tRedirect::page('users');\n}\n\n// Title of the page\n$layout['title'] = $L->g('Change password').' - '.$layout['title'];"
  },
  {
    "path": "bl-kernel/admin/controllers/users.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\n// ============================================================================\n// Check role\n// ============================================================================\n\ncheckRole(array('admin'));\n\n// ============================================================================\n// Functions\n// ============================================================================\n\n// ============================================================================\n// Main after POST\n// ============================================================================\n\n// ============================================================================\n// POST Method\n// ============================================================================\n\nif( $_SERVER['REQUEST_METHOD'] == 'POST' )\n{\n\t$site->set($_POST);\n}\n\n// ============================================================================\n// Main after POST\n// ============================================================================\n\n// Title of the page\n$layout['title'] .= ' - '.$L->g('Users');"
  },
  {
    "path": "bl-kernel/admin/themes/booty/css/bludit.bootstrap.css",
    "content": "a {\n\tcolor: var(--primary-blue, #1e88e5);\n\ttransition: color 0.2s ease;\n}\n\na:hover {\n\tcolor: var(--primary-blue-dark, #1565c0);\n\ttext-decoration: none;\n}\n\n.bg-success {\n\tbackground-color: #8BC34A!important;\n}\n\n.text-primary {\n\tcolor: var(--primary-blue, #1e88e5)!important;\n}\n\n.text-danger {\n\tcolor: #D40000!important;\n}\na.text-danger:focus,\na.text-danger:hover {\n\tcolor: #790000!important;\n}\n\n/* Buttons */\n.btn {\n\tfont-weight: var(--font-weight-medium, 550);\n\tfont-size: var(--font-size-base, 0.945rem);\n\tpadding: 12px 24px;\n\tborder-radius: var(--radius-sm, 4px);\n\ttransition: all 0.3s ease;\n}\n\n.btn-primary {\n\tbackground: var(--primary-blue, #0078D4);\n\tborder: none;\n\tfont-weight: var(--font-weight-semibold, 650);\n}\n\n.btn-primary:hover {\n\tbackground: var(--primary-blue-dark, #005A9E);\n\tborder: none;\n\ttransform: translateY(-1px);\n}\n\n.btn-secondary {\n\tbackground-color: var(--color-secondary, #64748B);\n\tborder: none;\n\tfont-weight: var(--font-weight-semibold, 650);\n}\n\n.btn-secondary:hover {\n\tbackground-color: var(--color-secondary-dark, #475569);\n\tborder: none;\n\ttransform: translateY(-1px);\n}\n\n.btn-light {\n\tbackground-color: var(--bg-light, #f8f9fa);\n\tborder: 2px solid var(--border-color, #e2e8f0);\n\tfont-weight: var(--font-weight-medium, 550);\n}\n\n.btn-light:hover {\n\tbackground-color: var(--bg-sidebar, #F1F5F9);\n\tborder-color: var(--border-light, #cbd5e1);\n\ttransform: translateY(-1px);\n}\n\n.btn-danger {\n\tbackground: var(--color-danger, #DC2626);\n\tborder: none;\n\tfont-weight: var(--font-weight-semibold, 650);\n}\n\n.btn-danger:hover {\n\tbackground: var(--color-danger-dark, #B91C1C);\n\tborder: none;\n\ttransform: translateY(-1px);\n}\n\n.btn-success {\n\tbackground: var(--color-success, #16A34A);\n\tborder: none;\n\tfont-weight: var(--font-weight-semibold, 650);\n}\n\n.btn-success:hover {\n\tbackground: var(--color-success-dark, #15803D);\n\tborder: none;\n\ttransform: translateY(-1px);\n}\n\n.btn-sm {\n\tpadding: 8px 16px;\n\tfont-size: var(--font-size-sm, 0.925rem);\n}\n\n.btn-lg {\n\tpadding: 16px 32px;\n\tfont-size: var(--font-size-lg, 1.08rem);\n}\n\n.btn-light.focus, .btn-light:focus {\n\tbox-shadow: none;\n}\n\n.btn.focus, .btn:focus {\n\tbox-shadow: none;\n}\n\n/* Form */\n.form-control {\n\tfont-size: var(--font-size-base, 0.945rem);\n\tfont-weight: var(--font-weight-normal, 450);\n\tpadding: 12px 16px;\n\tborder: 2px solid var(--border-color, #e2e8f0);\n\tborder-radius: var(--radius-sm, 4px);\n\ttransition: all 0.2s ease;\n}\n\nlabel {\n\tfont-weight: var(--font-weight-semibold, 650);\n\tcolor: var(--text-primary, #0F172A);\n\tmargin-bottom: 8px;\n\tfont-size: var(--font-size-base, 0.945rem);\n}\n\n/* Cards */\n.card {\n\tborder: none;\n\tborder-radius: var(--radius-md, 8px);\n}\n\n.card:hover {\n}\n\n.card-header {\n\tbackground: transparent;\n\tborder-bottom: 1px solid var(--border-color, #e2e8f0);\n\tfont-weight: var(--font-weight-bold, 750);\n\tfont-size: var(--font-size-lg, 1.08rem);\n}\n\n/* Tables */\n.table-striped tbody tr:nth-of-type(odd) {\n\tbackground-color: var(--bg-warm, #faf8f5);\n}\n\n.table-striped tbody tr:hover {\n\tbackground-color: var(--bg-warm-card, #f7f5f2);\n}\n\n.table thead th {\n\tfont-size: var(--font-size-xs, 0.8rem);\n\ttext-transform: uppercase!important;\n\tfont-weight: var(--font-weight-bold, 750);\n\tcolor: var(--text-secondary, #475569);\n\tletter-spacing: 0.8px;\n\tborder-bottom: 2px solid var(--border-color, #e2e8f0);\n}\n\n.table td {\n\tfont-size: var(--font-size-base, 0.945rem);\n\tfont-weight: var(--font-weight-normal, 450);\n\tvertical-align: middle;\n}\n\n/* Headings */\nh1, h2, h3, h4, h5, h6 {\n\tcolor: var(--text-primary, #0F172A);\n\tfont-weight: var(--font-weight-bold, 750);\n\tletter-spacing: -0.02em;\n}\n\nh1 { font-size: var(--font-size-3xl, 2.25rem); }\nh2 { font-size: var(--font-size-2xl, 1.75rem); }\nh3 { font-size: var(--font-size-xl, 1.4rem); }\nh4 { font-size: var(--font-size-lg, 1.08rem); }\nh5 { font-size: var(--font-size-base, 0.945rem); }\nh6 { font-size: var(--font-size-sm, 0.925rem); }\n\n/* Badge */\n.badge {\n\tfont-size: var(--font-size-xs, 0.8rem);\n\tfont-weight: var(--font-weight-semibold, 650);\n\tpadding: 6px 12px;\n\tborder-radius: var(--radius-sm, 4px);\n}\n\n.badge-primary {\n\tbackground: var(--primary-blue, #0078D4);\n}\n"
  },
  {
    "path": "bl-kernel/admin/themes/booty/css/bludit.css",
    "content": ":root {\n\t/* Dynamic font sizing */\n\t--font-size-xs: 0.72rem;\n\t--font-size-sm: 0.833rem;\n\t--font-size-base: 0.945rem;\n\t--font-size-lg: 1.08rem;\n\t--font-size-xl: 1.26rem;\n\t--font-size-2xl: 1.575rem;\n\t--font-size-3xl: 2.025rem;\n\n\t/* Font weights */\n\t--font-weight-normal: 450;\n\t--font-weight-medium: 550;\n\t--font-weight-semibold: 650;\n\t--font-weight-bold: 750;\n\n\t/* Royal Azure Solid Blue colors */\n\t--primary-blue: #0078D4;\n\t--primary-blue-dark: #005A9E;\n\t--primary-blue-darker: #004578;\n\t--primary-gradient: #0078D4;\n\n\t/* UI colors */\n\t--bg-main: #F8FAFC;\n\t--bg-sidebar: #F1F5F9;\n\t--text-primary: #1E293B;\n\t--text-secondary: #475569;\n\t--text-muted: #94A3B8;\n\t--border-color: #E2E8F0;\n\t--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);\n\t--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);\n\n\t/* Warm neutral accents */\n\t--bg-warm: #faf8f5;\n\t--bg-warm-card: #f7f5f2;\n\t--border-warm: #e8e6e3;\n\n\t/* Radius scale */\n\t--radius-sm: 4px;\n\t--radius-md: 8px;\n\n\t/* Semantic colors */\n\t--color-info: #0078D4;\n\t--color-danger: #DC2626;\n\t--color-danger-dark: #B91C1C;\n\t--color-success: #16A34A;\n\t--color-success-dark: #15803D;\n\t--color-secondary: #64748B;\n\t--color-secondary-dark: #475569;\n\t--bg-card: #FFFFFF;\n\t--bg-light: #f8f9fa;\n\t--border-light: #cbd5e1;\n\t--primary-blue-hover-bg: rgba(0, 120, 212, 0.06);\n}\n\nhtml {\n\theight: 100%;\n\tfont-size: var(--font-size-base);\n\tbackground: var(--bg-main);\n}\n\nbody {\n\tbackground: var(--bg-main);\n\tcolor: var(--text-primary);\n\tfont-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;\n\tline-height: 1.6;\n\tfont-weight: var(--font-weight-normal);\n\t-webkit-font-smoothing: antialiased;\n\t-moz-osx-font-smoothing: grayscale;\n}\n\n/* Prevent events in iframes */\n/* iframe{\n\tpointer-events: none;\n} */\n\n/*\n\tICONS\n*/\n.fa {\n\tmargin-right: .5rem !important;\n\tline-height: inherit;\n}\n\n/*\n\tSIDEBAR\n*/\n\ndiv.sidebar {\n\tbackground: var(--bg-sidebar);\n\tborder-right: 1px solid var(--border-color);\n\tborder-left: 1px solid var(--border-color);\n\tpadding: 10px 15px;\n}\n\ndiv.sidebar .nav-item a {\n\tpadding-left: 5px;\n\tpadding-right: 5px;\n\tcolor: var(--text-primary);\n\tpadding-top: 6px;\n\tpadding-bottom: 6px;\n\tfont-size: var(--font-size-base);\n\tfont-weight: var(--font-weight-normal);\n\ttransition: color 0.2s ease, transform 0.2s ease;\n}\n\ndiv.sidebar .nav-item a:hover {\n\tcolor: var(--primary-blue);\n\ttransform: translateX(3px);\n}\n\ndiv.sidebar .nav-item a.active,\ndiv.sidebar .nav-item a:focus {\n\tcolor: var(--primary-blue);\n}\n\ndiv.sidebar .nav-item h4 {\n\tfont-size: var(--font-size-xs);\n\ttext-transform: uppercase;\n\tfont-weight: var(--font-weight-bold);\n\tmargin-top: 15px;\n\tpadding-left: 5px;\n\tcolor: var(--text-secondary);\n\tletter-spacing: 0.8px;\n}\n\n/*\n\tQUICK SEARCH - SPOTLIGHT STYLE\n*/\n\n/* Trigger Button */\n.quick-search-trigger {\n\tposition: relative;\n\twidth: 100%;\n\tpadding: 16px;\n\tbackground: white;\n\tborder: 2px solid var(--border-color);\n\tborder-radius: var(--radius-sm);\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 12px;\n\tcursor: pointer;\n\ttransition: all 0.2s ease;\n}\n\n.quick-search-trigger:hover {\n\tborder-color: var(--primary-blue);\n}\n\n.quick-search-trigger .quick-search-icon {\n\twidth: 40px;\n\theight: 40px;\n\tborder-radius: var(--radius-sm);\n\tbackground: var(--primary-gradient);\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tflex-shrink: 0;\n}\n\n.quick-search-trigger .quick-search-icon .fa {\n\tcolor: white;\n\tfont-size: 16px;\n\tmargin: 0 !important;\n}\n\n.quick-search-text {\n\tflex: 1;\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 2px;\n}\n\n#hello-text {\n\tcolor: var(--text-primary);\n\tfont-size: var(--font-size-base);\n\tfont-weight: var(--font-weight-medium);\n}\n\n.quick-search-hint {\n\tcolor: var(--text-secondary);\n\tfont-size: var(--font-size-sm);\n\tfont-weight: var(--font-weight-normal);\n}\n\n.quick-search-shortcut {\n\tpadding: 6px 12px;\n\tbackground: var(--bg-main);\n\tborder: 1px solid var(--border-color);\n\tborder-radius: var(--radius-sm);\n\tfont-size: var(--font-size-sm);\n\tcolor: var(--text-secondary);\n\tfont-weight: var(--font-weight-medium);\n\tfont-family: monospace;\n}\n\n/* Modal Overlay */\n.quick-search-modal {\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\twidth: 100%;\n\theight: 100%;\n\tz-index: 9999;\n\tdisplay: none;\n\talign-items: flex-start;\n\tjustify-content: center;\n\tpadding-top: 15vh;\n}\n\n.quick-search-modal.active {\n\tdisplay: flex;\n}\n\n.quick-search-overlay {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\twidth: 100%;\n\theight: 100%;\n\tbackground: rgba(0, 0, 0, 0.6);\n\tbackdrop-filter: blur(8px);\n\t-webkit-backdrop-filter: blur(8px);\n\tanimation: fadeIn 0.2s ease;\n}\n\n@keyframes fadeIn {\n\tfrom { opacity: 0; }\n\tto { opacity: 1; }\n}\n\n/* Modal Content */\n.quick-search-content {\n\tposition: relative;\n\twidth: 90%;\n\tmax-width: 680px;\n\tmax-height: 80vh;\n\tbackground: var(--bg-card);\n\tborder-radius: var(--radius-md);\n\tbox-shadow: var(--shadow-md);\n\tanimation: slideDown 0.3s cubic-bezier(0.16, 1, 0.3, 1);\n\toverflow: hidden;\n\tdisplay: flex;\n\tflex-direction: column;\n}\n\n@keyframes slideDown {\n\tfrom {\n\t\topacity: 0;\n\t\ttransform: translateY(-20px) scale(0.96);\n\t}\n\tto {\n\t\topacity: 1;\n\t\ttransform: translateY(0) scale(1);\n\t}\n}\n\n.quick-search-header {\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 16px;\n\tpadding: 24px;\n\tborder-bottom: 1px solid var(--border-color);\n\tflex-shrink: 0;\n}\n\n.quick-search-header .fa-search {\n\tcolor: var(--text-secondary);\n\tfont-size: 22px;\n\tmargin: 0 !important;\n\tflex-shrink: 0;\n}\n\n.quick-search-input {\n\tflex: 1;\n\tborder: none !important;\n\tbackground: transparent !important;\n\tpadding: 0 !important;\n\tfont-size: var(--font-size-xl) !important;\n\tfont-weight: var(--font-weight-normal) !important;\n\toutline: none !important;\n\tbox-shadow: none !important;\n\tline-height: 1.5 !important;\n}\n\n.quick-search-input::placeholder {\n\tcolor: var(--text-muted) !important;\n\tfont-size: var(--font-size-xl) !important;\n}\n\n.quick-search-results {\n\tflex: 1;\n\toverflow-y: auto;\n\tmin-height: 150px;\n\tmax-height: calc(80vh - 120px);\n}\n\n.search-no-results {\n\tpadding: 32px 24px;\n\ttext-align: center;\n\tcolor: var(--text-secondary);\n\tfont-size: var(--font-size-base);\n}\n\n.search-suggestion {\n\tdisplay: block;\n\tpadding: 12px 16px;\n\ttransition: background 0.15s ease;\n\tcursor: pointer;\n\tborder-bottom: 1px solid rgba(0, 0, 0, 0.04);\n\ttext-decoration: none;\n\tcolor: inherit;\n}\n\n.search-suggestion:last-child {\n\tborder-bottom: none;\n}\n\n.search-suggestion:hover {\n\tbackground: var(--primary-blue-hover-bg);\n}\n\n.search-suggestion .fa {\n\tcolor: var(--primary-blue);\n\tmargin-right: 14px !important;\n\twidth: 22px;\n\ttext-align: center;\n\tfont-size: 16px;\n}\n\n.search-suggestion-item {\n\tfont-weight: var(--font-weight-medium);\n\tcolor: var(--text-primary);\n\tmargin-bottom: 6px;\n\tfont-size: var(--font-size-lg);\n\tline-height: 1.4;\n}\n\n.search-suggestion-options {\n\tfont-size: var(--font-size-sm);\n\tpadding-top: 4px;\n}\n\n.search-suggestion-options a {\n\tcolor: var(--primary-blue);\n\tmargin-right: 16px;\n\tfont-weight: var(--font-weight-medium);\n\ttext-decoration: none;\n\ttransition: color 0.2s ease;\n}\n\n.search-suggestion-options a:hover {\n\tcolor: var(--primary-blue-dark);\n\ttext-decoration: underline;\n}\n\n/*\n\tBOOTSTRAP Hacks\n*/\n\n@media (min-width: 1200px) {\n\t.container {\n\t\tmax-width: 1600px;\n\t}\n}\n\n/* for small devices */\n@media (max-width: 575.98px) {\n\n\t#jsmediaManagerButton,\n\t#jscategoryButton,\n\t#jsdescriptionButton {\n\t\twidth: 100%;\n\t\ttext-align: left;\n\t}\n}\n\n\n\n\n.btn-light {\n\tcolor: #212529;\n\tbackground-color: #f3f3f3;\n\tborder-color: #ced4d9;\n}\n\n.btn-form {\n\tbackground-color: #F3F3F3;\n\tborder-color: #DDD;\n\tcolor: #000;\n}\n\n.btn-form:hover {\n\tbackground-color: rgb(228, 228, 228);\n\tborder-color: #DDD;\n\tcolor: #000;\n}\n\n\n\ncode {\n\tpadding: 3px 5px 2px;\n\tmargin: 0 1px;\n\tbackground: #eaeaea;\n\tbackground: rgba(0, 0, 0, .07);\n\tcolor: #444;\n}\n\n.list-group-sortable {\n\tcursor: pointer;\n}\n\n.modal-body {\n\tpadding: 2rem;\n}\n\n.modal-footer {\n\tbackground-color: rgb(247, 247, 247);\n}\n\n.modal-dialog .btn-link {\n\tcolor: #000;\n}\n\n/*\n\tLOGIN\n*/\n\nbody.login {\n\tbackground: rgb(255, 255, 255);\n\tbackground: linear-gradient(0deg, rgba(255, 255, 255, 1) 0%, rgba(250, 250, 250, 1) 53%);\n\theight: 100%;\n}\n\n\n/*\n\tDASHBOARD\n*/\n\n#dashboard ul.list-group.list-group-striped {\n\tborder: 1px solid var(--border-color);\n\tborder-radius: var(--radius-md);\n\toverflow: hidden;\n\tbackground: var(--bg-card);\n}\n\n#dashboard ul.list-group.list-group-striped li {\n\tborder: none;\n\toverflow-wrap: anywhere;\n\tfont-size: var(--font-size-sm);\n\tfont-weight: var(--font-weight-normal);\n\tpadding: 10px 18px;\n\tcolor: var(--text-primary);\n\ttransition: background 0.2s ease;\n}\n\n#dashboard ul.list-group.list-group-striped li:first-child {\n\tbackground: var(--bg-card);\n\tcolor: var(--text-primary);\n\tpadding: 14px 18px;\n\tborder-bottom: 1px solid var(--border-color);\n}\n\n#dashboard ul.list-group.list-group-striped li:first-child h4 {\n\tcolor: var(--text-primary);\n\tfont-size: var(--font-size-sm);\n\tfont-weight: var(--font-weight-bold);\n\ttext-transform: uppercase;\n\tletter-spacing: 0.6px;\n\tmargin: 0;\n}\n\n#dashboard ul.list-group.list-group-striped li:nth-of-type(even):not(:first-child) {\n\tbackground: var(--bg-light);\n}\n\n#dashboard ul.list-group.list-group-striped li:hover:not(:first-child) {\n\tbackground: var(--primary-blue-hover-bg);\n}\n\n#dashboard ul.list-group.list-group-striped li .notification-date {\n\tcolor: var(--text-secondary);\n\tfont-size: var(--font-size-xs);\n\tmargin-top: 2px;\n\tdisplay: block;\n}\n\n#dashboard div.quick-links-icons {\n\tfont-size: 2.5em;\n\twidth: 100%;\n}\n\n#dashboard a.quick-links {\n\tcolor: var(--text-secondary);\n\ttransition: all 0.2s ease;\n}\n\n#dashboard a.quick-links:hover {\n\ttext-decoration: none;\n\tcolor: var(--primary-blue);\n\ttransform: translateY(-2px);\n}\n\n\n/*\n\tDASHBOARD METRIC CARDS\n*/\n\n.card.metric-card {\n\tborder: 1px solid var(--border-color);\n\tborder-radius: var(--radius-md);\n\theight: 100%;\n\tbackground: var(--bg-card);\n\tbox-shadow: none;\n}\n\n.card.metric-card .card-body > .d-flex {\n\tpadding-bottom: 12px;\n\tborder-bottom: 1px solid var(--border-color);\n}\n\n.metric-card .card-body {\n\tpadding: 22px;\n}\n\n.metric-card .card-title {\n\tfont-size: var(--font-size-sm);\n\tfont-weight: var(--font-weight-bold);\n\tcolor: var(--text-secondary);\n\ttext-transform: uppercase;\n\tletter-spacing: 0.6px;\n\tmargin: 0;\n}\n\n.metric-value {\n\tfont-size: var(--font-size-2xl);\n\tfont-weight: var(--font-weight-bold);\n\tcolor: var(--text-primary);\n\tline-height: 1.2;\n\tmargin-bottom: 4px;\n}\n\n.metric-label {\n\tfont-size: var(--font-size-xs);\n\tcolor: var(--text-muted);\n\tfont-weight: var(--font-weight-medium);\n\ttext-transform: uppercase;\n\tletter-spacing: 0.5px;\n}\n\n.metric-card-list {\n\tmax-height: 300px;\n\toverflow-y: auto;\n}\n\n\n/*\n\tDASHBOARD ANALYTICS SECTION\n*/\n\n.analytics-section {\n\tpadding: 22px;\n\tborder: 1px solid var(--border-color);\n\tborder-radius: var(--radius-md);\n\tbackground: var(--bg-card);\n}\n\n#dashboard .analytics-section ul.list-group.list-group-striped {\n\tborder: none;\n\tborder-radius: 0;\n\tbackground: transparent;\n}\n\n#dashboard .analytics-section ul.list-group.list-group-striped li:first-child {\n\tpadding: 0 0 12px 0;\n\tbackground: transparent;\n\tborder-bottom: 1px solid var(--border-color);\n}\n\n/*\n\tALERT\n*/\n\n#alert {\n\tdisplay: none;\n\tposition: fixed;\n\ttext-align: center;\n\tborder-radius: var(--radius-md);\n\tborder: 0;\n\tz-index: 1000;\n\tbottom: 20px;\n\tright: 20px;\n\tmargin: 0;\n\tfont-size: var(--font-size-base);\n\tpadding: 16px 24px;\n}\n\n.alert-success {\n\tbackground: var(--primary-gradient);\n\tborder-left: none !important;\n\tcolor: #ffffff;\n}\n\n.alert-danger {\n\tbackground: var(--color-danger);\n\tborder-left: none !important;\n\tcolor: #ffffff;\n}\n\n\n\n/*\n\tPLUGINS\n*/\n\n.plugin-form label {\n\tdisplay: block;\n\tmargin-top: 1rem !important;\n}\n\n.plugin-form input[type=\"text\"],\n.plugin-form textarea,\n.plugin-form select {\n\tdisplay: block;\n\twidth: 100%;\n\tpadding: 8px 12px;\n\tfont-size: var(--font-size-base);\n\tline-height: 1.5;\n\tcolor: var(--text-primary);\n\tbackground-color: var(--bg-card);\n\tbackground-clip: padding-box;\n\tborder: 1px solid var(--border-color);\n\tborder-radius: var(--radius-sm);\n\ttransition: border-color .15s ease-in-out;\n}\n\n.plugin-form textarea {\n\tmin-height: 120px;\n}\n\n.plugin-form span.tip {\n\tdisplay: block;\n\tfont-size: 80%;\n\tfont-weight: 400;\n\tmargin-top: .25rem;\n\tcolor: #6c757d !important;\n}\n\n/*\n\tManage > Content\n*/\n\ntd.child {\n\tpadding-left: 30px;\n}\n\n/* Truncate the URL column with ellipsis when it doesn't fit. */\ntd.contentURL a {\n\tdisplay: inline-block;\n\tmax-width: 30em;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\twhite-space: nowrap;\n\tvertical-align: middle;\n}\n\n/* Kebab actions dropdown */\n.actionsDropdownToggle {\n\tline-height: 1;\n\tfont-size: 1.25rem;\n}\n\n.actionsDropdownToggle:focus,\n.actionsDropdownToggle:hover {\n\ttext-decoration: none;\n\tcolor: var(--text-primary, #1E293B);\n}\n\n.actionsDropdownToggle:focus-visible {\n\toutline: 2px solid var(--primary-blue);\n\toutline-offset: 2px;\n}\n\n.actionsDropdown .dropdown-item i.fa {\n\twidth: 1.25em;\n\ttext-align: center;\n}\n\n/*\n\tManage > New Content\n*/\n\n#jseditor {\n\tbackground: #fff;\n\tpadding: 10px 5% !important;\n\tfont-size: 16px;\n\tline-height: 1.5em;\n\tborder: 1px solid #ced4da;\n}\n\n#jseditorSidebar {\n\tdisplay: none;\n\theight: calc(100% - 45px);\n\twidth: 50%;\n\tmax-width: 350px;\n\tposition: absolute;\n\tz-index: 50;\n\ttop: 45px;\n\tright: 15px;\n\tbackground-color: #fff;\n\toverflow-x: hidden;\n\ttransition: 0.5s;\n\tborder-left: 1px solid #ccc;\n\tborder-right: 1px solid #ccc;\n\tborder-top: 1px solid #ccc;\n}\n\n@media (max-width: 575.98px) {\n\t#jseditorSidebar {\n\t\twidth: 100%;\n\t\tmax-width: 100%;\n\t\tright: 0;\n\t}\n\n\t#jseditorToolbarRight button {\n\t\tfont-size: 0px !important;\n\t}\n\n\t#jseditorToolbarRight button span {\n\t\tfont-size: 16px !important;\n\t}\n\n\t.contentTools .btn {\n\t\tfont-size: 0px !important;\n\t\tmargin-right: 5px;\n\t}\n\n\t.contentTools .btn span {\n\t\tfont-size: 16px !important;\n\t}\n}\n\n#jseditorSidebar nav {\n\tbackground: #f3f3f3;\n}\n\n#jseditorSidebar nav a {\n\tcolor: #000;\n}\n\n#jseditorSidebar .nav-tabs .nav-link {\n\tborder: none;\n}\n\n#jseditorSidebar .nav-link.active {\n\tbackground: none;\n\tborder: none;\n\tborder-bottom: 3px solid #ccc;\n}\n\n#jsshadow {\n\tposition: absolute;\n\ttop: 0;\n\tright: 0;\n\tbottom: 0;\n\tleft: 0;\n\tbackground-color: rgba(72, 72, 72, 0.7);\n\tz-index: 10;\n\tdisplay: none;\n}\n\nimg.profilePicture {\n\twidth: 30px;\n\theight: 30px;\n\tborder-radius: 4px;\n\tborder: 1px solid #ccc;\n}\n\n/* Switch button */\n.switch-button {\n\tfont-size: 0.9em;\n\ttext-transform: uppercase;\n\tcursor: pointer;\n}\n\n.switch-icon-publish {\n\tcolor: #1cb11c;\n}\n\n/* Subtle focus style for form elements */\ninput:focus,\ntextarea:focus,\nselect:focus,\n.form-control:focus,\n.custom-select:focus,\n.btn:focus {\n\tborder-color: #b0bec5 !important;\n\tbox-shadow: none !important;\n\toutline: none !important;\n}\n"
  },
  {
    "path": "bl-kernel/admin/themes/booty/html/alert.php",
    "content": "<script charset=\"utf-8\">\n\tfunction showAlert(text) {\n\t\tconsole.log(\"[INFO] Function showAlert() called.\");\n\t\t$(\"#alert\").html(text);\n\t\t$(\"#alert\").slideDown().delay(<?php echo ALERT_DISAPPEAR_IN*1000 ?>).slideUp();\n\t}\n\n\t<?php if (Alert::defined()): ?>\n\tsetTimeout(function(){ showAlert(\"<?php echo Alert::get() ?>\") }, 500);\n\t<?php endif; ?>\n\n\t$(window).click(function() {\n\t\t$(\"#alert\").hide();\n\t});\n</script>\n\n<div id=\"alert\" class=\"alert <?php echo (Alert::status()==ALERT_STATUS_FAIL)?'alert-danger':'alert-success' ?>\"></div>\n"
  },
  {
    "path": "bl-kernel/admin/themes/booty/html/media.php",
    "content": "<?php\n// Preload the first chunk of files to avoid an AJAX round-trip the first time\n// the Media Manager is opened. Scans originals and resolves each thumbnail,\n// mirroring the shape returned by ajax/list-images.\nif (IMAGE_RESTRICT) {\n\t$mediaImagesPath = PATH_UPLOADS_PAGES.PAGE_IMAGES_KEY.DS;\n\t$mediaThumbnailsPath = PATH_UPLOADS_PAGES.PAGE_IMAGES_KEY.DS.'thumbnails'.DS;\n} else {\n\t$mediaImagesPath = PATH_UPLOADS;\n\t$mediaThumbnailsPath = PATH_UPLOADS_THUMBNAILS;\n}\n$listOfFilesByPage = mediaManagerListImages($mediaImagesPath, $mediaThumbnailsPath, MEDIA_MANAGER_NUMBER_OF_FILES);\n$preLoadFiles = !empty($listOfFilesByPage[0]) ? $listOfFilesByPage[0] : array();\n\n// Amount of pages for the paginator\n$numberOfPages = count($listOfFilesByPage);\n?>\n\n<div id=\"jsmediaManagerModal\" class=\"modal\" tabindex=\"-1\" role=\"dialog\">\n<div class=\"modal-dialog modal-lg\">\n<div class=\"modal-content\">\n<div class=\"container-fluid\">\n<div class=\"row\">\n\t<div class=\"col p-3\">\n\n\t<!--\n\t\tUPLOAD INPUT\n\t-->\n\t\t<h3 class=\"mt-2 mb-3\"><i class=\"fa fa-image\"></i> <?php $L->p('Images'); ?></h3>\n\n\t\t<div id=\"jsalertMedia\" class=\"alert alert-warning d-none\" role=\"alert\"></div>\n\n\t\t<!-- Form and Input file -->\n\t\t<form name=\"bluditFormUpload\" id=\"jsbluditFormUpload\" enctype=\"multipart/form-data\">\n\t\t\t<div class=\"custom-file\">\n\t\t\t\t<input type=\"file\" class=\"custom-file-input\" id=\"jsimages\" name=\"images[]\" multiple>\n\t\t\t\t<label class=\"custom-file-label\" for=\"jsimages\"><?php $L->p('Choose images to upload'); ?></label>\n\t\t\t</div>\n\t\t</form>\n\n\t\t<!-- Progress bar -->\n\t\t<div class=\"progress mt-3\">\n\t\t\t<div id=\"jsbluditProgressBar\" class=\"progress-bar bg-primary\" role=\"progressbar\" style=\"width:0%\"></div>\n\t\t</div>\n\n\t<!--\n\t\tIMAGES LIST\n\t-->\n\t\t<!-- Table for list files -->\n\t\t<table id=\"jsbluditMediaTable\" class=\"table mt-3\">\n\t\t\t<tr>\n\t\t\t\t<td><?php $L->p('There are no images'); ?></td>\n\t\t\t</tr>\n\t\t</table>\n\n\t\t<!-- Paginator -->\n\t\t<nav id=\"jsbluditMediaTablePagination\"></nav>\n\n\t</div>\n</div>\n</div>\n</div>\n</div>\n</div>\n\n<script>\n\n<?php\necho 'var preLoadFiles = '.json_encode($preLoadFiles).';';\n?>\n\nfunction openMediaManager() {\n\t$('#jsmediaManagerModal').modal('show');\n}\n\nfunction closeMediaManager() {\n\t$('#jsmediaManagerModal').modal('hide');\n}\n\n// Remove all files from the table\nfunction cleanTable() {\n\t$('#jsbluditMediaTable').empty();\n}\n\nfunction showMediaAlert(message) {\n\t$(\"#jsalertMedia\").html(message).removeClass('d-none');\n}\n\nfunction hideMediaAlert() {\n\t$(\"#jsalertMedia\").addClass('d-none');\n}\n\n// Show the files in the table\nfunction displayFiles(files, numberOfPages = <?= $numberOfPages ?>) {\n\tif (!Array.isArray(files)) {\n\t\treturn false;\n\t}\n\n\t// Clean table\n\tcleanTable();\n\n\t// Regenerate the table\n\tif (files.length > 0) {\n\t\t$.each(files, function(key, item) {\n\t\t\tvar filename = item.filename;\n\t\t\tvar image = \"<?php echo PAGE_IMAGES_URL; ?>\"+filename;\n\t\t\t// item.thumbnail is empty when no thumbnail file exists (thumbnails\n\t\t\t// disabled, generation failed, format unsupported by GD). Fall back\n\t\t\t// to the original image so the preview never 404s.\n\t\t\tvar thumbnail = item.thumbnail ? \"<?php echo PAGE_THUMBNAILS_URL; ?>\"+item.thumbnail : image;\n\n\t\t\ttableRow = '<tr id=\"js'+filename+'\">'+\n\t\t\t\t\t'<td style=\"width:80px\"><img class=\"img-thumbnail\" alt=\"200x200\" src=\"'+thumbnail+'\" style=\"width: 50px; height: 50px;\"><\\/td>'+\n\t\t\t\t\t'<td class=\"information\">'+\n\t\t\t\t\t\t'<div class=\"text-secondary pb-2\">'+filename+'<\\/div>'+\n\t\t\t\t\t\t'<div>'+\n\t\t\t\t\t\t\t'<a href=\"#\" class=\"mr-3 text-primary\" onClick=\"editorInsertMedia(\\''+image+'\\'); closeMediaManager();\"><i class=\"fa fa-plus-circle\"></i><?php $L->p('Insert') ?><\\/a>'+\n\t\t\t\t\t\t\t'<a href=\"#\" class=\"mr-3 text-primary\" onClick=\"editorInsertMedia(\\''+thumbnail+'\\'); closeMediaManager();\"><i class=\"fa fa-image\"></i><?php $L->p('Insert thumbnail') ?><\\/a>'+\n\t\t\t\t\t\t\t'<a href=\"#\" class=\"mr-3 text-primary\" onClick=\"editorInsertLinkedMedia(\\''+thumbnail+'\\',\\''+image+'\\'); closeMediaManager();\"><i class=\"fa fa-link\"></i><?php $L->p('Insert linked thumbnail') ?><\\/a>'+\n\t\t\t\t\t\t'<a href=\"#\" class=\"text-primary\" onClick=\"setCoverImage(\\''+filename+'\\'); closeMediaManager();\"><i class=\"fa fa-desktop\"></i><?php $L->p('Set as cover image') ?><\\/a>'+\n\t\t\t\t\t\t\t'<a href=\"#\" class=\"float-right text-danger\" onClick=\"deleteMedia(\\''+filename+'\\')\"><i class=\"fa fa-trash-o\"></i><?php $L->p('Delete') ?><\\/a>'+\n\t\t\t\t\t\t'<\\/div>'+\n\t\t\t\t\t'<\\/td>'+\n\t\t\t\t'<\\/tr>';\n\t\t\t$('#jsbluditMediaTable').append(tableRow);\n\t\t});\n\n\t\tmediaPagination = '<ul class=\"pagination justify-content-center flex-wrap\">';\n\t\tfor (var i = 1; i <= numberOfPages; i++) {\n\t\t\tmediaPagination += '<li class=\"page-item\"><button type=\"button\" class=\"btn btn-link page-link\" onClick=\"getFiles('+i+')\">'+i+'</button></li>';\n\t\t}\n\t\tmediaPagination += '</ul>';\n\t\t$('#jsbluditMediaTablePagination').html(mediaPagination);\n\n\t}\n\n\tif (files.length == 0) {\n\t\t$('#jsbluditMediaTable').html(\"<p><?php (IMAGE_RESTRICT ? $L->p('There are no images for the page') : $L->p('There are no images')) ?></p>\");\n\t\t$('#jsbluditMediaTablePagination').html('');\n\t}\n}\n\n// Get the list of files via AJAX, filter by the page number\nfunction getFiles(pageNumber) {\n\t$.post(HTML_PATH_ADMIN_ROOT+\"ajax/list-images\",\n\t\t{ \ttokenCSRF: tokenCSRF,\n\t\t\tpageNumber: pageNumber,\n\t\t\tuuid: \"<?php echo PAGE_IMAGES_KEY ?>\",\n\t\t\tpath: \"thumbnails\" // the paths are defined in ajax/list-images\n\t\t},\n\t\tfunction(data) { // success function\n\t\t\tif (data.status==0) {\n\t\t\t\tdisplayFiles(data.files, data.numberOfPages);\n\t\t\t} else {\n\t\t\t\tconsole.log(data.message);\n\t\t\t}\n\t\t}\n\t);\n}\n\n// Delete the file and the thumbnail if exist\nfunction deleteMedia(filename) {\n\t$.post(HTML_PATH_ADMIN_ROOT+\"ajax/delete-image\",\n\t\t{ \ttokenCSRF: tokenCSRF,\n\t\t\tfilename: filename,\n\t\t\tuuid: \"<?php echo PAGE_IMAGES_KEY; ?>\"\n\t\t},\n\t\tfunction(data) { // success function\n\t\t\tif (data.status==0) {\n\t\t\t\tgetFiles(1);\n\t\t\t} else {\n\t\t\t\tconsole.log(data.message);\n\t\t\t}\n\t\t}\n\t);\n}\n\nfunction setCoverImage(filename) {\n\tvar image = \"<?php echo PAGE_IMAGES_URL; ?>\"+filename;\n\t$(\"#jscoverImage\").val(filename);\n\t$(\"#jscoverImagePreview\").attr(\"src\", image);\n}\n\nfunction uploadImages() {\n\t// Remove current alerts\n\thideMediaAlert();\n\n\tvar images = $(\"#jsimages\")[0].files;\n\tfor (var i=0; i < images.length; i++) {\n\t\t// Check file type/extension\n\t\tconst validImageTypes = ['image/gif', 'image/jpeg', 'image/png', 'image/svg+xml', 'image/webp'];\n\t\tif (!validImageTypes.includes(images[i].type)) {\n\t\t\tshowMediaAlert(\"<?php echo $L->g('File type is not supported. Allowed types:').' '.implode(', ',$GLOBALS['ALLOWED_IMG_EXTENSION']) ?>\");\n\t\t\treturn false;\n\t\t}\n\n\t\t// Check file size and compare with PHP upload_max_filesize\n\t\tif (images[i].size > UPLOAD_MAX_FILESIZE) {\n\t\t\tshowMediaAlert(\"<?php echo $L->g('Maximum load file size allowed:').' '.ini_get('upload_max_filesize') ?>\");\n\t\t\treturn false;\n\t\t}\n\t};\n\n\t// Clean progress bar\n\t$(\"#jsbluditProgressBar\").removeClass().addClass(\"progress-bar bg-primary\");\n\t$(\"#jsbluditProgressBar\").width(\"0\");\n\n\t// Data to send via AJAX\n\tvar formData = new FormData($(\"#jsbluditFormUpload\")[0]);\n\tformData.append(\"uuid\", \"<?php echo PAGE_IMAGES_KEY ?>\");\n\tformData.append(\"tokenCSRF\", tokenCSRF);\n\n\t$.ajax({\n\t\turl: HTML_PATH_ADMIN_ROOT+\"ajax/upload-images\",\n\t\ttype: \"POST\",\n\t\tdata: formData,\n\t\tcache: false,\n\t\tcontentType: false,\n\t\tprocessData: false,\n\t\txhr: function() {\n\t\t\tvar xhr = $.ajaxSettings.xhr();\n\t\t\tif (xhr.upload) {\n\t\t\t\txhr.upload.addEventListener(\"progress\", function(e) {\n\t\t\t\t\tif (e.lengthComputable) {\n\t\t\t\t\t\tvar percentComplete = (e.loaded / e.total)*100;\n\t\t\t\t\t\t$(\"#jsbluditProgressBar\").width(percentComplete+\"%\");\n\t\t\t\t\t}\n\t\t\t\t}, false);\n\t\t\t}\n\t\t\treturn xhr;\n\t\t}\n\t}).done(function(data) {\n\t\tif (data.status==0) {\n\t\t\t$(\"#jsbluditProgressBar\").removeClass(\"bg-primary\").addClass(\"bg-success\");\n\t\t\t// Get the files for the first page, including uploaded files\n\t\t\tgetFiles(1);\n\t\t} else {\n\t\t\t$(\"#jsbluditProgressBar\").removeClass(\"bg-primary\").addClass(\"bg-danger\");\n\t\t\tshowMediaAlert(data.message);\n\t\t}\n\t});\n}\n\n$(document).ready(function() {\n\t// Display the files preloaded for the first time\n\tdisplayFiles(preLoadFiles);\n\n\t// Select image event\n\t$(\"#jsimages\").on(\"change\", function(e) {\n\t\tuploadImages();\n\t});\n\n\t// Drag and drop image\n\t$(window).on(\"dragover dragenter\", function(e) {\n\t\te.preventDefault();\n\t\te.stopPropagation();\n\t\topenMediaManager();\n\t});\n\n\t// Drag and drop image\n\t$(window).on(\"drop\", function(e) {\n\t\te.preventDefault();\n\t\te.stopPropagation();\n\t\t$(\"#jsimages\").prop(\"files\", e.originalEvent.dataTransfer.files);\n\t\tuploadImages();\n\t});\n});\n\n</script>\n"
  },
  {
    "path": "bl-kernel/admin/themes/booty/html/navbar.php",
    "content": "<nav class=\"navbar navbar-expand-lg navbar-dark bg-dark text-uppercase d-block d-lg-none\">\n\t<div class=\"container\">\n\t\t<span class=\"navbar-brand\">\n\t\t\t<?php echo (defined('BLUDIT_PRO'))?'BLUDIT PRO':'BLUDIT' ?></span>\n\t\t<button class=\"navbar-toggler\" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbarNav\" aria-controls=\"navbarNav\" aria-expanded=\"false\"\n\t\t aria-label=\"Toggle navigation\">\n\t\t\t<span class=\"navbar-toggler-icon\"></span>\n\t\t</button>\n\t\t<div class=\"collapse navbar-collapse\" id=\"navbarNav\">\n\t\t\t<ul class=\"navbar-nav\">\n\t\t\t\t<li class=\"nav-item\">\n\t\t\t\t\t<a class=\"nav-link\" href=\"<?php echo HTML_PATH_ADMIN_ROOT.'dashboard' ?>\">\n\t\t\t\t\t\t<?php $L->p('Dashboard') ?></a>\n\t\t\t\t</li>\n\t\t\t\t<li class=\"nav-item\">\n\t\t\t\t\t<a class=\"nav-link\" href=\"<?php echo HTML_PATH_ROOT ?>\">\n\t\t\t\t\t\t<?php $L->p('Website') ?></a>\n\t\t\t\t</li>\n\t\t\t\t<li class=\"nav-item\">\n\t\t\t\t\t<a class=\"nav-link\" href=\"<?php echo HTML_PATH_ADMIN_ROOT.'new-content' ?>\">\n\t\t\t\t\t\t<?php $L->p('New content') ?></a>\n\t\t\t\t</li>\n\t\t\t\t<li class=\"nav-item\">\n\t\t\t\t\t<a class=\"nav-link\" href=\"<?php echo HTML_PATH_ADMIN_ROOT.'content' ?>\">\n\t\t\t\t\t\t<?php $L->p('Content') ?></a>\n\t\t\t\t</li>\n\t\t\t\t<?php if (!checkRole(array('admin'),false)): ?>\n\t\t\t\t    <li class=\"nav-item\">\n\t\t\t\t\t<a class=\"nav-link\" href=\"<?php echo HTML_PATH_ADMIN_ROOT.'edit-user/'.$login->username() ?>\">\n\t\t\t\t\t    <?php $L->p('Profile') ?></a>\n\t\t\t\t    </li>\n\t\t\t\t<?php endif; ?>\n\t\t\t\t<?php if (checkRole(array('admin'),false)): ?>\n\t\t\t\t\t\t<li class=\"nav-item\">\n\t\t\t\t\t\t\t<a class=\"nav-link\" href=\"<?php echo HTML_PATH_ADMIN_ROOT.'categories' ?>\">\n\t\t\t\t\t\t\t\t<?php $L->p('Categories') ?></a>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t\t<li class=\"nav-item\">\n\t\t\t\t\t\t\t<a class=\"nav-link\" href=\"<?php echo HTML_PATH_ADMIN_ROOT.'users' ?>\">\n\t\t\t\t\t\t\t\t<?php $L->p('Users') ?></a>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t\t<li class=\"nav-item\">\n\t\t\t\t\t\t\t<a class=\"nav-link\" href=\"<?php echo HTML_PATH_ADMIN_ROOT.'settings' ?>\">\n\t\t\t\t\t\t\t\t<?php $L->p('Settings') ?></a>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t\t<li class=\"nav-item\">\n\t\t\t\t\t\t\t<a class=\"nav-link\" href=\"<?php echo HTML_PATH_ADMIN_ROOT.'plugins' ?>\">\n\t\t\t\t\t\t\t\t<?php $L->p('Plugins') ?></a>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t\t<li class=\"nav-item\">\n\t\t\t\t\t\t\t<a class=\"nav-link\" href=\"<?php echo HTML_PATH_ADMIN_ROOT.'themes' ?>\">\n\t\t\t\t\t\t\t\t<?php $L->p('Themes') ?></a>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t\t<li class=\"nav-item\">\n\t\t\t\t\t\t\t<a class=\"nav-link\" href=\"<?php echo HTML_PATH_ADMIN_ROOT.'about' ?>\">\n\t\t\t\t\t\t\t\t<?php $L->p('About') ?></a>\n\t\t\t\t\t\t</li>\n\t\t\t\t<?php endif; ?>\n\t\t\t\t<?php if (checkRole(array('admin'),false)): ?>\n\t\t\t\t    <?php\n\t\t\t\t    if (!empty($plugins['adminSidebar'])) {\n\t\t\t\t\tforeach ($plugins['adminSidebar'] as $pluginSidebar) {\n\t\t\t\t\t    echo '<li class=\"nav-item\">';\n\t\t\t\t\t    echo $pluginSidebar->adminSidebar();\n\t\t\t\t\t    echo '</li>';\n\t\t\t\t\t}\n\t\t\t\t    }\n\t\t\t\t    ?>\n\t\t\t\t<?php endif; ?>\n\t\t\t\t<li class=\"nav-item\">\n\t\t\t\t\t<a class=\"nav-link\" href=\"<?php echo HTML_PATH_ADMIN_ROOT.'logout' ?>\">\n\t\t\t\t\t\t<?php $L->p('Logout') ?></a>\n\t\t\t\t</li>\n\t\t\t</ul>\n\t\t</div>\n\t</div>\n</nav>\n"
  },
  {
    "path": "bl-kernel/admin/themes/booty/html/sidebar.php",
    "content": "<!-- Use .flex-column to set a vertical direction -->\n<ul class=\"nav flex-column pt-4\">\n\n\t<li class=\"nav-item mb-4\" style=\"display: flex; align-items: center;\">\n\t\t<div style=\"display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; background: var(--primary-gradient); border-radius: 8px; box-shadow: var(--shadow-sm); flex-shrink: 0;\">\n\t\t\t<img src=\"<?php echo HTML_PATH_CORE_IMG ?>logo.svg\" width=\"18\" height=\"18\" alt=\"bludit-logo\" style=\"filter: brightness(0) invert(1);\">\n\t\t</div>\n\t\t<span style=\"margin-left: 10px; font-weight: 600; font-size: 1rem; color: var(--text-primary); line-height: 1;\"><?php echo (defined('BLUDIT_PRO'))?'BLUDIT PRO':'BLUDIT' ?></span>\n\t</li>\n\n\t<li class=\"nav-item\">\n\t\t<a class=\"nav-link\" href=\"<?php echo HTML_PATH_ADMIN_ROOT.'dashboard' ?>\"><span class=\"fa fa-dashboard\"></span><?php $L->p('Dashboard') ?></a>\n\t</li>\n\t<li class=\"nav-item\">\n\t\t<a class=\"nav-link\" target=\"_blank\" href=\"<?php echo HTML_PATH_ROOT ?>\"><span class=\"fa fa-home\"></span><?php $L->p('Website') ?></a>\n\t</li>\n\n\t<li class=\"nav-item mt-3\">\n\t\t<a class=\"nav-link\" href=\"<?php echo HTML_PATH_ADMIN_ROOT.'new-content' ?>\"><span class=\"fa fa-plus-circle text-primary\"></span><?php $L->p('New content') ?></a>\n\t</li>\n\n\t<?php if (!checkRole(array('admin'),false)): ?>\n\t<li class=\"nav-item\">\n\t\t<a class=\"nav-link\" href=\"<?php echo HTML_PATH_ADMIN_ROOT.'content' ?>\"><span class=\"fa fa-archive\"></span><?php $L->p('Content') ?></a>\n\t</li>\n\t<li class=\"nav-item\">\n\t\t<a class=\"nav-link\" href=\"<?php echo HTML_PATH_ADMIN_ROOT.'edit-user/'.$login->username() ?>\"><span class=\"fa fa-user\"></span><?php $L->p('Profile') ?></a>\n\t</li>\n\t<?php endif; ?>\n\n\t<?php if (checkRole(array('admin'),false)): ?>\n\n\t<li class=\"nav-item mt-3\">\n\t\t<h4><?php $L->p('Manage') ?></h4>\n\t</li>\n\t<li class=\"nav-item\">\n\t\t<a class=\"nav-link\" href=\"<?php echo HTML_PATH_ADMIN_ROOT.'content' ?>\"><span class=\"fa fa-folder\"></span><?php $L->p('Content') ?></a>\n\t</li>\n\n\t<li class=\"nav-item\">\n\t\t<a class=\"nav-link\" href=\"<?php echo HTML_PATH_ADMIN_ROOT.'categories' ?>\"><span class=\"fa fa-bookmark\"></span><?php $L->p('Categories') ?></a>\n\t</li>\n\t<li class=\"nav-item\">\n\t\t<a class=\"nav-link\" href=\"<?php echo HTML_PATH_ADMIN_ROOT.'users' ?>\"><span class=\"fa fa-users\"></span><?php $L->p('Users') ?></a>\n\t</li>\n\n\t<li class=\"nav-item mt-3\">\n\t\t<h4><?php $L->p('Settings') ?></h4>\n\t</li>\n\t<li class=\"nav-item\">\n\t\t<a class=\"nav-link\" href=\"<?php echo HTML_PATH_ADMIN_ROOT.'settings' ?>\"><span class=\"fa fa-gear\"></span><?php $L->p('General') ?></a>\n\t</li>\n\t<li class=\"nav-item\">\n\t\t<a class=\"nav-link\" href=\"<?php echo HTML_PATH_ADMIN_ROOT.'plugins' ?>\"><span class=\"fa fa-puzzle-piece\"></span><?php $L->p('Plugins') ?></a>\n\t</li>\n\t<li class=\"nav-item\">\n\t\t<a class=\"nav-link\" href=\"<?php echo HTML_PATH_ADMIN_ROOT.'themes' ?>\"><span class=\"fa fa-desktop\"></span><?php $L->p('Themes') ?></a>\n\t</li>\n\t<li class=\"nav-item\">\n\t\t<a class=\"nav-link\" href=\"<?php echo HTML_PATH_ADMIN_ROOT.'about' ?>\"><span class=\"fa fa-info\"></span><?php $L->p('About') ?></a>\n\t</li>\n\n\t<?php endif; ?>\n\n\t<?php if (checkRole(array('admin', 'editor'),false)): ?>\n\n\t\t<?php\n\t\t\tif (!empty($plugins['adminSidebar'])) {\n\t\t\t\techo '<li class=\"nav-item\"><hr></li>';\n\t\t\t\tforeach ($plugins['adminSidebar'] as $pluginSidebar) {\n\t\t\t\t\techo '<li class=\"nav-item\">';\n\t\t\t\t\techo $pluginSidebar->adminSidebar();\n\t\t\t\t\techo '</li>';\n\t\t\t\t}\n\t\t\t}\n\t\t?>\n\n\t<?php endif; ?>\n\n\t<li class=\"nav-item mt-5\">\n\t\t<a class=\"nav-link\" href=\"<?php echo HTML_PATH_ADMIN_ROOT.'logout' ?>\"><span class=\"fa fa-arrow-circle-right\"></span><?php $L->p('Logout') ?></a>\n\t</li>\n</ul>\n"
  },
  {
    "path": "bl-kernel/admin/themes/booty/index.php",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n\t<title><?php echo $layout['title'] ?></title>\n\t<meta charset=\"<?php echo CHARSET ?>\">\n\t<meta name=\"viewport\" content=\"width=device-width, initial-scale=1, shrink-to-fit=no\">\n\t<meta name=\"robots\" content=\"noindex,nofollow\">\n\t<meta name=\"generator\" content=\"Bludit\">\n\n\t<!-- Favicon -->\n\t<link rel=\"shortcut icon\" type=\"image/x-icon\" href=\"<?php echo HTML_PATH_CORE_IMG.'favicon.png?version='.BLUDIT_VERSION ?>\">\n\n\t<!-- CSS -->\n\t<?php\n\t\techo Theme::cssBootstrap();\n\t\techo Theme::cssLineAwesome();\n\t\techo Theme::css(array(\n\t\t\t'bludit.css',\n\t\t\t'bludit.bootstrap.css'\n\t\t), DOMAIN_ADMIN_THEME_CSS);\n\t\techo Theme::css(array(\n\t\t\t'jquery.datetimepicker.min.css',\n\t\t\t'select2.min.css',\n\t\t\t'select2-bootstrap4.min.css'\n\t\t), DOMAIN_CORE_CSS);\n\t?>\n\n\t<!-- Javascript -->\n\t<?php\n\t\techo Theme::jquery();\n\t\techo Theme::jsBootstrap();\n\t\techo Theme::jsSortable();\n\t\techo Theme::js(array(\n\t\t\t'jquery.datetimepicker.full.min.js',\n\t\t\t'select2.full.min.js',\n\t\t\t'functions.js'\n\t\t), DOMAIN_CORE_JS, null);\n\t?>\n\n\t<!-- Plugins -->\n\t<?php Theme::plugins('adminHead') ?>\n\n</head>\n<body class=\"h-100\">\n\n<!-- Plugins -->\n<?php Theme::plugins('adminBodyBegin') ?>\n\n<!-- Javascript dynamic generated by PHP -->\n<?php\n\techo '<script charset=\"utf-8\">'.PHP_EOL;\n\tinclude(PATH_CORE_JS.'variables.php');\n\techo '</script>'.PHP_EOL;\n\n\techo '<script charset=\"utf-8\">'.PHP_EOL;\n\tinclude(PATH_CORE_JS.'bludit-ajax.php');\n\techo '</script>'.PHP_EOL;\n?>\n\n<!-- Overlay background -->\n<div id=\"jsshadow\"></div>\n\n<!-- Alert -->\n<?php include('html/alert.php'); ?>\n\n<!-- Navbar, only for small devices -->\n<?php include('html/navbar.php'); ?>\n\n<div class=\"container min-vh-100\">\n\t<!-- 25%/75% split on large devices, small, medium devices hide -->\n\t<div class=\"row min-vh-100 align-items-stretch\">\n\n\t\t<!-- LEFT SIDEBAR - Display only on large devices -->\n\t\t<div class=\"sidebar col-lg-2 d-none d-lg-block\">\n\t\t<?php include('html/sidebar.php'); ?>\n\t\t</div>\n\n\t\t<!-- RIGHT MAIN -->\n\t\t<div class=\"col-lg-10 pt-3 pb-1\">\n\t\t<?php\n\t\t\tif (Sanitize::pathFile(PATH_ADMIN_VIEWS, $layout['view'].'.php')) {\n\t\t\t\tinclude(PATH_ADMIN_VIEWS.$layout['view'].'.php');\n\t\t\t} elseif ($layout['plugin'] && method_exists($layout['plugin'], 'adminView')) {\n\t\t\t\techo $layout['plugin']->adminView();\n\t\t\t} else {\n\t\t\t\techo '<h1 class=\"text-center\">'.$L->g('Page not found').'</h1>';\n\t\t\t\techo '<h2 class=\"text-center\">'.$L->g('Choose a page from the sidebar.').'</h2>';\n\t\t\t}\n\t\t?>\n\t\t</div>\n\t</div>\n</div>\n\n<!-- Plugins -->\n<?php Theme::plugins('adminBodyEnd') ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "bl-kernel/admin/themes/booty/init.php",
    "content": "<?php\n\nclass Bootstrap\n{\n\n\tpublic static function modal($args)\n\t{\n\n\t\t$buttonSecondary = $args['buttonSecondary'];\n\t\t$buttonSecondaryClass = $args['buttonSecondaryClass'];\n\n\t\t$buttonPrimary = $args['buttonPrimary'];\n\t\t$buttonPrimaryClass = $args['buttonPrimaryClass'];\n\n\t\t$modalText = $args['modalText'];\n\t\t$modalTitle = $args['modalTitle'];\n\t\t$modalId = $args['modalId'];\n\n\n\t\treturn <<<EOF\n<div id=\"$modalId\" class=\"modal fade\" tabindex=\"-1\" role=\"dialog\">\n\t<div class=\"modal-dialog\" role=\"document\">\n\t\t<div class=\"modal-content\">\n\t\t\t<div class=\"modal-body\">\n\t\t\t\t<h3>$modalTitle</h3>\n\t\t\t\t<p>$modalText</p>\n\t\t\t</div>\n\t\t\t<div class=\"modal-footer\">\n\t\t\t\t<button type=\"button\" class=\"btn $buttonSecondaryClass\" data-dismiss=\"modal\">$buttonSecondary</button>\n\t\t\t\t<button type=\"button\" class=\"btn $buttonPrimaryClass\">$buttonPrimary</button>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\nEOF;\n\t}\n\n\tpublic static function link($args)\n\t{\n\t\t$options = 'href=\"' . $args['href'] . '\"';\n\t\tif (isset($args['class'])) {\n\t\t\t$options .= ' class=\"' . $args['class'] . '\"';\n\t\t}\n\t\tif (isset($args['target'])) {\n\t\t\t$options .= ' target=\"' . $args['target'] . '\"';\n\t\t}\n\n\t\tif (isset($args['icon'])) {\n\t\t\treturn '<a ' . $options . '><span class=\"fa fa-' . $args['icon'] . '\"></span>' . $args['title'] . '</a>';\n\t\t}\n\n\t\treturn '<a ' . $options . '>' . $args['title'] . '</a>';\n\t}\n\n\tpublic static function pageTitle($args)\n\t{\n\t\t$icon = $args['icon'];\n\t\t$title = $args['title'];\n\t\treturn <<<EOF\n<h2 class=\"mt-0 mb-3\">\n\t<span class=\"fa fa-$icon\" style=\"font-size: 0.9em;\"></span><span>$title</span>\n</h2>\nEOF;\n\t}\n\n\tpublic static function formOpen($args)\n\t{\n\t\t$class = empty($args['class']) ? '' : 'class=\"' . $args['class'] . '\"';\n\t\t$id = empty($args['id']) ? '' : 'id=\"' . $args['id'] . '\"';\n\t\t$enctype = empty($args['enctype']) ? '' : 'enctype=\"' . $args['enctype'] . '\"';\n\t\t$action = empty($args['action']) ? 'action=\"\"' : 'action=\"' . $args['action'] . '\"';\n\t\t$method = empty($args['method']) ? 'method=\"post\"' : 'method=\"' . $args['method'] . '\"';\n\t\t$style = empty($args['style']) ? '' : 'style=\"' . $args['style'] . '\"';\n\n\t\treturn <<<EOF\n<form $class $enctype $id $method $action $style autocomplete=\"off\">\nEOF;\n\t}\n\n\tpublic static function formClose()\n\t{\n\t\treturn <<<EOF\n</form>\n<script>\n$(document).ready(function() {\n\t// Prevent the form submit when press enter key.\n\t$(\"form\").keypress(function(e) {\n\t\tif ((e.which == 13) && (e.target.type !== \"textarea\")) {\n\t\t\treturn false;\n\t\t}\n\t});\n});\n</script>\nEOF;\n\t}\n\n\tpublic static function formTitle($args)\n\t{\n\t\t$title = $args['title'];\n\t\treturn <<<EOF\n<h6 class=\"mt-4 mb-2 pb-2 border-bottom text-uppercase\">$title</h6>\nEOF;\n\t}\n\n\tpublic static function formInputTextBlock($args)\n\t{\n\t\t$name = $args['name'];\n\t\t$disabled = empty($args['disabled']) ? '' : 'disabled';\n\t\t$placeholder = isset($args['placeholder']) ? $args['placeholder'] : '';\n\t\t$value = isset($args['value']) ? $args['value'] : '';\n\n\t\t$id = 'js' . $name;\n\t\tif (isset($args['id'])) {\n\t\t\t$id = $args['id'];\n\t\t}\n\n\t\t$tip = '';\n\t\tif (!empty($args['tip'])) {\n\t\t\t$tip = '<small class=\"form-text text-muted\">' . $args['tip'] . '</small>';\n\t\t}\n\n\t\t$class = 'form-group m-0';\n\t\tif (isset($args['class'])) {\n\t\t\t$class = $args['class'];\n\t\t}\n\n\t\t$labelClass = 'mt-4 mb-2 pb-2 border-bottom text-uppercase w-100';\n\t\tif (isset($args['labelClass'])) {\n\t\t\t$labelClass = $args['labelClass'];\n\t\t}\n\n\t\t$label = '';\n\t\tif (!empty($args['label'])) {\n\t\t\t$label = '<label class=\"' . $labelClass . '\" for=\"' . $id . '\">' . $args['label'] . '</label>';\n\t\t}\n\n\t\t$type = 'text';\n\t\tif (isset($args['type'])) {\n\t\t\t$type = $args['type'];\n\t\t}\n\n\t\treturn <<<EOF\n<div class=\"$class\">\n\t$label\n\t<input type=\"text\" dir=\"auto\" value=\"$value\" class=\"form-control\" id=\"$id\" name=\"$name\" placeholder=\"$placeholder\" $disabled>\n\t$tip\n</div>\nEOF;\n\t}\n\n\tpublic static function formInputFile($args)\n\t{\n\t\t$id = 'js' . $args['name'];\n\t\tif (isset($args['id'])) {\n\t\t\t$id = $args['id'];\n\t\t}\n\n\t\t$class = 'custom-file';\n\t\tif (isset($args['class'])) {\n\t\t\t$class = $class . ' ' . $args['class'];\n\t\t}\n\n\t\t$html  = '<div class=\"' . $class . '\">';\n\t\t$html .= '<input type=\"file\" class=\"custom-file-input\" id=\"' . $id . '\">';\n\t\t$html .= '<label class=\"custom-file-label\" for=\"' . $id . '\">' . $args['label'] . '</label>';\n\t\t$html .= '</div>';\n\n\t\treturn $html;\n\t}\n\n\tpublic static function formTextarea($args)\n\t{\n\t\t$id = 'js' . $args['name'];\n\t\tif (isset($args['id'])) {\n\t\t\t$id = $args['id'];\n\t\t}\n\n\t\t$class = 'form-control';\n\t\tif (isset($args['class'])) {\n\t\t\t$class = $class . ' ' . $args['class'];\n\t\t}\n\n\t\t$html = '<div class=\"form-group row\">';\n\n\t\tif (!empty($args['label'])) {\n\t\t\t$html .= '<label for=\"' . $id . '\" class=\"col-sm-2 col-form-label\">' . $args['label'] . '</label>';\n\t\t}\n\n\t\t$html .= '<div class=\"col-sm-10\">';\n\t\t$html .= '<textarea class=\"' . $class . '\" id=\"' . $id . '\" name=\"' . $args['name'] . '\" rows=\"' . $args['rows'] . '\" placeholder=\"' . $args['placeholder'] . '\">' . $args['value'] . '</textarea>';\n\t\tif (isset($args['tip'])) {\n\t\t\t$html .= '<small class=\"form-text text-muted\">' . $args['tip'] . '</small>';\n\t\t}\n\t\t$html .= '</div>';\n\t\t$html .= '</div>';\n\n\t\treturn $html;\n\t}\n\n\tpublic static function formTextareaBlock($args)\n\t{\n\t\t$id = 'js' . $args['name'];\n\t\tif (isset($args['id'])) {\n\t\t\t$id = $args['id'];\n\t\t}\n\n\t\t$class = 'form-control';\n\t\tif (!empty($args['class'])) {\n\t\t\t$class = $class . ' ' . $args['class'];\n\t\t}\n\n\t\t$html = '<div class=\"form-group m-0\">';\n\t\tif (!empty($args['label'])) {\n\t\t\t$html .= '<label class=\"mt-4 mb-2 pb-2 border-bottom text-uppercase w-100\" for=\"' . $id . '\">' . $args['label'] . '</label>';\n\t\t}\n\n\t\t$html .= '<textarea class=\"' . $class . '\" id=\"' . $id . '\" name=\"' . $args['name'] . '\" rows=\"' . $args['rows'] . '\" placeholder=\"' . $args['placeholder'] . '\">' . $args['value'] . '</textarea>';\n\t\tif (!empty($args['tip'])) {\n\t\t\t$html .= '<small class=\"form-text text-muted\">' . $args['tip'] . '</small>';\n\t\t}\n\t\t$html .= '</div>';\n\n\t\treturn $html;\n\t}\n\n\tpublic static function formInputText($args)\n\t{\n\t\t$name = $args['name'];\n\t\t$disabled = empty($args['disabled']) ? '' : 'disabled';\n\t\t$readonly = empty($args['readonly']) ? '' : 'readonly';\n\t\t$placeholder = isset($args['placeholder']) ? $args['placeholder'] : '';\n\t\t$value = isset($args['value']) ? $args['value'] : '';\n\n\t\t$id = 'js' . $name;\n\t\tif (isset($args['id'])) {\n\t\t\t$id = $args['id'];\n\t\t}\n\n\t\t$tip = '';\n\t\tif (isset($args['tip'])) {\n\t\t\t$tip = '<small class=\"form-text text-muted\">' . $args['tip'] . '</small>';\n\t\t}\n\n\t\t$label = '';\n\t\tif (isset($args['label'])) {\n\t\t\t$label = '<label for=\"' . $id . '\" class=\"col-sm-2 col-form-label\">' . $args['label'] . '</label>';\n\t\t}\n\n\t\t$class = 'form-control';\n\t\tif (isset($args['class'])) {\n\t\t\t$class = $class . ' ' . $args['class'];\n\t\t}\n\n\t\t$type = 'text';\n\t\tif (isset($args['type'])) {\n\t\t\t$type = $args['type'];\n\t\t}\n\n\t\treturn <<<EOF\n<div class=\"form-group row\">\n\t$label\n\t<div class=\"col-sm-10\">\n\t\t<input class=\"$class\" id=\"$id\" name=\"$name\" value=\"$value\" placeholder=\"$placeholder\" type=\"$type\" dir=\"auto\" $disabled $readonly>\n\t\t$tip\n\t</div>\n</div>\nEOF;\n\t}\n\n\tpublic static function formCheckbox($args)\n\t{\n\t\t$labelForCheckbox = isset($args['labelForCheckbox']) ? $args['labelForCheckbox'] : '';\n\t\t$placeholder = isset($args['placeholder']) ? $args['placeholder'] : '';\n\t\t$tip = isset($args['tip']) ? '<small class=\"form-text text-muted\">' . $args['tip'] . '</small>' : '';\n\t\t$value = isset($args['value']) ? $args['value'] : '';\n\t\t$name = $args['name'];\n\t\t$id = 'js' . $name;\n\t\tif (isset($args['id'])) {\n\t\t\t$id = $args['id'];\n\t\t}\n\t\t$disabled = isset($args['disabled']) ? 'disabled' : '';\n\n\t\t$class = 'form-group m-0';\n\t\tif (isset($args['class'])) {\n\t\t\t$class = $args['class'];\n\t\t}\n\n\t\t$labelClass = 'mt-4 mb-2 pb-2 border-bottom text-uppercase w-100';\n\t\tif (isset($args['labelClass'])) {\n\t\t\t$labelClass = $args['labelClass'];\n\t\t}\n\n\t\t$type = 'text';\n\t\tif (isset($args['type'])) {\n\t\t\t$type = $args['type'];\n\t\t}\n\n\t\t$label = '';\n\t\tif (!empty($args['label'])) {\n\t\t\t$label = '<label class=\"' . $labelClass . '\">' . $args['label'] . '</label>';\n\t\t}\n\n\t\t$checked = $args['checked'] ? 'checked' : '';\n\t\t$value = $checked ? '1' : '0';\n\n\t\treturn <<<EOF\n<div class=\"$class\">\n\t$label\n\t<div class=\"form-check\">\n\t\t<input type=\"hidden\" name=\"$name\" value=\"$value\"><input id=\"$id\" type=\"checkbox\" class=\"form-check-input\" onclick=\"this.previousSibling.value=1-this.previousSibling.value\" $checked>\n\t\t<label class=\"form-check-label\" for=\"$id\">$labelForCheckbox</label>\n\t\t$tip\n\t</div>\n</div>\nEOF;\n\t}\n\n\tpublic static function formSelect($args)\n\t{\n\t\t$id = 'js' . $args['name'];\n\t\tif (isset($args['id'])) {\n\t\t\t$id = $args['id'];\n\t\t}\n\n\t\t$class = 'custom-select';\n\t\tif (isset($args['class'])) {\n\t\t\t$class = $class . ' ' . $args['class'];\n\t\t}\n\n\t\t$html = '<div class=\"form-group row\">';\n\n\t\tif (isset($args['label'])) {\n\t\t\t$html .= '<label for=\"' . $id . '\" class=\"col-sm-2 col-form-label\">' . $args['label'] . '</label>';\n\t\t}\n\n\t\t$html .= '<div class=\"col-sm-10\">';\n\t\t$html .= '<select id=\"' . $id . '\" name=\"' . $args['name'] . '\" class=\"' . $class . '\">';\n\t\tforeach ($args['options'] as $key => $value) {\n\t\t\t$html .= '<option ' . (($key == $args['selected']) ? 'selected' : '') . ' value=\"' . $key . '\">' . $value . '</option>';\n\t\t}\n\t\t$html .= '</select>';\n\t\tif (isset($args['tip'])) {\n\t\t\t$html .= '<small class=\"form-text text-muted\">' . $args['tip'] . '</small>';\n\t\t}\n\t\t$html .= '</div>';\n\t\t$html .= '</div>';\n\n\t\treturn $html;\n\t}\n\n\tpublic static function formSelectBlock($args)\n\t{\n\t\t$id = 'js' . $args['name'];\n\t\tif (isset($args['id'])) {\n\t\t\t$id = $args['id'];\n\t\t}\n\n\t\t$class = 'custom-select';\n\t\tif (!empty($args['class'])) {\n\t\t\t$class = $class . ' ' . $args['class'];\n\t\t}\n\n\t\t$html = '<div class=\"form-group m-0\">';\n\n\t\tif (!empty($args['label'])) {\n\t\t\t$html .= '<label class=\"mt-4 mb-2 pb-2 border-bottom text-uppercase w-100\" for=\"' . $id . '\">' . $args['label'] . '</label>';\n\t\t}\n\n\t\t$html .= '<select id=\"' . $id . '\" name=\"' . $args['name'] . '\" class=\"' . $class . '\">';\n\t\tif (!empty($args['emptyOption'])) {\n\t\t\t$html .= '<option value=\"\">' . $args['emptyOption'] . '</option>';\n\t\t}\n\t\tforeach ($args['options'] as $key => $value) {\n\t\t\t$html .= '<option ' . (($key == $args['selected']) ? 'selected' : '') . ' value=\"' . $key . '\">' . $value . '</option>';\n\t\t}\n\t\t$html .= '</select>';\n\t\tif (!empty($args['tip'])) {\n\t\t\t$html .= '<small class=\"form-text text-muted\">' . $args['tip'] . '</small>';\n\t\t}\n\t\t$html .= '</div>';\n\n\t\treturn $html;\n\t}\n\n\tpublic static function formInputHidden($args)\n\t{\n\t\treturn '<input type=\"hidden\" id=\"js' . $args['name'] . '\" name=\"' . $args['name'] . '\" value=\"' . $args['value'] . '\">';\n\t}\n\n\tpublic static function alert($args)\n\t{\n\t\t$class = 'alert';\n\t\tif (!empty($args['class'])) {\n\t\t\t$class = $class . ' ' . $args['class'];\n\t\t}\n\n\t\t$text = $args['text'];\n\n\t\treturn <<<EOF\n<div class=\"$class\" role=\"alert\">$text</div>\nEOF;\n\t}\n}\n"
  },
  {
    "path": "bl-kernel/admin/themes/booty/login.php",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n  <title><?php echo (defined('BLUDIT_PRO') ? $site->title() : 'BLUDIT') ?> - Login</title>\n  <meta charset=\"<?php echo CHARSET ?>\">\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1, shrink-to-fit=no\">\n  <meta name=\"robots\" content=\"noindex,nofollow\">\n\n  <!-- Favicon -->\n  <link rel=\"shortcut icon\" type=\"image/x-icon\" href=\"<?php echo HTML_PATH_CORE_IMG . 'favicon.png?version=' . BLUDIT_VERSION ?>\">\n\n  <!-- CSS -->\n  <?php\n  echo Theme::cssBootstrap();\n  echo Theme::css(array(\n    'bludit.css',\n    'bludit.bootstrap.css'\n  ), DOMAIN_ADMIN_THEME_CSS);\n  ?>\n\n  <style>\n    body.login {\n      min-height: 100vh;\n      display: flex;\n      flex-direction: column;\n      justify-content: center;\n      align-items: center;\n      background: linear-gradient(135deg, #1e88e5 0%, #1565c0 50%, #0d47a1 100%);\n      padding: 20px;\n    }\n\n    .login-container {\n      width: 100%;\n      max-width: 420px;\n    }\n\n    .login-card {\n      background: #ffffff;\n      border-radius: 16px;\n      box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);\n      padding: 40px;\n      animation: fadeInUp 0.5s ease-out;\n    }\n\n    @keyframes fadeInUp {\n      from {\n        opacity: 0;\n        transform: translateY(20px);\n      }\n      to {\n        opacity: 1;\n        transform: translateY(0);\n      }\n    }\n\n    .login-logo {\n      text-align: center;\n      margin-bottom: 30px;\n    }\n\n    .login-logo .logo-icon {\n      width: 70px;\n      height: 70px;\n      background: linear-gradient(135deg, #1e88e5 0%, #1565c0 100%);\n      border-radius: 16px;\n      display: inline-flex;\n      align-items: center;\n      justify-content: center;\n      margin-bottom: 15px;\n      box-shadow: 0 8px 20px rgba(21, 101, 192, 0.4);\n    }\n\n    .login-logo .logo-icon img {\n      width: 36px;\n      height: 36px;\n      filter: brightness(0) invert(1);\n    }\n\n    .login-logo .logo-icon.custom-logo {\n      background: transparent;\n      box-shadow: none;\n      width: auto;\n      height: auto;\n      max-width: 150px;\n      max-height: 80px;\n    }\n\n    .login-logo .logo-icon.custom-logo img {\n      width: auto;\n      height: auto;\n      max-width: 150px;\n      max-height: 80px;\n      filter: none;\n      border-radius: 12px;\n      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n    }\n\n    .login-logo h1 {\n      font-size: 1.5rem;\n      font-weight: 600;\n      color: #1a1a2e;\n      margin: 0;\n    }\n\n    .login-logo p {\n      color: #6c757d;\n      font-size: 0.9rem;\n      margin-top: 5px;\n    }\n\n    .login-card .form-control {\n      border: 2px solid #e9ecef;\n      border-radius: 10px;\n      padding: 12px 16px;\n      font-size: 0.95rem;\n      transition: all 0.3s ease;\n      background-color: #f8f9fa;\n    }\n\n    .login-card .form-control:focus {\n      border-color: #1e88e5;\n      box-shadow: 0 0 0 4px rgba(30, 136, 229, 0.15);\n      background-color: #fff;\n    }\n\n    .login-card .form-control::placeholder {\n      color: #adb5bd;\n    }\n\n    .login-card .form-group {\n      margin-bottom: 20px;\n    }\n\n    .login-card .form-group label {\n      font-weight: 500;\n      color: #495057;\n      margin-bottom: 10px;\n      font-size: 0.9rem;\n    }\n\n    .login-card .btn-login {\n      background: linear-gradient(135deg, #1e88e5 0%, #1565c0 100%);\n      border: none;\n      border-radius: 10px;\n      padding: 12px 18px;\n      font-size: 0.95rem;\n      font-weight: 600;\n      color: white;\n      width: 100%;\n      transition: all 0.3s ease;\n      box-shadow: 0 4px 15px rgba(21, 101, 192, 0.4);\n    }\n\n    .login-card .btn-login:hover {\n      transform: translateY(-2px);\n      box-shadow: 0 6px 20px rgba(21, 101, 192, 0.5);\n    }\n\n    .login-card .btn-login:active {\n      transform: translateY(0);\n    }\n\n    .login-card .form-check {\n      margin-bottom: 25px;\n    }\n\n    .login-card .form-check-input {\n      width: 18px;\n      height: 18px;\n      margin-top: 0;\n      border: 2px solid #dee2e6;\n      border-radius: 4px;\n    }\n\n    .login-card .form-check-input:checked {\n      background-color: #1e88e5;\n      border-color: #1e88e5;\n    }\n\n    .login-card .form-check-label {\n      color: #6c757d;\n      font-size: 0.9rem;\n      padding-left: 8px;\n    }\n\n    .login-footer {\n      text-align: center;\n      margin-top: 25px;\n      padding-top: 20px;\n      border-top: 1px solid #e9ecef;\n    }\n\n    .login-footer p {\n      color: #6c757d;\n      font-size: 0.85rem;\n      margin: 0;\n    }\n\n    .login-footer a {\n      color: #1e88e5;\n      text-decoration: none;\n    }\n\n    /* Alert styles for login page */\n    .login-alert {\n      position: fixed;\n      top: 20px;\n      left: 50%;\n      transform: translateX(-50%);\n      z-index: 1050;\n      min-width: 300px;\n      max-width: 90%;\n      border-radius: 10px;\n      padding: 12px 20px;\n      font-weight: 500;\n      font-size: 0.9rem;\n      animation: slideDown 0.4s ease-out;\n    }\n\n    @keyframes slideDown {\n      from {\n        opacity: 0;\n        transform: translateX(-50%) translateY(-20px);\n      }\n      to {\n        opacity: 1;\n        transform: translateX(-50%) translateY(0);\n      }\n    }\n\n    .login-alert.alert-danger {\n      background: linear-gradient(135deg, #ff6b6b 0%, #ee5a5a 100%);\n      color: white;\n      border: none;\n      box-shadow: 0 4px 15px rgba(238, 90, 90, 0.4);\n    }\n\n    .login-alert.alert-success {\n      background: linear-gradient(135deg, #51cf66 0%, #40c057 100%);\n      color: white;\n      border: none;\n      box-shadow: 0 4px 15px rgba(64, 192, 87, 0.4);\n    }\n\n    /* Input icons */\n    .input-icon-wrapper {\n      position: relative;\n    }\n\n    .input-icon-wrapper .form-control {\n      padding-left: 40px;\n    }\n\n    .input-icon-wrapper .input-icon {\n      position: absolute;\n      left: 18px;\n      top: 50%;\n      transform: translateY(-50%);\n      color: #adb5bd;\n      pointer-events: none;\n    }\n\n    .input-icon-wrapper .form-control:focus + .input-icon,\n    .input-icon-wrapper .form-control:not(:placeholder-shown) + .input-icon {\n      color: #1e88e5;\n    }\n  </style>\n\n  <!-- Javascript -->\n  <?php\n  echo Theme::jquery();\n  echo Theme::jsBootstrap();\n  ?>\n\n  <!-- Plugins -->\n  <?php Theme::plugins('loginHead') ?>\n</head>\n\n<body class=\"login\">\n\n  <!-- Plugins -->\n  <?php Theme::plugins('loginBodyBegin') ?>\n\n  <!-- Alert -->\n  <?php if (Alert::defined()): ?>\n  <div id=\"login-alert\" class=\"login-alert alert <?php echo (Alert::status() == ALERT_STATUS_FAIL) ? 'alert-danger' : 'alert-success' ?>\">\n    <?php echo Alert::get() ?>\n  </div>\n  <script>\n    setTimeout(function() {\n      document.getElementById('login-alert').style.display = 'none';\n    }, <?php echo ALERT_DISAPPEAR_IN * 1000 ?>);\n  </script>\n  <?php endif; ?>\n\n  <div class=\"login-container\">\n    <div class=\"login-card\">\n      <?php\n      if (Sanitize::pathFile(PATH_ADMIN_VIEWS, $layout['view'] . '.php')) {\n        include(PATH_ADMIN_VIEWS . $layout['view'] . '.php');\n      }\n      ?>\n    </div>\n  </div>\n\n  <!-- Plugins -->\n  <?php Theme::plugins('loginBodyEnd') ?>\n\n</body>\n\n</html>\n"
  },
  {
    "path": "bl-kernel/admin/views/about.php",
    "content": "<?php\n\necho Bootstrap::pageTitle(array('title'=>$L->g('About'), 'icon'=>'info-circle'));\n\necho '\n<table class=\"table table-striped mt-3\">\n\t<tbody>\n';\n\necho '<tr>';\necho '<td>Bludit Edition</td>';\nif (defined('BLUDIT_PRO')) {\n\techo '<td>PRO - '.$L->g('Thanks for supporting Bludit').' <span class=\"fa fa-heart\" style=\"color: #ffc107\"></span></td>';\n} else {\n\techo '<td>Standard - <a target=\"_blank\" href=\"https://pro.bludit.com\">'.$L->g('Upgrade to Bludit PRO').'</a></td>';\n}\necho '</tr>';\n\necho '<tr>';\necho '<td>Bludit Version</td>';\necho '<td>'.BLUDIT_VERSION.'</td>';\necho '</tr>';\n\necho '<tr>';\necho '<td>Bludit Codename</td>';\necho '<td>'.BLUDIT_CODENAME.'</td>';\necho '</tr>';\n\necho '<tr>';\necho '<td>Bludit Build Number</td>';\necho '<td>'.BLUDIT_BUILD.'</td>';\necho '</tr>';\n\necho '<tr>';\necho '<td>Disk usage</td>';\necho '<td>'.Filesystem::bytesToHumanFileSize(Filesystem::getSize(PATH_ROOT)).'</td>';\necho '</tr>';\n\necho '<tr>';\necho '<td><a href=\"'.HTML_PATH_ADMIN_ROOT.'developers'.'\">Bludit Developers</a></td>';\necho '<td></td>';\necho '</tr>';\n\necho '\n\t</tbody>\n</table>\n';\n"
  },
  {
    "path": "bl-kernel/admin/views/blocks.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.'); ?>\n\n<?php echo Bootstrap::formOpen(array('id'=>'jsform', 'class'=>'tab-content')); ?>\n\n<div class=\"align-middle\">\n\t<div class=\"float-right mt-1\">\n\t\t<button type=\"submit\" class=\"btn btn-primary btn-sm\" name=\"save\"><?php $L->p('Save') ?></button>\n\t\t<a class=\"btn btn-secondary btn-sm\" href=\"<?php echo HTML_PATH_ADMIN_ROOT.'themes' ?>\" role=\"button\"><?php $L->p('Cancel') ?></a>\n\t</div>\n\t<?php echo Bootstrap::pageTitle(array('title'=>$L->g('Blocks'), 'icon'=>'box')); ?>\n</div>\n\n<?php\n\t// Token CSRF\n\techo Bootstrap::formInputHidden(array(\n\t\t'name'=>'tokenCSRF',\n\t\t'value'=>$security->getTokenCSRF()\n\t));\n\n\tforeach ($blocks->getAll() as $block) {\n\t\techo Bootstrap::formTitle(array('title'=>$block->title()));\n\n\t\tif (Text::isNotEmpty( $block->description() )) {\n\t\t\techo Bootstrap::alert(array('class'=>'alert-primary', 'text'=>$block->description()));\n\t\t}\n\n\t\techo Bootstrap::formInputText(array(\n\t\t\t'name'=>'key[]',\n\t\t\t'label'=>$L->g('Key'),\n\t\t\t'value'=>$block->key(),\n\t\t\t'class'=>'',\n\t\t\t'placeholder'=>'',\n\t\t\t'tip'=>'',\n\t\t\t'readonly'=>true\n\t\t));\n\n\t\techo Bootstrap::formInputText(array(\n\t\t\t'name'=>'title[]',\n\t\t\t'label'=>$L->g('title'),\n\t\t\t'value'=>$block->title(),\n\t\t\t'class'=>'',\n\t\t\t'placeholder'=>'',\n\t\t\t'tip'=>''\n\t\t));\n\n\t\techo Bootstrap::formTextarea(array(\n\t\t\t'name'=>'value[]',\n\t\t\t'label'=>$L->g('Value'),\n\t\t\t'value'=>$block->value(),\n\t\t\t'class'=>'',\n\t\t\t'placeholder'=>'',\n\t\t\t'tip'=>'',\n\t\t\t'rows'=>5\n\t\t));\n\t}\n\necho Bootstrap::formClose();\n\n?>\n"
  },
  {
    "path": "bl-kernel/admin/views/categories.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\necho Bootstrap::pageTitle(array('title'=>$L->g('Categories'), 'icon'=>'tags'));\n\necho Bootstrap::link(array(\n\t'title'=>$L->g('Add a new category'),\n\t'href'=>HTML_PATH_ADMIN_ROOT.'new-category',\n\t'icon'=>'plus'\n));\n\necho '\n<table class=\"table table-striped mt-3\">\n\t<thead>\n\t\t<tr>\n\t\t\t<th class=\"border-bottom-0\" scope=\"col\">'.$L->g('Name').'</th>\n\t\t\t<th class=\"border-bottom-0\" scope=\"col\">'.$L->g('URL').'</th>\n\t\t</tr>\n\t</thead>\n\t<tbody>\n';\n\nforeach ($categories->keys() as $key) {\n\t$category = new Category($key);\n\techo '<tr>';\n\techo '<td><a href=\"'.HTML_PATH_ADMIN_ROOT.'edit-category/'.$key.'\">'.$category->name().'</a></td>';\n\techo '<td><a href=\"'.$category->permalink().'\">'.$url->filters('category', false).$key.'</a></td>';\n\techo '</tr>';\n}\n\necho '\n\t</tbody>\n</table>\n';\n"
  },
  {
    "path": "bl-kernel/admin/views/configure-plugin.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.'); ?>\n\n<?php echo Bootstrap::formOpen(array('id'=>'jsform', 'class'=>'plugin-form')); ?>\n\n<div class=\"align-middle\">\n\t<?php if ($plugin->formButtons()): ?>\n\t<div class=\"float-right mt-1\">\n\t\t<button type=\"submit\" class=\"btn btn-primary btn-sm\" name=\"save\"><?php $L->p('Save') ?></button>\n\t\t<a class=\"btn btn-secondary btn-sm\" href=\"<?php echo HTML_PATH_ADMIN_ROOT.'plugins' ?>\" role=\"button\"><?php $L->p('Cancel') ?></a>\n\t</div>\n\t<?php endif; ?>\n\t<?php echo Bootstrap::pageTitle(array('title'=>$plugin->name(), 'icon'=>'cog')); ?>\n</div>\n\n<?php\n\t// Token CSRF\n\techo Bootstrap::formInputHidden(array(\n\t\t'name'=>'tokenCSRF',\n\t\t'value'=>$security->getTokenCSRF()\n\t));\n\n\t// Compatibility warning\n\tif (!$plugin->isCompatible()) {\n\t\techo '<div class=\"alert alert-warning mt-2\">' . $L->g('This plugin may not be supported by this version of Bludit') . '</div>';\n\t}\n\n\t// Print the plugin form\n\techo $plugin->form();\n?>\n\n<?php echo Bootstrap::formClose(); ?>"
  },
  {
    "path": "bl-kernel/admin/views/content.php",
    "content": "<?php\n\necho Bootstrap::pageTitle(array('title'=>$L->g('Content'), 'icon'=>'archive'));\n\nfunction moveTypeIcon($type) {\n\t$icons = array(\n\t\t'published' => 'fa-file-text-o',\n\t\t'sticky'    => 'fa-thumb-tack',\n\t\t'static'    => 'fa-file',\n\t\t'draft'     => 'fa-pencil',\n\t);\n\treturn isset($icons[$type]) ? $icons[$type] : 'fa-file';\n}\n\nfunction moveTypeLabel($current, $target, $L) {\n\tif ($target === 'sticky') {\n\t\treturn $L->g('Sticky');\n\t}\n\tif ($current === 'sticky' && $target === 'published') {\n\t\treturn $L->g('Unstick');\n\t}\n\t$labels = array(\n\t\t'published' => $L->g('Move to Page'),\n\t\t'static'    => $L->g('Move to Static'),\n\t\t'draft'     => $L->g('Move to Draft'),\n\t);\n\treturn isset($labels[$target]) ? $labels[$target] : $target;\n}\n\n// Render a single row (or row + nested children) for a page key.\n// $type controls which columns/buttons are shown; $isSticky adds the Sticky badge\n// and flips the toggle button into \"Unstick\" mode.\nfunction tableRow($pageKey, $type, $isSticky = false, $renderChildren = false) {\n\tglobal $url;\n\tglobal $L;\n\n\ttry {\n\t\t$page = new Page($pageKey);\n\t} catch (Exception $e) {\n\t\treturn;\n\t}\n\n\t$showURL = ($type === 'published' || $type === 'static' || $type === 'sticky');\n\n\t// Allowed \"Move to\" transitions per current type.\n\t$moves = array(\n\t\t'published' => array('sticky', 'static', 'draft'),\n\t\t'sticky'    => array('published', 'static', 'draft'),\n\t\t'draft'     => array('published', 'static'),\n\t\t'static'    => array('published', 'draft'),\n\t);\n\n\t$dateLabel = '';\n\tif ($type === 'scheduled') {\n\t\t$dateLabel = $L->g('Scheduled').': '.$page->date(SCHEDULED_DATE_FORMAT);\n\t} elseif ((ORDER_BY === 'position') || ($type !== 'published' && $type !== 'sticky')) {\n\t\t$dateLabel = $L->g('Position').': '.$page->position();\n\t} else {\n\t\t$dateLabel = $page->date(MANAGE_CONTENT_DATE_FORMAT);\n\t}\n\n\techo '<tr>';\n\techo '<td class=\"pt-3\">';\n\techo '<div>';\n\techo '<a style=\"font-size: 1.1em\" href=\"'.HTML_PATH_ADMIN_ROOT.'edit-content/'.$page->key().'\">';\n\techo ($page->title() ? $page->title() : '<span class=\"label-empty-title\">'.$L->g('Empty title').'</span> ');\n\techo '</a>';\n\tif ($isSticky) {\n\t\techo ' <span class=\"badge badge-warning align-middle ml-1\" title=\"'.$L->g('Sticky').'\"><i class=\"fa fa-thumb-tack\"></i> '.$L->g('Sticky').'</span>';\n\t}\n\techo '</div>';\n\techo '<div><p style=\"font-size: 0.8em\" class=\"m-0 text-uppercase text-muted\">'.$dateLabel.'</p></div>';\n\techo '</td>';\n\n\tif ($showURL) {\n\t\t$friendlyURL = Text::isEmpty($url->filters('page')) ? '/'.$page->key() : '/'.$url->filters('page').'/'.$page->key();\n\t\techo '<td class=\"pt-3 d-none d-xl-table-cell contentURL\"><a target=\"_blank\" href=\"'.$page->permalink().'\" title=\"'.$friendlyURL.'\">'.$friendlyURL.'</a></td>';\n\t}\n\n\techo '<td class=\"contentTools pt-3 text-center align-middle\">'.PHP_EOL;\n\techo '<div class=\"dropdown actionsDropdown\">';\n\techo '<button class=\"btn btn-link text-secondary p-1 actionsDropdownToggle\" type=\"button\" data-toggle=\"dropdown\" data-boundary=\"viewport\" aria-haspopup=\"true\" aria-expanded=\"false\" title=\"'.$L->g('Actions').'\"><i class=\"fa fa-bars\"></i></button>';\n\techo '<div class=\"dropdown-menu dropdown-menu-right\">';\n\n\t// View / Edit\n\tif ($showURL) {\n\t\techo '<a class=\"dropdown-item\" target=\"_blank\" href=\"'.$page->permalink().'\"><i class=\"fa fa-desktop fa-fw mr-2\"></i>'.$L->g('View').'</a>';\n\t}\n\techo '<a class=\"dropdown-item\" href=\"'.HTML_PATH_ADMIN_ROOT.'edit-content/'.$page->key().'\"><i class=\"fa fa-edit fa-fw mr-2\"></i>'.$L->g('Edit').'</a>';\n\n\t// Sticky / Unstick toggle, between View/Edit and Move-to.\n\t$stickyToggleTarget = false;\n\tif ($type === 'published') {\n\t\t$stickyToggleTarget = 'sticky';\n\t} elseif ($type === 'sticky') {\n\t\t$stickyToggleTarget = 'published';\n\t}\n\tif ($stickyToggleTarget) {\n\t\techo '<div class=\"dropdown-divider\"></div>';\n\t\techo '<a href=\"#\" class=\"dropdown-item changeTypeButton\" data-key=\"'.$page->key().'\" data-type=\"'.$stickyToggleTarget.'\"><i class=\"fa '.moveTypeIcon($stickyToggleTarget).' fa-fw mr-2\"></i>'.moveTypeLabel($type, $stickyToggleTarget, $L).'</a>';\n\t}\n\n\t// Move to ... (everything except the sticky toggle target rendered above).\n\tif (isset($moves[$type])) {\n\t\t$remaining = array();\n\t\tforeach ($moves[$type] as $target) {\n\t\t\tif ($target !== $stickyToggleTarget) {\n\t\t\t\t$remaining[] = $target;\n\t\t\t}\n\t\t}\n\t\tif (!empty($remaining)) {\n\t\t\techo '<div class=\"dropdown-divider\"></div>';\n\t\t\tforeach ($remaining as $target) {\n\t\t\t\techo '<a href=\"#\" class=\"dropdown-item changeTypeButton\" data-key=\"'.$page->key().'\" data-type=\"'.$target.'\"><i class=\"fa '.moveTypeIcon($target).' fa-fw mr-2\"></i>'.moveTypeLabel($type, $target, $L).'</a>';\n\t\t\t}\n\t\t}\n\t}\n\n\tif (count($page->children()) == 0) {\n\t\techo '<div class=\"dropdown-divider\"></div>';\n\t\techo '<a href=\"#\" class=\"dropdown-item text-danger deletePageButton\" data-toggle=\"modal\" data-target=\"#jsdeletePageModal\" data-key=\"'.$page->key().'\"><i class=\"fa fa-trash fa-fw mr-2\"></i>'.$L->g('Delete').'</a>';\n\t}\n\techo '</div></div>';\n\techo '</td>';\n\techo '</tr>';\n\n\tif ($renderChildren) {\n\t\tforeach ($page->children() as $child) {\n\t\t\techo '<tr>';\n\t\t\techo '<td class=\"child\">';\n\t\t\techo '<div>';\n\t\t\techo '<a style=\"font-size: 1.1em\" href=\"'.HTML_PATH_ADMIN_ROOT.'edit-content/'.$child->key().'\">';\n\t\t\techo ($child->title() ? $child->title() : '<span class=\"label-empty-title\">'.$L->g('Empty title').'</span> ');\n\t\t\techo '</a>';\n\t\t\techo '</div>';\n\t\t\techo '<div><p style=\"font-size: 0.8em\" class=\"m-0 text-uppercase text-muted\">'.$L->g('Position').': '.$child->position().'</p></div>';\n\t\t\techo '</td>';\n\n\t\t\tif ($showURL) {\n\t\t\t\t$friendlyChildURL = Text::isEmpty($url->filters('page')) ? '/'.$child->key() : '/'.$url->filters('page').'/'.$child->key();\n\t\t\t\techo '<td class=\"d-none d-xl-table-cell contentURL\"><a target=\"_blank\" href=\"'.$child->permalink().'\" title=\"'.$friendlyChildURL.'\">'.$friendlyChildURL.'</a></td>';\n\t\t\t}\n\n\t\t\techo '<td class=\"contentTools pt-3 text-center align-middle\">'.PHP_EOL;\n\t\t\techo '<div class=\"dropdown actionsDropdown\">';\n\t\t\techo '<button class=\"btn btn-link text-secondary p-1 actionsDropdownToggle\" type=\"button\" data-toggle=\"dropdown\" data-boundary=\"viewport\" aria-haspopup=\"true\" aria-expanded=\"false\" title=\"'.$L->g('Actions').'\"><i class=\"fa fa-bars\"></i></button>';\n\t\t\techo '<div class=\"dropdown-menu dropdown-menu-right\">';\n\t\t\tif ($showURL) {\n\t\t\t\techo '<a class=\"dropdown-item\" target=\"_blank\" href=\"'.$child->permalink().'\"><i class=\"fa fa-desktop fa-fw mr-2\"></i>'.$L->g('View').'</a>';\n\t\t\t}\n\t\t\techo '<a class=\"dropdown-item\" href=\"'.HTML_PATH_ADMIN_ROOT.'edit-content/'.$child->key().'\"><i class=\"fa fa-edit fa-fw mr-2\"></i>'.$L->g('Edit').'</a>';\n\t\t\techo '<div class=\"dropdown-divider\"></div>';\n\t\t\techo '<a href=\"#\" class=\"dropdown-item text-danger deletePageButton\" data-toggle=\"modal\" data-target=\"#jsdeletePageModal\" data-key=\"'.$child->key().'\"><i class=\"fa fa-trash fa-fw mr-2\"></i>'.$L->g('Delete').'</a>';\n\t\t\techo '</div></div>';\n\t\t\techo '</td>';\n\t\t\techo '</tr>';\n\t\t}\n\t}\n}\n\n// Render rows for a list, applying the parent/child nesting rules used by the\n// Static tab and by the Pages/Sticky lists when ORDER_BY is \"position\".\nfunction tableRows($list, $type, $isSticky = false) {\n\t$nestChildren = ($type === 'static') || (ORDER_BY === 'position');\n\tforeach ($list as $pageKey) {\n\t\ttry {\n\t\t\t$page = new Page($pageKey);\n\t\t} catch (Exception $e) {\n\t\t\tcontinue;\n\t\t}\n\t\tif ($nestChildren) {\n\t\t\tif ($page->isChild()) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\ttableRow($pageKey, $type, $isSticky, true);\n\t\t} else {\n\t\t\ttableRow($pageKey, $type, $isSticky, false);\n\t\t}\n\t}\n}\n\n// Render a full table for a single tab (Static, Scheduled, Draft, Autosave).\nfunction table($type) {\n\tglobal $L;\n\tglobal $drafts;\n\tglobal $scheduled;\n\tglobal $static;\n\tglobal $autosave;\n\n\tif ($type === 'draft') {\n\t\t$list = $drafts;\n\t\t$emptyMessage = $L->g('There are no draft pages at this moment.');\n\t} elseif ($type === 'scheduled') {\n\t\t$list = $scheduled;\n\t\t$emptyMessage = $L->g('There are no scheduled pages at this moment.');\n\t} elseif ($type === 'static') {\n\t\t$list = $static;\n\t\t$emptyMessage = $L->g('There are no static pages at this moment.');\n\t} elseif ($type === 'autosave') {\n\t\t$list = $autosave;\n\t\t$emptyMessage = '';\n\t} else {\n\t\treturn;\n\t}\n\n\tif (empty($list) && $type !== 'autosave') {\n\t\techo '<p class=\"mt-4 text-muted\">'.$emptyMessage.'</p>';\n\t\treturn;\n\t}\n\n\techo '<table class=\"table mt-3\"><thead><tr>';\n\techo '<th class=\"border-0\" scope=\"col\">'.$L->g('Title').'</th>';\n\tif ($type === 'static') {\n\t\techo '<th class=\"border-0 d-none d-xl-table-cell\" scope=\"col\">'.$L->g('URL').'</th>';\n\t}\n\techo '<th class=\"border-0 text-center d-sm-table-cell\" scope=\"col\">'.$L->g('Actions').'</th>';\n\techo '</tr></thead><tbody>';\n\ttableRows($list, $type);\n\techo '</tbody></table>';\n}\n\n// Render the Pages tab: sticky rows first, then the paginated published list,\n// in a single table.\nfunction tablePages() {\n\tglobal $L;\n\tglobal $published;\n\tglobal $sticky;\n\tglobal $url;\n\n\t$isFirstPage = ($url->pageNumber() <= 1);\n\n\tif (empty($published) && (empty($sticky) || !$isFirstPage)) {\n\t\techo '<p class=\"mt-4 text-muted\">'.$L->g('There are no pages at this moment.').'</p>';\n\t\treturn;\n\t}\n\n\techo '<table class=\"table mt-3\"><thead><tr>';\n\techo '<th class=\"border-0\" scope=\"col\">'.$L->g('Title').'</th>';\n\techo '<th class=\"border-0 d-none d-xl-table-cell\" scope=\"col\">'.$L->g('URL').'</th>';\n\techo '<th class=\"border-0 text-center d-sm-table-cell\" scope=\"col\">'.$L->g('Actions').'</th>';\n\techo '</tr></thead><tbody>';\n\tif (!empty($sticky) && $isFirstPage) {\n\t\ttableRows($sticky, 'sticky', true);\n\t}\n\tif (!empty($published)) {\n\t\ttableRows($published, 'published', false);\n\t}\n\techo '</tbody></table>';\n}\n\n?>\n\n<!-- TABS -->\n<ul class=\"nav nav-tabs\" role=\"tablist\">\n\t<li class=\"nav-item\">\n\t\t<a class=\"nav-link active\" id=\"pages-tab\" data-toggle=\"tab\" href=\"#pages\" role=\"tab\"><?php $L->p('Pages') ?></a>\n\t</li>\n\t<li class=\"nav-item\">\n\t\t<a class=\"nav-link\" id=\"static-tab\" data-toggle=\"tab\" href=\"#static\" role=\"tab\"><?php $L->p('Static') ?></a>\n\t</li>\n\t<li class=\"nav-item\">\n\t\t<a class=\"nav-link\" id=\"scheduled-tab\" data-toggle=\"tab\" href=\"#scheduled\" role=\"tab\"><?php $L->p('Scheduled') ?> <?php if (count($scheduled)>0) { echo '<span class=\"badge badge-danger\">'.count($scheduled).'</span>'; } ?></a>\n\t</li>\n\t<li class=\"nav-item\">\n\t\t<a class=\"nav-link\" id=\"draft-tab\" data-toggle=\"tab\" href=\"#draft\" role=\"tab\"><?php $L->p('Draft') ?></a>\n\t</li>\n\t<?php if (!empty($autosave)): ?>\n\t<li class=\"nav-item\">\n\t\t<a class=\"nav-link\" id=\"autosave-tab\" data-toggle=\"tab\" href=\"#autosave\" role=\"tab\"><?php $L->p('Autosave') ?></a>\n\t</li>\n\t<?php endif; ?>\n</ul>\n<div class=\"tab-content\">\n\t<!-- TABS PAGES (includes sticky on top) -->\n\t<div class=\"tab-pane show active\" id=\"pages\" role=\"tabpanel\">\n\n\t\t<?php tablePages(); ?>\n\n\t\t<?php if (Paginator::numberOfPages() > 1): ?>\n\t\t<!-- Paginator -->\n\t\t<nav class=\"paginator\">\n\t\t\t<ul class=\"pagination flex-wrap justify-content-center\">\n\n\t\t\t<!-- First button -->\n\t\t\t<li class=\"page-item <?php if (!Paginator::showPrev()) echo 'disabled' ?>\">\n\t\t\t\t<a class=\"page-link\" href=\"<?php echo Paginator::firstPageUrl() ?>\"><span class=\"align-middle fa fa-media-skip-backward\"></span> <?php echo $L->get('First'); ?></a>\n\t\t\t</li>\n\n\t\t\t<!-- Previous button -->\n\t\t\t<li class=\"page-item <?php if (!Paginator::showPrev()) echo 'disabled' ?>\">\n\t\t\t\t<a class=\"page-link\" href=\"<?php echo Paginator::previousPageUrl() ?>\"><?php echo $L->get('Previous'); ?></a>\n\t\t\t</li>\n\n\t\t\t<!-- Next button -->\n\t\t\t<li class=\"page-item <?php if (!Paginator::showNext()) echo 'disabled' ?>\">\n\t\t\t\t<a class=\"page-link\" href=\"<?php echo Paginator::nextPageUrl() ?>\"><?php echo $L->get('Next'); ?></a>\n\t\t\t</li>\n\n\t\t\t<!-- Last button -->\n\t\t\t<li class=\"page-item <?php if (!Paginator::showNext()) echo 'disabled' ?>\">\n\t\t\t\t<a class=\"page-link\" href=\"<?php echo Paginator::lastPageUrl() ?>\"><?php echo $L->get('Last'); ?> <span class=\"align-middle fa fa-media-skip-forward\"></span></a>\n\t\t\t</li>\n\n\t\t\t</ul>\n\t\t</nav>\n\t\t<?php endif; ?>\n\t</div>\n\n\t<!-- TABS STATIC -->\n\t<div class=\"tab-pane\" id=\"static\" role=\"tabpanel\">\n\t<?php table('static'); ?>\n\t</div>\n\n\t<!-- TABS SCHEDULED -->\n\t<div class=\"tab-pane\" id=\"scheduled\" role=\"tabpanel\">\n\t<?php table('scheduled'); ?>\n\t</div>\n\n\t<!-- TABS DRAFT -->\n\t<div class=\"tab-pane\" id=\"draft\" role=\"tabpanel\">\n\t<?php table('draft'); ?>\n\t</div>\n\n\t<!-- TABS AUTOSAVE -->\n\t<?php if (!empty($autosave)): ?>\n\t<div class=\"tab-pane\" id=\"autosave\" role=\"tabpanel\">\n\t<?php table('autosave'); ?>\n\t</div>\n\t<?php endif; ?>\n</div>\n\n<!-- Modal for delete page -->\n<?php\n\techo Bootstrap::modal(array(\n\t\t'buttonPrimary'=>$L->g('Delete'),\n\t\t'buttonPrimaryClass'=>'btn-danger deletePageModalAcceptButton',\n\t\t'buttonSecondary'=>$L->g('Cancel'),\n\t\t'buttonSecondaryClass'=>'btn-link',\n\t\t'modalTitle'=>$L->g('Delete content'),\n\t\t'modalText'=>$L->g('Are you sure you want to delete this page'),\n\t\t'modalId'=>'jsdeletePageModal'\n\t));\n?>\n<script>\n$(document).ready(function() {\n\tvar key = false;\n\n\t// Button for delete a page in the table\n\t$(document).on(\"click\", \".deletePageButton\", function() {\n\t\tkey = $(this).data('key');\n\t});\n\n\t// Event from button accept from the modal\n\t$(\".deletePageModalAcceptButton\").on(\"click\", function() {\n\t\tvar currentTab = window.location.hash ? window.location.hash.substring(1) : 'pages';\n\n\t\tvar form = jQuery('<form>', {\n\t\t\t'action': HTML_PATH_ADMIN_ROOT+'edit-content/'+key,\n\t\t\t'method': 'post',\n\t\t\t'target': '_top'\n\t\t}).append(jQuery('<input>', {\n\t\t\t'type': 'hidden',\n\t\t\t'name': 'tokenCSRF',\n\t\t\t'value': tokenCSRF\n\t\t})).append(jQuery('<input>', {\n\t\t\t'type': 'hidden',\n\t\t\t'name': 'key',\n\t\t\t'value': key\n\t\t})).append(jQuery('<input>', {\n\t\t\t'type': 'hidden',\n\t\t\t'name': 'type',\n\t\t\t'value': 'delete'\n\t\t})).append(jQuery('<input>', {\n\t\t\t'type': 'hidden',\n\t\t\t'name': 'tab',\n\t\t\t'value': currentTab\n\t\t}));\n\n\t\tform.hide().appendTo(\"body\").submit();\n\t});\n\n\t// Move-to: change page type via AJAX\n\t$(document).on(\"click\", \".changeTypeButton\", function(e) {\n\t\te.preventDefault();\n\t\tvar $btn = $(this);\n\t\tif ($btn.data('busy')) { return; }\n\t\t$btn.data('busy', true).css('opacity', 0.5);\n\n\t\t$.ajax({\n\t\t\ttype: \"POST\",\n\t\t\turl: HTML_PATH_ADMIN_ROOT + \"ajax/change-type\",\n\t\t\tdata: {\n\t\t\t\ttokenCSRF: tokenCSRF,\n\t\t\t\tkey: $btn.data('key'),\n\t\t\t\ttype: $btn.data('type')\n\t\t\t},\n\t\t\tdataType: \"json\"\n\t\t}).done(function(response) {\n\t\t\tif (response && response.status === 0) {\n\t\t\t\twindow.location.reload();\n\t\t\t} else {\n\t\t\t\t$btn.data('busy', false).css('opacity', 1);\n\t\t\t\talert((response && response.message) ? response.message : <?php echo json_encode($L->g('Failed to change type.')); ?>);\n\t\t\t}\n\t\t}).fail(function() {\n\t\t\t$btn.data('busy', false).css('opacity', 1);\n\t\t\talert(<?php echo json_encode($L->g('Failed to change type.')); ?>);\n\t\t});\n\t});\n});\n</script>\n\n<script>\n\t// Open the tab defined in the URL\n\tconst anchor = window.location.hash;\n\t$(`a[href=\"${anchor}\"]`).tab('show');\n</script>\n"
  },
  {
    "path": "bl-kernel/admin/views/dashboard.php",
    "content": "<div id=\"dashboard\" class=\"container\">\n\n            <!-- Search with welcome message -->\n            <?php\n            $username = $login->username();\n            $user = new User($username);\n            $name = '';\n            if ($user->nickname()) {\n                $name = $user->nickname();\n            } elseif ($user->firstName()) {\n                $name = $user->firstName();\n            }\n            ?>\n            <div class=\"quick-search-trigger mb-4\" id=\"searchTrigger\">\n                <div class=\"quick-search-icon\">\n                    <span class=\"fa fa-hand-spock-o\" id=\"hello-icon\"></span>\n                </div>\n                <span class=\"quick-search-text\">\n                    <span id=\"hello-text\"><?php echo $L->g('welcome') . ($name ? ', ' . htmlspecialchars($name, ENT_QUOTES, 'UTF-8') : '') ?></span>\n                    <small class=\"quick-search-hint\"><?php $L->p('click-here-for-quick-search') ?></small>\n                </span>\n                <span class=\"quick-search-shortcut\">⌘K</span>\n            </div>\n            <script>\n                $(document).ready(function() {\n                    var date = new Date()\n                    var hours = date.getHours()\n                    var icon, greeting\n                    var suffix = <?php echo json_encode($name ? ', ' . $name : '', JSON_HEX_TAG | JSON_UNESCAPED_UNICODE) ?>\n                    if (hours >= 6 && hours < 12) {\n                        icon = 'fa-sun-o'; greeting = <?php echo json_encode($L->g('good-morning'), JSON_HEX_TAG | JSON_UNESCAPED_UNICODE) ?> + suffix\n                    } else if (hours >= 12 && hours < 18) {\n                        icon = 'fa-sun-o'; greeting = <?php echo json_encode($L->g('good-afternoon'), JSON_HEX_TAG | JSON_UNESCAPED_UNICODE) ?> + suffix\n                    } else if (hours >= 18 && hours < 22) {\n                        icon = 'fa-moon-o'; greeting = <?php echo json_encode($L->g('good-evening'), JSON_HEX_TAG | JSON_UNESCAPED_UNICODE) ?> + suffix\n                    } else {\n                        icon = 'fa-moon-o'; greeting = <?php echo json_encode($L->g('good-night'), JSON_HEX_TAG | JSON_UNESCAPED_UNICODE) ?> + suffix\n                    }\n                    $('#hello-icon').attr('class', 'fa ' + icon)\n                    $('#hello-text').text(greeting)\n                });\n            </script>\n\n            <!-- Quick Search Modal -->\n            <div class=\"quick-search-modal\" id=\"searchModal\">\n                <div class=\"quick-search-overlay\" id=\"searchOverlay\"></div>\n                <div class=\"quick-search-content\">\n                    <div class=\"quick-search-header\">\n                        <span class=\"fa fa-search\"></span>\n                        <input type=\"text\" id=\"jsclippy\" class=\"quick-search-input\" placeholder=\"<?php $L->p('search-placeholder') ?>\">\n                    </div>\n                    <div id=\"searchResults\" class=\"quick-search-results\"></div>\n                </div>\n            </div>\n\n            <script>\n                $(document).ready(function() {\n                    var searchInput = $('#jsclippy');\n                    var searchResults = $('#searchResults');\n                    var modal = $('#searchModal');\n                    var trigger = $('#searchTrigger');\n                    var overlay = $('#searchOverlay');\n                    var searchTimeout;\n\n                    function openSearch() {\n                        modal.addClass('active');\n                        $('body').css('overflow', 'hidden');\n                        setTimeout(function() {\n                            searchInput.focus();\n                        }, 150);\n                    }\n\n                    function closeSearch() {\n                        modal.removeClass('active');\n                        $('body').css('overflow', '');\n                        searchInput.val('');\n                        searchResults.empty();\n                    }\n\n                    function performSearch(query) {\n                        if (!query) {\n                            searchResults.empty();\n                            return;\n                        }\n\n                        $.ajax({\n                            url: HTML_PATH_ADMIN_ROOT + \"ajax/clippy\",\n                            data: { query: query },\n                            success: function(data) {\n                                searchResults.empty();\n\n                                if (data.results && data.results.length > 0) {\n                                    data.results.forEach(function(item) {\n                                        var resultHtml = '';\n                                        if (item.type == 'menu') {\n                                            resultHtml = '<a href=\"' + item.url + '\" class=\"search-suggestion\">';\n                                            resultHtml += '<span class=\"fa fa-' + item.icon + '\"></span>' + item.text + '</a>';\n                                        } else {\n                                            resultHtml = '<div class=\"search-suggestion\">';\n                                            resultHtml += '<div class=\"search-suggestion-item\">' + item.text + ' <span class=\"badge badge-pill badge-light\">' + item.type + '</span></div>';\n                                            resultHtml += '<div class=\"search-suggestion-options\">';\n                                            resultHtml += '<a target=\"_blank\" href=\"' + DOMAIN_PAGES + item.id + '\"><?php $L->p('view') ?></a>';\n                                            resultHtml += '<a class=\"ml-2\" href=\"' + DOMAIN_ADMIN + 'edit-content/' + item.id + '\"><?php $L->p('edit') ?></a>';\n                                            resultHtml += '</div></div>';\n                                        }\n                                        searchResults.append(resultHtml);\n                                    });\n                                } else {\n                                    searchResults.html('<div class=\"search-no-results\"><?php $L->p(\"no-results-found\") ?></div>');\n                                }\n                            }\n                        });\n                    }\n\n                    searchInput.on('input', function() {\n                        clearTimeout(searchTimeout);\n                        var query = $(this).val();\n                        searchTimeout = setTimeout(function() {\n                            performSearch(query);\n                        }, 300);\n                    });\n\n                    trigger.on('click', openSearch);\n                    overlay.on('click', closeSearch);\n\n                    $(document).on('keydown', function(e) {\n                        if (e.key === 'Escape' && modal.hasClass('active')) {\n                            closeSearch();\n                        }\n                        if ((e.metaKey || e.ctrlKey) && e.key === 'k') {\n                            e.preventDefault();\n                            openSearch();\n                        }\n                    });\n                });\n            </script>\n\n            <!-- Dashboard Metric Cards -->\n            <div class=\"container px-0\">\n                <div class=\"row\">\n\n                    <!-- Content Metrics Card -->\n                    <div class=\"col-lg col-12 mb-4\">\n                        <div class=\"card metric-card\">\n                            <div class=\"card-body\">\n                                <div class=\"d-flex align-items-center mb-3\">\n                                    <h5 class=\"card-title mb-0\"><?php $L->p('Content') ?></h5>\n                                </div>\n                                <div class=\"mt-3 metric-card-list\">\n                                    <div class=\"list-group list-group-flush\">\n                                        <a href=\"<?php echo HTML_PATH_ADMIN_ROOT.'content' ?>\" class=\"list-group-item d-flex justify-content-between align-items-center\">\n                                            <span><?php $L->p('Published') ?></span>\n                                            <span class=\"badge badge-primary badge-pill\"><?php echo count($pages->getPublishedDB()); ?></span>\n                                        </a>\n                                        <a href=\"<?php echo HTML_PATH_ADMIN_ROOT.'content#draft' ?>\" class=\"list-group-item d-flex justify-content-between align-items-center\">\n                                            <span><?php $L->p('Drafts') ?></span>\n                                            <span class=\"badge badge-primary badge-pill\"><?php echo count($pages->getDraftDB()); ?></span>\n                                        </a>\n                                        <a href=\"<?php echo HTML_PATH_ADMIN_ROOT.'content#scheduled' ?>\" class=\"list-group-item d-flex justify-content-between align-items-center\">\n                                            <span><?php $L->p('Scheduled') ?></span>\n                                            <span class=\"badge badge-primary badge-pill\"><?php echo count($pages->getScheduledDB()); ?></span>\n                                        </a>\n                                    </div>\n                                </div>\n                            </div>\n                        </div>\n                    </div>\n\n\n                    <?php\n                    // Categories Card - Only show if Categories plugin is active\n                    if (pluginActivated('pluginCategories')) {\n                        $categoryList = $categories->keys();\n                    ?>\n                    <!-- Categories Card -->\n                    <div class=\"col-lg col-12 mb-4\">\n                        <div class=\"card metric-card\">\n                            <div class=\"card-body\">\n                                <div class=\"d-flex align-items-center mb-3\">\n                                    <h5 class=\"card-title mb-0\"><?php $L->p('Categories') ?></h5>\n                                </div>\n                                <div class=\"mt-3 metric-card-list\">\n                                    <?php if (!empty($categoryList)): ?>\n                                        <div class=\"list-group list-group-flush\">\n                                            <?php foreach ($categoryList as $categoryKey):\n                                                $category = new Category($categoryKey);\n                                                $pageCount = count($category->pages());\n                                            ?>\n                                                <a href=\"<?php echo HTML_PATH_ADMIN_ROOT . 'edit-category/' . $categoryKey ?>\" class=\"list-group-item d-flex justify-content-between align-items-center\">\n                                                    <span><?php echo $category->name() ?></span>\n                                                    <span class=\"badge badge-primary badge-pill\"><?php echo $pageCount ?></span>\n                                                </a>\n                                            <?php endforeach; ?>\n                                        </div>\n                                    <?php else: ?>\n                                        <p class=\"text-muted text-center py-3\"><?php $L->p('No categories') ?></p>\n                                    <?php endif; ?>\n                                </div>\n                            </div>\n                        </div>\n                    </div>\n                    <?php } ?>\n\n                    <?php\n                    // Tags Card - Only show if Tags plugin is active\n                    if (pluginActivated('pluginTags')) {\n                        $tagList = $tags->keys();\n                    ?>\n                    <!-- Tags Card -->\n                    <div class=\"col-lg col-12 mb-4\">\n                        <div class=\"card metric-card\">\n                            <div class=\"card-body\">\n                                <div class=\"d-flex align-items-center mb-3\">\n                                    <h5 class=\"card-title mb-0\"><?php $L->p('Tags') ?></h5>\n                                </div>\n                                <div class=\"mt-3 metric-card-list\">\n                                    <?php if (!empty($tagList)): ?>\n                                        <div class=\"list-group list-group-flush\">\n                                            <?php foreach ($tagList as $tagKey):\n                                                $tag = new Tag($tagKey);\n                                                $pageCount = count($tag->pages());\n                                            ?>\n                                                <a href=\"<?php echo HTML_PATH_ADMIN_ROOT . 'content/tag/' . $tagKey ?>\" class=\"list-group-item d-flex justify-content-between align-items-center\">\n                                                    <span><?php echo $tag->name() ?></span>\n                                                    <span class=\"badge badge-primary badge-pill\"><?php echo $pageCount ?></span>\n                                                </a>\n                                            <?php endforeach; ?>\n                                        </div>\n                                    <?php else: ?>\n                                        <p class=\"text-muted text-center py-3\"><?php $L->p('No tags') ?></p>\n                                    <?php endif; ?>\n                                </div>\n                            </div>\n                        </div>\n                    </div>\n                    <?php } ?>\n\n                </div>\n            </div>\n\n            <?php\n            // Analytics Section - Only show if Visits Stats plugin is active\n            $visitsStats = getPlugin('pluginVisitsStats');\n            if ($visitsStats && $visitsStats->installed()):\n                $currentDate    = Date::current('Y-m-d');\n                $visitsToday    = $visitsStats->visits($currentDate);\n                $uniqueVisitors = $visitsStats->uniqueVisitors($currentDate);\n                $weekData       = $visitsStats->getLastDaysData(7);\n            ?>\n            <!-- Analytics Section -->\n            <div class=\"analytics-section mb-4\">\n                <ul class=\"list-group list-group-striped b-0 mb-3\">\n                    <li class=\"list-group-item\">\n                        <h4 class=\"m-0\"><?php $L->p('Analytics') ?></h4>\n                    </li>\n                </ul>\n                <div class=\"row align-items-center\">\n                    <div class=\"col-lg-3 col-12 mb-3 mb-lg-0\">\n                        <div class=\"row text-center\">\n                            <div class=\"col-4 col-lg-12 mb-0 mb-lg-4\">\n                                <div class=\"metric-value\"><?php echo $visitsToday; ?></div>\n                                <div class=\"metric-label\"><?php $L->p('Visits Today') ?></div>\n                            </div>\n                            <div class=\"col-4 col-lg-12 mb-0 mb-lg-4\">\n                                <div class=\"metric-value\"><?php echo $uniqueVisitors; ?></div>\n                                <div class=\"metric-label\"><?php $L->p('Unique Visitors') ?></div>\n                            </div>\n                            <div class=\"col-4 col-lg-12\">\n                                <div class=\"metric-value\"><?php echo $weekData['total']; ?></div>\n                                <div class=\"metric-label\"><?php $L->p('7-Day Total') ?></div>\n                            </div>\n                        </div>\n                    </div>\n                    <div class=\"col-lg-9 col-12\">\n                        <canvas id=\"analytics-chart\"></canvas>\n                    </div>\n                </div>\n            </div>\n            <script>\n            (function() {\n                var ctx = document.getElementById('analytics-chart');\n                if (!ctx || typeof Chart === 'undefined') { return; }\n                new Chart(ctx, {\n                    type: 'bar',\n                    data: {\n                        labels: <?php echo json_encode($weekData['labels']); ?>,\n                        datasets: [{\n                            label: <?php echo json_encode($L->g('unique-visitors'), JSON_HEX_TAG | JSON_UNESCAPED_UNICODE) ?>,\n                            backgroundColor: 'rgba(0,120,212,0.45)',\n                            borderColor: 'rgba(0,120,212,0.75)',\n                            borderWidth: 1,\n                            data: <?php echo json_encode($weekData['unique']); ?>\n                        }, {\n                            label: <?php echo json_encode($L->g('visits-today'), JSON_HEX_TAG | JSON_UNESCAPED_UNICODE) ?>,\n                            backgroundColor: 'rgba(148,163,184,0.5)',\n                            borderColor: 'rgba(100,116,139,0.8)',\n                            borderWidth: 1,\n                            data: <?php echo json_encode($weekData['visits']); ?>\n                        }]\n                    },\n                    options: {\n                        responsive: true,\n                        maintainAspectRatio: true,\n                        aspectRatio: 4,\n                        legend: {\n                            display: true,\n                            position: 'bottom',\n                            labels: { fontSize: 11, boxWidth: 12, fontColor: '#475569' }\n                        },\n                        scales: {\n                            yAxes: [{\n                                ticks: { beginAtZero: true, stepSize: 1, fontColor: '#94A3B8', fontSize: 11 },\n                                gridLines: { color: 'rgba(0,0,0,0.05)', zeroLineColor: 'rgba(0,0,0,0.1)' }\n                            }],\n                            xAxes: [{\n                                ticks: { fontColor: '#94A3B8', fontSize: 11 },\n                                gridLines: { display: false }\n                            }]\n                        },\n                        tooltips: { mode: 'index', intersect: false }\n                    }\n                });\n            })();\n            </script>\n            <?php endif; ?>\n\n            <!-- Notifications -->\n            <div class=\"mt-4\">\n                <ul class=\"list-group list-group-striped b-0\">\n                    <li class=\"list-group-item\">\n                        <h4 class=\"m-0\"><?php $L->p('Notifications') ?></h4>\n                    </li>\n                    <?php\n                    $logs = array_slice($syslog->db, 0, NOTIFICATIONS_AMOUNT);\n                    foreach ($logs as $log) {\n                        $phrase = $L->g($log['dictionaryKey']);\n                        echo '<li class=\"list-group-item\">';\n                        echo $phrase;\n                        if (!empty($log['notes'])) {\n                            echo ' « <b>' . htmlspecialchars($log['notes'], ENT_QUOTES, 'UTF-8') . '</b> »';\n                        }\n                        echo '<br><span class=\"notification-date\"><small>';\n                        echo Date::format($log['date'], DB_DATE_FORMAT, NOTIFICATIONS_DATE_FORMAT);\n                        echo ' [ ' . htmlspecialchars($log['username'], ENT_QUOTES, 'UTF-8') . ' ]';\n                        echo '</small></span>';\n                        echo '</li>';\n                    }\n                    ?>\n                </ul>\n            </div>\n\n</div>\n"
  },
  {
    "path": "bl-kernel/admin/views/developers.php",
    "content": "<?php\n\necho Bootstrap::pageTitle(array('title'=>$L->g('Developers'), 'icon'=>'gears'));\n\necho '<h2 class=\"mb-4 mt-4\"><b>PHP version: '.phpversion().'</b></h2>';\n\n// PHP Ini\n$uploadOptions = array(\n\t'upload_max_filesize'=>ini_get('upload_max_filesize'),\n\t'post_max_size'=>ini_get('post_max_size'),\n\t'upload_tmp_dir'=>ini_get('upload_tmp_dir')\n);\nprintTable('File Uploads', $uploadOptions);\n\n// Loaded extensions\nprintTable('Server information ( $_SERVER )', $_SERVER);\n\n// PHP Ini\nprintTable('PHP Configuration options ( ini_get_all() )', ini_get_all());\n\n// Loaded extensions\nprintTable('Loaded extensions',get_loaded_extensions());\n\n// Locales installed\nexec('locale -a', $locales);\nprintTable('Locales installed', $locales);\n\necho '<hr>';\necho '<h2>BLUDIT</h2>';\necho '<hr>';\n\n// Constanst defined by Bludit\n$constants = get_defined_constants(true);\nprintTable('Bludit Constants', $constants['user']);\n\n// Site object\nprintTable('$site object database',$site->db);\n\n"
  },
  {
    "path": "bl-kernel/admin/views/edit-category.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.'); ?>\n\n<?php echo Bootstrap::formOpen(array('id'=>'jsform')); ?>\n\n<div class=\"align-middle\">\n\t<div class=\"float-right mt-1\">\n\t\t<button type=\"submit\" class=\"btn btn-primary btn-sm\" name=\"save\"><?php $L->p('Save') ?></button>\n\t\t<button type=\"button\" class=\"btn btn-danger btn-sm\" data-toggle=\"modal\" data-target=\"#jsdeleteModal\"><?php $L->p('Delete') ?></button>\n\t\t<a class=\"btn btn-secondary btn-sm\" href=\"<?php echo HTML_PATH_ADMIN_ROOT.'dashboard' ?>\" role=\"button\"><?php $L->p('Cancel') ?></a>\n\t</div>\n\t<?php echo Bootstrap::pageTitle(array('title'=>$L->g('Edit Category'), 'icon'=>'cog')); ?>\n</div>\n\n<?php\n\t// Token CSRF\n\techo Bootstrap::formInputHidden(array(\n\t\t'name'=>'tokenCSRF',\n\t\t'value'=>$security->getTokenCSRF()\n\t));\n\n\techo Bootstrap::formInputHidden(array(\n\t\t'name'=>'action',\n\t\t'value'=>'edit'\n\t));\n\n\techo Bootstrap::formInputHidden(array(\n\t\t'name'=>'oldKey',\n\t\t'value'=>$categoryMap['key']\n\t));\n\n\techo Bootstrap::formInputText(array(\n\t\t'name'=>'name',\n\t\t'label'=>$L->g('Name'),\n\t\t'value'=>$categoryMap['name'],\n\t\t'class'=>'',\n\t\t'placeholder'=>'',\n\t\t'tip'=>''\n\t));\n\n\techo Bootstrap::formTextarea(array(\n\t\t'name'=>'description',\n\t\t'label'=>$L->g('Description'),\n\t\t'value'=>isset($categoryMap['description'])?$categoryMap['description']:'',\n\t\t'class'=>'',\n\t\t'placeholder'=>'',\n\t\t'tip'=>'',\n\t\t'rows'=>3\n\t));\n\n\techo Bootstrap::formInputText(array(\n\t\t'name'=>'template',\n\t\t'label'=>$L->g('Template'),\n\t\t'value'=>isset($categoryMap['template'])?$categoryMap['template']:'',\n\t\t'class'=>'',\n\t\t'placeholder'=>'',\n\t\t'tip'=>''\n\t));\n\n\techo Bootstrap::formInputText(array(\n\t\t'name'=>'newKey',\n\t\t'label'=>$L->g('Friendly URL'),\n\t\t'value'=>$categoryMap['key'],\n\t\t'class'=>'',\n\t\t'placeholder'=>'',\n\t\t'tip'=>DOMAIN_CATEGORIES.$categoryMap['key']\n\t));\n\necho Bootstrap::formClose();\n\n?>\n\n<!-- Modal for delete category -->\n<?php\n\techo Bootstrap::modal(array(\n\t\t'buttonPrimary'=>$L->g('Delete'),\n\t\t'buttonPrimaryClass'=>'btn-danger jsbuttonDeleteAccept',\n\t\t'buttonSecondary'=>$L->g('Cancel'),\n\t\t'buttonSecondaryClass'=>'btn-link',\n\t\t'modalTitle'=>$L->g('Delete category'),\n\t\t'modalText'=>$L->g('Are you sure you want to delete this category?'),\n\t\t'modalId'=>'jsdeleteModal'\n\t));\n?>\n<script>\n$(document).ready(function() {\n\t// Delete content\n\t$(\".jsbuttonDeleteAccept\").on(\"click\", function() {\n\t\t$(\"#jsaction\").val(\"delete\");\n\t\t$(\"#jsform\").submit();\n\t});\n});\n</script>"
  },
  {
    "path": "bl-kernel/admin/views/edit-content.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.'); ?>\n\n<?php\n\n// FORM START\necho Bootstrap::formOpen(array(\n\t'id' => 'jsform',\n\t'class' => 'd-flex flex-column h-100'\n));\n\n// Token CSRF\necho Bootstrap::formInputHidden(array(\n\t'name' => 'tokenCSRF',\n\t'value' => $security->getTokenCSRF()\n));\n\n// UUID\n// The UUID is generated in the controller\necho Bootstrap::formInputHidden(array(\n\t'name' => 'uuid',\n\t'value' => $page->uuid()\n));\n\n// Type = published, draft, sticky, static\necho Bootstrap::formInputHidden(array(\n\t'name' => 'type',\n\t'value' => $page->type()\n));\n\n// Cover image\necho Bootstrap::formInputHidden(array(\n\t'name' => 'coverImage',\n\t'value' => $page->coverImage(false)\n));\n\n// Content\necho Bootstrap::formInputHidden(array(\n\t'name' => 'content',\n\t'value' => ''\n));\n\n// Current page key\necho Bootstrap::formInputHidden(array(\n\t'name' => 'key',\n\t'value' => $page->key()\n));\n?>\n\n<!-- TOOLBAR -->\n<div id=\"jseditorToolbar\" class=\"mb-1\">\n\t<div id=\"jseditorToolbarRight\" class=\"btn-group btn-group-sm float-right\" role=\"group\" aria-label=\"Toolbar right\">\n\t\t<button type=\"button\" class=\"btn btn-light\" id=\"jsmediaManagerOpenModal\" data-toggle=\"modal\" data-target=\"#jsmediaManagerModal\"><span class=\"fa fa-image\"></span> <?php $L->p('Images') ?></button>\n\t\t<?php Theme::plugins('editorToolbar') ?>\n\t\t<button type=\"button\" class=\"btn btn-light\" id=\"jsoptionsSidebar\" style=\"z-index:30\"><span class=\"fa fa-cog\"></span> <?php $L->p('Options') ?></button>\n\t</div>\n\n\t<div id=\"jseditorToolbarLeft\">\n\t\t<button type=\"button\" class=\"btn btn-sm btn-primary\" id=\"jsbuttonSave\"><?php echo $L->g('Save') ?></button>\n\t\t<button id=\"jsbuttonPreview\" type=\"button\" class=\"btn btn-sm btn-secondary\"><?php $L->p('Preview') ?></button>\n\t\t<span id=\"jsswitchButton\" data-switch=\"<?php echo ($page->draft() ? 'draft' : 'publish') ?>\" class=\"ml-2 text-secondary switch-button\"><i class=\"fa fa-square switch-icon-<?php echo ($page->draft() ? 'draft' : 'publish') ?>\"></i> <?php echo ($page->draft() ? $L->g('Draft') : $L->g('Publish')) ?></span>\n\t</div>\n\n\t<?php if ($page->scheduled()) : ?>\n\t\t<div class=\"alert alert-warning p-1 mt-1 mb-0\"><?php $L->p('scheduled') ?>: <?php echo $page->date(SCHEDULED_DATE_FORMAT) ?></div>\n\t<?php endif; ?>\n</div>\n<script>\n\t$(document).ready(function() {\n\t\t$(\"#jsoptionsSidebar\").on(\"click\", function() {\n\t\t\t$(\"#jseditorSidebar\").toggle();\n\t\t\t$(\"#jsshadow\").toggle();\n\t\t});\n\n\t\t$(\"#jsshadow\").on(\"click\", function() {\n\t\t\t$(\"#jseditorSidebar\").toggle();\n\t\t\t$(\"#jsshadow\").toggle();\n\t\t});\n\t});\n</script>\n\n<!-- SIDEBAR OPTIONS -->\n<div id=\"jseditorSidebar\">\n\t<nav>\n\t\t<div class=\"nav nav-tabs\" id=\"nav-tab\" role=\"tablist\">\n\t\t\t<a class=\"nav-link active show\" id=\"nav-general-tab\" data-toggle=\"tab\" href=\"#nav-general\" role=\"tab\" aria-controls=\"general\"><?php $L->p('General') ?></a>\n\t\t\t<a class=\"nav-link\" id=\"nav-advanced-tab\" data-toggle=\"tab\" href=\"#nav-advanced\" role=\"tab\" aria-controls=\"advanced\"><?php $L->p('Advanced') ?></a>\n\t\t\t<?php if (!empty($site->customFields())) : ?>\n\t\t\t\t<a class=\"nav-link\" id=\"nav-custom-tab\" data-toggle=\"tab\" href=\"#nav-custom\" role=\"tab\" aria-controls=\"custom\"><?php $L->p('Custom') ?></a>\n\t\t\t<?php endif ?>\n\t\t\t<a class=\"nav-link\" id=\"nav-seo-tab\" data-toggle=\"tab\" href=\"#nav-seo\" role=\"tab\" aria-controls=\"seo\"><?php $L->p('SEO') ?></a>\n\t\t</div>\n\t</nav>\n\n\t<div class=\"tab-content pr-3 pl-3 pb-3\">\n\t\t<div id=\"nav-general\" class=\"tab-pane fade show active\" role=\"tabpanel\" aria-labelledby=\"general-tab\">\n\t\t\t<?php\n\t\t\t// Category\n\t\t\techo Bootstrap::formSelectBlock(array(\n\t\t\t\t'name' => 'category',\n\t\t\t\t'label' => $L->g('Category'),\n\t\t\t\t'selected' => $page->categoryKey(),\n\t\t\t\t'class' => '',\n\t\t\t\t'emptyOption' => '- ' . $L->g('Uncategorized') . ' -',\n\t\t\t\t'options' => $categories->getKeyNameArray()\n\t\t\t));\n\n\t\t\t// Description\n\t\t\techo Bootstrap::formTextareaBlock(array(\n\t\t\t\t'name' => 'description',\n\t\t\t\t'label' => $L->g('Description'),\n\t\t\t\t'selected' => '',\n\t\t\t\t'class' => '',\n\t\t\t\t'value' => $page->description(),\n\t\t\t\t'rows' => 5,\n\t\t\t\t'placeholder' => $L->get('this-field-can-help-describe-the-content')\n\t\t\t));\n\t\t\t?>\n\n\t\t\t<!-- Cover Image -->\n\t\t\t<?php\n\t\t\t$coverImage = $page->coverImage(false);\n\t\t\t$externalCoverImage = '';\n\t\t\tif (filter_var($coverImage, FILTER_VALIDATE_URL)) {\n\t\t\t\t$coverImage = '';\n\t\t\t\t$externalCoverImage = $page->coverImage(false);\n\t\t\t}\n\t\t\t?>\n\t\t\t<label class=\"mt-4 mb-2 pb-2 border-bottom text-uppercase w-100\"><?php $L->p('Cover Image') ?></label>\n\t\t\t<div>\n\t\t\t\t<img id=\"jscoverImagePreview\" class=\"mx-auto d-block w-100\" alt=\"Cover image preview\" src=\"<?php echo (empty($coverImage) ? HTML_PATH_CORE_IMG . 'default.svg' : $page->coverImage()) ?>\" />\n\t\t\t</div>\n\t\t\t<div class=\"mt-2 text-center\">\n\t\t\t\t<button type=\"button\" id=\"jsbuttonSelectCoverImage\" class=\"btn btn-primary btn-sm\"><?php echo $L->g('Select cover image') ?></button>\n\t\t\t\t<button type=\"button\" id=\"jsbuttonRemoveCoverImage\" class=\"btn btn-secondary btn-sm\"><?php echo $L->g('Remove cover image') ?></button>\n\t\t\t</div>\n\t\t\t<script>\n\t\t\t\t$(document).ready(function() {\n\t\t\t\t\t$(\"#jscoverImagePreview\").on(\"click\", function() {\n\t\t\t\t\t\topenMediaManager();\n\t\t\t\t\t});\n\n\t\t\t\t\t$(\"#jsbuttonSelectCoverImage\").on(\"click\", function() {\n\t\t\t\t\t\topenMediaManager();\n\t\t\t\t\t});\n\n\t\t\t\t\t$(\"#jsbuttonRemoveCoverImage\").on(\"click\", function() {\n\t\t\t\t\t\t$(\"#jscoverImage\").val('');\n\t\t\t\t\t\t$(\"#jscoverImagePreview\").attr('src', HTML_PATH_CORE_IMG + 'default.svg');\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t</script>\n\t\t</div>\n\t\t<div id=\"nav-advanced\" class=\"tab-pane fade\" role=\"tabpanel\" aria-labelledby=\"advanced-tab\">\n\t\t\t<?php\n\t\t\t// Date\n\t\t\techo Bootstrap::formInputTextBlock(array(\n\t\t\t\t'name' => 'date',\n\t\t\t\t'label' => $L->g('Date'),\n\t\t\t\t'placeholder' => '',\n\t\t\t\t'value' => $page->dateRaw(),\n\t\t\t\t'tip' => $L->g('date-format-format')\n\t\t\t));\n\n\t\t\t// Type\n\t\t\techo Bootstrap::formSelectBlock(array(\n\t\t\t\t'name' => 'typeSelector',\n\t\t\t\t'label' => $L->g('Type'),\n\t\t\t\t'selected' => $page->type(),\n\t\t\t\t'options' => array(\n\t\t\t\t\t'published' => '- ' . $L->g('Default') . ' -',\n\t\t\t\t\t'sticky' => $L->g('Sticky'),\n\t\t\t\t\t'static' => $L->g('Static')\n\t\t\t\t),\n\t\t\t\t'tip' => ''\n\t\t\t));\n\n\t\t\t// Position\n\t\t\techo Bootstrap::formInputTextBlock(array(\n\t\t\t\t'name' => 'position',\n\t\t\t\t'label' => $L->g('Position'),\n\t\t\t\t'tip' => $L->g('Field used when ordering content by position'),\n\t\t\t\t'value' => $page->position()\n\t\t\t));\n\n\t\t\t// Tags\n\t\t\techo Bootstrap::formInputTextBlock(array(\n\t\t\t\t'name' => 'tags',\n\t\t\t\t'label' => $L->g('Tags'),\n\t\t\t\t'placeholder' => '',\n\t\t\t\t'tip' => $L->g('Write the tags separated by commas'),\n\t\t\t\t'value' => $page->tags()\n\t\t\t));\n\n\t\t\t// Parent\n\t\t\ttry {\n\t\t\t\t$options = array();\n\t\t\t\t$parentKey = $page->parent();\n\t\t\t\tif (!empty($parentKey)) {\n\t\t\t\t\t$parent = new Page($parentKey);\n\t\t\t\t\t$options = array($parentKey => $parent->title());\n\t\t\t\t}\n\t\t\t} catch (Exception $e) {\n\t\t\t\t// continue\n\t\t\t}\n\t\t\techo Bootstrap::formSelectBlock(array(\n\t\t\t\t'name' => 'parent',\n\t\t\t\t'label' => $L->g('Parent'),\n\t\t\t\t'options' => $options,\n\t\t\t\t'selected' => false,\n\t\t\t\t'class' => '',\n\t\t\t\t'tip' => $L->g('Start typing a page title to see a list of suggestions.'),\n\t\t\t));\n\n\t\t\t?>\n\n\t\t\t<script>\n\t\t\t\t$(document).ready(function() {\n\t\t\t\t\tvar parent = $(\"#jsparent\").select2({\n\t\t\t\t\t\tplaceholder: \"\",\n\t\t\t\t\t\tallowClear: true,\n\t\t\t\t\t\ttheme: \"bootstrap4\",\n\t\t\t\t\t\tminimumInputLength: 2,\n\t\t\t\t\t\tajax: {\n\t\t\t\t\t\t\turl: HTML_PATH_ADMIN_ROOT + \"ajax/get-published\",\n\t\t\t\t\t\t\tdata: function(params) {\n\t\t\t\t\t\t\t\tvar query = {\n\t\t\t\t\t\t\t\t\tcheckIsParent: true,\n\t\t\t\t\t\t\t\t\tquery: params.term\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn query;\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tprocessResults: function(data) {\n\t\t\t\t\t\t\t\treturn data;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\tescapeMarkup: function(markup) {\n\t\t\t\t\t\t\treturn markup;\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttemplateResult: function(data) {\n\t\t\t\t\t\t\tvar html = data.text\n\t\t\t\t\t\t\tif (data.type == \"static\") {\n\t\t\t\t\t\t\t\thtml += '<span class=\"badge badge-pill badge-light\">' + data.type + '</span>';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn html;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t</script>\n\n\t\t\t<?php\n\n\t\t\t// Template\n\t\t\techo Bootstrap::formInputTextBlock(array(\n\t\t\t\t'name' => 'template',\n\t\t\t\t'label' => $L->g('Template'),\n\t\t\t\t'placeholder' => '',\n\t\t\t\t'value' => $page->template(),\n\t\t\t\t'tip' => $L->g('Write a template name to filter the page in the theme and change the style of the page.')\n\t\t\t));\n\n\t\t\techo Bootstrap::formInputTextBlock(array(\n\t\t\t\t'name' => 'externalCoverImage',\n\t\t\t\t'label' => $L->g('External cover image'),\n\t\t\t\t'placeholder' => \"https://\",\n\t\t\t\t'value' => $externalCoverImage,\n\t\t\t\t'tip' => $L->g('Set a cover image from external URL, such as a CDN or some server dedicated for images.')\n\t\t\t));\n\n\t\t\t// Username\n\t\t\techo Bootstrap::formInputTextBlock(array(\n\t\t\t\t'name' => '',\n\t\t\t\t'label' => $L->g('Author'),\n\t\t\t\t'placeholder' => '',\n\t\t\t\t'value' => $page->username(),\n\t\t\t\t'tip' => '',\n\t\t\t\t'disabled' => true\n\t\t\t));\n\t\t\t?>\n\t\t\t<script>\n\t\t\t\t$(document).ready(function() {\n\t\t\t\t\t// Changes in External cover image input\n\t\t\t\t\t$(\"#jsexternalCoverImage\").change(function() {\n\t\t\t\t\t\t$(\"#jscoverImage\").val($(this).val());\n\t\t\t\t\t});\n\n\t\t\t\t\t// Datepicker\n\t\t\t\t\t$(\"#jsdate\").datetimepicker({\n\t\t\t\t\t\tformat: DB_DATE_FORMAT\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t</script>\n\t\t</div>\n\n\t\t<?php if (!empty($site->customFields())) : ?>\n\t\t\t<div id=\"nav-custom\" class=\"tab-pane fade\" role=\"tabpanel\" aria-labelledby=\"custom-tab\">\n\t\t\t\t<?php\n\t\t\t\t$customFields = $site->customFields();\n\t\t\t\tforeach ($customFields as $field => $options) {\n\t\t\t\t\tif (!isset($options['position'])) {\n\t\t\t\t\t\tif ($options['type'] == \"string\") {\n\t\t\t\t\t\t\techo Bootstrap::formInputTextBlock(array(\n\t\t\t\t\t\t\t\t'name' => 'custom[' . $field . ']',\n\t\t\t\t\t\t\t\t'value' => (isset($options['default']) ? $options['default'] : ''),\n\t\t\t\t\t\t\t\t'tip' => (isset($options['tip']) ? $options['tip'] : ''),\n\t\t\t\t\t\t\t\t'label' => (isset($options['label']) ? $options['label'] : ''),\n\t\t\t\t\t\t\t\t'placeholder' => (isset($options['placeholder']) ? $options['placeholder'] : ''),\n\t\t\t\t\t\t\t\t'value' => $page->custom($field)\n\t\t\t\t\t\t\t));\n\t\t\t\t\t\t} elseif ($options['type'] == \"bool\") {\n\t\t\t\t\t\t\techo Bootstrap::formCheckbox(array(\n\t\t\t\t\t\t\t\t'name' => 'custom[' . $field . ']',\n\t\t\t\t\t\t\t\t'label' => (isset($options['label']) ? $options['label'] : ''),\n\t\t\t\t\t\t\t\t'placeholder' => (isset($options['placeholder']) ? $options['placeholder'] : ''),\n\t\t\t\t\t\t\t\t'checked' => $page->custom($field),\n\t\t\t\t\t\t\t\t'labelForCheckbox' => (isset($options['tip']) ? $options['tip'] : '')\n\t\t\t\t\t\t\t));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t?>\n\t\t\t</div>\n\t\t<?php endif ?>\n\n\t\t<div id=\"nav-seo\" class=\"tab-pane fade\" role=\"tabpanel\" aria-labelledby=\"seo-tab\">\n\t\t\t<?php\n\t\t\t// Friendly URL\n\t\t\techo Bootstrap::formInputTextBlock(array(\n\t\t\t\t'name' => 'slug',\n\t\t\t\t'tip' => $L->g('URL associated with the content'),\n\t\t\t\t'label' => $L->g('Friendly URL'),\n\t\t\t\t'placeholder' => $L->g('Leave empty for autocomplete by Bludit.'),\n\t\t\t\t'value' => $page->slug()\n\t\t\t));\n\n\t\t\t// Robots\n\t\t\techo Bootstrap::formCheckbox(array(\n\t\t\t\t'name' => 'noindex',\n\t\t\t\t'label' => 'Robots',\n\t\t\t\t'labelForCheckbox' => $L->g('apply-code-noindex-code-to-this-page'),\n\t\t\t\t'placeholder' => '',\n\t\t\t\t'checked' => $page->noindex(),\n\t\t\t\t'tip' => $L->g('This tells search engines not to show this page in their search results.')\n\t\t\t));\n\n\t\t\t// Robots\n\t\t\techo Bootstrap::formCheckbox(array(\n\t\t\t\t'name' => 'nofollow',\n\t\t\t\t'label' => '',\n\t\t\t\t'labelForCheckbox' => $L->g('apply-code-nofollow-code-to-this-page'),\n\t\t\t\t'placeholder' => '',\n\t\t\t\t'checked' => $page->nofollow(),\n\t\t\t\t'tip' => $L->g('This tells search engines not to follow links on this page.')\n\t\t\t));\n\n\t\t\t// Robots\n\t\t\techo Bootstrap::formCheckbox(array(\n\t\t\t\t'name' => 'noarchive',\n\t\t\t\t'label' => '',\n\t\t\t\t'labelForCheckbox' => $L->g('apply-code-noarchive-code-to-this-page'),\n\t\t\t\t'placeholder' => '',\n\t\t\t\t'checked' => $page->noarchive(),\n\t\t\t\t'tip' => $L->g('This tells search engines not to save a cached copy of this page.')\n\t\t\t));\n\t\t\t?>\n\t\t</div>\n\t</div>\n</div>\n\n<!-- Custom fields: TOP -->\n<?php\n$customFields = $site->customFields();\nforeach ($customFields as $field => $options) {\n\tif (isset($options['position']) && ($options['position'] == 'top')) {\n\t\tif ($options['type'] == \"string\") {\n\t\t\techo Bootstrap::formInputTextBlock(array(\n\t\t\t\t'name' => 'custom[' . $field . ']',\n\t\t\t\t'label' => (isset($options['label']) ? $options['label'] : ''),\n\t\t\t\t'value' => $page->custom($field),\n\t\t\t\t'tip' => (isset($options['tip']) ? $options['tip'] : ''),\n\t\t\t\t'placeholder' => (isset($options['placeholder']) ? $options['placeholder'] : ''),\n\t\t\t\t'class' => 'mb-2',\n\t\t\t\t'labelClass' => 'mb-2 pb-2 border-bottom text-uppercase w-100'\n\n\t\t\t));\n\t\t} elseif ($options['type'] == \"bool\") {\n\t\t\techo Bootstrap::formCheckbox(array(\n\t\t\t\t'name' => 'custom[' . $field . ']',\n\t\t\t\t'label' => (isset($options['label']) ? $options['label'] : ''),\n\t\t\t\t'placeholder' => (isset($options['placeholder']) ? $options['placeholder'] : ''),\n\t\t\t\t'checked' => $page->custom($field),\n\t\t\t\t'labelForCheckbox' => (isset($options['tip']) ? $options['tip'] : ''),\n\t\t\t\t'class' => 'mb-2',\n\t\t\t\t'labelClass' => 'mb-2 pb-2 border-bottom text-uppercase w-100'\n\t\t\t));\n\t\t}\n\t}\n}\n?>\n\n<!-- Title -->\n<div class=\"form-group mb-1\">\n\t<input id=\"jstitle\" name=\"title\" type=\"text\" dir=\"auto\" class=\"form-control form-control-lg rounded-0\" value=\"<?php echo $page->title() ?>\" placeholder=\"<?php $L->p('Enter title') ?>\">\n</div>\n\n<!-- Editor -->\n<textarea id=\"jseditor\" class=\"editable h-100\" style=\"\"><?php echo $page->contentRaw(true) ?></textarea>\n\n<!-- Custom fields: BOTTOM -->\n<?php\n$customFields = $site->customFields();\nforeach ($customFields as $field => $options) {\n\tif (isset($options['position']) && ($options['position'] == 'bottom')) {\n\t\tif ($options['type'] == \"string\") {\n\t\t\techo Bootstrap::formInputTextBlock(array(\n\t\t\t\t'name' => 'custom[' . $field . ']',\n\t\t\t\t'label' => (isset($options['label']) ? $options['label'] : ''),\n\t\t\t\t'value' => $page->custom($field),\n\t\t\t\t'tip' => (isset($options['tip']) ? $options['tip'] : ''),\n\t\t\t\t'placeholder' => (isset($options['placeholder']) ? $options['placeholder'] : ''),\n\t\t\t\t'class' => 'mt-2',\n\t\t\t\t'labelClass' => 'mb-2 pb-2 border-bottom text-uppercase w-100'\n\n\t\t\t));\n\t\t} elseif ($options['type'] == \"bool\") {\n\t\t\techo Bootstrap::formCheckbox(array(\n\t\t\t\t'name' => 'custom[' . $field . ']',\n\t\t\t\t'label' => (isset($options['label']) ? $options['label'] : ''),\n\t\t\t\t'placeholder' => (isset($options['placeholder']) ? $options['placeholder'] : ''),\n\t\t\t\t'checked' => $page->custom($field),\n\t\t\t\t'labelForCheckbox' => (isset($options['tip']) ? $options['tip'] : ''),\n\t\t\t\t'class' => 'mt-2',\n\t\t\t\t'labelClass' => 'mb-2 pb-2 border-bottom text-uppercase w-100'\n\t\t\t));\n\t\t}\n\t}\n}\n?>\n\n</form>\n\n<!-- Modal for Delete page -->\n<div id=\"jsdeletePageModal\" class=\"modal\" tabindex=\"-1\" role=\"dialog\">\n\t<div class=\"modal-dialog\">\n\t\t<div class=\"modal-content\">\n\t\t\t<div class=\"modal-body\">\n\t\t\t\t<h3><?php $L->p('Delete content') ?></h3>\n\t\t\t\t<p><?php $L->p('Are you sure you want to delete this page') ?></p>\n\t\t\t</div>\n\t\t\t<div class=\"modal-footer\">\n\t\t\t\t<button type=\"button\" class=\"btn btn-link\" data-dismiss=\"modal\"><?php $L->p('Cancel') ?></button>\n\t\t\t\t<button type=\"button\" class=\"btn btn-danger\" data-dismiss=\"modal\" id=\"jsbuttonDeleteAccept\"><?php $L->p('Delete') ?></button>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t<script>\n\t\t$(document).ready(function() {\n\t\t\t$(\"#jsbuttonDeleteAccept\").on(\"click\", function() {\n\t\t\t\t$(\"#jstype\").val(\"delete\");\n\t\t\t\t$(\"#jscontent\").val(\"\");\n\t\t\t\t$(\"#jsform\").submit();\n\t\t\t});\n\t\t});\n\t</script>\n</div>\n\n<!-- Modal for Media Manager -->\n<?php include(PATH_ADMIN_THEMES . 'booty/html/media.php'); ?>\n\n<script>\n\t$(document).ready(function() {\n\n\t\t// Define function if they don't exist\n\t\t// This helps if the user doesn't activate any plugin as editor\n\t\tif (typeof editorGetContent != \"function\") {\n\t\t\twindow.editorGetContent = function() {\n\t\t\t\treturn $(\"#jseditor\").val();\n\t\t\t};\n\t\t}\n\t\tif (typeof editorInsertMedia != \"function\") {\n\t\t\twindow.editorInsertMedia = function(filename) {\n\t\t\t\t$(\"#jseditor\").val($('#jseditor').val() + '<img src=\"' + filename + '\" alt=\"\">');\n\t\t\t};\n\t\t}\n\t\tif (typeof editorInsertLinkedMedia != \"function\") {\n\t\t\twindow.editorInsertLinkedMedia = function(filename, link) {\n\t\t\t\t$(\"#jseditor\").val($('#jseditor').val() + '<a href=\"' + link + '\"><img src=\"' + filename + '\" alt=\"\"></a>');\n\t\t\t};\n\t\t}\n\n\t\t// Button switch\n\t\t$(\"#jsswitchButton\").on(\"click\", function() {\n\t\t\tif ($(this).data(\"switch\") == \"publish\") {\n\t\t\t\t$(this).html('<i class=\"fa fa-square switch-icon-draft\"></i> <?php $L->p('Draft') ?>');\n\t\t\t\t$(this).data(\"switch\", \"draft\");\n\t\t\t} else {\n\t\t\t\t$(this).html('<i class=\"fa fa-square switch-icon-publish\"></i> <?php $L->p('Publish') ?>');\n\t\t\t\t$(this).data(\"switch\", \"publish\");\n\t\t\t}\n\t\t});\n\n\t\t// Button preview\n\t\t$(\"#jsbuttonPreview\").on(\"click\", function() {\n\t\t\tvar uuid = $(\"#jsuuid\").val();\n\t\t\tvar title = $(\"#jstitle\").val();\n\t\t\tvar content = editorGetContent();\n\t\t\tvar ajax = new bluditAjax();\n\t\t\tbluditAjax.saveAsDraft(uuid, title, content).then(function(data) {\n\t\t\t\tvar preview = window.open(\"<?php echo DOMAIN_PAGES . 'autosave-' . $page->uuid() . '?preview=' . hash_hmac('sha256', 'autosave-' . $page->uuid(), DB_SITE) ?>\", \"bludit-preview\");\n\t\t\t\tpreview.focus();\n\t\t\t});\n\t\t});\n\n\t\t// Button Save\n\t\t$(\"#jsbuttonSave\").on(\"click\", function() {\n\t\t\t// If the switch is setted to \"published\", get the value from the selector\n\t\t\tif ($(\"#jsswitchButton\").data(\"switch\") == \"publish\") {\n\t\t\t\tvar value = $(\"#jstypeSelector option:selected\").val();\n\t\t\t\t$(\"#jstype\").val(value);\n\t\t\t} else {\n\t\t\t\t$(\"#jstype\").val(\"draft\");\n\t\t\t}\n\n\t\t\t// Get the content\n\t\t\t$(\"#jscontent\").val(editorGetContent());\n\n\t\t\t// Submit the form\n\t\t\t$(\"#jsform\").submit();\n\t\t});\n\n\t\t// Button Save as draft\n\t\t$(\"#jsbuttonDraft\").on(\"click\", function() {\n\t\t\t// Set the type as draft\n\t\t\t$(\"#jstype\").val(\"draft\");\n\n\t\t\t// Get the content\n\t\t\t$(\"#jscontent\").val(editorGetContent());\n\n\t\t\t// Submit the form\n\t\t\t$(\"#jsform\").submit();\n\t\t});\n\n\t\t// Autosave\n\t\tvar currentContent = editorGetContent();\n\t\tsetInterval(function() {\n\t\t\tvar uuid = $(\"#jsuuid\").val();\n\t\t\tvar title = $(\"#jstitle\").val() + \"[<?php $L->p('Autosave') ?>]\";\n\t\t\tvar content = editorGetContent();\n\t\t\t// Autosave when content has at least 100 characters\n\t\t\tif (content.length < 100) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\t// Autosave only when the user change the content\n\t\t\tif (currentContent != content) {\n\t\t\t\tcurrentContent = content;\n\t\t\t\tbluditAjax.saveAsDraft(uuid, title, content).then(function(data) {\n\t\t\t\t\tif (data.status == 0) {\n\t\t\t\t\t\tshowAlert(\"<?php $L->p('Autosave') ?>\");\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}, 1000 * 60 * AUTOSAVE_INTERVAL);\n\n\t});\n</script>\n"
  },
  {
    "path": "bl-kernel/admin/views/edit-user.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.'); ?>\n\n<?php echo Bootstrap::formOpen(array('id' => 'jsform', 'class' => 'tab-content')); ?>\n\n<div class=\"align-middle\">\n\t<div class=\"float-right mt-1\">\n\t\t<button type=\"submit\" class=\"btn btn-primary btn-sm\" name=\"save\"><?php $L->p('Save') ?></button>\n\t\t<a class=\"btn btn-secondary btn-sm\" href=\"<?php echo HTML_PATH_ADMIN_ROOT . 'users' ?>\" role=\"button\"><?php $L->p('Cancel') ?></a>\n\t</div>\n\t<?php echo Bootstrap::pageTitle(array('title' => $L->g('Edit user'), 'icon' => 'user')); ?>\n</div>\n\n<!-- TABS -->\n<nav class=\"mb-3\">\n\t<div class=\"nav nav-tabs\" id=\"nav-tab\" role=\"tablist\">\n\t\t<a class=\"nav-item nav-link active\" id=\"nav-profile-tab\" data-toggle=\"tab\" href=\"#profile\" role=\"tab\" aria-controls=\"nav-profile\" aria-selected=\"false\"><?php $L->p('Profile') ?></a>\n\t\t<a class=\"nav-item nav-link\" id=\"nav-picture-tab\" data-toggle=\"tab\" href=\"#picture\" role=\"tab\" aria-controls=\"nav-picture\" aria-selected=\"false\"><?php $L->p('Profile picture') ?></a>\n\t\t<a class=\"nav-item nav-link\" id=\"nav-security-tab\" data-toggle=\"tab\" href=\"#security\" role=\"tab\" aria-controls=\"nav-security\" aria-selected=\"false\"><?php $L->p('Security') ?></a>\n\t\t<a class=\"nav-item nav-link\" id=\"nav-social-tab\" data-toggle=\"tab\" href=\"#social\" role=\"tab\" aria-controls=\"nav-social\" aria-selected=\"false\"><?php $L->p('Social Networks') ?></a>\n\t</div>\n</nav>\n\n<?php\n// Token CSRF\necho Bootstrap::formInputHidden(array(\n\t'name' => 'tokenCSRF',\n\t'value' => $security->getTokenCSRF()\n));\n\n// Username\necho Bootstrap::formInputHidden(array(\n\t'name' => 'username',\n\t'value' => $user->username()\n));\n?>\n\n<div class=\"tab-content\" id=\"nav-tabContent\">\n\t<!-- Profile tab -->\n\t<div class=\"tab-pane fade show active\" id=\"profile\" role=\"tabpanel\" aria-labelledby=\"nav-profile-tab\">\n\t\t<?php\n\t\t// Display username but disable the field\n\t\techo Bootstrap::formInputText(array(\n\t\t\t'name' => 'usernameDisabled',\n\t\t\t'label' => $L->g('Username'),\n\t\t\t'value' => $user->username(),\n\t\t\t'class' => '',\n\t\t\t'placeholder' => '',\n\t\t\t'disabled' => true,\n\t\t\t'tip' => ''\n\t\t));\n\n\t\tif ($login->role() === 'admin') {\n\t\t\techo Bootstrap::formSelect(array(\n\t\t\t\t'name' => 'role',\n\t\t\t\t'label' => $L->g('Role'),\n\t\t\t\t'options' => array('author' => $L->g('Author'), 'editor' => $L->g('Editor'), 'admin' => $L->g('Administrator')),\n\t\t\t\t'selected' => $user->role(),\n\t\t\t\t'class' => '',\n\t\t\t\t'tip' => $L->g('author-can-write-and-edit-their-own-content')\n\t\t\t));\n\t\t}\n\n\t\techo Bootstrap::formInputText(array(\n\t\t\t'name' => 'email',\n\t\t\t'label' => $L->g('Email'),\n\t\t\t'value' => $user->email(),\n\t\t\t'class' => '',\n\t\t\t'placeholder' => '',\n\t\t\t'tip' => ''\n\t\t));\n\n\t\techo Bootstrap::formInputText(array(\n\t\t\t'name' => 'nickname',\n\t\t\t'label' => $L->g('Nickname'),\n\t\t\t'value' => $user->nickname(),\n\t\t\t'class' => '',\n\t\t\t'placeholder' => '',\n\t\t\t'tip' => $L->g('The nickname is almost used in the themes to display the author of the content')\n\t\t));\n\n\t\techo Bootstrap::formInputText(array(\n\t\t\t'name' => 'firstName',\n\t\t\t'label' => $L->g('First Name'),\n\t\t\t'value' => $user->firstName(),\n\t\t\t'class' => '',\n\t\t\t'placeholder' => '',\n\t\t\t'tip' => ''\n\t\t));\n\n\t\techo Bootstrap::formInputText(array(\n\t\t\t'name' => 'lastName',\n\t\t\t'label' => $L->g('Last Name'),\n\t\t\t'value' => $user->lastName(),\n\t\t\t'class' => '',\n\t\t\t'placeholder' => '',\n\t\t\t'tip' => ''\n\t\t));\n\t\t?>\n\t</div>\n\n\t<!-- Profile picture tab -->\n\t<div class=\"tab-pane fade\" id=\"picture\" role=\"tabpanel\" aria-labelledby=\"nav-picture-tab\">\n\t\t<div class=\"container\">\n\t\t\t<div class=\"row\">\n\t\t\t\t<div class=\"col-lg-4 col-sm-12 p-0 pr-2\">\n\t\t\t\t\t<div class=\"custom-file\">\n\t\t\t\t\t\t<input type=\"file\" class=\"custom-file-input\" id=\"jsprofilePictureInputFile\" name=\"profilePictureInputFile\">\n\t\t\t\t\t\t<label class=\"custom-file-label\" for=\"jsprofilePictureInputFile\"><?php $L->p('Upload image'); ?></label>\n\t\t\t\t\t</div>\n\t\t\t\t\t<!-- <button id=\"jsbuttonRemovePicture\" type=\"button\" class=\"btn btn-primary w-100 mt-4 mb-4\"><i class=\"fa fa-trash\"></i> Remove picture</button> -->\n\t\t\t\t</div>\n\t\t\t\t<div class=\"col-lg-8 col-sm-12 p-0 text-center\">\n\t\t\t\t\t<img id=\"jsprofilePicturePreview\" class=\"img-fluid img-thumbnail\" alt=\"Profile picture preview\" src=\"<?php echo (Sanitize::pathFile(PATH_UPLOADS_PROFILES . $user->username() . '.png') ? DOMAIN_UPLOADS_PROFILES . $user->username() . '.png?version=' . time() : HTML_PATH_CORE_IMG . 'default.svg') ?>\" />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<script>\n\t\t\t// $(\"#jsbuttonRemovePicture\").on(\"click\", function() {\n\t\t\t// \tvar username = $(\"#jsusername\").val();\n\t\t\t// \tbluditAjax.removeProfilePicture(username);\n\t\t\t// \t$(\"#jsprofilePicturePreview\").attr(\"src\", \"<?php echo HTML_PATH_CORE_IMG . 'default.svg' ?>\");\n\t\t\t// });\n\n\t\t\t$(\"#jsprofilePictureInputFile\").on(\"change\", function() {\n\t\t\t\tvar formData = new FormData();\n\t\t\t\tformData.append('tokenCSRF', tokenCSRF);\n\t\t\t\tformData.append('profilePictureInputFile', $(this)[0].files[0]);\n\t\t\t\tformData.append('username', $(\"#jsusername\").val());\n\t\t\t\t$.ajax({\n\t\t\t\t\turl: HTML_PATH_ADMIN_ROOT + \"ajax/profile-picture-upload\",\n\t\t\t\t\ttype: \"POST\",\n\t\t\t\t\tdata: formData,\n\t\t\t\t\tcache: false,\n\t\t\t\t\tcontentType: false,\n\t\t\t\t\tprocessData: false\n\t\t\t\t}).done(function(data) {\n\t\t\t\t\tif (data.status == 0) {\n\t\t\t\t\t\t$(\"#jsprofilePicturePreview\").attr('src', data.absoluteURL + \"?time=\" + Math.random());\n\t\t\t\t\t} else {\n\t\t\t\t\t\tshowAlert(data.message);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t</script>\n\t</div>\n\n\t<!-- Security tab -->\n\t<div class=\"tab-pane fade\" id=\"security\" role=\"tabpanel\" aria-labelledby=\"nav-security-tab\">\n\t\t<?php\n\t\techo Bootstrap::formTitle(array('title' => $L->g('Password')));\n\n\t\techo '\n\t\t<div class=\"form-group\">\n\t\t\t<a href=\"' . HTML_PATH_ADMIN_ROOT . 'user-password/' . $user->username() . '\" class=\"btn btn-primary mr-2\">' . $L->g('Change password') . '</a>\n\t\t</div>\n\t\t';\n\n\t\techo Bootstrap::formTitle(array('title' => $L->g('Authentication Token')));\n\n\t\techo Bootstrap::formInputText(array(\n\t\t\t'name' => 'tokenAuth',\n\t\t\t'label' => $L->g('Token'),\n\t\t\t'value' => $user->tokenAuth(),\n\t\t\t'class' => '',\n\t\t\t'tip' => $L->g('this-token-is-similar-to-a-password-it-should-not-be-shared')\n\t\t));\n\n\t\tif (checkRole(array('admin'), false)) {\n\t\t\techo Bootstrap::formTitle(array('title' => $L->g('Status')));\n\n\t\t\techo Bootstrap::formInputText(array(\n\t\t\t\t'name' => 'status',\n\t\t\t\t'label' => $L->g('Current status'),\n\t\t\t\t'value' => $user->enabled() ? $L->g('Enabled') : $L->g('Disabled'),\n\t\t\t\t'class' => '',\n\t\t\t\t'disabled' => true,\n\t\t\t\t'tip' => $user->enabled() ? '' : $L->g('To enable the user you must set a new password')\n\t\t\t));\n\n\t\t\tif ($user->enabled()) {\n\t\t\t\techo '\n\t\t\t\t<div class=\"form-group row\">\n\t\t\t\t<div class=\"col-sm-2\"></div>\n\t\t\t\t<div class=\"col-sm-10\">\n\t\t\t\t\t<button type=\"submit\" class=\"btn btn-warning mr-2\" id=\"jsdisableUser\" name=\"disableUser\">' . $L->g('Disable user') . '</button>\n\t\t\t\t\t<button type=\"submit\" class=\"btn btn-danger mr-2\" id=\"jsdeleteUserAndKeepContent\" name=\"deleteUserAndKeepContent\">' . $L->g('Delete user and keep content') . '</button>\n\t\t\t\t\t<button type=\"submit\" class=\"btn btn-danger mr-2\" id=\"jsdeleteUserAndDeleteContent\" name=\"deleteUserAndDeleteContent\">' . $L->g('Delete user and delete content') . '</button>\n\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t';\n\t\t\t}\n\t\t}\n\t\t?>\n\t</div>\n\n\t<!-- Social Networks tab -->\n\t<div class=\"tab-pane fade\" id=\"social\" role=\"tabpanel\" aria-labelledby=\"nav-social-tab\">\n\t\t<?php\n\t\techo Bootstrap::formInputText(array(\n\t\t\t'name' => 'twitter',\n\t\t\t'label' => 'Twitter',\n\t\t\t'value' => $user->twitter(),\n\t\t\t'class' => '',\n\t\t\t'placeholder' => '',\n\t\t\t'tip' => ''\n\t\t));\n\n\t\techo Bootstrap::formInputText(array(\n\t\t\t'name' => 'facebook',\n\t\t\t'label' => 'Facebook',\n\t\t\t'value' => $user->facebook(),\n\t\t\t'class' => '',\n\t\t\t'placeholder' => '',\n\t\t\t'tip' => ''\n\t\t));\n\n\t\techo Bootstrap::formInputText(array(\n\t\t\t'name' => 'codepen',\n\t\t\t'label' => 'CodePen',\n\t\t\t'value' => $user->codepen(),\n\t\t\t'class' => '',\n\t\t\t'placeholder' => '',\n\t\t\t'tip' => ''\n\t\t));\n\n\t\techo Bootstrap::formInputText(array(\n\t\t\t'name' => 'instagram',\n\t\t\t'label' => 'Instagram',\n\t\t\t'value' => $user->instagram(),\n\t\t\t'class' => '',\n\t\t\t'placeholder' => '',\n\t\t\t'tip' => ''\n\t\t));\n\n\t\techo Bootstrap::formInputText(array(\n\t\t\t'name' => 'gitlab',\n\t\t\t'label' => 'GitLab',\n\t\t\t'value' => $user->gitlab(),\n\t\t\t'class' => '',\n\t\t\t'placeholder' => '',\n\t\t\t'tip' => ''\n\t\t));\n\n\t\techo Bootstrap::formInputText(array(\n\t\t\t'name' => 'github',\n\t\t\t'label' => 'GitHub',\n\t\t\t'value' => $user->github(),\n\t\t\t'class' => '',\n\t\t\t'placeholder' => '',\n\t\t\t'tip' => ''\n\t\t));\n\n\t\techo Bootstrap::formInputText(array(\n\t\t\t'name' => 'linkedin',\n\t\t\t'label' => 'LinkedIn',\n\t\t\t'value' => $user->linkedin(),\n\t\t\t'class' => '',\n\t\t\t'placeholder' => '',\n\t\t\t'tip' => ''\n\t\t));\n\n\t\techo Bootstrap::formInputText(array(\n\t\t\t'name' => 'xing',\n\t\t\t'label' => 'Xing',\n\t\t\t'value' => $user->xing(),\n\t\t\t'class' => '',\n\t\t\t'placeholder' => '',\n\t\t\t'tip' => ''\n\t\t));\n\n\t\techo Bootstrap::formInputText(array(\n\t\t\t'name' => 'telegram',\n\t\t\t'label' => 'Telegram',\n\t\t\t'value' => $user->telegram(),\n\t\t\t'class' => '',\n\t\t\t'placeholder' => '',\n\t\t\t'tip' => ''\n\t\t));\n\n\t\techo Bootstrap::formInputText(array(\n\t\t\t'name' => 'mastodon',\n\t\t\t'label' => 'Mastodon',\n\t\t\t'value' => $user->mastodon(),\n\t\t\t'class' => '',\n\t\t\t'placeholder' => '',\n\t\t\t'tip' => ''\n\t\t));\n\n\t\techo Bootstrap::formInputText(array(\n\t\t\t'name' => 'vk',\n\t\t\t'label' => 'VK',\n\t\t\t'value' => $user->vk(),\n\t\t\t'class' => '',\n\t\t\t'placeholder' => '',\n\t\t\t'tip' => ''\n\t\t));\n\n\t\techo Bootstrap::formInputText(array(\n\t\t\t'name' => 'youtube',\n\t\t\t'label' => 'Youtube',\n\t\t\t'value' => $user->youtube(),\n\t\t\t'class' => '',\n\t\t\t'placeholder' => '',\n\t\t\t'tip' => ''\n\t\t));\n\n\t\techo Bootstrap::formInputText(array(\n\t\t\t'name' => 'bluesky',\n\t\t\t'label' => 'Bluesky',\n\t\t\t'value' => $user->bluesky(),\n\t\t\t'class' => '',\n\t\t\t'placeholder' => '',\n\t\t\t'tip' => ''\n\t\t));\n\t\t?>\n\t</div>\n</div>\n\n<?php echo Bootstrap::formClose(); ?>\n\n<script>\n\t// Open current tab after refresh page\n\t$(function() {\n\t\t$('a[data-toggle=\"tab\"]').on('click', function(e) {\n\t\t\twindow.localStorage.setItem('activeTab', $(e.target).attr('href'));\n\t\t\tconsole.log($(e.target).attr('href'));\n\t\t});\n\t\tvar activeTab = window.localStorage.getItem('activeTab');\n\t\tif (activeTab) {\n\t\t\t$('#nav-tab a[href=\"' + activeTab + '\"]').tab('show');\n\t\t\t//window.localStorage.removeItem(\"activeTab\");\n\t\t}\n\t});\n</script>\n"
  },
  {
    "path": "bl-kernel/admin/views/login.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\n// Logo and title\n$logoPath = HTML_PATH_CORE_IMG . 'logo.svg';\n$logoClass = 'logo-icon';\nif (defined('BLUDIT_PRO') && $site->logo(false)) {\n\t$logoPath = $site->logo(true);\n\t$logoClass = 'logo-icon custom-logo';\n}\n\necho '\n<div class=\"login-logo\">\n\t<div class=\"' . $logoClass . '\">\n\t\t<img src=\"' . $logoPath . '\" alt=\"Logo\">\n\t</div>\n\t<h1>' . (defined('BLUDIT_PRO') ? Sanitize::html($site->title()) : 'BLUDIT') . '</h1>\n</div>\n';\n\necho Bootstrap::formOpen(array());\n\necho Bootstrap::formInputHidden(array(\n\t'name' => 'tokenCSRF',\n\t'value' => $security->getTokenCSRF()\n));\n\n// Username field with icon\necho '\n<div class=\"form-group\">\n\t<label for=\"jsusername\">' . $L->g('Username') . '</label>\n\t<div class=\"input-icon-wrapper\">\n\t\t<input type=\"text\"\n\t\t\tdir=\"auto\"\n\t\t\tvalue=\"' . (isset($_POST['username']) ? Sanitize::html($_POST['username']) : '') . '\"\n\t\t\tclass=\"form-control\"\n\t\t\tid=\"jsusername\"\n\t\t\tname=\"username\"\n\t\t\tplaceholder=\"' . $L->g('Username') . '\"\n\t\t\tautocomplete=\"username\"\n\t\t\tautofocus>\n\t\t<span class=\"input-icon\">\n\t\t\t<svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n\t\t\t\t<path d=\"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2\"></path>\n\t\t\t\t<circle cx=\"12\" cy=\"7\" r=\"4\"></circle>\n\t\t\t</svg>\n\t\t</span>\n\t</div>\n</div>\n';\n\n// Password field with icon\necho '\n<div class=\"form-group\">\n\t<label for=\"jspassword\">' . $L->g('Password') . '</label>\n\t<div class=\"input-icon-wrapper\">\n\t\t<input type=\"password\"\n\t\t\tclass=\"form-control\"\n\t\t\tid=\"jspassword\"\n\t\t\tname=\"password\"\n\t\t\tplaceholder=\"' . $L->g('Password') . '\"\n\t\t\tautocomplete=\"current-password\">\n\t\t<span class=\"input-icon\">\n\t\t\t<svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n\t\t\t\t<rect x=\"3\" y=\"11\" width=\"18\" height=\"11\" rx=\"2\" ry=\"2\"></rect>\n\t\t\t\t<path d=\"M7 11V7a5 5 0 0 1 10 0v4\"></path>\n\t\t\t</svg>\n\t\t</span>\n\t</div>\n</div>\n';\n\n// Remember me checkbox\necho '\n<div class=\"form-check\">\n\t<input class=\"form-check-input\" type=\"checkbox\" value=\"true\" id=\"jsremember\" name=\"remember\">\n\t<label class=\"form-check-label\" for=\"jsremember\">' . $L->g('Remember me') . '</label>\n</div>\n';\n\n// Submit button\necho '\n<button type=\"submit\" class=\"btn btn-login\" name=\"save\">\n\t<span>' . $L->g('Login') . '</span>\n\t<svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-left: 8px; vertical-align: middle;\">\n\t\t<path d=\"M5 12h14\"></path>\n\t\t<path d=\"M12 5l7 7-7 7\"></path>\n\t</svg>\n</button>\n';\n\necho '</form>';\n\n// Footer\nif (!defined('BLUDIT_PRO')) {\n\techo '\n\t<div class=\"login-footer\">\n\t\t<p>Powered by <a href=\"https://www.bludit.com\" target=\"_blank\" rel=\"noopener\">Bludit</a></p>\n\t</div>\n\t';\n}\n"
  },
  {
    "path": "bl-kernel/admin/views/new-category.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.'); ?>\n\n<?php echo Bootstrap::formOpen(array('id'=>'jsform', 'class'=>'tab-content')); ?>\n\n<div class=\"align-middle\">\n\t<div class=\"float-right mt-1\">\n\t\t<button type=\"submit\" class=\"btn btn-primary btn-sm\" name=\"save\"><?php $L->p('Save') ?></button>\n\t\t<a class=\"btn btn-secondary btn-sm\" href=\"<?php echo HTML_PATH_ADMIN_ROOT.'categories' ?>\" role=\"button\"><?php $L->p('Cancel') ?></a>\n\t</div>\n\t<?php echo Bootstrap::pageTitle(array('title'=>$L->g('New category'), 'icon'=>'tag')); ?>\n</div>\n\n<?php\n\techo Bootstrap::formInputHidden(array(\n\t\t'name'=>'tokenCSRF',\n\t\t'value'=>$security->getTokenCSRF()\n\t));\n\n\techo Bootstrap::formInputText(array(\n\t\t'name'=>'name',\n\t\t'label'=>$L->g('Name'),\n\t\t'value'=>isset($_POST['category'])?$_POST['category']:'',\n\t\t'class'=>'',\n\t\t'placeholder'=>'',\n\t\t'tip'=>''\n\t));\n\n\techo Bootstrap::formTextarea(array(\n\t\t'name'=>'description',\n\t\t'label'=>$L->g('Description'),\n\t\t'value'=>isset($_POST['description'])?$_POST['description']:'',\n\t\t'class'=>'',\n\t\t'placeholder'=>'',\n\t\t'tip'=>'',\n\t\t'rows'=>3\n\t));\n?>\n\n<?php echo Bootstrap::formClose(); ?>\n"
  },
  {
    "path": "bl-kernel/admin/views/new-content.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.'); ?>\n\n<?php\n\n// Start form\necho Bootstrap::formOpen(array(\n\t'id' => 'jsform',\n\t'class' => 'd-flex flex-column h-100'\n));\n\n// Token CSRF\necho Bootstrap::formInputHidden(array(\n\t'name' => 'tokenCSRF',\n\t'value' => $security->getTokenCSRF()\n));\n\n// UUID\n// The UUID is generated in the controller\necho Bootstrap::formInputHidden(array(\n\t'name' => 'uuid',\n\t'value' => $uuid\n));\n\n// Type = published, draft, sticky, static\necho Bootstrap::formInputHidden(array(\n\t'name' => 'type',\n\t'value' => $site->defaultContentStatus()\n));\n\n// Cover image\necho Bootstrap::formInputHidden(array(\n\t'name' => 'coverImage',\n\t'value' => ''\n));\n\n// Content\necho Bootstrap::formInputHidden(array(\n\t'name' => 'content',\n\t'value' => ''\n));\n?>\n\n<!-- TOOLBAR -->\n<div id=\"jseditorToolbar\" class=\"mb-1\">\n\t<div id=\"jseditorToolbarRight\" class=\"btn-group btn-group-sm float-right\" role=\"group\" aria-label=\"Toolbar right\">\n\t\t<button type=\"button\" class=\"btn btn-light\" id=\"jsmediaManagerOpenModal\" data-toggle=\"modal\" data-target=\"#jsmediaManagerModal\"><span class=\"fa fa-image\"></span> <?php $L->p('Images') ?></button>\n\t\t<?php Theme::plugins('editorToolbar') ?>\n\t\t<button type=\"button\" class=\"btn btn-light\" id=\"jsoptionsSidebar\" style=\"z-index:30\"><span class=\"fa fa-cog\"></span> <?php $L->p('Options') ?></button>\n\t</div>\n\n\t<div id=\"jseditorToolbarLeft\">\n\t\t<button id=\"jsbuttonSave\" type=\"button\" class=\"btn btn-sm btn-primary\"><?php $L->p('Save') ?></button>\n\t\t<button id=\"jsbuttonPreview\" type=\"button\" class=\"btn btn-sm btn-secondary\"><?php $L->p('Preview') ?></button>\n\t\t<?php if ($site->defaultContentStatus() == 'draft'): ?>\n\t\t<span id=\"jsbuttonSwitch\" data-switch=\"draft\" class=\"ml-2 text-secondary switch-button\"><i class=\"fa fa-square switch-icon-draft\"></i> <?php $L->p('Draft') ?></span>\n\t\t<?php else: ?>\n\t\t<span id=\"jsbuttonSwitch\" data-switch=\"publish\" class=\"ml-2 text-secondary switch-button\"><i class=\"fa fa-square switch-icon-publish\"></i> <?php $L->p('Publish') ?></span>\n\t\t<?php endif; ?>\n\t</div>\n</div>\n<script>\n\t$(document).ready(function() {\n\t\t$(\"#jsoptionsSidebar\").on(\"click\", function() {\n\t\t\t$(\"#jseditorSidebar\").toggle();\n\t\t\t$(\"#jsshadow\").toggle();\n\t\t});\n\n\t\t$(\"#jsshadow\").on(\"click\", function() {\n\t\t\t$(\"#jseditorSidebar\").toggle();\n\t\t\t$(\"#jsshadow\").toggle();\n\t\t});\n\t});\n</script>\n\n<!-- SIDEBAR OPTIONS -->\n<div id=\"jseditorSidebar\">\n\t<nav>\n\t\t<div class=\"nav nav-tabs\" id=\"nav-tab\" role=\"tablist\">\n\t\t\t<a class=\"nav-link active show\" id=\"nav-general-tab\" data-toggle=\"tab\" href=\"#nav-general\" role=\"tab\" aria-controls=\"general\"><?php $L->p('General') ?></a>\n\t\t\t<a class=\"nav-link\" id=\"nav-advanced-tab\" data-toggle=\"tab\" href=\"#nav-advanced\" role=\"tab\" aria-controls=\"advanced\"><?php $L->p('Advanced') ?></a>\n\t\t\t<?php if (!empty($site->customFields())) : ?>\n\t\t\t\t<a class=\"nav-link\" id=\"nav-custom-tab\" data-toggle=\"tab\" href=\"#nav-custom\" role=\"tab\" aria-controls=\"custom\"><?php $L->p('Custom') ?></a>\n\t\t\t<?php endif ?>\n\t\t\t<a class=\"nav-link\" id=\"nav-seo-tab\" data-toggle=\"tab\" href=\"#nav-seo\" role=\"tab\" aria-controls=\"seo\"><?php $L->p('SEO') ?></a>\n\t\t</div>\n\t</nav>\n\n\t<div class=\"tab-content pr-3 pl-3 pb-3\">\n\t\t<div id=\"nav-general\" class=\"tab-pane fade show active\" role=\"tabpanel\" aria-labelledby=\"general-tab\">\n\t\t\t<?php\n\t\t\t// Category\n\t\t\techo Bootstrap::formSelectBlock(array(\n\t\t\t\t'name' => 'category',\n\t\t\t\t'label' => $L->g('Category'),\n\t\t\t\t'selected' => '',\n\t\t\t\t'class' => '',\n\t\t\t\t'emptyOption' => '- ' . $L->g('Uncategorized') . ' -',\n\t\t\t\t'options' => $categories->getKeyNameArray()\n\t\t\t));\n\n\t\t\t// Description\n\t\t\techo Bootstrap::formTextareaBlock(array(\n\t\t\t\t'name' => 'description',\n\t\t\t\t'label' => $L->g('Description'),\n\t\t\t\t'selected' => '',\n\t\t\t\t'class' => '',\n\t\t\t\t'value' => '',\n\t\t\t\t'rows' => 5,\n\t\t\t\t'placeholder' => $L->get('this-field-can-help-describe-the-content')\n\t\t\t));\n\t\t\t?>\n\n\t\t\t<!-- Cover Image -->\n\t\t\t<label class=\"mt-4 mb-2 pb-2 border-bottom text-uppercase w-100\"><?php $L->p('Cover Image') ?></label>\n\t\t\t<div>\n\t\t\t\t<img id=\"jscoverImagePreview\" class=\"mx-auto d-block w-100\" alt=\"Cover image preview\" src=\"<?php echo HTML_PATH_CORE_IMG ?>default.svg\" />\n\t\t\t</div>\n\t\t\t<div class=\"mt-2 text-center\">\n\t\t\t\t<button type=\"button\" id=\"jsbuttonSelectCoverImage\" class=\"btn btn-primary btn-sm\"><?php echo $L->g('Select cover image') ?></button>\n\t\t\t\t<button type=\"button\" id=\"jsbuttonRemoveCoverImage\" class=\"btn btn-secondary btn-sm\"><?php echo $L->g('Remove cover image') ?></button>\n\t\t\t</div>\n\t\t\t<script>\n\t\t\t\t$(document).ready(function() {\n\t\t\t\t\t$(\"#jscoverImagePreview\").on(\"click\", function() {\n\t\t\t\t\t\topenMediaManager();\n\t\t\t\t\t});\n\n\t\t\t\t\t$(\"#jsbuttonSelectCoverImage\").on(\"click\", function() {\n\t\t\t\t\t\topenMediaManager();\n\t\t\t\t\t});\n\n\t\t\t\t\t$(\"#jsbuttonRemoveCoverImage\").on(\"click\", function() {\n\t\t\t\t\t\t$(\"#jscoverImage\").val('');\n\t\t\t\t\t\t$(\"#jscoverImagePreview\").attr('src', HTML_PATH_CORE_IMG + 'default.svg');\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t</script>\n\t\t</div>\n\t\t<div id=\"nav-advanced\" class=\"tab-pane fade\" role=\"tabpanel\" aria-labelledby=\"advanced-tab\">\n\t\t\t<?php\n\t\t\t// Date\n\t\t\techo Bootstrap::formInputTextBlock(array(\n\t\t\t\t'name' => 'date',\n\t\t\t\t'label' => $L->g('Date'),\n\t\t\t\t'placeholder' => '',\n\t\t\t\t'value' => Date::current(DB_DATE_FORMAT),\n\t\t\t\t'tip' => $L->g('date-format-format')\n\t\t\t));\n\n\t\t\t// Type\n\t\t\techo Bootstrap::formSelectBlock(array(\n\t\t\t\t'name' => 'typeSelector',\n\t\t\t\t'label' => $L->g('Type'),\n\t\t\t\t'selected' => '',\n\t\t\t\t'options' => array(\n\t\t\t\t\t'published' => '- ' . $L->g('Default') . ' -',\n\t\t\t\t\t'sticky' => $L->g('Sticky'),\n\t\t\t\t\t'static' => $L->g('Static')\n\t\t\t\t),\n\t\t\t\t'tip' => ''\n\t\t\t));\n\n\t\t\t// Position\n\t\t\techo Bootstrap::formInputTextBlock(array(\n\t\t\t\t'name' => 'position',\n\t\t\t\t'label' => $L->g('Position'),\n\t\t\t\t'tip' => $L->g('Field used when ordering content by position'),\n\t\t\t\t'value' => $pages->nextPositionNumber()\n\t\t\t));\n\n\t\t\t// Tags\n\t\t\techo Bootstrap::formInputTextBlock(array(\n\t\t\t\t'name' => 'tags',\n\t\t\t\t'label' => $L->g('Tags'),\n\t\t\t\t'placeholder' => '',\n\t\t\t\t'tip' => $L->g('Write the tags separated by commas')\n\t\t\t));\n\n\t\t\t// Parent\n\t\t\techo Bootstrap::formSelectBlock(array(\n\t\t\t\t'name' => 'parent',\n\t\t\t\t'label' => $L->g('Parent'),\n\t\t\t\t'options' => array(),\n\t\t\t\t'selected' => false,\n\t\t\t\t'class' => '',\n\t\t\t\t'tip' => $L->g('Start typing a page title to see a list of suggestions.'),\n\t\t\t));\n\n\t\t\t?>\n\n\t\t\t<script>\n\t\t\t\t$(document).ready(function() {\n\t\t\t\t\tvar parent = $(\"#jsparent\").select2({\n\t\t\t\t\t\tplaceholder: \"\",\n\t\t\t\t\t\tallowClear: true,\n\t\t\t\t\t\ttheme: \"bootstrap4\",\n\t\t\t\t\t\tminimumInputLength: 2,\n\t\t\t\t\t\tajax: {\n\t\t\t\t\t\t\turl: HTML_PATH_ADMIN_ROOT + \"ajax/get-published\",\n\t\t\t\t\t\t\tdata: function(params) {\n\t\t\t\t\t\t\t\tvar query = {\n\t\t\t\t\t\t\t\t\tcheckIsParent: true,\n\t\t\t\t\t\t\t\t\tquery: params.term\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn query;\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tprocessResults: function(data) {\n\t\t\t\t\t\t\t\treturn data;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\tescapeMarkup: function(markup) {\n\t\t\t\t\t\t\treturn markup;\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttemplateResult: function(data) {\n\t\t\t\t\t\t\tvar html = data.text;\n\t\t\t\t\t\t\tif (data.type == \"static\") {\n\t\t\t\t\t\t\t\thtml += '<span class=\"badge badge-pill badge-light\">' + data.type + '</span>';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn html;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t</script>\n\n\t\t\t<?php\n\t\t\t// Template\n\t\t\techo Bootstrap::formInputTextBlock(array(\n\t\t\t\t'name' => 'template',\n\t\t\t\t'label' => $L->g('Template'),\n\t\t\t\t'placeholder' => '',\n\t\t\t\t'value' => '',\n\t\t\t\t'tip' => $L->g('Write a template name to filter the page in the theme and change the style of the page.')\n\t\t\t));\n\n\t\t\techo Bootstrap::formInputTextBlock(array(\n\t\t\t\t'name' => 'externalCoverImage',\n\t\t\t\t'label' => $L->g('External cover image'),\n\t\t\t\t'placeholder' => \"https://\",\n\t\t\t\t'value' => '',\n\t\t\t\t'tip' => $L->g('Set a cover image from external URL, such as a CDN or some server dedicated for images.')\n\t\t\t));\n\n\t\t\t// Username\n\t\t\techo Bootstrap::formInputTextBlock(array(\n\t\t\t\t'name' => '',\n\t\t\t\t'label' => $L->g('Author'),\n\t\t\t\t'placeholder' => '',\n\t\t\t\t'value' => $login->username(),\n\t\t\t\t'tip' => '',\n\t\t\t\t'disabled' => true\n\t\t\t));\n\t\t\t?>\n\n\t\t\t<script>\n\t\t\t\t$(document).ready(function() {\n\n\t\t\t\t\t// Changes in External cover image input\n\t\t\t\t\t$(\"#jsexternalCoverImage\").change(function() {\n\t\t\t\t\t\t$(\"#jscoverImage\").val($(this).val());\n\t\t\t\t\t});\n\n\t\t\t\t\t// Generate slug when the user type the title\n\t\t\t\t\t$(\"#jstitle\").keyup(function() {\n\t\t\t\t\t\tvar text = $(this).val();\n\t\t\t\t\t\tvar parent = $(\"#jsparent\").val();\n\t\t\t\t\t\tvar currentKey = \"\";\n\t\t\t\t\t\tvar ajax = new bluditAjax();\n\t\t\t\t\t\tvar callBack = $(\"#jsslug\");\n\t\t\t\t\t\tajax.generateSlug(text, parent, currentKey, callBack);\n\t\t\t\t\t});\n\n\t\t\t\t\t// Datepicker\n\t\t\t\t\t$(\"#jsdate\").datetimepicker({\n\t\t\t\t\t\tformat: DB_DATE_FORMAT\n\t\t\t\t\t});\n\n\n\t\t\t\t});\n\t\t\t</script>\n\t\t</div>\n\t\t<?php if (!empty($site->customFields())) : ?>\n\t\t\t<div id=\"nav-custom\" class=\"tab-pane fade\" role=\"tabpanel\" aria-labelledby=\"custom-tab\">\n\t\t\t\t<?php\n\t\t\t\t$customFields = $site->customFields();\n\t\t\t\tforeach ($customFields as $field => $options) {\n\t\t\t\t\tif (!isset($options['position'])) {\n\t\t\t\t\t\tif ($options['type'] == \"string\") {\n\t\t\t\t\t\t\techo Bootstrap::formInputTextBlock(array(\n\t\t\t\t\t\t\t\t'name' => 'custom[' . $field . ']',\n\t\t\t\t\t\t\t\t'label' => (isset($options['label']) ? $options['label'] : ''),\n\t\t\t\t\t\t\t\t'value' => (isset($options['default']) ? $options['default'] : ''),\n\t\t\t\t\t\t\t\t'tip' => (isset($options['tip']) ? $options['tip'] : ''),\n\t\t\t\t\t\t\t\t'placeholder' => (isset($options['placeholder']) ? $options['placeholder'] : '')\n\t\t\t\t\t\t\t));\n\t\t\t\t\t\t} elseif ($options['type'] == \"bool\") {\n\t\t\t\t\t\t\techo Bootstrap::formCheckbox(array(\n\t\t\t\t\t\t\t\t'name' => 'custom[' . $field . ']',\n\t\t\t\t\t\t\t\t'label' => (isset($options['label']) ? $options['label'] : ''),\n\t\t\t\t\t\t\t\t'placeholder' => (isset($options['placeholder']) ? $options['placeholder'] : ''),\n\t\t\t\t\t\t\t\t'checked' => (isset($options['checked']) ? true : false),\n\t\t\t\t\t\t\t\t'labelForCheckbox' => (isset($options['tip']) ? $options['tip'] : '')\n\t\t\t\t\t\t\t));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t?>\n\t\t\t</div>\n\t\t<?php endif ?>\n\t\t<div id=\"nav-seo\" class=\"tab-pane fade\" role=\"tabpanel\" aria-labelledby=\"seo-tab\">\n\t\t\t<?php\n\t\t\t// Friendly URL\n\t\t\techo Bootstrap::formInputTextBlock(array(\n\t\t\t\t'name' => 'slug',\n\t\t\t\t'tip' => $L->g('URL associated with the content'),\n\t\t\t\t'label' => $L->g('Friendly URL'),\n\t\t\t\t'placeholder' => $L->g('Leave empty for autocomplete by Bludit.')\n\t\t\t));\n\n\t\t\t// Robots\n\t\t\techo Bootstrap::formCheckbox(array(\n\t\t\t\t'name' => 'noindex',\n\t\t\t\t'label' => 'Robots',\n\t\t\t\t'labelForCheckbox' => $L->g('apply-code-noindex-code-to-this-page'),\n\t\t\t\t'placeholder' => '',\n\t\t\t\t'checked' => false,\n\t\t\t\t'tip' => $L->g('This tells search engines not to show this page in their search results.')\n\t\t\t));\n\n\t\t\t// Robots\n\t\t\techo Bootstrap::formCheckbox(array(\n\t\t\t\t'name' => 'nofollow',\n\t\t\t\t'label' => '',\n\t\t\t\t'labelForCheckbox' => $L->g('apply-code-nofollow-code-to-this-page'),\n\t\t\t\t'placeholder' => '',\n\t\t\t\t'checked' => false,\n\t\t\t\t'tip' => $L->g('This tells search engines not to follow links on this page.')\n\t\t\t));\n\n\t\t\t// Robots\n\t\t\techo Bootstrap::formCheckbox(array(\n\t\t\t\t'name' => 'noarchive',\n\t\t\t\t'label' => '',\n\t\t\t\t'labelForCheckbox' => $L->g('apply-code-noarchive-code-to-this-page'),\n\t\t\t\t'placeholder' => '',\n\t\t\t\t'checked' => false,\n\t\t\t\t'tip' => $L->g('This tells search engines not to save a cached copy of this page.')\n\t\t\t));\n\t\t\t?>\n\t\t</div>\n\t</div>\n</div>\n\n<!-- Custom fields: TOP -->\n<?php\n$customFields = $site->customFields();\nforeach ($customFields as $field => $options) {\n\tif (isset($options['position']) && ($options['position'] == 'top')) {\n\t\tif ($options['type'] == \"string\") {\n\t\t\techo Bootstrap::formInputTextBlock(array(\n\t\t\t\t'name' => 'custom[' . $field . ']',\n\t\t\t\t'label' => (isset($options['label']) ? $options['label'] : ''),\n\t\t\t\t'value' => (isset($options['default']) ? $options['default'] : ''),\n\t\t\t\t'tip' => (isset($options['tip']) ? $options['tip'] : ''),\n\t\t\t\t'placeholder' => (isset($options['placeholder']) ? $options['placeholder'] : ''),\n\t\t\t\t'class' => 'mb-2',\n\t\t\t\t'labelClass' => 'mb-2 pb-2 border-bottom text-uppercase w-100'\n\n\t\t\t));\n\t\t} elseif ($options['type'] == \"bool\") {\n\t\t\techo Bootstrap::formCheckbox(array(\n\t\t\t\t'name' => 'custom[' . $field . ']',\n\t\t\t\t'label' => (isset($options['label']) ? $options['label'] : ''),\n\t\t\t\t'placeholder' => (isset($options['placeholder']) ? $options['placeholder'] : ''),\n\t\t\t\t'checked' => (isset($options['checked']) ? true : false),\n\t\t\t\t'labelForCheckbox' => (isset($options['tip']) ? $options['tip'] : ''),\n\t\t\t\t'class' => 'mb-2',\n\t\t\t\t'labelClass' => 'mb-2 pb-2 border-bottom text-uppercase w-100'\n\t\t\t));\n\t\t}\n\t}\n}\n?>\n\n\n<!-- Title -->\n<div id=\"jseditorTitle\" class=\"form-group mb-1\">\n\t<input id=\"jstitle\" name=\"title\" type=\"text\" dir=\"auto\" class=\"form-control form-control-lg rounded-0\" value=\"\" placeholder=\"<?php $L->p('Enter title') ?>\">\n</div>\n\n<!-- Editor -->\n<textarea id=\"jseditor\" class=\"editable h-100 mb-1\"></textarea>\n\n<!-- Custom fields: BOTTOM -->\n<?php\n$customFields = $site->customFields();\nforeach ($customFields as $field => $options) {\n\tif (isset($options['position']) && ($options['position'] == 'bottom')) {\n\t\tif ($options['type'] == \"string\") {\n\t\t\techo Bootstrap::formInputTextBlock(array(\n\t\t\t\t'name' => 'custom[' . $field . ']',\n\t\t\t\t'label' => (isset($options['label']) ? $options['label'] : ''),\n\t\t\t\t'value' => (isset($options['default']) ? $options['default'] : ''),\n\t\t\t\t'tip' => (isset($options['tip']) ? $options['tip'] : ''),\n\t\t\t\t'placeholder' => (isset($options['placeholder']) ? $options['placeholder'] : ''),\n\t\t\t\t'class' => 'mt-2',\n\t\t\t\t'labelClass' => 'mb-2 pb-2 border-bottom text-uppercase w-100'\n\n\t\t\t));\n\t\t} elseif ($options['type'] == \"bool\") {\n\t\t\techo Bootstrap::formCheckbox(array(\n\t\t\t\t'name' => 'custom[' . $field . ']',\n\t\t\t\t'label' => (isset($options['label']) ? $options['label'] : ''),\n\t\t\t\t'placeholder' => (isset($options['placeholder']) ? $options['placeholder'] : ''),\n\t\t\t\t'checked' => (isset($options['checked']) ? true : false),\n\t\t\t\t'labelForCheckbox' => (isset($options['tip']) ? $options['tip'] : ''),\n\t\t\t\t'class' => 'mt-2',\n\t\t\t\t'labelClass' => 'mb-2 pb-2 border-bottom text-uppercase w-100'\n\t\t\t));\n\t\t}\n\t}\n}\n?>\n\n</form>\n\n<!-- Modal for Media Manager -->\n<?php include(PATH_ADMIN_THEMES . 'booty/html/media.php'); ?>\n\n<script>\n\t$(document).ready(function() {\n\n\t\t// Define functions if they don't exist\n\t\t// This helps if the user doesn't activate any plugin as editor\n\t\tif (typeof editorGetContent != \"function\") {\n\t\t\twindow.editorGetContent = function() {\n\t\t\t\treturn $(\"#jseditor\").val();\n\t\t\t};\n\t\t}\n\t\tif (typeof editorInsertMedia != \"function\") {\n\t\t\twindow.editorInsertMedia = function(filename) {\n\t\t\t\t$(\"#jseditor\").val($('#jseditor').val() + '<img src=\"' + filename + '\" alt=\"\">');\n\t\t\t};\n\t\t}\n\t\tif (typeof editorInsertLinkedMedia != \"function\") {\n\t\t\twindow.editorInsertLinkedMedia = function(filename, link) {\n\t\t\t\t$(\"#jseditor\").val($('#jseditor').val() + '<a href=\"' + link + '\"><img src=\"' + filename + '\" alt=\"\"></a>');\n\t\t\t};\n\t\t}\n\n\t\t// Button switch\n\t\t$(\"#jsbuttonSwitch\").on(\"click\", function() {\n\t\t\tif ($(this).data(\"switch\") == \"publish\") {\n\t\t\t\t$(this).html('<i class=\"fa fa-square switch-icon-draft\"></i> <?php $L->p('Draft') ?>');\n\t\t\t\t$(this).data(\"switch\", \"draft\");\n\t\t\t} else {\n\t\t\t\t$(this).html('<i class=\"fa fa-square switch-icon-publish\"></i> <?php $L->p('Publish') ?>');\n\t\t\t\t$(this).data(\"switch\", \"publish\");\n\t\t\t}\n\t\t});\n\n\t\t// Button preview\n\t\t$(\"#jsbuttonPreview\").on(\"click\", function() {\n\t\t\tvar uuid = $(\"#jsuuid\").val();\n\t\t\tvar title = $(\"#jstitle\").val();\n\t\t\tvar content = editorGetContent();\n\t\t\tbluditAjax.saveAsDraft(uuid, title, content).then(function(data) {\n\t\t\t\tvar preview = window.open(\"<?php echo DOMAIN_PAGES . 'autosave-' . $uuid . '?preview=' . hash_hmac('sha256', 'autosave-' . $uuid, DB_SITE) ?>\", \"bludit-preview\");\n\t\t\t\tpreview.focus();\n\t\t\t});\n\t\t});\n\n\t\t// Button Save\n\t\t$(\"#jsbuttonSave\").on(\"click\", function() {\n\t\t\tlet actionParameters = '';\n\n\t\t\t// If the switch is setted to \"published\", get the value from the selector\n\t\t\tif ($(\"#jsbuttonSwitch\").data(\"switch\") == \"publish\") {\n\t\t\t\tvar value = $(\"#jstypeSelector option:selected\").val();\n\t\t\t\t$(\"#jstype\").val(value);\n\t\t\t\tactionParameters = '#' + value;\n\t\t\t} else {\n\t\t\t\t$(\"#jstype\").val(\"draft\");\n\t\t\t\tactionParameters = '#draft';\n\t\t\t}\n\n\t\t\t// Get the content\n\t\t\t$(\"#jscontent\").val(editorGetContent());\n\n\t\t\t// Submit the form\n\t\t\t$(\"#jsform\").attr('action', actionParameters);\n\t\t\t$(\"#jsform\").submit();\n\t\t});\n\n\t\t// Autosave\n\t\tvar currentContent = editorGetContent();\n\t\tsetInterval(function() {\n\t\t\tvar uuid = $(\"#jsuuid\").val();\n\t\t\tvar title = $(\"#jstitle\").val() + \"[<?php $L->p('Autosave') ?>]\";\n\t\t\tvar content = editorGetContent();\n\t\t\t// Autosave when content has at least 100 characters\n\t\t\tif (content.length < 100) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\t// Autosave only when the user change the content\n\t\t\tif (currentContent != content) {\n\t\t\t\tcurrentContent = content;\n\t\t\t\tbluditAjax.saveAsDraft(uuid, title, content).then(function(data) {\n\t\t\t\t\tif (data.status == 0) {\n\t\t\t\t\t\tshowAlert(\"<?php $L->p('Autosave') ?>\");\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}, 1000 * 60 * AUTOSAVE_INTERVAL);\n\n\t});\n</script>\n"
  },
  {
    "path": "bl-kernel/admin/views/new-user.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.'); ?>\n\n<?php echo Bootstrap::formOpen(array('id'=>'jsform', 'class'=>'tab-content')); ?>\n\n<div class=\"align-middle\">\n\t<div class=\"float-right mt-1\">\n\t\t<button type=\"submit\" class=\"btn btn-primary btn-sm\" name=\"save\"><?php $L->p('Save') ?></button>\n\t\t<a class=\"btn btn-secondary btn-sm\" href=\"<?php echo HTML_PATH_ADMIN_ROOT.'users' ?>\" role=\"button\"><?php $L->p('Cancel') ?></a>\n\t</div>\n\t<?php echo Bootstrap::pageTitle(array('title'=>$L->g('Add a new user'), 'icon'=>'user')); ?>\n</div>\n\n<?php\n\techo Bootstrap::formInputHidden(array(\n\t\t'name'=>'tokenCSRF',\n\t\t'value'=>$security->getTokenCSRF()\n\t));\n\n\techo Bootstrap::formInputText(array(\n\t\t'name'=>'new_username',\n\t\t'label'=>$L->g('Username'),\n\t\t'value'=>(isset($_POST['new_username'])?$_POST['new_username']:''),\n\t\t'class'=>'',\n\t\t'placeholder'=>'',\n\t\t'tip'=>''\n\t));\n\n\techo Bootstrap::formInputText(array(\n\t\t'name'=>'new_password',\n\t\t'type'=>'password',\n\t\t'label'=>$L->g('Password'),\n\t\t'value'=>'',\n\t\t'class'=>'',\n\t\t'placeholder'=>'',\n\t\t'tip'=>''\n\t));\n\n\techo Bootstrap::formInputText(array(\n\t\t'name'=>'confirm_password',\n\t\t'type'=>'password',\n\t\t'label'=>$L->g('Confirm Password'),\n\t\t'value'=>'',\n\t\t'class'=>'',\n\t\t'placeholder'=>'',\n\t\t'tip'=>''\n\t));\n\n\techo Bootstrap::formSelect(array(\n\t\t'name'=>'role',\n\t\t'label'=>$L->g('Role'),\n\t\t'options'=>array('author'=>$L->g('Author'), 'editor'=>$L->g('Editor'), 'admin'=>$L->g('Administrator')),\n\t\t'selected'=>'Author',\n\t\t'class'=>'',\n\t\t'tip'=>$L->g('author-can-write-and-edit-their-own-content')\n\t));\n\n\techo Bootstrap::formInputText(array(\n\t\t'name'=>'email',\n\t\t'label'=>$L->g('Email'),\n\t\t'value'=>(isset($_POST['email'])?$_POST['email']:''),\n\t\t'class'=>'',\n\t\t'placeholder'=>'',\n\t\t'tip'=>''\n\t));\n?>\n\n<?php echo Bootstrap::formClose(); ?>"
  },
  {
    "path": "bl-kernel/admin/views/plugins-position.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.'); ?>\n\n<?php echo Bootstrap::formOpen(array('id'=>'jsform', 'class'=>'tab-content')); ?>\n\n<div class=\"align-middle\">\n\t<div class=\"float-right mt-1\">\n\t\t<button type=\"button\" class=\"btn btn-primary btn-sm jsbuttonSave\" name=\"save\"><?php $L->p('Save') ?></button>\n\t\t<a class=\"btn btn-secondary btn-sm\" href=\"<?php echo HTML_PATH_ADMIN_ROOT.'plugins' ?>\" role=\"button\"><?php $L->p('Cancel') ?></a>\n\t</div>\n\t<?php echo Bootstrap::pageTitle(array('title'=>$L->g('Plugins position'), 'icon'=>'tags')); ?>\n</div>\n\n<div class=\"alert alert-primary\"><?php $L->p('Drag and Drop to sort the plugins') ?></div>\n\n<?php\n\t// Token CSRF\n\techo Bootstrap::formInputHidden(array(\n\t\t'name'=>'tokenCSRF',\n\t\t'value'=>$security->getTokenCSRF()\n\t));\n\n\techo Bootstrap::formInputHidden(array(\n\t\t'name'=>'plugin-list',\n\t\t'value'=>''\n\t));\n\n\techo '<ul class=\"list-group list-group-sortable\">';\n\tforeach ($plugins['siteSidebar'] as $Plugin) {\n\t\techo '<li class=\"list-group-item\" data-plugin=\"'.$Plugin->className().'\"><span class=\"fa fa-arrows-v\"></span> '.$Plugin->name().'</li>';\n\t}\n\techo '</ul>';\n?>\n\n<?php echo Bootstrap::formClose(); ?>\n\n<script>\n$(document).ready(function() {\n\t$('.list-group-sortable').sortable({\n\t\tplaceholderClass: 'list-group-item'\n\t});\n\n\t$(\".jsbuttonSave\").on(\"click\", function() {\n\t\tvar tmp = [];\n\t\t$(\"li.list-group-item\").each(function() {\n\t\t\ttmp.push( $(this).attr(\"data-plugin\") );\n\t\t});\n\t\t$(\"#jsplugin-list\").attr(\"value\", tmp.join(\",\") );\n\t\t$(\"#jsform\").submit();\n\t});\n});\n</script>"
  },
  {
    "path": "bl-kernel/admin/views/plugins.php",
    "content": "<?php\n\necho Bootstrap::pageTitle(array('title' => $L->g('Plugins'), 'icon' => 'puzzle-piece'));\n\necho Bootstrap::link(array(\n\t'title' => $L->g('Change the position of the plugins'),\n\t'href' => HTML_PATH_ADMIN_ROOT . 'plugins-position',\n\t'icon' => 'arrows'\n));\n\necho Bootstrap::formTitle(array('title' => $L->g('Search plugins')));\n\n?>\n\n<input type=\"text\" dir=\"auto\" class=\"form-control\" id=\"search\" placeholder=\"<?php $L->p('Search') ?>\">\n<script>\n\t$(document).ready(function() {\n\t\t$(\"#search\").on(\"keyup\", function() {\n\t\t\tvar textToSearch = $(this).val().toLowerCase();\n\t\t\t$(\".searchItem\").each(function() {\n\t\t\t\tvar item = $(this);\n\t\t\t\titem.hide();\n\t\t\t\titem.find(\".searchText\").each(function() {\n\t\t\t\t\tvar element = $(this).text().toLowerCase();\n\t\t\t\t\tif (element.indexOf(textToSearch) != -1) {\n\t\t\t\t\t\titem.show();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t});\n</script>\n\n<?php\n\necho Bootstrap::formTitle(array('title' => $L->g('Enabled plugins')));\n\necho '\n<table class=\"table\">\n\t<tbody>\n';\n\n// Show installed plugins\nforeach ($pluginsInstalled as $plugin) {\n\n\tif ($plugin->type() == 'theme') {\n\t\t// Do not display theme's plugins\n\t\tcontinue;\n\t}\n\n\techo '<tr id=\"' . $plugin->className() . '\" class=\"bg-light searchItem\">';\n\n\techo '<td class=\"align-middle pt-3 pb-3 w-25\">\n\t\t<div class=\"searchText\">' . $plugin->name() . '</div>\n\t\t<div class=\"mt-1\">';\n\tif (method_exists($plugin, 'form')) {\n\t\techo '<a class=\"mr-3\" href=\"' . HTML_PATH_ADMIN_ROOT . 'configure-plugin/' . $plugin->className() . '\">' . $L->g('Settings') . '</a>';\n\t}\n\techo '<a href=\"' . HTML_PATH_ADMIN_ROOT . 'uninstall-plugin/' . $plugin->className() . '\">' . $L->g('Deactivate') . '</a>';\n\techo '</div>';\n\techo '</td>';\n\n\techo '<td class=\"searchText align-middle d-none d-sm-table-cell\">';\n\techo $plugin->description();\n\techo '</td>';\n\n\techo '<td class=\"text-center align-middle d-none d-lg-table-cell\">';\n\techo '<span>' . $plugin->version() . '</span>';\n\tif (!$plugin->isCompatible()) {\n\t\techo ' <span class=\"badge badge-pill badge-warning\" title=\"' . $L->g('This plugin may not be supported by this version of Bludit') . '\">' . $L->g('Update') . '</span>';\n\t}\n\techo '</td>';\n\n\techo '<td class=\"text-center align-middle d-none d-lg-table-cell\">\n\t\t<a target=\"_blank\" href=\"' . $plugin->website() . '\">' . $plugin->author() . '</a>\n\t</td>';\n\n\techo '</tr>';\n}\n\necho '\n\t</tbody>\n</table>\n';\n\necho Bootstrap::formTitle(array('title' => $L->g('Disabled plugins')));\n\necho '\n<table class=\"table\">\n\t<tbody>\n';\n\n// Plugins not installed\n$pluginsNotInstalled = array_diff_key($plugins['all'], $pluginsInstalled);\nforeach ($pluginsNotInstalled as $plugin) {\n\n\tif ($plugin->type() == 'theme') {\n\t\t// Do not display theme's plugins\n\t\tcontinue;\n\t}\n\techo '<tr id=\"' . $plugin->className() . '\" class=\"searchItem\">';\n\n\techo '<td class=\"align-middle pt-3 pb-3 w-25\">\n\t\t<div class=\"searchText\">' . $plugin->name() . '</div>\n\t\t<div class=\"mt-1\">\n\t\t\t<a href=\"' . HTML_PATH_ADMIN_ROOT . 'install-plugin/' . $plugin->className() . '\">' . $L->g('Activate') . '</a>\n\t\t</div>\n\t</td>';\n\n\techo '<td class=\"searchText align-middle d-none d-sm-table-cell\">';\n\techo $plugin->description();\n\techo '</td>';\n\n\techo '<td class=\"text-center align-middle d-none d-lg-table-cell\">';\n\techo '<span>' . $plugin->version() . '</span>';\n\techo '</td>';\n\n\techo '<td class=\"text-center align-middle d-none d-lg-table-cell\">\n\t\t<a target=\"_blank\" href=\"' . $plugin->website() . '\">' . $plugin->author() . '</a>\n\t</td>';\n\n\techo '</tr>';\n}\n\necho '\n\t</tbody>\n</table>\n';\n"
  },
  {
    "path": "bl-kernel/admin/views/settings.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.'); ?>\n\n<?php echo Bootstrap::formOpen(array('id' => 'jsform', 'class' => 'tab-content')); ?>\n\n<div class=\"align-middle\">\n\t<div class=\"float-right mt-1\">\n\t\t<button type=\"submit\" class=\"btn btn-primary btn-sm\" name=\"save\"><?php $L->p('Save') ?></button>\n\t\t<a class=\"btn btn-secondary btn-sm\" href=\"<?php echo HTML_PATH_ADMIN_ROOT . 'dashboard' ?>\" role=\"button\"><?php $L->p('Cancel') ?></a>\n\t</div>\n\t<?php echo Bootstrap::pageTitle(array('title' => $L->g('Settings'), 'icon' => 'cog')); ?>\n</div>\n\n<!-- TABS -->\n<nav class=\"mb-3\">\n\t<div class=\"nav nav-tabs\" id=\"nav-tab\" role=\"tablist\">\n\t\t<a class=\"nav-item nav-link active\" id=\"nav-general-tab\" data-toggle=\"tab\" href=\"#general\" role=\"tab\" aria-controls=\"nav-general\" aria-selected=\"false\"><?php $L->p('General') ?></a>\n\t\t<a class=\"nav-item nav-link\" id=\"nav-advanced-tab\" data-toggle=\"tab\" href=\"#advanced\" role=\"tab\" aria-controls=\"nav-advanced\" aria-selected=\"false\"><?php $L->p('Advanced') ?></a>\n\t\t<a class=\"nav-item nav-link\" id=\"nav-seo-tab\" data-toggle=\"tab\" href=\"#seo\" role=\"tab\" aria-controls=\"nav-seo\" aria-selected=\"false\"><?php $L->p('SEO') ?></a>\n\t\t<a class=\"nav-item nav-link\" id=\"nav-social-tab\" data-toggle=\"tab\" href=\"#social\" role=\"tab\" aria-controls=\"nav-social\" aria-selected=\"false\"><?php $L->p('Social Networks') ?></a>\n\t\t<a class=\"nav-item nav-link\" id=\"nav-images-tab\" data-toggle=\"tab\" href=\"#images\" role=\"tab\" aria-controls=\"nav-images\" aria-selected=\"false\"><?php $L->p('Images') ?></a>\n\t\t<a class=\"nav-item nav-link\" id=\"nav-language-tab\" data-toggle=\"tab\" href=\"#language\" role=\"tab\" aria-controls=\"nav-language\" aria-selected=\"false\"><?php $L->p('Language') ?></a>\n\t\t<a class=\"nav-item nav-link\" id=\"nav-custom-fields-tab\" data-toggle=\"tab\" href=\"#custom-fields\" role=\"tab\" aria-controls=\"nav-custom-fields\" aria-selected=\"false\"><?php $L->p('Custom fields') ?></a>\n\t\t<a class=\"nav-item nav-link\" id=\"nav-logo-tab\" data-toggle=\"tab\" href=\"#logo\" role=\"tab\" aria-controls=\"nav-logo\" aria-selected=\"false\"><?php $L->p('Logo') ?></a>\n\t</div>\n</nav>\n\n<?php\n// Token CSRF\necho Bootstrap::formInputHidden(array(\n\t'name' => 'tokenCSRF',\n\t'value' => $security->getTokenCSRF()\n));\n?>\n\n<!-- General tab -->\n<div class=\"tab-pane fade show active\" id=\"general\" role=\"tabpanel\" aria-labelledby=\"general-tab\">\n\n\t<?php\n\techo Bootstrap::formTitle(array('title' => $L->g('Site')));\n\n\techo Bootstrap::formInputText(array(\n\t\t'name' => 'title',\n\t\t'label' => $L->g('Site title'),\n\t\t'value' => $site->title(),\n\t\t'class' => '',\n\t\t'placeholder' => '',\n\t\t'tip' => $L->g('use-this-field-to-name-your-site')\n\t));\n\n\techo Bootstrap::formInputText(array(\n\t\t'name' => 'slogan',\n\t\t'label' => $L->g('Site slogan'),\n\t\t'value' => $site->slogan(),\n\t\t'class' => '',\n\t\t'placeholder' => '',\n\t\t'tip' => $L->g('use-this-field-to-add-a-catchy-phrase')\n\t));\n\n\techo Bootstrap::formInputText(array(\n\t\t'name' => 'description',\n\t\t'label' => $L->g('Site description'),\n\t\t'value' => $site->description(),\n\t\t'class' => '',\n\t\t'placeholder' => '',\n\t\t'tip' => $L->g('you-can-add-a-site-description-to-provide')\n\t));\n\n\techo Bootstrap::formInputText(array(\n\t\t'name' => 'footer',\n\t\t'label' => $L->g('Footer text'),\n\t\t'value' => $site->footer(),\n\t\t'class' => '',\n\t\t'placeholder' => '',\n\t\t'tip' => $L->g('you-can-add-a-small-text-on-the-bottom')\n\t));\n\t?>\n</div>\n\n<!-- Advanced tab -->\n<div class=\"tab-pane fade\" id=\"advanced\" role=\"tabpanel\" aria-labelledby=\"advanced-tab\">\n\t<?php\n\techo Bootstrap::formTitle(array('title' => $L->g('Content')));\n\n\techo Bootstrap::formInputText(array(\n\t\t'name' => 'itemsPerPage',\n\t\t'label' => $L->g('Items per page'),\n\t\t'value' => $site->itemsPerPage(),\n\t\t'class' => '',\n\t\t'placeholder' => '',\n\t\t'tip' => $L->g('Number of items to show per page')\n\t));\n\n\techo Bootstrap::formSelect(array(\n\t\t'name' => 'orderBy',\n\t\t'label' => $L->g('Order content by'),\n\t\t'options' => array('date' => $L->g('Date'), 'position' => $L->g('Position')),\n\t\t'selected' => $site->orderBy(),\n\t\t'class' => '',\n\t\t'tip' => $L->g('order-the-content-by-date-to-build-a-blog')\n\t));\n\n\techo Bootstrap::formSelect(array(\n\t\t'name' => 'defaultContentStatus',\n\t\t'label' => $L->g('Default content status'),\n\t\t'options' => array('published' => $L->g('Published'), 'draft' => $L->g('Draft')),\n\t\t'selected' => $site->defaultContentStatus(),\n\t\t'class' => '',\n\t\t'tip' => $L->g('default-status-for-new-content')\n\t));\n\n\techo Bootstrap::formTitle(array('title' => $L->g('Predefined pages')));\n\n\t// Homepage\n\ttry {\n\t\t$options = array();\n\t\t$homeKey = $site->homepage();\n\t\tif (!empty($homeKey)) {\n\t\t\t$home = new Page($homeKey);\n\t\t\t$options = array($homeKey => $home->title());\n\t\t}\n\t} catch (Exception $e) {\n\t\t// continue\n\t}\n\techo Bootstrap::formSelect(array(\n\t\t'name' => 'homepage',\n\t\t'label' => $L->g('Homepage'),\n\t\t'options' => $options,\n\t\t'selected' => false,\n\t\t'class' => '',\n\t\t'tip' => $L->g('Returning page for the main page')\n\t));\n\t?>\n\t<script>\n\t\t$(document).ready(function() {\n\t\t\tvar homepage = $(\"#jshomepage\").select2({\n\t\t\t\tplaceholder: \"<?php $L->p('Start typing to see a list of suggestions.') ?>\",\n\t\t\t\tallowClear: true,\n\t\t\t\ttheme: \"bootstrap4\",\n\t\t\t\tminimumInputLength: 2,\n\t\t\t\tajax: {\n\t\t\t\t\turl: HTML_PATH_ADMIN_ROOT + \"ajax/get-published\",\n\t\t\t\t\tdata: function(params) {\n\t\t\t\t\t\tvar query = {\n\t\t\t\t\t\t\tquery: params.term\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn query;\n\t\t\t\t\t},\n\t\t\t\t\tprocessResults: function(data) {\n\t\t\t\t\t\treturn data;\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tescapeMarkup: function(markup) {\n\t\t\t\t\treturn markup;\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t</script>\n\n\t<?php\n\t// Page not found 404\n\ttry {\n\t\t$options = array();\n\t\t$pageNotFoundKey = $site->pageNotFound();\n\t\tif (!empty($pageNotFoundKey)) {\n\t\t\t$pageNotFound = new Page($pageNotFoundKey);\n\t\t\t$options = array($pageNotFoundKey => $pageNotFound->title());\n\t\t}\n\t} catch (Exception $e) {\n\t\t// continue\n\t}\n\techo Bootstrap::formSelect(array(\n\t\t'name' => 'pageNotFound',\n\t\t'label' => $L->g('Page not found'),\n\t\t'options' => $options,\n\t\t'selected' => false,\n\t\t'class' => '',\n\t\t'tip' => $L->g('Returning page when the page doesnt exist')\n\t));\n\t?>\n\n\t<script>\n\t\t$(document).ready(function() {\n\t\t\tvar homepage = $(\"#jspageNotFound\").select2({\n\t\t\t\tplaceholder: \"<?php $L->p('Start typing to see a list of suggestions.') ?>\",\n\t\t\t\tallowClear: true,\n\t\t\t\ttheme: \"bootstrap4\",\n\t\t\t\tminimumInputLength: 2,\n\t\t\t\tajax: {\n\t\t\t\t\turl: HTML_PATH_ADMIN_ROOT + \"ajax/get-published\",\n\t\t\t\t\tdata: function(params) {\n\t\t\t\t\t\tvar query = {\n\t\t\t\t\t\t\tquery: params.term\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn query;\n\t\t\t\t\t},\n\t\t\t\t\tprocessResults: function(data) {\n\t\t\t\t\t\treturn data;\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tescapeMarkup: function(markup) {\n\t\t\t\t\treturn markup;\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t</script>\n\n\t<?php\n\techo Bootstrap::formTitle(array('title' => $L->g('Email account settings')));\n\n\techo Bootstrap::formInputText(array(\n\t\t'name' => 'emailFrom',\n\t\t'label' => $L->g('Sender email'),\n\t\t'value' => $site->emailFrom(),\n\t\t'class' => '',\n\t\t'placeholder' => '',\n\t\t'tip' => $L->g('Emails will be sent from this address')\n\t));\n\n\techo Bootstrap::formTitle(array('title' => $L->g('Autosave')));\n\n\techo Bootstrap::formInputText(array(\n\t\t'name' => 'autosaveInterval',\n\t\t'label' => $L->g('Interval'),\n\t\t'value' => $site->autosaveInterval(),\n\t\t'class' => '',\n\t\t'placeholder' => '',\n\t\t'tip' => $L->g('Number in minutes for every execution of autosave')\n\t));\n\n\techo Bootstrap::formTitle(array('title' => $L->g('Site URL')));\n\n\techo Bootstrap::formInputText(array(\n\t\t'name' => 'url',\n\t\t'label' => 'URL',\n\t\t'value' => $site->url(),\n\t\t'class' => '',\n\t\t'placeholder' => '',\n\t\t'tip' => $L->g('full-url-of-your-site'),\n\t\t'placeholder' => 'https://'\n\t));\n\n\techo Bootstrap::formTitle(array('title' => $L->g('Page content')));\n\n\techo Bootstrap::formSelect(array(\n\t\t'name' => 'markdownParser',\n\t\t'label' => $L->g('Markdown parser'),\n\t\t'options' => array('true' => $L->g('Enabled'), 'false' => $L->g('Disabled')),\n\t\t'selected' => ($site->markdownParser() ? 'true' : 'false'),\n\t\t'class' => '',\n\t\t'tip' => $L->g('Enable the markdown parser for the content of the page.')\n\t));\n\n\techo Bootstrap::formTitle(array('title' => $L->g('URL Filters')));\n\n\techo Bootstrap::formInputText(array(\n\t\t'name' => 'uriPage',\n\t\t'label' => $L->g('Pages'),\n\t\t'value' => $site->uriFilters('page'),\n\t\t'class' => '',\n\t\t'placeholder' => '',\n\t\t'tip' => DOMAIN_PAGES\n\t));\n\n\techo Bootstrap::formInputText(array(\n\t\t'name' => 'uriTag',\n\t\t'label' => $L->g('Tags'),\n\t\t'value' => $site->uriFilters('tag'),\n\t\t'class' => '',\n\t\t'placeholder' => '',\n\t\t'tip' => DOMAIN_TAGS\n\t));\n\n\techo Bootstrap::formInputText(array(\n\t\t'name' => 'uriCategory',\n\t\t'label' => $L->g('Category'),\n\t\t'value' => $site->uriFilters('category'),\n\t\t'class' => '',\n\t\t'placeholder' => '',\n\t\t'tip' => DOMAIN_CATEGORIES\n\t));\n\n\techo Bootstrap::formInputText(array(\n\t\t'name' => 'uriBlog',\n\t\t'label' => $L->g('Blog'),\n\t\t'value' => $site->uriFilters('blog'),\n\t\t'class' => '',\n\t\t'placeholder' => '',\n\t\t'tip' => DOMAIN . $site->uriFilters('blog'),\n\t\t'disabled' => Text::isEmpty($site->uriFilters('blog'))\n\t));\n\t?>\n</div>\n\n<!-- SEO tab -->\n<div class=\"tab-pane fade\" id=\"seo\" role=\"tabpanel\" aria-labelledby=\"seo-tab\">\n\t<?php\n\techo Bootstrap::formTitle(array('title' => $L->g('Extreme friendly URL')));\n\n\techo Bootstrap::formSelect(array(\n\t\t'name' => 'extremeFriendly',\n\t\t'label' => $L->g('Allow Unicode'),\n\t\t'options' => array('true' => $L->g('Enabled'), 'false' => $L->g('Disabled')),\n\t\t'selected' => ($site->extremeFriendly() ? 'true' : 'false'),\n\t\t'class' => '',\n\t\t'tip' => $L->g('Allow unicode characters in the URL and some part of the system.')\n\t));\n\n\techo Bootstrap::formTitle(array('title' => $L->g('Title formats')));\n\n\techo Bootstrap::formInputText(array(\n\t\t'name' => 'titleFormatHomepage',\n\t\t'label' => $L->g('Homepage'),\n\t\t'value' => $site->titleFormatHomepage(),\n\t\t'class' => '',\n\t\t'placeholder' => '',\n\t\t'tip' => $L->g('Variables allowed') . ' <code>{{site-title}}</code> <code>{{site-slogan}}</code> <code>{{site-description}}</code>',\n\t\t'placeholder' => ''\n\t));\n\n\techo Bootstrap::formInputText(array(\n\t\t'name' => 'titleFormatPages',\n\t\t'label' => $L->g('Pages'),\n\t\t'value' => $site->titleFormatPages(),\n\t\t'class' => '',\n\t\t'placeholder' => '',\n\t\t'tip' => $L->g('Variables allowed') . ' <code>{{page-title}}</code> <code>{{page-description}}</code> <code>{{site-title}}</code> <code>{{site-slogan}}</code> <code>{{site-description}}</code>',\n\t\t'placeholder' => ''\n\t));\n\n\techo Bootstrap::formInputText(array(\n\t\t'name' => 'titleFormatCategory',\n\t\t'label' => $L->g('Category'),\n\t\t'value' => $site->titleFormatCategory(),\n\t\t'class' => '',\n\t\t'placeholder' => '',\n\t\t'tip' => $L->g('Variables allowed') . ' <code>{{category-name}}</code> <code>{{site-title}}</code> <code>{{site-slogan}}</code> <code>{{site-description}}</code>',\n\t\t'placeholder' => ''\n\t));\n\n\techo Bootstrap::formInputText(array(\n\t\t'name' => 'titleFormatTag',\n\t\t'label' => $L->g('Tag'),\n\t\t'value' => $site->titleFormatTag(),\n\t\t'class' => '',\n\t\t'placeholder' => '',\n\t\t'tip' => $L->g('Variables allowed') . ' <code>{{tag-name}}</code> <code>{{site-title}}</code> <code>{{site-slogan}}</code> <code>{{site-description}}</code>',\n\t\t'placeholder' => ''\n\t));\n\t?>\n</div>\n\n<!-- Social Network tab -->\n<div class=\"tab-pane fade\" id=\"social\" role=\"tabpanel\" aria-labelledby=\"social-tab\">\n\t<?php\n\techo Bootstrap::formInputText(array(\n\t\t'name' => 'twitter',\n\t\t'label' => 'Twitter',\n\t\t'value' => $site->twitter(),\n\t\t'class' => '',\n\t\t'placeholder' => '',\n\t\t'tip' => ''\n\t));\n\n\techo Bootstrap::formInputText(array(\n\t\t'name' => 'facebook',\n\t\t'label' => 'Facebook',\n\t\t'value' => $site->facebook(),\n\t\t'class' => '',\n\t\t'placeholder' => '',\n\t\t'tip' => ''\n\t));\n\n\techo Bootstrap::formInputText(array(\n\t\t'name' => 'codepen',\n\t\t'label' => 'CodePen',\n\t\t'value' => $site->codepen(),\n\t\t'class' => '',\n\t\t'placeholder' => '',\n\t\t'tip' => ''\n\t));\n\n\techo Bootstrap::formInputText(array(\n\t\t'name' => 'instagram',\n\t\t'label' => 'Instagram',\n\t\t'value' => $site->instagram(),\n\t\t'class' => '',\n\t\t'placeholder' => '',\n\t\t'tip' => ''\n\t));\n\n\techo Bootstrap::formInputText(array(\n\t\t'name' => 'gitlab',\n\t\t'label' => 'GitLab',\n\t\t'value' => $site->gitlab(),\n\t\t'class' => '',\n\t\t'placeholder' => '',\n\t\t'tip' => ''\n\t));\n\n\techo Bootstrap::formInputText(array(\n\t\t'name' => 'github',\n\t\t'label' => 'GitHub',\n\t\t'value' => $site->github(),\n\t\t'class' => '',\n\t\t'placeholder' => '',\n\t\t'tip' => ''\n\t));\n\n\techo Bootstrap::formInputText(array(\n\t\t'name' => 'linkedin',\n\t\t'label' => 'LinkedIn',\n\t\t'value' => $site->linkedin(),\n\t\t'class' => '',\n\t\t'placeholder' => '',\n\t\t'tip' => ''\n\t));\n\n\techo Bootstrap::formInputText(array(\n\t\t'name' => 'xing',\n\t\t'label' => 'Xing',\n\t\t'value' => $site->xing(),\n\t\t'class' => '',\n\t\t'placeholder' => '',\n\t\t'tip' => ''\n\t));\n\n\techo Bootstrap::formInputText(array(\n\t\t'name' => 'telegram',\n\t\t'label' => 'Telegram',\n\t\t'value' => $site->telegram(),\n\t\t'class' => '',\n\t\t'placeholder' => '',\n\t\t'tip' => ''\n\t));\n\n\techo Bootstrap::formInputText(array(\n\t\t'name' => 'mastodon',\n\t\t'label' => 'Mastodon',\n\t\t'value' => $site->mastodon(),\n\t\t'class' => '',\n\t\t'placeholder' => '',\n\t\t'tip' => ''\n\t));\n\n\techo Bootstrap::formInputText(array(\n\t\t'name' => 'dribbble',\n\t\t'label' => 'Dribbble',\n\t\t'value' => $site->dribbble(),\n\t\t'class' => '',\n\t\t'placeholder' => '',\n\t\t'tip' => ''\n\t));\n\n\techo Bootstrap::formInputText(array(\n\t\t'name' => 'vk',\n\t\t'label' => 'VK',\n\t\t'value' => $site->vk(),\n\t\t'class' => '',\n\t\t'placeholder' => '',\n\t\t'tip' => ''\n\t));\n\n\techo Bootstrap::formInputText(array(\n\t\t'name' => 'youtube',\n\t\t'label' => 'Youtube',\n\t\t'value' => $site->youtube(),\n\t\t'class' => '',\n\t\t'placeholder' => '',\n\t\t'tip' => ''\n\t));\n\n\techo Bootstrap::formInputText(array(\n\t\t'name' => 'bluesky',\n\t\t'label' => 'Bluesky',\n\t\t'value' => $site->bluesky(),\n\t\t'class' => '',\n\t\t'placeholder' => '',\n\t\t'tip' => ''\n\t));\n\t?>\n</div>\n\n<!-- Images tab -->\n<div class=\"tab-pane fade\" id=\"images\" role=\"tabpanel\" aria-labelledby=\"images-tab\">\n\t<?php\n\techo Bootstrap::formTitle(array('title' => $L->g('Thumbnails')));\n\n\techo Bootstrap::formSelect(array(\n\t\t'name' => 'thumbnailEnable',\n\t\t'label' => $L->g('Thumbnail generation'),\n\t\t'options' => array('true' => $L->g('Enabled'), 'false' => $L->g('Disabled')),\n\t\t'selected' => ($site->thumbnailEnable() ? 'true' : 'false'),\n\t\t'class' => '',\n\t\t'tip' => $L->g('Enable or disable automatic thumbnail generation on image upload.')\n\t));\n\n\techo Bootstrap::formInputText(array(\n\t\t'name' => 'thumbnailWidth',\n\t\t'label' => $L->g('Width'),\n\t\t'value' => $site->thumbnailWidth(),\n\t\t'class' => '',\n\t\t'placeholder' => '',\n\t\t'tip' => $L->g('Thumbnail width in pixels')\n\t));\n\n\techo Bootstrap::formInputText(array(\n\t\t'name' => 'thumbnailHeight',\n\t\t'label' => $L->g('Height'),\n\t\t'value' => $site->thumbnailHeight(),\n\t\t'class' => '',\n\t\t'placeholder' => '',\n\t\t'tip' => $L->g('Thumbnail height in pixels')\n\t));\n\n\techo Bootstrap::formInputText(array(\n\t\t'name' => 'thumbnailQuality',\n\t\t'label' => $L->g('Quality'),\n\t\t'value' => $site->thumbnailQuality(),\n\t\t'class' => '',\n\t\t'placeholder' => '',\n\t\t'tip' => $L->g('Thumbnail quality in percentage')\n\t));\n\t?>\n</div>\n\n<!-- Timezone and language tab -->\n<div class=\"tab-pane fade\" id=\"language\" role=\"tabpanel\" aria-labelledby=\"language-tab\">\n\t<?php\n\techo Bootstrap::formTitle(array('title' => $L->g('Language and timezone')));\n\n\techo Bootstrap::formSelect(array(\n\t\t'name' => 'language',\n\t\t'label' => $L->g('Language'),\n\t\t'options' => $L->getLanguageList(),\n\t\t'selected' => $site->language(),\n\t\t'class' => '',\n\t\t'tip' => $L->g('select-your-sites-language')\n\t));\n\n\techo Bootstrap::formSelect(array(\n\t\t'name' => 'timezone',\n\t\t'label' => $L->g('Timezone'),\n\t\t'options' => Date::timezoneList(),\n\t\t'selected' => $site->timezone(),\n\t\t'class' => '',\n\t\t'tip' => $L->g('select-a-timezone-for-a-correct')\n\t));\n\n\techo Bootstrap::formInputText(array(\n\t\t'name' => 'locale',\n\t\t'label' => $L->g('Locale'),\n\t\t'value' => $site->locale(),\n\t\t'class' => '',\n\t\t'placeholder' => '',\n\t\t'tip' => $L->g('with-the-locales-you-can-set-the-regional-user-interface')\n\t));\n\n\techo Bootstrap::formTitle(array('title' => $L->g('Date and time formats')));\n\n\techo Bootstrap::formInputText(array(\n\t\t'name' => 'dateFormat',\n\t\t'label' => $L->g('Date format'),\n\t\t'value' => $site->dateFormat(),\n\t\t'class' => '',\n\t\t'placeholder' => '',\n\t\t'tip' => $L->g('Current format') . ': ' . Date::current($site->dateFormat())\n\t));\n\t?>\n</div>\n\n<!-- Custom fields -->\n<div class=\"tab-pane fade\" id=\"custom-fields\" role=\"tabpanel\" aria-labelledby=\"custom-fields-tab\">\n\t<?php\n\techo Bootstrap::formTitle(array('title' => $L->g('Custom fields')));\n\n\techo Bootstrap::formTextarea(array(\n\t\t'name' => 'customFields',\n\t\t'label' => 'JSON Format',\n\t\t'value' => json_encode($site->customFields(), JSON_PRETTY_PRINT),\n\t\t'class' => '',\n\t\t'placeholder' => '',\n\t\t'tip' => $L->g('define-custom-fields-for-the-content'),\n\t\t'rows' => 15\n\t));\n\t?>\n</div>\n\n<!-- Site logo tab -->\n<div class=\"tab-pane fade\" id=\"logo\" role=\"tabpanel\" aria-labelledby=\"logo-tab\">\n\t<?php\n\techo Bootstrap::formTitle(array('title' => $L->g('Site logo')));\n\t?>\n\n\t<div class=\"container\">\n\t\t<div class=\"row\">\n\t\t\t<div class=\"col-lg-4 col-sm-12 p-0 pr-2\">\n\t\t\t\t<div class=\"custom-file\">\n\t\t\t\t\t<input id=\"jssiteLogoInputFile\" class=\"custom-file-input\" type=\"file\" name=\"inputFile\">\n\t\t\t\t\t<label for=\"jssiteLogoInputFile\" class=\"custom-file-label\"><?php $L->p('Upload image'); ?></label>\n\t\t\t\t</div>\n\t\t\t\t<button id=\"jsbuttonRemoveLogo\" type=\"button\" class=\"btn btn-primary w-100 mt-4 mb-4\"><i class=\"fa fa-trash\"></i><?php $L->p('Remove logo') ?></button>\n\t\t\t</div>\n\t\t\t<div class=\"col-lg-8 col-sm-12 p-0 text-center\">\n\t\t\t\t<img id=\"jssiteLogoPreview\" class=\"img-fluid img-thumbnail\" alt=\"Site logo preview\" src=\"<?php echo ($site->logo() ? DOMAIN_UPLOADS . $site->logo(false) . '?version=' . time() : HTML_PATH_CORE_IMG . 'default.svg') ?>\" />\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t<script>\n\t\t$(\"#jsbuttonRemoveLogo\").on(\"click\", function() {\n\t\t\tbluditAjax.removeLogo();\n\t\t\t$(\"#jssiteLogoPreview\").attr(\"src\", \"<?php echo HTML_PATH_CORE_IMG . 'default.svg' ?>\");\n\t\t});\n\n\t\t$(\"#jssiteLogoInputFile\").on(\"change\", function() {\n\t\t\tvar formData = new FormData();\n\t\t\tformData.append('tokenCSRF', tokenCSRF);\n\t\t\tformData.append('inputFile', $(this)[0].files[0]);\n\t\t\t$.ajax({\n\t\t\t\turl: HTML_PATH_ADMIN_ROOT + \"ajax/logo-upload\",\n\t\t\t\ttype: \"POST\",\n\t\t\t\tdata: formData,\n\t\t\t\tcache: false,\n\t\t\t\tcontentType: false,\n\t\t\t\tprocessData: false\n\t\t\t}).done(function(data) {\n\t\t\t\tif (data.status == 0) {\n\t\t\t\t\t$(\"#jssiteLogoPreview\").attr('src', data.absoluteURL + \"?time=\" + Math.random());\n\t\t\t\t} else {\n\t\t\t\t\tshowAlert(data.message);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t</script>\n</div>\n\n<?php echo Bootstrap::formClose(); ?>\n\n<script>\n\t// Open current tab after refresh page\n\t$(function() {\n\t\t$('a[data-toggle=\"tab\"]').on('click', function(e) {\n\t\t\twindow.localStorage.setItem('activeTab', $(e.target).attr('href'));\n\t\t});\n\t\tvar activeTab = window.localStorage.getItem('activeTab');\n\t\tif (activeTab) {\n\t\t\t$('#nav-tab a[href=\"' + activeTab + '\"]').tab('show');\n\t\t\t//window.localStorage.removeItem(\"activeTab\");\n\t\t}\n\t});\n</script>\n"
  },
  {
    "path": "bl-kernel/admin/views/themes.php",
    "content": "<?php\n\necho Bootstrap::pageTitle(array('title' => $L->g('Themes'), 'icon' => 'desktop'));\n\necho '\n<table class=\"table  mt-3\">\n\t<thead>\n\t\t<tr>\n\t\t\t<th class=\"border-bottom-0 w-25\" scope=\"col\">' . $L->g('Name') . '</th>\n\t\t\t<th class=\"border-bottom-0 d-none d-sm-table-cell\" scope=\"col\">' . $L->g('Description') . '</th>\n\t\t\t<th class=\"text-center border-bottom-0 d-none d-lg-table-cell\" scope=\"col\">' . $L->g('Version') . '</th>\n\t\t\t<th class=\"text-center border-bottom-0 d-none d-lg-table-cell\" scope=\"col\">' . $L->g('Author') . '</th>\n\t\t</tr>\n\t</thead>\n\t<tbody>\n';\n\nforeach ($themes as $theme) {\n  echo '\n\t<tr ' . ($theme['dirname'] == $site->theme() ? 'class=\"bg-light\"' : '') . '>\n\t\t<td class=\"align-middle pt-3 pb-3\">\n\t\t<div>'.$theme['name'].($theme['dirname']==$site->theme()?'<span class=\"badge badge-primary ml-2\">'.$L->g('Active').'</span>':'').'</div>\n\t\t\t<div class=\"mt-1\">\n\t';\n\n  if ($theme['dirname'] != $site->theme()) {\n    echo '<a href=\"' . HTML_PATH_ADMIN_ROOT . 'install-theme/' . $theme['dirname'] . '\">' . $L->g('Activate') . '</a>';\n  } else {\n    if (isset($theme['plugin'])) {\n      echo '<a href=\"' . HTML_PATH_ADMIN_ROOT . 'configure-plugin/' . $theme['plugin'] . '\">' . $L->g('Settings') . '</a>';\n    }\n  }\n\n  echo '\n\t\t\t</div>\n\t\t</td>\n\t';\n\n  echo '<td class=\"align-middle d-none d-sm-table-cell\">';\n  echo $theme['description'];\n  echo '</td>';\n\n  echo '<td class=\"text-center align-middle d-none d-lg-table-cell\">';\n  echo '<span>' . $theme['version'] . '</span>';\n  echo '</td>';\n\n  echo '<td class=\"text-center align-middle d-none d-lg-table-cell\">\n\t\t<a target=\"_blank\" href=\"' . $theme['website'] . '\">' . $theme['author'] . '</a>\n\t</td>';\n\n  echo '</tr>';\n}\n\necho '\n\t</tbody>\n</table>\n';\n"
  },
  {
    "path": "bl-kernel/admin/views/user-password.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.'); ?>\n\n<?php echo Bootstrap::formOpen(array('id'=>'jsform', 'class'=>'tab-content')); ?>\n\n<div class=\"align-middle\">\n\t<div class=\"float-right mt-1\">\n\t\t<button type=\"submit\" class=\"btn btn-primary btn-sm\" name=\"save\"><?php $L->p('Save') ?></button>\n\t\t<a class=\"btn btn-secondary btn-sm\" href=\"<?php echo HTML_PATH_ADMIN_ROOT.'edit-user/'.$user->username() ?>\" role=\"button\"><?php $L->p('Cancel') ?></a>\n\t</div>\n\t<?php echo Bootstrap::pageTitle(array('title'=>$L->g('Change password'), 'icon'=>'user')); ?>\n</div>\n\n<?php\n\t// Token CSRF\n\techo Bootstrap::formInputHidden(array(\n\t\t'name'=>'tokenCSRF',\n\t\t'value'=>$security->getTokenCSRF()\n\t));\n\n\t// Username\n\techo Bootstrap::formInputHidden(array(\n\t\t'name'=>'username',\n\t\t'value'=>$user->username()\n\t));\n\n\t// Username disabled\n\techo Bootstrap::formInputText(array(\n\t\t'name'=>'usernameDisabled',\n\t\t'label'=>$L->g('Username'),\n\t\t'value'=>$user->username(),\n\t\t'class'=>'',\n\t\t'placeholder'=>'',\n\t\t'disabled'=>true,\n\t\t'tip'=>''\n\t));\n\n\t// New password\n\techo Bootstrap::formInputText(array(\n\t\t'name'=>'newPassword',\n\t\t'label'=>$L->g('New password'),\n\t\t'type'=>'password',\n\t\t'value'=>'',\n\t\t'class'=>'',\n\t\t'placeholder'=>'',\n\t\t'tip'=>''\n\t));\n\n\t// Confirm password\n\techo Bootstrap::formInputText(array(\n\t\t'name'=>'confirmPassword',\n\t\t'label'=>$L->g('Confirm new password'),\n\t\t'type'=>'password',\n\t\t'value'=>'',\n\t\t'class'=>'',\n\t\t'placeholder'=>'',\n\t\t'tip'=>''\n\t));\n?>\n\n<?php echo Bootstrap::formClose(); ?>"
  },
  {
    "path": "bl-kernel/admin/views/users.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.'); ?>\n\n<?php\n\necho Bootstrap::pageTitle(array('title'=>$L->g('Users'), 'icon'=>'users'));\n\necho Bootstrap::link(array(\n\t'title'=>$L->g('add-a-new-user'),\n\t'href'=>HTML_PATH_ADMIN_ROOT.'new-user',\n\t'icon'=>'plus'\n));\n\necho '\n<table class=\"table table-striped mt-3\">\n\t<thead>\n\t\t<tr>\n\t\t\t<th class=\"border-bottom-0\" scope=\"col\">'.$L->g('Username').'</th>\n\t\t\t<th class=\"border-bottom-0 d-none d-lg-table-cell\" scope=\"col\">'.$L->g('Nickname').'</th>\n\t\t\t<th class=\"border-bottom-0\" scope=\"col\">'.$L->g('Email').'</th>\n\t\t\t<th class=\"border-bottom-0\" scope=\"col\">'.$L->g('Status').'</th>\n\t\t\t<th class=\"border-bottom-0\" scope=\"col\">'.$L->g('Role').'</th>\n\t\t\t<th class=\"border-bottom-0 d-none d-lg-table-cell\" scope=\"col\">'.$L->g('Registered').'</th>\n\t\t</tr>\n\t</thead>\n\t<tbody>\n';\n\n$list = $users->keys();\nforeach ($list as $username) {\n\ttry {\n\t\t$user = new User($username);\n\t\techo '<tr>';\n\t\techo '<td><img class=\"profilePicture mr-1\" alt=\"\" src=\"'.(Sanitize::pathFile(PATH_UPLOADS_PROFILES.$user->username().'.png')?DOMAIN_UPLOADS_PROFILES.$user->username().'.png':HTML_PATH_CORE_IMG.'default.svg').'\" /><a href=\"'.HTML_PATH_ADMIN_ROOT.'edit-user/'.$username.'\">'.$username.'</a></td>';\n\t\techo '<td class=\"d-none d-lg-table-cell\">'.$user->nickname().'</td>';\n\t\techo '<td>'.$user->email().'</td>';\n\t\techo '<td>'.($user->enabled()?'<b>'.$L->g('Enabled').'</b>':$L->g('Disabled')).'</td>';\n\t\tif ($user->role()=='admin') {\n\t\t\techo '<td>'.$L->g('Administrator').'</td>';\n\t\t} elseif ($user->role()=='editor') {\n\t\t\techo '<td>'.$L->g('Editor').'</td>';\n\t\t} elseif ($user->role()=='author') {\n\t\t\techo '<td>'.$L->g('Author').'</td>';\n\t\t} else {\n\t\t\techo '<td>'.$L->g('Reader').'</td>';\n\t\t}\n\t\techo '<td class=\"d-none d-lg-table-cell\">'.Date::format($user->registered(), DB_DATE_FORMAT, ADMIN_PANEL_DATE_FORMAT).'</td>';\n\t\techo '</tr>';\n\t} catch (Exception $e) {\n\t\t// Continue\n\t}\n}\n\necho '\n\t</tbody>\n</table>\n';"
  },
  {
    "path": "bl-kernel/ajax/change-type.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\nheader('Content-Type: application/json');\n\n/*\n| Change a page's type. Allowed types: published, sticky, static, draft.\n| Allowed transitions are restricted to the same set on both ends — anything\n| else (autosave, scheduled) goes through the normal edit flow.\n|\n| @_POST['key']\tstring\tPage key\n| @_POST['type']\tstring\tTarget type\n|\n| @return\tJSON { status, message, key, type }\n*/\n\ncheckRole(array('admin', 'editor', 'author'));\n\n$allowed = array('published', 'sticky', 'static', 'draft');\n\n$key = isset($_POST['key']) ? Sanitize::html($_POST['key']) : false;\n$newType = isset($_POST['type']) ? Sanitize::html($_POST['type']) : false;\n\nif (empty($key) || !$pages->exists($key)) {\n\tajaxResponse(1, $L->g('Page not found.'));\n}\n\nif (!in_array($newType, $allowed, true)) {\n\tajaxResponse(1, $L->g('Target type is not allowed.'));\n}\n\n$current = $pages->db[$key]['type'];\nif (!in_array($current, $allowed, true)) {\n\tajaxResponse(1, $L->g('Current page type cannot be changed from this menu.'));\n}\n\nif ($current === $newType) {\n\tajaxResponse(0, $L->g('Page type unchanged.'), array(\n\t\t'key' => $key,\n\t\t'type' => $newType\n\t));\n}\n\n// Authors can only change their own pages\nif (checkRole(array('author'), false)) {\n\tif ($pages->db[$key]['username'] !== $login->username()) {\n\t\tajaxResponse(1, $L->g('Permission denied.'));\n\t}\n}\n\n// Don't let a static parent be moved away from \"static\" while it has children;\n// otherwise the descendants get orphaned in the static tree (getStaticDB filters by type).\nif ($current === 'static' && $newType !== 'static') {\n\ttry {\n\t\t$page = new Page($key);\n\t\tif (count($page->children()) > 0) {\n\t\t\tajaxResponse(1, $L->g('Cannot change type while the page has children.'));\n\t\t}\n\t} catch (Exception $e) {\n\t\tajaxResponse(1, $L->g('Page not found.'));\n\t}\n}\n\nif ($pages->setField($key, 'type', $newType) === false) {\n\tajaxResponse(1, $L->g('Failed to update page type.'));\n}\n\najaxResponse(0, $L->g('Page type updated.'), array(\n\t'key' => $key,\n\t'type' => $newType\n));\n"
  },
  {
    "path": "bl-kernel/ajax/clippy.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\nheader('Content-Type: application/json');\n\n// $_GET\n// ----------------------------------------------------------------------------\n// (string) $_GET['query']\n$query = isset($_GET['query']) ? Text::lowercase($_GET['query']) : false;\n// ----------------------------------------------------------------------------\nif ($query===false) {\n\tajaxResponse(1, 'Invalid query.');\n}\n\n$result = array();\n\n// MENU\nif (Text::stringContains(Text::lowercase($L->g('New content')), $query)) {\n\t$tmp = array('disabled'=>true, 'icon'=>'plus-circle', 'type'=>'menu');\n\t$tmp['text'] = $L->g('New content');\n\t$tmp['url'] = HTML_PATH_ADMIN_ROOT.'new-content';\n\tarray_push($result, $tmp);\n}\nif (Text::stringContains(Text::lowercase($L->g('New category')), $query)) {\n\t$tmp = array('disabled'=>true, 'icon'=>'tag', 'type'=>'menu');\n\t$tmp['text'] = $L->g('New category');\n\t$tmp['url'] = HTML_PATH_ADMIN_ROOT.'new-category';\n\tarray_push($result, $tmp);\n}\nif (Text::stringContains(Text::lowercase($L->g('New user')), $query)) {\n\t$tmp = array('disabled'=>true, 'icon'=>'user', 'type'=>'menu');\n\t$tmp['text'] = $L->g('New user');\n\t$tmp['url'] = HTML_PATH_ADMIN_ROOT.'new-user';\n\tarray_push($result, $tmp);\n}\nif (Text::stringContains(Text::lowercase($L->g('Categories')), $query)) {\n\t$tmp = array('disabled'=>true, 'icon'=>'tags', 'type'=>'menu');\n\t$tmp['text'] = $L->g('Categories');\n\t$tmp['url'] = HTML_PATH_ADMIN_ROOT.'categories';\n\tarray_push($result, $tmp);\n}\nif (Text::stringContains(Text::lowercase($L->g('Users')), $query)) {\n\t$tmp = array('disabled'=>true, 'icon'=>'users', 'type'=>'menu');\n\t$tmp['text'] = $L->g('Users');\n\t$tmp['url'] = HTML_PATH_ADMIN_ROOT.'users';\n\tarray_push($result, $tmp);\n}\n\n\n// PAGES\n$pagesKey = $pages->getDB();\nforeach ($pagesKey as $pageKey) {\n\ttry {\n\t\t$page = new Page($pageKey);\n\t\t$lowerTitle = Text::lowercase($page->title());\n\t\tif (Text::stringContains($lowerTitle, $query)) {\n\t\t\t$tmp = array('disabled'=>true);\n\t\t\t$tmp['id'] = $page->key();\n\t\t\t$tmp['text'] = $page->title();\n\t\t\t$tmp['type'] = $page->type();\n\t\t\tarray_push($result, $tmp);\n\t\t}\n\t} catch (Exception $e) {\n\t\t// continue\n\t}\n}\n\nexit (json_encode(array('results'=>$result)));\n\n?>"
  },
  {
    "path": "bl-kernel/ajax/content-get-list.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\nheader('Content-Type: application/json');\n\n/*\n| Search for pages that have in the title the string $query and returns the array of pages\n|\n| @_GET['published']\tboolean\tTrue to search in published database\n| @_GET['static']\tboolean True to search in static database\n| @_GET['sticky']\tboolean True to search in sticky database\n| @_GET['scheduled']\tboolean True to search in scheduled database\n| @_GET['draft']\tboolean True to search in draft database\n| @_GET['query']\tstring\tText to search in the title\n|\n| @return\t\tarray\n*/\n\n// $_GET\n// ----------------------------------------------------------------------------\n$published = empty($_GET['published']) ? false:true;\n$static = empty($_GET['static']) ? false:true;\n$sticky = empty($_GET['sticky']) ? false:true;\n$scheduled = empty($_GET['scheduled']) ? false:true;\n$draft = empty($_GET['draft']) ? false:true;\n$query = isset($_GET['query']) ? Text::lowercase($_GET['query']) : false;\n// ----------------------------------------------------------------------------\n\nif ($query===false) {\n\tajaxResponse(1, 'Invalid query.');\n}\n\n$pageNumber = 1;\n$numberOfItems = -1;\n$pagesKey = $pages->getList($pageNumber, $numberOfItems, $published, $static, $sticky, $draft, $scheduled);\n$tmp = array();\nforeach ($pagesKey as $pageKey) {\n\ttry {\n\t\t$page = new Page($pageKey);\n\t\t$lowerTitle = Text::lowercase($page->title());\n\t\tif (Text::stringContains($lowerTitle, $query)) {\n\t\t\t$tmp[$page->key()] = $page->json(true);\n\t\t}\n\t} catch (Exception $e) {\n\t\t// continue\n\t}\n}\n\nexit (json_encode($tmp));\n\n?>"
  },
  {
    "path": "bl-kernel/ajax/delete-image.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\nheader('Content-Type: application/json');\n\n/*\n| Delete an image from a particular page\n|\n| @_POST['filename']\tstring\tName of the file to delete\n| @_POST['uuid']\tstring\tPage UUID\n|\n| @return\tarray\n*/\n\n// $_POST\n// ----------------------------------------------------------------------------\n$filename = isset($_POST['filename']) ? $_POST['filename'] : false;\n$uuid = empty($_POST['uuid']) ? false : $_POST['uuid'];\n// ----------------------------------------------------------------------------\n\nif ($filename===false) {\n\tajaxResponse(1, 'The filename is empty.');\n}\n\nif ($uuid && IMAGE_RESTRICT) {\n\tif (Text::stringContains($uuid, DS, false)) {\n\t\tajaxResponse(1, 'Invalid uuid.');\n\t}\n\t$imagePath = PATH_UPLOADS_PAGES.$uuid.DS;\n\t$thumbnailPath = PATH_UPLOADS_PAGES.$uuid.DS.'thumbnails'.DS;\n} else {\n\t$imagePath = PATH_UPLOADS;\n\t$thumbnailPath = PATH_UPLOADS_THUMBNAILS;\n}\n\n// Delete the original\nif (Sanitize::pathFile($imagePath.$filename)) {\n\tFilesystem::rmfile($imagePath.$filename);\n}\n\n// Delete the thumbnail. Exact-name match is the fast path (new uploads have\n// matching extensions). If no exact match, fall back to any allowed-extension\n// match on the basename — this recovers legacy pairs where thumbnails were\n// forced to .jpg while the original kept its real extension. Before deleting\n// a mismatched candidate, verify no other original owns that extension, to\n// avoid taking out an unrelated image's thumbnail.\nif (Sanitize::pathFile($thumbnailPath.$filename) && is_file($thumbnailPath.$filename)) {\n\tFilesystem::rmfile($thumbnailPath.$filename);\n} else {\n\t$base = pathinfo($filename, PATHINFO_FILENAME);\n\tforeach ($GLOBALS['ALLOWED_IMG_EXTENSION'] as $ext) {\n\t\t$candidate = $base.'.'.$ext;\n\t\tif ($candidate === $filename) {\n\t\t\tcontinue;\n\t\t}\n\t\tif (is_file($imagePath.$candidate)) {\n\t\t\tcontinue;\n\t\t}\n\t\tif (Sanitize::pathFile($thumbnailPath.$candidate) && is_file($thumbnailPath.$candidate)) {\n\t\t\tFilesystem::rmfile($thumbnailPath.$candidate);\n\t\t}\n\t}\n}\n\najaxResponse(0, 'Image deleted.');\n\n?>\n"
  },
  {
    "path": "bl-kernel/ajax/generate-slug.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\nheader('Content-Type: application/json');\n\n/*\n| Generate a slug text for the URL\n|\n| @_POST['text']\tstring \tThe text from where is generated the slug\n| @_POST['parentKey']\tstring\tThe parent key if the page has one\n| @_POST['currentKey']\tstring\tThe current page key\n|\n| @return\tarray\n*/\n\n// $_POST\n// ----------------------------------------------------------------------------\n$text \t= isset($_POST['text']) ? $_POST['text'] : '';\n$parent = isset($_POST['parentKey']) ? $_POST['parentKey'] : '';\n$oldKey = isset($_POST['currentKey']) ? $_POST['currentKey'] : '';\n// ----------------------------------------------------------------------------\n\n$slug = $pages->generateKey($text, $parent, $returnSlug=true, $oldKey);\n\najaxResponse(0, 'Slug generated.', array(\n\t'slug'=>$slug\n));\n\n?>"
  },
  {
    "path": "bl-kernel/ajax/get-published.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\nheader('Content-Type: application/json');\n\n/*\n| Returns a list of pages and the title contains the query string\n| The returned list have published, sticky and statics pages\n|\n| @_POST['query']\tstring \tThe string to search in the title of the pages\n|\n| @return\tarray\n*/\n\n// $_GET\n// ----------------------------------------------------------------------------\n// (string) $_GET['query']\n$query = isset($_GET['query']) ? Text::lowercase($_GET['query']) : false;\n// (boolean) $_GET['checkIsParent']\n$checkIsParent = empty($_GET['checkIsParent']) ? false : true;\n// ----------------------------------------------------------------------------\nif ($query===false) {\n\tajaxResponse(1, 'Invalid query.');\n}\n\n$result = array();\n$pagesKey = $pages->getDB();\nforeach ($pagesKey as $pageKey) {\n\ttry {\n\t\t$page = new Page($pageKey);\n\t\tif ($page->isParent() || !$checkIsParent) {\n\t\t\t// Check page status\n\t\t\tif ($page->published() || $page->sticky() || $page->isStatic()) {\n\t\t\t\t// Check if the query contains in the title\n\t\t\t\t$lowerTitle = Text::lowercase($page->title());\n\t\t\t\tif (Text::stringContains($lowerTitle, $query)) {\n\t\t\t\t\t$tmp = array('disabled'=>false);\n\t\t\t\t\t$tmp['id'] = $page->key();\n\t\t\t\t\t$tmp['text'] = $page->title();\n\t\t\t\t\t$tmp['type'] = $page->type();\n\t\t\t\t\tarray_push($result, $tmp);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t} catch (Exception $e) {\n\t\t// continue\n\t}\n}\n\nexit (json_encode(array('results'=>$result)));\n\n?>"
  },
  {
    "path": "bl-kernel/ajax/list-images.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\nheader('Content-Type: application/json');\n\n/*\n| Returns a list of images from a particular page\n|\n| @_POST['pageNumber']\tint\tPage number for the paginator\n| @_POST['path']\tstring\tPre-defined name for the directory to read, its pre-defined to avoid security issues\n| @_POST['uuid']\tstring\tPage UUID\n|\n| @return\tarray\tEach file is an object with 'filename' (original) and\n|\t\t\t'thumbnail' (resolved preview filename — may differ from\n|\t\t\tthe original for legacy pairs or fall back to it when no\n|\t\t\tthumbnail exists).\n*/\n\n// $_POST\n// ----------------------------------------------------------------------------\n// $_POST['pageNumber'] > 0\n$pageNumber = empty($_POST['pageNumber']) ? 1 : (int)$_POST['pageNumber'];\n$pageNumber = $pageNumber - 1;\n\n$path = empty($_POST['path']) ? false : $_POST['path'];\n$uuid = empty($_POST['uuid']) ? false : $_POST['uuid'];\n// ----------------------------------------------------------------------------\n\n// The only accepted value is kept for backward-compat with clients that\n// preserve the old contract; the server now scans originals regardless.\nif ($path !== 'thumbnails') {\n\tajaxResponse(1, 'Invalid path.');\n}\n\n// Resolve the originals and thumbnails directories\nif ($uuid && IMAGE_RESTRICT) {\n\tif (Text::stringContains($uuid, DS, false)) {\n\t\tajaxResponse(1, 'Invalid uuid.');\n\t}\n\t$imagePath = PATH_UPLOADS_PAGES.$uuid.DS;\n\t$thumbnailPath = PATH_UPLOADS_PAGES.$uuid.DS.'thumbnails'.DS;\n} else {\n\t$imagePath = PATH_UPLOADS;\n\t$thumbnailPath = PATH_UPLOADS_THUMBNAILS;\n}\n\n// Scan originals and pair each with its matching thumbnail\n$listOfFilesByPage = mediaManagerListImages($imagePath, $thumbnailPath, MEDIA_MANAGER_NUMBER_OF_FILES);\n\nif (isset($listOfFilesByPage[$pageNumber])) {\n\tajaxResponse(0, 'List of files and number of chunks.', array(\n\t\t'numberOfPages'=>count($listOfFilesByPage),\n\t\t'files'=>$listOfFilesByPage[$pageNumber]\n\t));\n}\n\najaxResponse(0, 'List of files and number of chunks.', array(\n\t'numberOfPages'=>0,\n\t'files'=>array()\n));\n\n?>\n"
  },
  {
    "path": "bl-kernel/ajax/logo-remove.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\nheader('Content-Type: application/json');\n\n/*\n| Delete the site logo\n| This script delete the file and set and empty string in the database\n|\n| @return\tarray\n*/\n\n// Delete the file\n$logoFilename = $site->logo(false);\nif ($logoFilename) {\n\tFilesystem::rmfile(PATH_UPLOADS.$logoFilename);\n}\n\n// Remove the logo from the database\n$site->set(array('logo'=>''));\n\najaxResponse(0, 'Logo removed.');\n\n?>"
  },
  {
    "path": "bl-kernel/ajax/logo-upload.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\nheader('Content-Type: application/json');\n\n/*\n| Upload site logo\n| The final filename is the site's name and the extension is the same as the file uploaded\n|\n| @_FILES['inputFile']\tmultipart/form-data\tFile from form\n|\n| @return\tarray\n*/\n\nif (!isset($_FILES['inputFile'])) {\n\tajaxResponse(1, 'Error trying to upload the site logo.');\n}\n\n// Check path traversal on $filename\nif (Text::stringContains($_FILES['inputFile']['name'], DS, false)) {\n\t$message = 'Path traversal detected.';\n\tLog::set($message, LOG_TYPE_ERROR);\n\tajaxResponse(1, $message);\n}\n\n// Block dotfiles\nif (strpos($_FILES['inputFile']['name'], '.') === 0) {\n\t$message = 'File type not allowed.';\n\tLog::set($message, LOG_TYPE_ERROR);\n\tajaxResponse(1, $message);\n}\n\n// File extension\n$fileExtension = Filesystem::extension($_FILES['inputFile']['name']);\n$fileExtension = Text::lowercase($fileExtension);\nif (!in_array($fileExtension, $GLOBALS['ALLOWED_IMG_EXTENSION'])) {\n\t$message = $L->g('File type is not supported. Allowed types:') . ' ' . implode(', ', $GLOBALS['ALLOWED_IMG_EXTENSION']);\n\tLog::set($message, LOG_TYPE_ERROR);\n\tajaxResponse(1, $message);\n}\n\n// File MIME Type\n$fileMimeType = Filesystem::mimeType($_FILES['inputFile']['tmp_name']);\nif ($fileMimeType !== false) {\n\tif (!in_array($fileMimeType, $GLOBALS['ALLOWED_IMG_MIMETYPES'])) {\n\t\t$message = $L->g('File mime type is not supported. Allowed types:') . ' ' . implode(', ', $GLOBALS['ALLOWED_IMG_MIMETYPES']);\n\t\tLog::set($message, LOG_TYPE_ERROR);\n\t\tajaxResponse(1, $message);\n\t}\n}\n\n// Final filename\n$filename = 'logo.' . $fileExtension;\nif (Text::isNotEmpty($site->title())) {\n\t$sanitizedTitle = Text::removeSpecialCharacters($site->title(), '-');\n\t$sanitizedTitle = Text::removeQuotes($sanitizedTitle);\n\t$sanitizedTitle = Text::removeSpaces($sanitizedTitle, '-');\n\t$sanitizedTitle = trim($sanitizedTitle, '-');\n\tif (Text::isNotEmpty($sanitizedTitle)) {\n\t\t$filename = $sanitizedTitle . '.' . $fileExtension;\n\t}\n}\n\n// Delete old image\n$oldFilename = $site->logo(false);\nif ($oldFilename) {\n\tFilesystem::rmfile(PATH_UPLOADS . $oldFilename);\n}\n\n// Move from temporary directory to uploads\nFilesystem::mv($_FILES['inputFile']['tmp_name'], PATH_UPLOADS . $filename);\n\n// Permissions\nchmod(PATH_UPLOADS . $filename, 0644);\n\n// Store the filename in the database\n$site->set(array('logo' => $filename));\n\najaxResponse(0, 'Image uploaded.', array(\n\t'filename' => $filename,\n\t'absoluteURL' => DOMAIN_UPLOADS . $filename,\n\t'absolutePath' => PATH_UPLOADS . $filename\n));\n"
  },
  {
    "path": "bl-kernel/ajax/profile-picture-upload.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\nheader('Content-Type: application/json');\n\n// $_POST\n// ----------------------------------------------------------------------------\n// (string) $_POST['username']\n$username = empty($_POST['username']) ? false : $_POST['username'];\n// ----------------------------------------------------------------------------\n\nif ($username===false) {\n\tajaxResponse(1, 'Error in username.');\n}\n\nif ( ($login->role()!='admin') && ($login->username()!=$username) ) {\n\tajaxResponse(1, 'Error in username.');\n}\n\nif (!isset($_FILES['profilePictureInputFile'])) {\n\tajaxResponse(1, 'Error trying to upload the profile picture.');\n}\n\n// Check path traversal\nif (Text::stringContains($username, DS, false)) {\n\t$message = 'Path traversal detected.';\n\tLog::set($message, LOG_TYPE_ERROR);\n\tajaxResponse(1, $message);\n}\n\n// Block dotfiles\nif (strpos($_FILES['profilePictureInputFile']['name'], '.') === 0) {\n\t$message = 'File type not allowed.';\n\tLog::set($message, LOG_TYPE_ERROR);\n\tajaxResponse(1, $message);\n}\n\n// Sanitize username for filename to prevent issues with special characters\n$sanitizedUsername = Text::removeSpecialCharacters($username, '-');\n$sanitizedUsername = Text::removeQuotes($sanitizedUsername);\n$sanitizedUsername = Text::removeSpaces($sanitizedUsername, '-');\n\n// Check file extension\n$fileExtension = Filesystem::extension($_FILES['profilePictureInputFile']['name']);\n$fileExtension = Text::lowercase($fileExtension);\nif (!in_array($fileExtension, $GLOBALS['ALLOWED_IMG_EXTENSION']) ) {\n\t$message = $L->g('File type is not supported. Allowed types:').' '.implode(', ',$GLOBALS['ALLOWED_IMG_EXTENSION']);\n\tLog::set($message, LOG_TYPE_ERROR);\n\tajaxResponse(1, $message);\n}\n\n// Check file MIME Type\n$fileMimeType = Filesystem::mimeType($_FILES['profilePictureInputFile']['tmp_name']);\nif ($fileMimeType!==false) {\n\tif (!in_array($fileMimeType, $GLOBALS['ALLOWED_IMG_MIMETYPES'])) {\n\t\t$message = $L->g('File mime type is not supported. Allowed types:').' '.implode(', ',$GLOBALS['ALLOWED_IMG_MIMETYPES']);\n\t\tLog::set($message, LOG_TYPE_ERROR);\n\t\tajaxResponse(1, $message);\n\t}\n}\n\n// Tmp filename\n$tmpFilename = $sanitizedUsername.'.'.$fileExtension;\n\n// Final filename\n$filename = $sanitizedUsername.'.png';\n\n// Ensure Bludit tmp directory exists\nif (!Filesystem::directoryExists(PATH_TMP)) {\n\tif (!Filesystem::mkdir(PATH_TMP, true)) {\n\t\t$message = 'Temporary directory does not exist and cannot be created.';\n\t\tLog::set($message, LOG_TYPE_ERROR);\n\t\tajaxResponse(1, $message);\n\t}\n}\n\n// Move from temporary directory to uploads folder\n$moved = rename($_FILES['profilePictureInputFile']['tmp_name'], PATH_TMP.$tmpFilename);\nif (!$moved) {\n\t$message = 'Error moving uploaded file to temporary directory.';\n\tLog::set($message, LOG_TYPE_ERROR);\n\tajaxResponse(1, $message);\n}\n\n// Resize and convert to png\n$image = new Image();\nif ($image->setImage(PATH_TMP.$tmpFilename, PROFILE_IMG_WIDTH, PROFILE_IMG_HEIGHT, 'crop') === false) {\n\tFilesystem::rmfile(PATH_TMP.$tmpFilename);\n\t$message = 'Profile picture upload failed: GD cannot decode the image (unsupported format or corrupted file).';\n\tLog::set($message, LOG_TYPE_ERROR);\n\tajaxResponse(1, $message);\n}\n$image->saveImage(PATH_UPLOADS_PROFILES.$filename, PROFILE_IMG_QUALITY, false, true);\n\n// Delete temporary file\nFilesystem::rmfile(PATH_TMP.$tmpFilename);\n\n// Permissions\nchmod(PATH_UPLOADS_PROFILES.$filename, 0644);\n\najaxResponse(0, 'Image uploaded.', array(\n\t'filename'=>$filename,\n\t'absoluteURL'=>DOMAIN_UPLOADS_PROFILES.$filename,\n\t'absolutePath'=>PATH_UPLOADS_PROFILES.$filename\n));\n\n?>\n"
  },
  {
    "path": "bl-kernel/ajax/save-as-draft.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\nheader('Content-Type: application/json');\n\n/*\n| Create/edit a page and save as draft\n| If the UUID already exists the page is updated\n|\n| @_POST['title']\tstring\tPage title\n| @_POST['content']\tstring\tPage content\n| @_POST['uuid']\tstring\tPage uuid\n| @_POST['uuid']\tstring\tPage type, by default is draft\n|\n| @return\tarray\n*/\n\n// $_POST\n// ----------------------------------------------------------------------------\n$title = isset($_POST['title']) ? $_POST['title'] : false;\n$content = isset($_POST['content']) ? $_POST['content'] : false;\n$uuid = isset($_POST['uuid']) ? $_POST['uuid'] : false;\n$type = isset($_POST['type']) ? $_POST['type'] : 'draft';\n// ----------------------------------------------------------------------------\n\n// Check UUID\nif (empty($uuid)) {\n\tajaxResponse(1, 'Save as draft fail. UUID not defined.');\n}\n\n$page = array(\n\t'uuid'=>$uuid,\n\t'key'=>$uuid,\n\t'slug'=>$uuid,\n\t'title'=>$title,\n\t'content'=>$content,\n\t'type'=>$type\n);\n\n// Get the page key by the UUID\n$pageKey = $pages->getByUUID($uuid);\n\n// if pageKey is empty means the page doesn't exist\nif (empty($pageKey)) {\n\tcreatePage($page);\n} else {\n\teditPage($page);\n}\n\najaxResponse(0, 'Save as draft successfully.', array(\n\t'uuid'=>$uuid\n));\n\n?>"
  },
  {
    "path": "bl-kernel/ajax/upload-images.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\nheader('Content-Type: application/json');\n\n/*\n| Upload an image to a particular page\n|\n| @_POST['uuid']\tstring\tPage uuid\n|\n| @return\t\tarray\n*/\n\n// $_POST\n// ----------------------------------------------------------------------------\n$uuid = empty($_POST['uuid']) ? false : $_POST['uuid'];\n// ----------------------------------------------------------------------------\n\n// Check path traversal on $uuid\nif ($uuid) {\n\tif (Text::stringContains($uuid, DS, false)) {\n\t\t$message = 'Path traversal detected.';\n\t\tLog::set($message, LOG_TYPE_ERROR);\n\t\tajaxResponse(1, $message);\n\t}\n}\n\n// Set upload directory\nif ($uuid && IMAGE_RESTRICT) {\n\t$imageDirectory = PATH_UPLOADS_PAGES . $uuid . DS;\n\t$thumbnailDirectory = $imageDirectory . 'thumbnails' . DS;\n\tif (!Filesystem::directoryExists($thumbnailDirectory)) {\n\t\tFilesystem::mkdir($thumbnailDirectory, true);\n\t}\n} else {\n\t$imageDirectory = PATH_UPLOADS;\n\t$thumbnailDirectory = PATH_UPLOADS_THUMBNAILS;\n}\n\n$images = array();\nforeach ($_FILES['images']['name'] as $uuid => $filename) {\n\t// Check for errors\n\tif ($_FILES['images']['error'][$uuid] != 0) {\n\t\t$message = $L->g('Maximum load file size allowed:') . ' ' . ini_get('upload_max_filesize');\n\t\tLog::set($message, LOG_TYPE_ERROR);\n\t\tajaxResponse(1, $message);\n\t}\n\n\t// Convert URL characters such as spaces or quotes to characters\n\t$filename = urldecode($filename);\n\t\n\t// Sanitize filename to prevent issues with special characters\n\t$filenameWithoutExt = Filesystem::filename($filename);\n\t$filenameWithoutExt = Text::removeSpecialCharacters($filenameWithoutExt, '-');\n\t$filenameWithoutExt = Text::removeQuotes($filenameWithoutExt);\n\t$filenameWithoutExt = Text::removeSpaces($filenameWithoutExt, '-');\n\t$fileExtension = Filesystem::extension($filename);\n\t$filename = $filenameWithoutExt . '.' . $fileExtension;\n\n\t// Block dotfiles\n\tif (strpos($filename, '.') === 0) {\n\t\t$message = 'File type not allowed.';\n\t\tLog::set($message, LOG_TYPE_ERROR);\n\t\tajaxResponse(1, $message);\n\t}\n\n\t// Check path traversal on $filename\n\tif (Text::stringContains($filename, DS, false)) {\n\t\t$message = 'Path traversal detected.';\n\t\tLog::set($message, LOG_TYPE_ERROR);\n\t\tajaxResponse(1, $message);\n\t}\n\n\t// Check file extension\n\t$fileExtension = Filesystem::extension($filename);\n\t$fileExtension = Text::lowercase($fileExtension);\n\tif (!in_array($fileExtension, $GLOBALS['ALLOWED_IMG_EXTENSION'])) {\n\t\t$message = $L->g('File type is not supported. Allowed types:') . ' ' . implode(', ', $GLOBALS['ALLOWED_IMG_EXTENSION']);\n\t\tLog::set($message, LOG_TYPE_ERROR);\n\t\tajaxResponse(1, $message);\n\t}\n\n\t// Check file MIME Type\n\t$fileMimeType = Filesystem::mimeType($_FILES['images']['tmp_name'][$uuid]);\n\tif ($fileMimeType === false) {\n\t\t$message = $L->g('File mime type is not supported. Allowed types:') . ' ' . implode(', ', $GLOBALS['ALLOWED_IMG_MIMETYPES']);\n\t\tLog::set($message, LOG_TYPE_ERROR);\n\t\tajaxResponse(1, $message);\n\t}\n\tif (!in_array($fileMimeType, $GLOBALS['ALLOWED_IMG_MIMETYPES'])) {\n\t\t$message = $L->g('File mime type is not supported. Allowed types:') . ' ' . implode(', ', $GLOBALS['ALLOWED_IMG_MIMETYPES']);\n\t\tLog::set($message, LOG_TYPE_ERROR);\n\t\tajaxResponse(1, $message);\n\t}\n\n\t// Ensure Bludit tmp directory exists\n\tif (!Filesystem::directoryExists(PATH_TMP)) {\n\t\tif (!Filesystem::mkdir(PATH_TMP, true)) {\n\t\t\t$message = 'Temporary directory does not exist and cannot be created.';\n\t\t\tLog::set($message, LOG_TYPE_ERROR);\n\t\t\tajaxResponse(1, $message);\n\t\t}\n\t}\n\n\t// Move from PHP tmp file to Bludit tmp directory\n\t$moved = Filesystem::mv($_FILES['images']['tmp_name'][$uuid], PATH_TMP . $filename);\n\tif (!$moved) {\n\t\t$message = 'Error moving uploaded file to temporary directory.';\n\t\tLog::set($message, LOG_TYPE_ERROR);\n\t\tajaxResponse(1, $message);\n\t}\n\n\t// Transform the image and generate the thumbnail\n\t$image = transformImage(PATH_TMP . $filename, $imageDirectory, $thumbnailDirectory);\n\n\tif ($image) {\n\t\tchmod($image, 0644);\n\t\t$filename = Filesystem::filename($image);\n\t\tarray_push($images, $filename);\n\t} else {\n\t\t$message = 'Error after transformImage() function.';\n\t\tLog::set($message, LOG_TYPE_ERROR);\n\t\tajaxResponse(1, $message);\n\t}\n}\n\najaxResponse(0, 'Images uploaded.', array(\n\t'images' => $images\n));\n"
  },
  {
    "path": "bl-kernel/boot/admin.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\n// Start the session\n// If the session is not possible to start the admin area is not available\nSession::start($site->urlPath(), $site->isHTTPS());\nif (Session::started()===false) {\n\texit('Bludit CMS. Session initialization failed.');\n}\n\n$login = new Login();\n\n$layout = array(\n\t'controller'=>null,\n\t'view'=>null,\n\t'template'=>'index.php',\n\t'slug'=>null,\n\t'plugin'=>false,\n\t'parameters'=>null,\n\t'title'=>'Bludit'\n);\n\n// Get the Controller\n$explodeSlug = $url->explodeSlug();\n$layout['controller'] = $layout['view'] = $layout['slug'] = empty($explodeSlug[0])?'dashboard':$explodeSlug[0];\nunset($explodeSlug[0]);\n\n// Get the Plugins\ninclude(PATH_RULES.'60.plugins.php');\n// Check if the user want to access to an admin controller or view from a plugin\nif ($layout['controller'] === 'plugin' && !empty($explodeSlug)) {\n\t// Lowercase plugins class name to search by case-insensitive\n\t$pluginsLowerCases = array_change_key_case($pluginsInstalled);\n\t$pluginName = Text::lowercase(array_shift($explodeSlug));\n\tif (isset($pluginsLowerCases[$pluginName])) {\n\t\t$layout['plugin'] = $pluginsLowerCases[$pluginName];\n\t}\n}\n\n// Get the URL parameters\n$layout['parameters'] = implode('/', $explodeSlug);\n\n// --- AJAX ---\nif ($layout['slug']==='ajax') {\n\tif ($login->isLogged()) {\n\t\t// Rules: Security check CSRF\n\t\tinclude(PATH_RULES.'99.security.php');\n\n\t\t// Load the ajax file\n\t\tif (Sanitize::pathFile(PATH_AJAX, $layout['parameters'].'.php')) {\n\t\t\tinclude(PATH_AJAX.$layout['parameters'].'.php');\n\t\t}\n\t}\n\theader('HTTP/1.1 401 User not logged.');\n\texit(0);\n}\n// --- ADMIN AREA ---\nelse\n{\n\t// Boot rules\n\tinclude(PATH_RULES.'69.pages.php');\n\tinclude(PATH_RULES.'99.header.php');\n\tinclude(PATH_RULES.'99.paginator.php');\n\tinclude(PATH_RULES.'99.themes.php');\n\tinclude(PATH_RULES.'99.security.php');\n\n\t// Page not found.\n\t// User not logged.\n\t// Slug is login.\n\tif ($url->notFound() || !$login->isLogged() || ($url->slug()==='login') ) {\n\t\t$layout['controller']\t= 'login';\n\t\t$layout['view']\t\t\t= 'login';\n\t\t$layout['template']\t\t= 'login.php';\n\n\t\t// Generate the tokenCSRF for the user not logged, when the user log-in the token will be changed.\n\t\t$security->generateTokenCSRF();\n\t}\n\n\t// Define variables\n\t$ADMIN_CONTROLLER \t= $layout['controller'];\n\t$ADMIN_VIEW \t\t= $layout['view'];\n\n\t// Load plugins before the admin area will be load.\n\tTheme::plugins('beforeAdminLoad');\n\n\t// Load init.php if the theme has one.\n\tif (Sanitize::pathFile(PATH_ADMIN_THEMES, $site->adminTheme().DS.'init.php')) {\n\t\tinclude(PATH_ADMIN_THEMES.$site->adminTheme().DS.'init.php');\n\t}\n\n\t// Load controller.\n\tif (Sanitize::pathFile(PATH_ADMIN_CONTROLLERS, $layout['controller'].'.php')) {\n\t\tinclude(PATH_ADMIN_CONTROLLERS.$layout['controller'].'.php');\n\t} elseif ($layout['plugin'] && method_exists($layout['plugin'], 'adminController')) {\n\t\t$layout['plugin']->adminController();\n\t}\n\n\t// Load view and theme.\n\tif (Sanitize::pathFile(PATH_ADMIN_THEMES, $site->adminTheme().DS.$layout['template'])) {\n\t\tinclude(PATH_ADMIN_THEMES.$site->adminTheme().DS.$layout['template']);\n\t}\n\n\t// Load plugins after the admin area is loaded.\n\tTheme::plugins('afterAdminLoad');\n}\n"
  },
  {
    "path": "bl-kernel/boot/init.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\n// Bludit version\ndefine('BLUDIT_VERSION',        '3.21.0');\ndefine('BLUDIT_CODENAME',       'ImperialEagle');\ndefine('BLUDIT_RELEASE_DATE',   '2026-04-25');\ndefine('BLUDIT_BUILD',          '20260425');\n\n// Change to TRUE for debugging\ndefine('DEBUG_MODE', TRUE);\ndefine('DEBUG_TYPE', 'INFO'); // INFO, TRACE\n\n//  This determines whether errors should be printed to the screen as part of the output or if they should be hidden from the user.\nini_set(\"display_errors\", 0);\n\n// Even when display_errors is on, errors that occur during PHP's startup sequence are not displayed.\n// It's strongly recommended to keep display_startup_errors off, except for debugging.\nini_set('display_startup_errors', 0);\n\n//  If disabled, error message will be solely plain text instead HTML code.\nini_set(\"html_errors\", 0);\n\n// Tells whether script error messages should be logged to the server's error log or error_log.\nini_set('log_errors', 1);\n\nif (DEBUG_MODE) {\n\terror_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);\n} else {\n\terror_reporting(E_ERROR);\n}\n\n// PHP paths\n// PATH_ROOT and PATH_BOOT are defined in index.php\ndefine('PATH_LANGUAGES',\t\tPATH_ROOT . 'bl-languages' . DS);\ndefine('PATH_THEMES',\t\t\tPATH_ROOT . 'bl-themes' . DS);\ndefine('PATH_PLUGINS',\t\t\tPATH_ROOT . 'bl-plugins' . DS);\ndefine('PATH_KERNEL',\t\t\tPATH_ROOT . 'bl-kernel' . DS);\ndefine('PATH_CONTENT',\t\t\tPATH_ROOT . 'bl-content' . DS);\n\ndefine('PATH_ABSTRACT',\t\t\tPATH_KERNEL . 'abstract' . DS);\ndefine('PATH_RULES',\t\t\tPATH_KERNEL . 'boot' . DS . 'rules' . DS);\ndefine('PATH_HELPERS',\t\t\tPATH_KERNEL . 'helpers' . DS);\ndefine('PATH_AJAX',\t\t\tPATH_KERNEL . 'ajax' . DS);\ndefine('PATH_CORE_JS',\t\t\tPATH_KERNEL . 'js' . DS);\n\ndefine('PATH_PAGES',\t\t\tPATH_CONTENT . 'pages' . DS);\ndefine('PATH_DATABASES',\t\tPATH_CONTENT . 'databases' . DS);\ndefine('PATH_PLUGINS_DATABASES',\tPATH_CONTENT . 'databases' . DS . 'plugins' . DS);\ndefine('PATH_TMP',\t\t\tPATH_CONTENT . 'tmp' . DS);\ndefine('PATH_UPLOADS',\t\t\tPATH_CONTENT . 'uploads' . DS);\ndefine('PATH_WORKSPACES',\t\tPATH_CONTENT . 'workspaces' . DS);\n\ndefine('PATH_UPLOADS_PAGES',\t\tPATH_UPLOADS . 'pages' . DS);\ndefine('PATH_UPLOADS_PROFILES',\t\tPATH_UPLOADS . 'profiles' . DS);\ndefine('PATH_UPLOADS_THUMBNAILS',\tPATH_UPLOADS . 'thumbnails' . DS);\n\ndefine('PATH_ADMIN',\t\t\tPATH_KERNEL . 'admin' . DS);\ndefine('PATH_ADMIN_THEMES',\t\tPATH_ADMIN . 'themes' . DS);\ndefine('PATH_ADMIN_CONTROLLERS',\tPATH_ADMIN . 'controllers' . DS);\ndefine('PATH_ADMIN_VIEWS',\t\tPATH_ADMIN . 'views' . DS);\n\ndefine('DEBUG_FILE',\t\t\tPATH_CONTENT . 'debug.txt');\n\n// PAGES DATABASE\ndefine('DB_PAGES', PATH_DATABASES . 'pages.php');\ndefine('DB_SITE', PATH_DATABASES . 'site.php');\ndefine('DB_CATEGORIES', PATH_DATABASES . 'categories.php');\ndefine('DB_TAGS', PATH_DATABASES . 'tags.php');\ndefine('DB_SYSLOG', PATH_DATABASES . 'syslog.php');\ndefine('DB_USERS', PATH_DATABASES . 'users.php');\ndefine('DB_SECURITY', PATH_DATABASES . 'security.php');\n\n// User environment variables\ninclude(PATH_KERNEL . 'boot' . DS . 'variables.php');\n\n// Set internal character encoding\nmb_internal_encoding(CHARSET);\n\n// Set HTTP output character encoding\nmb_http_output(CHARSET);\n\n// Inclde Abstract Classes\ninclude(PATH_ABSTRACT . 'dbjson.class.php');\ninclude(PATH_ABSTRACT . 'dblist.class.php');\ninclude(PATH_ABSTRACT . 'plugin.class.php');\n\n// Inclde Classes\ninclude(PATH_KERNEL . 'pages.class.php');\ninclude(PATH_KERNEL . 'users.class.php');\ninclude(PATH_KERNEL . 'tags.class.php');\ninclude(PATH_KERNEL . 'language.class.php');\ninclude(PATH_KERNEL . 'site.class.php');\ninclude(PATH_KERNEL . 'categories.class.php');\ninclude(PATH_KERNEL . 'syslog.class.php');\ninclude(PATH_KERNEL . 'pagex.class.php');\ninclude(PATH_KERNEL . 'category.class.php');\ninclude(PATH_KERNEL . 'tag.class.php');\ninclude(PATH_KERNEL . 'user.class.php');\ninclude(PATH_KERNEL . 'url.class.php');\ninclude(PATH_KERNEL . 'login.class.php');\ninclude(PATH_KERNEL . 'parsedown.class.php');\ninclude(PATH_KERNEL . 'security.class.php');\n\n// Include functions\ninclude(PATH_KERNEL . 'functions.php');\n\n// Include Helpers Classes\ninclude(PATH_HELPERS . 'text.class.php');\ninclude(PATH_HELPERS . 'log.class.php');\ninclude(PATH_HELPERS . 'date.class.php');\ninclude(PATH_HELPERS . 'theme.class.php');\ninclude(PATH_HELPERS . 'session.class.php');\ninclude(PATH_HELPERS . 'redirect.class.php');\ninclude(PATH_HELPERS . 'sanitize.class.php');\ninclude(PATH_HELPERS . 'valid.class.php');\ninclude(PATH_HELPERS . 'email.class.php');\ninclude(PATH_HELPERS . 'filesystem.class.php');\ninclude(PATH_HELPERS . 'alert.class.php');\ninclude(PATH_HELPERS . 'paginator.class.php');\ninclude(PATH_HELPERS . 'image.class.php');\ninclude(PATH_HELPERS . 'tcp.class.php');\ninclude(PATH_HELPERS . 'dom.class.php');\ninclude(PATH_HELPERS . 'cookie.class.php');\n/**\n * ---------------------------------------------------------------------------\n * If you have bypassed the license check, I understand.\n * But please consider supporting the project on Patreon if you use this\n * commercially. It helps me keep the core free for everyone.\n * ---------------------------------------------------------------------------\n */\ndefine('BLUDIT_PRO_HASH', substr(md5(BLUDIT_BUILD), 0, 8));\n$_bluditProFile = PATH_KERNEL . 'bludit.pro.' . BLUDIT_PRO_HASH . '.php';\nif (file_exists($_bluditProFile)) {\n\tinclude($_bluditProFile);\n}\nunset($_bluditProFile);\n\n// Objects\n$pages \t\t= new Pages();\n$users \t\t= new Users();\n$tags \t\t= new Tags();\n$categories = new Categories();\n$site  \t\t= new Site();\n$url\t\t= new Url();\n$security\t= new Security();\n$syslog \t= new Syslog();\n\n// --- Relative paths ---\n// These paths are relative for the user / web browsing.\n\n// Base URL\n// The user can define the base URL.\n// Left empty if you want to Bludit try to detect the base URL.\n$base = '';\n\nif (!empty($_SERVER['DOCUMENT_ROOT']) && !empty($_SERVER['SCRIPT_NAME']) && empty($base)) {\n\t$base = str_replace($_SERVER['DOCUMENT_ROOT'], '', $_SERVER['SCRIPT_NAME']);\n\t$base = dirname($base);\n} elseif (empty($base)) {\n\t$base = empty($_SERVER['SCRIPT_NAME']) ? $_SERVER['PHP_SELF'] : $_SERVER['SCRIPT_NAME'];\n\t$base = dirname($base);\n}\n\nif (strpos($_SERVER['REQUEST_URI'], $base) !== 0) {\n\t$base = '/';\n} elseif ($base != DS) {\n\t$base = trim($base, '/');\n\t$base = '/' . $base . '/';\n} else {\n\t// Workaround for Windows Web Servers\n\t$base = '/';\n}\n\ndefine('HTML_PATH_ROOT', \t\t$base);\ndefine('HTML_PATH_THEMES',\t\tHTML_PATH_ROOT . 'bl-themes/');\ndefine('HTML_PATH_THEME',\t\tHTML_PATH_THEMES . $site->theme() . '/');\ndefine('HTML_PATH_THEME_CSS',\t\tHTML_PATH_THEME . 'css/');\ndefine('HTML_PATH_THEME_JS',\t\tHTML_PATH_THEME . 'js/');\ndefine('HTML_PATH_THEME_IMG',\t\tHTML_PATH_THEME . 'img/');\ndefine('HTML_PATH_ADMIN_ROOT',\t\tHTML_PATH_ROOT . ADMIN_URI_FILTER . '/');\ndefine('HTML_PATH_ADMIN_THEME',\t\tHTML_PATH_ROOT . 'bl-kernel/admin/themes/' . $site->adminTheme() . '/');\ndefine('HTML_PATH_ADMIN_THEME_JS',\tHTML_PATH_ADMIN_THEME . 'js/');\ndefine('HTML_PATH_ADMIN_THEME_CSS',\tHTML_PATH_ADMIN_THEME . 'css/');\ndefine('HTML_PATH_CORE_JS',\t\tHTML_PATH_ROOT . 'bl-kernel/js/');\ndefine('HTML_PATH_CORE_CSS',\t\tHTML_PATH_ROOT . 'bl-kernel/css/');\ndefine('HTML_PATH_CORE_IMG',\t\tHTML_PATH_ROOT . 'bl-kernel/img/');\ndefine('HTML_PATH_CONTENT',\t\tHTML_PATH_ROOT . 'bl-content/');\ndefine('HTML_PATH_UPLOADS',\t\tHTML_PATH_ROOT . 'bl-content/uploads/');\ndefine('HTML_PATH_UPLOADS_PAGES',\tHTML_PATH_UPLOADS . 'pages/');\ndefine('HTML_PATH_UPLOADS_PROFILES',\tHTML_PATH_UPLOADS . 'profiles/');\ndefine('HTML_PATH_UPLOADS_THUMBNAILS',\tHTML_PATH_UPLOADS . 'thumbnails/');\ndefine('HTML_PATH_PLUGINS',\t\tHTML_PATH_ROOT . 'bl-plugins/');\n\n// --- Objects with dependency ---\n$language = new Language($site->language());\n$url->checkFilters($site->uriFilters());\n\n// --- CONSTANTS with dependency ---\n\n// Tag URI filter\ndefine('TAG_URI_FILTER', $url->filters('tag'));\n\n// Category URI filter\ndefine('CATEGORY_URI_FILTER', $url->filters('category'));\n\n// Page URI filter\ndefine('PAGE_URI_FILTER', $url->filters('page'));\n\n// Content order by: date / position\ndefine('ORDER_BY', $site->orderBy());\n\n// Allow unicode characters in the URL\ndefine('EXTREME_FRIENDLY_URL', $site->extremeFriendly());\n\n// Minutes to execute the autosave function\ndefine('AUTOSAVE_INTERVAL', $site->autosaveInterval());\n\n// TRUE for upload images restric to a pages, FALSE to upload images in common\ndefine('IMAGE_RESTRICT', $site->imageRestrict());\n\n// TRUE to convert relatives images to absoultes, FALSE No changes apply\ndefine('IMAGE_RELATIVE_TO_ABSOLUTE', $site->imageRelativeToAbsolute());\n\n// TRUE if the markdown parser is enabled\ndefine('MARKDOWN_PARSER', $site->markdownParser());\n\n// --- PHP paths with dependency ---\n// These paths are absolutes for the OS\ndefine('THEME_DIR',\t\t\tPATH_ROOT . 'bl-themes' . DS . $site->theme() . DS);\ndefine('THEME_DIR_PHP',\t\t\tTHEME_DIR . 'php' . DS);\ndefine('THEME_DIR_CSS',\t\t\tTHEME_DIR . 'css' . DS);\ndefine('THEME_DIR_JS',\t\t\tTHEME_DIR . 'js' . DS);\ndefine('THEME_DIR_IMG',\t\t\tTHEME_DIR . 'img' . DS);\ndefine('THEME_DIR_LANG',\t\tTHEME_DIR . 'languages' . DS);\n\n// --- Absolute paths with domain ---\n// These paths are absolutes for the user / web browsing.\ndefine('DOMAIN',\t\t\t$site->domain());\ndefine('DOMAIN_BASE',\t\t\tDOMAIN . HTML_PATH_ROOT);\ndefine('DOMAIN_CORE_JS',\t\tDOMAIN . HTML_PATH_CORE_JS);\ndefine('DOMAIN_CORE_CSS',\t\tDOMAIN . HTML_PATH_CORE_CSS);\ndefine('DOMAIN_THEME',\t\t\tDOMAIN . HTML_PATH_THEME);\ndefine('DOMAIN_THEME_CSS',\t\tDOMAIN . HTML_PATH_THEME_CSS);\ndefine('DOMAIN_THEME_JS',\t\tDOMAIN . HTML_PATH_THEME_JS);\ndefine('DOMAIN_THEME_IMG',\t\tDOMAIN . HTML_PATH_THEME_IMG);\ndefine('DOMAIN_ADMIN_THEME',\t\tDOMAIN . HTML_PATH_ADMIN_THEME);\ndefine('DOMAIN_ADMIN_THEME_CSS',\tDOMAIN . HTML_PATH_ADMIN_THEME_CSS);\ndefine('DOMAIN_ADMIN_THEME_JS',\t\tDOMAIN . HTML_PATH_ADMIN_THEME_JS);\ndefine('DOMAIN_UPLOADS',\t\tDOMAIN . HTML_PATH_UPLOADS);\ndefine('DOMAIN_UPLOADS_PAGES',\t\tDOMAIN . HTML_PATH_UPLOADS_PAGES);\ndefine('DOMAIN_UPLOADS_PROFILES',\tDOMAIN . HTML_PATH_UPLOADS_PROFILES);\ndefine('DOMAIN_UPLOADS_THUMBNAILS',\tDOMAIN . HTML_PATH_UPLOADS_THUMBNAILS);\ndefine('DOMAIN_PLUGINS',\t\tDOMAIN . HTML_PATH_PLUGINS);\ndefine('DOMAIN_CONTENT',\t\tDOMAIN . HTML_PATH_CONTENT);\n\ndefine('DOMAIN_ADMIN',\t\t\tDOMAIN_BASE . ADMIN_URI_FILTER . '/');\n\ndefine('DOMAIN_TAGS',\t\t\tText::addSlashes(DOMAIN_BASE . TAG_URI_FILTER, false, true));\ndefine('DOMAIN_CATEGORIES',\t\tText::addSlashes(DOMAIN_BASE . CATEGORY_URI_FILTER, false, true));\ndefine('DOMAIN_PAGES',\t\t\tText::addSlashes(DOMAIN_BASE . PAGE_URI_FILTER, false, true));\n\n$ADMIN_CONTROLLER = '';\n$ADMIN_VIEW = '';\n$ID_EXECUTION = uniqid(); // string 13 characters long\n$WHERE_AM_I = $url->whereAmI();\n\n// --- Objects shortcuts ---\n$L = $language;\n\n// DEBUG: Print constants\n// $arr = array_filter(get_defined_constants(), 'is_string');\n// echo json_encode($arr);\n// exit;\n"
  },
  {
    "path": "bl-kernel/boot/rules/60.plugins.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\n// ============================================================================\n// Variables\n// ============================================================================\n\n$plugins = array(\n\t'siteHead'=>array(),\n\t'siteBodyBegin'=>array(),\n\t'siteBodyEnd'=>array(),\n\t'siteSidebar'=>array(),\n\t'beforeSiteLoad'=>array(),\n\t'afterSiteLoad'=>array(),\n\n\t'pageBegin'=>array(),\n\t'pageEnd'=>array(),\n\n\t'beforeAdminLoad'=>array(),\n\t'afterAdminLoad'=>array(),\n\t'adminHead'=>array(),\n\t'adminBodyBegin'=>array(),\n\t'adminBodyEnd'=>array(),\n\t'adminSidebar'=>array(),\n\t'adminContentSidebar'=>array(),\n\t'dashboard'=>array(),\n\t'editorToolbar'=>array(),\n\n\t'beforeAll'=>array(),\n\t'afterAll'=>array(),\n\n\t'paginator'=>array(),\n\n\t'afterPageCreate'=>array(),\n\t'afterPageModify'=>array(),\n\t'afterPageDelete'=>array(),\n\n\t'loginHead'=>array(),\n\t'loginBodyBegin'=>array(),\n\t'loginBodyEnd'=>array(),\n\n\t'all'=>array()\n);\n\n$pluginsEvents = $plugins;\nunset($pluginsEvents['all']);\n\n$pluginsInstalled = array();\n\n// ============================================================================\n// Functions\n// ============================================================================\n\nfunction buildPlugins()\n{\n\tglobal $plugins;\n\tglobal $pluginsEvents;\n\tglobal $pluginsInstalled;\n\tglobal $L;\n\tglobal $site;\n\n\t// Get declared clasess BEFORE load plugins clasess\n\t$currentDeclaredClasess = get_declared_classes();\n\n\t// List plugins directories\n\t$list = Filesystem::listDirectories(PATH_PLUGINS);\n\t// Load each plugin clasess\n\tforeach ($list as $pluginPath) {\n\t\t// Check if the directory has the plugin.php\n\t\tif (file_exists($pluginPath.DS.'plugin.php')) {\n\t\t\tinclude_once($pluginPath.DS.'plugin.php');\n\t\t}\n\t}\n\n\t// Get plugins clasess loaded\n\t$pluginsDeclaredClasess = array_diff(get_declared_classes(), $currentDeclaredClasess);\n\n\tforeach ($pluginsDeclaredClasess as $pluginClass) {\n\t\t$Plugin = new $pluginClass;\n\n\t\t// Check if the plugin is translated\n\t\t$languageFilename = PATH_PLUGINS.$Plugin->directoryName().DS.'languages'.DS.$site->language().'.json';\n\t\tif (!Sanitize::pathFile($languageFilename)) {\n\t\t\t$languageFilename = PATH_PLUGINS.$Plugin->directoryName().DS.'languages'.DS.DEFAULT_LANGUAGE_FILE;\n\t\t}\n\n\t\t$database = file_get_contents($languageFilename);\n\t\t$database = json_decode($database, true);\n\n\t\t// Set name and description from the language file\n\t\t$Plugin->setMetadata('name',$database['plugin-data']['name']);\n\t\t$Plugin->setMetadata('description',$database['plugin-data']['description']);\n\n\t\t// Remove name and description from the language file loaded and add new words if there are\n\t\t// This function overwrite the key=>value\n\t\tunset($database['plugin-data']);\n\t\tif (!empty($database)) {\n\t\t\t$L->add($database);\n\t\t}\n\n\t\t// $plugins['all'] Array with all plugins, installed and not installed\n\t\t$plugins['all'][$pluginClass] = $Plugin;\n\n\t\t// If the plugin is installed insert on the hooks\n\t\tif ($Plugin->installed()) {\n\t\t\t// Include custom hooks\n\t\t\tif (!empty($Plugin->customHooks)) {\n\t\t\t\tforeach ($Plugin->customHooks as $customHook) {\n\t\t\t\t\tif (!isset($plugins[$customHook])) {\n\t\t\t\t\t\t$plugins[$customHook] = array();\n\t\t\t\t\t\t$pluginsEvents[$customHook] = array();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t$pluginsInstalled[$pluginClass] = $Plugin;\n\t\t\tforeach ($pluginsEvents as $event=>$value) {\n\t\t\t\tif (method_exists($Plugin, $event)) {\n\t\t\t\t\tarray_push($plugins[$event], $Plugin);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Sort the plugins by the position for the site sidebar\n\t\tuasort($plugins['siteSidebar'], function ($a, $b) {\n\t\t\t\treturn $a->position() <=> $b->position();\n\t\t\t}\n\t\t);\n\t}\n}\n\n// ============================================================================\n// Main\n// ============================================================================\n\nbuildPlugins();\n"
  },
  {
    "path": "bl-kernel/boot/rules/60.router.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\n// Redirect admin, from /admin to /admin/\nif ($url->uri()==HTML_PATH_ROOT.ADMIN_URI_FILTER) {\n\tRedirect::url(DOMAIN_ADMIN);\n}\n\n// Redirect blog, from /blog to /blog/\n// This rule only works when the user set a page as homepage\nif ($url->uri()==HTML_PATH_ROOT.'blog' && $site->homepage()) {\n\t$filter = $url->filters('blog');\n\t$finalURL = Text::addSlashes(DOMAIN_BASE.$filter, false, true);\n\tRedirect::url($finalURL);\n}\n\n// Redirect pages, from /my-page/ to /my-page\nif ($url->whereAmI()=='page' && !$url->notFound()) {\n\t$pageKey = $url->slug();\n\tif (Text::endsWith($pageKey, '/')) {\n\t\t$pageKey = rtrim($pageKey, '/');\n\t\tRedirect::url(DOMAIN_PAGES.$pageKey);\n\t}\n}\n"
  },
  {
    "path": "bl-kernel/boot/rules/69.pages.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\n// ============================================================================\n// Variables\n// ============================================================================\n\n// Array with pages, each page is a Page Object\n// Filtered by pagenumber, number of items per page and sorted by date/position\n/*\n\tarray(\n\t\t0 => Page Object,\n\t\t1 => Page Object,\n\t\t...\n\t\tN => Page Object\n\t)\n*/\n$content = array();\n\n// Page filtered by the user, is a Page Object\n$page = false;\n\n// Array with static content, each item is a Page Object\n// Order by position\n/*\n\tarray(\n\t\t0 => Page Object,\n\t\t1 => Page Object,\n\t\t...\n\t\tN => Page Object\n\t)\n*/\n$staticContent = $staticPages = buildStaticPages();\n\n// ============================================================================\n// Main\n// ============================================================================\n\n// Execute the scheduler\nif ($pages->scheduler()) {\n\t// Execute plugins with the hook afterPageCreate\n\tTheme::plugins('afterPageCreate');\n\n\treindexTags();\n        reindexCategories();\n\n\t// Add to syslog\n\t$syslog->add(array(\n\t\t'dictionaryKey'=>'content-published-from-scheduler',\n\t\t'notes'=>''\n\t));\n}\n\n// Set home page if the user defined one\nif ($site->homepage() && $url->whereAmI()==='home') {\n\t$pageKey = $site->homepage();\n\tif ($pages->exists($pageKey)) {\n\t\t$url->setSlug($pageKey);\n\t\t$content[0] = $page = buildThePage();\n\t}\n}\n\n// Build specific page\nelseif ($url->whereAmI()==='page') {\n\t$content[0] = $page = buildThePage();\n}\n// Build content by tag\nelseif ($url->whereAmI()==='tag') {\n\t$content = buildPagesByTag();\n}\n// Build content by category\nelseif ($url->whereAmI()==='category') {\n\t$content = buildPagesByCategory();\n}\n// Build content for the homepage\nelseif ( ($url->whereAmI()==='home') || ($url->whereAmI()==='blog') ) {\n        $content = buildPagesForHome();\n}\n\nif (isset($content[0])) {\n\t$page = $content[0];\n}\n\n// If set notFound, create the page 404\nif ($url->notFound()) {\n\t$content[0] = $page = buildErrorPage();\n}\n"
  },
  {
    "path": "bl-kernel/boot/rules/99.header.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\nheader('HTTP/1.0 '.$url->httpCode().' '.$url->httpMessage());\nheader('X-Powered-By: Bludit');\n"
  },
  {
    "path": "bl-kernel/boot/rules/99.paginator.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\n// Current page number\n$currentPage = $url->pageNumber();\nPaginator::set('currentPage', $currentPage);\n\nif ($url->whereAmI()=='admin') {\n\t$itemsPerPage = ITEMS_PER_PAGE_ADMIN;\n\t$numberOfItems = $pages->count(true);\n} elseif ($url->whereAmI()=='tag') {\n\t$itemsPerPage = $site->itemsPerPage();\n\t$tagKey = $url->slug();\n\t$numberOfItems = $tags->numberOfPages($tagKey);\n} elseif ($url->whereAmI()=='category') {\n\t$itemsPerPage = $site->itemsPerPage();\n\t$categoryKey = $url->slug();\n\t$numberOfItems = $categories->numberOfPages($categoryKey);\n} else {\n\t$itemsPerPage = $site->itemsPerPage();\n\t$numberOfItems = $pages->count(true);\n}\n\n// Execute hook from plugins\nTheme::plugins('paginator');\n\n// Items per page\nPaginator::set('itemsPerPage', $itemsPerPage);\n\n// Amount of items\nPaginator::set('numberOfItems', $numberOfItems);\n\n// Amount of pages\n$numberOfPages = (int) max(ceil($numberOfItems / $itemsPerPage), 1);\nPaginator::set('numberOfPages', $numberOfPages);\n\n// TRUE if exists a next page to show\n$showNext = $numberOfPages > $currentPage;\nPaginator::set('showNext', $showNext);\n\n// TRUE if exists a previous page to show\n$showPrev = $currentPage > Paginator::firstPage();\nPaginator::set('showPrev', $showPrev);\n\n// TRUE if exists a next and previous page to show\n$showNextPrev = $showNext && $showPrev;\nPaginator::set('showNextPrev', $showNextPrev);\n\n// Integer with the next page\n$nextPage = max(0, $currentPage+1);\nPaginator::set('nextPage', $nextPage);\n\n// Integer with the previous page\n$prevPage = min($numberOfPages, $currentPage-1);\nPaginator::set('prevPage', $prevPage);\n"
  },
  {
    "path": "bl-kernel/boot/rules/99.security.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\n// ============================================================================\n// Variables\n// ============================================================================\n\n// ============================================================================\n// Functions\n// ============================================================================\n\n// ============================================================================\n// Main before POST\n// ============================================================================\n\n// ============================================================================\n// POST Method\n// ============================================================================\n\nif ($_SERVER['REQUEST_METHOD'] == 'POST') {\n\t$token = isset($_POST['tokenCSRF']) ? Sanitize::html($_POST['tokenCSRF']) : false;\n\tif (!$security->validateTokenCSRF($token)) {\n\t\tLog::set(__FILE__.LOG_SEP.'Error occurred when trying to validate the tokenCSRF.', ALERT_STATUS_FAIL);\n\t\tLog::set(__FILE__.LOG_SEP.'Token via POST ['.$token.']', ALERT_STATUS_FAIL);\n\n\t\tSession::destroy();\n\t\tRedirect::page('login');\n\t} else {\n\t\tunset( $_POST['tokenCSRF'] );\n\t}\n}\n\n// ============================================================================\n// Main after POST\n// ============================================================================\n"
  },
  {
    "path": "bl-kernel/boot/rules/99.themes.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\n// ============================================================================\n// Variables\n// ============================================================================\n$themePlugin = getPlugin($site->theme()); // Returns plugin object or False\n\n// ============================================================================\n// Functions\n// ============================================================================\n\nfunction buildThemes()\n{\n\tglobal $site;\n\n\t$themes = array();\n\t$themesPaths = Filesystem::listDirectories(PATH_THEMES);\n\n\tforeach ($themesPaths as $themePath) {\n\t\t// Check if the theme is translated.\n\t\t$languageFilename = $themePath . DS . 'languages' . DS . $site->language() . '.json';\n\t\tif (!Sanitize::pathFile($languageFilename)) {\n\t\t\t$languageFilename = $themePath . DS . 'languages' . DS . DEFAULT_LANGUAGE_FILE;\n\t\t}\n\n\t\tif (Sanitize::pathFile($languageFilename)) {\n\t\t\t$database = file_get_contents($languageFilename);\n\t\t\t$database = json_decode($database, true);\n\t\t\tif (empty($database)) {\n\t\t\t\tLog::set('99.themes.php' . LOG_SEP . 'Language file error on theme ' . $themePath);\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\t$database = $database['theme-data'];\n\n\t\t\t$database['dirname'] = basename($themePath);\n\n\t\t\t// --- Metadata ---\n\t\t\t$filenameMetadata = $themePath . DS . 'metadata.json';\n\n\t\t\tif (Sanitize::pathFile($filenameMetadata)) {\n\t\t\t\t$metadataString = file_get_contents($filenameMetadata);\n\t\t\t\t$metadata = json_decode($metadataString, true);\n\n\t\t\t\t$database['compatible'] = false;\n\t\t\t\tif (!empty($metadata['compatible'])) {\n\t\t\t\t\t$bluditRoot = explode('.', BLUDIT_VERSION);\n\t\t\t\t\t$compatible = explode(',', $metadata['compatible']);\n\t\t\t\t\tforeach ($compatible as $version) {\n\t\t\t\t\t\t$root = explode('.', $version);\n\t\t\t\t\t\tif ($root[0] == $bluditRoot[0] && $root[1] == $bluditRoot[1]) {\n\t\t\t\t\t\t\t$database['compatible'] = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t$database = $database + $metadata;\n\t\t\t\tarray_push($themes, $database);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn $themes;\n}\n\n// ============================================================================\n// Main\n// ============================================================================\n\n// Load the language file\n$languageFilename = THEME_DIR . 'languages' . DS . $site->language() . '.json';\nif (!Sanitize::pathFile($languageFilename)) {\n\t$languageFilename = THEME_DIR . 'languages' . DS . DEFAULT_LANGUAGE_FILE;\n}\n\nif (Sanitize::pathFile($languageFilename)) {\n\t$database = file_get_contents($languageFilename);\n\t$database = json_decode($database, true);\n\n\t// Remote the name and description.\n\tunset($database['theme-data']);\n\n\t// Load words from the theme language\n\tif (!empty($database)) {\n\t\t$L->add($database);\n\t}\n}\n"
  },
  {
    "path": "bl-kernel/boot/site.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\n// Load plugins rules\ninclude(PATH_RULES.'60.plugins.php');\n\n// Plugins before all\nTheme::plugins('beforeAll');\n\n// Load rules\ninclude(PATH_RULES.'60.router.php');\ninclude(PATH_RULES.'69.pages.php');\ninclude(PATH_RULES.'99.header.php');\ninclude(PATH_RULES.'99.paginator.php');\ninclude(PATH_RULES.'99.themes.php');\n\n// Plugins before site loaded\nTheme::plugins('beforeSiteLoad');\n\n// Theme init.php\nif (Sanitize::pathFile(PATH_THEMES, $site->theme().DS.'init.php')) {\n\tinclude(PATH_THEMES.$site->theme().DS.'init.php');\n}\n\n// Theme HTML\nif (Sanitize::pathFile(PATH_THEMES, $site->theme().DS.'index.php')) {\n\tinclude(PATH_THEMES.$site->theme().DS.'index.php');\n} else {\n\t$L->p('Please check your theme configuration in the admin panel. Check for an active theme.');\n}\n\n// Plugins after site loaded\nTheme::plugins('afterSiteLoad');\n\n// Plugins after all\nTheme::plugins('afterAll');\n"
  },
  {
    "path": "bl-kernel/boot/variables.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\n/*\n\tEnvironment variables\n\tIf you are going to do some changes is recommended do it before the installation\n*/\n\n// Log\ndefine('LOG_SEP', ' | ');\ndefine('LOG_TYPE_INFO', '[INFO]');\ndefine('LOG_TYPE_WARN', '[WARN]');\ndefine('LOG_TYPE_ERROR', '[ERROR]');\n\n// Protecting against Symlink attacks\ndefine('CHECK_SYMBOLIC_LINKS', TRUE);\n\n// Alert status ok\ndefine('ALERT_STATUS_OK', 0);\n\n// Alert status fail\ndefine('ALERT_STATUS_FAIL', 1);\n\n// Profile image size\ndefine('PROFILE_IMG_WIDTH', 400);\ndefine('PROFILE_IMG_HEIGHT', 400);\ndefine('PROFILE_IMG_QUALITY', 100); // 100%\n\n// Items per page for admin area\ndefine('ITEMS_PER_PAGE_ADMIN', 20);\n\n// Password length\ndefine('PASSWORD_LENGTH', 6);\n\n// Password salt length\ndefine('SALT_LENGTH', 8);\n\n// Page brake string\ndefine('PAGE_BREAK', '<!-- pagebreak -->');\n\n// Remember me\ndefine('REMEMBER_COOKIE_USERNAME', 'BLUDITREMEMBERUSERNAME');\ndefine('REMEMBER_COOKIE_TOKEN', 'BLUDITREMEMBERTOKEN');\ndefine('REMEMBER_COOKIE_EXPIRE_IN_DAYS', 30);\n\n// Filename\ndefine('FILENAME', 'index.txt');\n\n// Database date format\ndefine('DB_DATE_FORMAT', 'Y-m-d H:i:s');\n\n// Database date format\ndefine('BACKUP_DATE_FORMAT', 'Y-m-d-H-i-s');\n\n// Sitemap date format\ndefine('SITEMAP_DATE_FORMAT', 'Y-m-d');\n\n// Date format for Manage Content, Manage Users\ndefine('ADMIN_PANEL_DATE_FORMAT', 'D, j M Y, H:i');\n\n// Date format for Dashboard schedule posts\ndefine('SCHEDULED_DATE_FORMAT', 'D, j M Y, H:i');\n\n// Notifications date format\ndefine('NOTIFICATIONS_DATE_FORMAT', 'D, j M Y, H:i');\n\n// Manage content date format\ndefine('MANAGE_CONTENT_DATE_FORMAT', 'D, j M Y, H:i');\n\n// Amount of items to show on notification panel\ndefine('NOTIFICATIONS_AMOUNT', 10);\n\n// Token time to live for login via email. The offset is defined by http://php.net/manual/en/datetime.modify.php\ndefine('TOKEN_EMAIL_TTL', '+15 minutes');\n\n// Charset, default UTF-8.\ndefine('CHARSET', 'UTF-8');\n\n// Permissions for new directories\ndefine('DIR_PERMISSIONS', 0755);\n\n// Admin URI filter to access to the admin panel\ndefine('ADMIN_URI_FILTER', 'admin');\n\n// Default language file, in this case is English\ndefine('DEFAULT_LANGUAGE_FILE', 'en.json');\n\n// Session timeout server side, gc_maxlifetime\n// 3600 = 1hour\ndefine('SESSION_GC_MAXLIFETIME', 3600);\n\n// Session lifetime of the cookie in seconds which is sent to the browser\n// The value 0 means until the browser is closed\ndefine('SESSION_COOKIE_LIFE_TIME', 0);\n\n// Alert notification disappear in X seconds\ndefine('ALERT_DISAPPEAR_IN', 3);\n\n// Number of images to show in the media manager per page\ndefine('MEDIA_MANAGER_NUMBER_OF_FILES', 5);\n\n// Sort the image by date\ndefine('MEDIA_MANAGER_SORT_BY_DATE', true);\n\n// Constant arrays using define are not allowed in PHP 5.6 or earlier\n\n// Type of pages included in the tag database\n$GLOBALS['DB_TAGS_TYPES'] = array('published','static','sticky');\n\n// Allowed image extensions — used by image upload endpoints (logo, profile picture, upload-images) and transformImage()\n$GLOBALS['ALLOWED_IMG_EXTENSION'] = array('gif', 'png', 'jpg', 'jpeg', 'svg', 'webp');\n\n// Allowed image mime types\n$GLOBALS['ALLOWED_IMG_MIMETYPES'] = array('image/gif', 'image/png', 'image/jpeg', 'image/svg+xml', 'image/webp');\n\n// Allowed file extensions — used by API file upload and any non-image upload endpoint\n$GLOBALS['ALLOWED_FILE_EXTENSIONS'] = array('gif', 'png', 'jpg', 'jpeg', 'webp', 'pdf', 'txt', 'doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx', 'zip', 'tar', 'gz', 'mp3', 'mp4', 'wav', 'ogg', 'json', 'md');\n"
  },
  {
    "path": "bl-kernel/categories.class.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\nclass Categories extends dbList {\n\n\tfunction __construct()\n\t{\n\t\tparent::__construct(DB_CATEGORIES);\n\t}\n\n\tfunction numberOfPages($key)\n\t{\n\t\treturn $this->countItems($key);\n\t}\n\n\tpublic function reindex()\n\t{\n\t\tglobal $pages;\n\n\t\t// Foreach category\n\t\tforeach ($this->db as $key=>$value) {\n\t\t\t$this->db[$key]['list'] = array();\n\t\t}\n\n\t\t// Get pages database\n\t\t$db = $pages->getDB(false);\n\t\tforeach ($db as $pageKey=>$pageFields) {\n\t\t\tif (!empty($pageFields['category'])) {\n\t\t\t\t$categoryKey = $pageFields['category'];\n\t\t\t\tif (isset($this->db[$categoryKey]['list'])) {\n\t\t\t\t\tif (\n\t\t\t\t\t\t($db[$pageKey]['type']=='published') ||\n\t\t\t\t\t\t($db[$pageKey]['type']=='sticky') ||\n\t\t\t\t\t\t($db[$pageKey]['type']=='static')\n\t\t\t\t\t) {\n\t\t\t\t\t\tarray_push($this->db[$categoryKey]['list'], $pageKey);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn $this->save();\n\t}\n}"
  },
  {
    "path": "bl-kernel/category.class.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\nclass Category {\n\n\tprotected $vars;\n\n\tfunction __construct($key)\n\t{\n\t\tglobal $categories;\n\t\tif (isset($categories->db[$key])) {\n\t\t\t$this->vars['name'] \t\t= $categories->db[$key]['name'];\n\t\t\t$this->vars['template'] \t= $categories->db[$key]['template'];\n\t\t\t$this->vars['description'] \t= $categories->db[$key]['description'];\n\t\t\t$this->vars['key'] \t\t= $key;\n\t\t\t$this->vars['permalink'] \t= DOMAIN_CATEGORIES . $key;\n\t\t\t$this->vars['list'] \t\t= $categories->db[$key]['list'];\n\t\t} else {\n\t\t\t$errorMessage = 'Category not found in database by key ['.$key.']';\n\t\t\tLog::set(__METHOD__.LOG_SEP.$errorMessage);\n\t\t\tthrow new Exception($errorMessage);\n\t\t}\n\t}\n\n\tpublic function getValue($field)\n\t{\n\t\tif (isset($this->vars[$field])) {\n\t\t\treturn $this->vars[$field];\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic function key()\n\t{\n\t\treturn $this->getValue('key');\n\t}\n\n\tpublic function name()\n\t{\n\t\treturn $this->getValue('name');\n\t}\n\n\tpublic function permalink()\n\t{\n\t\treturn $this->getValue('permalink');\n\t}\n\n\tpublic function template()\n\t{\n\t\treturn $this->getValue('template');\n\t}\n\n\tpublic function description()\n\t{\n\t\treturn $this->getValue('description');\n\t}\n\n\t// Returns an array with the keys of pages linked to the category\n\tpublic function pages()\n\t{\n\t\treturn $this->getValue('list');\n\t}\n\n\t// Returns an array in json format with all the data of the tag\n\tpublic function json($returnsArray=false)\n\t{\n\t\t$tmp['key'] \t\t= $this->key();\n\t\t$tmp['name'] \t\t= $this->name();\n\t\t$tmp['description'] \t= $this->description();\n\t\t$tmp['permalink'] \t= $this->permalink();\n\t\t$tmp['pages'] \t\t= $this->pages();\n\n\t\tif ($returnsArray) {\n\t\t\treturn $tmp;\n\t\t}\n\n\t\treturn json_encode($tmp);\n\t}\n}"
  },
  {
    "path": "bl-kernel/css/bootstrap-icons/bootstrap-icons.css",
    "content": "@font-face {\n  font-family: \"bootstrap-icons\";\n  src: url(\"./fonts/bootstrap-icons.woff2?8bd4575acf83c7696dc7a14a966660a3\") format(\"woff2\"),\nurl(\"./fonts/bootstrap-icons.woff?8bd4575acf83c7696dc7a14a966660a3\") format(\"woff\");\n}\n\n[class^=\"bi-\"]::before,\n[class*=\" bi-\"]::before {\n  display: inline-block;\n  font-family: bootstrap-icons !important;\n  font-style: normal;\n  font-weight: normal !important;\n  font-variant: normal;\n  text-transform: none;\n  line-height: 1;\n  vertical-align: -.125em;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n}\n\n.bi-alarm-fill::before { content: \"\\f101\"; }\n.bi-alarm::before { content: \"\\f102\"; }\n.bi-align-bottom::before { content: \"\\f103\"; }\n.bi-align-center::before { content: \"\\f104\"; }\n.bi-align-end::before { content: \"\\f105\"; }\n.bi-align-middle::before { content: \"\\f106\"; }\n.bi-align-start::before { content: \"\\f107\"; }\n.bi-align-top::before { content: \"\\f108\"; }\n.bi-alt::before { content: \"\\f109\"; }\n.bi-app-indicator::before { content: \"\\f10a\"; }\n.bi-app::before { content: \"\\f10b\"; }\n.bi-archive-fill::before { content: \"\\f10c\"; }\n.bi-archive::before { content: \"\\f10d\"; }\n.bi-arrow-90deg-down::before { content: \"\\f10e\"; }\n.bi-arrow-90deg-left::before { content: \"\\f10f\"; }\n.bi-arrow-90deg-right::before { content: \"\\f110\"; }\n.bi-arrow-90deg-up::before { content: \"\\f111\"; }\n.bi-arrow-bar-down::before { content: \"\\f112\"; }\n.bi-arrow-bar-left::before { content: \"\\f113\"; }\n.bi-arrow-bar-right::before { content: \"\\f114\"; }\n.bi-arrow-bar-up::before { content: \"\\f115\"; }\n.bi-arrow-clockwise::before { content: \"\\f116\"; }\n.bi-arrow-counterclockwise::before { content: \"\\f117\"; }\n.bi-arrow-down-circle-fill::before { content: \"\\f118\"; }\n.bi-arrow-down-circle::before { content: \"\\f119\"; }\n.bi-arrow-down-left-circle-fill::before { content: \"\\f11a\"; }\n.bi-arrow-down-left-circle::before { content: \"\\f11b\"; }\n.bi-arrow-down-left-square-fill::before { content: \"\\f11c\"; }\n.bi-arrow-down-left-square::before { content: \"\\f11d\"; }\n.bi-arrow-down-left::before { content: \"\\f11e\"; }\n.bi-arrow-down-right-circle-fill::before { content: \"\\f11f\"; }\n.bi-arrow-down-right-circle::before { content: \"\\f120\"; }\n.bi-arrow-down-right-square-fill::before { content: \"\\f121\"; }\n.bi-arrow-down-right-square::before { content: \"\\f122\"; }\n.bi-arrow-down-right::before { content: \"\\f123\"; }\n.bi-arrow-down-short::before { content: \"\\f124\"; }\n.bi-arrow-down-square-fill::before { content: \"\\f125\"; }\n.bi-arrow-down-square::before { content: \"\\f126\"; }\n.bi-arrow-down-up::before { content: \"\\f127\"; }\n.bi-arrow-down::before { content: \"\\f128\"; }\n.bi-arrow-left-circle-fill::before { content: \"\\f129\"; }\n.bi-arrow-left-circle::before { content: \"\\f12a\"; }\n.bi-arrow-left-right::before { content: \"\\f12b\"; }\n.bi-arrow-left-short::before { content: \"\\f12c\"; }\n.bi-arrow-left-square-fill::before { content: \"\\f12d\"; }\n.bi-arrow-left-square::before { content: \"\\f12e\"; }\n.bi-arrow-left::before { content: \"\\f12f\"; }\n.bi-arrow-repeat::before { content: \"\\f130\"; }\n.bi-arrow-return-left::before { content: \"\\f131\"; }\n.bi-arrow-return-right::before { content: \"\\f132\"; }\n.bi-arrow-right-circle-fill::before { content: \"\\f133\"; }\n.bi-arrow-right-circle::before { content: \"\\f134\"; }\n.bi-arrow-right-short::before { content: \"\\f135\"; }\n.bi-arrow-right-square-fill::before { content: \"\\f136\"; }\n.bi-arrow-right-square::before { content: \"\\f137\"; }\n.bi-arrow-right::before { content: \"\\f138\"; }\n.bi-arrow-up-circle-fill::before { content: \"\\f139\"; }\n.bi-arrow-up-circle::before { content: \"\\f13a\"; }\n.bi-arrow-up-left-circle-fill::before { content: \"\\f13b\"; }\n.bi-arrow-up-left-circle::before { content: \"\\f13c\"; }\n.bi-arrow-up-left-square-fill::before { content: \"\\f13d\"; }\n.bi-arrow-up-left-square::before { content: \"\\f13e\"; }\n.bi-arrow-up-left::before { content: \"\\f13f\"; }\n.bi-arrow-up-right-circle-fill::before { content: \"\\f140\"; }\n.bi-arrow-up-right-circle::before { content: \"\\f141\"; }\n.bi-arrow-up-right-square-fill::before { content: \"\\f142\"; }\n.bi-arrow-up-right-square::before { content: \"\\f143\"; }\n.bi-arrow-up-right::before { content: \"\\f144\"; }\n.bi-arrow-up-short::before { content: \"\\f145\"; }\n.bi-arrow-up-square-fill::before { content: \"\\f146\"; }\n.bi-arrow-up-square::before { content: \"\\f147\"; }\n.bi-arrow-up::before { content: \"\\f148\"; }\n.bi-arrows-angle-contract::before { content: \"\\f149\"; }\n.bi-arrows-angle-expand::before { content: \"\\f14a\"; }\n.bi-arrows-collapse::before { content: \"\\f14b\"; }\n.bi-arrows-expand::before { content: \"\\f14c\"; }\n.bi-arrows-fullscreen::before { content: \"\\f14d\"; }\n.bi-arrows-move::before { content: \"\\f14e\"; }\n.bi-aspect-ratio-fill::before { content: \"\\f14f\"; }\n.bi-aspect-ratio::before { content: \"\\f150\"; }\n.bi-asterisk::before { content: \"\\f151\"; }\n.bi-at::before { content: \"\\f152\"; }\n.bi-award-fill::before { content: \"\\f153\"; }\n.bi-award::before { content: \"\\f154\"; }\n.bi-back::before { content: \"\\f155\"; }\n.bi-backspace-fill::before { content: \"\\f156\"; }\n.bi-backspace-reverse-fill::before { content: \"\\f157\"; }\n.bi-backspace-reverse::before { content: \"\\f158\"; }\n.bi-backspace::before { content: \"\\f159\"; }\n.bi-badge-3d-fill::before { content: \"\\f15a\"; }\n.bi-badge-3d::before { content: \"\\f15b\"; }\n.bi-badge-4k-fill::before { content: \"\\f15c\"; }\n.bi-badge-4k::before { content: \"\\f15d\"; }\n.bi-badge-8k-fill::before { content: \"\\f15e\"; }\n.bi-badge-8k::before { content: \"\\f15f\"; }\n.bi-badge-ad-fill::before { content: \"\\f160\"; }\n.bi-badge-ad::before { content: \"\\f161\"; }\n.bi-badge-ar-fill::before { content: \"\\f162\"; }\n.bi-badge-ar::before { content: \"\\f163\"; }\n.bi-badge-cc-fill::before { content: \"\\f164\"; }\n.bi-badge-cc::before { content: \"\\f165\"; }\n.bi-badge-hd-fill::before { content: \"\\f166\"; }\n.bi-badge-hd::before { content: \"\\f167\"; }\n.bi-badge-tm-fill::before { content: \"\\f168\"; }\n.bi-badge-tm::before { content: \"\\f169\"; }\n.bi-badge-vo-fill::before { content: \"\\f16a\"; }\n.bi-badge-vo::before { content: \"\\f16b\"; }\n.bi-badge-vr-fill::before { content: \"\\f16c\"; }\n.bi-badge-vr::before { content: \"\\f16d\"; }\n.bi-badge-wc-fill::before { content: \"\\f16e\"; }\n.bi-badge-wc::before { content: \"\\f16f\"; }\n.bi-bag-check-fill::before { content: \"\\f170\"; }\n.bi-bag-check::before { content: \"\\f171\"; }\n.bi-bag-dash-fill::before { content: \"\\f172\"; }\n.bi-bag-dash::before { content: \"\\f173\"; }\n.bi-bag-fill::before { content: \"\\f174\"; }\n.bi-bag-plus-fill::before { content: \"\\f175\"; }\n.bi-bag-plus::before { content: \"\\f176\"; }\n.bi-bag-x-fill::before { content: \"\\f177\"; }\n.bi-bag-x::before { content: \"\\f178\"; }\n.bi-bag::before { content: \"\\f179\"; }\n.bi-bar-chart-fill::before { content: \"\\f17a\"; }\n.bi-bar-chart-line-fill::before { content: \"\\f17b\"; }\n.bi-bar-chart-line::before { content: \"\\f17c\"; }\n.bi-bar-chart-steps::before { content: \"\\f17d\"; }\n.bi-bar-chart::before { content: \"\\f17e\"; }\n.bi-basket-fill::before { content: \"\\f17f\"; }\n.bi-basket::before { content: \"\\f180\"; }\n.bi-basket2-fill::before { content: \"\\f181\"; }\n.bi-basket2::before { content: \"\\f182\"; }\n.bi-basket3-fill::before { content: \"\\f183\"; }\n.bi-basket3::before { content: \"\\f184\"; }\n.bi-battery-charging::before { content: \"\\f185\"; }\n.bi-battery-full::before { content: \"\\f186\"; }\n.bi-battery-half::before { content: \"\\f187\"; }\n.bi-battery::before { content: \"\\f188\"; }\n.bi-bell-fill::before { content: \"\\f189\"; }\n.bi-bell::before { content: \"\\f18a\"; }\n.bi-bezier::before { content: \"\\f18b\"; }\n.bi-bezier2::before { content: \"\\f18c\"; }\n.bi-bicycle::before { content: \"\\f18d\"; }\n.bi-binoculars-fill::before { content: \"\\f18e\"; }\n.bi-binoculars::before { content: \"\\f18f\"; }\n.bi-blockquote-left::before { content: \"\\f190\"; }\n.bi-blockquote-right::before { content: \"\\f191\"; }\n.bi-book-fill::before { content: \"\\f192\"; }\n.bi-book-half::before { content: \"\\f193\"; }\n.bi-book::before { content: \"\\f194\"; }\n.bi-bookmark-check-fill::before { content: \"\\f195\"; }\n.bi-bookmark-check::before { content: \"\\f196\"; }\n.bi-bookmark-dash-fill::before { content: \"\\f197\"; }\n.bi-bookmark-dash::before { content: \"\\f198\"; }\n.bi-bookmark-fill::before { content: \"\\f199\"; }\n.bi-bookmark-heart-fill::before { content: \"\\f19a\"; }\n.bi-bookmark-heart::before { content: \"\\f19b\"; }\n.bi-bookmark-plus-fill::before { content: \"\\f19c\"; }\n.bi-bookmark-plus::before { content: \"\\f19d\"; }\n.bi-bookmark-star-fill::before { content: \"\\f19e\"; }\n.bi-bookmark-star::before { content: \"\\f19f\"; }\n.bi-bookmark-x-fill::before { content: \"\\f1a0\"; }\n.bi-bookmark-x::before { content: \"\\f1a1\"; }\n.bi-bookmark::before { content: \"\\f1a2\"; }\n.bi-bookmarks-fill::before { content: \"\\f1a3\"; }\n.bi-bookmarks::before { content: \"\\f1a4\"; }\n.bi-bookshelf::before { content: \"\\f1a5\"; }\n.bi-bootstrap-fill::before { content: \"\\f1a6\"; }\n.bi-bootstrap-reboot::before { content: \"\\f1a7\"; }\n.bi-bootstrap::before { content: \"\\f1a8\"; }\n.bi-border-all::before { content: \"\\f1a9\"; }\n.bi-border-bottom::before { content: \"\\f1aa\"; }\n.bi-border-center::before { content: \"\\f1ab\"; }\n.bi-border-inner::before { content: \"\\f1ac\"; }\n.bi-border-left::before { content: \"\\f1ad\"; }\n.bi-border-middle::before { content: \"\\f1ae\"; }\n.bi-border-outer::before { content: \"\\f1af\"; }\n.bi-border-right::before { content: \"\\f1b0\"; }\n.bi-border-style::before { content: \"\\f1b1\"; }\n.bi-border-top::before { content: \"\\f1b2\"; }\n.bi-border-width::before { content: \"\\f1b3\"; }\n.bi-border::before { content: \"\\f1b4\"; }\n.bi-bounding-box-circles::before { content: \"\\f1b5\"; }\n.bi-bounding-box::before { content: \"\\f1b6\"; }\n.bi-box-arrow-down-left::before { content: \"\\f1b7\"; }\n.bi-box-arrow-down-right::before { content: \"\\f1b8\"; }\n.bi-box-arrow-down::before { content: \"\\f1b9\"; }\n.bi-box-arrow-in-down-left::before { content: \"\\f1ba\"; }\n.bi-box-arrow-in-down-right::before { content: \"\\f1bb\"; }\n.bi-box-arrow-in-down::before { content: \"\\f1bc\"; }\n.bi-box-arrow-in-left::before { content: \"\\f1bd\"; }\n.bi-box-arrow-in-right::before { content: \"\\f1be\"; }\n.bi-box-arrow-in-up-left::before { content: \"\\f1bf\"; }\n.bi-box-arrow-in-up-right::before { content: \"\\f1c0\"; }\n.bi-box-arrow-in-up::before { content: \"\\f1c1\"; }\n.bi-box-arrow-left::before { content: \"\\f1c2\"; }\n.bi-box-arrow-right::before { content: \"\\f1c3\"; }\n.bi-box-arrow-up-left::before { content: \"\\f1c4\"; }\n.bi-box-arrow-up-right::before { content: \"\\f1c5\"; }\n.bi-box-arrow-up::before { content: \"\\f1c6\"; }\n.bi-box-seam::before { content: \"\\f1c7\"; }\n.bi-box::before { content: \"\\f1c8\"; }\n.bi-braces::before { content: \"\\f1c9\"; }\n.bi-bricks::before { content: \"\\f1ca\"; }\n.bi-briefcase-fill::before { content: \"\\f1cb\"; }\n.bi-briefcase::before { content: \"\\f1cc\"; }\n.bi-brightness-alt-high-fill::before { content: \"\\f1cd\"; }\n.bi-brightness-alt-high::before { content: \"\\f1ce\"; }\n.bi-brightness-alt-low-fill::before { content: \"\\f1cf\"; }\n.bi-brightness-alt-low::before { content: \"\\f1d0\"; }\n.bi-brightness-high-fill::before { content: \"\\f1d1\"; }\n.bi-brightness-high::before { content: \"\\f1d2\"; }\n.bi-brightness-low-fill::before { content: \"\\f1d3\"; }\n.bi-brightness-low::before { content: \"\\f1d4\"; }\n.bi-broadcast-pin::before { content: \"\\f1d5\"; }\n.bi-broadcast::before { content: \"\\f1d6\"; }\n.bi-brush-fill::before { content: \"\\f1d7\"; }\n.bi-brush::before { content: \"\\f1d8\"; }\n.bi-bucket-fill::before { content: \"\\f1d9\"; }\n.bi-bucket::before { content: \"\\f1da\"; }\n.bi-bug-fill::before { content: \"\\f1db\"; }\n.bi-bug::before { content: \"\\f1dc\"; }\n.bi-building::before { content: \"\\f1dd\"; }\n.bi-bullseye::before { content: \"\\f1de\"; }\n.bi-calculator-fill::before { content: \"\\f1df\"; }\n.bi-calculator::before { content: \"\\f1e0\"; }\n.bi-calendar-check-fill::before { content: \"\\f1e1\"; }\n.bi-calendar-check::before { content: \"\\f1e2\"; }\n.bi-calendar-date-fill::before { content: \"\\f1e3\"; }\n.bi-calendar-date::before { content: \"\\f1e4\"; }\n.bi-calendar-day-fill::before { content: \"\\f1e5\"; }\n.bi-calendar-day::before { content: \"\\f1e6\"; }\n.bi-calendar-event-fill::before { content: \"\\f1e7\"; }\n.bi-calendar-event::before { content: \"\\f1e8\"; }\n.bi-calendar-fill::before { content: \"\\f1e9\"; }\n.bi-calendar-minus-fill::before { content: \"\\f1ea\"; }\n.bi-calendar-minus::before { content: \"\\f1eb\"; }\n.bi-calendar-month-fill::before { content: \"\\f1ec\"; }\n.bi-calendar-month::before { content: \"\\f1ed\"; }\n.bi-calendar-plus-fill::before { content: \"\\f1ee\"; }\n.bi-calendar-plus::before { content: \"\\f1ef\"; }\n.bi-calendar-range-fill::before { content: \"\\f1f0\"; }\n.bi-calendar-range::before { content: \"\\f1f1\"; }\n.bi-calendar-week-fill::before { content: \"\\f1f2\"; }\n.bi-calendar-week::before { content: \"\\f1f3\"; }\n.bi-calendar-x-fill::before { content: \"\\f1f4\"; }\n.bi-calendar-x::before { content: \"\\f1f5\"; }\n.bi-calendar::before { content: \"\\f1f6\"; }\n.bi-calendar2-check-fill::before { content: \"\\f1f7\"; }\n.bi-calendar2-check::before { content: \"\\f1f8\"; }\n.bi-calendar2-date-fill::before { content: \"\\f1f9\"; }\n.bi-calendar2-date::before { content: \"\\f1fa\"; }\n.bi-calendar2-day-fill::before { content: \"\\f1fb\"; }\n.bi-calendar2-day::before { content: \"\\f1fc\"; }\n.bi-calendar2-event-fill::before { content: \"\\f1fd\"; }\n.bi-calendar2-event::before { content: \"\\f1fe\"; }\n.bi-calendar2-fill::before { content: \"\\f1ff\"; }\n.bi-calendar2-minus-fill::before { content: \"\\f200\"; }\n.bi-calendar2-minus::before { content: \"\\f201\"; }\n.bi-calendar2-month-fill::before { content: \"\\f202\"; }\n.bi-calendar2-month::before { content: \"\\f203\"; }\n.bi-calendar2-plus-fill::before { content: \"\\f204\"; }\n.bi-calendar2-plus::before { content: \"\\f205\"; }\n.bi-calendar2-range-fill::before { content: \"\\f206\"; }\n.bi-calendar2-range::before { content: \"\\f207\"; }\n.bi-calendar2-week-fill::before { content: \"\\f208\"; }\n.bi-calendar2-week::before { content: \"\\f209\"; }\n.bi-calendar2-x-fill::before { content: \"\\f20a\"; }\n.bi-calendar2-x::before { content: \"\\f20b\"; }\n.bi-calendar2::before { content: \"\\f20c\"; }\n.bi-calendar3-event-fill::before { content: \"\\f20d\"; }\n.bi-calendar3-event::before { content: \"\\f20e\"; }\n.bi-calendar3-fill::before { content: \"\\f20f\"; }\n.bi-calendar3-range-fill::before { content: \"\\f210\"; }\n.bi-calendar3-range::before { content: \"\\f211\"; }\n.bi-calendar3-week-fill::before { content: \"\\f212\"; }\n.bi-calendar3-week::before { content: \"\\f213\"; }\n.bi-calendar3::before { content: \"\\f214\"; }\n.bi-calendar4-event::before { content: \"\\f215\"; }\n.bi-calendar4-range::before { content: \"\\f216\"; }\n.bi-calendar4-week::before { content: \"\\f217\"; }\n.bi-calendar4::before { content: \"\\f218\"; }\n.bi-camera-fill::before { content: \"\\f219\"; }\n.bi-camera-reels-fill::before { content: \"\\f21a\"; }\n.bi-camera-reels::before { content: \"\\f21b\"; }\n.bi-camera-video-fill::before { content: \"\\f21c\"; }\n.bi-camera-video-off-fill::before { content: \"\\f21d\"; }\n.bi-camera-video-off::before { content: \"\\f21e\"; }\n.bi-camera-video::before { content: \"\\f21f\"; }\n.bi-camera::before { content: \"\\f220\"; }\n.bi-camera2::before { content: \"\\f221\"; }\n.bi-capslock-fill::before { content: \"\\f222\"; }\n.bi-capslock::before { content: \"\\f223\"; }\n.bi-card-checklist::before { content: \"\\f224\"; }\n.bi-card-heading::before { content: \"\\f225\"; }\n.bi-card-image::before { content: \"\\f226\"; }\n.bi-card-list::before { content: \"\\f227\"; }\n.bi-card-text::before { content: \"\\f228\"; }\n.bi-caret-down-fill::before { content: \"\\f229\"; }\n.bi-caret-down-square-fill::before { content: \"\\f22a\"; }\n.bi-caret-down-square::before { content: \"\\f22b\"; }\n.bi-caret-down::before { content: \"\\f22c\"; }\n.bi-caret-left-fill::before { content: \"\\f22d\"; }\n.bi-caret-left-square-fill::before { content: \"\\f22e\"; }\n.bi-caret-left-square::before { content: \"\\f22f\"; }\n.bi-caret-left::before { content: \"\\f230\"; }\n.bi-caret-right-fill::before { content: \"\\f231\"; }\n.bi-caret-right-square-fill::before { content: \"\\f232\"; }\n.bi-caret-right-square::before { content: \"\\f233\"; }\n.bi-caret-right::before { content: \"\\f234\"; }\n.bi-caret-up-fill::before { content: \"\\f235\"; }\n.bi-caret-up-square-fill::before { content: \"\\f236\"; }\n.bi-caret-up-square::before { content: \"\\f237\"; }\n.bi-caret-up::before { content: \"\\f238\"; }\n.bi-cart-check-fill::before { content: \"\\f239\"; }\n.bi-cart-check::before { content: \"\\f23a\"; }\n.bi-cart-dash-fill::before { content: \"\\f23b\"; }\n.bi-cart-dash::before { content: \"\\f23c\"; }\n.bi-cart-fill::before { content: \"\\f23d\"; }\n.bi-cart-plus-fill::before { content: \"\\f23e\"; }\n.bi-cart-plus::before { content: \"\\f23f\"; }\n.bi-cart-x-fill::before { content: \"\\f240\"; }\n.bi-cart-x::before { content: \"\\f241\"; }\n.bi-cart::before { content: \"\\f242\"; }\n.bi-cart2::before { content: \"\\f243\"; }\n.bi-cart3::before { content: \"\\f244\"; }\n.bi-cart4::before { content: \"\\f245\"; }\n.bi-cash-stack::before { content: \"\\f246\"; }\n.bi-cash::before { content: \"\\f247\"; }\n.bi-cast::before { content: \"\\f248\"; }\n.bi-chat-dots-fill::before { content: \"\\f249\"; }\n.bi-chat-dots::before { content: \"\\f24a\"; }\n.bi-chat-fill::before { content: \"\\f24b\"; }\n.bi-chat-left-dots-fill::before { content: \"\\f24c\"; }\n.bi-chat-left-dots::before { content: \"\\f24d\"; }\n.bi-chat-left-fill::before { content: \"\\f24e\"; }\n.bi-chat-left-quote-fill::before { content: \"\\f24f\"; }\n.bi-chat-left-quote::before { content: \"\\f250\"; }\n.bi-chat-left-text-fill::before { content: \"\\f251\"; }\n.bi-chat-left-text::before { content: \"\\f252\"; }\n.bi-chat-left::before { content: \"\\f253\"; }\n.bi-chat-quote-fill::before { content: \"\\f254\"; }\n.bi-chat-quote::before { content: \"\\f255\"; }\n.bi-chat-right-dots-fill::before { content: \"\\f256\"; }\n.bi-chat-right-dots::before { content: \"\\f257\"; }\n.bi-chat-right-fill::before { content: \"\\f258\"; }\n.bi-chat-right-quote-fill::before { content: \"\\f259\"; }\n.bi-chat-right-quote::before { content: \"\\f25a\"; }\n.bi-chat-right-text-fill::before { content: \"\\f25b\"; }\n.bi-chat-right-text::before { content: \"\\f25c\"; }\n.bi-chat-right::before { content: \"\\f25d\"; }\n.bi-chat-square-dots-fill::before { content: \"\\f25e\"; }\n.bi-chat-square-dots::before { content: \"\\f25f\"; }\n.bi-chat-square-fill::before { content: \"\\f260\"; }\n.bi-chat-square-quote-fill::before { content: \"\\f261\"; }\n.bi-chat-square-quote::before { content: \"\\f262\"; }\n.bi-chat-square-text-fill::before { content: \"\\f263\"; }\n.bi-chat-square-text::before { content: \"\\f264\"; }\n.bi-chat-square::before { content: \"\\f265\"; }\n.bi-chat-text-fill::before { content: \"\\f266\"; }\n.bi-chat-text::before { content: \"\\f267\"; }\n.bi-chat::before { content: \"\\f268\"; }\n.bi-check-all::before { content: \"\\f269\"; }\n.bi-check-circle-fill::before { content: \"\\f26a\"; }\n.bi-check-circle::before { content: \"\\f26b\"; }\n.bi-check-square-fill::before { content: \"\\f26c\"; }\n.bi-check-square::before { content: \"\\f26d\"; }\n.bi-check::before { content: \"\\f26e\"; }\n.bi-check2-all::before { content: \"\\f26f\"; }\n.bi-check2-circle::before { content: \"\\f270\"; }\n.bi-check2-square::before { content: \"\\f271\"; }\n.bi-check2::before { content: \"\\f272\"; }\n.bi-chevron-bar-contract::before { content: \"\\f273\"; }\n.bi-chevron-bar-down::before { content: \"\\f274\"; }\n.bi-chevron-bar-expand::before { content: \"\\f275\"; }\n.bi-chevron-bar-left::before { content: \"\\f276\"; }\n.bi-chevron-bar-right::before { content: \"\\f277\"; }\n.bi-chevron-bar-up::before { content: \"\\f278\"; }\n.bi-chevron-compact-down::before { content: \"\\f279\"; }\n.bi-chevron-compact-left::before { content: \"\\f27a\"; }\n.bi-chevron-compact-right::before { content: \"\\f27b\"; }\n.bi-chevron-compact-up::before { content: \"\\f27c\"; }\n.bi-chevron-contract::before { content: \"\\f27d\"; }\n.bi-chevron-double-down::before { content: \"\\f27e\"; }\n.bi-chevron-double-left::before { content: \"\\f27f\"; }\n.bi-chevron-double-right::before { content: \"\\f280\"; }\n.bi-chevron-double-up::before { content: \"\\f281\"; }\n.bi-chevron-down::before { content: \"\\f282\"; }\n.bi-chevron-expand::before { content: \"\\f283\"; }\n.bi-chevron-left::before { content: \"\\f284\"; }\n.bi-chevron-right::before { content: \"\\f285\"; }\n.bi-chevron-up::before { content: \"\\f286\"; }\n.bi-circle-fill::before { content: \"\\f287\"; }\n.bi-circle-half::before { content: \"\\f288\"; }\n.bi-circle-square::before { content: \"\\f289\"; }\n.bi-circle::before { content: \"\\f28a\"; }\n.bi-clipboard-check::before { content: \"\\f28b\"; }\n.bi-clipboard-data::before { content: \"\\f28c\"; }\n.bi-clipboard-minus::before { content: \"\\f28d\"; }\n.bi-clipboard-plus::before { content: \"\\f28e\"; }\n.bi-clipboard-x::before { content: \"\\f28f\"; }\n.bi-clipboard::before { content: \"\\f290\"; }\n.bi-clock-fill::before { content: \"\\f291\"; }\n.bi-clock-history::before { content: \"\\f292\"; }\n.bi-clock::before { content: \"\\f293\"; }\n.bi-cloud-arrow-down-fill::before { content: \"\\f294\"; }\n.bi-cloud-arrow-down::before { content: \"\\f295\"; }\n.bi-cloud-arrow-up-fill::before { content: \"\\f296\"; }\n.bi-cloud-arrow-up::before { content: \"\\f297\"; }\n.bi-cloud-check-fill::before { content: \"\\f298\"; }\n.bi-cloud-check::before { content: \"\\f299\"; }\n.bi-cloud-download-fill::before { content: \"\\f29a\"; }\n.bi-cloud-download::before { content: \"\\f29b\"; }\n.bi-cloud-drizzle-fill::before { content: \"\\f29c\"; }\n.bi-cloud-drizzle::before { content: \"\\f29d\"; }\n.bi-cloud-fill::before { content: \"\\f29e\"; }\n.bi-cloud-fog-fill::before { content: \"\\f29f\"; }\n.bi-cloud-fog::before { content: \"\\f2a0\"; }\n.bi-cloud-fog2-fill::before { content: \"\\f2a1\"; }\n.bi-cloud-fog2::before { content: \"\\f2a2\"; }\n.bi-cloud-hail-fill::before { content: \"\\f2a3\"; }\n.bi-cloud-hail::before { content: \"\\f2a4\"; }\n.bi-cloud-haze-1::before { content: \"\\f2a5\"; }\n.bi-cloud-haze-fill::before { content: \"\\f2a6\"; }\n.bi-cloud-haze::before { content: \"\\f2a7\"; }\n.bi-cloud-haze2-fill::before { content: \"\\f2a8\"; }\n.bi-cloud-lightning-fill::before { content: \"\\f2a9\"; }\n.bi-cloud-lightning-rain-fill::before { content: \"\\f2aa\"; }\n.bi-cloud-lightning-rain::before { content: \"\\f2ab\"; }\n.bi-cloud-lightning::before { content: \"\\f2ac\"; }\n.bi-cloud-minus-fill::before { content: \"\\f2ad\"; }\n.bi-cloud-minus::before { content: \"\\f2ae\"; }\n.bi-cloud-moon-fill::before { content: \"\\f2af\"; }\n.bi-cloud-moon::before { content: \"\\f2b0\"; }\n.bi-cloud-plus-fill::before { content: \"\\f2b1\"; }\n.bi-cloud-plus::before { content: \"\\f2b2\"; }\n.bi-cloud-rain-fill::before { content: \"\\f2b3\"; }\n.bi-cloud-rain-heavy-fill::before { content: \"\\f2b4\"; }\n.bi-cloud-rain-heavy::before { content: \"\\f2b5\"; }\n.bi-cloud-rain::before { content: \"\\f2b6\"; }\n.bi-cloud-slash-fill::before { content: \"\\f2b7\"; }\n.bi-cloud-slash::before { content: \"\\f2b8\"; }\n.bi-cloud-sleet-fill::before { content: \"\\f2b9\"; }\n.bi-cloud-sleet::before { content: \"\\f2ba\"; }\n.bi-cloud-snow-fill::before { content: \"\\f2bb\"; }\n.bi-cloud-snow::before { content: \"\\f2bc\"; }\n.bi-cloud-sun-fill::before { content: \"\\f2bd\"; }\n.bi-cloud-sun::before { content: \"\\f2be\"; }\n.bi-cloud-upload-fill::before { content: \"\\f2bf\"; }\n.bi-cloud-upload::before { content: \"\\f2c0\"; }\n.bi-cloud::before { content: \"\\f2c1\"; }\n.bi-clouds-fill::before { content: \"\\f2c2\"; }\n.bi-clouds::before { content: \"\\f2c3\"; }\n.bi-cloudy-fill::before { content: \"\\f2c4\"; }\n.bi-cloudy::before { content: \"\\f2c5\"; }\n.bi-code-slash::before { content: \"\\f2c6\"; }\n.bi-code-square::before { content: \"\\f2c7\"; }\n.bi-code::before { content: \"\\f2c8\"; }\n.bi-collection-fill::before { content: \"\\f2c9\"; }\n.bi-collection-play-fill::before { content: \"\\f2ca\"; }\n.bi-collection-play::before { content: \"\\f2cb\"; }\n.bi-collection::before { content: \"\\f2cc\"; }\n.bi-columns-gap::before { content: \"\\f2cd\"; }\n.bi-columns::before { content: \"\\f2ce\"; }\n.bi-command::before { content: \"\\f2cf\"; }\n.bi-compass-fill::before { content: \"\\f2d0\"; }\n.bi-compass::before { content: \"\\f2d1\"; }\n.bi-cone-striped::before { content: \"\\f2d2\"; }\n.bi-cone::before { content: \"\\f2d3\"; }\n.bi-controller::before { content: \"\\f2d4\"; }\n.bi-cpu-fill::before { content: \"\\f2d5\"; }\n.bi-cpu::before { content: \"\\f2d6\"; }\n.bi-credit-card-2-back-fill::before { content: \"\\f2d7\"; }\n.bi-credit-card-2-back::before { content: \"\\f2d8\"; }\n.bi-credit-card-2-front-fill::before { content: \"\\f2d9\"; }\n.bi-credit-card-2-front::before { content: \"\\f2da\"; }\n.bi-credit-card-fill::before { content: \"\\f2db\"; }\n.bi-credit-card::before { content: \"\\f2dc\"; }\n.bi-crop::before { content: \"\\f2dd\"; }\n.bi-cup-fill::before { content: \"\\f2de\"; }\n.bi-cup-straw::before { content: \"\\f2df\"; }\n.bi-cup::before { content: \"\\f2e0\"; }\n.bi-cursor-fill::before { content: \"\\f2e1\"; }\n.bi-cursor-text::before { content: \"\\f2e2\"; }\n.bi-cursor::before { content: \"\\f2e3\"; }\n.bi-dash-circle-dotted::before { content: \"\\f2e4\"; }\n.bi-dash-circle-fill::before { content: \"\\f2e5\"; }\n.bi-dash-circle::before { content: \"\\f2e6\"; }\n.bi-dash-square-dotted::before { content: \"\\f2e7\"; }\n.bi-dash-square-fill::before { content: \"\\f2e8\"; }\n.bi-dash-square::before { content: \"\\f2e9\"; }\n.bi-dash::before { content: \"\\f2ea\"; }\n.bi-diagram-2-fill::before { content: \"\\f2eb\"; }\n.bi-diagram-2::before { content: \"\\f2ec\"; }\n.bi-diagram-3-fill::before { content: \"\\f2ed\"; }\n.bi-diagram-3::before { content: \"\\f2ee\"; }\n.bi-diamond-fill::before { content: \"\\f2ef\"; }\n.bi-diamond-half::before { content: \"\\f2f0\"; }\n.bi-diamond::before { content: \"\\f2f1\"; }\n.bi-dice-1-fill::before { content: \"\\f2f2\"; }\n.bi-dice-1::before { content: \"\\f2f3\"; }\n.bi-dice-2-fill::before { content: \"\\f2f4\"; }\n.bi-dice-2::before { content: \"\\f2f5\"; }\n.bi-dice-3-fill::before { content: \"\\f2f6\"; }\n.bi-dice-3::before { content: \"\\f2f7\"; }\n.bi-dice-4-fill::before { content: \"\\f2f8\"; }\n.bi-dice-4::before { content: \"\\f2f9\"; }\n.bi-dice-5-fill::before { content: \"\\f2fa\"; }\n.bi-dice-5::before { content: \"\\f2fb\"; }\n.bi-dice-6-fill::before { content: \"\\f2fc\"; }\n.bi-dice-6::before { content: \"\\f2fd\"; }\n.bi-disc-fill::before { content: \"\\f2fe\"; }\n.bi-disc::before { content: \"\\f2ff\"; }\n.bi-discord::before { content: \"\\f300\"; }\n.bi-display-fill::before { content: \"\\f301\"; }\n.bi-display::before { content: \"\\f302\"; }\n.bi-distribute-horizontal::before { content: \"\\f303\"; }\n.bi-distribute-vertical::before { content: \"\\f304\"; }\n.bi-door-closed-fill::before { content: \"\\f305\"; }\n.bi-door-closed::before { content: \"\\f306\"; }\n.bi-door-open-fill::before { content: \"\\f307\"; }\n.bi-door-open::before { content: \"\\f308\"; }\n.bi-dot::before { content: \"\\f309\"; }\n.bi-download::before { content: \"\\f30a\"; }\n.bi-droplet-fill::before { content: \"\\f30b\"; }\n.bi-droplet-half::before { content: \"\\f30c\"; }\n.bi-droplet::before { content: \"\\f30d\"; }\n.bi-earbuds::before { content: \"\\f30e\"; }\n.bi-easel-fill::before { content: \"\\f30f\"; }\n.bi-easel::before { content: \"\\f310\"; }\n.bi-egg-fill::before { content: \"\\f311\"; }\n.bi-egg-fried::before { content: \"\\f312\"; }\n.bi-egg::before { content: \"\\f313\"; }\n.bi-eject-fill::before { content: \"\\f314\"; }\n.bi-eject::before { content: \"\\f315\"; }\n.bi-emoji-angry-fill::before { content: \"\\f316\"; }\n.bi-emoji-angry::before { content: \"\\f317\"; }\n.bi-emoji-dizzy-fill::before { content: \"\\f318\"; }\n.bi-emoji-dizzy::before { content: \"\\f319\"; }\n.bi-emoji-expressionless-fill::before { content: \"\\f31a\"; }\n.bi-emoji-expressionless::before { content: \"\\f31b\"; }\n.bi-emoji-frown-fill::before { content: \"\\f31c\"; }\n.bi-emoji-frown::before { content: \"\\f31d\"; }\n.bi-emoji-heart-eyes-fill::before { content: \"\\f31e\"; }\n.bi-emoji-heart-eyes::before { content: \"\\f31f\"; }\n.bi-emoji-laughing-fill::before { content: \"\\f320\"; }\n.bi-emoji-laughing::before { content: \"\\f321\"; }\n.bi-emoji-neutral-fill::before { content: \"\\f322\"; }\n.bi-emoji-neutral::before { content: \"\\f323\"; }\n.bi-emoji-smile-fill::before { content: \"\\f324\"; }\n.bi-emoji-smile-upside-down-fill::before { content: \"\\f325\"; }\n.bi-emoji-smile-upside-down::before { content: \"\\f326\"; }\n.bi-emoji-smile::before { content: \"\\f327\"; }\n.bi-emoji-sunglasses-fill::before { content: \"\\f328\"; }\n.bi-emoji-sunglasses::before { content: \"\\f329\"; }\n.bi-emoji-wink-fill::before { content: \"\\f32a\"; }\n.bi-emoji-wink::before { content: \"\\f32b\"; }\n.bi-envelope-fill::before { content: \"\\f32c\"; }\n.bi-envelope-open-fill::before { content: \"\\f32d\"; }\n.bi-envelope-open::before { content: \"\\f32e\"; }\n.bi-envelope::before { content: \"\\f32f\"; }\n.bi-eraser-fill::before { content: \"\\f330\"; }\n.bi-eraser::before { content: \"\\f331\"; }\n.bi-exclamation-circle-fill::before { content: \"\\f332\"; }\n.bi-exclamation-circle::before { content: \"\\f333\"; }\n.bi-exclamation-diamond-fill::before { content: \"\\f334\"; }\n.bi-exclamation-diamond::before { content: \"\\f335\"; }\n.bi-exclamation-octagon-fill::before { content: \"\\f336\"; }\n.bi-exclamation-octagon::before { content: \"\\f337\"; }\n.bi-exclamation-square-fill::before { content: \"\\f338\"; }\n.bi-exclamation-square::before { content: \"\\f339\"; }\n.bi-exclamation-triangle-fill::before { content: \"\\f33a\"; }\n.bi-exclamation-triangle::before { content: \"\\f33b\"; }\n.bi-exclamation::before { content: \"\\f33c\"; }\n.bi-exclude::before { content: \"\\f33d\"; }\n.bi-eye-fill::before { content: \"\\f33e\"; }\n.bi-eye-slash-fill::before { content: \"\\f33f\"; }\n.bi-eye-slash::before { content: \"\\f340\"; }\n.bi-eye::before { content: \"\\f341\"; }\n.bi-eyedropper::before { content: \"\\f342\"; }\n.bi-eyeglasses::before { content: \"\\f343\"; }\n.bi-facebook::before { content: \"\\f344\"; }\n.bi-file-arrow-down-fill::before { content: \"\\f345\"; }\n.bi-file-arrow-down::before { content: \"\\f346\"; }\n.bi-file-arrow-up-fill::before { content: \"\\f347\"; }\n.bi-file-arrow-up::before { content: \"\\f348\"; }\n.bi-file-bar-graph-fill::before { content: \"\\f349\"; }\n.bi-file-bar-graph::before { content: \"\\f34a\"; }\n.bi-file-binary-fill::before { content: \"\\f34b\"; }\n.bi-file-binary::before { content: \"\\f34c\"; }\n.bi-file-break-fill::before { content: \"\\f34d\"; }\n.bi-file-break::before { content: \"\\f34e\"; }\n.bi-file-check-fill::before { content: \"\\f34f\"; }\n.bi-file-check::before { content: \"\\f350\"; }\n.bi-file-code-fill::before { content: \"\\f351\"; }\n.bi-file-code::before { content: \"\\f352\"; }\n.bi-file-diff-fill::before { content: \"\\f353\"; }\n.bi-file-diff::before { content: \"\\f354\"; }\n.bi-file-earmark-arrow-down-fill::before { content: \"\\f355\"; }\n.bi-file-earmark-arrow-down::before { content: \"\\f356\"; }\n.bi-file-earmark-arrow-up-fill::before { content: \"\\f357\"; }\n.bi-file-earmark-arrow-up::before { content: \"\\f358\"; }\n.bi-file-earmark-bar-graph-fill::before { content: \"\\f359\"; }\n.bi-file-earmark-bar-graph::before { content: \"\\f35a\"; }\n.bi-file-earmark-binary-fill::before { content: \"\\f35b\"; }\n.bi-file-earmark-binary::before { content: \"\\f35c\"; }\n.bi-file-earmark-break-fill::before { content: \"\\f35d\"; }\n.bi-file-earmark-break::before { content: \"\\f35e\"; }\n.bi-file-earmark-check-fill::before { content: \"\\f35f\"; }\n.bi-file-earmark-check::before { content: \"\\f360\"; }\n.bi-file-earmark-code-fill::before { content: \"\\f361\"; }\n.bi-file-earmark-code::before { content: \"\\f362\"; }\n.bi-file-earmark-diff-fill::before { content: \"\\f363\"; }\n.bi-file-earmark-diff::before { content: \"\\f364\"; }\n.bi-file-earmark-easel-fill::before { content: \"\\f365\"; }\n.bi-file-earmark-easel::before { content: \"\\f366\"; }\n.bi-file-earmark-excel-fill::before { content: \"\\f367\"; }\n.bi-file-earmark-excel::before { content: \"\\f368\"; }\n.bi-file-earmark-fill::before { content: \"\\f369\"; }\n.bi-file-earmark-font-fill::before { content: \"\\f36a\"; }\n.bi-file-earmark-font::before { content: \"\\f36b\"; }\n.bi-file-earmark-image-fill::before { content: \"\\f36c\"; }\n.bi-file-earmark-image::before { content: \"\\f36d\"; }\n.bi-file-earmark-lock-fill::before { content: \"\\f36e\"; }\n.bi-file-earmark-lock::before { content: \"\\f36f\"; }\n.bi-file-earmark-lock2-fill::before { content: \"\\f370\"; }\n.bi-file-earmark-lock2::before { content: \"\\f371\"; }\n.bi-file-earmark-medical-fill::before { content: \"\\f372\"; }\n.bi-file-earmark-medical::before { content: \"\\f373\"; }\n.bi-file-earmark-minus-fill::before { content: \"\\f374\"; }\n.bi-file-earmark-minus::before { content: \"\\f375\"; }\n.bi-file-earmark-music-fill::before { content: \"\\f376\"; }\n.bi-file-earmark-music::before { content: \"\\f377\"; }\n.bi-file-earmark-person-fill::before { content: \"\\f378\"; }\n.bi-file-earmark-person::before { content: \"\\f379\"; }\n.bi-file-earmark-play-fill::before { content: \"\\f37a\"; }\n.bi-file-earmark-play::before { content: \"\\f37b\"; }\n.bi-file-earmark-plus-fill::before { content: \"\\f37c\"; }\n.bi-file-earmark-plus::before { content: \"\\f37d\"; }\n.bi-file-earmark-post-fill::before { content: \"\\f37e\"; }\n.bi-file-earmark-post::before { content: \"\\f37f\"; }\n.bi-file-earmark-ppt-fill::before { content: \"\\f380\"; }\n.bi-file-earmark-ppt::before { content: \"\\f381\"; }\n.bi-file-earmark-richtext-fill::before { content: \"\\f382\"; }\n.bi-file-earmark-richtext::before { content: \"\\f383\"; }\n.bi-file-earmark-ruled-fill::before { content: \"\\f384\"; }\n.bi-file-earmark-ruled::before { content: \"\\f385\"; }\n.bi-file-earmark-slides-fill::before { content: \"\\f386\"; }\n.bi-file-earmark-slides::before { content: \"\\f387\"; }\n.bi-file-earmark-spreadsheet-fill::before { content: \"\\f388\"; }\n.bi-file-earmark-spreadsheet::before { content: \"\\f389\"; }\n.bi-file-earmark-text-fill::before { content: \"\\f38a\"; }\n.bi-file-earmark-text::before { content: \"\\f38b\"; }\n.bi-file-earmark-word-fill::before { content: \"\\f38c\"; }\n.bi-file-earmark-word::before { content: \"\\f38d\"; }\n.bi-file-earmark-x-fill::before { content: \"\\f38e\"; }\n.bi-file-earmark-x::before { content: \"\\f38f\"; }\n.bi-file-earmark-zip-fill::before { content: \"\\f390\"; }\n.bi-file-earmark-zip::before { content: \"\\f391\"; }\n.bi-file-earmark::before { content: \"\\f392\"; }\n.bi-file-easel-fill::before { content: \"\\f393\"; }\n.bi-file-easel::before { content: \"\\f394\"; }\n.bi-file-excel-fill::before { content: \"\\f395\"; }\n.bi-file-excel::before { content: \"\\f396\"; }\n.bi-file-fill::before { content: \"\\f397\"; }\n.bi-file-font-fill::before { content: \"\\f398\"; }\n.bi-file-font::before { content: \"\\f399\"; }\n.bi-file-image-fill::before { content: \"\\f39a\"; }\n.bi-file-image::before { content: \"\\f39b\"; }\n.bi-file-lock-fill::before { content: \"\\f39c\"; }\n.bi-file-lock::before { content: \"\\f39d\"; }\n.bi-file-lock2-fill::before { content: \"\\f39e\"; }\n.bi-file-lock2::before { content: \"\\f39f\"; }\n.bi-file-medical-fill::before { content: \"\\f3a0\"; }\n.bi-file-medical::before { content: \"\\f3a1\"; }\n.bi-file-minus-fill::before { content: \"\\f3a2\"; }\n.bi-file-minus::before { content: \"\\f3a3\"; }\n.bi-file-music-fill::before { content: \"\\f3a4\"; }\n.bi-file-music::before { content: \"\\f3a5\"; }\n.bi-file-person-fill::before { content: \"\\f3a6\"; }\n.bi-file-person::before { content: \"\\f3a7\"; }\n.bi-file-play-fill::before { content: \"\\f3a8\"; }\n.bi-file-play::before { content: \"\\f3a9\"; }\n.bi-file-plus-fill::before { content: \"\\f3aa\"; }\n.bi-file-plus::before { content: \"\\f3ab\"; }\n.bi-file-post-fill::before { content: \"\\f3ac\"; }\n.bi-file-post::before { content: \"\\f3ad\"; }\n.bi-file-ppt-fill::before { content: \"\\f3ae\"; }\n.bi-file-ppt::before { content: \"\\f3af\"; }\n.bi-file-richtext-fill::before { content: \"\\f3b0\"; }\n.bi-file-richtext::before { content: \"\\f3b1\"; }\n.bi-file-ruled-fill::before { content: \"\\f3b2\"; }\n.bi-file-ruled::before { content: \"\\f3b3\"; }\n.bi-file-slides-fill::before { content: \"\\f3b4\"; }\n.bi-file-slides::before { content: \"\\f3b5\"; }\n.bi-file-spreadsheet-fill::before { content: \"\\f3b6\"; }\n.bi-file-spreadsheet::before { content: \"\\f3b7\"; }\n.bi-file-text-fill::before { content: \"\\f3b8\"; }\n.bi-file-text::before { content: \"\\f3b9\"; }\n.bi-file-word-fill::before { content: \"\\f3ba\"; }\n.bi-file-word::before { content: \"\\f3bb\"; }\n.bi-file-x-fill::before { content: \"\\f3bc\"; }\n.bi-file-x::before { content: \"\\f3bd\"; }\n.bi-file-zip-fill::before { content: \"\\f3be\"; }\n.bi-file-zip::before { content: \"\\f3bf\"; }\n.bi-file::before { content: \"\\f3c0\"; }\n.bi-files-alt::before { content: \"\\f3c1\"; }\n.bi-files::before { content: \"\\f3c2\"; }\n.bi-film::before { content: \"\\f3c3\"; }\n.bi-filter-circle-fill::before { content: \"\\f3c4\"; }\n.bi-filter-circle::before { content: \"\\f3c5\"; }\n.bi-filter-left::before { content: \"\\f3c6\"; }\n.bi-filter-right::before { content: \"\\f3c7\"; }\n.bi-filter-square-fill::before { content: \"\\f3c8\"; }\n.bi-filter-square::before { content: \"\\f3c9\"; }\n.bi-filter::before { content: \"\\f3ca\"; }\n.bi-flag-fill::before { content: \"\\f3cb\"; }\n.bi-flag::before { content: \"\\f3cc\"; }\n.bi-flower1::before { content: \"\\f3cd\"; }\n.bi-flower2::before { content: \"\\f3ce\"; }\n.bi-flower3::before { content: \"\\f3cf\"; }\n.bi-folder-check::before { content: \"\\f3d0\"; }\n.bi-folder-fill::before { content: \"\\f3d1\"; }\n.bi-folder-minus::before { content: \"\\f3d2\"; }\n.bi-folder-plus::before { content: \"\\f3d3\"; }\n.bi-folder-symlink-fill::before { content: \"\\f3d4\"; }\n.bi-folder-symlink::before { content: \"\\f3d5\"; }\n.bi-folder-x::before { content: \"\\f3d6\"; }\n.bi-folder::before { content: \"\\f3d7\"; }\n.bi-folder2-open::before { content: \"\\f3d8\"; }\n.bi-folder2::before { content: \"\\f3d9\"; }\n.bi-fonts::before { content: \"\\f3da\"; }\n.bi-forward-fill::before { content: \"\\f3db\"; }\n.bi-forward::before { content: \"\\f3dc\"; }\n.bi-front::before { content: \"\\f3dd\"; }\n.bi-fullscreen-exit::before { content: \"\\f3de\"; }\n.bi-fullscreen::before { content: \"\\f3df\"; }\n.bi-funnel-fill::before { content: \"\\f3e0\"; }\n.bi-funnel::before { content: \"\\f3e1\"; }\n.bi-gear-fill::before { content: \"\\f3e2\"; }\n.bi-gear-wide-connected::before { content: \"\\f3e3\"; }\n.bi-gear-wide::before { content: \"\\f3e4\"; }\n.bi-gear::before { content: \"\\f3e5\"; }\n.bi-gem::before { content: \"\\f3e6\"; }\n.bi-geo-alt-fill::before { content: \"\\f3e7\"; }\n.bi-geo-alt::before { content: \"\\f3e8\"; }\n.bi-geo-fill::before { content: \"\\f3e9\"; }\n.bi-geo::before { content: \"\\f3ea\"; }\n.bi-gift-fill::before { content: \"\\f3eb\"; }\n.bi-gift::before { content: \"\\f3ec\"; }\n.bi-github::before { content: \"\\f3ed\"; }\n.bi-globe::before { content: \"\\f3ee\"; }\n.bi-globe2::before { content: \"\\f3ef\"; }\n.bi-google::before { content: \"\\f3f0\"; }\n.bi-graph-down::before { content: \"\\f3f1\"; }\n.bi-graph-up::before { content: \"\\f3f2\"; }\n.bi-grid-1x2-fill::before { content: \"\\f3f3\"; }\n.bi-grid-1x2::before { content: \"\\f3f4\"; }\n.bi-grid-3x2-gap-fill::before { content: \"\\f3f5\"; }\n.bi-grid-3x2-gap::before { content: \"\\f3f6\"; }\n.bi-grid-3x2::before { content: \"\\f3f7\"; }\n.bi-grid-3x3-gap-fill::before { content: \"\\f3f8\"; }\n.bi-grid-3x3-gap::before { content: \"\\f3f9\"; }\n.bi-grid-3x3::before { content: \"\\f3fa\"; }\n.bi-grid-fill::before { content: \"\\f3fb\"; }\n.bi-grid::before { content: \"\\f3fc\"; }\n.bi-grip-horizontal::before { content: \"\\f3fd\"; }\n.bi-grip-vertical::before { content: \"\\f3fe\"; }\n.bi-hammer::before { content: \"\\f3ff\"; }\n.bi-hand-index-fill::before { content: \"\\f400\"; }\n.bi-hand-index-thumb-fill::before { content: \"\\f401\"; }\n.bi-hand-index-thumb::before { content: \"\\f402\"; }\n.bi-hand-index::before { content: \"\\f403\"; }\n.bi-hand-thumbs-down-fill::before { content: \"\\f404\"; }\n.bi-hand-thumbs-down::before { content: \"\\f405\"; }\n.bi-hand-thumbs-up-fill::before { content: \"\\f406\"; }\n.bi-hand-thumbs-up::before { content: \"\\f407\"; }\n.bi-handbag-fill::before { content: \"\\f408\"; }\n.bi-handbag::before { content: \"\\f409\"; }\n.bi-hash::before { content: \"\\f40a\"; }\n.bi-hdd-fill::before { content: \"\\f40b\"; }\n.bi-hdd-network-fill::before { content: \"\\f40c\"; }\n.bi-hdd-network::before { content: \"\\f40d\"; }\n.bi-hdd-rack-fill::before { content: \"\\f40e\"; }\n.bi-hdd-rack::before { content: \"\\f40f\"; }\n.bi-hdd-stack-fill::before { content: \"\\f410\"; }\n.bi-hdd-stack::before { content: \"\\f411\"; }\n.bi-hdd::before { content: \"\\f412\"; }\n.bi-headphones::before { content: \"\\f413\"; }\n.bi-headset::before { content: \"\\f414\"; }\n.bi-heart-fill::before { content: \"\\f415\"; }\n.bi-heart-half::before { content: \"\\f416\"; }\n.bi-heart::before { content: \"\\f417\"; }\n.bi-heptagon-fill::before { content: \"\\f418\"; }\n.bi-heptagon-half::before { content: \"\\f419\"; }\n.bi-heptagon::before { content: \"\\f41a\"; }\n.bi-hexagon-fill::before { content: \"\\f41b\"; }\n.bi-hexagon-half::before { content: \"\\f41c\"; }\n.bi-hexagon::before { content: \"\\f41d\"; }\n.bi-hourglass-bottom::before { content: \"\\f41e\"; }\n.bi-hourglass-split::before { content: \"\\f41f\"; }\n.bi-hourglass-top::before { content: \"\\f420\"; }\n.bi-hourglass::before { content: \"\\f421\"; }\n.bi-house-door-fill::before { content: \"\\f422\"; }\n.bi-house-door::before { content: \"\\f423\"; }\n.bi-house-fill::before { content: \"\\f424\"; }\n.bi-house::before { content: \"\\f425\"; }\n.bi-hr::before { content: \"\\f426\"; }\n.bi-hurricane::before { content: \"\\f427\"; }\n.bi-image-alt::before { content: \"\\f428\"; }\n.bi-image-fill::before { content: \"\\f429\"; }\n.bi-image::before { content: \"\\f42a\"; }\n.bi-images::before { content: \"\\f42b\"; }\n.bi-inbox-fill::before { content: \"\\f42c\"; }\n.bi-inbox::before { content: \"\\f42d\"; }\n.bi-inboxes-fill::before { content: \"\\f42e\"; }\n.bi-inboxes::before { content: \"\\f42f\"; }\n.bi-info-circle-fill::before { content: \"\\f430\"; }\n.bi-info-circle::before { content: \"\\f431\"; }\n.bi-info-square-fill::before { content: \"\\f432\"; }\n.bi-info-square::before { content: \"\\f433\"; }\n.bi-info::before { content: \"\\f434\"; }\n.bi-input-cursor-text::before { content: \"\\f435\"; }\n.bi-input-cursor::before { content: \"\\f436\"; }\n.bi-instagram::before { content: \"\\f437\"; }\n.bi-intersect::before { content: \"\\f438\"; }\n.bi-journal-album::before { content: \"\\f439\"; }\n.bi-journal-arrow-down::before { content: \"\\f43a\"; }\n.bi-journal-arrow-up::before { content: \"\\f43b\"; }\n.bi-journal-bookmark-fill::before { content: \"\\f43c\"; }\n.bi-journal-bookmark::before { content: \"\\f43d\"; }\n.bi-journal-check::before { content: \"\\f43e\"; }\n.bi-journal-code::before { content: \"\\f43f\"; }\n.bi-journal-medical::before { content: \"\\f440\"; }\n.bi-journal-minus::before { content: \"\\f441\"; }\n.bi-journal-plus::before { content: \"\\f442\"; }\n.bi-journal-richtext::before { content: \"\\f443\"; }\n.bi-journal-text::before { content: \"\\f444\"; }\n.bi-journal-x::before { content: \"\\f445\"; }\n.bi-journal::before { content: \"\\f446\"; }\n.bi-journals::before { content: \"\\f447\"; }\n.bi-joystick::before { content: \"\\f448\"; }\n.bi-justify-left::before { content: \"\\f449\"; }\n.bi-justify-right::before { content: \"\\f44a\"; }\n.bi-justify::before { content: \"\\f44b\"; }\n.bi-kanban-fill::before { content: \"\\f44c\"; }\n.bi-kanban::before { content: \"\\f44d\"; }\n.bi-key-fill::before { content: \"\\f44e\"; }\n.bi-key::before { content: \"\\f44f\"; }\n.bi-keyboard-fill::before { content: \"\\f450\"; }\n.bi-keyboard::before { content: \"\\f451\"; }\n.bi-ladder::before { content: \"\\f452\"; }\n.bi-lamp-fill::before { content: \"\\f453\"; }\n.bi-lamp::before { content: \"\\f454\"; }\n.bi-laptop-fill::before { content: \"\\f455\"; }\n.bi-laptop::before { content: \"\\f456\"; }\n.bi-layer-backward::before { content: \"\\f457\"; }\n.bi-layer-forward::before { content: \"\\f458\"; }\n.bi-layers-fill::before { content: \"\\f459\"; }\n.bi-layers-half::before { content: \"\\f45a\"; }\n.bi-layers::before { content: \"\\f45b\"; }\n.bi-layout-sidebar-inset-reverse::before { content: \"\\f45c\"; }\n.bi-layout-sidebar-inset::before { content: \"\\f45d\"; }\n.bi-layout-sidebar-reverse::before { content: \"\\f45e\"; }\n.bi-layout-sidebar::before { content: \"\\f45f\"; }\n.bi-layout-split::before { content: \"\\f460\"; }\n.bi-layout-text-sidebar-reverse::before { content: \"\\f461\"; }\n.bi-layout-text-sidebar::before { content: \"\\f462\"; }\n.bi-layout-text-window-reverse::before { content: \"\\f463\"; }\n.bi-layout-text-window::before { content: \"\\f464\"; }\n.bi-layout-three-columns::before { content: \"\\f465\"; }\n.bi-layout-wtf::before { content: \"\\f466\"; }\n.bi-life-preserver::before { content: \"\\f467\"; }\n.bi-lightbulb-fill::before { content: \"\\f468\"; }\n.bi-lightbulb-off-fill::before { content: \"\\f469\"; }\n.bi-lightbulb-off::before { content: \"\\f46a\"; }\n.bi-lightbulb::before { content: \"\\f46b\"; }\n.bi-lightning-charge-fill::before { content: \"\\f46c\"; }\n.bi-lightning-charge::before { content: \"\\f46d\"; }\n.bi-lightning-fill::before { content: \"\\f46e\"; }\n.bi-lightning::before { content: \"\\f46f\"; }\n.bi-link-45deg::before { content: \"\\f470\"; }\n.bi-link::before { content: \"\\f471\"; }\n.bi-linkedin::before { content: \"\\f472\"; }\n.bi-list-check::before { content: \"\\f473\"; }\n.bi-list-nested::before { content: \"\\f474\"; }\n.bi-list-ol::before { content: \"\\f475\"; }\n.bi-list-stars::before { content: \"\\f476\"; }\n.bi-list-task::before { content: \"\\f477\"; }\n.bi-list-ul::before { content: \"\\f478\"; }\n.bi-list::before { content: \"\\f479\"; }\n.bi-lock-fill::before { content: \"\\f47a\"; }\n.bi-lock::before { content: \"\\f47b\"; }\n.bi-mailbox::before { content: \"\\f47c\"; }\n.bi-mailbox2::before { content: \"\\f47d\"; }\n.bi-map-fill::before { content: \"\\f47e\"; }\n.bi-map::before { content: \"\\f47f\"; }\n.bi-markdown-fill::before { content: \"\\f480\"; }\n.bi-markdown::before { content: \"\\f481\"; }\n.bi-mask::before { content: \"\\f482\"; }\n.bi-megaphone-fill::before { content: \"\\f483\"; }\n.bi-megaphone::before { content: \"\\f484\"; }\n.bi-menu-app-fill::before { content: \"\\f485\"; }\n.bi-menu-app::before { content: \"\\f486\"; }\n.bi-menu-button-fill::before { content: \"\\f487\"; }\n.bi-menu-button-wide-fill::before { content: \"\\f488\"; }\n.bi-menu-button-wide::before { content: \"\\f489\"; }\n.bi-menu-button::before { content: \"\\f48a\"; }\n.bi-menu-down::before { content: \"\\f48b\"; }\n.bi-menu-up::before { content: \"\\f48c\"; }\n.bi-mic-fill::before { content: \"\\f48d\"; }\n.bi-mic-mute-fill::before { content: \"\\f48e\"; }\n.bi-mic-mute::before { content: \"\\f48f\"; }\n.bi-mic::before { content: \"\\f490\"; }\n.bi-minecart-loaded::before { content: \"\\f491\"; }\n.bi-minecart::before { content: \"\\f492\"; }\n.bi-moisture::before { content: \"\\f493\"; }\n.bi-moon-fill::before { content: \"\\f494\"; }\n.bi-moon-stars-fill::before { content: \"\\f495\"; }\n.bi-moon-stars::before { content: \"\\f496\"; }\n.bi-moon::before { content: \"\\f497\"; }\n.bi-mouse-fill::before { content: \"\\f498\"; }\n.bi-mouse::before { content: \"\\f499\"; }\n.bi-mouse2-fill::before { content: \"\\f49a\"; }\n.bi-mouse2::before { content: \"\\f49b\"; }\n.bi-mouse3-fill::before { content: \"\\f49c\"; }\n.bi-mouse3::before { content: \"\\f49d\"; }\n.bi-music-note-beamed::before { content: \"\\f49e\"; }\n.bi-music-note-list::before { content: \"\\f49f\"; }\n.bi-music-note::before { content: \"\\f4a0\"; }\n.bi-music-player-fill::before { content: \"\\f4a1\"; }\n.bi-music-player::before { content: \"\\f4a2\"; }\n.bi-newspaper::before { content: \"\\f4a3\"; }\n.bi-node-minus-fill::before { content: \"\\f4a4\"; }\n.bi-node-minus::before { content: \"\\f4a5\"; }\n.bi-node-plus-fill::before { content: \"\\f4a6\"; }\n.bi-node-plus::before { content: \"\\f4a7\"; }\n.bi-nut-fill::before { content: \"\\f4a8\"; }\n.bi-nut::before { content: \"\\f4a9\"; }\n.bi-octagon-fill::before { content: \"\\f4aa\"; }\n.bi-octagon-half::before { content: \"\\f4ab\"; }\n.bi-octagon::before { content: \"\\f4ac\"; }\n.bi-option::before { content: \"\\f4ad\"; }\n.bi-outlet::before { content: \"\\f4ae\"; }\n.bi-paint-bucket::before { content: \"\\f4af\"; }\n.bi-palette-fill::before { content: \"\\f4b0\"; }\n.bi-palette::before { content: \"\\f4b1\"; }\n.bi-palette2::before { content: \"\\f4b2\"; }\n.bi-paperclip::before { content: \"\\f4b3\"; }\n.bi-paragraph::before { content: \"\\f4b4\"; }\n.bi-patch-check-fill::before { content: \"\\f4b5\"; }\n.bi-patch-check::before { content: \"\\f4b6\"; }\n.bi-patch-exclamation-fill::before { content: \"\\f4b7\"; }\n.bi-patch-exclamation::before { content: \"\\f4b8\"; }\n.bi-patch-minus-fill::before { content: \"\\f4b9\"; }\n.bi-patch-minus::before { content: \"\\f4ba\"; }\n.bi-patch-plus-fill::before { content: \"\\f4bb\"; }\n.bi-patch-plus::before { content: \"\\f4bc\"; }\n.bi-patch-question-fill::before { content: \"\\f4bd\"; }\n.bi-patch-question::before { content: \"\\f4be\"; }\n.bi-pause-btn-fill::before { content: \"\\f4bf\"; }\n.bi-pause-btn::before { content: \"\\f4c0\"; }\n.bi-pause-circle-fill::before { content: \"\\f4c1\"; }\n.bi-pause-circle::before { content: \"\\f4c2\"; }\n.bi-pause-fill::before { content: \"\\f4c3\"; }\n.bi-pause::before { content: \"\\f4c4\"; }\n.bi-peace-fill::before { content: \"\\f4c5\"; }\n.bi-peace::before { content: \"\\f4c6\"; }\n.bi-pen-fill::before { content: \"\\f4c7\"; }\n.bi-pen::before { content: \"\\f4c8\"; }\n.bi-pencil-fill::before { content: \"\\f4c9\"; }\n.bi-pencil-square::before { content: \"\\f4ca\"; }\n.bi-pencil::before { content: \"\\f4cb\"; }\n.bi-pentagon-fill::before { content: \"\\f4cc\"; }\n.bi-pentagon-half::before { content: \"\\f4cd\"; }\n.bi-pentagon::before { content: \"\\f4ce\"; }\n.bi-people-fill::before { content: \"\\f4cf\"; }\n.bi-people::before { content: \"\\f4d0\"; }\n.bi-percent::before { content: \"\\f4d1\"; }\n.bi-person-badge-fill::before { content: \"\\f4d2\"; }\n.bi-person-badge::before { content: \"\\f4d3\"; }\n.bi-person-bounding-box::before { content: \"\\f4d4\"; }\n.bi-person-check-fill::before { content: \"\\f4d5\"; }\n.bi-person-check::before { content: \"\\f4d6\"; }\n.bi-person-circle::before { content: \"\\f4d7\"; }\n.bi-person-dash-fill::before { content: \"\\f4d8\"; }\n.bi-person-dash::before { content: \"\\f4d9\"; }\n.bi-person-fill::before { content: \"\\f4da\"; }\n.bi-person-lines-fill::before { content: \"\\f4db\"; }\n.bi-person-plus-fill::before { content: \"\\f4dc\"; }\n.bi-person-plus::before { content: \"\\f4dd\"; }\n.bi-person-square::before { content: \"\\f4de\"; }\n.bi-person-x-fill::before { content: \"\\f4df\"; }\n.bi-person-x::before { content: \"\\f4e0\"; }\n.bi-person::before { content: \"\\f4e1\"; }\n.bi-phone-fill::before { content: \"\\f4e2\"; }\n.bi-phone-landscape-fill::before { content: \"\\f4e3\"; }\n.bi-phone-landscape::before { content: \"\\f4e4\"; }\n.bi-phone-vibrate-fill::before { content: \"\\f4e5\"; }\n.bi-phone-vibrate::before { content: \"\\f4e6\"; }\n.bi-phone::before { content: \"\\f4e7\"; }\n.bi-pie-chart-fill::before { content: \"\\f4e8\"; }\n.bi-pie-chart::before { content: \"\\f4e9\"; }\n.bi-pin-angle-fill::before { content: \"\\f4ea\"; }\n.bi-pin-angle::before { content: \"\\f4eb\"; }\n.bi-pin-fill::before { content: \"\\f4ec\"; }\n.bi-pin::before { content: \"\\f4ed\"; }\n.bi-pip-fill::before { content: \"\\f4ee\"; }\n.bi-pip::before { content: \"\\f4ef\"; }\n.bi-play-btn-fill::before { content: \"\\f4f0\"; }\n.bi-play-btn::before { content: \"\\f4f1\"; }\n.bi-play-circle-fill::before { content: \"\\f4f2\"; }\n.bi-play-circle::before { content: \"\\f4f3\"; }\n.bi-play-fill::before { content: \"\\f4f4\"; }\n.bi-play::before { content: \"\\f4f5\"; }\n.bi-plug-fill::before { content: \"\\f4f6\"; }\n.bi-plug::before { content: \"\\f4f7\"; }\n.bi-plus-circle-dotted::before { content: \"\\f4f8\"; }\n.bi-plus-circle-fill::before { content: \"\\f4f9\"; }\n.bi-plus-circle::before { content: \"\\f4fa\"; }\n.bi-plus-square-dotted::before { content: \"\\f4fb\"; }\n.bi-plus-square-fill::before { content: \"\\f4fc\"; }\n.bi-plus-square::before { content: \"\\f4fd\"; }\n.bi-plus::before { content: \"\\f4fe\"; }\n.bi-power::before { content: \"\\f4ff\"; }\n.bi-printer-fill::before { content: \"\\f500\"; }\n.bi-printer::before { content: \"\\f501\"; }\n.bi-puzzle-fill::before { content: \"\\f502\"; }\n.bi-puzzle::before { content: \"\\f503\"; }\n.bi-question-circle-fill::before { content: \"\\f504\"; }\n.bi-question-circle::before { content: \"\\f505\"; }\n.bi-question-diamond-fill::before { content: \"\\f506\"; }\n.bi-question-diamond::before { content: \"\\f507\"; }\n.bi-question-octagon-fill::before { content: \"\\f508\"; }\n.bi-question-octagon::before { content: \"\\f509\"; }\n.bi-question-square-fill::before { content: \"\\f50a\"; }\n.bi-question-square::before { content: \"\\f50b\"; }\n.bi-question::before { content: \"\\f50c\"; }\n.bi-rainbow::before { content: \"\\f50d\"; }\n.bi-receipt-cutoff::before { content: \"\\f50e\"; }\n.bi-receipt::before { content: \"\\f50f\"; }\n.bi-reception-0::before { content: \"\\f510\"; }\n.bi-reception-1::before { content: \"\\f511\"; }\n.bi-reception-2::before { content: \"\\f512\"; }\n.bi-reception-3::before { content: \"\\f513\"; }\n.bi-reception-4::before { content: \"\\f514\"; }\n.bi-record-btn-fill::before { content: \"\\f515\"; }\n.bi-record-btn::before { content: \"\\f516\"; }\n.bi-record-circle-fill::before { content: \"\\f517\"; }\n.bi-record-circle::before { content: \"\\f518\"; }\n.bi-record-fill::before { content: \"\\f519\"; }\n.bi-record::before { content: \"\\f51a\"; }\n.bi-record2-fill::before { content: \"\\f51b\"; }\n.bi-record2::before { content: \"\\f51c\"; }\n.bi-reply-all-fill::before { content: \"\\f51d\"; }\n.bi-reply-all::before { content: \"\\f51e\"; }\n.bi-reply-fill::before { content: \"\\f51f\"; }\n.bi-reply::before { content: \"\\f520\"; }\n.bi-rss-fill::before { content: \"\\f521\"; }\n.bi-rss::before { content: \"\\f522\"; }\n.bi-rulers::before { content: \"\\f523\"; }\n.bi-save-fill::before { content: \"\\f524\"; }\n.bi-save::before { content: \"\\f525\"; }\n.bi-save2-fill::before { content: \"\\f526\"; }\n.bi-save2::before { content: \"\\f527\"; }\n.bi-scissors::before { content: \"\\f528\"; }\n.bi-screwdriver::before { content: \"\\f529\"; }\n.bi-search::before { content: \"\\f52a\"; }\n.bi-segmented-nav::before { content: \"\\f52b\"; }\n.bi-server::before { content: \"\\f52c\"; }\n.bi-share-fill::before { content: \"\\f52d\"; }\n.bi-share::before { content: \"\\f52e\"; }\n.bi-shield-check::before { content: \"\\f52f\"; }\n.bi-shield-exclamation::before { content: \"\\f530\"; }\n.bi-shield-fill-check::before { content: \"\\f531\"; }\n.bi-shield-fill-exclamation::before { content: \"\\f532\"; }\n.bi-shield-fill-minus::before { content: \"\\f533\"; }\n.bi-shield-fill-plus::before { content: \"\\f534\"; }\n.bi-shield-fill-x::before { content: \"\\f535\"; }\n.bi-shield-fill::before { content: \"\\f536\"; }\n.bi-shield-lock-fill::before { content: \"\\f537\"; }\n.bi-shield-lock::before { content: \"\\f538\"; }\n.bi-shield-minus::before { content: \"\\f539\"; }\n.bi-shield-plus::before { content: \"\\f53a\"; }\n.bi-shield-shaded::before { content: \"\\f53b\"; }\n.bi-shield-slash-fill::before { content: \"\\f53c\"; }\n.bi-shield-slash::before { content: \"\\f53d\"; }\n.bi-shield-x::before { content: \"\\f53e\"; }\n.bi-shield::before { content: \"\\f53f\"; }\n.bi-shift-fill::before { content: \"\\f540\"; }\n.bi-shift::before { content: \"\\f541\"; }\n.bi-shop-window::before { content: \"\\f542\"; }\n.bi-shop::before { content: \"\\f543\"; }\n.bi-shuffle::before { content: \"\\f544\"; }\n.bi-signpost-2-fill::before { content: \"\\f545\"; }\n.bi-signpost-2::before { content: \"\\f546\"; }\n.bi-signpost-fill::before { content: \"\\f547\"; }\n.bi-signpost-split-fill::before { content: \"\\f548\"; }\n.bi-signpost-split::before { content: \"\\f549\"; }\n.bi-signpost::before { content: \"\\f54a\"; }\n.bi-sim-fill::before { content: \"\\f54b\"; }\n.bi-sim::before { content: \"\\f54c\"; }\n.bi-skip-backward-btn-fill::before { content: \"\\f54d\"; }\n.bi-skip-backward-btn::before { content: \"\\f54e\"; }\n.bi-skip-backward-circle-fill::before { content: \"\\f54f\"; }\n.bi-skip-backward-circle::before { content: \"\\f550\"; }\n.bi-skip-backward-fill::before { content: \"\\f551\"; }\n.bi-skip-backward::before { content: \"\\f552\"; }\n.bi-skip-end-btn-fill::before { content: \"\\f553\"; }\n.bi-skip-end-btn::before { content: \"\\f554\"; }\n.bi-skip-end-circle-fill::before { content: \"\\f555\"; }\n.bi-skip-end-circle::before { content: \"\\f556\"; }\n.bi-skip-end-fill::before { content: \"\\f557\"; }\n.bi-skip-end::before { content: \"\\f558\"; }\n.bi-skip-forward-btn-fill::before { content: \"\\f559\"; }\n.bi-skip-forward-btn::before { content: \"\\f55a\"; }\n.bi-skip-forward-circle-fill::before { content: \"\\f55b\"; }\n.bi-skip-forward-circle::before { content: \"\\f55c\"; }\n.bi-skip-forward-fill::before { content: \"\\f55d\"; }\n.bi-skip-forward::before { content: \"\\f55e\"; }\n.bi-skip-start-btn-fill::before { content: \"\\f55f\"; }\n.bi-skip-start-btn::before { content: \"\\f560\"; }\n.bi-skip-start-circle-fill::before { content: \"\\f561\"; }\n.bi-skip-start-circle::before { content: \"\\f562\"; }\n.bi-skip-start-fill::before { content: \"\\f563\"; }\n.bi-skip-start::before { content: \"\\f564\"; }\n.bi-slack::before { content: \"\\f565\"; }\n.bi-slash-circle-fill::before { content: \"\\f566\"; }\n.bi-slash-circle::before { content: \"\\f567\"; }\n.bi-slash-square-fill::before { content: \"\\f568\"; }\n.bi-slash-square::before { content: \"\\f569\"; }\n.bi-slash::before { content: \"\\f56a\"; }\n.bi-sliders::before { content: \"\\f56b\"; }\n.bi-smartwatch::before { content: \"\\f56c\"; }\n.bi-snow::before { content: \"\\f56d\"; }\n.bi-snow2::before { content: \"\\f56e\"; }\n.bi-snow3::before { content: \"\\f56f\"; }\n.bi-sort-alpha-down-alt::before { content: \"\\f570\"; }\n.bi-sort-alpha-down::before { content: \"\\f571\"; }\n.bi-sort-alpha-up-alt::before { content: \"\\f572\"; }\n.bi-sort-alpha-up::before { content: \"\\f573\"; }\n.bi-sort-down-alt::before { content: \"\\f574\"; }\n.bi-sort-down::before { content: \"\\f575\"; }\n.bi-sort-numeric-down-alt::before { content: \"\\f576\"; }\n.bi-sort-numeric-down::before { content: \"\\f577\"; }\n.bi-sort-numeric-up-alt::before { content: \"\\f578\"; }\n.bi-sort-numeric-up::before { content: \"\\f579\"; }\n.bi-sort-up-alt::before { content: \"\\f57a\"; }\n.bi-sort-up::before { content: \"\\f57b\"; }\n.bi-soundwave::before { content: \"\\f57c\"; }\n.bi-speaker-fill::before { content: \"\\f57d\"; }\n.bi-speaker::before { content: \"\\f57e\"; }\n.bi-speedometer::before { content: \"\\f57f\"; }\n.bi-speedometer2::before { content: \"\\f580\"; }\n.bi-spellcheck::before { content: \"\\f581\"; }\n.bi-square-fill::before { content: \"\\f582\"; }\n.bi-square-half::before { content: \"\\f583\"; }\n.bi-square::before { content: \"\\f584\"; }\n.bi-stack::before { content: \"\\f585\"; }\n.bi-star-fill::before { content: \"\\f586\"; }\n.bi-star-half::before { content: \"\\f587\"; }\n.bi-star::before { content: \"\\f588\"; }\n.bi-stars::before { content: \"\\f589\"; }\n.bi-stickies-fill::before { content: \"\\f58a\"; }\n.bi-stickies::before { content: \"\\f58b\"; }\n.bi-sticky-fill::before { content: \"\\f58c\"; }\n.bi-sticky::before { content: \"\\f58d\"; }\n.bi-stop-btn-fill::before { content: \"\\f58e\"; }\n.bi-stop-btn::before { content: \"\\f58f\"; }\n.bi-stop-circle-fill::before { content: \"\\f590\"; }\n.bi-stop-circle::before { content: \"\\f591\"; }\n.bi-stop-fill::before { content: \"\\f592\"; }\n.bi-stop::before { content: \"\\f593\"; }\n.bi-stoplights-fill::before { content: \"\\f594\"; }\n.bi-stoplights::before { content: \"\\f595\"; }\n.bi-stopwatch-fill::before { content: \"\\f596\"; }\n.bi-stopwatch::before { content: \"\\f597\"; }\n.bi-subtract::before { content: \"\\f598\"; }\n.bi-suit-club-fill::before { content: \"\\f599\"; }\n.bi-suit-club::before { content: \"\\f59a\"; }\n.bi-suit-diamond-fill::before { content: \"\\f59b\"; }\n.bi-suit-diamond::before { content: \"\\f59c\"; }\n.bi-suit-heart-fill::before { content: \"\\f59d\"; }\n.bi-suit-heart::before { content: \"\\f59e\"; }\n.bi-suit-spade-fill::before { content: \"\\f59f\"; }\n.bi-suit-spade::before { content: \"\\f5a0\"; }\n.bi-sun-fill::before { content: \"\\f5a1\"; }\n.bi-sun::before { content: \"\\f5a2\"; }\n.bi-sunglasses::before { content: \"\\f5a3\"; }\n.bi-sunrise-fill::before { content: \"\\f5a4\"; }\n.bi-sunrise::before { content: \"\\f5a5\"; }\n.bi-sunset-fill::before { content: \"\\f5a6\"; }\n.bi-sunset::before { content: \"\\f5a7\"; }\n.bi-symmetry-horizontal::before { content: \"\\f5a8\"; }\n.bi-symmetry-vertical::before { content: \"\\f5a9\"; }\n.bi-table::before { content: \"\\f5aa\"; }\n.bi-tablet-fill::before { content: \"\\f5ab\"; }\n.bi-tablet-landscape-fill::before { content: \"\\f5ac\"; }\n.bi-tablet-landscape::before { content: \"\\f5ad\"; }\n.bi-tablet::before { content: \"\\f5ae\"; }\n.bi-tag-fill::before { content: \"\\f5af\"; }\n.bi-tag::before { content: \"\\f5b0\"; }\n.bi-tags-fill::before { content: \"\\f5b1\"; }\n.bi-tags::before { content: \"\\f5b2\"; }\n.bi-telegram::before { content: \"\\f5b3\"; }\n.bi-telephone-fill::before { content: \"\\f5b4\"; }\n.bi-telephone-forward-fill::before { content: \"\\f5b5\"; }\n.bi-telephone-forward::before { content: \"\\f5b6\"; }\n.bi-telephone-inbound-fill::before { content: \"\\f5b7\"; }\n.bi-telephone-inbound::before { content: \"\\f5b8\"; }\n.bi-telephone-minus-fill::before { content: \"\\f5b9\"; }\n.bi-telephone-minus::before { content: \"\\f5ba\"; }\n.bi-telephone-outbound-fill::before { content: \"\\f5bb\"; }\n.bi-telephone-outbound::before { content: \"\\f5bc\"; }\n.bi-telephone-plus-fill::before { content: \"\\f5bd\"; }\n.bi-telephone-plus::before { content: \"\\f5be\"; }\n.bi-telephone-x-fill::before { content: \"\\f5bf\"; }\n.bi-telephone-x::before { content: \"\\f5c0\"; }\n.bi-telephone::before { content: \"\\f5c1\"; }\n.bi-terminal-fill::before { content: \"\\f5c2\"; }\n.bi-terminal::before { content: \"\\f5c3\"; }\n.bi-text-center::before { content: \"\\f5c4\"; }\n.bi-text-indent-left::before { content: \"\\f5c5\"; }\n.bi-text-indent-right::before { content: \"\\f5c6\"; }\n.bi-text-left::before { content: \"\\f5c7\"; }\n.bi-text-paragraph::before { content: \"\\f5c8\"; }\n.bi-text-right::before { content: \"\\f5c9\"; }\n.bi-textarea-resize::before { content: \"\\f5ca\"; }\n.bi-textarea-t::before { content: \"\\f5cb\"; }\n.bi-textarea::before { content: \"\\f5cc\"; }\n.bi-thermometer-half::before { content: \"\\f5cd\"; }\n.bi-thermometer-high::before { content: \"\\f5ce\"; }\n.bi-thermometer-low::before { content: \"\\f5cf\"; }\n.bi-thermometer-snow::before { content: \"\\f5d0\"; }\n.bi-thermometer-sun::before { content: \"\\f5d1\"; }\n.bi-thermometer::before { content: \"\\f5d2\"; }\n.bi-three-dots-vertical::before { content: \"\\f5d3\"; }\n.bi-three-dots::before { content: \"\\f5d4\"; }\n.bi-toggle-off::before { content: \"\\f5d5\"; }\n.bi-toggle-on::before { content: \"\\f5d6\"; }\n.bi-toggle2-off::before { content: \"\\f5d7\"; }\n.bi-toggle2-on::before { content: \"\\f5d8\"; }\n.bi-toggles::before { content: \"\\f5d9\"; }\n.bi-toggles2::before { content: \"\\f5da\"; }\n.bi-tools::before { content: \"\\f5db\"; }\n.bi-tornado::before { content: \"\\f5dc\"; }\n.bi-trash-fill::before { content: \"\\f5dd\"; }\n.bi-trash::before { content: \"\\f5de\"; }\n.bi-trash2-fill::before { content: \"\\f5df\"; }\n.bi-trash2::before { content: \"\\f5e0\"; }\n.bi-tree-fill::before { content: \"\\f5e1\"; }\n.bi-tree::before { content: \"\\f5e2\"; }\n.bi-triangle-fill::before { content: \"\\f5e3\"; }\n.bi-triangle-half::before { content: \"\\f5e4\"; }\n.bi-triangle::before { content: \"\\f5e5\"; }\n.bi-trophy-fill::before { content: \"\\f5e6\"; }\n.bi-trophy::before { content: \"\\f5e7\"; }\n.bi-tropical-storm::before { content: \"\\f5e8\"; }\n.bi-truck-flatbed::before { content: \"\\f5e9\"; }\n.bi-truck::before { content: \"\\f5ea\"; }\n.bi-tsunami::before { content: \"\\f5eb\"; }\n.bi-tv-fill::before { content: \"\\f5ec\"; }\n.bi-tv::before { content: \"\\f5ed\"; }\n.bi-twitch::before { content: \"\\f5ee\"; }\n.bi-twitter::before { content: \"\\f5ef\"; }\n.bi-type-bold::before { content: \"\\f5f0\"; }\n.bi-type-h1::before { content: \"\\f5f1\"; }\n.bi-type-h2::before { content: \"\\f5f2\"; }\n.bi-type-h3::before { content: \"\\f5f3\"; }\n.bi-type-italic::before { content: \"\\f5f4\"; }\n.bi-type-strikethrough::before { content: \"\\f5f5\"; }\n.bi-type-underline::before { content: \"\\f5f6\"; }\n.bi-type::before { content: \"\\f5f7\"; }\n.bi-ui-checks-grid::before { content: \"\\f5f8\"; }\n.bi-ui-checks::before { content: \"\\f5f9\"; }\n.bi-ui-radios-grid::before { content: \"\\f5fa\"; }\n.bi-ui-radios::before { content: \"\\f5fb\"; }\n.bi-umbrella-fill::before { content: \"\\f5fc\"; }\n.bi-umbrella::before { content: \"\\f5fd\"; }\n.bi-union::before { content: \"\\f5fe\"; }\n.bi-unlock-fill::before { content: \"\\f5ff\"; }\n.bi-unlock::before { content: \"\\f600\"; }\n.bi-upc-scan::before { content: \"\\f601\"; }\n.bi-upc::before { content: \"\\f602\"; }\n.bi-upload::before { content: \"\\f603\"; }\n.bi-vector-pen::before { content: \"\\f604\"; }\n.bi-view-list::before { content: \"\\f605\"; }\n.bi-view-stacked::before { content: \"\\f606\"; }\n.bi-vinyl-fill::before { content: \"\\f607\"; }\n.bi-vinyl::before { content: \"\\f608\"; }\n.bi-voicemail::before { content: \"\\f609\"; }\n.bi-volume-down-fill::before { content: \"\\f60a\"; }\n.bi-volume-down::before { content: \"\\f60b\"; }\n.bi-volume-mute-fill::before { content: \"\\f60c\"; }\n.bi-volume-mute::before { content: \"\\f60d\"; }\n.bi-volume-off-fill::before { content: \"\\f60e\"; }\n.bi-volume-off::before { content: \"\\f60f\"; }\n.bi-volume-up-fill::before { content: \"\\f610\"; }\n.bi-volume-up::before { content: \"\\f611\"; }\n.bi-vr::before { content: \"\\f612\"; }\n.bi-wallet-fill::before { content: \"\\f613\"; }\n.bi-wallet::before { content: \"\\f614\"; }\n.bi-wallet2::before { content: \"\\f615\"; }\n.bi-watch::before { content: \"\\f616\"; }\n.bi-water::before { content: \"\\f617\"; }\n.bi-whatsapp::before { content: \"\\f618\"; }\n.bi-wifi-1::before { content: \"\\f619\"; }\n.bi-wifi-2::before { content: \"\\f61a\"; }\n.bi-wifi-off::before { content: \"\\f61b\"; }\n.bi-wifi::before { content: \"\\f61c\"; }\n.bi-wind::before { content: \"\\f61d\"; }\n.bi-window-dock::before { content: \"\\f61e\"; }\n.bi-window-sidebar::before { content: \"\\f61f\"; }\n.bi-window::before { content: \"\\f620\"; }\n.bi-wrench::before { content: \"\\f621\"; }\n.bi-x-circle-fill::before { content: \"\\f622\"; }\n.bi-x-circle::before { content: \"\\f623\"; }\n.bi-x-diamond-fill::before { content: \"\\f624\"; }\n.bi-x-diamond::before { content: \"\\f625\"; }\n.bi-x-octagon-fill::before { content: \"\\f626\"; }\n.bi-x-octagon::before { content: \"\\f627\"; }\n.bi-x-square-fill::before { content: \"\\f628\"; }\n.bi-x-square::before { content: \"\\f629\"; }\n.bi-x::before { content: \"\\f62a\"; }\n.bi-youtube::before { content: \"\\f62b\"; }\n.bi-zoom-in::before { content: \"\\f62c\"; }\n.bi-zoom-out::before { content: \"\\f62d\"; }\n"
  },
  {
    "path": "bl-kernel/css/bootstrap-icons/bootstrap-icons.json",
    "content": "{\n  \"alarm-fill\": 61697,\n  \"alarm\": 61698,\n  \"align-bottom\": 61699,\n  \"align-center\": 61700,\n  \"align-end\": 61701,\n  \"align-middle\": 61702,\n  \"align-start\": 61703,\n  \"align-top\": 61704,\n  \"alt\": 61705,\n  \"app-indicator\": 61706,\n  \"app\": 61707,\n  \"archive-fill\": 61708,\n  \"archive\": 61709,\n  \"arrow-90deg-down\": 61710,\n  \"arrow-90deg-left\": 61711,\n  \"arrow-90deg-right\": 61712,\n  \"arrow-90deg-up\": 61713,\n  \"arrow-bar-down\": 61714,\n  \"arrow-bar-left\": 61715,\n  \"arrow-bar-right\": 61716,\n  \"arrow-bar-up\": 61717,\n  \"arrow-clockwise\": 61718,\n  \"arrow-counterclockwise\": 61719,\n  \"arrow-down-circle-fill\": 61720,\n  \"arrow-down-circle\": 61721,\n  \"arrow-down-left-circle-fill\": 61722,\n  \"arrow-down-left-circle\": 61723,\n  \"arrow-down-left-square-fill\": 61724,\n  \"arrow-down-left-square\": 61725,\n  \"arrow-down-left\": 61726,\n  \"arrow-down-right-circle-fill\": 61727,\n  \"arrow-down-right-circle\": 61728,\n  \"arrow-down-right-square-fill\": 61729,\n  \"arrow-down-right-square\": 61730,\n  \"arrow-down-right\": 61731,\n  \"arrow-down-short\": 61732,\n  \"arrow-down-square-fill\": 61733,\n  \"arrow-down-square\": 61734,\n  \"arrow-down-up\": 61735,\n  \"arrow-down\": 61736,\n  \"arrow-left-circle-fill\": 61737,\n  \"arrow-left-circle\": 61738,\n  \"arrow-left-right\": 61739,\n  \"arrow-left-short\": 61740,\n  \"arrow-left-square-fill\": 61741,\n  \"arrow-left-square\": 61742,\n  \"arrow-left\": 61743,\n  \"arrow-repeat\": 61744,\n  \"arrow-return-left\": 61745,\n  \"arrow-return-right\": 61746,\n  \"arrow-right-circle-fill\": 61747,\n  \"arrow-right-circle\": 61748,\n  \"arrow-right-short\": 61749,\n  \"arrow-right-square-fill\": 61750,\n  \"arrow-right-square\": 61751,\n  \"arrow-right\": 61752,\n  \"arrow-up-circle-fill\": 61753,\n  \"arrow-up-circle\": 61754,\n  \"arrow-up-left-circle-fill\": 61755,\n  \"arrow-up-left-circle\": 61756,\n  \"arrow-up-left-square-fill\": 61757,\n  \"arrow-up-left-square\": 61758,\n  \"arrow-up-left\": 61759,\n  \"arrow-up-right-circle-fill\": 61760,\n  \"arrow-up-right-circle\": 61761,\n  \"arrow-up-right-square-fill\": 61762,\n  \"arrow-up-right-square\": 61763,\n  \"arrow-up-right\": 61764,\n  \"arrow-up-short\": 61765,\n  \"arrow-up-square-fill\": 61766,\n  \"arrow-up-square\": 61767,\n  \"arrow-up\": 61768,\n  \"arrows-angle-contract\": 61769,\n  \"arrows-angle-expand\": 61770,\n  \"arrows-collapse\": 61771,\n  \"arrows-expand\": 61772,\n  \"arrows-fullscreen\": 61773,\n  \"arrows-move\": 61774,\n  \"aspect-ratio-fill\": 61775,\n  \"aspect-ratio\": 61776,\n  \"asterisk\": 61777,\n  \"at\": 61778,\n  \"award-fill\": 61779,\n  \"award\": 61780,\n  \"back\": 61781,\n  \"backspace-fill\": 61782,\n  \"backspace-reverse-fill\": 61783,\n  \"backspace-reverse\": 61784,\n  \"backspace\": 61785,\n  \"badge-3d-fill\": 61786,\n  \"badge-3d\": 61787,\n  \"badge-4k-fill\": 61788,\n  \"badge-4k\": 61789,\n  \"badge-8k-fill\": 61790,\n  \"badge-8k\": 61791,\n  \"badge-ad-fill\": 61792,\n  \"badge-ad\": 61793,\n  \"badge-ar-fill\": 61794,\n  \"badge-ar\": 61795,\n  \"badge-cc-fill\": 61796,\n  \"badge-cc\": 61797,\n  \"badge-hd-fill\": 61798,\n  \"badge-hd\": 61799,\n  \"badge-tm-fill\": 61800,\n  \"badge-tm\": 61801,\n  \"badge-vo-fill\": 61802,\n  \"badge-vo\": 61803,\n  \"badge-vr-fill\": 61804,\n  \"badge-vr\": 61805,\n  \"badge-wc-fill\": 61806,\n  \"badge-wc\": 61807,\n  \"bag-check-fill\": 61808,\n  \"bag-check\": 61809,\n  \"bag-dash-fill\": 61810,\n  \"bag-dash\": 61811,\n  \"bag-fill\": 61812,\n  \"bag-plus-fill\": 61813,\n  \"bag-plus\": 61814,\n  \"bag-x-fill\": 61815,\n  \"bag-x\": 61816,\n  \"bag\": 61817,\n  \"bar-chart-fill\": 61818,\n  \"bar-chart-line-fill\": 61819,\n  \"bar-chart-line\": 61820,\n  \"bar-chart-steps\": 61821,\n  \"bar-chart\": 61822,\n  \"basket-fill\": 61823,\n  \"basket\": 61824,\n  \"basket2-fill\": 61825,\n  \"basket2\": 61826,\n  \"basket3-fill\": 61827,\n  \"basket3\": 61828,\n  \"battery-charging\": 61829,\n  \"battery-full\": 61830,\n  \"battery-half\": 61831,\n  \"battery\": 61832,\n  \"bell-fill\": 61833,\n  \"bell\": 61834,\n  \"bezier\": 61835,\n  \"bezier2\": 61836,\n  \"bicycle\": 61837,\n  \"binoculars-fill\": 61838,\n  \"binoculars\": 61839,\n  \"blockquote-left\": 61840,\n  \"blockquote-right\": 61841,\n  \"book-fill\": 61842,\n  \"book-half\": 61843,\n  \"book\": 61844,\n  \"bookmark-check-fill\": 61845,\n  \"bookmark-check\": 61846,\n  \"bookmark-dash-fill\": 61847,\n  \"bookmark-dash\": 61848,\n  \"bookmark-fill\": 61849,\n  \"bookmark-heart-fill\": 61850,\n  \"bookmark-heart\": 61851,\n  \"bookmark-plus-fill\": 61852,\n  \"bookmark-plus\": 61853,\n  \"bookmark-star-fill\": 61854,\n  \"bookmark-star\": 61855,\n  \"bookmark-x-fill\": 61856,\n  \"bookmark-x\": 61857,\n  \"bookmark\": 61858,\n  \"bookmarks-fill\": 61859,\n  \"bookmarks\": 61860,\n  \"bookshelf\": 61861,\n  \"bootstrap-fill\": 61862,\n  \"bootstrap-reboot\": 61863,\n  \"bootstrap\": 61864,\n  \"border-all\": 61865,\n  \"border-bottom\": 61866,\n  \"border-center\": 61867,\n  \"border-inner\": 61868,\n  \"border-left\": 61869,\n  \"border-middle\": 61870,\n  \"border-outer\": 61871,\n  \"border-right\": 61872,\n  \"border-style\": 61873,\n  \"border-top\": 61874,\n  \"border-width\": 61875,\n  \"border\": 61876,\n  \"bounding-box-circles\": 61877,\n  \"bounding-box\": 61878,\n  \"box-arrow-down-left\": 61879,\n  \"box-arrow-down-right\": 61880,\n  \"box-arrow-down\": 61881,\n  \"box-arrow-in-down-left\": 61882,\n  \"box-arrow-in-down-right\": 61883,\n  \"box-arrow-in-down\": 61884,\n  \"box-arrow-in-left\": 61885,\n  \"box-arrow-in-right\": 61886,\n  \"box-arrow-in-up-left\": 61887,\n  \"box-arrow-in-up-right\": 61888,\n  \"box-arrow-in-up\": 61889,\n  \"box-arrow-left\": 61890,\n  \"box-arrow-right\": 61891,\n  \"box-arrow-up-left\": 61892,\n  \"box-arrow-up-right\": 61893,\n  \"box-arrow-up\": 61894,\n  \"box-seam\": 61895,\n  \"box\": 61896,\n  \"braces\": 61897,\n  \"bricks\": 61898,\n  \"briefcase-fill\": 61899,\n  \"briefcase\": 61900,\n  \"brightness-alt-high-fill\": 61901,\n  \"brightness-alt-high\": 61902,\n  \"brightness-alt-low-fill\": 61903,\n  \"brightness-alt-low\": 61904,\n  \"brightness-high-fill\": 61905,\n  \"brightness-high\": 61906,\n  \"brightness-low-fill\": 61907,\n  \"brightness-low\": 61908,\n  \"broadcast-pin\": 61909,\n  \"broadcast\": 61910,\n  \"brush-fill\": 61911,\n  \"brush\": 61912,\n  \"bucket-fill\": 61913,\n  \"bucket\": 61914,\n  \"bug-fill\": 61915,\n  \"bug\": 61916,\n  \"building\": 61917,\n  \"bullseye\": 61918,\n  \"calculator-fill\": 61919,\n  \"calculator\": 61920,\n  \"calendar-check-fill\": 61921,\n  \"calendar-check\": 61922,\n  \"calendar-date-fill\": 61923,\n  \"calendar-date\": 61924,\n  \"calendar-day-fill\": 61925,\n  \"calendar-day\": 61926,\n  \"calendar-event-fill\": 61927,\n  \"calendar-event\": 61928,\n  \"calendar-fill\": 61929,\n  \"calendar-minus-fill\": 61930,\n  \"calendar-minus\": 61931,\n  \"calendar-month-fill\": 61932,\n  \"calendar-month\": 61933,\n  \"calendar-plus-fill\": 61934,\n  \"calendar-plus\": 61935,\n  \"calendar-range-fill\": 61936,\n  \"calendar-range\": 61937,\n  \"calendar-week-fill\": 61938,\n  \"calendar-week\": 61939,\n  \"calendar-x-fill\": 61940,\n  \"calendar-x\": 61941,\n  \"calendar\": 61942,\n  \"calendar2-check-fill\": 61943,\n  \"calendar2-check\": 61944,\n  \"calendar2-date-fill\": 61945,\n  \"calendar2-date\": 61946,\n  \"calendar2-day-fill\": 61947,\n  \"calendar2-day\": 61948,\n  \"calendar2-event-fill\": 61949,\n  \"calendar2-event\": 61950,\n  \"calendar2-fill\": 61951,\n  \"calendar2-minus-fill\": 61952,\n  \"calendar2-minus\": 61953,\n  \"calendar2-month-fill\": 61954,\n  \"calendar2-month\": 61955,\n  \"calendar2-plus-fill\": 61956,\n  \"calendar2-plus\": 61957,\n  \"calendar2-range-fill\": 61958,\n  \"calendar2-range\": 61959,\n  \"calendar2-week-fill\": 61960,\n  \"calendar2-week\": 61961,\n  \"calendar2-x-fill\": 61962,\n  \"calendar2-x\": 61963,\n  \"calendar2\": 61964,\n  \"calendar3-event-fill\": 61965,\n  \"calendar3-event\": 61966,\n  \"calendar3-fill\": 61967,\n  \"calendar3-range-fill\": 61968,\n  \"calendar3-range\": 61969,\n  \"calendar3-week-fill\": 61970,\n  \"calendar3-week\": 61971,\n  \"calendar3\": 61972,\n  \"calendar4-event\": 61973,\n  \"calendar4-range\": 61974,\n  \"calendar4-week\": 61975,\n  \"calendar4\": 61976,\n  \"camera-fill\": 61977,\n  \"camera-reels-fill\": 61978,\n  \"camera-reels\": 61979,\n  \"camera-video-fill\": 61980,\n  \"camera-video-off-fill\": 61981,\n  \"camera-video-off\": 61982,\n  \"camera-video\": 61983,\n  \"camera\": 61984,\n  \"camera2\": 61985,\n  \"capslock-fill\": 61986,\n  \"capslock\": 61987,\n  \"card-checklist\": 61988,\n  \"card-heading\": 61989,\n  \"card-image\": 61990,\n  \"card-list\": 61991,\n  \"card-text\": 61992,\n  \"caret-down-fill\": 61993,\n  \"caret-down-square-fill\": 61994,\n  \"caret-down-square\": 61995,\n  \"caret-down\": 61996,\n  \"caret-left-fill\": 61997,\n  \"caret-left-square-fill\": 61998,\n  \"caret-left-square\": 61999,\n  \"caret-left\": 62000,\n  \"caret-right-fill\": 62001,\n  \"caret-right-square-fill\": 62002,\n  \"caret-right-square\": 62003,\n  \"caret-right\": 62004,\n  \"caret-up-fill\": 62005,\n  \"caret-up-square-fill\": 62006,\n  \"caret-up-square\": 62007,\n  \"caret-up\": 62008,\n  \"cart-check-fill\": 62009,\n  \"cart-check\": 62010,\n  \"cart-dash-fill\": 62011,\n  \"cart-dash\": 62012,\n  \"cart-fill\": 62013,\n  \"cart-plus-fill\": 62014,\n  \"cart-plus\": 62015,\n  \"cart-x-fill\": 62016,\n  \"cart-x\": 62017,\n  \"cart\": 62018,\n  \"cart2\": 62019,\n  \"cart3\": 62020,\n  \"cart4\": 62021,\n  \"cash-stack\": 62022,\n  \"cash\": 62023,\n  \"cast\": 62024,\n  \"chat-dots-fill\": 62025,\n  \"chat-dots\": 62026,\n  \"chat-fill\": 62027,\n  \"chat-left-dots-fill\": 62028,\n  \"chat-left-dots\": 62029,\n  \"chat-left-fill\": 62030,\n  \"chat-left-quote-fill\": 62031,\n  \"chat-left-quote\": 62032,\n  \"chat-left-text-fill\": 62033,\n  \"chat-left-text\": 62034,\n  \"chat-left\": 62035,\n  \"chat-quote-fill\": 62036,\n  \"chat-quote\": 62037,\n  \"chat-right-dots-fill\": 62038,\n  \"chat-right-dots\": 62039,\n  \"chat-right-fill\": 62040,\n  \"chat-right-quote-fill\": 62041,\n  \"chat-right-quote\": 62042,\n  \"chat-right-text-fill\": 62043,\n  \"chat-right-text\": 62044,\n  \"chat-right\": 62045,\n  \"chat-square-dots-fill\": 62046,\n  \"chat-square-dots\": 62047,\n  \"chat-square-fill\": 62048,\n  \"chat-square-quote-fill\": 62049,\n  \"chat-square-quote\": 62050,\n  \"chat-square-text-fill\": 62051,\n  \"chat-square-text\": 62052,\n  \"chat-square\": 62053,\n  \"chat-text-fill\": 62054,\n  \"chat-text\": 62055,\n  \"chat\": 62056,\n  \"check-all\": 62057,\n  \"check-circle-fill\": 62058,\n  \"check-circle\": 62059,\n  \"check-square-fill\": 62060,\n  \"check-square\": 62061,\n  \"check\": 62062,\n  \"check2-all\": 62063,\n  \"check2-circle\": 62064,\n  \"check2-square\": 62065,\n  \"check2\": 62066,\n  \"chevron-bar-contract\": 62067,\n  \"chevron-bar-down\": 62068,\n  \"chevron-bar-expand\": 62069,\n  \"chevron-bar-left\": 62070,\n  \"chevron-bar-right\": 62071,\n  \"chevron-bar-up\": 62072,\n  \"chevron-compact-down\": 62073,\n  \"chevron-compact-left\": 62074,\n  \"chevron-compact-right\": 62075,\n  \"chevron-compact-up\": 62076,\n  \"chevron-contract\": 62077,\n  \"chevron-double-down\": 62078,\n  \"chevron-double-left\": 62079,\n  \"chevron-double-right\": 62080,\n  \"chevron-double-up\": 62081,\n  \"chevron-down\": 62082,\n  \"chevron-expand\": 62083,\n  \"chevron-left\": 62084,\n  \"chevron-right\": 62085,\n  \"chevron-up\": 62086,\n  \"circle-fill\": 62087,\n  \"circle-half\": 62088,\n  \"circle-square\": 62089,\n  \"circle\": 62090,\n  \"clipboard-check\": 62091,\n  \"clipboard-data\": 62092,\n  \"clipboard-minus\": 62093,\n  \"clipboard-plus\": 62094,\n  \"clipboard-x\": 62095,\n  \"clipboard\": 62096,\n  \"clock-fill\": 62097,\n  \"clock-history\": 62098,\n  \"clock\": 62099,\n  \"cloud-arrow-down-fill\": 62100,\n  \"cloud-arrow-down\": 62101,\n  \"cloud-arrow-up-fill\": 62102,\n  \"cloud-arrow-up\": 62103,\n  \"cloud-check-fill\": 62104,\n  \"cloud-check\": 62105,\n  \"cloud-download-fill\": 62106,\n  \"cloud-download\": 62107,\n  \"cloud-drizzle-fill\": 62108,\n  \"cloud-drizzle\": 62109,\n  \"cloud-fill\": 62110,\n  \"cloud-fog-fill\": 62111,\n  \"cloud-fog\": 62112,\n  \"cloud-fog2-fill\": 62113,\n  \"cloud-fog2\": 62114,\n  \"cloud-hail-fill\": 62115,\n  \"cloud-hail\": 62116,\n  \"cloud-haze-1\": 62117,\n  \"cloud-haze-fill\": 62118,\n  \"cloud-haze\": 62119,\n  \"cloud-haze2-fill\": 62120,\n  \"cloud-lightning-fill\": 62121,\n  \"cloud-lightning-rain-fill\": 62122,\n  \"cloud-lightning-rain\": 62123,\n  \"cloud-lightning\": 62124,\n  \"cloud-minus-fill\": 62125,\n  \"cloud-minus\": 62126,\n  \"cloud-moon-fill\": 62127,\n  \"cloud-moon\": 62128,\n  \"cloud-plus-fill\": 62129,\n  \"cloud-plus\": 62130,\n  \"cloud-rain-fill\": 62131,\n  \"cloud-rain-heavy-fill\": 62132,\n  \"cloud-rain-heavy\": 62133,\n  \"cloud-rain\": 62134,\n  \"cloud-slash-fill\": 62135,\n  \"cloud-slash\": 62136,\n  \"cloud-sleet-fill\": 62137,\n  \"cloud-sleet\": 62138,\n  \"cloud-snow-fill\": 62139,\n  \"cloud-snow\": 62140,\n  \"cloud-sun-fill\": 62141,\n  \"cloud-sun\": 62142,\n  \"cloud-upload-fill\": 62143,\n  \"cloud-upload\": 62144,\n  \"cloud\": 62145,\n  \"clouds-fill\": 62146,\n  \"clouds\": 62147,\n  \"cloudy-fill\": 62148,\n  \"cloudy\": 62149,\n  \"code-slash\": 62150,\n  \"code-square\": 62151,\n  \"code\": 62152,\n  \"collection-fill\": 62153,\n  \"collection-play-fill\": 62154,\n  \"collection-play\": 62155,\n  \"collection\": 62156,\n  \"columns-gap\": 62157,\n  \"columns\": 62158,\n  \"command\": 62159,\n  \"compass-fill\": 62160,\n  \"compass\": 62161,\n  \"cone-striped\": 62162,\n  \"cone\": 62163,\n  \"controller\": 62164,\n  \"cpu-fill\": 62165,\n  \"cpu\": 62166,\n  \"credit-card-2-back-fill\": 62167,\n  \"credit-card-2-back\": 62168,\n  \"credit-card-2-front-fill\": 62169,\n  \"credit-card-2-front\": 62170,\n  \"credit-card-fill\": 62171,\n  \"credit-card\": 62172,\n  \"crop\": 62173,\n  \"cup-fill\": 62174,\n  \"cup-straw\": 62175,\n  \"cup\": 62176,\n  \"cursor-fill\": 62177,\n  \"cursor-text\": 62178,\n  \"cursor\": 62179,\n  \"dash-circle-dotted\": 62180,\n  \"dash-circle-fill\": 62181,\n  \"dash-circle\": 62182,\n  \"dash-square-dotted\": 62183,\n  \"dash-square-fill\": 62184,\n  \"dash-square\": 62185,\n  \"dash\": 62186,\n  \"diagram-2-fill\": 62187,\n  \"diagram-2\": 62188,\n  \"diagram-3-fill\": 62189,\n  \"diagram-3\": 62190,\n  \"diamond-fill\": 62191,\n  \"diamond-half\": 62192,\n  \"diamond\": 62193,\n  \"dice-1-fill\": 62194,\n  \"dice-1\": 62195,\n  \"dice-2-fill\": 62196,\n  \"dice-2\": 62197,\n  \"dice-3-fill\": 62198,\n  \"dice-3\": 62199,\n  \"dice-4-fill\": 62200,\n  \"dice-4\": 62201,\n  \"dice-5-fill\": 62202,\n  \"dice-5\": 62203,\n  \"dice-6-fill\": 62204,\n  \"dice-6\": 62205,\n  \"disc-fill\": 62206,\n  \"disc\": 62207,\n  \"discord\": 62208,\n  \"display-fill\": 62209,\n  \"display\": 62210,\n  \"distribute-horizontal\": 62211,\n  \"distribute-vertical\": 62212,\n  \"door-closed-fill\": 62213,\n  \"door-closed\": 62214,\n  \"door-open-fill\": 62215,\n  \"door-open\": 62216,\n  \"dot\": 62217,\n  \"download\": 62218,\n  \"droplet-fill\": 62219,\n  \"droplet-half\": 62220,\n  \"droplet\": 62221,\n  \"earbuds\": 62222,\n  \"easel-fill\": 62223,\n  \"easel\": 62224,\n  \"egg-fill\": 62225,\n  \"egg-fried\": 62226,\n  \"egg\": 62227,\n  \"eject-fill\": 62228,\n  \"eject\": 62229,\n  \"emoji-angry-fill\": 62230,\n  \"emoji-angry\": 62231,\n  \"emoji-dizzy-fill\": 62232,\n  \"emoji-dizzy\": 62233,\n  \"emoji-expressionless-fill\": 62234,\n  \"emoji-expressionless\": 62235,\n  \"emoji-frown-fill\": 62236,\n  \"emoji-frown\": 62237,\n  \"emoji-heart-eyes-fill\": 62238,\n  \"emoji-heart-eyes\": 62239,\n  \"emoji-laughing-fill\": 62240,\n  \"emoji-laughing\": 62241,\n  \"emoji-neutral-fill\": 62242,\n  \"emoji-neutral\": 62243,\n  \"emoji-smile-fill\": 62244,\n  \"emoji-smile-upside-down-fill\": 62245,\n  \"emoji-smile-upside-down\": 62246,\n  \"emoji-smile\": 62247,\n  \"emoji-sunglasses-fill\": 62248,\n  \"emoji-sunglasses\": 62249,\n  \"emoji-wink-fill\": 62250,\n  \"emoji-wink\": 62251,\n  \"envelope-fill\": 62252,\n  \"envelope-open-fill\": 62253,\n  \"envelope-open\": 62254,\n  \"envelope\": 62255,\n  \"eraser-fill\": 62256,\n  \"eraser\": 62257,\n  \"exclamation-circle-fill\": 62258,\n  \"exclamation-circle\": 62259,\n  \"exclamation-diamond-fill\": 62260,\n  \"exclamation-diamond\": 62261,\n  \"exclamation-octagon-fill\": 62262,\n  \"exclamation-octagon\": 62263,\n  \"exclamation-square-fill\": 62264,\n  \"exclamation-square\": 62265,\n  \"exclamation-triangle-fill\": 62266,\n  \"exclamation-triangle\": 62267,\n  \"exclamation\": 62268,\n  \"exclude\": 62269,\n  \"eye-fill\": 62270,\n  \"eye-slash-fill\": 62271,\n  \"eye-slash\": 62272,\n  \"eye\": 62273,\n  \"eyedropper\": 62274,\n  \"eyeglasses\": 62275,\n  \"facebook\": 62276,\n  \"file-arrow-down-fill\": 62277,\n  \"file-arrow-down\": 62278,\n  \"file-arrow-up-fill\": 62279,\n  \"file-arrow-up\": 62280,\n  \"file-bar-graph-fill\": 62281,\n  \"file-bar-graph\": 62282,\n  \"file-binary-fill\": 62283,\n  \"file-binary\": 62284,\n  \"file-break-fill\": 62285,\n  \"file-break\": 62286,\n  \"file-check-fill\": 62287,\n  \"file-check\": 62288,\n  \"file-code-fill\": 62289,\n  \"file-code\": 62290,\n  \"file-diff-fill\": 62291,\n  \"file-diff\": 62292,\n  \"file-earmark-arrow-down-fill\": 62293,\n  \"file-earmark-arrow-down\": 62294,\n  \"file-earmark-arrow-up-fill\": 62295,\n  \"file-earmark-arrow-up\": 62296,\n  \"file-earmark-bar-graph-fill\": 62297,\n  \"file-earmark-bar-graph\": 62298,\n  \"file-earmark-binary-fill\": 62299,\n  \"file-earmark-binary\": 62300,\n  \"file-earmark-break-fill\": 62301,\n  \"file-earmark-break\": 62302,\n  \"file-earmark-check-fill\": 62303,\n  \"file-earmark-check\": 62304,\n  \"file-earmark-code-fill\": 62305,\n  \"file-earmark-code\": 62306,\n  \"file-earmark-diff-fill\": 62307,\n  \"file-earmark-diff\": 62308,\n  \"file-earmark-easel-fill\": 62309,\n  \"file-earmark-easel\": 62310,\n  \"file-earmark-excel-fill\": 62311,\n  \"file-earmark-excel\": 62312,\n  \"file-earmark-fill\": 62313,\n  \"file-earmark-font-fill\": 62314,\n  \"file-earmark-font\": 62315,\n  \"file-earmark-image-fill\": 62316,\n  \"file-earmark-image\": 62317,\n  \"file-earmark-lock-fill\": 62318,\n  \"file-earmark-lock\": 62319,\n  \"file-earmark-lock2-fill\": 62320,\n  \"file-earmark-lock2\": 62321,\n  \"file-earmark-medical-fill\": 62322,\n  \"file-earmark-medical\": 62323,\n  \"file-earmark-minus-fill\": 62324,\n  \"file-earmark-minus\": 62325,\n  \"file-earmark-music-fill\": 62326,\n  \"file-earmark-music\": 62327,\n  \"file-earmark-person-fill\": 62328,\n  \"file-earmark-person\": 62329,\n  \"file-earmark-play-fill\": 62330,\n  \"file-earmark-play\": 62331,\n  \"file-earmark-plus-fill\": 62332,\n  \"file-earmark-plus\": 62333,\n  \"file-earmark-post-fill\": 62334,\n  \"file-earmark-post\": 62335,\n  \"file-earmark-ppt-fill\": 62336,\n  \"file-earmark-ppt\": 62337,\n  \"file-earmark-richtext-fill\": 62338,\n  \"file-earmark-richtext\": 62339,\n  \"file-earmark-ruled-fill\": 62340,\n  \"file-earmark-ruled\": 62341,\n  \"file-earmark-slides-fill\": 62342,\n  \"file-earmark-slides\": 62343,\n  \"file-earmark-spreadsheet-fill\": 62344,\n  \"file-earmark-spreadsheet\": 62345,\n  \"file-earmark-text-fill\": 62346,\n  \"file-earmark-text\": 62347,\n  \"file-earmark-word-fill\": 62348,\n  \"file-earmark-word\": 62349,\n  \"file-earmark-x-fill\": 62350,\n  \"file-earmark-x\": 62351,\n  \"file-earmark-zip-fill\": 62352,\n  \"file-earmark-zip\": 62353,\n  \"file-earmark\": 62354,\n  \"file-easel-fill\": 62355,\n  \"file-easel\": 62356,\n  \"file-excel-fill\": 62357,\n  \"file-excel\": 62358,\n  \"file-fill\": 62359,\n  \"file-font-fill\": 62360,\n  \"file-font\": 62361,\n  \"file-image-fill\": 62362,\n  \"file-image\": 62363,\n  \"file-lock-fill\": 62364,\n  \"file-lock\": 62365,\n  \"file-lock2-fill\": 62366,\n  \"file-lock2\": 62367,\n  \"file-medical-fill\": 62368,\n  \"file-medical\": 62369,\n  \"file-minus-fill\": 62370,\n  \"file-minus\": 62371,\n  \"file-music-fill\": 62372,\n  \"file-music\": 62373,\n  \"file-person-fill\": 62374,\n  \"file-person\": 62375,\n  \"file-play-fill\": 62376,\n  \"file-play\": 62377,\n  \"file-plus-fill\": 62378,\n  \"file-plus\": 62379,\n  \"file-post-fill\": 62380,\n  \"file-post\": 62381,\n  \"file-ppt-fill\": 62382,\n  \"file-ppt\": 62383,\n  \"file-richtext-fill\": 62384,\n  \"file-richtext\": 62385,\n  \"file-ruled-fill\": 62386,\n  \"file-ruled\": 62387,\n  \"file-slides-fill\": 62388,\n  \"file-slides\": 62389,\n  \"file-spreadsheet-fill\": 62390,\n  \"file-spreadsheet\": 62391,\n  \"file-text-fill\": 62392,\n  \"file-text\": 62393,\n  \"file-word-fill\": 62394,\n  \"file-word\": 62395,\n  \"file-x-fill\": 62396,\n  \"file-x\": 62397,\n  \"file-zip-fill\": 62398,\n  \"file-zip\": 62399,\n  \"file\": 62400,\n  \"files-alt\": 62401,\n  \"files\": 62402,\n  \"film\": 62403,\n  \"filter-circle-fill\": 62404,\n  \"filter-circle\": 62405,\n  \"filter-left\": 62406,\n  \"filter-right\": 62407,\n  \"filter-square-fill\": 62408,\n  \"filter-square\": 62409,\n  \"filter\": 62410,\n  \"flag-fill\": 62411,\n  \"flag\": 62412,\n  \"flower1\": 62413,\n  \"flower2\": 62414,\n  \"flower3\": 62415,\n  \"folder-check\": 62416,\n  \"folder-fill\": 62417,\n  \"folder-minus\": 62418,\n  \"folder-plus\": 62419,\n  \"folder-symlink-fill\": 62420,\n  \"folder-symlink\": 62421,\n  \"folder-x\": 62422,\n  \"folder\": 62423,\n  \"folder2-open\": 62424,\n  \"folder2\": 62425,\n  \"fonts\": 62426,\n  \"forward-fill\": 62427,\n  \"forward\": 62428,\n  \"front\": 62429,\n  \"fullscreen-exit\": 62430,\n  \"fullscreen\": 62431,\n  \"funnel-fill\": 62432,\n  \"funnel\": 62433,\n  \"gear-fill\": 62434,\n  \"gear-wide-connected\": 62435,\n  \"gear-wide\": 62436,\n  \"gear\": 62437,\n  \"gem\": 62438,\n  \"geo-alt-fill\": 62439,\n  \"geo-alt\": 62440,\n  \"geo-fill\": 62441,\n  \"geo\": 62442,\n  \"gift-fill\": 62443,\n  \"gift\": 62444,\n  \"github\": 62445,\n  \"globe\": 62446,\n  \"globe2\": 62447,\n  \"google\": 62448,\n  \"graph-down\": 62449,\n  \"graph-up\": 62450,\n  \"grid-1x2-fill\": 62451,\n  \"grid-1x2\": 62452,\n  \"grid-3x2-gap-fill\": 62453,\n  \"grid-3x2-gap\": 62454,\n  \"grid-3x2\": 62455,\n  \"grid-3x3-gap-fill\": 62456,\n  \"grid-3x3-gap\": 62457,\n  \"grid-3x3\": 62458,\n  \"grid-fill\": 62459,\n  \"grid\": 62460,\n  \"grip-horizontal\": 62461,\n  \"grip-vertical\": 62462,\n  \"hammer\": 62463,\n  \"hand-index-fill\": 62464,\n  \"hand-index-thumb-fill\": 62465,\n  \"hand-index-thumb\": 62466,\n  \"hand-index\": 62467,\n  \"hand-thumbs-down-fill\": 62468,\n  \"hand-thumbs-down\": 62469,\n  \"hand-thumbs-up-fill\": 62470,\n  \"hand-thumbs-up\": 62471,\n  \"handbag-fill\": 62472,\n  \"handbag\": 62473,\n  \"hash\": 62474,\n  \"hdd-fill\": 62475,\n  \"hdd-network-fill\": 62476,\n  \"hdd-network\": 62477,\n  \"hdd-rack-fill\": 62478,\n  \"hdd-rack\": 62479,\n  \"hdd-stack-fill\": 62480,\n  \"hdd-stack\": 62481,\n  \"hdd\": 62482,\n  \"headphones\": 62483,\n  \"headset\": 62484,\n  \"heart-fill\": 62485,\n  \"heart-half\": 62486,\n  \"heart\": 62487,\n  \"heptagon-fill\": 62488,\n  \"heptagon-half\": 62489,\n  \"heptagon\": 62490,\n  \"hexagon-fill\": 62491,\n  \"hexagon-half\": 62492,\n  \"hexagon\": 62493,\n  \"hourglass-bottom\": 62494,\n  \"hourglass-split\": 62495,\n  \"hourglass-top\": 62496,\n  \"hourglass\": 62497,\n  \"house-door-fill\": 62498,\n  \"house-door\": 62499,\n  \"house-fill\": 62500,\n  \"house\": 62501,\n  \"hr\": 62502,\n  \"hurricane\": 62503,\n  \"image-alt\": 62504,\n  \"image-fill\": 62505,\n  \"image\": 62506,\n  \"images\": 62507,\n  \"inbox-fill\": 62508,\n  \"inbox\": 62509,\n  \"inboxes-fill\": 62510,\n  \"inboxes\": 62511,\n  \"info-circle-fill\": 62512,\n  \"info-circle\": 62513,\n  \"info-square-fill\": 62514,\n  \"info-square\": 62515,\n  \"info\": 62516,\n  \"input-cursor-text\": 62517,\n  \"input-cursor\": 62518,\n  \"instagram\": 62519,\n  \"intersect\": 62520,\n  \"journal-album\": 62521,\n  \"journal-arrow-down\": 62522,\n  \"journal-arrow-up\": 62523,\n  \"journal-bookmark-fill\": 62524,\n  \"journal-bookmark\": 62525,\n  \"journal-check\": 62526,\n  \"journal-code\": 62527,\n  \"journal-medical\": 62528,\n  \"journal-minus\": 62529,\n  \"journal-plus\": 62530,\n  \"journal-richtext\": 62531,\n  \"journal-text\": 62532,\n  \"journal-x\": 62533,\n  \"journal\": 62534,\n  \"journals\": 62535,\n  \"joystick\": 62536,\n  \"justify-left\": 62537,\n  \"justify-right\": 62538,\n  \"justify\": 62539,\n  \"kanban-fill\": 62540,\n  \"kanban\": 62541,\n  \"key-fill\": 62542,\n  \"key\": 62543,\n  \"keyboard-fill\": 62544,\n  \"keyboard\": 62545,\n  \"ladder\": 62546,\n  \"lamp-fill\": 62547,\n  \"lamp\": 62548,\n  \"laptop-fill\": 62549,\n  \"laptop\": 62550,\n  \"layer-backward\": 62551,\n  \"layer-forward\": 62552,\n  \"layers-fill\": 62553,\n  \"layers-half\": 62554,\n  \"layers\": 62555,\n  \"layout-sidebar-inset-reverse\": 62556,\n  \"layout-sidebar-inset\": 62557,\n  \"layout-sidebar-reverse\": 62558,\n  \"layout-sidebar\": 62559,\n  \"layout-split\": 62560,\n  \"layout-text-sidebar-reverse\": 62561,\n  \"layout-text-sidebar\": 62562,\n  \"layout-text-window-reverse\": 62563,\n  \"layout-text-window\": 62564,\n  \"layout-three-columns\": 62565,\n  \"layout-wtf\": 62566,\n  \"life-preserver\": 62567,\n  \"lightbulb-fill\": 62568,\n  \"lightbulb-off-fill\": 62569,\n  \"lightbulb-off\": 62570,\n  \"lightbulb\": 62571,\n  \"lightning-charge-fill\": 62572,\n  \"lightning-charge\": 62573,\n  \"lightning-fill\": 62574,\n  \"lightning\": 62575,\n  \"link-45deg\": 62576,\n  \"link\": 62577,\n  \"linkedin\": 62578,\n  \"list-check\": 62579,\n  \"list-nested\": 62580,\n  \"list-ol\": 62581,\n  \"list-stars\": 62582,\n  \"list-task\": 62583,\n  \"list-ul\": 62584,\n  \"list\": 62585,\n  \"lock-fill\": 62586,\n  \"lock\": 62587,\n  \"mailbox\": 62588,\n  \"mailbox2\": 62589,\n  \"map-fill\": 62590,\n  \"map\": 62591,\n  \"markdown-fill\": 62592,\n  \"markdown\": 62593,\n  \"mask\": 62594,\n  \"megaphone-fill\": 62595,\n  \"megaphone\": 62596,\n  \"menu-app-fill\": 62597,\n  \"menu-app\": 62598,\n  \"menu-button-fill\": 62599,\n  \"menu-button-wide-fill\": 62600,\n  \"menu-button-wide\": 62601,\n  \"menu-button\": 62602,\n  \"menu-down\": 62603,\n  \"menu-up\": 62604,\n  \"mic-fill\": 62605,\n  \"mic-mute-fill\": 62606,\n  \"mic-mute\": 62607,\n  \"mic\": 62608,\n  \"minecart-loaded\": 62609,\n  \"minecart\": 62610,\n  \"moisture\": 62611,\n  \"moon-fill\": 62612,\n  \"moon-stars-fill\": 62613,\n  \"moon-stars\": 62614,\n  \"moon\": 62615,\n  \"mouse-fill\": 62616,\n  \"mouse\": 62617,\n  \"mouse2-fill\": 62618,\n  \"mouse2\": 62619,\n  \"mouse3-fill\": 62620,\n  \"mouse3\": 62621,\n  \"music-note-beamed\": 62622,\n  \"music-note-list\": 62623,\n  \"music-note\": 62624,\n  \"music-player-fill\": 62625,\n  \"music-player\": 62626,\n  \"newspaper\": 62627,\n  \"node-minus-fill\": 62628,\n  \"node-minus\": 62629,\n  \"node-plus-fill\": 62630,\n  \"node-plus\": 62631,\n  \"nut-fill\": 62632,\n  \"nut\": 62633,\n  \"octagon-fill\": 62634,\n  \"octagon-half\": 62635,\n  \"octagon\": 62636,\n  \"option\": 62637,\n  \"outlet\": 62638,\n  \"paint-bucket\": 62639,\n  \"palette-fill\": 62640,\n  \"palette\": 62641,\n  \"palette2\": 62642,\n  \"paperclip\": 62643,\n  \"paragraph\": 62644,\n  \"patch-check-fill\": 62645,\n  \"patch-check\": 62646,\n  \"patch-exclamation-fill\": 62647,\n  \"patch-exclamation\": 62648,\n  \"patch-minus-fill\": 62649,\n  \"patch-minus\": 62650,\n  \"patch-plus-fill\": 62651,\n  \"patch-plus\": 62652,\n  \"patch-question-fill\": 62653,\n  \"patch-question\": 62654,\n  \"pause-btn-fill\": 62655,\n  \"pause-btn\": 62656,\n  \"pause-circle-fill\": 62657,\n  \"pause-circle\": 62658,\n  \"pause-fill\": 62659,\n  \"pause\": 62660,\n  \"peace-fill\": 62661,\n  \"peace\": 62662,\n  \"pen-fill\": 62663,\n  \"pen\": 62664,\n  \"pencil-fill\": 62665,\n  \"pencil-square\": 62666,\n  \"pencil\": 62667,\n  \"pentagon-fill\": 62668,\n  \"pentagon-half\": 62669,\n  \"pentagon\": 62670,\n  \"people-fill\": 62671,\n  \"people\": 62672,\n  \"percent\": 62673,\n  \"person-badge-fill\": 62674,\n  \"person-badge\": 62675,\n  \"person-bounding-box\": 62676,\n  \"person-check-fill\": 62677,\n  \"person-check\": 62678,\n  \"person-circle\": 62679,\n  \"person-dash-fill\": 62680,\n  \"person-dash\": 62681,\n  \"person-fill\": 62682,\n  \"person-lines-fill\": 62683,\n  \"person-plus-fill\": 62684,\n  \"person-plus\": 62685,\n  \"person-square\": 62686,\n  \"person-x-fill\": 62687,\n  \"person-x\": 62688,\n  \"person\": 62689,\n  \"phone-fill\": 62690,\n  \"phone-landscape-fill\": 62691,\n  \"phone-landscape\": 62692,\n  \"phone-vibrate-fill\": 62693,\n  \"phone-vibrate\": 62694,\n  \"phone\": 62695,\n  \"pie-chart-fill\": 62696,\n  \"pie-chart\": 62697,\n  \"pin-angle-fill\": 62698,\n  \"pin-angle\": 62699,\n  \"pin-fill\": 62700,\n  \"pin\": 62701,\n  \"pip-fill\": 62702,\n  \"pip\": 62703,\n  \"play-btn-fill\": 62704,\n  \"play-btn\": 62705,\n  \"play-circle-fill\": 62706,\n  \"play-circle\": 62707,\n  \"play-fill\": 62708,\n  \"play\": 62709,\n  \"plug-fill\": 62710,\n  \"plug\": 62711,\n  \"plus-circle-dotted\": 62712,\n  \"plus-circle-fill\": 62713,\n  \"plus-circle\": 62714,\n  \"plus-square-dotted\": 62715,\n  \"plus-square-fill\": 62716,\n  \"plus-square\": 62717,\n  \"plus\": 62718,\n  \"power\": 62719,\n  \"printer-fill\": 62720,\n  \"printer\": 62721,\n  \"puzzle-fill\": 62722,\n  \"puzzle\": 62723,\n  \"question-circle-fill\": 62724,\n  \"question-circle\": 62725,\n  \"question-diamond-fill\": 62726,\n  \"question-diamond\": 62727,\n  \"question-octagon-fill\": 62728,\n  \"question-octagon\": 62729,\n  \"question-square-fill\": 62730,\n  \"question-square\": 62731,\n  \"question\": 62732,\n  \"rainbow\": 62733,\n  \"receipt-cutoff\": 62734,\n  \"receipt\": 62735,\n  \"reception-0\": 62736,\n  \"reception-1\": 62737,\n  \"reception-2\": 62738,\n  \"reception-3\": 62739,\n  \"reception-4\": 62740,\n  \"record-btn-fill\": 62741,\n  \"record-btn\": 62742,\n  \"record-circle-fill\": 62743,\n  \"record-circle\": 62744,\n  \"record-fill\": 62745,\n  \"record\": 62746,\n  \"record2-fill\": 62747,\n  \"record2\": 62748,\n  \"reply-all-fill\": 62749,\n  \"reply-all\": 62750,\n  \"reply-fill\": 62751,\n  \"reply\": 62752,\n  \"rss-fill\": 62753,\n  \"rss\": 62754,\n  \"rulers\": 62755,\n  \"save-fill\": 62756,\n  \"save\": 62757,\n  \"save2-fill\": 62758,\n  \"save2\": 62759,\n  \"scissors\": 62760,\n  \"screwdriver\": 62761,\n  \"search\": 62762,\n  \"segmented-nav\": 62763,\n  \"server\": 62764,\n  \"share-fill\": 62765,\n  \"share\": 62766,\n  \"shield-check\": 62767,\n  \"shield-exclamation\": 62768,\n  \"shield-fill-check\": 62769,\n  \"shield-fill-exclamation\": 62770,\n  \"shield-fill-minus\": 62771,\n  \"shield-fill-plus\": 62772,\n  \"shield-fill-x\": 62773,\n  \"shield-fill\": 62774,\n  \"shield-lock-fill\": 62775,\n  \"shield-lock\": 62776,\n  \"shield-minus\": 62777,\n  \"shield-plus\": 62778,\n  \"shield-shaded\": 62779,\n  \"shield-slash-fill\": 62780,\n  \"shield-slash\": 62781,\n  \"shield-x\": 62782,\n  \"shield\": 62783,\n  \"shift-fill\": 62784,\n  \"shift\": 62785,\n  \"shop-window\": 62786,\n  \"shop\": 62787,\n  \"shuffle\": 62788,\n  \"signpost-2-fill\": 62789,\n  \"signpost-2\": 62790,\n  \"signpost-fill\": 62791,\n  \"signpost-split-fill\": 62792,\n  \"signpost-split\": 62793,\n  \"signpost\": 62794,\n  \"sim-fill\": 62795,\n  \"sim\": 62796,\n  \"skip-backward-btn-fill\": 62797,\n  \"skip-backward-btn\": 62798,\n  \"skip-backward-circle-fill\": 62799,\n  \"skip-backward-circle\": 62800,\n  \"skip-backward-fill\": 62801,\n  \"skip-backward\": 62802,\n  \"skip-end-btn-fill\": 62803,\n  \"skip-end-btn\": 62804,\n  \"skip-end-circle-fill\": 62805,\n  \"skip-end-circle\": 62806,\n  \"skip-end-fill\": 62807,\n  \"skip-end\": 62808,\n  \"skip-forward-btn-fill\": 62809,\n  \"skip-forward-btn\": 62810,\n  \"skip-forward-circle-fill\": 62811,\n  \"skip-forward-circle\": 62812,\n  \"skip-forward-fill\": 62813,\n  \"skip-forward\": 62814,\n  \"skip-start-btn-fill\": 62815,\n  \"skip-start-btn\": 62816,\n  \"skip-start-circle-fill\": 62817,\n  \"skip-start-circle\": 62818,\n  \"skip-start-fill\": 62819,\n  \"skip-start\": 62820,\n  \"slack\": 62821,\n  \"slash-circle-fill\": 62822,\n  \"slash-circle\": 62823,\n  \"slash-square-fill\": 62824,\n  \"slash-square\": 62825,\n  \"slash\": 62826,\n  \"sliders\": 62827,\n  \"smartwatch\": 62828,\n  \"snow\": 62829,\n  \"snow2\": 62830,\n  \"snow3\": 62831,\n  \"sort-alpha-down-alt\": 62832,\n  \"sort-alpha-down\": 62833,\n  \"sort-alpha-up-alt\": 62834,\n  \"sort-alpha-up\": 62835,\n  \"sort-down-alt\": 62836,\n  \"sort-down\": 62837,\n  \"sort-numeric-down-alt\": 62838,\n  \"sort-numeric-down\": 62839,\n  \"sort-numeric-up-alt\": 62840,\n  \"sort-numeric-up\": 62841,\n  \"sort-up-alt\": 62842,\n  \"sort-up\": 62843,\n  \"soundwave\": 62844,\n  \"speaker-fill\": 62845,\n  \"speaker\": 62846,\n  \"speedometer\": 62847,\n  \"speedometer2\": 62848,\n  \"spellcheck\": 62849,\n  \"square-fill\": 62850,\n  \"square-half\": 62851,\n  \"square\": 62852,\n  \"stack\": 62853,\n  \"star-fill\": 62854,\n  \"star-half\": 62855,\n  \"star\": 62856,\n  \"stars\": 62857,\n  \"stickies-fill\": 62858,\n  \"stickies\": 62859,\n  \"sticky-fill\": 62860,\n  \"sticky\": 62861,\n  \"stop-btn-fill\": 62862,\n  \"stop-btn\": 62863,\n  \"stop-circle-fill\": 62864,\n  \"stop-circle\": 62865,\n  \"stop-fill\": 62866,\n  \"stop\": 62867,\n  \"stoplights-fill\": 62868,\n  \"stoplights\": 62869,\n  \"stopwatch-fill\": 62870,\n  \"stopwatch\": 62871,\n  \"subtract\": 62872,\n  \"suit-club-fill\": 62873,\n  \"suit-club\": 62874,\n  \"suit-diamond-fill\": 62875,\n  \"suit-diamond\": 62876,\n  \"suit-heart-fill\": 62877,\n  \"suit-heart\": 62878,\n  \"suit-spade-fill\": 62879,\n  \"suit-spade\": 62880,\n  \"sun-fill\": 62881,\n  \"sun\": 62882,\n  \"sunglasses\": 62883,\n  \"sunrise-fill\": 62884,\n  \"sunrise\": 62885,\n  \"sunset-fill\": 62886,\n  \"sunset\": 62887,\n  \"symmetry-horizontal\": 62888,\n  \"symmetry-vertical\": 62889,\n  \"table\": 62890,\n  \"tablet-fill\": 62891,\n  \"tablet-landscape-fill\": 62892,\n  \"tablet-landscape\": 62893,\n  \"tablet\": 62894,\n  \"tag-fill\": 62895,\n  \"tag\": 62896,\n  \"tags-fill\": 62897,\n  \"tags\": 62898,\n  \"telegram\": 62899,\n  \"telephone-fill\": 62900,\n  \"telephone-forward-fill\": 62901,\n  \"telephone-forward\": 62902,\n  \"telephone-inbound-fill\": 62903,\n  \"telephone-inbound\": 62904,\n  \"telephone-minus-fill\": 62905,\n  \"telephone-minus\": 62906,\n  \"telephone-outbound-fill\": 62907,\n  \"telephone-outbound\": 62908,\n  \"telephone-plus-fill\": 62909,\n  \"telephone-plus\": 62910,\n  \"telephone-x-fill\": 62911,\n  \"telephone-x\": 62912,\n  \"telephone\": 62913,\n  \"terminal-fill\": 62914,\n  \"terminal\": 62915,\n  \"text-center\": 62916,\n  \"text-indent-left\": 62917,\n  \"text-indent-right\": 62918,\n  \"text-left\": 62919,\n  \"text-paragraph\": 62920,\n  \"text-right\": 62921,\n  \"textarea-resize\": 62922,\n  \"textarea-t\": 62923,\n  \"textarea\": 62924,\n  \"thermometer-half\": 62925,\n  \"thermometer-high\": 62926,\n  \"thermometer-low\": 62927,\n  \"thermometer-snow\": 62928,\n  \"thermometer-sun\": 62929,\n  \"thermometer\": 62930,\n  \"three-dots-vertical\": 62931,\n  \"three-dots\": 62932,\n  \"toggle-off\": 62933,\n  \"toggle-on\": 62934,\n  \"toggle2-off\": 62935,\n  \"toggle2-on\": 62936,\n  \"toggles\": 62937,\n  \"toggles2\": 62938,\n  \"tools\": 62939,\n  \"tornado\": 62940,\n  \"trash-fill\": 62941,\n  \"trash\": 62942,\n  \"trash2-fill\": 62943,\n  \"trash2\": 62944,\n  \"tree-fill\": 62945,\n  \"tree\": 62946,\n  \"triangle-fill\": 62947,\n  \"triangle-half\": 62948,\n  \"triangle\": 62949,\n  \"trophy-fill\": 62950,\n  \"trophy\": 62951,\n  \"tropical-storm\": 62952,\n  \"truck-flatbed\": 62953,\n  \"truck\": 62954,\n  \"tsunami\": 62955,\n  \"tv-fill\": 62956,\n  \"tv\": 62957,\n  \"twitch\": 62958,\n  \"twitter\": 62959,\n  \"type-bold\": 62960,\n  \"type-h1\": 62961,\n  \"type-h2\": 62962,\n  \"type-h3\": 62963,\n  \"type-italic\": 62964,\n  \"type-strikethrough\": 62965,\n  \"type-underline\": 62966,\n  \"type\": 62967,\n  \"ui-checks-grid\": 62968,\n  \"ui-checks\": 62969,\n  \"ui-radios-grid\": 62970,\n  \"ui-radios\": 62971,\n  \"umbrella-fill\": 62972,\n  \"umbrella\": 62973,\n  \"union\": 62974,\n  \"unlock-fill\": 62975,\n  \"unlock\": 62976,\n  \"upc-scan\": 62977,\n  \"upc\": 62978,\n  \"upload\": 62979,\n  \"vector-pen\": 62980,\n  \"view-list\": 62981,\n  \"view-stacked\": 62982,\n  \"vinyl-fill\": 62983,\n  \"vinyl\": 62984,\n  \"voicemail\": 62985,\n  \"volume-down-fill\": 62986,\n  \"volume-down\": 62987,\n  \"volume-mute-fill\": 62988,\n  \"volume-mute\": 62989,\n  \"volume-off-fill\": 62990,\n  \"volume-off\": 62991,\n  \"volume-up-fill\": 62992,\n  \"volume-up\": 62993,\n  \"vr\": 62994,\n  \"wallet-fill\": 62995,\n  \"wallet\": 62996,\n  \"wallet2\": 62997,\n  \"watch\": 62998,\n  \"water\": 62999,\n  \"whatsapp\": 63000,\n  \"wifi-1\": 63001,\n  \"wifi-2\": 63002,\n  \"wifi-off\": 63003,\n  \"wifi\": 63004,\n  \"wind\": 63005,\n  \"window-dock\": 63006,\n  \"window-sidebar\": 63007,\n  \"window\": 63008,\n  \"wrench\": 63009,\n  \"x-circle-fill\": 63010,\n  \"x-circle\": 63011,\n  \"x-diamond-fill\": 63012,\n  \"x-diamond\": 63013,\n  \"x-octagon-fill\": 63014,\n  \"x-octagon\": 63015,\n  \"x-square-fill\": 63016,\n  \"x-square\": 63017,\n  \"x\": 63018,\n  \"youtube\": 63019,\n  \"zoom-in\": 63020,\n  \"zoom-out\": 63021\n}"
  },
  {
    "path": "bl-kernel/functions.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\n// Re-index database of categories\n// If you create/edit/remove a page is necessary regenerate the database of categories\nfunction reindexCategories()\n{\n  global $categories;\n  return $categories->reindex();\n}\n\n// Re-index database of tags\n// If you create/edit/remove a page is necessary regenerate the database of tags\nfunction reindexTags()\n{\n  global $tags;\n  return $tags->reindex();\n}\n\n// Generate the page 404 Not found\nfunction buildErrorPage()\n{\n  global $site;\n  global $L;\n\n  try {\n    $pageNotFoundKey = $site->pageNotFound();\n    $pageNotFound = new Page($pageNotFoundKey);\n  } catch (Exception $e) {\n    $pageNotFound = new Page(false);\n    $pageNotFound->setField('title',   $L->get('page-not-found'));\n    $pageNotFound->setField('content',   $L->get('page-not-found-content'));\n    $pageNotFound->setField('username',   'admin');\n  }\n\n  return $pageNotFound;\n}\n\n// This function is only used from the rule 69.pages.php, DO NOT use this function!\n// This function generate a particular page from the current slug of the url\n// If the slug has not a page associated returns FALSE and set not-found as true\nfunction buildThePage()\n{\n  global $url;\n\n  try {\n    $pageKey = $url->slug();\n    $page = new Page($pageKey);\n  } catch (Exception $e) {\n    $url->setNotFound();\n    return false;\n  }\n\n  if ($page->draft() || $page->scheduled() || $page->autosave()) {\n    if (!hash_equals(hash_hmac('sha256', $page->uuid(), DB_SITE), $url->parameter('preview'))) {\n      $url->setNotFound();\n      return false;\n    }\n  }\n\n  return $page;\n}\n\n// This function is only used from the rule 69.pages.php, DO NOT use this function!\nfunction buildPagesForHome()\n{\n  return buildPagesFor('home');\n}\n\n// This function is only used from the rule 69.pages.php, DO NOT use this function!\nfunction buildPagesByCategory()\n{\n  global $url;\n\n  $categoryKey = $url->slug();\n  return buildPagesFor('category', $categoryKey, false);\n}\n\n// This function is only used from the rule 69.pages.php, DO NOT use this function!\nfunction buildPagesByTag()\n{\n  global $url;\n\n  $tagKey = $url->slug();\n  return buildPagesFor('tag', false, $tagKey);\n}\n\n// This function is only used from the rule 69.pages.php, DO NOT use this function!\n// Generate the global variables $content / $content, defined on 69.pages.php\n// This function is use for buildPagesForHome(), buildPagesByCategory(), buildPagesByTag()\nfunction buildPagesFor($for, $categoryKey = false, $tagKey = false)\n{\n  global $pages;\n  global $categories;\n  global $tags;\n  global $site;\n  global $url;\n\n  // Get the page number from URL\n  $pageNumber = $url->pageNumber();\n\n  if ($for == 'home') {\n    $onlyPublished = true;\n    $numberOfItems = $site->itemsPerPage();\n    $list = $pages->getList($pageNumber, $numberOfItems, $onlyPublished);\n\n    // Include sticky pages only in the first page\n    if ($pageNumber == 1) {\n      $sticky = $pages->getStickyDB();\n      $list = array_merge($sticky, $list);\n    }\n  } elseif ($for == 'category') {\n    $numberOfItems = $site->itemsPerPage();\n    $list = $categories->getList($categoryKey, $pageNumber, $numberOfItems);\n  } elseif ($for == 'tag') {\n    $numberOfItems = $site->itemsPerPage();\n    $list = $tags->getList($tagKey, $pageNumber, $numberOfItems);\n  }\n\n  // There are no items, invalid tag, invalid category, out of range, etc...\n  if ($list === false) {\n    $url->setNotFound();\n    return false;\n  }\n\n  $content = array();\n  $invalidPageFound = false;\n  foreach ($list as $pageKey) {\n    try {\n      $page = new Page($pageKey);\n      if (($page->type() == 'published') ||\n        ($page->type() == 'sticky') ||\n        ($page->type() == 'static')\n      ) {\n        array_push($content, $page);\n      }\n    } catch (Exception $e) {\n      $invalidPageFound = true;\n      // continue\n    }\n  }\n\n  if (($for === 'category' || $for === 'tag') && (!empty($list)) && (empty($content) || $invalidPageFound)) {\n    if ($for === 'category') {\n      reindexCategories();\n      $list = $categories->getList($categoryKey, $pageNumber, $numberOfItems);\n    } else {\n      reindexTags();\n      $list = $tags->getList($tagKey, $pageNumber, $numberOfItems);\n    }\n\n    if (is_array($list)) {\n      $content = array();\n      foreach ($list as $pageKey) {\n        try {\n          $page = new Page($pageKey);\n          if (($page->type() == 'published') ||\n            ($page->type() == 'sticky') ||\n            ($page->type() == 'static')\n          ) {\n            array_push($content, $page);\n          }\n        } catch (Exception $e) {\n          // continue\n        }\n      }\n    }\n  }\n\n  return $content;\n}\n\n// Returns an array with all the static pages as Page-Object\n// The static pages are order by position all the time\nfunction buildStaticPages()\n{\n  global $pages;\n\n  $list = array();\n  $pagesKey = $pages->getStaticDB();\n  foreach ($pagesKey as $pageKey) {\n    try {\n      $page = new Page($pageKey);\n      array_push($list, $page);\n    } catch (Exception $e) {\n      // continue\n    }\n  }\n\n  return $list;\n}\n\n// Returns the Page-Object if exists, FALSE otherwise\nfunction buildPage($pageKey)\n{\n  try {\n    $page = new Page($pageKey);\n    return $page;\n  } catch (Exception $e) {\n    return false;\n  }\n}\n\n// Returns an array with all the parent pages as Page-Object\n// The pages are order by the settings on the system\nfunction buildParentPages()\n{\n  global $pages;\n\n  $list = array();\n  $pagesKey = $pages->getPublishedDB();\n  foreach ($pagesKey as $pageKey) {\n    try {\n      $page = new Page($pageKey);\n      if ($page->isParent()) {\n        array_push($list, $page);\n      }\n    } catch (Exception $e) {\n      // continue\n    }\n  }\n\n  return $list;\n}\n\n// Returns the Plugin-Object if is enabled and installed, FALSE otherwise\nfunction getPlugin($pluginClassName)\n{\n  global $plugins;\n\n  if (pluginActivated($pluginClassName)) {\n    return $plugins['all'][$pluginClassName];\n  }\n  return false;\n}\n\n// Returns TRUE if the plugin is activaed / installed, FALSE otherwise\nfunction pluginActivated($pluginClassName)\n{\n  global $plugins;\n\n  if (isset($plugins['all'][$pluginClassName])) {\n    return $plugins['all'][$pluginClassName]->installed();\n  }\n  return false;\n}\n\nfunction activatePlugin($pluginClassName)\n{\n  global $plugins;\n  global $syslog;\n  global $L;\n\n  // Check if the plugin exists\n  if (isset($plugins['all'][$pluginClassName])) {\n    $plugin = $plugins['all'][$pluginClassName];\n    if ($plugin->install()) {\n      // Add to syslog\n      $syslog->add(array(\n        'dictionaryKey' => 'plugin-activated',\n        'notes' => $plugin->name()\n      ));\n\n      // Create an alert\n      Alert::set($L->g('plugin-activated'));\n      return true;\n    }\n  }\n  return false;\n}\n\nfunction deactivatePlugin($pluginClassName)\n{\n  global $plugins;\n  global $syslog;\n  global $L;\n\n  // Check if the plugin exists\n  if (isset($plugins['all'][$pluginClassName])) {\n    $plugin = $plugins['all'][$pluginClassName];\n\n    if ($plugin->uninstall()) {\n      // Add to syslog\n      $syslog->add(array(\n        'dictionaryKey' => 'plugin-deactivated',\n        'notes' => $plugin->name()\n      ));\n\n      // Create an alert\n      Alert::set($L->g('plugin-deactivated'));\n      return true;\n    }\n  }\n  return false;\n}\n\nfunction deactivateAllPlugin()\n{\n  global $plugins;\n  global $syslog;\n  global $L;\n\n  // Check if the plugin exists\n  foreach ($plugins['all'] as $plugin) {\n    if ($plugin->uninstall()) {\n      // Add to syslog\n      $syslog->add(array(\n        'dictionaryKey' => 'plugin-deactivated',\n        'notes' => $plugin->name()\n      ));\n    }\n  }\n  return false;\n}\n\nfunction changePluginsPosition($pluginClassList)\n{\n  global $plugins;\n  global $syslog;\n  global $L;\n\n  foreach ($pluginClassList as $position => $pluginClassName) {\n    if (isset($plugins['all'][$pluginClassName])) {\n      $plugin = $plugins['all'][$pluginClassName];\n      $plugin->setPosition(++$position);\n    }\n  }\n\n  // Add to syslog\n  $syslog->add(array(\n    'dictionaryKey' => 'plugins-sorted',\n    'notes' => ''\n  ));\n\n  Alert::set($L->g('The changes have been saved'));\n  return true;\n}\n\n/*\n\tCreate a new page\n\n\tThe array $args support all the keys from variable $dbFields of the class pages.class.php\n\tIf you don't pass all the keys, the default values are used, the default values are from $dbFields in the class pages.class.php\n*/\nfunction createPage($args)\n{\n  global $pages;\n  global $syslog;\n  global $L;\n\n  // Check if the autosave page exists for this new page and delete it\n  if (isset($args['uuid'])) {\n    $autosaveKey = $pages->getByUUID('autosave-' . $args['uuid']);\n    if (!empty($autosaveKey)) {\n      Log::set('Function createPage()' . LOG_SEP . 'Autosave deleted for ' . $args['title'], LOG_TYPE_INFO);\n      deletePage($autosaveKey);\n    }\n  }\n\n  // The user is always the one logged\n  $args['username'] = Session::get('username');\n  if (empty($args['username'])) {\n    Log::set('Function createPage()' . LOG_SEP . 'Empty username.', LOG_TYPE_ERROR);\n    return false;\n  }\n\n  $key = $pages->add($args);\n  if ($key) {\n    // Call the plugins after page created\n    Theme::plugins('afterPageCreate', array($key));\n\n    reindexCategories();\n    reindexTags();\n\n    // Add to syslog\n    $syslog->add(array(\n      'dictionaryKey' => 'new-content-created',\n      'notes' => (empty($args['title']) ? $key : $args['title'])\n    ));\n\n    return $key;\n  }\n\n  Log::set('Function createNewPage()' . LOG_SEP . 'Error occurred when trying to create the page', LOG_TYPE_ERROR);\n  Log::set('Function createNewPage()' . LOG_SEP . 'Cleaning database...', LOG_TYPE_ERROR);\n  deletePage($key);\n  Log::set('Function createNewPage()' . LOG_SEP . 'Cleaning finished...', LOG_TYPE_ERROR);\n\n  return false;\n}\n\nfunction editPage($args)\n{\n  global $pages;\n  global $syslog;\n\n  // Check if the autosave/preview page exists for this new page and delete it\n  if (isset($args['uuid'])) {\n    $autosaveKey = $pages->getByUUID('autosave-' . $args['uuid']);\n    if ($autosaveKey) {\n      Log::set('Function editPage()' . LOG_SEP . 'Autosave/Preview deleted for ' . $autosaveKey, LOG_TYPE_INFO);\n      deletePage($autosaveKey);\n    }\n  }\n\n  // Check if the key is not empty\n  if (empty($args['key'])) {\n    Log::set('Function editPage()' . LOG_SEP . 'Empty key.', LOG_TYPE_ERROR);\n    return false;\n  }\n\n  // Check if the page key exist\n  if (!$pages->exists($args['key'])) {\n    Log::set('Function editPage()' . LOG_SEP . 'Page key does not exist, ' . $args['key'], LOG_TYPE_ERROR);\n    return false;\n  }\n\n  $key = $pages->edit($args);\n  if ($key) {\n    // Call the plugins after page modified\n    Theme::plugins('afterPageModify', array($key));\n\n    reindexCategories();\n    reindexTags();\n\n    // Add to syslog\n    $syslog->add(array(\n      'dictionaryKey' => 'content-edited',\n      'notes' => empty($args['title']) ? $key : $args['title']\n    ));\n\n    return $key;\n  }\n\n  Log::set('Function editPage()' . LOG_SEP . 'Something happen when try to edit the page.', LOG_TYPE_ERROR);\n  return false;\n}\n\nfunction deletePage($key)\n{\n  global $pages;\n  global $syslog;\n\n  if ($pages->delete($key)) {\n    // Call the plugins after page deleted\n    Theme::plugins('afterPageDelete', array($key));\n\n    reindexCategories();\n    reindexTags();\n\n    // Add to syslog\n    $syslog->add(array(\n      'dictionaryKey' => 'content-deleted',\n      'notes' => $key\n    ));\n\n    return true;\n  }\n\n  return false;\n}\n\nfunction editUser($args)\n{\n  global $users;\n  global $syslog;\n\n  if ($users->set($args)) {\n    // Add to syslog\n    $syslog->add(array(\n      'dictionaryKey' => 'user-edited',\n      'notes' => $args['username']\n    ));\n\n    return true;\n  }\n\n  return false;\n}\n\nfunction disableUser($args)\n{\n  global $users;\n  global $login;\n  global $syslog;\n\n  // Arguments\n  $username = $args['username'];\n\n  // Only administrators can disable users\n  if ($login->role() !== 'admin') {\n    return false;\n  }\n\n  // Check if the username exists\n  if (!$users->exists($username)) {\n    return false;\n  }\n\n  // Disable the user\n  if ($users->disableUser($username)) {\n    // Add to syslog\n    $syslog->add(array(\n      'dictionaryKey' => 'user-disabled',\n      'notes' => $username\n    ));\n\n    return true;\n  }\n\n  return false;\n}\n\nfunction deleteUser($args)\n{\n  global $users, $pages;\n  global $login;\n  global $syslog;\n\n  // Arguments\n  $username = $args['username'];\n  $deleteContent = isset($args['deleteContent']) ? $args['deleteContent'] : false;\n\n  // Only administrators can delete users\n  if ($login->role() !== 'admin') {\n    return false;\n  }\n\n  // The user admin cannot be deleted\n  if ($username == 'admin') {\n    return false;\n  }\n\n  // Check if the username exists\n  if (!$users->exists($username)) {\n    return false;\n  }\n\n  if ($deleteContent) {\n    $pages->deletePagesByUser(array('username' => $username));\n  } else {\n    $pages->transferPages(array('oldUsername' => $username));\n  }\n\n  if ($users->delete($username)) {\n    // Add to syslog\n    $syslog->add(array(\n      'dictionaryKey' => 'user-deleted',\n      'notes' => $username\n    ));\n\n    return true;\n  }\n\n  return false;\n}\n\nfunction createUser($args)\n{\n  global $users;\n  global $L;\n  global $syslog;\n\n  $args['new_username'] = Text::removeSpecialCharacters($args['new_username']);\n\n  // Check empty username\n  if (Text::isEmpty($args['new_username'])) {\n    Alert::set($L->g('username-field-is-empty'), ALERT_STATUS_FAIL);\n    return false;\n  }\n\n  // Check already exist username\n  if ($users->exists($args['new_username'])) {\n    Alert::set($L->g('username-already-exists'), ALERT_STATUS_FAIL);\n    return false;\n  }\n\n  // Password length\n  if (Text::length($args['new_password']) < PASSWORD_LENGTH) {\n    Alert::set($L->g('Password must be at least ' . PASSWORD_LENGTH . ' characters long'), ALERT_STATUS_FAIL);\n    return false;\n  }\n\n  // Check new password and confirm password are equal\n  if ($args['new_password'] !== $args['confirm_password']) {\n    Alert::set($L->g('The password and confirmation password do not match'), ALERT_STATUS_FAIL);\n    return false;\n  }\n\n  // Filter form fields\n  $tmp = array();\n  $tmp['username'] = $args['new_username'];\n  $tmp['password'] = $args['new_password'];\n  $tmp['role']   = $args['role'];\n  $tmp['email']   = $args['email'];\n\n  // Add the user to the database\n  if ($users->add($tmp)) {\n    // Add to syslog\n    $syslog->add(array(\n      'dictionaryKey' => 'new-user-created',\n      'notes' => $tmp['username']\n    ));\n\n    return true;\n  }\n\n  return false;\n}\n\nfunction editSettings($args)\n{\n  global $site;\n  global $syslog;\n  global $L;\n  global $pages;\n\n  if (isset($args['language'])) {\n    if ($args['language'] != $site->language()) {\n      $tmp = new dbJSON(PATH_LANGUAGES . $args['language'] . '.json', false);\n      if (isset($tmp->db['language-data']['locale'])) {\n        $args['locale'] = $tmp->db['language-data']['locale'];\n      } else {\n        $args['locale'] = $args['language'];\n      }\n    }\n  }\n\n  if (empty($args['homepage'])) {\n    $args['homepage'] = '';\n    $args['uriBlog'] = '';\n  }\n\n  if (empty($args['pageNotFound'])) {\n    $args['pageNotFound'] = '';\n  }\n\n  if (isset($args['uriPage'])) {\n    $args['uriPage'] = Text::addSlashes($args['uriPage']);\n  }\n\n  if (isset($args['uriTag'])) {\n    $args['uriTag'] = Text::addSlashes($args['uriTag']);\n  }\n\n  if (isset($args['uriCategory'])) {\n    $args['uriCategory'] = Text::addSlashes($args['uriCategory']);\n  }\n\n  if (!empty($args['uriBlog'])) {\n    $args['uriBlog'] = Text::addSlashes($args['uriBlog']);\n  } else {\n    if (!empty($args['homepage']) && empty($args['uriBlog'])) {\n      $args['uriBlog'] = '/blog/';\n    } else {\n      $args['uriBlog'] = '';\n    }\n  }\n\n  if (isset($args['extremeFriendly'])) {\n    $args['extremeFriendly'] = (($args['extremeFriendly'] == 'true') ? true : false);\n  }\n\n  if (isset($args['customFields'])) {\n    // Custom fields need to be JSON format valid, also the empty JSON need to be \"{}\"\n    json_decode($args['customFields']);\n    if (json_last_error() != JSON_ERROR_NONE) {\n      return false;\n    }\n    $pages->setCustomFields($args['customFields']);\n  }\n\n  if ($site->set($args)) {\n    // Check current order-by if changed it reorder the content\n    if ($site->orderBy() != ORDER_BY) {\n      if ($site->orderBy() == 'date') {\n        $pages->sortByDate();\n      } else {\n        $pages->sortByPosition();\n      }\n      $pages->save();\n    }\n\n    // Add syslog\n    $syslog->add(array(\n      'dictionaryKey' => 'settings-changes',\n      'notes' => ''\n    ));\n\n    // Create alert\n    Alert::set($L->g('The changes have been saved'));\n    return true;\n  }\n\n  return false;\n}\n\nfunction changeUserPassword($args)\n{\n  global $users;\n  global $login;\n  global $L;\n  global $syslog;\n\n  // Arguments\n  $username = $args['username'];\n\n  // Authorization: only admins or the user themselves can change a password\n  if ($login->role() !== 'admin' && $login->username() !== $username) {\n    Alert::set($L->g('You do not have permissions to access this page'), ALERT_STATUS_FAIL);\n    return false;\n  }\n  $newPassword = $args['newPassword'];\n  $confirmPassword = $args['confirmPassword'];\n\n  // Password length\n  if (Text::length($newPassword) < PASSWORD_LENGTH) {\n    Alert::set($L->g('Password must be at least ' . PASSWORD_LENGTH . ' characters long'), ALERT_STATUS_FAIL);\n    return false;\n  }\n\n  if ($newPassword != $confirmPassword) {\n    Alert::set($L->g('The password and confirmation password do not match'), ALERT_STATUS_FAIL);\n    return false;\n  }\n\n  if ($users->setPassword(array('username' => $username, 'password' => $newPassword))) {\n    // Add to syslog\n    $syslog->add(array(\n      'dictionaryKey' => 'user-password-changed',\n      'notes' => $username\n    ));\n\n    Alert::set($L->g('The changes have been saved'), ALERT_STATUS_OK);\n    return true;\n  }\n\n  return false;\n}\n\n// Returns true if the user is allowed to proceed\nfunction checkRole($allowRoles, $redirect = true)\n{\n  global $login;\n  global $L;\n  global $syslog;\n\n  $userRole = $login->role();\n  if (in_array($userRole, $allowRoles, true)) {\n    return true;\n  }\n\n  if ($redirect) {\n    // Add to syslog\n    $syslog->add(array(\n      'dictionaryKey' => 'access-denied',\n      'notes' => $login->username()\n    ));\n\n    Alert::set($L->g('You do not have sufficient permissions'));\n    Redirect::page('dashboard');\n  }\n  return false;\n}\n\n// Add a new category to the system\n// Returns TRUE is successfully added, FALSE otherwise\nfunction createCategory($args)\n{\n  global $categories;\n  global $L;\n  global $syslog;\n\n  if (Text::isEmpty($args['name'])) {\n    Alert::set($L->g('Category name is empty'), ALERT_STATUS_FAIL);\n    return false;\n  }\n\n  if ($categories->add(array('name' => $args['name'], 'description' => $args['description']))) {\n    // Add to syslog\n    $syslog->add(array(\n      'dictionaryKey' => 'new-category-created',\n      'notes' => $args['name']\n    ));\n\n    Alert::set($L->g('Category added'), ALERT_STATUS_OK);\n    return true;\n  }\n\n  Alert::set($L->g('The category already exists'), ALERT_STATUS_FAIL);\n  return false;\n}\n\nfunction editCategory($args)\n{\n  global $L;\n  global $pages;\n  global $categories;\n  global $syslog;\n\n  if (Text::isEmpty($args['name']) || Text::isEmpty($args['newKey'])) {\n    Alert::set($L->g('Empty fields'));\n    return false;\n  }\n\n  $newCategoryKey = $categories->edit($args);\n\n  if ($newCategoryKey == false) {\n    Alert::set($L->g('The category already exists'));\n    return false;\n  }\n\n  // Change the category key in the pages database\n  $pages->changeCategory($args['oldKey'], $newCategoryKey);\n\n  // Add to syslog\n  $syslog->add(array(\n    'dictionaryKey' => 'category-edited',\n    'notes' => $newCategoryKey\n  ));\n\n  Alert::set($L->g('The changes have been saved'));\n  return true;\n}\n\nfunction deleteCategory($args)\n{\n  global $L;\n  global $categories;\n  global $syslog;\n\n  // Remove the category by key\n  $categories->remove($args['oldKey']);\n\n  // Remove the category from the pages ? or keep it if the user want to recovery the category ?\n\n  // Add to syslog\n  $syslog->add(array(\n    'dictionaryKey' => 'category-deleted',\n    'notes' => $args['oldKey']\n  ));\n\n  Alert::set($L->g('The changes have been saved'));\n  return true;\n}\n\n// Returns an array with all the categories\n// By default, the database of categories is alphanumeric sorted\nfunction getCategories()\n{\n  global $categories;\n\n  $list = array();\n  foreach ($categories->keys() as $key) {\n    $category = new Category($key);\n    array_push($list, $category);\n  }\n  return $list;\n}\n\n// Returns the object category if the category exists, FALSE otherwise\nfunction getCategory($key)\n{\n  try {\n    $category = new Category($key);\n    return $category;\n  } catch (Exception $e) {\n    return false;\n  }\n}\n\n// Returns an array with all the tags\n// By default, the database of tags is alphanumeric sorted\nfunction getTags()\n{\n  global $tags;\n\n  $list = array();\n  foreach ($tags->db as $key => $fields) {\n    $tag = new Tag($key);\n    array_push($list, $tag);\n  }\n  return $list;\n}\n\n// Returns the object tag if the tag exists, FALSE otherwise\nfunction getTag($key)\n{\n  try {\n    $tag = new Tag($key);\n    return $tag;\n  } catch (Exception $e) {\n    return false;\n  }\n}\n\n// Activate a theme\nfunction activateTheme($themeDirectory)\n{\n  global $site;\n  global $syslog;\n  global $L, $language;\n\n  if (Sanitize::pathFile(PATH_THEMES . $themeDirectory)) {\n\n    // Disable current theme\n    $currentTheme = $site->theme();\n    deactivatePlugin($currentTheme);\n\n    // Install new theme\n    if (Filesystem::fileExists(PATH_THEMES . $themeDirectory . DS . 'install.php')) {\n      include_once(PATH_THEMES . $themeDirectory . DS . 'install.php');\n    }\n\n    // Install theme's plugin\n    activatePlugin($themeDirectory);\n\n    $site->set(array('theme' => $themeDirectory));\n\n    $syslog->add(array(\n      'dictionaryKey' => 'new-theme-configured',\n      'notes' => $themeDirectory\n    ));\n\n    Alert::set($L->g('The changes have been saved'));\n    return true;\n  }\n  return false;\n}\n\nfunction ajaxResponse($status = 0, $message = \"\", $data = array())\n{\n  $default = array('status' => $status, 'message' => $message);\n  $output = array_merge($default, $data);\n  exit(json_encode($output));\n}\n\n/*\n| This function checks the image extension,\n| generate a new filename to not overwrite the exists,\n| generate the thumbnail,\n| and move the image to a proper place\n|\n| @file\t\tstring\tPath and filename of the image\n| @imageDir\tstring\tPath where the image is going to be stored\n| @thumbnailDir\tstring\tPath where the thumbnail is going to be stored, if you don't set the variable is not going to create the thumbnail\n|\n| @return\tstring/boolean\tPath and filename of the new image or FALSE if there were some error\n*/\nfunction transformImage($file, $imageDir, $thumbnailDir = false)\n{\n  global $site;\n\n  // Block dotfiles\n  if (strpos(basename($file), '.') === 0) {\n    if (file_exists($file)) {\n      @unlink($file);\n    }\n    return false;\n  }\n\n  // Check image extension\n  $fileExtension = Filesystem::extension($file);\n  $fileExtension = Text::lowercase($fileExtension);\n  if (!in_array($fileExtension, $GLOBALS['ALLOWED_IMG_EXTENSION'])) {\n    return false;\n  }\n\n  // Generate a filename to not overwrite current image if exists\n  $filename = Filesystem::filename($file);\n\n  // Additional sanitization for filenames to prevent issues with special characters\n  $filenameWithoutExt = pathinfo($filename, PATHINFO_FILENAME);\n  $filenameWithoutExt = Text::removeSpecialCharacters($filenameWithoutExt, '-');\n  $filenameWithoutExt = Text::removeQuotes($filenameWithoutExt);\n  $filenameWithoutExt = Text::removeSpaces($filenameWithoutExt, '-');\n  $filename = $filenameWithoutExt . '.' . $fileExtension;\n\n  $nextFilename = Filesystem::nextFilename($filename, $imageDir);\n\n  // Move the image to a proper place and rename\n  $image = $imageDir . $nextFilename;\n  Filesystem::mv($file, $image);\n  chmod($image, 0644);\n\n  // Generate Thumbnail\n  if (!empty($thumbnailDir) && $site->thumbnailEnable()) {\n    if (($fileExtension == 'svg')) {\n      Filesystem::symlink($image, $thumbnailDir . $nextFilename);\n    } else {\n      $Image = new Image();\n      // setImage() returns false when GD cannot decode the source (missing\n      // format support or corrupted file). Skip saveImage() in that case and\n      // log so the operator can diagnose — the original image remains stored\n      // so the Media Manager can still display it via the fallback path.\n      if ($Image->setImage($image, $site->thumbnailWidth(), $site->thumbnailHeight(), 'crop') === false) {\n        Log::set('Thumbnail generation skipped (GD cannot decode): ' . $image, LOG_TYPE_ERROR);\n      } else {\n        $Image->saveImage($thumbnailDir . $nextFilename, $site->thumbnailQuality());\n      }\n    }\n  }\n\n  return $image;\n}\n\n/*\n| Builds the file list for the Media Manager. Scans originals (not thumbnails)\n| and pairs each original with its matching thumbnail. Used by list-images.php\n| and the Media Manager preload in media.php.\n|\n| The thumbnail filename usually matches the original, but can differ:\n|  - Legacy uploads: before commit 82f30f8b thumbnails were forced to .jpg, so\n|    pre-existing pairs may have different extensions (e.g., original test.png\n|    with thumbnail test.jpg).\n|  - Thumbnail generation disabled or failed: no thumbnail file exists at all.\n|    In that case 'thumbnail' is returned as an empty string so the client can\n|    fall back to the original image URL instead of building a broken\n|    PAGE_THUMBNAILS_URL + filename that would 404.\n|\n| @imagePath     string  Filesystem path to the originals directory (trailing DS)\n| @thumbnailPath string  Filesystem path to the thumbnails directory (trailing DS)\n| @chunk         int     Chunk size for pagination\n|\n| @return array[]  Array of chunks; each chunk is an array of items with keys\n|                  'filename' (original) and 'thumbnail' (resolved preview).\n*/\nfunction mediaManagerListImages($imagePath, $thumbnailPath, $chunk)\n{\n  global $site;\n\n  // Filesystem::listFiles globs '*.*' which does not match the 'thumbnails'\n  // subdirectory (no dot in the name), so scanning the originals directory\n  // naturally skips it.\n  $chunks = Filesystem::listFiles($imagePath, '*', '*', MEDIA_MANAGER_SORT_BY_DATE, $chunk);\n  if (empty($chunks)) {\n    return array();\n  }\n\n  // The site logo is stored in PATH_UPLOADS (not in a per-page directory)\n  // alongside uploaded images when IMAGE_RESTRICT is off. Exclude it from the\n  // Media Manager listing so it cannot be inserted/deleted as a media file.\n  $logoFilename = ($site && method_exists($site, 'logo')) ? $site->logo(false) : '';\n\n  foreach ($chunks as $i => $chunkFiles) {\n    $items = array();\n    foreach ($chunkFiles as $file) {\n      if (is_dir($file)) {\n        continue;\n      }\n      $filename = basename($file);\n      if ($logoFilename && $filename === $logoFilename) {\n        continue;\n      }\n      $extension = Text::lowercase(pathinfo($filename, PATHINFO_EXTENSION));\n      if (!in_array($extension, $GLOBALS['ALLOWED_IMG_EXTENSION'])) {\n        continue;\n      }\n\n      // Resolve thumbnail. Fast path: same filename. Legacy fallback: before\n      // commit 82f30f8b thumbnails were forced to .jpg, so try that single\n      // extension when the fast path misses. Only accept the .jpg candidate\n      // when it does not exist as an independent original (i.e. it is truly a\n      // legacy thumbnail, not another file's own thumbnail). If nothing matches,\n      // return an empty string so the client falls back to the original URL.\n      $thumbnail = '';\n      if (is_file($thumbnailPath . $filename)) {\n        $thumbnail = $filename;\n      } else {\n        $base = pathinfo($filename, PATHINFO_FILENAME);\n        $candidate = $base . '.jpg';\n        if ($candidate !== $filename\n          && is_file($thumbnailPath . $candidate)\n          && !is_file($imagePath . $candidate)\n        ) {\n          $thumbnail = $candidate;\n        }\n      }\n\n      $items[] = array(\n        'filename' => $filename,\n        'thumbnail' => $thumbnail,\n      );\n    }\n    $chunks[$i] = $items;\n  }\n\n  return $chunks;\n}\n\nfunction downloadRestrictedFile($file)\n{\n  if (is_file($file)) {\n    header('Content-Description: File Transfer');\n    header('Content-Type: application/octet-stream');\n    header('Content-Disposition: attachment; filename=\"' . basename($file) . '\"');\n    header('Expires: 0');\n    header('Cache-Control: must-revalidate');\n    header('Pragma: public');\n    header('Content-Length: ' . filesize($file));\n    readfile($file);\n    exit(0);\n  }\n}\n"
  },
  {
    "path": "bl-kernel/helpers/alert.class.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\nclass Alert {\n\n\t// Status, 0 = OK, 1 = Fail\n\tpublic static function set($value, $status=ALERT_STATUS_OK, $key='alert')\n\t{\n\t\tSession::set('defined', true);\n\t\tSession::set('alertStatus', $status);\n\t\tSession::set($key, $value);\n\t}\n\n\tpublic static function get($key='alert')\n\t{\n\t\tSession::set('defined', false);\n\t\treturn Session::get($key);\n\t}\n\n\tpublic static function status()\n\t{\n\t\treturn Session::get('alertStatus');\n\t}\n\n\tpublic static function p($key='alert')\n\t{\n\t\techo self::get($key);\n\t}\n\n\tpublic static function defined()\n\t{\n\t\treturn Session::get('defined');\n\t}\n\n}\n"
  },
  {
    "path": "bl-kernel/helpers/cookie.class.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\nclass Cookie {\n\n\tpublic static function get($key)\n\t{\n\t\tif (isset($_COOKIE[$key])) {\n\t\t\treturn $_COOKIE[$key];\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic static function set($key, $value, $daysToExpire=30, $options=array())\n\t{\n\t\t$expire = time() + 60 * 60 * 24 * $daysToExpire;\n\t\t$secure = !empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off';\n\n\t\t$defaults = array(\n\t\t\t'expires'  => $expire,\n\t\t\t'path'     => '/',\n\t\t\t'domain'   => '',\n\t\t\t'secure'   => $secure,\n\t\t\t'httponly'  => true,\n\t\t\t'samesite' => 'Lax'\n\t\t);\n\n\t\tsetcookie($key, $value, array_merge($defaults, $options));\n\t}\n\n\tpublic static function remove($key)\n\t{\n\t\tunset($_COOKIE[$key]);\n\t\tself::set($key, '', -1);\n\t}\n\n\tpublic static function isEmpty($key)\n\t{\n\t\treturn empty($_COOKIE[$key]);\n\t}\n}\n"
  },
  {
    "path": "bl-kernel/helpers/date.class.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\nclass Date {\n\n\t// Returns string with the date translated\n\t// Example: $date = 'Mon, 27th March' > 'Lun, 27th Marzo'\n\tpublic static function translate($date)\n\t{\n\t\tglobal $L;\n\n\t\t// If English default language don't translate\n\t\tif ($L->currentLanguage()=='en') {\n\t\t\treturn $date;\n\t\t}\n\n\t\t// Get the array of dates from the language file\n\t\t$dates = $L->getDates();\n\t\tforeach ($dates as $english=>$anotherLang) {\n\t\t\t$date = preg_replace('/\\b'.$english.'\\b/u', $anotherLang, $date);\n\t\t}\n\t\treturn $date;\n\t}\n\n\t// Return current Unix timestamp, GMT+0\n\tpublic static function unixTime()\n\t{\n\t\treturn time();\n\t}\n\n\t// Return the local time/date according to locale settings.\n\tpublic static function current($format)\n\t{\n\t\t$Date = new DateTime();\n\t\t$output = $Date->format($format);\n\n\t\treturn self::translate($output);\n\t}\n\n\t// Returns the current time shifted by offset\n\t// $offest could be +1 day, +1 month\n\tpublic static function currentOffset($format, $offset)\n\t{\n\t\t$Date = new DateTime();\n\t\t$Date->modify($offset);\n\t\t$output = $Date->format($format);\n\n\t\treturn self::translate($output);\n\t}\n\n\tpublic static function offset($date, $format, $offset)\n\t{\n\t\t$Date = new DateTime($date);\n\t\t$Date->modify($offset);\n\t\t$output = $Date->format($format);\n\n\t\treturn self::translate($output);\n\t}\n\n\t// Format a local time/date according to locale settings.\n\tpublic static function format($date, $currentFormat, $outputFormat)\n\t{\n\t\t// Returns a new DateTime instance or FALSE on failure.\n\t\t$Date = DateTime::createFromFormat($currentFormat, $date);\n\n\t\tif ($Date!==false) {\n\t\t\t$output = $Date->format($outputFormat);\n\t\t\treturn self::translate($output);\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tpublic static function convertToUTC($date, $currentFormat, $outputFormat)\n\t{\n\t\t$Date = DateTime::createFromFormat($currentFormat, $date);\n\t\t$Date->setTimezone(new DateTimeZone('UTC'));\n\t\t$output = $Date->format($outputFormat);\n\n\t\treturn self::translate($output);\n\t}\n\n\tpublic static function timeago($time)\n\t{\n\t\t$time = time() - $time;\n\n\t\t$tokens = array (\n\t\t\t31536000 => 'year',\n\t\t\t2592000 => 'month',\n\t\t\t604800 => 'week',\n\t\t\t86400 => 'day',\n\t\t\t3600 => 'hour',\n\t\t\t60 => 'minute',\n\t\t\t1 => 'second'\n\t\t);\n\n\t\tforeach ($tokens as $unit => $text) {\n\t\t\tif ($time < $unit) continue;\n\t\t\t$numberOfUnits = floor($time / $unit);\n\t\t\treturn $numberOfUnits.' '.$text.(($numberOfUnits>1)?'s':'');\n\t\t}\n\t}\n\n\t// DEBUG: Check this function, need to be more fast\n\t// Return array('Africa/Abidjan'=>'Africa/Abidjan (GMT+0)', ..., 'Pacific/Wallis'=>'Pacific/Wallis (GMT+12)');\n\t// PHP supported list. http://php.net/manual/en/timezones.php\n\tpublic static function timezoneList()\n\t{\n\t\t$tmp = array();\n\n\t\t$timezone_identifiers_list = timezone_identifiers_list();\n\n\t\tforeach($timezone_identifiers_list as $timezone_identifier)\n\t\t{\n\t\t\t$date_time_zone = new DateTimeZone($timezone_identifier);\n\t\t\t$date_time = new DateTime('now', $date_time_zone);\n\n\t\t\t$hours = floor($date_time_zone->getOffset($date_time) / 3600);\n\t\t\t$mins = floor(($date_time_zone->getOffset($date_time) - ($hours*3600)) / 60);\n\n\t\t\t$hours = 'GMT' . ($hours < 0 ? $hours : '+'.$hours);\n\t\t\t$mins = ($mins > 0 ? $mins : '0'.$mins);\n\n\t\t\t$text = str_replace(\"_\",\" \",$timezone_identifier);\n\n\t\t\t$tmp[$timezone_identifier] = $text.' ('.$hours.':'.$mins.')';\n\t\t}\n\n\t\treturn $tmp;\n\t}\n}\n"
  },
  {
    "path": "bl-kernel/helpers/dom.class.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\nclass DOM {\n\n\tpublic static function getFirstImage($content)\n\t{\n\t\t// Disable warning\n\t\tlibxml_use_internal_errors(true);\n\t\t$dom = new DOMDocument();\n\t\t$dom->loadHTML('<meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\">'.$content);\n\t\t$finder = new DomXPath($dom);\n\n\t\t$images = $finder->query(\"//img\");\n\n\t\tif($images->length>0) {\n\t\t\t// First image from the list\n\t\t\t$image = $images->item(0);\n\t\t\t// Get value from attribute src\n\t\t\t$imgSrc = $image->getAttribute('src');\n\t\t\t// Returns the image src\n\t\t\treturn $imgSrc;\n\t\t}\n\n\t\treturn false;\n\t}\n\n}"
  },
  {
    "path": "bl-kernel/helpers/email.class.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\nclass Email {\n\n\t// Returns TRUE if the mail was successfully accepted for delivery, FALSE otherwise.\n\tpublic static function send($args)\n\t{\n\t\t// Current time in unixtimestamp\n\t\t$now = time();\n\n\t\t// Domain\n\t\t$domainParse = parse_url(DOMAIN);\n\n\t\t$headers   = array();\n\t\t$headers[] = 'MIME-Version: 1.0';\n\t\t$headers[] = 'Content-type: text/html; charset=utf-8';\n\t\t$headers[] = 'Content-Transfer-Encoding: 8bit';\n\n\t\t$headers[] = 'From: =?UTF-8?B?'.base64_encode($args['fromName']).'?= <'.$args['from'].'>';\n\t\t$headers[] = 'Reply-To: '.$args['from'];\n\t\t$headers[] = 'Return-Path: '.$args['from'];\n\t\t$headers[] = 'message-id: <'.$now.'webmaster@'.$domainParse['host'].'>';\n\t\t$headers[] = 'X-Mailer: PHP/'.phpversion();\n\n\t\t$subject = '=?UTF-8?B?'.base64_encode($args['subject']).'?=';\n\n\t\t$message = '<html>\n\t\t<head>\n\t\t\t<meta charset=\"UTF-8\">\n\t\t\t<title>BLUDIT</title>\n\t\t</head>\n\t\t<body>\n\t\t<div>\n\t\t\t'.$args['message'].'\n\t\t</div>\n\t\t</body>\n\t\t</html>';\n\n\t\treturn mail($args['to'], $subject, $message, implode(PHP_EOL, $headers));\n\t}\n\n}"
  },
  {
    "path": "bl-kernel/helpers/filesystem.class.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\nclass Filesystem\n{\n\n\t// Returns an array with the absolutes directories.\n\tpublic static function listDirectories($path, $regex = '*', $sortByDate = false)\n\t{\n\t\t$directories = glob($path . $regex, GLOB_ONLYDIR);\n\n\t\tif (empty($directories)) {\n\t\t\treturn array();\n\t\t}\n\n\t\tif ($sortByDate) {\n\t\t\tusort(\n\t\t\t\t$directories,\n\t\t\t\tfunction ($a, $b) {\n\t\t\t\t\treturn filemtime($b) - filemtime($a);\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\n\t\treturn $directories;\n\t}\n\n\t// Returns an array with the list of files with the absolute path\n\t// $sortByDate = TRUE, the first file is the newer file\n\t// $chunk = amount of chunks, FALSE if you don't want to chunk\n\tpublic static function listFiles($path, $regex = '*', $extension = '*', $sortByDate = false, $chunk = false)\n\t{\n\t\t$files = glob($path . $regex . '.' . $extension);\n\n\t\tif (empty($files)) {\n\t\t\treturn array();\n\t\t}\n\n\t\tif ($sortByDate) {\n\t\t\tusort(\n\t\t\t\t$files,\n\t\t\t\tfunction ($a, $b) {\n\t\t\t\t\treturn filemtime($b) - filemtime($a);\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\n\t\t// Split the list of files into chunks\n\t\t// http://php.net/manual/en/function.array-chunk.php\n\t\tif ($chunk) {\n\t\t\treturn array_chunk($files, $chunk);\n\t\t}\n\n\t\treturn $files;\n\t}\n\n\tpublic static function mkdir($pathname, $recursive = false)\n\t{\n\t\tLog::set('mkdir ' . $pathname . ' recursive = ' . $recursive, LOG_TYPE_INFO);\n\t\treturn mkdir($pathname, DIR_PERMISSIONS, $recursive);\n\t}\n\n\tpublic static function rmdir($pathname)\n\t{\n\t\tLog::set('rmdir = ' . $pathname, LOG_TYPE_INFO);\n\t\treturn rmdir($pathname);\n\t}\n\n\tpublic static function mv($oldname, $newname)\n\t{\n\t\tLog::set('mv ' . $oldname . ' ' . $newname, LOG_TYPE_INFO);\n\t\t// Try renaming first (faster, works on same filesystem)\n\t\tif (@rename($oldname, $newname)) {\n\t\t\treturn true;\n\t\t}\n\t\t// Fallback to copy+delete for cross-partition moves\n\t\tif (copy($oldname, $newname)) {\n\t\t\tif (unlink($oldname)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\t// Copy succeeded but delete failed - remove the copy to avoid duplicates\n\t\t\t@unlink($newname);\n\t\t\treturn false;\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic static function rmfile($filename)\n\t{\n\t\tLog::set('rmfile = ' . $filename, LOG_TYPE_INFO);\n\t\treturn unlink($filename);\n\t}\n\n\tpublic static function fileExists($filename)\n\t{\n\t\treturn file_exists($filename);\n\t}\n\n\tpublic static function directoryExists($path)\n\t{\n\t\treturn file_exists($path);\n\t}\n\n\t// Copy recursive a directory to another\n\t// If the destination directory not exists is created\n\t// $source = /home/diego/example or /home/diego/example/\n\t// $destination = /home/diego/newplace or /home/diego/newplace/\n\tpublic static function copyRecursive($source, $destination, $skipDirectory = false)\n\t{\n\t\t$source \t= rtrim($source, DS);\n\t\t$destination \t= rtrim($destination, DS);\n\n\t\t// Check $source directory if exists\n\t\tif (!self::directoryExists($source)) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Check $destionation directory if exists\n\t\tif (!self::directoryExists($destination)) {\n\t\t\t// Create the $destination directory\n\t\t\tif (!mkdir($destination, DIR_PERMISSIONS, true)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tforeach ($iterator = new RecursiveIteratorIterator(\n\t\t\tnew RecursiveDirectoryIterator($source, RecursiveDirectoryIterator::SKIP_DOTS),\n\t\t\tRecursiveIteratorIterator::SELF_FIRST\n\t\t) as $item) {\n\n\t\t\t$currentDirectory = dirname($item->getPathName());\n\t\t\tif ($skipDirectory !== $currentDirectory) {\n\t\t\t\tif ($item->isDir()) {\n\t\t\t\t\t@mkdir($destination . DS . $iterator->getSubPathName());\n\t\t\t\t} else {\n\t\t\t\t\tcopy($item, $destination . DS . $iterator->getSubPathName());\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn true;\n\t}\n\n\t// Delete a file or directory recursive\n\t// The directory is deleted\n\tpublic static function deleteRecursive($source, $deleteDirectory = true)\n\t{\n\t\tLog::set('deleteRecursive = ' . $source, LOG_TYPE_INFO);\n\n\t\tif (!self::directoryExists($source)) {\n\t\t\treturn false;\n\t\t}\n\n\t\tforeach (new RecursiveIteratorIterator(\n\t\t\tnew RecursiveDirectoryIterator($source, FilesystemIterator::SKIP_DOTS),\n\t\t\tRecursiveIteratorIterator::CHILD_FIRST\n\t\t) as $item) {\n\t\t\tif ($item->isFile() || $item->isLink()) {\n\t\t\t\tunlink($item);\n\t\t\t} else {\n\t\t\t\trmdir($item);\n\t\t\t}\n\t\t}\n\n\t\tif ($deleteDirectory) {\n\t\t\treturn rmdir($source);\n\t\t}\n\t\treturn true;\n\t}\n\n\t// Compress a file or directory\n\t// $source = /home/diego/example\n\t// $destionation = /tmp/example.zip\n\tpublic static function zip($source, $destination)\n\t{\n\t\tif (!extension_loaded('zip')) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (!file_exists($source)) {\n\t\t\treturn false;\n\t\t}\n\n\t\t$zip = new ZipArchive();\n\t\tif (!$zip->open($destination, ZIPARCHIVE::CREATE)) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (is_dir($source) === true) {\n\t\t\t$iterator = new RecursiveDirectoryIterator($source);\n\t\t\t$iterator->setFlags(RecursiveDirectoryIterator::SKIP_DOTS);\n\t\t\t$files = new RecursiveIteratorIterator($iterator, RecursiveIteratorIterator::SELF_FIRST);\n\n\t\t\tforeach ($files as $file) {\n\t\t\t\t$file = realpath($file);\n\t\t\t\tif (is_dir($file)) {\n\t\t\t\t\t$zip->addEmptyDir(ltrim(str_replace($source, '', $file), \"/\\\\\"));\n\t\t\t\t} elseif (is_file($file)) {\n\t\t\t\t\t$zip->addFromString(ltrim(str_replace($source, '', $file), \"/\\\\\"), file_get_contents($file));\n\t\t\t\t}\n\t\t\t}\n\t\t} elseif (is_file($source)) {\n\t\t\t$zip->addFromString(basename($source), file_get_contents($source));\n\t\t}\n\n\t\treturn $zip->close();\n\t}\n\n\t// Uncompress a zip file\n\t// $source = /home/diego/example.zip\n\t// $destionation = /home/diego/content\n\tpublic static function unzip($source, $destination)\n\t{\n\t\tif (!extension_loaded('zip')) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (!file_exists($source)) {\n\t\t\treturn false;\n\t\t}\n\n\t\t$zip = new ZipArchive();\n\t\tif (!$zip->open($source)) {\n\t\t\treturn false;\n\t\t}\n\n\t\t$zip->extractTo($destination);\n\t\treturn $zip->close();\n\t}\n\n\t/*\n  | Returns the next filename if the filename already exist otherwise returns the original filename\n  |\n  | @path\tstring\tPath\n  | @filename\tstring\tFilename\n  |\n  | @return\tstring\n  */\n\tpublic static function nextFilename($filename, $path = PATH_UPLOADS)\n\t{\n\t\t// Clean filename and get extension\n\t\t$fileExtension \t= pathinfo($filename, PATHINFO_EXTENSION);\n\t\t$fileExtension \t= Text::lowercase($fileExtension);\n\t\t$filename \t= pathinfo($filename, PATHINFO_FILENAME);\n\t\t$filename \t= Text::removeSpaces($filename);\n\t\t$filename \t= Text::removeQuotes($filename);\n\n\t\t// Search for the next filename\n\t\t$tmpName = $filename . '.' . $fileExtension;\n\t\tif (Sanitize::pathFile($path . $tmpName)) {\n\t\t\t$number = 0;\n\t\t\t$tmpName = $filename . '_' . $number . '.' . $fileExtension;\n\t\t\twhile (Sanitize::pathFile($path . $tmpName)) {\n\t\t\t\t$number = $number + 1;\n\t\t\t\t$tmpName = $filename . '_' . $number . '.' . $fileExtension;\n\t\t\t}\n\t\t}\n\t\treturn $tmpName;\n\t}\n\n\t/*\n  | Returns the filename\n  | Example:\n  |\t@file\t/home/diego/dog.jpg\n  |\t@return dog.jpg\n  |\n  | @file\tstring\tFull path of the file\n  |\n  | @return\tstring\n  */\n\tpublic static function filename($file)\n\t{\n\t\treturn basename($file);\n\t}\n\n\t/*\n  | Returns the file extension\n  | Example:\n  |\t@file\t/home/diego/dog.jpg\n  |\t@return jpg\n  |\n  | @file\tstring\tFull path of the file\n  |\n  | @return\tstring\n  */\n\tpublic static function extension($file)\n\t{\n\t\treturn pathinfo($file, PATHINFO_EXTENSION);\n\t}\n\n\t/**\n\t * Get Size of file or directory in bytes\n\t * @param  [string] $fileOrDirectory\n\t * @return [int|bool]                  [bytes or false on error]\n\t */\n\tpublic static function getSize($fileOrDirectory)\n\t{\n\t\t// Files\n\t\tif (is_file($fileOrDirectory)) {\n\t\t\treturn filesize($fileOrDirectory);\n\t\t}\n\t\t// Directories\n\t\tif (file_exists($fileOrDirectory)) {\n\t\t\t$size = 0;\n\t\t\tforeach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator($fileOrDirectory, FilesystemIterator::SKIP_DOTS)) as $file) {\n\t\t\t\ttry {\n\t\t\t\t\t$size += $file->getSize();\n\t\t\t\t} catch (Exception $e) {\n\t\t\t\t\t// SplFileInfo::getSize RuntimeException will be thrown on broken symlinks/errors\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn $size;\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic static function bytesToHumanFileSize($bytes, $decimals = 2)\n\t{\n\t\t$size = array('B', 'kB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB');\n\t\t$factor = floor((strlen($bytes) - 1) / 3);\n\t\treturn sprintf(\"%.{$decimals}f \", $bytes / pow(1024, $factor)) . @$size[$factor];\n\t}\n\n\t/*\n  | Returns the mime type of the file\n  | Example:\n  |\t@file\t/home/diego/dog.jpg\n  |\t@return image/jpeg\n  |\n  | @file\t[string]\tFull path of the file\n  |\n  | @return\t[string|bool]\tMime type as string or FALSE if not possible to get the mime type\n  */\n\tpublic static function mimeType($file)\n\t{\n\t\tif (function_exists('mime_content_type')) {\n\t\t\treturn mime_content_type($file);\n\t\t}\n\n\t\tif (function_exists('finfo_file')) {\n\t\t\t$fileinfo = finfo_open(FILEINFO_MIME_TYPE);\n\t\t\t$mimeType = finfo_file($fileinfo, $file);\n\t\t\tfinfo_close($fileinfo);\n\t\t\treturn $mimeType;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tpublic static function symlink($from, $to)\n\t{\n\t\tif (function_exists('symlink')) {\n\t\t\tLog::set('symlink from = ' . $from . ' to = ' . $to, LOG_TYPE_INFO);\n\t\t\treturn symlink($from, $to);\n\t\t} else {\n\t\t\treturn copy($from, $to);\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "bl-kernel/helpers/image.class.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\nclass Image {\n\n    private $image;\n    private $width;\n    private $height;\n    private $imageResized;\n\n    public function setImage($fileName, $newWidth, $newHeight, $option=\"auto\")\n    {\n        // *** Open up the file\n        $this->image = $this->openImage($fileName);\n\n        // *** Check if image was opened successfully\n        if ($this->image === false) {\n            return false;\n        }\n\n        // *** Get width and height\n        $this->width  = imagesx($this->image);\n        $this->height = imagesy($this->image);\n\n        $this->resizeImage($newWidth, $newHeight, $option);\n        return true;\n    }\n\n    public function saveImage($savePath, $imageQuality=\"100\", $forceJPG=false, $forcePNG=false)\n    {\n        $extension = strtolower(pathinfo($savePath, PATHINFO_EXTENSION));\n\n        // Remove the extension\n        $filename = substr($savePath, 0,strrpos($savePath,'.'));\n\n        if ($forcePNG) {\n            $extension = 'png';\n        } elseif ($forceJPG) {\n            $extension = 'jpg';\n        }\n\n        $path_complete = $filename.'.'.$extension;\n\n        switch ($extension) {\n            case 'jpg':\n            case 'jpeg':\n                // Checking for JPG support\n                if (imagetypes() & IMG_JPG) {\n                    imagejpeg($this->imageResized, $path_complete, $imageQuality);\n                }\n                break;\n\n            case 'gif':\n                // Checking for GIF support\n                if (imagetypes() & IMG_GIF) {\n                    imagegif($this->imageResized, $path_complete);\n                }\n                break;\n\n            case 'png':\n                // *** Scale quality from 0-100 to 0-9\n                $scaleQuality = round(($imageQuality/100) * 9);\n\n                // *** Invert quality setting as 0 is best, not 9\n                $invertScaleQuality = 9 - $scaleQuality;\n\n                // Checking for PNG support\n                if (imagetypes() & IMG_PNG) {\n                    imagepng($this->imageResized, $path_complete, $invertScaleQuality);\n                }\n                break;\n            case 'webp':\n                // Checking for WEBP support\n                if (imagetypes() & IMG_WEBP) {\n                    imagewebp($this->imageResized, $path_complete, $imageQuality);\n                }\n                break;\n\n            default:\n                // Fail extension detection\n                break;\n        }\n\n    }\n\n    private function openImage($file)\n    {\n        // *** Get extension\n        $extension = strtolower(strrchr($file, '.'));\n\n        // GD may be compiled without support for some formats (often WebP, and\n        // sometimes JPEG on minimal builds). Guard each decoder with both a\n        // runtime capability check and a function_exists() check to avoid a\n        // fatal \"call to undefined function\" on stripped builds.\n        $types = imagetypes();\n        switch($extension)\n        {\n            case '.jpg':\n            case '.jpeg':\n                if (!($types & IMG_JPG) || !function_exists('imagecreatefromjpeg')) {\n                    return false;\n                }\n                $img = imagecreatefromjpeg($file);\n                break;\n            case '.gif':\n                if (!($types & IMG_GIF) || !function_exists('imagecreatefromgif')) {\n                    return false;\n                }\n                $img = imagecreatefromgif($file);\n                break;\n            case '.png':\n                if (!($types & IMG_PNG) || !function_exists('imagecreatefrompng')) {\n                    return false;\n                }\n                $img = imagecreatefrompng($file);\n                break;\n            case '.webp':\n                if (!($types & IMG_WEBP) || !function_exists('imagecreatefromwebp')) {\n                    return false;\n                }\n                $img = imagecreatefromwebp($file);\n                break;\n            default:\n                $img = false;\n                break;\n        }\n        return $img;\n    }\n\n    private function resizeImage($newWidth, $newHeight, $option)\n    {\n        // *** Get optimal width and height - based on $option\n        $optionArray = $this->getDimensions($newWidth, $newHeight, $option);\n\n        $optimalWidth  = (int) $optionArray['optimalWidth'];\n        $optimalHeight = (int) $optionArray['optimalHeight'];\n\n\n        // *** Resample - create image canvas of x, y size\n        $this->imageResized = imagecreatetruecolor($optimalWidth, $optimalHeight);\n        imagealphablending($this->imageResized, false);\n        imagesavealpha($this->imageResized, true);\n        imagecopyresampled($this->imageResized, $this->image, 0, 0, 0, 0, $optimalWidth, $optimalHeight, $this->width, $this->height);\n\n\n        // *** if option is 'crop', then crop too\n        if ($option == 'crop') {\n            $this->crop($optimalWidth, $optimalHeight, $newWidth, $newHeight);\n        }\n    }\n\n    private function getDimensions($newWidth, $newHeight, $option)\n    {\n\n        if( ($this->width < $newWidth) and ($this->height < $newHeight) )\n        {\n            return array('optimalWidth' => $this->width, 'optimalHeight' => $this->height);\n        }\n\n        switch ($option)\n        {\n            case 'exact':\n                $optimalWidth = $newWidth;\n                $optimalHeight= $newHeight;\n                break;\n            case 'portrait':\n                $optimalWidth = $this->getSizeByFixedHeight($newHeight);\n                $optimalHeight= $newHeight;\n                break;\n            case 'landscape':\n                $optimalWidth = $newWidth;\n                $optimalHeight= $this->getSizeByFixedWidth($newWidth);\n                break;\n            case 'auto':\n                $optionArray = $this->getSizeByAuto($newWidth, $newHeight);\n                $optimalWidth = $optionArray['optimalWidth'];\n                $optimalHeight = $optionArray['optimalHeight'];\n                break;\n            case 'crop':\n                $optionArray = $this->getOptimalCrop($newWidth, $newHeight);\n                $optimalWidth = $optionArray['optimalWidth'];\n                $optimalHeight = $optionArray['optimalHeight'];\n                break;\n            default:\n                $optionArray = $this->getSizeByAuto($newWidth, $newHeight);\n                $optimalWidth = $optionArray['optimalWidth'];\n                $optimalHeight = $optionArray['optimalHeight'];\n                break;\n        }\n\n        return array('optimalWidth' => $optimalWidth, 'optimalHeight' => $optimalHeight);\n    }\n\n    private function getSizeByFixedHeight($newHeight)\n    {\n        $ratio = $this->width / $this->height;\n        $newWidth = $newHeight * $ratio;\n        return $newWidth;\n    }\n\n    private function getSizeByFixedWidth($newWidth)\n    {\n        $ratio = $this->height / $this->width;\n        $newHeight = $newWidth * $ratio;\n        return $newHeight;\n    }\n\n    private function getSizeByAuto($newWidth, $newHeight)\n    {\n        if ($this->height < $this->width)\n            // *** Image to be resized is wider (landscape)\n        {\n            $optimalWidth = $newWidth;\n            $optimalHeight= $this->getSizeByFixedWidth($newWidth);\n        }\n        elseif ($this->height > $this->width)\n            // *** Image to be resized is taller (portrait)\n        {\n            $optimalWidth = $this->getSizeByFixedHeight($newHeight);\n            $optimalHeight= $newHeight;\n        }\n        else\n            // *** Image to be resizerd is a square\n        {\n            if ($newHeight < $newWidth) {\n                $optimalWidth = $newWidth;\n                $optimalHeight= $this->getSizeByFixedWidth($newWidth);\n            } else if ($newHeight > $newWidth) {\n                $optimalWidth = $this->getSizeByFixedHeight($newHeight);\n                $optimalHeight= $newHeight;\n            } else {\n                // *** Sqaure being resized to a square\n                $optimalWidth = $newWidth;\n                $optimalHeight= $newHeight;\n            }\n        }\n\n        return array('optimalWidth' => $optimalWidth, 'optimalHeight' => $optimalHeight);\n    }\n\n    private function getOptimalCrop($newWidth, $newHeight)\n    {\n\n        $heightRatio = $this->height / $newHeight;\n        $widthRatio  = $this->width /  $newWidth;\n\n        if ($heightRatio < $widthRatio) {\n            $optimalRatio = $heightRatio;\n        } else {\n            $optimalRatio = $widthRatio;\n        }\n\n        $optimalHeight = $this->height / $optimalRatio;\n        $optimalWidth  = $this->width  / $optimalRatio;\n\n        return array('optimalWidth' => $optimalWidth, 'optimalHeight' => $optimalHeight);\n    }\n\n    private function crop($optimalWidth, $optimalHeight, $newWidth, $newHeight)\n    {\n        // *** Find center - this will be used for the crop\n        $cropStartX = (int) (( $optimalWidth / 2) - ( $newWidth /2 ));\n        $cropStartY = (int) (( $optimalHeight/ 2) - ( $newHeight/2 ));\n\n        $crop = $this->imageResized;\n\n        // *** Now crop from center to exact requested size\n        $this->imageResized = imagecreatetruecolor($newWidth , $newHeight);\n        imagealphablending($this->imageResized, false);\n        imagesavealpha($this->imageResized, true);\n        imagecopyresampled($this->imageResized, $crop , 0, 0, $cropStartX, $cropStartY, $newWidth, $newHeight , $newWidth, $newHeight);\n    }\n}\n"
  },
  {
    "path": "bl-kernel/helpers/log.class.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\nclass Log {\n\n\tpublic static function set($text, $type=LOG_TYPE_INFO)\n\t{\n\t\tif (!DEBUG_MODE) {\n\t\t\treturn false;\n\t\t}\n\n\t\t$messageType = 0;\n\t\tif (is_array($text) ) {\n\t\t\terror_log('------------------------', $messageType);\n\t\t\terror_log('Array', $messageType);\n\t\t\terror_log('------------------------', $messageType);\n\t\t\tforeach ($text as $key=>$value) {\n\t\t\t\terror_log($key.'=>'.$value, $messageType);\n\t\t\t}\n\t\t\terror_log('------------------------', $messageType);\n\t\t}\n\t\terror_log($type.' ['.BLUDIT_VERSION.'] ['.$_SERVER['REQUEST_URI'].'] '.$text, $messageType);\n\n\t\tif (DEBUG_TYPE=='TRACE') {\n\t\t\terror_log(print_r(debug_backtrace(), true));\n\t\t}\n\t}\n\n}\n"
  },
  {
    "path": "bl-kernel/helpers/paginator.class.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\nclass Paginator {\n\n\tpublic static $pager = array(\n\t\t'itemsPerPage'=>0,\n\t\t'numberOfPages'=>1,\n\t\t'numberOfItems'=>0,\n\t\t'firstPage'=>1,\n\t\t'nextPage'=>1,\n\t\t'prevPage'=>1,\n\t\t'currentPage'=>1,\n\t\t'showPrev'=>false,\n\t\t'showNext'=>false,\n\t\t'showNextPrev'=>false\n\t);\n\n\tpublic static function set($key, $value)\n\t{\n\t\tself::$pager[$key] = $value;\n\t}\n\n\tpublic static function get($key)\n\t{\n\t\treturn self::$pager[$key];\n\t}\n\n\tpublic static function numberOfPages()\n\t{\n\t\treturn self::get('numberOfPages');\n\t}\n\n\tpublic static function currentPage()\n\t{\n\t\treturn self::get('currentPage');\n\t}\n\n\tpublic static function nextPage()\n\t{\n\t\treturn self::get('nextPage');\n\t}\n\n\tpublic static function prevPage()\n\t{\n\t\treturn self::get('prevPage');\n\t}\n\n\tpublic static function showNext()\n\t{\n\t\treturn self::get('showNext');\n\t}\n\n\tpublic static function showPrev()\n\t{\n\t\treturn self::get('showPrev');\n\t}\n\n\tpublic static function firstPage()\n\t{\n\t\treturn self::get('firstPage');\n\t}\n\n\t// Returns the absolute URL for the first page\n\tpublic static function firstPageUrl()\n\t{\n\t\treturn self::numberUrl( self::firstPage() );\n\t}\n\n\t// Returns the absolute URL for the last page\n\tpublic static function lastPageUrl()\n\t{\n\t\treturn self::numberUrl( self::numberOfPages() );\n\t}\n\n\t// Returns the absolute URL for the next page\n\tpublic static function nextPageUrl()\n\t{\n\t\treturn self::numberUrl( self::nextPage() );\n\t}\n\n\t// Returns the absolute URL for the previous page\n\tpublic static function previousPageUrl()\n\t{\n\t\treturn self::numberUrl( self::prevPage() );\n\t}\n\n\t// Return the absoulte URL with the page number\n\tpublic static function numberUrl($pageNumber)\n\t{\n\t\tglobal $url;\n\n\t\t$domain = trim(DOMAIN_BASE,'/');\n\t\t$filter = trim($url->activeFilter(), '/');\n\n\t\tif(empty($filter)) {\n\t\t\t$uri = $domain.'/'.$url->slug();\n\t\t}\n\t\telse {\n\t\t\t$uri = $domain.'/'.$filter.'/'.$url->slug();\n\t\t}\n\n\t\treturn $uri.'?page='.$pageNumber;\n\t}\n\n\tpublic static function html($textPrevPage=false, $textNextPage=false, $showPageNumber=false)\n\t{\n\t\tglobal $L;\n\n\t\t$html  = '<div id=\"paginator\">';\n\t\t$html .= '<ul>';\n\n\t\tif(self::get('showNext'))\n\t\t{\n\t\t\tif($textPrevPage===false) {\n\t\t\t\t$textPrevPage = '« '.$L->g('Previous page');\n\t\t\t}\n\n\t\t\t$html .= '<li class=\"left\">';\n\t\t\t$html .= '<a href=\"'.self::nextPageUrl().'\">'.$textPrevPage.'</a>';\n\t\t\t$html .= '</li>';\n\t\t}\n\n\t\tif($showPageNumber) {\n\t\t\t$html .= '<li class=\"list\">'.(self::get('currentPage')+1).' / '.(self::get('numberOfPages')+1).'</li>';\n\t\t}\n\n\t\tif(self::get('showPrev'))\n\t\t{\n\t\t\tif($textNextPage===false) {\n\t\t\t\t$textNextPage = $L->g('Next page').' »';\n\t\t\t}\n\n\t\t\t$html .= '<li class=\"right\">';\n\t\t\t$html .= '<a href=\"'.self::previousPageUrl().'\">'.$textNextPage.'</a>';\n\t\t\t$html .= '</li>';\n\t\t}\n\n\t\t$html .= '</ul>';\n\t\t$html .= '</div>';\n\n\t\treturn $html;\n\t}\n\n\t/*\n\t * Bootstrap Pagination\n\t */\n\tpublic static function bootstrap_html($textPrevPage=false, $textNextPage=false, $showPageNumber=false){\n\n\t\tglobal $language;\n\n\t\t$total_pages = self::numberOfPages();\n\t\t$howMany = 2;\n\t\t$currentPage = self::currentPage();\n\t\t$first_page = self::firstPage();\n\t\t$last_page = self::lastPageUrl();\n\t\t$show_next = (self::showNext())  ? \"\" : \"disabled\";\n\t\t$show_previois = (self::showPrev()) ? \"\" : \"disabled\";\n\n\t\t$html = '<nav aria-label=\"Page navigation\">';\n\t\t$html .= '<ul class=\"pagination\">';\n\t\tif ($currentPage > 3 || $currentPage === $total_pages){\n\t\t\t$html .= '<li class=\"page-item\">';\n\t\t\t$html .= '<a class=\"page-link\" href=\"'.self::firstPageUrl().'\" aria-label=\"First\"><span aria-hidden=\"true\">&laquo;</span> '.$language->get('First').'</a>';\n\t\t\t$html .= '</li>';\n\t\t}\n\t\tif ($currentPage > 1){\n\t\t\t$html .= '<li class=\"page-item'.$show_previois.'\">';\n\t\t\t$html .= '<a class=\"page-link\" href=\"'.self::previousPageUrl().'\" aria-label=\"Previous\"><span aria-hidden=\"true\">&laquo;</span> '.$language->get('Previous').'</a>';\n\t\t\t$html .= '</li>';\n\t\t}\n\t\tif ($currentPage > $howMany + 1){\n\t\t\t$html .= '<li class=\"page-item disabled\"><span>...</span></li>';\n\t\t}\n\t\tfor ($pageIndex = $currentPage - $howMany; $pageIndex <= $currentPage + $howMany; $pageIndex++){\n\n\t\t\t$active = ($pageIndex==self::currentPage()) ? \"active\" : false;\n\n\t\t\tif ($pageIndex >= 1 && $pageIndex <= $total_pages){\n\t\t\t\t$html .= '<li class =\"'.$active.'\"><a href=\"'.self::numberUrl($pageIndex).'\">'.$pageIndex.'</a></li>';\n\t\t\t}\n\t\t}\n\t\tif ($currentPage < $total_pages){\n\t\t\t$html .= '<li class=\"page-item disabled\"><span>...</span></li>';\n\t\t}\n\t\tif ($currentPage < $total_pages){\n\t\t\t$html .= '<li class=\"page-item'.$show_next.'\">';\n\t\t\t$html .= '<a class=\"page-link\" href=\"'.self::nextPageUrl().'\" aria-label=\"Next\">'.$language->get('Next').' <span aria-hidden=\"true\">&raquo;</span></a>';\n\t\t\t$html .= '</li>';\n\t\t\t$html .= '<li><a href=\"'.$last_page.'\">'.$language->get('Last').'</a></li>';\n\t\t}\n\t\t$html .= '</ul>';\n\t\t$html .= '</nav>';\n\n\t\treturn $html;\n\n\t}\n\n}\n"
  },
  {
    "path": "bl-kernel/helpers/redirect.class.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\nclass Redirect {\n\n\tpublic static function url($url, $httpCode=301)\n\t{\n\t\tif (!headers_sent()) {\n\t\t\theader(\"Location: \".$url, TRUE, $httpCode);\n\t\t\texit(0);\n\t\t}\n\n\t\texit('<meta http-equiv=\"refresh\" content=\"0; url='.$url.'\"/>');\n\t}\n\n\tpublic static function page($page)\n\t{\n\t\tself::url(HTML_PATH_ADMIN_ROOT.$page);\n\t}\n\n\tpublic static function home()\n\t{\n\t\tself::url(HTML_PATH_ROOT);\n\t}\n\n\tpublic static function admin()\n\t{\n\t\tself::url(HTML_PATH_ADMIN_ROOT);\n\t}\n}"
  },
  {
    "path": "bl-kernel/helpers/sanitize.class.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\nclass Sanitize {\n\n\tpublic static function removeTags($text) {\n\t\treturn strip_tags($text);\n\t}\n\n\t// Convert special characters to HTML entities\n\tpublic static function html($text)\n\t{\n\t\t$flags = ENT_COMPAT;\n\n\t\tif (defined('ENT_HTML5')) {\n\t\t\t$flags = ENT_COMPAT|ENT_HTML5;\n\t\t}\n\n\t\treturn htmlspecialchars($text, $flags, CHARSET);\n\t}\n\n\t// Convert special HTML entities back to characters\n\tpublic static function htmlDecode($text)\n\t{\n\t\t$flags = ENT_COMPAT;\n\n\t\tif(defined('ENT_HTML5')) {\n\t\t\t$flags = ENT_COMPAT|ENT_HTML5;\n\t\t}\n\n\t\treturn htmlspecialchars_decode($text, $flags);\n\t}\n\n\tpublic static function pathFile($path, $file=false)\n\t{\n\t\tif ($file!==false){\n\t\t\t$fullPath = $path.$file;\n\t\t} else {\n\t\t\t$fullPath = $path;\n\t\t}\n\n\t\t// Fix for Windows on paths. eg: $path = c:\\diego/page/subpage convert to c:\\diego\\page\\subpages\n\t\t$fullPath = str_replace('/', DS, $fullPath);\n\n\t\tif (CHECK_SYMBOLIC_LINKS) {\n\t\t\t$real = realpath($fullPath);\n\t\t} else {\n\t\t\t$real = file_exists($fullPath)?$fullPath:false;\n\t\t}\n\n\t\t// If $real is FALSE the file does not exist.\n\t\tif ($real===false) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Resolve the base directory to validate against path traversal.\n\t\t$basePath = realpath($path);\n\t\tif ($basePath===false) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// If the resolved path does not start with the base directory then this is Path Traversal.\n\t\tif ($real !== $basePath && strpos($real, $basePath . DS) !== 0) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\t// Returns the email without illegal characters.\n\tpublic static function email($email)\n\t{\n\t\treturn( filter_var($email, FILTER_SANITIZE_EMAIL) );\n\t}\n\n\tpublic static function url($url)\n\t{\n\t\treturn( filter_var($url, FILTER_SANITIZE_URL) );\n\t}\n\n\tpublic static function int($value)\n\t{\n\t\t$value = (int)$value;\n\n\t\tif($value>=0)\n\t\t\treturn $value;\n\t\telse\n\t\t\treturn 0;\n\t}\n\n}"
  },
  {
    "path": "bl-kernel/helpers/session.class.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\nclass Session {\n\n\tprivate static $started = false;\n\tprivate static $sessionName = 'BLUDIT-KEY';\n\n\tpublic static function start($path, $secure)\n\t{\n\t\t// Try to set the session timeout on server side, 1 hour of timeout\n\t\tini_set('session.gc_maxlifetime', SESSION_GC_MAXLIFETIME);\n\n\t\t// If set to TRUE then PHP will attempt to send the httponly flag when setting the session cookie.\n\t\t$httponly = true;\n\n\t\t// Gets current cookies params.\n\t\t$cookieParams = session_get_cookie_params();\n\n        if (empty($path)) {\n\t\t\t$httponly = true;\n            $path = '/';\n        }\n\n        session_set_cookie_params([\n            'lifetime' => $cookieParams[\"lifetime\"],\n            'path' => $path,\n            'domain' => $cookieParams[\"domain\"],\n            'secure' => $secure,\n            'httponly' => true,\n            'samesite' => 'Lax'\n        ]);\n\n\t\t// Sets the session name to the one set above.\n\t\t// Use the __Secure- prefix when served over HTTPS to prevent cookie hijacking.\n\t\t$sessionName = $secure ? '__Secure-' . self::$sessionName : self::$sessionName;\n\t\tsession_name($sessionName);\n\n\t\t// Start session.\n\t\tself::$started = session_start();\n\n\t\t// Regenerated the session, delete the old one. There are problems with AJAX.\n\t\t//session_regenerate_id(true);\n\n\t\tif (!self::$started) {\n\t\t\tLog::set(__METHOD__.LOG_SEP.'Error occurred when trying to start the session.');\n\t\t}\n\t}\n\n\tpublic static function started()\n\t{\n\t\treturn self::$started;\n\t}\n\n\tpublic static function destroy()\n\t{\n\t\t$sessionName = session_name();\n\t\tsession_destroy();\n\t\tunset($_SESSION);\n\t\tunset($_COOKIE[$sessionName]);\n\t\tCookie::set($sessionName, '', -1);\n\t\tself::$started = false;\n\t\tLog::set(__METHOD__.LOG_SEP.'Session destroyed.');\n\t\treturn !isset($_SESSION);\n\t}\n\n\tpublic static function set($key, $value)\n\t{\n\t\t$key = 's_'.$key;\n\n\t\t$_SESSION[$key] = $value;\n\t}\n\n\tpublic static function get($key)\n\t{\n\t\t$key = 's_'.$key;\n\n\t\tif (isset($_SESSION[$key])) {\n\t\t\treturn $_SESSION[$key];\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic static function remove($key)\n\t{\n\t\t$key = 's_'.$key;\n\n\t\tunset($_SESSION[$key]);\n\t}\n}\n"
  },
  {
    "path": "bl-kernel/helpers/tcp.class.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\nclass TCP {\n\n\tpublic static function http($url, $method='GET', $verifySSL=true, $timeOut=10, $followRedirections=true, $binary=true, $headers=false)\n\t{\n\t\tif (function_exists('curl_version')) {\n\t\t\t$ch = curl_init();\n\t\t\tcurl_setopt($ch, CURLOPT_URL, $url);\n\t\t\tcurl_setopt($ch, CURLOPT_HEADER, $headers);\n\t\t\tcurl_setopt($ch, CURLOPT_RETURNTRANSFER, true);\n\t\t\tcurl_setopt($ch, CURLOPT_FOLLOWLOCATION, $followRedirections);\n\t\t\tcurl_setopt($ch, CURLOPT_SSL_VERIFYPEER, $verifySSL);\n\t\t\tcurl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeOut);\n\t\t\tcurl_setopt($ch, CURLOPT_TIMEOUT, $timeOut);\n\t\t\tif ($method=='POST') {\n\t\t\t\tcurl_setopt($ch, CURLOPT_POST, true);\n\t\t\t}\n\t\t\t$output = curl_exec($ch);\n\t\t\tif ($output===false) {\n\t\t\t\tLog::set('Curl error: '.curl_error($ch));\n\t\t\t}\n\t\t\tcurl_close($ch);\n\t\t} else {\n\t\t\t$options = array(\n\t\t\t\t'http'=>array(\n\t\t\t\t\t'method'=>$method,\n\t\t\t\t\t'timeout'=>$timeOut,\n\t\t\t\t\t'follow_location'=>$followRedirections\n\t\t\t\t),\n\t\t\t\t\"ssl\"=>array(\n\t\t\t\t\t\"verify_peer\"=>$verifySSL,\n\t\t\t\t\t\"verify_peer_name\"=>$verifySSL\n\t\t\t\t)\n\t\t\t);\n\t\t\t$stream = stream_context_create($options);\n\t\t\t$output = file_get_contents($url, false, $stream);\n\t\t}\n\n\t\treturn $output;\n\t}\n\n\tpublic static function download($url, $destination)\n\t{\n\t\t$data = self::http($url, $method='GET', $verifySSL=true, $timeOut=30, $followRedirections=true, $binary=true, $headers=false);\n\t\treturn file_put_contents($destination, $data);\n\t}\n\n}\n"
  },
  {
    "path": "bl-kernel/helpers/text.class.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\nclass Text {\n\n\tprivate static $unicodeChars = array(\n\t\t// Latin\n\t\t'À'=>'A', 'Á'=>'A', 'Â'=>'A', 'Ã'=>'A', 'Ä'=>'A', 'Å'=>'A', 'Æ'=>'AE', 'Ç'=>'C',\n\t\t'È'=>'E', 'É'=>'E', 'Ê'=>'E', 'Ë'=>'E', 'Ì'=>'I', 'Í'=>'I', 'Î'=>'I', 'Ï'=>'I',\n\t\t'Ð'=>'D', 'Ñ'=>'N', 'Ò'=>'O', 'Ó'=>'O', 'Ô'=>'O', 'Õ'=>'O', 'Ö'=>'O', 'Ő'=>'O',\n\t\t'Ø'=>'O', 'Ù'=>'U', 'Ú'=>'U', 'Û'=>'U', 'Ü'=>'U', 'Ű'=>'U', 'Ý'=>'Y', 'Þ'=>'TH',\n\t\t'ß'=>'ss',\n\t\t'à'=>'a', 'á'=>'a', 'â'=>'a', 'ã'=>'a', 'ä'=>'a', 'å'=>'a', 'æ'=>'ae', 'ç'=>'c',\n\t\t'è'=>'e', 'é'=>'e', 'ê'=>'e', 'ë'=>'e', 'ì'=>'i', 'í'=>'i', 'î'=>'i', 'ï'=>'i',\n\t\t'ð'=>'d', 'ñ'=>'n', 'ò'=>'o', 'ó'=>'o', 'ô'=>'o', 'õ'=>'o', 'ö'=>'o', 'ő'=>'o',\n\t\t'ø'=>'o', 'ù'=>'u', 'ú'=>'u', 'û'=>'u', 'ü'=>'u', 'ű'=>'u', 'ý'=>'y', 'þ'=>'th',\n\t\t'ÿ'=>'y',\n\t\t// Latin symbols\n\t\t'©'=>'(c)',\n\t\t// Greek\n\t\t'Α'=>'A', 'Β'=>'B', 'Γ'=>'G', 'Δ'=>'D', 'Ε'=>'E', 'Ζ'=>'Z', 'Η'=>'H', 'Θ'=>'8',\n\t\t'Ι'=>'I', 'Κ'=>'K', 'Λ'=>'L', 'Μ'=>'M', 'Ν'=>'N', 'Ξ'=>'3', 'Ο'=>'O', 'Π'=>'P',\n\t\t'Ρ'=>'R', 'Σ'=>'S', 'Τ'=>'T', 'Υ'=>'Y', 'Φ'=>'F', 'Χ'=>'X', 'Ψ'=>'PS', 'Ω'=>'W',\n\t\t'Ά'=>'A', 'Έ'=>'E', 'Ί'=>'I', 'Ό'=>'O', 'Ύ'=>'Y', 'Ή'=>'H', 'Ώ'=>'W', 'Ϊ'=>'I',\n\t\t'Ϋ'=>'Y',\n\t\t'α'=>'a', 'β'=>'b', 'γ'=>'g', 'δ'=>'d', 'ε'=>'e', 'ζ'=>'z', 'η'=>'h', 'θ'=>'8',\n\t\t'ι'=>'i', 'κ'=>'k', 'λ'=>'l', 'μ'=>'m', 'ν'=>'n', 'ξ'=>'3', 'ο'=>'o', 'π'=>'p',\n\t\t'ρ'=>'r', 'σ'=>'s', 'τ'=>'t', 'υ'=>'y', 'φ'=>'f', 'χ'=>'x', 'ψ'=>'ps', 'ω'=>'w',\n\t\t'ά'=>'a', 'έ'=>'e', 'ί'=>'i', 'ό'=>'o', 'ύ'=>'y', 'ή'=>'h', 'ώ'=>'w', 'ς'=>'s',\n\t\t'ϊ'=>'i', 'ΰ'=>'y', 'ϋ'=>'y', 'ΐ'=>'i',\n\t\t// Turkish\n\t\t'Ş'=>'S', 'İ'=>'I', 'Ç'=>'C', 'Ü'=>'U', 'Ö'=>'O', 'Ğ'=>'G',\n\t\t'ş'=>'s', 'ı'=>'i', 'ç'=>'c', 'ü'=>'u', 'ö'=>'o', 'ğ'=>'g',\n\t\t// Russian\n\t\t'А'=>'A', 'Б'=>'B', 'В'=>'V', 'Г'=>'G', 'Д'=>'D', 'Е'=>'E', 'Ё'=>'Yo', 'Ж'=>'Zh',\n\t\t'З'=>'Z', 'И'=>'I', 'Й'=>'J', 'К'=>'K', 'Л'=>'L', 'М'=>'M', 'Н'=>'N', 'О'=>'O',\n\t\t'П'=>'P', 'Р'=>'R', 'С'=>'S', 'Т'=>'T', 'У'=>'U', 'Ф'=>'F', 'Х'=>'H', 'Ц'=>'C',\n\t\t'Ч'=>'Ch', 'Ш'=>'Sh', 'Щ'=>'Sh', 'Ъ'=>'', 'Ы'=>'Y', 'Ь'=>'', 'Э'=>'E', 'Ю'=>'Yu',\n\t\t'Я'=>'Ya',\n\t\t'а'=>'a', 'б'=>'b', 'в'=>'v', 'г'=>'g', 'д'=>'d', 'е'=>'e', 'ё'=>'yo', 'ж'=>'zh',\n\t\t'з'=>'z', 'и'=>'i', 'й'=>'j', 'к'=>'k', 'л'=>'l', 'м'=>'m', 'н'=>'n', 'о'=>'o',\n\t\t'п'=>'p', 'р'=>'r', 'с'=>'s', 'т'=>'t', 'у'=>'u', 'ф'=>'f', 'х'=>'h', 'ц'=>'c',\n\t\t'ч'=>'ch', 'ш'=>'sh', 'щ'=>'sh', 'ъ'=>'', 'ы'=>'y', 'ь'=>'', 'э'=>'e', 'ю'=>'yu',\n\t\t'я'=>'ya',\n\t\t// Bulgarian\n\t\t'А'=>'A', 'Б'=>'B', 'В'=>'V', 'Г'=>'G', 'Д'=>'D', 'Е'=>'E', 'Ж'=>'Zh', 'З'=>'Z',\n\t\t'И'=>'I', 'Й'=>'J', 'К'=>'K', 'Л'=>'L', 'М'=>'M', 'Н'=>'N', 'О'=>'O', 'П'=>'P',\n\t\t'Р'=>'R', 'С'=>'S', 'Т'=>'T', 'У'=>'U', 'Ф'=>'F', 'Х'=>'H', 'Ц'=>'C', 'Ч'=>'Ch',\n\t\t'Ш'=>'Sh', 'Щ'=>'Sh', 'Ъ'=>'',\t'Ь'=>'J','Ю'=>'Yu','Я'=>'Ya',\n\t\t'а'=>'a', 'б'=>'b', 'в'=>'v', 'г'=>'g', 'д'=>'d', 'е'=>'e', 'ж'=>'zh','з'=>'z',\n\t\t'и'=>'i', 'й'=>'j', 'к'=>'k', 'л'=>'l', 'м'=>'m', 'н'=>'n', 'о'=>'o','п'=>'p',\n\t\t'р'=>'r', 'с'=>'s', 'т'=>'t', 'у'=>'u', 'ф'=>'f', 'х'=>'h', 'ц'=>'c', 'ч'=>'ch',\n\t\t'ш'=>'sh', 'щ'=>'sh', 'ъ'=>'', 'ь'=>'j', 'ю'=>'yu', 'я'=>'ya',\n\t\t// Ukrainian\n\t\t'Є'=>'Ye', 'І'=>'I', 'Ї'=>'Yi', 'Ґ'=>'G',\n\t\t'є'=>'ye', 'і'=>'i', 'ї'=>'yi', 'ґ'=>'g',\n\t\t// Czech\n\t\t'Č'=>'C', 'Ď'=>'D', 'Ě'=>'E', 'Ň'=>'N', 'Ř'=>'R', 'Š'=>'S', 'Ť'=>'T', 'Ů'=>'U',\n\t\t'Ž'=>'Z',\n\t\t'č'=>'c', 'ď'=>'d', 'ě'=>'e', 'ň'=>'n', 'ř'=>'r', 'š'=>'s', 'ť'=>'t', 'ů'=>'u',\n\t\t'ž'=>'z',\n\t\t// Polish\n\t\t'Ą'=>'A', 'Ć'=>'C', 'Ę'=>'e', 'Ł'=>'L', 'Ń'=>'N', 'Ó'=>'o', 'Ś'=>'S', 'Ź'=>'Z',\n\t\t'Ż'=>'Z',\n\t\t'ą'=>'a', 'ć'=>'c', 'ę'=>'e', 'ł'=>'l', 'ń'=>'n', 'ó'=>'o', 'ś'=>'s', 'ź'=>'z',\n\t\t'ż'=>'z',\n\t\t// Latvian\n\t\t'Ā'=>'A', 'Č'=>'C', 'Ē'=>'E', 'Ģ'=>'G', 'Ī'=>'i', 'Ķ'=>'k', 'Ļ'=>'L', 'Ņ'=>'N',\n\t\t'Š'=>'S', 'Ū'=>'u', 'Ž'=>'Z',\n\t\t'ā'=>'a', 'č'=>'c', 'ē'=>'e', 'ģ'=>'g', 'ī'=>'i', 'ķ'=>'k', 'ļ'=>'l', 'ņ'=>'n',\n\t\t'š'=>'s', 'ū'=>'u', 'ž'=>'z'\n\t);\n\n\tpublic static function addSlashes($string, $begin=true, $end=true)\n\t{\n\t\tif ($begin) {\n\t\t\t$string = '/'.ltrim($string, '/');\n\t\t}\n\n\t\tif ($end) {\n\t\t\t$string = rtrim($string, '/').'/';\n\t\t}\n\n\t\tif ($string=='//') {\n\t\t\treturn '/';\n\t\t}\n\n\t\treturn $string;\n\t}\n\n\t// Escape quotes and backslash\n\tpublic static function escapeQuotes($string)\n\t{\n\t\treturn addslashes($string);\n\t}\n\n\tpublic static function startsWith($string, $startString)\n\t{\n\t\t$length = self::length($startString);\n\n\t\treturn( mb_substr($string, 0, $length)===$startString );\n\t}\n\n\tpublic static function endsWith($string, $endsString)\n\t{\n\t\t$length = (-1) * self::length($endsString);\n\t\treturn (mb_substr($string, $length) === $endsString);\n\t}\n\n\tpublic static function endsWithNumeric($string)\n\t{\n\t\treturn( is_numeric(mb_substr($string, -1, 1)) );\n\t}\n\n\tpublic static function randomText($length)\n\t{\n\t\t$characteres = \"1234567890abcdefghijklmnopqrstuvwxyz!@#%^&*\";\n\t\t$text = '';\n\t\tfor ($i = 0; $i < $length; $i++) {\n\t\t\t$text .= $characteres[random_int(0, strlen($characteres) - 1)];\n\t\t}\n\t\treturn $text;\n\t}\n\n\tpublic static function replaceAssoc(array $replace, $text)\n\t{\n\t\treturn str_replace(array_keys($replace), array_values($replace), $text);\n\t}\n\n\tpublic static function removeSpecialCharacters($string, $replace='')\n\t{\n\t\treturn preg_replace(\"/[\\/_|+:!@#$%^&*()'\\\"<>\\\\\\`}{;=,?\\[\\]~. -]+/\", $replace, $string);\n\t}\n\n\tpublic static function removeQuotes($string, $replace='')\n\t{\n\t\t$remove = array('\\''=>$replace, '\"'=>$replace);\n\t\treturn self::replaceAssoc($remove, $string);\n\t}\n\n\tpublic static function removeLineBreaks($string)\n\t{\n\t\t$remove = array(\"\\r\"=>'', \"\\n\"=>'');\n\t\treturn self::replaceAssoc($remove, $string);\n\t}\n\n\tpublic static function removeSpaces($string, $replace='')\n\t{\n\t\t$remove = array(' '=>$replace);\n\t\treturn self::replaceAssoc($remove, $string);\n\t}\n\n\t// Convert unicode characters to utf-8 characters\n\t// Characters that cannot be converted will be removed from the string\n\t// This function can return an empty string\n\tpublic static function cleanUrl($string, $separator='-')\n\t{\n\t\tglobal $L;\n\n\t\tif (EXTREME_FRIENDLY_URL) {\n\t\t\t$string = self::lowercase($string);\n\t\t\t$string = trim($string, $separator);\n\t\t\t$string = self::removeSpecialCharacters($string, $separator);\n\t\t\t$string = self::removeLineBreaks($string);\n\t\t\t$string = trim($string, $separator);\n\t\t\treturn $string;\n\t\t}\n\n\t\t// Transliterate characters to ASCII\n\t\t$unicodeCharsFromDictionary = $L->getunicodeChars();\n\t\t$string = str_replace(array_keys($unicodeCharsFromDictionary), $unicodeCharsFromDictionary, $string);\n\t\t$string = str_replace(array_keys(self::$unicodeChars), self::$unicodeChars, $string);\n\n\t\tif (function_exists('iconv')) {\n\t\t\tif (@iconv(CHARSET, 'ASCII//TRANSLIT//IGNORE', $string)!==false) {\n\t\t\t\t$string = iconv(CHARSET, 'ASCII//TRANSLIT//IGNORE', $string);\n\t\t\t}\n\t\t}\n\n\t\t$string = preg_replace(\"/[^a-zA-Z0-9\\/_|+. -]/\", '', $string);\n\t\t$string = self::lowercase($string);\n\t\t$string = preg_replace(\"/[\\/_|+ -]+/\", $separator, $string);\n\t\t$string = trim($string, '-');\n\n\t\treturn $string;\n\t}\n\n\t// Replace all occurrences of the search string with the replacement string.\n\t// replace(\"%body%\", \"black\", \"<body text='%body%'>\");\n\tpublic static function replace($search, $replace, $string)\n\t{\n\t\treturn str_replace($search,$replace,$string);\n\t}\n\n\t// String to lowercase\n\tpublic static function lowercase($string)\n\t{\n\t\treturn mb_strtolower($string, CHARSET);\n\t}\n\n\t// Make a string's first character uppercase\n\tpublic static function firstCharUp($string)\n\t{\n\t\t// Thanks http://stackoverflow.com/questions/2517947/ucfirst-function-for-multibyte-character-encodings\n\t\t$strlen \t= mb_strlen($string, CHARSET);\n\t\t$firstChar \t= mb_substr($string, 0, 1, CHARSET);\n\t\t$then \t\t= mb_substr($string, 1, $strlen - 1, CHARSET);\n\n\t\treturn mb_strtoupper($firstChar, CHARSET).$then;\n\t}\n\n\t// Find position of first occurrence of substring in a string otherwise returns FALSE.\n\tpublic static function stringPosition($string, $substring, $caseSensitive=true)\n\t{\n\t\tif ($caseSensitive) {\n\t\t\treturn mb_strpos($string, $substring, 0, CHARSET);\n\t\t}\n\n\t\treturn mb_stripos($string, $substring, 0, CHARSET);\n\t}\n\n\tpublic static function stringContains($string, $substring, $caseSensitive=true)\n\t{\n\t\treturn (self::stringPosition($string, $substring, $caseSensitive) !== false);\n\t}\n\n\t// Returns the portion of string specified by the start and length parameters.\n\tpublic static function cut($string, $start, $length)\n\t{\n\t\t$cut = mb_substr($string, $start, $length, CHARSET);\n\n\t\tif(empty($cut)) {\n\t\t\treturn '';\n\t\t}\n\n\t\treturn $cut;\n\t}\n\n\tpublic static function removeHTMLTags($string)\n\t{\n\t\treturn strip_tags($string);\n\t}\n\n\t// Return string length\n\tpublic static function length($string)\n\t{\n\t\treturn mb_strlen($string, CHARSET);\n\t}\n\n\tpublic static function isEmpty($string)\n\t{\n\t\t$string = trim($string);\n\n\t\tif(empty($string)) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tpublic static function isNotEmpty($string)\n\t{\n\t\treturn !self::isEmpty($string);\n\t}\n\n\tpublic static function imgRel2Abs($string, $base)\n\t{\n\t\t$pattern = '/<img([^>]*)(src)=\\\"(?!https:)(?!http:)(?!\\/\\/)(.*?)\\\"(.*?)>/';\n\t\t$replace = \"<img\\${1} src=\\\"\".$base.\"\\${3}\\\" \\${4}>\";\n\n\t\treturn preg_replace($pattern, $replace, $string);\n\t}\n\n\tpublic static function pre2htmlentities($string)\n\t{\n\t\treturn preg_replace_callback('/<pre.*?><code(.*?)>(.*?)<\\/code><\\/pre>/imsu',\n\t\t        function ($input) {\n                                return \"<pre><code $input[1]>\".htmlentities($input[2]).\"</code></pre>\";\n                        },\n\t\t\t$string);\n\t}\n\n\t// Truncates the string under the limit specified by the limit parameter\n\tpublic static function truncate($string, $limit, $end='...')\n\t{\n\t\t// Check if over $limit\n\t\tif (mb_strlen($string) > $limit) {\n\t\t\t$truncate = trim(mb_substr($string, 0, $limit, CHARSET));\n\t\t\t$truncate = $truncate.$end;\n\t\t} else {\n\t\t\t$truncate = $string;\n\t\t}\n\n\t\tif (empty($truncate)) {\n\t\t\treturn '';\n\t\t}\n\n\t\treturn $truncate;\n\t}\n\n\tpublic static function toBytes($value) {\n\t\t$value = trim($value);\n\t\t$s = [ 'g'=> 1<<30, 'm' => 1<<20, 'k' => 1<<10 ];\n\t\treturn intval($value) * ($s[strtolower(substr($value,-1))] ?: 1);\n\t}\n\n}\n"
  },
  {
    "path": "bl-kernel/helpers/theme.class.php",
    "content": "<?php\n\nclass Theme\n{\n\n\tpublic static function socialNetworks()\n\t{\n\t\tglobal $site;\n\t\t$socialNetworks = array(\n\t\t\t'github' => 'Github',\n\t\t\t'gitlab' => 'GitLab',\n\t\t\t'twitter' => 'Twitter',\n\t\t\t'facebook' => 'Facebook',\n\t\t\t'instagram' => 'Instagram',\n\t\t\t'codepen' => 'Codepen',\n\t\t\t'linkedin' => 'Linkedin',\n\t\t\t'xing' => 'Xing',\n\t\t\t'telegram' => 'Telegram',\n\t\t\t'mastodon' => 'Mastodon',\n\t\t\t'vk' => 'VK',\n\t\t\t'dribbble' => 'Dribbble',\n\t\t\t'youtube' => 'Youtube',\n\t\t\t'bluesky' => 'Bluesky'\n\t\t);\n\n\t\tforeach ($socialNetworks as $key => $label) {\n\t\t\tif (!$site->{$key}()) {\n\t\t\t\tunset($socialNetworks[$key]);\n\t\t\t}\n\t\t}\n\t\treturn $socialNetworks;\n\t}\n\n\tpublic static function title()\n\t{\n\t\tglobal $site;\n\t\treturn $site->title();\n\t}\n\n\tpublic static function description()\n\t{\n\t\tglobal $site;\n\t\treturn $site->description();\n\t}\n\n\tpublic static function slogan()\n\t{\n\t\tglobal $site;\n\t\treturn $site->slogan();\n\t}\n\n\tpublic static function footer()\n\t{\n\t\tglobal $site;\n\t\treturn $site->footer();\n\t}\n\n\tpublic static function lang()\n\t{\n\t\tglobal $language;\n\t\treturn $language->currentLanguageShortVersion();\n\t}\n\n\tpublic static function rssUrl()\n\t{\n\t\tif (pluginActivated('pluginRSS')) {\n\t\t\treturn DOMAIN_BASE . 'rss.xml';\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic static function sitemapUrl()\n\t{\n\t\tif (pluginActivated('pluginSitemap')) {\n\t\t\treturn DOMAIN_BASE . 'sitemap.xml';\n\t\t}\n\t\treturn false;\n\t}\n\n\t// Returns the absolute URL of the site\n\t// Ex. https://example.com the method returns https://example.com/\n\t// Ex. https://example.com/bludit/ the method returns https://example.com/bludit/\n\tpublic static function siteUrl()\n\t{\n\t\treturn DOMAIN_BASE;\n\t}\n\n\t// Returns the absolute URL of admin panel\n\t// Ex. https://example.com/admin/ the method returns https://example.com/admin/\n\t// Ex. https://example.com/bludit/admin/ the method returns https://example.com/bludit/admin/\n\tpublic static function adminUrl()\n\t{\n\t\treturn DOMAIN_ADMIN;\n\t}\n\n\tpublic static function metaTags($tag)\n\t{\n\t\tif ($tag == 'title') {\n\t\t\treturn self::metaTagTitle();\n\t\t} elseif ($tag == 'description') {\n\t\t\treturn self::metaTagDescription();\n\t\t}\n\t}\n\n\tpublic static function metaTagTitle()\n\t{\n\t\tglobal $url;\n\t\tglobal $site;\n\t\tglobal $tags;\n\t\tglobal $categories;\n\t\tglobal $WHERE_AM_I;\n\t\tglobal $page;\n\n\t\tif ($WHERE_AM_I == 'page') {\n\t\t\t$format = $site->titleFormatPages();\n\t\t\t$format = Text::replace('{{page-title}}', $page->title(), $format);\n\t\t\t$format = Text::replace('{{page-description}}', $page->description(), $format);\n\t\t} elseif ($WHERE_AM_I == 'tag') {\n\t\t\ttry {\n\t\t\t\t$tagKey = $url->slug();\n\t\t\t\t$tag = new Tag($tagKey);\n\t\t\t\t$format = $site->titleFormatTag();\n\t\t\t\t$format = Text::replace('{{tag-name}}', $tag->name(), $format);\n\t\t\t} catch (Exception $e) {\n\t\t\t\t// Tag doesn't exist\n\t\t\t}\n\t\t} elseif ($WHERE_AM_I == 'category') {\n\t\t\ttry {\n\t\t\t\t$categoryKey = $url->slug();\n\t\t\t\t$category = new Category($categoryKey);\n\t\t\t\t$format = $site->titleFormatCategory();\n\t\t\t\t$format = Text::replace('{{category-name}}', $category->name(), $format);\n\t\t\t} catch (Exception $e) {\n\t\t\t\t// Category doesn't exist\n\t\t\t}\n\t\t} else {\n\t\t\t$format = $site->titleFormatHomepage();\n\t\t}\n\n\t\t$format = Text::replace('{{site-title}}', $site->title(), $format);\n\t\t$format = Text::replace('{{site-slogan}}', $site->slogan(), $format);\n\t\t$format = Text::replace('{{site-description}}', $site->description(), $format);\n\n\t\treturn '<title>' . $format . '</title>' . PHP_EOL;\n\t}\n\n\tpublic static function metaTagDescription()\n\t{\n\t\tglobal $site;\n\t\tglobal $WHERE_AM_I;\n\t\tglobal $page;\n\t\tglobal $url;\n\n\t\t$description = $site->description();\n\n\t\tif ($WHERE_AM_I == 'page') {\n\t\t\t$description = $page->description();\n\t\t} elseif ($WHERE_AM_I == 'category') {\n\t\t\ttry {\n\t\t\t\t$categoryKey = $url->slug();\n\t\t\t\t$category = new Category($categoryKey);\n\t\t\t\t$description = $category->description();\n\t\t\t} catch (Exception $e) {\n\t\t\t\t// description from the site\n\t\t\t}\n\t\t}\n\n\t\treturn '<meta name=\"description\" content=\"' . $description . '\">' . PHP_EOL;\n\t}\n\n\t// DEPRECATED v3.0.0\n\t// Return the metatag <title> with a predefine structure\n\tpublic static function headTitle()\n\t{\n\t\treturn self::metaTagTitle();\n\t}\n\n\t// DEPRECATED v3.0.0\n\t// Return the metatag <decription> with a predefine structure\n\tpublic static function headDescription()\n\t{\n\t\treturn self::metaTagDescription();\n\t}\n\n\tpublic static function charset($charset)\n\t{\n\t\treturn '<meta charset=\"' . $charset . '\">' . PHP_EOL;\n\t}\n\n\tpublic static function viewport($content)\n\t{\n\t\treturn '<meta name=\"viewport\" content=\"' . $content . '\">' . PHP_EOL;\n\t}\n\n\tpublic static function src($file, $base = DOMAIN_THEME)\n\t{\n\t\treturn $base . $file;\n\t}\n\n\tpublic static function css($files, $base = DOMAIN_THEME)\n\t{\n\t\tif (!is_array($files)) {\n\t\t\t$files = array($files);\n\t\t}\n\n\t\t$links = '';\n\t\tforeach ($files as $file) {\n\t\t\t$links .= '<link rel=\"stylesheet\" type=\"text/css\" href=\"' . $base . $file . '?version=' . BLUDIT_VERSION . '\">' . PHP_EOL;\n\t\t}\n\n\t\treturn $links;\n\t}\n\n\tpublic static function javascript($files, $base = DOMAIN_THEME, $attributes = '')\n\t{\n\t\tif (!is_array($files)) {\n\t\t\t$files = array($files);\n\t\t}\n\n\t\t$scripts = '';\n\t\tforeach ($files as $file) {\n\t\t\t$scripts .= '<script ' . $attributes . ' src=\"' . $base . $file . '?version=' . BLUDIT_VERSION . '\"></script>' . PHP_EOL;\n\t\t}\n\n\t\treturn $scripts;\n\t}\n\n\tpublic static function js($files, $base = DOMAIN_THEME, $attributes = '')\n\t{\n\t\treturn self::javascript($files, $base, $attributes);\n\t}\n\n\tpublic static function plugins($type, $args = array())\n\t{\n\t\tglobal $plugins;\n\t\tforeach ($plugins[$type] as $plugin) {\n\t\t\techo call_user_func_array(array($plugin, $type), $args);\n\t\t}\n\t}\n\n\tpublic static function favicon($file = 'favicon.png', $typeIcon = 'image/png')\n\t{\n\t\treturn '<link rel=\"icon\" href=\"' . DOMAIN_THEME . $file . '\" type=\"' . $typeIcon . '\">' . PHP_EOL;\n\t}\n\n\tpublic static function keywords($keywords)\n\t{\n\t\tif (is_array($keywords)) {\n\t\t\t$keywords = implode(',', $keywords);\n\t\t}\n\t\treturn '<meta name=\"keywords\" content=\"' . $keywords . '\">' . PHP_EOL;\n\t}\n\n\tpublic static function jquery()\n\t{\n\t\treturn '<script src=\"' . DOMAIN_CORE_JS . 'jquery.min.js?version=' . BLUDIT_VERSION . '\"></script>' . PHP_EOL;\n\t}\n\n\tpublic static function jsBootstrap($attributes = '')\n\t{\n\t\treturn '<script ' . $attributes . ' src=\"' . DOMAIN_CORE_JS . 'bootstrap.bundle.min.js?version=' . BLUDIT_VERSION . '\"></script>' . PHP_EOL;\n\t}\n\n\tpublic static function cssBootstrap()\n\t{\n\t\treturn '<link rel=\"stylesheet\" type=\"text/css\" href=\"' . DOMAIN_CORE_CSS . 'bootstrap.min.css?version=' . BLUDIT_VERSION . '\">' . PHP_EOL;\n\t}\n\n\tpublic static function cssBootstrapIcons()\n\t{\n\t\t// https://icons.getbootstrap.com/\n\t\treturn '<link rel=\"stylesheet\" type=\"text/css\" href=\"' . DOMAIN_CORE_CSS . 'bootstrap-icons/bootstrap-icons.css?version=' . BLUDIT_VERSION . '\">' . PHP_EOL;\n\t}\n\n\tpublic static function cssLineAwesome()\n\t{\n\t\treturn '<link rel=\"stylesheet\" type=\"text/css\" href=\"' . DOMAIN_CORE_CSS . 'line-awesome/css/line-awesome-font-awesome.min.css?version=' . BLUDIT_VERSION . '\">' . PHP_EOL;\n\t}\n\n\tpublic static function jsSortable($attributes = '')\n\t{\n\t\t// https://github.com/psfpro/bootstrap-html5sortable\n\t\treturn '<script ' . $attributes . ' src=\"' . DOMAIN_CORE_JS . 'jquery.sortable.min.js?version=' . BLUDIT_VERSION . '\"></script>' . PHP_EOL;\n\t}\n}\n"
  },
  {
    "path": "bl-kernel/helpers/valid.class.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\nclass Valid {\n\n\tpublic static function ip($ip)\n\t{\n\t\treturn filter_var($ip, FILTER_VALIDATE_IP);\n\t}\n\n\t// Returns the email filtered or FALSE if the filter fails.\n\tpublic static function email($email)\n\t{\n\t\treturn filter_var($email, FILTER_VALIDATE_EMAIL);\n\t}\n\n\tpublic static function int($int)\n\t{\n\t\tif($int === 0) {\n\t\t\treturn true;\n\t\t}\n\t\telseif(filter_var($int, FILTER_VALIDATE_INT) === false ) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\t// Thanks, http://php.net/manual/en/function.checkdate.php#113205\n\tpublic static function date($date, $format='Y-m-d H:i:s')\n\t{\n\t\t$tmp = DateTime::createFromFormat($format, $date);\n\n\t\treturn $tmp && $tmp->format($format)==$date;\n\t}\n\n}\n"
  },
  {
    "path": "bl-kernel/js/bludit-ajax.php",
    "content": "class bluditAjax {\n\n\tstatic async saveAsDraft(uuid, title, content) {\n\t\tlet url = HTML_PATH_ADMIN_ROOT+\"ajax/save-as-draft\"\n\t\ttry {\n\t\t\tconst response = await fetch(url, {\n\t\t\t\tcredentials: 'same-origin',\n\t\t\t\tmethod: \"POST\",\n\t\t\t\theaders: new Headers({\n\t\t\t\t\t'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'\n\t\t\t\t}),\n\t\t\t\tbody: new URLSearchParams({\n\t\t\t\t\t'tokenCSRF': tokenCSRF,\n\t\t\t\t\t'uuid': \"autosave-\" + uuid,\n\t\t\t\t\t'title': title,\n\t\t\t\t\t'content': content,\n\t\t\t\t\t'type': 'autosave'\n\t\t\t\t}),\n\t\t\t});\n\t\t\tconst json = await response.json();\n\t\t\treturn json;\n\t\t}\n\t\tcatch (err) {\n\t\t\tconsole.log(err);\n\t\t\treturn true;\n\t\t}\n\t}\n\n\tstatic async removeLogo() {\n\t\tlet url = HTML_PATH_ADMIN_ROOT+\"ajax/logo-remove\"\n\t\ttry {\n\t\t\tconst response = await fetch(url, {\n\t\t\t\tcredentials: 'same-origin',\n\t\t\t\tmethod: \"POST\",\n\t\t\t\theaders: new Headers({\n\t\t\t\t\t'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'\n\t\t\t\t}),\n\t\t\t\tbody: new URLSearchParams({\n\t\t\t\t\t'tokenCSRF': tokenCSRF\n\t\t\t\t}),\n\t\t\t});\n\t\t\tconst json = await response.json();\n\t\t\treturn json;\n\t\t}\n\t\tcatch (err) {\n\t\t\tconsole.log(err);\n\t\t\treturn true;\n\t\t}\n\t}\n\n\t// Alert the user when the user is not logged\n\tuserLogged(callBack) {\n\t\tvar ajaxRequest;\n\t\tif (ajaxRequest) {\n\t\t\tajaxRequest.abort();\n\t\t}\n\n\t\tconsole.log(\"[INFO] [BLUDIT AJAX] [userLogged()] Checking if the user is logged.\");\n\n\t\tajaxRequest = $.ajax({\n\t\t\ttype: \"GET\",\n\t\t\turl: HTML_PATH_ADMIN_ROOT+\"ajax/user-logged\"\n\t\t});\n\n\t\tajaxRequest.done(function (response, textStatus, jqXHR) {\n\t\t\tconsole.log(\"[INFO] [BLUDIT AJAX] [userLogged()] The user is logged.\");\n\t\t});\n\n\t\tajaxRequest.fail(function (jqXHR, textStatus, errorThrown) {\n\t\t\t// The fail is produced by admin.php when the user is not logged the ajax request is not possible and returns 401\n\t\t\tconsole.log(\"[INFO] [BLUDIT AJAX] [userLogged()] The user is NOT logged.\");\n\t\t\tif (jqXHR.status==401) {\n\t\t\t\tcallBack(\"You are not logged in anymore, so Bludit can't save your settings and content.\");\n\t\t\t}\n\t\t});\n\t}\n\n\tgenerateSlug(text, parentKey, currentKey, callBack) {\n\t\tvar ajaxRequest;\n\t\tif (ajaxRequest) {\n\t\t\tajaxRequest.abort();\n\t\t}\n\n\t\tajaxRequest = $.ajax({\n\t\t    type: \"POST\",\n\t\t    data: {\n\t\t\ttokenCSRF: tokenCSRF,\n\t\t\ttext: text,\n\t\t\tparentKey: parentKey,\n\t\t\tcurrentKey: currentKey\n\t\t    },\n\t\t    url: HTML_PATH_ADMIN_ROOT+\"ajax/generate-slug\"\n\t\t});\n\n\t\tajaxRequest.done(function (response, textStatus, jqXHR) {\n\t\t\tconsole.log(\"Bludit AJAX: generateSlug(): done handler\");\n\t\t\tcallBack.val(response[\"slug\"]);\n\t\t});\n\n\t\tajaxRequest.fail(function (jqXHR, textStatus, errorThrown) {\n\t\t\tconsole.log(\"Bludit AJAX: generateSlug(): fail handler\");\n\t\t});\n\n\t\tajaxRequest.always(function () {\n\t\t\tconsole.log(\"Bludit AJAX: generateSlug(): always handler\");\n\t\t});\n\t    }\n\n}\n"
  },
  {
    "path": "bl-kernel/js/functions.js",
    "content": "function sanitizeHTML(text) {\n\tvar map = {\n\t\t'&': '&amp;',\n\t\t'<': '&lt;',\n\t\t'>': '&gt;',\n\t\t'\"': '&quot;',\n\t\t\"'\": '&#039;'\n\t};\n\n\treturn text.replace(/[&<>\"']/g, function(m) { return map[m]; });\n}\n\nfunction setCookie(name, value, days) {\n\tvar expires = \"\";\n\tif (days) {\n\t\tvar date = new Date();\n\t\tdate.setTime(date.getTime() + (days*24*60*60*1000));\n\t\texpires = \"; expires=\" + date.toUTCString();\n\t}\n\tdocument.cookie = name + \"=\" + (value || \"\")  + expires + \"; path=/\";\n}\n\nfunction getCookie(name) {\n\tvar nameEQ = name + \"=\";\n\tvar ca = document.cookie.split(';');\n\tfor(var i=0; i < ca.length;i++) {\n\t\tvar c = ca[i];\n\t\twhile (c.charAt(0)==' ') c = c.substring(1,c.length);\n\t\t\tif (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);\n\t}\n\treturn false;\n}\n\nfunction deleteCookie(name) {\n\tdocument.cookie = name+'=; Max-Age=-999;';\n}\n"
  },
  {
    "path": "bl-kernel/js/variables.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\necho 'var HTML_PATH_ROOT = \"'.HTML_PATH_ROOT.'\";'.PHP_EOL;\necho 'var HTML_PATH_ADMIN_ROOT = \"'.HTML_PATH_ADMIN_ROOT.'\";'.PHP_EOL;\necho 'var HTML_PATH_ADMIN_THEME = \"'.HTML_PATH_ADMIN_THEME.'\";'.PHP_EOL;\necho 'var HTML_PATH_CORE_IMG = \"'.HTML_PATH_CORE_IMG.'\";'.PHP_EOL;\necho 'var HTML_PATH_UPLOADS = \"'.HTML_PATH_UPLOADS.'\";'.PHP_EOL;\necho 'var HTML_PATH_UPLOADS_THUMBNAILS = \"'.HTML_PATH_UPLOADS_THUMBNAILS.'\";'.PHP_EOL;\necho 'var BLUDIT_VERSION = \"'.BLUDIT_VERSION.'\";'.PHP_EOL;\necho 'var BLUDIT_BUILD = \"'.BLUDIT_BUILD.'\";'.PHP_EOL;\necho 'var DOMAIN = \"'.DOMAIN.'\";'.PHP_EOL;\necho 'var DOMAIN_BASE = \"'.DOMAIN_BASE.'\";'.PHP_EOL;\necho 'var DOMAIN_PAGES = \"'.DOMAIN_PAGES.'\";'.PHP_EOL;\necho 'var DOMAIN_ADMIN = \"'.DOMAIN_ADMIN.'\";'.PHP_EOL;\necho 'var DOMAIN_CONTENT = \"'.DOMAIN_CONTENT.'\";'.PHP_EOL;\necho 'var DOMAIN_UPLOADS = \"'.DOMAIN_UPLOADS.'\";'.PHP_EOL;\necho 'var DB_DATE_FORMAT = \"'.DB_DATE_FORMAT.'\";'.PHP_EOL;\necho 'var AUTOSAVE_INTERVAL = \"'.AUTOSAVE_INTERVAL.'\";'.PHP_EOL;\necho 'var PAGE_BREAK = \"'.PAGE_BREAK.'\";'.PHP_EOL;\necho 'var tokenCSRF = \"'.$security->getTokenCSRF().'\";'.PHP_EOL;\necho 'var UPLOAD_MAX_FILESIZE = '.Text::toBytes( ini_get('upload_max_filesize') ).';'.PHP_EOL;\n\n?>"
  },
  {
    "path": "bl-kernel/language.class.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\nclass Language extends dbJSON {\n\tpublic $data;\n\tpublic $db;\n\tpublic $currentLanguage;\n\tpublic $dates;\n\tpublic $unicodeChars;\n\n\tfunction __construct($currentLanguage)\n\t{\n\t\t$this->data = array();\n\t\t$this->db = array();\n\t\t$this->currentLanguage = $currentLanguage;\n\t\t$this->dates = array();\n\t\t$this->unicodeChars = array();\n\n\t\t// Load default language\n\t\t$filename = PATH_LANGUAGES.DEFAULT_LANGUAGE_FILE;\n\t\tif (Sanitize::pathFile($filename)) {\n\t\t\t$Tmp = new dbJSON($filename, false);\n\t\t\t$this->db = array_merge($this->db, $Tmp->db);\n\t\t}\n\n\t\t// If the user defined a new language replace the content of the default language\n\t\t// If the new dictionary has missing keys, fallback values are those of the default language\n\t\t$filename = PATH_LANGUAGES.$currentLanguage.'.json';\n\t\tif (Sanitize::pathFile($filename) && (DEFAULT_LANGUAGE_FILE!==$currentLanguage.'.json')) {\n\t\t\t$Tmp = new dbJSON($filename, false);\n\t\t\t$this->db = array_merge($this->db, $Tmp->db);\n\t\t}\n\n\t\t// Language-data\n\t\t$this->data = $this->db['language-data'];\n\t\tunset($this->db['language-data']);\n\n\t\t// Dates\n\t\tif (isset($this->db['dates'])) {\n\t\t\t$this->dates = $this->db['dates'];\n\t\t\tunset($this->db['dates']);\n\t\t}\n\n\t\t// Unicode chars\n\t\tif (isset($this->db['unicode-chars'])) {\n\t\t\t$this->unicodeChars = $this->db['unicode-chars'];\n\t\t\tunset($this->db['unicode-chars']);\n\t\t}\n\t}\n\n\tpublic function locale()\n\t{\n\t\tif (isset($this->data['locale'])) {\n\t\t\treturn $this->data['locale'];\n\t\t}\n\n\t\treturn $this->currentLanguage;\n\t}\n\n\tpublic function currentLanguage()\n\t{\n\t\treturn $this->currentLanguage;\n\t}\n\n\tpublic function currentLanguageShortVersion()\n\t{\n\t\t$current = $this->currentLanguage;\n\t\t$explode = explode('_', $current);\n\t\treturn $explode[0];\n\t}\n\n\t// Return the translation, if the translation doesn't exist returns the English translation\n\tpublic function get($string)\n\t{\n\t\t$key = Text::lowercase($string);\n\t\t$key = Text::replace(' ', '-', $key);\n\t\t$key = Text::replace('.', '', $key);\n\n\t\t//file_put_contents(DEBUG_FILE, $key.PHP_EOL, FILE_APPEND);\n\n\t\tif (isset($this->db[$key])) {\n\t\t\treturn $this->db[$key];\n\t\t}\n\n\t\t//$line = '\"'.$key.'\": \"'.$string.'\",';\n\t\t//file_put_contents(DEBUG_FILE, $line.PHP_EOL, FILE_APPEND);\n\t\treturn $string;\n\t}\n\n\t// Returns translation\n\tpublic function g($string)\n\t{\n\t\treturn $this->get($string);\n\t}\n\n\t// Print translation\n\tpublic function printMe($string)\n\t{\n\t\techo $this->get($string);\n\t}\n\n\t// Print translation\n\tpublic function p($string)\n\t{\n\t\techo $this->get($string);\n\t}\n\n\t// Add keys=>values to the current dicionary\n\t// This method don't overwrite the current value\n\tpublic function add($array)\n\t{\n\t\t$this->db = array_merge($this->db, $array);\n\t}\n\n\t// Returns an array with all dictionaries\n\tpublic function getLanguageList()\n\t{\n\t\t$files = Filesystem::listFiles(PATH_LANGUAGES, '*', 'json');\n\t\t$tmp = array();\n\t\tforeach($files as $file) {\n\t\t\t$t = new dbJSON($file, false);\n\t\t\tif (isset($t->db['language-data']['native'])) {\n\t\t\t\t$native = $t->db['language-data']['native'];\n\t\t\t\t$locale = basename($file, '.json');\n\t\t\t\t$tmp[$locale] = $native;\n\t\t\t}\n\t\t}\n\t\treturn $tmp;\n\t}\n\n\t// Returns array with all the dates and months\n\tpublic function getDates()\n\t{\n\t\treturn $this->dates;\n\t}\n\n\t// Returns array with all the special characters from this language\n\tpublic function getunicodeChars()\n\t{\n\t\treturn $this->unicodeChars;\n\t}\n}"
  },
  {
    "path": "bl-kernel/login.class.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\nclass Login\n{\n\tprotected $users;\n\tprotected $site;\n\n\tfunction __construct()\n\t{\n\t\tif (isset($GLOBALS['users'])) {\n\t\t\t$this->users = $GLOBALS['users'];\n\t\t} else {\n\t\t\t$this->users = new Users();\n\t\t}\n\n\t\tif (isset($GLOBALS['site'])) {\n\t\t\t$this->site = $GLOBALS['site'];\n\t\t} else {\n\t\t\t$this->site = new Site();\n\t\t}\n\n\t\t// Start the Session\n\t\tif (!Session::started()) {\n\t\t\tSession::start($this->site->urlPath(), $this->site->isHTTPS());\n\t\t}\n\t}\n\n\t// Returns the username of the user logged\n\tpublic function username()\n\t{\n\t\treturn Session::get('username');\n\t}\n\n\t// Returns the role of the user logged\n\tpublic function role()\n\t{\n\t\treturn Session::get('role');\n\t}\n\n\t// Returns TRUE if the user is logged, FALSE otherwise\n\tpublic function isLogged()\n\t{\n\t\tif (Session::get('fingerPrint') === $this->fingerPrint()) {\n\t\t\t$username = Session::get('username');\n\t\t\tif (!empty($username)) {\n\t\t\t\treturn true;\n\t\t\t} else {\n\t\t\t\tLog::set(__METHOD__ . LOG_SEP . 'Session username empty, destroying the session.');\n\t\t\t\tSession::destroy();\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tLog::set(__METHOD__ . LOG_SEP . 'FingerPrints are different. [' . Session::get('fingerPrint') . '] != [' . $this->fingerPrint() . ']');\n\t\treturn false;\n\t}\n\n\t// Set the session for the user logged\n\tpublic function setLogin($username, $role)\n\t{\n\t\t// Regenerate session ID to prevent session fixation attacks\n\t\tsession_regenerate_id(true);\n\t\t\n\t\tSession::set('username',\t$username);\n\t\tSession::set('role', \t\t$role);\n\t\tSession::set('fingerPrint',\t$this->fingerPrint());\n\t\tSession::set('sessionTime',\ttime());\n\n\t\tLog::set(__METHOD__ . LOG_SEP . 'User logged, fingerprint [' . $this->fingerPrint() . ']');\n\t}\n\n\tpublic function setRememberMe($username)\n\t{\n\t\t$username = Sanitize::html($username);\n\n\t\t// Set the token on the users database\n\t\t$token = $this->users->generateRememberToken();\n\t\t$this->users->setRememberToken($username, $token);\n\n\t\t// Set the token on the cookies\n\t\tCookie::set(REMEMBER_COOKIE_USERNAME, $username, REMEMBER_COOKIE_EXPIRE_IN_DAYS);\n\t\tCookie::set(REMEMBER_COOKIE_TOKEN, $token, REMEMBER_COOKIE_EXPIRE_IN_DAYS);\n\n\t\tLog::set(__METHOD__ . LOG_SEP . 'Cookies set for Remember Me.');\n\t}\n\n\tpublic function invalidateRememberMe()\n\t{\n\t\t// Invalidate all tokens on the user databases\n\t\t$this->users->invalidateAllRememberTokens();\n\n\t\t// Destroy the cookies\n\t\tCookie::set(REMEMBER_COOKIE_USERNAME, '', -1);\n\t\tCookie::set(REMEMBER_COOKIE_TOKEN, '', -1);\n\t\tunset($_COOKIE[REMEMBER_COOKIE_USERNAME]);\n\t\tunset($_COOKIE[REMEMBER_COOKIE_TOKEN]);\n\t}\n\n\t// Check if the username and the password are valid\n\t// Returns TRUE if valid and set the session\n\t// Returns FALSE for invalid username or password\n\tpublic function verifyUser($username, $password)\n\t{\n\t\t$username = Sanitize::html($username);\n\t\t$username = trim($username);\n\n\t\tif (empty($username) || empty($password)) {\n\t\t\tLog::set(__METHOD__ . LOG_SEP . 'Username or password empty. Username: ' . $username);\n\t\t\treturn false;\n\t\t}\n\n\t\tif (Text::length($password) < PASSWORD_LENGTH) {\n\t\t\tLog::set(__METHOD__ . LOG_SEP . 'Password length is shorter than required.');\n\t\t\treturn false;\n\t\t}\n\n\t\ttry {\n\t\t\t$user = new User($username);\n\t\t} catch (Exception $e) {\n\t\t\treturn false;\n\t\t}\n\n\t\t$passwordHash = $this->users->generatePasswordHash($password, $user->salt());\n\t\tif ($passwordHash === $user->password()) {\n\t\t\t$this->setLogin($username, $user->role());\n\t\t\tLog::set(__METHOD__ . LOG_SEP . 'Successful user login by username and password - Username [' . $username . ']');\n\t\t\treturn true;\n\t\t}\n\n\t\tLog::set(__METHOD__ . LOG_SEP . 'Password incorrect.');\n\t\treturn false;\n\t}\n\n\t// Check if the user has the cookies and the correct token\n\tpublic function verifyUserByRemember()\n\t{\n\t\tif (Cookie::isEmpty(REMEMBER_COOKIE_USERNAME) || Cookie::isEmpty(REMEMBER_COOKIE_TOKEN)) {\n\t\t\treturn false;\n\t\t}\n\n\t\t$username \t= Cookie::get(REMEMBER_COOKIE_USERNAME);\n\t\t$token \t\t= Cookie::get(REMEMBER_COOKIE_TOKEN);\n\n\t\t$username \t= Sanitize::html($username);\n\t\t$token \t\t= Sanitize::html($token);\n\n\t\t$username \t= trim($username);\n\t\t$token \t\t= trim($token);\n\n\t\tif (empty($username) || empty($token)) {\n\t\t\t$this->invalidateRememberMe();\n\t\t\tLog::set(__METHOD__ . LOG_SEP . 'Username or Token empty. Username: ' . $username . ' - Token: ' . $token);\n\t\t\treturn false;\n\t\t}\n\n\t\tif ($username !== $this->users->getByRememberToken($token)) {\n\t\t\t$this->invalidateRememberMe();\n\t\t\tLog::set(__METHOD__ . LOG_SEP . 'The user has different token or the token doesn\\'t exist.');\n\t\t\treturn false;\n\t\t}\n\n\t\t// Get user from database and login\n\t\t$user = $this->users->getUserDB($username);\n\t\t$this->setLogin($username, $user['role']);\n\t\tLog::set(__METHOD__ . LOG_SEP . 'User authenticated via Remember Me.');\n\t\treturn true;\n\t}\n\n\tpublic function fingerPrint()\n\t{\n\t\t$agent = getenv('HTTP_USER_AGENT');\n\t\tif (empty($agent)) {\n\t\t\t$agent = 'Bludit/2.0 (Mr Nibbler Protocol)';\n\t\t}\n\t\treturn sha1($agent);\n\t}\n\n\tpublic function logout()\n\t{\n\t\t$this->invalidateRememberMe();\n\t\tSession::destroy();\n\t\treturn true;\n\t}\n}\n"
  },
  {
    "path": "bl-kernel/pages.class.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\nclass Pages extends dbJSON\n{\n\n\tprotected $parentKeyList = array();\n\tprotected $dbFields = array(\n\t\t'title' => '',\n\t\t'description' => '',\n\t\t'username' => '',\n\t\t'tags' => array(),\n\t\t'type' => 'published', // published, static, draft, sticky, scheduled, autosave\n\t\t'date' => '',\n\t\t'dateModified' => '',\n\t\t'position' => 0,\n\t\t'coverImage' => '',\n\t\t'category' => '',\n\t\t'md5file' => '',\n\t\t'uuid' => '',\n\t\t'allowComments' => true,\n\t\t'template' => '',\n\t\t'noindex' => false,\n\t\t'nofollow' => false,\n\t\t'noarchive' => false,\n\t\t'custom' => array()\n\t);\n\n\tfunction __construct()\n\t{\n\t\tparent::__construct(DB_PAGES);\n\t}\n\n\tpublic function getDefaultFields()\n\t{\n\t\treturn $this->dbFields;\n\t}\n\n\t// Return an array with the database for a page, FALSE otherwise\n\tpublic function getPageDB($key)\n\t{\n\t\tif ($this->exists($key)) {\n\t\t\treturn $this->db[$key];\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t// Return TRUE if the page exists, FALSE otherwise\n\tpublic function exists($key)\n\t{\n\t\treturn isset($this->db[$key]);\n\t}\n\n\t// Create a new page\n\t// This function returns the key of the new page\n\tpublic function add($args)\n\t{\n\t\t$row = array();\n\n\t\t// Predefined values\n\t\tforeach ($this->dbFields as $field => $value) {\n\t\t\tif ($field == 'tags') {\n\t\t\t\t$tags = '';\n\t\t\t\tif (isset($args['tags'])) {\n\t\t\t\t\t$tags = $args['tags'];\n\t\t\t\t}\n\t\t\t\t$finalValue = $this->generateTags($tags);\n\t\t\t} elseif ($field == 'custom') {\n\t\t\t\tif (isset($args['custom'])) {\n\t\t\t\t\tglobal $site;\n\t\t\t\t\t$customFields = $site->customFields();\n\t\t\t\t\tforeach ($args['custom'] as $customField => $customValue) {\n\t\t\t\t\t\t$html = Sanitize::html($customValue);\n\t\t\t\t\t\t// Store the custom field as defined type\n\t\t\t\t\t\tsettype($html, $customFields[$customField]['type']);\n\t\t\t\t\t\t$row['custom'][$customField]['value'] = $html;\n\t\t\t\t\t}\n\t\t\t\t\tunset($args['custom']);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t} elseif (isset($args[$field])) {\n\t\t\t\t// Sanitize if will be stored on database\n\t\t\t\t$finalValue = Sanitize::html($args[$field]);\n\t\t\t} else {\n\t\t\t\t// Default value for the field if not defined\n\t\t\t\t$finalValue = $value;\n\t\t\t}\n\t\t\t// Store the value as defined type\n\t\t\tsettype($finalValue, gettype($value));\n\t\t\t$row[$field] = $finalValue;\n\t\t}\n\n\t\t// Content\n\t\t// This variable is not belong to the database so is not defined in $row\n\t\t$contentRaw = (empty($args['content']) ? '' : $args['content']);\n\n\t\t// Parent\n\t\t// This variable is not belong to the database so is not defined in $row\n\t\t$parent = '';\n\t\tif (!empty($args['parent'])) {\n\t\t\t$parent = $args['parent'];\n\t\t\t$row['type'] = $this->db[$parent]['type']; // get the parent type\n\t\t}\n\n\t\t// Slug from the title or the content\n\t\t// This variable is not belong to the database so is not defined in $row\n\t\tif (empty($args['slug'])) {\n\t\t\tif (!empty($row['title'])) {\n\t\t\t\t$slug = $this->generateSlug($row['title']);\n\t\t\t} else {\n\t\t\t\t$slug = $this->generateSlug($contentRaw);\n\t\t\t}\n\t\t} else {\n\t\t\t$slug = $args['slug'];\n\t\t}\n\n\t\t// Generate key\n\t\t// This variable is not belong to the database so is not defined in $row\n\t\t$key = $this->generateKey($slug, $parent);\n\n\t\t// Generate UUID\n\t\tif (empty($row['uuid'])) {\n\t\t\t$row['uuid'] = $this->generateUUID();\n\t\t}\n\n\t\t// Validate date\n\t\tif (!Valid::date($row['date'], DB_DATE_FORMAT)) {\n\t\t\t$row['date'] = Date::current(DB_DATE_FORMAT);\n\t\t}\n\n\t\t// Schedule page\n\t\tif (($row['date'] > Date::current(DB_DATE_FORMAT)) && ($row['type'] == 'published')) {\n\t\t\t$row['type'] = 'scheduled';\n\t\t}\n\n\t\t// Create the directory\n\t\tif (Filesystem::mkdir(PATH_PAGES . $key, true) === false) {\n\t\t\tLog::set(__METHOD__ . LOG_SEP . 'Error occurred when trying to create the directory [' . PATH_PAGES . $key . ']', LOG_TYPE_ERROR);\n\t\t\treturn false;\n\t\t}\n\n\t\t// Create the index.txt and save the file\n\t\tif (file_put_contents(PATH_PAGES . $key . DS . FILENAME, $contentRaw) === false) {\n\t\t\tLog::set(__METHOD__ . LOG_SEP . 'Error occurred when trying to create the content in the file [' . FILENAME . ']', LOG_TYPE_ERROR);\n\t\t\treturn false;\n\t\t}\n\n\t\t// Checksum MD5\n\t\t$row['md5file'] = md5_file(PATH_PAGES . $key . DS . FILENAME);\n\n\t\t// Insert in database\n\t\t$this->db[$key] = $row;\n\n\t\t// Sort database\n\t\t$this->sortBy();\n\n\t\t// Save database\n\t\t$this->save();\n\n\t\t// Create upload page directory for images\n\t\tif (!Filesystem::directoryExists(PATH_UPLOADS_PAGES . $row['uuid'])) {\n\t\t\tFilesystem::mkdir(PATH_UPLOADS_PAGES . $row['uuid']);\n\t\t}\n\t\t// Create a symlink to the upload page directory for images for better SEO\n\t\tFilesystem::symlink(PATH_UPLOADS_PAGES . $row['uuid'], PATH_UPLOADS_PAGES . $key);\n\n\t\treturn $key;\n\t}\n\n\t// Edit a page\n\t// This function do not edit the current row from the table -\n\t// - instead of that the function creates a new row and is completed by the current -\n\t// - values of the page and then the old row is deleted and the new row is inserted.\n\tpublic function edit($args)\n\t{\n\t\t// This is the new row for the table and is going to replace the old row\n\t\t$row = array();\n\n\t\t// Current key\n\t\t// This variable is not belong to the database so is not defined in $row\n\t\t$key = $args['key'];\n\n\t\t// Check values from the arguments ($args)\n\t\t// If some field is missing the current value is taken\n\t\tforeach ($this->dbFields as $field => $value) {\n\t\t\tif (($field == 'tags') && isset($args['tags'])) {\n\t\t\t\t$finalValue = $this->generateTags($args['tags']);\n\t\t\t} elseif ($field == 'custom') {\n\t\t\t\tif (isset($args['custom'])) {\n\t\t\t\t\tglobal $site;\n\t\t\t\t\t$customFields = $site->customFields();\n\t\t\t\t\tforeach ($args['custom'] as $customField => $customValue) {\n\t\t\t\t\t\t$html = Sanitize::html($customValue);\n\t\t\t\t\t\t// Store the custom field as defined type\n\t\t\t\t\t\tsettype($html, $customFields[$customField]['type']);\n\t\t\t\t\t\t$row['custom'][$customField]['value'] = $html;\n\t\t\t\t\t}\n\t\t\t\t\tunset($args['custom']);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t} elseif (isset($args[$field])) {\n\t\t\t\t// Sanitize if will be stored on database\n\t\t\t\t$finalValue = Sanitize::html($args[$field]);\n\t\t\t} else {\n\t\t\t\t// Default value from the current row\n\t\t\t\t$finalValue = $this->db[$key][$field];\n\t\t\t}\n\t\t\tsettype($finalValue, gettype($value));\n\t\t\t$row[$field] = $finalValue;\n\t\t}\n\n\t\t// Parent\n\t\t// This variable is not belong to the database so is not defined in $row\n\t\t$parent = '';\n\t\tif (!empty($args['parent'])) {\n\t\t\t$parent = $args['parent'];\n\t\t\t$row['type'] = $this->db[$parent]['type']; // get the parent type\n\t\t}\n\n\t\t// Slug\n\t\t// If the user change the slug the page key changes\n\t\t// If the user send an empty slug the page key doesn't change\n\t\t// This variable is not belong to the database so is not defined in $row\n\t\tif (empty($args['slug'])) {\n\t\t\t$explode = explode('/', $key);\n\t\t\t$slug = end($explode);\n\t\t} else {\n\t\t\t$slug = $args['slug'];\n\t\t}\n\n\t\t// New key\n\t\t// The key of the page can change if the user change the slug or the parent, -\n\t\t// - if the user doesn't change the slug or the parent the key is going to be the same -\n\t\t// - as the current key.\n\t\t// This variable is not belong to the database so is not defined in $row\n\t\t$newKey = $this->generateKey($slug, $parent, false, $key);\n\n\t\t// if the date in the arguments is not valid, take the value from the old row\n\t\tif (!Valid::date($row['date'], DB_DATE_FORMAT)) {\n\t\t\t$row['date'] = $this->db[$key]['date'];\n\t\t}\n\n\t\t// Modified date\n\t\t$row['dateModified'] = Date::current(DB_DATE_FORMAT);\n\n\t\t// Schedule page\n\t\tif (($row['date'] > Date::current(DB_DATE_FORMAT)) && ($row['type'] == 'published')) {\n\t\t\t$row['type'] = 'scheduled';\n\t\t}\n\n\t\t// Move the directory from old key to new key only if the keys are different\n\t\tif ($newKey !== $key) {\n\t\t\tif (Filesystem::mv(PATH_PAGES . $key, PATH_PAGES . $newKey) === false) {\n\t\t\t\tLog::set(__METHOD__ . LOG_SEP . 'Error occurred when trying to move the directory to ' . PATH_PAGES . $newKey);\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// Regenerate the symlink to a proper directory\n\t\t\tunlink(PATH_UPLOADS_PAGES . $key);\n\t\t\tFilesystem::symlink(PATH_UPLOADS_PAGES . $row['uuid'], PATH_UPLOADS_PAGES . $newKey);\n\t\t}\n\n\t\t// If the content was passed via arguments replace the content\n\t\tif (isset($args['content']) && $args['content'] !== '') {\n\t\t\t// Make the index.txt and save the file.\n\t\t\tif (file_put_contents(PATH_PAGES . $newKey . DS . FILENAME, $args['content']) === false) {\n\t\t\t\tLog::set(__METHOD__ . LOG_SEP . 'Error occurred when trying to put the content in the file ' . FILENAME);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\t// Remove the old row\n\t\tunset($this->db[$key]);\n\n\t\t// Reindex Orphan Children\n\t\t$this->reindexChildren($key, $newKey);\n\n\t\t// Checksum MD5\n\t\t$row['md5file'] = md5_file(PATH_PAGES . $newKey . DS . FILENAME);\n\n\t\t// Insert in database the new row\n\t\t$this->db[$newKey] = $row;\n\n\t\t// Sort database\n\t\t$this->sortBy();\n\n\t\t// Save database\n\t\t$this->save();\n\n\t\treturn $newKey;\n\t}\n\n\t// This function reindex the orphan children with the new parent key\n\t// If a page has subpages and the page change his key is necesarry check the children key\n\tpublic function reindexChildren($oldParentKey, $newParentKey)\n\t{\n\t\tif ($oldParentKey == $newParentKey) {\n\t\t\treturn false;\n\t\t}\n\t\t$tmp = $this->db;\n\t\tforeach ($tmp as $key => $fields) {\n\t\t\tif (Text::startsWith($key, $oldParentKey . '/')) {\n\t\t\t\t$newKey = Text::replace($oldParentKey . '/', $newParentKey . '/', $key);\n\t\t\t\t$this->db[$newKey] = $this->db[$key];\n\t\t\t\tunset($this->db[$key]);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic function delete($key)\n\t{\n\t\t// This is need it, because if the key is empty the Filesystem::deleteRecursive is going to delete PATH_PAGES\n\t\tif (empty($key)) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Page doesn't exist in database\n\t\tif (!$this->exists($key)) {\n\t\t\tLog::set(__METHOD__ . LOG_SEP . 'The page does not exist. Key: ' . $key);\n\t\t\treturn false;\n\t\t}\n\n\t\t// Delete directory and files\n\t\tif (Filesystem::deleteRecursive(PATH_PAGES . $key) === false) {\n\t\t\tLog::set(__METHOD__ . LOG_SEP . 'Error occurred when trying to delete the directory ' . PATH_PAGES . $key, LOG_TYPE_ERROR);\n\t\t}\n\n\t\t// Delete page images directory; The function already check if exists the directory\n\t\tif (($uuid = $this->getUUID($key))) {\n\t\t\tif (Filesystem::deleteRecursive(PATH_UPLOADS_PAGES . $uuid) === false) {\n\t\t\t\tLog::set(__METHOD__ . LOG_SEP . 'Directory with images not found ' . PATH_UPLOADS_PAGES . $uuid);\n\t\t\t}\n\t\t}\n\n\t\t// Delete symlink for page uploads directory\n\t\t$symlinkPath = PATH_UPLOADS_PAGES . $key;\n\t\tif (is_link($symlinkPath)) {\n\t\t\tif (unlink($symlinkPath) === false) {\n\t\t\t\tLog::set(__METHOD__ . LOG_SEP . 'Error occurred when trying to delete the symlink ' . $symlinkPath, LOG_TYPE_ERROR);\n\t\t\t}\n\t\t}\n\n\t\t// Remove from database\n\t\tunset($this->db[$key]);\n\n\t\t// Save the database\n\t\tif ($this->save() === false) {\n\t\t\tLog::set(__METHOD__ . LOG_SEP . 'Error occurred when trying to save the database file.');\n\t\t}\n\n\t\treturn true;\n\t}\n\n\t// Delete all pages from a user\n\tpublic function deletePagesByUser($args)\n\t{\n\t\t$username = $args['username'];\n\n\t\tforeach ($this->db as $key => $fields) {\n\t\t\tif ($fields['username'] === $username) {\n\t\t\t\t$this->delete($key);\n\t\t\t}\n\t\t}\n\n\t\treturn true;\n\t}\n\n\t// Link all pages to a new user\n\tpublic function transferPages($args)\n\t{\n\t\t$oldUsername = $args['oldUsername'];\n\t\t$newUsername = isset($args['newUsername']) ? $args['newUsername'] : 'admin';\n\n\t\tforeach ($this->db as $key => $fields) {\n\t\t\tif ($fields['username'] === $oldUsername) {\n\t\t\t\t$this->db[$key]['username'] = $newUsername;\n\t\t\t}\n\t\t}\n\n\t\treturn $this->save();\n\t}\n\n\t// Set field = value\n\tpublic function setField($key, $field, $value)\n\t{\n\t\tif ($this->exists($key)) {\n\t\t\tsettype($value, gettype($this->dbFields[$field]));\n\t\t\t$this->db[$key][$field] = $value;\n\t\t\treturn $this->save();\n\t\t}\n\t\treturn false;\n\t}\n\n\t// Returns a database with all pages\n\t// $onlyKeys = true; Returns only the pages keys\n\t// $onlyKeys = false; Returns part of the database, I do not recommend use this\n\tpublic function getDB($onlyKeys = true)\n\t{\n\t\t$tmp = $this->db;\n\t\tif ($onlyKeys) {\n\t\t\treturn array_keys($tmp);\n\t\t}\n\t\treturn $tmp;\n\t}\n\n\t// Returns a database with published pages\n\t// $onlyKeys = true; Returns only the pages keys\n\t// $onlyKeys = false; Returns part of the database, I do not recommend use this\n\tpublic function getPublishedDB($onlyKeys = true)\n\t{\n\t\t$tmp = $this->db;\n\t\tforeach ($tmp as $key => $fields) {\n\t\t\tif ($fields['type'] != 'published') {\n\t\t\t\tunset($tmp[$key]);\n\t\t\t}\n\t\t}\n\t\tif ($onlyKeys) {\n\t\t\treturn array_keys($tmp);\n\t\t}\n\t\treturn $tmp;\n\t}\n\n\t// Returns an array with a list of keys/database of static pages\n\t// By default the static pages are sort by position\n\tpublic function getStaticDB($onlyKeys = true)\n\t{\n\t\t$tmp = $this->db;\n\t\tforeach ($tmp as $key => $fields) {\n\t\t\tif ($fields['type'] != 'static') {\n\t\t\t\tunset($tmp[$key]);\n\t\t\t}\n\t\t}\n\t\tuasort($tmp, array($this, 'sortByPositionLowToHigh'));\n\t\tif ($onlyKeys) {\n\t\t\treturn array_keys($tmp);\n\t\t}\n\t\treturn $tmp;\n\t}\n\n\t// Returns an array with a list of keys/database of draft pages\n\tpublic function getDraftDB($onlyKeys = true)\n\t{\n\t\t$tmp = $this->db;\n\t\tforeach ($tmp as $key => $fields) {\n\t\t\tif ($fields['type'] != 'draft') {\n\t\t\t\tunset($tmp[$key]);\n\t\t\t}\n\t\t}\n\t\tif ($onlyKeys) {\n\t\t\treturn array_keys($tmp);\n\t\t}\n\t\treturn $tmp;\n\t}\n\n\t// Returns an array with a list of keys/database of autosave pages\n\tpublic function getAutosaveDB($onlyKeys = true)\n\t{\n\t\t$tmp = $this->db;\n\t\tforeach ($tmp as $key => $fields) {\n\t\t\tif ($fields['type'] != 'autosave') {\n\t\t\t\tunset($tmp[$key]);\n\t\t\t}\n\t\t}\n\t\tif ($onlyKeys) {\n\t\t\treturn array_keys($tmp);\n\t\t}\n\t\treturn $tmp;\n\t}\n\n\t// Returns an array with a list of keys/database of scheduled pages\n\tpublic function getScheduledDB($onlyKeys = true)\n\t{\n\t\t$tmp = $this->db;\n\t\tforeach ($tmp as $key => $fields) {\n\t\t\tif ($fields['type'] != 'scheduled') {\n\t\t\t\tunset($tmp[$key]);\n\t\t\t}\n\t\t}\n\t\tif ($onlyKeys) {\n\t\t\treturn array_keys($tmp);\n\t\t}\n\t\treturn $tmp;\n\t}\n\n\t// Returns an array with a list of keys of sticky pages\n\tpublic function getStickyDB($onlyKeys = true)\n\t{\n\t\t$tmp = $this->db;\n\t\tforeach ($tmp as $key => $fields) {\n\t\t\tif ($fields['type'] != 'sticky') {\n\t\t\t\tunset($tmp[$key]);\n\t\t\t}\n\t\t}\n\t\tif ($onlyKeys) {\n\t\t\treturn array_keys($tmp);\n\t\t}\n\t\treturn $tmp;\n\t}\n\n\t// Returns the next number of the bigger position\n\tpublic function nextPositionNumber()\n\t{\n\t\t$tmp = 1;\n\t\tforeach ($this->db as $key => $fields) {\n\t\t\tif ($fields['position'] > $tmp) {\n\t\t\t\t$tmp = $fields['position'];\n\t\t\t}\n\t\t}\n\t\treturn ++$tmp;\n\t}\n\n\t// Returns the next page key of the current page key\n\tpublic function nextPageKey($currentKey)\n\t{\n\t\tif ($this->db[$currentKey]['type'] == 'published') {\n\t\t\t$keys = array_keys($this->db);\n\t\t\t$position = array_search($currentKey, $keys) - 1;\n\t\t\tif (isset($keys[$position])) {\n\t\t\t\t$nextKey = $keys[$position];\n\t\t\t\tif ($this->db[$nextKey]['type'] == 'published') {\n\t\t\t\t\treturn $nextKey;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\t// Returns the previous page key of the current page key\n\tpublic function previousPageKey($currentKey)\n\t{\n\t\tif ($this->db[$currentKey]['type'] == 'published') {\n\t\t\t$keys = array_keys($this->db);\n\t\t\t$position = array_search($currentKey, $keys) + 1;\n\t\t\tif (isset($keys[$position])) {\n\t\t\t\t$prevKey = $keys[$position];\n\t\t\t\tif ($this->db[$prevKey]['type'] == 'published') {\n\t\t\t\t\treturn $prevKey;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\t// Returns an array with a list of key of pages, FALSE if out of range\n\t// The database is sorted by date or by position\n\t// (int) $pageNumber, the page number\n\t// (int) $numberOfItems, amount of items to return, if -1 returns all the items\n\t// (boolean) $onlyPublished, TRUE to return only published pages\n\tpublic function getList($pageNumber, $numberOfItems, $published = true, $static = false, $sticky = false, $draft = false, $scheduled = false)\n\t{\n\t\t$list = array();\n\t\tforeach ($this->db as $key => $fields) {\n\t\t\tif ($published && $fields['type'] == 'published') {\n\t\t\t\tarray_push($list, $key);\n\t\t\t} elseif ($static && $fields['type'] == 'static') {\n\t\t\t\tarray_push($list, $key);\n\t\t\t} elseif ($sticky && $fields['type'] == 'sticky') {\n\t\t\t\tarray_push($list, $key);\n\t\t\t} elseif ($draft && $fields['type'] == 'draft') {\n\t\t\t\tarray_push($list, $key);\n\t\t\t} elseif ($scheduled && $fields['type'] == 'scheduled') {\n\t\t\t\tarray_push($list, $key);\n\t\t\t}\n\t\t}\n\n\t\tif ($numberOfItems == -1) {\n\t\t\treturn $list;\n\t\t}\n\n\t\t// The first page number is 1, so the real is 0\n\t\t$realPageNumber = $pageNumber - 1;\n\n\t\t$total = count($list);\n\t\t$init = (int) $numberOfItems * $realPageNumber;\n\t\t$end  = (int) min(($init + $numberOfItems - 1), $total);\n\t\t$outrange = $init < 0 ? true : $init > $end;\n\t\tif (!$outrange) {\n\t\t\treturn array_slice($list, $init, $numberOfItems, true);\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t// Returns the amount of pages\n\t// (boolean) $onlyPublished, TRUE returns the total of published pages (without draft and scheduled)\n\t// (boolean) $onlyPublished, FALSE returns the total of pages\n\tpublic function count($onlyPublished = true)\n\t{\n\t\tif ($onlyPublished) {\n\t\t\t$db = $this->getPublishedDB(false);\n\t\t\treturn count($db);\n\t\t}\n\n\t\treturn count($this->db);\n\t}\n\n\t// Returns an array with all parents pages key. A parent page is not a child\n\tpublic function getParents()\n\t{\n\t\t$db = $this->getPublishedDB();\n\t\tforeach ($db as $key => $pageKey) {\n\t\t\t// if the key has slash then is a child\n\t\t\tif (Text::stringContains($pageKey, '/')) {\n\t\t\t\tunset($db[$key]);\n\t\t\t}\n\t\t}\n\t\treturn $db;\n\t}\n\n\tpublic function getChildren($parentKey)\n\t{\n\t\t$tmp = $this->db;\n\t\t$list = array();\n\t\tforeach ($tmp as $key => $fields) {\n\t\t\tif (Text::startsWith($key, $parentKey . '/')) {\n\t\t\t\tarray_push($list, $key);\n\t\t\t}\n\t\t}\n\t\treturn $list;\n\t}\n\n\tpublic function sortBy()\n\t{\n\t\tif (ORDER_BY == 'date') {\n\t\t\treturn $this->sortByDate(true);\n\t\t}\n\t\treturn $this->sortByPosition(false);\n\t}\n\n\t// Sort pages by position\n\tpublic function sortByPosition($HighToLow = false)\n\t{\n\t\tif ($HighToLow) {\n\t\t\tuasort($this->db, array($this, 'sortByPositionHighToLow'));\n\t\t} else {\n\t\t\tuasort($this->db, array($this, 'sortByPositionLowToHigh'));\n\t\t}\n\t\treturn true;\n\t}\n\n\tprivate function sortByPositionLowToHigh($a, $b)\n\t{\n\t\tif ($a['position'] < $b['position']) {\n\t\t\treturn -1;\n\t\t} elseif ($a['position'] > $b['position']) {\n\t\t\treturn 1;\n\t\t} else {\n\t\t\treturn 0;\n\t\t}\n\t}\n\n\tprivate function sortByPositionHighToLow($a, $b)\n\t{\n\t\tif ($a['position'] > $b['position']) {\n\t\t\treturn -1;\n\t\t} elseif ($a['position'] < $b['position']) {\n\t\t\treturn 1;\n\t\t} else {\n\t\t\treturn 0;\n\t\t}\n\t}\n\n\t// Sort pages by date\n\tpublic function sortByDate($HighToLow = true)\n\t{\n\t\tif ($HighToLow) {\n\t\t\tuasort($this->db, array($this, 'sortByDateHighToLow'));\n\t\t} else {\n\t\t\tuasort($this->db, array($this, 'sortByDateLowToHigh'));\n\t\t}\n\t\treturn true;\n\t}\n\n\tprivate function sortByDateLowToHigh($a, $b)\n\t{\n\t\treturn $a['date'] <=> $b['date'];\n\t}\n\tprivate function sortByDateHighToLow($a, $b)\n\t{\n\t\treturn $b['date'] <=> $a['date'];\n\t}\n\n\tfunction generateUUID()\n\t{\n\t\treturn md5(uniqid() . time());\n\t}\n\n\t// Returns the UUID of a page, by the page key\n\tfunction getUUID($key)\n\t{\n\t\tif ($this->exists($key)) {\n\t\t\treturn $this->db[$key]['uuid'];\n\t\t}\n\t\treturn false;\n\t}\n\n\t// Returns the page key by the uuid\n\t// if the UUID doesn't exist, returns FALSE\n\tfunction getByUUID($uuid)\n\t{\n\t\tforeach ($this->db as $key => $value) {\n\t\t\tif ($value['uuid'] == $uuid) {\n\t\t\t\treturn $key;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\n\t// Returns string without HTML tags and truncated\n\tprivate function generateSlug($text, $truncateLength = 60)\n\t{\n\t\t$tmpslug = Text::removeHTMLTags($text);\n\t\t$tmpslug = Text::removeLineBreaks($tmpslug);\n\t\t$tmpslug = Text::truncate($tmpslug, $truncateLength, '');\n\t\treturn $tmpslug;\n\t}\n\n\t// Returns TRUE if there are new pages published, FALSE otherwise\n\tpublic function scheduler()\n\t{\n\t\t// Get current date\n\t\t$currentDate = Date::current(DB_DATE_FORMAT);\n\t\t$saveDatabase = false;\n\n\t\t// The database need to be sorted by date\n\t\tforeach ($this->db as $pageKey => $fields) {\n\t\t\tif ($fields['type'] == 'scheduled') {\n\t\t\t\tif ($fields['date'] <= $currentDate) {\n\t\t\t\t\t$this->db[$pageKey]['type'] = 'published';\n\t\t\t\t\t$saveDatabase = true;\n\t\t\t\t}\n\t\t\t} elseif (($fields['type'] == 'published') && (ORDER_BY == 'date')) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tif ($saveDatabase) {\n\t\t\tif ($this->save() === false) {\n\t\t\t\tLog::set(__METHOD__ . LOG_SEP . 'Error occurred when trying to save the database file.');\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tLog::set(__METHOD__ . LOG_SEP . 'New pages published from the scheduler.');\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t// Generate a valid Key/Slug\n\tpublic function generateKey($text, $parent = false, $returnSlug = false, $oldKey = '')\n\t{\n\t\tglobal $L;\n\t\tglobal $site;\n\n\t\tif (Text::isEmpty($text)) {\n\t\t\t$text = $L->g('empty');\n\t\t}\n\n\t\tif (Text::isEmpty($parent)) {\n\t\t\t$newKey = Text::cleanUrl($text);\n\t\t} else {\n\t\t\t$newKey = Text::cleanUrl($parent) . '/' . Text::cleanUrl($text);\n\t\t}\n\n\t\t// cleanURL can return empty string\n\t\tif (Text::isEmpty($newKey)) {\n\t\t\t$newKey = $L->g('empty');\n\t\t}\n\n\t\tif ($newKey !== $oldKey) {\n\t\t\t// Verify if the key is already been used\n\t\t\tif (isset($this->db[$newKey])) {\n\t\t\t\t$i = 0;\n\t\t\t\twhile (isset($this->db[$newKey . '-' . $i])) {\n\t\t\t\t\t$i++;\n\t\t\t\t}\n\t\t\t\t$newKey = $newKey . '-' . $i;\n\t\t\t}\n\t\t}\n\n\t\tif ($returnSlug) {\n\t\t\t$explode = explode('/', $newKey);\n\t\t\tif (isset($explode[1])) {\n\t\t\t\treturn $explode[1];\n\t\t\t}\n\t\t\treturn $explode[0];\n\t\t}\n\n\t\treturn $newKey;\n\t}\n\n\t// Returns an Array, array('tagSlug'=>'tagName')\n\t// (string) $tags, tag list separated by comma.\n\tpublic function generateTags($tags)\n\t{\n\t\t$tmp = array();\n\t\t$tags = trim($tags);\n\t\tif (empty($tags)) {\n\t\t\treturn $tmp;\n\t\t}\n\n\t\t$tags = explode(',', $tags);\n\t\tforeach ($tags as $tag) {\n\t\t\t$tag = trim($tag);\n\t\t\t$tagKey = Text::cleanUrl($tag);\n\t\t\t$tmp[$tagKey] = $tag;\n\t\t}\n\t\treturn $tmp;\n\t}\n\n\t// Change all pages with the old category key to the new category key\n\tpublic function changeCategory($oldCategoryKey, $newCategoryKey)\n\t{\n\t\tforeach ($this->db as $key => $value) {\n\t\t\tif ($value['category'] === $oldCategoryKey) {\n\t\t\t\t$this->db[$key]['category'] = $newCategoryKey;\n\t\t\t}\n\t\t}\n\t\treturn $this->save();\n\t}\n\n\t// Insert custom fields to all the pages in the database\n\t// The structure for the custom fields need to be a valid JSON format\n\t// The custom fields are incremental, this means the custom fields are never deleted\n\t// The pages only store the value of the custom field, the structure of the custom fields are in the database site.php\n\tpublic function setCustomFields($fields)\n\t{\n\t\t$customFields = json_decode($fields, true);\n\t\tif (json_last_error() != JSON_ERROR_NONE) {\n\t\t\treturn false;\n\t\t}\n\t\tforeach ($this->db as $pageKey => $pageFields) {\n\t\t\tforeach ($customFields as $customField => $customValues) {\n\t\t\t\tif (!isset($pageFields['custom'][$customField])) {\n\t\t\t\t\t$defaultValue = '';\n\t\t\t\t\tif (isset($customValues['default'])) {\n\t\t\t\t\t\t$defaultValue = $customValues['default'];\n\t\t\t\t\t}\n\t\t\t\t\t$this->db[$pageKey]['custom'][$customField]['value'] = $defaultValue;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn $this->save();\n\t}\n}\n"
  },
  {
    "path": "bl-kernel/pagex.class.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\nclass Page\n{\n\n\tprotected $vars;\n\n\tfunction __construct($key)\n\t{\n\t\tglobal $pages;\n\n\t\t$this->vars['key'] = $key;\n\n\t\t// If key is FALSE, the page is created with default values, like an empty page\n\t\t// Useful for Page Not Found\n\t\tif ($key === false) {\n\t\t\t$row = $pages->getDefaultFields();\n\t\t} else {\n\t\t\tif (Text::isEmpty($key) || !$pages->exists($key)) {\n\t\t\t\t$errorMessage = 'Page not found in database by key [' . $key . ']';\n\t\t\t\tLog::set(__METHOD__ . LOG_SEP . $errorMessage);\n\t\t\t\tthrow new Exception($errorMessage);\n\t\t\t}\n\t\t\t$row = $pages->getPageDB($key);\n\t\t}\n\n\t\tforeach ($row as $field => $value) {\n\t\t\tif ($field == 'date') {\n\t\t\t\t$this->setField('dateRaw', $value);\n\t\t\t} else {\n\t\t\t\t$this->setField($field, $value);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic function getValue($field)\n\t{\n\t\tif (isset($this->vars[$field])) {\n\t\t\treturn $this->vars[$field];\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic function setField($field, $value)\n\t{\n\t\t$this->vars[$field] = $value;\n\t\treturn true;\n\t}\n\n\t// Returns the raw content\n\t// This content is not markdown parser\n\t// (boolean) $sanitize, TRUE returns the content sanitized\n\tpublic function contentRaw($sanitize = false)\n\t{\n\t\t$key = $this->key();\n\t\tif (empty($key)) {\n\t\t\treturn '';\n\t\t}\n\t\t$filePath = PATH_PAGES . $key . DS . FILENAME;\n\t\tif (!file_exists($filePath)) {\n\t\t\treturn '';\n\t\t}\n\t\t$contentRaw = file_get_contents($filePath);\n\n\t\tif ($sanitize) {\n\t\t\treturn Sanitize::html($contentRaw);\n\t\t}\n\t\treturn $contentRaw;\n\t}\n\n\t// Returns the full content\n\t// This content is markdown parser\n\t// (boolean) $sanitize, TRUE returns the content sanitized\n\tpublic function content($sanitize = false)\n\t{\n\t\t// If already set the content, return it\n\t\t$content = $this->getValue('content');\n\t\tif (!empty($content)) {\n\t\t\treturn $content;\n\t\t}\n\n\t\t// Get the raw content\n\t\t$content = $this->contentRaw();\n\n\t\t// Parse Markdown\n\t\tif (MARKDOWN_PARSER) {\n\t\t\t$parsedown = new Parsedown();\n\t\t\t$content = $parsedown->text($content);\n\t\t}\n\n\t\t// Parse img src relative to absolute (with domain)\n\t\tif (IMAGE_RELATIVE_TO_ABSOLUTE) {\n\t\t\t$domain = IMAGE_RESTRICT ? DOMAIN_UPLOADS_PAGES . $this->uuid() . '/' : DOMAIN_UPLOADS;\n\t\t\t$content = Text::imgRel2Abs($content, $domain);\n\t\t}\n\n\t\tif ($sanitize) {\n\t\t\treturn Sanitize::html($content);\n\t\t}\n\t\treturn $content;\n\t}\n\n\t// Returns the first part of the content if the content is splited, otherwise is returned the full content\n\t// This content is markdown parser\n\t// (boolean) $sanitize, TRUE returns the content sanitized\n\tpublic function contentBreak($sanitize = false)\n\t{\n\t\t$content = $this->content($sanitize);\n\t\t$explode = explode(PAGE_BREAK, $content);\n\t\treturn $explode[0];\n\t}\n\n\t// Returns the date according to locale settings and the format defined in the system\n\tpublic function date($format = false)\n\t{\n\t\t$dateRaw = $this->dateRaw();\n\t\tif ($format === false) {\n\t\t\tglobal $site;\n\t\t\t$format = $site->dateFormat();\n\t\t}\n\t\treturn Date::format($dateRaw, DB_DATE_FORMAT, $format);\n\t}\n\n\t// Returns the date according to locale settings and format as database stored\n\tpublic function dateRaw()\n\t{\n\t\t// This field is set in the constructor\n\t\treturn $this->getValue('dateRaw');\n\t}\n\n\t// Returns the date according to locale settings and format settings\n\tpublic function dateModified($format = false)\n\t{\n\t\t$dateRaw = $this->getValue('dateModified');\n\t\tif ($format === false) {\n\t\t\tglobal $site;\n\t\t\t$format = $site->dateFormat();\n\t\t}\n\t\treturn Date::format($dateRaw, DB_DATE_FORMAT, $format);\n\t}\n\n\t// Returns the username who created the page\n\tpublic function username()\n\t{\n\t\treturn $this->getValue('username');\n\t}\n\n\t// TODO: Check if necessary this function\n\tpublic function getDB()\n\t{\n\t\treturn $this->vars;\n\t}\n\n\t// Returns the permalink\n\t// (boolean) $absolute, TRUE returns the page link with the DOMAIN, FALSE without the DOMAIN\n\tpublic function permalink($absolute = true)\n\t{\n\t\t// Get the key of the page\n\t\t$key = $this->key();\n\n\t\tif ($absolute) {\n\t\t\treturn DOMAIN_PAGES . $key;\n\t\t}\n\n\t\treturn HTML_PATH_ROOT . PAGE_URI_FILTER . $key;\n\t}\n\n\t// Returns the previous page key\n\tpublic function previousKey()\n\t{\n\t\tglobal $pages;\n\t\treturn $pages->previousPageKey($this->key());\n\t}\n\n\t// Returns the next page key\n\tpublic function nextKey()\n\t{\n\t\tglobal $pages;\n\t\treturn $pages->nextPageKey($this->key());\n\t}\n\n\t// Returns the category name\n\tpublic function category()\n\t{\n\t\treturn $this->categoryMap('name');\n\t}\n\n\t// Returns the category template\n\tpublic function categoryTemplate()\n\t{\n\t\treturn $this->categoryMap('template');\n\t}\n\n\t// Returns the category description\n\tpublic function categoryDescription()\n\t{\n\t\treturn $this->categoryMap('description');\n\t}\n\n\t// Returns the category key\n\tpublic function categoryKey()\n\t{\n\t\treturn $this->getValue('category');\n\t}\n\n\t// Returns the category permalink\n\tpublic function categoryPermalink()\n\t{\n\t\treturn DOMAIN_CATEGORIES . $this->categoryKey();\n\t}\n\n\t// Returns the field from the array\n\t// categoryMap = array( 'name'=>'', 'list'=>array() )\n\tpublic function categoryMap($field)\n\t{\n\t\tglobal $categories;\n\t\t$categoryKey = $this->categoryKey();\n\t\t$map = $categories->getMap($categoryKey);\n\n\t\tif ($field == 'key') {\n\t\t\treturn $this->categoryKey();\n\t\t} elseif (isset($map[$field])) {\n\t\t\treturn $map[$field];\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t// Returns the user object or passing the method returns the object User method\n\tpublic function user($method = false)\n\t{\n\t\t$username = $this->username();\n\t\ttry {\n\t\t\t$user = new User($username);\n\t\t\tif ($method) {\n\t\t\t\treturn $user->{$method}();\n\t\t\t}\n\t\t\treturn $user;\n\t\t} catch (Exception $e) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic function template()\n\t{\n\t\treturn $this->getValue('template');\n\t}\n\n\t// Returns the description field\n\tpublic function description()\n\t{\n\t\treturn $this->getValue('description');\n\t}\n\n\t// Returns the tags separated by comma\n\t// (boolean) $returnsArray, TRUE to get the tags as an array, FALSE to get the tags separated by comma\n\t// The tags in array format returns array( tagKey => tagName )\n\tpublic function tags($returnsArray = false)\n\t{\n\t\t$tags = $this->getValue('tags');\n\t\tif ($returnsArray) {\n\t\t\tif (empty($tags)) {\n\t\t\t\treturn array();\n\t\t\t}\n\t\t\treturn $tags;\n\t\t}\n\n\t\tif (empty($tags)) {\n\t\t\treturn '';\n\t\t}\n\t\t// Return string with tags separated by comma.\n\t\treturn implode(',', $tags);\n\t}\n\n\n\n\tpublic function json($returnsArray = false)\n\t{\n\t\t$tmp['key'] \t\t= $this->key();\n\t\t$tmp['title'] \t\t= $this->title();\n\t\t$tmp['content'] \t= $this->content(); // Markdown parsed\n\t\t$tmp['contentRaw'] \t= $this->contentRaw(true); // No Markdown parsed\n\t\t$tmp['description'] \t= $this->description();\n\t\t$tmp['type'] \t\t= $this->type();\n\t\t$tmp['slug'] \t\t= $this->slug();\n\t\t$tmp['date'] \t\t= $this->date();\n\t\t$tmp['dateRaw'] \t= $this->dateRaw();\n\t\t$tmp['tags'] \t\t= $this->tags(false);\n\t\t$tmp['username'] \t= $this->username();\n\t\t$tmp['category'] \t= $this->category();\n\t\t$tmp['uuid'] \t\t= $this->uuid();\n\t\t$tmp['dateUTC']\t\t= Date::convertToUTC($this->dateRaw(), DB_DATE_FORMAT, DB_DATE_FORMAT);\n\t\t$tmp['permalink'] \t= $this->permalink(true);\n\t\t$tmp['coverImage'] \t\t= $this->coverImage(true);\n\t\t$tmp['coverImageFilename'] \t= $this->coverImage(false);\n\n\t\tif ($returnsArray) {\n\t\t\treturn $tmp;\n\t\t}\n\n\t\treturn json_encode($tmp);\n\t}\n\n\t// Returns the endpoint of the coverimage, FALSE if the page doesn't have a cover image\n\t// (boolean) $absolute, TRUE returns the complete URL, FALSE returns the filename\n\t// If the user defined an external cover image the function returns it\n\tpublic function coverImage($absolute = true)\n\t{\n\t\t$filename = $this->getValue('coverImage');\n\t\tif (empty($filename)) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Check is external cover image\n\t\tif (filter_var($filename, FILTER_VALIDATE_URL)) {\n\t\t\treturn $filename;\n\t\t}\n\n\t\tif ($absolute) {\n\t\t\tif (IMAGE_RESTRICT) {\n\t\t\t\treturn DOMAIN_UPLOADS_PAGES . $this->uuid() . '/' . $filename;\n\t\t\t}\n\t\t\treturn DOMAIN_UPLOADS . $filename;\n\t\t}\n\n\t\treturn $filename;\n\t}\n\n\t// Returns the endpoint of the thumbnail cover image, FALSE if the page doesn't have a cover image\n\tpublic function thumbCoverImage()\n\t{\n\t\t$filename = $this->coverImage(false);\n\t\tif ($filename == false) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Check is external cover image\n\t\tif (filter_var($filename, FILTER_VALIDATE_URL)) {\n\t\t\treturn $filename;\n\t\t}\n\n\t\tif (IMAGE_RESTRICT) {\n\t\t\treturn DOMAIN_UPLOADS_PAGES . $this->uuid() . '/thumbnails/' . $filename;\n\t\t}\n\t\treturn DOMAIN_UPLOADS_THUMBNAILS . $filename;\n\t}\n\n\t// Returns TRUE if the content has the text splited\n\tpublic function readMore()\n\t{\n\t\t$content = $this->contentRaw();\n\t\treturn Text::stringContains($content, PAGE_BREAK);\n\t}\n\n\tpublic function uuid()\n\t{\n\t\treturn $this->getValue('uuid');\n\t}\n\n\t// Returns the field key\n\tpublic function key()\n\t{\n\t\treturn $this->getValue('key');\n\t}\n\n\t// (boolean) Returns TRUE if the page is published, FALSE otherwise\n\tpublic function published()\n\t{\n\t\treturn ($this->getValue('type') === 'published');\n\t}\n\n\t// (boolean) Returns TRUE if the page is scheduled, FALSE otherwise\n\tpublic function scheduled()\n\t{\n\t\treturn ($this->getValue('type') === 'scheduled');\n\t}\n\n\t// (boolean) Returns TRUE if the page is draft, FALSE otherwise\n\tpublic function draft()\n\t{\n\t\treturn ($this->getValue('type') == 'draft');\n\t}\n\n\t// (boolean) Returns TRUE if the page is autosave, FALSE otherwise\n\tpublic function autosave()\n\t{\n\t\treturn ($this->getValue('type') == 'autosave');\n\t}\n\n\t// (boolean) Returns TRUE if the page is sticky, FALSE otherwise\n\tpublic function sticky()\n\t{\n\t\treturn ($this->getValue('type') == 'sticky');\n\t}\n\n\t// (boolean) Returns TRUE if the page is static, FALSE otherwise\n\tpublic function isStatic()\n\t{\n\t\treturn ($this->getValue('type') == 'static');\n\t}\n\n\t// (string) Returns type of the page\n\tpublic function type()\n\t{\n\t\treturn $this->getValue('type');\n\t}\n\n\t// Returns the title field\n\tpublic function title()\n\t{\n\t\treturn $this->getValue('title');\n\t}\n\n\t// Returns TRUE if the page has enabled the comments, FALSE otherwise\n\tpublic function allowComments()\n\t{\n\t\treturn $this->getValue('allowComments');\n\t}\n\n\t// Returns the page position\n\tpublic function position()\n\t{\n\t\treturn $this->getValue('position');\n\t}\n\n\t// Returns the page noindex\n\tpublic function noindex()\n\t{\n\t\treturn $this->getValue('noindex');\n\t}\n\n\t// Returns the page nofollow\n\tpublic function nofollow()\n\t{\n\t\treturn $this->getValue('nofollow');\n\t}\n\n\t// Returns the page noarchive\n\tpublic function noarchive()\n\t{\n\t\treturn $this->getValue('noarchive');\n\t}\n\n\t// Returns the page slug\n\tpublic function slug()\n\t{\n\t\t$explode = explode('/', $this->key());\n\t\treturn end($explode);\n\t}\n\n\t// Returns the parent key, if the page doesn't have a parent returns FALSE\n\tpublic function parent()\n\t{\n\t\treturn $this->parentKey();\n\t}\n\n\t// Returns the parent key, if the page doesn't have a parent returns FALSE\n\tpublic function parentKey()\n\t{\n\t\t$explode = explode('/', $this->key());\n\t\tif (isset($explode[1])) {\n\t\t\treturn $explode[0];\n\t\t}\n\t\treturn false;\n\t}\n\n\t// Returns TRUE if the page is a parent, has or not children\n\tpublic function isParent()\n\t{\n\t\treturn $this->parentKey() === false;\n\t}\n\n\t// Returns the parent method output, if the page doesn't have a parent returns FALSE\n\tpublic function parentMethod($method)\n\t{\n\t\t$parentKey = $this->parentKey();\n\t\tif ($parentKey) {\n\t\t\ttry {\n\t\t\t\t$page = new Page($parentKey);\n\t\t\t\treturn $page->{$method}();\n\t\t\t} catch (Exception $e) {\n\t\t\t\t// Continoue\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t// Returns TRUE if the page is a child, FALSE otherwise\n\tpublic function isChild()\n\t{\n\t\treturn $this->parentKey() !== false;\n\t}\n\n\t// Returns TRUE if the page has children\n\tpublic function hasChildren()\n\t{\n\t\t$childrenKeys = $this->childrenKeys();\n\t\treturn !empty($childrenKeys);\n\t}\n\n\t// Returns an array with all children's keys\n\tpublic function childrenKeys()\n\t{\n\t\tglobal $pages;\n\t\t$key = $this->key();\n\t\treturn $pages->getChildren($key);\n\t}\n\n\t// Returns an array with all children as Page-Object\n\tpublic function children()\n\t{\n\t\tglobal $pages;\n\t\t$list = array();\n\t\t$childrenKeys = $pages->getChildren($this->key());\n\t\tforeach ($childrenKeys as $childKey) {\n\t\t\ttry {\n\t\t\t\t$child = new Page($childKey);\n\t\t\t\tarray_push($list, $child);\n\t\t\t} catch (Exception $e) {\n\t\t\t\t// Continue\n\t\t\t}\n\t\t}\n\n\t\treturn $list;\n\t}\n\n\t// Returns the amount of minutes takes to read the page\n\tpublic function readingTime()\n\t{\n\t\tglobal $L;\n\n\t\t$words = $this->content(true);\n\t\t$words = strip_tags($words);\n\t\t$words = str_word_count($words);\n\t\t$average = $words / 200;\n\t\t$minutes = round($average);\n\n\t\tif ($minutes > 1) {\n\t\t\treturn $minutes . ' ' . $L->get('minutes');\n\t\t}\n\n\t\treturn '~1 ' . $L->get('minute');\n\t}\n\n\t// Returns relative time (e.g. \"1 minute ago\")\n\t// Based on http://stackoverflow.com/a/18602474\n\t// Modified for Bludit\n\t// $complete = false : short version\n\t// $complete = true  : full version\n\tpublic function relativeTime($complete = false)\n    \t{\n        \t$current = new DateTime;\n\t        $past    = new DateTime($this->getValue('dateRaw'));\n\t        $elapsed = $current->diff($past);\n\n\t        // Calculate weeks separately\n\t        $weeks = floor($elapsed->d / 7);\n\t        $elapsed->d -= $weeks * 7;\n\n\t        $string = array(\n\t            'y' => 'year',\n\t            'm' => 'month',\n\t            'w' => $weeks,\n\t            'd' => 'day',\n\t            'h' => 'hour',\n\t            'i' => 'minute',\n\t            's' => 'second',\n\t        );\n\n\t        foreach ($string as $key => &$value) {\n\t            if ($key == 'w') {\n\t                if ($weeks > 0) {\n\t                    $value = $weeks . ' week' . ($weeks > 1 ? 's' : '');\n\t                } else {\n\t                    unset($string[$key]);\n\t                }\n\t            } elseif ($elapsed->$key) {\n\t                $value = $elapsed->$key . ' ' . $value . ($elapsed->$key > 1 ? 's' : '');\n\t            } else {\n\t                unset($string[$key]);\n\t            }\n\t        }\n\n\t        if (!$complete) {\n\t            $string = array_slice($string, 0, 1);\n\t        }\n\n\t        return $string ? implode(', ', $string) . ' ago' : 'Just now';\n    \t}\n\n\t// Returns the value from the field, false if the fields don't exist\n\t// If you set the $option as TRUE, the function returns an array with all the values of the field\n\tpublic function custom($field, $options = false)\n\t{\n\t\tif (isset($this->vars['custom'][$field])) {\n\t\t\tif ($options) {\n\t\t\t\treturn $this->vars['custom'][$field];\n\t\t\t}\n\t\t\treturn $this->vars['custom'][$field]['value'];\n\t\t}\n\t\treturn false;\n\t}\n\n\t// Returns an array with all pages key related to the page\n\t// The relation is based on the tags\n\tpublic function related()\n\t{\n\t\tglobal $tags;\n\t\t$pageTags = $this->tags(true);\n\t\t$list = array();\n\t\t// For each tag get the list of related pages\n\t\tforeach ($pageTags as $tagKey => $tagName) {\n\t\t\t$pagesRelated = $tags->getList($tagKey, 1, -1);\n\t\t\tif (is_array($pagesRelated)) {\n\t\t\t\t$list = array_merge($list, $pagesRelated);\n\t\t\t}\n\t\t}\n\n\t\t// Remove duplicates\n\t\t$list = array_unique($list);\n\n\t\t// Remove himself from the list\n\t\tif (($key = array_search($this->key(), $list)) !== false) {\n\t\t\tunset($list[$key]);\n\t\t}\n\n\t\treturn $list;\n\t}\n}\n"
  },
  {
    "path": "bl-kernel/parsedown.class.php",
    "content": "<?php\n\n#\n#\n# Parsedown\n# http://parsedown.org\n#\n# (c) Emanuil Rusev\n# http://erusev.com\n#\n# For the full license information, view the LICENSE file that was distributed\n# with this source code.\n#\n#\n\nclass Parsedown\n{\n    # ~\n\n    const version = '1.8.0';\n\n    # ~\n\n    function text($text)\n    {\n        $Elements = $this->textElements($text);\n\n        # convert to markup\n        $markup = $this->elements($Elements);\n\n        # trim line breaks\n        $markup = trim($markup, \"\\n\");\n\n        return $markup;\n    }\n\n    protected function textElements($text)\n    {\n        # make sure no definitions are set\n        $this->DefinitionData = array();\n\n        # standardize line breaks\n        $text = str_replace(array(\"\\r\\n\", \"\\r\"), \"\\n\", $text);\n\n        # remove surrounding line breaks\n        $text = trim($text, \"\\n\");\n\n        # split text into lines\n        $lines = explode(\"\\n\", $text);\n\n        # iterate through lines to identify blocks\n        return $this->linesElements($lines);\n    }\n\n    #\n    # Setters\n    #\n\n    function setBreaksEnabled($breaksEnabled)\n    {\n        $this->breaksEnabled = $breaksEnabled;\n\n        return $this;\n    }\n\n    protected $breaksEnabled;\n\n    function setMarkupEscaped($markupEscaped)\n    {\n        $this->markupEscaped = $markupEscaped;\n\n        return $this;\n    }\n\n    protected $markupEscaped;\n\n    function setUrlsLinked($urlsLinked)\n    {\n        $this->urlsLinked = $urlsLinked;\n\n        return $this;\n    }\n\n    protected $urlsLinked = true;\n\n    function setSafeMode($safeMode)\n    {\n        $this->safeMode = (bool) $safeMode;\n\n        return $this;\n    }\n\n    protected $safeMode;\n\n    function setStrictMode($strictMode)\n    {\n        $this->strictMode = (bool) $strictMode;\n\n        return $this;\n    }\n\n    protected $strictMode;\n\n    protected $safeLinksWhitelist = array(\n        'http://',\n        'https://',\n        'ftp://',\n        'ftps://',\n        'mailto:',\n        'tel:',\n        'data:image/png;base64,',\n        'data:image/gif;base64,',\n        'data:image/jpeg;base64,',\n        'irc:',\n        'ircs:',\n        'git:',\n        'ssh:',\n        'news:',\n        'steam:',\n    );\n\n    #\n    # Lines\n    #\n\n    protected $BlockTypes = array(\n        '#' => array('Header'),\n        '*' => array('Rule', 'List'),\n        '+' => array('List'),\n        '-' => array('SetextHeader', 'Table', 'Rule', 'List'),\n        '0' => array('List'),\n        '1' => array('List'),\n        '2' => array('List'),\n        '3' => array('List'),\n        '4' => array('List'),\n        '5' => array('List'),\n        '6' => array('List'),\n        '7' => array('List'),\n        '8' => array('List'),\n        '9' => array('List'),\n        ':' => array('Table'),\n        '<' => array('Comment', 'Markup'),\n        '=' => array('SetextHeader'),\n        '>' => array('Quote'),\n        '[' => array('Reference'),\n        '_' => array('Rule'),\n        '`' => array('FencedCode'),\n        '|' => array('Table'),\n        '~' => array('FencedCode'),\n    );\n\n    # ~\n\n    protected $unmarkedBlockTypes = array(\n        'Code',\n    );\n\n    #\n    # Blocks\n    #\n\n    protected function lines(array $lines)\n    {\n        return $this->elements($this->linesElements($lines));\n    }\n\n    protected function linesElements(array $lines)\n    {\n        $Elements = array();\n        $CurrentBlock = null;\n\n        foreach ($lines as $line)\n        {\n            if (chop($line) === '')\n            {\n                if (isset($CurrentBlock))\n                {\n                    $CurrentBlock['interrupted'] = (isset($CurrentBlock['interrupted'])\n                        ? $CurrentBlock['interrupted'] + 1 : 1\n                    );\n                }\n\n                continue;\n            }\n\n            while (($beforeTab = strstr($line, \"\\t\", true)) !== false)\n            {\n                $shortage = 4 - mb_strlen($beforeTab, 'utf-8') % 4;\n\n                $line = $beforeTab\n                    . str_repeat(' ', $shortage)\n                    . substr($line, strlen($beforeTab) + 1)\n                ;\n            }\n\n            $indent = strspn($line, ' ');\n\n            $text = $indent > 0 ? substr($line, $indent) : $line;\n\n            # ~\n\n            $Line = array('body' => $line, 'indent' => $indent, 'text' => $text);\n\n            # ~\n\n            if (isset($CurrentBlock['continuable']))\n            {\n                $methodName = 'block' . $CurrentBlock['type'] . 'Continue';\n                $Block = $this->$methodName($Line, $CurrentBlock);\n\n                if (isset($Block))\n                {\n                    $CurrentBlock = $Block;\n\n                    continue;\n                }\n                else\n                {\n                    if ($this->isBlockCompletable($CurrentBlock['type']))\n                    {\n                        $methodName = 'block' . $CurrentBlock['type'] . 'Complete';\n                        $CurrentBlock = $this->$methodName($CurrentBlock);\n                    }\n                }\n            }\n\n            # ~\n\n            $marker = $text[0];\n\n            # ~\n\n            $blockTypes = $this->unmarkedBlockTypes;\n\n            if (isset($this->BlockTypes[$marker]))\n            {\n                foreach ($this->BlockTypes[$marker] as $blockType)\n                {\n                    $blockTypes []= $blockType;\n                }\n            }\n\n            #\n            # ~\n\n            foreach ($blockTypes as $blockType)\n            {\n                $Block = $this->{\"block$blockType\"}($Line, $CurrentBlock);\n\n                if (isset($Block))\n                {\n                    $Block['type'] = $blockType;\n\n                    if ( ! isset($Block['identified']))\n                    {\n                        if (isset($CurrentBlock))\n                        {\n                            $Elements[] = $this->extractElement($CurrentBlock);\n                        }\n\n                        $Block['identified'] = true;\n                    }\n\n                    if ($this->isBlockContinuable($blockType))\n                    {\n                        $Block['continuable'] = true;\n                    }\n\n                    $CurrentBlock = $Block;\n\n                    continue 2;\n                }\n            }\n\n            # ~\n\n            if (isset($CurrentBlock) and $CurrentBlock['type'] === 'Paragraph')\n            {\n                $Block = $this->paragraphContinue($Line, $CurrentBlock);\n            }\n\n            if (isset($Block))\n            {\n                $CurrentBlock = $Block;\n            }\n            else\n            {\n                if (isset($CurrentBlock))\n                {\n                    $Elements[] = $this->extractElement($CurrentBlock);\n                }\n\n                $CurrentBlock = $this->paragraph($Line);\n\n                $CurrentBlock['identified'] = true;\n            }\n        }\n\n        # ~\n\n        if (isset($CurrentBlock['continuable']) and $this->isBlockCompletable($CurrentBlock['type']))\n        {\n            $methodName = 'block' . $CurrentBlock['type'] . 'Complete';\n            $CurrentBlock = $this->$methodName($CurrentBlock);\n        }\n\n        # ~\n\n        if (isset($CurrentBlock))\n        {\n            $Elements[] = $this->extractElement($CurrentBlock);\n        }\n\n        # ~\n\n        return $Elements;\n    }\n\n    protected function extractElement(array $Component)\n    {\n        if ( ! isset($Component['element']))\n        {\n            if (isset($Component['markup']))\n            {\n                $Component['element'] = array('rawHtml' => $Component['markup']);\n            }\n            elseif (isset($Component['hidden']))\n            {\n                $Component['element'] = array();\n            }\n        }\n\n        return $Component['element'];\n    }\n\n    protected function isBlockContinuable($Type)\n    {\n        return method_exists($this, 'block' . $Type . 'Continue');\n    }\n\n    protected function isBlockCompletable($Type)\n    {\n        return method_exists($this, 'block' . $Type . 'Complete');\n    }\n\n    #\n    # Code\n\n    protected function blockCode($Line, $Block = null)\n    {\n        if (isset($Block) and $Block['type'] === 'Paragraph' and ! isset($Block['interrupted']))\n        {\n            return;\n        }\n\n        if ($Line['indent'] >= 4)\n        {\n            $text = substr($Line['body'], 4);\n\n            $Block = array(\n                'element' => array(\n                    'name' => 'pre',\n                    'element' => array(\n                        'name' => 'code',\n                        'text' => $text,\n                    ),\n                ),\n            );\n\n            return $Block;\n        }\n    }\n\n    protected function blockCodeContinue($Line, $Block)\n    {\n        if ($Line['indent'] >= 4)\n        {\n            if (isset($Block['interrupted']))\n            {\n                $Block['element']['element']['text'] .= str_repeat(\"\\n\", $Block['interrupted']);\n\n                unset($Block['interrupted']);\n            }\n\n            $Block['element']['element']['text'] .= \"\\n\";\n\n            $text = substr($Line['body'], 4);\n\n            $Block['element']['element']['text'] .= $text;\n\n            return $Block;\n        }\n    }\n\n    protected function blockCodeComplete($Block)\n    {\n        return $Block;\n    }\n\n    #\n    # Comment\n\n    protected function blockComment($Line)\n    {\n        if ($this->markupEscaped or $this->safeMode)\n        {\n            return;\n        }\n\n        if (strpos($Line['text'], '<!--') === 0)\n        {\n            $Block = array(\n                'element' => array(\n                    'rawHtml' => $Line['body'],\n                    'autobreak' => true,\n                ),\n            );\n\n            if (strpos($Line['text'], '-->') !== false)\n            {\n                $Block['closed'] = true;\n            }\n\n            return $Block;\n        }\n    }\n\n    protected function blockCommentContinue($Line, array $Block)\n    {\n        if (isset($Block['closed']))\n        {\n            return;\n        }\n\n        $Block['element']['rawHtml'] .= \"\\n\" . $Line['body'];\n\n        if (strpos($Line['text'], '-->') !== false)\n        {\n            $Block['closed'] = true;\n        }\n\n        return $Block;\n    }\n\n    #\n    # Fenced Code\n\n    protected function blockFencedCode($Line)\n    {\n        $marker = $Line['text'][0];\n\n        $openerLength = strspn($Line['text'], $marker);\n\n        if ($openerLength < 3)\n        {\n            return;\n        }\n\n        $infostring = trim(substr($Line['text'], $openerLength), \"\\t \");\n\n        if (strpos($infostring, '`') !== false)\n        {\n            return;\n        }\n\n        $Element = array(\n            'name' => 'code',\n            'text' => '',\n        );\n\n        if ($infostring !== '')\n        {\n            /**\n             * https://www.w3.org/TR/2011/WD-html5-20110525/elements.html#classes\n             * Every HTML element may have a class attribute specified.\n             * The attribute, if specified, must have a value that is a set\n             * of space-separated tokens representing the various classes\n             * that the element belongs to.\n             * [...]\n             * The space characters, for the purposes of this specification,\n             * are U+0020 SPACE, U+0009 CHARACTER TABULATION (tab),\n             * U+000A LINE FEED (LF), U+000C FORM FEED (FF), and\n             * U+000D CARRIAGE RETURN (CR).\n             */\n            $language = substr($infostring, 0, strcspn($infostring, \" \\t\\n\\f\\r\"));\n\n            $Element['attributes'] = array('class' => \"language-$language\");\n        }\n\n        $Block = array(\n            'char' => $marker,\n            'openerLength' => $openerLength,\n            'element' => array(\n                'name' => 'pre',\n                'element' => $Element,\n            ),\n        );\n\n        return $Block;\n    }\n\n    protected function blockFencedCodeContinue($Line, $Block)\n    {\n        if (isset($Block['complete']))\n        {\n            return;\n        }\n\n        if (isset($Block['interrupted']))\n        {\n            $Block['element']['element']['text'] .= str_repeat(\"\\n\", $Block['interrupted']);\n\n            unset($Block['interrupted']);\n        }\n\n        if (($len = strspn($Line['text'], $Block['char'])) >= $Block['openerLength']\n            and chop(substr($Line['text'], $len), ' ') === ''\n        ) {\n            $Block['element']['element']['text'] = substr($Block['element']['element']['text'], 1);\n\n            $Block['complete'] = true;\n\n            return $Block;\n        }\n\n        $Block['element']['element']['text'] .= \"\\n\" . $Line['body'];\n\n        return $Block;\n    }\n\n    protected function blockFencedCodeComplete($Block)\n    {\n        return $Block;\n    }\n\n    #\n    # Header\n\n    protected function blockHeader($Line)\n    {\n        $level = strspn($Line['text'], '#');\n\n        if ($level > 6)\n        {\n            return;\n        }\n\n        $text = trim($Line['text'], '#');\n\n        if ($this->strictMode and isset($text[0]) and $text[0] !== ' ')\n        {\n            return;\n        }\n\n        $text = trim($text, ' ');\n\n        $Block = array(\n            'element' => array(\n                'name' => 'h' . $level,\n                'handler' => array(\n                    'function' => 'lineElements',\n                    'argument' => $text,\n                    'destination' => 'elements',\n                )\n            ),\n        );\n\n        return $Block;\n    }\n\n    #\n    # List\n\n    protected function blockList($Line, ?array $CurrentBlock = null)\n    {\n        list($name, $pattern) = $Line['text'][0] <= '-' ? array('ul', '[*+-]') : array('ol', '[0-9]{1,9}+[.\\)]');\n\n        if (preg_match('/^('.$pattern.'([ ]++|$))(.*+)/', $Line['text'], $matches))\n        {\n            $contentIndent = strlen($matches[2]);\n\n            if ($contentIndent >= 5)\n            {\n                $contentIndent -= 1;\n                $matches[1] = substr($matches[1], 0, -$contentIndent);\n                $matches[3] = str_repeat(' ', $contentIndent) . $matches[3];\n            }\n            elseif ($contentIndent === 0)\n            {\n                $matches[1] .= ' ';\n            }\n\n            $markerWithoutWhitespace = strstr($matches[1], ' ', true);\n\n            $Block = array(\n                'indent' => $Line['indent'],\n                'pattern' => $pattern,\n                'data' => array(\n                    'type' => $name,\n                    'marker' => $matches[1],\n                    'markerType' => ($name === 'ul' ? $markerWithoutWhitespace : substr($markerWithoutWhitespace, -1)),\n                ),\n                'element' => array(\n                    'name' => $name,\n                    'elements' => array(),\n                ),\n            );\n            $Block['data']['markerTypeRegex'] = preg_quote($Block['data']['markerType'], '/');\n\n            if ($name === 'ol')\n            {\n                $listStart = ltrim(strstr($matches[1], $Block['data']['markerType'], true), '0') ?: '0';\n\n                if ($listStart !== '1')\n                {\n                    if (\n                        isset($CurrentBlock)\n                        and $CurrentBlock['type'] === 'Paragraph'\n                        and ! isset($CurrentBlock['interrupted'])\n                    ) {\n                        return;\n                    }\n\n                    $Block['element']['attributes'] = array('start' => $listStart);\n                }\n            }\n\n            $Block['li'] = array(\n                'name' => 'li',\n                'handler' => array(\n                    'function' => 'li',\n                    'argument' => !empty($matches[3]) ? array($matches[3]) : array(),\n                    'destination' => 'elements'\n                )\n            );\n\n            $Block['element']['elements'] []= & $Block['li'];\n\n            return $Block;\n        }\n    }\n\n    protected function blockListContinue($Line, array $Block)\n    {\n        if (isset($Block['interrupted']) and empty($Block['li']['handler']['argument']))\n        {\n            return null;\n        }\n\n        $requiredIndent = ($Block['indent'] + strlen($Block['data']['marker']));\n\n        if ($Line['indent'] < $requiredIndent\n            and (\n                (\n                    $Block['data']['type'] === 'ol'\n                    and preg_match('/^[0-9]++'.$Block['data']['markerTypeRegex'].'(?:[ ]++(.*)|$)/', $Line['text'], $matches)\n                ) or (\n                    $Block['data']['type'] === 'ul'\n                    and preg_match('/^'.$Block['data']['markerTypeRegex'].'(?:[ ]++(.*)|$)/', $Line['text'], $matches)\n                )\n            )\n        ) {\n            if (isset($Block['interrupted']))\n            {\n                $Block['li']['handler']['argument'] []= '';\n\n                $Block['loose'] = true;\n\n                unset($Block['interrupted']);\n            }\n\n            unset($Block['li']);\n\n            $text = isset($matches[1]) ? $matches[1] : '';\n\n            $Block['indent'] = $Line['indent'];\n\n            $Block['li'] = array(\n                'name' => 'li',\n                'handler' => array(\n                    'function' => 'li',\n                    'argument' => array($text),\n                    'destination' => 'elements'\n                )\n            );\n\n            $Block['element']['elements'] []= & $Block['li'];\n\n            return $Block;\n        }\n        elseif ($Line['indent'] < $requiredIndent and $this->blockList($Line))\n        {\n            return null;\n        }\n\n        if ($Line['text'][0] === '[' and $this->blockReference($Line))\n        {\n            return $Block;\n        }\n\n        if ($Line['indent'] >= $requiredIndent)\n        {\n            if (isset($Block['interrupted']))\n            {\n                $Block['li']['handler']['argument'] []= '';\n\n                $Block['loose'] = true;\n\n                unset($Block['interrupted']);\n            }\n\n            $text = substr($Line['body'], $requiredIndent);\n\n            $Block['li']['handler']['argument'] []= $text;\n\n            return $Block;\n        }\n\n        if ( ! isset($Block['interrupted']))\n        {\n            $text = preg_replace('/^[ ]{0,'.$requiredIndent.'}+/', '', $Line['body']);\n\n            $Block['li']['handler']['argument'] []= $text;\n\n            return $Block;\n        }\n    }\n\n    protected function blockListComplete(array $Block)\n    {\n        if (isset($Block['loose']))\n        {\n            foreach ($Block['element']['elements'] as &$li)\n            {\n                if (end($li['handler']['argument']) !== '')\n                {\n                    $li['handler']['argument'] []= '';\n                }\n            }\n        }\n\n        return $Block;\n    }\n\n    #\n    # Quote\n\n    protected function blockQuote($Line)\n    {\n        if (preg_match('/^>[ ]?+(.*+)/', $Line['text'], $matches))\n        {\n            $Block = array(\n                'element' => array(\n                    'name' => 'blockquote',\n                    'handler' => array(\n                        'function' => 'linesElements',\n                        'argument' => (array) $matches[1],\n                        'destination' => 'elements',\n                    )\n                ),\n            );\n\n            return $Block;\n        }\n    }\n\n    protected function blockQuoteContinue($Line, array $Block)\n    {\n        if (isset($Block['interrupted']))\n        {\n            return;\n        }\n\n        if ($Line['text'][0] === '>' and preg_match('/^>[ ]?+(.*+)/', $Line['text'], $matches))\n        {\n            $Block['element']['handler']['argument'] []= $matches[1];\n\n            return $Block;\n        }\n\n        if ( ! isset($Block['interrupted']))\n        {\n            $Block['element']['handler']['argument'] []= $Line['text'];\n\n            return $Block;\n        }\n    }\n\n    #\n    # Rule\n\n    protected function blockRule($Line)\n    {\n        $marker = $Line['text'][0];\n\n        if (substr_count($Line['text'], $marker) >= 3 and chop($Line['text'], \" $marker\") === '')\n        {\n            $Block = array(\n                'element' => array(\n                    'name' => 'hr',\n                ),\n            );\n\n            return $Block;\n        }\n    }\n\n    #\n    # Setext\n\n    protected function blockSetextHeader($Line, ?array $Block = null)\n    {\n        if ( ! isset($Block) or $Block['type'] !== 'Paragraph' or isset($Block['interrupted']))\n        {\n            return;\n        }\n\n        if ($Line['indent'] < 4 and chop(chop($Line['text'], ' '), $Line['text'][0]) === '')\n        {\n            $Block['element']['name'] = $Line['text'][0] === '=' ? 'h1' : 'h2';\n\n            return $Block;\n        }\n    }\n\n    #\n    # Markup\n\n    protected function blockMarkup($Line)\n    {\n        if ($this->markupEscaped or $this->safeMode)\n        {\n            return;\n        }\n\n        if (preg_match('/^<[\\/]?+(\\w*)(?:[ ]*+'.$this->regexHtmlAttribute.')*+[ ]*+(\\/)?>/', $Line['text'], $matches))\n        {\n            $element = strtolower($matches[1]);\n\n            if (in_array($element, $this->textLevelElements))\n            {\n                return;\n            }\n\n            $Block = array(\n                'name' => $matches[1],\n                'element' => array(\n                    'rawHtml' => $Line['text'],\n                    'autobreak' => true,\n                ),\n            );\n\n            return $Block;\n        }\n    }\n\n    protected function blockMarkupContinue($Line, array $Block)\n    {\n        if (isset($Block['closed']) or isset($Block['interrupted']))\n        {\n            return;\n        }\n\n        $Block['element']['rawHtml'] .= \"\\n\" . $Line['body'];\n\n        return $Block;\n    }\n\n    #\n    # Reference\n\n    protected function blockReference($Line)\n    {\n        if (strpos($Line['text'], ']') !== false\n            and preg_match('/^\\[(.+?)\\]:[ ]*+<?(\\S+?)>?(?:[ ]+[\"\\'(](.+)[\"\\')])?[ ]*+$/', $Line['text'], $matches)\n        ) {\n            $id = strtolower($matches[1]);\n\n            $Data = array(\n                'url' => $matches[2],\n                'title' => isset($matches[3]) ? $matches[3] : null,\n            );\n\n            $this->DefinitionData['Reference'][$id] = $Data;\n\n            $Block = array(\n                'element' => array(),\n            );\n\n            return $Block;\n        }\n    }\n\n    #\n    # Table\n\n    protected function blockTable($Line, ?array $Block = null)\n    {\n        if ( ! isset($Block) or $Block['type'] !== 'Paragraph' or isset($Block['interrupted']))\n        {\n            return;\n        }\n\n        if (\n            strpos($Block['element']['handler']['argument'], '|') === false\n            and strpos($Line['text'], '|') === false\n            and strpos($Line['text'], ':') === false\n            or strpos($Block['element']['handler']['argument'], \"\\n\") !== false\n        ) {\n            return;\n        }\n\n        if (chop($Line['text'], ' -:|') !== '')\n        {\n            return;\n        }\n\n        $alignments = array();\n\n        $divider = $Line['text'];\n\n        $divider = trim($divider);\n        $divider = trim($divider, '|');\n\n        $dividerCells = explode('|', $divider);\n\n        foreach ($dividerCells as $dividerCell)\n        {\n            $dividerCell = trim($dividerCell);\n\n            if ($dividerCell === '')\n            {\n                return;\n            }\n\n            $alignment = null;\n\n            if ($dividerCell[0] === ':')\n            {\n                $alignment = 'left';\n            }\n\n            if (substr($dividerCell, - 1) === ':')\n            {\n                $alignment = $alignment === 'left' ? 'center' : 'right';\n            }\n\n            $alignments []= $alignment;\n        }\n\n        # ~\n\n        $HeaderElements = array();\n\n        $header = $Block['element']['handler']['argument'];\n\n        $header = trim($header);\n        $header = trim($header, '|');\n\n        $headerCells = explode('|', $header);\n\n        if (count($headerCells) !== count($alignments))\n        {\n            return;\n        }\n\n        foreach ($headerCells as $index => $headerCell)\n        {\n            $headerCell = trim($headerCell);\n\n            $HeaderElement = array(\n                'name' => 'th',\n                'handler' => array(\n                    'function' => 'lineElements',\n                    'argument' => $headerCell,\n                    'destination' => 'elements',\n                )\n            );\n\n            if (isset($alignments[$index]))\n            {\n                $alignment = $alignments[$index];\n\n                $HeaderElement['attributes'] = array(\n                    'style' => \"text-align: $alignment;\",\n                );\n            }\n\n            $HeaderElements []= $HeaderElement;\n        }\n\n        # ~\n\n        $Block = array(\n            'alignments' => $alignments,\n            'identified' => true,\n            'element' => array(\n                'name' => 'table',\n                'elements' => array(),\n            ),\n        );\n\n        $Block['element']['elements'] []= array(\n            'name' => 'thead',\n        );\n\n        $Block['element']['elements'] []= array(\n            'name' => 'tbody',\n            'elements' => array(),\n        );\n\n        $Block['element']['elements'][0]['elements'] []= array(\n            'name' => 'tr',\n            'elements' => $HeaderElements,\n        );\n\n        return $Block;\n    }\n\n    protected function blockTableContinue($Line, array $Block)\n    {\n        if (isset($Block['interrupted']))\n        {\n            return;\n        }\n\n        if (count($Block['alignments']) === 1 or $Line['text'][0] === '|' or strpos($Line['text'], '|'))\n        {\n            $Elements = array();\n\n            $row = $Line['text'];\n\n            $row = trim($row);\n            $row = trim($row, '|');\n\n            preg_match_all('/(?:(\\\\\\\\[|])|[^|`]|`[^`]++`|`)++/', $row, $matches);\n\n            $cells = array_slice($matches[0], 0, count($Block['alignments']));\n\n            foreach ($cells as $index => $cell)\n            {\n                $cell = trim($cell);\n\n                $Element = array(\n                    'name' => 'td',\n                    'handler' => array(\n                        'function' => 'lineElements',\n                        'argument' => $cell,\n                        'destination' => 'elements',\n                    )\n                );\n\n                if (isset($Block['alignments'][$index]))\n                {\n                    $Element['attributes'] = array(\n                        'style' => 'text-align: ' . $Block['alignments'][$index] . ';',\n                    );\n                }\n\n                $Elements []= $Element;\n            }\n\n            $Element = array(\n                'name' => 'tr',\n                'elements' => $Elements,\n            );\n\n            $Block['element']['elements'][1]['elements'] []= $Element;\n\n            return $Block;\n        }\n    }\n\n    #\n    # ~\n    #\n\n    protected function paragraph($Line)\n    {\n        return array(\n            'type' => 'Paragraph',\n            'element' => array(\n                'name' => 'p',\n                'handler' => array(\n                    'function' => 'lineElements',\n                    'argument' => $Line['text'],\n                    'destination' => 'elements',\n                ),\n            ),\n        );\n    }\n\n    protected function paragraphContinue($Line, array $Block)\n    {\n        if (isset($Block['interrupted']))\n        {\n            return;\n        }\n\n        $Block['element']['handler']['argument'] .= \"\\n\".$Line['text'];\n\n        return $Block;\n    }\n\n    #\n    # Inline Elements\n    #\n\n    protected $InlineTypes = array(\n        '!' => array('Image'),\n        '&' => array('SpecialCharacter'),\n        '*' => array('Emphasis'),\n        ':' => array('Url'),\n        '<' => array('UrlTag', 'EmailTag', 'Markup'),\n        '[' => array('Link'),\n        '_' => array('Emphasis'),\n        '`' => array('Code'),\n        '~' => array('Strikethrough'),\n        '\\\\' => array('EscapeSequence'),\n    );\n\n    # ~\n\n    protected $inlineMarkerList = '!*_&[:<`~\\\\';\n\n    #\n    # ~\n    #\n\n    public function line($text, $nonNestables = array())\n    {\n        return $this->elements($this->lineElements($text, $nonNestables));\n    }\n\n    protected function lineElements($text, $nonNestables = array())\n    {\n        # standardize line breaks\n        $text = str_replace(array(\"\\r\\n\", \"\\r\"), \"\\n\", $text);\n\n        $Elements = array();\n\n        $nonNestables = (empty($nonNestables)\n            ? array()\n            : array_combine($nonNestables, $nonNestables)\n        );\n\n        # $excerpt is based on the first occurrence of a marker\n\n        while ($excerpt = strpbrk($text, $this->inlineMarkerList))\n        {\n            $marker = $excerpt[0];\n\n            $markerPosition = strlen($text) - strlen($excerpt);\n\n            $Excerpt = array('text' => $excerpt, 'context' => $text);\n\n            foreach ($this->InlineTypes[$marker] as $inlineType)\n            {\n                # check to see if the current inline type is nestable in the current context\n\n                if (isset($nonNestables[$inlineType]))\n                {\n                    continue;\n                }\n\n                $Inline = $this->{\"inline$inlineType\"}($Excerpt);\n\n                if ( ! isset($Inline))\n                {\n                    continue;\n                }\n\n                # makes sure that the inline belongs to \"our\" marker\n\n                if (isset($Inline['position']) and $Inline['position'] > $markerPosition)\n                {\n                    continue;\n                }\n\n                # sets a default inline position\n\n                if ( ! isset($Inline['position']))\n                {\n                    $Inline['position'] = $markerPosition;\n                }\n\n                # cause the new element to 'inherit' our non nestables\n\n\n                $Inline['element']['nonNestables'] = isset($Inline['element']['nonNestables'])\n                    ? array_merge($Inline['element']['nonNestables'], $nonNestables)\n                    : $nonNestables\n                ;\n\n                # the text that comes before the inline\n                $unmarkedText = substr($text, 0, $Inline['position']);\n\n                # compile the unmarked text\n                $InlineText = $this->inlineText($unmarkedText);\n                $Elements[] = $InlineText['element'];\n\n                # compile the inline\n                $Elements[] = $this->extractElement($Inline);\n\n                # remove the examined text\n                $text = substr($text, $Inline['position'] + $Inline['extent']);\n\n                continue 2;\n            }\n\n            # the marker does not belong to an inline\n\n            $unmarkedText = substr($text, 0, $markerPosition + 1);\n\n            $InlineText = $this->inlineText($unmarkedText);\n            $Elements[] = $InlineText['element'];\n\n            $text = substr($text, $markerPosition + 1);\n        }\n\n        $InlineText = $this->inlineText($text);\n        $Elements[] = $InlineText['element'];\n\n        foreach ($Elements as &$Element)\n        {\n            if ( ! isset($Element['autobreak']))\n            {\n                $Element['autobreak'] = false;\n            }\n        }\n\n        return $Elements;\n    }\n\n    #\n    # ~\n    #\n\n    protected function inlineText($text)\n    {\n        $Inline = array(\n            'extent' => strlen($text),\n            'element' => array(),\n        );\n\n        $Inline['element']['elements'] = self::pregReplaceElements(\n            $this->breaksEnabled ? '/[ ]*+\\n/' : '/(?:[ ]*+\\\\\\\\|[ ]{2,}+)\\n/',\n            array(\n                array('name' => 'br'),\n                array('text' => \"\\n\"),\n            ),\n            $text\n        );\n\n        return $Inline;\n    }\n\n    protected function inlineCode($Excerpt)\n    {\n        $marker = $Excerpt['text'][0];\n\n        if (preg_match('/^(['.$marker.']++)[ ]*+(.+?)[ ]*+(?<!['.$marker.'])\\1(?!'.$marker.')/s', $Excerpt['text'], $matches))\n        {\n            $text = $matches[2];\n            $text = preg_replace('/[ ]*+\\n/', ' ', $text);\n\n            return array(\n                'extent' => strlen($matches[0]),\n                'element' => array(\n                    'name' => 'code',\n                    'text' => $text,\n                ),\n            );\n        }\n    }\n\n    protected function inlineEmailTag($Excerpt)\n    {\n        $hostnameLabel = '[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?';\n\n        $commonMarkEmail = '[a-zA-Z0-9.!#$%&\\'*+\\/=?^_`{|}~-]++@'\n            . $hostnameLabel . '(?:\\.' . $hostnameLabel . ')*';\n\n        if (strpos($Excerpt['text'], '>') !== false\n            and preg_match(\"/^<((mailto:)?$commonMarkEmail)>/i\", $Excerpt['text'], $matches)\n        ){\n            $url = $matches[1];\n\n            if ( ! isset($matches[2]))\n            {\n                $url = \"mailto:$url\";\n            }\n\n            return array(\n                'extent' => strlen($matches[0]),\n                'element' => array(\n                    'name' => 'a',\n                    'text' => $matches[1],\n                    'attributes' => array(\n                        'href' => $url,\n                    ),\n                ),\n            );\n        }\n    }\n\n    protected function inlineEmphasis($Excerpt)\n    {\n        if ( ! isset($Excerpt['text'][1]))\n        {\n            return;\n        }\n\n        $marker = $Excerpt['text'][0];\n\n        if ($Excerpt['text'][1] === $marker and preg_match($this->StrongRegex[$marker], $Excerpt['text'], $matches))\n        {\n            $emphasis = 'strong';\n        }\n        elseif (preg_match($this->EmRegex[$marker], $Excerpt['text'], $matches))\n        {\n            $emphasis = 'em';\n        }\n        else\n        {\n            return;\n        }\n\n        return array(\n            'extent' => strlen($matches[0]),\n            'element' => array(\n                'name' => $emphasis,\n                'handler' => array(\n                    'function' => 'lineElements',\n                    'argument' => $matches[1],\n                    'destination' => 'elements',\n                )\n            ),\n        );\n    }\n\n    protected function inlineEscapeSequence($Excerpt)\n    {\n        if (isset($Excerpt['text'][1]) and in_array($Excerpt['text'][1], $this->specialCharacters))\n        {\n            return array(\n                'element' => array('rawHtml' => $Excerpt['text'][1]),\n                'extent' => 2,\n            );\n        }\n    }\n\n    protected function inlineImage($Excerpt)\n    {\n        if ( ! isset($Excerpt['text'][1]) or $Excerpt['text'][1] !== '[')\n        {\n            return;\n        }\n\n        $Excerpt['text']= substr($Excerpt['text'], 1);\n\n        $Link = $this->inlineLink($Excerpt);\n\n        if ($Link === null)\n        {\n            return;\n        }\n\n        $Inline = array(\n            'extent' => $Link['extent'] + 1,\n            'element' => array(\n                'name' => 'img',\n                'attributes' => array(\n                    'src' => $Link['element']['attributes']['href'],\n                    'alt' => $Link['element']['handler']['argument'],\n                ),\n                'autobreak' => true,\n            ),\n        );\n\n        $Inline['element']['attributes'] += $Link['element']['attributes'];\n\n        unset($Inline['element']['attributes']['href']);\n\n        return $Inline;\n    }\n\n    protected function inlineLink($Excerpt)\n    {\n        $Element = array(\n            'name' => 'a',\n            'handler' => array(\n                'function' => 'lineElements',\n                'argument' => null,\n                'destination' => 'elements',\n            ),\n            'nonNestables' => array('Url', 'Link'),\n            'attributes' => array(\n                'href' => null,\n                'title' => null,\n            ),\n        );\n\n        $extent = 0;\n\n        $remainder = $Excerpt['text'];\n\n        if (preg_match('/\\[((?:[^][]++|(?R))*+)\\]/', $remainder, $matches))\n        {\n            $Element['handler']['argument'] = $matches[1];\n\n            $extent += strlen($matches[0]);\n\n            $remainder = substr($remainder, $extent);\n        }\n        else\n        {\n            return;\n        }\n\n        if (preg_match('/^[(]\\s*+((?:[^ ()]++|[(][^ )]+[)])++)(?:[ ]+(\"[^\"]*+\"|\\'[^\\']*+\\'))?\\s*+[)]/', $remainder, $matches))\n        {\n            $Element['attributes']['href'] = $matches[1];\n\n            if (isset($matches[2]))\n            {\n                $Element['attributes']['title'] = substr($matches[2], 1, - 1);\n            }\n\n            $extent += strlen($matches[0]);\n        }\n        else\n        {\n            if (preg_match('/^\\s*\\[(.*?)\\]/', $remainder, $matches))\n            {\n                $definition = strlen($matches[1]) ? $matches[1] : $Element['handler']['argument'];\n                $definition = strtolower($definition);\n\n                $extent += strlen($matches[0]);\n            }\n            else\n            {\n                $definition = strtolower($Element['handler']['argument']);\n            }\n\n            if ( ! isset($this->DefinitionData['Reference'][$definition]))\n            {\n                return;\n            }\n\n            $Definition = $this->DefinitionData['Reference'][$definition];\n\n            $Element['attributes']['href'] = $Definition['url'];\n            $Element['attributes']['title'] = $Definition['title'];\n        }\n\n        return array(\n            'extent' => $extent,\n            'element' => $Element,\n        );\n    }\n\n    protected function inlineMarkup($Excerpt)\n    {\n        if ($this->markupEscaped or $this->safeMode or strpos($Excerpt['text'], '>') === false)\n        {\n            return;\n        }\n\n        if ($Excerpt['text'][1] === '/' and preg_match('/^<\\/\\w[\\w-]*+[ ]*+>/s', $Excerpt['text'], $matches))\n        {\n            return array(\n                'element' => array('rawHtml' => $matches[0]),\n                'extent' => strlen($matches[0]),\n            );\n        }\n\n        if ($Excerpt['text'][1] === '!' and preg_match('/^<!---?[^>-](?:-?+[^-])*-->/s', $Excerpt['text'], $matches))\n        {\n            return array(\n                'element' => array('rawHtml' => $matches[0]),\n                'extent' => strlen($matches[0]),\n            );\n        }\n\n        if ($Excerpt['text'][1] !== ' ' and preg_match('/^<\\w[\\w-]*+(?:[ ]*+'.$this->regexHtmlAttribute.')*+[ ]*+\\/?>/s', $Excerpt['text'], $matches))\n        {\n            return array(\n                'element' => array('rawHtml' => $matches[0]),\n                'extent' => strlen($matches[0]),\n            );\n        }\n    }\n\n    protected function inlineSpecialCharacter($Excerpt)\n    {\n        if (substr($Excerpt['text'], 1, 1) !== ' ' and strpos($Excerpt['text'], ';') !== false\n            and preg_match('/^&(#?+[0-9a-zA-Z]++);/', $Excerpt['text'], $matches)\n        ) {\n            return array(\n                'element' => array('rawHtml' => '&' . $matches[1] . ';'),\n                'extent' => strlen($matches[0]),\n            );\n        }\n    }\n\n    protected function inlineStrikethrough($Excerpt)\n    {\n        if ( ! isset($Excerpt['text'][1]))\n        {\n            return;\n        }\n\n        if ($Excerpt['text'][1] === '~' and preg_match('/^~~(?=\\S)(.+?)(?<=\\S)~~/', $Excerpt['text'], $matches))\n        {\n            return array(\n                'extent' => strlen($matches[0]),\n                'element' => array(\n                    'name' => 'del',\n                    'handler' => array(\n                        'function' => 'lineElements',\n                        'argument' => $matches[1],\n                        'destination' => 'elements',\n                    )\n                ),\n            );\n        }\n    }\n\n    protected function inlineUrl($Excerpt)\n    {\n        if ($this->urlsLinked !== true or ! isset($Excerpt['text'][2]) or $Excerpt['text'][2] !== '/')\n        {\n            return;\n        }\n\n        if (strpos($Excerpt['context'], 'http') !== false\n            and preg_match('/\\bhttps?+:[\\/]{2}[^\\s<]+\\b\\/*+/ui', $Excerpt['context'], $matches, PREG_OFFSET_CAPTURE)\n        ) {\n            $url = $matches[0][0];\n\n            $Inline = array(\n                'extent' => strlen($matches[0][0]),\n                'position' => $matches[0][1],\n                'element' => array(\n                    'name' => 'a',\n                    'text' => $url,\n                    'attributes' => array(\n                        'href' => $url,\n                    ),\n                ),\n            );\n\n            return $Inline;\n        }\n    }\n\n    protected function inlineUrlTag($Excerpt)\n    {\n        if (strpos($Excerpt['text'], '>') !== false and preg_match('/^<(\\w++:\\/{2}[^ >]++)>/i', $Excerpt['text'], $matches))\n        {\n            $url = $matches[1];\n\n            return array(\n                'extent' => strlen($matches[0]),\n                'element' => array(\n                    'name' => 'a',\n                    'text' => $url,\n                    'attributes' => array(\n                        'href' => $url,\n                    ),\n                ),\n            );\n        }\n    }\n\n    # ~\n\n    protected function unmarkedText($text)\n    {\n        $Inline = $this->inlineText($text);\n        return $this->element($Inline['element']);\n    }\n\n    #\n    # Handlers\n    #\n\n    protected function handle(array $Element)\n    {\n        if (isset($Element['handler']))\n        {\n            if (!isset($Element['nonNestables']))\n            {\n                $Element['nonNestables'] = array();\n            }\n\n            if (is_string($Element['handler']))\n            {\n                $function = $Element['handler'];\n                $argument = $Element['text'];\n                unset($Element['text']);\n                $destination = 'rawHtml';\n            }\n            else\n            {\n                $function = $Element['handler']['function'];\n                $argument = $Element['handler']['argument'];\n                $destination = $Element['handler']['destination'];\n            }\n\n            $Element[$destination] = $this->{$function}($argument, $Element['nonNestables']);\n\n            if ($destination === 'handler')\n            {\n                $Element = $this->handle($Element);\n            }\n\n            unset($Element['handler']);\n        }\n\n        return $Element;\n    }\n\n    protected function handleElementRecursive(array $Element)\n    {\n        return $this->elementApplyRecursive(array($this, 'handle'), $Element);\n    }\n\n    protected function handleElementsRecursive(array $Elements)\n    {\n        return $this->elementsApplyRecursive(array($this, 'handle'), $Elements);\n    }\n\n    protected function elementApplyRecursive($closure, array $Element)\n    {\n        $Element = call_user_func($closure, $Element);\n\n        if (isset($Element['elements']))\n        {\n            $Element['elements'] = $this->elementsApplyRecursive($closure, $Element['elements']);\n        }\n        elseif (isset($Element['element']))\n        {\n            $Element['element'] = $this->elementApplyRecursive($closure, $Element['element']);\n        }\n\n        return $Element;\n    }\n\n    protected function elementApplyRecursiveDepthFirst($closure, array $Element)\n    {\n        if (isset($Element['elements']))\n        {\n            $Element['elements'] = $this->elementsApplyRecursiveDepthFirst($closure, $Element['elements']);\n        }\n        elseif (isset($Element['element']))\n        {\n            $Element['element'] = $this->elementsApplyRecursiveDepthFirst($closure, $Element['element']);\n        }\n\n        $Element = call_user_func($closure, $Element);\n\n        return $Element;\n    }\n\n    protected function elementsApplyRecursive($closure, array $Elements)\n    {\n        foreach ($Elements as &$Element)\n        {\n            $Element = $this->elementApplyRecursive($closure, $Element);\n        }\n\n        return $Elements;\n    }\n\n    protected function elementsApplyRecursiveDepthFirst($closure, array $Elements)\n    {\n        foreach ($Elements as &$Element)\n        {\n            $Element = $this->elementApplyRecursiveDepthFirst($closure, $Element);\n        }\n\n        return $Elements;\n    }\n\n    protected function element(array $Element)\n    {\n        if ($this->safeMode)\n        {\n            $Element = $this->sanitiseElement($Element);\n        }\n\n        # identity map if element has no handler\n        $Element = $this->handle($Element);\n\n        $hasName = isset($Element['name']);\n\n        $markup = '';\n\n        if ($hasName)\n        {\n            $markup .= '<' . $Element['name'];\n\n            if (isset($Element['attributes']))\n            {\n                foreach ($Element['attributes'] as $name => $value)\n                {\n                    if ($value === null)\n                    {\n                        continue;\n                    }\n\n                    $markup .= \" $name=\\\"\".self::escape($value).'\"';\n                }\n            }\n        }\n\n        $permitRawHtml = false;\n\n        if (isset($Element['text']))\n        {\n            $text = $Element['text'];\n        }\n        // very strongly consider an alternative if you're writing an\n        // extension\n        elseif (isset($Element['rawHtml']))\n        {\n            $text = $Element['rawHtml'];\n\n            $allowRawHtmlInSafeMode = isset($Element['allowRawHtmlInSafeMode']) && $Element['allowRawHtmlInSafeMode'];\n            $permitRawHtml = !$this->safeMode || $allowRawHtmlInSafeMode;\n        }\n\n        $hasContent = isset($text) || isset($Element['element']) || isset($Element['elements']);\n\n        if ($hasContent)\n        {\n            $markup .= $hasName ? '>' : '';\n\n            if (isset($Element['elements']))\n            {\n                $markup .= $this->elements($Element['elements']);\n            }\n            elseif (isset($Element['element']))\n            {\n                $markup .= $this->element($Element['element']);\n            }\n            else\n            {\n                if (!$permitRawHtml)\n                {\n                    $markup .= self::escape($text, true);\n                }\n                else\n                {\n                    $markup .= $text;\n                }\n            }\n\n            $markup .= $hasName ? '</' . $Element['name'] . '>' : '';\n        }\n        elseif ($hasName)\n        {\n            $markup .= ' />';\n        }\n\n        return $markup;\n    }\n\n    protected function elements(array $Elements)\n    {\n        $markup = '';\n\n        $autoBreak = true;\n\n        foreach ($Elements as $Element)\n        {\n            if (empty($Element))\n            {\n                continue;\n            }\n\n            $autoBreakNext = (isset($Element['autobreak'])\n                ? $Element['autobreak'] : isset($Element['name'])\n            );\n            // (autobreak === false) covers both sides of an element\n            $autoBreak = !$autoBreak ? $autoBreak : $autoBreakNext;\n\n            $markup .= ($autoBreak ? \"\\n\" : '') . $this->element($Element);\n            $autoBreak = $autoBreakNext;\n        }\n\n        $markup .= $autoBreak ? \"\\n\" : '';\n\n        return $markup;\n    }\n\n    # ~\n\n    protected function li($lines)\n    {\n        $Elements = $this->linesElements($lines);\n\n        if ( ! in_array('', $lines)\n            and isset($Elements[0]) and isset($Elements[0]['name'])\n            and $Elements[0]['name'] === 'p'\n        ) {\n            unset($Elements[0]['name']);\n        }\n\n        return $Elements;\n    }\n\n    #\n    # AST Convenience\n    #\n\n    /**\n     * Replace occurrences $regexp with $Elements in $text. Return an array of\n     * elements representing the replacement.\n     */\n    protected static function pregReplaceElements($regexp, $Elements, $text)\n    {\n        $newElements = array();\n\n        while (preg_match($regexp, $text, $matches, PREG_OFFSET_CAPTURE))\n        {\n            $offset = $matches[0][1];\n            $before = substr($text, 0, $offset);\n            $after = substr($text, $offset + strlen($matches[0][0]));\n\n            $newElements[] = array('text' => $before);\n\n            foreach ($Elements as $Element)\n            {\n                $newElements[] = $Element;\n            }\n\n            $text = $after;\n        }\n\n        $newElements[] = array('text' => $text);\n\n        return $newElements;\n    }\n\n    #\n    # Deprecated Methods\n    #\n\n    /**\n     * @deprecated use text() instead\n     */\n    function parse($text)\n    {\n        $markup = $this->text($text);\n\n        return $markup;\n    }\n\n    protected function sanitiseElement(array $Element)\n    {\n        static $goodAttribute = '/^[a-zA-Z0-9][a-zA-Z0-9-_]*+$/';\n        static $safeUrlNameToAtt  = array(\n            'a'   => 'href',\n            'img' => 'src',\n        );\n\n        if ( ! isset($Element['name']))\n        {\n            unset($Element['attributes']);\n            return $Element;\n        }\n\n        if (isset($safeUrlNameToAtt[$Element['name']]))\n        {\n            $Element = $this->filterUnsafeUrlInAttribute($Element, $safeUrlNameToAtt[$Element['name']]);\n        }\n\n        if ( ! empty($Element['attributes']))\n        {\n            foreach ($Element['attributes'] as $att => $val)\n            {\n                # filter out badly parsed attribute\n                if ( ! preg_match($goodAttribute, $att))\n                {\n                    unset($Element['attributes'][$att]);\n                }\n                # dump onevent attribute\n                elseif (self::striAtStart($att, 'on'))\n                {\n                    unset($Element['attributes'][$att]);\n                }\n            }\n        }\n\n        return $Element;\n    }\n\n    protected function filterUnsafeUrlInAttribute(array $Element, $attribute)\n    {\n        foreach ($this->safeLinksWhitelist as $scheme)\n        {\n            if (self::striAtStart($Element['attributes'][$attribute], $scheme))\n            {\n                return $Element;\n            }\n        }\n\n        $Element['attributes'][$attribute] = str_replace(':', '%3A', $Element['attributes'][$attribute]);\n\n        return $Element;\n    }\n\n    #\n    # Static Methods\n    #\n\n    protected static function escape($text, $allowQuotes = false)\n    {\n        return htmlspecialchars($text, $allowQuotes ? ENT_NOQUOTES : ENT_QUOTES, 'UTF-8');\n    }\n\n    protected static function striAtStart($string, $needle)\n    {\n        $len = strlen($needle);\n\n        if ($len > strlen($string))\n        {\n            return false;\n        }\n        else\n        {\n            return strtolower(substr($string, 0, $len)) === strtolower($needle);\n        }\n    }\n\n    static function instance($name = 'default')\n    {\n        if (isset(self::$instances[$name]))\n        {\n            return self::$instances[$name];\n        }\n\n        $instance = new static();\n\n        self::$instances[$name] = $instance;\n\n        return $instance;\n    }\n\n    private static $instances = array();\n\n    #\n    # Fields\n    #\n\n    protected $DefinitionData;\n\n    #\n    # Read-Only\n\n    protected $specialCharacters = array(\n        '\\\\', '`', '*', '_', '{', '}', '[', ']', '(', ')', '>', '#', '+', '-', '.', '!', '|', '~'\n    );\n\n    protected $StrongRegex = array(\n        '*' => '/^[*]{2}((?:\\\\\\\\\\*|[^*]|[*][^*]*+[*])+?)[*]{2}(?![*])/s',\n        '_' => '/^__((?:\\\\\\\\_|[^_]|_[^_]*+_)+?)__(?!_)/us',\n    );\n\n    protected $EmRegex = array(\n        '*' => '/^[*]((?:\\\\\\\\\\*|[^*]|[*][*][^*]+?[*][*])+?)[*](?![*])/s',\n        '_' => '/^_((?:\\\\\\\\_|[^_]|__[^_]*__)+?)_(?!_)\\b/us',\n    );\n\n    protected $regexHtmlAttribute = '[a-zA-Z_:][\\w:.-]*+(?:\\s*+=\\s*+(?:[^\"\\'=<>`\\s]+|\"[^\"]*+\"|\\'[^\\']*+\\'))?+';\n\n    protected $voidElements = array(\n        'area', 'base', 'br', 'col', 'command', 'embed', 'hr', 'img', 'input', 'link', 'meta', 'param', 'source',\n    );\n\n    protected $textLevelElements = array(\n        'a', 'br', 'bdo', 'abbr', 'blink', 'nextid', 'acronym', 'basefont',\n        'b', 'em', 'big', 'cite', 'small', 'spacer', 'listing',\n        'i', 'rp', 'del', 'code',          'strike', 'marquee',\n        'q', 'rt', 'ins', 'font',          'strong',\n        's', 'tt', 'kbd', 'mark',\n        'u', 'xm', 'sub', 'nobr',\n                   'sup', 'ruby',\n                   'var', 'span',\n                   'wbr', 'time',\n    );\n}\n"
  },
  {
    "path": "bl-kernel/security.class.php",
    "content": "<?php defined('BLUDIT') or die('Bludit Badass CMS.');\n\nclass Security extends dbJSON\n{\n\tprotected $dbFields = array(\n\t\t'minutesBlocked'=>5,\n\t\t'numberFailuresAllowed'=>10,\n\t\t'blackList'=>array()\n\t);\n\n\tfunction __construct()\n\t{\n\t\tparent::__construct(DB_SECURITY);\n\t}\n\n\t// ====================================================\n\t// TOKEN FOR CSRF\n\t// ====================================================\n\n\t// Generate and save the token in Session\n\tpublic function generateTokenCSRF()\n\t{\n\t\t$token = bin2hex( openssl_random_pseudo_bytes(64) );\n\t\tSession::set('tokenCSRF', $token);\n\t\tLog::set(__METHOD__.LOG_SEP.'New Token CSRF ['.$token.']');\n\t}\n\n\t// Validate the token\n\tpublic function validateTokenCSRF($token)\n\t{\n\t\t$sessionToken = $this->getTokenCSRF();\n\t\treturn ( !empty($sessionToken) && ($sessionToken===$token) );\n\t}\n\n\t// Returns the token\n\tpublic function getTokenCSRF()\n\t{\n\t\treturn Session::get('tokenCSRF');\n\t}\n\n\t// ====================================================\n\t// BRUTE FORCE PROTECTION\n\t// ====================================================\n\n\tpublic function isBlocked()\n\t{\n\t\t$ip = $this->getUserIp();\n\n\t\tif (!isset($this->db['blackList'][$ip])) {\n\t\t\treturn false;\n\t\t}\n\n\t\t$currentTime = time();\n\t\t$userBlack = $this->db['blackList'][$ip];\n\t\t$numberFailures = $userBlack['numberFailures'];\n\t\t$lastFailure = $userBlack['lastFailure'];\n\n\t\t// Check if the IP is expired, then is not blocked\n\t\tif ($currentTime > $lastFailure + ($this->db['minutesBlocked']*60)) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// The IP has more failures than number of failures, then the IP is blocked\n\t\tif ($numberFailures >= $this->db['numberFailuresAllowed']) {\n\t\t\tLog::set(__METHOD__.LOG_SEP.'IP Blocked:'.$ip);\n\t\t\treturn true;\n\t\t}\n\n\t\t// Otherwise the IP is not blocked\n\t\treturn false;\n\t}\n\n\t// Add or update the current client IP on the blacklist\n\tpublic function addToBlacklist()\n\t{\n\t\t$ip = $this->getUserIp();\n\t\t$currentTime = time();\n\t\t$numberFailures = 1;\n\n\t\tif (isset($this->db['blackList'][$ip])) {\n\t\t\t$userBlack = $this->db['blackList'][$ip];\n\t\t\t$lastFailure = $userBlack['lastFailure'];\n\n\t\t\t// Check if the IP is expired, then renew the number of failures\n\t\t\tif($currentTime <= $lastFailure + ($this->db['minutesBlocked']*60)) {\n\t\t\t\t$numberFailures = $userBlack['numberFailures'];\n\t\t\t\t$numberFailures = $numberFailures + 1;\n\t\t\t}\n\t\t}\n\n\t\t$this->db['blackList'][$ip] = array('lastFailure'=>$currentTime, 'numberFailures'=>$numberFailures);\n\t\tLog::set(__METHOD__.LOG_SEP.'Blacklist, IP:'.$ip.', Number of failures:'.$numberFailures);\n\t\treturn $this->save();\n\t}\n\n\tpublic function getNumberFailures($ip=null)\n\t{\n\t\tif(empty($ip)) {\n\t\t\t$ip = $this->getUserIp();\n\t\t}\n\n\t\tif(isset($this->db['blackList'][$ip])) {\n\t\t\t$userBlack = $this->db['blackList'][$ip];\n\t\t\treturn $userBlack['numberFailures'];\n\t\t}\n\t}\n\n\t// Single source of truth for the client IP across all of Bludit (core + plugins).\n\t// Reads REMOTE_ADDR only: proxy headers (X-Forwarded-For, HTTP_CLIENT_IP, etc.)\n\t// are client-controlled and forgeable. Deployments behind a reverse proxy\n\t// (Cloudflare, nginx, Apache) should rewrite REMOTE_ADDR at the web server\n\t// (mod_remoteip, real_ip_module, etc.), not in PHP.\n\t// Returns '' when REMOTE_ADDR is missing or not a valid IP, so callers can\n\t// safely use the result as an array key or hash input without null checks.\n\tpublic function getUserIp()\n\t{\n\t\t$ip = isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : '';\n\t\tif (filter_var($ip, FILTER_VALIDATE_IP)) {\n\t\t\treturn $ip;\n\t\t}\n\t\treturn '';\n\t}\n}\n"
  },
  {
    "path": "bl-kernel/site.class.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\nclass Site extends dbJSON\n{\n\tpublic $dbFields = array(\n\t\t'title' =>\t\t'I am Guybrush Threepwood, mighty developer',\n\t\t'slogan' =>\t\t'',\n\t\t'description' =>\t\t'',\n\t\t'footer' =>\t\t'I wanna be a pirate!',\n\t\t'itemsPerPage' =>\t6,\n\t\t'language' =>\t\t'en',\n\t\t'locale' =>\t\t'en, en_US, en_AU, en_CA, en_GB, en_IE, en_NZ',\n\t\t'timezone' =>\t\t'America/Argentina/Buenos_Aires',\n\t\t'theme' =>\t\t'alternative',\n\t\t'adminTheme' =>\t\t'booty',\n\t\t'homepage' =>\t\t'',\n\t\t'pageNotFound' =>\t'',\n\t\t'uriPage' =>\t\t'/',\n\t\t'uriTag' =>\t\t'/tag/',\n\t\t'uriCategory' =>\t\t'/category/',\n\t\t'uriBlog' =>\t\t'/blog/',\n\t\t'url' =>\t\t\t'',\n\t\t'emailFrom' =>\t\t'',\n\t\t'dateFormat' =>\t\t'F j, Y',\n\t\t'timeFormat' =>\t\t'g:i a',\n\t\t'currentBuild' =>\t0,\n\t\t'twitter' =>\t\t'',\n\t\t'facebook' =>\t\t'',\n\t\t'codepen' =>\t\t'',\n\t\t'instagram' =>\t\t'',\n\t\t'github' =>\t\t'',\n\t\t'gitlab' =>\t\t'',\n\t\t'linkedin' =>\t\t'',\n\t\t'xing' =>\t\t'',\n\t\t'telegram' => '',\n\t\t'mastodon' =>\t\t'',\n\t\t'dribbble' =>\t\t'',\n\t\t'vk' =>\t\t\t'',\n\t\t'youtube' =>\t\t'',\n\t\t'bluesky' =>\t\t'',\n\t\t'orderBy' =>\t\t'date', // date or position\n\t\t'defaultContentStatus' => 'published', // published or draft\n\t\t'extremeFriendly' =>\ttrue,\n\t\t'autosaveInterval' =>\t2, // minutes\n\t\t'titleFormatHomepage' =>\t'{{site-slogan}} | {{site-title}}',\n\t\t'titleFormatPages' =>\t'{{page-title}} | {{site-title}}',\n\t\t'titleFormatCategory' => '{{category-name}} | {{site-title}}',\n\t\t'titleFormatTag' => \t'{{tag-name}} | {{site-title}}',\n\t\t'imageRestrict' =>\ttrue,\n\t\t'imageRelativeToAbsolute' => false,\n\t\t'thumbnailEnable' =>\ttrue,\n\t\t'thumbnailWidth' => \t400, // px\n\t\t'thumbnailHeight' => \t400, // px\n\t\t'thumbnailQuality' => \t100,\n\t\t'logo' =>\t\t'',\n\t\t'markdownParser' =>\ttrue,\n\t\t'customFields' =>\t'{}'\n\t);\n\n\tfunction __construct()\n\t{\n\t\tparent::__construct(DB_SITE);\n\n\t\t// Set timezone\n\t\t$this->setTimezone($this->timezone());\n\n\t\t// Set locale\n\t\t$this->setLocale($this->locale());\n\t}\n\n\t// Returns an array with site configuration.\n\tfunction get()\n\t{\n\t\treturn $this->db;\n\t}\n\n\tpublic function set($args)\n\t{\n\t\t// Check values on args or set default values\n\t\tforeach ($this->dbFields as $field => $value) {\n\t\t\tif (isset($args[$field])) {\n\t\t\t\t$finalValue = Sanitize::html($args[$field]);\n\t\t\t\tif ($finalValue === 'false') {\n\t\t\t\t\t$finalValue = false;\n\t\t\t\t} elseif ($finalValue === 'true') {\n\t\t\t\t\t$finalValue = true;\n\t\t\t\t}\n\t\t\t\tsettype($finalValue, gettype($value));\n\t\t\t\t$this->db[$field] = $finalValue;\n\t\t\t}\n\t\t}\n\t\treturn $this->save();\n\t}\n\n\t// Returns an array with the URL filters\n\t// Also, you can get a particular filter\n\tpublic function uriFilters($filter = '')\n\t{\n\t\t$filters['admin'] = '/' . ADMIN_URI_FILTER . '/';\n\t\t$filters['page'] = $this->getField('uriPage');\n\t\t$filters['tag'] = $this->getField('uriTag');\n\t\t$filters['category'] = $this->getField('uriCategory');\n\n\t\tif ($this->getField('uriBlog')) {\n\t\t\t$filters['blog'] = $this->getField('uriBlog');\n\t\t}\n\n\t\tif (empty($filter)) {\n\t\t\treturn $filters;\n\t\t}\n\n\t\tif (isset($filters[$filter])) {\n\t\t\treturn $filters[$filter];\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t// DEPRECATED in v3.0, use Theme::rssUrl()\n\tpublic function rss()\n\t{\n\t\treturn DOMAIN_BASE . 'rss.xml';\n\t}\n\n\t// DEPRECATED in v3.0, use Theme::sitemapUrl()\n\tpublic function sitemap()\n\t{\n\t\treturn DOMAIN_BASE . 'sitemap.xml';\n\t}\n\n\tpublic function thumbnailEnable()\n\t{\n\t\treturn $this->getField('thumbnailEnable');\n\t}\n\n\tpublic function thumbnailWidth()\n\t{\n\t\treturn $this->getField('thumbnailWidth');\n\t}\n\n\tpublic function thumbnailHeight()\n\t{\n\t\treturn $this->getField('thumbnailHeight');\n\t}\n\n\tpublic function thumbnailQuality()\n\t{\n\t\treturn $this->getField('thumbnailQuality');\n\t}\n\n\tpublic function autosaveInterval()\n\t{\n\t\treturn $this->getField('autosaveInterval');\n\t}\n\n\tpublic function extremeFriendly()\n\t{\n\t\treturn $this->getField('extremeFriendly');\n\t}\n\n\tpublic function markdownParser()\n\t{\n\t\treturn $this->getField('markdownParser');\n\t}\n\n\tpublic function twitter()\n\t{\n\t\treturn $this->getField('twitter');\n\t}\n\n\tpublic function facebook()\n\t{\n\t\treturn $this->getField('facebook');\n\t}\n\n\tpublic function codepen()\n\t{\n\t\treturn $this->getField('codepen');\n\t}\n\n\tpublic function instagram()\n\t{\n\t\treturn $this->getField('instagram');\n\t}\n\n\tpublic function github()\n\t{\n\t\treturn $this->getField('github');\n\t}\n\n\tpublic function gitlab()\n\t{\n\t\treturn $this->getField('gitlab');\n\t}\n\n\tpublic function linkedin()\n\t{\n\t\treturn $this->getField('linkedin');\n\t}\n\n\tpublic function xing()\n\t{\n\t\treturn $this->getField('xing');\n\t}\n\n\tpublic function telegram()\n\t{\n\t\treturn $this->getField('telegram');\n\t}\n\n\tpublic function mastodon()\n\t{\n\t\treturn $this->getField('mastodon');\n\t}\n\n\tpublic function dribbble()\n\t{\n\t\treturn $this->getField('dribbble');\n\t}\n\n\tpublic function vk()\n\t{\n\t\treturn $this->getField('vk');\n\t}\n\n\tpublic function youtube()\n\t{\n\t\treturn $this->getField('youtube');\n\t}\n\n\tpublic function bluesky()\n\t{\n\t\treturn $this->getField('bluesky');\n\t}\n\n\tpublic function orderBy()\n\t{\n\t\treturn $this->getField('orderBy');\n\t}\n\n\tpublic function defaultContentStatus()\n\t{\n\t\treturn $this->getField('defaultContentStatus');\n\t}\n\n\tpublic function imageRestrict()\n\t{\n\t\treturn $this->getField('imageRestrict');\n\t}\n\n\tpublic function imageRelativeToAbsolute()\n\t{\n\t\treturn $this->getField('imageRelativeToAbsolute');\n\t}\n\n\t// Returns the site title\n\tpublic function title()\n\t{\n\t\treturn $this->getField('title');\n\t}\n\n\t// Returns the site slogan\n\tpublic function slogan()\n\t{\n\t\treturn $this->getField('slogan');\n\t}\n\n\t// Returns the site description\n\tpublic function description()\n\t{\n\t\treturn $this->getField('description');\n\t}\n\n\tpublic function emailFrom()\n\t{\n\t\treturn $this->getField('emailFrom');\n\t}\n\n\tpublic function dateFormat()\n\t{\n\t\treturn $this->getField('dateFormat');\n\t}\n\n\tpublic function timeFormat()\n\t{\n\t\treturn $this->getField('timeFormat');\n\t}\n\n\t// Returns the site theme name\n\tpublic function theme()\n\t{\n\t\treturn $this->getField('theme');\n\t}\n\n\t// Returns the admin theme name\n\tpublic function adminTheme()\n\t{\n\t\treturn $this->getField('adminTheme');\n\t}\n\n\t// Returns the footer text\n\tpublic function footer()\n\t{\n\t\treturn $this->getField('footer');\n\t}\n\n\tpublic function titleFormatPages()\n\t{\n\t\treturn $this->getField('titleFormatPages');\n\t}\n\n\tpublic function titleFormatHomepage()\n\t{\n\t\treturn $this->getField('titleFormatHomepage');\n\t}\n\n\tpublic function titleFormatCategory()\n\t{\n\t\treturn $this->getField('titleFormatCategory');\n\t}\n\n\tpublic function titleFormatTag()\n\t{\n\t\treturn $this->getField('titleFormatTag');\n\t}\n\n\t// Returns the absolute URL of the site logo\n\t// If you set $absolute=false returns only the filename\n\tpublic function logo($absolute = true)\n\t{\n\t\t$logo = $this->getField('logo');\n\t\tif ($absolute && $logo) {\n\t\t\treturn DOMAIN_UPLOADS . $logo;\n\t\t}\n\t\treturn $logo;\n\t}\n\n\t// Returns the full domain and base url\n\t// For example, https://www.domain.com/bludit\n\tpublic function url()\n\t{\n\t\treturn $this->getField('url');\n\t}\n\n\t// Returns the protocol and the domain, without the base url\n\t// For example, http://www.domain.com\n\tpublic function domain()\n\t{\n\t\t// If the URL field is not set, tries to detect the domain.\n\t\tif (Text::isEmpty($this->url())) {\n\t\t\tif (!empty($_SERVER['HTTPS'])) {\n\t\t\t\t$protocol = 'https://';\n\t\t\t} else {\n\t\t\t\t$protocol = 'http://';\n\t\t\t}\n\n\t\t\t$domain = trim($_SERVER['HTTP_HOST'], '/');\n\t\t\treturn $protocol . $domain;\n\t\t}\n\n\t\t// Parse the domain from the field url (Settings->Advanced)\n\t\t$parse = parse_url($this->url());\n\t\t$domain = rtrim($parse['host'], '/');\n\t\t$port = !empty($parse['port']) ? ':' . $parse['port'] : '';\n\t\t$scheme = !empty($parse['scheme']) ? $parse['scheme'] . '://' : 'http://';\n\n\t\treturn $scheme . $domain . $port;\n\t}\n\n\t// Returns the timezone.\n\tpublic function timezone()\n\t{\n\t\treturn $this->getField('timezone');\n\t}\n\n\tpublic function urlPath()\n\t{\n\t\t$url = $this->getField('url');\n\t\treturn parse_url($url, PHP_URL_PATH);\n\t}\n\n\tpublic function isHTTPS()\n\t{\n\t\t$url = $this->getField('url');\n\t\treturn parse_url($url, PHP_URL_SCHEME) === 'https';\n\t}\n\n\t// Returns the current build / version of Bludit.\n\tpublic function currentBuild()\n\t{\n\t\treturn $this->getField('currentBuild');\n\t}\n\n\t// Returns the amount of pages per page\n\tpublic function itemsPerPage()\n\t{\n\t\t$value = $this->getField('itemsPerPage');\n\t\tif (($value > 0) or ($value == -1)) {\n\t\t\treturn $value;\n\t\t}\n\t\treturn 6;\n\t}\n\n\t// Returns the current language.\n\tpublic function language()\n\t{\n\t\treturn $this->getField('language');\n\t}\n\n\t// Returns the sort version of the site's language\n\tpublic function languageShortVersion()\n\t{\n\t\t$current = $this->language();\n\t\t$explode = explode('_', $current);\n\t\treturn $explode[0];\n\t}\n\n\t// Returns the current locale.\n\tpublic function locale()\n\t{\n\t\treturn $this->getField('locale');\n\t}\n\n\t// Returns the current homepage, FALSE if not defined homepage\n\tpublic function homepage()\n\t{\n\t\t$homepage = $this->getField('homepage');\n\t\tif (empty($homepage)) {\n\t\t\treturn false;\n\t\t}\n\t\treturn $homepage;\n\t}\n\n\t// Returns the page key for the page not found\n\tpublic function pageNotFound()\n\t{\n\t\t$pageNotFound = $this->getField('pageNotFound');\n\t\treturn $pageNotFound;\n\t}\n\n\t// Set the locale, returns TRUE is success, FALSE otherwise\n\tpublic function setLocale($locale)\n\t{\n\t\t$localeList = explode(',', $locale);\n\t\tforeach ($localeList as $locale) {\n\t\t\t$locale = trim($locale);\n\t\t\tif (setlocale(LC_ALL, $locale . '.UTF-8') !== false) {\n\t\t\t\treturn true;\n\t\t\t} elseif (setlocale(LC_ALL, $locale) !== false) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\t// Not was possible to set a locale, using default locale\n\t\treturn false;\n\t}\n\n\t// Set the timezone.\n\tpublic function setTimezone($timezone)\n\t{\n\t\treturn date_default_timezone_set($timezone);\n\t}\n\n\t// Returns the custom fields as array\n\tpublic function customFields()\n\t{\n\t\t$customFields = Sanitize::htmlDecode($this->getField('customFields'));\n\t\treturn json_decode($customFields, true);\n\t}\n}\n"
  },
  {
    "path": "bl-kernel/syslog.class.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\nclass Syslog extends dbJSON {\n\n\tprotected $dbFields = array(\n\t\t'date'=>\t\tarray('inFile'=>false, 'value'=>''),\n\t\t'dictionaryKey'=>\tarray('inFile'=>false, 'value'=>''),\n\t\t'notes'=>\t\tarray('inFile'=>false, 'value'=>''),\n\t\t'username'=>\t\tarray('inFile'=>false, 'value'=>''),\n\t\t'idExecution'=>\t\tarray('inFile'=>false, 'value'=>''),\n\t\t'method'=>\t\tarray('inFile'=>false, 'value'=>'')\n\t);\n\n\tfunction __construct()\n\t{\n\t\tparent::__construct(DB_SYSLOG);\n\t}\n\n\t// Returns TRUE if the ID of execution exists, FALSE otherwise\n\tpublic function exists($idExecution)\n\t{\n\t\tforeach ($this->db as $field) {\n\t\t\tif ($field['idExecution']==$idExecution) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic function get($idExecution)\n\t{\n\t\tforeach ($this->db as $field) {\n\t\t\tif ($field['idExecution']==$idExecution) {\n\t\t\t\treturn $field;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic function add($args)\n\t{\n\t\tglobal $L;\n\n\t\t$data = array();\n\t\t$data['date'] = Date::current(DB_DATE_FORMAT);\n\t\t$data['dictionaryKey'] = $args['dictionaryKey'];\n\t\t$data['notes'] = Sanitize::html($args['notes']);\n\t\t// Unique ID for each execution, defined in boot/init.php\n\t\t$data['idExecution'] = $GLOBALS['ID_EXECUTION'];\n\t\t$data['method'] = $_SERVER['REQUEST_METHOD'];\n\n\t\t// Username\n\t\t$data['username'] = Session::get('username');\n\t\tif (Text::isEmpty($data['username'])) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Insert at beginning of the database\n\t\tarray_unshift($this->db, $data);\n\n\t\t// Keep just NOTIFICATIONS_AMOUNT notifications\n\t\t$this->db = array_slice($this->db, 0, NOTIFICATIONS_AMOUNT);\n\n\t\t// Save\n\t\treturn $this->save();\n\t}\n}"
  },
  {
    "path": "bl-kernel/tag.class.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\nclass Tag {\n\n\tprotected $vars;\n\n\tfunction __construct($key)\n\t{\n\t\tglobal $tags;\n\t\tif (isset($tags->db[$key])) {\n\t\t\t$this->vars['name'] \t\t= $tags->db[$key]['name'];\n\t\t\t$this->vars['key'] \t\t= $key;\n\t\t\t$this->vars['permalink'] \t= DOMAIN_TAGS . $key;\n\t\t\t$this->vars['list'] \t\t= $tags->db[$key]['list'];\n\t\t} else {\n\t\t\t$errorMessage = 'Tag not found in database by key ['.$key.']';\n\t\t\tLog::set(__METHOD__.LOG_SEP.$errorMessage);\n\t\t\tthrow new Exception($errorMessage);\n\t\t}\n\t}\n\n\tpublic function getValue($field)\n\t{\n\t\tif (isset($this->vars[$field])) {\n\t\t\treturn $this->vars[$field];\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic function key()\n\t{\n\t\treturn $this->getValue('key');\n\t}\n\n\tpublic function name()\n\t{\n\t\treturn $this->getValue('name');\n\t}\n\n\tpublic function permalink()\n\t{\n\t\treturn $this->getValue('permalink');\n\t}\n\n\t// Returns an array with the pages keys linked to the tag\n\tpublic function pages()\n\t{\n\t\treturn $this->getValue('list');\n\t}\n\n\t// Returns an array in json format with all the data of the tag\n\tpublic function json($returnsArray=false)\n\t{\n\t\t$tmp['key'] \t\t= $this->key();\n\t\t$tmp['name'] \t\t= $this->name();\n\t\t$tmp['permalink'] \t= $this->permalink();\n\t\t$tmp['pages'] \t\t= $this->pages();\n\n\t\tif ($returnsArray) {\n\t\t\treturn $tmp;\n\t\t}\n\n\t\treturn json_encode($tmp);\n\t}\n}"
  },
  {
    "path": "bl-kernel/tags.class.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\nclass Tags extends dbList {\n\n\tfunction __construct()\n\t{\n\t\tparent::__construct(DB_TAGS);\n\t}\n\n\tfunction numberOfPages($key)\n\t{\n\t\treturn $this->countItems($key);\n\t}\n\n\tpublic function reindex()\n\t{\n\t\tglobal $pages;\n\t\t$db = $pages->getDB($onlyKeys=false);\n\t\t$tagsIndex = array();\n\t\tforeach ($db as $pageKey=>$pageFields) {\n\t\t\tif (in_array($pageFields['type'], $GLOBALS['DB_TAGS_TYPES'])) {\n\t\t\t\t$tags = $pageFields['tags'];\n\t\t\t\tforeach ($tags as $tagKey=>$tagName) {\n\t\t\t\t\tif (isset($tagsIndex[$tagKey])) {\n\t\t\t\t\t\tarray_push($tagsIndex[$tagKey]['list'], $pageKey);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$tagsIndex[$tagKey]['name'] = $tagName;\n\t\t\t\t\t\t$tagsIndex[$tagKey]['list'] = array($pageKey);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t$this->db = $tagsIndex;\n\t\t$this->sortAlphanumeric();\n\t\treturn $this->save();\n\t}\n\n}"
  },
  {
    "path": "bl-kernel/url.class.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\nclass Url\n{\n\tprotected $uri;\n\tprotected $uriStrlen;\n\tprotected $whereAmI;\n\tprotected $slug;\n\tprotected $filters; // Filters for the URI\n\tprotected $notFound;\n\tprotected $parameters;\n\tprotected $activeFilter;\n\tprotected $httpCode;\n\tprotected $httpMessage;\n\n\tfunction __construct()\n\t{\n\t\t// Decodes any %## encoding in the given string. Plus symbols ('+') are decoded to a space character.\n\t\t$decode = urldecode($_SERVER['REQUEST_URI']);\n\n\t\t// Remove parameters GET, I don't use parse_url because has problem with utf-8\n\t\t$explode = explode('?', $decode);\n\t\t$this->uri = $explode[0];\n\t\t$this->parameters = $_GET;\n\t\t$this->uriStrlen = Text::length($this->uri);\n\t\t$this->whereAmI = 'home';\n\t\t$this->notFound = false;\n\t\t$this->slug = '';\n\t\t$this->filters = array();\n\t\t$this->activeFilter = '';\n\t\t$this->httpCode = 200;\n\t\t$this->httpMessage = 'OK';\n\t}\n\n\t// Filters change for different languages\n\t// Ex (Spanish): Array('post'=>'/publicacion/', 'tag'=>'/etiqueta/', ....)\n\t// Ex (English): Array('post'=>'/post/', 'tag'=>'/tag/', ....)\n\tpublic function checkFilters($filters)\n\t{\n\t\t// Put the \"admin\" filter first\n\t\t$adminFilter['admin'] = $filters['admin'];\n\t\tunset($filters['admin']);\n\t\tuasort($filters, array($this, 'sortByLength'));\n\t\t$this->filters = $adminFilter + $filters;\n\n\t\tforeach ($this->filters as $filterName=>$filterURI) {\n\t\t\t// $filterName = 'category'\n\t\t\t// $filterURI = '/category/'\n\t\t\t// $filterURIwoSlash = '/category'\n\t\t\t$filterURIwoSlash = rtrim($filterURI, '/');\n\n\t\t\t// $filterFull = '/base_url/category/'\n\t\t\t$filterFull = ltrim($filterURI, '/');\n\t\t\t$filterFull = HTML_PATH_ROOT.$filterFull;\n\t\t\t$filterFullLength = Text::length($filterFull);\n\n\t\t\t$subString = mb_substr($this->uri, 0, $filterFullLength, CHARSET);\n\n\t\t\t// Check coincidence without the last slash at the end, this case is not found\n\t\t\tif ($subString==$filterURIwoSlash) {\n\t\t\t\t$this->setNotFound();\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// Check coincidence with complete filterURI\n\t\t\tif ($subString==$filterFull) {\n\t\t\t\t$this->slug = mb_substr($this->uri, $filterFullLength);\n\t\t\t\t$this->setWhereAmI($filterName);\n\t\t\t\t$this->activeFilter = $filterURI;\n\n\t\t\t\tif (empty($this->slug) && ($filterName=='blog')) {\n\t\t\t\t\t$this->setWhereAmI('blog');\n\t\t\t\t} elseif (!empty($this->slug) && ($filterName=='blog')) {\n\t\t\t\t\t$this->setNotFound();\n\t\t\t\t\treturn false;\n\t\t\t\t} elseif (empty($this->slug) && ($filterURI=='/')) {\n\t\t\t\t\t$this->setWhereAmI('home');\n\t\t\t\t} elseif (!empty($this->slug) && ($filterURI=='/')) {\n\t\t\t\t\t$this->setWhereAmI('page');\n\t\t\t\t} elseif ($filterName=='admin') {\n\t\t\t\t\t$this->slug = ltrim($this->slug, '/');\n\t\t\t\t}\n\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\t$this->setNotFound();\n\t\treturn false;\n\t}\n\n\tpublic function slug()\n\t{\n\t\treturn $this->slug;\n\t}\n\n\tpublic function setSlug($slug)\n\t{\n\t\t$this->slug = $slug;\n\t}\n\n\tpublic function activeFilter()\n\t{\n\t\treturn $this->activeFilter;\n\t}\n\n\tpublic function explodeSlug($delimiter=\"/\")\n\t{\n\t\treturn explode($delimiter, $this->slug);\n\t}\n\n\tpublic function uri()\n\t{\n\t\treturn $this->uri;\n\t}\n\n\t// Return the filter of type (e.g. tag => /tag/, category => /category/, etc.)\n\tpublic function filters($type, $trim=true)\n\t{\n\t\t$filter = $this->filters[$type];\n\t\tif ($trim) {\n\t\t\t$filter = trim($filter, '/');\n\t\t}\n\t\treturn $filter;\n\t}\n\n\t// Returns where is the user, home, pages, categories, tags..\n\tpublic function whereAmI()\n\t{\n\t\treturn $this->whereAmI;\n\t}\n\n\tpublic function setWhereAmI($where)\n\t{\n\t\t$GLOBALS['WHERE_AM_I'] = $where;\n\t\t$this->whereAmI = $where;\n\t}\n\n\tpublic function notFound()\n\t{\n\t\treturn $this->notFound;\n\t}\n\n\tpublic function pageNumber()\n\t{\n\t\tif (isset($this->parameters['page'])) {\n\t\t\treturn (int)$this->parameters['page'];\n\t\t}\n\t\treturn 1;\n\t}\n\n\tpublic function parameter($field)\n\t{\n\t\tif (isset($this->parameters[$field])) {\n\t\t\treturn $this->parameters[$field];\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic function setNotFound()\n\t{\n\t\t$this->setWhereAmI('page');\n\t\t$this->notFound = true;\n\t\t$this->httpCode = 404;\n\t\t$this->httpMessage = 'Not Found';\n\t}\n\n\tpublic function httpCode()\n\t{\n\t\treturn $this->httpCode;\n\t}\n\n\tpublic function setHttpCode($code = 200)\n\t{\n\t\t$this->httpCode = $code;\n\t}\n\n\tpublic function httpMessage()\n\t{\n\t\treturn $this->httpMessage;\n\t}\n\n\tpublic function setHttpMessage($msg = 'OK')\n\t{\n\t\t$this->httpMessage = $msg;\n\t}\n\n\tprivate function sortByLength($a, $b)\n\t{\n\t\treturn strlen($b)-strlen($a);\n\t}\n\n}\n"
  },
  {
    "path": "bl-kernel/user.class.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\nclass User\n{\n\tprotected $vars;\n\n\tfunction __construct($username)\n\t{\n\t\tglobal $users;\n\n\t\t$this->vars['username'] = $username;\n\n\t\tif ($username === false) {\n\t\t\t$row = $users->getDefaultFields();\n\t\t} else {\n\t\t\tif (Text::isEmpty($username) || !$users->exists($username)) {\n\t\t\t\t$errorMessage = 'User not found in the database by username [' . $username . ']';\n\t\t\t\tLog::set(__METHOD__ . LOG_SEP . $errorMessage);\n\t\t\t\tthrow new Exception($errorMessage);\n\t\t\t}\n\t\t\t$row = $users->getUserDB($username);\n\t\t}\n\n\t\tforeach ($row as $field => $value) {\n\t\t\t$this->setField($field, $value);\n\t\t}\n\t}\n\n\tpublic function getValue($field)\n\t{\n\t\tif (isset($this->vars[$field])) {\n\t\t\treturn $this->vars[$field];\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic function setField($field, $value)\n\t{\n\t\t$this->vars[$field] = $value;\n\t\treturn true;\n\t}\n\n\tpublic function getDB()\n\t{\n\t\treturn $this->vars;\n\t}\n\n\tpublic function username()\n\t{\n\t\treturn $this->getValue('username');\n\t}\n\n\tpublic function description()\n\t{\n\t\treturn $this->getValue('description');\n\t}\n\n\tpublic function nickname()\n\t{\n\t\treturn $this->getValue('nickname');\n\t}\n\n\tpublic function firstName()\n\t{\n\t\treturn $this->getValue('firstName');\n\t}\n\n\tpublic function lastName()\n\t{\n\t\treturn $this->getValue('lastName');\n\t}\n\n\tpublic function tokenAuth()\n\t{\n\t\treturn $this->getValue('tokenAuth');\n\t}\n\n\tpublic function role()\n\t{\n\t\treturn $this->getValue('role');\n\t}\n\n\tpublic function password()\n\t{\n\t\treturn $this->getValue('password');\n\t}\n\n\tpublic function enabled()\n\t{\n\t\t$password = $this->getValue('password');\n\t\treturn $password != '!';\n\t}\n\n\tpublic function salt()\n\t{\n\t\treturn $this->getValue('salt');\n\t}\n\n\tpublic function email()\n\t{\n\t\treturn $this->getValue('email');\n\t}\n\n\tpublic function registered()\n\t{\n\t\treturn $this->getValue('registered');\n\t}\n\n\tpublic function twitter()\n\t{\n\t\treturn $this->getValue('twitter');\n\t}\n\n\tpublic function facebook()\n\t{\n\t\treturn $this->getValue('facebook');\n\t}\n\n\tpublic function codepen()\n\t{\n\t\treturn $this->getValue('codepen');\n\t}\n\n\tpublic function instagram()\n\t{\n\t\treturn $this->getValue('instagram');\n\t}\n\n\tpublic function github()\n\t{\n\t\treturn $this->getValue('github');\n\t}\n\n\tpublic function gitlab()\n\t{\n\t\treturn $this->getValue('gitlab');\n\t}\n\n\tpublic function linkedin()\n\t{\n\t\treturn $this->getValue('linkedin');\n\t}\n\n\tpublic function xing()\n\t{\n\t\treturn $this->getValue('xing');\n\t}\n\n\tpublic function telegram()\n\t{\n\t\treturn $this->getValue('telegram');\n\t}\n\n\tpublic function mastodon()\n\t{\n\t\treturn $this->getValue('mastodon');\n\t}\n\n\tpublic function vk()\n\t{\n\t\treturn $this->getValue('vk');\n\t}\n\n\tpublic function youtube()\n\t{\n\t\treturn $this->getValue('youtube');\n\t}\n\n\tpublic function bluesky()\n\t{\n\t\treturn $this->getValue('bluesky');\n\t}\n\n\tpublic function profilePicture()\n\t{\n\t\t// Sanitize username for filename to prevent issues with special characters\n\t\t$username = $this->getValue('username');\n\t\t$sanitizedUsername = Text::removeSpecialCharacters($username, '-');\n\t\t$sanitizedUsername = Text::removeQuotes($sanitizedUsername);\n\t\t$sanitizedUsername = Text::removeSpaces($sanitizedUsername, '-');\n\t\t\n\t\t$filename = $sanitizedUsername . '.png';\n\t\tif (!file_exists(PATH_UPLOADS_PROFILES . $filename)) {\n\t\t\treturn false;\n\t\t}\n\t\treturn DOMAIN_UPLOADS_PROFILES . $filename;\n\t}\n\n\tpublic function json($returnsArray = false)\n\t{\n\t\t$tmp['username'] \t= $this->username();\n\t\t$tmp['firstName'] \t= $this->firstName();\n\t\t$tmp['lastName'] \t= $this->lastName();\n\t\t$tmp['nickname'] \t= $this->nickname();\n\t\t$tmp['description'] \t= $this->description();\n\t\t$tmp['twitter'] \t= $this->twitter();\n\t\t$tmp['facebook'] \t= $this->facebook();\n\t\t$tmp['codepen'] \t= $this->codepen();\n\t\t$tmp['instagram'] \t= $this->instagram();\n\t\t$tmp['github'] \t\t= $this->github();\n\t\t$tmp['gitlab'] \t\t= $this->gitlab();\n\t\t$tmp['linkedin'] \t= $this->linkedin();\n\t\t$tmp['xing'] \t\t= $this->xing();\n\t\t$tmp['telegram'] \t\t= $this->telegram();\n\t\t$tmp['mastodon']\t= $this->mastodon();\n\t\t$tmp['vk']\t\t= $this->vk();\n\t\t$tmp['youtube'] \t= $this->youtube();\n\t\t$tmp['bluesky'] \t= $this->bluesky();\n\t\t$tmp['profilePicture']\t= $this->profilePicture();\n\n\t\tif ($returnsArray) {\n\t\t\treturn $tmp;\n\t\t}\n\n\t\treturn json_encode($tmp);\n\t}\n}\n"
  },
  {
    "path": "bl-kernel/users.class.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\nclass Users extends dbJSON {\n\n\tprotected $dbFields = array(\n\t\t'firstName'=>'',\n\t\t'lastName'=>'',\n\t\t'nickname'=>'',\n\t\t'description'=>'',\n\t\t'role'=>'author', // admin, editor, author\n\t\t'password'=>'',\n\t\t'salt'=>'!Pink Floyd!Welcome to the machine!',\n\t\t'email'=>'',\n\t\t'registered'=>'1985-03-15 10:00',\n\t\t'tokenRemember'=>'',\n\t\t'tokenAuth'=>'',\n\t\t'tokenAuthTTL'=>'2009-03-15 14:00',\n\t\t'twitter'=>'',\n\t\t'facebook'=>'',\n\t\t'codepen'=>'',\n\t\t'instagram'=>'',\n\t\t'github'=>'',\n\t\t'gitlab'=>'',\n\t\t'linkedin'=>'',\n\t\t'mastodon'=>'',\n\t\t'vk'=>'',\n\t\t'youtube'=>'',\n\t\t'bluesky'=>''\n\t);\n\n\tfunction __construct()\n\t{\n\t\tparent::__construct(DB_USERS);\n\t}\n\n\tpublic function getDefaultFields()\n\t{\n\t\treturn $this->dbFields;\n\t}\n\n\t// Return an array with the database of the user, FALSE otherwise\n\tpublic function getUserDB($username)\n\t{\n\t\tif ($this->exists($username)) {\n\t\t\treturn $this->db[$username];\n\t\t}\n\t\treturn false;\n\t}\n\n\t// Return TRUE if the user exists, FALSE otherwise\n\tpublic function exists($username)\n\t{\n\t\treturn isset($this->db[$username]);\n\t}\n\n\t// Disable the user\n\tpublic function disableUser($username)\n\t{\n\t\t$this->db[$username]['password'] = '!';\n\t\treturn $this->save();\n\t}\n\n\t// Add a new user\n\tpublic function add($args)\n\t{\n\t\t// The username is store as key and not as field\n\t\t$username = $args['username'];\n\n\t\t// The password is hashed, the password doesn't need to be sanitized in the next step\n\t\t$password = $args['password'];\n\n\t\t$row = array();\n\t\tforeach ($this->dbFields as $field=>$value) {\n\t\t\tif (isset($args[$field])) {\n\t\t\t\t$finalValue = $args[$field];\n\t\t\t\t// Remove HTML and PHP tags\n\t\t\t\t$finalValue = Sanitize::removeTags($finalValue);\n\t\t\t\t// Sanitize if will be stored on database\n\t\t\t\t$finalValue = Sanitize::html($finalValue);\n\t\t\t} else {\n\t\t\t\t// Default value for the field if not defined\n\t\t\t\t$finalValue = $value;\n\t\t\t}\n\t\t\tsettype($finalValue, gettype($value));\n\t\t\t$row[$field] = $finalValue;\n\t\t}\n\n\t\t$row['registered'] = Date::current(DB_DATE_FORMAT);\n\t\t$row['salt'] = $this->generateSalt();\n\t\t$row['password'] = $this->generatePasswordHash($password, $row['salt']);\n\t\t$row['tokenAuth'] = $this->generateAuthToken();\n\n\t\t// Save the database\n\t\t$this->db[$username] = $row;\n\t\treturn $this->save();\n\t}\n\n\t// Edit a user\n\tpublic function set($args)\n\t{\n\t\t// The username is store as key and not as field\n\t\t$username = $args['username'];\n\n\t\t// Current database of the user\n\t\t$row = $this->db[$username];\n\t\tforeach ($this->dbFields as $field=>$value) {\n\t\t\tif ($field!=='password') {\n\t\t\t\tif (isset($args[$field])) {\n\t\t\t\t\t$finalValue = $args[$field];\n\t\t\t\t\t// Remove HTML and PHP tags\n\t\t\t\t\t$finalValue = Sanitize::removeTags($finalValue);\n\t\t\t\t\t// Sanitize if will be stored on database\n\t\t\t\t\t$finalValue = Sanitize::html($finalValue);\n\t\t\t\t} else {\n\t\t\t\t\t// Default value is the current one\n\t\t\t\t\t$finalValue = $row[$field];\n\t\t\t\t}\n\t\t\t\tsettype($finalValue, gettype($value));\n\t\t\t\t$row[$field] = $finalValue;\n\t\t\t}\n\t\t}\n\n\t\t// Set a new password\n\t\tif (!empty($args['password'])) {\n\t\t\t$row['salt'] = $this->generateSalt();\n\t\t\t$row['password'] = $this->generatePasswordHash($args['password'], $row['salt']);\n\t\t\t$row['tokenAuth'] = $this->generateAuthToken();\n\t\t}\n\n\t\t// Save the database\n\t\t$this->db[$username] = $row;\n\t\treturn $this->save();\n\t}\n\n\t// Delete a user\n\tpublic function delete($username)\n\t{\n\t\tunset($this->db[$username]);\n\t\treturn $this->save();\n\t}\n\n\tpublic function generateAuthToken()\n\t{\n\t\treturn bin2hex( openssl_random_pseudo_bytes(64) );\n\t}\n\n\tpublic function generateRememberToken()\n\t{\n\t\treturn $this->generateAuthToken();\n\t}\n\n\tpublic function generateSalt()\n\t{\n\t\treturn Text::randomText(SALT_LENGTH);\n\t}\n\n\tpublic function generatePasswordHash($password, $salt)\n\t{\n\t\treturn sha1($password.$salt);\n\t}\n\n\tpublic function setRememberToken($username, $token)\n\t{\n\t\t$args['username']\t= $username;\n\t\t$args['tokenRemember']\t= $token;\n\t\treturn $this->set($args);\n\t}\n\n\t// Change user password\n\t// args => array( username, password )\n\tpublic function setPassword($args)\n\t{\n\t\treturn $this->set($args);\n\t}\n\n\t// Return the username associated to an email, FALSE otherwise\n\tpublic function getByEmail($email)\n\t{\n\t\tforeach ($this->db as $username=>$values) {\n\t\t\tif ($values['email']===$email) {\n\t\t\t\treturn $username;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\t// Returns the username with the authentication token assigned, FALSE otherwise\n\tpublic function getByAuthToken($token)\n\t{\n\t\tforeach ($this->db as $username=>$fields) {\n\t\t\tif ($fields['tokenAuth']===$token) {\n\t\t\t\treturn $username;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\t// Returns the username with the remember token assigned, FALSE otherwise\n\tpublic function getByRememberToken($token)\n\t{\n\t\tforeach ($this->db as $username=>$fields) {\n\t\t\tif (!empty($fields['tokenRemember'])) {\n\t\t\t\tif ($fields['tokenRemember']===$token) {\n\t\t\t\t\treturn $username;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\t// This function clean all tokens for Remember me\n\t// This function is used when some hacker try to use an invalid remember token\n\tpublic function invalidateAllRememberTokens()\n\t{\n\t\tforeach ($this->db as $username=>$values) {\n\t\t\t$this->db[$username]['tokenRemember'] = '';\n\t\t}\n\t\treturn $this->save();\n\t}\n\n\tpublic function keys()\n\t{\n\t\treturn array_keys($this->db);\n\t}\n}\n"
  },
  {
    "path": "bl-kernel/vendors/bootstrap-icons/bootstrap-icons.css",
    "content": "@font-face {\n  font-family: \"bootstrap-icons\";\n  src: url(\"./fonts/bootstrap-icons.woff2?8bd4575acf83c7696dc7a14a966660a3\") format(\"woff2\"),\nurl(\"./fonts/bootstrap-icons.woff?8bd4575acf83c7696dc7a14a966660a3\") format(\"woff\");\n}\n\n[class^=\"bi-\"]::before,\n[class*=\" bi-\"]::before {\n  display: inline-block;\n  font-family: bootstrap-icons !important;\n  font-style: normal;\n  font-weight: normal !important;\n  font-variant: normal;\n  text-transform: none;\n  line-height: 1;\n  vertical-align: -.125em;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n}\n\n.bi-alarm-fill::before { content: \"\\f101\"; }\n.bi-alarm::before { content: \"\\f102\"; }\n.bi-align-bottom::before { content: \"\\f103\"; }\n.bi-align-center::before { content: \"\\f104\"; }\n.bi-align-end::before { content: \"\\f105\"; }\n.bi-align-middle::before { content: \"\\f106\"; }\n.bi-align-start::before { content: \"\\f107\"; }\n.bi-align-top::before { content: \"\\f108\"; }\n.bi-alt::before { content: \"\\f109\"; }\n.bi-app-indicator::before { content: \"\\f10a\"; }\n.bi-app::before { content: \"\\f10b\"; }\n.bi-archive-fill::before { content: \"\\f10c\"; }\n.bi-archive::before { content: \"\\f10d\"; }\n.bi-arrow-90deg-down::before { content: \"\\f10e\"; }\n.bi-arrow-90deg-left::before { content: \"\\f10f\"; }\n.bi-arrow-90deg-right::before { content: \"\\f110\"; }\n.bi-arrow-90deg-up::before { content: \"\\f111\"; }\n.bi-arrow-bar-down::before { content: \"\\f112\"; }\n.bi-arrow-bar-left::before { content: \"\\f113\"; }\n.bi-arrow-bar-right::before { content: \"\\f114\"; }\n.bi-arrow-bar-up::before { content: \"\\f115\"; }\n.bi-arrow-clockwise::before { content: \"\\f116\"; }\n.bi-arrow-counterclockwise::before { content: \"\\f117\"; }\n.bi-arrow-down-circle-fill::before { content: \"\\f118\"; }\n.bi-arrow-down-circle::before { content: \"\\f119\"; }\n.bi-arrow-down-left-circle-fill::before { content: \"\\f11a\"; }\n.bi-arrow-down-left-circle::before { content: \"\\f11b\"; }\n.bi-arrow-down-left-square-fill::before { content: \"\\f11c\"; }\n.bi-arrow-down-left-square::before { content: \"\\f11d\"; }\n.bi-arrow-down-left::before { content: \"\\f11e\"; }\n.bi-arrow-down-right-circle-fill::before { content: \"\\f11f\"; }\n.bi-arrow-down-right-circle::before { content: \"\\f120\"; }\n.bi-arrow-down-right-square-fill::before { content: \"\\f121\"; }\n.bi-arrow-down-right-square::before { content: \"\\f122\"; }\n.bi-arrow-down-right::before { content: \"\\f123\"; }\n.bi-arrow-down-short::before { content: \"\\f124\"; }\n.bi-arrow-down-square-fill::before { content: \"\\f125\"; }\n.bi-arrow-down-square::before { content: \"\\f126\"; }\n.bi-arrow-down-up::before { content: \"\\f127\"; }\n.bi-arrow-down::before { content: \"\\f128\"; }\n.bi-arrow-left-circle-fill::before { content: \"\\f129\"; }\n.bi-arrow-left-circle::before { content: \"\\f12a\"; }\n.bi-arrow-left-right::before { content: \"\\f12b\"; }\n.bi-arrow-left-short::before { content: \"\\f12c\"; }\n.bi-arrow-left-square-fill::before { content: \"\\f12d\"; }\n.bi-arrow-left-square::before { content: \"\\f12e\"; }\n.bi-arrow-left::before { content: \"\\f12f\"; }\n.bi-arrow-repeat::before { content: \"\\f130\"; }\n.bi-arrow-return-left::before { content: \"\\f131\"; }\n.bi-arrow-return-right::before { content: \"\\f132\"; }\n.bi-arrow-right-circle-fill::before { content: \"\\f133\"; }\n.bi-arrow-right-circle::before { content: \"\\f134\"; }\n.bi-arrow-right-short::before { content: \"\\f135\"; }\n.bi-arrow-right-square-fill::before { content: \"\\f136\"; }\n.bi-arrow-right-square::before { content: \"\\f137\"; }\n.bi-arrow-right::before { content: \"\\f138\"; }\n.bi-arrow-up-circle-fill::before { content: \"\\f139\"; }\n.bi-arrow-up-circle::before { content: \"\\f13a\"; }\n.bi-arrow-up-left-circle-fill::before { content: \"\\f13b\"; }\n.bi-arrow-up-left-circle::before { content: \"\\f13c\"; }\n.bi-arrow-up-left-square-fill::before { content: \"\\f13d\"; }\n.bi-arrow-up-left-square::before { content: \"\\f13e\"; }\n.bi-arrow-up-left::before { content: \"\\f13f\"; }\n.bi-arrow-up-right-circle-fill::before { content: \"\\f140\"; }\n.bi-arrow-up-right-circle::before { content: \"\\f141\"; }\n.bi-arrow-up-right-square-fill::before { content: \"\\f142\"; }\n.bi-arrow-up-right-square::before { content: \"\\f143\"; }\n.bi-arrow-up-right::before { content: \"\\f144\"; }\n.bi-arrow-up-short::before { content: \"\\f145\"; }\n.bi-arrow-up-square-fill::before { content: \"\\f146\"; }\n.bi-arrow-up-square::before { content: \"\\f147\"; }\n.bi-arrow-up::before { content: \"\\f148\"; }\n.bi-arrows-angle-contract::before { content: \"\\f149\"; }\n.bi-arrows-angle-expand::before { content: \"\\f14a\"; }\n.bi-arrows-collapse::before { content: \"\\f14b\"; }\n.bi-arrows-expand::before { content: \"\\f14c\"; }\n.bi-arrows-fullscreen::before { content: \"\\f14d\"; }\n.bi-arrows-move::before { content: \"\\f14e\"; }\n.bi-aspect-ratio-fill::before { content: \"\\f14f\"; }\n.bi-aspect-ratio::before { content: \"\\f150\"; }\n.bi-asterisk::before { content: \"\\f151\"; }\n.bi-at::before { content: \"\\f152\"; }\n.bi-award-fill::before { content: \"\\f153\"; }\n.bi-award::before { content: \"\\f154\"; }\n.bi-back::before { content: \"\\f155\"; }\n.bi-backspace-fill::before { content: \"\\f156\"; }\n.bi-backspace-reverse-fill::before { content: \"\\f157\"; }\n.bi-backspace-reverse::before { content: \"\\f158\"; }\n.bi-backspace::before { content: \"\\f159\"; }\n.bi-badge-3d-fill::before { content: \"\\f15a\"; }\n.bi-badge-3d::before { content: \"\\f15b\"; }\n.bi-badge-4k-fill::before { content: \"\\f15c\"; }\n.bi-badge-4k::before { content: \"\\f15d\"; }\n.bi-badge-8k-fill::before { content: \"\\f15e\"; }\n.bi-badge-8k::before { content: \"\\f15f\"; }\n.bi-badge-ad-fill::before { content: \"\\f160\"; }\n.bi-badge-ad::before { content: \"\\f161\"; }\n.bi-badge-ar-fill::before { content: \"\\f162\"; }\n.bi-badge-ar::before { content: \"\\f163\"; }\n.bi-badge-cc-fill::before { content: \"\\f164\"; }\n.bi-badge-cc::before { content: \"\\f165\"; }\n.bi-badge-hd-fill::before { content: \"\\f166\"; }\n.bi-badge-hd::before { content: \"\\f167\"; }\n.bi-badge-tm-fill::before { content: \"\\f168\"; }\n.bi-badge-tm::before { content: \"\\f169\"; }\n.bi-badge-vo-fill::before { content: \"\\f16a\"; }\n.bi-badge-vo::before { content: \"\\f16b\"; }\n.bi-badge-vr-fill::before { content: \"\\f16c\"; }\n.bi-badge-vr::before { content: \"\\f16d\"; }\n.bi-badge-wc-fill::before { content: \"\\f16e\"; }\n.bi-badge-wc::before { content: \"\\f16f\"; }\n.bi-bag-check-fill::before { content: \"\\f170\"; }\n.bi-bag-check::before { content: \"\\f171\"; }\n.bi-bag-dash-fill::before { content: \"\\f172\"; }\n.bi-bag-dash::before { content: \"\\f173\"; }\n.bi-bag-fill::before { content: \"\\f174\"; }\n.bi-bag-plus-fill::before { content: \"\\f175\"; }\n.bi-bag-plus::before { content: \"\\f176\"; }\n.bi-bag-x-fill::before { content: \"\\f177\"; }\n.bi-bag-x::before { content: \"\\f178\"; }\n.bi-bag::before { content: \"\\f179\"; }\n.bi-bar-chart-fill::before { content: \"\\f17a\"; }\n.bi-bar-chart-line-fill::before { content: \"\\f17b\"; }\n.bi-bar-chart-line::before { content: \"\\f17c\"; }\n.bi-bar-chart-steps::before { content: \"\\f17d\"; }\n.bi-bar-chart::before { content: \"\\f17e\"; }\n.bi-basket-fill::before { content: \"\\f17f\"; }\n.bi-basket::before { content: \"\\f180\"; }\n.bi-basket2-fill::before { content: \"\\f181\"; }\n.bi-basket2::before { content: \"\\f182\"; }\n.bi-basket3-fill::before { content: \"\\f183\"; }\n.bi-basket3::before { content: \"\\f184\"; }\n.bi-battery-charging::before { content: \"\\f185\"; }\n.bi-battery-full::before { content: \"\\f186\"; }\n.bi-battery-half::before { content: \"\\f187\"; }\n.bi-battery::before { content: \"\\f188\"; }\n.bi-bell-fill::before { content: \"\\f189\"; }\n.bi-bell::before { content: \"\\f18a\"; }\n.bi-bezier::before { content: \"\\f18b\"; }\n.bi-bezier2::before { content: \"\\f18c\"; }\n.bi-bicycle::before { content: \"\\f18d\"; }\n.bi-binoculars-fill::before { content: \"\\f18e\"; }\n.bi-binoculars::before { content: \"\\f18f\"; }\n.bi-blockquote-left::before { content: \"\\f190\"; }\n.bi-blockquote-right::before { content: \"\\f191\"; }\n.bi-book-fill::before { content: \"\\f192\"; }\n.bi-book-half::before { content: \"\\f193\"; }\n.bi-book::before { content: \"\\f194\"; }\n.bi-bookmark-check-fill::before { content: \"\\f195\"; }\n.bi-bookmark-check::before { content: \"\\f196\"; }\n.bi-bookmark-dash-fill::before { content: \"\\f197\"; }\n.bi-bookmark-dash::before { content: \"\\f198\"; }\n.bi-bookmark-fill::before { content: \"\\f199\"; }\n.bi-bookmark-heart-fill::before { content: \"\\f19a\"; }\n.bi-bookmark-heart::before { content: \"\\f19b\"; }\n.bi-bookmark-plus-fill::before { content: \"\\f19c\"; }\n.bi-bookmark-plus::before { content: \"\\f19d\"; }\n.bi-bookmark-star-fill::before { content: \"\\f19e\"; }\n.bi-bookmark-star::before { content: \"\\f19f\"; }\n.bi-bookmark-x-fill::before { content: \"\\f1a0\"; }\n.bi-bookmark-x::before { content: \"\\f1a1\"; }\n.bi-bookmark::before { content: \"\\f1a2\"; }\n.bi-bookmarks-fill::before { content: \"\\f1a3\"; }\n.bi-bookmarks::before { content: \"\\f1a4\"; }\n.bi-bookshelf::before { content: \"\\f1a5\"; }\n.bi-bootstrap-fill::before { content: \"\\f1a6\"; }\n.bi-bootstrap-reboot::before { content: \"\\f1a7\"; }\n.bi-bootstrap::before { content: \"\\f1a8\"; }\n.bi-border-all::before { content: \"\\f1a9\"; }\n.bi-border-bottom::before { content: \"\\f1aa\"; }\n.bi-border-center::before { content: \"\\f1ab\"; }\n.bi-border-inner::before { content: \"\\f1ac\"; }\n.bi-border-left::before { content: \"\\f1ad\"; }\n.bi-border-middle::before { content: \"\\f1ae\"; }\n.bi-border-outer::before { content: \"\\f1af\"; }\n.bi-border-right::before { content: \"\\f1b0\"; }\n.bi-border-style::before { content: \"\\f1b1\"; }\n.bi-border-top::before { content: \"\\f1b2\"; }\n.bi-border-width::before { content: \"\\f1b3\"; }\n.bi-border::before { content: \"\\f1b4\"; }\n.bi-bounding-box-circles::before { content: \"\\f1b5\"; }\n.bi-bounding-box::before { content: \"\\f1b6\"; }\n.bi-box-arrow-down-left::before { content: \"\\f1b7\"; }\n.bi-box-arrow-down-right::before { content: \"\\f1b8\"; }\n.bi-box-arrow-down::before { content: \"\\f1b9\"; }\n.bi-box-arrow-in-down-left::before { content: \"\\f1ba\"; }\n.bi-box-arrow-in-down-right::before { content: \"\\f1bb\"; }\n.bi-box-arrow-in-down::before { content: \"\\f1bc\"; }\n.bi-box-arrow-in-left::before { content: \"\\f1bd\"; }\n.bi-box-arrow-in-right::before { content: \"\\f1be\"; }\n.bi-box-arrow-in-up-left::before { content: \"\\f1bf\"; }\n.bi-box-arrow-in-up-right::before { content: \"\\f1c0\"; }\n.bi-box-arrow-in-up::before { content: \"\\f1c1\"; }\n.bi-box-arrow-left::before { content: \"\\f1c2\"; }\n.bi-box-arrow-right::before { content: \"\\f1c3\"; }\n.bi-box-arrow-up-left::before { content: \"\\f1c4\"; }\n.bi-box-arrow-up-right::before { content: \"\\f1c5\"; }\n.bi-box-arrow-up::before { content: \"\\f1c6\"; }\n.bi-box-seam::before { content: \"\\f1c7\"; }\n.bi-box::before { content: \"\\f1c8\"; }\n.bi-braces::before { content: \"\\f1c9\"; }\n.bi-bricks::before { content: \"\\f1ca\"; }\n.bi-briefcase-fill::before { content: \"\\f1cb\"; }\n.bi-briefcase::before { content: \"\\f1cc\"; }\n.bi-brightness-alt-high-fill::before { content: \"\\f1cd\"; }\n.bi-brightness-alt-high::before { content: \"\\f1ce\"; }\n.bi-brightness-alt-low-fill::before { content: \"\\f1cf\"; }\n.bi-brightness-alt-low::before { content: \"\\f1d0\"; }\n.bi-brightness-high-fill::before { content: \"\\f1d1\"; }\n.bi-brightness-high::before { content: \"\\f1d2\"; }\n.bi-brightness-low-fill::before { content: \"\\f1d3\"; }\n.bi-brightness-low::before { content: \"\\f1d4\"; }\n.bi-broadcast-pin::before { content: \"\\f1d5\"; }\n.bi-broadcast::before { content: \"\\f1d6\"; }\n.bi-brush-fill::before { content: \"\\f1d7\"; }\n.bi-brush::before { content: \"\\f1d8\"; }\n.bi-bucket-fill::before { content: \"\\f1d9\"; }\n.bi-bucket::before { content: \"\\f1da\"; }\n.bi-bug-fill::before { content: \"\\f1db\"; }\n.bi-bug::before { content: \"\\f1dc\"; }\n.bi-building::before { content: \"\\f1dd\"; }\n.bi-bullseye::before { content: \"\\f1de\"; }\n.bi-calculator-fill::before { content: \"\\f1df\"; }\n.bi-calculator::before { content: \"\\f1e0\"; }\n.bi-calendar-check-fill::before { content: \"\\f1e1\"; }\n.bi-calendar-check::before { content: \"\\f1e2\"; }\n.bi-calendar-date-fill::before { content: \"\\f1e3\"; }\n.bi-calendar-date::before { content: \"\\f1e4\"; }\n.bi-calendar-day-fill::before { content: \"\\f1e5\"; }\n.bi-calendar-day::before { content: \"\\f1e6\"; }\n.bi-calendar-event-fill::before { content: \"\\f1e7\"; }\n.bi-calendar-event::before { content: \"\\f1e8\"; }\n.bi-calendar-fill::before { content: \"\\f1e9\"; }\n.bi-calendar-minus-fill::before { content: \"\\f1ea\"; }\n.bi-calendar-minus::before { content: \"\\f1eb\"; }\n.bi-calendar-month-fill::before { content: \"\\f1ec\"; }\n.bi-calendar-month::before { content: \"\\f1ed\"; }\n.bi-calendar-plus-fill::before { content: \"\\f1ee\"; }\n.bi-calendar-plus::before { content: \"\\f1ef\"; }\n.bi-calendar-range-fill::before { content: \"\\f1f0\"; }\n.bi-calendar-range::before { content: \"\\f1f1\"; }\n.bi-calendar-week-fill::before { content: \"\\f1f2\"; }\n.bi-calendar-week::before { content: \"\\f1f3\"; }\n.bi-calendar-x-fill::before { content: \"\\f1f4\"; }\n.bi-calendar-x::before { content: \"\\f1f5\"; }\n.bi-calendar::before { content: \"\\f1f6\"; }\n.bi-calendar2-check-fill::before { content: \"\\f1f7\"; }\n.bi-calendar2-check::before { content: \"\\f1f8\"; }\n.bi-calendar2-date-fill::before { content: \"\\f1f9\"; }\n.bi-calendar2-date::before { content: \"\\f1fa\"; }\n.bi-calendar2-day-fill::before { content: \"\\f1fb\"; }\n.bi-calendar2-day::before { content: \"\\f1fc\"; }\n.bi-calendar2-event-fill::before { content: \"\\f1fd\"; }\n.bi-calendar2-event::before { content: \"\\f1fe\"; }\n.bi-calendar2-fill::before { content: \"\\f1ff\"; }\n.bi-calendar2-minus-fill::before { content: \"\\f200\"; }\n.bi-calendar2-minus::before { content: \"\\f201\"; }\n.bi-calendar2-month-fill::before { content: \"\\f202\"; }\n.bi-calendar2-month::before { content: \"\\f203\"; }\n.bi-calendar2-plus-fill::before { content: \"\\f204\"; }\n.bi-calendar2-plus::before { content: \"\\f205\"; }\n.bi-calendar2-range-fill::before { content: \"\\f206\"; }\n.bi-calendar2-range::before { content: \"\\f207\"; }\n.bi-calendar2-week-fill::before { content: \"\\f208\"; }\n.bi-calendar2-week::before { content: \"\\f209\"; }\n.bi-calendar2-x-fill::before { content: \"\\f20a\"; }\n.bi-calendar2-x::before { content: \"\\f20b\"; }\n.bi-calendar2::before { content: \"\\f20c\"; }\n.bi-calendar3-event-fill::before { content: \"\\f20d\"; }\n.bi-calendar3-event::before { content: \"\\f20e\"; }\n.bi-calendar3-fill::before { content: \"\\f20f\"; }\n.bi-calendar3-range-fill::before { content: \"\\f210\"; }\n.bi-calendar3-range::before { content: \"\\f211\"; }\n.bi-calendar3-week-fill::before { content: \"\\f212\"; }\n.bi-calendar3-week::before { content: \"\\f213\"; }\n.bi-calendar3::before { content: \"\\f214\"; }\n.bi-calendar4-event::before { content: \"\\f215\"; }\n.bi-calendar4-range::before { content: \"\\f216\"; }\n.bi-calendar4-week::before { content: \"\\f217\"; }\n.bi-calendar4::before { content: \"\\f218\"; }\n.bi-camera-fill::before { content: \"\\f219\"; }\n.bi-camera-reels-fill::before { content: \"\\f21a\"; }\n.bi-camera-reels::before { content: \"\\f21b\"; }\n.bi-camera-video-fill::before { content: \"\\f21c\"; }\n.bi-camera-video-off-fill::before { content: \"\\f21d\"; }\n.bi-camera-video-off::before { content: \"\\f21e\"; }\n.bi-camera-video::before { content: \"\\f21f\"; }\n.bi-camera::before { content: \"\\f220\"; }\n.bi-camera2::before { content: \"\\f221\"; }\n.bi-capslock-fill::before { content: \"\\f222\"; }\n.bi-capslock::before { content: \"\\f223\"; }\n.bi-card-checklist::before { content: \"\\f224\"; }\n.bi-card-heading::before { content: \"\\f225\"; }\n.bi-card-image::before { content: \"\\f226\"; }\n.bi-card-list::before { content: \"\\f227\"; }\n.bi-card-text::before { content: \"\\f228\"; }\n.bi-caret-down-fill::before { content: \"\\f229\"; }\n.bi-caret-down-square-fill::before { content: \"\\f22a\"; }\n.bi-caret-down-square::before { content: \"\\f22b\"; }\n.bi-caret-down::before { content: \"\\f22c\"; }\n.bi-caret-left-fill::before { content: \"\\f22d\"; }\n.bi-caret-left-square-fill::before { content: \"\\f22e\"; }\n.bi-caret-left-square::before { content: \"\\f22f\"; }\n.bi-caret-left::before { content: \"\\f230\"; }\n.bi-caret-right-fill::before { content: \"\\f231\"; }\n.bi-caret-right-square-fill::before { content: \"\\f232\"; }\n.bi-caret-right-square::before { content: \"\\f233\"; }\n.bi-caret-right::before { content: \"\\f234\"; }\n.bi-caret-up-fill::before { content: \"\\f235\"; }\n.bi-caret-up-square-fill::before { content: \"\\f236\"; }\n.bi-caret-up-square::before { content: \"\\f237\"; }\n.bi-caret-up::before { content: \"\\f238\"; }\n.bi-cart-check-fill::before { content: \"\\f239\"; }\n.bi-cart-check::before { content: \"\\f23a\"; }\n.bi-cart-dash-fill::before { content: \"\\f23b\"; }\n.bi-cart-dash::before { content: \"\\f23c\"; }\n.bi-cart-fill::before { content: \"\\f23d\"; }\n.bi-cart-plus-fill::before { content: \"\\f23e\"; }\n.bi-cart-plus::before { content: \"\\f23f\"; }\n.bi-cart-x-fill::before { content: \"\\f240\"; }\n.bi-cart-x::before { content: \"\\f241\"; }\n.bi-cart::before { content: \"\\f242\"; }\n.bi-cart2::before { content: \"\\f243\"; }\n.bi-cart3::before { content: \"\\f244\"; }\n.bi-cart4::before { content: \"\\f245\"; }\n.bi-cash-stack::before { content: \"\\f246\"; }\n.bi-cash::before { content: \"\\f247\"; }\n.bi-cast::before { content: \"\\f248\"; }\n.bi-chat-dots-fill::before { content: \"\\f249\"; }\n.bi-chat-dots::before { content: \"\\f24a\"; }\n.bi-chat-fill::before { content: \"\\f24b\"; }\n.bi-chat-left-dots-fill::before { content: \"\\f24c\"; }\n.bi-chat-left-dots::before { content: \"\\f24d\"; }\n.bi-chat-left-fill::before { content: \"\\f24e\"; }\n.bi-chat-left-quote-fill::before { content: \"\\f24f\"; }\n.bi-chat-left-quote::before { content: \"\\f250\"; }\n.bi-chat-left-text-fill::before { content: \"\\f251\"; }\n.bi-chat-left-text::before { content: \"\\f252\"; }\n.bi-chat-left::before { content: \"\\f253\"; }\n.bi-chat-quote-fill::before { content: \"\\f254\"; }\n.bi-chat-quote::before { content: \"\\f255\"; }\n.bi-chat-right-dots-fill::before { content: \"\\f256\"; }\n.bi-chat-right-dots::before { content: \"\\f257\"; }\n.bi-chat-right-fill::before { content: \"\\f258\"; }\n.bi-chat-right-quote-fill::before { content: \"\\f259\"; }\n.bi-chat-right-quote::before { content: \"\\f25a\"; }\n.bi-chat-right-text-fill::before { content: \"\\f25b\"; }\n.bi-chat-right-text::before { content: \"\\f25c\"; }\n.bi-chat-right::before { content: \"\\f25d\"; }\n.bi-chat-square-dots-fill::before { content: \"\\f25e\"; }\n.bi-chat-square-dots::before { content: \"\\f25f\"; }\n.bi-chat-square-fill::before { content: \"\\f260\"; }\n.bi-chat-square-quote-fill::before { content: \"\\f261\"; }\n.bi-chat-square-quote::before { content: \"\\f262\"; }\n.bi-chat-square-text-fill::before { content: \"\\f263\"; }\n.bi-chat-square-text::before { content: \"\\f264\"; }\n.bi-chat-square::before { content: \"\\f265\"; }\n.bi-chat-text-fill::before { content: \"\\f266\"; }\n.bi-chat-text::before { content: \"\\f267\"; }\n.bi-chat::before { content: \"\\f268\"; }\n.bi-check-all::before { content: \"\\f269\"; }\n.bi-check-circle-fill::before { content: \"\\f26a\"; }\n.bi-check-circle::before { content: \"\\f26b\"; }\n.bi-check-square-fill::before { content: \"\\f26c\"; }\n.bi-check-square::before { content: \"\\f26d\"; }\n.bi-check::before { content: \"\\f26e\"; }\n.bi-check2-all::before { content: \"\\f26f\"; }\n.bi-check2-circle::before { content: \"\\f270\"; }\n.bi-check2-square::before { content: \"\\f271\"; }\n.bi-check2::before { content: \"\\f272\"; }\n.bi-chevron-bar-contract::before { content: \"\\f273\"; }\n.bi-chevron-bar-down::before { content: \"\\f274\"; }\n.bi-chevron-bar-expand::before { content: \"\\f275\"; }\n.bi-chevron-bar-left::before { content: \"\\f276\"; }\n.bi-chevron-bar-right::before { content: \"\\f277\"; }\n.bi-chevron-bar-up::before { content: \"\\f278\"; }\n.bi-chevron-compact-down::before { content: \"\\f279\"; }\n.bi-chevron-compact-left::before { content: \"\\f27a\"; }\n.bi-chevron-compact-right::before { content: \"\\f27b\"; }\n.bi-chevron-compact-up::before { content: \"\\f27c\"; }\n.bi-chevron-contract::before { content: \"\\f27d\"; }\n.bi-chevron-double-down::before { content: \"\\f27e\"; }\n.bi-chevron-double-left::before { content: \"\\f27f\"; }\n.bi-chevron-double-right::before { content: \"\\f280\"; }\n.bi-chevron-double-up::before { content: \"\\f281\"; }\n.bi-chevron-down::before { content: \"\\f282\"; }\n.bi-chevron-expand::before { content: \"\\f283\"; }\n.bi-chevron-left::before { content: \"\\f284\"; }\n.bi-chevron-right::before { content: \"\\f285\"; }\n.bi-chevron-up::before { content: \"\\f286\"; }\n.bi-circle-fill::before { content: \"\\f287\"; }\n.bi-circle-half::before { content: \"\\f288\"; }\n.bi-circle-square::before { content: \"\\f289\"; }\n.bi-circle::before { content: \"\\f28a\"; }\n.bi-clipboard-check::before { content: \"\\f28b\"; }\n.bi-clipboard-data::before { content: \"\\f28c\"; }\n.bi-clipboard-minus::before { content: \"\\f28d\"; }\n.bi-clipboard-plus::before { content: \"\\f28e\"; }\n.bi-clipboard-x::before { content: \"\\f28f\"; }\n.bi-clipboard::before { content: \"\\f290\"; }\n.bi-clock-fill::before { content: \"\\f291\"; }\n.bi-clock-history::before { content: \"\\f292\"; }\n.bi-clock::before { content: \"\\f293\"; }\n.bi-cloud-arrow-down-fill::before { content: \"\\f294\"; }\n.bi-cloud-arrow-down::before { content: \"\\f295\"; }\n.bi-cloud-arrow-up-fill::before { content: \"\\f296\"; }\n.bi-cloud-arrow-up::before { content: \"\\f297\"; }\n.bi-cloud-check-fill::before { content: \"\\f298\"; }\n.bi-cloud-check::before { content: \"\\f299\"; }\n.bi-cloud-download-fill::before { content: \"\\f29a\"; }\n.bi-cloud-download::before { content: \"\\f29b\"; }\n.bi-cloud-drizzle-fill::before { content: \"\\f29c\"; }\n.bi-cloud-drizzle::before { content: \"\\f29d\"; }\n.bi-cloud-fill::before { content: \"\\f29e\"; }\n.bi-cloud-fog-fill::before { content: \"\\f29f\"; }\n.bi-cloud-fog::before { content: \"\\f2a0\"; }\n.bi-cloud-fog2-fill::before { content: \"\\f2a1\"; }\n.bi-cloud-fog2::before { content: \"\\f2a2\"; }\n.bi-cloud-hail-fill::before { content: \"\\f2a3\"; }\n.bi-cloud-hail::before { content: \"\\f2a4\"; }\n.bi-cloud-haze-1::before { content: \"\\f2a5\"; }\n.bi-cloud-haze-fill::before { content: \"\\f2a6\"; }\n.bi-cloud-haze::before { content: \"\\f2a7\"; }\n.bi-cloud-haze2-fill::before { content: \"\\f2a8\"; }\n.bi-cloud-lightning-fill::before { content: \"\\f2a9\"; }\n.bi-cloud-lightning-rain-fill::before { content: \"\\f2aa\"; }\n.bi-cloud-lightning-rain::before { content: \"\\f2ab\"; }\n.bi-cloud-lightning::before { content: \"\\f2ac\"; }\n.bi-cloud-minus-fill::before { content: \"\\f2ad\"; }\n.bi-cloud-minus::before { content: \"\\f2ae\"; }\n.bi-cloud-moon-fill::before { content: \"\\f2af\"; }\n.bi-cloud-moon::before { content: \"\\f2b0\"; }\n.bi-cloud-plus-fill::before { content: \"\\f2b1\"; }\n.bi-cloud-plus::before { content: \"\\f2b2\"; }\n.bi-cloud-rain-fill::before { content: \"\\f2b3\"; }\n.bi-cloud-rain-heavy-fill::before { content: \"\\f2b4\"; }\n.bi-cloud-rain-heavy::before { content: \"\\f2b5\"; }\n.bi-cloud-rain::before { content: \"\\f2b6\"; }\n.bi-cloud-slash-fill::before { content: \"\\f2b7\"; }\n.bi-cloud-slash::before { content: \"\\f2b8\"; }\n.bi-cloud-sleet-fill::before { content: \"\\f2b9\"; }\n.bi-cloud-sleet::before { content: \"\\f2ba\"; }\n.bi-cloud-snow-fill::before { content: \"\\f2bb\"; }\n.bi-cloud-snow::before { content: \"\\f2bc\"; }\n.bi-cloud-sun-fill::before { content: \"\\f2bd\"; }\n.bi-cloud-sun::before { content: \"\\f2be\"; }\n.bi-cloud-upload-fill::before { content: \"\\f2bf\"; }\n.bi-cloud-upload::before { content: \"\\f2c0\"; }\n.bi-cloud::before { content: \"\\f2c1\"; }\n.bi-clouds-fill::before { content: \"\\f2c2\"; }\n.bi-clouds::before { content: \"\\f2c3\"; }\n.bi-cloudy-fill::before { content: \"\\f2c4\"; }\n.bi-cloudy::before { content: \"\\f2c5\"; }\n.bi-code-slash::before { content: \"\\f2c6\"; }\n.bi-code-square::before { content: \"\\f2c7\"; }\n.bi-code::before { content: \"\\f2c8\"; }\n.bi-collection-fill::before { content: \"\\f2c9\"; }\n.bi-collection-play-fill::before { content: \"\\f2ca\"; }\n.bi-collection-play::before { content: \"\\f2cb\"; }\n.bi-collection::before { content: \"\\f2cc\"; }\n.bi-columns-gap::before { content: \"\\f2cd\"; }\n.bi-columns::before { content: \"\\f2ce\"; }\n.bi-command::before { content: \"\\f2cf\"; }\n.bi-compass-fill::before { content: \"\\f2d0\"; }\n.bi-compass::before { content: \"\\f2d1\"; }\n.bi-cone-striped::before { content: \"\\f2d2\"; }\n.bi-cone::before { content: \"\\f2d3\"; }\n.bi-controller::before { content: \"\\f2d4\"; }\n.bi-cpu-fill::before { content: \"\\f2d5\"; }\n.bi-cpu::before { content: \"\\f2d6\"; }\n.bi-credit-card-2-back-fill::before { content: \"\\f2d7\"; }\n.bi-credit-card-2-back::before { content: \"\\f2d8\"; }\n.bi-credit-card-2-front-fill::before { content: \"\\f2d9\"; }\n.bi-credit-card-2-front::before { content: \"\\f2da\"; }\n.bi-credit-card-fill::before { content: \"\\f2db\"; }\n.bi-credit-card::before { content: \"\\f2dc\"; }\n.bi-crop::before { content: \"\\f2dd\"; }\n.bi-cup-fill::before { content: \"\\f2de\"; }\n.bi-cup-straw::before { content: \"\\f2df\"; }\n.bi-cup::before { content: \"\\f2e0\"; }\n.bi-cursor-fill::before { content: \"\\f2e1\"; }\n.bi-cursor-text::before { content: \"\\f2e2\"; }\n.bi-cursor::before { content: \"\\f2e3\"; }\n.bi-dash-circle-dotted::before { content: \"\\f2e4\"; }\n.bi-dash-circle-fill::before { content: \"\\f2e5\"; }\n.bi-dash-circle::before { content: \"\\f2e6\"; }\n.bi-dash-square-dotted::before { content: \"\\f2e7\"; }\n.bi-dash-square-fill::before { content: \"\\f2e8\"; }\n.bi-dash-square::before { content: \"\\f2e9\"; }\n.bi-dash::before { content: \"\\f2ea\"; }\n.bi-diagram-2-fill::before { content: \"\\f2eb\"; }\n.bi-diagram-2::before { content: \"\\f2ec\"; }\n.bi-diagram-3-fill::before { content: \"\\f2ed\"; }\n.bi-diagram-3::before { content: \"\\f2ee\"; }\n.bi-diamond-fill::before { content: \"\\f2ef\"; }\n.bi-diamond-half::before { content: \"\\f2f0\"; }\n.bi-diamond::before { content: \"\\f2f1\"; }\n.bi-dice-1-fill::before { content: \"\\f2f2\"; }\n.bi-dice-1::before { content: \"\\f2f3\"; }\n.bi-dice-2-fill::before { content: \"\\f2f4\"; }\n.bi-dice-2::before { content: \"\\f2f5\"; }\n.bi-dice-3-fill::before { content: \"\\f2f6\"; }\n.bi-dice-3::before { content: \"\\f2f7\"; }\n.bi-dice-4-fill::before { content: \"\\f2f8\"; }\n.bi-dice-4::before { content: \"\\f2f9\"; }\n.bi-dice-5-fill::before { content: \"\\f2fa\"; }\n.bi-dice-5::before { content: \"\\f2fb\"; }\n.bi-dice-6-fill::before { content: \"\\f2fc\"; }\n.bi-dice-6::before { content: \"\\f2fd\"; }\n.bi-disc-fill::before { content: \"\\f2fe\"; }\n.bi-disc::before { content: \"\\f2ff\"; }\n.bi-discord::before { content: \"\\f300\"; }\n.bi-display-fill::before { content: \"\\f301\"; }\n.bi-display::before { content: \"\\f302\"; }\n.bi-distribute-horizontal::before { content: \"\\f303\"; }\n.bi-distribute-vertical::before { content: \"\\f304\"; }\n.bi-door-closed-fill::before { content: \"\\f305\"; }\n.bi-door-closed::before { content: \"\\f306\"; }\n.bi-door-open-fill::before { content: \"\\f307\"; }\n.bi-door-open::before { content: \"\\f308\"; }\n.bi-dot::before { content: \"\\f309\"; }\n.bi-download::before { content: \"\\f30a\"; }\n.bi-droplet-fill::before { content: \"\\f30b\"; }\n.bi-droplet-half::before { content: \"\\f30c\"; }\n.bi-droplet::before { content: \"\\f30d\"; }\n.bi-earbuds::before { content: \"\\f30e\"; }\n.bi-easel-fill::before { content: \"\\f30f\"; }\n.bi-easel::before { content: \"\\f310\"; }\n.bi-egg-fill::before { content: \"\\f311\"; }\n.bi-egg-fried::before { content: \"\\f312\"; }\n.bi-egg::before { content: \"\\f313\"; }\n.bi-eject-fill::before { content: \"\\f314\"; }\n.bi-eject::before { content: \"\\f315\"; }\n.bi-emoji-angry-fill::before { content: \"\\f316\"; }\n.bi-emoji-angry::before { content: \"\\f317\"; }\n.bi-emoji-dizzy-fill::before { content: \"\\f318\"; }\n.bi-emoji-dizzy::before { content: \"\\f319\"; }\n.bi-emoji-expressionless-fill::before { content: \"\\f31a\"; }\n.bi-emoji-expressionless::before { content: \"\\f31b\"; }\n.bi-emoji-frown-fill::before { content: \"\\f31c\"; }\n.bi-emoji-frown::before { content: \"\\f31d\"; }\n.bi-emoji-heart-eyes-fill::before { content: \"\\f31e\"; }\n.bi-emoji-heart-eyes::before { content: \"\\f31f\"; }\n.bi-emoji-laughing-fill::before { content: \"\\f320\"; }\n.bi-emoji-laughing::before { content: \"\\f321\"; }\n.bi-emoji-neutral-fill::before { content: \"\\f322\"; }\n.bi-emoji-neutral::before { content: \"\\f323\"; }\n.bi-emoji-smile-fill::before { content: \"\\f324\"; }\n.bi-emoji-smile-upside-down-fill::before { content: \"\\f325\"; }\n.bi-emoji-smile-upside-down::before { content: \"\\f326\"; }\n.bi-emoji-smile::before { content: \"\\f327\"; }\n.bi-emoji-sunglasses-fill::before { content: \"\\f328\"; }\n.bi-emoji-sunglasses::before { content: \"\\f329\"; }\n.bi-emoji-wink-fill::before { content: \"\\f32a\"; }\n.bi-emoji-wink::before { content: \"\\f32b\"; }\n.bi-envelope-fill::before { content: \"\\f32c\"; }\n.bi-envelope-open-fill::before { content: \"\\f32d\"; }\n.bi-envelope-open::before { content: \"\\f32e\"; }\n.bi-envelope::before { content: \"\\f32f\"; }\n.bi-eraser-fill::before { content: \"\\f330\"; }\n.bi-eraser::before { content: \"\\f331\"; }\n.bi-exclamation-circle-fill::before { content: \"\\f332\"; }\n.bi-exclamation-circle::before { content: \"\\f333\"; }\n.bi-exclamation-diamond-fill::before { content: \"\\f334\"; }\n.bi-exclamation-diamond::before { content: \"\\f335\"; }\n.bi-exclamation-octagon-fill::before { content: \"\\f336\"; }\n.bi-exclamation-octagon::before { content: \"\\f337\"; }\n.bi-exclamation-square-fill::before { content: \"\\f338\"; }\n.bi-exclamation-square::before { content: \"\\f339\"; }\n.bi-exclamation-triangle-fill::before { content: \"\\f33a\"; }\n.bi-exclamation-triangle::before { content: \"\\f33b\"; }\n.bi-exclamation::before { content: \"\\f33c\"; }\n.bi-exclude::before { content: \"\\f33d\"; }\n.bi-eye-fill::before { content: \"\\f33e\"; }\n.bi-eye-slash-fill::before { content: \"\\f33f\"; }\n.bi-eye-slash::before { content: \"\\f340\"; }\n.bi-eye::before { content: \"\\f341\"; }\n.bi-eyedropper::before { content: \"\\f342\"; }\n.bi-eyeglasses::before { content: \"\\f343\"; }\n.bi-facebook::before { content: \"\\f344\"; }\n.bi-file-arrow-down-fill::before { content: \"\\f345\"; }\n.bi-file-arrow-down::before { content: \"\\f346\"; }\n.bi-file-arrow-up-fill::before { content: \"\\f347\"; }\n.bi-file-arrow-up::before { content: \"\\f348\"; }\n.bi-file-bar-graph-fill::before { content: \"\\f349\"; }\n.bi-file-bar-graph::before { content: \"\\f34a\"; }\n.bi-file-binary-fill::before { content: \"\\f34b\"; }\n.bi-file-binary::before { content: \"\\f34c\"; }\n.bi-file-break-fill::before { content: \"\\f34d\"; }\n.bi-file-break::before { content: \"\\f34e\"; }\n.bi-file-check-fill::before { content: \"\\f34f\"; }\n.bi-file-check::before { content: \"\\f350\"; }\n.bi-file-code-fill::before { content: \"\\f351\"; }\n.bi-file-code::before { content: \"\\f352\"; }\n.bi-file-diff-fill::before { content: \"\\f353\"; }\n.bi-file-diff::before { content: \"\\f354\"; }\n.bi-file-earmark-arrow-down-fill::before { content: \"\\f355\"; }\n.bi-file-earmark-arrow-down::before { content: \"\\f356\"; }\n.bi-file-earmark-arrow-up-fill::before { content: \"\\f357\"; }\n.bi-file-earmark-arrow-up::before { content: \"\\f358\"; }\n.bi-file-earmark-bar-graph-fill::before { content: \"\\f359\"; }\n.bi-file-earmark-bar-graph::before { content: \"\\f35a\"; }\n.bi-file-earmark-binary-fill::before { content: \"\\f35b\"; }\n.bi-file-earmark-binary::before { content: \"\\f35c\"; }\n.bi-file-earmark-break-fill::before { content: \"\\f35d\"; }\n.bi-file-earmark-break::before { content: \"\\f35e\"; }\n.bi-file-earmark-check-fill::before { content: \"\\f35f\"; }\n.bi-file-earmark-check::before { content: \"\\f360\"; }\n.bi-file-earmark-code-fill::before { content: \"\\f361\"; }\n.bi-file-earmark-code::before { content: \"\\f362\"; }\n.bi-file-earmark-diff-fill::before { content: \"\\f363\"; }\n.bi-file-earmark-diff::before { content: \"\\f364\"; }\n.bi-file-earmark-easel-fill::before { content: \"\\f365\"; }\n.bi-file-earmark-easel::before { content: \"\\f366\"; }\n.bi-file-earmark-excel-fill::before { content: \"\\f367\"; }\n.bi-file-earmark-excel::before { content: \"\\f368\"; }\n.bi-file-earmark-fill::before { content: \"\\f369\"; }\n.bi-file-earmark-font-fill::before { content: \"\\f36a\"; }\n.bi-file-earmark-font::before { content: \"\\f36b\"; }\n.bi-file-earmark-image-fill::before { content: \"\\f36c\"; }\n.bi-file-earmark-image::before { content: \"\\f36d\"; }\n.bi-file-earmark-lock-fill::before { content: \"\\f36e\"; }\n.bi-file-earmark-lock::before { content: \"\\f36f\"; }\n.bi-file-earmark-lock2-fill::before { content: \"\\f370\"; }\n.bi-file-earmark-lock2::before { content: \"\\f371\"; }\n.bi-file-earmark-medical-fill::before { content: \"\\f372\"; }\n.bi-file-earmark-medical::before { content: \"\\f373\"; }\n.bi-file-earmark-minus-fill::before { content: \"\\f374\"; }\n.bi-file-earmark-minus::before { content: \"\\f375\"; }\n.bi-file-earmark-music-fill::before { content: \"\\f376\"; }\n.bi-file-earmark-music::before { content: \"\\f377\"; }\n.bi-file-earmark-person-fill::before { content: \"\\f378\"; }\n.bi-file-earmark-person::before { content: \"\\f379\"; }\n.bi-file-earmark-play-fill::before { content: \"\\f37a\"; }\n.bi-file-earmark-play::before { content: \"\\f37b\"; }\n.bi-file-earmark-plus-fill::before { content: \"\\f37c\"; }\n.bi-file-earmark-plus::before { content: \"\\f37d\"; }\n.bi-file-earmark-post-fill::before { content: \"\\f37e\"; }\n.bi-file-earmark-post::before { content: \"\\f37f\"; }\n.bi-file-earmark-ppt-fill::before { content: \"\\f380\"; }\n.bi-file-earmark-ppt::before { content: \"\\f381\"; }\n.bi-file-earmark-richtext-fill::before { content: \"\\f382\"; }\n.bi-file-earmark-richtext::before { content: \"\\f383\"; }\n.bi-file-earmark-ruled-fill::before { content: \"\\f384\"; }\n.bi-file-earmark-ruled::before { content: \"\\f385\"; }\n.bi-file-earmark-slides-fill::before { content: \"\\f386\"; }\n.bi-file-earmark-slides::before { content: \"\\f387\"; }\n.bi-file-earmark-spreadsheet-fill::before { content: \"\\f388\"; }\n.bi-file-earmark-spreadsheet::before { content: \"\\f389\"; }\n.bi-file-earmark-text-fill::before { content: \"\\f38a\"; }\n.bi-file-earmark-text::before { content: \"\\f38b\"; }\n.bi-file-earmark-word-fill::before { content: \"\\f38c\"; }\n.bi-file-earmark-word::before { content: \"\\f38d\"; }\n.bi-file-earmark-x-fill::before { content: \"\\f38e\"; }\n.bi-file-earmark-x::before { content: \"\\f38f\"; }\n.bi-file-earmark-zip-fill::before { content: \"\\f390\"; }\n.bi-file-earmark-zip::before { content: \"\\f391\"; }\n.bi-file-earmark::before { content: \"\\f392\"; }\n.bi-file-easel-fill::before { content: \"\\f393\"; }\n.bi-file-easel::before { content: \"\\f394\"; }\n.bi-file-excel-fill::before { content: \"\\f395\"; }\n.bi-file-excel::before { content: \"\\f396\"; }\n.bi-file-fill::before { content: \"\\f397\"; }\n.bi-file-font-fill::before { content: \"\\f398\"; }\n.bi-file-font::before { content: \"\\f399\"; }\n.bi-file-image-fill::before { content: \"\\f39a\"; }\n.bi-file-image::before { content: \"\\f39b\"; }\n.bi-file-lock-fill::before { content: \"\\f39c\"; }\n.bi-file-lock::before { content: \"\\f39d\"; }\n.bi-file-lock2-fill::before { content: \"\\f39e\"; }\n.bi-file-lock2::before { content: \"\\f39f\"; }\n.bi-file-medical-fill::before { content: \"\\f3a0\"; }\n.bi-file-medical::before { content: \"\\f3a1\"; }\n.bi-file-minus-fill::before { content: \"\\f3a2\"; }\n.bi-file-minus::before { content: \"\\f3a3\"; }\n.bi-file-music-fill::before { content: \"\\f3a4\"; }\n.bi-file-music::before { content: \"\\f3a5\"; }\n.bi-file-person-fill::before { content: \"\\f3a6\"; }\n.bi-file-person::before { content: \"\\f3a7\"; }\n.bi-file-play-fill::before { content: \"\\f3a8\"; }\n.bi-file-play::before { content: \"\\f3a9\"; }\n.bi-file-plus-fill::before { content: \"\\f3aa\"; }\n.bi-file-plus::before { content: \"\\f3ab\"; }\n.bi-file-post-fill::before { content: \"\\f3ac\"; }\n.bi-file-post::before { content: \"\\f3ad\"; }\n.bi-file-ppt-fill::before { content: \"\\f3ae\"; }\n.bi-file-ppt::before { content: \"\\f3af\"; }\n.bi-file-richtext-fill::before { content: \"\\f3b0\"; }\n.bi-file-richtext::before { content: \"\\f3b1\"; }\n.bi-file-ruled-fill::before { content: \"\\f3b2\"; }\n.bi-file-ruled::before { content: \"\\f3b3\"; }\n.bi-file-slides-fill::before { content: \"\\f3b4\"; }\n.bi-file-slides::before { content: \"\\f3b5\"; }\n.bi-file-spreadsheet-fill::before { content: \"\\f3b6\"; }\n.bi-file-spreadsheet::before { content: \"\\f3b7\"; }\n.bi-file-text-fill::before { content: \"\\f3b8\"; }\n.bi-file-text::before { content: \"\\f3b9\"; }\n.bi-file-word-fill::before { content: \"\\f3ba\"; }\n.bi-file-word::before { content: \"\\f3bb\"; }\n.bi-file-x-fill::before { content: \"\\f3bc\"; }\n.bi-file-x::before { content: \"\\f3bd\"; }\n.bi-file-zip-fill::before { content: \"\\f3be\"; }\n.bi-file-zip::before { content: \"\\f3bf\"; }\n.bi-file::before { content: \"\\f3c0\"; }\n.bi-files-alt::before { content: \"\\f3c1\"; }\n.bi-files::before { content: \"\\f3c2\"; }\n.bi-film::before { content: \"\\f3c3\"; }\n.bi-filter-circle-fill::before { content: \"\\f3c4\"; }\n.bi-filter-circle::before { content: \"\\f3c5\"; }\n.bi-filter-left::before { content: \"\\f3c6\"; }\n.bi-filter-right::before { content: \"\\f3c7\"; }\n.bi-filter-square-fill::before { content: \"\\f3c8\"; }\n.bi-filter-square::before { content: \"\\f3c9\"; }\n.bi-filter::before { content: \"\\f3ca\"; }\n.bi-flag-fill::before { content: \"\\f3cb\"; }\n.bi-flag::before { content: \"\\f3cc\"; }\n.bi-flower1::before { content: \"\\f3cd\"; }\n.bi-flower2::before { content: \"\\f3ce\"; }\n.bi-flower3::before { content: \"\\f3cf\"; }\n.bi-folder-check::before { content: \"\\f3d0\"; }\n.bi-folder-fill::before { content: \"\\f3d1\"; }\n.bi-folder-minus::before { content: \"\\f3d2\"; }\n.bi-folder-plus::before { content: \"\\f3d3\"; }\n.bi-folder-symlink-fill::before { content: \"\\f3d4\"; }\n.bi-folder-symlink::before { content: \"\\f3d5\"; }\n.bi-folder-x::before { content: \"\\f3d6\"; }\n.bi-folder::before { content: \"\\f3d7\"; }\n.bi-folder2-open::before { content: \"\\f3d8\"; }\n.bi-folder2::before { content: \"\\f3d9\"; }\n.bi-fonts::before { content: \"\\f3da\"; }\n.bi-forward-fill::before { content: \"\\f3db\"; }\n.bi-forward::before { content: \"\\f3dc\"; }\n.bi-front::before { content: \"\\f3dd\"; }\n.bi-fullscreen-exit::before { content: \"\\f3de\"; }\n.bi-fullscreen::before { content: \"\\f3df\"; }\n.bi-funnel-fill::before { content: \"\\f3e0\"; }\n.bi-funnel::before { content: \"\\f3e1\"; }\n.bi-gear-fill::before { content: \"\\f3e2\"; }\n.bi-gear-wide-connected::before { content: \"\\f3e3\"; }\n.bi-gear-wide::before { content: \"\\f3e4\"; }\n.bi-gear::before { content: \"\\f3e5\"; }\n.bi-gem::before { content: \"\\f3e6\"; }\n.bi-geo-alt-fill::before { content: \"\\f3e7\"; }\n.bi-geo-alt::before { content: \"\\f3e8\"; }\n.bi-geo-fill::before { content: \"\\f3e9\"; }\n.bi-geo::before { content: \"\\f3ea\"; }\n.bi-gift-fill::before { content: \"\\f3eb\"; }\n.bi-gift::before { content: \"\\f3ec\"; }\n.bi-github::before { content: \"\\f3ed\"; }\n.bi-globe::before { content: \"\\f3ee\"; }\n.bi-globe2::before { content: \"\\f3ef\"; }\n.bi-google::before { content: \"\\f3f0\"; }\n.bi-graph-down::before { content: \"\\f3f1\"; }\n.bi-graph-up::before { content: \"\\f3f2\"; }\n.bi-grid-1x2-fill::before { content: \"\\f3f3\"; }\n.bi-grid-1x2::before { content: \"\\f3f4\"; }\n.bi-grid-3x2-gap-fill::before { content: \"\\f3f5\"; }\n.bi-grid-3x2-gap::before { content: \"\\f3f6\"; }\n.bi-grid-3x2::before { content: \"\\f3f7\"; }\n.bi-grid-3x3-gap-fill::before { content: \"\\f3f8\"; }\n.bi-grid-3x3-gap::before { content: \"\\f3f9\"; }\n.bi-grid-3x3::before { content: \"\\f3fa\"; }\n.bi-grid-fill::before { content: \"\\f3fb\"; }\n.bi-grid::before { content: \"\\f3fc\"; }\n.bi-grip-horizontal::before { content: \"\\f3fd\"; }\n.bi-grip-vertical::before { content: \"\\f3fe\"; }\n.bi-hammer::before { content: \"\\f3ff\"; }\n.bi-hand-index-fill::before { content: \"\\f400\"; }\n.bi-hand-index-thumb-fill::before { content: \"\\f401\"; }\n.bi-hand-index-thumb::before { content: \"\\f402\"; }\n.bi-hand-index::before { content: \"\\f403\"; }\n.bi-hand-thumbs-down-fill::before { content: \"\\f404\"; }\n.bi-hand-thumbs-down::before { content: \"\\f405\"; }\n.bi-hand-thumbs-up-fill::before { content: \"\\f406\"; }\n.bi-hand-thumbs-up::before { content: \"\\f407\"; }\n.bi-handbag-fill::before { content: \"\\f408\"; }\n.bi-handbag::before { content: \"\\f409\"; }\n.bi-hash::before { content: \"\\f40a\"; }\n.bi-hdd-fill::before { content: \"\\f40b\"; }\n.bi-hdd-network-fill::before { content: \"\\f40c\"; }\n.bi-hdd-network::before { content: \"\\f40d\"; }\n.bi-hdd-rack-fill::before { content: \"\\f40e\"; }\n.bi-hdd-rack::before { content: \"\\f40f\"; }\n.bi-hdd-stack-fill::before { content: \"\\f410\"; }\n.bi-hdd-stack::before { content: \"\\f411\"; }\n.bi-hdd::before { content: \"\\f412\"; }\n.bi-headphones::before { content: \"\\f413\"; }\n.bi-headset::before { content: \"\\f414\"; }\n.bi-heart-fill::before { content: \"\\f415\"; }\n.bi-heart-half::before { content: \"\\f416\"; }\n.bi-heart::before { content: \"\\f417\"; }\n.bi-heptagon-fill::before { content: \"\\f418\"; }\n.bi-heptagon-half::before { content: \"\\f419\"; }\n.bi-heptagon::before { content: \"\\f41a\"; }\n.bi-hexagon-fill::before { content: \"\\f41b\"; }\n.bi-hexagon-half::before { content: \"\\f41c\"; }\n.bi-hexagon::before { content: \"\\f41d\"; }\n.bi-hourglass-bottom::before { content: \"\\f41e\"; }\n.bi-hourglass-split::before { content: \"\\f41f\"; }\n.bi-hourglass-top::before { content: \"\\f420\"; }\n.bi-hourglass::before { content: \"\\f421\"; }\n.bi-house-door-fill::before { content: \"\\f422\"; }\n.bi-house-door::before { content: \"\\f423\"; }\n.bi-house-fill::before { content: \"\\f424\"; }\n.bi-house::before { content: \"\\f425\"; }\n.bi-hr::before { content: \"\\f426\"; }\n.bi-hurricane::before { content: \"\\f427\"; }\n.bi-image-alt::before { content: \"\\f428\"; }\n.bi-image-fill::before { content: \"\\f429\"; }\n.bi-image::before { content: \"\\f42a\"; }\n.bi-images::before { content: \"\\f42b\"; }\n.bi-inbox-fill::before { content: \"\\f42c\"; }\n.bi-inbox::before { content: \"\\f42d\"; }\n.bi-inboxes-fill::before { content: \"\\f42e\"; }\n.bi-inboxes::before { content: \"\\f42f\"; }\n.bi-info-circle-fill::before { content: \"\\f430\"; }\n.bi-info-circle::before { content: \"\\f431\"; }\n.bi-info-square-fill::before { content: \"\\f432\"; }\n.bi-info-square::before { content: \"\\f433\"; }\n.bi-info::before { content: \"\\f434\"; }\n.bi-input-cursor-text::before { content: \"\\f435\"; }\n.bi-input-cursor::before { content: \"\\f436\"; }\n.bi-instagram::before { content: \"\\f437\"; }\n.bi-intersect::before { content: \"\\f438\"; }\n.bi-journal-album::before { content: \"\\f439\"; }\n.bi-journal-arrow-down::before { content: \"\\f43a\"; }\n.bi-journal-arrow-up::before { content: \"\\f43b\"; }\n.bi-journal-bookmark-fill::before { content: \"\\f43c\"; }\n.bi-journal-bookmark::before { content: \"\\f43d\"; }\n.bi-journal-check::before { content: \"\\f43e\"; }\n.bi-journal-code::before { content: \"\\f43f\"; }\n.bi-journal-medical::before { content: \"\\f440\"; }\n.bi-journal-minus::before { content: \"\\f441\"; }\n.bi-journal-plus::before { content: \"\\f442\"; }\n.bi-journal-richtext::before { content: \"\\f443\"; }\n.bi-journal-text::before { content: \"\\f444\"; }\n.bi-journal-x::before { content: \"\\f445\"; }\n.bi-journal::before { content: \"\\f446\"; }\n.bi-journals::before { content: \"\\f447\"; }\n.bi-joystick::before { content: \"\\f448\"; }\n.bi-justify-left::before { content: \"\\f449\"; }\n.bi-justify-right::before { content: \"\\f44a\"; }\n.bi-justify::before { content: \"\\f44b\"; }\n.bi-kanban-fill::before { content: \"\\f44c\"; }\n.bi-kanban::before { content: \"\\f44d\"; }\n.bi-key-fill::before { content: \"\\f44e\"; }\n.bi-key::before { content: \"\\f44f\"; }\n.bi-keyboard-fill::before { content: \"\\f450\"; }\n.bi-keyboard::before { content: \"\\f451\"; }\n.bi-ladder::before { content: \"\\f452\"; }\n.bi-lamp-fill::before { content: \"\\f453\"; }\n.bi-lamp::before { content: \"\\f454\"; }\n.bi-laptop-fill::before { content: \"\\f455\"; }\n.bi-laptop::before { content: \"\\f456\"; }\n.bi-layer-backward::before { content: \"\\f457\"; }\n.bi-layer-forward::before { content: \"\\f458\"; }\n.bi-layers-fill::before { content: \"\\f459\"; }\n.bi-layers-half::before { content: \"\\f45a\"; }\n.bi-layers::before { content: \"\\f45b\"; }\n.bi-layout-sidebar-inset-reverse::before { content: \"\\f45c\"; }\n.bi-layout-sidebar-inset::before { content: \"\\f45d\"; }\n.bi-layout-sidebar-reverse::before { content: \"\\f45e\"; }\n.bi-layout-sidebar::before { content: \"\\f45f\"; }\n.bi-layout-split::before { content: \"\\f460\"; }\n.bi-layout-text-sidebar-reverse::before { content: \"\\f461\"; }\n.bi-layout-text-sidebar::before { content: \"\\f462\"; }\n.bi-layout-text-window-reverse::before { content: \"\\f463\"; }\n.bi-layout-text-window::before { content: \"\\f464\"; }\n.bi-layout-three-columns::before { content: \"\\f465\"; }\n.bi-layout-wtf::before { content: \"\\f466\"; }\n.bi-life-preserver::before { content: \"\\f467\"; }\n.bi-lightbulb-fill::before { content: \"\\f468\"; }\n.bi-lightbulb-off-fill::before { content: \"\\f469\"; }\n.bi-lightbulb-off::before { content: \"\\f46a\"; }\n.bi-lightbulb::before { content: \"\\f46b\"; }\n.bi-lightning-charge-fill::before { content: \"\\f46c\"; }\n.bi-lightning-charge::before { content: \"\\f46d\"; }\n.bi-lightning-fill::before { content: \"\\f46e\"; }\n.bi-lightning::before { content: \"\\f46f\"; }\n.bi-link-45deg::before { content: \"\\f470\"; }\n.bi-link::before { content: \"\\f471\"; }\n.bi-linkedin::before { content: \"\\f472\"; }\n.bi-list-check::before { content: \"\\f473\"; }\n.bi-list-nested::before { content: \"\\f474\"; }\n.bi-list-ol::before { content: \"\\f475\"; }\n.bi-list-stars::before { content: \"\\f476\"; }\n.bi-list-task::before { content: \"\\f477\"; }\n.bi-list-ul::before { content: \"\\f478\"; }\n.bi-list::before { content: \"\\f479\"; }\n.bi-lock-fill::before { content: \"\\f47a\"; }\n.bi-lock::before { content: \"\\f47b\"; }\n.bi-mailbox::before { content: \"\\f47c\"; }\n.bi-mailbox2::before { content: \"\\f47d\"; }\n.bi-map-fill::before { content: \"\\f47e\"; }\n.bi-map::before { content: \"\\f47f\"; }\n.bi-markdown-fill::before { content: \"\\f480\"; }\n.bi-markdown::before { content: \"\\f481\"; }\n.bi-mask::before { content: \"\\f482\"; }\n.bi-megaphone-fill::before { content: \"\\f483\"; }\n.bi-megaphone::before { content: \"\\f484\"; }\n.bi-menu-app-fill::before { content: \"\\f485\"; }\n.bi-menu-app::before { content: \"\\f486\"; }\n.bi-menu-button-fill::before { content: \"\\f487\"; }\n.bi-menu-button-wide-fill::before { content: \"\\f488\"; }\n.bi-menu-button-wide::before { content: \"\\f489\"; }\n.bi-menu-button::before { content: \"\\f48a\"; }\n.bi-menu-down::before { content: \"\\f48b\"; }\n.bi-menu-up::before { content: \"\\f48c\"; }\n.bi-mic-fill::before { content: \"\\f48d\"; }\n.bi-mic-mute-fill::before { content: \"\\f48e\"; }\n.bi-mic-mute::before { content: \"\\f48f\"; }\n.bi-mic::before { content: \"\\f490\"; }\n.bi-minecart-loaded::before { content: \"\\f491\"; }\n.bi-minecart::before { content: \"\\f492\"; }\n.bi-moisture::before { content: \"\\f493\"; }\n.bi-moon-fill::before { content: \"\\f494\"; }\n.bi-moon-stars-fill::before { content: \"\\f495\"; }\n.bi-moon-stars::before { content: \"\\f496\"; }\n.bi-moon::before { content: \"\\f497\"; }\n.bi-mouse-fill::before { content: \"\\f498\"; }\n.bi-mouse::before { content: \"\\f499\"; }\n.bi-mouse2-fill::before { content: \"\\f49a\"; }\n.bi-mouse2::before { content: \"\\f49b\"; }\n.bi-mouse3-fill::before { content: \"\\f49c\"; }\n.bi-mouse3::before { content: \"\\f49d\"; }\n.bi-music-note-beamed::before { content: \"\\f49e\"; }\n.bi-music-note-list::before { content: \"\\f49f\"; }\n.bi-music-note::before { content: \"\\f4a0\"; }\n.bi-music-player-fill::before { content: \"\\f4a1\"; }\n.bi-music-player::before { content: \"\\f4a2\"; }\n.bi-newspaper::before { content: \"\\f4a3\"; }\n.bi-node-minus-fill::before { content: \"\\f4a4\"; }\n.bi-node-minus::before { content: \"\\f4a5\"; }\n.bi-node-plus-fill::before { content: \"\\f4a6\"; }\n.bi-node-plus::before { content: \"\\f4a7\"; }\n.bi-nut-fill::before { content: \"\\f4a8\"; }\n.bi-nut::before { content: \"\\f4a9\"; }\n.bi-octagon-fill::before { content: \"\\f4aa\"; }\n.bi-octagon-half::before { content: \"\\f4ab\"; }\n.bi-octagon::before { content: \"\\f4ac\"; }\n.bi-option::before { content: \"\\f4ad\"; }\n.bi-outlet::before { content: \"\\f4ae\"; }\n.bi-paint-bucket::before { content: \"\\f4af\"; }\n.bi-palette-fill::before { content: \"\\f4b0\"; }\n.bi-palette::before { content: \"\\f4b1\"; }\n.bi-palette2::before { content: \"\\f4b2\"; }\n.bi-paperclip::before { content: \"\\f4b3\"; }\n.bi-paragraph::before { content: \"\\f4b4\"; }\n.bi-patch-check-fill::before { content: \"\\f4b5\"; }\n.bi-patch-check::before { content: \"\\f4b6\"; }\n.bi-patch-exclamation-fill::before { content: \"\\f4b7\"; }\n.bi-patch-exclamation::before { content: \"\\f4b8\"; }\n.bi-patch-minus-fill::before { content: \"\\f4b9\"; }\n.bi-patch-minus::before { content: \"\\f4ba\"; }\n.bi-patch-plus-fill::before { content: \"\\f4bb\"; }\n.bi-patch-plus::before { content: \"\\f4bc\"; }\n.bi-patch-question-fill::before { content: \"\\f4bd\"; }\n.bi-patch-question::before { content: \"\\f4be\"; }\n.bi-pause-btn-fill::before { content: \"\\f4bf\"; }\n.bi-pause-btn::before { content: \"\\f4c0\"; }\n.bi-pause-circle-fill::before { content: \"\\f4c1\"; }\n.bi-pause-circle::before { content: \"\\f4c2\"; }\n.bi-pause-fill::before { content: \"\\f4c3\"; }\n.bi-pause::before { content: \"\\f4c4\"; }\n.bi-peace-fill::before { content: \"\\f4c5\"; }\n.bi-peace::before { content: \"\\f4c6\"; }\n.bi-pen-fill::before { content: \"\\f4c7\"; }\n.bi-pen::before { content: \"\\f4c8\"; }\n.bi-pencil-fill::before { content: \"\\f4c9\"; }\n.bi-pencil-square::before { content: \"\\f4ca\"; }\n.bi-pencil::before { content: \"\\f4cb\"; }\n.bi-pentagon-fill::before { content: \"\\f4cc\"; }\n.bi-pentagon-half::before { content: \"\\f4cd\"; }\n.bi-pentagon::before { content: \"\\f4ce\"; }\n.bi-people-fill::before { content: \"\\f4cf\"; }\n.bi-people::before { content: \"\\f4d0\"; }\n.bi-percent::before { content: \"\\f4d1\"; }\n.bi-person-badge-fill::before { content: \"\\f4d2\"; }\n.bi-person-badge::before { content: \"\\f4d3\"; }\n.bi-person-bounding-box::before { content: \"\\f4d4\"; }\n.bi-person-check-fill::before { content: \"\\f4d5\"; }\n.bi-person-check::before { content: \"\\f4d6\"; }\n.bi-person-circle::before { content: \"\\f4d7\"; }\n.bi-person-dash-fill::before { content: \"\\f4d8\"; }\n.bi-person-dash::before { content: \"\\f4d9\"; }\n.bi-person-fill::before { content: \"\\f4da\"; }\n.bi-person-lines-fill::before { content: \"\\f4db\"; }\n.bi-person-plus-fill::before { content: \"\\f4dc\"; }\n.bi-person-plus::before { content: \"\\f4dd\"; }\n.bi-person-square::before { content: \"\\f4de\"; }\n.bi-person-x-fill::before { content: \"\\f4df\"; }\n.bi-person-x::before { content: \"\\f4e0\"; }\n.bi-person::before { content: \"\\f4e1\"; }\n.bi-phone-fill::before { content: \"\\f4e2\"; }\n.bi-phone-landscape-fill::before { content: \"\\f4e3\"; }\n.bi-phone-landscape::before { content: \"\\f4e4\"; }\n.bi-phone-vibrate-fill::before { content: \"\\f4e5\"; }\n.bi-phone-vibrate::before { content: \"\\f4e6\"; }\n.bi-phone::before { content: \"\\f4e7\"; }\n.bi-pie-chart-fill::before { content: \"\\f4e8\"; }\n.bi-pie-chart::before { content: \"\\f4e9\"; }\n.bi-pin-angle-fill::before { content: \"\\f4ea\"; }\n.bi-pin-angle::before { content: \"\\f4eb\"; }\n.bi-pin-fill::before { content: \"\\f4ec\"; }\n.bi-pin::before { content: \"\\f4ed\"; }\n.bi-pip-fill::before { content: \"\\f4ee\"; }\n.bi-pip::before { content: \"\\f4ef\"; }\n.bi-play-btn-fill::before { content: \"\\f4f0\"; }\n.bi-play-btn::before { content: \"\\f4f1\"; }\n.bi-play-circle-fill::before { content: \"\\f4f2\"; }\n.bi-play-circle::before { content: \"\\f4f3\"; }\n.bi-play-fill::before { content: \"\\f4f4\"; }\n.bi-play::before { content: \"\\f4f5\"; }\n.bi-plug-fill::before { content: \"\\f4f6\"; }\n.bi-plug::before { content: \"\\f4f7\"; }\n.bi-plus-circle-dotted::before { content: \"\\f4f8\"; }\n.bi-plus-circle-fill::before { content: \"\\f4f9\"; }\n.bi-plus-circle::before { content: \"\\f4fa\"; }\n.bi-plus-square-dotted::before { content: \"\\f4fb\"; }\n.bi-plus-square-fill::before { content: \"\\f4fc\"; }\n.bi-plus-square::before { content: \"\\f4fd\"; }\n.bi-plus::before { content: \"\\f4fe\"; }\n.bi-power::before { content: \"\\f4ff\"; }\n.bi-printer-fill::before { content: \"\\f500\"; }\n.bi-printer::before { content: \"\\f501\"; }\n.bi-puzzle-fill::before { content: \"\\f502\"; }\n.bi-puzzle::before { content: \"\\f503\"; }\n.bi-question-circle-fill::before { content: \"\\f504\"; }\n.bi-question-circle::before { content: \"\\f505\"; }\n.bi-question-diamond-fill::before { content: \"\\f506\"; }\n.bi-question-diamond::before { content: \"\\f507\"; }\n.bi-question-octagon-fill::before { content: \"\\f508\"; }\n.bi-question-octagon::before { content: \"\\f509\"; }\n.bi-question-square-fill::before { content: \"\\f50a\"; }\n.bi-question-square::before { content: \"\\f50b\"; }\n.bi-question::before { content: \"\\f50c\"; }\n.bi-rainbow::before { content: \"\\f50d\"; }\n.bi-receipt-cutoff::before { content: \"\\f50e\"; }\n.bi-receipt::before { content: \"\\f50f\"; }\n.bi-reception-0::before { content: \"\\f510\"; }\n.bi-reception-1::before { content: \"\\f511\"; }\n.bi-reception-2::before { content: \"\\f512\"; }\n.bi-reception-3::before { content: \"\\f513\"; }\n.bi-reception-4::before { content: \"\\f514\"; }\n.bi-record-btn-fill::before { content: \"\\f515\"; }\n.bi-record-btn::before { content: \"\\f516\"; }\n.bi-record-circle-fill::before { content: \"\\f517\"; }\n.bi-record-circle::before { content: \"\\f518\"; }\n.bi-record-fill::before { content: \"\\f519\"; }\n.bi-record::before { content: \"\\f51a\"; }\n.bi-record2-fill::before { content: \"\\f51b\"; }\n.bi-record2::before { content: \"\\f51c\"; }\n.bi-reply-all-fill::before { content: \"\\f51d\"; }\n.bi-reply-all::before { content: \"\\f51e\"; }\n.bi-reply-fill::before { content: \"\\f51f\"; }\n.bi-reply::before { content: \"\\f520\"; }\n.bi-rss-fill::before { content: \"\\f521\"; }\n.bi-rss::before { content: \"\\f522\"; }\n.bi-rulers::before { content: \"\\f523\"; }\n.bi-save-fill::before { content: \"\\f524\"; }\n.bi-save::before { content: \"\\f525\"; }\n.bi-save2-fill::before { content: \"\\f526\"; }\n.bi-save2::before { content: \"\\f527\"; }\n.bi-scissors::before { content: \"\\f528\"; }\n.bi-screwdriver::before { content: \"\\f529\"; }\n.bi-search::before { content: \"\\f52a\"; }\n.bi-segmented-nav::before { content: \"\\f52b\"; }\n.bi-server::before { content: \"\\f52c\"; }\n.bi-share-fill::before { content: \"\\f52d\"; }\n.bi-share::before { content: \"\\f52e\"; }\n.bi-shield-check::before { content: \"\\f52f\"; }\n.bi-shield-exclamation::before { content: \"\\f530\"; }\n.bi-shield-fill-check::before { content: \"\\f531\"; }\n.bi-shield-fill-exclamation::before { content: \"\\f532\"; }\n.bi-shield-fill-minus::before { content: \"\\f533\"; }\n.bi-shield-fill-plus::before { content: \"\\f534\"; }\n.bi-shield-fill-x::before { content: \"\\f535\"; }\n.bi-shield-fill::before { content: \"\\f536\"; }\n.bi-shield-lock-fill::before { content: \"\\f537\"; }\n.bi-shield-lock::before { content: \"\\f538\"; }\n.bi-shield-minus::before { content: \"\\f539\"; }\n.bi-shield-plus::before { content: \"\\f53a\"; }\n.bi-shield-shaded::before { content: \"\\f53b\"; }\n.bi-shield-slash-fill::before { content: \"\\f53c\"; }\n.bi-shield-slash::before { content: \"\\f53d\"; }\n.bi-shield-x::before { content: \"\\f53e\"; }\n.bi-shield::before { content: \"\\f53f\"; }\n.bi-shift-fill::before { content: \"\\f540\"; }\n.bi-shift::before { content: \"\\f541\"; }\n.bi-shop-window::before { content: \"\\f542\"; }\n.bi-shop::before { content: \"\\f543\"; }\n.bi-shuffle::before { content: \"\\f544\"; }\n.bi-signpost-2-fill::before { content: \"\\f545\"; }\n.bi-signpost-2::before { content: \"\\f546\"; }\n.bi-signpost-fill::before { content: \"\\f547\"; }\n.bi-signpost-split-fill::before { content: \"\\f548\"; }\n.bi-signpost-split::before { content: \"\\f549\"; }\n.bi-signpost::before { content: \"\\f54a\"; }\n.bi-sim-fill::before { content: \"\\f54b\"; }\n.bi-sim::before { content: \"\\f54c\"; }\n.bi-skip-backward-btn-fill::before { content: \"\\f54d\"; }\n.bi-skip-backward-btn::before { content: \"\\f54e\"; }\n.bi-skip-backward-circle-fill::before { content: \"\\f54f\"; }\n.bi-skip-backward-circle::before { content: \"\\f550\"; }\n.bi-skip-backward-fill::before { content: \"\\f551\"; }\n.bi-skip-backward::before { content: \"\\f552\"; }\n.bi-skip-end-btn-fill::before { content: \"\\f553\"; }\n.bi-skip-end-btn::before { content: \"\\f554\"; }\n.bi-skip-end-circle-fill::before { content: \"\\f555\"; }\n.bi-skip-end-circle::before { content: \"\\f556\"; }\n.bi-skip-end-fill::before { content: \"\\f557\"; }\n.bi-skip-end::before { content: \"\\f558\"; }\n.bi-skip-forward-btn-fill::before { content: \"\\f559\"; }\n.bi-skip-forward-btn::before { content: \"\\f55a\"; }\n.bi-skip-forward-circle-fill::before { content: \"\\f55b\"; }\n.bi-skip-forward-circle::before { content: \"\\f55c\"; }\n.bi-skip-forward-fill::before { content: \"\\f55d\"; }\n.bi-skip-forward::before { content: \"\\f55e\"; }\n.bi-skip-start-btn-fill::before { content: \"\\f55f\"; }\n.bi-skip-start-btn::before { content: \"\\f560\"; }\n.bi-skip-start-circle-fill::before { content: \"\\f561\"; }\n.bi-skip-start-circle::before { content: \"\\f562\"; }\n.bi-skip-start-fill::before { content: \"\\f563\"; }\n.bi-skip-start::before { content: \"\\f564\"; }\n.bi-slack::before { content: \"\\f565\"; }\n.bi-slash-circle-fill::before { content: \"\\f566\"; }\n.bi-slash-circle::before { content: \"\\f567\"; }\n.bi-slash-square-fill::before { content: \"\\f568\"; }\n.bi-slash-square::before { content: \"\\f569\"; }\n.bi-slash::before { content: \"\\f56a\"; }\n.bi-sliders::before { content: \"\\f56b\"; }\n.bi-smartwatch::before { content: \"\\f56c\"; }\n.bi-snow::before { content: \"\\f56d\"; }\n.bi-snow2::before { content: \"\\f56e\"; }\n.bi-snow3::before { content: \"\\f56f\"; }\n.bi-sort-alpha-down-alt::before { content: \"\\f570\"; }\n.bi-sort-alpha-down::before { content: \"\\f571\"; }\n.bi-sort-alpha-up-alt::before { content: \"\\f572\"; }\n.bi-sort-alpha-up::before { content: \"\\f573\"; }\n.bi-sort-down-alt::before { content: \"\\f574\"; }\n.bi-sort-down::before { content: \"\\f575\"; }\n.bi-sort-numeric-down-alt::before { content: \"\\f576\"; }\n.bi-sort-numeric-down::before { content: \"\\f577\"; }\n.bi-sort-numeric-up-alt::before { content: \"\\f578\"; }\n.bi-sort-numeric-up::before { content: \"\\f579\"; }\n.bi-sort-up-alt::before { content: \"\\f57a\"; }\n.bi-sort-up::before { content: \"\\f57b\"; }\n.bi-soundwave::before { content: \"\\f57c\"; }\n.bi-speaker-fill::before { content: \"\\f57d\"; }\n.bi-speaker::before { content: \"\\f57e\"; }\n.bi-speedometer::before { content: \"\\f57f\"; }\n.bi-speedometer2::before { content: \"\\f580\"; }\n.bi-spellcheck::before { content: \"\\f581\"; }\n.bi-square-fill::before { content: \"\\f582\"; }\n.bi-square-half::before { content: \"\\f583\"; }\n.bi-square::before { content: \"\\f584\"; }\n.bi-stack::before { content: \"\\f585\"; }\n.bi-star-fill::before { content: \"\\f586\"; }\n.bi-star-half::before { content: \"\\f587\"; }\n.bi-star::before { content: \"\\f588\"; }\n.bi-stars::before { content: \"\\f589\"; }\n.bi-stickies-fill::before { content: \"\\f58a\"; }\n.bi-stickies::before { content: \"\\f58b\"; }\n.bi-sticky-fill::before { content: \"\\f58c\"; }\n.bi-sticky::before { content: \"\\f58d\"; }\n.bi-stop-btn-fill::before { content: \"\\f58e\"; }\n.bi-stop-btn::before { content: \"\\f58f\"; }\n.bi-stop-circle-fill::before { content: \"\\f590\"; }\n.bi-stop-circle::before { content: \"\\f591\"; }\n.bi-stop-fill::before { content: \"\\f592\"; }\n.bi-stop::before { content: \"\\f593\"; }\n.bi-stoplights-fill::before { content: \"\\f594\"; }\n.bi-stoplights::before { content: \"\\f595\"; }\n.bi-stopwatch-fill::before { content: \"\\f596\"; }\n.bi-stopwatch::before { content: \"\\f597\"; }\n.bi-subtract::before { content: \"\\f598\"; }\n.bi-suit-club-fill::before { content: \"\\f599\"; }\n.bi-suit-club::before { content: \"\\f59a\"; }\n.bi-suit-diamond-fill::before { content: \"\\f59b\"; }\n.bi-suit-diamond::before { content: \"\\f59c\"; }\n.bi-suit-heart-fill::before { content: \"\\f59d\"; }\n.bi-suit-heart::before { content: \"\\f59e\"; }\n.bi-suit-spade-fill::before { content: \"\\f59f\"; }\n.bi-suit-spade::before { content: \"\\f5a0\"; }\n.bi-sun-fill::before { content: \"\\f5a1\"; }\n.bi-sun::before { content: \"\\f5a2\"; }\n.bi-sunglasses::before { content: \"\\f5a3\"; }\n.bi-sunrise-fill::before { content: \"\\f5a4\"; }\n.bi-sunrise::before { content: \"\\f5a5\"; }\n.bi-sunset-fill::before { content: \"\\f5a6\"; }\n.bi-sunset::before { content: \"\\f5a7\"; }\n.bi-symmetry-horizontal::before { content: \"\\f5a8\"; }\n.bi-symmetry-vertical::before { content: \"\\f5a9\"; }\n.bi-table::before { content: \"\\f5aa\"; }\n.bi-tablet-fill::before { content: \"\\f5ab\"; }\n.bi-tablet-landscape-fill::before { content: \"\\f5ac\"; }\n.bi-tablet-landscape::before { content: \"\\f5ad\"; }\n.bi-tablet::before { content: \"\\f5ae\"; }\n.bi-tag-fill::before { content: \"\\f5af\"; }\n.bi-tag::before { content: \"\\f5b0\"; }\n.bi-tags-fill::before { content: \"\\f5b1\"; }\n.bi-tags::before { content: \"\\f5b2\"; }\n.bi-telegram::before { content: \"\\f5b3\"; }\n.bi-telephone-fill::before { content: \"\\f5b4\"; }\n.bi-telephone-forward-fill::before { content: \"\\f5b5\"; }\n.bi-telephone-forward::before { content: \"\\f5b6\"; }\n.bi-telephone-inbound-fill::before { content: \"\\f5b7\"; }\n.bi-telephone-inbound::before { content: \"\\f5b8\"; }\n.bi-telephone-minus-fill::before { content: \"\\f5b9\"; }\n.bi-telephone-minus::before { content: \"\\f5ba\"; }\n.bi-telephone-outbound-fill::before { content: \"\\f5bb\"; }\n.bi-telephone-outbound::before { content: \"\\f5bc\"; }\n.bi-telephone-plus-fill::before { content: \"\\f5bd\"; }\n.bi-telephone-plus::before { content: \"\\f5be\"; }\n.bi-telephone-x-fill::before { content: \"\\f5bf\"; }\n.bi-telephone-x::before { content: \"\\f5c0\"; }\n.bi-telephone::before { content: \"\\f5c1\"; }\n.bi-terminal-fill::before { content: \"\\f5c2\"; }\n.bi-terminal::before { content: \"\\f5c3\"; }\n.bi-text-center::before { content: \"\\f5c4\"; }\n.bi-text-indent-left::before { content: \"\\f5c5\"; }\n.bi-text-indent-right::before { content: \"\\f5c6\"; }\n.bi-text-left::before { content: \"\\f5c7\"; }\n.bi-text-paragraph::before { content: \"\\f5c8\"; }\n.bi-text-right::before { content: \"\\f5c9\"; }\n.bi-textarea-resize::before { content: \"\\f5ca\"; }\n.bi-textarea-t::before { content: \"\\f5cb\"; }\n.bi-textarea::before { content: \"\\f5cc\"; }\n.bi-thermometer-half::before { content: \"\\f5cd\"; }\n.bi-thermometer-high::before { content: \"\\f5ce\"; }\n.bi-thermometer-low::before { content: \"\\f5cf\"; }\n.bi-thermometer-snow::before { content: \"\\f5d0\"; }\n.bi-thermometer-sun::before { content: \"\\f5d1\"; }\n.bi-thermometer::before { content: \"\\f5d2\"; }\n.bi-three-dots-vertical::before { content: \"\\f5d3\"; }\n.bi-three-dots::before { content: \"\\f5d4\"; }\n.bi-toggle-off::before { content: \"\\f5d5\"; }\n.bi-toggle-on::before { content: \"\\f5d6\"; }\n.bi-toggle2-off::before { content: \"\\f5d7\"; }\n.bi-toggle2-on::before { content: \"\\f5d8\"; }\n.bi-toggles::before { content: \"\\f5d9\"; }\n.bi-toggles2::before { content: \"\\f5da\"; }\n.bi-tools::before { content: \"\\f5db\"; }\n.bi-tornado::before { content: \"\\f5dc\"; }\n.bi-trash-fill::before { content: \"\\f5dd\"; }\n.bi-trash::before { content: \"\\f5de\"; }\n.bi-trash2-fill::before { content: \"\\f5df\"; }\n.bi-trash2::before { content: \"\\f5e0\"; }\n.bi-tree-fill::before { content: \"\\f5e1\"; }\n.bi-tree::before { content: \"\\f5e2\"; }\n.bi-triangle-fill::before { content: \"\\f5e3\"; }\n.bi-triangle-half::before { content: \"\\f5e4\"; }\n.bi-triangle::before { content: \"\\f5e5\"; }\n.bi-trophy-fill::before { content: \"\\f5e6\"; }\n.bi-trophy::before { content: \"\\f5e7\"; }\n.bi-tropical-storm::before { content: \"\\f5e8\"; }\n.bi-truck-flatbed::before { content: \"\\f5e9\"; }\n.bi-truck::before { content: \"\\f5ea\"; }\n.bi-tsunami::before { content: \"\\f5eb\"; }\n.bi-tv-fill::before { content: \"\\f5ec\"; }\n.bi-tv::before { content: \"\\f5ed\"; }\n.bi-twitch::before { content: \"\\f5ee\"; }\n.bi-twitter::before { content: \"\\f5ef\"; }\n.bi-type-bold::before { content: \"\\f5f0\"; }\n.bi-type-h1::before { content: \"\\f5f1\"; }\n.bi-type-h2::before { content: \"\\f5f2\"; }\n.bi-type-h3::before { content: \"\\f5f3\"; }\n.bi-type-italic::before { content: \"\\f5f4\"; }\n.bi-type-strikethrough::before { content: \"\\f5f5\"; }\n.bi-type-underline::before { content: \"\\f5f6\"; }\n.bi-type::before { content: \"\\f5f7\"; }\n.bi-ui-checks-grid::before { content: \"\\f5f8\"; }\n.bi-ui-checks::before { content: \"\\f5f9\"; }\n.bi-ui-radios-grid::before { content: \"\\f5fa\"; }\n.bi-ui-radios::before { content: \"\\f5fb\"; }\n.bi-umbrella-fill::before { content: \"\\f5fc\"; }\n.bi-umbrella::before { content: \"\\f5fd\"; }\n.bi-union::before { content: \"\\f5fe\"; }\n.bi-unlock-fill::before { content: \"\\f5ff\"; }\n.bi-unlock::before { content: \"\\f600\"; }\n.bi-upc-scan::before { content: \"\\f601\"; }\n.bi-upc::before { content: \"\\f602\"; }\n.bi-upload::before { content: \"\\f603\"; }\n.bi-vector-pen::before { content: \"\\f604\"; }\n.bi-view-list::before { content: \"\\f605\"; }\n.bi-view-stacked::before { content: \"\\f606\"; }\n.bi-vinyl-fill::before { content: \"\\f607\"; }\n.bi-vinyl::before { content: \"\\f608\"; }\n.bi-voicemail::before { content: \"\\f609\"; }\n.bi-volume-down-fill::before { content: \"\\f60a\"; }\n.bi-volume-down::before { content: \"\\f60b\"; }\n.bi-volume-mute-fill::before { content: \"\\f60c\"; }\n.bi-volume-mute::before { content: \"\\f60d\"; }\n.bi-volume-off-fill::before { content: \"\\f60e\"; }\n.bi-volume-off::before { content: \"\\f60f\"; }\n.bi-volume-up-fill::before { content: \"\\f610\"; }\n.bi-volume-up::before { content: \"\\f611\"; }\n.bi-vr::before { content: \"\\f612\"; }\n.bi-wallet-fill::before { content: \"\\f613\"; }\n.bi-wallet::before { content: \"\\f614\"; }\n.bi-wallet2::before { content: \"\\f615\"; }\n.bi-watch::before { content: \"\\f616\"; }\n.bi-water::before { content: \"\\f617\"; }\n.bi-whatsapp::before { content: \"\\f618\"; }\n.bi-wifi-1::before { content: \"\\f619\"; }\n.bi-wifi-2::before { content: \"\\f61a\"; }\n.bi-wifi-off::before { content: \"\\f61b\"; }\n.bi-wifi::before { content: \"\\f61c\"; }\n.bi-wind::before { content: \"\\f61d\"; }\n.bi-window-dock::before { content: \"\\f61e\"; }\n.bi-window-sidebar::before { content: \"\\f61f\"; }\n.bi-window::before { content: \"\\f620\"; }\n.bi-wrench::before { content: \"\\f621\"; }\n.bi-x-circle-fill::before { content: \"\\f622\"; }\n.bi-x-circle::before { content: \"\\f623\"; }\n.bi-x-diamond-fill::before { content: \"\\f624\"; }\n.bi-x-diamond::before { content: \"\\f625\"; }\n.bi-x-octagon-fill::before { content: \"\\f626\"; }\n.bi-x-octagon::before { content: \"\\f627\"; }\n.bi-x-square-fill::before { content: \"\\f628\"; }\n.bi-x-square::before { content: \"\\f629\"; }\n.bi-x::before { content: \"\\f62a\"; }\n.bi-youtube::before { content: \"\\f62b\"; }\n.bi-zoom-in::before { content: \"\\f62c\"; }\n.bi-zoom-out::before { content: \"\\f62d\"; }\n"
  },
  {
    "path": "bl-kernel/vendors/bootstrap-icons/bootstrap-icons.json",
    "content": "{\n  \"alarm-fill\": 61697,\n  \"alarm\": 61698,\n  \"align-bottom\": 61699,\n  \"align-center\": 61700,\n  \"align-end\": 61701,\n  \"align-middle\": 61702,\n  \"align-start\": 61703,\n  \"align-top\": 61704,\n  \"alt\": 61705,\n  \"app-indicator\": 61706,\n  \"app\": 61707,\n  \"archive-fill\": 61708,\n  \"archive\": 61709,\n  \"arrow-90deg-down\": 61710,\n  \"arrow-90deg-left\": 61711,\n  \"arrow-90deg-right\": 61712,\n  \"arrow-90deg-up\": 61713,\n  \"arrow-bar-down\": 61714,\n  \"arrow-bar-left\": 61715,\n  \"arrow-bar-right\": 61716,\n  \"arrow-bar-up\": 61717,\n  \"arrow-clockwise\": 61718,\n  \"arrow-counterclockwise\": 61719,\n  \"arrow-down-circle-fill\": 61720,\n  \"arrow-down-circle\": 61721,\n  \"arrow-down-left-circle-fill\": 61722,\n  \"arrow-down-left-circle\": 61723,\n  \"arrow-down-left-square-fill\": 61724,\n  \"arrow-down-left-square\": 61725,\n  \"arrow-down-left\": 61726,\n  \"arrow-down-right-circle-fill\": 61727,\n  \"arrow-down-right-circle\": 61728,\n  \"arrow-down-right-square-fill\": 61729,\n  \"arrow-down-right-square\": 61730,\n  \"arrow-down-right\": 61731,\n  \"arrow-down-short\": 61732,\n  \"arrow-down-square-fill\": 61733,\n  \"arrow-down-square\": 61734,\n  \"arrow-down-up\": 61735,\n  \"arrow-down\": 61736,\n  \"arrow-left-circle-fill\": 61737,\n  \"arrow-left-circle\": 61738,\n  \"arrow-left-right\": 61739,\n  \"arrow-left-short\": 61740,\n  \"arrow-left-square-fill\": 61741,\n  \"arrow-left-square\": 61742,\n  \"arrow-left\": 61743,\n  \"arrow-repeat\": 61744,\n  \"arrow-return-left\": 61745,\n  \"arrow-return-right\": 61746,\n  \"arrow-right-circle-fill\": 61747,\n  \"arrow-right-circle\": 61748,\n  \"arrow-right-short\": 61749,\n  \"arrow-right-square-fill\": 61750,\n  \"arrow-right-square\": 61751,\n  \"arrow-right\": 61752,\n  \"arrow-up-circle-fill\": 61753,\n  \"arrow-up-circle\": 61754,\n  \"arrow-up-left-circle-fill\": 61755,\n  \"arrow-up-left-circle\": 61756,\n  \"arrow-up-left-square-fill\": 61757,\n  \"arrow-up-left-square\": 61758,\n  \"arrow-up-left\": 61759,\n  \"arrow-up-right-circle-fill\": 61760,\n  \"arrow-up-right-circle\": 61761,\n  \"arrow-up-right-square-fill\": 61762,\n  \"arrow-up-right-square\": 61763,\n  \"arrow-up-right\": 61764,\n  \"arrow-up-short\": 61765,\n  \"arrow-up-square-fill\": 61766,\n  \"arrow-up-square\": 61767,\n  \"arrow-up\": 61768,\n  \"arrows-angle-contract\": 61769,\n  \"arrows-angle-expand\": 61770,\n  \"arrows-collapse\": 61771,\n  \"arrows-expand\": 61772,\n  \"arrows-fullscreen\": 61773,\n  \"arrows-move\": 61774,\n  \"aspect-ratio-fill\": 61775,\n  \"aspect-ratio\": 61776,\n  \"asterisk\": 61777,\n  \"at\": 61778,\n  \"award-fill\": 61779,\n  \"award\": 61780,\n  \"back\": 61781,\n  \"backspace-fill\": 61782,\n  \"backspace-reverse-fill\": 61783,\n  \"backspace-reverse\": 61784,\n  \"backspace\": 61785,\n  \"badge-3d-fill\": 61786,\n  \"badge-3d\": 61787,\n  \"badge-4k-fill\": 61788,\n  \"badge-4k\": 61789,\n  \"badge-8k-fill\": 61790,\n  \"badge-8k\": 61791,\n  \"badge-ad-fill\": 61792,\n  \"badge-ad\": 61793,\n  \"badge-ar-fill\": 61794,\n  \"badge-ar\": 61795,\n  \"badge-cc-fill\": 61796,\n  \"badge-cc\": 61797,\n  \"badge-hd-fill\": 61798,\n  \"badge-hd\": 61799,\n  \"badge-tm-fill\": 61800,\n  \"badge-tm\": 61801,\n  \"badge-vo-fill\": 61802,\n  \"badge-vo\": 61803,\n  \"badge-vr-fill\": 61804,\n  \"badge-vr\": 61805,\n  \"badge-wc-fill\": 61806,\n  \"badge-wc\": 61807,\n  \"bag-check-fill\": 61808,\n  \"bag-check\": 61809,\n  \"bag-dash-fill\": 61810,\n  \"bag-dash\": 61811,\n  \"bag-fill\": 61812,\n  \"bag-plus-fill\": 61813,\n  \"bag-plus\": 61814,\n  \"bag-x-fill\": 61815,\n  \"bag-x\": 61816,\n  \"bag\": 61817,\n  \"bar-chart-fill\": 61818,\n  \"bar-chart-line-fill\": 61819,\n  \"bar-chart-line\": 61820,\n  \"bar-chart-steps\": 61821,\n  \"bar-chart\": 61822,\n  \"basket-fill\": 61823,\n  \"basket\": 61824,\n  \"basket2-fill\": 61825,\n  \"basket2\": 61826,\n  \"basket3-fill\": 61827,\n  \"basket3\": 61828,\n  \"battery-charging\": 61829,\n  \"battery-full\": 61830,\n  \"battery-half\": 61831,\n  \"battery\": 61832,\n  \"bell-fill\": 61833,\n  \"bell\": 61834,\n  \"bezier\": 61835,\n  \"bezier2\": 61836,\n  \"bicycle\": 61837,\n  \"binoculars-fill\": 61838,\n  \"binoculars\": 61839,\n  \"blockquote-left\": 61840,\n  \"blockquote-right\": 61841,\n  \"book-fill\": 61842,\n  \"book-half\": 61843,\n  \"book\": 61844,\n  \"bookmark-check-fill\": 61845,\n  \"bookmark-check\": 61846,\n  \"bookmark-dash-fill\": 61847,\n  \"bookmark-dash\": 61848,\n  \"bookmark-fill\": 61849,\n  \"bookmark-heart-fill\": 61850,\n  \"bookmark-heart\": 61851,\n  \"bookmark-plus-fill\": 61852,\n  \"bookmark-plus\": 61853,\n  \"bookmark-star-fill\": 61854,\n  \"bookmark-star\": 61855,\n  \"bookmark-x-fill\": 61856,\n  \"bookmark-x\": 61857,\n  \"bookmark\": 61858,\n  \"bookmarks-fill\": 61859,\n  \"bookmarks\": 61860,\n  \"bookshelf\": 61861,\n  \"bootstrap-fill\": 61862,\n  \"bootstrap-reboot\": 61863,\n  \"bootstrap\": 61864,\n  \"border-all\": 61865,\n  \"border-bottom\": 61866,\n  \"border-center\": 61867,\n  \"border-inner\": 61868,\n  \"border-left\": 61869,\n  \"border-middle\": 61870,\n  \"border-outer\": 61871,\n  \"border-right\": 61872,\n  \"border-style\": 61873,\n  \"border-top\": 61874,\n  \"border-width\": 61875,\n  \"border\": 61876,\n  \"bounding-box-circles\": 61877,\n  \"bounding-box\": 61878,\n  \"box-arrow-down-left\": 61879,\n  \"box-arrow-down-right\": 61880,\n  \"box-arrow-down\": 61881,\n  \"box-arrow-in-down-left\": 61882,\n  \"box-arrow-in-down-right\": 61883,\n  \"box-arrow-in-down\": 61884,\n  \"box-arrow-in-left\": 61885,\n  \"box-arrow-in-right\": 61886,\n  \"box-arrow-in-up-left\": 61887,\n  \"box-arrow-in-up-right\": 61888,\n  \"box-arrow-in-up\": 61889,\n  \"box-arrow-left\": 61890,\n  \"box-arrow-right\": 61891,\n  \"box-arrow-up-left\": 61892,\n  \"box-arrow-up-right\": 61893,\n  \"box-arrow-up\": 61894,\n  \"box-seam\": 61895,\n  \"box\": 61896,\n  \"braces\": 61897,\n  \"bricks\": 61898,\n  \"briefcase-fill\": 61899,\n  \"briefcase\": 61900,\n  \"brightness-alt-high-fill\": 61901,\n  \"brightness-alt-high\": 61902,\n  \"brightness-alt-low-fill\": 61903,\n  \"brightness-alt-low\": 61904,\n  \"brightness-high-fill\": 61905,\n  \"brightness-high\": 61906,\n  \"brightness-low-fill\": 61907,\n  \"brightness-low\": 61908,\n  \"broadcast-pin\": 61909,\n  \"broadcast\": 61910,\n  \"brush-fill\": 61911,\n  \"brush\": 61912,\n  \"bucket-fill\": 61913,\n  \"bucket\": 61914,\n  \"bug-fill\": 61915,\n  \"bug\": 61916,\n  \"building\": 61917,\n  \"bullseye\": 61918,\n  \"calculator-fill\": 61919,\n  \"calculator\": 61920,\n  \"calendar-check-fill\": 61921,\n  \"calendar-check\": 61922,\n  \"calendar-date-fill\": 61923,\n  \"calendar-date\": 61924,\n  \"calendar-day-fill\": 61925,\n  \"calendar-day\": 61926,\n  \"calendar-event-fill\": 61927,\n  \"calendar-event\": 61928,\n  \"calendar-fill\": 61929,\n  \"calendar-minus-fill\": 61930,\n  \"calendar-minus\": 61931,\n  \"calendar-month-fill\": 61932,\n  \"calendar-month\": 61933,\n  \"calendar-plus-fill\": 61934,\n  \"calendar-plus\": 61935,\n  \"calendar-range-fill\": 61936,\n  \"calendar-range\": 61937,\n  \"calendar-week-fill\": 61938,\n  \"calendar-week\": 61939,\n  \"calendar-x-fill\": 61940,\n  \"calendar-x\": 61941,\n  \"calendar\": 61942,\n  \"calendar2-check-fill\": 61943,\n  \"calendar2-check\": 61944,\n  \"calendar2-date-fill\": 61945,\n  \"calendar2-date\": 61946,\n  \"calendar2-day-fill\": 61947,\n  \"calendar2-day\": 61948,\n  \"calendar2-event-fill\": 61949,\n  \"calendar2-event\": 61950,\n  \"calendar2-fill\": 61951,\n  \"calendar2-minus-fill\": 61952,\n  \"calendar2-minus\": 61953,\n  \"calendar2-month-fill\": 61954,\n  \"calendar2-month\": 61955,\n  \"calendar2-plus-fill\": 61956,\n  \"calendar2-plus\": 61957,\n  \"calendar2-range-fill\": 61958,\n  \"calendar2-range\": 61959,\n  \"calendar2-week-fill\": 61960,\n  \"calendar2-week\": 61961,\n  \"calendar2-x-fill\": 61962,\n  \"calendar2-x\": 61963,\n  \"calendar2\": 61964,\n  \"calendar3-event-fill\": 61965,\n  \"calendar3-event\": 61966,\n  \"calendar3-fill\": 61967,\n  \"calendar3-range-fill\": 61968,\n  \"calendar3-range\": 61969,\n  \"calendar3-week-fill\": 61970,\n  \"calendar3-week\": 61971,\n  \"calendar3\": 61972,\n  \"calendar4-event\": 61973,\n  \"calendar4-range\": 61974,\n  \"calendar4-week\": 61975,\n  \"calendar4\": 61976,\n  \"camera-fill\": 61977,\n  \"camera-reels-fill\": 61978,\n  \"camera-reels\": 61979,\n  \"camera-video-fill\": 61980,\n  \"camera-video-off-fill\": 61981,\n  \"camera-video-off\": 61982,\n  \"camera-video\": 61983,\n  \"camera\": 61984,\n  \"camera2\": 61985,\n  \"capslock-fill\": 61986,\n  \"capslock\": 61987,\n  \"card-checklist\": 61988,\n  \"card-heading\": 61989,\n  \"card-image\": 61990,\n  \"card-list\": 61991,\n  \"card-text\": 61992,\n  \"caret-down-fill\": 61993,\n  \"caret-down-square-fill\": 61994,\n  \"caret-down-square\": 61995,\n  \"caret-down\": 61996,\n  \"caret-left-fill\": 61997,\n  \"caret-left-square-fill\": 61998,\n  \"caret-left-square\": 61999,\n  \"caret-left\": 62000,\n  \"caret-right-fill\": 62001,\n  \"caret-right-square-fill\": 62002,\n  \"caret-right-square\": 62003,\n  \"caret-right\": 62004,\n  \"caret-up-fill\": 62005,\n  \"caret-up-square-fill\": 62006,\n  \"caret-up-square\": 62007,\n  \"caret-up\": 62008,\n  \"cart-check-fill\": 62009,\n  \"cart-check\": 62010,\n  \"cart-dash-fill\": 62011,\n  \"cart-dash\": 62012,\n  \"cart-fill\": 62013,\n  \"cart-plus-fill\": 62014,\n  \"cart-plus\": 62015,\n  \"cart-x-fill\": 62016,\n  \"cart-x\": 62017,\n  \"cart\": 62018,\n  \"cart2\": 62019,\n  \"cart3\": 62020,\n  \"cart4\": 62021,\n  \"cash-stack\": 62022,\n  \"cash\": 62023,\n  \"cast\": 62024,\n  \"chat-dots-fill\": 62025,\n  \"chat-dots\": 62026,\n  \"chat-fill\": 62027,\n  \"chat-left-dots-fill\": 62028,\n  \"chat-left-dots\": 62029,\n  \"chat-left-fill\": 62030,\n  \"chat-left-quote-fill\": 62031,\n  \"chat-left-quote\": 62032,\n  \"chat-left-text-fill\": 62033,\n  \"chat-left-text\": 62034,\n  \"chat-left\": 62035,\n  \"chat-quote-fill\": 62036,\n  \"chat-quote\": 62037,\n  \"chat-right-dots-fill\": 62038,\n  \"chat-right-dots\": 62039,\n  \"chat-right-fill\": 62040,\n  \"chat-right-quote-fill\": 62041,\n  \"chat-right-quote\": 62042,\n  \"chat-right-text-fill\": 62043,\n  \"chat-right-text\": 62044,\n  \"chat-right\": 62045,\n  \"chat-square-dots-fill\": 62046,\n  \"chat-square-dots\": 62047,\n  \"chat-square-fill\": 62048,\n  \"chat-square-quote-fill\": 62049,\n  \"chat-square-quote\": 62050,\n  \"chat-square-text-fill\": 62051,\n  \"chat-square-text\": 62052,\n  \"chat-square\": 62053,\n  \"chat-text-fill\": 62054,\n  \"chat-text\": 62055,\n  \"chat\": 62056,\n  \"check-all\": 62057,\n  \"check-circle-fill\": 62058,\n  \"check-circle\": 62059,\n  \"check-square-fill\": 62060,\n  \"check-square\": 62061,\n  \"check\": 62062,\n  \"check2-all\": 62063,\n  \"check2-circle\": 62064,\n  \"check2-square\": 62065,\n  \"check2\": 62066,\n  \"chevron-bar-contract\": 62067,\n  \"chevron-bar-down\": 62068,\n  \"chevron-bar-expand\": 62069,\n  \"chevron-bar-left\": 62070,\n  \"chevron-bar-right\": 62071,\n  \"chevron-bar-up\": 62072,\n  \"chevron-compact-down\": 62073,\n  \"chevron-compact-left\": 62074,\n  \"chevron-compact-right\": 62075,\n  \"chevron-compact-up\": 62076,\n  \"chevron-contract\": 62077,\n  \"chevron-double-down\": 62078,\n  \"chevron-double-left\": 62079,\n  \"chevron-double-right\": 62080,\n  \"chevron-double-up\": 62081,\n  \"chevron-down\": 62082,\n  \"chevron-expand\": 62083,\n  \"chevron-left\": 62084,\n  \"chevron-right\": 62085,\n  \"chevron-up\": 62086,\n  \"circle-fill\": 62087,\n  \"circle-half\": 62088,\n  \"circle-square\": 62089,\n  \"circle\": 62090,\n  \"clipboard-check\": 62091,\n  \"clipboard-data\": 62092,\n  \"clipboard-minus\": 62093,\n  \"clipboard-plus\": 62094,\n  \"clipboard-x\": 62095,\n  \"clipboard\": 62096,\n  \"clock-fill\": 62097,\n  \"clock-history\": 62098,\n  \"clock\": 62099,\n  \"cloud-arrow-down-fill\": 62100,\n  \"cloud-arrow-down\": 62101,\n  \"cloud-arrow-up-fill\": 62102,\n  \"cloud-arrow-up\": 62103,\n  \"cloud-check-fill\": 62104,\n  \"cloud-check\": 62105,\n  \"cloud-download-fill\": 62106,\n  \"cloud-download\": 62107,\n  \"cloud-drizzle-fill\": 62108,\n  \"cloud-drizzle\": 62109,\n  \"cloud-fill\": 62110,\n  \"cloud-fog-fill\": 62111,\n  \"cloud-fog\": 62112,\n  \"cloud-fog2-fill\": 62113,\n  \"cloud-fog2\": 62114,\n  \"cloud-hail-fill\": 62115,\n  \"cloud-hail\": 62116,\n  \"cloud-haze-1\": 62117,\n  \"cloud-haze-fill\": 62118,\n  \"cloud-haze\": 62119,\n  \"cloud-haze2-fill\": 62120,\n  \"cloud-lightning-fill\": 62121,\n  \"cloud-lightning-rain-fill\": 62122,\n  \"cloud-lightning-rain\": 62123,\n  \"cloud-lightning\": 62124,\n  \"cloud-minus-fill\": 62125,\n  \"cloud-minus\": 62126,\n  \"cloud-moon-fill\": 62127,\n  \"cloud-moon\": 62128,\n  \"cloud-plus-fill\": 62129,\n  \"cloud-plus\": 62130,\n  \"cloud-rain-fill\": 62131,\n  \"cloud-rain-heavy-fill\": 62132,\n  \"cloud-rain-heavy\": 62133,\n  \"cloud-rain\": 62134,\n  \"cloud-slash-fill\": 62135,\n  \"cloud-slash\": 62136,\n  \"cloud-sleet-fill\": 62137,\n  \"cloud-sleet\": 62138,\n  \"cloud-snow-fill\": 62139,\n  \"cloud-snow\": 62140,\n  \"cloud-sun-fill\": 62141,\n  \"cloud-sun\": 62142,\n  \"cloud-upload-fill\": 62143,\n  \"cloud-upload\": 62144,\n  \"cloud\": 62145,\n  \"clouds-fill\": 62146,\n  \"clouds\": 62147,\n  \"cloudy-fill\": 62148,\n  \"cloudy\": 62149,\n  \"code-slash\": 62150,\n  \"code-square\": 62151,\n  \"code\": 62152,\n  \"collection-fill\": 62153,\n  \"collection-play-fill\": 62154,\n  \"collection-play\": 62155,\n  \"collection\": 62156,\n  \"columns-gap\": 62157,\n  \"columns\": 62158,\n  \"command\": 62159,\n  \"compass-fill\": 62160,\n  \"compass\": 62161,\n  \"cone-striped\": 62162,\n  \"cone\": 62163,\n  \"controller\": 62164,\n  \"cpu-fill\": 62165,\n  \"cpu\": 62166,\n  \"credit-card-2-back-fill\": 62167,\n  \"credit-card-2-back\": 62168,\n  \"credit-card-2-front-fill\": 62169,\n  \"credit-card-2-front\": 62170,\n  \"credit-card-fill\": 62171,\n  \"credit-card\": 62172,\n  \"crop\": 62173,\n  \"cup-fill\": 62174,\n  \"cup-straw\": 62175,\n  \"cup\": 62176,\n  \"cursor-fill\": 62177,\n  \"cursor-text\": 62178,\n  \"cursor\": 62179,\n  \"dash-circle-dotted\": 62180,\n  \"dash-circle-fill\": 62181,\n  \"dash-circle\": 62182,\n  \"dash-square-dotted\": 62183,\n  \"dash-square-fill\": 62184,\n  \"dash-square\": 62185,\n  \"dash\": 62186,\n  \"diagram-2-fill\": 62187,\n  \"diagram-2\": 62188,\n  \"diagram-3-fill\": 62189,\n  \"diagram-3\": 62190,\n  \"diamond-fill\": 62191,\n  \"diamond-half\": 62192,\n  \"diamond\": 62193,\n  \"dice-1-fill\": 62194,\n  \"dice-1\": 62195,\n  \"dice-2-fill\": 62196,\n  \"dice-2\": 62197,\n  \"dice-3-fill\": 62198,\n  \"dice-3\": 62199,\n  \"dice-4-fill\": 62200,\n  \"dice-4\": 62201,\n  \"dice-5-fill\": 62202,\n  \"dice-5\": 62203,\n  \"dice-6-fill\": 62204,\n  \"dice-6\": 62205,\n  \"disc-fill\": 62206,\n  \"disc\": 62207,\n  \"discord\": 62208,\n  \"display-fill\": 62209,\n  \"display\": 62210,\n  \"distribute-horizontal\": 62211,\n  \"distribute-vertical\": 62212,\n  \"door-closed-fill\": 62213,\n  \"door-closed\": 62214,\n  \"door-open-fill\": 62215,\n  \"door-open\": 62216,\n  \"dot\": 62217,\n  \"download\": 62218,\n  \"droplet-fill\": 62219,\n  \"droplet-half\": 62220,\n  \"droplet\": 62221,\n  \"earbuds\": 62222,\n  \"easel-fill\": 62223,\n  \"easel\": 62224,\n  \"egg-fill\": 62225,\n  \"egg-fried\": 62226,\n  \"egg\": 62227,\n  \"eject-fill\": 62228,\n  \"eject\": 62229,\n  \"emoji-angry-fill\": 62230,\n  \"emoji-angry\": 62231,\n  \"emoji-dizzy-fill\": 62232,\n  \"emoji-dizzy\": 62233,\n  \"emoji-expressionless-fill\": 62234,\n  \"emoji-expressionless\": 62235,\n  \"emoji-frown-fill\": 62236,\n  \"emoji-frown\": 62237,\n  \"emoji-heart-eyes-fill\": 62238,\n  \"emoji-heart-eyes\": 62239,\n  \"emoji-laughing-fill\": 62240,\n  \"emoji-laughing\": 62241,\n  \"emoji-neutral-fill\": 62242,\n  \"emoji-neutral\": 62243,\n  \"emoji-smile-fill\": 62244,\n  \"emoji-smile-upside-down-fill\": 62245,\n  \"emoji-smile-upside-down\": 62246,\n  \"emoji-smile\": 62247,\n  \"emoji-sunglasses-fill\": 62248,\n  \"emoji-sunglasses\": 62249,\n  \"emoji-wink-fill\": 62250,\n  \"emoji-wink\": 62251,\n  \"envelope-fill\": 62252,\n  \"envelope-open-fill\": 62253,\n  \"envelope-open\": 62254,\n  \"envelope\": 62255,\n  \"eraser-fill\": 62256,\n  \"eraser\": 62257,\n  \"exclamation-circle-fill\": 62258,\n  \"exclamation-circle\": 62259,\n  \"exclamation-diamond-fill\": 62260,\n  \"exclamation-diamond\": 62261,\n  \"exclamation-octagon-fill\": 62262,\n  \"exclamation-octagon\": 62263,\n  \"exclamation-square-fill\": 62264,\n  \"exclamation-square\": 62265,\n  \"exclamation-triangle-fill\": 62266,\n  \"exclamation-triangle\": 62267,\n  \"exclamation\": 62268,\n  \"exclude\": 62269,\n  \"eye-fill\": 62270,\n  \"eye-slash-fill\": 62271,\n  \"eye-slash\": 62272,\n  \"eye\": 62273,\n  \"eyedropper\": 62274,\n  \"eyeglasses\": 62275,\n  \"facebook\": 62276,\n  \"file-arrow-down-fill\": 62277,\n  \"file-arrow-down\": 62278,\n  \"file-arrow-up-fill\": 62279,\n  \"file-arrow-up\": 62280,\n  \"file-bar-graph-fill\": 62281,\n  \"file-bar-graph\": 62282,\n  \"file-binary-fill\": 62283,\n  \"file-binary\": 62284,\n  \"file-break-fill\": 62285,\n  \"file-break\": 62286,\n  \"file-check-fill\": 62287,\n  \"file-check\": 62288,\n  \"file-code-fill\": 62289,\n  \"file-code\": 62290,\n  \"file-diff-fill\": 62291,\n  \"file-diff\": 62292,\n  \"file-earmark-arrow-down-fill\": 62293,\n  \"file-earmark-arrow-down\": 62294,\n  \"file-earmark-arrow-up-fill\": 62295,\n  \"file-earmark-arrow-up\": 62296,\n  \"file-earmark-bar-graph-fill\": 62297,\n  \"file-earmark-bar-graph\": 62298,\n  \"file-earmark-binary-fill\": 62299,\n  \"file-earmark-binary\": 62300,\n  \"file-earmark-break-fill\": 62301,\n  \"file-earmark-break\": 62302,\n  \"file-earmark-check-fill\": 62303,\n  \"file-earmark-check\": 62304,\n  \"file-earmark-code-fill\": 62305,\n  \"file-earmark-code\": 62306,\n  \"file-earmark-diff-fill\": 62307,\n  \"file-earmark-diff\": 62308,\n  \"file-earmark-easel-fill\": 62309,\n  \"file-earmark-easel\": 62310,\n  \"file-earmark-excel-fill\": 62311,\n  \"file-earmark-excel\": 62312,\n  \"file-earmark-fill\": 62313,\n  \"file-earmark-font-fill\": 62314,\n  \"file-earmark-font\": 62315,\n  \"file-earmark-image-fill\": 62316,\n  \"file-earmark-image\": 62317,\n  \"file-earmark-lock-fill\": 62318,\n  \"file-earmark-lock\": 62319,\n  \"file-earmark-lock2-fill\": 62320,\n  \"file-earmark-lock2\": 62321,\n  \"file-earmark-medical-fill\": 62322,\n  \"file-earmark-medical\": 62323,\n  \"file-earmark-minus-fill\": 62324,\n  \"file-earmark-minus\": 62325,\n  \"file-earmark-music-fill\": 62326,\n  \"file-earmark-music\": 62327,\n  \"file-earmark-person-fill\": 62328,\n  \"file-earmark-person\": 62329,\n  \"file-earmark-play-fill\": 62330,\n  \"file-earmark-play\": 62331,\n  \"file-earmark-plus-fill\": 62332,\n  \"file-earmark-plus\": 62333,\n  \"file-earmark-post-fill\": 62334,\n  \"file-earmark-post\": 62335,\n  \"file-earmark-ppt-fill\": 62336,\n  \"file-earmark-ppt\": 62337,\n  \"file-earmark-richtext-fill\": 62338,\n  \"file-earmark-richtext\": 62339,\n  \"file-earmark-ruled-fill\": 62340,\n  \"file-earmark-ruled\": 62341,\n  \"file-earmark-slides-fill\": 62342,\n  \"file-earmark-slides\": 62343,\n  \"file-earmark-spreadsheet-fill\": 62344,\n  \"file-earmark-spreadsheet\": 62345,\n  \"file-earmark-text-fill\": 62346,\n  \"file-earmark-text\": 62347,\n  \"file-earmark-word-fill\": 62348,\n  \"file-earmark-word\": 62349,\n  \"file-earmark-x-fill\": 62350,\n  \"file-earmark-x\": 62351,\n  \"file-earmark-zip-fill\": 62352,\n  \"file-earmark-zip\": 62353,\n  \"file-earmark\": 62354,\n  \"file-easel-fill\": 62355,\n  \"file-easel\": 62356,\n  \"file-excel-fill\": 62357,\n  \"file-excel\": 62358,\n  \"file-fill\": 62359,\n  \"file-font-fill\": 62360,\n  \"file-font\": 62361,\n  \"file-image-fill\": 62362,\n  \"file-image\": 62363,\n  \"file-lock-fill\": 62364,\n  \"file-lock\": 62365,\n  \"file-lock2-fill\": 62366,\n  \"file-lock2\": 62367,\n  \"file-medical-fill\": 62368,\n  \"file-medical\": 62369,\n  \"file-minus-fill\": 62370,\n  \"file-minus\": 62371,\n  \"file-music-fill\": 62372,\n  \"file-music\": 62373,\n  \"file-person-fill\": 62374,\n  \"file-person\": 62375,\n  \"file-play-fill\": 62376,\n  \"file-play\": 62377,\n  \"file-plus-fill\": 62378,\n  \"file-plus\": 62379,\n  \"file-post-fill\": 62380,\n  \"file-post\": 62381,\n  \"file-ppt-fill\": 62382,\n  \"file-ppt\": 62383,\n  \"file-richtext-fill\": 62384,\n  \"file-richtext\": 62385,\n  \"file-ruled-fill\": 62386,\n  \"file-ruled\": 62387,\n  \"file-slides-fill\": 62388,\n  \"file-slides\": 62389,\n  \"file-spreadsheet-fill\": 62390,\n  \"file-spreadsheet\": 62391,\n  \"file-text-fill\": 62392,\n  \"file-text\": 62393,\n  \"file-word-fill\": 62394,\n  \"file-word\": 62395,\n  \"file-x-fill\": 62396,\n  \"file-x\": 62397,\n  \"file-zip-fill\": 62398,\n  \"file-zip\": 62399,\n  \"file\": 62400,\n  \"files-alt\": 62401,\n  \"files\": 62402,\n  \"film\": 62403,\n  \"filter-circle-fill\": 62404,\n  \"filter-circle\": 62405,\n  \"filter-left\": 62406,\n  \"filter-right\": 62407,\n  \"filter-square-fill\": 62408,\n  \"filter-square\": 62409,\n  \"filter\": 62410,\n  \"flag-fill\": 62411,\n  \"flag\": 62412,\n  \"flower1\": 62413,\n  \"flower2\": 62414,\n  \"flower3\": 62415,\n  \"folder-check\": 62416,\n  \"folder-fill\": 62417,\n  \"folder-minus\": 62418,\n  \"folder-plus\": 62419,\n  \"folder-symlink-fill\": 62420,\n  \"folder-symlink\": 62421,\n  \"folder-x\": 62422,\n  \"folder\": 62423,\n  \"folder2-open\": 62424,\n  \"folder2\": 62425,\n  \"fonts\": 62426,\n  \"forward-fill\": 62427,\n  \"forward\": 62428,\n  \"front\": 62429,\n  \"fullscreen-exit\": 62430,\n  \"fullscreen\": 62431,\n  \"funnel-fill\": 62432,\n  \"funnel\": 62433,\n  \"gear-fill\": 62434,\n  \"gear-wide-connected\": 62435,\n  \"gear-wide\": 62436,\n  \"gear\": 62437,\n  \"gem\": 62438,\n  \"geo-alt-fill\": 62439,\n  \"geo-alt\": 62440,\n  \"geo-fill\": 62441,\n  \"geo\": 62442,\n  \"gift-fill\": 62443,\n  \"gift\": 62444,\n  \"github\": 62445,\n  \"globe\": 62446,\n  \"globe2\": 62447,\n  \"google\": 62448,\n  \"graph-down\": 62449,\n  \"graph-up\": 62450,\n  \"grid-1x2-fill\": 62451,\n  \"grid-1x2\": 62452,\n  \"grid-3x2-gap-fill\": 62453,\n  \"grid-3x2-gap\": 62454,\n  \"grid-3x2\": 62455,\n  \"grid-3x3-gap-fill\": 62456,\n  \"grid-3x3-gap\": 62457,\n  \"grid-3x3\": 62458,\n  \"grid-fill\": 62459,\n  \"grid\": 62460,\n  \"grip-horizontal\": 62461,\n  \"grip-vertical\": 62462,\n  \"hammer\": 62463,\n  \"hand-index-fill\": 62464,\n  \"hand-index-thumb-fill\": 62465,\n  \"hand-index-thumb\": 62466,\n  \"hand-index\": 62467,\n  \"hand-thumbs-down-fill\": 62468,\n  \"hand-thumbs-down\": 62469,\n  \"hand-thumbs-up-fill\": 62470,\n  \"hand-thumbs-up\": 62471,\n  \"handbag-fill\": 62472,\n  \"handbag\": 62473,\n  \"hash\": 62474,\n  \"hdd-fill\": 62475,\n  \"hdd-network-fill\": 62476,\n  \"hdd-network\": 62477,\n  \"hdd-rack-fill\": 62478,\n  \"hdd-rack\": 62479,\n  \"hdd-stack-fill\": 62480,\n  \"hdd-stack\": 62481,\n  \"hdd\": 62482,\n  \"headphones\": 62483,\n  \"headset\": 62484,\n  \"heart-fill\": 62485,\n  \"heart-half\": 62486,\n  \"heart\": 62487,\n  \"heptagon-fill\": 62488,\n  \"heptagon-half\": 62489,\n  \"heptagon\": 62490,\n  \"hexagon-fill\": 62491,\n  \"hexagon-half\": 62492,\n  \"hexagon\": 62493,\n  \"hourglass-bottom\": 62494,\n  \"hourglass-split\": 62495,\n  \"hourglass-top\": 62496,\n  \"hourglass\": 62497,\n  \"house-door-fill\": 62498,\n  \"house-door\": 62499,\n  \"house-fill\": 62500,\n  \"house\": 62501,\n  \"hr\": 62502,\n  \"hurricane\": 62503,\n  \"image-alt\": 62504,\n  \"image-fill\": 62505,\n  \"image\": 62506,\n  \"images\": 62507,\n  \"inbox-fill\": 62508,\n  \"inbox\": 62509,\n  \"inboxes-fill\": 62510,\n  \"inboxes\": 62511,\n  \"info-circle-fill\": 62512,\n  \"info-circle\": 62513,\n  \"info-square-fill\": 62514,\n  \"info-square\": 62515,\n  \"info\": 62516,\n  \"input-cursor-text\": 62517,\n  \"input-cursor\": 62518,\n  \"instagram\": 62519,\n  \"intersect\": 62520,\n  \"journal-album\": 62521,\n  \"journal-arrow-down\": 62522,\n  \"journal-arrow-up\": 62523,\n  \"journal-bookmark-fill\": 62524,\n  \"journal-bookmark\": 62525,\n  \"journal-check\": 62526,\n  \"journal-code\": 62527,\n  \"journal-medical\": 62528,\n  \"journal-minus\": 62529,\n  \"journal-plus\": 62530,\n  \"journal-richtext\": 62531,\n  \"journal-text\": 62532,\n  \"journal-x\": 62533,\n  \"journal\": 62534,\n  \"journals\": 62535,\n  \"joystick\": 62536,\n  \"justify-left\": 62537,\n  \"justify-right\": 62538,\n  \"justify\": 62539,\n  \"kanban-fill\": 62540,\n  \"kanban\": 62541,\n  \"key-fill\": 62542,\n  \"key\": 62543,\n  \"keyboard-fill\": 62544,\n  \"keyboard\": 62545,\n  \"ladder\": 62546,\n  \"lamp-fill\": 62547,\n  \"lamp\": 62548,\n  \"laptop-fill\": 62549,\n  \"laptop\": 62550,\n  \"layer-backward\": 62551,\n  \"layer-forward\": 62552,\n  \"layers-fill\": 62553,\n  \"layers-half\": 62554,\n  \"layers\": 62555,\n  \"layout-sidebar-inset-reverse\": 62556,\n  \"layout-sidebar-inset\": 62557,\n  \"layout-sidebar-reverse\": 62558,\n  \"layout-sidebar\": 62559,\n  \"layout-split\": 62560,\n  \"layout-text-sidebar-reverse\": 62561,\n  \"layout-text-sidebar\": 62562,\n  \"layout-text-window-reverse\": 62563,\n  \"layout-text-window\": 62564,\n  \"layout-three-columns\": 62565,\n  \"layout-wtf\": 62566,\n  \"life-preserver\": 62567,\n  \"lightbulb-fill\": 62568,\n  \"lightbulb-off-fill\": 62569,\n  \"lightbulb-off\": 62570,\n  \"lightbulb\": 62571,\n  \"lightning-charge-fill\": 62572,\n  \"lightning-charge\": 62573,\n  \"lightning-fill\": 62574,\n  \"lightning\": 62575,\n  \"link-45deg\": 62576,\n  \"link\": 62577,\n  \"linkedin\": 62578,\n  \"list-check\": 62579,\n  \"list-nested\": 62580,\n  \"list-ol\": 62581,\n  \"list-stars\": 62582,\n  \"list-task\": 62583,\n  \"list-ul\": 62584,\n  \"list\": 62585,\n  \"lock-fill\": 62586,\n  \"lock\": 62587,\n  \"mailbox\": 62588,\n  \"mailbox2\": 62589,\n  \"map-fill\": 62590,\n  \"map\": 62591,\n  \"markdown-fill\": 62592,\n  \"markdown\": 62593,\n  \"mask\": 62594,\n  \"megaphone-fill\": 62595,\n  \"megaphone\": 62596,\n  \"menu-app-fill\": 62597,\n  \"menu-app\": 62598,\n  \"menu-button-fill\": 62599,\n  \"menu-button-wide-fill\": 62600,\n  \"menu-button-wide\": 62601,\n  \"menu-button\": 62602,\n  \"menu-down\": 62603,\n  \"menu-up\": 62604,\n  \"mic-fill\": 62605,\n  \"mic-mute-fill\": 62606,\n  \"mic-mute\": 62607,\n  \"mic\": 62608,\n  \"minecart-loaded\": 62609,\n  \"minecart\": 62610,\n  \"moisture\": 62611,\n  \"moon-fill\": 62612,\n  \"moon-stars-fill\": 62613,\n  \"moon-stars\": 62614,\n  \"moon\": 62615,\n  \"mouse-fill\": 62616,\n  \"mouse\": 62617,\n  \"mouse2-fill\": 62618,\n  \"mouse2\": 62619,\n  \"mouse3-fill\": 62620,\n  \"mouse3\": 62621,\n  \"music-note-beamed\": 62622,\n  \"music-note-list\": 62623,\n  \"music-note\": 62624,\n  \"music-player-fill\": 62625,\n  \"music-player\": 62626,\n  \"newspaper\": 62627,\n  \"node-minus-fill\": 62628,\n  \"node-minus\": 62629,\n  \"node-plus-fill\": 62630,\n  \"node-plus\": 62631,\n  \"nut-fill\": 62632,\n  \"nut\": 62633,\n  \"octagon-fill\": 62634,\n  \"octagon-half\": 62635,\n  \"octagon\": 62636,\n  \"option\": 62637,\n  \"outlet\": 62638,\n  \"paint-bucket\": 62639,\n  \"palette-fill\": 62640,\n  \"palette\": 62641,\n  \"palette2\": 62642,\n  \"paperclip\": 62643,\n  \"paragraph\": 62644,\n  \"patch-check-fill\": 62645,\n  \"patch-check\": 62646,\n  \"patch-exclamation-fill\": 62647,\n  \"patch-exclamation\": 62648,\n  \"patch-minus-fill\": 62649,\n  \"patch-minus\": 62650,\n  \"patch-plus-fill\": 62651,\n  \"patch-plus\": 62652,\n  \"patch-question-fill\": 62653,\n  \"patch-question\": 62654,\n  \"pause-btn-fill\": 62655,\n  \"pause-btn\": 62656,\n  \"pause-circle-fill\": 62657,\n  \"pause-circle\": 62658,\n  \"pause-fill\": 62659,\n  \"pause\": 62660,\n  \"peace-fill\": 62661,\n  \"peace\": 62662,\n  \"pen-fill\": 62663,\n  \"pen\": 62664,\n  \"pencil-fill\": 62665,\n  \"pencil-square\": 62666,\n  \"pencil\": 62667,\n  \"pentagon-fill\": 62668,\n  \"pentagon-half\": 62669,\n  \"pentagon\": 62670,\n  \"people-fill\": 62671,\n  \"people\": 62672,\n  \"percent\": 62673,\n  \"person-badge-fill\": 62674,\n  \"person-badge\": 62675,\n  \"person-bounding-box\": 62676,\n  \"person-check-fill\": 62677,\n  \"person-check\": 62678,\n  \"person-circle\": 62679,\n  \"person-dash-fill\": 62680,\n  \"person-dash\": 62681,\n  \"person-fill\": 62682,\n  \"person-lines-fill\": 62683,\n  \"person-plus-fill\": 62684,\n  \"person-plus\": 62685,\n  \"person-square\": 62686,\n  \"person-x-fill\": 62687,\n  \"person-x\": 62688,\n  \"person\": 62689,\n  \"phone-fill\": 62690,\n  \"phone-landscape-fill\": 62691,\n  \"phone-landscape\": 62692,\n  \"phone-vibrate-fill\": 62693,\n  \"phone-vibrate\": 62694,\n  \"phone\": 62695,\n  \"pie-chart-fill\": 62696,\n  \"pie-chart\": 62697,\n  \"pin-angle-fill\": 62698,\n  \"pin-angle\": 62699,\n  \"pin-fill\": 62700,\n  \"pin\": 62701,\n  \"pip-fill\": 62702,\n  \"pip\": 62703,\n  \"play-btn-fill\": 62704,\n  \"play-btn\": 62705,\n  \"play-circle-fill\": 62706,\n  \"play-circle\": 62707,\n  \"play-fill\": 62708,\n  \"play\": 62709,\n  \"plug-fill\": 62710,\n  \"plug\": 62711,\n  \"plus-circle-dotted\": 62712,\n  \"plus-circle-fill\": 62713,\n  \"plus-circle\": 62714,\n  \"plus-square-dotted\": 62715,\n  \"plus-square-fill\": 62716,\n  \"plus-square\": 62717,\n  \"plus\": 62718,\n  \"power\": 62719,\n  \"printer-fill\": 62720,\n  \"printer\": 62721,\n  \"puzzle-fill\": 62722,\n  \"puzzle\": 62723,\n  \"question-circle-fill\": 62724,\n  \"question-circle\": 62725,\n  \"question-diamond-fill\": 62726,\n  \"question-diamond\": 62727,\n  \"question-octagon-fill\": 62728,\n  \"question-octagon\": 62729,\n  \"question-square-fill\": 62730,\n  \"question-square\": 62731,\n  \"question\": 62732,\n  \"rainbow\": 62733,\n  \"receipt-cutoff\": 62734,\n  \"receipt\": 62735,\n  \"reception-0\": 62736,\n  \"reception-1\": 62737,\n  \"reception-2\": 62738,\n  \"reception-3\": 62739,\n  \"reception-4\": 62740,\n  \"record-btn-fill\": 62741,\n  \"record-btn\": 62742,\n  \"record-circle-fill\": 62743,\n  \"record-circle\": 62744,\n  \"record-fill\": 62745,\n  \"record\": 62746,\n  \"record2-fill\": 62747,\n  \"record2\": 62748,\n  \"reply-all-fill\": 62749,\n  \"reply-all\": 62750,\n  \"reply-fill\": 62751,\n  \"reply\": 62752,\n  \"rss-fill\": 62753,\n  \"rss\": 62754,\n  \"rulers\": 62755,\n  \"save-fill\": 62756,\n  \"save\": 62757,\n  \"save2-fill\": 62758,\n  \"save2\": 62759,\n  \"scissors\": 62760,\n  \"screwdriver\": 62761,\n  \"search\": 62762,\n  \"segmented-nav\": 62763,\n  \"server\": 62764,\n  \"share-fill\": 62765,\n  \"share\": 62766,\n  \"shield-check\": 62767,\n  \"shield-exclamation\": 62768,\n  \"shield-fill-check\": 62769,\n  \"shield-fill-exclamation\": 62770,\n  \"shield-fill-minus\": 62771,\n  \"shield-fill-plus\": 62772,\n  \"shield-fill-x\": 62773,\n  \"shield-fill\": 62774,\n  \"shield-lock-fill\": 62775,\n  \"shield-lock\": 62776,\n  \"shield-minus\": 62777,\n  \"shield-plus\": 62778,\n  \"shield-shaded\": 62779,\n  \"shield-slash-fill\": 62780,\n  \"shield-slash\": 62781,\n  \"shield-x\": 62782,\n  \"shield\": 62783,\n  \"shift-fill\": 62784,\n  \"shift\": 62785,\n  \"shop-window\": 62786,\n  \"shop\": 62787,\n  \"shuffle\": 62788,\n  \"signpost-2-fill\": 62789,\n  \"signpost-2\": 62790,\n  \"signpost-fill\": 62791,\n  \"signpost-split-fill\": 62792,\n  \"signpost-split\": 62793,\n  \"signpost\": 62794,\n  \"sim-fill\": 62795,\n  \"sim\": 62796,\n  \"skip-backward-btn-fill\": 62797,\n  \"skip-backward-btn\": 62798,\n  \"skip-backward-circle-fill\": 62799,\n  \"skip-backward-circle\": 62800,\n  \"skip-backward-fill\": 62801,\n  \"skip-backward\": 62802,\n  \"skip-end-btn-fill\": 62803,\n  \"skip-end-btn\": 62804,\n  \"skip-end-circle-fill\": 62805,\n  \"skip-end-circle\": 62806,\n  \"skip-end-fill\": 62807,\n  \"skip-end\": 62808,\n  \"skip-forward-btn-fill\": 62809,\n  \"skip-forward-btn\": 62810,\n  \"skip-forward-circle-fill\": 62811,\n  \"skip-forward-circle\": 62812,\n  \"skip-forward-fill\": 62813,\n  \"skip-forward\": 62814,\n  \"skip-start-btn-fill\": 62815,\n  \"skip-start-btn\": 62816,\n  \"skip-start-circle-fill\": 62817,\n  \"skip-start-circle\": 62818,\n  \"skip-start-fill\": 62819,\n  \"skip-start\": 62820,\n  \"slack\": 62821,\n  \"slash-circle-fill\": 62822,\n  \"slash-circle\": 62823,\n  \"slash-square-fill\": 62824,\n  \"slash-square\": 62825,\n  \"slash\": 62826,\n  \"sliders\": 62827,\n  \"smartwatch\": 62828,\n  \"snow\": 62829,\n  \"snow2\": 62830,\n  \"snow3\": 62831,\n  \"sort-alpha-down-alt\": 62832,\n  \"sort-alpha-down\": 62833,\n  \"sort-alpha-up-alt\": 62834,\n  \"sort-alpha-up\": 62835,\n  \"sort-down-alt\": 62836,\n  \"sort-down\": 62837,\n  \"sort-numeric-down-alt\": 62838,\n  \"sort-numeric-down\": 62839,\n  \"sort-numeric-up-alt\": 62840,\n  \"sort-numeric-up\": 62841,\n  \"sort-up-alt\": 62842,\n  \"sort-up\": 62843,\n  \"soundwave\": 62844,\n  \"speaker-fill\": 62845,\n  \"speaker\": 62846,\n  \"speedometer\": 62847,\n  \"speedometer2\": 62848,\n  \"spellcheck\": 62849,\n  \"square-fill\": 62850,\n  \"square-half\": 62851,\n  \"square\": 62852,\n  \"stack\": 62853,\n  \"star-fill\": 62854,\n  \"star-half\": 62855,\n  \"star\": 62856,\n  \"stars\": 62857,\n  \"stickies-fill\": 62858,\n  \"stickies\": 62859,\n  \"sticky-fill\": 62860,\n  \"sticky\": 62861,\n  \"stop-btn-fill\": 62862,\n  \"stop-btn\": 62863,\n  \"stop-circle-fill\": 62864,\n  \"stop-circle\": 62865,\n  \"stop-fill\": 62866,\n  \"stop\": 62867,\n  \"stoplights-fill\": 62868,\n  \"stoplights\": 62869,\n  \"stopwatch-fill\": 62870,\n  \"stopwatch\": 62871,\n  \"subtract\": 62872,\n  \"suit-club-fill\": 62873,\n  \"suit-club\": 62874,\n  \"suit-diamond-fill\": 62875,\n  \"suit-diamond\": 62876,\n  \"suit-heart-fill\": 62877,\n  \"suit-heart\": 62878,\n  \"suit-spade-fill\": 62879,\n  \"suit-spade\": 62880,\n  \"sun-fill\": 62881,\n  \"sun\": 62882,\n  \"sunglasses\": 62883,\n  \"sunrise-fill\": 62884,\n  \"sunrise\": 62885,\n  \"sunset-fill\": 62886,\n  \"sunset\": 62887,\n  \"symmetry-horizontal\": 62888,\n  \"symmetry-vertical\": 62889,\n  \"table\": 62890,\n  \"tablet-fill\": 62891,\n  \"tablet-landscape-fill\": 62892,\n  \"tablet-landscape\": 62893,\n  \"tablet\": 62894,\n  \"tag-fill\": 62895,\n  \"tag\": 62896,\n  \"tags-fill\": 62897,\n  \"tags\": 62898,\n  \"telegram\": 62899,\n  \"telephone-fill\": 62900,\n  \"telephone-forward-fill\": 62901,\n  \"telephone-forward\": 62902,\n  \"telephone-inbound-fill\": 62903,\n  \"telephone-inbound\": 62904,\n  \"telephone-minus-fill\": 62905,\n  \"telephone-minus\": 62906,\n  \"telephone-outbound-fill\": 62907,\n  \"telephone-outbound\": 62908,\n  \"telephone-plus-fill\": 62909,\n  \"telephone-plus\": 62910,\n  \"telephone-x-fill\": 62911,\n  \"telephone-x\": 62912,\n  \"telephone\": 62913,\n  \"terminal-fill\": 62914,\n  \"terminal\": 62915,\n  \"text-center\": 62916,\n  \"text-indent-left\": 62917,\n  \"text-indent-right\": 62918,\n  \"text-left\": 62919,\n  \"text-paragraph\": 62920,\n  \"text-right\": 62921,\n  \"textarea-resize\": 62922,\n  \"textarea-t\": 62923,\n  \"textarea\": 62924,\n  \"thermometer-half\": 62925,\n  \"thermometer-high\": 62926,\n  \"thermometer-low\": 62927,\n  \"thermometer-snow\": 62928,\n  \"thermometer-sun\": 62929,\n  \"thermometer\": 62930,\n  \"three-dots-vertical\": 62931,\n  \"three-dots\": 62932,\n  \"toggle-off\": 62933,\n  \"toggle-on\": 62934,\n  \"toggle2-off\": 62935,\n  \"toggle2-on\": 62936,\n  \"toggles\": 62937,\n  \"toggles2\": 62938,\n  \"tools\": 62939,\n  \"tornado\": 62940,\n  \"trash-fill\": 62941,\n  \"trash\": 62942,\n  \"trash2-fill\": 62943,\n  \"trash2\": 62944,\n  \"tree-fill\": 62945,\n  \"tree\": 62946,\n  \"triangle-fill\": 62947,\n  \"triangle-half\": 62948,\n  \"triangle\": 62949,\n  \"trophy-fill\": 62950,\n  \"trophy\": 62951,\n  \"tropical-storm\": 62952,\n  \"truck-flatbed\": 62953,\n  \"truck\": 62954,\n  \"tsunami\": 62955,\n  \"tv-fill\": 62956,\n  \"tv\": 62957,\n  \"twitch\": 62958,\n  \"twitter\": 62959,\n  \"type-bold\": 62960,\n  \"type-h1\": 62961,\n  \"type-h2\": 62962,\n  \"type-h3\": 62963,\n  \"type-italic\": 62964,\n  \"type-strikethrough\": 62965,\n  \"type-underline\": 62966,\n  \"type\": 62967,\n  \"ui-checks-grid\": 62968,\n  \"ui-checks\": 62969,\n  \"ui-radios-grid\": 62970,\n  \"ui-radios\": 62971,\n  \"umbrella-fill\": 62972,\n  \"umbrella\": 62973,\n  \"union\": 62974,\n  \"unlock-fill\": 62975,\n  \"unlock\": 62976,\n  \"upc-scan\": 62977,\n  \"upc\": 62978,\n  \"upload\": 62979,\n  \"vector-pen\": 62980,\n  \"view-list\": 62981,\n  \"view-stacked\": 62982,\n  \"vinyl-fill\": 62983,\n  \"vinyl\": 62984,\n  \"voicemail\": 62985,\n  \"volume-down-fill\": 62986,\n  \"volume-down\": 62987,\n  \"volume-mute-fill\": 62988,\n  \"volume-mute\": 62989,\n  \"volume-off-fill\": 62990,\n  \"volume-off\": 62991,\n  \"volume-up-fill\": 62992,\n  \"volume-up\": 62993,\n  \"vr\": 62994,\n  \"wallet-fill\": 62995,\n  \"wallet\": 62996,\n  \"wallet2\": 62997,\n  \"watch\": 62998,\n  \"water\": 62999,\n  \"whatsapp\": 63000,\n  \"wifi-1\": 63001,\n  \"wifi-2\": 63002,\n  \"wifi-off\": 63003,\n  \"wifi\": 63004,\n  \"wind\": 63005,\n  \"window-dock\": 63006,\n  \"window-sidebar\": 63007,\n  \"window\": 63008,\n  \"wrench\": 63009,\n  \"x-circle-fill\": 63010,\n  \"x-circle\": 63011,\n  \"x-diamond-fill\": 63012,\n  \"x-diamond\": 63013,\n  \"x-octagon-fill\": 63014,\n  \"x-octagon\": 63015,\n  \"x-square-fill\": 63016,\n  \"x-square\": 63017,\n  \"x\": 63018,\n  \"youtube\": 63019,\n  \"zoom-in\": 63020,\n  \"zoom-out\": 63021\n}"
  },
  {
    "path": "bl-languages/ar_MA.json",
    "content": "{\n    \"language-data\": {\n        \"native\": \"اللغة العربية\",\n        \"english-name\": \"Arabic\",\n        \"last-update\": \"2017-09-10\",\n        \"authors\": [\n            \"\",\n            \"\",\n            \"\",\n            \"\"\n        ],\n        \"locale\": \"ar, ar_MA\"\n    },\n    \"dates\": {\n        \"Mon\": \"Mon\",\n        \"Tue\": \"Tue\",\n        \"Wed\": \"Wed\",\n        \"Thu\": \"Thu\",\n        \"Fri\": \"Fri\",\n        \"Sat\": \"Sat\",\n        \"Sun\": \"Sun\",\n        \"Monday\": \"الأثنين\",\n        \"Tuesday\": \"الثلاثاء\",\n        \"Wednesday\": \"الأربعاء\",\n        \"Thursday\": \"الخميس\",\n        \"Friday\": \"الجمعة\",\n        \"Saturday\": \"السبت\",\n        \"Sunday\": \"الأحد\",\n        \"Jan\": \"Jan\",\n        \"Feb\": \"Feb\",\n        \"Mar\": \"Mar\",\n        \"Apr\": \"Apr\",\n        \"Jun\": \"Jun\",\n        \"Jul\": \"Jul\",\n        \"Aug\": \"Aug\",\n        \"Sep\": \"Sep\",\n        \"Oct\": \"Oct\",\n        \"Nov\": \"Nov\",\n        \"Dec\": \"Dec\",\n        \"January\": \"يناير\",\n        \"February\": \"فبراير\",\n        \"March\": \"مارس\",\n        \"April\": \"أبريل\",\n        \"May\": \"مايو\",\n        \"June\": \"يونيو\",\n        \"July\": \"يوليو\",\n        \"August\": \"أغسطس\",\n        \"September\": \"سبتمبر\",\n        \"October\": \"أكتوبر\",\n        \"November\": \"نوفمبر\",\n        \"December\": \"ديسمبر\"\n    },\n    \"dashboard\": \"لوحة التحكم\",\n    \"manage-users\": \"إدارة المستخدمين\",\n    \"manage-categories\": \"إدارة التصنيفات\",\n    \"general-settings\": \"الإعدادات العامة\",\n    \"advanced-settings\": \"إعدادات متقدمة\",\n    \"thanks-for-supporting-bludit\": \"شكراً لدعمك Bludit\",\n    \"upgrade-to-bludit-pro\": \"Upgrade to Bludit PRO\",\n    \"language\": \"اللغة\",\n    \"plugin\": \"Plugin\",\n    \"plugins\": \"الإضافات\",\n    \"developers\": \"المطورون\",\n    \"themes\": \"القوالب\",\n    \"about\": \"من نحن\",\n    \"url\": \"URL\",\n    \"welcome\": \"مرحباً\",\n    \"logout\": \"الخروج\",\n    \"website\": \"الموقع\",\n    \"publish\": \"نشر\",\n    \"manage\": \"إدارة\",\n    \"content\": \"المحتوى\",\n    \"category\": \"التصنيف\",\n    \"categories\": \"التصنيفات\",\n    \"users\": \"المستخدمين\",\n    \"settings\": \"الإعدادات\",\n    \"general\": \"عـام\",\n    \"advanced\": \"متقدم\",\n    \"new-content\": \"محتوى جديد\",\n    \"manage-content\": \"ادارة المحتوى\",\n    \"add-new-content\": \"أضف محتوى جديد\",\n    \"new-category\": \"تصنيف جديد\",\n    \"you-do-not-have-sufficient-permissions\": \"لا توجد لديك الصلاحيات الكافية لدخول هذه الصفحة،إتصل بالمدير\",\n    \"add-a-new-user\": \"أضف مستخدم جديد\",\n    \"url-associated-with-the-content\": \"URL associated with the content.\",\n    \"language-and-timezone\": \"اللغة والمنطقة الزمنية\",\n    \"change-your-language-and-region-settings\": \".إختر لغتك ومنطقتك\",\n    \"notifications\": \"تنبيهات\",\n    \"plugin-activated\": \"الاضافة مفعلة\",\n    \"plugin-deactivated\": \"الاضافة معطلة\",\n    \"new-theme-configured\": \"New theme configured\",\n    \"settings-changes\": \"Changes on settings\",\n    \"plugin-configured\": \"Plugin configured\",\n    \"welcome-to-bludit\": \"مرحبا بك في Bludit\",\n    \"statistics\": \"الإحصائيات\",\n    \"drafts\": \"المسودات\",\n    \"title\": \"العنوان\",\n    \"save\": \"حفظ\",\n    \"save-as-draft\": \"الحفظ كمسودة\",\n    \"cancel\": \"إلغاء\",\n    \"description\": \"الوصف\",\n    \"this-field-can-help-describe-the-content\": \"ضع وصفا مناسبا للمحتوى في بضع كلمات. لا تزيد عن 150 حرفا.\",\n    \"images\": \"الصور\",\n    \"error\": \"خطأ\",\n    \"supported-image-file-types\": \"أنواع ملفات الصور المدعومة\",\n    \"cover-image\": \"صورة الغلاف\",\n    \"drag-and-drop-or-click-here\": \"سحب وإسقاط أو اضغط هنا\",\n    \"there-are-no-images\": \"لا توجد صور بعد\",\n    \"upload-and-more-images\": \"Upload and more images\",\n    \"click-on-the-image-for-options\": \"إضغط على الصورة للمزيد من خيارات.\",\n    \"click-here-to-cancel\": \".انقر هنا إلى إلغاء\",\n    \"insert-image\": \"إدراج صورة\",\n    \"set-as-cover-image\": \"جعلها صورة للغلاف\",\n    \"delete-image\": \"حذف الصورة\",\n    \"tags\": \"علامات\",\n    \"add\": \"أضـف\",\n    \"status\": \"الحالة\",\n    \"published\": \"منشور\",\n    \"draft\": \"مسودة\",\n    \"empty-title\": \"بدون عنوان\",\n    \"empty\": \"empty\",\n    \"date\": \"التاريخ\",\n    \"external-cover-image\": \"External cover image\",\n    \"parent\": \"ملحق\",\n    \"full-image-url\": \"Full image URL.\",\n    \"this-field-is-used-when-you-order-the-content-by-position\": \"This field is used when you order the content by position.\",\n    \"position\": \"موضع\",\n    \"friendly-url\": \"روابط محسنة\",\n    \"image-description\": \"وصف الصورة\",\n    \"add-a-new-category\": \"إضافة تصنيف جديد\",\n    \"name\": \"الإسم\",\n    \"username\": \"المعرف\",\n    \"quick-search-pages-and-menu\": \"البحث السريع عن الصفحات والقائمة\",\n    \"click-here-for-quick-search\": \"Click here for quick search\",\n    \"analytics\": \"التحليلات\",\n    \"visits-today\": \"الزيارات اليوم\",\n    \"unique-visitors\": \"الزوار الفريدون\",\n    \"search-placeholder\": \"البحث عن الصفحات والمحتوى وعناصر القائمة...\",\n    \"no-results-found\": \"لم يتم العثور على نتائج\",\n    \"first-name\": \"الإسم الأول\",\n    \"last-name\": \"الاسم الثاني\",\n    \"to-schedule-the-content-select-the-date-and-time\": \"To schedule the content select the date and time, the status has to be set to \\\"Published\\\".\",\n    \"email\": \"البريد الإلكتروني\",\n    \"role\": \"الدور\",\n    \"registered\": \"مسجل\",\n    \"site-information\": \"معلومات الموقع\",\n    \"site-title\": \"عنوان الموقع\",\n    \"use-this-field-to-name-your-site\": \"إستخدم هذا الحقل لكتابة عنوان موقعك،سوف يظهر في أعلى جميع صفحات موقعك\",\n    \"site-slogan\": \"شعار الموقع\",\n    \"use-this-field-to-add-a-catchy-phrase\": \"أكتب عبارة جذابة حول موقعك\",\n    \"site-description\": \"وصف الموقع\",\n    \"you-can-add-a-site-description-to-provide\": \"يمكنك إضافة وصف مختصر حول موقعك للتعريف به\",\n    \"footer-text\": \"نص التذبيل\",\n    \"you-can-add-a-small-text-on-the-bottom\": \"يمكنك إضافة نص قصير أسفل الموقع\",\n    \"social-networks-links\": \"روابط الشبكات الإجتماعية\",\n    \"site-url\": \"رابط الموقع\",\n    \"email-account-settings\": \"إعدادات بريد الحساب\",\n    \"sender-email\": \"بريد المرسل\",\n    \"emails-will-be-sent-from-this-address\": \".سوف ترسل الرسائل من هذا البريد\",\n    \"url-filters\": \"فلتر الرابط\",\n    \"select-your-sites-language\": \"إختر لغة موقعك\",\n    \"timezone\": \"المنطقة الزمنية\",\n    \"select-a-timezone-for-a-correct\": \"إختيار التوقيت الصحيح لعرض التاريخ \\/ الوقت على موقعك.\",\n    \"locale\": \"المكان\",\n    \"date-and-time-formats\": \"تنسيق التاريخ والوقت\",\n    \"date-format\": \"صيغة التاريخ\",\n    \"current-format\": \"Current format\",\n    \"version\": \"الإصدار\",\n    \"author\": \"الكاتب\",\n    \"activate\": \"تفعيل\",\n    \"deactivate\": \"تعطيل\",\n    \"edit-category\": \"Edit category\",\n    \"delete\": \"حذف\",\n    \"password\": \"كلمة السر\",\n    \"confirm-password\": \"تأكيد كلمة السر\",\n    \"editor\": \"المحرر\",\n    \"administrator\": \"المدير\",\n    \"edit-user\": \"تعديل المستخدم\",\n    \"edit-content\": \"Edit content\",\n    \"profile\": \"الملف الشخصي\",\n    \"change-password\": \"تغيير كلمة السر\",\n    \"enabled\": \"تفعيل\",\n    \"disable-the-user\": \"Disable the user\",\n    \"profile-picture\": \"صورة الملف الشخصي\",\n    \"edit-or-delete-your-categories\": \"تحرير وحذف التصنيفات\",\n    \"create-a-new-category-to-organize-your-content\": \"إضافة تصنيف جديد لتنظيم المحتوى\",\n    \"confirm-delete-this-action-cannot-be-undone\": \"تأكيد الحذف، لا يمكن التراجع عن هذه الخطوة\",\n    \"do-you-want-to-disable-the-user\": \"Do you want to disable the user ?\",\n    \"new-password\": \"كلمة سر جديد\",\n    \"you-can-change-this-field-when-save-the-current-changes\": \"You can change this field when save the current changes.\",\n    \"items-per-page\": \"العناصر في الصفحة\",\n    \"invite-a-friend-to-collaborate-on-your-site\": \"دعوة صديق للمشاركة في موقعك\",\n    \"number-of-items-to-show-per-page\": \"Number of items to show per page.\",\n    \"website-or-blog\": \"Website or Blog\",\n    \"order-content-by\": \"ترتيب المحتوى حسب\",\n    \"edit-or-delete-content-from-your-site\": \"تحرير وحذف المحتوى من موقعك\",\n    \"order-the-content-by-date-to-build-a-blog\": \"Order the content by date to build a Blog or order the content by position to build a Website.\",\n    \"default-content-status\": \"حالة المحتوى الافتراضية\",\n    \"default-status-for-new-content\": \"اختر ما إذا كان المحتوى الجديد يتم إنشاؤه كمنشور أو مسودة افتراضيًا.\",\n    \"page-not-found-content\": \"Hey! look like the page doesn't exist.\",\n    \"page-not-found\": \"Page not found\",\n    \"predefined-pages\": \"Predefined pages\",\n    \"returning-page-when-the-page-doesnt-exist\": \"Returning page when the page doesn't exist, leave it blank if you want to returns a default message.\",\n    \"returning-page-for-the-main-page\": \"Returning page for the main page, leave it blank if you want to show all the pages on the main page.\",\n    \"full-url-of-your-site\": \"Full URL of your site. Complete with the protocol HTTP or HTTPS (only if you have enabled SSL on your server).\",\n    \"with-the-locales-you-can-set-the-regional-user-interface\": \"With the locales, you can set the regional user interface, such as the dates in your language. The locales need to be installed on your system.\",\n    \"bludit-installer\": \"Bludit مثبث\",\n    \"choose-your-language\": \"إختر لغتك\",\n    \"next\": \"التالـي\",\n    \"complete-the-form-choose-a-password-for-the-username-admin\": \"أكمل النموذج، إختر إسم وكلمة سر للمدير\",\n    \"show-password\": \"أظهر كلمة السر\",\n    \"install\": \"تثبيث\",\n    \"login\": \"تسجيل الدخول\",\n    \"back-to-login-form\": \"عودة إلى النمودج\",\n    \"get-login-access-code\": \"أحصل على رمز الدخول\",\n    \"email-access-code\": \"Email access code\",\n    \"whats-next\": \"ماهي الخطوة التالية\",\n    \"username-or-password-incorrect\": \"إسم المستخدم أو كلمة السر خاطئ\",\n    \"follow-bludit-on\": \"تابع جديدنا على\",\n    \"this-is-a-brief-description-of-yourself-our-your-site\": \"هذا وصف موجز لنفسك أو لموقعك، لتغيير هذا النص تذهب إلى لوحة المشرف، إعدادات، والإضافات، وتعديل في إضافة About\",\n    \"new-version-available\": \"New version available\",\n    \"new-category-created\": \"New category created\",\n    \"category-deleted\": \"Category deleted\",\n    \"category-edited\": \"Category edited\",\n    \"new-user-created\": \"New user created\",\n    \"user-edited\": \"User edited\",\n    \"user-deleted\": \"حذف المستخدم\",\n    \"recommended-for-recovery-password-and-notifications\": \"Recommended for recovery password and notifications.\",\n    \"authentication-token\": \"Authentication Token\",\n    \"token\": \"Token\",\n    \"current-status\": \"الوضع الحالي\",\n    \"upload-image\": \"رفع الصور\",\n    \"the-changes-have-been-saved\": \"تم حفظ التعديلات\",\n    \"label\": \"Label\",\n    \"links\": \"Links\",\n    \"this-title-is-almost-always-used-in-the-sidebar-of-the-site\": \"This title is almost always used in the sidebar of the site.\",\n    \"password-must-be-at-least-6-characters-long\": \"يجب أن لا تقل كلمة السر عن 6 حروف\",\n    \"ip-address-has-been-blocked\": \"IP تم حظر.\",\n    \"try-again-in-a-few-minutes\": \".أعد المحاولة بعد دقائق\",\n    \"content-published-from-scheduler\": \"Content published from scheduler\",\n    \"blog\": \"Blog\",\n    \"complete-all-fields\": \"Complete all fields\",\n    \"static\": \"Static\",\n    \"about-your-site-or-yourself\": \"About your site or yourself\",\n    \"homepage\": \"Homepage\",\n    \"disabled\": \"Disabled\",\n    \"to-enable-the-user-you-must-set-a-new-password\": \"To enable the user you must set a new password.\",\n    \"delete-the-user-and-associate-his-content-to-admin-user\": \"Delete the user and associate his content to admin user\",\n    \"delete-the-user-and-all-his-content\": \"Delete the user and all his content\",\n    \"user-disabled\": \"User disabled\",\n    \"user-password-changed\": \"User password changed\",\n    \"the-password-and-confirmation-password-do-not-match\": \"The password and confirmation password do not match\",\n    \"scheduled-content\": \"المحتوى المجدول\",\n    \"there-are-no-scheduled-content\": \"لا يوجد محتوى مجدول.\",\n    \"new-content-created\": \"New content created\",\n    \"content-edited\": \"Content edited\",\n    \"content-deleted\": \"Contente deleted\",\n    \"undefined\": \"Undefined\",\n    \"create-new-content-for-your-site\": \"إنشاء محتوى جديد لموقعك\",\n    \"order-items-by\": \"Order items by\",\n    \"all-content\": \"All content\",\n    \"dynamic\": \"Dynamic\",\n    \"type\": \"Type\",\n    \"draft-content\": \"Draft content\",\n    \"post\": \"Post\",\n    \"default\": \"Default\",\n    \"latest-content\": \"Latest content\",\n    \"default-message\": \"Default message\",\n    \"no-parent\": \"No parent\",\n    \"have-you-seen-my-ball\": \"هل رأيت كرتي؟\",\n    \"pagebreak\": \"Page break\",\n    \"pages\": \"الصفحات\",\n    \"this-plugin-may-not-be-supported-by-this-version-of-bludit\": \"This plugin may not be supported by this version of Bludit\",\n    \"previous\": \"Previous\",\n    \"previous-page\": \"Previous page\",\n    \"next-page\": \"Next page\",\n    \"scheduled\": \"Scheduled\",\n    \"this-token-is-similar-to-a-password-it-should-not-be-shared\": \"This token is similar to a password, it should not be shared.\",\n    \"congratulations-you-have-successfully-installed-your-bludit\": \"Congratulations you have successfully installed your **Bludit**\",\n    \"this-theme-may-not-be-supported-by-this-version-of-bludit\": \"This theme may not be supported by this version of Bludit\",\n    \"read-more\": \"Read more\",\n    \"remember-me\": \"Remember me\",\n    \"plugins-position\": \"Plugin position\",\n    \"plugins-sorted\": \"Plugins sorted\",\n    \"plugins-position-changed\": \"Plugin position changed\",\n    \"drag-and-drop-to-set-the-position-of-the-plugin\": \"Drag and Drop to set the position of the plugins\",\n    \"change-the-position-of-the-plugins\": \"Change the position of the plugins\",\n    \"reading-time\": \"Reading time\",\n    \"minutes\": \"minutes\",\n    \"minute\": \"minute\",\n    \"example-page-1-slug\": \"create-your-own-content\",\n    \"example-page-1-title\": \"Create your own content\",\n    \"example-page-1-content\": \"Start writing your own content or edit the current to fit your needs. To create, edit or remove content you need to login to the <a href=\\\".\\/admin\\/\\\">admin panel<\\/a> with the username `admin` and the password you set on the installation process.\",\n    \"example-page-2-slug\": \"set-up-your-new-site\",\n    \"example-page-2-title\": \"Set up your new site\",\n    \"example-page-2-content\": \"Update the settings of your site from the <a href=\\\".\\/admin\\/\\\">admin panel<\\/a>, you can change the title, description and the social networks from <a href=\\\".\\/admin\\/settings\\\" target=\\\"_blank\\\">Settings > General<\\/a>.\",\n    \"example-page-3-slug\": \"follow-bludit\",\n    \"example-page-3-title\": \"Follow Bludit\",\n    \"example-page-3-content\": \"Get information about news, new releases, new themes or new plugins on our social networks <a href=\\\"https:\\/\\/www.facebook.com\\/bluditcms\\/\\\" target=\\\"_blank\\\">Facebook<\\/a>, <a href=\\\"https:\\/\\/www.twitter.com\\/bludit\\/\\\" target=\\\"_blank\\\">Twitter<\\/a> and <a href=\\\"https:\\/\\/www.youtube.com\\/c\\/Bluditcms\\\" target=\\\"_blank\\\">YouTube<\\/a> or visit our <a href=\\\"https:\\/\\/blog.bludit.com\\\" target=\\\"_blank\\\">Blog<\\/a>.\",\n    \"example-page-4-slug\": \"about\",\n    \"example-page-4-title\": \"About\",\n    \"example-page-4-content\": \"Your About page is typically one of the most visited pages on your site, need to be simple with a few key things, such as your name, who are you, how can contact you, a small story, etc.\",\n    \"the-extension-zip-is-not-installed\": \"امتداد zip غير مثبت، لاستخدام هذا البرنامج المساعد تحتاج إلى تثبيت الامتداد.\",\n    \"there-are-no-sticky-pages-at-this-moment\": \"There are no sticky pages at this moment.\",\n    \"there-are-no-scheduled-pages-at-this-moment\": \"There are no scheduled pages at this moment.\",\n    \"update\": \"Update\",\n    \"template\": \"Template\",\n    \"nickname\": \"Nickname\",\n    \"disable-user\": \"Disable user\",\n    \"delete-user-and-keep-content\": \"Delete user and keep content\",\n    \"delete-user-and-delete-content\": \"Delete user and delete content (Warning)\",\n    \"social-networks\": \"Social Networks\",\n    \"interval\": \"Interval\",\n    \"number-in-minutes-for-every-execution-of-autosave\": \"Number in minutes for every execution of autosave.\",\n    \"extreme-friendly-url\": \"Extreme friendly URL\",\n    \"title-formats\": \"Title formats\",\n    \"delete-content\": \"Delete content\",\n    \"are-you-sure-you-want-to-delete-this-page\": \"هل أنت متأكد أنك تريد حذف هذه الصفحة؟\",\n    \"sticky\": \"Sticky\",\n    \"actions\": \"Actions\",\n    \"edit\": \"Edit\",\n    \"options\": \"Options\",\n    \"enter-title\": \"Enter title\",\n    \"media-manager\": \"Media Manager\",\n    \"set-a-cover-image-from-external-url,-such-as-a-cdn-or-some-server-dedicated-for-images\": \"Set a cover image from an external URL, such as a CDN or some server dedicated for images.\",\n    \"user\": \"User\",\n    \"date-format-format\": \"Date format: <code>YYYY-MM-DD Hours:Minutes:Seconds<\\/code>\",\n    \"start-typing-a-page-title-to-see-a-list-of-suggestions\": \"Start typing a page title to see a list of suggestions.\",\n    \"field-used-when-ordering-content-by-position\": \"Field used when ordering content by position\",\n    \"write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page\": \"Write a template name to filter the page in the theme and change the style of the page.\",\n    \"write-the-tags-separated-by-commas\": \"Write the tags separated by comma.\",\n    \"apply-code-noindex-code-to-this-page\": \"Apply <code>noindex<\\/code> to this page.\",\n    \"this-tells-search-engines-not-to-show-this-page-in-their-search-results\": \"This tells search engines not to show this page in their search results.\",\n    \"apply-code-nofollow-code-to-this-page\": \"Apply <code>nofollow<\\/code> to this page.\",\n    \"this-tells-search-engines-not-to-follow-links-on-this-page\": \"This tells search engines not to follow links on this page.\",\n    \"apply-code-noarchive-code-to-this-page\": \"Apply <code>noarchive<\\/code> to this page.\",\n    \"this-tells-search-engines-not-to-save-a-cached-copy-of-this-page\": \"This tells search engines not to save a cached copy of this page.\",\n    \"uncategorized\": \"Uncategorized\",\n    \"done\": \"Done\",\n    \"delete-category\": \"Delete category\",\n    \"are-you-sure-you-want-to-delete-this-category?\": \"هل أنت متأكد أنك تريد حذف هذه الفئة؟\",\n    \"confirm-new-password\": \"Confirm new password\",\n    \"the-nickname-is-almost-used-in-the-themes-to-display-the-author-of-the-content\": \"The nickname is almost used in the themes to display the author of the content\",\n    \"allow-unicode\": \"Allow Unicode\",\n    \"allow-unicode-characters-in-the-url-and-some-part-of-the-system\": \"Allow Unicode characters in the URL and some part of the system.\",\n    \"variables-allowed\": \"Variables allowed\",\n    \"tag\": \"Tag\",\n    \"drag-and-drop-to-sort-the-plugins\": \"Drag and Drop to sort the plugins.\",\n    \"seo\": \"SEO\",\n    \"documentation\": \"Documentation\",\n    \"forum-support\": \"Forum support\",\n    \"chat-support\": \"Chat support\",\n    \"quick-links\": \"Quick links\",\n    \"leave-empty-for-autocomplete-by-bludit\": \"Leave empty for autocomplete by Bludit.\",\n    \"choose-a-password-for-the-user-admin\": \"Choose a password for the user <code>admin<\\/code>\",\n    \"access-denied\": \"Access denied\",\n    \"choose-images-to-upload\": \"Choose images to upload\",\n    \"insert\": \"Insert\",\n    \"upload\": \"Upload\",\n    \"autosave\": \"Autosave\",\n    \"the-content-is-saved-as-a-draft-to-publish-it\": \"The content is saved as a draft. To publish it click on the button <b>Publish<\\/b> or if you still working on it click on <b>Save as draft<\\/b>.\",\n    \"site\": \"Site\",\n    \"first\": \"First\",\n    \"last\": \"Last\",\n    \"there-are-no-pages-at-this-moment\": \"There are no pages at this moment.\",\n    \"there-are-no-static-pages-at-this-moment\": \"There are no static pages at this moment.\",\n    \"there-are-no-draft-pages-at-this-moment\": \"There are no draft pages at this moment.\",\n    \"good-morning\": \"Good morning\",\n    \"good-afternoon\": \"Good afternoon\",\n    \"good-evening\": \"Good evening\",\n    \"good-night\": \"Good night\",\n    \"hello\": \"Hello\",\n    \"there-are-no-images-for-the-page\": \"There are no images for the page.\",\n    \"select-cover-image\": \"Select cover image\",\n    \"this-plugin-depends-on-the-following-plugins\": \"This plugin depends on the following plugins.\",\n    \"no-pages-found\": \"No pages found\",\n    \"system-updated\": \"System updated\",\n    \"security\": \"Security\",\n    \"remove-cover-image\": \"Remove cover image\",\n    \"width\": \"Width\",\n    \"height\": \"Height\",\n    \"quality\": \"Quality\",\n    \"thumbnails\": \"Thumbnails\",\n    \"thumbnail\": \"Thumbnail\",\n    \"thumbnail-width-in-pixels\": \"Thumbnail width in pixels (px).\",\n    \"thumbnail-height-in-pixels\": \"Thumbnail height in pixels (px).\",\n    \"thumbnail-quality-in-percentage\": \"Thumbnail quality in percentage (%).\",\n    \"maximum-load-file-size-allowed:\": \"Maximum load file size allowed:\",\n    \"file-type-is-not-supported\": \"File type is not supported. Allowed types:\",\n    \"page-content\": \"Page content\",\n    \"markdown-parser\": \"Markdown parser\",\n    \"site-logo\": \"Site logo\",\n    \"search\": \"Search\",\n    \"search-plugins\": \"Search plugins\",\n    \"enabled-plugins\": \"Enabled plugins\",\n    \"disabled-plugins\": \"Disabled plugins\",\n    \"remove-logo\": \"Remove logo\",\n    \"preview\": \"Preview\",\n    \"author-can-write-and-edit-their-own-content\": \"المؤلف: يمكنه كتابة وتحرير محتواه الخاص. المحرر: يمكنه كتابة وتحرير محتوى الآخرين.\",\n    \"custom-fields\": \"Custom fields\",\n    \"define-custom-fields-for-the-content\": \"تحديد حقول مخصصة للمحتوى.\",\n    \"start-typing-to-see-a-list-of-suggestions\": \"ابدأ بالكتابة لرؤية قائمة بالاقتراحات.\",\n    \"view\": \"View\",\n    \"no-tags\": \"لا توجد وسوم\",\n    \"insert-thumbnail\": \"إدراج مصغر\",\n    \"no-categories\": \"لا توجد فئات\",\n    \"insert-linked-thumbnail\": \"إدراج مصغر مرتبط\",\n    \"navigation\": \"التنقل\",\n    \"thumbnail-generation\": \"توليد الصور المصغرة\",\n    \"enable-disable-automatic-thumbnail-generation-on-image-upload\": \"تفعيل أو تعطيل التوليد التلقائي للصور المصغرة عند رفع الصور.\"\n}\n"
  },
  {
    "path": "bl-languages/bg_BG.json",
    "content": "{\n    \"language-data\": {\n        \"native\": \"Български (България)\",\n        \"english-name\": \"Bulgarian\",\n        \"last-update\": \"2017-09-10\",\n        \"authors\": [\n            \"\",\n            \"\",\n            \"\",\n            \"\"\n        ],\n        \"locale\": \"bg, bg_BG\"\n    },\n    \"dates\": {\n        \"Mon\": \"Mon\",\n        \"Tue\": \"Tue\",\n        \"Wed\": \"Wed\",\n        \"Thu\": \"Thu\",\n        \"Fri\": \"Fri\",\n        \"Sat\": \"Sat\",\n        \"Sun\": \"Sun\",\n        \"Monday\": \"Понеделник\",\n        \"Tuesday\": \"Вторник\",\n        \"Wednesday\": \"Сряда\",\n        \"Thursday\": \"Четвъртък\",\n        \"Friday\": \"Петък\",\n        \"Saturday\": \"Събота\",\n        \"Sunday\": \"Неделя\",\n        \"Jan\": \"Jan\",\n        \"Feb\": \"Feb\",\n        \"Mar\": \"Mar\",\n        \"Apr\": \"Apr\",\n        \"Jun\": \"Jun\",\n        \"Jul\": \"Jul\",\n        \"Aug\": \"Aug\",\n        \"Sep\": \"Sep\",\n        \"Oct\": \"Oct\",\n        \"Nov\": \"Nov\",\n        \"Dec\": \"Dec\",\n        \"January\": \"Януари\",\n        \"February\": \"Февруари\",\n        \"March\": \"Март\",\n        \"April\": \"Април\",\n        \"May\": \"Май\",\n        \"June\": \"Юни\",\n        \"July\": \"Юли\",\n        \"August\": \"Август\",\n        \"September\": \"Септемри\",\n        \"October\": \"Октоври\",\n        \"November\": \"Ноември\",\n        \"December\": \"Декенври\"\n    },\n    \"dashboard\": \"Администраторски панел\",\n    \"manage-users\": \"Управление на потребители\",\n    \"manage-categories\": \"Управление на категории\",\n    \"general-settings\": \"Основни настройки\",\n    \"advanced-settings\": \"Разширени настройки\",\n    \"thanks-for-supporting-bludit\": \"Благодаря за подкрепата на Bludit\",\n    \"upgrade-to-bludit-pro\": \"Надстройте до Bludit PRO\",\n    \"language\": \"Език\",\n    \"plugin\": \"Компонент\",\n    \"plugins\": \"Компоненти\",\n    \"developers\": \"Developers\",\n    \"themes\": \"Теми\",\n    \"about\": \"Относно\",\n    \"url\": \"URL\",\n    \"welcome\": \"Добре дошли!\",\n    \"logout\": \"Изход\",\n    \"website\": \"Сайт\",\n    \"publish\": \"Публикувай\",\n    \"manage\": \"Управление\",\n    \"content\": \"Съдържание\",\n    \"category\": \"Category\",\n    \"categories\": \"Категории\",\n    \"users\": \"Потребители\",\n    \"settings\": \"Настройки\",\n    \"general\": \"Общи настройки\",\n    \"advanced\": \"Разширени настройки\",\n    \"new-content\": \"Ново съдържание\",\n    \"manage-content\": \"Управление на съдържанието\",\n    \"add-new-content\": \"Добавяне на ново съдържание\",\n    \"new-category\": \"Нова категория\",\n    \"you-do-not-have-sufficient-permissions\": \"Вие нямате права за достъп до тази страница, моля свържете се с администратора.\",\n    \"add-a-new-user\": \"Добавяне на потребител\",\n    \"url-associated-with-the-content\": \"URL associated with the content.\",\n    \"language-and-timezone\": \"Език и часова зона\",\n    \"change-your-language-and-region-settings\": \"Избор на параметри свързани с език, страна и местоположение.\",\n    \"notifications\": \"Известия\",\n    \"plugin-activated\": \"Компонента е активиран\",\n    \"plugin-deactivated\": \"Компонента е деактивиран\",\n    \"new-theme-configured\": \"New theme configured\",\n    \"settings-changes\": \"Changes on settings\",\n    \"plugin-configured\": \"Компонента е конфигуринан\",\n    \"welcome-to-bludit\": \"Добре дошли в Bludit\",\n    \"statistics\": \"Статистика:\",\n    \"drafts\": \"Чернови:\",\n    \"title\": \"Заглавие\",\n    \"save\": \"Запази\",\n    \"save-as-draft\": \"Запази като чернова\",\n    \"cancel\": \"Откажи\",\n    \"description\": \"Описание\",\n    \"this-field-can-help-describe-the-content\": \" В това поле може да опишете съдържанието с няколко думи, но с обща дължина не повече от 150 символа.\",\n    \"images\": \"Изображения\",\n    \"error\": \"Грешна\",\n    \"supported-image-file-types\": \"Поддържани файлови формати за снимки\",\n    \"cover-image\": \"Обложка\",\n    \"drag-and-drop-or-click-here\": \"Влачите и пускате или натиснете тук\",\n    \"there-are-no-images\": \"Няма изображения\",\n    \"upload-and-more-images\": \"Upload and more images\",\n    \"click-on-the-image-for-options\": \"Кликнете върху изображението за опции.\",\n    \"click-here-to-cancel\": \"Кликнете тук, за да отмените.\",\n    \"insert-image\": \"Вмъкни изображение\",\n    \"set-as-cover-image\": \"Задай като обложка \",\n    \"delete-image\": \"Изтрий изображенито\",\n    \"tags\": \"Етикети\",\n    \"add\": \"Добави\",\n    \"status\": \"Статус\",\n    \"published\": \"Публикувай\",\n    \"draft\": \"Чернова\",\n    \"empty-title\": \"Без заглавие\",\n    \"empty\": \"empty\",\n    \"date\": \"Дата\",\n    \"external-cover-image\": \"External cover image\",\n    \"parent\": \"Избор на основна страница\",\n    \"full-image-url\": \"Full image URL.\",\n    \"this-field-is-used-when-you-order-the-content-by-position\": \"This field is used when you order the content by position.\",\n    \"position\": \"Позиция\",\n    \"friendly-url\": \"Friendly URL\",\n    \"image-description\": \"Описание на изображението \",\n    \"add-a-new-category\": \"Добавяне на нова категория\",\n    \"name\": \"Име\",\n    \"username\": \"Потребителско име\",\n    \"first-name\": \"Име\",\n    \"last-name\": \"Фамилия\",\n    \"to-schedule-the-content-select-the-date-and-time\": \"За да програмирате съдържанието, изберете датата и часа, състоянието трябва да бъде настроено на \\\"Публикувано \\\".\",\n    \"email\": \"Имейл адрес\",\n    \"role\": \"Вид потребител\",\n    \"registered\": \"Добавен\",\n    \"site-information\": \"Информация за сайта:\",\n    \"site-title\": \"Заглавие на сайта\",\n    \"use-this-field-to-name-your-site\": \"Използвайте това поле за име на сайта, то ще се появи в горната част на всяка страница.\",\n    \"site-slogan\": \"Ключови думи \\/ Етикети\",\n    \"use-this-field-to-add-a-catchy-phrase\": \"Използвайте това поле, за да добавите ключови думи и изрази за сайта.\",\n    \"site-description\": \"Описание на сайта\",\n    \"you-can-add-a-site-description-to-provide\": \"Можете да добавите кратко описание или биография на сайта.\",\n    \"footer-text\": \"Текст в долната част\",\n    \"you-can-add-a-small-text-on-the-bottom\": \"Можете да добавите кратък текст в долната част на всяка страница. Например: авторско право, собственик, дати и т.н..\",\n    \"social-networks-links\": \"Социални мрежи:\",\n    \"site-url\": \"Адрес, на който блога е ще бъде намиран\",\n    \"email-account-settings\": \"Настройки на имейл акаунт:\",\n    \"sender-email\": \"Имейл на изпращача\",\n    \"emails-will-be-sent-from-this-address\": \"Писмата ще бъдат изпращани от този адрес.\",\n    \"url-filters\": \"URL филтри\",\n    \"select-your-sites-language\": \"Изберете системен език.\",\n    \"timezone\": \"Часова зона\",\n    \"select-a-timezone-for-a-correct\": \"Изберете часова зона за правилното показване на дата \\/ час.\",\n    \"locale\": \"Местоположение\",\n    \"date-and-time-formats\": \"Формат дата и час:\",\n    \"date-format\": \"Формат дата \",\n    \"current-format\": \"Текущ формат\",\n    \"version\": \"Версия\",\n    \"author\": \"Автор\",\n    \"activate\": \"Активиране\",\n    \"deactivate\": \"Деактивиране\",\n    \"edit-category\": \"Редактиране на категорията\",\n    \"delete\": \"Изтриване\",\n    \"password\": \"Парола\",\n    \"confirm-password\": \"Повтори паролата\",\n    \"editor\": \"Редактор\",\n    \"administrator\": \"Администратор\",\n    \"edit-user\": \"Промяна на потребител\",\n    \"edit-content\": \"Редактиране на съдържанието\",\n    \"profile\": \"Профил\",\n    \"change-password\": \"Промяна на парола:\",\n    \"enabled\": \"Активeн\",\n    \"disable-the-user\": \"Деактивиране на потребителя\",\n    \"profile-picture\": \"Снимка на профила\",\n    \"edit-or-delete-your-categories\": \"Редактиране или изтриване на категории\",\n    \"create-a-new-category-to-organize-your-content\": \"Създайте нова категория, за да подредете съдържанието си\",\n    \"confirm-delete-this-action-cannot-be-undone\": \"Ако потвърдете, действието не може да бъде отменено.\",\n    \"do-you-want-to-disable-the-user\": \"Искате ли да деактивирате този потребител?\",\n    \"new-password\": \"Нова парола\",\n    \"you-can-change-this-field-when-save-the-current-changes\": \"You can change this field when save the current changes.\",\n    \"items-per-page\": \"Items per page\",\n    \"invite-a-friend-to-collaborate-on-your-site\": \"Invite a friend to collaborate on your site\",\n    \"number-of-items-to-show-per-page\": \"Number of items to show per page.\",\n    \"website-or-blog\": \"Website or Blog\",\n    \"order-content-by\": \"Подреди по\",\n    \"edit-or-delete-content-from-your-site\": \"Редактиране или изтриване на съдържание\",\n    \"order-the-content-by-date-to-build-a-blog\": \"Order the content by date to build a Blog or order the content by position to build a Website.\",\n    \"page-not-found-content\": \"Изглежда страницате не съществува.\",\n    \"page-not-found\": \"Страницата не е намерена\",\n    \"predefined-pages\": \"Предварително зададени страници\",\n    \"returning-page-when-the-page-doesnt-exist\": \"Returning page when the page doesn't exist, leave it blank if you want to returns a default message.\",\n    \"returning-page-for-the-main-page\": \"Returning page for the main page, leave it blank if you want to show all the pages on the main page.\",\n    \"full-url-of-your-site\": \"Full URL of your site. Complete with the protocol HTTP or HTTPS (only if you have enabled SSL on your server).\",\n    \"with-the-locales-you-can-set-the-regional-user-interface\": \"With the locales, you can set the regional user interface, such as the dates in your language. The locales need to be installed on your system.\",\n    \"bludit-installer\": \"Bludit Инстлатор\",\n    \"choose-your-language\": \"Изберете вашият език\",\n    \"next\": \"Напред\",\n    \"complete-the-form-choose-a-password-for-the-username-admin\": \"Попълнете формуляра, или задайте парола за потребителското име « admin »\",\n    \"show-password\": \"Покажи паролата\",\n    \"install\": \"Инсталиране\",\n    \"login\": \"Вход\",\n    \"back-to-login-form\": \"Връщане към входяща форма\",\n    \"get-login-access-code\": \"Изпрати код за достъп\",\n    \"email-access-code\": \"Имейл код за достъп\",\n    \"whats-next\": \"Какво следва?\",\n    \"username-or-password-incorrect\": \"Грешна парола или потребител\",\n    \"follow-bludit-on\": \"Последвайте Bludit в\",\n    \"this-is-a-brief-description-of-yourself-our-your-site\": \"Това е кратко описание на вашия сайт, за да се промени този текст отидете в админ панела, настройки плъгини, конфигуриране на плъгин About.\",\n    \"new-version-available\": \"Налична е нова версия\",\n    \"new-category-created\": \"Създадена е нова категория\",\n    \"category-deleted\": \"Категорията е изтрита\",\n    \"category-edited\": \"Категорията е редактирана\",\n    \"new-user-created\": \"Създаден е нов потребител\",\n    \"user-edited\": \"Потребителят е редактиран\",\n    \"user-deleted\": \"Изтриване на потребител\",\n    \"recommended-for-recovery-password-and-notifications\": \"Recommended for recovery password and notifications.\",\n    \"authentication-token\": \"Authentication Token\",\n    \"token\": \"Token\",\n    \"current-status\": \"Актуално състояние\",\n    \"upload-image\": \"Прикачи изображение\",\n    \"the-changes-have-been-saved\": \"Промените са запазени\",\n    \"label\": \"Етикет\",\n    \"links\": \"Линкове\",\n    \"this-title-is-almost-always-used-in-the-sidebar-of-the-site\": \"This title is almost always used in the sidebar of the site.\",\n    \"password-must-be-at-least-6-characters-long\": \"Паролата трябва да е с дължина най-малко 6 символа\",\n    \"ip-address-has-been-blocked\": \"IP адрес е блокиран.\",\n    \"try-again-in-a-few-minutes\": \"Опитайте отново след няколко минути.\",\n    \"content-published-from-scheduler\": \"Съдържание, публикувано от графика\",\n    \"blog\": \"Блог\",\n    \"complete-all-fields\": \"Попълнете всички полета\",\n    \"static\": \"Static\",\n    \"about-your-site-or-yourself\": \"За вашия сайт или за вас\",\n    \"homepage\": \"Начална страница\",\n    \"disabled\": \"Disabled\",\n    \"to-enable-the-user-you-must-set-a-new-password\": \"To enable the user you must set a new password.\",\n    \"delete-the-user-and-associate-his-content-to-admin-user\": \"Delete the user and associate his content to admin user\",\n    \"delete-the-user-and-all-his-content\": \"Delete the user and all his content\",\n    \"user-disabled\": \"Потребителя е деактивиран\",\n    \"user-password-changed\": \"Паролата на потребителя е променена\",\n    \"the-password-and-confirmation-password-do-not-match\": \"Паролата и паролата за потвърждение не съвпадат\",\n    \"scheduled-content\": \"Scheduled content\",\n    \"there-are-no-scheduled-content\": \"There are no scheduled content.\",\n    \"new-content-created\": \"Добавено е ново съдържание\",\n    \"content-edited\": \"Съдържанието е редактирано\",\n    \"content-deleted\": \"Съдържанието е изтрито\",\n    \"undefined\": \"Undefined\",\n    \"create-new-content-for-your-site\": \"Създайте ново съдържание за сайта\",\n    \"order-items-by\": \"Подреди по\",\n    \"all-content\": \"Цялото съдържание\",\n    \"dynamic\": \"Динамика\",\n    \"type\": \"Тип\",\n    \"draft-content\": \"Чернови\",\n    \"post\": \"Post\",\n    \"default\": \"Default\",\n    \"latest-content\": \"Последно съдържание\",\n    \"default-message\": \"Стандартно съобщение\",\n    \"no-parent\": \"No parent\",\n    \"have-you-seen-my-ball\": \"Виждал ли си ми топката?\",\n    \"pagebreak\": \"Разделител на страницаk\",\n    \"pages\": \"Страници\",\n    \"this-plugin-may-not-be-supported-by-this-version-of-bludit\": \"This plugin may not be supported by this version of Bludit\",\n    \"previous\": \"Previous\",\n    \"previous-page\": \"Предишна страница\",\n    \"next-page\": \"Следваща страница\",\n    \"scheduled\": \"Планиран\",\n    \"this-token-is-similar-to-a-password-it-should-not-be-shared\": \"This token is similar to a password, it should not be shared.\",\n    \"congratulations-you-have-successfully-installed-your-bludit\": \"Congratulations you have successfully installed your **Bludit**\",\n    \"this-theme-may-not-be-supported-by-this-version-of-bludit\": \"This theme may not be supported by this version of Bludit\",\n    \"read-more\": \"Повече информация\",\n    \"remember-me\": \"Напомняне\",\n    \"plugins-position\": \"Plugin position\",\n    \"plugins-sorted\": \"Plugins sorted\",\n    \"plugins-position-changed\": \"Plugin position changed\",\n    \"drag-and-drop-to-set-the-position-of-the-plugin\": \"Drag and Drop to set the position of the plugins\",\n    \"change-the-position-of-the-plugins\": \"Change the position of the plugins\",\n    \"reading-time\": \"Reading time\",\n    \"minutes\": \"minutes\",\n    \"minute\": \"minute\",\n    \"example-page-1-slug\": \"create-your-own-content\",\n    \"example-page-1-title\": \"Create your own content\",\n    \"example-page-1-content\": \"Start writing your own content or edit the current to fit your needs. To create, edit or remove content you need to login to the <a href=\\\".\\/admin\\/\\\">admin panel<\\/a> with the username `admin` and the password you set on the installation process.\",\n    \"example-page-2-slug\": \"set-up-your-new-site\",\n    \"example-page-2-title\": \"Set up your new site\",\n    \"example-page-2-content\": \"Update the settings of your site from the <a href=\\\".\\/admin\\/\\\">admin panel<\\/a>, you can change the title, description and the social networks from <a href=\\\".\\/admin\\/settings\\\" target=\\\"_blank\\\">Settings > General<\\/a>.\",\n    \"example-page-3-slug\": \"follow-bludit\",\n    \"example-page-3-title\": \"Follow Bludit\",\n    \"example-page-3-content\": \"Get information about news, new releases, new themes or new plugins on our social networks <a href=\\\"https:\\/\\/www.facebook.com\\/bluditcms\\/\\\" target=\\\"_blank\\\">Facebook<\\/a>, <a href=\\\"https:\\/\\/www.twitter.com\\/bludit\\/\\\" target=\\\"_blank\\\">Twitter<\\/a> and <a href=\\\"https:\\/\\/www.youtube.com\\/c\\/Bluditcms\\\" target=\\\"_blank\\\">YouTube<\\/a> or visit our <a href=\\\"https:\\/\\/blog.bludit.com\\\" target=\\\"_blank\\\">Blog<\\/a>.\",\n    \"example-page-4-slug\": \"about\",\n    \"example-page-4-title\": \"About\",\n    \"example-page-4-content\": \"Your About page is typically one of the most visited pages on your site, need to be simple with a few key things, such as your name, who are you, how can contact you, a small story, etc.\",\n    \"the-extension-zip-is-not-installed\": \"Разширението zip не е инсталирано, за да използвате този плъгин, трябва да инсталирате разширението.\",\n    \"there-are-no-sticky-pages-at-this-moment\": \"There are no sticky pages at this moment.\",\n    \"there-are-no-scheduled-pages-at-this-moment\": \"There are no scheduled pages at this moment.\",\n    \"update\": \"Update\",\n    \"template\": \"Template\",\n    \"nickname\": \"Nickname\",\n    \"disable-user\": \"Disable user\",\n    \"delete-user-and-keep-content\": \"Delete user and keep content\",\n    \"delete-user-and-delete-content\": \"Delete user and delete content (Warning)\",\n    \"social-networks\": \"Social Networks\",\n    \"interval\": \"Interval\",\n    \"number-in-minutes-for-every-execution-of-autosave\": \"Number in minutes for every execution of autosave.\",\n    \"extreme-friendly-url\": \"Extreme friendly URL\",\n    \"title-formats\": \"Title formats\",\n    \"delete-content\": \"Delete content\",\n    \"are-you-sure-you-want-to-delete-this-page\": \"Сигурни ли сте, че искате да изтриете тази страница?\",\n    \"sticky\": \"Sticky\",\n    \"actions\": \"Actions\",\n    \"edit\": \"Edit\",\n    \"options\": \"Options\",\n    \"enter-title\": \"Enter title\",\n    \"media-manager\": \"Media Manager\",\n    \"set-a-cover-image-from-external-url,-such-as-a-cdn-or-some-server-dedicated-for-images\": \"Set a cover image from an external URL, such as a CDN or some server dedicated for images.\",\n    \"user\": \"User\",\n    \"date-format-format\": \"Date format: <code>YYYY-MM-DD Hours:Minutes:Seconds<\\/code>\",\n    \"start-typing-a-page-title-to-see-a-list-of-suggestions\": \"Start typing a page title to see a list of suggestions.\",\n    \"field-used-when-ordering-content-by-position\": \"Field used when ordering content by position\",\n    \"write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page\": \"Write a template name to filter the page in the theme and change the style of the page.\",\n    \"write-the-tags-separated-by-commas\": \"Write the tags separated by comma.\",\n    \"apply-code-noindex-code-to-this-page\": \"Apply <code>noindex<\\/code> to this page.\",\n    \"this-tells-search-engines-not-to-show-this-page-in-their-search-results\": \"This tells search engines not to show this page in their search results.\",\n    \"apply-code-nofollow-code-to-this-page\": \"Apply <code>nofollow<\\/code> to this page.\",\n    \"this-tells-search-engines-not-to-follow-links-on-this-page\": \"This tells search engines not to follow links on this page.\",\n    \"apply-code-noarchive-code-to-this-page\": \"Apply <code>noarchive<\\/code> to this page.\",\n    \"this-tells-search-engines-not-to-save-a-cached-copy-of-this-page\": \"This tells search engines not to save a cached copy of this page.\",\n    \"uncategorized\": \"Uncategorized\",\n    \"done\": \"Done\",\n    \"delete-category\": \"Delete category\",\n    \"are-you-sure-you-want-to-delete-this-category?\": \"Сигурни ли сте, че искате да изтриете тази категория?\",\n    \"confirm-new-password\": \"Confirm new password\",\n    \"the-nickname-is-almost-used-in-the-themes-to-display-the-author-of-the-content\": \"The nickname is almost used in the themes to display the author of the content\",\n    \"allow-unicode\": \"Allow Unicode\",\n    \"allow-unicode-characters-in-the-url-and-some-part-of-the-system\": \"Allow Unicode characters in the URL and some part of the system.\",\n    \"variables-allowed\": \"Variables allowed\",\n    \"tag\": \"Tag\",\n    \"drag-and-drop-to-sort-the-plugins\": \"Drag and Drop to sort the plugins.\",\n    \"seo\": \"SEO\",\n    \"documentation\": \"Documentation\",\n    \"forum-support\": \"Forum support\",\n    \"chat-support\": \"Chat support\",\n    \"quick-links\": \"Quick links\",\n    \"leave-empty-for-autocomplete-by-bludit\": \"Leave empty for autocomplete by Bludit.\",\n    \"choose-a-password-for-the-user-admin\": \"Choose a password for the user <code>admin<\\/code>\",\n    \"access-denied\": \"Access denied\",\n    \"choose-images-to-upload\": \"Choose images to upload\",\n    \"insert\": \"Insert\",\n    \"upload\": \"Upload\",\n    \"autosave\": \"Autosave\",\n    \"the-content-is-saved-as-a-draft-to-publish-it\": \"The content is saved as a draft. To publish it click on the button <b>Publish<\\/b> or if you still working on it click on <b>Save as draft<\\/b>.\",\n    \"site\": \"Site\",\n    \"first\": \"First\",\n    \"last\": \"Last\",\n    \"there-are-no-pages-at-this-moment\": \"There are no pages at this moment.\",\n    \"there-are-no-static-pages-at-this-moment\": \"There are no static pages at this moment.\",\n    \"there-are-no-draft-pages-at-this-moment\": \"There are no draft pages at this moment.\",\n    \"good-morning\": \"Good morning\",\n    \"good-afternoon\": \"Good afternoon\",\n    \"good-evening\": \"Good evening\",\n    \"good-night\": \"Good night\",\n    \"hello\": \"Hello\",\n    \"there-are-no-images-for-the-page\": \"There are no images for the page.\",\n    \"select-cover-image\": \"Select cover image\",\n    \"this-plugin-depends-on-the-following-plugins\": \"This plugin depends on the following plugins.\",\n    \"no-pages-found\": \"No pages found\",\n    \"system-updated\": \"System updated\",\n    \"security\": \"Security\",\n    \"remove-cover-image\": \"Remove cover image\",\n    \"width\": \"Width\",\n    \"height\": \"Height\",\n    \"quality\": \"Quality\",\n    \"thumbnails\": \"Thumbnails\",\n    \"thumbnail\": \"Thumbnail\",\n    \"thumbnail-width-in-pixels\": \"Thumbnail width in pixels (px).\",\n    \"thumbnail-height-in-pixels\": \"Thumbnail height in pixels (px).\",\n    \"thumbnail-quality-in-percentage\": \"Thumbnail quality in percentage (%).\",\n    \"maximum-load-file-size-allowed:\": \"Maximum load file size allowed:\",\n    \"file-type-is-not-supported\": \"File type is not supported. Allowed types:\",\n    \"page-content\": \"Page content\",\n    \"markdown-parser\": \"Markdown parser\",\n    \"site-logo\": \"Site logo\",\n    \"search\": \"Search\",\n    \"search-plugins\": \"Search plugins\",\n    \"enabled-plugins\": \"Enabled plugins\",\n    \"disabled-plugins\": \"Disabled plugins\",\n    \"remove-logo\": \"Remove logo\",\n    \"preview\": \"Preview\",\n    \"author-can-write-and-edit-their-own-content\": \"Автор: Може да пише и редактира собственото си съдържание. Редактор: Може да пише и редактира съдържанието на другите.\",\n    \"custom-fields\": \"Custom fields\",\n    \"define-custom-fields-for-the-content\": \"Дефиниране на потребителски полета за съдържанието.\",\n    \"start-typing-to-see-a-list-of-suggestions\": \"Започнете да пишете, за да видите списък с предложения.\",\n    \"view\": \"View\",\n    \"no-tags\": \"Няма етикети\",\n    \"insert-thumbnail\": \"Вмъкване на миниатюра\",\n    \"visits-today\": \"Посещения днес\",\n    \"no-categories\": \"Няма категории\",\n    \"quick-search-pages-and-menu\": \"Бързо търсене в страници и меню\",\n    \"click-here-for-quick-search\": \"Click here for quick search\",\n    \"analytics\": \"Анализи\",\n    \"unique-visitors\": \"Уникални посетители\",\n    \"insert-linked-thumbnail\": \"Вмъкване на свързана миниатюра\",\n    \"search-placeholder\": \"Търсене в страници, съдържание и менюта...\",\n    \"no-results-found\": \"Няма намерени резултати\",\n    \"navigation\": \"Навигация\",\n    \"default-content-status\": \"Статус на съдържанието по подразбиране\",\n    \"default-status-for-new-content\": \"Изберете дали новото съдържание да се създава като Публикувано или Чернова по подразбиране.\",\n    \"thumbnail-generation\": \"Генериране на миниатюри\",\n    \"enable-disable-automatic-thumbnail-generation-on-image-upload\": \"Активиране или деактивиране на автоматичното генериране на миниатюри при качване на изображения.\"\n}\n"
  },
  {
    "path": "bl-languages/ckb.json",
    "content": "{\n    \"language-data\": {\n        \"native\": \"کوردی\",\n        \"english-name\": \"Kurdish (Sorani)\",\n        \"locale\": \"ku,ckb\",\n        \"last-update\": \"2020-06-10\",\n        \"authors\": [\n            \"qezwan@gmail.com\",\n            \"qezwan http://qezwan.ir\",\n            \"xm74\",\n            \"\"\n        ]\n    },\n    \"start-typing-to-see-a-list-of-suggestions\": \"بنووسە و پێرستێک لە بابەتی پێشنیار ببینە.\",\n    \"dates\": {\n        \"Sat\": \"شەممە\",\n        \"Sun\": \"یەک شەممە\",\n        \"Mon\": \"دووشەممە\",\n        \"Tue\": \"سێ شەممە\",\n        \"Wed\": \"چوارشەممە\",\n        \"Thu\": \"پێنج شەممە\",\n        \"Fri\": \"هەینی\",\n        \"Saturday\": \"شەممە\",\n        \"Sunday\": \"یەکشەممە\",\n        \"Monday\": \"دووشەممە\",\n        \"Tuesday\": \"سێ شەممە\",\n        \"Wednesday\": \"چوارشەممە\",\n        \"Thursday\": \"پێنج شەممە\",\n        \"Friday\": \"هەینی\",\n        \"Jan\": \"ڕێبەندان\",\n        \"Feb\": \"رەشەمە\",\n        \"Mar\": \"نەورۆز\",\n        \"Apr\": \"گوڵان\",\n        \"Jun\": \"پوشەپەڕ\",\n        \"Jul\": \"خەرمانان\",\n        \"Aug\": \"گەلاوێژ\",\n        \"Sep\": \"ڕەزەبەر\",\n        \"Oct\": \"گەڵارێزان\",\n        \"Nov\": \"سەرماوەز\",\n        \"Dec\": \"بەفرانبار\",\n        \"January\": \"ڕێبەندان\",\n        \"February\": \"رەشەمە\",\n        \"March\": \"نەورۆز\",\n        \"April\": \"گوڵان\",\n        \"May\": \"جۆزەردان\",\n        \"June\": \"پوشەپەڕ\",\n        \"July\": \"خەرمانان\",\n        \"August\": \"ڕەزبەر\",\n        \"September\": \"گەڵارێزان\",\n        \"October\": \"گەڵارێزان\",\n        \"November\": \"سەرماوەز\",\n        \"December\": \"بەفرانبار\"\n    },\n    \"dashboard\": \"پێشخان\",\n    \"manage-users\": \"بەرێوەبردنی بەکارهینەران\",\n    \"manage-categories\": \"بەرێوەبردنی هاوپۆلەکان\",\n    \"general-settings\": \"ڕێکخستنی گشتی\",\n    \"advanced-settings\": \"رێکخستنی پێشکەوتوو\",\n    \"upgrade-to-bludit-pro\": \"بەڕۆژکردنی وشانی بازرگانی\",\n    \"language\": \"زمان\",\n    \"plugin\": \"زیادکراوە\",\n    \"plugins\": \"زیادکراوەکان\",\n    \"developers\": \"گەشەپێدەر\",\n    \"themes\": \"ڕوکارەکان\",\n    \"about\": \"دەربارە\",\n    \"url\": \"ناونیشانی وێب\",\n    \"welcome\": \"بەخێربێن\",\n    \"logout\": \"چووونەدەرەڤە\",\n    \"website\": \"ماڵپەڕ\",\n    \"publish\": \"بڵاوکردن\",\n    \"manage\": \"بەڕێوەبەر\",\n    \"content\": \"ناوەرۆک\",\n    \"category\": \"هاوپۆل\",\n    \"categories\": \"هاوپۆلەکان\",\n    \"users\": \"بەکارهێنەران\",\n    \"settings\": \"ڕێکخستنەکان <br>\",\n    \"general\": \"گشتی\",\n    \"advanced\": \"پێشکەوتوو\",\n    \"new-content\": \"ناوەرۆکی نوێ\",\n    \"manage-content\": \"بەڕێوەبردنی ناوەرۆک\",\n    \"add-new-content\": \"زیادکردنی ناوەرۆکی نوێ\",\n    \"new-category\": \"هاپۆلی نوێ\",\n    \"you-do-not-have-sufficient-permissions\": \"ئێوە رێپێدانی پێویستیتان نییە\",\n    \"add-a-new-user\": \"زیادکردنی بەکارهێنەری نوێ\",\n    \"url-associated-with-the-content\": \"ناونیشانی وێبی پەیوەندی بە وێب.\",\n    \"language-and-timezone\": \"زمان و شوێنی کاتی\",\n    \"change-your-language-and-region-settings\": \"رێکخستنی زمان و کاتی شوێنی خۆتان بگۆڕن.\",\n    \"notifications\": \"ئاگاداری و چالاکی ماڵپەڕ\",\n    \"plugin-activated\": \"زیادکراوە چالاک کرا\",\n    \"plugin-deactivated\": \"زیادکراوە ناچالاک بوو\",\n    \"new-theme-configured\": \"روکاری نوێ رێکخرا\",\n    \"plugin-configured\": \"زیادکراوە رێکخرا\",\n    \"welcome-to-bludit\": \"بەخێربێن بۆ بلوودیت\",\n    \"statistics\": \"ئامار\",\n    \"drafts\": \"پێشنووس\",\n    \"title\": \"سەردێڕ\",\n    \"save\": \"پاشکەوت\",\n    \"save-as-draft\": \"پاشکەوتی پێشنووس\",\n    \"cancel\": \"پاشگەزبوون\",\n    \"description\": \"شڕۆڤە\",\n    \"this-field-can-help-describe-the-content\": \"ئەم خشتە دەتوانێت ناوەڕۆک شڕۆڤە بکا.\",\n    \"images\": \"وێنەکان\",\n    \"error\": \"هەڵە\",\n    \"supported-image-file-types\": \"جۆرەکانی وێنە بۆ پاڵپشتی کردن\",\n    \"cover-image\": \"وێنەی سەرەتایی\",\n    \"drag-and-drop-or-click-here\": \"بیکێشن و بەریبەن یان کرتە لێرە بکە\",\n    \"there-are-no-images\": \"هیچ وێنەیێک بوونی نییە\",\n    \"upload-and-more-images\": \"بارکردن و وێنەی فرەتر\",\n    \"click-on-the-image-for-options\": \"بۆ بژاردەکان لە سەر وێنە کردتە بکەن.\",\n    \"click-here-to-cancel\": \"بۆ پاشگەزبوون کرتە بکەن.\",\n    \"insert-image\": \"لکاندنی وێنە\",\n    \"set-as-cover-image\": \"بژاردە بۆ وێنەی سەرەتایی\",\n    \"delete-image\": \"سڕینەوەی وێنە\",\n    \"tags\": \"تاگەکان\",\n    \"add\": \"زیادکردن\",\n    \"status\": \"دۆخ\",\n    \"published\": \"بڵاوکراوە\",\n    \"draft\": \"پێشنووس\",\n    \"empty-title\": \"سەردێڕ چۆڵە\",\n    \"empty\": \"چۆڵە\",\n    \"date\": \"بەروار\",\n    \"external-cover-image\": \"وێنەی سەرەتایی لە سەرچاوەی دەرەوە\",\n    \"parent\": \"باوان\",\n    \"full-image-url\": \"ناونیشانی تەواوی وێنە.\",\n    \"this-field-is-used-when-you-order-the-content-by-position\": \"ئەم خشتە کاتێک بە سوود کە شوێنی ناوەڕۆک دابین دەکەن.\",\n    \"position\": \"شوێن\",\n    \"friendly-url\": \"ناونیشانی وێبی دۆستانە\",\n    \"image-description\": \"شرۆڤەی وێنە\",\n    \"add-a-new-category\": \"زیادکردنی هاوپۆلی نوێ\",\n    \"name\": \"ناو\",\n    \"username\": \"ناوی بەکارهێنەر\",\n    \"first-name\": \"ناوی یەکەم\",\n    \"last-name\": \"ناوی کۆتایی\",\n    \"to-schedule-the-content-select-the-date-and-time\": \"بۆ نانەوەی ناوەرۆک بەروار و کات هەڵبژێرن، دۆخ دەبێت لە ئاستی \\\"بڵاو کراوە\\\" ساز بکرێت\",\n    \"email\": \"ئیمەیل\",\n    \"role\": \"ڕۆڵ\",\n    \"registered\": \" تۆمارکرا\",\n    \"site-information\": \"زانیاری ماڵپەڕ\",\n    \"site-title\": \"سەردێری ماڵپەڕ\",\n    \"use-this-field-to-name-your-site\": \"لەم خشتە بۆ ناولێنانی ماڵپەڕەکەت سوود بگرە.\",\n    \"site-slogan\": \"دروشمی ماڵپەڕ\",\n    \"use-this-field-to-add-a-catchy-phrase\": \"لەم خشتە بۆ دەقێکی جوان بۆ ماڵپەڕەکەت سود بگرە.\",\n    \"site-description\": \"شڕۆڤەی ماڵپەڕ\",\n    \"you-can-add-a-site-description-to-provide\": \"ئێوە دەتوانن کورتە شرۆڤەییک لە ماڵپەرەکەتان لێرە بنووسن کە ناسنامەی ماڵپەرەکەتان بێت.\",\n    \"footer-text\": \"دەقی پێپەڕ\",\n    \"you-can-add-a-small-text-on-the-bottom\": \"ئێوە دەتوانن دەقێکی کۆتا لە ژێر پەڕەکانتان وەک مافی بابەت،مافی نووسەری بابەت و ... زیاد بکەن\",\n    \"social-networks-links\": \"بەستەرەکانی تۆرەکۆمەڵایەتییەکان\",\n    \"site-url\": \"ناونیشانی ماڵپەڕ\",\n    \"email-account-settings\": \"ڕێکخستنی هەژمارەی ئیمەیل\",\n    \"sender-email\": \"ئیمەیلی ناردراوە\",\n    \"emails-will-be-sent-from-this-address\": \"ئیمەیلەکان لەم  ناونیشانە دەنێردرێن.\",\n    \"url-filters\": \"پاڵاوتنی ناونیشانی وێب\",\n    \"select-your-sites-language\": \"زمانی ماڵپەڕەکەت هەڵبژێرە.\",\n    \"timezone\": \"شوێنی کاتی\",\n    \"select-a-timezone-for-a-correct\": \"شوێنێکی کاتی بۆ نیشاندانی دروستی بەروار / کات بۆ سەر ماڵپەڕەکەت هەڵبژێرە.\",\n    \"locale\": \"محلی\",\n    \"date-and-time-formats\": \"شێوەی کات و بەروار\",\n    \"date-format\": \"شێوازی بەروار\",\n    \"current-format\": \"شێوازی ئێستا\",\n    \"version\": \"وشان\",\n    \"author\": \"نووسەر\",\n    \"activate\": \"چالاککردن\",\n    \"deactivate\": \"ناچالاککردن\",\n    \"edit-category\": \"دەستکاری هاوپۆل\",\n    \"delete\": \"سڕینەوە\",\n    \"password\": \"تێپەڕوشە\",\n    \"confirm-password\": \"پەسەندکردنەوەی تێپەڕوشە\",\n    \"editor\": \"دەستکاریکەر\",\n    \"administrator\": \"بەرێوەبەر\",\n    \"edit-user\": \"دەستکاری بەرێوەبەر\",\n    \"edit-content\": \"دەستکاریکەری ناوەرۆک\",\n    \"profile\": \"پرۆفایل\",\n    \"change-password\": \"گۆڕانی تێپەڕوشە\",\n    \"enabled\": \"چالاک\",\n    \"disable-the-user\": \"ناچلاککردنی بەکارهێنەر\",\n    \"profile-picture\": \"وێنەی پرۆفایل\",\n    \"edit-or-delete-your-categories\": \"دەستکاری/سڕینەوەی هاوپۆل\",\n    \"create-a-new-category-to-organize-your-content\": \"ئێوە دەتوانن بۆ رێکخستنی بابەتەکانی هاپۆلی نوێ دەروستبکەن\",\n    \"confirm-delete-this-action-cannot-be-undone\": \"گەر سڕینەوە پەسەند بکەن ئەم کردارە ئیتر ناگەرێتەوە.\",\n    \"do-you-want-to-disable-the-user\": \"دڵنیای لە ناچالاک کردنی ئەم بەکارهێنەرە؟\",\n    \"new-password\": \"تێپەڕوشەی نوێ\",\n    \"you-can-change-this-field-when-save-the-current-changes\": \"ئەتوانن ئەم خشتە پاشکەوت بکەن گەر گۆرانکارییەکانتان ئەنجام دا.\",\n    \"items-per-page\": \"بابەت لە هەر پەڕە\",\n    \"invite-a-friend-to-collaborate-on-your-site\": \"هەڤاڵێک بۆ هاوکاری لە ماڵپەرەکەت بانگهێشت بکەن\",\n    \"number-of-items-to-show-per-page\": \"ژمارەی بابەت کە دەبێ لە هەر پەرە نیشان بدرێت.\",\n    \"website-or-blog\": \"ماڵپەر یان بلۆگ\",\n    \"order-content-by\": \"ڕیزکردنی بابەت لە سەر بنەمای\",\n    \"edit-or-delete-content-from-your-site\": \"دەستکاری یان سڕینەوەی بابەت لە ماڵپەرەکەت\",\n    \"order-the-content-by-date-to-build-a-blog\": \"ریزکردنی بابەت لەسەر پێوەری بەروار بۆ دروستکردنی ماڵپەڕ\",\n    \"page-not-found-content\": \"وادیارە ئەم پەڕە بوونی نییە.\",\n    \"page-not-found\": \"پەرە پەیدا نەبوو\",\n    \"predefined-pages\": \"پەرەی لە پێشتر دروستکراوە\",\n    \"returning-page-when-the-page-doesnt-exist\": \"گەڕانەوە بۆ پەڕە کاتیک کە پەڕەیێک بوونی نییە .\",\n    \"returning-page-for-the-main-page\": \"گەڕانەوەی پەڕە بۆ پەڕەی سەرەتایی.\",\n    \"full-url-of-your-site\": \"ناونیشانی تەواوی پرۆتۆکۆلی ماڵپەڕەکەتان\",\n    \"with-the-locales-you-can-set-the-regional-user-interface\": \"بە ڕێکخستنی شوێنی نیشتە جێ بوون دەتوانن بەروار و کاتت دامەزرێنن.\",\n    \"bludit-installer\": \"دامەزرێنەری بلودیت\",\n    \"choose-your-language\": \"زمانی خۆتان هەڵبژێرن\",\n    \"next\": \"دواتر\",\n    \"complete-the-form-choose-a-password-for-the-username-admin\": \"فۆرم بە هەڵبژاردنی تیپەڕوشەی بەهێز بۆ بەکارهێنەر <b>< admin ></b> پڕ بکەن\",\n    \"show-password\": \"نیشاندانی تێپەڕ وشە\",\n    \"install\": \"دامەزراندن\",\n    \"login\": \"چوونەژوور\",\n    \"back-to-login-form\": \"گەڕانەوە بۆ خشتی چوونەژوور\",\n    \"get-login-access-code\": \"وەرگرتنی کۆدی سیستەم بۆ چوونە ژوور\",\n    \"email-access-code\": \"کۆدی دەستپێگەیشتن بە ئیمەیل\",\n    \"whats-next\": \"قۆناغی دیکە چییە ؟\",\n    \"username-or-password-incorrect\": \"ناوی بەکارهێنەر و تێپەڕوشەکەت هەڵەیە !\",\n    \"follow-bludit-on\": \"شوێنکەوتنی بلوودیت لە\",\n    \"this-is-a-brief-description-of-yourself-our-your-site\": \"کۆرتەییک لە ئێوەو ماڵپەرەکەتانە، بۆ گۆڕانی ئەم دەقە بڕۆن بۆ تەختەی بەڕێوەبەر، ڕێکخستنەکان، زیادکراوەکان  ئینجا زیادکراوەی دەربارە دەستکاری بکەن.\",\n    \"new-version-available\": \"وشانی نوێ لە بەردەستە\",\n    \"new-category-created\": \"هاوپۆلی نوێ  دروستکرا\",\n    \"category-deleted\": \"هاوپۆڵ سڕاوە\",\n    \"category-edited\": \"هاوپۆل دەستکاریکرا\",\n    \"new-user-created\": \"بەکارهێنەری نوێ زیاد کرا\",\n    \"user-edited\": \"زانیاری بەکارهێنەر دەستکاری کرا\",\n    \"user-deleted\": \"بەکارهێنەر سڕاوە\",\n    \"recommended-for-recovery-password-and-notifications\": \"پێشنیارکراوە بۆ گەڕانەوەی وشەی نهینی و ئاگادارییەکان .\",\n    \"authentication-token\": \"وشەی نهینی تۆکنی ناسینی کەسی\",\n    \"token\": \"وشەی نهینی تۆکن\",\n    \"current-status\": \"دۆخی ئێستا\",\n    \"upload-image\": \"بارکردنی وێنە\",\n    \"the-changes-have-been-saved\": \"گۆڕانکارییەکان پاشکەوت کرا\",\n    \"label\": \"نیشانە\",\n    \"links\": \"بەستەرەکان\",\n    \"this-title-is-almost-always-used-in-the-sidebar-of-the-site\": \"ئەم سەردێرە هەمیشە لە شریتی لاتەنیشت نیشان دەدرێت.\",\n    \"password-must-be-at-least-6-characters-long\": \"تێپەر وشە لانی کەم دەبێ ٦ پیت بێت\",\n    \"ip-address-has-been-blocked\": \"قەپاتکردنی ناونیشانی IP\",\n    \"try-again-in-a-few-minutes\": \"چەند خولەکێکی دیکە هەوڵ بدە\",\n    \"content-published-from-scheduler\": \"ناوەرۆک لە لایەن سیستەمی کات بڵاو کرا\",\n    \"blog\": \"بلۆگ\",\n    \"complete-all-fields\": \"تەواو خشتەکان پڕ بکەن\",\n    \"static\": \"ستاتیک\",\n    \"about-your-site-or-yourself\": \"دەربارەی ماڵپەڕ یان  ئێوە\",\n    \"homepage\": \"پەڕەی سەرەتا\",\n    \"disabled\": \"ناچالاک\",\n    \"to-enable-the-user-you-must-set-a-new-password\": \"بۆ چالاککردنی بەکارهێنەر دەبێ تێپەڕوشەیێک دروستبکەن.\",\n    \"delete-the-user-and-associate-his-content-to-admin-user\": \"بەکارهێنەر بسڕەوە و بابەتەکانی بلکێنە بە aDMINـەوە\",\n    \"delete-the-user-and-all-his-content\": \"بەکارهێنەر لەگەڵ تەواو ناوەرۆکەکەی بسڕەوە\",\n    \"user-disabled\": \"بەکارهێنەر ناچالاک کرا\",\n    \"user-password-changed\": \"تێپەڕ وشەی بەکارهێنەر گۆڕدرا\",\n    \"the-password-and-confirmation-password-do-not-match\": \"تێپەڕ وشەو تێپەڕوشەی دووبارە یەکسان نین\",\n    \"scheduled-content\": \"ناوەرۆک نانەوە بۆ کاتی بڵآوکردنە\",\n    \"there-are-no-scheduled-content\": \"ناوەرۆکی خستنە نێو کات بۆ بڵآوکردن بوونی نییە.\",\n    \"new-content-created\": \"ناوەرۆکی نوێ دروست کرا\",\n    \"content-edited\": \"ناوەرۆک دەستکاری کرا\",\n    \"content-deleted\": \"ناوەرۆک سڕاوە\",\n    \"undefined\": \"نەناسراوە\",\n    \"create-new-content-for-your-site\": \"ناوەرۆکی نوێ بۆ ماڵپەڕەکەت دروست بکە\",\n    \"order-items-by\": \"ریز کردنی بابەتەکان بەپێوەری\",\n    \"all-content\": \"گشت ناوەرۆک\",\n    \"dynamic\": \"داینامیک\",\n    \"type\": \"جۆر\",\n    \"draft-content\": \"ناوەرۆکی پێشنووس\",\n    \"post\": \"نووسراوە\",\n    \"default\": \"پێش گریمانە\",\n    \"latest-content\": \"دوایین بابەت\",\n    \"default-message\": \"پەیامی پێش گریمانە\",\n    \"no-parent\": \"بێ باوان\",\n    \"have-you-seen-my-ball\": \"تۆپەکەی منت نەدی؟\",\n    \"pagebreak\": \"شکاندنی پەڕە\",\n    \"pages\": \"پەڕەکان\",\n    \"this-plugin-may-not-be-supported-by-this-version-of-bludit\": \"بۆی هەیە ئەم زیادکراوە لە لایەن وشانێک لە بلوودیت پاڵپشتی نەکرێت\",\n    \"previous\": \"پێشوو\",\n    \"previous-page\": \"پەڕەی پێشوو\",\n    \"next-page\": \"پەڕەی پاش\",\n    \"scheduled\": \"کاتی بۆ دابینکراوە\",\n    \"this-token-is-similar-to-a-password-it-should-not-be-shared\": \"وشەی نهێنی توکێن وەک تێپەڕوشەکەتوایە بەڵآم با لە یەک نەچن.\",\n    \"congratulations-you-have-successfully-installed-your-bludit\": \"پیرۆز بێت بە سەرکەوتوویی بلوریتی خۆت دامەزراند.\",\n    \"this-theme-may-not-be-supported-by-this-version-of-bludit\": \"بۆی هەیە ئەم رووکارە لەگەڵ وشانی بلودیت یەک نەکەون\",\n    \"read-more\": \"درێژەی بابەت\",\n    \"remember-me\": \"لەبیرم بکە\",\n    \"plugins-position\": \"شوێنی زیادکراوە\",\n    \"plugins-sorted\": \"زیادکراوەکان ریزکران\",\n    \"plugins-position-changed\": \"شوێنی زیادکراوەکان گۆڕا\",\n    \"drag-and-drop-to-set-the-position-of-the-plugin\": \"بۆ گۆڕینی شوێنی زیادکراوەکان بیانکێشان و بەریان بەن\",\n    \"change-the-position-of-the-plugins\": \"گۆڕانی شوێنی زیادکراوەکان\",\n    \"reading-time\": \"کاتی خوێندن\",\n    \"minutes\": \"خولەک\",\n    \"minute\": \"خولەک\",\n    \"example-page-1-slug\": \"ناوەرۆکی خۆت دروست بکە\",\n    \"example-page-1-title\": \"سەردێری خۆت دروستبکە\",\n    \"example-page-1-content\": \"دەستبکەن بە نووسینی بابەت و ناوەرۆکی خۆتان و ناوەرۆکی نووسراوە دەستکاری بکەن بە پێی نیاز. بۆ خولقاندن، دەستکاری و سڕینەوەی بە ناوی بەکارهێنەری admin و تێپەڕوشەکەت کە کاتی تۆمارکردن دابینت کرد، ئێوە دەبێ بچنە ژوور <a href=\\\"./admin/\\\">تەختەی بەڕێوەبردن</a> شوید.\",\n    \"example-page-2-slug\": \"ماڵپەڕی نوێ خۆت دامەزرێنە\",\n    \"example-page-2-title\": \"ماڵپەڕی نوێی خۆت دامەزرێنە\",\n    \"example-page-2-content\": \"ڕێکخستنەکانی ماڵپەڕەکەت لە   <a href=\\\"./admin/\\\">تەختەی بەڕێوەبەر</a> بەڕۆژ بکەن، ئێوە دەتواننسەردێڕ،شڕۆڤەکان و تۆڕەکۆمەڵایەتییەکان لە <a href=\\\"./admin/settings\\\">رێکخستنەکان > گشتی</a> بگۆڕن.\",\n    \"example-page-3-slug\": \"شوێنی بلودیت کەوە\",\n    \"example-page-3-title\": \"شوێنی بلودیت کەوە\",\n    \"example-page-3-content\": \"بۆ وەرگرتن و ئاگاداری دەربارەی هەواڵ، زیادکراوەکان، بەڕۆژ بوونەوەکان و ڕووکار دەتوانن ئێمە لە تۆڕەکۆمەڵایەتیەکان و ماڵپەڕ <a href=\\\"https://www.facebook.com/bluditcms/\\\" target=\\\"_blank\\\">فەیسبووک</a>، <a href=\\\"https://www.twitter.com/bludit/\\\" target=\\\"_blank\\\">تویتێر</a> و <a href=\\\"https://www.youtube.com/c/Bluditcms\\\" target=\\\"_blank\\\">یوتیوب</a> یان لە ڕێگای <a href=\\\"https://blog.bludit.com\\\" target=\\\"_blank\\\">بلۆگ</a> سەردانمان بکە.\",\n    \"example-page-4-slug\": \"دەربارە\",\n    \"example-page-4-title\": \"دەربارە\",\n    \"example-page-4-content\": \"پەڕەی دەربارەی ئێمە یەکێک لە پەرەکانی فرە سەردانکەر لە ماڵپەرەکەی ئیوەیە، دەبێ بە چەند وشەی سادە وەک ناوتان، ئێوە کێن چۆن پەیوەندیتالک لەغەڵ دەگیرێت و داستانیکی کورت بیڕازێننەوە.\",\n    \"the-extension-zip-is-not-installed\": \"زیادکراوەی zip دانەمەزراوە، بۆ سوود وەرگرتن لەم زیادکراوە دەبێ زیادکراوەی.\",\n    \"there-are-no-sticky-pages-at-this-moment\": \"لە ئێستا دا هیچ پەڕەیێکی لکاو بوونی نییە.\",\n    \"there-are-no-scheduled-pages-at-this-moment\": \"لە ئێستا دا هیچ پەڕەیێکی نەخراوەتە بەرنامە بۆ بڵاو کردن.\",\n    \"update\": \"بەڕۆژبوون\",\n    \"template\": \"ڕووکار\",\n    \"nickname\": \"ناز ناو\",\n    \"disable-user\": \"ناچالاککردنی بەکارهێنەر\",\n    \"delete-user-and-keep-content\": \"سڕینەوەی بەکارهێنەر و هەڵگرتنی بابەتەکانی\",\n    \"delete-user-and-delete-content\": \"سڕینەوەی بەکارهێنەر و نووسراوەکانی(ئاگاداربە)\",\n    \"social-networks\": \"تۆڕەکۆمەڵایەتییەکان\",\n    \"interval\": \"وێستان\",\n    \"number-in-minutes-for-every-execution-of-autosave\": \"ژمارە لە خولەک بۆ پاشکەوتکردنی خۆکارانە.\",\n    \"extreme-friendly-url\": \"ناونیشانی ماڵپەڕی هاورێیان\",\n    \"title-formats\": \"فۆرماتی سەردێر\",\n    \"delete-content\": \"سڕینەوەی ناوەرۆک\",\n    \"are-you-sure-you-want-to-delete-this-page\": \"دڵنیای لە سڕینەوەی ئەم پەڕەیە؟\",\n    \"sticky\": \"لکێنەر\",\n    \"actions\": \"کردارەکان\",\n    \"edit\": \"دەستکاری\",\n    \"options\": \"بژاردەکان\",\n    \"enter-title\": \"دەستکاری سەردێر\",\n    \"media-manager\": \"بەڕیوەبردنی ڕنگاڵە\",\n    \"set-a-cover-image-from-external-url,-such-as-a-cdn-or-some-server-dedicated-for-images\": \"گونجاندنی وێنەیێکی ئەسڵی لە بەستەرێکی تاراڤگە، بۆ وێنە CDN یان ڕاژەیێکی تایبەت بۆ وینەکان.\",\n    \"user\": \"بەکارهێنەر\",\n    \"date-format-format\": \"شێوەی بەروار: <code>YYYY-MM-DD کاژێر:خولەک:چرکە</code>\",\n    \"start-typing-a-page-title-to-see-a-list-of-suggestions\": \"سەردێری پەڕەییک بنووسن تا کوو پێشنیارتان پێبدرێت.\",\n    \"field-used-when-ordering-content-by-position\": \"سودگرتن لە خشت لەکاتی ریزکردنی شوێنی ناوەرۆک.\",\n    \"write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page\": \"بۆ پالاوتنی پەرە لە رووکار و گۆڕان و دەستکاری شێوازی ستایلی پەڕە ناوەکەی بنووسە.\",\n    \"apply-code-noindex-code-to-this-page\": \"بەکارگێراوە <code>noindex</code>لەم پەڕە.\",\n    \"this-tells-search-engines-not-to-show-this-page-in-their-search-results\": \"ئەم بژاردە بە ماتۆڕی گەڕان دەڵێت کە ئەم پەڕە لە ئاکامی گەڕان نیشان مەدە.\",\n    \"apply-code-nofollow-code-to-this-page\": \"سودگرتن لە <code>nofollow</code> لەم پەڕە.\",\n    \"this-tells-search-engines-not-to-follow-links-on-this-page\": \"ئەم بژاردە بە مەکینەی گەڕان دەڵێت کە بەستەی ئەم پەڕە بۆ گەڕان پەیدا مەکەن.\",\n    \"apply-code-noarchive-code-to-this-page\": \"بەکارگیراوە <code>noarchive</code>لەم پەڕە.\",\n    \"this-tells-search-engines-not-to-save-a-cached-copy-of-this-page\": \"ئەم بژاردە بە متۆڕە گەڕانەکان دەڵیت کە ڕوونووسێک لە شکرەی ئەم پەڕە پاشکەوت نەکەن.\",\n    \"uncategorized\": \"بێ هاوپۆل\",\n    \"done\": \"ئەنجام بوو\",\n    \"delete-category\": \"سڕینەوەی هاوپۆل\",\n    \"are-you-sure-you-want-to-delete-this-category?\": \"دڵنیای لە سڕینەوەی ئەم هاوپۆلە؟\",\n    \"confirm-new-password\": \"تێپەڕ وشەی نوی بگۆڕە\",\n    \"the-nickname-is-almost-used-in-the-themes-to-display-the-author-of-the-content\": \"ناز ناو لە رووکارەکان بۆ نیشاندانی ناوی نووسەر سودی لێدەگیرێت\",\n    \"allow-unicode\": \"پەسەندکرتن Unicode\",\n    \"allow-unicode-characters-in-the-url-and-some-part-of-the-system\": \"پەسەندکردنی پیتەکانی Unicode لە ناونیشانی ماڵپەڕ و بەشێک لە سیستەم.\",\n    \"variables-allowed\": \"گۆڕاو رێپێدراوە\",\n    \"tag\": \"تاگ\",\n    \"drag-and-drop-to-sort-the-plugins\": \"بۆ ریزکردنی زیادکراوەکان بیکێشن و بەری بدەن.\",\n    \"seo\": \"سێئو\",\n    \"documentation\": \"بەڵگەکان\",\n    \"forum-support\": \"سەکۆی پاڵپشتی\",\n    \"chat-support\": \"پالپشتی وتاری\",\n    \"quick-links\": \"بەستەری خێرا\",\n    \"leave-empty-for-autocomplete-by-bludit\": \"بۆ پڕکردنەوەی خۆکار بە یارمەتی بلورید با چۆڵ بێت.\",\n    \"choose-a-password-for-the-user-admin\": \"تێپەڕوشە بۆ بەکارهێنەری <code>admin</code> هەڵیبژێرن\",\n    \"access-denied\": \"دەستپێگەیشتن ڕێگەنەدراوە\",\n    \"choose-images-to-upload\": \"هەڵبژاردنی وێنە بۆ بارکردن\",\n    \"insert\": \"خستنە نێو بابەت<br>\",\n    \"upload\": \"بارکردن\",\n    \"autosave\": \"پاشکەوتی خۆکار\",\n    \"the-content-is-saved-as-a-draft-to-publish-it\": \"ناوەرۆک بە شێوازی پێشگریمان پاسکەوت کرا. بۆ بڵاوکردنی لە سەر دوگمەی <b>بڵاوکردنی</b> کرتە بکە یان لەکاتی کار کردن لەسەری لە سەر دوگمەی <b>پاشکەوتی پێشگریمان</b>کرتە بکە.\",\n    \"site\": \"ماڵپەڕ\",\n    \"first\": \"سەرەتا\",\n    \"last\": \"کۆتایی\",\n    \"there-are-no-pages-at-this-moment\": \"لە ئێستا دا هیچ پەڕەیێک بوونی نییە.\",\n    \"there-are-no-static-pages-at-this-moment\": \"لە ئێستا دا هیچ پەڕەیێکی نەجوولاو بوونی نییە.\",\n    \"there-are-no-draft-pages-at-this-moment\": \"لە ئێستا دا هیچ پێش نووسێک بوونی نییە.\",\n    \"good-morning\": \"بەیانی باش\",\n    \"good-afternoon\": \"نیوەڕۆ باش\",\n    \"good-evening\": \"ئێوارەباش\",\n    \"good-night\": \"شەوباش\",\n    \"hello\": \"سڵاو\",\n    \"there-are-no-images-for-the-page\": \"هیچ  وێنەیێک بۆ ئەم پەڕە بوونی نییە.\",\n    \"select-cover-image\": \"هەڵبژاردنی وێنەی ئەسڵی\",\n    \"this-plugin-depends-on-the-following-plugins\": \"ئەم زیادکراوە پێویستی بە زیاکراوەکانی خوارەوەیە.\",\n    \"no-pages-found\": \"هیچ پەڕەیێک پەیدا نەبوو.\",\n    \"system-updated\": \"سیستەم بەڕۆژ بوو.\",\n    \"security\": \"پاراستن \",\n    \"remove-cover-image\": \"لابردنی وێنەی فەرمی\",\n    \"width\": \"پانایی\",\n    \"height\": \"درێژیی\",\n    \"quality\": \"چۆنیەتی\",\n    \"thumbnails\": \"وێنۆچکە\",\n    \"thumbnail\": \"وێنۆجکە\",\n    \"thumbnail-width-in-pixels\": \"پانایی وێنۆچکە بە پیکسێڵ (px).\",\n    \"thumbnail-height-in-pixels\": \"بەرزایی وێنۆچکە بە پیکسێڵ (px).\",\n    \"thumbnail-quality-in-percentage\": \"کواڵێتی وێنۆچکە بە دەرسەد (%).\",\n    \"maximum-load-file-size-allowed:\": \"زۆرینەی قەبارەی بارکردنی پەڕگە:\",\n    \"file-type-is-not-supported\": \"جۆری پەڕگە ڕێپێنەدراوە:\",\n    \"page-content\": \"ناوەڕۆکی پەڕە\",\n    \"markdown-parser\": \"دەقەکان Markdown\",\n    \"site-logo\": \"لۆگۆی ماڵپەڕ\",\n    \"search\": \"گەڕان\",\n    \"search-plugins\": \"زیادکراوەکان\",\n    \"enabled-plugins\": \"زیادکراوەی چالاک\",\n    \"disabled-plugins\": \"زیادکراوەی ناچالاک\",\n    \"remove-logo\": \"سڕینی لۆگۆ\",\n    \"preview\": \"پێش نمایش\",\n    \"view\": \"پیشاندان\",\n    \"author-can-write-and-edit-their-own-content\": \"نووسەر: دەتوانێ ناوەرۆکی بابەتەکانی دەستکاری بکا. دەستکاریکەر: دەتوانێت ناوەرۆکی بابەتی خۆی و نووسەرانی دیکە دەستکاری بکا.\",\n    \"custom-fields\": \"خشتی تایبەت\",\n    \"define-custom-fields-for-the-content\": \" ناساندنی خشتی دڵخواز بۆ ناوەرۆک، بۆ زنایاری فرەتر لەم بارەوە دەتوانی سەردانی ئەم بەستەرە بکە <a href='https://docs.bludit.com/en/content/custom-fields'>ڕێنماییەکان</a> .\",\n    \"no-tags\": \"هیچ تاگێک نییە\",\n    \"write-the-tags-separated-by-commas\": \"Write the tags separated by commas.\",\n    \"insert-thumbnail\": \"تێخستنی وێنۆک\",\n    \"visits-today\": \"سەردانەکانی ئەمڕۆ\",\n    \"no-categories\": \"هیچ پۆلێک نییە\",\n    \"quick-search-pages-and-menu\": \"گەڕانی خێرا لە پەڕەکان و لیست\",\n    \"click-here-for-quick-search\": \"Click here for quick search\",\n    \"thanks-for-supporting-bludit\": \"Thanks for supporting Bludit\",\n    \"analytics\": \"شیکارییەکان\",\n    \"unique-visitors\": \"سەردانکەرە بێهاوتاکان\",\n    \"settings-changes\": \"Settings changes\",\n    \"insert-linked-thumbnail\": \"تێخستنی وێنۆکی بەستراو\",\n    \"search-placeholder\": \"گەڕان لە پەڕەکان، ناوەڕۆک، و لیستەکان...\",\n    \"no-results-found\": \"هیچ ئەنجامێک نەدۆزرایەوە\",\n    \"navigation\": \"ڕێدۆزی\",\n    \"default-content-status\": \"دۆخی ناوەڕۆکی بنەڕەتی\",\n    \"default-status-for-new-content\": \"هەڵبژێرە ئایا ناوەڕۆکی نوێ وەک بڵاوکراوە یان ڕەشنووس دروست بکرێت بە شێوەی بنەڕەتی.\",\n    \"thumbnail-generation\": \"دروستکردنی وێنۆک\",\n    \"enable-disable-automatic-thumbnail-generation-on-image-upload\": \"چالاککردن یان ناچالاککردنی دروستکردنی وێنۆک بە شێوەیەکی خۆکار لەکاتی بارکردنی وێنە.\"\n}\n"
  },
  {
    "path": "bl-languages/cs_CZ.json",
    "content": "{\n    \"language-data\": {\n        \"native\": \"Čeština\",\n        \"english-name\": \"Czech\",\n        \"locale\": \"cs, cs_CZ\",\n        \"last-update\": \"2021-09-18\",\n        \"authors\": [\n            \"Marek Rost http:\\/\\/www.marekrost.cz\",\n            \"\",\n            \"\",\n            \"\"\n        ]\n    },\n    \"dates\": {\n        \"Mon\": \"Po\",\n        \"Tue\": \"Út\",\n        \"Wed\": \"St\",\n        \"Thu\": \"Čt\",\n        \"Fri\": \"Pá\",\n        \"Sat\": \"So\",\n        \"Sun\": \"Ne\",\n        \"Monday\": \"pondělí\",\n        \"Tuesday\": \"úterý\",\n        \"Wednesday\": \"středa\",\n        \"Thursday\": \"čtvrtek\",\n        \"Friday\": \"pátek\",\n        \"Saturday\": \"sobota\",\n        \"Sunday\": \"neděle\",\n        \"Jan\": \"led\",\n        \"Feb\": \"úno\",\n        \"Mar\": \"bře\",\n        \"Apr\": \"dub\",\n        \"Jun\": \"čen\",\n        \"Jul\": \"čec\",\n        \"Aug\": \"srp\",\n        \"Sep\": \"zář\",\n        \"Oct\": \"říj\",\n        \"Nov\": \"lis\",\n        \"Dec\": \"pro\",\n        \"January\": \"leden\",\n        \"February\": \"únor\",\n        \"March\": \"březen\",\n        \"April\": \"duben\",\n        \"May\": \"květen\",\n        \"June\": \"červen\",\n        \"July\": \"červenec\",\n        \"August\": \"srpen\",\n        \"September\": \"září\",\n        \"October\": \"říjen\",\n        \"November\": \"listopad\",\n        \"December\": \"prosinec\"\n    },\n    \"dashboard\": \"Nástěnka\",\n    \"manage-users\": \"Spravovat uživatele\",\n    \"manage-categories\": \"Spravovat kategorie\",\n    \"general-settings\": \"Obecné nastavení\",\n    \"advanced-settings\": \"Pokročilé nastavení\",\n    \"thanks-for-supporting-bludit\": \"Díky za podporu Bludit\",\n    \"upgrade-to-bludit-pro\": \"Upgrade na Bludit PRO\",\n    \"language\": \"Jazyk\",\n    \"plugin\": \"Plugin\",\n    \"plugins\": \"Pluginy\",\n    \"developers\": \"Vývojáři\",\n    \"themes\": \"Grafická témata\",\n    \"about\": \"O Bludit\",\n    \"url\": \"URL\",\n    \"welcome\": \"Vítejte\",\n    \"logout\": \"Odhlásit se\",\n    \"website\": \"Webové stránky\",\n    \"publish\": \"Publikovat\",\n    \"manage\": \"Spravovat\",\n    \"content\": \"Obsah\",\n    \"category\": \"Kategorie\",\n    \"categories\": \"Kategorie\",\n    \"users\": \"Uživatelé\",\n    \"settings\": \"Nastavení\",\n    \"general\": \"Obecné\",\n    \"advanced\": \"Pokročilé\",\n    \"new-content\": \"Nový obsah\",\n    \"manage-content\": \"Spravovat obsah\",\n    \"add-new-content\": \"Přidat nový obsah\",\n    \"new-category\": \"Nová kategorie\",\n    \"you-do-not-have-sufficient-permissions\": \"Nemáte dostatečná oprávnění\",\n    \"add-a-new-user\": \"Přidat nového uživatele\",\n    \"url-associated-with-the-content\": \"URL, na které se bude obsah zobrazovat.\",\n    \"language-and-timezone\": \"Jazyk a časové pásmo\",\n    \"change-your-language-and-region-settings\": \"Změňte váš jazyk a regionální nastavení\",\n    \"notifications\": \"Oznámení\",\n    \"plugin-activated\": \"Plugin aktivován\",\n    \"plugin-deactivated\": \"Plugin deaktivován\",\n    \"new-theme-configured\": \"Nové grafické téma nakonfigurováno\",\n    \"settings-changes\": \"Změny v nastavení\",\n    \"plugin-configured\": \"Plugin nakonfigurován\",\n    \"welcome-to-bludit\": \"Vítejte v Bludit\",\n    \"statistics\": \"Statistiky\",\n    \"drafts\": \"Koncepty\",\n    \"title\": \"Název\",\n    \"save\": \"Uložit\",\n    \"save-as-draft\": \"Uložit jako koncept\",\n    \"cancel\": \"Zrušit\",\n    \"description\": \"Popis\",\n    \"this-field-can-help-describe-the-content\": \"Políčko pro stručný popis obsahu. Nesmí obsahovat více jak 150 znaků.\",\n    \"images\": \"Obrázky\",\n    \"error\": \"Chyba\",\n    \"supported-image-file-types\": \"Podporované typy obrázků\",\n    \"cover-image\": \"Titulní obrázek obsahu\",\n    \"drag-and-drop-or-click-here\": \"Přetáhněte a pusťte nebo sem klikněte\",\n    \"there-are-no-images\": \"Nejsou zde žádné obrázky\",\n    \"upload-and-more-images\": \"Nahrávání a další obrázky\",\n    \"click-on-the-image-for-options\": \"Klikněte na obrázek pro možnosti\",\n    \"click-here-to-cancel\": \"Klikněte sem pro zrušení\",\n    \"insert-image\": \"Vložit obrázek\",\n    \"set-as-cover-image\": \"Nastavit jako krycí obrázek\",\n    \"delete-image\": \"Smazat obrázek\",\n    \"tags\": \"Štítky\",\n    \"add\": \"Přidat\",\n    \"status\": \"Stav\",\n    \"published\": \"Publikováno\",\n    \"draft\": \"Koncept\",\n    \"empty-title\": \"Prázdný název\",\n    \"empty\": \"Prázdný\",\n    \"date\": \"Datum\",\n    \"external-cover-image\": \"Externí krycí obrázek\",\n    \"parent\": \"Rodič\",\n    \"full-image-url\": \"Plná URL obrázku.\",\n    \"this-field-is-used-when-you-order-the-content-by-position\": \"Toto políčko se používá, pokud řadíte obsah podle pozice.\",\n    \"position\": \"Pozice\",\n    \"friendly-url\": \"Přátelská URL\",\n    \"image-description\": \"Popis obrázku\",\n    \"add-a-new-category\": \"Přidat novou kategorii\",\n    \"name\": \"Jméno\",\n    \"username\": \"Uživatelské jméno\",\n    \"first-name\": \"Jméno\",\n    \"last-name\": \"Přijmení\",\n    \"to-schedule-the-content-select-the-date-and-time\": \"Pro naplánování obsahu nastavte datum a čas, stav musí být nastaven na \\\"Publikováno\\\".\",\n    \"email\": \"Email\",\n    \"role\": \"Role\",\n    \"registered\": \"Registrován\",\n    \"site-information\": \"Informace o webu\",\n    \"site-title\": \"Název webu\",\n    \"use-this-field-to-name-your-site\": \"Pro pojmenování webu použijte toto políčko.\",\n    \"site-slogan\": \"Slogan webu\",\n    \"use-this-field-to-add-a-catchy-phrase\": \"Pro přidání chytlavé hlášky na váš web použijte toto políčko.\",\n    \"site-description\": \"Popis webu\",\n    \"you-can-add-a-site-description-to-provide\": \"Zde můžete přidat krátký popis vašeho webu.\",\n    \"footer-text\": \"Text v patičce\",\n    \"you-can-add-a-small-text-on-the-bottom\": \"Zde můžete přidat drobný text na spodek každé stránky. Např.: copyright, majtele, datumy, atd.\",\n    \"social-networks-links\": \"Odkazy na sociální sítě\",\n    \"site-url\": \"URL adresa webu\",\n    \"email-account-settings\": \"Nastavení emailového účtu\",\n    \"sender-email\": \"Odesílatel emailu\",\n    \"emails-will-be-sent-from-this-address\": \"Emaily budou odesílány z této adresy.\",\n    \"url-filters\": \"Filtry URL\",\n    \"select-your-sites-language\": \"Vyberte si jazyk vašeho webu.\",\n    \"timezone\": \"Časové pásmo\",\n    \"select-a-timezone-for-a-correct\": \"Vyberte časové pásmo webu pro správné zobrazování datumu a času.\",\n    \"locale\": \"Lokalizace\",\n    \"date-and-time-formats\": \"Formát datumu a času\",\n    \"date-format\": \"Formát datumu\",\n    \"current-format\": \"Současný formát\",\n    \"version\": \"Verze\",\n    \"author\": \"Autor\",\n    \"activate\": \"Aktivovat\",\n    \"deactivate\": \"Deaktivovat\",\n    \"edit-category\": \"Upravit kategorii\",\n    \"delete\": \"Smazat\",\n    \"password\": \"Heslo\",\n    \"confirm-password\": \"Potvrdit heslo\",\n    \"editor\": \"Editor\",\n    \"administrator\": \"Administrátor\",\n    \"edit-user\": \"Upravit uživatele\",\n    \"edit-content\": \"Upravit obsah\",\n    \"profile\": \"Profil\",\n    \"change-password\": \"Změnit heslo\",\n    \"enabled\": \"Povoleno\",\n    \"disable-the-user\": \"Zakázat uživatele\",\n    \"profile-picture\": \"Profilový obrázek\",\n    \"edit-or-delete-your-categories\": \"Úprava nebo smazání vašich kategorií\",\n    \"create-a-new-category-to-organize-your-content\": \"Vytvořte novou kategorii pro snadnější organizaci obsahu\",\n    \"confirm-delete-this-action-cannot-be-undone\": \"Potvrdit smazání, tato změna nemůže být vrácena.\",\n    \"do-you-want-to-disable-the-user\": \"Chcete zakázat uživatele ?\",\n    \"new-password\": \"Nové heslo\",\n    \"you-can-change-this-field-when-save-the-current-changes\": \"Toto políčko můžete změnit při ukládání současných změn.\",\n    \"items-per-page\": \"Položek na stránku\",\n    \"invite-a-friend-to-collaborate-on-your-site\": \"Pozvěte kamaráda, aby vám pomohl s vaším webem\",\n    \"number-of-items-to-show-per-page\": \"Počet položek, které se mají zobrazit na jednu stránku.\",\n    \"website-or-blog\": \"Web nebo Blog\",\n    \"order-content-by\": \"Řadit obsah podle\",\n    \"edit-or-delete-content-from-your-site\": \"Upravit nebo smazat obsah z vašeho webu\",\n    \"order-the-content-by-date-to-build-a-blog\": \"Seřaďte obsah podle datumu pro vytvoření blogu nebo ho seřaďte podle pozice pro vytvoření webu.\",\n    \"page-not-found-content\": \"Hej! Vypadá to, že tato stránka neexistuje.\",\n    \"page-not-found\": \"Stránka nenalezena\",\n    \"predefined-pages\": \"Předdefinované stránky\",\n    \"returning-page-when-the-page-doesnt-exist\": \"Stránka, na kterou jsou návštěvníci přesměrování, když jejich cílová URL neexistuje. V případě, že žádná stránka není vybrána, zobrazí se standardní chybová hláška.\",\n    \"returning-page-for-the-main-page\": \"Hlavní stránka webu. V připadě, že žádná stránka není vybrána, zobrazí se na úvodní stránce seřazený výpis obsahu.\",\n    \"full-url-of-your-site\": \"Plná URL vašeho webu. Včetně protokolu HTTP nebo HTTPS (pouze pokud na serveru máte povoleno SSL).\",\n    \"with-the-locales-you-can-set-the-regional-user-interface\": \"Pokud definujete lokalizaci, web a prohlížeč se budou snažit automaticky používat správná regionální nastavení jako jsou formáty a jazyky datumů. Lokalizace musí být nainstalována na vašem systému.\",\n    \"bludit-installer\": \"Bludit Instalátor\",\n    \"choose-your-language\": \"Zvolte váš jazyk\",\n    \"next\": \"Další\",\n    \"complete-the-form-choose-a-password-for-the-username-admin\": \"Dokončete formulář vyplněním hesla pro uživatele <b>< admin ><\\/b>\",\n    \"show-password\": \"Ukázat heslo\",\n    \"install\": \"Instalovat\",\n    \"login\": \"Přihlášení\",\n    \"back-to-login-form\": \"Zpátky na přihlašovací formulář\",\n    \"get-login-access-code\": \"Získat přístupový kód pro přihlášení\",\n    \"email-access-code\": \"Přístupový kód z emailu\",\n    \"whats-next\": \"Co dál\",\n    \"username-or-password-incorrect\": \"Uživatelské jméno nebo heslo není správné\",\n    \"follow-bludit-on\": \"Sledujte Bludit na\",\n    \"this-is-a-brief-description-of-yourself-our-your-site\": \"Toto je krátký popis o vás nebo vašem webu, pro změnu tohoto textu jděte do administrace a konfigurujte plugin about.\",\n    \"new-version-available\": \"Je dostupná nová verze\",\n    \"new-category-created\": \"Nová kategorie vytvořena\",\n    \"category-deleted\": \"Kategorie smazána\",\n    \"category-edited\": \"Kategorie upravena\",\n    \"new-user-created\": \"Nový uživatel vytvořen\",\n    \"user-edited\": \"Uživatel upraven\",\n    \"user-deleted\": \"Uživatel smazán\",\n    \"recommended-for-recovery-password-and-notifications\": \"Doporučeno pro obnovu hesla a oznámení.\",\n    \"authentication-token\": \"Autentizační Token\",\n    \"token\": \"Token\",\n    \"current-status\": \"Současný stav\",\n    \"upload-image\": \"Nahrát obrázek\",\n    \"the-changes-have-been-saved\": \"Změny byly uloženy\",\n    \"label\": \"Popisek\",\n    \"links\": \"Odkazy\",\n    \"this-title-is-almost-always-used-in-the-sidebar-of-the-site\": \"Tento nadpis je téměř vždy použit v postranním panelu webu.\",\n    \"password-must-be-at-least-6-characters-long\": \"Heslo musí mít alespoň 6 znaků\",\n    \"ip-address-has-been-blocked\": \"IP adresa zablokována\",\n    \"try-again-in-a-few-minutes\": \"Zkuste to znovu za pár minut\",\n    \"content-published-from-scheduler\": \"Obsah publikován plánovačem\",\n    \"blog\": \"Blog\",\n    \"complete-all-fields\": \"Vyplňte všechna políčka\",\n    \"static\": \"Statické\",\n    \"about-your-site-or-yourself\": \"O vašem webu nebo o vás\",\n    \"homepage\": \"Úvodní stránka\",\n    \"disabled\": \"Zakázáno\",\n    \"to-enable-the-user-you-must-set-a-new-password\": \"Pro povolení uživatele musíte nastavit nové heslo.\",\n    \"delete-the-user-and-associate-his-content-to-admin-user\": \"Smazat uživatele a přiřadit veškerý jeho obsah adminovi.\",\n    \"delete-the-user-and-all-his-content\": \"Smazat uživatele a veškerý jeho obsah\",\n    \"user-disabled\": \"Uživatel zakázán\",\n    \"user-password-changed\": \"Heslo užvatele změněno\",\n    \"the-password-and-confirmation-password-do-not-match\": \"Heslo a jeho potvrzení se neshodují\",\n    \"scheduled-content\": \"Naplánovaný obsah\",\n    \"there-are-no-scheduled-content\": \"Nemáte žádný naplánovaný obsah.\",\n    \"new-content-created\": \"Nový obsah vytvořen\",\n    \"content-edited\": \"Obsah upraven\",\n    \"content-deleted\": \"Obsah smazán\",\n    \"undefined\": \"Není nadefinováno\",\n    \"create-new-content-for-your-site\": \"Vytvořte nový obsah pro váš web\",\n    \"order-items-by\": \"Řadit položky dle\",\n    \"all-content\": \"Veškerý obsah\",\n    \"dynamic\": \"Dynamický\",\n    \"type\": \"Typ\",\n    \"draft-content\": \"Koncept obsahu\",\n    \"post\": \"Příspěvek\",\n    \"default\": \"Výchozí\",\n    \"latest-content\": \"Nejnovější obsah\",\n    \"default-message\": \"Výchozí zpráva\",\n    \"no-parent\": \"Bez rodiče\",\n    \"have-you-seen-my-ball\": \"Viděli jste můj míč?\",\n    \"pagebreak\": \"Přerušení stránky\",\n    \"pages\": \"Stránky\",\n    \"this-plugin-may-not-be-supported-by-this-version-of-bludit\": \"Tento plugin nemusí být podporován současnou verzí Bludit.\",\n    \"previous\": \"Předchozí\",\n    \"previous-page\": \"Předchozí stránka\",\n    \"next-page\": \"Další stránka\",\n    \"scheduled\": \"Naplánované\",\n    \"this-token-is-similar-to-a-password-it-should-not-be-shared\": \"Tento token je podobný heslu, neměl by proto být s nikým sdílen.\",\n    \"congratulations-you-have-successfully-installed-your-bludit\": \"Gratulujeme, úspěšně jste nainstalovali váš **Bludit**.\",\n    \"this-theme-may-not-be-supported-by-this-version-of-bludit\": \"Toto grafické téma nemusí podporovat současnou verzi Bludit\",\n    \"read-more\": \"Číst dále\",\n    \"remember-me\": \"Zapamatovat si mě\",\n    \"plugins-position\": \"Pozice pluginů\",\n    \"plugins-sorted\": \"Třídení pluginů\",\n    \"plugins-position-changed\": \"Pozice pluginu se změnila\",\n    \"drag-and-drop-to-set-the-position-of-the-plugin\": \"Drag and Drop pro nastavení pozice pluginů\",\n    \"change-the-position-of-the-plugins\": \"Změnit pozici pluginů\",\n    \"reading-time\": \"Doba čtení\",\n    \"minutes\": \"minut\",\n    \"minute\": \"minuta\",\n    \"example-page-1-slug\": \"tvorte-svuj-vlastni-obsah\",\n    \"example-page-1-title\": \"Tvořte svůj vlastní obsah\",\n    \"example-page-1-content\": \"Začněte psát svůj vlastní obsah nebo upravte již existující podle svojich představ. Pro vytváření, úpravu nebo mazání obsahu se musíte přihlásit do <a href=\\\".\\/admin\\/\\\">administrace<\\/a> s uživatelským jménem `admin` a heslem, které jste nastavili během instalace.\",\n    \"example-page-2-slug\": \"nastavte-svuj-novy-web\",\n    \"example-page-2-title\": \"Nastavte svůj nový web\",\n    \"example-page-2-content\": \"Upravte nastavení svého webu z <a href=\\\".\\/admin\\/\\\">administrace<\\/a>. Název, popis nebo použivané sociální sítě můžete změnit v <a href=\\\".\\/admin\\/settings\\\" target=\\\"_blank\\\">Nastavení > Obecné<\\/a>.\",\n    \"example-page-3-slug\": \"sledujte-bludit\",\n    \"example-page-3-title\": \"Sledujte Bludit\",\n    \"example-page-3-content\": \"Získejte informace o novinkách, nových verzích, grafických tématech nebo pluginech na našich sociálních sítích <a href=\\\"https:\\/\\/www.facebook.com\\/bluditcms\\/\\\" target=\\\"_blank\\\">Facebook<\\/a>, <a href=\\\"https:\\/\\/www.twitter.com\\/bludit\\/\\\" target=\\\"_blank\\\">Twitter<\\/a> a <a href=\\\"https:\\/\\/www.youtube.com\\/c\\/Bluditcms\\\" target=\\\"_blank\\\">YouTube<\\/a> nebo navštivte náš <a href=\\\"https:\\/\\/blog.bludit.com\\\" target=\\\"_blank\\\">Blog<\\/a>.\",\n    \"example-page-4-slug\": \"o-blogu\",\n    \"example-page-4-title\": \"O blogu\",\n    \"example-page-4-content\": \"Vaše stránka O blogu je obvykle jednou z nejnavštěvovanějších stránek na webu. Měla by být jednoduchá a obsahovat pár nejzákladnějších informací, například Vaše jméno, kdo jste a jak můžete být kontaktováni, nebo zde může být Váš osobní příběh a podobně.\",\n    \"the-extension-zip-is-not-installed\": \"Rozšíření zip není nainstalováno. Pro použití pluginu musíte zip nejprve nainstalovat.\",\n    \"there-are-no-sticky-pages-at-this-moment\": \"Momentálně zde nejsou žádné důležité stránky.\",\n    \"there-are-no-scheduled-pages-at-this-moment\": \"Momentálně zde nejsou žádné naplánované stránky.\",\n    \"update\": \"Obnovit\",\n    \"template\": \"Šablona\",\n    \"nickname\": \"Přezdívka\",\n    \"disable-user\": \"Zakázat uživatele\",\n    \"delete-user-and-keep-content\": \"Smazat uživatele a ponechat jeho obsah\",\n    \"delete-user-and-delete-content\": \"Smazat uživatele i jeho obsah (Varování)\",\n    \"social-networks\": \"Sociální sítě\",\n    \"interval\": \"Interval\",\n    \"number-in-minutes-for-every-execution-of-autosave\": \"Počet minut mezi každým automatickým uložením.\",\n    \"extreme-friendly-url\": \"Extrémně přívětivá URL\",\n    \"title-formats\": \"Formáty titulku\",\n    \"delete-content\": \"Smazat obsah\",\n    \"are-you-sure-you-want-to-delete-this-page\": \"Opravdu si přejete odstranit tuto stránku?\",\n    \"sticky\": \"Důležité\",\n    \"actions\": \"Akce\",\n    \"edit\": \"Upravit\",\n    \"options\": \"Možnosti\",\n    \"enter-title\": \"Zadat název\",\n    \"media-manager\": \"Správce mediálních souborů\",\n    \"set-a-cover-image-from-external-url,-such-as-a-cdn-or-some-server-dedicated-for-images\": \"Nastavte titulní obrázek obsahu z externí URL: například z CDN nebo jiného serveru sloužícího pro ukládání obrázků.\",\n    \"user\": \"Uživatel\",\n    \"date-format-format\": \"Formát datumu: <code>YYYY-MM-DD HH:MM:SS<\\/code>\",\n    \"start-typing-a-page-title-to-see-a-list-of-suggestions\": \"Začněte psát název stránky pro zobrazení našeptávače.\",\n    \"field-used-when-ordering-content-by-position\": \"Pokud je nastaveno řazení obsahu dle čísla pozice, zadejte číslo pro nastavení pořádí. Obsah s nižším číslem se zobrazuje více vysoko.\",\n    \"write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page\": \"Zadejte název šablony stránky pro možnost zachytit stránku v grafickém tématu a změnit její styl.\",\n    \"write-the-tags-separated-by-commas\": \"Sem zapisujte jednotlivé štítky a oddělujte je čárkou.\",\n    \"apply-code-noindex-code-to-this-page\": \"Použít na této stránce <code>noindex<\\/code>.\",\n    \"this-tells-search-engines-not-to-show-this-page-in-their-search-results\": \"Zaškrtnutím možnosti říkáte vyhledávačům, aby nezahrnovaly tuto stránku do výsledků vyhledávání.\",\n    \"apply-code-nofollow-code-to-this-page\": \"Použít na této stránce <code>nofollow<\\/code>.\",\n    \"this-tells-search-engines-not-to-follow-links-on-this-page\": \"Zaškrtnutím možnosti říkáte vyhledávačům, aby neprocházely odkazy z této stránky.\",\n    \"apply-code-noarchive-code-to-this-page\": \"Použít na této stránce <code>noarchive<\\/code>.\",\n    \"this-tells-search-engines-not-to-save-a-cached-copy-of-this-page\": \"Zaškrtnutím možnosti říkáte vyhledávačům, aby neukládaly kopii této stránky do mezipaměti.\",\n    \"uncategorized\": \"Bez kategorie\",\n    \"done\": \"Hotovo\",\n    \"delete-category\": \"Smazat kategorii\",\n    \"are-you-sure-you-want-to-delete-this-category?\": \"Opravdu chcete tuto kategorii smazat?\",\n    \"confirm-new-password\": \"Potvrdit nové heslo\",\n    \"the-nickname-is-almost-used-in-the-themes-to-display-the-author-of-the-content\": \"Přezdívka je použita v šablonách pro zobrazení autora obsahu.\",\n    \"allow-unicode\": \"Povolení Unicode znaků\",\n    \"allow-unicode-characters-in-the-url-and-some-part-of-the-system\": \"Povolení Unicode znaků v URL a některých částech systému.\",\n    \"variables-allowed\": \"Povolené proměnné\",\n    \"tag\": \"Štítek\",\n    \"drag-and-drop-to-sort-the-plugins\": \"Drag and Drop pro třídění pluginů.\",\n    \"seo\": \"SEO\",\n    \"documentation\": \"Dokumentace\",\n    \"forum-support\": \"Fórum podpory\",\n    \"chat-support\": \"Podpora přes chat\",\n    \"quick-links\": \"Rychlé odkazy\",\n    \"leave-empty-for-autocomplete-by-bludit\": \"Ponechte prázdné pro automatické doplnění od Bludit.\",\n    \"choose-a-password-for-the-user-admin\": \"Změňte heslo pro uživatele <code>admin<\\/code>\",\n    \"access-denied\": \"Přístup odepřen\",\n    \"choose-images-to-upload\": \"Vyberte obrázky pro nahrání\",\n    \"insert\": \"Vložit\",\n    \"upload\": \"Nahrát\",\n    \"autosave\": \"Automatické ukládání\",\n    \"the-content-is-saved-as-a-draft-to-publish-it\": \"Tento obsah je uložen jako koncept. Pro publikaci klikněte na tlačítko <b>Publikovat<\\/b>. Pokud chcete na konceptu dále pracovat, klikněte na tlačítko <b>Uložit jako koncept<\\/b>.\",\n    \"site\": \"Web\",\n    \"first\": \"První\",\n    \"last\": \"Poslední\",\n    \"there-are-no-pages-at-this-moment\": \"Momentálně zde nejsou žádné stránky.\",\n    \"there-are-no-static-pages-at-this-moment\": \"Momentálně zde nejsou žádné statické stránky.\",\n    \"there-are-no-draft-pages-at-this-moment\": \"Momentálně zde nejsou žádné koncepty.\",\n    \"good-morning\": \"Dobré ráno\",\n    \"good-afternoon\": \"Dobré odpoledne\",\n    \"good-evening\": \"Dobrý večer\",\n    \"good-night\": \"Dobrou noc\",\n    \"hello\": \"Ahoj\",\n    \"there-are-no-images-for-the-page\": \"Nejsou zde žádné obrázky pro stránku.\",\n    \"select-cover-image\": \"Vyberte titulní obrázek\",\n    \"this-plugin-depends-on-the-following-plugins\": \"Tento plugin závisí na následujících pluginech.\",\n    \"no-pages-found\": \"Nebyly nalezeny žádné stránky\",\n    \"system-updated\": \"Systém updatován\",\n    \"security\": \"Zabezpečení\",\n    \"remove-cover-image\": \"Odstranit titulní obrázek\",\n    \"width\": \"Šířka\",\n    \"height\": \"Výška\",\n    \"quality\": \"Kvalita\",\n    \"thumbnails\": \"Náhledové obrázky\",\n    \"thumbnail\": \"Náhledový obrázek\",\n    \"thumbnail-width-in-pixels\": \"Šířka náhledového obrázku v pixelech (px).\",\n    \"thumbnail-height-in-pixels\": \"Výška náhledového obrázku v pixelech (px).\",\n    \"thumbnail-quality-in-percentage\": \"Kvalita náhledového obrázku v procentech (%).\",\n    \"maximum-load-file-size-allowed:\": \"Maximální povolená velikost souboru:\",\n    \"file-type-is-not-supported\": \"Souborový typ není podporován. Povolené typy:\",\n    \"page-content\": \"Obsah stránky\",\n    \"markdown-parser\": \"Markdown parser\",\n    \"site-logo\": \"Logo webu\",\n    \"search\": \"Vyhledávání\",\n    \"search-plugins\": \"Vyhledat pluginy\",\n    \"enabled-plugins\": \"Zapnuté plugins\",\n    \"disabled-plugins\": \"Zakázané pluginy\",\n    \"remove-logo\": \"Odstranit logo\",\n    \"preview\": \"Náhled\",\n    \"author-can-write-and-edit-their-own-content\": \"Autor: Může psát a upravovat vlastní obsah. Editor: Může psát a upravovat obsah ostatních.\",\n    \"custom-fields\": \"Vlastní pole\",\n    \"define-custom-fields-for-the-content\": \"Definujte vlastní datová pole obsahu. Jak s vlastními poli pracovat naleznete v <a target='_blank' href='https:\\/\\/docs.bludit.com\\/en\\/content\\/custom-fields'>dokumentaci<\\/a>.\",\n    \"start-typing-to-see-a-list-of-suggestions\": \"Začněte psát pro zobrazení našeptávače.\",\n    \"view\": \"Zobrazit\",\n    \"no-tags\": \"Žádné štítky\",\n    \"insert-thumbnail\": \"Vložit náhled\",\n    \"visits-today\": \"Dnešní návštěvy\",\n    \"no-categories\": \"Žádné kategorie\",\n    \"quick-search-pages-and-menu\": \"Rychlé vyhledávání stránek a menu\",\n    \"click-here-for-quick-search\": \"Click here for quick search\",\n    \"analytics\": \"Analytika\",\n    \"unique-visitors\": \"Unikátní návštěvníci\",\n    \"insert-linked-thumbnail\": \"Vložit odkazovaný náhled\",\n    \"search-placeholder\": \"Hledat stránky, obsah a položky menu...\",\n    \"no-results-found\": \"Nebyly nalezeny žádné výsledky\",\n    \"navigation\": \"Navigace\",\n    \"default-content-status\": \"Výchozí stav obsahu\",\n    \"default-status-for-new-content\": \"Vyberte, zda má být nový obsah ve výchozím nastavení vytvořen jako Publikovaný nebo jako Koncept.\",\n    \"thumbnail-generation\": \"Generování náhledů\",\n    \"enable-disable-automatic-thumbnail-generation-on-image-upload\": \"Povolit nebo zakázat automatické generování náhledů při nahrávání obrázků.\"\n}\n"
  },
  {
    "path": "bl-languages/da.json",
    "content": "{\n    \"about\": \"Om\",\n    \"about-your-site-or-yourself\": \"Om dit websted eller dig selv\",\n    \"access-denied\": \"Adgang nægtet\",\n    \"actions\": \"Handlinger\",\n    \"activate\": \"Aktiver\",\n    \"add\": \"Tilføj\",\n    \"add-a-new-category\": \"Tilføj en ny kategori\",\n    \"add-a-new-user\": \"Tilføj en ny bruger\",\n    \"add-new-content\": \"Tilføj nyt indhold\",\n    \"administrator\": \"Administrator\",\n    \"advanced\": \"Avanceret\",\n    \"advanced-settings\": \"Avancerede indstillinger\",\n    \"all-content\": \"Alt indhold\",\n    \"allow-unicode\": \"Tillad Unicode\",\n    \"allow-unicode-characters-in-the-url-and-some-part-of-the-system\": \"Tillad Unicode-tegn i URL'en og nogle dele af systemet.\",\n    \"apply-code-noarchive-code-to-this-page\": \"Anvend <code>noarchive<\\/code> til denne side.\",\n    \"apply-code-nofollow-code-to-this-page\": \"Anvend <code>nofollow<\\/code> til denne side.\",\n    \"apply-code-noindex-code-to-this-page\": \"Anvend <code>noindex<\\/code> til denne side.\",\n    \"are-you-sure-you-want-to-delete-this-category?\": \"Er du sikker på, at du vil slette denne kategori?\",\n    \"are-you-sure-you-want-to-delete-this-page\": \"Er du sikker på, at du vil slette denne side?\",\n    \"authentication-token\": \"Autentificeringstoken\",\n    \"author\": \"Forfatter\",\n    \"author-can-write-and-edit-their-own-content\": \"Forfatter: Kan skrive og rediger deres eget indhold. Redaktør: Kan skrive og rediger eget og andres indhold.\",\n    \"autosave\": \"Gem automatisk\",\n    \"back-to-login-form\": \"Tilbage til loginformular\",\n    \"blog\": \"Blog\",\n    \"bludit-installer\": \"Bludit Installer\",\n    \"cancel\": \"Fortryd\",\n    \"categories\": \"Kategorier\",\n    \"category\": \"Kategori\",\n    \"category-deleted\": \"Kategori slettet\",\n    \"category-edited\": \"Kategori redigeret\",\n    \"change-password\": \"Skift adgangskode\",\n    \"change-the-position-of-the-plugins\": \"Skift udvidelsens placering\",\n    \"change-your-language-and-region-settings\": \"Skift dit sprog- og regionsindstillinger.\",\n    \"chat-support\": \"Chat support\",\n    \"choose-a-password-for-the-user-admin\": \"Vælg en adgangskode til brugeren <code>admin<\\/code>\",\n    \"choose-images-to-upload\": \"Vælg billede, der skal uploades\",\n    \"choose-your-language\": \"Vælg dit sprog\",\n    \"click-here-to-cancel\": \"Klik her for at fortryde.\",\n    \"click-on-the-image-for-options\": \"Klik på billedet for indstillinger.\",\n    \"complete-all-fields\": \"Udfyld alle felter\",\n    \"complete-the-form-choose-a-password-for-the-username-admin\": \"Udfyld formularen og vælg en adgangskode til brugernavnet <b>admin<\\/b>\",\n    \"confirm-delete-this-action-cannot-be-undone\": \"Bekræft sletning, denne handling kan ikke fortrydes.\",\n    \"confirm-new-password\": \"Bekræft ny adgangskode\",\n    \"confirm-password\": \"Bekræft adgangskode\",\n    \"congratulations-you-have-successfully-installed-your-bludit\": \"Tillykke, du har gennemført din installation af Bludit.\",\n    \"content\": \"Indhold\",\n    \"content-deleted\": \"Indhold slettet\",\n    \"content-edited\": \"Indhold redigeret\",\n    \"content-published-from-scheduler\": \"Indhold udgivet fra planlagt\",\n    \"cover-image\": \"Fremhævet billede\",\n    \"create-a-new-category-to-organize-your-content\": \"Opret en ny kategori, for at organisere dit indhold\",\n    \"create-new-content-for-your-site\": \"Opret nyt indhold til dit websted\",\n    \"current-format\": \"Aktuelt format\",\n    \"current-status\": \"Nuværende status\",\n    \"custom-fields\": \"Brugerdefinerede felter\",\n    \"dashboard\": \"Kontrolpanel\",\n    \"date\": \"Dato\",\n    \"date-and-time-formats\": \"Dato og tidsformater\",\n    \"date-format\": \"Datoformat\",\n    \"date-format-format\": \"Datoformat: <code>ÅÅÅÅ-MM-DD Timer:Minutter:Sekunder<\\/code>\",\n    \"dates\": {\n        \"Apr\": \"apr\",\n        \"April\": \"april\",\n        \"Aug\": \"aug\",\n        \"August\": \"august\",\n        \"Dec\": \"dec\",\n        \"December\": \"december\",\n        \"Feb\": \"feb\",\n        \"February\": \"februar\",\n        \"Fri\": \"Fre\",\n        \"Friday\": \"fredag\",\n        \"Jan\": \"jan\",\n        \"January\": \"januar\",\n        \"Jul\": \"jul\",\n        \"July\": \"juli\",\n        \"Jun\": \"jun\",\n        \"June\": \"juni\",\n        \"Mar\": \"mar\",\n        \"March\": \"marts\",\n        \"May\": \"maj\",\n        \"Mon\": \"man\",\n        \"Monday\": \"mandag\",\n        \"Nov\": \"nov\",\n        \"November\": \"november\",\n        \"Oct\": \"okt\",\n        \"October\": \"oktober\",\n        \"Sat\": \"lør\",\n        \"Saturday\": \"lørdag\",\n        \"Sep\": \"sep\",\n        \"September\": \"september\",\n        \"Sun\": \"søn\",\n        \"Sunday\": \"søndag\",\n        \"Thu\": \"tors\",\n        \"Thursday\": \"torsdag\",\n        \"Tue\": \"tirs\",\n        \"Tuesday\": \"tirsdag\",\n        \"Wed\": \"ons\",\n        \"Wednesday\": \"onsdag\"\n    },\n    \"deactivate\": \"Deaktiver\",\n    \"default\": \"Standard\",\n    \"default-message\": \"Standardmeddelelse\",\n    \"define-custom-fields-for-the-content\": \"Definer tilpassede felter for indhold. Lær mere om brugerdefinerede felter i <a href='https:\\/\\/docs.bludit.com\\/en\\/content\\/custom-fields'>dokumentationen<\\/a>.\",\n    \"delete\": \"Slet\",\n    \"delete-category\": \"Slet kategori\",\n    \"delete-content\": \"Slet indhold\",\n    \"delete-image\": \"Slet billede\",\n    \"delete-the-user-and-all-his-content\": \"Slet brugeren og alt brugerens indhold\",\n    \"delete-the-user-and-associate-his-content-to-admin-user\": \"Slet brugeren og tilknyt brugerens indhold til administratorbrugeren\",\n    \"delete-user-and-delete-content\": \"Slet bruger og slet indhold (Advarsel)\",\n    \"delete-user-and-keep-content\": \"Slet bruger og behold indholdet\",\n    \"description\": \"Beskrivelse\",\n    \"developers\": \"Udviklere\",\n    \"disable-the-user\": \"Deaktiver brugeren\",\n    \"disable-user\": \"Deaktiver bruger\",\n    \"disabled\": \"Deaktiveret\",\n    \"disabled-plugins\": \"Deaktiverede udvidelser\",\n    \"do-you-want-to-disable-the-user\": \"Vil du deaktivere brugeren?\",\n    \"documentation\": \"Dokumentation\",\n    \"done\": \"Færdig\",\n    \"draft\": \"Kladde\",\n    \"draft-content\": \"Kladde indhold\",\n    \"drafts\": \"Kladder\",\n    \"drag-and-drop-or-click-here\": \"Træk og slip eller klik her\",\n    \"drag-and-drop-to-set-the-position-of-the-plugin\": \"Træk og slip for at ændre placeringen af udvidelserne\",\n    \"drag-and-drop-to-sort-the-plugins\": \"Træk og slip for at sortere udvidelserne.\",\n    \"dynamic\": \"Dynamisk\",\n    \"edit\": \"Rediger\",\n    \"edit-category\": \"Rediger kategori\",\n    \"edit-content\": \"Rediger indhold\",\n    \"edit-or-delete-content-from-your-site\": \"Rediger eller slet indhold fra dit websted\",\n    \"edit-or-delete-your-categories\": \"Rediger eller slet dine kategorier\",\n    \"edit-user\": \"Rediger bruger\",\n    \"editor\": \"Redaktør\",\n    \"email\": \"E-mail\",\n    \"email-access-code\": \"Email adgangskode\",\n    \"email-account-settings\": \"Indstillinger for e-mail-konto\",\n    \"emails-will-be-sent-from-this-address\": \"E-mails sendes fra denne adresse.\",\n    \"empty\": \"Tom\",\n    \"empty-title\": \"Tom titel\",\n    \"enabled\": \"Aktiveret\",\n    \"enabled-plugins\": \"Aktiverede udvidelser\",\n    \"enter-title\": \"Angiv titel\",\n    \"error\": \"Fejl\",\n    \"example-page-1-content\": \"Begynd med at skrive dit eget indhold, eller rediger denne post, så det passer til dine behov. For at oprette, redigere eller fjerne indhold skal du logge ind på <a href=\\\".\\/admin\\/\\\">adminpanelet<\\/a> med brugernavnet `admin` og den adgangskode, du har angivet i installationsprocessen.\",\n    \"example-page-1-slug\": \"opret-dit-eget-indhold\",\n    \"example-page-1-title\": \"Opret dit eget indhold\",\n    \"example-page-2-content\": \"Opdater indstillingerne på dit websted fra <a href=\\\".\\/admin\\/\\\">administrationspanelet<\\/a>. Du kan ændre titlen, beskrivelsen og dine sociale netværk fra <a href=\\\".\\/admin\\/settings\\\">Indstillinger > Generelt<\\/a>.\",\n    \"example-page-2-slug\": \"opsæt-dit-nye-websted\",\n    \"example-page-2-title\": \"Opsæt dit nye websted\",\n    \"example-page-3-content\": \"Få information om nyheder, nye udgivelser, nye temaer eller nye udvidelser på vores sociale netværk <a href=\\\"https:\\/\\/www.facebook.com\\/bluditcms\\/\\\" target=\\\"_blank\\\">Facebook<\\/a>, <a href=\\\"https:\\/\\/www.twitter.com\\/bludit\\/\\\" target=\\\"_blank\\\">Twitter<\\/a> og <a href=\\\"https:\\/\\/www.youtube.com\\/c\\/Bluditcms\\\" target=\\\"_blank\\\">YouTube<\\/a> eller besøg vores <a href=\\\"https:\\/\\/blog.bludit.com\\\" target=\\\"_blank\\\">blog<\\/a>.\",\n    \"example-page-3-slug\": \"følg-bludit\",\n    \"example-page-3-title\": \"Følg Bludit\",\n    \"example-page-4-content\": \"Din Om-side er typisk en af de mest besøgte sider på dit websted, og bør være enkel med et par centrale ting, såsom dit navn, hvem du er, hvordan kan du kontaktes, en lille historie osv.\",\n    \"example-page-4-slug\": \"om\",\n    \"example-page-4-title\": \"Om\",\n    \"external-cover-image\": \"Eksternt fremhævet billede\",\n    \"extreme-friendly-url\": \"Ekstrem venlig URL\",\n    \"field-used-when-ordering-content-by-position\": \"Feltet bruges til at angive sorteringen af indhold efter position.\",\n    \"file-type-is-not-supported\": \"Filtype understøttes ikke. Tilladte typer:\",\n    \"first\": \"Først\",\n    \"first-name\": \"Fornavn\",\n    \"follow-bludit-on\": \"Følg Bludit på\",\n    \"footer-text\": \"Tekstfod\",\n    \"forum-support\": \"Forum support\",\n    \"friendly-url\": \"Venlig URL\",\n    \"full-image-url\": \"URL-adresse til fuldt billede.\",\n    \"full-url-of-your-site\": \"Fuld URL på dit websted. Komplet med protokollen HTTP eller HTTPS (kun hvis du har aktiveret SSL på din server).\",\n    \"general\": \"Generelt\",\n    \"general-settings\": \"Generelle indstillinger\",\n    \"get-login-access-code\": \"Få login-adgangskode\",\n    \"good-afternoon\": \"God eftermiddag\",\n    \"good-evening\": \"Godaften\",\n    \"good-morning\": \"Godmorgen\",\n    \"good-night\": \"Godnat\",\n    \"have-you-seen-my-ball\": \"Har du set min bold?\",\n    \"height\": \"Højde\",\n    \"hello\": \"Hej\",\n    \"homepage\": \"Hovedside\",\n    \"image-description\": \"Billedbeskrivelse\",\n    \"images\": \"Billeder\",\n    \"insert\": \"Indsæt\",\n    \"insert-image\": \"Indsæt billede\",\n    \"install\": \"Installer\",\n    \"interval\": \"Interval\",\n    \"invite-a-friend-to-collaborate-on-your-site\": \"Inviter en ven til at samarbejde om indhold på dit websted\",\n    \"ip-address-has-been-blocked\": \"IP-adressen er blevet blokeret\",\n    \"items-per-page\": \"Elementer pr. side\",\n    \"label\": \"Etiket\",\n    \"language\": \"Sprog\",\n    \"language-and-timezone\": \"Sprog og tidszone\",\n    \"language-data\": {\n        \"authors\": [\n            \"Steen Jakobsen @lightmat\",\n            \"\",\n            \"\",\n            \"\"\n        ],\n        \"english-name\": \"Danish\",\n        \"last-update\": \"01-05-2020\",\n        \"locale\": \"da, da_DK\",\n        \"native\": \"Dansk\"\n    },\n    \"last\": \"Sidst\",\n    \"last-name\": \"Efternavn\",\n    \"latest-content\": \"Seneste indhold\",\n    \"leave-empty-for-autocomplete-by-bludit\": \"Lad feltet være tomt, for automatisk udfyldelse af Bludit.\",\n    \"links\": \"Links\",\n    \"locale\": \"Landestandard\",\n    \"login\": \"Log ind\",\n    \"logout\": \"Log ud\",\n    \"manage\": \"Administration\",\n    \"manage-categories\": \"Administrer kategorier\",\n    \"manage-content\": \"Administrer indhold\",\n    \"manage-users\": \"Administrer brugere\",\n    \"markdown-parser\": \"Markdown fortolker\",\n    \"maximum-load-file-size-allowed:\": \"Maksimal tilladt filstørrelse:\",\n    \"media-manager\": \"Medie Manager\",\n    \"minute\": \"minut\",\n    \"minutes\": \"minutter\",\n    \"name\": \"Navn\",\n    \"new-category\": \"Ny kategori\",\n    \"new-category-created\": \"Ny kategori oprettet\",\n    \"new-content\": \"Nyt indhold\",\n    \"new-content-created\": \"Nyt indhold oprettet\",\n    \"new-password\": \"Ny adgangskode\",\n    \"new-theme-configured\": \"Nyt tema konfigureret\",\n    \"new-user-created\": \"Ny bruger oprettet\",\n    \"new-version-available\": \"Ny version tilgængelig\",\n    \"next\": \"Næste\",\n    \"next-page\": \"Næste side\",\n    \"nickname\": \"Alias\",\n    \"no-pages-found\": \"Ingen sider fundet.\",\n    \"no-parent\": \"Ingen forældre\",\n    \"notifications\": \"Meddelelser \",\n    \"number-in-minutes-for-every-execution-of-autosave\": \"Interval i minutter, for hver udførelse af gem automatisk.\",\n    \"number-of-items-to-show-per-page\": \"Antal elementer, der skal vises pr. side.\",\n    \"options\": \"Muligheder\",\n    \"order-content-by\": \"Sorter indhold efter\",\n    \"order-items-by\": \"Sorter poster efter\",\n    \"order-the-content-by-date-to-build-a-blog\": \"Sorter indholdet efter dato for at oprette en blog, eller sorter indholdet efter position for at oprette et websted.\",\n    \"page-content\": \"Sideindhold\",\n    \"page-not-found\": \"Side  ikke fundet\",\n    \"page-not-found-content\": \"Hej! Det ser ud til, at denne side ikke findes.\",\n    \"pagebreak\": \"Sideskift\",\n    \"pages\": \"Side\",\n    \"parent\": \"Forældre\",\n    \"password\": \"Adgangskode\",\n    \"password-must-be-at-least-6-characters-long\": \"Adgangskoden skal være mindst 6 tegn lang\",\n    \"plugin\": \"Udvidelse\",\n    \"plugin-activated\": \"Udvidelse aktiveret\",\n    \"plugin-configured\": \"Udvidelse konfigureret\",\n    \"plugin-deactivated\": \"Udvidelse deaktiveret\",\n    \"plugins\": \"Udvidelser\",\n    \"plugins-position\": \"Udvidelses position\",\n    \"plugins-position-changed\": \"Udvidelses positionen ændret\",\n    \"plugins-sorted\": \"Udvidelse sorteret\",\n    \"position\": \"Position\",\n    \"post\": \"Post\",\n    \"predefined-pages\": \"Predefined pages\",\n    \"preview\": \"Eksempel\",\n    \"previous\": \"Tidligere\",\n    \"previous-page\": \"Forrige side\",\n    \"profile\": \"Profil\",\n    \"profile-picture\": \"Profilbillede\",\n    \"publish\": \"Udgiv\",\n    \"published\": \"Udgivet\",\n    \"quality\": \"Kvalitet\",\n    \"quick-links\": \"Quick links\",\n    \"read-more\": \"Læs mere\",\n    \"reading-time\": \"Læsetid \",\n    \"recommended-for-recovery-password-and-notifications\": \"Anbefales til gendannelse af adgangskode og meddelelser.\",\n    \"registered\": \"Registreret\",\n    \"remember-me\": \"Husk mig\",\n    \"remove-cover-image\": \"Fjern fremhævet billede\",\n    \"remove-logo\": \"Fjern logo\",\n    \"returning-page-for-the-main-page\": \"Fast hovedside. Viser som standard den seneste indholdsrækkefølge efter dato eller position.\",\n    \"returning-page-when-the-page-doesnt-exist\": \"Vælg egen side, for siden findes ikke, eller efterlad feltet tomt, for standardmeddelelse.\",\n    \"role\": \"Rolle\",\n    \"save\": \"Gem\",\n    \"save-as-draft\": \"Gem som kladde\",\n    \"scheduled\": \"Planlagt\",\n    \"scheduled-content\": \"Planlagt indhold\",\n    \"search\": \"Søg\",\n    \"search-plugins\": \"Søg efter udvidelser\",\n    \"security\": \"Sikkerhed\",\n    \"select-a-timezone-for-a-correct\": \"Vælg en tidszone for en korrekt dato\\/tidsvisning på dit websted.\",\n    \"select-cover-image\": \"Vælg fremhævet billede\",\n    \"select-your-sites-language\": \"Vælg dit websteds sprog.\",\n    \"sender-email\": \"Afsender e-mail\",\n    \"seo\": \"SEO\",\n    \"set-a-cover-image-from-external-url,-such-as-a-cdn-or-some-server-dedicated-for-images\": \"Indsæt et fremhævet billede fra en ekstern URL, såsom en CDN eller en server, der er dedikeret til billeder.\",\n    \"set-as-cover-image\": \"Indstil som fremhævet billede\",\n    \"settings\": \"Indstillinger\",\n    \"settings-changes\": \"Indstillinger ændret\",\n    \"show-password\": \"Vis adgangskode\",\n    \"site\": \"Websted\",\n    \"site-description\": \"Beskrivelse\",\n    \"site-information\": \"Webstedsinformation\",\n    \"site-logo\": \"Websteds logo\",\n    \"site-slogan\": \"Slogan\",\n    \"site-title\": \"Titel\",\n    \"site-url\": \"Websteds-URL\",\n    \"social-networks\": \"Sociale netværk\",\n    \"social-networks-links\": \"Links til sociale netværk\",\n    \"start-typing-a-page-title-to-see-a-list-of-suggestions\": \"Begynd at skrive en sidetitel, for at se en liste med forslag.\",\n    \"start-typing-to-see-a-list-of-suggestions\": \"Begynd at skrive, for at se en liste med forslag.\",\n    \"static\": \"Statisk\",\n    \"statistics\": \"Statistik\",\n    \"status\": \"Status\",\n    \"sticky\": \"Fastgjort\",\n    \"supported-image-file-types\": \"Understøttede billedfils typer\",\n    \"system-updated\": \"System opdateret.\",\n    \"tag\": \"Tag\",\n    \"tags\": \"Tags\",\n    \"template\": \"Skabelon\",\n    \"thanks-for-supporting-bludit\": \"Tak for at støtte Bludit\",\n    \"the-changes-have-been-saved\": \"Ændringerne er gemt\",\n    \"the-content-is-saved-as-a-draft-to-publish-it\": \"Indholdet gemmes som en kladde. For at udgive det, skal du klikke på knappen <b>Udgiv<\\/b> , eller hvis du stadig arbejder på det, skal du klikke på <b>Gem som kladde<\\/b>.\",\n    \"the-extension-zip-is-not-installed\": \"Udvidelsen zip er ikke installeret, for at bruge dette plugin skal du installere udvidelsen.\",\n    \"the-nickname-is-almost-used-in-the-themes-to-display-the-author-of-the-content\": \"Alias er mest brugt i temaer, og bruges til at vise forfatteren af indholdet\",\n    \"the-password-and-confirmation-password-do-not-match\": \"Adgangskoden og bekræftelses adgangskoden stemmer ikke overens\",\n    \"themes\": \"Temaer\",\n    \"there-are-no-draft-pages-at-this-moment\": \"Der er ingen kladder til sider i øjeblikket.\",\n    \"there-are-no-images\": \"Der er ingen billeder\",\n    \"there-are-no-images-for-the-page\": \"Der er ingen billeder til siden.\",\n    \"there-are-no-pages-at-this-moment\": \"Der er ingen sider i øjeblikket.\",\n    \"there-are-no-scheduled-content\": \"Der er ingen planlagt indhold.\",\n    \"there-are-no-scheduled-pages-at-this-moment\": \"Der er ingen planlagte sider i øjeblikket.\",\n    \"there-are-no-static-pages-at-this-moment\": \"Der er ingen statiske sider i øjeblikket.\",\n    \"there-are-no-sticky-pages-at-this-moment\": \"Der er ingen fastgjorde sider i øjeblikket.\",\n    \"this-field-can-help-describe-the-content\": \"Dette felt kan hjælpe med at beskrive indholdet med et par ord.\",\n    \"this-field-is-used-when-you-order-the-content-by-position\": \"This field is used when you order the content by position.\",\n    \"this-is-a-brief-description-of-yourself-our-your-site\": \"Dette er en kort beskrivelse af dig selv, eller dit websted. For at ændre denne tekst skal du gå til adminpanelet > indstillinger > udvidelser og konfigurere udvidelsen \\\"Om\\\".\",\n    \"this-plugin-depends-on-the-following-plugins\": \"Denne udvidelse afhænger af følgende udvidelser.\",\n    \"this-plugin-may-not-be-supported-by-this-version-of-bludit\": \"Denne udvidelse understøttes muligvis ikke af denne version af Bludit\",\n    \"this-tells-search-engines-not-to-follow-links-on-this-page\": \"Dette fortæller søgemaskiner om ikke at følge linkene på denne side.\",\n    \"this-tells-search-engines-not-to-save-a-cached-copy-of-this-page\": \"Dette fortæller søgemaskiner, at de ikke skal gemme en cache-kopi af denne side.\",\n    \"this-tells-search-engines-not-to-show-this-page-in-their-search-results\": \"Dette fortæller søgemaskiner om ikke at vise denne side i deres søgeresultater.\",\n    \"this-theme-may-not-be-supported-by-this-version-of-bludit\": \"Dette tema understøttes muligvis ikke af denne version af Bludit\",\n    \"this-title-is-almost-always-used-in-the-sidebar-of-the-site\": \"Denne titel bruges næsten altid i sidefeltet på webstedet.\",\n    \"this-token-is-similar-to-a-password-it-should-not-be-shared\": \"Denne token er magen til en adgangskode, så den bør ikke deles med andre.\",\n    \"thumbnail\": \"Miniature\",\n    \"thumbnail-height-in-pixels\": \"Miniaturhøjde i pixels (px).\",\n    \"thumbnail-quality-in-percentage\": \"Miniaturekvalitet i procent (%).\",\n    \"thumbnail-width-in-pixels\": \"Miniaturebredde i pixels (px).\",\n    \"thumbnails\": \"Miniaturer\",\n    \"timezone\": \"Tidszone\",\n    \"title\": \"Titel\",\n    \"title-formats\": \"Titelformater\",\n    \"to-enable-the-user-you-must-set-a-new-password\": \"For at aktivere brugeren skal du tilføje en ny adgangskode.\",\n    \"to-schedule-the-content-select-the-date-and-time\": \"For at planlægge indholdet skal du vælge dato og klokkeslæt, og status skal indstilles til \\\"Udgivet\\\".\",\n    \"token\": \"Token\",\n    \"try-again-in-a-few-minutes\": \"Prøv igen om et par minutter\",\n    \"type\": \"Type\",\n    \"uncategorized\": \"Ikke kategoriseret\",\n    \"undefined\": \"Udefineret\",\n    \"update\": \"Opdatering\",\n    \"upgrade-to-bludit-pro\": \"Opgrader til Bludit PRO\",\n    \"upload\": \"Upload\",\n    \"upload-and-more-images\": \"Upload og flere billeder\",\n    \"upload-image\": \"Upload billede\",\n    \"url\": \"URL\",\n    \"url-associated-with-the-content\": \"URL tilknyttet indholdet.\",\n    \"url-filters\": \"URL-filtre\",\n    \"use-this-field-to-add-a-catchy-phrase\": \"Brug dette felt til at tilføje en iørefaldende sætning til dit websted.\",\n    \"use-this-field-to-name-your-site\": \"Brug dette felt til at navngive dit websted.\",\n    \"user\": \"Bruger\",\n    \"user-deleted\": \"Bruger slettet\",\n    \"user-disabled\": \"Bruger deaktiveret\",\n    \"user-edited\": \"Bruger redigeret\",\n    \"user-password-changed\": \"Bruger adgangskode ændret\",\n    \"username\": \"Brugernavn\",\n    \"username-or-password-incorrect\": \"Brugernavn eller adgangskode er forkert\",\n    \"users\": \"Brugere\",\n    \"variables-allowed\": \"Tilladte variabler\",\n    \"version\": \"Version\",\n    \"view\": \"Vis\",\n    \"website\": \"Websted\",\n    \"website-or-blog\": \"Websted eller blog\",\n    \"welcome\": \"Velkommen\",\n    \"welcome-to-bludit\": \"Velkommen til Bludit\",\n    \"whats-next\": \"What's Next\",\n    \"width\": \"Bredde\",\n    \"with-the-locales-you-can-set-the-regional-user-interface\": \"Med lokaliteter kan du indstille den regionale brugergrænseflade, f.eks. datoerne på dit sprog. Lokaliteterne skal være installeret på dit system i forvejen.\",\n    \"write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page\": \"Skriv et skabelonnavn for at filtrere siden i temaet og ændre sidens stil.\",\n    \"write-the-tags-separated-by-commas\": \"Skriv tags, adskilt med kommaer.\",\n    \"you-can-add-a-site-description-to-provide\": \"Du kan tilføje en beskrivelse, for at give en kort biografi af dig selv, og\\/eller en beskrivelse af dit websted.\",\n    \"you-can-add-a-small-text-on-the-bottom\": \"Du kan tilføje lidt tekst til bunden af hver side. f.eks: copyright, ejer, datoer osv.\",\n    \"you-can-change-this-field-when-save-the-current-changes\": \"Du kan ændre dette felt, når du gemmer de aktuelle ændringer.\",\n    \"you-do-not-have-sufficient-permissions\": \"Du har ikke tilstrækkelige rettigheder\",\n    \"no-tags\": \"Ingen tags\",\n    \"insert-thumbnail\": \"Indsæt miniature\",\n    \"visits-today\": \"Besøg i dag\",\n    \"no-categories\": \"Ingen kategorier\",\n    \"quick-search-pages-and-menu\": \"Hurtig søgning sider og menu\",\n    \"click-here-for-quick-search\": \"Click here for quick search\",\n    \"analytics\": \"Analytics\",\n    \"unique-visitors\": \"Unikke besøgende\",\n    \"insert-linked-thumbnail\": \"Indsæt linket miniature\",\n    \"search-placeholder\": \"Søg i sider, indhold og menupunkter...\",\n    \"no-results-found\": \"Ingen resultater fundet\",\n    \"navigation\": \"Navigation\",\n    \"default-content-status\": \"Standard indholdsstatus\",\n    \"default-status-for-new-content\": \"Vælg om nyt indhold skal oprettes som Udgivet eller Kladde som standard.\",\n    \"thumbnail-generation\": \"Generering af miniaturebilleder\",\n    \"enable-disable-automatic-thumbnail-generation-on-image-upload\": \"Aktiver eller deaktiver automatisk generering af miniaturebilleder ved upload af billeder.\"\n}\n"
  },
  {
    "path": "bl-languages/de_AT.json",
    "content": "{\n    \"language-data\": {\n        \"native\": \"Deutsch (Österreich)\",\n        \"english-name\": \"German (Austria)\",\n        \"locale\": \"de, de_AT\",\n        \"last-update\": \"2020-03-24\",\n        \"authors\": [\n            \"Clickwork https:\\/\\/clickwork.ch\",\n            \"blog2read https:\\/\\/github.com\\/blog2read\",\n            \"cblte https:\\/\\/github.com\\/cblte\",\n            \"MoritzBrueckner https:\\/\\/github.com\\/MoritzBrueckner\",\n            \"SamBrishes https:\\/\\/www.pytes.net\"\n        ]\n    },\n    \"dates\": {\n        \"Mon\": \"Mo\",\n        \"Tue\": \"Di\",\n        \"Wed\": \"Mi\",\n        \"Thu\": \"Do\",\n        \"Fri\": \"Fr\",\n        \"Sat\": \"Sa\",\n        \"Sun\": \"So\",\n        \"Monday\": \"Montag\",\n        \"Tuesday\": \"Dienstag\",\n        \"Wednesday\": \"Mittwoch\",\n        \"Thursday\": \"Donnerstag\",\n        \"Friday\": \"Freitag\",\n        \"Saturday\": \"Samstag\",\n        \"Sunday\": \"Sonntag\",\n        \"Jan\": \"Jan\",\n        \"Feb\": \"Feb\",\n        \"Mar\": \"Mär\",\n        \"Apr\": \"Apr\",\n        \"Jun\": \"Jun\",\n        \"Jul\": \"Jul\",\n        \"Aug\": \"Aug\",\n        \"Sep\": \"Sep\",\n        \"Oct\": \"Okt\",\n        \"Nov\": \"Nov\",\n        \"Dec\": \"Dez\",\n        \"January\": \"Jänner\",\n        \"February\": \"Februar\",\n        \"March\": \"März\",\n        \"April\": \"April\",\n        \"May\": \"Mai\",\n        \"June\": \"Juni\",\n        \"July\": \"Juli\",\n        \"August\": \"August\",\n        \"September\": \"September\",\n        \"October\": \"Oktober\",\n        \"November\": \"November\",\n        \"December\": \"Dezember\"\n    },\n    \"dashboard\": \"Dashboard\",\n    \"manage-users\": \"Benutzer verwalten\",\n    \"manage-categories\": \"Kategorien verwalten\",\n    \"general-settings\": \"Allgemeine Einstellungen\",\n    \"advanced-settings\": \"Erweiterte Einstellungen\",\n    \"thanks-for-supporting-bludit\": \"Vielen Dank für die Unterstützung von Bludit!\",\n    \"upgrade-to-bludit-pro\": \"Upgrade auf Bludit PRO\",\n    \"language\": \"Sprache\\/Zeitzone\",\n    \"plugin\": \"Plugin\",\n    \"plugins\": \"Plugins\",\n    \"developers\": \"Entwickler\",\n    \"themes\": \"Themes\",\n    \"about\": \"Über\",\n    \"url\": \"URL\",\n    \"welcome\": \"Willkommen\",\n    \"logout\": \"Abmelden\",\n    \"website\": \"Website\",\n    \"publish\": \"Veröffentlichen\",\n    \"manage\": \"Verwalten\",\n    \"content\": \"Inhalte\",\n    \"category\": \"Kategorie\",\n    \"categories\": \"Kategorien\",\n    \"users\": \"Benutzer\",\n    \"settings\": \"Einstellungen\",\n    \"general\": \"Allgemein\",\n    \"advanced\": \"Erweitert\",\n    \"new-content\": \"Neuer Inhalt\",\n    \"manage-content\": \"Inhalte verwalten\",\n    \"add-new-content\": \"Neuen Inhalt erstellen\",\n    \"new-category\": \"Neue Kategorie\",\n    \"you-do-not-have-sufficient-permissions\": \"Keine Berechtigung, diese Seite aufzurufen.\",\n    \"add-a-new-user\": \"Neuer Benutzer\",\n    \"url-associated-with-the-content\": \"Der URL kann selbst angepasst werden.\",\n    \"language-and-timezone\": \"Sprache und Zeitzone\",\n    \"change-your-language-and-region-settings\": \"Sprache ändern und Lokalisierung einstellen.\",\n    \"notifications\": \"Aktivitäten\",\n    \"plugin-activated\": \"Plugin aktiviert\",\n    \"plugin-deactivated\": \"Plugin deaktiviert\",\n    \"new-theme-configured\": \"Theme aktiviert\",\n    \"settings-changes\": \"Änderung der Einstellungen\",\n    \"plugin-configured\": \"Plugin konfiguriert\",\n    \"welcome-to-bludit\": \"Willkommen bei Bludit\",\n    \"statistics\": \"Statistiken\",\n    \"drafts\": \"Entwürfe\",\n    \"title\": \"Titel\",\n    \"save\": \"Speichern\",\n    \"save-as-draft\": \"Als Entwurf speichern\",\n    \"cancel\": \"Abbrechen\",\n    \"description\": \"Beschreibung\",\n    \"this-field-can-help-describe-the-content\": \"Kurze Inhaltsbeschreibung. Möglich sind bis zu 150 Zeichen.\",\n    \"images\": \"Bilder\",\n    \"error\": \"Fehler\",\n    \"supported-image-file-types\": \"Unterstützte Dateiformate\",\n    \"cover-image\": \"Hauptbild\",\n    \"drag-and-drop-or-click-here\": \"Drag and Drop oder hier klicken\",\n    \"there-are-no-images\": \"Keine Bilder vorhanden\",\n    \"upload-and-more-images\": \"Upload und weitere Bilder\",\n    \"click-on-the-image-for-options\": \"Für die Bildoptionen auf das Bild klicken.\",\n    \"click-here-to-cancel\": \"Schließen\",\n    \"insert-image\": \"Bild einfügen\",\n    \"set-as-cover-image\": \"Als Hauptbild verwenden\",\n    \"delete-image\": \"Bild löschen\",\n    \"tags\": \"Schlagwörter\",\n    \"add\": \"Hinzufügen\",\n    \"status\": \"Status\",\n    \"published\": \"Veröffentlicht\",\n    \"draft\": \"Entwurf\",\n    \"empty-title\": \"Kein Titel\",\n    \"empty\": \"Kein Inhalt\",\n    \"date\": \"Datum\",\n    \"external-cover-image\": \"Externes Hauptbild\",\n    \"parent\": \"Übergeordneter Inhalt\",\n    \"full-image-url\": \"Link zum verwendeten Bild.\",\n    \"this-field-is-used-when-you-order-the-content-by-position\": \"Dieses Feld wird verwendet, wenn der Inhalt nach Position angezeigt wird.\",\n    \"position\": \"Position\",\n    \"friendly-url\": \"URL\",\n    \"image-description\": \"Bildbeschreibung\",\n    \"add-a-new-category\": \"Neue Kategorie hinzufügen\",\n    \"name\": \"Name\",\n    \"username\": \"Benutzername\",\n    \"first-name\": \"Vorname\",\n    \"last-name\": \"Nachname\",\n    \"to-schedule-the-content-select-the-date-and-time\": \"Um einen Inhalt zu einem späteren Zeitpunkt zu veröffentlichen, Datum und Zeit wählen. Sein Status muss \\\"Veröffentlicht\\\" sein.\",\n    \"email\": \"E-Mail-Adresse\",\n    \"role\": \"Rolle\",\n    \"registered\": \"Hinzugefügt\",\n    \"site-information\": \"Angaben zur Website\",\n    \"site-title\": \"Titel der Website\",\n    \"use-this-field-to-name-your-site\": \"Name der Website, wie er auf jeder Seite angezeigt wird.\",\n    \"site-slogan\": \"Untertitel\",\n    \"use-this-field-to-add-a-catchy-phrase\": \"Untertitel oder Slogan der Website.\",\n    \"site-description\": \"Informationen\",\n    \"you-can-add-a-site-description-to-provide\": \"Kurze Beschreibung der Website (wird von Suchmaschinen verwendet).\",\n    \"footer-text\": \"Footer-Text\",\n    \"you-can-add-a-small-text-on-the-bottom\": \"Text im Fussbereich jeder Seite. Beispielsweise: Copyright-Hinweis, Eigentümer der Website usw.\",\n    \"social-networks-links\": \"Links zu sozialen Netzwerken\",\n    \"site-url\": \"Adresse der Website\",\n    \"email-account-settings\": \"E-Mail\",\n    \"sender-email\": \"Absender\",\n    \"emails-will-be-sent-from-this-address\": \"E-Mails werden mit dieser E-Mail-Adresse als Absender verschickt.\",\n    \"url-filters\": \"URL-Filter\",\n    \"select-your-sites-language\": \"Sprache der Website.\",\n    \"timezone\": \"Zeitzone\",\n    \"select-a-timezone-for-a-correct\": \"Zeitzone für die richtige Anzeige des Datums und der Zeit auf der Website.\",\n    \"locale\": \"Lokalisierung\",\n    \"date-and-time-formats\": \"Datum und Zeit\",\n    \"date-format\": \"Datumsformat\",\n    \"current-format\": \"Aktuelles Datumsformat\",\n    \"version\": \"Version\",\n    \"author\": \"Autor\",\n    \"activate\": \"Aktivieren\",\n    \"deactivate\": \"Deaktivieren\",\n    \"edit-category\": \"Kategorie bearbeiten\",\n    \"delete\": \"Löschen\",\n    \"password\": \"Passwort\",\n    \"confirm-password\": \"Passwort wiederholen\",\n    \"editor\": \"Mitarbeiter\",\n    \"administrator\": \"Administrator\",\n    \"edit-user\": \"Benutzer bearbeiten\",\n    \"edit-content\": \"Inhalt bearbeiten\",\n    \"profile\": \"Profil\",\n    \"change-password\": \"Passwort ändern\",\n    \"enabled\": \"Aktiviert\",\n    \"disable-the-user\": \"Benutzer deaktivieren\",\n    \"profile-picture\": \"Profil-Bild\",\n    \"edit-or-delete-your-categories\": \"Kategorien bearbeiten oder löschen.\",\n    \"create-a-new-category-to-organize-your-content\": \"Eine neue Kategorie hinzufügen.\",\n    \"confirm-delete-this-action-cannot-be-undone\": \"Bestätigung der Löschung. Diese kann nicht rückgängig gemacht werden.\",\n    \"do-you-want-to-disable-the-user\": \"Soll der Benutzer deaktiviert werden?\",\n    \"new-password\": \"Neues Passwort\",\n    \"you-can-change-this-field-when-save-the-current-changes\": \"You can change this field when save the current changes.\",\n    \"items-per-page\": \"Inhalte pro Seite\",\n    \"invite-a-friend-to-collaborate-on-your-site\": \"Einen neuen Benutzer hinzufügen.\",\n    \"number-of-items-to-show-per-page\": \"Anzahl Inhalte pro Seite.\",\n    \"website-or-blog\": \"Website oder Blog\",\n    \"order-content-by\": \"Inhalte anzeigen nach\",\n    \"edit-or-delete-content-from-your-site\": \"Inhalte bearbeiten oder löschen.\",\n    \"order-the-content-by-date-to-build-a-blog\": \"Für einen Blog Inhalte nach Datum anzeigen, für eine Website nach Position.\",\n    \"default-content-status\": \"Standard-Inhaltsstatus\",\n    \"default-status-for-new-content\": \"Wählen Sie, ob neue Inhalte standardmäßig als Veröffentlicht oder Entwurf erstellt werden.\",\n    \"page-not-found-content\": \"Es sieht so aus, als würde es diese Seite nicht geben!\",\n    \"page-not-found\": \"Seite nicht gefunden\",\n    \"predefined-pages\": \"Zugewiesene Seiten\",\n    \"returning-page-when-the-page-doesnt-exist\": \"Inhalt, wenn eine Seite nicht vorhanden ist. Wird nichts gewählt, wird die Standardmeldung verwendet.\",\n    \"returning-page-for-the-main-page\": \"Zur Hauptseite zugeordneter Inhalt. Standardmässig werden die neuesten Inhalte geordnet nach Datum (Blog) oder Position (Website) angezeigt.\",\n    \"full-url-of-your-site\": \"Vollständiger URL der Website mit http:\\/\\/ oder https:\\/\\/ (wenn ein Zertifikat aktiviert ist).\",\n    \"with-the-locales-you-can-set-the-regional-user-interface\": \"Die Lokalisierung erlaubt die Anzeige von Zeit und Datum im Format der gewählten Sprachregion. Dafür muss das System entsprechend konfiguriert sein.\",\n    \"bludit-installer\": \"Bludit Installer\",\n    \"choose-your-language\": \"Eine Sprache wählen\",\n    \"next\": \"Weiter\",\n    \"complete-the-form-choose-a-password-for-the-username-admin\": \"Bitte ein Passwort für den Benutzer \\\"admin\\\"<br>und eine E-Mail-Adresse eingeben.\",\n    \"show-password\": \"Passwort im Klartext zeigen\",\n    \"install\": \"Installieren\",\n    \"login\": \"Anmelden\",\n    \"back-to-login-form\": \"Zurück zur Anmeldeseite\",\n    \"get-login-access-code\": \"Zugangscode schicken\",\n    \"email-access-code\": \"Zugangscode zuschicken\",\n    \"whats-next\": \"Und so geht es weiter:\",\n    \"username-or-password-incorrect\": \"Falscher Benutzername und\\/oder falsches Passwort\",\n    \"follow-bludit-on\": \"Den [deutschsprachigen Newsletter](http:\\/\\/eepurl.com\\/b6mpKf) abonnieren und Bludit folgen bei\",\n    \"this-is-a-brief-description-of-yourself-our-your-site\": \"Hier kann beispielsweise eine kurze Beschreibung der Person, die den Blog oder die Website betreibt, oder der Website stehen. Der Text kann im Administrationsbereich in den Einstellungen des Plugins \\\"Über\\\" geändert werden.\",\n    \"new-version-available\": \"Eine neue Version ist verfügbar\",\n    \"new-category-created\": \"Kategorie hinzugefügt\",\n    \"category-deleted\": \"Kategorie gelöscht\",\n    \"category-edited\": \"Kategorie bearbeitet\",\n    \"new-user-created\": \"Benutzer hinzugefügt\",\n    \"user-edited\": \"Benutzer bearbeitet\",\n    \"user-deleted\": \"Benutzer gelöscht\",\n    \"recommended-for-recovery-password-and-notifications\": \"E-Mail-Adresse für die Passwort-Wiederherstellung und Mitteilungen.\",\n    \"authentication-token\": \"Authentifizierungs-Token\",\n    \"token\": \"Token\",\n    \"current-status\": \"Aktueller Status\",\n    \"upload-image\": \"Bild hochladen\",\n    \"the-changes-have-been-saved\": \"Die Änderung wurde gespeichert.\",\n    \"label\": \"Bezeichnung\",\n    \"links\": \"Links\",\n    \"this-title-is-almost-always-used-in-the-sidebar-of-the-site\": \"Abhängig vom Theme wird die Bezeichnung als Titel des Plugin-Bereichs verwendet.\",\n    \"password-must-be-at-least-6-characters-long\": \"Das Passwort muss mindestens 6 Zeichen lang sein.\",\n    \"ip-address-has-been-blocked\": \"Die IP-Adresse wurde gesperrt.\",\n    \"try-again-in-a-few-minutes\": \"Bitte, es in einigen Minuten noch einmal versuchen.\",\n    \"content-published-from-scheduler\": \"Geplanter Inhalt veröffentlicht\",\n    \"blog\": \"Blog\",\n    \"complete-all-fields\": \"Bitte alle Felder ausfüllen\",\n    \"static\": \"Statisch\",\n    \"about-your-site-or-yourself\": \"Über den Betreiber der Website.\",\n    \"homepage\": \"Hauptseite\",\n    \"disabled\": \"Deaktiviert\",\n    \"to-enable-the-user-you-must-set-a-new-password\": \"Um den Benutzer zu aktivieren, muss ein neues Passwort vergeben werden.\",\n    \"delete-the-user-and-associate-his-content-to-admin-user\": \"Benutzer löschen und seine Inhalte dem Benutzer admin übertragen.\",\n    \"delete-the-user-and-all-his-content\": \"Benutzer und alle seine Inhalte löschen.\",\n    \"user-disabled\": \"Benutzer deaktiviert\",\n    \"user-password-changed\": \"Passwort geändert\",\n    \"the-password-and-confirmation-password-do-not-match\": \"Das Passwort und die Bestätigung des Passworts stimmen nicht überein\",\n    \"scheduled-content\": \"Geplant\",\n    \"there-are-no-scheduled-content\": \"Es sind keine Veröffentlichungen geplant.\",\n    \"new-content-created\": \"Inhalt erstellt\",\n    \"content-edited\": \"Inhalt bearbeitet\",\n    \"content-deleted\": \"Inhalt gelöscht\",\n    \"undefined\": \"Nicht definiert\",\n    \"create-new-content-for-your-site\": \"Einen neuen Inhalt erstellen.\",\n    \"order-items-by\": \"Inhalte sortieren nach\",\n    \"all-content\": \"Alle Inhalte\",\n    \"dynamic\": \"Dynamisch\",\n    \"type\": \"Art\",\n    \"draft-content\": \"Entwürfe\",\n    \"post\": \"Post\",\n    \"default\": \"Standardvorgabe\",\n    \"latest-content\": \"Neueste Inhalte\",\n    \"default-message\": \"Standardmeldung\",\n    \"no-parent\": \"Kein übergeordneter Inhalt\",\n    \"have-you-seen-my-ball\": \"Hast Du meinen Ball gesehen?\",\n    \"pagebreak\": \"Seitenumbruch\",\n    \"pages\": \"Seiten\",\n    \"this-plugin-may-not-be-supported-by-this-version-of-bludit\": \"Dieses Plugin wird möglicherweise von der installierten Version von Bludit nicht unterstützt.\",\n    \"previous\": \"Zurück\",\n    \"previous-page\": \"Vorhergehende Seite\",\n    \"next-page\": \"Nächste Seite\",\n    \"scheduled\": \"Geplant\",\n    \"this-token-is-similar-to-a-password-it-should-not-be-shared\": \"Dieser Token ist genauso wichtig wie ein Passwort und sollte nicht weitergegeben werden.\",\n    \"congratulations-you-have-successfully-installed-your-bludit\": \"Gratulation, Bludit wurde erfolgreich installiert!\",\n    \"this-theme-may-not-be-supported-by-this-version-of-bludit\": \"Dieses Theme wird möglicherweise von der installierten Version von Bludit nicht unterstützt.\",\n    \"read-more\": \"Weiterlesen\",\n    \"remember-me\": \"Angemeldet bleiben\",\n    \"plugins-position\": \"Reihenfolge der Plugins\",\n    \"plugins-sorted\": \"Reihenfolge der Plugins geändert\",\n    \"plugins-position-changed\": \"Die Reihenfolge der Plugins wurde geändert.\",\n    \"drag-and-drop-to-set-the-position-of-the-plugin\": \"Die Reihenfolge der Plugins kann per \\\"Drag and Drop\\\" geändert werden\",\n    \"change-the-position-of-the-plugins\": \"Reihenfolge der Plugins bearbeiten\",\n    \"reading-time\": \"Lesezeit\",\n    \"minutes\": \"Minuten\",\n    \"minute\": \"Minute\",\n    \"example-page-1-slug\": \"veroeffentliche-deine-inhalte\",\n    \"example-page-1-title\": \"Veröffentliche deine Inhalte\",\n    \"example-page-1-content\": \"Veröffentliche deine eigenen Inhalte oder passe die vorhandenen deinen Bedürfnissen an. Um Inhalte zu veröffentlichen, zu bearbeiten oder zu löschen, musst du dich im [Administrationsbereich](.\\/admin) anmelden (mit dem Benutzernamen `admin` und dem Passwort, das Du bei der Installation eingegeben hast).\",\n    \"example-page-2-slug\": \"richte-deine-website-ein\",\n    \"example-page-2-title\": \"Richte deine Website ein\",\n    \"example-page-2-content\": \"Passe die Einstellungen deiner Website im [Administrationsbereich](.\\/admin) an. Unter [Einstellungen > Allgemein](.\\/admin\\/settings) kannst Du beispielsweise den Titel und die Beschreibung der Website ändern oder Links zu sozialen Netzwerken eingeben.\",\n    \"example-page-3-slug\": \"folge-bludit\",\n    \"example-page-3-title\": \"Folge Bludit\",\n    \"example-page-3-content\": \"Halte dich auf dem Laufenden über neue Versionen, Themes und Plugins in den sozialen Netzwerken <a href=\\\"https:\\/\\/www.facebook.com\\/bluditcms\\/\\\" target=\\\"_blank\\\">Facebook<\\/a>, <a href=\\\"https:\\/\\/www.twitter.com\\/bludit\\/\\\" target=\\\"_blank\\\">Twitter<\\/a> und <a href=\\\"https:\\/\\/www.youtube.com\\/c\\/Bluditcms\\\" target=\\\"_blank\\\">YouTube<\\/a>, über den <a href=\\\"https:\\/\\/blog.bludit.com\\\" target=\\\"_blank\\\">Blog<\\/a> oder indem du den <a href=\\\"https:\\/\\/clickwork.ch\\/bludit-newsletter\\\" target=\\\"_blank\\\">deutschsprachigen Newsletter<\\/a> abonnierst.\",\n    \"example-page-4-slug\": \"ueber\",\n    \"example-page-4-title\": \"Über\",\n    \"example-page-4-content\": \"Die Seite \\\"Über\\\" ist eine viel beachtete Seite. Denn viele wollen wissen, wer einen Blog oder eine Website betreibt, welche Idee dahinter steht, wie du erreichbar bist usw.\",\n    \"the-extension-zip-is-not-installed\": \"Die ZIP-Erweiterung ist auf deinem Server nicht installiert. Um dieses Plugin zu verwenden, muss sie installiert werden.\",\n    \"there-are-no-sticky-pages-at-this-moment\": \"Es gibt keine fixierten Inhalte.\",\n    \"there-are-no-scheduled-pages-at-this-moment\": \"Es gibt keine zur Veröffentlichung geplanten Inhalte.\",\n    \"update\": \"Aktualisierung\",\n    \"template\": \"Template\",\n    \"nickname\": \"Nickname\",\n    \"disable-user\": \"Benutzer deaktivieren\",\n    \"delete-user-and-keep-content\": \"Benutzer löschen und Inhalte behalten\",\n    \"delete-user-and-delete-content\": \"Benutzer und Inhalte löschen (Vorsicht!)\",\n    \"social-networks\": \"Soziale Netzwerke\",\n    \"interval\": \"Abstände\",\n    \"number-in-minutes-for-every-execution-of-autosave\": \"Anzahl Minuten zwischen automatischen Speicherungen.\",\n    \"extreme-friendly-url\": \"Besonders benutzerfreundlicher URL\",\n    \"title-formats\": \"Titelformate\",\n    \"delete-content\": \"Inhalt löschen\",\n    \"are-you-sure-you-want-to-delete-this-page\": \"Bist Du sicher, dass Du diesen Inhalt löschen möchtest?\",\n    \"sticky\": \"Fixiert\",\n    \"actions\": \"Aktionen\",\n    \"edit\": \"Bearbeiten\",\n    \"options\": \"Einstellungen\",\n    \"enter-title\": \"Titel hier eingegeben\",\n    \"media-manager\": \"Medien-Manager\",\n    \"set-a-cover-image-from-external-url,-such-as-a-cdn-or-some-server-dedicated-for-images\": \"Hauptbild mit einem externen URL, beispielsweise von einem Content Delivery Network (CDN).\",\n    \"user\": \"Benutzer\",\n    \"date-format-format\": \"Datumsformat: <code>YYYY-MM-DD Stunden:Minuten:Sekunden<\\/code>\",\n    \"start-typing-a-page-title-to-see-a-list-of-suggestions\": \"Die automatische Vervollständigung zeigt entsprechende Vorschläge an.\",\n    \"field-used-when-ordering-content-by-position\": \"Dieses Feld wird verwendet, wenn die Inhalte nach Position angezeigt werden (Website).\",\n    \"write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page\": \"Name des Templates, wenn das Theme es erlaubt, verschiedene Templates einzelnen Inhalten zuzuordnen.\",\n    \"write-the-tags-separated-by-commas\": \"Schlagwörter durch Kommas getrennt eingeben.\",\n    \"apply-code-noindex-code-to-this-page\": \"Die Anweisung <code>noindex<\\/code> für diese Seite verwenden.\",\n    \"this-tells-search-engines-not-to-show-this-page-in-their-search-results\": \"Anweisung an Suchmaschinen, die Seite in Suchergebnissen nicht zu zeigen.\",\n    \"apply-code-nofollow-code-to-this-page\": \"Die Anweisung <code>nofollow<\\/code> für dieses Seite verwenden.\",\n    \"this-tells-search-engines-not-to-follow-links-on-this-page\": \"Anweisung an Suchmaschinen, Links auf der Seite nicht zu folgen.\",\n    \"apply-code-noarchive-code-to-this-page\": \"Die Anweisung <code>noarchive<\\/code> für diese Seite anwenden.\",\n    \"this-tells-search-engines-not-to-save-a-cached-copy-of-this-page\": \"Anweisung an Suchmaschinen, keine Kopie der Seite im Cache zu speichern.\",\n    \"uncategorized\": \"Nicht kategorisiert\",\n    \"done\": \"Bestätigen\",\n    \"delete-category\": \"Kategorie löschen\",\n    \"are-you-sure-you-want-to-delete-this-category?\": \"Bist du sicher, dass Du diese Kategorie löschen möchtest?\",\n    \"confirm-new-password\": \"Bestätige das neue Passwort\",\n    \"the-nickname-is-almost-used-in-the-themes-to-display-the-author-of-the-content\": \"Der Nickname wird als Name des Autors von Beiträgen angezeigt.\",\n    \"allow-unicode\": \"Unicode\",\n    \"allow-unicode-characters-in-the-url-and-some-part-of-the-system\": \"Unicode-Zeichen mit Umlauten usw. im URL und bei einigen Teilen des Systems verwenden.\",\n    \"variables-allowed\": \"Mögliche Platzhalter:\",\n    \"tag\": \"Tag\",\n    \"drag-and-drop-to-sort-the-plugins\": \"Die Reihenfolge der Plugins kann mit Drag and Drop geändert werden.\",\n    \"seo\": \"SEO\",\n    \"documentation\": \"Dokumentation\",\n    \"forum-support\": \"Support-Forum\",\n    \"chat-support\": \"Support-Chat\",\n    \"quick-links\": \"Quicklinks\",\n    \"leave-empty-for-autocomplete-by-bludit\": \"Ohne Eingabe wird der URL von Bludit erstellt.\",\n    \"choose-a-password-for-the-user-admin\": \"Gib ein Passwort für den Benutzer <code>admin<\\/code> ein\",\n    \"access-denied\": \"Zugriff verweigert\",\n    \"choose-images-to-upload\": \"Bilder auswählen und auf den Server laden\",\n    \"insert\": \"Einfügen\",\n    \"upload\": \"Hochladen\",\n    \"autosave\": \"Automatische Speicherung\",\n    \"the-content-is-saved-as-a-draft-to-publish-it\": \"Der Inhalt ist als Entwurf gespeichert. Um ihn zu veröffentlichen, klicke <b>Veröffentlichen<\\/b>, wenn du ihn weiter bearbeiten möchtest, klicke <b>Als Entwurf speichern<\\/b>.\",\n    \"site\": \"Seite\",\n    \"first\": \"Erste\",\n    \"last\": \"Letzte\",\n    \"there-are-no-pages-at-this-moment\": \"Es gibt noch keine Seiten.\",\n    \"there-are-no-static-pages-at-this-moment\": \"Es gibt noch keine statischen Inhalte.\",\n    \"there-are-no-draft-pages-at-this-moment\": \"Es gibt noch keine Entwürfe.\",\n    \"good-morning\": \"Guten Morgen\",\n    \"good-afternoon\": \"Guten Nachmittag\",\n    \"good-evening\": \"Guten Abend\",\n    \"good-night\": \"Gute Nacht\",\n    \"hello\": \"Hallo\",\n    \"there-are-no-images-for-the-page\": \"Für diesen Inhalt sind keine Bilder vorhanden.\",\n    \"select-cover-image\": \"Wähle ein Hauptbild\",\n    \"this-plugin-depends-on-the-following-plugins\": \"Dieses Plugin benötigt die folgenden Plugins:\",\n    \"no-pages-found\": \"Es wurden keine Seiten gefunden\",\n    \"system-updated\": \"Das System wurde aktualisiert\",\n    \"security\": \"Sicherheit\",\n    \"remove-cover-image\": \"Hauptbild entfernen\",\n    \"width\": \"Breite\",\n    \"height\": \"Höhe\",\n    \"quality\": \"Qualität\",\n    \"thumbnails\": \"Vorschaubilder\",\n    \"thumbnail\": \"Vorschaubild\",\n    \"thumbnail-width-in-pixels\": \"Breite der Vorschaubilder in Pixel (px).\",\n    \"thumbnail-height-in-pixels\": \"Höhe der Vorschaubilder in Pixel (px).\",\n    \"thumbnail-quality-in-percentage\": \"Qualität der Vorschaubilder in Prozent (%).\",\n    \"maximum-load-file-size-allowed:\": \"Maximal erlaubte Dateigröße:\",\n    \"file-type-is-not-supported\": \"Dateiformat wird nicht unterstützt. Erlaubte Dateiformate:\",\n    \"page-content\": \"Seiteninhalt\",\n    \"markdown-parser\": \"Markdown-Parser\",\n    \"site-logo\": \"Website-Logo\",\n    \"search\": \"Suche\",\n    \"search-plugins\": \"Plugins suchen\",\n    \"enabled-plugins\": \"Aktivierte Plugins\",\n    \"disabled-plugins\": \"Deaktivierte Plugins\",\n    \"remove-logo\": \"Logo entfernen\",\n    \"preview\": \"Vorschau\",\n    \"author-can-write-and-edit-their-own-content\": \"Autor: Kann Inhalte erstellen und seine eigenen bearbeiten. Mitarbeiter: Kann Inhalte erstellen und seine eigenen und die anderer bearbeiten.\",\n    \"custom-fields\": \"Benutzerdefinierte Felder\",\n    \"define-custom-fields-for-the-content\": \"Benutzerdefinierte Felder für Inhalte anlegen. Informationen darüber sind in der <a href='https:\\/\\/docs.bludit.com\\/en\\/content\\/custom-fields'>Dokumentation<\\/a> zu finden.\",\n    \"start-typing-to-see-a-list-of-suggestions\": \"Beginne mit dem Tippen für eine Liste mit Vorschlägen.\",\n    \"view\": \"Anschauen\",\n    \"insert-thumbnail\": \"Vorschau einfügen\",\n    \"insert-linked-thumbnail\": \"Verlinkte Vorschau einfügen\",\n    \"no-tags\": \"Keine Tags\",\n    \"visits-today\": \"Besuche heute\",\n    \"no-categories\": \"Keine Kategorien\",\n    \"quick-search-pages-and-menu\": \"Schnellsuche Seiten und Menü\",\n    \"click-here-for-quick-search\": \"Click here for quick search\",\n    \"analytics\": \"Analytik\",\n    \"unique-visitors\": \"Einzigartige Besucher\",\n    \"search-placeholder\": \"Seiten, Inhalt und Menüpunkte durchsuchen...\",\n    \"no-results-found\": \"Keine Ergebnisse gefunden\",\n    \"navigation\": \"Navigation\",\n    \"thumbnail-generation\": \"Vorschaubild-Erstellung\",\n    \"enable-disable-automatic-thumbnail-generation-on-image-upload\": \"Aktivieren oder Deaktivieren der automatischen Vorschaubild-Erstellung beim Hochladen von Bildern.\"\n}\n"
  },
  {
    "path": "bl-languages/de_CH.json",
    "content": "{\n    \"language-data\": {\n        \"native\": \"Deutsch (Schweiz)\",\n        \"english-name\": \"German\",\n        \"locale\": \"de, de_CH\",\n        \"last-update\": \"2020-03-24\",\n        \"authors\": [\n            \"Clickwork https:\\/\\/clickwork.ch\",\n            \"blog2read https:\\/\\/github.com\\/blog2read\",\n            \"cblte https:\\/\\/github.com\\/cblte\",\n            \"MoritzBrueckner https:\\/\\/github.com\\/MoritzBrueckner\",\n            \"\"\n        ]\n    },\n    \"dates\": {\n        \"Mon\": \"Mo\",\n        \"Tue\": \"Di\",\n        \"Wed\": \"Mi\",\n        \"Thu\": \"Do\",\n        \"Fri\": \"Fr\",\n        \"Sat\": \"Sa\",\n        \"Sun\": \"So\",\n        \"Monday\": \"Montag\",\n        \"Tuesday\": \"Dienstag\",\n        \"Wednesday\": \"Mittwoch\",\n        \"Thursday\": \"Donnerstag\",\n        \"Friday\": \"Freitag\",\n        \"Saturday\": \"Samstag\",\n        \"Sunday\": \"Sonntag\",\n        \"Jan\": \"Jan\",\n        \"Feb\": \"Feb\",\n        \"Mar\": \"Mär\",\n        \"Apr\": \"Apr\",\n        \"Jun\": \"Jun\",\n        \"Jul\": \"Jul\",\n        \"Aug\": \"Aug\",\n        \"Sep\": \"Sep\",\n        \"Oct\": \"Okt\",\n        \"Nov\": \"Nov\",\n        \"Dec\": \"Dez\",\n        \"January\": \"Januar\",\n        \"February\": \"Februar\",\n        \"March\": \"März\",\n        \"April\": \"April\",\n        \"May\": \"Mai\",\n        \"June\": \"Juni\",\n        \"July\": \"Juli\",\n        \"August\": \"August\",\n        \"September\": \"September\",\n        \"October\": \"Oktober\",\n        \"November\": \"November\",\n        \"December\": \"Dezember\"\n    },\n    \"dashboard\": \"Dashboard\",\n    \"manage-users\": \"Benutzer verwalten\",\n    \"manage-categories\": \"Kategorien verwalten\",\n    \"general-settings\": \"Allgemeine Einstellungen\",\n    \"advanced-settings\": \"Erweiterte Einstellungen\",\n    \"thanks-for-supporting-bludit\": \"Vielen Dank für die Unterstützung von Bludit!\",\n    \"upgrade-to-bludit-pro\": \"Upgrade auf Bludit PRO\",\n    \"language\": \"Sprache\\/Zeitzone\",\n    \"plugin\": \"Plugin\",\n    \"plugins\": \"Plugins\",\n    \"developers\": \"Entwickler\",\n    \"themes\": \"Themes\",\n    \"about\": \"Über\",\n    \"url\": \"URL\",\n    \"welcome\": \"Willkommen\",\n    \"logout\": \"Abmelden\",\n    \"website\": \"Website\",\n    \"publish\": \"Veröffentlichen\",\n    \"manage\": \"Verwalten\",\n    \"content\": \"Inhalte\",\n    \"category\": \"Kategorie\",\n    \"categories\": \"Kategorien\",\n    \"users\": \"Benutzer\",\n    \"settings\": \"Einstellungen\",\n    \"general\": \"Allgemein\",\n    \"advanced\": \"Erweitert\",\n    \"new-content\": \"Neuer Inhalt\",\n    \"manage-content\": \"Inhalte verwalten\",\n    \"add-new-content\": \"Neuen Inhalt erstellen\",\n    \"new-category\": \"Neue Kategorie\",\n    \"you-do-not-have-sufficient-permissions\": \"Keine Berechtigung, die Seite aufzurufen.\",\n    \"add-a-new-user\": \"Neuer Benutzer\",\n    \"url-associated-with-the-content\": \"Der URL kann selbst angepasst werden.\",\n    \"language-and-timezone\": \"Sprache und Zeitzone\",\n    \"change-your-language-and-region-settings\": \"Sprache ändern und Lokalisierung einstellen.\",\n    \"notifications\": \"Aktivitäten\",\n    \"plugin-activated\": \"Plugin aktiviert\",\n    \"plugin-deactivated\": \"Plugin deaktiviert\",\n    \"new-theme-configured\": \"Theme aktiviert\",\n    \"settings-changes\": \"Änderung der Einstellungen\",\n    \"plugin-configured\": \"Plugin konfiguriert\",\n    \"welcome-to-bludit\": \"Willkommen bei Bludit\",\n    \"statistics\": \"Statistiken\",\n    \"drafts\": \"Entwürfe\",\n    \"title\": \"Titel\",\n    \"save\": \"Speichern\",\n    \"save-as-draft\": \"Als Entwurf speichern\",\n    \"cancel\": \"Abbrechen\",\n    \"description\": \"Beschreibung\",\n    \"this-field-can-help-describe-the-content\": \"Kurze Inhaltsbeschreibung. Möglich sind bis zu 150 Zeichen.\",\n    \"images\": \"Bilder\",\n    \"error\": \"Fehler\",\n    \"supported-image-file-types\": \"Unterstützte Dateiformate\",\n    \"cover-image\": \"Hauptbild\",\n    \"drag-and-drop-or-click-here\": \"Drag and Drop oder hier klicken\",\n    \"there-are-no-images\": \"Keine Bilder vorhanden\",\n    \"upload-and-more-images\": \"Upload und weitere Bilder\",\n    \"click-on-the-image-for-options\": \"Für die Bildoptionen auf das Bild klicken.\",\n    \"click-here-to-cancel\": \"Schliessen\",\n    \"insert-image\": \"Bild einfügen\",\n    \"set-as-cover-image\": \"Als Hauptbild verwenden\",\n    \"delete-image\": \"Bild löschen\",\n    \"tags\": \"Schlagwörter\",\n    \"add\": \"Hinzufügen\",\n    \"status\": \"Status\",\n    \"published\": \"Veröffentlicht\",\n    \"draft\": \"Entwurf\",\n    \"empty-title\": \"Kein Titel\",\n    \"empty\": \"Kein Inhalt\",\n    \"date\": \"Datum\",\n    \"external-cover-image\": \"Externes Hauptbild\",\n    \"parent\": \"Übergeordneter Inhalt\",\n    \"full-image-url\": \"Link zum verwendeten Bild.\",\n    \"this-field-is-used-when-you-order-the-content-by-position\": \"Dieses Feld wird verwendet, wenn der Inhalt nach Position angezeigt wird.\",\n    \"position\": \"Position\",\n    \"friendly-url\": \"URL\",\n    \"image-description\": \"Bildbeschreibung\",\n    \"add-a-new-category\": \"Neue Kategorie hinzufügen\",\n    \"name\": \"Name\",\n    \"username\": \"Benutzername\",\n    \"first-name\": \"Vorname\",\n    \"last-name\": \"Nachname\",\n    \"to-schedule-the-content-select-the-date-and-time\": \"Um einen Inhalt zu einem späteren Zeitpunkt zu veröffentlichen, Datum und Zeit wählen. Sein Status muss \\\"Veröffentlicht\\\" sein.\",\n    \"email\": \"E-Mail-Adresse\",\n    \"role\": \"Rolle\",\n    \"registered\": \"Hinzugefügt\",\n    \"site-information\": \"Angaben zur Website\",\n    \"site-title\": \"Titel der Website\",\n    \"use-this-field-to-name-your-site\": \"Name der Website, wie er auf jeder Seite angezeigt wird.\",\n    \"site-slogan\": \"Untertitel\",\n    \"use-this-field-to-add-a-catchy-phrase\": \"Untertitel oder Slogan der Website.\",\n    \"site-description\": \"Informationen\",\n    \"you-can-add-a-site-description-to-provide\": \"Kurze Beschreibung der Website (wird von Suchmaschinen verwendet).\",\n    \"footer-text\": \"Footer-Text\",\n    \"you-can-add-a-small-text-on-the-bottom\": \"Text im Fussbereich jeder Seite. Beispielsweise: Copyright-Hinweis, Eigentümer der Website usw.\",\n    \"social-networks-links\": \"Links zu sozialen Netzwerken\",\n    \"site-url\": \"Adresse der Website\",\n    \"email-account-settings\": \"E-Mail\",\n    \"sender-email\": \"Absender\",\n    \"emails-will-be-sent-from-this-address\": \"E-Mails werden mit dieser E-Mail-Adresse als Absender verschickt.\",\n    \"url-filters\": \"URL-Filter\",\n    \"select-your-sites-language\": \"Sprache der Website.\",\n    \"timezone\": \"Zeitzone\",\n    \"select-a-timezone-for-a-correct\": \"Zeitzone für die richtige Anzeige des Datums und der Zeit auf der Website.\",\n    \"locale\": \"Lokalisierung\",\n    \"date-and-time-formats\": \"Datum und Zeit\",\n    \"date-format\": \"Datumsformat\",\n    \"current-format\": \"Aktuelles Datumsformat\",\n    \"version\": \"Version\",\n    \"author\": \"Autor\",\n    \"activate\": \"Aktivieren\",\n    \"deactivate\": \"Deaktivieren\",\n    \"edit-category\": \"Kategorie bearbeiten\",\n    \"delete\": \"Löschen\",\n    \"password\": \"Passwort\",\n    \"confirm-password\": \"Passwort wiederholen\",\n    \"editor\": \"Mitarbeiter\",\n    \"administrator\": \"Administrator\",\n    \"edit-user\": \"Benutzer bearbeiten\",\n    \"edit-content\": \"Inhalt bearbeiten\",\n    \"profile\": \"Profil\",\n    \"change-password\": \"Passwort ändern\",\n    \"enabled\": \"Aktiviert\",\n    \"disable-the-user\": \"Benutzer deaktivieren\",\n    \"profile-picture\": \"Profil-Bild\",\n    \"edit-or-delete-your-categories\": \"Kategorien bearbeiten oder löschen.\",\n    \"create-a-new-category-to-organize-your-content\": \"Eine neue Kategorie hinzufügen.\",\n    \"confirm-delete-this-action-cannot-be-undone\": \"Bestätigung der Löschung. Diese kann nicht rückgängig gemacht werden.\",\n    \"do-you-want-to-disable-the-user\": \"Soll der Benutzer deaktiviert werden?\",\n    \"new-password\": \"Neues Passwort\",\n    \"you-can-change-this-field-when-save-the-current-changes\": \"You can change this field when save the current changes.\",\n    \"items-per-page\": \"Inhalte pro Seite\",\n    \"invite-a-friend-to-collaborate-on-your-site\": \"Einen neuen Benutzer hinzufügen.\",\n    \"number-of-items-to-show-per-page\": \"Anzahl Inhalte pro Seite.\",\n    \"website-or-blog\": \"Website oder Blog\",\n    \"order-content-by\": \"Inhalte anzeigen nach\",\n    \"edit-or-delete-content-from-your-site\": \"Inhalte bearbeiten oder löschen.\",\n    \"order-the-content-by-date-to-build-a-blog\": \"Für einen Blog Inhalte nach Datum anzeigen, für eine Website nach Position.\",\n    \"default-content-status\": \"Standard-Inhaltsstatus\",\n    \"default-status-for-new-content\": \"Wählen Sie, ob neue Inhalte standardmäßig als Veröffentlicht oder Entwurf erstellt werden.\",\n    \"page-not-found-content\": \"Es sieht so aus, als würde es diese Seite nicht geben!\",\n    \"page-not-found\": \"Seite nicht gefunden\",\n    \"predefined-pages\": \"Zugewiesene Seiten\",\n    \"returning-page-when-the-page-doesnt-exist\": \"Inhalt, wenn eine Seite nicht vorhanden ist. Wird nichts gewählt, wird die Standardmeldung verwendet.\",\n    \"returning-page-for-the-main-page\": \"Zur Hauptseite zugeordneter Inhalt. Standardmässig werden die neuesten Inhalte geordnet nach Datum (Blog) oder Position (Website) angezeigt.\",\n    \"full-url-of-your-site\": \"Vollständiger URL der Website mit http:\\/\\/ oder https:\\/\\/ (wenn ein Zertifikat aktiviert ist).\",\n    \"with-the-locales-you-can-set-the-regional-user-interface\": \"Die Lokalisierung erlaubt die Anzeige von Zeit und Datum im Format der gewählten Sprachregion. Dafür muss das System entsprechend konfiguriert sein.\",\n    \"bludit-installer\": \"Bludit Installer\",\n    \"choose-your-language\": \"Eine Sprache wählen\",\n    \"next\": \"Weiter\",\n    \"complete-the-form-choose-a-password-for-the-username-admin\": \"Bitte ein Passwort für den Benutzer \\\"admin\\\"<br>und eine E-Mail-Adresse eingeben.\",\n    \"show-password\": \"Passwort im Klartext zeigen\",\n    \"install\": \"Installieren\",\n    \"login\": \"Anmelden\",\n    \"back-to-login-form\": \"Zurück zur Anmeldeseite\",\n    \"get-login-access-code\": \"Zugangscode schicken\",\n    \"email-access-code\": \"Zugangscode zuschicken\",\n    \"whats-next\": \"Und so geht es weiter:\",\n    \"username-or-password-incorrect\": \"Falscher Benutzername und\\/oder falsches Passwort\",\n    \"follow-bludit-on\": \"Den [deutschsprachigen Newsletter](http:\\/\\/eepurl.com\\/b6mpKf) abonnieren und Bludit folgen bei\",\n    \"this-is-a-brief-description-of-yourself-our-your-site\": \"Hier kann beispielsweise eine kurze Beschreibung der Person, die den Blog oder die Website betreibt, oder der Website stehen. Der Text kann im Administrationsbereich in den Einstellungen des Plugins \\\"Über\\\" geändert werden.\",\n    \"new-version-available\": \"Eine neue Version ist verfügbar\",\n    \"new-category-created\": \"Kategorie hinzugefügt\",\n    \"category-deleted\": \"Kategorie gelöscht\",\n    \"category-edited\": \"Kategorie bearbeitet\",\n    \"new-user-created\": \"Benutzer hinzugefügt\",\n    \"user-edited\": \"Benutzer bearbeitet\",\n    \"user-deleted\": \"Benutzer gelöscht\",\n    \"recommended-for-recovery-password-and-notifications\": \"E-Mail-Adresse für die Passwort-Wiederherstellung und Mitteilungen.\",\n    \"authentication-token\": \"Authentifizierungs-Token\",\n    \"token\": \"Token\",\n    \"current-status\": \"Aktueller Status\",\n    \"upload-image\": \"Bild hochladen\",\n    \"the-changes-have-been-saved\": \"Die Änderung wurde gespeichert.\",\n    \"label\": \"Bezeichnung\",\n    \"links\": \"Links\",\n    \"this-title-is-almost-always-used-in-the-sidebar-of-the-site\": \"Abhängig vom Theme wird die Bezeichnung als Titel des Plugin-Bereichs verwendet.\",\n    \"password-must-be-at-least-6-characters-long\": \"Das Passwort muss mindestens 6 Zeichen lang sein.\",\n    \"ip-address-has-been-blocked\": \"Die IP-Adresse wurde gesperrt.\",\n    \"try-again-in-a-few-minutes\": \"Bitte, es in einigen Minuten noch einmal versuchen.\",\n    \"content-published-from-scheduler\": \"Geplanter Inhalt veröffentlicht\",\n    \"blog\": \"Blog\",\n    \"complete-all-fields\": \"Bitte alle Felder ausfüllen\",\n    \"static\": \"Statisch\",\n    \"about-your-site-or-yourself\": \"Über den Betreiber der Website.\",\n    \"homepage\": \"Hauptseite\",\n    \"disabled\": \"Deaktiviert\",\n    \"to-enable-the-user-you-must-set-a-new-password\": \"Um den Benutzer zu aktivieren, muss ein neues Passwort vergeben werden.\",\n    \"delete-the-user-and-associate-his-content-to-admin-user\": \"Benutzer löschen und seine Inhalte dem Benutzer admin übertragen.\",\n    \"delete-the-user-and-all-his-content\": \"Benutzer und alle seine Inhalte löschen.\",\n    \"user-disabled\": \"Benutzer deaktiviert\",\n    \"user-password-changed\": \"Passwort geändert\",\n    \"the-password-and-confirmation-password-do-not-match\": \"Das Passwort und die Bestätigung des Passworts stimmen nicht überein\",\n    \"scheduled-content\": \"Geplant\",\n    \"there-are-no-scheduled-content\": \"Es sind keine Veröffentlichungen geplant.\",\n    \"new-content-created\": \"Inhalt erstellt\",\n    \"content-edited\": \"Inhalt bearbeitet\",\n    \"content-deleted\": \"Inhalt gelöscht\",\n    \"undefined\": \"Nicht definiert\",\n    \"create-new-content-for-your-site\": \"Einen neuen Inhalt erstellen.\",\n    \"order-items-by\": \"Inhalte sortieren nach\",\n    \"all-content\": \"Alle Inhalte\",\n    \"dynamic\": \"Dynamisch\",\n    \"type\": \"Art\",\n    \"draft-content\": \"Entwürfe\",\n    \"post\": \"Post\",\n    \"default\": \"Standardvorgabe\",\n    \"latest-content\": \"Neueste Inhalte\",\n    \"default-message\": \"Standardmeldung\",\n    \"no-parent\": \"Kein übergeordneter Inhalt\",\n    \"have-you-seen-my-ball\": \"Hast Du meinen Ball gesehen?\",\n    \"pagebreak\": \"Seitenumbruch\",\n    \"pages\": \"Seiten\",\n    \"this-plugin-may-not-be-supported-by-this-version-of-bludit\": \"Dieses Plugin wird möglicherweise von der installierten Version von Bludit nicht unterstützt.\",\n    \"previous\": \"Zurück\",\n    \"previous-page\": \"Vorhergehende Seite\",\n    \"next-page\": \"Nächste Seite\",\n    \"scheduled\": \"Geplant\",\n    \"this-token-is-similar-to-a-password-it-should-not-be-shared\": \"Dieser Token ist genauso wichtig wie ein Passwort und sollte nicht weitergegeben werden.\",\n    \"congratulations-you-have-successfully-installed-your-bludit\": \"Gratulation, Bludit wurde erfolgreich installiert!\",\n    \"this-theme-may-not-be-supported-by-this-version-of-bludit\": \"Dieses Theme wird möglicherweise von der installierten Version von Bludit nicht unterstützt.\",\n    \"read-more\": \"Weiterlesen\",\n    \"remember-me\": \"Angemeldet bleiben\",\n    \"plugins-position\": \"Reihenfolge der Plugins\",\n    \"plugins-sorted\": \"Reihenfolge der Plugins geändert\",\n    \"plugins-position-changed\": \"Die Reihenfolge der Plugins wurde geändert.\",\n    \"drag-and-drop-to-set-the-position-of-the-plugin\": \"Die Reihenfolge der Plugins kann mit \\\"Drag and Drop\\\" geändert werden\",\n    \"change-the-position-of-the-plugins\": \"Reihenfolge der Plugins bearbeiten\",\n    \"reading-time\": \"Lesezeit\",\n    \"minutes\": \"Minuten\",\n    \"minute\": \"Minute\",\n    \"example-page-1-slug\": \"veroeffentliche-deine-inhalte\",\n    \"example-page-1-title\": \"Veröffentliche deine Inhalte\",\n    \"example-page-1-content\": \"Veröffentliche deine eigenen Inhalte oder passe die vorhandenen deinen Bedürfnissen an. Um Inhalte zu veröffentlichen, zu bearbeiten oder zu löschen, musst du dich im [Administrationsbereich](.\\/admin) anmelden (mit dem Benutzernamen `admin` und dem Passwort, das Du bei der Installation eingegeben hast).\",\n    \"example-page-2-slug\": \"richte-deine-website-ein\",\n    \"example-page-2-title\": \"Richte deine Website ein\",\n    \"example-page-2-content\": \"Passe die Einstellungen deiner Website im [Administrationsbereich](.\\/admin) an. Unter [Einstellungen > Allgemein](.\\/admin\\/settings) kannst Du beispielsweise den Titel und die Beschreibung der Website ändern oder Links zu sozialen Netzwerken eingeben.\",\n    \"example-page-3-slug\": \"folge-bludit\",\n    \"example-page-3-title\": \"Folge Bludit\",\n    \"example-page-3-content\": \"Halte dich auf dem Laufenden über neue Versionen, Themes und Plugins in den sozialen Netzwerken <a href=\\\"https:\\/\\/www.facebook.com\\/bluditcms\\/\\\" target=\\\"_blank\\\">Facebook<\\/a>, <a href=\\\"https:\\/\\/www.twitter.com\\/bludit\\/\\\" target=\\\"_blank\\\">Twitter<\\/a> und <a href=\\\"https:\\/\\/www.youtube.com\\/c\\/Bluditcms\\\" target=\\\"_blank\\\">YouTube<\\/a>, über den <a href=\\\"https:\\/\\/blog.bludit.com\\\" target=\\\"_blank\\\">Blog<\\/a> oder indem du den <a href=\\\"https:\\/\\/clickwork.ch\\/bludit-newsletter\\\" target=\\\"_blank\\\">deutschsprachigen Newsletter<\\/a> abonnierst.\",\n    \"example-page-4-slug\": \"ueber\",\n    \"example-page-4-title\": \"Über\",\n    \"example-page-4-content\": \"Die Seite \\\"Über\\\" ist eine viel beachtete Seite. Denn viele wollen wissen, wer einen Blog oder eine Website betreibt, welche Idee dahinter steht, wie du erreichbar bist usw.\",\n    \"the-extension-zip-is-not-installed\": \"Die ZIP-Erweiterung ist auf deinem Server nicht installiert. Um dieses Plugin zu verwenden, muss sie installiert werden.\",\n    \"there-are-no-sticky-pages-at-this-moment\": \"Es gibt keine fixierten Inhalte.\",\n    \"there-are-no-scheduled-pages-at-this-moment\": \"Es gibt keine zur Veröffentlichung geplanten Inhalte.\",\n    \"update\": \"Aktualisierung\",\n    \"template\": \"Template\",\n    \"nickname\": \"Nickname\",\n    \"disable-user\": \"Benutzer deaktivieren\",\n    \"delete-user-and-keep-content\": \"Benutzer löschen und Inhalte behalten\",\n    \"delete-user-and-delete-content\": \"Benutzer und Inhalte löschen (Vorsicht!)\",\n    \"social-networks\": \"Soziale Netzwerke\",\n    \"interval\": \"Abstände\",\n    \"number-in-minutes-for-every-execution-of-autosave\": \"Anzahl Minuten zwischen automatischen Speicherungen.\",\n    \"extreme-friendly-url\": \"Besonders benutzerfreundlicher URL\",\n    \"title-formats\": \"Titelformate\",\n    \"delete-content\": \"Inhalt löschen\",\n    \"are-you-sure-you-want-to-delete-this-page\": \"Bist Du sicher, dass Du diesen Inhalt löschen möchtest?\",\n    \"sticky\": \"Fixiert\",\n    \"actions\": \"Aktionen\",\n    \"edit\": \"Bearbeiten\",\n    \"options\": \"Einstellungen\",\n    \"enter-title\": \"Titel hier eingegeben\",\n    \"media-manager\": \"Medien-Manager\",\n    \"set-a-cover-image-from-external-url,-such-as-a-cdn-or-some-server-dedicated-for-images\": \"Hauptbild mit einem externen URL, beispielsweise von einem Content Delivery Network (CDN).\",\n    \"user\": \"Benutzer\",\n    \"date-format-format\": \"Datumsformat: <code>YYYY-MM-DD Stunden:Minuten:Sekunden<\\/code>\",\n    \"start-typing-a-page-title-to-see-a-list-of-suggestions\": \"Die automatische Vervollständigung zeigt entsprechende Vorschläge an.\",\n    \"field-used-when-ordering-content-by-position\": \"Dieses Feld wird verwendet, wenn die Inhalte nach Position angezeigt werden (Website).\",\n    \"write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page\": \"Name des Templates, wenn das Theme es erlaubt, verschiedene Templates einzelnen Inhalten zuzuordnen.\",\n    \"write-the-tags-separated-by-commas\": \"Schlagwörter durch Kommas getrennt eingeben.\",\n    \"apply-code-noindex-code-to-this-page\": \"Die Anweisung <code>noindex<\\/code> für diese Seite verwenden.\",\n    \"this-tells-search-engines-not-to-show-this-page-in-their-search-results\": \"Anweisung an Suchmaschinen, die Seite in Suchergebnissen nicht zu zeigen.\",\n    \"apply-code-nofollow-code-to-this-page\": \"Die Anweisung <code>nofollow<\\/code> für dieses Seite verwenden.\",\n    \"this-tells-search-engines-not-to-follow-links-on-this-page\": \"Anweisung an Suchmaschinen, Links auf der Seite nicht zu folgen.\",\n    \"apply-code-noarchive-code-to-this-page\": \"Die Anweisung <code>noarchive<\\/code> für diese Seite anwenden.\",\n    \"this-tells-search-engines-not-to-save-a-cached-copy-of-this-page\": \"Anweisung an Suchmaschinen, keine Kopie der Seite im Cache zu speichern.\",\n    \"uncategorized\": \"Nicht kategorisiert\",\n    \"done\": \"Bestätigen\",\n    \"delete-category\": \"Kategorie löschen\",\n    \"are-you-sure-you-want-to-delete-this-category?\": \"Bist du sicher, dass Du diese Kategorie löschen möchtest?\",\n    \"confirm-new-password\": \"Bestätige das neue Passwort\",\n    \"the-nickname-is-almost-used-in-the-themes-to-display-the-author-of-the-content\": \"Der Nickname wird als Name des Autors von Beiträgen angezeigt.\",\n    \"allow-unicode\": \"Unicode\",\n    \"allow-unicode-characters-in-the-url-and-some-part-of-the-system\": \"Unicode-Zeichen mit Umlauten usw. im URL und bei einigen Teilen des Systems verwenden.\",\n    \"variables-allowed\": \"Mögliche Platzhalter:\",\n    \"tag\": \"Tag\",\n    \"drag-and-drop-to-sort-the-plugins\": \"Die Reihenfolge der Plugings kann mit Drag and Drop geändert werden.\",\n    \"seo\": \"SEO\",\n    \"documentation\": \"Dokumentation\",\n    \"forum-support\": \"Support-Forum\",\n    \"chat-support\": \"Support-Chat\",\n    \"quick-links\": \"Quicklinks\",\n    \"leave-empty-for-autocomplete-by-bludit\": \"Ohne Eingabe wird der URL von Bludit erstellt.\",\n    \"choose-a-password-for-the-user-admin\": \"Gib ein Passwort für den Benutzer <code>admin<\\/code> ein\",\n    \"access-denied\": \"Zugriff verweigert\",\n    \"choose-images-to-upload\": \"Bilder auswählen und auf den Server laden\",\n    \"insert\": \"Einfügen\",\n    \"upload\": \"Upload\",\n    \"autosave\": \"Automatische Speicherung\",\n    \"the-content-is-saved-as-a-draft-to-publish-it\": \"Der Inhalt ist als Entwurf gespeichert. Um ihn zu veröffentlichen, klicke <b>Veröffentlichen<\\/b>, wenn du ihn du weiter daran arbeiten möchtest, klicke <b>Als Entwurf speichern<\\/b>.\",\n    \"site\": \"Website\",\n    \"first\": \"Anfang\",\n    \"last\": \"Ende\",\n    \"there-are-no-pages-at-this-moment\": \"Es gibt keine Seiten.\",\n    \"there-are-no-static-pages-at-this-moment\": \"Es gibt keine statischen Inhalte.\",\n    \"there-are-no-draft-pages-at-this-moment\": \"Es gibt keine Entwürfe.\",\n    \"good-morning\": \"Guten Morgen\",\n    \"good-afternoon\": \"Guten Nachmittag\",\n    \"good-evening\": \"Guten Abend\",\n    \"good-night\": \"Gute Nacht\",\n    \"hello\": \"Hallo\",\n    \"there-are-no-images-for-the-page\": \"Für diesen Inhalt sind keine Bilder vorhanden.\",\n    \"select-cover-image\": \"Wähle ein Hauptbild\",\n    \"this-plugin-depends-on-the-following-plugins\": \"Um dieses Plugin zu verwenden, braucht es auch folgendes Plugin:\",\n    \"no-pages-found\": \"Es wurden keine Seiten gefunden\",\n    \"system-updated\": \"Das System wurde aufdatiert\",\n    \"security\": \"Sicherheit\",\n    \"remove-cover-image\": \"Hauptbild entfernen\",\n    \"width\": \"Breite\",\n    \"height\": \"Höhe\",\n    \"quality\": \"Qualität\",\n    \"thumbnails\": \"Vorschaubilder\",\n    \"thumbnail\": \"Vorschaubild\",\n    \"thumbnail-width-in-pixels\": \"Breite der Vorschaubilder in Pixel (px).\",\n    \"thumbnail-height-in-pixels\": \"Höhe der Vorschaubilder in Pixel (px).\",\n    \"thumbnail-quality-in-percentage\": \"Qualität der Vorschaubilder in Prozent (%).\",\n    \"maximum-load-file-size-allowed:\": \"Maximal erlaubte Dateigrösse:\",\n    \"file-type-is-not-supported\": \"Dateiformat wird nicht unterstützt. Erlaubte Dateiformate:\",\n    \"page-content\": \"Seiteninhalt\",\n    \"markdown-parser\": \"Markdown-Parser\",\n    \"site-logo\": \"Website-Logo\",\n    \"search\": \"Suche\",\n    \"search-plugins\": \"Plugins suchen\",\n    \"enabled-plugins\": \"Aktivierte Plugins\",\n    \"disabled-plugins\": \"Deaktivierte Plugins\",\n    \"remove-logo\": \"Logo entfernen\",\n    \"preview\": \"Vorschau\",\n    \"author-can-write-and-edit-their-own-content\": \"Autor: Kann Inhalte erstellen und seine eigenen bearbeiten. Mitarbeiter: Kann Inhalte erstellen und seine eigenen und die anderer bearbeiten.\",\n    \"custom-fields\": \"Benutzerdefinierte Felder\",\n    \"define-custom-fields-for-the-content\": \"Benutzerdefinierte Felder für Inhalte anlegen. Informationen darüber sind in der <a href='https:\\/\\/docs.bludit.com\\/en\\/content\\/custom-fields'>Dokumentation<\\/a> zu finden.\",\n    \"start-typing-to-see-a-list-of-suggestions\": \"Beginne mit dem Tippen für eine Liste mit Vorschlägen.\",\n    \"view\": \"Anschauen\",\n    \"insert-thumbnail\": \"Vorschau einfügen\",\n    \"insert-linked-thumbnail\": \"Verlinkte Vorschau einfügen\",\n    \"no-tags\": \"Keine Tags\",\n    \"visits-today\": \"Besuche heute\",\n    \"no-categories\": \"Keine Kategorien\",\n    \"quick-search-pages-and-menu\": \"Schnellsuche Seiten und Menü\",\n    \"click-here-for-quick-search\": \"Click here for quick search\",\n    \"analytics\": \"Analytik\",\n    \"unique-visitors\": \"Einzigartige Besucher\",\n    \"search-placeholder\": \"Seiten, Inhalt und Menüpunkte durchsuchen...\",\n    \"no-results-found\": \"Keine Ergebnisse gefunden\",\n    \"navigation\": \"Navigation\",\n    \"thumbnail-generation\": \"Vorschaubild-Erstellung\",\n    \"enable-disable-automatic-thumbnail-generation-on-image-upload\": \"Aktivieren oder Deaktivieren der automatischen Vorschaubild-Erstellung beim Hochladen von Bildern.\"\n}\n"
  },
  {
    "path": "bl-languages/de_DE.json",
    "content": "{\n    \"language-data\": {\n        \"native\": \"Deutsch (Deutschland)\",\n        \"english-name\": \"German\",\n        \"locale\": \"de, de_DE\",\n        \"last-update\": \"2020-03-24\",\n        \"authors\": [\n            \"Clickwork https:\\/\\/clickwork.ch\",\n            \"blog2read https:\\/\\/github.com\\/blog2read\",\n            \"cblte https:\\/\\/github.com\\/cblte\",\n            \"MoritzBrueckner https:\\/\\/github.com\\/MoritzBrueckner\",\n            \"\"\n        ]\n    },\n    \"dates\": {\n        \"Mon\": \"Mo\",\n        \"Tue\": \"Di\",\n        \"Wed\": \"Mi\",\n        \"Thu\": \"Do\",\n        \"Fri\": \"Fr\",\n        \"Sat\": \"Sa\",\n        \"Sun\": \"So\",\n        \"Monday\": \"Montag\",\n        \"Tuesday\": \"Dienstag\",\n        \"Wednesday\": \"Mittwoch\",\n        \"Thursday\": \"Donnerstag\",\n        \"Friday\": \"Freitag\",\n        \"Saturday\": \"Samstag\",\n        \"Sunday\": \"Sonntag\",\n        \"Jan\": \"Jan\",\n        \"Feb\": \"Feb\",\n        \"Mar\": \"Mär\",\n        \"Apr\": \"Apr\",\n        \"Jun\": \"Jun\",\n        \"Jul\": \"Jul\",\n        \"Aug\": \"Aug\",\n        \"Sep\": \"Sep\",\n        \"Oct\": \"Okt\",\n        \"Nov\": \"Nov\",\n        \"Dec\": \"Dez\",\n        \"January\": \"Januar\",\n        \"February\": \"Februar\",\n        \"March\": \"März\",\n        \"April\": \"April\",\n        \"May\": \"Mai\",\n        \"June\": \"Juni\",\n        \"July\": \"Juli\",\n        \"August\": \"August\",\n        \"September\": \"September\",\n        \"October\": \"Oktober\",\n        \"November\": \"November\",\n        \"December\": \"Dezember\"\n    },\n    \"dashboard\": \"Dashboard\",\n    \"manage-users\": \"Benutzer verwalten\",\n    \"manage-categories\": \"Kategorien verwalten\",\n    \"general-settings\": \"Allgemeine Einstellungen\",\n    \"advanced-settings\": \"Erweiterte Einstellungen\",\n    \"thanks-for-supporting-bludit\": \"Vielen Dank für die Unterstützung von Bludit!\",\n    \"upgrade-to-bludit-pro\": \"Upgrade auf Bludit PRO\",\n    \"language\": \"Sprache\\/Zeitzone\",\n    \"plugin\": \"Plugin\",\n    \"plugins\": \"Plugins\",\n    \"developers\": \"Entwickler\",\n    \"themes\": \"Themes\",\n    \"about\": \"Über\",\n    \"url\": \"URL\",\n    \"welcome\": \"Willkommen\",\n    \"logout\": \"Abmelden\",\n    \"website\": \"Website\",\n    \"publish\": \"Veröffentlichen\",\n    \"manage\": \"Verwalten\",\n    \"content\": \"Inhalte\",\n    \"category\": \"Kategorie\",\n    \"categories\": \"Kategorien\",\n    \"users\": \"Benutzer\",\n    \"settings\": \"Einstellungen\",\n    \"general\": \"Allgemein\",\n    \"advanced\": \"Erweitert\",\n    \"new-content\": \"Neuer Inhalt\",\n    \"manage-content\": \"Inhalte verwalten\",\n    \"add-new-content\": \"Neuen Inhalt erstellen\",\n    \"new-category\": \"Neue Kategorie\",\n    \"you-do-not-have-sufficient-permissions\": \"Keine Berechtigung, die Seite aufzurufen.\",\n    \"add-a-new-user\": \"Neuer Benutzer\",\n    \"url-associated-with-the-content\": \"Der URL kann selbst angepasst werden.\",\n    \"language-and-timezone\": \"Sprache und Zeitzone\",\n    \"change-your-language-and-region-settings\": \"Sprache ändern und Lokalisierung einstellen.\",\n    \"notifications\": \"Aktivitäten\",\n    \"plugin-activated\": \"Plugin aktiviert\",\n    \"plugin-deactivated\": \"Plugin deaktiviert\",\n    \"new-theme-configured\": \"Theme aktiviert\",\n    \"settings-changes\": \"Änderung der Einstellungen\",\n    \"plugin-configured\": \"Plugin konfiguriert\",\n    \"welcome-to-bludit\": \"Willkommen bei Bludit\",\n    \"statistics\": \"Statistiken\",\n    \"drafts\": \"Entwürfe\",\n    \"title\": \"Titel\",\n    \"save\": \"Speichern\",\n    \"save-as-draft\": \"Als Entwurf speichern\",\n    \"cancel\": \"Abbrechen\",\n    \"description\": \"Beschreibung\",\n    \"this-field-can-help-describe-the-content\": \"Kurze Inhaltsbeschreibung. Möglich sind bis zu 150 Zeichen.\",\n    \"images\": \"Bilder\",\n    \"error\": \"Fehler\",\n    \"supported-image-file-types\": \"Unterstützte Dateiformate\",\n    \"cover-image\": \"Hauptbild\",\n    \"drag-and-drop-or-click-here\": \"Drag and Drop oder hier klicken\",\n    \"there-are-no-images\": \"Keine Bilder vorhanden\",\n    \"upload-and-more-images\": \"Upload und weitere Bilder\",\n    \"click-on-the-image-for-options\": \"Für die Bildoptionen auf das Bild klicken.\",\n    \"click-here-to-cancel\": \"Schliessen\",\n    \"insert-image\": \"Bild einfügen\",\n    \"set-as-cover-image\": \"Als Hauptbild verwenden\",\n    \"delete-image\": \"Bild löschen\",\n    \"tags\": \"Schlagwörter\",\n    \"add\": \"Hinzufügen\",\n    \"status\": \"Status\",\n    \"published\": \"Veröffentlicht\",\n    \"draft\": \"Entwurf\",\n    \"empty-title\": \"Kein Titel\",\n    \"empty\": \"Kein Inhalt\",\n    \"date\": \"Datum\",\n    \"external-cover-image\": \"Externes Hauptbild\",\n    \"parent\": \"Übergeordneter Inhalt\",\n    \"full-image-url\": \"Link zum verwendeten Bild.\",\n    \"this-field-is-used-when-you-order-the-content-by-position\": \"Dieses Feld wird verwendet, wenn der Inhalt nach Position angezeigt wird.\",\n    \"position\": \"Position\",\n    \"friendly-url\": \"URL\",\n    \"image-description\": \"Bildbeschreibung\",\n    \"add-a-new-category\": \"Neue Kategorie hinzufügen\",\n    \"name\": \"Name\",\n    \"username\": \"Benutzername\",\n    \"quick-search-pages-and-menu\": \"Schnellsuche Seiten und Menü\",\n    \"click-here-for-quick-search\": \"Click here for quick search\",\n    \"analytics\": \"Analysen\",\n    \"visits-today\": \"Besuche heute\",\n    \"unique-visitors\": \"Eindeutige Besucher\",\n    \"search-placeholder\": \"Seiten, Inhalte und Menüelemente suchen...\",\n    \"no-results-found\": \"Keine Ergebnisse gefunden\",\n    \"first-name\": \"Vorname\",\n    \"last-name\": \"Nachname\",\n    \"to-schedule-the-content-select-the-date-and-time\": \"Um einen Inhalt zu einem späteren Zeitpunkt zu veröffentlichen, Datum und Zeit wählen. Sein Status muss \\\"Veröffentlicht\\\" sein.\",\n    \"email\": \"E-Mail-Adresse\",\n    \"role\": \"Rolle\",\n    \"registered\": \"Hinzugefügt\",\n    \"site-information\": \"Angaben zur Website\",\n    \"site-title\": \"Titel der Website\",\n    \"use-this-field-to-name-your-site\": \"Name der Website, wie er auf jeder Seite angezeigt wird.\",\n    \"site-slogan\": \"Untertitel\",\n    \"use-this-field-to-add-a-catchy-phrase\": \"Untertitel oder Slogan der Website.\",\n    \"site-description\": \"Informationen\",\n    \"you-can-add-a-site-description-to-provide\": \"Kurze Beschreibung der Website (wird von Suchmaschinen verwendet).\",\n    \"footer-text\": \"Footer-Text\",\n    \"you-can-add-a-small-text-on-the-bottom\": \"Text im Fussbereich jeder Seite. Beispielsweise: Copyright-Hinweis, Eigentümer der Website usw.\",\n    \"social-networks-links\": \"Links zu sozialen Netzwerken\",\n    \"site-url\": \"Adresse der Website\",\n    \"email-account-settings\": \"E-Mail\",\n    \"sender-email\": \"Absender\",\n    \"emails-will-be-sent-from-this-address\": \"E-Mails werden mit dieser E-Mail-Adresse als Absender verschickt.\",\n    \"url-filters\": \"URL-Filter\",\n    \"select-your-sites-language\": \"Sprache der Website.\",\n    \"timezone\": \"Zeitzone\",\n    \"select-a-timezone-for-a-correct\": \"Zeitzone für die richtige Anzeige des Datums und der Zeit auf der Website.\",\n    \"locale\": \"Lokalisierung\",\n    \"date-and-time-formats\": \"Datum und Zeit\",\n    \"date-format\": \"Datumsformat\",\n    \"current-format\": \"Aktuelles Datumsformat\",\n    \"version\": \"Version\",\n    \"author\": \"Autor\",\n    \"activate\": \"Aktivieren\",\n    \"deactivate\": \"Deaktivieren\",\n    \"edit-category\": \"Kategorie bearbeiten\",\n    \"delete\": \"Löschen\",\n    \"password\": \"Passwort\",\n    \"confirm-password\": \"Passwort wiederholen\",\n    \"editor\": \"Mitarbeiter\",\n    \"administrator\": \"Administrator\",\n    \"edit-user\": \"Benutzer bearbeiten\",\n    \"edit-content\": \"Inhalt bearbeiten\",\n    \"profile\": \"Profil\",\n    \"change-password\": \"Passwort ändern\",\n    \"enabled\": \"Aktiviert\",\n    \"disable-the-user\": \"Benutzer deaktivieren\",\n    \"profile-picture\": \"Profil-Bild\",\n    \"edit-or-delete-your-categories\": \"Kategorien bearbeiten oder löschen.\",\n    \"create-a-new-category-to-organize-your-content\": \"Eine neue Kategorie hinzufügen.\",\n    \"confirm-delete-this-action-cannot-be-undone\": \"Bestätigung der Löschung. Diese kann nicht rückgängig gemacht werden.\",\n    \"do-you-want-to-disable-the-user\": \"Soll der Benutzer deaktiviert werden?\",\n    \"new-password\": \"Neues Passwort\",\n    \"you-can-change-this-field-when-save-the-current-changes\": \"You can change this field when save the current changes.\",\n    \"items-per-page\": \"Inhalte pro Seite\",\n    \"invite-a-friend-to-collaborate-on-your-site\": \"Einen neuen Benutzer hinzufügen.\",\n    \"number-of-items-to-show-per-page\": \"Anzahl Inhalte pro Seite.\",\n    \"website-or-blog\": \"Website oder Blog\",\n    \"order-content-by\": \"Inhalte anzeigen nach\",\n    \"edit-or-delete-content-from-your-site\": \"Inhalte bearbeiten oder löschen.\",\n    \"order-the-content-by-date-to-build-a-blog\": \"Für einen Blog Inhalte nach Datum anzeigen, für eine Website nach Position.\",\n    \"default-content-status\": \"Standard-Inhaltsstatus\",\n    \"default-status-for-new-content\": \"Wählen Sie, ob neue Inhalte standardmäßig als Veröffentlicht oder Entwurf erstellt werden.\",\n    \"page-not-found-content\": \"Es sieht so aus, als würde es diese Seite nicht geben!\",\n    \"page-not-found\": \"Seite nicht gefunden\",\n    \"predefined-pages\": \"Zugewiesene Seiten\",\n    \"returning-page-when-the-page-doesnt-exist\": \"Inhalt, wenn eine Seite nicht vorhanden ist. Wird nichts gewählt, wird die Standardmeldung verwendet.\",\n    \"returning-page-for-the-main-page\": \"Zur Hauptseite zugeordneter Inhalt. Standardmässig werden die neuesten Inhalte geordnet nach Datum (Blog) oder Position (Website) angezeigt.\",\n    \"full-url-of-your-site\": \"Vollständiger URL der Website mit http:\\/\\/ oder https:\\/\\/ (wenn ein Zertifikat aktiviert ist).\",\n    \"with-the-locales-you-can-set-the-regional-user-interface\": \"Die Lokalisierung erlaubt die Anzeige von Zeit und Datum im Format der gewählten Sprachregion. Dafür muss das System entsprechend konfiguriert sein.\",\n    \"bludit-installer\": \"Bludit Installer\",\n    \"choose-your-language\": \"Eine Sprache wählen\",\n    \"next\": \"Weiter\",\n    \"complete-the-form-choose-a-password-for-the-username-admin\": \"Bitte ein Passwort für den Benutzer \\\"admin\\\"<br>und eine E-Mail-Adresse eingeben.\",\n    \"show-password\": \"Passwort im Klartext zeigen\",\n    \"install\": \"Installieren\",\n    \"login\": \"Anmelden\",\n    \"back-to-login-form\": \"Zurück zur Anmeldeseite\",\n    \"get-login-access-code\": \"Zugangscode schicken\",\n    \"email-access-code\": \"Zugangscode zuschicken\",\n    \"whats-next\": \"Und so geht es weiter:\",\n    \"username-or-password-incorrect\": \"Falscher Benutzername und\\/oder falsches Passwort\",\n    \"follow-bludit-on\": \"Den [deutschsprachigen Newsletter](http:\\/\\/eepurl.com\\/b6mpKf) abonnieren und Bludit folgen bei\",\n    \"this-is-a-brief-description-of-yourself-our-your-site\": \"Hier kann beispielsweise eine kurze Beschreibung der Person, die den Blog oder die Website betreibt, oder der Website stehen. Der Text kann im Administrationsbereich in den Einstellungen des Plugins \\\"Über\\\" geändert werden.\",\n    \"new-version-available\": \"Eine neue Version ist verfügbar\",\n    \"new-category-created\": \"Kategorie hinzugefügt\",\n    \"category-deleted\": \"Kategorie gelöscht\",\n    \"category-edited\": \"Kategorie bearbeitet\",\n    \"new-user-created\": \"Benutzer hinzugefügt\",\n    \"user-edited\": \"Benutzer bearbeitet\",\n    \"user-deleted\": \"Benutzer gelöscht\",\n    \"recommended-for-recovery-password-and-notifications\": \"E-Mail-Adresse für die Passwort-Wiederherstellung und Mitteilungen.\",\n    \"authentication-token\": \"Authentifizierungs-Token\",\n    \"token\": \"Token\",\n    \"current-status\": \"Aktueller Status\",\n    \"upload-image\": \"Bild hochladen\",\n    \"the-changes-have-been-saved\": \"Die Änderung wurde gespeichert.\",\n    \"label\": \"Bezeichnung\",\n    \"links\": \"Links\",\n    \"this-title-is-almost-always-used-in-the-sidebar-of-the-site\": \"Abhängig vom Theme wird die Bezeichnung als Titel des Plugin-Bereichs verwendet.\",\n    \"password-must-be-at-least-6-characters-long\": \"Das Passwort muss mindestens 6 Zeichen lang sein.\",\n    \"ip-address-has-been-blocked\": \"Die IP-Adresse wurde gesperrt.\",\n    \"try-again-in-a-few-minutes\": \"Bitte, es in einigen Minuten noch einmal versuchen.\",\n    \"content-published-from-scheduler\": \"Geplanter Inhalt veröffentlicht\",\n    \"blog\": \"Blog\",\n    \"complete-all-fields\": \"Bitte alle Felder ausfüllen\",\n    \"static\": \"Statisch\",\n    \"about-your-site-or-yourself\": \"Über den Betreiber der Website.\",\n    \"homepage\": \"Hauptseite\",\n    \"disabled\": \"Deaktiviert\",\n    \"to-enable-the-user-you-must-set-a-new-password\": \"Um den Benutzer zu aktivieren, muss ein neues Passwort vergeben werden.\",\n    \"delete-the-user-and-associate-his-content-to-admin-user\": \"Benutzer löschen und seine Inhalte dem Benutzer admin übertragen.\",\n    \"delete-the-user-and-all-his-content\": \"Benutzer und alle seine Inhalte löschen.\",\n    \"user-disabled\": \"Benutzer deaktiviert\",\n    \"user-password-changed\": \"Passwort geändert\",\n    \"the-password-and-confirmation-password-do-not-match\": \"Das Passwort und die Bestätigung des Passworts stimmen nicht überein\",\n    \"scheduled-content\": \"Geplant\",\n    \"there-are-no-scheduled-content\": \"Es sind keine Veröffentlichungen geplant.\",\n    \"new-content-created\": \"Inhalt erstellt\",\n    \"content-edited\": \"Inhalt bearbeitet\",\n    \"content-deleted\": \"Inhalt gelöscht\",\n    \"undefined\": \"Nicht definiert\",\n    \"create-new-content-for-your-site\": \"Einen neuen Inhalt erstellen.\",\n    \"order-items-by\": \"Inhalte sortieren nach\",\n    \"all-content\": \"Alle Inhalte\",\n    \"dynamic\": \"Dynamisch\",\n    \"type\": \"Art\",\n    \"draft-content\": \"Entwürfe\",\n    \"post\": \"Post\",\n    \"default\": \"Standardvorgabe\",\n    \"latest-content\": \"Neueste Inhalte\",\n    \"default-message\": \"Standardmeldung\",\n    \"no-parent\": \"Kein übergeordneter Inhalt\",\n    \"have-you-seen-my-ball\": \"Hast Du meinen Ball gesehen?\",\n    \"pagebreak\": \"Seitenumbruch\",\n    \"pages\": \"Seiten\",\n    \"this-plugin-may-not-be-supported-by-this-version-of-bludit\": \"Dieses Plugin wird möglicherweise von der installierten Version von Bludit nicht unterstützt.\",\n    \"previous\": \"Zurück\",\n    \"previous-page\": \"Vorhergehende Seite\",\n    \"next-page\": \"Nächste Seite\",\n    \"scheduled\": \"Geplant\",\n    \"this-token-is-similar-to-a-password-it-should-not-be-shared\": \"Dieser Token ist genauso wichtig wie ein Passwort und sollte nicht weitergegeben werden.\",\n    \"congratulations-you-have-successfully-installed-your-bludit\": \"Gratulation, Bludit wurde erfolgreich installiert!\",\n    \"this-theme-may-not-be-supported-by-this-version-of-bludit\": \"Dieses Theme wird möglicherweise von der installierten Version von Bludit nicht unterstützt.\",\n    \"read-more\": \"Weiterlesen\",\n    \"remember-me\": \"Angemeldet bleiben\",\n    \"plugins-position\": \"Reihenfolge der Plugins\",\n    \"plugins-sorted\": \"Reihenfolge der Plugins geändert\",\n    \"plugins-position-changed\": \"Die Reihenfolge der Plugins wurde geändert.\",\n    \"drag-and-drop-to-set-the-position-of-the-plugin\": \"Die Reihenfolge der Plugins kann mit \\\"Drag and Drop\\\" geändert werden\",\n    \"change-the-position-of-the-plugins\": \"Reihenfolge der Plugins bearbeiten\",\n    \"reading-time\": \"Lesezeit\",\n    \"minutes\": \"Minuten\",\n    \"minute\": \"Minute\",\n    \"example-page-1-slug\": \"veroeffentliche-deine-inhalte\",\n    \"example-page-1-title\": \"Veröffentliche deine Inhalte\",\n    \"example-page-1-content\": \"Veröffentliche deine eigenen Inhalte oder passe die vorhandenen deinen Bedürfnissen an. Um Inhalte zu veröffentlichen, zu bearbeiten oder zu löschen, musst du dich im [Administrationsbereich](.\\/admin) anmelden (mit dem Benutzernamen `admin` und dem Passwort, das Du bei der Installation eingegeben hast).\",\n    \"example-page-2-slug\": \"richte-deine-website-ein\",\n    \"example-page-2-title\": \"Richte deine Website ein\",\n    \"example-page-2-content\": \"Passe die Einstellungen deiner Website im [Administrationsbereich](.\\/admin) an. Unter [Einstellungen > Allgemein](.\\/admin\\/settings) kannst Du beispielsweise den Titel und die Beschreibung der Website ändern oder Links zu sozialen Netzwerken eingeben.\",\n    \"example-page-3-slug\": \"folge-bludit\",\n    \"example-page-3-title\": \"Folge Bludit\",\n    \"example-page-3-content\": \"Halte dich auf dem Laufenden über neue Versionen, Themes und Plugins in den sozialen Netzwerken <a href=\\\"https:\\/\\/www.facebook.com\\/bluditcms\\/\\\" target=\\\"_blank\\\">Facebook<\\/a>, <a href=\\\"https:\\/\\/www.twitter.com\\/bludit\\/\\\" target=\\\"_blank\\\">Twitter<\\/a> und <a href=\\\"https:\\/\\/www.youtube.com\\/c\\/Bluditcms\\\" target=\\\"_blank\\\">YouTube<\\/a>, über den <a href=\\\"https:\\/\\/blog.bludit.com\\\" target=\\\"_blank\\\">Blog<\\/a> oder indem du den <a href=\\\"https:\\/\\/clickwork.ch\\/bludit-newsletter\\\" target=\\\"_blank\\\">deutschsprachigen Newsletter<\\/a> abonnierst.\",\n    \"example-page-4-slug\": \"ueber\",\n    \"example-page-4-title\": \"Über\",\n    \"example-page-4-content\": \"Die Seite \\\"Über\\\" ist eine viel beachtete Seite. Denn viele wollen wissen, wer einen Blog oder eine Website betreibt, welche Idee dahinter steht, wie du erreichbar bist usw.\",\n    \"the-extension-zip-is-not-installed\": \"Die ZIP-Erweiterung ist auf deinem Server nicht installiert. Um dieses Plugin zu verwenden, muss sie installiert werden.\",\n    \"there-are-no-sticky-pages-at-this-moment\": \"Es gibt keine fixierten Inhalte.\",\n    \"there-are-no-scheduled-pages-at-this-moment\": \"Es gibt keine zur Veröffentlichung geplanten Inhalte.\",\n    \"update\": \"Aktualisierung\",\n    \"template\": \"Template\",\n    \"nickname\": \"Nickname\",\n    \"disable-user\": \"Benutzer deaktivieren\",\n    \"delete-user-and-keep-content\": \"Benutzer löschen und Inhalte behalten\",\n    \"delete-user-and-delete-content\": \"Benutzer und Inhalte löschen (Vorsicht!)\",\n    \"social-networks\": \"Soziale Netzwerke\",\n    \"interval\": \"Abstände\",\n    \"number-in-minutes-for-every-execution-of-autosave\": \"Anzahl Minuten zwischen automatischen Speicherungen.\",\n    \"extreme-friendly-url\": \"Besonders benutzerfreundlicher URL\",\n    \"title-formats\": \"Titelformate\",\n    \"delete-content\": \"Inhalt löschen\",\n    \"are-you-sure-you-want-to-delete-this-page\": \"Bist Du sicher, dass Du diesen Inhalt löschen möchtest?\",\n    \"sticky\": \"Fixiert\",\n    \"actions\": \"Aktionen\",\n    \"edit\": \"Bearbeiten\",\n    \"options\": \"Einstellungen\",\n    \"enter-title\": \"Titel hier eingegeben\",\n    \"media-manager\": \"Medien-Manager\",\n    \"set-a-cover-image-from-external-url,-such-as-a-cdn-or-some-server-dedicated-for-images\": \"Hauptbild mit einem externen URL, beispielsweise von einem Content Delivery Network (CDN).\",\n    \"user\": \"Benutzer\",\n    \"date-format-format\": \"Datumsformat: <code>YYYY-MM-DD Stunden:Minuten:Sekunden<\\/code>\",\n    \"start-typing-a-page-title-to-see-a-list-of-suggestions\": \"Die automatische Vervollständigung zeigt entsprechende Vorschläge an.\",\n    \"field-used-when-ordering-content-by-position\": \"Dieses Feld wird verwendet, wenn die Inhalte nach Position angezeigt werden (Website).\",\n    \"write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page\": \"Name des Templates, wenn das Theme es erlaubt, verschiedene Templates einzelnen Inhalten zuzuordnen.\",\n    \"write-the-tags-separated-by-commas\": \"Schlagwörter durch Kommas getrennt eingeben.\",\n    \"apply-code-noindex-code-to-this-page\": \"Die Anweisung <code>noindex<\\/code> für diese Seite verwenden.\",\n    \"this-tells-search-engines-not-to-show-this-page-in-their-search-results\": \"Anweisung an Suchmaschinen, die Seite in Suchergebnissen nicht zu zeigen.\",\n    \"apply-code-nofollow-code-to-this-page\": \"Die Anweisung <code>nofollow<\\/code> für dieses Seite verwenden.\",\n    \"this-tells-search-engines-not-to-follow-links-on-this-page\": \"Anweisung an Suchmaschinen, Links auf der Seite nicht zu folgen.\",\n    \"apply-code-noarchive-code-to-this-page\": \"Die Anweisung <code>noarchive<\\/code> für diese Seite anwenden.\",\n    \"this-tells-search-engines-not-to-save-a-cached-copy-of-this-page\": \"Anweisung an Suchmaschinen, keine Kopie der Seite im Cache zu speichern.\",\n    \"uncategorized\": \"Nicht kategorisiert\",\n    \"done\": \"Bestätigen\",\n    \"delete-category\": \"Kategorie löschen\",\n    \"are-you-sure-you-want-to-delete-this-category?\": \"Bist du sicher, dass Du diese Kategorie löschen möchtest?\",\n    \"confirm-new-password\": \"Bestätige das neue Passwort\",\n    \"the-nickname-is-almost-used-in-the-themes-to-display-the-author-of-the-content\": \"Der Nickname wird als Name des Autors von Beiträgen angezeigt.\",\n    \"allow-unicode\": \"Unicode\",\n    \"allow-unicode-characters-in-the-url-and-some-part-of-the-system\": \"Unicode-Zeichen mit Umlauten usw. im URL und bei einigen Teilen des Systems verwenden.\",\n    \"variables-allowed\": \"Mögliche Platzhalter:\",\n    \"tag\": \"Tag\",\n    \"drag-and-drop-to-sort-the-plugins\": \"Die Reihenfolge der Plugings kann mit Drag and Drop geändert werden.\",\n    \"seo\": \"SEO\",\n    \"documentation\": \"Dokumentation\",\n    \"forum-support\": \"Support-Forum\",\n    \"chat-support\": \"Support-Chat\",\n    \"quick-links\": \"Quicklinks\",\n    \"leave-empty-for-autocomplete-by-bludit\": \"Ohne Eingabe wird der URL von Bludit erstellt.\",\n    \"choose-a-password-for-the-user-admin\": \"Gib ein Passwort für den Benutzer <code>admin<\\/code> ein\",\n    \"access-denied\": \"Zugriff verweigert\",\n    \"choose-images-to-upload\": \"Bilder auswählen und auf den Server laden\",\n    \"insert\": \"Einfügen\",\n    \"upload\": \"Upload\",\n    \"autosave\": \"Automatische Speicherung\",\n    \"the-content-is-saved-as-a-draft-to-publish-it\": \"Der Inhalt ist als Entwurf gespeichert. Um ihn zu veröffentlichen, klicke <b>Veröffentlichen<\\/b>, wenn du ihn du weiter daran arbeiten möchtest, klicke <b>Als Entwurf speichern<\\/b>.\",\n    \"site\": \"Website\",\n    \"first\": \"Anfang\",\n    \"last\": \"Ende\",\n    \"there-are-no-pages-at-this-moment\": \"Es gibt keine Seiten.\",\n    \"there-are-no-static-pages-at-this-moment\": \"Es gibt keine statischen Inhalte.\",\n    \"there-are-no-draft-pages-at-this-moment\": \"Es gibt keine Entwürfe.\",\n    \"good-morning\": \"Guten Morgen\",\n    \"good-afternoon\": \"Guten Nachmittag\",\n    \"good-evening\": \"Guten Abend\",\n    \"good-night\": \"Gute Nacht\",\n    \"hello\": \"Hallo\",\n    \"there-are-no-images-for-the-page\": \"Für diesen Inhalt sind keine Bilder vorhanden.\",\n    \"select-cover-image\": \"Wähle ein Hauptbild\",\n    \"this-plugin-depends-on-the-following-plugins\": \"Um dieses Plugin zu verwenden, braucht es auch folgendes Plugin:\",\n    \"no-pages-found\": \"Es wurden keine Seiten gefunden\",\n    \"system-updated\": \"Das System wurde aufdatiert\",\n    \"security\": \"Sicherheit\",\n    \"remove-cover-image\": \"Hauptbild entfernen\",\n    \"width\": \"Breite\",\n    \"height\": \"Höhe\",\n    \"quality\": \"Qualität\",\n    \"thumbnails\": \"Vorschaubilder\",\n    \"thumbnail\": \"Vorschaubild\",\n    \"thumbnail-width-in-pixels\": \"Breite der Vorschaubilder in Pixel (px).\",\n    \"thumbnail-height-in-pixels\": \"Höhe der Vorschaubilder in Pixel (px).\",\n    \"thumbnail-quality-in-percentage\": \"Qualität der Vorschaubilder in Prozent (%).\",\n    \"maximum-load-file-size-allowed:\": \"Maximal erlaubte Dateigröße:\",\n    \"file-type-is-not-supported\": \"Dateiformat wird nicht unterstützt. Erlaubte Dateiformate:\",\n    \"page-content\": \"Seiteninhalt\",\n    \"markdown-parser\": \"Markdown-Parser\",\n    \"site-logo\": \"Website-Logo\",\n    \"search\": \"Suche\",\n    \"search-plugins\": \"Plugins suchen\",\n    \"enabled-plugins\": \"Aktivierte Plugins\",\n    \"disabled-plugins\": \"Deaktivierte Plugins\",\n    \"remove-logo\": \"Logo entfernen\",\n    \"preview\": \"Vorschau\",\n    \"author-can-write-and-edit-their-own-content\": \"Autor: Kann Inhalte erstellen und seine eigenen bearbeiten. Mitarbeiter: Kann Inhalte erstellen und seine eigenen und die anderer bearbeiten.\",\n    \"custom-fields\": \"Benutzerdefinierte Felder\",\n    \"define-custom-fields-for-the-content\": \"Benutzerdefinierte Felder für Inhalte anlegen. Informationen darüber sind in der <a href='https:\\/\\/docs.bludit.com\\/en\\/content\\/custom-fields'>Dokumentation<\\/a> zu finden.\",\n    \"start-typing-to-see-a-list-of-suggestions\": \"Beginne mit dem Tippen für eine Liste mit Vorschlägen.\",\n    \"view\": \"Anschauen\",\n    \"insert-thumbnail\": \"Vorschau einfügen\",\n    \"insert-linked-thumbnail\": \"Verlinkte Vorschau einfügen\",\n    \"no-tags\": \"Keine Tags\",\n    \"no-categories\": \"Keine Kategorien\",\n    \"navigation\": \"Navigation\",\n    \"thumbnail-generation\": \"Vorschaubild-Erstellung\",\n    \"enable-disable-automatic-thumbnail-generation-on-image-upload\": \"Aktivieren oder Deaktivieren der automatischen Vorschaubild-Erstellung beim Hochladen von Bildern.\"\n}\n"
  },
  {
    "path": "bl-languages/en.json",
    "content": "{\n    \"language-data\": {\n        \"native\": \"English\",\n        \"english-name\": \"English\",\n        \"locale\": \"en, en_US, en_AU, en_CA, en_GB, en_IE, en_NZ\",\n        \"last-update\": \"2018-08-09\",\n        \"authors\": [\n            \"Diego @dignajar\",\n            \"Clickwork https:\\/\\/clickwork.ch\",\n            \"xm74\",\n            \"\"\n        ]\n    },\n    \"dates\": {\n        \"Mon\": \"Mon\",\n        \"Tue\": \"Tue\",\n        \"Wed\": \"Wed\",\n        \"Thu\": \"Thu\",\n        \"Fri\": \"Fri\",\n        \"Sat\": \"Sat\",\n        \"Sun\": \"Sun\",\n        \"Monday\": \"Monday\",\n        \"Tuesday\": \"Tuesday\",\n        \"Wednesday\": \"Wednesday\",\n        \"Thursday\": \"Thursday\",\n        \"Friday\": \"Friday\",\n        \"Saturday\": \"Saturday\",\n        \"Sunday\": \"Sunday\",\n        \"Jan\": \"Jan\",\n        \"Feb\": \"Feb\",\n        \"Mar\": \"Mar\",\n        \"Apr\": \"Apr\",\n        \"Jun\": \"Jun\",\n        \"Jul\": \"Jul\",\n        \"Aug\": \"Aug\",\n        \"Sep\": \"Sep\",\n        \"Oct\": \"Oct\",\n        \"Nov\": \"Nov\",\n        \"Dec\": \"Dec\",\n        \"January\": \"January\",\n        \"February\": \"February\",\n        \"March\": \"March\",\n        \"April\": \"April\",\n        \"May\": \"May\",\n        \"June\": \"June\",\n        \"July\": \"July\",\n        \"August\": \"August\",\n        \"September\": \"September\",\n        \"October\": \"October\",\n        \"November\": \"November\",\n        \"December\": \"December\"\n    },\n    \"dashboard\": \"Dashboard\",\n    \"manage-users\": \"Manage users\",\n    \"manage-categories\": \"Manage categories\",\n    \"general-settings\": \"General settings\",\n    \"advanced-settings\": \"Advanced settings\",\n    \"thanks-for-supporting-bludit\": \"Thanks for supporting Bludit\",\n    \"upgrade-to-bludit-pro\": \"Upgrade to Bludit PRO\",\n    \"language\": \"Language\",\n    \"plugin\": \"Plugin\",\n    \"plugins\": \"Plugins\",\n    \"developers\": \"Developers\",\n    \"themes\": \"Themes\",\n    \"about\": \"About\",\n    \"url\": \"URL\",\n    \"welcome\": \"Welcome\",\n    \"logout\": \"Log out\",\n    \"website\": \"Website\",\n    \"publish\": \"Publish\",\n    \"manage\": \"Manage\",\n    \"content\": \"Content\",\n    \"category\": \"Category\",\n    \"categories\": \"Categories\",\n    \"users\": \"Users\",\n    \"settings\": \"Settings\",\n    \"general\": \"General\",\n    \"advanced\": \"Advanced\",\n    \"new-content\": \"New content\",\n    \"manage-content\": \"Manage content\",\n    \"add-new-content\": \"Add new content\",\n    \"new-category\": \"New category\",\n    \"you-do-not-have-sufficient-permissions\": \"You do not have sufficient permissions\",\n    \"add-a-new-user\": \"Add a new user\",\n    \"url-associated-with-the-content\": \"URL associated with the content.\",\n    \"language-and-timezone\": \"Language and timezone\",\n    \"change-your-language-and-region-settings\": \"Change your language and region settings.\",\n    \"navigation\": \"Navigation\",\n    \"notifications\": \"Notifications\",\n    \"plugin-activated\": \"Plugin activated\",\n    \"plugin-deactivated\": \"Plugin deactivated\",\n    \"new-theme-configured\": \"New theme configured\",\n    \"settings-changes\": \"Settings changes\",\n    \"plugin-configured\": \"Plugin configured\",\n    \"welcome-to-bludit\": \"Welcome to Bludit\",\n    \"statistics\": \"Statistics\",\n    \"drafts\": \"Drafts\",\n    \"title\": \"Title\",\n    \"save\": \"Save\",\n    \"save-as-draft\": \"Save as draft\",\n    \"cancel\": \"Cancel\",\n    \"description\": \"Description\",\n    \"this-field-can-help-describe-the-content\": \"This field can help describe the content in a few words.\",\n    \"images\": \"Images\",\n    \"error\": \"Error\",\n    \"supported-image-file-types\": \"Supported image file types\",\n    \"cover-image\": \"Cover image\",\n    \"drag-and-drop-or-click-here\": \"Drag and drop or click here\",\n    \"there-are-no-images\": \"There are no images\",\n    \"upload-and-more-images\": \"Upload and more images\",\n    \"click-on-the-image-for-options\": \"Click on the image for options.\",\n    \"click-here-to-cancel\": \"Click here to cancel.\",\n    \"insert-image\": \"Insert image\",\n    \"set-as-cover-image\": \"Set as cover image\",\n    \"delete-image\": \"Delete image\",\n    \"tags\": \"Tags\",\n    \"add\": \"Add\",\n    \"status\": \"Status\",\n    \"published\": \"Published\",\n    \"draft\": \"Draft\",\n    \"empty-title\": \"Empty title\",\n    \"empty\": \"empty\",\n    \"date\": \"Date\",\n    \"external-cover-image\": \"External cover image\",\n    \"parent\": \"Parent\",\n    \"full-image-url\": \"Full image URL.\",\n    \"this-field-is-used-when-you-order-the-content-by-position\": \"This field is used when you order the content by position.\",\n    \"position\": \"Position\",\n    \"friendly-url\": \"Friendly URL\",\n    \"image-description\": \"Image description\",\n    \"add-a-new-category\": \"Add a new category\",\n    \"name\": \"Name\",\n    \"username\": \"Username\",\n    \"quick-search-pages-and-menu\": \"Quick search pages and menu\",\n    \"click-here-for-quick-search\": \"Click here for quick search\",\n    \"analytics\": \"Analytics\",\n    \"visits-today\": \"Visits Today\",\n    \"unique-visitors\": \"Unique Visitors\",\n    \"7-day-total\": \"7-Day Total\",\n    \"search-placeholder\": \"Search pages, content, and menu items...\",\n    \"no-results-found\": \"No results found\",\n    \"first-name\": \"First name\",\n    \"last-name\": \"Last name\",\n    \"to-schedule-the-content-select-the-date-and-time\": \"To schedule the content select the date and time, the status has to be set to \\\"Published\\\".\",\n    \"email\": \"Email\",\n    \"role\": \"Role\",\n    \"registered\": \"Registered\",\n    \"site-information\": \"Site information\",\n    \"site-title\": \"Site title\",\n    \"use-this-field-to-name-your-site\": \"Use this field to name your site.\",\n    \"site-slogan\": \"Site slogan\",\n    \"use-this-field-to-add-a-catchy-phrase\": \"Use this field to add a catchy phrase on your site.\",\n    \"site-description\": \"Site description\",\n    \"you-can-add-a-site-description-to-provide\": \"You can add a site description to provide a short bio or description of your site.\",\n    \"footer-text\": \"Footer text\",\n    \"you-can-add-a-small-text-on-the-bottom\": \"You can add some small text to the bottom of every page. eg: copyright, owner, dates, etc.\",\n    \"social-networks-links\": \"Social networks links\",\n    \"site-url\": \"Site URL\",\n    \"email-account-settings\": \"Email account settings\",\n    \"sender-email\": \"Sender email\",\n    \"emails-will-be-sent-from-this-address\": \"Emails will be sent from this address.\",\n    \"url-filters\": \"URL filters\",\n    \"select-your-sites-language\": \"Select your site's language.\",\n    \"timezone\": \"Timezone\",\n    \"select-a-timezone-for-a-correct\": \"Select a timezone for a correct date\\/time display on your site.\",\n    \"locale\": \"Locale\",\n    \"date-and-time-formats\": \"Date and time formats\",\n    \"date-format\": \"Date format\",\n    \"current-format\": \"Current format\",\n    \"version\": \"Version\",\n    \"author\": \"Author\",\n    \"activate\": \"Activate\",\n    \"deactivate\": \"Deactivate\",\n    \"edit-category\": \"Edit category\",\n    \"delete\": \"Delete\",\n    \"password\": \"Password\",\n    \"confirm-password\": \"Confirm Password\",\n    \"editor\": \"Editor\",\n    \"administrator\": \"Administrator\",\n    \"edit-user\": \"Edit user\",\n    \"edit-content\": \"Edit content\",\n    \"profile\": \"Profile\",\n    \"change-password\": \"Change password\",\n    \"enabled\": \"Enabled\",\n    \"disable-the-user\": \"Disable the user\",\n    \"profile-picture\": \"Profile picture\",\n    \"edit-or-delete-your-categories\": \"Edit or delete your categories\",\n    \"create-a-new-category-to-organize-your-content\": \"Create a new category to organize your content\",\n    \"confirm-delete-this-action-cannot-be-undone\": \"Confirm delete, this action cannot be undone.\",\n    \"do-you-want-to-disable-the-user\": \"Do you want to disable the user ?\",\n    \"new-password\": \"New password\",\n    \"you-can-change-this-field-when-save-the-current-changes\": \"You can change this field when you save the current changes.\",\n    \"items-per-page\": \"Items per page\",\n    \"invite-a-friend-to-collaborate-on-your-site\": \"Invite a friend to collaborate on your site\",\n    \"number-of-items-to-show-per-page\": \"Number of items to show per page, -1 means all items.\",\n    \"website-or-blog\": \"Website or Blog\",\n    \"order-content-by\": \"Order content by\",\n    \"edit-or-delete-content-from-your-site\": \"Edit or delete content from your site\",\n    \"order-the-content-by-date-to-build-a-blog\": \"Order the content by date to build a Blog or order the content by position to build a Website.\",\n    \"default-content-status\": \"Default content status\",\n    \"default-status-for-new-content\": \"Choose whether new content is created as Published or Draft by default.\",\n    \"page-not-found-content\": \"Hey! It looks like this page doesn't exist.\",\n    \"page-not-found\": \"Page not found\",\n    \"predefined-pages\": \"Predefined pages\",\n    \"returning-page-when-the-page-doesnt-exist\": \"Returning page when the page doesn't exist, by default returns a default message.\",\n    \"returning-page-for-the-main-page\": \"Returning page for the main page, by default, shows the latest content order by date or position.\",\n    \"full-url-of-your-site\": \"Full URL of your site. Complete with the protocol HTTP or HTTPS (only if you have enabled SSL on your server).\",\n    \"with-the-locales-you-can-set-the-regional-user-interface\": \"With the locales, you can set the regional user interface, such as the dates in your language. The locales need to be installed on your system.\",\n    \"bludit-installer\": \"Bludit Installer\",\n    \"choose-your-language\": \"Choose your language\",\n    \"next\": \"Next\",\n    \"complete-the-form-choose-a-password-for-the-username-admin\": \"Complete the form choose a password for the username <b>< admin ><\\/b>\",\n    \"show-password\": \"Show password\",\n    \"install\": \"Install\",\n    \"login\": \"Login\",\n    \"back-to-login-form\": \"Back to login form\",\n    \"get-login-access-code\": \"Get login access code\",\n    \"email-access-code\": \"Email access code\",\n    \"whats-next\": \"What's Next\",\n    \"username-or-password-incorrect\": \"Username or password incorrect\",\n    \"follow-bludit-on\": \"Follow Bludit on\",\n    \"this-is-a-brief-description-of-yourself-our-your-site\": \"This is a brief description of yourself or your site, to change this text go to the admin panel, settings, plugins, and configure the plugin \\\"about\\\".\",\n    \"new-version-available\": \"New version available\",\n    \"new-category-created\": \"New category created\",\n    \"category-deleted\": \"Category deleted\",\n    \"category-edited\": \"Category edited\",\n    \"new-user-created\": \"New user created\",\n    \"user-edited\": \"User edited\",\n    \"user-deleted\": \"User deleted\",\n    \"recommended-for-recovery-password-and-notifications\": \"Recommended for recovery password and notifications.\",\n    \"authentication-token\": \"Authentication Token\",\n    \"token\": \"Token\",\n    \"current-status\": \"Current status\",\n    \"upload-image\": \"Upload image\",\n    \"the-changes-have-been-saved\": \"The changes have been saved\",\n    \"label\": \"Label\",\n    \"links\": \"Links\",\n    \"this-title-is-almost-always-used-in-the-sidebar-of-the-site\": \"This title is almost always used in the sidebar of the site.\",\n    \"password-must-be-at-least-6-characters-long\": \"Password must be at least 6 characters long\",\n    \"ip-address-has-been-blocked\": \"IP address has been blocked\",\n    \"try-again-in-a-few-minutes\": \"Try again in a few minutes\",\n    \"content-published-from-scheduler\": \"Content published from scheduler\",\n    \"blog\": \"Blog\",\n    \"complete-all-fields\": \"Complete all fields\",\n    \"static\": \"Static\",\n    \"about-your-site-or-yourself\": \"About your site or yourself\",\n    \"homepage\": \"Homepage\",\n    \"disabled\": \"Disabled\",\n    \"to-enable-the-user-you-must-set-a-new-password\": \"To enable the user you must set a new password.\",\n    \"delete-the-user-and-associate-his-content-to-admin-user\": \"Delete the user and associate their content to the admin user\",\n    \"delete-the-user-and-all-his-content\": \"Delete the user and all of their content\",\n    \"user-disabled\": \"User disabled\",\n    \"user-password-changed\": \"User password changed\",\n    \"the-password-and-confirmation-password-do-not-match\": \"The password and confirmation password do not match\",\n    \"scheduled-content\": \"Scheduled content\",\n    \"there-are-no-scheduled-content\": \"There are no scheduled content.\",\n    \"new-content-created\": \"New content created\",\n    \"content-edited\": \"Content edited\",\n    \"content-deleted\": \"Content deleted\",\n    \"undefined\": \"Undefined\",\n    \"create-new-content-for-your-site\": \"Create new content for your site\",\n    \"order-items-by\": \"Order items by\",\n    \"all-content\": \"All content\",\n    \"dynamic\": \"Dynamic\",\n    \"type\": \"Type\",\n    \"draft-content\": \"Draft content\",\n    \"post\": \"Post\",\n    \"default\": \"Default\",\n    \"latest-content\": \"Latest content\",\n    \"default-message\": \"Default message\",\n    \"no-parent\": \"No parent\",\n    \"have-you-seen-my-ball\": \"Have you seen my ball?\",\n    \"pagebreak\": \"Page break\",\n    \"pages\": \"Pages\",\n    \"this-plugin-may-not-be-supported-by-this-version-of-bludit\": \"This plugin may not be supported by this version of Bludit\",\n    \"previous\": \"Previous\",\n    \"previous-page\": \"Previous page\",\n    \"next-page\": \"Next page\",\n    \"scheduled\": \"Scheduled\",\n    \"this-token-is-similar-to-a-password-it-should-not-be-shared\": \"This token is similar to a password, it should not be shared.\",\n    \"congratulations-you-have-successfully-installed-your-bludit\": \"Congratulations you have successfully installed your Bludit.\",\n    \"this-theme-may-not-be-supported-by-this-version-of-bludit\": \"This theme may not be supported by this version of Bludit\",\n    \"read-more\": \"Read more\",\n    \"remember-me\": \"Remember me\",\n    \"plugins-position\": \"Plugin position\",\n    \"plugins-sorted\": \"Plugins sorted\",\n    \"plugins-position-changed\": \"Plugin position changed\",\n    \"drag-and-drop-to-set-the-position-of-the-plugin\": \"Drag and Drop to set the position of the plugins\",\n    \"change-the-position-of-the-plugins\": \"Change the position of the plugins\",\n    \"reading-time\": \"Reading time\",\n    \"minutes\": \"minutes\",\n    \"minute\": \"minute\",\n    \"example-page-1-slug\": \"create-your-own-content\",\n    \"example-page-1-title\": \"Create your own content\",\n    \"example-page-1-content\": \"Start writing your own content or edit the current to fit your needs. To create, edit or remove content you need to login to the <a href=\\\".\\/admin\\/\\\">admin panel<\\/a> with the username `admin` and the password you set in the installation process.\",\n    \"example-page-2-slug\": \"set-up-your-new-site\",\n    \"example-page-2-title\": \"Set up your new site\",\n    \"example-page-2-content\": \"Update the settings of your site from the <a href=\\\".\\/admin\\/\\\">admin panel<\\/a>, you can change the title, description and the social networks from <a href=\\\".\\/admin\\/settings\\\">Settings > General<\\/a>.\",\n    \"example-page-3-slug\": \"follow-bludit\",\n    \"example-page-3-title\": \"Follow Bludit\",\n    \"example-page-3-content\": \"Get information about news, new releases, new themes or new plugins on our social networks <a href=\\\"https:\\/\\/www.facebook.com\\/bluditcms\\/\\\" target=\\\"_blank\\\">Facebook<\\/a>, <a href=\\\"https:\\/\\/www.twitter.com\\/bludit\\/\\\" target=\\\"_blank\\\">Twitter<\\/a> and <a href=\\\"https:\\/\\/www.youtube.com\\/c\\/Bluditcms\\\" target=\\\"_blank\\\">YouTube<\\/a> or visit our <a href=\\\"https:\\/\\/blog.bludit.com\\\" target=\\\"_blank\\\">Blog<\\/a>.\",\n    \"example-page-4-slug\": \"about\",\n    \"example-page-4-title\": \"About\",\n    \"example-page-4-content\": \"Your About page is typically one of the most visited pages on your site, need to be simple with a few key things, such as your name, who are you, how can contact you, a small story, etc.\",\n    \"the-extension-zip-is-not-installed\": \"The extension zip is not installed, to use this plugin you need to install the extension.\",\n    \"there-are-no-sticky-pages-at-this-moment\": \"There are no sticky pages at this moment.\",\n    \"there-are-no-scheduled-pages-at-this-moment\": \"There are no scheduled pages at this moment.\",\n    \"update\": \"Update\",\n    \"template\": \"Template\",\n    \"nickname\": \"Nickname\",\n    \"disable-user\": \"Disable user\",\n    \"delete-user-and-keep-content\": \"Delete user and keep content\",\n    \"delete-user-and-delete-content\": \"Delete user and delete content (Warning)\",\n    \"social-networks\": \"Social Networks\",\n    \"interval\": \"Interval\",\n    \"number-in-minutes-for-every-execution-of-autosave\": \"Number in minutes for every execution of autosave.\",\n    \"extreme-friendly-url\": \"Extreme friendly URL\",\n    \"title-formats\": \"Title formats\",\n    \"delete-content\": \"Delete content\",\n    \"are-you-sure-you-want-to-delete-this-page\": \"Are you sure you want to delete this page?\",\n    \"sticky\": \"Sticky\",\n    \"actions\": \"Actions\",\n    \"edit\": \"Edit\",\n    \"options\": \"Options\",\n    \"enter-title\": \"Enter title\",\n    \"media-manager\": \"Media Manager\",\n    \"set-a-cover-image-from-external-url,-such-as-a-cdn-or-some-server-dedicated-for-images\": \"Set a cover image from an external URL, such as a CDN or some server dedicated for images.\",\n    \"user\": \"User\",\n    \"date-format-format\": \"Date format: <code>YYYY-MM-DD Hours:Minutes:Seconds<\\/code>\",\n    \"start-typing-a-page-title-to-see-a-list-of-suggestions\": \"Start typing a page title to see a list of suggestions.\",\n    \"field-used-when-ordering-content-by-position\": \"Field used when ordering content by position.\",\n    \"write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page\": \"Write a template name to filter the page in the theme and change the style of the page.\",\n    \"write-the-tags-separated-by-commas\": \"Write the tags separated by commas.\",\n    \"apply-code-noindex-code-to-this-page\": \"Apply <code>noindex<\\/code> to this page.\",\n    \"this-tells-search-engines-not-to-show-this-page-in-their-search-results\": \"This tells search engines not to show this page in their search results.\",\n    \"apply-code-nofollow-code-to-this-page\": \"Apply <code>nofollow<\\/code> to this page.\",\n    \"this-tells-search-engines-not-to-follow-links-on-this-page\": \"This tells search engines not to follow links on this page.\",\n    \"apply-code-noarchive-code-to-this-page\": \"Apply <code>noarchive<\\/code> to this page.\",\n    \"this-tells-search-engines-not-to-save-a-cached-copy-of-this-page\": \"This tells search engines not to save a cached copy of this page.\",\n    \"uncategorized\": \"Uncategorized\",\n    \"done\": \"Done\",\n    \"delete-category\": \"Delete category\",\n    \"are-you-sure-you-want-to-delete-this-category?\": \"Are you sure you want to delete this category?\",\n    \"confirm-new-password\": \"Confirm new password\",\n    \"the-nickname-is-almost-used-in-the-themes-to-display-the-author-of-the-content\": \"The nickname is almost used in the themes to display the author of the content\",\n    \"allow-unicode\": \"Allow Unicode\",\n    \"allow-unicode-characters-in-the-url-and-some-part-of-the-system\": \"Allow Unicode characters in the URL and some parts of the system.\",\n    \"variables-allowed\": \"Variables allowed\",\n    \"tag\": \"Tag\",\n    \"drag-and-drop-to-sort-the-plugins\": \"Drag and Drop to sort the plugins.\",\n    \"seo\": \"SEO\",\n    \"documentation\": \"Documentation\",\n    \"forum-support\": \"Forum support\",\n    \"chat-support\": \"Chat support\",\n    \"quick-links\": \"Quick links\",\n    \"leave-empty-for-autocomplete-by-bludit\": \"Leave empty for autocomplete by Bludit.\",\n    \"choose-a-password-for-the-user-admin\": \"Choose a password for the user <code>admin<\\/code>\",\n    \"access-denied\": \"Access denied\",\n    \"choose-images-to-upload\": \"Choose images to upload\",\n    \"insert\": \"Insert\",\n    \"upload\": \"Upload\",\n    \"autosave\": \"Autosave\",\n    \"the-content-is-saved-as-a-draft-to-publish-it\": \"The content is saved as a draft. To publish it click on the button <b>Publish<\\/b> or if you still working on it click on <b>Save as draft<\\/b>.\",\n    \"site\": \"Site\",\n    \"first\": \"First\",\n    \"last\": \"Last\",\n    \"there-are-no-pages-at-this-moment\": \"There are no pages at this moment.\",\n    \"there-are-no-static-pages-at-this-moment\": \"There are no static pages at this moment.\",\n    \"there-are-no-draft-pages-at-this-moment\": \"There are no draft pages at this moment.\",\n    \"good-morning\": \"Good morning\",\n    \"good-afternoon\": \"Good afternoon\",\n    \"good-evening\": \"Good evening\",\n    \"good-night\": \"Good night\",\n    \"hello\": \"Hello\",\n    \"there-are-no-images-for-the-page\": \"There are no images for the page.\",\n    \"select-cover-image\": \"Select cover image\",\n    \"this-plugin-depends-on-the-following-plugins\": \"This plugin depends on the following plugins.\",\n    \"no-pages-found\": \"No pages found.\",\n    \"system-updated\": \"System updated.\",\n    \"security\": \"Security\",\n    \"remove-cover-image\": \"Remove cover image\",\n    \"width\": \"Width\",\n    \"height\": \"Height\",\n    \"quality\": \"Quality\",\n    \"thumbnails\": \"Thumbnails\",\n    \"thumbnail\": \"Thumbnail\",\n    \"thumbnail-width-in-pixels\": \"Thumbnail width in pixels (px).\",\n    \"thumbnail-height-in-pixels\": \"Thumbnail height in pixels (px).\",\n    \"thumbnail-quality-in-percentage\": \"Thumbnail quality in percentage (%).\",\n    \"maximum-load-file-size-allowed:\": \"Maximum load file size allowed:\",\n    \"file-type-is-not-supported\": \"File type is not supported. Allowed types:\",\n    \"page-content\": \"Page content\",\n    \"markdown-parser\": \"Markdown parser\",\n    \"site-logo\": \"Site logo\",\n    \"search\": \"Search\",\n    \"search-plugins\": \"Search plugins\",\n    \"enabled-plugins\": \"Enabled plugins\",\n    \"disabled-plugins\": \"Disabled plugins\",\n    \"remove-logo\": \"Remove logo\",\n    \"preview\": \"Preview\",\n    \"author-can-write-and-edit-their-own-content\": \"Author: Can write and edit their own content. Editor: Can write and edit the content of others.\",\n    \"custom-fields\": \"Custom fields\",\n    \"define-custom-fields-for-the-content\": \"Define custom fields for the content. Learn more about custom fields in the <a href='https:\\/\\/docs.bludit.com\\/en\\/content\\/custom-fields'>documentation<\\/a>.\",\n    \"start-typing-to-see-a-list-of-suggestions\": \"Start typing to see a list of suggestions.\",\n    \"view\": \"View\",\n    \"insert-thumbnail\": \"Insert thumbnail\",\n    \"insert-linked-thumbnail\": \"Insert linked thumbnail\",\n    \"no-categories\": \"No categories\",\n    \"no-tags\": \"No tags\",\n    \"thumbnail-generation\": \"Thumbnail generation\",\n    \"enable-disable-automatic-thumbnail-generation-on-image-upload\": \"Enable or disable automatic thumbnail generation on image upload.\"\n}\n"
  },
  {
    "path": "bl-languages/es.json",
    "content": "{\n    \"language-data\": {\n        \"native\": \"Español\",\n        \"english-name\": \"Spanish\",\n        \"locale\": \"es, es_ES, es_AR, es_CL, es_CO, es_MX, es_PE, es_VE\",\n        \"last-update\": \"2018-08-09\",\n        \"authors\": [\n            \"Diego @dignajar\",\n            \"Clickwork https://clickwork.ch\",\n            \"xm74\",\n            \"\"\n        ]\n    },\n    \"dates\": {\n        \"Mon\": \"Lun\",\n        \"Tue\": \"Mar\",\n        \"Wed\": \"Mié\",\n        \"Thu\": \"Jue\",\n        \"Fri\": \"Vie\",\n        \"Sat\": \"Sáb\",\n        \"Sun\": \"Dom\",\n        \"Monday\": \"Lunes\",\n        \"Tuesday\": \"Martes\",\n        \"Wednesday\": \"Miércoles\",\n        \"Thursday\": \"Jueves\",\n        \"Friday\": \"Viernes\",\n        \"Saturday\": \"Sábado\",\n        \"Sunday\": \"Domingo\",\n        \"Jan\": \"Ene\",\n        \"Feb\": \"Feb\",\n        \"Mar\": \"Mar\",\n        \"Apr\": \"Abr\",\n        \"Jun\": \"Jun\",\n        \"Jul\": \"Jul\",\n        \"Aug\": \"Ago\",\n        \"Sep\": \"Sep\",\n        \"Oct\": \"Oct\",\n        \"Nov\": \"Nov\",\n        \"Dec\": \"Dic\",\n        \"January\": \"Enero\",\n        \"February\": \"Febrero\",\n        \"March\": \"Marzo\",\n        \"April\": \"Abril\",\n        \"May\": \"Mayo\",\n        \"June\": \"Junio\",\n        \"July\": \"Julio\",\n        \"August\": \"Agosto\",\n        \"September\": \"Septiembre\",\n        \"October\": \"Octubre\",\n        \"November\": \"Noviembre\",\n        \"December\": \"Diciembre\"\n    },\n    \"dashboard\": \"Panel de control\",\n    \"manage-users\": \"Gestionar usuarios\",\n    \"manage-categories\": \"Gestionar categorías\",\n    \"general-settings\": \"Configuración general\",\n    \"advanced-settings\": \"Configuración avanzada\",\n    \"thanks-for-supporting-bludit\": \"Gracias por apoyar Bludit\",\n    \"upgrade-to-bludit-pro\": \"Actualizar a Bludit PRO\",\n    \"language\": \"Idioma\",\n    \"plugin\": \"Plugin\",\n    \"plugins\": \"Plugins\",\n    \"developers\": \"Desarrolladores\",\n    \"themes\": \"Temas\",\n    \"about\": \"Acerca de\",\n    \"url\": \"URL\",\n    \"welcome\": \"Bienvenido\",\n    \"logout\": \"Cerrar sesión\",\n    \"website\": \"Sitio web\",\n    \"publish\": \"Publicar\",\n    \"manage\": \"Gestionar\",\n    \"content\": \"Contenido\",\n    \"category\": \"Categoría\",\n    \"categories\": \"Categorías\",\n    \"users\": \"Usuarios\",\n    \"settings\": \"Configuración\",\n    \"general\": \"General\",\n    \"advanced\": \"Avanzado\",\n    \"new-content\": \"Nuevo contenido\",\n    \"manage-content\": \"Gestionar contenido\",\n    \"add-new-content\": \"Agregar nuevo contenido\",\n    \"new-category\": \"Nueva categoría\",\n    \"you-do-not-have-sufficient-permissions\": \"No tienes permisos suficientes\",\n    \"add-a-new-user\": \"Agregar un nuevo usuario\",\n    \"url-associated-with-the-content\": \"URL asociada con el contenido.\",\n    \"language-and-timezone\": \"Idioma y zona horaria\",\n    \"change-your-language-and-region-settings\": \"Cambia tu idioma y configuración regional.\",\n    \"notifications\": \"Notificaciones\",\n    \"plugin-activated\": \"Plugin activado\",\n    \"plugin-deactivated\": \"Plugin desactivado\",\n    \"new-theme-configured\": \"Nuevo tema configurado\",\n    \"settings-changes\": \"Cambios de configuración\",\n    \"plugin-configured\": \"Plugin configurado\",\n    \"welcome-to-bludit\": \"Bienvenido a Bludit\",\n    \"statistics\": \"Estadísticas\",\n    \"drafts\": \"Borradores\",\n    \"title\": \"Título\",\n    \"save\": \"Guardar\",\n    \"save-as-draft\": \"Guardar como borrador\",\n    \"cancel\": \"Cancelar\",\n    \"description\": \"Descripción\",\n    \"this-field-can-help-describe-the-content\": \"Este campo puede ayudar a describir el contenido en pocas palabras.\",\n    \"images\": \"Imágenes\",\n    \"error\": \"Error\",\n    \"supported-image-file-types\": \"Tipos de archivo de imagen compatibles\",\n    \"cover-image\": \"Imagen de portada\",\n    \"drag-and-drop-or-click-here\": \"Arrastra y suelta o haz clic aquí\",\n    \"there-are-no-images\": \"No hay imágenes\",\n    \"upload-and-more-images\": \"Subir y más imágenes\",\n    \"click-on-the-image-for-options\": \"Haz clic en la imagen para ver opciones.\",\n    \"click-here-to-cancel\": \"Haz clic aquí para cancelar.\",\n    \"insert-image\": \"Insertar imagen\",\n    \"set-as-cover-image\": \"Establecer como imagen de portada\",\n    \"delete-image\": \"Eliminar imagen\",\n    \"tags\": \"Etiquetas\",\n    \"add\": \"Agregar\",\n    \"status\": \"Estado\",\n    \"published\": \"Publicado\",\n    \"draft\": \"Borrador\",\n    \"empty-title\": \"Título vacío\",\n    \"empty\": \"vacío\",\n    \"date\": \"Fecha\",\n    \"external-cover-image\": \"Imagen de portada externa\",\n    \"parent\": \"Padre\",\n    \"full-image-url\": \"URL completa de la imagen.\",\n    \"this-field-is-used-when-you-order-the-content-by-position\": \"Este campo se usa cuando ordenas el contenido por posición.\",\n    \"position\": \"Posición\",\n    \"friendly-url\": \"URL amigable\",\n    \"image-description\": \"Descripción de la imagen\",\n    \"add-a-new-category\": \"Agregar una nueva categoría\",\n    \"name\": \"Nombre\",\n    \"username\": \"Nombre de usuario\",\n    \"quick-search-pages-and-menu\": \"Búsqueda rápida de páginas y menú\",\n    \"click-here-for-quick-search\": \"Click here for quick search\",\n    \"analytics\": \"Analíticas\",\n    \"visits-today\": \"Visitas hoy\",\n    \"unique-visitors\": \"Visitantes únicos\",\n    \"search-placeholder\": \"Buscar páginas, contenido y elementos del menú...\",\n    \"no-results-found\": \"No se encontraron resultados\",\n    \"first-name\": \"Nombre\",\n    \"last-name\": \"Apellido\",\n    \"to-schedule-the-content-select-the-date-and-time\": \"Para programar el contenido selecciona la fecha y hora, el estado debe estar establecido en \\\"Publicado\\\".\",\n    \"email\": \"Correo electrónico\",\n    \"role\": \"Rol\",\n    \"registered\": \"Registrado\",\n    \"site-information\": \"Información del sitio\",\n    \"site-title\": \"Título del sitio\",\n    \"use-this-field-to-name-your-site\": \"Usa este campo para nombrar tu sitio.\",\n    \"site-slogan\": \"Eslogan del sitio\",\n    \"use-this-field-to-add-a-catchy-phrase\": \"Usa este campo para agregar una frase atractiva a tu sitio.\",\n    \"site-description\": \"Descripción del sitio\",\n    \"you-can-add-a-site-description-to-provide\": \"Puedes agregar una descripción del sitio para proporcionar una breve biografía o descripción de tu sitio.\",\n    \"footer-text\": \"Texto del pie de página\",\n    \"you-can-add-a-small-text-on-the-bottom\": \"Puedes agregar un pequeño texto en la parte inferior de cada página. ej: copyright, propietario, fechas, etc.\",\n    \"social-networks-links\": \"Enlaces de redes sociales\",\n    \"site-url\": \"URL del sitio\",\n    \"email-account-settings\": \"Configuración de cuenta de correo\",\n    \"sender-email\": \"Correo del remitente\",\n    \"emails-will-be-sent-from-this-address\": \"Los correos se enviarán desde esta dirección.\",\n    \"url-filters\": \"Filtros de URL\",\n    \"select-your-sites-language\": \"Selecciona el idioma de tu sitio.\",\n    \"timezone\": \"Zona horaria\",\n    \"select-a-timezone-for-a-correct\": \"Selecciona una zona horaria para mostrar correctamente fecha/hora en tu sitio.\",\n    \"locale\": \"Configuración regional\",\n    \"date-and-time-formats\": \"Formatos de fecha y hora\",\n    \"date-format\": \"Formato de fecha\",\n    \"current-format\": \"Formato actual\",\n    \"version\": \"Versión\",\n    \"author\": \"Autor\",\n    \"activate\": \"Activar\",\n    \"deactivate\": \"Desactivar\",\n    \"edit-category\": \"Editar categoría\",\n    \"delete\": \"Eliminar\",\n    \"password\": \"Contraseña\",\n    \"confirm-password\": \"Confirmar contraseña\",\n    \"editor\": \"Editor\",\n    \"administrator\": \"Administrador\",\n    \"edit-user\": \"Editar usuario\",\n    \"edit-content\": \"Editar contenido\",\n    \"profile\": \"Perfil\",\n    \"change-password\": \"Cambiar contraseña\",\n    \"enabled\": \"Habilitado\",\n    \"disable-the-user\": \"Deshabilitar el usuario\",\n    \"profile-picture\": \"Foto de perfil\",\n    \"edit-or-delete-your-categories\": \"Edita o elimina tus categorías\",\n    \"create-a-new-category-to-organize-your-content\": \"Crea una nueva categoría para organizar tu contenido\",\n    \"confirm-delete-this-action-cannot-be-undone\": \"Confirmar eliminación, esta acción no se puede deshacer.\",\n    \"do-you-want-to-disable-the-user\": \"¿Quieres deshabilitar el usuario?\",\n    \"new-password\": \"Nueva contraseña\",\n    \"you-can-change-this-field-when-save-the-current-changes\": \"Puedes cambiar este campo cuando guardes los cambios actuales.\",\n    \"items-per-page\": \"Elementos por página\",\n    \"invite-a-friend-to-collaborate-on-your-site\": \"Invita a un amigo a colaborar en tu sitio\",\n    \"number-of-items-to-show-per-page\": \"Número de elementos a mostrar por página, -1 significa todos los elementos.\",\n    \"website-or-blog\": \"Sitio web o Blog\",\n    \"order-content-by\": \"Ordenar contenido por\",\n    \"edit-or-delete-content-from-your-site\": \"Edita o elimina contenido de tu sitio\",\n    \"order-the-content-by-date-to-build-a-blog\": \"Ordena el contenido por fecha para crear un Blog u ordena el contenido por posición para crear un Sitio web.\",\n    \"default-content-status\": \"Estado predeterminado del contenido\",\n    \"default-status-for-new-content\": \"Elige si el nuevo contenido se crea como Publicado o Borrador por defecto.\",\n    \"page-not-found-content\": \"¡Oye! Parece que esta página no existe.\",\n    \"page-not-found\": \"Página no encontrada\",\n    \"predefined-pages\": \"Páginas predefinidas\",\n    \"returning-page-when-the-page-doesnt-exist\": \"Página de retorno cuando la página no existe, por defecto devuelve un mensaje predeterminado.\",\n    \"returning-page-for-the-main-page\": \"Página de retorno para la página principal, por defecto, muestra el último contenido ordenado por fecha o posición.\",\n    \"full-url-of-your-site\": \"URL completa de tu sitio. Completa con el protocolo HTTP o HTTPS (solo si tienes SSL habilitado en tu servidor).\",\n    \"with-the-locales-you-can-set-the-regional-user-interface\": \"Con la configuración regional, puedes establecer la interfaz de usuario regional, como las fechas en tu idioma. Las configuraciones regionales deben estar instaladas en tu sistema.\",\n    \"bludit-installer\": \"Instalador de Bludit\",\n    \"choose-your-language\": \"Elige tu idioma\",\n    \"next\": \"Siguiente\",\n    \"complete-the-form-choose-a-password-for-the-username-admin\": \"Completa el formulario elige una contraseña para el usuario <b>admin</b>\",\n    \"show-password\": \"Mostrar contraseña\",\n    \"install\": \"Instalar\",\n    \"login\": \"Iniciar sesión\",\n    \"back-to-login-form\": \"Volver al formulario de inicio de sesión\",\n    \"get-login-access-code\": \"Obtener código de acceso de inicio de sesión\",\n    \"email-access-code\": \"Código de acceso por correo\",\n    \"whats-next\": \"¿Qué sigue?\",\n    \"username-or-password-incorrect\": \"Nombre de usuario o contraseña incorrectos\",\n    \"follow-bludit-on\": \"Sigue a Bludit en\",\n    \"this-is-a-brief-description-of-yourself-our-your-site\": \"Esta es una breve descripción de ti mismo o tu sitio, para cambiar este texto ve al panel de administración, configuración, plugins, y configura el plugin \\\"acerca de\\\".\",\n    \"new-version-available\": \"Nueva versión disponible\",\n    \"new-category-created\": \"Nueva categoría creada\",\n    \"category-deleted\": \"Categoría eliminada\",\n    \"category-edited\": \"Categoría editada\",\n    \"new-user-created\": \"Nuevo usuario creado\",\n    \"user-edited\": \"Usuario editado\",\n    \"user-deleted\": \"Usuario eliminado\",\n    \"recommended-for-recovery-password-and-notifications\": \"Recomendado para recuperación de contraseña y notificaciones.\",\n    \"authentication-token\": \"Token de autenticación\",\n    \"token\": \"Token\",\n    \"current-status\": \"Estado actual\",\n    \"upload-image\": \"Subir imagen\",\n    \"the-changes-have-been-saved\": \"Los cambios han sido guardados\",\n    \"label\": \"Etiqueta\",\n    \"links\": \"Enlaces\",\n    \"this-title-is-almost-always-used-in-the-sidebar-of-the-site\": \"Este título casi siempre se usa en la barra lateral del sitio.\",\n    \"password-must-be-at-least-6-characters-long\": \"La contraseña debe tener al menos 6 caracteres\",\n    \"ip-address-has-been-blocked\": \"La dirección IP ha sido bloqueada\",\n    \"try-again-in-a-few-minutes\": \"Inténtalo de nuevo en unos minutos\",\n    \"content-published-from-scheduler\": \"Contenido publicado desde el programador\",\n    \"blog\": \"Blog\",\n    \"complete-all-fields\": \"Completa todos los campos\",\n    \"static\": \"Estático\",\n    \"about-your-site-or-yourself\": \"Acerca de tu sitio o de ti mismo\",\n    \"homepage\": \"Página principal\",\n    \"disabled\": \"Deshabilitado\",\n    \"to-enable-the-user-you-must-set-a-new-password\": \"Para habilitar el usuario debes establecer una nueva contraseña.\",\n    \"delete-the-user-and-associate-his-content-to-admin-user\": \"Eliminar el usuario y asociar su contenido al usuario administrador\",\n    \"delete-the-user-and-all-his-content\": \"Eliminar el usuario y todo su contenido\",\n    \"user-disabled\": \"Usuario deshabilitado\",\n    \"user-password-changed\": \"Contraseña de usuario cambiada\",\n    \"the-password-and-confirmation-password-do-not-match\": \"La contraseña y la confirmación de contraseña no coinciden\",\n    \"scheduled-content\": \"Contenido programado\",\n    \"there-are-no-scheduled-content\": \"No hay contenido programado.\",\n    \"new-content-created\": \"Nuevo contenido creado\",\n    \"content-edited\": \"Contenido editado\",\n    \"content-deleted\": \"Contenido eliminado\",\n    \"undefined\": \"Indefinido\",\n    \"create-new-content-for-your-site\": \"Crea nuevo contenido para tu sitio\",\n    \"order-items-by\": \"Ordenar elementos por\",\n    \"all-content\": \"Todo el contenido\",\n    \"dynamic\": \"Dinámico\",\n    \"type\": \"Tipo\",\n    \"draft-content\": \"Contenido borrador\",\n    \"post\": \"Entrada\",\n    \"default\": \"Predeterminado\",\n    \"latest-content\": \"Último contenido\",\n    \"default-message\": \"Mensaje predeterminado\",\n    \"no-parent\": \"Sin padre\",\n    \"have-you-seen-my-ball\": \"¿Has visto mi pelota?\",\n    \"pagebreak\": \"Salto de página\",\n    \"pages\": \"Páginas\",\n    \"this-plugin-may-not-be-supported-by-this-version-of-bludit\": \"Este plugin puede no ser compatible con esta versión de Bludit\",\n    \"previous\": \"Anterior\",\n    \"previous-page\": \"Página anterior\",\n    \"next-page\": \"Página siguiente\",\n    \"scheduled\": \"Programado\",\n    \"this-token-is-similar-to-a-password-it-should-not-be-shared\": \"Este token es similar a una contraseña, no debe ser compartido.\",\n    \"congratulations-you-have-successfully-installed-your-bludit\": \"Felicitaciones has instalado exitosamente tu Bludit.\",\n    \"this-theme-may-not-be-supported-by-this-version-of-bludit\": \"Este tema puede no ser compatible con esta versión de Bludit\",\n    \"read-more\": \"Leer más\",\n    \"remember-me\": \"Recordarme\",\n    \"plugins-position\": \"Posición de plugins\",\n    \"plugins-sorted\": \"Plugins ordenados\",\n    \"plugins-position-changed\": \"Posición de plugin cambiada\",\n    \"drag-and-drop-to-set-the-position-of-the-plugin\": \"Arrastra y suelta para establecer la posición de los plugins\",\n    \"change-the-position-of-the-plugins\": \"Cambiar la posición de los plugins\",\n    \"reading-time\": \"Tiempo de lectura\",\n    \"minutes\": \"minutos\",\n    \"minute\": \"minuto\",\n    \"example-page-1-slug\": \"crea-tu-propio-contenido\",\n    \"example-page-1-title\": \"Crea tu propio contenido\",\n    \"example-page-1-content\": \"Comienza a escribir tu propio contenido o edita el actual para satisfacer tus necesidades. Para crear, editar o eliminar contenido necesitas iniciar sesión en el <a href=\\\"./admin/\\\">panel de administración</a> con el nombre de usuario `admin` y la contraseña que estableciste en el proceso de instalación.\",\n    \"example-page-2-slug\": \"configura-tu-nuevo-sitio\",\n    \"example-page-2-title\": \"Configura tu nuevo sitio\",\n    \"example-page-2-content\": \"Actualiza la configuración de tu sitio desde el <a href=\\\"./admin/\\\">panel de administración</a>, puedes cambiar el título, descripción y las redes sociales desde <a href=\\\"./admin/settings\\\">Configuración > General</a>.\",\n    \"example-page-3-slug\": \"sigue-bludit\",\n    \"example-page-3-title\": \"Sigue Bludit\",\n    \"example-page-3-content\": \"Obtén información sobre noticias, nuevos lanzamientos, nuevos temas o nuevos plugins en nuestras redes sociales <a href=\\\"https://www.facebook.com/bluditcms/\\\" target=\\\"_blank\\\">Facebook</a>, <a href=\\\"https://www.twitter.com/bludit/\\\" target=\\\"_blank\\\">Twitter</a> y <a href=\\\"https://www.youtube.com/c/Bluditcms\\\" target=\\\"_blank\\\">YouTube</a> o visita nuestro <a href=\\\"https://blog.bludit.com\\\" target=\\\"_blank\\\">Blog</a>.\",\n    \"example-page-4-slug\": \"acerca-de\",\n    \"example-page-4-title\": \"Acerca de\",\n    \"example-page-4-content\": \"Tu página Acerca de es típicamente una de las páginas más visitadas en tu sitio, necesita ser simple con algunas cosas clave, como tu nombre, quién eres, cómo contactarte, una pequeña historia, etc.\",\n    \"the-extension-zip-is-not-installed\": \"La extensión zip no está instalada, para usar este plugin necesitas instalar la extensión.\",\n    \"there-are-no-sticky-pages-at-this-moment\": \"No hay páginas fijas en este momento.\",\n    \"there-are-no-scheduled-pages-at-this-moment\": \"No hay páginas programadas en este momento.\",\n    \"update\": \"Actualizar\",\n    \"template\": \"Plantilla\",\n    \"nickname\": \"Apodo\",\n    \"disable-user\": \"Deshabilitar usuario\",\n    \"delete-user-and-keep-content\": \"Eliminar usuario y mantener contenido\",\n    \"delete-user-and-delete-content\": \"Eliminar usuario y eliminar contenido (Advertencia)\",\n    \"social-networks\": \"Redes sociales\",\n    \"interval\": \"Intervalo\",\n    \"number-in-minutes-for-every-execution-of-autosave\": \"Número en minutos para cada ejecución del autoguardado.\",\n    \"extreme-friendly-url\": \"URL extremadamente amigable\",\n    \"title-formats\": \"Formatos de título\",\n    \"delete-content\": \"Eliminar contenido\",\n    \"are-you-sure-you-want-to-delete-this-page\": \"¿Estás seguro de que quieres eliminar esta página?\",\n    \"sticky\": \"Fijo\",\n    \"actions\": \"Acciones\",\n    \"edit\": \"Editar\",\n    \"options\": \"Opciones\",\n    \"enter-title\": \"Ingresa título\",\n    \"media-manager\": \"Gestor de medios\",\n    \"set-a-cover-image-from-external-url,-such-as-a-cdn-or-some-server-dedicated-for-images\": \"Establece una imagen de portada desde una URL externa, como un CDN o algún servidor dedicado para imágenes.\",\n    \"user\": \"Usuario\",\n    \"date-format-format\": \"Formato de fecha: <code>AAAA-MM-DD Horas:Minutos:Segundos</code>\",\n    \"start-typing-a-page-title-to-see-a-list-of-suggestions\": \"Comienza a escribir un título de página para ver una lista de sugerencias.\",\n    \"field-used-when-ordering-content-by-position\": \"Campo usado cuando se ordena el contenido por posición.\",\n    \"write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page\": \"Escribe un nombre de plantilla para filtrar la página en el tema y cambiar el estilo de la página.\",\n    \"write-the-tags-separated-by-commas\": \"Escribe las etiquetas separadas por comas.\",\n    \"apply-code-noindex-code-to-this-page\": \"Aplicar <code>noindex</code> a esta página.\",\n    \"this-tells-search-engines-not-to-show-this-page-in-their-search-results\": \"Esto le dice a los motores de búsqueda que no muestren esta página en sus resultados de búsqueda.\",\n    \"apply-code-nofollow-code-to-this-page\": \"Aplicar <code>nofollow</code> a esta página.\",\n    \"this-tells-search-engines-not-to-follow-links-on-this-page\": \"Esto le dice a los motores de búsqueda que no sigan los enlaces en esta página.\",\n    \"apply-code-noarchive-code-to-this-page\": \"Aplicar <code>noarchive</code> a esta página.\",\n    \"this-tells-search-engines-not-to-save-a-cached-copy-of-this-page\": \"Esto le dice a los motores de búsqueda que no guarden una copia en caché de esta página.\",\n    \"uncategorized\": \"Sin categoría\",\n    \"done\": \"Hecho\",\n    \"delete-category\": \"Eliminar categoría\",\n    \"are-you-sure-you-want-to-delete-this-category?\": \"¿Estás seguro de que quieres eliminar esta categoría?\",\n    \"confirm-new-password\": \"Confirmar nueva contraseña\",\n    \"the-nickname-is-almost-used-in-the-themes-to-display-the-author-of-the-content\": \"El apodo se usa casi siempre en los temas para mostrar el autor del contenido\",\n    \"allow-unicode\": \"Permitir Unicode\",\n    \"allow-unicode-characters-in-the-url-and-some-part-of-the-system\": \"Permitir caracteres Unicode en la URL y algunas partes del sistema.\",\n    \"variables-allowed\": \"Variables permitidas\",\n    \"tag\": \"Etiqueta\",\n    \"drag-and-drop-to-sort-the-plugins\": \"Arrastra y suelta para ordenar los plugins.\",\n    \"seo\": \"SEO\",\n    \"documentation\": \"Documentación\",\n    \"forum-support\": \"Soporte del foro\",\n    \"chat-support\": \"Soporte por chat\",\n    \"quick-links\": \"Enlaces rápidos\",\n    \"leave-empty-for-autocomplete-by-bludit\": \"Dejar vacío para autocompletar por Bludit.\",\n    \"choose-a-password-for-the-user-admin\": \"Elige una contraseña para el usuario <code>admin</code>\",\n    \"access-denied\": \"Acceso denegado\",\n    \"choose-images-to-upload\": \"Elige imágenes para subir\",\n    \"insert\": \"Insertar\",\n    \"upload\": \"Subir\",\n    \"autosave\": \"Autoguardado\",\n    \"the-content-is-saved-as-a-draft-to-publish-it\": \"El contenido se guarda como borrador. Para publicarlo haz clic en el botón <b>Publicar</b> o si aún estás trabajando en él haz clic en <b>Guardar como borrador</b>.\",\n    \"site\": \"Sitio\",\n    \"first\": \"Primero\",\n    \"last\": \"Último\",\n    \"there-are-no-pages-at-this-moment\": \"No hay páginas en este momento.\",\n    \"there-are-no-static-pages-at-this-moment\": \"No hay páginas estáticas en este momento.\",\n    \"there-are-no-draft-pages-at-this-moment\": \"No hay páginas borrador en este momento.\",\n    \"good-morning\": \"Buenos días\",\n    \"good-afternoon\": \"Buenas tardes\",\n    \"good-evening\": \"Buenas tardes\",\n    \"good-night\": \"Buenas noches\",\n    \"hello\": \"Hola\",\n    \"there-are-no-images-for-the-page\": \"No hay imágenes para la página.\",\n    \"select-cover-image\": \"Seleccionar imagen de portada\",\n    \"this-plugin-depends-on-the-following-plugins\": \"Este plugin depende de los siguientes plugins.\",\n    \"no-pages-found\": \"No se encontraron páginas.\",\n    \"system-updated\": \"Sistema actualizado.\",\n    \"security\": \"Seguridad\",\n    \"remove-cover-image\": \"Eliminar imagen de portada\",\n    \"width\": \"Ancho\",\n    \"height\": \"Alto\",\n    \"quality\": \"Calidad\",\n    \"thumbnails\": \"Miniaturas\",\n    \"thumbnail\": \"Miniatura\",\n    \"thumbnail-width-in-pixels\": \"Ancho de miniatura en píxeles (px).\",\n    \"thumbnail-height-in-pixels\": \"Alto de miniatura en píxeles (px).\",\n    \"thumbnail-quality-in-percentage\": \"Calidad de miniatura en porcentaje (%).\",\n    \"maximum-load-file-size-allowed:\": \"Tamaño máximo de archivo permitido:\",\n    \"file-type-is-not-supported\": \"Tipo de archivo no compatible. Tipos permitidos:\",\n    \"page-content\": \"Contenido de la página\",\n    \"markdown-parser\": \"Analizador de Markdown\",\n    \"site-logo\": \"Logo del sitio\",\n    \"search\": \"Buscar\",\n    \"search-plugins\": \"Buscar plugins\",\n    \"enabled-plugins\": \"Plugins habilitados\",\n    \"disabled-plugins\": \"Plugins deshabilitados\",\n    \"remove-logo\": \"Eliminar logo\",\n    \"preview\": \"Vista previa\",\n    \"author-can-write-and-edit-their-own-content\": \"Autor: Puede escribir y editar su propio contenido. Editor: Puede escribir y editar el contenido de otros.\",\n    \"custom-fields\": \"Campos personalizados\",\n    \"define-custom-fields-for-the-content\": \"Define campos personalizados para el contenido. Aprende más sobre campos personalizados en la <a href='https://docs.bludit.com/en/content/custom-fields'>documentación</a>.\",\n    \"start-typing-to-see-a-list-of-suggestions\": \"Comienza a escribir para ver una lista de sugerencias.\",\n    \"view\": \"Ver\",\n    \"insert-thumbnail\": \"Insertar miniatura\",\n    \"insert-linked-thumbnail\": \"Insertar miniatura enlazada\",\n    \"no-categories\": \"No hay categorías\",\n    \"no-tags\": \"No hay etiquetas\",\n    \"navigation\": \"Navegación\",\n    \"thumbnail-generation\": \"Generación de miniaturas\",\n    \"enable-disable-automatic-thumbnail-generation-on-image-upload\": \"Activar o desactivar la generación automática de miniaturas al subir imágenes.\"\n}\n"
  },
  {
    "path": "bl-languages/fa_IR.json",
    "content": "{\n    \"language-data\": {\n        \"native\": \"فارسی\",\n        \"english-name\": \"Persian\",\n        \"locale\": \"fa,fa_IR\",\n        \"last-update\": \"2020-07-14\",\n        \"authors\": [\n            \"abdulhalim.po@gmail.com\",\n            \"Bludit http://bludit.ir\",\n            \"xm74\",\n            \"\"\n        ]\n    },\n    \"dates\": {\n        \"Sat\": \"شنبه\",\n        \"Sun\": \"یکشنبه\",\n        \"Mon\": \"دوشنبه\",\n        \"Tue\": \"سه شنبه\",\n        \"Wed\": \"چهارشنبه\",\n        \"Thu\": \"پنجشنبه\",\n        \"Fri\": \"جمعه\",\n        \"Saturday\": \"شنبه\",\n        \"Sunday\": \"یکشنبه\",\n        \"Monday\": \"دوشنبه\",\n        \"Tuesday\": \"سه شنبه\",\n        \"Wednesday\": \"چهارشنبه\",\n        \"Thursday\": \"پنجشنبه\",\n        \"Friday\": \"جمعه\",\n        \"Jan\": \"ژانویه\",\n        \"Feb\": \"فوریه\",\n        \"Mar\": \"مارس\",\n        \"Apr\": \"آوریل\",\n        \"Jun\": \"ژوئن\",\n        \"Jul\": \"جولای\",\n        \"Aug\": \"اوت\",\n        \"Sep\": \"سپتامبر\",\n        \"Oct\": \"اکتبر\",\n        \"Nov\": \"نوامبر\",\n        \"Dec\": \"دسامبر\",\n        \"January\": \"ژانویه\",\n        \"February\": \"فوریه\",\n        \"March\": \"مارس\",\n        \"April\": \"آوریل\",\n        \"May\": \"می\",\n        \"June\": \"ژوئن\",\n        \"July\": \"جوملای\",\n        \"August\": \"اوت\",\n        \"September\": \"سپتامبر\",\n        \"October\": \"اکتبر\",\n        \"November\": \"نوامبر\",\n        \"December\": \"دسامبر\"\n    },\n    \"dashboard\": \"پیشخوان\",\n    \"manage-users\": \"مدیریت کاربران\",\n    \"manage-categories\": \"مدیریت مجموعه ها\",\n    \"general-settings\": \"تنظیمات عمومی\",\n    \"advanced-settings\": \"تنظیمات پیشرفته\",\n    \"upgrade-to-bludit-pro\": \"بروزرسانی به نسخه تجاری بلودیت\",\n    \"language\": \"زبان\",\n    \"plugin\": \"پلاگین\",\n    \"plugins\": \"پلاگین ها\",\n    \"developers\": \"توسعه دهنده\",\n    \"themes\": \"قالب ها\",\n    \"about\": \"درباره\",\n    \"url\": \"آدرس وب\",\n    \"welcome\": \"خوش آمدید\",\n    \"logout\": \"خروج\",\n    \"website\": \"مشاهده سایت\",\n    \"publish\": \"انتشار\",\n    \"manage\": \"مدیریت\",\n    \"content\": \"محتوا\",\n    \"category\": \"مجموعه\",\n    \"categories\": \"مجموعه ها\",\n    \"users\": \"کاربران\",\n    \"settings\": \"تنظیمات <br>\",\n    \"general\": \"عمومی\",\n    \"advanced\": \"پیشرفته\",\n    \"new-content\": \"محتوای جدید\",\n    \"manage-content\": \"مدیریت محتوا\",\n    \"add-new-content\": \"افزودن محتوای جدید\",\n    \"new-category\": \"مجموعه جدید\",\n    \"you-do-not-have-sufficient-permissions\": \"شما مجوزهای لازم را ندارید\",\n    \"add-a-new-user\": \"افزودن یک کاربر جدید\",\n    \"url-associated-with-the-content\": \"آدرس وب مرتبط با محتوا.\",\n    \"language-and-timezone\": \"زبان و منطقه زمانی\",\n    \"change-your-language-and-region-settings\": \"تنظیمات زبان و منطقه خود را تغییر دهید.\",\n    \"notifications\": \"اطلاعیه\",\n    \"plugin-activated\": \"پلاگین فعال شد\",\n    \"plugin-deactivated\": \"پلاگین غیرفعال شد\",\n    \"new-theme-configured\": \"قالب جدید پیکربندی شد\",\n    \"plugin-configured\": \"پلاگین پیکربندی شد\",\n    \"welcome-to-bludit\": \"به بلودیت خوش آمدید\",\n    \"statistics\": \"آمار\",\n    \"drafts\": \"پیش نویس\",\n    \"title\": \"عنوان\",\n    \"save\": \"ذخیره\",\n    \"save-as-draft\": \"ذخیره پیش نویس\",\n    \"cancel\": \"لغو\",\n    \"description\": \"توضیحات\",\n    \"this-field-can-help-describe-the-content\": \"این کادر می تواند محتوا را در چند کلمه توضیح دهد.\",\n    \"images\": \"تصاویر\",\n    \"error\": \"خطا\",\n    \"supported-image-file-types\": \"انواع فایل های تصویری پشتیبانی شده\",\n    \"cover-image\": \"تصویری اصلی مطلب\",\n    \"drag-and-drop-or-click-here\": \"بکشید و رها کنید و یا اینجا را کلیک کنید\",\n    \"there-are-no-images\": \"هیچ تصویری وجود ندارد\",\n    \"upload-and-more-images\": \"آپلود و تصاویر بیشتر\",\n    \"click-on-the-image-for-options\": \"برای گزینه ها بر روی تصویر کلیک کنید.\",\n    \"click-here-to-cancel\": \"برای لغو کلیک کنید.\",\n    \"insert-image\": \"درج تصویر\",\n    \"set-as-cover-image\": \"انتخاب برای تصویر اصلی مطلب\",\n    \"delete-image\": \"حذف تصویر\",\n    \"tags\": \"برچسب ها\",\n    \"add\": \"افزودن\",\n    \"status\": \"وضعیت\",\n    \"published\": \"منتشر شده\",\n    \"draft\": \"پیش نویس\",\n    \"empty-title\": \"عنوان خالی\",\n    \"empty\": \"خالی\",\n    \"date\": \"تاریخ\",\n    \"external-cover-image\": \"تصویر اصلی از لینک خارجی\",\n    \"parent\": \"والد\",\n    \"full-image-url\": \"آدرس کامل تصویر.\",\n    \"this-field-is-used-when-you-order-the-content-by-position\": \"این کادر موقعی مفید می شود که موقعیت محتوا را مرتب می کنید.\",\n    \"position\": \"موقعیت\",\n    \"friendly-url\": \"آدرس وب دوستانه\",\n    \"image-description\": \"توضیحات تصویر\",\n    \"add-a-new-category\": \"افزودن مجموعه جدید\",\n    \"name\": \"نام\",\n    \"username\": \"نام کاربری\",\n    \"first-name\": \"نام کوچک\",\n    \"last-name\": \"نام خانوادگی\",\n    \"to-schedule-the-content-select-the-date-and-time\": \"برای زمانبندی محتوا تاریخ و زمان را انتخاب کنید، وضعیت باید بر روی \\\"منتشر شده\\\" تنظیم شود\",\n    \"email\": \"ایمیل\",\n    \"role\": \"نقش\",\n    \"registered\": \"ثبت شده\",\n    \"site-information\": \"اطلاعات سایت\",\n    \"site-title\": \"عنوان سایت\",\n    \"use-this-field-to-name-your-site\": \"از این کادر برای نامگذاری سایت خود استفاده کنید.\",\n    \"site-slogan\": \"شعار سایت\",\n    \"use-this-field-to-add-a-catchy-phrase\": \"از این کادر برای اضافه کردن یک عبارت جذاب برای سایت خود استفاده کنید.\",\n    \"site-description\": \"توضیحات سایت\",\n    \"you-can-add-a-site-description-to-provide\": \"شما می توانید توضیحاتی درمورد سایت خود نوشته تا بیوگرافی مختصر و یا توضیحاتی از سایت شما باشد.\",\n    \"footer-text\": \"متن پاورقی\",\n    \"you-can-add-a-small-text-on-the-bottom\": \"شما می‌توانید متن کوتاهی را به انتهای تمام صفحات اضافه کنید. متنی مانند حق انتشار، مالکیت، تاریخ و غیره.\",\n    \"social-networks-links\": \"پیوندهای شبکه های اجتماعی\",\n    \"site-url\": \"آدرس سایت\",\n    \"email-account-settings\": \"تنظیمات حساب ایمیل\",\n    \"sender-email\": \"ایمیل ارسال کننده\",\n    \"emails-will-be-sent-from-this-address\": \"ایمیل ها از این آدرس ارسال خواهند شد.\",\n    \"url-filters\": \"فیلترهای آدرس وب\",\n    \"select-your-sites-language\": \"زبان وبسایت خود را انتخاب کنید.\",\n    \"timezone\": \"منطقه زمانی\",\n    \"select-a-timezone-for-a-correct\": \"یک منطقه زمانی را برای نمایش صحیح تاریخ / زمان بر روی وبسایت خود را انتخاب کنید.\",\n    \"locale\": \"محلی\",\n    \"date-and-time-formats\": \"فرمت تاریخ و زمان\",\n    \"date-format\": \"فرمت تاریخ\",\n    \"current-format\": \"فرمت جاری\",\n    \"version\": \"نسخه\",\n    \"author\": \"نویسنده\",\n    \"activate\": \"فعال کردن\",\n    \"deactivate\": \"غیرفعال کردن\",\n    \"edit-category\": \"ویرایش مجموعه\",\n    \"delete\": \"حذف\",\n    \"password\": \"کلمه عبور\",\n    \"confirm-password\": \"تائید کلمه عبور\",\n    \"editor\": \"ویرایشگر\",\n    \"administrator\": \"مدیر\",\n    \"edit-user\": \"ویرایش کاربر\",\n    \"edit-content\": \"ویرایش محتوا\",\n    \"profile\": \"پروفایل\",\n    \"change-password\": \"تغییر کلمه عبور\",\n    \"enabled\": \"فعال\",\n    \"disable-the-user\": \"از کار انداختن کاربر\",\n    \"profile-picture\": \"تصویر پروفایل\",\n    \"edit-or-delete-your-categories\": \"ویرایش و یا حذف مجموعه\",\n    \"create-a-new-category-to-organize-your-content\": \"برای ساماندهی به محتوای خود مجموعه جدیدی بسازید\",\n    \"confirm-delete-this-action-cannot-be-undone\": \"حذف کردن را تائید کنید، این عمل قابل بازیابی نیست.\",\n    \"do-you-want-to-disable-the-user\": \"مایل هستید این کاربر را غیرفعال کنید؟\",\n    \"new-password\": \"کلمه عبور جدید\",\n    \"you-can-change-this-field-when-save-the-current-changes\": \"می‌توانید این کادر را ذخیره کنید هنگامی که تغییرات جاری را ذخیره کردید.\",\n    \"items-per-page\": \"مطلب در هر صفحه\",\n    \"invite-a-friend-to-collaborate-on-your-site\": \"دوستی را برای همکاری در وبسایت خود دعوت کنید\",\n    \"number-of-items-to-show-per-page\": \"تعداد مطلب که در هر صفحه باید نمایش داده شود.\",\n    \"website-or-blog\": \"وبسایت یا وبلاگ\",\n    \"order-content-by\": \"ترتیب مطالب براساس\",\n    \"edit-or-delete-content-from-your-site\": \"ویرایش یا حذف محتو در وبسایت خو\",\n    \"order-the-content-by-date-to-build-a-blog\": \"ترتیب محتوا بر اساس تاریخ برای ساخت یک وبلاگ و یا ترتیب محتوا بر اساس موقعیت برای ساخت یک وبسایت.\",\n    \"page-not-found-content\": \"به نظر می رسد صفحه وجود ندارد.\",\n    \"page-not-found\": \"صفحه یافت نشد\",\n    \"predefined-pages\": \"صفحات از پیش تعریف شده\",\n    \"returning-page-when-the-page-doesnt-exist\": \"بازگشت به صفحه هنگامی که صفحه وجود ندارد، به طور پیش‌فرض، یک پیام پیش‌فرض را بر می گرداند .\",\n    \"returning-page-for-the-main-page\": \"به طور پیش‌فرض، صفحه بازگشت به صفحه اصلی، آخرین محتوا بر اساس تاریخ و یا محتوا را نشان می‌دهد.\",\n    \"full-url-of-your-site\": \"آدرس کامل وبسایت شما. بصورت کامل به همراه پروتکل HTTP و یا HTTPS ( اگر که SSL بر روی سرویس دهنده شما فعال است.)\",\n    \"with-the-locales-you-can-set-the-regional-user-interface\": \"توسط تنظیمات محلی، شما می‌توانید رابط کاربر منطقه ای، مثل تاریخ و زبان خود را تنظیم کنید. تنظیمات محلی باید بر روی سیستم شما نصب شده باشد.\",\n    \"bludit-installer\": \"نصب کننده بلودیت\",\n    \"choose-your-language\": \"زبان خود را انتخاب کنید\",\n    \"next\": \"بعدی\",\n    \"complete-the-form-choose-a-password-for-the-username-admin\": \"فرم را با انتخاب کلمه عبور مناسب برای کاربر <b>< admin ></b> تکمیل کنید\",\n    \"show-password\": \"نمایش کلمه عبور\",\n    \"install\": \"نصب\",\n    \"login\": \"ورود\",\n    \"back-to-login-form\": \"برگشت به فرم ورود\",\n    \"get-login-access-code\": \"دریافت کد دسترسی ورود به سیستم\",\n    \"email-access-code\": \"کد دسترسی به ایمیل\",\n    \"whats-next\": \"حال چه کنیم\",\n    \"username-or-password-incorrect\": \"نام کاربری و کلمه عبور اشتباه است\",\n    \"follow-bludit-on\": \"دنبال کردن بلودیت در\",\n    \"this-is-a-brief-description-of-yourself-our-your-site\": \"این شرح مختصری از شما و یا وبسایت شما می‌باشد، برای تغییر این متن به پنل مدیریت، تنظیمات، پلاگین ها رفته و پلاگین درباره را ویرایش کنید.\",\n    \"new-version-available\": \"نسخه جدیدی در دسترس است\",\n    \"new-category-created\": \"مجموعه جدیدی ایجاد شد\",\n    \"category-deleted\": \"مجموعه حذف شد\",\n    \"category-edited\": \"مجموعه ویرایش شد\",\n    \"new-user-created\": \"کاربر جدید ایجاد شد\",\n    \"user-edited\": \"کاربر ویرایش شد\",\n    \"user-deleted\": \"کاربر حذف شد\",\n    \"recommended-for-recovery-password-and-notifications\": \"توصیه شده برای بازیابی کلمه عبور و اطلاعیه ها .\",\n    \"authentication-token\": \"رمز توکن تایید هویت\",\n    \"token\": \"رمز توکن\",\n    \"current-status\": \"وضعیت جاری\",\n    \"upload-image\": \"آپلود تصویر\",\n    \"the-changes-have-been-saved\": \"تغییرات ذخیره شد\",\n    \"label\": \"برچسب\",\n    \"links\": \"لینک ها\",\n    \"this-title-is-almost-always-used-in-the-sidebar-of-the-site\": \"این عنوان تقریبا همیشه در نوار کناری سایت استفاده می شود.\",\n    \"password-must-be-at-least-6-characters-long\": \"کلمه عبور حداقل باید 6 کاراکتر باشد\",\n    \"ip-address-has-been-blocked\": \"آدرس IP مسدود شد\",\n    \"try-again-in-a-few-minutes\": \"دقایقی دیگر دوباره تلاش کنید\",\n    \"content-published-from-scheduler\": \"محتوا توسط سیستم زمانبندی منتشر شد\",\n    \"blog\": \"بلاگ\",\n    \"complete-all-fields\": \"تمام کادرها را تکمیل کنید\",\n    \"static\": \"استاتیک\",\n    \"about-your-site-or-yourself\": \"درباره سایت یا خود شما\",\n    \"homepage\": \"صفحه نخست\",\n    \"disabled\": \"غیرفعال\",\n    \"to-enable-the-user-you-must-set-a-new-password\": \"برای فعال کردن کاربر باید کلمه عبور جدیدی را تنظیم کنید.\",\n    \"delete-the-user-and-associate-his-content-to-admin-user\": \"کاربر را حذف کرده و مطالبش را به کاربر admin مرتبط کنید\",\n    \"delete-the-user-and-all-his-content\": \"کاربر را به همراه تمام محتوایش حذف کنید\",\n    \"user-disabled\": \"کاربر غیرفعال شد\",\n    \"user-password-changed\": \"کلمه عبور کاربر تغییر کرد\",\n    \"the-password-and-confirmation-password-do-not-match\": \"کلمه عبور و تائید کلمه عبور با هم مطابقت ندارند\",\n    \"scheduled-content\": \"محتوای زمانبندی شده\",\n    \"there-are-no-scheduled-content\": \"محتوای زمانبندی شده ای موجود نیست.\",\n    \"new-content-created\": \"محتوای جدیدی ایجاد شد\",\n    \"content-edited\": \"محتوا ویرایش شد\",\n    \"content-deleted\": \"محتوا حذف شد\",\n    \"undefined\": \"تعریف نشده\",\n    \"create-new-content-for-your-site\": \"محتوای جدیدی را برای وبسایت خود بسازید\",\n    \"order-items-by\": \"ترتیب مطالب براساس\",\n    \"all-content\": \"تمام محتوا\",\n    \"dynamic\": \"داینامیک\",\n    \"type\": \"نوع\",\n    \"draft-content\": \"محتوای پیش نویس\",\n    \"post\": \"نوشته\",\n    \"default\": \"پیش‌فرض\",\n    \"latest-content\": \"آخرین مطالب\",\n    \"default-message\": \"پیام پیش‌فرض\",\n    \"no-parent\": \"بدون والد\",\n    \"have-you-seen-my-ball\": \"توپ مرا ندیدی؟\",\n    \"pagebreak\": \"شکستن صفحه\",\n    \"pages\": \"صفحات\",\n    \"this-plugin-may-not-be-supported-by-this-version-of-bludit\": \"این پلاگین ممکن است توسط این نسخه از بلودیت پشتیبانی نمی شود\",\n    \"previous\": \"قبلی\",\n    \"previous-page\": \"صفحه قبلی\",\n    \"next-page\": \"صفحه بعدی\",\n    \"scheduled\": \"زمانبندی شده\",\n    \"this-token-is-similar-to-a-password-it-should-not-be-shared\": \"این رمز توکن شبیه به کلمه عبور است، توکن نباید با کلمه عبور مشترک باشد.\",\n    \"congratulations-you-have-successfully-installed-your-bludit\": \"تبریک میگم، شما با موفقیت بلودیت خود را نصب کردید.\",\n    \"this-theme-may-not-be-supported-by-this-version-of-bludit\": \"این قالب ممکن است توسط این نسخه از بلودیت پشتیبانی نشود\",\n    \"read-more\": \"ادامه مطلب\",\n    \"remember-me\": \"مرا به خاطر بسپار\",\n    \"plugins-position\": \"موقعیت پلاگین\",\n    \"plugins-sorted\": \"پلاگین ها مرتب شدند\",\n    \"plugins-position-changed\": \"موقعیت پلاگین تغییر کرد\",\n    \"drag-and-drop-to-set-the-position-of-the-plugin\": \"برای تنظیم موقعیت پلاگین ها آنها را کشیده و رها کنید\",\n    \"change-the-position-of-the-plugins\": \"تغییر موقعیت پلاگین ها\",\n    \"reading-time\": \"زمان خواندن\",\n    \"minutes\": \"دقیقه\",\n    \"minute\": \"دقیقه\",\n    \"example-page-1-slug\": \"محتوای-خود-را-بسازید\",\n    \"example-page-1-title\": \"محتوای خود را بسازید\",\n    \"example-page-1-content\": \"شروع کنید محتوای خود را نوشتن و یا اینکه محتوای جاری بسته به نیاز خود را ویرایش کنید. برای ایجاد، ویرایش و یا حذف محتوا توسط نام کاربری admin و کلمه عبوری که در حین پروسه نصب برای خود انتخاب کرده اید، شما باید وارد <a href=\\\"./admin/\\\">پنل مدیریت</a> شوید.\",\n    \"example-page-2-slug\": \"سایت-جدید-خود-را-راه-اندازی-کنید\",\n    \"example-page-2-title\": \"سایت جدید خود را راه اندازی کنید\",\n    \"example-page-2-content\": \"تنظیمات وبسایت خود را از <a href=\\\"./admin/\\\">پنل مدیریت</a> به روزرسانی کنید، شما می‌توانید عنوان، توضیحات و تنظیمات شبکه‌های اجتماعی را از <a href=\\\"./admin/settings\\\">تنظیمات > عمومی</a> تغییر دهید.\",\n    \"example-page-3-slug\": \"بلودیت-را-دنبال-کنید\",\n    \"example-page-3-title\": \"بلودیت را دنبال کنید\",\n    \"example-page-3-content\": \"دریافت اطلاعات درباره اخبار، نسخه های جدید، قالب‌ها و یا پلاگین های جدید بر روی شبکه‌های اجتماعی ما به آدرس <a href=\\\"https://www.facebook.com/bluditcms/\\\" target=\\\"_blank\\\">فیسبوک</a>، <a href=\\\"https://www.twitter.com/bludit/\\\" target=\\\"_blank\\\">توئیتر</a> و <a href=\\\"https://www.youtube.com/c/Bluditcms\\\" target=\\\"_blank\\\">یوتیوب</a> و یا اینکه از <a href=\\\"https://blog.bludit.com\\\" target=\\\"_blank\\\">بلاگ</a> ما بازدید کنید.\",\n    \"example-page-4-slug\": \"درباره\",\n    \"example-page-4-title\": \"درباره\",\n    \"example-page-4-content\": \"صفحه درباره من به طور معمول یکی از صفحات پر بازدید در سایت شماست، باید با چند چیز کلیدی ساده مانند نام شما، چه کسی هستید ، چگونه می توان با شما تماس گرفت، یک داستان کوتاه و غیره، تکمیل شود.\",\n    \"the-extension-zip-is-not-installed\": \"افزونه zip نصب نشده است، برای استفاده از این پلاگین باید افزونه نصب شود.\",\n    \"there-are-no-sticky-pages-at-this-moment\": \"درحال حاضر هیچ صفحه چسبنده ای وجود ندارد.\",\n    \"there-are-no-scheduled-pages-at-this-moment\": \"درحال حاضر هیچ صفحه زمانبندی شده ای وجود ندارد.\",\n    \"update\": \"بروزرسانی\",\n    \"template\": \"قالب\",\n    \"nickname\": \"نام مستعار\",\n    \"disable-user\": \"غیرفعال کردن کاربر\",\n    \"delete-user-and-keep-content\": \"حذف کاربر و نگه داشتن محتوا\",\n    \"delete-user-and-delete-content\": \"حذف کاربر و حذف محتوا (هشدار)\",\n    \"social-networks\": \"شبکه های اجتماعی\",\n    \"interval\": \"وقفه\",\n    \"number-in-minutes-for-every-execution-of-autosave\": \"تعداد در دقیقه برای هر اجرای خودکار ذخیره.\",\n    \"extreme-friendly-url\": \"آدرس وب دوستانه دلخواه\",\n    \"title-formats\": \"فرمت عنوان\",\n    \"delete-content\": \"حذف محتوا\",\n    \"are-you-sure-you-want-to-delete-this-page\": \"آیا مطمئن هستید که می خواهید این صفحه را حذف کنید؟\",\n    \"sticky\": \"چسبنده\",\n    \"actions\": \"لقدامات\",\n    \"edit\": \"ویرایش\",\n    \"options\": \"گزینه ها\",\n    \"enter-title\": \"ویرایش عنوان\",\n    \"media-manager\": \"مدیریت رسانه\",\n    \"set-a-cover-image-from-external-url,-such-as-a-cdn-or-some-server-dedicated-for-images\": \"قرار دادن یک تصویر اصلی از آدرس خارجی، مثل یک CDN و یا یک سرور اختصاصی برای تصاویر.\",\n    \"user\": \"کاربر\",\n    \"date-format-format\": \"فرمت تاریخ: <code>YYYY-MM-DD ساعت:دقیقه:ثانیه</code>\",\n    \"start-typing-a-page-title-to-see-a-list-of-suggestions\": \"شروع کنید به تایپ عنوان یک صفحه تا لیستی از پیشنهادها را مشاهده کنید.\",\n    \"field-used-when-ordering-content-by-position\": \"کادر مورد استفاده در هنگام ترتیب مطالب براساس موقعیت.\",\n    \"write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page\": \"برای فیلترکردن صفحه در تم و تغییر استایل صفحه، نام قالب را بنویسید.\",\n    \"apply-code-noindex-code-to-this-page\": \"بکارگیری <code>noindex</code> در این صفحه.\",\n    \"this-tells-search-engines-not-to-show-this-page-in-their-search-results\": \"این گزینه به موتورهای جستجو می‌گوید که این صفحه را در نتایج جستجوی خود نمایش ندهند.\",\n    \"apply-code-nofollow-code-to-this-page\": \"بکارگیری <code>nofollow</code> در این صفحه.\",\n    \"this-tells-search-engines-not-to-follow-links-on-this-page\": \"این گزینه به موتورهای جستجو می‌گوید که لینک های این صفحه را دنبال نکند.\",\n    \"apply-code-noarchive-code-to-this-page\": \"بکارگیری <code>noarchive</code> در این صفحه.\",\n    \"this-tells-search-engines-not-to-save-a-cached-copy-of-this-page\": \"این گزینه به موتورهای جستجو می‌گوید که رونوشتی از کش این صفحه را ذخیره نکند.\",\n    \"uncategorized\": \"بدون مجموعه\",\n    \"done\": \"انجام شد\",\n    \"delete-category\": \"حذف مجموعه\",\n    \"are-you-sure-you-want-to-delete-this-category?\": \"آیا مطمئن هستید که می خواهید این مجموعه را حذف کنید؟\",\n    \"confirm-new-password\": \"کلمه عبور جدید را تائید کنید\",\n    \"the-nickname-is-almost-used-in-the-themes-to-display-the-author-of-the-content\": \"نام مستعار تقریبا در تم ها برای نمایش نویسنده محتوا استفاده می شود\",\n    \"allow-unicode\": \"پذیرفتن Unicode\",\n    \"allow-unicode-characters-in-the-url-and-some-part-of-the-system\": \"پذیرفتن کاراکترهای Unicode در آدرس وب و برخی قسمت‌هایی از سیستم.\",\n    \"variables-allowed\": \"متغیر مجاز است\",\n    \"tag\": \"برچسب\",\n    \"drag-and-drop-to-sort-the-plugins\": \"برای مرتب سازی پلاگین ها بکشید و رها کنید.\",\n    \"seo\": \"سئو\",\n    \"documentation\": \"مستندات\",\n    \"forum-support\": \"انجمن پشتیبانی\",\n    \"chat-support\": \"پشتیبانی گفتاری\",\n    \"quick-links\": \"لینک های سریع\",\n    \"leave-empty-for-autocomplete-by-bludit\": \"برای تکمیل خودکار توسط بلودیت خالی بگذارید.\",\n    \"choose-a-password-for-the-user-admin\": \"کلمه عبوری را برای کاربر <code>admin</code> انتخاب کنید\",\n    \"access-denied\": \"دسترسی ممنوع است\",\n    \"choose-images-to-upload\": \"انتخاب تصویر برای آپلود\",\n    \"insert\": \"درج در مطلب<br>\",\n    \"upload\": \"آپلود\",\n    \"autosave\": \"ذخیره خودکار\",\n    \"the-content-is-saved-as-a-draft-to-publish-it\": \"محتوا بصورت پیش نویس ذخیره شد. برای انتشار آن بر روی دکمه <b>انتشار</b> کلیک کرده و یا همچنان در حال کار کردن بر روی آن هستید می‌توانید بر روی دکمه <b>ذخیره پیش نویس</b> کلیک کنید.\",\n    \"site\": \"سایت\",\n    \"first\": \"ابتدا\",\n    \"last\": \"انتها\",\n    \"there-are-no-pages-at-this-moment\": \"درحال حاضر هیچ صفحه ای وجود ندارد.\",\n    \"there-are-no-static-pages-at-this-moment\": \"درحال حاضر هیچ صفحه استاتیکی وجود ندارد.\",\n    \"there-are-no-draft-pages-at-this-moment\": \"درحال حاضر هیچ صفحه پیش نویسی وجود ندارد.\",\n    \"good-morning\": \"صبح بخیر\",\n    \"good-afternoon\": \"عصر بخیر\",\n    \"good-evening\": \"بعد از غروب بخیر\",\n    \"good-night\": \"شب بخیر\",\n    \"hello\": \"درود\",\n    \"there-are-no-images-for-the-page\": \"هیچ تصویری برای صفحه وجود ندارد.\",\n    \"select-cover-image\": \"انتخاب تصویر اصلی\",\n    \"this-plugin-depends-on-the-following-plugins\": \"این پلاگین وابسته به پلاگین ذیل است.\",\n    \"no-pages-found\": \"هیچ صفحه ای یافت نشد.\",\n    \"system-updated\": \"سیستم به روز شد.\",\n    \"security\": \"امنیت\",\n    \"remove-cover-image\": \"برداشتن تصویر اصلی\",\n    \"width\": \"عرض\",\n    \"height\": \"ارتفاع\",\n    \"quality\": \"کیفیت\",\n    \"thumbnails\": \"بندانگشتی\",\n    \"thumbnail\": \"بندانگشتی\",\n    \"thumbnail-width-in-pixels\": \"عرض بندانگشتی به پیکسل (px).\",\n    \"thumbnail-height-in-pixels\": \"ارتفاع بندانگشتی به پیکسل (px).\",\n    \"thumbnail-quality-in-percentage\": \"کیفیت بندانگشتی به درصد (%).\",\n    \"maximum-load-file-size-allowed:\": \"حداکثر حجم مجاز بارگیری فایل:\",\n    \"file-type-is-not-supported\": \"نوع فایل پشتیبانی نمی شود. فرمت های مجاز:\",\n    \"page-content\": \"محتوای نوشته\",\n    \"markdown-parser\": \"تحلیل گر Markdown\",\n    \"site-logo\": \"لوگوی سایت\",\n    \"search\": \"جستجو\",\n    \"search-plugins\": \"پلاگین جستجو\",\n    \"enabled-plugins\": \"فعالسازی پلاگین جستجو\",\n    \"disabled-plugins\": \"پلاگین های غیرفعال\",\n    \"remove-logo\": \"برداشتن لوگو\",\n    \"preview\": \"پیش نمایش\",\n    \"author-can-write-and-edit-their-own-content\": \"نویسنده: می‌تواند محتوایی نوشته و آن را ویرایش کند. ویرایشگر: می‌تواند محتوایی نوشته و محتوای دیگران را نیز ویرایش کند.\",\n    \"custom-fields\": \"کادرهای سفارشی\",\n    \"define-custom-fields-for-the-content\": \" تعریف کادرهای سفارشی برای محتوا. برای کسب اطلاعات بیشتر در مورد کادرهای سفارشی به <a href='https://docs.bludit.com/en/content/custom-fields'>مستندات</a> مراجعه کنید.\",\n    \"start-typing-to-see-a-list-of-suggestions\": \"برای مشاهده لیستی از پیشنهادات شروع به تایپ کنید.\",\n    \"view\": \"نمایش\",\n    \"no-tags\": \"بدون برچسب\",\n    \"write-the-tags-separated-by-commas\": \"Write the tags separated by commas.\",\n    \"insert-thumbnail\": \"درج تصویر بندانگشتی\",\n    \"visits-today\": \"بازدیدهای امروز\",\n    \"no-categories\": \"بدون دسته‌بندی\",\n    \"quick-search-pages-and-menu\": \"جستجوی سریع صفحات و منو\",\n    \"click-here-for-quick-search\": \"Click here for quick search\",\n    \"thanks-for-supporting-bludit\": \"Thanks for supporting Bludit\",\n    \"analytics\": \"آمار\",\n    \"unique-visitors\": \"بازدیدکنندگان یکتا\",\n    \"settings-changes\": \"Settings changes\",\n    \"insert-linked-thumbnail\": \"درج تصویر بندانگشتی لینک‌دار\",\n    \"search-placeholder\": \"جستجو در صفحات، محتوا و منوها...\",\n    \"no-results-found\": \"نتیجه‌ای یافت نشد\",\n    \"navigation\": \"ناوبری\",\n    \"default-content-status\": \"وضعیت پیش‌فرض محتوا\",\n    \"default-status-for-new-content\": \"انتخاب کنید که آیا محتوای جدید به طور پیش‌فرض به صورت منتشر شده یا پیش‌نویس ایجاد شود.\",\n    \"thumbnail-generation\": \"ایجاد تصویر بندانگشتی\",\n    \"enable-disable-automatic-thumbnail-generation-on-image-upload\": \"فعال یا غیرفعال کردن ایجاد خودکار تصویر بندانگشتی هنگام بارگذاری تصویر.\"\n}\n"
  },
  {
    "path": "bl-languages/fi_FI.json",
    "content": "{\n    \"language-data\": {\n        \"native\": \"Suomi (Suomi)\",\n        \"english-name\": \"Finnish\",\n        \"last-update\": \"2017-09-10\",\n        \"authors\": [\n            \"Tuomas K.\",\n            \"\",\n            \"\",\n            \"\"\n        ],\n        \"locale\": \"fi, fi_FI\"\n    },\n    \"dates\": {\n        \"Mon\": \"Mon\",\n        \"Tue\": \"Tue\",\n        \"Wed\": \"Wed\",\n        \"Thu\": \"Thu\",\n        \"Fri\": \"Fri\",\n        \"Sat\": \"Sat\",\n        \"Sun\": \"Sun\",\n        \"Monday\": \"Monday\",\n        \"Tuesday\": \"Tuesday\",\n        \"Wednesday\": \"Wednesday\",\n        \"Thursday\": \"Thursday\",\n        \"Friday\": \"Friday\",\n        \"Saturday\": \"Saturday\",\n        \"Sunday\": \"Sunday\",\n        \"Jan\": \"Jan\",\n        \"Feb\": \"Feb\",\n        \"Mar\": \"Mar\",\n        \"Apr\": \"Apr\",\n        \"Jun\": \"Jun\",\n        \"Jul\": \"Jul\",\n        \"Aug\": \"Aug\",\n        \"Sep\": \"Sep\",\n        \"Oct\": \"Oct\",\n        \"Nov\": \"Nov\",\n        \"Dec\": \"Dec\",\n        \"January\": \"January\",\n        \"February\": \"February\",\n        \"March\": \"March\",\n        \"April\": \"April\",\n        \"May\": \"May\",\n        \"June\": \"June\",\n        \"July\": \"July\",\n        \"August\": \"August\",\n        \"September\": \"September\",\n        \"October\": \"October\",\n        \"November\": \"November\",\n        \"December\": \"December\"\n    },\n    \"dashboard\": \"Hallintapaneeli\",\n    \"manage-users\": \"Hallitse käyttäjiä\",\n    \"manage-categories\": \"Manage categories\",\n    \"general-settings\": \"Yleiset asetukset\",\n    \"advanced-settings\": \"Lisäasetukset\",\n    \"thanks-for-supporting-bludit\": \"Thanks for support Bludit\",\n    \"upgrade-to-bludit-pro\": \"Upgrade to Bludit PRO\",\n    \"language\": \"Kieli\",\n    \"plugin\": \"Plugin\",\n    \"plugins\": \"Lisäosat\",\n    \"developers\": \"Developers\",\n    \"themes\": \"Teemat\",\n    \"about\": \"Tietoja\",\n    \"url\": \"URL\",\n    \"welcome\": \"Welcome\",\n    \"logout\": \"Kirjaudu ulos\",\n    \"website\": \"Julkinen sivusto\",\n    \"publish\": \"Julkaise\",\n    \"manage\": \"Hallitse\",\n    \"content\": \"Sisältö\",\n    \"category\": \"Category\",\n    \"categories\": \"Categories\",\n    \"users\": \"Käyttäjät\",\n    \"settings\": \"Asetukset\",\n    \"general\": \"Yleiset\",\n    \"advanced\": \"Lisäasetukset\",\n    \"new-content\": \"New content\",\n    \"manage-content\": \"Manage content\",\n    \"add-new-content\": \"Add new content\",\n    \"new-category\": \"New category\",\n    \"you-do-not-have-sufficient-permissions\": \"Sinulla ei ole tarvittavia oikeuksia tälle sivulle. Ota yhteyttä ylläpitäjään.\",\n    \"add-a-new-user\": \"Lisää uusi käyttäjä\",\n    \"url-associated-with-the-content\": \"URL associated with the content.\",\n    \"language-and-timezone\": \"Kieli ja aikavyöhyke\",\n    \"change-your-language-and-region-settings\": \"Muuta kielen ja alueen asetuksia.\",\n    \"notifications\": \"Ilmoitukset\",\n    \"plugin-activated\": \"Plugin activated\",\n    \"plugin-deactivated\": \"Plugin deactivated\",\n    \"new-theme-configured\": \"New theme configured\",\n    \"settings-changes\": \"Changes on settings\",\n    \"plugin-configured\": \"Plugin configured\",\n    \"welcome-to-bludit\": \"Bludit toivottaa sinut tervetulleeksi!\",\n    \"statistics\": \"Tilastot\",\n    \"drafts\": \"Luonnokset\",\n    \"title\": \"Otsikko\",\n    \"save\": \"Tallenna\",\n    \"save-as-draft\": \"Save as draft\",\n    \"cancel\": \"Peruuta\",\n    \"description\": \"Kuvaus\",\n    \"this-field-can-help-describe-the-content\": \"Kirjoita tähän kuvaus sivun sisällöstä. Kuvaus näkyy hakutuloksessa esim. Googlessa. Enintään 150 merkkiä.\",\n    \"images\": \"Kuvat\",\n    \"error\": \"Virhe\",\n    \"supported-image-file-types\": \"Tuetut kuvatyypit\",\n    \"cover-image\": \"Artikkelikuva\",\n    \"drag-and-drop-or-click-here\": \"Klikkaa tästä, tai vedä kuva tänne\",\n    \"there-are-no-images\": \"Ei kuvia\",\n    \"upload-and-more-images\": \"Upload and more images\",\n    \"click-on-the-image-for-options\": \"Paina kuvaa saadaksesi lisätietoja.\",\n    \"click-here-to-cancel\": \"Paina tästä peruaksesi.\",\n    \"insert-image\": \"Lisää kuva\",\n    \"set-as-cover-image\": \"Aseta artikkelikuvaksi\",\n    \"delete-image\": \"Poista kuva\",\n    \"tags\": \"Tagit\",\n    \"add\": \"Lisää\",\n    \"status\": \"Tila\",\n    \"published\": \"Julkaistu\",\n    \"draft\": \"Luonnos\",\n    \"empty-title\": \"Tyhjä otsikko\",\n    \"empty\": \"empty\",\n    \"date\": \"Päivämäärä\",\n    \"external-cover-image\": \"External cover image\",\n    \"parent\": \"Onko tämä jonkun sivun alasivu?\",\n    \"full-image-url\": \"Full image URL.\",\n    \"this-field-is-used-when-you-order-the-content-by-position\": \"This field is used when you order the content by position.\",\n    \"position\": \"Sijainti navigaatiossa\",\n    \"friendly-url\": \"Sivun osoite\",\n    \"image-description\": \"Kuvan kuvaus\",\n    \"add-a-new-category\": \"Add a new category\",\n    \"name\": \"Nimi\",\n    \"username\": \"Käyttäjätunnus\",\n    \"first-name\": \"Etunimi\",\n    \"last-name\": \"Sukunimi\",\n    \"to-schedule-the-content-select-the-date-and-time\": \"To schedule the content select the date and time, the status has to be set to \\\"Published\\\".\",\n    \"email\": \"Sähköpostiosoite\",\n    \"role\": \"Tyyppi\",\n    \"registered\": \"Käyttäjä luotu\",\n    \"site-information\": \"Sivuston tiedot\",\n    \"site-title\": \"Sivuston otsikko\",\n    \"use-this-field-to-name-your-site\": \"Kirjoita tähän sivusi nimi. Se näkyy jokaisen sivun yläreunassa.\",\n    \"site-slogan\": \"Mainoslause\",\n    \"use-this-field-to-add-a-catchy-phrase\": \"Voit keksiä tähän esimerkiksi mainoslauseen tms.\",\n    \"site-description\": \"Sivuston kuvaus\",\n    \"you-can-add-a-site-description-to-provide\": \"Voit lisätä lyhyen kuvauksen sivustostasi.\",\n    \"footer-text\": \"Alapalkin teksti\",\n    \"you-can-add-a-small-text-on-the-bottom\": \"Voit lisätä pienen tekstinpätkän jokaisen sivun loppuun. Se voi olla vaikkapa sivuston nimi, yhteystietoja, päivämäärä, jne.\",\n    \"social-networks-links\": \"Sosiaalisen median linkit\",\n    \"site-url\": \"Sivuston URL-osoite\",\n    \"email-account-settings\": \"Sähköpostin asetukset\",\n    \"sender-email\": \"Lähettäjän sähköpostiosoite\",\n    \"emails-will-be-sent-from-this-address\": \"Sähköpostit tullaan lähettämään tästä osoitteesta.\",\n    \"url-filters\": \"Osoitteiden asetukset\",\n    \"select-your-sites-language\": \"Valitse sivuston kieli.\",\n    \"timezone\": \"Aikavyöhyke\",\n    \"select-a-timezone-for-a-correct\": \"Valitse aikavyöhyke, jotta kellonajat ja päivämäärät näkyvät oikein.\",\n    \"locale\": \"Maa\\/Kieli\",\n    \"date-and-time-formats\": \"Päivämäärän ja ajan esitysmuodot\",\n    \"date-format\": \"Päivämäärän muoto\",\n    \"current-format\": \"Nykyinen muoto\",\n    \"version\": \"Versio\",\n    \"author\": \"Tekijä\",\n    \"activate\": \"Ota käyttöön\",\n    \"deactivate\": \"Poista käytöstä\",\n    \"edit-category\": \"Edit category\",\n    \"delete\": \"Poista\",\n    \"password\": \"Salasana\",\n    \"confirm-password\": \"Vahvista salasana\",\n    \"editor\": \"Kirjoittaja\",\n    \"administrator\": \"Ylläpitäjä\",\n    \"edit-user\": \"Muokkaa käyttäjää\",\n    \"edit-content\": \"Edit content\",\n    \"profile\": \"Profiili\",\n    \"change-password\": \"Muuta salasana\",\n    \"enabled\": \"Käytössä\",\n    \"disable-the-user\": \"Disable the user\",\n    \"profile-picture\": \"Profiilikuva\",\n    \"edit-or-delete-your-categories\": \"Edit or delete your categories\",\n    \"create-a-new-category-to-organize-your-content\": \"Create a new category to organize your content\",\n    \"confirm-delete-this-action-cannot-be-undone\": \"Haluatko varmasti poistaa? Tätä toimintoa ei voi perua.\",\n    \"do-you-want-to-disable-the-user\": \"Do you want to disable the user ?\",\n    \"new-password\": \"Uusi salasana\",\n    \"you-can-change-this-field-when-save-the-current-changes\": \"You can change this field when save the current changes.\",\n    \"items-per-page\": \"Items per page\",\n    \"invite-a-friend-to-collaborate-on-your-site\": \"Invite a friend to collaborate on your site\",\n    \"number-of-items-to-show-per-page\": \"Number of items to show per page.\",\n    \"website-or-blog\": \"Website or Blog\",\n    \"order-content-by\": \"Order content By\",\n    \"edit-or-delete-content-from-your-site\": \"Edit or delete content from your site\",\n    \"order-the-content-by-date-to-build-a-blog\": \"Order the content by date to build a Blog or order the content by position to build a Website.\",\n    \"page-not-found-content\": \"Hey! look like the page doesn't exist.\",\n    \"page-not-found\": \"Page not found\",\n    \"predefined-pages\": \"Predefined pages\",\n    \"returning-page-when-the-page-doesnt-exist\": \"Returning page when the page doesn't exist, leave it blank if you want to returns a default message.\",\n    \"returning-page-for-the-main-page\": \"Returning page for the main page, leave it blank if you want to show all the pages on the main page.\",\n    \"full-url-of-your-site\": \"Full URL of your site. Complete with the protocol HTTP or HTTPS (only if you have enabled SSL on your server).\",\n    \"with-the-locales-you-can-set-the-regional-user-interface\": \"With the locales, you can set the regional user interface, such as the dates in your language. The locales need to be installed on your system.\",\n    \"bludit-installer\": \"Bludit Installer\",\n    \"choose-your-language\": \"Valitse kielesi\",\n    \"next\": \"Seuraava\",\n    \"complete-the-form-choose-a-password-for-the-username-admin\": \"Täytä lomake, valitse salasana käyttäjälle « admin » (sivuston ylläpitäjä)\",\n    \"show-password\": \"Näytä salasana\",\n    \"install\": \"Asenna\",\n    \"login\": \"Kirjaudu sisään\",\n    \"back-to-login-form\": \"Takaisin\",\n    \"get-login-access-code\": \"Lähetä tunnistautumiskoodi\",\n    \"email-access-code\": \"Pyydä tunnistautumiskoodi\",\n    \"whats-next\": \"Mitä seuraavaksi?\",\n    \"username-or-password-incorrect\": \"Käyttäjätunnus tai salasana virheellinen\",\n    \"follow-bludit-on\": \"Seuraa Bludit:ia\",\n    \"this-is-a-brief-description-of-yourself-our-your-site\": \"Tämä on lyhyt kuvaus sinusta, tai sivustostasi. Voit muuttaa tätä hallintapaneelista kohdasta Asetukset->Lisäosat, ja muokkaa lisäosan \\\"About\\\" asetuksia\",\n    \"new-version-available\": \"New version available\",\n    \"new-category-created\": \"New category created\",\n    \"category-deleted\": \"Category deleted\",\n    \"category-edited\": \"Category edited\",\n    \"new-user-created\": \"New user created\",\n    \"user-edited\": \"User edited\",\n    \"user-deleted\": \"Käyttäjä poistettu\",\n    \"recommended-for-recovery-password-and-notifications\": \"Recommended for recovery password and notifications.\",\n    \"authentication-token\": \"Authentication Token\",\n    \"token\": \"Token\",\n    \"current-status\": \"Current status\",\n    \"upload-image\": \"Lähetä image\",\n    \"the-changes-have-been-saved\": \"Muutokset on tallennettu\",\n    \"label\": \"Label\",\n    \"links\": \"Links\",\n    \"this-title-is-almost-always-used-in-the-sidebar-of-the-site\": \"This title is almost always used in the sidebar of the site.\",\n    \"password-must-be-at-least-6-characters-long\": \"Salasanan täytyy olla vähintään 6 merkkiä pitkä\",\n    \"ip-address-has-been-blocked\": \"IP osoitteesi on estetty.\",\n    \"try-again-in-a-few-minutes\": \"Yritä uudelleen muutaman minuutin päästä.\",\n    \"content-published-from-scheduler\": \"Content published from scheduler\",\n    \"blog\": \"Blog\",\n    \"complete-all-fields\": \"Complete all fields\",\n    \"static\": \"Static\",\n    \"about-your-site-or-yourself\": \"About your site or yourself\",\n    \"homepage\": \"Homepage\",\n    \"disabled\": \"Disabled\",\n    \"to-enable-the-user-you-must-set-a-new-password\": \"To enable the user you must set a new password.\",\n    \"delete-the-user-and-associate-his-content-to-admin-user\": \"Delete the user and associate his content to admin user\",\n    \"delete-the-user-and-all-his-content\": \"Delete the user and all his content\",\n    \"user-disabled\": \"User disabled\",\n    \"user-password-changed\": \"User password changed\",\n    \"the-password-and-confirmation-password-do-not-match\": \"The password and confirmation password do not match\",\n    \"scheduled-content\": \"Scheduled content\",\n    \"there-are-no-scheduled-content\": \"There are no scheduled content.\",\n    \"new-content-created\": \"New content created\",\n    \"content-edited\": \"Content edited\",\n    \"content-deleted\": \"Contente deleted\",\n    \"undefined\": \"Undefined\",\n    \"create-new-content-for-your-site\": \"Create new content for your site\",\n    \"order-items-by\": \"Order items by\",\n    \"all-content\": \"All content\",\n    \"dynamic\": \"Dynamic\",\n    \"type\": \"Type\",\n    \"draft-content\": \"Draft content\",\n    \"post\": \"Post\",\n    \"default\": \"Default\",\n    \"latest-content\": \"Latest content\",\n    \"default-message\": \"Default message\",\n    \"no-parent\": \"No parent\",\n    \"have-you-seen-my-ball\": \"Oletko nähnyt palloani?\",\n    \"pagebreak\": \"Page break\",\n    \"pages\": \"Sivut\",\n    \"this-plugin-may-not-be-supported-by-this-version-of-bludit\": \"This plugin may not be supported by this version of Bludit\",\n    \"previous\": \"Previous\",\n    \"previous-page\": \"Previous page\",\n    \"next-page\": \"Next page\",\n    \"scheduled\": \"Scheduled\",\n    \"this-token-is-similar-to-a-password-it-should-not-be-shared\": \"This token is similar to a password, it should not be shared.\",\n    \"congratulations-you-have-successfully-installed-your-bludit\": \"Congratulations you have successfully installed your **Bludit**\",\n    \"this-theme-may-not-be-supported-by-this-version-of-bludit\": \"This theme may not be supported by this version of Bludit\",\n    \"read-more\": \"Lue lisää\",\n    \"remember-me\": \"Remember me\",\n    \"plugins-position\": \"Plugin position\",\n    \"plugins-sorted\": \"Plugins sorted\",\n    \"plugins-position-changed\": \"Plugin position changed\",\n    \"drag-and-drop-to-set-the-position-of-the-plugin\": \"Drag and Drop to set the position of the plugins\",\n    \"change-the-position-of-the-plugins\": \"Change the position of the plugins\",\n    \"reading-time\": \"Reading time\",\n    \"minutes\": \"minutes\",\n    \"minute\": \"minute\",\n    \"example-page-1-slug\": \"create-your-own-content\",\n    \"example-page-1-title\": \"Create your own content\",\n    \"example-page-1-content\": \"Start writing your own content or edit the current to fit your needs. To create, edit or remove content you need to login to the <a href=\\\".\\/admin\\/\\\">admin panel<\\/a> with the username `admin` and the password you set on the installation process.\",\n    \"example-page-2-slug\": \"set-up-your-new-site\",\n    \"example-page-2-title\": \"Set up your new site\",\n    \"example-page-2-content\": \"Update the settings of your site from the <a href=\\\".\\/admin\\/\\\">admin panel<\\/a>, you can change the title, description and the social networks from <a href=\\\".\\/admin\\/settings\\\" target=\\\"_blank\\\">Settings > General<\\/a>.\",\n    \"example-page-3-slug\": \"follow-bludit\",\n    \"example-page-3-title\": \"Follow Bludit\",\n    \"example-page-3-content\": \"Get information about news, new releases, new themes or new plugins on our social networks <a href=\\\"https:\\/\\/www.facebook.com\\/bluditcms\\/\\\" target=\\\"_blank\\\">Facebook<\\/a>, <a href=\\\"https:\\/\\/www.twitter.com\\/bludit\\/\\\" target=\\\"_blank\\\">Twitter<\\/a> and <a href=\\\"https:\\/\\/www.youtube.com\\/c\\/Bluditcms\\\" target=\\\"_blank\\\">YouTube<\\/a> or visit our <a href=\\\"https:\\/\\/blog.bludit.com\\\" target=\\\"_blank\\\">Blog<\\/a>.\",\n    \"example-page-4-slug\": \"about\",\n    \"example-page-4-title\": \"About\",\n    \"example-page-4-content\": \"Your About page is typically one of the most visited pages on your site, need to be simple with a few key things, such as your name, who are you, how can contact you, a small story, etc.\",\n    \"the-extension-zip-is-not-installed\": \"Zip-laajennusta ei ole asennettu, käyttääksesi tätä laajennusta sinun on asennettava laajennus.\",\n    \"there-are-no-sticky-pages-at-this-moment\": \"There are no sticky pages at this moment.\",\n    \"there-are-no-scheduled-pages-at-this-moment\": \"There are no scheduled pages at this moment.\",\n    \"update\": \"Update\",\n    \"template\": \"Template\",\n    \"nickname\": \"Nickname\",\n    \"disable-user\": \"Disable user\",\n    \"delete-user-and-keep-content\": \"Delete user and keep content\",\n    \"delete-user-and-delete-content\": \"Delete user and delete content (Warning)\",\n    \"social-networks\": \"Social Networks\",\n    \"interval\": \"Interval\",\n    \"number-in-minutes-for-every-execution-of-autosave\": \"Number in minutes for every execution of autosave.\",\n    \"extreme-friendly-url\": \"Extreme friendly URL\",\n    \"title-formats\": \"Title formats\",\n    \"delete-content\": \"Delete content\",\n    \"are-you-sure-you-want-to-delete-this-page\": \"Oletko varma, että haluat poistaa tämän sivun?\",\n    \"sticky\": \"Sticky\",\n    \"actions\": \"Actions\",\n    \"edit\": \"Edit\",\n    \"options\": \"Options\",\n    \"enter-title\": \"Enter title\",\n    \"media-manager\": \"Media Manager\",\n    \"set-a-cover-image-from-external-url,-such-as-a-cdn-or-some-server-dedicated-for-images\": \"Set a cover image from an external URL, such as a CDN or some server dedicated for images.\",\n    \"user\": \"User\",\n    \"date-format-format\": \"Date format: <code>YYYY-MM-DD Hours:Minutes:Seconds<\\/code>\",\n    \"start-typing-a-page-title-to-see-a-list-of-suggestions\": \"Start typing a page title to see a list of suggestions.\",\n    \"field-used-when-ordering-content-by-position\": \"Field used when ordering content by position\",\n    \"write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page\": \"Write a template name to filter the page in the theme and change the style of the page.\",\n    \"write-the-tags-separated-by-commas\": \"Write the tags separated by comma.\",\n    \"apply-code-noindex-code-to-this-page\": \"Apply <code>noindex<\\/code> to this page.\",\n    \"this-tells-search-engines-not-to-show-this-page-in-their-search-results\": \"This tells search engines not to show this page in their search results.\",\n    \"apply-code-nofollow-code-to-this-page\": \"Apply <code>nofollow<\\/code> to this page.\",\n    \"this-tells-search-engines-not-to-follow-links-on-this-page\": \"This tells search engines not to follow links on this page.\",\n    \"apply-code-noarchive-code-to-this-page\": \"Apply <code>noarchive<\\/code> to this page.\",\n    \"this-tells-search-engines-not-to-save-a-cached-copy-of-this-page\": \"This tells search engines not to save a cached copy of this page.\",\n    \"uncategorized\": \"Uncategorized\",\n    \"done\": \"Done\",\n    \"delete-category\": \"Delete category\",\n    \"are-you-sure-you-want-to-delete-this-category?\": \"Oletko varma, että haluat poistaa tämän luokan?\",\n    \"confirm-new-password\": \"Confirm new password\",\n    \"the-nickname-is-almost-used-in-the-themes-to-display-the-author-of-the-content\": \"The nickname is almost used in the themes to display the author of the content\",\n    \"allow-unicode\": \"Allow Unicode\",\n    \"allow-unicode-characters-in-the-url-and-some-part-of-the-system\": \"Allow Unicode characters in the URL and some part of the system.\",\n    \"variables-allowed\": \"Variables allowed\",\n    \"tag\": \"Tag\",\n    \"drag-and-drop-to-sort-the-plugins\": \"Drag and Drop to sort the plugins.\",\n    \"seo\": \"SEO\",\n    \"documentation\": \"Documentation\",\n    \"forum-support\": \"Forum support\",\n    \"chat-support\": \"Chat support\",\n    \"quick-links\": \"Quick links\",\n    \"leave-empty-for-autocomplete-by-bludit\": \"Leave empty for autocomplete by Bludit.\",\n    \"choose-a-password-for-the-user-admin\": \"Choose a password for the user <code>admin<\\/code>\",\n    \"access-denied\": \"Access denied\",\n    \"choose-images-to-upload\": \"Choose images to upload\",\n    \"insert\": \"Insert\",\n    \"upload\": \"Upload\",\n    \"autosave\": \"Autosave\",\n    \"the-content-is-saved-as-a-draft-to-publish-it\": \"The content is saved as a draft. To publish it click on the button <b>Publish<\\/b> or if you still working on it click on <b>Save as draft<\\/b>.\",\n    \"site\": \"Site\",\n    \"first\": \"First\",\n    \"last\": \"Last\",\n    \"there-are-no-pages-at-this-moment\": \"There are no pages at this moment.\",\n    \"there-are-no-static-pages-at-this-moment\": \"There are no static pages at this moment.\",\n    \"there-are-no-draft-pages-at-this-moment\": \"There are no draft pages at this moment.\",\n    \"good-morning\": \"Good morning\",\n    \"good-afternoon\": \"Good afternoon\",\n    \"good-evening\": \"Good evening\",\n    \"good-night\": \"Good night\",\n    \"hello\": \"Hello\",\n    \"there-are-no-images-for-the-page\": \"There are no images for the page.\",\n    \"select-cover-image\": \"Select cover image\",\n    \"this-plugin-depends-on-the-following-plugins\": \"This plugin depends on the following plugins.\",\n    \"no-pages-found\": \"No pages found\",\n    \"system-updated\": \"System updated\",\n    \"security\": \"Security\",\n    \"remove-cover-image\": \"Remove cover image\",\n    \"width\": \"Width\",\n    \"height\": \"Height\",\n    \"quality\": \"Quality\",\n    \"thumbnails\": \"Thumbnails\",\n    \"thumbnail\": \"Thumbnail\",\n    \"thumbnail-width-in-pixels\": \"Thumbnail width in pixels (px).\",\n    \"thumbnail-height-in-pixels\": \"Thumbnail height in pixels (px).\",\n    \"thumbnail-quality-in-percentage\": \"Thumbnail quality in percentage (%).\",\n    \"maximum-load-file-size-allowed:\": \"Maximum load file size allowed:\",\n    \"file-type-is-not-supported\": \"File type is not supported. Allowed types:\",\n    \"page-content\": \"Page content\",\n    \"markdown-parser\": \"Markdown parser\",\n    \"site-logo\": \"Site logo\",\n    \"search\": \"Search\",\n    \"search-plugins\": \"Search plugins\",\n    \"enabled-plugins\": \"Enabled plugins\",\n    \"disabled-plugins\": \"Disabled plugins\",\n    \"remove-logo\": \"Remove logo\",\n    \"preview\": \"Preview\",\n    \"author-can-write-and-edit-their-own-content\": \"Kirjoittaja: Voi kirjoittaa ja muokata omaa sisältöään. Toimittaja: Voi kirjoittaa ja muokata muiden sisältöä.\",\n    \"custom-fields\": \"Custom fields\",\n    \"define-custom-fields-for-the-content\": \"Määritä mukautettuja kenttiä sisällölle.\",\n    \"start-typing-to-see-a-list-of-suggestions\": \"Aloita kirjoittaminen nähdäksesi ehdotusluettelon.\",\n    \"view\": \"View\",\n    \"no-tags\": \"Ei tunnisteita\",\n    \"insert-thumbnail\": \"Lisää pikkukuva\",\n    \"visits-today\": \"Käyntejä tänään\",\n    \"no-categories\": \"Ei kategorioita\",\n    \"quick-search-pages-and-menu\": \"Pikahaku sivut ja valikko\",\n    \"click-here-for-quick-search\": \"Click here for quick search\",\n    \"analytics\": \"Analytiikka\",\n    \"unique-visitors\": \"Yksilöllisiä kävijöitä\",\n    \"insert-linked-thumbnail\": \"Lisää linkitetty pikkukuva\",\n    \"search-placeholder\": \"Etsi sivuja, sisältöä ja valikon kohteita...\",\n    \"no-results-found\": \"Tuloksia ei löytynyt\",\n    \"navigation\": \"Navigointi\",\n    \"default-content-status\": \"Sisällön oletustila\",\n    \"default-status-for-new-content\": \"Valitse, luodaanko uusi sisältö oletuksena julkaistuna vai luonnoksena.\",\n    \"thumbnail-generation\": \"Pikkukuvien luominen\",\n    \"enable-disable-automatic-thumbnail-generation-on-image-upload\": \"Ota käyttöön tai poista käytöstä automaattinen pikkukuvien luominen kuvien latauksen yhteydessä.\"\n}\n"
  },
  {
    "path": "bl-languages/fr_FR.json",
    "content": "{\n    \"language-data\": {\n        \"native\": \"Français (France)\",\n        \"english-name\": \"French\",\n        \"locale\": \"fr, fr_FR\",\n        \"last-update\": \"2021-03-21\",\n        \"authors\": [\n            \"Frédéric K. http:\\/\\/flatboard.free.fr\",\n            \"Clickwork https:\\/\\/clickwork.ch\",\n            \"Nicolas B.\",\n            \"\"\n        ]\n    },\n    \"dates\": {\n        \"Mon\": \"Lun\",\n        \"Tue\": \"Mar\",\n        \"Wed\": \"Mer\",\n        \"Thu\": \"Jeu\",\n        \"Fri\": \"Ven\",\n        \"Sat\": \"Sam\",\n        \"Sun\": \"Dim\",\n        \"Monday\": \"Lundi\",\n        \"Tuesday\": \"Mardi\",\n        \"Wednesday\": \"Mercredi\",\n        \"Thursday\": \"Jeudi\",\n        \"Friday\": \"Vendredi\",\n        \"Saturday\": \"Samedi\",\n        \"Sunday\": \"Dimanche\",\n        \"Jan\": \"Jan\",\n        \"Feb\": \"Fev\",\n        \"Mar\": \"Mar\",\n        \"Apr\": \"Avr\",\n        \"Jun\": \"Juin\",\n        \"Jul\": \"Juil\",\n        \"Aug\": \"Aoû\",\n        \"Sep\": \"Sep\",\n        \"Oct\": \"Oct\",\n        \"Nov\": \"Nov\",\n        \"Dec\": \"Dec\",\n        \"January\": \"janvier\",\n        \"February\": \"février\",\n        \"March\": \"mars\",\n        \"April\": \"avril\",\n        \"May\": \"mai\",\n        \"June\": \"juin\",\n        \"July\": \"juillet\",\n        \"August\": \"août\",\n        \"September\": \"septembre\",\n        \"October\": \"octobre\",\n        \"November\": \"novembre\",\n        \"December\": \"décembre\"\n    },\n    \"dashboard\": \"Tableau de bord\",\n    \"manage-users\": \"Gestion des utilisateurs\",\n    \"manage-categories\": \"Gestion des catégories\",\n    \"general-settings\": \"Paramètres généraux\",\n    \"advanced-settings\": \"Paramètres avancés\",\n    \"thanks-for-supporting-bludit\": \"Merci de supporter Bludit\",\n    \"upgrade-to-bludit-pro\": \"Mettre à niveau vers Bludit PRO\",\n    \"language\": \"Langue\",\n    \"plugin\": \"Plugin\",\n    \"plugins\": \"Plugins\",\n    \"developers\": \"Développeurs\",\n    \"themes\": \"Thèmes\",\n    \"about\": \"À Propos\",\n    \"url\": \"URL\",\n    \"welcome\": \"Bienvenue\",\n    \"logout\": \"Quitter la session\",\n    \"website\": \"Site\",\n    \"publish\": \"Publication\",\n    \"manage\": \"Gestionnaire\",\n    \"content\": \"Contenu\",\n    \"category\": \"Catégorie\",\n    \"categories\": \"Catégories\",\n    \"users\": \"Utilisateurs\",\n    \"settings\": \"Paramètres\",\n    \"general\": \"Généraux\",\n    \"advanced\": \"Avancé\",\n    \"new-content\": \"Nouveau contenu\",\n    \"manage-content\": \"Gestionnaire de contenu\",\n    \"add-new-content\": \"Ajouter un nouveau contenu\",\n    \"new-category\": \"Nouvelle catégorie\",\n    \"you-do-not-have-sufficient-permissions\": \"Vous ne disposez pas des autorisations suffisantes pour accéder à cette page, veuillez contacter l’administrateur.\",\n    \"add-a-new-user\": \"Ajouter un nouvel utilisateur\",\n    \"url-associated-with-the-content\": \"URL associée au contenu.\",\n    \"language-and-timezone\": \"Langue et fuseau horaire\",\n    \"change-your-language-and-region-settings\": \"Modifiez vos paramètres linguistiques et régionaux.\",\n    \"notifications\": \"Notifications\",\n    \"plugin-activated\": \"Plugin activé\",\n    \"plugin-deactivated\": \"Plugin desactivé\",\n    \"new-theme-configured\": \"Nouveau thème configuré\",\n    \"settings-changes\": \"Enregistrement des paramètres effectué avec succès\",\n    \"plugin-configured\": \"Plugin configuré\",\n    \"welcome-to-bludit\": \"Bienvenue sur Bludit\",\n    \"statistics\": \"Statistiques\",\n    \"drafts\": \"En attente de publication\",\n    \"title\": \"Titre\",\n    \"save\": \"Sauvegarder\",\n    \"save-as-draft\": \"Enregistrer en tant que brouillon\",\n    \"cancel\": \"Annuler\",\n    \"description\": \"Description\",\n    \"this-field-can-help-describe-the-content\": \"Ce champ peut aider à décrire le contenu en quelques mots. Pas plus de 150 caractères.\",\n    \"images\": \"Images\",\n    \"error\": \"Erreur\",\n    \"supported-image-file-types\": \"Extensions des images prises en charge\",\n    \"cover-image\": \"Image d’accroche\",\n    \"drag-and-drop-or-click-here\": \"Glissez et déposez ou cliquez ici\",\n    \"there-are-no-images\": \"Il n’y a aucune image\",\n    \"upload-and-more-images\": \"Gestion des médias\",\n    \"click-on-the-image-for-options\": \"Cliquez sur l’image pour plus d’options.\",\n    \"click-here-to-cancel\": \"Cliquez ici pour annuler.\",\n    \"insert-image\": \"Insérer l’image sélectionnée\",\n    \"set-as-cover-image\": \"Définir comme image d’accroche\",\n    \"delete-image\": \"Supprimer l’image\",\n    \"tags\": \"Mots clés\",\n    \"add\": \"Ajouter\",\n    \"status\": \"Statut\",\n    \"published\": \"Publié\",\n    \"draft\": \"Brouillon\",\n    \"empty-title\": \"Titre non défini\",\n    \"empty\": \"vide\",\n    \"date\": \"Date\",\n    \"external-cover-image\": \"Image d’accroche externe\",\n    \"parent\": \"Parent\",\n    \"full-image-url\": \"URL complète de l’image.\",\n    \"this-field-is-used-when-you-order-the-content-by-position\": \"Ce champ est utilisé lorsque vous gérez le contenu par position.\",\n    \"position\": \"Position\",\n    \"friendly-url\": \"Réécriture d’URL\",\n    \"image-description\": \"Description de l’image\",\n    \"add-a-new-category\": \"Ajouter une nouvelle catégorie\",\n    \"name\": \"Nom\",\n    \"username\": \"Nom d'utilisateur\",\n    \"quick-search-pages-and-menu\": \"Recherche rapide de pages et menu\",\n    \"click-here-for-quick-search\": \"Click here for quick search\",\n    \"analytics\": \"Analytique\",\n    \"visits-today\": \"Visites aujourd'hui\",\n    \"unique-visitors\": \"Visiteurs uniques\",\n    \"search-placeholder\": \"Rechercher des pages, du contenu et des éléments de menu...\",\n    \"no-results-found\": \"Aucun résultat trouvé\",\n    \"first-name\": \"Prénom\",\n    \"last-name\": \"Nom\",\n    \"to-schedule-the-content-select-the-date-and-time\": \"Pour planifier votre contenu, sélectionnez la date et l’heure, le statut doit être défini sur \\\"Publié\\\".\",\n    \"email\": \"E-mail\",\n    \"role\": \"Rôle\",\n    \"registered\": \"Inscrit\",\n    \"site-information\": \"Informations sur le site\",\n    \"site-title\": \"Titre du site\",\n    \"use-this-field-to-name-your-site\": \"Utilisez ce champ pour que le nom de votre site apparaisse en haut de chaque page.\",\n    \"site-slogan\": \"Slogan du Site\",\n    \"use-this-field-to-add-a-catchy-phrase\": \"Utilisez ce champ pour ajouter une phrase accrocheuse sur votre site.\",\n    \"site-description\": \"Description du site\",\n    \"you-can-add-a-site-description-to-provide\": \"Vous pouvez ajouter une description du site pour fournir une courte biographie ou la description de votre site.\",\n    \"footer-text\": \"Texte en pied de page\",\n    \"you-can-add-a-small-text-on-the-bottom\": \"Vous pouvez ajouter un court texte sur le pied de chaque page. Par exemple: les droits d'auteurs, propriétaire, dates, etc.\",\n    \"social-networks-links\": \"Liens vers les réseaux sociaux\",\n    \"site-url\": \"URL du site\",\n    \"email-account-settings\": \"Paramètres du compte de messagerie\",\n    \"sender-email\": \"E-mail de l’expéditeur\",\n    \"emails-will-be-sent-from-this-address\": \"Les e-mails seront envoyés à cette adresse.\",\n    \"url-filters\": \"Filtres des URL\",\n    \"select-your-sites-language\": \"Sélectionnez la langue de votre site.\",\n    \"timezone\": \"Fuseau horaire\",\n    \"select-a-timezone-for-a-correct\": \"Sélectionnez un fuseau horaire pour afficher correctement la date et l’heure sur votre site.\",\n    \"locale\": \"Localisation\",\n    \"date-and-time-formats\": \"Format de la date et de l’heure\",\n    \"date-format\": \"Format de la Date\",\n    \"current-format\": \"Format actuel\",\n    \"version\": \"Version\",\n    \"author\": \"Auteur\",\n    \"activate\": \"Activer\",\n    \"deactivate\": \"Désactiver\",\n    \"edit-category\": \"Modifier la catégorie\",\n    \"delete\": \"Supprimer\",\n    \"password\": \"Mot de passe\",\n    \"confirm-password\": \"Confirmation du mot de passe\",\n    \"editor\": \"Rédacteur\",\n    \"administrator\": \"Administrateur\",\n    \"edit-user\": \"Modifier l’utilisateur\",\n    \"edit-content\": \"Modifier le contenu\",\n    \"profile\": \"Profil\",\n    \"change-password\": \"Modifier le mot de passe\",\n    \"enabled\": \"Activé\",\n    \"disable-the-user\": \"Désactiver l’utilisateur\",\n    \"profile-picture\": \"Image de profil\",\n    \"edit-or-delete-your-categories\": \"Modifier ou supprimer vos catégories\",\n    \"create-a-new-category-to-organize-your-content\": \"Créer une nouvelle catégorie pour organiser votre contenu\",\n    \"confirm-delete-this-action-cannot-be-undone\": \"Confirmer la suppression, cette action n’est pas réversible.\",\n    \"do-you-want-to-disable-the-user\": \"Voulez-vous désactiver l’utilisateur ?\",\n    \"new-password\": \"Nouveau mot de passe\",\n    \"you-can-change-this-field-when-save-the-current-changes\": \"Vous pouvez modifier ce champ lorsque vous enregistrez les modifications en cours.\",\n    \"items-per-page\": \"Articles par page\",\n    \"invite-a-friend-to-collaborate-on-your-site\": \"Inviter un ami à collaborer sur votre site\",\n    \"number-of-items-to-show-per-page\": \"Nombre d’éléments à afficher par page.\",\n    \"website-or-blog\": \"Site ou Blog\",\n    \"order-content-by\": \"Organiser le contenu par\",\n    \"edit-or-delete-content-from-your-site\": \"Gestionnaire de contenu\",\n    \"order-the-content-by-date-to-build-a-blog\": \"Trier le contenu par date pour créer un blog ou par position pour créer un site.\",\n    \"default-content-status\": \"Statut par défaut du contenu\",\n    \"default-status-for-new-content\": \"Choisissez si le nouveau contenu est créé comme Publié ou Brouillon par défaut.\",\n    \"page-not-found-content\": \"Hé! il semblerait que la page n’existe pas.\",\n    \"page-not-found\": \"Page non trouvée.\",\n    \"predefined-pages\": \"Pages prédéfinies\",\n    \"returning-page-when-the-page-doesnt-exist\": \"Retour sur la page précédente lorsque la page n’existe pas, laissez-la vide si vous souhaitez afficher un message par défaut.\",\n    \"returning-page-for-the-main-page\": \"Retour sur la page principale, laissez-la vide si vous voulez afficher toutes les pages sur la page principale.\",\n    \"full-url-of-your-site\": \"Adresse URL complète de votre site. Avec le protocole HTTP ou HTTPS (uniquement si vous avez activé le protocole SSL sur votre serveur).\",\n    \"with-the-locales-you-can-set-the-regional-user-interface\": \"Avec les paramètres régionaux, vous pouvez définir l’interface utilisateur régionale, telle que les dates dans votre langue. Les paramètres régionaux doivent être installés sur votre système.\",\n    \"bludit-installer\": \"Installation de Bludit\",\n    \"choose-your-language\": \"Sélectionnez votre langue\",\n    \"next\": \"Suivant\",\n    \"complete-the-form-choose-a-password-for-the-username-admin\": \"Complétez le formulaire et choisissez un mot de passe pour l’utilisateur « admin »\",\n    \"show-password\": \"Afficher le mot de passe\",\n    \"install\": \"Installer\",\n    \"login\": \"S’identifier\",\n    \"back-to-login-form\": \"Retour à la page de connexion\",\n    \"get-login-access-code\": \"Obtenir le code d’accès de connexion\",\n    \"email-access-code\": \"Code d’accès à la messagerie\",\n    \"whats-next\": \"Pour la prochaine étape\",\n    \"username-or-password-incorrect\": \"Nom d’utilisateur ou mot de passe incorrect.\",\n    \"follow-bludit-on\": \"Suivez Bludit sur\",\n    \"this-is-a-brief-description-of-yourself-our-your-site\": \"Ceci est une brève description de vous-même ou de votre site, pour modifier ce texte aller dans le panneau d’administration, paramètres -> plugins et configurer le plugin « à propos ».\",\n    \"new-version-available\": \"Nouvelle version disponible\",\n    \"new-category-created\": \"Nouvelle catégorie créée\",\n    \"category-deleted\": \"Catégorie supprimée\",\n    \"category-edited\": \"Catégorie éditée\",\n    \"new-user-created\": \"Nouvel utilisateur ajouté\",\n    \"user-edited\": \"Utilisateur édité\",\n    \"user-deleted\": \"Utilisateur supprimé.\",\n    \"recommended-for-recovery-password-and-notifications\": \"Recommandé pour le mot de passe de récupération et les notifications.\",\n    \"authentication-token\": \"Jeton d'authentification\",\n    \"token\": \"Jeton\",\n    \"current-status\": \"Statut actuel\",\n    \"upload-image\": \"Envoyer une image\",\n    \"the-changes-have-been-saved\": \"Les modifications ont été sauvegardées.\",\n    \"label\": \"Étiquette\",\n    \"links\": \"Liens\",\n    \"this-title-is-almost-always-used-in-the-sidebar-of-the-site\": \"Ce titre est presque toujours utilisé dans la barre latérale du site.\",\n    \"password-must-be-at-least-6-characters-long\": \"Le mot de passe doit contenir au moins 6 caractères\",\n    \"ip-address-has-been-blocked\": \"Votre adresse IP a été bloquée.\",\n    \"try-again-in-a-few-minutes\": \"Essayez de nouveau dans quelques minutes.\",\n    \"content-published-from-scheduler\": \"Contenu publié à partir du planificateur\",\n    \"blog\": \"Blog\",\n    \"complete-all-fields\": \"Remplissez tous les champs\",\n    \"static\": \"Statique\",\n    \"about-your-site-or-yourself\": \"À propos de votre site ou de vous-même\",\n    \"homepage\": \"Page d’accueil\",\n    \"disabled\": \"Désactivé\",\n    \"to-enable-the-user-you-must-set-a-new-password\": \"Pour activer l’utilisateur, vous devez définir un nouveau mot de passe.\",\n    \"delete-the-user-and-associate-his-content-to-admin-user\": \"Supprimer l’utilisateur et associer son contenu à l’administrateur.\",\n    \"delete-the-user-and-all-his-content\": \"Supprimer l’utilisateur et tout son contenu.\",\n    \"user-disabled\": \"Utilisateur désactivé\",\n    \"user-password-changed\": \"Mot de passe utilisateur modifié.\",\n    \"the-password-and-confirmation-password-do-not-match\": \"Le mot de passe et la confirmation du mot de passe, ne correspondent pas.\",\n    \"scheduled-content\": \"Contenu planifié\",\n    \"there-are-no-scheduled-content\": \"Il n’y a pas de contenu planifié actuellement.\",\n    \"new-content-created\": \"Nouveau contenu créé\",\n    \"content-edited\": \"Contenu édité\",\n    \"content-deleted\": \"Contenu supprimé\",\n    \"undefined\": \"Indéfini\",\n    \"create-new-content-for-your-site\": \"Créer un nouveau contenu pour votre site.\",\n    \"order-items-by\": \"Trier les articles par\",\n    \"all-content\": \"Tout le contenu\",\n    \"dynamic\": \"Dynamique\",\n    \"type\": \"Type\",\n    \"draft-content\": \"Contenu brouillon\",\n    \"post\": \"Article\",\n    \"default\": \"Défaut\",\n    \"latest-content\": \"Dernier contenu\",\n    \"default-message\": \"Message par défaut\",\n    \"no-parent\": \"Aucun parent\",\n    \"have-you-seen-my-ball\": \"Avez-vous vu ma balle ?\",\n    \"pagebreak\": \"Saut de page\",\n    \"pages\": \"Pages\",\n    \"this-plugin-may-not-be-supported-by-this-version-of-bludit\": \"Ce plugin peut ne pas être supporté par cette version de Bludit\",\n    \"previous\": \"Précédent\",\n    \"previous-page\": \"Page précédente\",\n    \"next-page\": \"Page suivante\",\n    \"scheduled\": \"Planifiée\",\n    \"this-token-is-similar-to-a-password-it-should-not-be-shared\": \"Ce jeton est similaire à un mot de passe, il ne doit pas être partagé.\",\n    \"congratulations-you-have-successfully-installed-your-bludit\": \"Félicitations, vous avez réussi à installer votre site sous Bludit.\",\n    \"this-theme-may-not-be-supported-by-this-version-of-bludit\": \"Ce thème peut ne pas être pris en charge par cette version de Bludit.\",\n    \"read-more\": \"Lire la suite\",\n    \"remember-me\": \"Se souvenir de moi\",\n    \"plugins-position\": \"Position du plugin\",\n    \"plugins-sorted\": \"Plugins triés\",\n    \"plugins-position-changed\": \"La position du plugin a changé\",\n    \"drag-and-drop-to-set-the-position-of-the-plugin\": \"Glisser-déposer pour régler la position des plug-ins\",\n    \"change-the-position-of-the-plugins\": \"Changer la position des plug-ins\",\n    \"reading-time\": \"Temps de lecture\",\n    \"minutes\": \"minutes\",\n    \"minute\": \"minute\",\n    \"example-page-1-slug\": \"creer-votre-propre-contenu\",\n    \"example-page-1-title\": \"Créez votre propre contenu\",\n    \"example-page-1-content\": \"Commencez à écrire votre propre contenu ou modifiez celui-ci pour l’adapter à vos besoins. Pour créer, modifier ou supprimer du contenu, vous devez vous connecter au [panneau d’administration](.\\/admin) avec le nom d’utilisateur `admin` et le mot de passe que vous avez défini lors du processus d'installation.\",\n    \"example-page-2-slug\": \"configurez-votre-nouveau-site\",\n    \"example-page-2-title\": \"Configurez votre nouveau site\",\n    \"example-page-2-content\": \"Mettez à jour les paramètres de votre site à partir du [panneau d’administration](.\\/admin), vous pouvez modifier le titre, la description et les réseaux sociaux dans les [Paramètres généraux](.\\/admin\\/settings).\",\n    \"example-page-3-slug\": \"suivez-bludit\",\n    \"example-page-3-title\": \"Suivez Bludit\",\n    \"example-page-3-content\": \"Restez informé sur l’actualité, les nouvelles versions, les nouveaux thèmes ou les nouveaux plugins sur nos réseaux sociaux <a href=\\\"https:\\/\\/www.facebook.com\\/bluditcms\\/\\\" target=\\\"_blank\\\">Facebook<\\/a>, <a href=\\\"https:\\/\\/www.twitter.com\\/bludit\\/\\\" target=\\\"_blank\\\">Twitter<\\/a> et <a href=\\\"https:\\/\\/www.youtube.com\\/c\\/Bluditcms\\\" target=\\\"_blank\\\">YouTube<\\/a> ou visitez notre <a href=\\\"https:\\/\\/blog.bludit.com\\\" target=\\\"_blank\\\">Blog<\\/a>.\",\n    \"example-page-4-slug\": \"a-propos\",\n    \"example-page-4-title\": \"À propos\",\n    \"example-page-4-content\": \"Votre page « À propos » est généralement l’une des pages les plus visitées sur votre site, elle doit être simple avec quelques éléments clés, tels que votre nom, qui vous êtes, comment vous contacter, une petite histoire, etc.\",\n    \"the-extension-zip-is-not-installed\": \"L’extension zip n’est pas installée sur votre serveur, pour utiliser ce plugin, vous devez installer cette extension.\",\n    \"there-are-no-sticky-pages-at-this-moment\": \"Il n’y a pas de pages épinglée pour le moment.\",\n    \"there-are-no-scheduled-pages-at-this-moment\": \"Il n’y a pas de publication programmée pour le moment\",\n    \"update\": \"Mise à jour\",\n    \"template\": \"Modèle\",\n    \"nickname\": \"Pseudo\",\n    \"disable-user\": \"Désactiver l’utilisateur\",\n    \"delete-user-and-keep-content\": \"Supprimer l’utilisateur et conserver le contenu\",\n    \"delete-user-and-delete-content\": \"Supprimer l’utilisateur ainsi que le contenu associé (Avertissement).\",\n    \"social-networks\": \"Réseaux sociaux\",\n    \"interval\": \"Intervalle\",\n    \"number-in-minutes-for-every-execution-of-autosave\": \"Temps en minutes pour exécuter la sauvegarde automatique.\",\n    \"extreme-friendly-url\": \"URL amicale (référencement naturel)\",\n    \"title-formats\": \"Format du titre\",\n    \"delete-content\": \"Supprimer le contenu\",\n    \"are-you-sure-you-want-to-delete-this-page\": \"Êtes-vous sûr de vouloir supprimer cette page?\",\n    \"sticky\": \"Épinglée\",\n    \"actions\": \"Actions\",\n    \"edit\": \"Éditer\",\n    \"options\": \"Options\",\n    \"enter-title\": \"Insérer un titre\",\n    \"media-manager\": \"Gestionnaire de médias\",\n    \"set-a-cover-image-from-external-url,-such-as-a-cdn-or-some-server-dedicated-for-images\": \"Définissez une image d’accroche à partir d’une URL externe, telle qu’un CDN ou un serveur dédié aux images.\",\n    \"user\": \"Utilisateur\",\n    \"date-format-format\": \"Format de la date : <code>YYYY-MM-DD Heures:Minutes:Secondes<\\/code>\",\n    \"start-typing-a-page-title-to-see-a-list-of-suggestions\": \"Commencez à taper le titre d’une page, pour voir s’afficher une liste de suggestions.\",\n    \"field-used-when-ordering-content-by-position\": \"Champ utilisé lorsque le paramètre «contenu par position» est sélectionné.\",\n    \"write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page\": \"Écrivez un nom de modèle pour filtrer la page dans le thème et changer le style de la page.\",\n    \"write-the-tags-separated-by-commas\": \"Écrivez les balises séparées par des virgules.\",\n    \"apply-code-noindex-code-to-this-page\": \"Bloquer l’indexation à cette page <code>noindex<\\/code>.\",\n    \"this-tells-search-engines-not-to-show-this-page-in-their-search-results\": \"Cela indique aux moteurs de recherche de ne pas afficher cette page dans leurs résultats de recherche.\",\n    \"apply-code-nofollow-code-to-this-page\": \"Bloquer le suivi des liens à cette page <code>nofollow<\\/code>.\",\n    \"this-tells-search-engines-not-to-follow-links-on-this-page\": \"Cela indique aux moteurs de recherche de ne pas suivre les liens sur cette page.\",\n    \"apply-code-noarchive-code-to-this-page\": \"Bloquer la mise en cache à cette page <code>noarchive<\\/code>.\",\n    \"this-tells-search-engines-not-to-save-a-cached-copy-of-this-page\": \"Cela indique aux moteurs de recherche de ne pas enregistrer une copie en cache de cette page.\",\n    \"uncategorized\": \"Non classé\",\n    \"done\": \"Terminé\",\n    \"delete-category\": \"Supprimer la catégorie\",\n    \"are-you-sure-you-want-to-delete-this-category?\": \"Êtes-vous sûr de vouloir supprimer cette catégorie ?\",\n    \"confirm-new-password\": \"Confirmer le nouveau mot de passe.\",\n    \"the-nickname-is-almost-used-in-the-themes-to-display-the-author-of-the-content\": \"Le pseudo est souvent utilisé dans les thèmes pour afficher l’auteur du contenu.\",\n    \"allow-unicode\": \"Autoriser les caractères Unicode\",\n    \"allow-unicode-characters-in-the-url-and-some-part-of-the-system\": \"Autoriser les caractères Unicode dans les URLS et une partie du système.\",\n    \"variables-allowed\": \"Variables autorisées\",\n    \"tag\": \"Balise\",\n    \"drag-and-drop-to-sort-the-plugins\": \"Glisser-déposer pour trier les plugins.\",\n    \"seo\": \"SEO\",\n    \"documentation\": \"Documentation\",\n    \"forum-support\": \"Forum de support\",\n    \"chat-support\": \"Le support par chat.\",\n    \"quick-links\": \"Liens rapides\",\n    \"leave-empty-for-autocomplete-by-bludit\": \"Laisser vide pour un remplissage automatique par Bludit.\",\n    \"choose-a-password-for-the-user-admin\": \"Choisissez un mot de passe pour l’utilisateur <code>admin<\\/code>\",\n    \"access-denied\": \"Accès refusé\",\n    \"choose-images-to-upload\": \"Sélectionnez vos images à téléverser.\",\n    \"insert\": \"Insérer\",\n    \"upload\": \"Téléverser\",\n    \"autosave\": \"Enregistrement automatique\",\n    \"the-content-is-saved-as-a-draft-to-publish-it\": \"Le contenu est enregistré en tant que brouillon. Pour le publier, cliquez sur le bouton <b>Publier<\\/b> ou, si vous travaillez encore, cliquez sur <b>Enregistrer en tant que brouillon<\\/b>.\",\n    \"site\": \"Site\",\n    \"first\": \"Premier\",\n    \"last\": \"Dernier\",\n    \"there-are-no-pages-at-this-moment\": \"Il n’y a pas de pages à afficher pour le moment.\",\n    \"there-are-no-static-pages-at-this-moment\": \"Il n’y a pas de pages statiques à afficher pour le moment.\",\n    \"there-are-no-draft-pages-at-this-moment\": \"Il n’y a pas de brouillon à afficher pour le moment.\",\n    \"good-morning\": \"Bonjour\",\n    \"good-afternoon\": \"Bonne après-midi\",\n    \"good-evening\": \"Bonsoir\",\n    \"good-night\": \"Bonne nuit\",\n    \"hello\": \"Salut\",\n    \"there-are-no-images-for-the-page\": \"Il n’y a aucune images pour cette page.\",\n    \"select-cover-image\": \"Sélectionnez une image d’accroche.\",\n    \"this-plugin-depends-on-the-following-plugins\": \"Ce plugin dépend des plugins suivants.\",\n    \"no-pages-found\": \"Aucune page trouvée\",\n    \"system-updated\": \"Système mis à jour\",\n    \"security\": \"Sécurité\",\n    \"remove-cover-image\": \"Supprimer l’image d’accroche\",\n    \"width\": \"Largeur\",\n    \"height\": \"Hauteur\",\n    \"quality\": \"Qualité\",\n    \"thumbnails\": \"Miniatures\",\n    \"thumbnail\": \"Miniature\",\n    \"thumbnail-width-in-pixels\": \"Largeur de la miniature en pixels (px).\",\n    \"thumbnail-height-in-pixels\": \"Hauteur de la miniature en pixels (px).\",\n    \"thumbnail-quality-in-percentage\": \"Qualité des miniatures en pourcentage (%).\",\n    \"maximum-load-file-size-allowed:\": \"Taille maximale des fichiers autorisée :\",\n    \"file-type-is-not-supported\": \"Le type de fichier n’est pas supporté. Liste des extensions autorisées :\",\n    \"page-content\": \"Contenu de la page\",\n    \"markdown-parser\": \"Parseur au format Markdown\",\n    \"site-logo\": \"Logo du site\",\n    \"search\": \"Rechercher\",\n    \"search-plugins\": \"Recherche dans les plugins\",\n    \"enabled-plugins\": \"Plugins activés\",\n    \"disabled-plugins\": \"Plugins désactivés\",\n    \"remove-logo\": \"Supprimer le logo\",\n    \"preview\": \"Aperçu\",\n    \"author-can-write-and-edit-their-own-content\": \"Auteur : Peut écrire et éditer son propre contenu. Rédacteur : Peut écrire et éditer le contenu d'autres personnes.\",\n    \"custom-fields\": \"Champs personnalisés\",\n    \"define-custom-fields-for-the-content\": \"Définissez des champs personnalisés pour le contenu. En savoir plus sur les champs personnalisés dans la <a href='https:\\/\\/docs.bludit.com\\/en\\/content\\/custom-fields'>documentation<\\/a>.\",\n    \"start-typing-to-see-a-list-of-suggestions\": \"Commencez à taper pour voir une liste de suggestions.\",\n    \"view\": \"Vue\",\n    \"insert-thumbnail\": \"Insérer une miniature\",\n    \"insert-linked-thumbnail\": \"Insérer une miniature liée\",\n    \"no-tags\": \"Aucun tag\",\n    \"no-categories\": \"Aucune catégorie\",\n    \"navigation\": \"Navigation\",\n    \"thumbnail-generation\": \"Génération de miniatures\",\n    \"enable-disable-automatic-thumbnail-generation-on-image-upload\": \"Activer ou désactiver la génération automatique de miniatures lors du téléchargement d'images.\"\n}\n"
  },
  {
    "path": "bl-languages/gr.json",
    "content": "{\n    \"language-data\": {\n        \"native\": \"Ελληνικά\",\n        \"english-name\": \"Greek\",\n        \"locale\": \"el, el_CY, el_GR\",\n        \"last-update\": \"2017-09-10\",\n        \"authors\": [\n            \"Konstantinos www.klillis.com\",\n            \"penglezos www.penglezos.com\",\n            \"\",\n            \"\"\n        ]\n    },\n    \"dates\": {\n        \"Mon\": \"Δευ\",\n        \"Tue\": \"Τρ\",\n        \"Wed\": \"Τετ\",\n        \"Thu\": \"Πεμ\",\n        \"Fri\": \"Παρ\",\n        \"Sat\": \"Σαβ\",\n        \"Sun\": \"Κυρ\",\n        \"Monday\": \"Δευτέρα\",\n        \"Tuesday\": \"Τρίτη\",\n        \"Wednesday\": \"Τετάρτη\",\n        \"Thursday\": \"Πέμπτη\",\n        \"Friday\": \"Παρασκευή\",\n        \"Saturday\": \"Σάββατο\",\n        \"Sunday\": \"Κυριακή\",\n        \"Jan\": \"Ιαν\",\n        \"Feb\": \"Φεβ\",\n        \"Mar\": \"Μαρ\",\n        \"Apr\": \"Απρ\",\n        \"Jun\": \"Ιουν\",\n        \"Jul\": \"Ιουλ\",\n        \"Aug\": \"Αυγ\",\n        \"Sep\": \"Σεπτ\",\n        \"Oct\": \"Οκτ\",\n        \"Nov\": \"Νοε\",\n        \"Dec\": \"Δεκ\",\n        \"January\": \"Ιανουαρίου\",\n        \"February\": \"Φεβρουαρίου\",\n        \"March\": \"Μαρτίου\",\n        \"April\": \"Απριλίου\",\n        \"May\": \"Μαΐου\",\n        \"June\": \"Ιουνίου\",\n        \"July\": \"Ιουλίου\",\n        \"August\": \"Αυγούστου\",\n        \"September\": \"Σεπτεμβρίου\",\n        \"October\": \"Οκτωβρίου\",\n        \"November\": \"Νοεμβρίου\",\n        \"December\": \"Δεκεμβρίου\"\n    },\n    \"dashboard\": \"Πίνακας Ελέγχου\",\n    \"manage-users\": \"Διαχείριση Χρηστών\",\n    \"manage-categories\": \"Διαχείριση κατηγοριών\",\n    \"general-settings\": \"Γενικές Ρυθμίσεις\",\n    \"advanced-settings\": \"Προχωρημένες Ρυθμίσεις\",\n    \"thanks-for-supporting-bludit\": \"Ευχαριστούμε για την υποστήριξη στο Bludit\",\n    \"upgrade-to-bludit-pro\": \"Αναβαθμίστε στο Bludit PRO\",\n    \"language\": \"Γλώσσα\",\n    \"plugin\": \"Plugin\",\n    \"plugins\": \"Πρόσθετα\",\n    \"developers\": \"Developers\",\n    \"themes\": \"Θέματα\",\n    \"about\": \"Σχετικά\",\n    \"url\": \"URL\",\n    \"welcome\": \"Καλωσήρθατε\",\n    \"logout\": \"Αποσύνδεση\",\n    \"website\": \"Ιστοσελίδα\",\n    \"publish\": \"Δημοσίευσε\",\n    \"manage\": \"Διαχείριση\",\n    \"content\": \"Περιεχόμενο\",\n    \"category\": \"Κατηγορία\",\n    \"categories\": \"Κατηγορίες\",\n    \"users\": \"Χρήστες\",\n    \"settings\": \"Ρυθμίσεις\",\n    \"general\": \"Γενικά\",\n    \"advanced\": \"Προχωρημένα\",\n    \"new-content\": \"Νέο περιεχόμενο\",\n    \"manage-content\": \"Διαχείριση περιεχομένου\",\n    \"add-new-content\": \"Προσθήκη νέου περιεχομένου\",\n    \"new-category\": \"Νέα κατηγορία\",\n    \"you-do-not-have-sufficient-permissions\": \"Δεν έχεις τα επιτρεπτά διακαιώματα για την πρόσβαση της Σελίδας, επικοινωνήστε με τον διαχειρηστή.\",\n    \"add-a-new-user\": \"Προσθήκη Χρήστη\",\n    \"url-associated-with-the-content\": \"URL συνδεδεμένο με το περιεχόμενο.\",\n    \"language-and-timezone\": \"Γλώσσα και Ζώνη Ώρας\",\n    \"change-your-language-and-region-settings\": \"Αλλάξτε τις ρυθμίσεις γλώσσας και περιοχής.\",\n    \"notifications\": \"Ειδοποιήσεις\",\n    \"plugin-activated\": \"Plugin ενεργοποιημένο\",\n    \"plugin-deactivated\": \"Plugin απενεργοποιημένο\",\n    \"new-theme-configured\": \"New theme configured\",\n    \"settings-changes\": \"Αλλαγές στις ρυθμίσεις\",\n    \"plugin-configured\": \"Plugin ρυθμίστηκε\",\n    \"welcome-to-bludit\": \"Καλώς Ορίσατε στο Βludit\",\n    \"statistics\": \"Στατιστικά\",\n    \"drafts\": \"Πρόχειρα\",\n    \"title\": \"Τίτλος\",\n    \"save\": \"Αποθήκευση\",\n    \"save-as-draft\": \"Αποθήκευση ως πρόχειρο\",\n    \"cancel\": \"Ακύρωση\",\n    \"description\": \"Περιγραφή\",\n    \"this-field-can-help-describe-the-content\": \"Αυτό το πεδίο μπορεί να βοηθήσει στην περιγραφή του περιεγχομένου σε λίγες λέξεις. Όριο χαρακτήρων: 150.\",\n    \"images\": \"Εικόνες\",\n    \"error\": \"Πρόβλημα\",\n    \"supported-image-file-types\": \"Υποστηρισμένες εικόνες (τύποι αρχείων)\",\n    \"cover-image\": \"Εικόνα Εξώφυλλου\",\n    \"drag-and-drop-or-click-here\": \"Σύρτε και αφήστε ή κάντε κλικ εδώ\",\n    \"there-are-no-images\": \"Δεν υπάρχουν εικόνες\",\n    \"upload-and-more-images\": \"Ανεβάστε περισσότερες εικόνες\",\n    \"click-on-the-image-for-options\": \"Επιλέξτε την εικόνα για επιλογές.\",\n    \"click-here-to-cancel\": \"Επιλέξτε εδώ για να ακυρώσετε.\",\n    \"insert-image\": \"Εισαγωγή Εικόνας\",\n    \"set-as-cover-image\": \"Εφαρμογή ως εικόνα εξώφυλλο\",\n    \"delete-image\": \"Διαγραφή Εικόνας\",\n    \"tags\": \"Ετικέτες\",\n    \"add\": \"Προσθήκη\",\n    \"status\": \"Κατάσταση\",\n    \"published\": \"Δημοσιοποιημένο\",\n    \"draft\": \"Πρόχειρο\",\n    \"empty-title\": \"Κενός Τίτλος\",\n    \"empty\": \"empty\",\n    \"date\": \"Ημέρα\",\n    \"external-cover-image\": \"External cover image\",\n    \"parent\": \"Γονικό\",\n    \"full-image-url\": \"Full image URL.\",\n    \"this-field-is-used-when-you-order-the-content-by-position\": \"This field is used when you order the content by position.\",\n    \"position\": \"Θέση\",\n    \"friendly-url\": \"Φιλικό URL\",\n    \"image-description\": \"Περιγραφή Εικόνας\",\n    \"add-a-new-category\": \"Προσθήκη νέας κατηγορίας\",\n    \"name\": \"Όνομα\",\n    \"username\": \"Όνομα Χρήστη\",\n    \"first-name\": \"Μικρό Όνομα\",\n    \"last-name\": \"Επώνυμο\",\n    \"to-schedule-the-content-select-the-date-and-time\": \"Για τον προγραμματισμό της ανάρτησης, επιλέξτε την ημερομηνία και ώρα, το status πρέπει να είναι ρυθμισμένο στο \\\"Published\\\".\",\n    \"email\": \"Μήνυμα Ηλεκτρονικού Ταχυδρομείου (e-mail)\",\n    \"role\": \"Ρόλος\",\n    \"registered\": \"Εγγεγραμμένος\",\n    \"site-information\": \"Πληροφορίες Ιστοσελίδας\",\n    \"site-title\": \"Τίτλος Ιστότοπου\",\n    \"use-this-field-to-name-your-site\": \"Χρησιμοποιήσετε αυτό το πεδίο για να δώσετε όνομα στην Ιστοσελίδα σας, θα εμφανιστεί στην κορυφή απο κάθε σελίδα της Ιστοσελίδα σας.\",\n    \"site-slogan\": \"Σύνθημα Ιστότοπου\",\n    \"use-this-field-to-add-a-catchy-phrase\": \"Χρησιμοποιήσετε αυτό το πεδίο ώστε να προσθέσετε μια φράση για την Ιστοσελίδα σας.\",\n    \"site-description\": \"Περιγραφή Ιστότοπου\",\n    \"you-can-add-a-site-description-to-provide\": \"Μπορείτε να προσθέσετε περιγραφή στην ιστοσελίδα σας ώστε να προσφέρετε μια μικρή περιγραφή ή βιογραφία για την Ιστοσελίδα σας.\",\n    \"footer-text\": \"Κείμενο Υποσελίδας\",\n    \"you-can-add-a-small-text-on-the-bottom\": \"Μπορείτε να προσθέσετε ένα μικρό κείμενο στον πάτο κάθε σελίδας πχ: δικαιώματα, διαχειρηστής, ημερομηνίες κτλπ.\",\n    \"social-networks-links\": \"Συνδεσμοι κοινωνικού δικτύου\",\n    \"site-url\": \"URL Ιστότοπου\",\n    \"email-account-settings\": \"Ρυθμίσεις Email λογαριασμού\",\n    \"sender-email\": \"Email αποστολέα\",\n    \"emails-will-be-sent-from-this-address\": \"Τα Emails θα σταλθούν απο αυτή την διεύθυνση.\",\n    \"url-filters\": \"Φίλτρα URL\",\n    \"select-your-sites-language\": \"Επιλογή Γλώσσας της Ιστοσελίδας σας.\",\n    \"timezone\": \"Ζώνη Ώρας\",\n    \"select-a-timezone-for-a-correct\": \"Επιλογή ζώνη ώρας για μια σωστή ημέρα\\/ώρα που θα εμφανιστεί στην Ιστοσελίδα σας.\",\n    \"locale\": \"Τοποθεσία\",\n    \"date-and-time-formats\": \"Μορφή Ημέρας και Ώρας\",\n    \"date-format\": \"Μορφή Ημέρας\",\n    \"current-format\": \"Τωρινή Μορφή\",\n    \"version\": \"Έκδοση\",\n    \"author\": \"Συγγραφέας\",\n    \"activate\": \"Ενεργοποίημενο\",\n    \"deactivate\": \"Απενεργοποιημένο\",\n    \"edit-category\": \"Επεξεργασία κατηγορίας\",\n    \"delete\": \"Διαγραφή\",\n    \"password\": \"Κωδικός Πρόσβασης\",\n    \"confirm-password\": \"Επιβεβαίωση Κωδικού\",\n    \"editor\": \"Εκδότης\",\n    \"administrator\": \"Διαχειριστής\",\n    \"edit-user\": \"Επεξεργασία Χρήστη\",\n    \"edit-content\": \"Επεξεργασία περιεχομένου\",\n    \"profile\": \"Προφίλ\",\n    \"change-password\": \"Αλλαγή Κωδικού\",\n    \"enabled\": \"Ενεργοποίημενο\",\n    \"disable-the-user\": \"Απενεργοποίηση του χρήστη\",\n    \"profile-picture\": \"Εικόνα Προφίλ\",\n    \"edit-or-delete-your-categories\": \"Επεξεργασία ή διαγραφή κατηγοριών\",\n    \"create-a-new-category-to-organize-your-content\": \"Δημιουργία νέας κατηγορίας για οργάνωση του περιεχομένου\",\n    \"confirm-delete-this-action-cannot-be-undone\": \"Επιβεβαίωση διαγραφής, αυτή η πράξη δεν μπορεί να αναιρεθεί.\",\n    \"do-you-want-to-disable-the-user\": \"Επιθυμείτε την απενεργοποίηση του χρήστη;\",\n    \"new-password\": \"Νέος Κωδικός\",\n    \"you-can-change-this-field-when-save-the-current-changes\": \"Μπορείς να αλλάξεις το πεδίο μετά την αποθήκευση των αλλαγών.\",\n    \"items-per-page\": \"Αντικείμενα ανα σελίδα\",\n    \"invite-a-friend-to-collaborate-on-your-site\": \"Προσκάλεσε ενα φίλο να συνεργαστεί στην ιστοσελίδα σου\",\n    \"number-of-items-to-show-per-page\": \"Πλήθος αντικειμένων να φαίνονται ανα σελίδα.\",\n    \"website-or-blog\": \"Website ή Blog\",\n    \"order-content-by\": \"Ταξινόμηση περιεχομένου ανα\",\n    \"edit-or-delete-content-from-your-site\": \"Επεξεργασία ή διαγραφή περιεχομένου από την ιστοσελίδα\",\n    \"order-the-content-by-date-to-build-a-blog\": \"Ταξινόμηση του περιεχομένου ανα ημερομηνία για τη δημιουργία Blog, ή κατά περιεχόμενο για το χτίσιμο ιστοσελίδας.\",\n    \"page-not-found-content\": \"Hey! Δυστυχώς η ιστοσελίδα δεν υπάρχει πλέον.\",\n    \"page-not-found\": \"Δεν βρέθηκε η σελίδα\",\n    \"predefined-pages\": \"Προκαθορισμένες σελίδες\",\n    \"returning-page-when-the-page-doesnt-exist\": \"Σελίδα επιστροφής, όταν η ιστοσελίδα δεν υπάρχει, άστο κενό αν θέλεις να εμφανίζει ένα προεπιλεγμένο μήνυμα.\",\n    \"returning-page-for-the-main-page\": \"Σελίδα επιστροφής για την κεντρική σελίδα, άστο κενό αν θέλειςνα εμφανίζονται όλες οι σελίδες στην κεντρική σελίδα.\",\n    \"full-url-of-your-site\": \"Πλήρες URL της ιστοσελίδας. Πρόσθεσε και το HTTP ή HTTPS (μόνο αν έχεις ενεργοποιήσει SSL στον server).\",\n    \"with-the-locales-you-can-set-the-regional-user-interface\": \"Με τα locales, μπορείς να ορίζεις τις τοπικές ρυθμίσεις, όπως οι ημερομηνίες στη γλώσσα σου. Τα locales πρέπει να είναι εγκατεστημένα στο σύστημά σου.\",\n    \"bludit-installer\": \"Εγκατάσταση Bludit\",\n    \"choose-your-language\": \"Επιλέξτε την Γλώσσα σας\",\n    \"next\": \"Επόμενο\",\n    \"complete-the-form-choose-a-password-for-the-username-admin\": \"Ολοκληρώστε αυτή την φόρμα, επιλέξτε κωδικό για το όνομα χρήστη « admin »\",\n    \"show-password\": \"Εμφάνιση Κωδικού\",\n    \"install\": \"Εγκατάσταση\",\n    \"login\": \"Σύνδεση\",\n    \"back-to-login-form\": \"Επιστροφή στην φόρμα Σύνδεσης\",\n    \"get-login-access-code\": \"Πάρε τον κωδικό Σύνδεσης\",\n    \"email-access-code\": \"Κωδικός Πρόσβασης Email\",\n    \"whats-next\": \"Τι είναι επόμενο\",\n    \"username-or-password-incorrect\": \"Το Όνομα Χρήστη ή ο Κωδικός Πρόσβασης είναι λάθος\",\n    \"follow-bludit-on\": \"Ακολουθείστε το Bludit σε: \",\n    \"this-is-a-brief-description-of-yourself-our-your-site\": \"Αυτή είναι μια σύντομη περιγραφή του εαυτού σας στην ιστοσελίδα σας, για να αλλάξετε αυτό το κείμενο πηγαίνετε στο μενού διαχείρησης, ρυθμίσεις, πρόσθετα, και ρυθμίσεις σχετικά με τα πρόσθετα.\",\n    \"new-version-available\": \"Νέα έκδοση είναι διαθέσιμη\",\n    \"new-category-created\": \"Δημιουργήθηκε νέα κατηγορία\",\n    \"category-deleted\": \"Κατηγορία διαγράφηκε\",\n    \"category-edited\": \"Κατηγορία τροποποιήθηκε\",\n    \"new-user-created\": \"Δημιουργήθηκε νέος χρήστος\",\n    \"user-edited\": \"Ο χρήστης τροποποιήθηκε\",\n    \"user-deleted\": \"Ο Χρήστης Διαγράφηκε\",\n    \"recommended-for-recovery-password-and-notifications\": \"Προτείνεται για ανάκτηση κωδικού και ειδοποιήσεων.\",\n    \"authentication-token\": \"Authentication Token\",\n    \"token\": \"Token\",\n    \"current-status\": \"Current status\",\n    \"upload-image\": \"Ανέβασμα Εικόνας\",\n    \"the-changes-have-been-saved\": \"Οι αλλαγές έχουν αποθηκευτεί\",\n    \"label\": \"Label\",\n    \"links\": \"Links\",\n    \"this-title-is-almost-always-used-in-the-sidebar-of-the-site\": \"Αυτός ο τίτλος σχεδόν πάντα χρησιμοποιείται στο πλάι (sidebar) της ιστοσελίδας.\",\n    \"password-must-be-at-least-6-characters-long\": \"Ο κωδικός πρέπει να είναι τουλάχιστον 6 χαρακτήρες\",\n    \"ip-address-has-been-blocked\": \"Η διεύθυνση IP έχει μπλοκαριστεί.\",\n    \"try-again-in-a-few-minutes\": \"Προσπαθήστε ξανά σε μερικά λεπτά.\",\n    \"content-published-from-scheduler\": \"Περιεχόμενο ανακοινώθηκε από τον προγραμματιστή (scheduler)\",\n    \"blog\": \"Blog\",\n    \"complete-all-fields\": \"Συμπληρώστε όλα τα πεδία\",\n    \"static\": \"Static\",\n    \"about-your-site-or-yourself\": \"Σχετικά με την ιστοσελίδα ή με εσάς\",\n    \"homepage\": \"Αρχική σελίδα\",\n    \"disabled\": \"Απενεργοποιημένο\",\n    \"to-enable-the-user-you-must-set-a-new-password\": \"Για την ενεργοποίηση του χρήστη πρέπει να ορίσετε νέο κωδικό πρόσβασης.\",\n    \"delete-the-user-and-associate-his-content-to-admin-user\": \"Διαγραφή του χρήστη και συσχετισμός του περιεχομένου του στον χρήστη admin\",\n    \"delete-the-user-and-all-his-content\": \"Διαγραφή του χρήστη και όλου του περιεχομένου του\",\n    \"user-disabled\": \"Απενεργοποιημένος χρήστης\",\n    \"user-password-changed\": \"Ο κωδικός πρόσβασης άλλαξε\",\n    \"the-password-and-confirmation-password-do-not-match\": \"Ο κωδικός πρόσβασης και η επιβεβαίωσή του δεν ταιριάζουν\",\n    \"scheduled-content\": \"Προγραμματισμένο περιεχόμενο\",\n    \"there-are-no-scheduled-content\": \"Δεν υπάρχει προγραμματισμένο περιεχόμενο.\",\n    \"new-content-created\": \"Νέο περιεχόμενο δημιουργήθηκε\",\n    \"content-edited\": \"Το περιεχόμενο τροποποιήθηκε\",\n    \"content-deleted\": \"Το περιεχόμενο διεγράφη\",\n    \"undefined\": \"Undefined\",\n    \"create-new-content-for-your-site\": \"Δημιουργία νέου περιεχομένου για την ιστοσελίδα\",\n    \"order-items-by\": \"Ταξινόμηση αντικειμένων κατά\",\n    \"all-content\": \"Όλο το περιεχόμενο\",\n    \"dynamic\": \"Δυναμικό\",\n    \"type\": \"Type\",\n    \"draft-content\": \"Πρόχειρο περιεχόμενο\",\n    \"post\": \"Ανάρτηση\",\n    \"default\": \"Προεπιλεγμένο\",\n    \"latest-content\": \"Latest content\",\n    \"default-message\": \"Default message\",\n    \"no-parent\": \"No parent\",\n    \"have-you-seen-my-ball\": \"Έχεις δει την μπάλα μου;\",\n    \"pagebreak\": \"Αλλαγή σελίδας (page break)\",\n    \"pages\": \"Σελίδες\",\n    \"this-plugin-may-not-be-supported-by-this-version-of-bludit\": \"Αυτό το plugin δεν υποστηρίζεται από την τρέχουσα έκδοση του Bludit\",\n    \"previous\": \"Προηγούμενο\",\n    \"previous-page\": \"Προηγούμενη σελίδα\",\n    \"next-page\": \"Επόμενη σελίδα\",\n    \"scheduled\": \"Προγραμματισμένο\",\n    \"this-token-is-similar-to-a-password-it-should-not-be-shared\": \"This token is similar to a password, it should not be shared.\",\n    \"congratulations-you-have-successfully-installed-your-bludit\": \"Συγχαρητήρια, εγκαταστήσατε με επιτυχία το **Bludit**\",\n    \"this-theme-may-not-be-supported-by-this-version-of-bludit\": \"Αυτό το θέμα, δεν υποστηρίζεται από την τρέχουσα έκδοση του Bludit\",\n    \"read-more\": \"Διαβάστε περισσότερα\",\n    \"remember-me\": \"Να με θυμάται\",\n    \"plugins-position\": \"Τοποθεσία Plugin\",\n    \"plugins-sorted\": \"Ταξινομημένα Plugins\",\n    \"plugins-position-changed\": \"Η θέση του Plugin άλλαξε\",\n    \"drag-and-drop-to-set-the-position-of-the-plugin\": \"Drag and Drop για να ορίσεις τη θέση των plugins\",\n    \"change-the-position-of-the-plugins\": \"Άλλαξε τη θέση των plugins\",\n    \"reading-time\": \"Χρόνος ανάγνωσης\",\n    \"minutes\": \"λεπτά\",\n    \"minute\": \"λεπτό\",\n    \"example-page-1-slug\": \"create-your-own-content\",\n    \"example-page-1-title\": \"Create your own content\",\n    \"example-page-1-content\": \"Ξεκίνα να γράφεις το δικό σου περιεχόμενο ή τροποποίησε το υπάρχον για να ταιριάζει στις ανάγκες σου. Για δημιουργία, τροποποίηση, ή διαγραφή περιεχομένου, χρειάζεται να έχεις κάνει login στο <a href=\\\".\\/admin\\/\\\">admin panel<\\/a> με το username `admin` και το password που όρισες κατά την εγκατάσταση.\",\n    \"example-page-2-slug\": \"set-up-your-new-site\",\n    \"example-page-2-title\": \"Δημιουργία της νέας σου ιστοσελίδας\",\n    \"example-page-2-content\": \"Ενημέρωσε τις ρυθμίσεις της ιστοσελίδας από το <a href=\\\".\\/admin\\/\\\">admin panel<\\/a>, μπορείς να αλλάξεις τον τίτλο, περιγραφή και τα κοινωνικά δίκτυα από τα <a href=\\\".\\/admin\\/settings\\\" target=\\\"_blank\\\">Settings > General<\\/a>.\",\n    \"example-page-3-slug\": \"follow-bludit\",\n    \"example-page-3-title\": \"Ακολουθήστε στο Bludit\",\n    \"example-page-3-content\": \"Πάρε πληροφορίες για νέα, νέες εκδόσεις, νέα θέματα ή Plugin στα κοινωνικά μας δίκτυα <a href=\\\"https:\\/\\/www.facebook.com\\/bluditcms\\/\\\" target=\\\"_blank\\\">Facebook<\\/a>, <a href=\\\"https:\\/\\/www.twitter.com\\/bludit\\/\\\" target=\\\"_blank\\\">Twitter<\\/a> and <a href=\\\"https:\\/\\/www.youtube.com\\/c\\/Bluditcms\\\" target=\\\"_blank\\\">YouTube<\\/a> ή επισκέψου το <a href=\\\"https:\\/\\/blog.bludit.com\\\" target=\\\"_blank\\\">Blog<\\/a>.\",\n    \"example-page-4-slug\": \"about\",\n    \"example-page-4-title\": \"Ποιοι είμαστε\",\n    \"example-page-4-content\": \"Your About page is typically one of the most visited pages on your site, need to be simple with a few key things, such as your name, who are you, how can contact you, a small story, etc.\",\n    \"the-extension-zip-is-not-installed\": \"The extension zip is not installed, to use this plugin you need to install the extension.\",\n    \"there-are-no-sticky-pages-at-this-moment\": \"There are no sticky pages at this moment.\",\n    \"there-are-no-scheduled-pages-at-this-moment\": \"There are no scheduled pages at this moment.\",\n    \"update\": \"Ενημέρωση\",\n    \"template\": \"Template\",\n    \"nickname\": \"Ψευδόνυμο\",\n    \"disable-user\": \"Απενεργοποίηση χρήστη\",\n    \"delete-user-and-keep-content\": \"Διαγραφή του χρήστη και διατήρηση περιεχομένου\",\n    \"delete-user-and-delete-content\": \"Διαγραφή χρήστη και διαγραφή περιεχομένου (Προσοχή)\",\n    \"social-networks\": \"Social Networks\",\n    \"interval\": \"Interval\",\n    \"number-in-minutes-for-every-execution-of-autosave\": \"Λεπτά για την επόμενη εκτέλεση αυτόματης αποθήκευσης.\",\n    \"extreme-friendly-url\": \"Extreme friendly URL\",\n    \"title-formats\": \"Title formats\",\n    \"delete-content\": \"Delete content\",\n    \"are-you-sure-you-want-to-delete-this-page\": \"Είστε σίγουροι για τη διαγραφή της σελίδας;\",\n    \"sticky\": \"Sticky\",\n    \"actions\": \"Actions\",\n    \"edit\": \"Edit\",\n    \"options\": \"Options\",\n    \"enter-title\": \"Εισάγετε τίτλο\",\n    \"media-manager\": \"Media Manager\",\n    \"set-a-cover-image-from-external-url,-such-as-a-cdn-or-some-server-dedicated-for-images\": \"Όρισε την εικόνα εξώφυλλο από εξωτερικό URL, όπως κάποιο CDN ή κάποιο server ορισμένο για εικόνες.\",\n    \"user\": \"Χρήστης\",\n    \"date-format-format\": \"Μορφή ημερομηνίας: <code>YYYY-MM-DD Hours:Minutes:Seconds<\\/code>\",\n    \"start-typing-a-page-title-to-see-a-list-of-suggestions\": \"Ξεκίνα την πληκτρολόγηση του τίτλου σελίδας, για να δεις μια λίστα με προτάσεις.\",\n    \"field-used-when-ordering-content-by-position\": \"Πεδίο που χρησιμοποιείται όταν ταξινομείται περιεχόμενο με τη θέση\",\n    \"write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page\": \"Γράψε το όνομα του template για να εντοπίσεις το θέμα που θα αλλάξει το στυλ της σελίδας.\",\n    \"write-the-tags-separated-by-commas\": \"Γράψε τα tags χωρισμένα με κόμμα.\",\n    \"apply-code-noindex-code-to-this-page\": \"Εφαρμογή <code>noindex<\\/code> σε αυτή τη σελίδα.\",\n    \"this-tells-search-engines-not-to-show-this-page-in-their-search-results\": \"Αυτό υποδεικνύει στις μηχανές αναζήτησης να μη δείξουν τη σελίδα στα αποτελέσματα αναζήτησής τους.\",\n    \"apply-code-nofollow-code-to-this-page\": \"Εφαρμογή <code>nofollow<\\/code> σε αυτή τη σελίδα.\",\n    \"this-tells-search-engines-not-to-follow-links-on-this-page\": \"Αυτό υποδεικνύει στις μηχανές αναζήτησης να μην ακολουθήσουν τα Links της σελίδας.\",\n    \"apply-code-noarchive-code-to-this-page\": \"Εφαρμογή <code>noarchive<\\/code> σε αυτή τη σελίδα.\",\n    \"this-tells-search-engines-not-to-save-a-cached-copy-of-this-page\": \"Αυτό υποδεικνύει στις μηχανές αναζήτησης να μην αποθηκεύουν ενα αντίγραφο της σελίδας στην cache τους.\",\n    \"uncategorized\": \"Χωρίς κατηγορία\",\n    \"done\": \"Έγινε\",\n    \"delete-category\": \"Διαγραφή κατηγορίας\",\n    \"are-you-sure-you-want-to-delete-this-category?\": \"Είστε σίγουροι οτι θέλετε να διαγράψετε αυτή την κατηγορία;\",\n    \"confirm-new-password\": \"Επιβεβαίωση νέου κωδικού πρόσβασης\",\n    \"the-nickname-is-almost-used-in-the-themes-to-display-the-author-of-the-content\": \"Το ψευδόνυμο χρησιμοποιείται ήδη από το θέμα για να δείξει τον δημιουργό του περιεχομένου\",\n    \"allow-unicode\": \"Να επιτρέπεται Unicode\",\n    \"allow-unicode-characters-in-the-url-and-some-part-of-the-system\": \"Να επιτρέπονται χαρακτήρες Unicode στο URL και σε άλλα σημεία του συστήματος.\",\n    \"variables-allowed\": \"Να επιτρέπονται μεταβλητές\",\n    \"tag\": \"Tag\",\n    \"drag-and-drop-to-sort-the-plugins\": \"Drag and Drop για την ταξινόμηση των plugins.\",\n    \"seo\": \"SEO\",\n    \"documentation\": \"Documentation\",\n    \"forum-support\": \"Forum υποστήριξης\",\n    \"chat-support\": \"Chat υποστήριξης\",\n    \"quick-links\": \"Γρήγορα links\",\n    \"leave-empty-for-autocomplete-by-bludit\": \"Αφήστε το κενό για αυτόματη συμπλήρωση από το Bludit.\",\n    \"choose-a-password-for-the-user-admin\": \"Επιλέξτε κωδικό πρόσβασης για το χρήστη <code>admin<\\/code>\",\n    \"access-denied\": \"Πρόσβαση μη επιτρεπτή\",\n    \"choose-images-to-upload\": \"Επιλέξτε τις εικόνες για ανέβασμα\",\n    \"insert\": \"Εισαγωγή\",\n    \"upload\": \"Ανέβασμα\",\n    \"autosave\": \"Αυτόματη αποθήκευση\",\n    \"the-content-is-saved-as-a-draft-to-publish-it\": \"Το περιεχόμενο αποθηκεύτηκε ως πρόχειρο. Για την δημοσίευσή του κάντε κλικ στο κουμπί <b>Publish<\\/b> ή αν το επεξεργάζεστε ακόμα πατήστε στο <b>Save as draft<\\/b>.\",\n    \"site\": \"Ιστοσελίδα\",\n    \"first\": \"Αρχή\",\n    \"last\": \"Τέλος\",\n    \"there-are-no-pages-at-this-moment\": \"Δεν υπάρχουν σελίδες αυτή τη στιγμή.\",\n    \"there-are-no-static-pages-at-this-moment\": \"Δεν υπάρχουν static σελίδες αυτή τη στιγμή.\",\n    \"there-are-no-draft-pages-at-this-moment\": \"Δεν υπάρχουν πρόχειρες σελίδες αυτή τη στιγμή.\",\n    \"good-morning\": \"Καλημέρα!\",\n    \"good-afternoon\": \"Καλησπέρα\",\n    \"good-evening\": \"Καλησπέρα\",\n    \"good-night\": \"Καληνύχτα\",\n    \"hello\": \"Γεια\",\n    \"there-are-no-images-for-the-page\": \"There are no images for the page.\",\n    \"select-cover-image\": \"Select cover image\",\n    \"this-plugin-depends-on-the-following-plugins\": \"Αυτό το plugin εξαρτάται από τα ακόλουθα plugins.\",\n    \"no-pages-found\": \"Δεν βρέθηκαν σελίδες\",\n    \"system-updated\": \"Το σύστημα ενημερώθηκε\",\n    \"security\": \"Ασφάλεια\",\n    \"remove-cover-image\": \"Διαγραφή cover image\",\n    \"width\": \"Πλάτος\",\n    \"height\": \"Ύψος\",\n    \"quality\": \"Ποιότητα\",\n    \"thumbnails\": \"Μικρογραφίες\",\n    \"thumbnail\": \"Μικρογραφία\",\n    \"thumbnail-width-in-pixels\": \"Πλάτος μικρογραφίας σε pixels (px).\",\n    \"thumbnail-height-in-pixels\": \"Ύψος μικρογραφίας σε pixels (px).\",\n    \"thumbnail-quality-in-percentage\": \"Ποιότητα μικρογραφίας σε ποσοστό (%).\",\n    \"maximum-load-file-size-allowed:\": \"Μέγιστο επιτρεπόμενο μέγεθος αρχείου:\",\n    \"file-type-is-not-supported\": \"Ο τύπος του αρχείου δεν υποστηρίζεται. Επιτρεπόμενοι τύποι:\",\n    \"page-content\": \"Περιεχόμενο σελίδας\",\n    \"markdown-parser\": \"Markdown parser\",\n    \"site-logo\": \"Logo ιστοσελίδας\",\n    \"search\": \"Αναζήτηση\",\n    \"search-plugins\": \"Αναζήτηση plugins\",\n    \"enabled-plugins\": \"Ενεργοποιημένα plugins\",\n    \"disabled-plugins\": \"Απενεργοποιημένα plugins\",\n    \"remove-logo\": \"Διαγραφή logo\",\n    \"preview\": \"ΠροεπισκόπησηPreview\",\n    \"author-can-write-and-edit-their-own-content\": \"Author: Μπορεί να γράψει και να τροποποιήσει το περιεχόμενό του. Editor: Μπορεί να γράψει και να τροποποιήσει το περιεχόμενο και από άλλους.\",\n    \"custom-fields\": \"Custom fields\",\n    \"define-custom-fields-for-the-content\": \"Ορισμός custom fields για το περιεχόμενο. Μάθε περισσότερα για τα custom fields στο <a href='https:\\/\\/docs.bludit.com\\/en\\/content\\/custom-fields'>documentation<\\/a>.\",\n    \"start-typing-to-see-a-list-of-suggestions\": \"Ξεκίνα την πληκτρολόγηση και θα δεις μια λίστα προτάσεων.\",\n    \"view\": \"Προβολή\",\n    \"no-tags\": \"Χωρίς ετικέτες\",\n    \"insert-thumbnail\": \"Εισαγωγή μικρογραφίας\",\n    \"visits-today\": \"Επισκέψεις σήμερα\",\n    \"no-categories\": \"Χωρίς κατηγορίες\",\n    \"quick-search-pages-and-menu\": \"Γρήγορη αναζήτηση σελίδων και μενού\",\n    \"click-here-for-quick-search\": \"Click here for quick search\",\n    \"analytics\": \"Αναλυτικά στοιχεία\",\n    \"unique-visitors\": \"Μοναδικοί επισκέπτες\",\n    \"insert-linked-thumbnail\": \"Εισαγωγή συνδεδεμένης μικρογραφίας\",\n    \"search-placeholder\": \"Αναζήτηση σελίδων, περιεχομένου και στοιχείων μενού...\",\n    \"no-results-found\": \"Δεν βρέθηκαν αποτελέσματα\",\n    \"navigation\": \"Πλοήγηση\",\n    \"default-content-status\": \"Προεπιλεγμένη κατάσταση περιεχομένου\",\n    \"default-status-for-new-content\": \"Επιλέξτε αν το νέο περιεχόμενο θα δημιουργείται ως Δημοσιευμένο ή Πρόχειρο από προεπιλογή.\",\n    \"thumbnail-generation\": \"Δημιουργία μικρογραφιών\",\n    \"enable-disable-automatic-thumbnail-generation-on-image-upload\": \"Ενεργοποίηση ή απενεργοποίηση αυτόματης δημιουργίας μικρογραφιών κατά τη μεταφόρτωση εικόνων.\"\n}\n"
  },
  {
    "path": "bl-languages/he_IL.json",
    "content": "{\n    \"language-data\": {\n        \"native\": \"עברית\",\n        \"english-name\": \"Hebrew\",\n        \"locale\": \"iw, iw_IL, he_IL\",\n        \"last-update\": \"2017-09-10\",\n        \"authors\": [\n            \"hxii http:\\/\\/paulglushak.com\",\n            \"\",\n            \"\",\n            \"\"\n        ]\n    },\n    \"dates\": {\n        \"Mon\": \"Mon\",\n        \"Tue\": \"Tue\",\n        \"Wed\": \"Wed\",\n        \"Thu\": \"Thu\",\n        \"Fri\": \"Fri\",\n        \"Sat\": \"Sat\",\n        \"Sun\": \"Sun\",\n        \"Monday\": \"Monday\",\n        \"Tuesday\": \"Tuesday\",\n        \"Wednesday\": \"Wednesday\",\n        \"Thursday\": \"Thursday\",\n        \"Friday\": \"Friday\",\n        \"Saturday\": \"Saturday\",\n        \"Sunday\": \"Sunday\",\n        \"Jan\": \"Jan\",\n        \"Feb\": \"Feb\",\n        \"Mar\": \"Mar\",\n        \"Apr\": \"Apr\",\n        \"Jun\": \"Jun\",\n        \"Jul\": \"Jul\",\n        \"Aug\": \"Aug\",\n        \"Sep\": \"Sep\",\n        \"Oct\": \"Oct\",\n        \"Nov\": \"Nov\",\n        \"Dec\": \"Dec\",\n        \"January\": \"January\",\n        \"February\": \"February\",\n        \"March\": \"March\",\n        \"April\": \"April\",\n        \"May\": \"May\",\n        \"June\": \"June\",\n        \"July\": \"July\",\n        \"August\": \"August\",\n        \"September\": \"September\",\n        \"October\": \"October\",\n        \"November\": \"November\",\n        \"December\": \"December\"\n    },\n    \"dashboard\": \"לוח מחוונים\",\n    \"manage-users\": \"ניהול משתמשים\",\n    \"manage-categories\": \"Manage categories\",\n    \"general-settings\": \"הגדרות כלליות\",\n    \"advanced-settings\": \"הגדרות מתקדמות\",\n    \"thanks-for-supporting-bludit\": \"Thanks for support Bludit\",\n    \"upgrade-to-bludit-pro\": \"Upgrade to Bludit PRO\",\n    \"language\": \"שפה\",\n    \"plugin\": \"Plugin\",\n    \"plugins\": \"תוספים\",\n    \"developers\": \"Developers\",\n    \"themes\": \"ערכות נושא\",\n    \"about\": \"אודות\",\n    \"url\": \"URL\",\n    \"welcome\": \"ברוכים הבאים,\",\n    \"logout\": \"יציאה\",\n    \"website\": \"אתר\",\n    \"publish\": \"פרסם\",\n    \"manage\": \"ניהול\",\n    \"content\": \"תוכן\",\n    \"category\": \"Category\",\n    \"categories\": \"Categories\",\n    \"users\": \"משתמשים\",\n    \"settings\": \"הגדרות\",\n    \"general\": \"כללי\",\n    \"advanced\": \"מתקדם\",\n    \"new-content\": \"New content\",\n    \"manage-content\": \"Manage content\",\n    \"add-new-content\": \"Add new content\",\n    \"new-category\": \"New category\",\n    \"you-do-not-have-sufficient-permissions\": \"אין לך הרשאות מתאימות לצפייה בדף זה. אנא צור קשר עם המנהל.\",\n    \"add-a-new-user\": \"הוספת משתמש חדש\",\n    \"url-associated-with-the-content\": \"URL associated with the content.\",\n    \"language-and-timezone\": \"שפה ואזור זמן\",\n    \"change-your-language-and-region-settings\": \"שינוי הגדרות שפה ומיקום.\",\n    \"notifications\": \"Notifications\",\n    \"plugin-activated\": \"Plugin activated\",\n    \"plugin-deactivated\": \"Plugin deactivated\",\n    \"new-theme-configured\": \"New theme configured\",\n    \"settings-changes\": \"Changes on settings\",\n    \"plugin-configured\": \"Plugin configured\",\n    \"welcome-to-bludit\": \"ברוכים הבאים ל-Bludit\",\n    \"statistics\": \"סטטיסטיקה\",\n    \"drafts\": \"טיוטות\",\n    \"title\": \"כותרת\",\n    \"save\": \"שמור\",\n    \"save-as-draft\": \"Save as draft\",\n    \"cancel\": \"ביטול\",\n    \"description\": \"תאור\",\n    \"this-field-can-help-describe-the-content\": \"בשדה זה ניתן לרשום תאור קצר של התוכן. עד 150 תוים.\",\n    \"images\": \"תמונות\",\n    \"error\": \"שגיאה\",\n    \"supported-image-file-types\": \"סוגי קבצי תמונה נתמכים\",\n    \"cover-image\": \"תמונת רקע\",\n    \"drag-and-drop-or-click-here\": \"גרור תמונה או לחץ כאן\",\n    \"there-are-no-images\": \"אין תמונות\",\n    \"upload-and-more-images\": \"Upload and more images\",\n    \"click-on-the-image-for-options\": \"לחץ על התמונה לאפשרויות נוספות\",\n    \"click-here-to-cancel\": \"לחץ לביטול\",\n    \"insert-image\": \"הכנס תמונה\",\n    \"set-as-cover-image\": \"קבע כתמונת רקע\",\n    \"delete-image\": \"מחק תמונה\",\n    \"tags\": \"תגיות\",\n    \"add\": \"הוספה\",\n    \"status\": \"סטטוס\",\n    \"published\": \"מפורסם\",\n    \"draft\": \"טיוטה\",\n    \"empty-title\": \"כותרת ריקה\",\n    \"empty\": \"empty\",\n    \"date\": \"תאריך\",\n    \"external-cover-image\": \"External cover image\",\n    \"parent\": \"הורה\",\n    \"full-image-url\": \"Full image URL.\",\n    \"this-field-is-used-when-you-order-the-content-by-position\": \"This field is used when you order the content by position.\",\n    \"position\": \"מיקום\",\n    \"friendly-url\": \"כתובת URL\",\n    \"image-description\": \"תיאור התמונה\",\n    \"add-a-new-category\": \"Add a new category\",\n    \"name\": \"שם\",\n    \"username\": \"שם משתמש\",\n    \"first-name\": \"שם פרטי\",\n    \"last-name\": \"שם משפחה\",\n    \"to-schedule-the-content-select-the-date-and-time\": \"To schedule the content select the date and time, the status has to be set to \\\"Published\\\".\",\n    \"email\": \"דואל\",\n    \"role\": \"תפקיד\",\n    \"registered\": \"רשום\",\n    \"site-information\": \"מידע על האתר\",\n    \"site-title\": \"כותרת האתר\",\n    \"use-this-field-to-name-your-site\": \"השתמש בשדה זה בכדי לתת שם לאתר שלך. השם יופיע בראשו של כל דף.\",\n    \"site-slogan\": \"סלוגן האתר\",\n    \"use-this-field-to-add-a-catchy-phrase\": \"השתמש בשדה זה בכדי לתת לאתרך סלוגן.\",\n    \"site-description\": \"תאור האתר\",\n    \"you-can-add-a-site-description-to-provide\": \"השתמש בשדה זה בכדי לספר בקצרה על אתרך.\",\n    \"footer-text\": \"טקסט תחתון\",\n    \"you-can-add-a-small-text-on-the-bottom\": \"באפשרותך להוסיף טקסט קצר בתחתית העמוד.\",\n    \"social-networks-links\": \"קישורים לרשתות חברתיות\",\n    \"site-url\": \"כתובת האתר\",\n    \"email-account-settings\": \"הגדרות חשבון דואל\",\n    \"sender-email\": \"דואל שולח\",\n    \"emails-will-be-sent-from-this-address\": \"הודעות דואל ישלחו מכתובת זו\",\n    \"url-filters\": \"URL filters\",\n    \"select-your-sites-language\": \"בחר את שפת האתר\",\n    \"timezone\": \"אזור זמן\",\n    \"select-a-timezone-for-a-correct\": \"בחר את אזור הזמן בו אתה נמצא\",\n    \"locale\": \"שפה\",\n    \"date-and-time-formats\": \"תצורות תאריך ושעה\",\n    \"date-format\": \"פורמט תאריך\",\n    \"current-format\": \"תצורה נוכחית\",\n    \"version\": \"גרסא\",\n    \"author\": \"כותב\",\n    \"activate\": \"הפוך לפעיל\",\n    \"deactivate\": \"הפוך ללא פעיל\",\n    \"edit-category\": \"Edit category\",\n    \"delete\": \"מחק\",\n    \"password\": \"סיסמא\",\n    \"confirm-password\": \"אימות סיסמא\",\n    \"editor\": \"עורך\",\n    \"administrator\": \"מנהל\",\n    \"edit-user\": \"עריכת משתמש\",\n    \"edit-content\": \"Edit content\",\n    \"profile\": \"פרופיל\",\n    \"change-password\": \"שינוי סיסמא\",\n    \"enabled\": \"מאופשר\",\n    \"disable-the-user\": \"הפוך משתמש ללא פעיל\",\n    \"profile-picture\": \"תמונת פרופיל\",\n    \"edit-or-delete-your-categories\": \"Edit or delete your categories\",\n    \"create-a-new-category-to-organize-your-content\": \"Create a new category to organize your content\",\n    \"confirm-delete-this-action-cannot-be-undone\": \"אתה בטוח שברצונך למחוק? לא ניתן לבטל פעולה זו.\",\n    \"do-you-want-to-disable-the-user\": \"האם ברצונך להפוך משתמש זה ללא פעיל?\",\n    \"new-password\": \"סיסמא חדשה\",\n    \"you-can-change-this-field-when-save-the-current-changes\": \"You can change this field when save the current changes.\",\n    \"items-per-page\": \"Items per page\",\n    \"invite-a-friend-to-collaborate-on-your-site\": \"Invite a friend to collaborate on your site\",\n    \"number-of-items-to-show-per-page\": \"Number of items to show per page.\",\n    \"website-or-blog\": \"Website or Blog\",\n    \"order-content-by\": \"Order content By\",\n    \"edit-or-delete-content-from-your-site\": \"Edit or delete content from your site\",\n    \"order-the-content-by-date-to-build-a-blog\": \"Order the content by date to build a Blog or order the content by position to build a Website.\",\n    \"page-not-found-content\": \"Hey! look like the page doesn't exist.\",\n    \"page-not-found\": \"Page not found\",\n    \"predefined-pages\": \"Predefined pages\",\n    \"returning-page-when-the-page-doesnt-exist\": \"Returning page when the page doesn't exist, leave it blank if you want to returns a default message.\",\n    \"returning-page-for-the-main-page\": \"Returning page for the main page, leave it blank if you want to show all the pages on the main page.\",\n    \"full-url-of-your-site\": \"Full URL of your site. Complete with the protocol HTTP or HTTPS (only if you have enabled SSL on your server).\",\n    \"with-the-locales-you-can-set-the-regional-user-interface\": \"With the locales, you can set the regional user interface, such as the dates in your language. The locales need to be installed on your system.\",\n    \"bludit-installer\": \"התקנת Bludit\",\n    \"choose-your-language\": \"בחר שאת שפתך\",\n    \"next\": \"הבא\",\n    \"complete-the-form-choose-a-password-for-the-username-admin\": \"מלא את הפרטים ובחר סיסמא למשתמש « admin »\",\n    \"show-password\": \"הראה סיסמא\",\n    \"install\": \"התקנה\",\n    \"login\": \"כניסה\",\n    \"back-to-login-form\": \"חזרה לדף כניסה\",\n    \"get-login-access-code\": \"קבל קוד גישה\",\n    \"email-access-code\": \"קוד גישה באימייל\",\n    \"whats-next\": \"מה הלאה?\",\n    \"username-or-password-incorrect\": \"שם משתמש או סיסמא אינם נכונים\",\n    \"follow-bludit-on\": \"עקוב אחר Bludit\",\n    \"this-is-a-brief-description-of-yourself-our-your-site\": \"This is a brief description of yourself or your site, to change this text go to the admin panel, settings, plugins, and configure the plugin about.\",\n    \"new-version-available\": \"New version available\",\n    \"new-category-created\": \"New category created\",\n    \"category-deleted\": \"Category deleted\",\n    \"category-edited\": \"Category edited\",\n    \"new-user-created\": \"New user created\",\n    \"user-edited\": \"User edited\",\n    \"user-deleted\": \"המשתמש נמחק\",\n    \"recommended-for-recovery-password-and-notifications\": \"Recommended for recovery password and notifications.\",\n    \"authentication-token\": \"Authentication Token\",\n    \"token\": \"Token\",\n    \"current-status\": \"Current status\",\n    \"upload-image\": \"העלה תמונה\",\n    \"the-changes-have-been-saved\": \"ההגדרות נשמרו\",\n    \"label\": \"Label\",\n    \"links\": \"Links\",\n    \"this-title-is-almost-always-used-in-the-sidebar-of-the-site\": \"This title is almost always used in the sidebar of the site.\",\n    \"password-must-be-at-least-6-characters-long\": \"הסיסמא חייבת להיות בעלת 5 תויים לפחות\",\n    \"ip-address-has-been-blocked\": \"כתובת IP נחסמה\",\n    \"try-again-in-a-few-minutes\": \"אנא נסה בעוד מספר דקות\",\n    \"content-published-from-scheduler\": \"Content published from scheduler\",\n    \"blog\": \"Blog\",\n    \"complete-all-fields\": \"Complete all fields\",\n    \"static\": \"Static\",\n    \"about-your-site-or-yourself\": \"About your site or yourself\",\n    \"homepage\": \"Homepage\",\n    \"disabled\": \"Disabled\",\n    \"to-enable-the-user-you-must-set-a-new-password\": \"To enable the user you must set a new password.\",\n    \"delete-the-user-and-associate-his-content-to-admin-user\": \"Delete the user and associate his content to admin user\",\n    \"delete-the-user-and-all-his-content\": \"Delete the user and all his content\",\n    \"user-disabled\": \"User disabled\",\n    \"user-password-changed\": \"User password changed\",\n    \"the-password-and-confirmation-password-do-not-match\": \"The password and confirmation password do not match\",\n    \"scheduled-content\": \"Scheduled content\",\n    \"there-are-no-scheduled-content\": \"There are no scheduled content.\",\n    \"new-content-created\": \"New content created\",\n    \"content-edited\": \"Content edited\",\n    \"content-deleted\": \"Contente deleted\",\n    \"undefined\": \"Undefined\",\n    \"create-new-content-for-your-site\": \"Create new content for your site\",\n    \"order-items-by\": \"Order items by\",\n    \"all-content\": \"All content\",\n    \"dynamic\": \"Dynamic\",\n    \"type\": \"Type\",\n    \"draft-content\": \"Draft content\",\n    \"post\": \"Post\",\n    \"default\": \"Default\",\n    \"latest-content\": \"Latest content\",\n    \"default-message\": \"Default message\",\n    \"no-parent\": \"No parent\",\n    \"have-you-seen-my-ball\": \"ראית את הכדור שלי?\",\n    \"pagebreak\": \"Page break\",\n    \"pages\": \"דפים\",\n    \"this-plugin-may-not-be-supported-by-this-version-of-bludit\": \"This plugin may not be supported by this version of Bludit\",\n    \"previous\": \"Previous\",\n    \"previous-page\": \"Previous page\",\n    \"next-page\": \"Next page\",\n    \"scheduled\": \"Scheduled\",\n    \"this-token-is-similar-to-a-password-it-should-not-be-shared\": \"This token is similar to a password, it should not be shared.\",\n    \"congratulations-you-have-successfully-installed-your-bludit\": \"Congratulations you have successfully installed your **Bludit**\",\n    \"this-theme-may-not-be-supported-by-this-version-of-bludit\": \"This theme may not be supported by this version of Bludit\",\n    \"read-more\": \"להמשך קריאה\",\n    \"remember-me\": \"Remember me\",\n    \"plugins-position\": \"Plugin position\",\n    \"plugins-sorted\": \"Plugins sorted\",\n    \"plugins-position-changed\": \"Plugin position changed\",\n    \"drag-and-drop-to-set-the-position-of-the-plugin\": \"Drag and Drop to set the position of the plugins\",\n    \"change-the-position-of-the-plugins\": \"Change the position of the plugins\",\n    \"reading-time\": \"Reading time\",\n    \"minutes\": \"minutes\",\n    \"minute\": \"minute\",\n    \"example-page-1-slug\": \"create-your-own-content\",\n    \"example-page-1-title\": \"Create your own content\",\n    \"example-page-1-content\": \"Start writing your own content or edit the current to fit your needs. To create, edit or remove content you need to login to the <a href=\\\".\\/admin\\/\\\">admin panel<\\/a> with the username `admin` and the password you set on the installation process.\",\n    \"example-page-2-slug\": \"set-up-your-new-site\",\n    \"example-page-2-title\": \"Set up your new site\",\n    \"example-page-2-content\": \"Update the settings of your site from the <a href=\\\".\\/admin\\/\\\">admin panel<\\/a>, you can change the title, description and the social networks from <a href=\\\".\\/admin\\/settings\\\" target=\\\"_blank\\\">Settings > General<\\/a>.\",\n    \"example-page-3-slug\": \"follow-bludit\",\n    \"example-page-3-title\": \"Follow Bludit\",\n    \"example-page-3-content\": \"Get information about news, new releases, new themes or new plugins on our social networks <a href=\\\"https:\\/\\/www.facebook.com\\/bluditcms\\/\\\" target=\\\"_blank\\\">Facebook<\\/a>, <a href=\\\"https:\\/\\/www.twitter.com\\/bludit\\/\\\" target=\\\"_blank\\\">Twitter<\\/a> and <a href=\\\"https:\\/\\/www.youtube.com\\/c\\/Bluditcms\\\" target=\\\"_blank\\\">YouTube<\\/a> or visit our <a href=\\\"https:\\/\\/blog.bludit.com\\\" target=\\\"_blank\\\">Blog<\\/a>.\",\n    \"example-page-4-slug\": \"about\",\n    \"example-page-4-title\": \"About\",\n    \"example-page-4-content\": \"Your About page is typically one of the most visited pages on your site, need to be simple with a few key things, such as your name, who are you, how can contact you, a small story, etc.\",\n    \"the-extension-zip-is-not-installed\": \"תוסף ה-zip אינו מותקן, כדי להשתמש בתוסף זה עליך להתקין את ההרחבה.\",\n    \"there-are-no-sticky-pages-at-this-moment\": \"There are no sticky pages at this moment.\",\n    \"there-are-no-scheduled-pages-at-this-moment\": \"There are no scheduled pages at this moment.\",\n    \"update\": \"Update\",\n    \"template\": \"Template\",\n    \"nickname\": \"Nickname\",\n    \"disable-user\": \"Disable user\",\n    \"delete-user-and-keep-content\": \"Delete user and keep content\",\n    \"delete-user-and-delete-content\": \"Delete user and delete content (Warning)\",\n    \"social-networks\": \"Social Networks\",\n    \"interval\": \"Interval\",\n    \"number-in-minutes-for-every-execution-of-autosave\": \"Number in minutes for every execution of autosave.\",\n    \"extreme-friendly-url\": \"Extreme friendly URL\",\n    \"title-formats\": \"Title formats\",\n    \"delete-content\": \"Delete content\",\n    \"are-you-sure-you-want-to-delete-this-page\": \"האם אתה בטוח שברצונך למחוק דף זה?\",\n    \"sticky\": \"Sticky\",\n    \"actions\": \"Actions\",\n    \"edit\": \"Edit\",\n    \"options\": \"Options\",\n    \"enter-title\": \"Enter title\",\n    \"media-manager\": \"Media Manager\",\n    \"set-a-cover-image-from-external-url,-such-as-a-cdn-or-some-server-dedicated-for-images\": \"Set a cover image from an external URL, such as a CDN or some server dedicated for images.\",\n    \"user\": \"User\",\n    \"date-format-format\": \"Date format: <code>YYYY-MM-DD Hours:Minutes:Seconds<\\/code>\",\n    \"start-typing-a-page-title-to-see-a-list-of-suggestions\": \"Start typing a page title to see a list of suggestions.\",\n    \"field-used-when-ordering-content-by-position\": \"Field used when ordering content by position\",\n    \"write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page\": \"Write a template name to filter the page in the theme and change the style of the page.\",\n    \"write-the-tags-separated-by-commas\": \"Write the tags separated by comma.\",\n    \"apply-code-noindex-code-to-this-page\": \"Apply <code>noindex<\\/code> to this page.\",\n    \"this-tells-search-engines-not-to-show-this-page-in-their-search-results\": \"This tells search engines not to show this page in their search results.\",\n    \"apply-code-nofollow-code-to-this-page\": \"Apply <code>nofollow<\\/code> to this page.\",\n    \"this-tells-search-engines-not-to-follow-links-on-this-page\": \"This tells search engines not to follow links on this page.\",\n    \"apply-code-noarchive-code-to-this-page\": \"Apply <code>noarchive<\\/code> to this page.\",\n    \"this-tells-search-engines-not-to-save-a-cached-copy-of-this-page\": \"This tells search engines not to save a cached copy of this page.\",\n    \"uncategorized\": \"Uncategorized\",\n    \"done\": \"Done\",\n    \"delete-category\": \"Delete category\",\n    \"are-you-sure-you-want-to-delete-this-category?\": \"האם אתה בטוח שברצונך למחוק קטגוריה זו?\",\n    \"confirm-new-password\": \"Confirm new password\",\n    \"the-nickname-is-almost-used-in-the-themes-to-display-the-author-of-the-content\": \"The nickname is almost used in the themes to display the author of the content\",\n    \"allow-unicode\": \"Allow Unicode\",\n    \"allow-unicode-characters-in-the-url-and-some-part-of-the-system\": \"Allow Unicode characters in the URL and some part of the system.\",\n    \"variables-allowed\": \"Variables allowed\",\n    \"tag\": \"Tag\",\n    \"drag-and-drop-to-sort-the-plugins\": \"Drag and Drop to sort the plugins.\",\n    \"seo\": \"SEO\",\n    \"documentation\": \"Documentation\",\n    \"forum-support\": \"Forum support\",\n    \"chat-support\": \"Chat support\",\n    \"quick-links\": \"Quick links\",\n    \"leave-empty-for-autocomplete-by-bludit\": \"Leave empty for autocomplete by Bludit.\",\n    \"choose-a-password-for-the-user-admin\": \"Choose a password for the user <code>admin<\\/code>\",\n    \"access-denied\": \"Access denied\",\n    \"choose-images-to-upload\": \"Choose images to upload\",\n    \"insert\": \"Insert\",\n    \"upload\": \"Upload\",\n    \"autosave\": \"Autosave\",\n    \"the-content-is-saved-as-a-draft-to-publish-it\": \"The content is saved as a draft. To publish it click on the button <b>Publish<\\/b> or if you still working on it click on <b>Save as draft<\\/b>.\",\n    \"site\": \"Site\",\n    \"first\": \"First\",\n    \"last\": \"Last\",\n    \"there-are-no-pages-at-this-moment\": \"There are no pages at this moment.\",\n    \"there-are-no-static-pages-at-this-moment\": \"There are no static pages at this moment.\",\n    \"there-are-no-draft-pages-at-this-moment\": \"There are no draft pages at this moment.\",\n    \"good-morning\": \"Good morning\",\n    \"good-afternoon\": \"Good afternoon\",\n    \"good-evening\": \"Good evening\",\n    \"good-night\": \"Good night\",\n    \"hello\": \"Hello\",\n    \"there-are-no-images-for-the-page\": \"There are no images for the page.\",\n    \"select-cover-image\": \"Select cover image\",\n    \"this-plugin-depends-on-the-following-plugins\": \"This plugin depends on the following plugins.\",\n    \"no-pages-found\": \"No pages found\",\n    \"system-updated\": \"System updated\",\n    \"security\": \"Security\",\n    \"remove-cover-image\": \"Remove cover image\",\n    \"width\": \"Width\",\n    \"height\": \"Height\",\n    \"quality\": \"Quality\",\n    \"thumbnails\": \"Thumbnails\",\n    \"thumbnail\": \"Thumbnail\",\n    \"thumbnail-width-in-pixels\": \"Thumbnail width in pixels (px).\",\n    \"thumbnail-height-in-pixels\": \"Thumbnail height in pixels (px).\",\n    \"thumbnail-quality-in-percentage\": \"Thumbnail quality in percentage (%).\",\n    \"maximum-load-file-size-allowed:\": \"Maximum load file size allowed:\",\n    \"file-type-is-not-supported\": \"File type is not supported. Allowed types:\",\n    \"page-content\": \"Page content\",\n    \"markdown-parser\": \"Markdown parser\",\n    \"site-logo\": \"Site logo\",\n    \"search\": \"Search\",\n    \"search-plugins\": \"Search plugins\",\n    \"enabled-plugins\": \"Enabled plugins\",\n    \"disabled-plugins\": \"Disabled plugins\",\n    \"remove-logo\": \"Remove logo\",\n    \"preview\": \"Preview\",\n    \"author-can-write-and-edit-their-own-content\": \"מחבר: יכול לכתוב ולערוך את התוכן שלו. עורך: יכול לכתוב ולערוך תוכן של אחרים.\",\n    \"custom-fields\": \"Custom fields\",\n    \"define-custom-fields-for-the-content\": \"הגדר שדות מותאמים אישית לתוכן.\",\n    \"start-typing-to-see-a-list-of-suggestions\": \"התחל להקליד כדי לראות רשימה של הצעות.\",\n    \"view\": \"View\",\n    \"no-tags\": \"אין תגיות\",\n    \"insert-thumbnail\": \"הכנס תמונה ממוזערת\",\n    \"visits-today\": \"ביקורים היום\",\n    \"no-categories\": \"אין קטגוריות\",\n    \"quick-search-pages-and-menu\": \"חיפוש מהיר של דפים ותפריט\",\n    \"click-here-for-quick-search\": \"Click here for quick search\",\n    \"analytics\": \"ניתוח נתונים\",\n    \"unique-visitors\": \"מבקרים ייחודיים\",\n    \"insert-linked-thumbnail\": \"הכנס תמונה ממוזערת מקושרת\",\n    \"search-placeholder\": \"חפש דפים, תוכן ופריטי תפריט...\",\n    \"no-results-found\": \"לא נמצאו תוצאות\",\n    \"navigation\": \"ניווט\",\n    \"default-content-status\": \"מצב תוכן ברירת מחדל\",\n    \"default-status-for-new-content\": \"בחר האם תוכן חדש ייווצר כפורסם או כטיוטה כברירת מחדל.\",\n    \"thumbnail-generation\": \"יצירת תמונות ממוזערות\",\n    \"enable-disable-automatic-thumbnail-generation-on-image-upload\": \"הפעל או השבת יצירה אוטומטית של תמונות ממוזערות בעת העלאת תמונות.\"\n}\n"
  },
  {
    "path": "bl-languages/hu_HU.json",
    "content": "{\n    \"language-data\": {\n        \"native\": \"Magyar\",\n        \"english-name\": \"Hungarian\",\n        \"last-update\": \"2020-02-28\",\n        \"authors\": [\n            \"Korfa\",\n            \"Dávid Eredics\",\n            \"\",\n            \"\"\n        ],\n        \"locale\": \"hu, hu_HU\"\n    },\n    \"dates\": {\n        \"Mon\": \"H\",\n        \"Tue\": \"K\",\n        \"Wed\": \"Sze\",\n        \"Thu\": \"Cs\",\n        \"Fri\": \"P\",\n        \"Sat\": \"Szo\",\n        \"Sun\": \"V\",\n        \"Monday\": \"Hétfő\",\n        \"Tuesday\": \"Kedd\",\n        \"Wednesday\": \"Szerda\",\n        \"Thursday\": \"Csütörtök\",\n        \"Friday\": \"Péntek\",\n        \"Saturday\": \"Szombat\",\n        \"Sunday\": \"Vasárnap\",\n        \"Jan\": \"jan.\",\n        \"Feb\": \"febr.\",\n        \"Mar\": \"márc.\",\n        \"Apr\": \"ápr.\",\n        \"Jun\": \"jún.\",\n        \"Jul\": \"júl.\",\n        \"Aug\": \"aug.\",\n        \"Sep\": \"szept.\",\n        \"Oct\": \"okt.\",\n        \"Nov\": \"nov.\",\n        \"Dec\": \"dec.\",\n        \"January\": \"január\",\n        \"February\": \"február\",\n        \"March\": \"március\",\n        \"April\": \"április\",\n        \"May\": \"május\",\n        \"June\": \"június\",\n        \"July\": \"július\",\n        \"August\": \"augusztus\",\n        \"September\": \"szeptember\",\n        \"October\": \"október\",\n        \"November\": \"november\",\n        \"December\": \"december\"\n    },\n    \"dashboard\": \"Vezérlőpult\",\n    \"manage-users\": \"Felhasználók kezelése\",\n    \"manage-categories\": \"Kategóriák kezelése\",\n    \"general-settings\": \"Általános beállítások\",\n    \"advanced-settings\": \"Haladó beállítások\",\n    \"thanks-for-supporting-bludit\": \"Köszönjük, hogy támogatja a Bluditet\",\n    \"upgrade-to-bludit-pro\": \"Upgrade to Bludit PRO\",\n    \"language\": \"Nyelv\",\n    \"plugin\": \"Bővitmény\",\n    \"plugins\": \"Bővitmények\",\n    \"developers\": \"Fejlesztők\",\n    \"themes\": \"Témák\",\n    \"about\": \"A blogodról\",\n    \"url\": \"URL\",\n    \"welcome\": \"Üdvözöljük!\",\n    \"logout\": \"Kilépés\",\n    \"website\": \"Weboldal\",\n    \"publish\": \"Közzététel\",\n    \"manage\": \"Kezelés\",\n    \"content\": \"Tartalom\",\n    \"category\": \"Kategória\",\n    \"categories\": \"Kategóriák\",\n    \"users\": \"Felhasználók\",\n    \"settings\": \"Beállítások\",\n    \"general\": \"Általános\",\n    \"advanced\": \"Haladó\",\n    \"new-content\": \"Új tartalom\",\n    \"manage-content\": \"Tartalom kezelése\",\n    \"add-new-content\": \"Új tartalom hozzáadása\",\n    \"new-category\": \"Új kategória\",\n    \"you-do-not-have-sufficient-permissions\": \"Nem rendelkezik megfelelő engedélyekkel\",\n    \"add-a-new-user\": \"Új felhasználó hozzáadása\",\n    \"url-associated-with-the-content\": \"A tartalomhoz társított URL.\",\n    \"language-and-timezone\": \"Nyelv és időzóna\",\n    \"change-your-language-and-region-settings\": \"Nyelvi és területi beállítások megváltoztatása.\",\n    \"notifications\": \"Értesítések\",\n    \"plugin-activated\": \"Bővítmény aktiválva\",\n    \"plugin-deactivated\": \"Bővítmény inaktiválva\",\n    \"new-theme-configured\": \"Új téma konfigurálva\",\n    \"settings-changes\": \"Beállítások megváltoztak\",\n    \"plugin-configured\": \"Bővítmény konfigurálva\",\n    \"welcome-to-bludit\": \"Üdvözöljük a Bluditban!\",\n    \"statistics\": \"Statisztika\",\n    \"drafts\": \"Piszkozatok\",\n    \"title\": \"Cím\",\n    \"save\": \"Mentés\",\n    \"save-as-draft\": \"Mentés piszkozatként\",\n    \"cancel\": \"Mégse\",\n    \"description\": \"Leírás\",\n    \"this-field-can-help-describe-the-content\": \"Ebben a mezőben néhány szóban összefoglalhatja a tartalmat. Legfeljebb 150 karakter.\",\n    \"images\": \"Képek\",\n    \"error\": \"Hiba\",\n    \"supported-image-file-types\": \"Támogatott képfájl-formátumok\",\n    \"cover-image\": \"Borítókép\",\n    \"drag-and-drop-or-click-here\": \"Húzza ide vagy kattintson ide!\",\n    \"there-are-no-images\": \"Nincs kép\",\n    \"upload-and-more-images\": \"Upload and more images\",\n    \"click-on-the-image-for-options\": \"Kattintson a képre a beállításokhoz!\",\n    \"click-here-to-cancel\": \"Kattintson ide a kilépéshez!\",\n    \"insert-image\": \"Kép beszúrása\",\n    \"set-as-cover-image\": \"Beállítás borítóképnek\",\n    \"delete-image\": \"Kép törlése\",\n    \"tags\": \"Címke\",\n    \"add\": \"Hozzáadás\",\n    \"status\": \"Állapot\",\n    \"published\": \"A bejegyzés sikeresen közzétéve\",\n    \"draft\": \"Piszkozat\",\n    \"empty-title\": \"Üres cím\",\n    \"empty\": \"üres\",\n    \"date\": \"Dátum\",\n    \"external-cover-image\": \"Külső borítókép\",\n    \"parent\": \"Szülő\",\n    \"full-image-url\": \"Full image URL.\",\n    \"this-field-is-used-when-you-order-the-content-by-position\": \"Ez a mező akkor van használatban amikor a tartalmat pozíció szerint rendezi.\",\n    \"position\": \"Pozíció\",\n    \"friendly-url\": \"Keresőbarát URL\",\n    \"image-description\": \"Kép leírása\",\n    \"add-a-new-category\": \"Új kategória hozzáadása\",\n    \"name\": \"Név\",\n    \"username\": \"Felhasználónév\",\n    \"first-name\": \"Keresztnév\",\n    \"last-name\": \"Vezetéknév\",\n    \"to-schedule-the-content-select-the-date-and-time\": \"A tartalom ütemezéséhez válassza ki a dátumot és az időt, az állapotot \\\"közzétett\\\" értékre kell állítani.\",\n    \"email\": \"E-mail\",\n    \"role\": \"Jogosultság\",\n    \"registered\": \"Regisztrált\",\n    \"site-information\": \"Weboldal-információ\",\n    \"site-title\": \"Oldal cím\",\n    \"use-this-field-to-name-your-site\": \"Ebben a mezőben adja meg a weboldal nevét, ez minden oldal tetején meg fog jelenni a weboldalon.\",\n    \"site-slogan\": \"Oldal szlogen\",\n    \"use-this-field-to-add-a-catchy-phrase\": \"Ebben a mezőben megadhat egy szlogent a weboldalhoz.\",\n    \"site-description\": \"Oldal leírás\",\n    \"you-can-add-a-site-description-to-provide\": \"Itt megadhatja a weboldal leírását, egy rövid összefoglalót az oldalról.\",\n    \"footer-text\": \"Lábléc szöveg\",\n    \"you-can-add-a-small-text-on-the-bottom\": \"Megadhat egy apróbetűs szöveget az oldalak aljára. Pl. jogi információk, tulajdonos, dátumok, stb.\",\n    \"social-networks-links\": \"Közösségimédia-linkek\",\n    \"site-url\": \"Weboldal URL\",\n    \"email-account-settings\": \"Levelezési beállítások\",\n    \"sender-email\": \"Küldő email címe\",\n    \"emails-will-be-sent-from-this-address\": \"Az emailek erről a címről kerülnek majd kiküldésre.\",\n    \"url-filters\": \"URL-szűrők\",\n    \"select-your-sites-language\": \"Válassza ki weboldala nyelvét!\",\n    \"timezone\": \"Időzóna\",\n    \"select-a-timezone-for-a-correct\": \"Válasszon időzónát a dátumok megfelelő megjelenítéséhez!\",\n    \"locale\": \"Helyi\",\n    \"date-and-time-formats\": \"Dátum- és időformátum\",\n    \"date-format\": \"Dátumformátum\",\n    \"current-format\": \"Jelenlegi formátum\",\n    \"version\": \"Verziószám\",\n    \"author\": \"Szerző\",\n    \"activate\": \"Aktiválás\",\n    \"deactivate\": \"Deaktiválás\",\n    \"edit-category\": \"Kategória szerkesztése\",\n    \"delete\": \"Törlés\",\n    \"password\": \"Jelszó\",\n    \"confirm-password\": \"Jelszó újra\",\n    \"editor\": \"Szerkesztő\",\n    \"administrator\": \"Adminisztrátor\",\n    \"edit-user\": \"Felhasználó szerkesztése\",\n    \"edit-content\": \"Tartalom szerkesztése\",\n    \"profile\": \"Profil\",\n    \"change-password\": \"Jelszó megváltoztatása\",\n    \"enabled\": \"Engedélyezett\",\n    \"disable-the-user\": \"Felhasználó letiltása\",\n    \"profile-picture\": \"Profilkép\",\n    \"edit-or-delete-your-categories\": \"Szerkessze vagy törölje kategóriáit\",\n    \"create-a-new-category-to-organize-your-content\": \"Hozzon létre egy új kategóriát tartalmai rendezéséhez\",\n    \"confirm-delete-this-action-cannot-be-undone\": \"Biztosan törli?\",\n    \"do-you-want-to-disable-the-user\": \"Le szeretné tiltani a felhasználót?\",\n    \"new-password\": \"Új jelszó\",\n    \"you-can-change-this-field-when-save-the-current-changes\": \"Ezt a mezőt megváltoztathatja, amikor elmenti az aktuális változtatásokat.\",\n    \"items-per-page\": \"Elemek oldalanként\",\n    \"invite-a-friend-to-collaborate-on-your-site\": \"Hívja meg ismerősét, hogy együttműködjenek webhelyén\",\n    \"number-of-items-to-show-per-page\": \"Oldalanként megjelenítendő elemek száma.\",\n    \"website-or-blog\": \"Weboldal vagy Blog\",\n    \"order-content-by\": \"Tartalom rendezése\",\n    \"edit-or-delete-content-from-your-site\": \"Szerkesszen vagy töröljön tartalmat webhelyéről\",\n    \"order-the-content-by-date-to-build-a-blog\": \"Rendezze a tartalmat dátum szerint egy blog létrehozásához, vagy rendezze a tartalmat pozíció szerint egy weboldal létrehozásához.\",\n    \"page-not-found-content\": \"Hé! Úgy tűnik, hogy ez az oldal nem létezik.\",\n    \"page-not-found\": \"Az oldal nem található\",\n    \"predefined-pages\": \"Előre definiált oldalak\",\n    \"returning-page-when-the-page-doesnt-exist\": \"Visszatérő oldal amikor az oldal nem létezik, alapértelmezés szerint egy alapértelmezett üzenetet ad vissza.\",\n    \"returning-page-for-the-main-page\": \"Visszatérő oldal a főoldalhoz, alapértelmezés szerint a legfrissebb tartalmat mutatja dátum vagy pozíció szerint rendezve.\",\n    \"full-url-of-your-site\": \"Webhelyének teljes URL-je. Egészítse ki HTTP vagy HTTPS protokollal (csak akkor, ha engedélyezte az SSL-t a szerveren).\",\n    \"with-the-locales-you-can-set-the-regional-user-interface\": \"With the locales, you can set the regional user interface, such as the dates in your language. The locales need to be installed on your system.\",\n    \"bludit-installer\": \"Bludit telepítő\",\n    \"choose-your-language\": \"Válasszon nyelvet!\",\n    \"next\": \"Tovább\",\n    \"complete-the-form-choose-a-password-for-the-username-admin\": \"Töltse ki az űrlapot, válasszon jelszót az « admin » felhasználónak!\",\n    \"show-password\": \"Mutassa a jelszót\",\n    \"install\": \"Telepítés\",\n    \"login\": \"Belépés\",\n    \"back-to-login-form\": \"Vissza a bejelentkezési oldalra\",\n    \"get-login-access-code\": \"Hozzáférési kód megszerzése\",\n    \"email-access-code\": \"Email hozzáférési kód\",\n    \"whats-next\": \"Mi következik?\",\n    \"username-or-password-incorrect\": \"A felhasználónév és a jelszó nem egyezik\",\n    \"follow-bludit-on\": \"Kövesse a Bluditot!\",\n    \"this-is-a-brief-description-of-yourself-our-your-site\": \"Itt röviden bemutathatja önmagát vagy a weboldalát, a szöveg megváltoztatásához menjen az Adminlapra, Beállítások, Bővítmények, majd a Névjegy bővítmény beállításai.\",\n    \"new-version-available\": \"Új verzió elérhető\",\n    \"new-category-created\": \"Új kategória létrehozva\",\n    \"category-deleted\": \"Kategória törölve\",\n    \"category-edited\": \"Kategória szerkesztve\",\n    \"new-user-created\": \"Új felhasználó létrehozva\",\n    \"user-edited\": \"Felhasználó szerkesztve\",\n    \"user-deleted\": \"Felhasználó törölve\",\n    \"recommended-for-recovery-password-and-notifications\": \"Ajánlott jelszóvisszaállításhoz és értesítésekhez.\",\n    \"authentication-token\": \"Hitelesítési token\",\n    \"token\": \"Token\",\n    \"current-status\": \"Jelenlegi állapot\",\n    \"upload-image\": \"Kép feltöltése\",\n    \"the-changes-have-been-saved\": \"A változtatások elmentve\",\n    \"label\": \"Címke\",\n    \"links\": \"Linkek\",\n    \"this-title-is-almost-always-used-in-the-sidebar-of-the-site\": \"Ezt a címet szinte mindig a weboldal oldalsávjában használják.\",\n    \"password-must-be-at-least-6-characters-long\": \"A jelszónak legalább 6 karakter hosszúnak kell lennie.\",\n    \"ip-address-has-been-blocked\": \"Az IP-cím le lett tiltva.\",\n    \"try-again-in-a-few-minutes\": \"Próbálja újra néhány perc múlva!\",\n    \"content-published-from-scheduler\": \"Tartalom publikálva ütemezőből\",\n    \"blog\": \"Blog\",\n    \"complete-all-fields\": \"Töltse ki az összes mezőt\",\n    \"static\": \"Statikus\",\n    \"about-your-site-or-yourself\": \"A webhelyről vagy magadról\",\n    \"homepage\": \"Főoldal\",\n    \"disabled\": \"Tiltva\",\n    \"to-enable-the-user-you-must-set-a-new-password\": \"A felhasználó engedélyezéséhez új jelszót kell beállítania.\",\n    \"delete-the-user-and-associate-his-content-to-admin-user\": \"Törölje a felhasználót, és társítsa tartalmát az adminisztrátorhoz\",\n    \"delete-the-user-and-all-his-content\": \"Törölje a felhasználót és az összes tartalmát\",\n    \"user-disabled\": \"A felhasználó letiltva\",\n    \"user-password-changed\": \"Felhasználó jelszava megváltozott\",\n    \"the-password-and-confirmation-password-do-not-match\": \"A jelszó és a megerősítő jelszó nem egyezik\",\n    \"scheduled-content\": \"Ütemezett tartalom\",\n    \"there-are-no-scheduled-content\": \"Nincs ütemezett tartalom.\",\n    \"new-content-created\": \"Új tartalom létrehozva\",\n    \"content-edited\": \"Tartalom szerkesztve\",\n    \"content-deleted\": \"Tartalom törölve\",\n    \"undefined\": \"Meghatározatlan\",\n    \"create-new-content-for-your-site\": \"Hozzon létre új tartalmat a webhelyén\",\n    \"order-items-by\": \"Elemek sorbarendezve\",\n    \"all-content\": \"Minden tartalom\",\n    \"dynamic\": \"Dinamikus\",\n    \"type\": \"Típus\",\n    \"draft-content\": \"Piszkozat tartalom\",\n    \"post\": \"Bejegyzés\",\n    \"default\": \"Alapértelmezett\",\n    \"latest-content\": \"Legújabb tartalom\",\n    \"default-message\": \"Alapértelmezett üzenet\",\n    \"no-parent\": \"Nincs szülő\",\n    \"have-you-seen-my-ball\": \"Láttad a labdám?\",\n    \"pagebreak\": \"Oldaltörés\",\n    \"pages\": \"Oldalak\",\n    \"this-plugin-may-not-be-supported-by-this-version-of-bludit\": \"Ez a bővitmény lehet, hogy nem támogatott a Bludit ezen verziója által\",\n    \"previous\": \"Előző\",\n    \"previous-page\": \"Előző oldal\",\n    \"next-page\": \"Következő oldal\",\n    \"scheduled\": \"Ütemezett\",\n    \"this-token-is-similar-to-a-password-it-should-not-be-shared\": \"Ez a token hasonló a jelszóhoz, nem szabad megosztani.\",\n    \"congratulations-you-have-successfully-installed-your-bludit\": \"Gratulálunk, sikeresen telepítette Bluditját\",\n    \"this-theme-may-not-be-supported-by-this-version-of-bludit\": \"Ez a téma lehet, hogy nem támogatott a Bludit ezen verziója által\",\n    \"read-more\": \"Bővebben\",\n    \"remember-me\": \"Emlékezz rám\",\n    \"plugins-position\": \"Bővitmény pozíció\",\n    \"plugins-sorted\": \"Bővitmények rendezése\",\n    \"plugins-position-changed\": \"Bővitmény pozíció megváltozott\",\n    \"drag-and-drop-to-set-the-position-of-the-plugin\": \"Húzza a bővítményeket a kívánt pozícióba\",\n    \"change-the-position-of-the-plugins\": \"Módosítsa a bővítmények pozícióját\",\n    \"reading-time\": \"Olvasási idő\",\n    \"minutes\": \"perc\",\n    \"minute\": \"perc\",\n    \"example-page-1-slug\": \"create-your-own-content\",\n    \"example-page-1-title\": \"Create your own content\",\n    \"example-page-1-content\": \"Start writing your own content or edit the current to fit your needs. To create, edit or remove content you need to login to the <a href=\\\".\\/admin\\/\\\">admin panel<\\/a> with the username `admin` and the password you set on the installation process.\",\n    \"example-page-2-slug\": \"set-up-your-new-site\",\n    \"example-page-2-title\": \"Set up your new site\",\n    \"example-page-2-content\": \"Update the settings of your site from the <a href=\\\".\\/admin\\/\\\">admin panel<\\/a>, you can change the title, description and the social networks from <a href=\\\".\\/admin\\/settings\\\" target=\\\"_blank\\\">Settings > General<\\/a>.\",\n    \"example-page-3-slug\": \"follow-bludit\",\n    \"example-page-3-title\": \"Follow Bludit\",\n    \"example-page-3-content\": \"Get information about news, new releases, new themes or new plugins on our social networks <a href=\\\"https:\\/\\/www.facebook.com\\/bluditcms\\/\\\" target=\\\"_blank\\\">Facebook<\\/a>, <a href=\\\"https:\\/\\/www.twitter.com\\/bludit\\/\\\" target=\\\"_blank\\\">Twitter<\\/a> and <a href=\\\"https:\\/\\/www.youtube.com\\/c\\/Bluditcms\\\" target=\\\"_blank\\\">YouTube<\\/a> or visit our <a href=\\\"https:\\/\\/blog.bludit.com\\\" target=\\\"_blank\\\">Blog<\\/a>.\",\n    \"example-page-4-slug\": \"about\",\n    \"example-page-4-title\": \"About\",\n    \"example-page-4-content\": \"Your About page is typically one of the most visited pages on your site, need to be simple with a few key things, such as your name, who are you, how can contact you, a small story, etc.\",\n    \"the-extension-zip-is-not-installed\": \"A kiterjesztés zip nincs telepítve, ennek a bővítménynek a használatához telepítenie kell a kiterjesztést.\",\n    \"there-are-no-sticky-pages-at-this-moment\": \"Nincsenek ragadós oldalak ebben a pillanatban.\",\n    \"there-are-no-scheduled-pages-at-this-moment\": \"Nincsenek ütemezett oldalak ebben a pillanatban.\",\n    \"update\": \"Frissítés\",\n    \"template\": \"Sablon\",\n    \"nickname\": \"Nickname\",\n    \"disable-user\": \"Felhasználó letiltása\",\n    \"delete-user-and-keep-content\": \"Felhasználó törlése és tartalom megtartása\",\n    \"delete-user-and-delete-content\": \"Felhasználó és tartalom törlése (Figyelem)\",\n    \"social-networks\": \"Közösségi hálók\",\n    \"interval\": \"Intervallum\",\n    \"number-in-minutes-for-every-execution-of-autosave\": \"Number in minutes for every execution of autosave.\",\n    \"extreme-friendly-url\": \"Rendkívül barátságos URL\",\n    \"title-formats\": \"Cím formátumok\",\n    \"delete-content\": \"Tartalom törlése\",\n    \"are-you-sure-you-want-to-delete-this-page\": \"Biztosan törlni akarja ezt az oldalt?\",\n    \"sticky\": \"Ragadós\",\n    \"actions\": \"Műveletek\",\n    \"edit\": \"Szerkesztés\",\n    \"options\": \"Opciók\",\n    \"enter-title\": \"Adjon címet\",\n    \"media-manager\": \"Média Menedzser\",\n    \"set-a-cover-image-from-external-url,-such-as-a-cdn-or-some-server-dedicated-for-images\": \"Állítsa be a borítóképét egy külső URL-ből, például CDN-ből vagy képeknek dedikált szerverből.\",\n    \"user\": \"Felhasználó\",\n    \"date-format-format\": \"Dátum formátum: <code>ÉÉÉÉ-HH-NN Óra:Perc:Másodperc<\\/code>\",\n    \"start-typing-a-page-title-to-see-a-list-of-suggestions\": \"Kezdje el beírni az oldal címét, hogy megjelenjen a javaslatok listája.\",\n    \"field-used-when-ordering-content-by-position\": \"A tartalom pozíció szerinti rendezésekor használt mező.\",\n    \"write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page\": \"Írjon egy sablonnevet az oldal szűréséhez a témában, és módosítsa az oldal stílusát.\",\n    \"write-the-tags-separated-by-commas\": \"Írja be a címkéket vesszővel elválasztva.\",\n    \"apply-code-noindex-code-to-this-page\": \"<code>noindex<\\/code> alkalmazása erre az oldalra.\",\n    \"this-tells-search-engines-not-to-show-this-page-in-their-search-results\": \"Ez azt mondja a keresőmotoroknak, hogy ne jelenítsék meg ezt az oldalt a keresési eredmények között.\",\n    \"apply-code-nofollow-code-to-this-page\": \"<code>nofollow<\\/code> alkalmazása erre az oldalra.\",\n    \"this-tells-search-engines-not-to-follow-links-on-this-page\": \"Ez azt mondja a keresőmotoroknak, hogy ne kövessék ezen az oldalon található linkeket.\",\n    \"apply-code-noarchive-code-to-this-page\": \"<code>noarchive<\\/code> alkalmazása erre az oldalra.\",\n    \"this-tells-search-engines-not-to-save-a-cached-copy-of-this-page\": \"Ez azt mondja a keresőmotoroknak, hogy ne mentsék el az oldal gyorsítótárazott példányát.\",\n    \"uncategorized\": \"Kategorizálatlan\",\n    \"done\": \"Kész\",\n    \"delete-category\": \"Kategória törlése\",\n    \"are-you-sure-you-want-to-delete-this-category?\": \"Biztosan törölni akarja ezt a kategóriát?\",\n    \"confirm-new-password\": \"Erősítse meg az új jelszót\",\n    \"the-nickname-is-almost-used-in-the-themes-to-display-the-author-of-the-content\": \"The nickname is almost used in the themes to display the author of the content\",\n    \"allow-unicode\": \"Unicode engedélyezése\",\n    \"allow-unicode-characters-in-the-url-and-some-part-of-the-system\": \"Engedélyezze a Unicode karaktereket az URL-ben és a rendszer egyes részeiben.\",\n    \"variables-allowed\": \"Változók engedélyezése\",\n    \"tag\": \"Címke\",\n    \"drag-and-drop-to-sort-the-plugins\": \"A bővítményeket húzza sorrendbe.\",\n    \"seo\": \"SEO\",\n    \"documentation\": \"Dokumentáció\",\n    \"forum-support\": \"Fórum támogatás\",\n    \"chat-support\": \"Chat támogatás\",\n    \"quick-links\": \"Gyors linkek\",\n    \"leave-empty-for-autocomplete-by-bludit\": \"Hagyja üresen a Bludit általi automatikus kiegészítéshez.\",\n    \"choose-a-password-for-the-user-admin\": \"Válasszon jelszót az <code>admin<\\/code> felhasználónak\",\n    \"access-denied\": \"Hozzáférés megtagadva\",\n    \"choose-images-to-upload\": \"Válassza ki a feltöltendő képeket\",\n    \"insert\": \"Beszúrás\",\n    \"upload\": \"Feltöltés\",\n    \"autosave\": \"Automatikus mentés\",\n    \"the-content-is-saved-as-a-draft-to-publish-it\": \"A tartalom vázlatként mentve. A közzétételhez kattintson a <b>Közzététel<\\/b> gombra, vagy ha továbbra is dolgozik rajta, kattintson a <b>Mentés piszkozatként<\\/b> gombra.\",\n    \"site\": \"Webhely\",\n    \"first\": \"Első\",\n    \"last\": \"Utolsó\",\n    \"there-are-no-pages-at-this-moment\": \"Nincsenek oldalak ebben a pillanatban.\",\n    \"there-are-no-static-pages-at-this-moment\": \"Nincsenek statikus oldalak ebben a pillanatban.\",\n    \"there-are-no-draft-pages-at-this-moment\": \"Nincsenek piszkozat oldalak ebben a pillanatban.\",\n    \"good-morning\": \"Jó reggelt\",\n    \"good-afternoon\": \"Jó napot\",\n    \"good-evening\": \"Jó estét\",\n    \"good-night\": \"Jó éjszakát\",\n    \"hello\": \"Helló\",\n    \"there-are-no-images-for-the-page\": \"Nincsenek képek az oldalhoz.\",\n    \"select-cover-image\": \"Válasszon borítóképet\",\n    \"this-plugin-depends-on-the-following-plugins\": \"Ez a bővítmény a következő bővítményektől függ.\",\n    \"no-pages-found\": \"Nem találhatók oldalak.\",\n    \"system-updated\": \"Rendszer frissítve.\",\n    \"security\": \"Biztonság\",\n    \"remove-cover-image\": \"Borítókép eltávolítása\",\n    \"width\": \"Szélesség\",\n    \"height\": \"Magasság\",\n    \"quality\": \"Minőség\",\n    \"thumbnails\": \"Indexképek\",\n    \"thumbnail\": \"Indexkép\",\n    \"thumbnail-width-in-pixels\": \"Indexkép szélessége pixelben (px).\",\n    \"thumbnail-height-in-pixels\": \"Indexkép magassága pixelben (px).\",\n    \"thumbnail-quality-in-percentage\": \"Indexkép minősége százalékban (%).\",\n    \"maximum-load-file-size-allowed:\": \"Maximális megengedett fájlméret:\",\n    \"file-type-is-not-supported\": \"A fájltípus nem támogatott. Engedélyezett típusok:\",\n    \"page-content\": \"Az oldal tartalma\",\n    \"markdown-parser\": \"Markdown parser\",\n    \"site-logo\": \"Webhely logó\",\n    \"search\": \"Keresés\",\n    \"search-plugins\": \"Bővítmények keresése\",\n    \"enabled-plugins\": \"Engedélyezett bővítmények\",\n    \"disabled-plugins\": \"Letiltott bővítmények\",\n    \"remove-logo\": \"Logó eltávolítása\",\n    \"preview\": \"Előnézet\",\n    \"author-can-write-and-edit-their-own-content\": \"Szerző: Írhat és szerkesztheti saját tartalmát. Szerkesztő: Írhat és szerkesztheti mások tartalmát.\",\n    \"custom-fields\": \"Egyéni mezők\",\n    \"define-custom-fields-for-the-content\": \"Definiáljon egyéni mezőket a tartalomhoz. Tudjon meg többet az egyéni mezőkről a <a href='https:\\/\\/docs.bludit.com\\/en\\/content\\/custom-fields'>dokumentációban<\\/a>.\",\n    \"start-typing-to-see-a-list-of-suggestions\": \"Kezdjen el írni, hogy megjelenjen a javaslatok listája.\",\n    \"view\": \"Nézet\",\n    \"no-tags\": \"Nincsenek címkék\",\n    \"insert-thumbnail\": \"Bélyegkép beszúrása\",\n    \"visits-today\": \"Látogatások ma\",\n    \"no-categories\": \"Nincsenek kategóriák\",\n    \"quick-search-pages-and-menu\": \"Gyorskeresés oldalak és menü\",\n    \"click-here-for-quick-search\": \"Click here for quick search\",\n    \"analytics\": \"Analitika\",\n    \"unique-visitors\": \"Egyedi látogatók\",\n    \"insert-linked-thumbnail\": \"Linkelt bélyegkép beszúrása\",\n    \"search-placeholder\": \"Oldalak, tartalmak és menüpontok keresése...\",\n    \"no-results-found\": \"Nincs találat\",\n    \"navigation\": \"Navigáció\",\n    \"default-content-status\": \"Alapértelmezett tartalom állapot\",\n    \"default-status-for-new-content\": \"Válassza ki, hogy az új tartalom alapértelmezés szerint Közzétett vagy Piszkozat legyen.\",\n    \"thumbnail-generation\": \"Bélyegkép generálás\",\n    \"enable-disable-automatic-thumbnail-generation-on-image-upload\": \"Automatikus bélyegkép-generálás engedélyezése vagy letiltása képfeltöltéskor.\"\n}\n"
  },
  {
    "path": "bl-languages/id_ID.json",
    "content": "{\n    \"language-data\": {\n        \"native\": \"Bahasa Indonesia\",\n        \"english-name\": \"Indonesian\",\n        \"last-update\": \"2020-09-26\",\n        \"authors\": [\n            \"Jeannes Bryan https:\\/\\/bryanislav.my.id\",\n            \"\",\n            \"\",\n            \"\"\n        ],\n        \"locale\": \"id, id_ID\"\n    },\n    \"dates\": {\n        \"Mon\": \"Sen\",\n        \"Tue\": \"Sel\",\n        \"Wed\": \"Rab\",\n        \"Thu\": \"Kam\",\n        \"Fri\": \"Jum\",\n        \"Sat\": \"Sab\",\n        \"Sun\": \"Min\",\n        \"Monday\": \"Senin\",\n        \"Tuesday\": \"Selasa\",\n        \"Wednesday\": \"Rabu\",\n        \"Thursday\": \"Kamis\",\n        \"Friday\": \"Jumat\",\n        \"Saturday\": \"Sabtu\",\n        \"Sunday\": \"Minggu\",\n        \"Jan\": \"Jan\",\n        \"Feb\": \"Feb\",\n        \"Mar\": \"Mar\",\n        \"Apr\": \"Apr\",\n        \"May\": \"Mei\",\n        \"Jun\": \"Jun\",\n        \"Jul\": \"Jul\",\n        \"Aug\": \"Agu\",\n        \"Sep\": \"Sep\",\n        \"Oct\": \"Okt\",\n        \"Nov\": \"Nov\",\n        \"Dec\": \"Des\",\n        \"January\": \"Januari\",\n        \"February\": \"Februari\",\n        \"March\": \"Maret\",\n        \"April\": \"April\",\n        \"June\": \"Juni\",\n        \"July\": \"Juli\",\n        \"August\": \"Agustus\",\n        \"September\": \"September\",\n        \"October\": \"Oktober\",\n        \"November\": \"November\",\n        \"December\": \"Desember\"\n    },\n    \"dashboard\": \"Dasbor\",\n    \"manage-users\": \"Kelola pengguna\",\n    \"manage-categories\": \"Kelola kategori\",\n    \"general-settings\": \"Pengaturan umum\",\n    \"advanced-settings\": \"Pengaturan lanjutan\",\n    \"thanks-for-supporting-bludit\": \"Terima kasih telah mendukung Bludit\",\n    \"upgrade-to-bludit-pro\": \"Tingkatkan ke Bludit PRO\",\n    \"language\": \"Bahasa\",\n    \"plugin\": \"Plugin\",\n    \"plugins\": \"Plugin\",\n    \"developers\": \"Pengembang\",\n    \"themes\": \"Tema\",\n    \"about\": \"Tentang\",\n    \"url\": \"URL\",\n    \"welcome\": \"Selamat datang\",\n    \"logout\": \"Keluar\",\n    \"website\": \"Situs web\",\n    \"publish\": \"Terbitkan\",\n    \"manage\": \"Kelola\",\n    \"content\": \"Konten\",\n    \"category\": \"Kategori\",\n    \"categories\": \"Kategori\",\n    \"users\": \"Pengguna\",\n    \"settings\": \"Pengaturan\",\n    \"general\": \"Umum\",\n    \"advanced\": \"Lanjutan\",\n    \"new-content\": \"Konten baru\",\n    \"manage-content\": \"Kelola konten\",\n    \"add-new-content\": \"Tambah konten baru\",\n    \"new-category\": \"Kategori baru\",\n    \"you-do-not-have-sufficient-permissions\": \"Anda tidak memiliki izin yang memadai\",\n    \"add-a-new-user\": \"Tambah pengguna baru\",\n    \"url-associated-with-the-content\": \"URL yang terkait dengan konten.\",\n    \"language-and-timezone\": \"Bahasa dan zona waktu\",\n    \"change-your-language-and-region-settings\": \"Ubah pengaturan bahasa dan wilayah Anda.\",\n    \"notifications\": \"Notifikasi\",\n    \"plugin-activated\": \"Plugin diaktifkan\",\n    \"plugin-deactivated\": \"Plugin dinonaktifkan\",\n    \"new-theme-configured\": \"Tema baru dikonfigurasi\",\n    \"settings-changes\": \"Pengaturan berubah\",\n    \"plugin-configured\": \"Plugin dikonfigurasi\",\n    \"welcome-to-bludit\": \"Selamat datang di Bludit\",\n    \"statistics\": \"Statistik\",\n    \"drafts\": \"Draf\",\n    \"title\": \"Judul\",\n    \"save\": \"Simpan\",\n    \"save-as-draft\": \"Simpan sebagai draf\",\n    \"cancel\": \"Batal\",\n    \"description\": \"Deskripsi\",\n    \"this-field-can-help-describe-the-content\": \"Bidang ini dapat membantu mendeskripsikan konten dalam beberapa kata.\",\n    \"images\": \"Gambar\",\n    \"error\": \"Galat\",\n    \"supported-image-file-types\": \"Jenis file gambar yang didukung\",\n    \"cover-image\": \"Gambar sampul\",\n    \"drag-and-drop-or-click-here\": \"Tarik dan lepas atau klik di sini\",\n    \"there-are-no-images\": \"Tidak ada gambar\",\n    \"upload-and-more-images\": \"Unggah dan lebih banyak gambar\",\n    \"click-on-the-image-for-options\": \"Klik pada gambar untuk opsi.\",\n    \"click-here-to-cancel\": \"Klik di sini untuk membatalkan.\",\n    \"insert-image\": \"Sisipkan gambar\",\n    \"set-as-cover-image\": \"Tetapkan sebagai gambar sampul\",\n    \"delete-image\": \"Hapus gambar\",\n    \"tags\": \"Tag\",\n    \"add\": \"Tambah\",\n    \"status\": \"Status\",\n    \"published\": \"Diterbitkan\",\n    \"draft\": \"Draf\",\n    \"empty-title\": \"Judul kosong\",\n    \"empty\": \"kosong\",\n    \"date\": \"Tanggal\",\n    \"external-cover-image\": \"Gambar sampul eksternal\",\n    \"parent\": \"Parent\",\n    \"full-image-url\": \"URL gambar lengkap.\",\n    \"this-field-is-used-when-you-order-the-content-by-position\": \"Bidang ini digunakan saat Anda mengurutkan konten berdasarkan posisi.\",\n    \"position\": \"Posisi\",\n    \"friendly-url\": \"Friendly URL\",\n    \"image-description\": \"Deskripsi gambar\",\n    \"add-a-new-category\": \"Tambah kategori baru\",\n    \"name\": \"Nama\",\n    \"username\": \"Nama pengguna\",\n    \"first-name\": \"Nama depan\",\n    \"last-name\": \"Nama belakang\",\n    \"to-schedule-the-content-select-the-date-and-time\": \"Untuk menjadwalkan konten pilih tanggal dan waktu, status harus diatur ke \\\"Published\\\".\",\n    \"email\": \"Surel\",\n    \"role\": \"Wewenang\",\n    \"registered\": \"Terdaftar\",\n    \"site-information\": \"Informasi situs\",\n    \"site-title\": \"Judul situs\",\n    \"use-this-field-to-name-your-site\": \"Gunakan bidang ini untuk memberi nama situs Anda.\",\n    \"site-slogan\": \"Slogan situs\",\n    \"use-this-field-to-add-a-catchy-phrase\": \"Gunakan bidang ini untuk menambahkan frasa yang menarik di situs Anda.\",\n    \"site-description\": \"Deskripsi situs\",\n    \"you-can-add-a-site-description-to-provide\": \"Anda dapat menambahkan deskripsi situs untuk memberikan bio atau deskripsi singkat tentang situs Anda.\",\n    \"footer-text\": \"Footer text\",\n    \"you-can-add-a-small-text-on-the-bottom\": \"Anda dapat menambahkan beberapa teks kecil ke bagian bawah setiap halaman. misalnya: hak cipta, pemilik, tanggal, dll.\",\n    \"social-networks-links\": \"Tautan jejaring sosial\",\n    \"site-url\": \"URL situs\",\n    \"email-account-settings\": \"Pengaturan akun surel\",\n    \"sender-email\": \"Surel pengirim\",\n    \"emails-will-be-sent-from-this-address\": \"Surel akan dikirim dari alamat ini.\",\n    \"url-filters\": \"URL filters\",\n    \"select-your-sites-language\": \"Pilih bahasa situs Anda.\",\n    \"timezone\": \"Zona waktu\",\n    \"select-a-timezone-for-a-correct\": \"Pilih zona waktu yang benar agar tanggal\\/waktu ditampilkan di situs Anda.\",\n    \"locale\": \"Lokal\",\n    \"date-and-time-formats\": \"Format tanggal dan waktu\",\n    \"date-format\": \"Format tanggal\",\n    \"current-format\": \"Format saat ini\",\n    \"version\": \"Versi\",\n    \"author\": \"Author\",\n    \"activate\": \"Aktifkan\",\n    \"deactivate\": \"Nonaktifkan\",\n    \"edit-category\": \"Ubah kategori\",\n    \"delete\": \"Hapus\",\n    \"password\": \"Kata sandi\",\n    \"confirm-password\": \"Konfirmasi Kata Sandi\",\n    \"editor\": \"Editor\",\n    \"administrator\": \"Administrator\",\n    \"edit-user\": \"Ubah pengguna\",\n    \"edit-content\": \"Ubah konten\",\n    \"profile\": \"Profil\",\n    \"change-password\": \"Ubah kata sandi\",\n    \"enabled\": \"Diaktifkan\",\n    \"disable-the-user\": \"Nonaktifkan pengguna\",\n    \"profile-picture\": \"Foto profil\",\n    \"edit-or-delete-your-categories\": \"Ubah atau hapus kategori Anda\",\n    \"create-a-new-category-to-organize-your-content\": \"Buat kategori baru untuk mengatur konten Anda\",\n    \"confirm-delete-this-action-cannot-be-undone\": \"Konfirmasi hapus, tindakan ini tidak dapat dibatalkan.\",\n    \"do-you-want-to-disable-the-user\": \"Apakah Anda ingin menonaktifkan pengguna ?\",\n    \"new-password\": \"Kata sandi baru\",\n    \"you-can-change-this-field-when-save-the-current-changes\": \"Anda dapat mengubah bidang ini saat Anda menyimpan perubahan saat ini.\",\n    \"items-per-page\": \"item per halaman\",\n    \"invite-a-friend-to-collaborate-on-your-site\": \"Undang teman untuk berkolaborasi di situs Anda\",\n    \"number-of-items-to-show-per-page\": \"Jumlah item untuk ditampilkan per halaman.\",\n    \"website-or-blog\": \"Situs Web atau Blog\",\n    \"order-content-by\": \"Urutkan konten berdasarkan\",\n    \"edit-or-delete-content-from-your-site\": \"Ubah atau hapus konten dari situs Anda\",\n    \"order-the-content-by-date-to-build-a-blog\": \"Order the content by date to build a Blog or order the content by position to build a Website.\",\n    \"page-not-found-content\": \"Hei! Sepertinya halaman ini tidak ada.\",\n    \"page-not-found\": \"Halaman tidak ditemukan\",\n    \"predefined-pages\": \"Predefined pages\",\n    \"returning-page-when-the-page-doesnt-exist\": \"Menampilkan halaman ketika halaman tersebut tidak ada, secara default mengembalikan pesan default.\",\n    \"returning-page-for-the-main-page\": \"Halaman kembali untuk halaman utama, secara default, menunjukkan urutan konten terbaru berdasarkan tanggal atau posisi.\",\n    \"full-url-of-your-site\": \"URL lengkap situs Anda. Lengkap dengan protokol HTTP atau HTTPS (hanya jika Anda telah mengaktifkan SSL di server Anda).\",\n    \"with-the-locales-you-can-set-the-regional-user-interface\": \"Dengan lokal, Anda dapat menyetel antarmuka pengguna regional, seperti tanggal dalam bahasa Anda. Lokal perlu diinstal di sistem Anda.\",\n    \"bludit-installer\": \"Pemasang Bludit\",\n    \"choose-your-language\": \"Pilih bahasa Anda\",\n    \"next\": \"Selanjutnya\",\n    \"complete-the-form-choose-a-password-for-the-username-admin\": \"Lengkapi formulir, pilih kata sandi untuk nama pengguna <b>admin<\\/b>\",\n    \"show-password\": \"Tampilkan kata sandi\",\n    \"install\": \"Pasang\",\n    \"login\": \"Masuk\",\n    \"back-to-login-form\": \"Kembali ke formulir masuk\",\n    \"get-login-access-code\": \"Dapatkan kode akses masuk\",\n    \"email-access-code\": \"Kode akses surel\",\n    \"whats-next\": \"Apa Berikutnya\",\n    \"username-or-password-incorrect\": \"Nama pengguna atau kata sandi salah\",\n    \"follow-bludit-on\": \"Ikuti Bludit di\",\n    \"this-is-a-brief-description-of-yourself-our-your-site\": \"Ini adalah deskripsi singkat tentang diri Anda atau situs Anda, untuk mengubah teks ini masuk ke panel admin, pengaturan, plugin, dan konfigurasi plugin \\\"about\\\".\",\n    \"new-version-available\": \"Versi baru tersedia\",\n    \"new-category-created\": \"Kategori baru dibuat\",\n    \"category-deleted\": \"Kategori dihapus\",\n    \"category-edited\": \"Kategori diubah\",\n    \"new-user-created\": \"Pengguna baru dibuat\",\n    \"user-edited\": \"Pengguna diubah\",\n    \"user-deleted\": \"Pengguna dihapus\",\n    \"recommended-for-recovery-password-and-notifications\": \"Direkomendasikan untuk pemulihan kata sandi dan notifikasi.\",\n    \"authentication-token\": \"Token Otentikasi\",\n    \"token\": \"Token\",\n    \"current-status\": \"Status terkini\",\n    \"upload-image\": \"Unggah gambar\",\n    \"the-changes-have-been-saved\": \"Perubahan telah disimpan\",\n    \"label\": \"Label\",\n    \"links\": \"Tautan\",\n    \"this-title-is-almost-always-used-in-the-sidebar-of-the-site\": \"Judul ini hampir selalu digunakan di sidebar situs.\",\n    \"password-must-be-at-least-6-characters-long\": \"Kata sandi minimal harus terdiri dari 6 karakter\",\n    \"ip-address-has-been-blocked\": \"Alamat IP telah diblokir\",\n    \"try-again-in-a-few-minutes\": \"Coba lagi dalam beberapa menit\",\n    \"content-published-from-scheduler\": \"Konten diterbitkan dari penjadwal\",\n    \"blog\": \"Blog\",\n    \"complete-all-fields\": \"Lengkapi semua bidang\",\n    \"static\": \"Static\",\n    \"about-your-site-or-yourself\": \"Tentang situs Anda atau diri Anda sendiri\",\n    \"homepage\": \"Beranda\",\n    \"disabled\": \"Dinonaktifkan\",\n    \"to-enable-the-user-you-must-set-a-new-password\": \"Untuk mengaktifkan pengguna, Anda harus menyetel kata sandi baru.\",\n    \"delete-the-user-and-associate-his-content-to-admin-user\": \"Hapus pengguna dan kaitkan konten mereka dengan pengguna admin\",\n    \"delete-the-user-and-all-his-content\": \"Hapus pengguna dan semua kontennya\",\n    \"user-disabled\": \"Pengguna dinonaktifkan\",\n    \"user-password-changed\": \"Kata sandi pengguna diubah\",\n    \"the-password-and-confirmation-password-do-not-match\": \"Kata sandi dan kata sandi konfirmasi tidak cocok\",\n    \"scheduled-content\": \"Konten terjadwal\",\n    \"there-are-no-scheduled-content\": \"Tidak ada konten terjadwal.\",\n    \"new-content-created\": \"Konten baru dibuat\",\n    \"content-edited\": \"Konten diubah\",\n    \"content-deleted\": \"Konten dihapus\",\n    \"undefined\": \"Tidak terdefinisi\",\n    \"create-new-content-for-your-site\": \"Buat konten baru untuk situs Anda\",\n    \"order-items-by\": \"Urutkan item dari\",\n    \"all-content\": \"Semua konten\",\n    \"dynamic\": \"Dinamis\",\n    \"type\": \"Jenis\",\n    \"draft-content\": \"Draf konten\",\n    \"post\": \"Post\",\n    \"default\": \"Default\",\n    \"latest-content\": \"Konten terbaru\",\n    \"default-message\": \"Default message\",\n    \"no-parent\": \"No parent\",\n    \"have-you-seen-my-ball\": \"Apakah Anda melihat bola saya?\",\n    \"pagebreak\": \"Page break\",\n    \"pages\": \"Halaman\",\n    \"this-plugin-may-not-be-supported-by-this-version-of-bludit\": \"Plugin ini mungkin tidak didukung oleh versi Bludit ini\",\n    \"previous\": \"Sebelumnya\",\n    \"previous-page\": \"Halaman sebelumnya\",\n    \"next-page\": \"Halaman selanjutnya\",\n    \"scheduled\": \"Terjadwal\",\n    \"this-token-is-similar-to-a-password-it-should-not-be-shared\": \"Token ini sama dengan kata sandi, tidak boleh dibagikan.\",\n    \"congratulations-you-have-successfully-installed-your-bludit\": \"Selamat, Anda telah berhasil menginstal Bludit.\",\n    \"this-theme-may-not-be-supported-by-this-version-of-bludit\": \"Tema ini mungkin tidak didukung oleh versi Bludit ini\",\n    \"read-more\": \"Baca selengkapnya\",\n    \"remember-me\": \"Ingat saya\",\n    \"plugins-position\": \"Posisi plugin\",\n    \"plugins-sorted\": \"Plugin diurutkan\",\n    \"plugins-position-changed\": \"Posisi plugin diubah\",\n    \"drag-and-drop-to-set-the-position-of-the-plugin\": \"Seret dan Jatuhkan untuk mengatur posisi plugin\",\n    \"change-the-position-of-the-plugins\": \"Ubah posisi plugin\",\n    \"reading-time\": \"Durasi membaca\",\n    \"minutes\": \"menit\",\n    \"minute\": \"menit\",\n    \"example-page-1-slug\": \"buat-konten-anda-sendiri\",\n    \"example-page-1-title\": \"Buat konten Anda sendiri\",\n    \"example-page-1-content\": \"Mulailah menulis konten Anda sendiri atau edit saat ini agar sesuai dengan kebutuhan Anda. Untuk membuat, mengedit, atau menghapus konten yang Anda perlukan untuk login ke <a href=\\\".\\/admin\\/\\\">panel admin<\\/a> dengan nama pengguna `admin` dan kata sandi yang telah Anda tetapkan dalam proses pemasangan.\",\n    \"example-page-2-slug\": \"siapkan-situs-baru-anda\",\n    \"example-page-2-title\": \"Siapkan situs baru Anda\",\n    \"example-page-2-content\": \"Perbarui pengaturan situs Anda dari <a href=\\\".\\/admin\\/\\\">panel admin<\\/a>, Anda dapat mengubah judul, deskripsi, dan jejaring sosial dari <a href=\\\".\\/admin\\/settings\\\">Pengaturan > Umum<\\/a>.\",\n    \"example-page-3-slug\": \"ikuti-bludit\",\n    \"example-page-3-title\": \"Ikuti Bludit\",\n    \"example-page-3-content\": \"Dapatkan informasi tentang berita, rilis baru, tema baru atau plugin baru di jejaring sosial kami <a href=\\\"https:\\/\\/www.facebook.com\\/bluditcms\\/\\\" target=\\\"_blank\\\">Facebook<\\/a>, <a href=\\\"https:\\/\\/www.twitter.com\\/bludit\\/\\\" target=\\\"_blank\\\">Twitter<\\/a> dan <a href=\\\"https:\\/\\/www.youtube.com\\/c\\/Bluditcms\\\" target=\\\"_blank\\\">YouTube<\\/a> atau kunjungi <a href=\\\"https:\\/\\/blog.bludit.com\\\" target=\\\"_blank\\\">Blog kami<\\/a>.\",\n    \"example-page-4-slug\": \"tentang\",\n    \"example-page-4-title\": \"Tentang\",\n    \"example-page-4-content\": \"Halaman Tentang Anda biasanya merupakan salah satu halaman yang paling banyak dikunjungi di situs Anda, harus sederhana dengan beberapa hal penting, seperti nama Anda, siapa Anda, bagaimana cara menghubungi Anda, cerita kecil, dll.\",\n    \"the-extension-zip-is-not-installed\": \"Zip ekstensi belum diinstal, untuk menggunakan plugin ini Anda perlu menginstal ekstensi.\",\n    \"there-are-no-sticky-pages-at-this-moment\": \"Tidak ada halaman yang melekat saat ini.\",\n    \"there-are-no-scheduled-pages-at-this-moment\": \"Tidak ada halaman terjadwal saat ini.\",\n    \"update\": \"Perbarui\",\n    \"template\": \"Template\",\n    \"nickname\": \"Nama Panggilan\",\n    \"disable-user\": \"Nonaktifkan pengguna\",\n    \"delete-user-and-keep-content\": \"Hapus pengguna dan simpan konten\",\n    \"delete-user-and-delete-content\": \"Hapus pengguna dan hapus konten (Warning)\",\n    \"social-networks\": \"Jejaring Sosial\",\n    \"interval\": \"Interval\",\n    \"number-in-minutes-for-every-execution-of-autosave\": \"Angka dalam menit untuk setiap eksekusi simpan otomatis.\",\n    \"extreme-friendly-url\": \"Extreme friendly URL\",\n    \"title-formats\": \"Format judul\",\n    \"delete-content\": \"Hapus konten\",\n    \"are-you-sure-you-want-to-delete-this-page\": \"Anda yakin ingin menghapus halaman ini?\",\n    \"sticky\": \"Sticky\",\n    \"actions\": \"Tindakan\",\n    \"edit\": \"Ubah\",\n    \"options\": \"Opsi\",\n    \"enter-title\": \"Masukkan judul\",\n    \"media-manager\": \"Manajer Media\",\n    \"set-a-cover-image-from-external-url,-such-as-a-cdn-or-some-server-dedicated-for-images\": \"Setel gambar sampul dari URL eksternal, seperti CDN atau beberapa server yang didedikasikan untuk gambar.\",\n    \"user\": \"Pengguna\",\n    \"date-format-format\": \"Format tanggal: <code>YYYY-MM-DD Jam:Menit:Detik<\\/code>\",\n    \"start-typing-a-page-title-to-see-a-list-of-suggestions\": \"Mulailah mengetik judul halaman untuk melihat daftar saran.\",\n    \"field-used-when-ordering-content-by-position\": \"Bidang digunakan saat mengurutkan konten berdasarkan posisi.\",\n    \"write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page\": \"Tulis nama template untuk memfilter halaman dalam tema dan mengubah gaya halaman.\",\n    \"write-the-tags-separated-by-commas\": \"Tulis tag dipisahkan dengan koma.\",\n    \"apply-code-noindex-code-to-this-page\": \"Terapkan <code>noindex<\\/code> ke halaman ini.\",\n    \"this-tells-search-engines-not-to-show-this-page-in-their-search-results\": \"Ini memberi tahu mesin pencari untuk tidak menampilkan halaman ini dalam hasil pencarian mereka.\",\n    \"apply-code-nofollow-code-to-this-page\": \"Terapkan <code>nofollow<\\/code> ke halaman ini.\",\n    \"this-tells-search-engines-not-to-follow-links-on-this-page\": \"Ini memberi tahu mesin pencari untuk tidak mengikuti tautan di halaman ini.\",\n    \"apply-code-noarchive-code-to-this-page\": \"Terapkan <code>noarchive<\\/code> ke halaman ini.\",\n    \"this-tells-search-engines-not-to-save-a-cached-copy-of-this-page\": \"Ini memberitahu mesin pencari untuk tidak menyimpan salinan cache dari halaman ini.\",\n    \"uncategorized\": \"Tak Berkategori\",\n    \"done\": \"Selesai\",\n    \"delete-category\": \"Hapus kategori\",\n    \"are-you-sure-you-want-to-delete-this-category?\": \"Anda yakin ingin menghapus kategori ini?\",\n    \"confirm-new-password\": \"Konfirmasi kata sandi baru\",\n    \"the-nickname-is-almost-used-in-the-themes-to-display-the-author-of-the-content\": \"Nama panggilan ini hampir digunakan dalam tema untuk menampilkan pembuat konten\",\n    \"allow-unicode\": \"Izinkan Unicode\",\n    \"allow-unicode-characters-in-the-url-and-some-part-of-the-system\": \"Izinkan karakter Unicode di URL dan beberapa bagian sistem.\",\n    \"variables-allowed\": \"Variabel diperbolehkan\",\n    \"tag\": \"Tag\",\n    \"drag-and-drop-to-sort-the-plugins\": \"Seret dan Jatuhkan untuk mengurutkan plugin.\",\n    \"seo\": \"SEO\",\n    \"documentation\": \"Dokumentasi\",\n    \"forum-support\": \"Dukungan forum\",\n    \"chat-support\": \"Dukungan obrolan\",\n    \"quick-links\": \"Tautan cepat\",\n    \"leave-empty-for-autocomplete-by-bludit\": \"Biarkan kosong untuk pelengkapan otomatis oleh Bludit.\",\n    \"choose-a-password-for-the-user-admin\": \"Pilih kata sandi untuk pengguna <code>admin<\\/code>\",\n    \"access-denied\": \"Akses ditolak\",\n    \"choose-images-to-upload\": \"Pilih gambar untuk diunggah\",\n    \"insert\": \"Masukkan\",\n    \"upload\": \"Unggah\",\n    \"autosave\": \"Simpan otomatis\",\n    \"the-content-is-saved-as-a-draft-to-publish-it\": \"Konten tersebut disimpan sebagai draf. Untuk mempublikasikannya, klik tombol <b>Terbitkan<\\/b> atau jika Anda masih mengerjakannya, klik <b>Simpan sebagai draf<\\/b>.\",\n    \"site\": \"Situs\",\n    \"first\": \"Pertama\",\n    \"last\": \"Terakhir\",\n    \"there-are-no-pages-at-this-moment\": \"Tidak ada halaman saat ini.\",\n    \"there-are-no-static-pages-at-this-moment\": \"Tidak ada halaman statis saat ini.\",\n    \"there-are-no-draft-pages-at-this-moment\": \"Tidak ada halaman draf saat ini.\",\n    \"good-morning\": \"Selamat pagi\",\n    \"good-afternoon\": \"Selamat siang\",\n    \"good-evening\": \"Selamat sore\",\n    \"good-night\": \"Selamat malam\",\n    \"hello\": \"Halo\",\n    \"there-are-no-images-for-the-page\": \"Tidak ada gambar untuk halaman ini.\",\n    \"select-cover-image\": \"Pilih gambar sampul\",\n    \"this-plugin-depends-on-the-following-plugins\": \"Plugin ini bergantung pada plugin berikut.\",\n    \"no-pages-found\": \"Tidak ada halaman yang ditemukan.\",\n    \"system-updated\": \"Sistem diperbarui.\",\n    \"security\": \"Keamanan\",\n    \"remove-cover-image\": \"Hapus gambar sampul\",\n    \"width\": \"Lebar\",\n    \"height\": \"Tinggi\",\n    \"quality\": \"Kualitas\",\n    \"thumbnails\": \"Thumbnails\",\n    \"thumbnail\": \"Thumbnail\",\n    \"thumbnail-width-in-pixels\": \"Lebar thumbnail dalam piksel (px).\",\n    \"thumbnail-height-in-pixels\": \"Tinggi thumbnail dalam piksel (px).\",\n    \"thumbnail-quality-in-percentage\": \"Kualitas thumbnail dalam persentase (%).\",\n    \"maximum-load-file-size-allowed:\": \"Ukuran pemuatan file maksimum yang diperbolehkan:\",\n    \"file-type-is-not-supported\": \"Jenis file tidak didukung. Jenis yang diizinkan:\",\n    \"page-content\": \"Konten halaman\",\n    \"markdown-parser\": \"Markdown parser\",\n    \"site-logo\": \"Logo situs\",\n    \"search\": \"Cari\",\n    \"search-plugins\": \"Cari plugin\",\n    \"enabled-plugins\": \"Aktifkan plugin\",\n    \"disabled-plugins\": \"Nonaktifkan plugin\",\n    \"remove-logo\": \"Hapus logo\",\n    \"preview\": \"Pratinjau\",\n    \"author-can-write-and-edit-their-own-content\": \"Author: Dapat menulis dan mengedit konten mereka sendiri. Editor: Dapat menulis dan mengedit konten orang lain.\",\n    \"custom-fields\": \"Bidang khusus\",\n    \"define-custom-fields-for-the-content\": \"Tentukan bidang kustom untuk konten. Pelajari lebih lanjut tentang bidang khusus di <a href='https:\\/\\/docs.bludit.com\\/en\\/content\\/custom-fields'>dokumentasi<\\/a>.\",\n    \"start-typing-to-see-a-list-of-suggestions\": \"Mulailah mengetik untuk melihat daftar saran.\",\n    \"view\": \"Lihat\",\n    \"no-tags\": \"Tidak ada tag\",\n    \"insert-thumbnail\": \"Sisipkan thumbnail\",\n    \"visits-today\": \"Kunjungan Hari Ini\",\n    \"no-categories\": \"Tidak ada kategori\",\n    \"quick-search-pages-and-menu\": \"Pencarian cepat halaman dan menu\",\n    \"click-here-for-quick-search\": \"Click here for quick search\",\n    \"analytics\": \"Analitik\",\n    \"unique-visitors\": \"Pengunjung Unik\",\n    \"insert-linked-thumbnail\": \"Sisipkan thumbnail tertaut\",\n    \"search-placeholder\": \"Cari halaman, konten, dan item menu...\",\n    \"no-results-found\": \"Tidak ada hasil yang ditemukan\",\n    \"navigation\": \"Navigasi\",\n    \"default-content-status\": \"Status konten default\",\n    \"default-status-for-new-content\": \"Pilih apakah konten baru dibuat sebagai Diterbitkan atau Draf secara default.\",\n    \"thumbnail-generation\": \"Pembuatan gambar mini\",\n    \"enable-disable-automatic-thumbnail-generation-on-image-upload\": \"Aktifkan atau nonaktifkan pembuatan gambar mini otomatis saat mengunggah gambar.\"\n}\n"
  },
  {
    "path": "bl-languages/it_IT.json",
    "content": "{\n    \"language-data\": {\n        \"native\": \"Italiano (Italia)\",\n        \"english-name\": \"Italian\",\n        \"last-update\": \"2026-03-22\",\n        \"authors\": [\n            \"Daniele La Pira https://github.com/danielelapira\",\n            \"Giuseppe Pignataro https://github.com/fastbyte01\",\n            \"Emanuele Goldoni https://github.com/emanueleg\",\n            \"\"\n        ],\n        \"locale\": \"it, it_IT\"\n    },\n    \"dates\": {\n        \"Mon\": \"Lun\",\n        \"Tue\": \"Mar\",\n        \"Wed\": \"Mer\",\n        \"Thu\": \"Gio\",\n        \"Fri\": \"Ven\",\n        \"Sat\": \"Sab\",\n        \"Sun\": \"Dom\",\n        \"Monday\": \"Lunedì\",\n        \"Tuesday\": \"Martedì\",\n        \"Wednesday\": \"Mercoledì\",\n        \"Thursday\": \"Giovedì\",\n        \"Friday\": \"Venerdì\",\n        \"Saturday\": \"Sabato\",\n        \"Sunday\": \"Domenica\",\n        \"Jan\": \"Gen\",\n        \"Feb\": \"Feb\",\n        \"Mar\": \"Mar\",\n        \"Apr\": \"Apr\",\n        \"Jun\": \"Giu\",\n        \"Jul\": \"Lug\",\n        \"Aug\": \"Ago\",\n        \"Sep\": \"Set\",\n        \"Oct\": \"Ott\",\n        \"Nov\": \"Nov\",\n        \"Dec\": \"Dic\",\n        \"January\": \"Gennaio\",\n        \"February\": \"Febbraio\",\n        \"March\": \"Marzo\",\n        \"April\": \"Aprile\",\n        \"May\": \"Maggio\",\n        \"June\": \"Giugno\",\n        \"July\": \"Luglio\",\n        \"August\": \"Agosto\",\n        \"September\": \"Settembre\",\n        \"October\": \"Ottobre\",\n        \"November\": \"Novembre\",\n        \"December\": \"Dicembre\"\n    },\n    \"dashboard\": \"Pannello\",\n    \"manage-users\": \"Gestisci utenti\",\n    \"manage-categories\": \"Gestisci categorie\",\n    \"general-settings\": \"Impostazioni generali\",\n    \"advanced-settings\": \"Impostazioni avanzate\",\n    \"thanks-for-supporting-bludit\": \"Grazie per supportare Bludit\",\n    \"upgrade-to-bludit-pro\": \"Aggiorna a Bludit PRO\",\n    \"language\": \"Lingua\",\n    \"plugin\": \"Plugin\",\n    \"plugins\": \"Plugin\",\n    \"developers\": \"Sviluppatori\",\n    \"themes\": \"Temi\",\n    \"about\": \"Informazioni\",\n    \"url\": \"URL\",\n    \"welcome\": \"Benvenuto\",\n    \"logout\": \"Esci\",\n    \"website\": \"Sito web\",\n    \"publish\": \"Pubblica\",\n    \"manage\": \"Gestisci\",\n    \"content\": \"Contenuto\",\n    \"category\": \"Categoria\",\n    \"categories\": \"Categorie\",\n    \"users\": \"Utenti\",\n    \"settings\": \"Impostazioni\",\n    \"general\": \"Generali\",\n    \"advanced\": \"Avanzate\",\n    \"new-content\": \"Nuovo contenuto\",\n    \"manage-content\": \"Gestisci contenuto\",\n    \"add-new-content\": \"Aggiungi nuovo contenuto\",\n    \"new-category\": \"Nuova categoria\",\n    \"you-do-not-have-sufficient-permissions\": \"Non hai sufficienti permessi per accedere a questa pagina. Contatta l'amministratore.\",\n    \"add-a-new-user\": \"Aggiungi un nuovo utente\",\n    \"url-associated-with-the-content\": \"URL associato al contenuto.\",\n    \"language-and-timezone\": \"Lingua e fuso orario\",\n    \"change-your-language-and-region-settings\": \"Modifica le impostazioni di lingua e regione.\",\n    \"notifications\": \"Notifiche\",\n    \"plugin-activated\": \"Plugin attivato\",\n    \"plugin-deactivated\": \"Plugin disattivato\",\n    \"new-theme-configured\": \"Nuovo tema configurato\",\n    \"settings-changes\": \"Cambiamenti su impostazioni\",\n    \"plugin-configured\": \"Plugin configurato\",\n    \"welcome-to-bludit\": \"Benvenuti in Bludit\",\n    \"statistics\": \"Statistiche\",\n    \"drafts\": \"Bozze\",\n    \"title\": \"Titolo\",\n    \"save\": \"Salva\",\n    \"save-as-draft\": \"Salva come bozza\",\n    \"cancel\": \"Annulla\",\n    \"description\": \"Descrizione\",\n    \"this-field-can-help-describe-the-content\": \"Qui puoi descrivere il contenuto in poche parole.\",\n    \"images\": \"Immagini\",\n    \"error\": \"Errore\",\n    \"supported-image-file-types\": \"Formati file immagine supportati\",\n    \"cover-image\": \"Immagine di copertina\",\n    \"drag-and-drop-or-click-here\": \"Trascina e rilascia oppure clicca qui\",\n    \"there-are-no-images\": \"Non ci sono immagini\",\n    \"upload-and-more-images\": \"Caricamento e altre immagini\",\n    \"click-on-the-image-for-options\": \"Clicca sull'immagine per le opzioni.\",\n    \"click-here-to-cancel\": \"Clicca qui per annullare.\",\n    \"insert-image\": \"Inserisci immagine\",\n    \"set-as-cover-image\": \"Imposta come immagine di copertina\",\n    \"delete-image\": \"Elimina immagine\",\n    \"tags\": \"Tag\",\n    \"add\": \"Aggiungi\",\n    \"status\": \"Stato\",\n    \"published\": \"Pubblicato\",\n    \"draft\": \"Bozza\",\n    \"empty-title\": \"Titolo assente\",\n    \"empty\": \"vuoto\",\n    \"date\": \"Data\",\n    \"external-cover-image\": \"Immagine di copertina esterna\",\n    \"parent\": \"Genitore\",\n    \"full-image-url\": \"URL immagine completo.\",\n    \"this-field-is-used-when-you-order-the-content-by-position\": \"Questo campo è utilizzato quando ordini il contenuto per posizione.\",\n    \"position\": \"Posizione\",\n    \"friendly-url\": \"URL amichevole\",\n    \"image-description\": \"Descrizione dell'immagine\",\n    \"add-a-new-category\": \"Aggiungi una nuova categoria\",\n    \"name\": \"Nome\",\n    \"username\": \"Nome Utente\",\n    \"quick-search-pages-and-menu\": \"Ricerca rapida pagine e menu\",\n    \"click-here-for-quick-search\": \"Click here for quick search\",\n    \"analytics\": \"Statistiche\",\n    \"visits-today\": \"Visite oggi\",\n    \"unique-visitors\": \"Visitatori unici\",\n    \"search-placeholder\": \"Cerca pagine, contenuti e voci di menu...\",\n    \"no-results-found\": \"Nessun risultato trovato\",\n    \"first-name\": \"Nome\",\n    \"last-name\": \"Cognome\",\n    \"to-schedule-the-content-select-the-date-and-time\": \"Per programmare il contenuto seleziona la data e l'ora, lo stato deve essere impostato su\\\"Pubblicato\\\".\",\n    \"email\": \"Email\",\n    \"role\": \"Ruolo\",\n    \"registered\": \"Registrato\",\n    \"site-information\": \"Informazioni sul sito\",\n    \"site-title\": \"Titolo del sito\",\n    \"use-this-field-to-name-your-site\": \"Usa questo campo per dare un nome al tuo sito. Apparirà nella parte superiore in ogni pagina del tuo sito.\",\n    \"site-slogan\": \"Slogan del sito\",\n    \"use-this-field-to-add-a-catchy-phrase\": \"Usa questo campo per aggiungere uno slogan al tuo sito.\",\n    \"site-description\": \"Descrizione del sito\",\n    \"you-can-add-a-site-description-to-provide\": \"Puoi aggiungere una descrizione del tuo sito e una tua breve biografia.\",\n    \"footer-text\": \"Testo pie' di pagina\",\n    \"you-can-add-a-small-text-on-the-bottom\": \"Puoi aggiungere un breve testo in fondo ad ogni pagina. Ad es. copyright, autore, date, ecc.\",\n    \"social-networks-links\": \"Social Network\",\n    \"site-url\": \"URL del sito\",\n    \"email-account-settings\": \"Impostazioni dell'account email\",\n    \"sender-email\": \"Mittente email\",\n    \"emails-will-be-sent-from-this-address\": \"Le email saranno inviate da questo indirizzo.\",\n    \"url-filters\": \"Filtri URL\",\n    \"select-your-sites-language\": \"Seleziona la lingua del tuo sito.\",\n    \"timezone\": \"Fuso orario\",\n    \"select-a-timezone-for-a-correct\": \"Seleziona un fuso orario per la corretta visualizzazione di data e ora sul sito.\",\n    \"locale\": \"Locale\",\n    \"date-and-time-formats\": \"Formati data e ora\",\n    \"date-format\": \"Formato data\",\n    \"current-format\": \"Formato corrente\",\n    \"version\": \"Versione\",\n    \"author\": \"Autore\",\n    \"activate\": \"Attiva\",\n    \"deactivate\": \"Disattiva\",\n    \"edit-category\": \"Modifica categoria\",\n    \"delete\": \"Elimina\",\n    \"password\": \"Password\",\n    \"confirm-password\": \"Conferma Password\",\n    \"editor\": \"Editore\",\n    \"administrator\": \"Amministratore\",\n    \"edit-user\": \"Modifica utente\",\n    \"edit-content\": \"Modifica contenuto\",\n    \"profile\": \"Profilo\",\n    \"change-password\": \"Cambia password\",\n    \"enabled\": \"Abilitato\",\n    \"disable-the-user\": \"Disabilita l'utente\",\n    \"profile-picture\": \"Foto del profilo\",\n    \"edit-or-delete-your-categories\": \"Modifica o elimina le tue categorie\",\n    \"create-a-new-category-to-organize-your-content\": \"Crea una nuova categoria per organizzare il tuo contenuto\",\n    \"confirm-delete-this-action-cannot-be-undone\": \"Conferma l'eliminazione. Questa azione non può essere annullata.\",\n    \"do-you-want-to-disable-the-user\": \"Vuoi disabilitare l'utente?\",\n    \"new-password\": \"Nuova password\",\n    \"you-can-change-this-field-when-save-the-current-changes\": \"Puoi cambiare questo campo quando salvi i cambiamenti correnti.\",\n    \"items-per-page\": \"Oggetti per pagina\",\n    \"invite-a-friend-to-collaborate-on-your-site\": \"Invita un amico a collaborare sul tuo sito\",\n    \"number-of-items-to-show-per-page\": \"Numero di oggetti da visualizzare per pagina.\",\n    \"website-or-blog\": \"Sito web o blog\",\n    \"order-content-by\": \"Ordina contenuto per\",\n    \"edit-or-delete-content-from-your-site\": \"Modifica o elimina il contenuto dal tuo sito\",\n    \"order-the-content-by-date-to-build-a-blog\": \"Ordina il contenuto per data per creare un blog o ordina il contenuto per posizione per creare un sito web.\",\n    \"default-content-status\": \"Stato predefinito del contenuto\",\n    \"default-status-for-new-content\": \"Scegli se il nuovo contenuto viene creato come Pubblicato o Bozza per impostazione predefinita.\",\n    \"page-not-found-content\": \"Hey! sembra che la pagina non esista.\",\n    \"page-not-found\": \"Pagina non trovata\",\n    \"predefined-pages\": \"Pagine predefinite\",\n    \"returning-page-when-the-page-doesnt-exist\": \"Pagina di ritorno quando la pagina non esiste, lascia vuoto se vuoi che venga visualizzato un messaggio predefinito.\",\n    \"returning-page-for-the-main-page\": \"Pagina di ritorno per la pagina principale, lascia vuoto se vuoi che vengano mostrate tutte le pagine sulla pagina principale.\",\n    \"full-url-of-your-site\": \"URL completo del tuo sito. Completa con il protocollo HTTP o HTTPS (solo se hai abilitato SSL sul tuo server).\",\n    \"with-the-locales-you-can-set-the-regional-user-interface\": \"Con le lingue aggiuntive, puoi impostare la tua interfaccia utente e la data nella tua lingua. Le lingue aggiuntive devono essere installate sul tuo sistema.\",\n    \"bludit-installer\": \"Installa Bludit\",\n    \"choose-your-language\": \"Scegli la tua lingua\",\n    \"next\": \"Avanti\",\n    \"complete-the-form-choose-a-password-for-the-username-admin\": \"Compila il modulo e scegli una password per l'utente `admin`\",\n    \"show-password\": \"Mostra password\",\n    \"install\": \"Installa\",\n    \"login\": \"Inizia sessione\",\n    \"back-to-login-form\": \"Torna indietro alla pagina di accesso\",\n    \"get-login-access-code\": \"Richiedi un codice accesso\",\n    \"email-access-code\": \"Codice di accesso email\",\n    \"whats-next\": \"Passi successivi\",\n    \"username-or-password-incorrect\": \"Nome utente o password non corretti\",\n    \"follow-bludit-on\": \"Segui Bludit su\",\n    \"this-is-a-brief-description-of-yourself-our-your-site\": \"Questa è una breve descrizione del tuo sito. Per cambiare il testo vai nel pannello di amministrazione, impostazioni, plugins e configura il plugin \\\"about\\\".\",\n    \"new-version-available\": \"Nuova versione disponibile\",\n    \"new-category-created\": \"Nuova categoria creata\",\n    \"category-deleted\": \"Categoria eliminata\",\n    \"category-edited\": \"Categoria modificata\",\n    \"new-user-created\": \"Nuovo utente creato\",\n    \"user-edited\": \"Utente modificato\",\n    \"user-deleted\": \"Utente eliminato\",\n    \"recommended-for-recovery-password-and-notifications\": \"Raccomandato per il recupero della password e le notifiche.\",\n    \"authentication-token\": \"Token di autenticazione\",\n    \"token\": \"Token\",\n    \"current-status\": \"Stato corrente\",\n    \"upload-image\": \"Inserisci un'immagine\",\n    \"the-changes-have-been-saved\": \"Le modifiche sono state salvate\",\n    \"label\": \"Etichetta\",\n    \"links\": \"Link\",\n    \"this-title-is-almost-always-used-in-the-sidebar-of-the-site\": \"Questo titolo viene quasi sempre utilizzato nella barra laterale del sito.\",\n    \"password-must-be-at-least-6-characters-long\": \"La Password deve contenere almeno 6 caratteri\",\n    \"ip-address-has-been-blocked\": \"L'indirizzo IP è stato bloccato.\",\n    \"try-again-in-a-few-minutes\": \"Prova di nuovo fra qualche minuto.\",\n    \"content-published-from-scheduler\": \"Contenuto pubblicato dal pianificatore\",\n    \"blog\": \"Blog\",\n    \"complete-all-fields\": \"Completa tutti i campi\",\n    \"static\": \"Statico\",\n    \"about-your-site-or-yourself\": \"Informazioni sul sito o su te stesso\",\n    \"homepage\": \"Homepage\",\n    \"disabled\": \"Disabilitato\",\n    \"to-enable-the-user-you-must-set-a-new-password\": \"Per abilitare l'utente devi impostare una nuova password.\",\n    \"delete-the-user-and-associate-his-content-to-admin-user\": \"Elimina l'utente e associa il suo contenuto all'amministratore\",\n    \"delete-the-user-and-all-his-content\": \"Elimina l'utente e tutto il suo contenuto\",\n    \"user-disabled\": \"Utente disabilitato\",\n    \"user-password-changed\": \"Password utente cambiata\",\n    \"the-password-and-confirmation-password-do-not-match\": \"La password e la conferma password non corrispondono\",\n    \"scheduled-content\": \"Programma il contenuto\",\n    \"there-are-no-scheduled-content\": \"Non c'è nessun contenuto programmato.\",\n    \"new-content-created\": \"Nuovo contenuto creato\",\n    \"content-edited\": \"Contenuto modificato\",\n    \"content-deleted\": \"Contenuto eliminato\",\n    \"undefined\": \"Non definito\",\n    \"create-new-content-for-your-site\": \"Crea nuovo contenuto per il tuo sito\",\n    \"order-items-by\": \"Ordina oggetti per\",\n    \"all-content\": \"Tutto il contenuto\",\n    \"dynamic\": \"Dinamico\",\n    \"type\": \"Tipo\",\n    \"draft-content\": \"Bozza\",\n    \"post\": \"Articolo\",\n    \"default\": \"Predefinito\",\n    \"latest-content\": \"Ultimi contenuti\",\n    \"default-message\": \"Messaggio predefinito\",\n    \"no-parent\": \"Nessun genitore\",\n    \"have-you-seen-my-ball\": \"Hai visto la mia palla?\",\n    \"pagebreak\": \"Interruzione di pagina\",\n    \"pages\": \"Pagine\",\n    \"this-plugin-may-not-be-supported-by-this-version-of-bludit\": \"Questo plugin potrebbe non essere supportato da questa versione di Bludit\",\n    \"previous\": \"Precedente\",\n    \"previous-page\": \"Pagina precedente\",\n    \"next-page\": \"Pagina successiva\",\n    \"scheduled\": \"Programmato\",\n    \"this-token-is-similar-to-a-password-it-should-not-be-shared\": \"Qusto token è simile ad una password, non dovrebbe essere condiviso.\",\n    \"congratulations-you-have-successfully-installed-your-bludit\": \"Congratulazioni, hai installato con successo il tuo Bludit\",\n    \"this-theme-may-not-be-supported-by-this-version-of-bludit\": \"Questo tema potrebbe non essere supportato da questa versione di Bludit\",\n    \"read-more\": \"Leggi tutto\",\n    \"remember-me\": \"Ricordami\",\n    \"plugins-position\": \"Posizione plugin\",\n    \"plugins-sorted\": \"Plugin ordinati\",\n    \"plugins-position-changed\": \"Posizione plugin cambiata\",\n    \"drag-and-drop-to-set-the-position-of-the-plugin\": \"Muovi e trascina per impostare la posizione dei plugin\",\n    \"change-the-position-of-the-plugins\": \"Cambia la posizione dei plugin\",\n    \"reading-time\": \"Tempo di lettura\",\n    \"minutes\": \"minuti\",\n    \"minute\": \"minuto\",\n    \"example-page-1-slug\": \"crea-il-tuo-contenuto\",\n    \"example-page-1-title\": \"Crea il tuo contenuto\",\n    \"example-page-1-content\": \"Inizia a scrivere il tuo contenuto o modifica il contenuto corrente secondo le tue esigenze. Per creare, modificare o rimuovere il contenuto devi effettuare il login al <a href=\\\"./admin/\\\">pannello di amministrazione</a> con il nome utente `admin` e la password che hai impostato durante il processo di installazione.\",\n    \"example-page-2-slug\": \"imposta-il-tuo-nuovo-sito\",\n    \"example-page-2-title\": \"Imposta il tuo nuovo sito\",\n    \"example-page-2-content\": \"Aggiorna le impostazioni del tuo sito dal <a href=\\\"./admin/\\\">pannello di amministrazione</a>, puoi cambiare il titolo, la descrizione e i social network da <a href=\\\"./admin/settings\\\">Impostazioni > Generale</a>.\",\n    \"example-page-3-slug\": \"segui-bludit\",\n    \"example-page-3-title\": \"Segui Bludit\",\n    \"example-page-3-content\": \"Rimani informato su notizie, nuovi rilasci, nuovi temi o nuovi plugin sui nostri social network <a href=\\\"https://www.facebook.com/bluditcms/\\\" target=\\\"_blank\\\">Facebook</a>, <a href=\\\"https://www.twitter.com/bludit/\\\" target=\\\"_blank\\\">Twitter</a> e <a href=\\\"https://www.youtube.com/c/Bluditcms\\\" target=\\\"_blank\\\">YouTube</a> o visita il nostro <a href=\\\"https://blog.bludit.com\\\" target=\\\"_blank\\\">Blog</a>.\",\n    \"example-page-4-slug\": \"informazioni su\",\n    \"example-page-4-title\": \"Informazioni su\",\n    \"example-page-4-content\": \"La tua pagina sulle informazioni è tipicamente una delle pagine più visitate sul tuo sito, deve essere semplice e con alcune cose fondamentali come il tuo nome, chi sei, come è possibile contattarti, una breve biografia, ecc.\",\n    \"the-extension-zip-is-not-installed\": \"L'estensione \\\"zip\\\" non è installata, per utilizzare questo plugin hai bisogno di installare l'estensione.\",\n    \"there-are-no-sticky-pages-at-this-moment\": \"Non c'è nessuna pagina sticky in questo momento.\",\n    \"there-are-no-scheduled-pages-at-this-moment\": \"Non c'è nessuna pagina programmata in questo momento.\",\n    \"update\": \"Aggiorna\",\n    \"template\": \"Template\",\n    \"nickname\": \"Nickname\",\n    \"disable-user\": \"Disabilita utente\",\n    \"delete-user-and-keep-content\": \"Elimina utente e mantieni il contenuto\",\n    \"delete-user-and-delete-content\": \"Elimina utente ed elimina il contenuto (Attenzione!)\",\n    \"social-networks\": \"Social Network\",\n    \"interval\": \"Intervallo\",\n    \"number-in-minutes-for-every-execution-of-autosave\": \"Numero di minuti per ogni esecuzione del salvataggio automatico.\",\n    \"extreme-friendly-url\": \"URL estremamente amichevole\",\n    \"title-formats\": \"Formati titolo\",\n    \"delete-content\": \"Elimina contenuto\",\n    \"are-you-sure-you-want-to-delete-this-page\": \"Sei sicuro di voler eliminare questa pagina?\",\n    \"sticky\": \"Sticky\",\n    \"actions\": \"Azioni\",\n    \"edit\": \"Modifica\",\n    \"options\": \"Opzioni\",\n    \"enter-title\": \"Inserisci titolo\",\n    \"media-manager\": \"Media Manager\",\n    \"set-a-cover-image-from-external-url,-such-as-a-cdn-or-some-server-dedicated-for-images\": \"Imposta una immagine di copertina da un URL esterno, come una CDN o un server dedicato alle immagini.\",\n    \"user\": \"Utente\",\n    \"date-format-format\": \"Formato data: <code>AAAA-MM-GG Ore:Minuti:Secondi</code>\",\n    \"start-typing-a-page-title-to-see-a-list-of-suggestions\": \"Inizia a digitare il titolo di una pagina per vedere un elenco di suggerimenti.\",\n    \"field-used-when-ordering-content-by-position\": \"Campo utilizzato quando si ordina il contenuto per posizione\",\n    \"write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page\": \"Scrivi il nome di un template per filtrare la pagina nel tema e cambiare lo stile della pagina.\",\n    \"write-the-tags-separated-by-commas\": \"Scrivi i tag separati da una virgola.\",\n    \"apply-code-noindex-code-to-this-page\": \"Applica <code>noindex</code> a questa pagina.\",\n    \"this-tells-search-engines-not-to-show-this-page-in-their-search-results\": \"Questo dice ai motori di ricerca di non visualizzare questa pagina nei risultati di ricerca.\",\n    \"apply-code-nofollow-code-to-this-page\": \"Applica <code>nofollow</code> a questa pagina.\",\n    \"this-tells-search-engines-not-to-follow-links-on-this-page\": \"Questo dice ai motori di ricerca di non seguire i link in questa pagina.\",\n    \"apply-code-noarchive-code-to-this-page\": \"Applica <code>noarchive</code> a questa pagina.\",\n    \"this-tells-search-engines-not-to-save-a-cached-copy-of-this-page\": \"Questo dice ai motori di ricerca di non salvare una copia cache di questa pagina.\",\n    \"uncategorized\": \"Non categorizzato\",\n    \"done\": \"Fatto\",\n    \"delete-category\": \"Elimina categoria\",\n    \"are-you-sure-you-want-to-delete-this-category?\": \"Sei sicuro di voler eliminare questa categoria?\",\n    \"confirm-new-password\": \"Conferma nuova password\",\n    \"the-nickname-is-almost-used-in-the-themes-to-display-the-author-of-the-content\": \"Il nickname viene usato nei temi per visualizzare l'autore del contenuto\",\n    \"allow-unicode\": \"Permetti Unicode\",\n    \"allow-unicode-characters-in-the-url-and-some-part-of-the-system\": \"Permette i caratteri Unicode nell'URL e in alcune parti del sistema.\",\n    \"variables-allowed\": \"Variabili permesse\",\n    \"tag\": \"Tag\",\n    \"drag-and-drop-to-sort-the-plugins\": \"Sposta e trascina per ordinare i plugin.\",\n    \"seo\": \"SEO\",\n    \"documentation\": \"Documentazione\",\n    \"forum-support\": \"Forum di supporto\",\n    \"chat-support\": \"Chat di supporto\",\n    \"quick-links\": \"Link veloci\",\n    \"leave-empty-for-autocomplete-by-bludit\": \"Lascia vuoto per autocompletamento di Bludit.\",\n    \"choose-a-password-for-the-user-admin\": \"Scegli una password per l'utente <code>admin</code>\",\n    \"access-denied\": \"Accesso negato\",\n    \"choose-images-to-upload\": \"Seleziona le immagini da caricare\",\n    \"insert\": \"Inserisci\",\n    \"upload\": \"Carica\",\n    \"autosave\": \"Salvataggio Automatico\",\n    \"the-content-is-saved-as-a-draft-to-publish-it\": \"Il contenuto è salvato come bozza.Per pubblicarlo fai clic sul pulsante <b>Pubblica</b> o se stai continuando a lavorarci su fai clic su <b>Salva come bozza</b>.\",\n    \"site\": \"Sito\",\n    \"first\": \"Primo\",\n    \"last\": \"Ultimo\",\n    \"there-are-no-pages-at-this-moment\": \"Non ci sono pagine in questo momento.\",\n    \"there-are-no-static-pages-at-this-moment\": \"Non ci sono pagine statiche in questo momento.\",\n    \"there-are-no-draft-pages-at-this-moment\": \"Non ci sono pagine in bozza in questo momento.\",\n    \"good-morning\": \"Buongiorno\",\n    \"good-afternoon\": \"Buon pomeriggio\",\n    \"good-evening\": \"Buona sera\",\n    \"good-night\": \"Buonanotte\",\n    \"hello\": \"Ciao\",\n    \"there-are-no-images-for-the-page\": \"Non ci sono immagini per la pagina.\",\n    \"select-cover-image\": \"Seleziona immagine di copertina\",\n    \"this-plugin-depends-on-the-following-plugins\": \"Questo plugin dipende dai seguenti plugin:\",\n    \"no-pages-found\": \"Nessuna pagina trovata\",\n    \"system-updated\": \"Sistema aggiornato\",\n    \"security\": \"Sicurezza\",\n    \"remove-cover-image\": \"Rimuovi immagine di copertina\",\n    \"width\": \"Larghezza\",\n    \"height\": \"Altezza\",\n    \"quality\": \"Qualità\",\n    \"thumbnails\": \"Anteprime\",\n    \"thumbnail\": \"Anteprima\",\n    \"thumbnail-width-in-pixels\": \"Larghezza anteprima in pixel (px).\",\n    \"thumbnail-height-in-pixels\": \"Altezza anteprima in pixel (px).\",\n    \"thumbnail-quality-in-percentage\": \"Qualità anteprima in percentuale (%).\",\n    \"maximum-load-file-size-allowed:\": \"Grandezza massima del file consentita:\",\n    \"file-type-is-not-supported-allowed-types:\": \"Tipo di file non supportato. Formati permessi:\",\n    \"file-mime-type-is-not-supported-allowed-types:\": \"Tipo MIME del file non supportato. Formati permessi:\",\n    \"page-content\": \"Contenuto della pagina\",\n    \"markdown-parser\": \"Parser Markdown\",\n    \"site-logo\": \"Logo del sito\",\n    \"search\": \"Cerca\",\n    \"search-plugins\": \"Cerca plugin\",\n    \"enabled-plugins\": \"Plugin abilitati\",\n    \"disabled-plugins\": \"Plugin disabilitati\",\n    \"remove-logo\": \"Rimuovi logo\",\n    \"preview\": \"Anteprima\",\n    \"author-can-write-and-edit-their-own-content\": \"Autore: può scrivere e modificare i propri contenuti. Editore: può scrivere e modificare i contenuti degli altri.\",\n    \"custom-fields\": \"Campi personalizzati\",\n    \"define-custom-fields-for-the-content\": \"Definisci campi personalizzati per il contenuto.\",\n    \"start-typing-to-see-a-list-of-suggestions\": \"Inizia a digitare per vedere un elenco di suggerimenti.\",\n    \"view\": \"Visualizza\",\n    \"no-tags\": \"Nessun tag\",\n    \"insert-thumbnail\": \"Inserisci miniatura\",\n    \"no-categories\": \"Nessuna categoria\",\n    \"insert-linked-thumbnail\": \"Inserisci miniatura collegata\",\n    \"navigation\": \"Navigazione\",\n    \"file-type-is-not-supported\": \"Il tipo di file non è supportato. Tipi consentiti:\",\n    \"thumbnail-generation\": \"Generazione miniature\",\n    \"enable-disable-automatic-thumbnail-generation-on-image-upload\": \"Abilita o disabilita la generazione automatica delle miniature durante il caricamento delle immagini.\"\n}\n"
  },
  {
    "path": "bl-languages/ja_JP.json",
    "content": "{\n    \"language-data\": {\n        \"native\": \"日本語 (Japanese)\",\n        \"english-name\": \"日本語\",\n        \"locale\": \"ja, ja_JP\",\n        \"last-update\": \"2021-10-01\",\n        \"authors\": [\n            \"Jun Nogata\",\n            \"cai_miao\",\n            \"\",\n            \"\"\n        ]\n    },\n    \"dates\": {\n        \"Mon\": \"月\",\n        \"Tue\": \"火\",\n        \"Wed\": \"水\",\n        \"Thu\": \"木\",\n        \"Fri\": \"金\",\n        \"Sat\": \"土\",\n        \"Sun\": \"日\",\n        \"Monday\": \"月曜日\",\n        \"Tuesday\": \"火曜日\",\n        \"Wednesday\": \"水曜日\",\n        \"Thursday\": \"木曜日\",\n        \"Friday\": \"金曜日\",\n        \"Saturday\": \"土曜日\",\n        \"Sunday\": \"日曜日\",\n        \"Jan\": \"1\",\n        \"Feb\": \"2\",\n        \"Mar\": \"3\",\n        \"Apr\": \"4\",\n        \"Jun\": \"6\",\n        \"Jul\": \"7\",\n        \"Aug\": \"8\",\n        \"Sep\": \"9\",\n        \"Oct\": \"10\",\n        \"Nov\": \"11\",\n        \"Dec\": \"12\",\n        \"January\": \"1月\",\n        \"February\": \"2月\",\n        \"March\": \"3月\",\n        \"April\": \"4月\",\n        \"May\": \"5月\",\n        \"June\": \"6月\",\n        \"July\": \"7月\",\n        \"August\": \"8月\",\n        \"September\": \"9月\",\n        \"October\": \"10月\",\n        \"November\": \"11月\",\n        \"December\": \"12月\"\n    },\n    \"dashboard\": \"ダッシュボード\",\n    \"manage-users\": \"ユーザー管理\",\n    \"manage-categories\": \"カテゴリー管理\",\n    \"general-settings\": \"全般設定\",\n    \"advanced-settings\": \"高度な設定\",\n    \"thanks-for-supporting-bludit\": \"Bluditへの支援をありがとうございます\",\n    \"upgrade-to-bludit-pro\": \"Bludit PROにアップグレード\",\n    \"language\": \"言語\",\n    \"plugin\": \"プラグイン\",\n    \"plugins\": \"プラグイン\",\n    \"developers\": \"開発者向け\",\n    \"themes\": \"テーマ\",\n    \"about\": \"バージョン情報\",\n    \"url\": \"URL\",\n    \"welcome\": \"ようこそ\",\n    \"logout\": \"ログアウト\",\n    \"website\": \"ウェブサイト\",\n    \"publish\": \"公開\",\n    \"manage\": \"管理\",\n    \"content\": \"コンテンツ\",\n    \"category\": \"カテゴリー\",\n    \"categories\": \"カテゴリー\",\n    \"users\": \"ユーザー\",\n    \"settings\": \"設定\",\n    \"general\": \"全般\",\n    \"advanced\": \"詳細\",\n    \"new-content\": \"新規コンテンツ\",\n    \"manage-content\": \"コンテンツの管理\",\n    \"add-new-content\": \"新規コンテンツ追加\",\n    \"new-category\": \"新規カテゴリー\",\n    \"you-do-not-have-sufficient-permissions\": \"権限がありません\",\n    \"add-a-new-user\": \"新規ユーザーの追加\",\n    \"url-associated-with-the-content\": \"コンテンツに関連付けられるURLです。\",\n    \"language-and-timezone\": \"言語とタイムゾーン\",\n    \"change-your-language-and-region-settings\": \"言語と地域の設定を変更します。\",\n    \"notifications\": \"通知\",\n    \"plugin-activated\": \"プラグインを有効化しました\",\n    \"plugin-deactivated\": \"プラグインを無効化しました\",\n    \"new-theme-configured\": \"新しいテーマを設定しました\",\n    \"settings-changes\": \"設定を変更しました\",\n    \"plugin-configured\": \"プラグインを設定しました\",\n    \"welcome-to-bludit\": \"Bluditへようこそ\",\n    \"statistics\": \"統計情報\",\n    \"drafts\": \"下書き\",\n    \"title\": \"タイトル\",\n    \"save\": \"保存\",\n    \"save-as-draft\": \"下書きとして保存\",\n    \"cancel\": \"キャンセル\",\n    \"description\": \"説明\",\n    \"this-field-can-help-describe-the-content\": \"このフィールドには、コンテンツの簡単な説明を書きます。\",\n    \"images\": \"画像\",\n    \"error\": \"エラー\",\n    \"supported-image-file-types\": \"サポートする画像ファイル形式\",\n    \"cover-image\": \"カバー画像\",\n    \"drag-and-drop-or-click-here\": \"ドラッグ アンド ドロップまたはクリックします\",\n    \"there-are-no-images\": \"画像がありません\",\n    \"upload-and-more-images\": \"アップロードと画像の追加\",\n    \"click-on-the-image-for-options\": \"画像をクリックしてオプションを表示します。\",\n    \"click-here-to-cancel\": \"キャンセルするには、ここをクリック\",\n    \"insert-image\": \"画像を挿入\",\n    \"set-as-cover-image\": \"カバー画像として設定する\",\n    \"delete-image\": \"画像を削除\",\n    \"tags\": \"タグ\",\n    \"add\": \"追加\",\n    \"status\": \"ステータス\",\n    \"published\": \"公開済み\",\n    \"draft\": \"下書き\",\n    \"empty-title\": \"タイトルがありません\",\n    \"empty\": \"空\",\n    \"date\": \"日付\",\n    \"external-cover-image\": \"外部カバー画像\",\n    \"parent\": \"親\",\n    \"full-image-url\": \"完全な画像URL\",\n    \"this-field-is-used-when-you-order-the-content-by-position\": \"このフィールドは、位置順にコンテンツを並べ替える場合に使用します。\",\n    \"position\": \"位置\",\n    \"friendly-url\": \"フレンドリーURL\",\n    \"image-description\": \"画像の説明\",\n    \"add-a-new-category\": \"新規カテゴリーの追加\",\n    \"name\": \"名前\",\n    \"username\": \"ユーザー名\",\n    \"quick-search-pages-and-menu\": \"ページとメニューのクイック検索\",\n    \"click-here-for-quick-search\": \"Click here for quick search\",\n    \"analytics\": \"分析\",\n    \"visits-today\": \"今日の訪問\",\n    \"unique-visitors\": \"ユニーク訪問者\",\n    \"search-placeholder\": \"ページ、コンテンツ、メニュー項目を検索...\",\n    \"no-results-found\": \"結果が見つかりません\",\n    \"first-name\": \"名\",\n    \"last-name\": \"姓\",\n    \"to-schedule-the-content-select-the-date-and-time\": \"コンテンツを予約投稿するには、日時を選択し、ステータスを「公開」にする必要があります。\",\n    \"email\": \"メール\",\n    \"role\": \"権限グループ\",\n    \"registered\": \"登録日時\",\n    \"site-information\": \"サイト情報\",\n    \"site-title\": \"サイトタイトル\",\n    \"use-this-field-to-name-your-site\": \"サイトの名前を入力します\",\n    \"site-slogan\": \"サイトスローガン\",\n    \"use-this-field-to-add-a-catchy-phrase\": \"サイトのスローガンを入力します\",\n    \"site-description\": \"サイト説明\",\n    \"you-can-add-a-site-description-to-provide\": \"サイトの説明を追加して、サイトの簡単な概要や説明を知らせることができます\",\n    \"footer-text\": \"フッターテキスト\",\n    \"you-can-add-a-small-text-on-the-bottom\": \"すべてのページ下部に表示する簡単なテキストを追加できます。例：著作権表示、所有者、日付など\",\n    \"social-networks-links\": \"ソーシャルネットワークリンク\",\n    \"site-url\": \"サイトURL\",\n    \"email-account-settings\": \"メールアカウント設定\",\n    \"sender-email\": \"送信メールアドレス\",\n    \"emails-will-be-sent-from-this-address\": \"このアドレスからメールが送信されます\",\n    \"url-filters\": \"URLフィルター\",\n    \"select-your-sites-language\": \"サイトの言語を選択します\",\n    \"timezone\": \"タイムゾーン\",\n    \"select-a-timezone-for-a-correct\": \"サイトの日付と時刻を正しく表示するためにタイムゾーンを選択します\",\n    \"locale\": \"ロケール\",\n    \"date-and-time-formats\": \"日付と時刻の書式\",\n    \"date-format\": \"日付の書式\",\n    \"current-format\": \"現在の書式\",\n    \"version\": \"バージョン:\",\n    \"author\": \"投稿者\",\n    \"activate\": \"有効化\",\n    \"deactivate\": \"無効化\",\n    \"edit-category\": \"カテゴリーの編集\",\n    \"delete\": \"削除\",\n    \"password\": \"パスワード\",\n    \"confirm-password\": \"パスワードの確認\",\n    \"editor\": \"編集者\",\n    \"administrator\": \"管理者\",\n    \"edit-user\": \"ユーザーの編集\",\n    \"edit-content\": \"コンテンツの編集\",\n    \"profile\": \"プロフィール\",\n    \"change-password\": \"パスワードの変更\",\n    \"enabled\": \"有効\",\n    \"disable-the-user\": \"ユーザーを無効化する\",\n    \"profile-picture\": \"プロフィール画像\",\n    \"edit-or-delete-your-categories\": \"カテゴリを編集または削除する\",\n    \"create-a-new-category-to-organize-your-content\": \"コンテンツを整理するための新しいカテゴリを作成する\",\n    \"confirm-delete-this-action-cannot-be-undone\": \"削除しますか？この操作は取り消せません。\",\n    \"do-you-want-to-disable-the-user\": \"ユーザーを無効化しますか？\",\n    \"new-password\": \"新しいパスワード\",\n    \"you-can-change-this-field-when-save-the-current-changes\": \"このフィールドは、現在の変更内容を保存する場合に変更できます\",\n    \"items-per-page\": \"ページ表示件数\",\n    \"invite-a-friend-to-collaborate-on-your-site\": \"サイトで共同作業をする友人を招待します\",\n    \"number-of-items-to-show-per-page\": \"1ページあたりに表示する件数を指定します\",\n    \"website-or-blog\": \"ウェブサイトまたはブログ\",\n    \"order-content-by\": \"コンテンツ表示順\",\n    \"edit-or-delete-content-from-your-site\": \"サイトからコンテンツを編集または削除する\",\n    \"order-the-content-by-date-to-build-a-blog\": \"コンテンツを日付順に並べてブログを構築したり、位置順に並べてサイトを構築します。\",\n    \"default-content-status\": \"デフォルトのコンテンツステータス\",\n    \"default-status-for-new-content\": \"新しいコンテンツをデフォルトで公開済みまたは下書きとして作成するかを選択します。\",\n    \"page-not-found-content\": \"おや？このページは存在しないようです。\",\n    \"page-not-found\": \"ページが見つかりません\",\n    \"predefined-pages\": \"既定ページ\",\n    \"returning-page-when-the-page-doesnt-exist\": \"ページが存在しない場合に表示するページです。デフォルトでは用意されたメッセージを表示します。\",\n    \"returning-page-for-the-main-page\": \"メインページに戻るページです。デフォルトでは最新のコンテンツを日付または位置順で表示します。\",\n    \"full-url-of-your-site\": \"サイトの完全なURL。HTTPまたはHTTPS(サーバーでSSLを有効化している場合のみ)を含めた完全な形で入力します。\",\n    \"with-the-locales-you-can-set-the-regional-user-interface\": \"ロケールを指定すると地域に合わせたユーザーインターフェイスや言語に応じた日付の表示が設定できます。ロケールはシステムにインストールされている必要があります。\",\n    \"bludit-installer\": \"Bluditインストーラー\",\n    \"choose-your-language\": \"言語を選択してください\",\n    \"next\": \"次へ\",\n    \"complete-the-form-choose-a-password-for-the-username-admin\": \"ユーザー名 <b>admin<\\/b> のパスワードをフォームに入力\",\n    \"show-password\": \"パスワードを表示\",\n    \"install\": \"インストール\",\n    \"login\": \"ログイン\",\n    \"back-to-login-form\": \"ログインフォームに戻る\",\n    \"get-login-access-code\": \"ログインアクセスコードを送信\",\n    \"email-access-code\": \"Eメールアクセスコード\",\n    \"whats-next\": \"次の操作\",\n    \"username-or-password-incorrect\": \"ユーザー名またはパスワードが正しくありません\",\n    \"follow-bludit-on\": \"Bluditをフォローする\",\n    \"this-is-a-brief-description-of-yourself-our-your-site\": \"これは、あなたやサイトについての簡単な説明です。このテキストを変更するには管理画面 > 設定 > プラグインに移動して、aboutプラグインの設定を変更してください。\",\n    \"new-version-available\": \"利用可能な新しいバージョンがあります\",\n    \"new-category-created\": \"新規カテゴリーを作成しました\",\n    \"category-deleted\": \"カテゴリーを削除しました\",\n    \"category-edited\": \"カテゴリーを編集しました\",\n    \"new-user-created\": \"新規ユーザーを作成しました\",\n    \"user-edited\": \"ユーザーを編集しました\",\n    \"user-deleted\": \"ユーザーを削除しました\",\n    \"recommended-for-recovery-password-and-notifications\": \"パスワードの回復および通知に推奨されます。\",\n    \"authentication-token\": \"認証トークン\",\n    \"token\": \"トークン\",\n    \"current-status\": \"現在のステータス\",\n    \"upload-image\": \"画像をアップロード\",\n    \"the-changes-have-been-saved\": \"変更を保存しました\",\n    \"label\": \"ラベル\",\n    \"links\": \"リンク\",\n    \"this-title-is-almost-always-used-in-the-sidebar-of-the-site\": \"このタイトルは、サイトのサイドバーなどで利用されます。\",\n    \"password-must-be-at-least-6-characters-long\": \"パスワードは6文字以上入力してください\",\n    \"ip-address-has-been-blocked\": \"IPアドレスはブロックされています\",\n    \"try-again-in-a-few-minutes\": \"しばらくしてから、もう一度お試しください\",\n    \"content-published-from-scheduler\": \"投稿予約されたコンテンツ\",\n    \"blog\": \"ブログ\",\n    \"complete-all-fields\": \"すべてのフィールドを埋めます\",\n    \"static\": \"静的ページ\",\n    \"about-your-site-or-yourself\": \"サイトや自分について\",\n    \"homepage\": \"ホームページ\",\n    \"disabled\": \"無効\",\n    \"to-enable-the-user-you-must-set-a-new-password\": \"ユーザーを有効化するにはパスワードを新しく設定する必要があります。\",\n    \"delete-the-user-and-associate-his-content-to-admin-user\": \"ユーザーを削除してコンテンツをadminユーザーに引き継ぐ\",\n    \"delete-the-user-and-all-his-content\": \"ユーザーとすべてのコンテンツを削除\",\n    \"user-disabled\": \"ユーザーを無効化しました\",\n    \"user-password-changed\": \"ユーザーパスワードを変更しました\",\n    \"the-password-and-confirmation-password-do-not-match\": \"パスワードと確認パスワードが一致しません\",\n    \"scheduled-content\": \"予約されたコンテンツ\",\n    \"there-are-no-scheduled-content\": \"投稿が予約されたコンテンツはありません。\",\n    \"new-content-created\": \"新規コンテンツを作成しました\",\n    \"content-edited\": \"コンテンツを編集しました\",\n    \"content-deleted\": \"コンテンツを削除しました\",\n    \"undefined\": \"未定義\",\n    \"create-new-content-for-your-site\": \"サイトのコンテンツを作成する\",\n    \"order-items-by\": \"並び順：\",\n    \"all-content\": \"すべてのコンテンツ\",\n    \"dynamic\": \"動的\",\n    \"type\": \"タイプ\",\n    \"draft-content\": \"下書きコンテンツ\",\n    \"post\": \"投稿\",\n    \"default\": \"デフォルト\",\n    \"latest-content\": \"最新のコンテンツ\",\n    \"default-message\": \"デフォルトメッセージ\",\n    \"no-parent\": \"親がありません\",\n    \"have-you-seen-my-ball\": \"私のボールを見ましたか？\",\n    \"pagebreak\": \"改ページ\",\n    \"pages\": \"ページ\",\n    \"this-plugin-may-not-be-supported-by-this-version-of-bludit\": \"プラグインは、このバージョンのBluditではサポートされていない可能性があります。\",\n    \"previous\": \"前へ\",\n    \"previous-page\": \"前のページへ\",\n    \"next-page\": \"次ページへ\",\n    \"scheduled\": \"予約済み\",\n    \"this-token-is-similar-to-a-password-it-should-not-be-shared\": \"トークンはパスワードと同じようなものです。共有しないでください。\",\n    \"congratulations-you-have-successfully-installed-your-bludit\": \"おめでとうございます。Bluditのインストールは完了しました。\",\n    \"this-theme-may-not-be-supported-by-this-version-of-bludit\": \"テーマは、このバージョンのBluditではサポートされていない可能性があります。\",\n    \"read-more\": \"続きを読む\",\n    \"remember-me\": \"ログイン状態を保存\",\n    \"plugins-position\": \"プラグインの位置\",\n    \"plugins-sorted\": \"プラグインを並び替えました\",\n    \"plugins-position-changed\": \"プラグインの位置を変更しました\",\n    \"drag-and-drop-to-set-the-position-of-the-plugin\": \"ドラッグ アンド ドロップでプラグインの位置を設定します\",\n    \"change-the-position-of-the-plugins\": \"プラグインの位置を変更する\",\n    \"reading-time\": \"読み終える時間\",\n    \"minutes\": \"分\",\n    \"minute\": \"分\",\n    \"example-page-1-slug\": \"create-your-own-content\",\n    \"example-page-1-title\": \"コンテンツを作成しましょう\",\n    \"example-page-1-content\": \"コンテンツを書き始めたり既存のコンテンツを編集しましょう。コンテンツの作成や編集、削除するには <a href=\\\".\\/admin\\/\\\">管理画面<\\/a>からユーザー名 `admin` とインストール時に設定したパスワードを使用してログインします。\",\n    \"example-page-2-slug\": \"set-up-your-new-site\",\n    \"example-page-2-title\": \"サイトを設定しましょう\",\n    \"example-page-2-content\": \"<a href=\\\".\\/admin\\/\\\">管理画面<\\/a> からサイトの設定を更新しましょう。<a href=\\\".\\/admin\\/settings\\\"> 設定 > 全般<\\/a>からタイトルや説明、SNSの設定などが変更できます。\",\n    \"example-page-3-slug\": \"follow-bludit\",\n    \"example-page-3-title\": \"Bluditをフォローましょう\",\n    \"example-page-3-content\": \"ニュースやリリース、新しいテーマやプラグインについての情報を入手するには <a href=\\\"https:\\/\\/www.facebook.com\\/bluditcms\\/\\\" target=\\\"_blank\\\">Facebook<\\/a> や <a href=\\\"https:\\/\\/www.twitter.com\\/bludit\\/\\\" target=\\\"_blank\\\">Twitter<\\/a> 、 <a href=\\\"https:\\/\\/www.youtube.com\\/c\\/Bluditcms\\\" target=\\\"_blank\\\">YouTube<\\/a>のSNSをフォローするか、私たちの<a href=\\\"https:\\/\\/blog.bludit.com\\\" target=\\\"_blank\\\">Blog<\\/a>をご覧ください。\",\n    \"example-page-4-slug\": \"about\",\n    \"example-page-4-title\": \"サイトについて\",\n    \"example-page-4-content\": \"サイトについて(Aboutページ)は通常、サイトで最もアクセスが多いページのひとつです。名前や自分について、連絡先、ちょっとしたエピソードなど必要な事柄や説明を簡単に書きます。\",\n    \"the-extension-zip-is-not-installed\": \"PHPのZIP拡張がインストールされていません。このプラグインを使用するには拡張機能がインストールされている必要があります。\",\n    \"there-are-no-sticky-pages-at-this-moment\": \"現在、先頭固定表示にされたページはありません。\",\n    \"there-are-no-scheduled-pages-at-this-moment\": \"現在、投稿を予約したページはありません。\",\n    \"update\": \"更新\",\n    \"template\": \"テンプレート\",\n    \"nickname\": \"ニックネーム\",\n    \"disable-user\": \"ユーザーを無効化\",\n    \"delete-user-and-keep-content\": \"ユーザーを削除 (コンテンツは保持)\",\n    \"delete-user-and-delete-content\": \"ユーザーとコンテンツを削除 (警告)\",\n    \"social-networks\": \"ソーシャルネットワーク\",\n    \"interval\": \"間隔\",\n    \"number-in-minutes-for-every-execution-of-autosave\": \"自動保存を実行する分数を入力します。\",\n    \"extreme-friendly-url\": \"フレンドリーURL\",\n    \"title-formats\": \"タイトル書式\",\n    \"delete-content\": \"コンテンツの削除\",\n    \"are-you-sure-you-want-to-delete-this-page\": \"このページを削除してもよろしいですか？\",\n    \"sticky\": \"先頭固定表示\",\n    \"actions\": \"操作\",\n    \"edit\": \"編集\",\n    \"options\": \"オプション\",\n    \"enter-title\": \"タイトルを入力してください\",\n    \"media-manager\": \"メディアマネージャー\",\n    \"set-a-cover-image-from-external-url,-such-as-a-cdn-or-some-server-dedicated-for-images\": \"CDNや画像サーバーなどにあるカバー画像の外部URLを設定します。\",\n    \"user\": \"ユーザー\",\n    \"date-format-format\": \"日付の書式: <code>YYYY-MM-DD Hours:Minutes:Seconds<\\/code>\",\n    \"start-typing-a-page-title-to-see-a-list-of-suggestions\": \"ページタイトルを入力すると候補リストを表示します。\",\n    \"field-used-when-ordering-content-by-position\": \"コンテンツを位置順に並べるときに使用するフィールドです。\",\n    \"write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page\": \"テーマ内のページをフィルタリングし、ページのスタイルを変更するためのテンプレート名を入力します。\",\n    \"write-the-tags-separated-by-commas\": \"カンマで区切ってタグを書きます。\",\n    \"apply-code-noindex-code-to-this-page\": \"このページに <code>noindex<\\/code> を適用。\",\n    \"this-tells-search-engines-not-to-show-this-page-in-their-search-results\": \"検索エンジンの検索結果に、このページを表示しないように設定します。\",\n    \"apply-code-nofollow-code-to-this-page\": \"このページに <code>nofollow<\\/code> を適用。\",\n    \"this-tells-search-engines-not-to-follow-links-on-this-page\": \"検索エンジンに、このページからのリンクをしないように設定します。\",\n    \"apply-code-noarchive-code-to-this-page\": \"このページに <code>noarchive<\\/code> を適用。\",\n    \"this-tells-search-engines-not-to-save-a-cached-copy-of-this-page\": \"検索エンジンに、このページをキャッシュとしてコピーしないように設定します。\",\n    \"uncategorized\": \"未分類\",\n    \"done\": \"完了\",\n    \"delete-category\": \"カテゴリーを削除します\",\n    \"are-you-sure-you-want-to-delete-this-category?\": \"このカテゴリーを削除してもよろしいですか？\",\n    \"confirm-new-password\": \"新しいパスワードの確認\",\n    \"the-nickname-is-almost-used-in-the-themes-to-display-the-author-of-the-content\": \"ニックネームは、コンテンツの投稿者を表示するテーマで使用されます。\",\n    \"allow-unicode\": \"Unicodeを許可\",\n    \"allow-unicode-characters-in-the-url-and-some-part-of-the-system\": \"URLまたはシステムの一部にUnicode文字の使用を許可します。\",\n    \"variables-allowed\": \"使用可能な変数\",\n    \"tag\": \"タグ\",\n    \"drag-and-drop-to-sort-the-plugins\": \"プラグインをドラッグ アンド ドロップして並び替えます。\",\n    \"seo\": \"SEO\",\n    \"documentation\": \"マニュアル\",\n    \"forum-support\": \"サポート掲示板\",\n    \"chat-support\": \"サポートチャット\",\n    \"quick-links\": \"クイックリンク\",\n    \"leave-empty-for-autocomplete-by-bludit\": \"Bluditの自動補完のために空のままにしてください。\",\n    \"choose-a-password-for-the-user-admin\": \"<code>admin<\\/code>ユーザーのパスワードを入力してください\",\n    \"access-denied\": \"アクセスが拒否されました\",\n    \"choose-images-to-upload\": \"アップロードする画像を選択\",\n    \"insert\": \"挿入\",\n    \"upload\": \"アップロード\",\n    \"autosave\": \"自動保存\",\n    \"the-content-is-saved-as-a-draft-to-publish-it\": \"内容は下書きとして保存されます。公開するには<b>公開<\\/b>ボタンをクリックします。書きかけの場合は<b>下書きとして保存<\\/b>をクリックします。\",\n    \"site\": \"サイト\",\n    \"first\": \"最初\",\n    \"last\": \"最後\",\n    \"there-are-no-pages-at-this-moment\": \"現在、ページはありません。\",\n    \"there-are-no-static-pages-at-this-moment\": \"現在、静的ページはありません。\",\n    \"there-are-no-draft-pages-at-this-moment\": \"現在、下書きのページはありません。\",\n    \"good-morning\": \"おはようございます\",\n    \"good-afternoon\": \"こんにちは\",\n    \"good-evening\": \"こんばんは\",\n    \"good-night\": \"こんばんは\",\n    \"hello\": \"こんにちは\",\n    \"there-are-no-images-for-the-page\": \"ページに画像はありません。\",\n    \"select-cover-image\": \"カバー画像を選択\",\n    \"this-plugin-depends-on-the-following-plugins\": \"プラグインは、以下のプラグインに依存しています。\",\n    \"no-pages-found\": \"ページが見つかりませんでした。\",\n    \"system-updated\": \"システムは更新されました。\",\n    \"security\": \"セキュリティ\",\n    \"remove-cover-image\": \"カバー画像を削除\",\n    \"width\": \"幅\",\n    \"height\": \"高さ\",\n    \"quality\": \"品質\",\n    \"thumbnails\": \"サムネイル\",\n    \"thumbnail\": \"サムネイル\",\n    \"thumbnail-width-in-pixels\": \"サムネイルの幅(px)\",\n    \"thumbnail-height-in-pixels\": \"サムネイルの高さ(px)\",\n    \"thumbnail-quality-in-percentage\": \"サムネイル画像の品質(%)\",\n    \"maximum-load-file-size-allowed:\": \"許可された最大ロードファイルサイズ:\",\n    \"file-type-is-not-supported\": \"ファイル形式はサポートされていません。許可された形式:\",\n    \"page-content\": \"ページコンテンツ\",\n    \"markdown-parser\": \"Markdownパーサー\",\n    \"site-logo\": \"サイトロゴ\",\n    \"search\": \"検索\",\n    \"search-plugins\": \"プラグインを検索\",\n    \"enabled-plugins\": \"有効化されたプラグイン\",\n    \"disabled-plugins\": \"無効化されたプラグイン\",\n    \"remove-logo\": \"ロゴを削除\",\n    \"preview\": \"プレビュー\",\n    \"author-can-write-and-edit-their-own-content\": \"「投稿者」はコンテンツを書いたり編集できます。「編集者」は自分以外のコンテンツも書いたり編集できます。\",\n    \"custom-fields\": \"カスタムフィールド\",\n    \"define-custom-fields-for-the-content\": \"コンテンツのカスタムフィールドを定義します。カスタムフィールドの詳細については、<a href='https:\\/\\/docs.bludit.com\\/en\\/content\\/custom-fields'>ドキュメント<\\/a>をご覧ください。\",\n    \"start-typing-to-see-a-list-of-suggestions\": \"文字を入力すると候補一覧が表示されます。\",\n    \"view\": \"表示\",\n    \"insert-thumbnail\": \"サムネイルを挿入\",\n    \"no-tags\": \"タグなし\",\n    \"no-categories\": \"カテゴリーなし\",\n    \"insert-linked-thumbnail\": \"リンク付きサムネイルを挿入\",\n    \"navigation\": \"ナビゲーション\",\n    \"thumbnail-generation\": \"サムネイルの生成\",\n    \"enable-disable-automatic-thumbnail-generation-on-image-upload\": \"画像アップロード時のサムネイル自動生成を有効または無効にします。\"\n}\n"
  },
  {
    "path": "bl-languages/lt.json",
    "content": "{\n    \"language-data\": {\n        \"native\": \"Lietuvių\",\n        \"english-name\": \"Lithuanian\",\n        \"locale\": \"lt, lt_LT\",\n        \"last-update\": \"2024-07-19\",\n        \"authors\": [\n            \"Kristupas Grigas @kurisotofaa purelypost.com\",\n            \"\",\n            \"\",\n            \"\"\n        ]\n    },\n    \"dates\": {\n        \"Mon\": \"P\",\n        \"Tue\": \"A\",\n        \"Wed\": \"T\",\n        \"Thu\": \"K\",\n        \"Fri\": \"Pn\",\n        \"Sat\": \"Š\",\n        \"Sun\": \"S\",\n        \"Monday\": \"Pirmadienis\",\n        \"Tuesday\": \"Antradienis\",\n        \"Wednesday\": \"Trečiadienis\",\n        \"Thursday\": \"Ketvirtadienis\",\n        \"Friday\": \"Penktadienis\",\n        \"Saturday\": \"Šeštadienis\",\n        \"Sunday\": \"Sekmadienis\",\n        \"Jan\": \"Sau\",\n        \"Feb\": \"Vas\",\n        \"Mar\": \"Kov\",\n        \"Apr\": \"Bal\",\n        \"Jun\": \"Bir\",\n        \"Jul\": \"Lie\",\n        \"Aug\": \"Rgp\",\n        \"Sep\": \"Rgs\",\n        \"Oct\": \"Spa\",\n        \"Nov\": \"Lap\",\n        \"Dec\": \"Gru\",\n        \"January\": \"Sausis\",\n        \"February\": \"Vasaris\",\n        \"March\": \"Kovas\",\n        \"April\": \"Balandis\",\n        \"May\": \"Gegužė\",\n        \"June\": \"Birželis\",\n        \"July\": \"Liepa\",\n        \"August\": \"Rugpjūtis\",\n        \"September\": \"Rugsėjis\",\n        \"October\": \"Spalis\",\n        \"November\": \"Lapkritis\",\n        \"December\": \"Gruodis\"\n    },\n    \"dashboard\": \"prietaisų skydelis\",\n    \"manage-users\": \"Valdyti naudotojus\",\n    \"manage-categories\": \"Valdyti kategorijas\",\n    \"general-settings\": \"bendrieji nustatymai\",\n    \"advanced-settings\": \"išplėstiniai nustatymai\",\n    \"thanks-for-supporting-bludit\": \"Ačiū, kad palaikote Bludit\",\n    \"upgrade-to-bludit-pro\": \"Atnaujinti į Bludit PRO\",\n    \"language\": \"Kalba\",\n    \"plugin\": \"Įskiepis\",\n    \"plugins\": \"Įskiepiai\",\n    \"developers\": \"Kūrėjai\",\n    \"themes\": \"Temos\",\n    \"about\": \"Apie\",\n    \"url\": \"URL\",\n    \"welcome\": \"Sveiki atvykę\",\n    \"logout\": \"Atsijungti\",\n    \"website\": \"Svetainė\",\n    \"publish\": \"Paskelbti\",\n    \"manage\": \"Valdyti\",\n    \"content\": \"Turinys\",\n    \"category\": \"Kategorija\",\n    \"categories\": \"Kategorijos\",\n    \"users\": \"Naudotojai\",\n    \"settings\": \"Settings\",\n    \"general\": \"Bendrieji\",\n    \"advanced\": \"Išplėstinai\",\n    \"new-content\": \"Naujas turinys\",\n    \"manage-content\": \"Valdyti turinį\",\n    \"add-new-content\": \"Pridėti naujo turinio\",\n    \"new-category\": \"Nauja kategorija\",\n    \"you-do-not-have-sufficient-permissions\": \"Neturite pakankamų leidimų\",\n    \"add-a-new-user\": \"Pridėti naują naudotoją\",\n    \"url-associated-with-the-content\": \"su turiniu susietas URL adresas.\",\n    \"language-and-timezone\": \"Kalba ir laiko zona\",\n    \"change-your-language-and-region-settings\": \"Pakeisk tavo kalbą ir regiono nustatymus\",\n    \"notifications\": \"Pranešimai\",\n    \"plugin-activated\": \"Įskiepis aktyvuotas\",\n    \"plugin-deactivated\": \"Įskiepis išjungtas\",\n    \"new-theme-configured\": \"Nauja tema sukonfiguruota\",\n    \"settings-changes\": \"Nustatymų keitimai\",\n    \"plugin-configured\": \"Įskiepis sukonfiguruotas\",\n    \"welcome-to-bludit\": \"Sveiki atvykę į Bludit\",\n    \"statistics\": \"Statistikos\",\n    \"drafts\": \"Juodraščiai\",\n    \"title\": \"Antraštė\",\n    \"save\": \"Išsaugoti\",\n    \"save-as-draft\": \"Išsaugoti kaip juodraštį\",\n    \"cancel\": \"Atšaukti\",\n    \"description\": \"Aprašymas\",\n    \"this-field-can-help-describe-the-content\": \"Šis laukas gali padėti keliais žodžiais apibūdinti turinį.\",\n    \"images\": \"Nuotraukos\",\n    \"error\": \"Klaida\",\n    \"supported-image-file-types\": \"Palaikomi nuotraukų failų tipai\",\n    \"cover-image\": \"Viršelio vaizdas\",\n    \"drag-and-drop-or-click-here\": \"Vilkite ir nuleiskite arba spustelėkite čia\",\n    \"there-are-no-images\": \"Nėra nuotraukų\",\n    \"upload-and-more-images\": \"Įkėlimas ir daugiau nuotraukų\",\n    \"click-on-the-image-for-options\": \"Spustelėkite paveikslėlį, kad pamatytumėte parinktis.\",\n    \"click-here-to-cancel\": \"Spustelėkite čia ir atšaukite\",\n    \"insert-image\": \"Įterpti nuotrauką\",\n    \"set-as-cover-image\": \"Nustatyti kaip viršelio vaizdą\",\n    \"delete-image\": \"Ištrinti nuotrauką\",\n    \"tags\": \"Žymės\",\n    \"add\": \"Pridėti\",\n    \"status\": \"Statusas\",\n    \"published\": \"Paskelbta\",\n    \"draft\": \"Juodraštis\",\n    \"empty-title\": \"Tuščia antraštė\",\n    \"empty\": \"tuščia\",\n    \"date\": \"Data\",\n    \"external-cover-image\": \"Išorinis viršelio vaizdas\",\n    \"parent\": \"Pagrindinis\",\n    \"full-image-url\": \"Pilnas nuotraukos URL adresas.\",\n    \"this-field-is-used-when-you-order-the-content-by-position\": \"Šis laukas naudojamas, kai turinį rikiuojate pagal poziciją.\",\n    \"position\": \"Pozicija\",\n    \"friendly-url\": \"Draugiškas URL adresas\",\n    \"image-description\": \"Nuotraukos aprašymas\",\n    \"add-a-new-category\": \"Pridėti naują kategoriją\",\n    \"name\": \"Vardas\",\n    \"username\": \"Prisijungimo vardas\",\n    \"first-name\": \"Pirmas Vardas\",\n    \"last-name\": \"Pavardė\",\n    \"to-schedule-the-content-select-the-date-and-time\": \"Norėdami suplanuoti turinį, pasirinkite datą ir laiką, būseną reikia nustatyti į \\\"paskelbta\\\".\",\n    \"email\": \"El. Paštas\",\n    \"role\": \"Rolė\",\n    \"registered\": \"Prisiregistruota\",\n    \"site-information\": \"Svetainės informacija\",\n    \"site-title\": \"Svetainės antraštė\",\n    \"use-this-field-to-name-your-site\": \"Naudokite šį lauką svetainei pavadinti.\",\n    \"site-slogan\": \"Svetainės šūkis\",\n    \"use-this-field-to-add-a-catchy-phrase\": \"Šį lauką naudokite norėdami į svetainę įtraukti patrauklią frazę.\",\n    \"site-description\": \"Svetainės aprašymas\",\n    \"you-can-add-a-site-description-to-provide\": \"Šį lauką naudokite norėdami į svetainę įtraukti patrauklią frazę.\",\n    \"footer-text\": \"Tekstas apačioje\",\n    \"you-can-add-a-small-text-on-the-bottom\": \"Kiekvieno puslapio apačioje galite pridėti nedidelį tekstą, pvz., autorių teises, savininką, datas ir pan.\",\n    \"social-networks-links\": \"Socialinių tinklų nuorodos\",\n    \"site-url\": \"Svetainės URL adresas\",\n    \"email-account-settings\": \"El. pašto paskyros nustatymai\",\n    \"sender-email\": \"Siuntėjo el. paštas\",\n    \"emails-will-be-sent-from-this-address\": \"El. laiškai bus sunčiami iš šio adreso\",\n    \"url-filters\": \"URL adreso filtrai\",\n    \"select-your-sites-language\": \"Pasirinkite jūsų svetainės kalbą\",\n    \"timezone\": \"Laiko zona\",\n    \"select-a-timezone-for-a-correct\": \"Pasirinkite laiko zona teisingąi datai\\/laiko parodymui jūsų svetainėje.\",\n    \"locale\": \"Vietovė\",\n    \"date-and-time-formats\": \"Datos ir laiko formatai\",\n    \"date-format\": \"Datos formatas\",\n    \"current-format\": \"Dabartinis formatas\",\n    \"version\": \"Versija\",\n    \"author\": \"Autorius\",\n    \"activate\": \"Aktyvuoti\",\n    \"deactivate\": \"Išjungti\",\n    \"edit-category\": \"Pakeisti kategoriją\",\n    \"delete\": \"Ištrinti\",\n    \"password\": \"Slaptažodis\",\n    \"confirm-password\": \"Patvirtinti slaptažodį\",\n    \"editor\": \"Redaktorius\",\n    \"administrator\": \"Administratorius\",\n    \"edit-user\": \"Pakeisti naudotoją\",\n    \"edit-content\": \"Pakeisti turinį\",\n    \"profile\": \"Profilis\",\n    \"change-password\": \"Pakeisti slaptažodį\",\n    \"enabled\": \"Įjungtas\",\n    \"disable-the-user\": \"Išjungti naudotoją\",\n    \"profile-picture\": \"Profilio nuotrauką\",\n    \"edit-or-delete-your-categories\": \"Pakeisti ar ištrinti jūsų kategorijas\",\n    \"create-a-new-category-to-organize-your-content\": \"Sukurti naują kategoriją tūrinio organizavimui\",\n    \"confirm-delete-this-action-cannot-be-undone\": \"Patvirtinkite ištrynimą, šio veiksmo atšaukti negalima.\",\n    \"do-you-want-to-disable-the-user\": \"Ar norite išjungti naudotoją ?\",\n    \"new-password\": \"Naujas slaptažodis\",\n    \"you-can-change-this-field-when-save-the-current-changes\": \"Šį lauką galite pakeisti, kai išsaugosite esamus pakeitimus.\",\n    \"items-per-page\": \"Elementai per puslapį\",\n    \"invite-a-friend-to-collaborate-on-your-site\": \"Pakvieskite draugą bendradarbiauti savo svetainėje\",\n    \"number-of-items-to-show-per-page\": \"Viename puslapyje rodomų elementų skaičius, -1 reiškia visus elementus.\",\n    \"website-or-blog\": \"Svetainė ar tinklaraštis\",\n    \"order-content-by\": \"Rikiuoti turinį pagal\",\n    \"edit-or-delete-content-from-your-site\": \"Redaguokite arba ištrinkite svetainės turinį\",\n    \"order-the-content-by-date-to-build-a-blog\": \"Jei norite sukurti tinklaraštį, sudėliokite turinį pagal datą, o jei norite sukurti svetainę, sudėliokite turinį pagal poziciją.\",\n    \"page-not-found-content\": \"Atrodo, kad šis puslapis neegzistuoja.\",\n    \"page-not-found\": \"Puslapis nerastas\",\n    \"predefined-pages\": \"Iš anksto nustatyti puslapiai\",\n    \"returning-page-when-the-page-doesnt-exist\": \"Puslapio grąžinimas, kai puslapis neegzistuoja, pagal numatytuosius nustatymus grąžinamas numatytasis pranešimas.\",\n    \"returning-page-for-the-main-page\": \"Pagal numatytuosius nustatymus pagrindiniame puslapyje rodomas naujausio turinio eiliškumas pagal datą arba poziciją.\",\n    \"full-url-of-your-site\": \"Pilnas jūsų svetainės URL adresas. Nurodykite HTTP arba HTTPS protokolą (tik jei serveryje įjungėte SSL).\",\n    \"with-the-locales-you-can-set-the-regional-user-interface\": \"Naudodami vietines sąsajas galite nustatyti regioninę naudotojo sąsają, pvz., datas savo kalba. Vietovės turi būti įdiegtos jūsų sistemoje.\",\n    \"bludit-installer\": \"Bludit Instaliuotojas\",\n    \"choose-your-language\": \"Pasirinkite kalbą\",\n    \"next\": \"Toliau\",\n    \"complete-the-form-choose-a-password-for-the-username-admin\": \"Pabaik formą, pasirink slaptažodį naudotojo vardui <b>admin<\\/b>\",\n    \"show-password\": \"Parodyti slaptažodį\",\n    \"install\": \"Instaliuoti\",\n    \"login\": \"Prisijungti\",\n    \"back-to-login-form\": \"Grįžti į prisijungimo formą\",\n    \"get-login-access-code\": \"Gaukite prisijungimo prieigos kodą\",\n    \"email-access-code\": \"El. pašto prieigos kodas\",\n    \"whats-next\": \"Kas toliau\",\n    \"username-or-password-incorrect\": \"Prisijungimo vardas ar slaptažodis neteisingas\",\n    \"follow-bludit-on\": \"Sekite Bludit\",\n    \"this-is-a-brief-description-of-yourself-our-your-site\": \"Tai trumpas jūsų arba jūsų svetainės aprašymas, norėdami pakeisti šį tekstą, eikite į administratoriaus skydelį, nustatymus, įskiepius ir sukonfigūruokite įskiepį  \\\"apie\\\".\",\n    \"new-version-available\": \"Nauja versija pasiekiama\",\n    \"new-category-created\": \"Nauja kategorija sukurta\",\n    \"category-deleted\": \"Kategorija ištrinta\",\n    \"category-edited\": \"Kategorija redaguota\",\n    \"new-user-created\": \"Naujas naudotojas sukurtas\",\n    \"user-edited\": \"Naudotojas redaguotas\",\n    \"user-deleted\": \"Naudotojas ištrintas\",\n    \"recommended-for-recovery-password-and-notifications\": \"Rekomenduojama naudoti slaptažodžio atkūrimui ir pranešimams.\",\n    \"authentication-token\": \"Autentifikavimo žetonas\",\n    \"token\": \"Žetonas\",\n    \"current-status\": \"Dabartinis statusas\",\n    \"upload-image\": \"Įkelti nuotrauką\",\n    \"the-changes-have-been-saved\": \"Pakeitimai išsaugoti\",\n    \"label\": \"Etiketė\",\n    \"links\": \"Nuorodos\",\n    \"this-title-is-almost-always-used-in-the-sidebar-of-the-site\": \"Šis pavadinimas beveik visada naudojamas svetainės šoninėje juostoje.\",\n    \"password-must-be-at-least-6-characters-long\": \"Slaptažodis turi būti bent 6 simbolių ilgio\",\n    \"ip-address-has-been-blocked\": \"IP addresas užblokuotas\",\n    \"try-again-in-a-few-minutes\": \"Pabandykite už kelių minučių\",\n    \"content-published-from-scheduler\": \"Iš tvarkaraščio sudarytojo skelbiamas turinys\",\n    \"blog\": \"Tinklaraštis\",\n    \"complete-all-fields\": \"Užpildykite visus laukelius\",\n    \"static\": \"Statinis\",\n    \"about-your-site-or-yourself\": \"Apie svetainę arba jus\",\n    \"homepage\": \"Pagrindinis puslapis\",\n    \"disabled\": \"Išjungta\",\n    \"to-enable-the-user-you-must-set-a-new-password\": \"Norėdami įjungti naudotoją, turite nustatyti naują slaptažodį.\",\n    \"delete-the-user-and-associate-his-content-to-admin-user\": \"Ištrinkite naudotoją ir susiekite jo turinį su administratoriaus naudotoju\",\n    \"delete-the-user-and-all-his-content\": \"Ištrinkite naudotoją ir visą jo turinį\",\n    \"user-disabled\": \"Naudotojas išjungtas\",\n    \"user-password-changed\": \"Naudotojo slaptažodis pakeistas\",\n    \"the-password-and-confirmation-password-do-not-match\": \"Nesutampa slaptažodis ir patvirtinimo slaptažodis\",\n    \"scheduled-content\": \"Suplanuotas turinys\",\n    \"there-are-no-scheduled-content\": \"Nėra suplanuoto turinio\",\n    \"new-content-created\": \"Naujas turinys sukurtas\",\n    \"content-edited\": \"Turinys redaguotas\",\n    \"content-deleted\": \"Turinys ištrintas\",\n    \"undefined\": \"Neapibrėžta\",\n    \"create-new-content-for-your-site\": \"Sukurkite naujo turinio jūsų svetainei\",\n    \"order-items-by\": \"Rušiuoti elementus pagal\",\n    \"all-content\": \"Visas turinys\",\n    \"dynamic\": \"Dinaminis\",\n    \"type\": \"Tipas\",\n    \"draft-content\": \"Juodraštinis turinys\",\n    \"post\": \"Paštas\",\n    \"default\": \"Numatytasis\",\n    \"latest-content\": \"Naujausias turinys\",\n    \"default-message\": \"Numatyta žinutė\",\n    \"no-parent\": \"Jokio pagrindo\",\n    \"have-you-seen-my-ball\": \"Matei mano kamuolį?\",\n    \"pagebreak\": \"Puslapio pertrauka\",\n    \"pages\": \"Puslapiai\",\n    \"this-plugin-may-not-be-supported-by-this-version-of-bludit\": \"Šis įskiepis gali būti nepalaikomas šios Bludit versijos\",\n    \"previous\": \"Praeitas\",\n    \"previous-page\": \"Praeitas puslapis\",\n    \"next-page\": \"Kitas puslapis\",\n    \"scheduled\": \"Suplanuota\",\n    \"this-token-is-similar-to-a-password-it-should-not-be-shared\": \"Šis žetonas yra panašus į slaptažodį, juo neturėtų būti dalijamasi.\",\n    \"congratulations-you-have-successfully-installed-your-bludit\": \"Sveikinimai, jūs instaliavote savo Bludit\",\n    \"this-theme-may-not-be-supported-by-this-version-of-bludit\": \"Ši tema gali būti nepalaikoma šios Bludit versijos\",\n    \"read-more\": \"Skaityti daugiau\",\n    \"remember-me\": \"Prisiminti mane\",\n    \"plugins-position\": \"Įskepio pozicija\",\n    \"plugins-sorted\": \"Surušiuoti įskiepiai\",\n    \"plugins-position-changed\": \"Įskiepio pozicija pakeista\",\n    \"drag-and-drop-to-set-the-position-of-the-plugin\": \"Vilkite ir nuleiskite, kad nustatytumėte įskiepių poziciją\",\n    \"change-the-position-of-the-plugins\": \"Pakeisti įskiepių poziciją\",\n    \"reading-time\": \"Skaitymo laikas\",\n    \"minutes\": \"Minučių\",\n    \"minute\": \"Minutė\",\n    \"example-page-1-slug\": \"sukurk-tavo-turini\",\n    \"example-page-1-title\": \"Sukurk tavo turinį\",\n    \"example-page-1-content\": \"Pradėkite rašyti savo turinį arba redaguokite esamą, kad jis atitiktų jūsų poreikius. Norėdami sukurti, redaguoti ar pašalinti turinį, turite prisijungti prie <a href=\\\".\\/admin\\/\\\">administratoriaus skydelio<\\/a> su vartotojo vardu `admin` ir slaptažodžiu, kurį nustatėte diegimo metu.\",\n    \"example-page-2-slug\": \"konfiguruok-tavo-svetaine\",\n    \"example-page-2-title\": \"Konfiguruok tavo svetainę\",\n    \"example-page-2-content\": \"Atnaujinkite svetainės nustatymus iš <a href=\\\".\\/admin\\/\\\">administratoriaus skydelio<\\/a>, pavadinimą, aprašymą ir socialinius tinklus galite pakeisti iš <a href=\\\".\\/admin\\/settings\\\">Nustatymai > Bendrieji<\\/a>.\",\n    \"example-page-3-slug\": \"sekite-bludit\",\n    \"example-page-3-title\": \"Sekite Bludit\",\n    \"example-page-3-content\": \"Gaukite informaciją apie naujienas, naujus leidinius, naujas temas ar naujus įskiepius mūsų socialiniuose tinkluose <a href=\\\"https:\\/\\/www.facebook.com\\/bluditcms\\/\\\" target=\\\"_blank\\\">Facebook<\\/a>, <a href=\\\"https:\\/\\/www.twitter.com\\/bludit\\/\\\" target=\\\"_blank\\\">Twitter<\\/a> ir <a href=\\\"https:\\/\\/www.youtube.com\\/c\\/Bluditcms\\\" target=\\\"_blank\\\">YouTube<\\/a> arba apsilankykite mūsų <a href=\\\"https:\\/\\/blog.bludit.com\\\" target=\\\"_blank\\\">Tinklaraštyje<\\/a>.\",\n    \"example-page-4-slug\": \"apie\",\n    \"example-page-4-title\": \"Apie\",\n    \"example-page-4-content\": \"Puslapis „Apie“ paprastai yra vienas iš labiausiai lankomų jūsų svetainės puslapių, jis turi būti paprastas, jame turi būti keli pagrindiniai dalykai, pvz., jūsų vardas ir pavardė, kas esate, kaip su jumis susisiekti, nedidelė istorija ir pan.\",\n    \"the-extension-zip-is-not-installed\": \"Zip plėtinys nėra įdiegtas, norėdami naudoti šį įskiepį, turite įdiegti plėtinį.\",\n    \"there-are-no-sticky-pages-at-this-moment\": \"Šiuo metu lipnių puslapių nėra.\",\n    \"there-are-no-scheduled-pages-at-this-moment\": \"Šiuo metu nėra suplanuotų puslapių.\",\n    \"update\": \"Atnaujinimas\",\n    \"template\": \"Šablonas\",\n    \"nickname\": \"Slapyvardis\",\n    \"disable-user\": \"Išjungti naudotoją\",\n    \"delete-user-and-keep-content\": \"Ištrinti naudotoją ir palikti turinį\",\n    \"delete-user-and-delete-content\": \"Ištrinti naudotoją ir ištrinti turinį (Įspėjimas)\",\n    \"social-networks\": \"Socialiniai tinklai\",\n    \"interval\": \"Laikotarpis\",\n    \"number-in-minutes-for-every-execution-of-autosave\": \"Kiekvieno automatinio išsaugojimo vykdymo skaičius minutėmis.\",\n    \"extreme-friendly-url\": \"Ekstremalus draugiškas URL\",\n    \"title-formats\": \"Pavadinimo formatai\",\n    \"delete-content\": \"Ištrinti turinį\",\n    \"are-you-sure-you-want-to-delete-this-page\": \"Ar tikrai norite ištrinti šį puslapį?\",\n    \"sticky\": \"Lipnus\",\n    \"actions\": \"Veiksmai\",\n    \"edit\": \"Redaguoti\",\n    \"options\": \"Pasirinkimai\",\n    \"enter-title\": \"Įvesti pavadinimą\",\n    \"media-manager\": \"Vaizdų valdymas\",\n    \"set-a-cover-image-from-external-url,-such-as-a-cdn-or-some-server-dedicated-for-images\": \"Nustatykite viršelio paveikslėlį iš išorinio URL adreso, pvz., CDN arba kokio nors vaizdams skirto serverio.\",\n    \"user\": \"Naudotojas\",\n    \"date-format-format\": \"Datos formatas: <code>MMMM-MėnMėn-DD Valandos:Minutės:Sekundės<\\/code>\",\n    \"start-typing-a-page-title-to-see-a-list-of-suggestions\": \"Pradėkite rašyti puslapio pavadinimą ir pamatysite pasiūlymų sąrašą.\",\n    \"field-used-when-ordering-content-by-position\": \"Laukas, naudojamas rušiuojant turinį pagal poziciją.\",\n    \"write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page\": \"Įrašykite šablono pavadinimą, kad filtruotumėte puslapį temoje ir pakeistumėte puslapio stilių.\",\n    \"write-the-tags-separated-by-commas\": \"Įrašykite kableliais atskirtas žymas.\",\n    \"apply-code-noindex-code-to-this-page\": \"Taikyti <code>noindex<\\/code> šiam puslapiui.\",\n    \"this-tells-search-engines-not-to-show-this-page-in-their-search-results\": \"Tai nurodo paieškos sistemoms nerodyti šio puslapio paieškos rezultatuose.\",\n    \"apply-code-nofollow-code-to-this-page\": \"Taikyti <code>nofollow<\\/code> šiam puslapiui.\",\n    \"this-tells-search-engines-not-to-follow-links-on-this-page\": \"Tai nurodo paieškos sistemoms nesekti šio puslapio nuorodų.\",\n    \"apply-code-noarchive-code-to-this-page\": \"Taikyti <code>noarchive<\\/code> šiam puslapiui.\",\n    \"this-tells-search-engines-not-to-save-a-cached-copy-of-this-page\": \"Tai nurodo paieškos sistemoms nesaugoti šio puslapio spartinančiosios kopijos.\",\n    \"uncategorized\": \"Be kategorijos\",\n    \"done\": \"Baigta\",\n    \"delete-category\": \"Delete category\",\n    \"are-you-sure-you-want-to-delete-this-category?\": \"Ar tikrai norite ištrinti šią kategoriją?\",\n    \"confirm-new-password\": \"Patvirtinti naują slaptažodį\",\n    \"the-nickname-is-almost-used-in-the-themes-to-display-the-author-of-the-content\": \"Slapyvardis beveik naudojamas temose turinio autoriui rodyti\",\n    \"allow-unicode\": \"Leisti Unicode\",\n    \"allow-unicode-characters-in-the-url-and-some-part-of-the-system\": \"URL ir kai kuriose sistemos dalyse leiskite naudoti „Unicode“ simbolius.\",\n    \"variables-allowed\": \"Kintamieji leidžiami\",\n    \"tag\": \"Žyma\",\n    \"drag-and-drop-to-sort-the-plugins\": \"Norėdami rūšiuoti įskiepius, vilkite ir nuleiskite.\",\n    \"seo\": \"SEO\",\n    \"documentation\": \"Dokumentacija\",\n    \"forum-support\": \"Forumo pagalba\",\n    \"chat-support\": \"Susirašinėjimo pagalba\",\n    \"quick-links\": \"Greitos nuorodos\",\n    \"leave-empty-for-autocomplete-by-bludit\": \"Palikite tuščią, jei norite, kad Bludit atliktų automatinį užbaigimą.\",\n    \"choose-a-password-for-the-user-admin\": \"Pasirinkite slaptažodį naudotojui <code>admin<\\/code>\",\n    \"access-denied\": \"Prieiga nesuteikta\",\n    \"choose-images-to-upload\": \"Pasirinkite nuotraukas įkėlimui\",\n    \"insert\": \"Įterpti\",\n    \"upload\": \"Įkelti\",\n    \"autosave\": \"Automatiškai išsaugoti\",\n    \"the-content-is-saved-as-a-draft-to-publish-it\": \"Šis turinys išsaugotas kaip juodraštis. Norėdami jį paskelbti, spustelėkite mygtuką <b>Paskelbti<\\/b> arba, jei vis dar dirbate, spustelėkite <b>Išsaugoti kaip juodraštį<\\/b>.\",\n    \"site\": \"Svetainė\",\n    \"first\": \"Pirmas\",\n    \"last\": \"Paskutinys\",\n    \"there-are-no-pages-at-this-moment\": \"Šiuo momentu nėra jokių puslapių.\",\n    \"there-are-no-static-pages-at-this-moment\": \"Šiuo momentu nėra statinių puslapių.\",\n    \"there-are-no-draft-pages-at-this-moment\": \"Šiuo momentu nėra juodraščių-puslapių.\",\n    \"good-morning\": \"Labas rytas\",\n    \"good-afternoon\": \"Laba diena\",\n    \"good-evening\": \"Labas vakaras\",\n    \"good-night\": \"Labanakt\",\n    \"hello\": \"Labas\",\n    \"there-are-no-images-for-the-page\": \"Nėra nuotraukų puslapiui.\",\n    \"select-cover-image\": \"Pasirinkti viršelio vaizdą\",\n    \"this-plugin-depends-on-the-following-plugins\": \"Šis įskiepis priklauso nuo šių įskiepių.\",\n    \"no-pages-found\": \"Nerasta puslapių.\",\n    \"system-updated\": \"Systema atnaujinta.\",\n    \"security\": \"Saugumas\",\n    \"remove-cover-image\": \"Panaikinti viršelio vaizdą\",\n    \"width\": \"Plotis\",\n    \"height\": \"Aukštis\",\n    \"quality\": \"Kokybė\",\n    \"thumbnails\": \"Viršelio vaizdai\",\n    \"thumbnail\": \"Viršelio vaizdas\",\n    \"thumbnail-width-in-pixels\": \"Viršelio vaizdo plotis pikseliais (px).\",\n    \"thumbnail-height-in-pixels\": \"Viršelio vaizdo aukštis pikseliais (px).\",\n    \"thumbnail-quality-in-percentage\": \"TViršelio vaizdo kokybė procentais (%).\",\n    \"maximum-load-file-size-allowed:\": \"Didžiausias leidžiamas failo įkelimo dydis:\",\n    \"file-type-is-not-supported\": \"Failo tipas nepalaikomas. Leidžiami tipai:\",\n    \"page-content\": \"Puslapio turinys\",\n    \"markdown-parser\": \"Markdown analizatorius\",\n    \"site-logo\": \"Svetainės logotipas\",\n    \"search\": \"Paieška\",\n    \"search-plugins\": \"Ieškoti įskiepių\",\n    \"enabled-plugins\": \"Įjungti įskiepiai\",\n    \"disabled-plugins\": \"Išjungti įskiepiai\",\n    \"remove-logo\": \"Ištrinti logotipą\",\n    \"preview\": \"Peržiurėti\",\n    \"author-can-write-and-edit-their-own-content\": \"autorius: Gali rašyti ir redaguoti savo turinį. Redaktorius: Gali rašyti ir redaguoti kitų turinį.\",\n    \"custom-fields\": \"Pasirinktiniai laukai\",\n    \"define-custom-fields-for-the-content\": \"Apibrėžkite pasirinktinius turinio laukus. Daugiau informacijos apie pasirinktinius laukus rasite <a href='https:\\/\\/docs.bludit.com\\/en\\/content\\/custom-fields'>dokumentacijoje<\\/a>.\",\n    \"start-typing-to-see-a-list-of-suggestions\": \"Pradėkite rašyti, kad pamatytumėte pasiūlymų sąrašą.\",\n    \"view\": \"Žiūrėti\",\n    \"insert-thumbnail\": \"Įterpti viršelio vaizdą\",\n    \"insert-linked-thumbnail\": \"Įterpti susietą viršelio vaizdą\",\n    \"no-tags\": \"Nėra žymų\",\n    \"visits-today\": \"Apsilankymai šiandien\",\n    \"no-categories\": \"Nėra kategorijų\",\n    \"quick-search-pages-and-menu\": \"Greita puslapių ir meniu paieška\",\n    \"click-here-for-quick-search\": \"Click here for quick search\",\n    \"analytics\": \"Analitika\",\n    \"unique-visitors\": \"Unikalūs lankytojai\",\n    \"search-placeholder\": \"Ieškoti puslapių, turinio ir meniu elementų...\",\n    \"no-results-found\": \"Rezultatų nerasta\",\n    \"navigation\": \"Navigacija\",\n    \"default-content-status\": \"Numatytoji turinio būsena\",\n    \"default-status-for-new-content\": \"Pasirinkite, ar naujas turinys pagal numatytuosius nustatymus kuriamas kaip Paskelbtas, ar kaip Juodraštis.\",\n    \"thumbnail-generation\": \"Miniatiūrų generavimas\",\n    \"enable-disable-automatic-thumbnail-generation-on-image-upload\": \"Įjungti arba išjungti automatinį miniatiūrų generavimą įkeliant vaizdus.\"\n}\n"
  },
  {
    "path": "bl-languages/ms_MY.json",
    "content": "{\n    \"language-data\": {\n        \"native\": \"Bahasa Melayu (Malaysia)\",\n        \"english-name\": \"Malay\",\n        \"last-update\": \"2017-09-10\",\n        \"authors\": [\n            \"Hakim Zulkufli http:\\/\\/www.iamnobuna.ga\",\n            \"\",\n            \"\",\n            \"\"\n        ],\n        \"locale\": \"ms, ms_MY\"\n    },\n    \"dates\": {\n        \"Mon\": \"Mon\",\n        \"Tue\": \"Tue\",\n        \"Wed\": \"Wed\",\n        \"Thu\": \"Thu\",\n        \"Fri\": \"Fri\",\n        \"Sat\": \"Sat\",\n        \"Sun\": \"Sun\",\n        \"Monday\": \"Monday\",\n        \"Tuesday\": \"Tuesday\",\n        \"Wednesday\": \"Wednesday\",\n        \"Thursday\": \"Thursday\",\n        \"Friday\": \"Friday\",\n        \"Saturday\": \"Saturday\",\n        \"Sunday\": \"Sunday\",\n        \"Jan\": \"Jan\",\n        \"Feb\": \"Feb\",\n        \"Mar\": \"Mar\",\n        \"Apr\": \"Apr\",\n        \"Jun\": \"Jun\",\n        \"Jul\": \"Jul\",\n        \"Aug\": \"Aug\",\n        \"Sep\": \"Sep\",\n        \"Oct\": \"Oct\",\n        \"Nov\": \"Nov\",\n        \"Dec\": \"Dec\",\n        \"January\": \"January\",\n        \"February\": \"February\",\n        \"March\": \"March\",\n        \"April\": \"April\",\n        \"May\": \"May\",\n        \"June\": \"June\",\n        \"July\": \"July\",\n        \"August\": \"August\",\n        \"September\": \"September\",\n        \"October\": \"October\",\n        \"November\": \"November\",\n        \"December\": \"December\"\n    },\n    \"dashboard\": \"Papan Pemuka\",\n    \"manage-users\": \"Urus pengguna-pengguna\",\n    \"manage-categories\": \"Manage categories\",\n    \"general-settings\": \"Tetapan umum\",\n    \"advanced-settings\": \"Tetapan lanjutan\",\n    \"thanks-for-supporting-bludit\": \"Thanks for support Bludit\",\n    \"upgrade-to-bludit-pro\": \"Upgrade to Bludit PRO\",\n    \"language\": \"Bahasa\",\n    \"plugin\": \"Plugin\",\n    \"plugins\": \"Pemalam\",\n    \"developers\": \"Developers\",\n    \"themes\": \"Tema\",\n    \"about\": \"About\",\n    \"url\": \"URL\",\n    \"welcome\": \"Welcome\",\n    \"logout\": \"Log keluar\",\n    \"website\": \"Laman web\",\n    \"publish\": \"Terbit\",\n    \"manage\": \"Urus\",\n    \"content\": \"Kandungan\",\n    \"category\": \"Category\",\n    \"categories\": \"Categories\",\n    \"users\": \"Pengguna\",\n    \"settings\": \"Tetapan\",\n    \"general\": \"Umum\",\n    \"advanced\": \"Lanjutan\",\n    \"new-content\": \"New content\",\n    \"manage-content\": \"Manage content\",\n    \"add-new-content\": \"Add new content\",\n    \"new-category\": \"New category\",\n    \"you-do-not-have-sufficient-permissions\": \"Anda tidak mempunyai kebenaran untuk mengakses halaman ini, sila hubungi pentadbir.\",\n    \"add-a-new-user\": \"Tambah pengguna baru\",\n    \"url-associated-with-the-content\": \"URL associated with the content.\",\n    \"language-and-timezone\": \"Bahasa dan zon masa\",\n    \"change-your-language-and-region-settings\": \"Tukar tetapan bahasa dan kawasan anda.\",\n    \"notifications\": \"Notifications\",\n    \"plugin-activated\": \"Plugin activated\",\n    \"plugin-deactivated\": \"Plugin deactivated\",\n    \"new-theme-configured\": \"New theme configured\",\n    \"settings-changes\": \"Changes on settings\",\n    \"plugin-configured\": \"Plugin configured\",\n    \"welcome-to-bludit\": \"Selamat datang ke Bludit\",\n    \"statistics\": \"Statistik\",\n    \"drafts\": \"Draf-draf\",\n    \"title\": \"Tajuk\",\n    \"save\": \"Simpan\",\n    \"save-as-draft\": \"Save as draft\",\n    \"cancel\": \"Batal\",\n    \"description\": \"Perihal\",\n    \"this-field-can-help-describe-the-content\": \"Huraikan secara ringkas kandungan ini. Tidak lebih daripada 150 aksara.\",\n    \"images\": \"Gambar\",\n    \"error\": \"Ralat\",\n    \"supported-image-file-types\": \"Jenis fail gambar yang disokong\",\n    \"cover-image\": \"Gambar tudung\",\n    \"drag-and-drop-or-click-here\": \"Seret dan lepaskan atau klik di sini\",\n    \"there-are-no-images\": \"Tiada gambar\",\n    \"upload-and-more-images\": \"Upload and more images\",\n    \"click-on-the-image-for-options\": \"Click on the image for options.\",\n    \"click-here-to-cancel\": \"Klik di sini untuk membatalkannya.\",\n    \"insert-image\": \"Masukkan gambar\",\n    \"set-as-cover-image\": \"Set as cover image\",\n    \"delete-image\": \"Delete image\",\n    \"tags\": \"Tag\",\n    \"add\": \"Tambah\",\n    \"status\": \"Status\",\n    \"published\": \"Telah diterbit\",\n    \"draft\": \"Draf\",\n    \"empty-title\": \"Tajuk kosong\",\n    \"empty\": \"empty\",\n    \"date\": \"Tarikh\",\n    \"external-cover-image\": \"External cover image\",\n    \"parent\": \"Induk\",\n    \"full-image-url\": \"Full image URL.\",\n    \"this-field-is-used-when-you-order-the-content-by-position\": \"This field is used when you order the content by position.\",\n    \"position\": \"Posisi\",\n    \"friendly-url\": \"URL mesra\",\n    \"image-description\": \"Image description\",\n    \"add-a-new-category\": \"Add a new category\",\n    \"name\": \"Nama\",\n    \"username\": \"Name pengguna\",\n    \"first-name\": \"Nama sendiri\",\n    \"last-name\": \"Nama keluarga\",\n    \"to-schedule-the-content-select-the-date-and-time\": \"To schedule the content select the date and time, the status has to be set to \\\"Published\\\".\",\n    \"email\": \"E-mel\",\n    \"role\": \"Peranan\",\n    \"registered\": \"Telah didaftar\",\n    \"site-information\": \"Maklumat laman web\",\n    \"site-title\": \"Tajuk laman\",\n    \"use-this-field-to-name-your-site\": \"Gunakan medan ini untuk namakan laman web anda. Ianya akan dipaparkan di atas setiap halaman laman web anda.\",\n    \"site-slogan\": \"Slogan laman\",\n    \"use-this-field-to-add-a-catchy-phrase\": \"Gunakan medan ini untuk tambahkan frasa menarik di laman web anda.\",\n    \"site-description\": \"Perihal laman\",\n    \"you-can-add-a-site-description-to-provide\": \"Anda boleh gunakan ini sebagai biografi pendek atau perihal laman web anda.\",\n    \"footer-text\": \"Text kaki\",\n    \"you-can-add-a-small-text-on-the-bottom\": \"Anda boleh tambahkan teks kecil di bawah setiap halaman. Contohnya: hak cipta, pemilik, tarikh, dll.\",\n    \"social-networks-links\": \"Social networks links\",\n    \"site-url\": \"URL laman\",\n    \"email-account-settings\": \"Tetap akaun e-emel\",\n    \"sender-email\": \"E-mel pengirim\",\n    \"emails-will-be-sent-from-this-address\": \"E-mel akan dikirim oleh alamat ini.\",\n    \"url-filters\": \"Penapis URL\",\n    \"select-your-sites-language\": \"Pilih bahasa laman web anda.\",\n    \"timezone\": \"Zon masa\",\n    \"select-a-timezone-for-a-correct\": \"Pilih zon masa yang betul untuk paparan tarikh dan masa yang tepat.\",\n    \"locale\": \"Locale\",\n    \"date-and-time-formats\": \"Format tarikh dan masa\",\n    \"date-format\": \"Format tarikh\",\n    \"current-format\": \"Current format\",\n    \"version\": \"Versi\",\n    \"author\": \"Pengarang\",\n    \"activate\": \"Aktifkan\",\n    \"deactivate\": \"Nyahaktifkan\",\n    \"edit-category\": \"Edit category\",\n    \"delete\": \"Buang\",\n    \"password\": \"Kata laluan\",\n    \"confirm-password\": \"Sahkan kata laluan\",\n    \"editor\": \"Penyunting\",\n    \"administrator\": \"Pentadbir\",\n    \"edit-user\": \"Sunting pengguna\",\n    \"edit-content\": \"Edit content\",\n    \"profile\": \"Profil\",\n    \"change-password\": \"Tukar kata laluan\",\n    \"enabled\": \"Dibolehkan\",\n    \"disable-the-user\": \"Disable the user\",\n    \"profile-picture\": \"Gambar profil\",\n    \"edit-or-delete-your-categories\": \"Edit or delete your categories\",\n    \"create-a-new-category-to-organize-your-content\": \"Create a new category to organize your content\",\n    \"confirm-delete-this-action-cannot-be-undone\": \"Sahkan pembuangan? Tindakan ini tidak boleh dibatalkan.\",\n    \"do-you-want-to-disable-the-user\": \"Do you want to disable the user ?\",\n    \"new-password\": \"Kata laluan baharu\",\n    \"you-can-change-this-field-when-save-the-current-changes\": \"You can change this field when save the current changes.\",\n    \"items-per-page\": \"Items per page\",\n    \"invite-a-friend-to-collaborate-on-your-site\": \"Invite a friend to collaborate on your site\",\n    \"number-of-items-to-show-per-page\": \"Number of items to show per page.\",\n    \"website-or-blog\": \"Website or Blog\",\n    \"order-content-by\": \"Order content By\",\n    \"edit-or-delete-content-from-your-site\": \"Edit or delete content from your site\",\n    \"order-the-content-by-date-to-build-a-blog\": \"Order the content by date to build a Blog or order the content by position to build a Website.\",\n    \"page-not-found-content\": \"Hey! look like the page doesn't exist.\",\n    \"page-not-found\": \"Page not found\",\n    \"predefined-pages\": \"Predefined pages\",\n    \"returning-page-when-the-page-doesnt-exist\": \"Returning page when the page doesn't exist, leave it blank if you want to returns a default message.\",\n    \"returning-page-for-the-main-page\": \"Returning page for the main page, leave it blank if you want to show all the pages on the main page.\",\n    \"full-url-of-your-site\": \"Full URL of your site. Complete with the protocol HTTP or HTTPS (only if you have enabled SSL on your server).\",\n    \"with-the-locales-you-can-set-the-regional-user-interface\": \"With the locales, you can set the regional user interface, such as the dates in your language. The locales need to be installed on your system.\",\n    \"bludit-installer\": \"Pemasang Bludit\",\n    \"choose-your-language\": \"Pilih bahasa anda\",\n    \"next\": \"Seterusnya\",\n    \"complete-the-form-choose-a-password-for-the-username-admin\": \"Lengkapkan borang di bawah, pilih kata laluan untuk pengguna « admin »\",\n    \"show-password\": \"Paparkan kata laluan\",\n    \"install\": \"Pasang\",\n    \"login\": \"Log masuk\",\n    \"back-to-login-form\": \"Kembali ke borang log masuk\",\n    \"get-login-access-code\": \"Dapatkan kod akses log masuk\",\n    \"email-access-code\": \"Email access code\",\n    \"whats-next\": \"Apa yang anda boleh lakukan seterusnya?\",\n    \"username-or-password-incorrect\": \"Nama pengguna atau kata laluan tidak betul\",\n    \"follow-bludit-on\": \"Ikut Bludit di\",\n    \"this-is-a-brief-description-of-yourself-our-your-site\": \"Ini ialah perihal ringkas anda atau laman web anda. Untuk mengubahnya, pergi ke Panel Pentadbir -> Tetapan -> Pemalam dan tetapkan tatarajah pemalam \\\"About\\\".\",\n    \"new-version-available\": \"New version available\",\n    \"new-category-created\": \"New category created\",\n    \"category-deleted\": \"Category deleted\",\n    \"category-edited\": \"Category edited\",\n    \"new-user-created\": \"New user created\",\n    \"user-edited\": \"User edited\",\n    \"user-deleted\": \"Pengguna telah dibuang\",\n    \"recommended-for-recovery-password-and-notifications\": \"Recommended for recovery password and notifications.\",\n    \"authentication-token\": \"Authentication Token\",\n    \"token\": \"Token\",\n    \"current-status\": \"Current status\",\n    \"upload-image\": \"Muat naik gambar\",\n    \"the-changes-have-been-saved\": \"Perubahan telah disimpan\",\n    \"label\": \"Label\",\n    \"links\": \"Links\",\n    \"this-title-is-almost-always-used-in-the-sidebar-of-the-site\": \"This title is almost always used in the sidebar of the site.\",\n    \"password-must-be-at-least-6-characters-long\": \"Kata laluan perlu mempunyai sekurang-kurangnya 6 aksara\",\n    \"ip-address-has-been-blocked\": \"Alamat IP telah dihalang.\",\n    \"try-again-in-a-few-minutes\": \"Cuba lagi dalam beberapa minit.\",\n    \"content-published-from-scheduler\": \"Content published from scheduler\",\n    \"blog\": \"Blog\",\n    \"complete-all-fields\": \"Complete all fields\",\n    \"static\": \"Static\",\n    \"about-your-site-or-yourself\": \"About your site or yourself\",\n    \"homepage\": \"Homepage\",\n    \"disabled\": \"Disabled\",\n    \"to-enable-the-user-you-must-set-a-new-password\": \"To enable the user you must set a new password.\",\n    \"delete-the-user-and-associate-his-content-to-admin-user\": \"Delete the user and associate his content to admin user\",\n    \"delete-the-user-and-all-his-content\": \"Delete the user and all his content\",\n    \"user-disabled\": \"User disabled\",\n    \"user-password-changed\": \"User password changed\",\n    \"the-password-and-confirmation-password-do-not-match\": \"The password and confirmation password do not match\",\n    \"scheduled-content\": \"Scheduled content\",\n    \"there-are-no-scheduled-content\": \"There are no scheduled content.\",\n    \"new-content-created\": \"New content created\",\n    \"content-edited\": \"Content edited\",\n    \"content-deleted\": \"Contente deleted\",\n    \"undefined\": \"Undefined\",\n    \"create-new-content-for-your-site\": \"Create new content for your site\",\n    \"order-items-by\": \"Order items by\",\n    \"all-content\": \"All content\",\n    \"dynamic\": \"Dynamic\",\n    \"type\": \"Type\",\n    \"draft-content\": \"Draft content\",\n    \"post\": \"Post\",\n    \"default\": \"Default\",\n    \"latest-content\": \"Latest content\",\n    \"default-message\": \"Default message\",\n    \"no-parent\": \"No parent\",\n    \"have-you-seen-my-ball\": \"Adakah anda melihat bola saya?\",\n    \"pagebreak\": \"Page break\",\n    \"pages\": \"Halaman-halaman\",\n    \"this-plugin-may-not-be-supported-by-this-version-of-bludit\": \"This plugin may not be supported by this version of Bludit\",\n    \"previous\": \"Previous\",\n    \"previous-page\": \"Previous page\",\n    \"next-page\": \"Next page\",\n    \"scheduled\": \"Scheduled\",\n    \"this-token-is-similar-to-a-password-it-should-not-be-shared\": \"This token is similar to a password, it should not be shared.\",\n    \"congratulations-you-have-successfully-installed-your-bludit\": \"Congratulations you have successfully installed your **Bludit**\",\n    \"this-theme-may-not-be-supported-by-this-version-of-bludit\": \"This theme may not be supported by this version of Bludit\",\n    \"read-more\": \"Read more\",\n    \"remember-me\": \"Remember me\",\n    \"plugins-position\": \"Plugin position\",\n    \"plugins-sorted\": \"Plugins sorted\",\n    \"plugins-position-changed\": \"Plugin position changed\",\n    \"drag-and-drop-to-set-the-position-of-the-plugin\": \"Drag and Drop to set the position of the plugins\",\n    \"change-the-position-of-the-plugins\": \"Change the position of the plugins\",\n    \"reading-time\": \"Reading time\",\n    \"minutes\": \"minutes\",\n    \"minute\": \"minute\",\n    \"example-page-1-slug\": \"create-your-own-content\",\n    \"example-page-1-title\": \"Create your own content\",\n    \"example-page-1-content\": \"Start writing your own content or edit the current to fit your needs. To create, edit or remove content you need to login to the <a href=\\\".\\/admin\\/\\\">admin panel<\\/a> with the username `admin` and the password you set on the installation process.\",\n    \"example-page-2-slug\": \"set-up-your-new-site\",\n    \"example-page-2-title\": \"Set up your new site\",\n    \"example-page-2-content\": \"Update the settings of your site from the <a href=\\\".\\/admin\\/\\\">admin panel<\\/a>, you can change the title, description and the social networks from <a href=\\\".\\/admin\\/settings\\\" target=\\\"_blank\\\">Settings > General<\\/a>.\",\n    \"example-page-3-slug\": \"follow-bludit\",\n    \"example-page-3-title\": \"Follow Bludit\",\n    \"example-page-3-content\": \"Get information about news, new releases, new themes or new plugins on our social networks <a href=\\\"https:\\/\\/www.facebook.com\\/bluditcms\\/\\\" target=\\\"_blank\\\">Facebook<\\/a>, <a href=\\\"https:\\/\\/www.twitter.com\\/bludit\\/\\\" target=\\\"_blank\\\">Twitter<\\/a> and <a href=\\\"https:\\/\\/www.youtube.com\\/c\\/Bluditcms\\\" target=\\\"_blank\\\">YouTube<\\/a> or visit our <a href=\\\"https:\\/\\/blog.bludit.com\\\" target=\\\"_blank\\\">Blog<\\/a>.\",\n    \"example-page-4-slug\": \"about\",\n    \"example-page-4-title\": \"About\",\n    \"example-page-4-content\": \"Your About page is typically one of the most visited pages on your site, need to be simple with a few key things, such as your name, who are you, how can contact you, a small story, etc.\",\n    \"the-extension-zip-is-not-installed\": \"Sambungan zip tidak dipasang, untuk menggunakan pemalam ini anda perlu memasang sambungan.\",\n    \"there-are-no-sticky-pages-at-this-moment\": \"There are no sticky pages at this moment.\",\n    \"there-are-no-scheduled-pages-at-this-moment\": \"There are no scheduled pages at this moment.\",\n    \"update\": \"Update\",\n    \"template\": \"Template\",\n    \"nickname\": \"Nickname\",\n    \"disable-user\": \"Disable user\",\n    \"delete-user-and-keep-content\": \"Delete user and keep content\",\n    \"delete-user-and-delete-content\": \"Delete user and delete content (Warning)\",\n    \"social-networks\": \"Social Networks\",\n    \"interval\": \"Interval\",\n    \"number-in-minutes-for-every-execution-of-autosave\": \"Number in minutes for every execution of autosave.\",\n    \"extreme-friendly-url\": \"Extreme friendly URL\",\n    \"title-formats\": \"Title formats\",\n    \"delete-content\": \"Delete content\",\n    \"are-you-sure-you-want-to-delete-this-page\": \"Adakah anda pasti mahu memadam halaman ini?\",\n    \"sticky\": \"Sticky\",\n    \"actions\": \"Actions\",\n    \"edit\": \"Edit\",\n    \"options\": \"Options\",\n    \"enter-title\": \"Enter title\",\n    \"media-manager\": \"Media Manager\",\n    \"set-a-cover-image-from-external-url,-such-as-a-cdn-or-some-server-dedicated-for-images\": \"Set a cover image from an external URL, such as a CDN or some server dedicated for images.\",\n    \"user\": \"User\",\n    \"date-format-format\": \"Date format: <code>YYYY-MM-DD Hours:Minutes:Seconds<\\/code>\",\n    \"start-typing-a-page-title-to-see-a-list-of-suggestions\": \"Start typing a page title to see a list of suggestions.\",\n    \"field-used-when-ordering-content-by-position\": \"Field used when ordering content by position\",\n    \"write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page\": \"Write a template name to filter the page in the theme and change the style of the page.\",\n    \"write-the-tags-separated-by-commas\": \"Write the tags separated by comma.\",\n    \"apply-code-noindex-code-to-this-page\": \"Apply <code>noindex<\\/code> to this page.\",\n    \"this-tells-search-engines-not-to-show-this-page-in-their-search-results\": \"This tells search engines not to show this page in their search results.\",\n    \"apply-code-nofollow-code-to-this-page\": \"Apply <code>nofollow<\\/code> to this page.\",\n    \"this-tells-search-engines-not-to-follow-links-on-this-page\": \"This tells search engines not to follow links on this page.\",\n    \"apply-code-noarchive-code-to-this-page\": \"Apply <code>noarchive<\\/code> to this page.\",\n    \"this-tells-search-engines-not-to-save-a-cached-copy-of-this-page\": \"This tells search engines not to save a cached copy of this page.\",\n    \"uncategorized\": \"Uncategorized\",\n    \"done\": \"Done\",\n    \"delete-category\": \"Delete category\",\n    \"are-you-sure-you-want-to-delete-this-category?\": \"Adakah anda pasti mahu memadam kategori ini?\",\n    \"confirm-new-password\": \"Confirm new password\",\n    \"the-nickname-is-almost-used-in-the-themes-to-display-the-author-of-the-content\": \"The nickname is almost used in the themes to display the author of the content\",\n    \"allow-unicode\": \"Allow Unicode\",\n    \"allow-unicode-characters-in-the-url-and-some-part-of-the-system\": \"Allow Unicode characters in the URL and some part of the system.\",\n    \"variables-allowed\": \"Variables allowed\",\n    \"tag\": \"Tag\",\n    \"drag-and-drop-to-sort-the-plugins\": \"Drag and Drop to sort the plugins.\",\n    \"seo\": \"SEO\",\n    \"documentation\": \"Documentation\",\n    \"forum-support\": \"Forum support\",\n    \"chat-support\": \"Chat support\",\n    \"quick-links\": \"Quick links\",\n    \"leave-empty-for-autocomplete-by-bludit\": \"Leave empty for autocomplete by Bludit.\",\n    \"choose-a-password-for-the-user-admin\": \"Choose a password for the user <code>admin<\\/code>\",\n    \"access-denied\": \"Access denied\",\n    \"choose-images-to-upload\": \"Choose images to upload\",\n    \"insert\": \"Insert\",\n    \"upload\": \"Upload\",\n    \"autosave\": \"Autosave\",\n    \"the-content-is-saved-as-a-draft-to-publish-it\": \"The content is saved as a draft. To publish it click on the button <b>Publish<\\/b> or if you still working on it click on <b>Save as draft<\\/b>.\",\n    \"site\": \"Site\",\n    \"first\": \"First\",\n    \"last\": \"Last\",\n    \"there-are-no-pages-at-this-moment\": \"There are no pages at this moment.\",\n    \"there-are-no-static-pages-at-this-moment\": \"There are no static pages at this moment.\",\n    \"there-are-no-draft-pages-at-this-moment\": \"There are no draft pages at this moment.\",\n    \"good-morning\": \"Good morning\",\n    \"good-afternoon\": \"Good afternoon\",\n    \"good-evening\": \"Good evening\",\n    \"good-night\": \"Good night\",\n    \"hello\": \"Hello\",\n    \"there-are-no-images-for-the-page\": \"There are no images for the page.\",\n    \"select-cover-image\": \"Select cover image\",\n    \"this-plugin-depends-on-the-following-plugins\": \"This plugin depends on the following plugins.\",\n    \"no-pages-found\": \"No pages found\",\n    \"system-updated\": \"System updated\",\n    \"security\": \"Security\",\n    \"remove-cover-image\": \"Remove cover image\",\n    \"width\": \"Width\",\n    \"height\": \"Height\",\n    \"quality\": \"Quality\",\n    \"thumbnails\": \"Thumbnails\",\n    \"thumbnail\": \"Thumbnail\",\n    \"thumbnail-width-in-pixels\": \"Thumbnail width in pixels (px).\",\n    \"thumbnail-height-in-pixels\": \"Thumbnail height in pixels (px).\",\n    \"thumbnail-quality-in-percentage\": \"Thumbnail quality in percentage (%).\",\n    \"maximum-load-file-size-allowed:\": \"Maximum load file size allowed:\",\n    \"file-type-is-not-supported\": \"File type is not supported. Allowed types:\",\n    \"page-content\": \"Page content\",\n    \"markdown-parser\": \"Markdown parser\",\n    \"site-logo\": \"Site logo\",\n    \"search\": \"Search\",\n    \"search-plugins\": \"Search plugins\",\n    \"enabled-plugins\": \"Enabled plugins\",\n    \"disabled-plugins\": \"Disabled plugins\",\n    \"remove-logo\": \"Remove logo\",\n    \"preview\": \"Preview\",\n    \"author-can-write-and-edit-their-own-content\": \"Pengarang: Boleh menulis dan mengedit kandungan mereka sendiri. Editor: Boleh menulis dan mengedit kandungan orang lain.\",\n    \"custom-fields\": \"Custom fields\",\n    \"define-custom-fields-for-the-content\": \"Tentukan medan tersuai untuk kandungan.\",\n    \"start-typing-to-see-a-list-of-suggestions\": \"Mula menaip untuk melihat senarai cadangan.\",\n    \"view\": \"View\",\n    \"no-tags\": \"Tiada tag\",\n    \"insert-thumbnail\": \"Masukkan lakaran kecil\",\n    \"visits-today\": \"Lawatan Hari Ini\",\n    \"no-categories\": \"Tiada kategori\",\n    \"quick-search-pages-and-menu\": \"Carian pantas halaman dan menu\",\n    \"click-here-for-quick-search\": \"Click here for quick search\",\n    \"analytics\": \"Analitis\",\n    \"unique-visitors\": \"Pelawat Unik\",\n    \"insert-linked-thumbnail\": \"Masukkan lakaran kecil pautan\",\n    \"search-placeholder\": \"Cari halaman, kandungan, dan item menu...\",\n    \"no-results-found\": \"Tiada hasil dijumpai\",\n    \"navigation\": \"Navigasi\",\n    \"default-content-status\": \"Status kandungan lalai\",\n    \"default-status-for-new-content\": \"Pilih sama ada kandungan baharu dicipta sebagai Diterbitkan atau Draf secara lalai.\",\n    \"thumbnail-generation\": \"Penjanaan gambar kecil\",\n    \"enable-disable-automatic-thumbnail-generation-on-image-upload\": \"Dayakan atau lumpuhkan penjanaan gambar kecil automatik semasa muat naik imej.\"\n}\n"
  },
  {
    "path": "bl-languages/nl_NL.json",
    "content": "{\n    \"language-data\": {\n        \"native\": \"Nederlands\",\n        \"english-name\": \"Dutch\",\n        \"last-update\": \"2026-03-03\",\n        \"authors\": [\n            \"Ray\",\n            \"ltGuillaume\",\n            \"xm74\"\n        ],\n        \"locale\": \"nl, nl_NL\"\n    },\n    \"dates\": {\n        \"Mon\": \"Ma\",\n        \"Tue\": \"Di\",\n        \"Wed\": \"Wo\",\n        \"Thu\": \"Do\",\n        \"Fri\": \"Vr\",\n        \"Sat\": \"Za\",\n        \"Sun\": \"Zo\",\n        \"Monday\": \"Maandag\",\n        \"Tuesday\": \"Dinsdag\",\n        \"Wednesday\": \"Woensdag\",\n        \"Thursday\": \"Donderdag\",\n        \"Friday\": \"Vrijdag\",\n        \"Saturday\": \"Zaterdag\",\n        \"Sunday\": \"Zondag\",\n        \"Jan\": \"Jan\",\n        \"Feb\": \"Feb\",\n        \"Mar\": \"Mar\",\n        \"Apr\": \"Apr\",\n        \"Jun\": \"Jun\",\n        \"Jul\": \"Jul\",\n        \"Aug\": \"Aug\",\n        \"Sep\": \"Sep\",\n        \"Oct\": \"Okt\",\n        \"Nov\": \"Nov\",\n        \"Dec\": \"Dec\",\n        \"January\": \"Januari\",\n        \"February\": \"Februari\",\n        \"March\": \"Maart\",\n        \"April\": \"April\",\n        \"May\": \"Mei\",\n        \"June\": \"Juni\",\n        \"July\": \"Juli\",\n        \"August\": \"Augustus\",\n        \"September\": \"September\",\n        \"October\": \"Oktober\",\n        \"November\": \"November\",\n        \"December\": \"December\"\n    },\n    \"dashboard\": \"Overzicht\",\n    \"manage-users\": \"Gebruikersbeheer\",\n    \"manage-categories\": \"Categorieën beheren\",\n    \"general-settings\": \"Algemene instellingen\",\n    \"advanced-settings\": \"Geavanceerde instellingen\",\n    \"thanks-for-supporting-bludit\": \"Bedankt voor de ondersteuning van Bludit\",\n    \"upgrade-to-bludit-pro\": \"Upgraden naar Bludit PRO\",\n    \"language\": \"Taal\",\n    \"plugin\": \"Plug-in\",\n    \"plugins\": \"Plug-ins\",\n    \"developers\": \"Ontwikkelaars\",\n    \"themes\": \"Thema's\",\n    \"about\": \"Over ons\",\n    \"url\": \"URL\",\n    \"welcome\": \"Welkom\",\n    \"logout\": \"Afmelden\",\n    \"website\": \"Website\",\n    \"publish\": \"Gepubliceerd\",\n    \"manage\": \"Beheer\",\n    \"content\": \"Inhoud\",\n    \"category\": \"Categorie\",\n    \"categories\": \"Categorieën\",\n    \"users\": \"Gebruikers\",\n    \"settings\": \"Instellingen\",\n    \"general\": \"Algemeen\",\n    \"advanced\": \"Geavanceerd\",\n    \"new-content\": \"Nieuwe inhoud\",\n    \"manage-content\": \"Inhoud beheren\",\n    \"add-new-content\": \"Nieuwe inhoud toevoegen\",\n    \"new-category\": \"Nieuwe categorie\",\n    \"you-do-not-have-sufficient-permissions\": \"Onvoldoende rechten voor deze opdracht\",\n    \"add-a-new-user\": \"Nieuwe gebruiker toevoegen\",\n    \"url-associated-with-the-content\": \"URL voor deze inhoud.\",\n    \"language-and-timezone\": \"Taal en tijdzone\",\n    \"change-your-language-and-region-settings\": \"Instellingen voor taal en regio aanpassen.\",\n    \"navigation\": \"Navigatie\",\n    \"notifications\": \"Notificaties\",\n    \"plugin-activated\": \"Plug-in ingeschakeld\",\n    \"plugin-deactivated\": \"Plug-in uitgeschakeld\",\n    \"new-theme-configured\": \"Nieuw thema geconfigureerd\",\n    \"settings-changes\": \"Instellingen aangepast\",\n    \"plugin-configured\": \"Plug-in geconfigureerd\",\n    \"welcome-to-bludit\": \"Welkom bij Bludit\",\n    \"statistics\": \"Statistieken\",\n    \"drafts\": \"Concepten\",\n    \"title\": \"Titel\",\n    \"save\": \"Opslaan\",\n    \"save-as-draft\": \"Als concept opslaan\",\n    \"cancel\": \"Annuleren\",\n    \"description\": \"Omschrijving\",\n    \"this-field-can-help-describe-the-content\": \"Dit veld kan gebruikt worden om de inhoud kort te omschrijven. Niet meer dan 150 karakters.\",\n    \"images\": \"Afbeeldingen\",\n    \"error\": \"Fout\",\n    \"supported-image-file-types\": \"Ondersteunde afbeeldingsformaten\",\n    \"cover-image\": \"Omslagfoto\",\n    \"drag-and-drop-or-click-here\": \"Sleep hierheen of klik hier\",\n    \"there-are-no-images\": \"Er zijn geen afbeeldingen\",\n    \"upload-and-more-images\": \"Uploaden en meer afbeeldingen\",\n    \"click-on-the-image-for-options\": \"Klik op de afbeelding voor opties.\",\n    \"click-here-to-cancel\": \"Klik hier om te annuleren.\",\n    \"insert-image\": \"Afbeelding invoegen\",\n    \"set-as-cover-image\": \"Als omslagfoto instellen\",\n    \"delete-image\": \"Afbeelding verwijderen\",\n    \"tags\": \"Tags\",\n    \"add\": \"Toevoegen\",\n    \"status\": \"Status\",\n    \"published\": \"Gepubliceerd\",\n    \"draft\": \"Concept\",\n    \"empty-title\": \"Geen titel\",\n    \"empty\": \"leeg\",\n    \"date\": \"Datum\",\n    \"external-cover-image\": \"Externe omslagfoto\",\n    \"parent\": \"Bovenliggend item\",\n    \"full-image-url\": \"Volledige afbeelding URL.\",\n    \"this-field-is-used-when-you-order-the-content-by-position\": \"Dit veld wordt gebruikt wanneer de inhoud op positie is gesorteerd.\",\n    \"position\": \"Positie\",\n    \"friendly-url\": \"Gebruiksvriendelijke URL\",\n    \"image-description\": \"Omschrijving voor afbeelding\",\n    \"add-a-new-category\": \"Nieuwe categorie toevoegen\",\n    \"name\": \"Naam\",\n    \"username\": \"Gebruikersnaam\",\n    \"quick-search-pages-and-menu\": \"Pagina's en menu doorzoeken\",\n    \"click-here-for-quick-search\": \"Click here for quick search\",\n    \"analytics\": \"Statistieken\",\n    \"visits-today\": \"Bezoeken vandaag\",\n    \"unique-visitors\": \"Unieke bezoekers\",\n    \"search-placeholder\": \"Doorzoek pagina's, inhoud en menu-items...\",\n    \"no-results-found\": \"Geen resultaten gevonden\",\n    \"first-name\": \"Voornaam\",\n    \"last-name\": \"Achternaam\",\n    \"to-schedule-the-content-select-the-date-and-time\": \"Selecteer de datum en tijd om de publicatie in te plannen. De status moet worden ingesteld op \\\"Gepubliceerd\\\".\",\n    \"email\": \"E-mail\",\n    \"role\": \"Rol\",\n    \"registered\": \"Geregistreerd\",\n    \"site-information\": \"Informatie site\",\n    \"site-title\": \"Titel van de site\",\n    \"use-this-field-to-name-your-site\": \"Titel van de site (wordt op iedere pagina getoond).\",\n    \"site-slogan\": \"Slogan voor de site\",\n    \"use-this-field-to-add-a-catchy-phrase\": \"Voer een catchy slogan in voor de site.\",\n    \"site-description\": \"Omschrijving van de site\",\n    \"you-can-add-a-site-description-to-provide\": \"Korte omschrijving van de site.\",\n    \"footer-text\": \"Voettekst\",\n    \"you-can-add-a-small-text-on-the-bottom\": \"Plaats hier een korte tekst (bijvoorbeeld de copyright, datum of merknaam)\",\n    \"social-networks-links\": \"Link sociale media\",\n    \"site-url\": \"URL van de site\",\n    \"email-account-settings\": \"Instellingen E-mailaccount\",\n    \"sender-email\": \"Afzender\",\n    \"emails-will-be-sent-from-this-address\": \"E-mails zullen vanaf dit adres verzonden worden.\",\n    \"url-filters\": \"URL-filters\",\n    \"select-your-sites-language\": \"Selecteer de taal.\",\n    \"timezone\": \"Tijdzone\",\n    \"select-a-timezone-for-a-correct\": \"Selecteer de tijdzone.\",\n    \"locale\": \"Lokaal\",\n    \"date-and-time-formats\": \"Formaat datum en tijd\",\n    \"date-format\": \"Formaat datums\",\n    \"current-format\": \"Huidig formaat\",\n    \"version\": \"Versie\",\n    \"author\": \"Auteur\",\n    \"activate\": \"Activeren\",\n    \"deactivate\": \"Deactiveren\",\n    \"edit-category\": \"Categorie aanpassen\",\n    \"delete\": \"Verwijderen\",\n    \"password\": \"Wachtwoord\",\n    \"confirm-password\": \"Bevestig wachtwoord\",\n    \"editor\": \"Editor\",\n    \"administrator\": \"Beheerder\",\n    \"edit-user\": \"Gebruiker aanpassen\",\n    \"edit-content\": \"Inhoud aanpassen\",\n    \"profile\": \"Profiel\",\n    \"change-password\": \"Wachtwoord veranderen\",\n    \"enabled\": \"Ingeschakeld\",\n    \"disable-the-user\": \"Gebruiker deactiveren\",\n    \"profile-picture\": \"Profielfoto\",\n    \"edit-or-delete-your-categories\": \"Categorieën aanpassen of verwijderen\",\n    \"create-a-new-category-to-organize-your-content\": \"Maak een nieuwe categorie aan om de inhoud te organiseren\",\n    \"confirm-delete-this-action-cannot-be-undone\": \"Bevestig het verwijderen, dit kan niet ongedaan worden gemaakt.\",\n    \"do-you-want-to-disable-the-user\": \"Gebruiker deactiveren?\",\n    \"new-password\": \"Nieuw wachtwoord\",\n    \"you-can-change-this-field-when-save-the-current-changes\": \"U kunt dit veld pas wijzigen nadat de huidige wijzigingen zijn opgeslagen.\",\n    \"items-per-page\": \"Items per pagina\",\n    \"invite-a-friend-to-collaborate-on-your-site\": \"Nodig een vriend uit om samen te werken op uw site\",\n    \"number-of-items-to-show-per-page\": \"Aantal items dat per pagina wordt weergegeven.\",\n    \"website-or-blog\": \"Website of Blog\",\n    \"order-content-by\": \"Inhoud sorteren op\",\n    \"edit-or-delete-content-from-your-site\": \"Inhoud aanpassen of verwijderen van de website\",\n    \"order-the-content-by-date-to-build-a-blog\": \"Sorteer de inhoud op datum om een Blog te maken, sorteer op positie om een Website te bouwen.\",\n    \"default-content-status\": \"Standaardstatus voor inhoud\",\n    \"default-status-for-new-content\": \"Kies of nieuwe inhoud standaard als Gepubliceerd of Concept wordt aangemaakt.\",\n    \"page-not-found-content\": \"Het lijkt erop dat deze pagina niet bestaat.\",\n    \"page-not-found\": \"Pagina niet gevonden\",\n    \"predefined-pages\": \"Voorgedefinieerde pagina's\",\n    \"returning-page-when-the-page-doesnt-exist\": \"Pagina die gebruikt wordt wanneer de gezochte pagina niet bestaat. Laat dit leeg als u een standaardbericht wilt tonen.\",\n    \"returning-page-for-the-main-page\": \"Pagina die gebruikt wordt als hoofdpagina. Laat dit leeg als u de meest recente inhoud op de hoofdpagina wilt tonen.\",\n    \"full-url-of-your-site\": \"Volledige URL van uw site, compleet met het protocol HTTP of HTTPS (alleen als u SSL op uw server hebt ingeschakeld).\",\n    \"with-the-locales-you-can-set-the-regional-user-interface\": \"Met de taalinstellingen kunt u de regionale gebruikersinterface instellen, zoals de datums in uw taal. De landinstellingen moeten op uw systeem zijn geïnstalleerd.\",\n    \"bludit-installer\": \"Bludit Installatieprogramma\",\n    \"choose-your-language\": \"Selecteer de gewenste taal\",\n    \"next\": \"Volgende\",\n    \"complete-the-form-choose-a-password-for-the-username-admin\": \"Vul het formulier in en kies een wachtwoord voor de gebruikersnaam « admin »\",\n    \"show-password\": \"Wachtwoord tonen\",\n    \"install\": \"Installeren\",\n    \"login\": \"Inloggen\",\n    \"back-to-login-form\": \"Terug naar inlogformulier\",\n    \"get-login-access-code\": \"Toegangscode opvragen\",\n    \"email-access-code\": \"Toegangscode mailen\",\n    \"whats-next\": \"Vervolgstappen\",\n    \"username-or-password-incorrect\": \"Gebruikersnaam of wachtwoord is onjuist\",\n    \"follow-bludit-on\": \"Volg Bludit via\",\n    \"this-is-a-brief-description-of-yourself-our-your-site\": \"Dit is een korte omschrijving van uzelf of uw site. Ga om de tekst te veranderen naar Administratiepaneel, Instellingen, Plug-ins en configureer de plug-in \\\"Over mij\\\".\",\n    \"new-version-available\": \"Nieuwe versie beschikbaar\",\n    \"new-category-created\": \"Nieuwe categorie aangemaakt\",\n    \"category-deleted\": \"Categorie verwijderd\",\n    \"category-edited\": \"Categorie aangepast\",\n    \"new-user-created\": \"Nieuwe gebruiker aangemaakt\",\n    \"user-edited\": \"Gebruiker aangepast\",\n    \"user-deleted\": \"Gebruiker verwijderd\",\n    \"recommended-for-recovery-password-and-notifications\": \"Aanbevolen voor wachtwoordherstel en notificaties.\",\n    \"authentication-token\": \"Authenticatietoken\",\n    \"token\": \"Token\",\n    \"current-status\": \"Huidige status\",\n    \"upload-image\": \"Afbeelding uploaden\",\n    \"the-changes-have-been-saved\": \"De veranderingen zijn opgeslagen\",\n    \"label\": \"Label\",\n    \"links\": \"Links\",\n    \"this-title-is-almost-always-used-in-the-sidebar-of-the-site\": \"Deze titel wordt bijna altijd gebruikt in de zijbalk van de site.\",\n    \"password-must-be-at-least-6-characters-long\": \"Wachtwoord moet minimaal 6 tekens bevatten\",\n    \"ip-address-has-been-blocked\": \"IP-adres is geblokkeerd.\",\n    \"try-again-in-a-few-minutes\": \"Probeer het over enkele minuten opnieuw.\",\n    \"content-published-from-scheduler\": \"Inhoud gepubliceerd volgens planning\",\n    \"blog\": \"Blog\",\n    \"complete-all-fields\": \"Vul alle velden in\",\n    \"static\": \"Statisch\",\n    \"about-your-site-or-yourself\": \"Over u of uw site\",\n    \"homepage\": \"Startpagina\",\n    \"disabled\": \"Uitgeschakeld\",\n    \"to-enable-the-user-you-must-set-a-new-password\": \"Stel een nieuw wachtwoord in om de gebruiker in te schakelen.\",\n    \"delete-the-user-and-associate-his-content-to-admin-user\": \"Verwijder de gebruiker en koppel de inhoud van de gebruiker aan de beheerdersaccount\",\n    \"delete-the-user-and-all-his-content\": \"Verwijder de gebruiker inclusief de inhoud van de gebruiker\",\n    \"user-disabled\": \"Gebruiker uitgeschakeld\",\n    \"user-password-changed\": \"Wachtwoord gebruiker veranderd\",\n    \"the-password-and-confirmation-password-do-not-match\": \"Het wachtwoord en de bevestiging komen niet overeen\",\n    \"scheduled-content\": \"Geplande inhoud\",\n    \"there-are-no-scheduled-content\": \"Er is geen ingeplande inhoud.\",\n    \"new-content-created\": \"Nieuwe inhoud aangemaakt\",\n    \"content-edited\": \"Inhoud aangepast\",\n    \"content-deleted\": \"Inhoud verwijderd\",\n    \"undefined\": \"Niet opgegeven\",\n    \"create-new-content-for-your-site\": \"Maak nieuwe inhoud voor de site\",\n    \"order-items-by\": \"Items sorteren op\",\n    \"all-content\": \"Alle inhoud\",\n    \"dynamic\": \"Dynamisch\",\n    \"type\": \"Type\",\n    \"draft-content\": \"Concepten\",\n    \"post\": \"Plaatsen\",\n    \"default\": \"Standaard\",\n    \"latest-content\": \"Recente inhoud\",\n    \"default-message\": \"Standaardbericht\",\n    \"no-parent\": \"Geen bovenliggend item\",\n    \"have-you-seen-my-ball\": \"Heb jij mijn bal gezien?\",\n    \"pagebreak\": \"Pagina-einde\",\n    \"pages\": \"Pagina\",\n    \"this-plugin-may-not-be-supported-by-this-version-of-bludit\": \"Deze plug-in wordt mogelijk niet ondersteund door deze versie van Bludit\",\n    \"previous\": \"Vorige\",\n    \"previous-page\": \"Vorige pagina\",\n    \"next-page\": \"Volgende pagina\",\n    \"scheduled\": \"Ingepland\",\n    \"this-token-is-similar-to-a-password-it-should-not-be-shared\": \"Deze token is gelijk aan een wachtwoord en dient daarom niet gedeeld te worden.\",\n    \"congratulations-you-have-successfully-installed-your-bludit\": \"Gefeliciteerd! Bludit is nu geïnstalleerd.\",\n    \"this-theme-may-not-be-supported-by-this-version-of-bludit\": \"Dit thema wordt mogelijk niet ondersteund door deze versie van Bludit\",\n    \"read-more\": \"Lees verder\",\n    \"remember-me\": \"Onthouden\",\n    \"plugins-position\": \"Volgorde plug-ins\",\n    \"plugins-sorted\": \"Plug-ins gesorteerd\",\n    \"plugins-position-changed\": \"Volgorde plug-ins gewijzgd\",\n    \"drag-and-drop-to-set-the-position-of-the-plugin\": \"Sleep de plug-ins in de gewenste volgorde\",\n    \"change-the-position-of-the-plugins\": \"Volgorde van de plug-ins wijzigen\",\n    \"reading-time\": \"Geschatte leestijd\",\n    \"minutes\": \"minuten\",\n    \"minute\": \"minuut\",\n    \"example-page-1-slug\": \"create-your-own-content\",\n    \"example-page-1-title\": \"Create your own content\",\n    \"example-page-1-content\": \"Start writing your own content or edit the current to fit your needs. To create, edit or remove content you need to login to the <a href=\\\"./admin/\\\">admin panel</a> with the username `admin` and the password you set in the installation process.\",\n    \"example-page-2-slug\": \"set-up-your-new-site\",\n    \"example-page-2-title\": \"Set up your new site\",\n    \"example-page-2-content\": \"Update the settings of your site from the <a href=\\\"./admin/\\\">admin panel</a>, you can change the title, description and the social networks from <a href=\\\"./admin/settings\\\">Settings > General</a>.\",\n    \"example-page-3-slug\": \"follow-bludit\",\n    \"example-page-3-title\": \"Follow Bludit\",\n    \"example-page-3-content\": \"Get information about news, new releases, new themes or new plugins on our social networks <a href=\\\"https://www.facebook.com/bluditcms/\\\" target=\\\"_blank\\\">Facebook</a>, <a href=\\\"https://www.twitter.com/bludit/\\\" target=\\\"_blank\\\">Twitter</a> and <a href=\\\"https://www.youtube.com/c/Bluditcms\\\" target=\\\"_blank\\\">YouTube</a> or visit our <a href=\\\"https://blog.bludit.com\\\" target=\\\"_blank\\\">Blog</a>.\",\n    \"example-page-4-slug\": \"over\",\n    \"example-page-4-title\": \"Over\",\n    \"example-page-4-content\": \"Your About page is typically one of the most visited pages on your site, need to be simple with a few key things, such as your name, who are you, how can contact you, a small story, etc.\",\n    \"the-extension-zip-is-not-installed\": \"De PHP-extensie \\\"zip\\\" is niet geïnstalleerd of ingeschakeld. Installeer deze extensie om gebruik te kunnen maken van deze plug-in.\",\n    \"there-are-no-sticky-pages-at-this-moment\": \"Er zijn geen vastgezette pagina's.\",\n    \"there-are-no-scheduled-pages-at-this-moment\": \"Er zijn geen pagina's met geplande publicatie.\",\n    \"update\": \"Updaten\",\n    \"template\": \"Sjabloon\",\n    \"nickname\": \"Roepnaam\",\n    \"disable-user\": \"Gebruiker uitschakelen\",\n    \"delete-user-and-keep-content\": \"Gebruiker verwijderen en inhoud van de gebruiker behouden\",\n    \"delete-user-and-delete-content\": \"Gebruiker inclusief inhoud verwijderen (pas op!)\",\n    \"social-networks\": \"Sociale netwerken\",\n    \"interval\": \"Interval\",\n    \"number-in-minutes-for-every-execution-of-autosave\": \"Aantal minuten tussen automatisch opslaan.\",\n    \"extreme-friendly-url\": \"Extreem gebruiksvriendelijke URL\",\n    \"title-formats\": \"Formaten voor titels\",\n    \"delete-content\": \"Inhoud verwijderen\",\n    \"are-you-sure-you-want-to-delete-this-page\": \"Deze pagina verwijderen?\",\n    \"sticky\": \"Vastgezet\",\n    \"actions\": \"Acties\",\n    \"edit\": \"Bewerken\",\n    \"options\": \"Opties\",\n    \"enter-title\": \"Voer titel in\",\n    \"media-manager\": \"Mediabeheer\",\n    \"set-a-cover-image-from-external-url,-such-as-a-cdn-or-some-server-dedicated-for-images\": \"Gebruik een externe URL voor de omslagfoto, zoals een CDN of andere speciale server voor afbeeldingen.\",\n    \"user\": \"Gebruiker\",\n    \"date-format-format\": \"Formaat datums: <code>YYYY-MM-DD Hours:Minutes:Seconds</code>\",\n    \"start-typing-a-page-title-to-see-a-list-of-suggestions\": \"Voer de beginletters van een paginatitel in om een lijst met suggesties op te roepen.\",\n    \"field-used-when-ordering-content-by-position\": \"Gebruikt wanneer de inhoud op positie is gesorteerd\",\n    \"write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page\": \"Voer de naam van een sjabloon in indien het thema toestaat dat verschillende sjablonen worden toegewezen aan individuele pagina's.\",\n    \"write-the-tags-separated-by-commas\": \"Voer tags in, gescheiden door een komma.\",\n    \"apply-code-noindex-code-to-this-page\": \"<code>noindex</code> op deze pagina toepassen.\",\n    \"this-tells-search-engines-not-to-show-this-page-in-their-search-results\": \"Dit geeft aan voor zoekmachines dat deze pagina niet mag worden opgenomen in hun zoekresultaten.\",\n    \"apply-code-nofollow-code-to-this-page\": \"<code>nofollow</code> op deze pagina toepassen.\",\n    \"this-tells-search-engines-not-to-follow-links-on-this-page\": \"Dit geeft aan voor zoekmachines dat links op deze pagina niet mogen worden gevolgd.\",\n    \"apply-code-noarchive-code-to-this-page\": \"<code>noarchive</code> op deze pagina toepassen.\",\n    \"this-tells-search-engines-not-to-save-a-cached-copy-of-this-page\": \"Dit geeft aan voor zoekmachines dat ze geen kopie van deze pagina mogen cachen.\",\n    \"uncategorized\": \"Geen categorie\",\n    \"done\": \"Voltooid\",\n    \"delete-category\": \"Categorie verwijderen\",\n    \"are-you-sure-you-want-to-delete-this-category?\": \"Deze categorie verwijderen?\",\n    \"confirm-new-password\": \"Nieuw wachtwoord bevestigen\",\n    \"the-nickname-is-almost-used-in-the-themes-to-display-the-author-of-the-content\": \"De roepnaam wordt gebruikt door thema's om de auteur van de inhoud weer te geven\",\n    \"allow-unicode\": \"Unicode toestaan\",\n    \"allow-unicode-characters-in-the-url-and-some-part-of-the-system\": \"Sta Unicode-tekens toe in de URL en enkele andere onderdelen van het systeem.\",\n    \"variables-allowed\": \"Ondersteunde variabelen\",\n    \"tag\": \"Tag\",\n    \"drag-and-drop-to-sort-the-plugins\": \"Versleep de plug-ins om de volgorde te wijzigen.\",\n    \"seo\": \"SEO\",\n    \"documentation\": \"Documentatie\",\n    \"forum-support\": \"Ondersteuning via Forum\",\n    \"chat-support\": \"Ondersteuning via Chat\",\n    \"quick-links\": \"Snelle links\",\n    \"leave-empty-for-autocomplete-by-bludit\": \"Laat leeg voor auto-aanvullen door Bludit.\",\n    \"choose-a-password-for-the-user-admin\": \"Kies wachtwoord voor de gebruiker <code>admin</code>\",\n    \"access-denied\": \"Geen toegang\",\n    \"choose-images-to-upload\": \"Kies afbeeldingen om te uploaden\",\n    \"insert\": \"Invoegen\",\n    \"upload\": \"Uploaden\",\n    \"autosave\": \"Automatisch opslaan\",\n    \"the-content-is-saved-as-a-draft-to-publish-it\": \"De inhoud is opgeslagen als concept. Klik op <b>Gepubliceerd</b> om de pagina publiek te maken of op <b>Concept</b> om er later verder aan te werken.\",\n    \"site\": \"Site\",\n    \"first\": \"Eerste\",\n    \"last\": \"Laatste\",\n    \"there-are-no-pages-at-this-moment\": \"Er zijn geen pagina's.\",\n    \"there-are-no-static-pages-at-this-moment\": \"Er zijn geen statische pagina's.\",\n    \"there-are-no-draft-pages-at-this-moment\": \"Er zijn geen concepten.\",\n    \"good-morning\": \"Goedemorgen\",\n    \"good-afternoon\": \"Goedemiddag\",\n    \"good-evening\": \"Goedenavond\",\n    \"good-night\": \"Goedenavond\",\n    \"hello\": \"Hallo\",\n    \"there-are-no-images-for-the-page\": \"Er zijn geen afbeeldingen voor de pagina.\",\n    \"select-cover-image\": \"Kies omslagfoto\",\n    \"this-plugin-depends-on-the-following-plugins\": \"De plug-in heeft de volgende afhankelijkheden:\",\n    \"no-pages-found\": \"Geen pagina's gevonden.\",\n    \"system-updated\": \"Systeem geüpdatet.\",\n    \"security\": \"Beveiliging\",\n    \"remove-cover-image\": \"Omslagfoto herstellen\",\n    \"width\": \"Breedte\",\n    \"height\": \"Hoogte\",\n    \"quality\": \"Kwaliteit\",\n    \"thumbnails\": \"Thumbnails\",\n    \"thumbnail\": \"Thumbnail\",\n    \"thumbnail-width-in-pixels\": \"Breedte thumbnails in pixels (px).\",\n    \"thumbnail-height-in-pixels\": \"Hoogte thumbnails in pixels (px).\",\n    \"thumbnail-quality-in-percentage\": \"Kwaliteit thumbnails in procenten (%).\",\n    \"maximum-load-file-size-allowed:\": \"Maximale bestandsgrootte voor uploads:\",\n    \"file-type-is-not-supported\": \"Dit bestandstype is niet toegestaan. Wel toegestaan zijn:\",\n    \"page-content\": \"Inhoud pagina\",\n    \"markdown-parser\": \"Markdown-parser\",\n    \"site-logo\": \"Logo website\",\n    \"search\": \"Zoeken\",\n    \"search-plugins\": \"Plug-ins zoeken\",\n    \"enabled-plugins\": \"Ingeschakelde plug-ins\",\n    \"disabled-plugins\": \"Uitgeschakelde plug-ins\",\n    \"remove-logo\": \"Logo verwijderen\",\n    \"preview\": \"Voorbeeld\",\n    \"author-can-write-and-edit-their-own-content\": \"Auteur: Kan eigen inhoud creëren en bewerken. Editor: Kan ook de inhoud van andere gebruikers bewerken.\",\n    \"custom-fields\": \"Eigen velden\",\n    \"define-custom-fields-for-the-content\": \"Definieer eigen inhoudsvelden. Lees meer over eigen velden in de <a href='https://docs.bludit.com/en/content/custom-fields'>documentatie</a>.\",\n    \"start-typing-to-see-a-list-of-suggestions\": \"Voer de beginletters in om een lijst met suggesties op te roepen.\",\n    \"view\": \"Bekijken\",\n    \"insert-thumbnail\": \"Thumbnail invoegen\",\n    \"insert-linked-thumbnail\": \"Thumbnail met link invoegen\",\n    \"no-categories\": \"Geen categorieën\",\n    \"no-tags\": \"Geen tags\",\n    \"thumbnail-generation\": \"Thumbnails aanmaken\",\n    \"enable-disable-automatic-thumbnail-generation-on-image-upload\": \"Bepaal of er automatisch thumbnails worden gemaakt bij het uploaden van afbeeldingen.\"\n}\n"
  },
  {
    "path": "bl-languages/pl_PL.json",
    "content": "{\n    \"language-data\": {\n        \"native\": \"Polski (Polska)\",\n        \"english-name\": \"Polish\",\n        \"locale\": \"pl, pl_PL\",\n        \"last-update\": \"2018-10-28\",\n        \"authors\": [\n            \"Dawid Stawicki\",\n            \"kontakt: dawid.stawicki@windowslive.com\",\n            \"strona: http:\\/\\/stawicki.at\",\n            \"\"\n        ]\n    },\n    \"dates\": {\n        \"Mon\": \"Pon\",\n        \"Tue\": \"Wto\",\n        \"Wed\": \"Śro\",\n        \"Thu\": \"Czw\",\n        \"Fri\": \"Pią\",\n        \"Sat\": \"Sob\",\n        \"Sun\": \"Nie\",\n        \"Monday\": \"Poniedziałek\",\n        \"Tuesday\": \"Wtorek\",\n        \"Wednesday\": \"Środa\",\n        \"Thursday\": \"Czwartek\",\n        \"Friday\": \"Piątek\",\n        \"Saturday\": \"Sobota\",\n        \"Sunday\": \"Niedziela\",\n        \"Jan\": \"Sty\",\n        \"Feb\": \"Lut\",\n        \"Mar\": \"Mar\",\n        \"Apr\": \"Kwie\",\n        \"Jun\": \"Cze\",\n        \"Jul\": \"Lip\",\n        \"Aug\": \"Sie\",\n        \"Sep\": \"Wrz\",\n        \"Oct\": \"Paź\",\n        \"Nov\": \"Lis\",\n        \"Dec\": \"Gru\",\n        \"January\": \"Styczeń\",\n        \"February\": \"Luty\",\n        \"March\": \"Marzec\",\n        \"April\": \"Kwiecień\",\n        \"May\": \"Maj\",\n        \"June\": \"Czerwiec\",\n        \"July\": \"Lipiec\",\n        \"August\": \"Sierpień\",\n        \"September\": \"Wrzesień\",\n        \"October\": \"Październik\",\n        \"November\": \"Listopad\",\n        \"December\": \"Grudzień\"\n    },\n    \"dashboard\": \"Kokpit\",\n    \"manage-users\": \"Zarządzanie użytkownikami\",\n    \"manage-categories\": \"Zarządzanie kategoriami\",\n    \"general-settings\": \"Ustawienia\",\n    \"advanced-settings\": \"Zaawansowane\",\n    \"thanks-for-supporting-bludit\": \"Dzięki za wspieranie Bludit\",\n    \"upgrade-to-bludit-pro\": \"Zaktualizuj do wersji Bludit PRO\",\n    \"language\": \"Język\",\n    \"plugin\": \"Plugin\",\n    \"plugins\": \"Wtyczki\",\n    \"developers\": \"Twórcy\",\n    \"themes\": \"Motywy\",\n    \"about\": \"O mnie\",\n    \"url\": \"URL\",\n    \"welcome\": \"Cześć, \",\n    \"logout\": \"Wyloguj\",\n    \"website\": \"Powrót do strony\",\n    \"publish\": \"Opublikuj\",\n    \"manage\": \"Zarządzanie\",\n    \"content\": \"Zawartość\",\n    \"category\": \"Kategoria\",\n    \"categories\": \"Kategorie\",\n    \"users\": \"Użytkownicy\",\n    \"settings\": \"Ustawienia\",\n    \"general\": \"Ogólne\",\n    \"advanced\": \"Zaawansowane\",\n    \"new-content\": \"Nowa zawartość\",\n    \"manage-content\": \"Zarządzanie zawartością\",\n    \"add-new-content\": \"Dodaj nową zawartość\",\n    \"new-category\": \"Nowa kategoria\",\n    \"you-do-not-have-sufficient-permissions\": \"Nie masz dostępu do tego. Prosimy o kontakt z administratorem strony.\",\n    \"add-a-new-user\": \"Nowy użytkownik\",\n    \"url-associated-with-the-content\": \"Adres URL skojarzony z treścią strony.\",\n    \"language-and-timezone\": \"Język i czas\",\n    \"change-your-language-and-region-settings\": \"Zmień język i ustawienia regionu strony.\",\n    \"notifications\": \"Powiadomienia\",\n    \"plugin-activated\": \"Wtyczka została włączona\",\n    \"plugin-deactivated\": \"Wtyczka została wyłączona\",\n    \"new-theme-configured\": \"Nowy motyw został skonfigurowany\",\n    \"settings-changes\": \"Dokonano zmian w ustawieniach\",\n    \"plugin-configured\": \"Ustawienia wtyczki zostały zapisane\",\n    \"welcome-to-bludit\": \"Witamy w Bludit\",\n    \"statistics\": \"Statystyki\",\n    \"drafts\": \"Szkice\",\n    \"title\": \"Tytuł\",\n    \"save\": \"Zapisz\",\n    \"save-as-draft\": \"Zapisz jako szkic\",\n    \"cancel\": \"Anuluj\",\n    \"description\": \"Opis\",\n    \"this-field-can-help-describe-the-content\": \"To pole pomoże krótko opisać Twój wpis w kilku słowach. Nie więcej niż 150 znaków.\",\n    \"images\": \"Obrazki\",\n    \"error\": \"Błąd\",\n    \"supported-image-file-types\": \"Wspierane formaty graficzne\",\n    \"cover-image\": \"Okładka wpisu\",\n    \"drag-and-drop-or-click-here\": \"Przenieś i upuść lub kliknij tutaj\",\n    \"there-are-no-images\": \"Brak obrazków\",\n    \"upload-and-more-images\": \"Prześlij więcej obrazków\",\n    \"click-on-the-image-for-options\": \"Kliknij na obrazek, aby wyświetlić więcej opcji.\",\n    \"click-here-to-cancel\": \"Anuluj.\",\n    \"insert-image\": \"Wprowadź obrazek\",\n    \"set-as-cover-image\": \"Ustaw jako okładkę wpisu\",\n    \"delete-image\": \"Usuń\",\n    \"tags\": \"Tagi\",\n    \"add\": \"Dodaj\",\n    \"status\": \"Status\",\n    \"published\": \"Opublikowany\",\n    \"draft\": \"Szkic\",\n    \"empty-title\": \"Brak tytułu\",\n    \"empty\": \"empty\",\n    \"date\": \"Data wpisu\",\n    \"external-cover-image\": \"Zewnętrzny adres URL okładki\",\n    \"parent\": \"Rodzic\",\n    \"full-image-url\": \"Dokładny adres URL obrazka.\",\n    \"this-field-is-used-when-you-order-the-content-by-position\": \"Pole to pozwoli organizować treści, gdy wpisy sortowane są według pozycji (więcej w ustawieniach zaawansowanych).\",\n    \"position\": \"Pozycja wpisu\",\n    \"friendly-url\": \"Przyjazny odnośnik URL\",\n    \"image-description\": \"Opis obrazka\",\n    \"add-a-new-category\": \"Dodaj nową kategorię\",\n    \"name\": \"Nazwa\",\n    \"username\": \"Użytkownik\",\n    \"quick-search-pages-and-menu\": \"Szybkie wyszukiwanie stron i menu\",\n    \"click-here-for-quick-search\": \"Click here for quick search\",\n    \"analytics\": \"Analityka\",\n    \"visits-today\": \"Wizyty dzisiaj\",\n    \"unique-visitors\": \"Unikalni odwiedzający\",\n    \"search-placeholder\": \"Szukaj stron, treści i elementów menu...\",\n    \"no-results-found\": \"Nie znaleziono wyników\",\n    \"first-name\": \"Imię\",\n    \"last-name\": \"Nazwisko\",\n    \"to-schedule-the-content-select-the-date-and-time\": \"Aby opóźnić publikację, ustaw datę i czas a następnie przestaw status wpisu na \\\"Opublikowany\\\".\",\n    \"email\": \"Email\",\n    \"role\": \"Rola\",\n    \"registered\": \"Data rejestracji\",\n    \"site-information\": \"Informacje o stronie\",\n    \"site-title\": \"Nazwa strony\",\n    \"use-this-field-to-name-your-site\": \"Nazwa strony zostanie wyświetlona na każdej podstronie Twojej witryny.\",\n    \"site-slogan\": \"Slogan strony\",\n    \"use-this-field-to-add-a-catchy-phrase\": \"Krótki i chwytliwy slogan Twojej strony.\",\n    \"site-description\": \"Opis strony\",\n    \"you-can-add-a-site-description-to-provide\": \"Wprowadź opis strony, aby wyjaśnić jej przeznaczenie.\",\n    \"footer-text\": \"Tekst w stopce\",\n    \"you-can-add-a-small-text-on-the-bottom\": \"Krótka informacja wyświetlająca się na każdej podstronie. Dla przykładu: prawa autorskie, właściciel, data, etc.\",\n    \"social-networks-links\": \"Odnośniki do serwisów społecznościowych\",\n    \"site-url\": \"Adres URL strony\",\n    \"email-account-settings\": \"Ustawienia konta email\",\n    \"sender-email\": \"Adres nadawcy\",\n    \"emails-will-be-sent-from-this-address\": \"Wszystkie wiadomości email będą wysyłane z tego adresu.\",\n    \"url-filters\": \"Filtry URL\",\n    \"select-your-sites-language\": \"Wybierz język strony\",\n    \"timezone\": \"Strefa czasowa\",\n    \"select-a-timezone-for-a-correct\": \"Wybierz strefę czasową by prawidłowo wyświetlać datę\\/czas na Twojej stronie.\",\n    \"locale\": \"Lokalizacja\",\n    \"date-and-time-formats\": \"Format daty i czasu\",\n    \"date-format\": \"Format daty\",\n    \"current-format\": \"Format\",\n    \"version\": \"Wersja\",\n    \"author\": \"Autor\",\n    \"activate\": \"Aktywuj\",\n    \"deactivate\": \"Dezaktywuj\",\n    \"edit-category\": \"Edytuj kategorię\",\n    \"delete\": \"Usuń\",\n    \"password\": \"Hasło\",\n    \"confirm-password\": \"Potwierdzenie hasła\",\n    \"editor\": \"Redaktor\",\n    \"administrator\": \"Administrator\",\n    \"edit-user\": \"Edycja użytkownika\",\n    \"edit-content\": \"Edytuj zawartość\",\n    \"profile\": \"Profil\",\n    \"change-password\": \"Zmień hasło\",\n    \"enabled\": \"Włączony\",\n    \"disable-the-user\": \"Wyłącz użytkownika\",\n    \"profile-picture\": \"Zdjęcie profilowe\",\n    \"edit-or-delete-your-categories\": \"Edytuj lub usuń wybrane kategorie\",\n    \"create-a-new-category-to-organize-your-content\": \"Utwórz nową kategorię, aby zorganizować swoją zawartość\",\n    \"confirm-delete-this-action-cannot-be-undone\": \"Potwierdzenie usunięcia. Ta operacja jest nieodwracalna.\",\n    \"do-you-want-to-disable-the-user\": \"Czy na pewno chcesz wyłączyć tego użytkownika?\",\n    \"new-password\": \"Nowe hasło\",\n    \"you-can-change-this-field-when-save-the-current-changes\": \"You can change this field when save the current changes.\",\n    \"items-per-page\": \"Pozycji na stronę\",\n    \"invite-a-friend-to-collaborate-on-your-site\": \"Zaproś znajomego do współpracy w witrynie\",\n    \"number-of-items-to-show-per-page\": \"Liczba pozycji do wyświetlenia na stronę.\",\n    \"website-or-blog\": \"Strona lub wpis na bloga\",\n    \"order-content-by\": \"Sortuj zawartość wg.\",\n    \"edit-or-delete-content-from-your-site\": \"Edytuj lub usuń zawartość swojej strony\",\n    \"order-the-content-by-date-to-build-a-blog\": \"Sortuj zawartość według daty, aby utrzymać formę witryny jako bloga. Sortowanie według pozycji sugeruje się witrynom typu serwis internetowy.\",\n    \"default-content-status\": \"Domyślny status treści\",\n    \"default-status-for-new-content\": \"Wybierz, czy nowa treść ma być domyślnie tworzona jako Opublikowana czy Szkic.\",\n    \"page-not-found-content\": \"Hejże! Wygląda na to, że ta strona nie istnieje.\",\n    \"page-not-found\": \"Strona nie istnieje\",\n    \"predefined-pages\": \"Predefiniowane strony\",\n    \"returning-page-when-the-page-doesnt-exist\": \"Wybierz pozycję, która zawierać będzie stronę błędu. Pozostaw to pole puste, aby utrzymać domyślny komunikat błędu.\",\n    \"returning-page-for-the-main-page\": \"Wybierz pozycję, która będzie wyświetlana jako strona główna Twojej witryny. Pozostaw to pole puste, aby utrzymać domyślne ustawienia.\",\n    \"full-url-of-your-site\": \"Wprowadź pełny adres URL Twojej strony, łącznie z protokołem HTTP lub HTTPS (tylko wtedy, kiedy masz włączoną funkcję SSL na serwerze).\",\n    \"with-the-locales-you-can-set-the-regional-user-interface\": \"Lokalizacje wspomagają określić informacje tj. język interfejsu czy format daty.\",\n    \"bludit-installer\": \"Instalator Bludit\",\n    \"choose-your-language\": \"Wybierz swój język\",\n    \"next\": \"Dalej\",\n    \"complete-the-form-choose-a-password-for-the-username-admin\": \"Uzupełnij formularz, wybierz hasło dla użytkownika « admin »\",\n    \"show-password\": \"Pokaż hasło\",\n    \"install\": \"Zainstaluj\",\n    \"login\": \"Zaloguj\",\n    \"back-to-login-form\": \"Powrót do logowania\",\n    \"get-login-access-code\": \"Otrzymaj kod dostępu logowania\",\n    \"email-access-code\": \"Otrzymaj kod dostępu poprzez e-mail\",\n    \"whats-next\": \"Co teraz?\",\n    \"username-or-password-incorrect\": \"Nazwa użytkownika lub hasło jest nieprawidłowe\",\n    \"follow-bludit-on\": \"obserwuj Bludit w serwisach\",\n    \"this-is-a-brief-description-of-yourself-our-your-site\": \"To jest krótki opis strony lub Ciebie. Aby zmienić treść tej strony udaj się do kokpitu, a następnie przejdź w ustawienia, wtyczki i wybierz konfigurację na liście O mnie.\",\n    \"new-version-available\": \"Nowa wersja jest już dostępna\",\n    \"new-category-created\": \"Utworzono nową kategorię\",\n    \"category-deleted\": \"Kategoria została usunięta\",\n    \"category-edited\": \"Zmodyfikowano kategorię\",\n    \"new-user-created\": \"Utworzono nowego użytkownika\",\n    \"user-edited\": \"Zmodyfikowano użytkownika\",\n    \"user-deleted\": \"Użytkownik został usunięty\",\n    \"recommended-for-recovery-password-and-notifications\": \"Używany w celu odzyskania hasła i odbierania powiadomień.\",\n    \"authentication-token\": \"Token autoryzacji\",\n    \"token\": \"Token\",\n    \"current-status\": \"Aktualny status\",\n    \"upload-image\": \"Wyślij obrazek\",\n    \"the-changes-have-been-saved\": \"Zmiany zostały zapisane\",\n    \"label\": \"Label\",\n    \"links\": \"Links\",\n    \"this-title-is-almost-always-used-in-the-sidebar-of-the-site\": \"This title is almost always used in the sidebar of the site.\",\n    \"password-must-be-at-least-6-characters-long\": \"Hasło musi zawierać przynajmniej 6 znaków\",\n    \"ip-address-has-been-blocked\": \"Adres IP został zablokowany.\",\n    \"try-again-in-a-few-minutes\": \"Spróbuj ponownie za kilka minut.\",\n    \"content-published-from-scheduler\": \"Zawartość opublikowana automatycznie\",\n    \"blog\": \"Blog\",\n    \"complete-all-fields\": \"Uzupełnij wszystkie pola\",\n    \"static\": \"Strony\",\n    \"about-your-site-or-yourself\": \"O stronie lub o Tobie\",\n    \"homepage\": \"Strona domowa\",\n    \"disabled\": \"Wyłączony\",\n    \"to-enable-the-user-you-must-set-a-new-password\": \"Aby aktywować tego użytkownika, musisz wprowadzić nowe hasło.\",\n    \"delete-the-user-and-associate-his-content-to-admin-user\": \"Usuń użytkownika i przenieś całą jego zawartość do konta administratora\",\n    \"delete-the-user-and-all-his-content\": \"Usuń tego użytkownika łącznie z jego zawartością\",\n    \"user-disabled\": \"Użytkownik został wyłączone\",\n    \"user-password-changed\": \"Zmodyfikowano hasło użytkownika\",\n    \"the-password-and-confirmation-password-do-not-match\": \"Wprowadzone hasła nie pasują do siebie\",\n    \"scheduled-content\": \"Zaplanowane wpisy\",\n    \"there-are-no-scheduled-content\": \"Brak zaplanowanej zawartości.\",\n    \"new-content-created\": \"Utworzono nową zawartość\",\n    \"content-edited\": \"Edytowano zawartość\",\n    \"content-deleted\": \"Usuniętyo zawartość\",\n    \"undefined\": \"Niezdefiniowany\",\n    \"create-new-content-for-your-site\": \"Utwórz nową zawartość swojej strony\",\n    \"order-items-by\": \"Sortuj wg.\",\n    \"all-content\": \"Cała zawartość\",\n    \"dynamic\": \"Dynamiczny\",\n    \"type\": \"Typ\",\n    \"draft-content\": \"Szkice\",\n    \"post\": \"Post\",\n    \"default\": \"Domyślny\",\n    \"latest-content\": \"Ostatnia zawartość\",\n    \"default-message\": \"Domyślny komunikat\",\n    \"no-parent\": \"Brak rodzica\",\n    \"have-you-seen-my-ball\": \"Widziałeś moją piłkę?\",\n    \"pagebreak\": \"Podział strony\",\n    \"pages\": \"Wpisy\",\n    \"this-plugin-may-not-be-supported-by-this-version-of-bludit\": \"Wtyczka ta być może nie jest kompatybilna z tą wersją Bludit\",\n    \"previous\": \"Wstecz\",\n    \"previous-page\": \"Poprzednia strona\",\n    \"next-page\": \"Kolejna strona\",\n    \"scheduled\": \"Zaplanowane\",\n    \"this-token-is-similar-to-a-password-it-should-not-be-shared\": \"Token generowany jest na podstawie hasła, nie udostępniaj go nikomu.\",\n    \"congratulations-you-have-successfully-installed-your-bludit\": \"Gratulacje, **Bludit** został zainstalowany pomyślnie.\",\n    \"this-theme-may-not-be-supported-by-this-version-of-bludit\": \"Ten motyw może być niekompatybilny z Twoją wersją Bludit\",\n    \"read-more\": \"Czytaj dalej\",\n    \"remember-me\": \"Zapamiętaj mnie\",\n    \"plugins-position\": \"Pozycja wtyczki\",\n    \"plugins-sorted\": \"Posortowane wtyczki\",\n    \"plugins-position-changed\": \"Pozycje wtyczek zostały zmienione\",\n    \"drag-and-drop-to-set-the-position-of-the-plugin\": \"Chwyć, a następnie upuść, aby zmienić pozycję wtyczki.\",\n    \"change-the-position-of-the-plugins\": \"Dostosuj pozycje wtyczek\",\n    \"reading-time\": \"Czas czytania\",\n    \"minutes\": \"minut\",\n    \"minute\": \"minuta\",\n    \"example-page-1-slug\": \"utworz-wlasna-tresc\",\n    \"example-page-1-title\": \"Utwórz własną treść\",\n    \"example-page-1-content\": \"Zacznij tworzyć własną treść lub edytuj tą, którą dostarczono z instalatorem jako przykład do Twoich potrzeb. Aby utworzyć, edytować lub usuwać treści, zaloguj się do [kokpitu](.\\/admin) podając jako nazwę użytkownika login `admin` oraz hasło, które wprowadziłeś podczas instalacji.\",\n    \"example-page-2-slug\": \"skonfiguruj-nowa-witryne\",\n    \"example-page-2-title\": \"Skonfiguruj nową witrynę\",\n    \"example-page-2-content\": \"Zarządzaj ustawieniami witryny bezpośrednio z [kokpitu](.\\/admin). To właśnie tam możesz edytować nazwę strony, opis oraz zarządzać odnośnikami do społeczności z lokalizacji [Ustawienia > Ogólne](.\\/admin\\/settings).\",\n    \"example-page-3-slug\": \"obserwuj-bludit\",\n    \"example-page-3-title\": \"Obserwuj Bludit\",\n    \"example-page-3-content\": \"Otrzymuj bieżące informacje o nowościach, aktualizacjach, nowych motywach i funkcjach za pośrednictwem naszych sieci społecznościowych <a href=\\\"https:\\/\\/www.facebook.com\\/bluditcms\\/\\\" target=\\\"_blank\\\">Facebook<\\/a>, <a href=\\\"https:\\/\\/www.twitter.com\\/bludit\\/\\\" target=\\\"_blank\\\">Twitter<\\/a> oraz <a href=\\\"https:\\/\\/www.youtube.com\\/c\\/Bluditcms\\\" target=\\\"_blank\\\">YouTube<\\/a> lub odwiedź nasz <a href=\\\"https:\\/\\/blog.bludit.com\\\" target=\\\"_blank\\\">Blog<\\/a>.\",\n    \"example-page-4-slug\": \"o-mnie\",\n    \"example-page-4-title\": \"O mnie\",\n    \"example-page-4-content\": \"Podstrona *o mnie* to typowa i zwykle najpopularniejsza część każdej witryny. To właśnie tutaj w kilku prostych słowach możesz opisać to, kim jesteś, co robisz i jak się z Tobą skontaktować.\",\n    \"the-extension-zip-is-not-installed\": \"Rozszerzenie zip nie jest zainstalowane, aby używać tej wtyczki, musisz zainstalować rozszerzenie.\",\n    \"there-are-no-sticky-pages-at-this-moment\": \"Na tę chwilę nie ma żadnych przyklejonych treści.\",\n    \"there-are-no-scheduled-pages-at-this-moment\": \"Na tę chwilę nie ma żadnych zaplanowanych treści.\",\n    \"update\": \"Aktualizuj\",\n    \"template\": \"Szablon\",\n    \"nickname\": \"Użytkownik\",\n    \"disable-user\": \"Wyłącz użytkownika\",\n    \"delete-user-and-keep-content\": \"Usuń użytkownika\",\n    \"delete-user-and-delete-content\": \"Usuń użytkownika łącznie z jego zawartością (uważaj!)\",\n    \"social-networks\": \"Sieci społecznościowe\",\n    \"interval\": \"Interwał\",\n    \"number-in-minutes-for-every-execution-of-autosave\": \"Określa liczbę minut potrzebną do wykonania automatycznego zapisu.\",\n    \"extreme-friendly-url\": \"Ekstremalnie przyjazne URL\",\n    \"title-formats\": \"Format tytułu\",\n    \"delete-content\": \"Usuń zawartość\",\n    \"are-you-sure-you-want-to-delete-this-page\": \"Czy na pewno chcesz usunąć tę stronę?\",\n    \"sticky\": \"Przyklejone\",\n    \"actions\": \"Akcje\",\n    \"edit\": \"Edytuj\",\n    \"options\": \"Opcje\",\n    \"enter-title\": \"Wprowadź tytuł\",\n    \"media-manager\": \"Biblioteka mediów\",\n    \"set-a-cover-image-from-external-url,-such-as-a-cdn-or-some-server-dedicated-for-images\": \"Ikona wpisu może znajdować się także na zewnętrznym serwerze.\",\n    \"user\": \"Użytkownik\",\n    \"date-format-format\": \"Format daty: <code>YYYY-MM-DD Hours:Minutes:Seconds<\\/code> (rok-miesiąc-dzień godziny:minuty:sekundy)\",\n    \"start-typing-a-page-title-to-see-a-list-of-suggestions\": \"Wprowadź początkowe znaki, aby otrzymać listę sugerowanych stron.\",\n    \"field-used-when-ordering-content-by-position\": \"Field used when ordering content by position\",\n    \"write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page\": \"Wprowadź nazwę szablonu, aby przefiltrować motyw i nadać stronie inny wygląd. \",\n    \"write-the-tags-separated-by-commas\": \"Wprowadź słowa kluczowe oddzielone przecinkiem.\",\n    \"apply-code-noindex-code-to-this-page\": \"Zastosuj <code>noindex<\\/code> dla tej strony.\",\n    \"this-tells-search-engines-not-to-show-this-page-in-their-search-results\": \"To ustawienie zabrania wyszukiwarkom wyświetlać tej strony w wynikach wyszukiwania.\",\n    \"apply-code-nofollow-code-to-this-page\": \"Zastosuj <code>nofollow<\\/code> dla tej strony.\",\n    \"this-tells-search-engines-not-to-follow-links-on-this-page\": \"To ustawienie zabrania wyszukiwarkom śledzić odnośniki na tej stronie.\",\n    \"apply-code-noarchive-code-to-this-page\": \"Zastosuj <code>noarchive<\\/code> dla tej strony.\",\n    \"this-tells-search-engines-not-to-save-a-cached-copy-of-this-page\": \"To ustawienie zabrania wyszukiwarkom tworzyć kopii zapasowej w pamięci podręcznej dla tej strony.\",\n    \"uncategorized\": \"Bez kategorii\",\n    \"done\": \"Gotowe\",\n    \"delete-category\": \"Usuń kategorię\",\n    \"are-you-sure-you-want-to-delete-this-category?\": \"Czy na pewno chcesz usunąć tę kategorię?\",\n    \"confirm-new-password\": \"Potwierdź nowe hasło\",\n    \"the-nickname-is-almost-used-in-the-themes-to-display-the-author-of-the-content\": \"Nazwa użytkownika używana jest przeważnie w motywach strony głównej, które pozwalają wyświetlić autora konkretnych treści.\",\n    \"allow-unicode\": \"Zezwól na Unicode\",\n    \"allow-unicode-characters-in-the-url-and-some-part-of-the-system\": \"Włącza obsługę znaków Unicode w adresach URL i w niektórych częściach systemu.\",\n    \"variables-allowed\": \"Dozwolone zmienne\",\n    \"tag\": \"Tag\",\n    \"drag-and-drop-to-sort-the-plugins\": \"Uchwyć, a następnie upuść, aby zmienć kolejność wtyczek.\",\n    \"seo\": \"SEO\",\n    \"documentation\": \"Dokumentacja\",\n    \"forum-support\": \"Forum wsparcia\",\n    \"chat-support\": \"Czat z twórcami\",\n    \"quick-links\": \"Na skróty\",\n    \"leave-empty-for-autocomplete-by-bludit\": \"Autogenerowane, jeśli zostawisz puste\",\n    \"choose-a-password-for-the-user-admin\": \"Wybierz hasło dla użytkownika <code>admin<\\/code>\",\n    \"access-denied\": \"Dostęp zabroniony\",\n    \"choose-images-to-upload\": \"Wybierz obrazki, aby przesłać\",\n    \"insert\": \"Wprowadź\",\n    \"upload\": \"Prześlij\",\n    \"autosave\": \"Autozapis\",\n    \"the-content-is-saved-as-a-draft-to-publish-it\": \"Poniższa treść zachowana została jako szkic. Aby opublikować ten wpis, wciśnij przycisk <b>Opublikuj<\\/b> lub, jeśli nadal chcesz nad nim pracować, <b>Zapisz jako szkic<\\/b>.\",\n    \"site\": \"Strona\",\n    \"first\": \"Pierwsza\",\n    \"last\": \"Ostatnia\",\n    \"there-are-no-pages-at-this-moment\": \"Na tę chwilę nie posiadasz żadnych stron.\",\n    \"there-are-no-static-pages-at-this-moment\": \"Na tę chwilę nie posiadasz żadnych stron statycznych.\",\n    \"there-are-no-draft-pages-at-this-moment\": \"Na tę chwilę nie posiadasz żadnych szkiców.\",\n    \"good-morning\": \"Dzień dobry\",\n    \"good-afternoon\": \"Dzień dobry\",\n    \"good-evening\": \"Dobry wieczór\",\n    \"good-night\": \"Dobry wieczór\",\n    \"hello\": \"Cześć\",\n    \"there-are-no-images-for-the-page\": \"Dla tej strony nie ma żadnych obrazków.\",\n    \"select-cover-image\": \"Wybierz okładkę wpisu\",\n    \"this-plugin-depends-on-the-following-plugins\": \"Ta wtyczka zależna jest od innych rozszerzeń\",\n    \"no-pages-found\": \"Nie odnaleziono żadnej strony\",\n    \"system-updated\": \"System jest aktualny\",\n    \"security\": \"Bezpieczeństwo\",\n    \"remove-cover-image\": \"Usuń okładkę wpisu\",\n    \"width\": \"Szerokość\",\n    \"height\": \"Wysokość\",\n    \"quality\": \"Jakość\",\n    \"thumbnails\": \"Miniatury\",\n    \"thumbnail\": \"Miniatura\",\n    \"thumbnail-width-in-pixels\": \"Ustaw szerokość miniatur wyrażaną w pikselach (px).\",\n    \"thumbnail-height-in-pixels\": \"Ustaw wysokość miniatur wyrażaną w pikselach (px).\",\n    \"thumbnail-quality-in-percentage\": \"Ustaw jakość miniatur wyrażaną w procentach (%).\",\n    \"maximum-load-file-size-allowed:\": \"Maximum load file size allowed:\",\n    \"file-type-is-not-supported\": \"File type is not supported. Allowed types:\",\n    \"page-content\": \"Page content\",\n    \"markdown-parser\": \"Markdown parser\",\n    \"site-logo\": \"Site logo\",\n    \"search\": \"Search\",\n    \"search-plugins\": \"Search plugins\",\n    \"enabled-plugins\": \"Enabled plugins\",\n    \"disabled-plugins\": \"Disabled plugins\",\n    \"remove-logo\": \"Remove logo\",\n    \"preview\": \"Preview\",\n    \"author-can-write-and-edit-their-own-content\": \"Autor: Może pisać i edytować własne treści. Redaktor: Może pisać i edytować treści innych.\",\n    \"custom-fields\": \"Custom fields\",\n    \"define-custom-fields-for-the-content\": \"Zdefiniuj pola niestandardowe dla treści.\",\n    \"start-typing-to-see-a-list-of-suggestions\": \"Zacznij pisać, aby zobaczyć listę sugestii.\",\n    \"view\": \"View\",\n    \"insert-thumbnail\": \"Wstaw miniaturę\",\n    \"no-tags\": \"Brak tagów\",\n    \"no-categories\": \"Brak kategorii\",\n    \"insert-linked-thumbnail\": \"Wstaw podlinkowaną miniaturę\",\n    \"navigation\": \"Nawigacja\",\n    \"thumbnail-generation\": \"Generowanie miniaturek\",\n    \"enable-disable-automatic-thumbnail-generation-on-image-upload\": \"Włącz lub wyłącz automatyczne generowanie miniaturek podczas przesyłania obrazów.\"\n}\n"
  },
  {
    "path": "bl-languages/pt_BR.json",
    "content": "{\n    \"language-data\": {\n        \"native\": \"Português (Brasil)\",\n        \"english-name\": \"Portuguese (Brazil)\",\n        \"locale\": \"pt_BR\",\n        \"last-update\": \"2020-02-15\",\n        \"authors\": [\n            \"Jacques Schlender (@jcqSCH)\",\n            \"Marcelo\",\n            \"Fabiano Santos (@fabianosantosnet)\",\n            \"\"\n        ]\n    },\n    \"dates\": {\n        \"Mon\": \"Seg\",\n        \"Tue\": \"Ter\",\n        \"Wed\": \"Qua\",\n        \"Thu\": \"Qui\",\n        \"Fri\": \"Sex\",\n        \"Sat\": \"Sáb\",\n        \"Sun\": \"Dom\",\n        \"Monday\": \"Segunda-feira\",\n        \"Tuesday\": \"Terça-feira\",\n        \"Wednesday\": \"Quarta-feira\",\n        \"Thursday\": \"Quinta-feira\",\n        \"Friday\": \"Sexta-feira\",\n        \"Saturday\": \"Sábado\",\n        \"Sunday\": \"Domingo\",\n        \"Jan\": \"Jan\",\n        \"Feb\": \"Fev\",\n        \"Mar\": \"Mar\",\n        \"Apr\": \"Abr\",\n        \"Jun\": \"Jun\",\n        \"Jul\": \"Jul\",\n        \"Aug\": \"Ago\",\n        \"Sep\": \"Set\",\n        \"Oct\": \"Out\",\n        \"Nov\": \"Nov\",\n        \"Dec\": \"Dez\",\n        \"January\": \"Janeiro\",\n        \"February\": \"Fevereiro\",\n        \"March\": \"Março\",\n        \"April\": \"Abril\",\n        \"May\": \"Maio\",\n        \"June\": \"Junho\",\n        \"July\": \"Julho\",\n        \"August\": \"Agosto\",\n        \"September\": \"Setembro\",\n        \"October\": \"Outubro\",\n        \"November\": \"Novembro\",\n        \"December\": \"Dezembro\"\n    },\n    \"dashboard\": \"Painel de Controle\",\n    \"manage-users\": \"Administrar usuários\",\n    \"manage-categories\": \"Administrar categorias\",\n    \"general-settings\": \"Ajustes gerais\",\n    \"advanced-settings\": \"Ajustes avançados\",\n    \"thanks-for-supporting-bludit\": \"Agradecemos por apoiar o Bludit\",\n    \"upgrade-to-bludit-pro\": \"Fazer upgrade para o Bludit PRO\",\n    \"language\": \"Idioma\",\n    \"plugin\": \"Plugin\",\n    \"plugins\": \"Plugins\",\n    \"developers\": \"Desenvolvedores\",\n    \"themes\": \"Temas\",\n    \"about\": \"Sobre\",\n    \"url\": \"URL\",\n    \"welcome\": \"Bem-vindo\",\n    \"logout\": \"Sair\",\n    \"website\": \"Site\",\n    \"publish\": \"Publicar\",\n    \"manage\": \"Administrar\",\n    \"content\": \"Conteúdo\",\n    \"category\": \"Categoria\",\n    \"categories\": \"Categorias\",\n    \"users\": \"Usuários\",\n    \"settings\": \"Ajustes\",\n    \"general\": \"Geral\",\n    \"advanced\": \"Avançado\",\n    \"new-content\": \"Novo conteúdo\",\n    \"manage-content\": \"Administrar conteúdo\",\n    \"add-new-content\": \"Adicionar novo conteúdo\",\n    \"new-category\": \"Nova categoria\",\n    \"you-do-not-have-sufficient-permissions\": \"Você não tem permissão o suficiente para executar esta ação.\",\n    \"add-a-new-user\": \"Adicionar novo usuário\",\n    \"url-associated-with-the-content\": \"URL associada ao conteúdo.\",\n    \"language-and-timezone\": \"Idioma e fuso horário\",\n    \"change-your-language-and-region-settings\": \"Ajustar o idioma e a região.\",\n    \"notifications\": \"Notificações\",\n    \"plugin-activated\": \"Plugin ativado\",\n    \"plugin-deactivated\": \"Plugin desativado\",\n    \"new-theme-configured\": \"Novo tema configurado\",\n    \"settings-changes\": \"Alterações nos ajustes\",\n    \"plugin-configured\": \"Plugin configurado\",\n    \"welcome-to-bludit\": \"Bem-vindo ao Bludit\",\n    \"statistics\": \"Estatísticas\",\n    \"drafts\": \"Rascunhos\",\n    \"title\": \"Título\",\n    \"save\": \"Salvar\",\n    \"save-as-draft\": \"Salvar como rascunho\",\n    \"cancel\": \"Cancelar\",\n    \"description\": \"Descrição\",\n    \"this-field-can-help-describe-the-content\": \"Use este campo para descrever o seu conteúdo em poucas palavras. No máximo 150 caracteres.\",\n    \"images\": \"Imagens\",\n    \"error\": \"Erro\",\n    \"supported-image-file-types\": \"Tipos de imagem suportados\",\n    \"cover-image\": \"Imagem de capa\",\n    \"drag-and-drop-or-click-here\": \"Arraste e solte ou clique aqui\",\n    \"there-are-no-images\": \"Não há imagens\",\n    \"upload-and-more-images\": \"Upload e mais imagens\",\n    \"click-on-the-image-for-options\": \"Clique na imagem para visualizar as opções.\",\n    \"click-here-to-cancel\": \"Clique aqui para cancelar.\",\n    \"insert-image\": \"Inserir imagem\",\n    \"set-as-cover-image\": \"Definir como imagem de capa\",\n    \"delete-image\": \"Deletar imagem\",\n    \"tags\": \"Tags\",\n    \"add\": \"Adicionar\",\n    \"status\": \"Status\",\n    \"published\": \"Publicado\",\n    \"draft\": \"Rascunho\",\n    \"empty-title\": \"Título vazio\",\n    \"empty\": \"vazio\",\n    \"date\": \"Data\",\n    \"external-cover-image\": \"Imagem de capa externa\",\n    \"parent\": \"Item superior\",\n    \"full-image-url\": \"URL completa da imagem.\",\n    \"this-field-is-used-when-you-order-the-content-by-position\": \"Este campo é usado quando você ordena o conteúdo por posição.\",\n    \"position\": \"Posição\",\n    \"friendly-url\": \"URL amigável\",\n    \"image-description\": \"Descrição da imagem\",\n    \"add-a-new-category\": \"Adicionar nova categoria\",\n    \"name\": \"Nome\",\n    \"username\": \"Usuário\",\n    \"quick-search-pages-and-menu\": \"Pesquisa rápida de páginas e menu\",\n    \"click-here-for-quick-search\": \"Click here for quick search\",\n    \"analytics\": \"Análises\",\n    \"visits-today\": \"Visitas hoje\",\n    \"unique-visitors\": \"Visitantes únicos\",\n    \"search-placeholder\": \"Pesquisar páginas, conteúdo e itens de menu...\",\n    \"no-results-found\": \"Nenhum resultado encontrado\",\n    \"first-name\": \"Primeiro nome\",\n    \"last-name\": \"Sobrenome\",\n    \"to-schedule-the-content-select-the-date-and-time\": \"Para agendar a publicação de conteúdo, selecione a data e hora. O status precisa estar marcado como \\\"Publicado\\\".\",\n    \"email\": \"E-mail\",\n    \"role\": \"Função\",\n    \"registered\": \"Registrado\",\n    \"site-information\": \"Informação do site\",\n    \"site-title\": \"Título do site\",\n    \"use-this-field-to-name-your-site\": \"Use este campo para nomear o seu site. Este nome aparecerá no topo das suas páginas.\",\n    \"site-slogan\": \"Slogan do site\",\n    \"use-this-field-to-add-a-catchy-phrase\": \"Use este campo para adicionar uma frase que dê personalidade ao seu site.\",\n    \"site-description\": \"Descrição do site\",\n    \"you-can-add-a-site-description-to-provide\": \"Uma sugestão é adicionar um pequeno texto que descreva o que o site fala a respeito.\",\n    \"footer-text\": \"Texto do rodapé\",\n    \"you-can-add-a-small-text-on-the-bottom\": \"Uma sugestão é adicionar um pequeno texto para ser exibido na parte debaixo do site, como por exemplo: informações de copyright, ano de fundação, local, etc.\",\n    \"social-networks-links\": \"Links das redes sociais\",\n    \"site-url\": \"URL do site\",\n    \"email-account-settings\": \"Ajustar conta de e-mail\",\n    \"sender-email\": \"E-mail de remetência\",\n    \"emails-will-be-sent-from-this-address\": \"E-mails serão enviados deste endereço como sendo o remetente.\",\n    \"url-filters\": \"Filtros de URL\",\n    \"select-your-sites-language\": \"Selecione o idioma do seu site.\",\n    \"timezone\": \"Fuso horário\",\n    \"select-a-timezone-for-a-correct\": \"Selecione o fuso horário da sua região para que datas e horas sejam exibidas corretamente no seu site.\",\n    \"locale\": \"Local\",\n    \"date-and-time-formats\": \"Formatos de data e hora\",\n    \"date-format\": \"Formato da data\",\n    \"current-format\": \"Formato atual\",\n    \"version\": \"Versão\",\n    \"author\": \"Autor\",\n    \"activate\": \"Ativar\",\n    \"deactivate\": \"Desativar\",\n    \"edit-category\": \"Editar categoria\",\n    \"delete\": \"Deletar\",\n    \"password\": \"Senha\",\n    \"confirm-password\": \"Confirmar senha\",\n    \"editor\": \"Editor\",\n    \"administrator\": \"Administrador\",\n    \"edit-user\": \"Editar usuário\",\n    \"edit-content\": \"Editar conteúdo\",\n    \"profile\": \"Perfil\",\n    \"change-password\": \"Alterar senha\",\n    \"enabled\": \"Habilitado\",\n    \"disable-the-user\": \"Desabilitar usuário\",\n    \"profile-picture\": \"Imagem de perfil\",\n    \"edit-or-delete-your-categories\": \"Editar ou deletar suas categorias\",\n    \"create-a-new-category-to-organize-your-content\": \"Criar nova categoria para organizar seu conteúdo\",\n    \"confirm-delete-this-action-cannot-be-undone\": \"Quer mesmo deletar? Esta ação não poderá ser revertida se for executada.\",\n    \"do-you-want-to-disable-the-user\": \"Quer mesmo desabilitar o usuário?\",\n    \"new-password\": \"Nova senha\",\n    \"you-can-change-this-field-when-save-the-current-changes\": \"Você pode alterar este campo quando salvar as alterações atuais.\",\n    \"items-per-page\": \"Itens por página\",\n    \"invite-a-friend-to-collaborate-on-your-site\": \"Convidar um amigo para colaborar em seu site\",\n    \"number-of-items-to-show-per-page\": \"Número de publicações a exibir em cada página.\",\n    \"website-or-blog\": \"Site ou Blog\",\n    \"order-content-by\": \"Ordenar conteúdo por\",\n    \"edit-or-delete-content-from-your-site\": \"Editar ou deletar conteúdo do seu site\",\n    \"order-the-content-by-date-to-build-a-blog\": \"Ordene o conteúdo por data para construir um blog clássico. Ordene o conteúdo por posição para construir um site estilo portal.\",\n    \"default-content-status\": \"Status padrão do conteúdo\",\n    \"default-status-for-new-content\": \"Escolha se o novo conteúdo é criado como Publicado ou Rascunho por padrão.\",\n    \"page-not-found-content\": \"Vish! Parece que a página solicitada não existe.\",\n    \"page-not-found\": \"Página não encontrada\",\n    \"predefined-pages\": \"Páginas predefinidas\",\n    \"returning-page-when-the-page-doesnt-exist\": \"Quando a requisição do usuário não corresponder a um item existente, será exibida esta página. Por padrão, uma mensagem de alerta é exibida.\",\n    \"returning-page-for-the-main-page\": \"Quando o usuário requisitar a página principal do site, será exibida a página aqui escolhida. Por padrão, as últimas publicações são exibidas.\",\n    \"full-url-of-your-site\": \"URL completa do seu site, contendo o protocolo HTTP ou HTTPS (apenas poderá conter HTTPS se houver SSL habilitado em seu servidor).\",\n    \"with-the-locales-you-can-set-the-regional-user-interface\": \"A partir dos locais, é possível definir a tradução da interface para a respectiva região do usuário. Para isto, os locais devem estar instalados no seu sistema.\",\n    \"bludit-installer\": \"Instalador do Bludit\",\n    \"choose-your-language\": \"Escolha o seu idioma\",\n    \"next\": \"Próximo\",\n    \"complete-the-form-choose-a-password-for-the-username-admin\": \"Preencha o formulário, escolha uma senha para o usuário inicial que se chamará <b>< admin ><\\/b>\",\n    \"show-password\": \"Exibir senha\",\n    \"install\": \"Instalar\",\n    \"login\": \"Login\",\n    \"back-to-login-form\": \"Voltar à tela de login\",\n    \"get-login-access-code\": \"Obter o código de acesso para realizar o login\",\n    \"email-access-code\": \"Código de acesso via e-mail\",\n    \"whats-next\": \"Próximos passos\",\n    \"username-or-password-incorrect\": \"Usuário incorreto ou então senha incorreta\",\n    \"follow-bludit-on\": \"Seguir Bludit em\",\n    \"this-is-a-brief-description-of-yourself-our-your-site\": \"Aqui é exibida uma breve descrição do seu site ou então de você mesmo. Para alterar este texto, vá ao Painel de Controle, ajustes, plugins, e altere o plugin About.\",\n    \"new-version-available\": \"Nova versão disponível\",\n    \"new-category-created\": \"Nova categoria criada\",\n    \"category-deleted\": \"Categoria deletada\",\n    \"category-edited\": \"Categoria editada\",\n    \"new-user-created\": \"Novo usuário criado\",\n    \"user-edited\": \"Usuário editado\",\n    \"user-deleted\": \"Usuário deletado\",\n    \"recommended-for-recovery-password-and-notifications\": \"Recomendado para recuperação de senha e notificações.\",\n    \"authentication-token\": \"Token de autenticação\",\n    \"token\": \"Token\",\n    \"current-status\": \"Status atual\",\n    \"upload-image\": \"Upload de imagem\",\n    \"the-changes-have-been-saved\": \"As alterações foram salvas\",\n    \"label\": \"Identificação\",\n    \"links\": \"Links\",\n    \"this-title-is-almost-always-used-in-the-sidebar-of-the-site\": \"Este título quase sempre é usado na barra lateral do site.\",\n    \"password-must-be-at-least-6-characters-long\": \"A senha deve conter pelo menos 6 caracteres\",\n    \"ip-address-has-been-blocked\": \"O endereço IP foi bloqueado\",\n    \"try-again-in-a-few-minutes\": \"Tente novamente em alguns minutos\",\n    \"content-published-from-scheduler\": \"Conteúdo publicado através de agendamento\",\n    \"blog\": \"Blog\",\n    \"complete-all-fields\": \"Preencha todos os campos\",\n    \"static\": \"Estático\",\n    \"about-your-site-or-yourself\": \"Descrição sobre o seu site ou então sobre você mesmo\",\n    \"homepage\": \"Página inicial\",\n    \"disabled\": \"Desabilitado\",\n    \"to-enable-the-user-you-must-set-a-new-password\": \"Para habilitar o usuário, você precisa definir uma nova senha.\",\n    \"delete-the-user-and-associate-his-content-to-admin-user\": \"Deletar o usuário e passar todo seu conteúdo para a conta do administrador\",\n    \"delete-the-user-and-all-his-content\": \"Deletar o usuário e também todo seu conteúdo\",\n    \"user-disabled\": \"Usuário desabilitado\",\n    \"user-password-changed\": \"Senha do usuário alterada\",\n    \"the-password-and-confirmation-password-do-not-match\": \"A senha e a confirmação de senha não estão iguais\",\n    \"scheduled-content\": \"Conteúdo agendado\",\n    \"there-are-no-scheduled-content\": \"Não há conteúdo agendado.\",\n    \"new-content-created\": \"Novo conteúdo criado\",\n    \"content-edited\": \"Conteúdo editado\",\n    \"content-deleted\": \"Conteúdo deletado\",\n    \"undefined\": \"Indefinido\",\n    \"create-new-content-for-your-site\": \"Criar novo conteúdo para o seu site\",\n    \"order-items-by\": \"Ordenar itens por\",\n    \"all-content\": \"Todo conteúdo\",\n    \"dynamic\": \"Dinâmico\",\n    \"type\": \"Tipo\",\n    \"draft-content\": \"Conteúdo como rascunho\",\n    \"post\": \"Post\",\n    \"default\": \"Padrão\",\n    \"latest-content\": \"Últimas publicações\",\n    \"default-message\": \"Mensagem padrão\",\n    \"no-parent\": \"Sem item superior\",\n    \"have-you-seen-my-ball\": \"Você viu a minha bola?\",\n    \"pagebreak\": \"Quebra de página\",\n    \"pages\": \"Páginas\",\n    \"this-plugin-may-not-be-supported-by-this-version-of-bludit\": \"Talvez este plugin não seja compatível com a sua versão do Bludit\",\n    \"previous\": \"Anterior\",\n    \"previous-page\": \"Página anterior\",\n    \"next-page\": \"Página seguinte\",\n    \"scheduled\": \"Agendado\",\n    \"this-token-is-similar-to-a-password-it-should-not-be-shared\": \"Este token é similar à senha, portanto não compartilhe com os outros.\",\n    \"congratulations-you-have-successfully-installed-your-bludit\": \"Parabéns! Você instalou o Bludit com sucesso.\",\n    \"this-theme-may-not-be-supported-by-this-version-of-bludit\": \"Talvez este tema não seja compatível com a sua versão do Bludit\",\n    \"read-more\": \"Leia mais\",\n    \"remember-me\": \"Lembrar de mim\",\n    \"plugins-position\": \"Posições dos plugins\",\n    \"plugins-sorted\": \"Plugins classificados\",\n    \"plugins-position-changed\": \"As posições dos plugins foram alteradas\",\n    \"drag-and-drop-to-set-the-position-of-the-plugin\": \"Arraste e solte para definir as posições dos plugins\",\n    \"change-the-position-of-the-plugins\": \"Alterar as posições dos plugins\",\n    \"reading-time\": \"Tempo de leitura\",\n    \"minutes\": \"minutos\",\n    \"minute\": \"minuto\",\n    \"example-page-1-slug\": \"crie-o-seu-proprio-conteudo\",\n    \"example-page-1-title\": \"Crie o seu próprio conteúdo\",\n    \"example-page-1-content\": \"Comece a escrever o seu próprio conteúdo ou então edite o conteúdo existente, conforme a sua necessidade. Para criar, editar ou excluir conteúdo, você precisa realizar o login no [Painel de Controle](.\\/admin) usando o usuário `admin` e a senha que você escolheu no processo de instalação do Bludit.\",\n    \"example-page-2-slug\": \"aproveite-e-va-ajustando-o-seu-site\",\n    \"example-page-2-title\": \"Aproveite e vá ajustando o seu site\",\n    \"example-page-2-content\": \"Atualize os ajustes do site pelo [Painel de Controle](.\\/admin). Por lá é possível alterar o título, descrição e redes sociais que desejar expor no site. Para tal, entre em [Ajustes > Geral](.\\/admin\\/settings).\",\n    \"example-page-3-slug\": \"siga-os-canais-oficiais-do-bludit\",\n    \"example-page-3-title\": \"Siga os canais oficiais do Bludit\",\n    \"example-page-3-content\": \"Receba notícias, avisos sobre atualizações disponíveis, lançamentos de novos temas e plugins através das redes sociais do Bludit: <a href=\\\"https:\\/\\/www.facebook.com\\/bluditcms\\/\\\" target=\\\"_blank\\\">Facebook<\\/a>, <a href=\\\"https:\\/\\/www.twitter.com\\/bludit\\/\\\" target=\\\"_blank\\\">Twitter<\\/a> e <a href=\\\"https:\\/\\/www.youtube.com\\/c\\/Bluditcms\\\" target=\\\"_blank\\\">YouTube<\\/a>. Visite também o <a href=\\\"https:\\/\\/blog.bludit.com\\\" target=\\\"_blank\\\">Blog<\\/a> oficial.\",\n    \"example-page-4-slug\": \"sobre\",\n    \"example-page-4-title\": \"Sobre\",\n    \"example-page-4-content\": \"A página Sobre costuma ser uma das páginas mais visitadas do seu site. Uma sugestão é deixá-la simples e informativa, adicionando tópicos como: quem é o autor do projeto, qual a equipe que compõe o site, motivações para o projeto acontecer, meios de contato para falar com a equipe do site, etc.\",\n    \"the-extension-zip-is-not-installed\": \"A extensão zip não foi instalada e para usá-la é necessário que a instale.\",\n    \"there-are-no-sticky-pages-at-this-moment\": \"Não tem nenhuma página There are sticky no momento.\",\n    \"there-are-no-scheduled-pages-at-this-moment\": \"Não há nenhuma página agendada no momento.\",\n    \"update\": \"Atualizar\",\n    \"template\": \"Modelo\",\n    \"nickname\": \"Apelido\",\n    \"disable-user\": \"Desativar usuário\",\n    \"delete-user-and-keep-content\": \"Excluir usuário e manter o conteúdo\",\n    \"delete-user-and-delete-content\": \"Excluir o usuário e deletar o conteúdo (Aviso)\",\n    \"social-networks\": \"Redes Sociais\",\n    \"interval\": \"Intervalo\",\n    \"number-in-minutes-for-every-execution-of-autosave\": \"Número em minutos para toda execução do salvamento automático.\",\n    \"extreme-friendly-url\": \"URL extremamente amigável\",\n    \"title-formats\": \"Formato de títulos\",\n    \"delete-content\": \"Apagar conteúdo\",\n    \"are-you-sure-you-want-to-delete-this-page\": \"Você tem certeza da exclusão dessa página?\",\n    \"sticky\": \"Sticky\",\n    \"actions\": \"Ações\",\n    \"edit\": \"Editar\",\n    \"options\": \"Opções\",\n    \"enter-title\": \"Insira um título\",\n    \"media-manager\": \"Gerenciador de Mídias\",\n    \"set-a-cover-image-from-external-url,-such-as-a-cdn-or-some-server-dedicated-for-images\": \"Coloque a imagem de capa de uma URL externa como um CDN ou algum servidor dedicado para imagens.\",\n    \"user\": \"Usuário\",\n    \"date-format-format\": \"Formato da data: <code>YYYY-MM-DD Hora:Minutos:Segundos<\\/code>\",\n    \"start-typing-a-page-title-to-see-a-list-of-suggestions\": \"Inicie digitando um título de página para ver uma lista de sugestões.\",\n    \"field-used-when-ordering-content-by-position\": \"Campo usado quando ordena o conteúdo pela posição\",\n    \"write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page\": \"Escreva um nome de template (modelo) para filtrar a página no tema e mude o estilo dela.\",\n    \"write-the-tags-separated-by-commas\": \"Escreva as tags separadas por vírgula.\",\n    \"apply-code-noindex-code-to-this-page\": \"Aplicar <code>noindex<\\/code> nesta página.\",\n    \"this-tells-search-engines-not-to-show-this-page-in-their-search-results\": \"Isso informa aos mecanismos de busca para não mostrar esta página em seus resultados.\",\n    \"apply-code-nofollow-code-to-this-page\": \"Aplicar <code>nofollow<\\/code> nesta página.\",\n    \"this-tells-search-engines-not-to-follow-links-on-this-page\": \"Isso informa aos mecanismos de busca para não seguir os links desta página.\",\n    \"apply-code-noarchive-code-to-this-page\": \"Aplicar <code>noarchive<\\/code>  nesta página.\",\n    \"this-tells-search-engines-not-to-save-a-cached-copy-of-this-page\": \"Isso informa aos mecanismos de busca para não armazenar em cache uma cópia dessa página.\",\n    \"uncategorized\": \"Não categorizada\",\n    \"done\": \"Feito\",\n    \"delete-category\": \"Deletar categoria\",\n    \"are-you-sure-you-want-to-delete-this-category?\": \"Está certo da exclusão dessa categoria?\",\n    \"confirm-new-password\": \"Confirme a nova senha\",\n    \"the-nickname-is-almost-used-in-the-themes-to-display-the-author-of-the-content\": \"O apelido é quase sempre usado nos temas para exibir o autor do conteúdo\",\n    \"allow-unicode\": \"Permitir Unicode\",\n    \"allow-unicode-characters-in-the-url-and-some-part-of-the-system\": \"Permitir caracteres Unicode na URL e em alguma parte do sistema.\",\n    \"variables-allowed\": \"Variáveis permitidas\",\n    \"tag\": \"Tag\",\n    \"drag-and-drop-to-sort-the-plugins\": \"Arraste e Solte para ordenar os plugins.\",\n    \"seo\": \"SEO\",\n    \"documentation\": \"Documentação\",\n    \"forum-support\": \"Suporte no Forum\",\n    \"chat-support\": \"Suporte no Bate-papo\",\n    \"quick-links\": \"Links rápidos\",\n    \"leave-empty-for-autocomplete-by-bludit\": \"Deixe em branco para preenchimento automático pelo Bludit.\",\n    \"choose-a-password-for-the-user-admin\": \"Escolha uma senha para o usuário <code>admin<\\/code>\",\n    \"access-denied\": \"Acesso negado\",\n    \"choose-images-to-upload\": \"Escolha imagens para carregar\",\n    \"insert\": \"Inserir\",\n    \"upload\": \"Enviar\",\n    \"autosave\": \"Salvamento automático\",\n    \"the-content-is-saved-as-a-draft-to-publish-it\": \"O conteúdo é salvo como um rascunho. Para publicá-lo, clique no botão <b>PUBLICAR<\\/b> ou se você ainda trabalhando nisso clique em <b>Salvar como rascunho<\\/b>.\",\n    \"site\": \"Site\",\n    \"first\": \"Primeiro\",\n    \"last\": \"Último\",\n    \"there-are-no-pages-at-this-moment\": \"Não há páginas no momento.\",\n    \"there-are-no-static-pages-at-this-moment\": \"Não há páginas estáticas no momento.\",\n    \"there-are-no-draft-pages-at-this-moment\": \"Não há páginas de rascunho no momento.\",\n    \"good-morning\": \"Bom Dia\",\n    \"good-afternoon\": \"Boa tarde\",\n    \"good-evening\": \"Boa noite\",\n    \"good-night\": \"Boa noite\",\n    \"hello\": \"Olá\",\n    \"there-are-no-images-for-the-page\": \"Não há imagens para a página.\",\n    \"select-cover-image\": \"Selecionar imagem da capa\",\n    \"this-plugin-depends-on-the-following-plugins\": \"Este extensão depende dos seguintes plugins.\",\n    \"no-pages-found\": \"Nenhuma página encontrada\",\n    \"system-updated\": \"Sistema atualizado\",\n    \"security\": \"Segurança\",\n    \"remove-cover-image\": \"Remover imagem da capa\",\n    \"width\": \"Largura\",\n    \"height\": \"Altura\",\n    \"quality\": \"Qualidade\",\n    \"thumbnails\": \"Miniaturas\",\n    \"thumbnail\": \"Miniatura\",\n    \"thumbnail-width-in-pixels\": \"Largura da miniatura em pixels (px).\",\n    \"thumbnail-height-in-pixels\": \"Altura da miniatura em pixels (px).\",\n    \"thumbnail-quality-in-percentage\": \"Qualidade da miniatura em porcentagem (%).\",\n    \"maximum-load-file-size-allowed:\": \"Tamanho máximo de carregamento do arquivo permitido:\",\n    \"file-type-is-not-supported\": \"Tipo de arquivo não suportado. Tipos permitidos:\",\n    \"page-content\": \"Conteúdo da página\",\n    \"markdown-parser\": \"Analisador Markdown\",\n    \"site-logo\": \"Logo do site\",\n    \"search\": \"Busca\",\n    \"search-plugins\": \"Buscar extensões\",\n    \"enabled-plugins\": \"Habilitar extensões\",\n    \"disabled-plugins\": \"Desabilitar extensões\",\n    \"remove-logo\": \"Remover logotipo\",\n    \"preview\": \"Pré visualização\",\n    \"author-can-write-and-edit-their-own-content\": \"Author: Pode escrever e editar seu próprio conteúdo. Editor: Pode escrever e editar o conteúdo de outras pessoas.\",\n    \"custom-fields\": \"Campos customizados\",\n    \"define-custom-fields-for-the-content\": \"Defina campos personalizados para o conteúdo. Saiba mais sobre os campos personalizados na <a href='https:\\/\\/docs.bludit.com\\/en\\/content\\/custom-fields'>documentação<\\/a>.\",\n    \"start-typing-to-see-a-list-of-suggestions\": \"Comece a digitar para ver uma lista de sugestões.\",\n    \"view\": \"Ver\",\n    \"insert-thumbnail\": \"Inserir miniatura\",\n    \"no-tags\": \"Sem tags\",\n    \"no-categories\": \"Sem categorias\",\n    \"insert-linked-thumbnail\": \"Inserir miniatura com link\",\n    \"navigation\": \"Navegação\",\n    \"thumbnail-generation\": \"Geração de miniaturas\",\n    \"enable-disable-automatic-thumbnail-generation-on-image-upload\": \"Ativar ou desativar a geração automática de miniaturas ao carregar imagens.\"\n}\n"
  },
  {
    "path": "bl-languages/pt_PT.json",
    "content": "{\n    \"language-data\": {\n        \"native\": \"Português (Portugal)\",\n        \"english-name\": \"Portuguese (Portugal)\",\n        \"locale\": \"pt_PT\",\n        \"last-update\": \"2020-02-03\",\n        \"authors\": [\n            \"Jacques Schlender (@jcqSCH)\",\n            \"Ricardo Pinto\",\n            \"João Botelho (@justjoao)\",\n            \"\"\n        ]\n    },\n    \"dates\": {\n        \"Mon\": \"Seg\",\n        \"Tue\": \"Ter\",\n        \"Wed\": \"Qua\",\n        \"Thu\": \"Qui\",\n        \"Fri\": \"Sex\",\n        \"Sat\": \"Sáb\",\n        \"Sun\": \"Dom\",\n        \"Monday\": \"Segunda-feira\",\n        \"Tuesday\": \"Terça-feira\",\n        \"Wednesday\": \"Quarta-feira\",\n        \"Thursday\": \"Quinta-feira\",\n        \"Friday\": \"Sexta-feira\",\n        \"Saturday\": \"Sábado\",\n        \"Sunday\": \"Domingo\",\n        \"Jan\": \"Jan\",\n        \"Feb\": \"Fev\",\n        \"Mar\": \"Mar\",\n        \"Apr\": \"Abr\",\n        \"Jun\": \"Jun\",\n        \"Jul\": \"Jul\",\n        \"Aug\": \"Ago\",\n        \"Sep\": \"Set\",\n        \"Oct\": \"Out\",\n        \"Nov\": \"Nov\",\n        \"Dec\": \"Dez\",\n        \"January\": \"Janeiro\",\n        \"February\": \"Fevereiro\",\n        \"March\": \"Março\",\n        \"April\": \"Abril\",\n        \"May\": \"Maio\",\n        \"June\": \"Junho\",\n        \"July\": \"Julho\",\n        \"August\": \"Agosto\",\n        \"September\": \"Setembro\",\n        \"October\": \"Outubro\",\n        \"November\": \"Novembro\",\n        \"December\": \"Dezembro\"\n    },\n    \"dashboard\": \"Painel de Controlo\",\n    \"manage-users\": \"Gerir utilizadores\",\n    \"manage-categories\": \"Gerir categorias\",\n    \"general-settings\": \"Ajustes gerais\",\n    \"advanced-settings\": \"Ajustes avançados\",\n    \"thanks-for-supporting-bludit\": \"Obrigado por apoiar o Bludit\",\n    \"upgrade-to-bludit-pro\": \"Adquirir Bludit PRO\",\n    \"language\": \"Idioma\",\n    \"plugin\": \"Plugin\",\n    \"plugins\": \"Plugins\",\n    \"developers\": \"Desenvolvedores\",\n    \"themes\": \"Temas\",\n    \"about\": \"Sobre\",\n    \"url\": \"URL\",\n    \"welcome\": \"Bem-vindo\",\n    \"logout\": \"Sair\",\n    \"website\": \"Site\",\n    \"publish\": \"Publicar\",\n    \"manage\": \"Gerir\",\n    \"content\": \"Conteúdo\",\n    \"category\": \"Categoria\",\n    \"categories\": \"Categorias\",\n    \"users\": \"Utilizadores\",\n    \"settings\": \"Ajustes\",\n    \"general\": \"Geral\",\n    \"advanced\": \"Avançado\",\n    \"new-content\": \"Novo conteúdo\",\n    \"manage-content\": \"Gerir conteúdo\",\n    \"add-new-content\": \"Adicionar novo conteúdo\",\n    \"new-category\": \"Nova categoria\",\n    \"you-do-not-have-sufficient-permissions\": \"Não tem permissões suficientes para esta ação\",\n    \"add-a-new-user\": \"Criar novo utilizador\",\n    \"url-associated-with-the-content\": \"URL associado ao conteúdo\",\n    \"language-and-timezone\": \"Idioma e fuso horário\",\n    \"change-your-language-and-region-settings\": \"Ajustar o idioma e a região\",\n    \"notifications\": \"Notificações\",\n    \"plugin-activated\": \"Plugin activado\",\n    \"plugin-deactivated\": \"Plugin desactivado\",\n    \"new-theme-configured\": \"Novo tema configurado\",\n    \"settings-changes\": \"Alterações nos ajustes\",\n    \"plugin-configured\": \"Plugin configurado\",\n    \"welcome-to-bludit\": \"Bem-vindo ao Bludit\",\n    \"statistics\": \"Estatísticas\",\n    \"drafts\": \"Rascunhos\",\n    \"title\": \"Título\",\n    \"save\": \"Guardar\",\n    \"save-as-draft\": \"Guardar como rascunho\",\n    \"cancel\": \"Cancelar\",\n    \"description\": \"Descrição\",\n    \"this-field-can-help-describe-the-content\": \"Este campo ajuda a descrever o conteúdo em poucas palavras\",\n    \"images\": \"Imagens\",\n    \"error\": \"Erro\",\n    \"supported-image-file-types\": \"Tipos de ficheiros de imagem suportados\",\n    \"cover-image\": \"Imagem da capa\",\n    \"drag-and-drop-or-click-here\": \"Arraste e solte ou clique aqui\",\n    \"there-are-no-images\": \"Não há imagens\",\n    \"upload-and-more-images\": \"Carregar imagens e mais opções\",\n    \"click-on-the-image-for-options\": \"Clique na imagem para ver as opções\",\n    \"click-here-to-cancel\": \"Clique aqui para cancelar\",\n    \"insert-image\": \"Inserir imagem\",\n    \"set-as-cover-image\": \"Definir como imagem de capa\",\n    \"delete-image\": \"Apagar imagem\",\n    \"tags\": \"Etiquetas\",\n    \"add\": \"Adicionar\",\n    \"status\": \"Estado\",\n    \"published\": \"Publicado\",\n    \"draft\": \"Rascunho\",\n    \"empty-title\": \"Título vazio\",\n    \"empty\": \"Vazio\",\n    \"date\": \"Data\",\n    \"external-cover-image\": \"Imagem de capa externa\",\n    \"parent\": \"Item superior\",\n    \"full-image-url\": \"URL completo da imagem.\",\n    \"this-field-is-used-when-you-order-the-content-by-position\": \"Este campo é utilizado quando se ordena o conteúdo por posição.\",\n    \"position\": \"Posição\",\n    \"friendly-url\": \"URL amigável\",\n    \"image-description\": \"Descrição da imagem\",\n    \"add-a-new-category\": \"Adicionar nova categoria\",\n    \"name\": \"Nome\",\n    \"username\": \"Utilizador\",\n    \"quick-search-pages-and-menu\": \"Pesquisa rápida de páginas e menu\",\n    \"click-here-for-quick-search\": \"Click here for quick search\",\n    \"analytics\": \"Análises\",\n    \"visits-today\": \"Visitas hoje\",\n    \"unique-visitors\": \"Visitantes únicos\",\n    \"search-placeholder\": \"Pesquisar páginas, conteúdo e itens de menu...\",\n    \"no-results-found\": \"Nenhum resultado encontrado\",\n    \"first-name\": \"Primeiro nome\",\n    \"last-name\": \"Apelido\",\n    \"to-schedule-the-content-select-the-date-and-time\": \"Para agendar a publicação de conteúdo, marque a data e hora. Atente-se que o estado necessita estar marcado como \\\"Publicado\\\".\",\n    \"email\": \"E-mail\",\n    \"role\": \"Função\",\n    \"registered\": \"Registado\",\n    \"site-information\": \"Informação do site\",\n    \"site-title\": \"Titulo do site\",\n    \"use-this-field-to-name-your-site\": \"Use este campo para nomear o teu site. Este nome aparecerá no topo das páginas.\",\n    \"site-slogan\": \"Slogan do site\",\n    \"use-this-field-to-add-a-catchy-phrase\": \"Use este campo para adicionar uma frase que dê personalidade ao site.\",\n    \"site-description\": \"Descrição do site\",\n    \"you-can-add-a-site-description-to-provide\": \"Sugere-se adicionar um pequeno texto que descreva os assuntos tratados no site.\",\n    \"footer-text\": \"Texto do radapé\",\n    \"you-can-add-a-small-text-on-the-bottom\": \"Sugere-se adicionar um pequeno texto para exibir na parte debaixo do site, o qual contenha informações de copyright, proprietário, ano de fundação, local, etc.\",\n    \"social-networks-links\": \"Links de redes sociais\",\n    \"site-url\": \"URL do site\",\n    \"email-account-settings\": \"Ajustar conta de e-mail\",\n    \"sender-email\": \"E-mail do remetente\",\n    \"emails-will-be-sent-from-this-address\": \"Os e-mails serão enviados a partir deste endereço.\",\n    \"url-filters\": \"Filtros de URL\",\n    \"select-your-sites-language\": \"Selecione o idioma do site.\",\n    \"timezone\": \"Fuso horário\",\n    \"select-a-timezone-for-a-correct\": \"Selecione o fuso horário da região para que datas e horas sejam exibidas corretamente no site.\",\n    \"locale\": \"Local\",\n    \"date-and-time-formats\": \"Formatos de data e hora\",\n    \"date-format\": \"Formato da data\",\n    \"current-format\": \"Formato actual\",\n    \"version\": \"Versão\",\n    \"author\": \"Autor\",\n    \"activate\": \"Activar\",\n    \"deactivate\": \"Desactivar\",\n    \"edit-category\": \"Editar categoria\",\n    \"delete\": \"Apagar\",\n    \"password\": \"Senha\",\n    \"confirm-password\": \"Confirmar senha\",\n    \"editor\": \"Editor\",\n    \"administrator\": \"Administrador\",\n    \"edit-user\": \"Editar utilizador\",\n    \"edit-content\": \"Editar conteúdo\",\n    \"profile\": \"Perfil\",\n    \"change-password\": \"Alterar senha\",\n    \"enabled\": \"Activado\",\n    \"disable-the-user\": \"Desactivar o utilizador\",\n    \"profile-picture\": \"Foto do perfil\",\n    \"edit-or-delete-your-categories\": \"Editar ou apagar categorias\",\n    \"create-a-new-category-to-organize-your-content\": \"Criar nova categoria para organizar o conteúdo\",\n    \"confirm-delete-this-action-cannot-be-undone\": \"Confirme que quer apagar? Após confirmar não será possível anular esta acção.\",\n    \"do-you-want-to-disable-the-user\": \"Confirmas que vais desactivar o utilizador?\",\n    \"new-password\": \"Nova senha\",\n    \"you-can-change-this-field-when-save-the-current-changes\": \"Poderás alterar este campo após guardar as alterações actuais.\",\n    \"items-per-page\": \"Itens por página\",\n    \"invite-a-friend-to-collaborate-on-your-site\": \"Convidar um amigo para colaborar no teu site\",\n    \"number-of-items-to-show-per-page\": \"Número de publicações a exibir em cada página.\",\n    \"website-or-blog\": \"Site ou Blog\",\n    \"order-content-by\": \"Ordenar conteúdo por\",\n    \"edit-or-delete-content-from-your-site\": \"Editar ou apagar conteúdo do teu site\",\n    \"order-the-content-by-date-to-build-a-blog\": \"Ordene o conteúdo por data para construir um blog ou ordene o conteúdo por posição para construir um site.\",\n    \"default-content-status\": \"Estado predefinido do conteúdo\",\n    \"default-status-for-new-content\": \"Escolha se o novo conteúdo é criado como Publicado ou Rascunho por predefinição.\",\n    \"page-not-found-content\": \"Parece que a página solicitada não existe.\",\n    \"page-not-found\": \"Página não encontrada\",\n    \"predefined-pages\": \"Páginas predefinidas\",\n    \"returning-page-when-the-page-doesnt-exist\": \"Quando a requisição do visitante não corresponder a um item existente, será exibida esta página. Por omissão, uma mensagem de alerta é exibida.\",\n    \"returning-page-for-the-main-page\": \"Quando o visitante requisitar a página principal do site, será exibida a página aqui escolhida. Por omissão, as últimas publicações são exibidas.\",\n    \"full-url-of-your-site\": \"URL completo do teu site, contendo o protocolo HTTP ou HTTPS (apenas poderá conter HTTPS se houver SSL ligado no servidor).\",\n    \"with-the-locales-you-can-set-the-regional-user-interface\": \"A partir dos locais é possível definir a tradução da interface para a respectiva região dos visitantes. Para isto, os locais devem estar instalados no sistema.\",\n    \"bludit-installer\": \"Instalador do Bludit\",\n    \"choose-your-language\": \"Escolha o idioma\",\n    \"next\": \"Seguinte\",\n    \"complete-the-form-choose-a-password-for-the-username-admin\": \"Preencha o formulário, escolha uma senha para o utilizador inicial que será nomeado <b>< admin ><\\/b>\",\n    \"show-password\": \"Exibir senha\",\n    \"install\": \"Instalar\",\n    \"login\": \"Entrar\",\n    \"back-to-login-form\": \"Voltar ao formulário de início de sessão\",\n    \"get-login-access-code\": \"Obter o código de acesso de início de sessão\",\n    \"email-access-code\": \"Código de acesso via e-mail\",\n    \"whats-next\": \"O que se segue\",\n    \"username-or-password-incorrect\": \"Utilizador incorrecto ou senha incorrecta\",\n    \"follow-bludit-on\": \"Seguir Bludit em\",\n    \"this-is-a-brief-description-of-yourself-our-your-site\": \"Neste espaço é exibida uma breve descrição do seu site ou de si mesmo. Para alterar este texto, vá ao Painel de Controlo, ajustes, plugins, e altere o plugin About.\",\n    \"new-version-available\": \"Nova versão disponível\",\n    \"new-category-created\": \"Nova categoria criada\",\n    \"category-deleted\": \"Categoria apagada\",\n    \"category-edited\": \"Categoria editada\",\n    \"new-user-created\": \"Novo utilizador criado\",\n    \"user-edited\": \"Utilizador editado\",\n    \"user-deleted\": \"Utilizador apagado\",\n    \"recommended-for-recovery-password-and-notifications\": \"Recomendado para recuperação de senha e notificações.\",\n    \"authentication-token\": \"Token de autenticação\",\n    \"token\": \"Token\",\n    \"current-status\": \"Estado actual\",\n    \"upload-image\": \"Carregar imagem\",\n    \"the-changes-have-been-saved\": \"As alterações foram guardadas\",\n    \"label\": \"Identificador\",\n    \"links\": \"Links\",\n    \"this-title-is-almost-always-used-in-the-sidebar-of-the-site\": \"Este título é quase sempre usado na barra lateral do site.\",\n    \"password-must-be-at-least-6-characters-long\": \"A senha deve conter pelo menos 6 caracteres\",\n    \"ip-address-has-been-blocked\": \"O endereço IP foi bloqueado.\",\n    \"try-again-in-a-few-minutes\": \"Tente novamente em alguns minutos.\",\n    \"content-published-from-scheduler\": \"Conteúdo publicado através de agendamento\",\n    \"blog\": \"Blog\",\n    \"complete-all-fields\": \"Preencha todos os campos\",\n    \"static\": \"Estático\",\n    \"about-your-site-or-yourself\": \"Descrição sobre o site ou sobre o autor\",\n    \"homepage\": \"Página inicial\",\n    \"disabled\": \"Desabilitado\",\n    \"to-enable-the-user-you-must-set-a-new-password\": \"Para habilitar o utilizador, necessitas definir uma nova senha.\",\n    \"delete-the-user-and-associate-his-content-to-admin-user\": \"Apagar o utilizador e associar todo o conteúdo remanescente dele à conta do administrador\",\n    \"delete-the-user-and-all-his-content\": \"Apagar o utilizador e também todo conteúdo remanescente dele\",\n    \"user-disabled\": \"Utilizador desabilitado\",\n    \"user-password-changed\": \"Senha do utilizador alterada\",\n    \"the-password-and-confirmation-password-do-not-match\": \"A senha e a confirmação de senha não são iguais\",\n    \"scheduled-content\": \"Conteúdo agendado\",\n    \"there-are-no-scheduled-content\": \"Não há conteúdo agendado\",\n    \"new-content-created\": \"Novo conteúdo criado\",\n    \"content-edited\": \"Conteúdo editado\",\n    \"content-deleted\": \"Conteúdo apagado\",\n    \"undefined\": \"Indefinido\",\n    \"create-new-content-for-your-site\": \"Criar novo conteúdo para o teu site\",\n    \"order-items-by\": \"Ordenar itens por\",\n    \"all-content\": \"Todo conteúdo\",\n    \"dynamic\": \"Dinâmico\",\n    \"type\": \"Tipo\",\n    \"draft-content\": \"Conteúdo como rascunho\",\n    \"post\": \"Publicação\",\n    \"default\": \"Por omissão\",\n    \"latest-content\": \"Últimas publicações\",\n    \"default-message\": \"Mensagem por omissão\",\n    \"no-parent\": \"Sem item superior\",\n    \"have-you-seen-my-ball\": \"Por acaso viste a minha bola?\",\n    \"pagebreak\": \"Quebra de página\",\n    \"pages\": \"Páginas\",\n    \"this-plugin-may-not-be-supported-by-this-version-of-bludit\": \"Há a possibilidade deste plugin não ser compatível com a tua versão do Bludit\",\n    \"previous\": \"Anterior\",\n    \"previous-page\": \"Página anterior\",\n    \"next-page\": \"Página seguinte\",\n    \"scheduled\": \"Agendado\",\n    \"this-token-is-similar-to-a-password-it-should-not-be-shared\": \"Este token é similar à senha, portanto não partilhe com os outros\",\n    \"congratulations-you-have-successfully-installed-your-bludit\": \"Parabéns! Instalaste o Bludit com sucesso.\",\n    \"this-theme-may-not-be-supported-by-this-version-of-bludit\": \"Há a possibilidade deste tema não ser compatível com a tua versão do Bludit\",\n    \"read-more\": \"Continuar a ler\",\n    \"remember-me\": \"Lembrar-me\",\n    \"plugins-position\": \"Posições dos plugins\",\n    \"plugins-sorted\": \"Plugins classificados\",\n    \"plugins-position-changed\": \"As posições dos plugins foram alteradas\",\n    \"drag-and-drop-to-set-the-position-of-the-plugin\": \"Arraste e solte para definir as posições dos plugins\",\n    \"change-the-position-of-the-plugins\": \"Alterar as posições dos plugins\",\n    \"reading-time\": \"Tempo de leitura\",\n    \"minutes\": \"minutos\",\n    \"minute\": \"minuto\",\n    \"example-page-1-slug\": \"crie-o-teu-proprio-conteudo\",\n    \"example-page-1-title\": \"Crie o teu próprio conteúdo\",\n    \"example-page-1-content\": \"Comece a escrever o teu próprio conteúdo ou então edite o conteúdo existente, conforme a tua necessidade. Para criar, editar ou apagar conteúdo, necessitarás iniciar sessão no [Painel de Controlo](.\\/admin). Lá, insira o utilizador `admin` e a senha escolhida por ti na instalação do Bludit.\",\n    \"example-page-2-slug\": \"Siga-aos-ajustes-do-teu-site\",\n    \"example-page-2-title\": \"Siga aos ajustes do teu site\",\n    \"example-page-2-content\": \"Actualize os ajustes do site através [Painel de Controlo](.\\/admin). Por lá é possível alterar o título, descrição e redes sociais que desejares expor no site. Para tal, proceda em [Ajustes > Geral](.\\/admin\\/settings).\",\n    \"example-page-3-slug\": \"siga-os-meios-de-comunicacao-oficiais-do-bludit\",\n    \"example-page-3-title\": \"Siga os meios de comunicação oficiais do Bludit\",\n    \"example-page-3-content\": \"Receberás notícias, avisos sobre actualizações, novos temas e plugins através das redes sociais do Bludit: <a href=\\\"https:\\/\\/www.facebook.com\\/bluditcms\\/\\\" target=\\\"_blank\\\">Facebook<\\/a>, <a href=\\\"https:\\/\\/www.twitter.com\\/bludit\\/\\\" target=\\\"_blank\\\">Twitter<\\/a> e <a href=\\\"https:\\/\\/www.youtube.com\\/c\\/Bluditcms\\\" target=\\\"_blank\\\">YouTube<\\/a>. Veja também o <a href=\\\"https:\\/\\/blog.bludit.com\\\" target=\\\"_blank\\\">Blog<\\/a> oficial.\",\n    \"example-page-4-slug\": \"sobre\",\n    \"example-page-4-title\": \"Sobre\",\n    \"example-page-4-content\": \"A página Sobre habitualmente é uma das páginas mais visitadas dos sites. Sugere-se inserir informações de bastante interesse do público. Assuntos como: quem é o autor do projeto, qual a equipa que compõe o site, motivações para o projeto existir, meios para contactar a equipa do site, etc.\",\n    \"the-extension-zip-is-not-installed\": \"A extensão zip não está instalada, para usar este plugin é necessário instalar a extensão ZIP.\",\n    \"there-are-no-sticky-pages-at-this-moment\": \"Neste momento não há páginas afixadas.\",\n    \"there-are-no-scheduled-pages-at-this-moment\": \"Não há páginas agendadas neste momento\",\n    \"update\": \"Update\",\n    \"template\": \"Template\",\n    \"nickname\": \"Nickname\",\n    \"disable-user\": \"Desactivar utilizador\",\n    \"delete-user-and-keep-content\": \"Apagar utilizador e manter conteúdo\",\n    \"delete-user-and-delete-content\": \"Apagar utilizador e apagar conteúdo (Cuidado)\",\n    \"social-networks\": \"Redes sociais\",\n    \"interval\": \"Intervalo\",\n    \"number-in-minutes-for-every-execution-of-autosave\": \"Número de minutos entre cada gravação automática (autosave).\",\n    \"extreme-friendly-url\": \"URL extremamente amigável\",\n    \"title-formats\": \"Formato dos títulos\",\n    \"delete-content\": \"Apagar conteúdo\",\n    \"are-you-sure-you-want-to-delete-this-page\": \"Tens a certeza que queres apagar esta página?\",\n    \"sticky\": \"Afixado\",\n    \"actions\": \"Acções\",\n    \"edit\": \"Editar\",\n    \"options\": \"Opções\",\n    \"enter-title\": \"Insere o título\",\n    \"media-manager\": \"Media Manager\",\n    \"set-a-cover-image-from-external-url,-such-as-a-cdn-or-some-server-dedicated-for-images\": \"Define uma imagem de capa externa, como  de uma CDN ou dum servidor dedicado de imagens.\",\n    \"user\": \"Utilizador\",\n    \"date-format-format\": \"Formato da data: <code>YYYY-MM-DD Hours:Minutes:Seconds<\\/code>\",\n    \"start-typing-a-page-title-to-see-a-list-of-suggestions\": \"Começa a escrever o título duma página para ver uma lista de sugestões.\",\n    \"field-used-when-ordering-content-by-position\": \"Campo usado quando se ordena o conteúdo por posição\",\n    \"write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page\": \"Escreve o nome dum template para filtrar a página no tema e mudar o estilo da página.\",\n    \"write-the-tags-separated-by-commas\": \"Escreve as tags separadas por vírgulas.\",\n    \"apply-code-noindex-code-to-this-page\": \"Aplica <code>noindex<\\/code> a esta página.\",\n    \"this-tells-search-engines-not-to-show-this-page-in-their-search-results\": \"Isto diz aos motores de busca que esta página para não apresentar esta página nos seus resultados de pesquisa.\",\n    \"apply-code-nofollow-code-to-this-page\": \"Aplicar <code>nofollow<\\/code> a esta página.\",\n    \"this-tells-search-engines-not-to-follow-links-on-this-page\": \"Isto diz aos motores de busca para não seguir os links nesta página.\",\n    \"apply-code-noarchive-code-to-this-page\": \"Aplicar <code>noarchive<\\/code> a esta página.\",\n    \"this-tells-search-engines-not-to-save-a-cached-copy-of-this-page\": \"Isto diz aos motores de busca que não gravem uma cópia desta página na cache.\",\n    \"uncategorized\": \"Não categorizado\",\n    \"done\": \"Pronto\",\n    \"delete-category\": \"Delete category\",\n    \"are-you-sure-you-want-to-delete-this-category?\": \"Tens a certeza que queres apagar esta categoria?\",\n    \"confirm-new-password\": \"Confirmar a nova senha\",\n    \"the-nickname-is-almost-used-in-the-themes-to-display-the-author-of-the-content\": \"O nickname é usado em praticamente todos os temas para mostrar o autor do conteúdo\",\n    \"allow-unicode\": \"Permitir Unicode\",\n    \"allow-unicode-characters-in-the-url-and-some-part-of-the-system\": \"Permitir caracteres Unicode no URL e nalgumas partes do sistema.\",\n    \"variables-allowed\": \"Variáveis permitidas\",\n    \"tag\": \"Tag\",\n    \"drag-and-drop-to-sort-the-plugins\": \"Arrastar (Drag and Drop) para re-ordenar os plugins.\",\n    \"seo\": \"SEO\",\n    \"documentation\": \"Documentação\",\n    \"forum-support\": \"Forum support\",\n    \"chat-support\": \"Chat support\",\n    \"quick-links\": \"Links rápidos\",\n    \"leave-empty-for-autocomplete-by-bludit\": \"Deixar em branco para que o Bludit preencha automáticamente.\",\n    \"choose-a-password-for-the-user-admin\": \"Escolhe uma password para o utilizador <code>admin<\\/code>\",\n    \"access-denied\": \"Acesso não permitido\",\n    \"choose-images-to-upload\": \"Escolhe imagens para upload\",\n    \"insert\": \"Inserir\",\n    \"upload\": \"Upload\",\n    \"autosave\": \"Autosave\",\n    \"the-content-is-saved-as-a-draft-to-publish-it\": \"O conteúdo está gravado como rascunho. Para publicar clica no butão  <b>Publicar<\\/b>, ou caso ainda estejas a trabalhar no conteúdo clica em <b>Gravar como rascunho<\\/b>.\",\n    \"site\": \"Site\",\n    \"first\": \"Primeiro\",\n    \"last\": \"Último\",\n    \"there-are-no-pages-at-this-moment\": \"Não há páginas de momento.\",\n    \"there-are-no-static-pages-at-this-moment\": \"Não há páginas estáticas de momento.\",\n    \"there-are-no-draft-pages-at-this-moment\": \"Não há rascunhos de momento.\",\n    \"good-morning\": \"Bom dia\",\n    \"good-afternoon\": \"Boa tarde\",\n    \"good-evening\": \"Bom fim de tarde\",\n    \"good-night\": \"Boa noite\",\n    \"hello\": \"Olá\",\n    \"there-are-no-images-for-the-page\": \"Não há imagens para esta página.\",\n    \"select-cover-image\": \"Escolhe a imagem de capa\",\n    \"this-plugin-depends-on-the-following-plugins\": \"Este plugin depende dos seguintes plugins.\",\n    \"no-pages-found\": \"Não foi encontrada nenhuma página\",\n    \"system-updated\": \"Sistema actualizado\",\n    \"security\": \"Segurança\",\n    \"remove-cover-image\": \"Remover imagem de capa\",\n    \"width\": \"Largura\",\n    \"height\": \"Altura\",\n    \"quality\": \"Qualidade\",\n    \"thumbnails\": \"Miniaturas\",\n    \"thumbnail\": \"Miniatura\",\n    \"thumbnail-width-in-pixels\": \"Largura da miniatura em pixels (px).\",\n    \"thumbnail-height-in-pixels\": \"Altura da miniatura em pixels (px).\",\n    \"thumbnail-quality-in-percentage\": \"Qualidade da miniatura em percentagem (%).\",\n    \"maximum-load-file-size-allowed:\": \"Tamanho máximo permitido do ficheiro:\",\n    \"file-type-is-not-supported\": \"Tipo de ficheiro não suportado. Tipos de ficheiro suportados:\",\n    \"page-content\": \"Conteúdo da página\",\n    \"markdown-parser\": \"Markdown parser\",\n    \"site-logo\": \"Logótipo do site\",\n    \"search\": \"Procurar\",\n    \"search-plugins\": \"Procurar plugins\",\n    \"enabled-plugins\": \"Plugins activados\",\n    \"disabled-plugins\": \"Plugins desactivados\",\n    \"remove-logo\": \"Remover logótipo\",\n    \"preview\": \"Prever\",\n    \"author-can-write-and-edit-their-own-content\": \"Autor: Pode escrever e editar os seus próprios conteúdos. Editor: Pode escrever e editar os seus próprios conteúdos e o dos outros.\",\n    \"custom-fields\": \"Campos customizados\",\n    \"define-custom-fields-for-the-content\": \"Define campos customizados para o teu conteúdo. Aprende mais sobre os campos customizados na <a href='https:\\/\\/docs.bludit.com\\/en\\/content\\/custom-fields'>documentação official (em inglês)<\\/a>.\",\n    \"start-typing-to-see-a-list-of-suggestions\": \"Começa a escrever para ver uma lista de sugestões.\",\n    \"view\": \"Ver\",\n    \"insert-thumbnail\": \"Inserir miniatura\",\n    \"no-tags\": \"Sem etiquetas\",\n    \"no-categories\": \"Sem categorias\",\n    \"insert-linked-thumbnail\": \"Inserir miniatura ligada\",\n    \"navigation\": \"Navegação\",\n    \"thumbnail-generation\": \"Geração de miniaturas\",\n    \"enable-disable-automatic-thumbnail-generation-on-image-upload\": \"Ativar ou desativar a geração automática de miniaturas ao carregar imagens.\"\n}\n"
  },
  {
    "path": "bl-languages/ro_RO.json",
    "content": "{\n    \"language-data\": {\n        \"native\": \"Română\",\n        \"english-name\": \"Romanian\",\n        \"locale\": \"ro, ro_RO\",\n        \"last-update\": \"2019-03-27\",\n        \"authors\": [\n            \"Florin Cătălin\",\n            \"Ciprian C.\",\n            \"\",\n            \"\"\n        ]\n    },\n    \"dates\": {\n        \"Mon\": \"Lun\",\n        \"Tue\": \"Mar\",\n        \"Wed\": \"Mie\",\n        \"Thu\": \"Joi\",\n        \"Fri\": \"Vin\",\n        \"Sat\": \"Sam\",\n        \"Sun\": \"Dum\",\n        \"Monday\": \"Luni\",\n        \"Tuesday\": \"Marți\",\n        \"Wednesday\": \"Miercuri\",\n        \"Thursday\": \"Joi\",\n        \"Friday\": \"Vineri\",\n        \"Saturday\": \"Sâmbătă\",\n        \"Sunday\": \"Duminică\",\n        \"Jan\": \"Ian\",\n        \"Feb\": \"Feb\",\n        \"Mar\": \"Mar\",\n        \"Apr\": \"Apr\",\n        \"Jun\": \"Iun\",\n        \"Jul\": \"Iul\",\n        \"Aug\": \"Aug\",\n        \"Sep\": \"Sep\",\n        \"Oct\": \"Oct\",\n        \"Nov\": \"Noe\",\n        \"Dec\": \"Dec\",\n        \"January\": \"Ianuarie\",\n        \"February\": \"Februarie\",\n        \"March\": \"Martie\",\n        \"April\": \"Aprilie\",\n        \"May\": \"Mai\",\n        \"June\": \"Iunie\",\n        \"July\": \"Iulie\",\n        \"August\": \"August\",\n        \"September\": \"Septembrie\",\n        \"October\": \"Octombrie\",\n        \"November\": \"Noembrie\",\n        \"December\": \"Decembrie\"\n    },\n    \"dashboard\": \"Tablou de bord\",\n    \"manage-users\": \"Administrează utilizatori\",\n    \"manage-categories\": \"Administrează categorii\",\n    \"general-settings\": \"Setări generale\",\n    \"advanced-settings\": \"Setări avansate\",\n    \"thanks-for-supporting-bludit\": \"Mulțumim că susții Bludit\",\n    \"upgrade-to-bludit-pro\": \"Upgrade la Bludit PRO\",\n    \"language\": \"Limbă\",\n    \"plugin\": \"Plugin\",\n    \"plugins\": \"Module\",\n    \"developers\": \"Dezvoltatori\",\n    \"themes\": \"Teme\",\n    \"about\": \"Despre\",\n    \"url\": \"URL\",\n    \"welcome\": \"Bine ați venit\",\n    \"logout\": \"Deconectare\",\n    \"website\": \"Websit\",\n    \"publish\": \"Publică\",\n    \"manage\": \"Administrare\",\n    \"content\": \"Conținut\",\n    \"category\": \"Categorie\",\n    \"categories\": \"Categorii\",\n    \"users\": \"Utilizatori\",\n    \"settings\": \"Setări\",\n    \"general\": \"General\",\n    \"advanced\": \"Avansat\",\n    \"new-content\": \"Conținut nou\",\n    \"manage-content\": \"Administrează conținut\",\n    \"add-new-content\": \"Adaugă conținut nou\",\n    \"new-category\": \"Categorie nouă\",\n    \"you-do-not-have-sufficient-permissions\": \"Nu aveți suficiente privilegii pentru a putea accesa această pagină, contactați adminstatorul.\",\n    \"add-a-new-user\": \"Adaugă utilizator nou\",\n    \"url-associated-with-the-content\": \"URL asociat cu conținutul.\",\n    \"language-and-timezone\": \"Limbaj și fus orar\",\n    \"change-your-language-and-region-settings\": \"Schimbă limbajul și setările regionale.\",\n    \"notifications\": \"Notificări\",\n    \"plugin-activated\": \"Plugin activat\",\n    \"plugin-deactivated\": \"Plugin dezactivat\",\n    \"new-theme-configured\": \"Temă nouă configurată\",\n    \"settings-changes\": \"Schimbări setări\",\n    \"plugin-configured\": \"Plugin configurat\",\n    \"welcome-to-bludit\": \"Bine ați venit la Bludit\",\n    \"statistics\": \"Statistici\",\n    \"drafts\": \"Ciorne\",\n    \"title\": \"Titlu\",\n    \"save\": \"Salvează\",\n    \"save-as-draft\": \"Salveaza ca ciornă\",\n    \"cancel\": \"Anulează\",\n    \"description\": \"Descriere\",\n    \"this-field-can-help-describe-the-content\": \"Acest câmp poate ajuta la descrierea cuprinsului în câteva cuvinte. Nu mai mult de 150 de caractere.\",\n    \"images\": \"Imagini\",\n    \"error\": \"Eroare\",\n    \"supported-image-file-types\": \"Tipuri de fișiere imagine suportate\",\n    \"cover-image\": \"Imagine de copertă\",\n    \"drag-and-drop-or-click-here\": \"Trageți și eliberați sau click aici\",\n    \"there-are-no-images\": \"Aici nu există imagini\",\n    \"upload-and-more-images\": \"Upload și mai multe imagini\",\n    \"click-on-the-image-for-options\": \"Click pe imagine pentru opțiuni.\",\n    \"click-here-to-cancel\": \"Click aici pentru anulare.\",\n    \"insert-image\": \"Insert image\",\n    \"set-as-cover-image\": \"Setare ca imagine de copertă\",\n    \"delete-image\": \"Șterge imagine\",\n    \"tags\": \"Etichete\",\n    \"add\": \"Adaugă\",\n    \"status\": \"Stare\",\n    \"published\": \"Publicat\",\n    \"draft\": \"Ciornă\",\n    \"empty-title\": \"Titlu gol\",\n    \"empty\": \"gol\",\n    \"date\": \"Data\",\n    \"external-cover-image\": \"Imagine copertă externă\",\n    \"parent\": \"Părinte\",\n    \"full-image-url\": \"URL imagine complet.\",\n    \"this-field-is-used-when-you-order-the-content-by-position\": \"Acest câmp este folosit atunci când sortați conținutul după poziție.\",\n    \"position\": \"Poziție\",\n    \"friendly-url\": \"URL prietenos\",\n    \"image-description\": \"Descriere imagine\",\n    \"add-a-new-category\": \"Adaugă o nouă categorie\",\n    \"name\": \"Nume\",\n    \"username\": \"Nume utilizator\",\n    \"first-name\": \"Prenume\",\n    \"last-name\": \"Nume\",\n    \"to-schedule-the-content-select-the-date-and-time\": \"Pentru a programa conținut setează ora și data, iar statusul trebuie să fie  \\\"Published\\\".\",\n    \"email\": \"Email\",\n    \"role\": \"Rol\",\n    \"registered\": \"Înregistrat\",\n    \"site-information\": \"Informații despre sit\",\n    \"site-title\": \"Titlu sit\",\n    \"use-this-field-to-name-your-site\": \"Utilizați acest câmp pentru numi sit-ului\",\n    \"site-slogan\": \"Slogan sit\",\n    \"use-this-field-to-add-a-catchy-phrase\": \"Utilizați acest câmp pentru a adăuga o expresie ușor de reținut pe sit-ul dvs.\",\n    \"site-description\": \"Descriere sit\",\n    \"you-can-add-a-site-description-to-provide\": \"Adaugă o descriere pentru a oferi o scurtă prezentare a sit-ului.\",\n    \"footer-text\": \"Text subsol\",\n    \"you-can-add-a-small-text-on-the-bottom\": \"Puteți adăuga un text mic în josul fiecărei pagini, spre exemplu: drept de autor, deținător, date etc.\",\n    \"social-networks-links\": \"Link-uri rețele sociale\",\n    \"site-url\": \"URL-ul sit-ului\",\n    \"email-account-settings\": \"Setări cont de email\",\n    \"sender-email\": \"Email expeditor\",\n    \"emails-will-be-sent-from-this-address\": \"Email-urile vor fi expediate de la această adresă.\",\n    \"url-filters\": \"Filtre URL\",\n    \"select-your-sites-language\": \"Selectați limbajul sit-ului.\",\n    \"timezone\": \"Fus orar\",\n    \"select-a-timezone-for-a-correct\": \"Selectați fusul orar pentru afișarea corectă a datei/orei pe sit.\",\n    \"locale\": \"Local\",\n    \"date-and-time-formats\": \"Formate dată și timp\",\n    \"date-format\": \"Format dată\",\n    \"current-format\": \"Format curent\",\n    \"version\": \"Versiune\",\n    \"author\": \"Autor\",\n    \"activate\": \"Activare\",\n    \"deactivate\": \"Deactivare\",\n    \"edit-category\": \"Editează categorie\",\n    \"delete\": \"Șterge\",\n    \"password\": \"Parolă\",\n    \"confirm-password\": \"Confirmare parolă\",\n    \"editor\": \"Editor\",\n    \"administrator\": \"Administrator\",\n    \"edit-user\": \"Editare utilizator\",\n    \"edit-content\": \"Editează conținut\",\n    \"profile\": \"Profil\",\n    \"change-password\": \"Schimbă parola\",\n    \"enabled\": \"Activat\",\n    \"disable-the-user\": \"Dezactivează utilizatorul\",\n    \"profile-picture\": \"Poză de profil\",\n    \"edit-or-delete-your-categories\": \"Editează sau șterge categorii\",\n    \"create-a-new-category-to-organize-your-content\": \"Creează o nouă categorie pentru a sorta conținutul\",\n    \"confirm-delete-this-action-cannot-be-undone\": \"Confirmare ștergere, această acțiune este definitivă.\",\n    \"do-you-want-to-disable-the-user\": \"Vrei să dezactivezi utilizatorul ?\",\n    \"new-password\": \"Parolă nouă\",\n    \"you-can-change-this-field-when-save-the-current-changes\": \"Poți edita acest câmp atunci când salvezi modificările.\",\n    \"items-per-page\": \"Elemebte per pagină\",\n    \"invite-a-friend-to-collaborate-on-your-site\": \"Invită un prieten să colaborați\",\n    \"number-of-items-to-show-per-page\": \"Număr articole afișate per pagină.\",\n    \"website-or-blog\": \"Websit sau Blog\",\n    \"order-content-by\": \"Sortează conținut după\",\n    \"edit-or-delete-content-from-your-site\": \"Editează sau șterge conținut de pe sit\",\n    \"order-the-content-by-date-to-build-a-blog\": \"Sortează conținutul după dată pentru a realiza un Blog sau sortează conținutul după poziție pentru a realiza un Websit.\",\n    \"page-not-found-content\": \"Hey! Se pare că această pagină nu există.\",\n    \"page-not-found\": \"Pagina nu a fost găsită\",\n    \"predefined-pages\": \"Pagini predefinite\",\n    \"returning-page-when-the-page-doesnt-exist\": \"Returning page when the page doesn't exist, leave it blank if you want to returns a default message.\",\n    \"returning-page-for-the-main-page\": \"Returning page for the main page, leave it blank if you want to show all the pages on the main page.\",\n    \"full-url-of-your-site\": \"URL-ul complet al sit-ului tău. Complete with the protocol HTTP or HTTPS (only if you have enabled SSL on your server).\",\n    \"with-the-locales-you-can-set-the-regional-user-interface\": \"With the locales, you can set the regional user interface, such as the dates in your language. The locales need to be installed on your system.\",\n    \"bludit-installer\": \"Instalator pentru Bludit\",\n    \"choose-your-language\": \"Alegeți limbajul\",\n    \"next\": \"Următorul\",\n    \"complete-the-form-choose-a-password-for-the-username-admin\": \"Completați formularul, alegeți o parolă pentru utilizatorul « admin »\",\n    \"show-password\": \"Arată parola\",\n    \"install\": \"Instalează\",\n    \"login\": \"Autentificare\",\n    \"back-to-login-form\": \"Înapoi la formularul de autentificare\",\n    \"get-login-access-code\": \"Obținerea unui cod de access la autentificare\",\n    \"email-access-code\": \"Codul de acces email\",\n    \"whats-next\": \"Ce urmează\",\n    \"username-or-password-incorrect\": \"Nume utilizator sau parolă incorecte\",\n    \"follow-bludit-on\": \"Urmăriți Bludit pe\",\n    \"this-is-a-brief-description-of-yourself-our-your-site\": \"Acesta este o descriere sumară a dvs. pe sit, pentru a schimba acest text mergeți la panoul de control, setări, module și configurare modul Despre.\",\n    \"new-version-available\": \"Versiune noua disponibilă\",\n    \"new-category-created\": \"Categorie nouă creată\",\n    \"category-deleted\": \"Categorie ștearsă\",\n    \"category-edited\": \"Categorie editată\",\n    \"new-user-created\": \"Utilizator nou creat\",\n    \"user-edited\": \"Utilizator editat\",\n    \"user-deleted\": \"Utilizator șters\",\n    \"recommended-for-recovery-password-and-notifications\": \"Recomandat pentru recuperare parolă și notificări.\",\n    \"authentication-token\": \"Token autentificare\",\n    \"token\": \"Token\",\n    \"current-status\": \"Status curent\",\n    \"upload-image\": \"Încarcă imagine\",\n    \"the-changes-have-been-saved\": \"Schimbările au fost salvate\",\n    \"label\": \"Etichetă\",\n    \"links\": \"Link-uri\",\n    \"this-title-is-almost-always-used-in-the-sidebar-of-the-site\": \"Acest titlu este mai mereu folosit în sidebar-ul sit-ului.\",\n    \"password-must-be-at-least-6-characters-long\": \"Parola trebuie să aibă minim 6 caractere\",\n    \"ip-address-has-been-blocked\": \"Adresa de IP a fost blocată.\",\n    \"try-again-in-a-few-minutes\": \"Încercați din nou peste câteva minute.\",\n    \"content-published-from-scheduler\": \"Conținut publicat din programare (scheduler)\",\n    \"blog\": \"Blog\",\n    \"complete-all-fields\": \"Completează toate câmpurile\",\n    \"static\": \"Static\",\n    \"about-your-site-or-yourself\": \"Despre tine sau sit-ul tău\",\n    \"homepage\": \"Prima pagină (Acasă)\",\n    \"disabled\": \"Dezactivat\",\n    \"to-enable-the-user-you-must-set-a-new-password\": \"Pentru a activa userul trebuie setată o parolă.\",\n    \"delete-the-user-and-associate-his-content-to-admin-user\": \"Șterge utilizatorul și atribuie conținutul său admin-ului\",\n    \"delete-the-user-and-all-his-content\": \"Șterge utilizatorul și conținutul său\",\n    \"user-disabled\": \"Utilizator dezactivat\",\n    \"user-password-changed\": \"Parola utilizatorului schimbată\",\n    \"the-password-and-confirmation-password-do-not-match\": \"Parola și verificarea nu corespund\",\n    \"scheduled-content\": \"Conținut programat\",\n    \"there-are-no-scheduled-content\": \"Nu există conținut programat.\",\n    \"new-content-created\": \"Conținut nou creeat\",\n    \"content-edited\": \"Conținut editat\",\n    \"content-deleted\": \"Conținut șters\",\n    \"undefined\": \"Nedefinit\",\n    \"create-new-content-for-your-site\": \"Creează conținut nou pentru sit-ul tău\",\n    \"order-items-by\": \"Sortează după\",\n    \"all-content\": \"Tot conținutul\",\n    \"dynamic\": \"Dinamic\",\n    \"type\": \"Tip\",\n    \"draft-content\": \"Conținut ciornă\",\n    \"post\": \"Postare\",\n    \"default\": \"Prestabilit\",\n    \"latest-content\": \"Conținut recent\",\n    \"default-message\": \"Mesaje prestabilite\",\n    \"no-parent\": \"Fără părinte\",\n    \"have-you-seen-my-ball\": \"Mi-ai văzut mingea?\",\n    \"pagebreak\": \"Inserează tagul Citește mai mult\",\n    \"pages\": \"Pagini\",\n    \"this-plugin-may-not-be-supported-by-this-version-of-bludit\": \"Este posibil ca acest plugin să nu fie compatibil cu această versiune Bludit\",\n    \"previous\": \"Anterior\",\n    \"previous-page\": \"Pagina anterioară\",\n    \"next-page\": \"Pagina următoare\",\n    \"scheduled\": \"Programat\",\n    \"this-token-is-similar-to-a-password-it-should-not-be-shared\": \"Acest token este similar cu o parolă, nu trebuie publicat.\",\n    \"congratulations-you-have-successfully-installed-your-bludit\": \"Felicitări, ai instalat cu success **Bludit**\",\n    \"this-theme-may-not-be-supported-by-this-version-of-bludit\": \"Este posibil ca această temă să nu fie compatibilă cu această versiune Bludit\",\n    \"read-more\": \"Citește mai mult\",\n    \"remember-me\": \"Ține-mă minte\",\n    \"plugins-position\": \"Poziția plugin-ului\",\n    \"plugins-sorted\": \"Plugin-uri sortate\",\n    \"plugins-position-changed\": \"Poziția plugin-ului schimbată\",\n    \"drag-and-drop-to-set-the-position-of-the-plugin\": \"Trage și plasează pentru a schimba poziția plugin-uilor\",\n    \"change-the-position-of-the-plugins\": \"Schimbă poziția plugin-uilor\",\n    \"reading-time\": \"Timp de citire\",\n    \"minutes\": \"minute\",\n    \"minute\": \"minut\",\n    \"example-page-1-slug\": \"creeaza-propriul-tau-continut\",\n    \"example-page-1-title\": \"Creează propriul tău conținut\",\n    \"example-page-1-content\": \"Începe a scrie conținut nou sau editeză existent. Pentru a creea, edita sau șterge conținut trebuie să fii logat în <a href=\\\"./admin/\\\">admin panel</a> cu username `admin` și cu parolă setată de tine în timpul instalării.\",\n    \"example-page-2-slug\": \"seteaza-noul-tau-sit\",\n    \"example-page-2-title\": \"Setează noul tău sit\",\n    \"example-page-2-content\": \"Schimbă setările sit-lui din <a href=\\\"./admin/\\\">admin panel</a>, poți schimba titlul, descrierea și rețelele sociale din <a href=\\\"./admin/settings\\\" target=\\\"_blank\\\">Settings > General</a>.\",\n    \"example-page-3-slug\": \"urmareste-bludit\",\n    \"example-page-3-title\": \"Urmărește Bludit\",\n    \"example-page-3-content\": \"Primește ultimile știri, informații despre noi versiuni, teme și pluginuri noi pe paginile noastre de <a href=\\\"https://www.facebook.com/bluditcms/\\\" target=\\\"_blank\\\">Facebook</a>, <a href=\\\"https://www.twitter.com/bludit/\\\" target=\\\"_blank\\\">Twitter</a> și <a href=\\\"https://www.youtube.com/c/Bluditcms\\\" target=\\\"_blank\\\">YouTube</a> sau vizitează-ne pe <a href=\\\"https://blog.bludit.com\\\" target=\\\"_blank\\\">Blog</a>.\",\n    \"example-page-4-slug\": \"despre\",\n    \"example-page-4-title\": \"Despre\",\n    \"example-page-4-content\": \"Pagina Despre este una dintre cele mai vizitate pagini așa că este recomandat să conțină informații cât mai clare despre sit-ul tău.\",\n    \"the-extension-zip-is-not-installed\": \"Extensia zip nu este instalată, pentru a folosi acest plugin trebuie întâi să instalezi extensia.\",\n    \"there-are-no-sticky-pages-at-this-moment\": \"Nu sunt pagini fixate în acest moment.\",\n    \"there-are-no-scheduled-pages-at-this-moment\": \"Nu sunt pagini programate în acest moment.\",\n    \"update\": \"Update\",\n    \"template\": \"Temă\",\n    \"nickname\": \"Poreclă\",\n    \"disable-user\": \"Dezactivează utilizator\",\n    \"delete-user-and-keep-content\": \"Șterge utilizatorul și păstrează-i conținutul\",\n    \"delete-user-and-delete-content\": \"Șterge utilizatorul și șterge-i conținutul (Atenție)\",\n    \"social-networks\": \"Rețele Sociale\",\n    \"interval\": \"Interval\",\n    \"number-in-minutes-for-every-execution-of-autosave\": \"Număr minute pentru auto-salvare.\",\n    \"extreme-friendly-url\": \"URL foarte prietenos\",\n    \"title-formats\": \"Format titluri\",\n    \"delete-content\": \"Șterge conținut\",\n    \"are-you-sure-you-want-to-delete-this-page\": \"Sigur vrei să ștergi această pagină?\",\n    \"sticky\": \"Fixat\",\n    \"actions\": \"Acțiuni\",\n    \"edit\": \"Editează\",\n    \"options\": \"Opțiuni\",\n    \"enter-title\": \"Introdu titlu\",\n    \"media-manager\": \"Manager media\",\n    \"set-a-cover-image-from-external-url,-such-as-a-cdn-or-some-server-dedicated-for-images\": \"Setează imagine copertă folosind un URL extern, de la un CDN sau oricare alt server de stocare imagini.\",\n    \"user\": \"Utilizator\",\n    \"date-format-format\": \"Format dată: <code>YYYY-MM-DD Hours:Minutes:Seconds</code>\",\n    \"start-typing-a-page-title-to-see-a-list-of-suggestions\": \"Începe a scrie un titlu de pagină pentru a vedea o listă de sugestii.\",\n    \"field-used-when-ordering-content-by-position\": \"Câmp folosit atunci când conținutul se sortează după poziție\",\n    \"write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page\": \"Scrie un nume de temă pentru a filtra pagina din temă și schimba stilul paginii.\",\n    \"write-the-tags-separated-by-commas\": \"Scrie etichetele separate prin virgulă.\",\n    \"apply-code-noindex-code-to-this-page\": \"Aplică <code>noindex</code> pentru această pagină.\",\n    \"this-tells-search-engines-not-to-show-this-page-in-their-search-results\": \"Asta va spune motoarelor de căutare să nu includă această pagină în rezultate.\",\n    \"apply-code-nofollow-code-to-this-page\": \"Aplică <code>nofollow</code> pentru această pagină.\",\n    \"this-tells-search-engines-not-to-follow-links-on-this-page\": \"Asta va spune motoarelor de căutare să nu urmărească link-urile din această pagină.\",\n    \"apply-code-noarchive-code-to-this-page\": \"Aplică <code>noarchive</code> pentru această pagină.\",\n    \"this-tells-search-engines-not-to-save-a-cached-copy-of-this-page\": \"Asta va spune motoarelor de căutare să nu includă copie de tip cache a acestei pagini.\",\n    \"uncategorized\": \"Fără categorie\",\n    \"done\": \"Finalizat\",\n    \"delete-category\": \"Șterge categorie\",\n    \"are-you-sure-you-want-to-delete-this-category?\": \"Sigur vrei să ștergi această categorie ?\",\n    \"confirm-new-password\": \"Confirmă noua parolă\",\n    \"the-nickname-is-almost-used-in-the-themes-to-display-the-author-of-the-content\": \"Porecla poate fi afișată de unele teme ca și autor de conținut\",\n    \"allow-unicode\": \"Permite Unicode\",\n    \"allow-unicode-characters-in-the-url-and-some-part-of-the-system\": \"Permite caractere Unicode in URL-uri și alte părți ale sistemului.\",\n    \"variables-allowed\": \"Variabile permise\",\n    \"tag\": \"Etichetă\",\n    \"drag-and-drop-to-sort-the-plugins\": \"Trage și Plasează pentru a sorta plugin-uri.\",\n    \"seo\": \"SEO\",\n    \"documentation\": \"Documentație\",\n    \"forum-support\": \"Forum suport\",\n    \"chat-support\": \"Chat suport\",\n    \"quick-links\": \"Link-uri rapide\",\n    \"leave-empty-for-autocomplete-by-bludit\": \"Lasă gol pentru auto-completare de către Bludit.\",\n    \"choose-a-password-for-the-user-admin\": \"Alege o parolă pentru <code>admin</code>\",\n    \"access-denied\": \"Acces interzis\",\n    \"choose-images-to-upload\": \"Alege imagini pentru upload\",\n    \"insert\": \"Inserează\",\n    \"upload\": \"Upload\",\n    \"autosave\": \"Auto-salvare\",\n    \"the-content-is-saved-as-a-draft-to-publish-it\": \"Conținut salvat ca ciornă. Pentru a-l publica apasă pe butonul <b>Publicare</b> sau îl poți edita și <b>Salva ca ciornă</b>.\",\n    \"site\": \"Sit\",\n    \"first\": \"Primul\",\n    \"last\": \"Ultimul\",\n    \"there-are-no-pages-at-this-moment\": \"Nu sunt pagini momentan.\",\n    \"there-are-no-static-pages-at-this-moment\": \"Nu sunt pagini statice în acest moment.\",\n    \"there-are-no-draft-pages-at-this-moment\": \"Nu sunt pagini ciorne în acest moment.\",\n    \"good-morning\": \"Bună dimineața\",\n    \"good-afternoon\": \"Bună după-amiază\",\n    \"good-evening\": \"Bună seara\",\n    \"good-night\": \"Noapte bună\",\n    \"hello\": \"Salut\",\n    \"there-are-no-images-for-the-page\": \"Nu sunt imagini pentru pagină.\",\n    \"select-cover-image\": \"Alege poza de copertă\",\n    \"this-plugin-depends-on-the-following-plugins\": \"Acest plugin depinde de următoarele pluginuri.\",\n    \"no-pages-found\": \"Nicio pagină găsită\",\n    \"system-updated\": \"Sistem updatat\",\n    \"security\": \"Securitate\",\n    \"remove-cover-image\": \"Șterge imaginea copertă\",\n    \"width\": \"Lățime\",\n    \"height\": \"Înălțime\",\n    \"quality\": \"Calitate\",\n    \"thumbnails\": \"Miniaturi\",\n    \"thumbnail\": \"Miniatură\",\n    \"thumbnail-width-in-pixels\": \"Lățime miniatură în pixeli (px).\",\n    \"thumbnail-height-in-pixels\": \"Înălțime miniatură în pixels (px).\",\n    \"thumbnail-quality-in-percentage\": \"Calitate miniatură în procent (%).\",\n    \"maximum-load-file-size-allowed:\": \"Mărime fișier maxim admisă:\",\n    \"file-type-is-not-supported\": \"Format fișier nesuportat. Se permite:\",\n    \"page-content\": \"Page content\",\n    \"markdown-parser\": \"Markdown parser\",\n    \"site-logo\": \"Site logo\",\n    \"search\": \"Search\",\n    \"search-plugins\": \"Search plugins\",\n    \"enabled-plugins\": \"Enabled plugins\",\n    \"disabled-plugins\": \"Disabled plugins\",\n    \"remove-logo\": \"Remove logo\",\n    \"preview\": \"Preview\",\n    \"author-can-write-and-edit-their-own-content\": \"Autor: Poate scrie și edita propriul conținut. Editor: Poate scrie și edita conținutul altora.\",\n    \"custom-fields\": \"Custom fields\",\n    \"define-custom-fields-for-the-content\": \"Definiți câmpuri personalizate pentru conținut.\",\n    \"start-typing-to-see-a-list-of-suggestions\": \"Începeți să tastați pentru a vedea o listă de sugestii.\",\n    \"view\": \"View\",\n    \"no-tags\": \"Nicio etichetă\",\n    \"insert-thumbnail\": \"Inserați miniatura\",\n    \"visits-today\": \"Vizite astăzi\",\n    \"no-categories\": \"Nicio categorie\",\n    \"quick-search-pages-and-menu\": \"Căutare rapidă pagini și meniu\",\n    \"click-here-for-quick-search\": \"Click here for quick search\",\n    \"analytics\": \"Analize\",\n    \"unique-visitors\": \"Vizitatori unici\",\n    \"insert-linked-thumbnail\": \"Inserați miniatura cu link\",\n    \"search-placeholder\": \"Căutați pagini, conținut și elemente de meniu...\",\n    \"no-results-found\": \"Niciun rezultat găsit\",\n    \"navigation\": \"Navigare\",\n    \"default-content-status\": \"Stare implicită conținut\",\n    \"default-status-for-new-content\": \"Alegeți dacă conținutul nou este creat implicit ca Publicat sau Ciornă.\",\n    \"thumbnail-generation\": \"Generare miniaturi\",\n    \"enable-disable-automatic-thumbnail-generation-on-image-upload\": \"Activați sau dezactivați generarea automată a miniaturilor la încărcarea imaginilor.\"\n}\n"
  },
  {
    "path": "bl-languages/ru.json",
    "content": "{\n    \"language-data\": {\n        \"native\": \"Русский (Россия)\",\n        \"english-name\": \"Russian\",\n        \"locale\": \"ru, ru_RU\",\n        \"last-update\": \"2023-09-20\",\n        \"authors\": [\n            \"Сергей Ворон https:\\/\\/voron.pw\",\n            \"Макс Костиков https:\\/\\/kostikov.co\",\n            \"Paul Bid (Павел Бид) https:\\/\\/paul.bid\",\n            \"\"\n        ]\n    },\n    \"dates\": {\n        \"Monday\": \"Понедельник\",\n        \"Tuesday\": \"Вторник\",\n        \"Wednesday\": \"Среда\",\n        \"Thursday\": \"Четверг\",\n        \"Friday\": \"Пятница\",\n        \"Saturday\": \"Суббота\",\n        \"Sunday\": \"Воскресенье\",\n        \"Mon\": \"Пн.\",\n        \"Tue\": \"Вт.\",\n        \"Wed\": \"Ср.\",\n        \"Thu\": \"Чт.\",\n        \"Fri\": \"Пт.\",\n        \"Sat\": \"Сб.\",\n        \"Sun\": \"Вс.\",\n        \"January\": \"Январь\",\n        \"February\": \"Февраль\",\n        \"March\": \"Март\",\n        \"April\": \"Апрель\",\n        \"May\": \"Май\",\n        \"June\": \"Июнь\",\n        \"July\": \"Июль\",\n        \"August\": \"Август\",\n        \"September\": \"Сентябрь\",\n        \"October\": \"Октябрь\",\n        \"November\": \"Ноябрь\",\n        \"December\": \"Декабрь\",\n        \"Jan\": \"Янв\",\n        \"Feb\": \"Фев\",\n        \"Mar\": \"Март\",\n        \"Apr\": \"Апр\",\n        \"Jun\": \"Июнь\",\n        \"Jul\": \"Июль\",\n        \"Aug\": \"Авг\",\n        \"Sep\": \"Сен\",\n        \"Oct\": \"Окт\",\n        \"Nov\": \"Нояб\",\n        \"Dec\": \"Дек\"\n    },\n    \"dashboard\": \"Панель управления\",\n    \"manage-users\": \"Управление пользователями\",\n    \"manage-categories\": \"Управление категориями\",\n    \"general-settings\": \"Общие настройки\",\n    \"advanced-settings\": \"Расширенные настройки\",\n    \"thanks-for-supporting-bludit\": \"Спасибо за поддержку Bludit\",\n    \"upgrade-to-bludit-pro\": \"Улучшить до Bludit PRO\",\n    \"language\": \"Язык\",\n    \"plugin\": \"Плагин\",\n    \"plugins\": \"Плагины\",\n    \"developers\": \"Информация для разработчиков\",\n    \"themes\": \"Темы\",\n    \"about\": \"О системе\",\n    \"url\": \"URL\",\n    \"welcome\": \"Добро пожаловать\",\n    \"logout\": \"Выход\",\n    \"website\": \"Сайт\",\n    \"publish\": \"Опубликовать\",\n    \"manage\": \"Управление\",\n    \"content\": \"Записи\",\n    \"category\": \"Категория\",\n    \"categories\": \"Категории\",\n    \"users\": \"Пользователи\",\n    \"settings\": \"Настройки\",\n    \"general\": \"Основные\",\n    \"advanced\": \"Расширенные\",\n    \"new-content\": \"Новая запись\",\n    \"manage-content\": \"Управление записями\",\n    \"add-new-content\": \"Добавить новую запись\",\n    \"new-category\": \"Новая категория\",\n    \"you-do-not-have-sufficient-permissions\": \"У Вас недостаточно прав для доступа к этой странице, обратитесь к администратору.\",\n    \"add-a-new-user\": \"Добавить пользователя\",\n    \"url-associated-with-the-content\": \"URL данной записи\",\n    \"language-and-timezone\": \"Язык и часовой пояс\",\n    \"change-your-language-and-region-settings\": \"Изменить настройки языка и региона\",\n    \"notifications\": \"Оповещения\",\n    \"plugin-activated\": \"Плагин активирован\",\n    \"plugin-deactivated\": \"Плагин отключен\",\n    \"new-theme-configured\": \"Новая тема настроена\",\n    \"settings-changes\": \"Изменения в настройках\",\n    \"plugin-configured\": \"Плагин настроен\",\n    \"welcome-to-bludit\": \"Добро пожаловать в Bludit\",\n    \"statistics\": \"Статистика\",\n    \"drafts\": \"Черновики\",\n    \"title\": \"Заголовок\",\n    \"save\": \"Сохранить\",\n    \"save-as-draft\": \"Сохранить как черновик\",\n    \"cancel\": \"Отмена\",\n    \"description\": \"Описание\",\n    \"this-field-can-help-describe-the-content\": \"Это поле может помочь описать содержимое в нескольких словах. Не более 150 символов.\",\n    \"images\": \"Изображения\",\n    \"error\": \"Ошибка\",\n    \"supported-image-file-types\": \"Поддерживаемые типы файлов изображений\",\n    \"cover-image\": \"Обложка\",\n    \"drag-and-drop-or-click-here\": \"Перетащите или нажмите здесь\",\n    \"there-are-no-images\": \"Изображений нет\",\n    \"upload-and-more-images\": \"Загрузить другие изображения\",\n    \"click-on-the-image-for-options\": \"Нажмите на изображение для выбора опций.\",\n    \"click-here-to-cancel\": \"Нажмите здесь, чтобы отменить.\",\n    \"insert-image\": \"Вставить изображение\",\n    \"set-as-cover-image\": \"Установить как обложку\",\n    \"delete-image\": \"Удалить изображение\",\n    \"tags\": \"Теги\",\n    \"add\": \"Добавить\",\n    \"status\": \"Статус\",\n    \"published\": \"Опубликовано\",\n    \"draft\": \"Черновик\",\n    \"empty-title\": \"Пустой заголовок\",\n    \"empty\": \"пусто\",\n    \"date\": \"Дата\",\n    \"external-cover-image\": \"Внешняя обложка\",\n    \"parent\": \"Родитель\",\n    \"full-image-url\": \"Полный URL к изображению.\",\n    \"this-field-is-used-when-you-order-the-content-by-position\": \"Это поле используется, когда Вы сортируете по позиции.\",\n    \"position\": \"Позиция\",\n    \"friendly-url\": \"Дружественный URL\",\n    \"image-description\": \"Описание изображения\",\n    \"add-a-new-category\": \"Добавить новую категорию\",\n    \"name\": \"Имя\",\n    \"username\": \"Логин\",\n    \"quick-search-pages-and-menu\": \"Быстрый поиск страниц и меню\",\n    \"click-here-for-quick-search\": \"Click here for quick search\",\n    \"analytics\": \"Аналитика\",\n    \"visits-today\": \"Посещений сегодня\",\n    \"unique-visitors\": \"Уникальных посетителей\",\n    \"search-placeholder\": \"Поиск страниц, контента и пунктов меню...\",\n    \"no-results-found\": \"Результатов не найдено\",\n    \"first-name\": \"Имя\",\n    \"last-name\": \"Фамилия\",\n    \"to-schedule-the-content-select-the-date-and-time\": \"Укажите дату и время когда эта запись будет «Опубликована».\",\n    \"email\": \"Email\",\n    \"role\": \"Роль\",\n    \"registered\": \"Зарегистрирован\",\n    \"site-information\": \"Информация о сайте\",\n    \"site-title\": \"Заголовок сайта\",\n    \"use-this-field-to-name-your-site\": \"Используйте это поле, для названия сайта, оно появится в верхней части каждой страницы сайта.\",\n    \"site-slogan\": \"Слоган\",\n    \"use-this-field-to-add-a-catchy-phrase\": \"Используйте это поле, чтобы добавить броскую фразу (слоган) на сайт.\",\n    \"site-description\": \"Описание\",\n    \"you-can-add-a-site-description-to-provide\": \"Вы можете добавить краткое описание сайта.\",\n    \"footer-text\": \"Текст подвала\",\n    \"you-can-add-a-small-text-on-the-bottom\": \"Вы можете добавить небольшой текст в нижней части каждой страницы. Например, авторское право, имя владельца, даты и т.д.\",\n    \"social-networks-links\": \"Социальные сети\",\n    \"site-url\": \"URL сайта\",\n    \"email-account-settings\": \"Настройки email учётной записи\",\n    \"sender-email\": \"Email отправителя\",\n    \"emails-will-be-sent-from-this-address\": \"Письма будут отправлены с этого адреса.\",\n    \"url-filters\": \"URL фильтры\",\n    \"select-your-sites-language\": \"Выберите язык сайта.\",\n    \"timezone\": \"Часовой пояс\",\n    \"select-a-timezone-for-a-correct\": \"Выберите часовой пояс для корректного отображения даты и времени на сайте.\",\n    \"locale\": \"Локализация\",\n    \"date-and-time-formats\": \"Форматы даты и времени\",\n    \"date-format\": \"Формат даты\",\n    \"current-format\": \"Текущий формат\",\n    \"version\": \"Версия\",\n    \"author\": \"Автор\",\n    \"activate\": \"Активировать\",\n    \"deactivate\": \"Деактивировать\",\n    \"edit-category\": \"Редактировать категорию\",\n    \"delete\": \"Удалить\",\n    \"password\": \"Пароль\",\n    \"confirm-password\": \"Подтвердите пароль\",\n    \"editor\": \"Редактор\",\n    \"administrator\": \"Администратор\",\n    \"edit-user\": \"Редактирование пользователя\",\n    \"edit-content\": \"Редактировать запись\",\n    \"profile\": \"Профиль\",\n    \"change-password\": \"Изменить пароль\",\n    \"enabled\": \"Включен\",\n    \"disable-the-user\": \"Отключить пользователя\",\n    \"profile-picture\": \"Изображение профиля\",\n    \"edit-or-delete-your-categories\": \"Редактировать или удалить Ваши категории\",\n    \"create-a-new-category-to-organize-your-content\": \"Создать новую категорию для упорядочивания Ваших записей\",\n    \"confirm-delete-this-action-cannot-be-undone\": \"Подтвердите удаление, это действие не обратимо.\",\n    \"do-you-want-to-disable-the-user\": \"Вы хотите отключить пользователя?\",\n    \"new-password\": \"Новый пароль\",\n    \"you-can-change-this-field-when-save-the-current-changes\": \"Вы сможете изменить это поле после того, как сохраните текущие настройки.\",\n    \"items-per-page\": \"Записей на странице\",\n    \"invite-a-friend-to-collaborate-on-your-site\": \"Пригласить друга для совместной работы на сайте\",\n    \"number-of-items-to-show-per-page\": \"Количество записей, отображаемых на странице, -1 отобразит все записи.\",\n    \"website-or-blog\": \"«Веб-сайт» или «Блог»\",\n    \"order-content-by\": \"Сортировать записи по\",\n    \"edit-or-delete-content-from-your-site\": \"Редактировать или удалить запись на Вашем сайте\",\n    \"order-the-content-by-date-to-build-a-blog\": \"Сортировать записи по дате для создания Блога или по позиции для создания Сайта.\",\n    \"default-content-status\": \"Статус контента по умолчанию\",\n    \"default-status-for-new-content\": \"Выберите, будет ли новый контент создаваться как Опубликованный или Черновик по умолчанию.\",\n    \"page-not-found-content\": \"Привет! Похоже, что страница не существует\",\n    \"page-not-found\": \"Страница не найдена\",\n    \"predefined-pages\": \"Предопределенные страницы\",\n    \"returning-page-when-the-page-doesnt-exist\": \"Страница, отображаемая, когда запрашиваемая страница не найдена. Оставьте поле пустым, чтобы отобразить стандартное сообщение.\",\n    \"returning-page-for-the-main-page\": \"Страница, отображаемая как главная. Оставьте поле пустым, если хотите показывать все странице на главной.\",\n    \"full-url-of-your-site\": \"Полный URL Вашего сайта, включая протокол HTTP или HTTPS (только если Вы включили поддержку SSL на сервере).\",\n    \"with-the-locales-you-can-set-the-regional-user-interface\": \"С помощью локали Вы можете задавать форматирование региональных данных, например, даты. Локали должны быть установлены в Вашей системе.\",\n    \"bludit-installer\": \"Установка Bludit\",\n    \"choose-your-language\": \"Выберете Ваш язык\",\n    \"next\": \"Вперёд\",\n    \"complete-the-form-choose-a-password-for-the-username-admin\": \"Выберете пароль для пользователя «admin»\",\n    \"show-password\": \"Показать пароль\",\n    \"install\": \"Установить\",\n    \"login\": \"Вход\",\n    \"back-to-login-form\": \"Назад к форме входа\",\n    \"get-login-access-code\": \"Получить код доступа для входа\",\n    \"email-access-code\": \"Проверочный код по email\",\n    \"whats-next\": \"Что дальше\",\n    \"username-or-password-incorrect\": \"Неверный логин или пароль\",\n    \"follow-bludit-on\": \"Подписывайтесь на Bludit в\",\n    \"this-is-a-brief-description-of-yourself-our-your-site\": \"Это краткое описание о Вас или о сайте, чтобы изменить этот текст перейдите в: Панель управления --> Настройки --> Плагины. Затем выберите и настройте плагин About.\",\n    \"new-version-available\": \"Доступна новая версия\",\n    \"new-category-created\": \"Новая категория создана\",\n    \"category-deleted\": \"Категория удалена\",\n    \"category-edited\": \"Категория отредактирована\",\n    \"new-user-created\": \"Новый пользователь создан\",\n    \"user-edited\": \"Пользователь отредактирован\",\n    \"user-deleted\": \"Пользователь удален\",\n    \"recommended-for-recovery-password-and-notifications\": \"Рекомендуется для восстановления пароля и оповещений.\",\n    \"authentication-token\": \"Токен аутентификации\",\n    \"token\": \"Токен\",\n    \"current-status\": \"Текущий статус\",\n    \"upload-image\": \"Загрузить изображение\",\n    \"the-changes-have-been-saved\": \"Изменения сохранены\",\n    \"label\": \"Метка\",\n    \"links\": \"Ссылки\",\n    \"this-title-is-almost-always-used-in-the-sidebar-of-the-site\": \"Этот заголовок почти всегда используется на боковой панели сайта.\",\n    \"password-must-be-at-least-6-characters-long\": \"Пароль должен содержать минимум 6 символов\",\n    \"ip-address-has-been-blocked\": \"IP адрес заблокирован.\",\n    \"try-again-in-a-few-minutes\": \"Попробуйте еще раз через несколько минут.\",\n    \"content-published-from-scheduler\": \"Запланированная запись опубликована\",\n    \"blog\": \"Блог\",\n    \"complete-all-fields\": \"Заполните все поля\",\n    \"static\": \"Статическая\",\n    \"about-your-site-or-yourself\": \"О Вас или Вашем сайте\",\n    \"homepage\": \"Домашняя страница\",\n    \"disabled\": \"Отключен\",\n    \"to-enable-the-user-you-must-set-a-new-password\": \"Для активации пользователя Вы должны задать новый пароль.\",\n    \"delete-the-user-and-associate-his-content-to-admin-user\": \"Удалить пользователя и связать его записи с учётной записью администратора\",\n    \"delete-the-user-and-all-his-content\": \"Удалить пользователя и все его записи\",\n    \"user-disabled\": \"Пользователь отключен\",\n    \"user-password-changed\": \"Пароль пользователя изменен\",\n    \"the-password-and-confirmation-password-do-not-match\": \"Пароль и его подтверждение не совпадают\",\n    \"scheduled-content\": \"Запланированная запись\",\n    \"there-are-no-scheduled-content\": \"Нет запланированных записей\",\n    \"new-content-created\": \"Новая запись создана\",\n    \"content-edited\": \"Запись отредактирована\",\n    \"content-deleted\": \"Запись удалена\",\n    \"undefined\": \"Неопределено\",\n    \"create-new-content-for-your-site\": \"Создать новую запись для сайта\",\n    \"order-items-by\": \"Упорядочить по\",\n    \"all-content\": \"Всё содержимое\",\n    \"dynamic\": \"Динамический\",\n    \"type\": \"Тип\",\n    \"draft-content\": \"Содержимое черновика\",\n    \"post\": \"Опубликовать\",\n    \"default\": \"По умолчанию\",\n    \"latest-content\": \"Последняя запись\",\n    \"default-message\": \"Сообщение по умолчанию\",\n    \"no-parent\": \"Нет родителя\",\n    \"have-you-seen-my-ball\": \"Ты мой мячик видел?\",\n    \"pagebreak\": \"Разрыв страницы\",\n    \"pages\": \"Страницы\",\n    \"this-plugin-may-not-be-supported-by-this-version-of-bludit\": \"Этот плагин может не поддерживаться текущей версией Bludit\",\n    \"previous\": \"Назад\",\n    \"previous-page\": \"Предыдущая страница\",\n    \"next-page\": \"Следующая страница\",\n    \"scheduled\": \"Запланировано\",\n    \"this-token-is-similar-to-a-password-it-should-not-be-shared\": \"Этот токен похож на пароль, он не должен демонстрироваться.\",\n    \"congratulations-you-have-successfully-installed-your-bludit\": \"Поздравляем! Вы успешно установили **Bludit**\",\n    \"this-theme-may-not-be-supported-by-this-version-of-bludit\": \"Эта тема может не поддерживаться текущей версией Bludit\",\n    \"read-more\": \"Читать далее\",\n    \"remember-me\": \"Запомнить\",\n    \"plugins-position\": \"Позиция плагина\",\n    \"plugins-sorted\": \"Плагины отсортированы\",\n    \"plugins-position-changed\": \"Позиция плагина изменена\",\n    \"drag-and-drop-to-set-the-position-of-the-plugin\": \"Перетащите, чтобы установить позицию плагинов.\",\n    \"change-the-position-of-the-plugins\": \"Изменение положения плагинов\",\n    \"reading-time\": \"Время чтения\",\n    \"minutes\": \"минуты\",\n    \"minute\": \"минут\",\n    \"example-page-1-slug\": \"создайте-свою-собственную-запись\",\n    \"example-page-1-title\": \"Создайте свою собственную запись\",\n    \"example-page-1-content\": \"Начните писать свой собственный контент или отредактируйте текущий, чтобы он соответствовал Вашим потребностям. Для создания, редактирования или удаления записей Вам необходимо войти в [панель управления](.\\/admin) с именем пользователя `admin` и паролем, который Вы установили в процессе установки.\",\n    \"example-page-2-slug\": \"настройте-свой-новый-сайт\",\n    \"example-page-2-title\": \"Настройте свой новый сайт\",\n    \"example-page-2-content\": \"Обновите настройки своего сайта в [панели управления](.\\/admin), Вы можете изменить название, описание и социальные сети в [Настройки > Общие](.\\/admin\\/settings).\",\n    \"example-page-3-slug\": \"следуйте-за-bludit\",\n    \"example-page-3-title\": \"Следуйте за Bludit\",\n    \"example-page-3-content\": \"Получайте информацию о новостях, новых версиях, новых темах или новых плагинах на наших страницах в социальных сетях <a href=\\\"https:\\/\\/www.facebook.com\\/bluditcms\\/\\\" target=\\\"_blank\\\">Facebook<\\/a>, <a href=\\\"https:\\/\\/www.twitter.com\\/bludit\\/\\\" target=\\\"_blank\\\">Twitter<\\/a> и <a href=\\\"https:\\/\\/www.youtube.com\\/c\\/Bluditcms\\\" target=\\\"_blank\\\">YouTube<\\/a> или посетите наш [Блог](https:\\/\\/blog.bludit.com).\",\n    \"example-page-4-slug\": \"о-нас\",\n    \"example-page-4-title\": \"О нас\",\n    \"example-page-4-content\": \"Ваша страница «О нас», как правило, является одной из самых посещаемых страниц Вашего сайта, должна быть простой с несколькими ключевыми вещами, такими как Ваше имя, кто Вы, как с Вами связаться, небольшая история и т.д.\",\n    \"the-extension-zip-is-not-installed\": \"Расширение ZIP не установлено. Вы должны установить его для использования этого плагина.\",\n    \"there-are-no-sticky-pages-at-this-moment\": \"В настоящее время прикреплённые страницы отсутствуют.\",\n    \"there-are-no-scheduled-pages-at-this-moment\": \"В настоящее время нет запланированных публикаций.\",\n    \"update\": \"Обновить\",\n    \"template\": \"Шаблон\",\n    \"nickname\": \"Псевдоним\",\n    \"disable-user\": \"Отключить пользователя\",\n    \"delete-user-and-keep-content\": \"Удалить пользователя\",\n    \"delete-user-and-delete-content\": \"Удалить пользователя и содержимое (!)\",\n    \"social-networks\": \"Социальные сети\",\n    \"interval\": \"Интервал\",\n    \"number-in-minutes-for-every-execution-of-autosave\": \"Интервал в минутах для автосохранения.\",\n    \"extreme-friendly-url\": \"Сверхдружественный URL\",\n    \"title-formats\": \"Форматы заголовков\",\n    \"delete-content\": \"Удалить содержимое\",\n    \"are-you-sure-you-want-to-delete-this-page\": \"Вы уверены что хотите удалить эту страницу?\",\n    \"sticky\": \"Прикреплено\",\n    \"actions\": \"Действия\",\n    \"edit\": \"Редактировать\",\n    \"options\": \"Параметры\",\n    \"enter-title\": \"Введите заголовок\",\n    \"media-manager\": \"Управление медиафайлами\",\n    \"set-a-cover-image-from-external-url,-such-as-a-cdn-or-some-server-dedicated-for-images\": \"Задать изображение обложки из внешнего URL, например CDN или хранилища изображений.\",\n    \"user\": \"Пользователь\",\n    \"date-format-format\": \"Формат даты: <code>ГГГГ-ММ-ДД Часы:Минуты:Секунды<\\/code>\",\n    \"start-typing-a-page-title-to-see-a-list-of-suggestions\": \"Начните вводить заголовок чтобы увидеть список предложений.\",\n    \"field-used-when-ordering-content-by-position\": \"Поле используется для сортировки содержимого по порядку\",\n    \"write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page\": \"Напишите имя шаблона, чтобы отфильтровать страницу в теме и изменить её стиль.\",\n    \"write-the-tags-separated-by-commas\": \"Введите разделённый запятыми список тегов.\",\n    \"apply-code-noindex-code-to-this-page\": \"Применить <code>noindex<\\/code> для этой страницы.\",\n    \"this-tells-search-engines-not-to-show-this-page-in-their-search-results\": \"Это не позволит странице появится в поисковых системах.\",\n    \"apply-code-nofollow-code-to-this-page\": \"Применить <code>nofollow<\\/code> для этой страницы.\",\n    \"this-tells-search-engines-not-to-follow-links-on-this-page\": \"Поисковые системы не будут индексировать ссылки с этой страницы.\",\n    \"apply-code-noarchive-code-to-this-page\": \"Применить <code>noarchive<\\/code> для этой страницы.\",\n    \"this-tells-search-engines-not-to-save-a-cached-copy-of-this-page\": \"Поисковые системы не будут сохранять копию страницы в кэше.\",\n    \"uncategorized\": \"Без категории\",\n    \"done\": \"Готово\",\n    \"delete-category\": \"Удалить категорию\",\n    \"are-you-sure-you-want-to-delete-this-category?\": \"Вы уверены что хотите удалить эту категорию?\",\n    \"confirm-new-password\": \"Подтвердить пароль\",\n    \"the-nickname-is-almost-used-in-the-themes-to-display-the-author-of-the-content\": \"Псевдоним, в основном, используется в темах для отображения авторства у содержимого\",\n    \"allow-unicode\": \"Разрешить Unicode\",\n    \"allow-unicode-characters-in-the-url-and-some-part-of-the-system\": \"Разрешить символы Unicode в URL и других частях системы.\",\n    \"variables-allowed\": \"Разрешенные переменные\",\n    \"tag\": \"Тег\",\n    \"drag-and-drop-to-sort-the-plugins\": \"Отсортируйте плагины перетаскиванием.\",\n    \"seo\": \"SEO\",\n    \"documentation\": \"Документация\",\n    \"forum-support\": \"Форум поддержки\",\n    \"chat-support\": \"Чат поддержки\",\n    \"quick-links\": \"Быстрые ссылки\",\n    \"leave-empty-for-autocomplete-by-bludit\": \"Оставьте пустым для автозаполнения Bludit.\",\n    \"choose-a-password-for-the-user-admin\": \"Выберите пароль для пользователя <code>admin<\\/code>\",\n    \"access-denied\": \"Доступ запрещён\",\n    \"choose-images-to-upload\": \"Выберите изображение для загрузки\",\n    \"insert\": \"Вставить\",\n    \"upload\": \"Загрузить\",\n    \"autosave\": \"Автосохранение\",\n    \"the-content-is-saved-as-a-draft-to-publish-it\": \"Содержимое сохранено как черновик. Для публикации нажимте на кнопку <b>Опубликовать<\\/b> или Вы можете продолжить редактирование нажав на <b>Сохранить как черновик<\\/b>.\",\n    \"site\": \"Сайт\",\n    \"first\": \"Первый\",\n    \"last\": \"Последний\",\n    \"there-are-no-pages-at-this-moment\": \"На данный момент записей нет.\",\n    \"there-are-no-static-pages-at-this-moment\": \"На данный момент статических записей нет.\",\n    \"there-are-no-draft-pages-at-this-moment\": \"На данный момент черновиков нет.\",\n    \"good-morning\": \"Доброе утро\",\n    \"good-afternoon\": \"Добрый день\",\n    \"good-evening\": \"Добрый вечер\",\n    \"good-night\": \"Доброй ночи\",\n    \"hello\": \"Привет\",\n    \"there-are-no-images-for-the-page\": \"Для этой страницы нет изображений.\",\n    \"select-cover-image\": \"Выберите обложку записи\",\n    \"this-plugin-depends-on-the-following-plugins\": \"Этот плагин зависит от следующих плагинов.\",\n    \"no-pages-found\": \"Страниц не найдено\",\n    \"system-updated\": \"Система обновлена\",\n    \"security\": \"Безопасность\",\n    \"remove-cover-image\": \"Удалить изображение обложки\",\n    \"width\": \"Ширина\",\n    \"height\": \"Высота\",\n    \"quality\": \"Качество\",\n    \"thumbnails\": \"Миниатюры\",\n    \"thumbnail\": \"Миниатюра изображения\",\n    \"thumbnail-width-in-pixels\": \"Ширина миниатюры изображения в пикселях (px).\",\n    \"thumbnail-height-in-pixels\": \"Высота миниатюры изображения в пикселях (px).\",\n    \"thumbnail-quality-in-percentage\": \"Качество миниатюры изображения в процентах (%).\",\n    \"maximum-load-file-size-allowed:\": \"Максимально допустимый размер загружаемого файла:\",\n    \"file-type-is-not-supported\": \"Тип файла не поддерживается. Разрешенные типы:\",\n    \"page-content\": \"Содержимое страницы\",\n    \"markdown-parser\": \"Парсер Markdown\",\n    \"site-logo\": \"Логотип сайта\",\n    \"search\": \"Поиск\",\n    \"search-plugins\": \"Поиск плагинов\",\n    \"enabled-plugins\": \"Включенные плагины\",\n    \"disabled-plugins\": \"Отключенные плагины\",\n    \"remove-logo\": \"Удалить логотип\",\n    \"preview\": \"Предпросмотр\",\n    \"author-can-write-and-edit-their-own-content\": \"Автор: Может писать и редактировать собственные записи. Редактор: может писать и редактировать как свои записи, так и других пользователей.\",\n    \"custom-fields\": \"Настраиваемые поля\",\n    \"define-custom-fields-for-the-content\": \"Определите настраиваемые поля для содержимого. Узнайте больше о пользовательских полях в <a href='https:\\/\\/docs.bludit.com\\/en\\/content\\/custom-fields'>документации<\\/a> (только на английском).\",\n    \"start-typing-to-see-a-list-of-suggestions\": \"Начните писать, чтобы увидеть список подсказок.\",\n    \"view\": \"Просмотр\",\n    \"insert-thumbnail\": \"Вставить миниатюру\",\n    \"no-tags\": \"Нет тегов\",\n    \"no-categories\": \"Нет категорий\",\n    \"insert-linked-thumbnail\": \"Вставить миниатюру со ссылкой\",\n    \"navigation\": \"Навигация\",\n    \"thumbnail-generation\": \"Генерация миниатюр\",\n    \"enable-disable-automatic-thumbnail-generation-on-image-upload\": \"Включить или отключить автоматическую генерацию миниатюр при загрузке изображений.\"\n}\n"
  },
  {
    "path": "bl-languages/sv_SE.json",
    "content": "{\n    \"language-data\": {\n        \"native\": \"Svenska (Sverige)\",\n        \"english-name\": \"Swedish\",\n        \"locale\": \"sv, sv_SE\",\n        \"last-update\": \"2019-07-05\",\n        \"authors\": [\n            \"Micke @murko69\",\n            \"\",\n            \"\",\n            \"\"\n        ]\n    },\n    \"dates\": {\n        \"Mon\": \"Mån\",\n        \"Tue\": \"Tis\",\n        \"Wed\": \"Ons\",\n        \"Thu\": \"Tor\",\n        \"Fri\": \"Fre\",\n        \"Sat\": \"Lör\",\n        \"Sun\": \"Sön\",\n        \"Monday\": \"Måndag\",\n        \"Tuesday\": \"Tisdag\",\n        \"Wednesday\": \"Onsdag\",\n        \"Thursday\": \"Torsdag\",\n        \"Friday\": \"Fredag\",\n        \"Saturday\": \"Lördag\",\n        \"Sunday\": \"Söndag\",\n        \"Jan\": \"Jan\",\n        \"Feb\": \"Feb\",\n        \"Mar\": \"Mar\",\n        \"Apr\": \"Apr\",\n        \"Jun\": \"Jun\",\n        \"Jul\": \"Jul\",\n        \"Aug\": \"Aug\",\n        \"Sep\": \"Sep\",\n        \"Oct\": \"Okt\",\n        \"Nov\": \"Nov\",\n        \"Dec\": \"Dec\",\n        \"January\": \"Januari\",\n        \"February\": \"Februari\",\n        \"March\": \"Mars\",\n        \"April\": \"April\",\n        \"May\": \"Maj\",\n        \"June\": \"Juni\",\n        \"July\": \"Juli\",\n        \"August\": \"Augusti\",\n        \"September\": \"September\",\n        \"October\": \"Oktober\",\n        \"November\": \"November\",\n        \"December\": \"December\"\n    },\n    \"dashboard\": \"Administrationspanel\",\n    \"manage-users\": \"Hantera användare\",\n    \"manage-categories\": \"Hantera kategorier\",\n    \"general-settings\": \"Allmänna inställningar\",\n    \"advanced-settings\": \"Avancerade inställningar\",\n    \"thanks-for-supporting-bludit\": \"Tack för att du stödjer Bludit\",\n    \"upgrade-to-bludit-pro\": \"Uppgradera till Bludit PRO\",\n    \"language\": \"Språk\",\n    \"plugin\": \"Insticksprogram\",\n    \"plugins\": \"Insticksprogram\",\n    \"developers\": \"Utvecklare\",\n    \"themes\": \"Teman\",\n    \"about\": \"Om\",\n    \"url\": \"URL\",\n    \"welcome\": \"Välkommen\",\n    \"logout\": \"Logga ut\",\n    \"website\": \"Webbsida\",\n    \"publish\": \"Publicera\",\n    \"manage\": \"Hantera\",\n    \"content\": \"Innehåll\",\n    \"category\": \"Kategori\",\n    \"categories\": \"Kategorier\",\n    \"users\": \"Användare\",\n    \"settings\": \"Inställningar\",\n    \"general\": \"Allmänna\",\n    \"advanced\": \"Avancerade\",\n    \"new-content\": \"Nytt innehåll\",\n    \"manage-content\": \"Hantera innehåll\",\n    \"add-new-content\": \"Lägg till nytt innehåll\",\n    \"new-category\": \"Ny kategori\",\n    \"you-do-not-have-sufficient-permissions\": \"Du har inte tillräckliga behörigheter\",\n    \"add-a-new-user\": \"Lägg till ny användare\",\n    \"url-associated-with-the-content\": \"URL relaterad till innehållet.\",\n    \"language-and-timezone\": \"Språk och tidszon\",\n    \"change-your-language-and-region-settings\": \"Ändra språk- och regioninställningar.\",\n    \"notifications\": \"Aviseringar\",\n    \"plugin-activated\": \"Insticksprogram aktiverat\",\n    \"plugin-deactivated\": \"Insticksprogram inaktiverat\",\n    \"new-theme-configured\": \"Nytt tema konfigurerat\",\n    \"settings-changes\": \"Ändringar i inställningar\",\n    \"plugin-configured\": \"Insticksprogram konfigurerat\",\n    \"welcome-to-bludit\": \"Välkommen till Bludit\",\n    \"statistics\": \"Statistik\",\n    \"drafts\": \"Utkast\",\n    \"title\": \"Rubrik\",\n    \"save\": \"Spara\",\n    \"save-as-draft\": \"Spara som utkast\",\n    \"cancel\": \"Ångra\",\n    \"description\": \"Beskrivning\",\n    \"this-field-can-help-describe-the-content\": \"Det här fältet kan hjälpa till att beskriva innehållet med några ord.\",\n    \"images\": \"Bilder\",\n    \"error\": \"Fel\",\n    \"supported-image-file-types\": \"Bildfilstyper som stöds\",\n    \"cover-image\": \"Omslagsbild\",\n    \"drag-and-drop-or-click-here\": \"Dra och släpp eller klicka här\",\n    \"there-are-no-images\": \"Det finns inga bilder\",\n    \"upload-and-more-images\": \"UPLOAD AND MORE IMAGES\",\n    \"click-on-the-image-for-options\": \"Klicka på bilden för alternativ.\",\n    \"click-here-to-cancel\": \"Klicka här för att avbryta.\",\n    \"insert-image\": \"Infoga bild\",\n    \"set-as-cover-image\": \"Ange som omslagsbild\",\n    \"delete-image\": \"Radera bild\",\n    \"tags\": \"Taggar\",\n    \"add\": \"Lägg till\",\n    \"status\": \"Status\",\n    \"published\": \"Publicerad\",\n    \"draft\": \"Utkast\",\n    \"empty-title\": \"Ingen rubrik\",\n    \"empty\": \"tom\",\n    \"date\": \"Datum\",\n    \"external-cover-image\": \"Extern omslagsbild\",\n    \"parent\": \"PARENT\",\n    \"full-image-url\": \"Fullständig bildadress.\",\n    \"this-field-is-used-when-you-order-the-content-by-position\": \"Det här fältet används när du sorterar innehållet efter position.\",\n    \"position\": \"Position\",\n    \"friendly-url\": \"Vänlig URL\",\n    \"image-description\": \"Bildbeskrivning\",\n    \"add-a-new-category\": \"Lägg till en ny kategori\",\n    \"name\": \"Namn\",\n    \"username\": \"Användarnamn\",\n    \"first-name\": \"Förnamn\",\n    \"last-name\": \"Efternamn\",\n    \"to-schedule-the-content-select-the-date-and-time\": \"För att schemalägga innehållet välj datum och tid, statusen måste vara satt till \\\"Publicerad\\\".\",\n    \"email\": \"E-post\",\n    \"role\": \"Roll\",\n    \"registered\": \"Registrerad\",\n    \"site-information\": \"Webbplatsinformation\",\n    \"site-title\": \"Sidans titel\",\n    \"use-this-field-to-name-your-site\": \"Använd det här fältet för att namnge din webbplats.\",\n    \"site-slogan\": \"Sidans slogan\\/slagord\",\n    \"use-this-field-to-add-a-catchy-phrase\": \"Använd det här fältet för att lägga till en slogan\\/slagord för din webbplats.\",\n    \"site-description\": \"Webbplatsbeskrivning\",\n    \"you-can-add-a-site-description-to-provide\": \"Du kan lägga till en webbplatsbeskrivning för att ge en kort biografi eller beskrivning av din webbplats.\",\n    \"footer-text\": \"Sidfot\",\n    \"you-can-add-a-small-text-on-the-bottom\": \"Du kan lägga till lite text längst ner på varje sida. t.ex.: upphovsrätt, ägare, datum etc.\",\n    \"social-networks-links\": \"Sociala nätverk\",\n    \"site-url\": \"Webbadress\",\n    \"email-account-settings\": \"E-postkontoinställningar\",\n    \"sender-email\": \"Avsändarens e-postadress\",\n    \"emails-will-be-sent-from-this-address\": \"E-postmeddelanden skickas från denna adress.\",\n    \"url-filters\": \"URL-filter\",\n    \"select-your-sites-language\": \"Välj webbplatsens språk.\",\n    \"timezone\": \"Tidszon\",\n    \"select-a-timezone-for-a-correct\": \"Välj en tidszon för korrekt datum- och tidsvisning på din webbplats.\",\n    \"locale\": \"LOCALE\",\n    \"date-and-time-formats\": \"Datum- och tidformat\",\n    \"date-format\": \"Datumformat\",\n    \"current-format\": \"Nuvarande format\",\n    \"version\": \"Version\",\n    \"author\": \"Upphovsperson\",\n    \"activate\": \"Aktivera\",\n    \"deactivate\": \"Inaktivera\",\n    \"edit-category\": \"Redigera kategori\",\n    \"delete\": \"Radera\",\n    \"password\": \"Lösenord\",\n    \"confirm-password\": \"Bekräfta lösenord\",\n    \"editor\": \"Redaktör\",\n    \"administrator\": \"Administratör\",\n    \"edit-user\": \"Redigera användare\",\n    \"edit-content\": \"Redigera innehåll\",\n    \"profile\": \"Profil\",\n    \"change-password\": \"Ändra lösenord\",\n    \"enabled\": \"Aktiverad\",\n    \"disable-the-user\": \"Inaktivera användaren\",\n    \"profile-picture\": \"Profilbild\",\n    \"edit-or-delete-your-categories\": \"Redigera eller ta bort dina kategorier\",\n    \"create-a-new-category-to-organize-your-content\": \"Skapa en ny kategori för att organisera ditt innehåll\",\n    \"confirm-delete-this-action-cannot-be-undone\": \"Bekräfta raderingen, den här åtgärden kan inte ångras.\",\n    \"do-you-want-to-disable-the-user\": \"Vill du inaktivera användaren ?\",\n    \"new-password\": \"Nytt lösenord\",\n    \"you-can-change-this-field-when-save-the-current-changes\": \"Du kan ändra det här fältet när du sparar de aktuella ändringarna.\",\n    \"items-per-page\": \"Föremål per sida\",\n    \"invite-a-friend-to-collaborate-on-your-site\": \"Bjud in en vän att samarbeta på din webbplats\",\n    \"number-of-items-to-show-per-page\": \"Antal objekt som ska visas per sida.\",\n    \"website-or-blog\": \"Hemsida eller blogg\",\n    \"order-content-by\": \"Sortera innehåll efter\",\n    \"edit-or-delete-content-from-your-site\": \"Redigera eller ta bort innehåll från din webbplats\",\n    \"order-the-content-by-date-to-build-a-blog\": \"Sortera innehållet efter datum för att skapa en bloggkänsla eller sortera det efter plats för att skapa en hemsidekänsla.\",\n    \"page-not-found-content\": \"Det verkar som om den här sidan inte existerar.\",\n    \"page-not-found\": \"Sidan kunde ej hittas\",\n    \"predefined-pages\": \"Fördefinierade sidor\",\n    \"returning-page-when-the-page-doesnt-exist\": \"Ange en förvald 404 eller lämna tomt för att returnera ett standardmeddelande.\",\n    \"returning-page-for-the-main-page\": \"Ange en förvald startsida eller lämna tomt för att visa det senaste innehållet sorterat på endera datum eller position.\",\n    \"full-url-of-your-site\": \"Hela webbadressen till din webbplats. Komplett med protokollet HTTP eller HTTPS (endast om du har aktiverat SSL på din server).\",\n    \"with-the-locales-you-can-set-the-regional-user-interface\": \"Med detta kan du ställa in det regionala användargränssnittet, till exempel datum på ditt språk. Måste vara installerade på ditt system för att fungera korrekt.\",\n    \"bludit-installer\": \"Bludit Installation\",\n    \"choose-your-language\": \"Välj ditt språk\",\n    \"next\": \"Nästa\",\n    \"complete-the-form-choose-a-password-for-the-username-admin\": \"Fyll i formuläret och välj ett lösenord för användarnamnet <b>< admin ><\\/b>\",\n    \"show-password\": \"Visa lösenord\",\n    \"install\": \"Installera\",\n    \"login\": \"Logga in\",\n    \"back-to-login-form\": \"Tillbaka till inloggningsformuläret\",\n    \"get-login-access-code\": \"Få inloggningsuppgifter\",\n    \"email-access-code\": \"Mejla inloggningsuppgifter\",\n    \"whats-next\": \"Vad kommer härnäst\",\n    \"username-or-password-incorrect\": \"Felaktigt användarnamn eller lösenord\",\n    \"follow-bludit-on\": \"Följ Bludit på\",\n    \"this-is-a-brief-description-of-yourself-our-your-site\": \"Det här är en kort beskrivning av dig själv eller din webbplats. För att ändra texten, gå till adminpanelen, inställningar, Insticksprogram och konfigurera insticksprogrammet.\\\"About\\\".\",\n    \"new-version-available\": \"Ny version tillgänglig\",\n    \"new-category-created\": \"Ny kategori skapad\",\n    \"category-deleted\": \"Kategori raderad\",\n    \"category-edited\": \"Kategori redigerad\",\n    \"new-user-created\": \"My användare skapad\",\n    \"user-edited\": \"Användare redigerad\",\n    \"user-deleted\": \"Användare raderad\",\n    \"recommended-for-recovery-password-and-notifications\": \"Rekommenderas för aviseringar och återställning av lösenord.\",\n    \"authentication-token\": \"Autentiseringstoken\",\n    \"token\": \"Token\",\n    \"current-status\": \"Nuvarande status\",\n    \"upload-image\": \"Ladda upp bild\",\n    \"the-changes-have-been-saved\": \"Ändringarna har sparats\",\n    \"label\": \"Etikett\",\n    \"links\": \"Länkar\",\n    \"this-title-is-almost-always-used-in-the-sidebar-of-the-site\": \"Den här rubriken används nästan alltid i sidofältet på webbplatsen.\",\n    \"password-must-be-at-least-6-characters-long\": \"Lösenordet måste innehålla minst 6 tecken\",\n    \"ip-address-has-been-blocked\": \"IP-adressen har blockerats\",\n    \"try-again-in-a-few-minutes\": \"Försök igen om några minuter\",\n    \"content-published-from-scheduler\": \"Schemalagt innehåll publicerat\",\n    \"blog\": \"Blogg\",\n    \"complete-all-fields\": \"Fyll i alla fält\",\n    \"static\": \"Statisk\",\n    \"about-your-site-or-yourself\": \"Om din webbplats eller dig själv\",\n    \"homepage\": \"Hemsida\",\n    \"disabled\": \"Inaktiverad\",\n    \"to-enable-the-user-you-must-set-a-new-password\": \"För att aktivera användaren måste du ange ett nytt lösenord.\",\n    \"delete-the-user-and-associate-his-content-to-admin-user\": \"Ta bort användaren och associera allt deras innehåll till sidans administratör\",\n    \"delete-the-user-and-all-his-content\": \"Ta bort användaren och allt deras innehåll\",\n    \"user-disabled\": \"Användaren inaktiverad\",\n    \"user-password-changed\": \"Användarlösenordet har ändrats\",\n    \"the-password-and-confirmation-password-do-not-match\": \"Det angivna lösenordet och det bekräftade matchar inte\",\n    \"scheduled-content\": \"Schemalagt innehåll\",\n    \"there-are-no-scheduled-content\": \"Det finns inget schemalagt innehåll.\",\n    \"new-content-created\": \"Nytt innehåll skapat\",\n    \"content-edited\": \"Innehåll redigerat\",\n    \"content-deleted\": \"Innehåll raderat\",\n    \"undefined\": \"Odefinierad\",\n    \"create-new-content-for-your-site\": \"Skapa nytt innehåll för din webbplats\",\n    \"order-items-by\": \"Sortera objekt efter\",\n    \"all-content\": \"Allt innehåll\",\n    \"dynamic\": \"Dynamisk\",\n    \"type\": \"Typ\",\n    \"draft-content\": \"DRAFT CONTANT\",\n    \"post\": \"POST\",\n    \"default\": \"Standard\",\n    \"latest-content\": \"Senaste innehållet\",\n    \"default-message\": \"Standardmeddelande\",\n    \"no-parent\": \"NO PARENT\",\n    \"have-you-seen-my-ball\": \"Har du sett min boll?\",\n    \"pagebreak\": \"Sidbrytning\",\n    \"pages\": \"Sidor\",\n    \"this-plugin-may-not-be-supported-by-this-version-of-bludit\": \"Detta insticksprogram kanske inte stöds av den här versionen av Bludit\",\n    \"previous\": \"Föregående\",\n    \"previous-page\": \"Föregående sida\",\n    \"next-page\": \"Nästa sida\",\n    \"scheduled\": \"Schemalagd\",\n    \"this-token-is-similar-to-a-password-it-should-not-be-shared\": \"Denna token är att likna vid ett lösenord, det ska således inte delas med andra.\",\n    \"congratulations-you-have-successfully-installed-your-bludit\": \"Grattis du har lyckats installera Bludit.\",\n    \"this-theme-may-not-be-supported-by-this-version-of-bludit\": \"Detta tema kanske inte stöds av den här versionen av Bludit\",\n    \"read-more\": \"Läs mer\",\n    \"remember-me\": \"Kom ihåg mig\",\n    \"plugins-position\": \"Insticksprogrammets position\",\n    \"plugins-sorted\": \"Insticksprogram sorterade\",\n    \"plugins-position-changed\": \"Plugin position changed\",\n    \"drag-and-drop-to-set-the-position-of-the-plugin\": \"Dra och släpp för att placera insticksprogrammet\",\n    \"change-the-position-of-the-plugins\": \"Ändra ordningen på dina insticksprogram\",\n    \"reading-time\": \"Läsningstid\",\n    \"minutes\": \"minuter\",\n    \"minute\": \"minut\",\n    \"example-page-1-slug\": \"skapa-ditt-eget-innehall\",\n    \"example-page-1-title\": \"Skapa ditt eget innehåll\",\n    \"example-page-1-content\": \"Börja skriva ditt eget innehåll eller redigera befintligt för att passa dina behov. För att skapa, editera eller ta bort innehåll behöver du vara inloggad på <a href=\\\".\\/admin\\/\\\">Administrationspanelen<\\/a> med användarnamnet `admin` och det lösenord du angav vid installationsprocessen av Bludit.\",\n    \"example-page-2-slug\": \"skapa-din-nya-sida\",\n    \"example-page-2-title\": \"Skapa din nya sida\",\n    \"example-page-2-content\": \"Uppdatera inställningarna för din sajt via <a href=\\\".\\/admin\\/\\\">Administrationspanelen<\\/a>. Du kan ändra titel, beskrivning och länka olika sociala nätverk från <a href=\\\".\\/admin\\/settings\\\">Inställningar > Allmänna<\\/a>.\",\n    \"example-page-3-slug\": \"folj-bludit\",\n    \"example-page-3-title\": \"Följ Bludit\",\n    \"example-page-3-content\": \"Få information gällande nyheter, nya versioner, nya teman och\\/eller insticksprogram på våra sociala nätverk <a href=\\\"https:\\/\\/www.facebook.com\\/bluditcms\\/\\\" target=\\\"_blank\\\">Facebook<\\/a>, <a href=\\\"https:\\/\\/www.twitter.com\\/bludit\\/\\\" target=\\\"_blank\\\">Twitter<\\/a> och <a href=\\\"https:\\/\\/www.youtube.com\\/c\\/Bluditcms\\\" target=\\\"_blank\\\">YouTube<\\/a> eller besök vår egen <a href=\\\"https:\\/\\/blog.bludit.com\\\" target=\\\"_blank\\\">Blogg<\\/a>.\",\n    \"example-page-4-slug\": \"om\",\n    \"example-page-4-title\": \"Om\",\n    \"example-page-4-content\": \"Din Om-sida är vanligtvis en av de mest besökta sidorna en förstagångsbesökare kikar in på, så se till att den är enkel, kort och koncis, med namn, vem du är, hur man kommer i kontakt md dig samt ev. en liten story etc.\",\n    \"the-extension-zip-is-not-installed\": \"Zip-tillägget är inte installerat, för att använda detta plugin måste du installera tillägget.\",\n    \"there-are-no-sticky-pages-at-this-moment\": \"Det finns inga nålade sidor för tillfället.\",\n    \"there-are-no-scheduled-pages-at-this-moment\": \"Det finns inga schemalagda sidor för tillfället.\",\n    \"update\": \"Uppdatera\",\n    \"template\": \"Mall\",\n    \"nickname\": \"Smeknamn\",\n    \"disable-user\": \"Inaktivera användaren\",\n    \"delete-user-and-keep-content\": \"Ta bort användaren och behåll dennes innehåll\",\n    \"delete-user-and-delete-content\": \"Ta bort användaren och radera dennes (Varning!)\",\n    \"social-networks\": \"Sociala nätverk\",\n    \"interval\": \"Intervall\",\n    \"number-in-minutes-for-every-execution-of-autosave\": \"Antal i minuter för varje utförande av autosave.\",\n    \"extreme-friendly-url\": \"Extremt vänlig URL\",\n    \"title-formats\": \"Rubriksformat\",\n    \"delete-content\": \"Radera innehåll\",\n    \"are-you-sure-you-want-to-delete-this-page\": \"Är du säker på att du vill radera denna sida?\",\n    \"sticky\": \"Nålad\",\n    \"actions\": \"Åtgärder\",\n    \"edit\": \"Redigera\",\n    \"options\": \"Alternativ\",\n    \"enter-title\": \"Fyll i rubrik\",\n    \"media-manager\": \"Mediamanager\",\n    \"set-a-cover-image-from-external-url,-such-as-a-cdn-or-some-server-dedicated-for-images\": \"Ange en omslagsbild från en extern webbadress, till exempel en CDN eller någon server dedikerad till bilder.\",\n    \"user\": \"Användare\",\n    \"date-format-format\": \"Datumformat: <code>YYYY-MM-DD Timmar:Minuter:Sekunder<\\/code>\",\n    \"start-typing-a-page-title-to-see-a-list-of-suggestions\": \"Börja skriva rubriken på en sida för att se en lista på förslag.\",\n    \"field-used-when-ordering-content-by-position\": \"Fält används vid sortering av innehåll efter position.\",\n    \"write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page\": \"Fyll i ett namn för mallen för att filtrera sidan i temat och ändra stil på sidan.\",\n    \"write-the-tags-separated-by-commas\": \"Skriv taggar åtskilda med kommatecken.\",\n    \"apply-code-noindex-code-to-this-page\": \"Tillämpa <code>noindex<\\/code> på den här sidan.\",\n    \"this-tells-search-engines-not-to-show-this-page-in-their-search-results\": \"Detta talar om för sökmotorer att inte lista den här sidan i deras sökresultat.\",\n    \"apply-code-nofollow-code-to-this-page\": \"Tillämpa <code>nofollow<\\/code> på den här sidan.\",\n    \"this-tells-search-engines-not-to-follow-links-on-this-page\": \"Detta talar om för sökmotorer att inte följa länkar på den här sidan.\",\n    \"apply-code-noarchive-code-to-this-page\": \"Tillämpa <code>noarchive<\\/code> på den här sidan.\",\n    \"this-tells-search-engines-not-to-save-a-cached-copy-of-this-page\": \"Detta talar om för sökmotorer att inte spara en cachad kopia av den här sidan.\",\n    \"uncategorized\": \"Okategoriserad\",\n    \"done\": \"Klar\",\n    \"delete-category\": \"Radera kategori\",\n    \"are-you-sure-you-want-to-delete-this-category?\": \"Är du säker på att du vill radera denna kategori?\",\n    \"confirm-new-password\": \"Bekräfta nytt lösenord\",\n    \"the-nickname-is-almost-used-in-the-themes-to-display-the-author-of-the-content\": \"Smeknamn används oftast enbart i teman, för att visa upphovsperson till innehållet\",\n    \"allow-unicode\": \"Tillåt Unicode\",\n    \"allow-unicode-characters-in-the-url-and-some-part-of-the-system\": \"Tillåt Unicode-tecken i webbadressen och vissa delar av systemet.\",\n    \"variables-allowed\": \"Variabler tillåtna\",\n    \"tag\": \"Tagg\",\n    \"drag-and-drop-to-sort-the-plugins\": \"Dra och släpp för att sortera insticksprogrammen.\",\n    \"seo\": \"SEO\",\n    \"documentation\": \"Dokumentation\",\n    \"forum-support\": \"Forumsupport\",\n    \"chat-support\": \"Chatsupport\",\n    \"quick-links\": \"Snabblänkar\",\n    \"leave-empty-for-autocomplete-by-bludit\": \"Lämna tomt för autoslutförande av Bludit.\",\n    \"choose-a-password-for-the-user-admin\": \"Välj ett lösenord för användaren <code>admin<\\/code>\",\n    \"access-denied\": \"Åtkomst nekad\",\n    \"choose-images-to-upload\": \"Välj bilder att ladda upp\",\n    \"insert\": \"Infoga\",\n    \"upload\": \"Ladda upp\",\n    \"autosave\": \"Autospara\",\n    \"the-content-is-saved-as-a-draft-to-publish-it\": \"Innehållet är sparat som utkast. För att publicera det, klicka på knappen <b>Publicera<\\/b> eller om du vill fortsätta jobba med et, klicka på <b>Spara som utkast<\\/b>.\",\n    \"site\": \"Sida\",\n    \"first\": \"Första\",\n    \"last\": \"Sista\",\n    \"there-are-no-pages-at-this-moment\": \"Det finns för tillfället inga sidor.\",\n    \"there-are-no-static-pages-at-this-moment\": \"Det finns för tillfället inga statiska sidor.\",\n    \"there-are-no-draft-pages-at-this-moment\": \"Det finns för tillfället inga utkast.\",\n    \"good-morning\": \"Go´morron\",\n    \"good-afternoon\": \"Go´midda\",\n    \"good-evening\": \"Go´kväll\",\n    \"good-night\": \"Go´natt\",\n    \"hello\": \"Hej\",\n    \"there-are-no-images-for-the-page\": \"Det finns inga bilder på den här sidan.\",\n    \"select-cover-image\": \"Välj omslagsbild\",\n    \"this-plugin-depends-on-the-following-plugins\": \"Detta insticksprogram är beroende av dessa insticksprogram.\",\n    \"no-pages-found\": \"Inga sidor hittades.\",\n    \"system-updated\": \"Systemet uppdaterat.\",\n    \"security\": \"Säkerhet\",\n    \"remove-cover-image\": \"Ta bort omslagsbild\",\n    \"width\": \"Bredd\",\n    \"height\": \"Höjd\",\n    \"quality\": \"Kvalitet\",\n    \"thumbnails\": \"Miniatyrer\",\n    \"thumbnail\": \"Miniatyr\",\n    \"thumbnail-width-in-pixels\": \"Pixelbredd (px) på miniatyrbild.\",\n    \"thumbnail-height-in-pixels\": \"Pixelhöjd (px) på miniatyrbild.\",\n    \"thumbnail-quality-in-percentage\": \"Kvalitet i procent (%) på miniatyrbild.\",\n    \"maximum-load-file-size-allowed:\": \"Maximal tillåten filstorlek:\",\n    \"file-type-is-not-supported\": \"Filtypen stöds inte. Tillåtna typer:\",\n    \"page-content\": \"Sidinnehåll\",\n    \"markdown-parser\": \"Markdown parser\",\n    \"site-logo\": \"Webbplatsens logotyp\",\n    \"search\": \"Sök\",\n    \"search-plugins\": \"Sök insticksprogram\",\n    \"enabled-plugins\": \"Aktiverade insticksprogram\",\n    \"disabled-plugins\": \"Inaktiverade insticksprogram\",\n    \"remove-logo\": \"Ta bort logotyp\",\n    \"preview\": \"Förhandsvisning\",\n    \"author-can-write-and-edit-their-own-content\": \"Upphovsperson: Kan skriva och redigera sitt eget innehåll. Redaktör: Kan skriva och redigera andras innehåll.\",\n    \"custom-fields\": \"Custom fields\",\n    \"define-custom-fields-for-the-content\": \"Definiera anpassade fält för innehållet.\",\n    \"start-typing-to-see-a-list-of-suggestions\": \"Börja skriva för att se en lista med förslag.\",\n    \"view\": \"View\",\n    \"no-tags\": \"Inga taggar\",\n    \"insert-thumbnail\": \"Infoga miniatyrbild\",\n    \"visits-today\": \"Besök idag\",\n    \"no-categories\": \"Inga kategorier\",\n    \"quick-search-pages-and-menu\": \"Snabbsökning sidor och meny\",\n    \"click-here-for-quick-search\": \"Click here for quick search\",\n    \"analytics\": \"Analys\",\n    \"unique-visitors\": \"Unika besökare\",\n    \"insert-linked-thumbnail\": \"Infoga länkad miniatyrbild\",\n    \"search-placeholder\": \"Sök sidor, innehåll och menyalternativ...\",\n    \"no-results-found\": \"Inga resultat hittades\",\n    \"navigation\": \"Navigering\",\n    \"default-content-status\": \"Standardstatus för innehåll\",\n    \"default-status-for-new-content\": \"Välj om nytt innehåll ska skapas som Publicerat eller Utkast som standard.\",\n    \"thumbnail-generation\": \"Generering av miniatyrbilder\",\n    \"enable-disable-automatic-thumbnail-generation-on-image-upload\": \"Aktivera eller inaktivera automatisk generering av miniatyrbilder vid bilduppladdning.\"\n}\n"
  },
  {
    "path": "bl-languages/tr_TR.json",
    "content": "{\n    \"language-data\": {\n        \"native\": \"Türkçe\",\n        \"english-name\": \"Turkish\",\n        \"locale\": \"tr, tr_TR\",\n        \"last-update\": \"2019-12-28\",\n        \"authors\": [\n            \"Ali Demirtas\",\n            \"\",\n            \"\",\n            \"\"\n        ]\n    },\n    \"dates\": {\n        \"Mon\": \"Pzt\",\n        \"Tue\": \"Sal\",\n        \"Wed\": \"Çar\",\n        \"Thu\": \"Per\",\n        \"Fri\": \"Cum\",\n        \"Sat\": \"Cmt\",\n        \"Sun\": \"Paz\",\n        \"Monday\": \"Pazartesi\",\n        \"Tuesday\": \"Salı\",\n        \"Wednesday\": \"Çarşamba\",\n        \"Thursday\": \"Perşembe\",\n        \"Friday\": \"Cuma\",\n        \"Saturday\": \"Cumartesi\",\n        \"Sunday\": \"Pazar\",\n        \"Jan\": \"Oca\",\n        \"Feb\": \"Şub\",\n        \"Mar\": \"Mar\",\n        \"Apr\": \"Nis\",\n        \"May\": \"Mayıs\",\n        \"Jun\": \"Haz\",\n        \"Jul\": \"Tem\",\n        \"Aug\": \"Ağu\",\n        \"Sep\": \"Eyl\",\n        \"Oct\": \"Eki\",\n        \"Nov\": \"Kas\",\n        \"Dec\": \"Ara\",\n        \"January\": \"Ocak\",\n        \"February\": \"Şubat\",\n        \"March\": \"Mart\",\n        \"April\": \"Nisan\",\n        \"June\": \"Haziran\",\n        \"July\": \"Temmuz\",\n        \"August\": \"Ağustos\",\n        \"September\": \"Eylül\",\n        \"October\": \"Ekim\",\n        \"November\": \"Kasım\",\n        \"December\": \"Aralık\"\n    },\n    \"dashboard\": \"Pano\",\n    \"manage-users\": \"Kullanıcıları yönet\",\n    \"manage-categories\": \"Kategorileri yönet\",\n    \"general-settings\": \"Genel ayarlar\",\n    \"advanced-settings\": \"Gelişmiş ayarlar\",\n    \"thanks-for-supporting-bludit\": \"Bludit desteğiniz için teşekkürler\",\n    \"upgrade-to-bludit-pro\": \"Bludit PRO'ya yükseltin\",\n    \"language\": \"Dil\",\n    \"plugin\": \"Eklenti\",\n    \"plugins\": \"Eklentiler\",\n    \"developers\": \"Geliştiriciler\",\n    \"themes\": \"Temalar\",\n    \"about\": \"Hakkında\",\n    \"url\": \"URL\",\n    \"welcome\": \"Merhaba\",\n    \"logout\": \"Çıkış\",\n    \"website\": \"Web site\",\n    \"publish\": \"Yayınla\",\n    \"manage\": \"Yönet\",\n    \"content\": \"İçerikler\",\n    \"category\": \"Kategori\",\n    \"categories\": \"Kategoriler\",\n    \"users\": \"Kullanıcılar\",\n    \"settings\": \"Ayarlar\",\n    \"general\": \"Genel\",\n    \"advanced\": \"Gelişmiş\",\n    \"new-content\": \"İçerik ekle\",\n    \"manage-content\": \"İçerikler\",\n    \"add-new-content\": \"Yeni içerik ekle\",\n    \"new-category\": \"Yeni kategori\",\n    \"you-do-not-have-sufficient-permissions\": \"Bu sayfaya erişmek için gerekli izinlere sahip değilsiniz.\",\n    \"add-a-new-user\": \"Yeni kullanıcı ekle\",\n    \"url-associated-with-the-content\": \"İçerikle ilişkili URL.\",\n    \"language-and-timezone\": \"Dil ve saat dilimi\",\n    \"change-your-language-and-region-settings\": \"Dil ve saat ayarlarını değiştir.\",\n    \"notifications\": \"Bildirimler\",\n    \"plugin-activated\": \"Eklenti etkinleştirildi\",\n    \"plugin-deactivated\": \"Eklenti devre dışı bırakıldı\",\n    \"new-theme-configured\": \"Yeni tema yapılandırıldı\",\n    \"settings-changes\": \"Ayarlarda yapılan değişiklikler\",\n    \"plugin-configured\": \"Eklenti ayarlandı\",\n    \"welcome-to-bludit\": \"Bludit'e Hoşgeldiniz\",\n    \"statistics\": \"İstatistikler\",\n    \"drafts\": \"Taslaklar\",\n    \"title\": \"Başlık\",\n    \"save\": \"Kaydet\",\n    \"save-as-draft\": \"Taslak olarak kaydet\",\n    \"cancel\": \"İptal\",\n    \"description\": \"Açıklama\",\n    \"this-field-can-help-describe-the-content\": \"Bu alan içerisine 150 karakteri geçmeyecek şekilde içeriğe uygun açıklama ekleyebilirsiniz.\",\n    \"images\": \"Resimler\",\n    \"error\": \"Hata\",\n    \"supported-image-file-types\": \"Desteklenen resim formatları\",\n    \"cover-image\": \"Kapak resmi\",\n    \"drag-and-drop-or-click-here\": \"Sürükle-bırak veya buraya tıkla\",\n    \"there-are-no-images\": \"Hiç resim yok\",\n    \"upload-and-more-images\": \"Daha fazla resim yükle\",\n    \"click-on-the-image-for-options\": \"Özellikler için resme tıklayın.\",\n    \"click-here-to-cancel\": \"İptal etmek için tıklayın.\",\n    \"insert-image\": \"Resim iliştir\",\n    \"set-as-cover-image\": \"Kapak resmi olarak ayarla\",\n    \"delete-image\": \"Resmi sil\",\n    \"tags\": \"Etiketler\",\n    \"add\": \"Ekle\",\n    \"status\": \"Durum\",\n    \"published\": \"Yayınlanmış\",\n    \"draft\": \"Taslak\",\n    \"empty-title\": \"Başlıksız\",\n    \"empty\": \"boş\",\n    \"date\": \"Tarih\",\n    \"external-cover-image\": \"Dış sunucudan kapak resmi\",\n    \"parent\": \"Ebeveyn\",\n    \"full-image-url\": \"Tam resim URL'si.\",\n    \"this-field-is-used-when-you-order-the-content-by-position\": \"Bu alan, içeriği konuma göre sıraladığınızda kullanılır.\",\n    \"position\": \"Konum\",\n    \"friendly-url\": \"Basit URL\",\n    \"image-description\": \"Resim açıklaması\",\n    \"add-a-new-category\": \"Yeni kategori ekle\",\n    \"name\": \"Ad\",\n    \"username\": \"Kullanıcı adı\",\n    \"first-name\": \"Ad\",\n    \"last-name\": \"Soyad\",\n    \"to-schedule-the-content-select-the-date-and-time\": \"İçeriği zamanlamak için tarih ve saati seçin\",\n    \"email\": \"E-posta\",\n    \"role\": \"Grup\",\n    \"registered\": \"Kayıt tarihi\",\n    \"site-information\": \"Site bilgisi\",\n    \"site-title\": \"Site başlığı\",\n    \"use-this-field-to-name-your-site\": \"Bu alanı sitenize ad vermek için kullanın.\",\n    \"site-slogan\": \"Site sloganı\",\n    \"use-this-field-to-add-a-catchy-phrase\": \"Bu alanı sitenize akılda kalıcı bir cümle seçmek için kullanın.\",\n    \"site-description\": \"Site tanımı\",\n    \"you-can-add-a-site-description-to-provide\": \"Bir site tanımı ekleyebilirsiniz.\",\n    \"footer-text\": \"Alt bilgi metni\",\n    \"you-can-add-a-small-text-on-the-bottom\": \"Sitenizdeki her sayfanın sonuna kısa bir yazı ekleyebilirsiniz. Örn: Copyright, sahibi, tarih, vs.\",\n    \"social-networks-links\": \"Sosyal ağ bağlantıları\",\n    \"site-url\": \"Site URL'si\",\n    \"email-account-settings\": \"E-posta hesabı ayarları\",\n    \"sender-email\": \"Gönderen e-postası\",\n    \"emails-will-be-sent-from-this-address\": \"E-postalar bu adresten gönderilecektir.\",\n    \"url-filters\": \"URL filtreleri\",\n    \"select-your-sites-language\": \"Sitenizin dilini seçin.\",\n    \"timezone\": \"Saat dilimi\",\n    \"select-a-timezone-for-a-correct\": \"Tarih ve saatin doğru olabilmesi için bulunduğunuz saat dilimini seçin.\",\n    \"locale\": \"Yerel\",\n    \"date-and-time-formats\": \"Tarih ve saat formatları\",\n    \"date-format\": \"Tarih formatı\",\n    \"current-format\": \"Mevcut format\",\n    \"version\": \"Sürüm\",\n    \"author\": \"Yazar\",\n    \"activate\": \"Etkinleştir\",\n    \"deactivate\": \"Devre dışı bırak\",\n    \"edit-category\": \"Kategoriyi düzenle\",\n    \"delete\": \"Sil\",\n    \"password\": \"Şifre\",\n    \"confirm-password\": \"Şifre Doğrulama\",\n    \"editor\": \"Düzenleyici\",\n    \"administrator\": \"Yönetici\",\n    \"edit-user\": \"Kullanıcıyı düzenle\",\n    \"edit-content\": \"İçeriği düzenle\",\n    \"profile\": \"Profil\",\n    \"change-password\": \"Şifre değiştir\",\n    \"enabled\": \"Etkinleştirildi\",\n    \"disable-the-user\": \"Kullanıcıyı etkisizleştir\",\n    \"profile-picture\": \"Profil resmi\",\n    \"edit-or-delete-your-categories\": \"Kategorileri düzenle veya sil\",\n    \"create-a-new-category-to-organize-your-content\": \"İçeriğinizi düzenlemek için yeni bir kategori oluşturun\",\n    \"confirm-delete-this-action-cannot-be-undone\": \"Silmeyi onaylayın, bu işlem geri alınamaz!\",\n    \"do-you-want-to-disable-the-user\": \"Kullanıcıyı etkisizleştirmek istiyor musunuz?\",\n    \"new-password\": \"Yeni şifre\",\n    \"you-can-change-this-field-when-save-the-current-changes\": \"Geçerli değişiklikleri kaydettiğinizde bu alanı değiştirebilirsiniz.\",\n    \"items-per-page\": \"Sayfa başına öge\",\n    \"invite-a-friend-to-collaborate-on-your-site\": \"Bir arkadaşınızı sitenize davet edin\",\n    \"number-of-items-to-show-per-page\": \"Sayfa başına gösterilecek öge sayısı.\",\n    \"website-or-blog\": \"Web sitesi veya blog\",\n    \"order-content-by\": \"İçerik sıralaması\",\n    \"edit-or-delete-content-from-your-site\": \"Sitenizden içerik düzenleme veya silme\",\n    \"order-the-content-by-date-to-build-a-blog\": \"Blog için tarihe göre sıralayın ya da Web sitesi oluşturmak için içeriğe göre sıralayın.\",\n    \"default-content-status\": \"Varsayılan içerik durumu\",\n    \"default-status-for-new-content\": \"Yeni içeriğin varsayılan olarak Yayınlandı mı yoksa Taslak olarak mı oluşturulacağını seçin.\",\n    \"page-not-found-content\": \"Hey! böyle bir sayfa yok gibi.\",\n    \"page-not-found\": \"Sayfa bulunamadı\",\n    \"predefined-pages\": \"Önceden tanımlanmış sayfalar\",\n    \"returning-page-when-the-page-doesnt-exist\": \"404 sayfası göstermek yerine bir ileti göstermek isterseniz boş bırakın.\",\n    \"returning-page-for-the-main-page\": \"Ana sayfadaki tüm sayfaları göstermek isterseniz boş bırakın.\",\n    \"full-url-of-your-site\": \"Sitenizin tam URL'si. HTTP veya HTTPS protokolüyle tamamlayın (yalnızca sunucunuzda SSL'yi etkinleştirdiyseniz).\",\n    \"with-the-locales-you-can-set-the-regional-user-interface\": \"Yerel ayarlarla, dilinizdeki tarihler gibi bölgesel kullanıcı arabirimini ayarlayabilirsiniz. Yerel ayarların sisteminize kurulması gerekir.\",\n    \"bludit-installer\": \"Bludit Yükleyici\",\n    \"choose-your-language\": \"Dili seçin\",\n    \"next\": \"Sonraki\",\n    \"complete-the-form-choose-a-password-for-the-username-admin\": \"Bu formu doldurarak, « admin » kullanıcısı için bir şifre belirleyin\",\n    \"show-password\": \"Şifreyi göster\",\n    \"install\": \"Yükle\",\n    \"login\": \"Giriş yap\",\n    \"back-to-login-form\": \"Giriş formuna geri dön\",\n    \"get-login-access-code\": \"Giriş kodu al\",\n    \"email-access-code\": \"E-posta erişim kodu\",\n    \"whats-next\": \"Sırada ne var?\",\n    \"username-or-password-incorrect\": \"Kullanıcı adı veya şifre yanlış\",\n    \"follow-bludit-on\": \"Takip edin\",\n    \"this-is-a-brief-description-of-yourself-our-your-site\": \"Bu kısım siten hakkında bilgi verir. Burayı değiştirmek ve düzenlemek için admin->eklentiler->tanımı düzenle\",\n    \"new-version-available\": \"Yeni sürüm mevcut\",\n    \"new-category-created\": \"Yeni kategori oluşturuldu\",\n    \"category-deleted\": \"Kategori silindi\",\n    \"category-edited\": \"Kategori düzenlendi\",\n    \"new-user-created\": \"Yeni kullanıcı oluşturuldu\",\n    \"user-edited\": \"Kullanıcı düzenlendi\",\n    \"user-deleted\": \"Kullanıcı silindi\",\n    \"recommended-for-recovery-password-and-notifications\": \"Kurtarma şifresi ve bildirimleri için önerilir.\",\n    \"authentication-token\": \"Kimlik doğrulama jetonu\",\n    \"token\": \"Jeton\",\n    \"current-status\": \"Mevcut durum\",\n    \"upload-image\": \"Resim yükle\",\n    \"the-changes-have-been-saved\": \"Değişiklikler kaydedildi\",\n    \"label\": \"Etiket\",\n    \"links\": \"Bağlantılar\",\n    \"this-title-is-almost-always-used-in-the-sidebar-of-the-site\": \"Bu başlık her zaman sitenin kenar çubuğunda kullanılır.\",\n    \"password-must-be-at-least-6-characters-long\": \"Şifre en az 6 karakter uzunluğunda olmalıdır\",\n    \"ip-address-has-been-blocked\": \"IP adresi engellendi.\",\n    \"try-again-in-a-few-minutes\": \"Birkaç dakika içinde tekrar deneyin.\",\n    \"content-published-from-scheduler\": \"Zamanlayıcı tarafından yayınlanan içerik\",\n    \"blog\": \"Blog\",\n    \"complete-all-fields\": \"Tüm alanları doldurun\",\n    \"static\": \"Sabit\",\n    \"about-your-site-or-yourself\": \"Siteniz veya kendiniz hakkında\",\n    \"homepage\": \"Ana sayfa\",\n    \"disabled\": \"Devre dışı\",\n    \"to-enable-the-user-you-must-set-a-new-password\": \"Kullanıcıyı etkinleştirmek için yeni bir şifre oluşturmalısınız.\",\n    \"delete-the-user-and-associate-his-content-to-admin-user\": \"Kullanıcıyı silin ve içeriğini yönetici ile ilişkilendirin\",\n    \"delete-the-user-and-all-his-content\": \"Kullanıcıyı ve içeriğini tümüyle sil\",\n    \"user-disabled\": \"Kullanıcı devre dışı\",\n    \"user-password-changed\": \"Kullanıcı şifresi değişti\",\n    \"the-password-and-confirmation-password-do-not-match\": \"Parola ve doğrulama parolası uyuşmuyor\",\n    \"scheduled-content\": \"Zamanlanmış içerik\",\n    \"there-are-no-scheduled-content\": \"Zamanlanmış bir içerik yok.\",\n    \"new-content-created\": \"Yeni içerik oluşturuldu\",\n    \"content-edited\": \"İçerik düzenlendi\",\n    \"content-deleted\": \"İçerik silindi\",\n    \"undefined\": \"Tanımsız\",\n    \"create-new-content-for-your-site\": \"Siteniz için yeni içerik oluşturun\",\n    \"order-items-by\": \"Öğe sıralaması:\",\n    \"all-content\": \"Tüm içerik\",\n    \"dynamic\": \"Dinamik\",\n    \"type\": \"Tür\",\n    \"draft-content\": \"Taslak içeriği\",\n    \"post\": \"Gönderi\",\n    \"default\": \"Varsayılan\",\n    \"latest-content\": \"Son içerik\",\n    \"default-message\": \"Varsayılan mesaj\",\n    \"no-parent\": \"Ebeveyn yok\",\n    \"have-you-seen-my-ball\": \"Topumu gördün mü?\",\n    \"pagebreak\": \"Sayfa sonu\",\n    \"pages\": \"Sayfalar\",\n    \"this-plugin-may-not-be-supported-by-this-version-of-bludit\": \"Bu eklenti Bludit'in bu sürümü tarafından desteklenmiyor olabilir\",\n    \"previous\": \"Önceki\",\n    \"previous-page\": \"Önceki sayfa\",\n    \"next-page\": \"Sonraki sayfa\",\n    \"scheduled\": \"Zamanlanmış\",\n    \"this-token-is-similar-to-a-password-it-should-not-be-shared\": \"Bu belirteç bir parolaya benzer, paylaşılmamalıdır.\",\n    \"congratulations-you-have-successfully-installed-your-bludit\": \"Tebrikler, **Bludit** başarıyla yüklendi.\",\n    \"this-theme-may-not-be-supported-by-this-version-of-bludit\": \"Bu tema Bludit'in bu sürümü tarafından desteklenmeyebilir\",\n    \"read-more\": \"Devamını oku\",\n    \"remember-me\": \"Beni hatırla\",\n    \"plugins-position\": \"Eklenti konumu\",\n    \"plugins-sorted\": \"Eklentiler sıralandı\",\n    \"plugins-position-changed\": \"Eklenti konumu değişti\",\n    \"drag-and-drop-to-set-the-position-of-the-plugin\": \"Eklentilerin konumunu ayarlamak için sürükle ve bırak\",\n    \"change-the-position-of-the-plugins\": \"Eklentilerin konumunu değiştirin\",\n    \"reading-time\": \"Okuma süresi\",\n    \"minutes\": \"dakika\",\n    \"minute\": \"dakika\",\n    \"example-page-1-slug\": \"iceriginizi-olusturun\",\n    \"example-page-1-title\": \"İçeriğinizi oluşturun\",\n    \"example-page-1-content\": \"Kendi içeriğinizi yazmaya başlayın veya gereksinimlerinize uyacak şekilde bunu düzenleyin. İçeriği oluşturmak, düzenlemek veya kaldırmak için <a href=\\\".\\/admin\\/\\\">yönetim paneline<\\/a> kullanıcı adı 'admin' ve yükleme işleminde belirlediğiniz şifre ile giriş yapmanız gerekir.\",\n    \"example-page-2-slug\": \"yeni-sitenizi-kurun\",\n    \"example-page-2-title\": \"Yeni sitenizi kurun\",\n    \"example-page-2-content\": \"Sitenizin ayarlarını <a href=\\\".\\/admin\\/\\\">yönetim panelinden<\\/a> güncelleyin. Başlığı, açıklamayı ve sosyal ağları <a href=\\\".\\/admin\\/settings\\\" target=\\\"_blank\\\">Ayarlar > Genel<\\/a> adresinden değiştirebilirsiniz.\",\n    \"example-page-3-slug\": \"bludit-takip-et\",\n    \"example-page-3-title\": \"Bludit'i takip edin\",\n    \"example-page-3-content\": \"Haberler, yeni sürümler, yeni temalar veya yeni eklentiler hakkında sosyal ağlarımızı <a href=\\\"https:\\/\\/www.facebook.com\\/bluditcms\\/\\\" target=\\\"_blank\\\">Facebook<\\/a>, <a href=\\\"https:\\/\\/www.twitter.com\\/bludit\\/\\\" target=\\\"_blank\\\">Twitter<\\/a>, <a href=\\\"https:\\/\\/www.youtube.com\\/c\\/Bluditcms\\\" target=\\\"_blank\\\">YouTube<\\/a> takip edin ya da <a href=\\\"https:\\/\\/blog.bludit.com\\\" target=\\\"_blank\\\">Blog'muzu<\\/a> ziyaret edin.\",\n    \"example-page-4-slug\": \"hakkinda\",\n    \"example-page-4-title\": \"Hakkında\",\n    \"example-page-4-content\": \"Hakkında sayfanız genellikle sitenizdeki en çok ziyaret edilen sayfalardan biridir. Adınız gibi birkaç önemli şeyle basit olmanız gerekir, kimsiniz, sizinle nasıl iletişim kurabilir, küçük bir hikaye, vb.\",\n    \"the-extension-zip-is-not-installed\": \"zip uzantısı yüklü değil, bu eklentiyi kullanmak için uzantıyı yüklemeniz gerekir.\",\n    \"there-are-no-sticky-pages-at-this-moment\": \"Şu anda yapışkan sayfa yok.\",\n    \"there-are-no-scheduled-pages-at-this-moment\": \"Şu anda zamanlanmış sayfa yok.\",\n    \"update\": \"Güncelle\",\n    \"template\": \"Şablon\",\n    \"nickname\": \"Takma isim\",\n    \"disable-user\": \"Kullanıcıyı devre dışı bırak\",\n    \"delete-user-and-keep-content\": \"Kullanıcıyı sil ve içeriği sakla\",\n    \"delete-user-and-delete-content\": \"Kullanıcıyı sil ve içeriği sil (Uyarı)\",\n    \"social-networks\": \"Sosyal ağlar\",\n    \"interval\": \"Aralık\",\n    \"number-in-minutes-for-every-execution-of-autosave\": \"Otomatik kaydetmenin her çalıştırılması için dakika cinsinden sayı.\",\n    \"extreme-friendly-url\": \"Aşırı uyumlu URL\",\n    \"title-formats\": \"Başlık formatları\",\n    \"delete-content\": \"İçeriği sil\",\n    \"are-you-sure-you-want-to-delete-this-page\": \"Bu sayfayı silmek istediğinizden emin misiniz?\",\n    \"sticky\": \"Yapışkan\",\n    \"actions\": \"Eylemler\",\n    \"edit\": \"Düzenle\",\n    \"options\": \"Seçenekler\",\n    \"enter-title\": \"Başlığı gir\",\n    \"media-manager\": \"Medya yöneticisi\",\n    \"set-a-cover-image-from-external-url,-such-as-a-cdn-or-some-server-dedicated-for-images\": \"CDN veya görüntüler için ayrılmış bir sunucu gibi harici bir URL'den kapak resmi ayarlayın.\",\n    \"user\": \"Kullanıcı\",\n    \"date-format-format\": \"Tarih formatı: <code>YIL-AY-GÜN Saat:Dakika:Saniye<\\/code>\",\n    \"start-typing-a-page-title-to-see-a-list-of-suggestions\": \"Önerilerin listesini görmek için bir sayfa başlığı yazmaya başlayın.\",\n    \"field-used-when-ordering-content-by-position\": \"İçeriği konuma göre sıralarken kullanılan alan\",\n    \"write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page\": \"Sayfayı temaya göre filtrelemek ve sayfanın stilini değiştirmek için bir şablon adı yazın.\",\n    \"write-the-tags-separated-by-commas\": \"Etiketleri virgülle ayırın.\",\n    \"apply-code-noindex-code-to-this-page\": \"Bu sayfaya <code>noindex<\\/code> uygula.\",\n    \"this-tells-search-engines-not-to-show-this-page-in-their-search-results\": \"Bu, arama motorlarına bu sayfayı arama sonuçlarında göstermemesini söyler.\",\n    \"apply-code-nofollow-code-to-this-page\": \"Bu sayfaya <code>nofollow<\\/code> uygula.\",\n    \"this-tells-search-engines-not-to-follow-links-on-this-page\": \"Bu, arama motorlarına bu sayfadaki bağlantıları izlememesini söyler.\",\n    \"apply-code-noarchive-code-to-this-page\": \"Bu sayfaya <code>noarchive<\\/code> uygula.\",\n    \"this-tells-search-engines-not-to-save-a-cached-copy-of-this-page\": \"Bu, arama motorlarına bu sayfanın önbelleğe alınmış bir kopyasını kaydetmemesini söyler.\",\n    \"uncategorized\": \"Kategorisiz\",\n    \"done\": \"Tamam\",\n    \"delete-category\": \"Kategoriyi sil\",\n    \"are-you-sure-you-want-to-delete-this-category?\": \"Bu kategoriyi silmek istediğinizden emin misiniz?\",\n    \"confirm-new-password\": \"Yeni parolayı onayla\",\n    \"the-nickname-is-almost-used-in-the-themes-to-display-the-author-of-the-content\": \"İçeriğin yazarını görüntülemek için takma adlar neredeyse temalarda kullanılır.\",\n    \"allow-unicode\": \"Unicode'a izin ver\",\n    \"allow-unicode-characters-in-the-url-and-some-part-of-the-system\": \"URL'de Unicode karakterlerine ve bazı sistem parçalarına izin verin.\",\n    \"variables-allowed\": \"Değişkenlere izin verilir\",\n    \"tag\": \"Etiket\",\n    \"drag-and-drop-to-sort-the-plugins\": \"Eklentileri sıralamak için sürükle ve bırak.\",\n    \"seo\": \"SEO\",\n    \"documentation\": \"Belgeler\",\n    \"forum-support\": \"Forum desteği\",\n    \"chat-support\": \"Sohbet desteği\",\n    \"quick-links\": \"Hızlı bağlantılar\",\n    \"leave-empty-for-autocomplete-by-bludit\": \"Bludit tarafından otomatik tamamlama için boş bırakın.\",\n    \"choose-a-password-for-the-user-admin\": \"Kullanıcı için bir şifre seçin <code>admin<\\/code>\",\n    \"access-denied\": \"Erişim engellendi\",\n    \"choose-images-to-upload\": \"Yüklenecek görselleri seçin\",\n    \"insert\": \"Ekle\",\n    \"upload\": \"Yükle\",\n    \"autosave\": \"Otomatik kaydetme\",\n    \"the-content-is-saved-as-a-draft-to-publish-it\": \"İçerik taslak olarak kaydedilir. Yayınlamak için <b>Yayınla<\\/b> seçeneğine tıklayın ya da hala üzerinde çalışıyorsanız <b>Taslak olarak kaydet<\\/b> seçeneğini seçin.\",\n    \"site\": \"Site\",\n    \"first\": \"İlk\",\n    \"last\": \"Son\",\n    \"there-are-no-pages-at-this-moment\": \"Şu anda hiç sayfa yok.\",\n    \"there-are-no-static-pages-at-this-moment\": \"Şu anda hiç sabit sayfa yok.\",\n    \"there-are-no-draft-pages-at-this-moment\": \"Şu anda taslak sayfa yok.\",\n    \"good-morning\": \"Günaydın\",\n    \"good-afternoon\": \"İyi günler\",\n    \"good-evening\": \"İyi akşamlar\",\n    \"good-night\": \"İyi geceler\",\n    \"hello\": \"Merhaba\",\n    \"there-are-no-images-for-the-page\": \"Sayfa için resim yok.\",\n    \"select-cover-image\": \"Kapak resmini seç\",\n    \"this-plugin-depends-on-the-following-plugins\": \"Bu eklenti aşağıdaki eklentilere bağlıdır.\",\n    \"no-pages-found\": \"Sayfa bulunamadı\",\n    \"system-updated\": \"Sistem güncellendi\",\n    \"security\": \"Güvenlik\",\n    \"remove-cover-image\": \"Kapak resmini kaldır\",\n    \"width\": \"Genişlik\",\n    \"height\": \"Yükseklik\",\n    \"quality\": \"Kalite\",\n    \"thumbnails\": \"Küçük resimler\",\n    \"thumbnail\": \"Küçük resim\",\n    \"thumbnail-width-in-pixels\": \"Piksel olarak küçük resim genişliği (px).\",\n    \"thumbnail-height-in-pixels\": \"Piksel olarak küçük resim yüksekliği (px).\",\n    \"thumbnail-quality-in-percentage\": \"Yüzde olarak küçük resim kalitesi (%).\",\n    \"maximum-load-file-size-allowed:\": \"İzin verilen en yüksek dosya yükleme boyutu:\",\n    \"file-type-is-not-supported\": \"Dosya türü desteklenmiyor. İzin verilen türler:\",\n    \"page-content\": \"Sayfa içeriği\",\n    \"markdown-parser\": \"Markdown ayrıştırıcı\",\n    \"site-logo\": \"Site logosu\",\n    \"search\": \"Ara\",\n    \"search-plugins\": \"Eklentilerde ara\",\n    \"enabled-plugins\": \"Etkin eklentiler\",\n    \"disabled-plugins\": \"Etkin olmayan eklentiler\",\n    \"remove-logo\": \"Logoyu kaldır\",\n    \"preview\": \"Ön izleme\",\n    \"author-can-write-and-edit-their-own-content\": \"Yazar: Kendi içeriklerini yazabilir ve düzenleyebilir. Editör: Başkalarının içeriğini yazabilir ve düzenleyebilir.\",\n    \"custom-fields\": \"Özel alanlar\",\n    \"define-custom-fields-for-the-content\": \"İçerik için özel alanlar tanımlayın. Özel alanlar hakkında daha fazla bilgiyi <a href='https:\\/\\/docs.bludit.com\\/en\\/content\\/custom-fields'>belgeler<\\/a> adresinde bulabilirsiniz.\",\n    \"start-typing-to-see-a-list-of-suggestions\": \"Bir öneri listesi görmek için yazmaya başlayın.\",\n    \"view\": \"Görüntüle\",\n    \"no-tags\": \"Etiket yok\",\n    \"insert-thumbnail\": \"Küçük resim ekle\",\n    \"visits-today\": \"Bugünkü Ziyaretler\",\n    \"no-categories\": \"Kategori yok\",\n    \"quick-search-pages-and-menu\": \"Hızlı arama sayfaları ve menü\",\n    \"click-here-for-quick-search\": \"Hızlı arama için buraya tıklayın\",\n    \"analytics\": \"Analitik\",\n    \"unique-visitors\": \"Benzersiz Ziyaretçiler\",\n    \"insert-linked-thumbnail\": \"Bağlantılı küçük resim ekle\",\n    \"search-placeholder\": \"Sayfaları, içeriği ve menü öğelerini ara...\",\n    \"no-results-found\": \"Sonuç bulunamadı\",\n    \"navigation\": \"Navigasyon\",\n    \"thumbnail-generation\": \"Küçük resim oluşturma\",\n    \"enable-disable-automatic-thumbnail-generation-on-image-upload\": \"Resim yüklemede otomatik küçük resim oluşturmayı etkinleştirin veya devre dışı bırakın.\"\n}\n"
  },
  {
    "path": "bl-languages/uk_UA.json",
    "content": "{\n    \"language-data\": {\n        \"native\": \"Українська (Україна)\",\n        \"english-name\": \"Ukrainian\",\n        \"locale\": \"uk_UA\",\n        \"last-update\": \"2026-02-11\",\n        \"authors\": [\n            \"Aleksei86 https:\\/\\/aleksei86.info\\/\",\n            \"Alek Belta https:\\/\\/alekbelta.com\\/\",\n            \"Paul https:\\/\\/r-e-d.red\\/\",\n            \"Serhii Cherneha https:\\/\\/chernega.eu.org\\/\"\n        ]\n    },\n    \"dates\": {\n        \"Mon\": \"Пн\",\n        \"Tue\": \"Вт\",\n        \"Wed\": \"Ср\",\n        \"Thu\": \"Чт\",\n        \"Fri\": \"Пт\",\n        \"Sat\": \"Сб\",\n        \"Sun\": \"Нд\",\n        \"Monday\": \"Понеділок\",\n        \"Tuesday\": \"Вівторок\",\n        \"Wednesday\": \"Середа\",\n        \"Thursday\": \"Четвер\",\n        \"Friday\": \"П'ятниця\",\n        \"Saturday\": \"Субота\",\n        \"Sunday\": \"Неділя\",\n        \"Jan\": \"Січ\",\n        \"Feb\": \"Лют\",\n        \"Mar\": \"Бер\",\n        \"Apr\": \"Квіт\",\n        \"Jun\": \"Черв\",\n        \"Jul\": \"Лип\",\n        \"Aug\": \"Серп\",\n        \"Sep\": \"Вер\",\n        \"Oct\": \"Жовт\",\n        \"Nov\": \"Лист\",\n        \"Dec\": \"Груд\",\n        \"January\": \"Січень\",\n        \"February\": \"Лютий\",\n        \"March\": \"Березень\",\n        \"April\": \"Квітень\",\n        \"May\": \"Травень\",\n        \"June\": \"Червень\",\n        \"July\": \"Липень\",\n        \"August\": \"Серпень\",\n        \"September\": \"Вересень\",\n        \"October\": \"Жовтень\",\n        \"November\": \"Листопад\",\n        \"December\": \"Грудень\"\n    },\n    \"dashboard\": \"Панель управління\",\n    \"manage-users\": \"Управління користувачами\",\n    \"manage-categories\": \"Управління категоріями\",\n    \"general-settings\": \"Загальні налаштування\",\n    \"advanced-settings\": \"Додаткові налаштування\",\n    \"thanks-for-supporting-bludit\": \"Дякуємо за підтримку Bludit\",\n    \"upgrade-to-bludit-pro\": \"Оновити до Bludit PRO\",\n    \"language\": \"Мова\",\n    \"plugin\": \"Плагін\",\n    \"plugins\": \"Плагіни\",\n    \"developers\": \"Розробники\",\n    \"themes\": \"Теми\",\n    \"about\": \"Інформація\",\n    \"url\": \"URL\",\n    \"welcome\": \"Ласкаво просимо\",\n    \"logout\": \"Вийти\",\n    \"website\": \"Вебсайт\",\n    \"publish\": \"Опублікувати\",\n    \"manage\": \"Керування\",\n    \"content\": \"Зміст\",\n    \"category\": \"Категорія\",\n    \"categories\": \"Категорії\",\n    \"users\": \"Користувачі\",\n    \"settings\": \"Параметри\",\n    \"general\": \"Загальні\",\n    \"advanced\": \"Розширені\",\n    \"new-content\": \"Новий контент\",\n    \"manage-content\": \"Керування контентом\",\n    \"add-new-content\": \"Додати новий контент\",\n    \"new-category\": \"Нова категорія\",\n    \"you-do-not-have-sufficient-permissions\": \"Ви не маєте прав на доступ до цієї сторінки, зверніться до адміністратора.\",\n    \"add-a-new-user\": \"Додати нового користувача\",\n    \"url-associated-with-the-content\": \"URL-адреса, пов'язана з контентом.\",\n    \"language-and-timezone\": \"Мова та часовий пояс\",\n    \"change-your-language-and-region-settings\": \"Змінити Вашу мову та регіональні налаштування.\",\n    \"notifications\": \"Повідомлення\",\n    \"plugin-activated\": \"Плагін активований\",\n    \"plugin-deactivated\": \"Плагін вимкнено\",\n    \"new-theme-configured\": \"Нову тему налаштовано\",\n    \"settings-changes\": \"Зміни в налаштуваннях\",\n    \"plugin-configured\": \"Плагін налаштовано\",\n    \"welcome-to-bludit\": \"Ласкаво просимо до Bludit\",\n    \"statistics\": \"Статистика\",\n    \"drafts\": \"Чернетки\",\n    \"title\": \"Назва\",\n    \"save\": \"Зберегти\",\n    \"save-as-draft\": \"Зберегти як чернетку\",\n    \"cancel\": \"Скасувати\",\n    \"description\": \"Опис\",\n    \"this-field-can-help-describe-the-content\": \"Це поле може допомогти описати зміст у декількох словах. Не більше 150 символів.\",\n    \"images\": \"Зображення\",\n    \"error\": \"Помилка\",\n    \"supported-image-file-types\": \"Підтримувані типи файлів зображень\",\n    \"cover-image\": \"Зображення обкладинки\",\n    \"drag-and-drop-or-click-here\": \"Перетягніть або натисніть тут\",\n    \"there-are-no-images\": \"Немає зображень\",\n    \"upload-and-more-images\": \"Завантажити та інші зображення\",\n    \"click-on-the-image-for-options\": \"Натисніть на зображення, щоб переглянути параметри.\",\n    \"click-here-to-cancel\": \"Натисніть тут, щоб скасувати.\",\n    \"insert-image\": \"Вставити зображення\",\n    \"set-as-cover-image\": \"Встановити в якості обкладинки\",\n    \"delete-image\": \"Видалити зображення\",\n    \"tags\": \"Теги\",\n    \"add\": \"Додати\",\n    \"status\": \"Статус\",\n    \"published\": \"Опубліковано\",\n    \"draft\": \"Чернетка\",\n    \"empty-title\": \"Порожній заголовок\",\n    \"empty\": \"порожньо\",\n    \"date\": \"Дата\",\n    \"external-cover-image\": \"Зовнішнє зображення обкладинки\",\n    \"parent\": \"Джерело\",\n    \"full-image-url\": \"Повна URL-адреса зображення.\",\n    \"this-field-is-used-when-you-order-the-content-by-position\": \"Це поле використовується під час сортування контенту за позицією.\",\n    \"position\": \"Позиція\",\n    \"friendly-url\": \"Дружні URL\",\n    \"image-description\": \"Опис зображення\",\n    \"add-a-new-category\": \"Додати нову категорію\",\n    \"name\": \"Ім'я\",\n    \"username\": \"Ім'я користувача\",\n    \"first-name\": \"Ім'я\",\n    \"last-name\": \"Прізвище\",\n    \"to-schedule-the-content-select-the-date-and-time\": \"Щоб запланувати публікацію контенту, виберіть дату та час, коли статус буде встановлений на \\\"Опубліковано\\\".\",\n    \"email\": \"Email\",\n    \"role\": \"Роль\",\n    \"registered\": \"Зареєстрований\",\n    \"site-information\": \"Інформація про сайт\",\n    \"site-title\": \"Назва сайту\",\n    \"use-this-field-to-name-your-site\": \"Використовуйте це поле для назви свого сайту, яка буде відображатися у верхній частині кожної сторінки вашого сайту.\",\n    \"site-slogan\": \"Слоган сайту\",\n    \"use-this-field-to-add-a-catchy-phrase\": \"Використовуйте це поле, щоб додати яскраву фразу на вашому сайті.\",\n    \"site-description\": \"Опис сайту\",\n    \"you-can-add-a-site-description-to-provide\": \"Ви можете додати опис сайту, щоб забезпечити коротку біографію чи опис вашого сайту.\",\n    \"footer-text\": \"Текст нижнього колонтитулу\",\n    \"you-can-add-a-small-text-on-the-bottom\": \"Ви можете додати невеликий текст внизу кожної сторінки, наприклад: авторські права, власник, дати і т.д.\",\n    \"social-networks-links\": \"Посилання на соціальні мережі\",\n    \"site-url\": \"URL-адреса сайту\",\n    \"email-account-settings\": \"Налаштування облікового запису електронної пошти\",\n    \"sender-email\": \"Email відправника\",\n    \"emails-will-be-sent-from-this-address\": \"Листи будуть відправлятися з цієї адреси.\",\n    \"url-filters\": \"URL-фільтри\",\n    \"select-your-sites-language\": \"Виберіть мову вашого сайту.\",\n    \"timezone\": \"Часовий пояс\",\n    \"select-a-timezone-for-a-correct\": \"Виберіть часовий пояс для правильного відображення дати\\/часу на вашому сайті.\",\n    \"locale\": \"Локаль\",\n    \"date-and-time-formats\": \"Формати дати й часу\",\n    \"date-format\": \"Формат дати\",\n    \"current-format\": \"Поточний формат\",\n    \"version\": \"Версія\",\n    \"author\": \"Автор\",\n    \"activate\": \"Активувати\",\n    \"deactivate\": \"Деактивувати\",\n    \"edit-category\": \"Редагувати категорію\",\n    \"delete\": \"Видалити\",\n    \"password\": \"Пароль\",\n    \"confirm-password\": \"Підтвердіть пароль\",\n    \"editor\": \"Редактор\",\n    \"administrator\": \"Адміністратор\",\n    \"edit-user\": \"Редагувати користувача\",\n    \"edit-content\": \"Редагувати контент\",\n    \"profile\": \"Профіль\",\n    \"change-password\": \"Зміна пароля\",\n    \"enabled\": \"Увімкнено\",\n    \"disable-the-user\": \"Відключити користувача\",\n    \"profile-picture\": \"Зображення профілю\",\n    \"edit-or-delete-your-categories\": \"Редагування або видалення ваших категорій\",\n    \"create-a-new-category-to-organize-your-content\": \"Створити нову категорію, щоб організувати ваш контент\",\n    \"confirm-delete-this-action-cannot-be-undone\": \"Підтвердіть видалення, ця дія не може бути скасована.\",\n    \"do-you-want-to-disable-the-user\": \"Ви хочете відключити користувача?\",\n    \"new-password\": \"Новий пароль\",\n    \"you-can-change-this-field-when-save-the-current-changes\": \"Ви можете змінити це поле після збереження поточних змін.\",\n    \"items-per-page\": \"Елементів на сторінку\",\n    \"invite-a-friend-to-collaborate-on-your-site\": \"Запросіть друга до співпраці на своєму сайті\",\n    \"number-of-items-to-show-per-page\": \"Кількість елементів для показу на сторінці.\",\n    \"website-or-blog\": \"Вебсайт або блог\",\n    \"order-content-by\": \"Сортувати контент за\",\n    \"edit-or-delete-content-from-your-site\": \"Редагуйте або видаліть контент із вашого сайту\",\n    \"order-the-content-by-date-to-build-a-blog\": \"Відсортуйте контент за датою, щоб створити блог або за позицією, щоб створити вебсайт.\",\n    \"page-not-found-content\": \"Привіт! Схоже, цієї сторінки не існує.\",\n    \"page-not-found\": \"Сторінку не знайдено\",\n    \"predefined-pages\": \"Попередньо визначені сторінки\",\n    \"returning-page-when-the-page-doesnt-exist\": \"Сторінка, що відображається, коли запитувану сторінку не знайдено. Залиште поле порожнім, щоб показати стандартне повідомлення.\",\n    \"returning-page-for-the-main-page\": \"Сторінка, що відображається як головна. Залиште поле порожнім, якщо хочете показувати всі сторінки на головній.\",\n    \"full-url-of-your-site\": \"Повна URL-адреса вашого сайту. Заповніть протокол HTTP або HTTPS (тільки якщо ввімкнуто SSL на вашому сервері).\",\n    \"with-the-locales-you-can-set-the-regional-user-interface\": \"За допомогою локалей ви можете встановити регіональний користувальницький інтерфейс, наприклад, дати на вашій мові. Локалі повинні бути встановлені у вашій системі.\",\n    \"bludit-installer\": \"Інсталятор Bludit\",\n    \"choose-your-language\": \"Оберіть свою мову\",\n    \"next\": \"Далі\",\n    \"complete-the-form-choose-a-password-for-the-username-admin\": \"Виберіть пароль для користувача «admin»\",\n    \"show-password\": \"Показати пароль\",\n    \"install\": \"Встановити\",\n    \"login\": \"Увійти\",\n    \"back-to-login-form\": \"Назад до форми входу\",\n    \"get-login-access-code\": \"Отримати код доступу для входу\",\n    \"email-access-code\": \"Код доступу Email\",\n    \"whats-next\": \"Що далі\",\n    \"username-or-password-incorrect\": \"Неправильне ім'я користувача або пароль\",\n    \"follow-bludit-on\": \"Слідуйте за Bludit на\",\n    \"this-is-a-brief-description-of-yourself-our-your-site\": \"Це короткий опис про себе або про сайт. Щоб змінити цей текст, зайдіть до панелі адміністратора: Налаштування → Плагіни, і налаштуйте плагін «Про сайт».\",\n    \"new-version-available\": \"Нова версія доступна\",\n    \"new-category-created\": \"Створено нову категорію\",\n    \"category-deleted\": \"Категорія видалена\",\n    \"category-edited\": \"Категорія відредагована\",\n    \"new-user-created\": \"Новий користувач створений\",\n    \"user-edited\": \"Користувач відредагований\",\n    \"user-deleted\": \"Користувач видалений\",\n    \"recommended-for-recovery-password-and-notifications\": \"Рекомендується для відновлення пароля та сповіщень.\",\n    \"authentication-token\": \"Токен аутентифікації\",\n    \"token\": \"Токен\",\n    \"current-status\": \"Поточний стан\",\n    \"upload-image\": \"Завантажити зображення\",\n    \"the-changes-have-been-saved\": \"Зміни були збережені\",\n    \"label\": \"Мітка\",\n    \"links\": \"Посилання\",\n    \"this-title-is-almost-always-used-in-the-sidebar-of-the-site\": \"Цей заголовок майже завжди використовується на бічній панелі сайту.\",\n    \"password-must-be-at-least-6-characters-long\": \"Пароль повинен містити не менше 6 символів\",\n    \"ip-address-has-been-blocked\": \"IP-адресу заблоковано.\",\n    \"try-again-in-a-few-minutes\": \"Повторіть спробу через декілька хвилин.\",\n    \"content-published-from-scheduler\": \"Контент опубліковано за розкладом\",\n    \"blog\": \"Блог\",\n    \"complete-all-fields\": \"Заповніть усі поля\",\n    \"static\": \"Статичний\",\n    \"about-your-site-or-yourself\": \"Про ваш сайт або про вас\",\n    \"homepage\": \"Домашня сторінка\",\n    \"disabled\": \"Вимкнено\",\n    \"to-enable-the-user-you-must-set-a-new-password\": \"Щоб активувати цього користувача, потрібно встановити новий пароль.\",\n    \"delete-the-user-and-associate-his-content-to-admin-user\": \"Видалити користувача та пов'язати його контент з адміністратором\",\n    \"delete-the-user-and-all-his-content\": \"Видалити користувача та весь його контент\",\n    \"user-disabled\": \"Користувач відключений\",\n    \"user-password-changed\": \"Змінено пароль користувача\",\n    \"the-password-and-confirmation-password-do-not-match\": \"Пароль і підтвердження пароля не співпадають\",\n    \"scheduled-content\": \"Запланований контент\",\n    \"there-are-no-scheduled-content\": \"Немає запланованого контенту.\",\n    \"new-content-created\": \"Новий контент створено\",\n    \"content-edited\": \"Контент відредаговано\",\n    \"content-deleted\": \"Контент видалено\",\n    \"undefined\": \"Невизначено\",\n    \"create-new-content-for-your-site\": \"Створіть новий контент для свого сайту\",\n    \"order-items-by\": \"Сортувати елементи за\",\n    \"all-content\": \"Весь контент\",\n    \"dynamic\": \"Динамічний\",\n    \"type\": \"Тип\",\n    \"draft-content\": \"Чорновий контент\",\n    \"post\": \"Опублікувати\",\n    \"default\": \"За замовчуванням\",\n    \"latest-content\": \"Найновіший контент\",\n    \"default-message\": \"Повідомлення за замовчуванням\",\n    \"no-parent\": \"Немає батьківського елемента\",\n    \"have-you-seen-my-ball\": \"Ти бачив мій м'яч?\",\n    \"pagebreak\": \"Розрив сторінки\",\n    \"pages\": \"Сторінки\",\n    \"this-plugin-may-not-be-supported-by-this-version-of-bludit\": \"Цей плагін може не підтримуватися цією версією Bludit\",\n    \"previous\": \"Попередній\",\n    \"previous-page\": \"Попередня сторінка\",\n    \"next-page\": \"Наступна сторінка\",\n    \"scheduled\": \"Заплановано\",\n    \"this-token-is-similar-to-a-password-it-should-not-be-shared\": \"Цей токен схожий на пароль, ним не слід ділитися.\",\n    \"congratulations-you-have-successfully-installed-your-bludit\": \"Вітаємо, ви успішно встановили **Bludit**\",\n    \"this-theme-may-not-be-supported-by-this-version-of-bludit\": \"Ця тема може не підтримуватися цією версією Bludit\",\n    \"read-more\": \"Читати далі\",\n    \"remember-me\": \"Запам'ятати мене\",\n    \"plugins-position\": \"Позиція плагіна\",\n    \"plugins-sorted\": \"Плагіни відсортовані\",\n    \"plugins-position-changed\": \"Позицію плагіна змінено\",\n    \"drag-and-drop-to-set-the-position-of-the-plugin\": \"Перетягніть та відпустіть, щоб встановити позицію плагінів\",\n    \"change-the-position-of-the-plugins\": \"Змінити положення плагінів\",\n    \"reading-time\": \"Час прочитання\",\n    \"minutes\": \"хвилин\",\n    \"minute\": \"хвилина\",\n    \"example-page-1-slug\": \"створіть-свій-контент\",\n    \"example-page-1-title\": \"Створіть свій контент\",\n    \"example-page-1-content\": \"Почніть писати свій контент або відредагуйте поточний, відповідно до ваших потреб. Щоб створити, відредагувати або видалити контент, необхідно ввійти до [панелі управління](.\\/admin) з ім'ям користувача `admin` і паролем, який ви встановили в процесі установки блогу.\",\n    \"example-page-2-slug\": \"налаштуйте-свій-новий-сайт\",\n    \"example-page-2-title\": \"Налаштуйте свій новий сайт\",\n    \"example-page-2-content\": \"Оновіть налаштування вашого сайту у [панелі управління](.\\/admin); ви можете змінити назву, опис та соціальні мережі <a href=\\\".\\/admin\\/settings\\\" target=\\\"_blank\\\">Налаштування > Загальні налаштування<\\/a>.\",\n    \"example-page-3-slug\": \"слідуйте-за-bludit\",\n    \"example-page-3-title\": \"Слідуйте за Bludit\",\n    \"example-page-3-content\": \"Отримайте інформацію про новини, релізи, теми та плагіни в наших соціальних мережах <a href=\\\"https:\\/\\/www.facebook.com\\/bluditcms\\/\\\" target=\\\"_blank\\\">Facebook<\\/a>, <a href=\\\"https:\\/\\/www.twitter.com\\/bludit\\/\\\" target=\\\"_blank\\\">Twitter<\\/a> та <a href=\\\"https:\\/\\/www.youtube.com\\/c\\/Bluditcms\\\" target=\\\"_blank\\\">YouTube<\\/a> чи відвідайте наш [блог](https:\\/\\/blog.bludit.com).\",\n    \"example-page-4-slug\": \"про-блог\",\n    \"example-page-4-title\": \"Про блог\",\n    \"example-page-4-content\": \"Сторінка «Про блог», як правило, є однією з найбільш відвідуваних сторінок вашого сайту, і повинна містити декілька основних простих речей, таких як ваше ім'я, рід занять, як зв'язатися з вами, невелику біографію, тощо.\",\n    \"the-extension-zip-is-not-installed\": \"Zip-розширення не встановлено. Для використання цього плагіна потрібно встановити розширення.\",\n    \"there-are-no-sticky-pages-at-this-moment\": \"На даний момент немає прикріплених сторінок.\",\n    \"there-are-no-scheduled-pages-at-this-moment\": \"Наразі немає запланованих сторінок.\",\n    \"update\": \"Оновити\",\n    \"template\": \"Шаблон\",\n    \"nickname\": \"Псевдонім\",\n    \"disable-user\": \"Вимкнути користувача\",\n    \"delete-user-and-keep-content\": \"Видалити користувача та зберегти контент\",\n    \"delete-user-and-delete-content\": \"Видалити користувача та видалити контент (Увага!)\",\n    \"social-networks\": \"Соціальні мережі\",\n    \"interval\": \"Інтервал\",\n    \"number-in-minutes-for-every-execution-of-autosave\": \"Інтервал у хвилинах між кожним автоматичним збереженням.\",\n    \"extreme-friendly-url\": \"Екстремально дружній URL\",\n    \"title-formats\": \"Формати заголовків\",\n    \"delete-content\": \"Видалити контент\",\n    \"are-you-sure-you-want-to-delete-this-page\": \"Ви впевнені, що хочете видалити цю сторінку?\",\n    \"sticky\": \"Прикріплено\",\n    \"actions\": \"Дії\",\n    \"edit\": \"Редагувати\",\n    \"options\": \"Параметри\",\n    \"enter-title\": \"Введіть заголовок\",\n    \"media-manager\": \"Медіаменеджер\",\n    \"set-a-cover-image-from-external-url,-such-as-a-cdn-or-some-server-dedicated-for-images\": \"Встановити зображення обкладинки з зовнішньої URL-адреси, наприклад, CDN або деякого сервера, призначеного для зображень.\",\n    \"user\": \"Користувач\",\n    \"date-format-format\": \"Формат дати: <code>РРРР-ММ-ДД Години:Хвилини:Секунди<\\/code>\",\n    \"start-typing-a-page-title-to-see-a-list-of-suggestions\": \"Почніть вводити заголовок сторінки, щоб переглянути список пропозицій.\",\n    \"field-used-when-ordering-content-by-position\": \"Поле використовується при сортуванні контенту за місцем розташування\",\n    \"write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page\": \"Напишіть ім'я шаблону, щоб відфільтрувати сторінку в темі та змінити стиль сторінки.\",\n    \"write-the-tags-separated-by-commas\": \"Напишіть теги, розділені комою.\",\n    \"apply-code-noindex-code-to-this-page\": \"Застосувати <code>noindex<\\/code> для цієї сторінки.\",\n    \"this-tells-search-engines-not-to-show-this-page-in-their-search-results\": \"Ця опція вказує пошуковим системам не показувати дану сторінку в результатах пошуку.\",\n    \"apply-code-nofollow-code-to-this-page\": \"Застосувати <code>nofollow<\\/code> для цієї сторінки.\",\n    \"this-tells-search-engines-not-to-follow-links-on-this-page\": \"Ця опція вказує пошуковим системам не слідувати посиланням на цій сторінці.\",\n    \"apply-code-noarchive-code-to-this-page\": \"Застосувати <code>noarchive<\\/code> для цієї сторінки.\",\n    \"this-tells-search-engines-not-to-save-a-cached-copy-of-this-page\": \"Ця опція вказує пошуковим системам не зберігати кешовану копію даної сторінки.\",\n    \"uncategorized\": \"Без категорії\",\n    \"done\": \"Готово\",\n    \"delete-category\": \"Видалити категорію\",\n    \"are-you-sure-you-want-to-delete-this-category?\": \"Ви впевнені, що хочете видалити цю категорію?\",\n    \"confirm-new-password\": \"Підтвердити новий пароль\",\n    \"the-nickname-is-almost-used-in-the-themes-to-display-the-author-of-the-content\": \"Псевдонім практично використовується в темах для відображення автора контенту\",\n    \"allow-unicode\": \"Дозволити Unicode\",\n    \"allow-unicode-characters-in-the-url-and-some-part-of-the-system\": \"Дозволити символи Unicode в URL-адресі та деякій частині системи.\",\n    \"variables-allowed\": \"Змінні дозволені\",\n    \"tag\": \"Тег\",\n    \"drag-and-drop-to-sort-the-plugins\": \"Перетягніть, щоб відсортувати плагіни.\",\n    \"seo\": \"SEO\",\n    \"documentation\": \"Документація\",\n    \"forum-support\": \"Форум підтримки\",\n    \"chat-support\": \"Чат підтримки\",\n    \"quick-links\": \"Швидкі посилання\",\n    \"leave-empty-for-autocomplete-by-bludit\": \"Залиште порожнім для автозавершення за допомогою Bludit.\",\n    \"choose-a-password-for-the-user-admin\": \"Виберіть пароль для користувача <code>admin<\\/code>\",\n    \"access-denied\": \"Доступ заборонено\",\n    \"choose-images-to-upload\": \"Виберіть зображення для завантаження\",\n    \"insert\": \"Вставити\",\n    \"upload\": \"Завантажити\",\n    \"autosave\": \"Автоматичне збереження\",\n    \"the-content-is-saved-as-a-draft-to-publish-it\": \"Контент збережено як чернетку. Для публікації натисніть на кнопку <b>Опублікувати<\\/b> або якщо ви все ще працюєте над ним, натисніть на <b>Зберегти як чернетку<\\/b>.\",\n    \"site\": \"Сайт\",\n    \"first\": \"Перший\",\n    \"last\": \"Останній\",\n    \"there-are-no-pages-at-this-moment\": \"Наразі немає сторінок.\",\n    \"there-are-no-static-pages-at-this-moment\": \"Наразі немає статичних сторінок.\",\n    \"there-are-no-draft-pages-at-this-moment\": \"Наразі немає сторінок у чернетках.\",\n    \"good-morning\": \"Доброго ранку\",\n    \"good-afternoon\": \"Добридень\",\n    \"good-evening\": \"Добривечір\",\n    \"good-night\": \"Доброї ночі\",\n    \"hello\": \"Вітаю\",\n    \"there-are-no-images-for-the-page\": \"Немає зображень для сторінки.\",\n    \"select-cover-image\": \"Виберіть зображення обкладинки\",\n    \"this-plugin-depends-on-the-following-plugins\": \"Цей плагін залежить від наступних плагінів.\",\n    \"no-pages-found\": \"Сторінок не знайдено\",\n    \"system-updated\": \"Система оновлена\",\n    \"security\": \"Безпека\",\n    \"remove-cover-image\": \"Видалити зображення обкладинки\",\n    \"width\": \"Ширина\",\n    \"height\": \"Висота\",\n    \"quality\": \"Якість\",\n    \"thumbnails\": \"Мініатюри\",\n    \"thumbnail\": \"Мініатюра\",\n    \"thumbnail-width-in-pixels\": \"Ширина мініатюри в пікселях (px).\",\n    \"thumbnail-height-in-pixels\": \"Висота мініатюри в пікселях (px).\",\n    \"thumbnail-quality-in-percentage\": \"Якість мініатюри у відсотках (%).\",\n    \"maximum-load-file-size-allowed:\": \"Максимально дозволений розмір файлу:\",\n    \"file-type-is-not-supported\": \"Тип файлу не підтримується. Дозволені типи:\",\n    \"page-content\": \"Вміст сторінки\",\n    \"markdown-parser\": \"Парсер Markdown\",\n    \"site-logo\": \"Логотип сайту\",\n    \"search\": \"Пошук\",\n    \"search-plugins\": \"Пошук плагінів\",\n    \"enabled-plugins\": \"Увімкнені плагіни\",\n    \"disabled-plugins\": \"Вимкнені плагіни\",\n    \"remove-logo\": \"Видалити логотип\",\n    \"preview\": \"Попередній перегляд\",\n    \"author-can-write-and-edit-their-own-content\": \"Автор: Може писати та редагувати власний контент. Редактор: Може писати та редагувати контент інших.\",\n    \"custom-fields\": \"Користувацькі поля\",\n    \"define-custom-fields-for-the-content\": \"Визначити користувацькі поля для контенту.\",\n    \"start-typing-to-see-a-list-of-suggestions\": \"Почніть вводити, щоб побачити список пропозицій.\",\n    \"view\": \"Переглянути\",\n    \"no-tags\": \"Немає тегів\",\n    \"insert-thumbnail\": \"Вставити мініатюру\",\n    \"visits-today\": \"Відвідування сьогодні\",\n    \"no-categories\": \"Немає категорій\",\n    \"quick-search-pages-and-menu\": \"Швидкий пошук сторінок і меню\",\n    \"click-here-for-quick-search\": \"Click here for quick search\",\n    \"analytics\": \"Аналітика\",\n    \"unique-visitors\": \"Унікальні відвідувачі\",\n    \"insert-linked-thumbnail\": \"Вставити пов'язану мініатюру\",\n    \"search-placeholder\": \"Пошук сторінок, контенту та пунктів меню...\",\n    \"no-results-found\": \"Результатів не знайдено\",\n    \"navigation\": \"Навігація\",\n    \"default-content-status\": \"Статус вмісту за замовчуванням\",\n    \"default-status-for-new-content\": \"Виберіть, чи буде новий вміст створюватися як Опублікований або Чернетка за замовчуванням.\",\n    \"thumbnail-generation\": \"Генерація мініатюр\",\n    \"enable-disable-automatic-thumbnail-generation-on-image-upload\": \"Увімкнути або вимкнути автоматичну генерацію мініатюр при завантаженні зображень.\"\n}\n"
  },
  {
    "path": "bl-languages/vi_VN.json",
    "content": "{\n    \"language-data\": {\n        \"native\": \"Tiếng Việt\",\n        \"english-name\": \"Vietnamese\",\n        \"last-update\": \"2020-08-18\",\n        \"authors\": [\n            \"huuptag\",\n            \"\",\n            \"\",\n            \"\"\n        ],\n        \"locale\": \"vi, vi_VN\"\n    },\n    \"dates\": {\n        \"Mon\": \"T2\",\n        \"Tue\": \"T3\",\n        \"Wed\": \"T4\",\n        \"Thu\": \"T5\",\n        \"Fri\": \"T6\",\n        \"Sat\": \"T7\",\n        \"Sun\": \"CN\",\n        \"Monday\": \"Thứ 2\",\n        \"Tuesday\": \"Thứ 3\",\n        \"Wednesday\": \"Thứ 4\",\n        \"Thursday\": \"Thứ 5\",\n        \"Friday\": \"Thứ 6\",\n        \"Saturday\": \"Thứ 7\",\n        \"Sunday\": \"Chủ nhật\",\n        \"Jan\": \"Tháng 01\",\n        \"Feb\": \"Tháng 02\",\n        \"Mar\": \"Tháng 03\",\n        \"Apr\": \"Tháng 04\",\n        \"Jun\": \"Tháng 06\",\n        \"Jul\": \"Tháng 07\",\n        \"Aug\": \"Tháng 08\",\n        \"Sep\": \"Tháng 09\",\n        \"Oct\": \"Tháng 10\",\n        \"Nov\": \"Tháng 11\",\n        \"Dec\": \"Tháng 12\",\n        \"January\": \"Tháng 01\",\n        \"February\": \"Tháng 02\",\n        \"March\": \"Tháng 03\",\n        \"April\": \"Tháng 04\",\n        \"May\": \"Tháng 05\",\n        \"June\": \"Tháng 06\",\n        \"July\": \"Tháng 07\",\n        \"August\": \"Tháng 08\",\n        \"September\": \"Tháng 09\",\n        \"October\": \"Tháng 10\",\n        \"November\": \"Tháng 11\",\n        \"December\": \"Tháng 12\"\n    },\n    \"dashboard\": \"Bảng điều khiển\",\n    \"manage-users\": \"Quản lý người dùng\",\n    \"manage-categories\": \"Quản lý danh mục\",\n    \"general-settings\": \"Cài đặt chung\",\n    \"advanced-settings\": \"Cài đặt nâng cao\",\n    \"thanks-for-supporting-bludit\": \"Cảm ơn đã hỗ trợ Bludit\",\n    \"upgrade-to-bludit-pro\": \"Nâng cấp lên Bludit PRO\",\n    \"language\": \"Ngôn ngữ\",\n    \"plugin\": \"Tiện ích\",\n    \"plugins\": \"Tiện ích\",\n    \"developers\": \"Nhà phát triển\",\n    \"themes\": \"Chủ đề\",\n    \"about\": \"Thông tin\",\n    \"url\": \"URL\",\n    \"welcome\": \"Chào mừng\",\n    \"logout\": \"Đăng xuất\",\n    \"website\": \"Trang chủ\",\n    \"publish\": \"Xuất bản\",\n    \"manage\": \"Quản lý\",\n    \"content\": \"Bài viết\",\n    \"category\": \"Danh mục\",\n    \"categories\": \"Danh mục\",\n    \"users\": \"Người dùng\",\n    \"settings\": \"Cài đặt\",\n    \"general\": \"Chung\",\n    \"advanced\": \"Nâng cao\",\n    \"new-content\": \"Bài viết mới\",\n    \"manage-content\": \"Quản lý bài viết\",\n    \"add-new-content\": \"Tạo bài viết\",\n    \"new-category\": \"Tạo danh mục\",\n    \"you-do-not-have-sufficient-permissions\": \"Bạn không có quyền truy cập trang này, hãy liên hệ với admin.\",\n    \"add-a-new-user\": \"Tạo người dùng\",\n    \"url-associated-with-the-content\": \"URL được liên kết với bài viết.\",\n    \"language-and-timezone\": \"Ngôn ngữ và Múi giờ\",\n    \"change-your-language-and-region-settings\": \"Thay đổi cài đặt ngôn ngữ và khu vực.\",\n    \"notifications\": \"Thông báo\",\n    \"plugin-activated\": \"Tiện ích đã bật\",\n    \"plugin-deactivated\": \"Tiện tích đã tắt\",\n    \"new-theme-configured\": \"Cấu hình chủ đề mới\",\n    \"settings-changes\": \"Thay đổi cài đặt\",\n    \"plugin-configured\": \"Cài đặt tiện ích\",\n    \"welcome-to-bludit\": \"Chào mừng đến với Bludit\",\n    \"statistics\": \"Thống kê\",\n    \"drafts\": \"Bản nháp\",\n    \"title\": \"Tiêu đề\",\n    \"save\": \"Lưu\",\n    \"save-as-draft\": \"Lưu nháp\",\n    \"cancel\": \"Hủy\",\n    \"description\": \"Mô tả\",\n    \"this-field-can-help-describe-the-content\": \"Trường này là mô tả ngắn cho bài viết, nhưng không được quá 150 ký tự.\",\n    \"images\": \"Hình ảnh\",\n    \"error\": \"Lỗi\",\n    \"supported-image-file-types\": \"Định dạng cho phép:\",\n    \"cover-image\": \"Ảnh đại diện\",\n    \"drag-and-drop-or-click-here\": \"Kéo thả hoặc bấm vào đây\",\n    \"there-are-no-images\": \"Không có hình\",\n    \"upload-and-more-images\": \"Cập nhật thêm hình ảnh\",\n    \"click-on-the-image-for-options\": \"Bấm vào hình ảnh để mở tùy chỉnh.\",\n    \"click-here-to-cancel\": \"Bấm vào đây để hủy.\",\n    \"insert-image\": \"Chèn hình ảnh\",\n    \"set-as-cover-image\": \"Set as cover image\",\n    \"delete-image\": \"Xóa hình ảnh\",\n    \"tags\": \"Thẻ\",\n    \"add\": \"Thêm\",\n    \"status\": \"Trạng thái\",\n    \"published\": \"Đã xuất bản\",\n    \"draft\": \"Nháp\",\n    \"empty-title\": \"Tiêu đề rỗng\",\n    \"empty\": \"rỗng\",\n    \"date\": \"Ngày\",\n    \"external-cover-image\": \"Ảnh đại diện bên ngoài\",\n    \"parent\": \"Danh mục\",\n    \"full-image-url\": \"Địa chỉ hình ảnh đầy đủ.\",\n    \"this-field-is-used-when-you-order-the-content-by-position\": \"Trường này dùng để sắp xếp vị trí bài viết.\",\n    \"position\": \"Vị trí\",\n    \"friendly-url\": \"Friendly URL\",\n    \"image-description\": \"Mô tả hình ảnh\",\n    \"add-a-new-category\": \"Thêm danh mục mới\",\n    \"name\": \"Họ tên\",\n    \"username\": \"Tài khoản\",\n    \"first-name\": \"Tên\",\n    \"last-name\": \"Họ\",\n    \"to-schedule-the-content-select-the-date-and-time\": \"Hãy chọn ngày giờ để lên lịch xuất bản bài viết. Khi đó, trạng thái bài viết sẽ là \\\"Đã xuất bản\\\".\",\n    \"email\": \"Email\",\n    \"role\": \"Vai trò\",\n    \"registered\": \"Đã đăng ký\",\n    \"site-information\": \"Thông tin trang web\",\n    \"site-title\": \"Tiêu đề trang web\",\n    \"use-this-field-to-name-your-site\": \"Trường này dùng để đặt tiêu đề trên trình duyệt ở mỗi trang.\",\n    \"site-slogan\": \"Khẩu hiệu trang web\",\n    \"use-this-field-to-add-a-catchy-phrase\": \"Trường này dùng để gây ấn tượng cho trang web của bạn.\",\n    \"site-description\": \"Mô tả trang web\",\n    \"you-can-add-a-site-description-to-provide\": \"Bạn có thể nhập nội dung này để kể về tiểu sử hoặc mô tả ngắn gọn về trang web của mình.\",\n    \"footer-text\": \"Nội dung cuối trang web\",\n    \"you-can-add-a-small-text-on-the-bottom\": \"Bạn có thể thêm một văn bản ngắn ở cuối trang như: bản quyền, chủ sở hữu, ngày tháng, v.v.\",\n    \"social-networks-links\": \"Địa chỉ mạng xã hội\",\n    \"site-url\": \"Đường dẫn trang web\",\n    \"email-account-settings\": \"Cài đặt tài khoản email\",\n    \"sender-email\": \"Người gửi mail\",\n    \"emails-will-be-sent-from-this-address\": \"Email sẽ được gửi từ địa chỉ này.\",\n    \"url-filters\": \"Bộ lọc URL\",\n    \"select-your-sites-language\": \"Chọn ngôn ngữ.\",\n    \"timezone\": \"Múi giờ\",\n    \"select-a-timezone-for-a-correct\": \"Lựa chọn chính xác múi giờ bạn muốn hiển thị trên trang web.\",\n    \"locale\": \"Mã ngôn ngữ\",\n    \"date-and-time-formats\": \"Định dạng ngày giờ\",\n    \"date-format\": \"Định dạng ngày\",\n    \"current-format\": \"Định dạng hiện tại\",\n    \"version\": \"Phiên bản\",\n    \"author\": \"Tác giả\",\n    \"activate\": \"Kích hoạt\",\n    \"deactivate\": \"Tắt\",\n    \"edit-category\": \"Sửa danh mục\",\n    \"delete\": \"Xóa\",\n    \"password\": \"Mật khẩu\",\n    \"confirm-password\": \"Xác nhận mật khẩu\",\n    \"editor\": \"Biên tập viên\",\n    \"administrator\": \"Quản trị viên\",\n    \"edit-user\": \"Sửa người dùng\",\n    \"edit-content\": \"Sửa nội dung\",\n    \"profile\": \"Hồ sơ\",\n    \"change-password\": \"Đổi mật khẩu\",\n    \"enabled\": \"Bật\",\n    \"disable-the-user\": \"Tắt người dùng\",\n    \"profile-picture\": \"Hình đại diện\",\n    \"edit-or-delete-your-categories\": \"Sửa hoặc xóa danh mục\",\n    \"create-a-new-category-to-organize-your-content\": \"Tạo danh mục mới để cấu trúc bài viết\",\n    \"confirm-delete-this-action-cannot-be-undone\": \"Xác nhận xóa, thao tác này sẽ không thể khôi phục lại.\",\n    \"do-you-want-to-disable-the-user\": \"Bạn có chắc sẽ tắt người dùng này?\",\n    \"new-password\": \"Mật khẩu mới\",\n    \"you-can-change-this-field-when-save-the-current-changes\": \"Bạn có thể thay đổi trường này khi lưu các thay đổi hiện tại.\",\n    \"items-per-page\": \"Số dòng mỗi trang\",\n    \"invite-a-friend-to-collaborate-on-your-site\": \"Mời cộng tác viên tham gia quản lý trang web\",\n    \"number-of-items-to-show-per-page\": \"Số lượng dòng trên mỗi trang.\",\n    \"website-or-blog\": \"Trang web hoặc Blog\",\n    \"order-content-by\": \"Sắp xếp bài viết theo\",\n    \"edit-or-delete-content-from-your-site\": \"Sửa hoặc xóa bài viết trên trang web\",\n    \"order-the-content-by-date-to-build-a-blog\": \"Sắp xếp nội dung theo ngày để xây dựng Blog hoặc sắp xếp nội dung theo vị trí để xây dựng Trang web.\",\n    \"page-not-found-content\": \"Trang này không tồn tại.\",\n    \"page-not-found\": \"Không tìm thấy trang này\",\n    \"predefined-pages\": \"Các trang được định sẵn\",\n    \"returning-page-when-the-page-doesnt-exist\": \"Trả lại trang khi trang không tồn tại, hãy để trống nếu bạn muốn trả về một thông báo mặc định.\",\n    \"returning-page-for-the-main-page\": \"Trả lại trang cho trang chính, hãy để trống nếu bạn muốn hiển thị tất cả các trang trên trang chính.\",\n    \"full-url-of-your-site\": \"URL đầy đủ của trang web. Yêu cầu có giao thức HTTP hoặc HTTPS(chỉ khi bạn đã bật SSL trên máy chủ).\",\n    \"with-the-locales-you-can-set-the-regional-user-interface\": \"Với ngôn ngữ, bạn có thể đặt giao diện người dùng, cũng như ngày tháng bằng ngôn ngữ của bạn. Các ngôn ngữ cần được cài đặt trên hệ thống.\",\n    \"bludit-installer\": \"Bộ cài đặt Bludit\",\n    \"choose-your-language\": \"Chọn ngôn ngữ của bạn\",\n    \"next\": \"Tiếp\",\n    \"complete-the-form-choose-a-password-for-the-username-admin\": \"Nhập mật khẩu cho tài khoản « admin »\",\n    \"show-password\": \"Hiển thị mật khẩu\",\n    \"install\": \"Cài đặt\",\n    \"login\": \"Đăng nhập\",\n    \"back-to-login-form\": \"Về trang đăng nhập\",\n    \"get-login-access-code\": \"Lấy mã đăng nhập\",\n    \"email-access-code\": \"Email nhận mã\",\n    \"whats-next\": \"Tiếp theo là gì\",\n    \"username-or-password-incorrect\": \"Tài khoản hoặc mật khẩu không đúng\",\n    \"follow-bludit-on\": \"Theo dõi Bludit tại\",\n    \"this-is-a-brief-description-of-yourself-our-your-site\": \"Đây là mô tả ngắn gọn về bản thân hoặc trang web của bạn. Để thay đổi văn bản này hãy chuyển đến Trang quản trị > Cài đặt > Plugin và cấu hình plugin About.\",\n    \"new-version-available\": \"Có phiên bản mới\",\n    \"new-category-created\": \"Đã tạo danh mục mới\",\n    \"category-deleted\": \"Đã xóa danh mục\",\n    \"category-edited\": \"Đã sửa danh mục\",\n    \"new-user-created\": \"Đã tạo người dùng mới\",\n    \"user-edited\": \"Đã sửa người dùng\",\n    \"user-deleted\": \"Đã xóa người dùng\",\n    \"recommended-for-recovery-password-and-notifications\": \"Được đề xuất cho mật khẩu khôi phục và thông báo.\",\n    \"authentication-token\": \"Authentication Token\",\n    \"token\": \"Token\",\n    \"current-status\": \"Trạng thái hiện tại\",\n    \"upload-image\": \"Đăng hình\",\n    \"the-changes-have-been-saved\": \"Đã lưu thay đổi\",\n    \"label\": \"Nhãn\",\n    \"links\": \"Đường dẫn\",\n    \"this-title-is-almost-always-used-in-the-sidebar-of-the-site\": \"Tiêu đề luôn được sử dụng ở thanh điều hướng ở cạnh bên của trang web.\",\n    \"password-must-be-at-least-6-characters-long\": \"Mật khẩu phải có ít nhất 6 ký tự\",\n    \"ip-address-has-been-blocked\": \"Địa chỉ IP đã bị khóa.\",\n    \"try-again-in-a-few-minutes\": \"Hãy thử lại trong ít phút nữa.\",\n    \"content-published-from-scheduler\": \"Bài viết đã được xuất bản theo lịch trình\",\n    \"blog\": \"Blog\",\n    \"complete-all-fields\": \"Hoàn tất\",\n    \"static\": \"Trang tĩnh\",\n    \"about-your-site-or-yourself\": \"Thông tin về trang web hoặc bản thân\",\n    \"homepage\": \"Trang chủ\",\n    \"disabled\": \"Đã tắt\",\n    \"to-enable-the-user-you-must-set-a-new-password\": \"Để kích hoạt người dùng bạn phải đặt mật khẩu mới.\",\n    \"delete-the-user-and-associate-his-content-to-admin-user\": \"Xóa người dùng và liên kết bài viết của họ với tài khoản Quản trị viên\",\n    \"delete-the-user-and-all-his-content\": \"Xóa người dùng và tất cả bài viết của họ\",\n    \"user-disabled\": \"Người dùng đã bị tắt\",\n    \"user-password-changed\": \"Mật khẩu đã được thay đổi\",\n    \"the-password-and-confirmation-password-do-not-match\": \"Mật khẩu và mật khẩu xác nhận không trùng khớp\",\n    \"scheduled-content\": \"Nội dung đã lên lịch\",\n    \"there-are-no-scheduled-content\": \"Chưa có bài viết nào được lên lịch.\",\n    \"new-content-created\": \"Đã tạo bài viết mới\",\n    \"content-edited\": \"Đã sửa bài viết\",\n    \"content-deleted\": \"Đã xóa bài viết\",\n    \"undefined\": \"Không xác định\",\n    \"create-new-content-for-your-site\": \"Đã tạo bài viết mới cho trang web\",\n    \"order-items-by\": \"Sắp xếp theo\",\n    \"all-content\": \"Tất cả bài viết\",\n    \"dynamic\": \"Trang động\",\n    \"type\": \"Loại\",\n    \"draft-content\": \"Bài viết nháp\",\n    \"post\": \"Bài đăng\",\n    \"default\": \"Mặc định\",\n    \"latest-content\": \"Bài viết mới nhất\",\n    \"default-message\": \"Thông báo mặc định\",\n    \"no-parent\": \"Không có cha\",\n    \"have-you-seen-my-ball\": \"Bạn đã thấy quả bóng của tôi chưa?\",\n    \"pagebreak\": \"Ngắt trang\",\n    \"pages\": \"Trang\",\n    \"this-plugin-may-not-be-supported-by-this-version-of-bludit\": \"Tiện ích này không được hỗ trợ ở phiên bản Bludit hiện tại\",\n    \"previous\": \"Trước\",\n    \"previous-page\": \"Trang trước\",\n    \"next-page\": \"Trang kế\",\n    \"scheduled\": \"Lịch trình\",\n    \"this-token-is-similar-to-a-password-it-should-not-be-shared\": \"Mã token giống như là mật khẩu, không được chia sẻ nó.\",\n    \"congratulations-you-have-successfully-installed-your-bludit\": \"Chúc mừng bạn đã cài đặt **Bludit** thành công!\",\n    \"this-theme-may-not-be-supported-by-this-version-of-bludit\": \"Chủ đề này không được hỗ trợ ở phiên bản Bludit hiện tại\",\n    \"read-more\": \"Đọc tiếp\",\n    \"remember-me\": \"Ghi nhớ\",\n    \"plugins-position\": \"Vị trí tiện ích\",\n    \"plugins-sorted\": \"Đã sắp xếp tiện ích\",\n    \"plugins-position-changed\": \"Vị trí tiện ích đã được thay đổi\",\n    \"drag-and-drop-to-set-the-position-of-the-plugin\": \"Kéo thả để sắp xếp vị trí tiện ích\",\n    \"change-the-position-of-the-plugins\": \"Thay đổi vị trí của tiện ích\",\n    \"reading-time\": \"Thời gian đọc\",\n    \"minutes\": \"phút\",\n    \"minute\": \"phút\",\n    \"example-page-1-slug\": \"bai-viet-hay-cua-ban\",\n    \"example-page-1-title\": \"Bài viết hay của bạn\",\n    \"example-page-1-content\": \"Bắt đầu viết nội dung của riêng bạn hoặc chỉnh sửa hiện tại để phù hợp với nhu cầu của bạn. Để tạo, chỉnh sửa hoặc xóa nội dung, bạn cần đăng nhập vào <a href=\\\".\\/admin\\/\\\">Trang quản trị<\\/a> bằng tên người dùng `admin` và mật khẩu bạn đặt trong quá trình cài đặt.\",\n    \"example-page-2-slug\": \"cau-hinh-trang-web\",\n    \"example-page-2-title\": \"Cấu hình trang web\",\n    \"example-page-2-content\": \"Cấu hình trang web của bạn bằng cách vào <a href=\\\".\\/admin\\/\\\">Trang quản trị<\\/a>, bạn có thể đổi tiêu đề, mô tả và các trang liên kết mạng xã hội <a href=\\\".\\/admin\\/settings\\\" target=\\\"_blank\\\">Cài đặt > Chung<\\/a>.\",\n    \"example-page-3-slug\": \"follow-bludit\",\n    \"example-page-3-title\": \"Theo dõi Bludit\",\n    \"example-page-3-content\": \"Để nhận thông tin mới nhất về Bludit như tiện ích, chủ đề hãy truy cập tại <a href=\\\"https:\\/\\/www.facebook.com\\/bluditcms\\/\\\" target=\\\"_blank\\\">Facebook<\\/a>, <a href=\\\"https:\\/\\/www.twitter.com\\/bludit\\/\\\" target=\\\"_blank\\\">Twitter<\\/a> và <a href=\\\"https:\\/\\/www.youtube.com\\/c\\/Bluditcms\\\" target=\\\"_blank\\\">YouTube<\\/a> hoặc truy cập <a href=\\\"https:\\/\\/blog.bludit.com\\\" target=\\\"_blank\\\">Blog<\\/a>.\",\n    \"example-page-4-slug\": \"thông tin\",\n    \"example-page-4-title\": \"Thông tin\",\n    \"example-page-4-content\": \"Trang Giới thiệu của bạn thường là một trong những trang được truy cập nhiều nhất trên trang web của bạn vì vậy hãy viết nó thật cẩn thận. Nội dung chẳng hạn như tên của bạn, bạn là ai, cách liên hệ với bạn, một câu chuyện nhỏ, v.v..\",\n    \"the-extension-zip-is-not-installed\": \"Định dạng zip chưa được cài đặt, để sử dụng tiện ích bạn cần cài đặt định dạng này.\",\n    \"there-are-no-sticky-pages-at-this-moment\": \"Chưa có trang cố định nào.\",\n    \"there-are-no-scheduled-pages-at-this-moment\": \"Chưa có trang nào được lên lịch.\",\n    \"update\": \"Cập nhật\",\n    \"template\": \"Chủ đề\",\n    \"nickname\": \"Bút danh\",\n    \"disable-user\": \"Tắt người dùng\",\n    \"delete-user-and-keep-content\": \"Xóa người dùng và giữ lại bài viết\",\n    \"delete-user-and-delete-content\": \"Xóa người dùng và xóa bài viết(Cẩn thận!!!)\",\n    \"social-networks\": \"Mạng xã hội\",\n    \"interval\": \"Chu kỳ\",\n    \"number-in-minutes-for-every-execution-of-autosave\": \"Số phút bạn muốn tự động lưu.\",\n    \"extreme-friendly-url\": \"Địa chỉ URL rất thân thiện\",\n    \"title-formats\": \"Định dạng tiêu đề\",\n    \"delete-content\": \"Xóa bài viết\",\n    \"are-you-sure-you-want-to-delete-this-page\": \"Bạn có chắc muốn xóa trang này?\",\n    \"sticky\": \"Cố định\",\n    \"actions\": \"Hành động\",\n    \"edit\": \"Chỉnh sửa\",\n    \"options\": \"Tùy chọn\",\n    \"enter-title\": \"Nhập tiêu đề\",\n    \"media-manager\": \"Quản lý đa phương tiện\",\n    \"set-a-cover-image-from-external-url,-such-as-a-cdn-or-some-server-dedicated-for-images\": \"Đặt ảnh đại diện từ trang khác chẳng hạn như CDN hoặc một số trang web chuyên về hình ảnh.\",\n    \"user\": \"Người dùng\",\n    \"date-format-format\": \"Định dạng ngày: <code>YYYY-MM-DD Hours:Minutes:Seconds<\\/code>\",\n    \"start-typing-a-page-title-to-see-a-list-of-suggestions\": \"Hãy nhập tiêu đề trang để xem danh sách gợi ý.\",\n    \"field-used-when-ordering-content-by-position\": \"Trường này được sử dụng khi sắp xếp bài viết theo vị trí\",\n    \"write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page\": \"Nhập tên template để lọc trang trong chủ đề và thay đổi phong cách của trang web.\",\n    \"write-the-tags-separated-by-commas\": \"Nhập thẻ cách nhau bằng dấu phẩy.\",\n    \"apply-code-noindex-code-to-this-page\": \"Áp dụng <code>noindex<\\/code> cho trang này.\",\n    \"this-tells-search-engines-not-to-show-this-page-in-their-search-results\": \"Điều này cho các công cụ tìm kiếm không hiển thị trang này trong kết quả tìm kiếm của họ.\",\n    \"apply-code-nofollow-code-to-this-page\": \"Áp dụng <code>nofollow<\\/code> cho trang này.\",\n    \"this-tells-search-engines-not-to-follow-links-on-this-page\": \"Điều này cho các công cụ tìm kiếm không theo các liên kết trên trang này.\",\n    \"apply-code-noarchive-code-to-this-page\": \"Áp dụng <code>noarchive<\\/code> cho trang này.\",\n    \"this-tells-search-engines-not-to-save-a-cached-copy-of-this-page\": \"Điều này cho các công cụ tìm kiếm không lưu bản sao được lưu trong bộ nhớ cache của trang này.\",\n    \"uncategorized\": \"Chưa phân loại\",\n    \"done\": \"Xong\",\n    \"delete-category\": \"Xóa danh mục\",\n    \"are-you-sure-you-want-to-delete-this-category?\": \"Bạn có chắc muốn xóa danh mục này?\",\n    \"confirm-new-password\": \"Xác nhận mật khẩu mới\",\n    \"the-nickname-is-almost-used-in-the-themes-to-display-the-author-of-the-content\": \"Bút danh được sử dụng ở hầu hết các chủ đề để hiển thị tác giả của bài viết\",\n    \"allow-unicode\": \"Cho phép Unicode\",\n    \"allow-unicode-characters-in-the-url-and-some-part-of-the-system\": \"Cho phép các ký tự Unicode trong URL và một số phần của hệ thống.\",\n    \"variables-allowed\": \"Các biến được cho phép\",\n    \"tag\": \"Thẻ\",\n    \"drag-and-drop-to-sort-the-plugins\": \"Kéo thả để sắp xếp tiện ích.\",\n    \"seo\": \"SEO\",\n    \"documentation\": \"Tài liệu\",\n    \"forum-support\": \"Diễn đàn\",\n    \"chat-support\": \"Chat\",\n    \"quick-links\": \"Lối tắt\",\n    \"leave-empty-for-autocomplete-by-bludit\": \"Bỏ trống để tự động điền bởi Bludit.\",\n    \"choose-a-password-for-the-user-admin\": \"Nhập mật khẩu cho tài khoản <code>admin<\\/code>\",\n    \"access-denied\": \"Từ chối truy cập\",\n    \"choose-images-to-upload\": \"Chọn hình ảnh để đăng tải\",\n    \"insert\": \"Chèn\",\n    \"upload\": \"Đăng tải\",\n    \"autosave\": \"Tự động lưu\",\n    \"the-content-is-saved-as-a-draft-to-publish-it\": \"Nội dung được lưu dưới dạng bản nháp. Để xuất bản nó, hãy nhấp vào nút <b>Xuất bản<\\/b> hoặc nếu bạn vẫn đang làm việc với nó, hãy nhấp vào <b>Lưu dưới dạng bản nháp<\\/b>.\",\n    \"site\": \"Trang web\",\n    \"first\": \"Đầu tiên\",\n    \"last\": \"Cuối cùng\",\n    \"there-are-no-pages-at-this-moment\": \"Chưa có trang nào.\",\n    \"there-are-no-static-pages-at-this-moment\": \"Chưa có trang tĩnh nào.\",\n    \"there-are-no-draft-pages-at-this-moment\": \"Chưa có trang nháp nào.\",\n    \"good-morning\": \"Chào buổi sáng\",\n    \"good-afternoon\": \"Chào buổi chiều\",\n    \"good-evening\": \"Chào buổi tối\",\n    \"good-night\": \"Chúc ngủ ngon\",\n    \"hello\": \"Xin chào\",\n    \"there-are-no-images-for-the-page\": \"Chưa có hình ảnh cho trang.\",\n    \"select-cover-image\": \"Chọn ảnh bìa\",\n    \"this-plugin-depends-on-the-following-plugins\": \"Plugin này phụ thuộc vào các plugin sau.\",\n    \"no-pages-found\": \"Không tìm thấy trang nào\",\n    \"system-updated\": \"Hệ thống đã được cập nhật\",\n    \"security\": \"Bảo mật\",\n    \"remove-cover-image\": \"Xóa ảnh bìa\",\n    \"width\": \"Rộng\",\n    \"height\": \"Cao\",\n    \"quality\": \"Chất lượng\",\n    \"thumbnails\": \"Hình nhỏ\",\n    \"thumbnail\": \"Hình nhỏ\",\n    \"thumbnail-width-in-pixels\": \"Độ rộng hình nhỏ theo pixels (px).\",\n    \"thumbnail-height-in-pixels\": \"Độ cao hình nhỏ theo pixels (px).\",\n    \"thumbnail-quality-in-percentage\": \"Chất lượng hình nhỏ theo phần trăm (%).\",\n    \"maximum-load-file-size-allowed:\": \"Kích thước file tối đa cho phép tải lên:\",\n    \"file-type-is-not-supported\": \"Loại file không được hỗ trợ. Hỗ trợ:\",\n    \"page-content\": \"Nội dung trang\",\n    \"markdown-parser\": \"Trình phân tích cú pháp Markdown\",\n    \"site-logo\": \"Logo trang web\",\n    \"search\": \"Tìm kiếm\",\n    \"search-plugins\": \"Tìm kiếm tiện ích\",\n    \"enabled-plugins\": \"Bật tiện ích\",\n    \"disabled-plugins\": \"Tắt tiện ích\",\n    \"remove-logo\": \"Xóa logo\",\n    \"preview\": \"Xem trước\",\n    \"author-can-write-and-edit-their-own-content\": \"Tác giả: Có thể viết và chỉnh sửa nội dung của riêng họ. Biên tập viên: Có thể viết và chỉnh sửa nội dung của người khác.\",\n    \"custom-fields\": \"Trường tùy biến\",\n    \"define-custom-fields-for-the-content\": \"Xác định các trường tùy chỉnh cho nội dung. Tìm hiểu thêm về các trường tùy chỉnh trong <a href='https:\\/\\/docs.bludit.com\\/en\\/content\\/custom-fields'>tài liệu<\\/a>.\",\n    \"start-typing-to-see-a-list-of-suggestions\": \"Hãy nhập gì đó để xem danh sách gợi ý.\",\n    \"view\": \"Xem\",\n    \"no-tags\": \"Không có thẻ\",\n    \"insert-thumbnail\": \"Chèn hình thu nhỏ\",\n    \"visits-today\": \"Lượt truy cập hôm nay\",\n    \"no-categories\": \"Không có danh mục\",\n    \"quick-search-pages-and-menu\": \"Tìm kiếm nhanh trang và menu\",\n    \"click-here-for-quick-search\": \"Click here for quick search\",\n    \"analytics\": \"Phân tích\",\n    \"unique-visitors\": \"Khách truy cập duy nhất\",\n    \"insert-linked-thumbnail\": \"Chèn hình thu nhỏ được liên kết\",\n    \"search-placeholder\": \"Tìm kiếm trang, nội dung và các mục menu...\",\n    \"no-results-found\": \"Không tìm thấy kết quả\",\n    \"navigation\": \"Điều hướng\",\n    \"default-content-status\": \"Trạng thái nội dung mặc định\",\n    \"default-status-for-new-content\": \"Chọn xem nội dung mới được tạo dưới dạng Đã xuất bản hay Bản nháp theo mặc định.\",\n    \"thumbnail-generation\": \"Tạo ảnh thu nhỏ\",\n    \"enable-disable-automatic-thumbnail-generation-on-image-upload\": \"Bật hoặc tắt tính năng tự động tạo ảnh thu nhỏ khi tải ảnh lên.\"\n}\n"
  },
  {
    "path": "bl-languages/zh_CN.json",
    "content": "{\n    \"language-data\": {\n        \"native\": \"中文（简体，中华人民共和国）\",\n        \"english-name\": \"Chinese (Simplified, PRC)\",\n        \"last-update\": \"2023-04-29\",\n        \"authors\": [\n            \"Zhou Hao\",\n            \"Zhou Tao\",\n            \"cai_miao\",\n            \"\"\n        ],\n        \"locale\": \"zh, zh_CN\"\n    },\n    \"dates\": {\n        \"Mon\": \"周一\",\n        \"Tue\": \"周二\",\n        \"Wed\": \"周三\",\n        \"Thu\": \"周四\",\n        \"Fri\": \"周五\",\n        \"Sat\": \"周六\",\n        \"Sun\": \"周日\",\n        \"Monday\": \"星期一\",\n        \"Tuesday\": \"星期二\",\n        \"Wednesday\": \"星期三\",\n        \"Thursday\": \"星期四\",\n        \"Friday\": \"星期五\",\n        \"Saturday\": \"星期六\",\n        \"Sunday\": \"星期七\",\n        \"Jan\": \"1月\",\n        \"Feb\": \"2月\",\n        \"Mar\": \"3月\",\n        \"Apr\": \"4月\",\n        \"Jun\": \"6月\",\n        \"Jul\": \"7月\",\n        \"Aug\": \"8月\",\n        \"Sep\": \"9月\",\n        \"Oct\": \"10月\",\n        \"Nov\": \"11月\",\n        \"Dec\": \"12月\",\n        \"January\": \"1月\",\n        \"February\": \"2月\",\n        \"March\": \"3月\",\n        \"April\": \"4月\",\n        \"May\": \"5月\",\n        \"June\": \"6月\",\n        \"July\": \"7月\",\n        \"August\": \"8月\",\n        \"September\": \"9月\",\n        \"October\": \"10月\",\n        \"November\": \"11月\",\n        \"December\": \"12月\"\n    },\n    \"dashboard\": \"总览\",\n    \"manage-users\": \"管理用户\",\n    \"manage-categories\": \"管理分类\",\n    \"general-settings\": \"常规设置\",\n    \"advanced-settings\": \"高级设置\",\n    \"thanks-for-supporting-bludit\": \"感谢您支持 Bludit\",\n    \"upgrade-to-bludit-pro\": \"升级到 Bludit PRO\",\n    \"language\": \"语言\",\n    \"plugin\": \"插件\",\n    \"plugins\": \"插件\",\n    \"developers\": \"开发参考\",\n    \"themes\": \"主题\",\n    \"about\": \"关于Bludit\",\n    \"url\": \"URL\",\n    \"welcome\": \"欢迎\",\n    \"logout\": \"注销\",\n    \"website\": \"网站\",\n    \"publish\": \"发布\",\n    \"manage\": \"管理\",\n    \"content\": \"文章\",\n    \"category\": \"分类\",\n    \"categories\": \"分类\",\n    \"users\": \"用户\",\n    \"settings\": \"设置\",\n    \"general\": \"常规\",\n    \"advanced\": \"高级\",\n    \"new-content\": \"撰写新文章\",\n    \"manage-content\": \"管理文章\",\n    \"add-new-content\": \"撰写新文章\",\n    \"new-category\": \"新分类\",\n    \"you-do-not-have-sufficient-permissions\": \"您沒有权限存取此页面，请联络管理员\",\n    \"add-a-new-user\": \"新增用户\",\n    \"url-associated-with-the-content\": \"与文章关联的URL\",\n    \"language-and-timezone\": \"语言与时区\",\n    \"change-your-language-and-region-settings\": \"更改您所使用的语言与地区设置\",\n    \"notifications\": \"通知\",\n    \"plugin-activated\": \"插件已激活\",\n    \"plugin-deactivated\": \"插件已禁用\",\n    \"new-theme-configured\": \"配置新主题\",\n    \"settings-changes\": \"设置变更\",\n    \"plugin-configured\": \"插件已配置\",\n    \"welcome-to-bludit\": \"欢迎使用Bludit\",\n    \"statistics\": \"统计数据\",\n    \"drafts\": \"草稿\",\n    \"title\": \"标题\",\n    \"save\": \"保存\",\n    \"save-as-draft\": \"保存为草稿\",\n    \"cancel\": \"取消\",\n    \"description\": \"摘要\",\n    \"this-field-can-help-describe-the-content\": \"此字段可以帮助快速理解内容，不能超过150个字\",\n    \"images\": \"图片\",\n    \"error\": \"错误\",\n    \"supported-image-file-types\": \"可以上传的文件格式\",\n    \"cover-image\": \"封面图片\",\n    \"drag-and-drop-or-click-here\": \"拖放您的图片到这里或是点此选择图片\",\n    \"there-are-no-images\": \"无图片\",\n    \"upload-and-more-images\": \"上传更多图片\",\n    \"click-on-the-image-for-options\": \"点击图片显示选项。\",\n    \"click-here-to-cancel\": \"点此取消。\",\n    \"insert-image\": \"插入图片\",\n    \"set-as-cover-image\": \"设置为封面图片\",\n    \"delete-image\": \"删除\",\n    \"tags\": \"标签\",\n    \"add\": \"新增\",\n    \"status\": \"状态\",\n    \"published\": \"已发表文章\",\n    \"draft\": \"草稿\",\n    \"empty-title\": \"空白标题\",\n    \"empty\": \"empty\",\n    \"date\": \"日期\",\n    \"external-cover-image\": \"外部封面图片\",\n    \"parent\": \"父页面\",\n    \"full-image-url\": \"完整的图片URL。\",\n    \"this-field-is-used-when-you-order-the-content-by-position\": \"当你设置为按位置排序文章时，此字段将被使用。\",\n    \"position\": \"位置\",\n    \"friendly-url\": \"自定义链接\",\n    \"image-description\": \"图片描述\",\n    \"add-a-new-category\": \"添加新分类\",\n    \"name\": \"名称\",\n    \"username\": \"用户名称\",\n    \"quick-search-pages-and-menu\": \"快速搜索页面和菜单\",\n    \"click-here-for-quick-search\": \"Click here for quick search\",\n    \"analytics\": \"分析\",\n    \"visits-today\": \"今日访问\",\n    \"unique-visitors\": \"独立访客\",\n    \"search-placeholder\": \"搜索页面、内容和菜单项...\",\n    \"no-results-found\": \"未找到结果\",\n    \"first-name\": \"名\",\n    \"last-name\": \"姓\",\n    \"to-schedule-the-content-select-the-date-and-time\": \"若需定时发布文章，除了选定日期与时间，文章状态必需设置为“已发布”。\",\n    \"email\": \"电子邮件\",\n    \"role\": \"角色\",\n    \"registered\": \"已注册\",\n    \"site-information\": \"网站信息\",\n    \"site-title\": \"网站标题\",\n    \"use-this-field-to-name-your-site\": \"使用此字段来填写您网站名称，它將会被显示在每一个页面的最上方\",\n    \"site-slogan\": \"网站标语\",\n    \"use-this-field-to-add-a-catchy-phrase\": \"使用此字段来帮您的网站添加一个可以朗朗上口的标语吧\",\n    \"site-description\": \"网站简介\",\n    \"you-can-add-a-site-description-to-provide\": \"您可以新增一段简短的简介來介绍您的网站\",\n    \"footer-text\": \"页脚文字\",\n    \"you-can-add-a-small-text-on-the-bottom\": \"您可以在每一页的页尾放置一些短短的文字，例如: 版权、所有人、日期...\",\n    \"social-networks-links\": \"社交网络\",\n    \"site-url\": \"网站网址\",\n    \"email-account-settings\": \"电邮账户设置\",\n    \"sender-email\": \"发送者email\",\n    \"emails-will-be-sent-from-this-address\": \"电邮会以此地址发送\",\n    \"url-filters\": \"URL过滤器\",\n    \"select-your-sites-language\": \"选择您所使用的语言\",\n    \"timezone\": \"时区\",\n    \"select-a-timezone-for-a-correct\": \"选择正确的时区来显示时间\",\n    \"locale\": \"区域\",\n    \"date-and-time-formats\": \"日期与时间格式\",\n    \"date-format\": \"日期格式\",\n    \"current-format\": \"当前格式\",\n    \"version\": \"版本\",\n    \"author\": \"作者\",\n    \"activate\": \"启用\",\n    \"deactivate\": \"禁用\",\n    \"edit-category\": \"编辑分类\",\n    \"delete\": \"刪除\",\n    \"password\": \"用户密码\",\n    \"confirm-password\": \"确认密码\",\n    \"editor\": \"作者\",\n    \"administrator\": \"管理员\",\n    \"edit-user\": \"编辑用户\",\n    \"edit-content\": \"编辑文章\",\n    \"profile\": \"个人档案\",\n    \"change-password\": \"更改密码\",\n    \"enabled\": \"启用\",\n    \"disable-the-user\": \"禁用用户\",\n    \"profile-picture\": \"用户档案头像\",\n    \"edit-or-delete-your-categories\": \"编辑或删除分类\",\n    \"create-a-new-category-to-organize-your-content\": \"添加新分类以组织您的文章\",\n    \"confirm-delete-this-action-cannot-be-undone\": \"确认删除？此动作不可复原\",\n    \"do-you-want-to-disable-the-user\": \"你真的想要禁用这个用户吗？\",\n    \"new-password\": \"新密码\",\n    \"you-can-change-this-field-when-save-the-current-changes\": \"当保存当前变更时你可以变更此字段。\",\n    \"items-per-page\": \"每页文章数目\",\n    \"invite-a-friend-to-collaborate-on-your-site\": \"邀请您的朋友一起发布文章\",\n    \"number-of-items-to-show-per-page\": \"每页所显示的项目数量。\",\n    \"website-or-blog\": \"网站或是博客\",\n    \"order-content-by\": \"排序方式\",\n    \"edit-or-delete-content-from-your-site\": \"编辑或删除网站的文章\",\n    \"order-the-content-by-date-to-build-a-blog\": \"按日期排序文章以创建博客，或是以位置排序文章以创建网站。\",\n    \"default-content-status\": \"默认内容状态\",\n    \"default-status-for-new-content\": \"选择新内容默认创建为已发布还是草稿。\",\n    \"page-not-found-content\": \"抱歉！您所访问的页面不存在\",\n    \"page-not-found\": \"未找到页面\",\n    \"predefined-pages\": \"预定义页面\",\n    \"returning-page-when-the-page-doesnt-exist\": \"当页面不存在时所返回的页面，若想返回默认信息请留空。\",\n    \"returning-page-for-the-main-page\": \"Returning page for the main page, leave it blank if you want to show all the pages on the main page.\",\n    \"full-url-of-your-site\": \"Full URL of your site. Complete with the protocol HTTP or HTTPS (only if you have enabled SSL on your server).\",\n    \"with-the-locales-you-can-set-the-regional-user-interface\": \"With the locales, you can set the regional user interface, such as the dates in your language. The locales need to be installed on your system.\",\n    \"bludit-installer\": \"Bludit 安装器\",\n    \"choose-your-language\": \"选择您所使用的语言\",\n    \"next\": \"下一页\",\n    \"complete-the-form-choose-a-password-for-the-username-admin\": \"请完成表单，为此用户名称 « admin » 设置一下密码吧\",\n    \"show-password\": \"显示密码\",\n    \"install\": \"安装\",\n    \"login\": \"登录\",\n    \"back-to-login-form\": \"返回登录页面\",\n    \"get-login-access-code\": \"获得登录访问代码 (Access Code)\",\n    \"email-access-code\": \"电邮发送访问代码\",\n    \"whats-next\": \"后续步骤\",\n    \"username-or-password-incorrect\": \"用户账号或者密码不正确\",\n    \"follow-bludit-on\": \"在此关注 Bludit -\",\n    \"this-is-a-brief-description-of-yourself-our-your-site\": \"这是关于您自己或是网站的简短介绍，如果想要修改，请至管理界面\\/设置\\/插件，设置一个名为“关于”的插件\",\n    \"new-version-available\": \"新版本可用\",\n    \"new-category-created\": \"分类已添加\",\n    \"category-deleted\": \"分类已删除\",\n    \"category-edited\": \"分类已编辑\",\n    \"new-user-created\": \"用户已添加\",\n    \"user-edited\": \"用户已编辑\",\n    \"user-deleted\": \"用户已刪除\",\n    \"recommended-for-recovery-password-and-notifications\": \"建议用于重置密码与获取通知。\",\n    \"authentication-token\": \"身份验证令牌\",\n    \"token\": \"令牌\",\n    \"current-status\": \"当前状态\",\n    \"upload-image\": \"上传图片\",\n    \"the-changes-have-been-saved\": \"变更已储存\",\n    \"label\": \"标签\",\n    \"links\": \"链接\",\n    \"this-title-is-almost-always-used-in-the-sidebar-of-the-site\": \"This title is almost always used in the sidebar of the site.\",\n    \"password-must-be-at-least-6-characters-long\": \"密吗长度必须在6个字节以上\",\n    \"ip-address-has-been-blocked\": \"IP 地址已被封锁\",\n    \"try-again-in-a-few-minutes\": \"请过几分钟后再试\",\n    \"content-published-from-scheduler\": \"Content published from scheduler\",\n    \"blog\": \"博客\",\n    \"complete-all-fields\": \"Complete all fields\",\n    \"static\": \"静态页面\",\n    \"about-your-site-or-yourself\": \"About your site or yourself\",\n    \"homepage\": \"首页\",\n    \"disabled\": \"禁用\",\n    \"to-enable-the-user-you-must-set-a-new-password\": \"To enable the user you must set a new password.\",\n    \"delete-the-user-and-associate-his-content-to-admin-user\": \"Delete the user and associate his content to admin user\",\n    \"delete-the-user-and-all-his-content\": \"Delete the user and all his content\",\n    \"user-disabled\": \"用户已禁用\",\n    \"user-password-changed\": \"用户密码已更改\",\n    \"the-password-and-confirmation-password-do-not-match\": \"The password and confirmation password do not match\",\n    \"scheduled-content\": \"定时发布文章\",\n    \"there-are-no-scheduled-content\": \"没有定时发布的文章。\",\n    \"new-content-created\": \"新文章已创建\",\n    \"content-edited\": \"文章已编辑\",\n    \"content-deleted\": \"文章已删除\",\n    \"undefined\": \"未定义\",\n    \"create-new-content-for-your-site\": \"为您的网站撰写新文章\",\n    \"order-items-by\": \"排序方式\",\n    \"all-content\": \"所有文章\",\n    \"dynamic\": \"动态\",\n    \"type\": \"类型\",\n    \"draft-content\": \"草稿\",\n    \"post\": \"发表\",\n    \"default\": \"默认\",\n    \"latest-content\": \"最新文章\",\n    \"default-message\": \"默认信息\",\n    \"no-parent\": \"无父类页面\",\n    \"have-you-seen-my-ball\": \"你看到我的球了吗？\",\n    \"pagebreak\": \"页面分割\",\n    \"pages\": \"页面\",\n    \"this-plugin-may-not-be-supported-by-this-version-of-bludit\": \"This plugin may not be supported by this version of Bludit\",\n    \"previous\": \"上一页\",\n    \"previous-page\": \"上一页\",\n    \"next-page\": \"下一页\",\n    \"scheduled\": \"定时发布\",\n    \"this-token-is-similar-to-a-password-it-should-not-be-shared\": \"此令牌类似于密码，请勿分享给他人。\",\n    \"congratulations-you-have-successfully-installed-your-bludit\": \"Congratulations you have successfully installed your**Bludit**\",\n    \"this-theme-may-not-be-supported-by-this-version-of-bludit\": \"This theme may not be supported by this version of Bludit\",\n    \"read-more\": \"继续阅读...\",\n    \"remember-me\": \"记住我\",\n    \"plugins-position\": \"插件位置\",\n    \"plugins-sorted\": \"插件已排序\",\n    \"plugins-position-changed\": \"插件位置已更改\",\n    \"drag-and-drop-to-set-the-position-of-the-plugin\": \"拖放以设置插件的位置\",\n    \"change-the-position-of-the-plugins\": \"更改插件位置\",\n    \"reading-time\": \"阅读需时\",\n    \"minutes\": \"分钟\",\n    \"minute\": \"分钟\",\n    \"example-page-1-slug\": \"create-your-own-content\",\n    \"example-page-1-title\": \"Create your own content\",\n    \"example-page-1-content\": \"Start writing your own content or edit the current to fit your needs. To create, edit or remove content you need to login to the <a href=\\\".\\/admin\\/\\\">admin panel<\\/a> with the username `admin` and the password you set on theinstallation process.\",\n    \"example-page-2-slug\": \"set-up-your-new-site\",\n    \"example-page-2-title\": \"Set up your new site\",\n    \"example-page-2-content\": \"Update the settings of your site from the <a href=\\\".\\/admin\\/\\\">admin panel<\\/a>, you can change the title, description and the social networks from <a href=\\\".\\/admin\\/settings\\\" target=\\\"_blank\\\">Settings > General<\\/a>.\",\n    \"example-page-3-slug\": \"follow-bludit\",\n    \"example-page-3-title\": \"Follow Bludit\",\n    \"example-page-3-content\": \"Get information about news, new releases, new themes or new plugins on our social networks <a href=\\\"https:\\/\\/www.facebook.com\\/bluditcms\\/\\\" target=\\\"_blank\\\">Facebook<\\/a>, <a href=\\\"https:\\/\\/www.twitter.com\\/bludit\\/\\\" target=\\\"_blank\\\">Twitter<\\/a> and <a href=\\\"https:\\/\\/www.youtube.com\\/c\\/Bluditcms\\\" target=\\\"_blank\\\">YouTube<\\/a> or visit our <a href=\\\"https:\\/\\/blog.bludit.com\\\" target=\\\"_blank\\\">Blog<\\/a>.\",\n    \"example-page-4-slug\": \"about\",\n    \"example-page-4-title\": \"About\",\n    \"example-page-4-content\": \"Your About page is typically one of the most visited pages on your site, need to be simple with a few key things, such as your name, who are you, how can contact you, a small story, etc.\",\n    \"the-extension-zip-is-not-installed\": \"Zip扩展未安装，要使用此插件，您需要安装该扩展。\",\n    \"there-are-no-sticky-pages-at-this-moment\": \"There are no sticky pages at this moment.\",\n    \"there-are-no-scheduled-pages-at-this-moment\": \"There are no scheduled pages at this moment.\",\n    \"update\": \"更新\",\n    \"template\": \"模板\",\n    \"nickname\": \"昵称\",\n    \"disable-user\": \"禁用用户\",\n    \"delete-user-and-keep-content\": \"Delete user and keep content\",\n    \"delete-user-and-delete-content\": \"Delete user and delete content (Warning)\",\n    \"social-networks\": \"社交网络(SNS)\",\n    \"interval\": \"间隔\",\n    \"number-in-minutes-for-every-execution-of-autosave\": \"Number in minutes for every execution of autosave.\",\n    \"extreme-friendly-url\": \"特别友好 URL\",\n    \"title-formats\": \"标题格式\",\n    \"delete-content\": \"删除文章\",\n    \"are-you-sure-you-want-to-delete-this-page\": \"您确定要删除此页面吗？\",\n    \"sticky\": \"置顶\",\n    \"actions\": \"动作\",\n    \"edit\": \"编辑\",\n    \"options\": \"选项\",\n    \"enter-title\": \"输入标题\",\n    \"media-manager\": \"Media Manager\",\n    \"set-a-cover-image-from-external-url,-such-as-a-cdn-or-some-server-dedicated-for-images\": \"Set a cover image from an external URL, such as a CDN or some server dedicated for images.\",\n    \"user\": \"用户\",\n    \"date-format-format\": \"Date format: <code>YYYY-MM-DD Hours:Minutes:Seconds<\\/code>\",\n    \"start-typing-a-page-title-to-see-a-list-of-suggestions\": \"Start typing a page title to see a list of suggestions.\",\n    \"field-used-when-ordering-content-by-position\": \"Field used when ordering content by position\",\n    \"write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page\": \"Write a template name to filter the page in the theme and change the style of the page.\",\n    \"write-the-tags-separated-by-commas\": \"Write the tags separated by comma.\",\n    \"apply-code-noindex-code-to-this-page\": \"Apply <code>noindex<\\/code> to this page.\",\n    \"this-tells-search-engines-not-to-show-this-page-in-their-search-results\": \"This tells search engines not to show this page in their search results.\",\n    \"apply-code-nofollow-code-to-this-page\": \"Apply <code>nofollow<\\/code> to this page.\",\n    \"this-tells-search-engines-not-to-follow-links-on-this-page\": \"This tells search engines not to follow links on this page.\",\n    \"apply-code-noarchive-code-to-this-page\": \"Apply <code>noarchive<\\/code> to this page.\",\n    \"this-tells-search-engines-not-to-save-a-cached-copy-of-this-page\": \"This tells search engines not to save a cached copy of this page.\",\n    \"uncategorized\": \"未分类\",\n    \"done\": \"完成\",\n    \"delete-category\": \"删除分类\",\n    \"are-you-sure-you-want-to-delete-this-category?\": \"您确定要删除此分类吗？\",\n    \"confirm-new-password\": \"确认新密码\",\n    \"the-nickname-is-almost-used-in-the-themes-to-display-the-author-of-the-content\": \"The nickname is almost used in the themes to display the author of the content\",\n    \"allow-unicode\": \"允许 Unicode\",\n    \"allow-unicode-characters-in-the-url-and-some-part-of-the-system\": \"Allow Unicode characters in the URL and some part of the system.\",\n    \"variables-allowed\": \"Variables allowed\",\n    \"tag\": \"标签\",\n    \"drag-and-drop-to-sort-the-plugins\": \"Drag and Drop to sort the plugins.\",\n    \"seo\": \"SEO\",\n    \"documentation\": \"文档\",\n    \"forum-support\": \"论坛支持\",\n    \"chat-support\": \"聊天支持\",\n    \"quick-links\": \"快捷链接\",\n    \"leave-empty-for-autocomplete-by-bludit\": \"Leave empty for autocomplete by Bludit.\",\n    \"choose-a-password-for-the-user-admin\": \"Choose a password for the user <code>admin<\\/code>\",\n    \"access-denied\": \"拒绝访问\",\n    \"choose-images-to-upload\": \"Choose images to upload\",\n    \"insert\": \"插入\",\n    \"upload\": \"上传\",\n    \"autosave\": \"自动保存\",\n    \"the-content-is-saved-as-a-draft-to-publish-it\": \"The content is saved as a draft. To publish it click on the button <b>Publish<\\/b> or if you still working on it click on <b>Save as draft<\\/b>.\",\n    \"site\": \"站点\",\n    \"first\": \"First\",\n    \"last\": \"Last\",\n    \"there-are-no-pages-at-this-moment\": \"There are no pages at this moment.\",\n    \"there-are-no-static-pages-at-this-moment\": \"There are no static pages at this moment.\",\n    \"there-are-no-draft-pages-at-this-moment\": \"There are no draft pages at this moment.\",\n    \"good-morning\": \"Good morning\",\n    \"good-afternoon\": \"Good afternoon\",\n    \"good-evening\": \"Good evening\",\n    \"good-night\": \"Good night\",\n    \"hello\": \"Hello\",\n    \"there-are-no-images-for-the-page\": \"There are no images for the page.\",\n    \"select-cover-image\": \"选择封面图片\",\n    \"this-plugin-depends-on-the-following-plugins\": \"此插件依赖以下插件。\",\n    \"no-pages-found\": \"找不到页面\",\n    \"system-updated\": \"系统已更新\",\n    \"security\": \"安全性\",\n    \"remove-cover-image\": \"移除封面图片\",\n    \"width\": \"宽度\",\n    \"height\": \"高度\",\n    \"quality\": \"质量\",\n    \"thumbnails\": \"缩略图\",\n    \"thumbnail\": \"缩略图\",\n    \"thumbnail-width-in-pixels\": \"Thumbnail width in pixels (px).\",\n    \"thumbnail-height-in-pixels\": \"Thumbnail height in pixels (px).\",\n    \"thumbnail-quality-in-percentage\": \"Thumbnail quality in percentage (%).\",\n    \"maximum-load-file-size-allowed:\": \"Maximum load file size allowed:\",\n    \"file-type-is-not-supported\": \"文件类型不受支持。允许的类型：\",\n    \"page-content\": \"页面内容\",\n    \"markdown-parser\": \"Markdown 解析器\",\n    \"site-logo\": \"站点LOGO\",\n    \"search\": \"搜索\",\n    \"search-plugins\": \"搜索插件\",\n    \"enabled-plugins\": \"已启用的插件\",\n    \"disabled-plugins\": \"已禁用的插件\",\n    \"remove-logo\": \"移除LOGO\",\n    \"preview\": \"预览\",\n    \"author-can-write-and-edit-their-own-content\": \"作者：可以编写和编辑自己的内容。编辑：可以编写和编辑他人的内容。\",\n    \"custom-fields\": \"Custom fields\",\n    \"define-custom-fields-for-the-content\": \"为内容定义自定义字段。\",\n    \"start-typing-to-see-a-list-of-suggestions\": \"输入内容以显示操作的建议。\",\n    \"view\": \"查看\",\n    \"no-tags\": \"没有标签\",\n    \"insert-thumbnail\": \"插入缩略图\",\n    \"no-categories\": \"没有分类\",\n    \"insert-linked-thumbnail\": \"插入链接缩略图\",\n    \"navigation\": \"导航\",\n    \"thumbnail-generation\": \"缩略图生成\",\n    \"enable-disable-automatic-thumbnail-generation-on-image-upload\": \"启用或禁用上传图片时自动生成缩略图。\"\n}\n"
  },
  {
    "path": "bl-languages/zh_TW.json",
    "content": "{\n    \"language-data\": {\n        \"native\": \"繁體中文 (台灣Taiwan)\",\n        \"english-name\": \"Traditional Chinese\",\n        \"last-update\": \"2019-11-24\",\n        \"authors\": [\n            \"Ethan Chen http:\\/\\/ethan42411.ml\",\n            \"\",\n            \"\",\n            \"\"\n        ],\n        \"locale\": \"zh, zh_TW\"\n    },\n    \"dates\": {\n        \"Mon\": \"Mon\",\n        \"Tue\": \"Tue\",\n        \"Wed\": \"Wed\",\n        \"Thu\": \"Thu\",\n        \"Fri\": \"Fri\",\n        \"Sat\": \"Sat\",\n        \"Sun\": \"Sun\",\n        \"Monday\": \"星期一\",\n        \"Tuesday\": \"星期二\",\n        \"Wednesday\": \"星期三\",\n        \"Thursday\": \"星期四\",\n        \"Friday\": \"星期五\",\n        \"Saturday\": \"星期六\",\n        \"Sunday\": \"星期日\",\n        \"Jan\": \"Jan\",\n        \"Feb\": \"Feb\",\n        \"Mar\": \"Mar\",\n        \"Apr\": \"Apr\",\n        \"Jun\": \"Jun\",\n        \"Jul\": \"Jul\",\n        \"Aug\": \"Aug\",\n        \"Sep\": \"Sep\",\n        \"Oct\": \"Oct\",\n        \"Nov\": \"Nov\",\n        \"Dec\": \"Dec\",\n        \"January\": \"一月\",\n        \"February\": \"二月\",\n        \"March\": \"三月\",\n        \"April\": \"四月\",\n        \"May\": \"五月\",\n        \"June\": \"六月\",\n        \"July\": \"七月\",\n        \"August\": \"八月\",\n        \"September\": \"九月\",\n        \"October\": \"十月\",\n        \"November\": \"十一月\",\n        \"December\": \"十二月\"\n    },\n    \"dashboard\": \"主頁面\",\n    \"manage-users\": \"管理使用者\",\n    \"manage-categories\": \"管理分類\",\n    \"general-settings\": \"一般設定\",\n    \"advanced-settings\": \"進階設定\",\n    \"thanks-for-supporting-bludit\": \"感謝支持Bludit\",\n    \"upgrade-to-bludit-pro\": \"升級至Bludit PRO\",\n    \"language\": \"語言\",\n    \"plugin\": \"延伸模組\",\n    \"plugins\": \"延伸模組\",\n    \"developers\": \"開發者\",\n    \"themes\": \"佈景主題\",\n    \"about\": \"關於\",\n    \"url\": \"網址\",\n    \"welcome\": \"歡迎\",\n    \"logout\": \"登出\",\n    \"website\": \"網站\",\n    \"publish\": \"發表\",\n    \"manage\": \"管理\",\n    \"content\": \"內容\",\n    \"category\": \"分類\",\n    \"categories\": \"分類\",\n    \"users\": \"使用者\",\n    \"settings\": \"設定\",\n    \"general\": \"一般設定\",\n    \"advanced\": \"進階設定\",\n    \"new-content\": \"新內容\",\n    \"manage-content\": \"管理內容\",\n    \"add-new-content\": \"增加新內容\",\n    \"new-category\": \"新增分類\",\n    \"you-do-not-have-sufficient-permissions\": \"您沒有權限存取此頁面，請聯絡管理員\",\n    \"add-a-new-user\": \"新增使用者\",\n    \"url-associated-with-the-content\": \"與內容關聯的網址.\",\n    \"language-and-timezone\": \"語言與時區\",\n    \"change-your-language-and-region-settings\": \"更改您所使用的語言與地區設定\",\n    \"notifications\": \"通知\",\n    \"plugin-activated\": \"延伸模組已啟用\",\n    \"plugin-deactivated\": \"延伸模組已關閉\",\n    \"new-theme-configured\": \"新佈景主題已設定\",\n    \"settings-changes\": \"變更設定\",\n    \"plugin-configured\": \"延伸模組已設定\",\n    \"welcome-to-bludit\": \"歡迎使用Bludit\",\n    \"statistics\": \"統計\",\n    \"drafts\": \"草稿\",\n    \"title\": \"標題\",\n    \"save\": \"儲存\",\n    \"save-as-draft\": \"儲存成草稿\",\n    \"cancel\": \"取消\",\n    \"description\": \"簡介\",\n    \"this-field-can-help-describe-the-content\": \"這個欄位可以幫助快速理解內容，不能超過150個字\",\n    \"images\": \"圖片\",\n    \"error\": \"錯誤\",\n    \"supported-image-file-types\": \"可以上傳的檔案格式\",\n    \"cover-image\": \"封面圖片\",\n    \"drag-and-drop-or-click-here\": \"拖曳您的圖片到這裡或是點選這裡選擇圖片\",\n    \"there-are-no-images\": \"目前沒有圖片\",\n    \"upload-and-more-images\": \"上傳更多圖片\",\n    \"click-on-the-image-for-options\": \"點選圖片來進行設定\",\n    \"click-here-to-cancel\": \"點選此處來取消\",\n    \"insert-image\": \"插入圖片\",\n    \"set-as-cover-image\": \"設為封面圖片\",\n    \"delete-image\": \"刪除圖片\",\n    \"tags\": \"標籤\",\n    \"add\": \"新增\",\n    \"status\": \"狀態\",\n    \"published\": \"已發表\",\n    \"draft\": \"草稿\",\n    \"empty-title\": \"空白標題\",\n    \"empty\": \"空白\",\n    \"date\": \"日期\",\n    \"external-cover-image\": \"外部封面圖片\",\n    \"parent\": \"繼承頁面\",\n    \"full-image-url\": \"全圖網址\",\n    \"this-field-is-used-when-you-order-the-content-by-position\": \"當您依照位置排序內容，此欄位將會被使用\",\n    \"position\": \"位置\",\n    \"friendly-url\": \"友善網址\",\n    \"image-description\": \"圖片描述\",\n    \"add-a-new-category\": \"新增一個新分類\",\n    \"name\": \"名稱\",\n    \"username\": \"使用者名稱\",\n    \"quick-search-pages-and-menu\": \"快速搜尋頁面和選單\",\n    \"click-here-for-quick-search\": \"Click here for quick search\",\n    \"analytics\": \"分析\",\n    \"visits-today\": \"今日訪問\",\n    \"unique-visitors\": \"獨立訪客\",\n    \"search-placeholder\": \"搜尋頁面、內容和選單項...\",\n    \"no-results-found\": \"未找到結果\",\n    \"first-name\": \"名\",\n    \"last-name\": \"姓\",\n    \"to-schedule-the-content-select-the-date-and-time\": \"選取時間日期來進行此內容發表排程，狀態必須設定成\\\"發表\\\"\",\n    \"email\": \"Email\",\n    \"role\": \"角色\",\n    \"registered\": \"已註冊\",\n    \"site-information\": \"網站資訊\",\n    \"site-title\": \"網站標題\",\n    \"use-this-field-to-name-your-site\": \"使用這個欄位來填寫您的網站名稱，它將會被顯示在每一個頁面的最上方\",\n    \"site-slogan\": \"網站標語\",\n    \"use-this-field-to-add-a-catchy-phrase\": \"使用這個欄位來幫您的網站添加一個可以朗朗上口的標語吧\",\n    \"site-description\": \"網站簡介\",\n    \"you-can-add-a-site-description-to-provide\": \"您可以新增一段簡短的簡介來介紹您的網站\",\n    \"footer-text\": \"頁尾文字\",\n    \"you-can-add-a-small-text-on-the-bottom\": \"您可以在每一頁的頁尾放置一些短短的文字，例如: 版權、所有人、日期...\",\n    \"social-networks-links\": \"社群網站連結\",\n    \"site-url\": \"網站網址\",\n    \"email-account-settings\": \"Email帳戶設定\",\n    \"sender-email\": \"寄件者email\",\n    \"emails-will-be-sent-from-this-address\": \"Emails將會被從此位置傳送。\",\n    \"url-filters\": \"網址過濾器\",\n    \"select-your-sites-language\": \"選擇您所使用的語言\",\n    \"timezone\": \"時區\",\n    \"select-a-timezone-for-a-correct\": \"選擇正確的時區來顯示時間\",\n    \"locale\": \"區域\",\n    \"date-and-time-formats\": \"日期與時間格式\",\n    \"date-format\": \"日期格式\",\n    \"current-format\": \"目前格式\",\n    \"version\": \"版本\",\n    \"author\": \"作者\",\n    \"activate\": \"啟用\",\n    \"deactivate\": \"關閉\",\n    \"edit-category\": \"編輯分類\",\n    \"delete\": \"刪除\",\n    \"password\": \"使用者密碼\",\n    \"confirm-password\": \"確認密碼\",\n    \"editor\": \"作者\",\n    \"administrator\": \"管理員\",\n    \"edit-user\": \"編輯使用者\",\n    \"edit-content\": \"編輯內容\",\n    \"profile\": \"個人檔案\",\n    \"change-password\": \"更改密碼\",\n    \"enabled\": \"啟用\",\n    \"disable-the-user\": \"停用此使用者\",\n    \"profile-picture\": \"大頭貼\",\n    \"edit-or-delete-your-categories\": \"編輯或刪除您的分類\",\n    \"create-a-new-category-to-organize-your-content\": \"新增一個新的分類來組織您的內容\",\n    \"confirm-delete-this-action-cannot-be-undone\": \"確認刪除? 這個動作不可復原\",\n    \"do-you-want-to-disable-the-user\": \"您確定要停用此使用者嗎?\",\n    \"new-password\": \"新密碼\",\n    \"you-can-change-this-field-when-save-the-current-changes\": \"當儲存目前變更時，您可以修改此欄位\",\n    \"items-per-page\": \"每頁的項目\",\n    \"invite-a-friend-to-collaborate-on-your-site\": \"邀請您的朋友一同合作管理您的網站\",\n    \"number-of-items-to-show-per-page\": \"每頁顯示多少項目\",\n    \"website-or-blog\": \"網站或是部落格\",\n    \"order-content-by\": \"依序甚麼規格排序內容\",\n    \"edit-or-delete-content-from-your-site\": \"從您的網站編輯或刪除內容\",\n    \"order-the-content-by-date-to-build-a-blog\": \"依照時間排序建構一個部落個或使用位置排序來建構一個網站\",\n    \"default-content-status\": \"預設內容狀態\",\n    \"default-status-for-new-content\": \"選擇新內容預設建立為已發布或草稿。\",\n    \"page-not-found-content\": \"嘿! 這看起來像是不存在此頁面\",\n    \"page-not-found\": \"找不到此頁面\",\n    \"predefined-pages\": \"預先定義頁面\",\n    \"returning-page-when-the-page-doesnt-exist\": \"當頁面不存在時，則導向此頁面。如果您想要顯示預設訊息，則請保持空白\",\n    \"returning-page-for-the-main-page\": \"返回主頁面的頁面。如果您想要在主頁面顯示全部的頁面，請保持空白\",\n    \"full-url-of-your-site\": \"網站的完整網址，包含http或是https(僅有在伺服器已啟用SSL的情況下)\",\n    \"with-the-locales-you-can-set-the-regional-user-interface\": \"語言環境，您可以設定區域使用者介面語言，或是您所在當地的日期格式，當然語言檔案必須被安裝於系統上\",\n    \"bludit-installer\": \"Bludit 安裝程式\",\n    \"choose-your-language\": \"選擇您所使用的語言\",\n    \"next\": \"下一步\",\n    \"complete-the-form-choose-a-password-for-the-username-admin\": \"請完成表單，為此使用者名稱 « admin » 設定一下密碼吧\",\n    \"show-password\": \"顯示密碼\",\n    \"install\": \"安裝\",\n    \"login\": \"登入\",\n    \"back-to-login-form\": \"返回登入畫面\",\n    \"get-login-access-code\": \"獲得登入存取碼\",\n    \"email-access-code\": \"Email存取碼\",\n    \"whats-next\": \"接下來\",\n    \"username-or-password-incorrect\": \"使用者帳號或密碼不正確\",\n    \"follow-bludit-on\": \"追蹤Bludit\",\n    \"this-is-a-brief-description-of-yourself-our-your-site\": \"這是關於您的自己或是網站的簡短介紹，如果想要修改介紹，請至管理介面\\/設定\\/延伸模組，設定一個名為關於的延伸模組。\",\n    \"new-version-available\": \"有新版本可以使用\",\n    \"new-category-created\": \"新分類已建立\",\n    \"category-deleted\": \"分類已刪除\",\n    \"category-edited\": \"分類已編輯\",\n    \"new-user-created\": \"新使用者已建立\",\n    \"user-edited\": \"使用者已編輯\",\n    \"user-deleted\": \"使用者已刪除\",\n    \"recommended-for-recovery-password-and-notifications\": \"建議用於恢復密碼與通知訊息\",\n    \"authentication-token\": \"Authentication Token\",\n    \"token\": \"Token\",\n    \"current-status\": \"目前狀態\",\n    \"upload-image\": \"上傳圖片\",\n    \"the-changes-have-been-saved\": \"變更已經儲存\",\n    \"label\": \"標籤\",\n    \"links\": \"連結\",\n    \"this-title-is-almost-always-used-in-the-sidebar-of-the-site\": \"該標題通常會被在網站的側邊欄\",\n    \"password-must-be-at-least-6-characters-long\": \"密碼長度必須在6字元以上\",\n    \"ip-address-has-been-blocked\": \"IP 位址已被封鎖\",\n    \"try-again-in-a-few-minutes\": \"請過幾分鐘後再試\",\n    \"content-published-from-scheduler\": \"內容已透過排程發表\",\n    \"blog\": \"部落格\",\n    \"complete-all-fields\": \"完成所有欄位\",\n    \"static\": \"靜態\",\n    \"about-your-site-or-yourself\": \"關於您的網站或您自己\",\n    \"homepage\": \"首頁\",\n    \"disabled\": \"停用\",\n    \"to-enable-the-user-you-must-set-a-new-password\": \"必須設定新密碼才能啟用此使用者\",\n    \"delete-the-user-and-associate-his-content-to-admin-user\": \"刪除此使用者，並將他所建立的內容關連到管理員帳號\",\n    \"delete-the-user-and-all-his-content\": \"刪除此使用者與其所有內容\",\n    \"user-disabled\": \"使用者已經停用\",\n    \"user-password-changed\": \"使用者密碼已變更\",\n    \"the-password-and-confirmation-password-do-not-match\": \"密碼和確認密碼不匹配\",\n    \"scheduled-content\": \"已排程的內容\",\n    \"there-are-no-scheduled-content\": \"目前沒有排程發表的內容\",\n    \"new-content-created\": \"新內容已建立\",\n    \"content-edited\": \"內容已編輯\",\n    \"content-deleted\": \"內容已刪除\",\n    \"undefined\": \"未定義\",\n    \"create-new-content-for-your-site\": \"為您的網站建立新的內容\",\n    \"order-items-by\": \"依照什麼規則排序\",\n    \"all-content\": \"全部內容\",\n    \"dynamic\": \"動態\",\n    \"type\": \"類型\",\n    \"draft-content\": \"草稿內容\",\n    \"post\": \"發表\",\n    \"default\": \"預設\",\n    \"latest-content\": \"最新內容\",\n    \"default-message\": \"預設訊息\",\n    \"no-parent\": \"無繼承\",\n    \"have-you-seen-my-ball\": \"您有看到我的球嗎?\",\n    \"pagebreak\": \"Page break\",\n    \"pages\": \"頁面\",\n    \"this-plugin-may-not-be-supported-by-this-version-of-bludit\": \"此延伸模組可能不支援此版本的Bludit\",\n    \"previous\": \"較早之前\",\n    \"previous-page\": \"上一頁\",\n    \"next-page\": \"下一頁\",\n    \"scheduled\": \"已排程\",\n    \"this-token-is-similar-to-a-password-it-should-not-be-shared\": \"此token類似於密碼，因此它不應該被公開分享\",\n    \"congratulations-you-have-successfully-installed-your-bludit\": \"恭喜，您已經成功安裝 **Bludit**\",\n    \"this-theme-may-not-be-supported-by-this-version-of-bludit\": \"此佈景主題可能不相容此版本的Bludit\",\n    \"read-more\": \"閱讀更多\",\n    \"remember-me\": \"記住我\",\n    \"plugins-position\": \"延伸模組放置位置\",\n    \"plugins-sorted\": \"Plugins sorted\",\n    \"plugins-position-changed\": \"延伸模組放置位置已變更\",\n    \"drag-and-drop-to-set-the-position-of-the-plugin\": \"拖放來設定延伸模組的位置\",\n    \"change-the-position-of-the-plugins\": \"變更延伸模組的位置\",\n    \"reading-time\": \"閱讀時間\",\n    \"minutes\": \"分鐘\",\n    \"minute\": \"分鐘\",\n    \"example-page-1-slug\": \"create-your-own-content\",\n    \"example-page-1-title\": \"建立屬於您自己的內容\",\n    \"example-page-1-content\": \"開始撰寫屬於您自己的內容，或是編輯目前的內容來符合您的需求。想要開始新增、編輯或是移除內容，您需要使用預設管理者帳號admin與安裝時設定的密碼來登入 <a href=\\\".\\/admin\\/\\\">管理頁面<\\/a>。\",\n    \"example-page-2-slug\": \"set-up-your-new-site\",\n    \"example-page-2-title\": \"設定您的新網站\",\n    \"example-page-2-content\": \"更新您的網站設定透過 <a href=\\\".\\/admin\\/\\\">管理頁面<\\/a>，您可以透過 <a href=\\\".\\/admin\\/settings\\\" target=\\\"_blank\\\">設定 > 一般設定<\\/a>來變更網站標題、網站描述或是社群網站連結。\",\n    \"example-page-3-slug\": \"follow-bludit\",\n    \"example-page-3-title\": \"追蹤 Bludit\",\n    \"example-page-3-content\": \"獲得更多關於新版本資訊、新佈景主題或是新的延伸模組，可以透過造訪我們的社群網站<a href=\\\"https:\\/\\/www.facebook.com\\/bluditcms\\/\\\" target=\\\"_blank\\\">Facebook<\\/a>, <a href=\\\"https:\\/\\/www.twitter.com\\/bludit\\/\\\" target=\\\"_blank\\\">Twitter<\\/a> 與 <a href=\\\"https:\\/\\/www.youtube.com\\/c\\/Bluditcms\\\" target=\\\"_blank\\\">YouTube<\\/a> 或是 <a href=\\\"https:\\/\\/blog.bludit.com\\\" target=\\\"_blank\\\">部落格<\\/a>。\",\n    \"example-page-4-slug\": \"關於\",\n    \"example-page-4-title\": \"關於\",\n    \"example-page-4-content\": \"您的關於頁面通常是網站頁面瀏覽率最多的頁面之一，需要一些簡單但關鍵的事情，像是您的名字、您是誰、如何聯絡到您，或是一個小故事...等等\",\n    \"the-extension-zip-is-not-installed\": \"擴充套件zip並沒有被安裝，使用此延伸模組必須先安裝此擴充套件\",\n    \"there-are-no-sticky-pages-at-this-moment\": \"目前沒有便利貼頁面\",\n    \"there-are-no-scheduled-pages-at-this-moment\": \"目前沒有排程發表的頁面\",\n    \"update\": \"更新\",\n    \"template\": \"範本\",\n    \"nickname\": \"暱稱\",\n    \"disable-user\": \"停用使用者\",\n    \"delete-user-and-keep-content\": \"刪除使用者並保存其建立的內容\",\n    \"delete-user-and-delete-content\": \"刪除使用者並一並刪除其建立的內容(警告)\",\n    \"social-networks\": \"社群網站\",\n    \"interval\": \"間隔\",\n    \"number-in-minutes-for-every-execution-of-autosave\": \"每次執行自動保存的分鐘數\",\n    \"extreme-friendly-url\": \"極其友好的網址\",\n    \"title-formats\": \"標題格式\",\n    \"delete-content\": \"刪除內容\",\n    \"are-you-sure-you-want-to-delete-this-page\": \"您確定想要刪除此頁面嗎?\",\n    \"sticky\": \"便利貼\",\n    \"actions\": \"動作\",\n    \"edit\": \"編輯\",\n    \"options\": \"選項\",\n    \"enter-title\": \"請輸入標題\",\n    \"media-manager\": \"多媒體管理器\",\n    \"set-a-cover-image-from-external-url,-such-as-a-cdn-or-some-server-dedicated-for-images\": \"透過外部網址來設定封面圖片，像是CDN或是一些其他的伺服器空間來存放圖片\",\n    \"user\": \"使用者\",\n    \"date-format-format\": \"日期格式: <code>YYYY-MM-DD Hours:Minutes:Seconds<\\/code>\",\n    \"start-typing-a-page-title-to-see-a-list-of-suggestions\": \"開始輸入頁面標題來查看建議列表\",\n    \"field-used-when-ordering-content-by-position\": \"當使用位置排序時所使用的字段\",\n    \"write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page\": \"撰寫一個範本名稱來套用佈景主題中的頁面，並變更該頁面的風格\",\n    \"write-the-tags-separated-by-commas\": \"用逗號分隔標籤\",\n    \"apply-code-noindex-code-to-this-page\": \"在此頁面內使用 <code>noindex<\\/code>\",\n    \"this-tells-search-engines-not-to-show-this-page-in-their-search-results\": \"這將通知搜尋引擎不要將此頁面顯示於他們的搜尋結果\",\n    \"apply-code-nofollow-code-to-this-page\": \"在此頁面內使用 <code>nofollow<\\/code>\",\n    \"this-tells-search-engines-not-to-follow-links-on-this-page\": \"這將通知搜尋引擎不要關注此頁面中的連結\",\n    \"apply-code-noarchive-code-to-this-page\": \"在此頁面內使用 <code>noarchive<\\/code>\",\n    \"this-tells-search-engines-not-to-save-a-cached-copy-of-this-page\": \"這將會告知搜尋引擎不要將此頁面收錄至快取頁面\",\n    \"uncategorized\": \"未分類\",\n    \"done\": \"完成\",\n    \"delete-category\": \"刪除分類\",\n    \"are-you-sure-you-want-to-delete-this-category?\": \"您確定想要刪除此分類嗎?\",\n    \"confirm-new-password\": \"確認新密碼\",\n    \"the-nickname-is-almost-used-in-the-themes-to-display-the-author-of-the-content\": \"暱稱通常會被佈景主題用來顯示文章的作者\",\n    \"allow-unicode\": \"允許Unicode\",\n    \"allow-unicode-characters-in-the-url-and-some-part-of-the-system\": \"允許在網址和系統的某些部份使用Unicode字符\",\n    \"variables-allowed\": \"可用的變數\",\n    \"tag\": \"標籤\",\n    \"drag-and-drop-to-sort-the-plugins\": \"拖放來排序延伸模組\",\n    \"seo\": \"SEO\",\n    \"documentation\": \"文件\",\n    \"forum-support\": \"支援討論區\",\n    \"chat-support\": \"支援聊天室\",\n    \"quick-links\": \"快速連結\",\n    \"leave-empty-for-autocomplete-by-bludit\": \"留空來讓Bludit自動完成\",\n    \"choose-a-password-for-the-user-admin\": \"幫使用者<code>admin<\\/code>設定一組密碼\",\n    \"access-denied\": \"存取被拒\",\n    \"choose-images-to-upload\": \"選取圖片來進行上傳\",\n    \"insert\": \"插入\",\n    \"upload\": \"上傳\",\n    \"autosave\": \"自動儲存\",\n    \"the-content-is-saved-as-a-draft-to-publish-it\": \"此內容已被儲存為草稿。可以透過點選<b>發表<\\/b>來發佈或是點選<b>儲存為草稿<\\/b>來繼續保持編輯狀態\",\n    \"site\": \"Site\",\n    \"first\": \"First\",\n    \"last\": \"Last\",\n    \"there-are-no-pages-at-this-moment\": \"目前沒有頁面\",\n    \"there-are-no-static-pages-at-this-moment\": \"目前沒有靜態頁面\",\n    \"there-are-no-draft-pages-at-this-moment\": \"目前沒有草稿頁面\",\n    \"good-morning\": \"早安\",\n    \"good-afternoon\": \"下午好\",\n    \"good-evening\": \"晚上好\",\n    \"good-night\": \"晚安\",\n    \"hello\": \"您好\",\n    \"there-are-no-images-for-the-page\": \"此頁面沒有圖片\",\n    \"select-cover-image\": \"選取一個封面照片\",\n    \"this-plugin-depends-on-the-following-plugins\": \"此延伸模組相依以下其他延伸模組\",\n    \"no-pages-found\": \"找不到頁面\",\n    \"system-updated\": \"系統已更新\",\n    \"security\": \"安全\",\n    \"remove-cover-image\": \"移除封面圖片\",\n    \"width\": \"寬\",\n    \"height\": \"高\",\n    \"quality\": \"品質\",\n    \"thumbnails\": \"縮圖\",\n    \"thumbnail\": \"縮圖\",\n    \"thumbnail-width-in-pixels\": \"縮圖的寬像素 (px).\",\n    \"thumbnail-height-in-pixels\": \"縮圖的高像素 (px).\",\n    \"thumbnail-quality-in-percentage\": \"縮圖品質百分比 (%).\",\n    \"maximum-load-file-size-allowed:\": \"最大允許載入檔案大小:\",\n    \"file-type-is-not-supported\": \"此檔案類型不被支援，允許的類型為:\",\n    \"page-content\": \"頁面內容\",\n    \"markdown-parser\": \"Markdown 解析器\",\n    \"site-logo\": \"網站logo\",\n    \"search\": \"搜尋\",\n    \"search-plugins\": \"搜尋延伸模組\",\n    \"enabled-plugins\": \"啟用延伸模組\",\n    \"disabled-plugins\": \"關閉延伸模組\",\n    \"remove-logo\": \"移除logo\",\n    \"preview\": \"預覽\",\n    \"author-can-write-and-edit-their-own-content\": \"作者: 可以撰寫或編輯他們自己的內容。 編輯: 可以撰寫或編輯其他人的內容\",\n    \"custom-fields\": \"自訂欄位\",\n    \"define-custom-fields-for-the-content\": \"自行定義內容的欄位。欲學習如何自訂欄位，請造訪<a href='https:\\/\\/docs.bludit.com\\/en\\/content\\/custom-fields'>文件<\\/a>.\",\n    \"start-typing-to-see-a-list-of-suggestions\": \"開始輸入以查看建議列表\",\n    \"view\": \"查看\",\n    \"no-tags\": \"沒有標籤\",\n    \"insert-thumbnail\": \"插入縮圖\",\n    \"no-categories\": \"沒有分類\",\n    \"insert-linked-thumbnail\": \"插入連結縮圖\",\n    \"navigation\": \"導覽\",\n    \"thumbnail-generation\": \"縮略圖生成\",\n    \"enable-disable-automatic-thumbnail-generation-on-image-upload\": \"啟用或禁用上傳圖片時自動生成縮略圖。\"\n}\n"
  },
  {
    "path": "bl-plugins/about/languages/bg_BG.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"За мен\",\n\t\t\"description\": \"Кратко описание за вашия сайт или за себе си.\"\n\t}\n}"
  },
  {
    "path": "bl-plugins/about/languages/da.json",
    "content": "{\n\t\"plugin-data\": {\n\t\t\"description\": \"Vis en lille beskrivelse af dit websted eller om dig selv.\",\n\t\t\"name\": \"About\"\n\t}\n}\n"
  },
  {
    "path": "bl-plugins/about/languages/de_CH.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Über\",\n\t\t\"description\": \"Kurzer Text über die Website oder zum Betreiber des Blogs oder der Website.\"\n\t}\n}\n"
  },
  {
    "path": "bl-plugins/about/languages/de_DE.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Über\",\n\t\t\"description\": \"Kurzer Text über die Website oder zum Betreiber des Blogs oder der Website.\"\n\t}\n}\n"
  },
  {
    "path": "bl-plugins/about/languages/en.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"About\",\n\t\t\"description\": \"Show a small description of your site or about yourself.\"\n\t}\n}"
  },
  {
    "path": "bl-plugins/about/languages/es.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Acerca de\",\n\t\t\"description\": \"Breve descripción de ti mismo o sobre tu sitio.\"\n\t}\n}"
  },
  {
    "path": "bl-plugins/about/languages/fa_IR.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"درباره\",\n\t\t\"description\": \"نمایش توضیح کوتاهی از شما و یا وبسایتتان.\"\n\t}\n}\n"
  },
  {
    "path": "bl-plugins/about/languages/fr_FR.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"À Propos\",\n\t\t\"description\": \"Afficher une courte description sur votre site ou sur vous-même.\"\n\t}\n}"
  },
  {
    "path": "bl-plugins/about/languages/it.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Informazioni\",\n\t\t\"description\": \"Visualizza una breve descrizione sul tuo sito o su te stesso.\"\n\t}\n}"
  },
  {
    "path": "bl-plugins/about/languages/ja_JP.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"About\",\n\t\t\"description\": \"サイトやあなたについての簡単な説明を表示します。\"\n\t}\n}"
  },
  {
    "path": "bl-plugins/about/languages/nl_NL.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Over\",\n\t\t\"description\": \"Een korte beschrijving over de site of over uzelf.\"\n\t}\n}\n"
  },
  {
    "path": "bl-plugins/about/languages/ru_RU.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"О блоге\",\n\t\t\"description\": \"Небольшое описание о вашем сайте или о себе.\"\n\t}\n}\n"
  },
  {
    "path": "bl-plugins/about/languages/tr_TR.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Hakkında\",\n\t\t\"description\": \"Senin veya siten hakkında kısa bilgiler\"\n\t}\n}\n"
  },
  {
    "path": "bl-plugins/about/languages/uk_UA.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Про блог\",\n\t\t\"description\": \"Невеликий опис вашого сайту або про Вас.\"\n\t}\n}"
  },
  {
    "path": "bl-plugins/about/metadata.json",
    "content": "{\n\t\"author\": \"Bludit\",\n\t\"email\": \"\",\n\t\"website\": \"https://plugins.bludit.com\",\n\t\"version\": \"3.21.0\",\n\t\"releaseDate\": \"2026-04-25\",\n\t\"license\": \"MIT\",\n\t\"compatible\": \"3.21\",\n\t\"notes\": \"\"\n}\n"
  },
  {
    "path": "bl-plugins/about/plugin.php",
    "content": "<?php\n\nclass pluginAbout extends Plugin\n{\n\n\tpublic function init()\n\t{\n\t\t$this->dbFields = array(\n\t\t\t'label' => 'About',\n\t\t\t'text' => ''\n\t\t);\n\t}\n\n\tpublic function form()\n\t{\n\t\tglobal $L;\n\n\t\t$html  = '<div class=\"alert alert-primary\" role=\"alert\">';\n\t\t$html .= $this->description();\n\t\t$html .= '</div>';\n\n\t\t$html .= '<div>';\n\t\t$html .= '<label>' . $L->get('Label') . '</label>';\n\t\t$html .= '<input name=\"label\" type=\"text\" dir=\"auto\" value=\"' . $this->getValue('label') . '\">';\n\t\t$html .= '<span class=\"tip\">' . $L->get('This title is almost always used in the sidebar of the site') . '</span>';\n\t\t$html .= '</div>';\n\n\t\t$html .= '<div>';\n\t\t$html .= '<label>' . $L->get('About') . '</label>';\n\t\t$html .= '<textarea name=\"text\" id=\"jstext\">' . $this->getValue('text') . '</textarea>';\n\t\t$html .= '</div>';\n\n\t\treturn $html;\n\t}\n\n\tpublic function siteSidebar()\n\t{\n\t\t$html  = '<div class=\"plugin plugin-about\">';\n\t\t$html .= '<h2 class=\"plugin-label\">' . $this->getValue('label') . '</h2>';\n\t\t$html .= '<div class=\"plugin-content\">';\n\t\t$html .= html_entity_decode(nl2br($this->getValue('text')));\n\t\t$html .= '</div>';\n\t\t$html .= '</div>';\n\n\t\treturn $html;\n\t}\n}\n"
  },
  {
    "path": "bl-plugins/alternative/languages/de_AT.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Theme Popeye\",\n\t\t\"description\": \"Das Plugin erlaubt verschiedene Einstellungen für das Theme Popeye.\"\n\t},\n\t\"enable-or-disable-dark-mode\": \"Dunkelmodus aktivieren oder deaktivieren.\",\n\t\"enable-or-disable-google-fonts\": \"Google Fonts aktivieren oder deaktivieren.\",\n\t\"relative\": \"Relativ\",\n\t\"absolute\": \"Absolut\",\t\n\t\"change-the-date-format-for-the-main-page\": \"Einstellung des Datumsformats auf der Haupt- oder Blogseite.\",\n\t\"show-tags\": \"Schlagwörter zeigen\",\n\t\"show-tags-in-the-main-page-for-each-article\": \"Zeigt auf der Haupt- oder Blogseite die Schlagwörter der Beiträge.\"\t\n}\n"
  },
  {
    "path": "bl-plugins/alternative/languages/de_CH.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Theme Popeye\",\n\t\t\"description\": \"Das Plugin erlaubt verschiedene Einstellungen für das Theme Popeye.\"\n\t},\n\t\"enable-or-disable-dark-mode\": \"Dunkelmodus aktivieren oder deaktivieren.\",\n\t\"enable-or-disable-google-fonts\": \"Google Fonts aktivieren oder deaktivieren.\",\n\t\"relative\": \"Relativ\",\n\t\"absolute\": \"Absolut\",\t\n\t\"change-the-date-format-for-the-main-page\": \"Einstellung des Datumsformats auf der Haupt- oder Blogseite.\",\n\t\"show-tags\": \"Schlagwörter zeigen\",\n\t\"show-tags-in-the-main-page-for-each-article\": \"Zeigt auf der Haupt- oder Blogseite die Schlagwörter der Beiträge.\"\t\n}\n"
  },
  {
    "path": "bl-plugins/alternative/languages/de_DE.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Theme Popeye\",\n\t\t\"description\": \"Das Plugin erlaubt verschiedene Einstellungen für das Theme Popeye.\"\n\t},\n\t\"enable-or-disable-dark-mode\": \"Dunkelmodus aktivieren oder deaktivieren.\",\n\t\"enable-or-disable-google-fonts\": \"Google Fonts aktivieren oder deaktivieren.\",\n\t\"relative\": \"Relativ\",\n\t\"absolute\": \"Absolut\",\t\n\t\"change-the-date-format-for-the-main-page\": \"Einstellung des Datumsformats auf der Haupt- oder Blogseite.\",\n\t\"show-tags\": \"Schlagwörter zeigen\",\n\t\"show-tags-in-the-main-page-for-each-article\": \"Zeigt auf der Haupt- oder Blogseite die Schlagwörter der Beiträge.\"\t\n}\n"
  },
  {
    "path": "bl-plugins/alternative/languages/en.json",
    "content": "{\n  \"plugin-data\": {\n    \"name\": \"Alternative Theme\",\n    \"description\": \"This plugin provides configuration for the Alternative theme.\"\n  },\n  \"enable-or-disable-dark-mode\": \"Enable or disable dark mode.\",\n  \"enable-or-disable-google-fonts\": \"Enable or disable Google fonts.\",\n  \"relative\": \"Relative\",\n  \"absolute\": \"Absolute\",\n  \"change-the-date-format-for-the-main-page\": \"Change the date format for the main page.\",\n  \"show-tags\": \"Show tags\",\n  \"show-tags-in-the-main-page-for-each-article\": \"Show tags on the main page for each article.\"\n}\n"
  },
  {
    "path": "bl-plugins/alternative/languages/ja_JP.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Popeye Theme\",\n\t\t\"description\": \"Popeyeテーマの設定を行うプラグインです。\"\n\t},\n\t\"enable-or-disable-dark-mode\": \"ダークモードを有効または無効にします。\",\n\t\"enable-or-disable-google-fonts\": \"Google Fontsの利用を有効または無効にします。\",\n\t\"relative\": \"相対的\",\n\t\"absolute\": \"絶対的\",\n\t\"change-the-date-format-for-the-main-page\": \"メインページの日付表示形式を変更します。\",\n\t\"show-tags\": \"タグの表示\",\n\t\"show-tags-in-the-main-page-for-each-article\": \"メインページの各記事にタグを表示します。\"\n}\n"
  },
  {
    "path": "bl-plugins/alternative/languages/nl_NL.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Popeye Thema\",\n\t\t\"description\": \"Met deze plugin kan het thema Popeye geconfigureerd worden.\"\n\t},\n\t\"enable-or-disable-dark-mode\": \"Donkere modus in-/uitschakelen.\",\n\t\"enable-or-disable-google-fonts\": \"Lettertypes van Google in-/uitschakelen.\",\n\t\"relative\": \"Relatief\",\n\t\"absolute\": \"Absoluut\",\n\t\"change-the-date-format-for-the-main-page\": \"Het datumformaat voor de hoofdpagina aanpassen.\",\n\t\"show-tags\": \"Tags tonen\",\n\t\"show-tags-in-the-main-page-for-each-article\": \"Op de hoofdpagina voor ieder artikel de tags tonen.\"\n}\n"
  },
  {
    "path": "bl-plugins/alternative/languages/ru.json",
    "content": "{\n  \"plugin-data\": {\n    \"name\": \"Настройки темы Alternative\",\n    \"description\": \"Этот плагин содержит настройки для темы Alternative.\"\n  },\n  \"enable-or-disable-dark-mode\": \"Включить или выключить тёмный режим.\",\n  \"enable-or-disable-google-fonts\": \"Включить или выключить шрифты от Google (Google fonts).\",\n  \"relative\": \"Относительный\",\n  \"absolute\": \"Абсолютный\",\n  \"change-the-date-format-for-the-main-page\": \"Изменить формат даты для главной страницы.\",\n  \"show-tags\": \"Отображать теги\",\n  \"show-tags-in-the-main-page-for-each-article\": \"Показывать теги на главной странице для каждой записи.\"\n}\n"
  },
  {
    "path": "bl-plugins/alternative/metadata.json",
    "content": "{\n\t\"author\": \"Bludit\",\n\t\"email\": \"\",\n\t\"website\": \"https://plugins.bludit.com\",\n\t\"version\": \"3.21.0\",\n\t\"releaseDate\": \"2026-04-25\",\n\t\"license\": \"MIT\",\n\t\"compatible\": \"3.21\",\n\t\"notes\": \"\",\n\t\"type\": \"theme\"\n}\n"
  },
  {
    "path": "bl-plugins/alternative/plugin.php",
    "content": "<?php\n\nclass alternative extends Plugin\n{\n\n\tpublic function init()\n\t{\n\t\t$this->dbFields = array(\n\t\t\t'googleFonts' => false,\n\t\t\t'showPostInformation' => false,\n\t\t\t'dateFormat' => 'relative'\n\t\t);\n\t}\n\n\tpublic function form()\n\t{\n\t\tglobal $L;\n\n\t\t$html = '';\n\n\t\t$html .= '<div class=\"mb-3\">';\n\t\t$html .= '<label class=\"form-label\" for=\"googleFonts\">' . $L->get('Google Fonts') . '</label>';\n\t\t$html .= '<select class=\"form-select\" id=\"googleFonts\" name=\"googleFonts\">';\n\t\t$html .= '<option value=\"false\" ' . ($this->getValue('googleFonts') === false ? 'selected' : '') . '>' . $L->get('Disabled') . '</option>';\n\t\t$html .= '<option value=\"true\" ' . ($this->getValue('googleFonts') === true ? 'selected' : '') . '>' . $L->get('Enabled') . '</option>';\n\t\t$html .= '</select>';\n\t\t$html .= '<div class=\"form-text\">' . $L->get('Enable or disable Google fonts.') . '</div>';\n\t\t$html .= '</div>';\n\n\t\t$html .= '<div class=\"mb-3\">';\n\t\t$html .= '<label class=\"form-label\" for=\"showPostInformation\">' . $L->get('Show Post Information') . '</label>';\n\t\t$html .= '<select class=\"form-select\" id=\"showPostInformation\" name=\"showPostInformation\">';\n\t\t$html .= '<option value=\"false\" ' . ($this->getValue('showPostInformation') === false ? 'selected' : '') . '>' . $L->get('Disabled') . '</option>';\n\t\t$html .= '<option value=\"true\" ' . ($this->getValue('showPostInformation') === true ? 'selected' : '') . '>' . $L->get('Enabled') . '</option>';\n\t\t$html .= '</select>';\n\t\t$html .= '</div>';\n\n\t\t$html .= '<div class=\"mb-3\">';\n\t\t$html .= '<label class=\"form-label\" for=\"dateFormat\">' . $L->get('Date format') . '</label>';\n\t\t$html .= '<select class=\"form-select\" id=\"dateFormat\" name=\"dateFormat\">';\n\t\t$html .= '<option value=\"noshow\" ' . ($this->getValue('dateFormat') == 'noshow' ? 'selected' : '') . '>' . $L->get('No show') . '</option>';\n\t\t$html .= '<option value=\"relative\" ' . ($this->getValue('dateFormat') == 'relative' ? 'selected' : '') . '>' . $L->get('Relative') . '</option>';\n\t\t$html .= '<option value=\"absolute\" ' . ($this->getValue('dateFormat') == 'absolute' ? 'selected' : '') . '>' . $L->get('Absolute') . '</option>';\n\t\t$html .= '</select>';\n\t\t$html .= '<div class=\"form-text\">' . $L->get('Change the date format for the main page.') . '</div>';\n\t\t$html .= '</div>';\n\n\t\treturn $html;\n\t}\n\n\tpublic function showPostInformation()\n\t{\n\t\treturn $this->getValue('showPostInformation');\n\t}\n\n\tpublic function googleFonts()\n\t{\n\t\treturn $this->getValue('googleFonts');\n\t}\n\n\tpublic function dateFormat()\n\t{\n\t\treturn $this->getValue('dateFormat');\n\t}\n}\n"
  },
  {
    "path": "bl-plugins/api/languages/da.json",
    "content": "{\n\t\"amount-of-pages\": \"Antal af sider\",\n\t\"api-token\": \"API-token\",\n\t\"plugin-data\": {\n\t\t\"description\": \"Grænseflade til interaktion med Bludit ved hjælp af HTTP-protokol. <br> Læs mere om denne udvidelse i <a href=\\\"https://docs.bludit.com/en/api/introduction\\\">API-introduktion</a>.\",\n\t\t\"name\": \"API\"\n\t},\n\t\"this-is-the-maximum-of-pages-to-return-when-you-call-to\": \"Dette er det maksimale antal sider, der skal returneres, når du lavet et kald til / api / sider\",\n\t\"this-token-is-for-read-only-and-is-regenerated-every-time-you-install-the-plugin\": \"Denne token er kun læsbar og regenereres hver gang du installerer udvidelsen.\"\n}\n"
  },
  {
    "path": "bl-plugins/api/languages/de_CH.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"API\",\n\t\t\"description\": \"Schnittstelle, für den Datenaustausch mit Bludit über das HTTP-Protokoll. Informationen zur Verwendung des Plugins unter <a href=\\\"https://docs.bludit.com/en/api/introduction\\\">API Introduction</a>.\"\n\t},\n\t\"api-token\": \"API-Token\",\n\t\"amount-of-pages\": \"Anzahl Seiten\",\n\t\"this-is-the-maximum-of-pages-to-return-when-you-call-to\": \"Maximum der Seiten bei einem Aufruf /api/pages.\",\n\t\"this-token-is-for-read-only-and-is-regenerated-every-time-you-install-the-plugin\": \"Der Token kann für Leserechte verwendet werden. Er wird bei bei einer Neuinstallation des Plugins erneuert.\"\n}\n"
  },
  {
    "path": "bl-plugins/api/languages/de_DE.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"API\",\n\t\t\"description\": \"Schnittstelle, für den Datenaustausch mit Bludit über das HTTP-Protokoll. Informationen zur Verwendung des Plugins unter <a href=\\\"https://docs.bludit.com/en/api/introduction\\\">API Introduction</a>.\"\n\t},\n\t\"api-token\": \"API-Token\",\n\t\"amount-of-pages\": \"Anzahl Seiten\",\n\t\"this-is-the-maximum-of-pages-to-return-when-you-call-to\": \"Maximum der Seiten bei einem Aufruf /api/pages.\",\n\t\"this-token-is-for-read-only-and-is-regenerated-every-time-you-install-the-plugin\": \"Der Token kann für Leserechte verwendet werden. Er wird bei bei einer Neuinstallation des Plugins erneuert.\"\n}\n"
  },
  {
    "path": "bl-plugins/api/languages/en.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"API\",\n\t\t\"description\": \"Interface to interact with Bludit using HTTP protocol. <br> Read more about this plugin on <a href=\\\"https://docs.bludit.com/en/api/introduction\\\">API Introduction</a>.\"\n\t},\n\t\"api-token\": \"API Token\",\n\t\"amount-of-pages\": \"Amount of pages\",\n\t\"this-is-the-maximum-of-pages-to-return-when-you-call-to\": \"This is the maximum of pages to return when you call to /api/pages\",\n\t\"this-token-is-for-read-only-and-is-regenerated-every-time-you-install-the-plugin\": \"This token is for read only and is regenerated every time you install the plugin\"\n}"
  },
  {
    "path": "bl-plugins/api/languages/es.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"API\",\n\t\t\"description\": \"Interfaz para interactuar con Bludit mediante el protocolo HTTP. <br>Leer más sobre este plugin en <a href=\\\"https://docs.bludit.com/en/api/introduction\\\">API introducción</a>.\"\n\t},\n\t\"api-token\": \"API Token\",\n\t\"amount-of-pages\": \"Cantidad de paginas\",\n\t\"this-is-the-maximum-of-pages-to-return-when-you-call-to\": \"Este es el máximo de páginas a devolver cuando llame a /api/pages.\",\n\t\"this-token-is-for-read-only-and-is-regenerated-every-time-you-install-the-plugin\": \"Este token es para sólo lectura y se regenera cada vez que se instala el plugin.\"\n}"
  },
  {
    "path": "bl-plugins/api/languages/fa_IR.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"API\",\n\t\t\"description\": \"رابطی برای ارتباط با بلودیت با استفاده از پروتکل HTTP.<br>اطلاعات بیشتر را درمورد این پلاگین از  <a href=\\\"https://docs.bludit.com/en/api/introduction\\\">API Introduction</a> مطالعه کنید.\"\n\t},\n\t\"api-token\": \"رمز توکن API\",\n\t\"amount-of-pages\": \"تعداد صفحات\",\n\t\"this-is-the-maximum-of-pages-to-return-when-you-call-to\": \"این حداکثر صفحاتی بازگشتی است هنگامی که /api/pages را بازخوانی می‌کنید\",\n\t\"this-token-is-for-read-only-and-is-regenerated-every-time-you-install-the-plugin\": \"این توکن تنها خواندی است و هر زمانی که پلاگین را نصب می کنید بازسازی می شود\"\n}\n"
  },
  {
    "path": "bl-plugins/api/languages/fr_FR.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"API\",\n\t\t\"description\": \"Interface pour interagir avec Bludit en utilisant le protocole HTTP. <br>En savoir plus sur ce plugin, en lisant <a href=\\\"https://docs.bludit.com/en/api/introduction\\\">l’introduction sur l’API</a>.\"\n\t},\n\t\"api-token\": \"Jeton de l’API\",\n\t\"amount-of-pages\": \"Nombre de pages\",\n\t\"this-is-the-maximum-of-pages-to-return-when-you-call-to\": \"C’est le nombre maximal de pages à renvoyer lorsque vous appelez l’api par pages.\",\n\t\"this-token-is-for-read-only-and-is-regenerated-every-time-you-install-the-plugin\": \"Ce jeton est en lecture seule et est régénéré à chaque fois que vous installez le plugin.\"\n}"
  },
  {
    "path": "bl-plugins/api/languages/it.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"API\",\n\t\t\"description\": \"Interfaccia per interagire con Bludit utilizzando il protocollo HTTP. <br> Leggi di più su questo plugin su <a href=\\\"https://docs.bludit.com/en/api/introduction\\\">API Introduction</a>.\"\n\t},\n\t\"api-token\": \"Token API\",\n\t\"amount-of-pages\": \"Quantità di pagine\",\n\t\"this-is-the-maximum-of-pages-to-return-when-you-call-to\": \"Questo è il numero di pagine di ritorno quando effetui una chiamata /api/pages\",\n\t\"this-token-is-for-read-only-and-is-regenerated-every-time-you-install-the-plugin\": \"Questo token è di sola lettura e viene rigenerato ogni volta che installi il plugin\"\n}"
  },
  {
    "path": "bl-plugins/api/languages/ja_JP.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"API\",\n\t\t\"description\": \"HTTPを使用してBluditとやり取りするインターフェース。<br> このプラグインについては <a href=\\\"https:\\/\\/docs.bludit.com\\/en\\/api\\/introduction\\\">API Introduction<\\/a> を参照してください。\"\n\t},\n\t\"api-token\": \"APIトークン\",\n\t\"amount-of-pages\": \"ページ数\",\n\t\"this-is-the-maximum-of-pages-to-return-when-you-call-to\": \"これは \\/api\\/pages 呼び出し時に返される最大ページ数です\",\n\t\"this-token-is-for-read-only-and-is-regenerated-every-time-you-install-the-plugin\": \"このトークンは読み取り専用トークンで、プラグインをインストールするたびに再生成されます\"\n}"
  },
  {
    "path": "bl-plugins/api/languages/nl_NL.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"API\",\n\t\t\"description\": \"Interface om met Bludit te communiceren via het HTTP-protocol. <br>Lees meer over deze plugin op <a href=\\\"https://docs.bludit.com/en/api/introduction\\\">API Introduction</a>.\"\n\t},\n\t\"api-token\": \"API-token\",\n\t\"amount-of-pages\": \"Aantal pagina's\",\n\t\"this-is-the-maximum-of-pages-to-return-when-you-call-to\": \"Het maximum aantal door te sturen pagina's via een call naar /api/pages\",\n\t\"this-token-is-for-read-only-and-is-regenerated-every-time-you-install-the-plugin\": \"Dit token is niet aan te passen en wordt automatisch ververst wanneer de plugin opnieuw wordt ge&iuml;nstalleerd\"\n}"
  },
  {
    "path": "bl-plugins/api/languages/ru.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"API\",\n\t\t\"description\": \"Интерфейс для взаимодействия с Bludit по HTTP-протоколу.<br>Узнайте больше про этот плагин в разделе <a href=\\\"https://docs.bludit.com/en/api/introduction\\\">Введение в API для Bludit</a> (раздел на английском).\"\n\t},\n\t\"api-token\": \"API Tокен\",\n\t\"amount-of-pages\": \"Количество страниц\",\n\t\"this-is-the-maximum-of-pages-to-return-when-you-call-to\": \"Максимальное количество возвращаемых страниц при обращении к <code>/api/pages</code>\",\n\t\"this-token-is-for-read-only-and-is-regenerated-every-time-you-install-the-plugin\": \"Данный токен используется только для чтения, токен обновляется при каждой переустановке плагина.\"\n}\n"
  },
  {
    "path": "bl-plugins/api/languages/tr_TR.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"API\",\n\t\t\"description\": \"HTTP protokolünü kullanarak Bludit ile etkileşimde bulunmak için arabirim. <br> Bu eklenti hakkında daha fazla bilgi için <a href=\\\"https://docs.bludit.com/en/api/introduction\\\">API Tanıtımı (ingilizce)</a>.\"\n\t},\n\t\"api-token\": \"API Token\",\n\t\"amount-of-pages\": \"Sayfa miktarı\",\n\t\"this-is-the-maximum-of-pages-to-return-when-you-call-to\": \"Bu /api/pages sayfasını çağırdığınızda gösterilecek maksimum sayfa sayısıdır.\",\n\t\"this-token-is-for-read-only-and-is-regenerated-every-time-you-install-the-plugin\": \"Bu token salt okunur amaçlıdır ve eklentiyi her yüklediğinizde yeniden oluşturulur.\"\n}\n"
  },
  {
    "path": "bl-plugins/api/metadata.json",
    "content": "{\n\t\"author\": \"Bludit\",\n\t\"email\": \"\",\n\t\"website\": \"https://plugins.bludit.com\",\n\t\"version\": \"3.21.0\",\n\t\"releaseDate\": \"2026-04-25\",\n\t\"license\": \"MIT\",\n\t\"compatible\": \"3.21\",\n\t\"notes\": \"\"\n}\n"
  },
  {
    "path": "bl-plugins/api/plugin.php",
    "content": "<?php\n\nclass pluginAPI extends Plugin\n{\n\n\tprivate $method;\n\n\tpublic function init()\n\t{\n\t\t// Generate the API Token\n\t\t$token = bin2hex( openssl_random_pseudo_bytes(64) );\n\n\t\t$this->dbFields = array(\n\t\t\t'token' => $token,\t// API Token\n\t\t\t'numberOfItems' => 15\t// Amount of items to return\n\t\t);\n\t}\n\n\tpublic function getToken()\n\t{\n\t\treturn $this->getValue('token');\n\t}\n\n\tpublic function form()\n\t{\n\t\tglobal $L;\n\n\t\t$html  = '<div class=\"alert alert-primary\" role=\"alert\">';\n\t\t$html .= $this->description();\n\t\t$html .= '</div>';\n\n\t\t$html .= '<div>';\n\t\t$html .= '<label>' . $L->get('URL') . '</label>';\n\t\t$html .= '<p class=\"text-muted\">' . DOMAIN_BASE . 'api/{endpoint}</p>';\n\t\t$html .= '</div>';\n\n\t\t$html .= '<div>';\n\t\t$html .= '<label>' . $L->get('API Token') . '</label>';\n\t\t$html .= '<input name=\"token\" type=\"text\" dir=\"auto\" value=\"' . $this->getValue('token') . '\">';\n\t\t$html .= '<span class=\"tip\">' . $L->get('This token is for read only and is regenerated every time you install the plugin') . '</span>';\n\t\t$html .= '</div>';\n\n\t\t$html .= '<div>';\n\t\t$html .= '<label>' . $L->get('Amount of pages') . '</label>';\n\t\t$html .= '<input id=\"jsnumberOfItems\" name=\"numberOfItems\" type=\"text\" dir=\"auto\" value=\"' . $this->getValue('numberOfItems') . '\">';\n\t\t$html .= '<span class=\"tip\">' . $L->get('This is the maximum of pages to return when you call to') . '</span>';\n\t\t$html .= '</div>';\n\n\t\treturn $html;\n\t}\n\n\n\t// API HOOKS\n\t// ----------------------------------------------------------------------------\n\n\tpublic function beforeAll()\n\t{\n\t\tglobal $url;\n\t\tglobal $pages;\n\t\tglobal $users;\n\n\t\t// CHECK URL\n\t\t// ------------------------------------------------------------\n\t\t$URI = $this->webhook('api', $returnsAfterURI = true, $fixed = false);\n\t\tif ($URI === false) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// METHOD\n\t\t// ------------------------------------------------------------\n\t\t$method = $this->getMethod();\n\n\t\t// METHOD INPUTS\n\t\t// ------------------------------------------------------------\n\t\t$inputs = $this->getMethodInputs();\n\t\tif (empty($inputs)) {\n\t\t\t$this->response(400, 'Bad Request', array('message' => 'Missing method inputs.'));\n\t\t}\n\n\t\t// ENDPOINT PARAMETERS\n\t\t// ------------------------------------------------------------\n\t\t$parameters = $this->getEndpointParameters($URI);\n\t\tif (empty($parameters)) {\n\t\t\t$this->response(400, 'Bad Request', array('message' => 'Missing endpoint parameters.'));\n\t\t}\n\n\t\t// API TOKEN\n\t\t// ------------------------------------------------------------\n\t\t// Token from the plugin, the user can change it on the settings of the plugin\n\t\t$tokenAPI = $this->getValue('token');\n\n\t\t// Check empty token\n\t\tif (empty($inputs['token'])) {\n\t\t\t$this->response(400, 'Bad Request', array('message' => 'Missing API token.'));\n\t\t}\n\n\t\t// Check if the token is valid\n\t\tif ($inputs['token'] !== $tokenAPI) {\n\t\t\t$this->response(401, 'Unauthorized', array('message' => 'Invalid API token.'));\n\t\t}\n\n\t\t// AUTHENTICATION TOKEN\n\t\t// ------------------------------------------------------------\n\t\t$writePermissions = false;\n\t\tif (!empty($inputs['authentication'])) {\n\n\t\t\t// Get the user with the authentication token, FALSE if it doesn't exist\n\t\t\t$username = $users->getByAuthToken($inputs['authentication']);\n\t\t\tif ($username !== false) {\n\t\t\t\ttry {\n\t\t\t\t\t$user = new User($username);\n\t\t\t\t\tif (($user->role() == 'admin') && ($user->enabled())) {\n\t\t\t\t\t\t// Loggin the user to create the session\n\t\t\t\t\t\t$login = new Login();\n\t\t\t\t\t\t$login->setLogin($username, 'admin');\n\t\t\t\t\t\t// Enable write permissions\n\t\t\t\t\t\t$writePermissions = true;\n\t\t\t\t\t}\n\t\t\t\t} catch (Exception $e) {\n\t\t\t\t\t// Continue without permissions\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Clean inputs\n\t\t// ------------------------------------------------------------\n\t\tunset($inputs['token']);\n\t\tunset($inputs['authentication']);\n\n\t\t// ENDPOINTS\n\t\t// ------------------------------------------------------------\n\n\t\t// (GET) /api/pages\n\t\tif (($method === 'GET') && ($parameters[0] === 'pages') && empty($parameters[1])) {\n\t\t\t$data = $this->getPages($inputs);\n\t\t}\n\t\t// (GET) /api/pages/<key>\n\t\telseif (($method === 'GET') && ($parameters[0] === 'pages') && !empty($parameters[1])) {\n\t\t\t$pageKey = $parameters[1];\n\t\t\tif (isset($parameters[2])) {\n\t\t\t\t$pageKey = $parameters[1] . '/' . $parameters[2];\n\t\t\t}\n\t\t\t$data = $this->getPage($pageKey);\n\t\t}\n\t\t// (PUT) /api/pages/<key>\n\t\telseif (($method === 'PUT') && ($parameters[0] === 'pages') && !empty($parameters[1]) && $writePermissions) {\n\t\t\t$pageKey = $parameters[1];\n\t\t\t$data = $this->editPage($pageKey, $inputs);\n\t\t}\n\t\t// (DELETE) /api/pages/<key>\n\t\telseif (($method === 'DELETE') && ($parameters[0] === 'pages') && !empty($parameters[1]) && $writePermissions) {\n\t\t\t$pageKey = $parameters[1];\n\t\t\t$data = $this->deletePage($pageKey);\n\t\t}\n\t\t// (POST) /api/pages\n\t\telseif (($method === 'POST') && ($parameters[0] === 'pages') && empty($parameters[1]) && $writePermissions) {\n\t\t\t$data = $this->createPage($inputs);\n\t\t}\n\t\t// (GET) /api/settings\n\t\telseif (($method === 'GET') && ($parameters[0] === 'settings') && empty($parameters[1]) && $writePermissions) {\n\t\t\t$data = $this->getSettings();\n\t\t}\n\t\t// (PUT) /api/settings\n\t\telseif (($method === 'PUT') && ($parameters[0] === 'settings') && empty($parameters[1]) && $writePermissions) {\n\t\t\t$data = $this->editSettings($inputs);\n\t\t}\n\t\t// (POST) /api/images\n\t\telseif (($method === 'POST') && ($parameters[0] === 'images') && $writePermissions) {\n\t\t\t$data = $this->uploadImage($inputs);\n\t\t}\n\t\t// (GET) /api/tags\n\t\telseif (($method === 'GET') && ($parameters[0] === 'tags') && empty($parameters[1])) {\n\t\t\t$data = $this->getTags();\n\t\t}\n\t\t// (GET) /api/tags/<key>\n\t\telseif (($method === 'GET') && ($parameters[0] === 'tags') && !empty($parameters[1])) {\n\t\t\t$tagKey = $parameters[1];\n\t\t\t$data = $this->getTag($tagKey);\n\t\t}\n\t\t// (GET) /api/categories\n\t\telseif (($method === 'GET') && ($parameters[0] === 'categories') && empty($parameters[1])) {\n\t\t\t$data = $this->getCategories();\n\t\t}\n\t\t// (GET) /api/categories/<key>\n\t\telseif (($method === 'GET') && ($parameters[0] === 'categories') && !empty($parameters[1])) {\n\t\t\t$categoryKey = $parameters[1];\n\t\t\t$data = $this->getCategory($categoryKey);\n\t\t}\n\t\t// (GET) /api/users\n\t\telseif (($method === 'GET') && ($parameters[0] === 'users') && empty($parameters[1])) {\n\t\t\t$data = $this->getUsers();\n\t\t}\n\t\t// (GET) /api/users/<username>\n\t\telseif (($method === 'GET') && ($parameters[0] === 'users') && !empty($parameters[1])) {\n\t\t\t$username = $parameters[1];\n\t\t\t$data = $this->getUser($username);\n\t\t}\n\t\t// (GET) /api/files/<page-key>\n\t\telseif (($method === 'GET') && ($parameters[0] === 'files') && !empty($parameters[1])) {\n\t\t\t$pageKey = $parameters[1];\n\t\t\tif (!$this->isValidPageKey($pageKey)) {\n\t\t\t\t$this->response(400, 'Bad Request', array('message' => 'Invalid page key.'));\n\t\t\t}\n\t\t\t$data = $this->getFiles($pageKey);\n\t\t}\n\t\t// (POST) /api/files/<page-key>\n\t\telseif (($method === 'POST') && ($parameters[0] === 'files') && !empty($parameters[1]) && $writePermissions) {\n\t\t\t$pageKey = $parameters[1];\n\t\t\tif (!$this->isValidPageKey($pageKey)) {\n\t\t\t\t$this->response(400, 'Bad Request', array('message' => 'Invalid page key.'));\n\t\t\t}\n\t\t\t$data = $this->uploadFile($pageKey);\n\t\t} else {\n\t\t\t$this->response(401, 'Unauthorized', array('message' => 'Access denied or invalid endpoint.'));\n\t\t}\n\n\t\t$this->response(200, 'OK', $data);\n\t}\n\n\t// PRIVATE METHODS\n\t// ----------------------------------------------------------------------------\n\n\t// Validate page key to prevent path traversal (CWE-22)\n\tprivate function isValidPageKey($pageKey)\n\t{\n\t\tif (strpos($pageKey, '..') !== false) {\n\t\t\treturn false;\n\t\t}\n\t\tif (strpos($pageKey, \"\\0\") !== false) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t}\n\n\tprivate function getMethod()\n\t{\n\t\t// METHODS\n\t\t// ------------------------------------------------------------\n\t\t// GET\n\t\t// POST\n\t\t// PUT\n\t\t// DELETE\n\n\t\t$this->method = $_SERVER['REQUEST_METHOD'];\n\t\treturn $this->method;\n\t}\n\n\tprivate function getMethodInputs()\n\t{\n\t\tswitch ($this->method) {\n\t\t\tcase \"POST\":\n\t\t\t\t$inputs = $_POST;\n\t\t\t\tbreak;\n\t\t\tcase \"GET\":\n\t\t\tcase \"DELETE\":\n\t\t\t\t$inputs = $_GET;\n\t\t\t\tbreak;\n\t\t\tcase \"PUT\":\n\t\t\t\t$inputs = '';\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\t$inputs = json_encode(array());\n\t\t\t\tbreak;\n\t\t}\n\n\t\t// Try to get raw/json data\n\t\tif (empty($inputs)) {\n\t\t\t$inputs = file_get_contents('php://input');\n\t\t}\n\n\t\treturn $this->cleanInputs($inputs);\n\t}\n\n\t// Returns an array with key=>value with the inputs\n\t// If the content is JSON is parsed to array\n\tprivate function cleanInputs($inputs)\n\t{\n\t\t$tmp = array();\n\t\tif (is_array($inputs)) {\n\t\t\tforeach ($inputs as $key => $value) {\n\t\t\t\t$tmp[$key] = Sanitize::html($value);\n\t\t\t}\n\t\t} elseif (is_string($inputs)) {\n\t\t\t$tmp = json_decode($inputs, true);\n\t\t\tif (json_last_error() !== JSON_ERROR_NONE) {\n\t\t\t\t$tmp = array();\n\t\t\t}\n\t\t}\n\n\t\treturn $tmp;\n\t}\n\n\tprivate function getEndpointParameters($URI)\n\t{\n\t\t// ENDPOINT Parameters\n\t\t// ------------------------------------------------------------\n\t\t// /api/pages \t\t| GET  | returns all pages\n\t\t// /api/pages/{key}\t| GET  | returns the page with the {key}\n\t\t// /api/pages \t\t| POST | create a new page\n\n\t\t$URI = ltrim($URI, '/');\n\t\t$parameters = explode('/', $URI);\n\n\t\t// Sanitize parameters\n\t\tforeach ($parameters as $key => $value) {\n\t\t\t$parameters[$key] = Sanitize::html($value);\n\t\t}\n\n\t\treturn $parameters;\n\t}\n\n\tprivate function response($code = 200, $message = 'OK', $data = array())\n\t{\n\t\theader('HTTP/1.1 ' . $code . ' ' . $message);\n\t\theader('Access-Control-Allow-Origin: *');\n\t\theader('Content-Type: application/json');\n\t\t$json = json_encode($data);\n\t\texit($json);\n\t}\n\n\tprivate function getTags()\n\t{\n\t\tglobal $tags;\n\t\t$tmp = array(\n\t\t\t'status' => '0',\n\t\t\t'message' => 'List of tags.',\n\t\t\t'data' => array()\n\t\t);\n\t\tforeach ($tags->keys() as $key) {\n\t\t\t$tag = $tags->getMap($key);\n\t\t\tarray_push($tmp['data'], $tag);\n\t\t}\n\t\treturn $tmp;\n\t}\n\n\t// Returns the tag information and the pages releated to the tag\n\t// The array with the pages has the complete information of each page\n\tprivate function getTag($key)\n\t{\n\t\ttry {\n\t\t\t$tag = new Tag($key);\n\t\t} catch (Exception $e) {\n\t\t\treturn array(\n\t\t\t\t'status' => '1',\n\t\t\t\t'message' => 'Tag not found by the key: ' . $key\n\t\t\t);\n\t\t}\n\n\t\t$list = array();\n\t\tforeach ($tag->pages() as $pageKey) {\n\t\t\ttry {\n\t\t\t\t$page = new Page($pageKey);\n\t\t\t\tarray_push($list, $page->json($returnsArray = true));\n\t\t\t} catch (Exception $e) {\n\t\t\t}\n\t\t}\n\n\t\t$data = $tag->json($returnsArray = true);\n\t\t$data['pages'] = $list;\n\n\t\treturn array(\n\t\t\t'status' => '0',\n\t\t\t'message' => 'Information about the tag and pages related.',\n\t\t\t'data' => $data\n\t\t);\n\t}\n\n\tprivate function getPages($args)\n\t{\n\t\tglobal $pages;\n\n\t\t// Parameters and the default values\n\t\t$published \t= (isset($args['published']) ? $args['published'] == 'true' : true);\n\t\t$static \t= (isset($args['static']) ? $args['static'] == 'true' : false);\n\t\t$draft \t\t= (isset($args['draft']) ? $args['draft'] == 'true' : false);\n\t\t$sticky \t= (isset($args['sticky']) ? $args['sticky'] == 'true' : false);\n\t\t$scheduled \t= (isset($args['scheduled']) ? $args['scheduled'] == 'true' : false);\n\t\t$untagged \t= (isset($args['untagged']) ? $args['untagged'] == 'true' : false);\n\n\t\t$numberOfItems = (isset($args['numberOfItems']) ? $args['numberOfItems'] : (int)$this->getValue('numberOfItems'));\n\t\t$pageNumber = (isset($args['pageNumber']) ? $args['pageNumber'] : 1);\n\t\t$list = $pages->getList($pageNumber, $numberOfItems, $published, $static, $sticky, $draft, $scheduled);\n\n\t\t$tmp = array(\n\t\t\t'status' => '0',\n\t\t\t'message' => 'List of pages',\n\t\t\t'numberOfItems' => $numberOfItems,\n\t\t\t'data' => array()\n\t\t);\n\n\t\tforeach ($list as $pageKey) {\n\t\t\ttry {\n\t\t\t\t// Create the page object from the page key\n\t\t\t\t$page = new Page($pageKey);\n\t\t\t\tif ($untagged) {\n\t\t\t\t\tif (empty($page->tags())) {\n\t\t\t\t\t\t// Push the page to the data array for the response\n\t\t\t\t\t\tarray_push($tmp['data'], $page->json($returnsArray = true));\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tarray_push($tmp['data'], $page->json($returnsArray = true));\n\t\t\t\t}\n\t\t\t} catch (Exception $e) {\n\t\t\t\t// Continue\n\t\t\t}\n\t\t}\n\n\t\treturn $tmp;\n\t}\n\n\tprivate function getPage($key)\n\t{\n\t\ttry {\n\t\t\t$page = new Page($key);\n\t\t\treturn array(\n\t\t\t\t'status' => '0',\n\t\t\t\t'message' => 'Page filtered by key: ' . $key,\n\t\t\t\t'data' => $page->json($returnsArray = true)\n\t\t\t);\n\t\t} catch (Exception $e) {\n\t\t\treturn array(\n\t\t\t\t'status' => '1',\n\t\t\t\t'message' => 'Page not found.'\n\t\t\t);\n\t\t}\n\t}\n\n\tprivate function createPage($args)\n\t{\n\t\t// Unsanitize content because all values are sanitized\n\t\tif (isset($args['content'])) {\n\t\t\t$args['content'] = Sanitize::htmlDecode($args['content']);\n\t\t}\n\n\t\t// This function is defined on functions.php\n\t\t$key = createPage($args);\n\t\tif ($key === false) {\n\t\t\treturn array(\n\t\t\t\t'status' => '1',\n\t\t\t\t'message' => 'Error trying to create the new page.'\n\t\t\t);\n\t\t}\n\n\t\treturn array(\n\t\t\t'status' => '0',\n\t\t\t'message' => 'Page created.',\n\t\t\t'data' => array('key' => $key)\n\t\t);\n\t}\n\n\tprivate function editPage($key, $args)\n\t{\n\t\t// Unsanitize content because all values are sanitized\n\t\tif (isset($args['content'])) {\n\t\t\t$args['content'] = Sanitize::htmlDecode($args['content']);\n\t\t}\n\n\t\t$args['key'] = $key;\n\t\t$newKey = editPage($args);\n\n\t\tif ($newKey === false) {\n\t\t\treturn array(\n\t\t\t\t'status' => '1',\n\t\t\t\t'message' => 'Error trying to edit the page.'\n\t\t\t);\n\t\t}\n\n\t\treturn array(\n\t\t\t'status' => '0',\n\t\t\t'message' => 'Page edited.',\n\t\t\t'data' => array('key' => $newKey)\n\t\t);\n\t}\n\n\tprivate function deletePage($key)\n\t{\n\t\tif (deletePage($key)) {\n\t\t\treturn array(\n\t\t\t\t'status' => '0',\n\t\t\t\t'message' => 'Page deleted.'\n\t\t\t);\n\t\t}\n\n\t\treturn array(\n\t\t\t'status' => '1',\n\t\t\t'message' => 'Error trying to delete the page.'\n\t\t);\n\t}\n\n\t/*\n\t| Upload an image and generate the thumbnails\n\t| Returns the image and thumbnail URL\n\t|\n\t| @inputs\t\tarray\n\t| @inputs['uuid']\tstring\tPage UUID\n\t| @_FILE\t\tarray\thttps://www.php.net/manual/en/reserved.variables.files.php\n\t|\n\t| @return\t\tarray\n\t*/\n\tprivate function uploadImage($inputs)\n\t{\n\t\t// Set upload directory\n\t\tif (isset($inputs['uuid']) && IMAGE_RESTRICT) {\n\t\t\tif (!$this->isValidPageKey($inputs['uuid'])) {\n\t\t\t\treturn array('status' => '1', 'message' => 'Invalid UUID.');\n\t\t\t}\n\t\t\t$imageDirectory \t= PATH_UPLOADS_PAGES . $inputs['uuid'] . DS;\n\t\t\t$thumbnailDirectory \t= $imageDirectory . 'thumbnails' . DS;\n\t\t\t$imageEndpoint \t\t= DOMAIN_UPLOADS_PAGES . $inputs['uuid'] . '/';\n\t\t\t$thumbnailEndpoint \t= $imageEndpoint . 'thumbnails' . '/';\n\t\t\tif (!Filesystem::directoryExists($thumbnailDirectory)) {\n\t\t\t\tFilesystem::mkdir($thumbnailDirectory, true);\n\t\t\t}\n\t\t} else {\n\t\t\t$imageDirectory \t= PATH_UPLOADS;\n\t\t\t$thumbnailDirectory \t= PATH_UPLOADS_THUMBNAILS;\n\t\t\t$imageEndpoint \t\t= DOMAIN_UPLOADS;\n\t\t\t$thumbnailEndpoint \t= DOMAIN_UPLOADS_THUMBNAILS;\n\t\t}\n\n\t\tif (!isset($_FILES['image'])) {\n\t\t\treturn array(\n\t\t\t\t'status' => '1',\n\t\t\t\t'message' => 'No image sent.'\n\t\t\t);\n\t\t}\n\n\t\tif ($_FILES['image']['error'] != 0) {\n\t\t\treturn array(\n\t\t\t\t'status' => '1',\n\t\t\t\t'message' => 'Error uploading the image, maximum load file size allowed: ' . ini_get('upload_max_filesize')\n\t\t\t);\n\t\t}\n\n\t\t// Move from PHP tmp file to Bludit tmp directory\n\t\tFilesystem::mv($_FILES['image']['tmp_name'], PATH_TMP . $_FILES['image']['name']);\n\n\t\t// Transform image and create thumbnails\n\t\t$image = transformImage(PATH_TMP . $_FILES['image']['name'], $imageDirectory, $thumbnailDirectory);\n\t\tif ($image) {\n\t\t\t$filename = Filesystem::filename($image);\n\t\t\treturn array(\n\t\t\t\t'status' => '0',\n\t\t\t\t'message' => 'Image uploaded.',\n\t\t\t\t'image' => $imageEndpoint . $filename,\n\t\t\t\t'thumbnail' => $thumbnailEndpoint . $filename\n\t\t\t);\n\t\t}\n\n\t\treturn array(\n\t\t\t'status' => '1',\n\t\t\t'message' => 'Image extension not allowed.'\n\t\t);\n\t}\n\n\t/*\n\t | Get the settings\n\t |\n\t | @args\tarray\n\t |\n\t | @return\tarray\n         */\n\tprivate function getSettings()\n\t{\n\t\tglobal $site;\n\t\treturn array(\n\t\t\t'status' => '0',\n\t\t\t'message' => 'Settings.',\n\t\t\t'data' => $site->get()\n\t\t);\n\t}\n\n\t/*\n\t | Edit the settings\n\t | You can edit any field defined in the class site.class.php variable $dbFields\n         |\n         | @args\tarray\n\t |\n\t | @return\tarray\n         */\n\tprivate function editSettings($args)\n\t{\n\t\tif (editSettings($args)) {\n\t\t\treturn array(\n\t\t\t\t'status' => '0',\n\t\t\t\t'message' => 'Settings edited.'\n\t\t\t);\n\t\t}\n\t\treturn array(\n\t\t\t'status' => '1',\n\t\t\t'message' => 'Error trying to edit the settings.'\n\t\t);\n\t}\n\n\t/*\n\t | Returns the categories in the system\n\t | Included the category name, key, description and the list of pages\n\t | The list of pages are the page's key\n\t |\n\t | @return\tarray\n         */\n\tprivate function getCategories()\n\t{\n\t\tglobal $categories;\n\t\t$tmp = array(\n\t\t\t'status' => '0',\n\t\t\t'message' => 'List of categories.',\n\t\t\t'data' => array()\n\t\t);\n\t\tforeach ($categories->keys() as $key) {\n\t\t\t$category = $categories->getMap($key);\n\t\t\tarray_push($tmp['data'], $category);\n\t\t}\n\t\treturn $tmp;\n\t}\n\n\t/*\n\t | Returns information about the category and pages related\n\t | The pages are expanded which mean the title, content and more fields are returned in the query\n\t | This can degrade the performance\n\t |\n\t | @key\t\tstring\tCategory key\n\t |\n\t | @return\tarray\n         */\n\tprivate function getCategory($key)\n\t{\n\t\ttry {\n\t\t\t$category = new Category($key);\n\t\t} catch (Exception $e) {\n\t\t\treturn array(\n\t\t\t\t'status' => '1',\n\t\t\t\t'message' => 'Category not found by the key: ' . $key\n\t\t\t);\n\t\t}\n\n\t\t$list = array();\n\t\tforeach ($category->pages() as $pageKey) {\n\t\t\ttry {\n\t\t\t\t$page = new Page($pageKey);\n\t\t\t\tarray_push($list, $page->json($returnsArray = true));\n\t\t\t} catch (Exception $e) {\n\t\t\t}\n\t\t}\n\n\t\t$data = $category->json($returnsArray = true);\n\t\t$data['pages'] = $list;\n\n\t\treturn array(\n\t\t\t'status' => '0',\n\t\t\t'message' => 'Information about the category and pages related.',\n\t\t\t'data' => $data\n\t\t);\n\t}\n\n\t/*\n\t | Returns the user profile\n\t |\n\t | @username\tstring\tUsername\n\t |\n\t | @return\tarray\n         */\n\tprivate function getUser($username)\n\t{\n\t\ttry {\n\t\t\t$user = new User($username);\n\t\t} catch (Exception $e) {\n\t\t\treturn array(\n\t\t\t\t'status' => '1',\n\t\t\t\t'message' => 'User not found by username: ' . $username\n\t\t\t);\n\t\t}\n\n\t\t$data = $user->json($returnsArray = true);\n\t\treturn array(\n\t\t\t'status' => '0',\n\t\t\t'message' => 'User profile.',\n\t\t\t'data' => $data\n\t\t);\n\t}\n\n\t/*\n\t | Returns all the users\n\t |\n\t | @return\tarray\n         */\n\tprivate function getUsers()\n\t{\n\t\tglobal $users;\n\t\t$data = array();\n\t\tforeach ($users->db as $username => $profile) {\n\t\t\ttry {\n\t\t\t\t$user = new User($username);\n\t\t\t\t$data[$username] = $user->json($returnsArray = true);\n\t\t\t} catch (Exception $e) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\n\t\treturn array(\n\t\t\t'status' => '0',\n\t\t\t'message' => 'Users profiles.',\n\t\t\t'data' => $data\n\t\t);\n\t}\n\n\t/*\n\t | Returns all files uploaded for a specific page, includes any type of file.\n\t |\n\t | @return\tarray\n         */\n\tprivate function getFiles($pageKey)\n\t{\n\t\t$chunk = false;\n\t\t$sortByDate = true;\n\t\t$path = PATH_UPLOADS_PAGES . $pageKey . DS;\n\t\t$listFiles = Filesystem::listFiles($path, '*', '*', $sortByDate, $chunk);\n\n\t\t$files = array();\n\t\tforeach ($listFiles as $file) {\n\t\t\t$info = array('thumbnail' => '');\n\t\t\t$info['file'] = $file;\n\t\t\t$info['filename'] = basename($file);\n\t\t\t$info['mime'] = Filesystem::mimeType($file);\n\t\t\t$info['size'] = Filesystem::getSize($file);\n\n\t\t\t// Check if thumbnail exists for the file\n\t\t\t$thumbnail = $path . 'thumbnails' . DS . $info['filename'];\n\t\t\tif (Filesystem::fileExists($thumbnail)) {\n\t\t\t\t$info['thumbnail'] = $thumbnail;\n\t\t\t}\n\n\t\t\tarray_push($files, $info);\n\t\t}\n\n\t\treturn array(\n\t\t\t'status' => '0',\n\t\t\t'message' => 'Files for the page key: ' . $pageKey,\n\t\t\t'data' => $files\n\t\t);\n\t}\n\n\t/*\n\t| Upload a file to a particular page\n\t| Returns the file URL\n\t|\n\t| @inputs\t\tarray\n\t| @inputs['uuid']\tstring\tPage UUID\n\t| @_FILE\t\tarray\thttps://www.php.net/manual/en/reserved.variables.files.php\n\t|\n\t| @return\t\tarray\n\t*/\n\tprivate function uploadFile($pageKey)\n\t{\n\t\tif (!isset($_FILES['file'])) {\n\t\t\treturn array(\n\t\t\t\t'status' => '1',\n\t\t\t\t'message' => 'File not sent.'\n\t\t\t);\n\t\t}\n\n\t\tif ($_FILES['file']['error'] != 0) {\n\t\t\treturn array(\n\t\t\t\t'status' => '1',\n\t\t\t\t'message' => 'Error uploading the file.'\n\t\t\t);\n\t\t}\n\n\t\t$filename = $_FILES['file']['name'];\n\n\t\t// Block dotfiles\n\t\tif (strpos($filename, '.') === 0) {\n\t\t\treturn array('status' => '1', 'message' => 'File type not allowed.');\n\t\t}\n\n\t\t// Check file extension\n\t\t$fileExtension = Filesystem::extension($filename);\n\t\t$fileExtension = Text::lowercase($fileExtension);\n\t\tif (!in_array($fileExtension, $GLOBALS['ALLOWED_FILE_EXTENSIONS'])) {\n\t\t\treturn array('status' => '1', 'message' => 'File type not allowed.');\n\t\t}\n\n\t\t// Sanitize filename to prevent issues with special characters\n\t\t$filenameWithoutExt = Filesystem::filename($filename);\n\t\t$filenameWithoutExt = Text::removeSpecialCharacters($filenameWithoutExt, '-');\n\t\t$filenameWithoutExt = Text::removeQuotes($filenameWithoutExt);\n\t\t$filenameWithoutExt = Text::removeSpaces($filenameWithoutExt, '-');\n\t\t$filename = $filenameWithoutExt . '.' . $fileExtension;\n\n\t\t$absoluteURL = DOMAIN_UPLOADS_PAGES . $pageKey . '/' . $filename;\n\t\t$absolutePath = PATH_UPLOADS_PAGES . $pageKey . DS . $filename;\n\t\tif (Filesystem::mv($_FILES['file']['tmp_name'], $absolutePath)) {\n\t\t\treturn array(\n\t\t\t\t'status' => '0',\n\t\t\t\t'message' => 'File uploaded.',\n\t\t\t\t'filename' => $filename,\n\t\t\t\t'absolutePath' => $absolutePath,\n\t\t\t\t'absoluteURL' => $absoluteURL\n\t\t\t);\n\t\t}\n\n\t\treturn array(\n\t\t\t'status' => '1',\n\t\t\t'message' => 'Error moving the file to the final path.'\n\t\t);\n\t}\n}\n"
  },
  {
    "path": "bl-plugins/canonical/languages/da.json",
    "content": "{\n\t\"plugin-data\": {\n\t\t\"description\": \"Brug af canonical URLs kan hjælpe med at informere søgemaskiner om hvilke URLs der har identisk indhold.\",\n\t\t\"name\": \"Canonical\"\n\t}\n}\n"
  },
  {
    "path": "bl-plugins/canonical/languages/de_CH.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Canonical\",\n\t\t\"description\": \"Kennzeichnung von Seiten mit kanonischen Links, um Dublicate Content bei der Erfassung durch Suchmaschinen zu verhindern.\"\n\t}\n}\n"
  },
  {
    "path": "bl-plugins/canonical/languages/de_DE.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Canonical\",\n\t\t\"description\": \"Kennzeichnung von Seiten mit kanonischen Links, um Dublicate Content bei der Erfassung durch Suchmaschinen zu verhindern.\"\n\t}\n}\n"
  },
  {
    "path": "bl-plugins/canonical/languages/en.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Canonical\",\n\t\t\"description\": \"Using canonical URLs can help to inform search engines which URLs have identical content.\"\n\t}\n}"
  },
  {
    "path": "bl-plugins/canonical/languages/es.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Canonical\",\n\t\t\"description\": \"El uso de URL canónicas ayuda a los motores de búsqueda qué URLs tienen contenido idéntico.\"\n\t}\n}"
  },
  {
    "path": "bl-plugins/canonical/languages/fa_IR.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"لینک استاندارد\",\n\t\t\"description\": \"با استفاده از آدرس‌های وب استاندارد می‌توانید به اطلاع موتورهای جستجو برسانید که کدامیک از آدرس وب ها داری محتوای یکسانی هستند.\"\n\t}\n}\n"
  },
  {
    "path": "bl-plugins/canonical/languages/fr_FR.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"URL Canonique\",\n\t\t\"description\": \"L'utilisation d'URL canoniques permet d'indiquer aux moteurs de recherche quelles URL ont un contenu identique.\"\n\t}\n}"
  },
  {
    "path": "bl-plugins/canonical/languages/it.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Canonical\",\n\t\t\"description\": \"L'utilizzo degli URLS canonici può aiutare i motori di ricerca quali URL hanno un contenuto identico.\"\n\t}\n}"
  },
  {
    "path": "bl-plugins/canonical/languages/ja_JP.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Canonical\",\n\t\t\"description\": \"カノニカル（正規化）URLを使用すると、検索エンジンに、どのURLのコンテンツが同一コンテンツであるかを通知できます。\"\n\t}\n}"
  },
  {
    "path": "bl-plugins/canonical/languages/nl_NL.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Canonieke URLs\",\n\t\t\"description\": \"Het gebruik van canonieke URLs kan helpen bij het informeren van zoekmachines over welke URLs dezelfde inhoud hebben.\"\n\t}\n}"
  },
  {
    "path": "bl-plugins/canonical/languages/ru.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Canonical\",\n\t\t\"description\": \"Плагин для использоания канонических URL-адресов. Использование канонических URL-адресов может помочь сообщить поисковым системам, какие URL-адреса имеют идентичный контент.\"\n\t}\n}\n"
  },
  {
    "path": "bl-plugins/canonical/languages/ru_RU.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Канонические URL-адреса\",\n\t\t\"description\": \"Использование канонических URL-адресов может помочь поисковым системам грамотно идентифицировать URL-адреса страниц с дублирующимся содержанием.\"\n\t}\n}\n"
  },
  {
    "path": "bl-plugins/canonical/metadata.json",
    "content": "{\n\t\"author\": \"Bludit\",\n\t\"email\": \"\",\n\t\"website\": \"https://plugins.bludit.com\",\n\t\"version\": \"3.21.0\",\n\t\"releaseDate\": \"2026-04-25\",\n\t\"license\": \"MIT\",\n\t\"compatible\": \"3.21\",\n\t\"notes\": \"\"\n}\n"
  },
  {
    "path": "bl-plugins/canonical/plugin.php",
    "content": "<?php\n\nclass pluginCanonical extends Plugin {\n\n\tpublic function siteHead()\n\t{\n\t\tglobal $url;\n\t\tglobal $page;\n\t\tglobal $WHERE_AM_I;\n\n\t\t$html = '';\n\t\t$canonical = '';\n\n\t\tswitch ($WHERE_AM_I) {\n\t\t\tcase 'home':\n\t\t\t\t// Handle pagination on homepage\n\t\t\t\t$pageNumber = $url->pageNumber();\n\t\t\t\tif ($pageNumber > 1) {\n\t\t\t\t\t$canonical = DOMAIN_BASE . 'page/' . $pageNumber . '/';\n\t\t\t\t} else {\n\t\t\t\t\t$canonical = DOMAIN_BASE;\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 'page':\n\t\t\t\t$canonical = $page->permalink($absolute = true);\n\t\t\t\tbreak;\n\n\t\t\tcase 'category':\n\t\t\t\t// Category pages\n\t\t\t\t$categoryKey = $url->slug();\n\t\t\t\t$canonical = DOMAIN_CATEGORIES . $categoryKey . '/';\n\t\t\t\t$pageNumber = $url->pageNumber();\n\t\t\t\tif ($pageNumber > 1) {\n\t\t\t\t\t$canonical .= 'page/' . $pageNumber . '/';\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 'tag':\n\t\t\t\t// Tag pages\n\t\t\t\t$tagKey = $url->slug();\n\t\t\t\t$canonical = DOMAIN_TAGS . $tagKey . '/';\n\t\t\t\t$pageNumber = $url->pageNumber();\n\t\t\t\tif ($pageNumber > 1) {\n\t\t\t\t\t$canonical .= 'page/' . $pageNumber . '/';\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\t// For any other page type, use current URI\n\t\t\t\t$canonical = DOMAIN_BASE . ltrim($url->uri(), '/');\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif (!empty($canonical)) {\n\t\t\t$html .= '<link rel=\"canonical\" href=\"' . htmlspecialchars($canonical, ENT_QUOTES, 'UTF-8') . '\">' . PHP_EOL;\n\n\t\t\t// Add prev/next for paginated content (helps search engines)\n\t\t\t$pageNumber = $url->pageNumber();\n\t\t\tif ($pageNumber > 1) {\n\t\t\t\t// Previous page\n\t\t\t\tif ($pageNumber === 2) {\n\t\t\t\t\t$prevUrl = preg_replace('/page\\/\\d+\\/?$/', '', $canonical);\n\t\t\t\t} else {\n\t\t\t\t\t$prevUrl = preg_replace('/page\\/\\d+\\/?$/', 'page/' . ($pageNumber - 1) . '/', $canonical);\n\t\t\t\t}\n\t\t\t\t$html .= '<link rel=\"prev\" href=\"' . htmlspecialchars($prevUrl, ENT_QUOTES, 'UTF-8') . '\">' . PHP_EOL;\n\t\t\t}\n\n\t\t\t// Next page (only if more content exists)\n\t\t\t// This requires checking if there's a next page of content\n\t\t\tglobal $content;\n\t\t\tglobal $site;\n\t\t\tif (isset($content) && is_array($content) && count($content) >= $site->itemsPerPage()) {\n\t\t\t\t$nextUrl = preg_replace('/page\\/\\d+\\/?$/', '', $canonical);\n\t\t\t\tif ($pageNumber < 1) {\n\t\t\t\t\t$nextUrl .= 'page/2/';\n\t\t\t\t} else {\n\t\t\t\t\t$nextUrl = preg_replace('/page\\/\\d+\\/?$/', 'page/' . ($pageNumber + 1) . '/', $canonical);\n\t\t\t\t}\n\t\t\t\t$html .= '<link rel=\"next\" href=\"' . htmlspecialchars($nextUrl, ENT_QUOTES, 'UTF-8') . '\">' . PHP_EOL;\n\t\t\t}\n\t\t}\n\n\t\treturn $html;\n\t}\n}\n"
  },
  {
    "path": "bl-plugins/categories/languages/da.json",
    "content": "{\n\t\"hide-categories-without-content\": \"Skjul kategorier uden indhold\",\n\t\"plugin-data\": {\n\t\t\"description\": \"Viser alle kategorier på sidepanelet.\",\n\t\t\"name\": \"Categories\"\n\t}\n}\n"
  },
  {
    "path": "bl-plugins/categories/languages/de_CH.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Kategorien\",\n\t\t\"description\": \"Zeigt alle Kategorien in der Seitenleiste (bei Themes mit einer Seitenleiste).\"\n\t},\n\t\"hide-categories-without-content\": \"Kategorien ohne Inhalte ausblenden\"\n}\n"
  },
  {
    "path": "bl-plugins/categories/languages/de_DE.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Kategorien\",\n\t\t\"description\": \"Zeigt alle Kategorien in der Seitenleiste (bei Themes mit einer Seitenleiste).\"\n\t},\n\t\"hide-categories-without-content\": \"Kategorien ohne Inhalte ausblenden\"\n}\n"
  },
  {
    "path": "bl-plugins/categories/languages/en.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Categories\",\n\t\t\"description\": \"Shows all categories on the sidebar.\"\n\t},\n\t\"hide-categories-without-content\": \"Hide Categories without content\"\n}\n"
  },
  {
    "path": "bl-plugins/categories/languages/es.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Categorías\",\n\t\t\"description\": \"Muestra todas las categorías en la barra lateral.\"\n\t},\n\t\"hide-categories-without-content\": \"Ocultar categorías sin contenido\"\n}\n"
  },
  {
    "path": "bl-plugins/categories/languages/fa_IR.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"مجموعه ها\",\n\t\t\"description\": \"نمایش تمام مجموعه ها در نوارکناری.\"\n\t},\n\t\"hide-categories-without-content\": \"پنهان کردن مجموعه های خالی از محتوا\"\n}\n"
  },
  {
    "path": "bl-plugins/categories/languages/fr_FR.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Catégories\",\n\t\t\"description\": \"Affiche toutes les catégories sur la barre latérale.\"\n\t},\n\t\"hide-categories-without-content\": \"Masquer les catégories sans contenu.\"\n}\n"
  },
  {
    "path": "bl-plugins/categories/languages/it.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Categorie\",\n\t\t\"description\": \"Visualizza tutte le categorie nella barra laterale.\"\n\t},\n\t\"hide-categories-without-content\": \"Nascondi categorie senza contenuto\"\n}\n"
  },
  {
    "path": "bl-plugins/categories/languages/ja_JP.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Categories\",\n\t\t\"description\": \"サイドバーにすべてのカテゴリを表示します。\"\n\t},\n\t\"hide-categories-without-content\": \"コンテンツのないカテゴリを非表示にする\"\n}\n"
  },
  {
    "path": "bl-plugins/categories/languages/nl_NL.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Categorie&euml;n\",\n\t\t\"description\": \"Toont alle categorie&euml;n in de zijbalk.\"\n\t},\n\t\"hide-categories-without-content\": \"Categorie&euml;n zonder inhoud verbergen\"\n}\n"
  },
  {
    "path": "bl-plugins/categories/languages/ru.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Категории\",\n\t\t\"description\": \"Показывает все категории на боковой панели.\"\n\t},\n\t\"hide-categories-without-content\": \"Скрывать пустые категории\"\n}\n"
  },
  {
    "path": "bl-plugins/categories/languages/tr_TR.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Kategoriler\",\n\t\t\"description\": \"Tüm kategorileri kenar çubuğunda göster.\"\n\t},\n\t\"hide-categories-without-content\": \"İçeriksiz kategorileri gizle\"\n}\n"
  },
  {
    "path": "bl-plugins/categories/languages/uk_UA.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Категорії\",\n\t\t\"description\": \"Показує всі категорії на бічній панелі.\"\n\t},\n\t\"hide-categories-without-content\": \"Сховати категорії без вмісту\"\n}\n"
  },
  {
    "path": "bl-plugins/categories/metadata.json",
    "content": "{\n\t\"author\": \"Bludit\",\n\t\"email\": \"\",\n\t\"website\": \"https://plugins.bludit.com\",\n\t\"version\": \"3.21.0\",\n\t\"releaseDate\": \"2026-04-25\",\n\t\"license\": \"MIT\",\n\t\"compatible\": \"3.21\",\n\t\"notes\": \"\"\n}\n"
  },
  {
    "path": "bl-plugins/categories/plugin.php",
    "content": "<?php\n\nclass pluginCategories extends Plugin\n{\n\n\tpublic function init()\n\t{\n\t\t// Fields and default values for the database of this plugin\n\t\t$this->dbFields = array(\n\t\t\t'label' => 'Categories',\n\t\t\t'hideCero' => true\n\t\t);\n\t}\n\n\t// Method called on the settings of the plugin on the admin area\n\tpublic function form()\n\t{\n\t\tglobal $L;\n\n\t\t$html  = '<div class=\"alert alert-primary\" role=\"alert\">';\n\t\t$html .= $this->description();\n\t\t$html .= '</div>';\n\n\t\t$html .= '<div>';\n\t\t$html .= '<label>' . $L->get('Label') . '</label>';\n\t\t$html .= '<input name=\"label\" type=\"text\" dir=\"auto\" value=\"' . $this->getValue('label') . '\">';\n\t\t$html .= '<span class=\"tip\">' . $L->get('This title is almost always used in the sidebar of the site') . '</span>';\n\t\t$html .= '</div>';\n\n\t\t$html .= '<div>';\n\t\t$html .= '<label>' . $L->get('Hide Categories without content') . '</label>';\n\t\t$html .= '<select name=\"hideCero\">';\n\t\t$html .= '<option value=\"true\" ' . ($this->getValue('hideCero') === true ? 'selected' : '') . '>' . $L->get('Enabled') . '</option>';\n\t\t$html .= '<option value=\"false\" ' . ($this->getValue('hideCero') === false ? 'selected' : '') . '>' . $L->get('Disabled') . '</option>';\n\t\t$html .= '</select>';\n\t\t$html .= '</div>';\n\n\t\treturn $html;\n\t}\n\n\t// Method called on the sidebar of the website\n\tpublic function siteSidebar()\n\t{\n\t\tglobal $L;\n\t\tglobal $categories;\n\n\t\t// HTML for sidebar\n\t\t$html  = '<div class=\"plugin plugin-categories\">';\n\t\t$html .= '<h2 class=\"plugin-label\">' . $this->getValue('label') . '</h2>';\n\t\t$html .= '<div class=\"plugin-content\">';\n\t\t$html .= '<ul>';\n\n\t\t// By default, the database of categories is alphanumeric sorted\n\t\tforeach ($categories->db as $key => $fields) {\n\t\t\t$count = count($fields['list']);\n\t\t\tif (!$this->getValue('hideCero') || $count > 0) {\n\t\t\t\t$html .= '<li>';\n\t\t\t\t$html .= '<a href=\"' . DOMAIN_CATEGORIES . $key . '\">';\n\t\t\t\t$html .= $fields['name'];\n\t\t\t\t$html .= ' (' . count($fields['list']) . ')';\n\t\t\t\t$html .= '</a>';\n\t\t\t\t$html .= '</li>';\n\t\t\t}\n\t\t}\n\n\t\t$html .= '</ul>';\n\t\t$html .= '</div>';\n\t\t$html .= '</div>';\n\n\t\treturn $html;\n\t}\n}\n"
  },
  {
    "path": "bl-plugins/custom-fields-parser/languages/da.json",
    "content": "{\n\t\"plugin-data\": {\n\t\t\"description\": \"Definer kode for de brugerdefinerede felter, og fortolk indholdet af siderne.\",\n\t\t\"name\": \"Custom fields parser\"\n\t}\n}\n"
  },
  {
    "path": "bl-plugins/custom-fields-parser/languages/en.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Custom fields parser\",\n\t\t\"description\": \"Define code for the custom fields and parse the content of the pages.\"\n\t}\n}"
  },
  {
    "path": "bl-plugins/custom-fields-parser/languages/fa_IR.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"تحلیل‌گر کادر سفارشی\",\n\t\t\"description\": \"برای کادرهای سفارشی کد تعریف کرده و محتوای صفحات را تحلیل کنید.\"\t\t\n\t}\n}\n"
  },
  {
    "path": "bl-plugins/custom-fields-parser/languages/fr_FR.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Analyseur de champs personnalisés\",\n\t\t\"description\": \"Définissez le code des champs personnalisés et analysez le contenu des pages.\"\n\t}\n}"
  },
  {
    "path": "bl-plugins/custom-fields-parser/languages/ru.json",
    "content": "{\n    \"plugin-data\": {\n        \"name\": \"Парсер пользовательских полей\",\n        \"description\": \"Ищет код пользовательских полей и отпределяет содержимое страниц в соответствии с найденным кодом.\"\n    }\n}\n"
  },
  {
    "path": "bl-plugins/custom-fields-parser/metadata.json",
    "content": "{\n\t\"author\": \"Bludit\",\n\t\"email\": \"\",\n\t\"website\": \"https://plugins.bludit.com\",\n\t\"version\": \"3.21.0\",\n\t\"releaseDate\": \"2026-04-25\",\n\t\"license\": \"MIT\",\n\t\"compatible\": \"3.21\",\n\t\"notes\": \"\"\n}\n"
  },
  {
    "path": "bl-plugins/custom-fields-parser/plugin.php",
    "content": "<?php\n\nclass pluginCustomFieldsParser extends Plugin {\n\n\tpublic function init()\n\t{\n\t\t$this->dbFields = array(\n\t\t\t'label'=>'Custom fields parser',\n\t\t\t'jsondb'=>json_encode(array())\n\t\t);\n\t}\n\n\tpublic function form()\n\t{\n\t\tglobal $L;\n\t\tglobal $site;\n\n\t\t$html  = '<div class=\"alert alert-primary\" role=\"alert\">';\n\t\t$html .= $this->description();\n\t\t$html .= '</div>';\n\n\t\t$jsondb = $this->getValue('jsondb', false);\n\t\t$database = json_decode($jsondb, true);\n\n\t\t$customFields = $site->customFields();\n\n\t\tforeach ($customFields as $field=>$options) {\n\t\t\tif ($options['type']==\"string\") {\n\t\t\t\t$html .= '<div>';\n\t\t\t\t$html .= '<label>'.$options['label'].'</label>';\n\t\t\t\t$html .= '<textarea name=\"'.$field.'\">'.(isset($database[$field])?$database[$field]:'').'</textarea>';\n\t\t\t\t$html .= '</div>';\n\t\t\t}\n\t\t}\n\n\t\treturn $html;\n\t}\n\n\tpublic function post()\n\t{\n\t\t$this->db['jsondb'] = Sanitize::html(json_encode($_POST));\n\t\treturn $this->save();\n\t}\n\n\tpublic function parse($page)\n\t{\n\t\t$jsondb = $this->getValue('jsondb', false);\n\t\t$database = json_decode($jsondb, true);\n\t\t$parsedCode = array();\n\n\t\t// Ensure $database is a valid array before iterating\n\t\tif (is_array($database)) {\n\t\t\tforeach ($database as $field=>$code) {\n\t\t\t\t$value = $page->custom($field);\n\t\t\t\t$parsedCode['{{ '.$field.' }}'] = str_replace('{{ value }}', $value, $code);\n\t\t\t}\n\t\t}\n\n\t\t$content = $page->contentRaw();\n\t\tif (!empty($parsedCode)) {\n\t\t\t$content = str_replace(array_keys($parsedCode), array_values($parsedCode), $content);\n\t\t}\n\n\t\t// Parse Markdown\n\t\tif (MARKDOWN_PARSER) {\n\t\t\t$parsedown = new Parsedown();\n\t\t\t$content = $parsedown->text($content);\n\t\t}\n\n\t\t// Parse img src relative to absolute (with domain)\n\t\tif (IMAGE_RELATIVE_TO_ABSOLUTE) {\n\t\t\t$domain = IMAGE_RESTRICT ? DOMAIN_UPLOADS_PAGES . $page->uuid() . '/' : DOMAIN_UPLOADS;\n\t\t\t$content = Text::imgRel2Abs($content, $domain);\n\t\t}\n\n\t\treturn $content;\n\t}\n\n\tpublic function beforeSiteLoad()\n\t{\n\t\tif ($GLOBALS['WHERE_AM_I']=='page') {\n\t\t\t$GLOBALS['page']->setField('content', $this->parse($GLOBALS['page']));\n\t\t} else {\n\t\t\tforeach ($GLOBALS['content'] as $key=>$page)  {\n\t\t\t\t$GLOBALS['content'][$key]->setField('content', $this->parse($GLOBALS['content'][$key]));\n\t\t\t}\n\t\t\tif (!empty($GLOBALS['content'])) {\n\t\t\t\t$GLOBALS['page'] = $GLOBALS['content'][0];\n\t\t\t}\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "bl-plugins/disqus/languages/da.json",
    "content": "{\n\t\"disqus-shortname\": \"Disqus kortnavn\",\n\t\"enable-disqus-on-pages\": \"Disqus på sider\",\n\t\"enable-disqus-on-static-pages\": \"Disqus på statiske sider\",\n\t\"enable-disqus-on-sticky-pages\": \"Disqus på fastgjorde sider\",\n\t\"get-the-shortname-from-the-disqus-general-settings\": \"Hent det korte navn fra Disqus generelle indstillinger\",\n\t\"plugin-data\": {\n\t\t\"description\": \"Disqus er en kommentar hostingstjeneste til websteder.<br>Det er nødvendigt at være registreret på <a href=\\\"https://disqus.com\\\">Disqus</a> for at bruge denne service.\",\n\t\t\"name\": \"Disqus\"\n\t}\n}\n"
  },
  {
    "path": "bl-plugins/disqus/languages/de_CH.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Disqus\",\n\t\t\"description\": \"Disqus ist eine Kommentar-Plattform für Websites. Um das Plugin verwenden zu können, muss ein Konto bei <a href=\\\"https://disqus.com\\\">Disqus</a> eingerichtet werden.\"\n\t},\n\t\"disqus-shortname\": \"Disqus-Kurzname (Shortname)\",\n\t\"enable-disqus-on-pages\": \"Disqus auf Seiten\",\n\t\"enable-disqus-on-static-pages\": \"Disqus auf statischen Seiten\",\n\t\"enable-disqus-on-sticky-pages\": \"Disqus bei fixierten Inhalten\",\n\t\"get-the-shortname-from-the-disqus-general-settings\": \"Der Kurzname wird bei Disqus unter \\\"Settings\\\" > \\\"General\\\" angezeigt.\"\n}\n"
  },
  {
    "path": "bl-plugins/disqus/languages/de_DE.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Disqus\",\n\t\t\"description\": \"Disqus ist eine Kommentar-Plattform für Websites. Um das Plugin verwenden zu können, muss ein Konto bei <a href=\\\"https://disqus.com\\\">Disqus</a> eingerichtet werden.\"\n\t},\n\t\"disqus-shortname\": \"Disqus-Kurzname (Shortname)\",\n\t\"enable-disqus-on-pages\": \"Disqus auf Seiten\",\n\t\"enable-disqus-on-static-pages\": \"Disqus auf statischen Seiten\",\n\t\"enable-disqus-on-sticky-pages\": \"Disqus bei fixierten Inhalten\",\n\t\"get-the-shortname-from-the-disqus-general-settings\": \"Der Kurzname wird bei Disqus unter \\\"Settings\\\" > \\\"General\\\" angezeigt.\"\n}\n"
  },
  {
    "path": "bl-plugins/disqus/languages/en.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Disqus\",\n\t\t\"description\": \"Disqus is a comment hosting service for web sites.<br>It's necessary to be registered on <a href=\\\"https://disqus.com\\\">Disqus</a> to use this service.\"\n\t},\n\t\"disqus-shortname\": \"Disqus shortname\",\n\t\"enable-disqus-on-pages\": \"Disqus on pages\",\n\t\"enable-disqus-on-static-pages\": \"Disqus on static pages\",\n\t\"enable-disqus-on-sticky-pages\": \"Disqus on sticky pages\",\n\t\"get-the-shortname-from-the-disqus-general-settings\": \"Get the shortname from the Disqus general settings\"\n}"
  },
  {
    "path": "bl-plugins/disqus/languages/es.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Disqus\",\n\t\t\"description\": \"Disqus es un servicio de comentarios online.<br>Es necesario registrarse en <a href=\\\"https://disqus.com\\\">Disqus</a> antes de utilizar este plugin.\"\n\t},\n\t\"disqus-shortname\": \"Disqus shortname\",\n\t\"enable-disqus-on-pages\": \"Disqus en página\",\n\t\"enable-disqus-on-static-pages\": \"Disqus en página estaticas\",\n\t\"enable-disqus-on-sticky-pages\": \"Disqus en página sticky\",\n\t\"get-the-shortname-from-the-disqus-general-settings\": \"Puede obtener el shortname en la página de configuración de Disqus.\"\n}"
  },
  {
    "path": "bl-plugins/disqus/languages/fa_IR.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"دیسکاس\",\n\t\t\"description\": \"دیسکاس یک سرویس اینترنتی ارسال دیدگاه برای وبسایت ها می‌باشد.<br>برای استفاده از این سرویس لازم است که در <a href=\\\"https://disqus.com\\\">Disqus</a> ثبت نام کنید.\"\n\t},\n\t\"disqus-shortname\": \"نام کوتاه دیسکاس\",\n\t\"enable-disqus-on-pages\": \"دیسکاس در صفحات\",\n\t\"enable-disqus-on-static-pages\": \"دیسکاس در صفحات استاتیک\",\n\t\"enable-disqus-on-sticky-pages\": \"دیسکاس در صفحات چسبنده\",\n\t\"get-the-shortname-from-the-disqus-general-settings\": \"دریافت نام کوتاه از تنظیمات عمومی دیسکاس\"\n}\n"
  },
  {
    "path": "bl-plugins/disqus/languages/fr_FR.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Disqus système de commentaire\",\n\t\t\"description\": \"Disqus est un service Web de discussion et de commentaires d'articles centralisé avec authentification unique. Il est nécessaire de s’inscrire sur Disqus.com avant d’utiliser ce plugin.\"\n\t},\n\t\"disqus-shortname\": \"Votre ID Disqus\",\n\t\"enable-disqus-on-pages\": \"Disqus sur les pages\",\n\t\"enable-disqus-on-static-pages\": \"Disqus sur les pages statiques\",\n\t\"enable-disqus-on-sticky-pages\": \"Disqus sur les pages épinglées\",\n\t\"get-the-shortname-from-the-disqus-general-settings\": \"Obtenez votre ID à partir des paramètres généraux de Disqus.\"\n}"
  },
  {
    "path": "bl-plugins/disqus/languages/it.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Disqus\",\n\t\t\"description\": \"Disqus è un servizio di hosting per i commenti sui siti web.<br>E' neccesario essere resitrati su <a href=\\\"https://disqus.com\\\">Disqus</a> per utilizzare questo servizio.\"\n\t},\n\t\"disqus-shortname\": \"Nome Breve Disqus \",\n\t\"enable-disqus-on-pages\": \"Disqus sulle pagine\",\n\t\"enable-disqus-on-static-pages\": \"Disqus sulle pagine statiche\",\n\t\"enable-disqus-on-sticky-pages\": \"Disqus sulle pagine sticky\",\n\t\"get-the-shortname-from-the-disqus-general-settings\": \"Acquisisci il nome utente da utilizzare dalle impostazioni generali di Disqus\"\n}\n"
  },
  {
    "path": "bl-plugins/disqus/languages/ja_JP.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Disqus\",\n\t\t\"description\": \"DisqusはWebサイト向けのコメントホスティングサービスです。このサービスを利用するには、<a href=\\\"https:\\/\\/disqus.com\\\">Disqus<\\/a>に登録する必要があります。\"\n\t},\n\t\"disqus-shortname\": \"Disqusショートネーム\",\n\t\"enable-disqus-on-pages\": \"ページにDisqusを使用\",\n\t\"enable-disqus-on-static-pages\": \"固定ページにDisqusを使用\",\n\t\"enable-disqus-on-sticky-pages\": \"先頭固定ページにDisqusを使用\",\n\t\"get-the-shortname-from-the-disqus-general-settings\": \"Disqus一般設定からショートネームを取得します\"\n}"
  },
  {
    "path": "bl-plugins/disqus/languages/nl_NL.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Disqus\",\n\t\t\"description\": \"Disqus is hosting service om reacties in websites te implementeren.<br>Registratie op Disqus.com is nodig voordat deze plugin gebruikt kan gebruiken.\"\n\t},\n\t\"disqus-shortname\": \"Disqus shortname\",\n\t\"enable-disqus-on-pages\": \"Disqus op pagina's tonen\",\n\t\"enable-disqus-on-static-pages\": \"Disqus on statische pagina's tonen\",\n\t\"enable-disqus-on-sticky-pages\": \"Disqus on vastgezette pagina's tonen\",\n\t\"get-the-shortname-from-the-disqus-general-settings\": \"De shortname is te verkrijgen via de algemene instellingen van Disqus\"\n}"
  },
  {
    "path": "bl-plugins/disqus/languages/pl_PL.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"System komentarzy - Disqus\",\n\t\t\"description\": \"System komentarzy Disqus przechowuje komentarze dla serwisów internetowych. Korzystanie z tej wtyczki wymaga rejestracji w serwisie disqus.com.\"\n\t},\n\t\"disqus-shortname\": \"Nazwa użytkownika Disqus\",\n\t\"enable-disqus-on-pages\": \"Disqus on pages\",\n\t\"enable-disqus-on-static-pages\": \"Disqus on static pages\",\n\t\"enable-disqus-on-sticky-pages\": \"Disqus on sticky pages\",\n\t\"get-the-shortname-from-the-disqus-general-settings\": \"Get the shortname from the Disqus general settings\"\n}"
  },
  {
    "path": "bl-plugins/disqus/languages/ru_RU.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Комментарии Disqus\",\n\t\t\"description\": \"Disqus это сервис комментариев для сайтов и блогов. Необходимо зарегистрироваться на Disqus.com перед тем как использовать плагина.\"\n\t},\n\t\"disqus-shortname\": \"Краткое имя Disqus\",\n\t\"enable-disqus-on-pages\": \"Disqus для страниц\",\n\t\"enable-disqus-on-static-pages\": \"Disqus для статических страниц\",\n\t\"enable-disqus-on-sticky-pages\": \"Disqus для прикреплённых страниц\",\n\t\"get-the-shortname-from-the-disqus-general-settings\": \"Получить краткое имя со страницы общих настроек Disqus\"\n}\n"
  },
  {
    "path": "bl-plugins/disqus/languages/tr_TR.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Disqus Yorum Sistemi\",\n\t\t\"description\": \"Disqus siteler için yorum barındırması yapan bir firmadır. Eklentiyi kullanmadan önce Disqus.com adresine kayıt olmanız gerekmektedir.\"\n\t},\n\t\"disqus-shortname\": \"Disqus shortname\",\n\t\"enable-disqus-on-pages\": \"Disqus on pages\",\n\t\"enable-disqus-on-static-pages\": \"Disqus on static pages\",\n\t\"enable-disqus-on-sticky-pages\": \"Disqus on sticky pages\",\n\t\"get-the-shortname-from-the-disqus-general-settings\": \"Get the shortname from the Disqus general settings\"\n}"
  },
  {
    "path": "bl-plugins/disqus/languages/uk_UA.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Система коментарів Disqus\",\n\t\t\"description\": \"Disqus надає послуги хостингу коментарів для веб-сайтів. Необхідно зареєструватися на Disqus.com перед використанням цього плагіна.\"\n\t},\n\t\"disqus-shortname\": \"Коротке ім'я в Disqus\",\n\t\"enable-disqus-on-pages\": \"Disqus on pages\",\n\t\"enable-disqus-on-static-pages\": \"Disqus on static pages\",\n\t\"enable-disqus-on-sticky-pages\": \"Disqus on sticky pages\",\n\t\"get-the-shortname-from-the-disqus-general-settings\": \"Get the shortname from the Disqus general settings\"\n}"
  },
  {
    "path": "bl-plugins/disqus/metadata.json",
    "content": "{\n\t\"author\": \"Bludit\",\n\t\"email\": \"\",\n\t\"website\": \"https://plugins.bludit.com\",\n\t\"version\": \"3.21.0\",\n\t\"releaseDate\": \"2026-04-25\",\n\t\"license\": \"MIT\",\n\t\"compatible\": \"3.21\",\n\t\"notes\": \"\"\n}\n"
  },
  {
    "path": "bl-plugins/disqus/plugin.php",
    "content": "<?php\n\nclass pluginDisqus extends Plugin\n{\n\n\tpublic function init()\n\t{\n\t\t$this->dbFields = array(\n\t\t\t'shortname' => '',\n\t\t\t'enablePages' => true,\n\t\t\t'enableStatic' => true,\n\t\t\t'enableSticky' => true\n\t\t);\n\t}\n\n\tpublic function form()\n\t{\n\t\tglobal $L;\n\n\t\t$html  = '<div class=\"alert alert-primary\" role=\"alert\">';\n\t\t$html .= $this->description();\n\t\t$html .= '</div>';\n\n\t\t$html .= '<div>';\n\t\t$html .= '<label>' . $L->get('disqus-shortname') . '</label>';\n\t\t$html .= '<input name=\"shortname\" id=\"jsshortname\" type=\"text\" dir=\"auto\" value=\"' . $this->getValue('shortname') . '\">';\n\t\t$html .= '<span class=\"tip\">' . $L->get('Get the shortname from the Disqus general settings') . '</span>';\n\t\t$html .= '</div>';\n\n\t\t$html .= '<div>';\n\t\t$html .= '<label>' . $L->get('enable-disqus-on-pages') . '</label>';\n\t\t$html .= '<select name=\"enablePages\">';\n\t\t$html .= '<option value=\"true\" ' . ($this->getValue('enablePages') === true ? 'selected' : '') . '>' . $L->get('enabled') . '</option>';\n\t\t$html .= '<option value=\"false\" ' . ($this->getValue('enablePages') === false ? 'selected' : '') . '>' . $L->get('disabled') . '</option>';\n\t\t$html .= '</select>';\n\t\t$html .= '</div>';\n\n\t\t$html .= '<div>';\n\t\t$html .= '<label>' . $L->get('enable-disqus-on-static-pages') . '</label>';\n\t\t$html .= '<select name=\"enableStatic\">';\n\t\t$html .= '<option value=\"true\" ' . ($this->getValue('enableStatic') === true ? 'selected' : '') . '>' . $L->get('enabled') . '</option>';\n\t\t$html .= '<option value=\"false\" ' . ($this->getValue('enableStatic') === false ? 'selected' : '') . '>' . $L->get('disabled') . '</option>';\n\t\t$html .= '</select>';\n\t\t$html .= '</div>';\n\n\t\t$html .= '<div>';\n\t\t$html .= '<label>' . $L->get('enable-disqus-on-sticky-pages') . '</label>';\n\t\t$html .= '<select name=\"enableSticky\">';\n\t\t$html .= '<option value=\"true\" ' . ($this->getValue('enableSticky') === true ? 'selected' : '') . '>' . $L->get('enabled') . '</option>';\n\t\t$html .= '<option value=\"false\" ' . ($this->getValue('enableSticky') === false ? 'selected' : '') . '>' . $L->get('disabled') . '</option>';\n\t\t$html .= '</select>';\n\t\t$html .= '</div>';\n\n\t\treturn $html;\n\t}\n\n\tpublic function pageEnd()\n\t{\n\t\tglobal $url;\n\t\tglobal $WHERE_AM_I;\n\n\t\t// Do not show disqus on page not found\n\t\tif ($url->notFound()) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif ($WHERE_AM_I === 'page') {\n\t\t\tglobal $page;\n\t\t\tif ($page->published() && $this->getValue('enablePages')) {\n\t\t\t\treturn $this->javascript();\n\t\t\t}\n\t\t\tif ($page->isStatic() && $this->getValue('enableStatic')) {\n\t\t\t\treturn $this->javascript();\n\t\t\t}\n\t\t\tif ($page->sticky() && $this->getValue('enableSticky')) {\n\t\t\t\treturn $this->javascript();\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tprivate function javascript()\n\t{\n\t\tglobal $page;\n\t\t$pageURL = $page->permalink();\n\t\t$pageID = $page->uuid();\n\t\t$shortname = $this->getValue('shortname');\n\n\t\t$code = <<<EOF\n<!-- Disqus plugin -->\n<div id=\"disqus_thread\"></div>\n<script>\n\n\tvar disqus_config = function () {\n\t\tthis.page.url = '$pageURL';\n\t\tthis.page.identifier = '$pageID';\n\t};\n\n\t(function() { // DON'T EDIT BELOW THIS LINE\n\t\tvar d = document, s = d.createElement('script');\n\t\ts.src = 'https://$shortname.disqus.com/embed.js';\n\t\ts.setAttribute('data-timestamp', +new Date());\n\t\t(d.head || d.body).appendChild(s);\n\t})();\n</script>\n<noscript>Please enable JavaScript to view the <a href=\"https://disqus.com/?ref_noscript\">comments powered by Disqus.</a></noscript>\n<!-- /Disqus plugin -->\nEOF;\n\t\treturn $code;\n\t}\n}\n"
  },
  {
    "path": "bl-plugins/easymde/css/bludit.css",
    "content": ".editor-toolbar { background: #f1f1f1; border-radius: 0 !important; font-size: 1.5em;}\n.editor-toolbar::before { margin-bottom: 2px !important }\n.editor-toolbar::after { margin-top: 2px !important }\n.CodeMirror, .CodeMirror-scroll { flex:1; border-radius: 0 !important; }\n.editor-toolbar .fa { color: #555;}"
  },
  {
    "path": "bl-plugins/easymde/languages/da.json",
    "content": "{\n\t\"autosave\": \"Gem automatisk\",\n\t\"content-here-supports-markdown-and-html-code\": \"Indholdet her understøtter  både Markdown og HTML kode\",\n\t\"plugin-data\": {\n\t\t\"description\": \"Markdown editor, med let brugergrænseflade, til oprettelse af indhold i markdown format.\",\n\t\t\"name\": \"EasyMDE\"\n\t},\n\t\"spell-checker\": \"Stavekontrol\",\n\t\"tab-size\": \"Fanestørrelse\",\n\t\"toolbar\": \"Værktøjslinje\"\n}\n"
  },
  {
    "path": "bl-plugins/easymde/languages/de_CH.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"EasyMDE\",\n\t\t\"description\": \"Einfacher Editor auf der Grundlage der Auszeichnungssprache Markdown.\"\n\t},\n\t\"toolbar\": \"Werkzeugleiste\",\n\t\"tab-size\": \"Abstände der Tabstopps\",\n\t\"autosave\": \"Automatische Speicherung\",\n\t\"spell-checker\": \"Rechtschreibprüfung\",\n\t\"content-here-supports-markdown-and-html-code\": \"Hier kann der Inhalt eingefügt werden. Der Editor unterstützt Markdown und HTML-Code.\"\n}\n"
  },
  {
    "path": "bl-plugins/easymde/languages/de_DE.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"EasyMDE\",\n\t\t\"description\": \"Einfacher Editor auf der Grundlage der Auszeichnungssprache Markdown.\"\n\t},\n\t\"toolbar\": \"Werkzeugleiste\",\n\t\"tab-size\": \"Abstände der Tabstopps\",\n\t\"autosave\": \"Automatische Speicherung\",\n\t\"spell-checker\": \"Rechtschreibprüfung\",\n\t\"content-here-supports-markdown-and-html-code\": \"Hier kann der Inhalt eingefügt werden. Der Editor unterstützt Markdown und HTML-Code.\"\n}\n"
  },
  {
    "path": "bl-plugins/easymde/languages/en.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"EasyMDE\",\n\t\t\"description\": \"Markdown editor, cleaned interface to create markup language.\"\n\t},\n\t\"toolbar\": \"Toolbar\",\n\t\"tab-size\": \"Tab size\",\n\t\"autosave\": \"Autosave\",\n\t\"spell-checker\": \"Spell Checker\",\n\t\"content-here-supports-markdown-and-html-code\": \"Content here supports Markdown and HTML code\"\n}"
  },
  {
    "path": "bl-plugins/easymde/languages/es.json",
    "content": "{\n    \"plugin-data\": {\n        \"name\": \"EasyMDE\",\n        \"description\": \"Editor Markdown, interfaz limpia para crear lenguaje de marcado.\"\n    },\n    \"toolbar\": \"Barra de herramientas\",\n    \"tab-size\": \"Tamaño de la tabulación\",\n    \"autosave\": \"Autoguardado\",\n    \"content-here-supports-markdown-and-html-code\": \"Content here supports Markdown and HTML code\",\n    \"spell-checker\": \"Corrector ortográfico\"\n}\n"
  },
  {
    "path": "bl-plugins/easymde/languages/fa_IR.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"EasyMDE\",\n\t\t\"description\": \"ویرایشگر Markdown، رابط ساده برای ایجاد زبان markup.\"\n\t},\n\t\"toolbar\": \"نوار ابزار\",\n\t\"tab-size\": \"اندازه زبانه\",\n\t\"autosave\": \"ذخیره خودکار\",\n\t\"spell-checker\": \"غلط گیر\",\n\t\"content-here-supports-markdown-and-html-code\": \"محتوای اینجا از Markdown و کد HTML پشتیبانی می کند\"\n}\n"
  },
  {
    "path": "bl-plugins/easymde/languages/fr_FR.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"EasyMDE\",\n\t\t\"description\": \"Éditeur Markdown avec une interface d’écriture épurée, pour créer le langage de balisage sémantique.\"\n\t},\n\t\"toolbar\": \"Barre d’outils\",\n\t\"tab-size\": \"Taille de l’onglet\",\n\t\"autosave\": \"Sauvegarde automatique\",\n\t\"spell-checker\": \"Correcteur orthographique\",\n\t\"content-here-supports-markdown-and-html-code\": \"Le contenu prend en charge le language Markdown et le code HTML.\"\n}\n"
  },
  {
    "path": "bl-plugins/easymde/languages/it_IT.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"EasyMDE\",\n\t\t\"description\": \"Editor Markdown, interfaccia pulita per creare linguaggio markup.\"\n\t},\n\t\"toolbar\": \"Barra degli strumenti\",\n\t\"tab-size\": \"Dimensione Tab\",\n\t\"autosave\": \"Salvataggio Automatico\",\n\t\"spell-checker\": \"Correttore\",\n\t\"content-here-supports-markdown-and-html-code\": \"Il contenuto qui supporta il codice Markdown e HTML\"\n}\n"
  },
  {
    "path": "bl-plugins/easymde/languages/ja_JP.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"EasyMDE\",\n\t\t\"description\": \"Markdownエディター。マークアップ言語がスッキリとしたインターフェースで書けます。\"\n\t},\n\t\"toolbar\": \"ツールバー\",\n\t\"tab-size\": \"タブ幅\",\n\t\"autosave\": \"自動保存\",\n\t\"spell-checker\": \"スペルチェッカー\",\n\t\"content-here-supports-markdown-and-html-code\": \"このコンテンツはMarkdownとHTMLコードをサポートしています\"\n}"
  },
  {
    "path": "bl-plugins/easymde/languages/nl_NL.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"EasyMDE\",\n\t\t\"description\": \"Markdown-editor om inhoud te verwerken in de Markdown opmaaktaal.\"\n\t},\n\t\"toolbar\": \"Werkbalk\",\n\t\"tab-size\": \"Tabgrootte\",\n\t\"autosave\": \"Automatisch opslaan\",\n\t\"spell-checker\": \"Spellingscontrole (Engels)\",\n\t\"content-here-supports-markdown-and-html-code\": \"De inhoud hier ondersteunt zowel Markdown als HTML-code.\"\n}\n"
  },
  {
    "path": "bl-plugins/easymde/languages/ru_RU.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"EasyMDE\",\n\t\t\"description\": \"Редактор с простым интерфейсом для создания markup разметки.\"\n\t},\n\t\"toolbar\": \"Панель инструментов\",\n\t\"tab-size\": \"Размер панели\",\n\t\"autosave\": \"Автосохранения\",\n\t\"spell-checker\": \"Проверка орфографии\",\n\t\"content-here-supports-markdown-and-html-code\": \"Содержимое поддерживает Markdown и HTML-коды\"\n}\n"
  },
  {
    "path": "bl-plugins/easymde/languages/tr.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"EasyMDE\",\n\t\t\"description\": \"Markdown editörü, işaretleme dili oluşturmak için temizlenmiş bir arayüz.\"\n\t},\n\t\"toolbar\": \"Araç çubuğu\",\n\t\"tab-size\": \"Sekme boyutu\",\n\t\"autosave\": \"Otomatik kaydet\",\n\t\"spell-checker\": \"Yazım denetleyicisi\",\n\t\"content-here-supports-markdown-and-html-code\": \"İçerik burada Markdown ve HTML kodunu destekliyor\"\n}\n"
  },
  {
    "path": "bl-plugins/easymde/metadata.json",
    "content": "{\n\t\"author\": \"EasyMDE\",\n\t\"email\": \"\",\n\t\"website\": \"https://easymde.tk\",\n\t\"version\": \"2.18.0\",\n\t\"releaseDate\": \"2022-09-20\",\n\t\"license\": \"MIT\",\n\t\"compatible\": \"3.21\",\n\t\"notes\": \"\"\n}\n"
  },
  {
    "path": "bl-plugins/easymde/plugin.php",
    "content": "<?php\n\nclass plugineasyMDE extends Plugin\n{\n\n\t// The plugin is going to be loaded in this views\n\tprivate $loadOnViews = array(\n\t\t'new-content',\n\t\t'edit-content'\n\t);\n\n\tpublic function init()\n\t{\n\t\t$this->dbFields = array(\n\t\t\t'tabSize' => '2',\n\t\t\t'toolbar' => '\"bold\", \"italic\", \"heading\", \"|\", \"quote\", \"unordered-list\", \"|\", \"link\", \"image\", \"code\", \"horizontal-rule\", \"|\", \"preview\", \"side-by-side\", \"fullscreen\"',\n\t\t\t'spellChecker' => true\n\t\t);\n\t}\n\n\tpublic function form()\n\t{\n\t\tglobal $L;\n\n\t\t$html  = '<div>';\n\t\t$html .= '<label>' . $L->get('toolbar') . '</label>';\n\t\t$html .= '<input name=\"toolbar\" id=\"jstoolbar\" type=\"text\" dir=\"auto\" value=\"' . $this->getValue('toolbar') . '\">';\n\t\t$html .= '</div>';\n\n\t\t$html .= '<div>';\n\t\t$html .= '<label>' . $L->get('tab-size') . '</label>';\n\t\t$html .= '<input name=\"tabSize\" id=\"jstabSize\" type=\"text\" dir=\"auto\" value=\"' . $this->getValue('tabSize') . '\">';\n\t\t$html .= '</div>';\n\n\t\t$html .= '<div>';\n\t\t$html .= '<label>' . $L->get('spell-checker') . '</label>';\n\t\t$html .= '<select name=\"spellChecker\">';\n\t\t$html .= '<option value=\"true\" ' . ($this->getValue('spellChecker') === true ? 'selected' : '') . '>' . $L->get('enabled') . '</option>';\n\t\t$html .= '<option value=\"false\" ' . ($this->getValue('spellChecker') === false ? 'selected' : '') . '>' . $L->get('disabled') . '</option>';\n\t\t$html .= '</select>';\n\t\t$html .= '</div>';\n\n\t\treturn $html;\n\t}\n\n\tpublic function adminHead()\n\t{\n\t\tif (!in_array($GLOBALS['ADMIN_VIEW'], $this->loadOnViews)) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Include plugin's CSS files\n\t\t$html  = $this->includeCSS('easymde.min.css');\n\t\t$html .= $this->includeCSS('bludit.css');\n\t\treturn $html;\n\t}\n\n\tpublic function adminBodyEnd()\n\t{\n\t\tif (!in_array($GLOBALS['ADMIN_VIEW'], $this->loadOnViews)) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Language\n\t\tglobal $L;\n\t\t$langImage = $L->g('Image description');\n\n\t\t$spellCheckerEnable = $this->getValue('spellChecker') ? 'true' : 'false';\n\t\t$tabSize = $this->getValue('tabSize');\n\t\t$toolbar = Sanitize::htmlDecode($this->getValue('toolbar'));\n\t\t$pageBreak = PAGE_BREAK;\n\n\t\t// Javascript path and file\n\t\t$jsEasyMDE = $this->domainPath() . 'js/easymde.min.js?version=' . BLUDIT_VERSION;\n\n\t\treturn <<<EOF\n<script charset=\"utf-8\" src=\"$jsEasyMDE\"></script>\n<script>\n\tvar easymde = null;\n\n\t// Insert an image in the editor at the cursor position\n\t// Function required for Bludit\n\tfunction editorInsertMedia(filename) {\n\t\tvar text = easymde.value();\n\t\teasymde.value(text + \"![$langImage](\"+filename+\")\" + \"\\\\n\");\n\t\teasymde.codemirror.refresh();\n\t}\n\n\t// Returns the content of the editor\n\t// Function required for Bludit\n\tfunction editorGetContent() {\n\t\treturn easymde.value();\n\t}\n\n\teasymde = new EasyMDE({\n\t\telement: document.getElementById(\"jseditor\"),\n\t\tstatus: false,\n\t\ttoolbarTips: true,\n\t\ttoolbarGuideIcon: true,\n\t\tautofocus: false,\n\t\tplaceholder: \"\",\n\t\tlineWrapping: true,\n\t\tautoDownloadFontAwesome: false,\n\t\tindentWithTabs: true,\n\t\ttabSize: $tabSize,\n\t\tspellChecker: $spellCheckerEnable,\n\t\ttoolbar: [$toolbar,\n\t\t\t\"|\",\n\t\t\t{\n\t\t\tname: \"pageBreak\",\n\t\t\taction: function addPageBreak(editor){\n\t\t\t\tvar cm = editor.codemirror;\n\t\t\t\toutput = \"$pageBreak\";\n\t\t\t\tcm.replaceSelection(output);\n\t\t\t\t},\n\t\t\tclassName: \"fa fa-crop\",\n\t\t\ttitle: \"Page break\",\n\t\t\t}]\n\t});\n\n</script>\nEOF;\n\t}\n}\n"
  },
  {
    "path": "bl-plugins/hit-counter/languages/da.json",
    "content": "{\n    \"plugin-data\": {\n        \"description\": \"Vis antallet af besøgende, eller antallet af unikke besøgende, i sidepanelet på dit websted.\",\n        \"name\": \"Hit Counter\"\n    },\n    \"show-unique-visitors\": \"Vis unikke besøgende\"\n}\n"
  },
  {
    "path": "bl-plugins/hit-counter/languages/de_CH.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Hit Counter\",\n\t\t\"description\": \"Anzeige der Anzahl der Seitenaufrufe oder der Besuche der Website in der Seitenleiste.\"\n\t},\n\t\"show-unique-visitors\": \"Anzahl der Besuche\"\n}\n"
  },
  {
    "path": "bl-plugins/hit-counter/languages/de_DE.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Hit Counter\",\n\t\t\"description\": \"Anzeige der Anzahl der Seitenaufrufe oder der Besuche der Website in der Seitenleiste.\"\n\t},\n\t\"show-unique-visitors\": \"Anzahl der Besuche\"\n}\n"
  },
  {
    "path": "bl-plugins/hit-counter/languages/en.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Hit Counter\",\n\t\t\"description\": \"Show the number of visits or unique visitors in the sidebar of your site.\"\n\t},\n\t\"show-unique-visitors\": \"Show unique visitors\"\n}"
  },
  {
    "path": "bl-plugins/hit-counter/languages/es.json",
    "content": "{\n    \"plugin-data\": {\n        \"name\": \"Contador de visitas\",\n        \"description\": \"Muestra el número de visitas o visitantes únicos en la barra lateral de su sitio.\"\n    },\n    \"show-unique-visitors\": \"Mostrar visitantes únicos\"\n}\n"
  },
  {
    "path": "bl-plugins/hit-counter/languages/fa_IR.json",
    "content": "{\n    \"plugin-data\": {\n        \"name\": \"شمارشگر بازدیدها\",\n        \"description\": \"تعداد بازدیدکنندگان یا بازدیدکنندگان منحصر به فرد در نوار کناری سایت خود را نمایش دهید.\"\n    },\n    \"show-unique-visitors\": \"نمایش بازدیدکنندگان منحصر به فرد\"\n}\n"
  },
  {
    "path": "bl-plugins/hit-counter/languages/fr_FR.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Compteur de visites\",\n\t\t\"description\": \"Affichez le nombre de visites ou de visiteurs uniques dans la barre latérale de votre site.\"\n\t},\n\t\"show-unique-visitors\": \"Afficher les visiteurs uniques\"\n}"
  },
  {
    "path": "bl-plugins/hit-counter/languages/it.json",
    "content": "{\n    \"plugin-data\": {\n        \"name\": \"Contatore visite\",\n        \"description\": \"Mostra il numero di visite o di visitatori unici nella barra laterale del tuo sito.\"\n    },\n    \"show-unique-visitors\": \"Mostra visitatori unici\"\n}\n"
  },
  {
    "path": "bl-plugins/hit-counter/languages/ja_JP.json",
    "content": "{\n    \"plugin-data\": {\n        \"name\": \"Hit Counter\",\n        \"description\": \"サイドバーに訪問回数やユニークビジター数を表示します。\"\n    },\n    \"show-unique-visitors\": \"ユニークビジターを表示する\"\n}\n"
  },
  {
    "path": "bl-plugins/hit-counter/languages/nl_NL.json",
    "content": "{\n    \"plugin-data\": {\n        \"name\": \"Hit Counter\",\n        \"description\": \"Toont het aantal bezoeken of unieke bezoekers in de zijbalk.\"\n    },\n    \"show-unique-visitors\": \"Unieke bezoekers weergeven\"\n}\n"
  },
  {
    "path": "bl-plugins/hit-counter/languages/ru_RU.json",
    "content": "{\n    \"plugin-data\": {\n        \"name\": \"Счётчик посещений\",\n        \"description\": \"Показывает количество посещений или уникальных посетителей на боковой панели вашего сайта.\"\n    },\n    \"show-unique-visitors\": \"Показать уникальных посетителей\"\n}\n"
  },
  {
    "path": "bl-plugins/hit-counter/metadata.json",
    "content": "{\n\t\"author\": \"Bludit\",\n\t\"email\": \"\",\n\t\"website\": \"https://plugins.bludit.com\",\n\t\"version\": \"3.21.0\",\n\t\"releaseDate\": \"2026-04-25\",\n\t\"license\": \"MIT\",\n\t\"compatible\": \"3.21\",\n\t\"notes\": \"\"\n}\n"
  },
  {
    "path": "bl-plugins/hit-counter/plugin.php",
    "content": "<?php\n\nclass pluginHitCounter extends Plugin\n{\n\n\tpublic function init()\n\t{\n\t\t$this->dbFields = array(\n\t\t\t'label' => 'Hit Counter',\n\t\t\t'showUniqueVisitors' => false\n\t\t);\n\t}\n\n\tpublic function form()\n\t{\n\t\tglobal $L;\n\n\t\t// Check if the plugin Visits Stats is activated\n\t\tif (!pluginActivated('pluginVisitsStats')) {\n\t\t\t$html  = '<div class=\"alert alert-warning\" role=\"alert\">';\n\t\t\t$html .= $L->get('This plugin depends on the following plugins.');\n\t\t\t$html .= '<ul class=\"m-0\"><li>Visits Stats</li></ul>';\n\t\t\t$html .= '</div>';\n\n\t\t\t$this->formButtons = false;\n\t\t\treturn $html;\n\t\t}\n\n\t\t$html  = '<div class=\"alert alert-primary\" role=\"alert\">';\n\t\t$html .= $this->description();\n\t\t$html .= '</div>';\n\n\t\t$html .= '<div>';\n\t\t$html .= '<label>' . $L->get('Label') . '</label>';\n\t\t$html .= '<input name=\"label\" type=\"text\" dir=\"auto\" value=\"' . $this->getValue('label') . '\">';\n\t\t$html .= '<span class=\"tip\">' . $L->get('This title is almost always used in the sidebar of the site') . '</span>';\n\t\t$html .= '</div>';\n\n\t\t$html .= '<div>';\n\t\t$html .= '<label>' . $L->get('Show unique visitors') . '</label>';\n\t\t$html .= '<select name=\"showUniqueVisitors\">';\n\t\t$html .= '<option value=\"true\" ' . ($this->getValue('showUniqueVisitors') === true ? 'selected' : '') . '>' . $L->get('Enabled') . '</option>';\n\t\t$html .= '<option value=\"false\" ' . ($this->getValue('showUniqueVisitors') === false ? 'selected' : '') . '>' . $L->get('Disabled') . '</option>';\n\t\t$html .= '</select>';\n\t\t$html .= '</div>';\n\n\t\treturn $html;\n\t}\n\n\tpublic function siteSidebar()\n\t{\n\t\t$counter = 0;\n\n\t\tif (pluginActivated('pluginVisitsStats')) {\n\t\t\tglobal $plugins;\n\t\t\t$visitsStats = $plugins['all']['pluginVisitsStats'];\n\t\t\t$currentDate = Date::current('Y-m-d');\n\n\t\t\tif ($this->getValue('showUniqueVisitors')) {\n\t\t\t\t$counter = $visitsStats->uniqueVisitors($currentDate);\n\t\t\t} else {\n\t\t\t\t$counter = $visitsStats->visits($currentDate);\n\t\t\t}\n\t\t}\n\n\t\t$html  = '<div class=\"plugin plugin-hit-counter\">';\n\t\t$html .= '<h2 class=\"plugin-label\">' . $this->getValue('label') . '</h2>';\n\t\t$html .= '<div class=\"plugin-content\">';\n\t\t$html .= '<div class=\"counter\">' . $counter . '</div>';\n\t\t$html .= '</div>';\n\t\t$html .= '</div>';\n\n\t\treturn $html;\n\t}\n}\n"
  },
  {
    "path": "bl-plugins/html-code/languages/da.json",
    "content": "{\n\t\"insert-code-in-the-admin-area-at-the-bottom\": \"Indsæt kode i admin området nederst.\",\n\t\"insert-code-in-the-admin-area-at-the-top\": \"Indsæt kode i admin området øverst.\",\n\t\"insert-code-in-the-admin-area-inside-the-tag-head\": \"Indsæt kode i admin området inden for tag &#60;head&#62; &#60;/ head&#62;\",\n\t\"insert-code-in-the-theme-at-the-bottom\": \"Indsæt kode i temaet nederst.\",\n\t\"insert-code-in-the-theme-at-the-top\": \"Indsæt kode i temaet øverst.\",\n\t\"insert-code-in-the-theme-inside-the-tag-head\": \"Indsæt kode i temaet mellem tag &#60;head&#62; &#60;/ head&#62;\",\n\t\"plugin-data\": {\n\t\t\"description\": \"Tilføj HTML, CSS, JavaScript kode, til head metadata sektionen, eller i sidehoved, sidefod på dit websted.\",\n\t\t\"name\": \"HTML Code\"\n\t}\n}\n"
  },
  {
    "path": "bl-plugins/html-code/languages/de_CH.json",
    "content": "{\n    \"plugin-data\": {\n        \"name\": \"HTML-Code\",\n        \"description\": \"HTML-, JavaScript- oder CSS-Code in den Header-Bereich des Themes oder über oder unter den Inhaltsbereich des Themes einfügen.\"\n    },\n    \"insert-code-in-the-theme-inside-the-tag-head\": \"Code in den Bereich &#60;head&#62; &#60;/head&#62; des Themes einfügen.\",\n    \"insert-code-in-the-theme-at-the-top\": \"Code über dem Inhaltsbereich des Themes einfügen.\",\n    \"insert-code-in-the-theme-at-the-bottom\": \"Code unter dem Inhaltsbereich des Themes einfügen.\",\n    \"insert-code-in-the-admin-area-inside-the-tag-head\": \"Code im Administrationsbereich innerhalb des Tags &#60;head&#62; &#60;/head&#62; einfügen\",\n    \"insert-code-in-the-admin-area-at-the-top\": \"Code im Administrationsbereich oben einfügen.\",\n    \"insert-code-in-the-admin-area-at-the-bottom\": \"Code im Administrationsbereich unten einfügen.\"\n}\n"
  },
  {
    "path": "bl-plugins/html-code/languages/de_DE.json",
    "content": "{\n    \"plugin-data\": {\n        \"name\": \"HTML-Code\",\n        \"description\": \"HTML-, JavaScript- oder CSS-Code in den Header-Bereich des Themes oder über oder unter den Inhaltsbereich des Themes einfügen.\"\n    },\n    \"insert-code-in-the-theme-inside-the-tag-head\": \"Code in den Bereich &#60;head&#62; &#60;/head&#62; des Themes einfügen.\",\n    \"insert-code-in-the-theme-at-the-top\": \"Code über dem Inhaltsbereich des Themes einfügen.\",\n    \"insert-code-in-the-theme-at-the-bottom\": \"Code unter dem Inhaltsbereich des Themes einfügen.\",\n    \"insert-code-in-the-admin-area-inside-the-tag-head\": \"Code im Administrationsbereich innerhalb des Tags &#60;head&#62; &#60;/head&#62; einfügen\",\n    \"insert-code-in-the-admin-area-at-the-top\": \"Code im Administrationsbereich oben einfügen.\",\n    \"insert-code-in-the-admin-area-at-the-bottom\": \"Code im Administrationsbereich unten einfügen.\"\n}\n"
  },
  {
    "path": "bl-plugins/html-code/languages/en.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"HTML Code\",\n\t\t\"description\": \"Add HTML, CSS or JavaScript code in the head metadata, header or footer of your site.\"\n\t},\n\t\"insert-code-in-the-theme-inside-the-tag-head\": \"Insert code in the theme inside the tag &#60;head&#62; &#60;/head&#62;\",\n\t\"insert-code-in-the-theme-at-the-top\": \"Insert code in the theme at the top.\",\n\t\"insert-code-in-the-theme-at-the-bottom\": \"Insert code in the theme at the bottom.\",\n\t\"insert-code-in-the-admin-area-inside-the-tag-head\": \"Insert code in the admin area inside the tag &#60;head&#62; &#60;/head&#62;\",\n\t\"insert-code-in-the-admin-area-at-the-top\": \"Insert code in the admin area at the top.\",\n\t\"insert-code-in-the-admin-area-at-the-bottom\": \"Insert code in the admin area at the bottom.\"\n}"
  },
  {
    "path": "bl-plugins/html-code/languages/es.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"HTML Code\",\n\t\t\"description\": \"Añada código HTML, CSS o JavaScript en los metadatos de cabecera, encabezado o pie de página de su sitio.\"\n\t},\n\t\"insert-code-in-the-theme-inside-the-tag-head\": \"Inserte código en el tema dentro de la etiqueta &#60;head&#62; &#60;/head&#62;\",\n\t\"insert-code-in-the-theme-at-the-top\": \"Inserte código en el tema en el encabezado.\",\n\t\"insert-code-in-the-theme-at-the-bottom\": \"Inserte código en el tema en el pie de página.\",\n\t\"insert-code-in-the-admin-area-inside-the-tag-head\": \"Inserte código en el area de administración dentro de la etiqueta &#60;head&#62; &#60;/head&#62;\",\n\t\"insert-code-in-the-admin-area-at-the-top\": \"Inserte código en el area de administración en el encabezado.\",\n\t\"insert-code-in-the-admin-area-at-the-bottom\": \"Inserte código en el area de administración en el pie de página.\"\n}"
  },
  {
    "path": "bl-plugins/html-code/languages/fa_IR.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"کد HTML\",\n\t\t\"description\": \"افزودن کد HTML ، CSS و یا JavaScript در  head metadata ،  header و یا  footer وبسایت خود.\"\n\t},\n\t\"insert-code-in-the-theme-inside-the-tag-head\": \"درج کد در قالب درون تگ &#60;head&#62; &#60;/head&#62;\",\n\t\"insert-code-in-the-theme-at-the-top\": \"درج کد درون قالب در بالا.\",\n\t\"insert-code-in-the-theme-at-the-bottom\": \"درج کد درون قالب در پایین.\",\n\t\"insert-code-in-the-admin-area-inside-the-tag-head\": \"درج کد در محیط مدیریت درون تگ &#60;head&#62; &#60;/head&#62;\",\n\t\"insert-code-in-the-admin-area-at-the-top\": \"درج کد در محیط مدیریت در بالا.\",\n\t\"insert-code-in-the-admin-area-at-the-bottom\": \"درج کد در محیط مدیریت در پایین.\"\n}\n"
  },
  {
    "path": "bl-plugins/html-code/languages/fr_FR.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Code HTML\",\n\t\t\"description\": \"Ajoutez du code HTML, CSS ou Javascript dans les métadonnées, l’en-tête ou le pied de page de votre site.\"\n\t},\n\t\"insert-code-in-the-theme-inside-the-tag-head\": \"Insérer du code dans le thème à l’intérieur du tag&#60;head&#62; &#60;/head&#62;\",\n\t\"insert-code-in-the-theme-at-the-top\": \"Insérez le code dans le thème en haut.\",\n\t\"insert-code-in-the-theme-at-the-bottom\": \"Insérez le code dans le thème en bas.\",\n\t\"insert-code-in-the-admin-area-inside-the-tag-head\": \"Insérer du code dans la zone admin à l’intérieur du tag &#60;head&#62; &#60;/head&#62;\",\n\t\"insert-code-in-the-admin-area-at-the-top\": \"Insérez le code dans la zone admin en haut.\",\n\t\"insert-code-in-the-admin-area-at-the-bottom\": \"Insérez le code dans la zone admin en bas.\"\n}\n"
  },
  {
    "path": "bl-plugins/html-code/languages/it.json",
    "content": "{\n    \"plugin-data\": {\n        \"name\": \"Codice HTML\",\n        \"description\": \"Aggiungi codice HTML, CSS o Javascript nel metadata head, nel header o nel footer del tuo sito.\"\n    },\n    \"insert-code-in-the-theme-inside-the-tag-head\": \"Inserisci il codice nel tema all'interno del tag &#60;head&#62; &#60;/head&#62;\",\n    \"insert-code-in-the-theme-at-the-top\": \"Inserisci il codice in alto nel tema.\",\n    \"insert-code-in-the-theme-at-the-bottom\": \"Inserisci il codice in basso nel tema.\",\n    \"insert-code-in-the-admin-area-inside-the-tag-head\": \"Inserisci il codice nell'area di amministrazione all'interno del tag &#60;head&#62; &#60;/head&#62;\",\n    \"insert-code-in-the-admin-area-at-the-top\": \"Inserisci il codice nell'area di amministrazione in alto.\",\n    \"insert-code-in-the-admin-area-at-the-bottom\": \"Inserisci il codice nell'area di amministrazione in basso.\"\n}\n"
  },
  {
    "path": "bl-plugins/html-code/languages/ja_JP.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"HTML Code\",\n\t\t\"description\": \"サイトのheadメタデータ、ヘッダーやフッターに、HTML, CSS, Java Scriptコードを追加します。\"\n\t},\n\t\"insert-code-in-the-theme-inside-the-tag-head\": \"テーマの &#60;head&#62; &#60;\\/head&#62; タグ内にコードを挿入します\",\n\t\"insert-code-in-the-theme-at-the-top\": \"テーマ上部にコードを挿入します。\",\n\t\"insert-code-in-the-theme-at-the-bottom\": \"テーマ下部にコードを挿入します。\",\n\t\"insert-code-in-the-admin-area-inside-the-tag-head\": \"管理パネルの &#60;head&#62; &#60;\\/head&#62; タグ内にコードを挿入します\",\n\t\"insert-code-in-the-admin-area-at-the-top\": \"管理パネル上部にコードを挿入します。\",\n\t\"insert-code-in-the-admin-area-at-the-bottom\": \"管理パネル下部にコードを挿入します。\"\n}"
  },
  {
    "path": "bl-plugins/html-code/languages/nl_NL.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"HTML-code\",\n\t\t\"description\": \"Voeg HTML, CSS of JavaScript toe in de head metadata, header of footer van de site.\"\n\t},\n\t\"insert-code-in-the-theme-inside-the-tag-head\": \"Code aan het thema toevoegen tussen de tags &#60;head&#62; &#60;/head&#62;\",\n\t\"insert-code-in-the-theme-at-the-top\": \"Code boven aan het thema toevoegen.\",\n\t\"insert-code-in-the-theme-at-the-bottom\": \"Code onder aan het thema toevoegen.\",\n\t\"insert-code-in-the-admin-area-inside-the-tag-head\": \"Code aan het beheergedeelte toevoegen tussen de tags &#60;head&#62; &#60;/head&#62;\",\n\t\"insert-code-in-the-admin-area-at-the-top\": \"Code boven aan het beheergedeelte toevoegen.\",\n\t\"insert-code-in-the-admin-area-at-the-bottom\": \"Code onder aan het beheergedeelte toevoegen.\"\n}"
  },
  {
    "path": "bl-plugins/html-code/languages/ru_RU.json",
    "content": "{\n    \"plugin-data\": {\n        \"name\": \"HTML-код\",\n        \"description\": \"Добавьте код HTML, CSS или Javascript в метаданные заголовка, заголовок или нижний колонтитул вашего сайта.\"\n    },\n    \"insert-code-in-the-theme-inside-the-tag-head\": \"Вставить код в тему внутри тега &#60;head&#62; &#60;/head&#62; (в метаданные заголовка страниц сайта).\",\n    \"insert-code-in-the-theme-at-the-top\": \"Вставить код в тему вверху странц сайта.\",\n    \"insert-code-in-the-theme-at-the-bottom\": \"Вставить код в тему внизу странц сайта.\",\n    \"insert-code-in-the-admin-area-inside-the-tag-head\": \"Вставить код в админ-панели внутри тега &#60;head&#62; &#60;/head&#62;\",\n    \"insert-code-in-the-admin-area-at-the-top\": \"Вставить код в админ-панели вверху.\",\n    \"insert-code-in-the-admin-area-at-the-bottom\": \"Вставить код в админ-панели внизу.\"\n}\n"
  },
  {
    "path": "bl-plugins/html-code/languages/tr_TR.json",
    "content": "{\n    \"plugin-data\": {\n        \"name\": \"HTML Kod\",\n        \"description\": \"HTML, CSS ya da Javascript kodlarınızı sitenizin istediğiniz bölümüne ekleyin.\"\n    },\n    \"insert-code-in-the-theme-inside-the-tag-head\": \"&#60;head&#62; &#60;/head&#62; tagleri arasına eklenecek kodlar.\",\n    \"insert-code-in-the-theme-at-the-top\": \"Sayfanızın en üstüne eklenecek kodlar.\",\n    \"insert-code-in-the-theme-at-the-bottom\": \"Sayfanızın en altına eklenecek kodlar.\",\n    \"insert-code-in-the-admin-area-inside-the-tag-head\": \"Yönetim alanında &#60;head&#62; &#60;/head&#62; etiketinin içine kod ekleyin\",\n    \"insert-code-in-the-admin-area-at-the-top\": \"Yönetim alanının en üstüne kod ekleyin.\",\n    \"insert-code-in-the-admin-area-at-the-bottom\": \"Yönetim alanının en altına kod ekleyin.\"\n}\n"
  },
  {
    "path": "bl-plugins/html-code/metadata.json",
    "content": "{\n\t\"author\": \"Bludit\",\n\t\"email\": \"\",\n\t\"website\": \"https://plugins.bludit.com\",\n\t\"version\": \"3.21.0\",\n\t\"releaseDate\": \"2026-04-25\",\n\t\"license\": \"MIT\",\n\t\"compatible\": \"3.21\",\n\t\"notes\": \"\"\n}\n"
  },
  {
    "path": "bl-plugins/html-code/plugin.php",
    "content": "<?php\n\nclass pluginHTMLCode extends Plugin {\n\n\tpublic function init()\n\t{\n\t\t$this->dbFields = array(\n\t\t\t'head'=>'',\n\t\t\t'header'=>'',\n\t\t\t'footer'=>'',\n\t\t\t'adminHead'=>'',\n\t\t\t'adminHeader'=>'',\n\t\t\t'adminFooter'=>''\n\t\t);\n\t}\n\n\tpublic function form()\n\t{\n\t\tglobal $L;\n\n\t\t$html  = '<div class=\"alert alert-primary\" role=\"alert\">';\n\t\t$html .= $this->description();\n\t\t$html .= '</div>';\n\n\t\t$html .= '<h2>'.$L->g('Website').'</h2>';\n\n\t\t$html .= '<div>';\n\t\t$html .= '<label>Head</label>';\n\t\t$html .= '<textarea name=\"head\" id=\"jshead\">'.$this->getValue('head').'</textarea>';\n\t\t$html .= '<span class=\"tip\">'.$L->get('insert-code-in-the-theme-inside-the-tag-head').'</span>';\n\t\t$html .= '</div>';\n\n\t\t$html .= '<div>';\n\t\t$html .= '<label>Header</label>';\n\t\t$html .= '<textarea name=\"header\" id=\"jsheader\">'.$this->getValue('header').'</textarea>';\n\t\t$html .= '<span class=\"tip\">'.$L->get('insert-code-in-the-theme-at-the-top').'</span>';\n\t\t$html .= '</div>';\n\n\t\t$html .= '<div>';\n\t\t$html .= '<label>Footer</label>';\n\t\t$html .= '<textarea name=\"footer\" id=\"jsfooter\">'.$this->getValue('footer').'</textarea>';\n\t\t$html .= '<span class=\"tip\">'.$L->get('insert-code-in-the-theme-at-the-bottom').'</span>';\n\t\t$html .= '</div>';\n\n\t\t$html .= '<h2 class=\"mt-4\">'.$L->g('Admin area').'</h2>';\n\n\t\t$html .= '<div>';\n\t\t$html .= '<label>Head</label>';\n\t\t$html .= '<textarea name=\"adminHead\">'.$this->getValue('adminHead').'</textarea>';\n\t\t$html .= '<span class=\"tip\">'.$L->get('insert-code-in-the-theme-inside-the-tag-head').'</span>';\n\t\t$html .= '</div>';\n\n\t\t$html .= '<div>';\n\t\t$html .= '<label>Header</label>';\n\t\t$html .= '<textarea name=\"adminHeader\">'.$this->getValue('adminHeader').'</textarea>';\n\t\t$html .= '<span class=\"tip\">'.$L->get('insert-code-in-the-theme-at-the-top').'</span>';\n\t\t$html .= '</div>';\n\n\t\t$html .= '<div>';\n\t\t$html .= '<label>Footer</label>';\n\t\t$html .= '<textarea name=\"adminFooter\">'.$this->getValue('adminFooter').'</textarea>';\n\t\t$html .= '<span class=\"tip\">'.$L->get('insert-code-in-the-theme-at-the-bottom').'</span>';\n\t\t$html .= '</div>';\n\n\t\treturn $html;\n\t}\n\n\tpublic function siteHead()\n\t{\n\t\treturn html_entity_decode($this->getValue('head'));\n\t}\n\n\tpublic function siteBodyBegin()\n\t{\n\t\treturn html_entity_decode($this->getValue('header'));\n\t}\n\n\tpublic function siteBodyEnd()\n\t{\n\t\treturn html_entity_decode($this->getValue('footer'));\n\t}\n\n\tpublic function adminHead()\n\t{\n\t\treturn html_entity_decode($this->getValue('adminHead'));\n\t}\n\n\tpublic function adminBodyBegin()\n\t{\n\t\treturn html_entity_decode($this->getValue('adminHeader'));\n\t}\n\n\tpublic function adminBodyEnd()\n\t{\n\t\treturn html_entity_decode($this->getValue('adminFooter'));\n\t}\n}"
  },
  {
    "path": "bl-plugins/links/languages/da.json",
    "content": "{\n\t\"add-a-new-link\": \"Tilføj nyt link\",\n\t\"plugin-data\": {\n\t\t\"description\": \"Viser en link liste i sidepanelet. Du kan redigere disse links i indstillinger.\",\n\t\t\"name\": \"Links\"\n\t}\n}\n"
  },
  {
    "path": "bl-plugins/links/languages/de_CH.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Links\",\n\t\t\"description\": \"Zeigt eine Link-Liste in der Seitenleiste (bei Themes mit einer Seitenleiste). Die Links können in den Einstellungen bearbeitet werden.\"\n\t},\n\t\"add-a-new-link\": \"Einen Link hinzufügen\"\n}\n"
  },
  {
    "path": "bl-plugins/links/languages/de_DE.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Links\",\n\t\t\"description\": \"Zeigt eine Link-Liste in der Seitenleiste (bei Themes mit einer Seitenleiste). Die Links können in den Einstellungen bearbeitet werden.\"\n\t},\n\t\"add-a-new-link\": \"Einen Link hinzufügen\"\n}\n"
  },
  {
    "path": "bl-plugins/links/languages/en.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Links\",\n\t\t\"description\": \"Shows a link list in the sidebar, you can modify these links in settings.\"\n\t},\n\t\"add-a-new-link\": \"Add a new link\"\n}\n"
  },
  {
    "path": "bl-plugins/links/languages/es.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Links\",\n\t\t\"description\": \"Muestra una lista de enlaces en la barra lateral, puede modificar estos enlaces en la configuración del complemento.\"\n\t},\n\t\"add-a-new-link\": \"Nuevo enlance\"\n}\n"
  },
  {
    "path": "bl-plugins/links/languages/fa_IR.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"لینک ها\",\n\t\t\"description\": \"نمایش یک لیست از لینک در نوار کناری، شما می توانید این لینک ها را در تنظیمات ویرایش کنید.\"\n\t\t},\n\t\"add-a-new-link\": \"افزودن لینک جدید\"\n}\n"
  },
  {
    "path": "bl-plugins/links/languages/fr_FR.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Liens\",\n\t\t\"description\": \"Affiche une liste de liens dans la barre latérale, vous pouvez modifier ces liens dans les paramètres.\"\n\t},\n\t\"add-a-new-link\": \"Ajouter un nouveau lien\"\n}\n"
  },
  {
    "path": "bl-plugins/links/languages/it.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Link\",\n\t\t\"description\": \"Visualizza un elenco di link nella barra laterale, puoi modificare questi link nelle impostazioni.\"\n\t},\n\t\"add-a-new-link\": \"Aggiungi un nuovo link\"\n}\n"
  },
  {
    "path": "bl-plugins/links/languages/ja_JP.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Links\",\n\t\t\"description\": \"サイドバーにリンクを表示します。これらのリンクは設定から変更できます。\"\n\t},\n\t\"add-a-new-link\": \"新規リンクを追加\"\n}\n"
  },
  {
    "path": "bl-plugins/links/languages/nl_NL.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Links\",\n\t\t\"description\": \"Toont een aan te passen lijst met links in de zijbalk.\"\n\t},\n\t\"add-a-new-link\": \"Nieuwe link toevoegen\"\n}\n"
  },
  {
    "path": "bl-plugins/links/languages/ru_RU.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Ссылки\",\n\t\t\"description\": \"Показывает список ссылок на боковой панели сайта (если текущая тема поддерживает боковые панели). Вы можете изменить список ссылок в настройках.\"\n\t},\n\t\"add-a-new-link\": \"Добавить новую ссылку\"\n}\n"
  },
  {
    "path": "bl-plugins/links/languages/tr_TR.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Bağlantılar\",\n\t\t\"description\": \"Bağlantıları kenar çubuğunda gösterir, ayarlardan bu bağlantıları düzenleyebilirsiniz.\"\n\t},\n\t\"add-a-new-link\": \"Yeni bağlantı ekle\"\n}\n"
  },
  {
    "path": "bl-plugins/links/metadata.json",
    "content": "{\n\t\"author\": \"Bludit\",\n\t\"email\": \"\",\n\t\"website\": \"https://plugins.bludit.com\",\n\t\"version\": \"3.21.0\",\n\t\"releaseDate\": \"2026-04-25\",\n\t\"license\": \"MIT\",\n\t\"compatible\": \"3.21\",\n\t\"notes\": \"\"\n}\n"
  },
  {
    "path": "bl-plugins/links/plugin.php",
    "content": "<?php\n\nclass pluginLinks extends Plugin\n{\n\n\tpublic function init()\n\t{\n\t\t// JSON database\n\t\t$jsondb = json_encode(array(\n\t\t\t'Bludit' => 'https://www.bludit.com',\n\t\t\t'Bludit PRO' => 'https://pro.bludit.com'\n\t\t));\n\n\t\t// Fields and default values for the database of this plugin\n\t\t$this->dbFields = array(\n\t\t\t'label' => 'Links',\n\t\t\t'jsondb' => $jsondb\n\t\t);\n\n\t\t// Disable default Save and Cancel button\n\t\t$this->formButtons = false;\n\t}\n\n\t// Method called when a POST request is sent\n\tpublic function post()\n\t{\n\t\t// Get current jsondb value from database\n\t\t// All data stored in the database is html encoded\n\t\t$jsondb = $this->db['jsondb'];\n\t\t$jsondb = Sanitize::htmlDecode($jsondb);\n\n\t\t// Convert JSON to Array\n\t\t$links = json_decode($jsondb, true);\n\n\t\t// Check if the user click on the button delete or add\n\t\tif (isset($_POST['deleteLink'])) {\n\t\t\t// Values from $_POST\n\t\t\t$name = $_POST['deleteLink'];\n\n\t\t\t// Delete the link from the array\n\t\t\tunset($links[$name]);\n\t\t} elseif (isset($_POST['addLink'])) {\n\t\t\t// Values from $_POST\n\t\t\t$name = $_POST['linkName'];\n\t\t\t$url = $_POST['linkURL'];\n\n\t\t\t// Check empty string\n\t\t\tif (empty($name)) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// Add the link\n\t\t\t$links[$name] = $url;\n\t\t}\n\n\t\t// Encode html to store the values on the database\n\t\t$this->db['label'] = Sanitize::html($_POST['label']);\n\t\t$this->db['jsondb'] = Sanitize::html(json_encode($links));\n\n\t\t// Save the database\n\t\treturn $this->save();\n\t}\n\n\t// Method called on plugin settings on the admin area\n\tpublic function form()\n\t{\n\t\tglobal $L;\n\n\t\t$html  = '<div class=\"alert alert-primary\" role=\"alert\">';\n\t\t$html .= $this->description();\n\t\t$html .= '</div>';\n\n\t\t$html .= '<div>';\n\t\t$html .= '<label>' . $L->get('Label') . '</label>';\n\t\t$html .= '<input name=\"label\" class=\"form-control\" type=\"text\" dir=\"auto\" value=\"' . $this->getValue('label') . '\">';\n\t\t$html .= '<span class=\"tip\">' . $L->get('This title is almost always used in the sidebar of the site') . '</span>';\n\t\t$html .= '</div>';\n\n\t\t$html .= '<div>';\n\t\t$html .= '<button name=\"save\" class=\"btn btn-primary my-2\" type=\"submit\">' . $L->get('Save') . '</button>';\n\t\t$html .= '</div>';\n\n\t\t// New link, when the user click on save button this call the method post()\n\t\t// and the new link is added to the database\n\t\t$html .= '<h4 class=\"mt-3\">' . $L->get('Add a new link') . '</h4>';\n\n\t\t$html .= '<div>';\n\t\t$html .= '<label>' . $L->get('Name') . '</label>';\n\t\t$html .= '<input name=\"linkName\" type=\"text\" dir=\"auto\" class=\"form-control\" value=\"\" placeholder=\"Bludit\">';\n\t\t$html .= '</div>';\n\n\t\t$html .= '<div>';\n\t\t$html .= '<label>' . $L->get('Url') . '</label>';\n\t\t$html .= '<input name=\"linkURL\" type=\"text\" dir=\"auto\" class=\"form-control\" value=\"\" placeholder=\"https://www.bludit.com/\">';\n\t\t$html .= '</div>';\n\n\t\t$html .= '<div>';\n\t\t$html .= '<button name=\"addLink\" class=\"btn btn-primary my-2\" type=\"submit\">' . $L->get('Add') . '</button>';\n\t\t$html .= '</div>';\n\n\t\t// Get the JSON DB, getValue() with the option unsanitized HTML code\n\t\t$jsondb = $this->getValue('jsondb', $unsanitized = false);\n\t\t$links = json_decode($jsondb, true);\n\n\t\t$html .= !empty($links) ? '<h4 class=\"mt-3\">' . $L->get('Links') . '</h4>' : '';\n\n\t\tforeach ($links as $name => $url) {\n\t\t\t$html .= '<div class=\"my-2\">';\n\t\t\t$html .= '<label>' . $L->get('Name') . '</label>';\n\t\t\t$html .= '<input type=\"text\" dir=\"auto\" class=\"form-control\" value=\"' . $name . '\" disabled>';\n\t\t\t$html .= '</div>';\n\n\t\t\t$html .= '<div>';\n\t\t\t$html .= '<label>' . $L->get('Url') . '</label>';\n\t\t\t$html .= '<input type=\"text\" dir=\"auto\" class=\"form-control\" value=\"' . $url . '\" disabled>';\n\t\t\t$html .= '</div>';\n\n\t\t\t$html .= '<div>';\n\t\t\t$html .= '<button name=\"deleteLink\" class=\"btn btn-secondary my-2\" type=\"submit\" value=\"' . $name . '\">' . $L->get('Delete') . '</button>';\n\t\t\t$html .= '</div>';\n\t\t}\n\n\t\treturn $html;\n\t}\n\n\t// Method called on the sidebar of the website\n\tpublic function siteSidebar()\n\t{\n\t\tglobal $L;\n\n\t\t// HTML for sidebar\n\t\t$html  = '<div class=\"plugin plugin-pages\">';\n\t\tif ($this->getValue('label')) {\n\t\t\t$html .= '<h2 class=\"plugin-label\">' . $this->getValue('label') . '</h2>';\n\t\t}\n\t\t$html .= '<div class=\"plugin-content\">';\n\t\t$html .= '<ul>';\n\n\t\t// Get the JSON DB, getValue() with the option unsanitized HTML code\n\t\t$jsondb = $this->getValue('jsondb', false);\n\t\t$links = json_decode($jsondb);\n\n\t\t// By default, the database of categories is alphanumeric sorted\n\t\tforeach ($links as $name => $url) {\n\t\t\t$html .= '<li>';\n\t\t\t$html .= '<a href=\"' . $url . '\">';\n\t\t\t$html .= $name;\n\t\t\t$html .= '</a>';\n\t\t\t$html .= '</li>';\n\t\t}\n\n\t\t$html .= '</ul>';\n\t\t$html .= '</div>';\n\t\t$html .= '</div>';\n\n\t\treturn $html;\n\t}\n}\n"
  },
  {
    "path": "bl-plugins/maintenance-mode/languages/bg_BG.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Режим на поддръжка\",\n\t\t\"description\": \"Поставете вашия сайт на режим на поддръжка.\"\n\t},\n\n\t\"enable-maintenance-mode\": \"Активиране режим на поддръжка \",\n\t\"message\": \"Съобщение\"\n}\n"
  },
  {
    "path": "bl-plugins/maintenance-mode/languages/da.json",
    "content": "{\n\t\"enable-maintenance-mode\": \"Aktiver vedligeholdelsestilstand\",\n\t\"message\": \"Besked\",\n\t\"plugin-data\": {\n\t\t\"description\": \"Sæt dit websted i vedligeholdelsestilstand. Du kan stadig tilgå admin områet.\",\n\t\t\"name\": \"Maintenance mode\"\n\t}\n}\n"
  },
  {
    "path": "bl-plugins/maintenance-mode/languages/de_CH.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Wartungsmodus\",\n\t\t\"description\": \"Aktivierung des Wartungsmodus mit Zugang zum Administrationsbereich.\"\n\t},\n\n\t\"enable-maintenance-mode\": \"Aktivierung des Wartungsmodus\",\n\t\"message\": \"Auf der Website angezeigter Hinweis\"\n}\n"
  },
  {
    "path": "bl-plugins/maintenance-mode/languages/de_DE.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Wartungsmodus\",\n\t\t\"description\": \"Aktivierung des Wartungsmodus mit Zugang zum Administrationsbereich.\"\n\t},\n\n\t\"enable-maintenance-mode\": \"Aktivierung des Wartungsmodus\",\n\t\"message\": \"Auf der Website angezeigter Hinweis\"\n}\n"
  },
  {
    "path": "bl-plugins/maintenance-mode/languages/en.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Maintenance mode\",\n\t\t\"description\": \"Set your site on maintenance mode, you can access to admin area.\"\n\t},\n\n\t\"enable-maintenance-mode\": \"Enable maintenance mode\",\n\t\"message\": \"Message\"\n}\n"
  },
  {
    "path": "bl-plugins/maintenance-mode/languages/es.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Modo mantenimiento\",\n\t\t\"description\": \"Configura el sitio en modo mantenimiento, se puede acceder al panel de administración mientras tanto.\"\n\t},\n\n\t\"enable-maintenance-mode\": \"Habilitar modo mantenimiento\",\n\t\"message\": \"Mensaje\"\n}\n"
  },
  {
    "path": "bl-plugins/maintenance-mode/languages/fa_IR.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"حالت تعمیر و نگهداری\",\n\t\t\"description\": \"قرار دادن سایت خود به حالت تعمیر و نگهداری، شما می توانید به محیط مدیریت دسترسی داشته باشید.\"\t\t\n\t},\n\n\t\"enable-maintenance-mode\": \"فعال کردن حالت تعمیر و نگهداری\",\n\t\"message\": \"پیام\"\n}\n"
  },
  {
    "path": "bl-plugins/maintenance-mode/languages/fr_FR.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Mode de Maintenance\",\n\t\t\"description\": \"Configurer votre site sur le mode de maintenance, vous pouvez accéder à la zone d'administration.\"\n\t},\n\n\t\"enable-maintenance-mode\": \"Activer le mode de maintenance\",\n\t\"message\": \"Message\"\n}\n"
  },
  {
    "path": "bl-plugins/maintenance-mode/languages/it.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Modalità Manutenzione\",\n\t\t\"description\": \"Imposta il tuo sito in modalità manutenzione, puoi accedere all'area di amministrazione.\"\n\t},\n\n\t\"enable-maintenance-mode\": \"Abilita modalità di manutenzione\",\n\t\"message\": \"Messaggio\"\n}\n"
  },
  {
    "path": "bl-plugins/maintenance-mode/languages/ja_JP.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Maintenance mode\",\n\t\t\"description\": \"サイトをメンテナンスモードに設定します。管理パネルにはアクセスできます。\"\n\t},\n\n\t\"enable-maintenance-mode\": \"メンテナンスモードを有効にする\",\n\t\"message\": \"メッセージ\"\n}\n"
  },
  {
    "path": "bl-plugins/maintenance-mode/languages/nl_NL.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Onderhoudsmodus\",\n\t\t\"description\": \"Zet de site in onderhoudsmodus; alleen het beheergedeelte is toegankelijk.\"\n\t},\n\n\t\"enable-maintenance-mode\": \"Onderhoudsmodus inschakelen\",\n\t\"message\": \"Melding\"\n}\n"
  },
  {
    "path": "bl-plugins/maintenance-mode/languages/pl_PL.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Tryb konserwacji\",\n\t\t\"description\": \"Przełącz stronę w tryb konwersacji (wówczas działać będzie tylko kokpit).\"\n\t},\n\n\t\"enable-maintenance-mode\": \"Włącz tryb konwersacji\",\n\t\"message\": \"Wiadomość\"\n}\n"
  },
  {
    "path": "bl-plugins/maintenance-mode/languages/ru_RU.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Режим обслуживания\",\n\t\t\"description\": \"Установите ваш сайт в режим обслуживания, вы можете получить доступ к панели управления.\"\n\t},\n\n\t\"enable-maintenance-mode\": \"Включить режим обслуживания\",\n\t\"message\": \"Сообщение, которое увидят посетители сайта\"\n}\n"
  },
  {
    "path": "bl-plugins/maintenance-mode/languages/tr_TR.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Bakım Modu\",\n\t\t\"description\": \"Sitenizi bakım moduna alın, admin paneline erişmeye devam edebilirsiniz.\"\n\t},\n\n\t\"enable-maintenance-mode\": \"Bakım modunu etkinleştir.\",\n\t\"message\": \"Mesaj\"\n}\n"
  },
  {
    "path": "bl-plugins/maintenance-mode/languages/uk_UA.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Режим обслуговування\",\n\t\t\"description\": \"Перемикає ваш сайт у режим обслуговування, але ви матимете доступ до панелі управління.\"\n\t},\n\n\t\"enable-maintenance-mode\": \"Включити режим обслуговування\",\n\t\"message\": \"Повідомлення\"\n}\n"
  },
  {
    "path": "bl-plugins/maintenance-mode/languages/zh_TW.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"維護模式\",\n\t\t\"description\": \"設定您的網站為維護模式，但是您依然可以登入到管理介面\"\n\t},\n\n\t\"enable-maintenance-mode\": \"啟用維護模式\",\n\t\"message\": \"訊息\"\n}\n"
  },
  {
    "path": "bl-plugins/maintenance-mode/metadata.json",
    "content": "{\n\t\"author\": \"Bludit\",\n\t\"email\": \"\",\n\t\"website\": \"https://plugins.bludit.com\",\n\t\"version\": \"3.21.0\",\n\t\"releaseDate\": \"2026-04-25\",\n\t\"license\": \"MIT\",\n\t\"compatible\": \"3.21\",\n\t\"notes\": \"\"\n}\n"
  },
  {
    "path": "bl-plugins/maintenance-mode/plugin.php",
    "content": "<?php\n\nclass pluginMaintenanceMode extends Plugin\n{\n\n\tpublic function init()\n\t{\n\t\t$this->dbFields = array(\n\t\t\t'enable' => false,\n\t\t\t'message' => 'Temporarily down for maintenance.'\n\t\t);\n\t}\n\n\tpublic function form()\n\t{\n\t\tglobal $L;\n\n\t\t$html  = '<div class=\"alert alert-primary\" role=\"alert\">';\n\t\t$html .= $this->description();\n\t\t$html .= '</div>';\n\n\t\t$html .= '<div>';\n\t\t$html .= '<label>' . $L->get('Enable maintenance mode') . '</label>';\n\t\t$html .= '<select name=\"enable\">';\n\t\t$html .= '<option value=\"true\" ' . ($this->getValue('enable') === true ? 'selected' : '') . '>Enabled</option>';\n\t\t$html .= '<option value=\"false\" ' . ($this->getValue('enable') === false ? 'selected' : '') . '>Disabled</option>';\n\t\t$html .= '</select>';\n\t\t$html .= '</div>';\n\n\t\t$html .= '<div>';\n\t\t$html .= '<label>' . $L->get('Message') . '</label>';\n\t\t$html .= '<input name=\"message\" id=\"jsmessage\" type=\"text\" dir=\"auto\" value=\"' . $this->getValue('message') . '\">';\n\t\t$html .= '</div>';\n\n\t\treturn $html;\n\t}\n\n\tpublic function beforeAll()\n\t{\n\t\tif ($this->getValue('enable')) {\n\t\t\texit($this->getValue('message'));\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "bl-plugins/navigation/languages/da.json",
    "content": "{\n\t\"amount-of-items\": \"Antal af emner\",\n\t\"home-link\": \"Hjemme link\",\n\t\"plugin-data\": {\n\t\t\"description\": \"Navigationsmenu med overordnede og underordnede sider til sidepanelet.\",\n\t\t\"name\": \"Navigation\"\n\t},\n\t\"show-the-home-link-on-the-sidebar\": \"Vis hjemme linket på sidepanelet.\"\n}\n"
  },
  {
    "path": "bl-plugins/navigation/languages/de_CH.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Navigation\",\n\t\t\"description\": \"Menü für die Anzeige von veröffentlichten und statischen Inhalten.\"\n\t},\n\t\"home-link\": \"Hauptseite zeigen\",\n\t\"show-the-home-link-on-the-sidebar\": \"Show the home link on the sidebar.\",\n\t\"amount-of-items\": \"Anzahl Inhalte\"\n}\n"
  },
  {
    "path": "bl-plugins/navigation/languages/de_DE.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Navigation\",\n\t\t\"description\": \"Menü für die Anzeige von veröffentlichten und statischen Inhalten.\"\n\t},\n\t\"home-link\": \"Hauptseite zeigen\",\n\t\"show-the-home-link-on-the-sidebar\": \"Show the home link on the sidebar.\",\n\t\"amount-of-items\": \"Anzahl Inhalte\"\n}\n"
  },
  {
    "path": "bl-plugins/navigation/languages/en.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Navigation\",\n\t\t\"description\": \"Navigation menu with parent and child pages for the sidebar.\"\n\t},\n\t\"home-link\": \"Home link\",\n\t\"show-the-home-link-on-the-sidebar\": \"Show the home link on the sidebar.\",\n\t\"amount-of-items\": \"Amount of items\"\n}"
  },
  {
    "path": "bl-plugins/navigation/languages/es.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Barra de Navegación\",\n\t\t\"description\": \"Cree tu propio menú de navegación\"\n\t},\n\t\"home-link\": \"Enlace de inicio\",\n\t\"show-the-home-link-on-the-sidebar\": \"Mostrar el vínculo de inicio en la barra de navegación.\",\n\t\"amount-of-items\": \"Cantidad de artículos\"\n}"
  },
  {
    "path": "bl-plugins/navigation/languages/fa_IR.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"ناوبری\",\n\t\t\"description\": \"منوی ناوبری به همراه والد و صفحات پایین تر برای نوار کناری.\"\t\t\n\t},\n\t\"home-link\": \"لینک فهرست\",\n\t\"show-the-home-link-on-the-sidebar\": \"نمایش لینک فهرست در نوار کناری.\",\n\t\"amount-of-items\": \"تعداد آیتم ها\"\n}\n"
  },
  {
    "path": "bl-plugins/navigation/languages/fr_FR.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Navigation\",\n\t\t\"description\": \"Créez votre propre menu de navigation avec les dernières pages ou pages statiques.\"\n\t},\n\t\"home-link\": \"Lien de la page d’accueil\",\n\t\"show-the-home-link-on-the-sidebar\": \"Afficher un lien vers la page d’accueil dans la barre latérale.\",\n\t\"amount-of-items\": \"Quantité d’articles\"\n}"
  },
  {
    "path": "bl-plugins/navigation/languages/it.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Navigazione\",\n\t\t\"description\": \"Crea il tuo menu di navigazione con le ultime pagine o con le pagine statiche.\"\n\t},\n\t\"home-link\": \"Link Home\",\n\t\"show-the-home-link-on-the-sidebar\": \"Mostra il collegamento alla home nella barra laterale.\",\n\t\"amount-of-items\": \"Quantità di voci\"\n}"
  },
  {
    "path": "bl-plugins/navigation/languages/ja_JP.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Navigation\",\n\t\t\"description\": \"サイドバーに親ページと子ページを表示するナビゲーションメニューです。\"\n\t},\n\t\"home-link\": \"ホームリンク\",\n\t\"show-the-home-link-on-the-sidebar\": \"サイドバーにホームリンクを表示する\",\n\t\"amount-of-items\": \"アイテム数\"\n}"
  },
  {
    "path": "bl-plugins/navigation/languages/nl_NL.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Navigatiemenu\",\n\t\t\"description\": \"Toont een navigatiemenu met twee niveau's in de zijbalk.\"\n\t},\n\t\"home-link\": \"Link naar startpagina\",\n\t\"show-the-home-link-on-the-sidebar\": \"Toon een link naar de startpagina.\",\n\t\"amount-of-items\": \"Aantal items\"\n}"
  },
  {
    "path": "bl-plugins/navigation/languages/ru_RU.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Навигация\",\n\t\t\"description\": \"Меню навигации с родительскими и дочерними страницами/записями для боковой панели сайта.\"\n\t},\n\t\"home-link\": \"Ссылка на домашнюю страницу\",\n\t\"show-the-home-link-on-the-sidebar\": \"Показать ссылку на домашнюю страницу на боковой панели сайта.\",\n\t\"amount-of-items\": \"Количество элементов\"\n}\n"
  },
  {
    "path": "bl-plugins/navigation/languages/tr.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Gezinti menüsü\",\n\t\t\"description\": \"Kenar çubuğu için üst ve alt sayfaları içeren gezinme menüsü.\"\n\t},\n\t\"home-link\": \"Ana sayfa bağlantısı\",\n\t\"show-the-home-link-on-the-sidebar\": \"Kenar çubuğundaki ev bağlantısını göster.\",\n\t\"amount-of-items\": \"Öge sayısı\"\n}\n"
  },
  {
    "path": "bl-plugins/navigation/metadata.json",
    "content": "{\n\t\"author\": \"Bludit\",\n\t\"email\": \"\",\n\t\"website\": \"https://plugins.bludit.com\",\n\t\"version\": \"3.21.0\",\n\t\"releaseDate\": \"2026-04-25\",\n\t\"license\": \"MIT\",\n\t\"compatible\": \"3.21\",\n\t\"notes\": \"\"\n}\n"
  },
  {
    "path": "bl-plugins/navigation/plugin.php",
    "content": "<?php\n\nclass pluginNavigation extends Plugin\n{\n\n\tpublic function init()\n\t{\n\t\t// Fields and default values for the database of this plugin\n\t\t$this->dbFields = array(\n\t\t\t'label' => 'Navigation',\n\t\t\t'homeLink' => true,\n\t\t\t'numberOfItems' => 5\n\t\t);\n\t}\n\n\t// Method called on the settings of the plugin on the admin area\n\tpublic function form()\n\t{\n\t\tglobal $L;\n\n\t\t$html  = '<div class=\"alert alert-primary\" role=\"alert\">';\n\t\t$html .= $this->description();\n\t\t$html .= '</div>';\n\n\t\t$html .= '<div>';\n\t\t$html .= '<label>' . $L->get('Label') . '</label>';\n\t\t$html .= '<input id=\"jslabel\" name=\"label\" type=\"text\" dir=\"auto\" value=\"' . htmlspecialchars($this->getValue('label'), ENT_QUOTES, 'UTF-8') . '\">';\n\t\t$html .= '<span class=\"tip\">' . $L->get('This title is almost always used in the sidebar of the site') . '</span>';\n\t\t$html .= '</div>';\n\n\t\t$html .= '<div>';\n\t\t$html .= '<label>' . $L->get('Home link') . '</label>';\n\t\t$html .= '<select name=\"homeLink\">';\n\t\t$html .= '<option value=\"true\" ' . ($this->getValue('homeLink') === true ? 'selected' : '') . '>' . $L->get('Enabled') . '</option>';\n\t\t$html .= '<option value=\"false\" ' . ($this->getValue('homeLink') === false ? 'selected' : '') . '>' . $L->get('Disabled') . '</option>';\n\t\t$html .= '</select>';\n\t\t$html .= '<span class=\"tip\">' . $L->get('Show the home link on the sidebar') . '</span>';\n\t\t$html .= '</div>';\n\n\t\tif (ORDER_BY == 'date') {\n\t\t\t$html .= '<div>';\n\t\t\t$html .= '<label>' . $L->get('Amount of items') . '</label>';\n\t\t\t$html .= '<input id=\"jsnumberOfItems\" name=\"numberOfItems\" type=\"text\" dir=\"auto\" value=\"' . $this->getValue('numberOfItems') . '\">';\n\t\t\t$html .= '</div>';\n\t\t}\n\n\t\treturn $html;\n\t}\n\n\t// Method called on the sidebar of the website\n\tpublic function siteSidebar()\n\t{\n\t\tglobal $L;\n\t\tglobal $url;\n\t\tglobal $site;\n\t\tglobal $pages;\n\n\t\t// HTML for sidebar\n\t\t$html  = '<div class=\"plugin plugin-navigation\">';\n\n\t\t// Print the label if not empty\n\t\t$label = $this->getValue('label');\n\t\tif (!empty($label)) {\n\t\t\t$html .= '<h2 class=\"plugin-label\">' . htmlspecialchars($L->g($label), ENT_QUOTES, 'UTF-8') . '</h2>';\n\t\t}\n\n\t\t$html .= '<div class=\"plugin-content\">';\n\t\t$html .= '<ul>';\n\n\t\t// Show Home page link\n\t\tif ($this->getValue('homeLink')) {\n\t\t\t$html .= '<li>';\n\t\t\t$html .= '<a href=\"' . $site->url() . '\">' . $L->get('Home page') . '</a>';\n\t\t\t$html .= '</li>';\n\t\t}\n\n\t\t// Pages order by position\n\t\tif (ORDER_BY == 'position') {\n\t\t\t// Get parents\n\t\t\t$parents = buildParentPages();\n\t\t\tforeach ($parents as $parent) {\n\t\t\t\t$html .= '<li class=\"parent\">';\n\t\t\t\t$html .= '<a href=\"' . $parent->permalink() . '\">' . $parent->title() . '</a>';\n\n\t\t\t\tif ($parent->hasChildren()) {\n\t\t\t\t\t// Get children\n\t\t\t\t\t$children = $parent->children();\n\t\t\t\t\t$html .= '<ul class=\"child\">';\n\t\t\t\t\tforeach ($children as $child) {\n\t\t\t\t\t\t$html .= '<li class=\"child\">';\n\t\t\t\t\t\t$html .= '<a class=\"child\" href=\"' . $child->permalink() . '\">' . $child->title() . '</a>';\n\t\t\t\t\t\t$html .= '</li>';\n\t\t\t\t\t}\n\t\t\t\t\t$html .= '</ul>';\n\t\t\t\t}\n\t\t\t\t$html .= '</li>';\n\t\t\t}\n\t\t}\n\t\t// Pages order by date\n\t\telse {\n\t\t\t// List of published pages\n\t\t\t$onlyPublished = true;\n\t\t\t$pageNumber = 1;\n\t\t\t$numberOfItems = $this->getValue('numberOfItems');\n\t\t\t$publishedPages = $pages->getList($pageNumber, $numberOfItems, $onlyPublished);\n\n\t\t\tforeach ($publishedPages as $pageKey) {\n\t\t\t\ttry {\n\t\t\t\t\t$page = new Page($pageKey);\n\t\t\t\t\t$html .= '<li>';\n\t\t\t\t\t$html .= '<a href=\"' . $page->permalink() . '\">' . $page->title() . '</a>';\n\t\t\t\t\t$html .= '</li>';\n\t\t\t\t} catch (Exception $e) {\n\t\t\t\t\t// Continue\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t$html .= '</ul>';\n\t\t$html .= '</div>';\n\t\t$html .= '</div>';\n\n\t\treturn $html;\n\t}\n}\n"
  },
  {
    "path": "bl-plugins/opengraph/languages/bg_BG.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Open Graph\",\n\t\t\"description\": \"Open Graph ви позволява да свържете вашето съдържание със социални мрежи.\"\n\t},\n\t\"set-a-default-image-for-content\": \"Set a default image for the content without pictures.\",\n\t\"set-your-facebook-app-id\": \"Set your Facebook App ID.\"\n}"
  },
  {
    "path": "bl-plugins/opengraph/languages/da.json",
    "content": "{\n\t\"plugin-data\": {\n\t\t\"description\": \"Open Graph protokollen gør det muligt for ethvert websted, at blive et rigt objekt i en social graf.\",\n\t\t\"name\": \"Open Graph\"\n\t},\n\t\"set-a-default-image-for-content\": \"Indsæt et standardbillede til indholdet uden billeder.\",\n\t\"set-your-facebook-app-id\": \"Indsæt dit Facebook App ID.\"\n}\n"
  },
  {
    "path": "bl-plugins/opengraph/languages/de_CH.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Open Graph\",\n\t\t\"description\": \"Plugin zur Verwendung des Open Graph Protocols (beispielsweise für Facebook).\"\n\t},\n\t\"set-a-default-image-for-content\": \"Set a default image for the content without pictures.\",\n\t\"set-your-facebook-app-id\": \"Set your Facebook App ID.\"\n}\n"
  },
  {
    "path": "bl-plugins/opengraph/languages/de_DE.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Open Graph\",\n\t\t\"description\": \"Plugin zur Verwendung des Open Graph Protocols (beispielsweise für Facebook).\"\n\t},\n\t\"set-a-default-image-for-content\": \"Set a default image for the content without pictures.\",\n\t\"set-your-facebook-app-id\": \"Set your Facebook App ID.\"\n}\n"
  },
  {
    "path": "bl-plugins/opengraph/languages/en.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Open Graph\",\n\t\t\"description\": \"The Open Graph protocol enables any web page to become a rich object in a social graph.\"\n\t},\n\t\"set-a-default-image-for-content\": \"Set a default image for the content without pictures.\",\n\t\"set-your-facebook-app-id\": \"Set your Facebook App ID.\"\n}"
  },
  {
    "path": "bl-plugins/opengraph/languages/es.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Open Graph\",\n\t\t\"description\": \"Este complemento mejora las publicaciones en las redes sociales con este plugin.\"\n\t},\n\t\"set-a-default-image-for-content\": \"Set a default image for the content without pictures.\",\n\t\"set-your-facebook-app-id\": \"Set your Facebook App ID.\"\n}"
  },
  {
    "path": "bl-plugins/opengraph/languages/fa_IR.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Open Graph\",\n\t\t\"description\": \"پروتکل Open Graph یک صفحه وب را به یک شیء غنی در یک نمودار اجتماعی تبدیل می کند .\"\n\t},\n\t\"set-a-default-image-for-content\": \"قراردادن یک تصویر پیش‌فرض برای محتوایی که تصویر ندارد.\",\t\n\t\"set-your-facebook-app-id\": \"قراردادن شناسه Facebook App.\"\n}\n"
  },
  {
    "path": "bl-plugins/opengraph/languages/fr_FR.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Open Graph\",\n\t\t\"description\": \"Permets à n’importe quelle page web de devenir l’objet enrichi d’un graphe social. Par exemple, il est utilisé sur Facebook pour permettre à une page web de bénéficier des mêmes fonctionnalités que n’importe quel autre objet sur Facebook.\"\n\t},\n\t\"set-a-default-image-for-content\": \"Définissez une image par défaut pour le contenu sans images.\",\n\t\"set-your-facebook-app-id\": \"Définissez votre identifiant d'application Facebook.\"\n}"
  },
  {
    "path": "bl-plugins/opengraph/languages/it.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Open Graph\",\n\t\t\"description\": \"Il protocollo Open Graph permette a qualsiasi pagina web di diventare un rich object in un social graph.\"\n\t},\n\t\"set-a-default-image-for-content\": \"Imposta un'immagine predefinita per il contenuto senza foto.\",\n\t\"set-your-facebook-app-id\": \"Imposta il tuo Facebook App ID.\"\n}\n"
  },
  {
    "path": "bl-plugins/opengraph/languages/ja_JP.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Open Graph\",\n\t\t\"description\": \"The Open Graph protocol enables any web page to become a rich object in a social graph.\"\n\t},\n\t\"set-a-default-image-for-content\": \"Set a default image for the content without pictures.\",\n\t\"set-your-facebook-app-id\": \"Set your Facebook App ID.\"\n}"
  },
  {
    "path": "bl-plugins/opengraph/languages/nl_NL.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Open Graph\",\n\t\t\"description\": \"Met het Open Graph-protocol kan van iedere pagina een object in een sociale grafiek worden gemaakt.\"\n\t},\n\t\"set-a-default-image-for-content\": \"Standaardafbeelding voor inhoud zonder afbeeldingen.\",\n\t\"set-your-facebook-app-id\": \"Uw Facebook App-ID.\"\n}"
  },
  {
    "path": "bl-plugins/opengraph/languages/pl_PL.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Open Graph\",\n\t\t\"description\": \"Protokół Open Graph zezwala stronie na stosowanie meta tagów używanych w serwisach społecznościowych.\"\n\t},\n\t\"set-a-default-image-for-content\": \"Set a default image for the content without pictures.\",\n\t\"set-your-facebook-app-id\": \"Set your Facebook App ID.\"\n}"
  },
  {
    "path": "bl-plugins/opengraph/languages/ru_RU.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Open Graph\",\n\t\t\"description\": \"Протокол Open Graph дает возможность связывать свой контент с социальными сетями.\"\n\t},\n\t\"set-a-default-image-for-content\": \"Установите изображение по умолчанию для контента без картинок.\",\n\t\"set-your-facebook-app-id\": \"Установите свой идентификатор приложения Facebook (App ID).\"\n}\n"
  },
  {
    "path": "bl-plugins/opengraph/languages/tr.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Open Graph\",\n\t\t\"description\": \"Open Graph protokolü sosyal bir grafikte zengin bir nesne halinde herhangi bir web sayfasını sağlar.\"\n\t},\n\t\"set-a-default-image-for-content\": \"Set a default image for the content without pictures.\",\n\t\"set-your-facebook-app-id\": \"Set your Facebook App ID.\"\n}\n"
  },
  {
    "path": "bl-plugins/opengraph/languages/uk_UA.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Open Graph\",\n\t\t\"description\": \"Протокол Open Graph дозволяє ділитися будь-якою веб-сторінкою у соціальних мережах.\"\n\t},\n\t\"set-a-default-image-for-content\": \"Set a default image for the content without pictures.\",\n\t\"set-your-facebook-app-id\": \"Set your Facebook App ID.\"\n}\n"
  },
  {
    "path": "bl-plugins/opengraph/languages/zh_TW.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"開放社交關係圖\",\n\t\t\"description\": \"開放社交關係圖協定可以讓任何網頁變成豐富的物件\"\n\t},\n\t\"set-a-default-image-for-content\": \"Set a default image for the content without pictures.\",\n\t\"set-your-facebook-app-id\": \"Set your Facebook App ID.\"\n}"
  },
  {
    "path": "bl-plugins/opengraph/metadata.json",
    "content": "{\n\t\"author\": \"Bludit\",\n\t\"email\": \"\",\n\t\"website\": \"https://plugins.bludit.com\",\n\t\"version\": \"3.21.0\",\n\t\"releaseDate\": \"2026-04-25\",\n\t\"license\": \"MIT\",\n\t\"compatible\": \"3.21\",\n\t\"notes\": \"\"\n}\n"
  },
  {
    "path": "bl-plugins/opengraph/plugin.php",
    "content": "<?php\n\nclass pluginOpenGraph extends Plugin\n{\n\n\tpublic function init()\n\t{\n\t\t// Fields and default values for the database of this plugin\n\t\t$this->dbFields = array(\n\t\t\t'defaultImage' => '',\n\t\t\t'fbAppId' => ''\n\t\t);\n\t}\n\n\tpublic function form()\n\t{\n\t\tglobal $L;\n\n\t\t$html  = '<div class=\"alert alert-primary\" role=\"alert\">';\n\t\t$html .= $this->description();\n\t\t$html .= '</div>';\n\n\t\t$html .= '<div>';\n\t\t$html .= '<label>' . $L->get('Default image') . '</label>';\n\t\t$html .= '<input id=\"jsdefaultImage\" name=\"defaultImage\" type=\"text\" dir=\"auto\" value=\"' . $this->getValue('defaultImage') . '\" placeholder=\"https://\">';\n\t\t$html .= '<span class=\"tip\">' . $L->g('set-a-default-image-for-content') . '</span>';\n\t\t$html .= '</div>';\n\n\t\t$html .= '<div>';\n\t\t$html .= '<label>' . $L->get('Facebook App ID') . '</label>';\n\t\t$html .= '<input name=\"fbAppId\" type=\"text\" dir=\"auto\" value=\"' . $this->getValue('fbAppId') . '\" placeholder=\"App ID\">';\n\t\t$html .= '<span class=\"tip\">' . $L->g('set-your-facebook-app-id') . '</span>';\n\t\t$html .= '</div>';\n\n\t\treturn $html;\n\t}\n\n\t/**\n\t * Sanitize and escape content for use in meta tags\n\t */\n\tprivate function sanitize($text, $maxLength = 0)\n\t{\n\t\t// Strip HTML tags\n\t\t$text = strip_tags($text);\n\t\t// Decode HTML entities first to avoid double encoding\n\t\t$text = html_entity_decode($text, ENT_QUOTES, 'UTF-8');\n\t\t// Trim whitespace\n\t\t$text = trim($text);\n\t\t// Truncate if needed\n\t\tif ($maxLength > 0 && mb_strlen($text, 'UTF-8') > $maxLength) {\n\t\t\t$text = mb_substr($text, 0, $maxLength, 'UTF-8') . '...';\n\t\t}\n\t\t// Escape for HTML attribute\n\t\treturn htmlspecialchars($text, ENT_QUOTES, 'UTF-8');\n\t}\n\n\tpublic function siteHead()\n\t{\n\t\tglobal $url;\n\t\tglobal $site;\n\t\tglobal $WHERE_AM_I;\n\t\tglobal $page;\n\t\tglobal $content;\n\n\t\t$og = array(\n\t\t\t'locale'\t=> $site->locale(),\n\t\t\t'type'\t\t=> 'website',\n\t\t\t'title'\t\t=> $this->sanitize($site->title()),\n\t\t\t'description'\t=> $this->sanitize($site->description(), 200),\n\t\t\t'url'\t\t=> $site->url(),\n\t\t\t'image'\t\t=> '',\n\t\t\t'siteName'\t=> $this->sanitize($site->title()),\n\t\t\t'publishedTime'\t=> '',\n\t\t\t'modifiedTime'\t=> '',\n\t\t\t'author'\t=> ''\n\t\t);\n\n\t\tswitch ($WHERE_AM_I) {\n\t\t\tcase 'page':\n\t\t\t\t$og['type'] = 'article';\n\t\t\t\t$og['title'] = $this->sanitize($page->title());\n\n\t\t\t\t// Get description: use page description or fallback to content excerpt\n\t\t\t\t$description = $page->description();\n\t\t\t\tif (empty($description)) {\n\t\t\t\t\t$description = Text::truncate(strip_tags($page->contentRaw()), 160);\n\t\t\t\t}\n\t\t\t\t$og['description'] = $this->sanitize($description, 200);\n\n\t\t\t\t$og['url'] = $page->permalink($absolute = true);\n\t\t\t\t$og['image'] = $page->coverImage($absolute = true);\n\n\t\t\t\t// Article-specific meta tags (ISO 8601 format)\n\t\t\t\t$og['publishedTime'] = $page->date('c');\n\t\t\t\t$dateModified = $page->dateModified('c');\n\t\t\t\tif (!empty($dateModified)) {\n\t\t\t\t\t$og['modifiedTime'] = $dateModified;\n\t\t\t\t}\n\t\t\t\t$og['author'] = $this->sanitize($page->user('nickname'));\n\n\t\t\t\t$pageContent = $page->content();\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\t$pageContent = '';\n\t\t\t\tif (Text::isNotEmpty($this->getValue('defaultImage'))) {\n\t\t\t\t\t$og['image'] = $this->getValue('defaultImage');\n\t\t\t\t} elseif (isset($content[0])) {\n\t\t\t\t\t$og['image'] = $content[0]->coverImage($absolute = true);\n\t\t\t\t\t$pageContent = $content[0]->content();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\n\t\t// Build HTML output\n\t\t$html  = PHP_EOL . '<!-- Open Graph -->' . PHP_EOL;\n\t\t$html .= '<meta property=\"og:locale\" content=\"' . $og['locale'] . '\">' . PHP_EOL;\n\t\t$html .= '<meta property=\"og:type\" content=\"' . $og['type'] . '\">' . PHP_EOL;\n\t\t$html .= '<meta property=\"og:title\" content=\"' . $og['title'] . '\">' . PHP_EOL;\n\t\t$html .= '<meta property=\"og:description\" content=\"' . $og['description'] . '\">' . PHP_EOL;\n\t\t$html .= '<meta property=\"og:url\" content=\"' . $og['url'] . '\">' . PHP_EOL;\n\t\t$html .= '<meta property=\"og:site_name\" content=\"' . $og['siteName'] . '\">' . PHP_EOL;\n\n\t\t// Article-specific tags\n\t\tif ($og['type'] === 'article') {\n\t\t\tif (!empty($og['publishedTime'])) {\n\t\t\t\t$html .= '<meta property=\"article:published_time\" content=\"' . $og['publishedTime'] . '\">' . PHP_EOL;\n\t\t\t}\n\t\t\tif (!empty($og['modifiedTime'])) {\n\t\t\t\t$html .= '<meta property=\"article:modified_time\" content=\"' . $og['modifiedTime'] . '\">' . PHP_EOL;\n\t\t\t}\n\t\t\tif (!empty($og['author'])) {\n\t\t\t\t$html .= '<meta property=\"article:author\" content=\"' . $og['author'] . '\">' . PHP_EOL;\n\t\t\t}\n\t\t}\n\n\t\t// If the page doesn't have a coverImage try to get an image from the HTML content\n\t\tif (empty($og['image'])) {\n\t\t\t$src = DOM::getFirstImage($pageContent);\n\t\t\tif ($src !== false) {\n\t\t\t\t$og['image'] = $src;\n\t\t\t} elseif (Text::isNotEmpty($this->getValue('defaultImage'))) {\n\t\t\t\t$og['image'] = $this->getValue('defaultImage');\n\t\t\t}\n\t\t}\n\n\t\tif (!empty($og['image'])) {\n\t\t\t$html .= '<meta property=\"og:image\" content=\"' . $og['image'] . '\">' . PHP_EOL;\n\t\t\t// Add image alt for accessibility\n\t\t\t$html .= '<meta property=\"og:image:alt\" content=\"' . $og['title'] . '\">' . PHP_EOL;\n\t\t}\n\n\t\tif (Text::isNotEmpty($this->getValue('fbAppId'))) {\n\t\t\t$html .= '<meta property=\"fb:app_id\" content=\"' . $this->getValue('fbAppId') . '\">' . PHP_EOL;\n\t\t}\n\n\t\treturn $html;\n\t}\n}\n"
  },
  {
    "path": "bl-plugins/popeye/languages/de_AT.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Theme Popeye\",\n\t\t\"description\": \"Das Plugin erlaubt verschiedene Einstellungen für das Theme Popeye.\"\n\t},\n\t\"enable-or-disable-dark-mode\": \"Dunkelmodus aktivieren oder deaktivieren.\",\n\t\"enable-or-disable-google-fonts\": \"Google Fonts aktivieren oder deaktivieren.\",\n\t\"relative\": \"Relativ\",\n\t\"absolute\": \"Absolut\",\t\n\t\"change-the-date-format-for-the-main-page\": \"Einstellung des Datumsformats auf der Haupt- oder Blogseite.\",\n\t\"show-tags\": \"Schlagwörter zeigen\",\n\t\"show-tags-in-the-main-page-for-each-article\": \"Zeigt auf der Haupt- oder Blogseite die Schlagwörter der Beiträge.\"\t\n}\n"
  },
  {
    "path": "bl-plugins/popeye/languages/de_CH.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Theme Popeye\",\n\t\t\"description\": \"Das Plugin erlaubt verschiedene Einstellungen für das Theme Popeye.\"\n\t},\n\t\"enable-or-disable-dark-mode\": \"Dunkelmodus aktivieren oder deaktivieren.\",\n\t\"enable-or-disable-google-fonts\": \"Google Fonts aktivieren oder deaktivieren.\",\n\t\"relative\": \"Relativ\",\n\t\"absolute\": \"Absolut\",\t\n\t\"change-the-date-format-for-the-main-page\": \"Einstellung des Datumsformats auf der Haupt- oder Blogseite.\",\n\t\"show-tags\": \"Schlagwörter zeigen\",\n\t\"show-tags-in-the-main-page-for-each-article\": \"Zeigt auf der Haupt- oder Blogseite die Schlagwörter der Beiträge.\"\t\n}\n"
  },
  {
    "path": "bl-plugins/popeye/languages/de_DE.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Theme Popeye\",\n\t\t\"description\": \"Das Plugin erlaubt verschiedene Einstellungen für das Theme Popeye.\"\n\t},\n\t\"enable-or-disable-dark-mode\": \"Dunkelmodus aktivieren oder deaktivieren.\",\n\t\"enable-or-disable-google-fonts\": \"Google Fonts aktivieren oder deaktivieren.\",\n\t\"relative\": \"Relativ\",\n\t\"absolute\": \"Absolut\",\t\n\t\"change-the-date-format-for-the-main-page\": \"Einstellung des Datumsformats auf der Haupt- oder Blogseite.\",\n\t\"show-tags\": \"Schlagwörter zeigen\",\n\t\"show-tags-in-the-main-page-for-each-article\": \"Zeigt auf der Haupt- oder Blogseite die Schlagwörter der Beiträge.\"\t\n}\n"
  },
  {
    "path": "bl-plugins/popeye/languages/en.json",
    "content": "{\n\t\"plugin-data\": {\n\t\t\"name\": \"Popeye Theme\",\n\t\t\"description\": \"This plugin provides configuration for the Popeye theme.\"\n\t},\n\t\"enable-or-disable-dark-mode\": \"Enable or disable dark mode.\",\n\t\"enable-or-disable-google-fonts\": \"Enable or disable Google fonts.\",\n\t\"relative\": \"Relative\",\n\t\"absolute\": \"Absolute\",\n\t\"change-the-date-format-for-the-main-page\": \"Change the date format for the main page.\",\n\t\"show-tags\": \"Show tags\",\n\t\"show-tags-in-the-main-page-for-each-article\": \"Show tags on the main page for each article.\"\n}\n"
  },
  {
    "path": "bl-plugins/popeye/languages/ja_JP.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Popeye Theme\",\n\t\t\"description\": \"Popeyeテーマの設定を行うプラグインです。\"\n\t},\n\t\"enable-or-disable-dark-mode\": \"ダークモードを有効または無効にします。\",\n\t\"enable-or-disable-google-fonts\": \"Google Fontsの利用を有効または無効にします。\",\n\t\"relative\": \"相対的\",\n\t\"absolute\": \"絶対的\",\n\t\"change-the-date-format-for-the-main-page\": \"メインページの日付表示形式を変更します。\",\n\t\"show-tags\": \"タグの表示\",\n\t\"show-tags-in-the-main-page-for-each-article\": \"メインページの各記事にタグを表示します。\"\n}\n"
  },
  {
    "path": "bl-plugins/popeye/languages/nl_NL.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Popeye Thema\",\n\t\t\"description\": \"Met deze plugin kan het thema Popeye geconfigureerd worden.\"\n\t},\n\t\"enable-or-disable-dark-mode\": \"Donkere modus in-/uitschakelen.\",\n\t\"enable-or-disable-google-fonts\": \"Lettertypes van Google in-/uitschakelen.\",\n\t\"relative\": \"Relatief\",\n\t\"absolute\": \"Absoluut\",\n\t\"change-the-date-format-for-the-main-page\": \"Het datumformaat voor de hoofdpagina aanpassen.\",\n\t\"show-tags\": \"Tags tonen\",\n\t\"show-tags-in-the-main-page-for-each-article\": \"Op de hoofdpagina voor ieder artikel de tags tonen.\"\n}\n"
  },
  {
    "path": "bl-plugins/popeye/metadata.json",
    "content": "{\n  \"author\": \"Bludit\",\n  \"email\": \"\",\n  \"website\": \"https://plugins.bludit.com\",\n  \"version\": \"3.21.0\",\n  \"releaseDate\": \"2026-04-25\",\n  \"license\": \"MIT\",\n  \"compatible\": \"3.21\",\n  \"notes\": \"\",\n  \"type\": \"theme\"\n}\n"
  },
  {
    "path": "bl-plugins/popeye/plugin.php",
    "content": "<?php\n\nclass popeye extends Plugin\n{\n\n\tpublic function init()\n\t{\n\t\t$this->dbFields = array(\n\t\t\t'googleFonts' => true,\n\t\t\t'darkMode' => true,\n\t\t\t'dateFormat' => 'relative',\n\t\t\t'showTags' => true\n\t\t);\n\t}\n\n\tpublic function form()\n\t{\n\t\tglobal $L;\n\n\t\t$html  = '<div class=\"mb-3\">';\n\t\t$html .= '<label class=\"form-label\" for=\"darkMode\">' . $L->get('Dark Mode') . '</label>';\n\t\t$html .= '<select class=\"form-select\" id=\"darkMode\" name=\"darkMode\">';\n\t\t$html .= '<option value=\"true\" ' . ($this->getValue('darkMode') === true ? 'selected' : '') . '>' . $L->get('Enabled') . '</option>';\n\t\t$html .= '<option value=\"false\" ' . ($this->getValue('darkMode') === false ? 'selected' : '') . '>' . $L->get('Disabled') . '</option>';\n\t\t$html .= '</select>';\n\t\t$html .= '<div class=\"form-text\">' . $L->get('Enable or disable dark mode.') . '</div>';\n\t\t$html .= '</div>';\n\n\t\t$html .= '<div class=\"mb-3\">';\n\t\t$html .= '<label class=\"form-label\" for=\"googleFonts\">' . $L->get('Google Fonts') . '</label>';\n\t\t$html .= '<select class=\"form-select\" id=\"googleFonts\" name=\"googleFonts\">';\n\t\t$html .= '<option value=\"true\" ' . ($this->getValue('googleFonts') === true ? 'selected' : '') . '>' . $L->get('Enabled') . '</option>';\n\t\t$html .= '<option value=\"false\" ' . ($this->getValue('googleFonts') === false ? 'selected' : '') . '>' . $L->get('Disabled') . '</option>';\n\t\t$html .= '</select>';\n\t\t$html .= '<div class=\"form-text\">' . $L->get('Enable or disable Google fonts.') . '</div>';\n\t\t$html .= '</div>';\n\n\t\t$html .= '<div class=\"mb-3\">';\n\t\t$html .= '<label class=\"form-label\" for=\"dateFormat\">' . $L->get('Date format') . '</label>';\n\t\t$html .= '<select class=\"form-select\" id=\"dateFormat\" name=\"dateFormat\">';\n\t\t$html .= '<option value=\"relative\" ' . ($this->getValue('dateFormat') == 'relative' ? 'selected' : '') . '>' . $L->get('Relative') . '</option>';\n\t\t$html .= '<option value=\"absolute\" ' . ($this->getValue('dateFormat') == 'absolute' ? 'selected' : '') . '>' . $L->get('Absolute') . '</option>';\n\t\t$html .= '</select>';\n\t\t$html .= '<div class=\"form-text\">' . $L->get('Change the date format for the main page.') . '</div>';\n\t\t$html .= '</div>';\n\n\t\t$html .= '<div class=\"mb-3\">';\n\t\t$html .= '<label class=\"form-label\" for=\"showTags\">' . $L->get('Show tags') . '</label>';\n\t\t$html .= '<select class=\"form-select\" id=\"showTags\" name=\"showTags\">';\n\t\t$html .= '<option value=\"true\" ' . ($this->getValue('showTags') === true ? 'selected' : '') . '>' . $L->get('Enabled') . '</option>';\n\t\t$html .= '<option value=\"false\" ' . ($this->getValue('showTags') === false ? 'selected' : '') . '>' . $L->get('Disabled') . '</option>';\n\t\t$html .= '</select>';\n\t\t$html .= '<div class=\"form-text\">' . $L->get('Show tags in the main page for each article.') . '</div>';\n\t\t$html .= '</div>';\n\n\t\treturn $html;\n\t}\n\n\tpublic function darkMode()\n\t{\n\t\treturn $this->getValue('darkMode');\n\t}\n\n\tpublic function googleFonts()\n\t{\n\t\treturn $this->getValue('googleFonts');\n\t}\n\n\tpublic function dateFormat()\n\t{\n\t\treturn $this->getValue('dateFormat');\n\t}\n\n\tpublic function showTags()\n\t{\n\t\treturn $this->getValue('showTags');\n\t}\n}\n"
  },
  {
    "path": "bl-plugins/remote-content/languages/da.json",
    "content": "{\n\t\"complete-url-of-the-zip-file\": \"Den komplette URL sti, til der hvor zip filen befinder sig.\",\n\t\"plugin-data\": {\n\t\t\"description\": \"Denne udvidelse giver en nem måde at få indholdet fra dit websted uploadet til Github eller lignende service, og være fuld synkroniseret med din Bludit installation.\",\n\t\t\"name\": \"Remote Content\"\n\t},\n\t\"source\": \"Kilde\",\n\t\"try-webhook\": \"Prøv webhook'et\",\n\t\"webhook\": \"Webhook\"\n}\n"
  },
  {
    "path": "bl-plugins/remote-content/languages/de_CH.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Remote Content\",\n\t\t\"description\": \"Das Plugin snychronisiert die Inhalte eines Repository wie GitHub mit einer Bludit-Installation.\"\n\t},\n\t\"webhook\": \"Webhook\",\n\t\"source\": \"Quelle\",\n\t\"try-webhook\": \"Webhook testen\",\n\t\"complete-url-of-the-zip-file\": \"Vollständiger URL des ZIP-Archivs.\"}\n"
  },
  {
    "path": "bl-plugins/remote-content/languages/de_DE.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Remote Content\",\n\t\t\"description\": \"Das Plugin snychronisiert die Inhalte eines Repository wie GitHub mit einer Bludit-Installation.\"\n\t},\n\t\"webhook\": \"Webhook\",\n\t\"source\": \"Quelle\",\n\t\"try-webhook\": \"Webhook testen\",\n\t\"complete-url-of-the-zip-file\": \"Vollständiger URL des ZIP-Archivs.\"}\n"
  },
  {
    "path": "bl-plugins/remote-content/languages/en.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Remote Content\",\n\t\t\"description\": \"This plugin provides an easy way to have the content of your site on Github or similar and in turn is synchronized with your Bludit.\"\n\t},\n\t\"webhook\": \"Webhook\",\n\t\"source\": \"Source\",\n\t\"try-webhook\": \"Try webhook\",\n\t\"complete-url-of-the-zip-file\": \"Complete URL of the zip file.\"\n}"
  },
  {
    "path": "bl-plugins/remote-content/languages/es.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Contenido remoto\",\n\t\t\"description\": \"Este plugin provee una forma facil de tener el contenido de tu sitio en Github o similar y a su vez esta sincronizado con tu Bludit.\"\n\t},\n\t\"webhook\": \"Webhook\",\n\t\"source\": \"Origen\",\n\t\"try-webhook\": \"Probar webhook\",\n\t\"complete-url-of-the-zip-file\": \"URL completa del archivo zip.\"\n}"
  },
  {
    "path": "bl-plugins/remote-content/languages/fa_IR.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"محتوای راه دور\",\n\t\t\"description\": \"این افزونه یک راه آسان برای داشتن محتوای سایت شما در Github یا مشابه دارد و به نوبه خود، با بلودیت شما هماهنگ شده است .\"\n\t},\n\t\"webhook\": \"Webhook\",\n\t\"source\": \"منبع\",\n\t\"try-webhook\": \"امتحان webhook\",\n\t\"complete-url-of-the-zip-file\": \"آدرس وب کامل فایل زیپ.\"\n}\n"
  },
  {
    "path": "bl-plugins/remote-content/languages/fr_FR.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Contenu distant\",\n\t\t\"description\": \"Ce plugin fournit un moyen facile d'avoir le contenu de votre site sur Github ou similaire et à son tour est synchronisé avec votre Bludit.\"\n\t},\n\t\"webhook\": \"Webhook\",\n\t\"source\": \"Source\",\n\t\"try-webhook\": \"Tester le webhook\",\n\t\"complete-url-of-the-zip-file\": \"URL complète du fichier zip.\"\n}"
  },
  {
    "path": "bl-plugins/remote-content/languages/it.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Contenuto remoto\",\n\t\t\"description\": \"Questo plugin offre un modo semplice di avere il contenuto del proprio sito su Github e simili e di tenerli sincronizzati con Bludit.\"\n\t},\n\t\"webhook\": \"Webhook\",\n\t\"source\": \"Sorgente\",\n\t\"try-webhook\": \"Prova webhook\",\n\t\"complete-url-of-the-zip-file\": \"URL completo del file zipe.\"\n}"
  },
  {
    "path": "bl-plugins/remote-content/languages/ja_JP.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Remote Content\",\n\t\t\"description\": \"This plugin provides an easy way to have the content of your site on Github or similar and in turn is synchronized with your Bludit.\"\n\t},\n\t\"webhook\": \"Webhook\",\n\t\"source\": \"ソース\",\n\t\"try-webhook\": \"Try webhook\",\n\t\"complete-url-of-the-zip-file\": \"Complete URL of the zip file.\"\n}"
  },
  {
    "path": "bl-plugins/remote-content/languages/nl_NL.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Externe Inhoud\",\n\t\t\"description\": \"Met deze plugin is het eenvoudig om inhoud voor de website op GitHub of soortgelijke bronnen te beheren en vervolgens te synchroniseren met Bludit.\"\n\t},\n\t\"webhook\": \"Web-hook\",\n\t\"source\": \"Bron\",\n\t\"try-webhook\": \"Web-hook testen\",\n\t\"complete-url-of-the-zip-file\": \"Complete URL van het .zip-bestand.\"\n}"
  },
  {
    "path": "bl-plugins/remote-content/languages/ru_RU.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Remote Content\",\n\t\t\"description\": \"Этот плагин обеспечивает простой способ синхронизации вашего сайта и Github или аналогичной платформы.\"\n\t},\n\t\"webhook\": \"Вебхук\",\n\t\"source\": \"Источник\",\n\t\"try-webhook\": \"Попробовать этот вебхук\",\n\t\"complete-url-of-the-zip-file\": \"Полный URL-адрес zip-файла.\"\n}\n"
  },
  {
    "path": "bl-plugins/remote-content/metadata.json",
    "content": "{\n\t\"author\": \"Bludit\",\n\t\"email\": \"\",\n\t\"website\": \"https://plugins.bludit.com/plugin/remote-content\",\n\t\"version\": \"3.21.0\",\n\t\"releaseDate\": \"2026-04-25\",\n\t\"license\": \"MIT\",\n\t\"compatible\": \"3.21\",\n\t\"notes\": \"\"\n}\n"
  },
  {
    "path": "bl-plugins/remote-content/plugin.php",
    "content": "<?php\n\nclass pluginRemoteContent extends Plugin\n{\n\n\tpublic function init()\n\t{\n\t\t// Generate a random string for the webhook\n\t\t$randomWebhook = bin2hex( openssl_random_pseudo_bytes(32) );\n\n\t\t// Key and value for the database of the plugin\n\t\t$this->dbFields = array(\n\t\t\t'webhook' => $randomWebhook,\n\t\t\t'source' => ''\n\t\t);\n\t}\n\n\tpublic function form()\n\t{\n\t\tglobal $language;\n\n\t\tif (extension_loaded('zip') === false) {\n\t\t\t$this->formButtons = false;\n\t\t\treturn '<div class=\"alert alert-success\">' . $language->get('the-extension-zip-is-not-installed') . '</div>';\n\t\t}\n\n\t\t$html  = '<div class=\"alert alert-primary\" role=\"alert\">';\n\t\t$html .= $this->description();\n\t\t$html .= '</div>';\n\n\t\t$html .= '<div>';\n\t\t$html .= '<label>' . $language->get('Webhook') . '</label>';\n\t\t$html .= '<input id=\"jswebhook\" name=\"webhook\" type=\"text\" dir=\"auto\" value=\"' . $this->getValue('webhook') . '\">';\n\t\t$html .= '<span class=\"tip\">' . DOMAIN_BASE . $this->getValue('webhook') . '</span>';\n\t\t$html .= '</div>';\n\n\t\t$html .= '<div>';\n\t\t$html .= '<label>' . $language->get('Source') . '</label>';\n\t\t$html .= '<input id=\"jssource\" name=\"source\" type=\"text\" dir=\"auto\" value=\"' . $this->getValue('source') . '\" placeholder=\"https://\">';\n\t\t$html .= '<span class=\"tip\">' . $language->get('Complete URL of the zip file') . '</span>';\n\t\t$html .= '</div>';\n\n\t\t$html .= '<hr>';\n\t\t$html .= '<div>';\n\t\t$html .= '<button type=\"button\" id=\"jstryWebhook\" class=\"btn btn-primary\" onclick=\"tryWebhook()\">' . $language->get('Try webhook') . '</button>';\n\t\t$html .= <<<EOF\n<script>\n\tfunction tryWebhook() {\n\t\tvar webhook = document.getElementById(\"jswebhook\").value;\n\t\twindow.open(DOMAIN_BASE+webhook, '_blank');\n\t}\n</script>\nEOF;\n\t\t$html .= '</div>';\n\n\t\treturn $html;\n\t}\n\n\tpublic function beforeAll()\n\t{\n\t\t// Check Webhook\n\t\t$webhook = $this->getValue('webhook');\n\t\tif ($this->webhook($webhook)) {\n\t\t\t$this->cleanUp();\n\n\t\t\t// Download files\n\t\t\t$this->downloadFiles();\n\n\t\t\t// Delete the current content\n\t\t\t$this->deleteContent();\n\n\t\t\t// Generate the new content\n\t\t\t$this->generateContent();\n\n\t\t\t// End request\n\t\t\t$this->response(array('status' => '0'));\n\t\t}\n\t}\n\n\tprivate function downloadFiles()\n\t{\n\t\t// Download the zip file\n\t\tLog::set('Plugin Remote Content' . LOG_SEP . 'Downloading the zip file.');\n\t\t$source = $this->getValue('source');\n\t\t$destinationPath = $this->workspace();\n\t\t$destinationFile = $destinationPath . 'content.zip';\n\t\tTCP::download($source, $destinationFile);\n\n\t\t// Uncompress the zip file\n\t\tLog::set('Plugin Remote Content' . LOG_SEP . 'Uncompress the zip file.');\n\t\t$zip = new ZipArchive;\n\t\tif ($zip->open($destinationFile) === true) {\n\t\t\t$zip->extractTo($destinationPath);\n\t\t\t$zip->close();\n\t\t}\n\n\t\t// Delete the zip file\n\t\tunlink($destinationFile);\n\t\treturn true;\n\t}\n\n\t// Delete the page and uploads directories from bl-content\n\tprivate function deleteContent()\n\t{\n\t\t// Clean the page database\n\t\tglobal $pages;\n\t\t$pages->db = array();\n\n\t\tFilesystem::deleteRecursive(PATH_PAGES);\n\t\tFilesystem::deleteRecursive(PATH_UPLOADS);\n\t\tmkdir(PATH_PAGES, DIR_PERMISSIONS, true);\n\t\tmkdir(PATH_UPLOADS, DIR_PERMISSIONS, true);\n\t\tmkdir(PATH_UPLOADS_PROFILES, DIR_PERMISSIONS, true);\n\t\tmkdir(PATH_UPLOADS_THUMBNAILS, DIR_PERMISSIONS, true);\n\n\t\treturn true;\n\t}\n\n\tprivate function cleanUp()\n\t{\n\t\t$workspace = $this->workspace();\n\t\tFilesystem::deleteRecursive($workspace . DS);\n\t\tmkdir($workspace, DIR_PERMISSIONS, true);\n\t\treturn true;\n\t}\n\n\tprivate function generateContent()\n\t{\n\t\tglobal $pages;\n\n\t\t$root = Filesystem::listDirectories($this->workspace());\n\t\t$root = $root[0]; // first directory created by the unzip\n\n\t\t// For each page inside the pages directory\n\t\t// Parse the page and add to the database\n\t\tif (Filesystem::directoryExists($root . DS . 'pages')) {\n\t\t\t$parentList = Filesystem::listDirectories($root . DS . 'pages' . DS);\n\t\t\tforeach ($parentList as $parentDirectory) {\n\t\t\t\t$parentKey = basename($parentDirectory);\n\t\t\t\tif (Filesystem::fileExists($parentDirectory . DS . 'index.md')) {\n\t\t\t\t\t$row = $this->parsePage($parentDirectory . DS . 'index.md');\n\t\t\t\t\t$row['slug'] = $parentKey;\n\t\t\t\t\t$pages->add($row);\n\t\t\t\t}\n\n\t\t\t\t$childList = Filesystem::listDirectories($parentDirectory . DS);\n\t\t\t\tforeach ($childList as $childDirectory) {\n\t\t\t\t\t$childKey = basename($childDirectory);\n\t\t\t\t\tif (Filesystem::fileExists($childDirectory . DS . 'index.md')) {\n\t\t\t\t\t\t$row = $this->parsePage($childDirectory . DS . 'index.md');\n\t\t\t\t\t\t$row['slug'] = $childKey;\n\t\t\t\t\t\t$row['parent'] = $parentKey;\n\t\t\t\t\t\t$pages->add($row);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tTheme::plugins('afterPageCreate');\n\t\t\treindexCategories();\n\t\t\treindexTags();\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tprivate function response($data = array())\n\t{\n\t\t$json = json_encode($data);\n\t\theader('Content-Type: application/json');\n\t\texit($json);\n\t}\n\n\tprivate function parsePage($filename)\n\t{\n\t\t$lines = file($filename);\n\t\t$row = array();\n\n\t\t// Title\n\t\t$title = ltrim($lines[0], '#'); // Remove the first #\n\t\t$title = trim($title);\n\t\tunset($lines[0]);\n\t\t$row['title'] = $title;\n\n\t\tforeach ($lines as $key => $line) {\n\t\t\tif (Text::startsWith($line, '<!--')) {\n\t\t\t\t$line = preg_replace('/<!\\-\\-/', '', $line);\n\t\t\t\t$line = preg_replace('/\\-\\->/', '', $line);\n\t\t\t\t$line = trim($line);\n\n\t\t\t\t$explode = $explode = explode(':', $line, 2);\n\n\t\t\t\t//$field = Text::lowercase($explode[0]);\n\t\t\t\t$field = $explode[0];\n\t\t\t\t$field = trim($field);\n\t\t\t\tunset($explode[0]);\n\t\t\t\t$row[$field] = trim($explode[1]);\n\n\t\t\t\tunset($lines[$key]);\n\t\t\t} else {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\t$row['content'] = implode('', $lines);\n\t\t$row['username'] = 'admin';\n\n\t\treturn $row;\n\t}\n}\n"
  },
  {
    "path": "bl-plugins/robots/languages/da.json",
    "content": "{\n\t\"plugin-data\": {\n\t\t\"description\": \"Du kan bruge et specielt HTML metatag til at fortælle søgerobotter, om at de ikke skal indeksere indholdet på en side og / eller ikke scanne det for links, der kan følges.<br>Læs mere om søgerobotter her: <a href=\\\"https://www.robotstxt.org/robotstxt.html\\\">https://www.robotstxt.org/</a>\",\n\t\t\"name\": \"Robots\"\n\t}\n}\n"
  },
  {
    "path": "bl-plugins/robots/languages/de_CH.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Robots\",\n\t\t\"description\": \"Plugin für die Verwendung von Robots-Meta-Tags zur Suchmaschinenoptimierung (SEO) unter \\\"Einstellungen\\\" bei der Erstellung oder Bearbeitung von Seiten.\"\n\t}\n}\n"
  },
  {
    "path": "bl-plugins/robots/languages/de_DE.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Robots\",\n\t\t\"description\": \"Plugin für die Verwendung von Robots-Meta-Tags zur Suchmaschinenoptimierung (SEO) unter \\\"Einstellungen\\\" bei der Erstellung oder Bearbeitung von Seiten.\"\n\t}\n}\n"
  },
  {
    "path": "bl-plugins/robots/languages/en.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Robots\",\n\t\t\"description\": \"You can use a special HTML meta tag to tell robots not to index the content of a page, and/or not scan it for links to follow.\"\n\t}\n}"
  },
  {
    "path": "bl-plugins/robots/languages/es.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Robots\",\n\t\t\"description\": \"Puedes usar una metaetiqueta HTML especial para decirle a los robots que no indexen el contenido de una página.\"\n\t}\n}"
  },
  {
    "path": "bl-plugins/robots/languages/fa_IR.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"محتوای راه دور\",\n\t\t\"description\": \"این افزونه یک راه آسان برای داشتن محتوای سایت شما در Github یا مشابه دارد و به نوبه خود، با بلودیت شما هماهنگ شده است .\"\n\t},\n\t\"webhook\": \"Webhook\",\n\t\"source\": \"منبع\",\n\t\"try-webhook\": \"امتحان webhook\",\n\t\"complete-url-of-the-zip-file\": \"آدرس وب کامل فایل زیپ.\"\n}\n"
  },
  {
    "path": "bl-plugins/robots/languages/fr_FR.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Robots\",\n\t\t\"description\": \"Vous pouvez utiliser une métabalise HTML spéciale pour indiquer aux robots de ne pas indexer le contenu d'une page et/ou de ne pas l'analyser pour trouver des liens à suivre.\"\n\t}\n}"
  },
  {
    "path": "bl-plugins/robots/languages/it.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Robot\",\n\t\t\"description\": \"Puoi usare uno speciale meta tag HTML per direi ai robot di non indicizzare il contenuto di una pagina, e/o di non scansionarla per i link.\"\n\t}\n}"
  },
  {
    "path": "bl-plugins/robots/languages/ja_JP.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Robots\",\n\t\t\"description\": \"You can use a special HTML meta tag to tell robots not to index the content of a page, and\\/or not scan it for links to follow.\"\n\t}\n}"
  },
  {
    "path": "bl-plugins/robots/languages/nl_NL.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Robots\",\n\t\t\"description\": \"Mogelijkheid om via een speciale HTML meta-tag robots/crawlers op te dragen om de inhoud van een pagina niet te indexeren, niet te archiveren en/of niet te scannen op links.\"\n\t}\n}"
  },
  {
    "path": "bl-plugins/robots/languages/ru_RU.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Поисковые роботы\",\n\t\t\"description\": \"Вы можете использовать специальный метатег HTML, чтобы сообщить роботам, чтобы они не индексировали содержимое страницы, и/или не просматривали его на наличие ссылок.\"\n\t}\n}"
  },
  {
    "path": "bl-plugins/robots/languages/tr.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Robotlar\",\n\t\t\"description\": \"Robotların bir sayfanın içeriğini dizine eklememelerini veya takip edilecek bağlantılar için taramamasını sağlamak için özel bir HTML meta etiketi kullanabilirsiniz.\"\n\t}\n}\n"
  },
  {
    "path": "bl-plugins/robots/metadata.json",
    "content": "{\n\t\"author\": \"Bludit\",\n\t\"email\": \"\",\n\t\"website\": \"https://plugins.bludit.com\",\n\t\"version\": \"3.21.0\",\n\t\"releaseDate\": \"2026-04-25\",\n\t\"license\": \"MIT\",\n\t\"compatible\": \"3.21\",\n\t\"notes\": \"\"\n}\n"
  },
  {
    "path": "bl-plugins/robots/plugin.php",
    "content": "<?php\n\nclass pluginRobots extends Plugin {\n\n\tpublic function init()\n\t{\n\t\t$this->dbFields = array(\n\t\t\t'robotstxt'=>'User-agent: *'.PHP_EOL.'Allow: /'\n\t\t);\n\t}\n\n\tpublic function form()\n\t{\n\t\t$html  = '<div class=\"alert alert-primary\" role=\"alert\">';\n\t\t$html .= $this->description();\n\t\t$html .= '</div>';\n\n\t\t$html .= '<div>';\n\t\t$html .= '<label>'.DOMAIN.'/robots.txt</label>';\n\t\t$html .= '<textarea name=\"robotstxt\" id=\"jsrobotstxt\">'.$this->getValue('robotstxt').'</textarea>';\n\t\t$html .= '</div>';\n\n\t\treturn $html;\n\t}\n\n\tpublic function siteHead()\n\t{\n\t\tglobal $WHERE_AM_I;\n\n\t\t$html = PHP_EOL.'<!-- Robots plugin -->'.PHP_EOL;\n\t\tif ($WHERE_AM_I=='page') {\n\t\t\tglobal $page;\n\t\t\t$robots = array();\n\n\t\t\tif ($page->noindex()) {\n\t\t\t\t$robots['noindex'] = 'noindex';\n\t\t\t}\n\n\t\t\tif ($page->nofollow()) {\n\t\t\t\t$robots['nofollow'] = 'nofollow';\n\t\t\t}\n\n\t\t\tif ($page->noarchive()) {\n\t\t\t\t$robots['noarchive'] = 'noarchive';\n\t\t\t}\n\n\t\t\tif (!empty($robots)) {\n\t\t\t\t$robots = implode(',', $robots);\n\t\t\t\t$html .= '<meta name=\"robots\" content=\"'.$robots.'\">'.PHP_EOL;\n\t\t\t}\n\t\t}\n\n\t\treturn $html;\n\t}\n\n\tpublic function beforeAll()\n\t{\n\t\t$webhook = 'robots.txt';\n\t\tif ($this->webhook($webhook)) {\n\t\t\theader('Content-type: text/plain');\n\t\t\t// Include link to sitemap in robots.txt if the plugin is enabled\n\t\t\tif (pluginActivated('pluginSitemap')) {\n\t\t\t\techo 'Sitemap: '.DOMAIN_BASE.'sitemap.xml'.PHP_EOL;\n\t\t\t}\n\t\t\techo $this->getValue('robotstxt');\n\t\t\texit(0);\n\t\t}\n\t}\n\n}\n"
  },
  {
    "path": "bl-plugins/rss/languages/da.json",
    "content": "{\n\t\"amount-of-items-to-show-on-the-feed\": \"Antal at emner, der skal vises i feedet.\",\n\t\"plugin-data\": {\n\t\t\"description\": \"Denne udvidelse genererer et RSS feed af dit websted.<br>Feedet har URL adressen https://example.com/rss.xml\",\n\t\t\"name\": \"RSS Feed\"\n\t},\n\t\"rss-url\": \"RSS URL\"\n}\n"
  },
  {
    "path": "bl-plugins/rss/languages/de_CH.json",
    "content": "{\n    \"plugin-data\": {\n        \"name\": \"RSS Feed\",\n        \"description\": \"Das Plugin erstellt einen RSS Feed der Inhalte.\"\n    },\n    \"amount-of-items-to-show-on-the-feed\": \"Anzahl der gezeigten Inhalte.\",\n    \"rss-url\": \"RSS-URL\"\n}\n"
  },
  {
    "path": "bl-plugins/rss/languages/de_DE.json",
    "content": "{\n    \"plugin-data\": {\n        \"name\": \"RSS Feed\",\n        \"description\": \"Das Plugin erstellt erstellt einen RSS Feed der Inhalte.\"\n    },\n    \"amount-of-items-to-show-on-the-feed\": \"Anzahl der gezeigten Inhalte.\",\n    \"rss-url\": \"RSS-URL\"\n}\n"
  },
  {
    "path": "bl-plugins/rss/languages/en.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"RSS Feed\",\n\t\t\"description\": \"This plugin generates an RSS feed of your site.<br>The feed has the URL https://example.com/rss.xml\"\n\t},\n\t\"amount-of-items-to-show-on-the-feed\": \"Amount of items to show on the feed.\",\n\t\"rss-url\": \"RSS URL\"\n}\n"
  },
  {
    "path": "bl-plugins/rss/languages/es.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"RSS Feed\",\n\t\t\"description\": \"Este plugin genera contenido dinamico en formato RSS de tu sitio.<br>El plugin genera la URL https://example.com/rss.xml\"\n\t},\n\t\"amount-of-items-to-show-on-the-feed\": \"Cantidad de artículos para mostrar.\",\n\t\"rss-url\": \"URL del RSS\"\n}"
  },
  {
    "path": "bl-plugins/rss/languages/fa_IR.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"خوراک RSS\",\n\t\t\"description\": \"این پلاگین برای وبسایت شما یک خوراک RSS تولید میکند.<br>خوراک آدرس وب https://example.com/rss.xml دارد\"\n\t},\n\t\"amount-of-items-to-show-on-the-feed\": \"تعداد مطالب جهت نمایش در خوراک.\",\n\t\"rss-url\": \"آدرس وب RSS\"\n}\n"
  },
  {
    "path": "bl-plugins/rss/languages/fr_FR.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Flux RSS\",\n\t\t\"description\": \"Ce plugin génère un flux RSS de votre site.<br/>Le flux est accessible a l'URL de ce genre : https://example.com/rss.xml\"\n\t},\n\t\"amount-of-items-to-show-on-the-feed\": \"Nombre d'éléments à afficher sur le flux.\",\n\t\"rss-url\": \"URL RSS\"\n}\n"
  },
  {
    "path": "bl-plugins/rss/languages/it.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Feed RSS\",\n\t\t\"description\": \"Questo plugin genera un feed RSS del tuo sito.<br>Il feed si trova all' URL https://esempio.com/rss.xml\"\n\t},\n\t\"amount-of-items-to-show-on-the-feed\": \"Quantità di voci da mostrare nel feed.\",\n\t\"rss-url\": \"URL RSS\"\n}\n"
  },
  {
    "path": "bl-plugins/rss/languages/ja_JP.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"RSS Feed\",\n\t\t\"description\": \"This plugin generates an RSS feed of your site.<br>The feed has the URL https:\\/\\/example.com\\/rss.xml\"\n\t},\n\t\"amount-of-items-to-show-on-the-feed\": \"フィードに表示するアイテム数。\",\n\t\"rss-url\": \"RSS URL\"\n}\n"
  },
  {
    "path": "bl-plugins/rss/languages/nl_NL.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"RSS-feed\",\n\t\t\"description\": \"Genereert een RSS-feed voor de website.<br>De URL van deze feed is https://voorbeeld.nl/rss.xml\"\n\t},\n\t\"amount-of-items\": \"Aantal items\",\n\t\"amount-of-items-to-show-on-the-feed\": \"Aantal items om op te nemen in de feed.\",\n\t\"rss-url\": \"URL voor RSS-feed\"\n}\n"
  },
  {
    "path": "bl-plugins/rss/languages/ru_RU.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"RSS-канал\",\n\t\t\"description\": \"Этот плагин создаёт RSS-канал для вашего сайта<br/>Канал доступен по URL https://example.com/rss.xml\"\n\t},\n\t\"amount-of-items-to-show-on-the-feed\": \"Количество позиций в RSS-канале.\",\n\t\"rss-url\": \"RSS URL\"\n}\n"
  },
  {
    "path": "bl-plugins/rss/languages/tr_TR.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"RSS Beslemesi\",\n\t\t\"description\": \"Bu eklenti, sitenizin RSS beslemesini üretir.<br>Besleme URL'si https://example.com/rss.xml gibi görünür.\"\n\t},\n\t\"amount-of-items-to-show-on-the-feed\": \"Özet akışında gösterilecek öğe miktarı.\",\n\t\"rss-url\": \"RSS URL\"\n}\n"
  },
  {
    "path": "bl-plugins/rss/metadata.json",
    "content": "{\n\t\"author\": \"Bludit\",\n\t\"email\": \"\",\n\t\"website\": \"https://plugins.bludit.com\",\n\t\"version\": \"3.21.0\",\n\t\"releaseDate\": \"2026-04-25\",\n\t\"license\": \"MIT\",\n\t\"compatible\": \"3.21\",\n\t\"notes\": \"\"\n}\n"
  },
  {
    "path": "bl-plugins/rss/plugin.php",
    "content": "<?php\n\nclass pluginRSS extends Plugin\n{\n\n\tpublic function init()\n\t{\n\t\t// Fields and default values for the database of this plugin\n\t\t$this->dbFields = array(\n\t\t\t'numberOfItems' => 5\n\t\t);\n\t}\n\n\t// Method called on the settings of the plugin on the admin area\n\tpublic function form()\n\t{\n\t\tglobal $L;\n\n\t\t$html  = '<div class=\"alert alert-primary\" role=\"alert\">';\n\t\t$html .= $this->description();\n\t\t$html .= '</div>';\n\n\t\t$html .= '<div>';\n\t\t$html .= '<label>' . $L->get('RSS URL') . '</label>';\n\t\t$html .= '<a href=\"' . Theme::rssUrl() . '\">' . Theme::rssUrl() . '</a>';\n\t\t$html .= '</div>';\n\n\t\t$html .= '<div>';\n\t\t$html .= '<label>' . $L->get('Amount of items') . '</label>';\n\t\t$html .= '<input id=\"jsnumberOfItems\" name=\"numberOfItems\" type=\"text\" dir=\"auto\" value=\"' . $this->getValue('numberOfItems') . '\">';\n\t\t$html .= '<span class=\"tip\">' . $L->get('Amount of items to show on the feed') . '</span>';\n\t\t$html .= '</div>';\n\n\t\treturn $html;\n\t}\n\n\tprivate function encodeURL($url)\n\t{\n\t\treturn preg_replace_callback('/[^\\x20-\\x7f]/', function ($match) {\n\t\t\treturn urlencode($match[0]);\n\t\t}, $url);\n\t}\n\n\tprivate function createXML()\n\t{\n\t\tglobal $site;\n\t\tglobal $pages;\n\t\tglobal $url;\n\n\t\t// Amount of pages to show\n\t\t$numberOfItems = $this->getValue('numberOfItems');\n\n\t\t// Get the list of public pages (sticky and static included)\n\t\t$list = $pages->getList(\n\t\t\t$pageNumber = 1,\n\t\t\t$numberOfItems,\n\t\t\t$published = true,\n\t\t\t$static = true,\n\t\t\t$sticky = true,\n\t\t\t$draft = false,\n\t\t\t$scheduled = false\n\t\t);\n\n\t\t$xml = '<?xml version=\"1.0\" encoding=\"UTF-8\" ?>';\n\t\t$xml .= '<rss version=\"2.0\" xmlns:atom=\"http://www.w3.org/2005/Atom\">';\n\t\t$xml .= '<channel>';\n\t\t$xml .= '<atom:link href=\"' . DOMAIN_BASE . 'rss.xml\" rel=\"self\" type=\"application/rss+xml\" />';\n\t\t$xml .= '<title>' . $site->title() . '</title>';\n\t\t$xml .= '<link>' . $this->encodeURL($site->url()) . '</link>';\n\t\t$xml .= '<description>' . $site->description() . '</description>';\n\t\t$xml .= '<lastBuildDate>' . date(DATE_RSS) . '</lastBuildDate>';\n\n\t\t// Get keys of pages\n\t\tforeach ($list as $pageKey) {\n\t\t\ttry {\n\t\t\t\t// Create the page object from the page key\n\t\t\t\t$page = new Page($pageKey);\n\t\t\t\t$xml .= '<item>';\n\t\t\t\t$xml .= '<title>' . $page->title() . '</title>';\n\t\t\t\t$xml .= '<link>' . $this->encodeURL($page->permalink()) . '</link>';\n\t\t\t\t$xml .= '<image>' . $page->coverImage(true) . '</image>';\n\t\t\t\t$xml .= '<description>' . Sanitize::html($page->contentBreak()) . '</description>';\n\t\t\t\t$xml .= '<pubDate>' . date(DATE_RSS, strtotime($page->getValue('dateRaw'))) . '</pubDate>';\n\t\t\t\t$xml .= '<guid isPermaLink=\"false\">' . $page->uuid() . '</guid>';\n\t\t\t\t$xml .= '</item>';\n\t\t\t} catch (Exception $e) {\n\t\t\t\t// Continue\n\t\t\t}\n\t\t}\n\n\t\t$xml .= '</channel></rss>';\n\n\t\t// New DOM document\n\t\t$doc = new DOMDocument();\n\t\t$doc->formatOutput = true;\n\t\t$doc->loadXML($xml);\n\t\treturn $doc->save($this->workspace() . 'rss.xml');\n\t}\n\n\tpublic function install($position = 0)\n\t{\n\t\tparent::install($position);\n\t\treturn $this->createXML();\n\t}\n\n\tpublic function post()\n\t{\n\t\tparent::post();\n\t\treturn $this->createXML();\n\t}\n\n\tpublic function afterPageCreate()\n\t{\n\t\t$this->createXML();\n\t}\n\n\tpublic function afterPageModify()\n\t{\n\t\t$this->createXML();\n\t}\n\n\tpublic function afterPageDelete()\n\t{\n\t\t$this->createXML();\n\t}\n\n\tpublic function siteHead()\n\t{\n\t\treturn '<link rel=\"alternate\" type=\"application/rss+xml\" href=\"' . DOMAIN_BASE . 'rss.xml\" title=\"RSS Feed\">' . PHP_EOL;\n\t}\n\n\tpublic function beforeAll()\n\t{\n\t\t$webhook = 'rss.xml';\n\t\tif ($this->webhook($webhook)) {\n\t\t\t// Send XML header\n\t\t\theader('Content-type: text/xml');\n\t\t\t$doc = new DOMDocument();\n\n\t\t\t// Load XML (external entity loading is disabled by default in PHP 8.0+)\n\t\t\t$doc->load($this->workspace() . 'rss.xml');\n\n\t\t\t// Print the XML\n\t\t\techo $doc->saveXML();\n\n\t\t\t// Stop Bludit execution\n\t\t\texit(0);\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "bl-plugins/search/languages/da.json",
    "content": "{\n    \"plugin-data\": {\n        \"description\": \"Angiv et søgefelt til dine brugere, så de kan gennemsøge indholdet på dit websted.\",\n        \"name\": \"Search\"\n    },\n    \"search\": \"Søg\",\n    \"show-button-search\": \"Vis knappen søg\",\n    \"search-results-for\": \"Søgeresultater for\",\n    \"result-found\": \"Resultat fundet\",\n    \"results-found\": \"Resultater fundet\",\n    \"no-results-found\": \"Ingen resultater fundet\",\n    \"no-pages-found-for-the-search\": \"Vi kunne ikke finde nogen sider, der matcher \\\"%s\\\"\",\n    \"suggestions\": \"Forslag\",\n    \"check-your-spelling\": \"Tjek din stavning\",\n    \"try-different-keywords\": \"Prøv andre søgeord\",\n    \"try-more-general-keywords\": \"Prøv mere generelle søgeord\",\n    \"minimum-number-of-characters-when-searching\": \"Mindste antal tegn ved søgning\",\n    \"highlight-search-terms-in-results\": \"Fremhæv søgetermer i resultaterne\",\n    \"show-result-count\": \"Vis antal resultater\",\n    \"search-in-tags\": \"Søg i tags\",\n    \"search-in-categories\": \"Søg i kategorier\",\n    \"excerpt-length-(characters)\": \"Uddragslængde (tegn)\"\n}\n"
  },
  {
    "path": "bl-plugins/search/languages/de_CH.json",
    "content": "{\n    \"plugin-data\": {\n        \"name\": \"Suche\",\n        \"description\": \"Fügt ein Suchfeld ein, mit dem die Inhalte der Website durchsucht werden können.\"\n    },\n    \"search\": \"Suchen\",\n    \"show-button-search\": \"Den Button \\\"Suchen\\\" anzeigen\",\n    \"search-results-for\": \"Suchergebnisse für\",\n    \"result-found\": \"Ergebnis gefunden\",\n    \"results-found\": \"Ergebnisse gefunden\",\n    \"no-results-found\": \"Keine Ergebnisse gefunden\",\n    \"no-pages-found-for-the-search\": \"Wir konnten keine Seiten finden, die \\\"%s\\\" entsprechen\",\n    \"suggestions\": \"Vorschläge\",\n    \"check-your-spelling\": \"Überprüfen Sie Ihre Rechtschreibung\",\n    \"try-different-keywords\": \"Versuchen Sie es mit anderen Schlüsselwörtern\",\n    \"try-more-general-keywords\": \"Versuchen Sie es mit allgemeineren Schlüsselwörtern\",\n    \"minimum-number-of-characters-when-searching\": \"Mindestanzahl der Zeichen bei der Suche\",\n    \"highlight-search-terms-in-results\": \"Suchbegriffe in den Ergebnissen hervorheben\",\n    \"show-result-count\": \"Ergebnisanzahl anzeigen\",\n    \"search-in-tags\": \"In Tags suchen\",\n    \"search-in-categories\": \"In Kategorien suchen\",\n    \"excerpt-length-(characters)\": \"Auszugslänge (Zeichen)\"\n}\n"
  },
  {
    "path": "bl-plugins/search/languages/de_DE.json",
    "content": "{\n    \"plugin-data\": {\n        \"name\": \"Suche\",\n        \"description\": \"Fügt ein Suchfeld ein, mit dem die Inhalte der Website durchsucht werden können.\"\n    },\n    \"search\": \"Suchen\",\n    \"show-button-search\": \"Den Button \\\"Suchen\\\" anzeigen\",\n    \"search-results-for\": \"Suchergebnisse für\",\n    \"result-found\": \"Ergebnis gefunden\",\n    \"results-found\": \"Ergebnisse gefunden\",\n    \"no-results-found\": \"Keine Ergebnisse gefunden\",\n    \"no-pages-found-for-the-search\": \"Wir konnten keine Seiten finden, die \\\"%s\\\" entsprechen\",\n    \"suggestions\": \"Vorschläge\",\n    \"check-your-spelling\": \"Überprüfen Sie Ihre Rechtschreibung\",\n    \"try-different-keywords\": \"Versuchen Sie es mit anderen Schlüsselwörtern\",\n    \"try-more-general-keywords\": \"Versuchen Sie es mit allgemeineren Schlüsselwörtern\",\n    \"minimum-number-of-characters-when-searching\": \"Mindestanzahl der Zeichen bei der Suche\",\n    \"highlight-search-terms-in-results\": \"Suchbegriffe in den Ergebnissen hervorheben\",\n    \"show-result-count\": \"Ergebnisanzahl anzeigen\",\n    \"search-in-tags\": \"In Tags suchen\",\n    \"search-in-categories\": \"In Kategorien suchen\",\n    \"excerpt-length-(characters)\": \"Auszugslänge (Zeichen)\"\n}\n"
  },
  {
    "path": "bl-plugins/search/languages/en.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Search\",\n\t\t\"description\": \"Provide a search box to your users to search through the content of your site.\"\n\t},\n\t\"search\": \"Search\",\n\t\"show-button-search\": \"Show button search\",\n\t\"search-results-for\": \"Search results for\",\n\t\"result-found\": \"Result found\",\n\t\"results-found\": \"Results found\",\n\t\"no-results-found\": \"No results found\",\n\t\"no-pages-found-for-the-search\": \"We couldn't find any pages matching \\\"%s\\\"\",\n\t\"suggestions\": \"Suggestions\",\n\t\"check-your-spelling\": \"Check your spelling\",\n\t\"try-different-keywords\": \"Try different keywords\",\n\t\"try-more-general-keywords\": \"Try more general keywords\",\n\t\"minimum-number-of-characters-when-searching\": \"Minimum number of characters when searching\",\n\t\"highlight-search-terms-in-results\": \"Highlight search terms in results\",\n\t\"show-result-count\": \"Show result count\",\n\t\"search-in-tags\": \"Search in tags\",\n\t\"search-in-categories\": \"Search in categories\",\n\t\"excerpt-length-(characters)\": \"Excerpt length (characters)\"\n}\n"
  },
  {
    "path": "bl-plugins/search/languages/es.json",
    "content": "{\n    \"plugin-data\": {\n        \"name\": \"Buscador\",\n        \"description\": \"Este plugin provee un buscador para tus usuarios para buscar a través del contenido de su sitio.\"\n    },\n    \"search\": \"Buscar\",\n    \"show-button-search\": \"Mostrar boton buscar\",\n    \"search-results-for\": \"Resultados de búsqueda para\",\n    \"result-found\": \"Resultado encontrado\",\n    \"results-found\": \"Resultados encontrados\",\n    \"no-results-found\": \"No se encontraron resultados\",\n    \"no-pages-found-for-the-search\": \"No pudimos encontrar páginas que coincidan con \\\"%s\\\"\",\n    \"suggestions\": \"Sugerencias\",\n    \"check-your-spelling\": \"Verifica tu ortografía\",\n    \"try-different-keywords\": \"Intenta con palabras clave diferentes\",\n    \"try-more-general-keywords\": \"Intenta con palabras clave más generales\",\n    \"minimum-number-of-characters-when-searching\": \"Número mínimo de caracteres al buscar\",\n    \"highlight-search-terms-in-results\": \"Resaltar términos de búsqueda en los resultados\",\n    \"show-result-count\": \"Mostrar recuento de resultados\",\n    \"search-in-tags\": \"Buscar en etiquetas\",\n    \"search-in-categories\": \"Buscar en categorías\",\n    \"excerpt-length-(characters)\": \"Longitud del extracto (caracteres)\"\n}\n"
  },
  {
    "path": "bl-plugins/search/languages/fa_IR.json",
    "content": "{\n    \"plugin-data\": {\n        \"name\": \"جستجو\",\n        \"description\": \"برای جستجو از طریق محتوای سایت خود، کادر جستجو را برای کاربران خود فراهم کنید.\"\n    },\n    \"search\": \"جستجو\",\n    \"show-button-search\": \"نمایش دکمه جستجو\",\n    \"search-results-for\": \"نتایج جستجو برای\",\n    \"result-found\": \"نتیجه پیدا شد\",\n    \"results-found\": \"نتیجه پیدا شد\",\n    \"no-results-found\": \"نتیجه‌ای یافت نشد\",\n    \"no-pages-found-for-the-search\": \"ما هیچ صفحه‌ای مطابق با \\\"%s\\\" پیدا نکردیم\",\n    \"suggestions\": \"پیشنهادات\",\n    \"check-your-spelling\": \"املای خود را بررسی کنید\",\n    \"try-different-keywords\": \"کلمات کلیدی مختلف را امتحان کنید\",\n    \"try-more-general-keywords\": \"کلمات کلیدی عمومی‌تری را امتحان کنید\",\n    \"minimum-number-of-characters-when-searching\": \"حداقل تعداد کاراکترها هنگام جستجو\",\n    \"highlight-search-terms-in-results\": \"برجسته کردن عبارات جستجو در نتایج\",\n    \"show-result-count\": \"نمایش تعداد نتایج\",\n    \"search-in-tags\": \"جستجو در برچسب‌ها\",\n    \"search-in-categories\": \"جستجو در دسته‌ها\",\n    \"excerpt-length-(characters)\": \"طول چکیده (کاراکتر)\"\n}\n"
  },
  {
    "path": "bl-plugins/search/languages/fr_FR.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Recherche\",\n\t\t\"description\": \"Fournit un champ de recherche à vos utilisateurs pour qu'ils puissent effectuer des recherches dans le contenu de votre site.\"\n\t},\n\t\"search\": \"Chercher\",\n\t\"show-button-search\": \"Montrer le bouton de recherche\",\n\t\"search-results-for\": \"Résultats pour\",\n\t\"result-found\": \"Résultat trouvé\",\n\t\"results-found\": \"Résultats trouvés\",\n\t\"no-results-found\": \"Aucun résultat trouvé\",\n\t\"no-pages-found-for-the-search\": \"Aucune page trouvée pour la recherche \\\"%s\\\"\",\n\t\"suggestions\": \"Suggestions\",\n\t\"check-your-spelling\": \"Vérifier l'orthographe\",\n\t\"try-different-keywords\": \"Essayer d'autres mots-clés\",\n\t\"try-more-general-keywords\": \"Essayer des mots-clés plus généraux\",\n\t\"minimum-number-of-characters-when-searching\": \"Nombre minimum de caractères pour la recherche\",\n\t\"highlight-search-terms-in-results\": \"Mettre en surbrillance les termes recherchés dans les résultats\",\n\t\"show-result-count\": \"Montrer le nombre de résultats\",\n\t\"search-in-tags\": \"Rechercher dans les tags\",\n\t\"search-in-categories\": \"Rechercher dans les catégories\",\n\t\"excerpt-length-(characters)\": \"Longueur de l'extrait (caractères)\"\n}"
  },
  {
    "path": "bl-plugins/search/languages/it.json",
    "content": "{\n    \"plugin-data\": {\n        \"name\": \"Cerca\",\n        \"description\": \"Offre un campo di ricerca ai tuoi utenti per poter cercare tra il contenuto del tuo sito.\"\n    },\n    \"search\": \"Cerca\",\n    \"show-button-search\": \"Mostra pulsante cerca\",\n    \"search-results-for\": \"Risultati della ricerca per\",\n    \"result-found\": \"Risultato trovato\",\n    \"results-found\": \"Risultati trovati\",\n    \"no-results-found\": \"Nessun risultato trovato\",\n    \"no-pages-found-for-the-search\": \"Non abbiamo trovato pagine corrispondenti a \\\"%s\\\"\",\n    \"suggestions\": \"Suggerimenti\",\n    \"check-your-spelling\": \"Controlla l'ortografia\",\n    \"try-different-keywords\": \"Prova parole chiave diverse\",\n    \"try-more-general-keywords\": \"Prova parole chiave più generiche\",\n    \"minimum-number-of-characters-when-searching\": \"Numero minimo di caratteri durante la ricerca\",\n    \"highlight-search-terms-in-results\": \"Evidenzia i termini di ricerca nei risultati\",\n    \"show-result-count\": \"Mostra il numero dei risultati\",\n    \"search-in-tags\": \"Cerca nei tag\",\n    \"search-in-categories\": \"Cerca nelle categorie\",\n    \"excerpt-length-(characters)\": \"Lunghezza dell'estratto (caratteri)\"\n}\n"
  },
  {
    "path": "bl-plugins/search/languages/ja_JP.json",
    "content": "{\n    \"plugin-data\": {\n        \"name\": \"検索\",\n        \"description\": \"Provide a search box to your users to search through the content of your site.\"\n    },\n    \"search\": \"検索\",\n    \"show-button-search\": \"検索ボタンを表示\",\n    \"search-results-for\": \"の検索結果\",\n    \"result-found\": \"件の結果が見つかりました\",\n    \"results-found\": \"件の結果が見つかりました\",\n    \"no-results-found\": \"結果が見つかりませんでした\",\n    \"no-pages-found-for-the-search\": \"「%s」に一致するページは見つかりませんでした\",\n    \"suggestions\": \"提案\",\n    \"check-your-spelling\": \"スペルを確認してください\",\n    \"try-different-keywords\": \"別のキーワードを試してください\",\n    \"try-more-general-keywords\": \"より一般的なキーワードを試してください\",\n    \"minimum-number-of-characters-when-searching\": \"検索時の最小文字数\",\n    \"highlight-search-terms-in-results\": \"検索結果の検索語をハイライトする\",\n    \"show-result-count\": \"検索結果数を表示する\",\n    \"search-in-tags\": \"タグ内を検索する\",\n    \"search-in-categories\": \"カテゴリー内を検索する\",\n    \"excerpt-length-(characters)\": \"抜粋の長さ（文字数）\"\n}\n"
  },
  {
    "path": "bl-plugins/search/languages/nl_NL.json",
    "content": "{\n    \"plugin-data\": {\n        \"name\": \"Zoeken\",\n        \"description\": \"Toont een zoekveld om alle inhoud van de website te doorzoeken.\"\n    },\n    \"search\": \"Zoeken\",\n    \"show-button-search\": \"Knop Zoeken tonen\",\n    \"search-results-for\": \"Zoekresultaten voor\",\n    \"result-found\": \"Resultaat gevonden\",\n    \"results-found\": \"Resultaten gevonden\",\n    \"no-results-found\": \"Geen resultaten gevonden\",\n    \"no-pages-found-for-the-search\": \"Er zijn geen pagina's gevonden die \\\"%s\\\" bevatten\",\n    \"suggestions\": \"Suggesties\",\n    \"check-your-spelling\": \"Controleer de spelling\",\n    \"try-different-keywords\": \"Probeer andere trefwoorden\",\n    \"try-more-general-keywords\": \"Probeer algemenere trefwoorden\",\n    \"minimum-number-of-characters-when-searching\": \"Minimum aantal tekens bij het zoeken\",\n    \"highlight-search-terms-in-results\": \"Zoektermen markeren in resultaten\",\n    \"show-result-count\": \"Aantal resultaten weergeven\",\n    \"search-in-tags\": \"Zoeken in tags\",\n    \"search-in-categories\": \"Zoeken in categorieën\",\n    \"excerpt-length-(characters)\": \"Lengte citaat (tekens)\"\n}\n"
  },
  {
    "path": "bl-plugins/search/languages/ru_RU.json",
    "content": "{\n    \"plugin-data\": {\n        \"name\": \"Поиск\",\n        \"description\": \"Добавляет поисковое поле по содержимому вашего сайта для пользователей.\"\n    },\n    \"search\": \"Поиск\",\n    \"show-button-search\": \"Show button search\",\n    \"search-results-for\": \"Результаты поиска для\",\n    \"result-found\": \"Результат найден\",\n    \"results-found\": \"Результатов найдено\",\n    \"no-results-found\": \"Результатов не найдено\",\n    \"no-pages-found-for-the-search\": \"Мы не смогли найти страницы, соответствующие «%s»\",\n    \"suggestions\": \"Предложения\",\n    \"check-your-spelling\": \"Проверьте правописание\",\n    \"try-different-keywords\": \"Попробуйте другие ключевые слова\",\n    \"try-more-general-keywords\": \"Попробуйте более общие ключевые слова\",\n    \"minimum-number-of-characters-when-searching\": \"Минимальное количество символов при поиске\",\n    \"highlight-search-terms-in-results\": \"Выделять поисковые запросы в результатах\",\n    \"show-result-count\": \"Показывать количество результатов\",\n    \"search-in-tags\": \"Поиск в тегах\",\n    \"search-in-categories\": \"Поиск в категориях\",\n    \"excerpt-length-(characters)\": \"Длина отрывка (символов)\"\n}\n"
  },
  {
    "path": "bl-plugins/search/languages/tr_TR.json",
    "content": "{\n    \"plugin-data\": {\n        \"name\": \"Ara\",\n        \"description\": \"Sitenizin içeriğinde arama yapmak için kullanıcılarınıza bir arama kutusu sağlayın.\"\n    },\n    \"search\": \"Ara\",\n    \"show-button-search\": \"Arama düğmesini göster\",\n    \"search-results-for\": \"Arama sonuçları:\",\n    \"result-found\": \"Sonuç bulundu\",\n    \"results-found\": \"Sonuç bulundu\",\n    \"no-results-found\": \"Sonuç bulunamadı\",\n    \"no-pages-found-for-the-search\": \"\\\"%s\\\" ile eşleşen sayfa bulunamadı\",\n    \"suggestions\": \"Öneriler\",\n    \"check-your-spelling\": \"Yazımınızı kontrol edin\",\n    \"try-different-keywords\": \"Farklı anahtar kelimeler deneyin\",\n    \"try-more-general-keywords\": \"Daha genel anahtar kelimeler deneyin\",\n    \"minimum-number-of-characters-when-searching\": \"Arama yaparken minimum karakter sayısı\",\n    \"highlight-search-terms-in-results\": \"Sonuçlarda arama terimlerini vurgula\",\n    \"show-result-count\": \"Sonuç sayısını göster\",\n    \"search-in-tags\": \"Etiketlerde ara\",\n    \"search-in-categories\": \"Kategorilerde ara\",\n    \"excerpt-length-(characters)\": \"Alıntı uzunluğu (karakter)\"\n}\n"
  },
  {
    "path": "bl-plugins/search/metadata.json",
    "content": "{\n\t\"author\": \"Bludit\",\n\t\"email\": \"\",\n\t\"website\": \"https://plugins.bludit.com\",\n\t\"version\": \"3.21.0\",\n\t\"releaseDate\": \"2026-04-25\",\n\t\"license\": \"MIT\",\n\t\"compatible\": \"3.21\",\n\t\"notes\": \"\"\n}\n"
  },
  {
    "path": "bl-plugins/search/plugin.php",
    "content": "<?php\n\nclass pluginSearch extends Plugin\n{\n\n\tprivate $pagesFound = array();\n\tprivate $numberOfItems = 0;\n\tprivate $searchTerm = '';\n\n\tpublic function init()\n\t{\n\t\t// Fields and default values for the database of this plugin\n\t\t$this->dbFields = array(\n\t\t\t'label' => 'Search',\n\t\t\t'minChars' => 3,\n\t\t\t'wordsToCachePerPage' => 800,\n\t\t\t'showButtonSearch' => false,\n\t\t\t'highlightResults' => true,\n\t\t\t'showResultCount' => true,\n\t\t\t'searchInTags' => true,\n\t\t\t'searchInCategories' => true,\n\t\t\t'excerptLength' => 200\n\t\t);\n\t}\n\n\tpublic function form()\n\t{\n\t\tglobal $L;\n\n\t\t$html  = '<div class=\"alert alert-primary\" role=\"alert\">';\n\t\t$html .= $this->description();\n\t\t$html .= '</div>';\n\n\t\t$html .= '<div>';\n\t\t$html .= '<label>' . $L->get('Label') . '</label>';\n\t\t$html .= '<input name=\"label\" type=\"text\" dir=\"auto\" value=\"' . $this->getValue('label') . '\">';\n\t\t$html .= '<span class=\"tip\">' . $L->get('This title is almost always used in the sidebar of the site') . '</span>';\n\t\t$html .= '</div>';\n\n\t\t$html .= '<div>';\n\t\t$html .= '<label>' . $L->get('Minimum number of characters when searching') . '</label>';\n\t\t$html .= '<input name=\"minChars\" type=\"text\" dir=\"auto\" value=\"' . $this->getValue('minChars') . '\">';\n\t\t$html .= '</div>';\n\n\t\t$html .= '<div>';\n\t\t$html .= '<label>' . $L->get('Show button search') . '</label>';\n\t\t$html .= '<select name=\"showButtonSearch\">';\n\t\t$html .= '<option value=\"true\" ' . ($this->getValue('showButtonSearch') === true ? 'selected' : '') . '>' . $L->get('enabled') . '</option>';\n\t\t$html .= '<option value=\"false\" ' . ($this->getValue('showButtonSearch') === false ? 'selected' : '') . '>' . $L->get('disabled') . '</option>';\n\t\t$html .= '</select>';\n\t\t$html .= '</div>';\n\n\t\t$html .= '<div>';\n\t\t$html .= '<label>' . $L->get('Highlight search terms in results') . '</label>';\n\t\t$html .= '<select name=\"highlightResults\">';\n\t\t$html .= '<option value=\"true\" ' . ($this->getValue('highlightResults') === true ? 'selected' : '') . '>' . $L->get('enabled') . '</option>';\n\t\t$html .= '<option value=\"false\" ' . ($this->getValue('highlightResults') === false ? 'selected' : '') . '>' . $L->get('disabled') . '</option>';\n\t\t$html .= '</select>';\n\t\t$html .= '</div>';\n\n\t\t$html .= '<div>';\n\t\t$html .= '<label>'. $L->get('Show result count') . '</label>';\n\t\t$html .= '<select name=\"showResultCount\">';\n\t\t$html .= '<option value=\"true\" ' . ($this->getValue('showResultCount') === true ? 'selected' : '') . '>' . $L->get('enabled') . '</option>';\n\t\t$html .= '<option value=\"false\" ' . ($this->getValue('showResultCount') === false ? 'selected' : '') . '>' . $L->get('disabled') . '</option>';\n\t\t$html .= '</select>';\n\t\t$html .= '</div>';\n\n\t\t$html .= '<div>';\n\t\t$html .= '<label>' . $L->get('Search in tags') . '</label>';\n\t\t$html .= '<select name=\"searchInTags\">';\n\t\t$html .= '<option value=\"true\" ' . ($this->getValue('searchInTags') === true ? 'selected' : '') . '>' . $L->get('enabled') . '</option>';\n\t\t$html .= '<option value=\"false\" ' . ($this->getValue('searchInTags') === false ? 'selected' : '') . '>' . $L->get('disabled') . '</option>';\n\t\t$html .= '</select>';\n\t\t$html .= '</div>';\n\n\t\t$html .= '<div>';\n\t\t$html .= '<label>' . $L->get('Search in categories') . '</label>';\n\t\t$html .= '<select name=\"searchInCategories\">';\n\t\t$html .= '<option value=\"true\" ' . ($this->getValue('searchInCategories') === true ? 'selected' : '') . '>' . $L->get('enabled') . '</option>';\n\t\t$html .= '<option value=\"false\" ' . ($this->getValue('searchInCategories') === false ? 'selected' : '') . '>' . $L->get('disabled') . '</option>';\n\t\t$html .= '</select>';\n\t\t$html .= '</div>';\n\n\t\t$html .= '<div>';\n\t\t$html .= '<label>' . $L->get('Excerpt length (characters)') . '</label>';\n\t\t$html .= '<input name=\"excerptLength\" type=\"number\" value=\"' . $this->getValue('excerptLength') . '\" min=\"50\" max=\"500\">';\n\t\t$html .= '</div>';\n\n\t\treturn $html;\n\t}\n\n\t// HTML for sidebar\n\tpublic function siteSidebar()\n\t{\n\t\tglobal $L;\n\t\t$label = $this->getValue('label');\n\t\t$labelEscaped = htmlspecialchars($label, ENT_QUOTES, 'UTF-8');\n\t\t$searchText = $L->get('Search');\n\n\t\t$html  = '<div class=\"plugin plugin-search\">';\n\t\t$html .= '<h2 class=\"plugin-label\">' . $labelEscaped . '</h2>';\n\t\t$html .= '<div class=\"plugin-content\">';\n\t\t$html .= '<form class=\"search-plugin-form\" role=\"search\" onsubmit=\"return pluginSearchSubmit()\">';\n\t\t$html .= '<label for=\"jspluginSearchText\" class=\"sr-only visually-hidden\">' . $searchText . '</label>';\n\t\t$html .= '<input type=\"search\" id=\"jspluginSearchText\" name=\"search\" placeholder=\"' . $searchText . '...\" autocomplete=\"off\" dir=\"auto\" aria-label=\"' . $searchText . '\">';\n\t\tif ($this->getValue('showButtonSearch')) {\n\t\t\t$html .= '<button type=\"submit\">' . $searchText . '</button>';\n\t\t}\n\t\t$html .= '</form>';\n\t\t$html .= '</div>';\n\t\t$html .= '</div>';\n\n\t\t$DOMAIN_BASE = DOMAIN_BASE;\n\t\t$minChars = $this->getValue('minChars');\n\t\t$html .= <<<EOF\n<script>\nfunction pluginSearchSubmit() {\n\tvar text = document.getElementById(\"jspluginSearchText\").value.trim();\n\tif (text.length < {$minChars}) {\n\t\talert(\"Please enter at least {$minChars} characters to search.\");\n\t\treturn false;\n\t}\n\twindow.location.href = '{$DOMAIN_BASE}search/' + encodeURIComponent(text);\n\treturn false;\n}\n</script>\nEOF;\n\n\t\treturn $html;\n\t}\n\n\t// Inject CSS styles for search results (works with any theme)\n\tpublic function siteHead()\n\t{\n\t\t$css = <<<'CSS'\n<style>\n/* Search Plugin Styles - Theme agnostic */\n.search-results-header {\n\tpadding: 2rem 0;\n\tmargin-bottom: 1.5rem;\n\tborder-bottom: 1px solid rgba(0,0,0,0.1);\n}\n.search-results-header h1 {\n\tfont-size: 1.75rem;\n\tmargin: 0 0 0.5rem 0;\n}\n.search-results-header .search-query {\n\tcolor: #0071e3;\n\tfont-weight: 600;\n}\n.search-results-header .search-count {\n\tcolor: #6e6e73;\n\tfont-size: 0.9375rem;\n\tmargin: 0;\n}\n.search-no-results {\n\ttext-align: center;\n\tpadding: 3rem 1rem;\n}\n.search-no-results h2 {\n\tfont-size: 1.5rem;\n\tmargin-bottom: 0.75rem;\n}\n.search-no-results p {\n\tcolor: #6e6e73;\n\tmargin-bottom: 1.5rem;\n}\n.search-no-results .search-suggestions {\n\ttext-align: left;\n\tmax-width: 400px;\n\tmargin: 0 auto;\n}\n.search-no-results .search-suggestions h3 {\n\tfont-size: 1rem;\n\tmargin-bottom: 0.5rem;\n}\n.search-no-results .search-suggestions ul {\n\tpadding-left: 1.25rem;\n\tcolor: #6e6e73;\n}\n.search-no-results .search-suggestions li {\n\tmargin-bottom: 0.25rem;\n}\n.search-highlight {\n\tbackground-color: rgba(255, 230, 0, 0.4);\n\tpadding: 0.1em 0.2em;\n\tborder-radius: 2px;\n\tfont-weight: 500;\n}\n.search-result-excerpt {\n\tcolor: #1d1d1f;\n\tline-height: 1.6;\n}\n.search-inline-form {\n\tmax-width: 400px;\n\tmargin: 1.5rem auto 0;\n}\n.search-inline-form input[type=\"search\"] {\n\twidth: 100%;\n\tpadding: 0.75rem 1rem;\n\tfont-size: 1rem;\n\tborder: 1px solid rgba(0,0,0,0.1);\n\tborder-radius: 8px;\n}\n.search-inline-form input[type=\"search\"]:focus {\n\toutline: none;\n\tborder-color: #0071e3;\n\tbox-shadow: 0 0 0 4px rgba(0,113,227,0.1);\n}\n/* Sidebar search form styling */\n.plugin-search .search-plugin-form {\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tgap: 0.5rem;\n}\n.plugin-search .search-plugin-form input[type=\"search\"] {\n\tflex: 1;\n\tpadding: 0.5rem 0.75rem;\n\tborder: 1px solid rgba(0,0,0,0.15);\n\tborder-radius: 6px;\n\tfont-size: 0.9375rem;\n\tmax-width: 100%;\n}\n.plugin-search .search-plugin-form input[type=\"search\"]:focus {\n\toutline: none;\n\tborder-color: #0071e3;\n}\n.plugin-search .search-plugin-form button {\n\tpadding: 0.5rem 1rem;\n\tmargin: 0 auto;\n\tbackground: #0071e3;\n\tcolor: white;\n\tborder: none;\n\tborder-radius: 6px;\n\tcursor: pointer;\n\tfont-size: 0.875rem;\n\twidth: 100%;\n}\n.plugin-search .search-plugin-form button:hover {\n\tbackground: #0077ed;\n}\n/* Dark mode support */\n@media (prefers-color-scheme: dark) {\n\t.search-results-header {\n\t\tborder-bottom-color: rgba(255,255,255,0.1);\n\t}\n\t.search-results-header .search-count,\n\t.search-no-results p,\n\t.search-no-results .search-suggestions ul {\n\t\tcolor: #a1a1a6;\n\t}\n\t.search-result-excerpt {\n\t\tcolor: #f5f5f7;\n\t}\n\t.search-highlight {\n\t\tbackground-color: rgba(255, 214, 10, 0.3);\n\t}\n\t.search-inline-form input[type=\"search\"],\n\t.plugin-search .search-plugin-form input[type=\"search\"] {\n\t\tbackground: #1d1d1f;\n\t\tborder-color: rgba(255,255,255,0.1);\n\t\tcolor: #f5f5f7;\n\t}\n}\n/* Accessibility - screen reader only class */\n.sr-only, .visually-hidden {\n\tposition: absolute;\n\twidth: 1px;\n\theight: 1px;\n\tpadding: 0;\n\tmargin: -1px;\n\toverflow: hidden;\n\tclip: rect(0, 0, 0, 0);\n\twhite-space: nowrap;\n\tborder: 0;\n}\n</style>\nCSS;\n\n\t\t// Add JavaScript for automatic highlighting on search results page\n\t\t$webhook = 'search';\n\t\tif ($this->webhook($webhook, false, false) && $this->getValue('highlightResults')) {\n\t\t\t$searchTerm = $this->getSearchTerm();\n\t\t\t$searchTermJS = json_encode($searchTerm);\n\n\t\t\t$js = '<script>' . PHP_EOL;\n\t\t\t$js .= 'document.addEventListener(\"DOMContentLoaded\", function() {' . PHP_EOL;\n\t\t\t$js .= '  var searchTerm = ' . $searchTermJS . ';' . PHP_EOL;\n\t\t\t$js .= '  if (!searchTerm || searchTerm.length < 2) return;' . PHP_EOL;\n\t\t\t$js .= '  var words = searchTerm.toLowerCase().split(/\\\\s+/).filter(function(w) { return w.length >= 2; });' . PHP_EOL;\n\t\t\t$js .= '  if (words.length === 0) return;' . PHP_EOL;\n\t\t\t$js .= '  var articles = document.querySelectorAll(\"article, main, [role=main], .content\");' . PHP_EOL;\n\t\t\t$js .= '  articles.forEach(function(article) {' . PHP_EOL;\n\t\t\t$js .= '    if (article.closest(\".search-results-header\") || article.closest(\"form\")) return;' . PHP_EOL;\n\t\t\t$js .= '    var walker = document.createTreeWalker(article, NodeFilter.SHOW_TEXT, null, false);' . PHP_EOL;\n\t\t\t$js .= '    var textNodes = [];' . PHP_EOL;\n\t\t\t$js .= '    while(walker.nextNode()) {' . PHP_EOL;\n\t\t\t$js .= '      var parent = walker.currentNode.parentNode;' . PHP_EOL;\n\t\t\t$js .= '      if (parent && (parent.tagName === \"SCRIPT\" || parent.tagName === \"STYLE\" || parent.tagName === \"MARK\")) continue;' . PHP_EOL;\n\t\t\t$js .= '      textNodes.push(walker.currentNode);' . PHP_EOL;\n\t\t\t$js .= '    }' . PHP_EOL;\n\t\t\t$js .= '    textNodes.forEach(function(textNode) {' . PHP_EOL;\n\t\t\t$js .= '      var text = textNode.nodeValue;' . PHP_EOL;\n\t\t\t$js .= '      var escapedWords = words.map(function(w) { return w.replace(/[.*+?^${}()|[\\\\]\\\\\\\\]/g, \"\\\\\\\\$&\"); });' . PHP_EOL;\n\t\t\t$js .= '      var pattern = new RegExp(\"(\" + escapedWords.join(\"|\") + \")\", \"gi\");' . PHP_EOL;\n\t\t\t$js .= '      if (pattern.test(text)) {' . PHP_EOL;\n\t\t\t$js .= '        var span = document.createElement(\"span\");' . PHP_EOL;\n\t\t\t$js .= '        span.innerHTML = text.replace(pattern, \"<mark class=\\\\\"search-highlight\\\\\">$1</mark>\");' . PHP_EOL;\n\t\t\t$js .= '        textNode.parentNode.replaceChild(span, textNode);' . PHP_EOL;\n\t\t\t$js .= '      }' . PHP_EOL;\n\t\t\t$js .= '    });' . PHP_EOL;\n\t\t\t$js .= '  });' . PHP_EOL;\n\t\t\t$js .= '});' . PHP_EOL;\n\t\t\t$js .= '</script>' . PHP_EOL;\n\n\t\t\t$css .= $js;\n\t\t}\n\n\t\treturn $css;\n\t}\n\n\t// Display search header before content\n\tpublic function siteBodyBegin()\n\t{\n\t\t$webhook = 'search';\n\t\tif (!$this->webhook($webhook, false, false)) {\n\t\t\treturn false;\n\t\t}\n\n\t\tglobal $L;\n\t\t$searchTerm = $this->getSearchTerm();\n\t\t$searchTermEscaped = htmlspecialchars($searchTerm, ENT_QUOTES, 'UTF-8');\n\t\t$count = $this->numberOfItems;\n\n\t\tif (empty($searchTerm)) {\n\t\t\treturn '';\n\t\t}\n\n\t\t$html = '<div class=\"container\">';\n\t\t$html .= '<div class=\"search-results-header\">';\n\t\t$html .= '<h1>' . $L->get('Search results for') . ' \"<span class=\"search-query\">' . $searchTermEscaped . '</span>\"</h1>';\n\n\t\tif ($this->getValue('showResultCount')) {\n\t\t\tif ($count === 0) {\n\t\t\t\t$html .= '<p class=\"search-count\">' . $L->get('No pages found') . '</p>';\n\t\t\t} elseif ($count === 1) {\n\t\t\t\t$html .= '<p class=\"search-count\">1 ' . strtolower($L->get('result found')) . '</p>';\n\t\t\t} else {\n\t\t\t\t$html .= '<p class=\"search-count\">' . $count . ' ' . strtolower($L->get('results found')) . '</p>';\n\t\t\t}\n\t\t}\n\n\t\t$html .= '</div>';\n\t\t$html .= '</div>';\n\n\t\t// If no results, show helpful message\n\t\tif ($count === 0) {\n\t\t\t$DOMAIN_BASE = DOMAIN_BASE;\n\t\t\t$minChars = $this->getValue('minChars');\n\t\t\t$html .= '<div class=\"container\">';\n\t\t\t$html .= '<div class=\"search-no-results\">';\n\t\t\t$html .= '<h2>' . $L->get('No results found') . '</h2>';\n\t\t\t$html .= '<p>' . sprintf($L->get('no-pages-found-for-the-search'), $searchTermEscaped) . '</p>';\n\t\t\t$html .= '<div class=\"search-suggestions\">';\n\t\t\t$html .= '<h3>' . $L->get('Suggestions') . ':</h3>';\n\t\t\t$html .= '<ul>';\n\t\t\t$html .= '<li>' . $L->get('Check your spelling') . '</li>';\n\t\t\t$html .= '<li>' . $L->get('Try different keywords') . '</li>';\n\t\t\t$html .= '<li>' . $L->get('Try more general keywords') . '</li>';\n\t\t\t$html .= '</ul>';\n\t\t\t$html .= '</div>';\n\t\t\t$html .= '<div class=\"search-inline-form\">';\n\t\t\t$html .= '<form role=\"search\" onsubmit=\"return searchAgain()\">';\n\t\t\t$html .= '<input type=\"search\" id=\"searchAgainInput\" value=\"' . $searchTermEscaped . '\" placeholder=\"' . $L->get('Search') . '...\" aria-label=\"' . $L->get('Search') . '\">';\n\t\t\t$html .= '</form>';\n\t\t\t$html .= '</div>';\n\t\t\t$html .= '</div>';\n\t\t\t$html .= '</div>';\n\t\t\t$html .= <<<EOF\n<script>\nfunction searchAgain() {\n\tvar text = document.getElementById(\"searchAgainInput\").value.trim();\n\tif (text.length < {$minChars}) return false;\n\twindow.location.href = '{$DOMAIN_BASE}search/' + encodeURIComponent(text);\n\treturn false;\n}\n</script>\nEOF;\n\t\t}\n\n\t\treturn $html;\n\t}\n\n\tpublic function install($position = 0)\n\t{\n\t\tparent::install($position);\n\t\treturn $this->createCache();\n\t}\n\n\t// Method called when the user click on button save in the settings of the plugin\n\tpublic function post()\n\t{\n\t\tparent::post();\n\t\treturn $this->createCache();\n\t}\n\n\tpublic function afterPageCreate()\n\t{\n\t\t$this->createCache();\n\t}\n\n\tpublic function afterPageModify()\n\t{\n\t\t$this->createCache();\n\t}\n\n\tpublic function afterPageDelete()\n\t{\n\t\t$this->createCache();\n\t}\n\n\t// Get the current search term\n\tpublic function getSearchTerm()\n\t{\n\t\treturn $this->searchTerm;\n\t}\n\n\t// Get the number of results\n\tpublic function getResultCount()\n\t{\n\t\treturn $this->numberOfItems;\n\t}\n\n\tpublic function beforeAll()\n\t{\n\t\t// Check if the URL match with the webhook\n\t\t$webhook = 'search';\n\t\tif ($this->webhook($webhook, false, false)) {\n\t\t\tglobal $site;\n\t\t\tglobal $url;\n\n\t\t\t// Change the whereAmI to avoid load pages in the rule 69.pages\n\t\t\t// This is only for performance purpose\n\t\t\t$url->setWhereAmI('search');\n\n\t\t\t// Get the string to search from the URL\n\t\t\t$stringToSearch = $this->webhook($webhook, true, false);\n\t\t\t$stringToSearch = trim($stringToSearch, '/');\n\t\t\t$stringToSearch = urldecode($stringToSearch);\n\t\t\t$this->searchTerm = $stringToSearch;\n\n\t\t\t// Search the string in the cache and get all pages with matches\n\t\t\t$list = $this->search($stringToSearch);\n\t\t\t$this->numberOfItems = count($list);\n\n\t\t\t// Split the content in pages\n\t\t\t// The first page number is 1, so the real is 0\n\t\t\t$realPageNumber = $url->pageNumber() - 1;\n\t\t\t$itemsPerPage = $site->itemsPerPage();\n\t\t\tif ($itemsPerPage <= 0) {\n\t\t\t\tif ($realPageNumber === 0) {\n\t\t\t\t\t$this->pagesFound = $list;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t$chunks = array_chunk($list, $itemsPerPage);\n\t\t\t\tif (isset($chunks[$realPageNumber])) {\n\t\t\t\t\t$this->pagesFound = $chunks[$realPageNumber];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic function paginator()\n\t{\n\t\t$webhook = 'search';\n\t\tif ($this->webhook($webhook, false, false)) {\n\t\t\t// Get the pre-defined variable from the rule 99.paginator.php\n\t\t\t// Is necessary to change this variable to fit the paginator with the result from the search\n\t\t\tglobal $numberOfItems;\n\t\t\t$numberOfItems = $this->numberOfItems;\n\t\t}\n\t}\n\n\tpublic function beforeSiteLoad()\n\t{\n\t\t$webhook = 'search';\n\t\tif ($this->webhook($webhook, false, false)) {\n\t\t\tglobal $url;\n\t\t\tglobal $WHERE_AM_I;\n\t\t\t$WHERE_AM_I = 'search';\n\n\t\t\t// Get the pre-defined variable from the rule 69.pages.php\n\t\t\t// We change the content to show in the website\n\t\t\tglobal $content;\n\t\t\t$content = array();\n\t\t\tforeach ($this->pagesFound as $pageKey) {\n\t\t\t\ttry {\n\t\t\t\t\t$page = new Page($pageKey);\n\t\t\t\t\tarray_push($content, $page);\n\t\t\t\t} catch (Exception $e) {\n\t\t\t\t\t// continue\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Highlight search terms in text\n\t */\n\tpublic function highlightTerms($text, $searchTerm)\n\t{\n\t\tif (!$this->getValue('highlightResults') || empty($searchTerm)) {\n\t\t\treturn $text;\n\t\t}\n\n\t\t// Split search term into words\n\t\t$words = preg_split('/\\s+/', $searchTerm);\n\t\t$words = array_filter($words, function($word) {\n\t\t\treturn mb_strlen($word, 'UTF-8') >= 2;\n\t\t});\n\n\t\tif (empty($words)) {\n\t\t\treturn $text;\n\t\t}\n\n\t\t// Escape special regex characters and create pattern\n\t\t$escapedWords = array_map(function($word) {\n\t\t\treturn preg_quote($word, '/');\n\t\t}, $words);\n\n\t\t$pattern = '/(' . implode('|', $escapedWords) . ')/iu';\n\n\t\treturn preg_replace($pattern, '<mark class=\"search-highlight\">$1</mark>', $text);\n\t}\n\n\t/**\n\t * Get excerpt around the search term\n\t */\n\tpublic function getSearchExcerpt($content, $searchTerm, $length = null)\n\t{\n\t\tif ($length === null) {\n\t\t\t$length = $this->getValue('excerptLength');\n\t\t}\n\n\t\t$content = strip_tags($content);\n\t\t$content = html_entity_decode($content, ENT_QUOTES, 'UTF-8');\n\n\t\t// Find the first occurrence of any search word\n\t\t$words = preg_split('/\\s+/', $searchTerm);\n\t\t$words = array_filter($words, function($word) {\n\t\t\treturn mb_strlen($word, 'UTF-8') >= 2;\n\t\t});\n\n\t\t$firstPos = mb_strlen($content, 'UTF-8');\n\t\tforeach ($words as $word) {\n\t\t\t$pos = mb_stripos($content, $word, 0, 'UTF-8');\n\t\t\tif ($pos !== false && $pos < $firstPos) {\n\t\t\t\t$firstPos = $pos;\n\t\t\t}\n\t\t}\n\n\t\t// Calculate start position (center the found term)\n\t\t$start = max(0, $firstPos - (int)($length / 2));\n\n\t\t// Adjust to not cut words\n\t\tif ($start > 0) {\n\t\t\t$spacePos = mb_strpos($content, ' ', $start, 'UTF-8');\n\t\t\tif ($spacePos !== false && $spacePos < $start + 20) {\n\t\t\t\t$start = $spacePos + 1;\n\t\t\t}\n\t\t}\n\n\t\t// Extract excerpt\n\t\t$excerpt = mb_substr($content, $start, $length, 'UTF-8');\n\n\t\t// Clean up beginning and end\n\t\tif ($start > 0) {\n\t\t\t$excerpt = '...' . $excerpt;\n\t\t}\n\t\tif ($start + $length < mb_strlen($content, 'UTF-8')) {\n\t\t\t// Don't cut in the middle of a word\n\t\t\t$lastSpace = mb_strrpos($excerpt, ' ', 0, 'UTF-8');\n\t\t\tif ($lastSpace !== false && $lastSpace > $length - 30) {\n\t\t\t\t$excerpt = mb_substr($excerpt, 0, $lastSpace, 'UTF-8');\n\t\t\t}\n\t\t\t$excerpt .= '...';\n\t\t}\n\n\t\treturn $excerpt;\n\t}\n\n\t// Generate the cache file\n\t// This function is necessary to call it when you create, edit or remove content\n\tprivate function createCache()\n\t{\n\t\t// Get all pages published\n\t\tglobal $pages;\n\t\tglobal $categories;\n\t\tglobal $tags;\n\n\t\t$list = $pages->getList($pageNumber = 1, $numberOfItems = -1, $published = true, $static = true, $sticky = true, $draft = false, $scheduled = false);\n\n\t\t$cache = array();\n\t\tforeach ($list as $pageKey) {\n\t\t\t$page = buildPage($pageKey);\n\n\t\t\t// Process content\n\t\t\t$words = $this->getValue('wordsToCachePerPage') * 5; // Assuming avg of characters per word is 5\n\t\t\t$content = $page->content();\n\t\t\t$content = Text::removeHTMLTags($content);\n\t\t\t$content = Text::truncate($content, $words, '');\n\n\t\t\t// Include the page to the cache\n\t\t\t$cache[$pageKey]['title'] = $page->title();\n\t\t\t$cache[$pageKey]['description'] = $page->description();\n\t\t\t$cache[$pageKey]['content'] = $content;\n\n\t\t\t// Add tags if enabled\n\t\t\tif ($this->getValue('searchInTags')) {\n\t\t\t\t$pageTags = $page->tags(true);\n\t\t\t\tif (!empty($pageTags)) {\n\t\t\t\t\t$cache[$pageKey]['tags'] = implode(' ', $pageTags);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Add category if enabled\n\t\t\tif ($this->getValue('searchInCategories')) {\n\t\t\t\t$categoryKey = $page->categoryKey();\n\t\t\t\tif (!empty($categoryKey) && isset($categories)) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\t$category = new Category($categoryKey);\n\t\t\t\t\t\t$cache[$pageKey]['category'] = $category->name();\n\t\t\t\t\t} catch (Exception $e) {\n\t\t\t\t\t\t// Category not found\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Generate JSON file with the cache\n\t\t$json = json_encode($cache);\n\t\treturn file_put_contents($this->cacheFile(), $json, LOCK_EX);\n\t}\n\n\t// Returns the absolute path of the cache file\n\tprivate function cacheFile()\n\t{\n\t\treturn $this->workspace() . 'cache.json';\n\t}\n\n\t// Search text inside the cache\n\t// Returns an array with the pages keys related to the text\n\t// The array is sorted by score\n\tprivate function search($text)\n\t{\n\t\t$text = trim($text);\n\n\t\t// Check minimum characters\n\t\t$minChars = $this->getValue('minChars');\n\t\tif (mb_strlen($text, 'UTF-8') < $minChars) {\n\t\t\treturn array();\n\t\t}\n\n\t\t// Read the cache file\n\t\t$cacheFile = $this->cacheFile();\n\t\tif (!file_exists($cacheFile)) {\n\t\t\t$this->createCache();\n\t\t}\n\n\t\t$json = file_get_contents($cacheFile);\n\t\t$cache = json_decode($json, true);\n\n\t\tif (empty($cache)) {\n\t\t\treturn array();\n\t\t}\n\n\t\t// Include Fuzz algorithm\n\t\trequire_once($this->phpPath() . 'vendors/fuzz.php');\n\t\t$fuzz = new Fuzz($cache, 100, 1, true);\n\t\t$results = $fuzz->search($text, $this->getValue('minChars'));\n\n\t\treturn (array_keys($results));\n\t}\n}\n"
  },
  {
    "path": "bl-plugins/search/vendors/fuzz.php",
    "content": "<?php\n\n/**\n * This script was modified to fit in Bludit\n*/\n\n/**\n * Fuzz Class\n * kevinfiol\\fuzzget\n *\n * @category Class\n * @package  None\n * @author   Kevin Fiol <fiolkevin@gmail.com>\n * @license  https://opensource.org/licenses/MIT  MIT License\n * @link     http://github.com/kevinfiol\n */\n\nclass Fuzz\n{\n    private $_source;\n    private $_sourceLen;\n    private $_maxResults;\n    private $_searchMode;\n    private $_useLCS;\n\n    /**\n     * Fuzz Object Constructor\n     * Initialize private variables\n     *\n     * @param array   $source     An array of associative arrays\n     * @param int     $maxResults The maximum number of results to retrieve upon a search\n     * @param int     $searchMode 0 = Levenshtein, 1 = Jaro-Winkler\n     * @param boolean $useLCS     Factor in Longest Common Substring in search results\n     */\n    public function __construct($source, $maxResults, $searchMode, $useLCS)\n    {\n        $this->_source = $source;\n        $this->_sourceLen = count($source);\n        $this->_maxResults = max($maxResults, 1);\n        $this->_useLCS = $useLCS;\n\n        if ($searchMode < 0 || $searchMode > 1) {\n            throw new \\Exception('Invalid search mode');\n        } else {\n            $this->_searchMode = $searchMode;\n        }\n    }\n\n    /**\n     * Search Method\n     * Initiate Search\n     *\n     * @param string $search      Term to search for\n     * @param int    $minLCS      (if using LCS) Specify the minimum longest common substring\n     * @param int    $maxDistance (if using Levenshtein) Specify the maximum distance allowed\n     *\n     * @return array $results     Array of associative arrays containing search matches\n     */\n    public function search($search, $minLCS = null, $maxDistance = null)\n    {\n        $results = [];\n        $scores = [];\n\n        // Nullify these parameters if they are irrelevant to searchMode\n        if (!$this->_useLCS) $minLCS = null;\n        if ($this->_searchMode != 0) $maxDistance = null;\n\n        // Cycle through result pool\n        //for ($i = 0; $i < $this->_sourceLen; $i++) {\n\tforeach ($this->_source as $pageKey => $data) {\n            $allLev = [];\n            $allJaros = [];\n            $allLCSs = [];\n\n            // Cycle through each object's properties\n            foreach ($data as $key => $val) {\n                if ($this->_searchMode == 0) {\n                    $allLev[] = $this->getLevenshtein(strval($val), $search);\n                } elseif ($this->_searchMode == 1) {\n                    $allJaros[] = $this->getJaroWinkler(strval($val), $search);\n                }\n\n                if ($this->_useLCS) {\n                    $allLCSs[] = $this->getLCS(strval($val), $search);\n                }\n            }\n\n            $lowestLev = $allLev ? min($allLev) : null;\n            $highestJaro = $allJaros ? max($allJaros) : null;\n            $highestLCS = $allLCSs ? max($allLCSs) : null;\n\n            // Get Score\n            if ($this->_searchMode == 0) {\n                $score = $lowestLev;\n            } else {\n                $score = -1 * abs($highestJaro);\n            }\n\n            if ($this->_useLCS) {\n                $score -= $highestLCS;\n            }\n\n            // Append Index of object + Best Score\n            if (($maxDistance == null || $lowestLev <= $maxDistance)\n                && ($minLCS == null || $highestLCS >= $minLCS)\n            ) {\n                $scores[$pageKey] = $score;\n            }\n        }\n\n\t// Sort by score\n\tasort($scores);\n        return $scores;\n    }\n\n    /**\n     * Get Longest Common Substring\n     *\n     * @param string $source Term to search for\n     * @param string $target Target term to search against\n     *\n     * @return int   $result LCS Score\n     */\n    public function getLCS($source, $target)\n    {\n        $suffix = [];\n        $result = 0;\n        $n = mb_strlen($source, CHARSET);\n        $m = mb_strlen($target, CHARSET);\n\n        for ($i = 0; $i <= $n; $i++) {\n            for ($j = 0; $j <= $m; $j++) {\n                if ($i === 0 || $j === 0) {\n                    $suffix[$i][$j] = 0;\n                } elseif ($source[$i - 1] == $target[$j - 1]) {\n                    $suffix[$i][$j] = $suffix[$i - 1][$j - 1] + 1;\n                    $result = max($result, $suffix[$i][$j]);\n                } else {\n                    $suffix[$i][$j] = 0;\n                }\n            }\n        }\n\n        return $result;\n    }\n\n    /**\n     * Get Levenshtein Distance\n     *\n     * @param string $source Term to search for\n     * @param string $target Target term to search against\n     *\n     * @return int   Levenshtein Distance\n     */\n    public function getLevenshtein($source, $target)\n    {\n        $matrix = [];\n        $n = mb_strlen($source, CHARSET);\n        $m = mb_strlen($target, CHARSET);\n\n        if ($n === 0) {\n            return $m;\n        } elseif ($m === 0) {\n            return $n;\n        }\n\n        // Initialize First Row\n        for ($i = 0; $i <= $n; $i++) {\n            $matrix[0][$i] = $i;\n        }\n        // Initialize First Column\n        for ($i = 0; $i <= $m; $i++) {\n            $matrix[$i][0] = $i;\n        }\n\n        for ($i = 1; $i <= $n; $i++) {\n            for ($j = 1; $j <= $m; $j++) {\n                if ($source[$i - 1] === $target[$j - 1]) {\n                    $cost = 0;\n                } else {\n                    $cost = 1;\n                }\n\n                // Cell immediately above + 1\n                $up = $matrix[$j - 1][$i] + 1;\n                // Cell immediately to the left + 1\n                $left = $matrix[$j][$i - 1] + 1;\n                // Cell diagnolly above and to the left + cost\n                $upleft = $matrix[$j - 1][$i - 1] + $cost;\n\n                $matrix[$j][$i] = min($up, $left, $upleft);\n            }\n        }\n\n        return $matrix[$m][$n];\n    }\n\n    /**\n     * Get Jaro-Winkler Score\n     *\n     * @param string $first  String to match\n     * @param string $second String to match\n     *\n     * @return double $jaroWinkler Jaro-Winkler score between 0.0 and 1.0\n     */\n    public function getJaroWinkler($first, $second)\n    {\n        $shorter;\n        $longer;\n\n        if (mb_strlen($first, CHARSET) > mb_strlen($second, CHARSET)) {\n            $longer = mb_strtolower($first, CHARSET);\n            $shorter = mb_strtolower($second, CHARSET);\n        } else {\n            $longer = mb_strtolower($second, CHARSET);\n            $shorter = mb_strtolower($first, CHARSET);\n        }\n\n        // Get half the length distance of shorter string\n        $halfLen = intval((mb_strlen($shorter,CHARSET) / 2) + 1);\n\n        $match1 = $this->_getCharMatch($shorter, $longer, $halfLen);\n        $match2 = $this->_getCharMatch($longer, $shorter, $halfLen);\n\n        if ((mb_strlen($match1, CHARSET) == 0 || mb_strlen($match2, CHARSET) == 0)\n            || (mb_strlen($match1, CHARSET) != mb_strlen($match2, CHARSET))\n        ) {\n            return 0.0;\n        }\n\n        $trans = $this->_getTranspositions($match1, $match2);\n\n        $distance = (mb_strlen($match1, CHARSET) / mb_strlen($shorter, CHARSET)\n            + mb_strlen($match2, CHARSET) / mb_strlen($longer, CHARSET)\n            + (mb_strlen($match1, CHARSET) - $trans)\n            / mb_strlen($match1, CHARSET)) / 3.0;\n\n        // Apply Winkler Adjustment\n        $prefixLen = min(mb_strlen($this->_getPrefix($first, $second),CHARSET), 4);\n        $jaroWinkler = round(($distance + (0.1 * $prefixLen * (1.0 - $distance))) * 100.0) / 100.0;\n\n        return $jaroWinkler;\n    }\n\n    /**\n     * Get Character Matches\n     *\n     * @param string $first  String to match\n     * @param string $second String to match\n     * @param int    $limit  Limit of characters to match\n     *\n     * @return string $common Common substring\n     */\n    private function _getCharMatch($first, $second, $limit)\n    {\n        $common = '';\n        $copy = $second;\n        $firstLen = mb_strlen($first, CHARSET);\n        $secondLen = mb_strlen($second, CHARSET);\n\n        for ($i = 0; $i < $firstLen; $i++) {\n            $char = $first[$i];\n            $found = false;\n\n            for ($j = max(0, $i - $limit); !$found && $j < min($i + $limit, $secondLen); $j++) {\n                if ($copy[$j] == $char) {\n                    $found = true;\n                    $common .= $char;\n                    $copy[$j] = '*';\n                }\n            }\n        }\n\n        return $common;\n    }\n\n    /**\n     * Get Transpositions\n     *\n     * @param string $first  String to match\n     * @param string $second String to match\n     *\n     * @return int $trans Number of transpositions between strings\n     */\n    private function _getTranspositions($first, $second)\n    {\n        $trans = 0;\n        $firstLen = mb_strlen($first, CHARSET);\n\n        for ($i = 0; $i < $firstLen; $i++) {\n            if ($first[$i] != $second[$i]) {\n                $trans += 1;\n            }\n        }\n\n        $trans /= 2;\n        return $trans;\n    }\n\n    /**\n     * Get Prefix\n     *\n     * @param string $first  String to match\n     * @param string $second String to match\n     *\n     * @return string Returns substring representing the longest prefix\n     */\n    private function _getPrefix($first, $second)\n    {\n        if (mb_strlen($first, CHARSET) == 0 || mb_strlen($second, CHARSET) == 0) {\n            return '';\n        }\n\n        $index = $this->_getDiffIndex($first, $second);\n        if ($index == -1) {\n            return $first;\n        } elseif ($index == 0) {\n            return '';\n        } else {\n            return mb_substr($first, 0, $index, CHARSET);\n        }\n    }\n\n    /**\n     * Get Difference Index\n     *\n     * @param string $first  String to match\n     * @param string $second String to match\n     *\n     * @return Return index of first difference\n     */\n    private function _getDiffIndex($first, $second)\n    {\n        if ($first == $second) {\n            return -1;\n        }\n\n        $maxLen = min(mb_strlen($first, CHARSET), mb_strlen($second, CHARSET));\n        for ($i = 0; $i < $maxLen; $i++) {\n            if ($first[$i] != $second[$i]) {\n                return $i;\n            }\n        }\n\n        return $maxLen;\n    }\n\n    /**\n     * Print Matrix\n     * Utility / Testing function for testing purposes\n     *\n     * @param array $arr 2-dimensional array representing a matrix\n     *\n     * @return void\n     */\n    private function _printMatrix($arr)\n    {\n        $str = '';\n        $width = count($arr[0]);\n        $height = count($arr);\n\n        for ($i = 0; $i < $height; $i++) {\n            for ($j = 0; $j < $width; $j++) {\n                if (!isset($arr[$i][$j])) {\n                    $arr[$i][$j] = ' ';\n                }\n\n                $str = $str . \"[{$arr[$i][$j]}]\";\n\n                if ($j === $width - 1) {\n                    $str = $str . PHP_EOL;\n                }\n            }\n        }\n\n        print($str);\n    }\n}\n"
  },
  {
    "path": "bl-plugins/sitemap/languages/da.json",
    "content": "{\n\t\"notifies-bing-when-you-created\": \"Underretter Bing om, hvornår du oprettede, ændrede eller slettede indhold fra dit websted.\",\n\t\"notifies-google-when-you-created\": \"Underretter Google om, hvornår du oprettede, ændrede eller slettede indhold fra dit websted.\",\n\t\"plugin-data\": {\n\t\t\"description\": \"Denne udvidelse genererer en sitemap.xml fil, der indeholder en liste over siderne på dit websted. Dette hjælper søgemaskiner med at organisere og filtrere indhold fra deres websted.\",\n\t\t\"name\": \"Sitemap\"\n\t},\n\t\"sitemap-url\": \"Sitemap URL\"\n}\n"
  },
  {
    "path": "bl-plugins/sitemap/languages/de_CH.json",
    "content": "{\n    \"plugin-data\": {\n        \"name\": \"Sitemap\",\n        \"description\": \"Plugin, um eine Datei sitemap.xml mit einer Übersicht aller Seiten zu erstellen. Diese hilft Suchmaschinen dabei, den Aufbau und die Inhalte der Website zu erfassen.\"\n    },\n    \"sitemap-url\": \"Sitemap-URL\",\n    \"notifies-google-when-you-created\": \"Benachrichtigt Google, wenn Sie Inhalte auf Ihrer Website erstellt, geändert oder gelöscht haben.\",\n    \"notifies-bing-when-you-created\": \"Benachrichtigt Bing, wenn Sie Inhalte auf Ihrer Website erstellt, geändert oder gelöscht haben.\"\n}\n"
  },
  {
    "path": "bl-plugins/sitemap/languages/de_DE.json",
    "content": "{\n    \"plugin-data\": {\n        \"name\": \"Sitemap\",\n        \"description\": \"Plugin, um eine Datei sitemap.xml mit einer Übersicht aller Seiten zu erstellen. Diese hilft Suchmaschinen dabei, den Aufbau und die Inhalte der Website zu erfassen.\"\n    },\n    \"sitemap-url\": \"Sitemap-URL\",\n    \"notifies-google-when-you-created\": \"Benachrichtigt Google, wenn Sie Inhalte auf Ihrer Website erstellt, geändert oder gelöscht haben.\",\n    \"notifies-bing-when-you-created\": \"Benachrichtigt Bing, wenn Sie Inhalte auf Ihrer Website erstellt, geändert oder gelöscht haben.\"\n}\n"
  },
  {
    "path": "bl-plugins/sitemap/languages/en.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Sitemap\",\n\t\t\"description\": \"This plugin generates a sitemap.xml file, which provides the list of pages on your website, this helps search engines organize and filter content from their website.\"\n\t},\n\t\"sitemap-url\": \"Sitemap URL\",\n\t\"notifies-google-when-you-created\": \"Notifies Google when you created, modified or deleted content from your site.\",\n\t\"notifies-bing-when-you-created\": \"Notifies Bing when you created, modified or deleted content from your site.\"\n}\n"
  },
  {
    "path": "bl-plugins/sitemap/languages/es.json",
    "content": "{\n    \"plugin-data\": {\n        \"name\": \"Sitemap\",\n        \"description\": \"Este plugin genera un archivo sitemap.xml, el cual provee la lista de páginas de su sitio web, esto ayuda a los buscadores a organizar y filtrar contenido de su sitio web.\"\n    },\n    \"sitemap-url\": \"URL del sitemap\",\n    \"notifies-google-when-you-created\": \"Notifica a Google cuando creas, modificas o eliminas contenido de tu sitio.\",\n    \"notifies-bing-when-you-created\": \"Notifica a Bing cuando creas, modificas o eliminas contenido de tu sitio.\"\n}\n"
  },
  {
    "path": "bl-plugins/sitemap/languages/fa_IR.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"نقشه سایت\",\n\t\t\"description\": \"این پلاگین یک فایل sitemap.xml تولید می کند، که لیستی از صفحات وبسایت شما را ارائه می کند، این پلاگین به موتورهای جستجو کمک میکند تا محتوای شما را سازماندهی و پالایش کند.\"\n\t},\n\t\"sitemap-url\": \"آدرس وب نقشه سایت\",\n\t\"notifies-google-when-you-created\": \"اطلاع رسانی به Google هنگامی که شما محتوایی بر روی وبسایت خود ایجاد، ویرایش و یا حذف می کنید.\",\n\t\"notifies-bing-when-you-created\": \"اطلاع رسانی به Bing هنگامی که شما محتوایی بر روی وبسایت خود ایجاد، ویرایش و یا حذف می کنید.\"\n}\n"
  },
  {
    "path": "bl-plugins/sitemap/languages/fr_FR.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Plan du site\",\n\t\t\"description\": \"Ce plugin génère un fichier sitemap.xml, qui fournit la liste des pages de votre site, ce qui aide les moteurs de recherche à organiser et filtrer le contenu de votre site.\"\n\t},\n\t\"sitemap-url\": \"URL de votre sitemap.\",\n\t\"notifies-google-when-you-created\": \"Notifie à Google lorsque vous avez créé, modifié ou supprimé du contenu sur votre site.\",\n\t\"notifies-bing-when-you-created\": \"Notifie Bing lorsque vous avez créé, modifié ou supprimé du contenu sur votre site.\"\n}\n"
  },
  {
    "path": "bl-plugins/sitemap/languages/it.json",
    "content": "{\n    \"plugin-data\": {\n        \"name\": \"Sitemap\",\n        \"description\": \"Questo plugin genera un file sitemap.xml, Che offre l'elenco delle pagine sul tuo sito web, questo aiuya i motori di ricerca ad organizzare e filtrare il contenuto del proprio sito web.\"\n    },\n    \"sitemap-url\": \"URL sitemap\",\n    \"notifies-google-when-you-created\": \"Notifica a Google quando crei, modifichi o elimini contenuti dal tuo sito.\",\n    \"notifies-bing-when-you-created\": \"Notifica a Bing quando crei, modifichi o elimini contenuti dal tuo sito.\"\n}\n"
  },
  {
    "path": "bl-plugins/sitemap/languages/ja_JP.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Sitemap\",\n\t\t\"description\": \"This plugin generates a sitemap.xml file, which provides the list of pages on your website, this helps search engines organize and filter content from their website.\"\n\t},\n\t\"sitemap-url\": \"Sitemap URL\",\n\t\"notifies-google-when-you-created\": \"Notifies Google when you created, modified or deleted content from your site.\",\n\t\"notifies-bing-when-you-created\": \"Notifies Bing when you created, modified or deleted content from your site.\"\n}\n"
  },
  {
    "path": "bl-plugins/sitemap/languages/nl_NL.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Sitemap\",\n\t\t\"description\": \"Deze plugin genereert het bestand sitemap.xml met daarin de structuur van deze website. Zoekmachines kunnen hiervan gebruikmaken bij het organiseren en filteren van de inhoud.\"\n\t},\n\t\"sitemap-url\": \"URL sitemap\",\n\t\"notifies-google-when-you-created\": \"Stel Google op de hoogte bij het aanmaken, bewerken of verwijderen van inhoud op de website.\",\n\t\"notifies-bing-when-you-created\": \"Stel Bing op de hoogte bij het aanmaken, bewerken of verwijderen van inhoud op de website.\"\n}\n"
  },
  {
    "path": "bl-plugins/sitemap/languages/ru_RU.json",
    "content": "{\n    \"plugin-data\": {\n        \"name\": \"Карта сайта\",\n        \"description\": \"Этот плагин генерирует sitemap.xml где вы можете перечислить все страницы сайта для удобства индексирования содержимого поисковыми системами.\"\n    },\n    \"sitemap-url\": \"URL карты сайта\",\n    \"notifies-google-when-you-created\": \"Уведомляет Google, когда вы создали, изменили или удалили контент на своем сайте.\",\n    \"notifies-bing-when-you-created\": \"Уведомляет Bing, когда вы создали, изменили или удалили контент на своем сайте.\"\n}\n"
  },
  {
    "path": "bl-plugins/sitemap/languages/tr.json",
    "content": "{\n    \"plugin-data\": {\n        \"name\": \"Site haritası\",\n        \"description\": \"Bu eklenti, web sitenizdeki sayfaların listesini sağlayan bir sitemap.xml dosyası oluşturur. Bu, arama motorlarının web sitesindeki içeriği düzenleyip filtrelemesine yardımcı olur.\"\n    },\n    \"sitemap-url\": \"Site haritası URL\",\n    \"notifies-google-when-you-created\": \"Sitenizden içerik oluşturduğunuzda, değiştirdiğinizde veya sildiğinizde Google'ı bilgilendirir.\",\n    \"notifies-bing-when-you-created\": \"Sitenizden içerik oluşturduğunuzda, değiştirdiğinizde veya sildiğinizde Bing'i bilgilendirir.\"\n}\n"
  },
  {
    "path": "bl-plugins/sitemap/languages/uk_UA.json",
    "content": "{\n    \"plugin-data\": {\n        \"name\": \"Карта сайту\",\n        \"description\": \"Цей плагін генерує файл sitemap.xml, де перераховані веб-сторінки вашого сайту, щоб повідомити пошукові системи про зміст сайту.\"\n    },\n    \"sitemap-url\": \"URL карти сайту\",\n    \"notifies-google-when-you-created\": \"Сповіщає Google, коли ви створили, змінили або видалили вміст на своєму сайті.\",\n    \"notifies-bing-when-you-created\": \"Сповіщає Bing, коли ви створили, змінили або видалили вміст на своєму сайті.\"\n}\n"
  },
  {
    "path": "bl-plugins/sitemap/metadata.json",
    "content": "{\n\t\"author\": \"Bludit\",\n\t\"email\": \"\",\n\t\"website\": \"https://plugins.bludit.com\",\n\t\"version\": \"3.21.0\",\n\t\"releaseDate\": \"2026-04-25\",\n\t\"license\": \"MIT\",\n\t\"compatible\": \"3.21\",\n\t\"notes\": \"\"\n}\n"
  },
  {
    "path": "bl-plugins/sitemap/plugin.php",
    "content": "<?php\n\nclass pluginSitemap extends Plugin {\n\n\tpublic function init()\n\t{\n\t\t$this->dbFields = array(\n\t\t\t'pingGoogle'=>false,\n\t\t\t'pingBing'=>false\n\t\t);\n\t}\n\n\t// Method called on the settings of the plugin on the admin area\n\tpublic function form()\n\t{\n\t\tglobal $L;\n\n\t\t$html  = '<div class=\"alert alert-primary\" role=\"alert\">';\n\t\t$html .= $this->description();\n\t\t$html .= '</div>';\n\n\t\t$html .= '<div>';\n\t\t$html .= '<label>'.$L->get('Sitemap URL').'</label>';\n\t\t$html .= '<a href=\"'.Theme::sitemapUrl().'\">'.Theme::sitemapUrl().'</a>';\n\t\t$html .= '</div>';\n\n\t\t$html .= '<div>';\n\t\t$html .= '<label>Ping Google</label>';\n\t\t$html .= '<select name=\"pingGoogle\">';\n\t\t$html .= '<option value=\"true\" '.($this->getValue('pingGoogle')===true?'selected':'').'>'.$L->get('Enabled').'</option>';\n\t\t$html .= '<option value=\"false\" '.($this->getValue('pingGoogle')===false?'selected':'').'>'.$L->get('Disabled').'</option>';\n\t\t$html .= '</select>';\n\t\t$html .= '<span class=\"tip\">'.$L->get('notifies-google-when-you-created').'</span>';\n\t\t$html .= '</div>';\n\n\t\t$html .= '<div>';\n\t\t$html .= '<label>Ping Bing</label>';\n\t\t$html .= '<select name=\"pingBing\">';\n\t\t$html .= '<option value=\"true\" '.($this->getValue('pingBing')===true?'selected':'').'>'.$L->get('Enabled').'</option>';\n\t\t$html .= '<option value=\"false\" '.($this->getValue('pingBing')===false?'selected':'').'>'.$L->get('Disabled').'</option>';\n\t\t$html .= '</select>';\n\t\t$html .= '<span class=\"tip\">'.$L->get('notifies-bing-when-you-created').'</span>';\n\t\t$html .= '</div>';\n\n\t\treturn $html;\n\t}\n\n\tprivate function createXML()\n\t{\n\t\tglobal $site;\n\t\tglobal $pages;\n\n\t\t$xml = '<?xml version=\"1.0\" encoding=\"UTF-8\" ?>';\n\t\t$xml .= '<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">';\n\n\t\t$xml .= '<url>';\n\t\t$xml .= '<loc>'.$site->url().'</loc>';\n\t\t$xml .= '</url>';\n\n\t\t$list = $pages->getList($pageNumber=1, $numberOfItems=-1, $published=true, $static=true, $sticky=true, $draft=false, $scheduled=false);\n\t\tforeach ($list as $pageKey) {\n\t\t\ttry {\n\t\t\t\t// Create the page object from the page key\n\t\t\t\t$page = new Page($pageKey);\n\t\t\t\tif (!$page->noindex()) {\n\t\t\t\t\t$xml .= '<url>';\n\t\t\t\t\t$xml .= '<loc>'.$page->permalink().'</loc>';\n\t\t\t\t\t$xml .= '<lastmod>'.$page->date(SITEMAP_DATE_FORMAT).'</lastmod>';\n\t\t\t\t\t$xml .= '</url>';\n\t\t\t\t}\n\t\t\t} catch (Exception $e) {\n\t\t\t\t// Continue\n\t\t\t}\n\t\t}\n\n\t\t$xml .= '</urlset>';\n\n\t\t// New DOM document\n\t\t$doc = new DOMDocument();\n\t\t$doc->formatOutput = true;\n\t\t$doc->loadXML($xml);\n\t\treturn $doc->save($this->workspace().'sitemap.xml');\n\t}\n\n\tprivate function ping()\n\t{\n\t\tif ($this->getValue('pingGoogle')) {\n\t\t\t$url = 'https://www.google.com/ping?sitemap='.Theme::sitemapUrl();\n\t\t\tTCP::http($url, 'GET', true, 3);\n\t\t}\n\n\t\tif ($this->getValue('pingBing')) {\n\t\t\t$url = 'https://www.bing.com/ping?sitemap='.Theme::sitemapUrl();\n\t\t\tTCP::http($url, 'GET', true, 3);\n\t\t}\n\t}\n\n\tpublic function install($position=0)\n\t{\n\t\tparent::install($position);\n\t\treturn $this->createXML();\n\t}\n\n\tpublic function post()\n\t{\n\t\tparent::post();\n\t\treturn $this->createXML();\n\t}\n\n\tpublic function afterPageCreate()\n\t{\n\t\t$this->createXML();\n\t\t$this->ping();\n\t}\n\n\tpublic function afterPageModify()\n\t{\n\t\t$this->createXML();\n\t\t$this->ping();\n\t}\n\n\tpublic function afterPageDelete()\n\t{\n\t\t$this->createXML();\n\t\t$this->ping();\n\t}\n\n\tpublic function beforeAll()\n\t{\n\t\t$webhook = 'sitemap.xml';\n\t\tif( $this->webhook($webhook) ) {\n\t\t\t$sitemapFile = $this->workspace().'sitemap.xml';\n\t\t\t$sitemapSize = filesize($sitemapFile);\n\n\t\t\t// Send XML header\n\t\t\theader('Content-type: text/xml');\n\t\t\theader('Content-length: '.$sitemapSize);\n\n\t\t\t$doc = new DOMDocument();\n\n\t\t\t// Load XML (external entity loading is disabled by default in PHP 8.0+)\n\t\t\t$doc->load($this->workspace().'sitemap.xml');\n\n\t\t\t// Print the XML\n\t\t\techo $doc->saveXML();\n\n\t\t\t// Terminate the run successfully\n\t\t\texit(0);\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "bl-plugins/static-pages/languages/da.json",
    "content": "{\n\t\"home-link\": \"Hjemmelink\",\n\t\"plugin-data\": {\n\t\t\"description\": \"Navigationsmenu med statiske sider.\",\n\t\t\"name\": \"Static Pages\"\n\t},\n\t\"show-the-home-link-on-the-sidebar\": \"Vis hjemmelinket på dit sidepanel.\"\n}\n"
  },
  {
    "path": "bl-plugins/static-pages/languages/de_CH.json",
    "content": "{\n\t\"plugin-data\": {\n\t\t\"name\": \"Statische Seiten\",\n\t\t\"description\": \"Menü der statischen Seiten.\"\n\t},\n\t\"home-link\": \"Hauptseite\",\n\t\"show-the-home-link-on-the-sidebar\": \"Hauptseite im Menü zeigen.\"\n}\n"
  },
  {
    "path": "bl-plugins/static-pages/languages/de_DE.json",
    "content": "{\n\t\"plugin-data\": {\n\t\t\"name\": \"Statische Seiten\",\n\t\t\"description\": \"Menü der statischen Seiten.\"\n\t},\n\t\"home-link\": \"Hauptseite\",\n\t\"show-the-home-link-on-the-sidebar\": \"Hauptseite im Menü zeigen.\"\n}\n"
  },
  {
    "path": "bl-plugins/static-pages/languages/en.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Static Pages\",\n\t\t\"description\": \"Navigation menu with static pages.\"\n\t},\n\t\"home-link\": \"Home link\",\n\t\"show-the-home-link-on-the-sidebar\": \"Show the home link on the sidebar.\"\n}"
  },
  {
    "path": "bl-plugins/static-pages/languages/es.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Páginas Estáticas\",\n\t\t\"description\": \"Cree su propio menú de navegación con páginas estáticas.\"\n\t},\n\t\"home-link\": \"Inicio enlace\",\n\t\"show-the-home-link-on-the-sidebar\": \"Mostrar el enlace de inicio en la barra lateral.\"\n}"
  },
  {
    "path": "bl-plugins/static-pages/languages/fa_IR.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"صفحات استاتیک\",\n\t\t\"description\": \"منوی ناوبری به همراه صفحات استاتیک.\"\n\t},\n\t\"home-link\": \"لینک فهرست\",\n\t\"show-the-home-link-on-the-sidebar\": \"نمایش لینک فهرست در نوار کناری.\"\n}\n"
  },
  {
    "path": "bl-plugins/static-pages/languages/fr_FR.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Pages statiques\",\n\t\t\"description\": \"Créez votre propre menu de navigation avec les dernières pages ou pages statiques.\"\n\t},\n\t\"home-link\": \"Lien de la page d’accueil\",\n\t\"show-the-home-link-on-the-sidebar\": \"Afficher un lien vers la page d’accueil dans la barre latérale.\"\n}"
  },
  {
    "path": "bl-plugins/static-pages/languages/it.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Pagine Statiche\",\n\t\t\"description\": \"Crea il tuo menu du navigazione con le pagine statiche.\"\n\t},\n\t\"home-link\": \"Collegamento Home\",\n\t\"show-the-home-link-on-the-sidebar\": \"Visualizza il collegamento della home nella barra laterale.\"\n}"
  },
  {
    "path": "bl-plugins/static-pages/languages/ja_JP.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Static Pages\",\n\t\t\"description\": \"Navigation menu with static pages.\"\n\t},\n\t\"home-link\": \"ホームリンク\",\n\t\"show-the-home-link-on-the-sidebar\": \"サイドバーにホームリンクを表示する\"\n}"
  },
  {
    "path": "bl-plugins/static-pages/languages/nl_NL.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Statische Pagina's\",\n\t\t\"description\": \"Toont navigatiemenu met statische pagina's.\"\n\t},\n\t\"home-link\": \"Link naar startpagina\",\n\t\"show-the-home-link-on-the-sidebar\": \"Toon een link naar de startpagina.\"\n}"
  },
  {
    "path": "bl-plugins/static-pages/languages/ru_RU.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Статические страницы\",\n\t\t\"description\": \"Меню навигации со статическими страницами.\"\n\t},\n\t\"home-link\": \"Домашняя страница\",\n\t\"show-the-home-link-on-the-sidebar\": \"Отображать ссылку на домашнюю страницу на боковой панели сайта.\"\n}\n"
  },
  {
    "path": "bl-plugins/static-pages/languages/tr.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Sabit sayfalar\",\n\t\t\"description\": \"Sabit sayfalarla gezinti menüsü.\"\n\t},\n\t\"home-link\": \"Ana sayfa bağlantısı\",\n\t\"show-the-home-link-on-the-sidebar\": \"Kenar çubuğundaki ana sayfa bağlantısını göster.\"\n}\n"
  },
  {
    "path": "bl-plugins/static-pages/metadata.json",
    "content": "{\n\t\"author\": \"Bludit\",\n\t\"email\": \"\",\n\t\"website\": \"https://plugins.bludit.com\",\n\t\"version\": \"3.21.0\",\n\t\"releaseDate\": \"2026-04-25\",\n\t\"license\": \"MIT\",\n\t\"compatible\": \"3.21\",\n\t\"notes\": \"\"\n}\n"
  },
  {
    "path": "bl-plugins/static-pages/plugin.php",
    "content": "<?php\n\nclass pluginStaticPages extends Plugin\n{\n\n\tpublic function init()\n\t{\n\t\t// Fields and default values for the database of this plugin\n\t\t$this->dbFields = array(\n\t\t\t'label' => 'Static Pages',\n\t\t\t'homeLink' => true\n\t\t);\n\t}\n\n\t// Method called on the settings of the plugin on the admin area\n\tpublic function form()\n\t{\n\t\tglobal $L;\n\n\t\t$html  = '<div class=\"alert alert-primary\" role=\"alert\">';\n\t\t$html .= $this->description();\n\t\t$html .= '</div>';\n\n\t\t$html .= '<div>';\n\t\t$html .= '<label>' . $L->get('Label') . '</label>';\n\t\t$html .= '<input id=\"jslabel\" name=\"label\" type=\"text\" dir=\"auto\" value=\"' . $this->getValue('label') . '\">';\n\t\t$html .= '<span class=\"tip\">' . $L->get('This title is almost always used in the sidebar of the site') . '</span>';\n\t\t$html .= '</div>';\n\n\t\t$html .= '<div>';\n\t\t$html .= '<label>' . $L->get('Home link') . '</label>';\n\t\t$html .= '<select name=\"homeLink\">';\n\t\t$html .= '<option value=\"true\" ' . ($this->getValue('homeLink') === true ? 'selected' : '') . '>' . $L->get('Enabled') . '</option>';\n\t\t$html .= '<option value=\"false\" ' . ($this->getValue('homeLink') === false ? 'selected' : '') . '>' . $L->get('Disabled') . '</option>';\n\t\t$html .= '</select>';\n\t\t$html .= '<span class=\"tip\">' . $L->get('show-the-home-link-on-the-sidebar') . '</span>';\n\t\t$html .= '</div>';\n\n\t\treturn $html;\n\t}\n\n\t// Method called on the sidebar of the website\n\tpublic function siteSidebar()\n\t{\n\t\tglobal $L;\n\t\tglobal $url;\n\t\tglobal $site;\n\t\tglobal $pages;\n\n\t\t// HTML for sidebar\n\t\t$html  = '<div class=\"plugin plugin-static-pages\">';\n\n\t\t// Print the label if not empty\n\t\t$label = $this->getValue('label');\n\t\tif (!empty($label)) {\n\t\t\t$html .= '<h2 class=\"plugin-label\">' . $label . '</h2>';\n\t\t}\n\n\t\t$html .= '<div class=\"plugin-content\">';\n\t\t$html .= '<ul>';\n\n\t\t// Show Home page link\n\t\tif ($this->getValue('homeLink')) {\n\t\t\t$html .= '<li>';\n\t\t\t$html .= '<a href=\"' . $site->url() . '\">' . $L->get('Home page') . '</a>';\n\t\t\t$html .= '</li>';\n\t\t}\n\n\t\t// Show static pages\n\t\t$staticPages = buildStaticPages();\n\t\tforeach ($staticPages as $page) {\n\t\t\tif ($page->isParent()) {\n\t\t\t\t$html .= '<li class=\"parent\">';\n\t\t\t} else {\n\t\t\t\t$html .= '<li class=\"subpage\" style=\"margin-left: 10px\">';\n\t\t\t}\n\t\t\t$html .= '<a href=\"' . $page->permalink() . '\">' . $page->title() . '</a>';\n\t\t\t$html .= '</li>';\n\t\t}\n\n\t\t$html .= '</ul>';\n\t\t$html .= '</div>';\n\t\t$html .= '</div>';\n\n\t\treturn $html;\n\t}\n}\n"
  },
  {
    "path": "bl-plugins/tags/languages/da.json",
    "content": "{\n\t\"plugin-data\": {\n\t\t\"description\": \"Vis alle tags i sidepanelet\",\n\t\t\"name\": \"Tags list\"\n\t}\n}\n"
  },
  {
    "path": "bl-plugins/tags/languages/de_CH.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Schlagwörter\",\n\t\t\"description\": \"Zeigt alle Schlagwörter in der Seitenleiste (bei Themes mit einer Seitenleiste).\"\n\t}\n}\n"
  },
  {
    "path": "bl-plugins/tags/languages/de_DE.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Schlagwörter\",\n\t\t\"description\": \"Zeigt alle Schlagwörter in der Seitenleiste (bei Themes mit einer Seitenleiste).\"\n\t}\n}\n"
  },
  {
    "path": "bl-plugins/tags/languages/en.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Tags list\",\n\t\t\"description\": \"Shows all tags on the sidebar.\"\n\t}\n}\n"
  },
  {
    "path": "bl-plugins/tags/languages/es.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Lista de etiquetas\",\n\t\t\"description\": \"Muestra todas las etiquetas en la barra lateral.\"\n\t}\n}\n"
  },
  {
    "path": "bl-plugins/tags/languages/fa_IR.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"لیست برچسب ها\",\n\t\t\"description\": \"نمایش تمام برچسب ها در نوار کناری.\"\n\t}\n}\n"
  },
  {
    "path": "bl-plugins/tags/languages/fr_FR.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Liste des mots-clés\",\n\t\t\"description\": \"Affiche tous les mots-clés sur la barre latérale.\"\n\t}\n}\n"
  },
  {
    "path": "bl-plugins/tags/languages/it.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Elenco tag\",\n\t\t\"description\": \"Visualizza tutti i tag nella barra laterale.\"\n\t}\n}\n"
  },
  {
    "path": "bl-plugins/tags/languages/ja_JP.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"タグリスト\",\n\t\t\"description\": \"Shows all tags on the sidebar.\"\n\t}\n}\n"
  },
  {
    "path": "bl-plugins/tags/languages/nl_NL.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Tags-lijst\",\n\t\t\"description\": \"Toont alle tags in de zijbalk.\"\n\t}\n}\n"
  },
  {
    "path": "bl-plugins/tags/languages/ru_RU.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Список тегов\",\n\t\t\"description\": \"Отображает список тегов на боковой панели.\"\n\t}\n}\n"
  },
  {
    "path": "bl-plugins/tags/languages/tr_TR.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Etiket Listesi\",\n\t\t\"description\": \"Tüm etiketleri kenar çubuğunda göster.\"\n\t}\n}\n"
  },
  {
    "path": "bl-plugins/tags/metadata.json",
    "content": "{\n\t\"author\": \"Bludit\",\n\t\"email\": \"\",\n\t\"website\": \"https://plugins.bludit.com\",\n\t\"version\": \"3.21.0\",\n\t\"releaseDate\": \"2026-04-25\",\n\t\"license\": \"MIT\",\n\t\"compatible\": \"3.21\",\n\t\"notes\": \"\"\n}\n"
  },
  {
    "path": "bl-plugins/tags/plugin.php",
    "content": "<?php\n\nclass pluginTags extends Plugin\n{\n\n\tpublic function init()\n\t{\n\t\t$this->dbFields = array(\n\t\t\t'label' => 'Tags'\n\t\t);\n\t}\n\n\tpublic function form()\n\t{\n\t\tglobal $L;\n\n\t\t$html  = '<div class=\"alert alert-primary\" role=\"alert\">';\n\t\t$html .= $this->description();\n\t\t$html .= '</div>';\n\n\t\t$html .= '<div>';\n\t\t$html .= '<label>' . $L->get('Label') . '</label>';\n\t\t$html .= '<input id=\"jslabel\" name=\"label\" type=\"text\" dir=\"auto\" value=\"' . $this->getValue('label') . '\">';\n\t\t$html .= '<span class=\"tip\">' . $L->get('This title is almost always used in the sidebar of the site') . '</span>';\n\t\t$html .= '</div>';\n\n\t\treturn $html;\n\t}\n\n\tpublic function siteSidebar()\n\t{\n\t\tglobal $L;\n\t\tglobal $tags;\n\t\tglobal $url;\n\n\t\t$filter = $url->filters('tag');\n\n\t\t$html  = '<div class=\"plugin plugin-tags\">';\n\t\t$html .= '<h2 class=\"plugin-label\">' . $this->getValue('label') . '</h2>';\n\t\t$html .= '<div class=\"plugin-content\">';\n\t\t$html .= '<ul>';\n\n\t\t// By default, the database of tags is alphanumeric sorted\n\t\tforeach ($tags->db as $key => $fields) {\n\t\t\t$html .= '<li>';\n\t\t\t$html .= '<a href=\"' . DOMAIN_TAGS . $key . '\">';\n\t\t\t$html .= $fields['name'];\n\t\t\t$html .= '</a>';\n\t\t\t$html .= '</li>';\n\t\t}\n\n\t\t$html .= '</ul>';\n\t\t$html .= '</div>';\n\t\t$html .= '</div>';\n\n\t\treturn $html;\n\t}\n}\n"
  },
  {
    "path": "bl-plugins/tinymce/css/tinymce_content.css",
    "content": "body.mce-content-body {\n\tpadding: 10px 5% !important;\n\tfont-size: 16px;\n}\n\n.mce-content-body img {\n\tmax-width: 100%;\n\theight: auto;\n}\n\n.mce-content-body .mce-pagebreak {\n\theight: 5px !important;\n}\n\n.mce-content-body a {\n\tcolor: #4a90e2;\n\ttext-decoration: none;\n}\n\n.mce-content-body p,\n.mce-content-body div,\n.mce-content-body h1,\n.mce-content-body h2,\n.mce-content-body h3,\n.mce-content-body h4,\n.mce-content-body h5,\n.mce-content-body h6,\n.mce-content-body ul {\n\tline-height: 1.5em;\n}\n\n.mce-content-body blockquote {\n\tpadding: 10px 20px;\n\tmargin: 0 0 20px 20px;\n\tborder-left: 5px solid #eee;\n\tfont-style: italic;\n}\n"
  },
  {
    "path": "bl-plugins/tinymce/css/tinymce_toolbar.css",
    "content": ".tox .tox-toolbar, .tox .tox-toolbar__overflow, .tox .tox-toolbar__primary {\n\tborder-top: none !important;\n}\n\n/* TinyMCE focus styling to match the theme */\n.tox-tinymce:focus,\n.tox-tinymce--focused {\n\tborder: 2px solid #b0bec5 !important;\n\tbox-shadow: none !important;\n\toutline: none !important;\n}\n\n.tox-edit-focus .tox-edit-area::before {\n\topacity: 0 !important;\n}"
  },
  {
    "path": "bl-plugins/tinymce/languages/da.json",
    "content": "{\n    \"plugin-data\": {\n        \"description\": \"HTML Editor til formatering af indhold. Anbefales til de brugere, der ikke ønsker at arbejde med Markdown kode.\",\n        \"name\": \"TinyMCE\"\n    },\n    \"toolbar-top\": \"Værktøjslinje øverst\",\n    \"toolbar-bottom\": \"Værktøjslinje nederst\",\n    \"context-menu\": \"Kontekstmenu\",\n    \"context-menu-tip\": \"Tomt felt for at deaktivere editorens kontekstmenu.\",\n    \"codesample-languages\": \"Kodeprøve-sprog\",\n    \"codesample-supported-laguages\": \"Programmeringssprog understøttet af Prism.\"\n}\n"
  },
  {
    "path": "bl-plugins/tinymce/languages/de_CH.json",
    "content": "{\n    \"plugin-data\": {\n        \"name\": \"TinyMCE\",\n        \"description\": \"WYSIWYG HTML Editor, mit dem Inhalte einfach formatiert werden können.\"\n    },\n    \"toolbar-top\": \"Obere Werkzeugleiste\",\n    \"toolbar-bottom\": \"Untere Werkzeugleiste\",\n    \"codesample-languages\": \"Codesample Programmiersprachen\",\n    \"codesample-supported-laguages\": \"Pragrammiersprachen die von Prism unterstützt werden.\",\n    \"context-menu\": \"Kontextmenü\",\n    \"context-menu-tip\": \"Leeres Feld, um das Kontextmenü des Editors zu deaktivieren.\"\n}\n"
  },
  {
    "path": "bl-plugins/tinymce/languages/de_DE.json",
    "content": "{\n    \"plugin-data\": {\n        \"name\": \"TinyMCE\",\n        \"description\": \"WYSIWYG HTML Editor, mit dem Inhalte einfach formatiert werden können.\"\n    },\n    \"toolbar-top\": \"Obere Werkzeugleiste\",\n    \"toolbar-bottom\": \"Untere Werkzeugleiste\",\n    \"codesample-languages\": \"Codesample Programmiersprachen\",\n    \"codesample-supported-laguages\": \"Pragrammiersprachen die von Prism unterstützt werden.\",\n    \"context-menu\": \"Kontextmenü\",\n    \"context-menu-tip\": \"Leeres Feld, um das Kontextmenü des Editors zu deaktivieren.\"\n}\n"
  },
  {
    "path": "bl-plugins/tinymce/languages/en.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"TinyMCE\",\n\t\t\"description\": \"HTML Editor for formatting content. Recommended for the users who don't want to work with Markdown code.\"\n\t},\n\t\"toolbar-top\": \"Toolbar top\",\n\t\"toolbar-bottom\": \"Toolbar bottom\",\n\t\"context-menu\": \"Context menu\",\n\t\"context-menu-tip\": \"Empty field to disable the editor’s context menu.\",\n\t\"codesample-languages\": \"Codesample languages\",\n\t\"codesample-supported-laguages\": \"Programming languages supported by Prism.\"\n}"
  },
  {
    "path": "bl-plugins/tinymce/languages/es.json",
    "content": "{\n    \"plugin-data\": {\n        \"name\": \"TinyMCE\",\n        \"description\": \"Editor HTML para formatear contenido. Recomendado para los usuarios que no quieren trabajar con código Markdown.\"\n    },\n    \"toolbar-top\": \"Barra de herramientas superior\",\n    \"toolbar-bottom\": \"Barra de herramientas inferior\",\n    \"context-menu\": \"Menú contextual\",\n    \"context-menu-tip\": \"Campo vacío para desactivar el menú contextual del editor.\",\n    \"codesample-languages\": \"Lenguajes de ejemplo de código\",\n    \"codesample-supported-laguages\": \"Lenguajes de programación compatibles con Prism.\"\n}\n"
  },
  {
    "path": "bl-plugins/tinymce/languages/fa_IR.json",
    "content": "{\n    \"plugin-data\": {\n        \"name\": \"TinyMCE\",\n        \"description\": \"ویرایشگر HTML برای فرمت بندی محتوا. برای کاربرانی که تمایل ندارند با کد Markdown کار کنند پیشنهاد می‌شود.\"\n    },\n    \"toolbar-top\": \"نوار ابزار بالا\",\n    \"toolbar-bottom\": \"نوار ابزار پایین\",\n    \"context-menu\": \"منوی زمینه\",\n    \"context-menu-tip\": \"فیلد خالی برای غیرفعال کردن منوی زمینه ویرایشگر.\",\n    \"codesample-languages\": \"زبان‌های نمونه کد\",\n    \"codesample-supported-laguages\": \"زبان‌های برنامه‌نویسی پشتیبانی شده توسط Prism.\"\n}\n"
  },
  {
    "path": "bl-plugins/tinymce/languages/fr_FR.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"TinyMCE\",\n\t\t\"description\": \"TinyMCE est un éditeur HTML WYSIWYG (What You See Is What You Get) développé en Javascript. Recommandé pour les utilisateurs qui ne sont pas à l'aise avec le format Markdown.\"\n\t},\n\t\"toolbar-top\": \"Barre d'outils supérieure\",\n\t\"toolbar-bottom\": \"Barre d'outils inférieure\",\n\t\"context-menu\": \"Menu contextuel\",\n\t\"context-menu-tip\": \"Vider le champ pour désactiver le menu contextuel de l'éditeur.\",\n\t\"codesample-languages\": \"Exemples de codes de langues\",\n\t\"codesample-supported-laguages\": \"Langages de programmation supportés par Prism.\"\n}"
  },
  {
    "path": "bl-plugins/tinymce/languages/it.json",
    "content": "{\n    \"plugin-data\": {\n        \"name\": \"TinyMCE\",\n        \"description\": \"Editor HTML per formattare il contenuto. Raccomandato per gli utenti che non voglio lavorare con il codice Markdown.\"\n    },\n    \"toolbar-top\": \"Barra degli strumenti superiore\",\n    \"toolbar-bottom\": \"Barra degli strumenti inferiore\",\n    \"context-menu\": \"Menu contestuale\",\n    \"context-menu-tip\": \"Campo vuoto per disabilitare il menu contestuale dell'editor.\",\n    \"codesample-languages\": \"Linguaggi di esempio di codice\",\n    \"codesample-supported-laguages\": \"Linguaggi di programmazione supportati da Prism.\"\n}\n"
  },
  {
    "path": "bl-plugins/tinymce/languages/ja_JP.json",
    "content": "{\n    \"plugin-data\": {\n        \"name\": \"TinyMCE\",\n        \"description\": \"HTML Editor for formatting content. Recommended for the users who don't want to work with Markdown code.\"\n    },\n    \"toolbar-top\": \"ツールバー上部\",\n    \"toolbar-bottom\": \"ツールバー下部\",\n    \"context-menu\": \"コンテキストメニュー\",\n    \"context-menu-tip\": \"エディタのコンテキストメニューを無効にするには、空のフィールドにします。\",\n    \"codesample-languages\": \"コードサンプルの言語\",\n    \"codesample-supported-laguages\": \"Prismがサポートするプログラミング言語。\"\n}\n"
  },
  {
    "path": "bl-plugins/tinymce/languages/nl_NL.json",
    "content": "{\n    \"plugin-data\": {\n        \"name\": \"TinyMCE\",\n        \"description\": \"HTML-editor voor het opmaken van de inhoud. Aanbevolen voor gebruikers die niet met de Markdown-opmaaktaal bekend zijn.\"\n    },\n    \"toolbar-top\": \"Werkbalk bovenaan\",\n    \"toolbar-bottom\": \"Werkbalk onderaan\",\n    \"codesample-languages\": \"Programmeertalen voor codeblokken\",\n    \"codesample-supported-laguages\": \"Door Prism ondersteunde programmeertalen.\",\n    \"context-menu\": \"Contextmenu\",\n    \"context-menu-tip\": \"Leeg het veld om het contextmenu van de editor uit te schakelen.\"\n}\n"
  },
  {
    "path": "bl-plugins/tinymce/languages/ru_RU.json",
    "content": "{\n    \"plugin-data\": {\n        \"name\": \"TinyMCE\",\n        \"description\": \"HTML редактор для форматирования содержимого. Рекомендован для пользователей которые не хотят работать с кодом разметки.\"\n    },\n    \"toolbar-top\": \"Верхняя панель инструментов\",\n    \"toolbar-bottom\": \"Нижняя панель инструментов\",\n    \"context-menu\": \"Контекстное меню\",\n    \"context-menu-tip\": \"Пустое поле для отключения контекстного меню редактора.\",\n    \"codesample-languages\": \"Языки примеров кода\",\n    \"codesample-supported-laguages\": \"Языки программирования, поддерживаемые Prism.\"\n}\n"
  },
  {
    "path": "bl-plugins/tinymce/languages/tr_TR.json",
    "content": "{\n    \"plugin-data\": {\n        \"name\": \"TinyMCE\",\n        \"description\": \"İçerik yazmak için kullanışlı bir editör. Markdown koduyla çalışmak istemeyen kullanıcılar için önerilir.\"\n    },\n    \"toolbar-top\": \"Üst araç çubuğu\",\n    \"toolbar-bottom\": \"Alt araç çubuğu\",\n    \"context-menu\": \"Sağ tık menüsü\",\n    \"context-menu-tip\": \"Editörün sağ tık menüsünü devre dışı bırakmak için boş bırakın.\",\n    \"codesample-languages\": \"Kod örneği dilleri\",\n    \"codesample-supported-laguages\": \"Prism tarafından desteklenen programlama dilleri.\"\n}\n"
  },
  {
    "path": "bl-plugins/tinymce/metadata.json",
    "content": "{\n\t\"author\": \"TinyMCE\",\n\t\"email\": \"\",\n\t\"website\": \"https://www.tinymce.com\",\n\t\"version\": \"8.3.2\",\n\t\"releaseDate\": \"2026-01-14\",\n\t\"license\": \"GPL 2.0+\",\n\t\"compatible\": \"3.21\",\n\t\"notes\": \"\"\n}\n"
  },
  {
    "path": "bl-plugins/tinymce/plugin.php",
    "content": "<?php\n\nclass pluginTinymce extends Plugin\n{\n\n\tprivate $loadOnController = array(\n\t\t'new-content',\n\t\t'edit-content'\n\t);\n\n\tpublic function init()\n\t{\n\t\t$this->dbFields = array(\n\t\t\t'toolbar1' => 'blocks bold italic forecolor backcolor removeformat | bullist numlist table | blockquote alignleft aligncenter alignright | link pagebreak image media codesample code | fullscreen wordcount',\n\t\t\t'toolbar2' => '',\n\t\t\t'contextmenu' => 'link image table',\n\t\t\t'plugins' => 'code autolink image link pagebreak advlist lists table fullscreen media searchreplace wordcount emoticons charmap codesample',\n\t\t\t'codesampleLanguages' => 'HTML/XML markup|JavaScript javascript|CSS css|PHP php|Ruby ruby|Python python|Java java|C c|C# sharp|C++ cpp'\n\t\t);\n\t}\n\n\tpublic function form()\n\t{\n\t\tglobal $L;\n\n\t\t$html  = '<div class=\"alert alert-primary\" role=\"alert\">';\n\t\t$html .= $this->description();\n\t\t$html .= '</div>';\n\n\t\t$html .= '<div>';\n\t\t$html .= '<label>' . $L->get('toolbar-top') . '</label>';\n\t\t$html .= '<input name=\"toolbar1\" id=\"jstoolbar1\" type=\"text\" dir=\"auto\" value=\"' . $this->getValue('toolbar1') . '\">';\n\t\t$html .= '</div>';\n\n\t\t$html .= '<div>';\n\t\t$html .= '<label>' . $L->get('toolbar-bottom') . '</label>';\n\t\t$html .= '<input name=\"toolbar2\" id=\"jstoolbar2\" type=\"text\" dir=\"auto\" value=\"' . $this->getValue('toolbar2') . '\">';\n\t\t$html .= '</div>';\n\n\t\t$html .= '<div>';\n\t\t$html .= '<label>' . $L->get('context-menu') . '</label>';\n\t\t$html .= '<input name=\"contextmenu\" id=\"jscontextmenu\" type=\"text\" dir=\"auto\" value=\"' . $this->getValue('contextmenu') . '\">';\n\t\t$html .= '<span class=\"tip\">' . $L->get('context-menu-tip') . '</span>';\n\t\t$html .= '</div>';\n\n\t\t$html .= '<div>';\n\t\t$html .= '<label>' . $L->get('Plugins') . '</label>';\n\t\t$html .= '<input name=\"plugins\" id=\"jsplugins\" type=\"text\" dir=\"auto\" value=\"' . $this->getValue('plugins') . '\">';\n\t\t$html .= '</div>';\n\n\t\tif (strpos($this->getValue('plugins'), 'codesample') !== false) {\n\t\t\t$html .= '<div>';\n\t\t\t$html .= '<label>' . $L->get('codesample-languages') . '</label>';\n\t\t\t$html .= '<input name=\"codesampleLanguages\" id=\"jsCodesampleLanguages\" type=\"text\" dir=\"auto\" value=\"' . $this->getValue('codesampleLanguages') . '\">';\n\t\t\t$html .= '<span class=\"tip\">' . $L->get('codesample-supported-laguages') . '</span>';\n\t\t\t$html .= '</div>';\n\t\t}\n\n\t\treturn $html;\n\t}\n\n\tpublic function adminHead()\n\t{\n\t\t// Load the plugin only in the controllers setted in $this->loadOnController\n\t\tif (!in_array($GLOBALS['ADMIN_CONTROLLER'], $this->loadOnController)) {\n\t\t\treturn false;\n\t\t}\n\n\t\t$html  = '<link rel=\"stylesheet\" type=\"text/css\" href=\"' . $this->htmlPath() . 'css/tinymce_toolbar.css\">' . PHP_EOL;\n\t\t$html .= '<script src=\"' . $this->htmlPath() . 'tinymce/tinymce.min.js?version=' . $this->version() . '\"></script>';\n\t\treturn $html;\n\t}\n\n\tpublic function adminBodyEnd()\n\t{\n\t\tglobal $L;\n\n\t\t// Load the plugin only in the controllers setted in $this->loadOnController\n\t\tif (!in_array($GLOBALS['ADMIN_CONTROLLER'], $this->loadOnController)) {\n\t\t\treturn false;\n\t\t}\n\n\t\t$toolbar1 = $this->getValue('toolbar1');\n\t\t$toolbar2 = $this->getValue('toolbar2');\n\t\t// Combine toolbars for TinyMCE 6+\n\t\t$toolbar = trim($toolbar1 . ' ' . $toolbar2);\n\t\t$contextmenu = $this->getValue('contextmenu');\n\t\t$content_css = $this->htmlPath() . 'css/tinymce_content.css';\n\t\t$plugins = $this->getValue('plugins');\n\t\t// Convert space-separated plugins to JavaScript array format\n\t\t$pluginsArray = implode(\"', '\", array_filter(explode(' ', $plugins)));\n\t\t$version = $this->version();\n\n\t\t$codesampleConfig = '';\n\t\tif (strpos($this->getValue('plugins'), 'codesample') !== false) {\n\t\t\t$codesampleLanguages = explode(\"|\", $this->getValue('codesampleLanguages'));\n\t\t\tforeach ($codesampleLanguages as $codesampleLang) {\n\t\t\t\t$values = explode(\" \", $codesampleLang);\n\t\t\t\t$codesampleConfig .= \"{ text: '\" . $values[0] . \"', value: '\" . $values[1] . \"' },\";\n\t\t\t}\n\t\t}\n\n\t\t$lang = 'en';\n\t\tif (file_exists($this->phpPath() . 'tinymce' . DS . 'langs' . DS . $L->currentLanguage() . '.js')) {\n\t\t\t$lang = $L->currentLanguage();\n\t\t} elseif (file_exists($this->phpPath() . 'tinymce' . DS . 'langs' . DS . $L->currentLanguageShortVersion() . '.js')) {\n\t\t\t$lang = $L->currentLanguageShortVersion();\n\t\t}\n\n\t\tif (IMAGE_RELATIVE_TO_ABSOLUTE) {\n\t\t\t$document_base_url = 'document_base_url: \"' . DOMAIN_UPLOADS . '\",';\n\t\t} else {\n\t\t\t$document_base_url = '';\n\t\t}\n\n\t\t$html = <<<EOF\n<script>\n\n\t// Insert an image in the editor at the cursor position\n\t// Function required for Bludit\n\tfunction editorInsertMedia(filename) {\n\t\ttinymce.activeEditor.insertContent(\"<img src=\\\"\"+filename+\"\\\">\");\n\t}\n\n\t// Insert a linked image in the editor at the cursor position\n\t// Function required for Bludit\n\tfunction editorInsertLinkedMedia(filename, link) {\n\t\ttinymce.activeEditor.insertContent(\"<a href=\\\"\"+link+\"\\\"><img src=\\\"\"+filename+\"\\\"></a>\");\n\t}\n\n\t// Returns the content of the editor\n\t// Function required for Bludit\n\tfunction editorGetContent() {\n\t\treturn tinymce.get('jseditor').getContent();\n\t}\n\n\ttinymce.init({\n\t\tselector: \"#jseditor\",\n\t\tauto_focus: \"jseditor\",\n\t\telement_format : \"html\",\n\t\tentity_encoding : \"raw\",\n\t\tskin: \"oxide\",\n\t\tschema: \"html5\",\n\t\tstatusbar: false,\n\t\tmenubar:false,\n\t\tbranding: false,\n\t\tbrowser_spellcheck: true,\n\t\tpagebreak_separator: PAGE_BREAK,\n\t\tpaste_as_text: true,\n\t\tremove_script_host: false,\n\t\tconvert_urls: true,\n\t\trelative_urls: false,\n\t\tvalid_elements: \"*[*]\",\n\t\tcache_suffix: \"?version=$version\",\n\t\tlicense_key: \"gpl\",\n\t\tpromotion: false,\n\t\t$document_base_url\n\t\tplugins: ['$pluginsArray'],\n\t\ttoolbar: \"$toolbar\",\n\t\tlanguage: \"$lang\",\n\t\tcontextmenu: \"$contextmenu\",\n\t\tcontent_css: \"$content_css\",\n\t\tcodesample_languages: [$codesampleConfig],\n\t\timage_description: true,\n\t\timage_advtab: true\n\t});\n\n</script>\nEOF;\n\t\treturn $html;\n\t}\n}\n"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/langs/README.md",
    "content": "This is where language files should be placed.\n\nPlease DO NOT translate these directly, use this service instead: https://crowdin.com/project/tinymce\n"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/license.md",
    "content": "# Software License Agreement\n\n**TinyMCE** – [<https://github.com/tinymce/tinymce>](https://github.com/tinymce/tinymce)\nCopyright (c) 2024, Ephox Corporation DBA Tiny Technologies, Inc.\n\nLicensed under the terms of [GNU General Public License Version 2 or later](http://www.gnu.org/licenses/gpl.html).\n"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/notices.txt",
    "content": "Below is a list of third party libraries that this software uses:\n----------------------------------------------------------------\n\ndompurify\nowner: Mario Heiderich\nrepo: https://github.com/cure53/DOMPurify\nversion: 3.2.6\nlicense: MPL-2.0 OR Apache-2.0\n\nprismjs\nowner: Lea Verou\nrepo: https://github.com/PrismJS/prism\nversion: 1.25.0\nlicense: MIT\n\n\nprism-themes\nowner: Lea Verou\nrepo: https://github.com/PrismJS/prism-themes\nversion: 1.9.0\nlicense: MIT\n"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/plugins/emoticons/js/emojiimages.js",
    "content": "window.tinymce.Resource.add(\"tinymce.plugins.emoticons\",{100:{keywords:[\"score\",\"perfect\",\"numbers\",\"century\",\"exam\",\"quiz\",\"test\",\"pass\",\"hundred\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💯\" src=\"1f4af.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},1234:{keywords:[\"numbers\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔢\" src=\"1f522.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},grinning:{keywords:[\"face\",\"smile\",\"happy\",\"joy\",\":D\",\"grin\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😀\" src=\"1f600.png\"/>',fitzpatrick_scale:false,category:\"people\"},grimacing:{keywords:[\"face\",\"grimace\",\"teeth\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😬\" src=\"1f62c.png\"/>',fitzpatrick_scale:false,category:\"people\"},grin:{keywords:[\"face\",\"happy\",\"smile\",\"joy\",\"kawaii\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😁\" src=\"1f601.png\"/>',fitzpatrick_scale:false,category:\"people\"},joy:{keywords:[\"face\",\"cry\",\"tears\",\"weep\",\"happy\",\"happytears\",\"haha\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😂\" src=\"1f602.png\"/>',fitzpatrick_scale:false,category:\"people\"},rofl:{keywords:[\"face\",\"rolling\",\"floor\",\"laughing\",\"lol\",\"haha\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤣\" src=\"1f923.png\"/>',fitzpatrick_scale:false,category:\"people\"},partying:{keywords:[\"face\",\"celebration\",\"woohoo\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥳\" src=\"1f973.png\"/>',fitzpatrick_scale:false,category:\"people\"},smiley:{keywords:[\"face\",\"happy\",\"joy\",\"haha\",\":D\",\":)\",\"smile\",\"funny\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😃\" src=\"1f603.png\"/>',fitzpatrick_scale:false,category:\"people\"},smile:{keywords:[\"face\",\"happy\",\"joy\",\"funny\",\"haha\",\"laugh\",\"like\",\":D\",\":)\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😄\" src=\"1f604.png\"/>',fitzpatrick_scale:false,category:\"people\"},sweat_smile:{keywords:[\"face\",\"hot\",\"happy\",\"laugh\",\"sweat\",\"smile\",\"relief\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😅\" src=\"1f605.png\"/>',fitzpatrick_scale:false,category:\"people\"},laughing:{keywords:[\"happy\",\"joy\",\"lol\",\"satisfied\",\"haha\",\"face\",\"glad\",\"XD\",\"laugh\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😆\" src=\"1f606.png\"/>',fitzpatrick_scale:false,category:\"people\"},innocent:{keywords:[\"face\",\"angel\",\"heaven\",\"halo\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😇\" src=\"1f607.png\"/>',fitzpatrick_scale:false,category:\"people\"},wink:{keywords:[\"face\",\"happy\",\"mischievous\",\"secret\",\";)\",\"smile\",\"eye\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😉\" src=\"1f609.png\"/>',fitzpatrick_scale:false,category:\"people\"},blush:{keywords:[\"face\",\"smile\",\"happy\",\"flushed\",\"crush\",\"embarrassed\",\"shy\",\"joy\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😊\" src=\"1f60a.png\"/>',fitzpatrick_scale:false,category:\"people\"},slightly_smiling_face:{keywords:[\"face\",\"smile\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙂\" src=\"1f642.png\"/>',fitzpatrick_scale:false,category:\"people\"},upside_down_face:{keywords:[\"face\",\"flipped\",\"silly\",\"smile\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙃\" src=\"1f643.png\"/>',fitzpatrick_scale:false,category:\"people\"},relaxed:{keywords:[\"face\",\"blush\",\"massage\",\"happiness\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☺️\" src=\"263a.png\"/>',fitzpatrick_scale:false,category:\"people\"},yum:{keywords:[\"happy\",\"joy\",\"tongue\",\"smile\",\"face\",\"silly\",\"yummy\",\"nom\",\"delicious\",\"savouring\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😋\" src=\"1f60b.png\"/>',fitzpatrick_scale:false,category:\"people\"},relieved:{keywords:[\"face\",\"relaxed\",\"phew\",\"massage\",\"happiness\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😌\" src=\"1f60c.png\"/>',fitzpatrick_scale:false,category:\"people\"},heart_eyes:{keywords:[\"face\",\"love\",\"like\",\"affection\",\"valentines\",\"infatuation\",\"crush\",\"heart\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😍\" src=\"1f60d.png\"/>',fitzpatrick_scale:false,category:\"people\"},smiling_face_with_three_hearts:{keywords:[\"face\",\"love\",\"like\",\"affection\",\"valentines\",\"infatuation\",\"crush\",\"hearts\",\"adore\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥰\" src=\"1f970.png\"/>',fitzpatrick_scale:false,category:\"people\"},kissing_heart:{keywords:[\"face\",\"love\",\"like\",\"affection\",\"valentines\",\"infatuation\",\"kiss\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😘\" src=\"1f618.png\"/>',fitzpatrick_scale:false,category:\"people\"},kissing:{keywords:[\"love\",\"like\",\"face\",\"3\",\"valentines\",\"infatuation\",\"kiss\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😗\" src=\"1f617.png\"/>',fitzpatrick_scale:false,category:\"people\"},kissing_smiling_eyes:{keywords:[\"face\",\"affection\",\"valentines\",\"infatuation\",\"kiss\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😙\" src=\"1f619.png\"/>',fitzpatrick_scale:false,category:\"people\"},kissing_closed_eyes:{keywords:[\"face\",\"love\",\"like\",\"affection\",\"valentines\",\"infatuation\",\"kiss\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😚\" src=\"1f61a.png\"/>',fitzpatrick_scale:false,category:\"people\"},stuck_out_tongue_winking_eye:{keywords:[\"face\",\"prank\",\"childish\",\"playful\",\"mischievous\",\"smile\",\"wink\",\"tongue\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😜\" src=\"1f61c.png\"/>',fitzpatrick_scale:false,category:\"people\"},zany:{keywords:[\"face\",\"goofy\",\"crazy\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤪\" src=\"1f92a.png\"/>',fitzpatrick_scale:false,category:\"people\"},raised_eyebrow:{keywords:[\"face\",\"distrust\",\"scepticism\",\"disapproval\",\"disbelief\",\"surprise\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤨\" src=\"1f928.png\"/>',fitzpatrick_scale:false,category:\"people\"},monocle:{keywords:[\"face\",\"stuffy\",\"wealthy\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧐\" src=\"1f9d0.png\"/>',fitzpatrick_scale:false,category:\"people\"},stuck_out_tongue_closed_eyes:{keywords:[\"face\",\"prank\",\"playful\",\"mischievous\",\"smile\",\"tongue\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😝\" src=\"1f61d.png\"/>',fitzpatrick_scale:false,category:\"people\"},stuck_out_tongue:{keywords:[\"face\",\"prank\",\"childish\",\"playful\",\"mischievous\",\"smile\",\"tongue\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😛\" src=\"1f61b.png\"/>',fitzpatrick_scale:false,category:\"people\"},money_mouth_face:{keywords:[\"face\",\"rich\",\"dollar\",\"money\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤑\" src=\"1f911.png\"/>',fitzpatrick_scale:false,category:\"people\"},nerd_face:{keywords:[\"face\",\"nerdy\",\"geek\",\"dork\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤓\" src=\"1f913.png\"/>',fitzpatrick_scale:false,category:\"people\"},sunglasses:{keywords:[\"face\",\"cool\",\"smile\",\"summer\",\"beach\",\"sunglass\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😎\" src=\"1f60e.png\"/>',fitzpatrick_scale:false,category:\"people\"},star_struck:{keywords:[\"face\",\"smile\",\"starry\",\"eyes\",\"grinning\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤩\" src=\"1f929.png\"/>',fitzpatrick_scale:false,category:\"people\"},clown_face:{keywords:[\"face\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤡\" src=\"1f921.png\"/>',fitzpatrick_scale:false,category:\"people\"},cowboy_hat_face:{keywords:[\"face\",\"cowgirl\",\"hat\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤠\" src=\"1f920.png\"/>',fitzpatrick_scale:false,category:\"people\"},hugs:{keywords:[\"face\",\"smile\",\"hug\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤗\" src=\"1f917.png\"/>',fitzpatrick_scale:false,category:\"people\"},smirk:{keywords:[\"face\",\"smile\",\"mean\",\"prank\",\"smug\",\"sarcasm\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😏\" src=\"1f60f.png\"/>',fitzpatrick_scale:false,category:\"people\"},no_mouth:{keywords:[\"face\",\"hellokitty\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😶\" src=\"1f636.png\"/>',fitzpatrick_scale:false,category:\"people\"},neutral_face:{keywords:[\"indifference\",\"meh\",\":|\",\"neutral\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😐\" src=\"1f610.png\"/>',fitzpatrick_scale:false,category:\"people\"},expressionless:{keywords:[\"face\",\"indifferent\",\"-_-\",\"meh\",\"deadpan\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😑\" src=\"1f611.png\"/>',fitzpatrick_scale:false,category:\"people\"},unamused:{keywords:[\"indifference\",\"bored\",\"straight face\",\"serious\",\"sarcasm\",\"unimpressed\",\"skeptical\",\"dubious\",\"side_eye\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😒\" src=\"1f612.png\"/>',fitzpatrick_scale:false,category:\"people\"},roll_eyes:{keywords:[\"face\",\"eyeroll\",\"frustrated\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙄\" src=\"1f644.png\"/>',fitzpatrick_scale:false,category:\"people\"},thinking:{keywords:[\"face\",\"hmmm\",\"think\",\"consider\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤔\" src=\"1f914.png\"/>',fitzpatrick_scale:false,category:\"people\"},lying_face:{keywords:[\"face\",\"lie\",\"pinocchio\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤥\" src=\"1f925.png\"/>',fitzpatrick_scale:false,category:\"people\"},hand_over_mouth:{keywords:[\"face\",\"whoops\",\"shock\",\"surprise\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤭\" src=\"1f92d.png\"/>',fitzpatrick_scale:false,category:\"people\"},shushing:{keywords:[\"face\",\"quiet\",\"shhh\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤫\" src=\"1f92b.png\"/>',fitzpatrick_scale:false,category:\"people\"},symbols_over_mouth:{keywords:[\"face\",\"swearing\",\"cursing\",\"cussing\",\"profanity\",\"expletive\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤬\" src=\"1f92c.png\"/>',fitzpatrick_scale:false,category:\"people\"},exploding_head:{keywords:[\"face\",\"shocked\",\"mind\",\"blown\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤯\" src=\"1f92f.png\"/>',fitzpatrick_scale:false,category:\"people\"},flushed:{keywords:[\"face\",\"blush\",\"shy\",\"flattered\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😳\" src=\"1f633.png\"/>',fitzpatrick_scale:false,category:\"people\"},disappointed:{keywords:[\"face\",\"sad\",\"upset\",\"depressed\",\":(\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😞\" src=\"1f61e.png\"/>',fitzpatrick_scale:false,category:\"people\"},worried:{keywords:[\"face\",\"concern\",\"nervous\",\":(\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😟\" src=\"1f61f.png\"/>',fitzpatrick_scale:false,category:\"people\"},angry:{keywords:[\"mad\",\"face\",\"annoyed\",\"frustrated\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😠\" src=\"1f620.png\"/>',fitzpatrick_scale:false,category:\"people\"},rage:{keywords:[\"angry\",\"mad\",\"hate\",\"despise\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😡\" src=\"1f621.png\"/>',fitzpatrick_scale:false,category:\"people\"},pensive:{keywords:[\"face\",\"sad\",\"depressed\",\"upset\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😔\" src=\"1f614.png\"/>',fitzpatrick_scale:false,category:\"people\"},confused:{keywords:[\"face\",\"indifference\",\"huh\",\"weird\",\"hmmm\",\":/\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😕\" src=\"1f615.png\"/>',fitzpatrick_scale:false,category:\"people\"},slightly_frowning_face:{keywords:[\"face\",\"frowning\",\"disappointed\",\"sad\",\"upset\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙁\" src=\"1f641.png\"/>',fitzpatrick_scale:false,category:\"people\"},frowning_face:{keywords:[\"face\",\"sad\",\"upset\",\"frown\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☹\" src=\"2639.png\"/>',fitzpatrick_scale:false,category:\"people\"},persevere:{keywords:[\"face\",\"sick\",\"no\",\"upset\",\"oops\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😣\" src=\"1f623.png\"/>',fitzpatrick_scale:false,category:\"people\"},confounded:{keywords:[\"face\",\"confused\",\"sick\",\"unwell\",\"oops\",\":S\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😖\" src=\"1f616.png\"/>',fitzpatrick_scale:false,category:\"people\"},tired_face:{keywords:[\"sick\",\"whine\",\"upset\",\"frustrated\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😫\" src=\"1f62b.png\"/>',fitzpatrick_scale:false,category:\"people\"},weary:{keywords:[\"face\",\"tired\",\"sleepy\",\"sad\",\"frustrated\",\"upset\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😩\" src=\"1f629.png\"/>',fitzpatrick_scale:false,category:\"people\"},pleading:{keywords:[\"face\",\"begging\",\"mercy\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥺\" src=\"1f97a.png\"/>',fitzpatrick_scale:false,category:\"people\"},triumph:{keywords:[\"face\",\"gas\",\"phew\",\"proud\",\"pride\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😤\" src=\"1f624.png\"/>',fitzpatrick_scale:false,category:\"people\"},open_mouth:{keywords:[\"face\",\"surprise\",\"impressed\",\"wow\",\"whoa\",\":O\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😮\" src=\"1f62e.png\"/>',fitzpatrick_scale:false,category:\"people\"},scream:{keywords:[\"face\",\"munch\",\"scared\",\"omg\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😱\" src=\"1f631.png\"/>',fitzpatrick_scale:false,category:\"people\"},fearful:{keywords:[\"face\",\"scared\",\"terrified\",\"nervous\",\"oops\",\"huh\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😨\" src=\"1f628.png\"/>',fitzpatrick_scale:false,category:\"people\"},cold_sweat:{keywords:[\"face\",\"nervous\",\"sweat\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😰\" src=\"1f630.png\"/>',fitzpatrick_scale:false,category:\"people\"},hushed:{keywords:[\"face\",\"woo\",\"shh\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😯\" src=\"1f62f.png\"/>',fitzpatrick_scale:false,category:\"people\"},frowning:{keywords:[\"face\",\"aw\",\"what\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😦\" src=\"1f626.png\"/>',fitzpatrick_scale:false,category:\"people\"},anguished:{keywords:[\"face\",\"stunned\",\"nervous\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😧\" src=\"1f627.png\"/>',fitzpatrick_scale:false,category:\"people\"},cry:{keywords:[\"face\",\"tears\",\"sad\",\"depressed\",\"upset\",\":'(\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😢\" src=\"1f622.png\"/>',fitzpatrick_scale:false,category:\"people\"},disappointed_relieved:{keywords:[\"face\",\"phew\",\"sweat\",\"nervous\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😥\" src=\"1f625.png\"/>',fitzpatrick_scale:false,category:\"people\"},drooling_face:{keywords:[\"face\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤤\" src=\"1f924.png\"/>',fitzpatrick_scale:false,category:\"people\"},sleepy:{keywords:[\"face\",\"tired\",\"rest\",\"nap\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😪\" src=\"1f62a.png\"/>',fitzpatrick_scale:false,category:\"people\"},sweat:{keywords:[\"face\",\"hot\",\"sad\",\"tired\",\"exercise\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😓\" src=\"1f613.png\"/>',fitzpatrick_scale:false,category:\"people\"},hot:{keywords:[\"face\",\"feverish\",\"heat\",\"red\",\"sweating\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥵\" src=\"1f975.png\"/>',fitzpatrick_scale:false,category:\"people\"},cold:{keywords:[\"face\",\"blue\",\"freezing\",\"frozen\",\"frostbite\",\"icicles\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥶\" src=\"1f976.png\"/>',fitzpatrick_scale:false,category:\"people\"},sob:{keywords:[\"face\",\"cry\",\"tears\",\"sad\",\"upset\",\"depressed\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😭\" src=\"1f62d.png\"/>',fitzpatrick_scale:false,category:\"people\"},dizzy_face:{keywords:[\"spent\",\"unconscious\",\"xox\",\"dizzy\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😵\" src=\"1f635.png\"/>',fitzpatrick_scale:false,category:\"people\"},astonished:{keywords:[\"face\",\"xox\",\"surprised\",\"poisoned\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😲\" src=\"1f632.png\"/>',fitzpatrick_scale:false,category:\"people\"},zipper_mouth_face:{keywords:[\"face\",\"sealed\",\"zipper\",\"secret\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤐\" src=\"1f910.png\"/>',fitzpatrick_scale:false,category:\"people\"},nauseated_face:{keywords:[\"face\",\"vomit\",\"gross\",\"green\",\"sick\",\"throw up\",\"ill\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤢\" src=\"1f922.png\"/>',fitzpatrick_scale:false,category:\"people\"},sneezing_face:{keywords:[\"face\",\"gesundheit\",\"sneeze\",\"sick\",\"allergy\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤧\" src=\"1f927.png\"/>',fitzpatrick_scale:false,category:\"people\"},vomiting:{keywords:[\"face\",\"sick\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤮\" src=\"1f92e.png\"/>',fitzpatrick_scale:false,category:\"people\"},mask:{keywords:[\"face\",\"sick\",\"ill\",\"disease\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😷\" src=\"1f637.png\"/>',fitzpatrick_scale:false,category:\"people\"},face_with_thermometer:{keywords:[\"sick\",\"temperature\",\"thermometer\",\"cold\",\"fever\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤒\" src=\"1f912.png\"/>',fitzpatrick_scale:false,category:\"people\"},face_with_head_bandage:{keywords:[\"injured\",\"clumsy\",\"bandage\",\"hurt\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤕\" src=\"1f915.png\"/>',fitzpatrick_scale:false,category:\"people\"},woozy:{keywords:[\"face\",\"dizzy\",\"intoxicated\",\"tipsy\",\"wavy\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥴\" src=\"1f974.png\"/>',fitzpatrick_scale:false,category:\"people\"},sleeping:{keywords:[\"face\",\"tired\",\"sleepy\",\"night\",\"zzz\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😴\" src=\"1f634.png\"/>',fitzpatrick_scale:false,category:\"people\"},zzz:{keywords:[\"sleepy\",\"tired\",\"dream\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💤\" src=\"1f4a4.png\"/>',fitzpatrick_scale:false,category:\"people\"},poop:{keywords:[\"hankey\",\"shitface\",\"fail\",\"turd\",\"shit\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💩\" src=\"1f4a9.png\"/>',fitzpatrick_scale:false,category:\"people\"},smiling_imp:{keywords:[\"devil\",\"horns\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😈\" src=\"1f608.png\"/>',fitzpatrick_scale:false,category:\"people\"},imp:{keywords:[\"devil\",\"angry\",\"horns\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👿\" src=\"1f47f.png\"/>',fitzpatrick_scale:false,category:\"people\"},japanese_ogre:{keywords:[\"monster\",\"red\",\"mask\",\"halloween\",\"scary\",\"creepy\",\"devil\",\"demon\",\"japanese\",\"ogre\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👹\" src=\"1f479.png\"/>',fitzpatrick_scale:false,category:\"people\"},japanese_goblin:{keywords:[\"red\",\"evil\",\"mask\",\"monster\",\"scary\",\"creepy\",\"japanese\",\"goblin\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👺\" src=\"1f47a.png\"/>',fitzpatrick_scale:false,category:\"people\"},skull:{keywords:[\"dead\",\"skeleton\",\"creepy\",\"death\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💀\" src=\"1f480.png\"/>',fitzpatrick_scale:false,category:\"people\"},ghost:{keywords:[\"halloween\",\"spooky\",\"scary\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👻\" src=\"1f47b.png\"/>',fitzpatrick_scale:false,category:\"people\"},alien:{keywords:[\"UFO\",\"paul\",\"weird\",\"outer_space\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👽\" src=\"1f47d.png\"/>',fitzpatrick_scale:false,category:\"people\"},robot:{keywords:[\"computer\",\"machine\",\"bot\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤖\" src=\"1f916.png\"/>',fitzpatrick_scale:false,category:\"people\"},smiley_cat:{keywords:[\"animal\",\"cats\",\"happy\",\"smile\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😺\" src=\"1f63a.png\"/>',fitzpatrick_scale:false,category:\"people\"},smile_cat:{keywords:[\"animal\",\"cats\",\"smile\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😸\" src=\"1f638.png\"/>',fitzpatrick_scale:false,category:\"people\"},joy_cat:{keywords:[\"animal\",\"cats\",\"haha\",\"happy\",\"tears\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😹\" src=\"1f639.png\"/>',fitzpatrick_scale:false,category:\"people\"},heart_eyes_cat:{keywords:[\"animal\",\"love\",\"like\",\"affection\",\"cats\",\"valentines\",\"heart\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😻\" src=\"1f63b.png\"/>',fitzpatrick_scale:false,category:\"people\"},smirk_cat:{keywords:[\"animal\",\"cats\",\"smirk\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😼\" src=\"1f63c.png\"/>',fitzpatrick_scale:false,category:\"people\"},kissing_cat:{keywords:[\"animal\",\"cats\",\"kiss\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😽\" src=\"1f63d.png\"/>',fitzpatrick_scale:false,category:\"people\"},scream_cat:{keywords:[\"animal\",\"cats\",\"munch\",\"scared\",\"scream\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙀\" src=\"1f640.png\"/>',fitzpatrick_scale:false,category:\"people\"},crying_cat_face:{keywords:[\"animal\",\"tears\",\"weep\",\"sad\",\"cats\",\"upset\",\"cry\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😿\" src=\"1f63f.png\"/>',fitzpatrick_scale:false,category:\"people\"},pouting_cat:{keywords:[\"animal\",\"cats\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😾\" src=\"1f63e.png\"/>',fitzpatrick_scale:false,category:\"people\"},palms_up:{keywords:[\"hands\",\"gesture\",\"cupped\",\"prayer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤲\" src=\"1f932.png\"/>',fitzpatrick_scale:true,category:\"people\"},raised_hands:{keywords:[\"gesture\",\"hooray\",\"yea\",\"celebration\",\"hands\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙌\" src=\"1f64c.png\"/>',fitzpatrick_scale:true,category:\"people\"},clap:{keywords:[\"hands\",\"praise\",\"applause\",\"congrats\",\"yay\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👏\" src=\"1f44f.png\"/>',fitzpatrick_scale:true,category:\"people\"},wave:{keywords:[\"hands\",\"gesture\",\"goodbye\",\"solong\",\"farewell\",\"hello\",\"hi\",\"palm\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👋\" src=\"1f44b.png\"/>',fitzpatrick_scale:true,category:\"people\"},call_me_hand:{keywords:[\"hands\",\"gesture\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤙\" src=\"1f919.png\"/>',fitzpatrick_scale:true,category:\"people\"},\"+1\":{keywords:[\"thumbsup\",\"yes\",\"awesome\",\"good\",\"agree\",\"accept\",\"cool\",\"hand\",\"like\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👍\" src=\"1f44d.png\"/>',fitzpatrick_scale:true,category:\"people\"},\"-1\":{keywords:[\"thumbsdown\",\"no\",\"dislike\",\"hand\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👎\" src=\"1f44e.png\"/>',fitzpatrick_scale:true,category:\"people\"},facepunch:{keywords:[\"angry\",\"violence\",\"fist\",\"hit\",\"attack\",\"hand\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👊\" src=\"1f44a.png\"/>',fitzpatrick_scale:true,category:\"people\"},fist:{keywords:[\"fingers\",\"hand\",\"grasp\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✊\" src=\"270a.png\"/>',fitzpatrick_scale:true,category:\"people\"},fist_left:{keywords:[\"hand\",\"fistbump\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤛\" src=\"1f91b.png\"/>',fitzpatrick_scale:true,category:\"people\"},fist_right:{keywords:[\"hand\",\"fistbump\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤜\" src=\"1f91c.png\"/>',fitzpatrick_scale:true,category:\"people\"},v:{keywords:[\"fingers\",\"ohyeah\",\"hand\",\"peace\",\"victory\",\"two\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✌\" src=\"270c.png\"/>',fitzpatrick_scale:true,category:\"people\"},ok_hand:{keywords:[\"fingers\",\"limbs\",\"perfect\",\"ok\",\"okay\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👌\" src=\"1f44c.png\"/>',fitzpatrick_scale:true,category:\"people\"},raised_hand:{keywords:[\"fingers\",\"stop\",\"highfive\",\"palm\",\"ban\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✋\" src=\"270b.png\"/>',fitzpatrick_scale:true,category:\"people\"},raised_back_of_hand:{keywords:[\"fingers\",\"raised\",\"backhand\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤚\" src=\"1f91a.png\"/>',fitzpatrick_scale:true,category:\"people\"},open_hands:{keywords:[\"fingers\",\"butterfly\",\"hands\",\"open\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👐\" src=\"1f450.png\"/>',fitzpatrick_scale:true,category:\"people\"},muscle:{keywords:[\"arm\",\"flex\",\"hand\",\"summer\",\"strong\",\"biceps\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💪\" src=\"1f4aa.png\"/>',fitzpatrick_scale:true,category:\"people\"},pray:{keywords:[\"please\",\"hope\",\"wish\",\"namaste\",\"highfive\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙏\" src=\"1f64f.png\"/>',fitzpatrick_scale:true,category:\"people\"},foot:{keywords:[\"kick\",\"stomp\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦶\" src=\"1f9b6.png\"/>',fitzpatrick_scale:true,category:\"people\"},leg:{keywords:[\"kick\",\"limb\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦵\" src=\"1f9b5.png\"/>',fitzpatrick_scale:true,category:\"people\"},handshake:{keywords:[\"agreement\",\"shake\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤝\" src=\"1f91d.png\"/>',fitzpatrick_scale:false,category:\"people\"},point_up:{keywords:[\"hand\",\"fingers\",\"direction\",\"up\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☝\" src=\"261d.png\"/>',fitzpatrick_scale:true,category:\"people\"},point_up_2:{keywords:[\"fingers\",\"hand\",\"direction\",\"up\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👆\" src=\"1f446.png\"/>',fitzpatrick_scale:true,category:\"people\"},point_down:{keywords:[\"fingers\",\"hand\",\"direction\",\"down\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👇\" src=\"1f447.png\"/>',fitzpatrick_scale:true,category:\"people\"},point_left:{keywords:[\"direction\",\"fingers\",\"hand\",\"left\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👈\" src=\"1f448.png\"/>',fitzpatrick_scale:true,category:\"people\"},point_right:{keywords:[\"fingers\",\"hand\",\"direction\",\"right\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👉\" src=\"1f449.png\"/>',fitzpatrick_scale:true,category:\"people\"},fu:{keywords:[\"hand\",\"fingers\",\"rude\",\"middle\",\"flipping\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🖕\" src=\"1f595.png\"/>',fitzpatrick_scale:true,category:\"people\"},raised_hand_with_fingers_splayed:{keywords:[\"hand\",\"fingers\",\"palm\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🖐\" src=\"1f590.png\"/>',fitzpatrick_scale:true,category:\"people\"},love_you:{keywords:[\"hand\",\"fingers\",\"gesture\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤟\" src=\"1f91f.png\"/>',fitzpatrick_scale:true,category:\"people\"},metal:{keywords:[\"hand\",\"fingers\",\"evil_eye\",\"sign_of_horns\",\"rock_on\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤘\" src=\"1f918.png\"/>',fitzpatrick_scale:true,category:\"people\"},crossed_fingers:{keywords:[\"good\",\"lucky\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤞\" src=\"1f91e.png\"/>',fitzpatrick_scale:true,category:\"people\"},vulcan_salute:{keywords:[\"hand\",\"fingers\",\"spock\",\"star trek\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🖖\" src=\"1f596.png\"/>',fitzpatrick_scale:true,category:\"people\"},writing_hand:{keywords:[\"lower_left_ballpoint_pen\",\"stationery\",\"write\",\"compose\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✍\" src=\"270d.png\"/>',fitzpatrick_scale:true,category:\"people\"},selfie:{keywords:[\"camera\",\"phone\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤳\" src=\"1f933.png\"/>',fitzpatrick_scale:true,category:\"people\"},nail_care:{keywords:[\"beauty\",\"manicure\",\"finger\",\"fashion\",\"nail\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💅\" src=\"1f485.png\"/>',fitzpatrick_scale:true,category:\"people\"},lips:{keywords:[\"mouth\",\"kiss\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👄\" src=\"1f444.png\"/>',fitzpatrick_scale:false,category:\"people\"},tooth:{keywords:[\"teeth\",\"dentist\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦷\" src=\"1f9b7.png\"/>',fitzpatrick_scale:false,category:\"people\"},tongue:{keywords:[\"mouth\",\"playful\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👅\" src=\"1f445.png\"/>',fitzpatrick_scale:false,category:\"people\"},ear:{keywords:[\"face\",\"hear\",\"sound\",\"listen\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👂\" src=\"1f442.png\"/>',fitzpatrick_scale:true,category:\"people\"},nose:{keywords:[\"smell\",\"sniff\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👃\" src=\"1f443.png\"/>',fitzpatrick_scale:true,category:\"people\"},eye:{keywords:[\"face\",\"look\",\"see\",\"watch\",\"stare\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👁\" src=\"1f441.png\"/>',fitzpatrick_scale:false,category:\"people\"},eyes:{keywords:[\"look\",\"watch\",\"stalk\",\"peek\",\"see\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👀\" src=\"1f440.png\"/>',fitzpatrick_scale:false,category:\"people\"},brain:{keywords:[\"smart\",\"intelligent\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧠\" src=\"1f9e0.png\"/>',fitzpatrick_scale:false,category:\"people\"},bust_in_silhouette:{keywords:[\"user\",\"person\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👤\" src=\"1f464.png\"/>',fitzpatrick_scale:false,category:\"people\"},busts_in_silhouette:{keywords:[\"user\",\"person\",\"human\",\"group\",\"team\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👥\" src=\"1f465.png\"/>',fitzpatrick_scale:false,category:\"people\"},speaking_head:{keywords:[\"user\",\"person\",\"human\",\"sing\",\"say\",\"talk\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗣\" src=\"1f5e3.png\"/>',fitzpatrick_scale:false,category:\"people\"},baby:{keywords:[\"child\",\"boy\",\"girl\",\"toddler\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👶\" src=\"1f476.png\"/>',fitzpatrick_scale:true,category:\"people\"},child:{keywords:[\"gender-neutral\",\"young\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧒\" src=\"1f9d2.png\"/>',fitzpatrick_scale:true,category:\"people\"},boy:{keywords:[\"man\",\"male\",\"guy\",\"teenager\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👦\" src=\"1f466.png\"/>',fitzpatrick_scale:true,category:\"people\"},girl:{keywords:[\"female\",\"woman\",\"teenager\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👧\" src=\"1f467.png\"/>',fitzpatrick_scale:true,category:\"people\"},adult:{keywords:[\"gender-neutral\",\"person\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧑\" src=\"1f9d1.png\"/>',fitzpatrick_scale:true,category:\"people\"},man:{keywords:[\"mustache\",\"father\",\"dad\",\"guy\",\"classy\",\"sir\",\"moustache\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨\" src=\"1f468.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman:{keywords:[\"female\",\"girls\",\"lady\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩\" src=\"1f469.png\"/>',fitzpatrick_scale:true,category:\"people\"},blonde_woman:{keywords:[\"woman\",\"female\",\"girl\",\"blonde\",\"person\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👱‍♀️\" src=\"1f471-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},blonde_man:{keywords:[\"man\",\"male\",\"boy\",\"blonde\",\"guy\",\"person\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👱\" src=\"1f471.png\"/>',fitzpatrick_scale:true,category:\"people\"},bearded_person:{keywords:[\"person\",\"bewhiskered\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧔\" src=\"1f9d4.png\"/>',fitzpatrick_scale:true,category:\"people\"},older_adult:{keywords:[\"human\",\"elder\",\"senior\",\"gender-neutral\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧓\" src=\"1f9d3.png\"/>',fitzpatrick_scale:true,category:\"people\"},older_man:{keywords:[\"human\",\"male\",\"men\",\"old\",\"elder\",\"senior\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👴\" src=\"1f474.png\"/>',fitzpatrick_scale:true,category:\"people\"},older_woman:{keywords:[\"human\",\"female\",\"women\",\"lady\",\"old\",\"elder\",\"senior\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👵\" src=\"1f475.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_with_gua_pi_mao:{keywords:[\"male\",\"boy\",\"chinese\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👲\" src=\"1f472.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_with_headscarf:{keywords:[\"female\",\"hijab\",\"mantilla\",\"tichel\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧕\" src=\"1f9d5.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_with_turban:{keywords:[\"female\",\"indian\",\"hinduism\",\"arabs\",\"woman\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👳‍♀️\" src=\"1f473-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_with_turban:{keywords:[\"male\",\"indian\",\"hinduism\",\"arabs\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👳\" src=\"1f473.png\"/>',fitzpatrick_scale:true,category:\"people\"},policewoman:{keywords:[\"woman\",\"police\",\"law\",\"legal\",\"enforcement\",\"arrest\",\"911\",\"female\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👮‍♀️\" src=\"1f46e-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},policeman:{keywords:[\"man\",\"police\",\"law\",\"legal\",\"enforcement\",\"arrest\",\"911\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👮\" src=\"1f46e.png\"/>',fitzpatrick_scale:true,category:\"people\"},construction_worker_woman:{keywords:[\"female\",\"human\",\"wip\",\"build\",\"construction\",\"worker\",\"labor\",\"woman\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👷‍♀️\" src=\"1f477-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},construction_worker_man:{keywords:[\"male\",\"human\",\"wip\",\"guy\",\"build\",\"construction\",\"worker\",\"labor\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👷\" src=\"1f477.png\"/>',fitzpatrick_scale:true,category:\"people\"},guardswoman:{keywords:[\"uk\",\"gb\",\"british\",\"female\",\"royal\",\"woman\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💂‍♀️\" src=\"1f482-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},guardsman:{keywords:[\"uk\",\"gb\",\"british\",\"male\",\"guy\",\"royal\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💂\" src=\"1f482.png\"/>',fitzpatrick_scale:true,category:\"people\"},female_detective:{keywords:[\"human\",\"spy\",\"detective\",\"female\",\"woman\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕵️‍♀️\" src=\"1f575-fe0f-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},male_detective:{keywords:[\"human\",\"spy\",\"detective\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕵\" src=\"1f575.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_health_worker:{keywords:[\"doctor\",\"nurse\",\"therapist\",\"healthcare\",\"woman\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍⚕️\" src=\"1f469-200d-2695-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_health_worker:{keywords:[\"doctor\",\"nurse\",\"therapist\",\"healthcare\",\"man\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍⚕️\" src=\"1f468-200d-2695-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_farmer:{keywords:[\"rancher\",\"gardener\",\"woman\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍🌾\" src=\"1f469-200d-1f33e.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_farmer:{keywords:[\"rancher\",\"gardener\",\"man\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍🌾\" src=\"1f468-200d-1f33e.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_cook:{keywords:[\"chef\",\"woman\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍🍳\" src=\"1f469-200d-1f373.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_cook:{keywords:[\"chef\",\"man\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍🍳\" src=\"1f468-200d-1f373.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_student:{keywords:[\"graduate\",\"woman\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍🎓\" src=\"1f469-200d-1f393.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_student:{keywords:[\"graduate\",\"man\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍🎓\" src=\"1f468-200d-1f393.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_singer:{keywords:[\"rockstar\",\"entertainer\",\"woman\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍🎤\" src=\"1f469-200d-1f3a4.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_singer:{keywords:[\"rockstar\",\"entertainer\",\"man\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍🎤\" src=\"1f468-200d-1f3a4.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_teacher:{keywords:[\"instructor\",\"professor\",\"woman\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍🏫\" src=\"1f469-200d-1f3eb.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_teacher:{keywords:[\"instructor\",\"professor\",\"man\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍🏫\" src=\"1f468-200d-1f3eb.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_factory_worker:{keywords:[\"assembly\",\"industrial\",\"woman\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍🏭\" src=\"1f469-200d-1f3ed.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_factory_worker:{keywords:[\"assembly\",\"industrial\",\"man\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍🏭\" src=\"1f468-200d-1f3ed.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_technologist:{keywords:[\"coder\",\"developer\",\"engineer\",\"programmer\",\"software\",\"woman\",\"human\",\"laptop\",\"computer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍💻\" src=\"1f469-200d-1f4bb.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_technologist:{keywords:[\"coder\",\"developer\",\"engineer\",\"programmer\",\"software\",\"man\",\"human\",\"laptop\",\"computer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍💻\" src=\"1f468-200d-1f4bb.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_office_worker:{keywords:[\"business\",\"manager\",\"woman\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍💼\" src=\"1f469-200d-1f4bc.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_office_worker:{keywords:[\"business\",\"manager\",\"man\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍💼\" src=\"1f468-200d-1f4bc.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_mechanic:{keywords:[\"plumber\",\"woman\",\"human\",\"wrench\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍🔧\" src=\"1f469-200d-1f527.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_mechanic:{keywords:[\"plumber\",\"man\",\"human\",\"wrench\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍🔧\" src=\"1f468-200d-1f527.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_scientist:{keywords:[\"biologist\",\"chemist\",\"engineer\",\"physicist\",\"woman\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍🔬\" src=\"1f469-200d-1f52c.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_scientist:{keywords:[\"biologist\",\"chemist\",\"engineer\",\"physicist\",\"man\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍🔬\" src=\"1f468-200d-1f52c.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_artist:{keywords:[\"painter\",\"woman\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍🎨\" src=\"1f469-200d-1f3a8.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_artist:{keywords:[\"painter\",\"man\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍🎨\" src=\"1f468-200d-1f3a8.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_firefighter:{keywords:[\"fireman\",\"woman\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍🚒\" src=\"1f469-200d-1f692.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_firefighter:{keywords:[\"fireman\",\"man\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍🚒\" src=\"1f468-200d-1f692.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_pilot:{keywords:[\"aviator\",\"plane\",\"woman\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍✈️\" src=\"1f469-200d-2708-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_pilot:{keywords:[\"aviator\",\"plane\",\"man\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍✈️\" src=\"1f468-200d-2708-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_astronaut:{keywords:[\"space\",\"rocket\",\"woman\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍🚀\" src=\"1f469-200d-1f680.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_astronaut:{keywords:[\"space\",\"rocket\",\"man\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍🚀\" src=\"1f468-200d-1f680.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_judge:{keywords:[\"justice\",\"court\",\"woman\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍⚖️\" src=\"1f469-200d-2696-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_judge:{keywords:[\"justice\",\"court\",\"man\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍⚖️\" src=\"1f468-200d-2696-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_superhero:{keywords:[\"woman\",\"female\",\"good\",\"heroine\",\"superpowers\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦸‍♀️\" src=\"1f9b8-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_superhero:{keywords:[\"man\",\"male\",\"good\",\"hero\",\"superpowers\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦸‍♂️\" src=\"1f9b8-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_supervillain:{keywords:[\"woman\",\"female\",\"evil\",\"bad\",\"criminal\",\"heroine\",\"superpowers\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦹‍♀️\" src=\"1f9b9-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_supervillain:{keywords:[\"man\",\"male\",\"evil\",\"bad\",\"criminal\",\"hero\",\"superpowers\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦹‍♂️\" src=\"1f9b9-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},mrs_claus:{keywords:[\"woman\",\"female\",\"xmas\",\"mother christmas\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤶\" src=\"1f936.png\"/>',fitzpatrick_scale:true,category:\"people\"},santa:{keywords:[\"festival\",\"man\",\"male\",\"xmas\",\"father christmas\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎅\" src=\"1f385.png\"/>',fitzpatrick_scale:true,category:\"people\"},sorceress:{keywords:[\"woman\",\"female\",\"mage\",\"witch\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧙‍♀️\" src=\"1f9d9-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},wizard:{keywords:[\"man\",\"male\",\"mage\",\"sorcerer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧙‍♂️\" src=\"1f9d9-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_elf:{keywords:[\"woman\",\"female\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧝‍♀️\" src=\"1f9dd-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_elf:{keywords:[\"man\",\"male\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧝‍♂️\" src=\"1f9dd-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_vampire:{keywords:[\"woman\",\"female\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧛‍♀️\" src=\"1f9db-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_vampire:{keywords:[\"man\",\"male\",\"dracula\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧛‍♂️\" src=\"1f9db-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_zombie:{keywords:[\"woman\",\"female\",\"undead\",\"walking dead\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧟‍♀️\" src=\"1f9df-200d-2640-fe0f.png\"/>',fitzpatrick_scale:false,category:\"people\"},man_zombie:{keywords:[\"man\",\"male\",\"dracula\",\"undead\",\"walking dead\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧟‍♂️\" src=\"1f9df-200d-2642-fe0f.png\"/>',fitzpatrick_scale:false,category:\"people\"},woman_genie:{keywords:[\"woman\",\"female\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧞‍♀️\" src=\"1f9de-200d-2640-fe0f.png\"/>',fitzpatrick_scale:false,category:\"people\"},man_genie:{keywords:[\"man\",\"male\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧞‍♂️\" src=\"1f9de-200d-2642-fe0f.png\"/>',fitzpatrick_scale:false,category:\"people\"},mermaid:{keywords:[\"woman\",\"female\",\"merwoman\",\"ariel\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧜‍♀️\" src=\"1f9dc-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},merman:{keywords:[\"man\",\"male\",\"triton\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧜‍♂️\" src=\"1f9dc-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_fairy:{keywords:[\"woman\",\"female\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧚‍♀️\" src=\"1f9da-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_fairy:{keywords:[\"man\",\"male\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧚‍♂️\" src=\"1f9da-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},angel:{keywords:[\"heaven\",\"wings\",\"halo\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👼\" src=\"1f47c.png\"/>',fitzpatrick_scale:true,category:\"people\"},pregnant_woman:{keywords:[\"baby\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤰\" src=\"1f930.png\"/>',fitzpatrick_scale:true,category:\"people\"},breastfeeding:{keywords:[\"nursing\",\"baby\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤱\" src=\"1f931.png\"/>',fitzpatrick_scale:true,category:\"people\"},princess:{keywords:[\"girl\",\"woman\",\"female\",\"blond\",\"crown\",\"royal\",\"queen\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👸\" src=\"1f478.png\"/>',fitzpatrick_scale:true,category:\"people\"},prince:{keywords:[\"boy\",\"man\",\"male\",\"crown\",\"royal\",\"king\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤴\" src=\"1f934.png\"/>',fitzpatrick_scale:true,category:\"people\"},bride_with_veil:{keywords:[\"couple\",\"marriage\",\"wedding\",\"woman\",\"bride\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👰\" src=\"1f470.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_in_tuxedo:{keywords:[\"couple\",\"marriage\",\"wedding\",\"groom\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤵\" src=\"1f935.png\"/>',fitzpatrick_scale:true,category:\"people\"},running_woman:{keywords:[\"woman\",\"walking\",\"exercise\",\"race\",\"running\",\"female\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏃‍♀️\" src=\"1f3c3-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},running_man:{keywords:[\"man\",\"walking\",\"exercise\",\"race\",\"running\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏃\" src=\"1f3c3.png\"/>',fitzpatrick_scale:true,category:\"people\"},walking_woman:{keywords:[\"human\",\"feet\",\"steps\",\"woman\",\"female\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚶‍♀️\" src=\"1f6b6-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},walking_man:{keywords:[\"human\",\"feet\",\"steps\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚶\" src=\"1f6b6.png\"/>',fitzpatrick_scale:true,category:\"people\"},dancer:{keywords:[\"female\",\"girl\",\"woman\",\"fun\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💃\" src=\"1f483.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_dancing:{keywords:[\"male\",\"boy\",\"fun\",\"dancer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕺\" src=\"1f57a.png\"/>',fitzpatrick_scale:true,category:\"people\"},dancing_women:{keywords:[\"female\",\"bunny\",\"women\",\"girls\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👯\" src=\"1f46f.png\"/>',fitzpatrick_scale:false,category:\"people\"},dancing_men:{keywords:[\"male\",\"bunny\",\"men\",\"boys\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👯‍♂️\" src=\"1f46f-200d-2642-fe0f.png\"/>',fitzpatrick_scale:false,category:\"people\"},couple:{keywords:[\"pair\",\"people\",\"human\",\"love\",\"date\",\"dating\",\"like\",\"affection\",\"valentines\",\"marriage\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👫\" src=\"1f46b.png\"/>',fitzpatrick_scale:false,category:\"people\"},two_men_holding_hands:{keywords:[\"pair\",\"couple\",\"love\",\"like\",\"bromance\",\"friendship\",\"people\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👬\" src=\"1f46c.png\"/>',fitzpatrick_scale:false,category:\"people\"},two_women_holding_hands:{keywords:[\"pair\",\"friendship\",\"couple\",\"love\",\"like\",\"female\",\"people\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👭\" src=\"1f46d.png\"/>',fitzpatrick_scale:false,category:\"people\"},bowing_woman:{keywords:[\"woman\",\"female\",\"girl\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙇‍♀️\" src=\"1f647-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},bowing_man:{keywords:[\"man\",\"male\",\"boy\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙇\" src=\"1f647.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_facepalming:{keywords:[\"man\",\"male\",\"boy\",\"disbelief\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤦‍♂️\" src=\"1f926-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_facepalming:{keywords:[\"woman\",\"female\",\"girl\",\"disbelief\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤦‍♀️\" src=\"1f926-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_shrugging:{keywords:[\"woman\",\"female\",\"girl\",\"confused\",\"indifferent\",\"doubt\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤷\" src=\"1f937.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_shrugging:{keywords:[\"man\",\"male\",\"boy\",\"confused\",\"indifferent\",\"doubt\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤷‍♂️\" src=\"1f937-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},tipping_hand_woman:{keywords:[\"female\",\"girl\",\"woman\",\"human\",\"information\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💁\" src=\"1f481.png\"/>',fitzpatrick_scale:true,category:\"people\"},tipping_hand_man:{keywords:[\"male\",\"boy\",\"man\",\"human\",\"information\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💁‍♂️\" src=\"1f481-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},no_good_woman:{keywords:[\"female\",\"girl\",\"woman\",\"nope\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙅\" src=\"1f645.png\"/>',fitzpatrick_scale:true,category:\"people\"},no_good_man:{keywords:[\"male\",\"boy\",\"man\",\"nope\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙅‍♂️\" src=\"1f645-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},ok_woman:{keywords:[\"women\",\"girl\",\"female\",\"pink\",\"human\",\"woman\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙆\" src=\"1f646.png\"/>',fitzpatrick_scale:true,category:\"people\"},ok_man:{keywords:[\"men\",\"boy\",\"male\",\"blue\",\"human\",\"man\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙆‍♂️\" src=\"1f646-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},raising_hand_woman:{keywords:[\"female\",\"girl\",\"woman\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙋\" src=\"1f64b.png\"/>',fitzpatrick_scale:true,category:\"people\"},raising_hand_man:{keywords:[\"male\",\"boy\",\"man\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙋‍♂️\" src=\"1f64b-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},pouting_woman:{keywords:[\"female\",\"girl\",\"woman\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙎\" src=\"1f64e.png\"/>',fitzpatrick_scale:true,category:\"people\"},pouting_man:{keywords:[\"male\",\"boy\",\"man\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙎‍♂️\" src=\"1f64e-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},frowning_woman:{keywords:[\"female\",\"girl\",\"woman\",\"sad\",\"depressed\",\"discouraged\",\"unhappy\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙍\" src=\"1f64d.png\"/>',fitzpatrick_scale:true,category:\"people\"},frowning_man:{keywords:[\"male\",\"boy\",\"man\",\"sad\",\"depressed\",\"discouraged\",\"unhappy\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙍‍♂️\" src=\"1f64d-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},haircut_woman:{keywords:[\"female\",\"girl\",\"woman\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💇\" src=\"1f487.png\"/>',fitzpatrick_scale:true,category:\"people\"},haircut_man:{keywords:[\"male\",\"boy\",\"man\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💇‍♂️\" src=\"1f487-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},massage_woman:{keywords:[\"female\",\"girl\",\"woman\",\"head\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💆\" src=\"1f486.png\"/>',fitzpatrick_scale:true,category:\"people\"},massage_man:{keywords:[\"male\",\"boy\",\"man\",\"head\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💆‍♂️\" src=\"1f486-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_in_steamy_room:{keywords:[\"female\",\"woman\",\"spa\",\"steamroom\",\"sauna\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧖‍♀️\" src=\"1f9d6-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_in_steamy_room:{keywords:[\"male\",\"man\",\"spa\",\"steamroom\",\"sauna\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧖‍♂️\" src=\"1f9d6-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},couple_with_heart_woman_man:{keywords:[\"pair\",\"love\",\"like\",\"affection\",\"human\",\"dating\",\"valentines\",\"marriage\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💑\" src=\"1f491.png\"/>',fitzpatrick_scale:false,category:\"people\"},couple_with_heart_woman_woman:{keywords:[\"pair\",\"love\",\"like\",\"affection\",\"human\",\"dating\",\"valentines\",\"marriage\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍❤️‍👩\" src=\"1f469-200d-2764-fe0f-200d-1f469.png\"/>',fitzpatrick_scale:false,category:\"people\"},couple_with_heart_man_man:{keywords:[\"pair\",\"love\",\"like\",\"affection\",\"human\",\"dating\",\"valentines\",\"marriage\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍❤️‍👨\" src=\"1f468-200d-2764-fe0f-200d-1f468.png\"/>',fitzpatrick_scale:false,category:\"people\"},couplekiss_man_woman:{keywords:[\"pair\",\"valentines\",\"love\",\"like\",\"dating\",\"marriage\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💏\" src=\"1f48f.png\"/>',fitzpatrick_scale:false,category:\"people\"},couplekiss_woman_woman:{keywords:[\"pair\",\"valentines\",\"love\",\"like\",\"dating\",\"marriage\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍❤️‍💋‍👩\" src=\"1f469-200d-2764-fe0f-200d-1f48b-200d-1f469.png\"/>',fitzpatrick_scale:false,category:\"people\"},couplekiss_man_man:{keywords:[\"pair\",\"valentines\",\"love\",\"like\",\"dating\",\"marriage\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍❤️‍💋‍👨\" src=\"1f468-200d-2764-fe0f-200d-1f48b-200d-1f468.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_man_woman_boy:{keywords:[\"home\",\"parents\",\"child\",\"mom\",\"dad\",\"father\",\"mother\",\"people\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👪\" src=\"1f46a.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_man_woman_girl:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"child\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍👩‍👧\" src=\"1f468-200d-1f469-200d-1f467.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_man_woman_girl_boy:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍👩‍👧‍👦\" src=\"1f468-200d-1f469-200d-1f467-200d-1f466.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_man_woman_boy_boy:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍👩‍👦‍👦\" src=\"1f468-200d-1f469-200d-1f466-200d-1f466.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_man_woman_girl_girl:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍👩‍👧‍👧\" src=\"1f468-200d-1f469-200d-1f467-200d-1f467.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_woman_woman_boy:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍👩‍👦\" src=\"1f469-200d-1f469-200d-1f466.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_woman_woman_girl:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍👩‍👧\" src=\"1f469-200d-1f469-200d-1f467.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_woman_woman_girl_boy:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍👩‍👧‍👦\" src=\"1f469-200d-1f469-200d-1f467-200d-1f466.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_woman_woman_boy_boy:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍👩‍👦‍👦\" src=\"1f469-200d-1f469-200d-1f466-200d-1f466.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_woman_woman_girl_girl:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍👩‍👧‍👧\" src=\"1f469-200d-1f469-200d-1f467-200d-1f467.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_man_man_boy:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍👨‍👦\" src=\"1f468-200d-1f468-200d-1f466.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_man_man_girl:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍👨‍👧\" src=\"1f468-200d-1f468-200d-1f467.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_man_man_girl_boy:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍👨‍👧‍👦\" src=\"1f468-200d-1f468-200d-1f467-200d-1f466.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_man_man_boy_boy:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍👨‍👦‍👦\" src=\"1f468-200d-1f468-200d-1f466-200d-1f466.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_man_man_girl_girl:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍👨‍👧‍👧\" src=\"1f468-200d-1f468-200d-1f467-200d-1f467.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_woman_boy:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"child\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍👦\" src=\"1f469-200d-1f466.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_woman_girl:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"child\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍👧\" src=\"1f469-200d-1f467.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_woman_girl_boy:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍👧‍👦\" src=\"1f469-200d-1f467-200d-1f466.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_woman_boy_boy:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍👦‍👦\" src=\"1f469-200d-1f466-200d-1f466.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_woman_girl_girl:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍👧‍👧\" src=\"1f469-200d-1f467-200d-1f467.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_man_boy:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"child\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍👦\" src=\"1f468-200d-1f466.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_man_girl:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"child\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍👧\" src=\"1f468-200d-1f467.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_man_girl_boy:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍👧‍👦\" src=\"1f468-200d-1f467-200d-1f466.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_man_boy_boy:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍👦‍👦\" src=\"1f468-200d-1f466-200d-1f466.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_man_girl_girl:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍👧‍👧\" src=\"1f468-200d-1f467-200d-1f467.png\"/>',fitzpatrick_scale:false,category:\"people\"},yarn:{keywords:[\"ball\",\"crochet\",\"knit\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧶\" src=\"1f9f6.png\"/>',fitzpatrick_scale:false,category:\"people\"},thread:{keywords:[\"needle\",\"sewing\",\"spool\",\"string\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧵\" src=\"1f9f5.png\"/>',fitzpatrick_scale:false,category:\"people\"},coat:{keywords:[\"jacket\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧥\" src=\"1f9e5.png\"/>',fitzpatrick_scale:false,category:\"people\"},labcoat:{keywords:[\"doctor\",\"experiment\",\"scientist\",\"chemist\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥼\" src=\"1f97c.png\"/>',fitzpatrick_scale:false,category:\"people\"},womans_clothes:{keywords:[\"fashion\",\"shopping_bags\",\"female\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👚\" src=\"1f45a.png\"/>',fitzpatrick_scale:false,category:\"people\"},tshirt:{keywords:[\"fashion\",\"cloth\",\"casual\",\"shirt\",\"tee\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👕\" src=\"1f455.png\"/>',fitzpatrick_scale:false,category:\"people\"},jeans:{keywords:[\"fashion\",\"shopping\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👖\" src=\"1f456.png\"/>',fitzpatrick_scale:false,category:\"people\"},necktie:{keywords:[\"shirt\",\"suitup\",\"formal\",\"fashion\",\"cloth\",\"business\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👔\" src=\"1f454.png\"/>',fitzpatrick_scale:false,category:\"people\"},dress:{keywords:[\"clothes\",\"fashion\",\"shopping\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👗\" src=\"1f457.png\"/>',fitzpatrick_scale:false,category:\"people\"},bikini:{keywords:[\"swimming\",\"female\",\"woman\",\"girl\",\"fashion\",\"beach\",\"summer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👙\" src=\"1f459.png\"/>',fitzpatrick_scale:false,category:\"people\"},kimono:{keywords:[\"dress\",\"fashion\",\"women\",\"female\",\"japanese\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👘\" src=\"1f458.png\"/>',fitzpatrick_scale:false,category:\"people\"},lipstick:{keywords:[\"female\",\"girl\",\"fashion\",\"woman\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💄\" src=\"1f484.png\"/>',fitzpatrick_scale:false,category:\"people\"},kiss:{keywords:[\"face\",\"lips\",\"love\",\"like\",\"affection\",\"valentines\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💋\" src=\"1f48b.png\"/>',fitzpatrick_scale:false,category:\"people\"},footprints:{keywords:[\"feet\",\"tracking\",\"walking\",\"beach\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👣\" src=\"1f463.png\"/>',fitzpatrick_scale:false,category:\"people\"},flat_shoe:{keywords:[\"ballet\",\"slip-on\",\"slipper\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥿\" src=\"1f97f.png\"/>',fitzpatrick_scale:false,category:\"people\"},high_heel:{keywords:[\"fashion\",\"shoes\",\"female\",\"pumps\",\"stiletto\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👠\" src=\"1f460.png\"/>',fitzpatrick_scale:false,category:\"people\"},sandal:{keywords:[\"shoes\",\"fashion\",\"flip flops\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👡\" src=\"1f461.png\"/>',fitzpatrick_scale:false,category:\"people\"},boot:{keywords:[\"shoes\",\"fashion\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👢\" src=\"1f462.png\"/>',fitzpatrick_scale:false,category:\"people\"},mans_shoe:{keywords:[\"fashion\",\"male\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👞\" src=\"1f45e.png\"/>',fitzpatrick_scale:false,category:\"people\"},athletic_shoe:{keywords:[\"shoes\",\"sports\",\"sneakers\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👟\" src=\"1f45f.png\"/>',fitzpatrick_scale:false,category:\"people\"},hiking_boot:{keywords:[\"backpacking\",\"camping\",\"hiking\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥾\" src=\"1f97e.png\"/>',fitzpatrick_scale:false,category:\"people\"},socks:{keywords:[\"stockings\",\"clothes\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧦\" src=\"1f9e6.png\"/>',fitzpatrick_scale:false,category:\"people\"},gloves:{keywords:[\"hands\",\"winter\",\"clothes\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧤\" src=\"1f9e4.png\"/>',fitzpatrick_scale:false,category:\"people\"},scarf:{keywords:[\"neck\",\"winter\",\"clothes\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧣\" src=\"1f9e3.png\"/>',fitzpatrick_scale:false,category:\"people\"},womans_hat:{keywords:[\"fashion\",\"accessories\",\"female\",\"lady\",\"spring\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👒\" src=\"1f452.png\"/>',fitzpatrick_scale:false,category:\"people\"},tophat:{keywords:[\"magic\",\"gentleman\",\"classy\",\"circus\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎩\" src=\"1f3a9.png\"/>',fitzpatrick_scale:false,category:\"people\"},billed_hat:{keywords:[\"cap\",\"baseball\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧢\" src=\"1f9e2.png\"/>',fitzpatrick_scale:false,category:\"people\"},rescue_worker_helmet:{keywords:[\"construction\",\"build\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛑\" src=\"26d1.png\"/>',fitzpatrick_scale:false,category:\"people\"},mortar_board:{keywords:[\"school\",\"college\",\"degree\",\"university\",\"graduation\",\"cap\",\"hat\",\"legal\",\"learn\",\"education\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎓\" src=\"1f393.png\"/>',fitzpatrick_scale:false,category:\"people\"},crown:{keywords:[\"king\",\"kod\",\"leader\",\"royalty\",\"lord\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👑\" src=\"1f451.png\"/>',fitzpatrick_scale:false,category:\"people\"},school_satchel:{keywords:[\"student\",\"education\",\"bag\",\"backpack\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎒\" src=\"1f392.png\"/>',fitzpatrick_scale:false,category:\"people\"},luggage:{keywords:[\"packing\",\"travel\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧳\" src=\"1f9f3.png\"/>',fitzpatrick_scale:false,category:\"people\"},pouch:{keywords:[\"bag\",\"accessories\",\"shopping\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👝\" src=\"1f45d.png\"/>',fitzpatrick_scale:false,category:\"people\"},purse:{keywords:[\"fashion\",\"accessories\",\"money\",\"sales\",\"shopping\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👛\" src=\"1f45b.png\"/>',fitzpatrick_scale:false,category:\"people\"},handbag:{keywords:[\"fashion\",\"accessory\",\"accessories\",\"shopping\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👜\" src=\"1f45c.png\"/>',fitzpatrick_scale:false,category:\"people\"},briefcase:{keywords:[\"business\",\"documents\",\"work\",\"law\",\"legal\",\"job\",\"career\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💼\" src=\"1f4bc.png\"/>',fitzpatrick_scale:false,category:\"people\"},eyeglasses:{keywords:[\"fashion\",\"accessories\",\"eyesight\",\"nerdy\",\"dork\",\"geek\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👓\" src=\"1f453.png\"/>',fitzpatrick_scale:false,category:\"people\"},dark_sunglasses:{keywords:[\"face\",\"cool\",\"accessories\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕶\" src=\"1f576.png\"/>',fitzpatrick_scale:false,category:\"people\"},goggles:{keywords:[\"eyes\",\"protection\",\"safety\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥽\" src=\"1f97d.png\"/>',fitzpatrick_scale:false,category:\"people\"},ring:{keywords:[\"wedding\",\"propose\",\"marriage\",\"valentines\",\"diamond\",\"fashion\",\"jewelry\",\"gem\",\"engagement\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💍\" src=\"1f48d.png\"/>',fitzpatrick_scale:false,category:\"people\"},closed_umbrella:{keywords:[\"weather\",\"rain\",\"drizzle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌂\" src=\"1f302.png\"/>',fitzpatrick_scale:false,category:\"people\"},dog:{keywords:[\"animal\",\"friend\",\"nature\",\"woof\",\"puppy\",\"pet\",\"faithful\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐶\" src=\"1f436.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},cat:{keywords:[\"animal\",\"meow\",\"nature\",\"pet\",\"kitten\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐱\" src=\"1f431.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},mouse:{keywords:[\"animal\",\"nature\",\"cheese_wedge\",\"rodent\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐭\" src=\"1f42d.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},hamster:{keywords:[\"animal\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐹\" src=\"1f439.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},rabbit:{keywords:[\"animal\",\"nature\",\"pet\",\"spring\",\"magic\",\"bunny\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐰\" src=\"1f430.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},fox_face:{keywords:[\"animal\",\"nature\",\"face\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦊\" src=\"1f98a.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},bear:{keywords:[\"animal\",\"nature\",\"wild\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐻\" src=\"1f43b.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},panda_face:{keywords:[\"animal\",\"nature\",\"panda\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐼\" src=\"1f43c.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},koala:{keywords:[\"animal\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐨\" src=\"1f428.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},tiger:{keywords:[\"animal\",\"cat\",\"danger\",\"wild\",\"nature\",\"roar\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐯\" src=\"1f42f.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},lion:{keywords:[\"animal\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦁\" src=\"1f981.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},cow:{keywords:[\"beef\",\"ox\",\"animal\",\"nature\",\"moo\",\"milk\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐮\" src=\"1f42e.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},pig:{keywords:[\"animal\",\"oink\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐷\" src=\"1f437.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},pig_nose:{keywords:[\"animal\",\"oink\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐽\" src=\"1f43d.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},frog:{keywords:[\"animal\",\"nature\",\"croak\",\"toad\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐸\" src=\"1f438.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},squid:{keywords:[\"animal\",\"nature\",\"ocean\",\"sea\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦑\" src=\"1f991.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},octopus:{keywords:[\"animal\",\"creature\",\"ocean\",\"sea\",\"nature\",\"beach\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐙\" src=\"1f419.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},shrimp:{keywords:[\"animal\",\"ocean\",\"nature\",\"seafood\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦐\" src=\"1f990.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},monkey_face:{keywords:[\"animal\",\"nature\",\"circus\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐵\" src=\"1f435.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},gorilla:{keywords:[\"animal\",\"nature\",\"circus\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦍\" src=\"1f98d.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},see_no_evil:{keywords:[\"monkey\",\"animal\",\"nature\",\"haha\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙈\" src=\"1f648.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},hear_no_evil:{keywords:[\"animal\",\"monkey\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙉\" src=\"1f649.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},speak_no_evil:{keywords:[\"monkey\",\"animal\",\"nature\",\"omg\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙊\" src=\"1f64a.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},monkey:{keywords:[\"animal\",\"nature\",\"banana\",\"circus\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐒\" src=\"1f412.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},chicken:{keywords:[\"animal\",\"cluck\",\"nature\",\"bird\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐔\" src=\"1f414.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},penguin:{keywords:[\"animal\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐧\" src=\"1f427.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},bird:{keywords:[\"animal\",\"nature\",\"fly\",\"tweet\",\"spring\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐦\" src=\"1f426.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},baby_chick:{keywords:[\"animal\",\"chicken\",\"bird\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐤\" src=\"1f424.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},hatching_chick:{keywords:[\"animal\",\"chicken\",\"egg\",\"born\",\"baby\",\"bird\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐣\" src=\"1f423.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},hatched_chick:{keywords:[\"animal\",\"chicken\",\"baby\",\"bird\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐥\" src=\"1f425.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},duck:{keywords:[\"animal\",\"nature\",\"bird\",\"mallard\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦆\" src=\"1f986.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},eagle:{keywords:[\"animal\",\"nature\",\"bird\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦅\" src=\"1f985.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},owl:{keywords:[\"animal\",\"nature\",\"bird\",\"hoot\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦉\" src=\"1f989.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},bat:{keywords:[\"animal\",\"nature\",\"blind\",\"vampire\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦇\" src=\"1f987.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},wolf:{keywords:[\"animal\",\"nature\",\"wild\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐺\" src=\"1f43a.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},boar:{keywords:[\"animal\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐗\" src=\"1f417.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},horse:{keywords:[\"animal\",\"brown\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐴\" src=\"1f434.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},unicorn:{keywords:[\"animal\",\"nature\",\"mystical\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦄\" src=\"1f984.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},honeybee:{keywords:[\"animal\",\"insect\",\"nature\",\"bug\",\"spring\",\"honey\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐝\" src=\"1f41d.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},bug:{keywords:[\"animal\",\"insect\",\"nature\",\"worm\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐛\" src=\"1f41b.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},butterfly:{keywords:[\"animal\",\"insect\",\"nature\",\"caterpillar\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦋\" src=\"1f98b.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},snail:{keywords:[\"slow\",\"animal\",\"shell\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐌\" src=\"1f40c.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},beetle:{keywords:[\"animal\",\"insect\",\"nature\",\"ladybug\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐞\" src=\"1f41e.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},ant:{keywords:[\"animal\",\"insect\",\"nature\",\"bug\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐜\" src=\"1f41c.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},grasshopper:{keywords:[\"animal\",\"cricket\",\"chirp\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦗\" src=\"1f997.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},spider:{keywords:[\"animal\",\"arachnid\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕷\" src=\"1f577.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},scorpion:{keywords:[\"animal\",\"arachnid\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦂\" src=\"1f982.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},crab:{keywords:[\"animal\",\"crustacean\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦀\" src=\"1f980.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},snake:{keywords:[\"animal\",\"evil\",\"nature\",\"hiss\",\"python\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐍\" src=\"1f40d.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},lizard:{keywords:[\"animal\",\"nature\",\"reptile\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦎\" src=\"1f98e.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},\"t-rex\":{keywords:[\"animal\",\"nature\",\"dinosaur\",\"tyrannosaurus\",\"extinct\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦖\" src=\"1f996.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},sauropod:{keywords:[\"animal\",\"nature\",\"dinosaur\",\"brachiosaurus\",\"brontosaurus\",\"diplodocus\",\"extinct\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦕\" src=\"1f995.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},turtle:{keywords:[\"animal\",\"slow\",\"nature\",\"tortoise\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐢\" src=\"1f422.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},tropical_fish:{keywords:[\"animal\",\"swim\",\"ocean\",\"beach\",\"nemo\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐠\" src=\"1f420.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},fish:{keywords:[\"animal\",\"food\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐟\" src=\"1f41f.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},blowfish:{keywords:[\"animal\",\"nature\",\"food\",\"sea\",\"ocean\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐡\" src=\"1f421.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},dolphin:{keywords:[\"animal\",\"nature\",\"fish\",\"sea\",\"ocean\",\"flipper\",\"fins\",\"beach\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐬\" src=\"1f42c.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},shark:{keywords:[\"animal\",\"nature\",\"fish\",\"sea\",\"ocean\",\"jaws\",\"fins\",\"beach\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦈\" src=\"1f988.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},whale:{keywords:[\"animal\",\"nature\",\"sea\",\"ocean\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐳\" src=\"1f433.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},whale2:{keywords:[\"animal\",\"nature\",\"sea\",\"ocean\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐋\" src=\"1f40b.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},crocodile:{keywords:[\"animal\",\"nature\",\"reptile\",\"lizard\",\"alligator\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐊\" src=\"1f40a.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},leopard:{keywords:[\"animal\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐆\" src=\"1f406.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},zebra:{keywords:[\"animal\",\"nature\",\"stripes\",\"safari\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦓\" src=\"1f993.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},tiger2:{keywords:[\"animal\",\"nature\",\"roar\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐅\" src=\"1f405.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},water_buffalo:{keywords:[\"animal\",\"nature\",\"ox\",\"cow\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐃\" src=\"1f403.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},ox:{keywords:[\"animal\",\"cow\",\"beef\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐂\" src=\"1f402.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},cow2:{keywords:[\"beef\",\"ox\",\"animal\",\"nature\",\"moo\",\"milk\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐄\" src=\"1f404.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},deer:{keywords:[\"animal\",\"nature\",\"horns\",\"venison\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦌\" src=\"1f98c.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},dromedary_camel:{keywords:[\"animal\",\"hot\",\"desert\",\"hump\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐪\" src=\"1f42a.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},camel:{keywords:[\"animal\",\"nature\",\"hot\",\"desert\",\"hump\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐫\" src=\"1f42b.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},giraffe:{keywords:[\"animal\",\"nature\",\"spots\",\"safari\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦒\" src=\"1f992.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},elephant:{keywords:[\"animal\",\"nature\",\"nose\",\"th\",\"circus\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐘\" src=\"1f418.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},rhinoceros:{keywords:[\"animal\",\"nature\",\"horn\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦏\" src=\"1f98f.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},goat:{keywords:[\"animal\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐐\" src=\"1f410.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},ram:{keywords:[\"animal\",\"sheep\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐏\" src=\"1f40f.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},sheep:{keywords:[\"animal\",\"nature\",\"wool\",\"shipit\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐑\" src=\"1f411.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},racehorse:{keywords:[\"animal\",\"gamble\",\"luck\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐎\" src=\"1f40e.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},pig2:{keywords:[\"animal\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐖\" src=\"1f416.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},rat:{keywords:[\"animal\",\"mouse\",\"rodent\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐀\" src=\"1f400.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},mouse2:{keywords:[\"animal\",\"nature\",\"rodent\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐁\" src=\"1f401.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},rooster:{keywords:[\"animal\",\"nature\",\"chicken\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐓\" src=\"1f413.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},turkey:{keywords:[\"animal\",\"bird\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦃\" src=\"1f983.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},dove:{keywords:[\"animal\",\"bird\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕊\" src=\"1f54a.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},dog2:{keywords:[\"animal\",\"nature\",\"friend\",\"doge\",\"pet\",\"faithful\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐕\" src=\"1f415.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},poodle:{keywords:[\"dog\",\"animal\",\"101\",\"nature\",\"pet\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐩\" src=\"1f429.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},cat2:{keywords:[\"animal\",\"meow\",\"pet\",\"cats\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐈\" src=\"1f408.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},rabbit2:{keywords:[\"animal\",\"nature\",\"pet\",\"magic\",\"spring\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐇\" src=\"1f407.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},chipmunk:{keywords:[\"animal\",\"nature\",\"rodent\",\"squirrel\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐿\" src=\"1f43f.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},hedgehog:{keywords:[\"animal\",\"nature\",\"spiny\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦔\" src=\"1f994.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},raccoon:{keywords:[\"animal\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦝\" src=\"1f99d.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},llama:{keywords:[\"animal\",\"nature\",\"alpaca\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦙\" src=\"1f999.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},hippopotamus:{keywords:[\"animal\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦛\" src=\"1f99b.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},kangaroo:{keywords:[\"animal\",\"nature\",\"australia\",\"joey\",\"hop\",\"marsupial\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦘\" src=\"1f998.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},badger:{keywords:[\"animal\",\"nature\",\"honey\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦡\" src=\"1f9a1.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},swan:{keywords:[\"animal\",\"nature\",\"bird\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦢\" src=\"1f9a2.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},peacock:{keywords:[\"animal\",\"nature\",\"peahen\",\"bird\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦚\" src=\"1f99a.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},parrot:{keywords:[\"animal\",\"nature\",\"bird\",\"pirate\",\"talk\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦜\" src=\"1f99c.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},lobster:{keywords:[\"animal\",\"nature\",\"bisque\",\"claws\",\"seafood\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦞\" src=\"1f99e.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},mosquito:{keywords:[\"animal\",\"nature\",\"insect\",\"malaria\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦟\" src=\"1f99f.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},paw_prints:{keywords:[\"animal\",\"tracking\",\"footprints\",\"dog\",\"cat\",\"pet\",\"feet\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐾\" src=\"1f43e.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},dragon:{keywords:[\"animal\",\"myth\",\"nature\",\"chinese\",\"green\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐉\" src=\"1f409.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},dragon_face:{keywords:[\"animal\",\"myth\",\"nature\",\"chinese\",\"green\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐲\" src=\"1f432.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},cactus:{keywords:[\"vegetable\",\"plant\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌵\" src=\"1f335.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},christmas_tree:{keywords:[\"festival\",\"vacation\",\"december\",\"xmas\",\"celebration\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎄\" src=\"1f384.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},evergreen_tree:{keywords:[\"plant\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌲\" src=\"1f332.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},deciduous_tree:{keywords:[\"plant\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌳\" src=\"1f333.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},palm_tree:{keywords:[\"plant\",\"vegetable\",\"nature\",\"summer\",\"beach\",\"mojito\",\"tropical\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌴\" src=\"1f334.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},seedling:{keywords:[\"plant\",\"nature\",\"grass\",\"lawn\",\"spring\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌱\" src=\"1f331.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},herb:{keywords:[\"vegetable\",\"plant\",\"medicine\",\"weed\",\"grass\",\"lawn\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌿\" src=\"1f33f.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},shamrock:{keywords:[\"vegetable\",\"plant\",\"nature\",\"irish\",\"clover\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☘\" src=\"2618.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},four_leaf_clover:{keywords:[\"vegetable\",\"plant\",\"nature\",\"lucky\",\"irish\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍀\" src=\"1f340.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},bamboo:{keywords:[\"plant\",\"nature\",\"vegetable\",\"panda\",\"pine_decoration\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎍\" src=\"1f38d.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},tanabata_tree:{keywords:[\"plant\",\"nature\",\"branch\",\"summer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎋\" src=\"1f38b.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},leaves:{keywords:[\"nature\",\"plant\",\"tree\",\"vegetable\",\"grass\",\"lawn\",\"spring\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍃\" src=\"1f343.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},fallen_leaf:{keywords:[\"nature\",\"plant\",\"vegetable\",\"leaves\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍂\" src=\"1f342.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},maple_leaf:{keywords:[\"nature\",\"plant\",\"vegetable\",\"ca\",\"fall\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍁\" src=\"1f341.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},ear_of_rice:{keywords:[\"nature\",\"plant\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌾\" src=\"1f33e.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},hibiscus:{keywords:[\"plant\",\"vegetable\",\"flowers\",\"beach\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌺\" src=\"1f33a.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},sunflower:{keywords:[\"nature\",\"plant\",\"fall\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌻\" src=\"1f33b.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},rose:{keywords:[\"flowers\",\"valentines\",\"love\",\"spring\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌹\" src=\"1f339.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},wilted_flower:{keywords:[\"plant\",\"nature\",\"flower\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥀\" src=\"1f940.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},tulip:{keywords:[\"flowers\",\"plant\",\"nature\",\"summer\",\"spring\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌷\" src=\"1f337.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},blossom:{keywords:[\"nature\",\"flowers\",\"yellow\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌼\" src=\"1f33c.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},cherry_blossom:{keywords:[\"nature\",\"plant\",\"spring\",\"flower\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌸\" src=\"1f338.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},bouquet:{keywords:[\"flowers\",\"nature\",\"spring\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💐\" src=\"1f490.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},mushroom:{keywords:[\"plant\",\"vegetable\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍄\" src=\"1f344.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},chestnut:{keywords:[\"food\",\"squirrel\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌰\" src=\"1f330.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},jack_o_lantern:{keywords:[\"halloween\",\"light\",\"pumpkin\",\"creepy\",\"fall\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎃\" src=\"1f383.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},shell:{keywords:[\"nature\",\"sea\",\"beach\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐚\" src=\"1f41a.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},spider_web:{keywords:[\"animal\",\"insect\",\"arachnid\",\"silk\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕸\" src=\"1f578.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},earth_americas:{keywords:[\"globe\",\"world\",\"USA\",\"international\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌎\" src=\"1f30e.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},earth_africa:{keywords:[\"globe\",\"world\",\"international\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌍\" src=\"1f30d.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},earth_asia:{keywords:[\"globe\",\"world\",\"east\",\"international\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌏\" src=\"1f30f.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},full_moon:{keywords:[\"nature\",\"yellow\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌕\" src=\"1f315.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},waning_gibbous_moon:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\",\"waxing_gibbous_moon\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌖\" src=\"1f316.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},last_quarter_moon:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌗\" src=\"1f317.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},waning_crescent_moon:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌘\" src=\"1f318.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},new_moon:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌑\" src=\"1f311.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},waxing_crescent_moon:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌒\" src=\"1f312.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},first_quarter_moon:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌓\" src=\"1f313.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},waxing_gibbous_moon:{keywords:[\"nature\",\"night\",\"sky\",\"gray\",\"twilight\",\"planet\",\"space\",\"evening\",\"sleep\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌔\" src=\"1f314.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},new_moon_with_face:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌚\" src=\"1f31a.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},full_moon_with_face:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌝\" src=\"1f31d.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},first_quarter_moon_with_face:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌛\" src=\"1f31b.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},last_quarter_moon_with_face:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌜\" src=\"1f31c.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},sun_with_face:{keywords:[\"nature\",\"morning\",\"sky\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌞\" src=\"1f31e.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},crescent_moon:{keywords:[\"night\",\"sleep\",\"sky\",\"evening\",\"magic\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌙\" src=\"1f319.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},star:{keywords:[\"night\",\"yellow\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⭐\" src=\"2b50.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},star2:{keywords:[\"night\",\"sparkle\",\"awesome\",\"good\",\"magic\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌟\" src=\"1f31f.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},dizzy:{keywords:[\"star\",\"sparkle\",\"shoot\",\"magic\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💫\" src=\"1f4ab.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},sparkles:{keywords:[\"stars\",\"shine\",\"shiny\",\"cool\",\"awesome\",\"good\",\"magic\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✨\" src=\"2728.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},comet:{keywords:[\"space\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☄\" src=\"2604.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},sunny:{keywords:[\"weather\",\"nature\",\"brightness\",\"summer\",\"beach\",\"spring\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☀️\" src=\"2600.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},sun_behind_small_cloud:{keywords:[\"weather\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌤\" src=\"1f324.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},partly_sunny:{keywords:[\"weather\",\"nature\",\"cloudy\",\"morning\",\"fall\",\"spring\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛅\" src=\"26c5.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},sun_behind_large_cloud:{keywords:[\"weather\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌥\" src=\"1f325.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},sun_behind_rain_cloud:{keywords:[\"weather\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌦\" src=\"1f326.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},cloud:{keywords:[\"weather\",\"sky\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☁️\" src=\"2601.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},cloud_with_rain:{keywords:[\"weather\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌧\" src=\"1f327.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},cloud_with_lightning_and_rain:{keywords:[\"weather\",\"lightning\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛈\" src=\"26c8.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},cloud_with_lightning:{keywords:[\"weather\",\"thunder\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌩\" src=\"1f329.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},zap:{keywords:[\"thunder\",\"weather\",\"lightning bolt\",\"fast\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⚡\" src=\"26a1.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},fire:{keywords:[\"hot\",\"cook\",\"flame\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔥\" src=\"1f525.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},boom:{keywords:[\"bomb\",\"explode\",\"explosion\",\"collision\",\"blown\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💥\" src=\"1f4a5.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},snowflake:{keywords:[\"winter\",\"season\",\"cold\",\"weather\",\"christmas\",\"xmas\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"❄️\" src=\"2744.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},cloud_with_snow:{keywords:[\"weather\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌨\" src=\"1f328.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},snowman:{keywords:[\"winter\",\"season\",\"cold\",\"weather\",\"christmas\",\"xmas\",\"frozen\",\"without_snow\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛄\" src=\"26c4.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},snowman_with_snow:{keywords:[\"winter\",\"season\",\"cold\",\"weather\",\"christmas\",\"xmas\",\"frozen\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☃\" src=\"2603.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},wind_face:{keywords:[\"gust\",\"air\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌬\" src=\"1f32c.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},dash:{keywords:[\"wind\",\"air\",\"fast\",\"shoo\",\"fart\",\"smoke\",\"puff\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💨\" src=\"1f4a8.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},tornado:{keywords:[\"weather\",\"cyclone\",\"twister\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌪\" src=\"1f32a.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},fog:{keywords:[\"weather\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌫\" src=\"1f32b.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},open_umbrella:{keywords:[\"weather\",\"spring\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☂\" src=\"2602.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},umbrella:{keywords:[\"rainy\",\"weather\",\"spring\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☔\" src=\"2614.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},droplet:{keywords:[\"water\",\"drip\",\"faucet\",\"spring\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💧\" src=\"1f4a7.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},sweat_drops:{keywords:[\"water\",\"drip\",\"oops\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💦\" src=\"1f4a6.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},ocean:{keywords:[\"sea\",\"water\",\"wave\",\"nature\",\"tsunami\",\"disaster\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌊\" src=\"1f30a.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},green_apple:{keywords:[\"fruit\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍏\" src=\"1f34f.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},apple:{keywords:[\"fruit\",\"mac\",\"school\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍎\" src=\"1f34e.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},pear:{keywords:[\"fruit\",\"nature\",\"food\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍐\" src=\"1f350.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},tangerine:{keywords:[\"food\",\"fruit\",\"nature\",\"orange\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍊\" src=\"1f34a.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},lemon:{keywords:[\"fruit\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍋\" src=\"1f34b.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},banana:{keywords:[\"fruit\",\"food\",\"monkey\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍌\" src=\"1f34c.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},watermelon:{keywords:[\"fruit\",\"food\",\"picnic\",\"summer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍉\" src=\"1f349.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},grapes:{keywords:[\"fruit\",\"food\",\"wine\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍇\" src=\"1f347.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},strawberry:{keywords:[\"fruit\",\"food\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍓\" src=\"1f353.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},melon:{keywords:[\"fruit\",\"nature\",\"food\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍈\" src=\"1f348.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},cherries:{keywords:[\"food\",\"fruit\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍒\" src=\"1f352.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},peach:{keywords:[\"fruit\",\"nature\",\"food\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍑\" src=\"1f351.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},pineapple:{keywords:[\"fruit\",\"nature\",\"food\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍍\" src=\"1f34d.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},coconut:{keywords:[\"fruit\",\"nature\",\"food\",\"palm\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥥\" src=\"1f965.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},kiwi_fruit:{keywords:[\"fruit\",\"food\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥝\" src=\"1f95d.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},mango:{keywords:[\"fruit\",\"food\",\"tropical\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥭\" src=\"1f96d.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},avocado:{keywords:[\"fruit\",\"food\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥑\" src=\"1f951.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},broccoli:{keywords:[\"fruit\",\"food\",\"vegetable\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥦\" src=\"1f966.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},tomato:{keywords:[\"fruit\",\"vegetable\",\"nature\",\"food\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍅\" src=\"1f345.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},eggplant:{keywords:[\"vegetable\",\"nature\",\"food\",\"aubergine\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍆\" src=\"1f346.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},cucumber:{keywords:[\"fruit\",\"food\",\"pickle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥒\" src=\"1f952.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},carrot:{keywords:[\"vegetable\",\"food\",\"orange\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥕\" src=\"1f955.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},hot_pepper:{keywords:[\"food\",\"spicy\",\"chilli\",\"chili\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌶\" src=\"1f336.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},potato:{keywords:[\"food\",\"tuber\",\"vegatable\",\"starch\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥔\" src=\"1f954.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},corn:{keywords:[\"food\",\"vegetable\",\"plant\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌽\" src=\"1f33d.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},leafy_greens:{keywords:[\"food\",\"vegetable\",\"plant\",\"bok choy\",\"cabbage\",\"kale\",\"lettuce\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥬\" src=\"1f96c.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},sweet_potato:{keywords:[\"food\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍠\" src=\"1f360.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},peanuts:{keywords:[\"food\",\"nut\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥜\" src=\"1f95c.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},honey_pot:{keywords:[\"bees\",\"sweet\",\"kitchen\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍯\" src=\"1f36f.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},croissant:{keywords:[\"food\",\"bread\",\"french\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥐\" src=\"1f950.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},bread:{keywords:[\"food\",\"wheat\",\"breakfast\",\"toast\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍞\" src=\"1f35e.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},baguette_bread:{keywords:[\"food\",\"bread\",\"french\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥖\" src=\"1f956.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},bagel:{keywords:[\"food\",\"bread\",\"bakery\",\"schmear\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥯\" src=\"1f96f.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},pretzel:{keywords:[\"food\",\"bread\",\"twisted\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥨\" src=\"1f968.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},cheese:{keywords:[\"food\",\"chadder\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧀\" src=\"1f9c0.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},egg:{keywords:[\"food\",\"chicken\",\"breakfast\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥚\" src=\"1f95a.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},bacon:{keywords:[\"food\",\"breakfast\",\"pork\",\"pig\",\"meat\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥓\" src=\"1f953.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},steak:{keywords:[\"food\",\"cow\",\"meat\",\"cut\",\"chop\",\"lambchop\",\"porkchop\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥩\" src=\"1f969.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},pancakes:{keywords:[\"food\",\"breakfast\",\"flapjacks\",\"hotcakes\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥞\" src=\"1f95e.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},poultry_leg:{keywords:[\"food\",\"meat\",\"drumstick\",\"bird\",\"chicken\",\"turkey\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍗\" src=\"1f357.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},meat_on_bone:{keywords:[\"good\",\"food\",\"drumstick\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍖\" src=\"1f356.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},bone:{keywords:[\"skeleton\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦴\" src=\"1f9b4.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},fried_shrimp:{keywords:[\"food\",\"animal\",\"appetizer\",\"summer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍤\" src=\"1f364.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},fried_egg:{keywords:[\"food\",\"breakfast\",\"kitchen\",\"egg\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍳\" src=\"1f373.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},hamburger:{keywords:[\"meat\",\"fast food\",\"beef\",\"cheeseburger\",\"mcdonalds\",\"burger king\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍔\" src=\"1f354.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},fries:{keywords:[\"chips\",\"snack\",\"fast food\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍟\" src=\"1f35f.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},stuffed_flatbread:{keywords:[\"food\",\"flatbread\",\"stuffed\",\"gyro\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥙\" src=\"1f959.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},hotdog:{keywords:[\"food\",\"frankfurter\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌭\" src=\"1f32d.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},pizza:{keywords:[\"food\",\"party\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍕\" src=\"1f355.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},sandwich:{keywords:[\"food\",\"lunch\",\"bread\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥪\" src=\"1f96a.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},canned_food:{keywords:[\"food\",\"soup\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥫\" src=\"1f96b.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},spaghetti:{keywords:[\"food\",\"italian\",\"noodle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍝\" src=\"1f35d.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},taco:{keywords:[\"food\",\"mexican\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌮\" src=\"1f32e.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},burrito:{keywords:[\"food\",\"mexican\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌯\" src=\"1f32f.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},green_salad:{keywords:[\"food\",\"healthy\",\"lettuce\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥗\" src=\"1f957.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},shallow_pan_of_food:{keywords:[\"food\",\"cooking\",\"casserole\",\"paella\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥘\" src=\"1f958.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},ramen:{keywords:[\"food\",\"japanese\",\"noodle\",\"chopsticks\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍜\" src=\"1f35c.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},stew:{keywords:[\"food\",\"meat\",\"soup\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍲\" src=\"1f372.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},fish_cake:{keywords:[\"food\",\"japan\",\"sea\",\"beach\",\"narutomaki\",\"pink\",\"swirl\",\"kamaboko\",\"surimi\",\"ramen\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍥\" src=\"1f365.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},fortune_cookie:{keywords:[\"food\",\"prophecy\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥠\" src=\"1f960.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},sushi:{keywords:[\"food\",\"fish\",\"japanese\",\"rice\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍣\" src=\"1f363.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},bento:{keywords:[\"food\",\"japanese\",\"box\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍱\" src=\"1f371.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},curry:{keywords:[\"food\",\"spicy\",\"hot\",\"indian\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍛\" src=\"1f35b.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},rice_ball:{keywords:[\"food\",\"japanese\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍙\" src=\"1f359.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},rice:{keywords:[\"food\",\"china\",\"asian\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍚\" src=\"1f35a.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},rice_cracker:{keywords:[\"food\",\"japanese\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍘\" src=\"1f358.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},oden:{keywords:[\"food\",\"japanese\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍢\" src=\"1f362.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},dango:{keywords:[\"food\",\"dessert\",\"sweet\",\"japanese\",\"barbecue\",\"meat\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍡\" src=\"1f361.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},shaved_ice:{keywords:[\"hot\",\"dessert\",\"summer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍧\" src=\"1f367.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},ice_cream:{keywords:[\"food\",\"hot\",\"dessert\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍨\" src=\"1f368.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},icecream:{keywords:[\"food\",\"hot\",\"dessert\",\"summer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍦\" src=\"1f366.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},pie:{keywords:[\"food\",\"dessert\",\"pastry\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥧\" src=\"1f967.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},cake:{keywords:[\"food\",\"dessert\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍰\" src=\"1f370.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},cupcake:{keywords:[\"food\",\"dessert\",\"bakery\",\"sweet\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧁\" src=\"1f9c1.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},moon_cake:{keywords:[\"food\",\"autumn\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥮\" src=\"1f96e.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},birthday:{keywords:[\"food\",\"dessert\",\"cake\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎂\" src=\"1f382.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},custard:{keywords:[\"dessert\",\"food\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍮\" src=\"1f36e.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},candy:{keywords:[\"snack\",\"dessert\",\"sweet\",\"lolly\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍬\" src=\"1f36c.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},lollipop:{keywords:[\"food\",\"snack\",\"candy\",\"sweet\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍭\" src=\"1f36d.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},chocolate_bar:{keywords:[\"food\",\"snack\",\"dessert\",\"sweet\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍫\" src=\"1f36b.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},popcorn:{keywords:[\"food\",\"movie theater\",\"films\",\"snack\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍿\" src=\"1f37f.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},dumpling:{keywords:[\"food\",\"empanada\",\"pierogi\",\"potsticker\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥟\" src=\"1f95f.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},doughnut:{keywords:[\"food\",\"dessert\",\"snack\",\"sweet\",\"donut\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍩\" src=\"1f369.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},cookie:{keywords:[\"food\",\"snack\",\"oreo\",\"chocolate\",\"sweet\",\"dessert\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍪\" src=\"1f36a.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},milk_glass:{keywords:[\"beverage\",\"drink\",\"cow\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥛\" src=\"1f95b.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},beer:{keywords:[\"relax\",\"beverage\",\"drink\",\"drunk\",\"party\",\"pub\",\"summer\",\"alcohol\",\"booze\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍺\" src=\"1f37a.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},beers:{keywords:[\"relax\",\"beverage\",\"drink\",\"drunk\",\"party\",\"pub\",\"summer\",\"alcohol\",\"booze\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍻\" src=\"1f37b.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},clinking_glasses:{keywords:[\"beverage\",\"drink\",\"party\",\"alcohol\",\"celebrate\",\"cheers\",\"wine\",\"champagne\",\"toast\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥂\" src=\"1f942.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},wine_glass:{keywords:[\"drink\",\"beverage\",\"drunk\",\"alcohol\",\"booze\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍷\" src=\"1f377.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},tumbler_glass:{keywords:[\"drink\",\"beverage\",\"drunk\",\"alcohol\",\"liquor\",\"booze\",\"bourbon\",\"scotch\",\"whisky\",\"glass\",\"shot\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥃\" src=\"1f943.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},cocktail:{keywords:[\"drink\",\"drunk\",\"alcohol\",\"beverage\",\"booze\",\"mojito\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍸\" src=\"1f378.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},tropical_drink:{keywords:[\"beverage\",\"cocktail\",\"summer\",\"beach\",\"alcohol\",\"booze\",\"mojito\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍹\" src=\"1f379.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},champagne:{keywords:[\"drink\",\"wine\",\"bottle\",\"celebration\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍾\" src=\"1f37e.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},sake:{keywords:[\"wine\",\"drink\",\"drunk\",\"beverage\",\"japanese\",\"alcohol\",\"booze\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍶\" src=\"1f376.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},tea:{keywords:[\"drink\",\"bowl\",\"breakfast\",\"green\",\"british\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍵\" src=\"1f375.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},cup_with_straw:{keywords:[\"drink\",\"soda\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥤\" src=\"1f964.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},coffee:{keywords:[\"beverage\",\"caffeine\",\"latte\",\"espresso\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☕\" src=\"2615.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},baby_bottle:{keywords:[\"food\",\"container\",\"milk\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍼\" src=\"1f37c.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},salt:{keywords:[\"condiment\",\"shaker\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧂\" src=\"1f9c2.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},spoon:{keywords:[\"cutlery\",\"kitchen\",\"tableware\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥄\" src=\"1f944.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},fork_and_knife:{keywords:[\"cutlery\",\"kitchen\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍴\" src=\"1f374.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},plate_with_cutlery:{keywords:[\"food\",\"eat\",\"meal\",\"lunch\",\"dinner\",\"restaurant\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍽\" src=\"1f37d.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},bowl_with_spoon:{keywords:[\"food\",\"breakfast\",\"cereal\",\"oatmeal\",\"porridge\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥣\" src=\"1f963.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},takeout_box:{keywords:[\"food\",\"leftovers\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥡\" src=\"1f961.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},chopsticks:{keywords:[\"food\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥢\" src=\"1f962.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},soccer:{keywords:[\"sports\",\"football\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⚽\" src=\"26bd.png\"/>',fitzpatrick_scale:false,category:\"activity\"},basketball:{keywords:[\"sports\",\"balls\",\"NBA\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏀\" src=\"1f3c0.png\"/>',fitzpatrick_scale:false,category:\"activity\"},football:{keywords:[\"sports\",\"balls\",\"NFL\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏈\" src=\"1f3c8.png\"/>',fitzpatrick_scale:false,category:\"activity\"},baseball:{keywords:[\"sports\",\"balls\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⚾\" src=\"26be.png\"/>',fitzpatrick_scale:false,category:\"activity\"},softball:{keywords:[\"sports\",\"balls\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥎\" src=\"1f94e.png\"/>',fitzpatrick_scale:false,category:\"activity\"},tennis:{keywords:[\"sports\",\"balls\",\"green\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎾\" src=\"1f3be.png\"/>',fitzpatrick_scale:false,category:\"activity\"},volleyball:{keywords:[\"sports\",\"balls\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏐\" src=\"1f3d0.png\"/>',fitzpatrick_scale:false,category:\"activity\"},rugby_football:{keywords:[\"sports\",\"team\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏉\" src=\"1f3c9.png\"/>',fitzpatrick_scale:false,category:\"activity\"},flying_disc:{keywords:[\"sports\",\"frisbee\",\"ultimate\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥏\" src=\"1f94f.png\"/>',fitzpatrick_scale:false,category:\"activity\"},\"8ball\":{keywords:[\"pool\",\"hobby\",\"game\",\"luck\",\"magic\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎱\" src=\"1f3b1.png\"/>',fitzpatrick_scale:false,category:\"activity\"},golf:{keywords:[\"sports\",\"business\",\"flag\",\"hole\",\"summer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛳\" src=\"26f3.png\"/>',fitzpatrick_scale:false,category:\"activity\"},golfing_woman:{keywords:[\"sports\",\"business\",\"woman\",\"female\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏌️‍♀️\" src=\"1f3cc-fe0f-200d-2640-fe0f.png\"/>',fitzpatrick_scale:false,category:\"activity\"},golfing_man:{keywords:[\"sports\",\"business\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏌\" src=\"1f3cc.png\"/>',fitzpatrick_scale:true,category:\"activity\"},ping_pong:{keywords:[\"sports\",\"pingpong\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏓\" src=\"1f3d3.png\"/>',fitzpatrick_scale:false,category:\"activity\"},badminton:{keywords:[\"sports\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏸\" src=\"1f3f8.png\"/>',fitzpatrick_scale:false,category:\"activity\"},goal_net:{keywords:[\"sports\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥅\" src=\"1f945.png\"/>',fitzpatrick_scale:false,category:\"activity\"},ice_hockey:{keywords:[\"sports\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏒\" src=\"1f3d2.png\"/>',fitzpatrick_scale:false,category:\"activity\"},field_hockey:{keywords:[\"sports\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏑\" src=\"1f3d1.png\"/>',fitzpatrick_scale:false,category:\"activity\"},lacrosse:{keywords:[\"sports\",\"ball\",\"stick\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥍\" src=\"1f94d.png\"/>',fitzpatrick_scale:false,category:\"activity\"},cricket:{keywords:[\"sports\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏏\" src=\"1f3cf.png\"/>',fitzpatrick_scale:false,category:\"activity\"},ski:{keywords:[\"sports\",\"winter\",\"cold\",\"snow\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎿\" src=\"1f3bf.png\"/>',fitzpatrick_scale:false,category:\"activity\"},skier:{keywords:[\"sports\",\"winter\",\"snow\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛷\" src=\"26f7.png\"/>',fitzpatrick_scale:false,category:\"activity\"},snowboarder:{keywords:[\"sports\",\"winter\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏂\" src=\"1f3c2.png\"/>',fitzpatrick_scale:true,category:\"activity\"},person_fencing:{keywords:[\"sports\",\"fencing\",\"sword\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤺\" src=\"1f93a.png\"/>',fitzpatrick_scale:false,category:\"activity\"},women_wrestling:{keywords:[\"sports\",\"wrestlers\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤼‍♀️\" src=\"1f93c-200d-2640-fe0f.png\"/>',fitzpatrick_scale:false,category:\"activity\"},men_wrestling:{keywords:[\"sports\",\"wrestlers\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤼‍♂️\" src=\"1f93c-200d-2642-fe0f.png\"/>',fitzpatrick_scale:false,category:\"activity\"},woman_cartwheeling:{keywords:[\"gymnastics\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤸‍♀️\" src=\"1f938-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},man_cartwheeling:{keywords:[\"gymnastics\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤸‍♂️\" src=\"1f938-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},woman_playing_handball:{keywords:[\"sports\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤾‍♀️\" src=\"1f93e-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},man_playing_handball:{keywords:[\"sports\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤾‍♂️\" src=\"1f93e-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},ice_skate:{keywords:[\"sports\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛸\" src=\"26f8.png\"/>',fitzpatrick_scale:false,category:\"activity\"},curling_stone:{keywords:[\"sports\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥌\" src=\"1f94c.png\"/>',fitzpatrick_scale:false,category:\"activity\"},skateboard:{keywords:[\"board\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛹\" src=\"1f6f9.png\"/>',fitzpatrick_scale:false,category:\"activity\"},sled:{keywords:[\"sleigh\",\"luge\",\"toboggan\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛷\" src=\"1f6f7.png\"/>',fitzpatrick_scale:false,category:\"activity\"},bow_and_arrow:{keywords:[\"sports\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏹\" src=\"1f3f9.png\"/>',fitzpatrick_scale:false,category:\"activity\"},fishing_pole_and_fish:{keywords:[\"food\",\"hobby\",\"summer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎣\" src=\"1f3a3.png\"/>',fitzpatrick_scale:false,category:\"activity\"},boxing_glove:{keywords:[\"sports\",\"fighting\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥊\" src=\"1f94a.png\"/>',fitzpatrick_scale:false,category:\"activity\"},martial_arts_uniform:{keywords:[\"judo\",\"karate\",\"taekwondo\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥋\" src=\"1f94b.png\"/>',fitzpatrick_scale:false,category:\"activity\"},rowing_woman:{keywords:[\"sports\",\"hobby\",\"water\",\"ship\",\"woman\",\"female\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚣‍♀️\" src=\"1f6a3-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},rowing_man:{keywords:[\"sports\",\"hobby\",\"water\",\"ship\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚣\" src=\"1f6a3.png\"/>',fitzpatrick_scale:true,category:\"activity\"},climbing_woman:{keywords:[\"sports\",\"hobby\",\"woman\",\"female\",\"rock\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧗‍♀️\" src=\"1f9d7-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},climbing_man:{keywords:[\"sports\",\"hobby\",\"man\",\"male\",\"rock\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧗‍♂️\" src=\"1f9d7-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},swimming_woman:{keywords:[\"sports\",\"exercise\",\"human\",\"athlete\",\"water\",\"summer\",\"woman\",\"female\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏊‍♀️\" src=\"1f3ca-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},swimming_man:{keywords:[\"sports\",\"exercise\",\"human\",\"athlete\",\"water\",\"summer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏊\" src=\"1f3ca.png\"/>',fitzpatrick_scale:true,category:\"activity\"},woman_playing_water_polo:{keywords:[\"sports\",\"pool\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤽‍♀️\" src=\"1f93d-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},man_playing_water_polo:{keywords:[\"sports\",\"pool\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤽‍♂️\" src=\"1f93d-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},woman_in_lotus_position:{keywords:[\"woman\",\"female\",\"meditation\",\"yoga\",\"serenity\",\"zen\",\"mindfulness\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧘‍♀️\" src=\"1f9d8-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},man_in_lotus_position:{keywords:[\"man\",\"male\",\"meditation\",\"yoga\",\"serenity\",\"zen\",\"mindfulness\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧘‍♂️\" src=\"1f9d8-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},surfing_woman:{keywords:[\"sports\",\"ocean\",\"sea\",\"summer\",\"beach\",\"woman\",\"female\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏄‍♀️\" src=\"1f3c4-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},surfing_man:{keywords:[\"sports\",\"ocean\",\"sea\",\"summer\",\"beach\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏄\" src=\"1f3c4.png\"/>',fitzpatrick_scale:true,category:\"activity\"},bath:{keywords:[\"clean\",\"shower\",\"bathroom\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛀\" src=\"1f6c0.png\"/>',fitzpatrick_scale:true,category:\"activity\"},basketball_woman:{keywords:[\"sports\",\"human\",\"woman\",\"female\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛹️‍♀️\" src=\"26f9-fe0f-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},basketball_man:{keywords:[\"sports\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛹\" src=\"26f9.png\"/>',fitzpatrick_scale:true,category:\"activity\"},weight_lifting_woman:{keywords:[\"sports\",\"training\",\"exercise\",\"woman\",\"female\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏋️‍♀️\" src=\"1f3cb-fe0f-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},weight_lifting_man:{keywords:[\"sports\",\"training\",\"exercise\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏋\" src=\"1f3cb.png\"/>',fitzpatrick_scale:true,category:\"activity\"},biking_woman:{keywords:[\"sports\",\"bike\",\"exercise\",\"hipster\",\"woman\",\"female\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚴‍♀️\" src=\"1f6b4-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},biking_man:{keywords:[\"sports\",\"bike\",\"exercise\",\"hipster\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚴\" src=\"1f6b4.png\"/>',fitzpatrick_scale:true,category:\"activity\"},mountain_biking_woman:{keywords:[\"transportation\",\"sports\",\"human\",\"race\",\"bike\",\"woman\",\"female\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚵‍♀️\" src=\"1f6b5-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},mountain_biking_man:{keywords:[\"transportation\",\"sports\",\"human\",\"race\",\"bike\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚵\" src=\"1f6b5.png\"/>',fitzpatrick_scale:true,category:\"activity\"},horse_racing:{keywords:[\"animal\",\"betting\",\"competition\",\"gambling\",\"luck\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏇\" src=\"1f3c7.png\"/>',fitzpatrick_scale:true,category:\"activity\"},business_suit_levitating:{keywords:[\"suit\",\"business\",\"levitate\",\"hover\",\"jump\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕴\" src=\"1f574.png\"/>',fitzpatrick_scale:true,category:\"activity\"},trophy:{keywords:[\"win\",\"award\",\"contest\",\"place\",\"ftw\",\"ceremony\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏆\" src=\"1f3c6.png\"/>',fitzpatrick_scale:false,category:\"activity\"},running_shirt_with_sash:{keywords:[\"play\",\"pageant\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎽\" src=\"1f3bd.png\"/>',fitzpatrick_scale:false,category:\"activity\"},medal_sports:{keywords:[\"award\",\"winning\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏅\" src=\"1f3c5.png\"/>',fitzpatrick_scale:false,category:\"activity\"},medal_military:{keywords:[\"award\",\"winning\",\"army\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎖\" src=\"1f396.png\"/>',fitzpatrick_scale:false,category:\"activity\"},\"1st_place_medal\":{keywords:[\"award\",\"winning\",\"first\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥇\" src=\"1f947.png\"/>',fitzpatrick_scale:false,category:\"activity\"},\"2nd_place_medal\":{keywords:[\"award\",\"second\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥈\" src=\"1f948.png\"/>',fitzpatrick_scale:false,category:\"activity\"},\"3rd_place_medal\":{keywords:[\"award\",\"third\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥉\" src=\"1f949.png\"/>',fitzpatrick_scale:false,category:\"activity\"},reminder_ribbon:{keywords:[\"sports\",\"cause\",\"support\",\"awareness\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎗\" src=\"1f397.png\"/>',fitzpatrick_scale:false,category:\"activity\"},rosette:{keywords:[\"flower\",\"decoration\",\"military\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏵\" src=\"1f3f5.png\"/>',fitzpatrick_scale:false,category:\"activity\"},ticket:{keywords:[\"event\",\"concert\",\"pass\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎫\" src=\"1f3ab.png\"/>',fitzpatrick_scale:false,category:\"activity\"},tickets:{keywords:[\"sports\",\"concert\",\"entrance\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎟\" src=\"1f39f.png\"/>',fitzpatrick_scale:false,category:\"activity\"},performing_arts:{keywords:[\"acting\",\"theater\",\"drama\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎭\" src=\"1f3ad.png\"/>',fitzpatrick_scale:false,category:\"activity\"},art:{keywords:[\"design\",\"paint\",\"draw\",\"colors\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎨\" src=\"1f3a8.png\"/>',fitzpatrick_scale:false,category:\"activity\"},circus_tent:{keywords:[\"festival\",\"carnival\",\"party\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎪\" src=\"1f3aa.png\"/>',fitzpatrick_scale:false,category:\"activity\"},woman_juggling:{keywords:[\"juggle\",\"balance\",\"skill\",\"multitask\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤹‍♀️\" src=\"1f939-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},man_juggling:{keywords:[\"juggle\",\"balance\",\"skill\",\"multitask\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤹‍♂️\" src=\"1f939-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},microphone:{keywords:[\"sound\",\"music\",\"PA\",\"sing\",\"talkshow\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎤\" src=\"1f3a4.png\"/>',fitzpatrick_scale:false,category:\"activity\"},headphones:{keywords:[\"music\",\"score\",\"gadgets\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎧\" src=\"1f3a7.png\"/>',fitzpatrick_scale:false,category:\"activity\"},musical_score:{keywords:[\"treble\",\"clef\",\"compose\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎼\" src=\"1f3bc.png\"/>',fitzpatrick_scale:false,category:\"activity\"},musical_keyboard:{keywords:[\"piano\",\"instrument\",\"compose\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎹\" src=\"1f3b9.png\"/>',fitzpatrick_scale:false,category:\"activity\"},drum:{keywords:[\"music\",\"instrument\",\"drumsticks\",\"snare\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥁\" src=\"1f941.png\"/>',fitzpatrick_scale:false,category:\"activity\"},saxophone:{keywords:[\"music\",\"instrument\",\"jazz\",\"blues\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎷\" src=\"1f3b7.png\"/>',fitzpatrick_scale:false,category:\"activity\"},trumpet:{keywords:[\"music\",\"brass\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎺\" src=\"1f3ba.png\"/>',fitzpatrick_scale:false,category:\"activity\"},guitar:{keywords:[\"music\",\"instrument\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎸\" src=\"1f3b8.png\"/>',fitzpatrick_scale:false,category:\"activity\"},violin:{keywords:[\"music\",\"instrument\",\"orchestra\",\"symphony\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎻\" src=\"1f3bb.png\"/>',fitzpatrick_scale:false,category:\"activity\"},clapper:{keywords:[\"movie\",\"film\",\"record\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎬\" src=\"1f3ac.png\"/>',fitzpatrick_scale:false,category:\"activity\"},video_game:{keywords:[\"play\",\"console\",\"PS4\",\"controller\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎮\" src=\"1f3ae.png\"/>',fitzpatrick_scale:false,category:\"activity\"},space_invader:{keywords:[\"game\",\"arcade\",\"play\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👾\" src=\"1f47e.png\"/>',fitzpatrick_scale:false,category:\"activity\"},dart:{keywords:[\"game\",\"play\",\"bar\",\"target\",\"bullseye\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎯\" src=\"1f3af.png\"/>',fitzpatrick_scale:false,category:\"activity\"},game_die:{keywords:[\"dice\",\"random\",\"tabletop\",\"play\",\"luck\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎲\" src=\"1f3b2.png\"/>',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:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎰\" src=\"1f3b0.png\"/>',fitzpatrick_scale:false,category:\"activity\"},jigsaw:{keywords:[\"interlocking\",\"puzzle\",\"piece\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧩\" src=\"1f9e9.png\"/>',fitzpatrick_scale:false,category:\"activity\"},bowling:{keywords:[\"sports\",\"fun\",\"play\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎳\" src=\"1f3b3.png\"/>',fitzpatrick_scale:false,category:\"activity\"},red_car:{keywords:[\"red\",\"transportation\",\"vehicle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚗\" src=\"1f697.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},taxi:{keywords:[\"uber\",\"vehicle\",\"cars\",\"transportation\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚕\" src=\"1f695.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},blue_car:{keywords:[\"transportation\",\"vehicle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚙\" src=\"1f699.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},bus:{keywords:[\"car\",\"vehicle\",\"transportation\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚌\" src=\"1f68c.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},trolleybus:{keywords:[\"bart\",\"transportation\",\"vehicle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚎\" src=\"1f68e.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},racing_car:{keywords:[\"sports\",\"race\",\"fast\",\"formula\",\"f1\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏎\" src=\"1f3ce.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},police_car:{keywords:[\"vehicle\",\"cars\",\"transportation\",\"law\",\"legal\",\"enforcement\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚓\" src=\"1f693.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},ambulance:{keywords:[\"health\",\"911\",\"hospital\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚑\" src=\"1f691.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},fire_engine:{keywords:[\"transportation\",\"cars\",\"vehicle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚒\" src=\"1f692.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},minibus:{keywords:[\"vehicle\",\"car\",\"transportation\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚐\" src=\"1f690.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},truck:{keywords:[\"cars\",\"transportation\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚚\" src=\"1f69a.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},articulated_lorry:{keywords:[\"vehicle\",\"cars\",\"transportation\",\"express\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚛\" src=\"1f69b.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},tractor:{keywords:[\"vehicle\",\"car\",\"farming\",\"agriculture\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚜\" src=\"1f69c.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},kick_scooter:{keywords:[\"vehicle\",\"kick\",\"razor\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛴\" src=\"1f6f4.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},motorcycle:{keywords:[\"race\",\"sports\",\"fast\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏍\" src=\"1f3cd.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},bike:{keywords:[\"sports\",\"bicycle\",\"exercise\",\"hipster\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚲\" src=\"1f6b2.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},motor_scooter:{keywords:[\"vehicle\",\"vespa\",\"sasha\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛵\" src=\"1f6f5.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},rotating_light:{keywords:[\"police\",\"ambulance\",\"911\",\"emergency\",\"alert\",\"error\",\"pinged\",\"law\",\"legal\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚨\" src=\"1f6a8.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},oncoming_police_car:{keywords:[\"vehicle\",\"law\",\"legal\",\"enforcement\",\"911\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚔\" src=\"1f694.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},oncoming_bus:{keywords:[\"vehicle\",\"transportation\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚍\" src=\"1f68d.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},oncoming_automobile:{keywords:[\"car\",\"vehicle\",\"transportation\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚘\" src=\"1f698.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},oncoming_taxi:{keywords:[\"vehicle\",\"cars\",\"uber\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚖\" src=\"1f696.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},aerial_tramway:{keywords:[\"transportation\",\"vehicle\",\"ski\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚡\" src=\"1f6a1.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},mountain_cableway:{keywords:[\"transportation\",\"vehicle\",\"ski\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚠\" src=\"1f6a0.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},suspension_railway:{keywords:[\"vehicle\",\"transportation\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚟\" src=\"1f69f.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},railway_car:{keywords:[\"transportation\",\"vehicle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚃\" src=\"1f683.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},train:{keywords:[\"transportation\",\"vehicle\",\"carriage\",\"public\",\"travel\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚋\" src=\"1f68b.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},monorail:{keywords:[\"transportation\",\"vehicle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚝\" src=\"1f69d.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},bullettrain_side:{keywords:[\"transportation\",\"vehicle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚄\" src=\"1f684.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},bullettrain_front:{keywords:[\"transportation\",\"vehicle\",\"speed\",\"fast\",\"public\",\"travel\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚅\" src=\"1f685.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},light_rail:{keywords:[\"transportation\",\"vehicle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚈\" src=\"1f688.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},mountain_railway:{keywords:[\"transportation\",\"vehicle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚞\" src=\"1f69e.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},steam_locomotive:{keywords:[\"transportation\",\"vehicle\",\"train\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚂\" src=\"1f682.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},train2:{keywords:[\"transportation\",\"vehicle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚆\" src=\"1f686.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},metro:{keywords:[\"transportation\",\"blue-square\",\"mrt\",\"underground\",\"tube\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚇\" src=\"1f687.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},tram:{keywords:[\"transportation\",\"vehicle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚊\" src=\"1f68a.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},station:{keywords:[\"transportation\",\"vehicle\",\"public\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚉\" src=\"1f689.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},flying_saucer:{keywords:[\"transportation\",\"vehicle\",\"ufo\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛸\" src=\"1f6f8.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},helicopter:{keywords:[\"transportation\",\"vehicle\",\"fly\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚁\" src=\"1f681.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},small_airplane:{keywords:[\"flight\",\"transportation\",\"fly\",\"vehicle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛩\" src=\"1f6e9.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},airplane:{keywords:[\"vehicle\",\"transportation\",\"flight\",\"fly\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✈️\" src=\"2708.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},flight_departure:{keywords:[\"airport\",\"flight\",\"landing\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛫\" src=\"1f6eb.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},flight_arrival:{keywords:[\"airport\",\"flight\",\"boarding\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛬\" src=\"1f6ec.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},sailboat:{keywords:[\"ship\",\"summer\",\"transportation\",\"water\",\"sailing\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛵\" src=\"26f5.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},motor_boat:{keywords:[\"ship\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛥\" src=\"1f6e5.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},speedboat:{keywords:[\"ship\",\"transportation\",\"vehicle\",\"summer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚤\" src=\"1f6a4.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},ferry:{keywords:[\"boat\",\"ship\",\"yacht\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛴\" src=\"26f4.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},passenger_ship:{keywords:[\"yacht\",\"cruise\",\"ferry\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛳\" src=\"1f6f3.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},rocket:{keywords:[\"launch\",\"ship\",\"staffmode\",\"NASA\",\"outer space\",\"outer_space\",\"fly\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚀\" src=\"1f680.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},artificial_satellite:{keywords:[\"communication\",\"gps\",\"orbit\",\"spaceflight\",\"NASA\",\"ISS\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛰\" src=\"1f6f0.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},seat:{keywords:[\"sit\",\"airplane\",\"transport\",\"bus\",\"flight\",\"fly\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💺\" src=\"1f4ba.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},canoe:{keywords:[\"boat\",\"paddle\",\"water\",\"ship\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛶\" src=\"1f6f6.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},anchor:{keywords:[\"ship\",\"ferry\",\"sea\",\"boat\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⚓\" src=\"2693.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},construction:{keywords:[\"wip\",\"progress\",\"caution\",\"warning\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚧\" src=\"1f6a7.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},fuelpump:{keywords:[\"gas station\",\"petroleum\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛽\" src=\"26fd.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},busstop:{keywords:[\"transportation\",\"wait\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚏\" src=\"1f68f.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},vertical_traffic_light:{keywords:[\"transportation\",\"driving\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚦\" src=\"1f6a6.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},traffic_light:{keywords:[\"transportation\",\"signal\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚥\" src=\"1f6a5.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},checkered_flag:{keywords:[\"contest\",\"finishline\",\"race\",\"gokart\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏁\" src=\"1f3c1.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},ship:{keywords:[\"transportation\",\"titanic\",\"deploy\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚢\" src=\"1f6a2.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},ferris_wheel:{keywords:[\"photo\",\"carnival\",\"londoneye\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎡\" src=\"1f3a1.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},roller_coaster:{keywords:[\"carnival\",\"playground\",\"photo\",\"fun\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎢\" src=\"1f3a2.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},carousel_horse:{keywords:[\"photo\",\"carnival\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎠\" src=\"1f3a0.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},building_construction:{keywords:[\"wip\",\"working\",\"progress\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏗\" src=\"1f3d7.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},foggy:{keywords:[\"photo\",\"mountain\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌁\" src=\"1f301.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},tokyo_tower:{keywords:[\"photo\",\"japanese\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗼\" src=\"1f5fc.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},factory:{keywords:[\"building\",\"industry\",\"pollution\",\"smoke\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏭\" src=\"1f3ed.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},fountain:{keywords:[\"photo\",\"summer\",\"water\",\"fresh\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛲\" src=\"26f2.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},rice_scene:{keywords:[\"photo\",\"japan\",\"asia\",\"tsukimi\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎑\" src=\"1f391.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},mountain:{keywords:[\"photo\",\"nature\",\"environment\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛰\" src=\"26f0.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},mountain_snow:{keywords:[\"photo\",\"nature\",\"environment\",\"winter\",\"cold\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏔\" src=\"1f3d4.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},mount_fuji:{keywords:[\"photo\",\"mountain\",\"nature\",\"japanese\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗻\" src=\"1f5fb.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},volcano:{keywords:[\"photo\",\"nature\",\"disaster\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌋\" src=\"1f30b.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},japan:{keywords:[\"nation\",\"country\",\"japanese\",\"asia\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗾\" src=\"1f5fe.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},camping:{keywords:[\"photo\",\"outdoors\",\"tent\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏕\" src=\"1f3d5.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},tent:{keywords:[\"photo\",\"camping\",\"outdoors\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛺\" src=\"26fa.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},national_park:{keywords:[\"photo\",\"environment\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏞\" src=\"1f3de.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},motorway:{keywords:[\"road\",\"cupertino\",\"interstate\",\"highway\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛣\" src=\"1f6e3.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},railway_track:{keywords:[\"train\",\"transportation\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛤\" src=\"1f6e4.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},sunrise:{keywords:[\"morning\",\"view\",\"vacation\",\"photo\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌅\" src=\"1f305.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},sunrise_over_mountains:{keywords:[\"view\",\"vacation\",\"photo\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌄\" src=\"1f304.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},desert:{keywords:[\"photo\",\"warm\",\"saharah\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏜\" src=\"1f3dc.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},beach_umbrella:{keywords:[\"weather\",\"summer\",\"sunny\",\"sand\",\"mojito\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏖\" src=\"1f3d6.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},desert_island:{keywords:[\"photo\",\"tropical\",\"mojito\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏝\" src=\"1f3dd.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},city_sunrise:{keywords:[\"photo\",\"good morning\",\"dawn\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌇\" src=\"1f307.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},city_sunset:{keywords:[\"photo\",\"evening\",\"sky\",\"buildings\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌆\" src=\"1f306.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},cityscape:{keywords:[\"photo\",\"night life\",\"urban\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏙\" src=\"1f3d9.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},night_with_stars:{keywords:[\"evening\",\"city\",\"downtown\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌃\" src=\"1f303.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},bridge_at_night:{keywords:[\"photo\",\"sanfrancisco\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌉\" src=\"1f309.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},milky_way:{keywords:[\"photo\",\"space\",\"stars\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌌\" src=\"1f30c.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},stars:{keywords:[\"night\",\"photo\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌠\" src=\"1f320.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},sparkler:{keywords:[\"stars\",\"night\",\"shine\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎇\" src=\"1f387.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},fireworks:{keywords:[\"photo\",\"festival\",\"carnival\",\"congratulations\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎆\" src=\"1f386.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},rainbow:{keywords:[\"nature\",\"happy\",\"unicorn_face\",\"photo\",\"sky\",\"spring\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌈\" src=\"1f308.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},houses:{keywords:[\"buildings\",\"photo\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏘\" src=\"1f3d8.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},european_castle:{keywords:[\"building\",\"royalty\",\"history\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏰\" src=\"1f3f0.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},japanese_castle:{keywords:[\"photo\",\"building\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏯\" src=\"1f3ef.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},stadium:{keywords:[\"photo\",\"place\",\"sports\",\"concert\",\"venue\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏟\" src=\"1f3df.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},statue_of_liberty:{keywords:[\"american\",\"newyork\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗽\" src=\"1f5fd.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},house:{keywords:[\"building\",\"home\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏠\" src=\"1f3e0.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},house_with_garden:{keywords:[\"home\",\"plant\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏡\" src=\"1f3e1.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},derelict_house:{keywords:[\"abandon\",\"evict\",\"broken\",\"building\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏚\" src=\"1f3da.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},office:{keywords:[\"building\",\"bureau\",\"work\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏢\" src=\"1f3e2.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},department_store:{keywords:[\"building\",\"shopping\",\"mall\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏬\" src=\"1f3ec.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},post_office:{keywords:[\"building\",\"envelope\",\"communication\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏣\" src=\"1f3e3.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},european_post_office:{keywords:[\"building\",\"email\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏤\" src=\"1f3e4.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},hospital:{keywords:[\"building\",\"health\",\"surgery\",\"doctor\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏥\" src=\"1f3e5.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},bank:{keywords:[\"building\",\"money\",\"sales\",\"cash\",\"business\",\"enterprise\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏦\" src=\"1f3e6.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},hotel:{keywords:[\"building\",\"accomodation\",\"checkin\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏨\" src=\"1f3e8.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},convenience_store:{keywords:[\"building\",\"shopping\",\"groceries\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏪\" src=\"1f3ea.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},school:{keywords:[\"building\",\"student\",\"education\",\"learn\",\"teach\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏫\" src=\"1f3eb.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},love_hotel:{keywords:[\"like\",\"affection\",\"dating\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏩\" src=\"1f3e9.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},wedding:{keywords:[\"love\",\"like\",\"affection\",\"couple\",\"marriage\",\"bride\",\"groom\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💒\" src=\"1f492.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},classical_building:{keywords:[\"art\",\"culture\",\"history\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏛\" src=\"1f3db.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},church:{keywords:[\"building\",\"religion\",\"christ\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛪\" src=\"26ea.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},mosque:{keywords:[\"islam\",\"worship\",\"minaret\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕌\" src=\"1f54c.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},synagogue:{keywords:[\"judaism\",\"worship\",\"temple\",\"jewish\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕍\" src=\"1f54d.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},kaaba:{keywords:[\"mecca\",\"mosque\",\"islam\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕋\" src=\"1f54b.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},shinto_shrine:{keywords:[\"temple\",\"japan\",\"kyoto\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛩\" src=\"26e9.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},watch:{keywords:[\"time\",\"accessories\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⌚\" src=\"231a.png\"/>',fitzpatrick_scale:false,category:\"objects\"},iphone:{keywords:[\"technology\",\"apple\",\"gadgets\",\"dial\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📱\" src=\"1f4f1.png\"/>',fitzpatrick_scale:false,category:\"objects\"},calling:{keywords:[\"iphone\",\"incoming\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📲\" src=\"1f4f2.png\"/>',fitzpatrick_scale:false,category:\"objects\"},computer:{keywords:[\"technology\",\"laptop\",\"screen\",\"display\",\"monitor\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💻\" src=\"1f4bb.png\"/>',fitzpatrick_scale:false,category:\"objects\"},keyboard:{keywords:[\"technology\",\"computer\",\"type\",\"input\",\"text\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⌨\" src=\"2328.png\"/>',fitzpatrick_scale:false,category:\"objects\"},desktop_computer:{keywords:[\"technology\",\"computing\",\"screen\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🖥\" src=\"1f5a5.png\"/>',fitzpatrick_scale:false,category:\"objects\"},printer:{keywords:[\"paper\",\"ink\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🖨\" src=\"1f5a8.png\"/>',fitzpatrick_scale:false,category:\"objects\"},computer_mouse:{keywords:[\"click\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🖱\" src=\"1f5b1.png\"/>',fitzpatrick_scale:false,category:\"objects\"},trackball:{keywords:[\"technology\",\"trackpad\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🖲\" src=\"1f5b2.png\"/>',fitzpatrick_scale:false,category:\"objects\"},joystick:{keywords:[\"game\",\"play\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕹\" src=\"1f579.png\"/>',fitzpatrick_scale:false,category:\"objects\"},clamp:{keywords:[\"tool\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗜\" src=\"1f5dc.png\"/>',fitzpatrick_scale:false,category:\"objects\"},minidisc:{keywords:[\"technology\",\"record\",\"data\",\"disk\",\"90s\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💽\" src=\"1f4bd.png\"/>',fitzpatrick_scale:false,category:\"objects\"},floppy_disk:{keywords:[\"oldschool\",\"technology\",\"save\",\"90s\",\"80s\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💾\" src=\"1f4be.png\"/>',fitzpatrick_scale:false,category:\"objects\"},cd:{keywords:[\"technology\",\"dvd\",\"disk\",\"disc\",\"90s\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💿\" src=\"1f4bf.png\"/>',fitzpatrick_scale:false,category:\"objects\"},dvd:{keywords:[\"cd\",\"disk\",\"disc\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📀\" src=\"1f4c0.png\"/>',fitzpatrick_scale:false,category:\"objects\"},vhs:{keywords:[\"record\",\"video\",\"oldschool\",\"90s\",\"80s\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📼\" src=\"1f4fc.png\"/>',fitzpatrick_scale:false,category:\"objects\"},camera:{keywords:[\"gadgets\",\"photography\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📷\" src=\"1f4f7.png\"/>',fitzpatrick_scale:false,category:\"objects\"},camera_flash:{keywords:[\"photography\",\"gadgets\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📸\" src=\"1f4f8.png\"/>',fitzpatrick_scale:false,category:\"objects\"},video_camera:{keywords:[\"film\",\"record\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📹\" src=\"1f4f9.png\"/>',fitzpatrick_scale:false,category:\"objects\"},movie_camera:{keywords:[\"film\",\"record\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎥\" src=\"1f3a5.png\"/>',fitzpatrick_scale:false,category:\"objects\"},film_projector:{keywords:[\"video\",\"tape\",\"record\",\"movie\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📽\" src=\"1f4fd.png\"/>',fitzpatrick_scale:false,category:\"objects\"},film_strip:{keywords:[\"movie\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎞\" src=\"1f39e.png\"/>',fitzpatrick_scale:false,category:\"objects\"},telephone_receiver:{keywords:[\"technology\",\"communication\",\"dial\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📞\" src=\"1f4de.png\"/>',fitzpatrick_scale:false,category:\"objects\"},phone:{keywords:[\"technology\",\"communication\",\"dial\",\"telephone\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☎️\" src=\"260e.png\"/>',fitzpatrick_scale:false,category:\"objects\"},pager:{keywords:[\"bbcall\",\"oldschool\",\"90s\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📟\" src=\"1f4df.png\"/>',fitzpatrick_scale:false,category:\"objects\"},fax:{keywords:[\"communication\",\"technology\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📠\" src=\"1f4e0.png\"/>',fitzpatrick_scale:false,category:\"objects\"},tv:{keywords:[\"technology\",\"program\",\"oldschool\",\"show\",\"television\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📺\" src=\"1f4fa.png\"/>',fitzpatrick_scale:false,category:\"objects\"},radio:{keywords:[\"communication\",\"music\",\"podcast\",\"program\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📻\" src=\"1f4fb.png\"/>',fitzpatrick_scale:false,category:\"objects\"},studio_microphone:{keywords:[\"sing\",\"recording\",\"artist\",\"talkshow\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎙\" src=\"1f399.png\"/>',fitzpatrick_scale:false,category:\"objects\"},level_slider:{keywords:[\"scale\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎚\" src=\"1f39a.png\"/>',fitzpatrick_scale:false,category:\"objects\"},control_knobs:{keywords:[\"dial\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎛\" src=\"1f39b.png\"/>',fitzpatrick_scale:false,category:\"objects\"},compass:{keywords:[\"magnetic\",\"navigation\",\"orienteering\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧭\" src=\"1f9ed.png\"/>',fitzpatrick_scale:false,category:\"objects\"},stopwatch:{keywords:[\"time\",\"deadline\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⏱\" src=\"23f1.png\"/>',fitzpatrick_scale:false,category:\"objects\"},timer_clock:{keywords:[\"alarm\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⏲\" src=\"23f2.png\"/>',fitzpatrick_scale:false,category:\"objects\"},alarm_clock:{keywords:[\"time\",\"wake\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⏰\" src=\"23f0.png\"/>',fitzpatrick_scale:false,category:\"objects\"},mantelpiece_clock:{keywords:[\"time\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕰\" src=\"1f570.png\"/>',fitzpatrick_scale:false,category:\"objects\"},hourglass_flowing_sand:{keywords:[\"oldschool\",\"time\",\"countdown\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⏳\" src=\"23f3.png\"/>',fitzpatrick_scale:false,category:\"objects\"},hourglass:{keywords:[\"time\",\"clock\",\"oldschool\",\"limit\",\"exam\",\"quiz\",\"test\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⌛\" src=\"231b.png\"/>',fitzpatrick_scale:false,category:\"objects\"},satellite:{keywords:[\"communication\",\"future\",\"radio\",\"space\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📡\" src=\"1f4e1.png\"/>',fitzpatrick_scale:false,category:\"objects\"},battery:{keywords:[\"power\",\"energy\",\"sustain\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔋\" src=\"1f50b.png\"/>',fitzpatrick_scale:false,category:\"objects\"},electric_plug:{keywords:[\"charger\",\"power\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔌\" src=\"1f50c.png\"/>',fitzpatrick_scale:false,category:\"objects\"},bulb:{keywords:[\"light\",\"electricity\",\"idea\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💡\" src=\"1f4a1.png\"/>',fitzpatrick_scale:false,category:\"objects\"},flashlight:{keywords:[\"dark\",\"camping\",\"sight\",\"night\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔦\" src=\"1f526.png\"/>',fitzpatrick_scale:false,category:\"objects\"},candle:{keywords:[\"fire\",\"wax\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕯\" src=\"1f56f.png\"/>',fitzpatrick_scale:false,category:\"objects\"},fire_extinguisher:{keywords:[\"quench\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧯\" src=\"1f9ef.png\"/>',fitzpatrick_scale:false,category:\"objects\"},wastebasket:{keywords:[\"bin\",\"trash\",\"rubbish\",\"garbage\",\"toss\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗑\" src=\"1f5d1.png\"/>',fitzpatrick_scale:false,category:\"objects\"},oil_drum:{keywords:[\"barrell\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛢\" src=\"1f6e2.png\"/>',fitzpatrick_scale:false,category:\"objects\"},money_with_wings:{keywords:[\"dollar\",\"bills\",\"payment\",\"sale\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💸\" src=\"1f4b8.png\"/>',fitzpatrick_scale:false,category:\"objects\"},dollar:{keywords:[\"money\",\"sales\",\"bill\",\"currency\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💵\" src=\"1f4b5.png\"/>',fitzpatrick_scale:false,category:\"objects\"},yen:{keywords:[\"money\",\"sales\",\"japanese\",\"dollar\",\"currency\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💴\" src=\"1f4b4.png\"/>',fitzpatrick_scale:false,category:\"objects\"},euro:{keywords:[\"money\",\"sales\",\"dollar\",\"currency\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💶\" src=\"1f4b6.png\"/>',fitzpatrick_scale:false,category:\"objects\"},pound:{keywords:[\"british\",\"sterling\",\"money\",\"sales\",\"bills\",\"uk\",\"england\",\"currency\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💷\" src=\"1f4b7.png\"/>',fitzpatrick_scale:false,category:\"objects\"},moneybag:{keywords:[\"dollar\",\"payment\",\"coins\",\"sale\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💰\" src=\"1f4b0.png\"/>',fitzpatrick_scale:false,category:\"objects\"},credit_card:{keywords:[\"money\",\"sales\",\"dollar\",\"bill\",\"payment\",\"shopping\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💳\" src=\"1f4b3.png\"/>',fitzpatrick_scale:false,category:\"objects\"},gem:{keywords:[\"blue\",\"ruby\",\"diamond\",\"jewelry\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💎\" src=\"1f48e.png\"/>',fitzpatrick_scale:false,category:\"objects\"},balance_scale:{keywords:[\"law\",\"fairness\",\"weight\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⚖\" src=\"2696.png\"/>',fitzpatrick_scale:false,category:\"objects\"},toolbox:{keywords:[\"tools\",\"diy\",\"fix\",\"maintainer\",\"mechanic\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧰\" src=\"1f9f0.png\"/>',fitzpatrick_scale:false,category:\"objects\"},wrench:{keywords:[\"tools\",\"diy\",\"ikea\",\"fix\",\"maintainer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔧\" src=\"1f527.png\"/>',fitzpatrick_scale:false,category:\"objects\"},hammer:{keywords:[\"tools\",\"build\",\"create\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔨\" src=\"1f528.png\"/>',fitzpatrick_scale:false,category:\"objects\"},hammer_and_pick:{keywords:[\"tools\",\"build\",\"create\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⚒\" src=\"2692.png\"/>',fitzpatrick_scale:false,category:\"objects\"},hammer_and_wrench:{keywords:[\"tools\",\"build\",\"create\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛠\" src=\"1f6e0.png\"/>',fitzpatrick_scale:false,category:\"objects\"},pick:{keywords:[\"tools\",\"dig\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛏\" src=\"26cf.png\"/>',fitzpatrick_scale:false,category:\"objects\"},nut_and_bolt:{keywords:[\"handy\",\"tools\",\"fix\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔩\" src=\"1f529.png\"/>',fitzpatrick_scale:false,category:\"objects\"},gear:{keywords:[\"cog\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⚙\" src=\"2699.png\"/>',fitzpatrick_scale:false,category:\"objects\"},brick:{keywords:[\"bricks\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧱\" src=\"1f9f1.png\"/>',fitzpatrick_scale:false,category:\"objects\"},chains:{keywords:[\"lock\",\"arrest\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛓\" src=\"26d3.png\"/>',fitzpatrick_scale:false,category:\"objects\"},magnet:{keywords:[\"attraction\",\"magnetic\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧲\" src=\"1f9f2.png\"/>',fitzpatrick_scale:false,category:\"objects\"},gun:{keywords:[\"violence\",\"weapon\",\"pistol\",\"revolver\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔫\" src=\"1f52b.png\"/>',fitzpatrick_scale:false,category:\"objects\"},bomb:{keywords:[\"boom\",\"explode\",\"explosion\",\"terrorism\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💣\" src=\"1f4a3.png\"/>',fitzpatrick_scale:false,category:\"objects\"},firecracker:{keywords:[\"dynamite\",\"boom\",\"explode\",\"explosion\",\"explosive\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧨\" src=\"1f9e8.png\"/>',fitzpatrick_scale:false,category:\"objects\"},hocho:{keywords:[\"knife\",\"blade\",\"cutlery\",\"kitchen\",\"weapon\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔪\" src=\"1f52a.png\"/>',fitzpatrick_scale:false,category:\"objects\"},dagger:{keywords:[\"weapon\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗡\" src=\"1f5e1.png\"/>',fitzpatrick_scale:false,category:\"objects\"},crossed_swords:{keywords:[\"weapon\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⚔\" src=\"2694.png\"/>',fitzpatrick_scale:false,category:\"objects\"},shield:{keywords:[\"protection\",\"security\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛡\" src=\"1f6e1.png\"/>',fitzpatrick_scale:false,category:\"objects\"},smoking:{keywords:[\"kills\",\"tobacco\",\"cigarette\",\"joint\",\"smoke\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚬\" src=\"1f6ac.png\"/>',fitzpatrick_scale:false,category:\"objects\"},skull_and_crossbones:{keywords:[\"poison\",\"danger\",\"deadly\",\"scary\",\"death\",\"pirate\",\"evil\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☠\" src=\"2620.png\"/>',fitzpatrick_scale:false,category:\"objects\"},coffin:{keywords:[\"vampire\",\"dead\",\"die\",\"death\",\"rip\",\"graveyard\",\"cemetery\",\"casket\",\"funeral\",\"box\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⚰\" src=\"26b0.png\"/>',fitzpatrick_scale:false,category:\"objects\"},funeral_urn:{keywords:[\"dead\",\"die\",\"death\",\"rip\",\"ashes\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⚱\" src=\"26b1.png\"/>',fitzpatrick_scale:false,category:\"objects\"},amphora:{keywords:[\"vase\",\"jar\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏺\" src=\"1f3fa.png\"/>',fitzpatrick_scale:false,category:\"objects\"},crystal_ball:{keywords:[\"disco\",\"party\",\"magic\",\"circus\",\"fortune_teller\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔮\" src=\"1f52e.png\"/>',fitzpatrick_scale:false,category:\"objects\"},prayer_beads:{keywords:[\"dhikr\",\"religious\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📿\" src=\"1f4ff.png\"/>',fitzpatrick_scale:false,category:\"objects\"},nazar_amulet:{keywords:[\"bead\",\"charm\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧿\" src=\"1f9ff.png\"/>',fitzpatrick_scale:false,category:\"objects\"},barber:{keywords:[\"hair\",\"salon\",\"style\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💈\" src=\"1f488.png\"/>',fitzpatrick_scale:false,category:\"objects\"},alembic:{keywords:[\"distilling\",\"science\",\"experiment\",\"chemistry\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⚗\" src=\"2697.png\"/>',fitzpatrick_scale:false,category:\"objects\"},telescope:{keywords:[\"stars\",\"space\",\"zoom\",\"science\",\"astronomy\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔭\" src=\"1f52d.png\"/>',fitzpatrick_scale:false,category:\"objects\"},microscope:{keywords:[\"laboratory\",\"experiment\",\"zoomin\",\"science\",\"study\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔬\" src=\"1f52c.png\"/>',fitzpatrick_scale:false,category:\"objects\"},hole:{keywords:[\"embarrassing\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕳\" src=\"1f573.png\"/>',fitzpatrick_scale:false,category:\"objects\"},pill:{keywords:[\"health\",\"medicine\",\"doctor\",\"pharmacy\",\"drug\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💊\" src=\"1f48a.png\"/>',fitzpatrick_scale:false,category:\"objects\"},syringe:{keywords:[\"health\",\"hospital\",\"drugs\",\"blood\",\"medicine\",\"needle\",\"doctor\",\"nurse\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💉\" src=\"1f489.png\"/>',fitzpatrick_scale:false,category:\"objects\"},dna:{keywords:[\"biologist\",\"genetics\",\"life\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧬\" src=\"1f9ec.png\"/>',fitzpatrick_scale:false,category:\"objects\"},microbe:{keywords:[\"amoeba\",\"bacteria\",\"germs\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦠\" src=\"1f9a0.png\"/>',fitzpatrick_scale:false,category:\"objects\"},petri_dish:{keywords:[\"bacteria\",\"biology\",\"culture\",\"lab\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧫\" src=\"1f9eb.png\"/>',fitzpatrick_scale:false,category:\"objects\"},test_tube:{keywords:[\"chemistry\",\"experiment\",\"lab\",\"science\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧪\" src=\"1f9ea.png\"/>',fitzpatrick_scale:false,category:\"objects\"},thermometer:{keywords:[\"weather\",\"temperature\",\"hot\",\"cold\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌡\" src=\"1f321.png\"/>',fitzpatrick_scale:false,category:\"objects\"},broom:{keywords:[\"cleaning\",\"sweeping\",\"witch\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧹\" src=\"1f9f9.png\"/>',fitzpatrick_scale:false,category:\"objects\"},basket:{keywords:[\"laundry\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧺\" src=\"1f9fa.png\"/>',fitzpatrick_scale:false,category:\"objects\"},toilet_paper:{keywords:[\"roll\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧻\" src=\"1f9fb.png\"/>',fitzpatrick_scale:false,category:\"objects\"},label:{keywords:[\"sale\",\"tag\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏷\" src=\"1f3f7.png\"/>',fitzpatrick_scale:false,category:\"objects\"},bookmark:{keywords:[\"favorite\",\"label\",\"save\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔖\" src=\"1f516.png\"/>',fitzpatrick_scale:false,category:\"objects\"},toilet:{keywords:[\"restroom\",\"wc\",\"washroom\",\"bathroom\",\"potty\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚽\" src=\"1f6bd.png\"/>',fitzpatrick_scale:false,category:\"objects\"},shower:{keywords:[\"clean\",\"water\",\"bathroom\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚿\" src=\"1f6bf.png\"/>',fitzpatrick_scale:false,category:\"objects\"},bathtub:{keywords:[\"clean\",\"shower\",\"bathroom\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛁\" src=\"1f6c1.png\"/>',fitzpatrick_scale:false,category:\"objects\"},soap:{keywords:[\"bar\",\"bathing\",\"cleaning\",\"lather\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧼\" src=\"1f9fc.png\"/>',fitzpatrick_scale:false,category:\"objects\"},sponge:{keywords:[\"absorbing\",\"cleaning\",\"porous\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧽\" src=\"1f9fd.png\"/>',fitzpatrick_scale:false,category:\"objects\"},lotion_bottle:{keywords:[\"moisturizer\",\"sunscreen\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧴\" src=\"1f9f4.png\"/>',fitzpatrick_scale:false,category:\"objects\"},key:{keywords:[\"lock\",\"door\",\"password\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔑\" src=\"1f511.png\"/>',fitzpatrick_scale:false,category:\"objects\"},old_key:{keywords:[\"lock\",\"door\",\"password\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗝\" src=\"1f5dd.png\"/>',fitzpatrick_scale:false,category:\"objects\"},couch_and_lamp:{keywords:[\"read\",\"chill\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛋\" src=\"1f6cb.png\"/>',fitzpatrick_scale:false,category:\"objects\"},sleeping_bed:{keywords:[\"bed\",\"rest\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛌\" src=\"1f6cc.png\"/>',fitzpatrick_scale:true,category:\"objects\"},bed:{keywords:[\"sleep\",\"rest\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛏\" src=\"1f6cf.png\"/>',fitzpatrick_scale:false,category:\"objects\"},door:{keywords:[\"house\",\"entry\",\"exit\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚪\" src=\"1f6aa.png\"/>',fitzpatrick_scale:false,category:\"objects\"},bellhop_bell:{keywords:[\"service\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛎\" src=\"1f6ce.png\"/>',fitzpatrick_scale:false,category:\"objects\"},teddy_bear:{keywords:[\"plush\",\"stuffed\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧸\" src=\"1f9f8.png\"/>',fitzpatrick_scale:false,category:\"objects\"},framed_picture:{keywords:[\"photography\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🖼\" src=\"1f5bc.png\"/>',fitzpatrick_scale:false,category:\"objects\"},world_map:{keywords:[\"location\",\"direction\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗺\" src=\"1f5fa.png\"/>',fitzpatrick_scale:false,category:\"objects\"},parasol_on_ground:{keywords:[\"weather\",\"summer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛱\" src=\"26f1.png\"/>',fitzpatrick_scale:false,category:\"objects\"},moyai:{keywords:[\"rock\",\"easter island\",\"moai\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗿\" src=\"1f5ff.png\"/>',fitzpatrick_scale:false,category:\"objects\"},shopping:{keywords:[\"mall\",\"buy\",\"purchase\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛍\" src=\"1f6cd.png\"/>',fitzpatrick_scale:false,category:\"objects\"},shopping_cart:{keywords:[\"trolley\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛒\" src=\"1f6d2.png\"/>',fitzpatrick_scale:false,category:\"objects\"},balloon:{keywords:[\"party\",\"celebration\",\"birthday\",\"circus\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎈\" src=\"1f388.png\"/>',fitzpatrick_scale:false,category:\"objects\"},flags:{keywords:[\"fish\",\"japanese\",\"koinobori\",\"carp\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎏\" src=\"1f38f.png\"/>',fitzpatrick_scale:false,category:\"objects\"},ribbon:{keywords:[\"decoration\",\"pink\",\"girl\",\"bowtie\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎀\" src=\"1f380.png\"/>',fitzpatrick_scale:false,category:\"objects\"},gift:{keywords:[\"present\",\"birthday\",\"christmas\",\"xmas\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎁\" src=\"1f381.png\"/>',fitzpatrick_scale:false,category:\"objects\"},confetti_ball:{keywords:[\"festival\",\"party\",\"birthday\",\"circus\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎊\" src=\"1f38a.png\"/>',fitzpatrick_scale:false,category:\"objects\"},tada:{keywords:[\"party\",\"congratulations\",\"birthday\",\"magic\",\"circus\",\"celebration\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎉\" src=\"1f389.png\"/>',fitzpatrick_scale:false,category:\"objects\"},dolls:{keywords:[\"japanese\",\"toy\",\"kimono\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎎\" src=\"1f38e.png\"/>',fitzpatrick_scale:false,category:\"objects\"},wind_chime:{keywords:[\"nature\",\"ding\",\"spring\",\"bell\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎐\" src=\"1f390.png\"/>',fitzpatrick_scale:false,category:\"objects\"},crossed_flags:{keywords:[\"japanese\",\"nation\",\"country\",\"border\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎌\" src=\"1f38c.png\"/>',fitzpatrick_scale:false,category:\"objects\"},izakaya_lantern:{keywords:[\"light\",\"paper\",\"halloween\",\"spooky\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏮\" src=\"1f3ee.png\"/>',fitzpatrick_scale:false,category:\"objects\"},red_envelope:{keywords:[\"gift\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧧\" src=\"1f9e7.png\"/>',fitzpatrick_scale:false,category:\"objects\"},email:{keywords:[\"letter\",\"postal\",\"inbox\",\"communication\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✉️\" src=\"2709.png\"/>',fitzpatrick_scale:false,category:\"objects\"},envelope_with_arrow:{keywords:[\"email\",\"communication\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📩\" src=\"1f4e9.png\"/>',fitzpatrick_scale:false,category:\"objects\"},incoming_envelope:{keywords:[\"email\",\"inbox\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📨\" src=\"1f4e8.png\"/>',fitzpatrick_scale:false,category:\"objects\"},\"e-mail\":{keywords:[\"communication\",\"inbox\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📧\" src=\"1f4e7.png\"/>',fitzpatrick_scale:false,category:\"objects\"},love_letter:{keywords:[\"email\",\"like\",\"affection\",\"envelope\",\"valentines\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💌\" src=\"1f48c.png\"/>',fitzpatrick_scale:false,category:\"objects\"},postbox:{keywords:[\"email\",\"letter\",\"envelope\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📮\" src=\"1f4ee.png\"/>',fitzpatrick_scale:false,category:\"objects\"},mailbox_closed:{keywords:[\"email\",\"communication\",\"inbox\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📪\" src=\"1f4ea.png\"/>',fitzpatrick_scale:false,category:\"objects\"},mailbox:{keywords:[\"email\",\"inbox\",\"communication\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📫\" src=\"1f4eb.png\"/>',fitzpatrick_scale:false,category:\"objects\"},mailbox_with_mail:{keywords:[\"email\",\"inbox\",\"communication\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📬\" src=\"1f4ec.png\"/>',fitzpatrick_scale:false,category:\"objects\"},mailbox_with_no_mail:{keywords:[\"email\",\"inbox\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📭\" src=\"1f4ed.png\"/>',fitzpatrick_scale:false,category:\"objects\"},package:{keywords:[\"mail\",\"gift\",\"cardboard\",\"box\",\"moving\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📦\" src=\"1f4e6.png\"/>',fitzpatrick_scale:false,category:\"objects\"},postal_horn:{keywords:[\"instrument\",\"music\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📯\" src=\"1f4ef.png\"/>',fitzpatrick_scale:false,category:\"objects\"},inbox_tray:{keywords:[\"email\",\"documents\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📥\" src=\"1f4e5.png\"/>',fitzpatrick_scale:false,category:\"objects\"},outbox_tray:{keywords:[\"inbox\",\"email\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📤\" src=\"1f4e4.png\"/>',fitzpatrick_scale:false,category:\"objects\"},scroll:{keywords:[\"documents\",\"ancient\",\"history\",\"paper\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📜\" src=\"1f4dc.png\"/>',fitzpatrick_scale:false,category:\"objects\"},page_with_curl:{keywords:[\"documents\",\"office\",\"paper\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📃\" src=\"1f4c3.png\"/>',fitzpatrick_scale:false,category:\"objects\"},bookmark_tabs:{keywords:[\"favorite\",\"save\",\"order\",\"tidy\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📑\" src=\"1f4d1.png\"/>',fitzpatrick_scale:false,category:\"objects\"},receipt:{keywords:[\"accounting\",\"expenses\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧾\" src=\"1f9fe.png\"/>',fitzpatrick_scale:false,category:\"objects\"},bar_chart:{keywords:[\"graph\",\"presentation\",\"stats\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📊\" src=\"1f4ca.png\"/>',fitzpatrick_scale:false,category:\"objects\"},chart_with_upwards_trend:{keywords:[\"graph\",\"presentation\",\"stats\",\"recovery\",\"business\",\"economics\",\"money\",\"sales\",\"good\",\"success\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📈\" src=\"1f4c8.png\"/>',fitzpatrick_scale:false,category:\"objects\"},chart_with_downwards_trend:{keywords:[\"graph\",\"presentation\",\"stats\",\"recession\",\"business\",\"economics\",\"money\",\"sales\",\"bad\",\"failure\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📉\" src=\"1f4c9.png\"/>',fitzpatrick_scale:false,category:\"objects\"},page_facing_up:{keywords:[\"documents\",\"office\",\"paper\",\"information\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📄\" src=\"1f4c4.png\"/>',fitzpatrick_scale:false,category:\"objects\"},date:{keywords:[\"calendar\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📅\" src=\"1f4c5.png\"/>',fitzpatrick_scale:false,category:\"objects\"},calendar:{keywords:[\"schedule\",\"date\",\"planning\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📆\" src=\"1f4c6.png\"/>',fitzpatrick_scale:false,category:\"objects\"},spiral_calendar:{keywords:[\"date\",\"schedule\",\"planning\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗓\" src=\"1f5d3.png\"/>',fitzpatrick_scale:false,category:\"objects\"},card_index:{keywords:[\"business\",\"stationery\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📇\" src=\"1f4c7.png\"/>',fitzpatrick_scale:false,category:\"objects\"},card_file_box:{keywords:[\"business\",\"stationery\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗃\" src=\"1f5c3.png\"/>',fitzpatrick_scale:false,category:\"objects\"},ballot_box:{keywords:[\"election\",\"vote\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗳\" src=\"1f5f3.png\"/>',fitzpatrick_scale:false,category:\"objects\"},file_cabinet:{keywords:[\"filing\",\"organizing\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗄\" src=\"1f5c4.png\"/>',fitzpatrick_scale:false,category:\"objects\"},clipboard:{keywords:[\"stationery\",\"documents\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📋\" src=\"1f4cb.png\"/>',fitzpatrick_scale:false,category:\"objects\"},spiral_notepad:{keywords:[\"memo\",\"stationery\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗒\" src=\"1f5d2.png\"/>',fitzpatrick_scale:false,category:\"objects\"},file_folder:{keywords:[\"documents\",\"business\",\"office\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📁\" src=\"1f4c1.png\"/>',fitzpatrick_scale:false,category:\"objects\"},open_file_folder:{keywords:[\"documents\",\"load\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📂\" src=\"1f4c2.png\"/>',fitzpatrick_scale:false,category:\"objects\"},card_index_dividers:{keywords:[\"organizing\",\"business\",\"stationery\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗂\" src=\"1f5c2.png\"/>',fitzpatrick_scale:false,category:\"objects\"},newspaper_roll:{keywords:[\"press\",\"headline\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗞\" src=\"1f5de.png\"/>',fitzpatrick_scale:false,category:\"objects\"},newspaper:{keywords:[\"press\",\"headline\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📰\" src=\"1f4f0.png\"/>',fitzpatrick_scale:false,category:\"objects\"},notebook:{keywords:[\"stationery\",\"record\",\"notes\",\"paper\",\"study\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📓\" src=\"1f4d3.png\"/>',fitzpatrick_scale:false,category:\"objects\"},closed_book:{keywords:[\"read\",\"library\",\"knowledge\",\"textbook\",\"learn\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📕\" src=\"1f4d5.png\"/>',fitzpatrick_scale:false,category:\"objects\"},green_book:{keywords:[\"read\",\"library\",\"knowledge\",\"study\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📗\" src=\"1f4d7.png\"/>',fitzpatrick_scale:false,category:\"objects\"},blue_book:{keywords:[\"read\",\"library\",\"knowledge\",\"learn\",\"study\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📘\" src=\"1f4d8.png\"/>',fitzpatrick_scale:false,category:\"objects\"},orange_book:{keywords:[\"read\",\"library\",\"knowledge\",\"textbook\",\"study\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📙\" src=\"1f4d9.png\"/>',fitzpatrick_scale:false,category:\"objects\"},notebook_with_decorative_cover:{keywords:[\"classroom\",\"notes\",\"record\",\"paper\",\"study\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📔\" src=\"1f4d4.png\"/>',fitzpatrick_scale:false,category:\"objects\"},ledger:{keywords:[\"notes\",\"paper\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📒\" src=\"1f4d2.png\"/>',fitzpatrick_scale:false,category:\"objects\"},books:{keywords:[\"literature\",\"library\",\"study\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📚\" src=\"1f4da.png\"/>',fitzpatrick_scale:false,category:\"objects\"},open_book:{keywords:[\"book\",\"read\",\"library\",\"knowledge\",\"literature\",\"learn\",\"study\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📖\" src=\"1f4d6.png\"/>',fitzpatrick_scale:false,category:\"objects\"},safety_pin:{keywords:[\"diaper\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧷\" src=\"1f9f7.png\"/>',fitzpatrick_scale:false,category:\"objects\"},link:{keywords:[\"rings\",\"url\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔗\" src=\"1f517.png\"/>',fitzpatrick_scale:false,category:\"objects\"},paperclip:{keywords:[\"documents\",\"stationery\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📎\" src=\"1f4ce.png\"/>',fitzpatrick_scale:false,category:\"objects\"},paperclips:{keywords:[\"documents\",\"stationery\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🖇\" src=\"1f587.png\"/>',fitzpatrick_scale:false,category:\"objects\"},scissors:{keywords:[\"stationery\",\"cut\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✂️\" src=\"2702.png\"/>',fitzpatrick_scale:false,category:\"objects\"},triangular_ruler:{keywords:[\"stationery\",\"math\",\"architect\",\"sketch\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📐\" src=\"1f4d0.png\"/>',fitzpatrick_scale:false,category:\"objects\"},straight_ruler:{keywords:[\"stationery\",\"calculate\",\"length\",\"math\",\"school\",\"drawing\",\"architect\",\"sketch\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📏\" src=\"1f4cf.png\"/>',fitzpatrick_scale:false,category:\"objects\"},abacus:{keywords:[\"calculation\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧮\" src=\"1f9ee.png\"/>',fitzpatrick_scale:false,category:\"objects\"},pushpin:{keywords:[\"stationery\",\"mark\",\"here\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📌\" src=\"1f4cc.png\"/>',fitzpatrick_scale:false,category:\"objects\"},round_pushpin:{keywords:[\"stationery\",\"location\",\"map\",\"here\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📍\" src=\"1f4cd.png\"/>',fitzpatrick_scale:false,category:\"objects\"},triangular_flag_on_post:{keywords:[\"mark\",\"milestone\",\"place\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚩\" src=\"1f6a9.png\"/>',fitzpatrick_scale:false,category:\"objects\"},white_flag:{keywords:[\"losing\",\"loser\",\"lost\",\"surrender\",\"give up\",\"fail\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏳\" src=\"1f3f3.png\"/>',fitzpatrick_scale:false,category:\"objects\"},black_flag:{keywords:[\"pirate\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏴\" src=\"1f3f4.png\"/>',fitzpatrick_scale:false,category:\"objects\"},rainbow_flag:{keywords:[\"flag\",\"rainbow\",\"pride\",\"gay\",\"lgbt\",\"glbt\",\"queer\",\"homosexual\",\"lesbian\",\"bisexual\",\"transgender\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏳️‍🌈\" src=\"1f3f3-fe0f-200d-1f308.png\"/>',fitzpatrick_scale:false,category:\"objects\"},closed_lock_with_key:{keywords:[\"security\",\"privacy\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔐\" src=\"1f510.png\"/>',fitzpatrick_scale:false,category:\"objects\"},lock:{keywords:[\"security\",\"password\",\"padlock\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔒\" src=\"1f512.png\"/>',fitzpatrick_scale:false,category:\"objects\"},unlock:{keywords:[\"privacy\",\"security\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔓\" src=\"1f513.png\"/>',fitzpatrick_scale:false,category:\"objects\"},lock_with_ink_pen:{keywords:[\"security\",\"secret\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔏\" src=\"1f50f.png\"/>',fitzpatrick_scale:false,category:\"objects\"},pen:{keywords:[\"stationery\",\"writing\",\"write\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🖊\" src=\"1f58a.png\"/>',fitzpatrick_scale:false,category:\"objects\"},fountain_pen:{keywords:[\"stationery\",\"writing\",\"write\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🖋\" src=\"1f58b.png\"/>',fitzpatrick_scale:false,category:\"objects\"},black_nib:{keywords:[\"pen\",\"stationery\",\"writing\",\"write\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✒️\" src=\"2712.png\"/>',fitzpatrick_scale:false,category:\"objects\"},memo:{keywords:[\"write\",\"documents\",\"stationery\",\"pencil\",\"paper\",\"writing\",\"legal\",\"exam\",\"quiz\",\"test\",\"study\",\"compose\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📝\" src=\"1f4dd.png\"/>',fitzpatrick_scale:false,category:\"objects\"},pencil2:{keywords:[\"stationery\",\"write\",\"paper\",\"writing\",\"school\",\"study\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✏️\" src=\"270f.png\"/>',fitzpatrick_scale:false,category:\"objects\"},crayon:{keywords:[\"drawing\",\"creativity\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🖍\" src=\"1f58d.png\"/>',fitzpatrick_scale:false,category:\"objects\"},paintbrush:{keywords:[\"drawing\",\"creativity\",\"art\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🖌\" src=\"1f58c.png\"/>',fitzpatrick_scale:false,category:\"objects\"},mag:{keywords:[\"search\",\"zoom\",\"find\",\"detective\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔍\" src=\"1f50d.png\"/>',fitzpatrick_scale:false,category:\"objects\"},mag_right:{keywords:[\"search\",\"zoom\",\"find\",\"detective\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔎\" src=\"1f50e.png\"/>',fitzpatrick_scale:false,category:\"objects\"},heart:{keywords:[\"love\",\"like\",\"valentines\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"❤️\" src=\"2764.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},orange_heart:{keywords:[\"love\",\"like\",\"affection\",\"valentines\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧡\" src=\"1f9e1.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},yellow_heart:{keywords:[\"love\",\"like\",\"affection\",\"valentines\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💛\" src=\"1f49b.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},green_heart:{keywords:[\"love\",\"like\",\"affection\",\"valentines\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💚\" src=\"1f49a.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},blue_heart:{keywords:[\"love\",\"like\",\"affection\",\"valentines\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💙\" src=\"1f499.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},purple_heart:{keywords:[\"love\",\"like\",\"affection\",\"valentines\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💜\" src=\"1f49c.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},black_heart:{keywords:[\"evil\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🖤\" src=\"1f5a4.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},broken_heart:{keywords:[\"sad\",\"sorry\",\"break\",\"heart\",\"heartbreak\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💔\" src=\"1f494.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},heavy_heart_exclamation:{keywords:[\"decoration\",\"love\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"❣\" src=\"2763.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},two_hearts:{keywords:[\"love\",\"like\",\"affection\",\"valentines\",\"heart\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💕\" src=\"1f495.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},revolving_hearts:{keywords:[\"love\",\"like\",\"affection\",\"valentines\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💞\" src=\"1f49e.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},heartbeat:{keywords:[\"love\",\"like\",\"affection\",\"valentines\",\"pink\",\"heart\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💓\" src=\"1f493.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},heartpulse:{keywords:[\"like\",\"love\",\"affection\",\"valentines\",\"pink\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💗\" src=\"1f497.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},sparkling_heart:{keywords:[\"love\",\"like\",\"affection\",\"valentines\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💖\" src=\"1f496.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},cupid:{keywords:[\"love\",\"like\",\"heart\",\"affection\",\"valentines\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💘\" src=\"1f498.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},gift_heart:{keywords:[\"love\",\"valentines\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💝\" src=\"1f49d.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},heart_decoration:{keywords:[\"purple-square\",\"love\",\"like\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💟\" src=\"1f49f.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},peace_symbol:{keywords:[\"hippie\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☮\" src=\"262e.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},latin_cross:{keywords:[\"christianity\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✝\" src=\"271d.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},star_and_crescent:{keywords:[\"islam\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☪\" src=\"262a.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},om:{keywords:[\"hinduism\",\"buddhism\",\"sikhism\",\"jainism\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕉\" src=\"1f549.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},wheel_of_dharma:{keywords:[\"hinduism\",\"buddhism\",\"sikhism\",\"jainism\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☸\" src=\"2638.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},star_of_david:{keywords:[\"judaism\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✡\" src=\"2721.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},six_pointed_star:{keywords:[\"purple-square\",\"religion\",\"jewish\",\"hexagram\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔯\" src=\"1f52f.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},menorah:{keywords:[\"hanukkah\",\"candles\",\"jewish\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕎\" src=\"1f54e.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},yin_yang:{keywords:[\"balance\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☯\" src=\"262f.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},orthodox_cross:{keywords:[\"suppedaneum\",\"religion\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☦\" src=\"2626.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},place_of_worship:{keywords:[\"religion\",\"church\",\"temple\",\"prayer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛐\" src=\"1f6d0.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},ophiuchus:{keywords:[\"sign\",\"purple-square\",\"constellation\",\"astrology\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛎\" src=\"26ce.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},aries:{keywords:[\"sign\",\"purple-square\",\"zodiac\",\"astrology\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♈\" src=\"2648.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},taurus:{keywords:[\"purple-square\",\"sign\",\"zodiac\",\"astrology\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♉\" src=\"2649.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},gemini:{keywords:[\"sign\",\"zodiac\",\"purple-square\",\"astrology\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♊\" src=\"264a.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},cancer:{keywords:[\"sign\",\"zodiac\",\"purple-square\",\"astrology\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♋\" src=\"264b.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},leo:{keywords:[\"sign\",\"purple-square\",\"zodiac\",\"astrology\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♌\" src=\"264c.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},virgo:{keywords:[\"sign\",\"zodiac\",\"purple-square\",\"astrology\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♍\" src=\"264d.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},libra:{keywords:[\"sign\",\"purple-square\",\"zodiac\",\"astrology\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♎\" src=\"264e.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},scorpius:{keywords:[\"sign\",\"zodiac\",\"purple-square\",\"astrology\",\"scorpio\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♏\" src=\"264f.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},sagittarius:{keywords:[\"sign\",\"zodiac\",\"purple-square\",\"astrology\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♐\" src=\"2650.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},capricorn:{keywords:[\"sign\",\"zodiac\",\"purple-square\",\"astrology\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♑\" src=\"2651.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},aquarius:{keywords:[\"sign\",\"purple-square\",\"zodiac\",\"astrology\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♒\" src=\"2652.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},pisces:{keywords:[\"purple-square\",\"sign\",\"zodiac\",\"astrology\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♓\" src=\"2653.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},id:{keywords:[\"purple-square\",\"words\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🆔\" src=\"1f194.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},atom_symbol:{keywords:[\"science\",\"physics\",\"chemistry\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⚛\" src=\"269b.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},u7a7a:{keywords:[\"kanji\",\"japanese\",\"chinese\",\"empty\",\"sky\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🈳\" src=\"1f233.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},u5272:{keywords:[\"cut\",\"divide\",\"chinese\",\"kanji\",\"pink-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🈹\" src=\"1f239.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},radioactive:{keywords:[\"nuclear\",\"danger\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☢\" src=\"2622.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},biohazard:{keywords:[\"danger\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☣\" src=\"2623.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},mobile_phone_off:{keywords:[\"mute\",\"orange-square\",\"silence\",\"quiet\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📴\" src=\"1f4f4.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},vibration_mode:{keywords:[\"orange-square\",\"phone\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📳\" src=\"1f4f3.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},u6709:{keywords:[\"orange-square\",\"chinese\",\"have\",\"kanji\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🈶\" src=\"1f236.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},u7121:{keywords:[\"nothing\",\"chinese\",\"kanji\",\"japanese\",\"orange-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🈚\" src=\"1f21a.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},u7533:{keywords:[\"chinese\",\"japanese\",\"kanji\",\"orange-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🈸\" src=\"1f238.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},u55b6:{keywords:[\"japanese\",\"opening hours\",\"orange-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🈺\" src=\"1f23a.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},u6708:{keywords:[\"chinese\",\"month\",\"moon\",\"japanese\",\"orange-square\",\"kanji\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🈷️\" src=\"1f237.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},eight_pointed_black_star:{keywords:[\"orange-square\",\"shape\",\"polygon\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✴️\" src=\"2734.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},vs:{keywords:[\"words\",\"orange-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🆚\" src=\"1f19a.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},accept:{keywords:[\"ok\",\"good\",\"chinese\",\"kanji\",\"agree\",\"yes\",\"orange-circle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🉑\" src=\"1f251.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},white_flower:{keywords:[\"japanese\",\"spring\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💮\" src=\"1f4ae.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},ideograph_advantage:{keywords:[\"chinese\",\"kanji\",\"obtain\",\"get\",\"circle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🉐\" src=\"1f250.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},secret:{keywords:[\"privacy\",\"chinese\",\"sshh\",\"kanji\",\"red-circle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"㊙️\" src=\"3299.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},congratulations:{keywords:[\"chinese\",\"kanji\",\"japanese\",\"red-circle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"㊗️\" src=\"3297.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},u5408:{keywords:[\"japanese\",\"chinese\",\"join\",\"kanji\",\"red-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🈴\" src=\"1f234.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},u6e80:{keywords:[\"full\",\"chinese\",\"japanese\",\"red-square\",\"kanji\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🈵\" src=\"1f235.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},u7981:{keywords:[\"kanji\",\"japanese\",\"chinese\",\"forbidden\",\"limit\",\"restricted\",\"red-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🈲\" src=\"1f232.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},a:{keywords:[\"red-square\",\"alphabet\",\"letter\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🅰️\" src=\"1f170.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},b:{keywords:[\"red-square\",\"alphabet\",\"letter\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🅱️\" src=\"1f171.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},ab:{keywords:[\"red-square\",\"alphabet\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🆎\" src=\"1f18e.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},cl:{keywords:[\"alphabet\",\"words\",\"red-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🆑\" src=\"1f191.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},o2:{keywords:[\"alphabet\",\"red-square\",\"letter\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🅾️\" src=\"1f17e.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},sos:{keywords:[\"help\",\"red-square\",\"words\",\"emergency\",\"911\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🆘\" src=\"1f198.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},no_entry:{keywords:[\"limit\",\"security\",\"privacy\",\"bad\",\"denied\",\"stop\",\"circle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛔\" src=\"26d4.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},name_badge:{keywords:[\"fire\",\"forbid\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📛\" src=\"1f4db.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},no_entry_sign:{keywords:[\"forbid\",\"stop\",\"limit\",\"denied\",\"disallow\",\"circle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚫\" src=\"1f6ab.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},x:{keywords:[\"no\",\"delete\",\"remove\",\"cancel\",\"red\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"❌\" src=\"274c.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},o:{keywords:[\"circle\",\"round\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⭕\" src=\"2b55.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},stop_sign:{keywords:[\"stop\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛑\" src=\"1f6d1.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},anger:{keywords:[\"angry\",\"mad\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💢\" src=\"1f4a2.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},hotsprings:{keywords:[\"bath\",\"warm\",\"relax\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♨️\" src=\"2668.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},no_pedestrians:{keywords:[\"rules\",\"crossing\",\"walking\",\"circle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚷\" src=\"1f6b7.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},do_not_litter:{keywords:[\"trash\",\"bin\",\"garbage\",\"circle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚯\" src=\"1f6af.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},no_bicycles:{keywords:[\"cyclist\",\"prohibited\",\"circle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚳\" src=\"1f6b3.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},\"non-potable_water\":{keywords:[\"drink\",\"faucet\",\"tap\",\"circle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚱\" src=\"1f6b1.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},underage:{keywords:[\"18\",\"drink\",\"pub\",\"night\",\"minor\",\"circle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔞\" src=\"1f51e.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},no_mobile_phones:{keywords:[\"iphone\",\"mute\",\"circle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📵\" src=\"1f4f5.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},exclamation:{keywords:[\"heavy_exclamation_mark\",\"danger\",\"surprise\",\"punctuation\",\"wow\",\"warning\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"❗\" src=\"2757.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},grey_exclamation:{keywords:[\"surprise\",\"punctuation\",\"gray\",\"wow\",\"warning\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"❕\" src=\"2755.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},question:{keywords:[\"doubt\",\"confused\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"❓\" src=\"2753.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},grey_question:{keywords:[\"doubts\",\"gray\",\"huh\",\"confused\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"❔\" src=\"2754.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},bangbang:{keywords:[\"exclamation\",\"surprise\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"‼️\" src=\"203c.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},interrobang:{keywords:[\"wat\",\"punctuation\",\"surprise\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⁉️\" src=\"2049.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},low_brightness:{keywords:[\"sun\",\"afternoon\",\"warm\",\"summer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔅\" src=\"1f505.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},high_brightness:{keywords:[\"sun\",\"light\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔆\" src=\"1f506.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},trident:{keywords:[\"weapon\",\"spear\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔱\" src=\"1f531.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},fleur_de_lis:{keywords:[\"decorative\",\"scout\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⚜\" src=\"269c.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},part_alternation_mark:{keywords:[\"graph\",\"presentation\",\"stats\",\"business\",\"economics\",\"bad\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"〽️\" src=\"303d.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},warning:{keywords:[\"exclamation\",\"wip\",\"alert\",\"error\",\"problem\",\"issue\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⚠️\" src=\"26a0.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},children_crossing:{keywords:[\"school\",\"warning\",\"danger\",\"sign\",\"driving\",\"yellow-diamond\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚸\" src=\"1f6b8.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},beginner:{keywords:[\"badge\",\"shield\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔰\" src=\"1f530.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},recycle:{keywords:[\"arrow\",\"environment\",\"garbage\",\"trash\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♻️\" src=\"267b.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},u6307:{keywords:[\"chinese\",\"point\",\"green-square\",\"kanji\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🈯\" src=\"1f22f.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},chart:{keywords:[\"green-square\",\"graph\",\"presentation\",\"stats\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💹\" src=\"1f4b9.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},sparkle:{keywords:[\"stars\",\"green-square\",\"awesome\",\"good\",\"fireworks\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"❇️\" src=\"2747.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},eight_spoked_asterisk:{keywords:[\"star\",\"sparkle\",\"green-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✳️\" src=\"2733.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},negative_squared_cross_mark:{keywords:[\"x\",\"green-square\",\"no\",\"deny\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"❎\" src=\"274e.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},white_check_mark:{keywords:[\"green-square\",\"ok\",\"agree\",\"vote\",\"election\",\"answer\",\"tick\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✅\" src=\"2705.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},diamond_shape_with_a_dot_inside:{keywords:[\"jewel\",\"blue\",\"gem\",\"crystal\",\"fancy\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💠\" src=\"1f4a0.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},cyclone:{keywords:[\"weather\",\"swirl\",\"blue\",\"cloud\",\"vortex\",\"spiral\",\"whirlpool\",\"spin\",\"tornado\",\"hurricane\",\"typhoon\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌀\" src=\"1f300.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},loop:{keywords:[\"tape\",\"cassette\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"➿\" src=\"27bf.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},globe_with_meridians:{keywords:[\"earth\",\"international\",\"world\",\"internet\",\"interweb\",\"i18n\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌐\" src=\"1f310.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},m:{keywords:[\"alphabet\",\"blue-circle\",\"letter\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"Ⓜ️\" src=\"24c2.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},atm:{keywords:[\"money\",\"sales\",\"cash\",\"blue-square\",\"payment\",\"bank\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏧\" src=\"1f3e7.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},sa:{keywords:[\"japanese\",\"blue-square\",\"katakana\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🈂️\" src=\"1f202.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},passport_control:{keywords:[\"custom\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛂\" src=\"1f6c2.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},customs:{keywords:[\"passport\",\"border\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛃\" src=\"1f6c3.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},baggage_claim:{keywords:[\"blue-square\",\"airport\",\"transport\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛄\" src=\"1f6c4.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},left_luggage:{keywords:[\"blue-square\",\"travel\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛅\" src=\"1f6c5.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},wheelchair:{keywords:[\"blue-square\",\"disabled\",\"a11y\",\"accessibility\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♿\" src=\"267f.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},no_smoking:{keywords:[\"cigarette\",\"blue-square\",\"smell\",\"smoke\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚭\" src=\"1f6ad.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},wc:{keywords:[\"toilet\",\"restroom\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚾\" src=\"1f6be.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},parking:{keywords:[\"cars\",\"blue-square\",\"alphabet\",\"letter\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🅿️\" src=\"1f17f.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},potable_water:{keywords:[\"blue-square\",\"liquid\",\"restroom\",\"cleaning\",\"faucet\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚰\" src=\"1f6b0.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},mens:{keywords:[\"toilet\",\"restroom\",\"wc\",\"blue-square\",\"gender\",\"male\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚹\" src=\"1f6b9.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},womens:{keywords:[\"purple-square\",\"woman\",\"female\",\"toilet\",\"loo\",\"restroom\",\"gender\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚺\" src=\"1f6ba.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},baby_symbol:{keywords:[\"orange-square\",\"child\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚼\" src=\"1f6bc.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},restroom:{keywords:[\"blue-square\",\"toilet\",\"refresh\",\"wc\",\"gender\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚻\" src=\"1f6bb.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},put_litter_in_its_place:{keywords:[\"blue-square\",\"sign\",\"human\",\"info\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚮\" src=\"1f6ae.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},cinema:{keywords:[\"blue-square\",\"record\",\"film\",\"movie\",\"curtain\",\"stage\",\"theater\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎦\" src=\"1f3a6.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},signal_strength:{keywords:[\"blue-square\",\"reception\",\"phone\",\"internet\",\"connection\",\"wifi\",\"bluetooth\",\"bars\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📶\" src=\"1f4f6.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},koko:{keywords:[\"blue-square\",\"here\",\"katakana\",\"japanese\",\"destination\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🈁\" src=\"1f201.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},ng:{keywords:[\"blue-square\",\"words\",\"shape\",\"icon\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🆖\" src=\"1f196.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},ok:{keywords:[\"good\",\"agree\",\"yes\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🆗\" src=\"1f197.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},up:{keywords:[\"blue-square\",\"above\",\"high\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🆙\" src=\"1f199.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},cool:{keywords:[\"words\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🆒\" src=\"1f192.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},new:{keywords:[\"blue-square\",\"words\",\"start\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🆕\" src=\"1f195.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},free:{keywords:[\"blue-square\",\"words\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🆓\" src=\"1f193.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},zero:{keywords:[\"0\",\"numbers\",\"blue-square\",\"null\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"0️⃣\" src=\"30-20e3.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},one:{keywords:[\"blue-square\",\"numbers\",\"1\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"1️⃣\" src=\"31-20e3.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},two:{keywords:[\"numbers\",\"2\",\"prime\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"2️⃣\" src=\"32-20e3.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},three:{keywords:[\"3\",\"numbers\",\"prime\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"3️⃣\" src=\"33-20e3.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},four:{keywords:[\"4\",\"numbers\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"4️⃣\" src=\"34-20e3.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},five:{keywords:[\"5\",\"numbers\",\"blue-square\",\"prime\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"5️⃣\" src=\"35-20e3.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},six:{keywords:[\"6\",\"numbers\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"6️⃣\" src=\"36-20e3.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},seven:{keywords:[\"7\",\"numbers\",\"blue-square\",\"prime\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"7️⃣\" src=\"37-20e3.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},eight:{keywords:[\"8\",\"blue-square\",\"numbers\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"8️⃣\" src=\"38-20e3.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},nine:{keywords:[\"blue-square\",\"numbers\",\"9\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"9️⃣\" src=\"39-20e3.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},keycap_ten:{keywords:[\"numbers\",\"10\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔟\" src=\"1f51f.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},asterisk:{keywords:[\"star\",\"keycap\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"*⃣\" src=\"2a-20e3.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},eject_button:{keywords:[\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⏏️\" src=\"23cf.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_forward:{keywords:[\"blue-square\",\"right\",\"direction\",\"play\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"▶️\" src=\"25b6.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},pause_button:{keywords:[\"pause\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⏸\" src=\"23f8.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},next_track_button:{keywords:[\"forward\",\"next\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⏭\" src=\"23ed.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},stop_button:{keywords:[\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⏹\" src=\"23f9.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},record_button:{keywords:[\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⏺\" src=\"23fa.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},play_or_pause_button:{keywords:[\"blue-square\",\"play\",\"pause\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⏯\" src=\"23ef.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},previous_track_button:{keywords:[\"backward\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⏮\" src=\"23ee.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},fast_forward:{keywords:[\"blue-square\",\"play\",\"speed\",\"continue\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⏩\" src=\"23e9.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},rewind:{keywords:[\"play\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⏪\" src=\"23ea.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},twisted_rightwards_arrows:{keywords:[\"blue-square\",\"shuffle\",\"music\",\"random\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔀\" src=\"1f500.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},repeat:{keywords:[\"loop\",\"record\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔁\" src=\"1f501.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},repeat_one:{keywords:[\"blue-square\",\"loop\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔂\" src=\"1f502.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_backward:{keywords:[\"blue-square\",\"left\",\"direction\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"◀️\" src=\"25c0.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_up_small:{keywords:[\"blue-square\",\"triangle\",\"direction\",\"point\",\"forward\",\"top\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔼\" src=\"1f53c.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_down_small:{keywords:[\"blue-square\",\"direction\",\"bottom\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔽\" src=\"1f53d.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_double_up:{keywords:[\"blue-square\",\"direction\",\"top\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⏫\" src=\"23eb.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_double_down:{keywords:[\"blue-square\",\"direction\",\"bottom\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⏬\" src=\"23ec.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_right:{keywords:[\"blue-square\",\"next\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"➡️\" src=\"27a1.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_left:{keywords:[\"blue-square\",\"previous\",\"back\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⬅️\" src=\"2b05.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_up:{keywords:[\"blue-square\",\"continue\",\"top\",\"direction\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⬆️\" src=\"2b06.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_down:{keywords:[\"blue-square\",\"direction\",\"bottom\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⬇️\" src=\"2b07.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_upper_right:{keywords:[\"blue-square\",\"point\",\"direction\",\"diagonal\",\"northeast\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"↗️\" src=\"2197.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_lower_right:{keywords:[\"blue-square\",\"direction\",\"diagonal\",\"southeast\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"↘️\" src=\"2198.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_lower_left:{keywords:[\"blue-square\",\"direction\",\"diagonal\",\"southwest\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"↙️\" src=\"2199.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_upper_left:{keywords:[\"blue-square\",\"point\",\"direction\",\"diagonal\",\"northwest\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"↖️\" src=\"2196.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_up_down:{keywords:[\"blue-square\",\"direction\",\"way\",\"vertical\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"↕️\" src=\"2195.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},left_right_arrow:{keywords:[\"shape\",\"direction\",\"horizontal\",\"sideways\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"↔️\" src=\"2194.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrows_counterclockwise:{keywords:[\"blue-square\",\"sync\",\"cycle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔄\" src=\"1f504.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_right_hook:{keywords:[\"blue-square\",\"return\",\"rotate\",\"direction\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"↪️\" src=\"21aa.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},leftwards_arrow_with_hook:{keywords:[\"back\",\"return\",\"blue-square\",\"undo\",\"enter\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"↩️\" src=\"21a9.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_heading_up:{keywords:[\"blue-square\",\"direction\",\"top\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⤴️\" src=\"2934.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_heading_down:{keywords:[\"blue-square\",\"direction\",\"bottom\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⤵️\" src=\"2935.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},hash:{keywords:[\"symbol\",\"blue-square\",\"twitter\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"#️⃣\" src=\"23-20e3.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},information_source:{keywords:[\"blue-square\",\"alphabet\",\"letter\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"ℹ️\" src=\"2139.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},abc:{keywords:[\"blue-square\",\"alphabet\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔤\" src=\"1f524.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},abcd:{keywords:[\"blue-square\",\"alphabet\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔡\" src=\"1f521.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},capital_abcd:{keywords:[\"alphabet\",\"words\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔠\" src=\"1f520.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},symbols:{keywords:[\"blue-square\",\"music\",\"note\",\"ampersand\",\"percent\",\"glyphs\",\"characters\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔣\" src=\"1f523.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},musical_note:{keywords:[\"score\",\"tone\",\"sound\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎵\" src=\"1f3b5.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},notes:{keywords:[\"music\",\"score\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎶\" src=\"1f3b6.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},wavy_dash:{keywords:[\"draw\",\"line\",\"moustache\",\"mustache\",\"squiggle\",\"scribble\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"〰️\" src=\"3030.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},curly_loop:{keywords:[\"scribble\",\"draw\",\"shape\",\"squiggle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"➰\" src=\"27b0.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},heavy_check_mark:{keywords:[\"ok\",\"nike\",\"answer\",\"yes\",\"tick\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✔️\" src=\"2714.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrows_clockwise:{keywords:[\"sync\",\"cycle\",\"round\",\"repeat\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔃\" src=\"1f503.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},heavy_plus_sign:{keywords:[\"math\",\"calculation\",\"addition\",\"more\",\"increase\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"➕\" src=\"2795.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},heavy_minus_sign:{keywords:[\"math\",\"calculation\",\"subtract\",\"less\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"➖\" src=\"2796.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},heavy_division_sign:{keywords:[\"divide\",\"math\",\"calculation\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"➗\" src=\"2797.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},heavy_multiplication_x:{keywords:[\"math\",\"calculation\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✖️\" src=\"2716.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},infinity:{keywords:[\"forever\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♾\" src=\"267e.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},heavy_dollar_sign:{keywords:[\"money\",\"sales\",\"payment\",\"currency\",\"buck\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💲\" src=\"1f4b2.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},currency_exchange:{keywords:[\"money\",\"sales\",\"dollar\",\"travel\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💱\" src=\"1f4b1.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},copyright:{keywords:[\"ip\",\"license\",\"circle\",\"law\",\"legal\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"©️\" src=\"a9.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},registered:{keywords:[\"alphabet\",\"circle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"®️\" src=\"ae.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},tm:{keywords:[\"trademark\",\"brand\",\"law\",\"legal\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"™️\" src=\"2122.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},end:{keywords:[\"words\",\"arrow\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔚\" src=\"1f51a.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},back:{keywords:[\"arrow\",\"words\",\"return\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔙\" src=\"1f519.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},on:{keywords:[\"arrow\",\"words\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔛\" src=\"1f51b.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},top:{keywords:[\"words\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔝\" src=\"1f51d.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},soon:{keywords:[\"arrow\",\"words\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔜\" src=\"1f51c.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},ballot_box_with_check:{keywords:[\"ok\",\"agree\",\"confirm\",\"black-square\",\"vote\",\"election\",\"yes\",\"tick\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☑️\" src=\"2611.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},radio_button:{keywords:[\"input\",\"old\",\"music\",\"circle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔘\" src=\"1f518.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},white_circle:{keywords:[\"shape\",\"round\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⚪\" src=\"26aa.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},black_circle:{keywords:[\"shape\",\"button\",\"round\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⚫\" src=\"26ab.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},red_circle:{keywords:[\"shape\",\"error\",\"danger\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔴\" src=\"1f534.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},large_blue_circle:{keywords:[\"shape\",\"icon\",\"button\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔵\" src=\"1f535.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},small_orange_diamond:{keywords:[\"shape\",\"jewel\",\"gem\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔸\" src=\"1f538.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},small_blue_diamond:{keywords:[\"shape\",\"jewel\",\"gem\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔹\" src=\"1f539.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},large_orange_diamond:{keywords:[\"shape\",\"jewel\",\"gem\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔶\" src=\"1f536.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},large_blue_diamond:{keywords:[\"shape\",\"jewel\",\"gem\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔷\" src=\"1f537.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},small_red_triangle:{keywords:[\"shape\",\"direction\",\"up\",\"top\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔺\" src=\"1f53a.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},black_small_square:{keywords:[\"shape\",\"icon\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"▪️\" src=\"25aa.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},white_small_square:{keywords:[\"shape\",\"icon\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"▫️\" src=\"25ab.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},black_large_square:{keywords:[\"shape\",\"icon\",\"button\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⬛\" src=\"2b1b.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},white_large_square:{keywords:[\"shape\",\"icon\",\"stone\",\"button\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⬜\" src=\"2b1c.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},small_red_triangle_down:{keywords:[\"shape\",\"direction\",\"bottom\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔻\" src=\"1f53b.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},black_medium_square:{keywords:[\"shape\",\"button\",\"icon\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"◼️\" src=\"25fc.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},white_medium_square:{keywords:[\"shape\",\"stone\",\"icon\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"◻️\" src=\"25fb.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},black_medium_small_square:{keywords:[\"icon\",\"shape\",\"button\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"◾\" src=\"25fe.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},white_medium_small_square:{keywords:[\"shape\",\"stone\",\"icon\",\"button\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"◽\" src=\"25fd.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},black_square_button:{keywords:[\"shape\",\"input\",\"frame\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔲\" src=\"1f532.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},white_square_button:{keywords:[\"shape\",\"input\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔳\" src=\"1f533.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},speaker:{keywords:[\"sound\",\"volume\",\"silence\",\"broadcast\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔈\" src=\"1f508.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},sound:{keywords:[\"volume\",\"speaker\",\"broadcast\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔉\" src=\"1f509.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},loud_sound:{keywords:[\"volume\",\"noise\",\"noisy\",\"speaker\",\"broadcast\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔊\" src=\"1f50a.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},mute:{keywords:[\"sound\",\"volume\",\"silence\",\"quiet\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔇\" src=\"1f507.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},mega:{keywords:[\"sound\",\"speaker\",\"volume\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📣\" src=\"1f4e3.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},loudspeaker:{keywords:[\"volume\",\"sound\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📢\" src=\"1f4e2.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},bell:{keywords:[\"sound\",\"notification\",\"christmas\",\"xmas\",\"chime\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔔\" src=\"1f514.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},no_bell:{keywords:[\"sound\",\"volume\",\"mute\",\"quiet\",\"silent\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔕\" src=\"1f515.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},black_joker:{keywords:[\"poker\",\"cards\",\"game\",\"play\",\"magic\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🃏\" src=\"1f0cf.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},mahjong:{keywords:[\"game\",\"play\",\"chinese\",\"kanji\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🀄\" src=\"1f004.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},spades:{keywords:[\"poker\",\"cards\",\"suits\",\"magic\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♠️\" src=\"2660.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clubs:{keywords:[\"poker\",\"cards\",\"magic\",\"suits\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♣️\" src=\"2663.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},hearts:{keywords:[\"poker\",\"cards\",\"magic\",\"suits\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♥️\" src=\"2665.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},diamonds:{keywords:[\"poker\",\"cards\",\"magic\",\"suits\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♦️\" src=\"2666.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},flower_playing_cards:{keywords:[\"game\",\"sunset\",\"red\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎴\" src=\"1f3b4.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},thought_balloon:{keywords:[\"bubble\",\"cloud\",\"speech\",\"thinking\",\"dream\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💭\" src=\"1f4ad.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},right_anger_bubble:{keywords:[\"caption\",\"speech\",\"thinking\",\"mad\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗯\" src=\"1f5ef.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},speech_balloon:{keywords:[\"bubble\",\"words\",\"message\",\"talk\",\"chatting\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💬\" src=\"1f4ac.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},left_speech_bubble:{keywords:[\"words\",\"message\",\"talk\",\"chatting\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗨\" src=\"1f5e8.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock1:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕐\" src=\"1f550.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock2:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕑\" src=\"1f551.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock3:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕒\" src=\"1f552.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock4:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕓\" src=\"1f553.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock5:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕔\" src=\"1f554.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock6:{keywords:[\"time\",\"late\",\"early\",\"schedule\",\"dawn\",\"dusk\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕕\" src=\"1f555.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock7:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕖\" src=\"1f556.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock8:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕗\" src=\"1f557.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock9:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕘\" src=\"1f558.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock10:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕙\" src=\"1f559.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock11:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕚\" src=\"1f55a.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock12:{keywords:[\"time\",\"noon\",\"midnight\",\"midday\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕛\" src=\"1f55b.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock130:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕜\" src=\"1f55c.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock230:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕝\" src=\"1f55d.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock330:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕞\" src=\"1f55e.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock430:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕟\" src=\"1f55f.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock530:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕠\" src=\"1f560.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock630:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕡\" src=\"1f561.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock730:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕢\" src=\"1f562.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock830:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕣\" src=\"1f563.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock930:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕤\" src=\"1f564.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock1030:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕥\" src=\"1f565.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock1130:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕦\" src=\"1f566.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock1230:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕧\" src=\"1f567.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},afghanistan:{keywords:[\"af\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇦🇫\" src=\"1f1e6-1f1eb.png\"/>',fitzpatrick_scale:false,category:\"flags\"},aland_islands:{keywords:[\"Åland\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇦🇽\" src=\"1f1e6-1f1fd.png\"/>',fitzpatrick_scale:false,category:\"flags\"},albania:{keywords:[\"al\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇦🇱\" src=\"1f1e6-1f1f1.png\"/>',fitzpatrick_scale:false,category:\"flags\"},algeria:{keywords:[\"dz\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇩🇿\" src=\"1f1e9-1f1ff.png\"/>',fitzpatrick_scale:false,category:\"flags\"},american_samoa:{keywords:[\"american\",\"ws\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇦🇸\" src=\"1f1e6-1f1f8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},andorra:{keywords:[\"ad\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇦🇩\" src=\"1f1e6-1f1e9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},angola:{keywords:[\"ao\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇦🇴\" src=\"1f1e6-1f1f4.png\"/>',fitzpatrick_scale:false,category:\"flags\"},anguilla:{keywords:[\"ai\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇦🇮\" src=\"1f1e6-1f1ee.png\"/>',fitzpatrick_scale:false,category:\"flags\"},antarctica:{keywords:[\"aq\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇦🇶\" src=\"1f1e6-1f1f6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},antigua_barbuda:{keywords:[\"antigua\",\"barbuda\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇦🇬\" src=\"1f1e6-1f1ec.png\"/>',fitzpatrick_scale:false,category:\"flags\"},argentina:{keywords:[\"ar\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇦🇷\" src=\"1f1e6-1f1f7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},armenia:{keywords:[\"am\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇦🇲\" src=\"1f1e6-1f1f2.png\"/>',fitzpatrick_scale:false,category:\"flags\"},aruba:{keywords:[\"aw\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇦🇼\" src=\"1f1e6-1f1fc.png\"/>',fitzpatrick_scale:false,category:\"flags\"},australia:{keywords:[\"au\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇦🇺\" src=\"1f1e6-1f1fa.png\"/>',fitzpatrick_scale:false,category:\"flags\"},austria:{keywords:[\"at\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇦🇹\" src=\"1f1e6-1f1f9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},azerbaijan:{keywords:[\"az\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇦🇿\" src=\"1f1e6-1f1ff.png\"/>',fitzpatrick_scale:false,category:\"flags\"},bahamas:{keywords:[\"bs\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇸\" src=\"1f1e7-1f1f8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},bahrain:{keywords:[\"bh\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇭\" src=\"1f1e7-1f1ed.png\"/>',fitzpatrick_scale:false,category:\"flags\"},bangladesh:{keywords:[\"bd\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇩\" src=\"1f1e7-1f1e9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},barbados:{keywords:[\"bb\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇧\" src=\"1f1e7-1f1e7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},belarus:{keywords:[\"by\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇾\" src=\"1f1e7-1f1fe.png\"/>',fitzpatrick_scale:false,category:\"flags\"},belgium:{keywords:[\"be\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇪\" src=\"1f1e7-1f1ea.png\"/>',fitzpatrick_scale:false,category:\"flags\"},belize:{keywords:[\"bz\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇿\" src=\"1f1e7-1f1ff.png\"/>',fitzpatrick_scale:false,category:\"flags\"},benin:{keywords:[\"bj\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇯\" src=\"1f1e7-1f1ef.png\"/>',fitzpatrick_scale:false,category:\"flags\"},bermuda:{keywords:[\"bm\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇲\" src=\"1f1e7-1f1f2.png\"/>',fitzpatrick_scale:false,category:\"flags\"},bhutan:{keywords:[\"bt\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇹\" src=\"1f1e7-1f1f9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},bolivia:{keywords:[\"bo\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇴\" src=\"1f1e7-1f1f4.png\"/>',fitzpatrick_scale:false,category:\"flags\"},caribbean_netherlands:{keywords:[\"bonaire\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇶\" src=\"1f1e7-1f1f6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},bosnia_herzegovina:{keywords:[\"bosnia\",\"herzegovina\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇦\" src=\"1f1e7-1f1e6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},botswana:{keywords:[\"bw\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇼\" src=\"1f1e7-1f1fc.png\"/>',fitzpatrick_scale:false,category:\"flags\"},brazil:{keywords:[\"br\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇷\" src=\"1f1e7-1f1f7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},british_indian_ocean_territory:{keywords:[\"british\",\"indian\",\"ocean\",\"territory\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇮🇴\" src=\"1f1ee-1f1f4.png\"/>',fitzpatrick_scale:false,category:\"flags\"},british_virgin_islands:{keywords:[\"british\",\"virgin\",\"islands\",\"bvi\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇻🇬\" src=\"1f1fb-1f1ec.png\"/>',fitzpatrick_scale:false,category:\"flags\"},brunei:{keywords:[\"bn\",\"darussalam\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇳\" src=\"1f1e7-1f1f3.png\"/>',fitzpatrick_scale:false,category:\"flags\"},bulgaria:{keywords:[\"bg\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇬\" src=\"1f1e7-1f1ec.png\"/>',fitzpatrick_scale:false,category:\"flags\"},burkina_faso:{keywords:[\"burkina\",\"faso\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇫\" src=\"1f1e7-1f1eb.png\"/>',fitzpatrick_scale:false,category:\"flags\"},burundi:{keywords:[\"bi\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇮\" src=\"1f1e7-1f1ee.png\"/>',fitzpatrick_scale:false,category:\"flags\"},cape_verde:{keywords:[\"cabo\",\"verde\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇻\" src=\"1f1e8-1f1fb.png\"/>',fitzpatrick_scale:false,category:\"flags\"},cambodia:{keywords:[\"kh\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇰🇭\" src=\"1f1f0-1f1ed.png\"/>',fitzpatrick_scale:false,category:\"flags\"},cameroon:{keywords:[\"cm\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇲\" src=\"1f1e8-1f1f2.png\"/>',fitzpatrick_scale:false,category:\"flags\"},canada:{keywords:[\"ca\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇦\" src=\"1f1e8-1f1e6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},canary_islands:{keywords:[\"canary\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇮🇨\" src=\"1f1ee-1f1e8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},cayman_islands:{keywords:[\"cayman\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇰🇾\" src=\"1f1f0-1f1fe.png\"/>',fitzpatrick_scale:false,category:\"flags\"},central_african_republic:{keywords:[\"central\",\"african\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇫\" src=\"1f1e8-1f1eb.png\"/>',fitzpatrick_scale:false,category:\"flags\"},chad:{keywords:[\"td\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇹🇩\" src=\"1f1f9-1f1e9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},chile:{keywords:[\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇱\" src=\"1f1e8-1f1f1.png\"/>',fitzpatrick_scale:false,category:\"flags\"},cn:{keywords:[\"china\",\"chinese\",\"prc\",\"flag\",\"country\",\"nation\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇳\" src=\"1f1e8-1f1f3.png\"/>',fitzpatrick_scale:false,category:\"flags\"},christmas_island:{keywords:[\"christmas\",\"island\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇽\" src=\"1f1e8-1f1fd.png\"/>',fitzpatrick_scale:false,category:\"flags\"},cocos_islands:{keywords:[\"cocos\",\"keeling\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇨\" src=\"1f1e8-1f1e8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},colombia:{keywords:[\"co\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇴\" src=\"1f1e8-1f1f4.png\"/>',fitzpatrick_scale:false,category:\"flags\"},comoros:{keywords:[\"km\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇰🇲\" src=\"1f1f0-1f1f2.png\"/>',fitzpatrick_scale:false,category:\"flags\"},congo_brazzaville:{keywords:[\"congo\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇬\" src=\"1f1e8-1f1ec.png\"/>',fitzpatrick_scale:false,category:\"flags\"},congo_kinshasa:{keywords:[\"congo\",\"democratic\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇩\" src=\"1f1e8-1f1e9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},cook_islands:{keywords:[\"cook\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇰\" src=\"1f1e8-1f1f0.png\"/>',fitzpatrick_scale:false,category:\"flags\"},costa_rica:{keywords:[\"costa\",\"rica\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇷\" src=\"1f1e8-1f1f7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},croatia:{keywords:[\"hr\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇭🇷\" src=\"1f1ed-1f1f7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},cuba:{keywords:[\"cu\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇺\" src=\"1f1e8-1f1fa.png\"/>',fitzpatrick_scale:false,category:\"flags\"},curacao:{keywords:[\"curaçao\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇼\" src=\"1f1e8-1f1fc.png\"/>',fitzpatrick_scale:false,category:\"flags\"},cyprus:{keywords:[\"cy\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇾\" src=\"1f1e8-1f1fe.png\"/>',fitzpatrick_scale:false,category:\"flags\"},czech_republic:{keywords:[\"cz\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇿\" src=\"1f1e8-1f1ff.png\"/>',fitzpatrick_scale:false,category:\"flags\"},denmark:{keywords:[\"dk\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇩🇰\" src=\"1f1e9-1f1f0.png\"/>',fitzpatrick_scale:false,category:\"flags\"},djibouti:{keywords:[\"dj\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇩🇯\" src=\"1f1e9-1f1ef.png\"/>',fitzpatrick_scale:false,category:\"flags\"},dominica:{keywords:[\"dm\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇩🇲\" src=\"1f1e9-1f1f2.png\"/>',fitzpatrick_scale:false,category:\"flags\"},dominican_republic:{keywords:[\"dominican\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇩🇴\" src=\"1f1e9-1f1f4.png\"/>',fitzpatrick_scale:false,category:\"flags\"},ecuador:{keywords:[\"ec\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇪🇨\" src=\"1f1ea-1f1e8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},egypt:{keywords:[\"eg\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇪🇬\" src=\"1f1ea-1f1ec.png\"/>',fitzpatrick_scale:false,category:\"flags\"},el_salvador:{keywords:[\"el\",\"salvador\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇻\" src=\"1f1f8-1f1fb.png\"/>',fitzpatrick_scale:false,category:\"flags\"},equatorial_guinea:{keywords:[\"equatorial\",\"gn\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇶\" src=\"1f1ec-1f1f6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},eritrea:{keywords:[\"er\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇪🇷\" src=\"1f1ea-1f1f7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},estonia:{keywords:[\"ee\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇪🇪\" src=\"1f1ea-1f1ea.png\"/>',fitzpatrick_scale:false,category:\"flags\"},ethiopia:{keywords:[\"et\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇪🇹\" src=\"1f1ea-1f1f9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},eu:{keywords:[\"european\",\"union\",\"flag\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇪🇺\" src=\"1f1ea-1f1fa.png\"/>',fitzpatrick_scale:false,category:\"flags\"},falkland_islands:{keywords:[\"falkland\",\"islands\",\"malvinas\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇫🇰\" src=\"1f1eb-1f1f0.png\"/>',fitzpatrick_scale:false,category:\"flags\"},faroe_islands:{keywords:[\"faroe\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇫🇴\" src=\"1f1eb-1f1f4.png\"/>',fitzpatrick_scale:false,category:\"flags\"},fiji:{keywords:[\"fj\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇫🇯\" src=\"1f1eb-1f1ef.png\"/>',fitzpatrick_scale:false,category:\"flags\"},finland:{keywords:[\"fi\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇫🇮\" src=\"1f1eb-1f1ee.png\"/>',fitzpatrick_scale:false,category:\"flags\"},fr:{keywords:[\"banner\",\"flag\",\"nation\",\"france\",\"french\",\"country\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇫🇷\" src=\"1f1eb-1f1f7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},french_guiana:{keywords:[\"french\",\"guiana\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇫\" src=\"1f1ec-1f1eb.png\"/>',fitzpatrick_scale:false,category:\"flags\"},french_polynesia:{keywords:[\"french\",\"polynesia\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇵🇫\" src=\"1f1f5-1f1eb.png\"/>',fitzpatrick_scale:false,category:\"flags\"},french_southern_territories:{keywords:[\"french\",\"southern\",\"territories\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇹🇫\" src=\"1f1f9-1f1eb.png\"/>',fitzpatrick_scale:false,category:\"flags\"},gabon:{keywords:[\"ga\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇦\" src=\"1f1ec-1f1e6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},gambia:{keywords:[\"gm\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇲\" src=\"1f1ec-1f1f2.png\"/>',fitzpatrick_scale:false,category:\"flags\"},georgia:{keywords:[\"ge\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇪\" src=\"1f1ec-1f1ea.png\"/>',fitzpatrick_scale:false,category:\"flags\"},de:{keywords:[\"german\",\"nation\",\"flag\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇩🇪\" src=\"1f1e9-1f1ea.png\"/>',fitzpatrick_scale:false,category:\"flags\"},ghana:{keywords:[\"gh\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇭\" src=\"1f1ec-1f1ed.png\"/>',fitzpatrick_scale:false,category:\"flags\"},gibraltar:{keywords:[\"gi\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇮\" src=\"1f1ec-1f1ee.png\"/>',fitzpatrick_scale:false,category:\"flags\"},greece:{keywords:[\"gr\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇷\" src=\"1f1ec-1f1f7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},greenland:{keywords:[\"gl\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇱\" src=\"1f1ec-1f1f1.png\"/>',fitzpatrick_scale:false,category:\"flags\"},grenada:{keywords:[\"gd\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇩\" src=\"1f1ec-1f1e9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},guadeloupe:{keywords:[\"gp\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇵\" src=\"1f1ec-1f1f5.png\"/>',fitzpatrick_scale:false,category:\"flags\"},guam:{keywords:[\"gu\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇺\" src=\"1f1ec-1f1fa.png\"/>',fitzpatrick_scale:false,category:\"flags\"},guatemala:{keywords:[\"gt\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇹\" src=\"1f1ec-1f1f9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},guernsey:{keywords:[\"gg\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇬\" src=\"1f1ec-1f1ec.png\"/>',fitzpatrick_scale:false,category:\"flags\"},guinea:{keywords:[\"gn\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇳\" src=\"1f1ec-1f1f3.png\"/>',fitzpatrick_scale:false,category:\"flags\"},guinea_bissau:{keywords:[\"gw\",\"bissau\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇼\" src=\"1f1ec-1f1fc.png\"/>',fitzpatrick_scale:false,category:\"flags\"},guyana:{keywords:[\"gy\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇾\" src=\"1f1ec-1f1fe.png\"/>',fitzpatrick_scale:false,category:\"flags\"},haiti:{keywords:[\"ht\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇭🇹\" src=\"1f1ed-1f1f9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},honduras:{keywords:[\"hn\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇭🇳\" src=\"1f1ed-1f1f3.png\"/>',fitzpatrick_scale:false,category:\"flags\"},hong_kong:{keywords:[\"hong\",\"kong\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇭🇰\" src=\"1f1ed-1f1f0.png\"/>',fitzpatrick_scale:false,category:\"flags\"},hungary:{keywords:[\"hu\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇭🇺\" src=\"1f1ed-1f1fa.png\"/>',fitzpatrick_scale:false,category:\"flags\"},iceland:{keywords:[\"is\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇮🇸\" src=\"1f1ee-1f1f8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},india:{keywords:[\"in\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇮🇳\" src=\"1f1ee-1f1f3.png\"/>',fitzpatrick_scale:false,category:\"flags\"},indonesia:{keywords:[\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇮🇩\" src=\"1f1ee-1f1e9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},iran:{keywords:[\"iran,\",\"islamic\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇮🇷\" src=\"1f1ee-1f1f7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},iraq:{keywords:[\"iq\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇮🇶\" src=\"1f1ee-1f1f6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},ireland:{keywords:[\"ie\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇮🇪\" src=\"1f1ee-1f1ea.png\"/>',fitzpatrick_scale:false,category:\"flags\"},isle_of_man:{keywords:[\"isle\",\"man\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇮🇲\" src=\"1f1ee-1f1f2.png\"/>',fitzpatrick_scale:false,category:\"flags\"},israel:{keywords:[\"il\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇮🇱\" src=\"1f1ee-1f1f1.png\"/>',fitzpatrick_scale:false,category:\"flags\"},it:{keywords:[\"italy\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇮🇹\" src=\"1f1ee-1f1f9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},cote_divoire:{keywords:[\"ivory\",\"coast\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇮\" src=\"1f1e8-1f1ee.png\"/>',fitzpatrick_scale:false,category:\"flags\"},jamaica:{keywords:[\"jm\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇯🇲\" src=\"1f1ef-1f1f2.png\"/>',fitzpatrick_scale:false,category:\"flags\"},jp:{keywords:[\"japanese\",\"nation\",\"flag\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇯🇵\" src=\"1f1ef-1f1f5.png\"/>',fitzpatrick_scale:false,category:\"flags\"},jersey:{keywords:[\"je\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇯🇪\" src=\"1f1ef-1f1ea.png\"/>',fitzpatrick_scale:false,category:\"flags\"},jordan:{keywords:[\"jo\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇯🇴\" src=\"1f1ef-1f1f4.png\"/>',fitzpatrick_scale:false,category:\"flags\"},kazakhstan:{keywords:[\"kz\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇰🇿\" src=\"1f1f0-1f1ff.png\"/>',fitzpatrick_scale:false,category:\"flags\"},kenya:{keywords:[\"ke\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇰🇪\" src=\"1f1f0-1f1ea.png\"/>',fitzpatrick_scale:false,category:\"flags\"},kiribati:{keywords:[\"ki\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇰🇮\" src=\"1f1f0-1f1ee.png\"/>',fitzpatrick_scale:false,category:\"flags\"},kosovo:{keywords:[\"xk\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇽🇰\" src=\"1f1fd-1f1f0.png\"/>',fitzpatrick_scale:false,category:\"flags\"},kuwait:{keywords:[\"kw\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇰🇼\" src=\"1f1f0-1f1fc.png\"/>',fitzpatrick_scale:false,category:\"flags\"},kyrgyzstan:{keywords:[\"kg\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇰🇬\" src=\"1f1f0-1f1ec.png\"/>',fitzpatrick_scale:false,category:\"flags\"},laos:{keywords:[\"lao\",\"democratic\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇱🇦\" src=\"1f1f1-1f1e6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},latvia:{keywords:[\"lv\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇱🇻\" src=\"1f1f1-1f1fb.png\"/>',fitzpatrick_scale:false,category:\"flags\"},lebanon:{keywords:[\"lb\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇱🇧\" src=\"1f1f1-1f1e7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},lesotho:{keywords:[\"ls\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇱🇸\" src=\"1f1f1-1f1f8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},liberia:{keywords:[\"lr\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇱🇷\" src=\"1f1f1-1f1f7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},libya:{keywords:[\"ly\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇱🇾\" src=\"1f1f1-1f1fe.png\"/>',fitzpatrick_scale:false,category:\"flags\"},liechtenstein:{keywords:[\"li\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇱🇮\" src=\"1f1f1-1f1ee.png\"/>',fitzpatrick_scale:false,category:\"flags\"},lithuania:{keywords:[\"lt\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇱🇹\" src=\"1f1f1-1f1f9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},luxembourg:{keywords:[\"lu\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇱🇺\" src=\"1f1f1-1f1fa.png\"/>',fitzpatrick_scale:false,category:\"flags\"},macau:{keywords:[\"macao\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇴\" src=\"1f1f2-1f1f4.png\"/>',fitzpatrick_scale:false,category:\"flags\"},macedonia:{keywords:[\"macedonia,\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇰\" src=\"1f1f2-1f1f0.png\"/>',fitzpatrick_scale:false,category:\"flags\"},madagascar:{keywords:[\"mg\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇬\" src=\"1f1f2-1f1ec.png\"/>',fitzpatrick_scale:false,category:\"flags\"},malawi:{keywords:[\"mw\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇼\" src=\"1f1f2-1f1fc.png\"/>',fitzpatrick_scale:false,category:\"flags\"},malaysia:{keywords:[\"my\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇾\" src=\"1f1f2-1f1fe.png\"/>',fitzpatrick_scale:false,category:\"flags\"},maldives:{keywords:[\"mv\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇻\" src=\"1f1f2-1f1fb.png\"/>',fitzpatrick_scale:false,category:\"flags\"},mali:{keywords:[\"ml\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇱\" src=\"1f1f2-1f1f1.png\"/>',fitzpatrick_scale:false,category:\"flags\"},malta:{keywords:[\"mt\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇹\" src=\"1f1f2-1f1f9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},marshall_islands:{keywords:[\"marshall\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇭\" src=\"1f1f2-1f1ed.png\"/>',fitzpatrick_scale:false,category:\"flags\"},martinique:{keywords:[\"mq\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇶\" src=\"1f1f2-1f1f6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},mauritania:{keywords:[\"mr\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇷\" src=\"1f1f2-1f1f7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},mauritius:{keywords:[\"mu\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇺\" src=\"1f1f2-1f1fa.png\"/>',fitzpatrick_scale:false,category:\"flags\"},mayotte:{keywords:[\"yt\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇾🇹\" src=\"1f1fe-1f1f9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},mexico:{keywords:[\"mx\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇽\" src=\"1f1f2-1f1fd.png\"/>',fitzpatrick_scale:false,category:\"flags\"},micronesia:{keywords:[\"micronesia,\",\"federated\",\"states\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇫🇲\" src=\"1f1eb-1f1f2.png\"/>',fitzpatrick_scale:false,category:\"flags\"},moldova:{keywords:[\"moldova,\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇩\" src=\"1f1f2-1f1e9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},monaco:{keywords:[\"mc\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇨\" src=\"1f1f2-1f1e8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},mongolia:{keywords:[\"mn\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇳\" src=\"1f1f2-1f1f3.png\"/>',fitzpatrick_scale:false,category:\"flags\"},montenegro:{keywords:[\"me\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇪\" src=\"1f1f2-1f1ea.png\"/>',fitzpatrick_scale:false,category:\"flags\"},montserrat:{keywords:[\"ms\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇸\" src=\"1f1f2-1f1f8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},morocco:{keywords:[\"ma\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇦\" src=\"1f1f2-1f1e6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},mozambique:{keywords:[\"mz\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇿\" src=\"1f1f2-1f1ff.png\"/>',fitzpatrick_scale:false,category:\"flags\"},myanmar:{keywords:[\"mm\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇲\" src=\"1f1f2-1f1f2.png\"/>',fitzpatrick_scale:false,category:\"flags\"},namibia:{keywords:[\"na\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇳🇦\" src=\"1f1f3-1f1e6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},nauru:{keywords:[\"nr\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇳🇷\" src=\"1f1f3-1f1f7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},nepal:{keywords:[\"np\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇳🇵\" src=\"1f1f3-1f1f5.png\"/>',fitzpatrick_scale:false,category:\"flags\"},netherlands:{keywords:[\"nl\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇳🇱\" src=\"1f1f3-1f1f1.png\"/>',fitzpatrick_scale:false,category:\"flags\"},new_caledonia:{keywords:[\"new\",\"caledonia\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇳🇨\" src=\"1f1f3-1f1e8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},new_zealand:{keywords:[\"new\",\"zealand\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇳🇿\" src=\"1f1f3-1f1ff.png\"/>',fitzpatrick_scale:false,category:\"flags\"},nicaragua:{keywords:[\"ni\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇳🇮\" src=\"1f1f3-1f1ee.png\"/>',fitzpatrick_scale:false,category:\"flags\"},niger:{keywords:[\"ne\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇳🇪\" src=\"1f1f3-1f1ea.png\"/>',fitzpatrick_scale:false,category:\"flags\"},nigeria:{keywords:[\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇳🇬\" src=\"1f1f3-1f1ec.png\"/>',fitzpatrick_scale:false,category:\"flags\"},niue:{keywords:[\"nu\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇳🇺\" src=\"1f1f3-1f1fa.png\"/>',fitzpatrick_scale:false,category:\"flags\"},norfolk_island:{keywords:[\"norfolk\",\"island\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇳🇫\" src=\"1f1f3-1f1eb.png\"/>',fitzpatrick_scale:false,category:\"flags\"},northern_mariana_islands:{keywords:[\"northern\",\"mariana\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇵\" src=\"1f1f2-1f1f5.png\"/>',fitzpatrick_scale:false,category:\"flags\"},north_korea:{keywords:[\"north\",\"korea\",\"nation\",\"flag\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇰🇵\" src=\"1f1f0-1f1f5.png\"/>',fitzpatrick_scale:false,category:\"flags\"},norway:{keywords:[\"no\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇳🇴\" src=\"1f1f3-1f1f4.png\"/>',fitzpatrick_scale:false,category:\"flags\"},oman:{keywords:[\"om_symbol\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇴🇲\" src=\"1f1f4-1f1f2.png\"/>',fitzpatrick_scale:false,category:\"flags\"},pakistan:{keywords:[\"pk\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇵🇰\" src=\"1f1f5-1f1f0.png\"/>',fitzpatrick_scale:false,category:\"flags\"},palau:{keywords:[\"pw\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇵🇼\" src=\"1f1f5-1f1fc.png\"/>',fitzpatrick_scale:false,category:\"flags\"},palestinian_territories:{keywords:[\"palestine\",\"palestinian\",\"territories\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇵🇸\" src=\"1f1f5-1f1f8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},panama:{keywords:[\"pa\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇵🇦\" src=\"1f1f5-1f1e6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},papua_new_guinea:{keywords:[\"papua\",\"new\",\"guinea\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇵🇬\" src=\"1f1f5-1f1ec.png\"/>',fitzpatrick_scale:false,category:\"flags\"},paraguay:{keywords:[\"py\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇵🇾\" src=\"1f1f5-1f1fe.png\"/>',fitzpatrick_scale:false,category:\"flags\"},peru:{keywords:[\"pe\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇵🇪\" src=\"1f1f5-1f1ea.png\"/>',fitzpatrick_scale:false,category:\"flags\"},philippines:{keywords:[\"ph\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇵🇭\" src=\"1f1f5-1f1ed.png\"/>',fitzpatrick_scale:false,category:\"flags\"},pitcairn_islands:{keywords:[\"pitcairn\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇵🇳\" src=\"1f1f5-1f1f3.png\"/>',fitzpatrick_scale:false,category:\"flags\"},poland:{keywords:[\"pl\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇵🇱\" src=\"1f1f5-1f1f1.png\"/>',fitzpatrick_scale:false,category:\"flags\"},portugal:{keywords:[\"pt\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇵🇹\" src=\"1f1f5-1f1f9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},puerto_rico:{keywords:[\"puerto\",\"rico\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇵🇷\" src=\"1f1f5-1f1f7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},qatar:{keywords:[\"qa\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇶🇦\" src=\"1f1f6-1f1e6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},reunion:{keywords:[\"réunion\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇷🇪\" src=\"1f1f7-1f1ea.png\"/>',fitzpatrick_scale:false,category:\"flags\"},romania:{keywords:[\"ro\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇷🇴\" src=\"1f1f7-1f1f4.png\"/>',fitzpatrick_scale:false,category:\"flags\"},ru:{keywords:[\"russian\",\"federation\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇷🇺\" src=\"1f1f7-1f1fa.png\"/>',fitzpatrick_scale:false,category:\"flags\"},rwanda:{keywords:[\"rw\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇷🇼\" src=\"1f1f7-1f1fc.png\"/>',fitzpatrick_scale:false,category:\"flags\"},st_barthelemy:{keywords:[\"saint\",\"barthélemy\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇱\" src=\"1f1e7-1f1f1.png\"/>',fitzpatrick_scale:false,category:\"flags\"},st_helena:{keywords:[\"saint\",\"helena\",\"ascension\",\"tristan\",\"cunha\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇭\" src=\"1f1f8-1f1ed.png\"/>',fitzpatrick_scale:false,category:\"flags\"},st_kitts_nevis:{keywords:[\"saint\",\"kitts\",\"nevis\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇰🇳\" src=\"1f1f0-1f1f3.png\"/>',fitzpatrick_scale:false,category:\"flags\"},st_lucia:{keywords:[\"saint\",\"lucia\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇱🇨\" src=\"1f1f1-1f1e8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},st_pierre_miquelon:{keywords:[\"saint\",\"pierre\",\"miquelon\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇵🇲\" src=\"1f1f5-1f1f2.png\"/>',fitzpatrick_scale:false,category:\"flags\"},st_vincent_grenadines:{keywords:[\"saint\",\"vincent\",\"grenadines\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇻🇨\" src=\"1f1fb-1f1e8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},samoa:{keywords:[\"ws\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇼🇸\" src=\"1f1fc-1f1f8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},san_marino:{keywords:[\"san\",\"marino\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇲\" src=\"1f1f8-1f1f2.png\"/>',fitzpatrick_scale:false,category:\"flags\"},sao_tome_principe:{keywords:[\"sao\",\"tome\",\"principe\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇹\" src=\"1f1f8-1f1f9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},saudi_arabia:{keywords:[\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇦\" src=\"1f1f8-1f1e6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},senegal:{keywords:[\"sn\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇳\" src=\"1f1f8-1f1f3.png\"/>',fitzpatrick_scale:false,category:\"flags\"},serbia:{keywords:[\"rs\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇷🇸\" src=\"1f1f7-1f1f8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},seychelles:{keywords:[\"sc\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇨\" src=\"1f1f8-1f1e8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},sierra_leone:{keywords:[\"sierra\",\"leone\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇱\" src=\"1f1f8-1f1f1.png\"/>',fitzpatrick_scale:false,category:\"flags\"},singapore:{keywords:[\"sg\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇬\" src=\"1f1f8-1f1ec.png\"/>',fitzpatrick_scale:false,category:\"flags\"},sint_maarten:{keywords:[\"sint\",\"maarten\",\"dutch\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇽\" src=\"1f1f8-1f1fd.png\"/>',fitzpatrick_scale:false,category:\"flags\"},slovakia:{keywords:[\"sk\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇰\" src=\"1f1f8-1f1f0.png\"/>',fitzpatrick_scale:false,category:\"flags\"},slovenia:{keywords:[\"si\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇮\" src=\"1f1f8-1f1ee.png\"/>',fitzpatrick_scale:false,category:\"flags\"},solomon_islands:{keywords:[\"solomon\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇧\" src=\"1f1f8-1f1e7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},somalia:{keywords:[\"so\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇴\" src=\"1f1f8-1f1f4.png\"/>',fitzpatrick_scale:false,category:\"flags\"},south_africa:{keywords:[\"south\",\"africa\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇿🇦\" src=\"1f1ff-1f1e6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},south_georgia_south_sandwich_islands:{keywords:[\"south\",\"georgia\",\"sandwich\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇸\" src=\"1f1ec-1f1f8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},kr:{keywords:[\"south\",\"korea\",\"nation\",\"flag\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇰🇷\" src=\"1f1f0-1f1f7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},south_sudan:{keywords:[\"south\",\"sd\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇸\" src=\"1f1f8-1f1f8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},es:{keywords:[\"spain\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇪🇸\" src=\"1f1ea-1f1f8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},sri_lanka:{keywords:[\"sri\",\"lanka\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇱🇰\" src=\"1f1f1-1f1f0.png\"/>',fitzpatrick_scale:false,category:\"flags\"},sudan:{keywords:[\"sd\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇩\" src=\"1f1f8-1f1e9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},suriname:{keywords:[\"sr\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇷\" src=\"1f1f8-1f1f7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},swaziland:{keywords:[\"sz\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇿\" src=\"1f1f8-1f1ff.png\"/>',fitzpatrick_scale:false,category:\"flags\"},sweden:{keywords:[\"se\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇪\" src=\"1f1f8-1f1ea.png\"/>',fitzpatrick_scale:false,category:\"flags\"},switzerland:{keywords:[\"ch\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇭\" src=\"1f1e8-1f1ed.png\"/>',fitzpatrick_scale:false,category:\"flags\"},syria:{keywords:[\"syrian\",\"arab\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇾\" src=\"1f1f8-1f1fe.png\"/>',fitzpatrick_scale:false,category:\"flags\"},taiwan:{keywords:[\"tw\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇹🇼\" src=\"1f1f9-1f1fc.png\"/>',fitzpatrick_scale:false,category:\"flags\"},tajikistan:{keywords:[\"tj\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇹🇯\" src=\"1f1f9-1f1ef.png\"/>',fitzpatrick_scale:false,category:\"flags\"},tanzania:{keywords:[\"tanzania,\",\"united\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇹🇿\" src=\"1f1f9-1f1ff.png\"/>',fitzpatrick_scale:false,category:\"flags\"},thailand:{keywords:[\"th\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇹🇭\" src=\"1f1f9-1f1ed.png\"/>',fitzpatrick_scale:false,category:\"flags\"},timor_leste:{keywords:[\"timor\",\"leste\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇹🇱\" src=\"1f1f9-1f1f1.png\"/>',fitzpatrick_scale:false,category:\"flags\"},togo:{keywords:[\"tg\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇹🇬\" src=\"1f1f9-1f1ec.png\"/>',fitzpatrick_scale:false,category:\"flags\"},tokelau:{keywords:[\"tk\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇹🇰\" src=\"1f1f9-1f1f0.png\"/>',fitzpatrick_scale:false,category:\"flags\"},tonga:{keywords:[\"to\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇹🇴\" src=\"1f1f9-1f1f4.png\"/>',fitzpatrick_scale:false,category:\"flags\"},trinidad_tobago:{keywords:[\"trinidad\",\"tobago\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇹🇹\" src=\"1f1f9-1f1f9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},tunisia:{keywords:[\"tn\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇹🇳\" src=\"1f1f9-1f1f3.png\"/>',fitzpatrick_scale:false,category:\"flags\"},tr:{keywords:[\"turkey\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇹🇷\" src=\"1f1f9-1f1f7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},turkmenistan:{keywords:[\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇹🇲\" src=\"1f1f9-1f1f2.png\"/>',fitzpatrick_scale:false,category:\"flags\"},turks_caicos_islands:{keywords:[\"turks\",\"caicos\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇹🇨\" src=\"1f1f9-1f1e8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},tuvalu:{keywords:[\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇹🇻\" src=\"1f1f9-1f1fb.png\"/>',fitzpatrick_scale:false,category:\"flags\"},uganda:{keywords:[\"ug\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇺🇬\" src=\"1f1fa-1f1ec.png\"/>',fitzpatrick_scale:false,category:\"flags\"},ukraine:{keywords:[\"ua\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇺🇦\" src=\"1f1fa-1f1e6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},united_arab_emirates:{keywords:[\"united\",\"arab\",\"emirates\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇦🇪\" src=\"1f1e6-1f1ea.png\"/>',fitzpatrick_scale:false,category:\"flags\"},uk:{keywords:[\"united\",\"kingdom\",\"great\",\"britain\",\"northern\",\"ireland\",\"flag\",\"nation\",\"country\",\"banner\",\"british\",\"UK\",\"english\",\"england\",\"union jack\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇧\" src=\"1f1ec-1f1e7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},england:{keywords:[\"flag\",\"english\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏴󠁧󠁢󠁥󠁮󠁧󠁿\" src=\"1f3f4-e0067-e0062-e0065-e006e-e0067-e007f.png\"/>',fitzpatrick_scale:false,category:\"flags\"},scotland:{keywords:[\"flag\",\"scottish\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏴󠁧󠁢󠁳󠁣󠁴󠁿\" src=\"1f3f4-e0067-e0062-e0073-e0063-e0074-e007f.png\"/>',fitzpatrick_scale:false,category:\"flags\"},wales:{keywords:[\"flag\",\"welsh\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏴󠁧󠁢󠁷󠁬󠁳󠁿\" src=\"1f3f4-e0067-e0062-e0077-e006c-e0073-e007f.png\"/>',fitzpatrick_scale:false,category:\"flags\"},us:{keywords:[\"united\",\"states\",\"america\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇺🇸\" src=\"1f1fa-1f1f8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},us_virgin_islands:{keywords:[\"virgin\",\"islands\",\"us\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇻🇮\" src=\"1f1fb-1f1ee.png\"/>',fitzpatrick_scale:false,category:\"flags\"},uruguay:{keywords:[\"uy\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇺🇾\" src=\"1f1fa-1f1fe.png\"/>',fitzpatrick_scale:false,category:\"flags\"},uzbekistan:{keywords:[\"uz\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇺🇿\" src=\"1f1fa-1f1ff.png\"/>',fitzpatrick_scale:false,category:\"flags\"},vanuatu:{keywords:[\"vu\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇻🇺\" src=\"1f1fb-1f1fa.png\"/>',fitzpatrick_scale:false,category:\"flags\"},vatican_city:{keywords:[\"vatican\",\"city\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇻🇦\" src=\"1f1fb-1f1e6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},venezuela:{keywords:[\"ve\",\"bolivarian\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇻🇪\" src=\"1f1fb-1f1ea.png\"/>',fitzpatrick_scale:false,category:\"flags\"},vietnam:{keywords:[\"viet\",\"nam\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇻🇳\" src=\"1f1fb-1f1f3.png\"/>',fitzpatrick_scale:false,category:\"flags\"},wallis_futuna:{keywords:[\"wallis\",\"futuna\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇼🇫\" src=\"1f1fc-1f1eb.png\"/>',fitzpatrick_scale:false,category:\"flags\"},western_sahara:{keywords:[\"western\",\"sahara\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇪🇭\" src=\"1f1ea-1f1ed.png\"/>',fitzpatrick_scale:false,category:\"flags\"},yemen:{keywords:[\"ye\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇾🇪\" src=\"1f1fe-1f1ea.png\"/>',fitzpatrick_scale:false,category:\"flags\"},zambia:{keywords:[\"zm\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇿🇲\" src=\"1f1ff-1f1f2.png\"/>',fitzpatrick_scale:false,category:\"flags\"},zimbabwe:{keywords:[\"zw\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇿🇼\" src=\"1f1ff-1f1fc.png\"/>',fitzpatrick_scale:false,category:\"flags\"},united_nations:{keywords:[\"un\",\"flag\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇺🇳\" src=\"1f1fa-1f1f3.png\"/>',fitzpatrick_scale:false,category:\"flags\"},pirate_flag:{keywords:[\"skull\",\"crossbones\",\"flag\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏴‍☠️\" src=\"1f3f4-200d-2620-fe0f.png\"/>',fitzpatrick_scale:false,category:\"flags\"}});"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/plugins/emoticons/js/emojis.js",
    "content": "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\"}});"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/plugins/help/js/i18n/keynav/ar.js",
    "content": "tinymce.Resource.add('tinymce.html-i18n.help-keynav.ar',\n'<h1>بدء التنقل بواسطة لوحة المفاتيح</h1>\\n' +\n  '\\n' +\n  '<dl>\\n' +\n  '  <dt>التركيز على شريط القوائم</dt>\\n' +\n  '  <dd>نظاما التشغيل Windows أو Linux: Alt + F9</dd>\\n' +\n  '  <dd>نظام التشغيل macOS: &#x2325;F9</dd>\\n' +\n  '  <dt>التركيز على شريط الأدوات</dt>\\n' +\n  '  <dd>نظاما التشغيل Windows أو Linux: Alt + F10</dd>\\n' +\n  '  <dd>نظام التشغيل macOS: &#x2325;F10</dd>\\n' +\n  '  <dt>التركيز على التذييل</dt>\\n' +\n  '  <dd>نظاما التشغيل Windows أو Linux: Alt + F11</dd>\\n' +\n  '  <dd>نظام التشغيل macOS: &#x2325;F11</dd>\\n' +\n  '  <dt>تركيز الإشعارات</dt>\\n' +\n  '  <dd>نظاما التشغيل Windows أو Linux: Alt + F12</dd>\\n' +\n  '  <dd>نظام التشغيل macOS: &#x2325;F12</dd>\\n' +\n  '  <dt>التركيز على شريط أدوات السياق</dt>\\n' +\n  '  <dd>أنظمة التشغيل Windows أو Linux أو macOS: Ctrl+F9</dd>\\n' +\n  '</dl>\\n' +\n  '\\n' +\n  '<p>سيبدأ التنقل عند عنصر واجهة المستخدم الأول، والذي سيتم تمييزه أو تسطيره في حالة العنصر الأول في\\n' +\n  '  مسار عنصر التذييل.</p>\\n' +\n  '\\n' +\n  '<h1>التنقل بين أقسام واجهة المستخدم</h1>\\n' +\n  '\\n' +\n  '<p>للانتقال من أحد أقسام واجهة المستخدم إلى القسم التالي، اضغط على <strong>Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<p>للانتقال من أحد أقسام واجهة المستخدم إلى القسم السابق، اضغط على <strong>Shift+Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<p>ترتيب علامات <strong>Tab</strong> لأقسام واجهة المستخدم هذه هو:</p>\\n' +\n  '\\n' +\n  '<ol>\\n' +\n  '  <li>شريط القوائم</li>\\n' +\n  '  <li>كل مجموعة شريط الأدوات</li>\\n' +\n  '  <li>الشريط الجانبي</li>\\n' +\n  '  <li>مسار العنصر في التذييل</li>\\n' +\n  '  <li>زر تبديل عدد الكلمات في التذييل</li>\\n' +\n  '  <li>رابط إدراج العلامة التجارية في التذييل</li>\\n' +\n  '  <li>مؤشر تغيير حجم المحرر في التذييل</li>\\n' +\n  '</ol>\\n' +\n  '\\n' +\n  '<p>إذا لم يكن قسم واجهة المستخدم موجودًا، فسيتم تخطيه.</p>\\n' +\n  '\\n' +\n  '<p>إذا كان التذييل يحتوي على التركيز على ‏‫التنقل بواسطة لوحة المفاتيح، ولا يوجد شريط جانبي مرئي، فإن الضغط على <strong>Shift+Tab</strong>\\n' +\n  '  ينقل التركيز إلى مجموعة شريط الأدوات الأولى، وليس الأخيرة.</p>\\n' +\n  '\\n' +\n  '<h1>التنقل بين أقسام واجهة المستخدم</h1>\\n' +\n  '\\n' +\n  '<p>للانتقال من أحد عناصر واجهة المستخدم إلى العنصر التالي، اضغط على مفتاح <strong>السهم</strong> المناسب.</p>\\n' +\n  '\\n' +\n  '<p>مفتاحا السهمين <strong>اليسار‎</strong> و<strong>اليمين‎</strong></p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>التنقل بين القوائم في شريط القوائم.</li>\\n' +\n  '  <li>فتح قائمة فرعية في القائمة.</li>\\n' +\n  '  <li>التنقل بين الأزرار في مجموعة شريط الأدوات.</li>\\n' +\n  '  <li>التنقل بين العناصر في مسار عنصر التذييل.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p>مفتاحا السهمين <strong>لأسفل‎</strong> و<strong>لأعلى‎</strong></p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>التنقل بين عناصر القائمة في القائمة.</li>\\n' +\n  '  <li>التنقل بين العناصر في قائمة شريط الأدوات المنبثقة.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p>دورة مفاتيح <strong>الأسهم‎</strong> داخل قسم واجهة المستخدم التي تم التركيز عليها.</p>\\n' +\n  '\\n' +\n  '<p>لإغلاق قائمة مفتوحة أو قائمة فرعية مفتوحة أو قائمة منبثقة مفتوحة، اضغط على مفتاح <strong>Esc</strong>.</p>\\n' +\n  '\\n' +\n  '<p>إذا كان التركيز الحالي على \"الجزء العلوي\" من قسم معين لواجهة المستخدم، فإن الضغط على مفتاح <strong>Esc</strong> يؤدي أيضًا إلى الخروج\\n' +\n  '  من التنقل بواسطة لوحة المفاتيح بالكامل.</p>\\n' +\n  '\\n' +\n  '<h1>تنفيذ عنصر قائمة أو زر شريط أدوات</h1>\\n' +\n  '\\n' +\n  '<p>عندما يتم تمييز عنصر القائمة المطلوب أو زر شريط الأدوات، اضغط على زر <strong>Return</strong>، أو <strong>Enter</strong>،\\n' +\n  '  أو <strong>مفتاح المسافة</strong> لتنفيذ العنصر.</p>\\n' +\n  '\\n' +\n  '<h1>التنقل في مربعات الحوار غير المبوبة</h1>\\n' +\n  '\\n' +\n  '<p>في مربعات الحوار غير المبوبة، يتم التركيز على المكون التفاعلي الأول عند فتح مربع الحوار.</p>\\n' +\n  '\\n' +\n  '<p>التنقل بين مكونات الحوار التفاعلي بالضغط على زر <strong>Tab</strong> أو <strong>Shift+Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<h1>التنقل في مربعات الحوار المبوبة</h1>\\n' +\n  '\\n' +\n  '<p>في مربعات الحوار المبوبة، يتم التركيز على الزر الأول في قائمة علامات التبويب عند فتح مربع الحوار.</p>\\n' +\n  '\\n' +\n  '<p>التنقل بين المكونات التفاعلية لعلامة التبويب لمربع الحوار هذه بالضغط على زر <strong>Tab</strong> أو\\n' +\n  '  <strong>Shift+Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<p>التبديل إلى علامة تبويب أخرى لمربع الحوار من خلال التركيز على قائمة علامة التبويب ثم الضغط على زر <strong>السهم</strong> المناسب\\n' +\n  '  مفتاح للتنقل بين علامات التبويب المتاحة.</p>\\n');"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/plugins/help/js/i18n/keynav/bg-BG.js",
    "content": "tinymce.Resource.add('tinymce.html-i18n.help-keynav.bg-BG',\n'<h1>Начало на навигацията с клавиатурата</h1>\\n' +\n  '\\n' +\n  '<dl>\\n' +\n  '  <dt>Фокусиране върху лентата с менюта</dt>\\n' +\n  '  <dd>Windows или Linux: Alt+F9</dd>\\n' +\n  '  <dd>macOS: &#x2325;F9</dd>\\n' +\n  '  <dt>Фокусиране върху лентата с инструменти</dt>\\n' +\n  '  <dd>Windows или Linux: Alt+F10</dd>\\n' +\n  '  <dd>macOS: &#x2325;F10</dd>\\n' +\n  '  <dt>Фокусиране върху долния колонтитул</dt>\\n' +\n  '  <dd>Windows или Linux: Alt+F11</dd>\\n' +\n  '  <dd>macOS: &#x2325;F11</dd>\\n' +\n  '  <dt>Фокусиране на известието</dt>\\n' +\n  '  <dd>Windows или Linux: Alt+F12</dd>\\n' +\n  '  <dd>macOS: &#x2325;F12</dd>\\n' +\n  '  <dt>Фокусиране върху контекстуалната лента с инструменти</dt>\\n' +\n  '  <dd>Windows, Linux или macOS: Ctrl+F9</dd>\\n' +\n  '</dl>\\n' +\n  '\\n' +\n  '<p>Навигацията ще започне с първия елемент на ПИ, който ще бъде маркиран или подчертан в случая на първия елемент в\\n' +\n  '  пътя до елемента в долния колонтитул.</p>\\n' +\n  '\\n' +\n  '<h1>Навигиране между раздели на ПИ</h1>\\n' +\n  '\\n' +\n  '<p>За да преминете от един раздел на ПИ към следващия, натиснете <strong>Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<p>За да преминете от един раздел на ПИ към предишния, натиснете <strong>Shift+Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Редът за <strong>обхождане с табулация</strong> на тези раздели на ПИ е:</p>\\n' +\n  '\\n' +\n  '<ol>\\n' +\n  '  <li>Лентата с менюта</li>\\n' +\n  '  <li>Всяка група на лентата с инструменти</li>\\n' +\n  '  <li>Страничната лента</li>\\n' +\n  '  <li>Пътят до елемента в долния колонтитул</li>\\n' +\n  '  <li>Бутонът за превключване на броя на думите в долния колонтитул</li>\\n' +\n  '  <li>Връзката за търговска марка в долния колонтитул</li>\\n' +\n  '  <li>Манипулаторът за преоразмеряване на редактора в долния колонтитул</li>\\n' +\n  '</ol>\\n' +\n  '\\n' +\n  '<p>Ако някой раздел на ПИ липсва, той се пропуска.</p>\\n' +\n  '\\n' +\n  '<p>Ако долният колонтитул има фокус за навигация с клавиатурата и няма странична лента, натискането на <strong>Shift+Tab</strong>\\n' +\n  '  премества фокуса към първата група на лентата с инструменти, а не към последната.</p>\\n' +\n  '\\n' +\n  '<h1>Навигиране в разделите на ПИ</h1>\\n' +\n  '\\n' +\n  '<p>За да преминете от един елемент на ПИ към следващия, натиснете съответния клавиш със <strong>стрелка</strong>.</p>\\n' +\n  '\\n' +\n  '<p>С клавишите със стрелка <strong>наляво</strong> и <strong>надясно</strong></p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>се придвижвате между менютата в лентата с менюто;</li>\\n' +\n  '  <li>отваряте подменю в меню;</li>\\n' +\n  '  <li>се придвижвате между бутоните в група на лентата с инструменти;</li>\\n' +\n  '  <li>се придвижвате между елементи в пътя до елемент в долния колонтитул.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p>С клавишите със стрелка <strong>надолу</strong> и <strong>нагоре</strong></p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>се придвижвате между елементите от менюто в дадено меню;</li>\\n' +\n  '  <li>се придвижвате между елементите в изскачащо меню на лентата с инструменти.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p>Клавишите със <strong>стрелки</strong> се придвижват в рамките на фокусирания раздел на ПИ.</p>\\n' +\n  '\\n' +\n  '<p>За да затворите отворено меню, подменю или изскачащо меню, натиснете клавиша <strong>Esc</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Ако текущият фокус е върху „горната част“ на конкретен раздел на ПИ, натискането на клавиша <strong>Esc</strong> също излиза\\n' +\n  '  напълно от навигацията с клавиатурата.</p>\\n' +\n  '\\n' +\n  '<h1>Изпълнение на елемент от менюто или бутон от лентата с инструменти</h1>\\n' +\n  '\\n' +\n  '<p>Когато желаният елемент от менюто или бутон от лентата с инструменти е маркиран, натиснете <strong>Return</strong>, <strong>Enter</strong>\\n' +\n  '  или <strong>клавиша за интервал</strong>, за да изпълните елемента.</p>\\n' +\n  '\\n' +\n  '<h1>Навигиране в диалогови прозорци без раздели</h1>\\n' +\n  '\\n' +\n  '<p>В диалоговите прозорци без раздели първият интерактивен компонент се фокусира, когато се отвори диалоговият прозорец.</p>\\n' +\n  '\\n' +\n  '<p>Навигирайте между интерактивните компоненти на диалоговия прозорец, като натиснете <strong>Tab</strong> или <strong>Shift+Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<h1>Навигиране в диалогови прозорци с раздели</h1>\\n' +\n  '\\n' +\n  '<p>В диалоговите прозорци с раздели първият бутон в менюто с раздели се фокусира, когато се отвори диалоговият прозорец.</p>\\n' +\n  '\\n' +\n  '<p>Навигирайте между интерактивните компоненти на този диалогов раздел, като натиснете <strong>Tab</strong> или\\n' +\n  '  <strong>Shift+Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Превключете към друг диалогов раздел, като фокусирате върху менюто с раздели и след това натиснете съответния клавиш със <strong>стрелка</strong>,\\n' +\n  '  за да преминете през наличните раздели.</p>\\n');"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/plugins/help/js/i18n/keynav/bg_BG.js",
    "content": "tinymce.Resource.add('tinymce.html-i18n.help-keynav.bg_BG',\n'<h1>Начало на навигацията с клавиатурата</h1>\\n' +\n  '\\n' +\n  '<dl>\\n' +\n  '  <dt>Фокусиране върху лентата с менюта</dt>\\n' +\n  '  <dd>Windows или Linux: Alt+F9</dd>\\n' +\n  '  <dd>macOS: &#x2325;F9</dd>\\n' +\n  '  <dt>Фокусиране върху лентата с инструменти</dt>\\n' +\n  '  <dd>Windows или Linux: Alt+F10</dd>\\n' +\n  '  <dd>macOS: &#x2325;F10</dd>\\n' +\n  '  <dt>Фокусиране върху долния колонтитул</dt>\\n' +\n  '  <dd>Windows или Linux: Alt+F11</dd>\\n' +\n  '  <dd>macOS: &#x2325;F11</dd>\\n' +\n  '  <dt>Фокусиране на известието</dt>\\n' +\n  '  <dd>Windows или Linux: Alt+F12</dd>\\n' +\n  '  <dd>macOS: &#x2325;F12</dd>\\n' +\n  '  <dt>Фокусиране върху контекстуалната лента с инструменти</dt>\\n' +\n  '  <dd>Windows, Linux или macOS: Ctrl+F9</dd>\\n' +\n  '</dl>\\n' +\n  '\\n' +\n  '<p>Навигацията ще започне с първия елемент на ПИ, който ще бъде маркиран или подчертан в случая на първия елемент в\\n' +\n  '  пътя до елемента в долния колонтитул.</p>\\n' +\n  '\\n' +\n  '<h1>Навигиране между раздели на ПИ</h1>\\n' +\n  '\\n' +\n  '<p>За да преминете от един раздел на ПИ към следващия, натиснете <strong>Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<p>За да преминете от един раздел на ПИ към предишния, натиснете <strong>Shift+Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Редът за <strong>обхождане с табулация</strong> на тези раздели на ПИ е:</p>\\n' +\n  '\\n' +\n  '<ol>\\n' +\n  '  <li>Лентата с менюта</li>\\n' +\n  '  <li>Всяка група на лентата с инструменти</li>\\n' +\n  '  <li>Страничната лента</li>\\n' +\n  '  <li>Пътят до елемента в долния колонтитул</li>\\n' +\n  '  <li>Бутонът за превключване на броя на думите в долния колонтитул</li>\\n' +\n  '  <li>Връзката за търговска марка в долния колонтитул</li>\\n' +\n  '  <li>Манипулаторът за преоразмеряване на редактора в долния колонтитул</li>\\n' +\n  '</ol>\\n' +\n  '\\n' +\n  '<p>Ако някой раздел на ПИ липсва, той се пропуска.</p>\\n' +\n  '\\n' +\n  '<p>Ако долният колонтитул има фокус за навигация с клавиатурата и няма странична лента, натискането на <strong>Shift+Tab</strong>\\n' +\n  '  премества фокуса към първата група на лентата с инструменти, а не към последната.</p>\\n' +\n  '\\n' +\n  '<h1>Навигиране в разделите на ПИ</h1>\\n' +\n  '\\n' +\n  '<p>За да преминете от един елемент на ПИ към следващия, натиснете съответния клавиш със <strong>стрелка</strong>.</p>\\n' +\n  '\\n' +\n  '<p>С клавишите със стрелка <strong>наляво</strong> и <strong>надясно</strong></p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>се придвижвате между менютата в лентата с менюто;</li>\\n' +\n  '  <li>отваряте подменю в меню;</li>\\n' +\n  '  <li>се придвижвате между бутоните в група на лентата с инструменти;</li>\\n' +\n  '  <li>се придвижвате между елементи в пътя до елемент в долния колонтитул.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p>С клавишите със стрелка <strong>надолу</strong> и <strong>нагоре</strong></p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>се придвижвате между елементите от менюто в дадено меню;</li>\\n' +\n  '  <li>се придвижвате между елементите в изскачащо меню на лентата с инструменти.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p>Клавишите със <strong>стрелки</strong> се придвижват в рамките на фокусирания раздел на ПИ.</p>\\n' +\n  '\\n' +\n  '<p>За да затворите отворено меню, подменю или изскачащо меню, натиснете клавиша <strong>Esc</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Ако текущият фокус е върху „горната част“ на конкретен раздел на ПИ, натискането на клавиша <strong>Esc</strong> също излиза\\n' +\n  '  напълно от навигацията с клавиатурата.</p>\\n' +\n  '\\n' +\n  '<h1>Изпълнение на елемент от менюто или бутон от лентата с инструменти</h1>\\n' +\n  '\\n' +\n  '<p>Когато желаният елемент от менюто или бутон от лентата с инструменти е маркиран, натиснете <strong>Return</strong>, <strong>Enter</strong>\\n' +\n  '  или <strong>клавиша за интервал</strong>, за да изпълните елемента.</p>\\n' +\n  '\\n' +\n  '<h1>Навигиране в диалогови прозорци без раздели</h1>\\n' +\n  '\\n' +\n  '<p>В диалоговите прозорци без раздели първият интерактивен компонент се фокусира, когато се отвори диалоговият прозорец.</p>\\n' +\n  '\\n' +\n  '<p>Навигирайте между интерактивните компоненти на диалоговия прозорец, като натиснете <strong>Tab</strong> или <strong>Shift+Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<h1>Навигиране в диалогови прозорци с раздели</h1>\\n' +\n  '\\n' +\n  '<p>В диалоговите прозорци с раздели първият бутон в менюто с раздели се фокусира, когато се отвори диалоговият прозорец.</p>\\n' +\n  '\\n' +\n  '<p>Навигирайте между интерактивните компоненти на този диалогов раздел, като натиснете <strong>Tab</strong> или\\n' +\n  '  <strong>Shift+Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Превключете към друг диалогов раздел, като фокусирате върху менюто с раздели и след това натиснете съответния клавиш със <strong>стрелка</strong>,\\n' +\n  '  за да преминете през наличните раздели.</p>\\n');"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/plugins/help/js/i18n/keynav/ca.js",
    "content": "tinymce.Resource.add('tinymce.html-i18n.help-keynav.ca',\n'<h1>Inici de la navegació amb el teclat</h1>\\n' +\n  '\\n' +\n  '<dl>\\n' +\n  '  <dt>Enfocar la barra de menús</dt>\\n' +\n  '  <dd>Windows o Linux: Alt+F9</dd>\\n' +\n  '  <dd>macOS: &#x2325;F9</dd>\\n' +\n  \"  <dt>Enfocar la barra d'eines</dt>\\n\" +\n  '  <dd>Windows o Linux: Alt+F10</dd>\\n' +\n  '  <dd>macOS: &#x2325;F10</dd>\\n' +\n  '  <dt>Enfocar el peu de pàgina</dt>\\n' +\n  '  <dd>Windows o Linux: Alt+F11</dd>\\n' +\n  '  <dd>macOS: &#x2325;F11</dd>\\n' +\n  '  <dt>Enfocar la notificació</dt>\\n' +\n  '  <dd>Windows o Linux: Alt+F12</dd>\\n' +\n  '  <dd>macOS: &#x2325;F12</dd>\\n' +\n  \"  <dt>Enfocar una barra d'eines contextual</dt>\\n\" +\n  '  <dd>Windows, Linux o macOS: Ctrl+F9</dd>\\n' +\n  '</dl>\\n' +\n  '\\n' +\n  \"<p>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\" +\n  \"  la ruta de l'element de peu de pàgina.</p>\\n\" +\n  '\\n' +\n  \"<h1>Navegació entre seccions de la interfície d'usuari</h1>\\n\" +\n  '\\n' +\n  \"<p>Per desplaçar-vos des d'una secció de la interfície d'usuari a la següent, premeu la tecla <strong>Tab</strong>.</p>\\n\" +\n  '\\n' +\n  \"<p>Per desplaçar-vos des d'una secció de la interfície d'usuari a l'anterior, premeu les tecles <strong>Maj+Tab</strong>.</p>\\n\" +\n  '\\n' +\n  \"<p>L'ordre en prémer la tecla <strong>Tab</strong> d'aquestes secciones de la interfície d'usuari és:</p>\\n\" +\n  '\\n' +\n  '<ol>\\n' +\n  '  <li>Barra de menús</li>\\n' +\n  \"  <li>Cada grup de la barra d'eines</li>\\n\" +\n  '  <li>Barra lateral</li>\\n' +\n  \"  <li>Ruta de l'element del peu de pàgina</li>\\n\" +\n  '  <li>Botó de commutació de recompte de paraules al peu de pàgina</li>\\n' +\n  '  <li>Enllaç de marca del peu de pàgina</li>\\n' +\n  \"  <li>Control de canvi de mida de l'editor al peu de pàgina</li>\\n\" +\n  '</ol>\\n' +\n  '\\n' +\n  \"<p>Si no hi ha una secció de la interfície d'usuari, s'ometrà.</p>\\n\" +\n  '\\n' +\n  '<p>Si el peu de pàgina té el focus de navegació del teclat i no hi ha cap barra lateral visible, en prémer <strong>Maj+Tab</strong>\\n' +\n  \"  el focus es mou al primer grup de la barra d'eines, no l'últim.</p>\\n\" +\n  '\\n' +\n  \"<h1>Navegació dins de les seccions de la interfície d'usuari</h1>\\n\" +\n  '\\n' +\n  \"<p>Per desplaçar-vos des d'un element de la interfície d'usuari al següent, premeu la tecla de <strong>Fletxa</strong> adequada.</p>\\n\" +\n  '\\n' +\n  '<p>Les tecles de fletxa <strong>Esquerra</strong> i <strong>Dreta</strong></p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>us permeten desplaçar-vos entre menús de la barra de menús.</li>\\n' +\n  '  <li>obren un submenú en un menú.</li>\\n' +\n  \"  <li>us permeten desplaçar-vos entre botons d'un grup de la barra d'eines.</li>\\n\" +\n  \"  <li>us permeten desplaçar-vos entre elements de la ruta d'elements del peu de pàgina.</li>\\n\" +\n  '</ul>\\n' +\n  '\\n' +\n  '<p>Les tecles de fletxa <strong>Avall</strong> i <strong>Amunt</strong></p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  \"  <li>us permeten desplaçar-vos entre elements de menú d'un menú.</li>\\n\" +\n  \"  <li>us permeten desplaçar-vos entre elements d'un menú emergent de la barra d'eines.</li>\\n\" +\n  '</ul>\\n' +\n  '\\n' +\n  \"<p>Les tecles de <strong>Fletxa</strong> us permeten desplaçar-vos dins de la secció de la interfície d'usuari que té el focus.</p>\\n\" +\n  '\\n' +\n  '<p>Per tancar un menú, un submenú o un menú emergent oberts, premeu la tecla <strong>Esc</strong>.</p>\\n' +\n  '\\n' +\n  \"<p>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 <strong>Esc</strong> també es tanca\\n\" +\n  '  completament la navegació amb el teclat.</p>\\n' +\n  '\\n' +\n  \"<h1>Execució d'un element de menú o d'un botó de la barra d'eines</h1>\\n\" +\n  '\\n' +\n  \"<p>Quan l'element del menú o el botó de la barra d'eines que desitgeu estigui ressaltat, premeu <strong>Retorn</strong>, <strong>Intro</strong>\\n\" +\n  \"  o la <strong>barra d'espai</strong> per executar l'element.</p>\\n\" +\n  '\\n' +\n  '<h1>Navegació per quadres de diàleg sense pestanyes</h1>\\n' +\n  '\\n' +\n  \"<p>En els quadres de diàleg sense pestanyes, el primer component interactiu pren el focus quan s'obre el quadre diàleg.</p>\\n\" +\n  '\\n' +\n  '<p>Premeu la tecla <strong>Tab</strong> o les tecles <strong>Maj+Tab</strong> per desplaçar-vos entre components interactius del quadre de diàleg.</p>\\n' +\n  '\\n' +\n  '<h1>Navegació per quadres de diàleg amb pestanyes</h1>\\n' +\n  '\\n' +\n  \"<p>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.</p>\\n\" +\n  '\\n' +\n  \"<p>Per desplaçar-vos entre components interactius d'aquest quadre de diàleg, premeu la tecla <strong>Tab</strong> o\\n\" +\n  '  les tecles <strong>Maj+Tab</strong>.</p>\\n' +\n  '\\n' +\n  \"<p>Canvieu a la pestanya d'un altre quadre de diàleg, tot enfocant el menú de la pestanya, i després premeu la tecla <strong>Fletxa</strong> adequada\\n\" +\n  '  per canviar entre les pestanyes disponibles.</p>\\n');"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/plugins/help/js/i18n/keynav/cs.js",
    "content": "tinymce.Resource.add('tinymce.html-i18n.help-keynav.cs',\n'<h1>Začínáme navigovat pomocí klávesnice</h1>\\n' +\n  '\\n' +\n  '<dl>\\n' +\n  '  <dt>Přejít na řádek nabídek</dt>\\n' +\n  '  <dd>Windows nebo Linux: Alt+F9</dd>\\n' +\n  '  <dd>macOS: &#x2325;F9</dd>\\n' +\n  '  <dt>Přejít na panel nástrojů</dt>\\n' +\n  '  <dd>Windows nebo Linux: Alt+F10</dd>\\n' +\n  '  <dd>macOS: &#x2325;F10</dd>\\n' +\n  '  <dt>Přejít na zápatí</dt>\\n' +\n  '  <dd>Windows nebo Linux: Alt+F11</dd>\\n' +\n  '  <dd>macOS: &#x2325;F11</dd>\\n' +\n  '  <dt>Přejít na oznámení</dt>\\n' +\n  '  <dd>Windows nebo Linux: Alt+F12</dd>\\n' +\n  '  <dd>macOS: &#x2325;F12</dd>\\n' +\n  '  <dt>Přejít na kontextový panel nástrojů</dt>\\n' +\n  '  <dd>Windows, Linux nebo macOS: Ctrl+F9</dd>\\n' +\n  '</dl>\\n' +\n  '\\n' +\n  '<p>Navigace začne u první položky uživatelského rozhraní, která bude zvýrazněna nebo v případě první položky\\n' +\n  '  cesty k prvku zápatí podtržena.</p>\\n' +\n  '\\n' +\n  '<h1>Navigace mezi oddíly uživatelského rozhraní</h1>\\n' +\n  '\\n' +\n  '<p>Stisknutím klávesy <strong>Tab</strong> se posunete z jednoho oddílu uživatelského rozhraní na další.</p>\\n' +\n  '\\n' +\n  '<p>Stisknutím kláves <strong>Shift+Tab</strong> se posunete z jednoho oddílu uživatelského rozhraní na předchozí.</p>\\n' +\n  '\\n' +\n  '<p>Pořadí přepínání mezi oddíly uživatelského rozhraní pomocí klávesy <strong>Tab</strong>:</p>\\n' +\n  '\\n' +\n  '<ol>\\n' +\n  '  <li>Řádek nabídek</li>\\n' +\n  '  <li>Každá skupina panelu nástrojů</li>\\n' +\n  '  <li>Boční panel</li>\\n' +\n  '  <li>Cesta k prvku v zápatí.</li>\\n' +\n  '  <li>Tlačítko přepínače počtu slov v zápatí</li>\\n' +\n  '  <li>Odkaz na informace o značce v zápatí</li>\\n' +\n  '  <li>Úchyt pro změnu velikosti editoru v zápatí</li>\\n' +\n  '</ol>\\n' +\n  '\\n' +\n  '<p>Pokud nějaký oddíl uživatelského rozhraní není přítomen, je přeskočen.</p>\\n' +\n  '\\n' +\n  '<p>Pokud je zápatí vybrané pro navigaci pomocí klávesnice a není zobrazen žádný boční panel, stisknutím kláves <strong>Shift+Tab</strong>\\n' +\n  '  přejdete na první skupinu panelu nástrojů, nikoli na poslední.</p>\\n' +\n  '\\n' +\n  '<h1>Navigace v rámci oddílů uživatelského rozhraní</h1>\\n' +\n  '\\n' +\n  '<p>Chcete-li se přesunout z jednoho prvku uživatelského rozhraní na další, stiskněte příslušnou klávesu s <strong>šipkou</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Klávesy s šipkou <strong>vlevo</strong> a <strong>vpravo</strong></p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>umožňují přesun mezi nabídkami na řádku nabídek;</li>\\n' +\n  '  <li>otevírají podnabídku nabídky;</li>\\n' +\n  '  <li>umožňují přesun mezi tlačítky ve skupině panelu nástrojů;</li>\\n' +\n  '  <li>umožňují přesun mezi položkami cesty prvku v zápatí.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p>Klávesy se šipkou <strong>dolů</strong> a <strong>nahoru</strong></p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>umožňují přesun mezi položkami nabídky;</li>\\n' +\n  '  <li>umožňují přesun mezi položkami místní nabídky panelu nástrojů.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p><strong>Šipky</strong> provádí přepínání v rámci vybraného oddílu uživatelského rozhraní.</p>\\n' +\n  '\\n' +\n  '<p>Chcete-li zavřít otevřenou nabídku, podnabídku nebo místní nabídku, stiskněte klávesu <strong>Esc</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Pokud je aktuálně vybrána horní část oddílu uživatelského rozhraní, stisknutím klávesy <strong>Esc</strong> zcela ukončíte také\\n' +\n  '  navigaci pomocí klávesnice.</p>\\n' +\n  '\\n' +\n  '<h1>Provedení příkazu položky nabídky nebo tlačítka panelu nástrojů</h1>\\n' +\n  '\\n' +\n  '<p>Pokud je zvýrazněna požadovaná položka nabídky nebo tlačítko panelu nástrojů, stisknutím klávesy <strong>Return</strong>, <strong>Enter</strong>\\n' +\n  '  nebo <strong>mezerníku</strong> provedete příslušný příkaz.</p>\\n' +\n  '\\n' +\n  '<h1>Navigace v dialogových oknech bez záložek</h1>\\n' +\n  '\\n' +\n  '<p>Při otevření dialogových oken bez záložek přejdete na první interaktivní komponentu.</p>\\n' +\n  '\\n' +\n  '<p>Přecházet mezi interaktivními komponentami dialogového okna můžete stisknutím klávesy <strong>Tab</strong> nebo kombinace <strong>Shift+Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<h1>Navigace v dialogových oknech se záložkami</h1>\\n' +\n  '\\n' +\n  '<p>Při otevření dialogových oken se záložkami přejdete na první tlačítko v nabídce záložek.</p>\\n' +\n  '\\n' +\n  '<p>Přecházet mezi interaktivními komponentami této záložky dialogového okna můžete stisknutím klávesy <strong>Tab</strong> nebo\\n' +\n  '  kombinace <strong>Shift+Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<p>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é <strong>šipky</strong>\\n' +\n  '  přepínat mezi dostupnými záložkami.</p>\\n');"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/plugins/help/js/i18n/keynav/da.js",
    "content": "tinymce.Resource.add('tinymce.html-i18n.help-keynav.da',\n'<h1>Start tastaturnavigation</h1>\\n' +\n  '\\n' +\n  '<dl>\\n' +\n  '  <dt>Fokuser på menulinjen</dt>\\n' +\n  '  <dd>Windows eller Linux: Alt+F9</dd>\\n' +\n  '  <dd>macOS: &#x2325;F9</dd>\\n' +\n  '  <dt>Fokuser på værktøjslinjen</dt>\\n' +\n  '  <dd>Windows eller Linux: Alt+F10</dd>\\n' +\n  '  <dd>macOS: &#x2325;F10</dd>\\n' +\n  '  <dt>Fokuser på sidefoden</dt>\\n' +\n  '  <dd>Windows eller Linux: Alt+F11</dd>\\n' +\n  '  <dd>macOS: &#x2325;F11</dd>\\n' +\n  '  <dt>Fokuser på meddelelsen</dt>\\n' +\n  '  <dd>Windows eller Linux: Alt+F12</dd>\\n' +\n  '  <dd>macOS: &#x2325;F12</dd>\\n' +\n  '  <dt>Fokuser på kontekstuel værktøjslinje</dt>\\n' +\n  '  <dd>Windows, Linux eller macOS: Ctrl+F9</dd>\\n' +\n  '</dl>\\n' +\n  '\\n' +\n  '<p>Navigationen starter ved det første UI-element, som fremhæves eller understreges hvad angår det første element i\\n' +\n  '  sidefodens sti til elementet.</p>\\n' +\n  '\\n' +\n  '<h1>Naviger mellem UI-sektioner</h1>\\n' +\n  '\\n' +\n  '<p>Gå fra én UI-sektion til den næste ved at trykke på <strong>Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Gå fra én UI-sektion til den forrige ved at trykke på <strong>Shift+Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<p><strong>Tab</strong>-rækkefølgen af disse UI-sektioner er:</p>\\n' +\n  '\\n' +\n  '<ol>\\n' +\n  '  <li>Menulinje</li>\\n' +\n  '  <li>Hver værktøjsgruppe</li>\\n' +\n  '  <li>Sidepanel</li>\\n' +\n  '  <li>Sti til elementet i sidefoden</li>\\n' +\n  '  <li>Til/fra-knap for ordoptælling i sidefoden</li>\\n' +\n  '  <li>Brandinglink i sidefoden</li>\\n' +\n  '  <li>Tilpasningshåndtag for editor i sidefoden</li>\\n' +\n  '</ol>\\n' +\n  '\\n' +\n  '<p>Hvis en UI-sektion ikke er til stede, springes den over.</p>\\n' +\n  '\\n' +\n  '<p>Hvis sidefoden har fokus til tastaturnavigation, og der ikke er noget synligt sidepanel, kan der trykkes på <strong>Shift+Tab</strong>\\n' +\n  '  for at flytte fokus til den første værktøjsgruppe, ikke den sidste.</p>\\n' +\n  '\\n' +\n  '<h1>Naviger inden for UI-sektioner</h1>\\n' +\n  '\\n' +\n  '<p>Gå fra ét UI-element til det næste ved at trykke på den relevante <strong>piletast</strong>.</p>\\n' +\n  '\\n' +\n  '<p><strong>Venstre</strong> og <strong>højre</strong> piletast</p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>flytter mellem menuerne i menulinjen.</li>\\n' +\n  '  <li>åbner en undermenu i en menu.</li>\\n' +\n  '  <li>flytter mellem knapperne i en værktøjsgruppe.</li>\\n' +\n  '  <li>flytter mellem elementer i sidefodens sti til elementet.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p>Pil <strong>ned</strong> og <strong>op</strong></p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>flytter mellem menupunkterne i en menu.</li>\\n' +\n  '  <li>flytter mellem punkterne i en genvejsmenu i værktøjslinjen.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p><strong>Piletasterne</strong> kører rundt inden for UI-sektionen, der fokuseres på.</p>\\n' +\n  '\\n' +\n  '<p>For at lukke en åben menu, en åben undermenu eller en åben genvejsmenu trykkes der på <strong>Esc</strong>-tasten.</p>\\n' +\n  '\\n' +\n  \"<p>Hvis det aktuelle fokus er i 'toppen' af en bestemt UI-sektion, vil tryk på <strong>Esc</strong>-tasten også afslutte\\n\" +\n  '  tastaturnavigationen helt.</p>\\n' +\n  '\\n' +\n  '<h1>Udfør et menupunkt eller en værktøjslinjeknap</h1>\\n' +\n  '\\n' +\n  '<p>Når det ønskede menupunkt eller den ønskede værktøjslinjeknap er fremhævet, trykkes der på <strong>Retur</strong>, <strong>Enter</strong>\\n' +\n  '  eller <strong>mellemrumstasten</strong> for at udføre elementet.</p>\\n' +\n  '\\n' +\n  '<h1>Naviger i ikke-faneopdelte dialogbokse</h1>\\n' +\n  '\\n' +\n  '<p>I ikke-faneopdelte dialogbokse får den første interaktive komponent fokus, når dialogboksen åbnes.</p>\\n' +\n  '\\n' +\n  '<p>Naviger mellem interaktive dialogbokskomponenter ved at trykke på <strong>Tab</strong> eller <strong>Shift+Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<h1>Naviger i faneopdelte dialogbokse</h1>\\n' +\n  '\\n' +\n  '<p>I faneopdelte dialogbokse får den første knap i fanemenuen fokus, når dialogboksen åbnes.</p>\\n' +\n  '\\n' +\n  '<p>Naviger mellem interaktive komponenter i denne dialogboksfane ved at trykke på <strong>Tab</strong> eller\\n' +\n  '  <strong>Shift+Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Skift til en anden dialogboksfane ved at fokusere på fanemenuen og derefter trykke på den relevante <strong>piletast</strong>\\n' +\n  '  for at køre igennem de tilgængelige faner.</p>\\n');"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/plugins/help/js/i18n/keynav/de.js",
    "content": "tinymce.Resource.add('tinymce.html-i18n.help-keynav.de',\n'<h1>Grundlagen der Tastaturnavigation</h1>\\n' +\n  '\\n' +\n  '<dl>\\n' +\n  '  <dt>Fokus auf Menüleiste</dt>\\n' +\n  '  <dd>Windows oder Linux: ALT+F9</dd>\\n' +\n  '  <dd>macOS: &#x2325;F9</dd>\\n' +\n  '  <dt>Fokus auf Symbolleiste</dt>\\n' +\n  '  <dd>Windows oder Linux: ALT+F10</dd>\\n' +\n  '  <dd>macOS: &#x2325;F10</dd>\\n' +\n  '  <dt>Fokus auf Fußzeile</dt>\\n' +\n  '  <dd>Windows oder Linux: ALT+F11</dd>\\n' +\n  '  <dd>macOS: &#x2325;F11</dd>\\n' +\n  '  <dt>Benachrichtigung fokussieren</dt>\\n' +\n  '  <dd>Windows oder Linux: ALT+F12</dd>\\n' +\n  '  <dd>macOS: &#x2325;F12</dd>\\n' +\n  '  <dt>Fokus auf kontextbezogene Symbolleiste</dt>\\n' +\n  '  <dd>Windows, Linux oder macOS: STRG+F9</dd>\\n' +\n  '</dl>\\n' +\n  '\\n' +\n  '<p>Die Navigation beginnt beim ersten Benutzeroberflächenelement, welches hervorgehoben ist. Falls sich das erste Element im Pfad der Fußzeile befindet,\\n' +\n  '  ist es unterstrichen.</p>\\n' +\n  '\\n' +\n  '<h1>Zwischen Abschnitten der Benutzeroberfläche navigieren</h1>\\n' +\n  '\\n' +\n  '<p>Um von einem Abschnitt der Benutzeroberfläche zum nächsten zu wechseln, drücken Sie <strong>TAB</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Um von einem Abschnitt der Benutzeroberfläche zum vorherigen zu wechseln, drücken Sie <strong>UMSCHALT+TAB</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Die Abschnitte der Benutzeroberfläche haben folgende <strong>TAB</strong>-Reihenfolge:</p>\\n' +\n  '\\n' +\n  '<ol>\\n' +\n  '  <li>Menüleiste</li>\\n' +\n  '  <li>Einzelne Gruppen der Symbolleiste</li>\\n' +\n  '  <li>Randleiste</li>\\n' +\n  '  <li>Elementpfad in der Fußzeile</li>\\n' +\n  '  <li>Umschaltfläche „Wörter zählen“ in der Fußzeile</li>\\n' +\n  '  <li>Branding-Link in der Fußzeile</li>\\n' +\n  '  <li>Editor-Ziehpunkt zur Größenänderung in der Fußzeile</li>\\n' +\n  '</ol>\\n' +\n  '\\n' +\n  '<p>Falls ein Abschnitt der Benutzeroberflächen nicht vorhanden ist, wird er übersprungen.</p>\\n' +\n  '\\n' +\n  '<p>Wenn in der Fußzeile die Tastaturnavigation fokussiert ist und keine Randleiste angezeigt wird, wechselt der Fokus durch Drücken von <strong>UMSCHALT+TAB</strong>\\n' +\n  '  zur ersten Gruppe der Symbolleiste, nicht zur letzten.</p>\\n' +\n  '\\n' +\n  '<h1>Innerhalb von Abschnitten der Benutzeroberfläche navigieren</h1>\\n' +\n  '\\n' +\n  '<p>Um von einem Element der Benutzeroberfläche zum nächsten zu wechseln, drücken Sie die entsprechende <strong>Pfeiltaste</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Die Pfeiltasten <strong>Links</strong> und <strong>Rechts</strong></p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>wechseln zwischen Menüs in der Menüleiste.</li>\\n' +\n  '  <li>öffnen das Untermenü eines Menüs.</li>\\n' +\n  '  <li>wechseln zwischen Schaltflächen in einer Gruppe der Symbolleiste.</li>\\n' +\n  '  <li>wechseln zwischen Elementen im Elementpfad der Fußzeile.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p>Die Pfeiltasten <strong>Abwärts</strong> und <strong>Aufwärts</strong></p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>wechseln zwischen Menüelementen in einem Menü.</li>\\n' +\n  '  <li>wechseln zwischen Elementen in einem Popupmenü der Symbolleiste.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p>Die <strong>Pfeiltasten</strong> rotieren innerhalb des fokussierten Abschnitts der Benutzeroberfläche.</p>\\n' +\n  '\\n' +\n  '<p>Um ein geöffnetes Menü, ein geöffnetes Untermenü oder ein geöffnetes Popupmenü zu schließen, drücken Sie die <strong>ESC</strong>-Taste.</p>\\n' +\n  '\\n' +\n  '<p>Wenn sich der aktuelle Fokus ganz oben in einem bestimmten Abschnitt der Benutzeroberfläche befindet, wird durch Drücken der <strong>ESC</strong>-Taste auch\\n' +\n  '  die Tastaturnavigation beendet.</p>\\n' +\n  '\\n' +\n  '<h1>Ein Menüelement oder eine Symbolleistenschaltfläche ausführen</h1>\\n' +\n  '\\n' +\n  '<p>Wenn das gewünschte Menüelement oder die gewünschte Symbolleistenschaltfläche hervorgehoben ist, drücken Sie <strong>Zurück</strong>, <strong>Eingabe</strong>\\n' +\n  '  oder die <strong>Leertaste</strong>, um das Element auszuführen.</p>\\n' +\n  '\\n' +\n  '<h1>In Dialogfeldern ohne Registerkarten navigieren</h1>\\n' +\n  '\\n' +\n  '<p>In Dialogfeldern ohne Registerkarten ist beim Öffnen eines Dialogfelds die erste interaktive Komponente fokussiert.</p>\\n' +\n  '\\n' +\n  '<p>Navigieren Sie zwischen den interaktiven Komponenten eines Dialogfelds, indem Sie <strong>TAB</strong> oder <strong>UMSCHALT+TAB</strong> drücken.</p>\\n' +\n  '\\n' +\n  '<h1>In Dialogfeldern mit Registerkarten navigieren</h1>\\n' +\n  '\\n' +\n  '<p>In Dialogfeldern mit Registerkarten ist beim Öffnen eines Dialogfelds die erste Schaltfläche eines Registerkartenmenüs fokussiert.</p>\\n' +\n  '\\n' +\n  '<p>Navigieren Sie zwischen den interaktiven Komponenten auf dieser Registerkarte des Dialogfelds, indem Sie <strong>TAB</strong> oder\\n' +\n  '  <strong>UMSCHALT+TAB</strong> drücken.</p>\\n' +\n  '\\n' +\n  '<p>Wechseln Sie zu einer anderen Registerkarte des Dialogfelds, indem Sie den Fokus auf das Registerkartenmenü legen und dann die entsprechende <strong>Pfeiltaste</strong>\\n' +\n  '  drücken, um durch die verfügbaren Registerkarten zu rotieren.</p>\\n');"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/plugins/help/js/i18n/keynav/el.js",
    "content": "tinymce.Resource.add('tinymce.html-i18n.help-keynav.el',\n'<h1>Έναρξη πλοήγησης μέσω πληκτρολογίου</h1>\\n' +\n  '\\n' +\n  '<dl>\\n' +\n  '  <dt>Εστίαση στη γραμμή μενού</dt>\\n' +\n  '  <dd>Windows ή Linux: Alt+F9</dd>\\n' +\n  '  <dd>macOS: &#x2325;F9</dd>\\n' +\n  '  <dt>Εστίαση στη γραμμή εργαλείων</dt>\\n' +\n  '  <dd>Windows ή Linux: Alt+F10</dd>\\n' +\n  '  <dd>macOS: &#x2325;F10</dd>\\n' +\n  '  <dt>Εστίαση στο υποσέλιδο</dt>\\n' +\n  '  <dd>Windows ή Linux: Alt+F11</dd>\\n' +\n  '  <dd>macOS: &#x2325;F11</dd>\\n' +\n  '  <dt>Εστίαση στην ειδοποίηση</dt>\\n' +\n  '  <dd>Windows ή Linux: Alt+F12</dd>\\n' +\n  '  <dd>macOS: &#x2325;F12</dd>\\n' +\n  '  <dt>Εστίαση σε γραμμή εργαλείων βάσει περιεχομένου</dt>\\n' +\n  '  <dd>Windows, Linux ή macOS: Ctrl+F9</dd>\\n' +\n  '</dl>\\n' +\n  '\\n' +\n  '<p>Η πλοήγηση θα ξεκινήσει από το πρώτο στοιχείο περιβάλλοντος χρήστη, που θα επισημαίνεται ή θα είναι υπογραμμισμένο,\\n' +\n  '  όπως στην περίπτωση της διαδρομής του στοιχείου Υποσέλιδου.</p>\\n' +\n  '\\n' +\n  '<h1>Πλοήγηση μεταξύ ενοτήτων του περιβάλλοντος χρήστη</h1>\\n' +\n  '\\n' +\n  '<p>Για να μετακινηθείτε από μια ενότητα περιβάλλοντος χρήστη στην επόμενη, πιέστε το πλήκτρο <strong>Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Για να μετακινηθείτε από μια ενότητα περιβάλλοντος χρήστη στην προηγούμενη, πιέστε τα πλήκτρα <strong>Shift+Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Η σειρά <strong>Tab</strong> αυτών των ενοτήτων περιβάλλοντος χρήστη είναι η εξής:</p>\\n' +\n  '\\n' +\n  '<ol>\\n' +\n  '  <li>Γραμμή μενού</li>\\n' +\n  '  <li>Κάθε ομάδα γραμμής εργαλείων</li>\\n' +\n  '  <li>Πλαϊνή γραμμή</li>\\n' +\n  '  <li>Διαδρομή στοιχείου στο υποσέλιδο</li>\\n' +\n  '  <li>Κουμπί εναλλαγής μέτρησης λέξεων στο υποσέλιδο</li>\\n' +\n  '  <li>Σύνδεσμος επωνυμίας στο υποσέλιδο</li>\\n' +\n  '  <li>Λαβή αλλαγής μεγέθους προγράμματος επεξεργασίας στο υποσέλιδο</li>\\n' +\n  '</ol>\\n' +\n  '\\n' +\n  '<p>Εάν δεν εμφανίζεται ενότητα περιβάλλοντος χρήστη, παραλείπεται.</p>\\n' +\n  '\\n' +\n  '<p>Εάν η εστίαση πλοήγησης βρίσκεται στο πληκτρολόγιο και δεν υπάρχει εμφανής πλαϊνή γραμμή, εάν πιέσετε <strong>Shift+Tab</strong>\\n' +\n  '  η εστίαση μετακινείται στην πρώτη ομάδα γραμμής εργαλείων, όχι στην τελευταία.</p>\\n' +\n  '\\n' +\n  '<h1>Πλοήγηση εντός των ενοτήτων του περιβάλλοντος χρήστη</h1>\\n' +\n  '\\n' +\n  '<p>Για να μετακινηθείτε από ένα στοιχείο περιβάλλοντος χρήστη στο επόμενο, πιέστε το αντίστοιχο πλήκτρο <strong>βέλους</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Με τα πλήκτρα <strong>αριστερού</strong> και <strong>δεξιού</strong> βέλους</p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>γίνεται μετακίνηση μεταξύ των μενού στη γραμμή μενού.</li>\\n' +\n  '  <li>ανοίγει ένα υπομενού σε ένα μενού.</li>\\n' +\n  '  <li>γίνεται μετακίνηση μεταξύ κουμπιών σε μια ομάδα γραμμής εργαλείων.</li>\\n' +\n  '  <li>γίνεται μετακίνηση μεταξύ στοιχείων στη διαδρομή στοιχείου στο υποσέλιδο.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p>Με τα πλήκτρα <strong>επάνω</strong> και <strong>κάτω</strong> βέλους</p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>γίνεται μετακίνηση μεταξύ των στοιχείων μενού σε ένα μενού.</li>\\n' +\n  '  <li>γίνεται μετακίνηση μεταξύ των στοιχείων μενού σε ένα αναδυόμενο μενού γραμμής εργαλείων.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p>Με τα πλήκτρα <strong>βέλους</strong> γίνεται κυκλική μετακίνηση εντός της εστιασμένης ενότητας περιβάλλοντος χρήστη.</p>\\n' +\n  '\\n' +\n  '<p>Για να κλείσετε ένα ανοιχτό μενού, ένα ανοιχτό υπομενού ή ένα ανοιχτό αναδυόμενο μενού, πιέστε το πλήκτρο <strong>Esc</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Εάν η τρέχουσα εστίαση βρίσκεται στην κορυφή μιας ενότητας περιβάλλοντος χρήστη, πιέζοντας το πλήκτρο <strong>Esc</strong>,\\n' +\n  '  γίνεται επίσης πλήρης έξοδος από την πλοήγηση μέσω πληκτρολογίου.</p>\\n' +\n  '\\n' +\n  '<h1>Εκτέλεση ενός στοιχείου μενού ή κουμπιού γραμμής εργαλείων</h1>\\n' +\n  '\\n' +\n  '<p>Όταν το επιθυμητό στοιχείο μενού ή κουμπί γραμμής εργαλείων είναι επισημασμένο, πιέστε τα πλήκτρα <strong>Return</strong>, <strong>Enter</strong>,\\n' +\n  '  ή το <strong>πλήκτρο διαστήματος</strong> για να εκτελέσετε το στοιχείο.</p>\\n' +\n  '\\n' +\n  '<h1>Πλοήγηση σε παράθυρα διαλόγου χωρίς καρτέλες</h1>\\n' +\n  '\\n' +\n  '<p>Σε παράθυρα διαλόγου χωρίς καρτέλες, το πρώτο αλληλεπιδραστικό στοιχείο λαμβάνει την εστίαση όταν ανοίγει το παράθυρο διαλόγου.</p>\\n' +\n  '\\n' +\n  '<p>Μπορείτε να πλοηγηθείτε μεταξύ των αλληλεπιδραστικών στοιχείων παραθύρων διαλόγων πιέζοντας τα πλήκτρα <strong>Tab</strong> ή <strong>Shift+Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<h1>Πλοήγηση σε παράθυρα διαλόγου με καρτέλες</h1>\\n' +\n  '\\n' +\n  '<p>Σε παράθυρα διαλόγου με καρτέλες, το πρώτο κουμπί στο μενού καρτέλας λαμβάνει την εστίαση όταν ανοίγει το παράθυρο διαλόγου.</p>\\n' +\n  '\\n' +\n  '<p>Μπορείτε να πλοηγηθείτε μεταξύ των αλληλεπιδραστικών στοιχείων αυτής της καρτέλα διαλόγου πιέζοντας τα πλήκτρα <strong>Tab</strong> ή\\n' +\n  '  <strong>Shift+Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Μπορείτε να κάνετε εναλλαγή σε άλλη καρτέλα του παραθύρου διαλόγου, μεταφέροντας την εστίαση στο μενού καρτέλας και πιέζοντας το κατάλληλο πλήκτρο <strong>βέλους</strong>\\n' +\n  '  για να μετακινηθείτε κυκλικά στις διαθέσιμες καρτέλες.</p>\\n');"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/plugins/help/js/i18n/keynav/en.js",
    "content": "tinymce.Resource.add('tinymce.html-i18n.help-keynav.en',\n'<h1>Begin keyboard navigation</h1>\\n' +\n  '\\n' +\n  '<dl>\\n' +\n  '  <dt>Focus the Menu bar</dt>\\n' +\n  '  <dd>Windows or Linux: Alt+F9</dd>\\n' +\n  '  <dd>macOS: &#x2325;F9</dd>\\n' +\n  '  <dt>Focus the Toolbar</dt>\\n' +\n  '  <dd>Windows or Linux: Alt+F10</dd>\\n' +\n  '  <dd>macOS: &#x2325;F10</dd>\\n' +\n  '  <dt>Focus the footer</dt>\\n' +\n  '  <dd>Windows or Linux: Alt+F11</dd>\\n' +\n  '  <dd>macOS: &#x2325;F11</dd>\\n' +\n  '  <dt>Focus the notification</dt>\\n' +\n  '  <dd>Windows or Linux: Alt+F12</dd>\\n' +\n  '  <dd>macOS: &#x2325;F12</dd>\\n' +\n  '  <dt>Focus a contextual toolbar</dt>\\n' +\n  '  <dd>Windows, Linux or macOS: Ctrl+F9</dd>\\n' +\n  '</dl>\\n' +\n  '\\n' +\n  '<p>Navigation will start at the first UI item, which will be highlighted, or underlined in the case of the first item in\\n' +\n  '  the Footer element path.</p>\\n' +\n  '\\n' +\n  '<h1>Navigate between UI sections</h1>\\n' +\n  '\\n' +\n  '<p>To move from one UI section to the next, press <strong>Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<p>To move from one UI section to the previous, press <strong>Shift+Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<p>The <strong>Tab</strong> order of these UI sections is:</p>\\n' +\n  '\\n' +\n  '<ol>\\n' +\n  '  <li>Menu bar</li>\\n' +\n  '  <li>Each toolbar group</li>\\n' +\n  '  <li>Sidebar</li>\\n' +\n  '  <li>Element path in the footer</li>\\n' +\n  '  <li>Word count toggle button in the footer</li>\\n' +\n  '  <li>Branding link in the footer</li>\\n' +\n  '  <li>Editor resize handle in the footer</li>\\n' +\n  '</ol>\\n' +\n  '\\n' +\n  '<p>If a UI section is not present, it is skipped.</p>\\n' +\n  '\\n' +\n  '<p>If the footer has keyboard navigation focus, and there is no visible sidebar, pressing <strong>Shift+Tab</strong>\\n' +\n  '  moves focus to the first toolbar group, not the last.</p>\\n' +\n  '\\n' +\n  '<h1>Navigate within UI sections</h1>\\n' +\n  '\\n' +\n  '<p>To move from one UI element to the next, press the appropriate <strong>Arrow</strong> key.</p>\\n' +\n  '\\n' +\n  '<p>The <strong>Left</strong> and <strong>Right</strong> arrow keys</p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>move between menus in the menu bar.</li>\\n' +\n  '  <li>open a sub-menu in a menu.</li>\\n' +\n  '  <li>move between buttons in a toolbar group.</li>\\n' +\n  '  <li>move between items in the footer’s element path.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p>The <strong>Down</strong> and <strong>Up</strong> arrow keys</p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>move between menu items in a menu.</li>\\n' +\n  '  <li>move between items in a toolbar pop-up menu.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p><strong>Arrow</strong> keys cycle within the focused UI section.</p>\\n' +\n  '\\n' +\n  '<p>To close an open menu, an open sub-menu, or an open pop-up menu, press the <strong>Esc</strong> key.</p>\\n' +\n  '\\n' +\n  '<p>If the current focus is at the ‘top’ of a particular UI section, pressing the <strong>Esc</strong> key also exits\\n' +\n  '  keyboard navigation entirely.</p>\\n' +\n  '\\n' +\n  '<h1>Execute a menu item or toolbar button</h1>\\n' +\n  '\\n' +\n  '<p>When the desired menu item or toolbar button is highlighted, press <strong>Return</strong>, <strong>Enter</strong>,\\n' +\n  '  or the <strong>Space bar</strong> to execute the item.</p>\\n' +\n  '\\n' +\n  '<h1>Navigate non-tabbed dialogs</h1>\\n' +\n  '\\n' +\n  '<p>In non-tabbed dialogs, the first interactive component takes focus when the dialog opens.</p>\\n' +\n  '\\n' +\n  '<p>Navigate between interactive dialog components by pressing <strong>Tab</strong> or <strong>Shift+Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<h1>Navigate tabbed dialogs</h1>\\n' +\n  '\\n' +\n  '<p>In tabbed dialogs, the first button in the tab menu takes focus when the dialog opens.</p>\\n' +\n  '\\n' +\n  '<p>Navigate between interactive components of this dialog tab by pressing <strong>Tab</strong> or\\n' +\n  '  <strong>Shift+Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Switch to another dialog tab by giving the tab menu focus and then pressing the appropriate <strong>Arrow</strong>\\n' +\n  '  key to cycle through the available tabs.</p>\\n');"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/plugins/help/js/i18n/keynav/es.js",
    "content": "tinymce.Resource.add('tinymce.html-i18n.help-keynav.es',\n'<h1>Iniciar la navegación con el teclado</h1>\\n' +\n  '\\n' +\n  '<dl>\\n' +\n  '  <dt>Enfocar la barra de menús</dt>\\n' +\n  '  <dd>Windows o Linux: Alt+F9</dd>\\n' +\n  '  <dd>macOS: &#x2325;F9</dd>\\n' +\n  '  <dt>Enfocar la barra de herramientas</dt>\\n' +\n  '  <dd>Windows o Linux: Alt+F10</dd>\\n' +\n  '  <dd>macOS: &#x2325;F10</dd>\\n' +\n  '  <dt>Enfocar el pie de página</dt>\\n' +\n  '  <dd>Windows o Linux: Alt+F11</dd>\\n' +\n  '  <dd>macOS: &#x2325;F11</dd>\\n' +\n  '  <dt>Enfocar la notificación</dt>\\n' +\n  '  <dd>Windows o Linux: Alt+F12</dd>\\n' +\n  '  <dd>macOS: &#x2325;F12</dd>\\n' +\n  '  <dt>Enfocar una barra de herramientas contextual</dt>\\n' +\n  '  <dd>Windows, Linux o macOS: Ctrl+F9</dd>\\n' +\n  '</dl>\\n' +\n  '\\n' +\n  '<p>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' +\n  '  la ruta de elemento del pie de página.</p>\\n' +\n  '\\n' +\n  '<h1>Navegar entre las secciones de la IU</h1>\\n' +\n  '\\n' +\n  '<p>Para pasar de una sección de la IU a la siguiente, pulse la tecla <strong>Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Para pasar de una sección de la IU a la anterior, pulse <strong>Mayús+Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<p>El orden de <strong>tabulación</strong> de estas secciones de la IU es:</p>\\n' +\n  '\\n' +\n  '<ol>\\n' +\n  '  <li>Barra de menús</li>\\n' +\n  '  <li>Cada grupo de barra de herramientas</li>\\n' +\n  '  <li>Barra lateral</li>\\n' +\n  '  <li>Ruta del elemento en el pie de página</li>\\n' +\n  '  <li>Botón de alternancia de recuento de palabras en el pie de página</li>\\n' +\n  '  <li>Enlace de personalización de marca en el pie de página</li>\\n' +\n  '  <li>Controlador de cambio de tamaño en el pie de página</li>\\n' +\n  '</ol>\\n' +\n  '\\n' +\n  '<p>Si una sección de la IU no está presente, esta se omite.</p>\\n' +\n  '\\n' +\n  '<p>Si el pie de página tiene un enfoque de navegación con el teclado y no hay ninguna barra lateral visible, al pulsar <strong>Mayús+Tab</strong>,\\n' +\n  '  el enfoque se moverá al primer grupo de barra de herramientas, en lugar de al último.</p>\\n' +\n  '\\n' +\n  '<h1>Navegar dentro de las secciones de la IU</h1>\\n' +\n  '\\n' +\n  '<p>Para pasar de un elemento de la IU al siguiente, pulse la tecla de <strong>flecha</strong> correspondiente.</p>\\n' +\n  '\\n' +\n  '<p>Las teclas de flecha <strong>izquierda</strong> y <strong>derecha</strong> permiten</p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>desplazarse entre los menús de la barra de menús.</li>\\n' +\n  '  <li>abrir el submenú de un menú.</li>\\n' +\n  '  <li>desplazarse entre los botones de un grupo de barra de herramientas.</li>\\n' +\n  '  <li>desplazarse entre los elementos de la ruta de elemento del pie de página.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p>Las teclas de flecha <strong>abajo</strong> y <strong>arriba</strong> permiten</p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>desplazarse entre los elementos de menú de un menú.</li>\\n' +\n  '  <li>desplazarse entre los elementos de un menú emergente de una barra de herramientas.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p>Las teclas de <strong>flecha</strong> van cambiando dentro de la sección de la IU enfocada.</p>\\n' +\n  '\\n' +\n  '<p>Para cerrar un menú, un submenú o un menú emergente que estén abiertos, pulse la tecla <strong>Esc</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Si el enfoque actual se encuentra en la parte superior de una sección de la IU determinada, al pulsar la tecla <strong>Esc</strong> saldrá\\n' +\n  '  de la navegación con el teclado por completo.</p>\\n' +\n  '\\n' +\n  '<h1>Ejecutar un elemento de menú o un botón de barra de herramientas</h1>\\n' +\n  '\\n' +\n  '<p>Si el elemento de menú o el botón de barra de herramientas deseado está resaltado, pulse la tecla <strong>Retorno</strong> o <strong>Entrar</strong>,\\n' +\n  '  o la <strong>barra espaciadora</strong> para ejecutar el elemento.</p>\\n' +\n  '\\n' +\n  '<h1>Navegar por cuadros de diálogo sin pestañas</h1>\\n' +\n  '\\n' +\n  '<p>En los cuadros de diálogo sin pestañas, el primer componente interactivo se enfoca al abrirse el cuadro de diálogo.</p>\\n' +\n  '\\n' +\n  '<p>Para navegar entre los componentes interactivos del cuadro de diálogo, pulse las teclas <strong>Tab</strong> o <strong>Mayús+Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<h1>Navegar por cuadros de diálogo con pestañas</h1>\\n' +\n  '\\n' +\n  '<p>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.</p>\\n' +\n  '\\n' +\n  '<p>Para navegar entre componentes interactivos de esta pestaña del cuadro de diálogo, pulse las teclas <strong>Tab</strong> o\\n' +\n  '  <strong>Mayús+Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<p>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 <strong>flecha</strong>\\n' +\n  '  correspondiente para moverse por las pestañas disponibles.</p>\\n');"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/plugins/help/js/i18n/keynav/eu.js",
    "content": "tinymce.Resource.add('tinymce.html-i18n.help-keynav.eu',\n'<h1>Hasi teklatuaren nabigazioa</h1>\\n' +\n  '\\n' +\n  '<dl>\\n' +\n  '  <dt>Fokuratu menu-barra</dt>\\n' +\n  '  <dd>Windows edo Linux: Alt+F9</dd>\\n' +\n  '  <dd>macOS: &#x2325;F9</dd>\\n' +\n  '  <dt>Fokuratu tresna-barra</dt>\\n' +\n  '  <dd>Windows edo Linux: Alt+F10</dd>\\n' +\n  '  <dd>macOS: &#x2325;F10</dd>\\n' +\n  '  <dt>Fokuratu orri-oina</dt>\\n' +\n  '  <dd>Windows edo Linux: Alt+F11</dd>\\n' +\n  '  <dd>macOS: &#x2325;F11</dd>\\n' +\n  '  <dt>Fokuratu jakinarazpena</dt>\\n' +\n  '  <dd>Windows edo Linux: Alt+F12</dd>\\n' +\n  '  <dd>macOS: &#x2325;F12</dd>\\n' +\n  '  <dt>Fokuratu testuinguruaren tresna-barra</dt>\\n' +\n  '  <dd>Windows, Linux edo macOS: Ktrl+F9</dd>\\n' +\n  '</dl>\\n' +\n  '\\n' +\n  '<p>Nabigazioa EIko lehen elementuan hasiko da: elementu hori nabarmendu egingo da, edo azpimarratu lehen elementua bada\\n' +\n  '  orri-oineko elementuaren bidea.</p>\\n' +\n  '\\n' +\n  '<h1>Nabigatu EIko atalen artean</h1>\\n' +\n  '\\n' +\n  '<p>EIko atal batetik hurrengora mugitzeko, sakatu <strong>Tabuladorea</strong>.</p>\\n' +\n  '\\n' +\n  '<p>EIko atal batetik aurrekora mugitzeko, sakatu <strong>Maius+Tabuladorea</strong>.</p>\\n' +\n  '\\n' +\n  '<p>EIko atal hauen <strong>Tabuladorea</strong> da:</p>\\n' +\n  '\\n' +\n  '<ol>\\n' +\n  '  <li>Menu-barra</li>\\n' +\n  '  <li>Tresna-barraren talde bakoitza</li>\\n' +\n  '  <li>Alboko barra</li>\\n' +\n  '  <li>Orri-oineko elementuaren bidea</li>\\n' +\n  '  <li>Orri-oneko urrats-kontaketa txandakatzeko botoia</li>\\n' +\n  '  <li>Orri-oineko marken esteka</li>\\n' +\n  '  <li>Orri-oineko editorearen tamaina aldatzeko heldulekua</li>\\n' +\n  '</ol>\\n' +\n  '\\n' +\n  '<p>EIko atal bat ez badago, saltatu egin da.</p>\\n' +\n  '\\n' +\n  '<p>Orri-oinak teklatuaren nabigazioa fokuratuta badago, eta alboko barra ikusgai ez badago, <strong>Maius+Tabuladorea</strong> sakatuz gero,\\n' +\n  '  fokua tresna-barrako lehen taldera eramaten da, ez azkenera.</p>\\n' +\n  '\\n' +\n  '<h1>Nabigatu EIko atalen barruan</h1>\\n' +\n  '\\n' +\n  '<p>EIko elementu batetik hurrengora mugitzeko, sakatu dagokion <strong>Gezia</strong> tekla.</p>\\n' +\n  '\\n' +\n  '<p><strong>Ezkerrera</strong> eta <strong>Eskuinera</strong> gezi-teklak</p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>menu-barrako menuen artean mugitzen da.</li>\\n' +\n  '  <li>ireki azpimenu bat menuan.</li>\\n' +\n  '  <li>mugitu botoi batetik bestera tresna-barren talde batean.</li>\\n' +\n  '  <li>mugitu orri-oineko elementuaren bideko elementu batetik bestera.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p><strong>Gora</strong> eta <strong>Behera</strong> gezi-teklak</p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>mugitu menu bateko menu-elementuen artean.</li>\\n' +\n  '  <li>mugitu tresna-barrako menu gainerakor bateko menu-elementuen artean.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p><strong>Gezia</strong> teklen zikloa nabarmendutako EI atalen barruan.</p>\\n' +\n  '\\n' +\n  '<p>Irekitako menu bat ixteko, ireki azpimenua, edo ireki menu gainerakorra, sakatu <strong>Ihes</strong> tekla.</p>\\n' +\n  '\\n' +\n  '<p>Une horretan fokuratzea EIko atal jakin baten \"goialdean\" badago, <strong>Ihes</strong> tekla sakatuz gero\\n' +\n  '  teklatuaren nabigaziotik irtengo zara.</p>\\n' +\n  '\\n' +\n  '<h1>Exekutatu menuko elementu bat edo tresna-barrako botoi bat</h1>\\n' +\n  '\\n' +\n  '<p>Nahi den menuaren elementua edo tresna-barraren botoia nabarmenduta dagoenean, sakatu <strong>Itzuli</strong>, <strong>Sartu</strong>\\n' +\n  '  edo <strong>Zuriune-barra</strong> elementua exekutatzeko.</p>\\n' +\n  '\\n' +\n  '<h1>Nabigatu fitxarik gabeko elkarrizketak</h1>\\n' +\n  '\\n' +\n  '<p>Fitxarik gabeko elkarrizketetan, lehen osagai interaktiboa fokuratzen da elkarrizketa irekitzen denean.</p>\\n' +\n  '\\n' +\n  '<p>Nabigatu elkarrizketa interaktiboko osagai batetik bestera <strong>Tabuladorea</strong> edo <strong>Maius+Tabuladorea</strong> sakatuta.</p>\\n' +\n  '\\n' +\n  '<h1>Nabigatu fitxadun elkarrizketak</h1>\\n' +\n  '\\n' +\n  '<p>Fitxadun elkarrizketetan, fitxa-menuko lehen botoia fokuratzen da elkarrizketa irekitzen denean.</p>\\n' +\n  '\\n' +\n  '<p>Nabigatu elkarrizketa-fitxa honen interaktiboko osagai batetik bestera <strong>Tabuladorea</strong> edo\\n' +\n  '  <strong>Maius+Tabuladorea</strong> sakatuta.</p>\\n' +\n  '\\n' +\n  '<p>Aldatu beste elkarrizketa-fitxa batera fitxa-menua fokuratu eta dagokion <strong>Gezia</strong>\\n' +\n  '  tekla sakatzeko, erabilgarri dauden fitxa batetik bestera txandakatzeko.</p>\\n');"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/plugins/help/js/i18n/keynav/fa.js",
    "content": "tinymce.Resource.add('tinymce.html-i18n.help-keynav.fa',\n'<h1>شروع پیمایش صفحه‌کلید</h1>\\n' +\n  '\\n' +\n  '<dl>\\n' +\n  '  <dt>تمرکز بر نوار منو</dt>\\n' +\n  '  <dd>Windows یا Linux:‎‏: Alt+F9</dd>\\n' +\n  '  <dd>‎‏macOS: &#x2325;F9‎‏</dd>\\n' +\n  '  <dt>تمرکز بر نوار ابزار</dt>\\n' +\n  '  <dd>Windows یا Linux‎‏: Alt+F10</dd>\\n' +\n  '  <dd>‎‏macOS: &#x2325;F10‎‏</dd>\\n' +\n  '  <dt>تمرکز بر پانویس</dt>\\n' +\n  '  <dd>Windows یا Linux‎‏: Alt+F11</dd>\\n' +\n  '  <dd>‎‏macOS: &#x2325;F11‎‏</dd>\\n' +\n  '  <dt>تمرکز اعلان</dt>\\n' +\n  '  <dd>ویندوز یا لینوکس: Alt+F12</dd>\\n' +\n  '  <dd>macOS: &#x2325;F12</dd>\\n' +\n  '  <dt>تمرکز بر نوار ابزار بافتاری</dt>\\n' +\n  '  <dd>Windows ،Linux یا macOS:‏ Ctrl+F9</dd>\\n' +\n  '</dl>\\n' +\n  '\\n' +\n  '<p>پیمایش در اولین مورد رابط کاربری شروع می‌شود و درخصوص اولین مورد در\\n' +\n  '  مسیر عنصر پانویس، برجسته یا زیرخط‌دار می‌شود.</p>\\n' +\n  '\\n' +\n  '<h1>پیمایش بین بخش‌های رابط کاربری</h1>\\n' +\n  '\\n' +\n  '<p>برای جابجایی از یک بخش رابط کاربری به بخش بعدی، <strong>Tab</strong> را فشار دهید.</p>\\n' +\n  '\\n' +\n  '<p>برای جابجایی از یک بخش رابط کاربری به بخش قبلی، <strong>Shift+Tab</strong> را فشار دهید.</p>\\n' +\n  '\\n' +\n  '<p>ترتیب <strong>Tab</strong> این بخش‌های رابط کاربری عبارتند از:</p>\\n' +\n  '\\n' +\n  '<ol>\\n' +\n  '  <li>نوار منو</li>\\n' +\n  '  <li>هر گروه نوار ابزار</li>\\n' +\n  '  <li>نوار کناری</li>\\n' +\n  '  <li>مسیر عنصر در پانویس</li>\\n' +\n  '  <li>دکمه تغییر وضعیت تعداد کلمات در پانویس</li>\\n' +\n  '  <li>پیوند نمانام‌سازی در پانویس</li>\\n' +\n  '  <li>دسته تغییر اندازه ویرایشگر در پانویس</li>\\n' +\n  '</ol>\\n' +\n  '\\n' +\n  '<p>اگر بخشی از رابط کاربری موجود نباشد، رد می‌شود.</p>\\n' +\n  '\\n' +\n  '<p>اگر پانویس دارای تمرکز بر پیمایش صفحه‌کلید باشد،‌ و نوار کناری قابل‌مشاهده وجود ندارد، فشردن <strong>Shift+Tab</strong>\\n' +\n  '  تمرکز را به گروه نوار ابزار اول می‌برد، نه آخر.</p>\\n' +\n  '\\n' +\n  '<h1>پیمایش در بخش‌های رابط کاربری</h1>\\n' +\n  '\\n' +\n  '<p>برای جابجایی از یک عنصر رابط کاربری به بعدی، کلید <strong>جهت‌نمای</strong> مناسب را فشار دهید.</p>\\n' +\n  '\\n' +\n  '<p>کلیدهای جهت‌نمای <strong>چپ</strong> و <strong>راست</strong></p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>جابجایی بین منوها در نوار منو.</li>\\n' +\n  '  <li>باز کردن منوی فرعی در یک منو.</li>\\n' +\n  '  <li>جابجایی بین دکمه‌ها در یک گروه نوار ابزار.</li>\\n' +\n  '  <li>جابجایی بین موارد در مسیر عنصر پانویس.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p>کلیدهای جهت‌نمای <strong>پایین</strong> و <strong>بالا</strong></p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>جابجایی بین موارد منو در یک منو.</li>\\n' +\n  '  <li>جابجایی بین موارد در یک منوی بازشوی نوار ابزار.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p>کلیدهای<strong>جهت‌نما</strong> در بخش رابط کاربری متمرکز می‌چرخند.</p>\\n' +\n  '\\n' +\n  '<p>برای بستن یک منوی باز، یک منوی فرعی باز، یا یک منوی بازشوی باز، کلید <strong>Esc</strong> را فشار دهید.</p>\\n' +\n  '\\n' +\n  '<p>اگر تمرکز فعلی در «بالای» یک بخش رابط کاربری خاص است، فشردن کلید <strong>Esc</strong> نیز موجب\\n' +\n  '  خروج کامل از پیمایش صفحه‌کلید می‌شود.</p>\\n' +\n  '\\n' +\n  '<h1>اجرای یک مورد منو یا دکمه نوار ابزار</h1>\\n' +\n  '\\n' +\n  '<p>وقتی مورد منو یا دکمه نوار ابزار مورد نظر هایلایت شد، دکمه <strong>بازگشت</strong>، <strong>Enter</strong>،\\n' +\n  '  یا <strong>نوار Space</strong> را فشار دهید تا مورد را اجرا کنید.</p>\\n' +\n  '\\n' +\n  '<h1>پیمایش در کادرهای گفتگوی بدون زبانه</h1>\\n' +\n  '\\n' +\n  '<p>در کادرهای گفتگوی بدون زبانه، وقتی کادر گفتگو باز می‌شود، اولین جزء تعاملی متمرکز می‌شود.</p>\\n' +\n  '\\n' +\n  '<p>با فشردن <strong>Tab</strong> یا <strong>Shift+Tab</strong>، بین اجزای کادر گفتگوی تعاملی پیمایش کنید.</p>\\n' +\n  '\\n' +\n  '<h1>پیمایش کادرهای گفتگوی زبانه‌دار</h1>\\n' +\n  '\\n' +\n  '<p>در کادرهای گفتگوی زبانه‌دار، وقتی کادر گفتگو باز می‌شود، اولین دکمه در منوی زبانه متمرکز می‌شود.</p>\\n' +\n  '\\n' +\n  '<p>با فشردن <strong>Tab</strong> یا\\n' +\n  '  <strong>Shift+Tab</strong>، بین اجزای تعاملی این زبانه کادر گفتگو پیمایش کنید.</p>\\n' +\n  '\\n' +\n  '<p>با دادن تمرکز به منوی زبانه و سپس فشار دادن کلید <strong>جهت‌نمای</strong>\\n' +\n  '  مناسب برای چرخش میان زبانه‌های موجود، به زبانه کادر گفتگوی دیگری بروید.</p>\\n');"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/plugins/help/js/i18n/keynav/fi.js",
    "content": "tinymce.Resource.add('tinymce.html-i18n.help-keynav.fi',\n'<h1>Näppäimistönavigoinnin aloittaminen</h1>\\n' +\n  '\\n' +\n  '<dl>\\n' +\n  '  <dt>Siirrä kohdistus valikkopalkkiin</dt>\\n' +\n  '  <dd>Windows tai Linux: Alt+F9</dd>\\n' +\n  '  <dd>macOS: &#x2325;F9</dd>\\n' +\n  '  <dt>Siirrä kohdistus työkalupalkkiin</dt>\\n' +\n  '  <dd>Windows tai Linux: Alt+F10</dd>\\n' +\n  '  <dd>macOS: &#x2325;F10</dd>\\n' +\n  '  <dt>Siirrä kohdistus alatunnisteeseen</dt>\\n' +\n  '  <dd>Windows tai Linux: Alt+F11</dd>\\n' +\n  '  <dd>macOS: &#x2325;F11</dd>\\n' +\n  '  <dt>Keskitä ilmoitukseen</dt>\\n' +\n  '  <dd>Windows ja Linux: Alt + F12</dd>\\n' +\n  '  <dd>macOS: &#x2325;F12</dd>\\n' +\n  '  <dt>Siirrä kohdistus kontekstuaaliseen työkalupalkkiin</dt>\\n' +\n  '  <dd>Windows, Linux tai macOS: Ctrl+F9</dd>\\n' +\n  '</dl>\\n' +\n  '\\n' +\n  '<p>Navigointi aloitetaan ensimmäisestä käyttöliittymän kohteesta, joka joko korostetaan tai alleviivataan, jos\\n' +\n  '  kyseessä on Alatunniste-elementin polun ensimmäinen kohde.</p>\\n' +\n  '\\n' +\n  '<h1>Käyttöliittymän eri osien välillä navigointi</h1>\\n' +\n  '\\n' +\n  '<p>Paina <strong>sarkainnäppäintä</strong> siirtyäksesi käyttöliittymän osasta seuraavaan.</p>\\n' +\n  '\\n' +\n  '<p>Jos haluat siirtyä edelliseen käyttöliittymän osaan, paina <strong>Shift+sarkainnäppäin</strong>.</p>\\n' +\n  '\\n' +\n  '<p><strong>Sarkainnäppäin</strong> siirtää sinua näissä käyttöliittymän osissa tässä järjestyksessä:</p>\\n' +\n  '\\n' +\n  '<ol>\\n' +\n  '  <li>Valikkopalkki</li>\\n' +\n  '  <li>Työkalupalkin ryhmät</li>\\n' +\n  '  <li>Sivupalkki</li>\\n' +\n  '  <li>Elementin polku alatunnisteessa</li>\\n' +\n  '  <li>Sanalaskurin vaihtopainike alatunnisteessa</li>\\n' +\n  '  <li>Brändäyslinkki alatunnisteessa</li>\\n' +\n  '  <li>Editorin koon muuttamisen kahva alatunnisteessa</li>\\n' +\n  '</ol>\\n' +\n  '\\n' +\n  '<p>Jos jotakin käyttöliittymän osaa ei ole, se ohitetaan.</p>\\n' +\n  '\\n' +\n  '<p>Jos kohdistus on siirretty alatunnisteeseen näppäimistönavigoinnilla eikä sivupalkkia ole näkyvissä, <strong>Shift+sarkainnäppäin</strong>\\n' +\n  '  siirtää kohdistuksen työkalupalkin ensimmäiseen ryhmään, eikä viimeiseen.</p>\\n' +\n  '\\n' +\n  '<h1>Käyttöliittymän eri osien sisällä navigointi</h1>\\n' +\n  '\\n' +\n  '<p>Paina <strong>nuolinäppäimiä</strong> siirtyäksesi käyttöliittymäelementistä seuraavaan.</p>\\n' +\n  '\\n' +\n  '<p><strong>Vasen</strong>- ja <strong>Oikea</strong>-nuolinäppäimet</p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>siirtävät sinua valikkopalkin valikoiden välillä.</li>\\n' +\n  '  <li>avaavat valikon alavalikon.</li>\\n' +\n  '  <li>siirtävät sinua työkalupalkin ryhmän painikkeiden välillä.</li>\\n' +\n  '  <li>siirtävät sinua kohteiden välillä alatunnisteen elementin polussa.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p><strong>Alas</strong>- ja <strong>Ylös</strong>-nuolinäppäimet</p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>siirtävät sinua valikon valikkokohteiden välillä.</li>\\n' +\n  '  <li>siirtävät sinua työkalupalkin ponnahdusvalikon kohteiden välillä.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p><strong>Nuolinäppäimet</strong> siirtävät sinua käyttöliittymän korostetun osan sisällä syklissä.</p>\\n' +\n  '\\n' +\n  '<p>Paina <strong>Esc</strong>-näppäintä sulkeaksesi avoimen valikon, avataksesi alavalikon tai avataksesi ponnahdusvalikon.</p>\\n' +\n  '\\n' +\n  '<p>Jos kohdistus on käyttöliittymän tietyn osion ylälaidassa, <strong>Esc</strong>-näppäimen painaminen\\n' +\n  '  poistuu myös näppäimistönavigoinnista kokonaan.</p>\\n' +\n  '\\n' +\n  '<h1>Suorita valikkokohde tai työkalupalkin painike</h1>\\n' +\n  '\\n' +\n  '<p>Kun haluamasi valikkokohde tai työkalupalkin painike on korostettuna, paina <strong>Return</strong>-, <strong>Enter</strong>-\\n' +\n  '  tai <strong>välilyöntinäppäintä</strong> suorittaaksesi kohteen.</p>\\n' +\n  '\\n' +\n  '<h1>Välilehdittömissä valintaikkunoissa navigointi</h1>\\n' +\n  '\\n' +\n  '<p>Kun välilehdetön valintaikkuna avautuu, kohdistus siirtyy sen ensimmäiseen interaktiiviseen komponenttiin.</p>\\n' +\n  '\\n' +\n  '<p>Voit siirtyä valintaikkunan interaktiivisten komponenttien välillä painamalla <strong>sarkainnäppäintä</strong> tai <strong>Shift+sarkainnäppäin</strong>.</p>\\n' +\n  '\\n' +\n  '<h1>Välilehdellisissä valintaikkunoissa navigointi</h1>\\n' +\n  '\\n' +\n  '<p>Kun välilehdellinen valintaikkuna avautuu, kohdistus siirtyy välilehtivalikon ensimmäiseen painikkeeseen.</p>\\n' +\n  '\\n' +\n  '<p>Voit siirtyä valintaikkunan välilehden interaktiivisen komponenttien välillä painamalla <strong>sarkainnäppäintä</strong> tai\\n' +\n  '  <strong>Shift+sarkainnäppäin</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Voit siirtyä valintaikkunan toiseen välilehteen siirtämällä kohdistuksen välilehtivalikkoon ja painamalla sopivaa <strong>nuolinäppäintä</strong>\\n' +\n  '  siirtyäksesi käytettävissä olevien välilehtien välillä syklissä.</p>\\n');"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/plugins/help/js/i18n/keynav/fr-FR.js",
    "content": "tinymce.Resource.add('tinymce.html-i18n.help-keynav.fr-FR',\n'<h1>Débuter la navigation au clavier</h1>\\n' +\n  '\\n' +\n  '<dl>\\n' +\n  '  <dt>Cibler la barre du menu</dt>\\n' +\n  '  <dd>Windows ou Linux : Alt+F9</dd>\\n' +\n  '  <dd>macOS : &#x2325;F9</dd>\\n' +\n  \"  <dt>Cibler la barre d'outils</dt>\\n\" +\n  '  <dd>Windows ou Linux : Alt+F10</dd>\\n' +\n  '  <dd>macOS : &#x2325;F10</dd>\\n' +\n  '  <dt>Cibler le pied de page</dt>\\n' +\n  '  <dd>Windows ou Linux : Alt+F11</dd>\\n' +\n  '  <dd>macOS : &#x2325;F11</dd>\\n' +\n  '  <dt>Cibler la notification</dt>\\n' +\n  '  <dd>Windows ou Linux : Alt+F12</dd>\\n' +\n  '  <dd>macOS : &#x2325;F12</dd>\\n' +\n  \"  <dt>Cibler une barre d'outils contextuelle</dt>\\n\" +\n  '  <dd>Windows, Linux ou macOS : Ctrl+F9</dd>\\n' +\n  '</dl>\\n' +\n  '\\n' +\n  \"<p>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\" +\n  \"  chemin d'éléments du pied de page.</p>\\n\" +\n  '\\n' +\n  \"<h1>Naviguer entre les sections de l'interface utilisateur</h1>\\n\" +\n  '\\n' +\n  \"<p>Pour passer d'une section de l'interface utilisateur à la suivante, appuyez sur <strong>Tabulation</strong>.</p>\\n\" +\n  '\\n' +\n  \"<p>Pour passer d'une section de l'interface utilisateur à la précédente, appuyez sur <strong>Maj+Tabulation</strong>.</p>\\n\" +\n  '\\n' +\n  \"<p>L'ordre de <strong>Tabulation</strong> de ces sections de l'interface utilisateur est le suivant :</p>\\n\" +\n  '\\n' +\n  '<ol>\\n' +\n  '  <li>Barre du menu</li>\\n' +\n  \"  <li>Chaque groupe de barres d'outils</li>\\n\" +\n  '  <li>Barre latérale</li>\\n' +\n  \"  <li>Chemin d'éléments du pied de page</li>\\n\" +\n  \"  <li>Bouton d'activation du compteur de mots dans le pied de page</li>\\n\" +\n  '  <li>Lien de marque dans le pied de page</li>\\n' +\n  \"  <li>Poignée de redimensionnement de l'éditeur dans le pied de page</li>\\n\" +\n  '</ol>\\n' +\n  '\\n' +\n  \"<p>Si une section de l'interface utilisateur n'est pas présente, elle sera ignorée.</p>\\n\" +\n  '\\n' +\n  \"<p>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 <strong>Maj+Tabulation</strong>\\n\" +\n  \"  déplace le ciblage vers le premier groupe de barres d'outils et non le dernier.</p>\\n\" +\n  '\\n' +\n  \"<h1>Naviguer au sein des sections de l'interface utilisateur</h1>\\n\" +\n  '\\n' +\n  \"<p>Pour passer d'un élément de l'interface utilisateur au suivant, appuyez sur la <strong>Flèche</strong> appropriée.</p>\\n\" +\n  '\\n' +\n  '<p>Les touches fléchées <strong>Gauche</strong> et <strong>Droite</strong></p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>se déplacent entre les menus de la barre des menus.</li>\\n' +\n  \"  <li>ouvrent un sous-menu au sein d'un menu.</li>\\n\" +\n  \"  <li>se déplacent entre les boutons d'un groupe de barres d'outils.</li>\\n\" +\n  \"  <li>se déplacent entre les éléments du chemin d'éléments du pied de page.</li>\\n\" +\n  '</ul>\\n' +\n  '\\n' +\n  '<p>Les touches fléchées <strong>Bas</strong> et <strong>Haut</strong></p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  \"  <li>se déplacent entre les éléments de menu au sein d'un menu.</li>\\n\" +\n  \"  <li>se déplacent entre les éléments au sein d'un menu contextuel de barre d'outils.</li>\\n\" +\n  '</ul>\\n' +\n  '\\n' +\n  \"<p>Les <strong>Flèches</strong> parcourent la section de l'interface utilisateur ciblée.</p>\\n\" +\n  '\\n' +\n  '<p>Pour fermer un menu ouvert, un sous-menu ouvert ou un menu contextuel ouvert, appuyez sur <strong>Echap</strong>.</p>\\n' +\n  '\\n' +\n  \"<p>Si l'actuel ciblage se trouve en « haut » d'une section spécifique de l'interface utilisateur, appuyer sur <strong>Echap</strong> permet également de quitter\\n\" +\n  '  entièrement la navigation au clavier.</p>\\n' +\n  '\\n' +\n  \"<h1>Exécuter un élément de menu ou un bouton de barre d'outils</h1>\\n\" +\n  '\\n' +\n  \"<p>Lorsque l'élément de menu ou le bouton de barre d'outils désiré est mis en surbrillance, appuyez sur la touche <strong>Retour arrière</strong>, <strong>Entrée</strong>\\n\" +\n  \"  ou la <strong>Barre d'espace</strong> pour exécuter l'élément.</p>\\n\" +\n  '\\n' +\n  '<h1>Naviguer au sein de dialogues sans onglets</h1>\\n' +\n  '\\n' +\n  \"<p>Dans les dialogues sans onglets, le premier composant interactif est ciblé lorsque le dialogue s'ouvre.</p>\\n\" +\n  '\\n' +\n  '<p>Naviguez entre les composants du dialogue interactif en appuyant sur <strong>Tabulation</strong> ou <strong>Maj+Tabulation</strong>.</p>\\n' +\n  '\\n' +\n  '<h1>Naviguer au sein de dialogues avec onglets</h1>\\n' +\n  '\\n' +\n  \"<p>Dans les dialogues avec onglets, le premier bouton du menu de l'onglet est ciblé lorsque le dialogue s'ouvre.</p>\\n\" +\n  '\\n' +\n  '<p>Naviguez entre les composants interactifs de cet onglet de dialogue en appuyant sur <strong>Tabulation</strong> ou\\n' +\n  '  <strong>Maj+Tabulation</strong>.</p>\\n' +\n  '\\n' +\n  \"<p>Passez à un autre onglet de dialogue en ciblant le menu de l'onglet et en appuyant sur la <strong>Flèche</strong>\\n\" +\n  '  appropriée pour parcourir les onglets disponibles.</p>\\n');"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/plugins/help/js/i18n/keynav/fr_FR.js",
    "content": "tinymce.Resource.add('tinymce.html-i18n.help-keynav.fr_FR',\n'<h1>Débuter la navigation au clavier</h1>\\n' +\n  '\\n' +\n  '<dl>\\n' +\n  '  <dt>Cibler la barre du menu</dt>\\n' +\n  '  <dd>Windows ou Linux : Alt+F9</dd>\\n' +\n  '  <dd>macOS : &#x2325;F9</dd>\\n' +\n  \"  <dt>Cibler la barre d'outils</dt>\\n\" +\n  '  <dd>Windows ou Linux : Alt+F10</dd>\\n' +\n  '  <dd>macOS : &#x2325;F10</dd>\\n' +\n  '  <dt>Cibler le pied de page</dt>\\n' +\n  '  <dd>Windows ou Linux : Alt+F11</dd>\\n' +\n  '  <dd>macOS : &#x2325;F11</dd>\\n' +\n  '  <dt>Cibler la notification</dt>\\n' +\n  '  <dd>Windows ou Linux : Alt+F12</dd>\\n' +\n  '  <dd>macOS : &#x2325;F12</dd>\\n' +\n  \"  <dt>Cibler une barre d'outils contextuelle</dt>\\n\" +\n  '  <dd>Windows, Linux ou macOS : Ctrl+F9</dd>\\n' +\n  '</dl>\\n' +\n  '\\n' +\n  \"<p>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\" +\n  \"  chemin d'éléments du pied de page.</p>\\n\" +\n  '\\n' +\n  \"<h1>Naviguer entre les sections de l'interface utilisateur</h1>\\n\" +\n  '\\n' +\n  \"<p>Pour passer d'une section de l'interface utilisateur à la suivante, appuyez sur <strong>Tabulation</strong>.</p>\\n\" +\n  '\\n' +\n  \"<p>Pour passer d'une section de l'interface utilisateur à la précédente, appuyez sur <strong>Maj+Tabulation</strong>.</p>\\n\" +\n  '\\n' +\n  \"<p>L'ordre de <strong>Tabulation</strong> de ces sections de l'interface utilisateur est le suivant :</p>\\n\" +\n  '\\n' +\n  '<ol>\\n' +\n  '  <li>Barre du menu</li>\\n' +\n  \"  <li>Chaque groupe de barres d'outils</li>\\n\" +\n  '  <li>Barre latérale</li>\\n' +\n  \"  <li>Chemin d'éléments du pied de page</li>\\n\" +\n  \"  <li>Bouton d'activation du compteur de mots dans le pied de page</li>\\n\" +\n  '  <li>Lien de marque dans le pied de page</li>\\n' +\n  \"  <li>Poignée de redimensionnement de l'éditeur dans le pied de page</li>\\n\" +\n  '</ol>\\n' +\n  '\\n' +\n  \"<p>Si une section de l'interface utilisateur n'est pas présente, elle sera ignorée.</p>\\n\" +\n  '\\n' +\n  \"<p>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 <strong>Maj+Tabulation</strong>\\n\" +\n  \"  déplace le ciblage vers le premier groupe de barres d'outils et non le dernier.</p>\\n\" +\n  '\\n' +\n  \"<h1>Naviguer au sein des sections de l'interface utilisateur</h1>\\n\" +\n  '\\n' +\n  \"<p>Pour passer d'un élément de l'interface utilisateur au suivant, appuyez sur la <strong>Flèche</strong> appropriée.</p>\\n\" +\n  '\\n' +\n  '<p>Les touches fléchées <strong>Gauche</strong> et <strong>Droite</strong></p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>se déplacent entre les menus de la barre des menus.</li>\\n' +\n  \"  <li>ouvrent un sous-menu au sein d'un menu.</li>\\n\" +\n  \"  <li>se déplacent entre les boutons d'un groupe de barres d'outils.</li>\\n\" +\n  \"  <li>se déplacent entre les éléments du chemin d'éléments du pied de page.</li>\\n\" +\n  '</ul>\\n' +\n  '\\n' +\n  '<p>Les touches fléchées <strong>Bas</strong> et <strong>Haut</strong></p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  \"  <li>se déplacent entre les éléments de menu au sein d'un menu.</li>\\n\" +\n  \"  <li>se déplacent entre les éléments au sein d'un menu contextuel de barre d'outils.</li>\\n\" +\n  '</ul>\\n' +\n  '\\n' +\n  \"<p>Les <strong>Flèches</strong> parcourent la section de l'interface utilisateur ciblée.</p>\\n\" +\n  '\\n' +\n  '<p>Pour fermer un menu ouvert, un sous-menu ouvert ou un menu contextuel ouvert, appuyez sur <strong>Echap</strong>.</p>\\n' +\n  '\\n' +\n  \"<p>Si l'actuel ciblage se trouve en « haut » d'une section spécifique de l'interface utilisateur, appuyer sur <strong>Echap</strong> permet également de quitter\\n\" +\n  '  entièrement la navigation au clavier.</p>\\n' +\n  '\\n' +\n  \"<h1>Exécuter un élément de menu ou un bouton de barre d'outils</h1>\\n\" +\n  '\\n' +\n  \"<p>Lorsque l'élément de menu ou le bouton de barre d'outils désiré est mis en surbrillance, appuyez sur la touche <strong>Retour arrière</strong>, <strong>Entrée</strong>\\n\" +\n  \"  ou la <strong>Barre d'espace</strong> pour exécuter l'élément.</p>\\n\" +\n  '\\n' +\n  '<h1>Naviguer au sein de dialogues sans onglets</h1>\\n' +\n  '\\n' +\n  \"<p>Dans les dialogues sans onglets, le premier composant interactif est ciblé lorsque le dialogue s'ouvre.</p>\\n\" +\n  '\\n' +\n  '<p>Naviguez entre les composants du dialogue interactif en appuyant sur <strong>Tabulation</strong> ou <strong>Maj+Tabulation</strong>.</p>\\n' +\n  '\\n' +\n  '<h1>Naviguer au sein de dialogues avec onglets</h1>\\n' +\n  '\\n' +\n  \"<p>Dans les dialogues avec onglets, le premier bouton du menu de l'onglet est ciblé lorsque le dialogue s'ouvre.</p>\\n\" +\n  '\\n' +\n  '<p>Naviguez entre les composants interactifs de cet onglet de dialogue en appuyant sur <strong>Tabulation</strong> ou\\n' +\n  '  <strong>Maj+Tabulation</strong>.</p>\\n' +\n  '\\n' +\n  \"<p>Passez à un autre onglet de dialogue en ciblant le menu de l'onglet et en appuyant sur la <strong>Flèche</strong>\\n\" +\n  '  appropriée pour parcourir les onglets disponibles.</p>\\n');"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/plugins/help/js/i18n/keynav/he-IL.js",
    "content": "tinymce.Resource.add('tinymce.html-i18n.help-keynav.he-IL',\n'<h1>התחל ניווט במקלדת</h1>\\n' +\n  '\\n' +\n  '<dl>\\n' +\n  '  <dt>התמקד בשורת התפריטים</dt>\\n' +\n  '  <dd>Windows או Linux:‏ Alt+F9</dd>\\n' +\n  '  <dd>macOS: &#x2325;F9</dd>\\n' +\n  '  <dt>העבר מיקוד לסרגל הכלים</dt>\\n' +\n  '  <dd>Windows או Linux:‏ Alt+F10</dd>\\n' +\n  '  <dd>macOS: &#x2325;F10</dd>\\n' +\n  '  <dt>העבר מיקוד לכותרת התחתונה</dt>\\n' +\n  '  <dd>Windows או Linux:‏ Alt+F11</dd>\\n' +\n  '  <dd>macOS: &#x2325;F11</dd>\\n' +\n  '  <dt>העבר מיקוד להודעה</dt>\\n' +\n  '  <dd>Windows או Linux:‏ Alt+F12</dd>\\n' +\n  '  <dd>macOS: &#x2325;F12</dd>\\n' +\n  '  <dt>העבר מיקוד לסרגל כלים הקשרי</dt>\\n' +\n  '  <dd>Windows‏, Linux או macOS:‏ Ctrl+F9</dd>\\n' +\n  '</dl>\\n' +\n  '\\n' +\n  '<p>הניווט יתחיל ברכיב הראשון במשך, שיודגש או שיהיה מתחתיו קו תחתון במקרה של הפריט הראשון\\n' +\n  '  הנתיב של רכיב הכותרת התחתונה.</p>\\n' +\n  '\\n' +\n  '<h1>עבור בין מקטעים במסך</h1>\\n' +\n  '\\n' +\n  '<p>כדי לעבור בין המקטעים במסך, הקש <strong>Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<p>כדי לעבור למקטע הקודם במסך, הקש <strong>Shift+Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<p>הסדר מבחינת מקש <strong>Tab</strong> של הרכיבים במסך:</p>\\n' +\n  '\\n' +\n  '<ol>\\n' +\n  '  <li>שורת התפריטים</li>\\n' +\n  '  <li>כל קבוצה בסרגל הכלים</li>\\n' +\n  '  <li>הסרגל הצידי</li>\\n' +\n  '  <li>נתיב של רכיב בכותרת התחתונה</li>\\n' +\n  '  <li>לחצן לספירת מילים בכותרת התחתונה</li>\\n' +\n  '  <li>קישור של המותג בכותרת התחתונה</li>\\n' +\n  '  <li>ידית לשינוי גודל עבור העורך בכותרת התחתונה</li>\\n' +\n  '</ol>\\n' +\n  '\\n' +\n  '<p>אם רכיב כלשהו במסך לא מופיע, המערכת תדלג עליו.</p>\\n' +\n  '\\n' +\n  '<p>אם בכותרת התחתונה יש מיקוד של ניווט במקלדת, ולא מופיע סרגל בצד, יש להקיש <strong>Shift+Tab</strong>\\n' +\n  '  מעביר את המיקוד לקבוצה הראשונה בסרגל הכלים, לא האחרונה.</p>\\n' +\n  '\\n' +\n  '<h1>עבור בתוך מקטעים במסך</h1>\\n' +\n  '\\n' +\n  '<p>כדי לעבור מרכיב אחד לרכיב אחר במסך, הקש על מקש <strong>החץ</strong> המתאים.</p>\\n' +\n  '\\n' +\n  '<p>מקשי החיצים <strong>שמאלה</strong> ו<strong>ימינה</strong></p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>עבור בין תפריטים בשורת התפריטים.</li>\\n' +\n  '  <li>פתח תפריט משני בתפריט.</li>\\n' +\n  '  <li>עבור בין לחצנים בקבוצה בסרגל הכלים.</li>\\n' +\n  '  <li>עבור בין פריטים ברכיב בכותרת התחתונה.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p>מקשי החיצים <strong>למטה</strong> ו<strong>למעלה</strong></p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>עבור בין פריטים בתפריט.</li>\\n' +\n  '  <li>עבור בין פריטים בחלון הקובץ של סרגל הכלים.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p>מקשי <strong>החצים</strong> משתנים בתוך המקטע במסך שעליו נמצא המיקוד.</p>\\n' +\n  '\\n' +\n  '<p>כדי לסגור תפריט פתוח, תפריט משני פתוח או חלון קופץ, הקש על <strong>Esc</strong>.</p>\\n' +\n  '\\n' +\n  \"<p>אם המיקוד הוא על החלק 'העליון' של מקטע מסוים במסך, הקשה על <strong>Esc</strong> מביאה גם ליציאה\\n\" +\n  '  מהניווט במקלדת לחלוטין.</p>\\n' +\n  '\\n' +\n  '<h1>הפעל פריט בתפריט או לחצן בסרגל הכלים</h1>\\n' +\n  '\\n' +\n  '<p>כאשר הפריט הרצוי בתפריט או הלחצן בסרגל הכלים מודגשים, הקש על <strong>Return</strong>, <strong>Enter</strong>,\\n' +\n  '  או על <strong>מקש הרווח</strong> כדי להפעיל את הפריט.</p>\\n' +\n  '\\n' +\n  '<h1>ניווט בחלונות דו-שיח בלי כרטיסיות</h1>\\n' +\n  '\\n' +\n  '<p>בחלונות דו-שיח בלי כרטיסיות, הרכיב האינטראקטיבי הראשון מקבל את המיקוד כאשר החלון נפתח.</p>\\n' +\n  '\\n' +\n  '<p>עבור בין רכיבים אינטראקטיביים בחלון על ידי הקשה על <strong>Tab</strong> או <strong>Shift+Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<h1>ניווט בחלונות דו-שיח עם כרטיסיות</h1>\\n' +\n  '\\n' +\n  '<p>בחלונות דו-שיח עם כרטיסיות, הלחצן הראשון בתפריט מקבל את המיקוד כאשר החלון נפתח.</p>\\n' +\n  '\\n' +\n  '<p>עבור בין רכיבים אינטראקטיביים בחלון על ידי הקשה על <strong>Tab</strong> או\\n' +\n  '  <strong>Shift+Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<p>עבור לכרטיסיה אחרת בחלון על ידי העברת המיקוד לתפריט הכרטיסיות והקשה על <strong>החץ</strong>המתאים\\n' +\n  '  כדי לעבור בין הכרטיסיות הזמינות.</p>\\n');"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/plugins/help/js/i18n/keynav/he_IL.js",
    "content": "tinymce.Resource.add('tinymce.html-i18n.help-keynav.he_IL',\n'<h1>התחל ניווט במקלדת</h1>\\n' +\n  '\\n' +\n  '<dl>\\n' +\n  '  <dt>התמקד בשורת התפריטים</dt>\\n' +\n  '  <dd>Windows או Linux:‏ Alt+F9</dd>\\n' +\n  '  <dd>macOS: &#x2325;F9</dd>\\n' +\n  '  <dt>העבר מיקוד לסרגל הכלים</dt>\\n' +\n  '  <dd>Windows או Linux:‏ Alt+F10</dd>\\n' +\n  '  <dd>macOS: &#x2325;F10</dd>\\n' +\n  '  <dt>העבר מיקוד לכותרת התחתונה</dt>\\n' +\n  '  <dd>Windows או Linux:‏ Alt+F11</dd>\\n' +\n  '  <dd>macOS: &#x2325;F11</dd>\\n' +\n  '  <dt>העבר מיקוד להודעה</dt>\\n' +\n  '  <dd>Windows או Linux:‏ Alt+F12</dd>\\n' +\n  '  <dd>macOS: &#x2325;F12</dd>\\n' +\n  '  <dt>העבר מיקוד לסרגל כלים הקשרי</dt>\\n' +\n  '  <dd>Windows‏, Linux או macOS:‏ Ctrl+F9</dd>\\n' +\n  '</dl>\\n' +\n  '\\n' +\n  '<p>הניווט יתחיל ברכיב הראשון במשך, שיודגש או שיהיה מתחתיו קו תחתון במקרה של הפריט הראשון\\n' +\n  '  הנתיב של רכיב הכותרת התחתונה.</p>\\n' +\n  '\\n' +\n  '<h1>עבור בין מקטעים במסך</h1>\\n' +\n  '\\n' +\n  '<p>כדי לעבור בין המקטעים במסך, הקש <strong>Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<p>כדי לעבור למקטע הקודם במסך, הקש <strong>Shift+Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<p>הסדר מבחינת מקש <strong>Tab</strong> של הרכיבים במסך:</p>\\n' +\n  '\\n' +\n  '<ol>\\n' +\n  '  <li>שורת התפריטים</li>\\n' +\n  '  <li>כל קבוצה בסרגל הכלים</li>\\n' +\n  '  <li>הסרגל הצידי</li>\\n' +\n  '  <li>נתיב של רכיב בכותרת התחתונה</li>\\n' +\n  '  <li>לחצן לספירת מילים בכותרת התחתונה</li>\\n' +\n  '  <li>קישור של המותג בכותרת התחתונה</li>\\n' +\n  '  <li>ידית לשינוי גודל עבור העורך בכותרת התחתונה</li>\\n' +\n  '</ol>\\n' +\n  '\\n' +\n  '<p>אם רכיב כלשהו במסך לא מופיע, המערכת תדלג עליו.</p>\\n' +\n  '\\n' +\n  '<p>אם בכותרת התחתונה יש מיקוד של ניווט במקלדת, ולא מופיע סרגל בצד, יש להקיש <strong>Shift+Tab</strong>\\n' +\n  '  מעביר את המיקוד לקבוצה הראשונה בסרגל הכלים, לא האחרונה.</p>\\n' +\n  '\\n' +\n  '<h1>עבור בתוך מקטעים במסך</h1>\\n' +\n  '\\n' +\n  '<p>כדי לעבור מרכיב אחד לרכיב אחר במסך, הקש על מקש <strong>החץ</strong> המתאים.</p>\\n' +\n  '\\n' +\n  '<p>מקשי החיצים <strong>שמאלה</strong> ו<strong>ימינה</strong></p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>עבור בין תפריטים בשורת התפריטים.</li>\\n' +\n  '  <li>פתח תפריט משני בתפריט.</li>\\n' +\n  '  <li>עבור בין לחצנים בקבוצה בסרגל הכלים.</li>\\n' +\n  '  <li>עבור בין פריטים ברכיב בכותרת התחתונה.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p>מקשי החיצים <strong>למטה</strong> ו<strong>למעלה</strong></p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>עבור בין פריטים בתפריט.</li>\\n' +\n  '  <li>עבור בין פריטים בחלון הקובץ של סרגל הכלים.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p>מקשי <strong>החצים</strong> משתנים בתוך המקטע במסך שעליו נמצא המיקוד.</p>\\n' +\n  '\\n' +\n  '<p>כדי לסגור תפריט פתוח, תפריט משני פתוח או חלון קופץ, הקש על <strong>Esc</strong>.</p>\\n' +\n  '\\n' +\n  \"<p>אם המיקוד הוא על החלק 'העליון' של מקטע מסוים במסך, הקשה על <strong>Esc</strong> מביאה גם ליציאה\\n\" +\n  '  מהניווט במקלדת לחלוטין.</p>\\n' +\n  '\\n' +\n  '<h1>הפעל פריט בתפריט או לחצן בסרגל הכלים</h1>\\n' +\n  '\\n' +\n  '<p>כאשר הפריט הרצוי בתפריט או הלחצן בסרגל הכלים מודגשים, הקש על <strong>Return</strong>, <strong>Enter</strong>,\\n' +\n  '  או על <strong>מקש הרווח</strong> כדי להפעיל את הפריט.</p>\\n' +\n  '\\n' +\n  '<h1>ניווט בחלונות דו-שיח בלי כרטיסיות</h1>\\n' +\n  '\\n' +\n  '<p>בחלונות דו-שיח בלי כרטיסיות, הרכיב האינטראקטיבי הראשון מקבל את המיקוד כאשר החלון נפתח.</p>\\n' +\n  '\\n' +\n  '<p>עבור בין רכיבים אינטראקטיביים בחלון על ידי הקשה על <strong>Tab</strong> או <strong>Shift+Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<h1>ניווט בחלונות דו-שיח עם כרטיסיות</h1>\\n' +\n  '\\n' +\n  '<p>בחלונות דו-שיח עם כרטיסיות, הלחצן הראשון בתפריט מקבל את המיקוד כאשר החלון נפתח.</p>\\n' +\n  '\\n' +\n  '<p>עבור בין רכיבים אינטראקטיביים בחלון על ידי הקשה על <strong>Tab</strong> או\\n' +\n  '  <strong>Shift+Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<p>עבור לכרטיסיה אחרת בחלון על ידי העברת המיקוד לתפריט הכרטיסיות והקשה על <strong>החץ</strong>המתאים\\n' +\n  '  כדי לעבור בין הכרטיסיות הזמינות.</p>\\n');"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/plugins/help/js/i18n/keynav/hi.js",
    "content": "tinymce.Resource.add('tinymce.html-i18n.help-keynav.hi',\n'<h1>कीबोर्ड नेविगेशन शुरू करें</h1>\\n' +\n  '\\n' +\n  '<dl>\\n' +\n  '  <dt>मेन्यू बार पर फ़ोकस करें</dt>\\n' +\n  '  <dd>Windows या Linux: Alt+F9</dd>\\n' +\n  '  <dd>macOS: &#x2325;F9</dd>\\n' +\n  '  <dt>टूलबार पर फ़ोकस करें</dt>\\n' +\n  '  <dd>Windows या Linux: Alt+F10</dd>\\n' +\n  '  <dd>macOS: &#x2325;F10</dd>\\n' +\n  '  <dt>फ़ुटर पर फ़ोकस करें</dt>\\n' +\n  '  <dd>Windows या Linux: Alt+F11</dd>\\n' +\n  '  <dd>macOS: &#x2325;F11</dd>\\n' +\n  '  <dt>नोटिफ़िकेशन फ़ोकस</dt>\\n' +\n  '  <dd>Windows या Linux: Alt+F12</dd>\\n' +\n  '  <dd>macOS: &#x2325;F12</dd>\\n' +\n  '  <dt>प्रासंगिक टूलबार पर फ़ोकस करें</dt>\\n' +\n  '  <dd>Windows, Linux या macOS: Ctrl+F9</dd>\\n' +\n  '</dl>\\n' +\n  '\\n' +\n  '<p>नेविगेशन पहले UI आइटम पर शुरू होगा, जिसे हाइलाइट किया जाएगा या पहले आइटम के मामले में फ़ुटर तत्व पथ में\\n' +\n  '  रेखांकित किया जाएगा।</p>\\n' +\n  '\\n' +\n  '<h1>UI सेक्शन के बीच नेविगेट करें</h1>\\n' +\n  '\\n' +\n  '<p>एक UI सेक्शन से दूसरे सेक्शन में जाने के लिए, <strong>Tab</strong> दबाएं।</p>\\n' +\n  '\\n' +\n  '<p>एक UI सेक्शन से पिछले सेक्शन में जाने के लिए, <strong>Shift+Tab</strong> दबाएं।</p>\\n' +\n  '\\n' +\n  '<p>इन UI सेक्शन का <strong>Tab</strong> क्रम नीचे दिया गया है:</p>\\n' +\n  '\\n' +\n  '<ol>\\n' +\n  '  <li>मेन्यू बार</li>\\n' +\n  '  <li>प्रत्येक टूलबार समूह</li>\\n' +\n  '  <li>साइडबार</li>\\n' +\n  '  <li>फ़ुटर में तत्व पथ</li>\\n' +\n  '  <li>फ़ुटर में शब्द गणना टॉगल बटन</li>\\n' +\n  '  <li>फ़ुटर में ब्रांडिंग लिंक</li>\\n' +\n  '  <li>फ़ुटर में संपादक का आकार बदलने का हैंडल</li>\\n' +\n  '</ol>\\n' +\n  '\\n' +\n  '<p>अगर कोई UI सेक्शन मौजूद नहीं है, तो उसे छोड़ दिया जाता है।</p>\\n' +\n  '\\n' +\n  '<p>अगर फ़ुटर में कीबोर्ड नेविगेशन फ़ोकस है, और कोई दिखा देने वाला साइडबार नहीं है, तो <strong>Shift+Tab</strong> दबाने से\\n' +\n  '  फ़ोकस पहले टूलबार समूह पर चला जाता है, पिछले पर नहीं।</p>\\n' +\n  '\\n' +\n  '<h1>UI सेक्शन के भीतर नेविगेट करें</h1>\\n' +\n  '\\n' +\n  '<p>एक UI तत्व से दूसरे में जाने के लिए उपयुक्त <strong>ऐरो</strong> कुंजी दबाएं।</p>\\n' +\n  '\\n' +\n  '<p><strong>बाएं</strong> और <strong>दाएं</strong> ऐरो कुंजियां</p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>मेन्यू बार में मेन्यू के बीच ले जाती हैं।</li>\\n' +\n  '  <li>मेन्यू में एक सब-मेन्यू खोलें।</li>\\n' +\n  '  <li>टूलबार समूह में बटनों के बीच ले जाएं।</li>\\n' +\n  '  <li>फ़ुटर के तत्व पथ में आइटम के बीच ले जाएं।</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p><strong>नीचे</strong> और <strong>ऊपर</strong> ऐरो कुंजियां</p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>मेन्यू में मेन्यू आइटम के बीच ले जाती हैं।</li>\\n' +\n  '  <li>टूलबार पॉप-अप मेन्यू में आइटम के बीच ले जाएं।</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p>फ़ोकस वाले UI सेक्शन के भीतर <strong>ऐरो</strong> कुंजियां चलाती रहती हैं।</p>\\n' +\n  '\\n' +\n  '<p>कोई खुला मेन्यू, कोई खुला सब-मेन्यू या कोई खुला पॉप-अप मेन्यू बंद करने के लिए <strong>Esc</strong> कुंजी दबाएं।</p>\\n' +\n  '\\n' +\n  \"<p>अगर मौजूदा फ़ोकस किसी विशेष UI सेक्शन के 'शीर्ष' पर है, तो <strong>Esc</strong> कुंजी दबाने से भी\\n\" +\n  '  कीबोर्ड नेविगेशन पूरी तरह से बाहर हो जाता है।</p>\\n' +\n  '\\n' +\n  '<h1>मेन्यू आइटम या टूलबार बटन निष्पादित करें</h1>\\n' +\n  '\\n' +\n  '<p>जब वांछित मेन्यू आइटम या टूलबार बटन हाइलाइट किया जाता है, तो आइटम को निष्पादित करने के लिए <strong>Return</strong>, <strong>Enter</strong>,\\n' +\n  '  या <strong>Space bar</strong> दबाएं।</p>\\n' +\n  '\\n' +\n  '<h1>गैर-टैब वाले डायलॉग पर नेविगेट करें</h1>\\n' +\n  '\\n' +\n  '<p>गैर-टैब वाले डायलॉग में, डायलॉग खुलने पर पहला इंटरैक्टिव घटक फ़ोकस लेता है।</p>\\n' +\n  '\\n' +\n  '<p><strong>Tab</strong> or <strong>Shift+Tab</strong> दबाकर इंटरैक्टिव डायलॉग घटकों के बीच नेविगेट करें।</p>\\n' +\n  '\\n' +\n  '<h1>टैब किए गए डायलॉग पर नेविगेट करें</h1>\\n' +\n  '\\n' +\n  '<p>टैब किए गए डायलॉग में, डायलॉग खुलने पर टैब मेन्यू में पहला बटन फ़ोकस लेता है।</p>\\n' +\n  '\\n' +\n  '<p>इस डायलॉग टैब के इंटरैक्टिव घटकों के बीच नेविगेट करने के लिए <strong>Tab</strong> या\\n' +\n  '  <strong>Shift+Tab</strong> दबाएं।</p>\\n' +\n  '\\n' +\n  '<p>टैब मेन्यू को फ़ोकस देकर और फिर उपलब्ध टैब में के बीच जाने के लिए उपयुक्त <strong>ऐरो</strong>\\n' +\n  '  कुंजी दबाकर दूसरे डायलॉग टैब पर स्विच करें।</p>\\n');"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/plugins/help/js/i18n/keynav/hr.js",
    "content": "tinymce.Resource.add('tinymce.html-i18n.help-keynav.hr',\n'<h1>Početak navigacije na tipkovnici</h1>\\n' +\n  '\\n' +\n  '<dl>\\n' +\n  '  <dt>Fokusiranje trake izbornika</dt>\\n' +\n  '  <dd>Windows ili Linux: Alt+F9</dd>\\n' +\n  '  <dd>macOS: &#x2325;F9</dd>\\n' +\n  '  <dt>Fokusiranje alatne trake</dt>\\n' +\n  '  <dd>Windows ili Linux: Alt+F10</dd>\\n' +\n  '  <dd>macOS: &#x2325;F10</dd>\\n' +\n  '  <dt>Fokusiranje podnožja</dt>\\n' +\n  '  <dd>Windows ili Linux: Alt+F11</dd>\\n' +\n  '  <dd>macOS: &#x2325;F11</dd>\\n' +\n  '  <dt>Fokusiranje obavijesti</dt>\\n' +\n  '  <dd>Windows ili Linux: Alt + F12</dd>\\n' +\n  '  <dd>macOS: &#x2325;F12</dd>\\n' +\n  '  <dt>Fokusiranje kontekstne alatne trake</dt>\\n' +\n  '  <dd>Windows, Linux ili macOS: Ctrl+F9</dd>\\n' +\n  '</dl>\\n' +\n  '\\n' +\n  '<p>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' +\n  '  putu elementa u podnožju.</p>\\n' +\n  '\\n' +\n  '<h1>Navigacija između dijelova korisničkog sučelja</h1>\\n' +\n  '\\n' +\n  '<p>Za pomicanje s jednog dijela korisničkog sučelja na drugi pritisnite <strong>tabulator</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Za pomicanje s jednog dijela korisničkog sučelja na prethodni pritisnite <strong>Shift + tabulator</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Ovo je redoslijed pomicanja <strong>tabulatora</strong> po dijelovima korisničkog sučelja:</p>\\n' +\n  '\\n' +\n  '<ol>\\n' +\n  '  <li>Traka izbornika</li>\\n' +\n  '  <li>Pojedinačne grupe na alatnoj traci</li>\\n' +\n  '  <li>Bočna traka</li>\\n' +\n  '  <li>Put elemenata u podnožju</li>\\n' +\n  '  <li>Gumb za pomicanje po broju riječi u podnožju</li>\\n' +\n  '  <li>Veza na brand u podnožju</li>\\n' +\n  '  <li>Značajka za promjenu veličine alata za uređivanje u podnožju</li>\\n' +\n  '</ol>\\n' +\n  '\\n' +\n  '<p>Ako neki dio korisničkog sučelja nije naveden, on se preskače.</p>\\n' +\n  '\\n' +\n  '<p>Ako u podnožju postoji fokus za navigaciju na tipkovnici, a nema vidljive bočne trake, pritiskom na <strong>Shift + tabulator</strong>\\n' +\n  '  fokus se prebacuje na prvu skupinu na alatnoj traci, ne na zadnju.</p>\\n' +\n  '\\n' +\n  '<h1>Navigacija unutar dijelova korisničkog sučelja</h1>\\n' +\n  '\\n' +\n  '<p>Za pomicanje s jednog elementa korisničkog sučelja na drugi pritisnite tipku s odgovarajućom <strong>strelicom</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Tipke s <strong>lijevom</strong> i <strong>desnom</strong> strelicom</p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>služe za pomicanje između izbornika na alatnoj traci.</li>\\n' +\n  '  <li>otvaraju podizbornik unutar izbornika.</li>\\n' +\n  '  <li>služe za pomicanje između gumba unutar skupina na alatnoj traci.</li>\\n' +\n  '  <li>služe za pomicanje između stavki na elementu puta u podnožju.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p>Tipke s <strong>donjom</strong> i <strong>gornjom</strong> strelicom</p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>služe za pomicanje između stavki unutar izbornika.</li>\\n' +\n  '  <li>služe za pomicanje između stavki na alatnoj traci skočnog izbornika.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p>Tipkama <strong>strelica</strong> kružno se pomičete unutar dijela korisničkog sučelja koji je u fokusu.</p>\\n' +\n  '\\n' +\n  '<p>Za zatvaranje otvorenog izbornika, otvorenog podizbornika ili otvorenog skočnog izbornika pritisnite tipku <strong>Esc</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Ako je fokus trenutačno postavljen na vrh pojedinačnog dijela korisničkog sučelja, pritiskom na tipku <strong>Esc</strong> također\\n' +\n  '  u potpunosti zatvarate navigaciju na tipkovnici.</p>\\n' +\n  '\\n' +\n  '<h1>Izvršavanje radnji putem stavki izbornika ili gumba na alatnoj traci</h1>\\n' +\n  '\\n' +\n  '<p>Nakon što se istakne stavka izbornika ili gumb na alatnoj traci s radnjom koju želite izvršiti, pritisnite tipku <strong>Return</strong>, <strong>Enter</strong>\\n' +\n  '  ili <strong>razmak</strong> da biste pokrenuli željenu radnju.</p>\\n' +\n  '\\n' +\n  '<h1>Navigacija dijaloškim okvirima izvan kartica</h1>\\n' +\n  '\\n' +\n  '<p>Prilikom otvaranja dijaloških okvira izvan kartica fokus se nalazi na prvoj interaktivnoj komponenti.</p>\\n' +\n  '\\n' +\n  '<p>Navigaciju između interaktivnih dijaloških komponenata vršite pritiskom na <strong>tabulator</strong> ili <strong>Shift + tabulator</strong>.</p>\\n' +\n  '\\n' +\n  '<h1>Navigacija dijaloškim okvirima u karticama</h1>\\n' +\n  '\\n' +\n  '<p>Prilikom otvaranja dijaloških okvira u karticama fokus se nalazi na prvom gumbu u izborniku unutar kartice.</p>\\n' +\n  '\\n' +\n  '<p>Navigaciju između interaktivnih komponenata dijaloškog okvira u kartici vršite pritiskom na <strong>tabulator</strong> ili\\n' +\n  '  <strong>Shift + tabulator</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Na karticu s drugim dijaloškim okvirom možete se prebaciti tako da stavite fokus na izbornik kartice pa pritisnete tipku s odgovarajućom <strong>strelicom</strong>\\n' +\n  '  za kružno pomicanje između dostupnih kartica.</p>\\n');"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/plugins/help/js/i18n/keynav/hu-HU.js",
    "content": "tinymce.Resource.add('tinymce.html-i18n.help-keynav.hu-HU',\n'<h1>Billentyűzetes navigáció indítása</h1>\\n' +\n  '\\n' +\n  '<dl>\\n' +\n  '  <dt>Fókusz a menüsávra</dt>\\n' +\n  '  <dd>Windows és Linux: Alt+F9</dd>\\n' +\n  '  <dd>macOS: &#x2325;F9</dd>\\n' +\n  '  <dt>Fókusz az eszköztárra</dt>\\n' +\n  '  <dd>Windows és Linux: Alt+F10</dd>\\n' +\n  '  <dd>macOS: &#x2325;F10</dd>\\n' +\n  '  <dt>Fókusz a láblécre</dt>\\n' +\n  '  <dd>Windows és Linux: Alt+F11</dd>\\n' +\n  '  <dd>macOS: &#x2325;F11</dd>\\n' +\n  '  <dt>Ráközelítés az értesítésre</dt>\\n' +\n  '  <dd>Windows vagy Linux: Alt+F12</dd>\\n' +\n  '  <dd>macOS: &#x2325;F12</dd>\\n' +\n  '  <dt>Fókusz egy környezetfüggő eszköztárra</dt>\\n' +\n  '  <dd>Windows, Linux és macOS: Ctrl+F9</dd>\\n' +\n  '</dl>\\n' +\n  '\\n' +\n  '<p>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' +\n  '  a lábléc elemútvonalán.</p>\\n' +\n  '\\n' +\n  '<h1>Navigálás a felhasználói felület szakaszai között</h1>\\n' +\n  '\\n' +\n  '<p>A felhasználói felület következő szakaszára váltáshoz nyomja meg a <strong>Tab</strong> billentyűt.</p>\\n' +\n  '\\n' +\n  '<p>A felhasználói felület előző szakaszára váltáshoz nyomja meg a <strong>Shift+Tab</strong> billentyűt.</p>\\n' +\n  '\\n' +\n  '<p>A <strong>Tab</strong> billentyűvel a felhasználói felület szakaszai között a következő sorrendben vált:</p>\\n' +\n  '\\n' +\n  '<ol>\\n' +\n  '  <li>Menüsáv</li>\\n' +\n  '  <li>Az egyes eszköztárcsoportok</li>\\n' +\n  '  <li>Oldalsáv</li>\\n' +\n  '  <li>Elemútvonal a láblécen</li>\\n' +\n  '  <li>Szószámátkapcsoló gomb a láblécen</li>\\n' +\n  '  <li>Márkalink a láblécen</li>\\n' +\n  '  <li>Szerkesztő átméretezési fogópontja a láblécen</li>\\n' +\n  '</ol>\\n' +\n  '\\n' +\n  '<p>Ha a felhasználói felület valamelyik eleme nincs jelen, a rendszer kihagyja.</p>\\n' +\n  '\\n' +\n  '<p>Ha a billentyűzetes navigáció fókusza a láblécen van, és nincs látható oldalsáv, a <strong>Shift+Tab</strong>\\n' +\n  '  billentyűkombináció lenyomásakor az első eszköztárcsoportra ugrik a fókusz, nem az utolsóra.</p>\\n' +\n  '\\n' +\n  '<h1>Navigálás a felhasználói felület szakaszain belül</h1>\\n' +\n  '\\n' +\n  '<p>A felhasználói felület következő elemére váltáshoz nyomja meg a megfelelő <strong>nyílbillentyűt</strong>.</p>\\n' +\n  '\\n' +\n  '<p>A <strong>bal</strong> és a <strong>jobb</strong> nyílgomb</p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>a menüsávban a menük között vált.</li>\\n' +\n  '  <li>a menükben megnyit egy almenüt.</li>\\n' +\n  '  <li>az eszköztárcsoportban a gombok között vált.</li>\\n' +\n  '  <li>a lábléc elemútvonalán az elemek között vált.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p>A <strong>le</strong> és a <strong>fel</strong> nyílgomb</p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>a menükben a menüpontok között vált.</li>\\n' +\n  '  <li>az eszköztár előugró menüjében az elemek között vált.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p>A <strong>nyílbillentyűk</strong> lenyomásával körkörösen lépkedhet a fókuszban lévő felhasználói felületi szakasz elemei között.</p>\\n' +\n  '\\n' +\n  '<p>A megnyitott menüket, almenüket és előugró menüket az <strong>Esc</strong> billentyűvel zárhatja be.</p>\\n' +\n  '\\n' +\n  '<p>Ha a fókusz az aktuális felületi elem „felső” részén van, az <strong>Esc</strong> billentyűvel az egész\\n' +\n  '  billentyűzetes navigációból kilép.</p>\\n' +\n  '\\n' +\n  '<h1>Menüpont vagy eszköztárgomb aktiválása</h1>\\n' +\n  '\\n' +\n  '<p>Amikor a kívánt menüelem vagy eszköztárgomb van kijelölve, nyomja meg a <strong>Return</strong>, az <strong>Enter</strong>\\n' +\n  '  vagy a <strong>Szóköz</strong> billentyűt az adott elem vagy gomb aktiválásához.</p>\\n' +\n  '\\n' +\n  '<h1>Navigálás a lapokkal nem rendelkező párbeszédablakokban</h1>\\n' +\n  '\\n' +\n  '<p>A lapokkal nem rendelkező párbeszédablakokban az első interaktív összetevő kapja a fókuszt, amikor a párbeszédpanel megnyílik.</p>\\n' +\n  '\\n' +\n  '<p>A párbeszédpanelek interaktív összetevői között a <strong>Tab</strong> vagy a <strong>Shift+Tab</strong> billentyűvel navigálhat.</p>\\n' +\n  '\\n' +\n  '<h1>Navigálás a lapokkal rendelkező párbeszédablakokban</h1>\\n' +\n  '\\n' +\n  '<p>A lapokkal rendelkező párbeszédablakokban a lapmenü első gombja kapja a fókuszt, amikor a párbeszédpanel megnyílik.</p>\\n' +\n  '\\n' +\n  '<p>A párbeszédpanel e lapjának interaktív összetevői között a <strong>Tab</strong> vagy\\n' +\n  '  <strong>Shift+Tab</strong> billentyűvel navigálhat.</p>\\n' +\n  '\\n' +\n  '<p>A párbeszédablak másik lapjára úgy léphet, hogy a fókuszt a lapmenüre állítja, majd lenyomja a megfelelő <strong>nyílbillentyűt</strong>\\n' +\n  '  a rendelkezésre álló lapok közötti lépkedéshez.</p>\\n');"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/plugins/help/js/i18n/keynav/hu_HU.js",
    "content": "tinymce.Resource.add('tinymce.html-i18n.help-keynav.hu_HU',\n'<h1>Billentyűzetes navigáció indítása</h1>\\n' +\n  '\\n' +\n  '<dl>\\n' +\n  '  <dt>Fókusz a menüsávra</dt>\\n' +\n  '  <dd>Windows és Linux: Alt+F9</dd>\\n' +\n  '  <dd>macOS: &#x2325;F9</dd>\\n' +\n  '  <dt>Fókusz az eszköztárra</dt>\\n' +\n  '  <dd>Windows és Linux: Alt+F10</dd>\\n' +\n  '  <dd>macOS: &#x2325;F10</dd>\\n' +\n  '  <dt>Fókusz a láblécre</dt>\\n' +\n  '  <dd>Windows és Linux: Alt+F11</dd>\\n' +\n  '  <dd>macOS: &#x2325;F11</dd>\\n' +\n  '  <dt>Ráközelítés az értesítésre</dt>\\n' +\n  '  <dd>Windows vagy Linux: Alt+F12</dd>\\n' +\n  '  <dd>macOS: &#x2325;F12</dd>\\n' +\n  '  <dt>Fókusz egy környezetfüggő eszköztárra</dt>\\n' +\n  '  <dd>Windows, Linux és macOS: Ctrl+F9</dd>\\n' +\n  '</dl>\\n' +\n  '\\n' +\n  '<p>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' +\n  '  a lábléc elemútvonalán.</p>\\n' +\n  '\\n' +\n  '<h1>Navigálás a felhasználói felület szakaszai között</h1>\\n' +\n  '\\n' +\n  '<p>A felhasználói felület következő szakaszára váltáshoz nyomja meg a <strong>Tab</strong> billentyűt.</p>\\n' +\n  '\\n' +\n  '<p>A felhasználói felület előző szakaszára váltáshoz nyomja meg a <strong>Shift+Tab</strong> billentyűt.</p>\\n' +\n  '\\n' +\n  '<p>A <strong>Tab</strong> billentyűvel a felhasználói felület szakaszai között a következő sorrendben vált:</p>\\n' +\n  '\\n' +\n  '<ol>\\n' +\n  '  <li>Menüsáv</li>\\n' +\n  '  <li>Az egyes eszköztárcsoportok</li>\\n' +\n  '  <li>Oldalsáv</li>\\n' +\n  '  <li>Elemútvonal a láblécen</li>\\n' +\n  '  <li>Szószámátkapcsoló gomb a láblécen</li>\\n' +\n  '  <li>Márkalink a láblécen</li>\\n' +\n  '  <li>Szerkesztő átméretezési fogópontja a láblécen</li>\\n' +\n  '</ol>\\n' +\n  '\\n' +\n  '<p>Ha a felhasználói felület valamelyik eleme nincs jelen, a rendszer kihagyja.</p>\\n' +\n  '\\n' +\n  '<p>Ha a billentyűzetes navigáció fókusza a láblécen van, és nincs látható oldalsáv, a <strong>Shift+Tab</strong>\\n' +\n  '  billentyűkombináció lenyomásakor az első eszköztárcsoportra ugrik a fókusz, nem az utolsóra.</p>\\n' +\n  '\\n' +\n  '<h1>Navigálás a felhasználói felület szakaszain belül</h1>\\n' +\n  '\\n' +\n  '<p>A felhasználói felület következő elemére váltáshoz nyomja meg a megfelelő <strong>nyílbillentyűt</strong>.</p>\\n' +\n  '\\n' +\n  '<p>A <strong>bal</strong> és a <strong>jobb</strong> nyílgomb</p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>a menüsávban a menük között vált.</li>\\n' +\n  '  <li>a menükben megnyit egy almenüt.</li>\\n' +\n  '  <li>az eszköztárcsoportban a gombok között vált.</li>\\n' +\n  '  <li>a lábléc elemútvonalán az elemek között vált.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p>A <strong>le</strong> és a <strong>fel</strong> nyílgomb</p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>a menükben a menüpontok között vált.</li>\\n' +\n  '  <li>az eszköztár előugró menüjében az elemek között vált.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p>A <strong>nyílbillentyűk</strong> lenyomásával körkörösen lépkedhet a fókuszban lévő felhasználói felületi szakasz elemei között.</p>\\n' +\n  '\\n' +\n  '<p>A megnyitott menüket, almenüket és előugró menüket az <strong>Esc</strong> billentyűvel zárhatja be.</p>\\n' +\n  '\\n' +\n  '<p>Ha a fókusz az aktuális felületi elem „felső” részén van, az <strong>Esc</strong> billentyűvel az egész\\n' +\n  '  billentyűzetes navigációból kilép.</p>\\n' +\n  '\\n' +\n  '<h1>Menüpont vagy eszköztárgomb aktiválása</h1>\\n' +\n  '\\n' +\n  '<p>Amikor a kívánt menüelem vagy eszköztárgomb van kijelölve, nyomja meg a <strong>Return</strong>, az <strong>Enter</strong>\\n' +\n  '  vagy a <strong>Szóköz</strong> billentyűt az adott elem vagy gomb aktiválásához.</p>\\n' +\n  '\\n' +\n  '<h1>Navigálás a lapokkal nem rendelkező párbeszédablakokban</h1>\\n' +\n  '\\n' +\n  '<p>A lapokkal nem rendelkező párbeszédablakokban az első interaktív összetevő kapja a fókuszt, amikor a párbeszédpanel megnyílik.</p>\\n' +\n  '\\n' +\n  '<p>A párbeszédpanelek interaktív összetevői között a <strong>Tab</strong> vagy a <strong>Shift+Tab</strong> billentyűvel navigálhat.</p>\\n' +\n  '\\n' +\n  '<h1>Navigálás a lapokkal rendelkező párbeszédablakokban</h1>\\n' +\n  '\\n' +\n  '<p>A lapokkal rendelkező párbeszédablakokban a lapmenü első gombja kapja a fókuszt, amikor a párbeszédpanel megnyílik.</p>\\n' +\n  '\\n' +\n  '<p>A párbeszédpanel e lapjának interaktív összetevői között a <strong>Tab</strong> vagy\\n' +\n  '  <strong>Shift+Tab</strong> billentyűvel navigálhat.</p>\\n' +\n  '\\n' +\n  '<p>A párbeszédablak másik lapjára úgy léphet, hogy a fókuszt a lapmenüre állítja, majd lenyomja a megfelelő <strong>nyílbillentyűt</strong>\\n' +\n  '  a rendelkezésre álló lapok közötti lépkedéshez.</p>\\n');"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/plugins/help/js/i18n/keynav/id.js",
    "content": "tinymce.Resource.add('tinymce.html-i18n.help-keynav.id',\n'<h1>Memulai navigasi keyboard</h1>\\n' +\n  '\\n' +\n  '<dl>\\n' +\n  '  <dt>Fokus pada bilah Menu</dt>\\n' +\n  '  <dd>Windows atau Linux: Alt+F9</dd>\\n' +\n  '  <dd>macOS: &#x2325;F9</dd>\\n' +\n  '  <dt>Fokus pada Bilah Alat</dt>\\n' +\n  '  <dd>Windows atau Linux: Alt+F10</dd>\\n' +\n  '  <dd>macOS: &#x2325;F10</dd>\\n' +\n  '  <dt>Fokus pada footer</dt>\\n' +\n  '  <dd>Windows atau Linux: Alt+F11</dd>\\n' +\n  '  <dd>macOS: &#x2325;F11</dd>\\n' +\n  '  <dt>Fokuskan pemberitahuan</dt>\\n' +\n  '  <dd>Windows atau Linux: Alt+F12</dd>\\n' +\n  '  <dd>macOS: &#x2325;F12</dd>\\n' +\n  '  <dt>Fokus pada bilah alat kontekstual</dt>\\n' +\n  '  <dd>Windows, Linux, atau macOS: Ctrl+F9</dd>\\n' +\n  '</dl>\\n' +\n  '\\n' +\n  '<p>Navigasi akan dimulai dari item pertama UI, yang akan disorot atau digarisbawahi di\\n' +\n  '  alur elemen Footer.</p>\\n' +\n  '\\n' +\n  '<h1>Berpindah antar-bagian UI</h1>\\n' +\n  '\\n' +\n  '<p>Untuk berpindah dari satu bagian UI ke bagian berikutnya, tekan <strong>Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Untuk berpindah dari satu bagian UI ke bagian sebelumnya, tekan <strong>Shift+Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Urutan <strong>Tab</strong> bagian-bagian UI ini adalah:</p>\\n' +\n  '\\n' +\n  '<ol>\\n' +\n  '  <li>Bilah menu</li>\\n' +\n  '  <li>Tiap grup bilah alat</li>\\n' +\n  '  <li>Bilah sisi</li>\\n' +\n  '  <li>Alur elemen di footer</li>\\n' +\n  '  <li>Tombol aktifkan/nonaktifkan jumlah kata di footer</li>\\n' +\n  '  <li>Tautan merek di footer</li>\\n' +\n  '  <li>Pengatur pengubahan ukuran editor di footer</li>\\n' +\n  '</ol>\\n' +\n  '\\n' +\n  '<p>Jika suatu bagian UI tidak ada, bagian tersebut dilewati.</p>\\n' +\n  '\\n' +\n  '<p>Jika fokus navigasi keyboard ada pada footer, tetapi tidak ada bilah sisi yang terlihat, menekan <strong>Shift+Tab</strong>\\n' +\n  '  akan memindahkan fokus ke grup bilah alat pertama, bukan yang terakhir.</p>\\n' +\n  '\\n' +\n  '<h1>Berpindah di dalam bagian-bagian UI</h1>\\n' +\n  '\\n' +\n  '<p>Untuk berpindah dari satu elemen UI ke elemen berikutnya, tekan tombol <strong>Panah</strong> yang sesuai.</p>\\n' +\n  '\\n' +\n  '<p>Tombol panah <strong>Kiri</strong> dan <strong>Kanan</strong> untuk</p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>berpindah-pindah antar-menu di dalam bilah menu.</li>\\n' +\n  '  <li>membuka sub-menu di dalam menu.</li>\\n' +\n  '  <li>berpindah-pindah antar-tombol di dalam grup bilah alat.</li>\\n' +\n  '  <li>berpindah-pindah antar-item di dalam alur elemen footer.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p>Tombol panah <strong>Bawah</strong> dan <strong>Atas</strong> untuk</p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>berpindah-pindah antar-item menu di dalam menu.</li>\\n' +\n  '  <li>berpindah-pindah antar-item di dalam menu pop-up bilah alat.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p>Tombol <strong>Panah</strong> hanya bergerak di dalam bagian UI yang difokuskan.</p>\\n' +\n  '\\n' +\n  '<p>Untuk menutup menu, sub-menu, atau menu pop-up yang terbuka, tekan tombol <strong>Esc</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Jika fokus sedang berada di ‘atas’ bagian UI tertentu, menekan tombol <strong>Esc</strong> juga dapat mengeluarkan fokus\\n' +\n  '  dari seluruh navigasi keyboard.</p>\\n' +\n  '\\n' +\n  '<h1>Menjalankan item menu atau tombol bilah alat</h1>\\n' +\n  '\\n' +\n  '<p>Jika item menu atau tombol bilah alat yang diinginkan tersorot, tekan <strong>Return</strong>, <strong>Enter</strong>,\\n' +\n  '  atau <strong>Spasi</strong> untuk menjalankan item.</p>\\n' +\n  '\\n' +\n  '<h1>Berpindah dalam dialog tanpa tab</h1>\\n' +\n  '\\n' +\n  '<p>Dalam dialog tanpa tab, fokus diarahkan pada komponen interaktif pertama saat dialog terbuka.</p>\\n' +\n  '\\n' +\n  '<p>Berpindah di antara komponen dalam dialog interaktif dengan menekan <strong>Tab</strong> atau <strong>Shift+Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<h1>Berpindah dalam dialog dengan tab</h1>\\n' +\n  '\\n' +\n  '<p>Dalam dialog yang memiliki tab, fokus diarahkan pada tombol pertama di dalam menu saat dialog terbuka.</p>\\n' +\n  '\\n' +\n  '<p>Berpindah di antara komponen-komponen interaktif pada tab dialog ini dengan menekan <strong>Tab</strong> atau\\n' +\n  '  <strong>Shift+Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Beralih ke tab dialog lain dengan mengarahkan fokus pada menu tab lalu tekan tombol <strong>Panah</strong>\\n' +\n  '  yang sesuai untuk berpindah ke berbagai tab yang tersedia.</p>\\n');"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/plugins/help/js/i18n/keynav/it.js",
    "content": "tinymce.Resource.add('tinymce.html-i18n.help-keynav.it',\n'<h1>Iniziare la navigazione tramite tastiera</h1>\\n' +\n  '\\n' +\n  '<dl>\\n' +\n  '  <dt>Impostare lo stato attivo per la barra dei menu</dt>\\n' +\n  '  <dd>Windows o Linux: ALT+F9</dd>\\n' +\n  '  <dd>macOS: &#x2325;F9</dd>\\n' +\n  '  <dt>Impostare lo stato attivo per la barra degli strumenti</dt>\\n' +\n  '  <dd>Windows o Linux: ALT+F10</dd>\\n' +\n  '  <dd>macOS: &#x2325;F10</dd>\\n' +\n  '  <dt>Impostare lo stato attivo per il piè di pagina</dt>\\n' +\n  '  <dd>Windows o Linux: ALT+F11</dd>\\n' +\n  '  <dd>macOS: &#x2325;F11</dd>\\n' +\n  '  <dt>Metti a fuoco la notifica</dt>\\n' +\n  '  <dd>Windows o Linux: ALT+F12</dd>\\n' +\n  '  <dd>macOS: &#x2325;F12</dd>\\n' +\n  '  <dt>Impostare lo stato attivo per la barra degli strumenti contestuale</dt>\\n' +\n  '  <dd>Windows, Linux o macOS: CTRL+F9</dd>\\n' +\n  '</dl>\\n' +\n  '\\n' +\n  \"<p>La navigazione inizierà dalla prima voce dell'interfaccia utente, che sarà evidenziata o sottolineata nel caso della prima voce\\n\" +\n  \"  nel percorso dell'elemento del piè di pagina.</p>\\n\" +\n  '\\n' +\n  \"<h1>Navigare tra le sezioni dell'interfaccia utente</h1>\\n\" +\n  '\\n' +\n  \"<p>Per passare da una sezione dell'interfaccia utente alla successiva, premere <strong>TAB</strong>.</p>\\n\" +\n  '\\n' +\n  \"<p>Per passare da una sezione dell'interfaccia utente alla precedente, premere <strong>MAIUSC+TAB</strong>.</p>\\n\" +\n  '\\n' +\n  \"<p>L'ordine di <strong>tabulazione</strong> di queste sezioni dell'interfaccia utente è:</p>\\n\" +\n  '\\n' +\n  '<ol>\\n' +\n  '  <li>Barra dei menu</li>\\n' +\n  '  <li>Ogni gruppo di barre degli strumenti</li>\\n' +\n  '  <li>Barra laterale</li>\\n' +\n  \"  <li>Percorso dell'elemento nel piè di pagina</li>\\n\" +\n  '  <li>Pulsante di attivazione/disattivazione del conteggio delle parole nel piè di pagina</li>\\n' +\n  '  <li>Collegamento al marchio nel piè di pagina</li>\\n' +\n  \"  <li>Quadratino di ridimensionamento dell'editor nel piè di pagina</li>\\n\" +\n  '</ol>\\n' +\n  '\\n' +\n  \"<p>Se una sezione dell'interfaccia utente non è presente, viene saltata.</p>\\n\" +\n  '\\n' +\n  '<p>Se il piè di pagina ha lo stato attivo per la navigazione tramite tastiera e non è presente alcuna barra laterale visibile, premendo <strong>MAIUSC+TAB</strong>\\n' +\n  \"  si sposta lo stato attivo sul primo gruppo di barre degli strumenti, non sull'ultimo.</p>\\n\" +\n  '\\n' +\n  \"<h1>Navigare all'interno delle sezioni dell'interfaccia utente</h1>\\n\" +\n  '\\n' +\n  \"<p>Per passare da un elemento dell'interfaccia utente al successivo, premere il tasto <strong>freccia</strong> appropriato.</p>\\n\" +\n  '\\n' +\n  '<p>I tasti freccia <strong>Sinistra</strong> e <strong>Destra</strong></p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>consentono di spostarsi tra i menu della barra dei menu.</li>\\n' +\n  '  <li>aprono un sottomenu in un menu.</li>\\n' +\n  '  <li>consentono di spostarsi tra i pulsanti di un gruppo di barre degli strumenti.</li>\\n' +\n  \"  <li>consentono di spostarsi tra le voci nel percorso dell'elemento del piè di pagina.</li>\\n\" +\n  '</ul>\\n' +\n  '\\n' +\n  '<p>I tasti freccia <strong>Giù</strong> e <strong>Su</strong></p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>consentono di spostarsi tra le voci di un menu.</li>\\n' +\n  '  <li>consentono di spostarsi tra le voci di un menu a comparsa della barra degli strumenti.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  \"<p>I tasti <strong>freccia</strong> consentono di spostarsi all'interno della sezione dell'interfaccia utente con stato attivo.</p>\\n\" +\n  '\\n' +\n  '<p>Per chiudere un menu aperto, un sottomenu aperto o un menu a comparsa aperto, premere il tasto <strong>ESC</strong>.</p>\\n' +\n  '\\n' +\n  \"<p>Se lo stato attivo corrente si trova nella parte superiore di una particolare sezione dell'interfaccia utente, premendo il tasto <strong>ESC</strong> si esce\\n\" +\n  '  completamente dalla navigazione tramite tastiera.</p>\\n' +\n  '\\n' +\n  '<h1>Eseguire una voce di menu o un pulsante della barra degli strumenti</h1>\\n' +\n  '\\n' +\n  '<p>Quando la voce di menu o il pulsante della barra degli strumenti desiderati sono evidenziati, premere il tasto di<strong>ritorno a capo</strong>, il tasto <strong>Invio</strong>\\n' +\n  '  o la <strong>barra spaziatrice</strong> per eseguirli.</p>\\n' +\n  '\\n' +\n  '<h1>Navigare nelle finestre di dialogo non a schede</h1>\\n' +\n  '\\n' +\n  \"<p>Nelle finestre di dialogo non a schede, all'apertura della finestra di dialogo diventa attivo il primo componente interattivo.</p>\\n\" +\n  '\\n' +\n  '<p>Per spostarsi tra i componenti interattivi della finestra di dialogo, premere <strong>TAB</strong> o <strong>MAIUSC+TAB</strong>.</p>\\n' +\n  '\\n' +\n  '<h1>Navigare nelle finestre di dialogo a schede</h1>\\n' +\n  '\\n' +\n  \"<p>Nelle finestre di dialogo a schede, all'apertura della finestra di dialogo diventa attivo il primo pulsante del menu della scheda.</p>\\n\" +\n  '\\n' +\n  '<p>Per spostarsi tra i componenti interattivi di questa scheda della finestra di dialogo, premere <strong>TAB</strong> o\\n' +\n  '  <strong>MAIUSC+TAB</strong>.</p>\\n' +\n  '\\n' +\n  \"<p>Per passare a un'altra scheda della finestra di dialogo, attivare il menu della scheda e premere il tasto <strong>freccia</strong>\\n\" +\n  '  appropriato per scorrere le schede disponibili.</p>\\n');"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/plugins/help/js/i18n/keynav/ja.js",
    "content": "tinymce.Resource.add('tinymce.html-i18n.help-keynav.ja',\n'<h1>キーボード ナビゲーションの開始</h1>\\n' +\n  '\\n' +\n  '<dl>\\n' +\n  '  <dt>メニュー バーをフォーカス</dt>\\n' +\n  '  <dd>Windows または Linux: Alt+F9</dd>\\n' +\n  '  <dd>macOS: &#x2325;F9</dd>\\n' +\n  '  <dt>ツール バーをフォーカス</dt>\\n' +\n  '  <dd>Windows または Linux: Alt+F10</dd>\\n' +\n  '  <dd>macOS: &#x2325;F10</dd>\\n' +\n  '  <dt>フッターをフォーカス</dt>\\n' +\n  '  <dd>Windows または Linux: Alt+F11</dd>\\n' +\n  '  <dd>macOS: &#x2325;F11</dd>\\n' +\n  '  <dt>通知にフォーカス</dt>\\n' +\n  '  <dd>Windows または Linux: Alt+F12</dd>\\n' +\n  '  <dd>macOS: &#x2325;F12</dd>\\n' +\n  '  <dt>コンテキスト ツール バーをフォーカス</dt>\\n' +\n  '  <dd>Windows、Linux または macOS: Ctrl+F9</dd>\\n' +\n  '</dl>\\n' +\n  '\\n' +\n  '<p>ナビゲーションは最初の UI 項目から開始され、強調表示されるか、フッターの要素パスにある最初の項目の場合は\\n' +\n  '  下線が引かれます。</p>\\n' +\n  '\\n' +\n  '<h1>UI セクション間の移動</h1>\\n' +\n  '\\n' +\n  '<p>次の UI セクションに移動するには、<strong>Tab</strong> を押します。</p>\\n' +\n  '\\n' +\n  '<p>前の UI セクションに移動するには、<strong>Shift+Tab</strong> を押します。</p>\\n' +\n  '\\n' +\n  '<p>これらの UI セクションの <strong>Tab</strong> の順序:</p>\\n' +\n  '\\n' +\n  '<ol>\\n' +\n  '  <li>メニュー バー</li>\\n' +\n  '  <li>各ツール バー グループ</li>\\n' +\n  '  <li>サイド バー</li>\\n' +\n  '  <li>フッターの要素パス</li>\\n' +\n  '  <li>フッターの単語数切り替えボタン</li>\\n' +\n  '  <li>フッターのブランド リンク</li>\\n' +\n  '  <li>フッターのエディター サイズ変更ハンドル</li>\\n' +\n  '</ol>\\n' +\n  '\\n' +\n  '<p>UI セクションが存在しない場合は、スキップされます。</p>\\n' +\n  '\\n' +\n  '<p>フッターにキーボード ナビゲーション フォーカスがあり、表示可能なサイド バーがない場合、<strong>Shift+Tab</strong> を押すと、\\n' +\n  '  フォーカスが最後ではなく最初のツール バー グループに移動します。</p>\\n' +\n  '\\n' +\n  '<h1>UI セクション内の移動</h1>\\n' +\n  '\\n' +\n  '<p>次の UI 要素に移動するには、適切な<strong>矢印</strong>キーを押します。</p>\\n' +\n  '\\n' +\n  '<p><strong>左矢印</strong>と<strong>右矢印</strong>のキー</p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>メニュー バーのメニュー間で移動します。</li>\\n' +\n  '  <li>メニュー内のサブメニューを開きます。</li>\\n' +\n  '  <li>ツール バー グループのボタン間で移動します。</li>\\n' +\n  '  <li>フッターの要素パスの項目間で移動します。</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p><strong>下矢印</strong>と<strong>上矢印</strong>のキー</p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>メニュー内のメニュー項目間で移動します。</li>\\n' +\n  '  <li>ツール バー ポップアップ メニュー内のメニュー項目間で移動します。</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p><strong>矢印</strong>キーで、フォーカスされた UI セクション内で循環します。</p>\\n' +\n  '\\n' +\n  '<p>開いたメニュー、開いたサブメニュー、開いたポップアップ メニューを閉じるには、<strong>Esc</strong> キーを押します。</p>\\n' +\n  '\\n' +\n  '<p>現在のフォーカスが特定の UI セクションの「一番上」にある場合、<strong>Esc</strong> キーを押すと\\n' +\n  '  キーボード ナビゲーションも完全に閉じられます。</p>\\n' +\n  '\\n' +\n  '<h1>メニュー項目またはツール バー ボタンの実行</h1>\\n' +\n  '\\n' +\n  '<p>目的のメニュー項目やツール バー ボタンが強調表示されている場合、<strong>リターン</strong>、<strong>Enter</strong>、\\n' +\n  '  または<strong>スペース キー</strong>を押して項目を実行します。</p>\\n' +\n  '\\n' +\n  '<h1>タブのないダイアログの移動</h1>\\n' +\n  '\\n' +\n  '<p>タブのないダイアログでは、ダイアログが開くと最初の対話型コンポーネントがフォーカスされます。</p>\\n' +\n  '\\n' +\n  '<p><strong>Tab</strong> または <strong>Shift+Tab</strong> を押して、対話型ダイアログ コンポーネント間で移動します。</p>\\n' +\n  '\\n' +\n  '<h1>タブ付きダイアログの移動</h1>\\n' +\n  '\\n' +\n  '<p>タブ付きダイアログでは、ダイアログが開くとタブ メニューの最初のボタンがフォーカスされます。</p>\\n' +\n  '\\n' +\n  '<p><strong>Tab</strong> または\\n' +\n  '  <strong>Shift+Tab</strong> を押して、このダイアログ タブの対話型コンポーネント間で移動します。</p>\\n' +\n  '\\n' +\n  '<p>タブ メニューをフォーカスしてから適切な<strong>矢印</strong>キーを押して表示可能なタブを循環して、\\n' +\n  '  別のダイアログに切り替えます。</p>\\n');"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/plugins/help/js/i18n/keynav/kk.js",
    "content": "tinymce.Resource.add('tinymce.html-i18n.help-keynav.kk',\n'<h1>Пернетақта навигациясын бастау</h1>\\n' +\n  '\\n' +\n  '<dl>\\n' +\n  '  <dt>Мәзір жолағын фокустау</dt>\\n' +\n  '  <dd>Windows немесе Linux: Alt+F9</dd>\\n' +\n  '  <dd>macOS: &#x2325;F9</dd>\\n' +\n  '  <dt>Құралдар тақтасын фокустау</dt>\\n' +\n  '  <dd>Windows немесе Linux: Alt+F10</dd>\\n' +\n  '  <dd>macOS: &#x2325;F10</dd>\\n' +\n  '  <dt>Төменгі деректемені фокустау</dt>\\n' +\n  '  <dd>Windows немесе Linux: Alt+F11</dd>\\n' +\n  '  <dd>macOS: &#x2325;F11</dd>\\n' +\n  '  <dt>Хабарландыруды белгілеу</dt>\\n' +\n  '  <dd>Windows немесе Linux: Alt+F12</dd>\\n' +\n  '  <dd>macOS: &#x2325;F12</dd>\\n' +\n  '  <dt>Мәтінмәндік құралдар тақтасын фокустау</dt>\\n' +\n  '  <dd>Windows, Linux немесе macOS: Ctrl+F9</dd>\\n' +\n  '</dl>\\n' +\n  '\\n' +\n  '<p>Навигация бөлектелетін немесе Төменгі деректеме элементінің жолындағы бірінші элемент жағдайында асты сызылатын\\n' +\n  '  бірінші ПИ элементінен басталады.</p>\\n' +\n  '\\n' +\n  '<h1>ПИ бөлімдері арасында навигациялау</h1>\\n' +\n  '\\n' +\n  '<p>Бір ПИ бөлімінен келесісіне өту үшін <strong>Tab</strong> пернесін басыңыз.</p>\\n' +\n  '\\n' +\n  '<p>Бір ПИ бөлімінен алдыңғысына өту үшін <strong>Shift+Tab</strong> пернесін басыңыз.</p>\\n' +\n  '\\n' +\n  '<p>Осы ПИ бөлімдерінің <strong>Tab</strong> реті:</p>\\n' +\n  '\\n' +\n  '<ol>\\n' +\n  '  <li>Мәзір жолағы</li>\\n' +\n  '  <li>Әрбір құралдар тақтасы тобы</li>\\n' +\n  '  <li>Бүйірлік жолақ</li>\\n' +\n  '  <li>Төменгі деректемедегі элемент жолы</li>\\n' +\n  '  <li>Төменгі деректемедегі сөздер санын ауыстыру түймесі</li>\\n' +\n  '  <li>Төменгі деректемедегі брендингтік сілтеме</li>\\n' +\n  '  <li>Төменгі деректемедегі редактор өлшемін өзгерту тұтқасы</li>\\n' +\n  '</ol>\\n' +\n  '\\n' +\n  '<p>ПИ бөлімі көрсетілмесе, ол өткізіп жіберіледі.</p>\\n' +\n  '\\n' +\n  '<p>Төменгі деректемеде пернетақта навигациясының фокусы болса және бүйірлік жолақ көрінбесе, <strong>Shift+Tab</strong> тіркесімін басу әрекеті\\n' +\n  '  фокусты соңғысы емес, бірінші құралдар тақтасы тобына жылжытады.</p>\\n' +\n  '\\n' +\n  '<h1>ПИ бөлімдерінде навигациялау</h1>\\n' +\n  '\\n' +\n  '<p>Бір ПИ элементінен келесісіне өту үшін <strong>Arrow</strong> (Көрсеткі) пернесін басыңыз.</p>\\n' +\n  '\\n' +\n  '<p><strong>Left</strong> (Сол жақ) және <strong>Right</strong> (Оң жақ) көрсеткі пернелері</p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>мәзір жолағындағы мәзірлер арасында жылжыту.</li>\\n' +\n  '  <li>мәзірде ішкі мәзірді ашу.</li>\\n' +\n  '  <li>құралдар тақтасы тобындағы түймелер арасында жылжыту.</li>\\n' +\n  '  <li>төменгі деректеме элементінің жолындағы элементтер арасында жылжыту.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p><strong>Down</strong> (Төмен) және <strong>Up</strong> (Жоғары) көрсеткі пернелері</p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>мәзірдегі мәзір элементтері арасында жылжыту.</li>\\n' +\n  '  <li>құралдар тақтасының ашылмалы мәзіріндегі мәзір элементтері арасында жылжыту.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p>Фокусталған ПИ бөліміндегі <strong>Arrow</strong> (Көрсеткі) пернелерінің циклі.</p>\\n' +\n  '\\n' +\n  '<p>Ашық мәзірді жабу үшін ішкі мәзірді ашып немесе ашылмалы мәзірді ашып, <strong>Esc</strong> пернесін басыңыз.</p>\\n' +\n  '\\n' +\n  '<p>Ағымдағы фокус белгілі бір ПИ бөлімінің «үстінде» болса, <strong>Esc</strong> пернесін басу әрекеті пернетақта\\n' +\n  '  навигациясын толығымен жабады.</p>\\n' +\n  '\\n' +\n  '<h1>Мәзір элементін немесе құралдар тақтасы түймесін орындау</h1>\\n' +\n  '\\n' +\n  '<p>Қажетті мәзір элементі немесе құралдар тақтасы түймесі бөлектелген кезде, элементті орындау үшін <strong>Return</strong> (Қайтару), <strong>Enter</strong> (Енгізу)\\n' +\n  '  немесе <strong>Space bar</strong> (Бос орын) пернесін басыңыз.</p>\\n' +\n  '\\n' +\n  '<h1>Белгіленбеген диалог терезелерін навигациялау</h1>\\n' +\n  '\\n' +\n  '<p>Белгіленбеген диалог терезелерінде диалог терезесі ашылған кезде бірінші интерактивті құрамдас фокусталады.</p>\\n' +\n  '\\n' +\n  '<p><strong>Tab</strong> немесе <strong>Shift+Tab</strong> пернесін басу арқылы интерактивті диалог терезесінің құрамдастары арасында навигациялаңыз.</p>\\n' +\n  '\\n' +\n  '<h1>Белгіленген диалог терезелерін навигациялау</h1>\\n' +\n  '\\n' +\n  '<p>Белгіленген диалог терезелерінде диалог терезесі ашылған кезде қойынды мәзіріндегі бірінші түйме фокусталады.</p>\\n' +\n  '\\n' +\n  '<p><strong>Tab</strong> немесе\\n' +\n  '  <strong>Shift+Tab</strong> пернесін басу арқылы осы диалог терезесі қойындысының интерактивті құрамдастары арасында навигациялаңыз.</p>\\n' +\n  '\\n' +\n  '<p>Қойынды мәзірінің фокусын беру арқылы басқа диалог терезесінің қойындысына ауысып, тиісті <strong>Arrow</strong> (Көрсеткі)\\n' +\n  '  пернесін басу арқылы қолжетімді қойындылар арасында айналдыруға болады.</p>\\n');"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/plugins/help/js/i18n/keynav/ko-KR.js",
    "content": "tinymce.Resource.add('tinymce.html-i18n.help-keynav.ko-KR',\n'<h1>키보드 탐색 시작</h1>\\n' +\n  '\\n' +\n  '<dl>\\n' +\n  '  <dt>메뉴 모음 포커스 표시</dt>\\n' +\n  '  <dd>Windows 또는 Linux: Alt+F9</dd>\\n' +\n  '  <dd>macOS: &#x2325;F9</dd>\\n' +\n  '  <dt>도구 모음 포커스 표시</dt>\\n' +\n  '  <dd>Windows 또는 Linux: Alt+F10</dd>\\n' +\n  '  <dd>macOS: &#x2325;F10</dd>\\n' +\n  '  <dt>푸터 포커스 표시</dt>\\n' +\n  '  <dd>Windows 또는 Linux: Alt+F11</dd>\\n' +\n  '  <dd>macOS: &#x2325;F11</dd>\\n' +\n  '  <dt>알림 포커스</dt>\\n' +\n  '  <dd>Windows 또는 Linux: Alt+F12</dd>\\n' +\n  '  <dd>macOS: &#x2325;F12</dd>\\n' +\n  '  <dt>컨텍스트 도구 모음에 포커스 표시</dt>\\n' +\n  '  <dd>Windows, Linux 또는 macOS: Ctrl+F9</dd>\\n' +\n  '</dl>\\n' +\n  '\\n' +\n  '<p>첫 번째 UI 항목에서 탐색이 시작되며, 이때 첫 번째 항목이 강조 표시되거나 푸터 요소 경로에 있는\\n' +\n  '  경우 밑줄 표시됩니다.</p>\\n' +\n  '\\n' +\n  '<h1>UI 섹션 간 탐색</h1>\\n' +\n  '\\n' +\n  '<p>한 UI 섹션에서 다음 UI 섹션으로 이동하려면 <strong>Tab(탭)</strong>을 누릅니다.</p>\\n' +\n  '\\n' +\n  '<p>한 UI 섹션에서 이전 UI 섹션으로 돌아가려면 <strong>Shift+Tab(시프트+탭)</strong>을 누릅니다.</p>\\n' +\n  '\\n' +\n  '<p>이 UI 섹션의 <strong>Tab(탭)</strong> 순서는 다음과 같습니다.</p>\\n' +\n  '\\n' +\n  '<ol>\\n' +\n  '  <li>메뉴 바</li>\\n' +\n  '  <li>각 도구 모음 그룹</li>\\n' +\n  '  <li>사이드바</li>\\n' +\n  '  <li>푸터의 요소 경로</li>\\n' +\n  '  <li>푸터의 단어 수 토글 버튼</li>\\n' +\n  '  <li>푸터의 브랜딩 링크</li>\\n' +\n  '  <li>푸터의 에디터 크기 변경 핸들</li>\\n' +\n  '</ol>\\n' +\n  '\\n' +\n  '<p>UI 섹션이 없는 경우 건너뛰기합니다.</p>\\n' +\n  '\\n' +\n  '<p>푸터에 키보드 탐색 포커스가 있고 사이드바는 보이지 않는 경우 <strong>Shift+Tab(시프트+탭)</strong>을 누르면\\n' +\n  '  포커스 표시가 마지막이 아닌 첫 번째 도구 모음 그룹으로 이동합니다.</p>\\n' +\n  '\\n' +\n  '<h1>UI 섹션 내 탐색</h1>\\n' +\n  '\\n' +\n  '<p>한 UI 요소에서 다음 UI 요소로 이동하려면 적절한 <strong>화살표</strong> 키를 누릅니다.</p>\\n' +\n  '\\n' +\n  '<p><strong>왼쪽</strong>과 <strong>오른쪽</strong> 화살표 키의 용도:</p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>메뉴 모음에서 메뉴 항목 사이를 이동합니다.</li>\\n' +\n  '  <li>메뉴에서 하위 메뉴를 엽니다.</li>\\n' +\n  '  <li>도구 모음 그룹에서 버튼 사이를 이동합니다.</li>\\n' +\n  '  <li>푸터의 요소 경로에서 항목 간에 이동합니다.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p><strong>아래</strong>와 <strong>위</strong> 화살표 키의 용도:</p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>메뉴에서 메뉴 항목 사이를 이동합니다.</li>\\n' +\n  '  <li>도구 모음 팝업 메뉴에서 메뉴 항목 사이를 이동합니다.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p><strong>화살표</strong> 키는 포커스 표시 UI 섹션 내에서 순환됩니다.</p>\\n' +\n  '\\n' +\n  '<p>열려 있는 메뉴, 열려 있는 하위 메뉴 또는 열려 있는 팝업 메뉴를 닫으려면 <strong>Esc</strong> 키를 누릅니다.</p>\\n' +\n  '\\n' +\n  \"<p>현재 포커스 표시가 특정 UI 섹션 '상단'에 있는 경우 이때도 <strong>Esc</strong> 키를 누르면\\n\" +\n  '  키보드 탐색이 완전히 종료됩니다.</p>\\n' +\n  '\\n' +\n  '<h1>메뉴 항목 또는 도구 모음 버튼 실행</h1>\\n' +\n  '\\n' +\n  '<p>원하는 메뉴 항목 또는 도구 모음 버튼이 강조 표시되어 있을 때 <strong>Return(리턴)</strong>, <strong>Enter(엔터)</strong>,\\n' +\n  '  또는 <strong>Space bar(스페이스바)</strong>를 눌러 해당 항목을 실행합니다.</p>\\n' +\n  '\\n' +\n  '<h1>탭이 없는 대화 탐색</h1>\\n' +\n  '\\n' +\n  '<p>탭이 없는 대화의 경우, 첫 번째 대화형 요소가 포커스 표시된 상태로 대화가 열립니다.</p>\\n' +\n  '\\n' +\n  '<p>대화형 요소들 사이를 이동할 때는 <strong>Tab(탭)</strong> 또는 <strong>Shift+Tab(시프트+탭)</strong>을 누릅니다.</p>\\n' +\n  '\\n' +\n  '<h1>탭이 있는 대화 탐색</h1>\\n' +\n  '\\n' +\n  '<p>탭이 있는 대화의 경우, 탭 메뉴에서 첫 번째 버튼이 포커스 표시된 상태로 대화가 열립니다.</p>\\n' +\n  '\\n' +\n  '<p>이 대화 탭의 대화형 요소들 사이를 이동할 때는 <strong>Tab(탭)</strong> 또는\\n' +\n  '  <strong>Shift+Tab(시프트+탭)</strong>을 누릅니다.</p>\\n' +\n  '\\n' +\n  '<p>다른 대화 탭으로 이동하려면 탭 메뉴를 포커스 표시한 다음 적절한 <strong>화살표</strong>\\n' +\n  '  키를 눌러 사용 가능한 탭들을 지나 원하는 탭으로 이동합니다.</p>\\n');"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/plugins/help/js/i18n/keynav/ko_KR.js",
    "content": "tinymce.Resource.add('tinymce.html-i18n.help-keynav.ko_KR',\n'<h1>키보드 탐색 시작</h1>\\n' +\n  '\\n' +\n  '<dl>\\n' +\n  '  <dt>메뉴 모음 포커스 표시</dt>\\n' +\n  '  <dd>Windows 또는 Linux: Alt+F9</dd>\\n' +\n  '  <dd>macOS: &#x2325;F9</dd>\\n' +\n  '  <dt>도구 모음 포커스 표시</dt>\\n' +\n  '  <dd>Windows 또는 Linux: Alt+F10</dd>\\n' +\n  '  <dd>macOS: &#x2325;F10</dd>\\n' +\n  '  <dt>푸터 포커스 표시</dt>\\n' +\n  '  <dd>Windows 또는 Linux: Alt+F11</dd>\\n' +\n  '  <dd>macOS: &#x2325;F11</dd>\\n' +\n  '  <dt>알림 포커스</dt>\\n' +\n  '  <dd>Windows 또는 Linux: Alt+F12</dd>\\n' +\n  '  <dd>macOS: &#x2325;F12</dd>\\n' +\n  '  <dt>컨텍스트 도구 모음에 포커스 표시</dt>\\n' +\n  '  <dd>Windows, Linux 또는 macOS: Ctrl+F9</dd>\\n' +\n  '</dl>\\n' +\n  '\\n' +\n  '<p>첫 번째 UI 항목에서 탐색이 시작되며, 이때 첫 번째 항목이 강조 표시되거나 푸터 요소 경로에 있는\\n' +\n  '  경우 밑줄 표시됩니다.</p>\\n' +\n  '\\n' +\n  '<h1>UI 섹션 간 탐색</h1>\\n' +\n  '\\n' +\n  '<p>한 UI 섹션에서 다음 UI 섹션으로 이동하려면 <strong>Tab(탭)</strong>을 누릅니다.</p>\\n' +\n  '\\n' +\n  '<p>한 UI 섹션에서 이전 UI 섹션으로 돌아가려면 <strong>Shift+Tab(시프트+탭)</strong>을 누릅니다.</p>\\n' +\n  '\\n' +\n  '<p>이 UI 섹션의 <strong>Tab(탭)</strong> 순서는 다음과 같습니다.</p>\\n' +\n  '\\n' +\n  '<ol>\\n' +\n  '  <li>메뉴 바</li>\\n' +\n  '  <li>각 도구 모음 그룹</li>\\n' +\n  '  <li>사이드바</li>\\n' +\n  '  <li>푸터의 요소 경로</li>\\n' +\n  '  <li>푸터의 단어 수 토글 버튼</li>\\n' +\n  '  <li>푸터의 브랜딩 링크</li>\\n' +\n  '  <li>푸터의 에디터 크기 변경 핸들</li>\\n' +\n  '</ol>\\n' +\n  '\\n' +\n  '<p>UI 섹션이 없는 경우 건너뛰기합니다.</p>\\n' +\n  '\\n' +\n  '<p>푸터에 키보드 탐색 포커스가 있고 사이드바는 보이지 않는 경우 <strong>Shift+Tab(시프트+탭)</strong>을 누르면\\n' +\n  '  포커스 표시가 마지막이 아닌 첫 번째 도구 모음 그룹으로 이동합니다.</p>\\n' +\n  '\\n' +\n  '<h1>UI 섹션 내 탐색</h1>\\n' +\n  '\\n' +\n  '<p>한 UI 요소에서 다음 UI 요소로 이동하려면 적절한 <strong>화살표</strong> 키를 누릅니다.</p>\\n' +\n  '\\n' +\n  '<p><strong>왼쪽</strong>과 <strong>오른쪽</strong> 화살표 키의 용도:</p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>메뉴 모음에서 메뉴 항목 사이를 이동합니다.</li>\\n' +\n  '  <li>메뉴에서 하위 메뉴를 엽니다.</li>\\n' +\n  '  <li>도구 모음 그룹에서 버튼 사이를 이동합니다.</li>\\n' +\n  '  <li>푸터의 요소 경로에서 항목 간에 이동합니다.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p><strong>아래</strong>와 <strong>위</strong> 화살표 키의 용도:</p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>메뉴에서 메뉴 항목 사이를 이동합니다.</li>\\n' +\n  '  <li>도구 모음 팝업 메뉴에서 메뉴 항목 사이를 이동합니다.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p><strong>화살표</strong> 키는 포커스 표시 UI 섹션 내에서 순환됩니다.</p>\\n' +\n  '\\n' +\n  '<p>열려 있는 메뉴, 열려 있는 하위 메뉴 또는 열려 있는 팝업 메뉴를 닫으려면 <strong>Esc</strong> 키를 누릅니다.</p>\\n' +\n  '\\n' +\n  \"<p>현재 포커스 표시가 특정 UI 섹션 '상단'에 있는 경우 이때도 <strong>Esc</strong> 키를 누르면\\n\" +\n  '  키보드 탐색이 완전히 종료됩니다.</p>\\n' +\n  '\\n' +\n  '<h1>메뉴 항목 또는 도구 모음 버튼 실행</h1>\\n' +\n  '\\n' +\n  '<p>원하는 메뉴 항목 또는 도구 모음 버튼이 강조 표시되어 있을 때 <strong>Return(리턴)</strong>, <strong>Enter(엔터)</strong>,\\n' +\n  '  또는 <strong>Space bar(스페이스바)</strong>를 눌러 해당 항목을 실행합니다.</p>\\n' +\n  '\\n' +\n  '<h1>탭이 없는 대화 탐색</h1>\\n' +\n  '\\n' +\n  '<p>탭이 없는 대화의 경우, 첫 번째 대화형 요소가 포커스 표시된 상태로 대화가 열립니다.</p>\\n' +\n  '\\n' +\n  '<p>대화형 요소들 사이를 이동할 때는 <strong>Tab(탭)</strong> 또는 <strong>Shift+Tab(시프트+탭)</strong>을 누릅니다.</p>\\n' +\n  '\\n' +\n  '<h1>탭이 있는 대화 탐색</h1>\\n' +\n  '\\n' +\n  '<p>탭이 있는 대화의 경우, 탭 메뉴에서 첫 번째 버튼이 포커스 표시된 상태로 대화가 열립니다.</p>\\n' +\n  '\\n' +\n  '<p>이 대화 탭의 대화형 요소들 사이를 이동할 때는 <strong>Tab(탭)</strong> 또는\\n' +\n  '  <strong>Shift+Tab(시프트+탭)</strong>을 누릅니다.</p>\\n' +\n  '\\n' +\n  '<p>다른 대화 탭으로 이동하려면 탭 메뉴를 포커스 표시한 다음 적절한 <strong>화살표</strong>\\n' +\n  '  키를 눌러 사용 가능한 탭들을 지나 원하는 탭으로 이동합니다.</p>\\n');"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/plugins/help/js/i18n/keynav/ms.js",
    "content": "tinymce.Resource.add('tinymce.html-i18n.help-keynav.ms',\n'<h1>Mulakan navigasi papan kekunci</h1>\\n' +\n  '\\n' +\n  '<dl>\\n' +\n  '  <dt>Fokus bar Menu</dt>\\n' +\n  '  <dd>Windows atau Linux: Alt+F9</dd>\\n' +\n  '  <dd>macOS: &#x2325;F9</dd>\\n' +\n  '  <dt>Fokus Bar Alat</dt>\\n' +\n  '  <dd>Windows atau Linux: Alt+F10</dd>\\n' +\n  '  <dd>macOS: &#x2325;F10</dd>\\n' +\n  '  <dt>Fokus pengaki</dt>\\n' +\n  '  <dd>Windows atau Linux: Alt+F11</dd>\\n' +\n  '  <dd>macOS: &#x2325;F11</dd>\\n' +\n  '  <dt>Tumpu kepada pemberitahuan</dt>\\n' +\n  '  <dd>Windows atau Linux: Alt+F12</dd>\\n' +\n  '  <dd>macOS: &#x2325;F12</dd>\\n' +\n  '  <dt>Fokus bar alat kontekstual</dt>\\n' +\n  '  <dd>Windows, Linux atau macOS: Ctrl+F9</dd>\\n' +\n  '</dl>\\n' +\n  '\\n' +\n  '<p>Navigasi akan bermula pada item UI pertama, yang akan diserlahkan atau digaris bawah dalam saiz item pertama dalam\\n' +\n  '  laluan elemen Pengaki.</p>\\n' +\n  '\\n' +\n  '<h1>Navigasi antara bahagian UI</h1>\\n' +\n  '\\n' +\n  '<p>Untuk bergerak dari satu bahagian UI ke yang seterusnya, tekan <strong>Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Untuk bergerak dari satu bahagian UI ke yang sebelumnya, tekan <strong>Shift+Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Tertib <strong>Tab</strong> bahagian UI ini ialah:</p>\\n' +\n  '\\n' +\n  '<ol>\\n' +\n  '  <li>Bar menu</li>\\n' +\n  '  <li>Setiap kumpulan bar alat</li>\\n' +\n  '  <li>Bar sisi</li>\\n' +\n  '  <li>Laluan elemen dalam pengaki</li>\\n' +\n  '  <li>Butang togol kiraan perkataan dalam pengaki</li>\\n' +\n  '  <li>Pautan penjenamaan dalam pengaki</li>\\n' +\n  '  <li>Pemegang saiz semula editor dalam pengaki</li>\\n' +\n  '</ol>\\n' +\n  '\\n' +\n  '<p>Jika bahagian UI tidak wujud, ia dilangkau.</p>\\n' +\n  '\\n' +\n  '<p>Jika pengaki mempunyai fokus navigasi papan kekunci dan tiada bar sisi kelihatan, menekan <strong>Shift+Tab</strong>\\n' +\n  '  akan mengalihkan fokus ke kumpulan bar alat pertama, bukannya yang terakhir.</p>\\n' +\n  '\\n' +\n  '<h1>Navigasi dalam bahagian UI</h1>\\n' +\n  '\\n' +\n  '<p>Untuk bergerak dari satu elemen UI ke yang seterusnya, tekan kekunci <strong>Anak Panah</strong> yang bersesuaian.</p>\\n' +\n  '\\n' +\n  '<p>Kekunci anak panah <strong>Kiri</strong> dan <strong>Kanan</strong></p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>bergerak antara menu dalam bar menu.</li>\\n' +\n  '  <li>membukan submenu dalam menu.</li>\\n' +\n  '  <li>bergerak antara butang dalam kumpulan bar alat.</li>\\n' +\n  '  <li>Laluan elemen dalam pengaki.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p>Kekunci anak panah <strong>Bawah</strong> dan <strong>Atas</strong></p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>bergerak antara item menu dalam menu.</li>\\n' +\n  '  <li>bergerak antara item dalam menu timbul bar alat.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p>Kekunci <strong>Anak Panah</strong> berkitar dalam bahagian UI difokuskan.</p>\\n' +\n  '\\n' +\n  '<p>Untuk menutup menu buka, submenu terbuka atau menu timbul terbuka, tekan kekunci <strong>Esc</strong>.</p>\\n' +\n  '\\n' +\n  \"<p>Jika fokus semasa berada di bahagian 'atas' bahagian UI tertentu, menekan kekunci <strong>Esc</strong> juga akan keluar daripada\\n\" +\n  '  navigasi papan kekunci sepenuhnya.</p>\\n' +\n  '\\n' +\n  '<h1>Laksanakan item menu atau butang bar alat</h1>\\n' +\n  '\\n' +\n  '<p>Apabila item menu atau butang bar alat yang diinginkan diserlahkan, tekan <strong>Return</strong>, <strong>Enter</strong>,\\n' +\n  '  atau <strong>bar Space</strong> untuk melaksanakan item.</p>\\n' +\n  '\\n' +\n  '<h1>Navigasi ke dialog tidak bertab</h1>\\n' +\n  '\\n' +\n  '<p>Dalam dialog tidak bertab, komponen interaksi pertama difokuskan apabila dialog dibuka.</p>\\n' +\n  '\\n' +\n  '<p>Navigasi antara komponen dialog interaktif dengan menekan <strong>Tab</strong> atau <strong>Shift+Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<h1>Navigasi ke dialog bertab</h1>\\n' +\n  '\\n' +\n  '<p>Dalam dialog bertab, butang pertama dalam menu tab difokuskan apabila dialog dibuka.</p>\\n' +\n  '\\n' +\n  '<p>Navigasi antara komponen interaktif tab dialog ini dengan menekan <strong>Tab</strong> atau\\n' +\n  '  <strong>Shift+Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Tukar kepada tab dialog lain dengan memfokuskan menu tab, kemudian menekan kekunci <strong>Anak Panah</strong> yang bersesuaian\\n' +\n  '  untuk berkitar menerusi tab yang tersedia.</p>\\n');"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/plugins/help/js/i18n/keynav/nb-NO.js",
    "content": "tinymce.Resource.add('tinymce.html-i18n.help-keynav.nb-NO',\n'<h1>Starte tastaturnavigering</h1>\\n' +\n  '\\n' +\n  '<dl>\\n' +\n  '  <dt>Utheve menylinjen</dt>\\n' +\n  '  <dd>Windows eller Linux: Alt + F9</dd>\\n' +\n  '  <dd>macOS: &#x2325;F9</dd>\\n' +\n  '  <dt>Utheve verktøylinjen</dt>\\n' +\n  '  <dd>Windows eller Linux: Alt + F10</dd>\\n' +\n  '  <dd>macOS: &#x2325;F10</dd>\\n' +\n  '  <dt>Utheve bunnteksten</dt>\\n' +\n  '  <dd>Windows eller Linux: Alt + F11</dd>\\n' +\n  '  <dd>macOS: &#x2325;F11</dd>\\n' +\n  '  <dt>Fokuser på varselet</dt>\\n' +\n  '  <dd>Windows eller Linux: Alt+F12</dd>\\n' +\n  '  <dd>macOS: &#x2325;F12</dd>\\n' +\n  '  <dt>Utheve en kontekstuell verktøylinje</dt>\\n' +\n  '  <dd>Windows, Linux eller macOS: Ctrl + F9</dd>\\n' +\n  '</dl>\\n' +\n  '\\n' +\n  '<p>Navigeringen starter ved det første grensesnittelementet, som utheves, eller understrekes når det gjelder det første elementet i\\n' +\n  '  elementstien i bunnteksten.</p>\\n' +\n  '\\n' +\n  '<h1>Navigere mellom grensesnittdeler</h1>\\n' +\n  '\\n' +\n  '<p>Du kan bevege deg fra én grensesnittdel til den neste ved å trykke på <strong>tabulatortasten</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Du kan bevege deg fra én grensesnittdel til den forrige ved å trykke på <strong>Shift + tabulatortasten</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Rekkefølgen til <strong>tabulatortasten</strong> gjennom grensesnittdelene er:</p>\\n' +\n  '\\n' +\n  '<ol>\\n' +\n  '  <li>Menylinjen</li>\\n' +\n  '  <li>Hver gruppe på verktøylinjen</li>\\n' +\n  '  <li>Sidestolpen</li>\\n' +\n  '  <li>Elementstien i bunnteksten</li>\\n' +\n  '  <li>Veksleknappen for ordantall i bunnteksten</li>\\n' +\n  '  <li>Merkelenken i bunnteksten</li>\\n' +\n  '  <li>Skaleringshåndtaket for redigeringsprogrammet i bunnteksten</li>\\n' +\n  '</ol>\\n' +\n  '\\n' +\n  '<p>Hvis en grensesnittdel ikke er til stede, blir den hoppet over.</p>\\n' +\n  '\\n' +\n  '<p>Hvis tastaturnavigeringen har uthevet bunnteksten og det ikke finnes en synlig sidestolpe, kan du trykke på <strong>Shift + tabulatortasten</strong>\\n' +\n  '  for å flytte fokuset til den første gruppen på verktøylinjen i stedet for den siste.</p>\\n' +\n  '\\n' +\n  '<h1>Navigere innenfor grensesnittdeler</h1>\\n' +\n  '\\n' +\n  '<p>Du kan bevege deg fra ett grensesnittelement til det neste ved å trykke på den aktuelle <strong>piltasten</strong>.</p>\\n' +\n  '\\n' +\n  '<p>De <strong>venstre</strong> og <strong>høyre</strong> piltastene</p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>beveger deg mellom menyer på menylinjen.</li>\\n' +\n  '  <li>åpner en undermeny i en meny.</li>\\n' +\n  '  <li>beveger deg mellom knapper i en gruppe på verktøylinjen.</li>\\n' +\n  '  <li>beveger deg mellom elementer i elementstien i bunnteksten.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p><strong>Ned</strong>- og <strong>opp</strong>-piltastene</p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>beveger deg mellom menyelementer i en meny.</li>\\n' +\n  '  <li>beveger deg mellom elementer i en hurtigmeny på verktøylinjen.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p>Med <strong>piltastene</strong> kan du bevege deg innenfor den uthevede grensesnittdelen.</p>\\n' +\n  '\\n' +\n  '<p>Du kan lukke en åpen meny, en åpen undermeny eller en åpen hurtigmeny ved å klikke på <strong>Esc</strong>-tasten.</p>\\n' +\n  '\\n' +\n  '<p>Hvis det øverste nivået i en grensesnittdel er uthevet, kan du ved å trykke på <strong>Esc</strong> også avslutte\\n' +\n  '  tastaturnavigeringen helt.</p>\\n' +\n  '\\n' +\n  '<h1>Utføre et menyelement eller en knapp på en verktøylinje</h1>\\n' +\n  '\\n' +\n  '<p>Når det ønskede menyelementet eller verktøylinjeknappen er uthevet, trykker du på <strong>Retur</strong>, <strong>Enter</strong>,\\n' +\n  '  eller <strong>mellomromstasten</strong> for å utføre elementet.</p>\\n' +\n  '\\n' +\n  '<h1>Navigere i dialogbokser uten faner</h1>\\n' +\n  '\\n' +\n  '<p>I dialogbokser uten faner blir den første interaktive komponenten uthevet når dialogboksen åpnes.</p>\\n' +\n  '\\n' +\n  '<p>Naviger mellom interaktive komponenter i dialogboksen ved å trykke på <strong>tabulatortasten</strong> eller <strong>Shift + tabulatortasten</strong>.</p>\\n' +\n  '\\n' +\n  '<h1>Navigere i fanebaserte dialogbokser</h1>\\n' +\n  '\\n' +\n  '<p>I fanebaserte dialogbokser blir den første knappen i fanemenyen uthevet når dialogboksen åpnes.</p>\\n' +\n  '\\n' +\n  '<p>Naviger mellom interaktive komponenter i fanen ved å trykke på <strong>tabulatortasten</strong> eller\\n' +\n  '  <strong>Shift + tabulatortasten</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Veksle til en annen fane i dialogboksen ved å utheve fanemenyen, og trykk deretter på den aktuelle <strong>piltasten</strong>\\n' +\n  '  for å bevege deg mellom de tilgjengelige fanene.</p>\\n');"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/plugins/help/js/i18n/keynav/nb_NO.js",
    "content": "tinymce.Resource.add('tinymce.html-i18n.help-keynav.nb_NO',\n'<h1>Starte tastaturnavigering</h1>\\n' +\n  '\\n' +\n  '<dl>\\n' +\n  '  <dt>Utheve menylinjen</dt>\\n' +\n  '  <dd>Windows eller Linux: Alt + F9</dd>\\n' +\n  '  <dd>macOS: &#x2325;F9</dd>\\n' +\n  '  <dt>Utheve verktøylinjen</dt>\\n' +\n  '  <dd>Windows eller Linux: Alt + F10</dd>\\n' +\n  '  <dd>macOS: &#x2325;F10</dd>\\n' +\n  '  <dt>Utheve bunnteksten</dt>\\n' +\n  '  <dd>Windows eller Linux: Alt + F11</dd>\\n' +\n  '  <dd>macOS: &#x2325;F11</dd>\\n' +\n  '  <dt>Fokuser på varselet</dt>\\n' +\n  '  <dd>Windows eller Linux: Alt+F12</dd>\\n' +\n  '  <dd>macOS: &#x2325;F12</dd>\\n' +\n  '  <dt>Utheve en kontekstuell verktøylinje</dt>\\n' +\n  '  <dd>Windows, Linux eller macOS: Ctrl + F9</dd>\\n' +\n  '</dl>\\n' +\n  '\\n' +\n  '<p>Navigeringen starter ved det første grensesnittelementet, som utheves, eller understrekes når det gjelder det første elementet i\\n' +\n  '  elementstien i bunnteksten.</p>\\n' +\n  '\\n' +\n  '<h1>Navigere mellom grensesnittdeler</h1>\\n' +\n  '\\n' +\n  '<p>Du kan bevege deg fra én grensesnittdel til den neste ved å trykke på <strong>tabulatortasten</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Du kan bevege deg fra én grensesnittdel til den forrige ved å trykke på <strong>Shift + tabulatortasten</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Rekkefølgen til <strong>tabulatortasten</strong> gjennom grensesnittdelene er:</p>\\n' +\n  '\\n' +\n  '<ol>\\n' +\n  '  <li>Menylinjen</li>\\n' +\n  '  <li>Hver gruppe på verktøylinjen</li>\\n' +\n  '  <li>Sidestolpen</li>\\n' +\n  '  <li>Elementstien i bunnteksten</li>\\n' +\n  '  <li>Veksleknappen for ordantall i bunnteksten</li>\\n' +\n  '  <li>Merkelenken i bunnteksten</li>\\n' +\n  '  <li>Skaleringshåndtaket for redigeringsprogrammet i bunnteksten</li>\\n' +\n  '</ol>\\n' +\n  '\\n' +\n  '<p>Hvis en grensesnittdel ikke er til stede, blir den hoppet over.</p>\\n' +\n  '\\n' +\n  '<p>Hvis tastaturnavigeringen har uthevet bunnteksten og det ikke finnes en synlig sidestolpe, kan du trykke på <strong>Shift + tabulatortasten</strong>\\n' +\n  '  for å flytte fokuset til den første gruppen på verktøylinjen i stedet for den siste.</p>\\n' +\n  '\\n' +\n  '<h1>Navigere innenfor grensesnittdeler</h1>\\n' +\n  '\\n' +\n  '<p>Du kan bevege deg fra ett grensesnittelement til det neste ved å trykke på den aktuelle <strong>piltasten</strong>.</p>\\n' +\n  '\\n' +\n  '<p>De <strong>venstre</strong> og <strong>høyre</strong> piltastene</p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>beveger deg mellom menyer på menylinjen.</li>\\n' +\n  '  <li>åpner en undermeny i en meny.</li>\\n' +\n  '  <li>beveger deg mellom knapper i en gruppe på verktøylinjen.</li>\\n' +\n  '  <li>beveger deg mellom elementer i elementstien i bunnteksten.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p><strong>Ned</strong>- og <strong>opp</strong>-piltastene</p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>beveger deg mellom menyelementer i en meny.</li>\\n' +\n  '  <li>beveger deg mellom elementer i en hurtigmeny på verktøylinjen.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p>Med <strong>piltastene</strong> kan du bevege deg innenfor den uthevede grensesnittdelen.</p>\\n' +\n  '\\n' +\n  '<p>Du kan lukke en åpen meny, en åpen undermeny eller en åpen hurtigmeny ved å klikke på <strong>Esc</strong>-tasten.</p>\\n' +\n  '\\n' +\n  '<p>Hvis det øverste nivået i en grensesnittdel er uthevet, kan du ved å trykke på <strong>Esc</strong> også avslutte\\n' +\n  '  tastaturnavigeringen helt.</p>\\n' +\n  '\\n' +\n  '<h1>Utføre et menyelement eller en knapp på en verktøylinje</h1>\\n' +\n  '\\n' +\n  '<p>Når det ønskede menyelementet eller verktøylinjeknappen er uthevet, trykker du på <strong>Retur</strong>, <strong>Enter</strong>,\\n' +\n  '  eller <strong>mellomromstasten</strong> for å utføre elementet.</p>\\n' +\n  '\\n' +\n  '<h1>Navigere i dialogbokser uten faner</h1>\\n' +\n  '\\n' +\n  '<p>I dialogbokser uten faner blir den første interaktive komponenten uthevet når dialogboksen åpnes.</p>\\n' +\n  '\\n' +\n  '<p>Naviger mellom interaktive komponenter i dialogboksen ved å trykke på <strong>tabulatortasten</strong> eller <strong>Shift + tabulatortasten</strong>.</p>\\n' +\n  '\\n' +\n  '<h1>Navigere i fanebaserte dialogbokser</h1>\\n' +\n  '\\n' +\n  '<p>I fanebaserte dialogbokser blir den første knappen i fanemenyen uthevet når dialogboksen åpnes.</p>\\n' +\n  '\\n' +\n  '<p>Naviger mellom interaktive komponenter i fanen ved å trykke på <strong>tabulatortasten</strong> eller\\n' +\n  '  <strong>Shift + tabulatortasten</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Veksle til en annen fane i dialogboksen ved å utheve fanemenyen, og trykk deretter på den aktuelle <strong>piltasten</strong>\\n' +\n  '  for å bevege deg mellom de tilgjengelige fanene.</p>\\n');"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/plugins/help/js/i18n/keynav/nl.js",
    "content": "tinymce.Resource.add('tinymce.html-i18n.help-keynav.nl',\n'<h1>Toetsenbordnavigatie starten</h1>\\n' +\n  '\\n' +\n  '<dl>\\n' +\n  '  <dt>Focus op de menubalk instellen</dt>\\n' +\n  '  <dd>Windows of Linux: Alt+F9</dd>\\n' +\n  '  <dd>macOS: &#x2325;F9</dd>\\n' +\n  '  <dt>Focus op de werkbalk instellen</dt>\\n' +\n  '  <dd>Windows of Linux: Alt+F10</dd>\\n' +\n  '  <dd>macOS: &#x2325;F10</dd>\\n' +\n  '  <dt>Focus op de voettekst instellen</dt>\\n' +\n  '  <dd>Windows of Linux: Alt+F11</dd>\\n' +\n  '  <dd>macOS: &#x2325;F11</dd>\\n' +\n  '  <dt>Focus op de melding instellen</dt>\\n' +\n  '  <dd>Windows of Linux: Alt+F12</dd>\\n' +\n  '  <dd>macOS: &#x2325;F12</dd>\\n' +\n  '  <dt>Focus op een contextuele werkbalk instellen</dt>\\n' +\n  '  <dd>Windows, Linux of macOS: Ctrl+F9</dd>\\n' +\n  '</dl>\\n' +\n  '\\n' +\n  '<p>De navigatie start bij het eerste UI-item, dat wordt gemarkeerd of onderstreept als het eerste item zich in\\n' +\n  '  in het elementenpad van de voettekst bevindt.</p>\\n' +\n  '\\n' +\n  '<h1>Navigeren tussen UI-secties</h1>\\n' +\n  '\\n' +\n  '<p>Druk op <strong>Tab</strong> om naar de volgende UI-sectie te gaan.</p>\\n' +\n  '\\n' +\n  '<p>Druk op <strong>Shift+Tab</strong> om naar de vorige UI-sectie te gaan.</p>\\n' +\n  '\\n' +\n  '<p>De <strong>Tab</strong>-volgorde van deze UI-secties is:</p>\\n' +\n  '\\n' +\n  '<ol>\\n' +\n  '  <li>Menubalk</li>\\n' +\n  '  <li>Elke werkbalkgroep</li>\\n' +\n  '  <li>Zijbalk</li>\\n' +\n  '  <li>Elementenpad in de voettekst</li>\\n' +\n  '  <li>Wisselknop voor aantal woorden in de voettekst</li>\\n' +\n  '  <li>Merkkoppeling in de voettekst</li>\\n' +\n  '  <li>Greep voor het wijzigen van het formaat van de editor in de voettekst</li>\\n' +\n  '</ol>\\n' +\n  '\\n' +\n  '<p>Als een UI-sectie niet aanwezig is, wordt deze overgeslagen.</p>\\n' +\n  '\\n' +\n  '<p>Als de focus van de toetsenbordnavigatie is ingesteld op de voettekst en er geen zichtbare zijbalk is, kun je op <strong>Shift+Tab</strong> drukken\\n' +\n  '  om de focus naar de eerste werkbalkgroep in plaats van de laatste te verplaatsen.</p>\\n' +\n  '\\n' +\n  '<h1>Navigeren binnen UI-secties</h1>\\n' +\n  '\\n' +\n  '<p>Druk op de <strong>pijltjestoets</strong> om naar het betreffende UI-element te gaan.</p>\\n' +\n  '\\n' +\n  '<p>Met de pijltjestoetsen <strong>Links</strong> en <strong>Rechts</strong></p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  \"  <li>wissel je tussen menu's in de menubalk.</li>\\n\" +\n  '  <li>open je een submenu in een menu.</li>\\n' +\n  '  <li>wissel je tussen knoppen in een werkbalkgroep.</li>\\n' +\n  '  <li>wissel je tussen items in het elementenpad in de voettekst.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p>Met de pijltjestoetsen <strong>Omlaag</strong> en <strong>Omhoog</strong></p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>wissel je tussen menu-items in een menu.</li>\\n' +\n  '  <li>wissel je tussen items in een werkbalkpop-upmenu.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p>Met de <strong>pijltjestoetsen</strong> wissel je binnen de UI-sectie waarop de focus is ingesteld.</p>\\n' +\n  '\\n' +\n  '<p>Druk op de toets <strong>Esc</strong> om een geopend menu, submenu of pop-upmenu te sluiten.</p>\\n' +\n  '\\n' +\n  \"<p>Als de huidige focus is ingesteld 'bovenaan' een bepaalde UI-sectie, kun je op de toets <strong>Esc</strong> drukken\\n\" +\n  '  om de toetsenbordnavigatie af te sluiten.</p>\\n' +\n  '\\n' +\n  '<h1>Een menu-item of werkbalkknop uitvoeren</h1>\\n' +\n  '\\n' +\n  '<p>Als het gewenste menu-item of de gewenste werkbalkknop is gemarkeerd, kun je op <strong>Return</strong>, <strong>Enter</strong>\\n' +\n  '  of de <strong>spatiebalk</strong> drukken om het item uit te voeren.</p>\\n' +\n  '\\n' +\n  '<h1>Navigeren in dialoogvensters zonder tabblad</h1>\\n' +\n  '\\n' +\n  '<p>Als een dialoogvenster zonder tabblad wordt geopend, wordt de focus ingesteld op het eerste interactieve onderdeel.</p>\\n' +\n  '\\n' +\n  '<p>Je kunt navigeren tussen interactieve onderdelen van een dialoogvenster door op <strong>Tab</strong> of <strong>Shift+Tab</strong> te drukken.</p>\\n' +\n  '\\n' +\n  '<h1>Navigeren in dialoogvensters met tabblad</h1>\\n' +\n  '\\n' +\n  '<p>Als een dialoogvenster met tabblad wordt geopend, wordt de focus ingesteld op de eerste knop in het tabbladmenu.</p>\\n' +\n  '\\n' +\n  '<p>Je kunt navigeren tussen interactieve onderdelen van dit tabblad van het dialoogvenster door op <strong>Tab</strong> of\\n' +\n  '  <strong>Shift+Tab</strong> te drukken.</p>\\n' +\n  '\\n' +\n  '<p>Je kunt overschakelen naar een ander tabblad van het dialoogvenster door de focus in te stellen op het tabbladmenu en vervolgens op de juiste <strong>pijltjestoets</strong>\\n' +\n  '  te drukken om tussen de beschikbare tabbladen te wisselen.</p>\\n');"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/plugins/help/js/i18n/keynav/pl.js",
    "content": "tinymce.Resource.add('tinymce.html-i18n.help-keynav.pl',\n'<h1>Początek nawigacji przy użyciu klawiatury</h1>\\n' +\n  '\\n' +\n  '<dl>\\n' +\n  '  <dt>Ustaw fokus na pasek menu</dt>\\n' +\n  '  <dd>Windows lub Linux: Alt+F9</dd>\\n' +\n  '  <dd>macOS: &#x2325;F9</dd>\\n' +\n  '  <dt>Ustaw fokus na pasek narzędzi</dt>\\n' +\n  '  <dd>Windows lub Linux: Alt+F10</dd>\\n' +\n  '  <dd>macOS: &#x2325;F10</dd>\\n' +\n  '  <dt>Ustaw fokus na sekcję Footer</dt>\\n' +\n  '  <dd>Windows lub Linux: Alt+F11</dd>\\n' +\n  '  <dd>macOS: &#x2325;F11</dd>\\n' +\n  '  <dt>Skup się na powiadomieniu</dt>\\n' +\n  '  <dd>Windows lub Linux: Alt+F12</dd>\\n' +\n  '  <dd>macOS: &#x2325;F12</dd>\\n' +\n  '  <dt>Ustaw fokus na kontekstowy pasek narzędzi</dt>\\n' +\n  '  <dd>Windows, Linux lub macOS: Ctrl+F9</dd>\\n' +\n  '</dl>\\n' +\n  '\\n' +\n  '<p>Nawigacja zostanie rozpoczęta od pierwszego elementu interfejsu użytkownika, który jest podświetlony lub — w przypadku pierwszego elementu\\n' +\n  '  w ścieżce elementów w sekcji Footer — podkreślony.</p>\\n' +\n  '\\n' +\n  '<h1>Nawigacja pomiędzy sekcjami interfejsu użytkownika</h1>\\n' +\n  '\\n' +\n  '<p>Aby przenieść się z danej sekcji interfejsu użytkownika do następnej, naciśnij <strong>Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Aby przenieść się z danej sekcji interfejsu użytkownika do poprzedniej, naciśnij <strong>Shift+Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Kolejność klawisza <strong>Tab</strong> w takich sekcjach interfejsu użytkownika jest następująca:</p>\\n' +\n  '\\n' +\n  '<ol>\\n' +\n  '  <li>Pasek menu</li>\\n' +\n  '  <li>Każda grupa na pasku narzędzi</li>\\n' +\n  '  <li>Pasek boczny</li>\\n' +\n  '  <li>Ścieżka elementów w sekcji Footer</li>\\n' +\n  '  <li>Przycisk przełączania liczby słów w sekcji Footer</li>\\n' +\n  '  <li>Łącze brandujące w sekcji Footer</li>\\n' +\n  '  <li>Uchwyt zmiany rozmiaru edytora w sekcji Footer</li>\\n' +\n  '</ol>\\n' +\n  '\\n' +\n  '<p>Jeżeli nie ma sekcji interfejsu użytkownika, jest to pomijane.</p>\\n' +\n  '\\n' +\n  '<p>Jeżeli na sekcji Footer jest ustawiony fokus nawigacji przy użyciu klawiatury i nie ma widocznego paska bocznego, naciśnięcie <strong>Shift+Tab</strong>\\n' +\n  '  przenosi fokus na pierwszą grupę paska narzędzi, a nie na ostatnią.</p>\\n' +\n  '\\n' +\n  '<h1>Nawigacja wewnątrz sekcji interfejsu użytkownika</h1>\\n' +\n  '\\n' +\n  '<p>Aby przenieść się z danego elementu interfejsu użytkownika do następnego, naciśnij odpowiedni klawisz <strong>strzałki</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Klawisze strzałek <strong>w prawo</strong> i <strong>w lewo</strong> służą do</p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>przenoszenia się pomiędzy menu na pasku menu,</li>\\n' +\n  '  <li>otwarcia podmenu w menu,</li>\\n' +\n  '  <li>przenoszenia się pomiędzy przyciskami w grupie paska narzędzi,</li>\\n' +\n  '  <li>przenoszenia się pomiędzy elementami w ścieżce elementów w sekcji Footer.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p>Klawisze strzałek <strong>w dół</strong> i <strong>w górę</strong> służą do</p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>przenoszenia się pomiędzy elementami menu w menu,</li>\\n' +\n  '  <li>przenoszenia się pomiędzy elementami w wyskakującym menu paska narzędzi.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p>Klawisze <strong>strzałek</strong> służą do przemieszczania się w sekcji interfejsu użytkownika z ustawionym fokusem.</p>\\n' +\n  '\\n' +\n  '<p>Aby zamknąć otwarte menu, otwarte podmenu lub otwarte menu wyskakujące, naciśnij klawisz <strong>Esc</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Jeżeli fokus jest ustawiony na górze konkretnej sekcji interfejsu użytkownika, naciśnięcie klawisza <strong>Esc</strong> powoduje wyjście\\n' +\n  '  z nawigacji przy użyciu klawiatury.</p>\\n' +\n  '\\n' +\n  '<h1>Wykonanie elementu menu lub przycisku paska narzędzi</h1>\\n' +\n  '\\n' +\n  '<p>Gdy podświetlony jest żądany element menu lub przycisk paska narzędzi, naciśnij klawisz <strong>Return</strong>, <strong>Enter</strong>\\n' +\n  '  lub <strong>Spacja</strong>, aby go wykonać.</p>\\n' +\n  '\\n' +\n  '<h1>Nawigacja po oknie dialogowym bez kart</h1>\\n' +\n  '\\n' +\n  '<p>Gdy otwiera się okno dialogowe bez kart, fokus ustawiany jest na pierwszą interaktywną część okna.</p>\\n' +\n  '\\n' +\n  '<p>Pomiędzy interaktywnymi częściami okna dialogowego nawiguj, naciskając klawisze <strong>Tab</strong> lub <strong>Shift+Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<h1>Nawigacja po oknie dialogowym z kartami</h1>\\n' +\n  '\\n' +\n  '<p>W przypadku okna dialogowego z kartami po otwarciu okna dialogowego fokus ustawiany jest na pierwszy przycisk w menu karty.</p>\\n' +\n  '\\n' +\n  '<p>Nawigację pomiędzy interaktywnymi częściami karty okna dialogowego prowadzi się poprzez naciskanie klawiszy <strong>Tab</strong> lub\\n' +\n  '  <strong>Shift+Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Przełączenie się na inną kartę okna dialogowego wykonuje się poprzez ustawienie fokusu na menu karty i naciśnięcie odpowiedniego klawisza <strong>strzałki</strong>\\n' +\n  '  w celu przemieszczenia się pomiędzy dostępnymi kartami.</p>\\n');"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/plugins/help/js/i18n/keynav/pt-BR.js",
    "content": "tinymce.Resource.add('tinymce.html-i18n.help-keynav.pt-BR',\n'<h1>Iniciar navegação pelo teclado</h1>\\n' +\n  '\\n' +\n  '<dl>\\n' +\n  '  <dt>Foco na barra de menus</dt>\\n' +\n  '  <dd>Windows ou Linux: Alt+F9</dd>\\n' +\n  '  <dd>macOS: &#x2325;F9</dd>\\n' +\n  '  <dt>Foco na barra de ferramentas</dt>\\n' +\n  '  <dd>Windows ou Linux: Alt+F10</dd>\\n' +\n  '  <dd>macOS: &#x2325;F10</dd>\\n' +\n  '  <dt>Foco no rodapé</dt>\\n' +\n  '  <dd>Windows ou Linux: Alt+F11</dd>\\n' +\n  '  <dd>macOS: &#x2325;F11</dd>\\n' +\n  '  <dt>Foco na notificação</dt>\\n' +\n  '  <dd>Windows ou Linux: Alt+F12</dd>\\n' +\n  '  <dd>macOS: &#x2325;F12</dd>\\n' +\n  '  <dt>Foco na barra de ferramentas contextual</dt>\\n' +\n  '  <dd>Windows, Linux ou macOS: Ctrl+F9</dd>\\n' +\n  '</dl>\\n' +\n  '\\n' +\n  '<p>A navegação inicia no primeiro item da IU, que será destacado ou sublinhado no caso do primeiro item no\\n' +\n  '  caminho do elemento Rodapé.</p>\\n' +\n  '\\n' +\n  '<h1>Navegar entre seções da IU</h1>\\n' +\n  '\\n' +\n  '<p>Para ir de uma seção da IU para a seguinte, pressione <strong>Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Para ir de uma seção da IU para a anterior, pressione <strong>Shift+Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<p>A ordem de <strong>Tab</strong> destas seções da IU é:</p>\\n' +\n  '\\n' +\n  '<ol>\\n' +\n  '  <li>Barra de menus</li>\\n' +\n  '  <li>Cada grupo da barra de ferramentas</li>\\n' +\n  '  <li>Barra lateral</li>\\n' +\n  '  <li>Caminho do elemento no rodapé</li>\\n' +\n  '  <li>Botão de alternar contagem de palavras no rodapé</li>\\n' +\n  '  <li>Link da marca no rodapé</li>\\n' +\n  '  <li>Alça de redimensionamento do editor no rodapé</li>\\n' +\n  '</ol>\\n' +\n  '\\n' +\n  '<p>Se não houver uma seção da IU, ela será pulada.</p>\\n' +\n  '\\n' +\n  '<p>Se o rodapé tiver o foco da navegação pelo teclado e não houver uma barra lateral visível, pressionar <strong>Shift+Tab</strong>\\n' +\n  '  move o foco para o primeiro grupo da barra de ferramentas, não para o último.</p>\\n' +\n  '\\n' +\n  '<h1>Navegar dentro das seções da IU</h1>\\n' +\n  '\\n' +\n  '<p>Para ir de um elemento da IU para o seguinte, pressione a <strong>Seta</strong> correspondente.</p>\\n' +\n  '\\n' +\n  '<p>As teclas de seta <strong>Esquerda</strong> e <strong>Direita</strong></p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>movem entre menus na barra de menus.</li>\\n' +\n  '  <li>abrem um submenu em um menu.</li>\\n' +\n  '  <li>movem entre botões em um grupo da barra de ferramentas.</li>\\n' +\n  '  <li>movem entre itens no caminho do elemento do rodapé.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p>As teclas de seta <strong>Abaixo</strong> e <strong>Acima</strong></p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>movem entre itens de menu em um menu.</li>\\n' +\n  '  <li>movem entre itens em um menu suspenso da barra de ferramentas.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p>As teclas de <strong>Seta</strong> alternam dentre a seção da IU em foco.</p>\\n' +\n  '\\n' +\n  '<p>Para fechar um menu aberto, um submenu aberto ou um menu suspenso aberto, pressione <strong>Esc</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Se o foco atual estiver no ‘alto’ de determinada seção da IU, pressionar <strong>Esc</strong> também sai\\n' +\n  '  totalmente da navegação pelo teclado.</p>\\n' +\n  '\\n' +\n  '<h1>Executar um item de menu ou botão da barra de ferramentas</h1>\\n' +\n  '\\n' +\n  '<p>Com o item de menu ou botão da barra de ferramentas desejado destacado, pressione <strong>Return</strong>, <strong>Enter</strong>,\\n' +\n  '  ou a <strong>Barra de espaço</strong> para executar o item.</p>\\n' +\n  '\\n' +\n  '<h1>Navegar por caixas de diálogo sem guias</h1>\\n' +\n  '\\n' +\n  '<p>Em caixas de diálogo sem guias, o primeiro componente interativo recebe o foco quando a caixa de diálogo abre.</p>\\n' +\n  '\\n' +\n  '<p>Navegue entre componentes interativos de caixa de diálogo pressionando <strong>Tab</strong> ou <strong>Shift+Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<h1>Navegar por caixas de diálogo com guias</h1>\\n' +\n  '\\n' +\n  '<p>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.</p>\\n' +\n  '\\n' +\n  '<p>Navegue entre componentes interativos dessa guia da caixa de diálogo pressionando <strong>Tab</strong> ou\\n' +\n  '  <strong>Shift+Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Alterne para outra guia da caixa de diálogo colocando o foco no menu da guia e pressionando a <strong>Seta</strong>\\n' +\n  '  adequada para percorrer as guias disponíveis.</p>\\n');"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/plugins/help/js/i18n/keynav/pt-PT.js",
    "content": "tinymce.Resource.add('tinymce.html-i18n.help-keynav.pt-PT',\n'<h1>Iniciar navegação com teclado</h1>\\n' +\n  '\\n' +\n  '<dl>\\n' +\n  '  <dt>Foco na barra de menu</dt>\\n' +\n  '  <dd>Windows ou Linux: Alt+F9</dd>\\n' +\n  '  <dd>macOS: &#x2325;F9</dd>\\n' +\n  '  <dt>Foco na barra de ferramentas</dt>\\n' +\n  '  <dd>Windows ou Linux: Alt+F10</dd>\\n' +\n  '  <dd>macOS: &#x2325;F10</dd>\\n' +\n  '  <dt>Foco no rodapé</dt>\\n' +\n  '  <dd>Windows ou Linux: Alt+F11</dd>\\n' +\n  '  <dd>macOS: &#x2325;F11</dd>\\n' +\n  '  <dt>Focar a notificação</dt>\\n' +\n  '  <dd>Windows ou Linux: Alt+F12</dd>\\n' +\n  '  <dd>macOS: &#x2325;F12</dd>\\n' +\n  '  <dt>Foco numa barra de ferramentas contextual</dt>\\n' +\n  '  <dd>Windows, Linux ou macOS: Ctrl+F9</dd>\\n' +\n  '</dl>\\n' +\n  '\\n' +\n  '<p>A navegação começará no primeiro item de IU, que estará realçado ou sublinhado, no caso do primeiro item no\\n' +\n  '  caminho do elemento do rodapé.</p>\\n' +\n  '\\n' +\n  '<h1>Navegar entre secções de IU</h1>\\n' +\n  '\\n' +\n  '<p>Para se mover de uma secção de IU para a seguinte, prima <strong>Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Para se mover de uma secção de IU para a anterior, prima <strong>Shift+Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<p>A ordem de <strong>tabulação</strong> destas secções de IU é:</p>\\n' +\n  '\\n' +\n  '<ol>\\n' +\n  '  <li>Barra de menu</li>\\n' +\n  '  <li>Cada grupo da barra de ferramentas</li>\\n' +\n  '  <li>Barra lateral</li>\\n' +\n  '  <li>Caminho do elemento no rodapé</li>\\n' +\n  '  <li>Botão de alternar da contagem de palavras no rodapé</li>\\n' +\n  '  <li>Ligação da marca no rodapé</li>\\n' +\n  '  <li>Alça de redimensionamento do editor no rodapé</li>\\n' +\n  '</ol>\\n' +\n  '\\n' +\n  '<p>Se uma secção de IU não estiver presente, é ignorada.</p>\\n' +\n  '\\n' +\n  '<p>Se o rodapé tiver foco de navegação com teclado e não existir uma barra lateral visível, premir <strong>Shift+Tab</strong>\\n' +\n  '  move o foco para o primeiro grupo da barra de ferramentas e não para o último.</p>\\n' +\n  '\\n' +\n  '<h1>Navegar nas secções de IU</h1>\\n' +\n  '\\n' +\n  '<p>Para se mover de um elemento de IU para o seguinte, prima a tecla de <strong>seta</strong> adequada.</p>\\n' +\n  '\\n' +\n  '<p>As teclas de seta <strong>Para a esquerda</strong> e <strong>Para a direita</strong></p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>movem-se entre menus na barra de menu.</li>\\n' +\n  '  <li>abrem um submenu num menu.</li>\\n' +\n  '  <li>movem-se entre botões num grupo da barra de ferramentas.</li>\\n' +\n  '  <li>movem-se entre itens no caminho do elemento do rodapé.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p>As teclas de seta <strong>Para cima</strong> e <strong>Para baixo</strong></p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>movem-se entre itens de menu num menu.</li>\\n' +\n  '  <li>movem-se entre itens num menu de pop-up da barra de ferramentas.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p>As teclas de <strong>seta</strong> deslocam-se ciclicamente na secção de IU em foco.</p>\\n' +\n  '\\n' +\n  '<p>Para fechar um menu aberto, um submenu aberto ou um menu de pop-up aberto, prima a tecla <strong>Esc</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Se o foco atual estiver no \"topo\" de determinada secção de IU, premir a tecla <strong>Esc</strong> também fecha\\n' +\n  '  completamente a navegação com teclado.</p>\\n' +\n  '\\n' +\n  '<h1>Executar um item de menu ou botão da barra de ferramentas</h1>\\n' +\n  '\\n' +\n  '<p>Quando o item de menu ou o botão da barra de ferramentas pretendido estiver realçado, prima <strong>Retrocesso</strong>, <strong>Enter</strong>\\n' +\n  '  ou a <strong>Barra de espaço</strong> para executar o item.</p>\\n' +\n  '\\n' +\n  '<h1>Navegar em diálogos sem separadores</h1>\\n' +\n  '\\n' +\n  '<p>Nos diálogos sem separadores, o primeiro componente interativo fica em foco quando o diálogo abre.</p>\\n' +\n  '\\n' +\n  '<p>Navegue entre componentes interativos do diálogo, premindo <strong>Tab</strong> ou <strong>Shift+Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<h1>Navegar em diálogos com separadores</h1>\\n' +\n  '\\n' +\n  '<p>Nos diálogos com separadores, o primeiro botão no menu do separador fica em foco quando o diálogo abre.</p>\\n' +\n  '\\n' +\n  '<p>Navegue entre os componentes interativos deste separador do diálogo, premindo <strong>Tab</strong> ou\\n' +\n  '  <strong>Shift+Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Mude para outro separador do diálogo colocando o menu do separador em foco e, em seguida, premindo a tecla de <strong>seta</strong>\\n' +\n  '  adequada para se deslocar ciclicamente pelos separadores disponíveis.</p>\\n');"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/plugins/help/js/i18n/keynav/pt_BR.js",
    "content": "tinymce.Resource.add('tinymce.html-i18n.help-keynav.pt_BR',\n'<h1>Iniciar navegação pelo teclado</h1>\\n' +\n  '\\n' +\n  '<dl>\\n' +\n  '  <dt>Foco na barra de menus</dt>\\n' +\n  '  <dd>Windows ou Linux: Alt+F9</dd>\\n' +\n  '  <dd>macOS: &#x2325;F9</dd>\\n' +\n  '  <dt>Foco na barra de ferramentas</dt>\\n' +\n  '  <dd>Windows ou Linux: Alt+F10</dd>\\n' +\n  '  <dd>macOS: &#x2325;F10</dd>\\n' +\n  '  <dt>Foco no rodapé</dt>\\n' +\n  '  <dd>Windows ou Linux: Alt+F11</dd>\\n' +\n  '  <dd>macOS: &#x2325;F11</dd>\\n' +\n  '  <dt>Foco na notificação</dt>\\n' +\n  '  <dd>Windows ou Linux: Alt+F12</dd>\\n' +\n  '  <dd>macOS: &#x2325;F12</dd>\\n' +\n  '  <dt>Foco na barra de ferramentas contextual</dt>\\n' +\n  '  <dd>Windows, Linux ou macOS: Ctrl+F9</dd>\\n' +\n  '</dl>\\n' +\n  '\\n' +\n  '<p>A navegação inicia no primeiro item da IU, que será destacado ou sublinhado no caso do primeiro item no\\n' +\n  '  caminho do elemento Rodapé.</p>\\n' +\n  '\\n' +\n  '<h1>Navegar entre seções da IU</h1>\\n' +\n  '\\n' +\n  '<p>Para ir de uma seção da IU para a seguinte, pressione <strong>Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Para ir de uma seção da IU para a anterior, pressione <strong>Shift+Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<p>A ordem de <strong>Tab</strong> destas seções da IU é:</p>\\n' +\n  '\\n' +\n  '<ol>\\n' +\n  '  <li>Barra de menus</li>\\n' +\n  '  <li>Cada grupo da barra de ferramentas</li>\\n' +\n  '  <li>Barra lateral</li>\\n' +\n  '  <li>Caminho do elemento no rodapé</li>\\n' +\n  '  <li>Botão de alternar contagem de palavras no rodapé</li>\\n' +\n  '  <li>Link da marca no rodapé</li>\\n' +\n  '  <li>Alça de redimensionamento do editor no rodapé</li>\\n' +\n  '</ol>\\n' +\n  '\\n' +\n  '<p>Se não houver uma seção da IU, ela será pulada.</p>\\n' +\n  '\\n' +\n  '<p>Se o rodapé tiver o foco da navegação pelo teclado e não houver uma barra lateral visível, pressionar <strong>Shift+Tab</strong>\\n' +\n  '  move o foco para o primeiro grupo da barra de ferramentas, não para o último.</p>\\n' +\n  '\\n' +\n  '<h1>Navegar dentro das seções da IU</h1>\\n' +\n  '\\n' +\n  '<p>Para ir de um elemento da IU para o seguinte, pressione a <strong>Seta</strong> correspondente.</p>\\n' +\n  '\\n' +\n  '<p>As teclas de seta <strong>Esquerda</strong> e <strong>Direita</strong></p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>movem entre menus na barra de menus.</li>\\n' +\n  '  <li>abrem um submenu em um menu.</li>\\n' +\n  '  <li>movem entre botões em um grupo da barra de ferramentas.</li>\\n' +\n  '  <li>movem entre itens no caminho do elemento do rodapé.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p>As teclas de seta <strong>Abaixo</strong> e <strong>Acima</strong></p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>movem entre itens de menu em um menu.</li>\\n' +\n  '  <li>movem entre itens em um menu suspenso da barra de ferramentas.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p>As teclas de <strong>Seta</strong> alternam dentre a seção da IU em foco.</p>\\n' +\n  '\\n' +\n  '<p>Para fechar um menu aberto, um submenu aberto ou um menu suspenso aberto, pressione <strong>Esc</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Se o foco atual estiver no ‘alto’ de determinada seção da IU, pressionar <strong>Esc</strong> também sai\\n' +\n  '  totalmente da navegação pelo teclado.</p>\\n' +\n  '\\n' +\n  '<h1>Executar um item de menu ou botão da barra de ferramentas</h1>\\n' +\n  '\\n' +\n  '<p>Com o item de menu ou botão da barra de ferramentas desejado destacado, pressione <strong>Return</strong>, <strong>Enter</strong>,\\n' +\n  '  ou a <strong>Barra de espaço</strong> para executar o item.</p>\\n' +\n  '\\n' +\n  '<h1>Navegar por caixas de diálogo sem guias</h1>\\n' +\n  '\\n' +\n  '<p>Em caixas de diálogo sem guias, o primeiro componente interativo recebe o foco quando a caixa de diálogo abre.</p>\\n' +\n  '\\n' +\n  '<p>Navegue entre componentes interativos de caixa de diálogo pressionando <strong>Tab</strong> ou <strong>Shift+Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<h1>Navegar por caixas de diálogo com guias</h1>\\n' +\n  '\\n' +\n  '<p>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.</p>\\n' +\n  '\\n' +\n  '<p>Navegue entre componentes interativos dessa guia da caixa de diálogo pressionando <strong>Tab</strong> ou\\n' +\n  '  <strong>Shift+Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Alterne para outra guia da caixa de diálogo colocando o foco no menu da guia e pressionando a <strong>Seta</strong>\\n' +\n  '  adequada para percorrer as guias disponíveis.</p>\\n');"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/plugins/help/js/i18n/keynav/pt_PT.js",
    "content": "tinymce.Resource.add('tinymce.html-i18n.help-keynav.pt_PT',\n'<h1>Iniciar navegação com teclado</h1>\\n' +\n  '\\n' +\n  '<dl>\\n' +\n  '  <dt>Foco na barra de menu</dt>\\n' +\n  '  <dd>Windows ou Linux: Alt+F9</dd>\\n' +\n  '  <dd>macOS: &#x2325;F9</dd>\\n' +\n  '  <dt>Foco na barra de ferramentas</dt>\\n' +\n  '  <dd>Windows ou Linux: Alt+F10</dd>\\n' +\n  '  <dd>macOS: &#x2325;F10</dd>\\n' +\n  '  <dt>Foco no rodapé</dt>\\n' +\n  '  <dd>Windows ou Linux: Alt+F11</dd>\\n' +\n  '  <dd>macOS: &#x2325;F11</dd>\\n' +\n  '  <dt>Focar a notificação</dt>\\n' +\n  '  <dd>Windows ou Linux: Alt+F12</dd>\\n' +\n  '  <dd>macOS: &#x2325;F12</dd>\\n' +\n  '  <dt>Foco numa barra de ferramentas contextual</dt>\\n' +\n  '  <dd>Windows, Linux ou macOS: Ctrl+F9</dd>\\n' +\n  '</dl>\\n' +\n  '\\n' +\n  '<p>A navegação começará no primeiro item de IU, que estará realçado ou sublinhado, no caso do primeiro item no\\n' +\n  '  caminho do elemento do rodapé.</p>\\n' +\n  '\\n' +\n  '<h1>Navegar entre secções de IU</h1>\\n' +\n  '\\n' +\n  '<p>Para se mover de uma secção de IU para a seguinte, prima <strong>Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Para se mover de uma secção de IU para a anterior, prima <strong>Shift+Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<p>A ordem de <strong>tabulação</strong> destas secções de IU é:</p>\\n' +\n  '\\n' +\n  '<ol>\\n' +\n  '  <li>Barra de menu</li>\\n' +\n  '  <li>Cada grupo da barra de ferramentas</li>\\n' +\n  '  <li>Barra lateral</li>\\n' +\n  '  <li>Caminho do elemento no rodapé</li>\\n' +\n  '  <li>Botão de alternar da contagem de palavras no rodapé</li>\\n' +\n  '  <li>Ligação da marca no rodapé</li>\\n' +\n  '  <li>Alça de redimensionamento do editor no rodapé</li>\\n' +\n  '</ol>\\n' +\n  '\\n' +\n  '<p>Se uma secção de IU não estiver presente, é ignorada.</p>\\n' +\n  '\\n' +\n  '<p>Se o rodapé tiver foco de navegação com teclado e não existir uma barra lateral visível, premir <strong>Shift+Tab</strong>\\n' +\n  '  move o foco para o primeiro grupo da barra de ferramentas e não para o último.</p>\\n' +\n  '\\n' +\n  '<h1>Navegar nas secções de IU</h1>\\n' +\n  '\\n' +\n  '<p>Para se mover de um elemento de IU para o seguinte, prima a tecla de <strong>seta</strong> adequada.</p>\\n' +\n  '\\n' +\n  '<p>As teclas de seta <strong>Para a esquerda</strong> e <strong>Para a direita</strong></p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>movem-se entre menus na barra de menu.</li>\\n' +\n  '  <li>abrem um submenu num menu.</li>\\n' +\n  '  <li>movem-se entre botões num grupo da barra de ferramentas.</li>\\n' +\n  '  <li>movem-se entre itens no caminho do elemento do rodapé.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p>As teclas de seta <strong>Para cima</strong> e <strong>Para baixo</strong></p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>movem-se entre itens de menu num menu.</li>\\n' +\n  '  <li>movem-se entre itens num menu de pop-up da barra de ferramentas.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p>As teclas de <strong>seta</strong> deslocam-se ciclicamente na secção de IU em foco.</p>\\n' +\n  '\\n' +\n  '<p>Para fechar um menu aberto, um submenu aberto ou um menu de pop-up aberto, prima a tecla <strong>Esc</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Se o foco atual estiver no \"topo\" de determinada secção de IU, premir a tecla <strong>Esc</strong> também fecha\\n' +\n  '  completamente a navegação com teclado.</p>\\n' +\n  '\\n' +\n  '<h1>Executar um item de menu ou botão da barra de ferramentas</h1>\\n' +\n  '\\n' +\n  '<p>Quando o item de menu ou o botão da barra de ferramentas pretendido estiver realçado, prima <strong>Retrocesso</strong>, <strong>Enter</strong>\\n' +\n  '  ou a <strong>Barra de espaço</strong> para executar o item.</p>\\n' +\n  '\\n' +\n  '<h1>Navegar em diálogos sem separadores</h1>\\n' +\n  '\\n' +\n  '<p>Nos diálogos sem separadores, o primeiro componente interativo fica em foco quando o diálogo abre.</p>\\n' +\n  '\\n' +\n  '<p>Navegue entre componentes interativos do diálogo, premindo <strong>Tab</strong> ou <strong>Shift+Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<h1>Navegar em diálogos com separadores</h1>\\n' +\n  '\\n' +\n  '<p>Nos diálogos com separadores, o primeiro botão no menu do separador fica em foco quando o diálogo abre.</p>\\n' +\n  '\\n' +\n  '<p>Navegue entre os componentes interativos deste separador do diálogo, premindo <strong>Tab</strong> ou\\n' +\n  '  <strong>Shift+Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Mude para outro separador do diálogo colocando o menu do separador em foco e, em seguida, premindo a tecla de <strong>seta</strong>\\n' +\n  '  adequada para se deslocar ciclicamente pelos separadores disponíveis.</p>\\n');"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/plugins/help/js/i18n/keynav/ro.js",
    "content": "tinymce.Resource.add('tinymce.html-i18n.help-keynav.ro',\n'<h1>Începeți navigarea de la tastatură</h1>\\n' +\n  '\\n' +\n  '<dl>\\n' +\n  '  <dt>Focalizare pe bara de meniu</dt>\\n' +\n  '  <dd>Windows sau Linux: Alt+F9</dd>\\n' +\n  '  <dd>macOS: &#x2325;F9</dd>\\n' +\n  '  <dt>Focalizare pe bara de instrumente</dt>\\n' +\n  '  <dd>Windows sau Linux: Alt+F10</dd>\\n' +\n  '  <dd>macOS: &#x2325;F10</dd>\\n' +\n  '  <dt>Focalizare pe subsol</dt>\\n' +\n  '  <dd>Windows sau Linux: Alt+F11</dd>\\n' +\n  '  <dd>macOS: &#x2325;F11</dd>\\n' +\n  '  <dt>Focalizare pe notificare</dt>\\n' +\n  '  <dd>Windows sau Linux: Alt+F12</dd>\\n' +\n  '  <dd>macOS: &#x2325;F12</dd>\\n' +\n  '  <dt>Focalizare pe o bară de instrumente contextuală</dt>\\n' +\n  '  <dd>Windows, Linux sau macOS: Ctrl+F9</dd>\\n' +\n  '</dl>\\n' +\n  '\\n' +\n  '<p>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' +\n  '  calea elementului Subsol.</p>\\n' +\n  '\\n' +\n  '<h1>Navigați între secțiunile interfeței cu utilizatorul</h1>\\n' +\n  '\\n' +\n  '<p>Pentru a trece de la o secțiune a interfeței cu utilizatorul la alta, apăsați <strong>Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Pentru a trece de la o secțiune a interfeței cu utilizatorul la cea anterioară, apăsați <strong>Shift+Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Ordinea cu <strong>Tab</strong> a acestor secțiuni ale interfeței cu utilizatorul este următoarea:</p>\\n' +\n  '\\n' +\n  '<ol>\\n' +\n  '  <li>Bara de meniu</li>\\n' +\n  '  <li>Fiecare grup de bare de instrumente</li>\\n' +\n  '  <li>Bara laterală</li>\\n' +\n  '  <li>Calea elementului în subsol</li>\\n' +\n  '  <li>Buton de comutare a numărului de cuvinte în subsol</li>\\n' +\n  '  <li>Link de branding în subsol</li>\\n' +\n  '  <li>Mâner de redimensionare a editorului în subsol</li>\\n' +\n  '</ol>\\n' +\n  '\\n' +\n  '<p>În cazul în care o secțiune a interfeței cu utilizatorul nu este prezentă, aceasta este omisă.</p>\\n' +\n  '\\n' +\n  '<p>În cazul în care subsolul are focalizarea navigației asupra tastaturii și nu există o bară laterală vizibilă, apăsarea butonului <strong>Shift+Tab</strong>\\n' +\n  '  mută focalizarea pe primul grup de bare de instrumente, nu pe ultimul.</p>\\n' +\n  '\\n' +\n  '<h1>Navigați în secțiunile interfeței cu utilizatorul</h1>\\n' +\n  '\\n' +\n  '<p>Pentru a trece de la un element de interfață cu utilizatorul la următorul, apăsați tasta cu <strong>săgeata</strong> corespunzătoare.</p>\\n' +\n  '\\n' +\n  '<p>Tastele cu săgeți către <strong>stânga</strong> și <strong>dreapta</strong></p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>navighează între meniurile din bara de meniuri.</li>\\n' +\n  '  <li>deschid un sub-meniu dintr-un meniu.</li>\\n' +\n  '  <li>navighează între butoanele dintr-un grup de bare de instrumente.</li>\\n' +\n  '  <li>navighează între elementele din calea elementelor subsolului.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p>Tastele cu săgeți în <strong>sus</strong> și în <strong>jos</strong></p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>navighează între elementele de meniu dintr-un meniu.</li>\\n' +\n  '  <li>navighează între elementele unui meniu pop-up din bara de instrumente.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p>Tastele cu <strong>săgeți</strong> navighează în cadrul secțiunii interfeței cu utilizatorul asupra căreia se focalizează.</p>\\n' +\n  '\\n' +\n  '<p>Pentru a închide un meniu deschis, un sub-meniu deschis sau un meniu pop-up deschis, apăsați tasta <strong>Esc</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Dacă focalizarea curentă este asupra „părții superioare” a unei anumite secțiuni a interfeței cu utilizatorul, prin apăsarea tastei <strong>Esc</strong> se iese, de asemenea,\\n' +\n  '  în întregime din navigarea de la tastatură.</p>\\n' +\n  '\\n' +\n  '<h1>Executarea unui element de meniu sau a unui buton din bara de instrumente</h1>\\n' +\n  '\\n' +\n  '<p>Atunci când elementul de meniu dorit sau butonul dorit din bara de instrumente este evidențiat, apăsați <strong>Return</strong>, <strong>Enter</strong>,\\n' +\n  '  sau <strong>bara de spațiu</strong> pentru a executa elementul.</p>\\n' +\n  '\\n' +\n  '<h1>Navigarea de dialoguri fără file</h1>\\n' +\n  '\\n' +\n  '<p>În dialogurile fără file, prima componentă interactivă beneficiază de focalizare la deschiderea dialogului.</p>\\n' +\n  '\\n' +\n  '<p>Navigați între componentele dialogului interactiv apăsând <strong>Tab</strong> sau <strong>Shift+Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<h1>Navigarea de dialoguri cu file</h1>\\n' +\n  '\\n' +\n  '<p>În dialogurile cu file, primul buton din meniul cu file beneficiază de focalizare la deschiderea dialogului.</p>\\n' +\n  '\\n' +\n  '<p>Navigați între componentele interactive ale acestei file de dialog apăsând <strong>Tab</strong> sau\\n' +\n  '  <strong>Shift+Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Treceți la o altă filă de dialog focalizând asupra meniului cu file și apoi apăsând <strong>săgeata</strong> corespunzătoare\\n' +\n  '  pentru a parcurge filele disponibile.</p>\\n');"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/plugins/help/js/i18n/keynav/ru.js",
    "content": "tinymce.Resource.add('tinymce.html-i18n.help-keynav.ru',\n'<h1>Начните управление с помощью клавиатуры</h1>\\n' +\n  '\\n' +\n  '<dl>\\n' +\n  '  <dt>Фокус на панели меню</dt>\\n' +\n  '  <dd>Windows или Linux: Alt+F9</dd>\\n' +\n  '  <dd>macOS: &#x2325;F9</dd>\\n' +\n  '  <dt>Фокус на панели инструментов</dt>\\n' +\n  '  <dd>Windows или Linux: Alt+F10</dd>\\n' +\n  '  <dd>macOS: &#x2325;F10</dd>\\n' +\n  '  <dt>Фокус на нижнем колонтитуле</dt>\\n' +\n  '  <dd>Windows или Linux: Alt+F11</dd>\\n' +\n  '  <dd>macOS: &#x2325;F11</dd>\\n' +\n  '  <dt>Фокус на уведомлении</dt>\\n' +\n  '  <dd>Windows или Linux: Alt+12</dd>\\n' +\n  '  <dd>macOS: &#x2325;F12</dd>\\n' +\n  '  <dt>Фокус на контекстной панели инструментов</dt>\\n' +\n  '  <dd>Windows, Linux или macOS: Ctrl+F9</dd>\\n' +\n  '</dl>\\n' +\n  '\\n' +\n  '<p>Первый доступный для управления элемент интерфейса будет выделен цветом или подчеркнут (если он находится\\n' +\n  '  в пути элементов нижнего колонтитула).</p>\\n' +\n  '\\n' +\n  '<h1>Переход между разделами пользовательского интерфейса</h1>\\n' +\n  '\\n' +\n  '<p>Чтобы перейти из текущего раздела интерфейса в следующий, нажмите <strong>Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Чтобы перейти из текущего раздела интерфейса в предыдущий, нажмите <strong>Shift+Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<p><strong>Вкладки</strong> разделов интерфейса расположены в следующем порядке:</p>\\n' +\n  '\\n' +\n  '<ol>\\n' +\n  '  <li>Панель меню</li>\\n' +\n  '  <li>Группы панели инструментов</li>\\n' +\n  '  <li>Боковая панель</li>\\n' +\n  '  <li>Путь элементов нижнего колонтитула</li>\\n' +\n  '  <li>Подсчет слов/символов в нижнем колонтитуле</li>\\n' +\n  '  <li>Брендовая ссылка в нижнем колонтитуле</li>\\n' +\n  '  <li>Угол для изменения размера окна редактора</li>\\n' +\n  '</ol>\\n' +\n  '\\n' +\n  '<p>Если раздел интерфейса отсутствует, он пропускается.</p>\\n' +\n  '\\n' +\n  '<p>Если при управлении с клавиатуры фокус находится на нижнем колонтитуле, а видимая боковая панель отсутствует, то при нажатии сочетания клавиш <strong>Shift+Tab</strong>\\n' +\n  '  фокус переносится на первую группу панели инструментов, а не на последнюю.</p>\\n' +\n  '\\n' +\n  '<h1>Переход между элементами внутри разделов пользовательского интерфейса</h1>\\n' +\n  '\\n' +\n  '<p>Чтобы перейти от текущего элемента интерфейса к следующему, нажмите соответствующую <strong>клавишу со стрелкой</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Клавиши со стрелками <strong>влево</strong> и <strong>вправо</strong> позволяют</p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>перемещаться между разными меню в панели меню.</li>\\n' +\n  '  <li>открывать разделы меню.</li>\\n' +\n  '  <li>перемещаться между кнопками в группе панели инструментов.</li>\\n' +\n  '  <li>перемещаться между элементами в пути элементов нижнего колонтитула.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p>Клавиши со стрелками <strong>вниз</strong> и <strong>вверх</strong> позволяют</p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>перемещаться между элементами одного меню.</li>\\n' +\n  '  <li>перемещаться между элементами всплывающего меню в панели инструментов.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p>При использовании <strong>клавиш со стрелками</strong> вы будете циклически перемещаться по элементам в пределах выбранного раздела интерфейса.</p>\\n' +\n  '\\n' +\n  '<p>Чтобы закрыть открытое меню, его раздел или всплывающее меню, нажмите клавишу <strong>Esc</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Если фокус находится наверху какого-либо раздела интерфейса, нажатие клавиши <strong>Esc</strong> также приведет\\n' +\n  '  к выходу из режима управления с помощью клавиатуры.</p>\\n' +\n  '\\n' +\n  '<h1>Использование элемента меню или кнопки на панели инструментов</h1>\\n' +\n  '\\n' +\n  '<p>Когда элемент меню или кнопка панели инструментов будут выделены, нажмите <strong>Return</strong>, <strong>Enter</strong>\\n' +\n  '  или <strong>Space</strong>, чтобы их активировать.</p>\\n' +\n  '\\n' +\n  '<h1>Управление в диалоговом окне без вкладок</h1>\\n' +\n  '\\n' +\n  '<p>При открытии диалогового окна без вкладок фокус переносится на первый интерактивный компонент.</p>\\n' +\n  '\\n' +\n  '<p>Для перехода между интерактивными компонентами диалогового окна нажимайте <strong>Tab</strong> или <strong>Shift+Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<h1>Управление в диалоговом окне с вкладками</h1>\\n' +\n  '\\n' +\n  '<p>При открытии диалогового окна с вкладками фокус переносится на первую кнопку в меню вкладок.</p>\\n' +\n  '\\n' +\n  '<p>Для перехода между интерактивными компонентами этой вкладки диалогового окна нажимайте <strong>Tab</strong> или\\n' +\n  '  <strong>Shift+Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Для перехода на другую вкладку диалогового окна переместите фокус на меню вкладок, а затем используйте <strong>клавиши со стрелками</strong>\\n' +\n  '  для циклического переключения между доступными вкладками.</p>\\n');"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/plugins/help/js/i18n/keynav/sk.js",
    "content": "tinymce.Resource.add('tinymce.html-i18n.help-keynav.sk',\n'<h1>Začíname s navigáciou pomocou klávesnice</h1>\\n' +\n  '\\n' +\n  '<dl>\\n' +\n  '  <dt>Prejsť na panel s ponukami</dt>\\n' +\n  '  <dd>Windows alebo Linux: Alt+F9</dd>\\n' +\n  '  <dd>macOS: &#x2325;F9</dd>\\n' +\n  '  <dt>Prejsť na panel nástrojov</dt>\\n' +\n  '  <dd>Windows alebo Linux: Alt+F10</dd>\\n' +\n  '  <dd>macOS: &#x2325;F10</dd>\\n' +\n  '  <dt>Prejsť na pätičku</dt>\\n' +\n  '  <dd>Windows alebo Linux: Alt+F11</dd>\\n' +\n  '  <dd>macOS: &#x2325;F11</dd>\\n' +\n  '  <dt>Zaostriť na oznámenie</dt>\\n' +\n  '  <dd>Windows alebo Linux: Alt+F12</dd>\\n' +\n  '  <dd>macOS: &#x2325;F12</dd>\\n' +\n  '  <dt>Prejsť na kontextový panel nástrojov</dt>\\n' +\n  '  <dd>Windows, Linux alebo macOS: Ctrl+F9</dd>\\n' +\n  '</dl>\\n' +\n  '\\n' +\n  '<p>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' +\n  '  cesty k pätičke podčiarknutá.</p>\\n' +\n  '\\n' +\n  '<h1>Navigácia medzi časťami používateľského rozhrania</h1>\\n' +\n  '\\n' +\n  '<p>Ak sa chcete posunúť z jednej časti používateľského rozhrania do druhej, stlačte tlačidlo <strong>Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Ak sa chcete posunúť z jednej časti používateľského rozhrania do predchádzajúcej, stlačte tlačidlá <strong>Shift + Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Poradie prepínania medzi týmito časťami používateľského rozhrania pri stláčaní tlačidla <strong>Tab</strong>:</p>\\n' +\n  '\\n' +\n  '<ol>\\n' +\n  '  <li>Panel s ponukou</li>\\n' +\n  '  <li>Každá skupina panela nástrojov</li>\\n' +\n  '  <li>Bočný panel</li>\\n' +\n  '  <li>Cesta k prvku v pätičke</li>\\n' +\n  '  <li>Prepínač počtu slov v pätičke</li>\\n' +\n  '  <li>Odkaz na informácie o značke v pätičke</li>\\n' +\n  '  <li>Úchyt na zmenu veľkosti editora v pätičke</li>\\n' +\n  '</ol>\\n' +\n  '\\n' +\n  '<p>Ak nejaká časť používateľského rozhrania nie je prítomná, preskočí sa.</p>\\n' +\n  '\\n' +\n  '<p>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 <strong>Shift+Tab</strong>\\n' +\n  '  prejdete na prvú skupinu panela nástrojov, nie na poslednú.</p>\\n' +\n  '\\n' +\n  '<h1>Navigácia v rámci častí používateľského rozhrania</h1>\\n' +\n  '\\n' +\n  '<p>Ak sa chcete posunúť z jedného prvku používateľského rozhrania na ďalší, stlačte príslušný kláves so <strong>šípkou</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Klávesy so šípkami <strong>doľava</strong> a <strong>doprava</strong></p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>umožňujú presun medzi ponukami na paneli ponúk,</li>\\n' +\n  '  <li>otvárajú podponuku v rámci ponuky,</li>\\n' +\n  '  <li>umožňujú presun medzi tlačidlami v skupine panelov nástrojov,</li>\\n' +\n  '  <li>umožňujú presun medzi položkami cesty prvku v pätičke.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p>Klávesy so šípkami <strong>dole</strong> a <strong>hore</strong></p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>umožňujú presun medzi položkami ponuky,</li>\\n' +\n  '  <li>umožňujú presun medzi položkami v kontextovej ponuke panela nástrojov.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p>Klávesy so <strong>šípkami</strong> vykonávajú prepínanie v rámci vybranej časti používateľského rozhrania.</p>\\n' +\n  '\\n' +\n  '<p>Ak chcete zatvoriť otvorenú ponuku, otvorenú podponuku alebo otvorenú kontextovú ponuku, stlačte kláves <strong>Esc</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Ak je aktuálne vybratá horná časť konkrétneho používateľského rozhrania, stlačením klávesu <strong>Esc</strong> úplne ukončíte tiež\\n' +\n  '  navigáciu pomocou klávesnice.</p>\\n' +\n  '\\n' +\n  '<h1>Vykonanie príkazu položky ponuky alebo tlačidla panela nástrojov</h1>\\n' +\n  '\\n' +\n  '<p>Keď je zvýraznená požadovaná položka ponuky alebo tlačidlo panela nástrojov, stlačením klávesov <strong>Return</strong>, <strong>Enter</strong>\\n' +\n  '  alebo <strong>medzerníka</strong> vykonáte príslušný príkaz položky.</p>\\n' +\n  '\\n' +\n  '<h1>Navigácia v dialógových oknách bez záložiek</h1>\\n' +\n  '\\n' +\n  '<p>Pri otvorení dialógových okien bez záložiek prejdete na prvý interaktívny komponent.</p>\\n' +\n  '\\n' +\n  '<p>Medzi interaktívnymi dialógovými komponentmi môžete prechádzať stlačením klávesov <strong>Tab</strong> alebo <strong>Shift+Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<h1>Navigácia v dialógových oknách so záložkami</h1>\\n' +\n  '\\n' +\n  '<p>Pri otvorení dialógových okien so záložkami prejdete na prvé tlačidlo v ponuke záložiek.</p>\\n' +\n  '\\n' +\n  '<p>Medzi interaktívnymi komponentmi tejto dialógovej záložky môžete prechádzať stlačením klávesov <strong>Tab</strong> alebo\\n' +\n  '  <strong>Shift+Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<p>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 <strong>šípkou</strong>\\n' +\n  '  prepínať medzi dostupnými záložkami.</p>\\n');"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/plugins/help/js/i18n/keynav/sl-SI.js",
    "content": "tinymce.Resource.add('tinymce.html-i18n.help-keynav.sl-SI',\n'<h1>Začetek krmarjenja s tipkovnico</h1>\\n' +\n  '\\n' +\n  '<dl>\\n' +\n  '  <dt>Fokus na menijsko vrstico</dt>\\n' +\n  '  <dd>Windows ali Linux: Alt + F9</dd>\\n' +\n  '  <dd>macOS: &#x2325;F9</dd>\\n' +\n  '  <dt>Fokus na orodno vrstico</dt>\\n' +\n  '  <dd>Windows ali Linux: Alt + F10</dd>\\n' +\n  '  <dd>macOS: &#x2325;F10</dd>\\n' +\n  '  <dt>Fokus na nogo</dt>\\n' +\n  '  <dd>Windows ali Linux: Alt + F11</dd>\\n' +\n  '  <dd>macOS: &#x2325;F11</dd>\\n' +\n  '  <dt>Označitev obvestila</dt>\\n' +\n  '  <dd>Windows ali Linux: Alt + F12</dd>\\n' +\n  '  <dd>macOS: &#x2325;F12</dd>\\n' +\n  '  <dt>Fokus na kontekstualno orodno vrstico</dt>\\n' +\n  '  <dd>Windows, Linux ali macOS: Ctrl + F9</dd>\\n' +\n  '</dl>\\n' +\n  '\\n' +\n  '<p>Krmarjenje se bo začelo s prvim elementom uporabniškega vmesnika, ki bo izpostavljena ali podčrtan, če gre za prvi element na\\n' +\n  '  poti do elementa noge.</p>\\n' +\n  '\\n' +\n  '<h1>Krmarjenje med razdelki uporabniškega vmesnika</h1>\\n' +\n  '\\n' +\n  '<p>Če se želite pomakniti z enega dela uporabniškega vmesnika na naslednjega, pritisnite <strong>tabulatorko</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Če se želite pomakniti z enega dela uporabniškega vmesnika na prejšnjega, pritisnite <strong>shift + tabulatorko</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Zaporedje teh razdelkov uporabniškega vmesnika, ko pritiskate <strong>tabulatorko</strong>, je:</p>\\n' +\n  '\\n' +\n  '<ol>\\n' +\n  '  <li>Menijska vrstica</li>\\n' +\n  '  <li>Posamezne skupine orodne vrstice</li>\\n' +\n  '  <li>Stranska vrstica</li>\\n' +\n  '  <li>Pod do elementa v nogi</li>\\n' +\n  '  <li>Gumb za preklop štetja besed v nogi</li>\\n' +\n  '  <li>Povezava do blagovne znamke v nogi</li>\\n' +\n  '  <li>Ročaj za spreminjanje velikosti urejevalnika v nogi</li>\\n' +\n  '</ol>\\n' +\n  '\\n' +\n  '<p>Če razdelek uporabniškega vmesnika ni prisoten, je preskočen.</p>\\n' +\n  '\\n' +\n  '<p>Če ima noga fokus za krmarjenje s tipkovnico in ni vidne stranske vrstice, s pritiskom na <strong>shift + tabulatorko</strong>\\n' +\n  '  fokus premaknete na prvo skupino orodne vrstice, ne zadnjo.</p>\\n' +\n  '\\n' +\n  '<h1>Krmarjenje v razdelkih uporabniškega vmesnika</h1>\\n' +\n  '\\n' +\n  '<p>Če se želite premakniti z enega elementa uporabniškega vmesnika na naslednjega, pritisnite ustrezno <strong>puščično</strong> tipko.</p>\\n' +\n  '\\n' +\n  '<p><strong>Leva</strong> in <strong>desna</strong> puščična tipka</p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>omogočata premikanje med meniji v menijski vrstici.</li>\\n' +\n  '  <li>odpreta podmeni v meniju.</li>\\n' +\n  '  <li>omogočata premikanje med gumbi v skupini orodne vrstice.</li>\\n' +\n  '  <li>omogočata premikanje med elementi na poti do elementov noge.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p><strong>Spodnja</strong> in <strong>zgornja</strong> puščična tipka</p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>omogočata premikanje med elementi menija.</li>\\n' +\n  '  <li>omogočata premikanje med elementi v pojavnem meniju orodne vrstice.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p><strong>Puščične</strong> tipke omogočajo kroženje znotraj razdelka uporabniškega vmesnika, na katerem je fokus.</p>\\n' +\n  '\\n' +\n  '<p>Če želite zapreti odprt meni, podmeni ali pojavni meni, pritisnite tipko <strong>Esc</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Če je trenutni fokus na »vrhu« določenega razdelka uporabniškega vmesnika, s pritiskom tipke <strong>Esc</strong> zaprete\\n' +\n  '  tudi celotno krmarjenje s tipkovnico.</p>\\n' +\n  '\\n' +\n  '<h1>Izvajanje menijskega elementa ali gumba orodne vrstice</h1>\\n' +\n  '\\n' +\n  '<p>Ko je označen želeni menijski element ali orodja vrstica, pritisnite <strong>vračalko</strong>, <strong>Enter</strong>\\n' +\n  '  ali <strong>preslednico</strong>, da izvedete element.</p>\\n' +\n  '\\n' +\n  '<h1>Krmarjenje po pogovornih oknih brez zavihkov</h1>\\n' +\n  '\\n' +\n  '<p>Ko odprete pogovorno okno brez zavihkov, ima fokus prva interaktivna komponenta.</p>\\n' +\n  '\\n' +\n  '<p>Med interaktivnimi komponentami pogovornega okna se premikate s pritiskom <strong>tabulatorke</strong> ali kombinacije tipke <strong>shift + tabulatorke</strong>.</p>\\n' +\n  '\\n' +\n  '<h1>Krmarjenje po pogovornih oknih z zavihki</h1>\\n' +\n  '\\n' +\n  '<p>Ko odprete pogovorno okno z zavihki, ima fokus prvi gumb v meniju zavihka.</p>\\n' +\n  '\\n' +\n  '<p>Med interaktivnimi komponentami tega zavihka pogovornega okna se premikate s pritiskom <strong>tabulatorke</strong> ali\\n' +\n  '  kombinacije tipke <strong>shift + tabulatorke</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Na drug zavihek pogovornega okna preklopite tako, da fokus prestavite na meni zavihka in nato pritisnete ustrezno <strong>puščično</strong>\\n' +\n  '  tipko, da se pomaknete med razpoložljivimi zavihki.</p>\\n');"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/plugins/help/js/i18n/keynav/sl_SI.js",
    "content": "tinymce.Resource.add('tinymce.html-i18n.help-keynav.sl_SI',\n'<h1>Začetek krmarjenja s tipkovnico</h1>\\n' +\n  '\\n' +\n  '<dl>\\n' +\n  '  <dt>Fokus na menijsko vrstico</dt>\\n' +\n  '  <dd>Windows ali Linux: Alt + F9</dd>\\n' +\n  '  <dd>macOS: &#x2325;F9</dd>\\n' +\n  '  <dt>Fokus na orodno vrstico</dt>\\n' +\n  '  <dd>Windows ali Linux: Alt + F10</dd>\\n' +\n  '  <dd>macOS: &#x2325;F10</dd>\\n' +\n  '  <dt>Fokus na nogo</dt>\\n' +\n  '  <dd>Windows ali Linux: Alt + F11</dd>\\n' +\n  '  <dd>macOS: &#x2325;F11</dd>\\n' +\n  '  <dt>Označitev obvestila</dt>\\n' +\n  '  <dd>Windows ali Linux: Alt + F12</dd>\\n' +\n  '  <dd>macOS: &#x2325;F12</dd>\\n' +\n  '  <dt>Fokus na kontekstualno orodno vrstico</dt>\\n' +\n  '  <dd>Windows, Linux ali macOS: Ctrl + F9</dd>\\n' +\n  '</dl>\\n' +\n  '\\n' +\n  '<p>Krmarjenje se bo začelo s prvim elementom uporabniškega vmesnika, ki bo izpostavljena ali podčrtan, če gre za prvi element na\\n' +\n  '  poti do elementa noge.</p>\\n' +\n  '\\n' +\n  '<h1>Krmarjenje med razdelki uporabniškega vmesnika</h1>\\n' +\n  '\\n' +\n  '<p>Če se želite pomakniti z enega dela uporabniškega vmesnika na naslednjega, pritisnite <strong>tabulatorko</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Če se želite pomakniti z enega dela uporabniškega vmesnika na prejšnjega, pritisnite <strong>shift + tabulatorko</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Zaporedje teh razdelkov uporabniškega vmesnika, ko pritiskate <strong>tabulatorko</strong>, je:</p>\\n' +\n  '\\n' +\n  '<ol>\\n' +\n  '  <li>Menijska vrstica</li>\\n' +\n  '  <li>Posamezne skupine orodne vrstice</li>\\n' +\n  '  <li>Stranska vrstica</li>\\n' +\n  '  <li>Pod do elementa v nogi</li>\\n' +\n  '  <li>Gumb za preklop štetja besed v nogi</li>\\n' +\n  '  <li>Povezava do blagovne znamke v nogi</li>\\n' +\n  '  <li>Ročaj za spreminjanje velikosti urejevalnika v nogi</li>\\n' +\n  '</ol>\\n' +\n  '\\n' +\n  '<p>Če razdelek uporabniškega vmesnika ni prisoten, je preskočen.</p>\\n' +\n  '\\n' +\n  '<p>Če ima noga fokus za krmarjenje s tipkovnico in ni vidne stranske vrstice, s pritiskom na <strong>shift + tabulatorko</strong>\\n' +\n  '  fokus premaknete na prvo skupino orodne vrstice, ne zadnjo.</p>\\n' +\n  '\\n' +\n  '<h1>Krmarjenje v razdelkih uporabniškega vmesnika</h1>\\n' +\n  '\\n' +\n  '<p>Če se želite premakniti z enega elementa uporabniškega vmesnika na naslednjega, pritisnite ustrezno <strong>puščično</strong> tipko.</p>\\n' +\n  '\\n' +\n  '<p><strong>Leva</strong> in <strong>desna</strong> puščična tipka</p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>omogočata premikanje med meniji v menijski vrstici.</li>\\n' +\n  '  <li>odpreta podmeni v meniju.</li>\\n' +\n  '  <li>omogočata premikanje med gumbi v skupini orodne vrstice.</li>\\n' +\n  '  <li>omogočata premikanje med elementi na poti do elementov noge.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p><strong>Spodnja</strong> in <strong>zgornja</strong> puščična tipka</p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>omogočata premikanje med elementi menija.</li>\\n' +\n  '  <li>omogočata premikanje med elementi v pojavnem meniju orodne vrstice.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p><strong>Puščične</strong> tipke omogočajo kroženje znotraj razdelka uporabniškega vmesnika, na katerem je fokus.</p>\\n' +\n  '\\n' +\n  '<p>Če želite zapreti odprt meni, podmeni ali pojavni meni, pritisnite tipko <strong>Esc</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Če je trenutni fokus na »vrhu« določenega razdelka uporabniškega vmesnika, s pritiskom tipke <strong>Esc</strong> zaprete\\n' +\n  '  tudi celotno krmarjenje s tipkovnico.</p>\\n' +\n  '\\n' +\n  '<h1>Izvajanje menijskega elementa ali gumba orodne vrstice</h1>\\n' +\n  '\\n' +\n  '<p>Ko je označen želeni menijski element ali orodja vrstica, pritisnite <strong>vračalko</strong>, <strong>Enter</strong>\\n' +\n  '  ali <strong>preslednico</strong>, da izvedete element.</p>\\n' +\n  '\\n' +\n  '<h1>Krmarjenje po pogovornih oknih brez zavihkov</h1>\\n' +\n  '\\n' +\n  '<p>Ko odprete pogovorno okno brez zavihkov, ima fokus prva interaktivna komponenta.</p>\\n' +\n  '\\n' +\n  '<p>Med interaktivnimi komponentami pogovornega okna se premikate s pritiskom <strong>tabulatorke</strong> ali kombinacije tipke <strong>shift + tabulatorke</strong>.</p>\\n' +\n  '\\n' +\n  '<h1>Krmarjenje po pogovornih oknih z zavihki</h1>\\n' +\n  '\\n' +\n  '<p>Ko odprete pogovorno okno z zavihki, ima fokus prvi gumb v meniju zavihka.</p>\\n' +\n  '\\n' +\n  '<p>Med interaktivnimi komponentami tega zavihka pogovornega okna se premikate s pritiskom <strong>tabulatorke</strong> ali\\n' +\n  '  kombinacije tipke <strong>shift + tabulatorke</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Na drug zavihek pogovornega okna preklopite tako, da fokus prestavite na meni zavihka in nato pritisnete ustrezno <strong>puščično</strong>\\n' +\n  '  tipko, da se pomaknete med razpoložljivimi zavihki.</p>\\n');"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/plugins/help/js/i18n/keynav/sv-SE.js",
    "content": "tinymce.Resource.add('tinymce.html-i18n.help-keynav.sv-SE',\n'<h1>Påbörja tangentbordsnavigering</h1>\\n' +\n  '\\n' +\n  '<dl>\\n' +\n  '  <dt>Fokusera på menyraden</dt>\\n' +\n  '  <dd>Windows eller Linux: Alt+F9</dd>\\n' +\n  '  <dd>macOS: &#x2325;F9</dd>\\n' +\n  '  <dt>Fokusera på verktygsraden</dt>\\n' +\n  '  <dd>Windows eller Linux: Alt+F10</dd>\\n' +\n  '  <dd>macOS: &#x2325;F10</dd>\\n' +\n  '  <dt>Fokusera på verktygsraden</dt>\\n' +\n  '  <dd>Windows eller Linux: Alt+F11</dd>\\n' +\n  '  <dd>macOS: &#x2325;F11</dd>\\n' +\n  '  <dt>Fokusera aviseringen</dt>\\n' +\n  '  <dd>Windows eller Linux: Alt+F12</dd>\\n' +\n  '  <dd>macOS: &#x2325;F12</dd>\\n' +\n  '  <dt>Fokusera på en snabbverktygsrad</dt>\\n' +\n  '  <dd>Windows, Linux eller macOS: Ctrl+F9</dd>\\n' +\n  '</dl>\\n' +\n  '\\n' +\n  '<p>Navigeringen börjar vid det första gränssnittsobjektet, vilket är markerat eller understruket om det gäller det första objektet i\\n' +\n  '  sidfotens elementsökväg.</p>\\n' +\n  '\\n' +\n  '<h1>Navigera mellan UI-avsnitt</h1>\\n' +\n  '\\n' +\n  '<p>Flytta från ett UI-avsnitt till nästa genom att trycka på <strong>Tabb</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Flytta från ett UI-avsnitt till det föregående genom att trycka på <strong>Skift+Tabb</strong>.</p>\\n' +\n  '\\n' +\n  '<p><strong>Tabb</strong>-ordningen för dessa UI-avsnitt är:</p>\\n' +\n  '\\n' +\n  '<ol>\\n' +\n  '  <li>Menyrad</li>\\n' +\n  '  <li>Varje verktygsradsgrupp</li>\\n' +\n  '  <li>Sidoruta</li>\\n' +\n  '  <li>Elementsökväg i sidfoten</li>\\n' +\n  '  <li>Växlingsknapp för ordantal i sidfoten</li>\\n' +\n  '  <li>Varumärkeslänk i sidfoten</li>\\n' +\n  '  <li>Storlekshandtag för redigeraren i sidfoten</li>\\n' +\n  '</ol>\\n' +\n  '\\n' +\n  '<p>Om ett UI-avsnitt inte finns hoppas det över.</p>\\n' +\n  '\\n' +\n  '<p>Om sidfoten har fokus på tangentbordsnavigering, och det inte finns någon synlig sidoruta, flyttas fokus till den första verktygsradsgruppen\\n' +\n  '  när du trycker på <strong>Skift+Tabb</strong>, inte till den sista.</p>\\n' +\n  '\\n' +\n  '<h1>Navigera i UI-avsnitt</h1>\\n' +\n  '\\n' +\n  '<p>Flytta från ett UI-element till nästa genom att trycka på motsvarande <strong>piltangent</strong>.</p>\\n' +\n  '\\n' +\n  '<p><strong>Vänsterpil</strong> och <strong>högerpil</strong></p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>flytta mellan menyer på menyraden.</li>\\n' +\n  '  <li>öppna en undermeny på en meny.</li>\\n' +\n  '  <li>flytta mellan knappar i en verktygsradgrupp.</li>\\n' +\n  '  <li>flytta mellan objekt i sidfotens elementsökväg.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p><strong>Nedpil</strong> och <strong>uppil</strong></p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>flytta mellan menyalternativ på en meny.</li>\\n' +\n  '  <li>flytta mellan alternativ på en popup-meny på verktygsraden.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p><strong>Piltangenterna</strong> cirkulerar inom det fokuserade UI-avsnittet.</p>\\n' +\n  '\\n' +\n  '<p>Tryck på <strong>Esc</strong>-tangenten om du vill stänga en öppen meny, undermeny eller popup-meny.</p>\\n' +\n  '\\n' +\n  '<p>Om det aktuella fokuset är högst upp i ett UI-avsnitt avlutas även tangentbordsnavigeringen helt när\\n' +\n  '  du trycker på <strong>Esc</strong>-tangenten.</p>\\n' +\n  '\\n' +\n  '<h1>Köra ett menyalternativ eller en verktygfältsknapp</h1>\\n' +\n  '\\n' +\n  '<p>När menyalternativet eller verktygsradsknappen är markerad trycker du på <strong>Retur</strong>, <strong>Enter</strong>\\n' +\n  '  eller <strong>blanksteg</strong> för att köra alternativet.</p>\\n' +\n  '\\n' +\n  '<h1>Navigera i dialogrutor utan flikar</h1>\\n' +\n  '\\n' +\n  '<p>I dialogrutor utan flikar är den första interaktiva komponenten i fokus när dialogrutan öppnas.</p>\\n' +\n  '\\n' +\n  '<p>Navigera mellan interaktiva dialogkomponenter genom att trycka på <strong>Tabb</strong> eller <strong>Skift+Tabb</strong>.</p>\\n' +\n  '\\n' +\n  '<h1>Navigera i dialogrutor med flikar</h1>\\n' +\n  '\\n' +\n  '<p>I dialogrutor utan flikar är den första knappen på flikmenyn i fokus när dialogrutan öppnas.</p>\\n' +\n  '\\n' +\n  '<p>Navigera mellan interaktiva komponenter på dialogrutefliken genom att trycka på <strong>Tabb</strong> eller\\n' +\n  '  <strong>Skift+Tabb</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Växla till en annan dialogruta genom att fokusera på flikmenyn och sedan trycka på motsvarande <strong>piltangent</strong>\\n' +\n  '  för att cirkulera mellan de tillgängliga flikarna.</p>\\n');"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/plugins/help/js/i18n/keynav/sv_SE.js",
    "content": "tinymce.Resource.add('tinymce.html-i18n.help-keynav.sv_SE',\n'<h1>Påbörja tangentbordsnavigering</h1>\\n' +\n  '\\n' +\n  '<dl>\\n' +\n  '  <dt>Fokusera på menyraden</dt>\\n' +\n  '  <dd>Windows eller Linux: Alt+F9</dd>\\n' +\n  '  <dd>macOS: &#x2325;F9</dd>\\n' +\n  '  <dt>Fokusera på verktygsraden</dt>\\n' +\n  '  <dd>Windows eller Linux: Alt+F10</dd>\\n' +\n  '  <dd>macOS: &#x2325;F10</dd>\\n' +\n  '  <dt>Fokusera på verktygsraden</dt>\\n' +\n  '  <dd>Windows eller Linux: Alt+F11</dd>\\n' +\n  '  <dd>macOS: &#x2325;F11</dd>\\n' +\n  '  <dt>Fokusera aviseringen</dt>\\n' +\n  '  <dd>Windows eller Linux: Alt+F12</dd>\\n' +\n  '  <dd>macOS: &#x2325;F12</dd>\\n' +\n  '  <dt>Fokusera på en snabbverktygsrad</dt>\\n' +\n  '  <dd>Windows, Linux eller macOS: Ctrl+F9</dd>\\n' +\n  '</dl>\\n' +\n  '\\n' +\n  '<p>Navigeringen börjar vid det första gränssnittsobjektet, vilket är markerat eller understruket om det gäller det första objektet i\\n' +\n  '  sidfotens elementsökväg.</p>\\n' +\n  '\\n' +\n  '<h1>Navigera mellan UI-avsnitt</h1>\\n' +\n  '\\n' +\n  '<p>Flytta från ett UI-avsnitt till nästa genom att trycka på <strong>Tabb</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Flytta från ett UI-avsnitt till det föregående genom att trycka på <strong>Skift+Tabb</strong>.</p>\\n' +\n  '\\n' +\n  '<p><strong>Tabb</strong>-ordningen för dessa UI-avsnitt är:</p>\\n' +\n  '\\n' +\n  '<ol>\\n' +\n  '  <li>Menyrad</li>\\n' +\n  '  <li>Varje verktygsradsgrupp</li>\\n' +\n  '  <li>Sidoruta</li>\\n' +\n  '  <li>Elementsökväg i sidfoten</li>\\n' +\n  '  <li>Växlingsknapp för ordantal i sidfoten</li>\\n' +\n  '  <li>Varumärkeslänk i sidfoten</li>\\n' +\n  '  <li>Storlekshandtag för redigeraren i sidfoten</li>\\n' +\n  '</ol>\\n' +\n  '\\n' +\n  '<p>Om ett UI-avsnitt inte finns hoppas det över.</p>\\n' +\n  '\\n' +\n  '<p>Om sidfoten har fokus på tangentbordsnavigering, och det inte finns någon synlig sidoruta, flyttas fokus till den första verktygsradsgruppen\\n' +\n  '  när du trycker på <strong>Skift+Tabb</strong>, inte till den sista.</p>\\n' +\n  '\\n' +\n  '<h1>Navigera i UI-avsnitt</h1>\\n' +\n  '\\n' +\n  '<p>Flytta från ett UI-element till nästa genom att trycka på motsvarande <strong>piltangent</strong>.</p>\\n' +\n  '\\n' +\n  '<p><strong>Vänsterpil</strong> och <strong>högerpil</strong></p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>flytta mellan menyer på menyraden.</li>\\n' +\n  '  <li>öppna en undermeny på en meny.</li>\\n' +\n  '  <li>flytta mellan knappar i en verktygsradgrupp.</li>\\n' +\n  '  <li>flytta mellan objekt i sidfotens elementsökväg.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p><strong>Nedpil</strong> och <strong>uppil</strong></p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>flytta mellan menyalternativ på en meny.</li>\\n' +\n  '  <li>flytta mellan alternativ på en popup-meny på verktygsraden.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p><strong>Piltangenterna</strong> cirkulerar inom det fokuserade UI-avsnittet.</p>\\n' +\n  '\\n' +\n  '<p>Tryck på <strong>Esc</strong>-tangenten om du vill stänga en öppen meny, undermeny eller popup-meny.</p>\\n' +\n  '\\n' +\n  '<p>Om det aktuella fokuset är högst upp i ett UI-avsnitt avlutas även tangentbordsnavigeringen helt när\\n' +\n  '  du trycker på <strong>Esc</strong>-tangenten.</p>\\n' +\n  '\\n' +\n  '<h1>Köra ett menyalternativ eller en verktygfältsknapp</h1>\\n' +\n  '\\n' +\n  '<p>När menyalternativet eller verktygsradsknappen är markerad trycker du på <strong>Retur</strong>, <strong>Enter</strong>\\n' +\n  '  eller <strong>blanksteg</strong> för att köra alternativet.</p>\\n' +\n  '\\n' +\n  '<h1>Navigera i dialogrutor utan flikar</h1>\\n' +\n  '\\n' +\n  '<p>I dialogrutor utan flikar är den första interaktiva komponenten i fokus när dialogrutan öppnas.</p>\\n' +\n  '\\n' +\n  '<p>Navigera mellan interaktiva dialogkomponenter genom att trycka på <strong>Tabb</strong> eller <strong>Skift+Tabb</strong>.</p>\\n' +\n  '\\n' +\n  '<h1>Navigera i dialogrutor med flikar</h1>\\n' +\n  '\\n' +\n  '<p>I dialogrutor utan flikar är den första knappen på flikmenyn i fokus när dialogrutan öppnas.</p>\\n' +\n  '\\n' +\n  '<p>Navigera mellan interaktiva komponenter på dialogrutefliken genom att trycka på <strong>Tabb</strong> eller\\n' +\n  '  <strong>Skift+Tabb</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Växla till en annan dialogruta genom att fokusera på flikmenyn och sedan trycka på motsvarande <strong>piltangent</strong>\\n' +\n  '  för att cirkulera mellan de tillgängliga flikarna.</p>\\n');"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/plugins/help/js/i18n/keynav/th-TH.js",
    "content": "tinymce.Resource.add('tinymce.html-i18n.help-keynav.th-TH',\n'<h1>เริ่มต้นการนำทางด้วยแป้นพิมพ์</h1>\\n' +\n  '\\n' +\n  '<dl>\\n' +\n  '  <dt>โฟกัสที่แถบเมนู</dt>\\n' +\n  '  <dd>Windows หรือ Linux: Alt+F9</dd>\\n' +\n  '  <dd>macOS: &#x2325;F9</dd>\\n' +\n  '  <dt>โฟกัสที่แถบเครื่องมือ</dt>\\n' +\n  '  <dd>Windows หรือ Linux: Alt+F10</dd>\\n' +\n  '  <dd>macOS: &#x2325;F10</dd>\\n' +\n  '  <dt>โฟกัสที่ส่วนท้าย</dt>\\n' +\n  '  <dd>Windows หรือ Linux: Alt+F11</dd>\\n' +\n  '  <dd>macOS: &#x2325;F11</dd>\\n' +\n  '  <dt>โฟกัสไปที่การแจ้งเตือน</dt>\\n' +\n  '  <dd>Windows หรือ Linux: Alt+F12</dd>\\n' +\n  '  <dd>macOS: &#x2325;F12</dd>\\n' +\n  '  <dt>โฟกัสที่แถบเครื่องมือตามบริบท</dt>\\n' +\n  '  <dd>Windows, Linux หรือ macOS: Ctrl+F9</dd>\\n' +\n  '</dl>\\n' +\n  '\\n' +\n  '<p>การนำทางจะเริ่มที่รายการ UI แรก ซึ่งจะมีการไฮไลต์หรือขีดเส้นใต้ไว้ในกรณีที่รายการแรกอยู่ใน\\n' +\n  '  พาธองค์ประกอบส่วนท้าย</p>\\n' +\n  '\\n' +\n  '<h1>การนำทางระหว่างส่วนต่างๆ ของ UI</h1>\\n' +\n  '\\n' +\n  '<p>ในการย้ายจากส่วน UI หนึ่งไปยังส่วนถัดไป ให้กด <strong>Tab</strong></p>\\n' +\n  '\\n' +\n  '<p>ในการย้ายจากส่วน UI หนึ่งไปยังส่วนก่อนหน้า ให้กด <strong>Shift+Tab</strong></p>\\n' +\n  '\\n' +\n  '<p>ลำดับ<strong>แท็บ</strong>ของส่วนต่างๆ ของ UI คือ:</p>\\n' +\n  '\\n' +\n  '<ol>\\n' +\n  '  <li>แถบเมนู</li>\\n' +\n  '  <li>แต่ละกลุ่มแถบเครื่องมือ</li>\\n' +\n  '  <li>แถบข้าง</li>\\n' +\n  '  <li>พาธองค์ประกอบในส่วนท้าย</li>\\n' +\n  '  <li>ปุ่มสลับเปิด/ปิดจำนวนคำในส่วนท้าย</li>\\n' +\n  '  <li>ลิงก์ชื่อแบรนด์ในส่วนท้าย</li>\\n' +\n  '  <li>จุดจับปรับขนาดของตัวแก้ไขในส่วนท้าย</li>\\n' +\n  '</ol>\\n' +\n  '\\n' +\n  '<p>หากส่วน UI ไม่ปรากฏ แสดงว่าถูกข้ามไป</p>\\n' +\n  '\\n' +\n  '<p>หากส่วนท้ายมีการโฟกัสการนำทางแป้นพิมพ์และไม่มีแถบข้างปรากฏ การกด <strong>Shift+Tab</strong>\\n' +\n  '  จะย้ายการโฟกัสไปที่กลุ่มแถบเครื่องมือแรก ไม่ใช่สุดท้าย</p>\\n' +\n  '\\n' +\n  '<h1>การนำทางภายในส่วนต่างๆ ของ UI</h1>\\n' +\n  '\\n' +\n  '<p>ในการย้ายจากองค์ประกอบ UI หนึ่งไปยังองค์ประกอบส่วนถัดไป ให้กดปุ่ม<strong>ลูกศร</strong>ที่เหมาะสม</p>\\n' +\n  '\\n' +\n  '<p>ปุ่มลูกศร<strong>ซ้าย</strong>และ<strong>ขวา</strong></p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>ย้ายไปมาระหว่างเมนูต่างๆ ในแถบเมนู</li>\\n' +\n  '  <li>เปิดเมนูย่อยในเมนู</li>\\n' +\n  '  <li>ย้ายไปมาระหว่างปุ่มต่างๆ ในกลุ่มแถบเครื่องมือ</li>\\n' +\n  '  <li>ย้ายไปมาระหว่างรายการต่างๆ ในพาธองค์ประกอบของส่วนท้าย</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p>ปุ่มลูกศร<strong>ลง</strong>และ<strong>ขึ้น</strong></p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>ย้ายไปมาระหว่างรายการเมนูต่างๆ ในเมนู</li>\\n' +\n  '  <li>ย้ายไปมาระหว่างรายการต่างๆ ในเมนูป๊อบอัพแถบเครื่องมือ</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p>ปุ่ม<strong>ลูกศร</strong>จะเลื่อนไปมาภายในส่วน UI ที่โฟกัส</p>\\n' +\n  '\\n' +\n  '<p>ในการปิดเมนูที่เปิดอยู่ เมนูย่อยที่เปิดอยู่ หรือเมนูป๊อบอัพที่เปิดอยู่ ให้กดปุ่ม <strong>Esc</strong></p>\\n' +\n  '\\n' +\n  '<p>หากโฟกัสปัจจุบันอยู่ที่ ‘ด้านบนสุด’ ของส่วน UI เฉพาะ การกดปุ่ม <strong>Esc</strong> จะทำให้ออกจาก\\n' +\n  '  การนำทางด้วยแป้นพิมพ์ทั้งหมดเช่นกัน</p>\\n' +\n  '\\n' +\n  '<h1>การดำเนินการรายการเมนูหรือปุ่มในแถบเครื่องมือ</h1>\\n' +\n  '\\n' +\n  '<p>เมื่อไฮไลต์รายการเมนูหรือปุ่มในแถบเครื่องมือที่ต้องการ ให้กด <strong>Return</strong>, <strong>Enter</strong>\\n' +\n  '  หรือ <strong>Space bar</strong> เพื่อดำเนินการรายการดังกล่าว</p>\\n' +\n  '\\n' +\n  '<h1>การนำทางสำหรับกล่องโต้ตอบที่ไม่อยู่ในแท็บ</h1>\\n' +\n  '\\n' +\n  '<p>ในกล่องโต้ตอบที่ไม่อยู่ในแท็บ จะโฟกัสที่ส่วนประกอบเชิงโต้ตอบแรกเมื่อกล่องโต้ตอบเปิด</p>\\n' +\n  '\\n' +\n  '<p>นำทางระหว่างส่วนประกอบเชิงโต้ตอบต่างๆ ของกล่องโต้ตอบ โดยการกด <strong>Tab</strong> หรือ <strong>Shift+Tab</strong></p>\\n' +\n  '\\n' +\n  '<h1>การนำทางสำหรับกล่องโต้ตอบที่อยู่ในแท็บ</h1>\\n' +\n  '\\n' +\n  '<p>ในกล่องโต้ตอบที่อยู่ในแท็บ จะโฟกัสที่ปุ่มแรกในเมนูแท็บเมื่อกล่องโต้ตอบเปิด</p>\\n' +\n  '\\n' +\n  '<p>นำทางระหว่างส่วนประกอบเชิงโต้ตอบต่างๆ ของแท็บกล่องโต้ตอบนี้โดยการกด <strong>Tab</strong> หรือ\\n' +\n  '  <strong>Shift+Tab</strong></p>\\n' +\n  '\\n' +\n  '<p>สลับไปยังแท็บกล่องโต้ตอบอื่นโดยการเลือกโฟกัสที่เมนูแท็บ แล้วกดปุ่ม<strong>ลูกศร</strong>ที่เหมาะสม\\n' +\n  '  เพื่อเลือกแท็บที่ใช้ได้</p>\\n');"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/plugins/help/js/i18n/keynav/th_TH.js",
    "content": "tinymce.Resource.add('tinymce.html-i18n.help-keynav.th_TH',\n'<h1>เริ่มต้นการนำทางด้วยแป้นพิมพ์</h1>\\n' +\n  '\\n' +\n  '<dl>\\n' +\n  '  <dt>โฟกัสที่แถบเมนู</dt>\\n' +\n  '  <dd>Windows หรือ Linux: Alt+F9</dd>\\n' +\n  '  <dd>macOS: &#x2325;F9</dd>\\n' +\n  '  <dt>โฟกัสที่แถบเครื่องมือ</dt>\\n' +\n  '  <dd>Windows หรือ Linux: Alt+F10</dd>\\n' +\n  '  <dd>macOS: &#x2325;F10</dd>\\n' +\n  '  <dt>โฟกัสที่ส่วนท้าย</dt>\\n' +\n  '  <dd>Windows หรือ Linux: Alt+F11</dd>\\n' +\n  '  <dd>macOS: &#x2325;F11</dd>\\n' +\n  '  <dt>โฟกัสไปที่การแจ้งเตือน</dt>\\n' +\n  '  <dd>Windows หรือ Linux: Alt+F12</dd>\\n' +\n  '  <dd>macOS: &#x2325;F12</dd>\\n' +\n  '  <dt>โฟกัสที่แถบเครื่องมือตามบริบท</dt>\\n' +\n  '  <dd>Windows, Linux หรือ macOS: Ctrl+F9</dd>\\n' +\n  '</dl>\\n' +\n  '\\n' +\n  '<p>การนำทางจะเริ่มที่รายการ UI แรก ซึ่งจะมีการไฮไลต์หรือขีดเส้นใต้ไว้ในกรณีที่รายการแรกอยู่ใน\\n' +\n  '  พาธองค์ประกอบส่วนท้าย</p>\\n' +\n  '\\n' +\n  '<h1>การนำทางระหว่างส่วนต่างๆ ของ UI</h1>\\n' +\n  '\\n' +\n  '<p>ในการย้ายจากส่วน UI หนึ่งไปยังส่วนถัดไป ให้กด <strong>Tab</strong></p>\\n' +\n  '\\n' +\n  '<p>ในการย้ายจากส่วน UI หนึ่งไปยังส่วนก่อนหน้า ให้กด <strong>Shift+Tab</strong></p>\\n' +\n  '\\n' +\n  '<p>ลำดับ<strong>แท็บ</strong>ของส่วนต่างๆ ของ UI คือ:</p>\\n' +\n  '\\n' +\n  '<ol>\\n' +\n  '  <li>แถบเมนู</li>\\n' +\n  '  <li>แต่ละกลุ่มแถบเครื่องมือ</li>\\n' +\n  '  <li>แถบข้าง</li>\\n' +\n  '  <li>พาธองค์ประกอบในส่วนท้าย</li>\\n' +\n  '  <li>ปุ่มสลับเปิด/ปิดจำนวนคำในส่วนท้าย</li>\\n' +\n  '  <li>ลิงก์ชื่อแบรนด์ในส่วนท้าย</li>\\n' +\n  '  <li>จุดจับปรับขนาดของตัวแก้ไขในส่วนท้าย</li>\\n' +\n  '</ol>\\n' +\n  '\\n' +\n  '<p>หากส่วน UI ไม่ปรากฏ แสดงว่าถูกข้ามไป</p>\\n' +\n  '\\n' +\n  '<p>หากส่วนท้ายมีการโฟกัสการนำทางแป้นพิมพ์และไม่มีแถบข้างปรากฏ การกด <strong>Shift+Tab</strong>\\n' +\n  '  จะย้ายการโฟกัสไปที่กลุ่มแถบเครื่องมือแรก ไม่ใช่สุดท้าย</p>\\n' +\n  '\\n' +\n  '<h1>การนำทางภายในส่วนต่างๆ ของ UI</h1>\\n' +\n  '\\n' +\n  '<p>ในการย้ายจากองค์ประกอบ UI หนึ่งไปยังองค์ประกอบส่วนถัดไป ให้กดปุ่ม<strong>ลูกศร</strong>ที่เหมาะสม</p>\\n' +\n  '\\n' +\n  '<p>ปุ่มลูกศร<strong>ซ้าย</strong>และ<strong>ขวา</strong></p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>ย้ายไปมาระหว่างเมนูต่างๆ ในแถบเมนู</li>\\n' +\n  '  <li>เปิดเมนูย่อยในเมนู</li>\\n' +\n  '  <li>ย้ายไปมาระหว่างปุ่มต่างๆ ในกลุ่มแถบเครื่องมือ</li>\\n' +\n  '  <li>ย้ายไปมาระหว่างรายการต่างๆ ในพาธองค์ประกอบของส่วนท้าย</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p>ปุ่มลูกศร<strong>ลง</strong>และ<strong>ขึ้น</strong></p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>ย้ายไปมาระหว่างรายการเมนูต่างๆ ในเมนู</li>\\n' +\n  '  <li>ย้ายไปมาระหว่างรายการต่างๆ ในเมนูป๊อบอัพแถบเครื่องมือ</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p>ปุ่ม<strong>ลูกศร</strong>จะเลื่อนไปมาภายในส่วน UI ที่โฟกัส</p>\\n' +\n  '\\n' +\n  '<p>ในการปิดเมนูที่เปิดอยู่ เมนูย่อยที่เปิดอยู่ หรือเมนูป๊อบอัพที่เปิดอยู่ ให้กดปุ่ม <strong>Esc</strong></p>\\n' +\n  '\\n' +\n  '<p>หากโฟกัสปัจจุบันอยู่ที่ ‘ด้านบนสุด’ ของส่วน UI เฉพาะ การกดปุ่ม <strong>Esc</strong> จะทำให้ออกจาก\\n' +\n  '  การนำทางด้วยแป้นพิมพ์ทั้งหมดเช่นกัน</p>\\n' +\n  '\\n' +\n  '<h1>การดำเนินการรายการเมนูหรือปุ่มในแถบเครื่องมือ</h1>\\n' +\n  '\\n' +\n  '<p>เมื่อไฮไลต์รายการเมนูหรือปุ่มในแถบเครื่องมือที่ต้องการ ให้กด <strong>Return</strong>, <strong>Enter</strong>\\n' +\n  '  หรือ <strong>Space bar</strong> เพื่อดำเนินการรายการดังกล่าว</p>\\n' +\n  '\\n' +\n  '<h1>การนำทางสำหรับกล่องโต้ตอบที่ไม่อยู่ในแท็บ</h1>\\n' +\n  '\\n' +\n  '<p>ในกล่องโต้ตอบที่ไม่อยู่ในแท็บ จะโฟกัสที่ส่วนประกอบเชิงโต้ตอบแรกเมื่อกล่องโต้ตอบเปิด</p>\\n' +\n  '\\n' +\n  '<p>นำทางระหว่างส่วนประกอบเชิงโต้ตอบต่างๆ ของกล่องโต้ตอบ โดยการกด <strong>Tab</strong> หรือ <strong>Shift+Tab</strong></p>\\n' +\n  '\\n' +\n  '<h1>การนำทางสำหรับกล่องโต้ตอบที่อยู่ในแท็บ</h1>\\n' +\n  '\\n' +\n  '<p>ในกล่องโต้ตอบที่อยู่ในแท็บ จะโฟกัสที่ปุ่มแรกในเมนูแท็บเมื่อกล่องโต้ตอบเปิด</p>\\n' +\n  '\\n' +\n  '<p>นำทางระหว่างส่วนประกอบเชิงโต้ตอบต่างๆ ของแท็บกล่องโต้ตอบนี้โดยการกด <strong>Tab</strong> หรือ\\n' +\n  '  <strong>Shift+Tab</strong></p>\\n' +\n  '\\n' +\n  '<p>สลับไปยังแท็บกล่องโต้ตอบอื่นโดยการเลือกโฟกัสที่เมนูแท็บ แล้วกดปุ่ม<strong>ลูกศร</strong>ที่เหมาะสม\\n' +\n  '  เพื่อเลือกแท็บที่ใช้ได้</p>\\n');"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/plugins/help/js/i18n/keynav/tr.js",
    "content": "tinymce.Resource.add('tinymce.html-i18n.help-keynav.tr',\n'<h1>Klavyeyle gezintiyi başlatma</h1>\\n' +\n  '\\n' +\n  '<dl>\\n' +\n  '  <dt>Menü çubuğuna odaklan</dt>\\n' +\n  '  <dd>Windows veya Linux: Alt+F9</dd>\\n' +\n  '  <dd>macOS: &#x2325;F9</dd>\\n' +\n  '  <dt>Araç çubuğuna odaklan</dt>\\n' +\n  '  <dd>Windows veya Linux: Alt+F10</dd>\\n' +\n  '  <dd>macOS: &#x2325;F10</dd>\\n' +\n  '  <dt>Alt bilgiye odaklan</dt>\\n' +\n  '  <dd>Windows veya Linux: Alt+F11</dd>\\n' +\n  '  <dd>macOS: &#x2325;F11</dd>\\n' +\n  '  <dt>Bildirime odakla</dt>\\n' +\n  '  <dd>Windows veya Linux: Alt+F12</dd>\\n' +\n  '  <dd>macOS: &#x2325;F12</dd>\\n' +\n  '  <dt>Bağlamsal araç çubuğuna odaklan</dt>\\n' +\n  '  <dd>Windows, Linux veya macOS: Ctrl+F9</dd>\\n' +\n  '</dl>\\n' +\n  '\\n' +\n  '<p>Gezinti ilk kullanıcı arabirimi öğesinden başlar, bu öğe vurgulanır ya da ilk öğe, Alt bilgi elemanı\\n' +\n  '  yolundaysa altı çizilir.</p>\\n' +\n  '\\n' +\n  '<h1>Kullanıcı arabirimi bölümleri arasında gezinme</h1>\\n' +\n  '\\n' +\n  '<p>Sonraki kullanıcı arabirimi bölümüne gitmek için <strong>Sekme</strong> tuşuna basın.</p>\\n' +\n  '\\n' +\n  '<p>Önceki kullanıcı arabirimi bölümüne gitmek için <strong>Shift+Sekme</strong> tuşlarına basın.</p>\\n' +\n  '\\n' +\n  '<p>Bu kullanıcı arabirimi bölümlerinin <strong>Sekme</strong> sırası:</p>\\n' +\n  '\\n' +\n  '<ol>\\n' +\n  '  <li>Menü çubuğu</li>\\n' +\n  '  <li>Her araç çubuğu grubu</li>\\n' +\n  '  <li>Kenar çubuğu</li>\\n' +\n  '  <li>Alt bilgide öğe yolu</li>\\n' +\n  '  <li>Alt bilgide sözcük sayısı geçiş düğmesi</li>\\n' +\n  '  <li>Alt bilgide marka bağlantısı</li>\\n' +\n  '  <li>Alt bilgide düzenleyiciyi yeniden boyutlandırma tutamacı</li>\\n' +\n  '</ol>\\n' +\n  '\\n' +\n  '<p>Kullanıcı arabirimi bölümü yoksa atlanır.</p>\\n' +\n  '\\n' +\n  '<p>Alt bilgide klavyeyle gezinti odağı yoksa ve görünür bir kenar çubuğu mevcut değilse <strong>Shift+Sekme</strong> tuşlarına basıldığında\\n' +\n  '  odak son araç çubuğu yerine ilk araç çubuğu grubuna taşınır.</p>\\n' +\n  '\\n' +\n  '<h1>Kullanıcı arabirimi bölümleri içinde gezinme</h1>\\n' +\n  '\\n' +\n  '<p>Sonraki kullanıcı arabirimi elemanına gitmek için uygun <strong>Ok</strong> tuşuna basın.</p>\\n' +\n  '\\n' +\n  '<p><strong>Sol</strong> ve <strong>Sağ</strong> ok tuşları</p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>menü çubuğundaki menüler arasında hareket eder.</li>\\n' +\n  '  <li>menüde bir alt menü açar.</li>\\n' +\n  '  <li>araç çubuğu grubundaki düğmeler arasında hareket eder.</li>\\n' +\n  '  <li>alt bilginin öğe yolundaki öğeler arasında hareket eder.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p><strong>Aşağı</strong> ve <strong>Yukarı</strong> ok tuşları</p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>menüdeki menü öğeleri arasında hareket eder.</li>\\n' +\n  '  <li>araç çubuğu açılır menüsündeki öğeler arasında hareket eder.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p><strong>Ok</strong> tuşları, odaklanılan kullanıcı arabirimi bölümü içinde döngüsel olarak hareket eder.</p>\\n' +\n  '\\n' +\n  '<p>Açık bir menüyü, açık bir alt menüyü veya açık bir açılır menüyü kapatmak için <strong>Esc</strong> tuşuna basın.</p>\\n' +\n  '\\n' +\n  '<p>Geçerli odak belirli bir kullanıcı arabirimi bölümünün \"üst\" kısmındaysa <strong>Esc</strong> tuşuna basıldığında\\n' +\n  '  klavyeyle gezintiden de tamamen çıkılır.</p>\\n' +\n  '\\n' +\n  '<h1>Menü öğesini veya araç çubuğu düğmesini yürütme</h1>\\n' +\n  '\\n' +\n  '<p>İstediğiniz menü öğesi veya araç çubuğu düğmesi vurgulandığında <strong>Return</strong>, <strong>Enter</strong>\\n' +\n  '  veya <strong>Ara çubuğu</strong> tuşuna basın.</p>\\n' +\n  '\\n' +\n  '<h1>Sekme bulunmayan iletişim kutularında gezinme</h1>\\n' +\n  '\\n' +\n  '<p>Sekme bulunmayan iletişim kutularında, iletişim kutusu açıldığında ilk etkileşimli bileşene odaklanılır.</p>\\n' +\n  '\\n' +\n  '<p>Etkileşimli iletişim kutusu bileşenleri arasında gezinmek için <strong>Sekme</strong> veya <strong>Shift+ Sekme</strong> tuşlarına basın.</p>\\n' +\n  '\\n' +\n  '<h1>Sekmeli iletişim kutularında gezinme</h1>\\n' +\n  '\\n' +\n  '<p>Sekmeli iletişim kutularında, iletişim kutusu açıldığında sekme menüsündeki ilk düğmeye odaklanılır.</p>\\n' +\n  '\\n' +\n  '<p>Bu iletişim kutusu sekmesinin etkileşimli bileşenleri arasında gezinmek için <strong>Sekme</strong> veya\\n' +\n  '  <strong>Shift+Sekme</strong> tuşlarına basın.</p>\\n' +\n  '\\n' +\n  '<p>Mevcut sekmeler arasında geçiş yapmak için sekme menüsüne odaklanıp uygun <strong>Ok</strong> tuşuna basarak\\n' +\n  '  başka bir iletişim kutusu sekmesine geçiş yapın.</p>\\n');"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/plugins/help/js/i18n/keynav/uk.js",
    "content": "tinymce.Resource.add('tinymce.html-i18n.help-keynav.uk',\n'<h1>Початок роботи з навігацією за допомогою клавіатури</h1>\\n' +\n  '\\n' +\n  '<dl>\\n' +\n  '  <dt>Фокус на рядок меню</dt>\\n' +\n  '  <dd>Windows або Linux: Alt+F9</dd>\\n' +\n  '  <dd>macOS: &#x2325;F9</dd>\\n' +\n  '  <dt>Фокус на панелі інструментів</dt>\\n' +\n  '  <dd>Windows або Linux: Alt+F10</dd>\\n' +\n  '  <dd>macOS: &#x2325;F10</dd>\\n' +\n  '  <dt>Фокус на розділі \"Нижній колонтитул\"</dt>\\n' +\n  '  <dd>Windows або Linux: Alt+F11</dd>\\n' +\n  '  <dd>macOS: &#x2325;F11</dd>\\n' +\n  '  <dt>Фокус на сповіщення</dt>\\n' +\n  '  <dd>Windows або Linux: Alt+F12</dd>\\n' +\n  '  <dd>macOS: &#x2325;F12</dd>\\n' +\n  '  <dt>Фокус на контекстній панелі інструментів</dt>\\n' +\n  '  <dd>Windows, Linux або macOS: Ctrl+F9</dd>\\n' +\n  '</dl>\\n' +\n  '\\n' +\n  '<p>Навігація почнеться з першого елемента інтерфейсу користувача, який буде виділено або підкреслено в разі, якщо перший елемент знаходиться в\\n' +\n  '  шляху до елемента \"Нижній колонтитул\".</p>\\n' +\n  '\\n' +\n  '<h1>Навігація між розділами інтерфейсу користувача</h1>\\n' +\n  '\\n' +\n  '<p>Щоб перейти з одного розділу інтерфейсу користувача до наступного розділу, натисніть клавішу <strong>Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Щоб перейти з одного розділу інтерфейсу користувача до попереднього розділу, натисніть сполучення клавіш <strong>Shift+Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Порядок <strong>Вкладок</strong> цих розділів інтерфейсу користувача такий:</p>\\n' +\n  '\\n' +\n  '<ol>\\n' +\n  '  <li>Рядок меню</li>\\n' +\n  '  <li>Кожна група панелей інструментів</li>\\n' +\n  '  <li>Бічна панель</li>\\n' +\n  '  <li>Шлях до елементів у розділі \"Нижній колонтитул\"</li>\\n' +\n  '  <li>Кнопка перемикача \"Кількість слів\" у розділі \"Нижній колонтитул\"</li>\\n' +\n  '  <li>Посилання на брендинг у розділі \"Нижній колонтитул\"</li>\\n' +\n  '  <li>Маркер змінення розміру в розділі \"Нижній колонтитул\"</li>\\n' +\n  '</ol>\\n' +\n  '\\n' +\n  '<p>Якщо розділ інтерфейсу користувача відсутній, він пропускається.</p>\\n' +\n  '\\n' +\n  '<p>Якщо фокус навігації клавіатури знаходиться на розділі \"Нижній колонтитул\", але користувач не бачить видиму бічну панель, натисніть <strong>Shift+Tab</strong>,\\n' +\n  '  щоб перемістити фокус на першу групу панелі інструментів, а не на останню.</p>\\n' +\n  '\\n' +\n  '<h1>Навігація в межах розділів інтерфейсу користувача</h1>\\n' +\n  '\\n' +\n  '<p>Щоб перейти з одного елементу інтерфейсу користувача до наступного, натисніть відповідну клавішу <strong>зі стрілкою</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Клавіші зі стрілками <strong>Ліворуч</strong> і <strong>Праворуч</strong></p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>переміщують між меню в рядку меню.</li>\\n' +\n  '  <li>відкривають вкладене меню в меню.</li>\\n' +\n  '  <li>переміщують користувача між кнопками в групі панелі інструментів.</li>\\n' +\n  '  <li>переміщують між елементами в шляху до елементів у розділі \"Нижній колонтитул\".</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p>Клавіші зі стрілками <strong>Вниз</strong> і <strong>Вгору</strong></p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>переміщують між елементами меню в меню.</li>\\n' +\n  '  <li>переміщують між елементами в спливаючому меню панелі інструментів.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p>Клавіші <strong>зі стрілками</strong> переміщують фокус циклічно в межах розділу інтерфейсу користувача, на якому знаходиться фокус.</p>\\n' +\n  '\\n' +\n  '<p>Щоб закрити відкрите меню, відкрите вкладене меню або відкрите спливаюче меню, натисніть клавішу <strong>Esc</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Якщо поточний фокус знаходиться на верхньому рівні певного розділу інтерфейсу користувача, натискання клавіші <strong>Esc</strong> також виконує вихід\\n' +\n  '  з навігації за допомогою клавіатури повністю.</p>\\n' +\n  '\\n' +\n  '<h1>Виконання елементу меню або кнопки панелі інструментів</h1>\\n' +\n  '\\n' +\n  '<p>Коли потрібний елемент меню або кнопку панелі інструментів виділено, натисніть клавіші <strong>Return</strong>, <strong>Enter</strong>,\\n' +\n  '  або <strong>Пробіл</strong>, щоб виконати цей елемент.</p>\\n' +\n  '\\n' +\n  '<h1>Навігація по діалоговим вікнам без вкладок</h1>\\n' +\n  '\\n' +\n  '<p>У діалогових вікнах без вкладок перший інтерактивний компонент приймає фокус, коли відкривається діалогове вікно.</p>\\n' +\n  '\\n' +\n  '<p>Переходьте між інтерактивними компонентами діалогового вікна, натискаючи клавіші <strong>Tab</strong> або <strong>Shift+Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<h1>Навігація по діалоговим вікнам з вкладками</h1>\\n' +\n  '\\n' +\n  '<p>У діалогових вікнах із вкладками перша кнопка в меню вкладки приймає фокус, коли відкривається діалогове вікно.</p>\\n' +\n  '\\n' +\n  '<p>Переходьте між інтерактивними компонентами цієї вкладки діалогового вікна, натискаючи клавіші <strong>Tab</strong> або\\n' +\n  '  <strong>Shift+Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Щоб перейти на іншу вкладку діалогового вікна, перемістіть фокус на меню вкладки, а потім натисніть відповідну клавішу <strong>зі стрілкою</strong>,\\n' +\n  '  щоб циклічно переходити по доступним вкладкам.</p>\\n');"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/plugins/help/js/i18n/keynav/vi.js",
    "content": "tinymce.Resource.add('tinymce.html-i18n.help-keynav.vi',\n'<h1>Bắt đầu điều hướng bàn phím</h1>\\n' +\n  '\\n' +\n  '<dl>\\n' +\n  '  <dt>Tập trung vào thanh menu</dt>\\n' +\n  '  <dd>Windows hoặc Linux: Alt+F9</dd>\\n' +\n  '  <dd>macOS: &#x2325;F9</dd>\\n' +\n  '  <dt>Tập trung vào thanh công cụ</dt>\\n' +\n  '  <dd>Windows hoặc Linux: Alt+F10</dd>\\n' +\n  '  <dd>macOS: &#x2325;F10</dd>\\n' +\n  '  <dt>Tập trung vào chân trang</dt>\\n' +\n  '  <dd>Windows hoặc Linux: Alt+F11</dd>\\n' +\n  '  <dd>macOS: &#x2325;F11</dd>\\n' +\n  '  <dt>Tập trung vào thông báo</dt>\\n' +\n  '  <dd>Windows hoặc Linux: Alt+F12</dd>\\n' +\n  '  <dd>macOS: &#x2325;F12</dd>\\n' +\n  '  <dt>Tập trung vào thanh công cụ ngữ cảnh</dt>\\n' +\n  '  <dd>Windows, Linux hoặc macOS: Ctrl+F9</dd>\\n' +\n  '</dl>\\n' +\n  '\\n' +\n  '<p>Đ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' +\n  '  đường dẫn phần tử Chân trang).</p>\\n' +\n  '\\n' +\n  '<h1>Di chuyển qua lại giữa các phần UI</h1>\\n' +\n  '\\n' +\n  '<p>Để di chuyển từ một phần UI sang phần tiếp theo, ấn <strong>Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Để di chuyển từ một phần UI về phần trước đó, ấn <strong>Shift+Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<p>Thứ tự <strong>Tab</strong> của các phần UI này như sau:</p>\\n' +\n  '\\n' +\n  '<ol>\\n' +\n  '  <li>Thanh menu</li>\\n' +\n  '  <li>Từng nhóm thanh công cụ</li>\\n' +\n  '  <li>Thanh bên</li>\\n' +\n  '  <li>Đường dẫn phần tử trong chân trang</li>\\n' +\n  '  <li>Nút chuyển đổi đếm chữ ở chân trang</li>\\n' +\n  '  <li>Liên kết thương hiệu ở chân trang</li>\\n' +\n  '  <li>Núm điều tác chỉnh kích cỡ trình soạn thảo ở chân trang</li>\\n' +\n  '</ol>\\n' +\n  '\\n' +\n  '<p>Nếu người dùng không thấy một phần UI, thì có nghĩa phần đó bị bỏ qua.</p>\\n' +\n  '\\n' +\n  '<p>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 <strong>Shift+Tab</strong>\\n' +\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.</p>\\n' +\n  '\\n' +\n  '<h1>Di chuyển qua lại trong các phần UI</h1>\\n' +\n  '\\n' +\n  '<p>Để di chuyển từ một phần tử UI sang phần tiếp theo, ấn phím <strong>Mũi tên</strong> tương ứng cho phù hợp.</p>\\n' +\n  '\\n' +\n  '<p>Các phím mũi tên <strong>Trái</strong> và <strong>Phải</strong></p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>di chuyển giữa các menu trong thanh menu.</li>\\n' +\n  '  <li>mở menu phụ trong một menu.</li>\\n' +\n  '  <li>di chuyển giữa các nút trong nhóm thanh công cụ.</li>\\n' +\n  '  <li>di chuyển giữa các mục trong đường dẫn phần tử của chân trang.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p>Các phím mũi tên <strong>Hướng xuống</strong> và <strong>Hướng lên</strong></p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>di chuyển giữa các mục menu trong menu.</li>\\n' +\n  '  <li>di chuyển giữa các mục trong menu thanh công cụ dạng bật lên.</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p>Các phím <strong>mũi tên</strong> xoay vòng trong một phần UI tập trung.</p>\\n' +\n  '\\n' +\n  '<p>Để đó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 <strong>Esc</strong>.</p>\\n' +\n  '\\n' +\n  '<p>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 <strong>Esc</strong> cũng sẽ thoát\\n' +\n  '  toàn bộ phần điều hướng bàn phím.</p>\\n' +\n  '\\n' +\n  '<h1>Thực hiện chức năng của một mục menu hoặc nút thanh công cụ</h1>\\n' +\n  '\\n' +\n  '<p>Khi mục menu hoặc nút thanh công cụ muốn dùng được tô sáng, hãy ấn <strong>Return</strong>, <strong>Enter</strong>,\\n' +\n  '  hoặc <strong>Phím cách</strong> để thực hiện chức năng mục đó.</p>\\n' +\n  '\\n' +\n  '<h1>Điều hướng giữa các hộp thoại không có nhiều tab</h1>\\n' +\n  '\\n' +\n  '<p>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.</p>\\n' +\n  '\\n' +\n  '<p>Di chuyển giữa các thành phần hộp thoại tương tác bằng cách ấn <strong>Tab</strong> hoặc <strong>Shift+Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<h1>Điều hướng giữa các hộp thoại có nhiều tab</h1>\\n' +\n  '\\n' +\n  '<p>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.</p>\\n' +\n  '\\n' +\n  '<p>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 <strong>Tab</strong> hoặc\\n' +\n  '  <strong>Shift+Tab</strong>.</p>\\n' +\n  '\\n' +\n  '<p>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 <strong>Mũi tên</strong> phù hợp\\n' +\n  '  để xoay vòng các tab hiện có.</p>\\n');"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/plugins/help/js/i18n/keynav/zh-CN.js",
    "content": "tinymce.Resource.add('tinymce.html-i18n.help-keynav.zh-CN',\n'<h1>开始键盘导航</h1>\\n' +\n  '\\n' +\n  '<dl>\\n' +\n  '  <dt>使菜单栏处于焦点</dt>\\n' +\n  '  <dd>Windows 或 Linux：Alt+F9</dd>\\n' +\n  '  <dd>macOS：&#x2325;F9</dd>\\n' +\n  '  <dt>使工具栏处于焦点</dt>\\n' +\n  '  <dd>Windows 或 Linux：Alt+F10</dd>\\n' +\n  '  <dd>macOS：&#x2325;F10</dd>\\n' +\n  '  <dt>使页脚处于焦点</dt>\\n' +\n  '  <dd>Windows 或 Linux：Alt+F11</dd>\\n' +\n  '  <dd>macOS：&#x2325;F11</dd>\\n' +\n  '  <dt>使通知处于焦点</dt>\\n' +\n  '  <dd>Windows 或 Linux：Alt+F12</dd>\\n' +\n  '  <dd>macOS：&#x2325;F12</dd>\\n' +\n  '  <dt>使上下文工具栏处于焦点</dt>\\n' +\n  '  <dd>Windows、Linux 或 macOS：Ctrl+F9</dd>\\n' +\n  '</dl>\\n' +\n  '\\n' +\n  '<p>导航将在第一个 UI 项上开始，其中突出显示该项，或者对于页脚元素路径中的第一项，将为其添加下划线。</p>\\n' +\n  '\\n' +\n  '<h1>在 UI 部分之间导航</h1>\\n' +\n  '\\n' +\n  '<p>要从一个 UI 部分移至下一个，请按 <strong>Tab</strong>。</p>\\n' +\n  '\\n' +\n  '<p>要从一个 UI 部分移至上一个，请按 <strong>Shift+Tab</strong>。</p>\\n' +\n  '\\n' +\n  '<p>这些 UI 部分的 <strong>Tab</strong> 顺序为：</p>\\n' +\n  '\\n' +\n  '<ol>\\n' +\n  '  <li>菜单栏</li>\\n' +\n  '  <li>每个工具栏组</li>\\n' +\n  '  <li>边栏</li>\\n' +\n  '  <li>页脚中的元素路径</li>\\n' +\n  '  <li>页脚中的字数切换按钮</li>\\n' +\n  '  <li>页脚中的品牌链接</li>\\n' +\n  '  <li>页脚中的编辑器调整大小图柄</li>\\n' +\n  '</ol>\\n' +\n  '\\n' +\n  '<p>如果不存在某个 UI 部分，则跳过它。</p>\\n' +\n  '\\n' +\n  '<p>如果键盘导航焦点在页脚，并且没有可见的边栏，则按 <strong>Shift+Tab</strong> 将焦点移至第一个工具栏组而非最后一个。</p>\\n' +\n  '\\n' +\n  '<h1>在 UI 部分内导航</h1>\\n' +\n  '\\n' +\n  '<p>要从一个 UI 元素移至下一个，请按相应的<strong>箭头</strong>键。</p>\\n' +\n  '\\n' +\n  '<p><strong>左</strong>和<strong>右</strong>箭头键</p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>在菜单栏中的菜单之间移动。</li>\\n' +\n  '  <li>打开菜单中的子菜单。</li>\\n' +\n  '  <li>在工具栏组中的按钮之间移动。</li>\\n' +\n  '  <li>在页脚的元素路径中的各项之间移动。</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p><strong>下</strong>和<strong>上</strong>箭头键</p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>在菜单中的菜单项之间移动。</li>\\n' +\n  '  <li>在工具栏弹出菜单中的各项之间移动。</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p><strong>箭头</strong>键在具有焦点的 UI 部分内循环。</p>\\n' +\n  '\\n' +\n  '<p>要关闭打开的菜单、打开的子菜单或打开的弹出菜单，请按 <strong>Esc</strong> 键。</p>\\n' +\n  '\\n' +\n  '<p>如果当前的焦点在特定 UI 部分的“顶部”，则按 <strong>Esc</strong> 键还将完全退出键盘导航。</p>\\n' +\n  '\\n' +\n  '<h1>执行菜单项或工具栏按钮</h1>\\n' +\n  '\\n' +\n  '<p>当突出显示所需的菜单项或工具栏按钮时，按 <strong>Return</strong>、<strong>Enter</strong> 或<strong>空格</strong>以执行该项。</p>\\n' +\n  '\\n' +\n  '<h1>在非标签页式对话框中导航</h1>\\n' +\n  '\\n' +\n  '<p>在非标签页式对话框中，当对话框打开时，第一个交互组件获得焦点。</p>\\n' +\n  '\\n' +\n  '<p>通过按 <strong>Tab</strong> 或 <strong>Shift+Tab</strong>，在交互对话框组件之间导航。</p>\\n' +\n  '\\n' +\n  '<h1>在标签页式对话框中导航</h1>\\n' +\n  '\\n' +\n  '<p>在标签页式对话框中，当对话框打开时，标签页菜单中的第一个按钮获得焦点。</p>\\n' +\n  '\\n' +\n  '<p>通过按 <strong>Tab</strong> 或 <strong>Shift+Tab</strong>，在此对话框的交互组件之间导航。</p>\\n' +\n  '\\n' +\n  '<p>通过将焦点移至另一对话框标签页的菜单，然后按相应的<strong>箭头</strong>键以在可用的标签页间循环，从而切换到该对话框标签页。</p>\\n');"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/plugins/help/js/i18n/keynav/zh-TW.js",
    "content": "tinymce.Resource.add('tinymce.html-i18n.help-keynav.zh-TW',\n'<h1>開始鍵盤瀏覽</h1>\\n' +\n  '\\n' +\n  '<dl>\\n' +\n  '  <dt>跳至功能表列</dt>\\n' +\n  '  <dd>Windows 或 Linux：Alt+F9</dd>\\n' +\n  '  <dd>macOS：&#x2325;F9</dd>\\n' +\n  '  <dt>跳至工具列</dt>\\n' +\n  '  <dd>Windows 或 Linux：Alt+F10</dd>\\n' +\n  '  <dd>macOS：&#x2325;F10</dd>\\n' +\n  '  <dt>跳至頁尾</dt>\\n' +\n  '  <dd>Windows 或 Linux：Alt+F11</dd>\\n' +\n  '  <dd>macOS：&#x2325;F11</dd>\\n' +\n  '  <dt>跳至通知</dt>\\n' +\n  '  <dd>Windows 或 Linux：Alt+F12</dd>\\n' +\n  '  <dd>macOS：&#x2325;F12</dd>\\n' +\n  '  <dt>跳至關聯式工具列</dt>\\n' +\n  '  <dd>Windows、Linux 或 macOS：Ctrl+F9</dd>\\n' +\n  '</dl>\\n' +\n  '\\n' +\n  '<p>瀏覽會從第一個 UI 項目開始，該項目會反白顯示，但如果是「頁尾」元素路徑的第一項，\\n' +\n  '  則加底線。</p>\\n' +\n  '\\n' +\n  '<h1>在 UI 區段之間瀏覽</h1>\\n' +\n  '\\n' +\n  '<p>從 UI 區段移至下一個，請按 <strong>Tab</strong>。</p>\\n' +\n  '\\n' +\n  '<p>從 UI 區段移回上一個，請按 <strong>Shift+Tab</strong>。</p>\\n' +\n  '\\n' +\n  '<p>這些 UI 區段的 <strong>Tab</strong> 順序如下：</p>\\n' +\n  '\\n' +\n  '<ol>\\n' +\n  '  <li>功能表列</li>\\n' +\n  '  <li>各個工具列群組</li>\\n' +\n  '  <li>側邊欄</li>\\n' +\n  '  <li>頁尾中的元素路徑</li>\\n' +\n  '  <li>頁尾中字數切換按鈕</li>\\n' +\n  '  <li>頁尾中的品牌連結</li>\\n' +\n  '  <li>頁尾中編輯器調整大小控點</li>\\n' +\n  '</ol>\\n' +\n  '\\n' +\n  '<p>如果 UI 區段未顯示，表示已略過該區段。</p>\\n' +\n  '\\n' +\n  '<p>如果鍵盤瀏覽跳至頁尾，但沒有顯示側邊欄，則按下 <strong>Shift+Tab</strong>\\n' +\n  '  會跳至第一個工具列群組，而不是最後一個。</p>\\n' +\n  '\\n' +\n  '<h1>在 UI 區段之內瀏覽</h1>\\n' +\n  '\\n' +\n  '<p>在兩個 UI 元素之間移動，請按適當的<strong>方向</strong>鍵。</p>\\n' +\n  '\\n' +\n  '<p><strong>向左</strong>和<strong>向右</strong>方向鍵</p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>在功能表列中的功能表之間移動。</li>\\n' +\n  '  <li>開啟功能表中的子功能表。</li>\\n' +\n  '  <li>在工具列群組中的按鈕之間移動。</li>\\n' +\n  '  <li>在頁尾的元素路徑中項目之間移動。</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p><strong>向下</strong>和<strong>向上</strong>方向鍵</p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>在功能表中的功能表項目之間移動。</li>\\n' +\n  '  <li>在工具列快顯功能表中的項目之間移動。</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p><strong>方向</strong>鍵會在所跳至 UI 區段之內循環。</p>\\n' +\n  '\\n' +\n  '<p>若要關閉已開啟的功能表、已開啟的子功能表，或已開啟的快顯功能表，請按 <strong>Esc</strong> 鍵。</p>\\n' +\n  '\\n' +\n  '<p>如果目前已跳至特定 UI 區段的「頂端」，則按 <strong>Esc</strong> 鍵也會結束\\n' +\n  '  整個鍵盤瀏覽。</p>\\n' +\n  '\\n' +\n  '<h1>執行功能表列項目或工具列按鈕</h1>\\n' +\n  '\\n' +\n  '<p>當想要的功能表項目或工具列按鈕已反白顯示時，按 <strong>Return</strong>、<strong>Enter</strong>、\\n' +\n  '  或<strong>空白鍵</strong>即可執行該項目。</p>\\n' +\n  '\\n' +\n  '<h1>瀏覽非索引標籤式對話方塊</h1>\\n' +\n  '\\n' +\n  '<p>在非索引標籤式對話方塊中，開啟對話方塊時會跳至第一個互動元件。</p>\\n' +\n  '\\n' +\n  '<p>按 <strong>Tab</strong> 或 <strong>Shift+Tab</strong> 即可在互動式對話方塊元件之間瀏覽。</p>\\n' +\n  '\\n' +\n  '<h1>瀏覽索引標籤式對話方塊</h1>\\n' +\n  '\\n' +\n  '<p>在索引標籤式對話方塊中，開啟對話方塊時會跳至索引標籤式功能表中的第一個按鈕。</p>\\n' +\n  '\\n' +\n  '<p>若要在此對話方塊的互動式元件之間瀏覽，請按 <strong>Tab</strong> 或\\n' +\n  '  <strong>Shift+Tab</strong>。</p>\\n' +\n  '\\n' +\n  '<p>先跳至索引標籤式功能表，然後按適當的<strong>方向</strong>鍵，即可切換至另一個對話方塊索引標籤，\\n' +\n  '  以循環瀏覽可用的索引標籤。</p>\\n');"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/plugins/help/js/i18n/keynav/zh_CN.js",
    "content": "tinymce.Resource.add('tinymce.html-i18n.help-keynav.zh_CN',\n'<h1>开始键盘导航</h1>\\n' +\n  '\\n' +\n  '<dl>\\n' +\n  '  <dt>使菜单栏处于焦点</dt>\\n' +\n  '  <dd>Windows 或 Linux：Alt+F9</dd>\\n' +\n  '  <dd>macOS：&#x2325;F9</dd>\\n' +\n  '  <dt>使工具栏处于焦点</dt>\\n' +\n  '  <dd>Windows 或 Linux：Alt+F10</dd>\\n' +\n  '  <dd>macOS：&#x2325;F10</dd>\\n' +\n  '  <dt>使页脚处于焦点</dt>\\n' +\n  '  <dd>Windows 或 Linux：Alt+F11</dd>\\n' +\n  '  <dd>macOS：&#x2325;F11</dd>\\n' +\n  '  <dt>使通知处于焦点</dt>\\n' +\n  '  <dd>Windows 或 Linux：Alt+F12</dd>\\n' +\n  '  <dd>macOS：&#x2325;F12</dd>\\n' +\n  '  <dt>使上下文工具栏处于焦点</dt>\\n' +\n  '  <dd>Windows、Linux 或 macOS：Ctrl+F9</dd>\\n' +\n  '</dl>\\n' +\n  '\\n' +\n  '<p>导航将在第一个 UI 项上开始，其中突出显示该项，或者对于页脚元素路径中的第一项，将为其添加下划线。</p>\\n' +\n  '\\n' +\n  '<h1>在 UI 部分之间导航</h1>\\n' +\n  '\\n' +\n  '<p>要从一个 UI 部分移至下一个，请按 <strong>Tab</strong>。</p>\\n' +\n  '\\n' +\n  '<p>要从一个 UI 部分移至上一个，请按 <strong>Shift+Tab</strong>。</p>\\n' +\n  '\\n' +\n  '<p>这些 UI 部分的 <strong>Tab</strong> 顺序为：</p>\\n' +\n  '\\n' +\n  '<ol>\\n' +\n  '  <li>菜单栏</li>\\n' +\n  '  <li>每个工具栏组</li>\\n' +\n  '  <li>边栏</li>\\n' +\n  '  <li>页脚中的元素路径</li>\\n' +\n  '  <li>页脚中的字数切换按钮</li>\\n' +\n  '  <li>页脚中的品牌链接</li>\\n' +\n  '  <li>页脚中的编辑器调整大小图柄</li>\\n' +\n  '</ol>\\n' +\n  '\\n' +\n  '<p>如果不存在某个 UI 部分，则跳过它。</p>\\n' +\n  '\\n' +\n  '<p>如果键盘导航焦点在页脚，并且没有可见的边栏，则按 <strong>Shift+Tab</strong> 将焦点移至第一个工具栏组而非最后一个。</p>\\n' +\n  '\\n' +\n  '<h1>在 UI 部分内导航</h1>\\n' +\n  '\\n' +\n  '<p>要从一个 UI 元素移至下一个，请按相应的<strong>箭头</strong>键。</p>\\n' +\n  '\\n' +\n  '<p><strong>左</strong>和<strong>右</strong>箭头键</p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>在菜单栏中的菜单之间移动。</li>\\n' +\n  '  <li>打开菜单中的子菜单。</li>\\n' +\n  '  <li>在工具栏组中的按钮之间移动。</li>\\n' +\n  '  <li>在页脚的元素路径中的各项之间移动。</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p><strong>下</strong>和<strong>上</strong>箭头键</p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>在菜单中的菜单项之间移动。</li>\\n' +\n  '  <li>在工具栏弹出菜单中的各项之间移动。</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p><strong>箭头</strong>键在具有焦点的 UI 部分内循环。</p>\\n' +\n  '\\n' +\n  '<p>要关闭打开的菜单、打开的子菜单或打开的弹出菜单，请按 <strong>Esc</strong> 键。</p>\\n' +\n  '\\n' +\n  '<p>如果当前的焦点在特定 UI 部分的“顶部”，则按 <strong>Esc</strong> 键还将完全退出键盘导航。</p>\\n' +\n  '\\n' +\n  '<h1>执行菜单项或工具栏按钮</h1>\\n' +\n  '\\n' +\n  '<p>当突出显示所需的菜单项或工具栏按钮时，按 <strong>Return</strong>、<strong>Enter</strong> 或<strong>空格</strong>以执行该项。</p>\\n' +\n  '\\n' +\n  '<h1>在非标签页式对话框中导航</h1>\\n' +\n  '\\n' +\n  '<p>在非标签页式对话框中，当对话框打开时，第一个交互组件获得焦点。</p>\\n' +\n  '\\n' +\n  '<p>通过按 <strong>Tab</strong> 或 <strong>Shift+Tab</strong>，在交互对话框组件之间导航。</p>\\n' +\n  '\\n' +\n  '<h1>在标签页式对话框中导航</h1>\\n' +\n  '\\n' +\n  '<p>在标签页式对话框中，当对话框打开时，标签页菜单中的第一个按钮获得焦点。</p>\\n' +\n  '\\n' +\n  '<p>通过按 <strong>Tab</strong> 或 <strong>Shift+Tab</strong>，在此对话框的交互组件之间导航。</p>\\n' +\n  '\\n' +\n  '<p>通过将焦点移至另一对话框标签页的菜单，然后按相应的<strong>箭头</strong>键以在可用的标签页间循环，从而切换到该对话框标签页。</p>\\n');"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/plugins/help/js/i18n/keynav/zh_TW.js",
    "content": "tinymce.Resource.add('tinymce.html-i18n.help-keynav.zh_TW',\n'<h1>開始鍵盤瀏覽</h1>\\n' +\n  '\\n' +\n  '<dl>\\n' +\n  '  <dt>跳至功能表列</dt>\\n' +\n  '  <dd>Windows 或 Linux：Alt+F9</dd>\\n' +\n  '  <dd>macOS：&#x2325;F9</dd>\\n' +\n  '  <dt>跳至工具列</dt>\\n' +\n  '  <dd>Windows 或 Linux：Alt+F10</dd>\\n' +\n  '  <dd>macOS：&#x2325;F10</dd>\\n' +\n  '  <dt>跳至頁尾</dt>\\n' +\n  '  <dd>Windows 或 Linux：Alt+F11</dd>\\n' +\n  '  <dd>macOS：&#x2325;F11</dd>\\n' +\n  '  <dt>跳至通知</dt>\\n' +\n  '  <dd>Windows 或 Linux：Alt+F12</dd>\\n' +\n  '  <dd>macOS：&#x2325;F12</dd>\\n' +\n  '  <dt>跳至關聯式工具列</dt>\\n' +\n  '  <dd>Windows、Linux 或 macOS：Ctrl+F9</dd>\\n' +\n  '</dl>\\n' +\n  '\\n' +\n  '<p>瀏覽會從第一個 UI 項目開始，該項目會反白顯示，但如果是「頁尾」元素路徑的第一項，\\n' +\n  '  則加底線。</p>\\n' +\n  '\\n' +\n  '<h1>在 UI 區段之間瀏覽</h1>\\n' +\n  '\\n' +\n  '<p>從 UI 區段移至下一個，請按 <strong>Tab</strong>。</p>\\n' +\n  '\\n' +\n  '<p>從 UI 區段移回上一個，請按 <strong>Shift+Tab</strong>。</p>\\n' +\n  '\\n' +\n  '<p>這些 UI 區段的 <strong>Tab</strong> 順序如下：</p>\\n' +\n  '\\n' +\n  '<ol>\\n' +\n  '  <li>功能表列</li>\\n' +\n  '  <li>各個工具列群組</li>\\n' +\n  '  <li>側邊欄</li>\\n' +\n  '  <li>頁尾中的元素路徑</li>\\n' +\n  '  <li>頁尾中字數切換按鈕</li>\\n' +\n  '  <li>頁尾中的品牌連結</li>\\n' +\n  '  <li>頁尾中編輯器調整大小控點</li>\\n' +\n  '</ol>\\n' +\n  '\\n' +\n  '<p>如果 UI 區段未顯示，表示已略過該區段。</p>\\n' +\n  '\\n' +\n  '<p>如果鍵盤瀏覽跳至頁尾，但沒有顯示側邊欄，則按下 <strong>Shift+Tab</strong>\\n' +\n  '  會跳至第一個工具列群組，而不是最後一個。</p>\\n' +\n  '\\n' +\n  '<h1>在 UI 區段之內瀏覽</h1>\\n' +\n  '\\n' +\n  '<p>在兩個 UI 元素之間移動，請按適當的<strong>方向</strong>鍵。</p>\\n' +\n  '\\n' +\n  '<p><strong>向左</strong>和<strong>向右</strong>方向鍵</p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>在功能表列中的功能表之間移動。</li>\\n' +\n  '  <li>開啟功能表中的子功能表。</li>\\n' +\n  '  <li>在工具列群組中的按鈕之間移動。</li>\\n' +\n  '  <li>在頁尾的元素路徑中項目之間移動。</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p><strong>向下</strong>和<strong>向上</strong>方向鍵</p>\\n' +\n  '\\n' +\n  '<ul>\\n' +\n  '  <li>在功能表中的功能表項目之間移動。</li>\\n' +\n  '  <li>在工具列快顯功能表中的項目之間移動。</li>\\n' +\n  '</ul>\\n' +\n  '\\n' +\n  '<p><strong>方向</strong>鍵會在所跳至 UI 區段之內循環。</p>\\n' +\n  '\\n' +\n  '<p>若要關閉已開啟的功能表、已開啟的子功能表，或已開啟的快顯功能表，請按 <strong>Esc</strong> 鍵。</p>\\n' +\n  '\\n' +\n  '<p>如果目前已跳至特定 UI 區段的「頂端」，則按 <strong>Esc</strong> 鍵也會結束\\n' +\n  '  整個鍵盤瀏覽。</p>\\n' +\n  '\\n' +\n  '<h1>執行功能表列項目或工具列按鈕</h1>\\n' +\n  '\\n' +\n  '<p>當想要的功能表項目或工具列按鈕已反白顯示時，按 <strong>Return</strong>、<strong>Enter</strong>、\\n' +\n  '  或<strong>空白鍵</strong>即可執行該項目。</p>\\n' +\n  '\\n' +\n  '<h1>瀏覽非索引標籤式對話方塊</h1>\\n' +\n  '\\n' +\n  '<p>在非索引標籤式對話方塊中，開啟對話方塊時會跳至第一個互動元件。</p>\\n' +\n  '\\n' +\n  '<p>按 <strong>Tab</strong> 或 <strong>Shift+Tab</strong> 即可在互動式對話方塊元件之間瀏覽。</p>\\n' +\n  '\\n' +\n  '<h1>瀏覽索引標籤式對話方塊</h1>\\n' +\n  '\\n' +\n  '<p>在索引標籤式對話方塊中，開啟對話方塊時會跳至索引標籤式功能表中的第一個按鈕。</p>\\n' +\n  '\\n' +\n  '<p>若要在此對話方塊的互動式元件之間瀏覽，請按 <strong>Tab</strong> 或\\n' +\n  '  <strong>Shift+Tab</strong>。</p>\\n' +\n  '\\n' +\n  '<p>先跳至索引標籤式功能表，然後按適當的<strong>方向</strong>鍵，即可切換至另一個對話方塊索引標籤，\\n' +\n  '  以循環瀏覽可用的索引標籤。</p>\\n');"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/skins/content/dark/content.js",
    "content": "/* This file is bundled with the code from the following third party libraries */\n\n/**\n * http://prismjs.com/\n * Dracula Theme originally by Zeno Rocha [@zenorocha]\n * https://draculatheme.com/\n *\n * Ported for PrismJS by Albert Vallverdu [@byverdu]\n */\ntinymce.Resource.add('content/dark/content.css', `body{background-color:#222f3e;color:#fff;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,'Open Sans','Helvetica Neue',sans-serif;line-height:1.4;margin:1rem}a{color:#4099ff}table{border-collapse:collapse}table:not([cellpadding]) td,table:not([cellpadding]) th{padding:.4rem}table[border]:not([border=\"0\"]):not([style*=border-width]) td,table[border]:not([border=\"0\"]):not([style*=border-width]) th{border-width:1px}table[border]:not([border=\"0\"]):not([style*=border-style]) td,table[border]:not([border=\"0\"]):not([style*=border-style]) th{border-style:solid}table[border]:not([border=\"0\"]):not([style*=border-color]) td,table[border]:not([border=\"0\"]):not([style*=border-color]) th{border-color:#6d737b}figure{display:table;margin:1rem auto}figure figcaption{color:#8a8f97;display:block;margin-top:.25rem;text-align:center}hr{border-color:#6d737b;border-style:solid;border-width:1px 0 0 0}code{background-color:#6d737b;border-radius:3px;padding:.1rem .2rem}.mce-content-body:not([dir=rtl]) blockquote{border-left:2px solid #6d737b;margin-left:1.5rem;padding-left:1rem}.mce-content-body[dir=rtl] blockquote{border-right:2px solid #6d737b;margin-right:1.5rem;padding-right:1rem}`)"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/skins/content/default/content.js",
    "content": "/* This file is bundled with the code from the following third party libraries */\n\n/**\n * http://prismjs.com/\n * Dracula Theme originally by Zeno Rocha [@zenorocha]\n * https://draculatheme.com/\n *\n * Ported for PrismJS by Albert Vallverdu [@byverdu]\n */\ntinymce.Resource.add('content/default/content.css', `body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,'Open Sans','Helvetica Neue',sans-serif;line-height:1.4;margin:1rem}table{border-collapse:collapse}table:not([cellpadding]) td,table:not([cellpadding]) th{padding:.4rem}table[border]:not([border=\"0\"]):not([style*=border-width]) td,table[border]:not([border=\"0\"]):not([style*=border-width]) th{border-width:1px}table[border]:not([border=\"0\"]):not([style*=border-style]) td,table[border]:not([border=\"0\"]):not([style*=border-style]) th{border-style:solid}table[border]:not([border=\"0\"]):not([style*=border-color]) td,table[border]:not([border=\"0\"]):not([style*=border-color]) th{border-color:#ccc}figure{display:table;margin:1rem auto}figure figcaption{color:#999;display:block;margin-top:.25rem;text-align:center}hr{border-color:#ccc;border-style:solid;border-width:1px 0 0 0}code{background-color:#e8e8e8;border-radius:3px;padding:.1rem .2rem}.mce-content-body:not([dir=rtl]) blockquote{border-left:2px solid #ccc;margin-left:1.5rem;padding-left:1rem}.mce-content-body[dir=rtl] blockquote{border-right:2px solid #ccc;margin-right:1.5rem;padding-right:1rem}`)"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/skins/content/document/content.js",
    "content": "/* This file is bundled with the code from the following third party libraries */\n\n/**\n * http://prismjs.com/\n * Dracula Theme originally by Zeno Rocha [@zenorocha]\n * https://draculatheme.com/\n *\n * Ported for PrismJS by Albert Vallverdu [@byverdu]\n */\ntinymce.Resource.add('content/document/content.css', `@media screen{html{background:#f4f4f4;min-height:100%}}body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,'Open Sans','Helvetica Neue',sans-serif}@media screen{body{background-color:#fff;box-shadow:0 0 4px rgba(0,0,0,.15);box-sizing:border-box;margin:1rem auto 0;max-width:820px;min-height:calc(100vh - 1rem);padding:4rem 6rem 6rem 6rem}}table{border-collapse:collapse}table:not([cellpadding]) td,table:not([cellpadding]) th{padding:.4rem}table[border]:not([border=\"0\"]):not([style*=border-width]) td,table[border]:not([border=\"0\"]):not([style*=border-width]) th{border-width:1px}table[border]:not([border=\"0\"]):not([style*=border-style]) td,table[border]:not([border=\"0\"]):not([style*=border-style]) th{border-style:solid}table[border]:not([border=\"0\"]):not([style*=border-color]) td,table[border]:not([border=\"0\"]):not([style*=border-color]) th{border-color:#ccc}figure figcaption{color:#999;margin-top:.25rem;text-align:center}hr{border-color:#ccc;border-style:solid;border-width:1px 0 0 0}.mce-content-body:not([dir=rtl]) blockquote{border-left:2px solid #ccc;margin-left:1.5rem;padding-left:1rem}.mce-content-body[dir=rtl] blockquote{border-right:2px solid #ccc;margin-right:1.5rem;padding-right:1rem}`)"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/skins/content/tinymce-5/content.js",
    "content": "/* This file is bundled with the code from the following third party libraries */\n\n/**\n * http://prismjs.com/\n * Dracula Theme originally by Zeno Rocha [@zenorocha]\n * https://draculatheme.com/\n *\n * Ported for PrismJS by Albert Vallverdu [@byverdu]\n */\ntinymce.Resource.add('content/tinymce-5/content.css', `body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,'Open Sans','Helvetica Neue',sans-serif;line-height:1.4;margin:1rem}table{border-collapse:collapse}table:not([cellpadding]) td,table:not([cellpadding]) th{padding:.4rem}table[border]:not([border=\"0\"]):not([style*=border-width]) td,table[border]:not([border=\"0\"]):not([style*=border-width]) th{border-width:1px}table[border]:not([border=\"0\"]):not([style*=border-style]) td,table[border]:not([border=\"0\"]):not([style*=border-style]) th{border-style:solid}table[border]:not([border=\"0\"]):not([style*=border-color]) td,table[border]:not([border=\"0\"]):not([style*=border-color]) th{border-color:#ccc}figure{display:table;margin:1rem auto}figure figcaption{color:#999;display:block;margin-top:.25rem;text-align:center}hr{border-color:#ccc;border-style:solid;border-width:1px 0 0 0}code{background-color:#e8e8e8;border-radius:3px;padding:.1rem .2rem}.mce-content-body:not([dir=rtl]) blockquote{border-left:2px solid #ccc;margin-left:1.5rem;padding-left:1rem}.mce-content-body[dir=rtl] blockquote{border-right:2px solid #ccc;margin-right:1.5rem;padding-right:1rem}`)"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/skins/content/tinymce-5-dark/content.js",
    "content": "/* This file is bundled with the code from the following third party libraries */\n\n/**\n * http://prismjs.com/\n * Dracula Theme originally by Zeno Rocha [@zenorocha]\n * https://draculatheme.com/\n *\n * Ported for PrismJS by Albert Vallverdu [@byverdu]\n */\ntinymce.Resource.add('content/tinymce-5-dark/content.css', `body{background-color:#2f3742;color:#dfe0e4;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,'Open Sans','Helvetica Neue',sans-serif;line-height:1.4;margin:1rem}a{color:#4099ff}table{border-collapse:collapse}table:not([cellpadding]) td,table:not([cellpadding]) th{padding:.4rem}table[border]:not([border=\"0\"]):not([style*=border-width]) td,table[border]:not([border=\"0\"]):not([style*=border-width]) th{border-width:1px}table[border]:not([border=\"0\"]):not([style*=border-style]) td,table[border]:not([border=\"0\"]):not([style*=border-style]) th{border-style:solid}table[border]:not([border=\"0\"]):not([style*=border-color]) td,table[border]:not([border=\"0\"]):not([style*=border-color]) th{border-color:#6d737b}figure{display:table;margin:1rem auto}figure figcaption{color:#8a8f97;display:block;margin-top:.25rem;text-align:center}hr{border-color:#6d737b;border-style:solid;border-width:1px 0 0 0}code{background-color:#6d737b;border-radius:3px;padding:.1rem .2rem}.mce-content-body:not([dir=rtl]) blockquote{border-left:2px solid #6d737b;margin-left:1.5rem;padding-left:1rem}.mce-content-body[dir=rtl] blockquote{border-right:2px solid #6d737b;margin-right:1.5rem;padding-right:1rem}`)"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/skins/content/writer/content.js",
    "content": "/* This file is bundled with the code from the following third party libraries */\n\n/**\n * http://prismjs.com/\n * Dracula Theme originally by Zeno Rocha [@zenorocha]\n * https://draculatheme.com/\n *\n * Ported for PrismJS by Albert Vallverdu [@byverdu]\n */\ntinymce.Resource.add('content/writer/content.css', `body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,'Open Sans','Helvetica Neue',sans-serif;line-height:1.4;margin:1rem auto;max-width:900px}table{border-collapse:collapse}table:not([cellpadding]) td,table:not([cellpadding]) th{padding:.4rem}table[border]:not([border=\"0\"]):not([style*=border-width]) td,table[border]:not([border=\"0\"]):not([style*=border-width]) th{border-width:1px}table[border]:not([border=\"0\"]):not([style*=border-style]) td,table[border]:not([border=\"0\"]):not([style*=border-style]) th{border-style:solid}table[border]:not([border=\"0\"]):not([style*=border-color]) td,table[border]:not([border=\"0\"]):not([style*=border-color]) th{border-color:#ccc}figure{display:table;margin:1rem auto}figure figcaption{color:#999;display:block;margin-top:.25rem;text-align:center}hr{border-color:#ccc;border-style:solid;border-width:1px 0 0 0}code{background-color:#e8e8e8;border-radius:3px;padding:.1rem .2rem}.mce-content-body:not([dir=rtl]) blockquote{border-left:2px solid #ccc;margin-left:1.5rem;padding-left:1rem}.mce-content-body[dir=rtl] blockquote{border-right:2px solid #ccc;margin-right:1.5rem;padding-right:1rem}`)"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/skins/ui/oxide/content.inline.js",
    "content": "/* This file is bundled with the code from the following third party libraries */\n\n/**\n * http://prismjs.com/\n * Dracula Theme originally by Zeno Rocha [@zenorocha]\n * https://draculatheme.com/\n *\n * Ported for PrismJS by Albert Vallverdu [@byverdu]\n */\ntinymce.Resource.add('ui/oxide/content.inline.css', `@keyframes tox-rotation{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.mce-content-body .mce-item-anchor{background:transparent url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A\") no-repeat center}.mce-content-body .mce-item-anchor:empty{cursor:default;display:inline-block;height:12px!important;padding:0 2px;-webkit-user-modify:read-only;-moz-user-modify:read-only;-webkit-user-select:all;user-select:all;width:8px!important}.mce-content-body .mce-item-anchor:not(:empty){background-position-x:2px;display:inline-block;padding-left:12px}.mce-content-body .mce-item-anchor[data-mce-selected]{outline-offset:1px}.tox-comments-visible .tox-comment[contenteditable=false]:not([data-mce-selected]),.tox-comments-visible span.tox-comment img:not([data-mce-selected]),.tox-comments-visible span.tox-comment span.mce-preview-object:not([data-mce-selected]),.tox-comments-visible span.tox-comment>audio:not([data-mce-selected]),.tox-comments-visible span.tox-comment>video:not([data-mce-selected]){outline:3px solid #ffe796}.tox-comments-visible .tox-comment[contenteditable=false][data-mce-annotation-active=true]:not([data-mce-selected]){outline:3px solid #ffcf30}.tox-comments-visible span.tox-comment:not([data-mce-selected]){background-color:#ffe796;outline:0}.tox-comments-visible span.tox-comment[data-mce-annotation-active=true]:not([data-mce-selected=inline-boundary]){background-color:#ffcf30}.tox-comments-visible span.tox-comment[data-mce-selected]{background-color:#ffcf30;border-radius:3px;box-shadow:0 0 0 2px #006ce7}.tox-comments-visible span.tox-comment[data-mce-selected]:has(img[data-mce-selected],> audio[data-mce-selected],> video[data-mce-selected],span.mce-preview-object[data-mce-selected]){box-shadow:none}.tox-comments-visible span.tox-comment[data-mce-selected] img:not([data-mce-selected]),.tox-comments-visible span.tox-comment[data-mce-selected] span.mce-preview-object:not([data-mce-selected]),.tox-comments-visible span.tox-comment[data-mce-selected]>audio:not([data-mce-selected]),.tox-comments-visible span.tox-comment[data-mce-selected]>video:not([data-mce-selected]){box-shadow:0 0 0 5px #006ce7}.tox-comments-visible span.tox-comment[data-mce-annotation-active=true] img:not([data-mce-selected]),.tox-comments-visible span.tox-comment[data-mce-annotation-active=true] span.mce-preview-object:not([data-mce-selected]),.tox-comments-visible span.tox-comment[data-mce-annotation-active=true]>audio:not([data-mce-selected]),.tox-comments-visible span.tox-comment[data-mce-annotation-active=true]>video:not([data-mce-selected]){outline:3px solid #ffcf30}.tox-checklist>li:not(.tox-checklist--hidden){list-style:none;margin:.25em 0}.tox-checklist>li:not(.tox-checklist--hidden)::before{content:url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A\");cursor:pointer;height:1em;margin-left:-1.5em;margin-top:.125em;position:absolute;width:1em}.tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before{content:url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A\")}[dir=rtl] .tox-checklist>li:not(.tox-checklist--hidden)::before{margin-left:0;margin-right:-1.5em}code[class*=language-],pre[class*=language-]{color:#000;background:0 0;text-shadow:0 1px #fff;font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;tab-size:4;hyphens:none}code[class*=language-] ::selection,code[class*=language-]::selection,pre[class*=language-] ::selection,pre[class*=language-]::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#f5f2f0}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#708090}.token.punctuation{color:#999}.token.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#905}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#690}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url{color:#9a6e3a;background:hsla(0,0%,100%,.5)}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.class-name,.token.function{color:#dd4a68}.token.important,.token.regex,.token.variable{color:#e90}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.mce-content-body{overflow-wrap:break-word;word-wrap:break-word}.mce-content-body .mce-visual-caret{background-color:#000;background-color:currentColor;position:absolute}.mce-content-body .mce-visual-caret-hidden{display:none}.mce-content-body [data-mce-caret]{left:-1000px;margin:0;padding:0;position:absolute;right:auto;top:0}.mce-content-body .mce-offscreen-selection{left:-2000000px;max-width:1000000px;position:absolute}.mce-content-body [contentEditable=false]{cursor:default}.mce-content-body [contentEditable=true]{cursor:text}.tox-cursor-format-painter{cursor:url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A\"),default}div.mce-footnotes hr{margin-inline:0 auto;width:25%}div.mce-footnotes li>a.mce-footnotes-backlink{-webkit-text-decoration:none;text-decoration:none}@media print{sup.mce-footnote a{color:#000;-webkit-text-decoration:none;text-decoration:none}div.mce-footnotes{page-break-inside:avoid;break-inside:avoid;width:100%}div.mce-footnotes li>a.mce-footnotes-backlink{display:none}}tiny-math-block{display:flex;justify-content:center;margin:16px 0 16px 0}tiny-math-inline{display:inline-block}.mce-content-body figure.align-left{float:left}.mce-content-body figure.align-right{float:right}.mce-content-body figure.image.align-center{display:table;margin-left:auto;margin-right:auto}.mce-preview-object{border:1px solid gray;display:inline-block;line-height:0;margin:0 2px;position:relative}.mce-preview-object .mce-shim{background:url(\"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\");height:100%;left:0;position:absolute;top:0;width:100%}.mce-preview-object[data-mce-selected=\"2\"] .mce-shim{display:none}.mce-content-body .mce-mergetag{cursor:default!important;-webkit-user-select:none;user-select:none}.mce-content-body .mce-mergetag:hover{background-color:rgba(0,108,231,.1)}.mce-content-body .mce-mergetag-affix{background-color:rgba(0,108,231,.1);color:#006ce7}.mce-object{background:transparent url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A\") no-repeat center;border:1px dashed #aaa}.mce-pagebreak{border:1px dashed #aaa;cursor:default;display:block;height:5px;margin-top:15px;page-break-before:always;width:100%}@media print{.mce-pagebreak{border:0}}.tiny-pageembed .mce-shim{background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);height:100%;left:0;position:absolute;top:0;width:100%}.tiny-pageembed[data-mce-selected=\"2\"] .mce-shim{display:none}.tiny-pageembed{display:inline-block;position:relative}.tiny-pageembed--16by9,.tiny-pageembed--1by1,.tiny-pageembed--21by9,.tiny-pageembed--4by3{display:block;overflow:hidden;padding:0;position:relative;width:100%}.tiny-pageembed--21by9{padding-top:42.857143%}.tiny-pageembed--16by9{padding-top:56.25%}.tiny-pageembed--4by3{padding-top:75%}.tiny-pageembed--1by1{padding-top:100%}.tiny-pageembed--16by9 iframe,.tiny-pageembed--1by1 iframe,.tiny-pageembed--21by9 iframe,.tiny-pageembed--4by3 iframe{border:0;height:100%;left:0;position:absolute;top:0;width:100%}.mce-content-body[data-mce-placeholder]{position:relative}.mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before{color:rgba(34,47,62,.7);content:attr(data-mce-placeholder);position:absolute}@media (forced-colors:active){.mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before{color:highlight;filter:brightness(30%);z-index:-1}}.mce-content-body:not([dir=rtl])[data-mce-placeholder]:not(.mce-visualblocks)::before{left:1px}.mce-content-body[dir=rtl][data-mce-placeholder]:not(.mce-visualblocks)::before{right:1px}@media print{.mce-content-body .mce-placeholder,.mce-content-body [data-mce-bogus=all],.mce-content-body [data-mce-bogus]{display:none!important}.mce-content-body .mce-visual-caret{display:none!important}.mce-content-body .mce-edit-focus,.mce-content-body :focus,.mce-content-body [data-mce-selected]{outline:0!important}}.mce-content-body div.mce-resizehandle{background-color:#4099ff;border-color:#4099ff;border-style:solid;border-width:1px;box-sizing:border-box;height:10px;position:absolute;width:10px;z-index:1298}.mce-content-body div.mce-resizehandle:hover{background-color:#4099ff}.mce-content-body div.mce-resizehandle:first-of-type{cursor:nwse-resize}.mce-content-body div.mce-resizehandle:nth-of-type(2){cursor:nesw-resize}.mce-content-body div.mce-resizehandle:nth-of-type(3){cursor:nwse-resize}.mce-content-body div.mce-resizehandle:nth-of-type(4){cursor:nesw-resize}.mce-content-body .mce-resize-backdrop{z-index:10000}.mce-content-body .mce-clonedresizable{cursor:default;opacity:.5;outline:1px dashed black;position:absolute;z-index:10001}.mce-content-body .mce-clonedresizable.mce-resizetable-columns td,.mce-content-body .mce-clonedresizable.mce-resizetable-columns th{border:0}.mce-content-body .mce-resize-helper{background:#555;background:rgba(0 0 0%);border:1px;border-radius:3px;color:#fff;display:none;font-family:sans-serif;font-size:12px;line-height:14px;margin:5px 10px;padding:5px;position:absolute;white-space:nowrap;z-index:10002}.tox-rtc-user-selection{position:relative}.tox-rtc-user-cursor{bottom:0;cursor:default;position:absolute;top:0;width:2px}.tox-rtc-user-cursor::before{background-color:inherit;border-radius:50%;content:'';display:block;height:8px;position:absolute;right:-3px;top:-3px;width:8px}.tox-rtc-user-cursor:hover::after{background-color:inherit;border-radius:100px;box-sizing:border-box;color:#fff;content:attr(data-user);display:block;font-size:12px;font-weight:700;left:-5px;min-height:8px;min-width:8px;padding:0 12px;position:absolute;top:-11px;white-space:nowrap;z-index:1000}.tox-rtc-user-selection--1 .tox-rtc-user-cursor{background-color:#2dc26b}.tox-rtc-user-selection--2 .tox-rtc-user-cursor{background-color:#e03e2d}.tox-rtc-user-selection--3 .tox-rtc-user-cursor{background-color:#f1c40f}.tox-rtc-user-selection--4 .tox-rtc-user-cursor{background-color:#3598db}.tox-rtc-user-selection--5 .tox-rtc-user-cursor{background-color:#b96ad9}.tox-rtc-user-selection--6 .tox-rtc-user-cursor{background-color:#e67e23}.tox-rtc-user-selection--7 .tox-rtc-user-cursor{background-color:#aaa69d}.tox-rtc-user-selection--8 .tox-rtc-user-cursor{background-color:#f368e0}.tox-rtc-remote-image{background:#eaeaea url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A\") no-repeat center center;border:1px solid #ccc;min-height:240px;min-width:320px}.mce-match-marker{background:#aaa;color:#fff}.mce-match-marker-selected{background:#39f;color:#fff}.mce-match-marker-selected::selection{background:#39f;color:#fff}.mce-content-body audio[data-mce-selected],.mce-content-body details[data-mce-selected],.mce-content-body embed[data-mce-selected],.mce-content-body img[data-mce-selected],.mce-content-body object[data-mce-selected],.mce-content-body table[data-mce-selected],.mce-content-body video[data-mce-selected]{outline:3px solid #b4d7ff}.mce-content-body hr[data-mce-selected]{outline:3px solid #b4d7ff;outline-offset:1px}.mce-content-body [contentEditable=false] [contentEditable=true]:focus{outline:3px solid #b4d7ff}.mce-content-body [contentEditable=false] [contentEditable=true]:hover{outline:3px solid #b4d7ff}.mce-content-body [contentEditable=false][data-mce-selected]{cursor:not-allowed;outline:3px solid #b4d7ff}.mce-content-body [data-mce-selected=inline-boundary]{background-color:#b4d7ff}.mce-content-body .mce-edit-focus{outline:3px solid #b4d7ff}.mce-content-body td[data-mce-selected],.mce-content-body th[data-mce-selected]{position:relative}.mce-content-body td[data-mce-selected]::selection,.mce-content-body th[data-mce-selected]::selection{background:0 0}.mce-content-body td[data-mce-selected] *,.mce-content-body th[data-mce-selected] *{outline:0;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.mce-content-body td[data-mce-selected]::after,.mce-content-body th[data-mce-selected]::after{background-color:rgba(180,215,255,.7);border:1px solid rgba(180,215,255,.7);bottom:-1px;content:'';left:-1px;mix-blend-mode:multiply;position:absolute;right:-1px;top:-1px}.mce-content-body img[data-mce-selected]::selection{background:0 0}.ephox-snooker-resizer-bar{background-color:#b4d7ff;opacity:0;-webkit-user-select:none;user-select:none}.ephox-snooker-resizer-cols{cursor:col-resize}.ephox-snooker-resizer-rows{cursor:row-resize}.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging{opacity:1}.mce-spellchecker-word{background-image:url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A\");background-position:0 calc(100% + 1px);background-repeat:repeat-x;background-size:auto 6px;cursor:default;height:2rem}.mce-spellchecker-grammar{background-image:url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A\");background-position:0 calc(100% + 1px);background-repeat:repeat-x;background-size:auto 6px;cursor:default}.tox-suggestededits__annotation--added,.tox-suggestededits__annotation--modified,.tox-suggestededits__annotation--removed{-webkit-text-decoration:none;text-decoration:none}.tox-suggestededits__annotation--added__highlight{background-color:rgba(120,171,70,.2);-webkit-text-decoration:underline;text-decoration:underline}.tox-suggestededits__annotation--added__selected{background-color:rgba(120,171,70,.2);box-shadow:0 -2px 0 0 #006ce7 inset,0 -2px 0 0 #006ce7;-webkit-text-decoration:none;text-decoration:none}.tox-suggestededits__annotation--modified__highlight{background-color:rgba(0,108,231,.2);-webkit-text-decoration:underline;text-decoration:underline}.tox-suggestededits__annotation--modified__selected{background-color:rgba(0,108,231,.2);box-shadow:0 -2px 0 0 #006ce7 inset,0 -2px 0 0 #006ce7;-webkit-text-decoration:none;text-decoration:none}.tox-suggestededits__annotation--removed__highlight{background-color:rgba(204,0,0,.2);-webkit-text-decoration:line-through;text-decoration:line-through}.tox-suggestededits__annotation--removed__selected{background-color:rgba(204,0,0,.2);box-shadow:0 -2px 0 0 #006ce7 inset,0 -2px 0 0 #006ce7;-webkit-text-decoration:line-through;text-decoration:line-through}.tox-suggestededits__annotation--added.tox-suggestededits__annotation--added__hidden,.tox-suggestededits__annotation--modified.tox-suggestededits__annotation--modified__hidden,.tox-suggestededits__annotation--removed.tox-suggestededits__annotation--removed__hidden{display:none;-webkit-text-decoration:none;text-decoration:none}:has(> div > iframe).tox-suggestededits__annotation--added,:has(> div > iframe).tox-suggestededits__annotation--modified,:has(> div > iframe).tox-suggestededits__annotation--removed{padding:7px;margin:5px}iframe.tox-suggestededits__annotation--added__highlight,img.tox-suggestededits__annotation--added__highlight,video.tox-suggestededits__annotation--added__highlight{outline:.25em solid rgba(120,171,70,.2);padding:.25em}iframe.tox-suggestededits__annotation--added__selected,img.tox-suggestededits__annotation--added__selected,video.tox-suggestededits__annotation--added__selected{border:.25em solid rgba(120,171,70,.2);outline:.125em solid #006ce7;padding:0}iframe.tox-suggestededits__annotation--modified__highlight,img.tox-suggestededits__annotation--modified__highlight,video.tox-suggestededits__annotation--modified__highlight{outline:.25em solid rgba(0,108,231,.2);padding:.25em}iframe.tox-suggestededits__annotation--modified__selected,img.tox-suggestededits__annotation--modified__selected,video.tox-suggestededits__annotation--modified__selected{border:.25em solid rgba(0,108,231,.2);outline:.125em solid #006ce7;padding:0}iframe.tox-suggestededits__annotation--removed__highlight,img.tox-suggestededits__annotation--removed__highlight,video.tox-suggestededits__annotation--removed__highlight{outline:.25em solid rgba(204,0,0,.2);padding:.25em}iframe.tox-suggestededits__annotation--removed__selected,img.tox-suggestededits__annotation--removed__selected,video.tox-suggestededits__annotation--removed__selected{border:.25em solid rgba(204,0,0,.2);outline:.125em solid #006ce7;padding:0}div.tox-suggestededits__annotation:has(> hr){padding:.25em}div.tox-suggestededits__annotation--removed__highlight>hr{border-color:rgba(0,0,0,.2)}div.tox-suggestededits__annotation--added__highlight>hr{border-color:rgba(0,0,0,.2)}.mce-pagebreak.tox-suggestededits__annotation--added__selected,.mce-pagebreak.tox-suggestededits__annotation--modified__selected,.mce-pagebreak.tox-suggestededits__annotation--removed__selected{border:1px dashed #aaa;box-shadow:none}.mce-pagebreak.tox-suggestededits__annotation--added__highlight,.mce-pagebreak.tox-suggestededits__annotation--modified__highlight,.mce-pagebreak.tox-suggestededits__annotation--removed__highlight{padding:0}.mce-toc{border:1px solid gray}.mce-toc h2{margin:4px}.mce-toc ul>li{list-style-type:none}[data-mce-block]{display:block}.mce-item-table:not([border]),.mce-item-table:not([border]) caption,.mce-item-table:not([border]) td,.mce-item-table:not([border]) th,.mce-item-table[border=\"0\"],.mce-item-table[border=\"0\"] caption,.mce-item-table[border=\"0\"] td,.mce-item-table[border=\"0\"] th,table[style*=\"border-width: 0px\"],table[style*=\"border-width: 0px\"] caption,table[style*=\"border-width: 0px\"] td,table[style*=\"border-width: 0px\"] th{border:1px dashed #bbb}.tox-uc-loading-background{width:100%;height:100%;background:rgba(255,255,255,.5)}.tox-uc-loading-spinner-wrapper{width:100%;height:100%;display:flex;justify-content:center;align-items:center}.tox-uc-loading-spinner{width:min(24px,30%);aspect-ratio:1;border-radius:50%;border:3px solid #006ce7;border-bottom-color:transparent;animation:tox-rotation 1s linear infinite}.tox-uc-video{display:block;position:relative;margin:16px 0 16px 0}.tox-uc-video:not([data-mce-selected]):after{content:\"\";position:absolute;top:0;left:0;width:100%;height:100%}.tox-uploadcare-placeholder{all:initial;display:inline-block;position:relative;width:min(100%,600px);height:80px;--tox-uploadcare-placeholder--content-cursor:auto!important;--tox-uploadcare-placeholder--content-color:rgba(34, 47, 62, 0.7);--tox-uploadcare-placeholder--content-background-color:#fff;--tox-uploadcare-placeholder--content-border:2px solid #e3e3e3;--tox-uploadcare-placeholder--content-font-family:monospace,sans-serif;--tox-uploadcare-placeholder--content-height:100%;--tox-uploadcare-placeholder--content-width:100%;--tox-uploadcare-placeholder--content-display:inline-flex;--tox-uploadcare-placeholder--content-align-items:center;--tox-uploadcare-placeholder--content-justify-content:center;--tox-uploadcare-placeholder--content-gap:8px;--tox-uploadcare-placeholder--icon-fill:rgba(34, 47, 62, 0.7);--tox-uploadcare-placeholder--icon-min-width:24px;--tox-uc-loading-spinner-wrapper-display-none:none;--tox-uc-loading-spinner-wrapper-display:flex;--tox-uc-loading-spinner-wrapper-position:absolute;--tox-uc-loading-spinner-wrapper-top:0;--tox-uc-loading-spinner-wrapper-left:0;--tox-uc-loading-spinner-wrapper-width:100%;--tox-uc-loading-spinner-wrapper-height:100%;--tox-uc-loading-spinner-wrapper-justify-content:center;--tox-uc-loading-spinner-wrapper-align-items:center;--tox-uc-loading-spinner-aspect-ratio:1/1;--tox-uc-loading-spinner-width:min(24px, 30%);--tox-uc-loading-spinner-border-radius:50%;--tox-uc-loading-spinner-border:3px solid #006ce7;--tox-uc-loading-spinner-border-bottom-color:transparent;--tox-uc-loading-spinner-animation:tox-rotation 1s linear infinite}@media print{tiny-uploadcare-placeholder{display:none!important}}.mce-visualblocks address,.mce-visualblocks article,.mce-visualblocks aside,.mce-visualblocks blockquote,.mce-visualblocks div:not([data-mce-bogus]),.mce-visualblocks dl,.mce-visualblocks figcaption,.mce-visualblocks figure,.mce-visualblocks h1,.mce-visualblocks h2,.mce-visualblocks h3,.mce-visualblocks h4,.mce-visualblocks h5,.mce-visualblocks h6,.mce-visualblocks hgroup,.mce-visualblocks ol,.mce-visualblocks p,.mce-visualblocks pre,.mce-visualblocks section,.mce-visualblocks ul{background-repeat:no-repeat;border:1px dashed #bbb;margin-left:3px;padding-top:10px}.mce-visualblocks p{background-image:url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7)}.mce-visualblocks h1{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==)}.mce-visualblocks h2{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==)}.mce-visualblocks h3{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7)}.mce-visualblocks h4{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==)}.mce-visualblocks h5{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==)}.mce-visualblocks h6{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==)}.mce-visualblocks div:not([data-mce-bogus]){background-image:url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7)}.mce-visualblocks section{background-image:url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=)}.mce-visualblocks article{background-image:url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7)}.mce-visualblocks blockquote{background-image:url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7)}.mce-visualblocks address{background-image:url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=)}.mce-visualblocks pre{background-image:url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==)}.mce-visualblocks figure{background-image:url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7)}.mce-visualblocks figcaption{border:1px dashed #bbb}.mce-visualblocks hgroup{background-image:url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7)}.mce-visualblocks aside{background-image:url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=)}.mce-visualblocks ul{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==)}.mce-visualblocks ol{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==)}.mce-visualblocks dl{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==)}.mce-visualblocks:not([dir=rtl]) address,.mce-visualblocks:not([dir=rtl]) article,.mce-visualblocks:not([dir=rtl]) aside,.mce-visualblocks:not([dir=rtl]) blockquote,.mce-visualblocks:not([dir=rtl]) div:not([data-mce-bogus]),.mce-visualblocks:not([dir=rtl]) dl,.mce-visualblocks:not([dir=rtl]) figcaption,.mce-visualblocks:not([dir=rtl]) figure,.mce-visualblocks:not([dir=rtl]) h1,.mce-visualblocks:not([dir=rtl]) h2,.mce-visualblocks:not([dir=rtl]) h3,.mce-visualblocks:not([dir=rtl]) h4,.mce-visualblocks:not([dir=rtl]) h5,.mce-visualblocks:not([dir=rtl]) h6,.mce-visualblocks:not([dir=rtl]) hgroup,.mce-visualblocks:not([dir=rtl]) ol,.mce-visualblocks:not([dir=rtl]) p,.mce-visualblocks:not([dir=rtl]) pre,.mce-visualblocks:not([dir=rtl]) section,.mce-visualblocks:not([dir=rtl]) ul{margin-left:3px}.mce-visualblocks[dir=rtl] address,.mce-visualblocks[dir=rtl] article,.mce-visualblocks[dir=rtl] aside,.mce-visualblocks[dir=rtl] blockquote,.mce-visualblocks[dir=rtl] div:not([data-mce-bogus]),.mce-visualblocks[dir=rtl] dl,.mce-visualblocks[dir=rtl] figcaption,.mce-visualblocks[dir=rtl] figure,.mce-visualblocks[dir=rtl] h1,.mce-visualblocks[dir=rtl] h2,.mce-visualblocks[dir=rtl] h3,.mce-visualblocks[dir=rtl] h4,.mce-visualblocks[dir=rtl] h5,.mce-visualblocks[dir=rtl] h6,.mce-visualblocks[dir=rtl] hgroup,.mce-visualblocks[dir=rtl] ol,.mce-visualblocks[dir=rtl] p,.mce-visualblocks[dir=rtl] pre,.mce-visualblocks[dir=rtl] section,.mce-visualblocks[dir=rtl] ul{background-position-x:right;margin-right:3px}.mce-nbsp,.mce-shy{background:#aaa}.mce-shy::after{content:'-'}[data-ephox-foam-a11y-violation]{outline:2px solid;position:relative}[data-ephox-foam-a11y-violation][data-ephox-foam-a11y-current-violation]{outline-width:4px;transition:outline-width .1s ease-in-out,background-color .1s ease-in-out;box-shadow:0 0 0 99999px #222f3e80;z-index:1}[data-ephox-foam-a11y-violation][data-ephox-foam-a11y-severity-info]{outline-color:#006ce7}[data-ephox-foam-a11y-violation][data-ephox-foam-a11y-severity-warn]{outline-color:#fc0}[data-ephox-foam-a11y-violation][data-ephox-foam-a11y-severity-error]{outline-color:#c00}[data-ephox-foam-a11y-violation][data-ephox-foam-a11y-current-violation=info]{outline-color:#006ce7;background-color:#e6f0fd}[data-ephox-foam-a11y-violation][data-ephox-foam-a11y-current-violation=warning]{outline-color:#fc0;background-color:#fffae6}[data-ephox-foam-a11y-violation][data-ephox-foam-a11y-current-violation=error]{outline-color:#c00;background-color:#fae6e6}[data-ephox-foam-a11y-violation][data-ephox-foam-a11y-current-violation]:is(td,th,tr){position:static}`)"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/skins/ui/oxide/content.js",
    "content": "/* This file is bundled with the code from the following third party libraries */\n\n/**\n * http://prismjs.com/\n * Dracula Theme originally by Zeno Rocha [@zenorocha]\n * https://draculatheme.com/\n *\n * Ported for PrismJS by Albert Vallverdu [@byverdu]\n */\ntinymce.Resource.add('ui/oxide/content.css', `@keyframes tox-rotation{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.mce-content-body .mce-item-anchor{background:transparent url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A\") no-repeat center}.mce-content-body .mce-item-anchor:empty{cursor:default;display:inline-block;height:12px!important;padding:0 2px;-webkit-user-modify:read-only;-moz-user-modify:read-only;-webkit-user-select:all;user-select:all;width:8px!important}.mce-content-body .mce-item-anchor:not(:empty){background-position-x:2px;display:inline-block;padding-left:12px}.mce-content-body .mce-item-anchor[data-mce-selected]{outline-offset:1px}.tox-comments-visible .tox-comment[contenteditable=false]:not([data-mce-selected]),.tox-comments-visible span.tox-comment img:not([data-mce-selected]),.tox-comments-visible span.tox-comment span.mce-preview-object:not([data-mce-selected]),.tox-comments-visible span.tox-comment>audio:not([data-mce-selected]),.tox-comments-visible span.tox-comment>video:not([data-mce-selected]){outline:3px solid #ffe796}.tox-comments-visible .tox-comment[contenteditable=false][data-mce-annotation-active=true]:not([data-mce-selected]){outline:3px solid #ffcf30}.tox-comments-visible span.tox-comment:not([data-mce-selected]){background-color:#ffe796;outline:0}.tox-comments-visible span.tox-comment[data-mce-annotation-active=true]:not([data-mce-selected=inline-boundary]){background-color:#ffcf30}.tox-comments-visible span.tox-comment[data-mce-selected]{background-color:#ffcf30;border-radius:3px;box-shadow:0 0 0 2px #006ce7}.tox-comments-visible span.tox-comment[data-mce-selected]:has(img[data-mce-selected],> audio[data-mce-selected],> video[data-mce-selected],span.mce-preview-object[data-mce-selected]){box-shadow:none}.tox-comments-visible span.tox-comment[data-mce-selected] img:not([data-mce-selected]),.tox-comments-visible span.tox-comment[data-mce-selected] span.mce-preview-object:not([data-mce-selected]),.tox-comments-visible span.tox-comment[data-mce-selected]>audio:not([data-mce-selected]),.tox-comments-visible span.tox-comment[data-mce-selected]>video:not([data-mce-selected]){box-shadow:0 0 0 5px #006ce7}.tox-comments-visible span.tox-comment[data-mce-annotation-active=true] img:not([data-mce-selected]),.tox-comments-visible span.tox-comment[data-mce-annotation-active=true] span.mce-preview-object:not([data-mce-selected]),.tox-comments-visible span.tox-comment[data-mce-annotation-active=true]>audio:not([data-mce-selected]),.tox-comments-visible span.tox-comment[data-mce-annotation-active=true]>video:not([data-mce-selected]){outline:3px solid #ffcf30}.tox-checklist>li:not(.tox-checklist--hidden){list-style:none;margin:.25em 0}.tox-checklist>li:not(.tox-checklist--hidden)::before{content:url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A\");cursor:pointer;height:1em;margin-left:-1.5em;margin-top:.125em;position:absolute;width:1em}.tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before{content:url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A\")}[dir=rtl] .tox-checklist>li:not(.tox-checklist--hidden)::before{margin-left:0;margin-right:-1.5em}code[class*=language-],pre[class*=language-]{color:#000;background:0 0;text-shadow:0 1px #fff;font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;tab-size:4;hyphens:none}code[class*=language-] ::selection,code[class*=language-]::selection,pre[class*=language-] ::selection,pre[class*=language-]::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#f5f2f0}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#708090}.token.punctuation{color:#999}.token.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#905}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#690}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url{color:#9a6e3a;background:hsla(0,0%,100%,.5)}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.class-name,.token.function{color:#dd4a68}.token.important,.token.regex,.token.variable{color:#e90}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.mce-content-body{overflow-wrap:break-word;word-wrap:break-word}.mce-content-body .mce-visual-caret{background-color:#000;background-color:currentColor;position:absolute}.mce-content-body .mce-visual-caret-hidden{display:none}.mce-content-body [data-mce-caret]{left:-1000px;margin:0;padding:0;position:absolute;right:auto;top:0}.mce-content-body .mce-offscreen-selection{left:-2000000px;max-width:1000000px;position:absolute}.mce-content-body [contentEditable=false]{cursor:default}.mce-content-body [contentEditable=true]{cursor:text}.tox-cursor-format-painter{cursor:url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A\"),default}div.mce-footnotes hr{margin-inline:0 auto;width:25%}div.mce-footnotes li>a.mce-footnotes-backlink{-webkit-text-decoration:none;text-decoration:none}@media print{sup.mce-footnote a{color:#000;-webkit-text-decoration:none;text-decoration:none}div.mce-footnotes{page-break-inside:avoid;break-inside:avoid;width:100%}div.mce-footnotes li>a.mce-footnotes-backlink{display:none}}tiny-math-block{display:flex;justify-content:center;margin:16px 0 16px 0}tiny-math-inline{display:inline-block}.mce-content-body figure.align-left{float:left}.mce-content-body figure.align-right{float:right}.mce-content-body figure.image.align-center{display:table;margin-left:auto;margin-right:auto}.mce-preview-object{border:1px solid gray;display:inline-block;line-height:0;margin:0 2px;position:relative}.mce-preview-object .mce-shim{background:url(\"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\");height:100%;left:0;position:absolute;top:0;width:100%}.mce-preview-object[data-mce-selected=\"2\"] .mce-shim{display:none}.mce-content-body .mce-mergetag{cursor:default!important;-webkit-user-select:none;user-select:none}.mce-content-body .mce-mergetag:hover{background-color:rgba(0,108,231,.1)}.mce-content-body .mce-mergetag-affix{background-color:rgba(0,108,231,.1);color:#006ce7}.mce-object{background:transparent url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A\") no-repeat center;border:1px dashed #aaa}.mce-pagebreak{border:1px dashed #aaa;cursor:default;display:block;height:5px;margin-top:15px;page-break-before:always;width:100%}@media print{.mce-pagebreak{border:0}}.tiny-pageembed .mce-shim{background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);height:100%;left:0;position:absolute;top:0;width:100%}.tiny-pageembed[data-mce-selected=\"2\"] .mce-shim{display:none}.tiny-pageembed{display:inline-block;position:relative}.tiny-pageembed--16by9,.tiny-pageembed--1by1,.tiny-pageembed--21by9,.tiny-pageembed--4by3{display:block;overflow:hidden;padding:0;position:relative;width:100%}.tiny-pageembed--21by9{padding-top:42.857143%}.tiny-pageembed--16by9{padding-top:56.25%}.tiny-pageembed--4by3{padding-top:75%}.tiny-pageembed--1by1{padding-top:100%}.tiny-pageembed--16by9 iframe,.tiny-pageembed--1by1 iframe,.tiny-pageembed--21by9 iframe,.tiny-pageembed--4by3 iframe{border:0;height:100%;left:0;position:absolute;top:0;width:100%}.mce-content-body[data-mce-placeholder]{position:relative}.mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before{color:rgba(34,47,62,.7);content:attr(data-mce-placeholder);position:absolute}@media (forced-colors:active){.mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before{color:highlight;filter:brightness(30%);z-index:-1}}.mce-content-body:not([dir=rtl])[data-mce-placeholder]:not(.mce-visualblocks)::before{left:1px}.mce-content-body[dir=rtl][data-mce-placeholder]:not(.mce-visualblocks)::before{right:1px}@media print{.mce-content-body .mce-placeholder,.mce-content-body [data-mce-bogus=all],.mce-content-body [data-mce-bogus]{display:none!important}.mce-content-body .mce-visual-caret{display:none!important}.mce-content-body .mce-edit-focus,.mce-content-body :focus,.mce-content-body [data-mce-selected]{outline:0!important}}.mce-content-body div.mce-resizehandle{background-color:#4099ff;border-color:#4099ff;border-style:solid;border-width:1px;box-sizing:border-box;height:10px;position:absolute;width:10px;z-index:1298}.mce-content-body div.mce-resizehandle:hover{background-color:#4099ff}.mce-content-body div.mce-resizehandle:first-of-type{cursor:nwse-resize}.mce-content-body div.mce-resizehandle:nth-of-type(2){cursor:nesw-resize}.mce-content-body div.mce-resizehandle:nth-of-type(3){cursor:nwse-resize}.mce-content-body div.mce-resizehandle:nth-of-type(4){cursor:nesw-resize}.mce-content-body .mce-resize-backdrop{z-index:10000}.mce-content-body .mce-clonedresizable{cursor:default;opacity:.5;outline:1px dashed black;position:absolute;z-index:10001}.mce-content-body .mce-clonedresizable.mce-resizetable-columns td,.mce-content-body .mce-clonedresizable.mce-resizetable-columns th{border:0}.mce-content-body .mce-resize-helper{background:#555;background:rgba(0 0 0%);border:1px;border-radius:3px;color:#fff;display:none;font-family:sans-serif;font-size:12px;line-height:14px;margin:5px 10px;padding:5px;position:absolute;white-space:nowrap;z-index:10002}.tox-rtc-user-selection{position:relative}.tox-rtc-user-cursor{bottom:0;cursor:default;position:absolute;top:0;width:2px}.tox-rtc-user-cursor::before{background-color:inherit;border-radius:50%;content:'';display:block;height:8px;position:absolute;right:-3px;top:-3px;width:8px}.tox-rtc-user-cursor:hover::after{background-color:inherit;border-radius:100px;box-sizing:border-box;color:#fff;content:attr(data-user);display:block;font-size:12px;font-weight:700;left:-5px;min-height:8px;min-width:8px;padding:0 12px;position:absolute;top:-11px;white-space:nowrap;z-index:1000}.tox-rtc-user-selection--1 .tox-rtc-user-cursor{background-color:#2dc26b}.tox-rtc-user-selection--2 .tox-rtc-user-cursor{background-color:#e03e2d}.tox-rtc-user-selection--3 .tox-rtc-user-cursor{background-color:#f1c40f}.tox-rtc-user-selection--4 .tox-rtc-user-cursor{background-color:#3598db}.tox-rtc-user-selection--5 .tox-rtc-user-cursor{background-color:#b96ad9}.tox-rtc-user-selection--6 .tox-rtc-user-cursor{background-color:#e67e23}.tox-rtc-user-selection--7 .tox-rtc-user-cursor{background-color:#aaa69d}.tox-rtc-user-selection--8 .tox-rtc-user-cursor{background-color:#f368e0}.tox-rtc-remote-image{background:#eaeaea url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A\") no-repeat center center;border:1px solid #ccc;min-height:240px;min-width:320px}.mce-match-marker{background:#aaa;color:#fff}.mce-match-marker-selected{background:#39f;color:#fff}.mce-match-marker-selected::selection{background:#39f;color:#fff}.mce-content-body audio[data-mce-selected],.mce-content-body details[data-mce-selected],.mce-content-body embed[data-mce-selected],.mce-content-body img[data-mce-selected],.mce-content-body object[data-mce-selected],.mce-content-body table[data-mce-selected],.mce-content-body video[data-mce-selected]{outline:3px solid #b4d7ff}.mce-content-body hr[data-mce-selected]{outline:3px solid #b4d7ff;outline-offset:1px}.mce-content-body [contentEditable=false] [contentEditable=true]:focus{outline:3px solid #b4d7ff}.mce-content-body [contentEditable=false] [contentEditable=true]:hover{outline:3px solid #b4d7ff}.mce-content-body [contentEditable=false][data-mce-selected]{cursor:not-allowed;outline:3px solid #b4d7ff}.mce-content-body [data-mce-selected=inline-boundary]{background-color:#b4d7ff}.mce-content-body .mce-edit-focus{outline:3px solid #b4d7ff}.mce-content-body td[data-mce-selected],.mce-content-body th[data-mce-selected]{position:relative}.mce-content-body td[data-mce-selected]::selection,.mce-content-body th[data-mce-selected]::selection{background:0 0}.mce-content-body td[data-mce-selected] *,.mce-content-body th[data-mce-selected] *{outline:0;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.mce-content-body td[data-mce-selected]::after,.mce-content-body th[data-mce-selected]::after{background-color:rgba(180,215,255,.7);border:1px solid rgba(180,215,255,.7);bottom:-1px;content:'';left:-1px;mix-blend-mode:multiply;position:absolute;right:-1px;top:-1px}.mce-content-body img[data-mce-selected]::selection{background:0 0}.ephox-snooker-resizer-bar{background-color:#b4d7ff;opacity:0;-webkit-user-select:none;user-select:none}.ephox-snooker-resizer-cols{cursor:col-resize}.ephox-snooker-resizer-rows{cursor:row-resize}.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging{opacity:1}.mce-spellchecker-word{background-image:url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A\");background-position:0 calc(100% + 1px);background-repeat:repeat-x;background-size:auto 6px;cursor:default;height:2rem}.mce-spellchecker-grammar{background-image:url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A\");background-position:0 calc(100% + 1px);background-repeat:repeat-x;background-size:auto 6px;cursor:default}.tox-suggestededits__annotation--added,.tox-suggestededits__annotation--modified,.tox-suggestededits__annotation--removed{-webkit-text-decoration:none;text-decoration:none}.tox-suggestededits__annotation--added__highlight{background-color:rgba(120,171,70,.2);-webkit-text-decoration:underline;text-decoration:underline}.tox-suggestededits__annotation--added__selected{background-color:rgba(120,171,70,.2);box-shadow:0 -2px 0 0 #006ce7 inset,0 -2px 0 0 #006ce7;-webkit-text-decoration:none;text-decoration:none}.tox-suggestededits__annotation--modified__highlight{background-color:rgba(0,108,231,.2);-webkit-text-decoration:underline;text-decoration:underline}.tox-suggestededits__annotation--modified__selected{background-color:rgba(0,108,231,.2);box-shadow:0 -2px 0 0 #006ce7 inset,0 -2px 0 0 #006ce7;-webkit-text-decoration:none;text-decoration:none}.tox-suggestededits__annotation--removed__highlight{background-color:rgba(204,0,0,.2);-webkit-text-decoration:line-through;text-decoration:line-through}.tox-suggestededits__annotation--removed__selected{background-color:rgba(204,0,0,.2);box-shadow:0 -2px 0 0 #006ce7 inset,0 -2px 0 0 #006ce7;-webkit-text-decoration:line-through;text-decoration:line-through}.tox-suggestededits__annotation--added.tox-suggestededits__annotation--added__hidden,.tox-suggestededits__annotation--modified.tox-suggestededits__annotation--modified__hidden,.tox-suggestededits__annotation--removed.tox-suggestededits__annotation--removed__hidden{display:none;-webkit-text-decoration:none;text-decoration:none}:has(> div > iframe).tox-suggestededits__annotation--added,:has(> div > iframe).tox-suggestededits__annotation--modified,:has(> div > iframe).tox-suggestededits__annotation--removed{padding:7px;margin:5px}iframe.tox-suggestededits__annotation--added__highlight,img.tox-suggestededits__annotation--added__highlight,video.tox-suggestededits__annotation--added__highlight{outline:.25em solid rgba(120,171,70,.2);padding:.25em}iframe.tox-suggestededits__annotation--added__selected,img.tox-suggestededits__annotation--added__selected,video.tox-suggestededits__annotation--added__selected{border:.25em solid rgba(120,171,70,.2);outline:.125em solid #006ce7;padding:0}iframe.tox-suggestededits__annotation--modified__highlight,img.tox-suggestededits__annotation--modified__highlight,video.tox-suggestededits__annotation--modified__highlight{outline:.25em solid rgba(0,108,231,.2);padding:.25em}iframe.tox-suggestededits__annotation--modified__selected,img.tox-suggestededits__annotation--modified__selected,video.tox-suggestededits__annotation--modified__selected{border:.25em solid rgba(0,108,231,.2);outline:.125em solid #006ce7;padding:0}iframe.tox-suggestededits__annotation--removed__highlight,img.tox-suggestededits__annotation--removed__highlight,video.tox-suggestededits__annotation--removed__highlight{outline:.25em solid rgba(204,0,0,.2);padding:.25em}iframe.tox-suggestededits__annotation--removed__selected,img.tox-suggestededits__annotation--removed__selected,video.tox-suggestededits__annotation--removed__selected{border:.25em solid rgba(204,0,0,.2);outline:.125em solid #006ce7;padding:0}div.tox-suggestededits__annotation:has(> hr){padding:.25em}div.tox-suggestededits__annotation--removed__highlight>hr{border-color:rgba(0,0,0,.2)}div.tox-suggestededits__annotation--added__highlight>hr{border-color:rgba(0,0,0,.2)}.mce-pagebreak.tox-suggestededits__annotation--added__selected,.mce-pagebreak.tox-suggestededits__annotation--modified__selected,.mce-pagebreak.tox-suggestededits__annotation--removed__selected{border:1px dashed #aaa;box-shadow:none}.mce-pagebreak.tox-suggestededits__annotation--added__highlight,.mce-pagebreak.tox-suggestededits__annotation--modified__highlight,.mce-pagebreak.tox-suggestededits__annotation--removed__highlight{padding:0}.mce-toc{border:1px solid gray}.mce-toc h2{margin:4px}.mce-toc ul>li{list-style-type:none}[data-mce-block]{display:block}.mce-item-table:not([border]),.mce-item-table:not([border]) caption,.mce-item-table:not([border]) td,.mce-item-table:not([border]) th,.mce-item-table[border=\"0\"],.mce-item-table[border=\"0\"] caption,.mce-item-table[border=\"0\"] td,.mce-item-table[border=\"0\"] th,table[style*=\"border-width: 0px\"],table[style*=\"border-width: 0px\"] caption,table[style*=\"border-width: 0px\"] td,table[style*=\"border-width: 0px\"] th{border:1px dashed #bbb}.tox-uc-loading-background{width:100%;height:100%;background:rgba(255,255,255,.5)}.tox-uc-loading-spinner-wrapper{width:100%;height:100%;display:flex;justify-content:center;align-items:center}.tox-uc-loading-spinner{width:min(24px,30%);aspect-ratio:1;border-radius:50%;border:3px solid #006ce7;border-bottom-color:transparent;animation:tox-rotation 1s linear infinite}.tox-uc-video{display:block;position:relative;margin:16px 0 16px 0}.tox-uc-video:not([data-mce-selected]):after{content:\"\";position:absolute;top:0;left:0;width:100%;height:100%}.tox-uploadcare-placeholder{all:initial;display:inline-block;position:relative;width:min(100%,600px);height:80px;--tox-uploadcare-placeholder--content-cursor:auto!important;--tox-uploadcare-placeholder--content-color:rgba(34, 47, 62, 0.7);--tox-uploadcare-placeholder--content-background-color:#fff;--tox-uploadcare-placeholder--content-border:2px solid #e3e3e3;--tox-uploadcare-placeholder--content-font-family:monospace,sans-serif;--tox-uploadcare-placeholder--content-height:100%;--tox-uploadcare-placeholder--content-width:100%;--tox-uploadcare-placeholder--content-display:inline-flex;--tox-uploadcare-placeholder--content-align-items:center;--tox-uploadcare-placeholder--content-justify-content:center;--tox-uploadcare-placeholder--content-gap:8px;--tox-uploadcare-placeholder--icon-fill:rgba(34, 47, 62, 0.7);--tox-uploadcare-placeholder--icon-min-width:24px;--tox-uc-loading-spinner-wrapper-display-none:none;--tox-uc-loading-spinner-wrapper-display:flex;--tox-uc-loading-spinner-wrapper-position:absolute;--tox-uc-loading-spinner-wrapper-top:0;--tox-uc-loading-spinner-wrapper-left:0;--tox-uc-loading-spinner-wrapper-width:100%;--tox-uc-loading-spinner-wrapper-height:100%;--tox-uc-loading-spinner-wrapper-justify-content:center;--tox-uc-loading-spinner-wrapper-align-items:center;--tox-uc-loading-spinner-aspect-ratio:1/1;--tox-uc-loading-spinner-width:min(24px, 30%);--tox-uc-loading-spinner-border-radius:50%;--tox-uc-loading-spinner-border:3px solid #006ce7;--tox-uc-loading-spinner-border-bottom-color:transparent;--tox-uc-loading-spinner-animation:tox-rotation 1s linear infinite}@media print{tiny-uploadcare-placeholder{display:none!important}}.mce-visualblocks address,.mce-visualblocks article,.mce-visualblocks aside,.mce-visualblocks blockquote,.mce-visualblocks div:not([data-mce-bogus]),.mce-visualblocks dl,.mce-visualblocks figcaption,.mce-visualblocks figure,.mce-visualblocks h1,.mce-visualblocks h2,.mce-visualblocks h3,.mce-visualblocks h4,.mce-visualblocks h5,.mce-visualblocks h6,.mce-visualblocks hgroup,.mce-visualblocks ol,.mce-visualblocks p,.mce-visualblocks pre,.mce-visualblocks section,.mce-visualblocks ul{background-repeat:no-repeat;border:1px dashed #bbb;margin-left:3px;padding-top:10px}.mce-visualblocks p{background-image:url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7)}.mce-visualblocks h1{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==)}.mce-visualblocks h2{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==)}.mce-visualblocks h3{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7)}.mce-visualblocks h4{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==)}.mce-visualblocks h5{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==)}.mce-visualblocks h6{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==)}.mce-visualblocks div:not([data-mce-bogus]){background-image:url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7)}.mce-visualblocks section{background-image:url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=)}.mce-visualblocks article{background-image:url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7)}.mce-visualblocks blockquote{background-image:url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7)}.mce-visualblocks address{background-image:url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=)}.mce-visualblocks pre{background-image:url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==)}.mce-visualblocks figure{background-image:url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7)}.mce-visualblocks figcaption{border:1px dashed #bbb}.mce-visualblocks hgroup{background-image:url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7)}.mce-visualblocks aside{background-image:url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=)}.mce-visualblocks ul{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==)}.mce-visualblocks ol{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==)}.mce-visualblocks dl{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==)}.mce-visualblocks:not([dir=rtl]) address,.mce-visualblocks:not([dir=rtl]) article,.mce-visualblocks:not([dir=rtl]) aside,.mce-visualblocks:not([dir=rtl]) blockquote,.mce-visualblocks:not([dir=rtl]) div:not([data-mce-bogus]),.mce-visualblocks:not([dir=rtl]) dl,.mce-visualblocks:not([dir=rtl]) figcaption,.mce-visualblocks:not([dir=rtl]) figure,.mce-visualblocks:not([dir=rtl]) h1,.mce-visualblocks:not([dir=rtl]) h2,.mce-visualblocks:not([dir=rtl]) h3,.mce-visualblocks:not([dir=rtl]) h4,.mce-visualblocks:not([dir=rtl]) h5,.mce-visualblocks:not([dir=rtl]) h6,.mce-visualblocks:not([dir=rtl]) hgroup,.mce-visualblocks:not([dir=rtl]) ol,.mce-visualblocks:not([dir=rtl]) p,.mce-visualblocks:not([dir=rtl]) pre,.mce-visualblocks:not([dir=rtl]) section,.mce-visualblocks:not([dir=rtl]) ul{margin-left:3px}.mce-visualblocks[dir=rtl] address,.mce-visualblocks[dir=rtl] article,.mce-visualblocks[dir=rtl] aside,.mce-visualblocks[dir=rtl] blockquote,.mce-visualblocks[dir=rtl] div:not([data-mce-bogus]),.mce-visualblocks[dir=rtl] dl,.mce-visualblocks[dir=rtl] figcaption,.mce-visualblocks[dir=rtl] figure,.mce-visualblocks[dir=rtl] h1,.mce-visualblocks[dir=rtl] h2,.mce-visualblocks[dir=rtl] h3,.mce-visualblocks[dir=rtl] h4,.mce-visualblocks[dir=rtl] h5,.mce-visualblocks[dir=rtl] h6,.mce-visualblocks[dir=rtl] hgroup,.mce-visualblocks[dir=rtl] ol,.mce-visualblocks[dir=rtl] p,.mce-visualblocks[dir=rtl] pre,.mce-visualblocks[dir=rtl] section,.mce-visualblocks[dir=rtl] ul{background-position-x:right;margin-right:3px}.mce-nbsp,.mce-shy{background:#aaa}.mce-shy::after{content:'-'}[data-ephox-foam-a11y-violation]{outline:2px solid;position:relative}[data-ephox-foam-a11y-violation][data-ephox-foam-a11y-current-violation]{outline-width:4px;transition:outline-width .1s ease-in-out,background-color .1s ease-in-out;box-shadow:0 0 0 99999px #222f3e80;z-index:1}[data-ephox-foam-a11y-violation][data-ephox-foam-a11y-severity-info]{outline-color:#006ce7}[data-ephox-foam-a11y-violation][data-ephox-foam-a11y-severity-warn]{outline-color:#fc0}[data-ephox-foam-a11y-violation][data-ephox-foam-a11y-severity-error]{outline-color:#c00}[data-ephox-foam-a11y-violation][data-ephox-foam-a11y-current-violation=info]{outline-color:#006ce7;background-color:#e6f0fd}[data-ephox-foam-a11y-violation][data-ephox-foam-a11y-current-violation=warning]{outline-color:#fc0;background-color:#fffae6}[data-ephox-foam-a11y-violation][data-ephox-foam-a11y-current-violation=error]{outline-color:#c00;background-color:#fae6e6}[data-ephox-foam-a11y-violation][data-ephox-foam-a11y-current-violation]:is(td,th,tr){position:static}body{font-family:sans-serif}table{border-collapse:collapse}`)"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/skins/ui/oxide/skin.js",
    "content": "tinymce.Resource.add('ui/oxide/skin.css', `.tox{box-shadow:none;box-sizing:content-box;cursor:auto;font-style:normal;font-weight:400;line-height:normal;-webkit-tap-highlight-color:transparent;-webkit-text-decoration:none;text-decoration:none;text-shadow:none;text-transform:none;vertical-align:initial;white-space:normal}.tox :not(svg):not(rect){box-sizing:inherit;color:inherit;cursor:inherit;direction:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;line-height:inherit;-webkit-tap-highlight-color:inherit;text-align:inherit;text-decoration:inherit;text-shadow:inherit;text-transform:inherit;vertical-align:inherit;white-space:inherit}.tox :not(svg):not(rect){background:0 0;border:0;box-shadow:none;float:none;height:auto;margin:0;max-width:none;outline:0;padding:0;position:static;width:auto}.tox:not([dir=rtl]){direction:ltr;text-align:left}.tox[dir=rtl]{direction:rtl;text-align:right}.tox-tinymce :focus,.tox-tinymce-aux :focus{outline:0}button::-moz-focus-inner{border:0}@keyframes tox-rotation{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.tox{color:var(--tox-private-color-black,#222f3e);font-family:var(--tox-private-font-stack, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen-Sans, Ubuntu, Cantarell, \"Helvetica Neue\", sans-serif);font-size:var(--tox-private-font-size-base, 16px)}.tox-tinymce{border:2px solid #eee;border-radius:10px;box-shadow:none;box-sizing:border-box;display:flex;flex-direction:column;font-family:var(--tox-private-font-stack, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen-Sans, Ubuntu, Cantarell, \"Helvetica Neue\", sans-serif);overflow:hidden;position:relative;visibility:inherit!important}.tox.tox-tinymce-inline{border:none;box-shadow:none;overflow:initial}.tox.tox-tinymce-inline .tox-editor-container{overflow:initial}.tox.tox-tinymce-inline .tox-editor-header{background-color:#fff;border:2px solid #eee;border-radius:10px;box-shadow:none;overflow:hidden}.tox-tinymce-aux{font-family:var(--tox-private-font-stack, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen-Sans, Ubuntu, Cantarell, \"Helvetica Neue\", sans-serif);z-index:var(--tox-private-z-index-sink,1300)}.tox[dir=rtl] .tox-icon--flip svg{transform:rotateY(180deg)}.tox .tox-editor-container{display:flex;flex:1 1 auto;flex-direction:column;overflow:hidden}.tox .tox-editor-header{display:grid;grid-template-columns:1fr min-content;z-index:2}.tox:not(.tox-tinymce-inline) .tox-editor-header{background-color:#fff;border-bottom:none;box-shadow:0 2px 2px -2px rgba(34,47,62,.1),0 8px 8px -4px rgba(34,47,62,.07);padding:4px 0}.tox:not(.tox-tinymce-inline) .tox-editor-header:not(.tox-editor-dock-transition){transition:box-shadow .5s}.tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-bottom .tox-editor-header{border-top:1px solid #e3e3e3;box-shadow:none}.tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-sticky-on .tox-editor-header{background-color:#fff;box-shadow:0 2px 2px -2px rgba(34,47,62,.2),0 8px 8px -4px rgba(34,47,62,.15);padding:4px 0}.tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-sticky-on.tox-tinymce--toolbar-bottom .tox-editor-header{box-shadow:0 2px 2px -2px rgba(34,47,62,.2),0 8px 8px -4px rgba(34,47,62,.15)}.tox.tox:not(.tox-tinymce-inline) .tox-editor-header.tox-editor-header--empty{background:0 0;border:none;box-shadow:none;padding:0}.tox-editor-dock-fadeout{opacity:0;visibility:hidden}.tox-editor-dock-fadein{opacity:1;visibility:visible}.tox-editor-dock-transition{transition:visibility 0s linear .25s,opacity .25s ease}.tox-editor-dock-transition.tox-editor-dock-fadein{transition-delay:0s}.tox .accessibility-issue__header{align-items:center;display:flex;margin-bottom:4px}.tox #accessibility-issue__subheader{font-size:16px;color:#222f3e}.tox .accessbility-sr-only{position:absolute;clip:rect(1px,1px,1px,1px);clip-path:inset(0 0 99.9% 99.9%);overflow:hidden;height:1px;width:1px;padding:0;border:0}.tox .accessibility-issue__description{align-items:stretch;border-radius:6px;justify-content:space-between}.tox .accessibility-issue__description>div{padding-bottom:4px}.tox .accessibility-issue__description>div>div{align-items:center;display:flex;margin-bottom:4px}.tox .accessibility-issue__description>div>div .tox-icon svg{display:block}.tox #accessibility-issue__contentID{margin-top:8px;margin-bottom:8px}.tox #accessibility-issue__contentID span:first-child{font-weight:700}.tox #accessibility-issue__document{padding-bottom:8px}.tox .accessibility-issue__repair{margin-top:8px}.tox .accessibility-issue__repair .tox-form__group .tox-form__group--error{color:#c00}.tox .tox-dialog__body-content .accessibility-issue--info .accessibility-issue__description{background-color:#e6f0fd;color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--info .tox-form__group h2{font-size:14px;color:#006ce7}.tox .tox-dialog__body-content .accessibility-issue--info .tox-icon.accessibility-issue__icon svg{fill:#006ce7}.tox .tox-dialog__body-content .accessibility-issue--info a.tox-button--naked.tox-button--icon{background-color:#006ce7;color:#fff}.tox .tox-dialog__body-content .accessibility-issue--info a.tox-button--naked.tox-button--icon:focus,.tox .tox-dialog__body-content .accessibility-issue--info a.tox-button--naked.tox-button--icon:hover{background-color:#0060ce}.tox .tox-dialog__body-content .accessibility-issue--info a.tox-button--naked.tox-button--icon:active{background-color:#0054b4}.tox .tox-dialog__body-content .accessibility-issue--warn .accessibility-issue__description{background-color:#fffae6;color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--warn .tox-form__group h2{font-size:14px;color:#7a6e25}.tox .tox-dialog__body-content .accessibility-issue--warn .tox-icon.accessibility-issue__icon svg{fill:#7a6e25}.tox .tox-dialog__body-content .accessibility-issue--warn a.tox-button--naked.tox-button--icon{background-color:#ffe89d;color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--warn a.tox-button--naked.tox-button--icon:focus,.tox .tox-dialog__body-content .accessibility-issue--warn a.tox-button--naked.tox-button--icon:hover{background-color:#f2d574;color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--warn a.tox-button--naked.tox-button--icon:active{background-color:#e8c657;color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--error .accessibility-issue__description{background-color:#fae6e6;color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--error .tox-form__group h2{font-size:14px;color:#c00}.tox .tox-dialog__body-content .accessibility-issue--error .tox-icon.accessibility-issue__icon svg{fill:#c00}.tox .tox-dialog__body-content .accessibility-issue--error a.tox-button--naked.tox-button--icon{background-color:#f2bfbf;color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--error a.tox-button--naked.tox-button--icon:focus,.tox .tox-dialog__body-content .accessibility-issue--error a.tox-button--naked.tox-button--icon:hover{background-color:#e9a4a4;color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--error a.tox-button--naked.tox-button--icon:active{background-color:#ee9494;color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--success .accessibility-issue__description{background-color:rgba(120,171,70,.1);color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--success .accessibility-issue__description>:last-child{display:none}.tox .tox-dialog__body-content .accessibility-issue--success .tox-form__group h2{color:#527530}.tox .tox-dialog__body-content .accessibility-issue--success .tox-icon.accessibility-issue__icon svg{fill:#527530}.tox .tox-dialog__body-content .accessibility-issue__header .tox-form__group h1,.tox .tox-dialog__body-content .tox-form__group .accessibility-issue__description h2{margin-top:0}.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__header .tox-button{margin-left:4px}.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__header>:nth-last-child(2){margin-left:auto}.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__description{padding:8px}.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__header .tox-button{margin-right:4px}.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__header>:nth-last-child(2){margin-right:auto}.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__description{padding:4px 8px 4px 4px}.tox .mce-codemirror{background:#fff;bottom:0;font-size:13px;left:0;position:absolute;right:0;top:0;z-index:1}.tox .mce-codemirror.tox-inline-codemirror{margin:8px;position:absolute}.tox .tox-advtemplate .tox-form__grid{flex:1}.tox .tox-advtemplate .tox-form__grid>div:first-child{display:flex;flex-direction:column;width:30%}.tox .tox-advtemplate .tox-form__grid>div:first-child>div:nth-child(2){flex-basis:0;flex-grow:1;overflow:auto}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox .tox-advtemplate .tox-form__grid>div:first-child{width:100%}}.tox .tox-advtemplate iframe{border-color:#eee;border-radius:10px;border-style:solid;border-width:1px;margin:0 10px}.tox .tox-anchorbar{display:flex;flex:0 0 auto}.tox .tox-bottom-anchorbar{display:flex;flex:0 0 auto}.tox .tox-bar{display:flex;flex:0 0 auto}.tox .tox-button{border-width:var(--tox-private-button-border-width,1px);border-style:var(--tox-private-button-border-style,solid);border-radius:var(--tox-private-control-border-radius,6px);font-family:var(--tox-private-font-stack, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen-Sans, Ubuntu, Cantarell, \"Helvetica Neue\", sans-serif);font-size:var(--tox-private-button-font-size, 14px);font-style:var(--tox-private-button-font-style,normal);font-weight:var(--tox-private-button-font-weight,bold);line-height:var(--tox-private-control-line-height, 24px);padding:var(--tox-private-button-padding-y,4px) var(--tox-private-button-padding-x,16px);text-align:center;-webkit-text-decoration:none;text-decoration:none;text-transform:none;letter-spacing:normal;box-shadow:none;box-sizing:border-box;cursor:pointer;outline:0;position:relative;white-space:nowrap;display:inline-flex;justify-content:center;align-items:center;gap:2px}.tox .tox-button::before{border-radius:var(--tox-private-control-border-radius,6px);bottom:calc(-1 * var(--tox-private-button-border-width,1px));box-shadow:var(--tox-private-button-focus-outline,inset 0 0 0 1px #fff,0 0 0 2px #006ce7);content:'';left:calc(-1 * var(--tox-private-button-border-width,1px));opacity:0;pointer-events:none;position:absolute;right:calc(-1 * var(--tox-private-button-border-width,1px));top:calc(-1 * var(--tox-private-button-border-width,1px))}.tox .tox-button:focus:not(:disabled){background-color:var(--tox-private-button-focus-background-color,#0060ce);background-image:none;border-color:var(--tox-private-button-focus-border-color,#0060ce);box-shadow:var(--tox-private-button-focus-box-shadow,none);color:var(--tox-private-button-focus-text-color,#fff)}.tox .tox-button:focus:not(:disabled)::before{opacity:1}.tox .tox-button.tox-button--icon,.tox .tox-button:has(.tox-icon:only-child){padding:4px}.tox .tox-button .tox-icon svg{display:block;fill:currentColor}.tox .tox-button .tox-icon.tox-icon--success svg{fill:var(--tox-private-color-success,#78AB46)}.tox .tox-button .tox-icon.tox-icon--error svg{fill:var(--tox-private-color-error,#c00)}.tox .tox-button--stretch{width:100%}.tox-context-form__group .tox-button--icon,.tox-context-form__group .tox-button.tox-button--icon{margin:6px 1px 5px 0;padding:0}.tox .tox-button{background-color:var(--tox-private-button-primary-background-color,#006ce7);background-image:none;background-position:0 0;background-repeat:repeat;color:var(--tox-private-button-primary-text-color,#fff);border-color:var(--tox-private-button-primary-border-color,#006ce7)}.tox .tox-button[disabled]{background-color:var(--tox-private-button-primary-disabled-background-color,#006ce7);background-image:none;border-color:var(--tox-private-button-primary-disabled-border-color,#006ce7);color:var(--tox-private-button-primary-disabled-text-color,rgba(255,255,255,.5));cursor:not-allowed}.tox .tox-button:focus:not(:disabled){background-color:var(--tox-private-button-primary-focus-background-color,#0060ce);border-color:var(--tox-private-button-primary-focus-border-color,#0060ce);color:var(--tox-private-button-primary-focus-text-color,#fff);background-image:none;box-shadow:none}.tox .tox-button:hover:not(:disabled){background-color:var(--tox-private-button-primary-hover-background-color,#0060ce);border-color:var(--tox-private-button-primary-hover-border-color,#0060ce);color:var(--tox-private-button-primary-hover-text-color,#fff);background-image:none;box-shadow:none}.tox .tox-button:active:not(:disabled){background-color:var(--tox-private-button-primary-active-background-color,#0054b4);border-color:var(--tox-private-button-primary-active-border-color,#0054b4);color:var(--tox-private-button-primary-active-text-color,#fff);background-image:none;box-shadow:none}.tox .tox-button.tox-button--enabled{background-color:var(--tox-private-button-primary-enabled-background-color,#0054b4);border-color:var(--tox-private-button-primary-enabled-border-color,#0054b4);color:var(--tox-private-button-primary-enabled-text-color,#fff);background-image:none;box-shadow:none}.tox .tox-button.tox-button--enabled[disabled]{color:var(--tox-private-button-primary-disabled-text-color,rgba(255,255,255,.5));cursor:not-allowed}.tox .tox-button.tox-button--enabled:focus:not(:disabled){background-color:var(--tox-private-button-primary-enabled-focus-background-color,#00489b);border-color:var(--tox-private-button-primary-enabled-focus-border-color,#00489b);color:var(--tox-private-button-primary-enabled-focus-text-color,#fff);background-image:none;box-shadow:none}.tox .tox-button.tox-button--enabled:hover:not(:disabled){background-color:var(--tox-private-button-primary-enabled-hover-background-color,#00489b);border-color:var(--tox-private-button-primary-enabled-hover-border-color,#00489b);color:var(--tox-private-button-primary-enabled-hover-text-color,#fff);background-image:none;box-shadow:none}.tox .tox-button.tox-button--enabled:active:not(:disabled){background-color:var(--tox-private-button-primary-enabled-active-background-color,#003c81);border-color:var(--tox-private-button-primary-enabled-active-border-color,#003c81);color:var(--tox-private-button-primary-enabled-active-text-color,#fff);background-image:none;box-shadow:none}.tox .tox-button--secondary{background-color:var(--tox-private-button-secondary-background-color,#f0f0f0);border-color:var(--tox-private-button-secondary-border-color,#f0f0f0);color:var(--tox-private-button-secondary-text-color,#222f3e);border-style:solid;border-width:1px;background-image:none;background-position:0 0;background-repeat:repeat;border-radius:6px;box-shadow:none;font-size:14px;font-style:normal;font-weight:700;letter-spacing:normal;outline:0;padding:4px 16px;-webkit-text-decoration:none;text-decoration:none;text-transform:none}.tox .tox-button--secondary[disabled]{background-color:var(--tox-private-button-secondary-disabled-background-color,#f0f0f0);background-image:none;border-color:var(--tox-private-button-secondary-disabled-border-color,#f0f0f0);color:var(--tox-private-button-secondary-disabled-text-color,rgba(34,47,62,.5));cursor:not-allowed}.tox .tox-button--secondary:focus:not(:disabled){background-color:var(--tox-private-button-secondary-focus-background-color,#e3e3e3);border-color:var(--tox-private-button-secondary-focus-border-color,#e3e3e3);color:var(--tox-private-button-secondary-focus-text-color,#222f3e);background-image:none;box-shadow:none}.tox .tox-button--secondary:hover:not(:disabled){background-color:var(--tox-private-button-secondary-hover-background-color,#e3e3e3);border-color:var(--tox-private-button-secondary-hover-border-color,#e3e3e3);color:var(--tox-private-button-secondary-hover-text-color,#222f3e);background-image:none;box-shadow:none}.tox .tox-button--secondary:active:not(:disabled){background-color:var(--tox-private-button-secondary-active-background-color,#d6d6d6);border-color:var(--tox-private-button-secondary-active-border-color,#d6d6d6);color:var(--tox-private-button-secondary-active-text-color,#222f3e);background-image:none;box-shadow:none}.tox .tox-button--secondary.tox-button--enabled{background-color:var(--tox-private-button-secondary-enabled-background-color,#a8c8ed);border-color:var(--tox-private-button-secondary-enabled-border-color,#a8c8ed);color:var(--tox-private-button-secondary-enabled-text-color,#222f3e);background-image:none;box-shadow:none}.tox .tox-button--secondary.tox-button--enabled[disabled]{color:var(--tox-private-button-secondary-disabled-text-color,rgba(34,47,62,.5));cursor:not-allowed}.tox .tox-button--secondary.tox-button--enabled:focus:not(:disabled){background-color:var(--tox-private-button-secondary-enabled-focus-background-color,#93bbe9);border-color:var(--tox-private-button-secondary-enabled-focus-border-color,#93bbe9);color:var(--tox-private-button-secondary-enabled-focus-text-color,#222f3e);background-image:none;box-shadow:none}.tox .tox-button--secondary.tox-button--enabled:hover:not(:disabled){background-color:var(--tox-private-button-secondary-enabled-hover-background-color,#93bbe9);border-color:var(--tox-private-button-secondary-enabled-hover-border-color,#93bbe9);color:var(--tox-private-button-secondary-enabled-hover-text-color,#222f3e);background-image:none;box-shadow:none}.tox .tox-button--secondary.tox-button--enabled:active:not(:disabled){background-color:var(--tox-private-button-secondary-enabled-active-background-color,#7daee4);border-color:var(--tox-private-button-secondary-enabled-active-border-color,#7daee4);color:var(--tox-private-button-secondary-enabled-active-text-color,#222f3e);background-image:none;box-shadow:none}.tox .tox-button--naked{background-color:transparent;border-color:transparent;box-shadow:unset;color:var(--tox-private-button-naked-text-color,#222f3e)}.tox .tox-button--naked[disabled]{background-color:rgba(34,47,62,.12);border-color:transparent;color:var(--tox-private-button-naked-disabled-text-color,rgba(34,47,62,.5));cursor:not-allowed}.tox .tox-button--naked:focus:not(:disabled){background-color:var(--tox-private-button-naked-focus-background-color,rgba(34,47,62,.12));border-color:var(--tox-private-button-naked-focus-border-color,transparent);color:var(--tox-private-button-naked-focus-text-color,#222f3e);box-shadow:unset}.tox .tox-button--naked:hover:not(:disabled){background-color:var(--tox-private-button-naked-hover-background-color,rgba(34,47,62,.12));border-color:var(--tox-private-button-naked-hover-background-color,transparent);color:var(--tox-private-button-naked-hover-text-color,#222f3e);box-shadow:unset}.tox .tox-button--naked:active:not(:disabled){background-color:var(--tox-private-button-naked-active-background-color,rgba(34,47,62,.18));border-color:var(--tox-private-button-naked-active-border-color,transparent);color:var(--tox-private-button-naked-active-text-color,#222f3e);box-shadow:unset}.tox .tox-button--secondary--outline{background-color:transparent;border-color:var(--tox-private-button-secondary-outline-border-color,#f0f0f0);color:var(--tox-private-button-secondary-outline-text-color,#222f3e)}.tox .tox-button--secondary--outline:focus:not(:disabled){background-color:var(--tox-private-button-secondary-outline-focus-background-color,#e3e3e3);border-color:var(--tox-private-button-secondary-outline-focus-border-color,#e3e3e3);color:var(--tox-private-button-secondary-outline-focus-text-color,#222f3e)}.tox .tox-button--secondary--outline:hover:not(:disabled){background-color:var(--tox-private-button-secondary-outline-hover-background-color,#f0f0f0);border-color:var(--tox-private-button-secondary-outline-hover-border-color,#e3e3e3);color:var(--tox-private-button-secondary-outline-hover-text-color,#222f3e)}.tox .tox-button--secondary--outline:active:not(:disabled){background-color:var(--tox-private-button-secondary-outline-active-background-color,#e3e3e3);border-color:var(--tox-private-button-secondary-outline-active-border-color,#e3e3e3);color:var(--tox-private-button-secondary-outline-active-text-color,#222f3e)}.tox .tox-button--secondary--outline[disabled]{background-color:var(--tox-private-button-secondary-outline-disabled-background-color,transparent);border-color:var(--tox-private-button-secondary-outline-disabled-border-color,#f0f0f0);color:var(--tox-private-button-secondary-outline-disabled-text-color,rgba(34,47,62,.5))}.tox .tox-checkbox{align-items:center;border-radius:var(--tox-private-checkbox-border-radius,6px);cursor:pointer;display:flex;height:var(--tox-private-control-height,36px);min-width:var(--tox-private-control-height,36px)}.tox .tox-checkbox__input{height:1px;overflow:hidden;position:absolute;top:auto;width:1px}.tox .tox-checkbox__icons{display:flex;align-items:center;justify-content:center;box-sizing:content-box;padding:var(--tox-private-pad-xs,calc(4px - 1px));border-radius:var(--tox-private-checkbox-border-radius,6px);box-shadow:0 0 0 2px transparent;height:var(--tox-private-control-line-height,24px);aspect-ratio:1}.tox .tox-checkbox__icons .tox-checkbox-icon__unchecked svg{display:block;fill:var(--tox-private-checkbox-unselected-color,rgba(34,47,62,0.3))}@media (forced-colors:active){.tox .tox-checkbox__icons .tox-checkbox-icon__unchecked svg{fill:currentColor!important}}.tox .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg{display:none;fill:var(--tox-private-checkbox-indeterminate-color,#006ce7)}.tox .tox-checkbox__icons .tox-checkbox-icon__checked svg{display:none;fill:var(--tox-private-checkbox-selected-color,#006ce7)}.tox .tox-checkbox--disabled{color:var(--tox-private-checkbox-disabled-text-color,rgba(34,47,62,.5));cursor:not-allowed}.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__checked svg{fill:var(--tox-private-checkbox-disabled-text-color,rgba(34,47,62,0.5))}.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__unchecked svg{fill:var(--tox-private-checkbox-disabled-text-color,rgba(34,47,62,0.5))}.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg{fill:var(--tox-private-checkbox-disabled-text-color,rgba(34,47,62,0.5))}.tox input.tox-checkbox__input:checked+.tox-checkbox__icons .tox-checkbox-icon__unchecked svg{display:none}.tox input.tox-checkbox__input:checked+.tox-checkbox__icons .tox-checkbox-icon__checked svg{display:block}.tox input.tox-checkbox__input:indeterminate+.tox-checkbox__icons .tox-checkbox-icon__unchecked svg{display:none}.tox input.tox-checkbox__input:indeterminate+.tox-checkbox__icons .tox-checkbox-icon__indeterminate svg{display:block}.tox input.tox-checkbox__input:focus+.tox-checkbox__icons{box-shadow:var(--tox-private-checkbox-focus-box-shadow,inset 0 0 0 1px #006ce7)}.tox:not([dir=rtl]) .tox-checkbox__label{margin-left:var(--tox-private-pad-xs,4px)}.tox:not([dir=rtl]) .tox-checkbox__input{left:-10000px}.tox:not([dir=rtl]) .tox-bar .tox-checkbox{margin-left:var(--tox-private-pad-xs,4px)}.tox[dir=rtl] .tox-checkbox__label{margin-right:var(--tox-private-pad-xs,4px)}.tox[dir=rtl] .tox-checkbox__input{right:-10000px}.tox[dir=rtl] .tox-bar .tox-checkbox{margin-right:var(--tox-private-pad-xs,4px)}.tox .tox-collection--toolbar .tox-collection__group{display:flex;padding:0}.tox .tox-collection--grid .tox-collection__group{display:flex;flex-wrap:wrap;max-height:208px;overflow-x:hidden;overflow-y:auto;padding:0}.tox .tox-collection--list .tox-collection__group{border-bottom-width:0;border-color:#e3e3e3;border-left-width:0;border-right-width:0;border-style:solid;border-top-width:1px;padding:4px 0}.tox .tox-collection--list .tox-collection__group:first-child{border-top-width:0}.tox .tox-collection__group-heading{background-color:#fcfcfc;color:rgba(34,47,62,.7);cursor:default;font-size:12px;font-style:normal;font-weight:400;margin-bottom:4px;margin-top:-4px;padding:4px 8px;text-transform:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.tox .tox-collection__item{align-items:center;border-radius:3px;color:#222f3e;display:flex;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.tox .tox-image-selector-menu .tox-collection__item,.tox .tox-image-selector-menu .tox-collection__item-image-selector{flex-direction:column}.tox .tox-image-selector-menu .tox-collection__item .tox-collection__item-checkmark,.tox .tox-image-selector-menu .tox-collection__item .tox-collection__item-icon,.tox .tox-image-selector-menu .tox-collection__item .tox-collection__item-image,.tox .tox-image-selector-menu .tox-collection__item-image-selector .tox-collection__item-checkmark,.tox .tox-image-selector-menu .tox-collection__item-image-selector .tox-collection__item-icon,.tox .tox-image-selector-menu .tox-collection__item-image-selector .tox-collection__item-image{flex-grow:1}.tox .tox-image-selector-menu .tox-collection__item label,.tox .tox-image-selector-menu .tox-collection__item-image-selector label{width:48px;white-space:nowrap;overflow:hidden;font-size:12px;color:#222f3e;text-align:center;align-self:flex-end}.tox .tox-image-selector-menu .tox-collection__item-checkmark{height:24px;width:24px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.tox .tox-image-selector-menu .tox-collection__item-checkmark svg path{fill:#006ce7;stroke:#006ce7}.tox .tox-image-selector-menu .tox-image-selector__row .tox-collection__item-image-selector.tox-collection__item--active:not(.tox-collection__item--state-disabled){background-color:#fff}.tox .tox-image-selector-menu .tox-image-selector__row .tox-collection__item-image-selector.tox-collection__item--enabled:not(.tox-collection__item--state-disabled){z-index:2;background-color:#fff;opacity:.8;background-clip:content-box}.tox .tox-collection--list .tox-collection__item{padding:4px 8px}.tox .tox-collection--toolbar .tox-collection__item{border-radius:3px;padding:4px}.tox .tox-collection--grid .tox-collection__item{border-radius:3px;padding:4px}.tox .tox-collection--list .tox-collection__item--enabled:not(.tox-collection__item--state-disabled){background-color:#fff;color:#222f3e}.tox .tox-collection--list .tox-collection__item--active:not(.tox-collection__item--state-disabled){background-color:#006ce7;color:#fff}@media (forced-colors:active){.tox .tox-collection--list .tox-collection__item--active:not(.tox-collection__item--state-disabled){border:solid 1px}}.tox .tox-collection--grid .tox-collection__item--enabled:not(.tox-collection__item--state-disabled){background-color:#a6ccf7;color:#222f3e}.tox .tox-collection--grid .tox-collection__item--active:not(.tox-collection__item--state-disabled){background-color:#f0f0f0;color:#222f3e;position:relative;z-index:1}.tox .tox-collection--grid .tox-collection__item--active:not(.tox-collection__item--state-disabled):focus::after{border-radius:3px;bottom:0;box-shadow:0 0 0 2px #006ce7 inset;content:'';left:0;position:absolute;right:0;top:0}@media (forced-colors:active){.tox .tox-collection--grid .tox-collection__item--active:not(.tox-collection__item--state-disabled):focus::after{border:2px solid highlight}}.tox .tox-collection--toolbar .tox-collection__item--enabled:not(.tox-collection__item--state-disabled){background-color:#a6ccf7;color:#222f3e}@media (forced-colors:active){.tox .tox-collection--toolbar .tox-collection__item--enabled:not(.tox-collection__item--state-disabled){border-radius:3px;outline:solid 1px}}.tox .tox-collection--toolbar .tox-collection__item--active:not(.tox-collection__item--state-disabled){color:#222f3e;background-color:#fff;position:relative}.tox .tox-collection--toolbar .tox-collection__item--active:not(.tox-collection__item--state-disabled):hover{background-color:#f0f0f0;color:#222f3e}.tox .tox-collection--toolbar .tox-collection__item--active:not(.tox-collection__item--state-disabled):focus{background-color:#f0f0f0;color:#222f3e}.tox .tox-collection--toolbar .tox-collection__item--active:not(.tox-collection__item--state-disabled):focus::after{border-radius:3px;bottom:0;box-shadow:0 0 0 2px #006ce7;content:'';left:0;position:absolute;right:0;top:0}@media (forced-colors:active){.tox .tox-collection--toolbar .tox-collection__item--active:not(.tox-collection__item--state-disabled):focus::after{border:2px solid highlight}}@media (forced-colors:active){.tox .tox-collection--toolbar .tox-collection__item--active:not(.tox-collection__item--state-disabled):hover{border-radius:3px;outline:solid 1px}}.tox .tox-collection__item-image{border:1px solid #eee;border-radius:6px;display:flex;flex-direction:column;justify-content:center;margin-bottom:4px;position:relative}.tox .tox-collection__item-checkmark,.tox .tox-collection__item-icon{align-items:center;display:flex;height:24px;justify-content:center;width:24px}.tox .tox-collection__item-checkmark svg,.tox .tox-collection__item-icon svg{fill:currentColor}.tox .tox-collection--toolbar-lg .tox-collection__item-icon{height:48px;width:48px}.tox .tox-collection__item-label{color:currentColor;display:inline-block;flex:1;font-size:14px;font-style:normal;font-weight:400;line-height:24px;max-width:100%;text-transform:none;word-break:break-all}.tox .tox-collection__item-accessory{color:currentColor;display:inline-block;font-size:14px;height:24px;line-height:24px;text-transform:none}.tox .tox-collection__item-caret{align-items:center;display:flex;min-height:24px}.tox .tox-collection__item-caret::after{content:'';font-size:0;min-height:inherit}.tox .tox-collection__item-caret svg{fill:currentColor}.tox .tox-collection__item--state-disabled{background-color:transparent;color:rgba(34,47,62,.5);cursor:not-allowed}.tox .tox-collection__item--state-disabled .tox-collection__item-caret svg{fill:rgba(34,47,62,0.5)}.tox .tox-collection--list .tox-collection__item:not(.tox-collection__item--enabled) .tox-collection__item-checkmark svg{display:none}.tox .tox-collection--list .tox-collection__item:not(.tox-collection__item--enabled) .tox-collection__item-accessory+.tox-collection__item-checkmark{display:none}.tox .tox-collection--horizontal{background-color:#fff;border:1px solid #e3e3e3;border-radius:6px;box-shadow:0 0 2px 0 rgba(34,47,62,.2),0 4px 8px 0 rgba(34,47,62,.15);display:flex;flex:0 0 auto;flex-shrink:0;flex-wrap:nowrap;margin-bottom:0;overflow-x:auto;padding:0}.tox .tox-collection--horizontal .tox-collection__group{align-items:center;display:flex;flex-wrap:nowrap;margin:0;padding:0 4px}.tox .tox-collection--horizontal .tox-collection__item{height:28px;margin:6px 1px 5px 0;padding:0 4px}.tox .tox-collection--horizontal .tox-collection__item-label{white-space:nowrap}.tox .tox-collection--horizontal .tox-collection__item-caret{margin-left:4px}.tox .tox-collection__item-container{display:flex}.tox .tox-collection__item-container--row{align-items:center;flex:1 1 auto;flex-direction:row}.tox .tox-collection__item-container--row.tox-collection__item-container--align-left{margin-right:auto}.tox .tox-collection__item-container--row.tox-collection__item-container--align-right{justify-content:flex-end;margin-left:auto}.tox .tox-collection__item-container--row.tox-collection__item-container--valign-top{align-items:flex-start;margin-bottom:auto}.tox .tox-collection__item-container--row.tox-collection__item-container--valign-middle{align-items:center}.tox .tox-collection__item-container--row.tox-collection__item-container--valign-bottom{align-items:flex-end;margin-top:auto}.tox .tox-collection__item-container--column{align-self:center;flex:1 1 auto;flex-direction:column}.tox .tox-collection__item-container--column.tox-collection__item-container--align-left{align-items:flex-start}.tox .tox-collection__item-container--column.tox-collection__item-container--align-right{align-items:flex-end}.tox .tox-collection__item-container--column.tox-collection__item-container--valign-top{align-self:flex-start}.tox .tox-collection__item-container--column.tox-collection__item-container--valign-middle{align-self:center}.tox .tox-collection__item-container--column.tox-collection__item-container--valign-bottom{align-self:flex-end}.tox:not([dir=rtl]) .tox-collection--horizontal .tox-collection__group:not(:last-of-type){border-right:1px solid transparent}.tox:not([dir=rtl]) .tox-collection--list .tox-collection__item>:not(:first-child){margin-left:8px}.tox:not([dir=rtl]) .tox-collection--list .tox-collection__item>.tox-collection__item-label:first-child{margin-left:4px}.tox:not([dir=rtl]) .tox-collection__item-accessory{margin-left:16px;text-align:right}.tox:not([dir=rtl]) .tox-collection .tox-collection__item-caret{margin-left:16px}.tox[dir=rtl] .tox-collection--horizontal .tox-collection__group:not(:last-of-type){border-left:1px solid transparent}.tox[dir=rtl] .tox-collection--list .tox-collection__item>:not(:first-child){margin-right:8px}.tox[dir=rtl] .tox-collection--list .tox-collection__item>.tox-collection__item-label:first-child{margin-right:4px}.tox[dir=rtl] .tox-collection__item-accessory{margin-right:16px;text-align:left}.tox[dir=rtl] .tox-collection .tox-collection__item-caret{margin-right:16px;transform:rotateY(180deg)}.tox[dir=rtl] .tox-collection--horizontal .tox-collection__item-caret{margin-right:4px}@media (forced-colors:active){.tox .tox-hue-slider,.tox .tox-rgb-form .tox-rgba-preview{background-color:currentColor!important;border:1px solid highlight!important;forced-color-adjust:none}}.tox .tox-color-picker-container{display:flex;flex-direction:row;height:225px;margin:0}.tox .tox-sv-palette{box-sizing:border-box;display:flex;height:100%}.tox .tox-sv-palette-spectrum{height:100%}.tox .tox-sv-palette,.tox .tox-sv-palette-spectrum{width:225px}.tox .tox-sv-palette-thumb{background:0 0;border:1px solid #000;border-radius:50%;box-sizing:content-box;height:12px;position:absolute;width:12px}.tox .tox-sv-palette-inner-thumb{border:1px solid #fff;border-radius:50%;height:10px;position:absolute;width:10px}.tox .tox-hue-slider{box-sizing:border-box;height:100%;width:25px}.tox .tox-hue-slider-spectrum{background:linear-gradient(to bottom,red,#ff0080,#f0f,#8000ff,#00f,#0080ff,#0ff,#00ff80,#0f0,#80ff00,#ff0,#ff8000,red);height:100%;width:100%}.tox .tox-hue-slider,.tox .tox-hue-slider-spectrum{width:20px}.tox .tox-hue-slider-spectrum:focus,.tox .tox-sv-palette-spectrum:focus{outline:#08f solid}.tox .tox-hue-slider-thumb{background:#fff;border:1px solid #000;box-sizing:content-box;height:4px;width:100%}.tox .tox-rgb-form{display:flex;flex-direction:column;justify-content:space-between}.tox .tox-rgb-form div{align-items:center;display:flex;justify-content:space-between;margin-bottom:5px;width:inherit}.tox .tox-rgb-form input{min-width:6em}.tox .tox-rgb-form input.tox-invalid{border:1px solid red!important;box-shadow:0 0 0 1px red}.tox .tox-rgb-container{position:relative}.tox .tox-rgb-form .tox-invalid-icon{align-content:center;align-items:center;display:none;height:100%;position:absolute;right:0;top:0}.tox .tox-rgb-form .tox-invalid-icon .tox-control-wrap__status-icon-invalid{margin:0}.tox .tox-rgb-warning-note{background-color:#f5cccc;border:1px solid #f0b3b3;border-radius:3px;color:#77181f;padding:3px}.tox input.tox-invalid+.tox-invalid-icon{display:flex}.tox .tox-rgb-form .tox-rgba-preview{border:1px solid #000;flex-grow:2;margin-bottom:0}.tox:not([dir=rtl]) .tox-sv-palette{margin-right:15px}.tox:not([dir=rtl]) .tox-hue-slider{margin-right:15px}.tox:not([dir=rtl]) .tox-hue-slider-thumb{margin-left:-1px}.tox:not([dir=rtl]) .tox-rgb-form label{margin-right:.5em}.tox[dir=rtl] .tox-sv-palette{margin-left:15px}.tox[dir=rtl] .tox-hue-slider{margin-left:15px}.tox[dir=rtl] .tox-hue-slider-thumb{margin-right:-1px}.tox[dir=rtl] .tox-rgb-form label{margin-left:.5em}.tox .tox-toolbar .tox-swatches,.tox .tox-toolbar__overflow .tox-swatches,.tox .tox-toolbar__primary .tox-swatches{margin:5px 0 6px 11px}.tox .tox-collection--list .tox-collection__group .tox-swatches-menu{border:0;margin:-4px -4px}.tox .tox-swatches__row{display:flex}@media (forced-colors:active){.tox .tox-swatches__row{forced-color-adjust:none}}.tox .tox-swatch{height:30px;transition:transform .15s,box-shadow .15s;width:30px}.tox .tox-swatch:focus,.tox .tox-swatch:hover{box-shadow:0 0 0 1px rgba(127,127,127,.3) inset;transform:scale(.8)}.tox .tox-swatch--remove{align-items:center;display:flex;justify-content:center}.tox .tox-swatch--remove svg path{stroke:#e74c3c}.tox .tox-swatches__picker-btn{align-items:center;background-color:transparent;border:0;cursor:pointer;display:flex;height:30px;justify-content:center;outline:0;padding:0;width:30px}.tox .tox-swatches__picker-btn svg{fill:#222f3e;height:24px;width:24px}.tox .tox-swatches__picker-btn:hover{background:#f0f0f0}.tox div.tox-swatch:not(.tox-swatch--remove) svg{display:none;fill:#222f3e;height:24px;margin:calc((30px - 24px)/ 2) calc((30px - 24px)/ 2);width:24px}.tox div.tox-swatch:not(.tox-swatch--remove) svg path{fill:#fff;paint-order:stroke;stroke:#222f3e;stroke-width:2px}.tox div.tox-swatch:not(.tox-swatch--remove).tox-collection__item--enabled svg{display:block}.tox:not([dir=rtl]) .tox-swatches__picker-btn{margin-left:auto}.tox[dir=rtl] .tox-swatches__picker-btn{margin-right:auto}.tox .tox-comment{background:#fff;border:1px solid #fff;border-radius:6px;padding:8px;padding-bottom:16px;position:relative}.tox .tox-comment:hover{box-shadow:0 4px 8px 0 rgba(34,47,62,.1)}.tox .tox-comment.tox-comment--selected{background-color:#fff2c9;border:1px solid #ffcf30;box-shadow:0 4px 8px 0 rgba(34,47,62,.1)}.tox .tox-comment.tox-comment--selected:focus{border:2px solid #006ce7;margin:-1px}.tox .tox-comment.tox-comment--selected:focus:not(:first-child){margin-top:7px}.tox .tox-comment.tox-comment--selected .tox-comment__single{margin-bottom:12px}.tox .tox-comment.tox-comment--selected .tox-comment__single:focus{position:relative}.tox .tox-comment.tox-comment--selected .tox-comment__single:focus::after{top:-9px;pointer-events:none;position:absolute;content:\"\";display:block;bottom:-9px;left:-9px;right:-9px;border-radius:6px;border:2px solid #006ce7}.tox .tox-comment.tox-comment--selected .tox-comment__single:focus:last-of-type:has(textarea):after{bottom:calc((12px + 16px + 1px) * -1)}.tox .tox-comment__header{align-items:center;color:#222f3e;display:flex;justify-content:space-between}.tox .tox-comment__date{color:#222f3e;font-size:12px;line-height:18px}.tox .tox-comment__body{color:#222f3e;font-size:16px;font-style:normal;font-weight:400;line-height:1.3;margin-top:8px;position:relative;text-transform:initial;transition:max-height .5s cubic-bezier(0, 1, 0, 1);white-space:pre-wrap}.tox .tox-comment__body.tox-comment__body--expanded{max-height:100em;transition:max-height 1s ease-in-out}.tox .tox-comment__body.tox-comment__body--pending{transition:max-height 0s}.tox .tox-comment__body p{margin:0}.tox .tox-comment__body textarea{resize:none;white-space:normal;width:100%;font-size:16px}.tox .tox-comment__loading-text{align-items:center;color:#222f3e;display:flex;flex-direction:column;position:relative}.tox .tox-comment__loading-text>div{padding-bottom:16px}.tox .tox-comment__overlaytext{bottom:0;flex-direction:column;font-size:14px;left:0;padding:1em;position:absolute;right:0;top:0;z-index:10}.tox .tox-comment__overlaytext p{background-color:#fff;box-shadow:0 0 8px 8px #fff;color:#222f3e;text-align:center}.tox .tox-comment__overlaytext div:nth-of-type(2){font-size:.8em}.tox .tox-comment__expander{padding-top:8px}.tox .tox-comment__expander p{color:rgba(34,47,62,.7);font-size:14px;font-style:normal}.tox .tox-comment__expander p:focus{font-weight:700}.tox .tox-comment__buttonspacing{padding-top:16px;text-align:center}.tox .tox-tbtn.tox-comment__mention-btn{display:flex;width:34px;height:34px;padding:5px;justify-content:center;align-items:center;margin:0;background-color:transparent}.tox .tox-comment-thread{background:#fff;position:relative;border-radius:6px;background-color:transparent}.tox .tox-comment-thread>:not(:first-child){margin-top:8px}.tox .tox-comment-thread__overlay::after{background:#fff;bottom:0;content:\"\";display:flex;left:0;opacity:.9;position:absolute;right:0;top:0;z-index:5}.tox .tox-comment__reply{display:flex;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end;margin-top:8px}.tox .tox-comment__reply>:first-child{margin-bottom:8px;width:100%}.tox .tox-comment__edit{display:flex;flex-wrap:wrap;justify-content:flex-end;margin-top:8px}.tox .tox-comment__gradient::after{background:linear-gradient(rgba(255,255,255,0),#fff);bottom:0;content:\"\";display:block;height:5em;margin-top:-40px;position:absolute;width:100%}.tox .tox-comment__overlay{background:#fff;bottom:0;display:flex;flex-direction:column;flex-grow:1;left:0;opacity:.9;position:absolute;right:0;text-align:center;top:0;z-index:5}.tox .tox-comment__busy-spinner{align-items:center;background-color:#fff;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:20}.tox .tox-comment__scroll{display:flex;flex-direction:column;flex-shrink:1;overflow:auto;padding:12px;scroll-behavior:smooth}.tox .tox-comment__scroll:has(textarea:focus){scroll-behavior:auto}.tox .tox-comment--disappearing{transition:opacity .5s ease}.tox .tox-comment[data-transitioning-destination=deleting]{opacity:0}.tox .tox-ring-loader{width:10px;height:10px;border:1px solid #fff;border-bottom-color:transparent;border-radius:50%;display:inline-block;box-sizing:border-box;animation:tox-rotation 1s linear infinite}.tox:not([dir=rtl]) .tox-comment__edit{margin-left:8px}.tox:not([dir=rtl]) .tox-comment__buttonspacing>:last-child,.tox:not([dir=rtl]) .tox-comment__edit>:last-child,.tox:not([dir=rtl]) .tox-comment__reply>:last-child{margin-left:8px}.tox[dir=rtl] .tox-comment__edit{margin-right:8px}.tox[dir=rtl] .tox-comment__buttonspacing>:last-child,.tox[dir=rtl] .tox-comment__edit>:last-child,.tox[dir=rtl] .tox-comment__reply>:last-child{margin-right:8px}.tox .tox-user{align-items:center;display:flex}.tox .tox-user__avatar svg{fill:rgba(34,47,62,0.7)}.tox .tox-user__avatar img{border-radius:50%;height:36px;object-fit:cover;vertical-align:middle;width:36px}.tox .tox-user__name{color:#222f3e;font-size:14px;font-style:normal;font-weight:700;line-height:18px;text-transform:none}.tox:not([dir=rtl]) .tox-user__avatar img,.tox:not([dir=rtl]) .tox-user__avatar svg{margin-right:8px}.tox:not([dir=rtl]) .tox-user__avatar+.tox-user__name{margin-left:8px}.tox[dir=rtl] .tox-user__avatar img,.tox[dir=rtl] .tox-user__avatar svg{margin-left:8px}.tox[dir=rtl] .tox-user__avatar+.tox-user__name{margin-right:8px}.tox .tox-dialog-wrap{align-items:center;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1100}.tox .tox-dialog-wrap__backdrop{background-color:rgba(255,255,255,.75);bottom:0;left:0;position:absolute;right:0;top:0;z-index:1}.tox .tox-dialog-wrap__backdrop--opaque{background-color:#fff}.tox .tox-dialog{background-color:#fff;border-color:#eee;border-radius:10px;border-style:solid;border-width:0;box-shadow:0 16px 16px -10px rgba(34,47,62,.15),0 0 40px 1px rgba(34,47,62,.15);display:flex;flex-direction:column;max-height:100%;max-width:480px;overflow:hidden;position:relative;width:95vw;z-index:2}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox .tox-dialog{align-self:flex-start;margin:8px auto;max-height:calc(100vh - 8px * 2);width:calc(100vw - 16px)}}.tox .tox-dialog-inline{z-index:1100}.tox .tox-dialog__header{align-items:center;background-color:#fff;border-bottom:none;color:#222f3e;display:flex;font-size:16px;justify-content:space-between;padding:8px 16px 0 16px;position:relative}.tox .tox-dialog__header .tox-button{z-index:1}.tox .tox-dialog__draghandle{cursor:grab;height:100%;left:0;position:absolute;top:0;width:100%}.tox .tox-dialog__draghandle:active{cursor:grabbing}.tox .tox-dialog__dismiss{margin-left:auto}.tox .tox-dialog__title{font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif;font-size:20px;font-style:normal;font-weight:400;line-height:1.3;margin:0;text-transform:none}.tox .tox-dialog__body{color:#222f3e;display:flex;flex:1;font-size:16px;font-style:normal;font-weight:400;line-height:1.3;min-width:0;text-align:left;text-transform:none}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox .tox-dialog__body{flex-direction:column}}.tox .tox-dialog__body-nav{align-items:flex-start;display:flex;flex-direction:column;flex-shrink:0;padding:16px 16px}@media only screen and (min-width:768px){.tox .tox-dialog__body-nav{max-width:11em}}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox .tox-dialog__body-nav{flex-direction:row;-webkit-overflow-scrolling:touch;overflow-x:auto;padding-bottom:0}}.tox .tox-dialog__body-nav-item{border-bottom:2px solid transparent;color:rgba(34,47,62,.7);display:inline-block;flex-shrink:0;font-size:14px;line-height:1.3;margin-bottom:8px;max-width:13em;-webkit-text-decoration:none;text-decoration:none}.tox .tox-dialog__body-nav-item:focus{background-color:rgba(0,108,231,.1)}.tox .tox-dialog__body-nav-item--active{border-bottom:2px solid #144782;color:#144782}@media (forced-colors:active){.tox .tox-dialog__body-nav-item--active{border-bottom:2px solid highlight;color:highlight}}.tox .tox-dialog__body-content{box-sizing:border-box;display:flex;flex:1;flex-direction:column;max-height:min(650px,calc(100vh - 110px));overflow:auto;-webkit-overflow-scrolling:touch;padding:16px 16px}.tox .tox-dialog__body-content>*{margin-bottom:0;margin-top:16px}.tox .tox-dialog__body-content>:first-child{margin-top:0}.tox .tox-dialog__body-content>:last-child{margin-bottom:0}.tox .tox-dialog__body-content>:only-child{margin-bottom:0;margin-top:0}.tox .tox-dialog__body-content a{color:#144782;cursor:pointer;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-dialog__body-content a:focus,.tox .tox-dialog__body-content a:hover{color:#071729;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-dialog__body-content a:focus-visible{border-radius:1px;outline:2px solid #144782;outline-offset:2px}.tox .tox-dialog__body-content a:active{color:#000;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-dialog__body-content svg{fill:#222f3e}.tox .tox-dialog__body-content strong{font-weight:700}.tox .tox-dialog__body-content ul{list-style-type:disc}.tox .tox-dialog__body-content dd,.tox .tox-dialog__body-content ol,.tox .tox-dialog__body-content ul{padding-inline-start:2.5rem}.tox .tox-dialog__body-content dl,.tox .tox-dialog__body-content ol,.tox .tox-dialog__body-content ul{margin-bottom:16px}.tox .tox-dialog__body-content dd,.tox .tox-dialog__body-content dl,.tox .tox-dialog__body-content dt,.tox .tox-dialog__body-content ol,.tox .tox-dialog__body-content ul{display:block;margin-inline-end:0;margin-inline-start:0}.tox .tox-dialog__body-content .tox-form__group h1{color:#222f3e;font-size:20px;font-style:normal;font-weight:700;letter-spacing:normal;margin-bottom:16px;margin-top:2rem;text-transform:none}.tox .tox-dialog__body-content .tox-form__group h2{color:#222f3e;font-size:16px;font-style:normal;font-weight:700;letter-spacing:normal;margin-bottom:16px;margin-top:2rem;text-transform:none}.tox .tox-dialog__body-content .tox-form__group p{margin-bottom:16px}.tox .tox-dialog__body-content .tox-form__group h1:first-child,.tox .tox-dialog__body-content .tox-form__group h2:first-child,.tox .tox-dialog__body-content .tox-form__group p:first-child{margin-top:0}.tox .tox-dialog__body-content .tox-form__group h1:last-child,.tox .tox-dialog__body-content .tox-form__group h2:last-child,.tox .tox-dialog__body-content .tox-form__group p:last-child{margin-bottom:0}.tox .tox-dialog__body-content .tox-form__group h1:only-child,.tox .tox-dialog__body-content .tox-form__group h2:only-child,.tox .tox-dialog__body-content .tox-form__group p:only-child{margin-bottom:0;margin-top:0}.tox .tox-dialog__body-content .tox-form__group .tox-label.tox-label--center{text-align:center}.tox .tox-dialog__body-content .tox-form__group .tox-label.tox-label--end{text-align:end}.tox .tox-dialog--width-lg{height:650px;max-width:1200px}.tox .tox-dialog--fullscreen{height:100%;max-width:100%}.tox .tox-dialog--fullscreen .tox-dialog__body-content{max-height:100%}.tox .tox-dialog--width-md{max-width:800px}.tox .tox-dialog--width-md .tox-dialog__body-content{overflow:auto}.tox .tox-dialog__body-content--centered{text-align:center}.tox .tox-dialog__footer{align-items:center;background-color:#fff;border-top:none;display:flex;justify-content:space-between;padding:8px 16px}.tox .tox-dialog__footer-end,.tox .tox-dialog__footer-start{display:flex}.tox .tox-dialog__busy-spinner{align-items:center;background-color:rgba(255,255,255,.75);bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:3}.tox .tox-dialog__table{border-collapse:collapse;width:100%}.tox .tox-dialog__table thead th{font-weight:700;padding-bottom:8px}.tox .tox-dialog__table thead th:first-child{padding-right:8px}.tox .tox-dialog__table tbody tr{border-bottom:1px solid #626262}.tox .tox-dialog__table tbody tr:last-child{border-bottom:none}.tox .tox-dialog__table td{padding-bottom:8px;padding-top:8px}.tox .tox-dialog__table td:first-child{padding-right:8px}.tox .tox-dialog__iframe{min-height:200px}.tox .tox-dialog__iframe.tox-dialog__iframe--opaque{background:#fff}.tox .tox-navobj-bordered{position:relative}.tox .tox-navobj-bordered::before{border:1px solid #eee;border-radius:6px;content:'';inset:0;opacity:1;pointer-events:none;position:absolute;z-index:1}.tox .tox-navobj-bordered iframe{border-radius:6px}.tox .tox-navobj-bordered-focus.tox-navobj-bordered::before{border-color:#006ce7;box-shadow:0 0 0 1px #006ce7;outline:0}.tox .tox-dialog__popups{position:absolute;width:100%;z-index:1100}.tox .tox-dialog__body-iframe{display:flex;flex:1;flex-direction:column}.tox .tox-dialog__body-iframe .tox-navobj{display:flex;flex:1}.tox .tox-dialog__body-iframe .tox-navobj :nth-child(2){flex:1;height:100%}.tox .tox-dialog-dock-fadeout{opacity:0;visibility:hidden}.tox .tox-dialog-dock-fadein{opacity:1;visibility:visible}.tox .tox-dialog-dock-transition{transition:visibility 0s linear .3s,opacity .3s ease}.tox .tox-dialog-dock-transition.tox-dialog-dock-fadein{transition-delay:0s}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox:not([dir=rtl]) .tox-dialog__body-nav{margin-right:0}}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox:not([dir=rtl]) .tox-dialog__body-nav-item:not(:first-child){margin-left:8px}}.tox:not([dir=rtl]) .tox-dialog__footer .tox-dialog__footer-end>*,.tox:not([dir=rtl]) .tox-dialog__footer .tox-dialog__footer-start>*{margin-left:8px}.tox[dir=rtl] .tox-dialog__body{text-align:right}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox[dir=rtl] .tox-dialog__body-nav{margin-left:0}}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox[dir=rtl] .tox-dialog__body-nav-item:not(:first-child){margin-right:8px}}.tox[dir=rtl] .tox-dialog__footer .tox-dialog__footer-end>*,.tox[dir=rtl] .tox-dialog__footer .tox-dialog__footer-start>*{margin-right:8px}body.tox-dialog__disable-scroll{overflow:hidden}.tox .tox-dropzone-container{display:flex;flex:1}.tox .tox-dropzone{align-items:center;background:#fff;border:2px dashed #eee;box-sizing:border-box;display:flex;flex-direction:column;flex-grow:1;justify-content:center;min-height:100px;padding:10px}.tox .tox-dropzone p{color:rgba(34,47,62,.7);margin:0 0 16px 0}.tox .tox-edit-area{display:flex;flex:1;overflow:hidden;position:relative}.tox .tox-edit-area::before{border:2px solid #006ce7;border-radius:4px;content:'';inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity .15s;z-index:1}@media (forced-colors:active){.tox .tox-edit-area::before{border:2px solid highlight}}.tox .tox-edit-area__iframe{background-color:#fff;border:0;box-sizing:border-box;flex:1;height:100%;position:absolute;width:100%}.tox.tox-edit-focus .tox-edit-area::before{opacity:1}.tox.tox-inline-edit-area{border:1px dotted #eee}.tox .tox-control-wrap{flex:1;position:relative}.tox .tox-control-wrap:not(.tox-control-wrap--status-invalid) .tox-control-wrap__status-icon-invalid,.tox .tox-control-wrap:not(.tox-control-wrap--status-unknown) .tox-control-wrap__status-icon-unknown,.tox .tox-control-wrap:not(.tox-control-wrap--status-valid) .tox-control-wrap__status-icon-valid{display:none}.tox .tox-control-wrap svg{display:block}.tox .tox-control-wrap__status-icon-wrap{position:absolute;top:50%;transform:translateY(-50%)}.tox .tox-control-wrap__status-icon-invalid svg{fill:#c00}.tox .tox-control-wrap__status-icon-unknown svg{fill:orange}.tox .tox-control-wrap__status-icon-valid svg{fill:green}.tox:not([dir=rtl]) .tox-control-wrap--status-invalid .tox-textfield,.tox:not([dir=rtl]) .tox-control-wrap--status-unknown .tox-textfield,.tox:not([dir=rtl]) .tox-control-wrap--status-valid .tox-textfield{padding-right:32px}.tox:not([dir=rtl]) .tox-control-wrap__status-icon-wrap{right:4px}.tox[dir=rtl] .tox-control-wrap--status-invalid .tox-textfield,.tox[dir=rtl] .tox-control-wrap--status-unknown .tox-textfield,.tox[dir=rtl] .tox-control-wrap--status-valid .tox-textfield{padding-left:32px}.tox[dir=rtl] .tox-control-wrap__status-icon-wrap{left:4px}.tox .tox-custom-preview{border-color:#eee;border-radius:6px;border-style:solid;border-width:1px;flex:1;padding:8px}.tox .tox-autocompleter{max-width:25em}.tox .tox-autocompleter .tox-menu{box-sizing:border-box;max-width:25em}.tox .tox-autocompleter .tox-autocompleter-highlight{font-weight:700}.tox .tox-color-input{display:flex;position:relative;z-index:1}.tox .tox-color-input .tox-textfield{z-index:-1}.tox .tox-color-input span{border-color:rgba(34 47 3.1%);border-radius:6px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;height:24px;position:absolute;top:6px;width:24px}@media (forced-colors:active){.tox .tox-color-input span{border-color:currentColor;border-width:2px!important;forced-color-adjust:none}}.tox .tox-color-input span:focus:not([aria-disabled=true]),.tox .tox-color-input span:hover:not([aria-disabled=true]){border-color:#006ce7;cursor:pointer}.tox .tox-color-input span::before{background-image:linear-gradient(45deg,rgba(0,0,0,.25) 25%,transparent 25%),linear-gradient(-45deg,rgba(0,0,0,.25) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(0,0,0,.25) 75%),linear-gradient(-45deg,transparent 75%,rgba(0,0,0,.25) 75%);background-position:0 0,0 6px,6px -6px,-6px 0;background-size:12px 12px;border:1px solid #fff;border-radius:6px;box-sizing:border-box;content:'';height:24px;left:-1px;position:absolute;top:-1px;width:24px;z-index:-1}@media (forced-colors:active){.tox .tox-color-input span::before{border:none}}.tox .tox-color-input span[aria-disabled=true]{cursor:not-allowed}.tox:not([dir=rtl]) .tox-color-input .tox-textfield{padding-left:36px}.tox:not([dir=rtl]) .tox-color-input span{left:6px}.tox[dir=rtl] .tox-color-input .tox-textfield{padding-right:36px}.tox[dir=rtl] .tox-color-input span{right:6px}.tox .tox-label,.tox .tox-toolbar-label{color:rgba(34,47,62,.7);display:block;font-size:14px;font-style:normal;font-weight:400;line-height:1.3;padding:0 8px 0 0;text-transform:none;white-space:nowrap}.tox .tox-toolbar-label{padding:0 8px}.tox[dir=rtl] .tox-label{padding:0 0 0 8px}.tox .tox-form{display:flex;flex:1;flex-direction:column}.tox .tox-form__group{box-sizing:border-box;margin-bottom:4px}.tox .tox-form-group--maximize{flex:1}.tox .tox-form__group--error{color:#c00}.tox .tox-form__group--collection{display:flex}.tox .tox-form__grid{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between}.tox .tox-form__grid--2col>.tox-form__group{width:calc(50% - (8px / 2))}.tox .tox-form__grid--3col>.tox-form__group{width:calc(100% / 3 - (8px / 2))}.tox .tox-form__grid--4col>.tox-form__group{width:calc(25% - (8px / 2))}.tox .tox-form__controls-h-stack{align-items:center;display:flex}.tox .tox-form__group--inline{align-items:center;display:flex}.tox .tox-form__group--stretched{display:flex;flex:1;flex-direction:column}.tox .tox-form__group--stretched .tox-textarea{flex:1}.tox .tox-form__group--stretched .tox-navobj{display:flex;flex:1}.tox .tox-form__group--stretched .tox-navobj :nth-child(2){flex:1;height:100%}.tox:not([dir=rtl]) .tox-form__controls-h-stack>:not(:first-child){margin-left:4px}.tox[dir=rtl] .tox-form__controls-h-stack>:not(:first-child){margin-right:4px}.tox .tox-lock.tox-locked .tox-lock-icon__unlock,.tox .tox-lock:not(.tox-locked) .tox-lock-icon__lock{display:none}.tox .tox-context-form__group .tox-button--icon.tox-lock-context-form-size-input{margin-left:8px;margin-right:8px}.tox .tox-listboxfield .tox-listbox--select,.tox .tox-textarea,.tox .tox-textarea-wrap .tox-textarea:focus,.tox .tox-textfield,.tox .tox-toolbar-textfield{appearance:none;background-color:#fff;border-color:#eee;border-radius:6px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;color:#222f3e;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif;font-size:16px;line-height:24px;margin:0;min-height:34px;outline:0;padding:5px 5.5px;resize:none;width:100%}.tox .tox-textarea[disabled],.tox .tox-textfield[disabled],.tox .tox-toolbar-textfield[disabled]{background-color:#f2f2f2;color:rgba(34,47,62,.85);cursor:not-allowed}.tox .tox-custom-editor:focus-within,.tox .tox-focusable-wrapper:focus,.tox .tox-listboxfield .tox-listbox--select:focus,.tox .tox-textarea-wrap:focus-within,.tox .tox-textarea:focus,.tox .tox-textfield:focus,.tox .tox-toolbar-textfield:focus{background-color:#fff;border-color:#006ce7;box-shadow:0 0 0 1px #006ce7;outline:0}.tox .tox-toolbar-textfield{max-width:250px;min-height:unset;height:28px;margin:5px 0 6px 0}.tox .tox-naked-btn{background-color:transparent;border:0;border-color:transparent;box-shadow:unset;color:#006ce7;cursor:pointer;display:block;margin:0;padding:0}.tox .tox-naked-btn svg{display:block;fill:#222f3e}.tox .tox-textfield-size{width:80px}.tox:not([dir=rtl]) .tox-toolbar-textfield+*{margin-left:4px}.tox[dir=rtl] .tox-toolbar-textfield+*{margin-right:4px}.tox .tox-listboxfield{cursor:pointer;position:relative}.tox .tox-listboxfield .tox-listbox--select[disabled]{background-color:#f2f2f2;color:rgba(34,47,62,.85);cursor:not-allowed}.tox .tox-listbox__select-label{cursor:default;flex:1;margin:0 4px}.tox .tox-listbox__select-chevron{align-items:center;display:flex;justify-content:center;width:16px}.tox .tox-listbox__select-chevron svg{fill:#222f3e}@media (forced-colors:active){.tox .tox-listbox__select-chevron svg{fill:currentColor!important}}.tox .tox-listboxfield .tox-listbox--select{align-items:center;display:flex}.tox:not([dir=rtl]) .tox-listboxfield svg{right:8px}.tox[dir=rtl] .tox-listboxfield svg{left:8px}.tox .tox-selectfield{cursor:pointer;position:relative}.tox .tox-selectfield select{appearance:none;background-color:#fff;border-color:#eee;border-radius:6px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;color:#222f3e;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif;font-size:16px;line-height:24px;margin:0;min-height:34px;outline:0;padding:5px 5.5px;resize:none;width:100%}.tox .tox-selectfield select[disabled]{background-color:#f2f2f2;color:rgba(34,47,62,.85);cursor:not-allowed}.tox .tox-selectfield select::-ms-expand{display:none}.tox .tox-selectfield select:focus{background-color:#fff;border-color:#006ce7;box-shadow:0 0 0 1px #006ce7;outline:0}.tox .tox-selectfield svg{pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.tox .tox-selectfield select option:checked{background-color:revert;color:revert}.tox:not([dir=rtl]) .tox-selectfield select[size=\"0\"],.tox:not([dir=rtl]) .tox-selectfield select[size=\"1\"]{padding-right:24px}.tox:not([dir=rtl]) .tox-selectfield svg{right:8px}.tox[dir=rtl] .tox-selectfield select[size=\"0\"],.tox[dir=rtl] .tox-selectfield select[size=\"1\"]{padding-left:24px}.tox[dir=rtl] .tox-selectfield svg{left:8px}.tox .tox-textarea-wrap{border-color:#eee;border-radius:6px;border-style:solid;border-width:1px;display:flex;flex:1;overflow:hidden}.tox .tox-textarea{appearance:textarea;white-space:pre-wrap}.tox .tox-textarea-wrap .tox-textarea{border:none}.tox .tox-textarea-wrap .tox-textarea:focus{border:none}.tox-fullscreen{border:0;height:100%;margin:0;overflow:hidden;overscroll-behavior:none;padding:0;touch-action:pinch-zoom;width:100%}.tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle{display:none}.tox-shadowhost.tox-fullscreen,.tox.tox-tinymce.tox-fullscreen{left:0;position:fixed;top:0;z-index:1200}.tox.tox-tinymce.tox-fullscreen{background-color:transparent}.tox-fullscreen .tox.tox-tinymce-aux,.tox-fullscreen~.tox.tox-tinymce-aux{z-index:1201}.tox .tox-help__more-link{list-style:none;margin-top:1em}.tox .tox-imagepreview{background-color:#666;height:380px;overflow:hidden;position:relative;width:100%}.tox .tox-imagepreview.tox-imagepreview__loaded{overflow:auto}.tox .tox-imagepreview__container{display:flex;left:100vw;position:absolute;top:100vw}.tox .tox-imagepreview__image{background:url(data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==)}.tox .tox-image-tools .tox-spacer{flex:1}.tox .tox-image-tools .tox-bar{align-items:center;display:flex;height:60px;justify-content:center}.tox .tox-image-tools .tox-imagepreview,.tox .tox-image-tools .tox-imagepreview+.tox-bar{margin-top:8px}.tox .tox-image-tools .tox-croprect-block{background:#000;opacity:.5;position:absolute;zoom:1}.tox .tox-image-tools .tox-croprect-handle{border:2px solid #fff;height:20px;left:0;position:absolute;top:0;width:20px}.tox .tox-image-tools .tox-croprect-handle-move{border:0;cursor:move;position:absolute}.tox .tox-image-tools .tox-croprect-handle-nw{border-width:2px 0 0 2px;cursor:nw-resize;left:100px;margin:-2px 0 0 -2px;top:100px}.tox .tox-image-tools .tox-croprect-handle-ne{border-width:2px 2px 0 0;cursor:ne-resize;left:200px;margin:-2px 0 0 -20px;top:100px}.tox .tox-image-tools .tox-croprect-handle-sw{border-width:0 0 2px 2px;cursor:sw-resize;left:100px;margin:-20px 2px 0 -2px;top:200px}.tox .tox-image-tools .tox-croprect-handle-se{border-width:0 2px 2px 0;cursor:se-resize;left:200px;margin:-20px 0 0 -20px;top:200px}.tox .tox-image-selector-loading-spinner-wrapper{display:flex;justify-content:center;align-items:center}.tox .tox-image-selector-loading-spinner{position:absolute;width:min(24px,30%);aspect-ratio:1;border-radius:50%;border:3px solid #006ce7;border-bottom-color:transparent;animation:tox-rotation 1s linear infinite}.tox .tox-toolbar .tox-image-selector,.tox .tox-toolbar__overflow .tox-image-selector,.tox .tox-toolbar__primary .tox-image-selector{margin:5px 0 6px 11px}.tox .tox-image-selector-menu{border:0;border-radius:3px;margin:-4px -4px;padding:4px}.tox .tox-image-selector-menu .tox-collection--list .tox-collection__group{border:0;padding:0;margin:-4px -4px}.tox .tox-image-selector-menu .tox-collection__item{max-width:48px}.tox .tox-image-selector-menu .tox-collection__item-icon{border:1px solid #eee;border-radius:3px;margin-bottom:4px;width:100%}.tox .tox-image-selector-menu .tox-collection__item-icon svg path{stroke:#c00}.tox .tox-image-selector__row{display:flex}.tox .tox-image-selector--remove{align-items:center;display:flex;justify-content:center}.tox .tox-image-selector--remove svg path{stroke:#c00}.tox .tox-image-selector-image-wrapper{width:46px;height:46px;display:flex;align-items:center;justify-content:center}.tox .tox-image-selector-image-img{max-width:100%;max-height:100%}.tox .tox-image-selector__picker-btn{align-items:center;background-color:transparent;border:0;cursor:pointer;display:flex;height:30px;justify-content:center;outline:0;padding:0;width:30px}.tox .tox-image-selector__picker-btn svg{fill:#222f3e;height:24px;width:24px}.tox .tox-image-selector__picker-btn:hover{background:#f0f0f0}.tox .tox-context-toolbar{position:absolute;position-try-fallbacks:flip-block,flip-inline,flip-block flip-inline;z-index:1150;background-color:#fff;border:1px solid #e0e0e0;border-radius:9px;box-shadow:0 2px 8px rgba(0,0,0,.08);padding:4px}.tox .tox-context-toolbar[popover]{inset:auto;margin:0}.tox .tox-context-toolbar .tox-toolbar{display:flex;flex-wrap:nowrap;gap:8px}.tox .tox-context-toolbar .tox-toolbar__group{display:flex;flex-wrap:nowrap;flex-shrink:0;gap:4px;align-items:center}.tox .tox-insert-table-picker{background-color:#fff;display:flex;flex-wrap:wrap;width:170px}.tox .tox-insert-table-picker>div{border-color:#eee;border-style:solid;border-width:0 1px 1px 0;box-sizing:border-box;height:17px;width:17px}.tox .tox-collection--list .tox-collection__group .tox-insert-table-picker{margin:-4px -4px}.tox .tox-insert-table-picker .tox-insert-table-picker__selected{background-color:#006ce7;border-color:#eee}@media (forced-colors:active){.tox .tox-insert-table-picker .tox-insert-table-picker__selected{border-color:Highlight;filter:contrast(50%)}}.tox .tox-insert-table-picker__label{color:rgba(34,47,62,.7);display:block;font-size:14px;padding:4px;text-align:center;width:100%}.tox:not([dir=rtl]) .tox-insert-table-picker>div:nth-child(10n){border-right:0}.tox[dir=rtl] .tox-insert-table-picker>div:nth-child(10n+1){border-right:0}.tox-mentions__card-common{z-index:1200}.tox.tox-mentions__card{background:#fff;border:1px solid #eee;display:flex;padding:4px 8px}.tox.tox-mentions__card .tox-mentions__container{display:flex;flex-direction:column;align-self:center;margin:0 4px}.tox .tox-mentions__avatar{width:42px;height:42px;border-radius:50%;margin-right:4px}.tox .tox-mentions__username{font-size:14px;line-height:21px;color:#222f3e}.tox .tox-mentions__description{font-size:12px;line-height:21px;color:rgba(34,47,62,.7)}.tox .tox-collection__item--active .tox-mentions__description,.tox .tox-collection__item--active .tox-mentions__username{color:inherit}.tox .tox-menu{background-color:#fff;border:1px solid transparent;border-radius:6px;box-shadow:0 0 2px 0 rgba(34,47,62,.2),0 4px 8px 0 rgba(34,47,62,.15);display:inline-block;overflow:hidden;vertical-align:top;z-index:1150}.tox .tox-menu.tox-collection.tox-collection--list{padding:0 4px}.tox .tox-menu.tox-collection.tox-collection--toolbar{padding:8px}.tox .tox-menu.tox-collection.tox-collection--grid{padding:8px}@media only screen and (min-width:768px){.tox .tox-menu .tox-collection__item-label{overflow-wrap:break-word;word-break:normal}.tox .tox-dialog__popups .tox-menu .tox-collection__item-label{word-break:break-all}}.tox .tox-menu__label blockquote,.tox .tox-menu__label code,.tox .tox-menu__label h1,.tox .tox-menu__label h2,.tox .tox-menu__label h3,.tox .tox-menu__label h4,.tox .tox-menu__label h5,.tox .tox-menu__label h6,.tox .tox-menu__label p{margin:0}.tox .tox-menubar{background:repeating-linear-gradient(transparent 0 1px,transparent 1px 39px) center top 39px/100% calc(100% - 39px) no-repeat;background-color:#fff;display:flex;flex:0 0 auto;flex-shrink:0;flex-wrap:wrap;grid-column:1/-1;grid-row:1;padding:0 11px 0 12px}.tox .tox-promotion+.tox-menubar{grid-column:1}.tox .tox-promotion{background:repeating-linear-gradient(transparent 0 1px,transparent 1px 39px) center top 39px/100% calc(100% - 39px) no-repeat;background-color:#fff;grid-column:2;grid-row:1;padding-inline-end:8px;padding-inline-start:4px;padding-top:5px}.tox .tox-promotion-link{align-items:unsafe center;background-color:#e8f1f8;border-radius:5px;color:#086be6;cursor:pointer;display:flex;font-size:14px;height:26.6px;padding:4px 8px;white-space:nowrap}.tox .tox-promotion-link:hover{background-color:#b4d7ff}.tox .tox-promotion-link:focus{background-color:#d9edf7}.tox .tox-mbtn{align-items:center;background:#fff;border:0;border-radius:3px;box-shadow:none;color:#222f3e;display:flex;flex:0 0 auto;font-size:14px;font-style:normal;font-weight:400;height:28px;justify-content:center;margin:5px 1px 6px 0;outline:0;padding:0 4px;text-transform:none;width:auto}.tox .tox-mbtn[disabled]{background-color:#fff;border:0;box-shadow:none;color:rgba(34,47,62,.5);cursor:not-allowed}.tox .tox-mbtn:focus:not(:disabled){background:#fff;border:0;box-shadow:none;color:#222f3e;position:relative;z-index:1}.tox .tox-mbtn:focus:not(:disabled)::after{pointer-events:none;border-radius:3px;bottom:0;box-shadow:0 0 0 2px #006ce7;content:'';left:0;position:absolute;right:0;top:0}@media (forced-colors:active){.tox .tox-mbtn:focus:not(:disabled)::after{border:2px solid highlight}}.tox .tox-mbtn--active,.tox .tox-mbtn:not(:disabled).tox-mbtn--active:focus{background:#a6ccf7;border:0;box-shadow:none;color:#222f3e}.tox .tox-mbtn:hover:not(:disabled):not(.tox-mbtn--active){background:#f0f0f0;border:0;box-shadow:none;color:#222f3e}.tox .tox-mbtn__select-label{cursor:default;font-weight:400;margin:0 4px}.tox .tox-mbtn[disabled] .tox-mbtn__select-label{cursor:not-allowed}.tox .tox-mbtn__select-chevron{align-items:center;display:flex;justify-content:center;width:16px;display:none}.tox .tox-notification{border-radius:6px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;display:grid;font-size:14px;font-weight:400;grid-template-columns:minmax(40px,1fr) auto minmax(40px,1fr);margin-left:auto;margin-right:auto;margin-top:4px;opacity:0;padding:4px;transition:transform .1s ease-in,opacity 150ms ease-in;width:max-content}.tox .tox-notification a{cursor:pointer;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-notification p{font-size:14px;font-weight:400}.tox .tox-notification:focus{border-color:#006ce7;box-shadow:0 0 0 1px #006ce7}.tox .tox-notification--in{opacity:1}.tox .tox-notification--success{background-color:#e4eeda;border-color:#d7e6c8;color:#222f3e}.tox .tox-notification--success p{color:#222f3e}.tox .tox-notification--success a{color:#517342}.tox .tox-notification--success a:focus,.tox .tox-notification--success a:hover{color:#24321d;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-notification--success a:focus-visible{border-radius:1px;outline:2px solid #517342;outline-offset:2px}.tox .tox-notification--success a:active{color:#0d120a;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-notification--success svg{fill:#222f3e}.tox .tox-notification--error{background-color:#f5cccc;border-color:#f0b3b3;color:#222f3e}.tox .tox-notification--error p{color:#222f3e}.tox .tox-notification--error a{color:#77181f}.tox .tox-notification--error a:focus,.tox .tox-notification--error a:hover{color:#220709;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-notification--error a:focus-visible{border-radius:1px;outline:2px solid #77181f;outline-offset:2px}.tox .tox-notification--error a:active{color:#000;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-notification--error svg{fill:#222f3e}.tox .tox-notification--warn,.tox .tox-notification--warning{background-color:#fff5cc;border-color:#fff0b3;color:#222f3e}.tox .tox-notification--warn p,.tox .tox-notification--warning p{color:#222f3e}.tox .tox-notification--warn a,.tox .tox-notification--warning a{color:#7a6e25}.tox .tox-notification--warn a:focus,.tox .tox-notification--warn a:hover,.tox .tox-notification--warning a:focus,.tox .tox-notification--warning a:hover{color:#2c280d;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-notification--warn a:focus-visible,.tox .tox-notification--warning a:focus-visible{border-radius:1px;outline:2px solid #7a6e25;outline-offset:2px}.tox .tox-notification--warn a:active,.tox .tox-notification--warning a:active{color:#050502;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-notification--warn svg,.tox .tox-notification--warning svg{fill:#222f3e}.tox .tox-notification--info{background-color:#d6e7fb;border-color:#c1dbf9;color:#222f3e}.tox .tox-notification--info p{color:#222f3e}.tox .tox-notification--info a{color:#2a64a6}.tox .tox-notification--info a:focus,.tox .tox-notification--info a:hover{color:#163355;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-notification--info a:focus-visible{border-radius:1px;outline:2px solid #2a64a6;outline-offset:2px}.tox .tox-notification--info a:active{color:#0b1a2c;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-notification--info svg{fill:#222f3e}.tox .tox-notification__body{align-self:center;color:#222f3e;font-size:14px;grid-column-end:3;grid-column-start:2;grid-row-end:2;grid-row-start:1;text-align:center;white-space:normal;word-break:break-all;word-break:break-word}.tox .tox-notification__body>*{margin:0}.tox .tox-notification__body>*+*{margin-top:1rem}.tox .tox-notification__icon{align-self:center;grid-column-end:2;grid-column-start:1;grid-row-end:2;grid-row-start:1;justify-self:end}.tox .tox-notification__icon svg{display:block}.tox .tox-notification__dismiss{align-self:start;grid-column-end:4;grid-column-start:3;grid-row-end:2;grid-row-start:1;justify-self:end}.tox .tox-notification .tox-progress-bar{grid-column-end:4;grid-column-start:1;grid-row-end:3;grid-row-start:2;justify-self:center}.tox .tox-notification-container-dock-fadeout{opacity:0;visibility:hidden}.tox .tox-notification-container-dock-fadein{opacity:1;visibility:visible}.tox .tox-notification-container-dock-transition{transition:visibility 0s linear .3s,opacity .3s ease}.tox .tox-notification-container-dock-transition.tox-notification-container-dock-fadein{transition-delay:0s}.tox .tox-onboarding-overlay{height:100%;background-color:#f0f0f0;position:absolute;top:0;left:0;right:0;z-index:1302;overflow:auto;display:grid;justify-content:center;align-items:center}.tox .tox-onboarding-dialog{max-width:512px;background-color:#fff;display:flex;flex-direction:column;box-shadow:0 16px 16px -10px rgba(34,47,62,.15),0 0 40px 1px rgba(34,47,62,.15);border-radius:12px;margin:8px}.tox .tox-onboarding-dialog .tox-onboarding-header{color:#222f3e;display:flex;justify-content:center;align-items:center;font-size:20px;margin:24px 0 8px}.tox .tox-onboarding-dialog .tox-onboarding-step{display:grid;grid-template-columns:min-content 1fr min-content;align-items:center;margin:0 24px}.tox .tox-onboarding-dialog .tox-onboarding-step:not(:last-child){border-bottom:1px solid #e3e3e3}.tox .tox-onboarding-dialog .tox-onboarding-step--number{width:24px;aspect-ratio:1;border-radius:50%;border:1px solid #00ad0e;display:flex;justify-content:center;align-items:center;font-size:12px;font-weight:700;color:#00ad0e}.tox .tox-onboarding-dialog .tox-onboarding-step--body{padding:24px 0 24px 16px}.tox .tox-onboarding-dialog .tox-onboarding-step--body-header{color:#222f3e;font-size:14px;font-weight:700;margin-bottom:4px}.tox .tox-onboarding-dialog .tox-onboarding-step--body-details{color:rgba(34,47,62,.7);font-size:14px}.tox .tox-onboarding-dialog .tox-onboarding-step--action{padding-left:24px}.tox .tox-onboarding-dialog .tox-onboarding-footer{background-color:#f0f0f0;display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom-left-radius:12px;border-bottom-right-radius:12px}.tox .tox-onboarding-dialog .tox-onboarding-footer p{display:flex;align-items:center;justify-content:center;gap:4px;font-size:14px;color:rgba(34,47,62,.7)}.tox .tox-onboarding-dialog svg{width:24px;fill:rgba(34,47,62,0.7)}.tox .tox-promotion-dialog .tox-promotion-dialog-plugin{display:grid;align-items:center;grid-template-columns:min-content 1fr min-content;border-bottom:1px solid #e3e3e3;padding:24px 0;margin:0 16px}.tox .tox-promotion-dialog .tox-promotion-dialog-plugin--body{margin:0 16px}.tox .tox-promotion-dialog .tox-promotion-dialog-plugin--body .tox-promotion-dialog-plugin-header{color:#222f3e;font-size:14px;font-weight:700;margin-bottom:4px}.tox .tox-promotion-dialog .tox-promotion-dialog-plugin--body .tox-promotion-dialog-plugin-details{color:rgba(34,47,62,.7);font-size:14px}.tox .tox-promotion-dialog .tox-promotion-dialog-plugin--icon{display:grid;place-content:center;width:56px;height:56px;line-height:24px;font-size:24px;border-radius:12px;background:linear-gradient(180deg,#fff 24%,#f0f0f0 100%);box-shadow:0 1px 1px 0 #222f3e12,0 3px 6px 0 #222f3e06;color:#006ce7}.tox .tox-promotion-dialog--subtitle{margin:16px;color:rgba(34,47,62,.7);font-size:14px}.tox .tox-promotion-dialog--explore{text-align:center;margin:16px;color:rgba(34,47,62,.7);font-size:14px}.tox .tox-promotion-dialog--explore a{color:#006ce7}.tox .tox-promotion-dialog--footer{background-color:#f0f0f0;color:rgba(34,47,62,.7);font-size:12px;text-align:center;padding:16px}.tox .tox-promotion-button{display:flex;align-items:center;height:26.6px;line-height:26.6px;font-size:14px;font-weight:700;background-color:#f1ebf9;color:#851aff;padding:8px 16px;cursor:pointer;white-space:nowrap;border-radius:5px}.tox .tox-promotion-button:focus{outline:1px solid #851AFF}.tox .tox-onboarding-dialog a,.tox .tox-promotion-dialog--footer a{color:rgba(34,47,62,.7);cursor:pointer;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-onboarding-dialog a:focus,.tox .tox-onboarding-dialog a:hover,.tox .tox-promotion-dialog--footer a:focus,.tox .tox-promotion-dialog--footer a:hover{color:#071729;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-onboarding-dialog a:focus-visible,.tox .tox-promotion-dialog--footer a:focus-visible{border-radius:1px;outline:2px solid #144782;outline-offset:2px}.tox .tox-onboarding-dialog a:active,.tox .tox-promotion-dialog--footer a:active{color:#000;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-pop{display:inline-block;position:relative}.tox .tox-pop--resizing{transition:width .1s ease}.tox .tox-pop--resizing .tox-toolbar,.tox .tox-pop--resizing .tox-toolbar__group{flex-wrap:nowrap}.tox .tox-pop--transition{transition:.15s ease;transition-property:left,right,top,bottom}.tox .tox-pop--transition::after,.tox .tox-pop--transition::before{transition:all .15s,visibility 0s,opacity 75ms ease 75ms}.tox .tox-pop__dialog{background-color:#fff;border:1px solid #eee;border-radius:6px;box-shadow:0 0 2px 0 rgba(34,47,62,.2),0 4px 8px 0 rgba(34,47,62,.15);min-width:0;overflow:hidden}.tox .tox-pop__dialog>:not(.tox-toolbar){margin:4px 4px 4px 8px}.tox .tox-pop__dialog .tox-toolbar{background-color:transparent;margin-bottom:-1px}.tox .tox-pop::after,.tox .tox-pop::before{border-style:solid;content:'';display:block;height:0;opacity:1;position:absolute;width:0}@media (forced-colors:active){.tox .tox-pop::after,.tox .tox-pop::before{content:none}}.tox .tox-pop.tox-pop--inset::after,.tox .tox-pop.tox-pop--inset::before{opacity:0;transition:all 0s .15s,visibility 0s,opacity 75ms ease}.tox .tox-pop.tox-pop--bottom::after,.tox .tox-pop.tox-pop--bottom::before{left:50%;top:100%}.tox .tox-pop.tox-pop--bottom::after{border-color:#fff transparent transparent transparent;border-width:8px;margin-left:-8px;margin-top:-1px}.tox .tox-pop.tox-pop--bottom::before{border-color:#eee transparent transparent transparent;border-width:9px;margin-left:-9px}.tox .tox-pop.tox-pop--top::after,.tox .tox-pop.tox-pop--top::before{left:50%;top:0;transform:translateY(-100%)}.tox .tox-pop.tox-pop--top::after{border-color:transparent transparent #fff transparent;border-width:8px;margin-left:-8px;margin-top:1px}.tox .tox-pop.tox-pop--top::before{border-color:transparent transparent #eee transparent;border-width:9px;margin-left:-9px}.tox .tox-pop.tox-pop--left::after,.tox .tox-pop.tox-pop--left::before{left:0;top:calc(50% - 1px);transform:translateY(-50%)}.tox .tox-pop.tox-pop--left::after{border-color:transparent #fff transparent transparent;border-width:8px;margin-left:-15px}.tox .tox-pop.tox-pop--left::before{border-color:transparent #eee transparent transparent;border-width:10px;margin-left:-19px}.tox .tox-pop.tox-pop--right::after,.tox .tox-pop.tox-pop--right::before{left:100%;top:calc(50% + 1px);transform:translateY(-50%)}.tox .tox-pop.tox-pop--right::after{border-color:transparent transparent transparent #fff;border-width:8px;margin-left:-1px}.tox .tox-pop.tox-pop--right::before{border-color:transparent transparent transparent #eee;border-width:10px;margin-left:-1px}.tox .tox-pop.tox-pop--align-left::after,.tox .tox-pop.tox-pop--align-left::before{left:20px}.tox .tox-pop.tox-pop--align-right::after,.tox .tox-pop.tox-pop--align-right::before{left:calc(100% - 20px)}.tox .tox-sidebar-wrap{display:flex;flex-direction:row;flex-grow:1;min-height:0}.tox .tox-sidebar{background-color:var(--tox-private-sidebar-background-color,#f0f0f0);display:flex;flex-direction:row;justify-content:flex-end}.tox .tox-sidebar__slider{display:flex;overflow:hidden}.tox .tox-sidebar__pane-container{display:flex}.tox .tox-sidebar__pane{display:flex}.tox .tox-sidebar--sliding-closed{opacity:0}.tox .tox-sidebar--sliding-open{opacity:1}.tox .tox-sidebar--sliding-growing,.tox .tox-sidebar--sliding-shrinking{transition:width .5s ease,opacity .5s ease}.tox .tox-sidebar-content{display:flex;flex-direction:column;position:relative;height:100%;min-width:300px;max-width:300px;width:300px;border-left:1px solid var(--tox-private-sidebar-border-color,#e3e3e3)}.tox .tox-sidebar-content__header{align-items:center;display:flex;justify-content:space-between;box-shadow:var(--tox-private-sidebar-header-box-shadow,0 4px 8px 0 rgba(34,47,62,.1));padding:var(--tox-private-pad-sm,8px) 12px;background:var(--tox-private-background-color,#fff);z-index:1}.tox .tox-sidebar-content__header .tox-sidebar-content__header-close-button{margin-left:auto}.tox .tox-sidebar-content__title{font-size:var(--tox-private-font-size-lg, 20px);font-weight:var(--tox-private-font-weight-normal,normal);padding:var(--tox-private-pad-sm,8px) 0 var(--tox-private-pad-sm,8px) 0;color:var(--tox-private-text-color,#222f3e);line-height:28px}.tox .tox-floating-sidebar{--tox-private-floating-sidebar-requested-height:600px;--tox-private-floating-sidebar-width:min(380px, 90vw);--tox-private-floating-sidebar-height:min(var(--tox-private-floating-sidebar-requested-height), 80vh);box-shadow:var(--tox-private-floating-sidebar-box-shadow,0 0 40px 1px rgba(34,47,62,.15),0 16px 16px -10px rgba(34,47,62,.15));width:var(--tox-private-floating-sidebar-width);height:var(--tox-private-floating-sidebar-height);background-color:var(--tox-private-background-color,#fff);border-radius:12px;overflow:hidden}.tox .tox-floating-sidebar__content-wrapper{width:100%;height:100%;display:flex;flex-direction:column}.tox .tox-floating-sidebar__header{position:relative}.tox-ai .tox-ai__user-prompt{display:flex;flex-direction:column;margin-left:auto;gap:inherit}.tox-ai .tox-ai__user-prompt__context{margin-left:auto}.tox-ai .tox-ai__user-prompt__text{background-color:var(--tox-private-ai-user-prompt-background,#f0f0f0);padding:var(--tox-private-pad-sm,8px) 12px;border-radius:var(--tox-private-control-border-radius,6px);max-width:80%;align-self:flex-end;color:var(--tox-private-text-color,#222f3e)}.tox-ai .tox-ai__scroll{overflow:auto;background-color:var(--tox-private-background-color,#fff);display:flex;padding:12px;flex-direction:column;align-items:flex-start;gap:12px;flex:1 0 0;align-self:stretch}.tox-ai .tox-ai__response-content{padding:var(--tox-private-pad-sm,8px) 0;color:var(--tox-private-text-color,#222f3e);font-feature-settings:'liga' off,'clig' off;font-size:var(--tox-private-font-size-sm, 14px);font-style:normal;font-weight:var(--tox-private-font-weight-normal,normal);line-height:var(--tox-private-line-height, 18px);white-space:pre-wrap}.tox-ai .tox-ai__response.tox-ai__response-streaming{background:linear-gradient(180deg,var(--tox-private-color-black,#222f3e) 0,transparent 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.tox-ai .tox-ai__error-message{border-radius:var(--tox-private-panel-border-radius,6px);border:1px solid var(--tox-private-color-error,#c00);background:linear-gradient(0deg,color-mix(in srgb,var(--tox-private-color-white,#fff) 90%,transparent) 0,color-mix(in srgb,var(--tox-private-color-white,#fff) 90%,transparent) 100%),var(--tox-private-color-error,#c00);padding:var(--tox-private-pad-sm,8px);width:100%}.tox-ai .tox-ai__footer{border-top:1px solid var(--tox-private-ai-footer-border-color,#e3e3e3);padding:12px;gap:var(--tox-private-pad-sm,8px);background-color:var(--tox-private-background-color,#fff);display:flex;flex-direction:column}.tox-ai .tox-ai__context{display:flex;gap:8px}.tox-ai .tox-ai__footer-actions{display:flex;gap:var(--tox-private-pad-sm,8px)}.tox .tox-selector{background-color:#4099ff;border-color:#4099ff;border-style:solid;border-width:1px;box-sizing:border-box;display:inline-block;height:10px;position:absolute;width:10px}.tox.tox-platform-touch .tox-selector{height:12px;width:12px}.tox .tox-skeleton .tox-skeleton__line{height:16px;width:100%;background:linear-gradient(to right,rgba(240,240,240,.5) 8%,rgba(240,240,240,.7) 18%,rgba(240,240,240,.5) 33%);animation:wave 2s infinite ease-out}.tox .tox-skeleton .tox-skeleton__circle{height:36px;width:36px;margin-right:8px;border-radius:100%;background:linear-gradient(to right,rgba(240,240,240,.5) 8%,rgba(240,240,240,.7) 18%,rgba(240,240,240,.5) 33%);animation:wave 2s infinite ease-out}@keyframes wave{0%{background-position:-268px 0}100%{background-position:268px 0}}.tox .tox-slider{align-items:center;display:flex;flex:1;height:24px;justify-content:center;position:relative}.tox .tox-slider__rail{background-color:transparent;border:1px solid #eee;border-radius:6px;height:10px;min-width:120px;width:100%}.tox .tox-slider__handle{background-color:#006ce7;border:2px solid #0054b4;border-radius:6px;box-shadow:none;height:24px;left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%);width:14px}.tox .tox-form__controls-h-stack>.tox-slider:not(:first-of-type){margin-inline-start:8px}.tox .tox-form__controls-h-stack>.tox-form__group+.tox-slider{margin-inline-start:32px}.tox .tox-form__controls-h-stack>.tox-slider+.tox-form__group{margin-inline-start:32px}.tox .tox-toolbar-slider{align-items:center;display:inline-flex;height:16px}.tox .tox-toolbar-slider__input{appearance:none;background:#eee;border-radius:16px;width:130px;height:2px}.tox .tox-toolbar-slider__input::-webkit-slider-runnable-track{background-color:transparent;height:16px}.tox .tox-toolbar-slider__input::-moz-range-track{background-color:transparent;height:16px}.tox .tox-toolbar-slider__input::-webkit-slider-thumb{-webkit-appearance:none;background-color:#006ce7;border-radius:16px;border:none;height:16px;width:16px}.tox .tox-toolbar-slider__input::-moz-range-thumb{appearance:none;background-color:#006ce7;border-radius:16px;border:none;height:16px;width:16px}.tox .tox-toolbar-slider__input:focus-visible{outline:0}.tox .tox-toolbar-slider__input:focus::-webkit-slider-thumb{background-color:#0060ce;box-shadow:inset 0 0 0 1px #fff,0 0 0 2px #006ce7}.tox .tox-toolbar-slider__input:focus::-moz-range-thumb{background-color:#0060ce;box-shadow:inset 0 0 0 1px #fff,0 0 0 2px #006ce7}.tox .tox-toolbar-slider__input:hover::-webkit-slider-thumb{background-color:#0060ce}.tox .tox-toolbar-slider__input:hover::-moz-range-thumb{background-color:#0060ce}.tox .tox-toolbar-slider__input:active::-webkit-slider-thumb{background-color:#0054b4}.tox .tox-toolbar-slider__input:active::-moz-range-thumb{background-color:#0054b4}.tox .tox-toolbar-slider__input[disabled]::-webkit-slider-thumb{background-color:rgba(255,255,255,.5)}.tox .tox-toolbar-slider__input[disabled]::-moz-range-thumb{background-color:rgba(255,255,255,.5)}.tox .tox-source-code{overflow:auto}.tox .tox-spinner{display:flex}.tox .tox-spinner>div{animation:tam-bouncing-dots 1.5s ease-in-out 0s infinite both;background-color:rgba(34,47,62,.7);border-radius:100%;height:8px;width:8px}.tox .tox-spinner>div:first-child{animation-delay:-.32s}.tox .tox-spinner>div:nth-child(2){animation-delay:-.16s}@keyframes tam-bouncing-dots{0%,100%,80%{transform:scale(0)}40%{transform:scale(1)}}.tox:not([dir=rtl]) .tox-spinner>div:not(:first-child){margin-left:4px}.tox[dir=rtl] .tox-spinner>div:not(:first-child){margin-right:4px}.tox .tox-ai__spinner{width:24px;height:24px}.tox .tox-statusbar{align-items:center;background-color:#fff;border-top:1px solid #e3e3e3;color:rgba(34,47,62,.7);display:flex;flex:0 0 auto;font-size:14px;font-weight:400;height:25px;overflow:hidden;padding:0 8px;position:relative;text-transform:none}.tox .tox-statusbar__path{display:flex;flex:1 1 auto;text-overflow:ellipsis;white-space:nowrap}.tox .tox-statusbar__right-container{display:flex;justify-content:flex-end;white-space:nowrap}.tox .tox-statusbar__help-text{text-align:center}.tox .tox-statusbar__text-container{align-items:flex-start;display:flex;flex:1 1 auto;height:16px;justify-content:space-between}@media only screen and (min-width:768px){.tox .tox-statusbar__text-container.tox-statusbar__text-container-3-cols>.tox-statusbar__help-text,.tox .tox-statusbar__text-container.tox-statusbar__text-container-3-cols>.tox-statusbar__path,.tox .tox-statusbar__text-container.tox-statusbar__text-container-3-cols>.tox-statusbar__right-container{flex:0 0 calc(100% / 3)}}.tox .tox-statusbar__text-container.tox-statusbar__text-container--flex-end{justify-content:flex-end}.tox .tox-statusbar__text-container.tox-statusbar__text-container--flex-start{justify-content:flex-start}.tox .tox-statusbar__text-container.tox-statusbar__text-container--space-around{justify-content:space-around}.tox .tox-statusbar__path>*{display:inline;white-space:nowrap}.tox .tox-statusbar__wordcount{flex:0 0 auto;margin-left:1ch}@media only screen and (max-width:767px){.tox .tox-statusbar__text-container .tox-statusbar__help-text{display:none}.tox .tox-statusbar__text-container .tox-statusbar__help-text:only-child{display:block}}.tox .tox-statusbar a,.tox .tox-statusbar__path-item,.tox .tox-statusbar__wordcount{color:rgba(34,47,62,.7);position:relative;-webkit-text-decoration:none;text-decoration:none}.tox .tox-statusbar a:focus:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar a:hover:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__path-item:focus:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__path-item:hover:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__wordcount:focus:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__wordcount:hover:not(:disabled):not([aria-disabled=true]){color:#222f3e;cursor:pointer}.tox .tox-statusbar a:focus-visible::after,.tox .tox-statusbar__path-item:focus-visible::after,.tox .tox-statusbar__wordcount:focus-visible::after{border-radius:3px;bottom:0;box-shadow:0 0 0 2px #006ce7;content:'';left:0;position:absolute;right:0;top:0}@media (forced-colors:active){.tox .tox-statusbar a:focus-visible::after,.tox .tox-statusbar__path-item:focus-visible::after,.tox .tox-statusbar__wordcount:focus-visible::after{border:2px solid highlight}}.tox .tox-statusbar__branding svg{fill:rgba(34,47,62,0.8);height:1em;margin-left:.3em;width:auto}@media (forced-colors:active){.tox .tox-statusbar__branding svg{fill:currentColor}}.tox .tox-statusbar__branding a{align-items:center;display:inline-flex}.tox .tox-statusbar__branding a:focus:not(:disabled):not([aria-disabled=true]) svg,.tox .tox-statusbar__branding a:hover:not(:disabled):not([aria-disabled=true]) svg{fill:#222f3e}.tox .tox-statusbar__resize-cursor-default{cursor:ns-resize}.tox .tox-statusbar__resize-cursor-both{cursor:nwse-resize}.tox .tox-statusbar__resize-handle{align-items:flex-end;align-self:stretch;display:flex;flex:0 0 auto;justify-content:flex-end;margin-bottom:3px;margin-left:4px;margin-right:calc(3px - 8px);margin-top:3px;padding-bottom:0;padding-left:0;padding-right:0;position:relative}.tox .tox-statusbar__resize-handle svg{display:block;fill:rgba(34,47,62,0.5)}.tox .tox-statusbar__resize-handle:focus svg,.tox .tox-statusbar__resize-handle:hover svg{fill:#222f3e}.tox .tox-statusbar__resize-handle:focus-visible{background-color:transparent;border-radius:1px 1px 5px 1px;box-shadow:0 0 0 2px transparent}.tox .tox-statusbar__resize-handle:focus-visible::after{border-radius:3px;bottom:0;box-shadow:0 0 0 2px #006ce7;content:'';left:0;position:absolute;right:0;top:0}@media (forced-colors:active){.tox .tox-statusbar__resize-handle:focus-visible::after{border:2px solid highlight}}.tox .tox-statusbar__resize-handle:only-child{margin-left:auto}.tox:not([dir=rtl]) .tox-statusbar__path>*{margin-right:4px}.tox:not([dir=rtl]) .tox-statusbar__branding{margin-left:2ch}.tox[dir=rtl] .tox-statusbar{flex-direction:row-reverse}.tox[dir=rtl] .tox-statusbar__path>*{margin-left:4px}.tox[dir=rtl] .tox-statusbar__branding svg{margin-left:0;margin-right:.3em}.tox .tox-tag{width:-moz-fit-content;width:fit-content;display:flex;padding:4px 6px;align-items:center;gap:4px;border-radius:3px;background:linear-gradient(0deg,color-mix(in srgb,var(--tox-private-color-white,#fff) 90%,transparent) 0,color-mix(in srgb,var(--tox-private-color-white,#fff) 90%,transparent) 100%),var(--tox-private-color-tint,#006ce7);line-height:var(--tox-private-base-value, 16px);font-size:var(--tox-private-font-size-xs, 12px)}.tox .tox-tag .tox-tag__icon{height:var(--tox-private-base-value,16px)}.tox .tox-tag .tox-tag__close{height:var(--tox-private-base-value,16px)}.tox .tox-tag .tox-tag__close .tox-button.tox-button--icon{border:0;padding:0}.tox .tox-tag .tox-tag__close .tox-button.tox-button--icon::before{box-shadow:none}.tox .tox-throbber{z-index:1299}.tox .tox-throbber__busy-spinner{align-items:center;background-color:rgba(255,255,255,.6);bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0}.tox .tox-toggle{display:flex;align-items:center;gap:var(--tox-private-pad-xs,4px);padding:var(--tox-private-pad-xs,4px);font-weight:var(--tox-private-font-weight-normal,normal);line-height:var(--tox-private-control-line-height, 24px);white-space:nowrap;background-color:var(--tox-private-background-color,#fff);color:var(--tox-private-text-color,#222f3e)}.tox .tox-toggle input{position:absolute;opacity:0;width:0;height:0}.tox .tox-toggle__slider{position:relative;cursor:pointer;box-sizing:border-box;transition:.4s;border-radius:34px;width:28px;height:16px;background-color:var(--tox-private-slider-background-color,#fff);border:1px solid var(--tox-private-slider-border-color,#e3e3e3)}.tox .tox-toggle__slider::before{position:absolute;content:\"\";height:12px;width:12px;left:1px;bottom:1px;transition:.4s;border-radius:50%;background-color:var(--tox-private-slider-handle-background-color,#222f3e)}.tox input:checked+.tox-toggle__slider{background-color:var(--tox-private-slider-checked-background-color,#006ce7);border:1px solid var(--tox-private-slider-checked-border-color,#006ce7)}.tox input:focus+.tox-toggle__slider{box-shadow:0 0 0 1px var(--tox-private-color-white,#fff),0 0 0 2px var(--tox-private-color-tint,#006ce7)}.tox input:checked+.tox-toggle__slider::before{transform:translateX(12px);background-color:var(--tox-private-slider-checked-handle-background-color,#fff)}.tox input:disabled+.tox-toggle__slider::before{opacity:50%}.tox .tox-tbtn{align-items:center;background:#fff;border:0;border-radius:3px;box-shadow:none;color:#222f3e;display:flex;flex:0 0 auto;font-size:14px;font-style:normal;font-weight:400;height:28px;justify-content:center;margin:6px 1px 5px 0;outline:0;padding:0;text-transform:none;width:34px}.tox .tox-tbtn .tox-tbtn__icon-wrap{pointer-events:none}@media (forced-colors:active){.tox .tox-tbtn.tox-tbtn:hover,.tox .tox-tbtn:hover{outline:1px dashed currentColor}.tox .tox-tbtn.tox-tbtn--active,.tox .tox-tbtn.tox-tbtn--enabled,.tox .tox-tbtn.tox-tbtn--enabled:focus,.tox .tox-tbtn.tox-tbtn--enabled:hover,.tox .tox-tbtn:focus:not(.tox-tbtn--disabled){outline:1px solid currentColor;position:relative}}.tox .tox-tbtn svg{display:block;fill:#222f3e}@media (forced-colors:active){.tox .tox-tbtn svg{fill:currentColor!important}.tox .tox-tbtn svg.tox-tbtn--enabled,.tox .tox-tbtn svg:focus:not(.tox-tbtn--disabled){fill:currentColor!important}.tox .tox-tbtn svg .tox-tbtn:disabled,.tox .tox-tbtn svg .tox-tbtn:disabled:hover,.tox .tox-tbtn svg.tox-tbtn--disabled,.tox .tox-tbtn svg.tox-tbtn--disabled:hover{filter:contrast(0%)}}.tox .tox-tbtn.tox-tbtn-more{padding-left:5px;padding-right:5px;width:inherit}.tox .tox-tbtn:focus{background:#fff;border:0;box-shadow:none;position:relative;z-index:1}.tox .tox-tbtn:focus::after{border-radius:3px;bottom:0;box-shadow:0 0 0 2px #006ce7;content:'';left:0;position:absolute;right:0;top:0}@media (forced-colors:active){.tox .tox-tbtn:focus::after{border:2px solid highlight}}.tox .tox-tbtn:hover{background:#f0f0f0;border:0;box-shadow:none;color:#222f3e}.tox .tox-tbtn:hover svg{fill:#222f3e}.tox .tox-tbtn:active{background:#a6ccf7;border:0;box-shadow:none;color:#222f3e}.tox .tox-tbtn:active svg{fill:#222f3e}.tox .tox-tbtn--disabled .tox-tbtn--enabled svg{fill:rgba(34,47,62,0.5)}.tox .tox-tbtn--disabled,.tox .tox-tbtn--disabled:hover,.tox .tox-tbtn:disabled,.tox .tox-tbtn:disabled:hover{background:#fff;border:0;box-shadow:none;color:rgba(34,47,62,.5);cursor:not-allowed}.tox .tox-tbtn--disabled svg,.tox .tox-tbtn--disabled:hover svg,.tox .tox-tbtn:disabled svg,.tox .tox-tbtn:disabled:hover svg{fill:rgba(34,47,62,0.5)}.tox .tox-tbtn--active,.tox .tox-tbtn--enabled,.tox .tox-tbtn--enabled:focus,.tox .tox-tbtn--enabled:hover{background:#a6ccf7;border:0;box-shadow:none;color:#222f3e;position:relative}.tox .tox-tbtn--active>*,.tox .tox-tbtn--enabled:focus>*,.tox .tox-tbtn--enabled:hover>*,.tox .tox-tbtn--enabled>*{transform:none}.tox .tox-tbtn--active svg,.tox .tox-tbtn--enabled svg,.tox .tox-tbtn--enabled:focus svg,.tox .tox-tbtn--enabled:hover svg{fill:#222f3e}.tox .tox-tbtn--active.tox-tbtn--disabled svg,.tox .tox-tbtn--enabled.tox-tbtn--disabled svg,.tox .tox-tbtn--enabled:focus.tox-tbtn--disabled svg,.tox .tox-tbtn--enabled:hover.tox-tbtn--disabled svg{fill:rgba(34,47,62,0.5)}.tox .tox-tbtn--enabled:focus::after{border-radius:3px;bottom:0;box-shadow:0 0 0 2px #006ce7;content:'';left:0;position:absolute;right:0;top:0}@media (forced-colors:active){.tox .tox-tbtn--enabled:focus::after{border:2px solid highlight}}.tox .tox-tbtn:focus:not(.tox-tbtn--disabled){color:#222f3e}.tox .tox-tbtn:focus:not(.tox-tbtn--disabled) svg{fill:#222f3e}.tox .tox-tbtn:active>*{transform:none}.tox .tox-tbtn--md{height:42px;width:51px}.tox .tox-tbtn--lg{flex-direction:column;height:56px;width:68px}.tox .tox-tbtn--return{align-self:stretch;height:unset;width:16px}.tox .tox-tbtn--labeled{padding:0 4px;width:unset}.tox .tox-tbtn__vlabel{display:block;font-size:10px;font-weight:400;letter-spacing:-.025em;margin-bottom:4px;white-space:nowrap}.tox .tox-label--context-toolbar{margin:6px 1px 5px 0;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.tox .tox-number-input{background:#f7f7f7;border-radius:3px;display:flex;margin:6px 1px 5px 0;position:relative;width:auto}.tox .tox-number-input:focus{background:#f7f7f7}.tox .tox-number-input:focus::after{border-radius:3px;bottom:0;box-shadow:0 0 0 2px #006ce7;content:'';left:0;position:absolute;right:0;top:0}@media (forced-colors:active){.tox .tox-number-input:focus::after{border:2px solid highlight}}.tox .tox-number-input .tox-input-wrapper{display:flex;pointer-events:none;position:relative;text-align:center}.tox .tox-number-input .tox-input-wrapper:focus{background-color:#f7f7f7;z-index:1}.tox .tox-number-input .tox-input-wrapper:focus::after{border-radius:3px;bottom:0;box-shadow:0 0 0 2px #006ce7;content:'';left:0;position:absolute;right:0;top:0}@media (forced-colors:active){.tox .tox-number-input .tox-input-wrapper:focus::after{border:2px solid highlight}}.tox .tox-number-input .tox-input-wrapper:has(input:focus)::after{border-radius:3px;bottom:0;box-shadow:0 0 0 2px #006ce7;content:'';left:0;position:absolute;right:0;top:0}@media (forced-colors:active){.tox .tox-number-input .tox-input-wrapper:has(input:focus)::after{border:2px solid highlight}}.tox .tox-number-input input{border-radius:3px;color:#222f3e;font-size:14px;margin:2px 0;pointer-events:all;position:relative;width:60px}.tox .tox-number-input input:hover{background:#f0f0f0;color:#222f3e}.tox .tox-number-input input:focus{background-color:#f7f7f7}.tox .tox-number-input input:disabled{background:#fff;border:0;box-shadow:none;color:rgba(34,47,62,.5);cursor:not-allowed}.tox .tox-number-input button{color:#222f3e;height:28px;position:relative;text-align:center;width:24px}@media (forced-colors:active){.tox .tox-number-input button:active,.tox .tox-number-input button:focus,.tox .tox-number-input button:hover{outline:1px solid currentColor!important}}.tox .tox-number-input button svg{display:block;fill:#222f3e;margin:0 auto;transform:scale(.67)}@media (forced-colors:active){.tox .tox-number-input button svg,.tox .tox-number-input button svg:active,.tox .tox-number-input button svg:hover{fill:currentColor!important}.tox .tox-number-input button svg:disabled{filter:contrast(0)}}.tox .tox-number-input button:focus{background:#f7f7f7;z-index:1}.tox .tox-number-input button:focus::after{border-radius:3px;bottom:0;box-shadow:0 0 0 2px #006ce7;content:'';left:0;position:absolute;right:0;top:0}@media (forced-colors:active){.tox .tox-number-input button:focus::after{border:2px solid highlight}}.tox .tox-number-input button:hover{background:#f0f0f0;border:0;box-shadow:none;color:#222f3e}.tox .tox-number-input button:hover svg{fill:#222f3e}.tox .tox-number-input button:active{background:#a6ccf7;border:0;box-shadow:none;color:#222f3e}.tox .tox-number-input button:active svg{fill:#222f3e}.tox .tox-number-input button:disabled{background:#fff;border:0;box-shadow:none;color:rgba(34,47,62,.5);cursor:not-allowed}.tox .tox-number-input button:disabled svg{fill:rgba(34,47,62,0.5)}.tox .tox-number-input button.minus{border-radius:3px 0 0 3px}.tox .tox-number-input button.plus{border-radius:0 3px 3px 0}.tox .tox-number-input:focus:not(:active)>.tox-input-wrapper,.tox .tox-number-input:focus:not(:active)>button{background:#f7f7f7}.tox .tox-tbtn--select{margin:6px 1px 5px 0;padding:0 4px;width:auto}.tox .tox-tbtn--bordered,.tox .tox-tbtn--bordered:focus,.tox .tox-tbtn--bordered:hover{border:1px solid #eee}.tox .tox-tbtn__select-label{cursor:default;font-weight:400;height:initial;margin:0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tox .tox-tbtn__select-chevron{align-items:center;display:flex;justify-content:center;width:16px}.tox .tox-tbtn__select-chevron svg{fill:rgba(34,47,62,0.5)}@media (forced-colors:active){.tox .tox-tbtn__select-chevron svg{fill:currentColor}}.tox .tox-tbtn--bespoke{background:#f7f7f7}.tox .tox-tbtn--bespoke:focus{background:#f7f7f7}.tox .tox-tbtn--bespoke+.tox-tbtn--bespoke{margin-inline-start:4px}.tox .tox-tbtn--bespoke .tox-tbtn__select-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:7em}.tox .tox-tbtn--disabled .tox-tbtn__select-label,.tox .tox-tbtn--select:disabled .tox-tbtn__select-label{cursor:not-allowed}.tox .tox-split-button__main{border-radius:3px 0 0 3px;margin-right:0}.tox .tox-split-button__main:focus{border:0;box-shadow:none;background:#fff;color:#222f3e;position:relative;z-index:1}.tox .tox-split-button__main:focus::after{border-radius:3px;bottom:0;box-shadow:0 0 0 2px #006ce7;content:'';left:0;position:absolute;right:0;top:0;border-radius:3px 0 0 3px}@media (forced-colors:active){.tox .tox-split-button__main:focus::after{border:2px solid highlight}}.tox .tox-split-button__chevron{width:16px;border-radius:0 3px 3px 0;margin-left:0}.tox .tox-split-button__chevron:focus{border:0;box-shadow:none;background:#fff;color:#222f3e;position:relative;z-index:1}.tox .tox-split-button__chevron:focus::after{border-radius:3px;bottom:0;box-shadow:0 0 0 2px #006ce7;content:'';left:0;position:absolute;right:0;top:0;border-radius:0 3px 3px 0}@media (forced-colors:active){.tox .tox-split-button__chevron:focus::after{border:2px solid highlight}}.tox .tox-split-button__chevron svg{fill:rgba(34,47,62,0.5)}@media (forced-colors:active){.tox .tox-split-button__chevron svg{fill:currentColor}}.tox.tox-platform-touch .tox-split-button__main{width:30px}.tox.tox-platform-touch .tox-split-button__chevron{width:20px}.tox .tox-split-button__chevron.tox-tbtn--disabled,.tox .tox-split-button__main.tox-tbtn--disabled{background:#fff;box-shadow:none;color:rgba(34,47,62,.5)}.tox .tox-split-button__chevron.tox-tbtn--disabled:hover,.tox .tox-split-button__main.tox-tbtn--disabled:hover{background:#fff;box-shadow:none;color:rgba(34,47,62,.5)}.tox .tox-split-button__chevron.tox-tbtn--disabled:focus,.tox .tox-split-button__main.tox-tbtn--disabled:focus{background:#fff;box-shadow:none;color:rgba(34,47,62,.5)}.tox .tox-split-button__main.tox-tbtn--disabled svg .tox-icon-highlight-bg-color__color,.tox .tox-split-button__main.tox-tbtn--disabled svg .tox-icon-text-color__color{opacity:.3}.tox .tox-toolbar-overlord{background-color:#fff}.tox .tox-toolbar,.tox .tox-toolbar__overflow,.tox .tox-toolbar__primary{background-attachment:local;background-color:#fff;background-image:repeating-linear-gradient(#e3e3e3 0 1px,transparent 1px 39px);background-position:center top 40px;background-repeat:no-repeat;background-size:calc(100% - 11px * 2) calc(100% - 41px);display:flex;flex:0 0 auto;flex-shrink:0;flex-wrap:wrap;padding:0 0;transform:perspective(1px)}.tox .tox-toolbar-overlord>.tox-toolbar,.tox .tox-toolbar-overlord>.tox-toolbar__overflow,.tox .tox-toolbar-overlord>.tox-toolbar__primary{background-position:center top 0;background-size:calc(100% - 11px * 2) calc(100% - 0px)}.tox .tox-toolbar__overflow.tox-toolbar__overflow--closed{height:0;opacity:0;padding-bottom:0;padding-top:0;visibility:hidden}.tox .tox-toolbar__overflow--growing{transition:height .3s ease,opacity .2s linear .1s}.tox .tox-toolbar__overflow--shrinking{transition:opacity .3s ease,height .2s linear .1s,visibility 0s linear .3s}.tox .tox-anchorbar,.tox .tox-toolbar-overlord{grid-column:1/-1}.tox .tox-menubar+.tox-toolbar,.tox .tox-menubar+.tox-toolbar-overlord{border-top:1px solid transparent;margin-top:-1px;padding-bottom:1px;padding-top:1px}@media (forced-colors:active){.tox .tox-menubar+.tox-toolbar,.tox .tox-menubar+.tox-toolbar-overlord{outline:1px solid currentColor}}.tox .tox-toolbar--scrolling{flex-wrap:nowrap;overflow-x:auto}.tox .tox-pop .tox-toolbar{border-width:0}.tox .tox-toolbar--no-divider{background-image:none}.tox .tox-toolbar-overlord .tox-toolbar:not(.tox-toolbar--scrolling):first-child,.tox .tox-toolbar-overlord .tox-toolbar__primary{background-position:center top 39px}.tox .tox-editor-header>.tox-toolbar--scrolling,.tox .tox-toolbar-overlord .tox-toolbar--scrolling:first-child{background-image:none}.tox .tox-focusable-wrapper{border:1px solid transparent;margin-right:2px;pointer-events:none}.tox .tox-focusable-wrapper .tox-textfield-size{pointer-events:all}.tox .tox-focusable-wrapper:focus{background-color:#f7f7f7;border-radius:6px;border-style:solid;border-width:1px}.tox.tox-tinymce-aux .tox-toolbar__overflow{background-color:#fff;background-position:center top 43px;background-size:calc(100% - 8px * 2) calc(100% - 51px);border:none;border-radius:6px;box-shadow:0 0 2px 0 rgba(34,47,62,.2),0 4px 8px 0 rgba(34,47,62,.15);overscroll-behavior:none;padding:4px 0}@media (forced-colors:active){.tox.tox-tinymce-aux .tox-toolbar__overflow{border:solid}}.tox-pop .tox-pop__dialog .tox-toolbar{background-position:center top 43px;background-size:calc(100% - 11px * 2) calc(100% - 51px);padding:4px 0}.tox-context-form__group{display:flex;align-items:center}.tox .tox-toolbar__group{align-items:center;display:flex;flex-wrap:wrap;margin:0 0;padding:0 11px 0 12px}.tox .tox-toolbar__group--pull-right{margin-left:auto}.tox .tox-toolbar--scrolling .tox-toolbar__group{flex-shrink:0;flex-wrap:nowrap}.tox:not([dir=rtl]) .tox-toolbar__group:not(:last-of-type){border-right:1px solid transparent}.tox[dir=rtl] .tox-toolbar__group:not(:last-of-type){border-left:1px solid transparent}.tox .tox-tooltip{display:inline-block;max-width:min(80%,15em);padding:8px 0 0 0;position:relative;width:max-content;z-index:1150}.tox .tox-tooltip__body{background-color:#222f3e;border-radius:6px;box-shadow:none;color:#fff;font-size:12px;font-style:normal;font-weight:600;overflow-wrap:break-word;padding:4px 6px;text-transform:none}@media (forced-colors:active){.tox .tox-tooltip__body{outline:outset 1px}}.tox .tox-tooltip__arrow{position:absolute}.tox .tox-tooltip--down .tox-tooltip__arrow{border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid #222f3e;bottom:0;left:50%;position:absolute;transform:translateX(-50%)}.tox .tox-tooltip--up .tox-tooltip__arrow{border-bottom:8px solid #222f3e;border-left:8px solid transparent;border-right:8px solid transparent;left:50%;position:absolute;top:0;transform:translateX(-50%)}.tox .tox-tooltip--right .tox-tooltip__arrow{border-bottom:8px solid transparent;border-left:8px solid #222f3e;border-top:8px solid transparent;position:absolute;right:0;top:50%;transform:translateY(-50%)}.tox .tox-tooltip--left .tox-tooltip__arrow{border-bottom:8px solid transparent;border-right:8px solid #222f3e;border-top:8px solid transparent;left:0;position:absolute;top:50%;transform:translateY(-50%)}.tox .tox-tree{display:flex;flex-direction:column}.tox .tox-tree .tox-trbtn{align-items:center;background:0 0;border:0;border-radius:4px;box-shadow:none;color:#222f3e;display:flex;flex:0 0 auto;font-size:14px;font-style:normal;font-weight:400;height:28px;margin-bottom:4px;margin-top:4px;outline:0;overflow:hidden;padding:0;padding-left:8px;text-transform:none}.tox .tox-tree .tox-trbtn .tox-tree__label{cursor:default;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tox .tox-tree .tox-trbtn svg{display:block;fill:#222f3e}.tox .tox-tree .tox-trbtn:focus{background:#f0f0f0;border:0;box-shadow:none}.tox .tox-tree .tox-trbtn:hover{background:#f0f0f0;border:0;box-shadow:none;color:#222f3e}.tox .tox-tree .tox-trbtn:hover svg{fill:#222f3e}.tox .tox-tree .tox-trbtn:active{background:#a6ccf7;border:0;box-shadow:none;color:#222f3e}.tox .tox-tree .tox-trbtn:active svg{fill:#222f3e}.tox .tox-tree .tox-trbtn--disabled,.tox .tox-tree .tox-trbtn--disabled:hover,.tox .tox-tree .tox-trbtn:disabled,.tox .tox-tree .tox-trbtn:disabled:hover{background:0 0;border:0;box-shadow:none;color:rgba(34,47,62,.5);cursor:not-allowed}.tox .tox-tree .tox-trbtn--disabled svg,.tox .tox-tree .tox-trbtn--disabled:hover svg,.tox .tox-tree .tox-trbtn:disabled svg,.tox .tox-tree .tox-trbtn:disabled:hover svg{fill:rgba(34,47,62,0.5)}.tox .tox-tree .tox-trbtn--enabled,.tox .tox-tree .tox-trbtn--enabled:hover{background:#a6ccf7;border:0;box-shadow:none;color:#222f3e}.tox .tox-tree .tox-trbtn--enabled:hover>*,.tox .tox-tree .tox-trbtn--enabled>*{transform:none}.tox .tox-tree .tox-trbtn--enabled svg,.tox .tox-tree .tox-trbtn--enabled:hover svg{fill:#222f3e}.tox .tox-tree .tox-trbtn:focus:not(.tox-trbtn--disabled){color:#222f3e}.tox .tox-tree .tox-trbtn:focus:not(.tox-trbtn--disabled) svg{fill:#222f3e}.tox .tox-tree .tox-trbtn:active>*{transform:none}.tox .tox-tree .tox-trbtn--return{align-self:stretch;height:unset;width:16px}.tox .tox-tree .tox-trbtn--labeled{padding:0 4px;width:unset}.tox .tox-tree .tox-trbtn__vlabel{display:block;font-size:10px;font-weight:400;letter-spacing:-.025em;margin-bottom:4px;white-space:nowrap}.tox .tox-tree .tox-tree--directory{display:flex;flex-direction:column}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label{font-weight:700}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label .tox-mbtn{margin-left:auto}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label .tox-mbtn svg{fill:transparent}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label .tox-mbtn.tox-mbtn--active svg,.tox .tox-tree .tox-tree--directory .tox-tree--directory__label .tox-mbtn:focus svg{fill:#222f3e}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label:focus .tox-mbtn svg,.tox .tox-tree .tox-tree--directory .tox-tree--directory__label:hover .tox-mbtn svg{fill:#222f3e}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label:hover:has(.tox-mbtn:hover){background-color:transparent;color:#222f3e}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label:hover:has(.tox-mbtn:hover) .tox-chevron svg{fill:#222f3e}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label .tox-chevron{margin-right:6px}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label:has(+ .tox-tree--directory__children--growing) .tox-chevron,.tox .tox-tree .tox-tree--directory .tox-tree--directory__label:has(+ .tox-tree--directory__children--shrinking) .tox-chevron{transition:transform .5s ease-in-out}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label:has(+ .tox-tree--directory__children--growing) .tox-chevron,.tox .tox-tree .tox-tree--directory .tox-tree--directory__label:has(+ .tox-tree--directory__children--open) .tox-chevron{transform:rotate(90deg)}.tox .tox-tree .tox-tree--leaf__label{font-weight:400}.tox .tox-tree .tox-tree--leaf__label .tox-mbtn{margin-left:auto}.tox .tox-tree .tox-tree--leaf__label .tox-mbtn svg{fill:transparent}.tox .tox-tree .tox-tree--leaf__label .tox-mbtn.tox-mbtn--active svg,.tox .tox-tree .tox-tree--leaf__label .tox-mbtn:focus svg{fill:#222f3e}.tox .tox-tree .tox-tree--leaf__label:hover .tox-mbtn svg{fill:#222f3e}.tox .tox-tree .tox-tree--leaf__label:hover:has(.tox-mbtn:hover){background-color:transparent;color:#222f3e}.tox .tox-tree .tox-tree--leaf__label:hover:has(.tox-mbtn:hover) .tox-chevron svg{fill:#222f3e}.tox .tox-tree .tox-icon-custom-state{flex-grow:1;display:flex;justify-content:flex-end}.tox .tox-tree .tox-tree--directory__children{overflow:hidden;padding-left:16px}.tox .tox-tree .tox-tree--directory__children.tox-tree--directory__children--growing,.tox .tox-tree .tox-tree--directory__children.tox-tree--directory__children--shrinking{transition:height .5s ease-in-out}.tox .tox-tree .tox-trbtn.tox-tree--leaf__label{display:flex;justify-content:space-between}[data-mce-name=uploadcare-enhance-filter] .color-swatch-remove-color path{fill:#c00;stroke:#c00}.tox .tox-view-wrap,.tox .tox-view-wrap__slot-container{background-color:#fff;display:flex;flex:1;flex-direction:column;height:100%}.tox .tox-view{display:flex;flex:1 1 auto;flex-direction:column;overflow:hidden;background-color:#fff}.tox .tox-view__header{align-items:center;display:flex;font-size:16px;justify-content:space-between;padding:10px;position:relative}.tox .tox-view__label{color:#222f3e;font-weight:700;line-height:24px;padding:4px 16px;text-align:center;white-space:nowrap}.tox .tox-view__label--normal{font-size:16px}.tox .tox-view__label--large{font-size:20px}.tox .tox-view--mobile.tox-view__header,.tox .tox-view--mobile.tox-view__toolbar{padding:8px}.tox .tox-view--scrolling{flex-wrap:nowrap;overflow-x:auto}.tox .tox-view__align-right{margin-left:auto}.tox .tox-view__toolbar{display:flex;flex-direction:row;gap:8px;justify-content:space-between;overflow-x:auto;padding:10px}.tox .tox-view__toolbar__group{display:flex;flex-direction:row;gap:12px}.tox .tox-view__header-end,.tox .tox-view__header-start{display:flex}.tox .tox-view__pane{height:100%;padding:8px;position:relative;width:100%}.tox .tox-view__pane_panel{border:1px solid #eee;border-radius:6px}.tox:not([dir=rtl]) .tox-view__header .tox-view__header-end>*,.tox:not([dir=rtl]) .tox-view__header .tox-view__header-start>*{margin-left:8px}.tox[dir=rtl] .tox-view__header .tox-view__header-end>*,.tox[dir=rtl] .tox-view__header .tox-view__header-start>*{margin-right:8px}.tox .tox-well{border:1px solid #eee;border-radius:6px;padding:8px;width:100%}.tox .tox-well>:first-child{margin-top:0}.tox .tox-well>:last-child{margin-bottom:0}.tox .tox-well>:only-child{margin:0}.tox .tox-custom-editor{border:1px solid #eee;border-radius:6px;display:flex;flex:1;overflow:hidden;position:relative}.tox .tox-view .tox-revisionhistory__pane{padding:0}.tox .tox-revisionhistory__container{display:flex;flex-direction:column;height:100%}.tox .tox-revisionhistory{background-color:#fff;border-top:1px solid #f0f0f0;display:flex;flex:1;height:100%;overflow-x:auto;overflow-y:hidden;position:relative;width:100%}.tox .tox-revisionhistory__iframe{flex:1}.tox .tox-revisionhistory__sidebar{display:flex;flex-direction:column;height:100%;min-width:248px;width:316px}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__sidebar-title{background-color:#fff;box-shadow:0 4px 8px 0 rgba(34,47,62,.1);color:#222f3e;font-size:20px;font-weight:400;line-height:28px;padding:12px;z-index:1}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions{background-color:#f0f0f0;display:flex;flex:1;flex-direction:column;gap:12px;overflow-y:auto;padding:10px 12px}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions:focus{height:100%;position:relative;z-index:1}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions:focus::after{border-radius:3px;bottom:0;box-shadow:0 0 0 2px #006ce7;content:'';left:0;position:absolute;right:0;top:0;border-radius:6px;bottom:1px;left:1px;right:1px;top:1px}@media (forced-colors:active){.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions:focus::after{border:2px solid highlight}}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card{background-color:#fff;border:1px solid #f0f0f0;border-radius:6px;color:#222f3e;cursor:pointer;display:flex;flex-direction:column;font-size:14px;padding:12px;width:100%}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card:hover{box-shadow:0 4px 8px 0 rgba(34,47,62,.1)}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card:focus{position:relative;z-index:1}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card:focus::after{border-radius:3px;bottom:0;box-shadow:0 0 0 2px #006ce7 #006ce7;content:'';left:0;position:absolute;right:0;top:0;border-radius:6px;box-shadow:0 0 0 2px #006ce7;box-shadow:0 0 0 2px #006ce7!important}@media (forced-colors:active){.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card:focus::after{border:2px solid highlight}}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card.tox-revisionhistory__card--selected{background-color:#fff5cc;box-shadow:0 4px 8px 0 rgba(34,47,62,.1);position:relative}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card.tox-revisionhistory__card--selected::after{border-radius:3px;bottom:0;box-shadow:0 0 0 2px #006ce7 #e3b82a;content:'';left:0;position:absolute;right:0;top:0;border-radius:6px;box-shadow:0 0 0 2px #e3b82a}@media (forced-colors:active){.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card.tox-revisionhistory__card--selected::after{border:2px solid highlight}}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card-label{display:block;width:min-content;padding:4px 8px;margin-bottom:8px;font-size:12px;font-weight:700;border-radius:4px;background:#d3d5d8}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card-content{display:flex;flex-direction:row;gap:8px;align-items:center}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card-info{display:flex;flex-direction:column;flex:1}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card-date-label{font-size:14px;font-weight:700;line-height:18px}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card-author-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:400}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__avatar{border-radius:50%;height:36px;object-fit:cover;vertical-align:middle;width:36px}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__norevision{color:rgba(34,47,62,.7);font-size:16px;line-height:24px;padding:5px 5.5px}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card-check-icon{color:#222f3e;height:24px}.tox [data-mce-name=suggestededits] .tox-icon .tox-icon--badge{fill:#006ce7}.tox .tox-view .tox-suggestededits__pane{padding:0}.tox .tox-suggestededits__sink{position:relative;z-index:1000}.tox .tox-suggestededits__sink .tox-tiered-menu .tox-collection--list{position:absolute}.tox .tox-suggestededits__container{height:100%;display:flex;flex-direction:column}.tox .tox-suggestededits__container .tox-suggestededits{background-color:#fff;border-top:1px solid #eee;display:flex;flex:1;height:inherit;overflow-x:auto;overflow-y:hidden;position:relative}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__content{flex:1}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__model{height:100%;position:relative}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__model .tox-suggestededits__iframe{height:100%;width:100%;overflow:scroll;background-color:#fff}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar{background-color:#f0f0f0;display:flex;flex-direction:column;flex:0 1 auto;min-width:248px;width:316px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-header{padding:4px 12px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content{display:flex;flex:1;flex-direction:column;gap:12px;overflow:auto;padding:6px 12px 12px 12px;position:relative}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card{background-color:#fff;border-radius:6px;padding:6px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--divider{background-color:#f0f0f0;height:1px;width:100%}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--editor,.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--single{align-items:flex-start;align-self:stretch;display:flex;flex-direction:column;gap:6px;padding:6px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header{display:flex;flex:auto;justify-content:space-between;align-items:center;gap:8px;width:100%}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__card--user{display:flex;align-items:center;flex:1 0 0;gap:8px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__card--user .tox-suggestededits__card--avatar{height:24px;width:24px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__card--user .tox-suggestededits__card--avatar .tox-skeleton__circle,.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__card--user .tox-suggestededits__card--avatar img{height:24px;width:24px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__card--user .tox-suggestededits__card--details{display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__card--user .tox-suggestededits__card--details .tox-suggestededits__card--name{color:#222f3e}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__card--feedback-user{display:flex;align-items:center;flex:1 0 0;gap:8px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__card--feedback-user .tox-suggestededits__card--avatar{height:36px;width:36px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__card--feedback-user .tox-suggestededits__card--details{display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__card--feedback-user .tox-suggestededits__card--details .tox-suggestededits__card--name{color:#222f3e;font-size:14px;font-weight:700}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__card--feedback-user .tox-suggestededits__card--details .tox-suggestededits__card--timestamp{color:#222f3e;font-size:12px;line-height:18px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__resolution{align-items:center;border:0;border-radius:20px;height:20px;width:20px;display:flex;flex:0 0 auto;justify-content:center;text-align:center}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__resolution.tox-suggestededits__resolution--accepted .tox-icon svg{fill:#78AB46}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__resolution.tox-suggestededits__resolution--rejected .tox-icon svg{fill:#c00}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--content{display:flex;flex-direction:column;align-self:stretch;flex:auto;gap:6px;width:100%}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--content .tox-suggestededits__operations{display:flex;gap:8px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--content .tox-suggestededits__operations .tox-suggestededits__operations-bar{align-items:center;border-radius:6px;display:flex;flex-direction:column;font-size:12px;justify-content:space-between;width:6px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--content .tox-suggestededits__operations .tox-suggestededits__operations-bar--insert{background-color:#78ab46;width:100%}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--content .tox-suggestededits__operations .tox-suggestededits__operations-bar--modify{background-color:#006ce7;width:100%}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--content .tox-suggestededits__operations .tox-suggestededits__operations-bar--remove{background-color:#c00;width:100%}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--content .tox-suggestededits__operations .tox-suggestededits__operations-text{color:#222f3e;font-weight:700}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--content .tox-suggestededits__card--feedback{color:#222f3e;width:100%}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--content .tox-suggestededits__card--textarea{border:2px solid #eee;border-radius:6px;color:#222f3e;gap:8px;padding:5px 6px;resize:none;width:100%}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--content .tox-suggestededits__card--textarea:focus{border:2px solid #006ce7}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--footer{display:flex;flex-direction:column;gap:6px;width:100%}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--footer .tox-suggestededits__card--timestamp{color:#222f3e;font-size:12px;line-height:18px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--footer .tox-suggestededits__card--timestamp .tox-icon svg{fill:#222F3E80;transform:translate(0,8px);margin-top:-10px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--buttons{display:flex;align-items:center;gap:8px;width:100%}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--buttons.tox-suggestededits__card--review-buttons{justify-content:space-between;padding:6px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--buttons.tox-suggestededits__card--feedback-buttons{justify-content:flex-end}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card.tox-suggestededits__card--hidden{opacity:.5}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card.tox-suggestededits__card--resolved{background-color:#d3d5d8}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card.tox-suggestededits__card--active:focus,.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card.tox-suggestededits__card--active:focus-visible{outline:2px solid #006ce7}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card.tox-suggestededits__card--active .tox-suggestededits__card--single{border-radius:6px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card.tox-suggestededits__card--active .tox-suggestededits__card--single:focus,.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card.tox-suggestededits__card--active .tox-suggestededits__card--single:focus-visible{outline:2px solid #006ce7}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card:hover{box-shadow:0 4px 8px 0 #d3d5d8}.tox .tox-dialog-loading::before{background-color:rgba(0,0,0,.5);content:\"\";height:100%;position:absolute;width:100%;z-index:1000}.tox .tox-tab{cursor:pointer}.tox .tox-dialog__content-js{display:flex;flex:1}.tox .tox-dialog__body-content .tox-collection{display:flex;flex:1}`)"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/skins/ui/oxide/skin.shadowdom.js",
    "content": "tinymce.Resource.add('ui/oxide/skin.shadowdom.css', `body.tox-dialog__disable-scroll{overflow:hidden}.tox-fullscreen{border:0;height:100%;margin:0;overflow:hidden;overscroll-behavior:none;padding:0;touch-action:pinch-zoom;width:100%}.tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle{display:none}.tox-shadowhost.tox-fullscreen,.tox.tox-tinymce.tox-fullscreen{left:0;position:fixed;top:0;z-index:1200}.tox.tox-tinymce.tox-fullscreen{background-color:transparent}.tox-fullscreen .tox.tox-tinymce-aux,.tox-fullscreen~.tox.tox-tinymce-aux{z-index:1201}`)"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/skins/ui/oxide-dark/content.inline.js",
    "content": "/* This file is bundled with the code from the following third party libraries */\n\n/**\n * http://prismjs.com/\n * Dracula Theme originally by Zeno Rocha [@zenorocha]\n * https://draculatheme.com/\n *\n * Ported for PrismJS by Albert Vallverdu [@byverdu]\n */\ntinymce.Resource.add('ui/oxide-dark/content.inline.css', `@keyframes tox-rotation{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.mce-content-body .mce-item-anchor{background:transparent url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A\") no-repeat center}.mce-content-body .mce-item-anchor:empty{cursor:default;display:inline-block;height:12px!important;padding:0 2px;-webkit-user-modify:read-only;-moz-user-modify:read-only;-webkit-user-select:all;user-select:all;width:8px!important}.mce-content-body .mce-item-anchor:not(:empty){background-position-x:2px;display:inline-block;padding-left:12px}.mce-content-body .mce-item-anchor[data-mce-selected]{outline-offset:1px}.tox-comments-visible .tox-comment[contenteditable=false]:not([data-mce-selected]),.tox-comments-visible span.tox-comment img:not([data-mce-selected]),.tox-comments-visible span.tox-comment span.mce-preview-object:not([data-mce-selected]),.tox-comments-visible span.tox-comment>audio:not([data-mce-selected]),.tox-comments-visible span.tox-comment>video:not([data-mce-selected]){outline:3px solid #ffe796}.tox-comments-visible .tox-comment[contenteditable=false][data-mce-annotation-active=true]:not([data-mce-selected]){outline:3px solid #ffcf30}.tox-comments-visible span.tox-comment:not([data-mce-selected]){background-color:#ffe796;outline:0}.tox-comments-visible span.tox-comment[data-mce-annotation-active=true]:not([data-mce-selected=inline-boundary]){background-color:#ffcf30}.tox-comments-visible span.tox-comment[data-mce-selected]{background-color:#ffcf30;border-radius:3px;box-shadow:0 0 0 2px #006ce7}.tox-comments-visible span.tox-comment[data-mce-selected]:has(img[data-mce-selected],> audio[data-mce-selected],> video[data-mce-selected],span.mce-preview-object[data-mce-selected]){box-shadow:none}.tox-comments-visible span.tox-comment[data-mce-selected] img:not([data-mce-selected]),.tox-comments-visible span.tox-comment[data-mce-selected] span.mce-preview-object:not([data-mce-selected]),.tox-comments-visible span.tox-comment[data-mce-selected]>audio:not([data-mce-selected]),.tox-comments-visible span.tox-comment[data-mce-selected]>video:not([data-mce-selected]){box-shadow:0 0 0 5px #006ce7}.tox-comments-visible span.tox-comment[data-mce-annotation-active=true] img:not([data-mce-selected]),.tox-comments-visible span.tox-comment[data-mce-annotation-active=true] span.mce-preview-object:not([data-mce-selected]),.tox-comments-visible span.tox-comment[data-mce-annotation-active=true]>audio:not([data-mce-selected]),.tox-comments-visible span.tox-comment[data-mce-annotation-active=true]>video:not([data-mce-selected]){outline:3px solid #ffcf30}.tox-checklist>li:not(.tox-checklist--hidden){list-style:none;margin:.25em 0}.tox-checklist>li:not(.tox-checklist--hidden)::before{content:url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A\");cursor:pointer;height:1em;margin-left:-1.5em;margin-top:.125em;position:absolute;width:1em}.tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before{content:url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A\")}[dir=rtl] .tox-checklist>li:not(.tox-checklist--hidden)::before{margin-left:0;margin-right:-1.5em}code[class*=language-],pre[class*=language-]{color:#000;background:0 0;text-shadow:0 1px #fff;font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;tab-size:4;hyphens:none}code[class*=language-] ::selection,code[class*=language-]::selection,pre[class*=language-] ::selection,pre[class*=language-]::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#f5f2f0}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#708090}.token.punctuation{color:#999}.token.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#905}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#690}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url{color:#9a6e3a;background:hsla(0,0%,100%,.5)}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.class-name,.token.function{color:#dd4a68}.token.important,.token.regex,.token.variable{color:#e90}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.mce-content-body{overflow-wrap:break-word;word-wrap:break-word}.mce-content-body .mce-visual-caret{background-color:#000;background-color:currentColor;position:absolute}.mce-content-body .mce-visual-caret-hidden{display:none}.mce-content-body [data-mce-caret]{left:-1000px;margin:0;padding:0;position:absolute;right:auto;top:0}.mce-content-body .mce-offscreen-selection{left:-2000000px;max-width:1000000px;position:absolute}.mce-content-body [contentEditable=false]{cursor:default}.mce-content-body [contentEditable=true]{cursor:text}.tox-cursor-format-painter{cursor:url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A\"),default}div.mce-footnotes hr{margin-inline:0 auto;width:25%}div.mce-footnotes li>a.mce-footnotes-backlink{-webkit-text-decoration:none;text-decoration:none}@media print{sup.mce-footnote a{color:#000;-webkit-text-decoration:none;text-decoration:none}div.mce-footnotes{page-break-inside:avoid;break-inside:avoid;width:100%}div.mce-footnotes li>a.mce-footnotes-backlink{display:none}}tiny-math-block{display:flex;justify-content:center;margin:16px 0 16px 0}tiny-math-inline{display:inline-block}.mce-content-body figure.align-left{float:left}.mce-content-body figure.align-right{float:right}.mce-content-body figure.image.align-center{display:table;margin-left:auto;margin-right:auto}.mce-preview-object{border:1px solid gray;display:inline-block;line-height:0;margin:0 2px;position:relative}.mce-preview-object .mce-shim{background:url(\"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\");height:100%;left:0;position:absolute;top:0;width:100%}.mce-preview-object[data-mce-selected=\"2\"] .mce-shim{display:none}.mce-content-body .mce-mergetag{cursor:default!important;-webkit-user-select:none;user-select:none}.mce-content-body .mce-mergetag:hover{background-color:rgba(0,108,231,.1)}.mce-content-body .mce-mergetag-affix{background-color:rgba(0,108,231,.1);color:#006ce7}.mce-object{background:transparent url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A\") no-repeat center;border:1px dashed #aaa}.mce-pagebreak{border:1px dashed #aaa;cursor:default;display:block;height:5px;margin-top:15px;page-break-before:always;width:100%}@media print{.mce-pagebreak{border:0}}.tiny-pageembed .mce-shim{background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);height:100%;left:0;position:absolute;top:0;width:100%}.tiny-pageembed[data-mce-selected=\"2\"] .mce-shim{display:none}.tiny-pageembed{display:inline-block;position:relative}.tiny-pageembed--16by9,.tiny-pageembed--1by1,.tiny-pageembed--21by9,.tiny-pageembed--4by3{display:block;overflow:hidden;padding:0;position:relative;width:100%}.tiny-pageembed--21by9{padding-top:42.857143%}.tiny-pageembed--16by9{padding-top:56.25%}.tiny-pageembed--4by3{padding-top:75%}.tiny-pageembed--1by1{padding-top:100%}.tiny-pageembed--16by9 iframe,.tiny-pageembed--1by1 iframe,.tiny-pageembed--21by9 iframe,.tiny-pageembed--4by3 iframe{border:0;height:100%;left:0;position:absolute;top:0;width:100%}.mce-content-body[data-mce-placeholder]{position:relative}.mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before{color:rgba(34,47,62,.7);content:attr(data-mce-placeholder);position:absolute}@media (forced-colors:active){.mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before{color:highlight;filter:brightness(30%);z-index:-1}}.mce-content-body:not([dir=rtl])[data-mce-placeholder]:not(.mce-visualblocks)::before{left:1px}.mce-content-body[dir=rtl][data-mce-placeholder]:not(.mce-visualblocks)::before{right:1px}@media print{.mce-content-body .mce-placeholder,.mce-content-body [data-mce-bogus=all],.mce-content-body [data-mce-bogus]{display:none!important}.mce-content-body .mce-visual-caret{display:none!important}.mce-content-body .mce-edit-focus,.mce-content-body :focus,.mce-content-body [data-mce-selected]{outline:0!important}}.mce-content-body div.mce-resizehandle{background-color:#4099ff;border-color:#4099ff;border-style:solid;border-width:1px;box-sizing:border-box;height:10px;position:absolute;width:10px;z-index:1298}.mce-content-body div.mce-resizehandle:hover{background-color:#4099ff}.mce-content-body div.mce-resizehandle:first-of-type{cursor:nwse-resize}.mce-content-body div.mce-resizehandle:nth-of-type(2){cursor:nesw-resize}.mce-content-body div.mce-resizehandle:nth-of-type(3){cursor:nwse-resize}.mce-content-body div.mce-resizehandle:nth-of-type(4){cursor:nesw-resize}.mce-content-body .mce-resize-backdrop{z-index:10000}.mce-content-body .mce-clonedresizable{cursor:default;opacity:.5;outline:1px dashed black;position:absolute;z-index:10001}.mce-content-body .mce-clonedresizable.mce-resizetable-columns td,.mce-content-body .mce-clonedresizable.mce-resizetable-columns th{border:0}.mce-content-body .mce-resize-helper{background:#555;background:rgba(0 0 0%);border:1px;border-radius:3px;color:#fff;display:none;font-family:sans-serif;font-size:12px;line-height:14px;margin:5px 10px;padding:5px;position:absolute;white-space:nowrap;z-index:10002}.tox-rtc-user-selection{position:relative}.tox-rtc-user-cursor{bottom:0;cursor:default;position:absolute;top:0;width:2px}.tox-rtc-user-cursor::before{background-color:inherit;border-radius:50%;content:'';display:block;height:8px;position:absolute;right:-3px;top:-3px;width:8px}.tox-rtc-user-cursor:hover::after{background-color:inherit;border-radius:100px;box-sizing:border-box;color:#fff;content:attr(data-user);display:block;font-size:12px;font-weight:700;left:-5px;min-height:8px;min-width:8px;padding:0 12px;position:absolute;top:-11px;white-space:nowrap;z-index:1000}.tox-rtc-user-selection--1 .tox-rtc-user-cursor{background-color:#2dc26b}.tox-rtc-user-selection--2 .tox-rtc-user-cursor{background-color:#e03e2d}.tox-rtc-user-selection--3 .tox-rtc-user-cursor{background-color:#f1c40f}.tox-rtc-user-selection--4 .tox-rtc-user-cursor{background-color:#3598db}.tox-rtc-user-selection--5 .tox-rtc-user-cursor{background-color:#b96ad9}.tox-rtc-user-selection--6 .tox-rtc-user-cursor{background-color:#e67e23}.tox-rtc-user-selection--7 .tox-rtc-user-cursor{background-color:#aaa69d}.tox-rtc-user-selection--8 .tox-rtc-user-cursor{background-color:#f368e0}.tox-rtc-remote-image{background:#eaeaea url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A\") no-repeat center center;border:1px solid #ccc;min-height:240px;min-width:320px}.mce-match-marker{background:#aaa;color:#fff}.mce-match-marker-selected{background:#39f;color:#fff}.mce-match-marker-selected::selection{background:#39f;color:#fff}.mce-content-body audio[data-mce-selected],.mce-content-body details[data-mce-selected],.mce-content-body embed[data-mce-selected],.mce-content-body img[data-mce-selected],.mce-content-body object[data-mce-selected],.mce-content-body table[data-mce-selected],.mce-content-body video[data-mce-selected]{outline:3px solid #b4d7ff}.mce-content-body hr[data-mce-selected]{outline:3px solid #b4d7ff;outline-offset:1px}.mce-content-body [contentEditable=false] [contentEditable=true]:focus{outline:3px solid #b4d7ff}.mce-content-body [contentEditable=false] [contentEditable=true]:hover{outline:3px solid #b4d7ff}.mce-content-body [contentEditable=false][data-mce-selected]{cursor:not-allowed;outline:3px solid #b4d7ff}.mce-content-body [data-mce-selected=inline-boundary]{background-color:#b4d7ff}.mce-content-body .mce-edit-focus{outline:3px solid #b4d7ff}.mce-content-body td[data-mce-selected],.mce-content-body th[data-mce-selected]{position:relative}.mce-content-body td[data-mce-selected]::selection,.mce-content-body th[data-mce-selected]::selection{background:0 0}.mce-content-body td[data-mce-selected] *,.mce-content-body th[data-mce-selected] *{outline:0;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.mce-content-body td[data-mce-selected]::after,.mce-content-body th[data-mce-selected]::after{background-color:rgba(180,215,255,.7);border:1px solid rgba(180,215,255,.7);bottom:-1px;content:'';left:-1px;mix-blend-mode:multiply;position:absolute;right:-1px;top:-1px}.mce-content-body img[data-mce-selected]::selection{background:0 0}.ephox-snooker-resizer-bar{background-color:#b4d7ff;opacity:0;-webkit-user-select:none;user-select:none}.ephox-snooker-resizer-cols{cursor:col-resize}.ephox-snooker-resizer-rows{cursor:row-resize}.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging{opacity:1}.mce-spellchecker-word{background-image:url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A\");background-position:0 calc(100% + 1px);background-repeat:repeat-x;background-size:auto 6px;cursor:default;height:2rem}.mce-spellchecker-grammar{background-image:url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A\");background-position:0 calc(100% + 1px);background-repeat:repeat-x;background-size:auto 6px;cursor:default}.tox-suggestededits__annotation--added,.tox-suggestededits__annotation--modified,.tox-suggestededits__annotation--removed{-webkit-text-decoration:none;text-decoration:none}.tox-suggestededits__annotation--added__highlight{background-color:rgba(120,171,70,.2);-webkit-text-decoration:underline;text-decoration:underline}.tox-suggestededits__annotation--added__selected{background-color:rgba(120,171,70,.2);box-shadow:0 -2px 0 0 #006ce7 inset,0 -2px 0 0 #006ce7;-webkit-text-decoration:none;text-decoration:none}.tox-suggestededits__annotation--modified__highlight{background-color:rgba(0,108,231,.2);-webkit-text-decoration:underline;text-decoration:underline}.tox-suggestededits__annotation--modified__selected{background-color:rgba(0,108,231,.2);box-shadow:0 -2px 0 0 #006ce7 inset,0 -2px 0 0 #006ce7;-webkit-text-decoration:none;text-decoration:none}.tox-suggestededits__annotation--removed__highlight{background-color:rgba(204,0,0,.2);-webkit-text-decoration:line-through;text-decoration:line-through}.tox-suggestededits__annotation--removed__selected{background-color:rgba(204,0,0,.2);box-shadow:0 -2px 0 0 #006ce7 inset,0 -2px 0 0 #006ce7;-webkit-text-decoration:line-through;text-decoration:line-through}.tox-suggestededits__annotation--added.tox-suggestededits__annotation--added__hidden,.tox-suggestededits__annotation--modified.tox-suggestededits__annotation--modified__hidden,.tox-suggestededits__annotation--removed.tox-suggestededits__annotation--removed__hidden{display:none;-webkit-text-decoration:none;text-decoration:none}:has(> div > iframe).tox-suggestededits__annotation--added,:has(> div > iframe).tox-suggestededits__annotation--modified,:has(> div > iframe).tox-suggestededits__annotation--removed{padding:7px;margin:5px}iframe.tox-suggestededits__annotation--added__highlight,img.tox-suggestededits__annotation--added__highlight,video.tox-suggestededits__annotation--added__highlight{outline:.25em solid rgba(120,171,70,.2);padding:.25em}iframe.tox-suggestededits__annotation--added__selected,img.tox-suggestededits__annotation--added__selected,video.tox-suggestededits__annotation--added__selected{border:.25em solid rgba(120,171,70,.2);outline:.125em solid #006ce7;padding:0}iframe.tox-suggestededits__annotation--modified__highlight,img.tox-suggestededits__annotation--modified__highlight,video.tox-suggestededits__annotation--modified__highlight{outline:.25em solid rgba(0,108,231,.2);padding:.25em}iframe.tox-suggestededits__annotation--modified__selected,img.tox-suggestededits__annotation--modified__selected,video.tox-suggestededits__annotation--modified__selected{border:.25em solid rgba(0,108,231,.2);outline:.125em solid #006ce7;padding:0}iframe.tox-suggestededits__annotation--removed__highlight,img.tox-suggestededits__annotation--removed__highlight,video.tox-suggestededits__annotation--removed__highlight{outline:.25em solid rgba(204,0,0,.2);padding:.25em}iframe.tox-suggestededits__annotation--removed__selected,img.tox-suggestededits__annotation--removed__selected,video.tox-suggestededits__annotation--removed__selected{border:.25em solid rgba(204,0,0,.2);outline:.125em solid #006ce7;padding:0}div.tox-suggestededits__annotation:has(> hr){padding:.25em}div.tox-suggestededits__annotation--removed__highlight>hr{border-color:rgba(0,0,0,.2)}div.tox-suggestededits__annotation--added__highlight>hr{border-color:rgba(0,0,0,.2)}.mce-pagebreak.tox-suggestededits__annotation--added__selected,.mce-pagebreak.tox-suggestededits__annotation--modified__selected,.mce-pagebreak.tox-suggestededits__annotation--removed__selected{border:1px dashed #aaa;box-shadow:none}.mce-pagebreak.tox-suggestededits__annotation--added__highlight,.mce-pagebreak.tox-suggestededits__annotation--modified__highlight,.mce-pagebreak.tox-suggestededits__annotation--removed__highlight{padding:0}.mce-toc{border:1px solid gray}.mce-toc h2{margin:4px}.mce-toc ul>li{list-style-type:none}[data-mce-block]{display:block}.mce-item-table:not([border]),.mce-item-table:not([border]) caption,.mce-item-table:not([border]) td,.mce-item-table:not([border]) th,.mce-item-table[border=\"0\"],.mce-item-table[border=\"0\"] caption,.mce-item-table[border=\"0\"] td,.mce-item-table[border=\"0\"] th,table[style*=\"border-width: 0px\"],table[style*=\"border-width: 0px\"] caption,table[style*=\"border-width: 0px\"] td,table[style*=\"border-width: 0px\"] th{border:1px dashed #bbb}.tox-uc-loading-background{width:100%;height:100%;background:rgba(255,255,255,.5)}.tox-uc-loading-spinner-wrapper{width:100%;height:100%;display:flex;justify-content:center;align-items:center}.tox-uc-loading-spinner{width:min(24px,30%);aspect-ratio:1;border-radius:50%;border:3px solid #006ce7;border-bottom-color:transparent;animation:tox-rotation 1s linear infinite}.tox-uc-video{display:block;position:relative;margin:16px 0 16px 0}.tox-uc-video:not([data-mce-selected]):after{content:\"\";position:absolute;top:0;left:0;width:100%;height:100%}.tox-uploadcare-placeholder{all:initial;display:inline-block;position:relative;width:min(100%,600px);height:80px;--tox-uploadcare-placeholder--content-cursor:auto!important;--tox-uploadcare-placeholder--content-color:rgba(34, 47, 62, 0.7);--tox-uploadcare-placeholder--content-background-color:#fff;--tox-uploadcare-placeholder--content-border:2px solid #e3e3e3;--tox-uploadcare-placeholder--content-font-family:monospace,sans-serif;--tox-uploadcare-placeholder--content-height:100%;--tox-uploadcare-placeholder--content-width:100%;--tox-uploadcare-placeholder--content-display:inline-flex;--tox-uploadcare-placeholder--content-align-items:center;--tox-uploadcare-placeholder--content-justify-content:center;--tox-uploadcare-placeholder--content-gap:8px;--tox-uploadcare-placeholder--icon-fill:rgba(34, 47, 62, 0.7);--tox-uploadcare-placeholder--icon-min-width:24px;--tox-uc-loading-spinner-wrapper-display-none:none;--tox-uc-loading-spinner-wrapper-display:flex;--tox-uc-loading-spinner-wrapper-position:absolute;--tox-uc-loading-spinner-wrapper-top:0;--tox-uc-loading-spinner-wrapper-left:0;--tox-uc-loading-spinner-wrapper-width:100%;--tox-uc-loading-spinner-wrapper-height:100%;--tox-uc-loading-spinner-wrapper-justify-content:center;--tox-uc-loading-spinner-wrapper-align-items:center;--tox-uc-loading-spinner-aspect-ratio:1/1;--tox-uc-loading-spinner-width:min(24px, 30%);--tox-uc-loading-spinner-border-radius:50%;--tox-uc-loading-spinner-border:3px solid #006ce7;--tox-uc-loading-spinner-border-bottom-color:transparent;--tox-uc-loading-spinner-animation:tox-rotation 1s linear infinite}@media print{tiny-uploadcare-placeholder{display:none!important}}.mce-visualblocks address,.mce-visualblocks article,.mce-visualblocks aside,.mce-visualblocks blockquote,.mce-visualblocks div:not([data-mce-bogus]),.mce-visualblocks dl,.mce-visualblocks figcaption,.mce-visualblocks figure,.mce-visualblocks h1,.mce-visualblocks h2,.mce-visualblocks h3,.mce-visualblocks h4,.mce-visualblocks h5,.mce-visualblocks h6,.mce-visualblocks hgroup,.mce-visualblocks ol,.mce-visualblocks p,.mce-visualblocks pre,.mce-visualblocks section,.mce-visualblocks ul{background-repeat:no-repeat;border:1px dashed #bbb;margin-left:3px;padding-top:10px}.mce-visualblocks p{background-image:url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7)}.mce-visualblocks h1{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==)}.mce-visualblocks h2{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==)}.mce-visualblocks h3{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7)}.mce-visualblocks h4{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==)}.mce-visualblocks h5{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==)}.mce-visualblocks h6{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==)}.mce-visualblocks div:not([data-mce-bogus]){background-image:url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7)}.mce-visualblocks section{background-image:url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=)}.mce-visualblocks article{background-image:url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7)}.mce-visualblocks blockquote{background-image:url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7)}.mce-visualblocks address{background-image:url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=)}.mce-visualblocks pre{background-image:url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==)}.mce-visualblocks figure{background-image:url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7)}.mce-visualblocks figcaption{border:1px dashed #bbb}.mce-visualblocks hgroup{background-image:url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7)}.mce-visualblocks aside{background-image:url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=)}.mce-visualblocks ul{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==)}.mce-visualblocks ol{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==)}.mce-visualblocks dl{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==)}.mce-visualblocks:not([dir=rtl]) address,.mce-visualblocks:not([dir=rtl]) article,.mce-visualblocks:not([dir=rtl]) aside,.mce-visualblocks:not([dir=rtl]) blockquote,.mce-visualblocks:not([dir=rtl]) div:not([data-mce-bogus]),.mce-visualblocks:not([dir=rtl]) dl,.mce-visualblocks:not([dir=rtl]) figcaption,.mce-visualblocks:not([dir=rtl]) figure,.mce-visualblocks:not([dir=rtl]) h1,.mce-visualblocks:not([dir=rtl]) h2,.mce-visualblocks:not([dir=rtl]) h3,.mce-visualblocks:not([dir=rtl]) h4,.mce-visualblocks:not([dir=rtl]) h5,.mce-visualblocks:not([dir=rtl]) h6,.mce-visualblocks:not([dir=rtl]) hgroup,.mce-visualblocks:not([dir=rtl]) ol,.mce-visualblocks:not([dir=rtl]) p,.mce-visualblocks:not([dir=rtl]) pre,.mce-visualblocks:not([dir=rtl]) section,.mce-visualblocks:not([dir=rtl]) ul{margin-left:3px}.mce-visualblocks[dir=rtl] address,.mce-visualblocks[dir=rtl] article,.mce-visualblocks[dir=rtl] aside,.mce-visualblocks[dir=rtl] blockquote,.mce-visualblocks[dir=rtl] div:not([data-mce-bogus]),.mce-visualblocks[dir=rtl] dl,.mce-visualblocks[dir=rtl] figcaption,.mce-visualblocks[dir=rtl] figure,.mce-visualblocks[dir=rtl] h1,.mce-visualblocks[dir=rtl] h2,.mce-visualblocks[dir=rtl] h3,.mce-visualblocks[dir=rtl] h4,.mce-visualblocks[dir=rtl] h5,.mce-visualblocks[dir=rtl] h6,.mce-visualblocks[dir=rtl] hgroup,.mce-visualblocks[dir=rtl] ol,.mce-visualblocks[dir=rtl] p,.mce-visualblocks[dir=rtl] pre,.mce-visualblocks[dir=rtl] section,.mce-visualblocks[dir=rtl] ul{background-position-x:right;margin-right:3px}.mce-nbsp,.mce-shy{background:#aaa}.mce-shy::after{content:'-'}[data-ephox-foam-a11y-violation]{outline:2px solid;position:relative}[data-ephox-foam-a11y-violation][data-ephox-foam-a11y-current-violation]{outline-width:4px;transition:outline-width .1s ease-in-out,background-color .1s ease-in-out;box-shadow:0 0 0 99999px #222f3e80;z-index:1}[data-ephox-foam-a11y-violation][data-ephox-foam-a11y-severity-info]{outline-color:#006ce7}[data-ephox-foam-a11y-violation][data-ephox-foam-a11y-severity-warn]{outline-color:#fc0}[data-ephox-foam-a11y-violation][data-ephox-foam-a11y-severity-error]{outline-color:#c00}[data-ephox-foam-a11y-violation][data-ephox-foam-a11y-current-violation=info]{outline-color:#006ce7;background-color:#e6f0fd}[data-ephox-foam-a11y-violation][data-ephox-foam-a11y-current-violation=warning]{outline-color:#fc0;background-color:#fffae6}[data-ephox-foam-a11y-violation][data-ephox-foam-a11y-current-violation=error]{outline-color:#c00;background-color:#fae6e6}[data-ephox-foam-a11y-violation][data-ephox-foam-a11y-current-violation]:is(td,th,tr){position:static}`)"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/skins/ui/oxide-dark/content.js",
    "content": "/* This file is bundled with the code from the following third party libraries */\n\n/**\n * http://prismjs.com/\n * Dracula Theme originally by Zeno Rocha [@zenorocha]\n * https://draculatheme.com/\n *\n * Ported for PrismJS by Albert Vallverdu [@byverdu]\n */\ntinymce.Resource.add('ui/oxide-dark/content.css', `@keyframes tox-rotation{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.mce-content-body .mce-item-anchor{background:transparent url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%20fill%3D%22%23cccccc%22%2F%3E%3C%2Fsvg%3E%0A\") no-repeat center}.mce-content-body .mce-item-anchor:empty{cursor:default;display:inline-block;height:12px!important;padding:0 2px;-webkit-user-modify:read-only;-moz-user-modify:read-only;-webkit-user-select:all;user-select:all;width:8px!important}.mce-content-body .mce-item-anchor:not(:empty){background-position-x:2px;display:inline-block;padding-left:12px}.mce-content-body .mce-item-anchor[data-mce-selected]{outline-offset:1px}.tox-comments-visible .tox-comment[contenteditable=false]:not([data-mce-selected]),.tox-comments-visible span.tox-comment img:not([data-mce-selected]),.tox-comments-visible span.tox-comment span.mce-preview-object:not([data-mce-selected]),.tox-comments-visible span.tox-comment>audio:not([data-mce-selected]),.tox-comments-visible span.tox-comment>video:not([data-mce-selected]){outline:3px solid #1b3b60}.tox-comments-visible .tox-comment[contenteditable=false][data-mce-annotation-active=true]:not([data-mce-selected]){outline:3px solid #006ce7}.tox-comments-visible span.tox-comment:not([data-mce-selected]){background-color:#1b3b60;outline:0}.tox-comments-visible span.tox-comment[data-mce-annotation-active=true]:not([data-mce-selected=inline-boundary]){background-color:#1b3b60}.tox-comments-visible span.tox-comment[data-mce-selected]{background-color:#1b3b60;border-radius:3px;box-shadow:0 0 0 2px #006ce7}.tox-comments-visible span.tox-comment[data-mce-selected]:has(img[data-mce-selected],> audio[data-mce-selected],> video[data-mce-selected],span.mce-preview-object[data-mce-selected]){box-shadow:none}.tox-comments-visible span.tox-comment[data-mce-selected] img:not([data-mce-selected]),.tox-comments-visible span.tox-comment[data-mce-selected] span.mce-preview-object:not([data-mce-selected]),.tox-comments-visible span.tox-comment[data-mce-selected]>audio:not([data-mce-selected]),.tox-comments-visible span.tox-comment[data-mce-selected]>video:not([data-mce-selected]){box-shadow:0 0 0 5px #006ce7}.tox-comments-visible span.tox-comment[data-mce-annotation-active=true] img:not([data-mce-selected]),.tox-comments-visible span.tox-comment[data-mce-annotation-active=true] span.mce-preview-object:not([data-mce-selected]),.tox-comments-visible span.tox-comment[data-mce-annotation-active=true]>audio:not([data-mce-selected]),.tox-comments-visible span.tox-comment[data-mce-annotation-active=true]>video:not([data-mce-selected]){outline:3px solid #006ce7}.tox-checklist>li:not(.tox-checklist--hidden){list-style:none;margin:.25em 0}.tox-checklist>li:not(.tox-checklist--hidden)::before{content:url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%236d737b%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A\");cursor:pointer;height:1em;margin-left:-1.5em;margin-top:.125em;position:absolute;width:1em}.tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before{content:url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A\")}[dir=rtl] .tox-checklist>li:not(.tox-checklist--hidden)::before{margin-left:0;margin-right:-1.5em}code[class*=language-],pre[class*=language-]{color:#f8f8f2;background:0 0;text-shadow:0 1px rgba(0,0,0,.3);font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;tab-size:4;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto;border-radius:.3em}:not(pre)>code[class*=language-],pre[class*=language-]{background:#282a36}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#6272a4}.token.punctuation{color:#f8f8f2}.namespace{opacity:.7}.token.constant,.token.deleted,.token.property,.token.symbol,.token.tag{color:#ff79c6}.token.boolean,.token.number{color:#bd93f9}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#50fa7b}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url,.token.variable{color:#f8f8f2}.token.atrule,.token.attr-value,.token.class-name,.token.function{color:#f1fa8c}.token.keyword{color:#8be9fd}.token.important,.token.regex{color:#ffb86c}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.mce-content-body{overflow-wrap:break-word;word-wrap:break-word}.mce-content-body .mce-visual-caret{background-color:#000;background-color:currentColor;position:absolute}.mce-content-body .mce-visual-caret-hidden{display:none}.mce-content-body [data-mce-caret]{left:-1000px;margin:0;padding:0;position:absolute;right:auto;top:0}.mce-content-body .mce-offscreen-selection{left:-2000000px;max-width:1000000px;position:absolute}.mce-content-body [contentEditable=false]{cursor:default}.mce-content-body [contentEditable=true]{cursor:text}.tox-cursor-format-painter{cursor:url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A\"),default}div.mce-footnotes hr{margin-inline:0 auto;width:25%}div.mce-footnotes li>a.mce-footnotes-backlink{-webkit-text-decoration:none;text-decoration:none}@media print{sup.mce-footnote a{color:#000;-webkit-text-decoration:none;text-decoration:none}div.mce-footnotes{page-break-inside:avoid;break-inside:avoid;width:100%}div.mce-footnotes li>a.mce-footnotes-backlink{display:none}}tiny-math-block{display:flex;justify-content:center;margin:16px 0 16px 0}tiny-math-inline{display:inline-block}.mce-content-body figure.align-left{float:left}.mce-content-body figure.align-right{float:right}.mce-content-body figure.image.align-center{display:table;margin-left:auto;margin-right:auto}.mce-preview-object{border:1px solid gray;display:inline-block;line-height:0;margin:0 2px;position:relative}.mce-preview-object .mce-shim{background:url(\"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\");height:100%;left:0;position:absolute;top:0;width:100%}.mce-preview-object[data-mce-selected=\"2\"] .mce-shim{display:none}.mce-content-body .mce-mergetag{cursor:default!important;-webkit-user-select:none;user-select:none}.mce-content-body .mce-mergetag:hover{background-color:rgba(0,108,231,.3)}.mce-content-body .mce-mergetag-affix{background-color:rgba(0,108,231,.3);color:#006ce7}.mce-object{background:transparent url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%20fill%3D%22%23cccccc%22%2F%3E%3C%2Fsvg%3E%0A\") no-repeat center;border:1px dashed #aaa}.mce-pagebreak{border:1px dashed #aaa;cursor:default;display:block;height:5px;margin-top:15px;page-break-before:always;width:100%}@media print{.mce-pagebreak{border:0}}.tiny-pageembed .mce-shim{background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);height:100%;left:0;position:absolute;top:0;width:100%}.tiny-pageembed[data-mce-selected=\"2\"] .mce-shim{display:none}.tiny-pageembed{display:inline-block;position:relative}.tiny-pageembed--16by9,.tiny-pageembed--1by1,.tiny-pageembed--21by9,.tiny-pageembed--4by3{display:block;overflow:hidden;padding:0;position:relative;width:100%}.tiny-pageembed--21by9{padding-top:42.857143%}.tiny-pageembed--16by9{padding-top:56.25%}.tiny-pageembed--4by3{padding-top:75%}.tiny-pageembed--1by1{padding-top:100%}.tiny-pageembed--16by9 iframe,.tiny-pageembed--1by1 iframe,.tiny-pageembed--21by9 iframe,.tiny-pageembed--4by3 iframe{border:0;height:100%;left:0;position:absolute;top:0;width:100%}.mce-content-body[data-mce-placeholder]{position:relative}.mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before{color:rgba(34,47,62,.7);content:attr(data-mce-placeholder);position:absolute}@media (forced-colors:active){.mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before{color:highlight;filter:brightness(30%);z-index:-1}}.mce-content-body:not([dir=rtl])[data-mce-placeholder]:not(.mce-visualblocks)::before{left:1px}.mce-content-body[dir=rtl][data-mce-placeholder]:not(.mce-visualblocks)::before{right:1px}@media print{.mce-content-body .mce-placeholder,.mce-content-body [data-mce-bogus=all],.mce-content-body [data-mce-bogus]{display:none!important}.mce-content-body .mce-visual-caret{display:none!important}.mce-content-body .mce-edit-focus,.mce-content-body :focus,.mce-content-body [data-mce-selected]{outline:0!important}}.mce-content-body div.mce-resizehandle{background-color:#4099ff;border-color:#4099ff;border-style:solid;border-width:1px;box-sizing:border-box;height:10px;position:absolute;width:10px;z-index:1298}.mce-content-body div.mce-resizehandle:hover{background-color:#4099ff}.mce-content-body div.mce-resizehandle:first-of-type{cursor:nwse-resize}.mce-content-body div.mce-resizehandle:nth-of-type(2){cursor:nesw-resize}.mce-content-body div.mce-resizehandle:nth-of-type(3){cursor:nwse-resize}.mce-content-body div.mce-resizehandle:nth-of-type(4){cursor:nesw-resize}.mce-content-body .mce-resize-backdrop{z-index:10000}.mce-content-body .mce-clonedresizable{cursor:default;opacity:.5;outline:1px dashed black;position:absolute;z-index:10001}.mce-content-body .mce-clonedresizable.mce-resizetable-columns td,.mce-content-body .mce-clonedresizable.mce-resizetable-columns th{border:0}.mce-content-body .mce-resize-helper{background:#555;background:rgba(0 0 0%);border:1px;border-radius:3px;color:#fff;display:none;font-family:sans-serif;font-size:12px;line-height:14px;margin:5px 10px;padding:5px;position:absolute;white-space:nowrap;z-index:10002}.tox-rtc-user-selection{position:relative}.tox-rtc-user-cursor{bottom:0;cursor:default;position:absolute;top:0;width:2px}.tox-rtc-user-cursor::before{background-color:inherit;border-radius:50%;content:'';display:block;height:8px;position:absolute;right:-3px;top:-3px;width:8px}.tox-rtc-user-cursor:hover::after{background-color:inherit;border-radius:100px;box-sizing:border-box;color:#fff;content:attr(data-user);display:block;font-size:12px;font-weight:700;left:-5px;min-height:8px;min-width:8px;padding:0 12px;position:absolute;top:-11px;white-space:nowrap;z-index:1000}.tox-rtc-user-selection--1 .tox-rtc-user-cursor{background-color:#2dc26b}.tox-rtc-user-selection--2 .tox-rtc-user-cursor{background-color:#e03e2d}.tox-rtc-user-selection--3 .tox-rtc-user-cursor{background-color:#f1c40f}.tox-rtc-user-selection--4 .tox-rtc-user-cursor{background-color:#3598db}.tox-rtc-user-selection--5 .tox-rtc-user-cursor{background-color:#b96ad9}.tox-rtc-user-selection--6 .tox-rtc-user-cursor{background-color:#e67e23}.tox-rtc-user-selection--7 .tox-rtc-user-cursor{background-color:#aaa69d}.tox-rtc-user-selection--8 .tox-rtc-user-cursor{background-color:#f368e0}.tox-rtc-remote-image{background:#eaeaea url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A\") no-repeat center center;border:1px solid #ccc;min-height:240px;min-width:320px}.mce-match-marker{background:#aaa;color:#fff}.mce-match-marker-selected{background:#39f;color:#fff}.mce-match-marker-selected::selection{background:#39f;color:#fff}.mce-content-body audio[data-mce-selected],.mce-content-body details[data-mce-selected],.mce-content-body embed[data-mce-selected],.mce-content-body img[data-mce-selected],.mce-content-body object[data-mce-selected],.mce-content-body table[data-mce-selected],.mce-content-body video[data-mce-selected]{outline:3px solid #4099ff}.mce-content-body hr[data-mce-selected]{outline:3px solid #4099ff;outline-offset:1px}.mce-content-body [contentEditable=false] [contentEditable=true]:focus{outline:3px solid #4099ff}.mce-content-body [contentEditable=false] [contentEditable=true]:hover{outline:3px solid #4099ff}.mce-content-body [contentEditable=false][data-mce-selected]{cursor:not-allowed;outline:3px solid #4099ff}.mce-content-body [data-mce-selected=inline-boundary]{background-color:#4099ff}.mce-content-body .mce-edit-focus{outline:3px solid #4099ff}.mce-content-body td[data-mce-selected],.mce-content-body th[data-mce-selected]{position:relative}.mce-content-body td[data-mce-selected]::selection,.mce-content-body th[data-mce-selected]::selection{background:0 0}.mce-content-body td[data-mce-selected] *,.mce-content-body th[data-mce-selected] *{outline:0;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.mce-content-body td[data-mce-selected]::after,.mce-content-body th[data-mce-selected]::after{background-color:rgba(180,215,255,.7);border:1px solid transparent;bottom:-1px;content:'';left:-1px;mix-blend-mode:lighten;position:absolute;right:-1px;top:-1px}.mce-content-body img[data-mce-selected]::selection{background:0 0}.ephox-snooker-resizer-bar{background-color:#4099ff;opacity:0;-webkit-user-select:none;user-select:none}.ephox-snooker-resizer-cols{cursor:col-resize}.ephox-snooker-resizer-rows{cursor:row-resize}.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging{opacity:1}.mce-spellchecker-word{background-image:url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A\");background-position:0 calc(100% + 1px);background-repeat:repeat-x;background-size:auto 6px;cursor:default;height:2rem}.mce-spellchecker-grammar{background-image:url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A\");background-position:0 calc(100% + 1px);background-repeat:repeat-x;background-size:auto 6px;cursor:default}.tox-suggestededits__annotation--added,.tox-suggestededits__annotation--modified,.tox-suggestededits__annotation--removed{-webkit-text-decoration:none;text-decoration:none}.tox-suggestededits__annotation--added__highlight{background-color:rgba(120,171,70,.2);-webkit-text-decoration:underline;text-decoration:underline}.tox-suggestededits__annotation--added__selected{background-color:rgba(120,171,70,.2);box-shadow:0 -2px 0 0 #006ce7 inset,0 -2px 0 0 #006ce7;-webkit-text-decoration:none;text-decoration:none}.tox-suggestededits__annotation--modified__highlight{background-color:rgba(0,108,231,.2);-webkit-text-decoration:underline;text-decoration:underline}.tox-suggestededits__annotation--modified__selected{background-color:rgba(0,108,231,.2);box-shadow:0 -2px 0 0 #006ce7 inset,0 -2px 0 0 #006ce7;-webkit-text-decoration:none;text-decoration:none}.tox-suggestededits__annotation--removed__highlight{background-color:rgba(204,0,0,.2);-webkit-text-decoration:line-through;text-decoration:line-through}.tox-suggestededits__annotation--removed__selected{background-color:rgba(204,0,0,.2);box-shadow:0 -2px 0 0 #006ce7 inset,0 -2px 0 0 #006ce7;-webkit-text-decoration:line-through;text-decoration:line-through}.tox-suggestededits__annotation--added.tox-suggestededits__annotation--added__hidden,.tox-suggestededits__annotation--modified.tox-suggestededits__annotation--modified__hidden,.tox-suggestededits__annotation--removed.tox-suggestededits__annotation--removed__hidden{display:none;-webkit-text-decoration:none;text-decoration:none}:has(> div > iframe).tox-suggestededits__annotation--added,:has(> div > iframe).tox-suggestededits__annotation--modified,:has(> div > iframe).tox-suggestededits__annotation--removed{padding:7px;margin:5px}iframe.tox-suggestededits__annotation--added__highlight,img.tox-suggestededits__annotation--added__highlight,video.tox-suggestededits__annotation--added__highlight{outline:.25em solid rgba(120,171,70,.2);padding:.25em}iframe.tox-suggestededits__annotation--added__selected,img.tox-suggestededits__annotation--added__selected,video.tox-suggestededits__annotation--added__selected{border:.25em solid rgba(120,171,70,.2);outline:.125em solid #006ce7;padding:0}iframe.tox-suggestededits__annotation--modified__highlight,img.tox-suggestededits__annotation--modified__highlight,video.tox-suggestededits__annotation--modified__highlight{outline:.25em solid rgba(0,108,231,.2);padding:.25em}iframe.tox-suggestededits__annotation--modified__selected,img.tox-suggestededits__annotation--modified__selected,video.tox-suggestededits__annotation--modified__selected{border:.25em solid rgba(0,108,231,.2);outline:.125em solid #006ce7;padding:0}iframe.tox-suggestededits__annotation--removed__highlight,img.tox-suggestededits__annotation--removed__highlight,video.tox-suggestededits__annotation--removed__highlight{outline:.25em solid rgba(204,0,0,.2);padding:.25em}iframe.tox-suggestededits__annotation--removed__selected,img.tox-suggestededits__annotation--removed__selected,video.tox-suggestededits__annotation--removed__selected{border:.25em solid rgba(204,0,0,.2);outline:.125em solid #006ce7;padding:0}div.tox-suggestededits__annotation:has(> hr){padding:.25em}div.tox-suggestededits__annotation--removed__highlight>hr{border-color:rgba(0,0,0,.2)}div.tox-suggestededits__annotation--added__highlight>hr{border-color:rgba(0,0,0,.2)}.mce-pagebreak.tox-suggestededits__annotation--added__selected,.mce-pagebreak.tox-suggestededits__annotation--modified__selected,.mce-pagebreak.tox-suggestededits__annotation--removed__selected{border:1px dashed #aaa;box-shadow:none}.mce-pagebreak.tox-suggestededits__annotation--added__highlight,.mce-pagebreak.tox-suggestededits__annotation--modified__highlight,.mce-pagebreak.tox-suggestededits__annotation--removed__highlight{padding:0}.mce-toc{border:1px solid gray}.mce-toc h2{margin:4px}.mce-toc ul>li{list-style-type:none}[data-mce-block]{display:block}.mce-item-table:not([border]),.mce-item-table:not([border]) caption,.mce-item-table:not([border]) td,.mce-item-table:not([border]) th,.mce-item-table[border=\"0\"],.mce-item-table[border=\"0\"] caption,.mce-item-table[border=\"0\"] td,.mce-item-table[border=\"0\"] th,table[style*=\"border-width: 0px\"],table[style*=\"border-width: 0px\"] caption,table[style*=\"border-width: 0px\"] td,table[style*=\"border-width: 0px\"] th{border:1px dashed #bbb}.tox-uc-loading-background{width:100%;height:100%;background:rgba(255,255,255,.5)}.tox-uc-loading-spinner-wrapper{width:100%;height:100%;display:flex;justify-content:center;align-items:center}.tox-uc-loading-spinner{width:min(24px,30%);aspect-ratio:1;border-radius:50%;border:3px solid #006ce7;border-bottom-color:transparent;animation:tox-rotation 1s linear infinite}.tox-uc-video{display:block;position:relative;margin:16px 0 16px 0}.tox-uc-video:not([data-mce-selected]):after{content:\"\";position:absolute;top:0;left:0;width:100%;height:100%}.tox-uploadcare-placeholder{all:initial;display:inline-block;position:relative;width:min(100%,600px);height:80px;--tox-uploadcare-placeholder--content-cursor:auto!important;--tox-uploadcare-placeholder--content-color:rgba(34, 47, 62, 0.7);--tox-uploadcare-placeholder--content-background-color:#fff;--tox-uploadcare-placeholder--content-border:2px solid #e3e3e3;--tox-uploadcare-placeholder--content-font-family:monospace,sans-serif;--tox-uploadcare-placeholder--content-height:100%;--tox-uploadcare-placeholder--content-width:100%;--tox-uploadcare-placeholder--content-display:inline-flex;--tox-uploadcare-placeholder--content-align-items:center;--tox-uploadcare-placeholder--content-justify-content:center;--tox-uploadcare-placeholder--content-gap:8px;--tox-uploadcare-placeholder--icon-fill:rgba(34, 47, 62, 0.7);--tox-uploadcare-placeholder--icon-min-width:24px;--tox-uc-loading-spinner-wrapper-display-none:none;--tox-uc-loading-spinner-wrapper-display:flex;--tox-uc-loading-spinner-wrapper-position:absolute;--tox-uc-loading-spinner-wrapper-top:0;--tox-uc-loading-spinner-wrapper-left:0;--tox-uc-loading-spinner-wrapper-width:100%;--tox-uc-loading-spinner-wrapper-height:100%;--tox-uc-loading-spinner-wrapper-justify-content:center;--tox-uc-loading-spinner-wrapper-align-items:center;--tox-uc-loading-spinner-aspect-ratio:1/1;--tox-uc-loading-spinner-width:min(24px, 30%);--tox-uc-loading-spinner-border-radius:50%;--tox-uc-loading-spinner-border:3px solid #006ce7;--tox-uc-loading-spinner-border-bottom-color:transparent;--tox-uc-loading-spinner-animation:tox-rotation 1s linear infinite}@media print{tiny-uploadcare-placeholder{display:none!important}}.mce-visualblocks address,.mce-visualblocks article,.mce-visualblocks aside,.mce-visualblocks blockquote,.mce-visualblocks div:not([data-mce-bogus]),.mce-visualblocks dl,.mce-visualblocks figcaption,.mce-visualblocks figure,.mce-visualblocks h1,.mce-visualblocks h2,.mce-visualblocks h3,.mce-visualblocks h4,.mce-visualblocks h5,.mce-visualblocks h6,.mce-visualblocks hgroup,.mce-visualblocks ol,.mce-visualblocks p,.mce-visualblocks pre,.mce-visualblocks section,.mce-visualblocks ul{background-repeat:no-repeat;border:1px dashed #bbb;margin-left:3px;padding-top:10px}.mce-visualblocks p{background-image:url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7)}.mce-visualblocks h1{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==)}.mce-visualblocks h2{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==)}.mce-visualblocks h3{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7)}.mce-visualblocks h4{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==)}.mce-visualblocks h5{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==)}.mce-visualblocks h6{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==)}.mce-visualblocks div:not([data-mce-bogus]){background-image:url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7)}.mce-visualblocks section{background-image:url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=)}.mce-visualblocks article{background-image:url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7)}.mce-visualblocks blockquote{background-image:url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7)}.mce-visualblocks address{background-image:url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=)}.mce-visualblocks pre{background-image:url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==)}.mce-visualblocks figure{background-image:url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7)}.mce-visualblocks figcaption{border:1px dashed #bbb}.mce-visualblocks hgroup{background-image:url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7)}.mce-visualblocks aside{background-image:url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=)}.mce-visualblocks ul{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==)}.mce-visualblocks ol{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==)}.mce-visualblocks dl{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==)}.mce-visualblocks:not([dir=rtl]) address,.mce-visualblocks:not([dir=rtl]) article,.mce-visualblocks:not([dir=rtl]) aside,.mce-visualblocks:not([dir=rtl]) blockquote,.mce-visualblocks:not([dir=rtl]) div:not([data-mce-bogus]),.mce-visualblocks:not([dir=rtl]) dl,.mce-visualblocks:not([dir=rtl]) figcaption,.mce-visualblocks:not([dir=rtl]) figure,.mce-visualblocks:not([dir=rtl]) h1,.mce-visualblocks:not([dir=rtl]) h2,.mce-visualblocks:not([dir=rtl]) h3,.mce-visualblocks:not([dir=rtl]) h4,.mce-visualblocks:not([dir=rtl]) h5,.mce-visualblocks:not([dir=rtl]) h6,.mce-visualblocks:not([dir=rtl]) hgroup,.mce-visualblocks:not([dir=rtl]) ol,.mce-visualblocks:not([dir=rtl]) p,.mce-visualblocks:not([dir=rtl]) pre,.mce-visualblocks:not([dir=rtl]) section,.mce-visualblocks:not([dir=rtl]) ul{margin-left:3px}.mce-visualblocks[dir=rtl] address,.mce-visualblocks[dir=rtl] article,.mce-visualblocks[dir=rtl] aside,.mce-visualblocks[dir=rtl] blockquote,.mce-visualblocks[dir=rtl] div:not([data-mce-bogus]),.mce-visualblocks[dir=rtl] dl,.mce-visualblocks[dir=rtl] figcaption,.mce-visualblocks[dir=rtl] figure,.mce-visualblocks[dir=rtl] h1,.mce-visualblocks[dir=rtl] h2,.mce-visualblocks[dir=rtl] h3,.mce-visualblocks[dir=rtl] h4,.mce-visualblocks[dir=rtl] h5,.mce-visualblocks[dir=rtl] h6,.mce-visualblocks[dir=rtl] hgroup,.mce-visualblocks[dir=rtl] ol,.mce-visualblocks[dir=rtl] p,.mce-visualblocks[dir=rtl] pre,.mce-visualblocks[dir=rtl] section,.mce-visualblocks[dir=rtl] ul{background-position-x:right;margin-right:3px}.mce-nbsp,.mce-shy{background:#aaa}.mce-shy::after{content:'-'}[data-ephox-foam-a11y-violation]{outline:2px solid;position:relative}[data-ephox-foam-a11y-violation][data-ephox-foam-a11y-current-violation]{outline-width:4px;transition:outline-width .1s ease-in-out,background-color .1s ease-in-out;box-shadow:0 0 0 99999px #222f3e80;z-index:1}[data-ephox-foam-a11y-violation][data-ephox-foam-a11y-severity-info]{outline-color:#99c4f5}[data-ephox-foam-a11y-violation][data-ephox-foam-a11y-severity-warn]{outline-color:#ffeb99}[data-ephox-foam-a11y-violation][data-ephox-foam-a11y-severity-error]{outline-color:#eb9999}[data-ephox-foam-a11y-violation][data-ephox-foam-a11y-current-violation=info]{outline-color:#99c4f5;background-color:#e6f0fd}[data-ephox-foam-a11y-violation][data-ephox-foam-a11y-current-violation=warning]{outline-color:#ffeb99;background-color:#fffae6}[data-ephox-foam-a11y-violation][data-ephox-foam-a11y-current-violation=error]{outline-color:#eb9999;background-color:#fae6e6}[data-ephox-foam-a11y-violation][data-ephox-foam-a11y-current-violation]:is(td,th,tr){position:static}body{font-family:sans-serif}table{border-collapse:collapse}`)"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/skins/ui/oxide-dark/skin.js",
    "content": "tinymce.Resource.add('ui/oxide-dark/skin.css', `.tox{box-shadow:none;box-sizing:content-box;cursor:auto;font-style:normal;font-weight:400;line-height:normal;-webkit-tap-highlight-color:transparent;-webkit-text-decoration:none;text-decoration:none;text-shadow:none;text-transform:none;vertical-align:initial;white-space:normal}.tox :not(svg):not(rect){box-sizing:inherit;color:inherit;cursor:inherit;direction:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;line-height:inherit;-webkit-tap-highlight-color:inherit;text-align:inherit;text-decoration:inherit;text-shadow:inherit;text-transform:inherit;vertical-align:inherit;white-space:inherit}.tox :not(svg):not(rect){background:0 0;border:0;box-shadow:none;float:none;height:auto;margin:0;max-width:none;outline:0;padding:0;position:static;width:auto}.tox:not([dir=rtl]){direction:ltr;text-align:left}.tox[dir=rtl]{direction:rtl;text-align:right}.tox-tinymce :focus,.tox-tinymce-aux :focus{outline:0}button::-moz-focus-inner{border:0}@keyframes tox-rotation{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.tox{color:var(--tox-private-color-black,#222f3e);font-family:var(--tox-private-font-stack, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen-Sans, Ubuntu, Cantarell, \"Helvetica Neue\", sans-serif);font-size:var(--tox-private-font-size-base, 16px)}.tox-tinymce{border:2px solid #161f29;border-radius:10px;box-shadow:none;box-sizing:border-box;display:flex;flex-direction:column;font-family:var(--tox-private-font-stack, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen-Sans, Ubuntu, Cantarell, \"Helvetica Neue\", sans-serif);overflow:hidden;position:relative;visibility:inherit!important}.tox.tox-tinymce-inline{border:none;box-shadow:none;overflow:initial}.tox.tox-tinymce-inline .tox-editor-container{overflow:initial}.tox.tox-tinymce-inline .tox-editor-header{background-color:#222f3e;border:2px solid #161f29;border-radius:10px;box-shadow:none;overflow:hidden}.tox-tinymce-aux{font-family:var(--tox-private-font-stack, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen-Sans, Ubuntu, Cantarell, \"Helvetica Neue\", sans-serif);z-index:var(--tox-private-z-index-sink,1300)}.tox[dir=rtl] .tox-icon--flip svg{transform:rotateY(180deg)}.tox .tox-editor-container{display:flex;flex:1 1 auto;flex-direction:column;overflow:hidden}.tox .tox-editor-header{display:grid;grid-template-columns:1fr min-content;z-index:2}.tox:not(.tox-tinymce-inline) .tox-editor-header{background-color:#222f3e;border-bottom:1px solid rgba(255,255,255,.15);box-shadow:none;padding:4px 0}.tox:not(.tox-tinymce-inline) .tox-editor-header:not(.tox-editor-dock-transition){transition:box-shadow .5s}.tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-bottom .tox-editor-header{border-top:1px solid rgba(255,255,255,.15);box-shadow:none}.tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-sticky-on .tox-editor-header{background-color:#222f3e;box-shadow:none;padding:4px 0}.tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-sticky-on.tox-tinymce--toolbar-bottom .tox-editor-header{box-shadow:none}.tox.tox:not(.tox-tinymce-inline) .tox-editor-header.tox-editor-header--empty{background:0 0;border:none;box-shadow:none;padding:0}.tox-editor-dock-fadeout{opacity:0;visibility:hidden}.tox-editor-dock-fadein{opacity:1;visibility:visible}.tox-editor-dock-transition{transition:visibility 0s linear .25s,opacity .25s ease}.tox-editor-dock-transition.tox-editor-dock-fadein{transition-delay:0s}.tox .accessibility-issue__header{align-items:center;display:flex;margin-bottom:4px}.tox #accessibility-issue__subheader{font-size:16px;color:#fff}.tox .accessbility-sr-only{position:absolute;clip:rect(1px,1px,1px,1px);clip-path:inset(0 0 99.9% 99.9%);overflow:hidden;height:1px;width:1px;padding:0;border:0}.tox .accessibility-issue__description{align-items:stretch;border-radius:6px;justify-content:space-between}.tox .accessibility-issue__description>div{padding-bottom:4px}.tox .accessibility-issue__description>div>div{align-items:center;display:flex;margin-bottom:4px}.tox .accessibility-issue__description>div>div .tox-icon svg{display:block}.tox #accessibility-issue__contentID{margin-top:8px;margin-bottom:8px}.tox #accessibility-issue__contentID span:first-child{font-weight:700}.tox #accessibility-issue__document{padding-bottom:8px}.tox .accessibility-issue__repair{margin-top:8px}.tox .accessibility-issue__repair .tox-form__group .tox-form__group--error{color:#eb9999}.tox .tox-dialog__body-content .accessibility-issue--info .accessibility-issue__description{background-color:#1f354f;color:#fff}.tox .tox-dialog__body-content .accessibility-issue--info .tox-form__group h2{font-size:14px;color:#99c4f5}.tox .tox-dialog__body-content .accessibility-issue--info .tox-icon.accessibility-issue__icon svg{fill:#99c4f5}.tox .tox-dialog__body-content .accessibility-issue--info a.tox-button--naked.tox-button--icon{background-color:#006ce7;color:#fff}.tox .tox-dialog__body-content .accessibility-issue--info a.tox-button--naked.tox-button--icon:focus,.tox .tox-dialog__body-content .accessibility-issue--info a.tox-button--naked.tox-button--icon:hover{background-color:#0060ce}.tox .tox-dialog__body-content .accessibility-issue--info a.tox-button--naked.tox-button--icon:active{background-color:#0054b4}.tox .tox-dialog__body-content .accessibility-issue--warn .accessibility-issue__description{background-color:#383f38;color:#fff}.tox .tox-dialog__body-content .accessibility-issue--warn .tox-form__group h2{font-size:14px;color:#ffeb99}.tox .tox-dialog__body-content .accessibility-issue--warn .tox-icon.accessibility-issue__icon svg{fill:#ffeb99}.tox .tox-dialog__body-content .accessibility-issue--warn a.tox-button--naked.tox-button--icon{background-color:#ffe89d;color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--warn a.tox-button--naked.tox-button--icon:focus,.tox .tox-dialog__body-content .accessibility-issue--warn a.tox-button--naked.tox-button--icon:hover{background-color:#f2d574;color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--warn a.tox-button--naked.tox-button--icon:active{background-color:#e8c657;color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--error .accessibility-issue__description{background-color:#332a38;color:#fff}.tox .tox-dialog__body-content .accessibility-issue--error .tox-form__group h2{font-size:14px;color:#eb9999}.tox .tox-dialog__body-content .accessibility-issue--error .tox-icon.accessibility-issue__icon svg{fill:#eb9999}.tox .tox-dialog__body-content .accessibility-issue--error a.tox-button--naked.tox-button--icon{background-color:#f2bfbf;color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--error a.tox-button--naked.tox-button--icon:focus,.tox .tox-dialog__body-content .accessibility-issue--error a.tox-button--naked.tox-button--icon:hover{background-color:#e9a4a4;color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--error a.tox-button--naked.tox-button--icon:active{background-color:#ee9494;color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--success .accessibility-issue__description{background-color:rgba(120,171,70,.5);color:#fff}.tox .tox-dialog__body-content .accessibility-issue--success .accessibility-issue__description>:last-child{display:none}.tox .tox-dialog__body-content .accessibility-issue--success .tox-form__group h2{color:#fff}.tox .tox-dialog__body-content .accessibility-issue--success .tox-icon.accessibility-issue__icon svg{fill:#fff}.tox .tox-dialog__body-content .accessibility-issue__header .tox-form__group h1,.tox .tox-dialog__body-content .tox-form__group .accessibility-issue__description h2{margin-top:0}.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__header .tox-button{margin-left:4px}.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__header>:nth-last-child(2){margin-left:auto}.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__description{padding:8px}.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__header .tox-button{margin-right:4px}.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__header>:nth-last-child(2){margin-right:auto}.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__description{padding:4px 8px 4px 4px}.tox .mce-codemirror{background:#fff;bottom:0;font-size:13px;left:0;position:absolute;right:0;top:0;z-index:1}.tox .mce-codemirror.tox-inline-codemirror{margin:8px;position:absolute}.tox .tox-advtemplate .tox-form__grid{flex:1}.tox .tox-advtemplate .tox-form__grid>div:first-child{display:flex;flex-direction:column;width:30%}.tox .tox-advtemplate .tox-form__grid>div:first-child>div:nth-child(2){flex-basis:0;flex-grow:1;overflow:auto}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox .tox-advtemplate .tox-form__grid>div:first-child{width:100%}}.tox .tox-advtemplate iframe{border-color:#161f29;border-radius:10px;border-style:solid;border-width:1px;margin:0 10px}.tox .tox-anchorbar{display:flex;flex:0 0 auto}.tox .tox-bottom-anchorbar{display:flex;flex:0 0 auto}.tox .tox-bar{display:flex;flex:0 0 auto}.tox .tox-button{border-width:var(--tox-private-button-border-width,1px);border-style:var(--tox-private-button-border-style,solid);border-radius:var(--tox-private-control-border-radius,6px);font-family:var(--tox-private-font-stack, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen-Sans, Ubuntu, Cantarell, \"Helvetica Neue\", sans-serif);font-size:var(--tox-private-button-font-size, 14px);font-style:var(--tox-private-button-font-style,normal);font-weight:var(--tox-private-button-font-weight,bold);line-height:var(--tox-private-control-line-height, 24px);padding:var(--tox-private-button-padding-y,4px) var(--tox-private-button-padding-x,16px);text-align:center;-webkit-text-decoration:none;text-decoration:none;text-transform:none;letter-spacing:normal;box-shadow:none;box-sizing:border-box;cursor:pointer;outline:0;position:relative;white-space:nowrap;display:inline-flex;justify-content:center;align-items:center;gap:2px}.tox .tox-button::before{border-radius:var(--tox-private-control-border-radius,6px);bottom:calc(-1 * var(--tox-private-button-border-width,1px));box-shadow:var(--tox-private-button-focus-outline,inset 0 0 0 1px #fff,0 0 0 2px #006ce7);content:'';left:calc(-1 * var(--tox-private-button-border-width,1px));opacity:0;pointer-events:none;position:absolute;right:calc(-1 * var(--tox-private-button-border-width,1px));top:calc(-1 * var(--tox-private-button-border-width,1px))}.tox .tox-button:focus:not(:disabled){background-color:var(--tox-private-button-focus-background-color,#0060ce);background-image:none;border-color:var(--tox-private-button-focus-border-color,#0060ce);box-shadow:var(--tox-private-button-focus-box-shadow,none);color:var(--tox-private-button-focus-text-color,#fff)}.tox .tox-button:focus:not(:disabled)::before{opacity:1}.tox .tox-button.tox-button--icon,.tox .tox-button:has(.tox-icon:only-child){padding:4px}.tox .tox-button .tox-icon svg{display:block;fill:currentColor}.tox .tox-button .tox-icon.tox-icon--success svg{fill:var(--tox-private-color-success,#78AB46)}.tox .tox-button .tox-icon.tox-icon--error svg{fill:var(--tox-private-color-error,#c00)}.tox .tox-button--stretch{width:100%}.tox-context-form__group .tox-button--icon,.tox-context-form__group .tox-button.tox-button--icon{margin:6px 1px 5px 0;padding:0}.tox .tox-button{background-color:var(--tox-private-button-primary-background-color,#006ce7);background-image:none;background-position:0 0;background-repeat:repeat;color:var(--tox-private-button-primary-text-color,#fff);border-color:var(--tox-private-button-primary-border-color,#006ce7)}.tox .tox-button[disabled]{background-color:var(--tox-private-button-primary-disabled-background-color,#006ce7);background-image:none;border-color:var(--tox-private-button-primary-disabled-border-color,#006ce7);color:var(--tox-private-button-primary-disabled-text-color,rgba(255,255,255,.5));cursor:not-allowed}.tox .tox-button:focus:not(:disabled){background-color:var(--tox-private-button-primary-focus-background-color,#0060ce);border-color:var(--tox-private-button-primary-focus-border-color,#0060ce);color:var(--tox-private-button-primary-focus-text-color,#fff);background-image:none;box-shadow:none}.tox .tox-button:hover:not(:disabled){background-color:var(--tox-private-button-primary-hover-background-color,#0060ce);border-color:var(--tox-private-button-primary-hover-border-color,#0060ce);color:var(--tox-private-button-primary-hover-text-color,#fff);background-image:none;box-shadow:none}.tox .tox-button:active:not(:disabled){background-color:var(--tox-private-button-primary-active-background-color,#0054b4);border-color:var(--tox-private-button-primary-active-border-color,#0054b4);color:var(--tox-private-button-primary-active-text-color,#fff);background-image:none;box-shadow:none}.tox .tox-button.tox-button--enabled{background-color:var(--tox-private-button-primary-enabled-background-color,#0054b4);border-color:var(--tox-private-button-primary-enabled-border-color,#0054b4);color:var(--tox-private-button-primary-enabled-text-color,#fff);background-image:none;box-shadow:none}.tox .tox-button.tox-button--enabled[disabled]{color:var(--tox-private-button-primary-disabled-text-color,rgba(255,255,255,.5));cursor:not-allowed}.tox .tox-button.tox-button--enabled:focus:not(:disabled){background-color:var(--tox-private-button-primary-enabled-focus-background-color,#00489b);border-color:var(--tox-private-button-primary-enabled-focus-border-color,#00489b);color:var(--tox-private-button-primary-enabled-focus-text-color,#fff);background-image:none;box-shadow:none}.tox .tox-button.tox-button--enabled:hover:not(:disabled){background-color:var(--tox-private-button-primary-enabled-hover-background-color,#00489b);border-color:var(--tox-private-button-primary-enabled-hover-border-color,#00489b);color:var(--tox-private-button-primary-enabled-hover-text-color,#fff);background-image:none;box-shadow:none}.tox .tox-button.tox-button--enabled:active:not(:disabled){background-color:var(--tox-private-button-primary-enabled-active-background-color,#003c81);border-color:var(--tox-private-button-primary-enabled-active-border-color,#003c81);color:var(--tox-private-button-primary-enabled-active-text-color,#fff);background-image:none;box-shadow:none}.tox .tox-button--secondary{background-color:var(--tox-private-button-secondary-background-color,#3d546f);border-color:var(--tox-private-button-secondary-border-color,#3d546f);color:var(--tox-private-button-secondary-text-color,#fff);border-style:solid;border-width:1px;background-image:none;background-position:0 0;background-repeat:repeat;border-radius:6px;box-shadow:none;font-size:14px;font-style:normal;font-weight:700;letter-spacing:normal;outline:0;padding:4px 16px;-webkit-text-decoration:none;text-decoration:none;text-transform:none}.tox .tox-button--secondary[disabled]{background-color:var(--tox-private-button-secondary-disabled-background-color,#3d546f);background-image:none;border-color:var(--tox-private-button-secondary-disabled-border-color,#3d546f);color:var(--tox-private-button-secondary-disabled-text-color,rgba(255,255,255,.5));cursor:not-allowed}.tox .tox-button--secondary:focus:not(:disabled){background-color:var(--tox-private-button-secondary-focus-background-color,#34485f);border-color:var(--tox-private-button-secondary-focus-border-color,#34485f);color:var(--tox-private-button-secondary-focus-text-color,#fff);background-image:none;box-shadow:none}.tox .tox-button--secondary:hover:not(:disabled){background-color:var(--tox-private-button-secondary-hover-background-color,#34485f);border-color:var(--tox-private-button-secondary-hover-border-color,#34485f);color:var(--tox-private-button-secondary-hover-text-color,#fff);background-image:none;box-shadow:none}.tox .tox-button--secondary:active:not(:disabled){background-color:var(--tox-private-button-secondary-active-background-color,#2b3b4e);border-color:var(--tox-private-button-secondary-active-border-color,#2b3b4e);color:var(--tox-private-button-secondary-active-text-color,#fff);background-image:none;box-shadow:none}.tox .tox-button--secondary.tox-button--enabled{background-color:var(--tox-private-button-secondary-enabled-background-color,#2b5c93);border-color:var(--tox-private-button-secondary-enabled-border-color,#2b5c93);color:var(--tox-private-button-secondary-enabled-text-color,#fff);background-image:none;box-shadow:none}.tox .tox-button--secondary.tox-button--enabled[disabled]{color:var(--tox-private-button-secondary-disabled-text-color,rgba(255,255,255,.5));cursor:not-allowed}.tox .tox-button--secondary.tox-button--enabled:focus:not(:disabled){background-color:var(--tox-private-button-secondary-enabled-focus-background-color,#254f80);border-color:var(--tox-private-button-secondary-enabled-focus-border-color,#254f80);color:var(--tox-private-button-secondary-enabled-focus-text-color,#fff);background-image:none;box-shadow:none}.tox .tox-button--secondary.tox-button--enabled:hover:not(:disabled){background-color:var(--tox-private-button-secondary-enabled-hover-background-color,#254f80);border-color:var(--tox-private-button-secondary-enabled-hover-border-color,#254f80);color:var(--tox-private-button-secondary-enabled-hover-text-color,#fff);background-image:none;box-shadow:none}.tox .tox-button--secondary.tox-button--enabled:active:not(:disabled){background-color:var(--tox-private-button-secondary-enabled-active-background-color,#1f436c);border-color:var(--tox-private-button-secondary-enabled-active-border-color,#1f436c);color:var(--tox-private-button-secondary-enabled-active-text-color,#fff);background-image:none;box-shadow:none}.tox .tox-button--naked{background-color:transparent;border-color:transparent;box-shadow:unset;color:var(--tox-private-button-naked-text-color,#fff)}.tox .tox-button--naked[disabled]{background-color:rgba(255,255,255,.2);border-color:transparent;color:var(--tox-private-button-naked-disabled-text-color,rgba(255,255,255,.5));cursor:not-allowed}.tox .tox-button--naked:focus:not(:disabled){background-color:var(--tox-private-button-naked-focus-background-color,rgba(255,255,255,.2));border-color:var(--tox-private-button-naked-focus-border-color,transparent);color:var(--tox-private-button-naked-focus-text-color,#fff);box-shadow:unset}.tox .tox-button--naked:hover:not(:disabled){background-color:var(--tox-private-button-naked-hover-background-color,rgba(255,255,255,.2));border-color:var(--tox-private-button-naked-hover-background-color,transparent);color:var(--tox-private-button-naked-hover-text-color,#fff);box-shadow:unset}.tox .tox-button--naked:active:not(:disabled){background-color:var(--tox-private-button-naked-active-background-color,rgba(255,255,255,.3));border-color:var(--tox-private-button-naked-active-border-color,transparent);color:var(--tox-private-button-naked-active-text-color,#fff);box-shadow:unset}.tox .tox-button--secondary--outline{background-color:transparent;border-color:var(--tox-private-button-secondary-outline-border-color,#3d546f);color:var(--tox-private-button-secondary-outline-text-color,#fff)}.tox .tox-button--secondary--outline:focus:not(:disabled){background-color:var(--tox-private-button-secondary-outline-focus-background-color,#34485f);border-color:var(--tox-private-button-secondary-outline-focus-border-color,#34485f);color:var(--tox-private-button-secondary-outline-focus-text-color,#fff)}.tox .tox-button--secondary--outline:hover:not(:disabled){background-color:var(--tox-private-button-secondary-outline-hover-background-color,#3d546f);border-color:var(--tox-private-button-secondary-outline-hover-border-color,#34485f);color:var(--tox-private-button-secondary-outline-hover-text-color,#fff)}.tox .tox-button--secondary--outline:active:not(:disabled){background-color:var(--tox-private-button-secondary-outline-active-background-color,#34485f);border-color:var(--tox-private-button-secondary-outline-active-border-color,#34485f);color:var(--tox-private-button-secondary-outline-active-text-color,#fff)}.tox .tox-button--secondary--outline[disabled]{background-color:var(--tox-private-button-secondary-outline-disabled-background-color,transparent);border-color:var(--tox-private-button-secondary-outline-disabled-border-color,#3d546f);color:var(--tox-private-button-secondary-outline-disabled-text-color,rgba(255,255,255,.5))}.tox .tox-checkbox{align-items:center;border-radius:var(--tox-private-checkbox-border-radius,6px);cursor:pointer;display:flex;height:var(--tox-private-control-height,36px);min-width:var(--tox-private-control-height,36px)}.tox .tox-checkbox__input{height:1px;overflow:hidden;position:absolute;top:auto;width:1px}.tox .tox-checkbox__icons{display:flex;align-items:center;justify-content:center;box-sizing:content-box;padding:var(--tox-private-pad-xs,calc(4px - 1px));border-radius:var(--tox-private-checkbox-border-radius,6px);box-shadow:0 0 0 2px transparent;height:var(--tox-private-control-line-height,24px);aspect-ratio:1}.tox .tox-checkbox__icons .tox-checkbox-icon__unchecked svg{display:block;fill:var(--tox-private-checkbox-unselected-color,rgba(255,255,255,0.2))}@media (forced-colors:active){.tox .tox-checkbox__icons .tox-checkbox-icon__unchecked svg{fill:currentColor!important}}.tox .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg{display:none;fill:var(--tox-private-checkbox-indeterminate-color,#006ce7)}.tox .tox-checkbox__icons .tox-checkbox-icon__checked svg{display:none;fill:var(--tox-private-checkbox-selected-color,#006ce7)}.tox .tox-checkbox--disabled{color:var(--tox-private-checkbox-disabled-text-color,rgba(255,255,255,.5));cursor:not-allowed}.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__checked svg{fill:var(--tox-private-checkbox-disabled-text-color,rgba(255,255,255,0.5))}.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__unchecked svg{fill:var(--tox-private-checkbox-disabled-text-color,rgba(255,255,255,0.5))}.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg{fill:var(--tox-private-checkbox-disabled-text-color,rgba(255,255,255,0.5))}.tox input.tox-checkbox__input:checked+.tox-checkbox__icons .tox-checkbox-icon__unchecked svg{display:none}.tox input.tox-checkbox__input:checked+.tox-checkbox__icons .tox-checkbox-icon__checked svg{display:block}.tox input.tox-checkbox__input:indeterminate+.tox-checkbox__icons .tox-checkbox-icon__unchecked svg{display:none}.tox input.tox-checkbox__input:indeterminate+.tox-checkbox__icons .tox-checkbox-icon__indeterminate svg{display:block}.tox input.tox-checkbox__input:focus+.tox-checkbox__icons{box-shadow:var(--tox-private-checkbox-focus-box-shadow,inset 0 0 0 1px #006ce7)}.tox:not([dir=rtl]) .tox-checkbox__label{margin-left:var(--tox-private-pad-xs,4px)}.tox:not([dir=rtl]) .tox-checkbox__input{left:-10000px}.tox:not([dir=rtl]) .tox-bar .tox-checkbox{margin-left:var(--tox-private-pad-xs,4px)}.tox[dir=rtl] .tox-checkbox__label{margin-right:var(--tox-private-pad-xs,4px)}.tox[dir=rtl] .tox-checkbox__input{right:-10000px}.tox[dir=rtl] .tox-bar .tox-checkbox{margin-right:var(--tox-private-pad-xs,4px)}.tox .tox-collection--toolbar .tox-collection__group{display:flex;padding:0}.tox .tox-collection--grid .tox-collection__group{display:flex;flex-wrap:wrap;max-height:208px;overflow-x:hidden;overflow-y:auto;padding:0}.tox .tox-collection--list .tox-collection__group{border-bottom-width:0;border-color:rgba(255,255,255,.15);border-left-width:0;border-right-width:0;border-style:solid;border-top-width:1px;padding:4px 0}.tox .tox-collection--list .tox-collection__group:first-child{border-top-width:0}.tox .tox-collection__group-heading{background-color:rgba(255,255,255,.15);color:rgba(255,255,255,.5);cursor:default;font-size:12px;font-style:normal;font-weight:400;margin-bottom:4px;margin-top:-4px;padding:4px 8px;text-transform:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.tox .tox-collection__item{align-items:center;border-radius:3px;color:#fff;display:flex;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.tox .tox-image-selector-menu .tox-collection__item,.tox .tox-image-selector-menu .tox-collection__item-image-selector{flex-direction:column}.tox .tox-image-selector-menu .tox-collection__item .tox-collection__item-checkmark,.tox .tox-image-selector-menu .tox-collection__item .tox-collection__item-icon,.tox .tox-image-selector-menu .tox-collection__item .tox-collection__item-image,.tox .tox-image-selector-menu .tox-collection__item-image-selector .tox-collection__item-checkmark,.tox .tox-image-selector-menu .tox-collection__item-image-selector .tox-collection__item-icon,.tox .tox-image-selector-menu .tox-collection__item-image-selector .tox-collection__item-image{flex-grow:1}.tox .tox-image-selector-menu .tox-collection__item label,.tox .tox-image-selector-menu .tox-collection__item-image-selector label{width:48px;white-space:nowrap;overflow:hidden;font-size:12px;color:#fff;text-align:center;align-self:flex-end}.tox .tox-image-selector-menu .tox-collection__item-checkmark{height:24px;width:24px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.tox .tox-image-selector-menu .tox-collection__item-checkmark svg path{fill:#006ce7;stroke:#006ce7}.tox .tox-image-selector-menu .tox-image-selector__row .tox-collection__item-image-selector.tox-collection__item--active:not(.tox-collection__item--state-disabled){background-color:#222f3e}.tox .tox-image-selector-menu .tox-image-selector__row .tox-collection__item-image-selector.tox-collection__item--enabled:not(.tox-collection__item--state-disabled){z-index:2;background-color:#222f3e;opacity:.8;background-clip:content-box}.tox .tox-collection--list .tox-collection__item{padding:4px 8px}.tox .tox-collection--toolbar .tox-collection__item{border-radius:3px;padding:4px}.tox .tox-collection--grid .tox-collection__item{border-radius:3px;padding:4px}.tox .tox-collection--list .tox-collection__item--enabled:not(.tox-collection__item--state-disabled){background-color:#2b3b4e;color:#fff}.tox .tox-collection--list .tox-collection__item--active:not(.tox-collection__item--state-disabled){background-color:#006ce7;color:#fff}@media (forced-colors:active){.tox .tox-collection--list .tox-collection__item--active:not(.tox-collection__item--state-disabled){border:solid 1px}}.tox .tox-collection--grid .tox-collection__item--enabled:not(.tox-collection__item--state-disabled){background-color:#599fef;color:#fff}.tox .tox-collection--grid .tox-collection__item--active:not(.tox-collection__item--state-disabled){background-color:#2f4055;color:#fff;position:relative;z-index:1}.tox .tox-collection--grid .tox-collection__item--active:not(.tox-collection__item--state-disabled):focus::after{border-radius:3px;bottom:0;box-shadow:0 0 0 2px #fff inset;content:'';left:0;position:absolute;right:0;top:0}@media (forced-colors:active){.tox .tox-collection--grid .tox-collection__item--active:not(.tox-collection__item--state-disabled):focus::after{border:2px solid highlight}}.tox .tox-collection--toolbar .tox-collection__item--enabled:not(.tox-collection__item--state-disabled){background-color:#599fef;color:#fff}@media (forced-colors:active){.tox .tox-collection--toolbar .tox-collection__item--enabled:not(.tox-collection__item--state-disabled){border-radius:3px;outline:solid 1px}}.tox .tox-collection--toolbar .tox-collection__item--active:not(.tox-collection__item--state-disabled){color:#fff;background-color:#2b3b4e;position:relative}.tox .tox-collection--toolbar .tox-collection__item--active:not(.tox-collection__item--state-disabled):hover{background-color:#2f4055;color:#fff}.tox .tox-collection--toolbar .tox-collection__item--active:not(.tox-collection__item--state-disabled):focus{background-color:#2f4055;color:#fff}.tox .tox-collection--toolbar .tox-collection__item--active:not(.tox-collection__item--state-disabled):focus::after{border-radius:3px;bottom:0;box-shadow:0 0 0 2px #fff;content:'';left:0;position:absolute;right:0;top:0}@media (forced-colors:active){.tox .tox-collection--toolbar .tox-collection__item--active:not(.tox-collection__item--state-disabled):focus::after{border:2px solid highlight}}@media (forced-colors:active){.tox .tox-collection--toolbar .tox-collection__item--active:not(.tox-collection__item--state-disabled):hover{border-radius:3px;outline:solid 1px}}.tox .tox-collection__item-image{border:1px solid #161f29;border-radius:6px;display:flex;flex-direction:column;justify-content:center;margin-bottom:4px;position:relative}.tox .tox-collection__item-checkmark,.tox .tox-collection__item-icon{align-items:center;display:flex;height:24px;justify-content:center;width:24px}.tox .tox-collection__item-checkmark svg,.tox .tox-collection__item-icon svg{fill:currentColor}.tox .tox-collection--toolbar-lg .tox-collection__item-icon{height:48px;width:48px}.tox .tox-collection__item-label{color:currentColor;display:inline-block;flex:1;font-size:14px;font-style:normal;font-weight:400;line-height:24px;max-width:100%;text-transform:none;word-break:break-all}.tox .tox-collection__item-accessory{color:currentColor;display:inline-block;font-size:14px;height:24px;line-height:24px;text-transform:none}.tox .tox-collection__item-caret{align-items:center;display:flex;min-height:24px}.tox .tox-collection__item-caret::after{content:'';font-size:0;min-height:inherit}.tox .tox-collection__item-caret svg{fill:currentColor}.tox .tox-collection__item--state-disabled{background-color:transparent;color:rgba(255,255,255,.5);cursor:not-allowed}.tox .tox-collection__item--state-disabled .tox-collection__item-caret svg{fill:rgba(255,255,255,0.5)}.tox .tox-collection--list .tox-collection__item:not(.tox-collection__item--enabled) .tox-collection__item-checkmark svg{display:none}.tox .tox-collection--list .tox-collection__item:not(.tox-collection__item--enabled) .tox-collection__item-accessory+.tox-collection__item-checkmark{display:none}.tox .tox-collection--horizontal{background-color:#2b3b4e;border:1px solid rgba(255,255,255,.15);border-radius:6px;box-shadow:0 0 2px 0 rgba(34,47,62,.2),0 4px 8px 0 rgba(34,47,62,.15);display:flex;flex:0 0 auto;flex-shrink:0;flex-wrap:nowrap;margin-bottom:0;overflow-x:auto;padding:0}.tox .tox-collection--horizontal .tox-collection__group{align-items:center;display:flex;flex-wrap:nowrap;margin:0;padding:0 4px}.tox .tox-collection--horizontal .tox-collection__item{height:28px;margin:6px 1px 5px 0;padding:0 4px}.tox .tox-collection--horizontal .tox-collection__item-label{white-space:nowrap}.tox .tox-collection--horizontal .tox-collection__item-caret{margin-left:4px}.tox .tox-collection__item-container{display:flex}.tox .tox-collection__item-container--row{align-items:center;flex:1 1 auto;flex-direction:row}.tox .tox-collection__item-container--row.tox-collection__item-container--align-left{margin-right:auto}.tox .tox-collection__item-container--row.tox-collection__item-container--align-right{justify-content:flex-end;margin-left:auto}.tox .tox-collection__item-container--row.tox-collection__item-container--valign-top{align-items:flex-start;margin-bottom:auto}.tox .tox-collection__item-container--row.tox-collection__item-container--valign-middle{align-items:center}.tox .tox-collection__item-container--row.tox-collection__item-container--valign-bottom{align-items:flex-end;margin-top:auto}.tox .tox-collection__item-container--column{align-self:center;flex:1 1 auto;flex-direction:column}.tox .tox-collection__item-container--column.tox-collection__item-container--align-left{align-items:flex-start}.tox .tox-collection__item-container--column.tox-collection__item-container--align-right{align-items:flex-end}.tox .tox-collection__item-container--column.tox-collection__item-container--valign-top{align-self:flex-start}.tox .tox-collection__item-container--column.tox-collection__item-container--valign-middle{align-self:center}.tox .tox-collection__item-container--column.tox-collection__item-container--valign-bottom{align-self:flex-end}.tox:not([dir=rtl]) .tox-collection--horizontal .tox-collection__group:not(:last-of-type){border-right:1px solid transparent}.tox:not([dir=rtl]) .tox-collection--list .tox-collection__item>:not(:first-child){margin-left:8px}.tox:not([dir=rtl]) .tox-collection--list .tox-collection__item>.tox-collection__item-label:first-child{margin-left:4px}.tox:not([dir=rtl]) .tox-collection__item-accessory{margin-left:16px;text-align:right}.tox:not([dir=rtl]) .tox-collection .tox-collection__item-caret{margin-left:16px}.tox[dir=rtl] .tox-collection--horizontal .tox-collection__group:not(:last-of-type){border-left:1px solid transparent}.tox[dir=rtl] .tox-collection--list .tox-collection__item>:not(:first-child){margin-right:8px}.tox[dir=rtl] .tox-collection--list .tox-collection__item>.tox-collection__item-label:first-child{margin-right:4px}.tox[dir=rtl] .tox-collection__item-accessory{margin-right:16px;text-align:left}.tox[dir=rtl] .tox-collection .tox-collection__item-caret{margin-right:16px;transform:rotateY(180deg)}.tox[dir=rtl] .tox-collection--horizontal .tox-collection__item-caret{margin-right:4px}@media (forced-colors:active){.tox .tox-hue-slider,.tox .tox-rgb-form .tox-rgba-preview{background-color:currentColor!important;border:1px solid highlight!important;forced-color-adjust:none}}.tox .tox-color-picker-container{display:flex;flex-direction:row;height:225px;margin:0}.tox .tox-sv-palette{box-sizing:border-box;display:flex;height:100%}.tox .tox-sv-palette-spectrum{height:100%}.tox .tox-sv-palette,.tox .tox-sv-palette-spectrum{width:225px}.tox .tox-sv-palette-thumb{background:0 0;border:1px solid #000;border-radius:50%;box-sizing:content-box;height:12px;position:absolute;width:12px}.tox .tox-sv-palette-inner-thumb{border:1px solid #fff;border-radius:50%;height:10px;position:absolute;width:10px}.tox .tox-hue-slider{box-sizing:border-box;height:100%;width:25px}.tox .tox-hue-slider-spectrum{background:linear-gradient(to bottom,red,#ff0080,#f0f,#8000ff,#00f,#0080ff,#0ff,#00ff80,#0f0,#80ff00,#ff0,#ff8000,red);height:100%;width:100%}.tox .tox-hue-slider,.tox .tox-hue-slider-spectrum{width:20px}.tox .tox-hue-slider-spectrum:focus,.tox .tox-sv-palette-spectrum:focus{outline:#08f solid}.tox .tox-hue-slider-thumb{background:#fff;border:1px solid #000;box-sizing:content-box;height:4px;width:100%}.tox .tox-rgb-form{display:flex;flex-direction:column;justify-content:space-between}.tox .tox-rgb-form div{align-items:center;display:flex;justify-content:space-between;margin-bottom:5px;width:inherit}.tox .tox-rgb-form input{min-width:6em}.tox .tox-rgb-form input.tox-invalid{border:1px solid red!important;box-shadow:0 0 0 1px red}.tox .tox-rgb-container{position:relative}.tox .tox-rgb-form .tox-invalid-icon{align-content:center;align-items:center;display:none;height:100%;position:absolute;right:0;top:0}.tox .tox-rgb-form .tox-invalid-icon .tox-control-wrap__status-icon-invalid{margin:0}.tox .tox-rgb-warning-note{background-color:#442632;border:1px solid #55212b;border-radius:3px;color:#e68080;padding:3px}.tox input.tox-invalid+.tox-invalid-icon{display:flex}.tox .tox-rgb-form .tox-rgba-preview{border:1px solid #000;flex-grow:2;margin-bottom:0}.tox:not([dir=rtl]) .tox-sv-palette{margin-right:15px}.tox:not([dir=rtl]) .tox-hue-slider{margin-right:15px}.tox:not([dir=rtl]) .tox-hue-slider-thumb{margin-left:-1px}.tox:not([dir=rtl]) .tox-rgb-form label{margin-right:.5em}.tox[dir=rtl] .tox-sv-palette{margin-left:15px}.tox[dir=rtl] .tox-hue-slider{margin-left:15px}.tox[dir=rtl] .tox-hue-slider-thumb{margin-right:-1px}.tox[dir=rtl] .tox-rgb-form label{margin-left:.5em}.tox .tox-toolbar .tox-swatches,.tox .tox-toolbar__overflow .tox-swatches,.tox .tox-toolbar__primary .tox-swatches{margin:5px 0 6px 11px}.tox .tox-collection--list .tox-collection__group .tox-swatches-menu{border:0;margin:-4px -4px}.tox .tox-swatches__row{display:flex}@media (forced-colors:active){.tox .tox-swatches__row{forced-color-adjust:none}}.tox .tox-swatch{height:30px;transition:transform .15s,box-shadow .15s;width:30px}.tox .tox-swatch:focus,.tox .tox-swatch:hover{box-shadow:0 0 0 1px rgba(127,127,127,.3) inset;transform:scale(.8)}.tox .tox-swatch--remove{align-items:center;display:flex;justify-content:center}.tox .tox-swatch--remove svg path{stroke:#e74c3c}.tox .tox-swatches__picker-btn{align-items:center;background-color:transparent;border:0;cursor:pointer;display:flex;height:30px;justify-content:center;outline:0;padding:0;width:30px}.tox .tox-swatches__picker-btn svg{fill:#fff;height:24px;width:24px}.tox .tox-swatches__picker-btn:hover{background:#2f4055}.tox div.tox-swatch:not(.tox-swatch--remove) svg{display:none;fill:#fff;height:24px;margin:calc((30px - 24px)/ 2) calc((30px - 24px)/ 2);width:24px}.tox div.tox-swatch:not(.tox-swatch--remove) svg path{fill:#fff;paint-order:stroke;stroke:#222f3e;stroke-width:2px}.tox div.tox-swatch:not(.tox-swatch--remove).tox-collection__item--enabled svg{display:block}.tox:not([dir=rtl]) .tox-swatches__picker-btn{margin-left:auto}.tox[dir=rtl] .tox-swatches__picker-btn{margin-right:auto}.tox .tox-comment{background:#222f3e;border:1px solid #222f3e;border-radius:6px;padding:8px;padding-bottom:16px;position:relative}.tox .tox-comment:hover{box-shadow:0 4px 8px 0 rgba(34,47,62,.1)}.tox .tox-comment.tox-comment--selected{background-color:#1b3b60;border:1px solid #006ce7;box-shadow:0 4px 8px 0 rgba(34,47,62,.1)}.tox .tox-comment.tox-comment--selected:focus{border:2px solid #fff;margin:-1px}.tox .tox-comment.tox-comment--selected:focus:not(:first-child){margin-top:7px}.tox .tox-comment.tox-comment--selected .tox-comment__single{margin-bottom:12px}.tox .tox-comment.tox-comment--selected .tox-comment__single:focus{position:relative}.tox .tox-comment.tox-comment--selected .tox-comment__single:focus::after{top:-9px;pointer-events:none;position:absolute;content:\"\";display:block;bottom:-9px;left:-9px;right:-9px;border-radius:6px;border:2px solid #fff}.tox .tox-comment.tox-comment--selected .tox-comment__single:focus:last-of-type:has(textarea):after{bottom:calc((12px + 16px + 1px) * -1)}.tox .tox-comment__header{align-items:center;color:#fff;display:flex;justify-content:space-between}.tox .tox-comment__date{color:#fff;font-size:12px;line-height:18px}.tox .tox-comment__body{color:#fff;font-size:16px;font-style:normal;font-weight:400;line-height:1.3;margin-top:8px;position:relative;text-transform:initial;transition:max-height .5s cubic-bezier(0, 1, 0, 1);white-space:pre-wrap}.tox .tox-comment__body.tox-comment__body--expanded{max-height:100em;transition:max-height 1s ease-in-out}.tox .tox-comment__body.tox-comment__body--pending{transition:max-height 0s}.tox .tox-comment__body p{margin:0}.tox .tox-comment__body textarea{resize:none;white-space:normal;width:100%;font-size:16px}.tox .tox-comment__loading-text{align-items:center;color:#fff;display:flex;flex-direction:column;position:relative}.tox .tox-comment__loading-text>div{padding-bottom:16px}.tox .tox-comment__overlaytext{bottom:0;flex-direction:column;font-size:14px;left:0;padding:1em;position:absolute;right:0;top:0;z-index:10}.tox .tox-comment__overlaytext p{background-color:#222f3e;box-shadow:0 0 8px 8px #222f3e;color:#fff;text-align:center}.tox .tox-comment__overlaytext div:nth-of-type(2){font-size:.8em}.tox .tox-comment__expander{padding-top:8px}.tox .tox-comment__expander p{color:rgba(255,255,255,.5);font-size:14px;font-style:normal}.tox .tox-comment__expander p:focus{font-weight:700}.tox .tox-comment__buttonspacing{padding-top:16px;text-align:center}.tox .tox-tbtn.tox-comment__mention-btn{display:flex;width:34px;height:34px;padding:5px;justify-content:center;align-items:center;margin:0;background-color:transparent}.tox .tox-comment-thread{background:#222f3e;position:relative;border-radius:6px;background-color:transparent}.tox .tox-comment-thread>:not(:first-child){margin-top:8px}.tox .tox-comment-thread__overlay::after{background:#222f3e;bottom:0;content:\"\";display:flex;left:0;opacity:.9;position:absolute;right:0;top:0;z-index:5}.tox .tox-comment__reply{display:flex;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end;margin-top:8px}.tox .tox-comment__reply>:first-child{margin-bottom:8px;width:100%}.tox .tox-comment__edit{display:flex;flex-wrap:wrap;justify-content:flex-end;margin-top:8px}.tox .tox-comment__gradient::after{background:linear-gradient(rgba(34,47,62,0),#222f3e);bottom:0;content:\"\";display:block;height:5em;margin-top:-40px;position:absolute;width:100%}.tox .tox-comment__overlay{background:#222f3e;bottom:0;display:flex;flex-direction:column;flex-grow:1;left:0;opacity:.9;position:absolute;right:0;text-align:center;top:0;z-index:5}.tox .tox-comment__busy-spinner{align-items:center;background-color:#222f3e;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:20}.tox .tox-comment__scroll{display:flex;flex-direction:column;flex-shrink:1;overflow:auto;padding:12px;scroll-behavior:smooth}.tox .tox-comment__scroll:has(textarea:focus){scroll-behavior:auto}.tox .tox-comment--disappearing{transition:opacity .5s ease}.tox .tox-comment[data-transitioning-destination=deleting]{opacity:0}.tox .tox-ring-loader{width:10px;height:10px;border:1px solid #fff;border-bottom-color:transparent;border-radius:50%;display:inline-block;box-sizing:border-box;animation:tox-rotation 1s linear infinite}.tox:not([dir=rtl]) .tox-comment__edit{margin-left:8px}.tox:not([dir=rtl]) .tox-comment__buttonspacing>:last-child,.tox:not([dir=rtl]) .tox-comment__edit>:last-child,.tox:not([dir=rtl]) .tox-comment__reply>:last-child{margin-left:8px}.tox[dir=rtl] .tox-comment__edit{margin-right:8px}.tox[dir=rtl] .tox-comment__buttonspacing>:last-child,.tox[dir=rtl] .tox-comment__edit>:last-child,.tox[dir=rtl] .tox-comment__reply>:last-child{margin-right:8px}.tox .tox-user{align-items:center;display:flex}.tox .tox-user__avatar svg{fill:rgba(255,255,255,0.5)}.tox .tox-user__avatar img{border-radius:50%;height:36px;object-fit:cover;vertical-align:middle;width:36px}.tox .tox-user__name{color:#fff;font-size:14px;font-style:normal;font-weight:700;line-height:18px;text-transform:none}.tox:not([dir=rtl]) .tox-user__avatar img,.tox:not([dir=rtl]) .tox-user__avatar svg{margin-right:8px}.tox:not([dir=rtl]) .tox-user__avatar+.tox-user__name{margin-left:8px}.tox[dir=rtl] .tox-user__avatar img,.tox[dir=rtl] .tox-user__avatar svg{margin-left:8px}.tox[dir=rtl] .tox-user__avatar+.tox-user__name{margin-right:8px}.tox .tox-dialog-wrap{align-items:center;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1100}.tox .tox-dialog-wrap__backdrop{background-color:rgba(34,47,62,.75);bottom:0;left:0;position:absolute;right:0;top:0;z-index:1}.tox .tox-dialog-wrap__backdrop--opaque{background-color:#222f3e}.tox .tox-dialog{background-color:#2b3b4e;border-color:#161f29;border-radius:10px;border-style:solid;border-width:0;box-shadow:0 16px 16px -10px rgba(34,47,62,.15),0 0 40px 1px rgba(34,47,62,.15);display:flex;flex-direction:column;max-height:100%;max-width:480px;overflow:hidden;position:relative;width:95vw;z-index:2}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox .tox-dialog{align-self:flex-start;margin:8px auto;max-height:calc(100vh - 8px * 2);width:calc(100vw - 16px)}}.tox .tox-dialog-inline{z-index:1100}.tox .tox-dialog__header{align-items:center;background-color:#2b3b4e;border-bottom:none;color:#fff;display:flex;font-size:16px;justify-content:space-between;padding:8px 16px 0 16px;position:relative}.tox .tox-dialog__header .tox-button{z-index:1}.tox .tox-dialog__draghandle{cursor:grab;height:100%;left:0;position:absolute;top:0;width:100%}.tox .tox-dialog__draghandle:active{cursor:grabbing}.tox .tox-dialog__dismiss{margin-left:auto}.tox .tox-dialog__title{font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif;font-size:20px;font-style:normal;font-weight:400;line-height:1.3;margin:0;text-transform:none}.tox .tox-dialog__body{color:#fff;display:flex;flex:1;font-size:16px;font-style:normal;font-weight:400;line-height:1.3;min-width:0;text-align:left;text-transform:none}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox .tox-dialog__body{flex-direction:column}}.tox .tox-dialog__body-nav{align-items:flex-start;display:flex;flex-direction:column;flex-shrink:0;padding:16px 16px}@media only screen and (min-width:768px){.tox .tox-dialog__body-nav{max-width:11em}}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox .tox-dialog__body-nav{flex-direction:row;-webkit-overflow-scrolling:touch;overflow-x:auto;padding-bottom:0}}.tox .tox-dialog__body-nav-item{border-bottom:2px solid transparent;color:rgba(255,255,255,.5);display:inline-block;flex-shrink:0;font-size:14px;line-height:1.3;margin-bottom:8px;max-width:13em;-webkit-text-decoration:none;text-decoration:none}.tox .tox-dialog__body-nav-item:focus{background-color:rgba(0,108,231,.1)}.tox .tox-dialog__body-nav-item--active{border-bottom:2px solid #67aeff;color:#67aeff}@media (forced-colors:active){.tox .tox-dialog__body-nav-item--active{border-bottom:2px solid highlight;color:highlight}}.tox .tox-dialog__body-content{box-sizing:border-box;display:flex;flex:1;flex-direction:column;max-height:min(650px,calc(100vh - 110px));overflow:auto;-webkit-overflow-scrolling:touch;padding:16px 16px}.tox .tox-dialog__body-content>*{margin-bottom:0;margin-top:16px}.tox .tox-dialog__body-content>:first-child{margin-top:0}.tox .tox-dialog__body-content>:last-child{margin-bottom:0}.tox .tox-dialog__body-content>:only-child{margin-bottom:0;margin-top:0}.tox .tox-dialog__body-content a{color:#67aeff;cursor:pointer;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-dialog__body-content a:focus,.tox .tox-dialog__body-content a:hover{color:#cde5ff;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-dialog__body-content a:focus-visible{border-radius:1px;outline:2px solid #67aeff;outline-offset:2px}.tox .tox-dialog__body-content a:active{color:#fff;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-dialog__body-content svg{fill:#fff}.tox .tox-dialog__body-content strong{font-weight:700}.tox .tox-dialog__body-content ul{list-style-type:disc}.tox .tox-dialog__body-content dd,.tox .tox-dialog__body-content ol,.tox .tox-dialog__body-content ul{padding-inline-start:2.5rem}.tox .tox-dialog__body-content dl,.tox .tox-dialog__body-content ol,.tox .tox-dialog__body-content ul{margin-bottom:16px}.tox .tox-dialog__body-content dd,.tox .tox-dialog__body-content dl,.tox .tox-dialog__body-content dt,.tox .tox-dialog__body-content ol,.tox .tox-dialog__body-content ul{display:block;margin-inline-end:0;margin-inline-start:0}.tox .tox-dialog__body-content .tox-form__group h1{color:#fff;font-size:20px;font-style:normal;font-weight:700;letter-spacing:normal;margin-bottom:16px;margin-top:2rem;text-transform:none}.tox .tox-dialog__body-content .tox-form__group h2{color:#fff;font-size:16px;font-style:normal;font-weight:700;letter-spacing:normal;margin-bottom:16px;margin-top:2rem;text-transform:none}.tox .tox-dialog__body-content .tox-form__group p{margin-bottom:16px}.tox .tox-dialog__body-content .tox-form__group h1:first-child,.tox .tox-dialog__body-content .tox-form__group h2:first-child,.tox .tox-dialog__body-content .tox-form__group p:first-child{margin-top:0}.tox .tox-dialog__body-content .tox-form__group h1:last-child,.tox .tox-dialog__body-content .tox-form__group h2:last-child,.tox .tox-dialog__body-content .tox-form__group p:last-child{margin-bottom:0}.tox .tox-dialog__body-content .tox-form__group h1:only-child,.tox .tox-dialog__body-content .tox-form__group h2:only-child,.tox .tox-dialog__body-content .tox-form__group p:only-child{margin-bottom:0;margin-top:0}.tox .tox-dialog__body-content .tox-form__group .tox-label.tox-label--center{text-align:center}.tox .tox-dialog__body-content .tox-form__group .tox-label.tox-label--end{text-align:end}.tox .tox-dialog--width-lg{height:650px;max-width:1200px}.tox .tox-dialog--fullscreen{height:100%;max-width:100%}.tox .tox-dialog--fullscreen .tox-dialog__body-content{max-height:100%}.tox .tox-dialog--width-md{max-width:800px}.tox .tox-dialog--width-md .tox-dialog__body-content{overflow:auto}.tox .tox-dialog__body-content--centered{text-align:center}.tox .tox-dialog__footer{align-items:center;background-color:#2b3b4e;border-top:none;display:flex;justify-content:space-between;padding:8px 16px}.tox .tox-dialog__footer-end,.tox .tox-dialog__footer-start{display:flex}.tox .tox-dialog__busy-spinner{align-items:center;background-color:rgba(34,47,62,.75);bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:3}.tox .tox-dialog__table{border-collapse:collapse;width:100%}.tox .tox-dialog__table thead th{font-weight:700;padding-bottom:8px}.tox .tox-dialog__table thead th:first-child{padding-right:8px}.tox .tox-dialog__table tbody tr{border-bottom:1px solid #000}.tox .tox-dialog__table tbody tr:last-child{border-bottom:none}.tox .tox-dialog__table td{padding-bottom:8px;padding-top:8px}.tox .tox-dialog__table td:first-child{padding-right:8px}.tox .tox-dialog__iframe{min-height:200px}.tox .tox-dialog__iframe.tox-dialog__iframe--opaque{background:#fff}.tox .tox-navobj-bordered{position:relative}.tox .tox-navobj-bordered::before{border:1px solid #161f29;border-radius:6px;content:'';inset:0;opacity:1;pointer-events:none;position:absolute;z-index:1}.tox .tox-navobj-bordered iframe{border-radius:6px}.tox .tox-navobj-bordered-focus.tox-navobj-bordered::before{border-color:#006ce7;box-shadow:0 0 0 1px #006ce7;outline:0}.tox .tox-dialog__popups{position:absolute;width:100%;z-index:1100}.tox .tox-dialog__body-iframe{display:flex;flex:1;flex-direction:column}.tox .tox-dialog__body-iframe .tox-navobj{display:flex;flex:1}.tox .tox-dialog__body-iframe .tox-navobj :nth-child(2){flex:1;height:100%}.tox .tox-dialog-dock-fadeout{opacity:0;visibility:hidden}.tox .tox-dialog-dock-fadein{opacity:1;visibility:visible}.tox .tox-dialog-dock-transition{transition:visibility 0s linear .3s,opacity .3s ease}.tox .tox-dialog-dock-transition.tox-dialog-dock-fadein{transition-delay:0s}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox:not([dir=rtl]) .tox-dialog__body-nav{margin-right:0}}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox:not([dir=rtl]) .tox-dialog__body-nav-item:not(:first-child){margin-left:8px}}.tox:not([dir=rtl]) .tox-dialog__footer .tox-dialog__footer-end>*,.tox:not([dir=rtl]) .tox-dialog__footer .tox-dialog__footer-start>*{margin-left:8px}.tox[dir=rtl] .tox-dialog__body{text-align:right}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox[dir=rtl] .tox-dialog__body-nav{margin-left:0}}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox[dir=rtl] .tox-dialog__body-nav-item:not(:first-child){margin-right:8px}}.tox[dir=rtl] .tox-dialog__footer .tox-dialog__footer-end>*,.tox[dir=rtl] .tox-dialog__footer .tox-dialog__footer-start>*{margin-right:8px}body.tox-dialog__disable-scroll{overflow:hidden}.tox .tox-dropzone-container{display:flex;flex:1}.tox .tox-dropzone{align-items:center;background:#fff;border:2px dashed #161f29;box-sizing:border-box;display:flex;flex-direction:column;flex-grow:1;justify-content:center;min-height:100px;padding:10px}.tox .tox-dropzone p{color:rgba(255,255,255,.5);margin:0 0 16px 0}.tox .tox-edit-area{display:flex;flex:1;overflow:hidden;position:relative}.tox .tox-edit-area::before{border:2px solid #fff;border-radius:4px;content:'';inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity .15s;z-index:1}@media (forced-colors:active){.tox .tox-edit-area::before{border:2px solid highlight}}.tox .tox-edit-area__iframe{background-color:#fff;border:0;box-sizing:border-box;flex:1;height:100%;position:absolute;width:100%}.tox.tox-edit-focus .tox-edit-area::before{opacity:1}.tox.tox-inline-edit-area{border:1px dotted #161f29}.tox .tox-control-wrap{flex:1;position:relative}.tox .tox-control-wrap:not(.tox-control-wrap--status-invalid) .tox-control-wrap__status-icon-invalid,.tox .tox-control-wrap:not(.tox-control-wrap--status-unknown) .tox-control-wrap__status-icon-unknown,.tox .tox-control-wrap:not(.tox-control-wrap--status-valid) .tox-control-wrap__status-icon-valid{display:none}.tox .tox-control-wrap svg{display:block}.tox .tox-control-wrap__status-icon-wrap{position:absolute;top:50%;transform:translateY(-50%)}.tox .tox-control-wrap__status-icon-invalid svg{fill:#c00}.tox .tox-control-wrap__status-icon-unknown svg{fill:orange}.tox .tox-control-wrap__status-icon-valid svg{fill:green}.tox:not([dir=rtl]) .tox-control-wrap--status-invalid .tox-textfield,.tox:not([dir=rtl]) .tox-control-wrap--status-unknown .tox-textfield,.tox:not([dir=rtl]) .tox-control-wrap--status-valid .tox-textfield{padding-right:32px}.tox:not([dir=rtl]) .tox-control-wrap__status-icon-wrap{right:4px}.tox[dir=rtl] .tox-control-wrap--status-invalid .tox-textfield,.tox[dir=rtl] .tox-control-wrap--status-unknown .tox-textfield,.tox[dir=rtl] .tox-control-wrap--status-valid .tox-textfield{padding-left:32px}.tox[dir=rtl] .tox-control-wrap__status-icon-wrap{left:4px}.tox .tox-custom-preview{border-color:#161f29;border-radius:6px;border-style:solid;border-width:1px;flex:1;padding:8px}.tox .tox-autocompleter{max-width:25em}.tox .tox-autocompleter .tox-menu{box-sizing:border-box;max-width:25em}.tox .tox-autocompleter .tox-autocompleter-highlight{font-weight:700}.tox .tox-color-input{display:flex;position:relative;z-index:1}.tox .tox-color-input .tox-textfield{z-index:-1}.tox .tox-color-input span{border-color:rgba(34 47 3.1%);border-radius:6px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;height:24px;position:absolute;top:6px;width:24px}@media (forced-colors:active){.tox .tox-color-input span{border-color:currentColor;border-width:2px!important;forced-color-adjust:none}}.tox .tox-color-input span:focus:not([aria-disabled=true]),.tox .tox-color-input span:hover:not([aria-disabled=true]){border-color:#006ce7;cursor:pointer}.tox .tox-color-input span::before{background-image:linear-gradient(45deg,rgba(255,255,255,.25) 25%,transparent 25%),linear-gradient(-45deg,rgba(255,255,255,.25) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(255,255,255,.25) 75%),linear-gradient(-45deg,transparent 75%,rgba(255,255,255,.25) 75%);background-position:0 0,0 6px,6px -6px,-6px 0;background-size:12px 12px;border:1px solid #2b3b4e;border-radius:6px;box-sizing:border-box;content:'';height:24px;left:-1px;position:absolute;top:-1px;width:24px;z-index:-1}@media (forced-colors:active){.tox .tox-color-input span::before{border:none}}.tox .tox-color-input span[aria-disabled=true]{cursor:not-allowed}.tox:not([dir=rtl]) .tox-color-input .tox-textfield{padding-left:36px}.tox:not([dir=rtl]) .tox-color-input span{left:6px}.tox[dir=rtl] .tox-color-input .tox-textfield{padding-right:36px}.tox[dir=rtl] .tox-color-input span{right:6px}.tox .tox-label,.tox .tox-toolbar-label{color:rgba(255,255,255,.5);display:block;font-size:14px;font-style:normal;font-weight:400;line-height:1.3;padding:0 8px 0 0;text-transform:none;white-space:nowrap}.tox .tox-toolbar-label{padding:0 8px}.tox[dir=rtl] .tox-label{padding:0 0 0 8px}.tox .tox-form{display:flex;flex:1;flex-direction:column}.tox .tox-form__group{box-sizing:border-box;margin-bottom:4px}.tox .tox-form-group--maximize{flex:1}.tox .tox-form__group--error{color:#c00}.tox .tox-form__group--collection{display:flex}.tox .tox-form__grid{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between}.tox .tox-form__grid--2col>.tox-form__group{width:calc(50% - (8px / 2))}.tox .tox-form__grid--3col>.tox-form__group{width:calc(100% / 3 - (8px / 2))}.tox .tox-form__grid--4col>.tox-form__group{width:calc(25% - (8px / 2))}.tox .tox-form__controls-h-stack{align-items:center;display:flex}.tox .tox-form__group--inline{align-items:center;display:flex}.tox .tox-form__group--stretched{display:flex;flex:1;flex-direction:column}.tox .tox-form__group--stretched .tox-textarea{flex:1}.tox .tox-form__group--stretched .tox-navobj{display:flex;flex:1}.tox .tox-form__group--stretched .tox-navobj :nth-child(2){flex:1;height:100%}.tox:not([dir=rtl]) .tox-form__controls-h-stack>:not(:first-child){margin-left:4px}.tox[dir=rtl] .tox-form__controls-h-stack>:not(:first-child){margin-right:4px}.tox .tox-lock.tox-locked .tox-lock-icon__unlock,.tox .tox-lock:not(.tox-locked) .tox-lock-icon__lock{display:none}.tox .tox-context-form__group .tox-button--icon.tox-lock-context-form-size-input{margin-left:8px;margin-right:8px}.tox .tox-listboxfield .tox-listbox--select,.tox .tox-textarea,.tox .tox-textarea-wrap .tox-textarea:focus,.tox .tox-textfield,.tox .tox-toolbar-textfield{appearance:none;background-color:#2b3b4e;border-color:#161f29;border-radius:6px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;color:#fff;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif;font-size:16px;line-height:24px;margin:0;min-height:34px;outline:0;padding:5px 5.5px;resize:none;width:100%}.tox .tox-textarea[disabled],.tox .tox-textfield[disabled],.tox .tox-toolbar-textfield[disabled]{background-color:#222f3e;color:rgba(255,255,255,.85);cursor:not-allowed}.tox .tox-custom-editor:focus-within,.tox .tox-focusable-wrapper:focus,.tox .tox-listboxfield .tox-listbox--select:focus,.tox .tox-textarea-wrap:focus-within,.tox .tox-textarea:focus,.tox .tox-textfield:focus,.tox .tox-toolbar-textfield:focus{background-color:#2b3b4e;border-color:#006ce7;box-shadow:0 0 0 1px #006ce7;outline:0}.tox .tox-toolbar-textfield{max-width:250px;min-height:unset;height:28px;margin:5px 0 6px 0}.tox .tox-naked-btn{background-color:transparent;border:0;border-color:transparent;box-shadow:unset;color:#006ce7;cursor:pointer;display:block;margin:0;padding:0}.tox .tox-naked-btn svg{display:block;fill:#fff}.tox .tox-textfield-size{width:80px}.tox:not([dir=rtl]) .tox-toolbar-textfield+*{margin-left:4px}.tox[dir=rtl] .tox-toolbar-textfield+*{margin-right:4px}.tox .tox-listboxfield{cursor:pointer;position:relative}.tox .tox-listboxfield .tox-listbox--select[disabled]{background-color:#19232e;color:rgba(255,255,255,.85);cursor:not-allowed}.tox .tox-listbox__select-label{cursor:default;flex:1;margin:0 4px}.tox .tox-listbox__select-chevron{align-items:center;display:flex;justify-content:center;width:16px}.tox .tox-listbox__select-chevron svg{fill:#fff}@media (forced-colors:active){.tox .tox-listbox__select-chevron svg{fill:currentColor!important}}.tox .tox-listboxfield .tox-listbox--select{align-items:center;display:flex}.tox:not([dir=rtl]) .tox-listboxfield svg{right:8px}.tox[dir=rtl] .tox-listboxfield svg{left:8px}.tox .tox-selectfield{cursor:pointer;position:relative}.tox .tox-selectfield select{appearance:none;background-color:#2b3b4e;border-color:#161f29;border-radius:6px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;color:#fff;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif;font-size:16px;line-height:24px;margin:0;min-height:34px;outline:0;padding:5px 5.5px;resize:none;width:100%}.tox .tox-selectfield select[disabled]{background-color:#19232e;color:rgba(255,255,255,.85);cursor:not-allowed}.tox .tox-selectfield select::-ms-expand{display:none}.tox .tox-selectfield select:focus{background-color:#2b3b4e;border-color:#006ce7;box-shadow:0 0 0 1px #006ce7;outline:0}.tox .tox-selectfield svg{pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.tox .tox-selectfield select option:checked{background-color:revert;color:revert}.tox:not([dir=rtl]) .tox-selectfield select[size=\"0\"],.tox:not([dir=rtl]) .tox-selectfield select[size=\"1\"]{padding-right:24px}.tox:not([dir=rtl]) .tox-selectfield svg{right:8px}.tox[dir=rtl] .tox-selectfield select[size=\"0\"],.tox[dir=rtl] .tox-selectfield select[size=\"1\"]{padding-left:24px}.tox[dir=rtl] .tox-selectfield svg{left:8px}.tox .tox-textarea-wrap{border-color:#161f29;border-radius:6px;border-style:solid;border-width:1px;display:flex;flex:1;overflow:hidden}.tox .tox-textarea{appearance:textarea;white-space:pre-wrap}.tox .tox-textarea-wrap .tox-textarea{border:none}.tox .tox-textarea-wrap .tox-textarea:focus{border:none}.tox-fullscreen{border:0;height:100%;margin:0;overflow:hidden;overscroll-behavior:none;padding:0;touch-action:pinch-zoom;width:100%}.tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle{display:none}.tox-shadowhost.tox-fullscreen,.tox.tox-tinymce.tox-fullscreen{left:0;position:fixed;top:0;z-index:1200}.tox.tox-tinymce.tox-fullscreen{background-color:transparent}.tox-fullscreen .tox.tox-tinymce-aux,.tox-fullscreen~.tox.tox-tinymce-aux{z-index:1201}.tox .tox-help__more-link{list-style:none;margin-top:1em}.tox .tox-imagepreview{background-color:#666;height:380px;overflow:hidden;position:relative;width:100%}.tox .tox-imagepreview.tox-imagepreview__loaded{overflow:auto}.tox .tox-imagepreview__container{display:flex;left:100vw;position:absolute;top:100vw}.tox .tox-imagepreview__image{background:url(data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==)}.tox .tox-image-tools .tox-spacer{flex:1}.tox .tox-image-tools .tox-bar{align-items:center;display:flex;height:60px;justify-content:center}.tox .tox-image-tools .tox-imagepreview,.tox .tox-image-tools .tox-imagepreview+.tox-bar{margin-top:8px}.tox .tox-image-tools .tox-croprect-block{background:#000;opacity:.5;position:absolute;zoom:1}.tox .tox-image-tools .tox-croprect-handle{border:2px solid #fff;height:20px;left:0;position:absolute;top:0;width:20px}.tox .tox-image-tools .tox-croprect-handle-move{border:0;cursor:move;position:absolute}.tox .tox-image-tools .tox-croprect-handle-nw{border-width:2px 0 0 2px;cursor:nw-resize;left:100px;margin:-2px 0 0 -2px;top:100px}.tox .tox-image-tools .tox-croprect-handle-ne{border-width:2px 2px 0 0;cursor:ne-resize;left:200px;margin:-2px 0 0 -20px;top:100px}.tox .tox-image-tools .tox-croprect-handle-sw{border-width:0 0 2px 2px;cursor:sw-resize;left:100px;margin:-20px 2px 0 -2px;top:200px}.tox .tox-image-tools .tox-croprect-handle-se{border-width:0 2px 2px 0;cursor:se-resize;left:200px;margin:-20px 0 0 -20px;top:200px}.tox .tox-image-selector-loading-spinner-wrapper{display:flex;justify-content:center;align-items:center}.tox .tox-image-selector-loading-spinner{position:absolute;width:min(24px,30%);aspect-ratio:1;border-radius:50%;border:3px solid #006ce7;border-bottom-color:transparent;animation:tox-rotation 1s linear infinite}.tox .tox-toolbar .tox-image-selector,.tox .tox-toolbar__overflow .tox-image-selector,.tox .tox-toolbar__primary .tox-image-selector{margin:5px 0 6px 11px}.tox .tox-image-selector-menu{border:0;border-radius:3px;margin:-4px -4px;padding:4px}.tox .tox-image-selector-menu .tox-collection--list .tox-collection__group{border:0;padding:0;margin:-4px -4px}.tox .tox-image-selector-menu .tox-collection__item{max-width:48px}.tox .tox-image-selector-menu .tox-collection__item-icon{border:1px solid #161f29;border-radius:3px;margin-bottom:4px;width:100%}.tox .tox-image-selector-menu .tox-collection__item-icon svg path{stroke:#c00}.tox .tox-image-selector__row{display:flex}.tox .tox-image-selector--remove{align-items:center;display:flex;justify-content:center}.tox .tox-image-selector--remove svg path{stroke:#c00}.tox .tox-image-selector-image-wrapper{width:46px;height:46px;display:flex;align-items:center;justify-content:center}.tox .tox-image-selector-image-img{max-width:100%;max-height:100%}.tox .tox-image-selector__picker-btn{align-items:center;background-color:transparent;border:0;cursor:pointer;display:flex;height:30px;justify-content:center;outline:0;padding:0;width:30px}.tox .tox-image-selector__picker-btn svg{fill:#fff;height:24px;width:24px}.tox .tox-image-selector__picker-btn:hover{background:#2f4055}.tox .tox-context-toolbar{position:absolute;position-try-fallbacks:flip-block,flip-inline,flip-block flip-inline;z-index:1150;background-color:#fff;border:1px solid #e0e0e0;border-radius:9px;box-shadow:0 2px 8px rgba(0,0,0,.08);padding:4px}.tox .tox-context-toolbar[popover]{inset:auto;margin:0}.tox .tox-context-toolbar .tox-toolbar{display:flex;flex-wrap:nowrap;gap:8px}.tox .tox-context-toolbar .tox-toolbar__group{display:flex;flex-wrap:nowrap;flex-shrink:0;gap:4px;align-items:center}.tox .tox-insert-table-picker{background-color:#222f3e;display:flex;flex-wrap:wrap;width:170px}.tox .tox-insert-table-picker>div{border-color:rgba(255,255,255,.15);border-style:solid;border-width:0 1px 1px 0;box-sizing:border-box;height:17px;width:17px}.tox .tox-collection--list .tox-collection__group .tox-insert-table-picker{margin:-4px -4px}.tox .tox-insert-table-picker .tox-insert-table-picker__selected{background-color:#006ce7;border-color:rgba(255,255,255,.15)}@media (forced-colors:active){.tox .tox-insert-table-picker .tox-insert-table-picker__selected{border-color:Highlight;filter:contrast(50%)}}.tox .tox-insert-table-picker__label{color:#fff;display:block;font-size:14px;padding:4px;text-align:center;width:100%}.tox:not([dir=rtl]) .tox-insert-table-picker>div:nth-child(10n){border-right:0}.tox[dir=rtl] .tox-insert-table-picker>div:nth-child(10n+1){border-right:0}.tox-mentions__card-common{z-index:1200}.tox.tox-mentions__card{background:#222f3e;border:1px solid #161f29;display:flex;padding:4px 8px}.tox.tox-mentions__card .tox-mentions__container{display:flex;flex-direction:column;align-self:center;margin:0 4px}.tox .tox-mentions__avatar{width:42px;height:42px;border-radius:50%;margin-right:4px}.tox .tox-mentions__username{font-size:14px;line-height:21px;color:#fff}.tox .tox-mentions__description{font-size:12px;line-height:21px;color:rgba(255,255,255,.5)}.tox .tox-collection__item--active .tox-mentions__description,.tox .tox-collection__item--active .tox-mentions__username{color:inherit}.tox .tox-menu{background-color:#2b3b4e;border:1px solid rgba(255,255,255,.15);border-radius:6px;box-shadow:none;display:inline-block;overflow:hidden;vertical-align:top;z-index:1150}.tox .tox-menu.tox-collection.tox-collection--list{padding:0 4px}.tox .tox-menu.tox-collection.tox-collection--toolbar{padding:8px}.tox .tox-menu.tox-collection.tox-collection--grid{padding:8px}@media only screen and (min-width:768px){.tox .tox-menu .tox-collection__item-label{overflow-wrap:break-word;word-break:normal}.tox .tox-dialog__popups .tox-menu .tox-collection__item-label{word-break:break-all}}.tox .tox-menu__label blockquote,.tox .tox-menu__label code,.tox .tox-menu__label h1,.tox .tox-menu__label h2,.tox .tox-menu__label h3,.tox .tox-menu__label h4,.tox .tox-menu__label h5,.tox .tox-menu__label h6,.tox .tox-menu__label p{margin:0}.tox .tox-menubar{background:repeating-linear-gradient(transparent 0 1px,transparent 1px 39px) center top 39px/100% calc(100% - 39px) no-repeat;background-color:#222f3e;display:flex;flex:0 0 auto;flex-shrink:0;flex-wrap:wrap;grid-column:1/-1;grid-row:1;padding:0 11px 0 12px}.tox .tox-promotion+.tox-menubar{grid-column:1}.tox .tox-promotion{background:repeating-linear-gradient(transparent 0 1px,transparent 1px 39px) center top 39px/100% calc(100% - 39px) no-repeat;background-color:#222f3e;grid-column:2;grid-row:1;padding-inline-end:8px;padding-inline-start:4px;padding-top:5px}.tox .tox-promotion-link{align-items:unsafe center;background-color:#e8f1f8;border-radius:5px;color:#086be6;cursor:pointer;display:flex;font-size:14px;height:26.6px;padding:4px 8px;white-space:nowrap}.tox .tox-promotion-link:hover{background-color:#b4d7ff}.tox .tox-promotion-link:focus{background-color:#d9edf7}.tox .tox-mbtn{align-items:center;background:#222f3e;border:0;border-radius:3px;box-shadow:none;color:#fff;display:flex;flex:0 0 auto;font-size:14px;font-style:normal;font-weight:400;height:28px;justify-content:center;margin:5px 1px 6px 0;outline:0;padding:0 4px;text-transform:none;width:auto}.tox .tox-mbtn[disabled]{background-color:#222f3e;border:0;box-shadow:none;color:rgba(255,255,255,.5);cursor:not-allowed}.tox .tox-mbtn:focus:not(:disabled){background:#222f3e;border:0;box-shadow:none;color:#fff;position:relative;z-index:1}.tox .tox-mbtn:focus:not(:disabled)::after{pointer-events:none;border-radius:3px;bottom:0;box-shadow:0 0 0 2px #fff;content:'';left:0;position:absolute;right:0;top:0}@media (forced-colors:active){.tox .tox-mbtn:focus:not(:disabled)::after{border:2px solid highlight}}.tox .tox-mbtn--active,.tox .tox-mbtn:not(:disabled).tox-mbtn--active:focus{background:#599fef;border:0;box-shadow:none;color:#fff}.tox .tox-mbtn:hover:not(:disabled):not(.tox-mbtn--active){background:#2f4055;border:0;box-shadow:none;color:#fff}.tox .tox-mbtn__select-label{cursor:default;font-weight:400;margin:0 4px}.tox .tox-mbtn[disabled] .tox-mbtn__select-label{cursor:not-allowed}.tox .tox-mbtn__select-chevron{align-items:center;display:flex;justify-content:center;width:16px;display:none}.tox .tox-notification{border-radius:6px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;display:grid;font-size:14px;font-weight:400;grid-template-columns:minmax(40px,1fr) auto minmax(40px,1fr);margin-left:auto;margin-right:auto;margin-top:4px;opacity:0;padding:4px;transition:transform .1s ease-in,opacity 150ms ease-in;width:max-content}.tox .tox-notification a{cursor:pointer;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-notification p{font-size:14px;font-weight:400}.tox .tox-notification:focus{border-color:#006ce7;box-shadow:0 0 0 1px #006ce7}.tox .tox-notification--in{opacity:1}.tox .tox-notification--success{background-color:#334840;border-color:#3c5440;color:#fff}.tox .tox-notification--success p{color:#fff}.tox .tox-notification--success a{color:#b5d199}.tox .tox-notification--success a:focus,.tox .tox-notification--success a:hover{color:#82b153;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-notification--success a:focus-visible{border-radius:1px;outline:2px solid #b5d199;outline-offset:2px}.tox .tox-notification--success a:active{color:#689041;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-notification--success svg{fill:#fff}.tox .tox-notification--error{background-color:#442632;border-color:#55212b;color:#fff}.tox .tox-notification--error p{color:#fff}.tox .tox-notification--error a{color:#e68080}.tox .tox-notification--error a:focus,.tox .tox-notification--error a:hover{color:#d42b2b;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-notification--error a:focus-visible{border-radius:1px;outline:2px solid #e68080;outline-offset:2px}.tox .tox-notification--error a:active{color:#a22;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-notification--error svg{fill:#fff}.tox .tox-notification--warn,.tox .tox-notification--warning{background-color:#222f3e;border-color:rgba(255,255,255,.15);color:#fff0b3}.tox .tox-notification--warn p,.tox .tox-notification--warning p{color:#fff0b3}.tox .tox-notification--warn a,.tox .tox-notification--warning a{color:#fc0}.tox .tox-notification--warn a:focus,.tox .tox-notification--warn a:hover,.tox .tox-notification--warning a:focus,.tox .tox-notification--warning a:hover{color:#997a00;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-notification--warn a:focus-visible,.tox .tox-notification--warning a:focus-visible{border-radius:1px;outline:2px solid #ffcc00;outline-offset:2px}.tox .tox-notification--warn a:active,.tox .tox-notification--warning a:active{color:#665200;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-notification--warn svg,.tox .tox-notification--warning svg{fill:#fff0b3}.tox .tox-notification--info{background-color:#254161;border-color:#264972;color:#fff}.tox .tox-notification--info p{color:#fff}.tox .tox-notification--info a{color:#83b7f3}.tox .tox-notification--info a:focus,.tox .tox-notification--info a:hover{color:#2681ea;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-notification--info a:focus-visible{border-radius:1px;outline:2px solid #83b7f3;outline-offset:2px}.tox .tox-notification--info a:active{color:#1368c9;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-notification--info svg{fill:#fff}.tox .tox-notification__body{align-self:center;color:#fff;font-size:14px;grid-column-end:3;grid-column-start:2;grid-row-end:2;grid-row-start:1;text-align:center;white-space:normal;word-break:break-all;word-break:break-word}.tox .tox-notification__body>*{margin:0}.tox .tox-notification__body>*+*{margin-top:1rem}.tox .tox-notification__icon{align-self:center;grid-column-end:2;grid-column-start:1;grid-row-end:2;grid-row-start:1;justify-self:end}.tox .tox-notification__icon svg{display:block}.tox .tox-notification__dismiss{align-self:start;grid-column-end:4;grid-column-start:3;grid-row-end:2;grid-row-start:1;justify-self:end}.tox .tox-notification .tox-progress-bar{grid-column-end:4;grid-column-start:1;grid-row-end:3;grid-row-start:2;justify-self:center}.tox .tox-notification-container-dock-fadeout{opacity:0;visibility:hidden}.tox .tox-notification-container-dock-fadein{opacity:1;visibility:visible}.tox .tox-notification-container-dock-transition{transition:visibility 0s linear .3s,opacity .3s ease}.tox .tox-notification-container-dock-transition.tox-notification-container-dock-fadein{transition-delay:0s}.tox .tox-onboarding-overlay{height:100%;background-color:#17202a;position:absolute;top:0;left:0;right:0;z-index:1302;overflow:auto;display:grid;justify-content:center;align-items:center}.tox .tox-onboarding-dialog{max-width:512px;background-color:#222f3e;display:flex;flex-direction:column;box-shadow:0 16px 16px -10px rgba(34,47,62,.15),0 0 40px 1px rgba(34,47,62,.15);border-radius:12px;margin:8px}.tox .tox-onboarding-dialog .tox-onboarding-header{color:#fff;display:flex;justify-content:center;align-items:center;font-size:20px;margin:24px 0 8px}.tox .tox-onboarding-dialog .tox-onboarding-step{display:grid;grid-template-columns:min-content 1fr min-content;align-items:center;margin:0 24px}.tox .tox-onboarding-dialog .tox-onboarding-step:not(:last-child){border-bottom:1px solid rgba(255,255,255,.15)}.tox .tox-onboarding-dialog .tox-onboarding-step--number{width:24px;aspect-ratio:1;border-radius:50%;border:1px solid #00ad0e;display:flex;justify-content:center;align-items:center;font-size:12px;font-weight:700;color:#00ad0e}.tox .tox-onboarding-dialog .tox-onboarding-step--body{padding:24px 0 24px 16px}.tox .tox-onboarding-dialog .tox-onboarding-step--body-header{color:#fff;font-size:14px;font-weight:700;margin-bottom:4px}.tox .tox-onboarding-dialog .tox-onboarding-step--body-details{color:rgba(255,255,255,.5);font-size:14px}.tox .tox-onboarding-dialog .tox-onboarding-step--action{padding-left:24px}.tox .tox-onboarding-dialog .tox-onboarding-footer{background-color:#2b3b4e;display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom-left-radius:12px;border-bottom-right-radius:12px}.tox .tox-onboarding-dialog .tox-onboarding-footer p{display:flex;align-items:center;justify-content:center;gap:4px;font-size:14px;color:rgba(255,255,255,.5)}.tox .tox-onboarding-dialog svg{width:24px;fill:rgba(255,255,255,0.5)}.tox .tox-promotion-dialog .tox-promotion-dialog-plugin{display:grid;align-items:center;grid-template-columns:min-content 1fr min-content;border-bottom:1px solid rgba(255,255,255,.15);padding:24px 0;margin:0 16px}.tox .tox-promotion-dialog .tox-promotion-dialog-plugin--body{margin:0 16px}.tox .tox-promotion-dialog .tox-promotion-dialog-plugin--body .tox-promotion-dialog-plugin-header{color:#fff;font-size:14px;font-weight:700;margin-bottom:4px}.tox .tox-promotion-dialog .tox-promotion-dialog-plugin--body .tox-promotion-dialog-plugin-details{color:rgba(255,255,255,.5);font-size:14px}.tox .tox-promotion-dialog .tox-promotion-dialog-plugin--icon{display:grid;place-content:center;width:56px;height:56px;line-height:24px;font-size:24px;border-radius:12px;background:linear-gradient(180deg,#2b3b4e 24%,#202d3b 100%);box-shadow:0 1px 1px 0 #222f3e12,0 3px 6px 0 #222f3e06;color:#006ce7}.tox .tox-promotion-dialog--subtitle{margin:16px;color:rgba(255,255,255,.5);font-size:14px}.tox .tox-promotion-dialog--explore{text-align:center;margin:16px;color:rgba(255,255,255,.5);font-size:14px}.tox .tox-promotion-dialog--explore a{color:#006ce7}.tox .tox-promotion-dialog--footer{background-color:#17202a;color:rgba(255,255,255,.5);font-size:12px;text-align:center;padding:16px}.tox .tox-promotion-button{display:flex;align-items:center;height:26.6px;line-height:26.6px;font-size:14px;font-weight:700;background-color:#55367a;color:#c290fb;padding:8px 16px;cursor:pointer;white-space:nowrap;border-radius:5px}.tox .tox-promotion-button:focus{outline:1px solid #C290FB}.tox .tox-onboarding-dialog a,.tox .tox-promotion-dialog--footer a{color:rgba(255,255,255,.5);cursor:pointer;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-onboarding-dialog a:focus,.tox .tox-onboarding-dialog a:hover,.tox .tox-promotion-dialog--footer a:focus,.tox .tox-promotion-dialog--footer a:hover{color:#cde5ff;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-onboarding-dialog a:focus-visible,.tox .tox-promotion-dialog--footer a:focus-visible{border-radius:1px;outline:2px solid #67aeff;outline-offset:2px}.tox .tox-onboarding-dialog a:active,.tox .tox-promotion-dialog--footer a:active{color:#fff;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-pop{display:inline-block;position:relative}.tox .tox-pop--resizing{transition:width .1s ease}.tox .tox-pop--resizing .tox-toolbar,.tox .tox-pop--resizing .tox-toolbar__group{flex-wrap:nowrap}.tox .tox-pop--transition{transition:.15s ease;transition-property:left,right,top,bottom}.tox .tox-pop--transition::after,.tox .tox-pop--transition::before{transition:all .15s,visibility 0s,opacity 75ms ease 75ms}.tox .tox-pop__dialog{background-color:#222f3e;border:1px solid #161f29;border-radius:6px;box-shadow:0 0 2px 0 rgba(34,47,62,.2),0 4px 8px 0 rgba(34,47,62,.15);min-width:0;overflow:hidden}.tox .tox-pop__dialog>:not(.tox-toolbar){margin:4px 4px 4px 8px}.tox .tox-pop__dialog .tox-toolbar{background-color:transparent;margin-bottom:-1px}.tox .tox-pop::after,.tox .tox-pop::before{border-style:solid;content:'';display:block;height:0;opacity:1;position:absolute;width:0}@media (forced-colors:active){.tox .tox-pop::after,.tox .tox-pop::before{content:none}}.tox .tox-pop.tox-pop--inset::after,.tox .tox-pop.tox-pop--inset::before{opacity:0;transition:all 0s .15s,visibility 0s,opacity 75ms ease}.tox .tox-pop.tox-pop--bottom::after,.tox .tox-pop.tox-pop--bottom::before{left:50%;top:100%}.tox .tox-pop.tox-pop--bottom::after{border-color:#222f3e transparent transparent transparent;border-width:8px;margin-left:-8px;margin-top:-1px}.tox .tox-pop.tox-pop--bottom::before{border-color:#161f29 transparent transparent transparent;border-width:9px;margin-left:-9px}.tox .tox-pop.tox-pop--top::after,.tox .tox-pop.tox-pop--top::before{left:50%;top:0;transform:translateY(-100%)}.tox .tox-pop.tox-pop--top::after{border-color:transparent transparent #222f3e transparent;border-width:8px;margin-left:-8px;margin-top:1px}.tox .tox-pop.tox-pop--top::before{border-color:transparent transparent #161f29 transparent;border-width:9px;margin-left:-9px}.tox .tox-pop.tox-pop--left::after,.tox .tox-pop.tox-pop--left::before{left:0;top:calc(50% - 1px);transform:translateY(-50%)}.tox .tox-pop.tox-pop--left::after{border-color:transparent #222f3e transparent transparent;border-width:8px;margin-left:-15px}.tox .tox-pop.tox-pop--left::before{border-color:transparent #161f29 transparent transparent;border-width:10px;margin-left:-19px}.tox .tox-pop.tox-pop--right::after,.tox .tox-pop.tox-pop--right::before{left:100%;top:calc(50% + 1px);transform:translateY(-50%)}.tox .tox-pop.tox-pop--right::after{border-color:transparent transparent transparent #222f3e;border-width:8px;margin-left:-1px}.tox .tox-pop.tox-pop--right::before{border-color:transparent transparent transparent #161f29;border-width:10px;margin-left:-1px}.tox .tox-pop.tox-pop--align-left::after,.tox .tox-pop.tox-pop--align-left::before{left:20px}.tox .tox-pop.tox-pop--align-right::after,.tox .tox-pop.tox-pop--align-right::before{left:calc(100% - 20px)}.tox .tox-sidebar-wrap{display:flex;flex-direction:row;flex-grow:1;min-height:0}.tox .tox-sidebar{background-color:var(--tox-private-sidebar-background-color,#34485f);display:flex;flex-direction:row;justify-content:flex-end}.tox .tox-sidebar__slider{display:flex;overflow:hidden}.tox .tox-sidebar__pane-container{display:flex}.tox .tox-sidebar__pane{display:flex}.tox .tox-sidebar--sliding-closed{opacity:0}.tox .tox-sidebar--sliding-open{opacity:1}.tox .tox-sidebar--sliding-growing,.tox .tox-sidebar--sliding-shrinking{transition:width .5s ease,opacity .5s ease}.tox .tox-sidebar-content{display:flex;flex-direction:column;position:relative;height:100%;min-width:300px;max-width:300px;width:300px;border-left:1px solid var(--tox-private-sidebar-border-color,#0e141a)}.tox .tox-sidebar-content__header{align-items:center;display:flex;justify-content:space-between;box-shadow:var(--tox-private-sidebar-header-box-shadow,0 4px 8px 0 rgba(34,47,62,.1));padding:var(--tox-private-pad-sm,8px) 12px;background:var(--tox-private-background-color,#222f3e);z-index:1}.tox .tox-sidebar-content__header .tox-sidebar-content__header-close-button{margin-left:auto}.tox .tox-sidebar-content__title{font-size:var(--tox-private-font-size-lg, 20px);font-weight:var(--tox-private-font-weight-normal,normal);padding:var(--tox-private-pad-sm,8px) 0 var(--tox-private-pad-sm,8px) 0;color:var(--tox-private-text-color,#fff);line-height:28px}.tox .tox-floating-sidebar{--tox-private-floating-sidebar-requested-height:600px;--tox-private-floating-sidebar-width:min(380px, 90vw);--tox-private-floating-sidebar-height:min(var(--tox-private-floating-sidebar-requested-height), 80vh);box-shadow:var(--tox-private-floating-sidebar-box-shadow,0 0 40px 1px rgba(34,47,62,.15),0 16px 16px -10px rgba(34,47,62,.15));width:var(--tox-private-floating-sidebar-width);height:var(--tox-private-floating-sidebar-height);background-color:var(--tox-private-background-color,#222f3e);border-radius:12px;overflow:hidden}.tox .tox-floating-sidebar__content-wrapper{width:100%;height:100%;display:flex;flex-direction:column}.tox .tox-floating-sidebar__header{position:relative}.tox-ai .tox-ai__user-prompt{display:flex;flex-direction:column;margin-left:auto;gap:inherit}.tox-ai .tox-ai__user-prompt__context{margin-left:auto}.tox-ai .tox-ai__user-prompt__text{background-color:var(--tox-private-ai-user-prompt-background,#17202a);padding:var(--tox-private-pad-sm,8px) 12px;border-radius:var(--tox-private-control-border-radius,6px);max-width:80%;align-self:flex-end;color:var(--tox-private-text-color,#fff)}.tox-ai .tox-ai__scroll{overflow:auto;background-color:var(--tox-private-background-color,#222f3e);display:flex;padding:12px;flex-direction:column;align-items:flex-start;gap:12px;flex:1 0 0;align-self:stretch}.tox-ai .tox-ai__response-content{padding:var(--tox-private-pad-sm,8px) 0;color:var(--tox-private-text-color,#fff);font-feature-settings:'liga' off,'clig' off;font-size:var(--tox-private-font-size-sm, 14px);font-style:normal;font-weight:var(--tox-private-font-weight-normal,normal);line-height:var(--tox-private-line-height, 18px);white-space:pre-wrap}.tox-ai .tox-ai__response.tox-ai__response-streaming{background:linear-gradient(180deg,var(--tox-private-color-black,#222f3e) 0,transparent 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.tox-ai .tox-ai__error-message{border-radius:var(--tox-private-panel-border-radius,6px);border:1px solid var(--tox-private-color-error,#c00);background:linear-gradient(0deg,color-mix(in srgb,var(--tox-private-color-white,#fff) 90%,transparent) 0,color-mix(in srgb,var(--tox-private-color-white,#fff) 90%,transparent) 100%),var(--tox-private-color-error,#c00);padding:var(--tox-private-pad-sm,8px);width:100%}.tox-ai .tox-ai__footer{border-top:1px solid var(--tox-private-ai-footer-border-color,#0e141a);padding:12px;gap:var(--tox-private-pad-sm,8px);background-color:var(--tox-private-background-color,#222f3e);display:flex;flex-direction:column}.tox-ai .tox-ai__context{display:flex;gap:8px}.tox-ai .tox-ai__footer-actions{display:flex;gap:var(--tox-private-pad-sm,8px)}.tox .tox-selector{background-color:#4099ff;border-color:#4099ff;border-style:solid;border-width:1px;box-sizing:border-box;display:inline-block;height:10px;position:absolute;width:10px}.tox.tox-platform-touch .tox-selector{height:12px;width:12px}.tox .tox-skeleton .tox-skeleton__line{height:16px;width:100%;background:linear-gradient(to right,rgba(240,240,240,.5) 8%,rgba(240,240,240,.7) 18%,rgba(240,240,240,.5) 33%);animation:wave 2s infinite ease-out}.tox .tox-skeleton .tox-skeleton__circle{height:36px;width:36px;margin-right:8px;border-radius:100%;background:linear-gradient(to right,rgba(240,240,240,.5) 8%,rgba(240,240,240,.7) 18%,rgba(240,240,240,.5) 33%);animation:wave 2s infinite ease-out}@keyframes wave{0%{background-position:-268px 0}100%{background-position:268px 0}}.tox .tox-slider{align-items:center;display:flex;flex:1;height:24px;justify-content:center;position:relative}.tox .tox-slider__rail{background-color:transparent;border:1px solid #161f29;border-radius:6px;height:10px;min-width:120px;width:100%}.tox .tox-slider__handle{background-color:#006ce7;border:2px solid #0054b4;border-radius:6px;box-shadow:none;height:24px;left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%);width:14px}.tox .tox-form__controls-h-stack>.tox-slider:not(:first-of-type){margin-inline-start:8px}.tox .tox-form__controls-h-stack>.tox-form__group+.tox-slider{margin-inline-start:32px}.tox .tox-form__controls-h-stack>.tox-slider+.tox-form__group{margin-inline-start:32px}.tox .tox-toolbar-slider{align-items:center;display:inline-flex;height:16px}.tox .tox-toolbar-slider__input{appearance:none;background:#161f29;border-radius:16px;width:130px;height:2px}.tox .tox-toolbar-slider__input::-webkit-slider-runnable-track{background-color:transparent;height:16px}.tox .tox-toolbar-slider__input::-moz-range-track{background-color:transparent;height:16px}.tox .tox-toolbar-slider__input::-webkit-slider-thumb{-webkit-appearance:none;background-color:#006ce7;border-radius:16px;border:none;height:16px;width:16px}.tox .tox-toolbar-slider__input::-moz-range-thumb{appearance:none;background-color:#006ce7;border-radius:16px;border:none;height:16px;width:16px}.tox .tox-toolbar-slider__input:focus-visible{outline:0}.tox .tox-toolbar-slider__input:focus::-webkit-slider-thumb{background-color:#0060ce;box-shadow:inset 0 0 0 1px #fff,0 0 0 2px #006ce7}.tox .tox-toolbar-slider__input:focus::-moz-range-thumb{background-color:#0060ce;box-shadow:inset 0 0 0 1px #fff,0 0 0 2px #006ce7}.tox .tox-toolbar-slider__input:hover::-webkit-slider-thumb{background-color:#0060ce}.tox .tox-toolbar-slider__input:hover::-moz-range-thumb{background-color:#0060ce}.tox .tox-toolbar-slider__input:active::-webkit-slider-thumb{background-color:#0054b4}.tox .tox-toolbar-slider__input:active::-moz-range-thumb{background-color:#0054b4}.tox .tox-toolbar-slider__input[disabled]::-webkit-slider-thumb{background-color:rgba(255,255,255,.5)}.tox .tox-toolbar-slider__input[disabled]::-moz-range-thumb{background-color:rgba(255,255,255,.5)}.tox .tox-source-code{overflow:auto}.tox .tox-spinner{display:flex}.tox .tox-spinner>div{animation:tam-bouncing-dots 1.5s ease-in-out 0s infinite both;background-color:rgba(255,255,255,.5);border-radius:100%;height:8px;width:8px}.tox .tox-spinner>div:first-child{animation-delay:-.32s}.tox .tox-spinner>div:nth-child(2){animation-delay:-.16s}@keyframes tam-bouncing-dots{0%,100%,80%{transform:scale(0)}40%{transform:scale(1)}}.tox:not([dir=rtl]) .tox-spinner>div:not(:first-child){margin-left:4px}.tox[dir=rtl] .tox-spinner>div:not(:first-child){margin-right:4px}.tox .tox-ai__spinner{width:24px;height:24px}.tox .tox-statusbar{align-items:center;background-color:#222f3e;border-top:1px solid rgba(255,255,255,.15);color:rgba(255,255,255,.75);display:flex;flex:0 0 auto;font-size:14px;font-weight:400;height:25px;overflow:hidden;padding:0 8px;position:relative;text-transform:none}.tox .tox-statusbar__path{display:flex;flex:1 1 auto;text-overflow:ellipsis;white-space:nowrap}.tox .tox-statusbar__right-container{display:flex;justify-content:flex-end;white-space:nowrap}.tox .tox-statusbar__help-text{text-align:center}.tox .tox-statusbar__text-container{align-items:flex-start;display:flex;flex:1 1 auto;height:16px;justify-content:space-between}@media only screen and (min-width:768px){.tox .tox-statusbar__text-container.tox-statusbar__text-container-3-cols>.tox-statusbar__help-text,.tox .tox-statusbar__text-container.tox-statusbar__text-container-3-cols>.tox-statusbar__path,.tox .tox-statusbar__text-container.tox-statusbar__text-container-3-cols>.tox-statusbar__right-container{flex:0 0 calc(100% / 3)}}.tox .tox-statusbar__text-container.tox-statusbar__text-container--flex-end{justify-content:flex-end}.tox .tox-statusbar__text-container.tox-statusbar__text-container--flex-start{justify-content:flex-start}.tox .tox-statusbar__text-container.tox-statusbar__text-container--space-around{justify-content:space-around}.tox .tox-statusbar__path>*{display:inline;white-space:nowrap}.tox .tox-statusbar__wordcount{flex:0 0 auto;margin-left:1ch}@media only screen and (max-width:767px){.tox .tox-statusbar__text-container .tox-statusbar__help-text{display:none}.tox .tox-statusbar__text-container .tox-statusbar__help-text:only-child{display:block}}.tox .tox-statusbar a,.tox .tox-statusbar__path-item,.tox .tox-statusbar__wordcount{color:rgba(255,255,255,.75);position:relative;-webkit-text-decoration:none;text-decoration:none}.tox .tox-statusbar a:focus:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar a:hover:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__path-item:focus:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__path-item:hover:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__wordcount:focus:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__wordcount:hover:not(:disabled):not([aria-disabled=true]){color:#fff;cursor:pointer}.tox .tox-statusbar a:focus-visible::after,.tox .tox-statusbar__path-item:focus-visible::after,.tox .tox-statusbar__wordcount:focus-visible::after{border-radius:3px;bottom:0;box-shadow:0 0 0 2px #fff;content:'';left:0;position:absolute;right:0;top:0}@media (forced-colors:active){.tox .tox-statusbar a:focus-visible::after,.tox .tox-statusbar__path-item:focus-visible::after,.tox .tox-statusbar__wordcount:focus-visible::after{border:2px solid highlight}}.tox .tox-statusbar__branding svg{fill:rgba(255,255,255,0.8);height:1em;margin-left:.3em;width:auto}@media (forced-colors:active){.tox .tox-statusbar__branding svg{fill:currentColor}}.tox .tox-statusbar__branding a{align-items:center;display:inline-flex}.tox .tox-statusbar__branding a:focus:not(:disabled):not([aria-disabled=true]) svg,.tox .tox-statusbar__branding a:hover:not(:disabled):not([aria-disabled=true]) svg{fill:#fff}.tox .tox-statusbar__resize-cursor-default{cursor:ns-resize}.tox .tox-statusbar__resize-cursor-both{cursor:nwse-resize}.tox .tox-statusbar__resize-handle{align-items:flex-end;align-self:stretch;display:flex;flex:0 0 auto;justify-content:flex-end;margin-bottom:3px;margin-left:4px;margin-right:calc(3px - 8px);margin-top:3px;padding-bottom:0;padding-left:0;padding-right:0;position:relative}.tox .tox-statusbar__resize-handle svg{display:block;fill:rgba(255,255,255,0.5)}.tox .tox-statusbar__resize-handle:focus svg,.tox .tox-statusbar__resize-handle:hover svg{fill:#fff}.tox .tox-statusbar__resize-handle:focus-visible{background-color:transparent;border-radius:1px 1px 5px 1px;box-shadow:0 0 0 2px transparent}.tox .tox-statusbar__resize-handle:focus-visible::after{border-radius:3px;bottom:0;box-shadow:0 0 0 2px #fff;content:'';left:0;position:absolute;right:0;top:0}@media (forced-colors:active){.tox .tox-statusbar__resize-handle:focus-visible::after{border:2px solid highlight}}.tox .tox-statusbar__resize-handle:only-child{margin-left:auto}.tox:not([dir=rtl]) .tox-statusbar__path>*{margin-right:4px}.tox:not([dir=rtl]) .tox-statusbar__branding{margin-left:2ch}.tox[dir=rtl] .tox-statusbar{flex-direction:row-reverse}.tox[dir=rtl] .tox-statusbar__path>*{margin-left:4px}.tox[dir=rtl] .tox-statusbar__branding svg{margin-left:0;margin-right:.3em}.tox .tox-tag{width:-moz-fit-content;width:fit-content;display:flex;padding:4px 6px;align-items:center;gap:4px;border-radius:3px;background:linear-gradient(0deg,color-mix(in srgb,var(--tox-private-color-white,#fff) 90%,transparent) 0,color-mix(in srgb,var(--tox-private-color-white,#fff) 90%,transparent) 100%),var(--tox-private-color-tint,#006ce7);line-height:var(--tox-private-base-value, 16px);font-size:var(--tox-private-font-size-xs, 12px)}.tox .tox-tag .tox-tag__icon{height:var(--tox-private-base-value,16px)}.tox .tox-tag .tox-tag__close{height:var(--tox-private-base-value,16px)}.tox .tox-tag .tox-tag__close .tox-button.tox-button--icon{border:0;padding:0}.tox .tox-tag .tox-tag__close .tox-button.tox-button--icon::before{box-shadow:none}.tox .tox-throbber{z-index:1299}.tox .tox-throbber__busy-spinner{align-items:center;background-color:rgba(34,47,62,.6);bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0}.tox .tox-toggle{display:flex;align-items:center;gap:var(--tox-private-pad-xs,4px);padding:var(--tox-private-pad-xs,4px);font-weight:var(--tox-private-font-weight-normal,normal);line-height:var(--tox-private-control-line-height, 24px);white-space:nowrap;background-color:var(--tox-private-background-color,#222f3e);color:var(--tox-private-text-color,#fff)}.tox .tox-toggle input{position:absolute;opacity:0;width:0;height:0}.tox .tox-toggle__slider{position:relative;cursor:pointer;box-sizing:border-box;transition:.4s;border-radius:34px;width:28px;height:16px;background-color:var(--tox-private-slider-background-color,#222f3e);border:1px solid var(--tox-private-slider-border-color,rgba(255,255,255,.15))}.tox .tox-toggle__slider::before{position:absolute;content:\"\";height:12px;width:12px;left:1px;bottom:1px;transition:.4s;border-radius:50%;background-color:var(--tox-private-slider-handle-background-color,#fff)}.tox input:checked+.tox-toggle__slider{background-color:var(--tox-private-slider-checked-background-color,#006ce7);border:1px solid var(--tox-private-slider-checked-border-color,#006ce7)}.tox input:focus+.tox-toggle__slider{box-shadow:0 0 0 1px var(--tox-private-color-white,#fff),0 0 0 2px var(--tox-private-color-tint,#006ce7)}.tox input:checked+.tox-toggle__slider::before{transform:translateX(12px);background-color:var(--tox-private-slider-checked-handle-background-color,#fff)}.tox input:disabled+.tox-toggle__slider::before{opacity:50%}.tox .tox-tbtn{align-items:center;background:#222f3e;border:0;border-radius:3px;box-shadow:none;color:#fff;display:flex;flex:0 0 auto;font-size:14px;font-style:normal;font-weight:400;height:28px;justify-content:center;margin:6px 1px 5px 0;outline:0;padding:0;text-transform:none;width:34px}.tox .tox-tbtn .tox-tbtn__icon-wrap{pointer-events:none}@media (forced-colors:active){.tox .tox-tbtn.tox-tbtn:hover,.tox .tox-tbtn:hover{outline:1px dashed currentColor}.tox .tox-tbtn.tox-tbtn--active,.tox .tox-tbtn.tox-tbtn--enabled,.tox .tox-tbtn.tox-tbtn--enabled:focus,.tox .tox-tbtn.tox-tbtn--enabled:hover,.tox .tox-tbtn:focus:not(.tox-tbtn--disabled){outline:1px solid currentColor;position:relative}}.tox .tox-tbtn svg{display:block;fill:#fff}@media (forced-colors:active){.tox .tox-tbtn svg{fill:currentColor!important}.tox .tox-tbtn svg.tox-tbtn--enabled,.tox .tox-tbtn svg:focus:not(.tox-tbtn--disabled){fill:currentColor!important}.tox .tox-tbtn svg .tox-tbtn:disabled,.tox .tox-tbtn svg .tox-tbtn:disabled:hover,.tox .tox-tbtn svg.tox-tbtn--disabled,.tox .tox-tbtn svg.tox-tbtn--disabled:hover{filter:contrast(0%)}}.tox .tox-tbtn.tox-tbtn-more{padding-left:5px;padding-right:5px;width:inherit}.tox .tox-tbtn:focus{background:#222f3e;border:0;box-shadow:none;position:relative;z-index:1}.tox .tox-tbtn:focus::after{border-radius:3px;bottom:0;box-shadow:0 0 0 2px #fff;content:'';left:0;position:absolute;right:0;top:0}@media (forced-colors:active){.tox .tox-tbtn:focus::after{border:2px solid highlight}}.tox .tox-tbtn:hover{background:#2f4055;border:0;box-shadow:none;color:#fff}.tox .tox-tbtn:hover svg{fill:#fff}.tox .tox-tbtn:active{background:#599fef;border:0;box-shadow:none;color:#fff}.tox .tox-tbtn:active svg{fill:#fff}.tox .tox-tbtn--disabled .tox-tbtn--enabled svg{fill:rgba(255,255,255,0.5)}.tox .tox-tbtn--disabled,.tox .tox-tbtn--disabled:hover,.tox .tox-tbtn:disabled,.tox .tox-tbtn:disabled:hover{background:#222f3e;border:0;box-shadow:none;color:rgba(255,255,255,.5);cursor:not-allowed}.tox .tox-tbtn--disabled svg,.tox .tox-tbtn--disabled:hover svg,.tox .tox-tbtn:disabled svg,.tox .tox-tbtn:disabled:hover svg{fill:rgba(255,255,255,0.5)}.tox .tox-tbtn--active,.tox .tox-tbtn--enabled,.tox .tox-tbtn--enabled:focus,.tox .tox-tbtn--enabled:hover{background:#599fef;border:0;box-shadow:none;color:#fff;position:relative}.tox .tox-tbtn--active>*,.tox .tox-tbtn--enabled:focus>*,.tox .tox-tbtn--enabled:hover>*,.tox .tox-tbtn--enabled>*{transform:none}.tox .tox-tbtn--active svg,.tox .tox-tbtn--enabled svg,.tox .tox-tbtn--enabled:focus svg,.tox .tox-tbtn--enabled:hover svg{fill:#fff}.tox .tox-tbtn--active.tox-tbtn--disabled svg,.tox .tox-tbtn--enabled.tox-tbtn--disabled svg,.tox .tox-tbtn--enabled:focus.tox-tbtn--disabled svg,.tox .tox-tbtn--enabled:hover.tox-tbtn--disabled svg{fill:rgba(255,255,255,0.5)}.tox .tox-tbtn--enabled:focus::after{border-radius:3px;bottom:0;box-shadow:0 0 0 2px #fff;content:'';left:0;position:absolute;right:0;top:0}@media (forced-colors:active){.tox .tox-tbtn--enabled:focus::after{border:2px solid highlight}}.tox .tox-tbtn:focus:not(.tox-tbtn--disabled){color:#fff}.tox .tox-tbtn:focus:not(.tox-tbtn--disabled) svg{fill:#fff}.tox .tox-tbtn:active>*{transform:none}.tox .tox-tbtn--md{height:42px;width:51px}.tox .tox-tbtn--lg{flex-direction:column;height:56px;width:68px}.tox .tox-tbtn--return{align-self:stretch;height:unset;width:16px}.tox .tox-tbtn--labeled{padding:0 4px;width:unset}.tox .tox-tbtn__vlabel{display:block;font-size:10px;font-weight:400;letter-spacing:-.025em;margin-bottom:4px;white-space:nowrap}.tox .tox-label--context-toolbar{margin:6px 1px 5px 0;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.tox .tox-number-input{background:#2f4055;border-radius:3px;display:flex;margin:6px 1px 5px 0;position:relative;width:auto}.tox .tox-number-input:focus{background:#2f4055}.tox .tox-number-input:focus::after{border-radius:3px;bottom:0;box-shadow:0 0 0 2px #fff;content:'';left:0;position:absolute;right:0;top:0}@media (forced-colors:active){.tox .tox-number-input:focus::after{border:2px solid highlight}}.tox .tox-number-input .tox-input-wrapper{display:flex;pointer-events:none;position:relative;text-align:center}.tox .tox-number-input .tox-input-wrapper:focus{background-color:#2f4055;z-index:1}.tox .tox-number-input .tox-input-wrapper:focus::after{border-radius:3px;bottom:0;box-shadow:0 0 0 2px #fff;content:'';left:0;position:absolute;right:0;top:0}@media (forced-colors:active){.tox .tox-number-input .tox-input-wrapper:focus::after{border:2px solid highlight}}.tox .tox-number-input .tox-input-wrapper:has(input:focus)::after{border-radius:3px;bottom:0;box-shadow:0 0 0 2px #fff;content:'';left:0;position:absolute;right:0;top:0}@media (forced-colors:active){.tox .tox-number-input .tox-input-wrapper:has(input:focus)::after{border:2px solid highlight}}.tox .tox-number-input input{border-radius:3px;color:#fff;font-size:14px;margin:2px 0;pointer-events:all;position:relative;width:60px}.tox .tox-number-input input:hover{background:#2f4055;color:#fff}.tox .tox-number-input input:focus{background-color:#2f4055}.tox .tox-number-input input:disabled{background:#222f3e;border:0;box-shadow:none;color:rgba(255,255,255,.5);cursor:not-allowed}.tox .tox-number-input button{color:#fff;height:28px;position:relative;text-align:center;width:24px}@media (forced-colors:active){.tox .tox-number-input button:active,.tox .tox-number-input button:focus,.tox .tox-number-input button:hover{outline:1px solid currentColor!important}}.tox .tox-number-input button svg{display:block;fill:#fff;margin:0 auto;transform:scale(.67)}@media (forced-colors:active){.tox .tox-number-input button svg,.tox .tox-number-input button svg:active,.tox .tox-number-input button svg:hover{fill:currentColor!important}.tox .tox-number-input button svg:disabled{filter:contrast(0)}}.tox .tox-number-input button:focus{background:#2f4055;z-index:1}.tox .tox-number-input button:focus::after{border-radius:3px;bottom:0;box-shadow:0 0 0 2px #fff;content:'';left:0;position:absolute;right:0;top:0}@media (forced-colors:active){.tox .tox-number-input button:focus::after{border:2px solid highlight}}.tox .tox-number-input button:hover{background:#2f4055;border:0;box-shadow:none;color:#fff}.tox .tox-number-input button:hover svg{fill:#fff}.tox .tox-number-input button:active{background:#599fef;border:0;box-shadow:none;color:#fff}.tox .tox-number-input button:active svg{fill:#fff}.tox .tox-number-input button:disabled{background:#222f3e;border:0;box-shadow:none;color:rgba(255,255,255,.5);cursor:not-allowed}.tox .tox-number-input button:disabled svg{fill:rgba(255,255,255,0.5)}.tox .tox-number-input button.minus{border-radius:3px 0 0 3px}.tox .tox-number-input button.plus{border-radius:0 3px 3px 0}.tox .tox-number-input:focus:not(:active)>.tox-input-wrapper,.tox .tox-number-input:focus:not(:active)>button{background:#2f4055}.tox .tox-tbtn--select{margin:6px 1px 5px 0;padding:0 4px;width:auto}.tox .tox-tbtn--bordered,.tox .tox-tbtn--bordered:focus,.tox .tox-tbtn--bordered:hover{border:1px solid #161f29}.tox .tox-tbtn__select-label{cursor:default;font-weight:400;height:initial;margin:0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tox .tox-tbtn__select-chevron{align-items:center;display:flex;justify-content:center;width:16px}.tox .tox-tbtn__select-chevron svg{fill:rgba(255,255,255,0.5)}@media (forced-colors:active){.tox .tox-tbtn__select-chevron svg{fill:currentColor}}.tox .tox-tbtn--bespoke{background:#2f4055}.tox .tox-tbtn--bespoke:focus{background:#2f4055}.tox .tox-tbtn--bespoke+.tox-tbtn--bespoke{margin-inline-start:4px}.tox .tox-tbtn--bespoke .tox-tbtn__select-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:7em}.tox .tox-tbtn--disabled .tox-tbtn__select-label,.tox .tox-tbtn--select:disabled .tox-tbtn__select-label{cursor:not-allowed}.tox .tox-split-button__main{border-radius:3px 0 0 3px;margin-right:0}.tox .tox-split-button__main:focus{border:0;box-shadow:none;background:#222f3e;color:#fff;position:relative;z-index:1}.tox .tox-split-button__main:focus::after{border-radius:3px;bottom:0;box-shadow:0 0 0 2px #fff;content:'';left:0;position:absolute;right:0;top:0;border-radius:3px 0 0 3px}@media (forced-colors:active){.tox .tox-split-button__main:focus::after{border:2px solid highlight}}.tox .tox-split-button__chevron{width:16px;border-radius:0 3px 3px 0;margin-left:0}.tox .tox-split-button__chevron:focus{border:0;box-shadow:none;background:#222f3e;color:#fff;position:relative;z-index:1}.tox .tox-split-button__chevron:focus::after{border-radius:3px;bottom:0;box-shadow:0 0 0 2px #fff;content:'';left:0;position:absolute;right:0;top:0;border-radius:0 3px 3px 0}@media (forced-colors:active){.tox .tox-split-button__chevron:focus::after{border:2px solid highlight}}.tox .tox-split-button__chevron svg{fill:rgba(255,255,255,0.5)}@media (forced-colors:active){.tox .tox-split-button__chevron svg{fill:currentColor}}.tox.tox-platform-touch .tox-split-button__main{width:30px}.tox.tox-platform-touch .tox-split-button__chevron{width:20px}.tox .tox-split-button__chevron.tox-tbtn--disabled,.tox .tox-split-button__main.tox-tbtn--disabled{background:#222f3e;box-shadow:none;color:rgba(255,255,255,.5)}.tox .tox-split-button__chevron.tox-tbtn--disabled:hover,.tox .tox-split-button__main.tox-tbtn--disabled:hover{background:#222f3e;box-shadow:none;color:rgba(255,255,255,.5)}.tox .tox-split-button__chevron.tox-tbtn--disabled:focus,.tox .tox-split-button__main.tox-tbtn--disabled:focus{background:#222f3e;box-shadow:none;color:rgba(255,255,255,.5)}.tox .tox-split-button__main.tox-tbtn--disabled svg .tox-icon-highlight-bg-color__color,.tox .tox-split-button__main.tox-tbtn--disabled svg .tox-icon-text-color__color{opacity:.3}.tox .tox-toolbar-overlord{background-color:#222f3e}.tox .tox-toolbar,.tox .tox-toolbar__overflow,.tox .tox-toolbar__primary{background-attachment:local;background-color:#222f3e;background-image:repeating-linear-gradient(rgba(255,255,255,.15) 0 1px,transparent 1px 39px);background-position:center top 40px;background-repeat:no-repeat;background-size:calc(100% - 11px * 2) calc(100% - 41px);display:flex;flex:0 0 auto;flex-shrink:0;flex-wrap:wrap;padding:0 0;transform:perspective(1px)}.tox .tox-toolbar-overlord>.tox-toolbar,.tox .tox-toolbar-overlord>.tox-toolbar__overflow,.tox .tox-toolbar-overlord>.tox-toolbar__primary{background-position:center top 0;background-size:calc(100% - 11px * 2) calc(100% - 0px)}.tox .tox-toolbar__overflow.tox-toolbar__overflow--closed{height:0;opacity:0;padding-bottom:0;padding-top:0;visibility:hidden}.tox .tox-toolbar__overflow--growing{transition:height .3s ease,opacity .2s linear .1s}.tox .tox-toolbar__overflow--shrinking{transition:opacity .3s ease,height .2s linear .1s,visibility 0s linear .3s}.tox .tox-anchorbar,.tox .tox-toolbar-overlord{grid-column:1/-1}.tox .tox-menubar+.tox-toolbar,.tox .tox-menubar+.tox-toolbar-overlord{border-top:1px solid transparent;margin-top:-1px;padding-bottom:1px;padding-top:1px}@media (forced-colors:active){.tox .tox-menubar+.tox-toolbar,.tox .tox-menubar+.tox-toolbar-overlord{outline:1px solid currentColor}}.tox .tox-toolbar--scrolling{flex-wrap:nowrap;overflow-x:auto}.tox .tox-pop .tox-toolbar{border-width:0}.tox .tox-toolbar--no-divider{background-image:none}.tox .tox-toolbar-overlord .tox-toolbar:not(.tox-toolbar--scrolling):first-child,.tox .tox-toolbar-overlord .tox-toolbar__primary{background-position:center top 39px}.tox .tox-editor-header>.tox-toolbar--scrolling,.tox .tox-toolbar-overlord .tox-toolbar--scrolling:first-child{background-image:none}.tox .tox-focusable-wrapper{border:1px solid transparent;margin-right:2px;pointer-events:none}.tox .tox-focusable-wrapper .tox-textfield-size{pointer-events:all}.tox .tox-focusable-wrapper:focus{background-color:#2f4055;border-radius:6px;border-style:solid;border-width:1px}.tox.tox-tinymce-aux .tox-toolbar__overflow{background-color:#222f3e;background-position:center top 43px;background-size:calc(100% - 8px * 2) calc(100% - 51px);border:none;border-radius:6px;box-shadow:0 0 2px 0 rgba(34,47,62,.2),0 4px 8px 0 rgba(34,47,62,.15);overscroll-behavior:none;padding:4px 0}@media (forced-colors:active){.tox.tox-tinymce-aux .tox-toolbar__overflow{border:solid}}.tox-pop .tox-pop__dialog .tox-toolbar{background-position:center top 43px;background-size:calc(100% - 11px * 2) calc(100% - 51px);padding:4px 0}.tox-context-form__group{display:flex;align-items:center}.tox .tox-toolbar__group{align-items:center;display:flex;flex-wrap:wrap;margin:0 0;padding:0 11px 0 12px}.tox .tox-toolbar__group--pull-right{margin-left:auto}.tox .tox-toolbar--scrolling .tox-toolbar__group{flex-shrink:0;flex-wrap:nowrap}.tox:not([dir=rtl]) .tox-toolbar__group:not(:last-of-type){border-right:1px solid transparent}.tox[dir=rtl] .tox-toolbar__group:not(:last-of-type){border-left:1px solid transparent}.tox .tox-tooltip{display:inline-block;max-width:min(80%,15em);padding:8px 0 0 0;position:relative;width:max-content;z-index:1150}.tox .tox-tooltip__body{background-color:#324053;border-radius:6px;box-shadow:none;color:#fff;font-size:12px;font-style:normal;font-weight:600;overflow-wrap:break-word;padding:4px 6px;text-transform:none}@media (forced-colors:active){.tox .tox-tooltip__body{outline:outset 1px}}.tox .tox-tooltip__arrow{position:absolute}.tox .tox-tooltip--down .tox-tooltip__arrow{border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid #324053;bottom:0;left:50%;position:absolute;transform:translateX(-50%)}.tox .tox-tooltip--up .tox-tooltip__arrow{border-bottom:8px solid #324053;border-left:8px solid transparent;border-right:8px solid transparent;left:50%;position:absolute;top:0;transform:translateX(-50%)}.tox .tox-tooltip--right .tox-tooltip__arrow{border-bottom:8px solid transparent;border-left:8px solid #324053;border-top:8px solid transparent;position:absolute;right:0;top:50%;transform:translateY(-50%)}.tox .tox-tooltip--left .tox-tooltip__arrow{border-bottom:8px solid transparent;border-right:8px solid #324053;border-top:8px solid transparent;left:0;position:absolute;top:50%;transform:translateY(-50%)}.tox .tox-tree{display:flex;flex-direction:column}.tox .tox-tree .tox-trbtn{align-items:center;background:0 0;border:0;border-radius:4px;box-shadow:none;color:#fff;display:flex;flex:0 0 auto;font-size:14px;font-style:normal;font-weight:400;height:28px;margin-bottom:4px;margin-top:4px;outline:0;overflow:hidden;padding:0;padding-left:8px;text-transform:none}.tox .tox-tree .tox-trbtn .tox-tree__label{cursor:default;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tox .tox-tree .tox-trbtn svg{display:block;fill:#fff}.tox .tox-tree .tox-trbtn:focus{background:#2f4055;border:0;box-shadow:none}.tox .tox-tree .tox-trbtn:hover{background:#2f4055;border:0;box-shadow:none;color:#fff}.tox .tox-tree .tox-trbtn:hover svg{fill:#fff}.tox .tox-tree .tox-trbtn:active{background:#599fef;border:0;box-shadow:none;color:#fff}.tox .tox-tree .tox-trbtn:active svg{fill:#fff}.tox .tox-tree .tox-trbtn--disabled,.tox .tox-tree .tox-trbtn--disabled:hover,.tox .tox-tree .tox-trbtn:disabled,.tox .tox-tree .tox-trbtn:disabled:hover{background:0 0;border:0;box-shadow:none;color:rgba(255,255,255,.5);cursor:not-allowed}.tox .tox-tree .tox-trbtn--disabled svg,.tox .tox-tree .tox-trbtn--disabled:hover svg,.tox .tox-tree .tox-trbtn:disabled svg,.tox .tox-tree .tox-trbtn:disabled:hover svg{fill:rgba(255,255,255,0.5)}.tox .tox-tree .tox-trbtn--enabled,.tox .tox-tree .tox-trbtn--enabled:hover{background:#599fef;border:0;box-shadow:none;color:#fff}.tox .tox-tree .tox-trbtn--enabled:hover>*,.tox .tox-tree .tox-trbtn--enabled>*{transform:none}.tox .tox-tree .tox-trbtn--enabled svg,.tox .tox-tree .tox-trbtn--enabled:hover svg{fill:#fff}.tox .tox-tree .tox-trbtn:focus:not(.tox-trbtn--disabled){color:#fff}.tox .tox-tree .tox-trbtn:focus:not(.tox-trbtn--disabled) svg{fill:#fff}.tox .tox-tree .tox-trbtn:active>*{transform:none}.tox .tox-tree .tox-trbtn--return{align-self:stretch;height:unset;width:16px}.tox .tox-tree .tox-trbtn--labeled{padding:0 4px;width:unset}.tox .tox-tree .tox-trbtn__vlabel{display:block;font-size:10px;font-weight:400;letter-spacing:-.025em;margin-bottom:4px;white-space:nowrap}.tox .tox-tree .tox-tree--directory{display:flex;flex-direction:column}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label{font-weight:700}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label .tox-mbtn{margin-left:auto}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label .tox-mbtn svg{fill:transparent}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label .tox-mbtn.tox-mbtn--active svg,.tox .tox-tree .tox-tree--directory .tox-tree--directory__label .tox-mbtn:focus svg{fill:#fff}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label:focus .tox-mbtn svg,.tox .tox-tree .tox-tree--directory .tox-tree--directory__label:hover .tox-mbtn svg{fill:#fff}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label:hover:has(.tox-mbtn:hover){background-color:transparent;color:#fff}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label:hover:has(.tox-mbtn:hover) .tox-chevron svg{fill:#fff}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label .tox-chevron{margin-right:6px}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label:has(+ .tox-tree--directory__children--growing) .tox-chevron,.tox .tox-tree .tox-tree--directory .tox-tree--directory__label:has(+ .tox-tree--directory__children--shrinking) .tox-chevron{transition:transform .5s ease-in-out}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label:has(+ .tox-tree--directory__children--growing) .tox-chevron,.tox .tox-tree .tox-tree--directory .tox-tree--directory__label:has(+ .tox-tree--directory__children--open) .tox-chevron{transform:rotate(90deg)}.tox .tox-tree .tox-tree--leaf__label{font-weight:400}.tox .tox-tree .tox-tree--leaf__label .tox-mbtn{margin-left:auto}.tox .tox-tree .tox-tree--leaf__label .tox-mbtn svg{fill:transparent}.tox .tox-tree .tox-tree--leaf__label .tox-mbtn.tox-mbtn--active svg,.tox .tox-tree .tox-tree--leaf__label .tox-mbtn:focus svg{fill:#fff}.tox .tox-tree .tox-tree--leaf__label:hover .tox-mbtn svg{fill:#fff}.tox .tox-tree .tox-tree--leaf__label:hover:has(.tox-mbtn:hover){background-color:transparent;color:#fff}.tox .tox-tree .tox-tree--leaf__label:hover:has(.tox-mbtn:hover) .tox-chevron svg{fill:#fff}.tox .tox-tree .tox-icon-custom-state{flex-grow:1;display:flex;justify-content:flex-end}.tox .tox-tree .tox-tree--directory__children{overflow:hidden;padding-left:16px}.tox .tox-tree .tox-tree--directory__children.tox-tree--directory__children--growing,.tox .tox-tree .tox-tree--directory__children.tox-tree--directory__children--shrinking{transition:height .5s ease-in-out}.tox .tox-tree .tox-trbtn.tox-tree--leaf__label{display:flex;justify-content:space-between}[data-mce-name=uploadcare-enhance-filter] .color-swatch-remove-color path{fill:#c00;stroke:#c00}.tox .tox-view-wrap,.tox .tox-view-wrap__slot-container{background-color:#222f3e;display:flex;flex:1;flex-direction:column;height:100%}.tox .tox-view{display:flex;flex:1 1 auto;flex-direction:column;overflow:hidden;background-color:#222f3e}.tox .tox-view__header{align-items:center;display:flex;font-size:16px;justify-content:space-between;padding:10px;position:relative}.tox .tox-view__label{color:#fff;font-weight:700;line-height:24px;padding:4px 16px;text-align:center;white-space:nowrap}.tox .tox-view__label--normal{font-size:16px}.tox .tox-view__label--large{font-size:20px}.tox .tox-view--mobile.tox-view__header,.tox .tox-view--mobile.tox-view__toolbar{padding:8px}.tox .tox-view--scrolling{flex-wrap:nowrap;overflow-x:auto}.tox .tox-view__align-right{margin-left:auto}.tox .tox-view__toolbar{display:flex;flex-direction:row;gap:8px;justify-content:space-between;overflow-x:auto;padding:10px}.tox .tox-view__toolbar__group{display:flex;flex-direction:row;gap:12px}.tox .tox-view__header-end,.tox .tox-view__header-start{display:flex}.tox .tox-view__pane{height:100%;padding:8px;position:relative;width:100%}.tox .tox-view__pane_panel{border:1px solid #161f29;border-radius:6px}.tox:not([dir=rtl]) .tox-view__header .tox-view__header-end>*,.tox:not([dir=rtl]) .tox-view__header .tox-view__header-start>*{margin-left:8px}.tox[dir=rtl] .tox-view__header .tox-view__header-end>*,.tox[dir=rtl] .tox-view__header .tox-view__header-start>*{margin-right:8px}.tox .tox-well{border:1px solid #161f29;border-radius:6px;padding:8px;width:100%}.tox .tox-well>:first-child{margin-top:0}.tox .tox-well>:last-child{margin-bottom:0}.tox .tox-well>:only-child{margin:0}.tox .tox-custom-editor{border:1px solid #161f29;border-radius:6px;display:flex;flex:1;overflow:hidden;position:relative}.tox .tox-view .tox-revisionhistory__pane{padding:0}.tox .tox-revisionhistory__container{display:flex;flex-direction:column;height:100%}.tox .tox-revisionhistory{background-color:#222f3e;border-top:1px solid rgba(255,255,255,.15);display:flex;flex:1;height:100%;overflow-x:auto;overflow-y:hidden;position:relative;width:100%}.tox .tox-revisionhistory__iframe{flex:1}.tox .tox-revisionhistory__sidebar{display:flex;flex-direction:column;height:100%;min-width:248px;width:316px}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__sidebar-title{background-color:#222f3e;box-shadow:0 4px 8px 0 rgba(34,47,62,.1);color:#fff;font-size:20px;font-weight:400;line-height:28px;padding:12px;z-index:1}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions{background-color:#2b3b4e;display:flex;flex:1;flex-direction:column;gap:12px;overflow-y:auto;padding:10px 12px}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions:focus{height:100%;position:relative;z-index:1}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions:focus::after{border-radius:3px;bottom:0;box-shadow:0 0 0 2px #fff;content:'';left:0;position:absolute;right:0;top:0;border-radius:6px;bottom:1px;left:1px;right:1px;top:1px}@media (forced-colors:active){.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions:focus::after{border:2px solid highlight}}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card{background-color:#222f3e;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:#fff;cursor:pointer;display:flex;flex-direction:column;font-size:14px;padding:12px;width:100%}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card:hover{box-shadow:0 4px 8px 0 rgba(34,47,62,.1)}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card:focus{position:relative;z-index:1}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card:focus::after{border-radius:3px;bottom:0;box-shadow:0 0 0 2px #fff #285ec7;content:'';left:0;position:absolute;right:0;top:0;border-radius:6px;box-shadow:0 0 0 2px #285ec7;box-shadow:0 0 0 2px #285ec7!important}@media (forced-colors:active){.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card:focus::after{border:2px solid highlight}}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card.tox-revisionhistory__card--selected{background-color:#1b3b60;box-shadow:0 4px 8px 0 rgba(34,47,62,.1);position:relative}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card.tox-revisionhistory__card--selected::after{border-radius:3px;bottom:0;box-shadow:0 0 0 2px #fff #cea215;content:'';left:0;position:absolute;right:0;top:0;border-radius:6px;box-shadow:0 0 0 2px #cea215}@media (forced-colors:active){.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card.tox-revisionhistory__card--selected::after{border:2px solid highlight}}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card-label{display:block;width:min-content;padding:4px 8px;margin-bottom:8px;font-size:12px;font-weight:700;border-radius:4px;background:#4e5965}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card-content{display:flex;flex-direction:row;gap:8px;align-items:center}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card-info{display:flex;flex-direction:column;flex:1}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card-date-label{font-size:14px;font-weight:700;line-height:18px}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card-author-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:400}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__avatar{border-radius:50%;height:36px;object-fit:cover;vertical-align:middle;width:36px}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__norevision{color:rgba(255,255,255,.5);font-size:16px;line-height:24px;padding:5px 5.5px}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card-check-icon{color:#fff;height:24px}.tox [data-mce-name=suggestededits] .tox-icon .tox-icon--badge{fill:#006ce7}.tox .tox-view .tox-suggestededits__pane{padding:0}.tox .tox-suggestededits__sink{position:relative;z-index:1000}.tox .tox-suggestededits__sink .tox-tiered-menu .tox-collection--list{position:absolute}.tox .tox-suggestededits__container{height:100%;display:flex;flex-direction:column}.tox .tox-suggestededits__container .tox-suggestededits{background-color:#222f3e;border-top:1px solid #161f29;display:flex;flex:1;height:inherit;overflow-x:auto;overflow-y:hidden;position:relative}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__content{flex:1}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__model{height:100%;position:relative}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__model .tox-suggestededits__iframe{height:100%;width:100%;overflow:scroll;background-color:#fff}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar{background-color:#34485f;display:flex;flex-direction:column;flex:0 1 auto;min-width:248px;width:316px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-header{padding:4px 12px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content{display:flex;flex:1;flex-direction:column;gap:12px;overflow:auto;padding:6px 12px 12px 12px;position:relative}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card{background-color:#222f3e;border-radius:6px;padding:6px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--divider{background-color:#34485f;height:1px;width:100%}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--editor,.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--single{align-items:flex-start;align-self:stretch;display:flex;flex-direction:column;gap:6px;padding:6px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header{display:flex;flex:auto;justify-content:space-between;align-items:center;gap:8px;width:100%}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__card--user{display:flex;align-items:center;flex:1 0 0;gap:8px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__card--user .tox-suggestededits__card--avatar{height:24px;width:24px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__card--user .tox-suggestededits__card--avatar .tox-skeleton__circle,.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__card--user .tox-suggestededits__card--avatar img{height:24px;width:24px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__card--user .tox-suggestededits__card--details{display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__card--user .tox-suggestededits__card--details .tox-suggestededits__card--name{color:#fff}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__card--feedback-user{display:flex;align-items:center;flex:1 0 0;gap:8px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__card--feedback-user .tox-suggestededits__card--avatar{height:36px;width:36px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__card--feedback-user .tox-suggestededits__card--details{display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__card--feedback-user .tox-suggestededits__card--details .tox-suggestededits__card--name{color:#fff;font-size:14px;font-weight:700}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__card--feedback-user .tox-suggestededits__card--details .tox-suggestededits__card--timestamp{color:#fff;font-size:12px;line-height:18px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__resolution{align-items:center;border:0;border-radius:20px;height:20px;width:20px;display:flex;flex:0 0 auto;justify-content:center;text-align:center}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__resolution.tox-suggestededits__resolution--accepted .tox-icon svg{fill:#78AB46}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__resolution.tox-suggestededits__resolution--rejected .tox-icon svg{fill:#c00}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--content{display:flex;flex-direction:column;align-self:stretch;flex:auto;gap:6px;width:100%}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--content .tox-suggestededits__operations{display:flex;gap:8px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--content .tox-suggestededits__operations .tox-suggestededits__operations-bar{align-items:center;border-radius:6px;display:flex;flex-direction:column;font-size:12px;justify-content:space-between;width:6px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--content .tox-suggestededits__operations .tox-suggestededits__operations-bar--insert{background-color:#78ab46;width:100%}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--content .tox-suggestededits__operations .tox-suggestededits__operations-bar--modify{background-color:#006ce7;width:100%}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--content .tox-suggestededits__operations .tox-suggestededits__operations-bar--remove{background-color:#c00;width:100%}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--content .tox-suggestededits__operations .tox-suggestededits__operations-text{color:#fff;font-weight:700}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--content .tox-suggestededits__card--feedback{color:#fff;width:100%}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--content .tox-suggestededits__card--textarea{border:2px solid #161f29;border-radius:6px;color:#fff;gap:8px;padding:5px 6px;resize:none;width:100%}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--content .tox-suggestededits__card--textarea:focus{border:2px solid #006ce7}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--footer{display:flex;flex-direction:column;gap:6px;width:100%}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--footer .tox-suggestededits__card--timestamp{color:#fff;font-size:12px;line-height:18px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--footer .tox-suggestededits__card--timestamp .tox-icon svg{fill:#FFFFFF80;transform:translate(0,8px);margin-top:-10px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--buttons{display:flex;align-items:center;gap:8px;width:100%}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--buttons.tox-suggestededits__card--review-buttons{justify-content:space-between;padding:6px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--buttons.tox-suggestededits__card--feedback-buttons{justify-content:flex-end}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card.tox-suggestededits__card--hidden{opacity:.5}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card.tox-suggestededits__card--resolved{background-color:#222f3e}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card.tox-suggestededits__card--active:focus,.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card.tox-suggestededits__card--active:focus-visible{outline:2px solid #006ce7}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card.tox-suggestededits__card--active .tox-suggestededits__card--single{border-radius:6px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card.tox-suggestededits__card--active .tox-suggestededits__card--single:focus,.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card.tox-suggestededits__card--active .tox-suggestededits__card--single:focus-visible{outline:2px solid #006ce7}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card:hover{box-shadow:0 4px 8px 0 #222f3e}.tox .tox-dialog-loading::before{background-color:rgba(0,0,0,.5);content:\"\";height:100%;position:absolute;width:100%;z-index:1000}.tox .tox-tab{cursor:pointer}.tox .tox-dialog__content-js{display:flex;flex:1}.tox .tox-dialog__body-content .tox-collection{display:flex;flex:1}.tox.tox-tinymce-aux .tox-toolbar__overflow{box-shadow:0 0 0 1px rgba(255,255,255,.15)}`)"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/skins/ui/oxide-dark/skin.shadowdom.js",
    "content": "tinymce.Resource.add('ui/oxide-dark/skin.shadowdom.css', `body.tox-dialog__disable-scroll{overflow:hidden}.tox-fullscreen{border:0;height:100%;margin:0;overflow:hidden;overscroll-behavior:none;padding:0;touch-action:pinch-zoom;width:100%}.tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle{display:none}.tox-shadowhost.tox-fullscreen,.tox.tox-tinymce.tox-fullscreen{left:0;position:fixed;top:0;z-index:1200}.tox.tox-tinymce.tox-fullscreen{background-color:transparent}.tox-fullscreen .tox.tox-tinymce-aux,.tox-fullscreen~.tox.tox-tinymce-aux{z-index:1201}`)"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/skins/ui/tinymce-5/content.inline.js",
    "content": "/* This file is bundled with the code from the following third party libraries */\n\n/**\n * http://prismjs.com/\n * Dracula Theme originally by Zeno Rocha [@zenorocha]\n * https://draculatheme.com/\n *\n * Ported for PrismJS by Albert Vallverdu [@byverdu]\n */\ntinymce.Resource.add('ui/tinymce-5/content.inline.css', `@keyframes tox-rotation{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.mce-content-body .mce-item-anchor{background:transparent url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A\") no-repeat center}.mce-content-body .mce-item-anchor:empty{cursor:default;display:inline-block;height:12px!important;padding:0 2px;-webkit-user-modify:read-only;-moz-user-modify:read-only;-webkit-user-select:all;user-select:all;width:8px!important}.mce-content-body .mce-item-anchor:not(:empty){background-position-x:2px;display:inline-block;padding-left:12px}.mce-content-body .mce-item-anchor[data-mce-selected]{outline-offset:1px}.tox-comments-visible .tox-comment[contenteditable=false]:not([data-mce-selected]),.tox-comments-visible span.tox-comment img:not([data-mce-selected]),.tox-comments-visible span.tox-comment span.mce-preview-object:not([data-mce-selected]),.tox-comments-visible span.tox-comment>audio:not([data-mce-selected]),.tox-comments-visible span.tox-comment>video:not([data-mce-selected]){outline:3px solid #ffe796}.tox-comments-visible .tox-comment[contenteditable=false][data-mce-annotation-active=true]:not([data-mce-selected]){outline:3px solid #ffcf30}.tox-comments-visible span.tox-comment:not([data-mce-selected]){background-color:#ffe796;outline:0}.tox-comments-visible span.tox-comment[data-mce-annotation-active=true]:not([data-mce-selected=inline-boundary]){background-color:#ffcf30}.tox-comments-visible span.tox-comment[data-mce-selected]{background-color:#ffcf30;border-radius:3px;box-shadow:0 0 0 2px #006ce7}.tox-comments-visible span.tox-comment[data-mce-selected]:has(img[data-mce-selected],> audio[data-mce-selected],> video[data-mce-selected],span.mce-preview-object[data-mce-selected]){box-shadow:none}.tox-comments-visible span.tox-comment[data-mce-selected] img:not([data-mce-selected]),.tox-comments-visible span.tox-comment[data-mce-selected] span.mce-preview-object:not([data-mce-selected]),.tox-comments-visible span.tox-comment[data-mce-selected]>audio:not([data-mce-selected]),.tox-comments-visible span.tox-comment[data-mce-selected]>video:not([data-mce-selected]){box-shadow:0 0 0 5px #006ce7}.tox-comments-visible span.tox-comment[data-mce-annotation-active=true] img:not([data-mce-selected]),.tox-comments-visible span.tox-comment[data-mce-annotation-active=true] span.mce-preview-object:not([data-mce-selected]),.tox-comments-visible span.tox-comment[data-mce-annotation-active=true]>audio:not([data-mce-selected]),.tox-comments-visible span.tox-comment[data-mce-annotation-active=true]>video:not([data-mce-selected]){outline:3px solid #ffcf30}.tox-checklist>li:not(.tox-checklist--hidden){list-style:none;margin:.25em 0}.tox-checklist>li:not(.tox-checklist--hidden)::before{content:url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A\");cursor:pointer;height:1em;margin-left:-1.5em;margin-top:.125em;position:absolute;width:1em}.tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before{content:url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A\")}[dir=rtl] .tox-checklist>li:not(.tox-checklist--hidden)::before{margin-left:0;margin-right:-1.5em}code[class*=language-],pre[class*=language-]{color:#000;background:0 0;text-shadow:0 1px #fff;font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;tab-size:4;hyphens:none}code[class*=language-] ::selection,code[class*=language-]::selection,pre[class*=language-] ::selection,pre[class*=language-]::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#f5f2f0}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#708090}.token.punctuation{color:#999}.token.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#905}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#690}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url{color:#9a6e3a;background:hsla(0,0%,100%,.5)}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.class-name,.token.function{color:#dd4a68}.token.important,.token.regex,.token.variable{color:#e90}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.mce-content-body{overflow-wrap:break-word;word-wrap:break-word}.mce-content-body .mce-visual-caret{background-color:#000;background-color:currentColor;position:absolute}.mce-content-body .mce-visual-caret-hidden{display:none}.mce-content-body [data-mce-caret]{left:-1000px;margin:0;padding:0;position:absolute;right:auto;top:0}.mce-content-body .mce-offscreen-selection{left:-2000000px;max-width:1000000px;position:absolute}.mce-content-body [contentEditable=false]{cursor:default}.mce-content-body [contentEditable=true]{cursor:text}.tox-cursor-format-painter{cursor:url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A\"),default}div.mce-footnotes hr{margin-inline:0 auto;width:25%}div.mce-footnotes li>a.mce-footnotes-backlink{-webkit-text-decoration:none;text-decoration:none}@media print{sup.mce-footnote a{color:#000;-webkit-text-decoration:none;text-decoration:none}div.mce-footnotes{page-break-inside:avoid;break-inside:avoid;width:100%}div.mce-footnotes li>a.mce-footnotes-backlink{display:none}}tiny-math-block{display:flex;justify-content:center;margin:16px 0 16px 0}tiny-math-inline{display:inline-block}.mce-content-body figure.align-left{float:left}.mce-content-body figure.align-right{float:right}.mce-content-body figure.image.align-center{display:table;margin-left:auto;margin-right:auto}.mce-preview-object{border:1px solid gray;display:inline-block;line-height:0;margin:0 2px;position:relative}.mce-preview-object .mce-shim{background:url(\"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\");height:100%;left:0;position:absolute;top:0;width:100%}.mce-preview-object[data-mce-selected=\"2\"] .mce-shim{display:none}.mce-content-body .mce-mergetag{cursor:default!important;-webkit-user-select:none;user-select:none}.mce-content-body .mce-mergetag:hover{background-color:rgba(0,108,231,.1)}.mce-content-body .mce-mergetag-affix{background-color:rgba(0,108,231,.1);color:#006ce7}.mce-object{background:transparent url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A\") no-repeat center;border:1px dashed #aaa}.mce-pagebreak{border:1px dashed #aaa;cursor:default;display:block;height:5px;margin-top:15px;page-break-before:always;width:100%}@media print{.mce-pagebreak{border:0}}.tiny-pageembed .mce-shim{background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);height:100%;left:0;position:absolute;top:0;width:100%}.tiny-pageembed[data-mce-selected=\"2\"] .mce-shim{display:none}.tiny-pageembed{display:inline-block;position:relative}.tiny-pageembed--16by9,.tiny-pageembed--1by1,.tiny-pageembed--21by9,.tiny-pageembed--4by3{display:block;overflow:hidden;padding:0;position:relative;width:100%}.tiny-pageembed--21by9{padding-top:42.857143%}.tiny-pageembed--16by9{padding-top:56.25%}.tiny-pageembed--4by3{padding-top:75%}.tiny-pageembed--1by1{padding-top:100%}.tiny-pageembed--16by9 iframe,.tiny-pageembed--1by1 iframe,.tiny-pageembed--21by9 iframe,.tiny-pageembed--4by3 iframe{border:0;height:100%;left:0;position:absolute;top:0;width:100%}.mce-content-body[data-mce-placeholder]{position:relative}.mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before{color:rgba(34,47,62,.7);content:attr(data-mce-placeholder);position:absolute}@media (forced-colors:active){.mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before{color:highlight;filter:brightness(30%);z-index:-1}}.mce-content-body:not([dir=rtl])[data-mce-placeholder]:not(.mce-visualblocks)::before{left:1px}.mce-content-body[dir=rtl][data-mce-placeholder]:not(.mce-visualblocks)::before{right:1px}@media print{.mce-content-body .mce-placeholder,.mce-content-body [data-mce-bogus=all],.mce-content-body [data-mce-bogus]{display:none!important}.mce-content-body .mce-visual-caret{display:none!important}.mce-content-body .mce-edit-focus,.mce-content-body :focus,.mce-content-body [data-mce-selected]{outline:0!important}}.mce-content-body div.mce-resizehandle{background-color:#4099ff;border-color:#4099ff;border-style:solid;border-width:1px;box-sizing:border-box;height:10px;position:absolute;width:10px;z-index:1298}.mce-content-body div.mce-resizehandle:hover{background-color:#4099ff}.mce-content-body div.mce-resizehandle:first-of-type{cursor:nwse-resize}.mce-content-body div.mce-resizehandle:nth-of-type(2){cursor:nesw-resize}.mce-content-body div.mce-resizehandle:nth-of-type(3){cursor:nwse-resize}.mce-content-body div.mce-resizehandle:nth-of-type(4){cursor:nesw-resize}.mce-content-body .mce-resize-backdrop{z-index:10000}.mce-content-body .mce-clonedresizable{cursor:default;opacity:.5;outline:1px dashed black;position:absolute;z-index:10001}.mce-content-body .mce-clonedresizable.mce-resizetable-columns td,.mce-content-body .mce-clonedresizable.mce-resizetable-columns th{border:0}.mce-content-body .mce-resize-helper{background:#555;background:rgba(0 0 0%);border:1px;border-radius:3px;color:#fff;display:none;font-family:sans-serif;font-size:12px;line-height:14px;margin:5px 10px;padding:5px;position:absolute;white-space:nowrap;z-index:10002}.tox-rtc-user-selection{position:relative}.tox-rtc-user-cursor{bottom:0;cursor:default;position:absolute;top:0;width:2px}.tox-rtc-user-cursor::before{background-color:inherit;border-radius:50%;content:'';display:block;height:8px;position:absolute;right:-3px;top:-3px;width:8px}.tox-rtc-user-cursor:hover::after{background-color:inherit;border-radius:100px;box-sizing:border-box;color:#fff;content:attr(data-user);display:block;font-size:12px;font-weight:700;left:-5px;min-height:8px;min-width:8px;padding:0 12px;position:absolute;top:-11px;white-space:nowrap;z-index:1000}.tox-rtc-user-selection--1 .tox-rtc-user-cursor{background-color:#2dc26b}.tox-rtc-user-selection--2 .tox-rtc-user-cursor{background-color:#e03e2d}.tox-rtc-user-selection--3 .tox-rtc-user-cursor{background-color:#f1c40f}.tox-rtc-user-selection--4 .tox-rtc-user-cursor{background-color:#3598db}.tox-rtc-user-selection--5 .tox-rtc-user-cursor{background-color:#b96ad9}.tox-rtc-user-selection--6 .tox-rtc-user-cursor{background-color:#e67e23}.tox-rtc-user-selection--7 .tox-rtc-user-cursor{background-color:#aaa69d}.tox-rtc-user-selection--8 .tox-rtc-user-cursor{background-color:#f368e0}.tox-rtc-remote-image{background:#eaeaea url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A\") no-repeat center center;border:1px solid #ccc;min-height:240px;min-width:320px}.mce-match-marker{background:#aaa;color:#fff}.mce-match-marker-selected{background:#39f;color:#fff}.mce-match-marker-selected::selection{background:#39f;color:#fff}.mce-content-body audio[data-mce-selected],.mce-content-body details[data-mce-selected],.mce-content-body embed[data-mce-selected],.mce-content-body img[data-mce-selected],.mce-content-body object[data-mce-selected],.mce-content-body table[data-mce-selected],.mce-content-body video[data-mce-selected]{outline:3px solid #b4d7ff}.mce-content-body hr[data-mce-selected]{outline:3px solid #b4d7ff;outline-offset:1px}.mce-content-body [contentEditable=false] [contentEditable=true]:focus{outline:3px solid #b4d7ff}.mce-content-body [contentEditable=false] [contentEditable=true]:hover{outline:3px solid #b4d7ff}.mce-content-body [contentEditable=false][data-mce-selected]{cursor:not-allowed;outline:3px solid #b4d7ff}.mce-content-body [data-mce-selected=inline-boundary]{background-color:#b4d7ff}.mce-content-body .mce-edit-focus{outline:3px solid #b4d7ff}.mce-content-body td[data-mce-selected],.mce-content-body th[data-mce-selected]{position:relative}.mce-content-body td[data-mce-selected]::selection,.mce-content-body th[data-mce-selected]::selection{background:0 0}.mce-content-body td[data-mce-selected] *,.mce-content-body th[data-mce-selected] *{outline:0;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.mce-content-body td[data-mce-selected]::after,.mce-content-body th[data-mce-selected]::after{background-color:rgba(180,215,255,.7);border:1px solid rgba(180,215,255,.7);bottom:-1px;content:'';left:-1px;mix-blend-mode:multiply;position:absolute;right:-1px;top:-1px}.mce-content-body img[data-mce-selected]::selection{background:0 0}.ephox-snooker-resizer-bar{background-color:#b4d7ff;opacity:0;-webkit-user-select:none;user-select:none}.ephox-snooker-resizer-cols{cursor:col-resize}.ephox-snooker-resizer-rows{cursor:row-resize}.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging{opacity:1}.mce-spellchecker-word{background-image:url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A\");background-position:0 calc(100% + 1px);background-repeat:repeat-x;background-size:auto 6px;cursor:default;height:2rem}.mce-spellchecker-grammar{background-image:url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A\");background-position:0 calc(100% + 1px);background-repeat:repeat-x;background-size:auto 6px;cursor:default}.tox-suggestededits__annotation--added,.tox-suggestededits__annotation--modified,.tox-suggestededits__annotation--removed{-webkit-text-decoration:none;text-decoration:none}.tox-suggestededits__annotation--added__highlight{background-color:rgba(120,171,70,.2);-webkit-text-decoration:underline;text-decoration:underline}.tox-suggestededits__annotation--added__selected{background-color:rgba(120,171,70,.2);box-shadow:0 -2px 0 0 #006ce7 inset,0 -2px 0 0 #006ce7;-webkit-text-decoration:none;text-decoration:none}.tox-suggestededits__annotation--modified__highlight{background-color:rgba(0,108,231,.2);-webkit-text-decoration:underline;text-decoration:underline}.tox-suggestededits__annotation--modified__selected{background-color:rgba(0,108,231,.2);box-shadow:0 -2px 0 0 #006ce7 inset,0 -2px 0 0 #006ce7;-webkit-text-decoration:none;text-decoration:none}.tox-suggestededits__annotation--removed__highlight{background-color:rgba(204,0,0,.2);-webkit-text-decoration:line-through;text-decoration:line-through}.tox-suggestededits__annotation--removed__selected{background-color:rgba(204,0,0,.2);box-shadow:0 -2px 0 0 #006ce7 inset,0 -2px 0 0 #006ce7;-webkit-text-decoration:line-through;text-decoration:line-through}.tox-suggestededits__annotation--added.tox-suggestededits__annotation--added__hidden,.tox-suggestededits__annotation--modified.tox-suggestededits__annotation--modified__hidden,.tox-suggestededits__annotation--removed.tox-suggestededits__annotation--removed__hidden{display:none;-webkit-text-decoration:none;text-decoration:none}:has(> div > iframe).tox-suggestededits__annotation--added,:has(> div > iframe).tox-suggestededits__annotation--modified,:has(> div > iframe).tox-suggestededits__annotation--removed{padding:7px;margin:5px}iframe.tox-suggestededits__annotation--added__highlight,img.tox-suggestededits__annotation--added__highlight,video.tox-suggestededits__annotation--added__highlight{outline:.25em solid rgba(120,171,70,.2);padding:.25em}iframe.tox-suggestededits__annotation--added__selected,img.tox-suggestededits__annotation--added__selected,video.tox-suggestededits__annotation--added__selected{border:.25em solid rgba(120,171,70,.2);outline:.125em solid #006ce7;padding:0}iframe.tox-suggestededits__annotation--modified__highlight,img.tox-suggestededits__annotation--modified__highlight,video.tox-suggestededits__annotation--modified__highlight{outline:.25em solid rgba(0,108,231,.2);padding:.25em}iframe.tox-suggestededits__annotation--modified__selected,img.tox-suggestededits__annotation--modified__selected,video.tox-suggestededits__annotation--modified__selected{border:.25em solid rgba(0,108,231,.2);outline:.125em solid #006ce7;padding:0}iframe.tox-suggestededits__annotation--removed__highlight,img.tox-suggestededits__annotation--removed__highlight,video.tox-suggestededits__annotation--removed__highlight{outline:.25em solid rgba(204,0,0,.2);padding:.25em}iframe.tox-suggestededits__annotation--removed__selected,img.tox-suggestededits__annotation--removed__selected,video.tox-suggestededits__annotation--removed__selected{border:.25em solid rgba(204,0,0,.2);outline:.125em solid #006ce7;padding:0}div.tox-suggestededits__annotation:has(> hr){padding:.25em}div.tox-suggestededits__annotation--removed__highlight>hr{border-color:rgba(0,0,0,.2)}div.tox-suggestededits__annotation--added__highlight>hr{border-color:rgba(0,0,0,.2)}.mce-pagebreak.tox-suggestededits__annotation--added__selected,.mce-pagebreak.tox-suggestededits__annotation--modified__selected,.mce-pagebreak.tox-suggestededits__annotation--removed__selected{border:1px dashed #aaa;box-shadow:none}.mce-pagebreak.tox-suggestededits__annotation--added__highlight,.mce-pagebreak.tox-suggestededits__annotation--modified__highlight,.mce-pagebreak.tox-suggestededits__annotation--removed__highlight{padding:0}.mce-toc{border:1px solid gray}.mce-toc h2{margin:4px}.mce-toc ul>li{list-style-type:none}[data-mce-block]{display:block}.mce-item-table:not([border]),.mce-item-table:not([border]) caption,.mce-item-table:not([border]) td,.mce-item-table:not([border]) th,.mce-item-table[border=\"0\"],.mce-item-table[border=\"0\"] caption,.mce-item-table[border=\"0\"] td,.mce-item-table[border=\"0\"] th,table[style*=\"border-width: 0px\"],table[style*=\"border-width: 0px\"] caption,table[style*=\"border-width: 0px\"] td,table[style*=\"border-width: 0px\"] th{border:1px dashed #bbb}.tox-uc-loading-background{width:100%;height:100%;background:rgba(255,255,255,.5)}.tox-uc-loading-spinner-wrapper{width:100%;height:100%;display:flex;justify-content:center;align-items:center}.tox-uc-loading-spinner{width:min(24px,30%);aspect-ratio:1;border-radius:50%;border:3px solid #006ce7;border-bottom-color:transparent;animation:tox-rotation 1s linear infinite}.tox-uc-video{display:block;position:relative;margin:16px 0 16px 0}.tox-uc-video:not([data-mce-selected]):after{content:\"\";position:absolute;top:0;left:0;width:100%;height:100%}.tox-uploadcare-placeholder{all:initial;display:inline-block;position:relative;width:min(100%,600px);height:80px;--tox-uploadcare-placeholder--content-cursor:auto!important;--tox-uploadcare-placeholder--content-color:rgba(34, 47, 62, 0.7);--tox-uploadcare-placeholder--content-background-color:#fff;--tox-uploadcare-placeholder--content-border:2px solid #e3e3e3;--tox-uploadcare-placeholder--content-font-family:monospace,sans-serif;--tox-uploadcare-placeholder--content-height:100%;--tox-uploadcare-placeholder--content-width:100%;--tox-uploadcare-placeholder--content-display:inline-flex;--tox-uploadcare-placeholder--content-align-items:center;--tox-uploadcare-placeholder--content-justify-content:center;--tox-uploadcare-placeholder--content-gap:8px;--tox-uploadcare-placeholder--icon-fill:rgba(34, 47, 62, 0.7);--tox-uploadcare-placeholder--icon-min-width:24px;--tox-uc-loading-spinner-wrapper-display-none:none;--tox-uc-loading-spinner-wrapper-display:flex;--tox-uc-loading-spinner-wrapper-position:absolute;--tox-uc-loading-spinner-wrapper-top:0;--tox-uc-loading-spinner-wrapper-left:0;--tox-uc-loading-spinner-wrapper-width:100%;--tox-uc-loading-spinner-wrapper-height:100%;--tox-uc-loading-spinner-wrapper-justify-content:center;--tox-uc-loading-spinner-wrapper-align-items:center;--tox-uc-loading-spinner-aspect-ratio:1/1;--tox-uc-loading-spinner-width:min(24px, 30%);--tox-uc-loading-spinner-border-radius:50%;--tox-uc-loading-spinner-border:3px solid #006ce7;--tox-uc-loading-spinner-border-bottom-color:transparent;--tox-uc-loading-spinner-animation:tox-rotation 1s linear infinite}@media print{tiny-uploadcare-placeholder{display:none!important}}.mce-visualblocks address,.mce-visualblocks article,.mce-visualblocks aside,.mce-visualblocks blockquote,.mce-visualblocks div:not([data-mce-bogus]),.mce-visualblocks dl,.mce-visualblocks figcaption,.mce-visualblocks figure,.mce-visualblocks h1,.mce-visualblocks h2,.mce-visualblocks h3,.mce-visualblocks h4,.mce-visualblocks h5,.mce-visualblocks h6,.mce-visualblocks hgroup,.mce-visualblocks ol,.mce-visualblocks p,.mce-visualblocks pre,.mce-visualblocks section,.mce-visualblocks ul{background-repeat:no-repeat;border:1px dashed #bbb;margin-left:3px;padding-top:10px}.mce-visualblocks p{background-image:url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7)}.mce-visualblocks h1{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==)}.mce-visualblocks h2{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==)}.mce-visualblocks h3{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7)}.mce-visualblocks h4{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==)}.mce-visualblocks h5{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==)}.mce-visualblocks h6{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==)}.mce-visualblocks div:not([data-mce-bogus]){background-image:url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7)}.mce-visualblocks section{background-image:url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=)}.mce-visualblocks article{background-image:url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7)}.mce-visualblocks blockquote{background-image:url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7)}.mce-visualblocks address{background-image:url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=)}.mce-visualblocks pre{background-image:url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==)}.mce-visualblocks figure{background-image:url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7)}.mce-visualblocks figcaption{border:1px dashed #bbb}.mce-visualblocks hgroup{background-image:url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7)}.mce-visualblocks aside{background-image:url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=)}.mce-visualblocks ul{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==)}.mce-visualblocks ol{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==)}.mce-visualblocks dl{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==)}.mce-visualblocks:not([dir=rtl]) address,.mce-visualblocks:not([dir=rtl]) article,.mce-visualblocks:not([dir=rtl]) aside,.mce-visualblocks:not([dir=rtl]) blockquote,.mce-visualblocks:not([dir=rtl]) div:not([data-mce-bogus]),.mce-visualblocks:not([dir=rtl]) dl,.mce-visualblocks:not([dir=rtl]) figcaption,.mce-visualblocks:not([dir=rtl]) figure,.mce-visualblocks:not([dir=rtl]) h1,.mce-visualblocks:not([dir=rtl]) h2,.mce-visualblocks:not([dir=rtl]) h3,.mce-visualblocks:not([dir=rtl]) h4,.mce-visualblocks:not([dir=rtl]) h5,.mce-visualblocks:not([dir=rtl]) h6,.mce-visualblocks:not([dir=rtl]) hgroup,.mce-visualblocks:not([dir=rtl]) ol,.mce-visualblocks:not([dir=rtl]) p,.mce-visualblocks:not([dir=rtl]) pre,.mce-visualblocks:not([dir=rtl]) section,.mce-visualblocks:not([dir=rtl]) ul{margin-left:3px}.mce-visualblocks[dir=rtl] address,.mce-visualblocks[dir=rtl] article,.mce-visualblocks[dir=rtl] aside,.mce-visualblocks[dir=rtl] blockquote,.mce-visualblocks[dir=rtl] div:not([data-mce-bogus]),.mce-visualblocks[dir=rtl] dl,.mce-visualblocks[dir=rtl] figcaption,.mce-visualblocks[dir=rtl] figure,.mce-visualblocks[dir=rtl] h1,.mce-visualblocks[dir=rtl] h2,.mce-visualblocks[dir=rtl] h3,.mce-visualblocks[dir=rtl] h4,.mce-visualblocks[dir=rtl] h5,.mce-visualblocks[dir=rtl] h6,.mce-visualblocks[dir=rtl] hgroup,.mce-visualblocks[dir=rtl] ol,.mce-visualblocks[dir=rtl] p,.mce-visualblocks[dir=rtl] pre,.mce-visualblocks[dir=rtl] section,.mce-visualblocks[dir=rtl] ul{background-position-x:right;margin-right:3px}.mce-nbsp,.mce-shy{background:#aaa}.mce-shy::after{content:'-'}[data-ephox-foam-a11y-violation]{outline:2px solid;position:relative}[data-ephox-foam-a11y-violation][data-ephox-foam-a11y-current-violation]{outline-width:4px;transition:outline-width .1s ease-in-out,background-color .1s ease-in-out;box-shadow:0 0 0 99999px #222f3e80;z-index:1}[data-ephox-foam-a11y-violation][data-ephox-foam-a11y-severity-info]{outline-color:#006ce7}[data-ephox-foam-a11y-violation][data-ephox-foam-a11y-severity-warn]{outline-color:#fc0}[data-ephox-foam-a11y-violation][data-ephox-foam-a11y-severity-error]{outline-color:#c00}[data-ephox-foam-a11y-violation][data-ephox-foam-a11y-current-violation=info]{outline-color:#006ce7;background-color:#e6f0fd}[data-ephox-foam-a11y-violation][data-ephox-foam-a11y-current-violation=warning]{outline-color:#fc0;background-color:#fffae6}[data-ephox-foam-a11y-violation][data-ephox-foam-a11y-current-violation=error]{outline-color:#c00;background-color:#fae6e6}[data-ephox-foam-a11y-violation][data-ephox-foam-a11y-current-violation]:is(td,th,tr){position:static}`)"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/skins/ui/tinymce-5/content.js",
    "content": "/* This file is bundled with the code from the following third party libraries */\n\n/**\n * http://prismjs.com/\n * Dracula Theme originally by Zeno Rocha [@zenorocha]\n * https://draculatheme.com/\n *\n * Ported for PrismJS by Albert Vallverdu [@byverdu]\n */\ntinymce.Resource.add('ui/tinymce-5/content.css', `@keyframes tox-rotation{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.mce-content-body .mce-item-anchor{background:transparent url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A\") no-repeat center}.mce-content-body .mce-item-anchor:empty{cursor:default;display:inline-block;height:12px!important;padding:0 2px;-webkit-user-modify:read-only;-moz-user-modify:read-only;-webkit-user-select:all;user-select:all;width:8px!important}.mce-content-body .mce-item-anchor:not(:empty){background-position-x:2px;display:inline-block;padding-left:12px}.mce-content-body .mce-item-anchor[data-mce-selected]{outline-offset:1px}.tox-comments-visible .tox-comment[contenteditable=false]:not([data-mce-selected]),.tox-comments-visible span.tox-comment img:not([data-mce-selected]),.tox-comments-visible span.tox-comment span.mce-preview-object:not([data-mce-selected]),.tox-comments-visible span.tox-comment>audio:not([data-mce-selected]),.tox-comments-visible span.tox-comment>video:not([data-mce-selected]){outline:3px solid #ffe796}.tox-comments-visible .tox-comment[contenteditable=false][data-mce-annotation-active=true]:not([data-mce-selected]){outline:3px solid #ffcf30}.tox-comments-visible span.tox-comment:not([data-mce-selected]){background-color:#ffe796;outline:0}.tox-comments-visible span.tox-comment[data-mce-annotation-active=true]:not([data-mce-selected=inline-boundary]){background-color:#ffcf30}.tox-comments-visible span.tox-comment[data-mce-selected]{background-color:#ffcf30;border-radius:3px;box-shadow:0 0 0 2px #006ce7}.tox-comments-visible span.tox-comment[data-mce-selected]:has(img[data-mce-selected],> audio[data-mce-selected],> video[data-mce-selected],span.mce-preview-object[data-mce-selected]){box-shadow:none}.tox-comments-visible span.tox-comment[data-mce-selected] img:not([data-mce-selected]),.tox-comments-visible span.tox-comment[data-mce-selected] span.mce-preview-object:not([data-mce-selected]),.tox-comments-visible span.tox-comment[data-mce-selected]>audio:not([data-mce-selected]),.tox-comments-visible span.tox-comment[data-mce-selected]>video:not([data-mce-selected]){box-shadow:0 0 0 5px #006ce7}.tox-comments-visible span.tox-comment[data-mce-annotation-active=true] img:not([data-mce-selected]),.tox-comments-visible span.tox-comment[data-mce-annotation-active=true] span.mce-preview-object:not([data-mce-selected]),.tox-comments-visible span.tox-comment[data-mce-annotation-active=true]>audio:not([data-mce-selected]),.tox-comments-visible span.tox-comment[data-mce-annotation-active=true]>video:not([data-mce-selected]){outline:3px solid #ffcf30}.tox-checklist>li:not(.tox-checklist--hidden){list-style:none;margin:.25em 0}.tox-checklist>li:not(.tox-checklist--hidden)::before{content:url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A\");cursor:pointer;height:1em;margin-left:-1.5em;margin-top:.125em;position:absolute;width:1em}.tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before{content:url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A\")}[dir=rtl] .tox-checklist>li:not(.tox-checklist--hidden)::before{margin-left:0;margin-right:-1.5em}code[class*=language-],pre[class*=language-]{color:#000;background:0 0;text-shadow:0 1px #fff;font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;tab-size:4;hyphens:none}code[class*=language-] ::selection,code[class*=language-]::selection,pre[class*=language-] ::selection,pre[class*=language-]::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#f5f2f0}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#708090}.token.punctuation{color:#999}.token.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#905}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#690}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url{color:#9a6e3a;background:hsla(0,0%,100%,.5)}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.class-name,.token.function{color:#dd4a68}.token.important,.token.regex,.token.variable{color:#e90}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.mce-content-body{overflow-wrap:break-word;word-wrap:break-word}.mce-content-body .mce-visual-caret{background-color:#000;background-color:currentColor;position:absolute}.mce-content-body .mce-visual-caret-hidden{display:none}.mce-content-body [data-mce-caret]{left:-1000px;margin:0;padding:0;position:absolute;right:auto;top:0}.mce-content-body .mce-offscreen-selection{left:-2000000px;max-width:1000000px;position:absolute}.mce-content-body [contentEditable=false]{cursor:default}.mce-content-body [contentEditable=true]{cursor:text}.tox-cursor-format-painter{cursor:url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A\"),default}div.mce-footnotes hr{margin-inline:0 auto;width:25%}div.mce-footnotes li>a.mce-footnotes-backlink{-webkit-text-decoration:none;text-decoration:none}@media print{sup.mce-footnote a{color:#000;-webkit-text-decoration:none;text-decoration:none}div.mce-footnotes{page-break-inside:avoid;break-inside:avoid;width:100%}div.mce-footnotes li>a.mce-footnotes-backlink{display:none}}tiny-math-block{display:flex;justify-content:center;margin:16px 0 16px 0}tiny-math-inline{display:inline-block}.mce-content-body figure.align-left{float:left}.mce-content-body figure.align-right{float:right}.mce-content-body figure.image.align-center{display:table;margin-left:auto;margin-right:auto}.mce-preview-object{border:1px solid gray;display:inline-block;line-height:0;margin:0 2px;position:relative}.mce-preview-object .mce-shim{background:url(\"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\");height:100%;left:0;position:absolute;top:0;width:100%}.mce-preview-object[data-mce-selected=\"2\"] .mce-shim{display:none}.mce-content-body .mce-mergetag{cursor:default!important;-webkit-user-select:none;user-select:none}.mce-content-body .mce-mergetag:hover{background-color:rgba(0,108,231,.1)}.mce-content-body .mce-mergetag-affix{background-color:rgba(0,108,231,.1);color:#006ce7}.mce-object{background:transparent url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A\") no-repeat center;border:1px dashed #aaa}.mce-pagebreak{border:1px dashed #aaa;cursor:default;display:block;height:5px;margin-top:15px;page-break-before:always;width:100%}@media print{.mce-pagebreak{border:0}}.tiny-pageembed .mce-shim{background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);height:100%;left:0;position:absolute;top:0;width:100%}.tiny-pageembed[data-mce-selected=\"2\"] .mce-shim{display:none}.tiny-pageembed{display:inline-block;position:relative}.tiny-pageembed--16by9,.tiny-pageembed--1by1,.tiny-pageembed--21by9,.tiny-pageembed--4by3{display:block;overflow:hidden;padding:0;position:relative;width:100%}.tiny-pageembed--21by9{padding-top:42.857143%}.tiny-pageembed--16by9{padding-top:56.25%}.tiny-pageembed--4by3{padding-top:75%}.tiny-pageembed--1by1{padding-top:100%}.tiny-pageembed--16by9 iframe,.tiny-pageembed--1by1 iframe,.tiny-pageembed--21by9 iframe,.tiny-pageembed--4by3 iframe{border:0;height:100%;left:0;position:absolute;top:0;width:100%}.mce-content-body[data-mce-placeholder]{position:relative}.mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before{color:rgba(34,47,62,.7);content:attr(data-mce-placeholder);position:absolute}@media (forced-colors:active){.mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before{color:highlight;filter:brightness(30%);z-index:-1}}.mce-content-body:not([dir=rtl])[data-mce-placeholder]:not(.mce-visualblocks)::before{left:1px}.mce-content-body[dir=rtl][data-mce-placeholder]:not(.mce-visualblocks)::before{right:1px}@media print{.mce-content-body .mce-placeholder,.mce-content-body [data-mce-bogus=all],.mce-content-body [data-mce-bogus]{display:none!important}.mce-content-body .mce-visual-caret{display:none!important}.mce-content-body .mce-edit-focus,.mce-content-body :focus,.mce-content-body [data-mce-selected]{outline:0!important}}.mce-content-body div.mce-resizehandle{background-color:#4099ff;border-color:#4099ff;border-style:solid;border-width:1px;box-sizing:border-box;height:10px;position:absolute;width:10px;z-index:1298}.mce-content-body div.mce-resizehandle:hover{background-color:#4099ff}.mce-content-body div.mce-resizehandle:first-of-type{cursor:nwse-resize}.mce-content-body div.mce-resizehandle:nth-of-type(2){cursor:nesw-resize}.mce-content-body div.mce-resizehandle:nth-of-type(3){cursor:nwse-resize}.mce-content-body div.mce-resizehandle:nth-of-type(4){cursor:nesw-resize}.mce-content-body .mce-resize-backdrop{z-index:10000}.mce-content-body .mce-clonedresizable{cursor:default;opacity:.5;outline:1px dashed black;position:absolute;z-index:10001}.mce-content-body .mce-clonedresizable.mce-resizetable-columns td,.mce-content-body .mce-clonedresizable.mce-resizetable-columns th{border:0}.mce-content-body .mce-resize-helper{background:#555;background:rgba(0 0 0%);border:1px;border-radius:3px;color:#fff;display:none;font-family:sans-serif;font-size:12px;line-height:14px;margin:5px 10px;padding:5px;position:absolute;white-space:nowrap;z-index:10002}.tox-rtc-user-selection{position:relative}.tox-rtc-user-cursor{bottom:0;cursor:default;position:absolute;top:0;width:2px}.tox-rtc-user-cursor::before{background-color:inherit;border-radius:50%;content:'';display:block;height:8px;position:absolute;right:-3px;top:-3px;width:8px}.tox-rtc-user-cursor:hover::after{background-color:inherit;border-radius:100px;box-sizing:border-box;color:#fff;content:attr(data-user);display:block;font-size:12px;font-weight:700;left:-5px;min-height:8px;min-width:8px;padding:0 12px;position:absolute;top:-11px;white-space:nowrap;z-index:1000}.tox-rtc-user-selection--1 .tox-rtc-user-cursor{background-color:#2dc26b}.tox-rtc-user-selection--2 .tox-rtc-user-cursor{background-color:#e03e2d}.tox-rtc-user-selection--3 .tox-rtc-user-cursor{background-color:#f1c40f}.tox-rtc-user-selection--4 .tox-rtc-user-cursor{background-color:#3598db}.tox-rtc-user-selection--5 .tox-rtc-user-cursor{background-color:#b96ad9}.tox-rtc-user-selection--6 .tox-rtc-user-cursor{background-color:#e67e23}.tox-rtc-user-selection--7 .tox-rtc-user-cursor{background-color:#aaa69d}.tox-rtc-user-selection--8 .tox-rtc-user-cursor{background-color:#f368e0}.tox-rtc-remote-image{background:#eaeaea url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A\") no-repeat center center;border:1px solid #ccc;min-height:240px;min-width:320px}.mce-match-marker{background:#aaa;color:#fff}.mce-match-marker-selected{background:#39f;color:#fff}.mce-match-marker-selected::selection{background:#39f;color:#fff}.mce-content-body audio[data-mce-selected],.mce-content-body details[data-mce-selected],.mce-content-body embed[data-mce-selected],.mce-content-body img[data-mce-selected],.mce-content-body object[data-mce-selected],.mce-content-body table[data-mce-selected],.mce-content-body video[data-mce-selected]{outline:3px solid #b4d7ff}.mce-content-body hr[data-mce-selected]{outline:3px solid #b4d7ff;outline-offset:1px}.mce-content-body [contentEditable=false] [contentEditable=true]:focus{outline:3px solid #b4d7ff}.mce-content-body [contentEditable=false] [contentEditable=true]:hover{outline:3px solid #b4d7ff}.mce-content-body [contentEditable=false][data-mce-selected]{cursor:not-allowed;outline:3px solid #b4d7ff}.mce-content-body [data-mce-selected=inline-boundary]{background-color:#b4d7ff}.mce-content-body .mce-edit-focus{outline:3px solid #b4d7ff}.mce-content-body td[data-mce-selected],.mce-content-body th[data-mce-selected]{position:relative}.mce-content-body td[data-mce-selected]::selection,.mce-content-body th[data-mce-selected]::selection{background:0 0}.mce-content-body td[data-mce-selected] *,.mce-content-body th[data-mce-selected] *{outline:0;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.mce-content-body td[data-mce-selected]::after,.mce-content-body th[data-mce-selected]::after{background-color:rgba(180,215,255,.7);border:1px solid rgba(180,215,255,.7);bottom:-1px;content:'';left:-1px;mix-blend-mode:multiply;position:absolute;right:-1px;top:-1px}.mce-content-body img[data-mce-selected]::selection{background:0 0}.ephox-snooker-resizer-bar{background-color:#b4d7ff;opacity:0;-webkit-user-select:none;user-select:none}.ephox-snooker-resizer-cols{cursor:col-resize}.ephox-snooker-resizer-rows{cursor:row-resize}.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging{opacity:1}.mce-spellchecker-word{background-image:url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A\");background-position:0 calc(100% + 1px);background-repeat:repeat-x;background-size:auto 6px;cursor:default;height:2rem}.mce-spellchecker-grammar{background-image:url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A\");background-position:0 calc(100% + 1px);background-repeat:repeat-x;background-size:auto 6px;cursor:default}.tox-suggestededits__annotation--added,.tox-suggestededits__annotation--modified,.tox-suggestededits__annotation--removed{-webkit-text-decoration:none;text-decoration:none}.tox-suggestededits__annotation--added__highlight{background-color:rgba(120,171,70,.2);-webkit-text-decoration:underline;text-decoration:underline}.tox-suggestededits__annotation--added__selected{background-color:rgba(120,171,70,.2);box-shadow:0 -2px 0 0 #006ce7 inset,0 -2px 0 0 #006ce7;-webkit-text-decoration:none;text-decoration:none}.tox-suggestededits__annotation--modified__highlight{background-color:rgba(0,108,231,.2);-webkit-text-decoration:underline;text-decoration:underline}.tox-suggestededits__annotation--modified__selected{background-color:rgba(0,108,231,.2);box-shadow:0 -2px 0 0 #006ce7 inset,0 -2px 0 0 #006ce7;-webkit-text-decoration:none;text-decoration:none}.tox-suggestededits__annotation--removed__highlight{background-color:rgba(204,0,0,.2);-webkit-text-decoration:line-through;text-decoration:line-through}.tox-suggestededits__annotation--removed__selected{background-color:rgba(204,0,0,.2);box-shadow:0 -2px 0 0 #006ce7 inset,0 -2px 0 0 #006ce7;-webkit-text-decoration:line-through;text-decoration:line-through}.tox-suggestededits__annotation--added.tox-suggestededits__annotation--added__hidden,.tox-suggestededits__annotation--modified.tox-suggestededits__annotation--modified__hidden,.tox-suggestededits__annotation--removed.tox-suggestededits__annotation--removed__hidden{display:none;-webkit-text-decoration:none;text-decoration:none}:has(> div > iframe).tox-suggestededits__annotation--added,:has(> div > iframe).tox-suggestededits__annotation--modified,:has(> div > iframe).tox-suggestededits__annotation--removed{padding:7px;margin:5px}iframe.tox-suggestededits__annotation--added__highlight,img.tox-suggestededits__annotation--added__highlight,video.tox-suggestededits__annotation--added__highlight{outline:.25em solid rgba(120,171,70,.2);padding:.25em}iframe.tox-suggestededits__annotation--added__selected,img.tox-suggestededits__annotation--added__selected,video.tox-suggestededits__annotation--added__selected{border:.25em solid rgba(120,171,70,.2);outline:.125em solid #006ce7;padding:0}iframe.tox-suggestededits__annotation--modified__highlight,img.tox-suggestededits__annotation--modified__highlight,video.tox-suggestededits__annotation--modified__highlight{outline:.25em solid rgba(0,108,231,.2);padding:.25em}iframe.tox-suggestededits__annotation--modified__selected,img.tox-suggestededits__annotation--modified__selected,video.tox-suggestededits__annotation--modified__selected{border:.25em solid rgba(0,108,231,.2);outline:.125em solid #006ce7;padding:0}iframe.tox-suggestededits__annotation--removed__highlight,img.tox-suggestededits__annotation--removed__highlight,video.tox-suggestededits__annotation--removed__highlight{outline:.25em solid rgba(204,0,0,.2);padding:.25em}iframe.tox-suggestededits__annotation--removed__selected,img.tox-suggestededits__annotation--removed__selected,video.tox-suggestededits__annotation--removed__selected{border:.25em solid rgba(204,0,0,.2);outline:.125em solid #006ce7;padding:0}div.tox-suggestededits__annotation:has(> hr){padding:.25em}div.tox-suggestededits__annotation--removed__highlight>hr{border-color:rgba(0,0,0,.2)}div.tox-suggestededits__annotation--added__highlight>hr{border-color:rgba(0,0,0,.2)}.mce-pagebreak.tox-suggestededits__annotation--added__selected,.mce-pagebreak.tox-suggestededits__annotation--modified__selected,.mce-pagebreak.tox-suggestededits__annotation--removed__selected{border:1px dashed #aaa;box-shadow:none}.mce-pagebreak.tox-suggestededits__annotation--added__highlight,.mce-pagebreak.tox-suggestededits__annotation--modified__highlight,.mce-pagebreak.tox-suggestededits__annotation--removed__highlight{padding:0}.mce-toc{border:1px solid gray}.mce-toc h2{margin:4px}.mce-toc ul>li{list-style-type:none}[data-mce-block]{display:block}.mce-item-table:not([border]),.mce-item-table:not([border]) caption,.mce-item-table:not([border]) td,.mce-item-table:not([border]) th,.mce-item-table[border=\"0\"],.mce-item-table[border=\"0\"] caption,.mce-item-table[border=\"0\"] td,.mce-item-table[border=\"0\"] th,table[style*=\"border-width: 0px\"],table[style*=\"border-width: 0px\"] caption,table[style*=\"border-width: 0px\"] td,table[style*=\"border-width: 0px\"] th{border:1px dashed #bbb}.tox-uc-loading-background{width:100%;height:100%;background:rgba(255,255,255,.5)}.tox-uc-loading-spinner-wrapper{width:100%;height:100%;display:flex;justify-content:center;align-items:center}.tox-uc-loading-spinner{width:min(24px,30%);aspect-ratio:1;border-radius:50%;border:3px solid #006ce7;border-bottom-color:transparent;animation:tox-rotation 1s linear infinite}.tox-uc-video{display:block;position:relative;margin:16px 0 16px 0}.tox-uc-video:not([data-mce-selected]):after{content:\"\";position:absolute;top:0;left:0;width:100%;height:100%}.tox-uploadcare-placeholder{all:initial;display:inline-block;position:relative;width:min(100%,600px);height:80px;--tox-uploadcare-placeholder--content-cursor:auto!important;--tox-uploadcare-placeholder--content-color:rgba(34, 47, 62, 0.7);--tox-uploadcare-placeholder--content-background-color:#fff;--tox-uploadcare-placeholder--content-border:2px solid #e3e3e3;--tox-uploadcare-placeholder--content-font-family:monospace,sans-serif;--tox-uploadcare-placeholder--content-height:100%;--tox-uploadcare-placeholder--content-width:100%;--tox-uploadcare-placeholder--content-display:inline-flex;--tox-uploadcare-placeholder--content-align-items:center;--tox-uploadcare-placeholder--content-justify-content:center;--tox-uploadcare-placeholder--content-gap:8px;--tox-uploadcare-placeholder--icon-fill:rgba(34, 47, 62, 0.7);--tox-uploadcare-placeholder--icon-min-width:24px;--tox-uc-loading-spinner-wrapper-display-none:none;--tox-uc-loading-spinner-wrapper-display:flex;--tox-uc-loading-spinner-wrapper-position:absolute;--tox-uc-loading-spinner-wrapper-top:0;--tox-uc-loading-spinner-wrapper-left:0;--tox-uc-loading-spinner-wrapper-width:100%;--tox-uc-loading-spinner-wrapper-height:100%;--tox-uc-loading-spinner-wrapper-justify-content:center;--tox-uc-loading-spinner-wrapper-align-items:center;--tox-uc-loading-spinner-aspect-ratio:1/1;--tox-uc-loading-spinner-width:min(24px, 30%);--tox-uc-loading-spinner-border-radius:50%;--tox-uc-loading-spinner-border:3px solid #006ce7;--tox-uc-loading-spinner-border-bottom-color:transparent;--tox-uc-loading-spinner-animation:tox-rotation 1s linear infinite}@media print{tiny-uploadcare-placeholder{display:none!important}}.mce-visualblocks address,.mce-visualblocks article,.mce-visualblocks aside,.mce-visualblocks blockquote,.mce-visualblocks div:not([data-mce-bogus]),.mce-visualblocks dl,.mce-visualblocks figcaption,.mce-visualblocks figure,.mce-visualblocks h1,.mce-visualblocks h2,.mce-visualblocks h3,.mce-visualblocks h4,.mce-visualblocks h5,.mce-visualblocks h6,.mce-visualblocks hgroup,.mce-visualblocks ol,.mce-visualblocks p,.mce-visualblocks pre,.mce-visualblocks section,.mce-visualblocks ul{background-repeat:no-repeat;border:1px dashed #bbb;margin-left:3px;padding-top:10px}.mce-visualblocks p{background-image:url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7)}.mce-visualblocks h1{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==)}.mce-visualblocks h2{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==)}.mce-visualblocks h3{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7)}.mce-visualblocks h4{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==)}.mce-visualblocks h5{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==)}.mce-visualblocks h6{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==)}.mce-visualblocks div:not([data-mce-bogus]){background-image:url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7)}.mce-visualblocks section{background-image:url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=)}.mce-visualblocks article{background-image:url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7)}.mce-visualblocks blockquote{background-image:url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7)}.mce-visualblocks address{background-image:url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=)}.mce-visualblocks pre{background-image:url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==)}.mce-visualblocks figure{background-image:url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7)}.mce-visualblocks figcaption{border:1px dashed #bbb}.mce-visualblocks hgroup{background-image:url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7)}.mce-visualblocks aside{background-image:url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=)}.mce-visualblocks ul{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==)}.mce-visualblocks ol{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==)}.mce-visualblocks dl{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==)}.mce-visualblocks:not([dir=rtl]) address,.mce-visualblocks:not([dir=rtl]) article,.mce-visualblocks:not([dir=rtl]) aside,.mce-visualblocks:not([dir=rtl]) blockquote,.mce-visualblocks:not([dir=rtl]) div:not([data-mce-bogus]),.mce-visualblocks:not([dir=rtl]) dl,.mce-visualblocks:not([dir=rtl]) figcaption,.mce-visualblocks:not([dir=rtl]) figure,.mce-visualblocks:not([dir=rtl]) h1,.mce-visualblocks:not([dir=rtl]) h2,.mce-visualblocks:not([dir=rtl]) h3,.mce-visualblocks:not([dir=rtl]) h4,.mce-visualblocks:not([dir=rtl]) h5,.mce-visualblocks:not([dir=rtl]) h6,.mce-visualblocks:not([dir=rtl]) hgroup,.mce-visualblocks:not([dir=rtl]) ol,.mce-visualblocks:not([dir=rtl]) p,.mce-visualblocks:not([dir=rtl]) pre,.mce-visualblocks:not([dir=rtl]) section,.mce-visualblocks:not([dir=rtl]) ul{margin-left:3px}.mce-visualblocks[dir=rtl] address,.mce-visualblocks[dir=rtl] article,.mce-visualblocks[dir=rtl] aside,.mce-visualblocks[dir=rtl] blockquote,.mce-visualblocks[dir=rtl] div:not([data-mce-bogus]),.mce-visualblocks[dir=rtl] dl,.mce-visualblocks[dir=rtl] figcaption,.mce-visualblocks[dir=rtl] figure,.mce-visualblocks[dir=rtl] h1,.mce-visualblocks[dir=rtl] h2,.mce-visualblocks[dir=rtl] h3,.mce-visualblocks[dir=rtl] h4,.mce-visualblocks[dir=rtl] h5,.mce-visualblocks[dir=rtl] h6,.mce-visualblocks[dir=rtl] hgroup,.mce-visualblocks[dir=rtl] ol,.mce-visualblocks[dir=rtl] p,.mce-visualblocks[dir=rtl] pre,.mce-visualblocks[dir=rtl] section,.mce-visualblocks[dir=rtl] ul{background-position-x:right;margin-right:3px}.mce-nbsp,.mce-shy{background:#aaa}.mce-shy::after{content:'-'}[data-ephox-foam-a11y-violation]{outline:2px solid;position:relative}[data-ephox-foam-a11y-violation][data-ephox-foam-a11y-current-violation]{outline-width:4px;transition:outline-width .1s ease-in-out,background-color .1s ease-in-out;box-shadow:0 0 0 99999px #222f3e80;z-index:1}[data-ephox-foam-a11y-violation][data-ephox-foam-a11y-severity-info]{outline-color:#006ce7}[data-ephox-foam-a11y-violation][data-ephox-foam-a11y-severity-warn]{outline-color:#fc0}[data-ephox-foam-a11y-violation][data-ephox-foam-a11y-severity-error]{outline-color:#c00}[data-ephox-foam-a11y-violation][data-ephox-foam-a11y-current-violation=info]{outline-color:#006ce7;background-color:#e6f0fd}[data-ephox-foam-a11y-violation][data-ephox-foam-a11y-current-violation=warning]{outline-color:#fc0;background-color:#fffae6}[data-ephox-foam-a11y-violation][data-ephox-foam-a11y-current-violation=error]{outline-color:#c00;background-color:#fae6e6}[data-ephox-foam-a11y-violation][data-ephox-foam-a11y-current-violation]:is(td,th,tr){position:static}body{font-family:sans-serif}table{border-collapse:collapse}`)"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/skins/ui/tinymce-5/skin.js",
    "content": "tinymce.Resource.add('ui/tinymce-5/skin.css', `.tox{box-shadow:none;box-sizing:content-box;cursor:auto;font-style:normal;font-weight:400;line-height:normal;-webkit-tap-highlight-color:transparent;-webkit-text-decoration:none;text-decoration:none;text-shadow:none;text-transform:none;vertical-align:initial;white-space:normal}.tox :not(svg):not(rect){box-sizing:inherit;color:inherit;cursor:inherit;direction:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;line-height:inherit;-webkit-tap-highlight-color:inherit;text-align:inherit;text-decoration:inherit;text-shadow:inherit;text-transform:inherit;vertical-align:inherit;white-space:inherit}.tox :not(svg):not(rect){background:0 0;border:0;box-shadow:none;float:none;height:auto;margin:0;max-width:none;outline:0;padding:0;position:static;width:auto}.tox:not([dir=rtl]){direction:ltr;text-align:left}.tox[dir=rtl]{direction:rtl;text-align:right}.tox-tinymce :focus,.tox-tinymce-aux :focus{outline:0}button::-moz-focus-inner{border:0}@keyframes tox-rotation{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.tox{color:var(--tox-private-color-black,#222f3e);font-family:var(--tox-private-font-stack, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen-Sans, Ubuntu, Cantarell, \"Helvetica Neue\", sans-serif);font-size:var(--tox-private-font-size-base, 16px)}.tox-tinymce{border:1px solid #ccc;border-radius:0;box-shadow:none;box-sizing:border-box;display:flex;flex-direction:column;font-family:var(--tox-private-font-stack, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen-Sans, Ubuntu, Cantarell, \"Helvetica Neue\", sans-serif);overflow:hidden;position:relative;visibility:inherit!important}.tox.tox-tinymce-inline{border:none;box-shadow:none;overflow:initial}.tox.tox-tinymce-inline .tox-editor-container{overflow:initial}.tox.tox-tinymce-inline .tox-editor-header{background-color:#fff;border:1px solid #ccc;border-radius:0;box-shadow:none;overflow:hidden}.tox-tinymce-aux{font-family:var(--tox-private-font-stack, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen-Sans, Ubuntu, Cantarell, \"Helvetica Neue\", sans-serif);z-index:var(--tox-private-z-index-sink,1300)}.tox[dir=rtl] .tox-icon--flip svg{transform:rotateY(180deg)}.tox .tox-editor-container{display:flex;flex:1 1 auto;flex-direction:column;overflow:hidden}.tox .tox-editor-header{display:grid;grid-template-columns:1fr min-content;z-index:2}.tox:not(.tox-tinymce-inline) .tox-editor-header{background-color:#fff;border-bottom:none;box-shadow:none;padding:4px 0}.tox:not(.tox-tinymce-inline) .tox-editor-header:not(.tox-editor-dock-transition){transition:box-shadow .5s}.tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-bottom .tox-editor-header{border-top:1px solid #ccc;box-shadow:none}.tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-sticky-on .tox-editor-header{background-color:#fff;box-shadow:0 4px 4px -3px rgba(0,0,0,.25);padding:4px 0}.tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-sticky-on.tox-tinymce--toolbar-bottom .tox-editor-header{box-shadow:0 4px 4px -3px rgba(0,0,0,.25)}.tox.tox:not(.tox-tinymce-inline) .tox-editor-header.tox-editor-header--empty{background:0 0;border:none;box-shadow:none;padding:0}.tox-editor-dock-fadeout{opacity:0;visibility:hidden}.tox-editor-dock-fadein{opacity:1;visibility:visible}.tox-editor-dock-transition{transition:visibility 0s linear .25s,opacity .25s ease}.tox-editor-dock-transition.tox-editor-dock-fadein{transition-delay:0s}.tox .accessibility-issue__header{align-items:center;display:flex;margin-bottom:4px}.tox #accessibility-issue__subheader{font-size:16px;color:#222f3e}.tox .accessbility-sr-only{position:absolute;clip:rect(1px,1px,1px,1px);clip-path:inset(0 0 99.9% 99.9%);overflow:hidden;height:1px;width:1px;padding:0;border:0}.tox .accessibility-issue__description{align-items:stretch;border-radius:3px;justify-content:space-between}.tox .accessibility-issue__description>div{padding-bottom:4px}.tox .accessibility-issue__description>div>div{align-items:center;display:flex;margin-bottom:4px}.tox .accessibility-issue__description>div>div .tox-icon svg{display:block}.tox #accessibility-issue__contentID{margin-top:8px;margin-bottom:8px}.tox #accessibility-issue__contentID span:first-child{font-weight:700}.tox #accessibility-issue__document{padding-bottom:8px}.tox .accessibility-issue__repair{margin-top:8px}.tox .accessibility-issue__repair .tox-form__group .tox-form__group--error{color:#c00}.tox .tox-dialog__body-content .accessibility-issue--info .accessibility-issue__description{background-color:#e9f2f8;color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--info .tox-form__group h2{font-size:14px;color:#207ab7}.tox .tox-dialog__body-content .accessibility-issue--info .tox-icon.accessibility-issue__icon svg{fill:#207ab7}.tox .tox-dialog__body-content .accessibility-issue--info a.tox-button--naked.tox-button--icon{background-color:#207ab7;color:#fff}.tox .tox-dialog__body-content .accessibility-issue--info a.tox-button--naked.tox-button--icon:focus,.tox .tox-dialog__body-content .accessibility-issue--info a.tox-button--naked.tox-button--icon:hover{background-color:#1c6ca1}.tox .tox-dialog__body-content .accessibility-issue--info a.tox-button--naked.tox-button--icon:active{background-color:#185d8c}.tox .tox-dialog__body-content .accessibility-issue--warn .accessibility-issue__description{background-color:#fffae6;color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--warn .tox-form__group h2{font-size:14px;color:#7a6e25}.tox .tox-dialog__body-content .accessibility-issue--warn .tox-icon.accessibility-issue__icon svg{fill:#7a6e25}.tox .tox-dialog__body-content .accessibility-issue--warn a.tox-button--naked.tox-button--icon{background-color:#ffe89d;color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--warn a.tox-button--naked.tox-button--icon:focus,.tox .tox-dialog__body-content .accessibility-issue--warn a.tox-button--naked.tox-button--icon:hover{background-color:#f2d574;color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--warn a.tox-button--naked.tox-button--icon:active{background-color:#e8c657;color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--error .accessibility-issue__description{background-color:#fae6e6;color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--error .tox-form__group h2{font-size:14px;color:#c00}.tox .tox-dialog__body-content .accessibility-issue--error .tox-icon.accessibility-issue__icon svg{fill:#c00}.tox .tox-dialog__body-content .accessibility-issue--error a.tox-button--naked.tox-button--icon{background-color:#f2bfbf;color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--error a.tox-button--naked.tox-button--icon:focus,.tox .tox-dialog__body-content .accessibility-issue--error a.tox-button--naked.tox-button--icon:hover{background-color:#e9a4a4;color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--error a.tox-button--naked.tox-button--icon:active{background-color:#ee9494;color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--success .accessibility-issue__description{background-color:rgba(120,171,70,.1);color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--success .accessibility-issue__description>:last-child{display:none}.tox .tox-dialog__body-content .accessibility-issue--success .tox-form__group h2{color:#527530}.tox .tox-dialog__body-content .accessibility-issue--success .tox-icon.accessibility-issue__icon svg{fill:#527530}.tox .tox-dialog__body-content .accessibility-issue__header .tox-form__group h1,.tox .tox-dialog__body-content .tox-form__group .accessibility-issue__description h2{margin-top:0}.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__header .tox-button{margin-left:4px}.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__header>:nth-last-child(2){margin-left:auto}.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__description{padding:8px}.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__header .tox-button{margin-right:4px}.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__header>:nth-last-child(2){margin-right:auto}.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__description{padding:4px 8px 4px 4px}.tox .mce-codemirror{background:#fff;bottom:0;font-size:13px;left:0;position:absolute;right:0;top:0;z-index:1}.tox .mce-codemirror.tox-inline-codemirror{margin:8px;position:absolute}.tox .tox-advtemplate .tox-form__grid{flex:1}.tox .tox-advtemplate .tox-form__grid>div:first-child{display:flex;flex-direction:column;width:30%}.tox .tox-advtemplate .tox-form__grid>div:first-child>div:nth-child(2){flex-basis:0;flex-grow:1;overflow:auto}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox .tox-advtemplate .tox-form__grid>div:first-child{width:100%}}.tox .tox-advtemplate iframe{border-color:#ccc;border-radius:0;border-style:solid;border-width:1px;margin:0 10px}.tox .tox-anchorbar{display:flex;flex:0 0 auto}.tox .tox-bottom-anchorbar{display:flex;flex:0 0 auto}.tox .tox-bar{display:flex;flex:0 0 auto}.tox .tox-button{border-width:var(--tox-private-button-border-width,1px);border-style:var(--tox-private-button-border-style,solid);border-radius:var(--tox-private-control-border-radius,3px);font-family:var(--tox-private-font-stack, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen-Sans, Ubuntu, Cantarell, \"Helvetica Neue\", sans-serif);font-size:var(--tox-private-button-font-size, 14px);font-style:var(--tox-private-button-font-style,normal);font-weight:var(--tox-private-button-font-weight,bold);line-height:var(--tox-private-control-line-height, 24px);padding:var(--tox-private-button-padding-y,4px) var(--tox-private-button-padding-x,16px);text-align:center;-webkit-text-decoration:none;text-decoration:none;text-transform:none;letter-spacing:normal;box-shadow:none;box-sizing:border-box;cursor:pointer;outline:0;position:relative;white-space:nowrap;display:inline-flex;justify-content:center;align-items:center;gap:2px}.tox .tox-button::before{border-radius:var(--tox-private-control-border-radius,3px);bottom:calc(-1 * var(--tox-private-button-border-width,1px));box-shadow:var(--tox-private-button-focus-outline,inset 0 0 0 1px #fff,0 0 0 2px #207ab7);content:'';left:calc(-1 * var(--tox-private-button-border-width,1px));opacity:0;pointer-events:none;position:absolute;right:calc(-1 * var(--tox-private-button-border-width,1px));top:calc(-1 * var(--tox-private-button-border-width,1px))}.tox .tox-button:focus:not(:disabled){background-color:var(--tox-private-button-focus-background-color,#1c6ca1);background-image:none;border-color:var(--tox-private-button-focus-border-color,#1c6ca1);box-shadow:var(--tox-private-button-focus-box-shadow,none);color:var(--tox-private-button-focus-text-color,#fff)}.tox .tox-button:focus:not(:disabled)::before{opacity:1}.tox .tox-button.tox-button--icon,.tox .tox-button:has(.tox-icon:only-child){padding:4px}.tox .tox-button .tox-icon svg{display:block;fill:currentColor}.tox .tox-button .tox-icon.tox-icon--success svg{fill:var(--tox-private-color-success,#78AB46)}.tox .tox-button .tox-icon.tox-icon--error svg{fill:var(--tox-private-color-error,#c00)}.tox .tox-button--stretch{width:100%}.tox-context-form__group .tox-button--icon,.tox-context-form__group .tox-button.tox-button--icon{margin:3px 0 2px 0;padding:0}.tox .tox-button{background-color:var(--tox-private-button-primary-background-color,#207ab7);background-image:none;background-position:0 0;background-repeat:repeat;color:var(--tox-private-button-primary-text-color,#fff);border-color:var(--tox-private-button-primary-border-color,#207ab7)}.tox .tox-button[disabled]{background-color:var(--tox-private-button-primary-disabled-background-color,#207ab7);background-image:none;border-color:var(--tox-private-button-primary-disabled-border-color,#207ab7);color:var(--tox-private-button-primary-disabled-text-color,rgba(255,255,255,.5));cursor:not-allowed}.tox .tox-button:focus:not(:disabled){background-color:var(--tox-private-button-primary-focus-background-color,#1c6ca1);border-color:var(--tox-private-button-primary-focus-border-color,#1c6ca1);color:var(--tox-private-button-primary-focus-text-color,#fff);background-image:none;box-shadow:none}.tox .tox-button:hover:not(:disabled){background-color:var(--tox-private-button-primary-hover-background-color,#1c6ca1);border-color:var(--tox-private-button-primary-hover-border-color,#1c6ca1);color:var(--tox-private-button-primary-hover-text-color,#fff);background-image:none;box-shadow:none}.tox .tox-button:active:not(:disabled){background-color:var(--tox-private-button-primary-active-background-color,#185d8c);border-color:var(--tox-private-button-primary-active-border-color,#185d8c);color:var(--tox-private-button-primary-active-text-color,#fff);background-image:none;box-shadow:none}.tox .tox-button.tox-button--enabled{background-color:var(--tox-private-button-primary-enabled-background-color,#185d8c);border-color:var(--tox-private-button-primary-enabled-border-color,#185d8c);color:var(--tox-private-button-primary-enabled-text-color,#fff);background-image:none;box-shadow:none}.tox .tox-button.tox-button--enabled[disabled]{color:var(--tox-private-button-primary-disabled-text-color,rgba(255,255,255,.5));cursor:not-allowed}.tox .tox-button.tox-button--enabled:focus:not(:disabled){background-color:var(--tox-private-button-primary-enabled-focus-background-color,#154f76);border-color:var(--tox-private-button-primary-enabled-focus-border-color,#154f76);color:var(--tox-private-button-primary-enabled-focus-text-color,#fff);background-image:none;box-shadow:none}.tox .tox-button.tox-button--enabled:hover:not(:disabled){background-color:var(--tox-private-button-primary-enabled-hover-background-color,#154f76);border-color:var(--tox-private-button-primary-enabled-hover-border-color,#154f76);color:var(--tox-private-button-primary-enabled-hover-text-color,#fff);background-image:none;box-shadow:none}.tox .tox-button.tox-button--enabled:active:not(:disabled){background-color:var(--tox-private-button-primary-enabled-active-background-color,#114060);border-color:var(--tox-private-button-primary-enabled-active-border-color,#114060);color:var(--tox-private-button-primary-enabled-active-text-color,#fff);background-image:none;box-shadow:none}.tox .tox-button--secondary{background-color:var(--tox-private-button-secondary-background-color,#f0f0f0);border-color:var(--tox-private-button-secondary-border-color,#f0f0f0);color:var(--tox-private-button-secondary-text-color,#222f3e);border-style:solid;border-width:1px;background-image:none;background-position:0 0;background-repeat:repeat;border-radius:3px;box-shadow:none;font-size:14px;font-style:normal;font-weight:700;letter-spacing:normal;outline:0;padding:4px 16px;-webkit-text-decoration:none;text-decoration:none;text-transform:none}.tox .tox-button--secondary[disabled]{background-color:var(--tox-private-button-secondary-disabled-background-color,#f0f0f0);background-image:none;border-color:var(--tox-private-button-secondary-disabled-border-color,#f0f0f0);color:var(--tox-private-button-secondary-disabled-text-color,rgba(34,47,62,.5));cursor:not-allowed}.tox .tox-button--secondary:focus:not(:disabled){background-color:var(--tox-private-button-secondary-focus-background-color,#e3e3e3);border-color:var(--tox-private-button-secondary-focus-border-color,#e3e3e3);color:var(--tox-private-button-secondary-focus-text-color,#222f3e);background-image:none;box-shadow:none}.tox .tox-button--secondary:hover:not(:disabled){background-color:var(--tox-private-button-secondary-hover-background-color,#e3e3e3);border-color:var(--tox-private-button-secondary-hover-border-color,#e3e3e3);color:var(--tox-private-button-secondary-hover-text-color,#222f3e);background-image:none;box-shadow:none}.tox .tox-button--secondary:active:not(:disabled){background-color:var(--tox-private-button-secondary-active-background-color,#d6d6d6);border-color:var(--tox-private-button-secondary-active-border-color,#d6d6d6);color:var(--tox-private-button-secondary-active-text-color,#222f3e);background-image:none;box-shadow:none}.tox .tox-button--secondary.tox-button--enabled{background-color:var(--tox-private-button-secondary-enabled-background-color,#b1ccdf);border-color:var(--tox-private-button-secondary-enabled-border-color,#b1ccdf);color:var(--tox-private-button-secondary-enabled-text-color,#222f3e);background-image:none;box-shadow:none}.tox .tox-button--secondary.tox-button--enabled[disabled]{color:var(--tox-private-button-secondary-disabled-text-color,rgba(34,47,62,.5));cursor:not-allowed}.tox .tox-button--secondary.tox-button--enabled:focus:not(:disabled){background-color:var(--tox-private-button-secondary-enabled-focus-background-color,#9fc1d7);border-color:var(--tox-private-button-secondary-enabled-focus-border-color,#9fc1d7);color:var(--tox-private-button-secondary-enabled-focus-text-color,#222f3e);background-image:none;box-shadow:none}.tox .tox-button--secondary.tox-button--enabled:hover:not(:disabled){background-color:var(--tox-private-button-secondary-enabled-hover-background-color,#9fc1d7);border-color:var(--tox-private-button-secondary-enabled-hover-border-color,#9fc1d7);color:var(--tox-private-button-secondary-enabled-hover-text-color,#222f3e);background-image:none;box-shadow:none}.tox .tox-button--secondary.tox-button--enabled:active:not(:disabled){background-color:var(--tox-private-button-secondary-enabled-active-background-color,#8db5d0);border-color:var(--tox-private-button-secondary-enabled-active-border-color,#8db5d0);color:var(--tox-private-button-secondary-enabled-active-text-color,#222f3e);background-image:none;box-shadow:none}.tox .tox-button--naked{background-color:transparent;border-color:transparent;box-shadow:unset;color:var(--tox-private-button-naked-text-color,#222f3e)}.tox .tox-button--naked[disabled]{background-color:#f0f0f0;border-color:#f0f0f0;color:var(--tox-private-button-naked-disabled-text-color,rgba(34,47,62,.5));cursor:not-allowed}.tox .tox-button--naked:focus:not(:disabled){background-color:var(--tox-private-button-naked-focus-background-color,#e3e3e3);border-color:var(--tox-private-button-naked-focus-border-color,#e3e3e3);color:var(--tox-private-button-naked-focus-text-color,#222f3e);box-shadow:none}.tox .tox-button--naked:hover:not(:disabled){background-color:var(--tox-private-button-naked-hover-background-color,#e3e3e3);border-color:var(--tox-private-button-naked-hover-background-color,#e3e3e3);color:var(--tox-private-button-naked-hover-text-color,#222f3e);box-shadow:none}.tox .tox-button--naked:active:not(:disabled){background-color:var(--tox-private-button-naked-active-background-color,#d6d6d6);border-color:var(--tox-private-button-naked-active-border-color,#d6d6d6);color:var(--tox-private-button-naked-active-text-color,#222f3e);box-shadow:none}.tox .tox-button--secondary--outline{background-color:transparent;border-color:var(--tox-private-button-secondary-outline-border-color,#f0f0f0);color:var(--tox-private-button-secondary-outline-text-color,#222f3e)}.tox .tox-button--secondary--outline:focus:not(:disabled){background-color:var(--tox-private-button-secondary-outline-focus-background-color,#e3e3e3);border-color:var(--tox-private-button-secondary-outline-focus-border-color,#e3e3e3);color:var(--tox-private-button-secondary-outline-focus-text-color,#222f3e)}.tox .tox-button--secondary--outline:hover:not(:disabled){background-color:var(--tox-private-button-secondary-outline-hover-background-color,#f0f0f0);border-color:var(--tox-private-button-secondary-outline-hover-border-color,#e3e3e3);color:var(--tox-private-button-secondary-outline-hover-text-color,#222f3e)}.tox .tox-button--secondary--outline:active:not(:disabled){background-color:var(--tox-private-button-secondary-outline-active-background-color,#e3e3e3);border-color:var(--tox-private-button-secondary-outline-active-border-color,#e3e3e3);color:var(--tox-private-button-secondary-outline-active-text-color,#222f3e)}.tox .tox-button--secondary--outline[disabled]{background-color:var(--tox-private-button-secondary-outline-disabled-background-color,transparent);border-color:var(--tox-private-button-secondary-outline-disabled-border-color,#f0f0f0);color:var(--tox-private-button-secondary-outline-disabled-text-color,rgba(34,47,62,.5))}.tox .tox-checkbox{align-items:center;border-radius:var(--tox-private-checkbox-border-radius,3px);cursor:pointer;display:flex;height:var(--tox-private-control-height,36px);min-width:var(--tox-private-control-height,36px)}.tox .tox-checkbox__input{height:1px;overflow:hidden;position:absolute;top:auto;width:1px}.tox .tox-checkbox__icons{display:flex;align-items:center;justify-content:center;box-sizing:content-box;padding:var(--tox-private-pad-xs,calc(4px - 1px));border-radius:var(--tox-private-checkbox-border-radius,3px);box-shadow:0 0 0 2px transparent;height:var(--tox-private-control-line-height,24px);aspect-ratio:1}.tox .tox-checkbox__icons .tox-checkbox-icon__unchecked svg{display:block;fill:var(--tox-private-checkbox-unselected-color,rgba(34,47,62,0.3))}@media (forced-colors:active){.tox .tox-checkbox__icons .tox-checkbox-icon__unchecked svg{fill:currentColor!important}}.tox .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg{display:none;fill:var(--tox-private-checkbox-indeterminate-color,#207ab7)}.tox .tox-checkbox__icons .tox-checkbox-icon__checked svg{display:none;fill:var(--tox-private-checkbox-selected-color,#207ab7)}.tox .tox-checkbox--disabled{color:var(--tox-private-checkbox-disabled-text-color,rgba(34,47,62,.5));cursor:not-allowed}.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__checked svg{fill:var(--tox-private-checkbox-disabled-text-color,rgba(34,47,62,0.5))}.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__unchecked svg{fill:var(--tox-private-checkbox-disabled-text-color,rgba(34,47,62,0.5))}.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg{fill:var(--tox-private-checkbox-disabled-text-color,rgba(34,47,62,0.5))}.tox input.tox-checkbox__input:checked+.tox-checkbox__icons .tox-checkbox-icon__unchecked svg{display:none}.tox input.tox-checkbox__input:checked+.tox-checkbox__icons .tox-checkbox-icon__checked svg{display:block}.tox input.tox-checkbox__input:indeterminate+.tox-checkbox__icons .tox-checkbox-icon__unchecked svg{display:none}.tox input.tox-checkbox__input:indeterminate+.tox-checkbox__icons .tox-checkbox-icon__indeterminate svg{display:block}.tox input.tox-checkbox__input:focus+.tox-checkbox__icons{box-shadow:var(--tox-private-checkbox-focus-box-shadow,inset 0 0 0 1px #207ab7)}.tox:not([dir=rtl]) .tox-checkbox__label{margin-left:var(--tox-private-pad-xs,4px)}.tox:not([dir=rtl]) .tox-checkbox__input{left:-10000px}.tox:not([dir=rtl]) .tox-bar .tox-checkbox{margin-left:var(--tox-private-pad-xs,4px)}.tox[dir=rtl] .tox-checkbox__label{margin-right:var(--tox-private-pad-xs,4px)}.tox[dir=rtl] .tox-checkbox__input{right:-10000px}.tox[dir=rtl] .tox-bar .tox-checkbox{margin-right:var(--tox-private-pad-xs,4px)}.tox .tox-collection--toolbar .tox-collection__group{display:flex;padding:0}.tox .tox-collection--grid .tox-collection__group{display:flex;flex-wrap:wrap;max-height:208px;overflow-x:hidden;overflow-y:auto;padding:0}.tox .tox-collection--list .tox-collection__group{border-bottom-width:0;border-color:#ccc;border-left-width:0;border-right-width:0;border-style:solid;border-top-width:1px;padding:4px 0}.tox .tox-collection--list .tox-collection__group:first-child{border-top-width:0}.tox .tox-collection__group-heading{background-color:#e6e6e6;color:rgba(34,47,62,.7);cursor:default;font-size:12px;font-style:normal;font-weight:400;margin-bottom:4px;margin-top:-4px;padding:4px 8px;text-transform:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.tox .tox-collection__item{align-items:center;border-radius:3px;color:#222f3e;display:flex;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.tox .tox-image-selector-menu .tox-collection__item,.tox .tox-image-selector-menu .tox-collection__item-image-selector{flex-direction:column}.tox .tox-image-selector-menu .tox-collection__item .tox-collection__item-checkmark,.tox .tox-image-selector-menu .tox-collection__item .tox-collection__item-icon,.tox .tox-image-selector-menu .tox-collection__item .tox-collection__item-image,.tox .tox-image-selector-menu .tox-collection__item-image-selector .tox-collection__item-checkmark,.tox .tox-image-selector-menu .tox-collection__item-image-selector .tox-collection__item-icon,.tox .tox-image-selector-menu .tox-collection__item-image-selector .tox-collection__item-image{flex-grow:1}.tox .tox-image-selector-menu .tox-collection__item label,.tox .tox-image-selector-menu .tox-collection__item-image-selector label{width:48px;white-space:nowrap;overflow:hidden;font-size:12px;color:#222f3e;text-align:center;align-self:flex-end}.tox .tox-image-selector-menu .tox-collection__item-checkmark{height:24px;width:24px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.tox .tox-image-selector-menu .tox-collection__item-checkmark svg path{fill:#207ab7;stroke:#207ab7}.tox .tox-image-selector-menu .tox-image-selector__row .tox-collection__item-image-selector.tox-collection__item--active:not(.tox-collection__item--state-disabled){background-color:#fff}.tox .tox-image-selector-menu .tox-image-selector__row .tox-collection__item-image-selector.tox-collection__item--enabled:not(.tox-collection__item--state-disabled){z-index:2;background-color:#fff;opacity:.8;background-clip:content-box}.tox .tox-collection--list .tox-collection__item{padding:4px 8px}.tox .tox-collection--toolbar .tox-collection__item{border-radius:3px;padding:4px}.tox .tox-collection--grid .tox-collection__item{border-radius:3px;padding:4px}.tox .tox-collection--list .tox-collection__item--enabled:not(.tox-collection__item--state-disabled){background-color:#fff;color:#222f3e}.tox .tox-collection--list .tox-collection__item--active:not(.tox-collection__item--state-disabled){background-color:#dee0e2;color:#222f3e}@media (forced-colors:active){.tox .tox-collection--list .tox-collection__item--active:not(.tox-collection__item--state-disabled){border:solid 1px}}.tox .tox-collection--grid .tox-collection__item--enabled:not(.tox-collection__item--state-disabled){background-color:#c8cbcf;color:#222f3e}.tox .tox-collection--grid .tox-collection__item--active:not(.tox-collection__item--state-disabled){background-color:#dee0e2;color:#222f3e;position:relative;z-index:1}.tox .tox-collection--grid .tox-collection__item--active:not(.tox-collection__item--state-disabled):focus::after{border-radius:3px;bottom:0;box-shadow:0 0 0 0 transparent inset;content:'';left:0;position:absolute;right:0;top:0}@media (forced-colors:active){.tox .tox-collection--grid .tox-collection__item--active:not(.tox-collection__item--state-disabled):focus::after{border:2px solid highlight}}.tox .tox-collection--toolbar .tox-collection__item--enabled:not(.tox-collection__item--state-disabled){background-color:#c8cbcf;color:#222f3e}@media (forced-colors:active){.tox .tox-collection--toolbar .tox-collection__item--enabled:not(.tox-collection__item--state-disabled){border-radius:3px;outline:solid 1px}}.tox .tox-collection--toolbar .tox-collection__item--active:not(.tox-collection__item--state-disabled){color:#222f3e;background-color:#fff;position:relative}.tox .tox-collection--toolbar .tox-collection__item--active:not(.tox-collection__item--state-disabled):hover{background-color:#dee0e2;color:#222f3e}.tox .tox-collection--toolbar .tox-collection__item--active:not(.tox-collection__item--state-disabled):focus{background-color:#dee0e2;color:#222f3e}.tox .tox-collection--toolbar .tox-collection__item--active:not(.tox-collection__item--state-disabled):focus::after{border-radius:3px;bottom:0;box-shadow:0 0 0 0 transparent;content:'';left:0;position:absolute;right:0;top:0}@media (forced-colors:active){.tox .tox-collection--toolbar .tox-collection__item--active:not(.tox-collection__item--state-disabled):focus::after{border:2px solid highlight}}@media (forced-colors:active){.tox .tox-collection--toolbar .tox-collection__item--active:not(.tox-collection__item--state-disabled):hover{border-radius:3px;outline:solid 1px}}.tox .tox-collection__item-image{border:1px solid #ccc;border-radius:3px;display:flex;flex-direction:column;justify-content:center;margin-bottom:4px;position:relative}.tox .tox-collection__item-checkmark,.tox .tox-collection__item-icon{align-items:center;display:flex;height:24px;justify-content:center;width:24px}.tox .tox-collection__item-checkmark svg,.tox .tox-collection__item-icon svg{fill:currentColor}.tox .tox-collection--toolbar-lg .tox-collection__item-icon{height:48px;width:48px}.tox .tox-collection__item-label{color:currentColor;display:inline-block;flex:1;font-size:14px;font-style:normal;font-weight:400;line-height:24px;max-width:100%;text-transform:none;word-break:break-all}.tox .tox-collection__item-accessory{color:currentColor;display:inline-block;font-size:14px;height:24px;line-height:24px;text-transform:none}.tox .tox-collection__item-caret{align-items:center;display:flex;min-height:24px}.tox .tox-collection__item-caret::after{content:'';font-size:0;min-height:inherit}.tox .tox-collection__item-caret svg{fill:currentColor}.tox .tox-collection__item--state-disabled{background-color:transparent;color:rgba(34,47,62,.5);cursor:not-allowed}.tox .tox-collection__item--state-disabled .tox-collection__item-caret svg{fill:rgba(34,47,62,0.5)}.tox .tox-collection--list .tox-collection__item:not(.tox-collection__item--enabled) .tox-collection__item-checkmark svg{display:none}.tox .tox-collection--list .tox-collection__item:not(.tox-collection__item--enabled) .tox-collection__item-accessory+.tox-collection__item-checkmark{display:none}.tox .tox-collection--horizontal{background-color:#fff;border:1px solid #ccc;border-radius:3px;box-shadow:0 0 2px 0 rgba(34,47,62,.2),0 4px 8px 0 rgba(34,47,62,.15);display:flex;flex:0 0 auto;flex-shrink:0;flex-wrap:nowrap;margin-bottom:0;overflow-x:auto;padding:0}.tox .tox-collection--horizontal .tox-collection__group{align-items:center;display:flex;flex-wrap:nowrap;margin:0;padding:0 4px}.tox .tox-collection--horizontal .tox-collection__item{height:34px;margin:3px 0 2px 0;padding:0 4px}.tox .tox-collection--horizontal .tox-collection__item-label{white-space:nowrap}.tox .tox-collection--horizontal .tox-collection__item-caret{margin-left:4px}.tox .tox-collection__item-container{display:flex}.tox .tox-collection__item-container--row{align-items:center;flex:1 1 auto;flex-direction:row}.tox .tox-collection__item-container--row.tox-collection__item-container--align-left{margin-right:auto}.tox .tox-collection__item-container--row.tox-collection__item-container--align-right{justify-content:flex-end;margin-left:auto}.tox .tox-collection__item-container--row.tox-collection__item-container--valign-top{align-items:flex-start;margin-bottom:auto}.tox .tox-collection__item-container--row.tox-collection__item-container--valign-middle{align-items:center}.tox .tox-collection__item-container--row.tox-collection__item-container--valign-bottom{align-items:flex-end;margin-top:auto}.tox .tox-collection__item-container--column{align-self:center;flex:1 1 auto;flex-direction:column}.tox .tox-collection__item-container--column.tox-collection__item-container--align-left{align-items:flex-start}.tox .tox-collection__item-container--column.tox-collection__item-container--align-right{align-items:flex-end}.tox .tox-collection__item-container--column.tox-collection__item-container--valign-top{align-self:flex-start}.tox .tox-collection__item-container--column.tox-collection__item-container--valign-middle{align-self:center}.tox .tox-collection__item-container--column.tox-collection__item-container--valign-bottom{align-self:flex-end}.tox:not([dir=rtl]) .tox-collection--horizontal .tox-collection__group:not(:last-of-type){border-right:1px solid #ccc}.tox:not([dir=rtl]) .tox-collection--list .tox-collection__item>:not(:first-child){margin-left:8px}.tox:not([dir=rtl]) .tox-collection--list .tox-collection__item>.tox-collection__item-label:first-child{margin-left:4px}.tox:not([dir=rtl]) .tox-collection__item-accessory{margin-left:16px;text-align:right}.tox:not([dir=rtl]) .tox-collection .tox-collection__item-caret{margin-left:16px}.tox[dir=rtl] .tox-collection--horizontal .tox-collection__group:not(:last-of-type){border-left:1px solid #ccc}.tox[dir=rtl] .tox-collection--list .tox-collection__item>:not(:first-child){margin-right:8px}.tox[dir=rtl] .tox-collection--list .tox-collection__item>.tox-collection__item-label:first-child{margin-right:4px}.tox[dir=rtl] .tox-collection__item-accessory{margin-right:16px;text-align:left}.tox[dir=rtl] .tox-collection .tox-collection__item-caret{margin-right:16px;transform:rotateY(180deg)}.tox[dir=rtl] .tox-collection--horizontal .tox-collection__item-caret{margin-right:4px}@media (forced-colors:active){.tox .tox-hue-slider,.tox .tox-rgb-form .tox-rgba-preview{background-color:currentColor!important;border:1px solid highlight!important;forced-color-adjust:none}}.tox .tox-color-picker-container{display:flex;flex-direction:row;height:225px;margin:0}.tox .tox-sv-palette{box-sizing:border-box;display:flex;height:100%}.tox .tox-sv-palette-spectrum{height:100%}.tox .tox-sv-palette,.tox .tox-sv-palette-spectrum{width:225px}.tox .tox-sv-palette-thumb{background:0 0;border:1px solid #000;border-radius:50%;box-sizing:content-box;height:12px;position:absolute;width:12px}.tox .tox-sv-palette-inner-thumb{border:1px solid #fff;border-radius:50%;height:10px;position:absolute;width:10px}.tox .tox-hue-slider{box-sizing:border-box;height:100%;width:25px}.tox .tox-hue-slider-spectrum{background:linear-gradient(to bottom,red,#ff0080,#f0f,#8000ff,#00f,#0080ff,#0ff,#00ff80,#0f0,#80ff00,#ff0,#ff8000,red);height:100%;width:100%}.tox .tox-hue-slider,.tox .tox-hue-slider-spectrum{width:20px}.tox .tox-hue-slider-spectrum:focus,.tox .tox-sv-palette-spectrum:focus{outline:#08f solid}.tox .tox-hue-slider-thumb{background:#fff;border:1px solid #000;box-sizing:content-box;height:4px;width:100%}.tox .tox-rgb-form{display:flex;flex-direction:column;justify-content:space-between}.tox .tox-rgb-form div{align-items:center;display:flex;justify-content:space-between;margin-bottom:5px;width:inherit}.tox .tox-rgb-form input{min-width:6em}.tox .tox-rgb-form input.tox-invalid{border:1px solid red!important;box-shadow:0 0 0 1px red}.tox .tox-rgb-container{position:relative}.tox .tox-rgb-form .tox-invalid-icon{align-content:center;align-items:center;display:none;height:100%;position:absolute;right:0;top:0}.tox .tox-rgb-form .tox-invalid-icon .tox-control-wrap__status-icon-invalid{margin:0}.tox .tox-rgb-warning-note{background-color:#f5cccc;border:1px solid #f0b3b3;border-radius:3px;color:#77181f;padding:3px}.tox input.tox-invalid+.tox-invalid-icon{display:flex}.tox .tox-rgb-form .tox-rgba-preview{border:1px solid #000;flex-grow:2;margin-bottom:0}.tox:not([dir=rtl]) .tox-sv-palette{margin-right:15px}.tox:not([dir=rtl]) .tox-hue-slider{margin-right:15px}.tox:not([dir=rtl]) .tox-hue-slider-thumb{margin-left:-1px}.tox:not([dir=rtl]) .tox-rgb-form label{margin-right:.5em}.tox[dir=rtl] .tox-sv-palette{margin-left:15px}.tox[dir=rtl] .tox-hue-slider{margin-left:15px}.tox[dir=rtl] .tox-hue-slider-thumb{margin-right:-1px}.tox[dir=rtl] .tox-rgb-form label{margin-left:.5em}.tox .tox-toolbar .tox-swatches,.tox .tox-toolbar__overflow .tox-swatches,.tox .tox-toolbar__primary .tox-swatches{margin:2px 0 3px 4px}.tox .tox-collection--list .tox-collection__group .tox-swatches-menu{border:0;margin:-4px 0}.tox .tox-swatches__row{display:flex}@media (forced-colors:active){.tox .tox-swatches__row{forced-color-adjust:none}}.tox .tox-swatch{height:30px;transition:transform .15s,box-shadow .15s;width:30px}.tox .tox-swatch:focus,.tox .tox-swatch:hover{box-shadow:0 0 0 1px rgba(127,127,127,.3) inset;transform:scale(.8)}.tox .tox-swatch--remove{align-items:center;display:flex;justify-content:center}.tox .tox-swatch--remove svg path{stroke:#e74c3c}.tox .tox-swatches__picker-btn{align-items:center;background-color:transparent;border:0;cursor:pointer;display:flex;height:30px;justify-content:center;outline:0;padding:0;width:30px}.tox .tox-swatches__picker-btn svg{fill:#222f3e;height:24px;width:24px}.tox .tox-swatches__picker-btn:hover{background:#dee0e2}.tox div.tox-swatch:not(.tox-swatch--remove) svg{display:none;fill:#222f3e;height:24px;margin:calc((30px - 24px)/ 2) calc((30px - 24px)/ 2);width:24px}.tox div.tox-swatch:not(.tox-swatch--remove) svg path{fill:#fff;paint-order:stroke;stroke:#222f3e;stroke-width:2px}.tox div.tox-swatch:not(.tox-swatch--remove).tox-collection__item--enabled svg{display:block}.tox:not([dir=rtl]) .tox-swatches__picker-btn{margin-left:auto}.tox[dir=rtl] .tox-swatches__picker-btn{margin-right:auto}.tox .tox-comment{background:#fff;border:1px solid #fff;border-radius:3px;padding:8px;padding-bottom:16px;position:relative}.tox .tox-comment:hover{box-shadow:0 4px 8px 0 rgba(34,47,62,.1)}.tox .tox-comment.tox-comment--selected{background-color:#fff2c9;border:1px solid #ffcf30;box-shadow:0 4px 8px 0 rgba(34,47,62,.1)}.tox .tox-comment.tox-comment--selected:focus{border:2px solid transparent;margin:-1px}.tox .tox-comment.tox-comment--selected:focus:not(:first-child){margin-top:7px}.tox .tox-comment.tox-comment--selected .tox-comment__single{margin-bottom:12px}.tox .tox-comment.tox-comment--selected .tox-comment__single:focus{position:relative}.tox .tox-comment.tox-comment--selected .tox-comment__single:focus::after{top:-9px;pointer-events:none;position:absolute;content:\"\";display:block;bottom:-9px;left:-9px;right:-9px;border-radius:3px;border:2px solid transparent}.tox .tox-comment.tox-comment--selected .tox-comment__single:focus:last-of-type:has(textarea):after{bottom:calc((12px + 16px + 1px) * -1)}.tox .tox-comment__header{align-items:center;color:#222f3e;display:flex;justify-content:space-between}.tox .tox-comment__date{color:#222f3e;font-size:12px;line-height:18px}.tox .tox-comment__body{color:#222f3e;font-size:16px;font-style:normal;font-weight:400;line-height:1.3;margin-top:8px;position:relative;text-transform:initial;transition:max-height .5s cubic-bezier(0, 1, 0, 1);white-space:pre-wrap}.tox .tox-comment__body.tox-comment__body--expanded{max-height:100em;transition:max-height 1s ease-in-out}.tox .tox-comment__body.tox-comment__body--pending{transition:max-height 0s}.tox .tox-comment__body p{margin:0}.tox .tox-comment__body textarea{resize:none;white-space:normal;width:100%;font-size:16px}.tox .tox-comment__loading-text{align-items:center;color:#222f3e;display:flex;flex-direction:column;position:relative}.tox .tox-comment__loading-text>div{padding-bottom:16px}.tox .tox-comment__overlaytext{bottom:0;flex-direction:column;font-size:14px;left:0;padding:1em;position:absolute;right:0;top:0;z-index:10}.tox .tox-comment__overlaytext p{background-color:#fff;box-shadow:0 0 8px 8px #fff;color:#222f3e;text-align:center}.tox .tox-comment__overlaytext div:nth-of-type(2){font-size:.8em}.tox .tox-comment__expander{padding-top:8px}.tox .tox-comment__expander p{color:rgba(34,47,62,.7);font-size:14px;font-style:normal}.tox .tox-comment__expander p:focus{font-weight:700}.tox .tox-comment__buttonspacing{padding-top:16px;text-align:center}.tox .tox-tbtn.tox-comment__mention-btn{display:flex;width:34px;height:34px;padding:5px;justify-content:center;align-items:center;margin:0;background-color:transparent}.tox .tox-comment-thread{background:#fff;position:relative;border-radius:3px;background-color:transparent}.tox .tox-comment-thread>:not(:first-child){margin-top:8px}.tox .tox-comment-thread__overlay::after{background:#fff;bottom:0;content:\"\";display:flex;left:0;opacity:.9;position:absolute;right:0;top:0;z-index:5}.tox .tox-comment__reply{display:flex;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end;margin-top:8px}.tox .tox-comment__reply>:first-child{margin-bottom:8px;width:100%}.tox .tox-comment__edit{display:flex;flex-wrap:wrap;justify-content:flex-end;margin-top:8px}.tox .tox-comment__gradient::after{background:linear-gradient(rgba(255,255,255,0),#fff);bottom:0;content:\"\";display:block;height:5em;margin-top:-40px;position:absolute;width:100%}.tox .tox-comment__overlay{background:#fff;bottom:0;display:flex;flex-direction:column;flex-grow:1;left:0;opacity:.9;position:absolute;right:0;text-align:center;top:0;z-index:5}.tox .tox-comment__busy-spinner{align-items:center;background-color:#fff;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:20}.tox .tox-comment__scroll{display:flex;flex-direction:column;flex-shrink:1;overflow:auto;padding:12px;scroll-behavior:smooth}.tox .tox-comment__scroll:has(textarea:focus){scroll-behavior:auto}.tox .tox-comment--disappearing{transition:opacity .5s ease}.tox .tox-comment[data-transitioning-destination=deleting]{opacity:0}.tox .tox-ring-loader{width:10px;height:10px;border:1px solid #fff;border-bottom-color:transparent;border-radius:50%;display:inline-block;box-sizing:border-box;animation:tox-rotation 1s linear infinite}.tox:not([dir=rtl]) .tox-comment__edit{margin-left:8px}.tox:not([dir=rtl]) .tox-comment__buttonspacing>:last-child,.tox:not([dir=rtl]) .tox-comment__edit>:last-child,.tox:not([dir=rtl]) .tox-comment__reply>:last-child{margin-left:8px}.tox[dir=rtl] .tox-comment__edit{margin-right:8px}.tox[dir=rtl] .tox-comment__buttonspacing>:last-child,.tox[dir=rtl] .tox-comment__edit>:last-child,.tox[dir=rtl] .tox-comment__reply>:last-child{margin-right:8px}.tox .tox-user{align-items:center;display:flex}.tox .tox-user__avatar svg{fill:rgba(34,47,62,0.7)}.tox .tox-user__avatar img{border-radius:50%;height:36px;object-fit:cover;vertical-align:middle;width:36px}.tox .tox-user__name{color:#222f3e;font-size:14px;font-style:normal;font-weight:700;line-height:18px;text-transform:none}.tox:not([dir=rtl]) .tox-user__avatar img,.tox:not([dir=rtl]) .tox-user__avatar svg{margin-right:8px}.tox:not([dir=rtl]) .tox-user__avatar+.tox-user__name{margin-left:8px}.tox[dir=rtl] .tox-user__avatar img,.tox[dir=rtl] .tox-user__avatar svg{margin-left:8px}.tox[dir=rtl] .tox-user__avatar+.tox-user__name{margin-right:8px}.tox .tox-dialog-wrap{align-items:center;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1100}.tox .tox-dialog-wrap__backdrop{background-color:rgba(255,255,255,.75);bottom:0;left:0;position:absolute;right:0;top:0;z-index:1}.tox .tox-dialog-wrap__backdrop--opaque{background-color:#fff}.tox .tox-dialog{background-color:#fff;border-color:#ccc;border-radius:3px;border-style:solid;border-width:1px;box-shadow:0 16px 16px -10px rgba(34,47,62,.15),0 0 40px 1px rgba(34,47,62,.15);display:flex;flex-direction:column;max-height:100%;max-width:480px;overflow:hidden;position:relative;width:95vw;z-index:2}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox .tox-dialog{align-self:flex-start;margin:8px auto;max-height:calc(100vh - 8px * 2);width:calc(100vw - 16px)}}.tox .tox-dialog-inline{z-index:1100}.tox .tox-dialog__header{align-items:center;background-color:#fff;border-bottom:none;color:#222f3e;display:flex;font-size:16px;justify-content:space-between;padding:8px 16px 0 16px;position:relative}.tox .tox-dialog__header .tox-button{z-index:1}.tox .tox-dialog__draghandle{cursor:grab;height:100%;left:0;position:absolute;top:0;width:100%}.tox .tox-dialog__draghandle:active{cursor:grabbing}.tox .tox-dialog__dismiss{margin-left:auto}.tox .tox-dialog__title{font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif;font-size:20px;font-style:normal;font-weight:400;line-height:1.3;margin:0;text-transform:none}.tox .tox-dialog__body{color:#222f3e;display:flex;flex:1;font-size:16px;font-style:normal;font-weight:400;line-height:1.3;min-width:0;text-align:left;text-transform:none}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox .tox-dialog__body{flex-direction:column}}.tox .tox-dialog__body-nav{align-items:flex-start;display:flex;flex-direction:column;flex-shrink:0;padding:16px 16px}@media only screen and (min-width:768px){.tox .tox-dialog__body-nav{max-width:11em}}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox .tox-dialog__body-nav{flex-direction:row;-webkit-overflow-scrolling:touch;overflow-x:auto;padding-bottom:0}}.tox .tox-dialog__body-nav-item{border-bottom:2px solid transparent;color:rgba(34,47,62,.7);display:inline-block;flex-shrink:0;font-size:14px;line-height:1.3;margin-bottom:8px;max-width:13em;-webkit-text-decoration:none;text-decoration:none}.tox .tox-dialog__body-nav-item:focus{background-color:rgba(32,122,183,.1)}.tox .tox-dialog__body-nav-item--active{border-bottom:2px solid #214d6e;color:#214d6e}@media (forced-colors:active){.tox .tox-dialog__body-nav-item--active{border-bottom:2px solid highlight;color:highlight}}.tox .tox-dialog__body-content{box-sizing:border-box;display:flex;flex:1;flex-direction:column;max-height:min(650px,calc(100vh - 110px));overflow:auto;-webkit-overflow-scrolling:touch;padding:16px 16px}.tox .tox-dialog__body-content>*{margin-bottom:0;margin-top:16px}.tox .tox-dialog__body-content>:first-child{margin-top:0}.tox .tox-dialog__body-content>:last-child{margin-bottom:0}.tox .tox-dialog__body-content>:only-child{margin-bottom:0;margin-top:0}.tox .tox-dialog__body-content a{color:#214d6e;cursor:pointer;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-dialog__body-content a:focus,.tox .tox-dialog__body-content a:hover{color:#0a1620;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-dialog__body-content a:focus-visible{border-radius:1px;outline:2px solid #214d6e;outline-offset:2px}.tox .tox-dialog__body-content a:active{color:#000;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-dialog__body-content svg{fill:#222f3e}.tox .tox-dialog__body-content strong{font-weight:700}.tox .tox-dialog__body-content ul{list-style-type:disc}.tox .tox-dialog__body-content dd,.tox .tox-dialog__body-content ol,.tox .tox-dialog__body-content ul{padding-inline-start:2.5rem}.tox .tox-dialog__body-content dl,.tox .tox-dialog__body-content ol,.tox .tox-dialog__body-content ul{margin-bottom:16px}.tox .tox-dialog__body-content dd,.tox .tox-dialog__body-content dl,.tox .tox-dialog__body-content dt,.tox .tox-dialog__body-content ol,.tox .tox-dialog__body-content ul{display:block;margin-inline-end:0;margin-inline-start:0}.tox .tox-dialog__body-content .tox-form__group h1{color:#222f3e;font-size:20px;font-style:normal;font-weight:700;letter-spacing:normal;margin-bottom:16px;margin-top:2rem;text-transform:none}.tox .tox-dialog__body-content .tox-form__group h2{color:#222f3e;font-size:16px;font-style:normal;font-weight:700;letter-spacing:normal;margin-bottom:16px;margin-top:2rem;text-transform:none}.tox .tox-dialog__body-content .tox-form__group p{margin-bottom:16px}.tox .tox-dialog__body-content .tox-form__group h1:first-child,.tox .tox-dialog__body-content .tox-form__group h2:first-child,.tox .tox-dialog__body-content .tox-form__group p:first-child{margin-top:0}.tox .tox-dialog__body-content .tox-form__group h1:last-child,.tox .tox-dialog__body-content .tox-form__group h2:last-child,.tox .tox-dialog__body-content .tox-form__group p:last-child{margin-bottom:0}.tox .tox-dialog__body-content .tox-form__group h1:only-child,.tox .tox-dialog__body-content .tox-form__group h2:only-child,.tox .tox-dialog__body-content .tox-form__group p:only-child{margin-bottom:0;margin-top:0}.tox .tox-dialog__body-content .tox-form__group .tox-label.tox-label--center{text-align:center}.tox .tox-dialog__body-content .tox-form__group .tox-label.tox-label--end{text-align:end}.tox .tox-dialog--width-lg{height:650px;max-width:1200px}.tox .tox-dialog--fullscreen{height:100%;max-width:100%}.tox .tox-dialog--fullscreen .tox-dialog__body-content{max-height:100%}.tox .tox-dialog--width-md{max-width:800px}.tox .tox-dialog--width-md .tox-dialog__body-content{overflow:auto}.tox .tox-dialog__body-content--centered{text-align:center}.tox .tox-dialog__footer{align-items:center;background-color:#fff;border-top:1px solid #ccc;display:flex;justify-content:space-between;padding:8px 16px}.tox .tox-dialog__footer-end,.tox .tox-dialog__footer-start{display:flex}.tox .tox-dialog__busy-spinner{align-items:center;background-color:rgba(255,255,255,.75);bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:3}.tox .tox-dialog__table{border-collapse:collapse;width:100%}.tox .tox-dialog__table thead th{font-weight:700;padding-bottom:8px}.tox .tox-dialog__table thead th:first-child{padding-right:8px}.tox .tox-dialog__table tbody tr{border-bottom:1px solid #404040}.tox .tox-dialog__table tbody tr:last-child{border-bottom:none}.tox .tox-dialog__table td{padding-bottom:8px;padding-top:8px}.tox .tox-dialog__table td:first-child{padding-right:8px}.tox .tox-dialog__iframe{min-height:200px}.tox .tox-dialog__iframe.tox-dialog__iframe--opaque{background:#fff}.tox .tox-navobj-bordered{position:relative}.tox .tox-navobj-bordered::before{border:1px solid #ccc;border-radius:3px;content:'';inset:0;opacity:1;pointer-events:none;position:absolute;z-index:1}.tox .tox-navobj-bordered iframe{border-radius:3px}.tox .tox-navobj-bordered-focus.tox-navobj-bordered::before{border-color:#207ab7;box-shadow:none;outline:2px solid rgba(32,122,183,.25)}.tox .tox-dialog__popups{position:absolute;width:100%;z-index:1100}.tox .tox-dialog__body-iframe{display:flex;flex:1;flex-direction:column}.tox .tox-dialog__body-iframe .tox-navobj{display:flex;flex:1}.tox .tox-dialog__body-iframe .tox-navobj :nth-child(2){flex:1;height:100%}.tox .tox-dialog-dock-fadeout{opacity:0;visibility:hidden}.tox .tox-dialog-dock-fadein{opacity:1;visibility:visible}.tox .tox-dialog-dock-transition{transition:visibility 0s linear .3s,opacity .3s ease}.tox .tox-dialog-dock-transition.tox-dialog-dock-fadein{transition-delay:0s}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox:not([dir=rtl]) .tox-dialog__body-nav{margin-right:0}}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox:not([dir=rtl]) .tox-dialog__body-nav-item:not(:first-child){margin-left:8px}}.tox:not([dir=rtl]) .tox-dialog__footer .tox-dialog__footer-end>*,.tox:not([dir=rtl]) .tox-dialog__footer .tox-dialog__footer-start>*{margin-left:8px}.tox[dir=rtl] .tox-dialog__body{text-align:right}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox[dir=rtl] .tox-dialog__body-nav{margin-left:0}}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox[dir=rtl] .tox-dialog__body-nav-item:not(:first-child){margin-right:8px}}.tox[dir=rtl] .tox-dialog__footer .tox-dialog__footer-end>*,.tox[dir=rtl] .tox-dialog__footer .tox-dialog__footer-start>*{margin-right:8px}body.tox-dialog__disable-scroll{overflow:hidden}.tox .tox-dropzone-container{display:flex;flex:1}.tox .tox-dropzone{align-items:center;background:#fff;border:2px dashed #ccc;box-sizing:border-box;display:flex;flex-direction:column;flex-grow:1;justify-content:center;min-height:100px;padding:10px}.tox .tox-dropzone p{color:rgba(34,47,62,.7);margin:0 0 16px 0}.tox .tox-edit-area{display:flex;flex:1;overflow:hidden;position:relative}.tox .tox-edit-area::before{border:0 solid transparent;border-radius:4px;content:'';inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity .15s;z-index:1}@media (forced-colors:active){.tox .tox-edit-area::before{border:0 solid highlight}}.tox .tox-edit-area__iframe{background-color:#fff;border:0;box-sizing:border-box;flex:1;height:100%;position:absolute;width:100%}.tox.tox-edit-focus .tox-edit-area::before{opacity:1}.tox.tox-inline-edit-area{border:1px dotted #ccc}.tox .tox-control-wrap{flex:1;position:relative}.tox .tox-control-wrap:not(.tox-control-wrap--status-invalid) .tox-control-wrap__status-icon-invalid,.tox .tox-control-wrap:not(.tox-control-wrap--status-unknown) .tox-control-wrap__status-icon-unknown,.tox .tox-control-wrap:not(.tox-control-wrap--status-valid) .tox-control-wrap__status-icon-valid{display:none}.tox .tox-control-wrap svg{display:block}.tox .tox-control-wrap__status-icon-wrap{position:absolute;top:50%;transform:translateY(-50%)}.tox .tox-control-wrap__status-icon-invalid svg{fill:#c00}.tox .tox-control-wrap__status-icon-unknown svg{fill:orange}.tox .tox-control-wrap__status-icon-valid svg{fill:green}.tox:not([dir=rtl]) .tox-control-wrap--status-invalid .tox-textfield,.tox:not([dir=rtl]) .tox-control-wrap--status-unknown .tox-textfield,.tox:not([dir=rtl]) .tox-control-wrap--status-valid .tox-textfield{padding-right:32px}.tox:not([dir=rtl]) .tox-control-wrap__status-icon-wrap{right:4px}.tox[dir=rtl] .tox-control-wrap--status-invalid .tox-textfield,.tox[dir=rtl] .tox-control-wrap--status-unknown .tox-textfield,.tox[dir=rtl] .tox-control-wrap--status-valid .tox-textfield{padding-left:32px}.tox[dir=rtl] .tox-control-wrap__status-icon-wrap{left:4px}.tox .tox-custom-preview{border-color:#ccc;border-radius:3px;border-style:solid;border-width:1px;flex:1;padding:8px}.tox .tox-autocompleter{max-width:25em}.tox .tox-autocompleter .tox-menu{box-sizing:border-box;max-width:25em}.tox .tox-autocompleter .tox-autocompleter-highlight{font-weight:700}.tox .tox-color-input{display:flex;position:relative;z-index:1}.tox .tox-color-input .tox-textfield{z-index:-1}.tox .tox-color-input span{border-color:rgba(34 47 3.1%);border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;height:24px;position:absolute;top:6px;width:24px}@media (forced-colors:active){.tox .tox-color-input span{border-color:currentColor;border-width:2px!important;forced-color-adjust:none}}.tox .tox-color-input span:focus:not([aria-disabled=true]),.tox .tox-color-input span:hover:not([aria-disabled=true]){border-color:#207ab7;cursor:pointer}.tox .tox-color-input span::before{background-image:linear-gradient(45deg,rgba(0,0,0,.25) 25%,transparent 25%),linear-gradient(-45deg,rgba(0,0,0,.25) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(0,0,0,.25) 75%),linear-gradient(-45deg,transparent 75%,rgba(0,0,0,.25) 75%);background-position:0 0,0 6px,6px -6px,-6px 0;background-size:12px 12px;border:1px solid #fff;border-radius:3px;box-sizing:border-box;content:'';height:24px;left:-1px;position:absolute;top:-1px;width:24px;z-index:-1}@media (forced-colors:active){.tox .tox-color-input span::before{border:none}}.tox .tox-color-input span[aria-disabled=true]{cursor:not-allowed}.tox:not([dir=rtl]) .tox-color-input .tox-textfield{padding-left:36px}.tox:not([dir=rtl]) .tox-color-input span{left:6px}.tox[dir=rtl] .tox-color-input .tox-textfield{padding-right:36px}.tox[dir=rtl] .tox-color-input span{right:6px}.tox .tox-label,.tox .tox-toolbar-label{color:rgba(34,47,62,.7);display:block;font-size:14px;font-style:normal;font-weight:400;line-height:1.3;padding:0 8px 0 0;text-transform:none;white-space:nowrap}.tox .tox-toolbar-label{padding:0 8px}.tox[dir=rtl] .tox-label{padding:0 0 0 8px}.tox .tox-form{display:flex;flex:1;flex-direction:column}.tox .tox-form__group{box-sizing:border-box;margin-bottom:4px}.tox .tox-form-group--maximize{flex:1}.tox .tox-form__group--error{color:#c00}.tox .tox-form__group--collection{display:flex}.tox .tox-form__grid{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between}.tox .tox-form__grid--2col>.tox-form__group{width:calc(50% - (8px / 2))}.tox .tox-form__grid--3col>.tox-form__group{width:calc(100% / 3 - (8px / 2))}.tox .tox-form__grid--4col>.tox-form__group{width:calc(25% - (8px / 2))}.tox .tox-form__controls-h-stack{align-items:center;display:flex}.tox .tox-form__group--inline{align-items:center;display:flex}.tox .tox-form__group--stretched{display:flex;flex:1;flex-direction:column}.tox .tox-form__group--stretched .tox-textarea{flex:1}.tox .tox-form__group--stretched .tox-navobj{display:flex;flex:1}.tox .tox-form__group--stretched .tox-navobj :nth-child(2){flex:1;height:100%}.tox:not([dir=rtl]) .tox-form__controls-h-stack>:not(:first-child){margin-left:4px}.tox[dir=rtl] .tox-form__controls-h-stack>:not(:first-child){margin-right:4px}.tox .tox-lock.tox-locked .tox-lock-icon__unlock,.tox .tox-lock:not(.tox-locked) .tox-lock-icon__lock{display:none}.tox .tox-context-form__group .tox-button--icon.tox-lock-context-form-size-input{margin-left:8px;margin-right:8px}.tox .tox-listboxfield .tox-listbox--select,.tox .tox-textarea,.tox .tox-textarea-wrap .tox-textarea:focus,.tox .tox-textfield,.tox .tox-toolbar-textfield{appearance:none;background-color:#fff;border-color:#ccc;border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;color:#222f3e;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif;font-size:16px;line-height:24px;margin:0;min-height:34px;outline:0;padding:5px 4.75px;resize:none;width:100%}.tox .tox-textarea[disabled],.tox .tox-textfield[disabled],.tox .tox-toolbar-textfield[disabled]{background-color:#f2f2f2;color:rgba(34,47,62,.85);cursor:not-allowed}.tox .tox-custom-editor:focus-within,.tox .tox-focusable-wrapper:focus,.tox .tox-listboxfield .tox-listbox--select:focus,.tox .tox-textarea-wrap:focus-within,.tox .tox-textarea:focus,.tox .tox-textfield:focus,.tox .tox-toolbar-textfield:focus{background-color:#fff;border-color:#207ab7;box-shadow:none;outline:2px solid rgba(32,122,183,.25)}.tox .tox-toolbar-textfield{max-width:250px;min-height:unset;height:34px;margin:2px 0 3px 0}.tox .tox-naked-btn{background-color:transparent;border:0;border-color:transparent;box-shadow:unset;color:#207ab7;cursor:pointer;display:block;margin:0;padding:0}.tox .tox-naked-btn svg{display:block;fill:#222f3e}.tox .tox-textfield-size{width:80px}.tox:not([dir=rtl]) .tox-toolbar-textfield+*{margin-left:4px}.tox[dir=rtl] .tox-toolbar-textfield+*{margin-right:4px}.tox .tox-listboxfield{cursor:pointer;position:relative}.tox .tox-listboxfield .tox-listbox--select[disabled]{background-color:#f2f2f2;color:rgba(34,47,62,.85);cursor:not-allowed}.tox .tox-listbox__select-label{cursor:default;flex:1;margin:0 4px}.tox .tox-listbox__select-chevron{align-items:center;display:flex;justify-content:center;width:16px}.tox .tox-listbox__select-chevron svg{fill:#222f3e}@media (forced-colors:active){.tox .tox-listbox__select-chevron svg{fill:currentColor!important}}.tox .tox-listboxfield .tox-listbox--select{align-items:center;display:flex}.tox:not([dir=rtl]) .tox-listboxfield svg{right:8px}.tox[dir=rtl] .tox-listboxfield svg{left:8px}.tox .tox-selectfield{cursor:pointer;position:relative}.tox .tox-selectfield select{appearance:none;background-color:#fff;border-color:#ccc;border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;color:#222f3e;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif;font-size:16px;line-height:24px;margin:0;min-height:34px;outline:0;padding:5px 4.75px;resize:none;width:100%}.tox .tox-selectfield select[disabled]{background-color:#f2f2f2;color:rgba(34,47,62,.85);cursor:not-allowed}.tox .tox-selectfield select::-ms-expand{display:none}.tox .tox-selectfield select:focus{background-color:#fff;border-color:#207ab7;box-shadow:none;outline:2px solid rgba(32,122,183,.25)}.tox .tox-selectfield svg{pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.tox .tox-selectfield select option:checked{background-color:revert;color:revert}.tox:not([dir=rtl]) .tox-selectfield select[size=\"0\"],.tox:not([dir=rtl]) .tox-selectfield select[size=\"1\"]{padding-right:24px}.tox:not([dir=rtl]) .tox-selectfield svg{right:8px}.tox[dir=rtl] .tox-selectfield select[size=\"0\"],.tox[dir=rtl] .tox-selectfield select[size=\"1\"]{padding-left:24px}.tox[dir=rtl] .tox-selectfield svg{left:8px}.tox .tox-textarea-wrap{border-color:#ccc;border-radius:3px;border-style:solid;border-width:1px;display:flex;flex:1;overflow:hidden}.tox .tox-textarea{appearance:textarea;white-space:pre-wrap}.tox .tox-textarea-wrap .tox-textarea{border:none}.tox .tox-textarea-wrap .tox-textarea:focus{border:none}.tox-fullscreen{border:0;height:100%;margin:0;overflow:hidden;overscroll-behavior:none;padding:0;touch-action:pinch-zoom;width:100%}.tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle{display:none}.tox-shadowhost.tox-fullscreen,.tox.tox-tinymce.tox-fullscreen{left:0;position:fixed;top:0;z-index:1200}.tox.tox-tinymce.tox-fullscreen{background-color:transparent}.tox-fullscreen .tox.tox-tinymce-aux,.tox-fullscreen~.tox.tox-tinymce-aux{z-index:1201}.tox .tox-help__more-link{list-style:none;margin-top:1em}.tox .tox-imagepreview{background-color:#666;height:380px;overflow:hidden;position:relative;width:100%}.tox .tox-imagepreview.tox-imagepreview__loaded{overflow:auto}.tox .tox-imagepreview__container{display:flex;left:100vw;position:absolute;top:100vw}.tox .tox-imagepreview__image{background:url(data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==)}.tox .tox-image-tools .tox-spacer{flex:1}.tox .tox-image-tools .tox-bar{align-items:center;display:flex;height:60px;justify-content:center}.tox .tox-image-tools .tox-imagepreview,.tox .tox-image-tools .tox-imagepreview+.tox-bar{margin-top:8px}.tox .tox-image-tools .tox-croprect-block{background:#000;opacity:.5;position:absolute;zoom:1}.tox .tox-image-tools .tox-croprect-handle{border:2px solid #fff;height:20px;left:0;position:absolute;top:0;width:20px}.tox .tox-image-tools .tox-croprect-handle-move{border:0;cursor:move;position:absolute}.tox .tox-image-tools .tox-croprect-handle-nw{border-width:2px 0 0 2px;cursor:nw-resize;left:100px;margin:-2px 0 0 -2px;top:100px}.tox .tox-image-tools .tox-croprect-handle-ne{border-width:2px 2px 0 0;cursor:ne-resize;left:200px;margin:-2px 0 0 -20px;top:100px}.tox .tox-image-tools .tox-croprect-handle-sw{border-width:0 0 2px 2px;cursor:sw-resize;left:100px;margin:-20px 2px 0 -2px;top:200px}.tox .tox-image-tools .tox-croprect-handle-se{border-width:0 2px 2px 0;cursor:se-resize;left:200px;margin:-20px 0 0 -20px;top:200px}.tox .tox-image-selector-loading-spinner-wrapper{display:flex;justify-content:center;align-items:center}.tox .tox-image-selector-loading-spinner{position:absolute;width:min(24px,30%);aspect-ratio:1;border-radius:50%;border:3px solid #207ab7;border-bottom-color:transparent;animation:tox-rotation 1s linear infinite}.tox .tox-toolbar .tox-image-selector,.tox .tox-toolbar__overflow .tox-image-selector,.tox .tox-toolbar__primary .tox-image-selector{margin:2px 0 3px 4px}.tox .tox-image-selector-menu{border:0;border-radius:3px;margin:-4px 0;padding:4px}.tox .tox-image-selector-menu .tox-collection--list .tox-collection__group{border:0;padding:0;margin:-4px 0}.tox .tox-image-selector-menu .tox-collection__item{max-width:48px}.tox .tox-image-selector-menu .tox-collection__item-icon{border:1px solid #ccc;border-radius:3px;margin-bottom:4px;width:100%}.tox .tox-image-selector-menu .tox-collection__item-icon svg path{stroke:#c00}.tox .tox-image-selector__row{display:flex}.tox .tox-image-selector--remove{align-items:center;display:flex;justify-content:center}.tox .tox-image-selector--remove svg path{stroke:#c00}.tox .tox-image-selector-image-wrapper{width:46px;height:46px;display:flex;align-items:center;justify-content:center}.tox .tox-image-selector-image-img{max-width:100%;max-height:100%}.tox .tox-image-selector__picker-btn{align-items:center;background-color:transparent;border:0;cursor:pointer;display:flex;height:30px;justify-content:center;outline:0;padding:0;width:30px}.tox .tox-image-selector__picker-btn svg{fill:#222f3e;height:24px;width:24px}.tox .tox-image-selector__picker-btn:hover{background:#dee0e2}.tox .tox-context-toolbar{position:absolute;position-try-fallbacks:flip-block,flip-inline,flip-block flip-inline;z-index:1150;background-color:#fff;border:1px solid #e0e0e0;border-radius:9px;box-shadow:0 2px 8px rgba(0,0,0,.08);padding:4px}.tox .tox-context-toolbar[popover]{inset:auto;margin:0}.tox .tox-context-toolbar .tox-toolbar{display:flex;flex-wrap:nowrap;gap:8px}.tox .tox-context-toolbar .tox-toolbar__group{display:flex;flex-wrap:nowrap;flex-shrink:0;gap:4px;align-items:center}.tox .tox-insert-table-picker{background-color:#fff;display:flex;flex-wrap:wrap;width:170px}.tox .tox-insert-table-picker>div{border-color:#ccc;border-style:solid;border-width:0 1px 1px 0;box-sizing:border-box;height:17px;width:17px}.tox .tox-collection--list .tox-collection__group .tox-insert-table-picker{margin:0 -4px}.tox .tox-insert-table-picker .tox-insert-table-picker__selected{background-color:rgba(32,122,183,.5);border-color:rgba(32,122,183,.5)}@media (forced-colors:active){.tox .tox-insert-table-picker .tox-insert-table-picker__selected{border-color:Highlight;filter:contrast(50%)}}.tox .tox-insert-table-picker__label{color:rgba(34,47,62,.7);display:block;font-size:14px;padding:4px;text-align:center;width:100%}.tox:not([dir=rtl]) .tox-insert-table-picker>div:nth-child(10n){border-right:0}.tox[dir=rtl] .tox-insert-table-picker>div:nth-child(10n+1){border-right:0}.tox-mentions__card-common{z-index:1200}.tox.tox-mentions__card{background:#fff;border:1px solid #ccc;display:flex;padding:4px 8px}.tox.tox-mentions__card .tox-mentions__container{display:flex;flex-direction:column;align-self:center;margin:0 4px}.tox .tox-mentions__avatar{width:42px;height:42px;border-radius:50%;margin-right:4px}.tox .tox-mentions__username{font-size:14px;line-height:21px;color:#222f3e}.tox .tox-mentions__description{font-size:12px;line-height:21px;color:rgba(34,47,62,.7)}.tox .tox-collection__item--active .tox-mentions__description,.tox .tox-collection__item--active .tox-mentions__username{color:inherit}.tox .tox-menu{background-color:#fff;border:1px solid #ccc;border-radius:3px;box-shadow:0 4px 8px 0 rgba(34,47,62,.1);display:inline-block;overflow:hidden;vertical-align:top;z-index:1150}.tox .tox-menu.tox-collection.tox-collection--list{padding:0 0}.tox .tox-menu.tox-collection.tox-collection--toolbar{padding:4px}.tox .tox-menu.tox-collection.tox-collection--grid{padding:4px}@media only screen and (min-width:768px){.tox .tox-menu .tox-collection__item-label{overflow-wrap:break-word;word-break:normal}.tox .tox-dialog__popups .tox-menu .tox-collection__item-label{word-break:break-all}}.tox .tox-menu__label blockquote,.tox .tox-menu__label code,.tox .tox-menu__label h1,.tox .tox-menu__label h2,.tox .tox-menu__label h3,.tox .tox-menu__label h4,.tox .tox-menu__label h5,.tox .tox-menu__label h6,.tox .tox-menu__label p{margin:0}.tox .tox-menubar{background:url(\"data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='%23cccccc'/%3E%3C/svg%3E\") left 0 top 0 #fff;background-color:#fff;display:flex;flex:0 0 auto;flex-shrink:0;flex-wrap:wrap;grid-column:1/-1;grid-row:1;padding:0 4px 0 4px}.tox .tox-promotion+.tox-menubar{grid-column:1}.tox .tox-promotion{background:url(\"data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='%23cccccc'/%3E%3C/svg%3E\") left 0 top 0 #fff;background-color:#fff;grid-column:2;grid-row:1;padding-inline-end:8px;padding-inline-start:4px;padding-top:5px}.tox .tox-promotion-link{align-items:unsafe center;background-color:#e8f1f8;border-radius:5px;color:#086be6;cursor:pointer;display:flex;font-size:14px;height:26.6px;padding:4px 8px;white-space:nowrap}.tox .tox-promotion-link:hover{background-color:#b4d7ff}.tox .tox-promotion-link:focus{background-color:#d9edf7}.tox .tox-mbtn{align-items:center;background:#fff;border:0;border-radius:3px;box-shadow:none;color:#222f3e;display:flex;flex:0 0 auto;font-size:14px;font-style:normal;font-weight:400;height:34px;justify-content:center;margin:2px 0 3px 0;outline:0;padding:0 4px;text-transform:none;width:auto}.tox .tox-mbtn[disabled]{background-color:#fff;border:0;box-shadow:none;color:rgba(34,47,62,.5);cursor:not-allowed}.tox .tox-mbtn:focus:not(:disabled){background:#dee0e2;border:0;box-shadow:none;color:#222f3e;position:relative;z-index:1}.tox .tox-mbtn:focus:not(:disabled)::after{pointer-events:none;border-radius:3px;bottom:0;box-shadow:0 0 0 0 transparent;content:'';left:0;position:absolute;right:0;top:0}@media (forced-colors:active){.tox .tox-mbtn:focus:not(:disabled)::after{border:2px solid highlight}}.tox .tox-mbtn--active,.tox .tox-mbtn:not(:disabled).tox-mbtn--active:focus{background:#c8cbcf;border:0;box-shadow:none;color:#222f3e}.tox .tox-mbtn:hover:not(:disabled):not(.tox-mbtn--active){background:#dee0e2;border:0;box-shadow:none;color:#222f3e}.tox .tox-mbtn__select-label{cursor:default;font-weight:400;margin:0 4px}.tox .tox-mbtn[disabled] .tox-mbtn__select-label{cursor:not-allowed}.tox .tox-mbtn__select-chevron{align-items:center;display:flex;justify-content:center;width:16px;display:none}.tox .tox-notification{border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;display:grid;font-size:14px;font-weight:400;grid-template-columns:minmax(40px,1fr) auto minmax(40px,1fr);margin-left:auto;margin-right:auto;margin-top:4px;opacity:0;padding:4px;transition:transform .1s ease-in,opacity 150ms ease-in;width:max-content}.tox .tox-notification a{cursor:pointer;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-notification p{font-size:14px;font-weight:400}.tox .tox-notification:focus{border-color:#207ab7;box-shadow:none}.tox .tox-notification--in{opacity:1}.tox .tox-notification--success{background-color:#e4eeda;border-color:#d7e6c8;color:#222f3e}.tox .tox-notification--success p{color:#222f3e}.tox .tox-notification--success a{color:#517342}.tox .tox-notification--success a:focus,.tox .tox-notification--success a:hover{color:#24321d;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-notification--success a:focus-visible{border-radius:1px;outline:2px solid #517342;outline-offset:2px}.tox .tox-notification--success a:active{color:#0d120a;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-notification--success svg{fill:#222f3e}.tox .tox-notification--error{background-color:#f5cccc;border-color:#f0b3b3;color:#222f3e}.tox .tox-notification--error p{color:#222f3e}.tox .tox-notification--error a{color:#77181f}.tox .tox-notification--error a:focus,.tox .tox-notification--error a:hover{color:#220709;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-notification--error a:focus-visible{border-radius:1px;outline:2px solid #77181f;outline-offset:2px}.tox .tox-notification--error a:active{color:#000;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-notification--error svg{fill:#222f3e}.tox .tox-notification--warn,.tox .tox-notification--warning{background-color:#fff5cc;border-color:#fff0b3;color:#222f3e}.tox .tox-notification--warn p,.tox .tox-notification--warning p{color:#222f3e}.tox .tox-notification--warn a,.tox .tox-notification--warning a{color:#7a6e25}.tox .tox-notification--warn a:focus,.tox .tox-notification--warn a:hover,.tox .tox-notification--warning a:focus,.tox .tox-notification--warning a:hover{color:#2c280d;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-notification--warn a:focus-visible,.tox .tox-notification--warning a:focus-visible{border-radius:1px;outline:2px solid #7a6e25;outline-offset:2px}.tox .tox-notification--warn a:active,.tox .tox-notification--warning a:active{color:#050502;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-notification--warn svg,.tox .tox-notification--warning svg{fill:#222f3e}.tox .tox-notification--info{background-color:#d6e7fb;border-color:#c1dbf9;color:#222f3e}.tox .tox-notification--info p{color:#222f3e}.tox .tox-notification--info a{color:#2a64a6}.tox .tox-notification--info a:focus,.tox .tox-notification--info a:hover{color:#163355;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-notification--info a:focus-visible{border-radius:1px;outline:2px solid #2a64a6;outline-offset:2px}.tox .tox-notification--info a:active{color:#0b1a2c;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-notification--info svg{fill:#222f3e}.tox .tox-notification__body{align-self:center;color:#222f3e;font-size:14px;grid-column-end:3;grid-column-start:2;grid-row-end:2;grid-row-start:1;text-align:center;white-space:normal;word-break:break-all;word-break:break-word}.tox .tox-notification__body>*{margin:0}.tox .tox-notification__body>*+*{margin-top:1rem}.tox .tox-notification__icon{align-self:center;grid-column-end:2;grid-column-start:1;grid-row-end:2;grid-row-start:1;justify-self:end}.tox .tox-notification__icon svg{display:block}.tox .tox-notification__dismiss{align-self:start;grid-column-end:4;grid-column-start:3;grid-row-end:2;grid-row-start:1;justify-self:end}.tox .tox-notification .tox-progress-bar{grid-column-end:4;grid-column-start:1;grid-row-end:3;grid-row-start:2;justify-self:center}.tox .tox-notification-container-dock-fadeout{opacity:0;visibility:hidden}.tox .tox-notification-container-dock-fadein{opacity:1;visibility:visible}.tox .tox-notification-container-dock-transition{transition:visibility 0s linear .3s,opacity .3s ease}.tox .tox-notification-container-dock-transition.tox-notification-container-dock-fadein{transition-delay:0s}.tox .tox-onboarding-overlay{height:100%;background-color:#f0f0f0;position:absolute;top:0;left:0;right:0;z-index:1302;overflow:auto;display:grid;justify-content:center;align-items:center}.tox .tox-onboarding-dialog{max-width:512px;background-color:#fff;display:flex;flex-direction:column;box-shadow:0 16px 16px -10px rgba(34,47,62,.15),0 0 40px 1px rgba(34,47,62,.15);border-radius:12px;margin:8px}.tox .tox-onboarding-dialog .tox-onboarding-header{color:#222f3e;display:flex;justify-content:center;align-items:center;font-size:20px;margin:24px 0 8px}.tox .tox-onboarding-dialog .tox-onboarding-step{display:grid;grid-template-columns:min-content 1fr min-content;align-items:center;margin:0 24px}.tox .tox-onboarding-dialog .tox-onboarding-step:not(:last-child){border-bottom:1px solid #c1c1c1}.tox .tox-onboarding-dialog .tox-onboarding-step--number{width:24px;aspect-ratio:1;border-radius:50%;border:1px solid #00ad0e;display:flex;justify-content:center;align-items:center;font-size:12px;font-weight:700;color:#00ad0e}.tox .tox-onboarding-dialog .tox-onboarding-step--body{padding:24px 0 24px 16px}.tox .tox-onboarding-dialog .tox-onboarding-step--body-header{color:#222f3e;font-size:14px;font-weight:700;margin-bottom:4px}.tox .tox-onboarding-dialog .tox-onboarding-step--body-details{color:rgba(34,47,62,.7);font-size:14px}.tox .tox-onboarding-dialog .tox-onboarding-step--action{padding-left:24px}.tox .tox-onboarding-dialog .tox-onboarding-footer{background-color:#f0f0f0;display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom-left-radius:12px;border-bottom-right-radius:12px}.tox .tox-onboarding-dialog .tox-onboarding-footer p{display:flex;align-items:center;justify-content:center;gap:4px;font-size:14px;color:rgba(34,47,62,.7)}.tox .tox-onboarding-dialog svg{width:24px;fill:rgba(34,47,62,0.7)}.tox .tox-promotion-dialog .tox-promotion-dialog-plugin{display:grid;align-items:center;grid-template-columns:min-content 1fr min-content;border-bottom:1px solid #c1c1c1;padding:24px 0;margin:0 16px}.tox .tox-promotion-dialog .tox-promotion-dialog-plugin--body{margin:0 16px}.tox .tox-promotion-dialog .tox-promotion-dialog-plugin--body .tox-promotion-dialog-plugin-header{color:#222f3e;font-size:14px;font-weight:700;margin-bottom:4px}.tox .tox-promotion-dialog .tox-promotion-dialog-plugin--body .tox-promotion-dialog-plugin-details{color:rgba(34,47,62,.7);font-size:14px}.tox .tox-promotion-dialog .tox-promotion-dialog-plugin--icon{display:grid;place-content:center;width:56px;height:56px;line-height:24px;font-size:24px;border-radius:12px;background:linear-gradient(180deg,#fff 24%,#f0f0f0 100%);box-shadow:0 1px 1px 0 #222f3e12,0 3px 6px 0 #222f3e06;color:#207ab7}.tox .tox-promotion-dialog--subtitle{margin:16px;color:rgba(34,47,62,.7);font-size:14px}.tox .tox-promotion-dialog--explore{text-align:center;margin:16px;color:rgba(34,47,62,.7);font-size:14px}.tox .tox-promotion-dialog--explore a{color:#207ab7}.tox .tox-promotion-dialog--footer{background-color:#f0f0f0;color:rgba(34,47,62,.7);font-size:12px;text-align:center;padding:16px}.tox .tox-promotion-button{display:flex;align-items:center;height:26.6px;line-height:26.6px;font-size:14px;font-weight:700;background-color:#f1ebf9;color:#851aff;padding:8px 16px;cursor:pointer;white-space:nowrap;border-radius:5px}.tox .tox-promotion-button:focus{outline:1px solid #851AFF}.tox .tox-onboarding-dialog a,.tox .tox-promotion-dialog--footer a{color:rgba(34,47,62,.7);cursor:pointer;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-onboarding-dialog a:focus,.tox .tox-onboarding-dialog a:hover,.tox .tox-promotion-dialog--footer a:focus,.tox .tox-promotion-dialog--footer a:hover{color:#0a1620;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-onboarding-dialog a:focus-visible,.tox .tox-promotion-dialog--footer a:focus-visible{border-radius:1px;outline:2px solid #214d6e;outline-offset:2px}.tox .tox-onboarding-dialog a:active,.tox .tox-promotion-dialog--footer a:active{color:#000;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-pop{display:inline-block;position:relative}.tox .tox-pop--resizing{transition:width .1s ease}.tox .tox-pop--resizing .tox-toolbar,.tox .tox-pop--resizing .tox-toolbar__group{flex-wrap:nowrap}.tox .tox-pop--transition{transition:.15s ease;transition-property:left,right,top,bottom}.tox .tox-pop--transition::after,.tox .tox-pop--transition::before{transition:all .15s,visibility 0s,opacity 75ms ease 75ms}.tox .tox-pop__dialog{background-color:#fff;border:1px solid #ccc;border-radius:3px;box-shadow:0 0 2px 0 rgba(34,47,62,.2),0 4px 8px 0 rgba(34,47,62,.15);min-width:0;overflow:hidden}.tox .tox-pop__dialog>:not(.tox-toolbar){margin:4px 4px 4px 8px}.tox .tox-pop__dialog .tox-toolbar{background-color:transparent;margin-bottom:-1px}.tox .tox-pop::after,.tox .tox-pop::before{border-style:solid;content:'';display:block;height:0;opacity:1;position:absolute;width:0}@media (forced-colors:active){.tox .tox-pop::after,.tox .tox-pop::before{content:none}}.tox .tox-pop.tox-pop--inset::after,.tox .tox-pop.tox-pop--inset::before{opacity:0;transition:all 0s .15s,visibility 0s,opacity 75ms ease}.tox .tox-pop.tox-pop--bottom::after,.tox .tox-pop.tox-pop--bottom::before{left:50%;top:100%}.tox .tox-pop.tox-pop--bottom::after{border-color:#fff transparent transparent transparent;border-width:8px;margin-left:-8px;margin-top:-1px}.tox .tox-pop.tox-pop--bottom::before{border-color:#ccc transparent transparent transparent;border-width:9px;margin-left:-9px}.tox .tox-pop.tox-pop--top::after,.tox .tox-pop.tox-pop--top::before{left:50%;top:0;transform:translateY(-100%)}.tox .tox-pop.tox-pop--top::after{border-color:transparent transparent #fff transparent;border-width:8px;margin-left:-8px;margin-top:1px}.tox .tox-pop.tox-pop--top::before{border-color:transparent transparent #ccc transparent;border-width:9px;margin-left:-9px}.tox .tox-pop.tox-pop--left::after,.tox .tox-pop.tox-pop--left::before{left:0;top:calc(50% - 1px);transform:translateY(-50%)}.tox .tox-pop.tox-pop--left::after{border-color:transparent #fff transparent transparent;border-width:8px;margin-left:-15px}.tox .tox-pop.tox-pop--left::before{border-color:transparent #ccc transparent transparent;border-width:10px;margin-left:-19px}.tox .tox-pop.tox-pop--right::after,.tox .tox-pop.tox-pop--right::before{left:100%;top:calc(50% + 1px);transform:translateY(-50%)}.tox .tox-pop.tox-pop--right::after{border-color:transparent transparent transparent #fff;border-width:8px;margin-left:-1px}.tox .tox-pop.tox-pop--right::before{border-color:transparent transparent transparent #ccc;border-width:10px;margin-left:-1px}.tox .tox-pop.tox-pop--align-left::after,.tox .tox-pop.tox-pop--align-left::before{left:20px}.tox .tox-pop.tox-pop--align-right::after,.tox .tox-pop.tox-pop--align-right::before{left:calc(100% - 20px)}.tox .tox-sidebar-wrap{display:flex;flex-direction:row;flex-grow:1;min-height:0}.tox .tox-sidebar{background-color:var(--tox-private-sidebar-background-color,#f0f0f0);display:flex;flex-direction:row;justify-content:flex-end}.tox .tox-sidebar__slider{display:flex;overflow:hidden}.tox .tox-sidebar__pane-container{display:flex}.tox .tox-sidebar__pane{display:flex}.tox .tox-sidebar--sliding-closed{opacity:0}.tox .tox-sidebar--sliding-open{opacity:1}.tox .tox-sidebar--sliding-growing,.tox .tox-sidebar--sliding-shrinking{transition:width .5s ease,opacity .5s ease}.tox .tox-sidebar-content{display:flex;flex-direction:column;position:relative;height:100%;min-width:300px;max-width:300px;width:300px;border-left:1px solid var(--tox-private-sidebar-border-color,#e3e3e3)}.tox .tox-sidebar-content__header{align-items:center;display:flex;justify-content:space-between;box-shadow:var(--tox-private-sidebar-header-box-shadow,0 4px 8px 0 rgba(34,47,62,.1));padding:var(--tox-private-pad-sm,8px) 12px;background:var(--tox-private-background-color,#fff);z-index:1}.tox .tox-sidebar-content__header .tox-sidebar-content__header-close-button{margin-left:auto}.tox .tox-sidebar-content__title{font-size:var(--tox-private-font-size-lg, 20px);font-weight:var(--tox-private-font-weight-normal,normal);padding:var(--tox-private-pad-sm,8px) 0 var(--tox-private-pad-sm,8px) 0;color:var(--tox-private-text-color,#222f3e);line-height:28px}.tox .tox-floating-sidebar{--tox-private-floating-sidebar-requested-height:600px;--tox-private-floating-sidebar-width:min(380px, 90vw);--tox-private-floating-sidebar-height:min(var(--tox-private-floating-sidebar-requested-height), 80vh);box-shadow:var(--tox-private-floating-sidebar-box-shadow,0 0 40px 1px rgba(34,47,62,.15),0 16px 16px -10px rgba(34,47,62,.15));width:var(--tox-private-floating-sidebar-width);height:var(--tox-private-floating-sidebar-height);background-color:var(--tox-private-background-color,#fff);border-radius:12px;overflow:hidden}.tox .tox-floating-sidebar__content-wrapper{width:100%;height:100%;display:flex;flex-direction:column}.tox .tox-floating-sidebar__header{position:relative}.tox-ai .tox-ai__user-prompt{display:flex;flex-direction:column;margin-left:auto;gap:inherit}.tox-ai .tox-ai__user-prompt__context{margin-left:auto}.tox-ai .tox-ai__user-prompt__text{background-color:var(--tox-private-ai-user-prompt-background,#f0f0f0);padding:var(--tox-private-pad-sm,8px) 12px;border-radius:var(--tox-private-control-border-radius,3px);max-width:80%;align-self:flex-end;color:var(--tox-private-text-color,#222f3e)}.tox-ai .tox-ai__scroll{overflow:auto;background-color:var(--tox-private-background-color,#fff);display:flex;padding:12px;flex-direction:column;align-items:flex-start;gap:12px;flex:1 0 0;align-self:stretch}.tox-ai .tox-ai__response-content{padding:var(--tox-private-pad-sm,8px) 0;color:var(--tox-private-text-color,#222f3e);font-feature-settings:'liga' off,'clig' off;font-size:var(--tox-private-font-size-sm, 14px);font-style:normal;font-weight:var(--tox-private-font-weight-normal,normal);line-height:var(--tox-private-line-height, 18px);white-space:pre-wrap}.tox-ai .tox-ai__response.tox-ai__response-streaming{background:linear-gradient(180deg,var(--tox-private-color-black,#222f3e) 0,transparent 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.tox-ai .tox-ai__error-message{border-radius:var(--tox-private-panel-border-radius,3px);border:1px solid var(--tox-private-color-error,#c00);background:linear-gradient(0deg,color-mix(in srgb,var(--tox-private-color-white,#fff) 90%,transparent) 0,color-mix(in srgb,var(--tox-private-color-white,#fff) 90%,transparent) 100%),var(--tox-private-color-error,#c00);padding:var(--tox-private-pad-sm,8px);width:100%}.tox-ai .tox-ai__footer{border-top:1px solid var(--tox-private-ai-footer-border-color,#e3e3e3);padding:12px;gap:var(--tox-private-pad-sm,8px);background-color:var(--tox-private-background-color,#fff);display:flex;flex-direction:column}.tox-ai .tox-ai__context{display:flex;gap:8px}.tox-ai .tox-ai__footer-actions{display:flex;gap:var(--tox-private-pad-sm,8px)}.tox .tox-selector{background-color:#4099ff;border-color:#4099ff;border-style:solid;border-width:1px;box-sizing:border-box;display:inline-block;height:10px;position:absolute;width:10px}.tox.tox-platform-touch .tox-selector{height:12px;width:12px}.tox .tox-skeleton .tox-skeleton__line{height:16px;width:100%;background:linear-gradient(to right,rgba(240,240,240,.5) 8%,rgba(240,240,240,.7) 18%,rgba(240,240,240,.5) 33%);animation:wave 2s infinite ease-out}.tox .tox-skeleton .tox-skeleton__circle{height:36px;width:36px;margin-right:8px;border-radius:100%;background:linear-gradient(to right,rgba(240,240,240,.5) 8%,rgba(240,240,240,.7) 18%,rgba(240,240,240,.5) 33%);animation:wave 2s infinite ease-out}@keyframes wave{0%{background-position:-268px 0}100%{background-position:268px 0}}.tox .tox-slider{align-items:center;display:flex;flex:1;height:24px;justify-content:center;position:relative}.tox .tox-slider__rail{background-color:transparent;border:1px solid #ccc;border-radius:3px;height:10px;min-width:120px;width:100%}.tox .tox-slider__handle{background-color:#207ab7;border:2px solid #185d8c;border-radius:3px;box-shadow:none;height:24px;left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%);width:14px}.tox .tox-form__controls-h-stack>.tox-slider:not(:first-of-type){margin-inline-start:8px}.tox .tox-form__controls-h-stack>.tox-form__group+.tox-slider{margin-inline-start:32px}.tox .tox-form__controls-h-stack>.tox-slider+.tox-form__group{margin-inline-start:32px}.tox .tox-toolbar-slider{align-items:center;display:inline-flex;height:16px}.tox .tox-toolbar-slider__input{appearance:none;background:#ccc;border-radius:16px;width:130px;height:2px}.tox .tox-toolbar-slider__input::-webkit-slider-runnable-track{background-color:transparent;height:16px}.tox .tox-toolbar-slider__input::-moz-range-track{background-color:transparent;height:16px}.tox .tox-toolbar-slider__input::-webkit-slider-thumb{-webkit-appearance:none;background-color:#207ab7;border-radius:16px;border:none;height:16px;width:16px}.tox .tox-toolbar-slider__input::-moz-range-thumb{appearance:none;background-color:#207ab7;border-radius:16px;border:none;height:16px;width:16px}.tox .tox-toolbar-slider__input:focus-visible{outline:0}.tox .tox-toolbar-slider__input:focus::-webkit-slider-thumb{background-color:#1c6ca1;box-shadow:inset 0 0 0 1px #fff,0 0 0 2px #207ab7}.tox .tox-toolbar-slider__input:focus::-moz-range-thumb{background-color:#1c6ca1;box-shadow:inset 0 0 0 1px #fff,0 0 0 2px #207ab7}.tox .tox-toolbar-slider__input:hover::-webkit-slider-thumb{background-color:#1c6ca1}.tox .tox-toolbar-slider__input:hover::-moz-range-thumb{background-color:#1c6ca1}.tox .tox-toolbar-slider__input:active::-webkit-slider-thumb{background-color:#185d8c}.tox .tox-toolbar-slider__input:active::-moz-range-thumb{background-color:#185d8c}.tox .tox-toolbar-slider__input[disabled]::-webkit-slider-thumb{background-color:rgba(255,255,255,.5)}.tox .tox-toolbar-slider__input[disabled]::-moz-range-thumb{background-color:rgba(255,255,255,.5)}.tox .tox-source-code{overflow:auto}.tox .tox-spinner{display:flex}.tox .tox-spinner>div{animation:tam-bouncing-dots 1.5s ease-in-out 0s infinite both;background-color:rgba(34,47,62,.7);border-radius:100%;height:8px;width:8px}.tox .tox-spinner>div:first-child{animation-delay:-.32s}.tox .tox-spinner>div:nth-child(2){animation-delay:-.16s}@keyframes tam-bouncing-dots{0%,100%,80%{transform:scale(0)}40%{transform:scale(1)}}.tox:not([dir=rtl]) .tox-spinner>div:not(:first-child){margin-left:4px}.tox[dir=rtl] .tox-spinner>div:not(:first-child){margin-right:4px}.tox .tox-ai__spinner{width:24px;height:24px}.tox .tox-statusbar{align-items:center;background-color:#fff;border-top:1px solid #ccc;color:rgba(34,47,62,.7);display:flex;flex:0 0 auto;font-size:12px;font-weight:400;height:18px;overflow:hidden;padding:0 8px;position:relative;text-transform:uppercase}.tox .tox-statusbar__path{display:flex;flex:1 1 auto;text-overflow:ellipsis;white-space:nowrap}.tox .tox-statusbar__right-container{display:flex;justify-content:flex-end;white-space:nowrap}.tox .tox-statusbar__help-text{text-align:center}.tox .tox-statusbar__text-container{align-items:flex-start;display:flex;flex:1 1 auto;height:16px;justify-content:space-between}@media only screen and (min-width:768px){.tox .tox-statusbar__text-container.tox-statusbar__text-container-3-cols>.tox-statusbar__help-text,.tox .tox-statusbar__text-container.tox-statusbar__text-container-3-cols>.tox-statusbar__path,.tox .tox-statusbar__text-container.tox-statusbar__text-container-3-cols>.tox-statusbar__right-container{flex:0 0 calc(100% / 3)}}.tox .tox-statusbar__text-container.tox-statusbar__text-container--flex-end{justify-content:flex-end}.tox .tox-statusbar__text-container.tox-statusbar__text-container--flex-start{justify-content:flex-start}.tox .tox-statusbar__text-container.tox-statusbar__text-container--space-around{justify-content:space-around}.tox .tox-statusbar__path>*{display:inline;white-space:nowrap}.tox .tox-statusbar__wordcount{flex:0 0 auto;margin-left:1ch}@media only screen and (max-width:767px){.tox .tox-statusbar__text-container .tox-statusbar__help-text{display:none}.tox .tox-statusbar__text-container .tox-statusbar__help-text:only-child{display:block}}.tox .tox-statusbar a,.tox .tox-statusbar__path-item,.tox .tox-statusbar__wordcount{color:rgba(34,47,62,.7);position:relative;-webkit-text-decoration:none;text-decoration:none}.tox .tox-statusbar a:focus:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar a:hover:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__path-item:focus:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__path-item:hover:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__wordcount:focus:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__wordcount:hover:not(:disabled):not([aria-disabled=true]){color:#222f3e;cursor:pointer}.tox .tox-statusbar a:focus-visible::after,.tox .tox-statusbar__path-item:focus-visible::after,.tox .tox-statusbar__wordcount:focus-visible::after{border-radius:3px;bottom:0;box-shadow:0 0 0 0 transparent;content:'';left:0;position:absolute;right:0;top:0}@media (forced-colors:active){.tox .tox-statusbar a:focus-visible::after,.tox .tox-statusbar__path-item:focus-visible::after,.tox .tox-statusbar__wordcount:focus-visible::after{border:2px solid highlight}}.tox .tox-statusbar__branding svg{fill:rgba(34,47,62,0.8);height:1em;margin-left:.3em;width:auto}@media (forced-colors:active){.tox .tox-statusbar__branding svg{fill:currentColor}}.tox .tox-statusbar__branding a{align-items:center;display:inline-flex}.tox .tox-statusbar__branding a:focus:not(:disabled):not([aria-disabled=true]) svg,.tox .tox-statusbar__branding a:hover:not(:disabled):not([aria-disabled=true]) svg{fill:#222f3e}.tox .tox-statusbar__resize-cursor-default{cursor:ns-resize}.tox .tox-statusbar__resize-cursor-both{cursor:nwse-resize}.tox .tox-statusbar__resize-handle{align-items:flex-end;align-self:stretch;display:flex;flex:0 0 auto;justify-content:flex-end;margin-bottom:3px;margin-left:4px;margin-right:calc(3px - 8px);margin-top:3px;padding-bottom:0;padding-left:0;padding-right:0;position:relative}.tox .tox-statusbar__resize-handle svg{display:block;fill:rgba(34,47,62,0.5)}.tox .tox-statusbar__resize-handle:focus svg,.tox .tox-statusbar__resize-handle:hover svg{fill:#222f3e}.tox .tox-statusbar__resize-handle:focus-visible{background-color:transparent;border-radius:1px 1px -4px 1px;box-shadow:0 0 0 2px transparent}.tox .tox-statusbar__resize-handle:focus-visible::after{border-radius:3px;bottom:0;box-shadow:0 0 0 0 transparent;content:'';left:0;position:absolute;right:0;top:0}@media (forced-colors:active){.tox .tox-statusbar__resize-handle:focus-visible::after{border:2px solid highlight}}.tox .tox-statusbar__resize-handle:only-child{margin-left:auto}.tox:not([dir=rtl]) .tox-statusbar__path>*{margin-right:4px}.tox:not([dir=rtl]) .tox-statusbar__branding{margin-left:2ch}.tox[dir=rtl] .tox-statusbar{flex-direction:row-reverse}.tox[dir=rtl] .tox-statusbar__path>*{margin-left:4px}.tox[dir=rtl] .tox-statusbar__branding svg{margin-left:0;margin-right:.3em}.tox .tox-tag{width:-moz-fit-content;width:fit-content;display:flex;padding:4px 6px;align-items:center;gap:4px;border-radius:3px;background:linear-gradient(0deg,color-mix(in srgb,var(--tox-private-color-white,#fff) 90%,transparent) 0,color-mix(in srgb,var(--tox-private-color-white,#fff) 90%,transparent) 100%),var(--tox-private-color-tint,#207ab7);line-height:var(--tox-private-base-value, 16px);font-size:var(--tox-private-font-size-xs, 12px)}.tox .tox-tag .tox-tag__icon{height:var(--tox-private-base-value,16px)}.tox .tox-tag .tox-tag__close{height:var(--tox-private-base-value,16px)}.tox .tox-tag .tox-tag__close .tox-button.tox-button--icon{border:0;padding:0}.tox .tox-tag .tox-tag__close .tox-button.tox-button--icon::before{box-shadow:none}.tox .tox-throbber{z-index:1299}.tox .tox-throbber__busy-spinner{align-items:center;background-color:rgba(255,255,255,.6);bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0}.tox .tox-toggle{display:flex;align-items:center;gap:var(--tox-private-pad-xs,4px);padding:var(--tox-private-pad-xs,4px);font-weight:var(--tox-private-font-weight-normal,normal);line-height:var(--tox-private-control-line-height, 24px);white-space:nowrap;background-color:var(--tox-private-background-color,#fff);color:var(--tox-private-text-color,#222f3e)}.tox .tox-toggle input{position:absolute;opacity:0;width:0;height:0}.tox .tox-toggle__slider{position:relative;cursor:pointer;box-sizing:border-box;transition:.4s;border-radius:34px;width:28px;height:16px;background-color:var(--tox-private-slider-background-color,#fff);border:1px solid var(--tox-private-slider-border-color,#e3e3e3)}.tox .tox-toggle__slider::before{position:absolute;content:\"\";height:12px;width:12px;left:1px;bottom:1px;transition:.4s;border-radius:50%;background-color:var(--tox-private-slider-handle-background-color,#222f3e)}.tox input:checked+.tox-toggle__slider{background-color:var(--tox-private-slider-checked-background-color,#207ab7);border:1px solid var(--tox-private-slider-checked-border-color,#207ab7)}.tox input:focus+.tox-toggle__slider{box-shadow:0 0 0 1px var(--tox-private-color-white,#fff),0 0 0 2px var(--tox-private-color-tint,#207ab7)}.tox input:checked+.tox-toggle__slider::before{transform:translateX(12px);background-color:var(--tox-private-slider-checked-handle-background-color,#fff)}.tox input:disabled+.tox-toggle__slider::before{opacity:50%}.tox .tox-tbtn{align-items:center;background:#fff;border:0;border-radius:3px;box-shadow:none;color:#222f3e;display:flex;flex:0 0 auto;font-size:14px;font-style:normal;font-weight:400;height:34px;justify-content:center;margin:3px 0 2px 0;outline:0;padding:0;text-transform:none;width:34px}.tox .tox-tbtn .tox-tbtn__icon-wrap{pointer-events:none}@media (forced-colors:active){.tox .tox-tbtn.tox-tbtn:hover,.tox .tox-tbtn:hover{outline:1px dashed currentColor}.tox .tox-tbtn.tox-tbtn--active,.tox .tox-tbtn.tox-tbtn--enabled,.tox .tox-tbtn.tox-tbtn--enabled:focus,.tox .tox-tbtn.tox-tbtn--enabled:hover,.tox .tox-tbtn:focus:not(.tox-tbtn--disabled){outline:1px solid currentColor;position:relative}}.tox .tox-tbtn svg{display:block;fill:#222f3e}@media (forced-colors:active){.tox .tox-tbtn svg{fill:currentColor!important}.tox .tox-tbtn svg.tox-tbtn--enabled,.tox .tox-tbtn svg:focus:not(.tox-tbtn--disabled){fill:currentColor!important}.tox .tox-tbtn svg .tox-tbtn:disabled,.tox .tox-tbtn svg .tox-tbtn:disabled:hover,.tox .tox-tbtn svg.tox-tbtn--disabled,.tox .tox-tbtn svg.tox-tbtn--disabled:hover{filter:contrast(0%)}}.tox .tox-tbtn.tox-tbtn-more{padding-left:5px;padding-right:5px;width:inherit}.tox .tox-tbtn:focus{background:#dee0e2;border:0;box-shadow:none;position:relative;z-index:1}.tox .tox-tbtn:focus::after{border-radius:3px;bottom:0;box-shadow:0 0 0 0 transparent;content:'';left:0;position:absolute;right:0;top:0}@media (forced-colors:active){.tox .tox-tbtn:focus::after{border:2px solid highlight}}.tox .tox-tbtn:hover{background:#dee0e2;border:0;box-shadow:none;color:#222f3e}.tox .tox-tbtn:hover svg{fill:#222f3e}.tox .tox-tbtn:active{background:#c8cbcf;border:0;box-shadow:none;color:#222f3e}.tox .tox-tbtn:active svg{fill:#222f3e}.tox .tox-tbtn--disabled .tox-tbtn--enabled svg{fill:rgba(34,47,62,0.5)}.tox .tox-tbtn--disabled,.tox .tox-tbtn--disabled:hover,.tox .tox-tbtn:disabled,.tox .tox-tbtn:disabled:hover{background:#fff;border:0;box-shadow:none;color:rgba(34,47,62,.5);cursor:not-allowed}.tox .tox-tbtn--disabled svg,.tox .tox-tbtn--disabled:hover svg,.tox .tox-tbtn:disabled svg,.tox .tox-tbtn:disabled:hover svg{fill:rgba(34,47,62,0.5)}.tox .tox-tbtn--active,.tox .tox-tbtn--enabled,.tox .tox-tbtn--enabled:focus,.tox .tox-tbtn--enabled:hover{background:#c8cbcf;border:0;box-shadow:none;color:#222f3e;position:relative}.tox .tox-tbtn--active>*,.tox .tox-tbtn--enabled:focus>*,.tox .tox-tbtn--enabled:hover>*,.tox .tox-tbtn--enabled>*{transform:none}.tox .tox-tbtn--active svg,.tox .tox-tbtn--enabled svg,.tox .tox-tbtn--enabled:focus svg,.tox .tox-tbtn--enabled:hover svg{fill:#222f3e}.tox .tox-tbtn--active.tox-tbtn--disabled svg,.tox .tox-tbtn--enabled.tox-tbtn--disabled svg,.tox .tox-tbtn--enabled:focus.tox-tbtn--disabled svg,.tox .tox-tbtn--enabled:hover.tox-tbtn--disabled svg{fill:rgba(34,47,62,0.5)}.tox .tox-tbtn--enabled:focus::after{border-radius:3px;bottom:0;box-shadow:0 0 0 0 transparent;content:'';left:0;position:absolute;right:0;top:0}@media (forced-colors:active){.tox .tox-tbtn--enabled:focus::after{border:2px solid highlight}}.tox .tox-tbtn:focus:not(.tox-tbtn--disabled){color:#222f3e}.tox .tox-tbtn:focus:not(.tox-tbtn--disabled) svg{fill:#222f3e}.tox .tox-tbtn:active>*{transform:none}.tox .tox-tbtn--md{height:51px;width:51px}.tox .tox-tbtn--lg{flex-direction:column;height:68px;width:68px}.tox .tox-tbtn--return{align-self:stretch;height:unset;width:16px}.tox .tox-tbtn--labeled{padding:0 4px;width:unset}.tox .tox-tbtn__vlabel{display:block;font-size:10px;font-weight:400;letter-spacing:-.025em;margin-bottom:4px;white-space:nowrap}.tox .tox-label--context-toolbar{margin:6px 1px 5px 0;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.tox .tox-number-input{background:0 0;border-radius:3px;display:flex;margin:3px 0 2px 0;position:relative;width:auto}.tox .tox-number-input:focus{background:#dee0e2}.tox .tox-number-input:focus::after{border-radius:3px;bottom:0;box-shadow:0 0 0 0 transparent;content:'';left:0;position:absolute;right:0;top:0}@media (forced-colors:active){.tox .tox-number-input:focus::after{border:2px solid highlight}}.tox .tox-number-input .tox-input-wrapper{display:flex;pointer-events:none;position:relative;text-align:center}.tox .tox-number-input .tox-input-wrapper:focus{background-color:#dee0e2;z-index:1}.tox .tox-number-input .tox-input-wrapper:focus::after{border-radius:3px;bottom:0;box-shadow:0 0 0 0 transparent;content:'';left:0;position:absolute;right:0;top:0}@media (forced-colors:active){.tox .tox-number-input .tox-input-wrapper:focus::after{border:2px solid highlight}}.tox .tox-number-input .tox-input-wrapper:has(input:focus)::after{border-radius:3px;bottom:0;box-shadow:0 0 0 0 transparent;content:'';left:0;position:absolute;right:0;top:0}@media (forced-colors:active){.tox .tox-number-input .tox-input-wrapper:has(input:focus)::after{border:2px solid highlight}}.tox .tox-number-input input{border-radius:3px;color:#222f3e;font-size:14px;margin:2px 0;pointer-events:all;position:relative;width:60px}.tox .tox-number-input input:hover{background:#dee0e2;color:#222f3e}.tox .tox-number-input input:focus{background-color:#dee0e2}.tox .tox-number-input input:disabled{background:#fff;border:0;box-shadow:none;color:rgba(34,47,62,.5);cursor:not-allowed}.tox .tox-number-input button{color:#222f3e;height:34px;position:relative;text-align:center;width:24px}@media (forced-colors:active){.tox .tox-number-input button:active,.tox .tox-number-input button:focus,.tox .tox-number-input button:hover{outline:1px solid currentColor!important}}.tox .tox-number-input button svg{display:block;fill:#222f3e;margin:0 auto;transform:scale(.67)}@media (forced-colors:active){.tox .tox-number-input button svg,.tox .tox-number-input button svg:active,.tox .tox-number-input button svg:hover{fill:currentColor!important}.tox .tox-number-input button svg:disabled{filter:contrast(0)}}.tox .tox-number-input button:focus{background:#dee0e2;z-index:1}.tox .tox-number-input button:focus::after{border-radius:3px;bottom:0;box-shadow:0 0 0 0 transparent;content:'';left:0;position:absolute;right:0;top:0}@media (forced-colors:active){.tox .tox-number-input button:focus::after{border:2px solid highlight}}.tox .tox-number-input button:hover{background:#dee0e2;border:0;box-shadow:none;color:#222f3e}.tox .tox-number-input button:hover svg{fill:#222f3e}.tox .tox-number-input button:active{background:#c8cbcf;border:0;box-shadow:none;color:#222f3e}.tox .tox-number-input button:active svg{fill:#222f3e}.tox .tox-number-input button:disabled{background:#fff;border:0;box-shadow:none;color:rgba(34,47,62,.5);cursor:not-allowed}.tox .tox-number-input button:disabled svg{fill:rgba(34,47,62,0.5)}.tox .tox-number-input button.minus{border-radius:3px 0 0 3px}.tox .tox-number-input button.plus{border-radius:0 3px 3px 0}.tox .tox-number-input:focus:not(:active)>.tox-input-wrapper,.tox .tox-number-input:focus:not(:active)>button{background:#dee0e2}.tox .tox-tbtn--select{margin:3px 0 2px 0;padding:0 4px;width:auto}.tox .tox-tbtn--bordered,.tox .tox-tbtn--bordered:focus,.tox .tox-tbtn--bordered:hover{border:1px solid #ccc}.tox .tox-tbtn__select-label{cursor:default;font-weight:400;height:initial;margin:0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tox .tox-tbtn__select-chevron{align-items:center;display:flex;justify-content:center;width:16px}.tox .tox-tbtn__select-chevron svg{fill:rgba(34,47,62,0.5)}@media (forced-colors:active){.tox .tox-tbtn__select-chevron svg{fill:currentColor}}.tox .tox-tbtn--bespoke{background:0 0}.tox .tox-tbtn--bespoke:focus{background:#dee0e2}.tox .tox-tbtn--bespoke+.tox-tbtn--bespoke{margin-inline-start:0}.tox .tox-tbtn--bespoke .tox-tbtn__select-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:7em}.tox .tox-tbtn--disabled .tox-tbtn__select-label,.tox .tox-tbtn--select:disabled .tox-tbtn__select-label{cursor:not-allowed}.tox .tox-split-button__main{border-radius:3px 0 0 3px;margin-right:0}.tox .tox-split-button__main:focus{border:0;box-shadow:none;background:#dee0e2;color:#222f3e;position:relative;z-index:1}.tox .tox-split-button__main:focus::after{border-radius:3px;bottom:0;box-shadow:0 0 0 0 transparent;content:'';left:0;position:absolute;right:0;top:0;border-radius:3px 0 0 3px}@media (forced-colors:active){.tox .tox-split-button__main:focus::after{border:2px solid highlight}}.tox .tox-split-button__chevron{width:16px;border-radius:0 3px 3px 0;margin-left:0}.tox .tox-split-button__chevron:focus{border:0;box-shadow:none;background:#dee0e2;color:#222f3e;position:relative;z-index:1}.tox .tox-split-button__chevron:focus::after{border-radius:3px;bottom:0;box-shadow:0 0 0 0 transparent;content:'';left:0;position:absolute;right:0;top:0;border-radius:0 3px 3px 0}@media (forced-colors:active){.tox .tox-split-button__chevron:focus::after{border:2px solid highlight}}.tox .tox-split-button__chevron svg{fill:rgba(34,47,62,0.5)}@media (forced-colors:active){.tox .tox-split-button__chevron svg{fill:currentColor}}.tox.tox-platform-touch .tox-split-button__main{width:30px}.tox.tox-platform-touch .tox-split-button__chevron{width:20px}.tox .tox-split-button__chevron.tox-tbtn--disabled,.tox .tox-split-button__main.tox-tbtn--disabled{background:#fff;box-shadow:none;color:rgba(34,47,62,.5)}.tox .tox-split-button__chevron.tox-tbtn--disabled:hover,.tox .tox-split-button__main.tox-tbtn--disabled:hover{background:#fff;box-shadow:none;color:rgba(34,47,62,.5)}.tox .tox-split-button__chevron.tox-tbtn--disabled:focus,.tox .tox-split-button__main.tox-tbtn--disabled:focus{background:#fff;box-shadow:none;color:rgba(34,47,62,.5)}.tox .tox-split-button__main.tox-tbtn--disabled svg .tox-icon-highlight-bg-color__color,.tox .tox-split-button__main.tox-tbtn--disabled svg .tox-icon-text-color__color{opacity:.3}.tox .tox-toolbar-overlord{background-color:#fff}.tox .tox-toolbar,.tox .tox-toolbar__overflow,.tox .tox-toolbar__primary{background-attachment:local;background-color:#fff;background-image:repeating-linear-gradient(#ccc 0 1px,transparent 1px 39px);background-position:center top 39px;background-repeat:no-repeat;background-size:calc(100% - 4px * 2) calc(100% - 39px);display:flex;flex:0 0 auto;flex-shrink:0;flex-wrap:wrap;padding:0 0;transform:perspective(1px)}.tox .tox-toolbar-overlord>.tox-toolbar,.tox .tox-toolbar-overlord>.tox-toolbar__overflow,.tox .tox-toolbar-overlord>.tox-toolbar__primary{background-position:center top 0;background-size:calc(100% - 4px * 2) calc(100% - 0px)}.tox .tox-toolbar__overflow.tox-toolbar__overflow--closed{height:0;opacity:0;padding-bottom:0;padding-top:0;visibility:hidden}.tox .tox-toolbar__overflow--growing{transition:height .3s ease,opacity .2s linear .1s}.tox .tox-toolbar__overflow--shrinking{transition:opacity .3s ease,height .2s linear .1s,visibility 0s linear .3s}.tox .tox-anchorbar,.tox .tox-toolbar-overlord{grid-column:1/-1}.tox .tox-menubar+.tox-toolbar,.tox .tox-menubar+.tox-toolbar-overlord{border-top:1px solid #ccc;margin-top:-1px;padding-bottom:0;padding-top:0}@media (forced-colors:active){.tox .tox-menubar+.tox-toolbar,.tox .tox-menubar+.tox-toolbar-overlord{outline:1px solid currentColor}}.tox .tox-toolbar--scrolling{flex-wrap:nowrap;overflow-x:auto}.tox .tox-pop .tox-toolbar{border-width:0}.tox .tox-toolbar--no-divider{background-image:none}.tox .tox-toolbar-overlord .tox-toolbar:not(.tox-toolbar--scrolling):first-child,.tox .tox-toolbar-overlord .tox-toolbar__primary{background-position:center top 39px}.tox .tox-editor-header>.tox-toolbar--scrolling,.tox .tox-toolbar-overlord .tox-toolbar--scrolling:first-child{background-image:none}.tox .tox-focusable-wrapper{border:1px solid transparent;margin-right:2px;pointer-events:none}.tox .tox-focusable-wrapper .tox-textfield-size{pointer-events:all}.tox .tox-focusable-wrapper:focus{background-color:#dee0e2;border-radius:3px;border-style:solid;border-width:1px}.tox.tox-tinymce-aux .tox-toolbar__overflow{background-color:#fff;background-position:center top 43px;background-size:calc(100% - 8px * 2) calc(100% - 51px);border:none;border-radius:3px;box-shadow:0 0 2px 0 rgba(34,47,62,.2),0 4px 8px 0 rgba(34,47,62,.15);overscroll-behavior:none;padding:4px 0}@media (forced-colors:active){.tox.tox-tinymce-aux .tox-toolbar__overflow{border:solid}}.tox-pop .tox-pop__dialog .tox-toolbar{background-position:center top 43px;background-size:calc(100% - 4px * 2) calc(100% - 51px);padding:4px 0}.tox-context-form__group{display:flex;align-items:center}.tox .tox-toolbar__group{align-items:center;display:flex;flex-wrap:wrap;margin:0 0;padding:0 4px 0 4px}.tox .tox-toolbar__group--pull-right{margin-left:auto}.tox .tox-toolbar--scrolling .tox-toolbar__group{flex-shrink:0;flex-wrap:nowrap}.tox:not([dir=rtl]) .tox-toolbar__group:not(:last-of-type){border-right:1px solid #ccc}.tox[dir=rtl] .tox-toolbar__group:not(:last-of-type){border-left:1px solid #ccc}.tox .tox-tooltip{display:inline-block;max-width:min(80%,15em);padding:8px 0 0 0;position:relative;width:max-content;z-index:1150}.tox .tox-tooltip__body{background-color:#222f3e;border-radius:3px;box-shadow:none;color:#fff;font-size:12px;font-style:normal;font-weight:600;overflow-wrap:break-word;padding:4px 6px;text-transform:none}@media (forced-colors:active){.tox .tox-tooltip__body{outline:outset 1px}}.tox .tox-tooltip__arrow{position:absolute}.tox .tox-tooltip--down .tox-tooltip__arrow{border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid #222f3e;bottom:0;left:50%;position:absolute;transform:translateX(-50%)}.tox .tox-tooltip--up .tox-tooltip__arrow{border-bottom:8px solid #222f3e;border-left:8px solid transparent;border-right:8px solid transparent;left:50%;position:absolute;top:0;transform:translateX(-50%)}.tox .tox-tooltip--right .tox-tooltip__arrow{border-bottom:8px solid transparent;border-left:8px solid #222f3e;border-top:8px solid transparent;position:absolute;right:0;top:50%;transform:translateY(-50%)}.tox .tox-tooltip--left .tox-tooltip__arrow{border-bottom:8px solid transparent;border-right:8px solid #222f3e;border-top:8px solid transparent;left:0;position:absolute;top:50%;transform:translateY(-50%)}.tox .tox-tree{display:flex;flex-direction:column}.tox .tox-tree .tox-trbtn{align-items:center;background:0 0;border:0;border-radius:4px;box-shadow:none;color:#222f3e;display:flex;flex:0 0 auto;font-size:14px;font-style:normal;font-weight:400;height:28px;margin-bottom:4px;margin-top:4px;outline:0;overflow:hidden;padding:0;padding-left:8px;text-transform:none}.tox .tox-tree .tox-trbtn .tox-tree__label{cursor:default;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tox .tox-tree .tox-trbtn svg{display:block;fill:#222f3e}.tox .tox-tree .tox-trbtn:focus{background:#dee0e2;border:0;box-shadow:none}.tox .tox-tree .tox-trbtn:hover{background:#dee0e2;border:0;box-shadow:none;color:#222f3e}.tox .tox-tree .tox-trbtn:hover svg{fill:#222f3e}.tox .tox-tree .tox-trbtn:active{background:#b1d0e6;border:0;box-shadow:none;color:#222f3e}.tox .tox-tree .tox-trbtn:active svg{fill:#222f3e}.tox .tox-tree .tox-trbtn--disabled,.tox .tox-tree .tox-trbtn--disabled:hover,.tox .tox-tree .tox-trbtn:disabled,.tox .tox-tree .tox-trbtn:disabled:hover{background:0 0;border:0;box-shadow:none;color:rgba(34,47,62,.5);cursor:not-allowed}.tox .tox-tree .tox-trbtn--disabled svg,.tox .tox-tree .tox-trbtn--disabled:hover svg,.tox .tox-tree .tox-trbtn:disabled svg,.tox .tox-tree .tox-trbtn:disabled:hover svg{fill:rgba(34,47,62,0.5)}.tox .tox-tree .tox-trbtn--enabled,.tox .tox-tree .tox-trbtn--enabled:hover{background:#b1d0e6;border:0;box-shadow:none;color:#222f3e}.tox .tox-tree .tox-trbtn--enabled:hover>*,.tox .tox-tree .tox-trbtn--enabled>*{transform:none}.tox .tox-tree .tox-trbtn--enabled svg,.tox .tox-tree .tox-trbtn--enabled:hover svg{fill:#222f3e}.tox .tox-tree .tox-trbtn:focus:not(.tox-trbtn--disabled){color:#222f3e}.tox .tox-tree .tox-trbtn:focus:not(.tox-trbtn--disabled) svg{fill:#222f3e}.tox .tox-tree .tox-trbtn:active>*{transform:none}.tox .tox-tree .tox-trbtn--return{align-self:stretch;height:unset;width:16px}.tox .tox-tree .tox-trbtn--labeled{padding:0 4px;width:unset}.tox .tox-tree .tox-trbtn__vlabel{display:block;font-size:10px;font-weight:400;letter-spacing:-.025em;margin-bottom:4px;white-space:nowrap}.tox .tox-tree .tox-tree--directory{display:flex;flex-direction:column}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label{font-weight:700}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label .tox-mbtn{margin-left:auto}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label .tox-mbtn svg{fill:transparent}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label .tox-mbtn.tox-mbtn--active svg,.tox .tox-tree .tox-tree--directory .tox-tree--directory__label .tox-mbtn:focus svg{fill:#222f3e}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label:focus .tox-mbtn svg,.tox .tox-tree .tox-tree--directory .tox-tree--directory__label:hover .tox-mbtn svg{fill:#222f3e}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label:hover:has(.tox-mbtn:hover){background-color:transparent;color:#222f3e}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label:hover:has(.tox-mbtn:hover) .tox-chevron svg{fill:#222f3e}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label .tox-chevron{margin-right:6px}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label:has(+ .tox-tree--directory__children--growing) .tox-chevron,.tox .tox-tree .tox-tree--directory .tox-tree--directory__label:has(+ .tox-tree--directory__children--shrinking) .tox-chevron{transition:transform .5s ease-in-out}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label:has(+ .tox-tree--directory__children--growing) .tox-chevron,.tox .tox-tree .tox-tree--directory .tox-tree--directory__label:has(+ .tox-tree--directory__children--open) .tox-chevron{transform:rotate(90deg)}.tox .tox-tree .tox-tree--leaf__label{font-weight:400}.tox .tox-tree .tox-tree--leaf__label .tox-mbtn{margin-left:auto}.tox .tox-tree .tox-tree--leaf__label .tox-mbtn svg{fill:transparent}.tox .tox-tree .tox-tree--leaf__label .tox-mbtn.tox-mbtn--active svg,.tox .tox-tree .tox-tree--leaf__label .tox-mbtn:focus svg{fill:#222f3e}.tox .tox-tree .tox-tree--leaf__label:hover .tox-mbtn svg{fill:#222f3e}.tox .tox-tree .tox-tree--leaf__label:hover:has(.tox-mbtn:hover){background-color:transparent;color:#222f3e}.tox .tox-tree .tox-tree--leaf__label:hover:has(.tox-mbtn:hover) .tox-chevron svg{fill:#222f3e}.tox .tox-tree .tox-icon-custom-state{flex-grow:1;display:flex;justify-content:flex-end}.tox .tox-tree .tox-tree--directory__children{overflow:hidden;padding-left:16px}.tox .tox-tree .tox-tree--directory__children.tox-tree--directory__children--growing,.tox .tox-tree .tox-tree--directory__children.tox-tree--directory__children--shrinking{transition:height .5s ease-in-out}.tox .tox-tree .tox-trbtn.tox-tree--leaf__label{display:flex;justify-content:space-between}[data-mce-name=uploadcare-enhance-filter] .color-swatch-remove-color path{fill:#c00;stroke:#c00}.tox .tox-view-wrap,.tox .tox-view-wrap__slot-container{background-color:#fff;display:flex;flex:1;flex-direction:column;height:100%}.tox .tox-view{display:flex;flex:1 1 auto;flex-direction:column;overflow:hidden;background-color:#fff}.tox .tox-view__header{align-items:center;display:flex;font-size:16px;justify-content:space-between;padding:8px;position:relative}.tox .tox-view__label{color:#222f3e;font-weight:700;line-height:24px;padding:4px 16px;text-align:center;white-space:nowrap}.tox .tox-view__label--normal{font-size:16px}.tox .tox-view__label--large{font-size:20px}.tox .tox-view--mobile.tox-view__header,.tox .tox-view--mobile.tox-view__toolbar{padding:8px}.tox .tox-view--scrolling{flex-wrap:nowrap;overflow-x:auto}.tox .tox-view__align-right{margin-left:auto}.tox .tox-view__toolbar{display:flex;flex-direction:row;gap:8px;justify-content:space-between;overflow-x:auto;padding:8px}.tox .tox-view__toolbar__group{display:flex;flex-direction:row;gap:12px}.tox .tox-view__header-end,.tox .tox-view__header-start{display:flex}.tox .tox-view__pane{height:100%;padding:8px;position:relative;width:100%}.tox .tox-view__pane_panel{border:1px solid #ccc;border-radius:3px}.tox:not([dir=rtl]) .tox-view__header .tox-view__header-end>*,.tox:not([dir=rtl]) .tox-view__header .tox-view__header-start>*{margin-left:8px}.tox[dir=rtl] .tox-view__header .tox-view__header-end>*,.tox[dir=rtl] .tox-view__header .tox-view__header-start>*{margin-right:8px}.tox .tox-well{border:1px solid #ccc;border-radius:3px;padding:8px;width:100%}.tox .tox-well>:first-child{margin-top:0}.tox .tox-well>:last-child{margin-bottom:0}.tox .tox-well>:only-child{margin:0}.tox .tox-custom-editor{border:1px solid #ccc;border-radius:3px;display:flex;flex:1;overflow:hidden;position:relative}.tox .tox-view .tox-revisionhistory__pane{padding:0}.tox .tox-revisionhistory__container{display:flex;flex-direction:column;height:100%}.tox .tox-revisionhistory{background-color:#fff;border-top:1px solid #f0f0f0;display:flex;flex:1;height:100%;overflow-x:auto;overflow-y:hidden;position:relative;width:100%}.tox .tox-revisionhistory__iframe{flex:1}.tox .tox-revisionhistory__sidebar{display:flex;flex-direction:column;height:100%;min-width:248px;width:316px}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__sidebar-title{background-color:#fff;box-shadow:0 4px 8px 0 rgba(34,47,62,.1);color:#222f3e;font-size:20px;font-weight:400;line-height:28px;padding:12px;z-index:1}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions{background-color:#f0f0f0;display:flex;flex:1;flex-direction:column;gap:12px;overflow-y:auto;padding:10px 12px}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions:focus{height:100%;position:relative;z-index:1}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions:focus::after{bottom:0;box-shadow:0 0 0 0 transparent;content:'';left:0;position:absolute;right:0;top:0;border-radius:3px;bottom:1px;left:1px;right:1px;top:1px}@media (forced-colors:active){.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions:focus::after{border:2px solid highlight}}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card{background-color:#fff;border:1px solid #f0f0f0;border-radius:6px;color:#222f3e;cursor:pointer;display:flex;flex-direction:column;font-size:14px;padding:12px;width:100%}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card:hover{box-shadow:0 4px 8px 0 rgba(34,47,62,.1)}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card:focus{position:relative;z-index:1}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card:focus::after{border-radius:3px;bottom:0;box-shadow:0 0 0 0 transparent #006ce7;content:'';left:0;position:absolute;right:0;top:0;border-radius:6px;box-shadow:0 0 0 2px #006ce7;box-shadow:0 0 0 2px #006ce7!important}@media (forced-colors:active){.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card:focus::after{border:2px solid highlight}}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card.tox-revisionhistory__card--selected{background-color:#fff5cc;box-shadow:0 4px 8px 0 rgba(34,47,62,.1);position:relative}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card.tox-revisionhistory__card--selected::after{border-radius:3px;bottom:0;box-shadow:0 0 0 0 transparent #e3b82a;content:'';left:0;position:absolute;right:0;top:0;border-radius:6px;box-shadow:0 0 0 2px #e3b82a}@media (forced-colors:active){.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card.tox-revisionhistory__card--selected::after{border:2px solid highlight}}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card-label{display:block;width:min-content;padding:4px 8px;margin-bottom:8px;font-size:12px;font-weight:700;border-radius:4px;background:#d3d5d8}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card-content{display:flex;flex-direction:row;gap:8px;align-items:center}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card-info{display:flex;flex-direction:column;flex:1}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card-date-label{font-size:14px;font-weight:700;line-height:18px}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card-author-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:400}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__avatar{border-radius:50%;height:36px;object-fit:cover;vertical-align:middle;width:36px}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__norevision{color:rgba(34,47,62,.7);font-size:16px;line-height:24px;padding:5px 5.5px}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card-check-icon{color:#222f3e;height:24px}.tox [data-mce-name=suggestededits] .tox-icon .tox-icon--badge{fill:#207ab7}.tox .tox-view .tox-suggestededits__pane{padding:0}.tox .tox-suggestededits__sink{position:relative;z-index:1000}.tox .tox-suggestededits__sink .tox-tiered-menu .tox-collection--list{position:absolute}.tox .tox-suggestededits__container{height:100%;display:flex;flex-direction:column}.tox .tox-suggestededits__container .tox-suggestededits{background-color:#fff;border-top:1px solid #ccc;display:flex;flex:1;height:inherit;overflow-x:auto;overflow-y:hidden;position:relative}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__content{flex:1}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__model{height:100%;position:relative}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__model .tox-suggestededits__iframe{height:100%;width:100%;overflow:scroll;background-color:#fff}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar{background-color:#f0f0f0;display:flex;flex-direction:column;flex:0 1 auto;min-width:248px;width:316px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-header{padding:4px 12px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content{display:flex;flex:1;flex-direction:column;gap:12px;overflow:auto;padding:6px 12px 12px 12px;position:relative}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card{background-color:#fff;border-radius:6px;padding:6px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--divider{background-color:#f0f0f0;height:1px;width:100%}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--editor,.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--single{align-items:flex-start;align-self:stretch;display:flex;flex-direction:column;gap:6px;padding:6px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header{display:flex;flex:auto;justify-content:space-between;align-items:center;gap:8px;width:100%}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__card--user{display:flex;align-items:center;flex:1 0 0;gap:8px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__card--user .tox-suggestededits__card--avatar{height:24px;width:24px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__card--user .tox-suggestededits__card--avatar .tox-skeleton__circle,.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__card--user .tox-suggestededits__card--avatar img{height:24px;width:24px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__card--user .tox-suggestededits__card--details{display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__card--user .tox-suggestededits__card--details .tox-suggestededits__card--name{color:#222f3e}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__card--feedback-user{display:flex;align-items:center;flex:1 0 0;gap:8px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__card--feedback-user .tox-suggestededits__card--avatar{height:36px;width:36px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__card--feedback-user .tox-suggestededits__card--details{display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__card--feedback-user .tox-suggestededits__card--details .tox-suggestededits__card--name{color:#222f3e;font-size:14px;font-weight:700}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__card--feedback-user .tox-suggestededits__card--details .tox-suggestededits__card--timestamp{color:#222f3e;font-size:12px;line-height:18px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__resolution{align-items:center;border:0;border-radius:20px;height:20px;width:20px;display:flex;flex:0 0 auto;justify-content:center;text-align:center}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__resolution.tox-suggestededits__resolution--accepted .tox-icon svg{fill:#78AB46}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__resolution.tox-suggestededits__resolution--rejected .tox-icon svg{fill:#c00}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--content{display:flex;flex-direction:column;align-self:stretch;flex:auto;gap:6px;width:100%}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--content .tox-suggestededits__operations{display:flex;gap:8px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--content .tox-suggestededits__operations .tox-suggestededits__operations-bar{align-items:center;border-radius:6px;display:flex;flex-direction:column;font-size:12px;justify-content:space-between;width:6px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--content .tox-suggestededits__operations .tox-suggestededits__operations-bar--insert{background-color:#78ab46;width:100%}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--content .tox-suggestededits__operations .tox-suggestededits__operations-bar--modify{background-color:#207ab7;width:100%}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--content .tox-suggestededits__operations .tox-suggestededits__operations-bar--remove{background-color:#c00;width:100%}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--content .tox-suggestededits__operations .tox-suggestededits__operations-text{color:#222f3e;font-weight:700}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--content .tox-suggestededits__card--feedback{color:#222f3e;width:100%}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--content .tox-suggestededits__card--textarea{border:2px solid #ccc;border-radius:6px;color:#222f3e;gap:8px;padding:5px 6px;resize:none;width:100%}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--content .tox-suggestededits__card--textarea:focus{border:2px solid #207ab7}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--footer{display:flex;flex-direction:column;gap:6px;width:100%}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--footer .tox-suggestededits__card--timestamp{color:#222f3e;font-size:12px;line-height:18px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--footer .tox-suggestededits__card--timestamp .tox-icon svg{fill:#222F3E80;transform:translate(0,8px);margin-top:-10px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--buttons{display:flex;align-items:center;gap:8px;width:100%}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--buttons.tox-suggestededits__card--review-buttons{justify-content:space-between;padding:6px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--buttons.tox-suggestededits__card--feedback-buttons{justify-content:flex-end}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card.tox-suggestededits__card--hidden{opacity:.5}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card.tox-suggestededits__card--resolved{background-color:#d3d5d8}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card.tox-suggestededits__card--active:focus,.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card.tox-suggestededits__card--active:focus-visible{outline:2px solid #207ab7}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card.tox-suggestededits__card--active .tox-suggestededits__card--single{border-radius:6px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card.tox-suggestededits__card--active .tox-suggestededits__card--single:focus,.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card.tox-suggestededits__card--active .tox-suggestededits__card--single:focus-visible{outline:2px solid #207ab7}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card:hover{box-shadow:0 4px 8px 0 #d3d5d8}.tox .tox-dialog-loading::before{background-color:rgba(0,0,0,.5);content:\"\";height:100%;position:absolute;width:100%;z-index:1000}.tox .tox-tab{cursor:pointer}.tox .tox-dialog__content-js{display:flex;flex:1}.tox .tox-dialog__body-content .tox-collection{display:flex;flex:1}.tox:not(.tox-tinymce-inline) .tox-editor-header{background-color:none;padding:0}.tox.tox-tinymce--toolbar-bottom .tox-editor-header,.tox.tox-tinymce-inline .tox-editor-header{margin-bottom:-1px}.tox.tox-tinymce-inline .tox-editor-container{overflow:hidden}.tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-bottom .tox-editor-header{border-top:none;box-shadow:none}.tox.tox.tox-tinymce--toolbar-sticky-on .tox-editor-header{background-color:transparent;box-shadow:0 4px 4px -3px rgba(0,0,0,.25);padding:0}.tox.tox.tox-tinymce--toolbar-sticky-on.tox-tinymce--toolbar-bottom .tox-editor-header{box-shadow:0 4px 4px -3px rgba(0,0,0,.25)}.tox .tox-collection--list .tox-collection__group .tox-insert-table-picker{margin:-4px 0}.tox .tox-menu.tox-collection.tox-collection--list{padding:0}.tox .tox-pop{box-shadow:none}.tox .tox-label,.tox .tox-number-input,.tox .tox-split-button,.tox .tox-tbtn,.tox .tox-tbtn--select,.tox .tox-toolbar-label{margin:2px 0 3px 0}.tox .tox-tbtn--bordered,.tox .tox-tbtn--bordered:focus,.tox .tox-tbtn--bordered:hover{border:1px solid #ccc}.tox .tox-toolbar,.tox .tox-toolbar__overflow,.tox .tox-toolbar__primary{background:url(\"data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='%23cccccc'/%3E%3C/svg%3E\") left 0 top 0 #fff!important}.tox .tox-menubar+.tox-toolbar-overlord{border-top:none}.tox .tox-menubar+.tox-toolbar,.tox .tox-menubar+.tox-toolbar-overlord .tox-toolbar__primary{border-top:1px solid #ccc;margin-top:-1px}.tox.tox-tinymce-aux .tox-toolbar__overflow{border:1px solid #ccc;padding:0}.tox .tox-pop .tox-pop__dialog .tox-toolbar{padding:0}.tox:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-menubar{border-top:1px solid #ccc}.tox:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-toolbar-overlord:first-child .tox-toolbar__primary,.tox:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-toolbar:first-child{border-top:1px solid #ccc}.tox .tox-toolbar__group{padding:0 4px 0 4px}.tox .tox-collection__item{border-radius:0;cursor:pointer}.tox .tox-statusbar a:focus:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar a:hover:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__path-item:focus:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__path-item:hover:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__wordcount:focus:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__wordcount:hover:not(:disabled):not([aria-disabled=true]){color:#222f3e}.tox .tox-statusbar__branding svg{fill:rgba(34,47,62,0.8);height:1em;margin-left:.3em;width:auto}@media (forced-colors:active){.tox .tox-statusbar__branding svg{fill:currentColor}}.tox .tox-statusbar__branding a{align-items:center;display:inline-flex}.tox .tox-statusbar__branding a:focus:not(:disabled):not([aria-disabled=true]) svg,.tox .tox-statusbar__branding a:hover:not(:disabled):not([aria-disabled=true]) svg{fill:#222f3e}.tox:not([dir=rtl]) .tox-statusbar__branding{margin-left:1ch}.tox[dir=rtl] .tox-statusbar__branding svg{margin-left:0;margin-right:.3em}.tox .tox-statusbar__resize-handle{padding-bottom:0;padding-right:0}.tox .tox-button::before{display:none}`)"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/skins/ui/tinymce-5/skin.shadowdom.js",
    "content": "tinymce.Resource.add('ui/tinymce-5/skin.shadowdom.css', `body.tox-dialog__disable-scroll{overflow:hidden}.tox-fullscreen{border:0;height:100%;margin:0;overflow:hidden;overscroll-behavior:none;padding:0;touch-action:pinch-zoom;width:100%}.tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle{display:none}.tox-shadowhost.tox-fullscreen,.tox.tox-tinymce.tox-fullscreen{left:0;position:fixed;top:0;z-index:1200}.tox.tox-tinymce.tox-fullscreen{background-color:transparent}.tox-fullscreen .tox.tox-tinymce-aux,.tox-fullscreen~.tox.tox-tinymce-aux{z-index:1201}`)"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/skins/ui/tinymce-5-dark/content.inline.js",
    "content": "/* This file is bundled with the code from the following third party libraries */\n\n/**\n * http://prismjs.com/\n * Dracula Theme originally by Zeno Rocha [@zenorocha]\n * https://draculatheme.com/\n *\n * Ported for PrismJS by Albert Vallverdu [@byverdu]\n */\ntinymce.Resource.add('ui/tinymce-5-dark/content.inline.css', `@keyframes tox-rotation{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.mce-content-body .mce-item-anchor{background:transparent url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A\") no-repeat center}.mce-content-body .mce-item-anchor:empty{cursor:default;display:inline-block;height:12px!important;padding:0 2px;-webkit-user-modify:read-only;-moz-user-modify:read-only;-webkit-user-select:all;user-select:all;width:8px!important}.mce-content-body .mce-item-anchor:not(:empty){background-position-x:2px;display:inline-block;padding-left:12px}.mce-content-body .mce-item-anchor[data-mce-selected]{outline-offset:1px}.tox-comments-visible .tox-comment[contenteditable=false]:not([data-mce-selected]),.tox-comments-visible span.tox-comment img:not([data-mce-selected]),.tox-comments-visible span.tox-comment span.mce-preview-object:not([data-mce-selected]),.tox-comments-visible span.tox-comment>audio:not([data-mce-selected]),.tox-comments-visible span.tox-comment>video:not([data-mce-selected]){outline:3px solid #ffe796}.tox-comments-visible .tox-comment[contenteditable=false][data-mce-annotation-active=true]:not([data-mce-selected]){outline:3px solid #ffcf30}.tox-comments-visible span.tox-comment:not([data-mce-selected]){background-color:#ffe796;outline:0}.tox-comments-visible span.tox-comment[data-mce-annotation-active=true]:not([data-mce-selected=inline-boundary]){background-color:#ffcf30}.tox-comments-visible span.tox-comment[data-mce-selected]{background-color:#ffcf30;border-radius:3px;box-shadow:0 0 0 2px #006ce7}.tox-comments-visible span.tox-comment[data-mce-selected]:has(img[data-mce-selected],> audio[data-mce-selected],> video[data-mce-selected],span.mce-preview-object[data-mce-selected]){box-shadow:none}.tox-comments-visible span.tox-comment[data-mce-selected] img:not([data-mce-selected]),.tox-comments-visible span.tox-comment[data-mce-selected] span.mce-preview-object:not([data-mce-selected]),.tox-comments-visible span.tox-comment[data-mce-selected]>audio:not([data-mce-selected]),.tox-comments-visible span.tox-comment[data-mce-selected]>video:not([data-mce-selected]){box-shadow:0 0 0 5px #006ce7}.tox-comments-visible span.tox-comment[data-mce-annotation-active=true] img:not([data-mce-selected]),.tox-comments-visible span.tox-comment[data-mce-annotation-active=true] span.mce-preview-object:not([data-mce-selected]),.tox-comments-visible span.tox-comment[data-mce-annotation-active=true]>audio:not([data-mce-selected]),.tox-comments-visible span.tox-comment[data-mce-annotation-active=true]>video:not([data-mce-selected]){outline:3px solid #ffcf30}.tox-checklist>li:not(.tox-checklist--hidden){list-style:none;margin:.25em 0}.tox-checklist>li:not(.tox-checklist--hidden)::before{content:url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A\");cursor:pointer;height:1em;margin-left:-1.5em;margin-top:.125em;position:absolute;width:1em}.tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before{content:url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A\")}[dir=rtl] .tox-checklist>li:not(.tox-checklist--hidden)::before{margin-left:0;margin-right:-1.5em}code[class*=language-],pre[class*=language-]{color:#000;background:0 0;text-shadow:0 1px #fff;font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;tab-size:4;hyphens:none}code[class*=language-] ::selection,code[class*=language-]::selection,pre[class*=language-] ::selection,pre[class*=language-]::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#f5f2f0}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#708090}.token.punctuation{color:#999}.token.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#905}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#690}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url{color:#9a6e3a;background:hsla(0,0%,100%,.5)}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.class-name,.token.function{color:#dd4a68}.token.important,.token.regex,.token.variable{color:#e90}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.mce-content-body{overflow-wrap:break-word;word-wrap:break-word}.mce-content-body .mce-visual-caret{background-color:#000;background-color:currentColor;position:absolute}.mce-content-body .mce-visual-caret-hidden{display:none}.mce-content-body [data-mce-caret]{left:-1000px;margin:0;padding:0;position:absolute;right:auto;top:0}.mce-content-body .mce-offscreen-selection{left:-2000000px;max-width:1000000px;position:absolute}.mce-content-body [contentEditable=false]{cursor:default}.mce-content-body [contentEditable=true]{cursor:text}.tox-cursor-format-painter{cursor:url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A\"),default}div.mce-footnotes hr{margin-inline:0 auto;width:25%}div.mce-footnotes li>a.mce-footnotes-backlink{-webkit-text-decoration:none;text-decoration:none}@media print{sup.mce-footnote a{color:#000;-webkit-text-decoration:none;text-decoration:none}div.mce-footnotes{page-break-inside:avoid;break-inside:avoid;width:100%}div.mce-footnotes li>a.mce-footnotes-backlink{display:none}}tiny-math-block{display:flex;justify-content:center;margin:16px 0 16px 0}tiny-math-inline{display:inline-block}.mce-content-body figure.align-left{float:left}.mce-content-body figure.align-right{float:right}.mce-content-body figure.image.align-center{display:table;margin-left:auto;margin-right:auto}.mce-preview-object{border:1px solid gray;display:inline-block;line-height:0;margin:0 2px;position:relative}.mce-preview-object .mce-shim{background:url(\"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\");height:100%;left:0;position:absolute;top:0;width:100%}.mce-preview-object[data-mce-selected=\"2\"] .mce-shim{display:none}.mce-content-body .mce-mergetag{cursor:default!important;-webkit-user-select:none;user-select:none}.mce-content-body .mce-mergetag:hover{background-color:rgba(0,108,231,.1)}.mce-content-body .mce-mergetag-affix{background-color:rgba(0,108,231,.1);color:#006ce7}.mce-object{background:transparent url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A\") no-repeat center;border:1px dashed #aaa}.mce-pagebreak{border:1px dashed #aaa;cursor:default;display:block;height:5px;margin-top:15px;page-break-before:always;width:100%}@media print{.mce-pagebreak{border:0}}.tiny-pageembed .mce-shim{background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);height:100%;left:0;position:absolute;top:0;width:100%}.tiny-pageembed[data-mce-selected=\"2\"] .mce-shim{display:none}.tiny-pageembed{display:inline-block;position:relative}.tiny-pageembed--16by9,.tiny-pageembed--1by1,.tiny-pageembed--21by9,.tiny-pageembed--4by3{display:block;overflow:hidden;padding:0;position:relative;width:100%}.tiny-pageembed--21by9{padding-top:42.857143%}.tiny-pageembed--16by9{padding-top:56.25%}.tiny-pageembed--4by3{padding-top:75%}.tiny-pageembed--1by1{padding-top:100%}.tiny-pageembed--16by9 iframe,.tiny-pageembed--1by1 iframe,.tiny-pageembed--21by9 iframe,.tiny-pageembed--4by3 iframe{border:0;height:100%;left:0;position:absolute;top:0;width:100%}.mce-content-body[data-mce-placeholder]{position:relative}.mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before{color:rgba(34,47,62,.7);content:attr(data-mce-placeholder);position:absolute}@media (forced-colors:active){.mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before{color:highlight;filter:brightness(30%);z-index:-1}}.mce-content-body:not([dir=rtl])[data-mce-placeholder]:not(.mce-visualblocks)::before{left:1px}.mce-content-body[dir=rtl][data-mce-placeholder]:not(.mce-visualblocks)::before{right:1px}@media print{.mce-content-body .mce-placeholder,.mce-content-body [data-mce-bogus=all],.mce-content-body [data-mce-bogus]{display:none!important}.mce-content-body .mce-visual-caret{display:none!important}.mce-content-body .mce-edit-focus,.mce-content-body :focus,.mce-content-body [data-mce-selected]{outline:0!important}}.mce-content-body div.mce-resizehandle{background-color:#4099ff;border-color:#4099ff;border-style:solid;border-width:1px;box-sizing:border-box;height:10px;position:absolute;width:10px;z-index:1298}.mce-content-body div.mce-resizehandle:hover{background-color:#4099ff}.mce-content-body div.mce-resizehandle:first-of-type{cursor:nwse-resize}.mce-content-body div.mce-resizehandle:nth-of-type(2){cursor:nesw-resize}.mce-content-body div.mce-resizehandle:nth-of-type(3){cursor:nwse-resize}.mce-content-body div.mce-resizehandle:nth-of-type(4){cursor:nesw-resize}.mce-content-body .mce-resize-backdrop{z-index:10000}.mce-content-body .mce-clonedresizable{cursor:default;opacity:.5;outline:1px dashed black;position:absolute;z-index:10001}.mce-content-body .mce-clonedresizable.mce-resizetable-columns td,.mce-content-body .mce-clonedresizable.mce-resizetable-columns th{border:0}.mce-content-body .mce-resize-helper{background:#555;background:rgba(0 0 0%);border:1px;border-radius:3px;color:#fff;display:none;font-family:sans-serif;font-size:12px;line-height:14px;margin:5px 10px;padding:5px;position:absolute;white-space:nowrap;z-index:10002}.tox-rtc-user-selection{position:relative}.tox-rtc-user-cursor{bottom:0;cursor:default;position:absolute;top:0;width:2px}.tox-rtc-user-cursor::before{background-color:inherit;border-radius:50%;content:'';display:block;height:8px;position:absolute;right:-3px;top:-3px;width:8px}.tox-rtc-user-cursor:hover::after{background-color:inherit;border-radius:100px;box-sizing:border-box;color:#fff;content:attr(data-user);display:block;font-size:12px;font-weight:700;left:-5px;min-height:8px;min-width:8px;padding:0 12px;position:absolute;top:-11px;white-space:nowrap;z-index:1000}.tox-rtc-user-selection--1 .tox-rtc-user-cursor{background-color:#2dc26b}.tox-rtc-user-selection--2 .tox-rtc-user-cursor{background-color:#e03e2d}.tox-rtc-user-selection--3 .tox-rtc-user-cursor{background-color:#f1c40f}.tox-rtc-user-selection--4 .tox-rtc-user-cursor{background-color:#3598db}.tox-rtc-user-selection--5 .tox-rtc-user-cursor{background-color:#b96ad9}.tox-rtc-user-selection--6 .tox-rtc-user-cursor{background-color:#e67e23}.tox-rtc-user-selection--7 .tox-rtc-user-cursor{background-color:#aaa69d}.tox-rtc-user-selection--8 .tox-rtc-user-cursor{background-color:#f368e0}.tox-rtc-remote-image{background:#eaeaea url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A\") no-repeat center center;border:1px solid #ccc;min-height:240px;min-width:320px}.mce-match-marker{background:#aaa;color:#fff}.mce-match-marker-selected{background:#39f;color:#fff}.mce-match-marker-selected::selection{background:#39f;color:#fff}.mce-content-body audio[data-mce-selected],.mce-content-body details[data-mce-selected],.mce-content-body embed[data-mce-selected],.mce-content-body img[data-mce-selected],.mce-content-body object[data-mce-selected],.mce-content-body table[data-mce-selected],.mce-content-body video[data-mce-selected]{outline:3px solid #b4d7ff}.mce-content-body hr[data-mce-selected]{outline:3px solid #b4d7ff;outline-offset:1px}.mce-content-body [contentEditable=false] [contentEditable=true]:focus{outline:3px solid #b4d7ff}.mce-content-body [contentEditable=false] [contentEditable=true]:hover{outline:3px solid #b4d7ff}.mce-content-body [contentEditable=false][data-mce-selected]{cursor:not-allowed;outline:3px solid #b4d7ff}.mce-content-body [data-mce-selected=inline-boundary]{background-color:#b4d7ff}.mce-content-body .mce-edit-focus{outline:3px solid #b4d7ff}.mce-content-body td[data-mce-selected],.mce-content-body th[data-mce-selected]{position:relative}.mce-content-body td[data-mce-selected]::selection,.mce-content-body th[data-mce-selected]::selection{background:0 0}.mce-content-body td[data-mce-selected] *,.mce-content-body th[data-mce-selected] *{outline:0;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.mce-content-body td[data-mce-selected]::after,.mce-content-body th[data-mce-selected]::after{background-color:rgba(180,215,255,.7);border:1px solid rgba(180,215,255,.7);bottom:-1px;content:'';left:-1px;mix-blend-mode:multiply;position:absolute;right:-1px;top:-1px}.mce-content-body img[data-mce-selected]::selection{background:0 0}.ephox-snooker-resizer-bar{background-color:#b4d7ff;opacity:0;-webkit-user-select:none;user-select:none}.ephox-snooker-resizer-cols{cursor:col-resize}.ephox-snooker-resizer-rows{cursor:row-resize}.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging{opacity:1}.mce-spellchecker-word{background-image:url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A\");background-position:0 calc(100% + 1px);background-repeat:repeat-x;background-size:auto 6px;cursor:default;height:2rem}.mce-spellchecker-grammar{background-image:url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A\");background-position:0 calc(100% + 1px);background-repeat:repeat-x;background-size:auto 6px;cursor:default}.tox-suggestededits__annotation--added,.tox-suggestededits__annotation--modified,.tox-suggestededits__annotation--removed{-webkit-text-decoration:none;text-decoration:none}.tox-suggestededits__annotation--added__highlight{background-color:rgba(120,171,70,.2);-webkit-text-decoration:underline;text-decoration:underline}.tox-suggestededits__annotation--added__selected{background-color:rgba(120,171,70,.2);box-shadow:0 -2px 0 0 #006ce7 inset,0 -2px 0 0 #006ce7;-webkit-text-decoration:none;text-decoration:none}.tox-suggestededits__annotation--modified__highlight{background-color:rgba(0,108,231,.2);-webkit-text-decoration:underline;text-decoration:underline}.tox-suggestededits__annotation--modified__selected{background-color:rgba(0,108,231,.2);box-shadow:0 -2px 0 0 #006ce7 inset,0 -2px 0 0 #006ce7;-webkit-text-decoration:none;text-decoration:none}.tox-suggestededits__annotation--removed__highlight{background-color:rgba(204,0,0,.2);-webkit-text-decoration:line-through;text-decoration:line-through}.tox-suggestededits__annotation--removed__selected{background-color:rgba(204,0,0,.2);box-shadow:0 -2px 0 0 #006ce7 inset,0 -2px 0 0 #006ce7;-webkit-text-decoration:line-through;text-decoration:line-through}.tox-suggestededits__annotation--added.tox-suggestededits__annotation--added__hidden,.tox-suggestededits__annotation--modified.tox-suggestededits__annotation--modified__hidden,.tox-suggestededits__annotation--removed.tox-suggestededits__annotation--removed__hidden{display:none;-webkit-text-decoration:none;text-decoration:none}:has(> div > iframe).tox-suggestededits__annotation--added,:has(> div > iframe).tox-suggestededits__annotation--modified,:has(> div > iframe).tox-suggestededits__annotation--removed{padding:7px;margin:5px}iframe.tox-suggestededits__annotation--added__highlight,img.tox-suggestededits__annotation--added__highlight,video.tox-suggestededits__annotation--added__highlight{outline:.25em solid rgba(120,171,70,.2);padding:.25em}iframe.tox-suggestededits__annotation--added__selected,img.tox-suggestededits__annotation--added__selected,video.tox-suggestededits__annotation--added__selected{border:.25em solid rgba(120,171,70,.2);outline:.125em solid #006ce7;padding:0}iframe.tox-suggestededits__annotation--modified__highlight,img.tox-suggestededits__annotation--modified__highlight,video.tox-suggestededits__annotation--modified__highlight{outline:.25em solid rgba(0,108,231,.2);padding:.25em}iframe.tox-suggestededits__annotation--modified__selected,img.tox-suggestededits__annotation--modified__selected,video.tox-suggestededits__annotation--modified__selected{border:.25em solid rgba(0,108,231,.2);outline:.125em solid #006ce7;padding:0}iframe.tox-suggestededits__annotation--removed__highlight,img.tox-suggestededits__annotation--removed__highlight,video.tox-suggestededits__annotation--removed__highlight{outline:.25em solid rgba(204,0,0,.2);padding:.25em}iframe.tox-suggestededits__annotation--removed__selected,img.tox-suggestededits__annotation--removed__selected,video.tox-suggestededits__annotation--removed__selected{border:.25em solid rgba(204,0,0,.2);outline:.125em solid #006ce7;padding:0}div.tox-suggestededits__annotation:has(> hr){padding:.25em}div.tox-suggestededits__annotation--removed__highlight>hr{border-color:rgba(0,0,0,.2)}div.tox-suggestededits__annotation--added__highlight>hr{border-color:rgba(0,0,0,.2)}.mce-pagebreak.tox-suggestededits__annotation--added__selected,.mce-pagebreak.tox-suggestededits__annotation--modified__selected,.mce-pagebreak.tox-suggestededits__annotation--removed__selected{border:1px dashed #aaa;box-shadow:none}.mce-pagebreak.tox-suggestededits__annotation--added__highlight,.mce-pagebreak.tox-suggestededits__annotation--modified__highlight,.mce-pagebreak.tox-suggestededits__annotation--removed__highlight{padding:0}.mce-toc{border:1px solid gray}.mce-toc h2{margin:4px}.mce-toc ul>li{list-style-type:none}[data-mce-block]{display:block}.mce-item-table:not([border]),.mce-item-table:not([border]) caption,.mce-item-table:not([border]) td,.mce-item-table:not([border]) th,.mce-item-table[border=\"0\"],.mce-item-table[border=\"0\"] caption,.mce-item-table[border=\"0\"] td,.mce-item-table[border=\"0\"] th,table[style*=\"border-width: 0px\"],table[style*=\"border-width: 0px\"] caption,table[style*=\"border-width: 0px\"] td,table[style*=\"border-width: 0px\"] th{border:1px dashed #bbb}.tox-uc-loading-background{width:100%;height:100%;background:rgba(255,255,255,.5)}.tox-uc-loading-spinner-wrapper{width:100%;height:100%;display:flex;justify-content:center;align-items:center}.tox-uc-loading-spinner{width:min(24px,30%);aspect-ratio:1;border-radius:50%;border:3px solid #006ce7;border-bottom-color:transparent;animation:tox-rotation 1s linear infinite}.tox-uc-video{display:block;position:relative;margin:16px 0 16px 0}.tox-uc-video:not([data-mce-selected]):after{content:\"\";position:absolute;top:0;left:0;width:100%;height:100%}.tox-uploadcare-placeholder{all:initial;display:inline-block;position:relative;width:min(100%,600px);height:80px;--tox-uploadcare-placeholder--content-cursor:auto!important;--tox-uploadcare-placeholder--content-color:rgba(34, 47, 62, 0.7);--tox-uploadcare-placeholder--content-background-color:#fff;--tox-uploadcare-placeholder--content-border:2px solid #e3e3e3;--tox-uploadcare-placeholder--content-font-family:monospace,sans-serif;--tox-uploadcare-placeholder--content-height:100%;--tox-uploadcare-placeholder--content-width:100%;--tox-uploadcare-placeholder--content-display:inline-flex;--tox-uploadcare-placeholder--content-align-items:center;--tox-uploadcare-placeholder--content-justify-content:center;--tox-uploadcare-placeholder--content-gap:8px;--tox-uploadcare-placeholder--icon-fill:rgba(34, 47, 62, 0.7);--tox-uploadcare-placeholder--icon-min-width:24px;--tox-uc-loading-spinner-wrapper-display-none:none;--tox-uc-loading-spinner-wrapper-display:flex;--tox-uc-loading-spinner-wrapper-position:absolute;--tox-uc-loading-spinner-wrapper-top:0;--tox-uc-loading-spinner-wrapper-left:0;--tox-uc-loading-spinner-wrapper-width:100%;--tox-uc-loading-spinner-wrapper-height:100%;--tox-uc-loading-spinner-wrapper-justify-content:center;--tox-uc-loading-spinner-wrapper-align-items:center;--tox-uc-loading-spinner-aspect-ratio:1/1;--tox-uc-loading-spinner-width:min(24px, 30%);--tox-uc-loading-spinner-border-radius:50%;--tox-uc-loading-spinner-border:3px solid #006ce7;--tox-uc-loading-spinner-border-bottom-color:transparent;--tox-uc-loading-spinner-animation:tox-rotation 1s linear infinite}@media print{tiny-uploadcare-placeholder{display:none!important}}.mce-visualblocks address,.mce-visualblocks article,.mce-visualblocks aside,.mce-visualblocks blockquote,.mce-visualblocks div:not([data-mce-bogus]),.mce-visualblocks dl,.mce-visualblocks figcaption,.mce-visualblocks figure,.mce-visualblocks h1,.mce-visualblocks h2,.mce-visualblocks h3,.mce-visualblocks h4,.mce-visualblocks h5,.mce-visualblocks h6,.mce-visualblocks hgroup,.mce-visualblocks ol,.mce-visualblocks p,.mce-visualblocks pre,.mce-visualblocks section,.mce-visualblocks ul{background-repeat:no-repeat;border:1px dashed #bbb;margin-left:3px;padding-top:10px}.mce-visualblocks p{background-image:url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7)}.mce-visualblocks h1{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==)}.mce-visualblocks h2{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==)}.mce-visualblocks h3{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7)}.mce-visualblocks h4{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==)}.mce-visualblocks h5{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==)}.mce-visualblocks h6{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==)}.mce-visualblocks div:not([data-mce-bogus]){background-image:url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7)}.mce-visualblocks section{background-image:url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=)}.mce-visualblocks article{background-image:url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7)}.mce-visualblocks blockquote{background-image:url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7)}.mce-visualblocks address{background-image:url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=)}.mce-visualblocks pre{background-image:url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==)}.mce-visualblocks figure{background-image:url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7)}.mce-visualblocks figcaption{border:1px dashed #bbb}.mce-visualblocks hgroup{background-image:url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7)}.mce-visualblocks aside{background-image:url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=)}.mce-visualblocks ul{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==)}.mce-visualblocks ol{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==)}.mce-visualblocks dl{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==)}.mce-visualblocks:not([dir=rtl]) address,.mce-visualblocks:not([dir=rtl]) article,.mce-visualblocks:not([dir=rtl]) aside,.mce-visualblocks:not([dir=rtl]) blockquote,.mce-visualblocks:not([dir=rtl]) div:not([data-mce-bogus]),.mce-visualblocks:not([dir=rtl]) dl,.mce-visualblocks:not([dir=rtl]) figcaption,.mce-visualblocks:not([dir=rtl]) figure,.mce-visualblocks:not([dir=rtl]) h1,.mce-visualblocks:not([dir=rtl]) h2,.mce-visualblocks:not([dir=rtl]) h3,.mce-visualblocks:not([dir=rtl]) h4,.mce-visualblocks:not([dir=rtl]) h5,.mce-visualblocks:not([dir=rtl]) h6,.mce-visualblocks:not([dir=rtl]) hgroup,.mce-visualblocks:not([dir=rtl]) ol,.mce-visualblocks:not([dir=rtl]) p,.mce-visualblocks:not([dir=rtl]) pre,.mce-visualblocks:not([dir=rtl]) section,.mce-visualblocks:not([dir=rtl]) ul{margin-left:3px}.mce-visualblocks[dir=rtl] address,.mce-visualblocks[dir=rtl] article,.mce-visualblocks[dir=rtl] aside,.mce-visualblocks[dir=rtl] blockquote,.mce-visualblocks[dir=rtl] div:not([data-mce-bogus]),.mce-visualblocks[dir=rtl] dl,.mce-visualblocks[dir=rtl] figcaption,.mce-visualblocks[dir=rtl] figure,.mce-visualblocks[dir=rtl] h1,.mce-visualblocks[dir=rtl] h2,.mce-visualblocks[dir=rtl] h3,.mce-visualblocks[dir=rtl] h4,.mce-visualblocks[dir=rtl] h5,.mce-visualblocks[dir=rtl] h6,.mce-visualblocks[dir=rtl] hgroup,.mce-visualblocks[dir=rtl] ol,.mce-visualblocks[dir=rtl] p,.mce-visualblocks[dir=rtl] pre,.mce-visualblocks[dir=rtl] section,.mce-visualblocks[dir=rtl] ul{background-position-x:right;margin-right:3px}.mce-nbsp,.mce-shy{background:#aaa}.mce-shy::after{content:'-'}[data-ephox-foam-a11y-violation]{outline:2px solid;position:relative}[data-ephox-foam-a11y-violation][data-ephox-foam-a11y-current-violation]{outline-width:4px;transition:outline-width .1s ease-in-out,background-color .1s ease-in-out;box-shadow:0 0 0 99999px #222f3e80;z-index:1}[data-ephox-foam-a11y-violation][data-ephox-foam-a11y-severity-info]{outline-color:#006ce7}[data-ephox-foam-a11y-violation][data-ephox-foam-a11y-severity-warn]{outline-color:#fc0}[data-ephox-foam-a11y-violation][data-ephox-foam-a11y-severity-error]{outline-color:#c00}[data-ephox-foam-a11y-violation][data-ephox-foam-a11y-current-violation=info]{outline-color:#006ce7;background-color:#e6f0fd}[data-ephox-foam-a11y-violation][data-ephox-foam-a11y-current-violation=warning]{outline-color:#fc0;background-color:#fffae6}[data-ephox-foam-a11y-violation][data-ephox-foam-a11y-current-violation=error]{outline-color:#c00;background-color:#fae6e6}[data-ephox-foam-a11y-violation][data-ephox-foam-a11y-current-violation]:is(td,th,tr){position:static}`)"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/skins/ui/tinymce-5-dark/content.js",
    "content": "/* This file is bundled with the code from the following third party libraries */\n\n/**\n * http://prismjs.com/\n * Dracula Theme originally by Zeno Rocha [@zenorocha]\n * https://draculatheme.com/\n *\n * Ported for PrismJS by Albert Vallverdu [@byverdu]\n */\ntinymce.Resource.add('ui/tinymce-5-dark/content.css', `@keyframes tox-rotation{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.mce-content-body .mce-item-anchor{background:transparent url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%20fill%3D%22%23cccccc%22%2F%3E%3C%2Fsvg%3E%0A\") no-repeat center}.mce-content-body .mce-item-anchor:empty{cursor:default;display:inline-block;height:12px!important;padding:0 2px;-webkit-user-modify:read-only;-moz-user-modify:read-only;-webkit-user-select:all;user-select:all;width:8px!important}.mce-content-body .mce-item-anchor:not(:empty){background-position-x:2px;display:inline-block;padding-left:12px}.mce-content-body .mce-item-anchor[data-mce-selected]{outline-offset:1px}.tox-comments-visible .tox-comment[contenteditable=false]:not([data-mce-selected]),.tox-comments-visible span.tox-comment img:not([data-mce-selected]),.tox-comments-visible span.tox-comment span.mce-preview-object:not([data-mce-selected]),.tox-comments-visible span.tox-comment>audio:not([data-mce-selected]),.tox-comments-visible span.tox-comment>video:not([data-mce-selected]){outline:3px solid #4e4f3b}.tox-comments-visible .tox-comment[contenteditable=false][data-mce-annotation-active=true]:not([data-mce-selected]){outline:3px solid #ffcf30}.tox-comments-visible span.tox-comment:not([data-mce-selected]){background-color:#4e4f3b;outline:0}.tox-comments-visible span.tox-comment[data-mce-annotation-active=true]:not([data-mce-selected=inline-boundary]){background-color:#4e4f3b}.tox-comments-visible span.tox-comment[data-mce-selected]{background-color:#4e4f3b;border-radius:3px;box-shadow:0 0 0 2px #006ce7}.tox-comments-visible span.tox-comment[data-mce-selected]:has(img[data-mce-selected],> audio[data-mce-selected],> video[data-mce-selected],span.mce-preview-object[data-mce-selected]){box-shadow:none}.tox-comments-visible span.tox-comment[data-mce-selected] img:not([data-mce-selected]),.tox-comments-visible span.tox-comment[data-mce-selected] span.mce-preview-object:not([data-mce-selected]),.tox-comments-visible span.tox-comment[data-mce-selected]>audio:not([data-mce-selected]),.tox-comments-visible span.tox-comment[data-mce-selected]>video:not([data-mce-selected]){box-shadow:0 0 0 5px #006ce7}.tox-comments-visible span.tox-comment[data-mce-annotation-active=true] img:not([data-mce-selected]),.tox-comments-visible span.tox-comment[data-mce-annotation-active=true] span.mce-preview-object:not([data-mce-selected]),.tox-comments-visible span.tox-comment[data-mce-annotation-active=true]>audio:not([data-mce-selected]),.tox-comments-visible span.tox-comment[data-mce-annotation-active=true]>video:not([data-mce-selected]){outline:3px solid #ffcf30}.tox-checklist>li:not(.tox-checklist--hidden){list-style:none;margin:.25em 0}.tox-checklist>li:not(.tox-checklist--hidden)::before{content:url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%236d737b%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A\");cursor:pointer;height:1em;margin-left:-1.5em;margin-top:.125em;position:absolute;width:1em}.tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before{content:url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A\")}[dir=rtl] .tox-checklist>li:not(.tox-checklist--hidden)::before{margin-left:0;margin-right:-1.5em}code[class*=language-],pre[class*=language-]{color:#f8f8f2;background:0 0;text-shadow:0 1px rgba(0,0,0,.3);font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;tab-size:4;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto;border-radius:.3em}:not(pre)>code[class*=language-],pre[class*=language-]{background:#282a36}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#6272a4}.token.punctuation{color:#f8f8f2}.namespace{opacity:.7}.token.constant,.token.deleted,.token.property,.token.symbol,.token.tag{color:#ff79c6}.token.boolean,.token.number{color:#bd93f9}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#50fa7b}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url,.token.variable{color:#f8f8f2}.token.atrule,.token.attr-value,.token.class-name,.token.function{color:#f1fa8c}.token.keyword{color:#8be9fd}.token.important,.token.regex{color:#ffb86c}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.mce-content-body{overflow-wrap:break-word;word-wrap:break-word}.mce-content-body .mce-visual-caret{background-color:#000;background-color:currentColor;position:absolute}.mce-content-body .mce-visual-caret-hidden{display:none}.mce-content-body [data-mce-caret]{left:-1000px;margin:0;padding:0;position:absolute;right:auto;top:0}.mce-content-body .mce-offscreen-selection{left:-2000000px;max-width:1000000px;position:absolute}.mce-content-body [contentEditable=false]{cursor:default}.mce-content-body [contentEditable=true]{cursor:text}.tox-cursor-format-painter{cursor:url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A\"),default}div.mce-footnotes hr{margin-inline:0 auto;width:25%}div.mce-footnotes li>a.mce-footnotes-backlink{-webkit-text-decoration:none;text-decoration:none}@media print{sup.mce-footnote a{color:#000;-webkit-text-decoration:none;text-decoration:none}div.mce-footnotes{page-break-inside:avoid;break-inside:avoid;width:100%}div.mce-footnotes li>a.mce-footnotes-backlink{display:none}}tiny-math-block{display:flex;justify-content:center;margin:16px 0 16px 0}tiny-math-inline{display:inline-block}.mce-content-body figure.align-left{float:left}.mce-content-body figure.align-right{float:right}.mce-content-body figure.image.align-center{display:table;margin-left:auto;margin-right:auto}.mce-preview-object{border:1px solid gray;display:inline-block;line-height:0;margin:0 2px;position:relative}.mce-preview-object .mce-shim{background:url(\"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\");height:100%;left:0;position:absolute;top:0;width:100%}.mce-preview-object[data-mce-selected=\"2\"] .mce-shim{display:none}.mce-content-body .mce-mergetag{cursor:default!important;-webkit-user-select:none;user-select:none}.mce-content-body .mce-mergetag:hover{background-color:rgba(0,108,231,.3)}.mce-content-body .mce-mergetag-affix{background-color:rgba(0,108,231,.3);color:#006ce7}.mce-object{background:transparent url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%20fill%3D%22%23cccccc%22%2F%3E%3C%2Fsvg%3E%0A\") no-repeat center;border:1px dashed #aaa}.mce-pagebreak{border:1px dashed #aaa;cursor:default;display:block;height:5px;margin-top:15px;page-break-before:always;width:100%}@media print{.mce-pagebreak{border:0}}.tiny-pageembed .mce-shim{background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);height:100%;left:0;position:absolute;top:0;width:100%}.tiny-pageembed[data-mce-selected=\"2\"] .mce-shim{display:none}.tiny-pageembed{display:inline-block;position:relative}.tiny-pageembed--16by9,.tiny-pageembed--1by1,.tiny-pageembed--21by9,.tiny-pageembed--4by3{display:block;overflow:hidden;padding:0;position:relative;width:100%}.tiny-pageembed--21by9{padding-top:42.857143%}.tiny-pageembed--16by9{padding-top:56.25%}.tiny-pageembed--4by3{padding-top:75%}.tiny-pageembed--1by1{padding-top:100%}.tiny-pageembed--16by9 iframe,.tiny-pageembed--1by1 iframe,.tiny-pageembed--21by9 iframe,.tiny-pageembed--4by3 iframe{border:0;height:100%;left:0;position:absolute;top:0;width:100%}.mce-content-body[data-mce-placeholder]{position:relative}.mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before{color:rgba(34,47,62,.7);content:attr(data-mce-placeholder);position:absolute}@media (forced-colors:active){.mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before{color:highlight;filter:brightness(30%);z-index:-1}}.mce-content-body:not([dir=rtl])[data-mce-placeholder]:not(.mce-visualblocks)::before{left:1px}.mce-content-body[dir=rtl][data-mce-placeholder]:not(.mce-visualblocks)::before{right:1px}@media print{.mce-content-body .mce-placeholder,.mce-content-body [data-mce-bogus=all],.mce-content-body [data-mce-bogus]{display:none!important}.mce-content-body .mce-visual-caret{display:none!important}.mce-content-body .mce-edit-focus,.mce-content-body :focus,.mce-content-body [data-mce-selected]{outline:0!important}}.mce-content-body div.mce-resizehandle{background-color:#4099ff;border-color:#4099ff;border-style:solid;border-width:1px;box-sizing:border-box;height:10px;position:absolute;width:10px;z-index:1298}.mce-content-body div.mce-resizehandle:hover{background-color:#4099ff}.mce-content-body div.mce-resizehandle:first-of-type{cursor:nwse-resize}.mce-content-body div.mce-resizehandle:nth-of-type(2){cursor:nesw-resize}.mce-content-body div.mce-resizehandle:nth-of-type(3){cursor:nwse-resize}.mce-content-body div.mce-resizehandle:nth-of-type(4){cursor:nesw-resize}.mce-content-body .mce-resize-backdrop{z-index:10000}.mce-content-body .mce-clonedresizable{cursor:default;opacity:.5;outline:1px dashed black;position:absolute;z-index:10001}.mce-content-body .mce-clonedresizable.mce-resizetable-columns td,.mce-content-body .mce-clonedresizable.mce-resizetable-columns th{border:0}.mce-content-body .mce-resize-helper{background:#555;background:rgba(0 0 0%);border:1px;border-radius:3px;color:#fff;display:none;font-family:sans-serif;font-size:12px;line-height:14px;margin:5px 10px;padding:5px;position:absolute;white-space:nowrap;z-index:10002}.tox-rtc-user-selection{position:relative}.tox-rtc-user-cursor{bottom:0;cursor:default;position:absolute;top:0;width:2px}.tox-rtc-user-cursor::before{background-color:inherit;border-radius:50%;content:'';display:block;height:8px;position:absolute;right:-3px;top:-3px;width:8px}.tox-rtc-user-cursor:hover::after{background-color:inherit;border-radius:100px;box-sizing:border-box;color:#fff;content:attr(data-user);display:block;font-size:12px;font-weight:700;left:-5px;min-height:8px;min-width:8px;padding:0 12px;position:absolute;top:-11px;white-space:nowrap;z-index:1000}.tox-rtc-user-selection--1 .tox-rtc-user-cursor{background-color:#2dc26b}.tox-rtc-user-selection--2 .tox-rtc-user-cursor{background-color:#e03e2d}.tox-rtc-user-selection--3 .tox-rtc-user-cursor{background-color:#f1c40f}.tox-rtc-user-selection--4 .tox-rtc-user-cursor{background-color:#3598db}.tox-rtc-user-selection--5 .tox-rtc-user-cursor{background-color:#b96ad9}.tox-rtc-user-selection--6 .tox-rtc-user-cursor{background-color:#e67e23}.tox-rtc-user-selection--7 .tox-rtc-user-cursor{background-color:#aaa69d}.tox-rtc-user-selection--8 .tox-rtc-user-cursor{background-color:#f368e0}.tox-rtc-remote-image{background:#eaeaea url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A\") no-repeat center center;border:1px solid #ccc;min-height:240px;min-width:320px}.mce-match-marker{background:#aaa;color:#fff}.mce-match-marker-selected{background:#39f;color:#fff}.mce-match-marker-selected::selection{background:#39f;color:#fff}.mce-content-body audio[data-mce-selected],.mce-content-body details[data-mce-selected],.mce-content-body embed[data-mce-selected],.mce-content-body img[data-mce-selected],.mce-content-body object[data-mce-selected],.mce-content-body table[data-mce-selected],.mce-content-body video[data-mce-selected]{outline:3px solid #4099ff}.mce-content-body hr[data-mce-selected]{outline:3px solid #4099ff;outline-offset:1px}.mce-content-body [contentEditable=false] [contentEditable=true]:focus{outline:3px solid #4099ff}.mce-content-body [contentEditable=false] [contentEditable=true]:hover{outline:3px solid #4099ff}.mce-content-body [contentEditable=false][data-mce-selected]{cursor:not-allowed;outline:3px solid #4099ff}.mce-content-body [data-mce-selected=inline-boundary]{background-color:#4099ff}.mce-content-body .mce-edit-focus{outline:3px solid #4099ff}.mce-content-body td[data-mce-selected],.mce-content-body th[data-mce-selected]{position:relative}.mce-content-body td[data-mce-selected]::selection,.mce-content-body th[data-mce-selected]::selection{background:0 0}.mce-content-body td[data-mce-selected] *,.mce-content-body th[data-mce-selected] *{outline:0;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.mce-content-body td[data-mce-selected]::after,.mce-content-body th[data-mce-selected]::after{background-color:rgba(180,215,255,.7);border:1px solid transparent;bottom:-1px;content:'';left:-1px;mix-blend-mode:lighten;position:absolute;right:-1px;top:-1px}.mce-content-body img[data-mce-selected]::selection{background:0 0}.ephox-snooker-resizer-bar{background-color:#4099ff;opacity:0;-webkit-user-select:none;user-select:none}.ephox-snooker-resizer-cols{cursor:col-resize}.ephox-snooker-resizer-rows{cursor:row-resize}.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging{opacity:1}.mce-spellchecker-word{background-image:url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A\");background-position:0 calc(100% + 1px);background-repeat:repeat-x;background-size:auto 6px;cursor:default;height:2rem}.mce-spellchecker-grammar{background-image:url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A\");background-position:0 calc(100% + 1px);background-repeat:repeat-x;background-size:auto 6px;cursor:default}.tox-suggestededits__annotation--added,.tox-suggestededits__annotation--modified,.tox-suggestededits__annotation--removed{-webkit-text-decoration:none;text-decoration:none}.tox-suggestededits__annotation--added__highlight{background-color:rgba(120,171,70,.2);-webkit-text-decoration:underline;text-decoration:underline}.tox-suggestededits__annotation--added__selected{background-color:rgba(120,171,70,.2);box-shadow:0 -2px 0 0 #006ce7 inset,0 -2px 0 0 #006ce7;-webkit-text-decoration:none;text-decoration:none}.tox-suggestededits__annotation--modified__highlight{background-color:rgba(0,108,231,.2);-webkit-text-decoration:underline;text-decoration:underline}.tox-suggestededits__annotation--modified__selected{background-color:rgba(0,108,231,.2);box-shadow:0 -2px 0 0 #006ce7 inset,0 -2px 0 0 #006ce7;-webkit-text-decoration:none;text-decoration:none}.tox-suggestededits__annotation--removed__highlight{background-color:rgba(204,0,0,.2);-webkit-text-decoration:line-through;text-decoration:line-through}.tox-suggestededits__annotation--removed__selected{background-color:rgba(204,0,0,.2);box-shadow:0 -2px 0 0 #006ce7 inset,0 -2px 0 0 #006ce7;-webkit-text-decoration:line-through;text-decoration:line-through}.tox-suggestededits__annotation--added.tox-suggestededits__annotation--added__hidden,.tox-suggestededits__annotation--modified.tox-suggestededits__annotation--modified__hidden,.tox-suggestededits__annotation--removed.tox-suggestededits__annotation--removed__hidden{display:none;-webkit-text-decoration:none;text-decoration:none}:has(> div > iframe).tox-suggestededits__annotation--added,:has(> div > iframe).tox-suggestededits__annotation--modified,:has(> div > iframe).tox-suggestededits__annotation--removed{padding:7px;margin:5px}iframe.tox-suggestededits__annotation--added__highlight,img.tox-suggestededits__annotation--added__highlight,video.tox-suggestededits__annotation--added__highlight{outline:.25em solid rgba(120,171,70,.2);padding:.25em}iframe.tox-suggestededits__annotation--added__selected,img.tox-suggestededits__annotation--added__selected,video.tox-suggestededits__annotation--added__selected{border:.25em solid rgba(120,171,70,.2);outline:.125em solid #006ce7;padding:0}iframe.tox-suggestededits__annotation--modified__highlight,img.tox-suggestededits__annotation--modified__highlight,video.tox-suggestededits__annotation--modified__highlight{outline:.25em solid rgba(0,108,231,.2);padding:.25em}iframe.tox-suggestededits__annotation--modified__selected,img.tox-suggestededits__annotation--modified__selected,video.tox-suggestededits__annotation--modified__selected{border:.25em solid rgba(0,108,231,.2);outline:.125em solid #006ce7;padding:0}iframe.tox-suggestededits__annotation--removed__highlight,img.tox-suggestededits__annotation--removed__highlight,video.tox-suggestededits__annotation--removed__highlight{outline:.25em solid rgba(204,0,0,.2);padding:.25em}iframe.tox-suggestededits__annotation--removed__selected,img.tox-suggestededits__annotation--removed__selected,video.tox-suggestededits__annotation--removed__selected{border:.25em solid rgba(204,0,0,.2);outline:.125em solid #006ce7;padding:0}div.tox-suggestededits__annotation:has(> hr){padding:.25em}div.tox-suggestededits__annotation--removed__highlight>hr{border-color:rgba(0,0,0,.2)}div.tox-suggestededits__annotation--added__highlight>hr{border-color:rgba(0,0,0,.2)}.mce-pagebreak.tox-suggestededits__annotation--added__selected,.mce-pagebreak.tox-suggestededits__annotation--modified__selected,.mce-pagebreak.tox-suggestededits__annotation--removed__selected{border:1px dashed #aaa;box-shadow:none}.mce-pagebreak.tox-suggestededits__annotation--added__highlight,.mce-pagebreak.tox-suggestededits__annotation--modified__highlight,.mce-pagebreak.tox-suggestededits__annotation--removed__highlight{padding:0}.mce-toc{border:1px solid gray}.mce-toc h2{margin:4px}.mce-toc ul>li{list-style-type:none}[data-mce-block]{display:block}.mce-item-table:not([border]),.mce-item-table:not([border]) caption,.mce-item-table:not([border]) td,.mce-item-table:not([border]) th,.mce-item-table[border=\"0\"],.mce-item-table[border=\"0\"] caption,.mce-item-table[border=\"0\"] td,.mce-item-table[border=\"0\"] th,table[style*=\"border-width: 0px\"],table[style*=\"border-width: 0px\"] caption,table[style*=\"border-width: 0px\"] td,table[style*=\"border-width: 0px\"] th{border:1px dashed #bbb}.tox-uc-loading-background{width:100%;height:100%;background:rgba(255,255,255,.5)}.tox-uc-loading-spinner-wrapper{width:100%;height:100%;display:flex;justify-content:center;align-items:center}.tox-uc-loading-spinner{width:min(24px,30%);aspect-ratio:1;border-radius:50%;border:3px solid #006ce7;border-bottom-color:transparent;animation:tox-rotation 1s linear infinite}.tox-uc-video{display:block;position:relative;margin:16px 0 16px 0}.tox-uc-video:not([data-mce-selected]):after{content:\"\";position:absolute;top:0;left:0;width:100%;height:100%}.tox-uploadcare-placeholder{all:initial;display:inline-block;position:relative;width:min(100%,600px);height:80px;--tox-uploadcare-placeholder--content-cursor:auto!important;--tox-uploadcare-placeholder--content-color:rgba(34, 47, 62, 0.7);--tox-uploadcare-placeholder--content-background-color:#fff;--tox-uploadcare-placeholder--content-border:2px solid #e3e3e3;--tox-uploadcare-placeholder--content-font-family:monospace,sans-serif;--tox-uploadcare-placeholder--content-height:100%;--tox-uploadcare-placeholder--content-width:100%;--tox-uploadcare-placeholder--content-display:inline-flex;--tox-uploadcare-placeholder--content-align-items:center;--tox-uploadcare-placeholder--content-justify-content:center;--tox-uploadcare-placeholder--content-gap:8px;--tox-uploadcare-placeholder--icon-fill:rgba(34, 47, 62, 0.7);--tox-uploadcare-placeholder--icon-min-width:24px;--tox-uc-loading-spinner-wrapper-display-none:none;--tox-uc-loading-spinner-wrapper-display:flex;--tox-uc-loading-spinner-wrapper-position:absolute;--tox-uc-loading-spinner-wrapper-top:0;--tox-uc-loading-spinner-wrapper-left:0;--tox-uc-loading-spinner-wrapper-width:100%;--tox-uc-loading-spinner-wrapper-height:100%;--tox-uc-loading-spinner-wrapper-justify-content:center;--tox-uc-loading-spinner-wrapper-align-items:center;--tox-uc-loading-spinner-aspect-ratio:1/1;--tox-uc-loading-spinner-width:min(24px, 30%);--tox-uc-loading-spinner-border-radius:50%;--tox-uc-loading-spinner-border:3px solid #006ce7;--tox-uc-loading-spinner-border-bottom-color:transparent;--tox-uc-loading-spinner-animation:tox-rotation 1s linear infinite}@media print{tiny-uploadcare-placeholder{display:none!important}}.mce-visualblocks address,.mce-visualblocks article,.mce-visualblocks aside,.mce-visualblocks blockquote,.mce-visualblocks div:not([data-mce-bogus]),.mce-visualblocks dl,.mce-visualblocks figcaption,.mce-visualblocks figure,.mce-visualblocks h1,.mce-visualblocks h2,.mce-visualblocks h3,.mce-visualblocks h4,.mce-visualblocks h5,.mce-visualblocks h6,.mce-visualblocks hgroup,.mce-visualblocks ol,.mce-visualblocks p,.mce-visualblocks pre,.mce-visualblocks section,.mce-visualblocks ul{background-repeat:no-repeat;border:1px dashed #bbb;margin-left:3px;padding-top:10px}.mce-visualblocks p{background-image:url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7)}.mce-visualblocks h1{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==)}.mce-visualblocks h2{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==)}.mce-visualblocks h3{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7)}.mce-visualblocks h4{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==)}.mce-visualblocks h5{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==)}.mce-visualblocks h6{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==)}.mce-visualblocks div:not([data-mce-bogus]){background-image:url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7)}.mce-visualblocks section{background-image:url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=)}.mce-visualblocks article{background-image:url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7)}.mce-visualblocks blockquote{background-image:url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7)}.mce-visualblocks address{background-image:url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=)}.mce-visualblocks pre{background-image:url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==)}.mce-visualblocks figure{background-image:url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7)}.mce-visualblocks figcaption{border:1px dashed #bbb}.mce-visualblocks hgroup{background-image:url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7)}.mce-visualblocks aside{background-image:url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=)}.mce-visualblocks ul{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==)}.mce-visualblocks ol{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==)}.mce-visualblocks dl{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==)}.mce-visualblocks:not([dir=rtl]) address,.mce-visualblocks:not([dir=rtl]) article,.mce-visualblocks:not([dir=rtl]) aside,.mce-visualblocks:not([dir=rtl]) blockquote,.mce-visualblocks:not([dir=rtl]) div:not([data-mce-bogus]),.mce-visualblocks:not([dir=rtl]) dl,.mce-visualblocks:not([dir=rtl]) figcaption,.mce-visualblocks:not([dir=rtl]) figure,.mce-visualblocks:not([dir=rtl]) h1,.mce-visualblocks:not([dir=rtl]) h2,.mce-visualblocks:not([dir=rtl]) h3,.mce-visualblocks:not([dir=rtl]) h4,.mce-visualblocks:not([dir=rtl]) h5,.mce-visualblocks:not([dir=rtl]) h6,.mce-visualblocks:not([dir=rtl]) hgroup,.mce-visualblocks:not([dir=rtl]) ol,.mce-visualblocks:not([dir=rtl]) p,.mce-visualblocks:not([dir=rtl]) pre,.mce-visualblocks:not([dir=rtl]) section,.mce-visualblocks:not([dir=rtl]) ul{margin-left:3px}.mce-visualblocks[dir=rtl] address,.mce-visualblocks[dir=rtl] article,.mce-visualblocks[dir=rtl] aside,.mce-visualblocks[dir=rtl] blockquote,.mce-visualblocks[dir=rtl] div:not([data-mce-bogus]),.mce-visualblocks[dir=rtl] dl,.mce-visualblocks[dir=rtl] figcaption,.mce-visualblocks[dir=rtl] figure,.mce-visualblocks[dir=rtl] h1,.mce-visualblocks[dir=rtl] h2,.mce-visualblocks[dir=rtl] h3,.mce-visualblocks[dir=rtl] h4,.mce-visualblocks[dir=rtl] h5,.mce-visualblocks[dir=rtl] h6,.mce-visualblocks[dir=rtl] hgroup,.mce-visualblocks[dir=rtl] ol,.mce-visualblocks[dir=rtl] p,.mce-visualblocks[dir=rtl] pre,.mce-visualblocks[dir=rtl] section,.mce-visualblocks[dir=rtl] ul{background-position-x:right;margin-right:3px}.mce-nbsp,.mce-shy{background:#aaa}.mce-shy::after{content:'-'}[data-ephox-foam-a11y-violation]{outline:2px solid;position:relative}[data-ephox-foam-a11y-violation][data-ephox-foam-a11y-current-violation]{outline-width:4px;transition:outline-width .1s ease-in-out,background-color .1s ease-in-out;box-shadow:0 0 0 99999px #222f3e80;z-index:1}[data-ephox-foam-a11y-violation][data-ephox-foam-a11y-severity-info]{outline-color:#99c4f5}[data-ephox-foam-a11y-violation][data-ephox-foam-a11y-severity-warn]{outline-color:#ffeb99}[data-ephox-foam-a11y-violation][data-ephox-foam-a11y-severity-error]{outline-color:#eb9999}[data-ephox-foam-a11y-violation][data-ephox-foam-a11y-current-violation=info]{outline-color:#99c4f5;background-color:#e6f0fd}[data-ephox-foam-a11y-violation][data-ephox-foam-a11y-current-violation=warning]{outline-color:#ffeb99;background-color:#fffae6}[data-ephox-foam-a11y-violation][data-ephox-foam-a11y-current-violation=error]{outline-color:#eb9999;background-color:#fae6e6}[data-ephox-foam-a11y-violation][data-ephox-foam-a11y-current-violation]:is(td,th,tr){position:static}body{font-family:sans-serif}table{border-collapse:collapse}`)"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/skins/ui/tinymce-5-dark/skin.js",
    "content": "tinymce.Resource.add('ui/tinymce-5-dark/skin.css', `.tox{box-shadow:none;box-sizing:content-box;cursor:auto;font-style:normal;font-weight:400;line-height:normal;-webkit-tap-highlight-color:transparent;-webkit-text-decoration:none;text-decoration:none;text-shadow:none;text-transform:none;vertical-align:initial;white-space:normal}.tox :not(svg):not(rect){box-sizing:inherit;color:inherit;cursor:inherit;direction:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;line-height:inherit;-webkit-tap-highlight-color:inherit;text-align:inherit;text-decoration:inherit;text-shadow:inherit;text-transform:inherit;vertical-align:inherit;white-space:inherit}.tox :not(svg):not(rect){background:0 0;border:0;box-shadow:none;float:none;height:auto;margin:0;max-width:none;outline:0;padding:0;position:static;width:auto}.tox:not([dir=rtl]){direction:ltr;text-align:left}.tox[dir=rtl]{direction:rtl;text-align:right}.tox-tinymce :focus,.tox-tinymce-aux :focus{outline:0}button::-moz-focus-inner{border:0}@keyframes tox-rotation{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.tox{color:var(--tox-private-color-black,#2a3746);font-family:var(--tox-private-font-stack, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen-Sans, Ubuntu, Cantarell, \"Helvetica Neue\", sans-serif);font-size:var(--tox-private-font-size-base, 16px)}.tox-tinymce{border:1px solid #000;border-radius:0;box-shadow:none;box-sizing:border-box;display:flex;flex-direction:column;font-family:var(--tox-private-font-stack, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen-Sans, Ubuntu, Cantarell, \"Helvetica Neue\", sans-serif);overflow:hidden;position:relative;visibility:inherit!important}.tox.tox-tinymce-inline{border:none;box-shadow:none;overflow:initial}.tox.tox-tinymce-inline .tox-editor-container{overflow:initial}.tox.tox-tinymce-inline .tox-editor-header{background-color:#222f3e;border:1px solid #000;border-radius:0;box-shadow:none;overflow:hidden}.tox-tinymce-aux{font-family:var(--tox-private-font-stack, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen-Sans, Ubuntu, Cantarell, \"Helvetica Neue\", sans-serif);z-index:var(--tox-private-z-index-sink,1300)}.tox[dir=rtl] .tox-icon--flip svg{transform:rotateY(180deg)}.tox .tox-editor-container{display:flex;flex:1 1 auto;flex-direction:column;overflow:hidden}.tox .tox-editor-header{display:grid;grid-template-columns:1fr min-content;z-index:2}.tox:not(.tox-tinymce-inline) .tox-editor-header{background-color:#222f3e;border-bottom:none;box-shadow:none;padding:4px 0}.tox:not(.tox-tinymce-inline) .tox-editor-header:not(.tox-editor-dock-transition){transition:box-shadow .5s}.tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-bottom .tox-editor-header{border-top:1px solid #000;box-shadow:none}.tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-sticky-on .tox-editor-header{background-color:#222f3e;box-shadow:0 4px 4px -3px rgba(0,0,0,.25);padding:4px 0}.tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-sticky-on.tox-tinymce--toolbar-bottom .tox-editor-header{box-shadow:0 4px 4px -3px rgba(0,0,0,.25)}.tox.tox:not(.tox-tinymce-inline) .tox-editor-header.tox-editor-header--empty{background:0 0;border:none;box-shadow:none;padding:0}.tox-editor-dock-fadeout{opacity:0;visibility:hidden}.tox-editor-dock-fadein{opacity:1;visibility:visible}.tox-editor-dock-transition{transition:visibility 0s linear .25s,opacity .25s ease}.tox-editor-dock-transition.tox-editor-dock-fadein{transition-delay:0s}.tox .accessibility-issue__header{align-items:center;display:flex;margin-bottom:4px}.tox #accessibility-issue__subheader{font-size:16px;color:#fff}.tox .accessbility-sr-only{position:absolute;clip:rect(1px,1px,1px,1px);clip-path:inset(0 0 99.9% 99.9%);overflow:hidden;height:1px;width:1px;padding:0;border:0}.tox .accessibility-issue__description{align-items:stretch;border-radius:3px;justify-content:space-between}.tox .accessibility-issue__description>div{padding-bottom:4px}.tox .accessibility-issue__description>div>div{align-items:center;display:flex;margin-bottom:4px}.tox .accessibility-issue__description>div>div .tox-icon svg{display:block}.tox #accessibility-issue__contentID{margin-top:8px;margin-bottom:8px}.tox #accessibility-issue__contentID span:first-child{font-weight:700}.tox #accessibility-issue__document{padding-bottom:8px}.tox .accessibility-issue__repair{margin-top:8px}.tox .accessibility-issue__repair .tox-form__group .tox-form__group--error{color:#eb9999}.tox .tox-dialog__body-content .accessibility-issue--info .accessibility-issue__description{background-color:#22374a;color:#fff}.tox .tox-dialog__body-content .accessibility-issue--info .tox-form__group h2{font-size:14px;color:#a6cae2}.tox .tox-dialog__body-content .accessibility-issue--info .tox-icon.accessibility-issue__icon svg{fill:#a6cae2}.tox .tox-dialog__body-content .accessibility-issue--info a.tox-button--naked.tox-button--icon{background-color:#207ab7;color:#fff}.tox .tox-dialog__body-content .accessibility-issue--info a.tox-button--naked.tox-button--icon:focus,.tox .tox-dialog__body-content .accessibility-issue--info a.tox-button--naked.tox-button--icon:hover{background-color:#1c6ca1}.tox .tox-dialog__body-content .accessibility-issue--info a.tox-button--naked.tox-button--icon:active{background-color:#185d8c}.tox .tox-dialog__body-content .accessibility-issue--warn .accessibility-issue__description{background-color:#383f38;color:#fff}.tox .tox-dialog__body-content .accessibility-issue--warn .tox-form__group h2{font-size:14px;color:#ffeb99}.tox .tox-dialog__body-content .accessibility-issue--warn .tox-icon.accessibility-issue__icon svg{fill:#ffeb99}.tox .tox-dialog__body-content .accessibility-issue--warn a.tox-button--naked.tox-button--icon{background-color:#ffe89d;color:#2a3746}.tox .tox-dialog__body-content .accessibility-issue--warn a.tox-button--naked.tox-button--icon:focus,.tox .tox-dialog__body-content .accessibility-issue--warn a.tox-button--naked.tox-button--icon:hover{background-color:#f2d574;color:#2a3746}.tox .tox-dialog__body-content .accessibility-issue--warn a.tox-button--naked.tox-button--icon:active{background-color:#e8c657;color:#2a3746}.tox .tox-dialog__body-content .accessibility-issue--error .accessibility-issue__description{background-color:#332a38;color:#fff}.tox .tox-dialog__body-content .accessibility-issue--error .tox-form__group h2{font-size:14px;color:#eb9999}.tox .tox-dialog__body-content .accessibility-issue--error .tox-icon.accessibility-issue__icon svg{fill:#eb9999}.tox .tox-dialog__body-content .accessibility-issue--error a.tox-button--naked.tox-button--icon{background-color:#f2bfbf;color:#2a3746}.tox .tox-dialog__body-content .accessibility-issue--error a.tox-button--naked.tox-button--icon:focus,.tox .tox-dialog__body-content .accessibility-issue--error a.tox-button--naked.tox-button--icon:hover{background-color:#e9a4a4;color:#2a3746}.tox .tox-dialog__body-content .accessibility-issue--error a.tox-button--naked.tox-button--icon:active{background-color:#ee9494;color:#2a3746}.tox .tox-dialog__body-content .accessibility-issue--success .accessibility-issue__description{background-color:rgba(120,171,70,.5);color:#fff}.tox .tox-dialog__body-content .accessibility-issue--success .accessibility-issue__description>:last-child{display:none}.tox .tox-dialog__body-content .accessibility-issue--success .tox-form__group h2{color:#fff}.tox .tox-dialog__body-content .accessibility-issue--success .tox-icon.accessibility-issue__icon svg{fill:#fff}.tox .tox-dialog__body-content .accessibility-issue__header .tox-form__group h1,.tox .tox-dialog__body-content .tox-form__group .accessibility-issue__description h2{margin-top:0}.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__header .tox-button{margin-left:4px}.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__header>:nth-last-child(2){margin-left:auto}.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__description{padding:8px}.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__header .tox-button{margin-right:4px}.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__header>:nth-last-child(2){margin-right:auto}.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__description{padding:4px 8px 4px 4px}.tox .mce-codemirror{background:#fff;bottom:0;font-size:13px;left:0;position:absolute;right:0;top:0;z-index:1}.tox .mce-codemirror.tox-inline-codemirror{margin:8px;position:absolute}.tox .tox-advtemplate .tox-form__grid{flex:1}.tox .tox-advtemplate .tox-form__grid>div:first-child{display:flex;flex-direction:column;width:30%}.tox .tox-advtemplate .tox-form__grid>div:first-child>div:nth-child(2){flex-basis:0;flex-grow:1;overflow:auto}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox .tox-advtemplate .tox-form__grid>div:first-child{width:100%}}.tox .tox-advtemplate iframe{border-color:#000;border-radius:0;border-style:solid;border-width:1px;margin:0 10px}.tox .tox-anchorbar{display:flex;flex:0 0 auto}.tox .tox-bottom-anchorbar{display:flex;flex:0 0 auto}.tox .tox-bar{display:flex;flex:0 0 auto}.tox .tox-button{border-width:var(--tox-private-button-border-width,1px);border-style:var(--tox-private-button-border-style,solid);border-radius:var(--tox-private-control-border-radius,3px);font-family:var(--tox-private-font-stack, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen-Sans, Ubuntu, Cantarell, \"Helvetica Neue\", sans-serif);font-size:var(--tox-private-button-font-size, 14px);font-style:var(--tox-private-button-font-style,normal);font-weight:var(--tox-private-button-font-weight,bold);line-height:var(--tox-private-control-line-height, 24px);padding:var(--tox-private-button-padding-y,4px) var(--tox-private-button-padding-x,16px);text-align:center;-webkit-text-decoration:none;text-decoration:none;text-transform:none;letter-spacing:normal;box-shadow:none;box-sizing:border-box;cursor:pointer;outline:0;position:relative;white-space:nowrap;display:inline-flex;justify-content:center;align-items:center;gap:2px}.tox .tox-button::before{border-radius:var(--tox-private-control-border-radius,3px);bottom:calc(-1 * var(--tox-private-button-border-width,1px));box-shadow:var(--tox-private-button-focus-outline,inset 0 0 0 1px #fff,0 0 0 2px #207ab7);content:'';left:calc(-1 * var(--tox-private-button-border-width,1px));opacity:0;pointer-events:none;position:absolute;right:calc(-1 * var(--tox-private-button-border-width,1px));top:calc(-1 * var(--tox-private-button-border-width,1px))}.tox .tox-button:focus:not(:disabled){background-color:var(--tox-private-button-focus-background-color,#1c6ca1);background-image:none;border-color:var(--tox-private-button-focus-border-color,#1c6ca1);box-shadow:var(--tox-private-button-focus-box-shadow,none);color:var(--tox-private-button-focus-text-color,#fff)}.tox .tox-button:focus:not(:disabled)::before{opacity:1}.tox .tox-button.tox-button--icon,.tox .tox-button:has(.tox-icon:only-child){padding:4px}.tox .tox-button .tox-icon svg{display:block;fill:currentColor}.tox .tox-button .tox-icon.tox-icon--success svg{fill:var(--tox-private-color-success,#78AB46)}.tox .tox-button .tox-icon.tox-icon--error svg{fill:var(--tox-private-color-error,#c00)}.tox .tox-button--stretch{width:100%}.tox-context-form__group .tox-button--icon,.tox-context-form__group .tox-button.tox-button--icon{margin:3px 0 2px 0;padding:0}.tox .tox-button{background-color:var(--tox-private-button-primary-background-color,#207ab7);background-image:none;background-position:0 0;background-repeat:repeat;color:var(--tox-private-button-primary-text-color,#fff);border-color:var(--tox-private-button-primary-border-color,#207ab7)}.tox .tox-button[disabled]{background-color:var(--tox-private-button-primary-disabled-background-color,#207ab7);background-image:none;border-color:var(--tox-private-button-primary-disabled-border-color,#207ab7);color:var(--tox-private-button-primary-disabled-text-color,rgba(255,255,255,.5));cursor:not-allowed}.tox .tox-button:focus:not(:disabled){background-color:var(--tox-private-button-primary-focus-background-color,#1c6ca1);border-color:var(--tox-private-button-primary-focus-border-color,#1c6ca1);color:var(--tox-private-button-primary-focus-text-color,#fff);background-image:none;box-shadow:none}.tox .tox-button:hover:not(:disabled){background-color:var(--tox-private-button-primary-hover-background-color,#1c6ca1);border-color:var(--tox-private-button-primary-hover-border-color,#1c6ca1);color:var(--tox-private-button-primary-hover-text-color,#fff);background-image:none;box-shadow:none}.tox .tox-button:active:not(:disabled){background-color:var(--tox-private-button-primary-active-background-color,#185d8c);border-color:var(--tox-private-button-primary-active-border-color,#185d8c);color:var(--tox-private-button-primary-active-text-color,#fff);background-image:none;box-shadow:none}.tox .tox-button.tox-button--enabled{background-color:var(--tox-private-button-primary-enabled-background-color,#185d8c);border-color:var(--tox-private-button-primary-enabled-border-color,#185d8c);color:var(--tox-private-button-primary-enabled-text-color,#fff);background-image:none;box-shadow:none}.tox .tox-button.tox-button--enabled[disabled]{color:var(--tox-private-button-primary-disabled-text-color,rgba(255,255,255,.5));cursor:not-allowed}.tox .tox-button.tox-button--enabled:focus:not(:disabled){background-color:var(--tox-private-button-primary-enabled-focus-background-color,#154f76);border-color:var(--tox-private-button-primary-enabled-focus-border-color,#154f76);color:var(--tox-private-button-primary-enabled-focus-text-color,#fff);background-image:none;box-shadow:none}.tox .tox-button.tox-button--enabled:hover:not(:disabled){background-color:var(--tox-private-button-primary-enabled-hover-background-color,#154f76);border-color:var(--tox-private-button-primary-enabled-hover-border-color,#154f76);color:var(--tox-private-button-primary-enabled-hover-text-color,#fff);background-image:none;box-shadow:none}.tox .tox-button.tox-button--enabled:active:not(:disabled){background-color:var(--tox-private-button-primary-enabled-active-background-color,#114060);border-color:var(--tox-private-button-primary-enabled-active-border-color,#114060);color:var(--tox-private-button-primary-enabled-active-text-color,#fff);background-image:none;box-shadow:none}.tox .tox-button--secondary{background-color:var(--tox-private-button-secondary-background-color,#3d546f);border-color:var(--tox-private-button-secondary-border-color,#3d546f);color:var(--tox-private-button-secondary-text-color,#fff);border-style:solid;border-width:1px;background-image:none;background-position:0 0;background-repeat:repeat;border-radius:3px;box-shadow:none;font-size:14px;font-style:normal;font-weight:700;letter-spacing:normal;outline:0;padding:4px 16px;-webkit-text-decoration:none;text-decoration:none;text-transform:none}.tox .tox-button--secondary[disabled]{background-color:var(--tox-private-button-secondary-disabled-background-color,#3d546f);background-image:none;border-color:var(--tox-private-button-secondary-disabled-border-color,#3d546f);color:var(--tox-private-button-secondary-disabled-text-color,rgba(255,255,255,.5));cursor:not-allowed}.tox .tox-button--secondary:focus:not(:disabled){background-color:var(--tox-private-button-secondary-focus-background-color,#34485f);border-color:var(--tox-private-button-secondary-focus-border-color,#34485f);color:var(--tox-private-button-secondary-focus-text-color,#fff);background-image:none;box-shadow:none}.tox .tox-button--secondary:hover:not(:disabled){background-color:var(--tox-private-button-secondary-hover-background-color,#34485f);border-color:var(--tox-private-button-secondary-hover-border-color,#34485f);color:var(--tox-private-button-secondary-hover-text-color,#fff);background-image:none;box-shadow:none}.tox .tox-button--secondary:active:not(:disabled){background-color:var(--tox-private-button-secondary-active-background-color,#2b3b4e);border-color:var(--tox-private-button-secondary-active-border-color,#2b3b4e);color:var(--tox-private-button-secondary-active-text-color,#fff);background-image:none;box-shadow:none}.tox .tox-button--secondary.tox-button--enabled{background-color:var(--tox-private-button-secondary-enabled-background-color,#346085);border-color:var(--tox-private-button-secondary-enabled-border-color,#346085);color:var(--tox-private-button-secondary-enabled-text-color,#fff);background-image:none;box-shadow:none}.tox .tox-button--secondary.tox-button--enabled[disabled]{color:var(--tox-private-button-secondary-disabled-text-color,rgba(255,255,255,.5));cursor:not-allowed}.tox .tox-button--secondary.tox-button--enabled:focus:not(:disabled){background-color:var(--tox-private-button-secondary-enabled-focus-background-color,#2d5373);border-color:var(--tox-private-button-secondary-enabled-focus-border-color,#2d5373);color:var(--tox-private-button-secondary-enabled-focus-text-color,#fff);background-image:none;box-shadow:none}.tox .tox-button--secondary.tox-button--enabled:hover:not(:disabled){background-color:var(--tox-private-button-secondary-enabled-hover-background-color,#2d5373);border-color:var(--tox-private-button-secondary-enabled-hover-border-color,#2d5373);color:var(--tox-private-button-secondary-enabled-hover-text-color,#fff);background-image:none;box-shadow:none}.tox .tox-button--secondary.tox-button--enabled:active:not(:disabled){background-color:var(--tox-private-button-secondary-enabled-active-background-color,#264560);border-color:var(--tox-private-button-secondary-enabled-active-border-color,#264560);color:var(--tox-private-button-secondary-enabled-active-text-color,#fff);background-image:none;box-shadow:none}.tox .tox-button--naked{background-color:transparent;border-color:transparent;box-shadow:unset;color:var(--tox-private-button-naked-text-color,#fff)}.tox .tox-button--naked[disabled]{background-color:#3d546f;border-color:#3d546f;color:var(--tox-private-button-naked-disabled-text-color,rgba(255,255,255,.5));cursor:not-allowed}.tox .tox-button--naked:focus:not(:disabled){background-color:var(--tox-private-button-naked-focus-background-color,#34485f);border-color:var(--tox-private-button-naked-focus-border-color,#34485f);color:var(--tox-private-button-naked-focus-text-color,#fff);box-shadow:none}.tox .tox-button--naked:hover:not(:disabled){background-color:var(--tox-private-button-naked-hover-background-color,#34485f);border-color:var(--tox-private-button-naked-hover-background-color,#34485f);color:var(--tox-private-button-naked-hover-text-color,#fff);box-shadow:none}.tox .tox-button--naked:active:not(:disabled){background-color:var(--tox-private-button-naked-active-background-color,#2b3b4e);border-color:var(--tox-private-button-naked-active-border-color,#2b3b4e);color:var(--tox-private-button-naked-active-text-color,#fff);box-shadow:none}.tox .tox-button--secondary--outline{background-color:transparent;border-color:var(--tox-private-button-secondary-outline-border-color,#3d546f);color:var(--tox-private-button-secondary-outline-text-color,#fff)}.tox .tox-button--secondary--outline:focus:not(:disabled){background-color:var(--tox-private-button-secondary-outline-focus-background-color,#34485f);border-color:var(--tox-private-button-secondary-outline-focus-border-color,#34485f);color:var(--tox-private-button-secondary-outline-focus-text-color,#fff)}.tox .tox-button--secondary--outline:hover:not(:disabled){background-color:var(--tox-private-button-secondary-outline-hover-background-color,#3d546f);border-color:var(--tox-private-button-secondary-outline-hover-border-color,#34485f);color:var(--tox-private-button-secondary-outline-hover-text-color,#fff)}.tox .tox-button--secondary--outline:active:not(:disabled){background-color:var(--tox-private-button-secondary-outline-active-background-color,#34485f);border-color:var(--tox-private-button-secondary-outline-active-border-color,#34485f);color:var(--tox-private-button-secondary-outline-active-text-color,#fff)}.tox .tox-button--secondary--outline[disabled]{background-color:var(--tox-private-button-secondary-outline-disabled-background-color,transparent);border-color:var(--tox-private-button-secondary-outline-disabled-border-color,#3d546f);color:var(--tox-private-button-secondary-outline-disabled-text-color,rgba(255,255,255,.5))}.tox .tox-checkbox{align-items:center;border-radius:var(--tox-private-checkbox-border-radius,3px);cursor:pointer;display:flex;height:var(--tox-private-control-height,36px);min-width:var(--tox-private-control-height,36px)}.tox .tox-checkbox__input{height:1px;overflow:hidden;position:absolute;top:auto;width:1px}.tox .tox-checkbox__icons{display:flex;align-items:center;justify-content:center;box-sizing:content-box;padding:var(--tox-private-pad-xs,calc(4px - 1px));border-radius:var(--tox-private-checkbox-border-radius,3px);box-shadow:0 0 0 2px transparent;height:var(--tox-private-control-line-height,24px);aspect-ratio:1}.tox .tox-checkbox__icons .tox-checkbox-icon__unchecked svg{display:block;fill:var(--tox-private-checkbox-unselected-color,rgba(255,255,255,0.2))}@media (forced-colors:active){.tox .tox-checkbox__icons .tox-checkbox-icon__unchecked svg{fill:currentColor!important}}.tox .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg{display:none;fill:var(--tox-private-checkbox-indeterminate-color,#207ab7)}.tox .tox-checkbox__icons .tox-checkbox-icon__checked svg{display:none;fill:var(--tox-private-checkbox-selected-color,#207ab7)}.tox .tox-checkbox--disabled{color:var(--tox-private-checkbox-disabled-text-color,rgba(255,255,255,.5));cursor:not-allowed}.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__checked svg{fill:var(--tox-private-checkbox-disabled-text-color,rgba(255,255,255,0.5))}.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__unchecked svg{fill:var(--tox-private-checkbox-disabled-text-color,rgba(255,255,255,0.5))}.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg{fill:var(--tox-private-checkbox-disabled-text-color,rgba(255,255,255,0.5))}.tox input.tox-checkbox__input:checked+.tox-checkbox__icons .tox-checkbox-icon__unchecked svg{display:none}.tox input.tox-checkbox__input:checked+.tox-checkbox__icons .tox-checkbox-icon__checked svg{display:block}.tox input.tox-checkbox__input:indeterminate+.tox-checkbox__icons .tox-checkbox-icon__unchecked svg{display:none}.tox input.tox-checkbox__input:indeterminate+.tox-checkbox__icons .tox-checkbox-icon__indeterminate svg{display:block}.tox input.tox-checkbox__input:focus+.tox-checkbox__icons{box-shadow:var(--tox-private-checkbox-focus-box-shadow,inset 0 0 0 1px #207ab7)}.tox:not([dir=rtl]) .tox-checkbox__label{margin-left:var(--tox-private-pad-xs,4px)}.tox:not([dir=rtl]) .tox-checkbox__input{left:-10000px}.tox:not([dir=rtl]) .tox-bar .tox-checkbox{margin-left:var(--tox-private-pad-xs,4px)}.tox[dir=rtl] .tox-checkbox__label{margin-right:var(--tox-private-pad-xs,4px)}.tox[dir=rtl] .tox-checkbox__input{right:-10000px}.tox[dir=rtl] .tox-bar .tox-checkbox{margin-right:var(--tox-private-pad-xs,4px)}.tox .tox-collection--toolbar .tox-collection__group{display:flex;padding:0}.tox .tox-collection--grid .tox-collection__group{display:flex;flex-wrap:wrap;max-height:208px;overflow-x:hidden;overflow-y:auto;padding:0}.tox .tox-collection--list .tox-collection__group{border-bottom-width:0;border-color:#1a1a1a;border-left-width:0;border-right-width:0;border-style:solid;border-top-width:1px;padding:4px 0}.tox .tox-collection--list .tox-collection__group:first-child{border-top-width:0}.tox .tox-collection__group-heading{background-color:#333;color:#fff;cursor:default;font-size:12px;font-style:normal;font-weight:400;margin-bottom:4px;margin-top:-4px;padding:4px 8px;text-transform:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.tox .tox-collection__item{align-items:center;border-radius:3px;color:#fff;display:flex;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.tox .tox-image-selector-menu .tox-collection__item,.tox .tox-image-selector-menu .tox-collection__item-image-selector{flex-direction:column}.tox .tox-image-selector-menu .tox-collection__item .tox-collection__item-checkmark,.tox .tox-image-selector-menu .tox-collection__item .tox-collection__item-icon,.tox .tox-image-selector-menu .tox-collection__item .tox-collection__item-image,.tox .tox-image-selector-menu .tox-collection__item-image-selector .tox-collection__item-checkmark,.tox .tox-image-selector-menu .tox-collection__item-image-selector .tox-collection__item-icon,.tox .tox-image-selector-menu .tox-collection__item-image-selector .tox-collection__item-image{flex-grow:1}.tox .tox-image-selector-menu .tox-collection__item label,.tox .tox-image-selector-menu .tox-collection__item-image-selector label{width:48px;white-space:nowrap;overflow:hidden;font-size:12px;color:#fff;text-align:center;align-self:flex-end}.tox .tox-image-selector-menu .tox-collection__item-checkmark{height:24px;width:24px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.tox .tox-image-selector-menu .tox-collection__item-checkmark svg path{fill:#207ab7;stroke:#207ab7}.tox .tox-image-selector-menu .tox-image-selector__row .tox-collection__item-image-selector.tox-collection__item--active:not(.tox-collection__item--state-disabled){background-color:#222f3e}.tox .tox-image-selector-menu .tox-image-selector__row .tox-collection__item-image-selector.tox-collection__item--enabled:not(.tox-collection__item--state-disabled){z-index:2;background-color:#222f3e;opacity:.8;background-clip:content-box}.tox .tox-collection--list .tox-collection__item{padding:4px 8px}.tox .tox-collection--toolbar .tox-collection__item{border-radius:3px;padding:4px}.tox .tox-collection--grid .tox-collection__item{border-radius:3px;padding:4px}.tox .tox-collection--list .tox-collection__item--enabled:not(.tox-collection__item--state-disabled){background-color:#2b3b4e;color:#fff}.tox .tox-collection--list .tox-collection__item--active:not(.tox-collection__item--state-disabled){background-color:#4a5562;color:#fff}@media (forced-colors:active){.tox .tox-collection--list .tox-collection__item--active:not(.tox-collection__item--state-disabled){border:solid 1px}}.tox .tox-collection--grid .tox-collection__item--enabled:not(.tox-collection__item--state-disabled){background-color:#757d87;color:#fff}.tox .tox-collection--grid .tox-collection__item--active:not(.tox-collection__item--state-disabled){background-color:#4a5562;color:#fff;position:relative;z-index:1}.tox .tox-collection--grid .tox-collection__item--active:not(.tox-collection__item--state-disabled):focus::after{border-radius:3px;bottom:0;box-shadow:0 0 0 0 transparent inset;content:'';left:0;position:absolute;right:0;top:0}@media (forced-colors:active){.tox .tox-collection--grid .tox-collection__item--active:not(.tox-collection__item--state-disabled):focus::after{border:2px solid highlight}}.tox .tox-collection--toolbar .tox-collection__item--enabled:not(.tox-collection__item--state-disabled){background-color:#757d87;color:#fff}@media (forced-colors:active){.tox .tox-collection--toolbar .tox-collection__item--enabled:not(.tox-collection__item--state-disabled){border-radius:3px;outline:solid 1px}}.tox .tox-collection--toolbar .tox-collection__item--active:not(.tox-collection__item--state-disabled){color:#fff;background-color:#2b3b4e;position:relative}.tox .tox-collection--toolbar .tox-collection__item--active:not(.tox-collection__item--state-disabled):hover{background-color:#4a5562;color:#fff}.tox .tox-collection--toolbar .tox-collection__item--active:not(.tox-collection__item--state-disabled):focus{background-color:#4a5562;color:#fff}.tox .tox-collection--toolbar .tox-collection__item--active:not(.tox-collection__item--state-disabled):focus::after{border-radius:3px;bottom:0;box-shadow:0 0 0 0 transparent;content:'';left:0;position:absolute;right:0;top:0}@media (forced-colors:active){.tox .tox-collection--toolbar .tox-collection__item--active:not(.tox-collection__item--state-disabled):focus::after{border:2px solid highlight}}@media (forced-colors:active){.tox .tox-collection--toolbar .tox-collection__item--active:not(.tox-collection__item--state-disabled):hover{border-radius:3px;outline:solid 1px}}.tox .tox-collection__item-image{border:1px solid #000;border-radius:3px;display:flex;flex-direction:column;justify-content:center;margin-bottom:4px;position:relative}.tox .tox-collection__item-checkmark,.tox .tox-collection__item-icon{align-items:center;display:flex;height:24px;justify-content:center;width:24px}.tox .tox-collection__item-checkmark svg,.tox .tox-collection__item-icon svg{fill:currentColor}.tox .tox-collection--toolbar-lg .tox-collection__item-icon{height:48px;width:48px}.tox .tox-collection__item-label{color:currentColor;display:inline-block;flex:1;font-size:14px;font-style:normal;font-weight:400;line-height:24px;max-width:100%;text-transform:none;word-break:break-all}.tox .tox-collection__item-accessory{color:currentColor;display:inline-block;font-size:14px;height:24px;line-height:24px;text-transform:none}.tox .tox-collection__item-caret{align-items:center;display:flex;min-height:24px}.tox .tox-collection__item-caret::after{content:'';font-size:0;min-height:inherit}.tox .tox-collection__item-caret svg{fill:currentColor}.tox .tox-collection__item--state-disabled{background-color:transparent;color:rgba(255,255,255,.5);cursor:not-allowed}.tox .tox-collection__item--state-disabled .tox-collection__item-caret svg{fill:rgba(255,255,255,0.5)}.tox .tox-collection--list .tox-collection__item:not(.tox-collection__item--enabled) .tox-collection__item-checkmark svg{display:none}.tox .tox-collection--list .tox-collection__item:not(.tox-collection__item--enabled) .tox-collection__item-accessory+.tox-collection__item-checkmark{display:none}.tox .tox-collection--horizontal{background-color:#2b3b4e;border:1px solid #1a1a1a;border-radius:3px;box-shadow:0 0 2px 0 rgba(42,55,70,.2),0 4px 8px 0 rgba(42,55,70,.15);display:flex;flex:0 0 auto;flex-shrink:0;flex-wrap:nowrap;margin-bottom:0;overflow-x:auto;padding:0}.tox .tox-collection--horizontal .tox-collection__group{align-items:center;display:flex;flex-wrap:nowrap;margin:0;padding:0 4px}.tox .tox-collection--horizontal .tox-collection__item{height:34px;margin:3px 0 2px 0;padding:0 4px}.tox .tox-collection--horizontal .tox-collection__item-label{white-space:nowrap}.tox .tox-collection--horizontal .tox-collection__item-caret{margin-left:4px}.tox .tox-collection__item-container{display:flex}.tox .tox-collection__item-container--row{align-items:center;flex:1 1 auto;flex-direction:row}.tox .tox-collection__item-container--row.tox-collection__item-container--align-left{margin-right:auto}.tox .tox-collection__item-container--row.tox-collection__item-container--align-right{justify-content:flex-end;margin-left:auto}.tox .tox-collection__item-container--row.tox-collection__item-container--valign-top{align-items:flex-start;margin-bottom:auto}.tox .tox-collection__item-container--row.tox-collection__item-container--valign-middle{align-items:center}.tox .tox-collection__item-container--row.tox-collection__item-container--valign-bottom{align-items:flex-end;margin-top:auto}.tox .tox-collection__item-container--column{align-self:center;flex:1 1 auto;flex-direction:column}.tox .tox-collection__item-container--column.tox-collection__item-container--align-left{align-items:flex-start}.tox .tox-collection__item-container--column.tox-collection__item-container--align-right{align-items:flex-end}.tox .tox-collection__item-container--column.tox-collection__item-container--valign-top{align-self:flex-start}.tox .tox-collection__item-container--column.tox-collection__item-container--valign-middle{align-self:center}.tox .tox-collection__item-container--column.tox-collection__item-container--valign-bottom{align-self:flex-end}.tox:not([dir=rtl]) .tox-collection--horizontal .tox-collection__group:not(:last-of-type){border-right:1px solid #000}.tox:not([dir=rtl]) .tox-collection--list .tox-collection__item>:not(:first-child){margin-left:8px}.tox:not([dir=rtl]) .tox-collection--list .tox-collection__item>.tox-collection__item-label:first-child{margin-left:4px}.tox:not([dir=rtl]) .tox-collection__item-accessory{margin-left:16px;text-align:right}.tox:not([dir=rtl]) .tox-collection .tox-collection__item-caret{margin-left:16px}.tox[dir=rtl] .tox-collection--horizontal .tox-collection__group:not(:last-of-type){border-left:1px solid #000}.tox[dir=rtl] .tox-collection--list .tox-collection__item>:not(:first-child){margin-right:8px}.tox[dir=rtl] .tox-collection--list .tox-collection__item>.tox-collection__item-label:first-child{margin-right:4px}.tox[dir=rtl] .tox-collection__item-accessory{margin-right:16px;text-align:left}.tox[dir=rtl] .tox-collection .tox-collection__item-caret{margin-right:16px;transform:rotateY(180deg)}.tox[dir=rtl] .tox-collection--horizontal .tox-collection__item-caret{margin-right:4px}@media (forced-colors:active){.tox .tox-hue-slider,.tox .tox-rgb-form .tox-rgba-preview{background-color:currentColor!important;border:1px solid highlight!important;forced-color-adjust:none}}.tox .tox-color-picker-container{display:flex;flex-direction:row;height:225px;margin:0}.tox .tox-sv-palette{box-sizing:border-box;display:flex;height:100%}.tox .tox-sv-palette-spectrum{height:100%}.tox .tox-sv-palette,.tox .tox-sv-palette-spectrum{width:225px}.tox .tox-sv-palette-thumb{background:0 0;border:1px solid #000;border-radius:50%;box-sizing:content-box;height:12px;position:absolute;width:12px}.tox .tox-sv-palette-inner-thumb{border:1px solid #fff;border-radius:50%;height:10px;position:absolute;width:10px}.tox .tox-hue-slider{box-sizing:border-box;height:100%;width:25px}.tox .tox-hue-slider-spectrum{background:linear-gradient(to bottom,red,#ff0080,#f0f,#8000ff,#00f,#0080ff,#0ff,#00ff80,#0f0,#80ff00,#ff0,#ff8000,red);height:100%;width:100%}.tox .tox-hue-slider,.tox .tox-hue-slider-spectrum{width:20px}.tox .tox-hue-slider-spectrum:focus,.tox .tox-sv-palette-spectrum:focus{outline:#08f solid}.tox .tox-hue-slider-thumb{background:#fff;border:1px solid #000;box-sizing:content-box;height:4px;width:100%}.tox .tox-rgb-form{display:flex;flex-direction:column;justify-content:space-between}.tox .tox-rgb-form div{align-items:center;display:flex;justify-content:space-between;margin-bottom:5px;width:inherit}.tox .tox-rgb-form input{min-width:6em}.tox .tox-rgb-form input.tox-invalid{border:1px solid red!important;box-shadow:0 0 0 1px red}.tox .tox-rgb-container{position:relative}.tox .tox-rgb-form .tox-invalid-icon{align-content:center;align-items:center;display:none;height:100%;position:absolute;right:0;top:0}.tox .tox-rgb-form .tox-invalid-icon .tox-control-wrap__status-icon-invalid{margin:0}.tox .tox-rgb-warning-note{background-color:#442632;border:1px solid #55212b;border-radius:3px;color:#e68080;padding:3px}.tox input.tox-invalid+.tox-invalid-icon{display:flex}.tox .tox-rgb-form .tox-rgba-preview{border:1px solid #000;flex-grow:2;margin-bottom:0}.tox:not([dir=rtl]) .tox-sv-palette{margin-right:15px}.tox:not([dir=rtl]) .tox-hue-slider{margin-right:15px}.tox:not([dir=rtl]) .tox-hue-slider-thumb{margin-left:-1px}.tox:not([dir=rtl]) .tox-rgb-form label{margin-right:.5em}.tox[dir=rtl] .tox-sv-palette{margin-left:15px}.tox[dir=rtl] .tox-hue-slider{margin-left:15px}.tox[dir=rtl] .tox-hue-slider-thumb{margin-right:-1px}.tox[dir=rtl] .tox-rgb-form label{margin-left:.5em}.tox .tox-toolbar .tox-swatches,.tox .tox-toolbar__overflow .tox-swatches,.tox .tox-toolbar__primary .tox-swatches{margin:2px 0 3px 4px}.tox .tox-collection--list .tox-collection__group .tox-swatches-menu{border:0;margin:-4px 0}.tox .tox-swatches__row{display:flex}@media (forced-colors:active){.tox .tox-swatches__row{forced-color-adjust:none}}.tox .tox-swatch{height:30px;transition:transform .15s,box-shadow .15s;width:30px}.tox .tox-swatch:focus,.tox .tox-swatch:hover{box-shadow:0 0 0 1px rgba(127,127,127,.3) inset;transform:scale(.8)}.tox .tox-swatch--remove{align-items:center;display:flex;justify-content:center}.tox .tox-swatch--remove svg path{stroke:#e74c3c}.tox .tox-swatches__picker-btn{align-items:center;background-color:transparent;border:0;cursor:pointer;display:flex;height:30px;justify-content:center;outline:0;padding:0;width:30px}.tox .tox-swatches__picker-btn svg{fill:#fff;height:24px;width:24px}.tox .tox-swatches__picker-btn:hover{background:#4a5562}.tox div.tox-swatch:not(.tox-swatch--remove) svg{display:none;fill:#fff;height:24px;margin:calc((30px - 24px)/ 2) calc((30px - 24px)/ 2);width:24px}.tox div.tox-swatch:not(.tox-swatch--remove) svg path{fill:#fff;paint-order:stroke;stroke:#222f3e;stroke-width:2px}.tox div.tox-swatch:not(.tox-swatch--remove).tox-collection__item--enabled svg{display:block}.tox:not([dir=rtl]) .tox-swatches__picker-btn{margin-left:auto}.tox[dir=rtl] .tox-swatches__picker-btn{margin-right:auto}.tox .tox-comment{background:#222f3e;border:1px solid #222f3e;border-radius:3px;padding:8px;padding-bottom:16px;position:relative}.tox .tox-comment:hover{box-shadow:0 4px 8px 0 rgba(42,55,70,.1)}.tox .tox-comment.tox-comment--selected{background-color:#555542;border:1px solid #ffcf30;box-shadow:0 4px 8px 0 rgba(42,55,70,.1)}.tox .tox-comment.tox-comment--selected:focus{border:2px solid transparent;margin:-1px}.tox .tox-comment.tox-comment--selected:focus:not(:first-child){margin-top:7px}.tox .tox-comment.tox-comment--selected .tox-comment__single{margin-bottom:12px}.tox .tox-comment.tox-comment--selected .tox-comment__single:focus{position:relative}.tox .tox-comment.tox-comment--selected .tox-comment__single:focus::after{top:-9px;pointer-events:none;position:absolute;content:\"\";display:block;bottom:-9px;left:-9px;right:-9px;border-radius:3px;border:2px solid transparent}.tox .tox-comment.tox-comment--selected .tox-comment__single:focus:last-of-type:has(textarea):after{bottom:calc((12px + 16px + 1px) * -1)}.tox .tox-comment__header{align-items:center;color:#fff;display:flex;justify-content:space-between}.tox .tox-comment__date{color:#fff;font-size:12px;line-height:18px}.tox .tox-comment__body{color:#fff;font-size:16px;font-style:normal;font-weight:400;line-height:1.3;margin-top:8px;position:relative;text-transform:initial;transition:max-height .5s cubic-bezier(0, 1, 0, 1);white-space:pre-wrap}.tox .tox-comment__body.tox-comment__body--expanded{max-height:100em;transition:max-height 1s ease-in-out}.tox .tox-comment__body.tox-comment__body--pending{transition:max-height 0s}.tox .tox-comment__body p{margin:0}.tox .tox-comment__body textarea{resize:none;white-space:normal;width:100%;font-size:16px}.tox .tox-comment__loading-text{align-items:center;color:#fff;display:flex;flex-direction:column;position:relative}.tox .tox-comment__loading-text>div{padding-bottom:16px}.tox .tox-comment__overlaytext{bottom:0;flex-direction:column;font-size:14px;left:0;padding:1em;position:absolute;right:0;top:0;z-index:10}.tox .tox-comment__overlaytext p{background-color:#222f3e;box-shadow:0 0 8px 8px #222f3e;color:#fff;text-align:center}.tox .tox-comment__overlaytext div:nth-of-type(2){font-size:.8em}.tox .tox-comment__expander{padding-top:8px}.tox .tox-comment__expander p{color:rgba(255,255,255,.5);font-size:14px;font-style:normal}.tox .tox-comment__expander p:focus{font-weight:700}.tox .tox-comment__buttonspacing{padding-top:16px;text-align:center}.tox .tox-tbtn.tox-comment__mention-btn{display:flex;width:34px;height:34px;padding:5px;justify-content:center;align-items:center;margin:0;background-color:transparent}.tox .tox-comment-thread{background:#222f3e;position:relative;border-radius:3px;background-color:transparent}.tox .tox-comment-thread>:not(:first-child){margin-top:8px}.tox .tox-comment-thread__overlay::after{background:#222f3e;bottom:0;content:\"\";display:flex;left:0;opacity:.9;position:absolute;right:0;top:0;z-index:5}.tox .tox-comment__reply{display:flex;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end;margin-top:8px}.tox .tox-comment__reply>:first-child{margin-bottom:8px;width:100%}.tox .tox-comment__edit{display:flex;flex-wrap:wrap;justify-content:flex-end;margin-top:8px}.tox .tox-comment__gradient::after{background:linear-gradient(rgba(34,47,62,0),#222f3e);bottom:0;content:\"\";display:block;height:5em;margin-top:-40px;position:absolute;width:100%}.tox .tox-comment__overlay{background:#222f3e;bottom:0;display:flex;flex-direction:column;flex-grow:1;left:0;opacity:.9;position:absolute;right:0;text-align:center;top:0;z-index:5}.tox .tox-comment__busy-spinner{align-items:center;background-color:#222f3e;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:20}.tox .tox-comment__scroll{display:flex;flex-direction:column;flex-shrink:1;overflow:auto;padding:12px;scroll-behavior:smooth}.tox .tox-comment__scroll:has(textarea:focus){scroll-behavior:auto}.tox .tox-comment--disappearing{transition:opacity .5s ease}.tox .tox-comment[data-transitioning-destination=deleting]{opacity:0}.tox .tox-ring-loader{width:10px;height:10px;border:1px solid #fff;border-bottom-color:transparent;border-radius:50%;display:inline-block;box-sizing:border-box;animation:tox-rotation 1s linear infinite}.tox:not([dir=rtl]) .tox-comment__edit{margin-left:8px}.tox:not([dir=rtl]) .tox-comment__buttonspacing>:last-child,.tox:not([dir=rtl]) .tox-comment__edit>:last-child,.tox:not([dir=rtl]) .tox-comment__reply>:last-child{margin-left:8px}.tox[dir=rtl] .tox-comment__edit{margin-right:8px}.tox[dir=rtl] .tox-comment__buttonspacing>:last-child,.tox[dir=rtl] .tox-comment__edit>:last-child,.tox[dir=rtl] .tox-comment__reply>:last-child{margin-right:8px}.tox .tox-user{align-items:center;display:flex}.tox .tox-user__avatar svg{fill:rgba(255,255,255,0.5)}.tox .tox-user__avatar img{border-radius:50%;height:36px;object-fit:cover;vertical-align:middle;width:36px}.tox .tox-user__name{color:#fff;font-size:14px;font-style:normal;font-weight:700;line-height:18px;text-transform:none}.tox:not([dir=rtl]) .tox-user__avatar img,.tox:not([dir=rtl]) .tox-user__avatar svg{margin-right:8px}.tox:not([dir=rtl]) .tox-user__avatar+.tox-user__name{margin-left:8px}.tox[dir=rtl] .tox-user__avatar img,.tox[dir=rtl] .tox-user__avatar svg{margin-left:8px}.tox[dir=rtl] .tox-user__avatar+.tox-user__name{margin-right:8px}.tox .tox-dialog-wrap{align-items:center;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1100}.tox .tox-dialog-wrap__backdrop{background-color:rgba(34,47,62,.75);bottom:0;left:0;position:absolute;right:0;top:0;z-index:1}.tox .tox-dialog-wrap__backdrop--opaque{background-color:#222f3e}.tox .tox-dialog{background-color:#2b3b4e;border-color:#000;border-radius:3px;border-style:solid;border-width:1px;box-shadow:0 16px 16px -10px rgba(42,55,70,.15),0 0 40px 1px rgba(42,55,70,.15);display:flex;flex-direction:column;max-height:100%;max-width:480px;overflow:hidden;position:relative;width:95vw;z-index:2}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox .tox-dialog{align-self:flex-start;margin:8px auto;max-height:calc(100vh - 8px * 2);width:calc(100vw - 16px)}}.tox .tox-dialog-inline{z-index:1100}.tox .tox-dialog__header{align-items:center;background-color:#2b3b4e;border-bottom:none;color:#fff;display:flex;font-size:16px;justify-content:space-between;padding:8px 16px 0 16px;position:relative}.tox .tox-dialog__header .tox-button{z-index:1}.tox .tox-dialog__draghandle{cursor:grab;height:100%;left:0;position:absolute;top:0;width:100%}.tox .tox-dialog__draghandle:active{cursor:grabbing}.tox .tox-dialog__dismiss{margin-left:auto}.tox .tox-dialog__title{font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif;font-size:20px;font-style:normal;font-weight:400;line-height:1.3;margin:0;text-transform:none}.tox .tox-dialog__body{color:#fff;display:flex;flex:1;font-size:16px;font-style:normal;font-weight:400;line-height:1.3;min-width:0;text-align:left;text-transform:none}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox .tox-dialog__body{flex-direction:column}}.tox .tox-dialog__body-nav{align-items:flex-start;display:flex;flex-direction:column;flex-shrink:0;padding:16px 16px}@media only screen and (min-width:768px){.tox .tox-dialog__body-nav{max-width:11em}}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox .tox-dialog__body-nav{flex-direction:row;-webkit-overflow-scrolling:touch;overflow-x:auto;padding-bottom:0}}.tox .tox-dialog__body-nav-item{border-bottom:2px solid transparent;color:rgba(255,255,255,.5);display:inline-block;flex-shrink:0;font-size:14px;line-height:1.3;margin-bottom:8px;max-width:13em;-webkit-text-decoration:none;text-decoration:none}.tox .tox-dialog__body-nav-item:focus{background-color:rgba(32,122,183,.1)}.tox .tox-dialog__body-nav-item--active{border-bottom:2px solid #90bddb;color:#90bddb}@media (forced-colors:active){.tox .tox-dialog__body-nav-item--active{border-bottom:2px solid highlight;color:highlight}}.tox .tox-dialog__body-content{box-sizing:border-box;display:flex;flex:1;flex-direction:column;max-height:min(650px,calc(100vh - 110px));overflow:auto;-webkit-overflow-scrolling:touch;padding:16px 16px}.tox .tox-dialog__body-content>*{margin-bottom:0;margin-top:16px}.tox .tox-dialog__body-content>:first-child{margin-top:0}.tox .tox-dialog__body-content>:last-child{margin-bottom:0}.tox .tox-dialog__body-content>:only-child{margin-bottom:0;margin-top:0}.tox .tox-dialog__body-content a{color:#90bddb;cursor:pointer;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-dialog__body-content a:focus,.tox .tox-dialog__body-content a:hover{color:#428fc2;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-dialog__body-content a:focus-visible{border-radius:1px;outline:2px solid #90bddb;outline-offset:2px}.tox .tox-dialog__body-content a:active{color:#33739e;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-dialog__body-content svg{fill:#fff}.tox .tox-dialog__body-content strong{font-weight:700}.tox .tox-dialog__body-content ul{list-style-type:disc}.tox .tox-dialog__body-content dd,.tox .tox-dialog__body-content ol,.tox .tox-dialog__body-content ul{padding-inline-start:2.5rem}.tox .tox-dialog__body-content dl,.tox .tox-dialog__body-content ol,.tox .tox-dialog__body-content ul{margin-bottom:16px}.tox .tox-dialog__body-content dd,.tox .tox-dialog__body-content dl,.tox .tox-dialog__body-content dt,.tox .tox-dialog__body-content ol,.tox .tox-dialog__body-content ul{display:block;margin-inline-end:0;margin-inline-start:0}.tox .tox-dialog__body-content .tox-form__group h1{color:#fff;font-size:20px;font-style:normal;font-weight:700;letter-spacing:normal;margin-bottom:16px;margin-top:2rem;text-transform:none}.tox .tox-dialog__body-content .tox-form__group h2{color:#fff;font-size:16px;font-style:normal;font-weight:700;letter-spacing:normal;margin-bottom:16px;margin-top:2rem;text-transform:none}.tox .tox-dialog__body-content .tox-form__group p{margin-bottom:16px}.tox .tox-dialog__body-content .tox-form__group h1:first-child,.tox .tox-dialog__body-content .tox-form__group h2:first-child,.tox .tox-dialog__body-content .tox-form__group p:first-child{margin-top:0}.tox .tox-dialog__body-content .tox-form__group h1:last-child,.tox .tox-dialog__body-content .tox-form__group h2:last-child,.tox .tox-dialog__body-content .tox-form__group p:last-child{margin-bottom:0}.tox .tox-dialog__body-content .tox-form__group h1:only-child,.tox .tox-dialog__body-content .tox-form__group h2:only-child,.tox .tox-dialog__body-content .tox-form__group p:only-child{margin-bottom:0;margin-top:0}.tox .tox-dialog__body-content .tox-form__group .tox-label.tox-label--center{text-align:center}.tox .tox-dialog__body-content .tox-form__group .tox-label.tox-label--end{text-align:end}.tox .tox-dialog--width-lg{height:650px;max-width:1200px}.tox .tox-dialog--fullscreen{height:100%;max-width:100%}.tox .tox-dialog--fullscreen .tox-dialog__body-content{max-height:100%}.tox .tox-dialog--width-md{max-width:800px}.tox .tox-dialog--width-md .tox-dialog__body-content{overflow:auto}.tox .tox-dialog__body-content--centered{text-align:center}.tox .tox-dialog__footer{align-items:center;background-color:#2b3b4e;border-top:1px solid #000;display:flex;justify-content:space-between;padding:8px 16px}.tox .tox-dialog__footer-end,.tox .tox-dialog__footer-start{display:flex}.tox .tox-dialog__busy-spinner{align-items:center;background-color:rgba(34,47,62,.75);bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:3}.tox .tox-dialog__table{border-collapse:collapse;width:100%}.tox .tox-dialog__table thead th{font-weight:700;padding-bottom:8px}.tox .tox-dialog__table thead th:first-child{padding-right:8px}.tox .tox-dialog__table tbody tr{border-bottom:1px solid #000}.tox .tox-dialog__table tbody tr:last-child{border-bottom:none}.tox .tox-dialog__table td{padding-bottom:8px;padding-top:8px}.tox .tox-dialog__table td:first-child{padding-right:8px}.tox .tox-dialog__iframe{min-height:200px}.tox .tox-dialog__iframe.tox-dialog__iframe--opaque{background:#fff}.tox .tox-navobj-bordered{position:relative}.tox .tox-navobj-bordered::before{border:1px solid #000;border-radius:3px;content:'';inset:0;opacity:1;pointer-events:none;position:absolute;z-index:1}.tox .tox-navobj-bordered iframe{border-radius:3px}.tox .tox-navobj-bordered-focus.tox-navobj-bordered::before{border-color:#207ab7;box-shadow:none;outline:2px solid rgba(32,122,183,.25)}.tox .tox-dialog__popups{position:absolute;width:100%;z-index:1100}.tox .tox-dialog__body-iframe{display:flex;flex:1;flex-direction:column}.tox .tox-dialog__body-iframe .tox-navobj{display:flex;flex:1}.tox .tox-dialog__body-iframe .tox-navobj :nth-child(2){flex:1;height:100%}.tox .tox-dialog-dock-fadeout{opacity:0;visibility:hidden}.tox .tox-dialog-dock-fadein{opacity:1;visibility:visible}.tox .tox-dialog-dock-transition{transition:visibility 0s linear .3s,opacity .3s ease}.tox .tox-dialog-dock-transition.tox-dialog-dock-fadein{transition-delay:0s}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox:not([dir=rtl]) .tox-dialog__body-nav{margin-right:0}}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox:not([dir=rtl]) .tox-dialog__body-nav-item:not(:first-child){margin-left:8px}}.tox:not([dir=rtl]) .tox-dialog__footer .tox-dialog__footer-end>*,.tox:not([dir=rtl]) .tox-dialog__footer .tox-dialog__footer-start>*{margin-left:8px}.tox[dir=rtl] .tox-dialog__body{text-align:right}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox[dir=rtl] .tox-dialog__body-nav{margin-left:0}}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox[dir=rtl] .tox-dialog__body-nav-item:not(:first-child){margin-right:8px}}.tox[dir=rtl] .tox-dialog__footer .tox-dialog__footer-end>*,.tox[dir=rtl] .tox-dialog__footer .tox-dialog__footer-start>*{margin-right:8px}body.tox-dialog__disable-scroll{overflow:hidden}.tox .tox-dropzone-container{display:flex;flex:1}.tox .tox-dropzone{align-items:center;background:#fff;border:2px dashed #000;box-sizing:border-box;display:flex;flex-direction:column;flex-grow:1;justify-content:center;min-height:100px;padding:10px}.tox .tox-dropzone p{color:rgba(255,255,255,.5);margin:0 0 16px 0}.tox .tox-edit-area{display:flex;flex:1;overflow:hidden;position:relative}.tox .tox-edit-area::before{border:0 solid transparent;border-radius:4px;content:'';inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity .15s;z-index:1}@media (forced-colors:active){.tox .tox-edit-area::before{border:0 solid highlight}}.tox .tox-edit-area__iframe{background-color:#fff;border:0;box-sizing:border-box;flex:1;height:100%;position:absolute;width:100%}.tox.tox-edit-focus .tox-edit-area::before{opacity:1}.tox.tox-inline-edit-area{border:1px dotted #000}.tox .tox-control-wrap{flex:1;position:relative}.tox .tox-control-wrap:not(.tox-control-wrap--status-invalid) .tox-control-wrap__status-icon-invalid,.tox .tox-control-wrap:not(.tox-control-wrap--status-unknown) .tox-control-wrap__status-icon-unknown,.tox .tox-control-wrap:not(.tox-control-wrap--status-valid) .tox-control-wrap__status-icon-valid{display:none}.tox .tox-control-wrap svg{display:block}.tox .tox-control-wrap__status-icon-wrap{position:absolute;top:50%;transform:translateY(-50%)}.tox .tox-control-wrap__status-icon-invalid svg{fill:#c00}.tox .tox-control-wrap__status-icon-unknown svg{fill:orange}.tox .tox-control-wrap__status-icon-valid svg{fill:green}.tox:not([dir=rtl]) .tox-control-wrap--status-invalid .tox-textfield,.tox:not([dir=rtl]) .tox-control-wrap--status-unknown .tox-textfield,.tox:not([dir=rtl]) .tox-control-wrap--status-valid .tox-textfield{padding-right:32px}.tox:not([dir=rtl]) .tox-control-wrap__status-icon-wrap{right:4px}.tox[dir=rtl] .tox-control-wrap--status-invalid .tox-textfield,.tox[dir=rtl] .tox-control-wrap--status-unknown .tox-textfield,.tox[dir=rtl] .tox-control-wrap--status-valid .tox-textfield{padding-left:32px}.tox[dir=rtl] .tox-control-wrap__status-icon-wrap{left:4px}.tox .tox-custom-preview{border-color:#000;border-radius:3px;border-style:solid;border-width:1px;flex:1;padding:8px}.tox .tox-autocompleter{max-width:25em}.tox .tox-autocompleter .tox-menu{box-sizing:border-box;max-width:25em}.tox .tox-autocompleter .tox-autocompleter-highlight{font-weight:700}.tox .tox-color-input{display:flex;position:relative;z-index:1}.tox .tox-color-input .tox-textfield{z-index:-1}.tox .tox-color-input span{border-color:rgba(42 55 3.5%);border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;height:24px;position:absolute;top:6px;width:24px}@media (forced-colors:active){.tox .tox-color-input span{border-color:currentColor;border-width:2px!important;forced-color-adjust:none}}.tox .tox-color-input span:focus:not([aria-disabled=true]),.tox .tox-color-input span:hover:not([aria-disabled=true]){border-color:#207ab7;cursor:pointer}.tox .tox-color-input span::before{background-image:linear-gradient(45deg,rgba(255,255,255,.25) 25%,transparent 25%),linear-gradient(-45deg,rgba(255,255,255,.25) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(255,255,255,.25) 75%),linear-gradient(-45deg,transparent 75%,rgba(255,255,255,.25) 75%);background-position:0 0,0 6px,6px -6px,-6px 0;background-size:12px 12px;border:1px solid #2b3b4e;border-radius:3px;box-sizing:border-box;content:'';height:24px;left:-1px;position:absolute;top:-1px;width:24px;z-index:-1}@media (forced-colors:active){.tox .tox-color-input span::before{border:none}}.tox .tox-color-input span[aria-disabled=true]{cursor:not-allowed}.tox:not([dir=rtl]) .tox-color-input .tox-textfield{padding-left:36px}.tox:not([dir=rtl]) .tox-color-input span{left:6px}.tox[dir=rtl] .tox-color-input .tox-textfield{padding-right:36px}.tox[dir=rtl] .tox-color-input span{right:6px}.tox .tox-label,.tox .tox-toolbar-label{color:rgba(255,255,255,.5);display:block;font-size:14px;font-style:normal;font-weight:400;line-height:1.3;padding:0 8px 0 0;text-transform:none;white-space:nowrap}.tox .tox-toolbar-label{padding:0 8px}.tox[dir=rtl] .tox-label{padding:0 0 0 8px}.tox .tox-form{display:flex;flex:1;flex-direction:column}.tox .tox-form__group{box-sizing:border-box;margin-bottom:4px}.tox .tox-form-group--maximize{flex:1}.tox .tox-form__group--error{color:#c00}.tox .tox-form__group--collection{display:flex}.tox .tox-form__grid{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between}.tox .tox-form__grid--2col>.tox-form__group{width:calc(50% - (8px / 2))}.tox .tox-form__grid--3col>.tox-form__group{width:calc(100% / 3 - (8px / 2))}.tox .tox-form__grid--4col>.tox-form__group{width:calc(25% - (8px / 2))}.tox .tox-form__controls-h-stack{align-items:center;display:flex}.tox .tox-form__group--inline{align-items:center;display:flex}.tox .tox-form__group--stretched{display:flex;flex:1;flex-direction:column}.tox .tox-form__group--stretched .tox-textarea{flex:1}.tox .tox-form__group--stretched .tox-navobj{display:flex;flex:1}.tox .tox-form__group--stretched .tox-navobj :nth-child(2){flex:1;height:100%}.tox:not([dir=rtl]) .tox-form__controls-h-stack>:not(:first-child){margin-left:4px}.tox[dir=rtl] .tox-form__controls-h-stack>:not(:first-child){margin-right:4px}.tox .tox-lock.tox-locked .tox-lock-icon__unlock,.tox .tox-lock:not(.tox-locked) .tox-lock-icon__lock{display:none}.tox .tox-context-form__group .tox-button--icon.tox-lock-context-form-size-input{margin-left:8px;margin-right:8px}.tox .tox-listboxfield .tox-listbox--select,.tox .tox-textarea,.tox .tox-textarea-wrap .tox-textarea:focus,.tox .tox-textfield,.tox .tox-toolbar-textfield{appearance:none;background-color:#2b3b4e;border-color:#000;border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;color:#fff;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif;font-size:16px;line-height:24px;margin:0;min-height:34px;outline:0;padding:5px 4.75px;resize:none;width:100%}.tox .tox-textarea[disabled],.tox .tox-textfield[disabled],.tox .tox-toolbar-textfield[disabled]{background-color:#222f3e;color:rgba(255,255,255,.85);cursor:not-allowed}.tox .tox-custom-editor:focus-within,.tox .tox-focusable-wrapper:focus,.tox .tox-listboxfield .tox-listbox--select:focus,.tox .tox-textarea-wrap:focus-within,.tox .tox-textarea:focus,.tox .tox-textfield:focus,.tox .tox-toolbar-textfield:focus{background-color:#2b3b4e;border-color:#207ab7;box-shadow:none;outline:2px solid rgba(32,122,183,.25)}.tox .tox-toolbar-textfield{max-width:250px;min-height:unset;height:34px;margin:2px 0 3px 0}.tox .tox-naked-btn{background-color:transparent;border:0;border-color:transparent;box-shadow:unset;color:#207ab7;cursor:pointer;display:block;margin:0;padding:0}.tox .tox-naked-btn svg{display:block;fill:#fff}.tox .tox-textfield-size{width:80px}.tox:not([dir=rtl]) .tox-toolbar-textfield+*{margin-left:4px}.tox[dir=rtl] .tox-toolbar-textfield+*{margin-right:4px}.tox .tox-listboxfield{cursor:pointer;position:relative}.tox .tox-listboxfield .tox-listbox--select[disabled]{background-color:#19232e;color:rgba(255,255,255,.85);cursor:not-allowed}.tox .tox-listbox__select-label{cursor:default;flex:1;margin:0 4px}.tox .tox-listbox__select-chevron{align-items:center;display:flex;justify-content:center;width:16px}.tox .tox-listbox__select-chevron svg{fill:#fff}@media (forced-colors:active){.tox .tox-listbox__select-chevron svg{fill:currentColor!important}}.tox .tox-listboxfield .tox-listbox--select{align-items:center;display:flex}.tox:not([dir=rtl]) .tox-listboxfield svg{right:8px}.tox[dir=rtl] .tox-listboxfield svg{left:8px}.tox .tox-selectfield{cursor:pointer;position:relative}.tox .tox-selectfield select{appearance:none;background-color:#2b3b4e;border-color:#000;border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;color:#fff;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif;font-size:16px;line-height:24px;margin:0;min-height:34px;outline:0;padding:5px 4.75px;resize:none;width:100%}.tox .tox-selectfield select[disabled]{background-color:#19232e;color:rgba(255,255,255,.85);cursor:not-allowed}.tox .tox-selectfield select::-ms-expand{display:none}.tox .tox-selectfield select:focus{background-color:#2b3b4e;border-color:#207ab7;box-shadow:none;outline:2px solid rgba(32,122,183,.25)}.tox .tox-selectfield svg{pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.tox .tox-selectfield select option:checked{background-color:revert;color:revert}.tox:not([dir=rtl]) .tox-selectfield select[size=\"0\"],.tox:not([dir=rtl]) .tox-selectfield select[size=\"1\"]{padding-right:24px}.tox:not([dir=rtl]) .tox-selectfield svg{right:8px}.tox[dir=rtl] .tox-selectfield select[size=\"0\"],.tox[dir=rtl] .tox-selectfield select[size=\"1\"]{padding-left:24px}.tox[dir=rtl] .tox-selectfield svg{left:8px}.tox .tox-textarea-wrap{border-color:#000;border-radius:3px;border-style:solid;border-width:1px;display:flex;flex:1;overflow:hidden}.tox .tox-textarea{appearance:textarea;white-space:pre-wrap}.tox .tox-textarea-wrap .tox-textarea{border:none}.tox .tox-textarea-wrap .tox-textarea:focus{border:none}.tox-fullscreen{border:0;height:100%;margin:0;overflow:hidden;overscroll-behavior:none;padding:0;touch-action:pinch-zoom;width:100%}.tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle{display:none}.tox-shadowhost.tox-fullscreen,.tox.tox-tinymce.tox-fullscreen{left:0;position:fixed;top:0;z-index:1200}.tox.tox-tinymce.tox-fullscreen{background-color:transparent}.tox-fullscreen .tox.tox-tinymce-aux,.tox-fullscreen~.tox.tox-tinymce-aux{z-index:1201}.tox .tox-help__more-link{list-style:none;margin-top:1em}.tox .tox-imagepreview{background-color:#666;height:380px;overflow:hidden;position:relative;width:100%}.tox .tox-imagepreview.tox-imagepreview__loaded{overflow:auto}.tox .tox-imagepreview__container{display:flex;left:100vw;position:absolute;top:100vw}.tox .tox-imagepreview__image{background:url(data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==)}.tox .tox-image-tools .tox-spacer{flex:1}.tox .tox-image-tools .tox-bar{align-items:center;display:flex;height:60px;justify-content:center}.tox .tox-image-tools .tox-imagepreview,.tox .tox-image-tools .tox-imagepreview+.tox-bar{margin-top:8px}.tox .tox-image-tools .tox-croprect-block{background:#000;opacity:.5;position:absolute;zoom:1}.tox .tox-image-tools .tox-croprect-handle{border:2px solid #fff;height:20px;left:0;position:absolute;top:0;width:20px}.tox .tox-image-tools .tox-croprect-handle-move{border:0;cursor:move;position:absolute}.tox .tox-image-tools .tox-croprect-handle-nw{border-width:2px 0 0 2px;cursor:nw-resize;left:100px;margin:-2px 0 0 -2px;top:100px}.tox .tox-image-tools .tox-croprect-handle-ne{border-width:2px 2px 0 0;cursor:ne-resize;left:200px;margin:-2px 0 0 -20px;top:100px}.tox .tox-image-tools .tox-croprect-handle-sw{border-width:0 0 2px 2px;cursor:sw-resize;left:100px;margin:-20px 2px 0 -2px;top:200px}.tox .tox-image-tools .tox-croprect-handle-se{border-width:0 2px 2px 0;cursor:se-resize;left:200px;margin:-20px 0 0 -20px;top:200px}.tox .tox-image-selector-loading-spinner-wrapper{display:flex;justify-content:center;align-items:center}.tox .tox-image-selector-loading-spinner{position:absolute;width:min(24px,30%);aspect-ratio:1;border-radius:50%;border:3px solid #207ab7;border-bottom-color:transparent;animation:tox-rotation 1s linear infinite}.tox .tox-toolbar .tox-image-selector,.tox .tox-toolbar__overflow .tox-image-selector,.tox .tox-toolbar__primary .tox-image-selector{margin:2px 0 3px 4px}.tox .tox-image-selector-menu{border:0;border-radius:3px;margin:-4px 0;padding:4px}.tox .tox-image-selector-menu .tox-collection--list .tox-collection__group{border:0;padding:0;margin:-4px 0}.tox .tox-image-selector-menu .tox-collection__item{max-width:48px}.tox .tox-image-selector-menu .tox-collection__item-icon{border:1px solid #000;border-radius:3px;margin-bottom:4px;width:100%}.tox .tox-image-selector-menu .tox-collection__item-icon svg path{stroke:#c00}.tox .tox-image-selector__row{display:flex}.tox .tox-image-selector--remove{align-items:center;display:flex;justify-content:center}.tox .tox-image-selector--remove svg path{stroke:#c00}.tox .tox-image-selector-image-wrapper{width:46px;height:46px;display:flex;align-items:center;justify-content:center}.tox .tox-image-selector-image-img{max-width:100%;max-height:100%}.tox .tox-image-selector__picker-btn{align-items:center;background-color:transparent;border:0;cursor:pointer;display:flex;height:30px;justify-content:center;outline:0;padding:0;width:30px}.tox .tox-image-selector__picker-btn svg{fill:#fff;height:24px;width:24px}.tox .tox-image-selector__picker-btn:hover{background:#4a5562}.tox .tox-context-toolbar{position:absolute;position-try-fallbacks:flip-block,flip-inline,flip-block flip-inline;z-index:1150;background-color:#fff;border:1px solid #e0e0e0;border-radius:9px;box-shadow:0 2px 8px rgba(0,0,0,.08);padding:4px}.tox .tox-context-toolbar[popover]{inset:auto;margin:0}.tox .tox-context-toolbar .tox-toolbar{display:flex;flex-wrap:nowrap;gap:8px}.tox .tox-context-toolbar .tox-toolbar__group{display:flex;flex-wrap:nowrap;flex-shrink:0;gap:4px;align-items:center}.tox .tox-insert-table-picker{background-color:#222f3e;display:flex;flex-wrap:wrap;width:170px}.tox .tox-insert-table-picker>div{border-color:#000;border-style:solid;border-width:0 1px 1px 0;box-sizing:border-box;height:17px;width:17px}.tox .tox-collection--list .tox-collection__group .tox-insert-table-picker{margin:0 -4px}.tox .tox-insert-table-picker .tox-insert-table-picker__selected{background-color:rgba(32,122,183,.5);border-color:rgba(32,122,183,.5)}@media (forced-colors:active){.tox .tox-insert-table-picker .tox-insert-table-picker__selected{border-color:Highlight;filter:contrast(50%)}}.tox .tox-insert-table-picker__label{color:#fff;display:block;font-size:14px;padding:4px;text-align:center;width:100%}.tox:not([dir=rtl]) .tox-insert-table-picker>div:nth-child(10n){border-right:0}.tox[dir=rtl] .tox-insert-table-picker>div:nth-child(10n+1){border-right:0}.tox-mentions__card-common{z-index:1200}.tox.tox-mentions__card{background:#222f3e;border:1px solid #000;display:flex;padding:4px 8px}.tox.tox-mentions__card .tox-mentions__container{display:flex;flex-direction:column;align-self:center;margin:0 4px}.tox .tox-mentions__avatar{width:42px;height:42px;border-radius:50%;margin-right:4px}.tox .tox-mentions__username{font-size:14px;line-height:21px;color:#fff}.tox .tox-mentions__description{font-size:12px;line-height:21px;color:rgba(255,255,255,.5)}.tox .tox-collection__item--active .tox-mentions__description,.tox .tox-collection__item--active .tox-mentions__username{color:inherit}.tox .tox-menu{background-color:#2b3b4e;border:1px solid #000;border-radius:3px;box-shadow:0 4px 8px 0 rgba(42,55,70,.1);display:inline-block;overflow:hidden;vertical-align:top;z-index:1150}.tox .tox-menu.tox-collection.tox-collection--list{padding:0 0}.tox .tox-menu.tox-collection.tox-collection--toolbar{padding:4px}.tox .tox-menu.tox-collection.tox-collection--grid{padding:4px}@media only screen and (min-width:768px){.tox .tox-menu .tox-collection__item-label{overflow-wrap:break-word;word-break:normal}.tox .tox-dialog__popups .tox-menu .tox-collection__item-label{word-break:break-all}}.tox .tox-menu__label blockquote,.tox .tox-menu__label code,.tox .tox-menu__label h1,.tox .tox-menu__label h2,.tox .tox-menu__label h3,.tox .tox-menu__label h4,.tox .tox-menu__label h5,.tox .tox-menu__label h6,.tox .tox-menu__label p{margin:0}.tox .tox-menubar{background:url(\"data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='%23000000'/%3E%3C/svg%3E\") left 0 top 0 #222f3e;background-color:#222f3e;display:flex;flex:0 0 auto;flex-shrink:0;flex-wrap:wrap;grid-column:1/-1;grid-row:1;padding:0 4px 0 4px}.tox .tox-promotion+.tox-menubar{grid-column:1}.tox .tox-promotion{background:url(\"data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='%23000000'/%3E%3C/svg%3E\") left 0 top 0 #222f3e;background-color:#222f3e;grid-column:2;grid-row:1;padding-inline-end:8px;padding-inline-start:4px;padding-top:5px}.tox .tox-promotion-link{align-items:unsafe center;background-color:#e8f1f8;border-radius:5px;color:#086be6;cursor:pointer;display:flex;font-size:14px;height:26.6px;padding:4px 8px;white-space:nowrap}.tox .tox-promotion-link:hover{background-color:#b4d7ff}.tox .tox-promotion-link:focus{background-color:#d9edf7}.tox .tox-mbtn{align-items:center;background:#222f3e;border:0;border-radius:3px;box-shadow:none;color:#fff;display:flex;flex:0 0 auto;font-size:14px;font-style:normal;font-weight:400;height:34px;justify-content:center;margin:2px 0 3px 0;outline:0;padding:0 4px;text-transform:none;width:auto}.tox .tox-mbtn[disabled]{background-color:#222f3e;border:0;box-shadow:none;color:rgba(255,255,255,.5);cursor:not-allowed}.tox .tox-mbtn:focus:not(:disabled){background:#4a5562;border:0;box-shadow:none;color:#fff;position:relative;z-index:1}.tox .tox-mbtn:focus:not(:disabled)::after{pointer-events:none;border-radius:3px;bottom:0;box-shadow:0 0 0 0 transparent;content:'';left:0;position:absolute;right:0;top:0}@media (forced-colors:active){.tox .tox-mbtn:focus:not(:disabled)::after{border:2px solid highlight}}.tox .tox-mbtn--active,.tox .tox-mbtn:not(:disabled).tox-mbtn--active:focus{background:#757d87;border:0;box-shadow:none;color:#fff}.tox .tox-mbtn:hover:not(:disabled):not(.tox-mbtn--active){background:#4a5562;border:0;box-shadow:none;color:#fff}.tox .tox-mbtn__select-label{cursor:default;font-weight:400;margin:0 4px}.tox .tox-mbtn[disabled] .tox-mbtn__select-label{cursor:not-allowed}.tox .tox-mbtn__select-chevron{align-items:center;display:flex;justify-content:center;width:16px;display:none}.tox .tox-notification{border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;display:grid;font-size:14px;font-weight:400;grid-template-columns:minmax(40px,1fr) auto minmax(40px,1fr);margin-left:auto;margin-right:auto;margin-top:4px;opacity:0;padding:4px;transition:transform .1s ease-in,opacity 150ms ease-in;width:max-content}.tox .tox-notification a{cursor:pointer;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-notification p{font-size:14px;font-weight:400}.tox .tox-notification:focus{border-color:#207ab7;box-shadow:none}.tox .tox-notification--in{opacity:1}.tox .tox-notification--success{background-color:#334840;border-color:#3c5440;color:#fff}.tox .tox-notification--success p{color:#fff}.tox .tox-notification--success a{color:#b5d199}.tox .tox-notification--success a:focus,.tox .tox-notification--success a:hover{color:#82b153;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-notification--success a:focus-visible{border-radius:1px;outline:2px solid #b5d199;outline-offset:2px}.tox .tox-notification--success a:active{color:#689041;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-notification--success svg{fill:#fff}.tox .tox-notification--error{background-color:#442632;border-color:#55212b;color:#fff}.tox .tox-notification--error p{color:#fff}.tox .tox-notification--error a{color:#e68080}.tox .tox-notification--error a:focus,.tox .tox-notification--error a:hover{color:#d42b2b;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-notification--error a:focus-visible{border-radius:1px;outline:2px solid #e68080;outline-offset:2px}.tox .tox-notification--error a:active{color:#a22;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-notification--error svg{fill:#fff}.tox .tox-notification--warn,.tox .tox-notification--warning{background-color:#222f3e;border-color:#000;color:#fff0b3}.tox .tox-notification--warn p,.tox .tox-notification--warning p{color:#fff0b3}.tox .tox-notification--warn a,.tox .tox-notification--warning a{color:#fc0}.tox .tox-notification--warn a:focus,.tox .tox-notification--warn a:hover,.tox .tox-notification--warning a:focus,.tox .tox-notification--warning a:hover{color:#997a00;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-notification--warn a:focus-visible,.tox .tox-notification--warning a:focus-visible{border-radius:1px;outline:2px solid #ffcc00;outline-offset:2px}.tox .tox-notification--warn a:active,.tox .tox-notification--warning a:active{color:#665200;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-notification--warn svg,.tox .tox-notification--warning svg{fill:#fff0b3}.tox .tox-notification--info{background-color:#254161;border-color:#264972;color:#fff}.tox .tox-notification--info p{color:#fff}.tox .tox-notification--info a{color:#83b7f3}.tox .tox-notification--info a:focus,.tox .tox-notification--info a:hover{color:#2681ea;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-notification--info a:focus-visible{border-radius:1px;outline:2px solid #83b7f3;outline-offset:2px}.tox .tox-notification--info a:active{color:#1368c9;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-notification--info svg{fill:#fff}.tox .tox-notification__body{align-self:center;color:#fff;font-size:14px;grid-column-end:3;grid-column-start:2;grid-row-end:2;grid-row-start:1;text-align:center;white-space:normal;word-break:break-all;word-break:break-word}.tox .tox-notification__body>*{margin:0}.tox .tox-notification__body>*+*{margin-top:1rem}.tox .tox-notification__icon{align-self:center;grid-column-end:2;grid-column-start:1;grid-row-end:2;grid-row-start:1;justify-self:end}.tox .tox-notification__icon svg{display:block}.tox .tox-notification__dismiss{align-self:start;grid-column-end:4;grid-column-start:3;grid-row-end:2;grid-row-start:1;justify-self:end}.tox .tox-notification .tox-progress-bar{grid-column-end:4;grid-column-start:1;grid-row-end:3;grid-row-start:2;justify-self:center}.tox .tox-notification-container-dock-fadeout{opacity:0;visibility:hidden}.tox .tox-notification-container-dock-fadein{opacity:1;visibility:visible}.tox .tox-notification-container-dock-transition{transition:visibility 0s linear .3s,opacity .3s ease}.tox .tox-notification-container-dock-transition.tox-notification-container-dock-fadein{transition-delay:0s}.tox .tox-onboarding-overlay{height:100%;background-color:#17202a;position:absolute;top:0;left:0;right:0;z-index:1302;overflow:auto;display:grid;justify-content:center;align-items:center}.tox .tox-onboarding-dialog{max-width:512px;background-color:#222f3e;display:flex;flex-direction:column;box-shadow:0 16px 16px -10px rgba(42,55,70,.15),0 0 40px 1px rgba(42,55,70,.15);border-radius:12px;margin:8px}.tox .tox-onboarding-dialog .tox-onboarding-header{color:#fff;display:flex;justify-content:center;align-items:center;font-size:20px;margin:24px 0 8px}.tox .tox-onboarding-dialog .tox-onboarding-step{display:grid;grid-template-columns:min-content 1fr min-content;align-items:center;margin:0 24px}.tox .tox-onboarding-dialog .tox-onboarding-step:not(:last-child){border-bottom:1px solid #000}.tox .tox-onboarding-dialog .tox-onboarding-step--number{width:24px;aspect-ratio:1;border-radius:50%;border:1px solid #00ad0e;display:flex;justify-content:center;align-items:center;font-size:12px;font-weight:700;color:#00ad0e}.tox .tox-onboarding-dialog .tox-onboarding-step--body{padding:24px 0 24px 16px}.tox .tox-onboarding-dialog .tox-onboarding-step--body-header{color:#fff;font-size:14px;font-weight:700;margin-bottom:4px}.tox .tox-onboarding-dialog .tox-onboarding-step--body-details{color:rgba(255,255,255,.5);font-size:14px}.tox .tox-onboarding-dialog .tox-onboarding-step--action{padding-left:24px}.tox .tox-onboarding-dialog .tox-onboarding-footer{background-color:#2b3b4e;display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom-left-radius:12px;border-bottom-right-radius:12px}.tox .tox-onboarding-dialog .tox-onboarding-footer p{display:flex;align-items:center;justify-content:center;gap:4px;font-size:14px;color:rgba(255,255,255,.5)}.tox .tox-onboarding-dialog svg{width:24px;fill:rgba(255,255,255,0.5)}.tox .tox-promotion-dialog .tox-promotion-dialog-plugin{display:grid;align-items:center;grid-template-columns:min-content 1fr min-content;border-bottom:1px solid #000;padding:24px 0;margin:0 16px}.tox .tox-promotion-dialog .tox-promotion-dialog-plugin--body{margin:0 16px}.tox .tox-promotion-dialog .tox-promotion-dialog-plugin--body .tox-promotion-dialog-plugin-header{color:#fff;font-size:14px;font-weight:700;margin-bottom:4px}.tox .tox-promotion-dialog .tox-promotion-dialog-plugin--body .tox-promotion-dialog-plugin-details{color:rgba(255,255,255,.5);font-size:14px}.tox .tox-promotion-dialog .tox-promotion-dialog-plugin--icon{display:grid;place-content:center;width:56px;height:56px;line-height:24px;font-size:24px;border-radius:12px;background:linear-gradient(180deg,#2b3b4e 24%,#202d3b 100%);box-shadow:0 1px 1px 0 #222f3e12,0 3px 6px 0 #222f3e06;color:#207ab7}.tox .tox-promotion-dialog--subtitle{margin:16px;color:rgba(255,255,255,.5);font-size:14px}.tox .tox-promotion-dialog--explore{text-align:center;margin:16px;color:rgba(255,255,255,.5);font-size:14px}.tox .tox-promotion-dialog--explore a{color:#207ab7}.tox .tox-promotion-dialog--footer{background-color:#17202a;color:rgba(255,255,255,.5);font-size:12px;text-align:center;padding:16px}.tox .tox-promotion-button{display:flex;align-items:center;height:26.6px;line-height:26.6px;font-size:14px;font-weight:700;background-color:#55367a;color:#c290fb;padding:8px 16px;cursor:pointer;white-space:nowrap;border-radius:5px}.tox .tox-promotion-button:focus{outline:1px solid #C290FB}.tox .tox-onboarding-dialog a,.tox .tox-promotion-dialog--footer a{color:rgba(255,255,255,.5);cursor:pointer;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-onboarding-dialog a:focus,.tox .tox-onboarding-dialog a:hover,.tox .tox-promotion-dialog--footer a:focus,.tox .tox-promotion-dialog--footer a:hover{color:#428fc2;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-onboarding-dialog a:focus-visible,.tox .tox-promotion-dialog--footer a:focus-visible{border-radius:1px;outline:2px solid #90bddb;outline-offset:2px}.tox .tox-onboarding-dialog a:active,.tox .tox-promotion-dialog--footer a:active{color:#33739e;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-pop{display:inline-block;position:relative}.tox .tox-pop--resizing{transition:width .1s ease}.tox .tox-pop--resizing .tox-toolbar,.tox .tox-pop--resizing .tox-toolbar__group{flex-wrap:nowrap}.tox .tox-pop--transition{transition:.15s ease;transition-property:left,right,top,bottom}.tox .tox-pop--transition::after,.tox .tox-pop--transition::before{transition:all .15s,visibility 0s,opacity 75ms ease 75ms}.tox .tox-pop__dialog{background-color:#222f3e;border:1px solid #000;border-radius:3px;box-shadow:0 0 2px 0 rgba(42,55,70,.2),0 4px 8px 0 rgba(42,55,70,.15);min-width:0;overflow:hidden}.tox .tox-pop__dialog>:not(.tox-toolbar){margin:4px 4px 4px 8px}.tox .tox-pop__dialog .tox-toolbar{background-color:transparent;margin-bottom:-1px}.tox .tox-pop::after,.tox .tox-pop::before{border-style:solid;content:'';display:block;height:0;opacity:1;position:absolute;width:0}@media (forced-colors:active){.tox .tox-pop::after,.tox .tox-pop::before{content:none}}.tox .tox-pop.tox-pop--inset::after,.tox .tox-pop.tox-pop--inset::before{opacity:0;transition:all 0s .15s,visibility 0s,opacity 75ms ease}.tox .tox-pop.tox-pop--bottom::after,.tox .tox-pop.tox-pop--bottom::before{left:50%;top:100%}.tox .tox-pop.tox-pop--bottom::after{border-color:#222f3e transparent transparent transparent;border-width:8px;margin-left:-8px;margin-top:-1px}.tox .tox-pop.tox-pop--bottom::before{border-color:#000 transparent transparent transparent;border-width:9px;margin-left:-9px}.tox .tox-pop.tox-pop--top::after,.tox .tox-pop.tox-pop--top::before{left:50%;top:0;transform:translateY(-100%)}.tox .tox-pop.tox-pop--top::after{border-color:transparent transparent #222f3e transparent;border-width:8px;margin-left:-8px;margin-top:1px}.tox .tox-pop.tox-pop--top::before{border-color:transparent transparent #000 transparent;border-width:9px;margin-left:-9px}.tox .tox-pop.tox-pop--left::after,.tox .tox-pop.tox-pop--left::before{left:0;top:calc(50% - 1px);transform:translateY(-50%)}.tox .tox-pop.tox-pop--left::after{border-color:transparent #222f3e transparent transparent;border-width:8px;margin-left:-15px}.tox .tox-pop.tox-pop--left::before{border-color:transparent #000 transparent transparent;border-width:10px;margin-left:-19px}.tox .tox-pop.tox-pop--right::after,.tox .tox-pop.tox-pop--right::before{left:100%;top:calc(50% + 1px);transform:translateY(-50%)}.tox .tox-pop.tox-pop--right::after{border-color:transparent transparent transparent #222f3e;border-width:8px;margin-left:-1px}.tox .tox-pop.tox-pop--right::before{border-color:transparent transparent transparent #000;border-width:10px;margin-left:-1px}.tox .tox-pop.tox-pop--align-left::after,.tox .tox-pop.tox-pop--align-left::before{left:20px}.tox .tox-pop.tox-pop--align-right::after,.tox .tox-pop.tox-pop--align-right::before{left:calc(100% - 20px)}.tox .tox-sidebar-wrap{display:flex;flex-direction:row;flex-grow:1;min-height:0}.tox .tox-sidebar{background-color:var(--tox-private-sidebar-background-color,#34485f);display:flex;flex-direction:row;justify-content:flex-end}.tox .tox-sidebar__slider{display:flex;overflow:hidden}.tox .tox-sidebar__pane-container{display:flex}.tox .tox-sidebar__pane{display:flex}.tox .tox-sidebar--sliding-closed{opacity:0}.tox .tox-sidebar--sliding-open{opacity:1}.tox .tox-sidebar--sliding-growing,.tox .tox-sidebar--sliding-shrinking{transition:width .5s ease,opacity .5s ease}.tox .tox-sidebar-content{display:flex;flex-direction:column;position:relative;height:100%;min-width:300px;max-width:300px;width:300px;border-left:1px solid var(--tox-private-sidebar-border-color,#0e141a)}.tox .tox-sidebar-content__header{align-items:center;display:flex;justify-content:space-between;box-shadow:var(--tox-private-sidebar-header-box-shadow,0 4px 8px 0 rgba(42,55,70,.1));padding:var(--tox-private-pad-sm,8px) 12px;background:var(--tox-private-background-color,#222f3e);z-index:1}.tox .tox-sidebar-content__header .tox-sidebar-content__header-close-button{margin-left:auto}.tox .tox-sidebar-content__title{font-size:var(--tox-private-font-size-lg, 20px);font-weight:var(--tox-private-font-weight-normal,normal);padding:var(--tox-private-pad-sm,8px) 0 var(--tox-private-pad-sm,8px) 0;color:var(--tox-private-text-color,#fff);line-height:28px}.tox .tox-floating-sidebar{--tox-private-floating-sidebar-requested-height:600px;--tox-private-floating-sidebar-width:min(380px, 90vw);--tox-private-floating-sidebar-height:min(var(--tox-private-floating-sidebar-requested-height), 80vh);box-shadow:var(--tox-private-floating-sidebar-box-shadow,0 0 40px 1px rgba(42,55,70,.15),0 16px 16px -10px rgba(42,55,70,.15));width:var(--tox-private-floating-sidebar-width);height:var(--tox-private-floating-sidebar-height);background-color:var(--tox-private-background-color,#222f3e);border-radius:12px;overflow:hidden}.tox .tox-floating-sidebar__content-wrapper{width:100%;height:100%;display:flex;flex-direction:column}.tox .tox-floating-sidebar__header{position:relative}.tox-ai .tox-ai__user-prompt{display:flex;flex-direction:column;margin-left:auto;gap:inherit}.tox-ai .tox-ai__user-prompt__context{margin-left:auto}.tox-ai .tox-ai__user-prompt__text{background-color:var(--tox-private-ai-user-prompt-background,#17202a);padding:var(--tox-private-pad-sm,8px) 12px;border-radius:var(--tox-private-control-border-radius,3px);max-width:80%;align-self:flex-end;color:var(--tox-private-text-color,#fff)}.tox-ai .tox-ai__scroll{overflow:auto;background-color:var(--tox-private-background-color,#222f3e);display:flex;padding:12px;flex-direction:column;align-items:flex-start;gap:12px;flex:1 0 0;align-self:stretch}.tox-ai .tox-ai__response-content{padding:var(--tox-private-pad-sm,8px) 0;color:var(--tox-private-text-color,#fff);font-feature-settings:'liga' off,'clig' off;font-size:var(--tox-private-font-size-sm, 14px);font-style:normal;font-weight:var(--tox-private-font-weight-normal,normal);line-height:var(--tox-private-line-height, 18px);white-space:pre-wrap}.tox-ai .tox-ai__response.tox-ai__response-streaming{background:linear-gradient(180deg,var(--tox-private-color-black,#2a3746) 0,transparent 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.tox-ai .tox-ai__error-message{border-radius:var(--tox-private-panel-border-radius,3px);border:1px solid var(--tox-private-color-error,#c00);background:linear-gradient(0deg,color-mix(in srgb,var(--tox-private-color-white,#fff) 90%,transparent) 0,color-mix(in srgb,var(--tox-private-color-white,#fff) 90%,transparent) 100%),var(--tox-private-color-error,#c00);padding:var(--tox-private-pad-sm,8px);width:100%}.tox-ai .tox-ai__footer{border-top:1px solid var(--tox-private-ai-footer-border-color,#0e141a);padding:12px;gap:var(--tox-private-pad-sm,8px);background-color:var(--tox-private-background-color,#222f3e);display:flex;flex-direction:column}.tox-ai .tox-ai__context{display:flex;gap:8px}.tox-ai .tox-ai__footer-actions{display:flex;gap:var(--tox-private-pad-sm,8px)}.tox .tox-selector{background-color:#4099ff;border-color:#4099ff;border-style:solid;border-width:1px;box-sizing:border-box;display:inline-block;height:10px;position:absolute;width:10px}.tox.tox-platform-touch .tox-selector{height:12px;width:12px}.tox .tox-skeleton .tox-skeleton__line{height:16px;width:100%;background:linear-gradient(to right,rgba(240,240,240,.5) 8%,rgba(240,240,240,.7) 18%,rgba(240,240,240,.5) 33%);animation:wave 2s infinite ease-out}.tox .tox-skeleton .tox-skeleton__circle{height:36px;width:36px;margin-right:8px;border-radius:100%;background:linear-gradient(to right,rgba(240,240,240,.5) 8%,rgba(240,240,240,.7) 18%,rgba(240,240,240,.5) 33%);animation:wave 2s infinite ease-out}@keyframes wave{0%{background-position:-268px 0}100%{background-position:268px 0}}.tox .tox-slider{align-items:center;display:flex;flex:1;height:24px;justify-content:center;position:relative}.tox .tox-slider__rail{background-color:transparent;border:1px solid #000;border-radius:3px;height:10px;min-width:120px;width:100%}.tox .tox-slider__handle{background-color:#207ab7;border:2px solid #185d8c;border-radius:3px;box-shadow:none;height:24px;left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%);width:14px}.tox .tox-form__controls-h-stack>.tox-slider:not(:first-of-type){margin-inline-start:8px}.tox .tox-form__controls-h-stack>.tox-form__group+.tox-slider{margin-inline-start:32px}.tox .tox-form__controls-h-stack>.tox-slider+.tox-form__group{margin-inline-start:32px}.tox .tox-toolbar-slider{align-items:center;display:inline-flex;height:16px}.tox .tox-toolbar-slider__input{appearance:none;background:#000;border-radius:16px;width:130px;height:2px}.tox .tox-toolbar-slider__input::-webkit-slider-runnable-track{background-color:transparent;height:16px}.tox .tox-toolbar-slider__input::-moz-range-track{background-color:transparent;height:16px}.tox .tox-toolbar-slider__input::-webkit-slider-thumb{-webkit-appearance:none;background-color:#207ab7;border-radius:16px;border:none;height:16px;width:16px}.tox .tox-toolbar-slider__input::-moz-range-thumb{appearance:none;background-color:#207ab7;border-radius:16px;border:none;height:16px;width:16px}.tox .tox-toolbar-slider__input:focus-visible{outline:0}.tox .tox-toolbar-slider__input:focus::-webkit-slider-thumb{background-color:#1c6ca1;box-shadow:inset 0 0 0 1px #fff,0 0 0 2px #207ab7}.tox .tox-toolbar-slider__input:focus::-moz-range-thumb{background-color:#1c6ca1;box-shadow:inset 0 0 0 1px #fff,0 0 0 2px #207ab7}.tox .tox-toolbar-slider__input:hover::-webkit-slider-thumb{background-color:#1c6ca1}.tox .tox-toolbar-slider__input:hover::-moz-range-thumb{background-color:#1c6ca1}.tox .tox-toolbar-slider__input:active::-webkit-slider-thumb{background-color:#185d8c}.tox .tox-toolbar-slider__input:active::-moz-range-thumb{background-color:#185d8c}.tox .tox-toolbar-slider__input[disabled]::-webkit-slider-thumb{background-color:rgba(255,255,255,.5)}.tox .tox-toolbar-slider__input[disabled]::-moz-range-thumb{background-color:rgba(255,255,255,.5)}.tox .tox-source-code{overflow:auto}.tox .tox-spinner{display:flex}.tox .tox-spinner>div{animation:tam-bouncing-dots 1.5s ease-in-out 0s infinite both;background-color:rgba(255,255,255,.5);border-radius:100%;height:8px;width:8px}.tox .tox-spinner>div:first-child{animation-delay:-.32s}.tox .tox-spinner>div:nth-child(2){animation-delay:-.16s}@keyframes tam-bouncing-dots{0%,100%,80%{transform:scale(0)}40%{transform:scale(1)}}.tox:not([dir=rtl]) .tox-spinner>div:not(:first-child){margin-left:4px}.tox[dir=rtl] .tox-spinner>div:not(:first-child){margin-right:4px}.tox .tox-ai__spinner{width:24px;height:24px}.tox .tox-statusbar{align-items:center;background-color:#222f3e;border-top:1px solid #000;color:#fff;display:flex;flex:0 0 auto;font-size:12px;font-weight:400;height:18px;overflow:hidden;padding:0 8px;position:relative;text-transform:uppercase}.tox .tox-statusbar__path{display:flex;flex:1 1 auto;text-overflow:ellipsis;white-space:nowrap}.tox .tox-statusbar__right-container{display:flex;justify-content:flex-end;white-space:nowrap}.tox .tox-statusbar__help-text{text-align:center}.tox .tox-statusbar__text-container{align-items:flex-start;display:flex;flex:1 1 auto;height:16px;justify-content:space-between}@media only screen and (min-width:768px){.tox .tox-statusbar__text-container.tox-statusbar__text-container-3-cols>.tox-statusbar__help-text,.tox .tox-statusbar__text-container.tox-statusbar__text-container-3-cols>.tox-statusbar__path,.tox .tox-statusbar__text-container.tox-statusbar__text-container-3-cols>.tox-statusbar__right-container{flex:0 0 calc(100% / 3)}}.tox .tox-statusbar__text-container.tox-statusbar__text-container--flex-end{justify-content:flex-end}.tox .tox-statusbar__text-container.tox-statusbar__text-container--flex-start{justify-content:flex-start}.tox .tox-statusbar__text-container.tox-statusbar__text-container--space-around{justify-content:space-around}.tox .tox-statusbar__path>*{display:inline;white-space:nowrap}.tox .tox-statusbar__wordcount{flex:0 0 auto;margin-left:1ch}@media only screen and (max-width:767px){.tox .tox-statusbar__text-container .tox-statusbar__help-text{display:none}.tox .tox-statusbar__text-container .tox-statusbar__help-text:only-child{display:block}}.tox .tox-statusbar a,.tox .tox-statusbar__path-item,.tox .tox-statusbar__wordcount{color:#fff;position:relative;-webkit-text-decoration:none;text-decoration:none}.tox .tox-statusbar a:focus:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar a:hover:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__path-item:focus:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__path-item:hover:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__wordcount:focus:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__wordcount:hover:not(:disabled):not([aria-disabled=true]){color:#fff;cursor:pointer}.tox .tox-statusbar a:focus-visible::after,.tox .tox-statusbar__path-item:focus-visible::after,.tox .tox-statusbar__wordcount:focus-visible::after{border-radius:3px;bottom:0;box-shadow:0 0 0 0 transparent;content:'';left:0;position:absolute;right:0;top:0}@media (forced-colors:active){.tox .tox-statusbar a:focus-visible::after,.tox .tox-statusbar__path-item:focus-visible::after,.tox .tox-statusbar__wordcount:focus-visible::after{border:2px solid highlight}}.tox .tox-statusbar__branding svg{fill:rgba(255,255,255,0.8);height:1em;margin-left:.3em;width:auto}@media (forced-colors:active){.tox .tox-statusbar__branding svg{fill:currentColor}}.tox .tox-statusbar__branding a{align-items:center;display:inline-flex}.tox .tox-statusbar__branding a:focus:not(:disabled):not([aria-disabled=true]) svg,.tox .tox-statusbar__branding a:hover:not(:disabled):not([aria-disabled=true]) svg{fill:#fff}.tox .tox-statusbar__resize-cursor-default{cursor:ns-resize}.tox .tox-statusbar__resize-cursor-both{cursor:nwse-resize}.tox .tox-statusbar__resize-handle{align-items:flex-end;align-self:stretch;display:flex;flex:0 0 auto;justify-content:flex-end;margin-bottom:3px;margin-left:4px;margin-right:calc(3px - 8px);margin-top:3px;padding-bottom:0;padding-left:0;padding-right:0;position:relative}.tox .tox-statusbar__resize-handle svg{display:block;fill:rgba(255,255,255,0.5)}.tox .tox-statusbar__resize-handle:focus svg,.tox .tox-statusbar__resize-handle:hover svg{fill:#fff}.tox .tox-statusbar__resize-handle:focus-visible{background-color:transparent;border-radius:1px 1px -4px 1px;box-shadow:0 0 0 2px transparent}.tox .tox-statusbar__resize-handle:focus-visible::after{border-radius:3px;bottom:0;box-shadow:0 0 0 0 transparent;content:'';left:0;position:absolute;right:0;top:0}@media (forced-colors:active){.tox .tox-statusbar__resize-handle:focus-visible::after{border:2px solid highlight}}.tox .tox-statusbar__resize-handle:only-child{margin-left:auto}.tox:not([dir=rtl]) .tox-statusbar__path>*{margin-right:4px}.tox:not([dir=rtl]) .tox-statusbar__branding{margin-left:2ch}.tox[dir=rtl] .tox-statusbar{flex-direction:row-reverse}.tox[dir=rtl] .tox-statusbar__path>*{margin-left:4px}.tox[dir=rtl] .tox-statusbar__branding svg{margin-left:0;margin-right:.3em}.tox .tox-tag{width:-moz-fit-content;width:fit-content;display:flex;padding:4px 6px;align-items:center;gap:4px;border-radius:3px;background:linear-gradient(0deg,color-mix(in srgb,var(--tox-private-color-white,#fff) 90%,transparent) 0,color-mix(in srgb,var(--tox-private-color-white,#fff) 90%,transparent) 100%),var(--tox-private-color-tint,#207ab7);line-height:var(--tox-private-base-value, 16px);font-size:var(--tox-private-font-size-xs, 12px)}.tox .tox-tag .tox-tag__icon{height:var(--tox-private-base-value,16px)}.tox .tox-tag .tox-tag__close{height:var(--tox-private-base-value,16px)}.tox .tox-tag .tox-tag__close .tox-button.tox-button--icon{border:0;padding:0}.tox .tox-tag .tox-tag__close .tox-button.tox-button--icon::before{box-shadow:none}.tox .tox-throbber{z-index:1299}.tox .tox-throbber__busy-spinner{align-items:center;background-color:rgba(34,47,62,.6);bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0}.tox .tox-toggle{display:flex;align-items:center;gap:var(--tox-private-pad-xs,4px);padding:var(--tox-private-pad-xs,4px);font-weight:var(--tox-private-font-weight-normal,normal);line-height:var(--tox-private-control-line-height, 24px);white-space:nowrap;background-color:var(--tox-private-background-color,#222f3e);color:var(--tox-private-text-color,#fff)}.tox .tox-toggle input{position:absolute;opacity:0;width:0;height:0}.tox .tox-toggle__slider{position:relative;cursor:pointer;box-sizing:border-box;transition:.4s;border-radius:34px;width:28px;height:16px;background-color:var(--tox-private-slider-background-color,#222f3e);border:1px solid var(--tox-private-slider-border-color,rgba(255,255,255,.15))}.tox .tox-toggle__slider::before{position:absolute;content:\"\";height:12px;width:12px;left:1px;bottom:1px;transition:.4s;border-radius:50%;background-color:var(--tox-private-slider-handle-background-color,#fff)}.tox input:checked+.tox-toggle__slider{background-color:var(--tox-private-slider-checked-background-color,#207ab7);border:1px solid var(--tox-private-slider-checked-border-color,#207ab7)}.tox input:focus+.tox-toggle__slider{box-shadow:0 0 0 1px var(--tox-private-color-white,#fff),0 0 0 2px var(--tox-private-color-tint,#207ab7)}.tox input:checked+.tox-toggle__slider::before{transform:translateX(12px);background-color:var(--tox-private-slider-checked-handle-background-color,#fff)}.tox input:disabled+.tox-toggle__slider::before{opacity:50%}.tox .tox-tbtn{align-items:center;background:#222f3e;border:0;border-radius:3px;box-shadow:none;color:#fff;display:flex;flex:0 0 auto;font-size:14px;font-style:normal;font-weight:400;height:34px;justify-content:center;margin:3px 0 2px 0;outline:0;padding:0;text-transform:none;width:34px}.tox .tox-tbtn .tox-tbtn__icon-wrap{pointer-events:none}@media (forced-colors:active){.tox .tox-tbtn.tox-tbtn:hover,.tox .tox-tbtn:hover{outline:1px dashed currentColor}.tox .tox-tbtn.tox-tbtn--active,.tox .tox-tbtn.tox-tbtn--enabled,.tox .tox-tbtn.tox-tbtn--enabled:focus,.tox .tox-tbtn.tox-tbtn--enabled:hover,.tox .tox-tbtn:focus:not(.tox-tbtn--disabled){outline:1px solid currentColor;position:relative}}.tox .tox-tbtn svg{display:block;fill:#fff}@media (forced-colors:active){.tox .tox-tbtn svg{fill:currentColor!important}.tox .tox-tbtn svg.tox-tbtn--enabled,.tox .tox-tbtn svg:focus:not(.tox-tbtn--disabled){fill:currentColor!important}.tox .tox-tbtn svg .tox-tbtn:disabled,.tox .tox-tbtn svg .tox-tbtn:disabled:hover,.tox .tox-tbtn svg.tox-tbtn--disabled,.tox .tox-tbtn svg.tox-tbtn--disabled:hover{filter:contrast(0%)}}.tox .tox-tbtn.tox-tbtn-more{padding-left:5px;padding-right:5px;width:inherit}.tox .tox-tbtn:focus{background:#4a5562;border:0;box-shadow:none;position:relative;z-index:1}.tox .tox-tbtn:focus::after{border-radius:3px;bottom:0;box-shadow:0 0 0 0 transparent;content:'';left:0;position:absolute;right:0;top:0}@media (forced-colors:active){.tox .tox-tbtn:focus::after{border:2px solid highlight}}.tox .tox-tbtn:hover{background:#4a5562;border:0;box-shadow:none;color:#fff}.tox .tox-tbtn:hover svg{fill:#fff}.tox .tox-tbtn:active{background:#757d87;border:0;box-shadow:none;color:#fff}.tox .tox-tbtn:active svg{fill:#fff}.tox .tox-tbtn--disabled .tox-tbtn--enabled svg{fill:rgba(255,255,255,0.5)}.tox .tox-tbtn--disabled,.tox .tox-tbtn--disabled:hover,.tox .tox-tbtn:disabled,.tox .tox-tbtn:disabled:hover{background:#222f3e;border:0;box-shadow:none;color:rgba(255,255,255,.5);cursor:not-allowed}.tox .tox-tbtn--disabled svg,.tox .tox-tbtn--disabled:hover svg,.tox .tox-tbtn:disabled svg,.tox .tox-tbtn:disabled:hover svg{fill:rgba(255,255,255,0.5)}.tox .tox-tbtn--active,.tox .tox-tbtn--enabled,.tox .tox-tbtn--enabled:focus,.tox .tox-tbtn--enabled:hover{background:#757d87;border:0;box-shadow:none;color:#fff;position:relative}.tox .tox-tbtn--active>*,.tox .tox-tbtn--enabled:focus>*,.tox .tox-tbtn--enabled:hover>*,.tox .tox-tbtn--enabled>*{transform:none}.tox .tox-tbtn--active svg,.tox .tox-tbtn--enabled svg,.tox .tox-tbtn--enabled:focus svg,.tox .tox-tbtn--enabled:hover svg{fill:#fff}.tox .tox-tbtn--active.tox-tbtn--disabled svg,.tox .tox-tbtn--enabled.tox-tbtn--disabled svg,.tox .tox-tbtn--enabled:focus.tox-tbtn--disabled svg,.tox .tox-tbtn--enabled:hover.tox-tbtn--disabled svg{fill:rgba(255,255,255,0.5)}.tox .tox-tbtn--enabled:focus::after{border-radius:3px;bottom:0;box-shadow:0 0 0 0 transparent;content:'';left:0;position:absolute;right:0;top:0}@media (forced-colors:active){.tox .tox-tbtn--enabled:focus::after{border:2px solid highlight}}.tox .tox-tbtn:focus:not(.tox-tbtn--disabled){color:#fff}.tox .tox-tbtn:focus:not(.tox-tbtn--disabled) svg{fill:#fff}.tox .tox-tbtn:active>*{transform:none}.tox .tox-tbtn--md{height:51px;width:51px}.tox .tox-tbtn--lg{flex-direction:column;height:68px;width:68px}.tox .tox-tbtn--return{align-self:stretch;height:unset;width:16px}.tox .tox-tbtn--labeled{padding:0 4px;width:unset}.tox .tox-tbtn__vlabel{display:block;font-size:10px;font-weight:400;letter-spacing:-.025em;margin-bottom:4px;white-space:nowrap}.tox .tox-label--context-toolbar{margin:6px 1px 5px 0;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.tox .tox-number-input{background:0 0;border-radius:3px;display:flex;margin:3px 0 2px 0;position:relative;width:auto}.tox .tox-number-input:focus{background:#4a5562}.tox .tox-number-input:focus::after{border-radius:3px;bottom:0;box-shadow:0 0 0 0 transparent;content:'';left:0;position:absolute;right:0;top:0}@media (forced-colors:active){.tox .tox-number-input:focus::after{border:2px solid highlight}}.tox .tox-number-input .tox-input-wrapper{display:flex;pointer-events:none;position:relative;text-align:center}.tox .tox-number-input .tox-input-wrapper:focus{background-color:#4a5562;z-index:1}.tox .tox-number-input .tox-input-wrapper:focus::after{border-radius:3px;bottom:0;box-shadow:0 0 0 0 transparent;content:'';left:0;position:absolute;right:0;top:0}@media (forced-colors:active){.tox .tox-number-input .tox-input-wrapper:focus::after{border:2px solid highlight}}.tox .tox-number-input .tox-input-wrapper:has(input:focus)::after{border-radius:3px;bottom:0;box-shadow:0 0 0 0 transparent;content:'';left:0;position:absolute;right:0;top:0}@media (forced-colors:active){.tox .tox-number-input .tox-input-wrapper:has(input:focus)::after{border:2px solid highlight}}.tox .tox-number-input input{border-radius:3px;color:#fff;font-size:14px;margin:2px 0;pointer-events:all;position:relative;width:60px}.tox .tox-number-input input:hover{background:#4a5562;color:#fff}.tox .tox-number-input input:focus{background-color:#4a5562}.tox .tox-number-input input:disabled{background:#222f3e;border:0;box-shadow:none;color:rgba(255,255,255,.5);cursor:not-allowed}.tox .tox-number-input button{color:#fff;height:34px;position:relative;text-align:center;width:24px}@media (forced-colors:active){.tox .tox-number-input button:active,.tox .tox-number-input button:focus,.tox .tox-number-input button:hover{outline:1px solid currentColor!important}}.tox .tox-number-input button svg{display:block;fill:#fff;margin:0 auto;transform:scale(.67)}@media (forced-colors:active){.tox .tox-number-input button svg,.tox .tox-number-input button svg:active,.tox .tox-number-input button svg:hover{fill:currentColor!important}.tox .tox-number-input button svg:disabled{filter:contrast(0)}}.tox .tox-number-input button:focus{background:#4a5562;z-index:1}.tox .tox-number-input button:focus::after{border-radius:3px;bottom:0;box-shadow:0 0 0 0 transparent;content:'';left:0;position:absolute;right:0;top:0}@media (forced-colors:active){.tox .tox-number-input button:focus::after{border:2px solid highlight}}.tox .tox-number-input button:hover{background:#4a5562;border:0;box-shadow:none;color:#fff}.tox .tox-number-input button:hover svg{fill:#fff}.tox .tox-number-input button:active{background:#757d87;border:0;box-shadow:none;color:#fff}.tox .tox-number-input button:active svg{fill:#fff}.tox .tox-number-input button:disabled{background:#222f3e;border:0;box-shadow:none;color:rgba(255,255,255,.5);cursor:not-allowed}.tox .tox-number-input button:disabled svg{fill:rgba(255,255,255,0.5)}.tox .tox-number-input button.minus{border-radius:3px 0 0 3px}.tox .tox-number-input button.plus{border-radius:0 3px 3px 0}.tox .tox-number-input:focus:not(:active)>.tox-input-wrapper,.tox .tox-number-input:focus:not(:active)>button{background:#4a5562}.tox .tox-tbtn--select{margin:3px 0 2px 0;padding:0 4px;width:auto}.tox .tox-tbtn--bordered,.tox .tox-tbtn--bordered:focus,.tox .tox-tbtn--bordered:hover{border:1px solid #000}.tox .tox-tbtn__select-label{cursor:default;font-weight:400;height:initial;margin:0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tox .tox-tbtn__select-chevron{align-items:center;display:flex;justify-content:center;width:16px}.tox .tox-tbtn__select-chevron svg{fill:rgba(255,255,255,0.5)}@media (forced-colors:active){.tox .tox-tbtn__select-chevron svg{fill:currentColor}}.tox .tox-tbtn--bespoke{background:0 0}.tox .tox-tbtn--bespoke:focus{background:#4a5562}.tox .tox-tbtn--bespoke+.tox-tbtn--bespoke{margin-inline-start:0}.tox .tox-tbtn--bespoke .tox-tbtn__select-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:7em}.tox .tox-tbtn--disabled .tox-tbtn__select-label,.tox .tox-tbtn--select:disabled .tox-tbtn__select-label{cursor:not-allowed}.tox .tox-split-button__main{border-radius:3px 0 0 3px;margin-right:0}.tox .tox-split-button__main:focus{border:0;box-shadow:none;background:#4a5562;color:#fff;position:relative;z-index:1}.tox .tox-split-button__main:focus::after{border-radius:3px;bottom:0;box-shadow:0 0 0 0 transparent;content:'';left:0;position:absolute;right:0;top:0;border-radius:3px 0 0 3px}@media (forced-colors:active){.tox .tox-split-button__main:focus::after{border:2px solid highlight}}.tox .tox-split-button__chevron{width:16px;border-radius:0 3px 3px 0;margin-left:0}.tox .tox-split-button__chevron:focus{border:0;box-shadow:none;background:#4a5562;color:#fff;position:relative;z-index:1}.tox .tox-split-button__chevron:focus::after{border-radius:3px;bottom:0;box-shadow:0 0 0 0 transparent;content:'';left:0;position:absolute;right:0;top:0;border-radius:0 3px 3px 0}@media (forced-colors:active){.tox .tox-split-button__chevron:focus::after{border:2px solid highlight}}.tox .tox-split-button__chevron svg{fill:rgba(255,255,255,0.5)}@media (forced-colors:active){.tox .tox-split-button__chevron svg{fill:currentColor}}.tox.tox-platform-touch .tox-split-button__main{width:30px}.tox.tox-platform-touch .tox-split-button__chevron{width:20px}.tox .tox-split-button__chevron.tox-tbtn--disabled,.tox .tox-split-button__main.tox-tbtn--disabled{background:#222f3e;box-shadow:none;color:rgba(255,255,255,.5)}.tox .tox-split-button__chevron.tox-tbtn--disabled:hover,.tox .tox-split-button__main.tox-tbtn--disabled:hover{background:#222f3e;box-shadow:none;color:rgba(255,255,255,.5)}.tox .tox-split-button__chevron.tox-tbtn--disabled:focus,.tox .tox-split-button__main.tox-tbtn--disabled:focus{background:#222f3e;box-shadow:none;color:rgba(255,255,255,.5)}.tox .tox-split-button__main.tox-tbtn--disabled svg .tox-icon-highlight-bg-color__color,.tox .tox-split-button__main.tox-tbtn--disabled svg .tox-icon-text-color__color{opacity:.3}.tox .tox-toolbar-overlord{background-color:#222f3e}.tox .tox-toolbar,.tox .tox-toolbar__overflow,.tox .tox-toolbar__primary{background-attachment:local;background-color:#222f3e;background-image:repeating-linear-gradient(#000 0 1px,transparent 1px 39px);background-position:center top 39px;background-repeat:no-repeat;background-size:calc(100% - 4px * 2) calc(100% - 39px);display:flex;flex:0 0 auto;flex-shrink:0;flex-wrap:wrap;padding:0 0;transform:perspective(1px)}.tox .tox-toolbar-overlord>.tox-toolbar,.tox .tox-toolbar-overlord>.tox-toolbar__overflow,.tox .tox-toolbar-overlord>.tox-toolbar__primary{background-position:center top 0;background-size:calc(100% - 4px * 2) calc(100% - 0px)}.tox .tox-toolbar__overflow.tox-toolbar__overflow--closed{height:0;opacity:0;padding-bottom:0;padding-top:0;visibility:hidden}.tox .tox-toolbar__overflow--growing{transition:height .3s ease,opacity .2s linear .1s}.tox .tox-toolbar__overflow--shrinking{transition:opacity .3s ease,height .2s linear .1s,visibility 0s linear .3s}.tox .tox-anchorbar,.tox .tox-toolbar-overlord{grid-column:1/-1}.tox .tox-menubar+.tox-toolbar,.tox .tox-menubar+.tox-toolbar-overlord{border-top:1px solid #000;margin-top:-1px;padding-bottom:0;padding-top:0}@media (forced-colors:active){.tox .tox-menubar+.tox-toolbar,.tox .tox-menubar+.tox-toolbar-overlord{outline:1px solid currentColor}}.tox .tox-toolbar--scrolling{flex-wrap:nowrap;overflow-x:auto}.tox .tox-pop .tox-toolbar{border-width:0}.tox .tox-toolbar--no-divider{background-image:none}.tox .tox-toolbar-overlord .tox-toolbar:not(.tox-toolbar--scrolling):first-child,.tox .tox-toolbar-overlord .tox-toolbar__primary{background-position:center top 39px}.tox .tox-editor-header>.tox-toolbar--scrolling,.tox .tox-toolbar-overlord .tox-toolbar--scrolling:first-child{background-image:none}.tox .tox-focusable-wrapper{border:1px solid transparent;margin-right:2px;pointer-events:none}.tox .tox-focusable-wrapper .tox-textfield-size{pointer-events:all}.tox .tox-focusable-wrapper:focus{background-color:#4a5562;border-radius:3px;border-style:solid;border-width:1px}.tox.tox-tinymce-aux .tox-toolbar__overflow{background-color:#222f3e;background-position:center top 43px;background-size:calc(100% - 8px * 2) calc(100% - 51px);border:none;border-radius:3px;box-shadow:0 0 2px 0 rgba(42,55,70,.2),0 4px 8px 0 rgba(42,55,70,.15);overscroll-behavior:none;padding:4px 0}@media (forced-colors:active){.tox.tox-tinymce-aux .tox-toolbar__overflow{border:solid}}.tox-pop .tox-pop__dialog .tox-toolbar{background-position:center top 43px;background-size:calc(100% - 4px * 2) calc(100% - 51px);padding:4px 0}.tox-context-form__group{display:flex;align-items:center}.tox .tox-toolbar__group{align-items:center;display:flex;flex-wrap:wrap;margin:0 0;padding:0 4px 0 4px}.tox .tox-toolbar__group--pull-right{margin-left:auto}.tox .tox-toolbar--scrolling .tox-toolbar__group{flex-shrink:0;flex-wrap:nowrap}.tox:not([dir=rtl]) .tox-toolbar__group:not(:last-of-type){border-right:1px solid #000}.tox[dir=rtl] .tox-toolbar__group:not(:last-of-type){border-left:1px solid #000}.tox .tox-tooltip{display:inline-block;max-width:min(80%,15em);padding:8px 0 0 0;position:relative;width:max-content;z-index:1150}.tox .tox-tooltip__body{background-color:#2a3746;border-radius:3px;box-shadow:none;color:#fff;font-size:12px;font-style:normal;font-weight:600;overflow-wrap:break-word;padding:4px 6px;text-transform:none}@media (forced-colors:active){.tox .tox-tooltip__body{outline:outset 1px}}.tox .tox-tooltip__arrow{position:absolute}.tox .tox-tooltip--down .tox-tooltip__arrow{border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid #2a3746;bottom:0;left:50%;position:absolute;transform:translateX(-50%)}.tox .tox-tooltip--up .tox-tooltip__arrow{border-bottom:8px solid #2a3746;border-left:8px solid transparent;border-right:8px solid transparent;left:50%;position:absolute;top:0;transform:translateX(-50%)}.tox .tox-tooltip--right .tox-tooltip__arrow{border-bottom:8px solid transparent;border-left:8px solid #2a3746;border-top:8px solid transparent;position:absolute;right:0;top:50%;transform:translateY(-50%)}.tox .tox-tooltip--left .tox-tooltip__arrow{border-bottom:8px solid transparent;border-right:8px solid #2a3746;border-top:8px solid transparent;left:0;position:absolute;top:50%;transform:translateY(-50%)}.tox .tox-tree{display:flex;flex-direction:column}.tox .tox-tree .tox-trbtn{align-items:center;background:0 0;border:0;border-radius:4px;box-shadow:none;color:#fff;display:flex;flex:0 0 auto;font-size:14px;font-style:normal;font-weight:400;height:28px;margin-bottom:4px;margin-top:4px;outline:0;overflow:hidden;padding:0;padding-left:8px;text-transform:none}.tox .tox-tree .tox-trbtn .tox-tree__label{cursor:default;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tox .tox-tree .tox-trbtn svg{display:block;fill:#fff}.tox .tox-tree .tox-trbtn:focus{background:#4a5562;border:0;box-shadow:none}.tox .tox-tree .tox-trbtn:hover{background:#4a5562;border:0;box-shadow:none;color:#fff}.tox .tox-tree .tox-trbtn:hover svg{fill:#fff}.tox .tox-tree .tox-trbtn:active{background:#6ea9d0;border:0;box-shadow:none;color:#fff}.tox .tox-tree .tox-trbtn:active svg{fill:#fff}.tox .tox-tree .tox-trbtn--disabled,.tox .tox-tree .tox-trbtn--disabled:hover,.tox .tox-tree .tox-trbtn:disabled,.tox .tox-tree .tox-trbtn:disabled:hover{background:0 0;border:0;box-shadow:none;color:rgba(255,255,255,.5);cursor:not-allowed}.tox .tox-tree .tox-trbtn--disabled svg,.tox .tox-tree .tox-trbtn--disabled:hover svg,.tox .tox-tree .tox-trbtn:disabled svg,.tox .tox-tree .tox-trbtn:disabled:hover svg{fill:rgba(255,255,255,0.5)}.tox .tox-tree .tox-trbtn--enabled,.tox .tox-tree .tox-trbtn--enabled:hover{background:#6ea9d0;border:0;box-shadow:none;color:#fff}.tox .tox-tree .tox-trbtn--enabled:hover>*,.tox .tox-tree .tox-trbtn--enabled>*{transform:none}.tox .tox-tree .tox-trbtn--enabled svg,.tox .tox-tree .tox-trbtn--enabled:hover svg{fill:#fff}.tox .tox-tree .tox-trbtn:focus:not(.tox-trbtn--disabled){color:#fff}.tox .tox-tree .tox-trbtn:focus:not(.tox-trbtn--disabled) svg{fill:#fff}.tox .tox-tree .tox-trbtn:active>*{transform:none}.tox .tox-tree .tox-trbtn--return{align-self:stretch;height:unset;width:16px}.tox .tox-tree .tox-trbtn--labeled{padding:0 4px;width:unset}.tox .tox-tree .tox-trbtn__vlabel{display:block;font-size:10px;font-weight:400;letter-spacing:-.025em;margin-bottom:4px;white-space:nowrap}.tox .tox-tree .tox-tree--directory{display:flex;flex-direction:column}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label{font-weight:700}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label .tox-mbtn{margin-left:auto}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label .tox-mbtn svg{fill:transparent}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label .tox-mbtn.tox-mbtn--active svg,.tox .tox-tree .tox-tree--directory .tox-tree--directory__label .tox-mbtn:focus svg{fill:#fff}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label:focus .tox-mbtn svg,.tox .tox-tree .tox-tree--directory .tox-tree--directory__label:hover .tox-mbtn svg{fill:#fff}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label:hover:has(.tox-mbtn:hover){background-color:transparent;color:#fff}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label:hover:has(.tox-mbtn:hover) .tox-chevron svg{fill:#fff}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label .tox-chevron{margin-right:6px}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label:has(+ .tox-tree--directory__children--growing) .tox-chevron,.tox .tox-tree .tox-tree--directory .tox-tree--directory__label:has(+ .tox-tree--directory__children--shrinking) .tox-chevron{transition:transform .5s ease-in-out}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label:has(+ .tox-tree--directory__children--growing) .tox-chevron,.tox .tox-tree .tox-tree--directory .tox-tree--directory__label:has(+ .tox-tree--directory__children--open) .tox-chevron{transform:rotate(90deg)}.tox .tox-tree .tox-tree--leaf__label{font-weight:400}.tox .tox-tree .tox-tree--leaf__label .tox-mbtn{margin-left:auto}.tox .tox-tree .tox-tree--leaf__label .tox-mbtn svg{fill:transparent}.tox .tox-tree .tox-tree--leaf__label .tox-mbtn.tox-mbtn--active svg,.tox .tox-tree .tox-tree--leaf__label .tox-mbtn:focus svg{fill:#fff}.tox .tox-tree .tox-tree--leaf__label:hover .tox-mbtn svg{fill:#fff}.tox .tox-tree .tox-tree--leaf__label:hover:has(.tox-mbtn:hover){background-color:transparent;color:#fff}.tox .tox-tree .tox-tree--leaf__label:hover:has(.tox-mbtn:hover) .tox-chevron svg{fill:#fff}.tox .tox-tree .tox-icon-custom-state{flex-grow:1;display:flex;justify-content:flex-end}.tox .tox-tree .tox-tree--directory__children{overflow:hidden;padding-left:16px}.tox .tox-tree .tox-tree--directory__children.tox-tree--directory__children--growing,.tox .tox-tree .tox-tree--directory__children.tox-tree--directory__children--shrinking{transition:height .5s ease-in-out}.tox .tox-tree .tox-trbtn.tox-tree--leaf__label{display:flex;justify-content:space-between}[data-mce-name=uploadcare-enhance-filter] .color-swatch-remove-color path{fill:#c00;stroke:#c00}.tox .tox-view-wrap,.tox .tox-view-wrap__slot-container{background-color:#222f3e;display:flex;flex:1;flex-direction:column;height:100%}.tox .tox-view{display:flex;flex:1 1 auto;flex-direction:column;overflow:hidden;background-color:#222f3e}.tox .tox-view__header{align-items:center;display:flex;font-size:16px;justify-content:space-between;padding:8px;position:relative}.tox .tox-view__label{color:#fff;font-weight:700;line-height:24px;padding:4px 16px;text-align:center;white-space:nowrap}.tox .tox-view__label--normal{font-size:16px}.tox .tox-view__label--large{font-size:20px}.tox .tox-view--mobile.tox-view__header,.tox .tox-view--mobile.tox-view__toolbar{padding:8px}.tox .tox-view--scrolling{flex-wrap:nowrap;overflow-x:auto}.tox .tox-view__align-right{margin-left:auto}.tox .tox-view__toolbar{display:flex;flex-direction:row;gap:8px;justify-content:space-between;overflow-x:auto;padding:8px}.tox .tox-view__toolbar__group{display:flex;flex-direction:row;gap:12px}.tox .tox-view__header-end,.tox .tox-view__header-start{display:flex}.tox .tox-view__pane{height:100%;padding:8px;position:relative;width:100%}.tox .tox-view__pane_panel{border:1px solid #000;border-radius:3px}.tox:not([dir=rtl]) .tox-view__header .tox-view__header-end>*,.tox:not([dir=rtl]) .tox-view__header .tox-view__header-start>*{margin-left:8px}.tox[dir=rtl] .tox-view__header .tox-view__header-end>*,.tox[dir=rtl] .tox-view__header .tox-view__header-start>*{margin-right:8px}.tox .tox-well{border:1px solid #000;border-radius:3px;padding:8px;width:100%}.tox .tox-well>:first-child{margin-top:0}.tox .tox-well>:last-child{margin-bottom:0}.tox .tox-well>:only-child{margin:0}.tox .tox-custom-editor{border:1px solid #000;border-radius:3px;display:flex;flex:1;overflow:hidden;position:relative}.tox .tox-view .tox-revisionhistory__pane{padding:0}.tox .tox-revisionhistory__container{display:flex;flex-direction:column;height:100%}.tox .tox-revisionhistory{background-color:#222f3e;border-top:1px solid rgba(255,255,255,.15);display:flex;flex:1;height:100%;overflow-x:auto;overflow-y:hidden;position:relative;width:100%}.tox .tox-revisionhistory__iframe{flex:1}.tox .tox-revisionhistory__sidebar{display:flex;flex-direction:column;height:100%;min-width:248px;width:316px}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__sidebar-title{background-color:#222f3e;box-shadow:0 4px 8px 0 rgba(34,47,62,.1);color:#fff;font-size:20px;font-weight:400;line-height:28px;padding:12px;z-index:1}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions{background-color:#2b3b4e;display:flex;flex:1;flex-direction:column;gap:12px;overflow-y:auto;padding:10px 12px}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions:focus{height:100%;position:relative;z-index:1}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions:focus::after{bottom:0;box-shadow:0 0 0 0 transparent;content:'';left:0;position:absolute;right:0;top:0;border-radius:3px;bottom:1px;left:1px;right:1px;top:1px}@media (forced-colors:active){.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions:focus::after{border:2px solid highlight}}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card{background-color:#222f3e;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:#fff;cursor:pointer;display:flex;flex-direction:column;font-size:14px;padding:12px;width:100%}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card:hover{box-shadow:0 4px 8px 0 rgba(34,47,62,.1)}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card:focus{position:relative;z-index:1}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card:focus::after{border-radius:3px;bottom:0;box-shadow:0 0 0 0 transparent #285ec7;content:'';left:0;position:absolute;right:0;top:0;border-radius:6px;box-shadow:0 0 0 2px #285ec7;box-shadow:0 0 0 2px #285ec7!important}@media (forced-colors:active){.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card:focus::after{border:2px solid highlight}}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card.tox-revisionhistory__card--selected{background-color:#1b3b60;box-shadow:0 4px 8px 0 rgba(34,47,62,.1);position:relative}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card.tox-revisionhistory__card--selected::after{border-radius:3px;bottom:0;box-shadow:0 0 0 0 transparent #cea215;content:'';left:0;position:absolute;right:0;top:0;border-radius:6px;box-shadow:0 0 0 2px #cea215}@media (forced-colors:active){.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card.tox-revisionhistory__card--selected::after{border:2px solid highlight}}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card-label{display:block;width:min-content;padding:4px 8px;margin-bottom:8px;font-size:12px;font-weight:700;border-radius:4px;background:#555f6b}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card-content{display:flex;flex-direction:row;gap:8px;align-items:center}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card-info{display:flex;flex-direction:column;flex:1}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card-date-label{font-size:14px;font-weight:700;line-height:18px}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card-author-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:400}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__avatar{border-radius:50%;height:36px;object-fit:cover;vertical-align:middle;width:36px}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__norevision{color:rgba(255,255,255,.5);font-size:16px;line-height:24px;padding:5px 5.5px}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card-check-icon{color:#fff;height:24px}.tox [data-mce-name=suggestededits] .tox-icon .tox-icon--badge{fill:#207ab7}.tox .tox-view .tox-suggestededits__pane{padding:0}.tox .tox-suggestededits__sink{position:relative;z-index:1000}.tox .tox-suggestededits__sink .tox-tiered-menu .tox-collection--list{position:absolute}.tox .tox-suggestededits__container{height:100%;display:flex;flex-direction:column}.tox .tox-suggestededits__container .tox-suggestededits{background-color:#222f3e;border-top:1px solid #000;display:flex;flex:1;height:inherit;overflow-x:auto;overflow-y:hidden;position:relative}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__content{flex:1}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__model{height:100%;position:relative}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__model .tox-suggestededits__iframe{height:100%;width:100%;overflow:scroll;background-color:#fff}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar{background-color:#34485f;display:flex;flex-direction:column;flex:0 1 auto;min-width:248px;width:316px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-header{padding:4px 12px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content{display:flex;flex:1;flex-direction:column;gap:12px;overflow:auto;padding:6px 12px 12px 12px;position:relative}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card{background-color:#222f3e;border-radius:6px;padding:6px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--divider{background-color:#34485f;height:1px;width:100%}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--editor,.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--single{align-items:flex-start;align-self:stretch;display:flex;flex-direction:column;gap:6px;padding:6px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header{display:flex;flex:auto;justify-content:space-between;align-items:center;gap:8px;width:100%}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__card--user{display:flex;align-items:center;flex:1 0 0;gap:8px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__card--user .tox-suggestededits__card--avatar{height:24px;width:24px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__card--user .tox-suggestededits__card--avatar .tox-skeleton__circle,.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__card--user .tox-suggestededits__card--avatar img{height:24px;width:24px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__card--user .tox-suggestededits__card--details{display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__card--user .tox-suggestededits__card--details .tox-suggestededits__card--name{color:#fff}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__card--feedback-user{display:flex;align-items:center;flex:1 0 0;gap:8px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__card--feedback-user .tox-suggestededits__card--avatar{height:36px;width:36px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__card--feedback-user .tox-suggestededits__card--details{display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__card--feedback-user .tox-suggestededits__card--details .tox-suggestededits__card--name{color:#fff;font-size:14px;font-weight:700}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__card--feedback-user .tox-suggestededits__card--details .tox-suggestededits__card--timestamp{color:#fff;font-size:12px;line-height:18px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__resolution{align-items:center;border:0;border-radius:20px;height:20px;width:20px;display:flex;flex:0 0 auto;justify-content:center;text-align:center}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__resolution.tox-suggestededits__resolution--accepted .tox-icon svg{fill:#78AB46}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__resolution.tox-suggestededits__resolution--rejected .tox-icon svg{fill:#c00}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--content{display:flex;flex-direction:column;align-self:stretch;flex:auto;gap:6px;width:100%}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--content .tox-suggestededits__operations{display:flex;gap:8px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--content .tox-suggestededits__operations .tox-suggestededits__operations-bar{align-items:center;border-radius:6px;display:flex;flex-direction:column;font-size:12px;justify-content:space-between;width:6px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--content .tox-suggestededits__operations .tox-suggestededits__operations-bar--insert{background-color:#78ab46;width:100%}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--content .tox-suggestededits__operations .tox-suggestededits__operations-bar--modify{background-color:#207ab7;width:100%}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--content .tox-suggestededits__operations .tox-suggestededits__operations-bar--remove{background-color:#c00;width:100%}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--content .tox-suggestededits__operations .tox-suggestededits__operations-text{color:#fff;font-weight:700}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--content .tox-suggestededits__card--feedback{color:#fff;width:100%}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--content .tox-suggestededits__card--textarea{border:2px solid #000;border-radius:6px;color:#fff;gap:8px;padding:5px 6px;resize:none;width:100%}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--content .tox-suggestededits__card--textarea:focus{border:2px solid #207ab7}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--footer{display:flex;flex-direction:column;gap:6px;width:100%}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--footer .tox-suggestededits__card--timestamp{color:#fff;font-size:12px;line-height:18px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--footer .tox-suggestededits__card--timestamp .tox-icon svg{fill:#FFFFFF80;transform:translate(0,8px);margin-top:-10px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--buttons{display:flex;align-items:center;gap:8px;width:100%}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--buttons.tox-suggestededits__card--review-buttons{justify-content:space-between;padding:6px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--buttons.tox-suggestededits__card--feedback-buttons{justify-content:flex-end}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card.tox-suggestededits__card--hidden{opacity:.5}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card.tox-suggestededits__card--resolved{background-color:#243140}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card.tox-suggestededits__card--active:focus,.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card.tox-suggestededits__card--active:focus-visible{outline:2px solid #207ab7}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card.tox-suggestededits__card--active .tox-suggestededits__card--single{border-radius:6px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card.tox-suggestededits__card--active .tox-suggestededits__card--single:focus,.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card.tox-suggestededits__card--active .tox-suggestededits__card--single:focus-visible{outline:2px solid #207ab7}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card:hover{box-shadow:0 4px 8px 0 #243140}.tox .tox-dialog-loading::before{background-color:rgba(0,0,0,.5);content:\"\";height:100%;position:absolute;width:100%;z-index:1000}.tox .tox-tab{cursor:pointer}.tox .tox-dialog__content-js{display:flex;flex:1}.tox .tox-dialog__body-content .tox-collection{display:flex;flex:1}.tox:not(.tox-tinymce-inline) .tox-editor-header{background-color:none;padding:0}.tox.tox-tinymce--toolbar-bottom .tox-editor-header,.tox.tox-tinymce-inline .tox-editor-header{margin-bottom:-1px}.tox.tox-tinymce-inline .tox-editor-container{overflow:hidden}.tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-bottom .tox-editor-header{border-top:none;box-shadow:none}.tox.tox.tox-tinymce--toolbar-sticky-on .tox-editor-header{background-color:transparent;box-shadow:0 4px 4px -3px rgba(0,0,0,.25);padding:0}.tox.tox.tox-tinymce--toolbar-sticky-on.tox-tinymce--toolbar-bottom .tox-editor-header{box-shadow:0 4px 4px -3px rgba(0,0,0,.25)}.tox .tox-collection--list .tox-collection__group .tox-insert-table-picker{margin:-4px 0}.tox .tox-menu.tox-collection.tox-collection--list{padding:0}.tox .tox-pop{box-shadow:none}.tox .tox-label,.tox .tox-number-input,.tox .tox-split-button,.tox .tox-tbtn,.tox .tox-tbtn--select,.tox .tox-toolbar-label{margin:2px 0 3px 0}.tox .tox-tbtn--bordered,.tox .tox-tbtn--bordered:focus,.tox .tox-tbtn--bordered:hover{border:1px solid #000}.tox .tox-toolbar,.tox .tox-toolbar__overflow,.tox .tox-toolbar__primary{background:url(\"data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='%23000000'/%3E%3C/svg%3E\") left 0 top 0 #222f3e!important}.tox .tox-menubar+.tox-toolbar-overlord{border-top:none}.tox .tox-menubar+.tox-toolbar,.tox .tox-menubar+.tox-toolbar-overlord .tox-toolbar__primary{border-top:1px solid #000;margin-top:-1px}.tox.tox-tinymce-aux .tox-toolbar__overflow{border:1px solid #000;padding:0}.tox .tox-pop .tox-pop__dialog .tox-toolbar{padding:0}.tox:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-menubar{border-top:1px solid #000}.tox:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-toolbar-overlord:first-child .tox-toolbar__primary,.tox:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-toolbar:first-child{border-top:1px solid #000}.tox .tox-toolbar__group{padding:0 4px 0 4px}.tox .tox-collection__item{border-radius:0;cursor:pointer}.tox .tox-statusbar a:focus:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar a:hover:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__path-item:focus:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__path-item:hover:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__wordcount:focus:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__wordcount:hover:not(:disabled):not([aria-disabled=true]){color:#fff}.tox .tox-statusbar__branding svg{fill:rgba(255,255,255,0.8);height:1em;margin-left:.3em;width:auto}@media (forced-colors:active){.tox .tox-statusbar__branding svg{fill:currentColor}}.tox .tox-statusbar__branding a{align-items:center;display:inline-flex}.tox .tox-statusbar__branding a:focus:not(:disabled):not([aria-disabled=true]) svg,.tox .tox-statusbar__branding a:hover:not(:disabled):not([aria-disabled=true]) svg{fill:#fff}.tox:not([dir=rtl]) .tox-statusbar__branding{margin-left:1ch}.tox[dir=rtl] .tox-statusbar__branding svg{margin-left:0;margin-right:.3em}.tox .tox-statusbar__resize-handle{padding-bottom:0;padding-right:0}.tox .tox-button::before{display:none}`)"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/skins/ui/tinymce-5-dark/skin.shadowdom.js",
    "content": "tinymce.Resource.add('ui/tinymce-5-dark/skin.shadowdom.css', `body.tox-dialog__disable-scroll{overflow:hidden}.tox-fullscreen{border:0;height:100%;margin:0;overflow:hidden;overscroll-behavior:none;padding:0;touch-action:pinch-zoom;width:100%}.tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle{display:none}.tox-shadowhost.tox-fullscreen,.tox.tox-tinymce.tox-fullscreen{left:0;position:fixed;top:0;z-index:1200}.tox.tox-tinymce.tox-fullscreen{background-color:transparent}.tox-fullscreen .tox.tox-tinymce-aux,.tox-fullscreen~.tox.tox-tinymce-aux{z-index:1201}`)"
  },
  {
    "path": "bl-plugins/tinymce/tinymce/tinymce.d.ts",
    "content": "interface StringPathBookmark {\n    start: string;\n    end?: string;\n    forward?: boolean;\n}\ninterface RangeBookmark {\n    rng: Range;\n    forward?: boolean;\n}\ninterface IdBookmark {\n    id: string;\n    keep?: boolean;\n    forward?: boolean;\n}\ninterface IndexBookmark {\n    name: string;\n    index: number;\n}\ninterface PathBookmark {\n    start: number[];\n    end?: number[];\n    isFakeCaret?: boolean;\n    forward?: boolean;\n}\ntype Bookmark = StringPathBookmark | RangeBookmark | IdBookmark | IndexBookmark | PathBookmark;\ntype SchemaType = 'html4' | 'html5' | 'html5-strict';\ninterface ElementSettings {\n    block_elements?: string;\n    boolean_attributes?: string;\n    move_caret_before_on_enter_elements?: string;\n    non_empty_elements?: string;\n    self_closing_elements?: string;\n    text_block_elements?: string;\n    text_inline_elements?: string;\n    void_elements?: string;\n    whitespace_elements?: string;\n    transparent_elements?: string;\n    wrap_block_elements?: string;\n}\ninterface SchemaSettings extends ElementSettings {\n    custom_elements?: string | Record<string, CustomElementSpec>;\n    extended_valid_elements?: string;\n    invalid_elements?: string;\n    invalid_styles?: string | Record<string, string>;\n    schema?: SchemaType;\n    valid_children?: string;\n    valid_classes?: string | Record<string, string>;\n    valid_elements?: string;\n    valid_styles?: string | Record<string, string>;\n    verify_html?: boolean;\n    padd_empty_block_inline_children?: boolean;\n}\ninterface Attribute {\n    required?: boolean;\n    defaultValue?: string;\n    forcedValue?: string;\n    validValues?: Record<string, {}>;\n}\ninterface DefaultAttribute {\n    name: string;\n    value: string;\n}\ninterface AttributePattern extends Attribute {\n    pattern: RegExp;\n}\ninterface ElementRule {\n    attributes: Record<string, Attribute>;\n    attributesDefault?: DefaultAttribute[];\n    attributesForced?: DefaultAttribute[];\n    attributesOrder: string[];\n    attributePatterns?: AttributePattern[];\n    attributesRequired?: string[];\n    paddEmpty?: boolean;\n    removeEmpty?: boolean;\n    removeEmptyAttrs?: boolean;\n    paddInEmptyBlock?: boolean;\n}\ninterface SchemaElement extends ElementRule {\n    outputName?: string;\n    parentsRequired?: string[];\n    pattern?: RegExp;\n}\ninterface SchemaMap {\n    [name: string]: {};\n}\ninterface SchemaRegExpMap {\n    [name: string]: RegExp;\n}\ninterface CustomElementSpec {\n    extends?: string;\n    attributes?: string[];\n    children?: string[];\n    padEmpty?: boolean;\n    componentUrl?: string;\n}\ninterface Schema {\n    type: SchemaType;\n    children: Record<string, SchemaMap>;\n    elements: Record<string, SchemaElement>;\n    getValidStyles: () => Record<string, string[]> | undefined;\n    getValidClasses: () => Record<string, SchemaMap> | undefined;\n    getBlockElements: () => SchemaMap;\n    getInvalidStyles: () => Record<string, SchemaMap> | undefined;\n    getVoidElements: () => SchemaMap;\n    getTextBlockElements: () => SchemaMap;\n    getTextInlineElements: () => SchemaMap;\n    getBoolAttrs: () => SchemaMap;\n    getElementRule: (name: string) => SchemaElement | undefined;\n    getSelfClosingElements: () => SchemaMap;\n    getNonEmptyElements: () => SchemaMap;\n    getMoveCaretBeforeOnEnterElements: () => SchemaMap;\n    getWhitespaceElements: () => SchemaMap;\n    getTransparentElements: () => SchemaMap;\n    getSpecialElements: () => SchemaRegExpMap;\n    getComponentUrls: () => Record<string, string>;\n    isValidChild: (name: string, child: string) => boolean;\n    isValid: (name: string, attr?: string) => boolean;\n    isBlock: (name: string) => boolean;\n    isInline: (name: string) => boolean;\n    isWrapper: (name: string) => boolean;\n    getCustomElements: () => SchemaMap;\n    addValidElements: (validElements: string) => void;\n    setValidElements: (validElements: string) => void;\n    addCustomElements: (customElements: string | Record<string, CustomElementSpec>) => void;\n    addValidChildren: (validChildren: any) => void;\n}\ntype Attributes$1 = Array<{\n    name: string;\n    value: string;\n}> & {\n    map: Record<string, string>;\n};\ninterface AstNodeConstructor {\n    readonly prototype: AstNode;\n    new (name: string, type: number): AstNode;\n    create(name: string, attrs?: Record<string, string>): AstNode;\n}\ndeclare class AstNode {\n    static create(name: string, attrs?: Record<string, string>): AstNode;\n    name: string;\n    type: number;\n    attributes?: Attributes$1;\n    value?: string;\n    parent?: AstNode | null;\n    firstChild?: AstNode | null;\n    lastChild?: AstNode | null;\n    next?: AstNode | null;\n    prev?: AstNode | null;\n    raw?: boolean;\n    constructor(name: string, type: number);\n    replace(node: AstNode): AstNode;\n    attr(name: string, value: string | null | undefined): AstNode | undefined;\n    attr(name: Record<string, string | null | undefined> | undefined): AstNode | undefined;\n    attr(name: string): string | undefined;\n    clone(): AstNode;\n    wrap(wrapper: AstNode): AstNode;\n    unwrap(): void;\n    remove(): AstNode;\n    append(node: AstNode): AstNode;\n    insert(node: AstNode, refNode: AstNode, before?: boolean): AstNode;\n    getAll(name: string): AstNode[];\n    children(): AstNode[];\n    empty(): AstNode;\n    isEmpty(elements: SchemaMap, whitespace?: SchemaMap, predicate?: (node: AstNode) => boolean): boolean;\n    walk(prev?: boolean): AstNode | null | undefined;\n}\ninterface BlobInfoData {\n    id?: string;\n    name?: string;\n    filename?: string;\n    blob: Blob;\n    base64: string;\n    blobUri?: string;\n    uri?: string;\n}\ninterface BlobInfo {\n    id: () => string;\n    name: () => string;\n    filename: () => string;\n    blob: () => Blob;\n    base64: () => string;\n    blobUri: () => string;\n    uri: () => string | undefined;\n}\ninterface BlobCache {\n    create: {\n        (o: BlobInfoData): BlobInfo;\n        (id: string, blob: Blob, base64: string, name?: string, filename?: string): BlobInfo;\n    };\n    add: (blobInfo: BlobInfo) => void;\n    get: (id: string) => BlobInfo | undefined;\n    getByUri: (blobUri: string) => BlobInfo | undefined;\n    getByData: (base64: string, type: string) => BlobInfo | undefined;\n    findFirst: (predicate: (blobInfo: BlobInfo) => boolean) => BlobInfo | undefined;\n    removeByUri: (blobUri: string) => void;\n    destroy: () => void;\n}\ninterface NotificationManagerImpl {\n    open: (spec: NotificationSpec, closeCallback: () => void, hasEditorFocus: () => boolean) => NotificationApi;\n    close: <T extends NotificationApi>(notification: T) => void;\n    getArgs: <T extends NotificationApi>(notification: T) => NotificationSpec;\n}\ninterface NotificationSpec {\n    type?: 'info' | 'warning' | 'error' | 'success';\n    text: string;\n    icon?: string;\n    progressBar?: boolean;\n    timeout?: number;\n}\ninterface NotificationApi {\n    close: () => void;\n    progressBar: {\n        value: (percent: number) => void;\n    };\n    text: (text: string) => void;\n    reposition: () => void;\n    getEl: () => HTMLElement;\n    settings: NotificationSpec;\n}\ninterface NotificationManager {\n    open: (spec: NotificationSpec) => NotificationApi;\n    close: () => void;\n    getNotifications: () => NotificationApi[];\n}\ninterface UploadFailure {\n    message: string;\n    remove?: boolean;\n}\ntype ProgressFn = (percent: number) => void;\ninterface UploadFileData {\n    url: string;\n    fileName: string;\n}\ntype UploadHandler<T extends UploadFileData | string = string> = (blobInfo: BlobInfo, progress: ProgressFn) => Promise<T>;\ninterface UploadResult$2 {\n    url: string;\n    blobInfo: BlobInfo;\n    status: boolean;\n    error?: UploadFailure;\n}\ninterface IsEmptyOptions {\n    readonly skipBogus?: boolean;\n    readonly includeZwsp?: boolean;\n    readonly checkRootAsContent?: boolean;\n    readonly isContent?: (node: Node) => boolean;\n}\ninterface GeomRect {\n    readonly x: number;\n    readonly y: number;\n    readonly w: number;\n    readonly h: number;\n}\ninterface Rect {\n    inflate: (rect: GeomRect, w: number, h: number) => GeomRect;\n    relativePosition: (rect: GeomRect, targetRect: GeomRect, rel: string) => GeomRect;\n    findBestRelativePosition: (rect: GeomRect, targetRect: GeomRect, constrainRect: GeomRect, rels: string[]) => string | null;\n    intersect: (rect: GeomRect, cropRect: GeomRect) => GeomRect | null;\n    clamp: (rect: GeomRect, clampRect: GeomRect, fixedSize?: boolean) => GeomRect;\n    create: (x: number, y: number, w: number, h: number) => GeomRect;\n    fromClientRect: (clientRect: DOMRect) => GeomRect;\n}\ntype StyleMap = Record<string, string | number>;\ninterface StylesSettings {\n    allow_script_urls?: boolean;\n    allow_svg_data_urls?: boolean;\n    url_converter?: URLConverter;\n    url_converter_scope?: any;\n}\ninterface Styles {\n    parse: (css: string | undefined) => Record<string, string>;\n    serialize: (styles: StyleMap, elementName?: string) => string;\n}\ntype NormalizedEvent<E, T = any> = E & {\n    readonly type: string;\n    readonly target: T;\n    readonly isDefaultPrevented: () => boolean;\n    readonly preventDefault: () => void;\n    readonly isPropagationStopped: () => boolean;\n    readonly stopPropagation: () => void;\n    readonly isImmediatePropagationStopped: () => boolean;\n    readonly stopImmediatePropagation: () => void;\n};\ntype MappedEvent<T extends {}, K extends string> = K extends keyof T ? T[K] : any;\ninterface NativeEventMap {\n    beforepaste: Event;\n    blur: FocusEvent;\n    beforeinput: InputEvent;\n    click: MouseEvent;\n    compositionend: Event;\n    compositionstart: Event;\n    compositionupdate: Event;\n    contextmenu: PointerEvent;\n    copy: ClipboardEvent;\n    cut: ClipboardEvent;\n    dblclick: MouseEvent;\n    drag: DragEvent;\n    dragdrop: DragEvent;\n    dragend: DragEvent;\n    draggesture: DragEvent;\n    dragover: DragEvent;\n    dragstart: DragEvent;\n    drop: DragEvent;\n    focus: FocusEvent;\n    focusin: FocusEvent;\n    focusout: FocusEvent;\n    input: InputEvent;\n    keydown: KeyboardEvent;\n    keypress: KeyboardEvent;\n    keyup: KeyboardEvent;\n    mousedown: MouseEvent;\n    mouseenter: MouseEvent;\n    mouseleave: MouseEvent;\n    mousemove: MouseEvent;\n    mouseout: MouseEvent;\n    mouseover: MouseEvent;\n    mouseup: MouseEvent;\n    paste: ClipboardEvent;\n    selectionchange: Event;\n    submit: Event;\n    touchend: TouchEvent;\n    touchmove: TouchEvent;\n    touchstart: TouchEvent;\n    touchcancel: TouchEvent;\n    wheel: WheelEvent;\n}\ntype EditorEvent<T> = NormalizedEvent<T>;\ninterface EventDispatcherSettings {\n    scope?: any;\n    toggleEvent?: (name: string, state: boolean) => void | boolean;\n    beforeFire?: <T>(args: EditorEvent<T>) => void;\n}\ninterface EventDispatcherConstructor<T extends {}> {\n    readonly prototype: EventDispatcher<T>;\n    new (settings?: EventDispatcherSettings): EventDispatcher<T>;\n    isNative: (name: string) => boolean;\n}\ndeclare class EventDispatcher<T extends {}> {\n    static isNative(name: string): boolean;\n    private readonly settings;\n    private readonly scope;\n    private readonly toggleEvent;\n    private bindings;\n    constructor(settings?: EventDispatcherSettings);\n    fire<K extends string, U extends MappedEvent<T, K>>(name: K, args?: U): EditorEvent<U>;\n    dispatch<K extends string, U extends MappedEvent<T, K>>(name: K, args?: U): EditorEvent<U>;\n    on<K extends string>(name: K, callback: false | ((event: EditorEvent<MappedEvent<T, K>>) => void | boolean), prepend?: boolean, extra?: {}): this;\n    off<K extends string>(name?: K, callback?: (event: EditorEvent<MappedEvent<T, K>>) => void): this;\n    once<K extends string>(name: K, callback: (event: EditorEvent<MappedEvent<T, K>>) => void, prepend?: boolean): this;\n    has(name: string): boolean;\n}\ntype EventUtilsCallback<T> = (event: EventUtilsEvent<T>) => void | boolean;\ntype EventUtilsEvent<T> = NormalizedEvent<T> & {\n    metaKey: boolean;\n};\ninterface Callback$1<T> {\n    func: EventUtilsCallback<T>;\n    scope: any;\n}\ninterface CallbackList<T> extends Array<Callback$1<T>> {\n    fakeName: string | false;\n    capture: boolean;\n    nativeHandler: EventListener;\n}\ninterface EventUtilsConstructor {\n    readonly prototype: EventUtils;\n    new (): EventUtils;\n    Event: EventUtils;\n}\ndeclare class EventUtils {\n    static Event: EventUtils;\n    domLoaded: boolean;\n    events: Record<number, Record<string, CallbackList<any>>>;\n    private readonly expando;\n    private hasFocusIn;\n    private count;\n    constructor();\n    bind<K extends keyof HTMLElementEventMap>(target: any, name: K, callback: EventUtilsCallback<HTMLElementEventMap[K]>, scope?: any): EventUtilsCallback<HTMLElementEventMap[K]>;\n    bind<T = any>(target: any, names: string, callback: EventUtilsCallback<T>, scope?: any): EventUtilsCallback<T>;\n    unbind<K extends keyof HTMLElementEventMap>(target: any, name: K, callback?: EventUtilsCallback<HTMLElementEventMap[K]>): this;\n    unbind<T = any>(target: any, names: string, callback?: EventUtilsCallback<T>): this;\n    unbind(target: any): this;\n    fire(target: any, name: string, args?: {}): this;\n    dispatch(target: any, name: string, args?: {}): this;\n    clean(target: any): this;\n    destroy(): void;\n    cancel<T>(e: EventUtilsEvent<T>): boolean;\n    private executeHandlers;\n}\ninterface StyleSheetLoaderSettings {\n    maxLoadTime?: number;\n    contentCssCors?: boolean;\n    crossOrigin?: (url: string) => string | undefined;\n    referrerPolicy?: ReferrerPolicy;\n}\ninterface StyleSheetLoader {\n    load: (url: string) => Promise<void>;\n    loadRawCss: (key: string, css: string) => void;\n    loadAll: (urls: string[]) => Promise<string[]>;\n    unload: (url: string) => void;\n    unloadRawCss: (key: string) => void;\n    unloadAll: (urls: string[]) => void;\n    _setReferrerPolicy: (referrerPolicy: ReferrerPolicy) => void;\n    _setContentCssCors: (contentCssCors: boolean) => void;\n    _setCrossOrigin: (crossOrigin: (url: string) => string | undefined) => void;\n}\ninterface SetAttribEvent {\n    attrElm: HTMLElement;\n    attrName: string;\n    attrValue: string | boolean | number | null;\n}\ninterface DOMUtilsSettings {\n    schema: Schema;\n    url_converter: URLConverter;\n    url_converter_scope: any;\n    ownEvents: boolean;\n    keep_values: boolean;\n    update_styles: boolean;\n    root_element: HTMLElement | null;\n    collect: boolean;\n    onSetAttrib: (event: SetAttribEvent) => void;\n    contentCssCors: boolean;\n    referrerPolicy: ReferrerPolicy;\n    crossOrigin: (url: string, resourceType: 'script' | 'stylesheet') => string | undefined;\n}\ntype Target = Node | Window;\ntype RunArguments<T extends Node = Node> = string | T | Array<string | T> | null;\ntype BoundEvent = [\n    Target,\n    string,\n    EventUtilsCallback<any>,\n    any\n];\ntype Callback<K extends string> = EventUtilsCallback<MappedEvent<HTMLElementEventMap, K>>;\ntype RunResult<T, R> = T extends Array<any> ? R[] : false | R;\ninterface DOMUtils {\n    doc: Document;\n    settings: Partial<DOMUtilsSettings>;\n    win: Window;\n    files: Record<string, boolean>;\n    stdMode: boolean;\n    boxModel: boolean;\n    styleSheetLoader: StyleSheetLoader;\n    boundEvents: BoundEvent[];\n    styles: Styles;\n    schema: Schema;\n    events: EventUtils;\n    root: Node | null;\n    isBlock: {\n        (node: Node | null): node is HTMLElement;\n        (node: string): boolean;\n    };\n    clone: (node: Node, deep: boolean) => Node;\n    getRoot: () => HTMLElement;\n    getViewPort: (argWin?: Window) => GeomRect;\n    getRect: (elm: string | HTMLElement) => GeomRect;\n    getSize: (elm: string | HTMLElement) => {\n        w: number;\n        h: number;\n    };\n    getParent: {\n        <K extends keyof HTMLElementTagNameMap>(node: string | Node | null, selector: K, root?: Node): HTMLElementTagNameMap[K] | null;\n        <T extends Element>(node: string | Node | null, selector: string | ((node: Node) => node is T), root?: Node): T | null;\n        (node: string | Node | null, selector?: string | ((node: Node) => boolean | void), root?: Node): Node | null;\n    };\n    getParents: {\n        <K extends keyof HTMLElementTagNameMap>(elm: string | HTMLElementTagNameMap[K] | null, selector: K, root?: Node, collect?: boolean): Array<HTMLElementTagNameMap[K]>;\n        <T extends Element>(node: string | Node | null, selector: string | ((node: Node) => node is T), root?: Node, collect?: boolean): T[];\n        (elm: string | Node | null, selector?: string | ((node: Node) => boolean | void), root?: Node, collect?: boolean): Node[];\n    };\n    get: {\n        <T extends Node>(elm: T): T;\n        (elm: string): HTMLElement | null;\n    };\n    getNext: (node: Node | null, selector: string | ((node: Node) => boolean)) => Node | null;\n    getPrev: (node: Node | null, selector: string | ((node: Node) => boolean)) => Node | null;\n    select: {\n        <K extends keyof HTMLElementTagNameMap>(selector: K, scope?: string | Node): Array<HTMLElementTagNameMap[K]>;\n        <T extends HTMLElement = HTMLElement>(selector: string, scope?: string | Node): T[];\n    };\n    is: {\n        <T extends Element>(elm: Node | Node[] | null, selector: string): elm is T;\n        (elm: Node | Node[] | null, selector: string): boolean;\n    };\n    add: (parentElm: RunArguments, name: string | Element, attrs?: Record<string, string | boolean | number | null>, html?: string | Node | null, create?: boolean) => HTMLElement;\n    create: {\n        <K extends keyof HTMLElementTagNameMap>(name: K, attrs?: Record<string, string | boolean | number | null>, html?: string | Node | null): HTMLElementTagNameMap[K];\n        (name: string, attrs?: Record<string, string | boolean | number | null>, html?: string | Node | null): HTMLElement;\n    };\n    createHTML: (name: string, attrs?: Record<string, string | null>, html?: string) => string;\n    createFragment: (html?: string) => DocumentFragment;\n    remove: {\n        <T extends Node>(node: T | T[], keepChildren?: boolean): typeof node extends Array<any> ? T[] : T;\n        <T extends Node>(node: string, keepChildren?: boolean): T | false;\n    };\n    getStyle: {\n        (elm: Element, name: string, computed: true): string;\n        (elm: string | Element | null, name: string, computed?: boolean): string | undefined;\n    };\n    setStyle: (elm: string | Element | Element[], name: string, value: string | number | null) => void;\n    setStyles: (elm: string | Element | Element[], stylesArg: StyleMap) => void;\n    removeAllAttribs: (e: RunArguments<Element>) => void;\n    setAttrib: (elm: RunArguments<Element>, name: string, value: string | boolean | number | null) => void;\n    setAttribs: (elm: RunArguments<Element>, attrs: Record<string, string | boolean | number | null>) => void;\n    getAttrib: (elm: string | Element | null, name: string, defaultVal?: string) => string;\n    getAttribs: (elm: string | Element) => NamedNodeMap | Attr[];\n    getPos: (elm: string | Element, rootElm?: Node) => {\n        x: number;\n        y: number;\n    };\n    parseStyle: (cssText: string) => Record<string, string>;\n    serializeStyle: (stylesArg: StyleMap, name?: string) => string;\n    addStyle: (cssText: string) => void;\n    loadCSS: (url: string) => void;\n    hasClass: (elm: string | Element, cls: string) => boolean;\n    addClass: (elm: RunArguments<Element>, cls: string) => void;\n    removeClass: (elm: RunArguments<Element>, cls: string) => void;\n    toggleClass: (elm: RunArguments<Element>, cls: string, state?: boolean) => void;\n    show: (elm: string | Node | Node[]) => void;\n    hide: (elm: string | Node | Node[]) => void;\n    isHidden: (elm: string | Node) => boolean;\n    uniqueId: (prefix?: string) => string;\n    setHTML: (elm: RunArguments<Element>, html: string) => void;\n    getOuterHTML: (elm: string | Node) => string;\n    setOuterHTML: (elm: string | Node | Node[], html: string) => void;\n    decode: (text: string) => string;\n    encode: (text: string) => string;\n    insertAfter: {\n        <T extends Node>(node: T | T[], reference: string | Node): T;\n        <T extends Node>(node: RunArguments<T>, reference: string | Node): RunResult<typeof node, T>;\n    };\n    replace: {\n        <T extends Node>(newElm: Node, oldElm: T | T[], keepChildren?: boolean): T;\n        <T extends Node>(newElm: Node, oldElm: RunArguments<T>, keepChildren?: boolean): false | T;\n    };\n    rename: {\n        <K extends keyof HTMLElementTagNameMap>(elm: Element, name: K): HTMLElementTagNameMap[K];\n        (elm: Element, name: string): Element;\n    };\n    findCommonAncestor: (a: Node, b: Node) => Node | null;\n    run<R, T extends Node>(this: DOMUtils, elm: T | T[], func: (node: T) => R, scope?: any): typeof elm extends Array<any> ? R[] : R;\n    run<R, T extends Node>(this: DOMUtils, elm: RunArguments<T>, func: (node: T) => R, scope?: any): RunResult<typeof elm, R>;\n    isEmpty: (node: Node, elements?: Record<string, any>, options?: IsEmptyOptions) => boolean;\n    createRng: () => Range;\n    nodeIndex: (node: Node, normalized?: boolean) => number;\n    split: {\n        <T extends Node>(parentElm: Node, splitElm: Node, replacementElm: T): T | undefined;\n        <T extends Node>(parentElm: Node, splitElm: T): T | undefined;\n    };\n    bind: {\n        <K extends string>(target: Target, name: K, func: Callback<K>, scope?: any): Callback<K>;\n        <K extends string>(target: Target[], name: K, func: Callback<K>, scope?: any): Callback<K>[];\n    };\n    unbind: {\n        <K extends string>(target: Target, name?: K, func?: EventUtilsCallback<MappedEvent<HTMLElementEventMap, K>>): EventUtils;\n        <K extends string>(target: Target[], name?: K, func?: EventUtilsCallback<MappedEvent<HTMLElementEventMap, K>>): EventUtils[];\n    };\n    fire: (target: Node | Window, name: string, evt?: {}) => EventUtils;\n    dispatch: (target: Node | Window, name: string, evt?: {}) => EventUtils;\n    getContentEditable: (node: Node) => string | null;\n    getContentEditableParent: (node: Node) => string | null;\n    isEditable: (node: Node | null | undefined) => boolean;\n    destroy: () => void;\n    isChildOf: (node: Node, parent: Node) => boolean;\n    dumpRng: (r: Range) => string;\n}\ntype BlockPatternTrigger = 'enter' | 'space';\ninterface RawPattern {\n    start?: any;\n    end?: any;\n    format?: any;\n    cmd?: any;\n    value?: any;\n    replacement?: any;\n    trigger?: BlockPatternTrigger;\n}\ninterface InlineBasePattern {\n    readonly start: string;\n    readonly end: string;\n}\ninterface InlineFormatPattern extends InlineBasePattern {\n    readonly type: 'inline-format';\n    readonly format: string[];\n}\ninterface InlineCmdPattern extends InlineBasePattern {\n    readonly type: 'inline-command';\n    readonly cmd: string;\n    readonly value?: any;\n}\ntype InlinePattern = InlineFormatPattern | InlineCmdPattern;\ninterface BlockBasePattern {\n    readonly start: string;\n    readonly trigger: BlockPatternTrigger;\n}\ninterface BlockFormatPattern extends BlockBasePattern {\n    readonly type: 'block-format';\n    readonly format: string;\n}\ninterface BlockCmdPattern extends BlockBasePattern {\n    readonly type: 'block-command';\n    readonly cmd: string;\n    readonly value?: any;\n}\ntype BlockPattern = BlockFormatPattern | BlockCmdPattern;\ntype Pattern = InlinePattern | BlockPattern;\ninterface DynamicPatternContext {\n    readonly text: string;\n    readonly block: Element;\n}\ntype DynamicPatternsLookup = (ctx: DynamicPatternContext) => Pattern[];\ntype RawDynamicPatternsLookup = (ctx: DynamicPatternContext) => RawPattern[];\ninterface AlertBannerSpec {\n    type: 'alertbanner';\n    level: 'info' | 'warn' | 'error' | 'success';\n    text: string;\n    icon: string;\n    url?: string;\n}\ninterface ButtonSpec {\n    type: 'button';\n    text: string;\n    enabled?: boolean;\n    primary?: boolean;\n    name?: string;\n    icon?: string;\n    borderless?: boolean;\n    buttonType?: 'primary' | 'secondary' | 'toolbar';\n    context?: string;\n}\ninterface FormComponentSpec {\n    type: string;\n    name: string;\n}\ninterface FormComponentWithLabelSpec extends FormComponentSpec {\n    label?: string;\n}\ninterface CheckboxSpec extends FormComponentSpec {\n    type: 'checkbox';\n    label: string;\n    enabled?: boolean;\n    context?: string;\n}\ninterface CollectionSpec extends FormComponentWithLabelSpec {\n    type: 'collection';\n    context?: string;\n}\ninterface CollectionItem {\n    value: string;\n    text: string;\n    icon: string;\n}\ninterface ColorInputSpec extends FormComponentWithLabelSpec {\n    type: 'colorinput';\n    storageKey?: string;\n    context?: string;\n}\ninterface ColorPickerSpec extends FormComponentWithLabelSpec {\n    type: 'colorpicker';\n}\ninterface CustomEditorInit {\n    setValue: (value: string) => void;\n    getValue: () => string;\n    destroy: () => void;\n}\ntype CustomEditorInitFn = (elm: HTMLElement, settings: any) => Promise<CustomEditorInit>;\ninterface CustomEditorOldSpec extends FormComponentSpec {\n    type: 'customeditor';\n    tag?: string;\n    init: (e: HTMLElement) => Promise<CustomEditorInit>;\n}\ninterface CustomEditorNewSpec extends FormComponentSpec {\n    type: 'customeditor';\n    tag?: string;\n    scriptId: string;\n    scriptUrl: string;\n    onFocus?: (e: HTMLElement) => void;\n    settings?: any;\n}\ntype CustomEditorSpec = CustomEditorOldSpec | CustomEditorNewSpec;\ninterface DropZoneSpec extends FormComponentWithLabelSpec {\n    type: 'dropzone';\n    context?: string;\n    dropAreaLabel?: string;\n    buttonLabel?: string;\n    allowedFileTypes?: string;\n    allowedFileExtensions?: string[];\n}\ninterface GridSpec {\n    type: 'grid';\n    columns: number;\n    items: BodyComponentSpec[];\n}\ninterface HtmlPanelSpec {\n    type: 'htmlpanel';\n    html: string;\n    onInit?: (el: HTMLElement) => void;\n    presets?: 'presentation' | 'document';\n    stretched?: boolean;\n}\ninterface IframeSpec extends FormComponentWithLabelSpec {\n    type: 'iframe';\n    border?: boolean;\n    sandboxed?: boolean;\n    streamContent?: boolean;\n    transparent?: boolean;\n}\ninterface ImagePreviewSpec extends FormComponentSpec {\n    type: 'imagepreview';\n    height?: string;\n}\ninterface InputSpec extends FormComponentWithLabelSpec {\n    type: 'input';\n    inputMode?: string;\n    placeholder?: string;\n    maximized?: boolean;\n    enabled?: boolean;\n    context?: string;\n}\ntype Alignment = 'start' | 'center' | 'end';\ninterface LabelSpec {\n    type: 'label';\n    label: string;\n    items: BodyComponentSpec[];\n    align?: Alignment;\n    for?: string;\n}\ninterface ListBoxSingleItemSpec {\n    text: string;\n    value: string;\n}\ninterface ListBoxNestedItemSpec {\n    text: string;\n    items: ListBoxItemSpec[];\n}\ntype ListBoxItemSpec = ListBoxNestedItemSpec | ListBoxSingleItemSpec;\ninterface ListBoxSpec extends FormComponentWithLabelSpec {\n    type: 'listbox';\n    items: ListBoxItemSpec[];\n    disabled?: boolean;\n    context?: string;\n}\ninterface PanelSpec {\n    type: 'panel';\n    classes?: string[];\n    items: BodyComponentSpec[];\n}\ninterface SelectBoxItemSpec {\n    text: string;\n    value: string;\n}\ninterface SelectBoxSpec extends FormComponentWithLabelSpec {\n    type: 'selectbox';\n    items: SelectBoxItemSpec[];\n    size?: number;\n    enabled?: boolean;\n    context?: string;\n}\ninterface SizeInputSpec extends FormComponentWithLabelSpec {\n    type: 'sizeinput';\n    constrain?: boolean;\n    enabled?: boolean;\n    context?: string;\n}\ninterface SliderSpec extends FormComponentSpec {\n    type: 'slider';\n    label: string;\n    min?: number;\n    max?: number;\n}\ninterface TableSpec {\n    type: 'table';\n    header: string[];\n    cells: string[][];\n}\ninterface TextAreaSpec extends FormComponentWithLabelSpec {\n    type: 'textarea';\n    placeholder?: string;\n    maximized?: boolean;\n    enabled?: boolean;\n    context?: string;\n    spellcheck?: boolean;\n}\ninterface BaseToolbarButtonSpec<I extends BaseToolbarButtonInstanceApi> {\n    enabled?: boolean;\n    tooltip?: string;\n    icon?: string;\n    text?: string;\n    onSetup?: (api: I) => (api: I) => void;\n    context?: string;\n}\ninterface BaseToolbarButtonInstanceApi {\n    isEnabled: () => boolean;\n    setEnabled: (state: boolean) => void;\n    setText: (text: string) => void;\n    setIcon: (icon: string) => void;\n}\ninterface ToolbarButtonSpec extends BaseToolbarButtonSpec<ToolbarButtonInstanceApi> {\n    type?: 'button';\n    onAction: (api: ToolbarButtonInstanceApi) => void;\n    shortcut?: string;\n}\ninterface ToolbarButtonInstanceApi extends BaseToolbarButtonInstanceApi {\n}\ninterface ToolbarGroupSetting {\n    name: string;\n    items: string[];\n}\ntype ToolbarConfig = string | ToolbarGroupSetting[];\ninterface GroupToolbarButtonInstanceApi extends BaseToolbarButtonInstanceApi {\n}\ninterface GroupToolbarButtonSpec extends BaseToolbarButtonSpec<GroupToolbarButtonInstanceApi> {\n    type?: 'grouptoolbarbutton';\n    items?: ToolbarConfig;\n}\ninterface CardImageSpec {\n    type: 'cardimage';\n    src: string;\n    alt?: string;\n    classes?: string[];\n}\ninterface CardTextSpec {\n    type: 'cardtext';\n    text: string;\n    name?: string;\n    classes?: string[];\n}\ntype CardItemSpec = CardContainerSpec | CardImageSpec | CardTextSpec;\ntype CardContainerDirection = 'vertical' | 'horizontal';\ntype CardContainerAlign = 'left' | 'right';\ntype CardContainerValign = 'top' | 'middle' | 'bottom';\ninterface CardContainerSpec {\n    type: 'cardcontainer';\n    items: CardItemSpec[];\n    direction?: CardContainerDirection;\n    align?: CardContainerAlign;\n    valign?: CardContainerValign;\n}\ninterface CommonMenuItemSpec {\n    enabled?: boolean;\n    text?: string;\n    value?: string;\n    meta?: Record<string, any>;\n    shortcut?: string;\n    context?: string;\n}\ninterface CommonMenuItemInstanceApi {\n    isEnabled: () => boolean;\n    setEnabled: (state: boolean) => void;\n}\ninterface CardMenuItemInstanceApi extends CommonMenuItemInstanceApi {\n}\ninterface CardMenuItemSpec extends Omit<CommonMenuItemSpec, 'text' | 'shortcut'> {\n    type: 'cardmenuitem';\n    label?: string;\n    items: CardItemSpec[];\n    onSetup?: (api: CardMenuItemInstanceApi) => (api: CardMenuItemInstanceApi) => void;\n    onAction?: (api: CardMenuItemInstanceApi) => void;\n}\ninterface ChoiceMenuItemSpec extends CommonMenuItemSpec {\n    type?: 'choiceitem';\n    icon?: string;\n    label?: string;\n}\ninterface ChoiceMenuItemInstanceApi extends CommonMenuItemInstanceApi {\n    isActive: () => boolean;\n    setActive: (state: boolean) => void;\n}\ninterface ContextMenuItem extends CommonMenuItemSpec {\n    text: string;\n    icon?: string;\n    type?: 'item';\n    onAction: () => void;\n}\ninterface ContextSubMenu extends CommonMenuItemSpec {\n    type: 'submenu';\n    text: string;\n    icon?: string;\n    getSubmenuItems: () => string | Array<ContextMenuContents>;\n}\ntype ContextMenuContents = string | ContextMenuItem | SeparatorMenuItemSpec | ContextSubMenu;\ninterface ContextMenuApi {\n    update: (element: Element) => string | Array<ContextMenuContents>;\n}\ninterface ResetImageItemSpec extends CommonMenuItemSpec {\n    icon: string;\n    type: 'resetimage';\n    label: string;\n    tooltip?: string;\n    value: string;\n}\ninterface ImageMenuItemSpec extends CommonMenuItemSpec {\n    type?: 'imageitem';\n    url: string;\n    label?: string;\n    tooltip?: string;\n}\ninterface FancyActionArgsMap {\n    inserttable: {\n        numRows: number;\n        numColumns: number;\n    };\n    colorswatch: {\n        value: string;\n    };\n    imageselect: {\n        value: string;\n    };\n}\ninterface BaseFancyMenuItemSpec<T extends keyof FancyActionArgsMap> {\n    type: 'fancymenuitem';\n    fancytype: T;\n    initData?: Record<string, unknown>;\n    onAction?: (data: FancyActionArgsMap[T]) => void;\n}\ninterface InsertTableMenuItemSpec extends BaseFancyMenuItemSpec<'inserttable'> {\n    fancytype: 'inserttable';\n    initData?: {};\n}\ninterface ColorSwatchMenuItemSpec extends BaseFancyMenuItemSpec<'colorswatch'> {\n    fancytype: 'colorswatch';\n    select?: (value: string) => boolean;\n    initData?: {\n        allowCustomColors?: boolean;\n        colors?: ChoiceMenuItemSpec[];\n        storageKey?: string;\n    };\n}\ninterface ImageSelectMenuItemSpec extends BaseFancyMenuItemSpec<'imageselect'> {\n    fancytype: 'imageselect';\n    select?: (value: string) => boolean;\n    initData: {\n        columns: number;\n        items: (ImageMenuItemSpec | ResetImageItemSpec)[];\n    };\n}\ntype FancyMenuItemSpec = InsertTableMenuItemSpec | ColorSwatchMenuItemSpec | ImageSelectMenuItemSpec;\ninterface MenuItemSpec extends CommonMenuItemSpec {\n    type?: 'menuitem';\n    icon?: string;\n    onSetup?: (api: MenuItemInstanceApi) => (api: MenuItemInstanceApi) => void;\n    onAction?: (api: MenuItemInstanceApi) => void;\n}\ninterface MenuItemInstanceApi extends CommonMenuItemInstanceApi {\n}\ninterface SeparatorMenuItemSpec {\n    type?: 'separator';\n    text?: string;\n}\ninterface ToggleMenuItemSpec extends CommonMenuItemSpec {\n    type?: 'togglemenuitem';\n    icon?: string;\n    active?: boolean;\n    onSetup?: (api: ToggleMenuItemInstanceApi) => void;\n    onAction: (api: ToggleMenuItemInstanceApi) => void;\n}\ninterface ToggleMenuItemInstanceApi extends CommonMenuItemInstanceApi {\n    isActive: () => boolean;\n    setActive: (state: boolean) => void;\n}\ntype NestedMenuItemContents = string | MenuItemSpec | NestedMenuItemSpec | ToggleMenuItemSpec | SeparatorMenuItemSpec | FancyMenuItemSpec;\ninterface NestedMenuItemSpec extends CommonMenuItemSpec {\n    type?: 'nestedmenuitem';\n    icon?: string;\n    getSubmenuItems: () => string | Array<NestedMenuItemContents>;\n    onSetup?: (api: NestedMenuItemInstanceApi) => (api: NestedMenuItemInstanceApi) => void;\n}\ninterface NestedMenuItemInstanceApi extends CommonMenuItemInstanceApi {\n    setTooltip: (tooltip: string) => void;\n    setIconFill: (id: string, value: string) => void;\n}\ntype MenuButtonItemTypes = NestedMenuItemContents;\ntype SuccessCallback$1 = (menu: string | MenuButtonItemTypes[]) => void;\ninterface MenuButtonFetchContext {\n    pattern: string;\n}\ninterface BaseMenuButtonSpec {\n    buttonType?: 'default' | 'bordered';\n    text?: string;\n    tooltip?: string;\n    icon?: string;\n    search?: boolean | {\n        placeholder?: string;\n    };\n    fetch: (success: SuccessCallback$1, fetchContext: MenuButtonFetchContext, api: BaseMenuButtonInstanceApi) => void;\n    onSetup?: (api: BaseMenuButtonInstanceApi) => (api: BaseMenuButtonInstanceApi) => void;\n    context?: string;\n}\ninterface BaseMenuButtonInstanceApi {\n    isEnabled: () => boolean;\n    setEnabled: (state: boolean) => void;\n    isActive: () => boolean;\n    setActive: (state: boolean) => void;\n    setTooltip: (tooltip: string) => void;\n    setText: (text: string) => void;\n    setIcon: (icon: string) => void;\n}\ninterface ToolbarMenuButtonSpec extends BaseMenuButtonSpec {\n    type?: 'menubutton';\n    onSetup?: (api: ToolbarMenuButtonInstanceApi) => (api: ToolbarMenuButtonInstanceApi) => void;\n}\ninterface ToolbarMenuButtonInstanceApi extends BaseMenuButtonInstanceApi {\n}\ntype ToolbarSplitButtonItemTypes = ChoiceMenuItemSpec | SeparatorMenuItemSpec | ImageMenuItemSpec;\ntype SuccessCallback = (menu: ToolbarSplitButtonItemTypes[]) => void;\ntype SelectPredicate = (value: string) => boolean;\ntype PresetTypes = 'color' | 'normal' | 'listpreview' | 'imageselector';\ntype ColumnTypes$1 = number | 'auto';\ninterface ToolbarSplitButtonSpec {\n    type?: 'splitbutton';\n    tooltip?: string;\n    chevronTooltip?: string;\n    icon?: string;\n    text?: string;\n    select?: SelectPredicate;\n    presets?: PresetTypes;\n    columns?: ColumnTypes$1;\n    fetch: (success: SuccessCallback) => void;\n    onSetup?: (api: ToolbarSplitButtonInstanceApi) => (api: ToolbarSplitButtonInstanceApi) => void;\n    onAction: (api: ToolbarSplitButtonInstanceApi) => void;\n    onItemAction: (api: ToolbarSplitButtonInstanceApi, value: string) => void;\n    context?: string;\n}\ninterface ToolbarSplitButtonInstanceApi {\n    isEnabled: () => boolean;\n    setEnabled: (state: boolean) => void;\n    setIconFill: (id: string, value: string) => void;\n    isActive: () => boolean;\n    setActive: (state: boolean) => void;\n    setTooltip: (tooltip: string) => void;\n    setText: (text: string) => void;\n    setIcon: (icon: string) => void;\n}\ninterface BaseToolbarToggleButtonSpec<I extends BaseToolbarButtonInstanceApi> extends BaseToolbarButtonSpec<I> {\n    active?: boolean;\n}\ninterface BaseToolbarToggleButtonInstanceApi extends BaseToolbarButtonInstanceApi {\n    isActive: () => boolean;\n    setActive: (state: boolean) => void;\n}\ninterface ToolbarToggleButtonSpec extends BaseToolbarToggleButtonSpec<ToolbarToggleButtonInstanceApi> {\n    type?: 'togglebutton';\n    onAction: (api: ToolbarToggleButtonInstanceApi) => void;\n    shortcut?: string;\n}\ninterface ToolbarToggleButtonInstanceApi extends BaseToolbarToggleButtonInstanceApi {\n}\ntype Id = string;\ninterface TreeSpec {\n    type: 'tree';\n    items: TreeItemSpec[];\n    onLeafAction?: (id: Id) => void;\n    defaultExpandedIds?: Id[];\n    onToggleExpand?: (expandedIds: Id[], { expanded, node }: {\n        expanded: boolean;\n        node: Id;\n    }) => void;\n    defaultSelectedId?: Id;\n}\ninterface BaseTreeItemSpec {\n    title: string;\n    id: Id;\n    menu?: ToolbarMenuButtonSpec;\n    customStateIcon?: string;\n    customStateIconTooltip?: string;\n}\ninterface DirectorySpec extends BaseTreeItemSpec {\n    type: 'directory';\n    children: TreeItemSpec[];\n}\ninterface LeafSpec extends BaseTreeItemSpec {\n    type: 'leaf';\n}\ntype TreeItemSpec = DirectorySpec | LeafSpec;\ninterface UrlInputSpec extends FormComponentWithLabelSpec {\n    type: 'urlinput';\n    filetype?: 'image' | 'media' | 'file';\n    enabled?: boolean;\n    picker_text?: string;\n    context?: string;\n}\ninterface UrlInputData {\n    value: string;\n    meta: {\n        text?: string;\n    };\n}\ntype BodyComponentSpec = BarSpec | ButtonSpec | CheckboxSpec | TextAreaSpec | InputSpec | ListBoxSpec | SelectBoxSpec | SizeInputSpec | SliderSpec | IframeSpec | HtmlPanelSpec | UrlInputSpec | DropZoneSpec | ColorInputSpec | GridSpec | ColorPickerSpec | ImagePreviewSpec | AlertBannerSpec | CollectionSpec | LabelSpec | TableSpec | TreeSpec | PanelSpec | CustomEditorSpec;\ninterface BarSpec {\n    type: 'bar';\n    items: BodyComponentSpec[];\n}\ninterface DialogToggleMenuItemSpec extends CommonMenuItemSpec {\n    type?: 'togglemenuitem';\n    name: string;\n}\ntype DialogFooterMenuButtonItemSpec = DialogToggleMenuItemSpec;\ninterface BaseDialogFooterButtonSpec {\n    name?: string;\n    align?: 'start' | 'end';\n    primary?: boolean;\n    enabled?: boolean;\n    icon?: string;\n    buttonType?: 'primary' | 'secondary';\n    context?: string;\n}\ninterface DialogFooterNormalButtonSpec extends BaseDialogFooterButtonSpec {\n    type: 'submit' | 'cancel' | 'custom';\n    text: string;\n}\ninterface DialogFooterMenuButtonSpec extends BaseDialogFooterButtonSpec {\n    type: 'menu';\n    text?: string;\n    tooltip?: string;\n    icon?: string;\n    items: DialogFooterMenuButtonItemSpec[];\n}\ninterface DialogFooterToggleButtonSpec extends BaseDialogFooterButtonSpec {\n    type: 'togglebutton';\n    tooltip?: string;\n    icon?: string;\n    text?: string;\n    active?: boolean;\n}\ntype DialogFooterButtonSpec = DialogFooterNormalButtonSpec | DialogFooterMenuButtonSpec | DialogFooterToggleButtonSpec;\ninterface TabSpec {\n    name?: string;\n    title: string;\n    items: BodyComponentSpec[];\n}\ninterface TabPanelSpec {\n    type: 'tabpanel';\n    tabs: TabSpec[];\n}\ntype DialogDataItem = any;\ntype DialogData = Record<string, DialogDataItem>;\ninterface DialogInstanceApi<T extends DialogData> {\n    getData: () => T;\n    setData: (data: Partial<T>) => void;\n    setEnabled: (name: string, state: boolean) => void;\n    focus: (name: string) => void;\n    showTab: (name: string) => void;\n    redial: (nu: DialogSpec<T>) => void;\n    block: (msg: string) => void;\n    unblock: () => void;\n    toggleFullscreen: () => void;\n    close: () => void;\n}\ninterface DialogActionDetails {\n    name: string;\n    value?: any;\n}\ninterface DialogChangeDetails<T> {\n    name: keyof T;\n}\ninterface DialogTabChangeDetails {\n    newTabName: string;\n    oldTabName: string;\n}\ntype DialogActionHandler<T extends DialogData> = (api: DialogInstanceApi<T>, details: DialogActionDetails) => void;\ntype DialogChangeHandler<T extends DialogData> = (api: DialogInstanceApi<T>, details: DialogChangeDetails<T>) => void;\ntype DialogSubmitHandler<T extends DialogData> = (api: DialogInstanceApi<T>) => void;\ntype DialogCloseHandler = () => void;\ntype DialogCancelHandler<T extends DialogData> = (api: DialogInstanceApi<T>) => void;\ntype DialogTabChangeHandler<T extends DialogData> = (api: DialogInstanceApi<T>, details: DialogTabChangeDetails) => void;\ntype DialogSize = 'normal' | 'medium' | 'large';\ninterface DialogSpec<T extends DialogData> {\n    title: string;\n    size?: DialogSize;\n    body: TabPanelSpec | PanelSpec;\n    buttons?: DialogFooterButtonSpec[];\n    initialData?: Partial<T>;\n    onAction?: DialogActionHandler<T>;\n    onChange?: DialogChangeHandler<T>;\n    onSubmit?: DialogSubmitHandler<T>;\n    onClose?: DialogCloseHandler;\n    onCancel?: DialogCancelHandler<T>;\n    onTabChange?: DialogTabChangeHandler<T>;\n}\ninterface UrlDialogInstanceApi {\n    block: (msg: string) => void;\n    unblock: () => void;\n    close: () => void;\n    sendMessage: (msg: any) => void;\n}\ninterface UrlDialogActionDetails {\n    name: string;\n    value?: any;\n}\ninterface UrlDialogMessage {\n    mceAction: string;\n    [key: string]: any;\n}\ntype UrlDialogActionHandler = (api: UrlDialogInstanceApi, actions: UrlDialogActionDetails) => void;\ntype UrlDialogCloseHandler = () => void;\ntype UrlDialogCancelHandler = (api: UrlDialogInstanceApi) => void;\ntype UrlDialogMessageHandler = (api: UrlDialogInstanceApi, message: UrlDialogMessage) => void;\ninterface UrlDialogFooterButtonSpec extends DialogFooterNormalButtonSpec {\n    type: 'cancel' | 'custom';\n}\ninterface UrlDialogSpec {\n    title: string;\n    url: string;\n    height?: number;\n    width?: number;\n    buttons?: UrlDialogFooterButtonSpec[];\n    onAction?: UrlDialogActionHandler;\n    onClose?: UrlDialogCloseHandler;\n    onCancel?: UrlDialogCancelHandler;\n    onMessage?: UrlDialogMessageHandler;\n}\ntype ColumnTypes = number | 'auto';\ntype SeparatorItemSpec = SeparatorMenuItemSpec;\ninterface AutocompleterItemSpec {\n    type?: 'autocompleteitem';\n    value: string;\n    text?: string;\n    icon?: string;\n    meta?: Record<string, any>;\n}\ntype AutocompleterContents = SeparatorItemSpec | AutocompleterItemSpec | CardMenuItemSpec;\ninterface AutocompleterSpec {\n    type?: 'autocompleter';\n    trigger: string;\n    minChars?: number;\n    columns?: ColumnTypes;\n    matches?: (rng: Range, text: string, pattern: string) => boolean;\n    fetch: (pattern: string, maxResults: number, fetchOptions: Record<string, any>) => Promise<AutocompleterContents[]>;\n    onAction: (autocompleterApi: AutocompleterInstanceApi, rng: Range, value: string, meta: Record<string, any>) => void;\n    maxResults?: number;\n    highlightOn?: string[];\n}\ninterface AutocompleterInstanceApi {\n    hide: () => void;\n    reload: (fetchOptions: Record<string, any>) => void;\n}\ntype ContextPosition = 'node' | 'selection' | 'line';\ntype ContextScope = 'node' | 'editor';\ninterface ContextBarSpec {\n    predicate?: (elem: Element) => boolean;\n    position?: ContextPosition;\n    scope?: ContextScope;\n}\ninterface ContextFormLaunchButtonApi extends BaseToolbarButtonSpec<BaseToolbarButtonInstanceApi> {\n    type: 'contextformbutton';\n}\ninterface ContextFormLaunchToggleButtonSpec extends BaseToolbarToggleButtonSpec<BaseToolbarToggleButtonInstanceApi> {\n    type: 'contextformtogglebutton';\n}\ninterface ContextFormButtonInstanceApi extends BaseToolbarButtonInstanceApi {\n}\ninterface ContextFormToggleButtonInstanceApi extends BaseToolbarToggleButtonInstanceApi {\n}\ninterface ContextFormButtonSpec<T> extends BaseToolbarButtonSpec<ContextFormButtonInstanceApi> {\n    type?: 'contextformbutton';\n    primary?: boolean;\n    align?: 'start' | 'end';\n    onAction: (formApi: ContextFormInstanceApi<T>, api: ContextFormButtonInstanceApi) => void;\n}\ninterface ContextFormToggleButtonSpec<T> extends BaseToolbarToggleButtonSpec<ContextFormToggleButtonInstanceApi> {\n    type?: 'contextformtogglebutton';\n    primary?: boolean;\n    align?: 'start' | 'end';\n    onAction: (formApi: ContextFormInstanceApi<T>, buttonApi: ContextFormToggleButtonInstanceApi) => void;\n}\ninterface ContextFormInstanceApi<T> {\n    setInputEnabled: (state: boolean) => void;\n    isInputEnabled: () => boolean;\n    hide: () => void;\n    back: () => void;\n    getValue: () => T;\n    setValue: (value: T) => void;\n}\ninterface SizeData {\n    width: string;\n    height: string;\n}\ninterface BaseContextFormSpec<T> extends ContextBarSpec {\n    initValue?: () => T;\n    label?: string;\n    launch?: ContextFormLaunchButtonApi | ContextFormLaunchToggleButtonSpec;\n    commands: Array<ContextFormToggleButtonSpec<T> | ContextFormButtonSpec<T>>;\n    onInput?: (api: ContextFormInstanceApi<T>) => void;\n    onSetup?: (api: ContextFormInstanceApi<T>) => (api: ContextFormInstanceApi<T>) => void;\n}\ninterface ContextInputFormSpec extends BaseContextFormSpec<string> {\n    type?: 'contextform';\n    placeholder?: string;\n}\ninterface ContextSliderFormSpec extends BaseContextFormSpec<number> {\n    type: 'contextsliderform';\n    min?: () => number;\n    max?: () => number;\n}\ninterface ContextSizeInputFormSpec extends BaseContextFormSpec<SizeData> {\n    type: 'contextsizeinputform';\n}\ntype ContextFormSpec = ContextInputFormSpec | ContextSliderFormSpec | ContextSizeInputFormSpec;\ninterface ToolbarGroupSpec {\n    name?: string;\n    label?: string;\n    items: string[];\n}\ninterface ContextToolbarLaunchButtonApi extends BaseToolbarButtonSpec<BaseToolbarButtonInstanceApi> {\n    type?: 'contexttoolbarbutton';\n}\ninterface ContextToolbarSpec extends ContextBarSpec {\n    type?: 'contexttoolbar';\n    launch?: ContextToolbarLaunchButtonApi;\n    items: string | ToolbarGroupSpec[];\n}\ntype PublicDialog_d_AlertBannerSpec = AlertBannerSpec;\ntype PublicDialog_d_BarSpec = BarSpec;\ntype PublicDialog_d_BodyComponentSpec = BodyComponentSpec;\ntype PublicDialog_d_ButtonSpec = ButtonSpec;\ntype PublicDialog_d_CheckboxSpec = CheckboxSpec;\ntype PublicDialog_d_CollectionItem = CollectionItem;\ntype PublicDialog_d_CollectionSpec = CollectionSpec;\ntype PublicDialog_d_ColorInputSpec = ColorInputSpec;\ntype PublicDialog_d_ColorPickerSpec = ColorPickerSpec;\ntype PublicDialog_d_CustomEditorSpec = CustomEditorSpec;\ntype PublicDialog_d_CustomEditorInit = CustomEditorInit;\ntype PublicDialog_d_CustomEditorInitFn = CustomEditorInitFn;\ntype PublicDialog_d_DialogData = DialogData;\ntype PublicDialog_d_DialogSize = DialogSize;\ntype PublicDialog_d_DialogSpec<T extends DialogData> = DialogSpec<T>;\ntype PublicDialog_d_DialogInstanceApi<T extends DialogData> = DialogInstanceApi<T>;\ntype PublicDialog_d_DialogFooterButtonSpec = DialogFooterButtonSpec;\ntype PublicDialog_d_DialogActionDetails = DialogActionDetails;\ntype PublicDialog_d_DialogChangeDetails<T> = DialogChangeDetails<T>;\ntype PublicDialog_d_DialogTabChangeDetails = DialogTabChangeDetails;\ntype PublicDialog_d_DropZoneSpec = DropZoneSpec;\ntype PublicDialog_d_GridSpec = GridSpec;\ntype PublicDialog_d_HtmlPanelSpec = HtmlPanelSpec;\ntype PublicDialog_d_IframeSpec = IframeSpec;\ntype PublicDialog_d_ImagePreviewSpec = ImagePreviewSpec;\ntype PublicDialog_d_InputSpec = InputSpec;\ntype PublicDialog_d_LabelSpec = LabelSpec;\ntype PublicDialog_d_ListBoxSpec = ListBoxSpec;\ntype PublicDialog_d_ListBoxItemSpec = ListBoxItemSpec;\ntype PublicDialog_d_ListBoxNestedItemSpec = ListBoxNestedItemSpec;\ntype PublicDialog_d_ListBoxSingleItemSpec = ListBoxSingleItemSpec;\ntype PublicDialog_d_PanelSpec = PanelSpec;\ntype PublicDialog_d_SelectBoxSpec = SelectBoxSpec;\ntype PublicDialog_d_SelectBoxItemSpec = SelectBoxItemSpec;\ntype PublicDialog_d_SizeInputSpec = SizeInputSpec;\ntype PublicDialog_d_SliderSpec = SliderSpec;\ntype PublicDialog_d_TableSpec = TableSpec;\ntype PublicDialog_d_TabSpec = TabSpec;\ntype PublicDialog_d_TabPanelSpec = TabPanelSpec;\ntype PublicDialog_d_TextAreaSpec = TextAreaSpec;\ntype PublicDialog_d_TreeSpec = TreeSpec;\ntype PublicDialog_d_TreeItemSpec = TreeItemSpec;\ntype PublicDialog_d_UrlInputData = UrlInputData;\ntype PublicDialog_d_UrlInputSpec = UrlInputSpec;\ntype PublicDialog_d_UrlDialogSpec = UrlDialogSpec;\ntype PublicDialog_d_UrlDialogFooterButtonSpec = UrlDialogFooterButtonSpec;\ntype PublicDialog_d_UrlDialogInstanceApi = UrlDialogInstanceApi;\ntype PublicDialog_d_UrlDialogActionDetails = UrlDialogActionDetails;\ntype PublicDialog_d_UrlDialogMessage = UrlDialogMessage;\ndeclare namespace PublicDialog_d {\n    export { PublicDialog_d_AlertBannerSpec as AlertBannerSpec, PublicDialog_d_BarSpec as BarSpec, PublicDialog_d_BodyComponentSpec as BodyComponentSpec, PublicDialog_d_ButtonSpec as ButtonSpec, PublicDialog_d_CheckboxSpec as CheckboxSpec, PublicDialog_d_CollectionItem as CollectionItem, PublicDialog_d_CollectionSpec as CollectionSpec, PublicDialog_d_ColorInputSpec as ColorInputSpec, PublicDialog_d_ColorPickerSpec as ColorPickerSpec, PublicDialog_d_CustomEditorSpec as CustomEditorSpec, PublicDialog_d_CustomEditorInit as CustomEditorInit, PublicDialog_d_CustomEditorInitFn as CustomEditorInitFn, PublicDialog_d_DialogData as DialogData, PublicDialog_d_DialogSize as DialogSize, PublicDialog_d_DialogSpec as DialogSpec, PublicDialog_d_DialogInstanceApi as DialogInstanceApi, PublicDialog_d_DialogFooterButtonSpec as DialogFooterButtonSpec, PublicDialog_d_DialogActionDetails as DialogActionDetails, PublicDialog_d_DialogChangeDetails as DialogChangeDetails, PublicDialog_d_DialogTabChangeDetails as DialogTabChangeDetails, PublicDialog_d_DropZoneSpec as DropZoneSpec, PublicDialog_d_GridSpec as GridSpec, PublicDialog_d_HtmlPanelSpec as HtmlPanelSpec, PublicDialog_d_IframeSpec as IframeSpec, PublicDialog_d_ImagePreviewSpec as ImagePreviewSpec, PublicDialog_d_InputSpec as InputSpec, PublicDialog_d_LabelSpec as LabelSpec, PublicDialog_d_ListBoxSpec as ListBoxSpec, PublicDialog_d_ListBoxItemSpec as ListBoxItemSpec, PublicDialog_d_ListBoxNestedItemSpec as ListBoxNestedItemSpec, PublicDialog_d_ListBoxSingleItemSpec as ListBoxSingleItemSpec, PublicDialog_d_PanelSpec as PanelSpec, PublicDialog_d_SelectBoxSpec as SelectBoxSpec, PublicDialog_d_SelectBoxItemSpec as SelectBoxItemSpec, PublicDialog_d_SizeInputSpec as SizeInputSpec, PublicDialog_d_SliderSpec as SliderSpec, PublicDialog_d_TableSpec as TableSpec, PublicDialog_d_TabSpec as TabSpec, PublicDialog_d_TabPanelSpec as TabPanelSpec, PublicDialog_d_TextAreaSpec as TextAreaSpec, PublicDialog_d_TreeSpec as TreeSpec, PublicDialog_d_TreeItemSpec as TreeItemSpec, DirectorySpec as TreeDirectorySpec, LeafSpec as TreeLeafSpec, PublicDialog_d_UrlInputData as UrlInputData, PublicDialog_d_UrlInputSpec as UrlInputSpec, PublicDialog_d_UrlDialogSpec as UrlDialogSpec, PublicDialog_d_UrlDialogFooterButtonSpec as UrlDialogFooterButtonSpec, PublicDialog_d_UrlDialogInstanceApi as UrlDialogInstanceApi, PublicDialog_d_UrlDialogActionDetails as UrlDialogActionDetails, PublicDialog_d_UrlDialogMessage as UrlDialogMessage, };\n}\ntype PublicInlineContent_d_AutocompleterSpec = AutocompleterSpec;\ntype PublicInlineContent_d_AutocompleterItemSpec = AutocompleterItemSpec;\ntype PublicInlineContent_d_AutocompleterContents = AutocompleterContents;\ntype PublicInlineContent_d_AutocompleterInstanceApi = AutocompleterInstanceApi;\ntype PublicInlineContent_d_ContextPosition = ContextPosition;\ntype PublicInlineContent_d_ContextScope = ContextScope;\ntype PublicInlineContent_d_ContextFormSpec = ContextFormSpec;\ntype PublicInlineContent_d_ContextFormInstanceApi<T> = ContextFormInstanceApi<T>;\ntype PublicInlineContent_d_ContextFormButtonSpec<T> = ContextFormButtonSpec<T>;\ntype PublicInlineContent_d_ContextFormButtonInstanceApi = ContextFormButtonInstanceApi;\ntype PublicInlineContent_d_ContextFormToggleButtonSpec<T> = ContextFormToggleButtonSpec<T>;\ntype PublicInlineContent_d_ContextFormToggleButtonInstanceApi = ContextFormToggleButtonInstanceApi;\ntype PublicInlineContent_d_ContextToolbarSpec = ContextToolbarSpec;\ntype PublicInlineContent_d_SeparatorItemSpec = SeparatorItemSpec;\ndeclare namespace PublicInlineContent_d {\n    export { PublicInlineContent_d_AutocompleterSpec as AutocompleterSpec, PublicInlineContent_d_AutocompleterItemSpec as AutocompleterItemSpec, PublicInlineContent_d_AutocompleterContents as AutocompleterContents, PublicInlineContent_d_AutocompleterInstanceApi as AutocompleterInstanceApi, PublicInlineContent_d_ContextPosition as ContextPosition, PublicInlineContent_d_ContextScope as ContextScope, PublicInlineContent_d_ContextFormSpec as ContextFormSpec, PublicInlineContent_d_ContextFormInstanceApi as ContextFormInstanceApi, PublicInlineContent_d_ContextFormButtonSpec as ContextFormButtonSpec, PublicInlineContent_d_ContextFormButtonInstanceApi as ContextFormButtonInstanceApi, PublicInlineContent_d_ContextFormToggleButtonSpec as ContextFormToggleButtonSpec, PublicInlineContent_d_ContextFormToggleButtonInstanceApi as ContextFormToggleButtonInstanceApi, PublicInlineContent_d_ContextToolbarSpec as ContextToolbarSpec, PublicInlineContent_d_SeparatorItemSpec as SeparatorItemSpec, };\n}\ntype PublicMenu_d_MenuItemSpec = MenuItemSpec;\ntype PublicMenu_d_MenuItemInstanceApi = MenuItemInstanceApi;\ntype PublicMenu_d_NestedMenuItemContents = NestedMenuItemContents;\ntype PublicMenu_d_NestedMenuItemSpec = NestedMenuItemSpec;\ntype PublicMenu_d_NestedMenuItemInstanceApi = NestedMenuItemInstanceApi;\ntype PublicMenu_d_FancyMenuItemSpec = FancyMenuItemSpec;\ntype PublicMenu_d_ColorSwatchMenuItemSpec = ColorSwatchMenuItemSpec;\ntype PublicMenu_d_InsertTableMenuItemSpec = InsertTableMenuItemSpec;\ntype PublicMenu_d_ToggleMenuItemSpec = ToggleMenuItemSpec;\ntype PublicMenu_d_ToggleMenuItemInstanceApi = ToggleMenuItemInstanceApi;\ntype PublicMenu_d_ChoiceMenuItemSpec = ChoiceMenuItemSpec;\ntype PublicMenu_d_ChoiceMenuItemInstanceApi = ChoiceMenuItemInstanceApi;\ntype PublicMenu_d_SeparatorMenuItemSpec = SeparatorMenuItemSpec;\ntype PublicMenu_d_ContextMenuApi = ContextMenuApi;\ntype PublicMenu_d_ContextMenuContents = ContextMenuContents;\ntype PublicMenu_d_ContextMenuItem = ContextMenuItem;\ntype PublicMenu_d_ContextSubMenu = ContextSubMenu;\ntype PublicMenu_d_CardMenuItemSpec = CardMenuItemSpec;\ntype PublicMenu_d_CardMenuItemInstanceApi = CardMenuItemInstanceApi;\ntype PublicMenu_d_CardItemSpec = CardItemSpec;\ntype PublicMenu_d_CardContainerSpec = CardContainerSpec;\ntype PublicMenu_d_CardImageSpec = CardImageSpec;\ntype PublicMenu_d_CardTextSpec = CardTextSpec;\ndeclare namespace PublicMenu_d {\n    export { PublicMenu_d_MenuItemSpec as MenuItemSpec, PublicMenu_d_MenuItemInstanceApi as MenuItemInstanceApi, PublicMenu_d_NestedMenuItemContents as NestedMenuItemContents, PublicMenu_d_NestedMenuItemSpec as NestedMenuItemSpec, PublicMenu_d_NestedMenuItemInstanceApi as NestedMenuItemInstanceApi, PublicMenu_d_FancyMenuItemSpec as FancyMenuItemSpec, PublicMenu_d_ColorSwatchMenuItemSpec as ColorSwatchMenuItemSpec, PublicMenu_d_InsertTableMenuItemSpec as InsertTableMenuItemSpec, PublicMenu_d_ToggleMenuItemSpec as ToggleMenuItemSpec, PublicMenu_d_ToggleMenuItemInstanceApi as ToggleMenuItemInstanceApi, PublicMenu_d_ChoiceMenuItemSpec as ChoiceMenuItemSpec, PublicMenu_d_ChoiceMenuItemInstanceApi as ChoiceMenuItemInstanceApi, PublicMenu_d_SeparatorMenuItemSpec as SeparatorMenuItemSpec, PublicMenu_d_ContextMenuApi as ContextMenuApi, PublicMenu_d_ContextMenuContents as ContextMenuContents, PublicMenu_d_ContextMenuItem as ContextMenuItem, PublicMenu_d_ContextSubMenu as ContextSubMenu, PublicMenu_d_CardMenuItemSpec as CardMenuItemSpec, PublicMenu_d_CardMenuItemInstanceApi as CardMenuItemInstanceApi, PublicMenu_d_CardItemSpec as CardItemSpec, PublicMenu_d_CardContainerSpec as CardContainerSpec, PublicMenu_d_CardImageSpec as CardImageSpec, PublicMenu_d_CardTextSpec as CardTextSpec, };\n}\ninterface SidebarInstanceApi {\n    element: () => HTMLElement;\n}\ninterface SidebarSpec {\n    icon?: string;\n    tooltip?: string;\n    onShow?: (api: SidebarInstanceApi) => void;\n    onSetup?: (api: SidebarInstanceApi) => (api: SidebarInstanceApi) => void;\n    onHide?: (api: SidebarInstanceApi) => void;\n}\ntype PublicSidebar_d_SidebarSpec = SidebarSpec;\ntype PublicSidebar_d_SidebarInstanceApi = SidebarInstanceApi;\ndeclare namespace PublicSidebar_d {\n    export { PublicSidebar_d_SidebarSpec as SidebarSpec, PublicSidebar_d_SidebarInstanceApi as SidebarInstanceApi, };\n}\ntype PublicToolbar_d_ToolbarButtonSpec = ToolbarButtonSpec;\ntype PublicToolbar_d_ToolbarButtonInstanceApi = ToolbarButtonInstanceApi;\ntype PublicToolbar_d_ToolbarSplitButtonSpec = ToolbarSplitButtonSpec;\ntype PublicToolbar_d_ToolbarSplitButtonInstanceApi = ToolbarSplitButtonInstanceApi;\ntype PublicToolbar_d_ToolbarMenuButtonSpec = ToolbarMenuButtonSpec;\ntype PublicToolbar_d_ToolbarMenuButtonInstanceApi = ToolbarMenuButtonInstanceApi;\ntype PublicToolbar_d_ToolbarToggleButtonSpec = ToolbarToggleButtonSpec;\ntype PublicToolbar_d_ToolbarToggleButtonInstanceApi = ToolbarToggleButtonInstanceApi;\ntype PublicToolbar_d_GroupToolbarButtonSpec = GroupToolbarButtonSpec;\ntype PublicToolbar_d_GroupToolbarButtonInstanceApi = GroupToolbarButtonInstanceApi;\ndeclare namespace PublicToolbar_d {\n    export { PublicToolbar_d_ToolbarButtonSpec as ToolbarButtonSpec, PublicToolbar_d_ToolbarButtonInstanceApi as ToolbarButtonInstanceApi, PublicToolbar_d_ToolbarSplitButtonSpec as ToolbarSplitButtonSpec, PublicToolbar_d_ToolbarSplitButtonInstanceApi as ToolbarSplitButtonInstanceApi, PublicToolbar_d_ToolbarMenuButtonSpec as ToolbarMenuButtonSpec, PublicToolbar_d_ToolbarMenuButtonInstanceApi as ToolbarMenuButtonInstanceApi, PublicToolbar_d_ToolbarToggleButtonSpec as ToolbarToggleButtonSpec, PublicToolbar_d_ToolbarToggleButtonInstanceApi as ToolbarToggleButtonInstanceApi, PublicToolbar_d_GroupToolbarButtonSpec as GroupToolbarButtonSpec, PublicToolbar_d_GroupToolbarButtonInstanceApi as GroupToolbarButtonInstanceApi, };\n}\ninterface ViewButtonApi {\n    setIcon: (newIcon: string) => void;\n}\ninterface ViewToggleButtonApi extends ViewButtonApi {\n    isActive: () => boolean;\n    setActive: (state: boolean) => void;\n    focus: () => void;\n}\ninterface BaseButtonSpec<Api extends ViewButtonApi> {\n    text?: string;\n    icon?: string;\n    tooltip?: string;\n    buttonType?: 'primary' | 'secondary';\n    borderless?: boolean;\n    onAction: (api: Api) => void;\n    context?: string;\n}\ninterface ViewNormalButtonSpec extends BaseButtonSpec<ViewButtonApi> {\n    text: string;\n    type: 'button';\n}\ninterface ViewToggleButtonSpec extends BaseButtonSpec<ViewToggleButtonApi> {\n    type: 'togglebutton';\n    active?: boolean;\n    onAction: (api: ViewToggleButtonApi) => void;\n}\ninterface ViewButtonsGroupSpec {\n    type: 'group';\n    buttons: Array<ViewNormalButtonSpec | ViewToggleButtonSpec>;\n}\ntype ViewButtonSpec = ViewNormalButtonSpec | ViewToggleButtonSpec | ViewButtonsGroupSpec;\ninterface ViewInstanceApi {\n    getContainer: () => HTMLElement;\n}\ninterface ViewSpec {\n    buttons?: ViewButtonSpec[];\n    onShow: (api: ViewInstanceApi) => void;\n    onHide: (api: ViewInstanceApi) => void;\n}\ntype PublicView_d_ViewSpec = ViewSpec;\ntype PublicView_d_ViewInstanceApi = ViewInstanceApi;\ndeclare namespace PublicView_d {\n    export { PublicView_d_ViewSpec as ViewSpec, PublicView_d_ViewInstanceApi as ViewInstanceApi, };\n}\ninterface Registry$1 {\n    addButton: (name: string, spec: ToolbarButtonSpec) => void;\n    addGroupToolbarButton: (name: string, spec: GroupToolbarButtonSpec) => void;\n    addToggleButton: (name: string, spec: ToolbarToggleButtonSpec) => void;\n    addMenuButton: (name: string, spec: ToolbarMenuButtonSpec) => void;\n    addSplitButton: (name: string, spec: ToolbarSplitButtonSpec) => void;\n    addMenuItem: (name: string, spec: MenuItemSpec) => void;\n    addNestedMenuItem: (name: string, spec: NestedMenuItemSpec) => void;\n    addToggleMenuItem: (name: string, spec: ToggleMenuItemSpec) => void;\n    addContextMenu: (name: string, spec: ContextMenuApi) => void;\n    addContextToolbar: (name: string, spec: ContextToolbarSpec) => void;\n    addContextForm: (name: string, spec: ContextFormSpec) => void;\n    addIcon: (name: string, svgData: string) => void;\n    addAutocompleter: (name: string, spec: AutocompleterSpec) => void;\n    addSidebar: (name: string, spec: SidebarSpec) => void;\n    addView: (name: string, spec: ViewSpec) => void;\n    addContext: (name: string, pred: (args: string) => boolean) => void;\n    getAll: () => {\n        buttons: Record<string, ToolbarButtonSpec | GroupToolbarButtonSpec | ToolbarMenuButtonSpec | ToolbarSplitButtonSpec | ToolbarToggleButtonSpec>;\n        menuItems: Record<string, MenuItemSpec | NestedMenuItemSpec | ToggleMenuItemSpec>;\n        popups: Record<string, AutocompleterSpec>;\n        contextMenus: Record<string, ContextMenuApi>;\n        contextToolbars: Record<string, ContextToolbarSpec | ContextFormSpec>;\n        icons: Record<string, string>;\n        sidebars: Record<string, SidebarSpec>;\n        views: Record<string, ViewSpec>;\n        contexts: Record<string, (args: string) => boolean>;\n    };\n}\ninterface AutocompleteLookupData {\n    readonly matchText: string;\n    readonly items: AutocompleterContents[];\n    readonly columns: ColumnTypes;\n    readonly onAction: (autoApi: AutocompleterInstanceApi, rng: Range, value: string, meta: Record<string, any>) => void;\n    readonly highlightOn: string[];\n}\ninterface AutocompleterEventArgs {\n    readonly lookupData: AutocompleteLookupData[];\n}\ninterface RangeLikeObject {\n    startContainer: Node;\n    startOffset: number;\n    endContainer: Node;\n    endOffset: number;\n}\ntype ApplyFormat = BlockFormat | InlineFormat | SelectorFormat;\ntype RemoveFormat = RemoveBlockFormat | RemoveInlineFormat | RemoveSelectorFormat;\ntype Format = ApplyFormat | RemoveFormat;\ntype Formats = Record<string, Format | Format[]>;\ntype FormatAttrOrStyleValue = string | ((vars?: FormatVars) => string | null);\ntype FormatVars = Record<string, string | null>;\ninterface BaseFormat<T> {\n    ceFalseOverride?: boolean;\n    classes?: string | string[];\n    collapsed?: boolean;\n    exact?: boolean;\n    expand?: boolean;\n    links?: boolean;\n    mixed?: boolean;\n    block_expand?: boolean;\n    onmatch?: (node: Element, fmt: T, itemName: string) => boolean;\n    remove?: 'none' | 'empty' | 'all';\n    remove_similar?: boolean;\n    split?: boolean;\n    deep?: boolean;\n    preserve_attributes?: string[];\n}\ninterface Block {\n    block: string;\n    list_block?: string;\n    wrapper?: boolean;\n}\ninterface Inline {\n    inline: string;\n}\ninterface Selector {\n    selector: string;\n    inherit?: boolean;\n}\ninterface CommonFormat<T> extends BaseFormat<T> {\n    attributes?: Record<string, FormatAttrOrStyleValue>;\n    styles?: Record<string, FormatAttrOrStyleValue>;\n    toggle?: boolean;\n    preview?: string | false;\n    onformat?: (elm: Element, fmt: T, vars?: FormatVars, node?: Node | RangeLikeObject | null) => void;\n    clear_child_styles?: boolean;\n    merge_siblings?: boolean;\n    merge_with_parents?: boolean;\n}\ninterface BlockFormat extends Block, CommonFormat<BlockFormat> {\n}\ninterface InlineFormat extends Inline, CommonFormat<InlineFormat> {\n}\ninterface SelectorFormat extends Selector, CommonFormat<SelectorFormat> {\n}\ninterface CommonRemoveFormat<T> extends BaseFormat<T> {\n    attributes?: string[] | Record<string, FormatAttrOrStyleValue>;\n    styles?: string[] | Record<string, FormatAttrOrStyleValue>;\n}\ninterface RemoveBlockFormat extends Block, CommonRemoveFormat<RemoveBlockFormat> {\n}\ninterface RemoveInlineFormat extends Inline, CommonRemoveFormat<RemoveInlineFormat> {\n}\ninterface RemoveSelectorFormat extends Selector, CommonRemoveFormat<RemoveSelectorFormat> {\n}\ntype UndoLevelType = 'fragmented' | 'complete';\ninterface BaseUndoLevel {\n    type: UndoLevelType;\n    bookmark: Bookmark | null;\n    beforeBookmark: Bookmark | null;\n}\ninterface FragmentedUndoLevel extends BaseUndoLevel {\n    type: 'fragmented';\n    fragments: string[];\n    content: '';\n}\ninterface CompleteUndoLevel extends BaseUndoLevel {\n    type: 'complete';\n    fragments: null;\n    content: string;\n}\ntype NewUndoLevel = CompleteUndoLevel | FragmentedUndoLevel;\ntype UndoLevel = NewUndoLevel & {\n    bookmark: Bookmark;\n};\ninterface UndoManager {\n    data: UndoLevel[];\n    typing: boolean;\n    add: (level?: Partial<UndoLevel>, event?: EditorEvent<unknown>) => UndoLevel | null;\n    dispatchChange: () => void;\n    beforeChange: () => void;\n    undo: () => UndoLevel | undefined;\n    redo: () => UndoLevel | undefined;\n    clear: () => void;\n    reset: () => void;\n    hasUndo: () => boolean;\n    hasRedo: () => boolean;\n    transact: (callback: () => void) => UndoLevel | null;\n    ignore: (callback: () => void) => void;\n    extra: (callback1: () => void, callback2: () => void) => void;\n}\ninterface Filter<C extends Function> {\n    name: string;\n    callbacks: C[];\n}\ninterface ParserArgs {\n    getInner?: boolean | number;\n    forced_root_block?: boolean | string;\n    context?: string;\n    isRootContent?: boolean;\n    format?: string;\n    invalid?: boolean;\n    no_events?: boolean;\n    [key: string]: any;\n}\ntype ParserFilterCallback = (nodes: AstNode[], name: string, args: ParserArgs) => void;\ninterface ParserFilter extends Filter<ParserFilterCallback> {\n}\ninterface DomParserSettings {\n    allow_html_data_urls?: boolean;\n    allow_svg_data_urls?: boolean;\n    allow_conditional_comments?: boolean;\n    allow_html_in_comments?: boolean;\n    allow_html_in_named_anchor?: boolean;\n    allow_script_urls?: boolean;\n    allow_unsafe_link_target?: boolean;\n    allow_mathml_annotation_encodings?: string[];\n    blob_cache?: BlobCache;\n    convert_fonts_to_spans?: boolean;\n    convert_unsafe_embeds?: boolean;\n    document?: Document;\n    extended_mathml_elements?: string[];\n    extended_mathml_attributes?: string[];\n    fix_list_elements?: boolean;\n    font_size_legacy_values?: string;\n    forced_root_block?: boolean | string;\n    forced_root_block_attrs?: Record<string, string>;\n    inline_styles?: boolean;\n    pad_empty_with_br?: boolean;\n    preserve_cdata?: boolean;\n    root_name?: string;\n    sandbox_iframes?: boolean;\n    sandbox_iframes_exclusions?: string[];\n    sanitize?: boolean;\n    validate?: boolean;\n}\ninterface DomParser {\n    schema: Schema;\n    addAttributeFilter: (name: string, callback: ParserFilterCallback) => void;\n    getAttributeFilters: () => ParserFilter[];\n    removeAttributeFilter: (name: string, callback?: ParserFilterCallback) => void;\n    addNodeFilter: (name: string, callback: ParserFilterCallback) => void;\n    getNodeFilters: () => ParserFilter[];\n    removeNodeFilter: (name: string, callback?: ParserFilterCallback) => void;\n    parse: (html: string, args?: ParserArgs) => AstNode;\n}\ntype Registry = Registry$1;\ninterface EditorUiApi {\n    show: () => void;\n    hide: () => void;\n    setEnabled: (state: boolean) => void;\n    isEnabled: () => boolean;\n}\ninterface EditorUi extends EditorUiApi {\n    registry: Registry;\n    styleSheetLoader: StyleSheetLoader;\n}\ntype Ui_d_Registry = Registry;\ntype Ui_d_EditorUiApi = EditorUiApi;\ntype Ui_d_EditorUi = EditorUi;\ndeclare namespace Ui_d {\n    export { Ui_d_Registry as Registry, PublicDialog_d as Dialog, PublicInlineContent_d as InlineContent, PublicMenu_d as Menu, PublicView_d as View, PublicSidebar_d as Sidebar, PublicToolbar_d as Toolbar, Ui_d_EditorUiApi as EditorUiApi, Ui_d_EditorUi as EditorUi, };\n}\ninterface WindowParams {\n    readonly inline?: 'cursor' | 'toolbar' | 'bottom';\n    readonly ariaAttrs?: boolean;\n    readonly persistent?: boolean;\n}\ntype InstanceApi<T extends DialogData> = UrlDialogInstanceApi | DialogInstanceApi<T>;\ninterface WindowManagerImpl {\n    open: <T extends DialogData>(config: DialogSpec<T>, params: WindowParams | undefined, closeWindow: (dialog: DialogInstanceApi<T>) => void) => DialogInstanceApi<T>;\n    openUrl: (config: UrlDialogSpec, closeWindow: (dialog: UrlDialogInstanceApi) => void) => UrlDialogInstanceApi;\n    alert: (message: string, callback: () => void) => void;\n    confirm: (message: string, callback: (state: boolean) => void) => void;\n    close: (dialog: InstanceApi<any>) => void;\n}\ninterface WindowManager {\n    open: <T extends DialogData>(config: DialogSpec<T>, params?: WindowParams) => DialogInstanceApi<T>;\n    openUrl: (config: UrlDialogSpec) => UrlDialogInstanceApi;\n    alert: (message: string, callback?: () => void, scope?: any) => void;\n    confirm: (message: string, callback?: (state: boolean) => void, scope?: any) => void;\n    close: () => void;\n}\ninterface ExecCommandEvent {\n    command: string;\n    ui: boolean;\n    value?: any;\n}\ninterface BeforeGetContentEvent extends GetContentArgs {\n    selection?: boolean;\n}\ninterface GetContentEvent extends BeforeGetContentEvent {\n    content: string;\n}\ninterface BeforeSetContentEvent extends SetContentArgs {\n    content: string;\n    selection?: boolean;\n}\ninterface SetContentEvent extends BeforeSetContentEvent {\n    content: string;\n}\ninterface SaveContentEvent extends GetContentEvent {\n    save: boolean;\n}\ninterface NewBlockEvent {\n    newBlock: Element;\n}\ninterface NodeChangeEvent {\n    element: Element;\n    parents: Node[];\n    selectionChange?: boolean;\n    initial?: boolean;\n}\ninterface FormatEvent {\n    format: string;\n    vars?: FormatVars;\n    node?: Node | RangeLikeObject | null;\n}\ninterface ObjectResizeEvent {\n    target: HTMLElement;\n    width: number;\n    height: number;\n    origin: string;\n}\ninterface ObjectSelectedEvent {\n    target: Node;\n    targetClone?: Node;\n}\ninterface ScrollIntoViewEvent {\n    elm: HTMLElement;\n    alignToTop: boolean | undefined;\n}\ninterface SetSelectionRangeEvent {\n    range: Range;\n    forward: boolean | undefined;\n}\ninterface ShowCaretEvent {\n    target: Node;\n    direction: number;\n    before: boolean;\n}\ninterface SwitchModeEvent {\n    mode: string;\n}\ninterface ChangeEvent {\n    level: UndoLevel;\n    lastLevel: UndoLevel | undefined;\n}\ninterface AddUndoEvent extends ChangeEvent {\n    originalEvent: EditorEvent<unknown> | undefined;\n}\ninterface UndoRedoEvent {\n    level: UndoLevel;\n}\ninterface WindowEvent<T extends DialogData> {\n    dialog: InstanceApi<T>;\n}\ninterface ProgressStateEvent {\n    state: boolean;\n    time?: number;\n}\ninterface AfterProgressStateEvent {\n    state: boolean;\n}\ninterface PlaceholderToggleEvent {\n    state: boolean;\n}\ninterface LoadErrorEvent {\n    message: string;\n}\ninterface PreProcessEvent extends ParserArgs {\n    node: Element;\n}\ninterface PostProcessEvent extends ParserArgs {\n    content: string;\n}\ninterface PastePlainTextToggleEvent {\n    state: boolean;\n}\ninterface PastePreProcessEvent {\n    content: string;\n    readonly internal: boolean;\n}\ninterface PastePostProcessEvent {\n    node: HTMLElement;\n    readonly internal: boolean;\n}\ninterface EditableRootStateChangeEvent {\n    state: boolean;\n}\ninterface NewTableRowEvent {\n    node: HTMLTableRowElement;\n}\ninterface NewTableCellEvent {\n    node: HTMLTableCellElement;\n}\ninterface TableEventData {\n    readonly structure: boolean;\n    readonly style: boolean;\n}\ninterface TableModifiedEvent extends TableEventData {\n    readonly table: HTMLTableElement;\n}\ninterface BeforeOpenNotificationEvent {\n    notification: NotificationSpec;\n}\ninterface OpenNotificationEvent {\n    notification: NotificationApi;\n}\ninterface DisabledStateChangeEvent {\n    readonly state: boolean;\n}\ninterface EditorEventMap extends Omit<NativeEventMap, 'blur' | 'focus'> {\n    activate: {\n        relatedTarget: Editor | null;\n    };\n    deactivate: {\n        relatedTarget: Editor;\n    };\n    focus: {\n        blurredEditor: Editor | null;\n    };\n    blur: {\n        focusedEditor: Editor | null;\n    };\n    resize: UIEvent;\n    scroll: UIEvent;\n    input: InputEvent;\n    beforeinput: InputEvent;\n    detach: {};\n    remove: {};\n    init: {};\n    ScrollIntoView: ScrollIntoViewEvent;\n    AfterScrollIntoView: ScrollIntoViewEvent;\n    ObjectResized: ObjectResizeEvent;\n    ObjectResizeStart: ObjectResizeEvent;\n    SwitchMode: SwitchModeEvent;\n    ScrollWindow: Event;\n    ResizeWindow: UIEvent;\n    SkinLoaded: {};\n    SkinLoadError: LoadErrorEvent;\n    PluginLoadError: LoadErrorEvent;\n    ModelLoadError: LoadErrorEvent;\n    IconsLoadError: LoadErrorEvent;\n    ThemeLoadError: LoadErrorEvent;\n    LanguageLoadError: LoadErrorEvent;\n    BeforeExecCommand: ExecCommandEvent;\n    ExecCommand: ExecCommandEvent;\n    NodeChange: NodeChangeEvent;\n    FormatApply: FormatEvent;\n    FormatRemove: FormatEvent;\n    ShowCaret: ShowCaretEvent;\n    SelectionChange: {};\n    ObjectSelected: ObjectSelectedEvent;\n    BeforeObjectSelected: ObjectSelectedEvent;\n    GetSelectionRange: {\n        range: Range;\n    };\n    SetSelectionRange: SetSelectionRangeEvent;\n    AfterSetSelectionRange: SetSelectionRangeEvent;\n    BeforeGetContent: BeforeGetContentEvent;\n    GetContent: GetContentEvent;\n    BeforeSetContent: BeforeSetContentEvent;\n    SetContent: SetContentEvent;\n    SaveContent: SaveContentEvent;\n    RawSaveContent: SaveContentEvent;\n    LoadContent: {\n        load: boolean;\n        element: HTMLElement;\n    };\n    PreviewFormats: {};\n    AfterPreviewFormats: {};\n    ScriptsLoaded: {};\n    PreInit: {};\n    PostRender: {};\n    NewBlock: NewBlockEvent;\n    ClearUndos: {};\n    TypingUndo: {};\n    Redo: UndoRedoEvent;\n    Undo: UndoRedoEvent;\n    BeforeAddUndo: AddUndoEvent;\n    AddUndo: AddUndoEvent;\n    change: ChangeEvent;\n    CloseWindow: WindowEvent<any>;\n    OpenWindow: WindowEvent<any>;\n    ProgressState: ProgressStateEvent;\n    AfterProgressState: AfterProgressStateEvent;\n    PlaceholderToggle: PlaceholderToggleEvent;\n    tap: TouchEvent;\n    longpress: TouchEvent;\n    longpresscancel: {};\n    PreProcess: PreProcessEvent;\n    PostProcess: PostProcessEvent;\n    AutocompleterStart: AutocompleterEventArgs;\n    AutocompleterUpdate: AutocompleterEventArgs;\n    AutocompleterEnd: {};\n    PastePlainTextToggle: PastePlainTextToggleEvent;\n    PastePreProcess: PastePreProcessEvent;\n    PastePostProcess: PastePostProcessEvent;\n    TableModified: TableModifiedEvent;\n    NewRow: NewTableRowEvent;\n    NewCell: NewTableCellEvent;\n    SetAttrib: SetAttribEvent;\n    hide: {};\n    show: {};\n    dirty: {};\n    BeforeOpenNotification: BeforeOpenNotificationEvent;\n    OpenNotification: OpenNotificationEvent;\n}\ninterface EditorManagerEventMap {\n    AddEditor: {\n        editor: Editor;\n    };\n    RemoveEditor: {\n        editor: Editor;\n    };\n    BeforeUnload: {\n        returnValue: any;\n    };\n}\ntype EventTypes_d_ExecCommandEvent = ExecCommandEvent;\ntype EventTypes_d_BeforeGetContentEvent = BeforeGetContentEvent;\ntype EventTypes_d_GetContentEvent = GetContentEvent;\ntype EventTypes_d_BeforeSetContentEvent = BeforeSetContentEvent;\ntype EventTypes_d_SetContentEvent = SetContentEvent;\ntype EventTypes_d_SaveContentEvent = SaveContentEvent;\ntype EventTypes_d_NewBlockEvent = NewBlockEvent;\ntype EventTypes_d_NodeChangeEvent = NodeChangeEvent;\ntype EventTypes_d_FormatEvent = FormatEvent;\ntype EventTypes_d_ObjectResizeEvent = ObjectResizeEvent;\ntype EventTypes_d_ObjectSelectedEvent = ObjectSelectedEvent;\ntype EventTypes_d_ScrollIntoViewEvent = ScrollIntoViewEvent;\ntype EventTypes_d_SetSelectionRangeEvent = SetSelectionRangeEvent;\ntype EventTypes_d_ShowCaretEvent = ShowCaretEvent;\ntype EventTypes_d_SwitchModeEvent = SwitchModeEvent;\ntype EventTypes_d_ChangeEvent = ChangeEvent;\ntype EventTypes_d_AddUndoEvent = AddUndoEvent;\ntype EventTypes_d_UndoRedoEvent = UndoRedoEvent;\ntype EventTypes_d_WindowEvent<T extends DialogData> = WindowEvent<T>;\ntype EventTypes_d_ProgressStateEvent = ProgressStateEvent;\ntype EventTypes_d_AfterProgressStateEvent = AfterProgressStateEvent;\ntype EventTypes_d_PlaceholderToggleEvent = PlaceholderToggleEvent;\ntype EventTypes_d_LoadErrorEvent = LoadErrorEvent;\ntype EventTypes_d_PreProcessEvent = PreProcessEvent;\ntype EventTypes_d_PostProcessEvent = PostProcessEvent;\ntype EventTypes_d_PastePlainTextToggleEvent = PastePlainTextToggleEvent;\ntype EventTypes_d_PastePreProcessEvent = PastePreProcessEvent;\ntype EventTypes_d_PastePostProcessEvent = PastePostProcessEvent;\ntype EventTypes_d_EditableRootStateChangeEvent = EditableRootStateChangeEvent;\ntype EventTypes_d_NewTableRowEvent = NewTableRowEvent;\ntype EventTypes_d_NewTableCellEvent = NewTableCellEvent;\ntype EventTypes_d_TableEventData = TableEventData;\ntype EventTypes_d_TableModifiedEvent = TableModifiedEvent;\ntype EventTypes_d_BeforeOpenNotificationEvent = BeforeOpenNotificationEvent;\ntype EventTypes_d_OpenNotificationEvent = OpenNotificationEvent;\ntype EventTypes_d_DisabledStateChangeEvent = DisabledStateChangeEvent;\ntype EventTypes_d_EditorEventMap = EditorEventMap;\ntype EventTypes_d_EditorManagerEventMap = EditorManagerEventMap;\ndeclare namespace EventTypes_d {\n    export { EventTypes_d_ExecCommandEvent as ExecCommandEvent, EventTypes_d_BeforeGetContentEvent as BeforeGetContentEvent, EventTypes_d_GetContentEvent as GetContentEvent, EventTypes_d_BeforeSetContentEvent as BeforeSetContentEvent, EventTypes_d_SetContentEvent as SetContentEvent, EventTypes_d_SaveContentEvent as SaveContentEvent, EventTypes_d_NewBlockEvent as NewBlockEvent, EventTypes_d_NodeChangeEvent as NodeChangeEvent, EventTypes_d_FormatEvent as FormatEvent, EventTypes_d_ObjectResizeEvent as ObjectResizeEvent, EventTypes_d_ObjectSelectedEvent as ObjectSelectedEvent, EventTypes_d_ScrollIntoViewEvent as ScrollIntoViewEvent, EventTypes_d_SetSelectionRangeEvent as SetSelectionRangeEvent, EventTypes_d_ShowCaretEvent as ShowCaretEvent, EventTypes_d_SwitchModeEvent as SwitchModeEvent, EventTypes_d_ChangeEvent as ChangeEvent, EventTypes_d_AddUndoEvent as AddUndoEvent, EventTypes_d_UndoRedoEvent as UndoRedoEvent, EventTypes_d_WindowEvent as WindowEvent, EventTypes_d_ProgressStateEvent as ProgressStateEvent, EventTypes_d_AfterProgressStateEvent as AfterProgressStateEvent, EventTypes_d_PlaceholderToggleEvent as PlaceholderToggleEvent, EventTypes_d_LoadErrorEvent as LoadErrorEvent, EventTypes_d_PreProcessEvent as PreProcessEvent, EventTypes_d_PostProcessEvent as PostProcessEvent, EventTypes_d_PastePlainTextToggleEvent as PastePlainTextToggleEvent, EventTypes_d_PastePreProcessEvent as PastePreProcessEvent, EventTypes_d_PastePostProcessEvent as PastePostProcessEvent, EventTypes_d_EditableRootStateChangeEvent as EditableRootStateChangeEvent, EventTypes_d_NewTableRowEvent as NewTableRowEvent, EventTypes_d_NewTableCellEvent as NewTableCellEvent, EventTypes_d_TableEventData as TableEventData, EventTypes_d_TableModifiedEvent as TableModifiedEvent, EventTypes_d_BeforeOpenNotificationEvent as BeforeOpenNotificationEvent, EventTypes_d_OpenNotificationEvent as OpenNotificationEvent, EventTypes_d_DisabledStateChangeEvent as DisabledStateChangeEvent, EventTypes_d_EditorEventMap as EditorEventMap, EventTypes_d_EditorManagerEventMap as EditorManagerEventMap, };\n}\ntype Format_d_Formats = Formats;\ntype Format_d_Format = Format;\ntype Format_d_ApplyFormat = ApplyFormat;\ntype Format_d_BlockFormat = BlockFormat;\ntype Format_d_InlineFormat = InlineFormat;\ntype Format_d_SelectorFormat = SelectorFormat;\ntype Format_d_RemoveFormat = RemoveFormat;\ntype Format_d_RemoveBlockFormat = RemoveBlockFormat;\ntype Format_d_RemoveInlineFormat = RemoveInlineFormat;\ntype Format_d_RemoveSelectorFormat = RemoveSelectorFormat;\ndeclare namespace Format_d {\n    export { Format_d_Formats as Formats, Format_d_Format as Format, Format_d_ApplyFormat as ApplyFormat, Format_d_BlockFormat as BlockFormat, Format_d_InlineFormat as InlineFormat, Format_d_SelectorFormat as SelectorFormat, Format_d_RemoveFormat as RemoveFormat, Format_d_RemoveBlockFormat as RemoveBlockFormat, Format_d_RemoveInlineFormat as RemoveInlineFormat, Format_d_RemoveSelectorFormat as RemoveSelectorFormat, };\n}\ntype StyleFormat = BlockStyleFormat | InlineStyleFormat | SelectorStyleFormat;\ntype AllowedFormat = Separator | FormatReference | StyleFormat | NestedFormatting;\ninterface Separator {\n    title: string;\n}\ninterface FormatReference {\n    title: string;\n    format: string;\n    icon?: string;\n}\ninterface NestedFormatting {\n    title: string;\n    items: Array<FormatReference | StyleFormat>;\n}\ninterface CommonStyleFormat {\n    name?: string;\n    title: string;\n    icon?: string;\n}\ninterface BlockStyleFormat extends BlockFormat, CommonStyleFormat {\n}\ninterface InlineStyleFormat extends InlineFormat, CommonStyleFormat {\n}\ninterface SelectorStyleFormat extends SelectorFormat, CommonStyleFormat {\n}\ntype EntityEncoding = 'named' | 'numeric' | 'raw' | 'named,numeric' | 'named+numeric' | 'numeric,named' | 'numeric+named';\ninterface ContentLanguage {\n    readonly title: string;\n    readonly code: string;\n    readonly customCode?: string;\n}\ntype ThemeInitFunc = (editor: Editor, elm: HTMLElement) => {\n    editorContainer: HTMLElement;\n    iframeContainer: HTMLElement;\n    height?: number;\n    iframeHeight?: number;\n    api?: EditorUiApi;\n};\ninterface DocumentsFileTypes {\n    readonly mimeType: string;\n    readonly extensions: Array<string>;\n}\ntype SetupCallback = (editor: Editor) => void;\ntype FilePickerCallback = (callback: (value: string, meta?: Record<string, any>) => void, value: string, meta: Record<string, any>) => void;\ntype FilePickerValidationStatus = 'valid' | 'unknown' | 'invalid' | 'none';\ntype FilePickerValidationCallback = (info: {\n    type: string;\n    url: string;\n}, callback: (validation: {\n    status: FilePickerValidationStatus;\n    message: string;\n}) => void) => void;\ntype PastePreProcessFn = (editor: Editor, args: PastePreProcessEvent) => void;\ntype PastePostProcessFn = (editor: Editor, args: PastePostProcessEvent) => void;\ntype URLConverter = (url: string, name: string, elm?: string | Element) => string;\ntype URLConverterCallback = (url: string, node: Node | string | undefined, on_save: boolean, name: string) => string;\ninterface ToolbarGroup {\n    name?: string;\n    label?: string;\n    items: string[];\n}\ntype ToolbarMode = 'floating' | 'sliding' | 'scrolling' | 'wrap';\ntype ToolbarLocation = 'top' | 'bottom' | 'auto';\ntype CrossOrigin = (url: string, resourceType: 'script' | 'stylesheet') => 'anonymous' | 'use-credentials' | undefined;\ninterface BaseEditorOptions {\n    a11y_advanced_options?: boolean;\n    add_form_submit_trigger?: boolean;\n    add_unload_trigger?: boolean;\n    allow_conditional_comments?: boolean;\n    allow_html_data_urls?: boolean;\n    allow_html_in_named_anchor?: boolean;\n    allow_script_urls?: boolean;\n    allow_svg_data_urls?: boolean;\n    allow_unsafe_link_target?: boolean;\n    anchor_bottom?: false | string;\n    anchor_top?: false | string;\n    auto_focus?: string | true;\n    automatic_uploads?: boolean;\n    base_url?: string;\n    block_formats?: string;\n    block_unsupported_drop?: boolean;\n    body_id?: string;\n    body_class?: string;\n    br_in_pre?: boolean;\n    br_newline_selector?: string;\n    browser_spellcheck?: boolean;\n    branding?: boolean;\n    cache_suffix?: string;\n    color_cols?: number;\n    color_cols_foreground?: number;\n    color_cols_background?: number;\n    color_map?: string[];\n    color_map_foreground?: string[];\n    color_map_background?: string[];\n    color_default_foreground?: string;\n    color_default_background?: string;\n    content_css?: boolean | string | string[];\n    content_css_cors?: boolean;\n    content_security_policy?: string;\n    content_style?: string;\n    content_langs?: ContentLanguage[];\n    contextmenu?: string | string[] | false;\n    contextmenu_never_use_native?: boolean;\n    convert_fonts_to_spans?: boolean;\n    convert_unsafe_embeds?: boolean;\n    convert_urls?: boolean;\n    custom_colors?: boolean;\n    custom_elements?: string | Record<string, CustomElementSpec>;\n    custom_ui_selector?: string;\n    custom_undo_redo_levels?: number;\n    default_font_stack?: string[];\n    deprecation_warnings?: boolean;\n    directionality?: 'ltr' | 'rtl';\n    doctype?: string;\n    document_base_url?: string;\n    draggable_modal?: boolean;\n    editable_class?: string;\n    editable_root?: boolean;\n    element_format?: 'xhtml' | 'html';\n    elementpath?: boolean;\n    encoding?: string;\n    end_container_on_empty_block?: boolean | string;\n    entities?: string;\n    entity_encoding?: EntityEncoding;\n    extended_mathml_attributes?: string[];\n    extended_mathml_elements?: string[];\n    extended_valid_elements?: string;\n    event_root?: string;\n    fetch_users?: (userIds: string[]) => Promise<ExpectedUser[]>;\n    file_picker_callback?: FilePickerCallback;\n    file_picker_types?: string;\n    file_picker_validator_handler?: FilePickerValidationCallback;\n    fix_list_elements?: boolean;\n    fixed_toolbar_container?: string;\n    fixed_toolbar_container_target?: HTMLElement;\n    font_css?: string | string[];\n    font_family_formats?: string;\n    font_size_classes?: string;\n    font_size_legacy_values?: string;\n    font_size_style_values?: string;\n    font_size_formats?: string;\n    font_size_input_default_unit?: string;\n    forced_root_block?: string;\n    forced_root_block_attrs?: Record<string, string>;\n    formats?: Formats;\n    format_noneditable_selector?: string;\n    height?: number | string;\n    help_accessibility?: boolean;\n    hidden_input?: boolean;\n    highlight_on_focus?: boolean;\n    icons?: string;\n    icons_url?: string;\n    id?: string;\n    iframe_aria_text?: string;\n    iframe_attrs?: Record<string, string>;\n    images_file_types?: string;\n    images_replace_blob_uris?: boolean;\n    images_reuse_filename?: boolean;\n    images_upload_base_path?: string;\n    images_upload_credentials?: boolean;\n    images_upload_handler?: UploadHandler;\n    images_upload_url?: string;\n    indent?: boolean;\n    indent_after?: string;\n    indent_before?: string;\n    indent_use_margin?: boolean;\n    indentation?: string;\n    init_instance_callback?: SetupCallback;\n    inline?: boolean;\n    inline_boundaries?: boolean;\n    inline_boundaries_selector?: string;\n    inline_styles?: boolean;\n    invalid_elements?: string;\n    invalid_styles?: string | Record<string, string>;\n    keep_styles?: boolean;\n    language?: string;\n    language_load?: boolean;\n    language_url?: string;\n    line_height_formats?: string;\n    list_max_depth?: number;\n    max_height?: number;\n    max_width?: number;\n    menu?: Record<string, {\n        title: string;\n        items: string;\n    }>;\n    menubar?: boolean | string;\n    min_height?: number;\n    min_width?: number;\n    model?: string;\n    model_url?: string;\n    newdocument_content?: string;\n    newline_behavior?: 'block' | 'linebreak' | 'invert' | 'default';\n    no_newline_selector?: string;\n    noneditable_class?: string;\n    noneditable_regexp?: RegExp | RegExp[];\n    nowrap?: boolean;\n    object_resizing?: boolean | string;\n    onboarding?: boolean;\n    pad_empty_with_br?: boolean;\n    paste_as_text?: boolean;\n    paste_block_drop?: boolean;\n    paste_data_images?: boolean;\n    paste_merge_formats?: boolean;\n    paste_postprocess?: PastePostProcessFn;\n    paste_preprocess?: PastePreProcessFn;\n    paste_remove_styles_if_webkit?: boolean;\n    paste_tab_spaces?: number;\n    paste_webkit_styles?: string;\n    placeholder?: string;\n    preserve_cdata?: boolean;\n    preview_styles?: false | string;\n    promotion?: boolean;\n    protect?: RegExp[];\n    readonly?: boolean;\n    referrer_policy?: ReferrerPolicy;\n    crossorigin?: CrossOrigin;\n    relative_urls?: boolean;\n    remove_script_host?: boolean;\n    remove_trailing_brs?: boolean;\n    removed_menuitems?: string;\n    resize?: boolean | 'both';\n    resize_img_proportional?: boolean;\n    root_name?: string;\n    sandbox_iframes?: boolean;\n    sandbox_iframes_exclusions?: string[];\n    schema?: SchemaType;\n    selector?: string;\n    setup?: SetupCallback;\n    sidebar_show?: string;\n    skin?: boolean | string;\n    skin_url?: string;\n    smart_paste?: boolean;\n    statusbar?: boolean;\n    style_formats?: AllowedFormat[];\n    style_formats_autohide?: boolean;\n    style_formats_merge?: boolean;\n    submit_patch?: boolean;\n    suffix?: string;\n    user_id?: string;\n    table_tab_navigation?: boolean;\n    target?: HTMLElement;\n    text_patterns?: RawPattern[] | false;\n    text_patterns_lookup?: RawDynamicPatternsLookup;\n    theme?: string | ThemeInitFunc | false;\n    theme_url?: string;\n    toolbar?: boolean | string | string[] | Array<ToolbarGroup>;\n    toolbar1?: string;\n    toolbar2?: string;\n    toolbar3?: string;\n    toolbar4?: string;\n    toolbar5?: string;\n    toolbar6?: string;\n    toolbar7?: string;\n    toolbar8?: string;\n    toolbar9?: string;\n    toolbar_groups?: Record<string, GroupToolbarButtonSpec>;\n    toolbar_location?: ToolbarLocation;\n    toolbar_mode?: ToolbarMode;\n    toolbar_sticky?: boolean;\n    toolbar_sticky_offset?: number;\n    typeahead_urls?: boolean;\n    ui_mode?: 'combined' | 'split';\n    url_converter?: URLConverter;\n    url_converter_scope?: any;\n    urlconverter_callback?: URLConverterCallback;\n    valid_children?: string;\n    valid_classes?: string | Record<string, string>;\n    valid_elements?: string;\n    valid_styles?: string | Record<string, string>;\n    verify_html?: boolean;\n    visual?: boolean;\n    visual_anchor_class?: string;\n    visual_table_class?: string;\n    width?: number | string;\n    xss_sanitization?: boolean;\n    license_key?: string;\n    disabled?: boolean;\n    disable_nodechange?: boolean;\n    forced_plugins?: string | string[];\n    plugin_base_urls?: Record<string, string>;\n    service_message?: string;\n    [key: string]: any;\n}\ninterface RawEditorOptions extends BaseEditorOptions {\n    external_plugins?: Record<string, string>;\n    mobile?: RawEditorOptions;\n    plugins?: string | string[];\n}\ninterface NormalizedEditorOptions extends BaseEditorOptions {\n    external_plugins: Record<string, string>;\n    forced_plugins: string[];\n    plugins: string[];\n}\ninterface EditorOptions extends NormalizedEditorOptions {\n    a11y_advanced_options: boolean;\n    allow_unsafe_link_target: boolean;\n    anchor_bottom: string;\n    anchor_top: string;\n    automatic_uploads: boolean;\n    block_formats: string;\n    body_class: string;\n    body_id: string;\n    br_newline_selector: string;\n    color_map: string[];\n    color_cols: number;\n    color_cols_foreground: number;\n    color_cols_background: number;\n    color_default_background: string;\n    color_default_foreground: string;\n    content_css: string[];\n    contextmenu: string[];\n    convert_unsafe_embeds: boolean;\n    crossorigin: CrossOrigin;\n    custom_colors: boolean;\n    default_font_stack: string[];\n    document_base_url: string;\n    init_content_sync: boolean;\n    draggable_modal: boolean;\n    editable_class: string;\n    editable_root: boolean;\n    font_css: string[];\n    font_family_formats: string;\n    font_size_classes: string;\n    font_size_formats: string;\n    font_size_input_default_unit: string;\n    font_size_legacy_values: string;\n    font_size_style_values: string;\n    forced_root_block: string;\n    forced_root_block_attrs: Record<string, string>;\n    format_noneditable_selector: string;\n    height: number | string;\n    highlight_on_focus: boolean;\n    iframe_attrs: Record<string, string>;\n    images_file_types: string;\n    images_upload_base_path: string;\n    images_upload_credentials: boolean;\n    images_upload_url: string;\n    indent_use_margin: boolean;\n    indentation: string;\n    inline: boolean;\n    inline_boundaries_selector: string;\n    language: string;\n    language_load: boolean;\n    language_url: string;\n    line_height_formats: string;\n    menu: Record<string, {\n        title: string;\n        items: string;\n    }>;\n    menubar: boolean | string;\n    model: string;\n    newdocument_content: string;\n    no_newline_selector: string;\n    noneditable_class: string;\n    noneditable_regexp: RegExp[];\n    object_resizing: string;\n    pad_empty_with_br: boolean;\n    paste_as_text: boolean;\n    preview_styles: string;\n    promotion: boolean;\n    readonly: boolean;\n    removed_menuitems: string;\n    sandbox_iframes: boolean;\n    sandbox_iframes_exclusions: string[];\n    toolbar: boolean | string | string[] | Array<ToolbarGroup>;\n    toolbar_groups: Record<string, GroupToolbarButtonSpec>;\n    toolbar_location: ToolbarLocation;\n    toolbar_mode: ToolbarMode;\n    toolbar_persist: boolean;\n    toolbar_sticky: boolean;\n    toolbar_sticky_offset: number;\n    text_patterns: Pattern[];\n    text_patterns_lookup: DynamicPatternsLookup;\n    user_id: string;\n    visual: boolean;\n    visual_anchor_class: string;\n    visual_table_class: string;\n    width: number | string;\n    xss_sanitization: boolean;\n    disabled: boolean;\n    documents_file_types: DocumentsFileTypes[];\n}\ntype Content = string | AstNode;\ntype ContentFormat = 'raw' | 'text' | 'html' | 'tree';\ninterface GetContentArgs {\n    format: ContentFormat;\n    get: boolean;\n    getInner: boolean;\n    no_events?: boolean;\n    save?: boolean;\n    source_view?: boolean;\n    indent?: boolean;\n    entity_encoding?: EntityEncoding;\n    [key: string]: any;\n}\ninterface SetContentArgs {\n    format: string;\n    set: boolean;\n    content: Content;\n    no_events?: boolean;\n    no_selection?: boolean;\n    paste?: boolean;\n    load?: boolean;\n    initial?: boolean;\n    [key: string]: any;\n}\ninterface GetSelectionContentArgs extends GetContentArgs {\n    selection?: boolean;\n    contextual?: boolean;\n}\ninterface SetSelectionContentArgs extends SetContentArgs {\n    content: string;\n    selection?: boolean;\n}\ninterface BlobInfoImagePair {\n    image: HTMLImageElement;\n    blobInfo: BlobInfo;\n}\ninterface UrlObject {\n    prefix: string;\n    resource: string;\n    suffix: string;\n}\ntype WaitState = 'added' | 'loaded';\ntype AddOnConstructor<T> = (editor: Editor, url: string) => T;\ninterface AddOnManager<T> {\n    items: AddOnConstructor<T>[];\n    urls: Record<string, string>;\n    lookup: Record<string, {\n        instance: AddOnConstructor<T>;\n    }>;\n    get: (name: string) => AddOnConstructor<T> | undefined;\n    requireLangPack: (name: string, languages?: string) => void;\n    add: (id: string, addOn: AddOnConstructor<T>) => AddOnConstructor<T>;\n    remove: (name: string) => void;\n    createUrl: (baseUrl: UrlObject, dep: string | UrlObject) => UrlObject;\n    load: (name: string, addOnUrl: string | UrlObject) => Promise<void>;\n    waitFor: (name: string, state?: WaitState) => Promise<void>;\n}\ntype LicenseKeyManagerAddon = AddOnConstructor<LicenseKeyManager>;\ninterface ValidateData {\n    plugin?: string;\n    [key: string]: any;\n}\ninterface LicenseKeyManager {\n    readonly validate: (data: ValidateData) => Promise<boolean>;\n}\ndeclare class NodeChange {\n    private readonly editor;\n    private lastPath;\n    constructor(editor: Editor);\n    nodeChanged(args?: Record<string, any>): void;\n    private isSameElementPath;\n}\ninterface SelectionOverrides {\n    showCaret: (direction: number, node: HTMLElement, before: boolean, scrollIntoView?: boolean) => Range | null;\n    showBlockCaretContainer: (blockCaretContainer: HTMLElement) => void;\n    hideFakeCaret: () => void;\n    destroy: () => void;\n}\ninterface Quirks {\n    refreshContentEditable(): void;\n    isHidden(): boolean;\n}\ntype DecoratorData = Record<string, any>;\ntype Decorator = (uid: string, data: DecoratorData) => {\n    attributes?: {};\n    classes?: string[];\n};\ntype AnnotationListener = (state: boolean, name: string, data?: {\n    uid: string;\n    nodes: any[];\n}) => void;\ntype AnnotationListenerApi = AnnotationListener;\ninterface AnnotatorSettings {\n    decorate: Decorator;\n    persistent?: boolean;\n}\ninterface Annotator {\n    register: (name: string, settings: AnnotatorSettings) => void;\n    annotate: (name: string, data: DecoratorData) => void;\n    annotationChanged: (name: string, f: AnnotationListenerApi) => void;\n    remove: (name: string) => void;\n    removeAll: (name: string) => void;\n    getAll: (name: string) => Record<string, Element[]>;\n}\ninterface ClientRect {\n    left: number;\n    top: number;\n    bottom: number;\n    right: number;\n    width: number;\n    height: number;\n}\ninterface BookmarkManager {\n    getBookmark: (type?: number, normalized?: boolean) => Bookmark;\n    moveToBookmark: (bookmark: Bookmark) => void;\n}\ninterface ControlSelection {\n    isResizable: (elm: Element) => boolean;\n    showResizeRect: (elm: HTMLElement) => void;\n    hideResizeRect: () => void;\n    updateResizeRect: (evt: EditorEvent<any>) => void;\n    destroy: () => void;\n}\ninterface WriterSettings {\n    element_format?: 'xhtml' | 'html';\n    entities?: string;\n    entity_encoding?: EntityEncoding;\n    indent?: boolean;\n    indent_after?: string;\n    indent_before?: string;\n}\ntype Attributes = Array<{\n    name: string;\n    value: string;\n}>;\ninterface Writer {\n    cdata: (text: string) => void;\n    comment: (text: string) => void;\n    doctype: (text: string) => void;\n    end: (name: string) => void;\n    getContent: () => string;\n    pi: (name: string, text?: string) => void;\n    reset: () => void;\n    start: (name: string, attrs?: Attributes | null, empty?: boolean) => void;\n    text: (text: string, raw?: boolean) => void;\n}\ninterface HtmlSerializerSettings extends WriterSettings {\n    inner?: boolean;\n    validate?: boolean;\n}\ninterface HtmlSerializer {\n    serialize: (node: AstNode) => string;\n}\ninterface DomSerializerSettings extends DomParserSettings, WriterSettings, SchemaSettings, HtmlSerializerSettings {\n    remove_trailing_brs?: boolean;\n    url_converter?: URLConverter;\n    url_converter_scope?: {};\n}\ninterface DomSerializerArgs extends ParserArgs {\n    indent?: HtmlSerializerSettings['indent'];\n    entity_encoding?: HtmlSerializerSettings['entity_encoding'];\n}\ninterface DomSerializerImpl {\n    schema: Schema;\n    addNodeFilter: (name: string, callback: ParserFilterCallback) => void;\n    addAttributeFilter: (name: string, callback: ParserFilterCallback) => void;\n    getNodeFilters: () => ParserFilter[];\n    getAttributeFilters: () => ParserFilter[];\n    removeNodeFilter: (name: string, callback?: ParserFilterCallback) => void;\n    removeAttributeFilter: (name: string, callback?: ParserFilterCallback) => void;\n    serialize: {\n        (node: Element, parserArgs: {\n            format: 'tree';\n        } & ParserArgs): AstNode;\n        (node: Element, domSerializerArgs?: DomSerializerArgs): string;\n    };\n    addRules: (rules: string) => void;\n    setRules: (rules: string) => void;\n    addTempAttr: (name: string) => void;\n    getTempAttrs: () => string[];\n}\ninterface DomSerializer extends DomSerializerImpl {\n}\ninterface EditorSelection {\n    bookmarkManager: BookmarkManager;\n    controlSelection: ControlSelection;\n    dom: DOMUtils;\n    win: Window;\n    serializer: DomSerializer;\n    editor: Editor;\n    collapse: (toStart?: boolean) => void;\n    setCursorLocation: {\n        (node: Node, offset: number): void;\n        (): void;\n    };\n    getContent: {\n        (args: {\n            format: 'tree';\n        } & Partial<GetSelectionContentArgs>): AstNode;\n        (args?: Partial<GetSelectionContentArgs>): string;\n    };\n    setContent: (content: string, args?: Partial<SetSelectionContentArgs>) => void;\n    getBookmark: (type?: number, normalized?: boolean) => Bookmark;\n    moveToBookmark: (bookmark: Bookmark) => void;\n    select: (node: Node, content?: boolean) => Node;\n    isCollapsed: () => boolean;\n    isEditable: () => boolean;\n    isForward: () => boolean;\n    setNode: (elm: Element) => Element;\n    getNode: () => HTMLElement;\n    getSel: () => Selection | null;\n    setRng: (rng: Range, forward?: boolean) => void;\n    getRng: () => Range;\n    getStart: (real?: boolean) => Element;\n    getEnd: (real?: boolean) => Element;\n    getSelectedBlocks: (startElm?: Element, endElm?: Element) => Element[];\n    normalize: () => Range;\n    selectorChanged: (selector: string, callback: (active: boolean, args: {\n        node: Node;\n        selector: String;\n        parents: Node[];\n    }) => void) => EditorSelection;\n    selectorChangedWithUnbind: (selector: string, callback: (active: boolean, args: {\n        node: Node;\n        selector: String;\n        parents: Node[];\n    }) => void) => {\n        unbind: () => void;\n    };\n    getScrollContainer: () => HTMLElement | undefined;\n    scrollIntoView: (elm?: HTMLElement, alignToTop?: boolean) => void;\n    placeCaretAt: (clientX: number, clientY: number) => void;\n    getBoundingClientRect: () => ClientRect | DOMRect;\n    destroy: () => void;\n    expand: (options?: {\n        type: 'word';\n    }) => void;\n}\ntype EditorCommandCallback<S> = (this: S, ui: boolean, value: any, args?: ExecCommandArgs) => void;\ntype EditorCommandsCallback = (command: string, ui: boolean, value?: any, args?: ExecCommandArgs) => void;\ninterface Commands {\n    state: Record<string, (command: string) => boolean>;\n    exec: Record<string, EditorCommandsCallback>;\n    value: Record<string, (command: string) => string>;\n}\ninterface ExecCommandArgs {\n    skip_focus?: boolean;\n}\ninterface EditorCommandsConstructor {\n    readonly prototype: EditorCommands;\n    new (editor: Editor): EditorCommands;\n}\ndeclare class EditorCommands {\n    private readonly editor;\n    private commands;\n    constructor(editor: Editor);\n    execCommand(command: string, ui?: boolean, value?: any, args?: ExecCommandArgs): boolean;\n    queryCommandState(command: string): boolean;\n    queryCommandValue(command: string): string;\n    addCommands<K extends keyof Commands>(commandList: Commands[K], type: K): void;\n    addCommands(commandList: Record<string, EditorCommandsCallback>): void;\n    addCommand<S>(command: string, callback: EditorCommandCallback<S>, scope: S): void;\n    addCommand(command: string, callback: EditorCommandCallback<Editor>): void;\n    removeCommand(command: string, type?: 'exec' | 'state' | 'value'): void;\n    queryCommandSupported(command: string): boolean;\n    addQueryStateHandler<S>(command: string, callback: (this: S) => boolean, scope: S): void;\n    addQueryStateHandler(command: string, callback: (this: Editor) => boolean): void;\n    addQueryValueHandler<S>(command: string, callback: (this: S) => string, scope: S): void;\n    addQueryValueHandler(command: string, callback: (this: Editor) => string): void;\n}\ninterface RawString {\n    raw: string;\n}\ntype Primitive = string | number | boolean | Record<string | number, any> | Function;\ntype TokenisedString = [\n    string,\n    ...Primitive[]\n];\ntype Untranslated = Primitive | TokenisedString | RawString | null | undefined;\ntype TranslatedString = string;\ninterface I18n {\n    getData: () => Record<string, Record<string, string>>;\n    setCode: (newCode: string) => void;\n    getCode: () => string;\n    add: (code: string, items: Record<string, string>) => void;\n    translate: (text: Untranslated) => TranslatedString;\n    isRtl: () => boolean;\n    hasCode: (code: string) => boolean;\n}\ninterface Observable<T extends {}> {\n    fire<K extends string, U extends MappedEvent<T, K>>(name: K, args?: U, bubble?: boolean): EditorEvent<U>;\n    dispatch<K extends string, U extends MappedEvent<T, K>>(name: K, args?: U, bubble?: boolean): EditorEvent<U>;\n    on<K extends string>(name: K, callback: (event: EditorEvent<MappedEvent<T, K>>) => void, prepend?: boolean): EventDispatcher<T>;\n    off<K extends string>(name?: K, callback?: (event: EditorEvent<MappedEvent<T, K>>) => void): EventDispatcher<T>;\n    once<K extends string>(name: K, callback: (event: EditorEvent<MappedEvent<T, K>>) => void): EventDispatcher<T>;\n    hasEventListeners(name: string): boolean;\n}\ninterface URISettings {\n    base_uri?: URI;\n}\ninterface URIConstructor {\n    readonly prototype: URI;\n    new (url: string, settings?: URISettings): URI;\n    getDocumentBaseUrl: (loc: {\n        protocol: string;\n        host?: string;\n        href?: string;\n        pathname?: string;\n    }) => string;\n    parseDataUri: (uri: string) => {\n        type: string;\n        data: string;\n    };\n}\ninterface SafeUriOptions {\n    readonly allow_html_data_urls?: boolean;\n    readonly allow_script_urls?: boolean;\n    readonly allow_svg_data_urls?: boolean;\n}\ndeclare class URI {\n    static parseDataUri(uri: string): {\n        type: string | undefined;\n        data: string;\n    };\n    static isDomSafe(uri: string, context?: string, options?: SafeUriOptions): boolean;\n    static getDocumentBaseUrl(loc: {\n        protocol: string;\n        host?: string;\n        href?: string;\n        pathname?: string;\n    }): string;\n    source: string;\n    protocol: string | undefined;\n    authority: string | undefined;\n    userInfo: string | undefined;\n    user: string | undefined;\n    password: string | undefined;\n    host: string | undefined;\n    port: string | undefined;\n    relative: string | undefined;\n    path: string;\n    directory: string;\n    file: string | undefined;\n    query: string | undefined;\n    anchor: string | undefined;\n    settings: URISettings;\n    constructor(url: string, settings?: URISettings);\n    setPath(path: string): void;\n    toRelative(uri: string): string;\n    toAbsolute(uri: string, noHost?: boolean): string;\n    isSameOrigin(uri: URI): boolean;\n    toRelPath(base: string, path: string): string;\n    toAbsPath(base: string, path: string): string;\n    getURI(noProtoHost?: boolean): string;\n}\ninterface EditorManager extends Observable<EditorManagerEventMap> {\n    defaultOptions: RawEditorOptions;\n    majorVersion: string;\n    minorVersion: string;\n    releaseDate: string;\n    activeEditor: Editor | null;\n    focusedEditor: Editor | null;\n    baseURI: URI;\n    baseURL: string;\n    documentBaseURL: string;\n    i18n: I18n;\n    suffix: string;\n    pageUid: string;\n    add(this: EditorManager, editor: Editor): Editor;\n    addI18n: (code: string, item: Record<string, string>) => void;\n    createEditor(this: EditorManager, id: string, options: RawEditorOptions): Editor;\n    execCommand(this: EditorManager, cmd: string, ui: boolean, value: any): boolean;\n    get(this: EditorManager): Editor[];\n    get(this: EditorManager, id: number | string): Editor | null;\n    init(this: EditorManager, options: RawEditorOptions): Promise<Editor[]>;\n    overrideDefaults(this: EditorManager, defaultOptions: Partial<RawEditorOptions>): void;\n    remove(this: EditorManager): void;\n    remove(this: EditorManager, selector: string): void;\n    remove(this: EditorManager, editor: Editor): Editor | null;\n    setActive(this: EditorManager, editor: Editor): void;\n    setup(this: EditorManager): void;\n    translate: (text: Untranslated) => TranslatedString;\n    triggerSave: () => void;\n    _setBaseUrl(this: EditorManager, baseUrl: string): void;\n    _addLicenseKeyManager(this: EditorManager, addOn: LicenseKeyManagerAddon): void;\n}\ninterface EditorObservable extends Observable<EditorEventMap> {\n    bindPendingEventDelegates(this: Editor): void;\n    toggleNativeEvent(this: Editor, name: string, state: boolean): void;\n    unbindAllNativeEvents(this: Editor): void;\n}\ninterface ProcessorSuccess<T> {\n    valid: true;\n    value: T;\n}\ninterface ProcessorError {\n    valid: false;\n    message: string;\n}\ntype SimpleProcessor = (value: unknown) => boolean;\ntype Processor<T> = (value: unknown) => ProcessorSuccess<T> | ProcessorError;\ninterface BuiltInOptionTypeMap {\n    'string': string;\n    'number': number;\n    'boolean': boolean;\n    'array': any[];\n    'function': Function;\n    'object': any;\n    'string[]': string[];\n    'object[]': any[];\n    'regexp': RegExp;\n}\ntype BuiltInOptionType = keyof BuiltInOptionTypeMap;\ninterface BaseOptionSpec {\n    immutable?: boolean;\n    deprecated?: boolean;\n    docsUrl?: string;\n}\ninterface BuiltInOptionSpec<K extends BuiltInOptionType> extends BaseOptionSpec {\n    processor: K;\n    default?: BuiltInOptionTypeMap[K];\n}\ninterface SimpleOptionSpec<T> extends BaseOptionSpec {\n    processor: SimpleProcessor;\n    default?: T;\n}\ninterface OptionSpec<T, U> extends BaseOptionSpec {\n    processor: Processor<U>;\n    default?: T;\n}\ninterface Options {\n    register: {\n        <K extends BuiltInOptionType>(name: string, spec: BuiltInOptionSpec<K>): void;\n        <K extends keyof NormalizedEditorOptions>(name: K, spec: OptionSpec<NormalizedEditorOptions[K], EditorOptions[K]> | SimpleOptionSpec<NormalizedEditorOptions[K]>): void;\n        <T, U>(name: string, spec: OptionSpec<T, U>): void;\n        <T>(name: string, spec: SimpleOptionSpec<T>): void;\n    };\n    isRegistered: (name: string) => boolean;\n    get: {\n        <K extends keyof EditorOptions>(name: K): EditorOptions[K];\n        <T>(name: string): T | undefined;\n    };\n    set: <K extends string, T>(name: K, value: K extends keyof NormalizedEditorOptions ? NormalizedEditorOptions[K] : T) => boolean;\n    unset: (name: string) => boolean;\n    isSet: (name: string) => boolean;\n    debug: () => void;\n}\ninterface UploadResult$1 {\n    element: HTMLImageElement;\n    status: boolean;\n    blobInfo: BlobInfo;\n    uploadUri: string;\n    removed: boolean;\n}\ninterface EditorUpload {\n    blobCache: BlobCache;\n    addFilter: (filter: (img: HTMLImageElement) => boolean) => void;\n    uploadImages: () => Promise<UploadResult$1[]>;\n    uploadImagesAuto: () => Promise<UploadResult$1[]>;\n    scanForImages: () => Promise<BlobInfoImagePair[]>;\n    destroy: () => void;\n}\ntype FormatChangeCallback = (state: boolean, data: {\n    node: Node;\n    format: string;\n    parents: Element[];\n}) => void;\ninterface FormatRegistry {\n    get: {\n        (name: string): Format[] | undefined;\n        (): Record<string, Format[]>;\n    };\n    has: (name: string) => boolean;\n    register: (name: string | Formats, format?: Format[] | Format) => void;\n    unregister: (name: string) => Formats;\n}\ninterface Formatter extends FormatRegistry {\n    apply: (name: string, vars?: FormatVars, node?: Node | RangeLikeObject | null) => void;\n    remove: (name: string, vars?: FormatVars, node?: Node | Range, similar?: boolean) => void;\n    toggle: (name: string, vars?: FormatVars, node?: Node) => void;\n    match: (name: string, vars?: FormatVars, node?: Node, similar?: boolean) => boolean;\n    closest: (names: string[]) => string | null;\n    matchAll: (names: string[], vars?: FormatVars) => string[];\n    matchNode: (node: Node | null, name: string, vars?: FormatVars, similar?: boolean) => Format | undefined;\n    canApply: (name: string) => boolean;\n    formatChanged: (names: string, callback: FormatChangeCallback, similar?: boolean, vars?: FormatVars) => {\n        unbind: () => void;\n    };\n    getCssText: (format: string | ApplyFormat) => string;\n}\ninterface EditorMode {\n    isReadOnly: () => boolean;\n    set: (mode: string) => void;\n    get: () => string;\n    register: (mode: string, api: EditorModeApi) => void;\n}\ninterface EditorModeApi {\n    activate: () => void;\n    deactivate: () => void;\n    editorReadOnly: boolean;\n}\ninterface Model {\n    readonly table: {\n        readonly getSelectedCells: () => HTMLTableCellElement[];\n        readonly clearSelectedCells: (container: Node) => void;\n    };\n}\ntype ModelManager = AddOnManager<Model>;\ninterface Plugin {\n    getMetadata?: () => {\n        name: string;\n        url: string;\n    };\n    init?: (editor: Editor, url: string) => void;\n    [key: string]: any;\n}\ntype PluginManager = AddOnManager<void | Plugin>;\ninterface ShortcutsConstructor {\n    readonly prototype: Shortcuts;\n    new (editor: Editor): Shortcuts;\n}\ntype CommandFunc = string | [\n    string,\n    boolean,\n    any\n] | (() => void);\ndeclare class Shortcuts {\n    private readonly editor;\n    private readonly shortcuts;\n    private pendingPatterns;\n    constructor(editor: Editor);\n    add(pattern: string, desc: string | null, cmdFunc: CommandFunc, scope?: any): boolean;\n    remove(pattern: string): boolean;\n    private normalizeCommandFunc;\n    private createShortcut;\n    private hasModifier;\n    private isFunctionKey;\n    private matchShortcut;\n    private executeShortcutAction;\n}\ninterface RenderResult {\n    iframeContainer?: HTMLElement;\n    editorContainer: HTMLElement;\n    api?: Partial<EditorUiApi>;\n}\ninterface Theme {\n    ui?: any;\n    inline?: any;\n    execCommand?: (command: string, ui?: boolean, value?: any) => boolean;\n    destroy?: () => void;\n    init?: (editor: Editor, url: string) => void;\n    renderUI?: () => Promise<RenderResult> | RenderResult;\n    getNotificationManagerImpl?: () => NotificationManagerImpl;\n    getWindowManagerImpl?: () => WindowManagerImpl;\n    getPromotionElement?: () => HTMLElement | null;\n}\ntype ThemeManager = AddOnManager<void | Theme>;\ninterface EditorConstructor {\n    readonly prototype: Editor;\n    new (id: string, options: RawEditorOptions, editorManager: EditorManager): Editor;\n}\ndeclare class Editor implements EditorObservable {\n    baseUri: URI;\n    id: string;\n    editorUid: string;\n    plugins: Record<string, Plugin>;\n    documentBaseURI: URI;\n    baseURI: URI;\n    contentCSS: string[];\n    contentStyles: string[];\n    ui: EditorUi;\n    mode: EditorMode;\n    options: Options;\n    editorUpload: EditorUpload;\n    userLookup: UserLookup;\n    shortcuts: Shortcuts;\n    loadedCSS: Record<string, any>;\n    editorCommands: EditorCommands;\n    suffix: string;\n    editorManager: EditorManager;\n    hidden: boolean;\n    inline: boolean;\n    hasVisual: boolean;\n    isNotDirty: boolean;\n    annotator: Annotator;\n    bodyElement: HTMLElement | undefined;\n    bookmark: any;\n    composing: boolean;\n    container: HTMLElement;\n    contentAreaContainer: HTMLElement;\n    contentDocument: Document;\n    contentWindow: Window;\n    delegates: Record<string, EventUtilsCallback<any>> | undefined;\n    destroyed: boolean;\n    dom: DOMUtils;\n    editorContainer: HTMLElement;\n    eventRoot: Element | undefined;\n    formatter: Formatter;\n    formElement: HTMLElement | undefined;\n    formEventDelegate: ((e: Event) => void) | undefined;\n    hasHiddenInput: boolean;\n    iframeElement: HTMLIFrameElement | null;\n    iframeHTML: string | undefined;\n    initialized: boolean;\n    notificationManager: NotificationManager;\n    orgDisplay: string;\n    orgVisibility: string | undefined;\n    parser: DomParser;\n    quirks: Quirks;\n    readonly: boolean;\n    removed: boolean;\n    schema: Schema;\n    selection: EditorSelection;\n    serializer: DomSerializer;\n    startContent: string;\n    targetElm: HTMLElement;\n    theme: Theme;\n    model: Model;\n    undoManager: UndoManager;\n    windowManager: WindowManager;\n    licenseKeyManager: LicenseKeyManager;\n    _beforeUnload: (() => void) | undefined;\n    _eventDispatcher: EventDispatcher<NativeEventMap> | undefined;\n    _nodeChangeDispatcher: NodeChange;\n    _pendingNativeEvents: string[];\n    _selectionOverrides: SelectionOverrides;\n    _skinLoaded: boolean;\n    _editableRoot: boolean;\n    bindPendingEventDelegates: EditorObservable['bindPendingEventDelegates'];\n    toggleNativeEvent: EditorObservable['toggleNativeEvent'];\n    unbindAllNativeEvents: EditorObservable['unbindAllNativeEvents'];\n    fire: EditorObservable['fire'];\n    dispatch: EditorObservable['dispatch'];\n    on: EditorObservable['on'];\n    off: EditorObservable['off'];\n    once: EditorObservable['once'];\n    hasEventListeners: EditorObservable['hasEventListeners'];\n    constructor(id: string, options: RawEditorOptions, editorManager: EditorManager);\n    render(): void;\n    focus(skipFocus?: boolean): void;\n    hasFocus(): boolean;\n    translate(text: Untranslated): TranslatedString;\n    getParam<K extends BuiltInOptionType>(name: string, defaultVal: BuiltInOptionTypeMap[K], type: K): BuiltInOptionTypeMap[K];\n    getParam<K extends keyof NormalizedEditorOptions>(name: K, defaultVal?: NormalizedEditorOptions[K], type?: BuiltInOptionType): NormalizedEditorOptions[K];\n    getParam<T>(name: string, defaultVal: T, type?: BuiltInOptionType): T;\n    hasPlugin(name: string, loaded?: boolean): boolean;\n    nodeChanged(args?: any): void;\n    addCommand<S>(name: string, callback: EditorCommandCallback<S>, scope: S): void;\n    addCommand(name: string, callback: EditorCommandCallback<Editor>): void;\n    addQueryStateHandler<S>(name: string, callback: (this: S) => boolean, scope?: S): void;\n    addQueryStateHandler(name: string, callback: (this: Editor) => boolean): void;\n    addQueryValueHandler<S>(name: string, callback: (this: S) => string, scope: S): void;\n    addQueryValueHandler(name: string, callback: (this: Editor) => string): void;\n    addShortcut(pattern: string, desc: string, cmdFunc: string | [\n        string,\n        boolean,\n        any\n    ] | (() => void), scope?: any): void;\n    execCommand(cmd: string, ui?: boolean, value?: any, args?: ExecCommandArgs): boolean;\n    queryCommandState(cmd: string): boolean;\n    queryCommandValue(cmd: string): string;\n    queryCommandSupported(cmd: string): boolean;\n    show(): void;\n    hide(): void;\n    isHidden(): boolean;\n    setProgressState(state: boolean, time?: number): void;\n    load(args?: Partial<SetContentArgs>): void;\n    save(args?: Partial<GetContentArgs>): string;\n    setContent(content: string | AstNode, args?: Partial<SetContentArgs>): void;\n    getContent(args: {\n        format: 'tree';\n    } & Partial<GetContentArgs>): AstNode;\n    getContent(args?: Partial<GetContentArgs>): string;\n    insertContent(content: string, args?: any): void;\n    resetContent(initialContent?: string): void;\n    isDirty(): boolean;\n    setDirty(state: boolean): void;\n    getContainer(): HTMLElement;\n    getContentAreaContainer(): HTMLElement;\n    getElement(): HTMLElement;\n    getWin(): Window;\n    getDoc(): Document;\n    getBody(): HTMLElement;\n    convertURL(url: string, name: string, elm?: string | Element): string;\n    addVisual(elm?: HTMLElement): void;\n    setEditableRoot(state: boolean): void;\n    hasEditableRoot(): boolean;\n    remove(): void;\n    destroy(automatic?: boolean): void;\n    uploadImages(): Promise<UploadResult$1[]>;\n    _scanForImages(): Promise<BlobInfoImagePair[]>;\n}\ntype UserId = string;\ninterface User {\n    id: UserId;\n    name: string;\n    avatar: string;\n    custom?: Record<string, any>;\n}\ninterface ExpectedUser {\n    id: UserId;\n    [key: string]: any;\n}\ninterface UserLookup {\n    userId: UserId;\n    fetchUsers: (userIds: UserId[]) => Record<UserId, Promise<User>>;\n}\ninterface RangeUtils {\n    walk: (rng: Range, callback: (nodes: Node[]) => void) => void;\n    split: (rng: Range) => RangeLikeObject;\n    normalize: (rng: Range) => boolean;\n    expand: (rng: Range, options?: {\n        type: 'word';\n    }) => Range;\n}\ninterface ScriptLoaderSettings {\n    referrerPolicy?: ReferrerPolicy;\n    crossOrigin?: (url: string) => string | undefined;\n}\ninterface ScriptLoaderConstructor {\n    readonly prototype: ScriptLoader;\n    new (): ScriptLoader;\n    ScriptLoader: ScriptLoader;\n}\ndeclare class ScriptLoader {\n    static ScriptLoader: ScriptLoader;\n    private settings;\n    private states;\n    private queue;\n    private scriptLoadedCallbacks;\n    private queueLoadedCallbacks;\n    private loading;\n    constructor(settings?: ScriptLoaderSettings);\n    _setReferrerPolicy(referrerPolicy: ReferrerPolicy): void;\n    _setCrossOrigin(crossOrigin: (url: string) => string | undefined): void;\n    loadScript(url: string): Promise<void>;\n    isDone(url: string): boolean;\n    markDone(url: string): void;\n    add(url: string): Promise<void>;\n    load(url: string): Promise<void>;\n    remove(url: string): void;\n    loadQueue(): Promise<void>;\n    loadScripts(scripts: string[]): Promise<void>;\n    getScriptAttributes(url: string): Record<string, string>;\n}\ntype TextProcessCallback = (node: Text, offset: number, text: string) => number;\ninterface Spot {\n    container: Text;\n    offset: number;\n}\ninterface TextSeeker {\n    backwards: (node: Node, offset: number, process: TextProcessCallback, root?: Node) => Spot | null;\n    forwards: (node: Node, offset: number, process: TextProcessCallback, root?: Node) => Spot | null;\n}\ninterface DomTreeWalkerConstructor {\n    readonly prototype: DomTreeWalker;\n    new (startNode: Node, rootNode: Node): DomTreeWalker;\n}\ndeclare class DomTreeWalker {\n    private readonly rootNode;\n    private node;\n    constructor(startNode: Node, rootNode: Node);\n    current(): Node | null | undefined;\n    next(shallow?: boolean): Node | null | undefined;\n    prev(shallow?: boolean): Node | null | undefined;\n    prev2(shallow?: boolean): Node | null | undefined;\n    private findSibling;\n    private findPreviousNode;\n}\ninterface Version {\n    major: number;\n    minor: number;\n}\ninterface Env {\n    transparentSrc: string;\n    documentMode: number;\n    cacheSuffix: any;\n    container: any;\n    canHaveCSP: boolean;\n    windowsPhone: boolean;\n    browser: {\n        current: string | undefined;\n        version: Version;\n        isEdge: () => boolean;\n        isChromium: () => boolean;\n        isIE: () => boolean;\n        isOpera: () => boolean;\n        isFirefox: () => boolean;\n        isSafari: () => boolean;\n    };\n    os: {\n        current: string | undefined;\n        version: Version;\n        isWindows: () => boolean;\n        isiOS: () => boolean;\n        isAndroid: () => boolean;\n        isMacOS: () => boolean;\n        isLinux: () => boolean;\n        isSolaris: () => boolean;\n        isFreeBSD: () => boolean;\n        isChromeOS: () => boolean;\n    };\n    deviceType: {\n        isiPad: () => boolean;\n        isiPhone: () => boolean;\n        isTablet: () => boolean;\n        isPhone: () => boolean;\n        isTouch: () => boolean;\n        isWebView: () => boolean;\n        isDesktop: () => boolean;\n    };\n}\ninterface FakeClipboardItem {\n    readonly items: Record<string, any>;\n    readonly types: ReadonlyArray<string>;\n    readonly getType: <D = any>(type: string) => D | undefined;\n}\ninterface FakeClipboard {\n    readonly FakeClipboardItem: (items: Record<string, any>) => FakeClipboardItem;\n    readonly write: (data: FakeClipboardItem[]) => void;\n    readonly read: () => FakeClipboardItem[] | undefined;\n    readonly clear: () => void;\n}\ninterface FocusManager {\n    isEditorUIElement: (elm: Element) => boolean;\n}\ninterface EntitiesMap {\n    [name: string]: string;\n}\ninterface Entities {\n    encodeRaw: (text: string, attr?: boolean) => string;\n    encodeAllRaw: (text: string) => string;\n    encodeNumeric: (text: string, attr?: boolean) => string;\n    encodeNamed: (text: string, attr?: boolean, entities?: EntitiesMap) => string;\n    getEncodeFunc: (name: string, entities?: string) => (text: string, attr?: boolean) => string;\n    decode: (text: string) => string;\n}\ninterface IconPack {\n    icons: Record<string, string>;\n}\ninterface IconManager {\n    add: (id: string, iconPack: IconPack) => void;\n    get: (id: string) => IconPack;\n    has: (id: string) => boolean;\n}\ninterface Resource {\n    load: <T = any>(id: string, url: string) => Promise<T>;\n    add: (id: string, data: any) => void;\n    has: (id: string) => boolean;\n    get: (id: string) => any;\n    unload: (id: string) => void;\n}\ntype TextPatterns_d_Pattern = Pattern;\ntype TextPatterns_d_RawPattern = RawPattern;\ntype TextPatterns_d_DynamicPatternsLookup = DynamicPatternsLookup;\ntype TextPatterns_d_RawDynamicPatternsLookup = RawDynamicPatternsLookup;\ntype TextPatterns_d_DynamicPatternContext = DynamicPatternContext;\ntype TextPatterns_d_BlockCmdPattern = BlockCmdPattern;\ntype TextPatterns_d_BlockPattern = BlockPattern;\ntype TextPatterns_d_BlockFormatPattern = BlockFormatPattern;\ntype TextPatterns_d_InlineCmdPattern = InlineCmdPattern;\ntype TextPatterns_d_InlinePattern = InlinePattern;\ntype TextPatterns_d_InlineFormatPattern = InlineFormatPattern;\ndeclare namespace TextPatterns_d {\n    export { TextPatterns_d_Pattern as Pattern, TextPatterns_d_RawPattern as RawPattern, TextPatterns_d_DynamicPatternsLookup as DynamicPatternsLookup, TextPatterns_d_RawDynamicPatternsLookup as RawDynamicPatternsLookup, TextPatterns_d_DynamicPatternContext as DynamicPatternContext, TextPatterns_d_BlockCmdPattern as BlockCmdPattern, TextPatterns_d_BlockPattern as BlockPattern, TextPatterns_d_BlockFormatPattern as BlockFormatPattern, TextPatterns_d_InlineCmdPattern as InlineCmdPattern, TextPatterns_d_InlinePattern as InlinePattern, TextPatterns_d_InlineFormatPattern as InlineFormatPattern, };\n}\ninterface Delay {\n    setEditorInterval: (editor: Editor, callback: () => void, time?: number) => number;\n    setEditorTimeout: (editor: Editor, callback: () => void, time?: number) => number;\n}\ntype UploadResult = UploadResult$2;\ninterface ImageUploader {\n    upload: (blobInfos: BlobInfo[], showNotification?: boolean) => Promise<UploadResult[]>;\n}\ntype ArrayCallback$1<T, R> = (this: any, x: T, i: number, xs: ArrayLike<T>) => R;\ntype ObjCallback$1<T, R> = (this: any, value: T, key: string, obj: Record<string, T>) => R;\ntype ArrayCallback<T, R> = ArrayCallback$1<T, R>;\ntype ObjCallback<T, R> = ObjCallback$1<T, R>;\ntype WalkCallback<T> = (this: any, o: T, i: string, n: keyof T | undefined) => boolean | void;\ninterface Tools {\n    is: (obj: any, type?: string) => boolean;\n    isArray: <T>(arr: any) => arr is Array<T>;\n    inArray: <T>(arr: ArrayLike<T>, value: T) => number;\n    grep: {\n        <T>(arr: ArrayLike<T> | null | undefined, pred?: ArrayCallback<T, boolean>): T[];\n        <T>(arr: Record<string, T> | null | undefined, pred?: ObjCallback<T, boolean>): T[];\n    };\n    trim: (str: string | null | undefined) => string;\n    toArray: <T>(obj: ArrayLike<T>) => T[];\n    hasOwn: (obj: any, name: string) => boolean;\n    makeMap: (items: ArrayLike<string> | string | undefined, delim?: string | RegExp, map?: Record<string, {}>) => Record<string, {}>;\n    each: {\n        <T>(arr: ArrayLike<T> | null | undefined, cb: ArrayCallback<T, void | boolean>, scope?: any): boolean;\n        <T>(obj: Record<string, T> | null | undefined, cb: ObjCallback<T, void | boolean>, scope?: any): boolean;\n    };\n    map: {\n        <T, R>(arr: ArrayLike<T> | null | undefined, cb: ArrayCallback<T, R>): R[];\n        <T, R>(obj: Record<string, T> | null | undefined, cb: ObjCallback<T, R>): R[];\n    };\n    extend: (obj: Object, ext: Object, ...objs: Object[]) => any;\n    walk: <T extends Record<string, any>>(obj: T, f: WalkCallback<T>, n?: keyof T, scope?: any) => void;\n    resolve: (path: string, o?: Object) => any;\n    explode: (s: string | string[], d?: string | RegExp) => string[];\n    _addCacheSuffix: (url: string) => string;\n}\ninterface KeyboardLikeEvent {\n    shiftKey: boolean;\n    ctrlKey: boolean;\n    altKey: boolean;\n    metaKey: boolean;\n}\ninterface VK {\n    BACKSPACE: number;\n    DELETE: number;\n    DOWN: number;\n    ENTER: number;\n    ESC: number;\n    LEFT: number;\n    RIGHT: number;\n    SPACEBAR: number;\n    TAB: number;\n    UP: number;\n    PAGE_UP: number;\n    PAGE_DOWN: number;\n    END: number;\n    HOME: number;\n    modifierPressed: (e: KeyboardLikeEvent) => boolean;\n    metaKeyPressed: (e: KeyboardLikeEvent) => boolean;\n}\ninterface DOMUtilsNamespace {\n    (doc: Document, settings: Partial<DOMUtilsSettings>): DOMUtils;\n    DOM: DOMUtils;\n    nodeIndex: (node: Node, normalized?: boolean) => number;\n}\ninterface RangeUtilsNamespace {\n    (dom: DOMUtils): RangeUtils;\n    compareRanges: (rng1: RangeLikeObject, rng2: RangeLikeObject) => boolean;\n    getCaretRangeFromPoint: (clientX: number, clientY: number, doc: Document) => Range;\n    getSelectedNode: (range: Range) => Node;\n    getNode: (container: Node, offset: number) => Node;\n}\ninterface AddOnManagerNamespace {\n    <T>(): AddOnManager<T>;\n    language: string | undefined;\n    languageLoad: boolean;\n    baseURL: string;\n    PluginManager: PluginManager;\n    ThemeManager: ThemeManager;\n    ModelManager: ModelManager;\n}\ninterface BookmarkManagerNamespace {\n    (selection: EditorSelection): BookmarkManager;\n    isBookmarkNode: (node: Node) => boolean;\n}\ninterface TinyMCE extends EditorManager {\n    geom: {\n        Rect: Rect;\n    };\n    util: {\n        Delay: Delay;\n        Tools: Tools;\n        VK: VK;\n        URI: URIConstructor;\n        EventDispatcher: EventDispatcherConstructor<any>;\n        Observable: Observable<any>;\n        I18n: I18n;\n        LocalStorage: Storage;\n        ImageUploader: ImageUploader;\n    };\n    dom: {\n        EventUtils: EventUtilsConstructor;\n        TreeWalker: DomTreeWalkerConstructor;\n        TextSeeker: (dom: DOMUtils, isBlockBoundary?: (node: Node) => boolean) => TextSeeker;\n        DOMUtils: DOMUtilsNamespace;\n        ScriptLoader: ScriptLoaderConstructor;\n        RangeUtils: RangeUtilsNamespace;\n        Serializer: (settings: DomSerializerSettings, editor?: Editor) => DomSerializer;\n        ControlSelection: (selection: EditorSelection, editor: Editor) => ControlSelection;\n        BookmarkManager: BookmarkManagerNamespace;\n        Selection: (dom: DOMUtils, win: Window, serializer: DomSerializer, editor: Editor) => EditorSelection;\n        StyleSheetLoader: (documentOrShadowRoot: Document | ShadowRoot, settings: StyleSheetLoaderSettings) => StyleSheetLoader;\n        Event: EventUtils;\n    };\n    html: {\n        Styles: (settings?: StylesSettings, schema?: Schema) => Styles;\n        Entities: Entities;\n        Node: AstNodeConstructor;\n        Schema: (settings?: SchemaSettings) => Schema;\n        DomParser: (settings?: DomParserSettings, schema?: Schema) => DomParser;\n        Writer: (settings?: WriterSettings) => Writer;\n        Serializer: (settings?: HtmlSerializerSettings, schema?: Schema) => HtmlSerializer;\n    };\n    AddOnManager: AddOnManagerNamespace;\n    Annotator: (editor: Editor) => Annotator;\n    Editor: EditorConstructor;\n    EditorCommands: EditorCommandsConstructor;\n    EditorManager: EditorManager;\n    EditorObservable: EditorObservable;\n    Env: Env;\n    FocusManager: FocusManager;\n    Formatter: (editor: Editor) => Formatter;\n    NotificationManager: (editor: Editor) => NotificationManager;\n    Shortcuts: ShortcutsConstructor;\n    UndoManager: (editor: Editor) => UndoManager;\n    WindowManager: (editor: Editor) => WindowManager;\n    DOM: DOMUtils;\n    ScriptLoader: ScriptLoader;\n    PluginManager: PluginManager;\n    ThemeManager: ThemeManager;\n    ModelManager: ModelManager;\n    IconManager: IconManager;\n    Resource: Resource;\n    FakeClipboard: FakeClipboard;\n    trim: Tools['trim'];\n    isArray: Tools['isArray'];\n    is: Tools['is'];\n    toArray: Tools['toArray'];\n    makeMap: Tools['makeMap'];\n    each: Tools['each'];\n    map: Tools['map'];\n    grep: Tools['grep'];\n    inArray: Tools['inArray'];\n    extend: Tools['extend'];\n    walk: Tools['walk'];\n    resolve: Tools['resolve'];\n    explode: Tools['explode'];\n    _addCacheSuffix: Tools['_addCacheSuffix'];\n}\ndeclare const tinymce: TinyMCE;\nexport { AddOnManager, Annotator, AstNode, Bookmark, BookmarkManager, ControlSelection, DOMUtils, Delay, DomParser, DomParserSettings, DomSerializer, DomSerializerSettings, DomTreeWalker, Editor, EditorCommands, EditorEvent, EditorManager, EditorModeApi, EditorObservable, EditorOptions, EditorSelection, Entities, Env, EventDispatcher, EventUtils, EventTypes_d as Events, ExpectedUser, FakeClipboard, FocusManager, Format_d as Formats, Formatter, GeomRect, HtmlSerializer, HtmlSerializerSettings, I18n, IconManager, Model, ModelManager, NotificationApi, NotificationManager, NotificationSpec, Observable, Plugin, PluginManager, RangeUtils, RawEditorOptions, Rect, Resource, Schema, SchemaSettings, ScriptLoader, Shortcuts, StyleSheetLoader, Styles, TextPatterns_d as TextPatterns, TextSeeker, Theme, ThemeManager, TinyMCE, Tools, URI, Ui_d as Ui, UndoManager, User, VK, WindowManager, Writer, WriterSettings, tinymce as default };\n"
  },
  {
    "path": "bl-plugins/twitter-cards/languages/da.json",
    "content": "{\n\t\"default-image\": \"Standardbillede\",\n\t\"plugin-data\": {\n\t\t\"description\": \"Med X (tidligere Twitter) kort kan du vedhæfte vigtige billeder, videoer og medieoplevelser til opslag, hvilket hjælper med at få trafik på din hjemmeside.\",\n\t\t\"name\": \"X/Twitter Cards\"\n\t}\n}\n"
  },
  {
    "path": "bl-plugins/twitter-cards/languages/de_CH.json",
    "content": "{\n    \"plugin-data\": {\n        \"name\": \"X/Twitter Cards\",\n        \"description\": \"X (ehemals Twitter) Cards hängt Medien wie Bilder oder Videos an einen Beitrag, wenn ein Link der Website auf X geteilt wird.\"\n    },\n    \"default-image\": \"Standardbild\"\n}\n"
  },
  {
    "path": "bl-plugins/twitter-cards/languages/de_DE.json",
    "content": "{\n    \"plugin-data\": {\n        \"name\": \"X/Twitter Cards\",\n        \"description\": \"X (ehemals Twitter) Cards hängt Medien wie Bilder oder Videos an einen Beitrag, wenn ein Link der Website auf X geteilt wird.\"\n    },\n    \"default-image\": \"Standardbild\"\n}\n"
  },
  {
    "path": "bl-plugins/twitter-cards/languages/en.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"X/Twitter Cards\",\n\t\t\"description\": \"With X (formerly Twitter) Cards, you can attach rich photos, videos and media experiences to posts, helping to drive traffic to your website.\"\n\t},\n\t\"default-image\": \"Default image\"\n}\n"
  },
  {
    "path": "bl-plugins/twitter-cards/languages/es.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"X/Twitter Cards\",\n\t\t\"description\": \"Con las tarjetas de X (antes Twitter) puedes adjuntar fotos, videos y experiencias multimedia a publicaciones.\"\n\t},\n\t\"default-image\": \"Imagen predeterminada\"\n}\n"
  },
  {
    "path": "bl-plugins/twitter-cards/languages/fa_IR.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"X/Twitter Cards\",\n\t\t\"description\": \"بوسیله X (قبلاً Twitter) Cards ، شما می‌توانید تصاویر، ویدئو و تجربیات رسانه ای را به پست‌ها پیوست کرده، و با اینکار کمکی می‌شود تا ترافیک بیشتری به سمت وبسایت شما روانه شود.\"\n\t},\n\t\"default-image\": \"تصویر پیش‌فرض\"\n}\n"
  },
  {
    "path": "bl-plugins/twitter-cards/languages/fr_FR.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Cartes X/Twitter\",\n\t\t\"description\": \"Les Cartes X (anciennement Twitter) sont des protocoles qui vous permettent d'attacher des photos, des vidéos et autres médias interactifs à vos publications, cela vas vous aider à générer du trafic vers votre site.\"\n\t},\n\t\"default-image\": \"Image par défaut.\"\n}\n"
  },
  {
    "path": "bl-plugins/twitter-cards/languages/it.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"X/Twitter Cards\",\n\t\t\"description\": \"Con X (precedentemente Twitter) Cards, puoi aggiungere foto, video e media ai tuoi post, aiutando a guidare il traffico sul tuo sito.\"\n\t},\n\t\"default-image\": \"Immagine predefinita\"\n}\n"
  },
  {
    "path": "bl-plugins/twitter-cards/languages/ja_JP.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"X/Twitter Cards\",\n\t\t\"description\": \"X（旧Twitter）カードを使用すると、投稿にリッチな写真、動画、メディア体験を添付して、ウェブサイトへのトラフィックを増やすことができます。\"\n\t},\n\t\"default-image\": \"デフォルト画像\"\n}\n"
  },
  {
    "path": "bl-plugins/twitter-cards/languages/nl_NL.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"X/Twitter Cards\",\n\t\t\"description\": \"Met X (voorheen Twitter) Cards kunnen foto's, video's and media-ervaringen worden gekoppeld aan berichten om zo bezoekers naar deze website te trekken.\"\n\t},\n\t\"default-image\": \"Standaardafbeelding\"\n}\n"
  },
  {
    "path": "bl-plugins/twitter-cards/languages/ru_RU.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"X/Twitter Cards\",\n\t\t\"description\": \"С помощью X (ранее Twitter) Cards вы можете добавить фото, видео и медиа к публикациям, тем самым привлекая дополнительный трафик для вашего сайта.\"\n\t},\n\t\"default-image\": \"Изображение по умолчанию\"\n}\n"
  },
  {
    "path": "bl-plugins/twitter-cards/languages/tr_TR.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"X/Twitter Cards\",\n\t\t\"description\": \"X (eski adıyla Twitter) Kartları ile zengin fotoğraf, video ve medya deneyimlerini gönderilere ekleyebilir ve web sitenize trafik çekmenize yardımcı olabilirsiniz.\"\n\t},\n\t\"default-image\": \"Varsayılan resim\"\n}\n"
  },
  {
    "path": "bl-plugins/twitter-cards/metadata.json",
    "content": "{\n\t\"author\": \"Bludit\",\n\t\"email\": \"\",\n\t\"website\": \"https://plugins.bludit.com\",\n\t\"version\": \"3.21.0\",\n\t\"releaseDate\": \"2026-04-25\",\n\t\"license\": \"MIT\",\n\t\"compatible\": \"3.21\",\n\t\"notes\": \"\"\n}\n"
  },
  {
    "path": "bl-plugins/twitter-cards/plugin.php",
    "content": "<?php\n\nclass pluginTwitterCards extends Plugin\n{\n\n\tpublic function init()\n\t{\n\t\t// Fields and default values for the database of this plugin\n\t\t$this->dbFields = array(\n\t\t\t'defaultImage' => '',\n\t\t\t'twitterSite' => '',\n\t\t\t'cardType' => 'summary_large_image'\n\t\t);\n\t}\n\n\tpublic function form()\n\t{\n\t\tglobal $L;\n\n\t\t$html  = '<div class=\"alert alert-primary\" role=\"alert\">';\n\t\t$html .= $this->description();\n\t\t$html .= '</div>';\n\n\t\t$html .= '<div>';\n\t\t$html .= '<label>Twitter @username</label>';\n\t\t$html .= '<input name=\"twitterSite\" type=\"text\" dir=\"auto\" value=\"' . $this->getValue('twitterSite') . '\" placeholder=\"@username\">';\n\t\t$html .= '<span class=\"tip\">Your Twitter @username for twitter:site attribution</span>';\n\t\t$html .= '</div>';\n\n\t\t$html .= '<div>';\n\t\t$html .= '<label>Card Type</label>';\n\t\t$html .= '<select name=\"cardType\">';\n\t\t$html .= '<option value=\"summary_large_image\"' . ($this->getValue('cardType') === 'summary_large_image' ? ' selected' : '') . '>Summary with Large Image (recommended)</option>';\n\t\t$html .= '<option value=\"summary\"' . ($this->getValue('cardType') === 'summary' ? ' selected' : '') . '>Summary</option>';\n\t\t$html .= '</select>';\n\t\t$html .= '<span class=\"tip\">Large image cards get better engagement on Twitter</span>';\n\t\t$html .= '</div>';\n\n\t\t$html .= '<div>';\n\t\t$html .= '<label>' . $L->get('Default image') . '</label>';\n\t\t$html .= '<input id=\"jsdefaultImage\" name=\"defaultImage\" type=\"text\" dir=\"auto\" value=\"' . $this->getValue('defaultImage') . '\" placeholder=\"https://\">';\n\t\t$html .= '<span class=\"tip\">Fallback image when content has no image</span>';\n\t\t$html .= '</div>';\n\n\t\treturn $html;\n\t}\n\n\t/**\n\t * Sanitize and escape content for use in meta tags\n\t */\n\tprivate function sanitize($text, $maxLength = 0)\n\t{\n\t\t// Strip HTML tags\n\t\t$text = strip_tags($text);\n\t\t// Decode HTML entities first to avoid double encoding\n\t\t$text = html_entity_decode($text, ENT_QUOTES, 'UTF-8');\n\t\t// Trim whitespace\n\t\t$text = trim($text);\n\t\t// Truncate if needed (Twitter has limits)\n\t\tif ($maxLength > 0 && mb_strlen($text, 'UTF-8') > $maxLength) {\n\t\t\t$text = mb_substr($text, 0, $maxLength, 'UTF-8') . '...';\n\t\t}\n\t\t// Escape for HTML attribute\n\t\treturn htmlspecialchars($text, ENT_QUOTES, 'UTF-8');\n\t}\n\n\tpublic function siteHead()\n\t{\n\t\tglobal $url;\n\t\tglobal $site;\n\t\tglobal $WHERE_AM_I;\n\t\tglobal $content;\n\t\tglobal $page;\n\n\t\t$cardType = $this->getValue('cardType');\n\t\tif (empty($cardType)) {\n\t\t\t$cardType = 'summary_large_image';\n\t\t}\n\n\t\t$data = array(\n\t\t\t'card'\t\t=> $cardType,\n\t\t\t'site'\t\t=> $this->getValue('twitterSite'),\n\t\t\t'title'\t\t=> $this->sanitize($site->title(), 70),\n\t\t\t'description'\t=> $this->sanitize($site->description(), 200),\n\t\t\t'image'\t\t=> '',\n\t\t\t'imageAlt'\t=> ''\n\t\t);\n\n\t\tswitch ($WHERE_AM_I) {\n\t\t\tcase 'page':\n\t\t\t\t$data['title'] = $this->sanitize($page->title(), 70);\n\n\t\t\t\t// Get description: use page description or fallback to content excerpt\n\t\t\t\t$description = $page->description();\n\t\t\t\tif (empty($description)) {\n\t\t\t\t\t$description = Text::truncate(strip_tags($page->contentRaw()), 160);\n\t\t\t\t}\n\t\t\t\t$data['description'] = $this->sanitize($description, 200);\n\t\t\t\t$data['image'] = $page->coverImage($absolute = true);\n\t\t\t\t$data['imageAlt'] = $data['title'];\n\n\t\t\t\t$pageContent = $page->content();\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\t$pageContent = '';\n\t\t\t\tif (Text::isNotEmpty($this->getValue('defaultImage'))) {\n\t\t\t\t\t$data['image'] = $this->getValue('defaultImage');\n\t\t\t\t} elseif (isset($content[0])) {\n\t\t\t\t\t$data['image'] = $content[0]->coverImage($absolute = true);\n\t\t\t\t\t$data['imageAlt'] = $this->sanitize($content[0]->title(), 70);\n\t\t\t\t\t$pageContent = $content[0]->content();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\n\t\t// Build HTML output\n\t\t$html  = PHP_EOL . '<!-- Twitter Cards -->' . PHP_EOL;\n\t\t$html .= '<meta name=\"twitter:card\" content=\"' . $data['card'] . '\">' . PHP_EOL;\n\n\t\t// Add site handle if configured\n\t\tif (!empty($data['site'])) {\n\t\t\t$html .= '<meta name=\"twitter:site\" content=\"' . $this->sanitize($data['site']) . '\">' . PHP_EOL;\n\t\t}\n\n\t\t$html .= '<meta name=\"twitter:title\" content=\"' . $data['title'] . '\">' . PHP_EOL;\n\t\t$html .= '<meta name=\"twitter:description\" content=\"' . $data['description'] . '\">' . PHP_EOL;\n\n\t\t// If the page doesn't have a coverImage try to get an image from the HTML content\n\t\tif (empty($data['image'])) {\n\t\t\t$src = DOM::getFirstImage($pageContent);\n\t\t\tif ($src !== false) {\n\t\t\t\t$data['image'] = $src;\n\t\t\t} elseif (Text::isNotEmpty($this->getValue('defaultImage'))) {\n\t\t\t\t$data['image'] = $this->getValue('defaultImage');\n\t\t\t}\n\t\t}\n\n\t\t// Add image with alt text for accessibility\n\t\tif (!empty($data['image'])) {\n\t\t\t$html .= '<meta name=\"twitter:image\" content=\"' . $data['image'] . '\">' . PHP_EOL;\n\t\t\tif (!empty($data['imageAlt'])) {\n\t\t\t\t$html .= '<meta name=\"twitter:image:alt\" content=\"' . $data['imageAlt'] . '\">' . PHP_EOL;\n\t\t\t}\n\t\t}\n\n\t\treturn $html;\n\t}\n}\n"
  },
  {
    "path": "bl-plugins/version/js/version.js",
    "content": "\nfunction getLatestVersion() {\n\n\tconsole.log(\"[INFO] [PLUGIN VERSION] Getting list of versions of Bludit.\");\n\n\t$.ajax({\n\t\turl: \"https://version.bludit.com\",\n\t\tmethod: \"GET\",\n\t\tdataType: 'json',\n\t\tsuccess: function(json) {\n\t\t\tconsole.log(\"[INFO] [PLUGIN VERSION] Request completed.\");\n\n\t\t\t// Constant BLUDIT_BUILD is defined on variables.js\n\t\t\tif (json.stable.build > BLUDIT_BUILD) {\n\t\t\t\t$(\".current-version\").hide();\n\t\t\t\t$(\".new-version\").show();\n\t\t\t}\n\t\t},\n\t\terror: function(json) {\n\t\t\tconsole.log(\"[WARN] [PLUGIN VERSION] There is some issue to get the version status.\");\n\t\t}\n\t});\n}\n\ngetLatestVersion();"
  },
  {
    "path": "bl-plugins/version/languages/da.json",
    "content": "{\n\t\"plugin-data\": {\n\t\t\"description\": \"Vis den aktuelle version på sidepanelet på kontrolpanelet, og kontroller regelmæssigt for nye Bludit udgivelser.\",\n\t\t\"name\": \"Version\"\n\t},\n\t\"show-alert-when-there-is-a-new-version-in-the-sidebar\": \"Vis notifikation, når der er en ny version i sidepanelet\",\n\t\"show-current-version-in-the-sidebar\": \"Vis den aktuelle version i sidepanelet\"\n}\n"
  },
  {
    "path": "bl-plugins/version/languages/de_CH.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Version\",\n\t\t\"description\": \"Zeigt die installierte Version von Bludit in der rechten unteren Ecke des Administrationsbereichs an. Tipp: Regelmässig prüfen, ob eine neue Version verfügbar ist.\"\n\t},\n\t\"show-current-version-in-the-sidebar\": \"Show current version in the sidebar\",\n\t\"show-alert-when-there-is-a-new-version-in-the-sidebar\": \"Show alert when there is a new version in the sidebar\"\n}\n"
  },
  {
    "path": "bl-plugins/version/languages/de_DE.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Version\",\n\t\t\"description\": \"Zeigt die installierte Version von Bludit in der rechten unteren Ecke des Administrationsbereichs an. Tipp: Regelmäßig prüfen, ob eine neue Version verfügbar ist.\"\n\t},\n\t\"show-current-version-in-the-sidebar\": \"Show current version in the sidebar\",\n\t\"show-alert-when-there-is-a-new-version-in-the-sidebar\": \"Show alert when there is a new version in the sidebar\"\n}\n"
  },
  {
    "path": "bl-plugins/version/languages/en.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Version\",\n\t\t\"description\": \"Show the current version on the sidebar of the admin panel, and check periodically for new Bludit releases.\"\n\t},\n\t\"show-current-version-in-the-sidebar\": \"Show current version in the sidebar\",\n\t\"show-alert-when-there-is-a-new-version-in-the-sidebar\": \"Show alert when there is a new version in the sidebar\"\n}"
  },
  {
    "path": "bl-plugins/version/languages/es.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Versión\",\n\t\t\"description\": \"Muestra la versión actual en la barra del panel de administración y comprueba periódicamente si hay nuevas versiones de Bludit.\"\n\t},\n\t\"show-current-version-in-the-sidebar\": \"Mostrar la versión actual en la barra lateral\",\n\t\"show-alert-when-there-is-a-new-version-in-the-sidebar\": \"Mostrar alerta cuando hay una nueva versión en la barra lateral\"\n}"
  },
  {
    "path": "bl-plugins/version/languages/fa_IR.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"نسخه\",\n\t\t\"description\": \"نمایش نسخه جاری در نوار کناری پنل مدیریت، و بررسی دوره ای برای نسخه های جدید بلودیت.\"\n\t},\n\t\"show-current-version-in-the-sidebar\": \"Show current version in the sidebar\",\n\t\"show-alert-when-there-is-a-new-version-in-the-sidebar\": \"Show alert when there is a new version in the sidebar\"\n}\n"
  },
  {
    "path": "bl-plugins/version/languages/fr_FR.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Version\",\n\t\t\"description\": \"Affiche la version actuelle dans la barre latérale du panneau d’administration, et vérifie périodiquement les nouvelles versions de Bludit.\"\n\t},\n\t\"show-current-version-in-the-sidebar\": \"Afficher la version actuelle dans la barre latérale\",\n\t\"show-alert-when-there-is-a-new-version-in-the-sidebar\": \"Afficher une alerte lorsqu'il y a une nouvelle version dans la barre latérale\"\n}"
  },
  {
    "path": "bl-plugins/version/languages/it.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Versione\",\n\t\t\"description\": \"Visualizza la versione corrente in basso a destra nel pannello di amministrazione, e controlla periodicamente i nuovi rilasci di Bludit.\"\n\t},\n\t\"show-current-version-in-the-sidebar\": \"Show current version in the sidebar\",\n\t\"show-alert-when-there-is-a-new-version-in-the-sidebar\": \"Show alert when there is a new version in the sidebar\"\n}"
  },
  {
    "path": "bl-plugins/version/languages/ja_JP.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"バージョン\",\n\t\t\"description\": \"Show the current version on the sidebar of the admin panel, and check periodically for new Bludit releases.\"\n\t},\n\t\"show-current-version-in-the-sidebar\": \"Show current version in the sidebar\",\n\t\"show-alert-when-there-is-a-new-version-in-the-sidebar\": \"Show alert when there is a new version in the sidebar\"\n}"
  },
  {
    "path": "bl-plugins/version/languages/nl_NL.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Versie\",\n\t\t\"description\": \"Toont de huidige versie in de zijbalk van het beheergedeelte en controleert periodiek op nieuwe Bludit-versies.\"\n\t},\n\t\"show-current-version-in-the-sidebar\": \"De huidige versie in de zijbalk tonen\",\n\t\"show-alert-when-there-is-a-new-version-in-the-sidebar\": \"Een melding in de zijbalk tonen wanneer er een nieuwe versie beschikbaar is\"\n}\n"
  },
  {
    "path": "bl-plugins/version/languages/ru_RU.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Версия\",\n\t\t\"description\": \"Показывает текущую версию в левой нижней части административной панели; периодически проверяет новые выпуски Bludit.\"\n\t},\n\t\"version\": \"Версия\",\n\t\"show-current-version-in-the-sidebar\": \"Отображает используемую версию Bludit внизу боковой панели администратора\",\n\t\"show-alert-when-there-is-a-new-version-in-the-sidebar\": \"Показывает уведомление в боковой панели администратора появлении новой версии\"\n}\n"
  },
  {
    "path": "bl-plugins/version/languages/tr_TR.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Sürüm\",\n\t\t\"description\": \"Geçerli sürümünü yönetici panelinin kenar çubuğunda gösterin ve yeni Bludit sürümleri için düzenli olarak kontrol edin.\"\n\t},\n\t\"show-current-version-in-the-sidebar\": \"Show current version in the sidebar\",\n\t\"show-alert-when-there-is-a-new-version-in-the-sidebar\": \"Show alert when there is a new version in the sidebar\"\n}\n"
  },
  {
    "path": "bl-plugins/version/metadata.json",
    "content": "{\n\t\"author\": \"Bludit\",\n\t\"email\": \"\",\n\t\"website\": \"https://plugins.bludit.com\",\n\t\"version\": \"3.21.0\",\n\t\"releaseDate\": \"2026-04-25\",\n\t\"license\": \"MIT\",\n\t\"compatible\": \"3.21\",\n\t\"notes\": \"\"\n}\n"
  },
  {
    "path": "bl-plugins/version/plugin.php",
    "content": "<?php\n\nclass pluginVersion extends Plugin\n{\n\n\tpublic function init()\n\t{\n\t\t$this->dbFields = array(\n\t\t\t'showCurrentVersion' => true,\n\t\t\t'newVersionAlert' => true\n\t\t);\n\t}\n\n\tpublic function form()\n\t{\n\t\tglobal $L;\n\n\t\t$html  = '<div>';\n\t\t$html .= '<label>' . $L->get('Show current version in the sidebar') . '</label>';\n\t\t$html .= '<select name=\"showCurrentVersion\">';\n\t\t$html .= '<option value=\"true\" ' . ($this->getValue('showCurrentVersion') === true ? 'selected' : '') . '>' . $L->get('Enabled') . '</option>';\n\t\t$html .= '<option value=\"false\" ' . ($this->getValue('showCurrentVersion') === false ? 'selected' : '') . '>' . $L->get('Disabled') . '</option>';\n\t\t$html .= '</select>';\n\t\t$html .= '</div>';\n\n\t\t$html .= '<div>';\n\t\t$html .= '<label>' . $L->get('Show alert when there is a new version in the sidebar') . '</label>';\n\t\t$html .= '<select name=\"newVersionAlert\">';\n\t\t$html .= '<option value=\"true\" ' . ($this->getValue('newVersionAlert') === true ? 'selected' : '') . '>' . $L->get('Enabled') . '</option>';\n\t\t$html .= '<option value=\"false\" ' . ($this->getValue('newVersionAlert') === false ? 'selected' : '') . '>' . $L->get('Disabled') . '</option>';\n\t\t$html .= '</select>';\n\t\t$html .= '</div>';\n\n\t\treturn $html;\n\t}\n\n\tpublic function adminSidebar()\n\t{\n\t\tglobal $L;\n\t\t$html = '';\n\t\tif ($this->getValue('showCurrentVersion')) {\n\t\t\t$html = '<a id=\"current-version\" class=\"current-version nav-link\" href=\"' . HTML_PATH_ADMIN_ROOT . 'about' . '\">' . $L->get('Version') . ' ' . (defined('BLUDIT_PRO') ? '<span class=\"bi-heart\" style=\"color: #ffc107\"></span>' : '') . '<span class=\"badge bg-warning rounded-pill\">' . BLUDIT_VERSION . '</span></a>';\n\t\t}\n\t\tif ($this->getValue('newVersionAlert')) {\n\t\t\t$html .= '<a id=\"new-version\" class=\"new-version\" style=\"display: none;\" target=\"_blank\" href=\"https://www.bludit.com\">' . $L->get('New version available') . ' <i class=\"fa fa-bell text-danger\"></i></a>';\n\t\t}\n\t\treturn $html;\n\t}\n\n\tpublic function adminBodyEnd()\n\t{\n\t\tif ($this->getValue('newVersionAlert')) {\n\t\t\t// The follow Javascript get via AJAX the information about new versions\n\t\t\t// The script is on /bl-plugins/version/js/version.js\n\t\t\t$jsPath = $this->phpPath() . 'js' . DS;\n\t\t\t$scripts  = '<script>' . file_get_contents($jsPath . 'version.js') . '</script>';\n\t\t\treturn $scripts;\n\t\t}\n\t\treturn false;\n\t}\n}\n"
  },
  {
    "path": "bl-plugins/visits-stats/languages/de_AT.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Statistik\",\n\t\t\"description\": \"Zeigt die Anzahl der Seitenaufrufe und der Besucher im Dashboard.\"\n\t},\n\t\"visits\": \"Seitenaufrufe\",\n\t\"visitors\": \"Besucher\",\n\t\"unique-visitors\": \"Eindeutige Besucher\",\n\t\"exclude-administrators-users\" : \"Benutzer mit der Rolle 'Administrator' ausschliessen\"\n}\n"
  },
  {
    "path": "bl-plugins/visits-stats/languages/de_CH.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Statistik\",\n\t\t\"description\": \"Zeigt die Anzahl der Seitenaufrufe und der Besucher im Dashboard.\"\n\t},\n\t\"visits\": \"Seitenaufrufe\",\n\t\"visitors\": \"Besucher\",\n\t\"unique-visitors\": \"Eindeutige Besucher\",\n\t\"exclude-administrators-users\" : \"Benutzer mit der Rolle 'Administrator' ausschliessen\"\n}\n"
  },
  {
    "path": "bl-plugins/visits-stats/languages/de_DE.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Statistik\",\n\t\t\"description\": \"Zeigt die Anzahl der Seitenaufrufe und der Besucher im Dashboard.\"\n\t},\n\t\"visits\": \"Seitenaufrufe\",\n\t\"visitors\": \"Besucher\",\n\t\"unique-visitors\": \"Eindeutige Besucher\",\n\t\"exclude-administrators-users\" : \"Benutzer mit der Rolle 'Administrator' ausschliessen\"\n}\n"
  },
  {
    "path": "bl-plugins/visits-stats/languages/en.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Visits Stats\",\n\t\t\"description\": \"Shows the number of visits and unique visitors in the dashboard.\"\n\t},\n\t\"visits\": \"Visits\",\n\t\"visitors\": \"Visitors\",\n\t\"unique-visitors\": \"Unique visitors\",\n\t\"exclude-administrators-users\" : \"Exclude users with role 'Administrator'\"\n}"
  },
  {
    "path": "bl-plugins/visits-stats/languages/it_IT.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Statistiche delle visite\",\n\t\t\"description\": \"Mostra nel pannello principale il numero di visite e di visitatori unici.\"\n\t},\n\t\"visits\": \"Visite\",\n\t\"visitors\": \"Visitatori\",\n\t\"unique-visitors\": \"Visitatori unici\",\n\t\"exclude-administrators-users\" : \"Escludi gli utenti con il ruolo di 'Amministratore'\"\n}\n"
  },
  {
    "path": "bl-plugins/visits-stats/languages/ja_JP.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Visits Stats\",\n\t\t\"description\": \"ダッシュボードに訪問者数とユニーク訪問者数を表示します。\"\n\t},\n\t\"visits\": \"訪問者\",\n\t\"visitors\": \"訪問者数\",\n\t\"unique-visitors\": \"ユニーク訪問者数\",\n\t\"exclude-administrators-users\" : \"管理者グループのユーザーを除外する\"\n}"
  },
  {
    "path": "bl-plugins/visits-stats/languages/nl_NL.json",
    "content": "{\n\t\"plugin-data\":\n\t{\n\t\t\"name\": \"Bezoekersstatistieken\",\n\t\t\"description\": \"Toont het aantal bezoeken en unieke bezoekers in het dashboard.\"\n\t},\n\t\"visits\": \"Bezoeken\",\n\t\"visitors\": \"Bezoekers\",\n\t\"unique-visitors\": \"Unieke bezoekers\",\n\t\"exclude-administrators-users\" : \"Gebruikers met de rol 'Beheerder' uitsluiten\"\n}"
  },
  {
    "path": "bl-plugins/visits-stats/metadata.json",
    "content": "{\n\t\"author\": \"Bludit\",\n\t\"email\": \"\",\n\t\"website\": \"https://plugins.bludit.com\",\n\t\"version\": \"3.21.0\",\n\t\"releaseDate\": \"2026-04-25\",\n\t\"license\": \"MIT\",\n\t\"compatible\": \"3.21\",\n\t\"notes\": \"\"\n}\n"
  },
  {
    "path": "bl-plugins/visits-stats/plugin.php",
    "content": "<?php\n\nclass pluginVisitsStats extends Plugin\n{\n\n\tpublic function init()\n\t{\n\t\tglobal $L;\n\t\t$this->dbFields = array(\n\t\t\t'label'         => $L->g('Visits'),\n\t\t\t'excludeAdmins' => false\n\t\t);\n\t}\n\n\tpublic function adminHead()\n\t{\n\t\tif ($GLOBALS['ADMIN_VIEW'] !== 'dashboard') {\n\t\t\treturn false;\n\t\t}\n\n\t\t$html  = $this->includeCSS('chart.min.css');\n\t\t$html .= $this->includeJS('chart.bundle.min.js');\n\t\treturn $html;\n\t}\n\n\t// Plugin form for settings\n\tpublic function form()\n\t{\n\t\tglobal $L;\n\n\t\t$html  = '<div class=\"mb-3\">';\n\t\t$html .= '<label class=\"form-label\" for=\"label\">' . $L->get('Label') . '</label>';\n\t\t$html .= '<input class=\"form-control\" id=\"label\" name=\"label\" type=\"text\" dir=\"auto\" value=\"' . $this->getValue('label') . '\">';\n\t\t$html .= '<div class=\"form-text\">' . $L->get('This title is almost always used in the sidebar of the site') . '</div>';\n\t\t$html .= '</div>';\n\n\t\tif (defined('BLUDIT_PRO')) {\n\t\t\t$html .= '<div class=\"mb-3\">';\n\t\t\t$html .= '<label class=\"form-label\" for=\"excludeAdmins\">' . $L->get('Exclude administrators users') . '</label>';\n\t\t\t$html .= '<select class=\"form-select\" id=\"excludeAdmins\" name=\"excludeAdmins\">';\n\t\t\t$html .= '<option value=\"true\" ' . ($this->getValue('excludeAdmins') === true ? 'selected' : '') . '>' . $L->get('Enabled') . '</option>';\n\t\t\t$html .= '<option value=\"false\" ' . ($this->getValue('excludeAdmins') === false ? 'selected' : '') . '>' . $L->get('Disabled') . '</option>';\n\t\t\t$html .= '</select>';\n\t\t\t$html .= '</div>';\n\t\t}\n\n\t\treturn $html;\n\t}\n\n\tpublic function siteBodyEnd()\n\t{\n\t\t$currentDate = Date::current('Y-m-d');\n\t\t$isNewDay = !file_exists($this->workspace() . $currentDate . '.log');\n\t\t$visitorAdded = $this->addVisitor();\n\t\tif ($isNewDay && $visitorAdded) {\n\t\t\t$this->deleteOldLogs();\n\t\t}\n\t}\n\n\t// Delete log files older than 7 days\n\tpublic function deleteOldLogs()\n\t{\n\t\t$logs = Filesystem::listFiles($this->workspace(), '*', 'log', false);\n\t\trsort($logs);\n\t\t$remove = array_slice($logs, 7);\n\t\tforeach ($remove as $log) {\n\t\t\tFilesystem::rmfile($log);\n\t\t}\n\t}\n\n\t// Returns the number of visits for a given date (YYYY-MM-DD)\n\tpublic function visits($date)\n\t{\n\t\t$file = $this->workspace() . $date . '.log';\n\t\tif (!file_exists($file)) {\n\t\t\treturn 0;\n\t\t}\n\t\t$handle = @fopen($file, 'rb');\n\t\tif ($handle === false) {\n\t\t\treturn 0;\n\t\t}\n\n\t\t// The amount of visits is the number of lines on the file\n\t\t$lines = 0;\n\t\twhile (!feof($handle)) {\n\t\t\t$lines += substr_count(fread($handle, 8192), PHP_EOL);\n\t\t}\n\t\t@fclose($handle);\n\t\treturn $lines;\n\t}\n\n\t// Returns the number of unique visitors for a given date (YYYY-MM-DD)\n\tpublic function uniqueVisitors($date)\n\t{\n\t\t$file = $this->workspace() . $date . '.log';\n\t\tif (!file_exists($file)) {\n\t\t\treturn 0;\n\t\t}\n\t\t$lines = @file($file);\n\t\tif (empty($lines)) {\n\t\t\treturn 0;\n\t\t}\n\n\t\t$seen = array();\n\t\tforeach ($lines as $line) {\n\t\t\t$data = json_decode($line, true);\n\t\t\tif (is_array($data) && isset($data[0]) && is_string($data[0]) && $data[0] !== '') {\n\t\t\t\t$seen[$data[0]] = true;\n\t\t\t}\n\t\t}\n\t\treturn count($seen);\n\t}\n\n\t// Single-pass read of a day log returning [total, unique]\n\tprivate function readCounts($date)\n\t{\n\t\t$file = $this->workspace() . $date . '.log';\n\t\tif (!file_exists($file)) {\n\t\t\treturn array(0, 0);\n\t\t}\n\t\t$handle = @fopen($file, 'rb');\n\t\tif ($handle === false) {\n\t\t\treturn array(0, 0);\n\t\t}\n\t\t$total = 0;\n\t\t$seen  = array();\n\t\twhile (($line = fgets($handle)) !== false) {\n\t\t\t$total++;\n\t\t\t$data = json_decode($line, true);\n\t\t\tif (is_array($data) && isset($data[0]) && is_string($data[0]) && $data[0] !== '') {\n\t\t\t\t$seen[$data[0]] = true;\n\t\t\t}\n\t\t}\n\t\t@fclose($handle);\n\t\treturn array($total, count($seen));\n\t}\n\n\t// Returns visits and unique-visitor counts for the last $days days\n\t// Returns ['labels'=>[], 'visits'=>[], 'unique'=>[], 'total'=>int]\n\tpublic function getLastDaysData($days = 7)\n\t{\n\t\t$result = array('labels' => array(), 'visits' => array(), 'unique' => array(), 'total' => 0);\n\t\tfor ($i = $days - 1; $i >= 0; $i--) {\n\t\t\t$date = Date::currentOffset('Y-m-d', '-' . $i . ' day');\n\t\t\tlist($v, $u) = $this->readCounts($date);\n\t\t\t$result['labels'][] = Date::format($date, 'Y-m-d', 'D');\n\t\t\t$result['visits'][] = $v;\n\t\t\t$result['unique'][] = $u;\n\t\t\t$result['total']   += $v;\n\t\t}\n\t\treturn $result;\n\t}\n\n\t// Add a line to the current day log file\n\tpublic function addVisitor()\n\t{\n\t\tglobal $security;\n\t\tif (Cookie::get('BLUDIT-KEY') && defined('BLUDIT_PRO') && $this->getValue('excludeAdmins')) {\n\t\t\treturn false;\n\t\t}\n\t\t$currentTime = Date::current('Y-m-d H:i:s');\n\t\t$ip     = $security->getUserIp();\n\t\t$hashIP = md5($ip);\n\n\t\t$line        = json_encode(array($hashIP, $currentTime));\n\t\t$currentDate = Date::current('Y-m-d');\n\t\t$logFile     = $this->workspace() . $currentDate . '.log';\n\n\t\treturn file_put_contents($logFile, $line . PHP_EOL, FILE_APPEND | LOCK_EX) !== false;\n\t}\n}\n"
  },
  {
    "path": "bl-themes/alternative/css/style.css",
    "content": "/* ==========================================================================\n   Apple-inspired Design System\n   Clean, minimal, with elegant typography and subtle animations\n   ========================================================================== */\n\n:root {\n\t/* Apple-inspired color palette */\n\t--color-primary: #0071e3;\n\t--color-primary-hover: #0077ed;\n\t--color-secondary: #86868b;\n\t--color-text: #1d1d1f;\n\t--color-text-muted: #6e6e73;\n\t--color-background: #ffffff;\n\t--color-background-secondary: #fbfbfd;\n\t--color-background-tertiary: #f5f5f7;\n\t--color-border: #d2d2d7;\n\t--color-border-light: #e8e8ed;\n\t--color-success: #34c759;\n\t--color-warning: #ff9f0a;\n\t--color-error: #ff3b30;\n\n\t/* Typography */\n\t--font-family: -apple-system, BlinkMacSystemFont, \"SF Pro Display\", \"SF Pro Text\", \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n\t--font-weight-regular: 400;\n\t--font-weight-medium: 500;\n\t--font-weight-semibold: 600;\n\t--font-weight-bold: 700;\n\n\t/* Font sizes - fluid and responsive */\n\t--font-size-base: 1.0625rem;        /* 17px - improved readability */\n\t--font-size-sm: 0.9375rem;          /* 15px */\n\t--font-size-xs: 0.875rem;           /* 14px */\n\t--font-size-lg: 1.1875rem;          /* 19px */\n\t--font-size-xl: 1.375rem;           /* 22px */\n\t--font-size-h1: clamp(2.25rem, 5vw, 3.5rem);   /* 36px-56px - responsive */\n\t--font-size-h2: clamp(1.875rem, 4vw, 2.5rem);  /* 30px-40px */\n\t--font-size-h3: clamp(1.5rem, 3vw, 2rem);      /* 24px-32px */\n\t--font-size-h4: clamp(1.25rem, 2.5vw, 1.5rem); /* 20px-24px */\n\t--font-size-h5: 1.125rem;           /* 18px */\n\t--font-size-h6: 1rem;               /* 16px */\n\n\t/* Line heights for better readability */\n\t--line-height-base: 1.6;\n\t--line-height-tight: 1.3;\n\t--line-height-loose: 1.8;\n\n\t/* Spacing */\n\t--spacing-xs: 0.25rem;\n\t--spacing-sm: 0.5rem;\n\t--spacing-md: 1rem;\n\t--spacing-lg: 1.5rem;\n\t--spacing-xl: 2rem;\n\t--spacing-2xl: 3rem;\n\t--spacing-3xl: 4rem;\n\n\t/* Border radius */\n\t--radius-sm: 8px;\n\t--radius-md: 12px;\n\t--radius-lg: 18px;\n\t--radius-xl: 22px;\n\n\t/* Shadows */\n\t--shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.04);\n\t--shadow-md: 0 4px 12px rgba(0, 0, 0, 0.08);\n\t--shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.12);\n\n\t/* Transitions */\n\t--transition-fast: 0.15s ease;\n\t--transition-normal: 0.25s ease;\n\t--transition-slow: 0.4s ease;\n}\n\n/* Dark mode support */\n@media (prefers-color-scheme: dark) {\n\t:root {\n\t\t--color-primary: #2997ff;\n\t\t--color-primary-hover: #47a9ff;\n\t\t--color-secondary: #a1a1a6;\n\t\t--color-text: #f5f5f7;\n\t\t--color-text-muted: #a1a1a6;\n\t\t--color-background: #000000;\n\t\t--color-background-secondary: #161617;\n\t\t--color-background-tertiary: #1d1d1f;\n\t\t--color-border: #424245;\n\t\t--color-border-light: #2d2d2d;\n\t}\n\n\tbody {\n\t\tbackground-color: var(--color-background);\n\t}\n\n\t.navbar-dark {\n\t\tbackground-color: rgba(0, 0, 0, 0.8) !important;\n\t}\n\n\t.bg-light {\n\t\tbackground-color: var(--color-background-tertiary) !important;\n\t}\n\n\t.bg-dark {\n\t\tbackground-color: var(--color-background-tertiary) !important;\n\t}\n\n\t.text-dark {\n\t\tcolor: var(--color-text) !important;\n\t}\n\n\t.form-control {\n\t\tbackground-color: var(--color-background-secondary);\n\t\tborder-color: var(--color-border);\n\t\tcolor: var(--color-text);\n\t}\n}\n\nhtml {\n\tposition: relative;\n\tmin-height: 100%;\n\tscroll-behavior: smooth;\n\t-webkit-font-smoothing: antialiased;\n\t-moz-osx-font-smoothing: grayscale;\n}\n\nbody {\n\tfont-family: var(--font-family);\n\tfont-size: var(--font-size-base);\n\tfont-weight: var(--font-weight-regular);\n\tcolor: var(--color-text);\n\tbackground-color: var(--color-background);\n\tpadding-top: 56px;\n\tmargin-bottom: 100px;\n\tline-height: var(--line-height-base);\n\tletter-spacing: -0.022em;\n}\n\n/* Skip link for accessibility */\n.skip-link {\n\tposition: absolute;\n\ttop: -40px;\n\tleft: 0;\n\tbackground: var(--color-primary);\n\tcolor: #fff;\n\tpadding: 8px 16px;\n\tz-index: 9999;\n\ttransition: top var(--transition-normal);\n\tborder-radius: 0 0 var(--radius-sm) 0;\n}\n\n.skip-link:focus {\n\ttop: 0;\n}\n\nsection {\n\tpadding: 80px 0;\n}\n\nimg {\n\tmax-width: 100%;\n\theight: auto;\n}\n\n/* Links */\na {\n\tcolor: var(--color-primary);\n\ttext-decoration: none;\n\ttransition: color var(--transition-fast), opacity var(--transition-fast);\n}\n\na:hover {\n\tcolor: var(--color-primary-hover);\n}\n\na:focus {\n\toutline: 2px solid var(--color-primary);\n\toutline-offset: 2px;\n\tborder-radius: 4px;\n}\n\n/* Typography */\nh1, h2, h3, h4, h5, h6 {\n\tfont-weight: var(--font-weight-semibold);\n\tletter-spacing: -0.022em;\n\tcolor: var(--color-text);\n}\n\nh1.title {\n\tfont-size: var(--font-size-h1);\n\tline-height: var(--line-height-tight);\n\tfont-weight: var(--font-weight-bold);\n\tmargin-bottom: 1.5rem;\n}\n\nh2.title {\n\tfont-size: var(--font-size-h2);\n\tline-height: var(--line-height-tight);\n\tfont-weight: var(--font-weight-semibold);\n\tmargin-bottom: 1rem;\n}\n\nh2.title a {\n\tcolor: var(--color-text);\n\ttext-decoration: none;\n\ttransition: color var(--transition-fast);\n}\n\nh2.title a:hover {\n\tcolor: var(--color-primary);\n}\n\n/* Code blocks */\npre,\ncode {\n\tbackground: var(--color-background-tertiary);\n\tcolor: var(--color-text);\n\tfont-family: \"SF Mono\", SFMono-Regular, ui-monospace, Menlo, Monaco, monospace;\n\tfont-size: var(--font-size-sm);\n\tborder-radius: var(--radius-sm);\n}\n\npre {\n\tpadding: var(--spacing-md);\n\toverflow-x: auto;\n\tborder: 1px solid var(--color-border-light);\n}\n\ncode {\n\tdisplay: inline-block;\n\tpadding: 0.125em 0.5em;\n\tline-height: 1.5;\n}\n\n/* Tables */\ntable {\n\tempty-cells: show;\n\tborder: 1px solid var(--color-border-light);\n\twidth: 100%;\n\tfont-size: var(--font-size-base);\n\tmargin-bottom: var(--spacing-md);\n\tborder-collapse: collapse;\n\tborder-radius: var(--radius-md);\n\toverflow: hidden;\n}\n\nthead {\n\tbackground-color: var(--color-background-tertiary);\n\tcolor: var(--color-text);\n\ttext-align: left;\n\tvertical-align: bottom;\n\tfont-weight: var(--font-weight-medium);\n}\n\ntr {\n\tdisplay: table-row;\n\tvertical-align: inherit;\n\tborder-color: inherit;\n}\n\ntbody tr:nth-child(even) {\n\tbackground-color: var(--color-background-secondary);\n}\n\ntbody tr:hover {\n\tbackground-color: var(--color-background-tertiary);\n}\n\nth,\ntd {\n\tpadding: 0.75em 1em;\n\tborder-bottom: 1px solid var(--color-border-light);\n}\n\n/* Blockquote */\nblockquote {\n\tpadding: var(--spacing-md) var(--spacing-lg);\n\tmargin: var(--spacing-lg) 0;\n\tborder-left: 4px solid var(--color-primary);\n\tfont-style: italic;\n\tbackground-color: var(--color-background-secondary);\n\tborder-radius: 0 var(--radius-sm) var(--radius-sm) 0;\n\tcolor: var(--color-text-muted);\n}\n\n.bi {\n\tmargin-right: 0.5rem !important;\n}\n\n/* Buttons */\n.btn {\n\tfont-weight: var(--font-weight-medium);\n\tborder-radius: var(--radius-xl);\n\tpadding: 0.5rem 1.25rem;\n\ttransition: all var(--transition-fast);\n\tborder: none;\n}\n\n.btn-primary {\n\tbackground: var(--color-primary);\n\tcolor: #fff;\n}\n\n.btn-primary:hover {\n\tbackground: var(--color-primary-hover);\n\ttransform: scale(1.02);\n}\n\n.btn-outline-primary {\n\tbackground: transparent;\n\tcolor: var(--color-primary);\n\tborder: 1.5px solid var(--color-primary);\n}\n\n.btn-outline-primary:hover {\n\tbackground: var(--color-primary);\n\tcolor: #fff;\n}\n\n.btn:focus {\n\tbox-shadow: 0 0 0 4px rgba(0, 113, 227, 0.3);\n}\n\n/* Paginator */\n.paginator {\n\tmargin-top: var(--spacing-2xl);\n\tmargin-bottom: var(--spacing-3xl);\n}\n\n.paginator .pagination {\n\tgap: var(--spacing-sm);\n}\n\n.paginator .page-item .page-link {\n\tborder: none;\n\tbackground: var(--color-background-tertiary);\n\tcolor: var(--color-text);\n\tborder-radius: var(--radius-xl);\n\tpadding: 0.5rem 1rem;\n\tfont-weight: var(--font-weight-medium);\n\ttransition: all var(--transition-fast);\n}\n\n.paginator .page-item .page-link:hover {\n\tbackground: var(--color-primary);\n\tcolor: #fff;\n}\n\n.paginator .page-item.disabled .page-link {\n\tbackground: var(--color-background-secondary);\n\tcolor: var(--color-text-muted);\n}\n\n.paginator .page-link:focus {\n\tbox-shadow: 0 0 0 4px rgba(0, 113, 227, 0.3);\n}\n\n/* ==========================================================================\n   Navbar - Apple style frosted glass effect\n   ========================================================================== */\n\n.navbar {\n\ttransition: background-color var(--transition-normal);\n\tbackdrop-filter: saturate(180%) blur(20px);\n\t-webkit-backdrop-filter: saturate(180%) blur(20px);\n\tbackground-color: rgba(29, 29, 31, 0.8) !important;\n}\n\n.navbar-brand {\n\tfont-weight: var(--font-weight-semibold);\n\tfont-size: var(--font-size-h4);\n\tletter-spacing: -0.01em;\n}\n\nimg.nav-svg-icon {\n\twidth: 1rem;\n\theight: 1rem;\n\tpadding-bottom: 2px;\n\ttransition: opacity var(--transition-fast);\n\tfilter: brightness(0) invert(1);\n}\n\nimg.nav-svg-icon:hover {\n\topacity: 0.7;\n}\n\n.nav-link {\n\tfont-size: var(--font-size-sm);\n\tfont-weight: var(--font-weight-medium);\n\tletter-spacing: 0.02em;\n\ttransition: color var(--transition-fast);\n\tpadding: 0.5rem 0.75rem !important;\n}\n\n.nav-item.active .nav-link {\n\tfont-weight: var(--font-weight-semibold);\n}\n\n/* ==========================================================================\n   Footer\n   ========================================================================== */\n\nfooter.footer {\n\tposition: absolute;\n\tbottom: 0;\n\twidth: 100%;\n\tmin-height: 60px;\n\tpadding: var(--spacing-lg) 0;\n\tfont-size: 0.75rem;\n\tbackground-color: var(--color-background-tertiary) !important;\n\tcolor: var(--color-text-muted);\n}\n\nfooter.footer.bg-dark {\n\tbackground-color: var(--color-background-tertiary) !important;\n}\n\nfooter.footer .text-white {\n\tcolor: var(--color-text-muted) !important;\n}\n\nfooter.footer a {\n\tcolor: var(--color-primary) !important;\n}\n\nfooter.footer a:hover {\n\tcolor: var(--color-primary-hover) !important;\n}\n\n.mini-logo {\n\theight: 18px;\n\tpadding-bottom: 3px;\n\topacity: 0.8;\n}\n\n/* ==========================================================================\n   Hero Section - Clean Modern Header\n   ========================================================================== */\n\n.hero {\n\tpadding: 100px 0 60px;\n\tbackground: var(--color-background-secondary);\n}\n\n.hero-content {\n\tmax-width: 680px;\n\tmargin: 0 auto;\n\ttext-align: center;\n}\n\n.hero-title {\n\tfont-size: var(--font-size-h1);\n\tfont-weight: var(--font-weight-bold);\n\tcolor: var(--color-text);\n\tmargin-bottom: var(--spacing-sm);\n\tletter-spacing: -0.02em;\n\tline-height: var(--line-height-tight);\n}\n\n.hero-subtitle {\n\tcolor: var(--color-text-secondary);\n\tfont-size: var(--font-size-lg);\n\tfont-weight: var(--font-weight-regular);\n\tline-height: var(--line-height-base);\n\tmargin: 0 auto;\n\tmax-width: 500px;\n}\n\n.hero-search {\n\tmargin-top: var(--spacing-xl);\n}\n\n.search-input-wrapper {\n\tposition: relative;\n\tmax-width: 320px;\n\tmargin: 0 auto;\n}\n\n.search-icon {\n\tposition: absolute;\n\tright: 14px;\n\ttop: 50%;\n\ttransform: translateY(-50%);\n\tcolor: var(--color-text-muted);\n\tpointer-events: none;\n}\n\n.hero-search .form-control {\n\tborder-radius: var(--radius-full);\n\tborder: 1px solid var(--color-border);\n\tpadding: 0.75rem 1rem 0.75rem 42px;\n\tfont-size: var(--font-size-base);\n\ttransition: all var(--transition-fast);\n\tbackground-color: var(--color-background-secondary);\n\twidth: 100%;\n}\n\n.hero-search .form-control:focus {\n\tborder-color: var(--color-primary);\n\tbox-shadow: 0 0 0 4px rgba(0, 113, 227, 0.1);\n\tbackground-color: var(--color-background);\n}\n\n.hero-search .form-control::placeholder {\n\tcolor: var(--color-text-muted);\n}\n\n@media (min-width: 768px) {\n\t.hero {\n\t\tpadding: 120px 0 80px;\n\t}\n\n\t.hero-subtitle {\n\t\tfont-size: var(--font-size-xl);\n\t}\n}\n\n/* ==========================================================================\n   Search form (for non-hero contexts)\n   ========================================================================== */\n\n.search-form .form-control {\n\tborder-radius: var(--radius-lg);\n\tborder: 1px solid var(--color-border);\n\tpadding: 0.625rem 1rem;\n\tfont-size: var(--font-size-base);\n\ttransition: all var(--transition-fast);\n\tbackground-color: var(--color-background);\n}\n\n.search-form .form-control:focus {\n\tborder-color: var(--color-primary);\n\tbox-shadow: 0 0 0 4px rgba(0, 113, 227, 0.15);\n}\n\n.search-form .btn {\n\tborder-radius: var(--radius-lg);\n}\n\n/* ==========================================================================\n   Home - Articles List\n   ========================================================================== */\n\narticle.home-page {\n\tpadding: var(--spacing-2xl) 0;\n\tborder-bottom: 1px solid var(--color-border-light);\n\tposition: relative;\n\tbackground: var(--color-background);\n}\n\narticle.home-page:nth-child(even) {\n\tbackground: var(--color-background);\n}\n\narticle.home-page:last-child {\n\tborder-bottom: none;\n}\n\narticle.home-page header {\n\tmargin-bottom: var(--spacing-sm);\n}\n\narticle.home-page h2.title {\n\tmargin-bottom: var(--spacing-xs);\n}\n\n/* Fix: Article footer should not be positioned absolutely */\narticle.home-page footer.mt-3 {\n\tposition: static;\n\tbackground: transparent !important;\n\tpadding: 0;\n\tmin-height: auto;\n\twidth: auto;\n\tmargin-top: var(--spacing-md) !important;\n}\n\narticle.home-page footer.mt-3 small {\n\tfont-size: var(--font-size-sm);\n\tcolor: var(--color-text-muted);\n}\n\n/* ==========================================================================\n   Page article styles\n   ========================================================================== */\n\narticle.page {\n\tpadding: var(--spacing-2xl) 0;\n}\n\n.page-header {\n\tmargin-bottom: var(--spacing-xl);\n}\n\n.page-meta {\n\tfont-size: var(--font-size-base);\n\tcolor: var(--color-text-muted);\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tgap: var(--spacing-md);\n}\n\n.page-meta span {\n\tdisplay: inline-flex;\n\talign-items: center;\n}\n\n.page-cover-image-wrapper {\n\tmargin-bottom: var(--spacing-xl);\n}\n\n.page-cover-image {\n\tborder-radius: var(--radius-lg);\n\tbox-shadow: var(--shadow-lg);\n}\n\n.page-description {\n\tcolor: var(--color-text-muted);\n\tfont-size: var(--font-size-lg);\n\tline-height: var(--line-height-loose);\n\tmargin-bottom: var(--spacing-lg);\n}\n\n.page-content {\n\tfont-size: var(--font-size-base);\n\tline-height: var(--line-height-loose);\n}\n\n.page-content img {\n\tborder-radius: var(--radius-md);\n\tmargin: var(--spacing-lg) 0;\n\tbox-shadow: var(--shadow-sm);\n}\n\n.page-content p {\n\tmargin-bottom: var(--spacing-lg);\n}\n\n.page-content h2,\n.page-content h3,\n.page-content h4 {\n\tmargin-top: var(--spacing-2xl);\n\tmargin-bottom: var(--spacing-md);\n}\n\n.page-excerpt {\n\tcolor: var(--color-text);\n\tline-height: var(--line-height-base);\n}\n\n/* ==========================================================================\n   VIDEO EMBED RESPONSIVE\n   ========================================================================== */\n\n.video-embed {\n\toverflow: hidden;\n\tpadding-bottom: 56.25%;\n\tposition: relative;\n\theight: 0;\n\tmargin: var(--spacing-lg) 0;\n\tborder-radius: var(--radius-md);\n\tbox-shadow: var(--shadow-md);\n}\n\n.video-embed iframe {\n\tleft: 0;\n\ttop: 0;\n\theight: 100%;\n\twidth: 100%;\n\tposition: absolute;\n\tborder: none;\n}\n\n/* ==========================================================================\n   Screen reader only - for accessibility\n   ========================================================================== */\n\n.sr-only {\n\tposition: absolute;\n\twidth: 1px;\n\theight: 1px;\n\tpadding: 0;\n\tmargin: -1px;\n\toverflow: hidden;\n\tclip: rect(0, 0, 0, 0);\n\twhite-space: nowrap;\n\tborder: 0;\n}\n\n.sr-only-focusable:focus {\n\tposition: static;\n\twidth: auto;\n\theight: auto;\n\tpadding: inherit;\n\tmargin: inherit;\n\toverflow: visible;\n\tclip: auto;\n\twhite-space: normal;\n}\n\n/* ==========================================================================\n   Print styles\n   ========================================================================== */\n\n@media print {\n\t.navbar,\n\tfooter.footer,\n\t.paginator,\n\t.btn,\n\t.search-form {\n\t\tdisplay: none !important;\n\t}\n\n\tbody {\n\t\tpadding-top: 0;\n\t\tmargin-bottom: 0;\n\t\tcolor: #000;\n\t\tbackground: #fff;\n\t}\n\n\tarticle.page,\n\tarticle.home-page {\n\t\tpadding: 0;\n\t}\n\n\ta {\n\t\tcolor: #000;\n\t\ttext-decoration: underline;\n\t}\n}\n\n/* ==========================================================================\n   Reduce motion for users who prefer it\n   ========================================================================== */\n\n@media (prefers-reduced-motion: reduce) {\n\thtml {\n\t\tscroll-behavior: auto;\n\t}\n\n\t*,\n\t*::before,\n\t*::after {\n\t\tanimation-duration: 0.01ms !important;\n\t\tanimation-iteration-count: 1 !important;\n\t\ttransition-duration: 0.01ms !important;\n\t}\n}\n\n/* ==========================================================================\n   Utility classes\n   ========================================================================== */\n\n.text-muted {\n\tcolor: var(--color-text-muted) !important;\n}\n\n.text-primary {\n\tcolor: var(--color-primary) !important;\n}\n\n/* ==========================================================================\n   Breadcrumb Navigation (SEO)\n   ========================================================================== */\n\n.breadcrumb-nav {\n\tpadding: var(--spacing-md) 0;\n\tbackground-color: var(--color-background-secondary);\n\tborder-bottom: 1px solid var(--color-border-light);\n}\n\n.breadcrumb {\n\tfont-size: var(--font-size-sm);\n\tmargin-bottom: 0;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n\tcontent: \"›\";\n\tcolor: var(--color-text-muted);\n}\n\n.breadcrumb-item a {\n\tcolor: var(--color-primary);\n\ttext-decoration: none;\n}\n\n.breadcrumb-item a:hover {\n\ttext-decoration: underline;\n}\n\n.breadcrumb-item.active {\n\tcolor: var(--color-text-muted);\n}\n\n/* ==========================================================================\n   Article Footer Fix (not the main footer)\n   ========================================================================== */\n\n.article-footer,\narticle.home-page footer.article-footer {\n\tposition: static !important;\n\tbackground: transparent !important;\n\tpadding: 0 !important;\n\tmin-height: auto !important;\n\twidth: auto !important;\n\tfont-size: inherit !important;\n}\n\n"
  },
  {
    "path": "bl-themes/alternative/index.php",
    "content": "<!DOCTYPE html>\n<html lang=\"<?php echo Theme::lang() ?>\">\n\n<head>\n\t<meta charset=\"UTF-8\">\n\t<meta name=\"viewport\" content=\"width=device-width, initial-scale=1, shrink-to-fit=no\">\n\t<meta name=\"generator\" content=\"Bludit\">\n\t<meta name=\"theme-color\" content=\"#1d1d1f\">\n\n\t<!-- Dynamic title tag -->\n\t<?php echo Theme::metaTagTitle(); ?>\n\n\t<!-- Dynamic description tag -->\n\t<?php echo Theme::metaTagDescription(); ?>\n\n\t<!-- Include Favicon -->\n\t<?php echo Theme::favicon('img/favicon.png'); ?>\n\t<link rel=\"apple-touch-icon\" href=\"<?php echo DOMAIN_THEME_IMG . 'favicon.png'; ?>\">\n\n\t<!-- Include CSS Bootstrap file from Bludit Core -->\n\t<?php echo Theme::cssBootstrap(); ?>\n\n\t<!-- Include CSS Bootstrap ICONS file from Bludit Core -->\n\t<?php echo Theme::cssBootstrapIcons(); ?>\n\n\t<!-- Include CSS Styles from this theme -->\n\t<?php echo Theme::css('css/style.css'); ?>\n\n\t<?php if ($themePlugin->googleFonts()) : ?>\n\t\t<link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Open+Sans:sans,bold\">\n\t\t<style>\n\t\t\tbody {\n\t\t\t\tfont-family: \"Open Sans\", sans-serif;\n\t\t\t}\n\t\t</style>\n\t<?php endif; ?>\n\n\t<!-- Load Bludit Plugins: Site head -->\n\t<?php Theme::plugins('siteHead'); ?>\n</head>\n\n<body>\n\n\t<!-- Skip to main content link for accessibility -->\n\t<a class=\"skip-link sr-only sr-only-focusable\" href=\"#main-content\"><?php echo $L->get('Skip to main content'); ?></a>\n\n\t<!-- Load Bludit Plugins: Site Body Begin -->\n\t<?php Theme::plugins('siteBodyBegin'); ?>\n\n\t<!-- Navbar -->\n\t<?php include(THEME_DIR_PHP . 'navbar.php'); ?>\n\n\t<!-- Content -->\n\t<div id=\"main-content\">\n\t<?php\n\t// $WHERE_AM_I variable detect where the user is browsing\n\t// If the user is watching a particular page the variable takes the value \"page\"\n\t// If the user is watching the frontpage the variable takes the value \"home\"\n\tif ($WHERE_AM_I == 'page') {\n\t\tinclude(THEME_DIR_PHP . 'page.php');\n\t} else {\n\t\tinclude(THEME_DIR_PHP . 'home.php');\n\t}\n\t?>\n\t</div>\n\n\t<!-- Footer -->\n\t<?php include(THEME_DIR_PHP . 'footer.php'); ?>\n\n\t<!-- Include Jquery file from Bludit Core -->\n\t<?php echo Theme::jquery(); ?>\n\n\t<!-- Include javascript Bootstrap file from Bludit Core -->\n\t<?php echo Theme::jsBootstrap(); ?>\n\n\t<!-- Load Bludit Plugins: Site Body End -->\n\t<?php Theme::plugins('siteBodyEnd'); ?>\n\n</body>\n\n</html>\n"
  },
  {
    "path": "bl-themes/alternative/init.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\n// Check if the Alternative plugin is active\nif ($themePlugin === false || $themePlugin === null) {\n\t// Display a user-friendly error message\n\t$errorMessage = 'To ensure proper functionality, the theme requires the Alternative plugin. ';\n\t$errorMessage .= 'Please activate the plugin through the admin panel.';\n\n\t// If in admin area, show link to plugins\n\tif (defined('ADMIN_CONTROLLER')) {\n\t\t$errorMessage .= ' <a href=\"' . DOMAIN_ADMIN . 'plugins\">Go to Plugins</a>';\n\t}\n\n\texit('<div style=\"font-family: sans-serif; padding: 20px; background: #fff3cd; border: 1px solid #ffc107; border-radius: 4px; margin: 20px; color: #856404;\">' . $errorMessage . '</div>');\n}\n"
  },
  {
    "path": "bl-themes/alternative/languages/de_CH.json",
    "content": "{\n\t\"theme-data\":\n\t{\n\t\t\"name\": \"Alternative\",\n\t\t\"description\": \"Einfaches und elegantes Theme für Websites und Blogs. Navigationsleiste mit statischen Seiten und Social Media Icons.\"\n\t}\n}\n"
  },
  {
    "path": "bl-themes/alternative/languages/de_DE.json",
    "content": "{\n\t\"theme-data\":\n\t{\n\t\t\"name\": \"Alternative\",\n\t\t\"description\": \"Einfaches und elegantes Theme für Websites und Blogs. Navigationsleiste mit statischen Seiten und Social Media Icons.\"\n\t}\n}\n"
  },
  {
    "path": "bl-themes/alternative/languages/en.json",
    "content": "{\n\t\"theme-data\":\n\t{\n\t\t\"name\": \"Alternative\",\n\t\t\"description\": \"Simple and elegant theme for websites or blogs. Navbar with social media and static pages.\"\n\t}\n}"
  },
  {
    "path": "bl-themes/alternative/languages/es.json",
    "content": "{\n\t\"theme-data\":\n\t{\n\t\t\"name\": \"Alternative\",\n\t\t\"description\": \"Tema sencillo y elegante para sitios webs o blogs. Barra de navegación con redes sociales y páginas estáticas.\"\n\t}\n}"
  },
  {
    "path": "bl-themes/alternative/languages/fa_IR.json",
    "content": "{\n\t\"theme-data\":\n\t{\n\t\t\"name\": \"Alternative\",\n\t\t\"description\": \"قالبی ساده و ظریف برای ساخت وبسایت و یا وبلاگ. نوار ناوبری به همراه رسانه های اجتماعی و صفحات استاتیک.\"\t\t\n\t}\n}\n"
  },
  {
    "path": "bl-themes/alternative/languages/it.json",
    "content": "{\n\t\"theme-data\":\n\t{\n\t\t\"name\": \"Alternative\",\n\t\t\"description\": \"Tema elegante e semplice per siti web e blog. Barra di navigazione con social media e pagine statiche.\"\n\t}\n}"
  },
  {
    "path": "bl-themes/alternative/languages/ja_JP.json",
    "content": "{\n\t\"theme-data\":\n\t{\n\t\t\"name\": \"Alternative\",\n\t\t\"description\": \"ウェブサイトやブログ向けのシンプルでエレガントなテーマ。ソーシャルメディアと固定ページへリンクするNavbarを備えています。\"\n\t}\n}"
  },
  {
    "path": "bl-themes/alternative/languages/nl_NL.json",
    "content": "{\n\t\"theme-data\":\n\t{\n\t\t\"name\": \"Alternative\",\n\t\t\"description\": \"Simpel en elegant thema voor websites of blogs. Navigatiebalk met social media en statische pagina's.\"\n\t}\n}"
  },
  {
    "path": "bl-themes/alternative/languages/ru_RU.json",
    "content": "{\r\n\t\"theme-data\":\r\n\t{\r\n\t\t\"name\": \"Alternative\",\r\n\t\t\"description\": \"Простая и элегантная тема, отлично подходящая для веб-сайтов или блогов. Тема имеет боковую колонку с ссылками на социальные сети и списком статических страниц.\"\r\n\t}\r\n}\r\n"
  },
  {
    "path": "bl-themes/alternative/languages/tr_TR.json",
    "content": "{\n\t\"theme-data\":\n\t{\n\t\t\"name\": \"Alternative\",\n\t\t\"description\": \"Web siteleri veya bloglar için basit ve zarif bir tema. Sosyal medya ve sabit sayfalarla kenar çubuğu.\"\n\t}\n}\n"
  },
  {
    "path": "bl-themes/alternative/metadata.json",
    "content": "{\n\t\"author\": \"Bludit\",\n\t\"email\": \"\",\n\t\"website\": \"https://themes.bludit.com\",\n\t\"version\": \"3.21.0\",\n\t\"releaseDate\": \"2026-04-25\",\n\t\"license\": \"MIT\",\n\t\"compatible\": \"3.21\",\n\t\"notes\": \"Improved accessibility, SEO with Schema.org, responsive design, and performance\",\n\t\"plugin\": \"alternative\"\n}\n"
  },
  {
    "path": "bl-themes/alternative/php/footer.php",
    "content": "<footer class=\"footer bg-dark\" role=\"contentinfo\">\n\t<div class=\"container\">\n\t\t<div class=\"d-flex flex-column flex-md-row justify-content-center align-items-center text-center text-white text-uppercase\">\n<?php if (defined('BLUDIT_PRO')): ?>\n\t\t\t<span><?php echo $site->footer(); ?></span>\n<?php else: ?>\n\t\t\t<span class=\"mb-2 mb-md-0\"><?php echo $site->footer(); ?></span>\n\t\t\t<span class=\"ml-md-4 text-warning\">\n\t\t\t\t<img class=\"mini-logo\" src=\"<?php echo DOMAIN_THEME_IMG.'favicon.png'; ?>\" alt=\"Bludit logo\" loading=\"lazy\" />\n\t\t\t\tPowered by <a target=\"_blank\" rel=\"noopener noreferrer\" class=\"text-white\" href=\"https://www.bludit.com\">BLUDIT</a>\n\t\t\t</span>\n<?php endif; ?>\n\t\t</div>\n\t</div>\n</footer>\n"
  },
  {
    "path": "bl-themes/alternative/php/home.php",
    "content": "<!-- Hero Section -->\n<header class=\"hero\" role=\"banner\">\n\t<div class=\"container\">\n\t\t<div class=\"hero-content\">\n\t\t\t<!-- Site slogan as main headline (hidden during search) -->\n\t\t\t<?php if ($WHERE_AM_I !== 'search') : ?>\n\t\t\t\t<h1 class=\"hero-title\"><?php echo $site->slogan(); ?></h1>\n\n\t\t\t\t<!-- Site description -->\n\t\t\t\t<?php if ($site->description()) : ?>\n\t\t\t\t\t<p class=\"hero-subtitle\"><?php echo $site->description(); ?></p>\n\t\t\t\t<?php endif ?>\n\t\t\t<?php endif ?>\n\n\t\t\t<!-- Custom search form if the plugin \"search\" is enabled -->\n\t\t\t<?php\n\t\t\tif (pluginActivated('pluginSearch')) {\n\t\t\t\t$searchPlugin = getPlugin('pluginSearch');\n\t\t\t\t$showSearchBox = true;\n\t\t\t\tif ($WHERE_AM_I === 'search' && $searchPlugin->getResultCount() === 0) {\n\t\t\t\t\t$showSearchBox = false;\n\t\t\t\t}\n\n\t\t\t\tif ($showSearchBox) : ?>\n\t\t\t\t\t<div class=\"hero-search\">\n\t\t\t\t\t\t<form class=\"search-form\" role=\"search\" onsubmit=\"return searchNow();\">\n\t\t\t\t\t\t\t<label for=\"search-input\" class=\"sr-only\"><?php $language->p('Search') ?></label>\n\t\t\t\t\t\t\t<div class=\"search-input-wrapper\">\n\t\t\t\t\t\t\t\t<svg class=\"search-icon\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t<circle cx=\"11\" cy=\"11\" r=\"8\"></circle>\n\t\t\t\t\t\t\t\t\t<path d=\"M21 21l-4.35-4.35\"></path>\n\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t<input id=\"search-input\" class=\"form-control\" type=\"search\" placeholder=\"<?php $language->p('Search') ?>\" aria-label=\"<?php $language->p('Search') ?>\" value=\"<?php echo ($WHERE_AM_I==='search'?htmlspecialchars($searchPlugin->getSearchTerm(), ENT_QUOTES, 'UTF-8'):'') ?>\">\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</form>\n\t\t\t\t\t</div>\n\t\t\t\t<?php endif;\n\t\t\t}\n\t\t\t?>\n\t\t\t<?php if (pluginActivated('pluginSearch')) : ?>\n\t\t\t\t<script>\n\t\t\t\t\tfunction searchNow() {\n\t\t\t\t\t\tvar searchValue = document.getElementById(\"search-input\").value.trim();\n\t\t\t\t\t\tif (searchValue.length === 0) {\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tvar searchURL = \"<?php echo Theme::siteUrl(); ?>search/\";\n\t\t\t\t\t\twindow.location.href = searchURL + encodeURIComponent(searchValue);\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t</script>\n\t\t\t<?php endif ?>\n\t\t</div>\n\t</div>\n</header>\n\n<!-- Main content area -->\n<main role=\"main\">\n\t<?php if (empty($content)) : ?>\n\t\t<div class=\"text-center p-4\">\n\t\t\t<p class=\"text-muted\"><?php $language->p('No pages found') ?></p>\n\t\t</div>\n\t<?php endif ?>\n\n\t<!-- Print all the content -->\n\t<?php foreach ($content as $page) : ?>\n\t\t<article class=\"home-page\" itemscope itemtype=\"https://schema.org/Article\">\n\t\t\t<!-- Hidden SEO metadata for each article -->\n\t\t\t<div class=\"d-none\" aria-hidden=\"true\">\n\t\t\t\t<meta itemprop=\"mainEntityOfPage\" content=\"<?php echo $page->permalink(); ?>\" />\n\t\t\t\t<?php if ($page->coverImage()): ?>\n\t\t\t\t\t<meta itemprop=\"image\" content=\"<?php echo $page->coverImage(); ?>\" />\n\t\t\t\t<?php endif; ?>\n\t\t\t\t<span itemprop=\"author\" itemscope itemtype=\"https://schema.org/Person\">\n\t\t\t\t\t<meta itemprop=\"name\" content=\"<?php echo $page->user('nickname'); ?>\" />\n\t\t\t\t</span>\n\t\t\t\t<span itemprop=\"publisher\" itemscope itemtype=\"https://schema.org/Organization\">\n\t\t\t\t\t<meta itemprop=\"name\" content=\"<?php echo $site->title(); ?>\" />\n\t\t\t\t\t<span itemprop=\"logo\" itemscope itemtype=\"https://schema.org/ImageObject\">\n\t\t\t\t\t\t<meta itemprop=\"url\" content=\"<?php echo DOMAIN_THEME_IMG . 'favicon.png'; ?>\" />\n\t\t\t\t\t</span>\n\t\t\t\t</span>\n\t\t\t</div>\n\n\t\t\t<div class=\"container\">\n\t\t\t\t<div class=\"row\">\n\t\t\t\t\t<div class=\"col-lg-8 mx-auto\">\n\t\t\t\t\t\t<!-- Load Bludit Plugins: Page Begin -->\n\t\t\t\t\t\t<?php Theme::plugins('pageBegin'); ?>\n\n\t\t\t\t\t\t<!-- Page title -->\n\t\t\t\t\t\t<header>\n\t\t\t\t\t\t\t<h2 class=\"title\" itemprop=\"headline\">\n\t\t\t\t\t\t\t\t<a class=\"text-dark\" href=\"<?php echo $page->permalink(); ?>\" itemprop=\"url\"><?php echo $page->title(); ?></a>\n\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t</header>\n\n\t\t\t\t\t\t<!-- Page description -->\n\t\t\t\t\t\t<?php if ($page->description()) : ?>\n\t\t\t\t\t\t\t<p class=\"page-description\" itemprop=\"description\"><?php echo $page->description(); ?></p>\n\t\t\t\t\t\t<?php endif ?>\n\n\t\t\t\t\t\t<!-- Page content until the pagebreak -->\n\t\t\t\t\t\t<div class=\"page-excerpt\" itemprop=\"articleBody\">\n\t\t\t\t\t\t\t<?php echo $page->contentBreak(); ?>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<!-- Shows \"read more\" button if necessary -->\n\t\t\t\t\t\t<?php if ($page->readMore()) : ?>\n\t\t\t\t\t\t\t<div class=\"text-right pt-3\">\n\t\t\t\t\t\t\t\t<a class=\"btn btn-primary btn-sm\" href=\"<?php echo $page->permalink(); ?>\" role=\"button\" aria-label=\"<?php echo $L->get('Read more'); ?> - <?php echo $page->title(); ?>\"><?php echo $L->get('Read more'); ?></a>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<?php endif ?>\n\n\t\t\t\t\t\t<!-- Page date -->\n\t\t\t\t\t\t<footer class=\"mt-3 article-footer\">\n\t\t\t\t\t\t\t<?php if ($themePlugin->dateFormat() == 'relative') : ?>\n\t\t\t\t\t\t\t\t<small class=\"text-muted\"><time datetime=\"<?php echo $page->dateRaw('c'); ?>\" itemprop=\"datePublished\"><?php echo $page->relativeTime() ?></time></small>\n\t\t\t\t\t\t\t<?php elseif ($themePlugin->dateFormat() == 'absolute') : ?>\n\t\t\t\t\t\t\t\t<small class=\"text-muted\"><time datetime=\"<?php echo $page->dateRaw('c'); ?>\" itemprop=\"datePublished\"><?php echo $page->date() ?></time></small>\n\t\t\t\t\t\t\t<?php endif ?>\n\t\t\t\t\t\t\t<?php if ($page->dateModified()): ?>\n\t\t\t\t\t\t\t\t<meta itemprop=\"dateModified\" content=\"<?php echo $page->dateModified('c'); ?>\" />\n\t\t\t\t\t\t\t<?php else: ?>\n\t\t\t\t\t\t\t\t<meta itemprop=\"dateModified\" content=\"<?php echo $page->dateRaw('c'); ?>\" />\n\t\t\t\t\t\t\t<?php endif; ?>\n\t\t\t\t\t\t</footer>\n\n\t\t\t\t\t\t<!-- Load Bludit Plugins: Page End -->\n\t\t\t\t\t\t<?php Theme::plugins('pageEnd'); ?>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</article>\n\t<?php endforeach ?>\n</main>\n\n<!-- Pagination -->\n<?php if (Paginator::numberOfPages() > 1) : ?>\n\t<nav class=\"paginator\" aria-label=\"<?php echo $L->get('Page navigation'); ?>\">\n\t\t<ul class=\"pagination flex-wrap justify-content-center\">\n\n\t\t\t<!-- Previous button -->\n\t\t\t<?php if (Paginator::showPrev()) : ?>\n\t\t\t\t<li class=\"page-item mr-2\">\n\t\t\t\t\t<a class=\"page-link\" href=\"<?php echo htmlspecialchars(Paginator::previousPageUrl(), ENT_QUOTES, 'UTF-8') ?>\" rel=\"prev\" aria-label=\"<?php echo $L->get('Previous'); ?>\">\n\t\t\t\t\t\t<span aria-hidden=\"true\">&#9664;</span> <?php echo $L->get('Previous'); ?>\n\t\t\t\t\t</a>\n\t\t\t\t</li>\n\t\t\t<?php endif; ?>\n\n\t\t\t<!-- Home button -->\n\t\t\t<li class=\"page-item <?php if (Paginator::currentPage() == 1) echo 'disabled' ?>\" aria-current=\"<?php echo (Paginator::currentPage() == 1) ? 'page' : 'false'; ?>\">\n\t\t\t\t<a class=\"page-link\" href=\"<?php echo Theme::siteUrl() ?>\"><?php echo $L->get('Home'); ?></a>\n\t\t\t</li>\n\n\t\t\t<!-- Next button -->\n\t\t\t<?php if (Paginator::showNext()) : ?>\n\t\t\t\t<li class=\"page-item ml-2\">\n\t\t\t\t\t<a class=\"page-link\" href=\"<?php echo htmlspecialchars(Paginator::nextPageUrl(), ENT_QUOTES, 'UTF-8') ?>\" rel=\"next\" aria-label=\"<?php echo $L->get('Next'); ?>\">\n\t\t\t\t\t\t<?php echo $L->get('Next'); ?> <span aria-hidden=\"true\">&#9658;</span>\n\t\t\t\t\t</a>\n\t\t\t\t</li>\n\t\t\t<?php endif; ?>\n\t\t</ul>\n\t</nav>\n<?php endif ?>\n"
  },
  {
    "path": "bl-themes/alternative/php/navbar.php",
    "content": "<nav class=\"navbar navbar-expand-md navbar-dark fixed-top bg-dark text-uppercase\" role=\"navigation\" aria-label=\"Main navigation\">\n\t<div class=\"container\">\n\t\t<a class=\"navbar-brand\" href=\"<?php echo Theme::siteUrl(); ?>\">\n\t\t\t<span class=\"text-white\"><?php echo $site->title(); ?></span>\n\t\t</a>\n\t\t<button class=\"navbar-toggler\" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbarResponsive\" aria-controls=\"navbarResponsive\" aria-expanded=\"false\" aria-label=\"<?php echo $L->get('Toggle navigation'); ?>\">\n\t\t\t<span class=\"navbar-toggler-icon\"></span>\n\t\t</button>\n\t\t<div class=\"collapse navbar-collapse\" id=\"navbarResponsive\">\n\n\t\t\t<ul class=\"navbar-nav ml-auto\">\n\n\t\t\t\t<!-- Blog link (when homepage is set to a static page) -->\n\t\t\t\t<?php if ($site->homepage()): ?>\n\t\t\t\t<li class=\"nav-item<?php echo ($WHERE_AM_I === 'blog') ? ' active' : ''; ?>\">\n\t\t\t\t\t<a class=\"nav-link\" href=\"<?php echo DOMAIN_BASE . ltrim($url->filters('blog'), '/') ?>\">\n\t\t\t\t\t\t<?php echo $L->get('Blog') ?>\n\t\t\t\t\t</a>\n\t\t\t\t</li>\n\t\t\t\t<?php endif; ?>\n\n\t\t\t\t<!-- Static pages -->\n\t\t\t\t<?php foreach ($staticContent as $staticPage): ?>\n\t\t\t\t<li class=\"nav-item<?php echo ($page && $page->key() === $staticPage->key()) ? ' active' : ''; ?>\">\n\t\t\t\t\t<a class=\"nav-link\" href=\"<?php echo $staticPage->permalink(); ?>\">\n\t\t\t\t\t\t<?php echo $staticPage->title(); ?>\n\t\t\t\t\t\t<?php if ($page && $page->key() === $staticPage->key()): ?>\n\t\t\t\t\t\t\t<span class=\"sr-only\">(<?php echo $L->get('current'); ?>)</span>\n\t\t\t\t\t\t<?php endif; ?>\n\t\t\t\t\t</a>\n\t\t\t\t</li>\n\t\t\t\t<?php endforeach ?>\n\n\t\t\t\t<!-- Social Networks -->\n\t\t\t\t<?php foreach (Theme::socialNetworks() as $key=>$label): ?>\n\t\t\t\t<li class=\"nav-item\">\n\t\t\t\t\t<a class=\"nav-link\" href=\"<?php echo $site->{$key}(); ?>\" target=\"_blank\" rel=\"noopener noreferrer\" title=\"<?php echo $label; ?>\">\n\t\t\t\t\t\t<img class=\"d-none d-md-inline-block nav-svg-icon\" src=\"<?php echo DOMAIN_THEME.'img/'.$key.'.svg' ?>\" alt=\"\" aria-hidden=\"true\" />\n\t\t\t\t\t\t<span class=\"d-inline d-md-none\"><?php echo $label; ?></span>\n\t\t\t\t\t\t<span class=\"sr-only d-none d-md-inline\"><?php echo $label; ?></span>\n\t\t\t\t\t</a>\n\t\t\t\t</li>\n\t\t\t\t<?php endforeach; ?>\n\n\t\t\t\t<!-- RSS -->\n\t\t\t\t<?php if (Theme::rssUrl()): ?>\n\t\t\t\t<li class=\"nav-item\">\n\t\t\t\t\t<a class=\"nav-link\" href=\"<?php echo Theme::rssUrl() ?>\" target=\"_blank\" rel=\"noopener noreferrer\" title=\"RSS Feed\">\n\t\t\t\t\t\t<img class=\"d-none d-md-inline-block nav-svg-icon\" src=\"<?php echo DOMAIN_THEME.'img/rss.svg' ?>\" alt=\"\" aria-hidden=\"true\" />\n\t\t\t\t\t\t<span class=\"d-inline d-md-none\">RSS</span>\n\t\t\t\t\t\t<span class=\"sr-only d-none d-md-inline\">RSS Feed</span>\n\t\t\t\t\t</a>\n\t\t\t\t</li>\n\t\t\t\t<?php endif; ?>\n\n\t\t\t</ul>\n\n\t\t</div>\n\t</div>\n</nav>\n"
  },
  {
    "path": "bl-themes/alternative/php/page.php",
    "content": "<!-- Breadcrumb Navigation for SEO -->\n<nav class=\"breadcrumb-nav\" aria-label=\"<?php echo $L->get('Breadcrumb'); ?>\">\n\t<div class=\"container\">\n\t\t<ol class=\"breadcrumb bg-transparent p-0 mb-0\" itemscope itemtype=\"https://schema.org/BreadcrumbList\">\n\t\t\t<li class=\"breadcrumb-item\" itemprop=\"itemListElement\" itemscope itemtype=\"https://schema.org/ListItem\">\n\t\t\t\t<a href=\"<?php echo Theme::siteUrl(); ?>\" itemprop=\"item\">\n\t\t\t\t\t<span itemprop=\"name\"><?php echo $L->get('Home'); ?></span>\n\t\t\t\t</a>\n\t\t\t\t<meta itemprop=\"position\" content=\"1\" />\n\t\t\t</li>\n\t\t\t<li class=\"breadcrumb-item active\" itemprop=\"itemListElement\" itemscope itemtype=\"https://schema.org/ListItem\" aria-current=\"page\">\n\t\t\t\t<span itemprop=\"name\"><?php echo $page->title(); ?></span>\n\t\t\t\t<meta itemprop=\"item\" content=\"<?php echo $page->permalink(); ?>\" />\n\t\t\t\t<meta itemprop=\"position\" content=\"2\" />\n\t\t\t</li>\n\t\t</ol>\n\t</div>\n</nav>\n\n<article class=\"page\" itemscope itemtype=\"https://schema.org/Article\">\n\t<!-- Hidden SEO metadata -->\n\t<div class=\"d-none\" aria-hidden=\"true\">\n\t\t<meta itemprop=\"mainEntityOfPage\" content=\"<?php echo $page->permalink(); ?>\" />\n\t\t<?php if ($page->dateModified()): ?>\n\t\t\t<meta itemprop=\"dateModified\" content=\"<?php echo $page->dateModified('c'); ?>\" />\n\t\t<?php endif; ?>\n\t\t<meta itemprop=\"wordCount\" content=\"<?php echo str_word_count(strip_tags($page->content())); ?>\" />\n\t\t<span itemprop=\"publisher\" itemscope itemtype=\"https://schema.org/Organization\">\n\t\t\t<meta itemprop=\"name\" content=\"<?php echo $site->title(); ?>\" />\n\t\t\t<span itemprop=\"logo\" itemscope itemtype=\"https://schema.org/ImageObject\">\n\t\t\t\t<meta itemprop=\"url\" content=\"<?php echo DOMAIN_THEME_IMG . 'favicon.png'; ?>\" />\n\t\t\t</span>\n\t\t</span>\n\t</div>\n\n\t<div class=\"container\">\n\t\t<div class=\"row\">\n\t\t\t<div class=\"col-lg-8 mx-auto\">\n\t\t\t\t<!-- Load Bludit Plugins: Page Begin -->\n\t\t\t\t<?php Theme::plugins('pageBegin'); ?>\n\n\t\t\t\t<!-- Page header -->\n\t\t\t\t<header class=\"page-header mb-4\">\n\t\t\t\t\t<!-- Page title -->\n\t\t\t\t\t<h1 class=\"title\" itemprop=\"headline\"><?php echo $page->title(); ?></h1>\n\n\t\t\t\t\t<?php if (!$page->isStatic() && !$url->notFound() && $themePlugin->showPostInformation()) : ?>\n\t\t\t\t\t\t<div class=\"page-meta text-muted mb-3\">\n\t\t\t\t\t\t\t<!-- Page creation time -->\n\t\t\t\t\t\t\t<span class=\"pr-3\">\n\t\t\t\t\t\t\t\t<i class=\"bi bi-calendar\" aria-hidden=\"true\"></i>\n\t\t\t\t\t\t\t\t<time datetime=\"<?php echo $page->dateRaw('c'); ?>\" itemprop=\"datePublished\"><?php echo $page->date() ?></time>\n\t\t\t\t\t\t\t</span>\n\n\t\t\t\t\t\t\t<?php if ($page->dateModified() && $page->dateModified() !== $page->date()): ?>\n\t\t\t\t\t\t\t<!-- Last modified -->\n\t\t\t\t\t\t\t<span class=\"pr-3\">\n\t\t\t\t\t\t\t\t<i class=\"bi bi-pencil\" aria-hidden=\"true\"></i>\n\t\t\t\t\t\t\t\t<time datetime=\"<?php echo $page->dateModified('c'); ?>\"><?php echo $L->get('Updated'); ?>: <?php echo $page->dateModified(); ?></time>\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<?php endif; ?>\n\n\t\t\t\t\t\t\t<!-- Page reading time -->\n\t\t\t\t\t\t\t<span class=\"pr-3\">\n\t\t\t\t\t\t\t\t<i class=\"bi bi-clock\" aria-hidden=\"true\"></i>\n\t\t\t\t\t\t\t\t<span><?php echo $page->readingTime() . ' ' . $L->get('minutes') . ' ' . $L->g('read') ?></span>\n\t\t\t\t\t\t\t</span>\n\n\t\t\t\t\t\t\t<!-- Page author -->\n\t\t\t\t\t\t\t<span itemprop=\"author\" itemscope itemtype=\"https://schema.org/Person\">\n\t\t\t\t\t\t\t\t<i class=\"bi bi-person\" aria-hidden=\"true\"></i>\n\t\t\t\t\t\t\t\t<a href=\"<?php echo Theme::siteUrl(); ?>\" rel=\"author\" itemprop=\"url\">\n\t\t\t\t\t\t\t\t\t<span itemprop=\"name\"><?php echo $page->user('nickname') ?></span>\n\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t<?php endif ?>\n\n\t\t\t\t\t<!-- Page description -->\n\t\t\t\t\t<?php if ($page->description()) : ?>\n\t\t\t\t\t\t<p class=\"page-description lead\" itemprop=\"description\"><?php echo $page->description(); ?></p>\n\t\t\t\t\t<?php endif ?>\n\t\t\t\t</header>\n\n\t\t\t\t<!-- Page cover image -->\n\t\t\t\t<?php if ($page->coverImage()) : ?>\n\t\t\t\t\t<figure class=\"page-cover-image-wrapper mb-4\">\n\t\t\t\t\t\t<img class=\"page-cover-image img-fluid rounded\" src=\"<?php echo $page->coverImage(); ?>\" alt=\"<?php echo $page->title(); ?>\" loading=\"lazy\" itemprop=\"image\" />\n\t\t\t\t\t</figure>\n\t\t\t\t<?php endif ?>\n\n\t\t\t\t<!-- Page content -->\n\t\t\t\t<div class=\"page-content\" itemprop=\"articleBody\">\n\t\t\t\t\t<?php echo $page->content(); ?>\n\t\t\t\t</div>\n\n\t\t\t\t<!-- Load Bludit Plugins: Page End -->\n\t\t\t\t<?php Theme::plugins('pageEnd'); ?>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</article>\n"
  },
  {
    "path": "bl-themes/blogx/css/style.css",
    "content": "/* ========================================\n   CSS CUSTOM PROPERTIES - Light Mode (Default)\n   ======================================== */\n:root {\n\t/* Neutral Monochrome Colors */\n\t--primary: #2c2c2c;\n\t--primary-dark: #1e1e1e;\n\t--primary-darker: #111111;\n\t--primary-gradient: #2c2c2c;\n\t--primary-gradient-hover: #1e1e1e;\n\n\t/* Neutral Colors */\n\t--text-primary: #333333;\n\t--text-secondary: #6c757d;\n\t--text-muted: #adb5bd;\n\t--bg-body: #ffffff;\n\t--bg-card: #ffffff;\n\t--bg-hover: #f8f9fa;\n\t--border-color: #e9ecef;\n\t--border-subtle: #dee2e6;\n\n\t/* Shadows */\n\t--shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.08);\n\t--shadow-md: 0 4px 16px rgba(0, 0, 0, 0.12);\n\t--shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.15);\n\t--shadow-hover: 0 6px 20px rgba(0, 0, 0, 0.2);\n\n\t/* Spacing Scale */\n\t--space-xs: 0.5rem;\n\t--space-sm: 1rem;\n\t--space-md: 1.5rem;\n\t--space-lg: 2rem;\n\t--space-xl: 3rem;\n\n\t/* Border Radius */\n\t--radius-sm: 8px;\n\t--radius-md: 12px;\n\t--radius-lg: 16px;\n\n\t/* Typography */\n\t--font-size-base: 1rem;\n\t--font-size-sm: 0.875rem;\n\t--font-size-xs: 0.75rem;\n\t--font-size-lg: 1.125rem;\n\t--font-size-xl: 1.25rem;\n\t--line-height-base: 1.6;\n\n\t/* Code Blocks */\n\t--code-bg: #f8f9fa;\n\t--code-text: #333;\n\t--code-border: #e9ecef;\n}\n\n/* ========================================\n   BASE STYLES\n   ======================================== */\nhtml {\n\tposition: relative;\n\tmin-height: 100%;\n\tscroll-behavior: smooth;\n}\n\nbody {\n\tfont-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Arial, sans-serif;\n\tpadding-top: 42px;\n\tmargin-bottom: 42px;\n\tbackground-color: var(--bg-body);\n\tcolor: var(--text-primary);\n\ttransition: background-color 0.3s ease, color 0.3s ease;\n\tfont-size: var(--font-size-base);\n\tline-height: var(--line-height-base);\n}\n\nsection {\n\tpadding: 150px 0;\n}\n\nimg {\n\tmax-width: 100%;\n\theight: auto;\n}\n\n/* ========================================\n   FORM INPUTS\n   ======================================== */\ninput,\ntextarea,\nselect,\n.form-control {\n\tbackground-color: #ffffff !important;\n\tcolor: var(--text-primary) !important;\n\tborder-color: var(--border-color);\n}\n\n/* ========================================\n   LINKS\n   ======================================== */\na {\n\tcolor: var(--primary);\n\ttext-decoration: none;\n\ttransition: color 0.3s ease;\n}\n\na:hover {\n\tcolor: var(--primary-dark);\n\ttext-decoration: none;\n}\n\na:focus {\n\toutline: 2px solid var(--primary);\n\toutline-offset: 2px;\n}\n\n/* ========================================\n   TYPOGRAPHY\n   ======================================== */\nh1.title,\nh2.title {\n\tfont-size: 2.3rem;\n\tfont-weight: 600;\n\tcolor: var(--text-primary);\n\tmargin-bottom: var(--space-md);\n}\n\n/* ========================================\n   CODE BLOCKS\n   ======================================== */\npre,\ncode {\n\tbackground: var(--code-bg);\n\tcolor: var(--code-text);\n\tborder-radius: var(--radius-sm);\n\ttransition: background-color 0.3s ease, color 0.3s ease;\n}\n\npre {\n\tborder-left: 3px solid var(--primary);\n\tpadding: var(--space-md);\n\toverflow-x: auto;\n}\n\ncode {\n\tdisplay: inline-block;\n\tpadding: 0.2em 0.5em;\n\tline-height: 1.4em;\n\tfont-size: 0.9em;\n}\n\n/* ========================================\n   TABLES\n   ======================================== */\ntable {\n\tempty-cells: show;\n\tborder: 1px solid var(--border-color);\n\twidth: 100%;\n\tfont-size: 0.9em;\n\tmargin-bottom: var(--space-md);\n\tborder-radius: var(--radius-sm);\n\toverflow: hidden;\n}\n\nthead {\n\tbackground: var(--primary);\n\tcolor: #ffffff;\n\ttext-align: left;\n\tvertical-align: bottom;\n}\n\ntr {\n\tdisplay: table-row;\n\tvertical-align: inherit;\n\tborder-color: var(--border-color);\n\ttransition: background-color 0.2s ease;\n}\n\ntbody tr:hover {\n\tbackground-color: var(--bg-hover);\n}\n\nth,\ntd {\n\tpadding: 0.75em 1em;\n\tborder-bottom: 1px solid var(--border-color);\n}\n\n/* ========================================\n   BLOCKQUOTES\n   ======================================== */\nblockquote {\n\tpadding: var(--space-md) var(--space-lg);\n\tmargin: 0 0 var(--space-lg) var(--space-lg);\n\tborder-left: 4px solid var(--primary);\n\tfont-style: italic;\n\tbackground-color: var(--bg-hover);\n\tborder-radius: var(--radius-sm);\n\tcolor: var(--text-secondary);\n}\n\n/* ========================================\n   NAVBAR\n   ======================================== */\n.navbar-modern {\n\tbackground: var(--primary) !important;\n\tbox-shadow: var(--shadow-md);\n\ttransition: all 0.3s ease;\n\tpadding-top: 0.25rem;\n\tpadding-bottom: 0.25rem;\n\tmin-height: 42px;\n}\n\n.navbar-brand {\n\tfont-weight: 600;\n\tfont-size: 1rem;\n\ttransition: transform 0.3s ease;\n}\n\n.navbar-brand:hover {\n\ttransform: translateY(-2px);\n}\n\n.navbar .nav-link {\n\tfont-size: 0.825rem;\n\tfont-weight: 500;\n\tcolor: rgba(255, 255, 255, 0.9) !important;\n\tpadding: 0.3rem 0.75rem;\n\tborder-radius: var(--radius-sm);\n\ttransition: all 0.3s ease;\n}\n\n.navbar .nav-link:hover {\n\tbackground-color: rgba(255, 255, 255, 0.15);\n\tcolor: #ffffff !important;\n}\n\n.navbar .nav-link.active {\n\tbackground-color: rgba(255, 255, 255, 0.2);\n\tcolor: #ffffff !important;\n}\n\nimg.nav-svg-icon {\n\twidth: 1.2rem;\n\theight: 1.2rem;\n\tfilter: brightness(0) invert(1);\n\topacity: 0.9;\n\ttransition: opacity 0.3s ease;\n}\n\n.nav-link:hover img.nav-svg-icon {\n\topacity: 1;\n}\n\n/* ========================================\n   CARDS - Modern Design\n   ======================================== */\n.card-modern {\n\tbackground: transparent;\n\tborder: none;\n\tborder-bottom: 1px solid var(--border-color);\n\tpadding-bottom: var(--space-xl);\n\tmargin-bottom: var(--space-xl);\n}\n\n.card-modern .card-img-top {\n\tborder-radius: var(--radius-sm);\n}\n\n.card-modern .card-body {\n\tpadding: 0;\n\tmargin-top: var(--space-md);\n}\n\n.card-modern .title {\n\tcolor: var(--text-primary);\n}\n\n/* ========================================\n   BUTTONS\n   ======================================== */\n.btn-primary-gradient {\n\tbackground: var(--primary);\n\tborder: none;\n\tcolor: white;\n\tpadding: 0.75rem 1.5rem;\n\tborder-radius: var(--radius-sm);\n\tfont-weight: 600;\n\tfont-size: var(--font-size-base);\n\ttransition: all 0.3s ease;\n\tbox-shadow: var(--shadow-sm);\n\tdisplay: inline-flex;\n\talign-items: center;\n\tgap: 0.5rem;\n}\n\n.btn-primary-gradient:hover {\n\tbackground: var(--primary-dark);\n\tbox-shadow: var(--shadow-hover);\n\ttransform: translateY(-2px);\n\tcolor: white;\n\ttext-decoration: none;\n}\n\n.btn-primary-gradient:focus {\n\toutline: 2px solid var(--primary);\n\toutline-offset: 2px;\n}\n\n.btn-outline-primary-custom {\n\tborder: 2px solid var(--primary);\n\tcolor: var(--primary);\n\tbackground: transparent;\n\tpadding: 0.6rem 1.5rem;\n\tborder-radius: var(--radius-sm);\n\tfont-weight: 600;\n\ttransition: all 0.3s ease;\n}\n\n.btn-outline-primary-custom:hover {\n\tbackground: var(--primary);\n\tcolor: white;\n\ttransform: translateY(-2px);\n}\n\n/* ========================================\n   FOOTER\n   ======================================== */\nfooter.footer-modern {\n\tposition: absolute;\n\tbottom: 0;\n\twidth: 100%;\n\tmin-height: 42px;\n\tline-height: 1.5;\n\tbackground: var(--primary);\n\tcolor: white;\n\tpadding: 0.6rem 0;\n\tbox-shadow: 0 -4px 12px rgba(0, 0, 0, 0.1);\n\tfont-size: var(--font-size-xs);\n}\n\nfooter.footer-modern a {\n\tcolor: rgba(255, 255, 255, 0.9);\n\ttransition: color 0.3s ease;\n}\n\nfooter.footer-modern a:hover {\n\tcolor: #ffffff;\n}\n\n.mini-logo {\n\theight: 24px;\n\tvertical-align: middle;\n\tfilter: brightness(0) invert(1);\n}\n\n/* ========================================\n   METADATA (Dates, Reading Time)\n   ======================================== */\n.metadata {\n\tcolor: var(--text-secondary);\n\tfont-size: var(--font-size-sm);\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tgap: var(--space-md);\n\talign-items: center;\n}\n\n.metadata i {\n\tcolor: var(--text-secondary);\n\tmargin-right: 0.25rem;\n}\n\n/* ========================================\n   PAGINATION\n   ======================================== */\n.pagination .page-link {\n\tbackground: var(--bg-card);\n\tborder: 1px solid var(--border-color);\n\tcolor: var(--primary);\n\tpadding: 0.6rem 1.2rem;\n\tborder-radius: var(--radius-sm);\n\tfont-weight: 500;\n\ttransition: all 0.3s ease;\n}\n\n.pagination .page-link:hover {\n\tbackground: var(--primary);\n\tcolor: white;\n\tborder-color: var(--primary);\n\ttransform: translateY(-2px);\n\tbox-shadow: var(--shadow-sm);\n}\n\n.pagination .page-item.disabled .page-link {\n\tbackground: var(--bg-hover);\n\tcolor: var(--text-muted);\n\tborder-color: var(--border-color);\n}\n\n/* ========================================\n   PLUGINS - Sidebar Styling\n   ======================================== */\n.sidebar-container {\n\tmargin-top: var(--space-lg);\n\tbackground: var(--bg-card);\n\tborder: 1px solid var(--border-color);\n\tborder-radius: var(--radius-md);\n\tpadding: var(--space-lg);\n\tfont-size: 0.875rem; /* 14px */\n}\n\n.plugin {\n\tmargin-top: 0;\n\tpadding-bottom: var(--space-lg);\n\tmargin-bottom: var(--space-lg);\n\tborder-bottom: 1px solid var(--border-subtle);\n}\n\n.plugin:last-child {\n\tborder-bottom: none;\n\tmargin-bottom: 0;\n\tpadding-bottom: 0;\n}\n\n.plugin-label {\n\tfont-size: var(--font-size-base);\n\tfont-weight: 600;\n\ttext-transform: uppercase;\n\tletter-spacing: 0.5px;\n\tcolor: var(--primary);\n\tmargin-bottom: var(--space-md);\n}\n\n.plugin ul {\n\tlist-style: none;\n\tpadding: 0;\n\tmargin: 0;\n}\n\n.plugin ul li {\n\tpadding: var(--space-xs) 0;\n}\n\n.plugin ul li a {\n\tcolor: var(--text-primary);\n\tdisplay: block;\n\ttransition: color 0.3s ease;\n}\n\n.plugin ul li a:hover {\n\tcolor: var(--primary);\n}\n\n/* Tags and Categories - Badge Style */\n.plugin.plugin-tags li,\n.plugin.plugin-categories li {\n\tdisplay: inline-block;\n\tpadding: 0;\n\tmargin: 0.25rem;\n}\n\n.plugin.plugin-tags li a,\n.plugin.plugin-categories li a {\n\tbackground: var(--primary);\n\tcolor: white;\n\tpadding: 0.4rem 1rem;\n\tborder-radius: 20px;\n\tfont-size: var(--font-size-sm);\n\tfont-weight: 500;\n\tdisplay: inline-block;\n\ttransition: all 0.3s ease;\n}\n\n.plugin.plugin-tags li a:hover,\n.plugin.plugin-categories li a:hover {\n\tbackground: var(--primary-dark);\n\tcolor: white;\n}\n\n/* Search Plugin Styling */\n.plugin.plugin-search .form-control {\n\tborder: 2px solid var(--border-color);\n\tborder-radius: var(--radius-sm);\n\tpadding: 0.75rem 1rem;\n\tbackground: var(--bg-body);\n\tcolor: var(--text-primary);\n\ttransition: all 0.3s ease;\n}\n\n.plugin.plugin-search .form-control:focus {\n\tborder-color: var(--primary);\n\tbox-shadow: 0 0 0 3px rgba(0, 0, 0, 0.1);\n\toutline: none;\n}\n\n.plugin.plugin-search button {\n\tbackground: var(--primary);\n\tborder: none;\n\tcolor: white;\n\tpadding: 0.75rem 1.5rem;\n\tborder-radius: var(--radius-sm);\n\tfont-weight: 600;\n\ttransition: all 0.3s ease;\n\tmargin-top: var(--space-sm);\n}\n\n.plugin.plugin-search button:hover {\n\tbackground: var(--primary-dark);\n\ttransform: translateY(-2px);\n\tbox-shadow: var(--shadow-sm);\n}\n\n/* ========================================\n   BOOTSTRAP ICONS\n   ======================================== */\n.bi {\n\tmargin-right: 0.5rem;\n}\n\n/* ========================================\n   POST TAXONOMY (Tags & Categories)\n   ======================================== */\n.post-taxonomy {\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tgap: 0.4rem;\n\talign-items: center;\n}\n\n.taxonomy-badge {\n\tdisplay: inline-block;\n\tpadding: 0.3rem 0.75rem;\n\tborder-radius: 20px;\n\tfont-size: var(--font-size-xs);\n\tfont-weight: 500;\n\ttext-decoration: none;\n\ttransition: all 0.2s ease;\n}\n\n.taxonomy-category {\n\tbackground: transparent;\n\tcolor: var(--text-secondary);\n\tborder: 1px solid var(--border-color);\n}\n\n.taxonomy-category:hover {\n\tbackground: var(--bg-hover);\n\tcolor: var(--primary);\n\tborder-color: var(--primary);\n}\n\n.taxonomy-tag {\n\tbackground: transparent;\n\tcolor: var(--text-secondary);\n\tborder: 1px solid var(--border-color);\n}\n\n.taxonomy-tag:hover {\n\tbackground: var(--bg-hover);\n\tcolor: var(--primary);\n\tborder-color: var(--primary);\n}\n\n/* ========================================\n   COVER IMAGE ENHANCEMENTS\n   ======================================== */\n.cover-image-wrapper {\n\tposition: relative;\n\toverflow: hidden;\n\tborder-radius: var(--radius-sm);\n\tmargin-bottom: var(--space-md);\n}\n\n/* ========================================\n   RESPONSIVE ADJUSTMENTS\n   ======================================== */\n@media (max-width: 768px) {\n\th1.title {\n\t\tfont-size: 1.8rem;\n\t}\n\n\th2.title {\n\t\tfont-size: 1.5rem;\n\t}\n\n\tbody {\n\t\tfont-size: 0.95rem;\n\t}\n\n\t.plugin {\n\t\tpadding: var(--space-md);\n\t}\n\n\t.btn-primary-gradient {\n\t\twidth: 100%;\n\t\tjustify-content: center;\n\t}\n}\n"
  },
  {
    "path": "bl-themes/blogx/index.php",
    "content": "<!DOCTYPE html>\n<html lang=\"<?php echo Theme::lang() ?>\">\n<head>\n<?php include(THEME_DIR_PHP.'head.php'); ?>\n</head>\n<body>\n\n\t<!-- Load Bludit Plugins: Site Body Begin -->\n\t<?php Theme::plugins('siteBodyBegin'); ?>\n\n\t<!-- Navbar -->\n\t<?php include(THEME_DIR_PHP.'navbar.php'); ?>\n\n\t<!-- Content -->\n\t<div class=\"container\">\n\t\t<div class=\"row\">\n\n\t\t\t<!-- Blog Posts -->\n\t\t\t<div class=\"col-md-8\">\n\t\t\t<?php\n\t\t\t\t// Bludit content are pages\n\t\t\t\t// But if you order the content by date\n\t\t\t\t// These pages works as posts\n\n\t\t\t\t// $WHERE_AM_I variable detect where the user is browsing\n\t\t\t\t// If the user is watching a particular page/post the variable takes the value \"page\"\n\t\t\t\t// If the user is watching the frontpage the variable takes the value \"home\"\n\t\t\t\tif ($WHERE_AM_I == 'page') {\n\t\t\t\t\tinclude(THEME_DIR_PHP.'page.php');\n\t\t\t\t} else {\n\t\t\t\t\tinclude(THEME_DIR_PHP.'home.php');\n\t\t\t\t}\n\t\t\t?>\n\t\t\t</div>\n\n\t\t\t<!-- Right Sidebar -->\n\t\t\t<div class=\"col-md-3 offset-md-1\">\n\t\t\t<?php include(THEME_DIR_PHP.'sidebar.php'); ?>\n\t\t\t</div>\n\n\t\t</div>\n\t</div>\n\n\t<!-- Footer -->\n\t<?php include(THEME_DIR_PHP.'footer.php'); ?>\n\n\t<!-- Javascript -->\n\t<?php\n\t\t// Include Jquery file from Bludit Core\n\t\techo Theme::jquery();\n\n\t\t// Include javascript Bootstrap file from Bludit Core\n\t\techo Theme::jsBootstrap();\n\t?>\n\n\t<!-- Load Bludit Plugins: Site Body End -->\n\t<?php Theme::plugins('siteBodyEnd'); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "bl-themes/blogx/languages/de_CH.json",
    "content": "{\n\t\"theme-data\":\n\t{\n\t\t\"name\": \"Blog X\",\n\t\t\"description\": \"Theme für Blogs mit Navigatiationsleiste mit statischen Seiten und Social Media Icons, rechter Seitenleiste und Angabe der Lesezeit.\"\n\t}\n}\n"
  },
  {
    "path": "bl-themes/blogx/languages/de_DE.json",
    "content": "{\n\t\"theme-data\":\n\t{\n\t\t\"name\": \"Blog X\",\n\t\t\"description\": \"Theme für Blogs mit Navigatiationsleiste mit statischen Seiten und Social Media Icons, rechter Seitenleiste und Angabe der Lesezeit.\"\n\t}\n}\n"
  },
  {
    "path": "bl-themes/blogx/languages/en.json",
    "content": "{\n\t\"theme-data\":\n\t{\n\t\t\"name\": \"Blog X\",\n\t\t\"description\": \"Theme for bloggers, with right sidebar, reading time and navbar with social icons and static pages.\"\n\t}\n}"
  },
  {
    "path": "bl-themes/blogx/languages/es.json",
    "content": "{\n\t\"theme-data\":\n\t{\n\t\t\"name\": \"Blog X\",\n\t\t\"description\": \"Tema para bloggers, soporte para tiempo de lectura y barra de navegación con iconos sociales y páginas estáticas.\"\n\t}\n}"
  },
  {
    "path": "bl-themes/blogx/languages/fa_IR.json",
    "content": "{\n\t\"theme-data\":\n\t{\n\t\t\"name\": \"Blog X\",\n\t\t\"description\": \"قالبی برای وبلاگ نویس ها، به همراه نوار کناری، زمان مطالعه و نوار ناوبری به همراه آیکن های شبکه مجازی و صفحات استاتیک.\"\t\t\n\t}\n}\n"
  },
  {
    "path": "bl-themes/blogx/languages/it.json",
    "content": "{\n\t\"theme-data\":\n\t{\n\t\t\"name\": \"Blog X\",\n\t\t\"description\": \"Tema per blogger, con barra laterale a destra, tempo di lettura e barra di navigazione con icone social e pagine statiche.\"\n\t}\n}\n"
  },
  {
    "path": "bl-themes/blogx/languages/ja_JP.json",
    "content": "{\n\t\"theme-data\":\n\t{\n\t\t\"name\": \"Blog X\",\n\t\t\"description\": \"ブロガー向けテーマ。右サイドバー、読了時間、ソーシャルアイコンと固定ページへリンクするnavbarを備えています。\"\n\t}\n}"
  },
  {
    "path": "bl-themes/blogx/languages/nl_NL.json",
    "content": "{\n\t\"theme-data\":\n\t{\n\t\t\"name\": \"Blog X\",\n\t\t\"description\": \"Thema voor bloggers, met zijbalk rechts, leestijdindicatie en navigatiebalk met social media en statische pagina's.\"\n\t}\n}"
  },
  {
    "path": "bl-themes/blogx/languages/ru_RU.json",
    "content": "{\r\n\t\"theme-data\":\r\n\t{\r\n\t\t\"name\": \"Blog X\",\r\n\t\t\"description\": \"Тема подходит для блогеров, с боковой панелью справа. Присутствует информация о пнримерном временем чтения материала, есть блок навигации со значками социальных сетей и списом статических страниц.\"\r\n\t}\r\n}\r\n"
  },
  {
    "path": "bl-themes/blogx/languages/tr_TR.json",
    "content": "{\n\t\"theme-data\":\n\t{\n\t\t\"name\": \"Blog X\",\n\t\t\"description\": \"Blog yazarları için tema, sağ kenar çubuğu ile birlikte. Okuma süresi, kenar çubuğunda sosyal simgeler ve sabit sayfalar.\"\n\t}\n}\n"
  },
  {
    "path": "bl-themes/blogx/metadata.json",
    "content": "{\n\t\"author\": \"Bludit\",\n\t\"email\": \"\",\n\t\"website\": \"https://themes.bludit.com\",\n\t\"version\": \"3.21.0\",\n\t\"releaseDate\": \"2026-04-25\",\n\t\"license\": \"MIT\",\n\t\"compatible\": \"3.21\",\n\t\"notes\": \"\"\n}\n"
  },
  {
    "path": "bl-themes/blogx/php/footer.php",
    "content": "<footer class=\"footer footer-modern\">\n    <div class=\"container\">\n        <div class=\"row align-items-center\">\n            <?php if (defined('BLUDIT_PRO')): ?>\n                <div class=\"col-12 text-center\">\n                    <p class=\"m-0 text-uppercase\"><?php echo $site->footer(); ?></p>\n                </div>\n            <?php else: ?>\n                <div class=\"col-md-6 text-center text-md-left mb-3 mb-md-0\">\n                    <p class=\"m-0 text-uppercase\"><?php echo $site->footer(); ?></p>\n                </div>\n                <div class=\"col-md-6 text-center text-md-right\">\n                    <p class=\"m-0\">\n                        Powered by <a href=\"https://www.bludit.com\" target=\"_blank\" rel=\"noopener\"><strong>BLUDIT</strong></a>\n                    </p>\n                </div>\n            <?php endif; ?>\n        </div>\n    </div>\n</footer>\n"
  },
  {
    "path": "bl-themes/blogx/php/head.php",
    "content": "<meta charset=\"utf-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1, shrink-to-fit=no\">\n<meta name=\"generator\" content=\"Bludit\">\n\n<!-- Dynamic title tag -->\n<?php echo Theme::metaTags('title'); ?>\n\n<!-- Dynamic description tag -->\n<?php echo Theme::metaTags('description'); ?>\n\n<!-- Include Favicon -->\n<?php echo Theme::favicon('img/favicon.png'); ?>\n\n<!-- Include Bootstrap CSS file bootstrap.css -->\n<?php echo Theme::cssBootstrap(); ?>\n\n<!-- Include CSS Bootstrap ICONS file from Bludit Core -->\n<?php echo Theme::cssBootstrapIcons(); ?>\n\n<!-- Include CSS Styles from this theme -->\n<?php echo Theme::css('css/style.css'); ?>\n\n<!-- Load Bludit Plugins: Site head -->\n<?php Theme::plugins('siteHead'); ?>\n"
  },
  {
    "path": "bl-themes/blogx/php/home.php",
    "content": "<?php if (empty($content)) : ?>\n  <div class=\"mt-4\">\n    <?php $language->p('No pages found') ?>\n  </div>\n<?php endif ?>\n\n<?php foreach ($content as $page) : ?>\n  <!-- Post -->\n  <div class=\"card card-modern my-5\">\n\n    <!-- Load Bludit Plugins: Page Begin -->\n    <?php Theme::plugins('pageBegin'); ?>\n\n    <!-- Cover image with gradient overlay -->\n    <?php if ($page->coverImage()) : ?>\n      <div class=\"cover-image-wrapper\">\n        <img class=\"card-img-top\" alt=\"<?php echo $page->title(); ?>\" src=\"<?php echo $page->coverImage(); ?>\" />\n      </div>\n    <?php endif ?>\n\n    <div class=\"card-body\">\n      <!-- Title -->\n      <a href=\"<?php echo $page->permalink(); ?>\">\n        <h2 class=\"title\"><?php echo $page->title(); ?></h2>\n      </a>\n\n      <!-- Creation date and reading time -->\n      <div class=\"metadata mb-4\">\n        <span><i class=\"bi bi-calendar\"></i><?php echo $page->date(); ?></span>\n        <span><i class=\"bi bi-clock-history\"></i><?php echo $L->get('Reading time') . ': ' . $page->readingTime(); ?></span>\n      </div>\n\n      <!-- Breaked content -->\n      <?php echo $page->contentBreak(); ?>\n\n      <!-- \"Read more\" button -->\n      <?php if ($page->readMore()) : ?>\n        <a class=\"btn-primary-gradient mt-3\" href=\"<?php echo $page->permalink(); ?>\">\n          <?php echo $L->get('Read more'); ?>\n          <i class=\"bi bi-arrow-right\"></i>\n        </a>\n      <?php endif ?>\n\n      <!-- Tags and Category -->\n      <?php $tagsList = $page->tags(true); $categoryKey = $page->categoryKey(); ?>\n      <?php if (!empty($tagsList) || $categoryKey) : ?>\n      <div class=\"post-taxonomy mt-3\">\n        <?php if ($categoryKey) : ?>\n          <a class=\"taxonomy-badge taxonomy-category\" href=\"<?php echo $page->categoryPermalink(); ?>\">\n            <i class=\"bi bi-folder\"></i><?php echo $page->category(); ?>\n          </a>\n        <?php endif ?>\n        <?php foreach ($tagsList as $tagKey => $tagName) : ?>\n          <a class=\"taxonomy-badge taxonomy-tag\" href=\"<?php echo DOMAIN_TAGS . $tagKey; ?>\"><i class=\"bi bi-tag\"></i><?php echo $tagName; ?></a>\n        <?php endforeach ?>\n      </div>\n      <?php endif ?>\n\n    </div>\n\n    <!-- Load Bludit Plugins: Page End -->\n    <?php Theme::plugins('pageEnd'); ?>\n\n  </div>\n<?php endforeach ?>\n\n<!-- Pagination -->\n<?php if (Paginator::numberOfPages() > 1) : ?>\n  <nav class=\"paginator mt-5\">\n    <ul class=\"pagination flex-wrap justify-content-center\">\n\n      <!-- Previous button -->\n      <?php if (Paginator::showPrev()) : ?>\n        <li class=\"page-item mr-2\">\n          <a class=\"page-link\" href=\"<?php echo htmlspecialchars(Paginator::previousPageUrl(), ENT_QUOTES, 'UTF-8') ?>\" tabindex=\"-1\">\n            <i class=\"bi bi-chevron-left\"></i> <?php echo $L->get('Previous'); ?>\n          </a>\n        </li>\n      <?php endif; ?>\n\n      <!-- Home button -->\n      <li class=\"page-item mx-2 <?php if (Paginator::currentPage() == 1) echo 'disabled' ?>\">\n        <a class=\"page-link\" href=\"<?php echo Theme::siteUrl() ?>\">\n          <i class=\"bi bi-house-door\"></i> Home\n        </a>\n      </li>\n\n      <!-- Next button -->\n      <?php if (Paginator::showNext()) : ?>\n        <li class=\"page-item ml-2\">\n          <a class=\"page-link\" href=\"<?php echo htmlspecialchars(Paginator::nextPageUrl(), ENT_QUOTES, 'UTF-8') ?>\">\n            <?php echo $L->get('Next'); ?> <i class=\"bi bi-chevron-right\"></i>\n          </a>\n        </li>\n      <?php endif; ?>\n\n    </ul>\n  </nav>\n<?php endif ?>\n"
  },
  {
    "path": "bl-themes/blogx/php/navbar.php",
    "content": "<nav class=\"navbar navbar-expand-md navbar-dark fixed-top navbar-modern text-uppercase\">\n\t<div class=\"container\">\n\t\t<a class=\"navbar-brand\" href=\"<?php echo Theme::siteUrl() ?>\">\n\t\t\t<span class=\"text-white\"><?php echo $site->title() ?></span>\n\t\t</a>\n\t\t<button class=\"navbar-toggler\" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbarResponsive\" aria-controls=\"navbarResponsive\" aria-expanded=\"false\" aria-label=\"Toggle navigation\">\n\t\t\t<span class=\"navbar-toggler-icon\"></span>\n\t\t</button>\n\t\t<div class=\"collapse navbar-collapse\" id=\"navbarResponsive\">\n\t\t\t<ul class=\"navbar-nav ml-auto\">\n\n\t\t\t\t<!-- Blog link (when homepage is set to a static page) -->\n\t\t\t\t<?php if ($site->homepage()): ?>\n\t\t\t\t\t<li class=\"nav-item\">\n\t\t\t\t\t\t<a class=\"nav-link<?php echo ($WHERE_AM_I === 'blog') ? ' active' : '' ?>\" href=\"<?php echo DOMAIN_BASE . ltrim($url->filters('blog'), '/') ?>\"><?php echo $L->get('Blog') ?></a>\n\t\t\t\t\t</li>\n\t\t\t\t<?php endif; ?>\n\n\t\t\t\t<!-- Static pages -->\n\t\t\t\t<?php foreach ($staticContent as $staticPage) : ?>\n\t\t\t\t\t<li class=\"nav-item\">\n\t\t\t\t\t\t<a class=\"nav-link<?php echo ($url->slug() == $staticPage->slug()) ? ' active' : '' ?>\" href=\"<?php echo $staticPage->permalink() ?>\"><?php echo $staticPage->title() ?></a>\n\t\t\t\t\t</li>\n\t\t\t\t<?php endforeach ?>\n\n\t\t\t\t<!-- Social Networks -->\n\t\t\t\t<?php foreach (Theme::socialNetworks() as $key => $label) : ?>\n\t\t\t\t\t<li class=\"nav-item\">\n\t\t\t\t\t\t<a class=\"nav-link\" href=\"<?php echo $site->{$key}(); ?>\" target=\"_blank\" rel=\"noopener\">\n\t\t\t\t\t\t\t<img class=\"d-none d-sm-block nav-svg-icon\" src=\"<?php echo DOMAIN_THEME . 'img/' . $key . '.svg' ?>\" alt=\"<?php echo $label ?>\" />\n\t\t\t\t\t\t\t<span class=\"d-inline d-sm-none\"><?php echo $label; ?></span>\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</li>\n\t\t\t\t<?php endforeach; ?>\n\n\t\t\t</ul>\n\t\t</div>\n\t</div>\n</nav>\n"
  },
  {
    "path": "bl-themes/blogx/php/page.php",
    "content": "<!-- Post -->\n<div class=\"card card-modern my-5\">\n\n\t<!-- Load Bludit Plugins: Page Begin -->\n\t<?php Theme::plugins('pageBegin'); ?>\n\n\t<!-- Cover image with gradient overlay -->\n\t<?php if ($page->coverImage()): ?>\n\t<div class=\"cover-image-wrapper\">\n\t\t<img class=\"card-img-top\" alt=\"<?php echo $page->title(); ?>\" src=\"<?php echo $page->coverImage(); ?>\"/>\n\t</div>\n\t<?php endif ?>\n\n\t<div class=\"card-body\">\n\t\t<!-- Title -->\n\t\t<h1 class=\"title\"><?php echo $page->title(); ?></h1>\n\n\t\t<?php if (!$page->isStatic() && !$url->notFound()): ?>\n\t\t<!-- Creation date and reading time -->\n\t\t<div class=\"metadata mb-4\">\n\t\t\t<span><i class=\"bi bi-calendar\"></i><?php echo $page->date(); ?></span>\n\t\t\t<span><i class=\"bi bi-clock-history\"></i><?php echo $L->get('Reading time') . ': ' . $page->readingTime() ?></span>\n\t\t</div>\n\t\t<?php endif ?>\n\n\t\t<!-- Full content -->\n\t\t<div class=\"content\">\n\t\t\t<?php echo $page->content(); ?>\n\t\t</div>\n\n\t\t<!-- Tags and Category -->\n\t\t<?php $tagsList = $page->tags(true); $categoryKey = $page->categoryKey(); ?>\n\t\t<?php if (!empty($tagsList) || $categoryKey) : ?>\n\t\t<div class=\"post-taxonomy mt-3\">\n\t\t\t<?php if ($categoryKey) : ?>\n\t\t\t\t<a class=\"taxonomy-badge taxonomy-category\" href=\"<?php echo $page->categoryPermalink(); ?>\">\n\t\t\t\t\t<i class=\"bi bi-folder\"></i><?php echo $page->category(); ?>\n\t\t\t\t</a>\n\t\t\t<?php endif ?>\n\t\t\t<?php foreach ($tagsList as $tagKey => $tagName) : ?>\n\t\t\t\t<a class=\"taxonomy-badge taxonomy-tag\" href=\"<?php echo DOMAIN_TAGS . $tagKey; ?>\"><i class=\"bi bi-tag\"></i><?php echo $tagName; ?></a>\n\t\t\t<?php endforeach ?>\n\t\t</div>\n\t\t<?php endif ?>\n\n\t</div>\n\n\t<!-- Load Bludit Plugins: Page End -->\n\t<?php Theme::plugins('pageEnd'); ?>\n\n</div>\n"
  },
  {
    "path": "bl-themes/blogx/php/sidebar.php",
    "content": "<div class=\"sidebar-container\">\n\t<?php Theme::plugins('siteSidebar') ?>\n</div>\n"
  },
  {
    "path": "bl-themes/flavor/css/style.css",
    "content": "/* Flavor Theme - Custom Styles */\n\n/* Base font */\nbody {\n\tfont-family: 'Inter', system-ui, -apple-system, sans-serif;\n}\n\n/* Prose content styles for article body */\n.prose-content h1 { font-size: 2rem; font-weight: 700; margin: 1.5em 0 0.5em; line-height: 1.3; }\n.prose-content h2 { font-size: 1.5rem; font-weight: 600; margin: 1.5em 0 0.5em; line-height: 1.3; }\n.prose-content h3 { font-size: 1.25rem; font-weight: 600; margin: 1.25em 0 0.5em; line-height: 1.4; }\n.prose-content h4 { font-size: 1.125rem; font-weight: 600; margin: 1em 0 0.5em; line-height: 1.4; }\n\n.prose-content p { margin: 1em 0; }\n\n.prose-content a {\n\tcolor: #059669;\n\ttext-decoration: underline;\n\ttext-decoration-color: rgba(5, 150, 105, 0.3);\n\ttext-underline-offset: 2px;\n\ttransition: text-decoration-color 0.2s;\n}\n.prose-content a:hover {\n\ttext-decoration-color: #059669;\n}\n\n.prose-content ul,\n.prose-content ol {\n\tmargin: 1em 0;\n\tpadding-left: 1.5em;\n}\n.prose-content li { margin: 0.25em 0; }\n\n.prose-content blockquote {\n\tborder-left: 3px solid #059669;\n\tmargin: 1.5em 0;\n\tpadding: 0.5em 1em;\n\tcolor: #6b7280;\n\tfont-style: italic;\n}\n\n.prose-content pre {\n\tbackground: #1f2937;\n\tcolor: #e5e7eb;\n\tborder-radius: 0.5rem;\n\tpadding: 1rem;\n\toverflow-x: auto;\n\tmargin: 1.5em 0;\n\tfont-size: 0.875rem;\n\tline-height: 1.7;\n}\n\n.prose-content code {\n\tfont-size: 0.875em;\n\tbackground: #f3f4f6;\n\tpadding: 0.125em 0.375em;\n\tborder-radius: 0.25rem;\n}\n\n.prose-content pre code {\n\tbackground: none;\n\tpadding: 0;\n\tborder-radius: 0;\n}\n\n.prose-content img {\n\tmax-width: 100%;\n\theight: auto;\n\tborder-radius: 0.5rem;\n\tmargin: 1.5em 0;\n}\n\n.prose-content table {\n\twidth: 100%;\n\tborder-collapse: collapse;\n\tmargin: 1.5em 0;\n}\n.prose-content th,\n.prose-content td {\n\tborder: 1px solid #e5e7eb;\n\tpadding: 0.5em 0.75em;\n\ttext-align: left;\n}\n.prose-content th {\n\tbackground: #f9fafb;\n\tfont-weight: 600;\n}\n\n.prose-content hr {\n\tborder: none;\n\tborder-top: 1px solid #e5e7eb;\n\tmargin: 2em 0;\n}\n\n/* Dark mode prose overrides */\n`@media` (prefers-color-scheme: dark) {\n\t.prose-content code {\n\t\tbackground: `#374151`;\n\t}\n\t.prose-content blockquote {\n\t\tcolor: `#9ca3af`;\n\t}\n\t.prose-content th {\n\t\tbackground: `#1f2937`;\n\t}\n\t.prose-content th,\n\t.prose-content td {\n\t\tborder-color: `#374151`;\n\t}\n}\n"
  },
  {
    "path": "bl-themes/flavor/index.php",
    "content": "<!DOCTYPE html>\n<html lang=\"<?php echo Theme::lang() ?>\">\n<head>\n<?php include(THEME_DIR_PHP.'head.php'); ?>\n</head>\n<body class=\"bg-white dark:bg-gray-950 text-gray-900 dark:text-gray-100 antialiased\">\n\n\t<!-- Load Bludit Plugins: Site Body Begin -->\n\t<?php Theme::plugins('siteBodyBegin'); ?>\n\n\t<!-- Navbar -->\n\t<?php include(THEME_DIR_PHP.'navbar.php'); ?>\n\n\t<!-- Content -->\n\t<main class=\"max-w-2xl mx-auto px-4 py-8\">\n\t\t<?php\n\t\t\tif ($url->notFound()) {\n\t\t\t\tinclude(THEME_DIR_PHP.'404.php');\n\t\t\t} elseif ($WHERE_AM_I === 'page') {\n\t\t\t\tinclude(THEME_DIR_PHP.'page.php');\n\t\t\t} else {\n\t\t\t\tinclude(THEME_DIR_PHP.'home.php');\n\t\t\t}\n\t\t?>\n\t</main>\n\n\t<!-- Footer -->\n\t<?php include(THEME_DIR_PHP.'footer.php'); ?>\n\n\t<!-- Load Bludit Plugins: Site Body End -->\n\t<?php Theme::plugins('siteBodyEnd'); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "bl-themes/flavor/languages/en.json",
    "content": "{\n\t\"theme-data\":\n\t{\n\t\t\"name\": \"Flavor\",\n\t\t\"description\": \"A minimal, clean blog theme powered by Tailwind CSS. Features a centered layout, elegant typography with Inter font, and emerald accents.\"\n\t},\n\t\"Read more\": \"Read more\",\n\t\"Reading time\": \"Reading time\",\n\t\"read\": \"read\",\n\t\"Back to home\": \"Back to home\",\n\t\"Previous\": \"Previous\",\n\t\"Next\": \"Next\"\n}\n"
  },
  {
    "path": "bl-themes/flavor/metadata.json",
    "content": "{\n\t\"author\": \"Bludit\",\n\t\"email\": \"\",\n\t\"website\": \"https://themes.bludit.com\",\n\t\"version\": \"3.21.0\",\n\t\"releaseDate\": \"2026-04-25\",\n\t\"license\": \"MIT\",\n\t\"compatible\": \"3.21\",\n\t\"notes\": \"\"\n}\n"
  },
  {
    "path": "bl-themes/flavor/php/404.php",
    "content": "<article class=\"py-16 text-center\">\n\t<p class=\"text-6xl font-bold text-gray-300 dark:text-gray-700 mb-4\">404</p>\n\t<h1 class=\"text-2xl font-bold text-gray-900 dark:text-white mb-4\">\n\t\t<?php echo $L->get('Page not found'); ?>\n\t</h1>\n\t<p class=\"text-gray-500 dark:text-gray-400 mb-8 max-w-md mx-auto\">\n\t\t<?php echo $L->get('The page you are looking for does not exist or has been moved.'); ?>\n\t</p>\n\t<a href=\"<?php echo Theme::siteUrl(); ?>\" class=\"inline-flex items-center text-sm font-medium text-accent-600 dark:text-accent-400 hover:text-accent-700 dark:hover:text-accent-300 no-underline transition-colors\">\n\t\t&larr; <?php echo $L->get('Back to home'); ?>\n\t</a>\n</article>\n"
  },
  {
    "path": "bl-themes/flavor/php/footer.php",
    "content": "<footer class=\"border-t border-gray-200 dark:border-gray-800 mt-8\">\n\t<div class=\"max-w-2xl mx-auto px-4 py-8\">\n\t\t<div class=\"flex flex-col sm:flex-row items-center justify-between gap-4 text-sm text-gray-500 dark:text-gray-400\">\n\t\t\t<p class=\"m-0\"><?php echo $site->footer(); ?></p>\n\t\t\t<?php if (!defined('BLUDIT_PRO')): ?>\n\t\t\t<p class=\"m-0\">\n\t\t\t\tPowered by <a href=\"https://www.bludit.com\" target=\"_blank\" rel=\"noopener\" class=\"text-accent-600 dark:text-accent-400 hover:text-accent-700 dark:hover:text-accent-300 no-underline font-medium\">Bludit</a>\n\t\t\t</p>\n\t\t\t<?php endif; ?>\n\t\t</div>\n\t</div>\n</footer>\n"
  },
  {
    "path": "bl-themes/flavor/php/head.php",
    "content": "<meta charset=\"utf-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n<meta name=\"generator\" content=\"Bludit\">\n\n<!-- Dynamic title tag -->\n<?php echo Theme::metaTags('title'); ?>\n\n<!-- Dynamic description tag -->\n<?php echo Theme::metaTags('description'); ?>\n\n<!-- Canonical URL -->\n<?php if ($WHERE_AM_I === 'page'): ?>\n<link rel=\"canonical\" href=\"<?php echo $page->permalink(); ?>\">\n<?php else: ?>\n<link rel=\"canonical\" href=\"<?php echo Theme::siteUrl(); ?>\">\n<?php endif; ?>\n\n<!-- Robots meta -->\n<?php if ($WHERE_AM_I === 'page'): ?>\n<?php\n\t$robotsDirectives = [];\n\tif ($page->noindex()) $robotsDirectives[] = 'noindex';\n\tif ($page->nofollow()) $robotsDirectives[] = 'nofollow';\n\tif ($page->noarchive()) $robotsDirectives[] = 'noarchive';\n\tif (!empty($robotsDirectives)):\n?>\n<meta name=\"robots\" content=\"<?php echo implode(', ', $robotsDirectives); ?>\">\n<?php endif; ?>\n<?php endif; ?>\n\n<!-- Open Graph -->\n<meta property=\"og:site_name\" content=\"<?php echo $site->title(); ?>\">\n<meta property=\"og:locale\" content=\"<?php echo $site->locale(); ?>\">\n<?php if ($WHERE_AM_I === 'page'): ?>\n<meta property=\"og:type\" content=\"article\">\n<meta property=\"og:title\" content=\"<?php echo $page->title(); ?>\">\n<meta property=\"og:description\" content=\"<?php echo $page->description(); ?>\">\n<meta property=\"og:url\" content=\"<?php echo $page->permalink(); ?>\">\n<?php if ($page->coverImage()): ?>\n<meta property=\"og:image\" content=\"<?php echo $page->coverImage(true); ?>\">\n<meta property=\"og:image:alt\" content=\"<?php echo $page->title(); ?>\">\n<?php endif; ?>\n<meta property=\"article:published_time\" content=\"<?php echo $page->dateRaw(); ?>\">\n<?php if ($page->dateModified('Y-m-d\\TH:i:sP')): ?>\n<meta property=\"article:modified_time\" content=\"<?php echo $page->dateModified('Y-m-d\\TH:i:sP'); ?>\">\n<?php endif; ?>\n<?php if ($page->user('nickname')): ?>\n<meta property=\"article:author\" content=\"<?php echo $page->user('nickname'); ?>\">\n<?php endif; ?>\n<?php $ogTags = $page->tags(true); ?>\n<?php foreach ($ogTags as $tagKey => $tagName): ?>\n<meta property=\"article:tag\" content=\"<?php echo $tagName; ?>\">\n<?php endforeach; ?>\n<?php else: ?>\n<meta property=\"og:type\" content=\"website\">\n<meta property=\"og:title\" content=\"<?php echo $site->title(); ?>\">\n<meta property=\"og:description\" content=\"<?php echo $site->description(); ?>\">\n<meta property=\"og:url\" content=\"<?php echo Theme::siteUrl(); ?>\">\n<?php endif; ?>\n\n<!-- Twitter Card -->\n<meta name=\"twitter:card\" content=\"<?php echo ($WHERE_AM_I === 'page' && $page->coverImage()) ? 'summary_large_image' : 'summary'; ?>\">\n<?php if ($site->twitter()): ?>\n<meta name=\"twitter:site\" content=\"<?php echo $site->twitter(); ?>\">\n<?php endif; ?>\n<?php if ($WHERE_AM_I === 'page'): ?>\n<meta name=\"twitter:title\" content=\"<?php echo $page->title(); ?>\">\n<meta name=\"twitter:description\" content=\"<?php echo $page->description(); ?>\">\n<?php if ($page->coverImage()): ?>\n<meta name=\"twitter:image\" content=\"<?php echo $page->coverImage(true); ?>\">\n<meta name=\"twitter:image:alt\" content=\"<?php echo $page->title(); ?>\">\n<?php endif; ?>\n<?php else: ?>\n<meta name=\"twitter:title\" content=\"<?php echo $site->title(); ?>\">\n<meta name=\"twitter:description\" content=\"<?php echo $site->description(); ?>\">\n<?php endif; ?>\n\n<!-- RSS Feed -->\n<?php if (Theme::rssUrl()): ?>\n<link rel=\"alternate\" type=\"application/rss+xml\" title=\"<?php echo $site->title(); ?> - RSS Feed\" href=\"<?php echo Theme::rssUrl(); ?>\">\n<?php endif; ?>\n\n<!-- JSON-LD Structured Data -->\n<?php if ($WHERE_AM_I === 'page' && !$page->isStatic()): ?>\n<script type=\"application/ld+json\">\n<?php\n\t$jsonLd = [\n\t\t'@context' => 'https://schema.org',\n\t\t'@type' => 'BlogPosting',\n\t\t'mainEntityOfPage' => [\n\t\t\t'@type' => 'WebPage',\n\t\t\t'@id' => $page->permalink()\n\t\t],\n\t\t'headline' => $page->title(),\n\t\t'description' => $page->description(),\n\t\t'datePublished' => $page->dateRaw(),\n\t\t'url' => $page->permalink(),\n\t\t'publisher' => [\n\t\t\t'@type' => 'Organization',\n\t\t\t'name' => $site->title()\n\t\t]\n\t];\n\tif ($page->dateModified('Y-m-d\\TH:i:sP')) {\n\t\t$jsonLd['dateModified'] = $page->dateModified('Y-m-d\\TH:i:sP');\n\t}\n\tif ($page->coverImage()) {\n\t\t$jsonLd['image'] = [\n\t\t\t'@type' => 'ImageObject',\n\t\t\t'url' => $page->coverImage(true)\n\t\t];\n\t}\n\tif ($page->user('nickname')) {\n\t\t$jsonLd['author'] = [\n\t\t\t'@type' => 'Person',\n\t\t\t'name' => $page->user('nickname')\n\t\t];\n\t}\n\t$seoTags = $page->tags(true);\n\tif (!empty($seoTags)) {\n\t\t$jsonLd['keywords'] = implode(', ', array_values($seoTags));\n\t}\n\tif ($page->readingTime()) {\n\t\t$jsonLd['timeRequired'] = 'PT' . intval($page->readingTime()) . 'M';\n\t}\n\techo json_encode($jsonLd, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);\n?>\n</script>\n\n<!-- Breadcrumb JSON-LD -->\n<script type=\"application/ld+json\">\n<?php\n\t$breadcrumbItems = [\n\t\t[\n\t\t\t'@type' => 'ListItem',\n\t\t\t'position' => 1,\n\t\t\t'name' => $site->title(),\n\t\t\t'item' => Theme::siteUrl()\n\t\t]\n\t];\n\t$position = 2;\n\tif ($page->categoryKey()) {\n\t\t$breadcrumbItems[] = [\n\t\t\t'@type' => 'ListItem',\n\t\t\t'position' => $position,\n\t\t\t'name' => $page->category(),\n\t\t\t'item' => $page->categoryPermalink()\n\t\t];\n\t\t$position++;\n\t}\n\t$breadcrumbItems[] = [\n\t\t'@type' => 'ListItem',\n\t\t'position' => $position,\n\t\t'name' => $page->title(),\n\t\t'item' => $page->permalink()\n\t];\n\techo json_encode([\n\t\t'@context' => 'https://schema.org',\n\t\t'@type' => 'BreadcrumbList',\n\t\t'itemListElement' => $breadcrumbItems\n\t], JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);\n?>\n</script>\n<?php elseif ($WHERE_AM_I !== 'page'): ?>\n<script type=\"application/ld+json\">\n<?php\n\techo json_encode([\n\t\t'@context' => 'https://schema.org',\n\t\t'@type' => 'WebSite',\n\t\t'name' => $site->title(),\n\t\t'description' => $site->description(),\n\t\t'url' => Theme::siteUrl()\n\t], JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);\n?>\n</script>\n<?php endif; ?>\n\n<!-- Include Favicon -->\n<?php echo Theme::favicon('img/favicon.png'); ?>\n\n<!-- Tailwind CSS v4 via CDN -->\n<script src=\"https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4\"></script>\n<style type=\"text/tailwindcss\">\n@theme {\n\t--font-sans: 'Inter', system-ui, -apple-system, sans-serif;\n\t--color-accent-50: #ecfdf5;\n\t--color-accent-100: #d1fae5;\n\t--color-accent-200: #a7f3d0;\n\t--color-accent-300: #6ee7b7;\n\t--color-accent-400: #34d399;\n\t--color-accent-500: #10b981;\n\t--color-accent-600: #059669;\n\t--color-accent-700: #047857;\n\t--color-accent-800: #065f46;\n\t--color-accent-900: #064e3b;\n}\n</style>\n\n<!-- Google Fonts: Inter -->\n<link rel=\"preconnect\" href=\"https://fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n<link href=\"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap\" rel=\"stylesheet\">\n\n<!-- Include CSS Styles from this theme -->\n<?php echo Theme::css('css/style.css'); ?>\n\n<!-- Load Bludit Plugins: Site head -->\n<?php Theme::plugins('siteHead'); ?>\n"
  },
  {
    "path": "bl-themes/flavor/php/home.php",
    "content": "<?php if (empty($content)) : ?>\n\t<p class=\"text-gray-500 dark:text-gray-400 mt-8\"><?php $language->p('No pages found') ?></p>\n<?php endif ?>\n\n<div class=\"divide-y divide-gray-200 dark:divide-gray-800\">\n\t<?php foreach ($content as $page) : ?>\n\t<article class=\"py-8\">\n\n\t\t<!-- Load Bludit Plugins: Page Begin -->\n\t\t<?php Theme::plugins('pageBegin'); ?>\n\n\t\t<!-- Cover image -->\n\t\t<?php if ($page->coverImage()) : ?>\n\t\t<div class=\"mb-4 rounded-lg overflow-hidden\">\n\t\t\t<img class=\"w-full h-auto\" alt=\"<?php echo $page->title(); ?>\" src=\"<?php echo $page->coverImage(); ?>\" loading=\"lazy\" />\n\t\t</div>\n\t\t<?php endif ?>\n\n\t\t<!-- Date -->\n\t\t<time class=\"block text-sm text-gray-500 dark:text-gray-400 mb-2\" datetime=\"<?php echo $page->dateRaw(); ?>\">\n\t\t\t<?php echo $page->date(); ?>\n\t\t</time>\n\n\t\t<!-- Title -->\n\t\t<h2 class=\"text-2xl font-bold mb-2\">\n\t\t\t<a href=\"<?php echo $page->permalink(); ?>\" class=\"text-gray-900 dark:text-white hover:text-accent-600 dark:hover:text-accent-400 transition-colors no-underline\">\n\t\t\t\t<?php echo $page->title(); ?>\n\t\t\t</a>\n\t\t</h2>\n\n\t\t<!-- Reading time -->\n\t\t<p class=\"text-sm text-gray-500 dark:text-gray-400 mb-3\">\n\t\t\t<?php echo $page->readingTime(); ?> <?php echo $L->get('read'); ?>\n\t\t</p>\n\n\t\t<!-- Content excerpt -->\n\t\t<div class=\"prose-content text-gray-600 dark:text-gray-300 leading-relaxed\">\n\t\t\t<?php echo $page->contentBreak(); ?>\n\t\t</div>\n\n\t\t<!-- Read more -->\n\t\t<?php if ($page->readMore()) : ?>\n\t\t<a href=\"<?php echo $page->permalink(); ?>\" class=\"inline-flex items-center mt-4 text-accent-600 dark:text-accent-400 hover:text-accent-700 dark:hover:text-accent-300 font-medium text-sm no-underline transition-colors\">\n\t\t\t<?php echo $L->get('Read more'); ?> &rarr;\n\t\t</a>\n\t\t<?php endif ?>\n\n\t\t<!-- Tags and Category -->\n\t\t<?php $tagsList = $page->tags(true); $categoryKey = $page->categoryKey(); ?>\n\t\t<?php if (!empty($tagsList) || $categoryKey) : ?>\n\t\t<div class=\"flex flex-wrap gap-2 mt-4\">\n\t\t\t<?php if ($categoryKey) : ?>\n\t\t\t\t<a class=\"inline-block text-xs font-medium px-2.5 py-1 rounded-full bg-accent-100 text-accent-700 dark:bg-accent-900 dark:text-accent-300 hover:bg-accent-200 dark:hover:bg-accent-800 transition-colors no-underline\" href=\"<?php echo $page->categoryPermalink(); ?>\">\n\t\t\t\t\t<?php echo $page->category(); ?>\n\t\t\t\t</a>\n\t\t\t<?php endif ?>\n\t\t\t<?php foreach ($tagsList as $tagKey => $tagName) : ?>\n\t\t\t\t<a class=\"inline-block text-xs font-medium px-2.5 py-1 rounded-full bg-gray-100 text-gray-600 dark:bg-gray-800 dark:text-gray-400 hover:bg-gray-200 dark:hover:bg-gray-700 transition-colors no-underline\" href=\"<?php echo DOMAIN_TAGS . $tagKey; ?>\">\n\t\t\t\t\t<?php echo $tagName; ?>\n\t\t\t\t</a>\n\t\t\t<?php endforeach ?>\n\t\t</div>\n\t\t<?php endif ?>\n\n\t\t<!-- Load Bludit Plugins: Page End -->\n\t\t<?php Theme::plugins('pageEnd'); ?>\n\n\t</article>\n\t<?php endforeach ?>\n</div>\n\n<!-- Pagination -->\n<?php if (Paginator::numberOfPages() > 1) : ?>\n<nav class=\"flex justify-between items-center py-8 border-t border-gray-200 dark:border-gray-800\">\n\t<div>\n\t\t<?php if (Paginator::showPrev()) : ?>\n\t\t<a href=\"<?php echo htmlspecialchars(Paginator::previousPageUrl(), ENT_QUOTES, 'UTF-8') ?>\" class=\"inline-flex items-center text-sm font-medium text-accent-600 dark:text-accent-400 hover:text-accent-700 dark:hover:text-accent-300 no-underline transition-colors\">\n\t\t\t&larr; <?php echo $L->get('Previous'); ?>\n\t\t</a>\n\t\t<?php endif; ?>\n\t</div>\n\t<div>\n\t\t<?php if (Paginator::showNext()) : ?>\n\t\t<a href=\"<?php echo htmlspecialchars(Paginator::nextPageUrl(), ENT_QUOTES, 'UTF-8') ?>\" class=\"inline-flex items-center text-sm font-medium text-accent-600 dark:text-accent-400 hover:text-accent-700 dark:hover:text-accent-300 no-underline transition-colors\">\n\t\t\t<?php echo $L->get('Next'); ?> &rarr;\n\t\t</a>\n\t\t<?php endif; ?>\n\t</div>\n</nav>\n<?php endif ?>\n"
  },
  {
    "path": "bl-themes/flavor/php/navbar.php",
    "content": "<header class=\"border-b border-gray-200 dark:border-gray-800\">\n\t<div class=\"max-w-2xl mx-auto px-4 py-6 flex items-center justify-between\">\n\t\t<a href=\"<?php echo Theme::siteUrl() ?>\" class=\"text-xl font-bold text-gray-900 dark:text-white hover:text-accent-600 dark:hover:text-accent-400 transition-colors no-underline\">\n\t\t\t<?php echo $site->title() ?>\n\t\t</a>\n\t\t<nav class=\"flex items-center gap-6 text-sm\">\n\t\t\t<?php if ($site->homepage()): ?>\n\t\t\t\t<a class=\"text-gray-600 dark:text-gray-400 hover:text-accent-600 dark:hover:text-accent-400 transition-colors no-underline <?php echo ($WHERE_AM_I === 'blog') ? 'font-semibold text-accent-600 dark:text-accent-400' : '' ?>\" href=\"<?php echo DOMAIN_BASE . ltrim($url->filters('blog'), '/') ?>\">\n\t\t\t\t\t<?php echo $L->get('Blog') ?>\n\t\t\t\t</a>\n\t\t\t<?php endif; ?>\n\n\t\t\t<?php foreach ($staticContent as $staticPage) : ?>\n\t\t\t\t<a class=\"text-gray-600 dark:text-gray-400 hover:text-accent-600 dark:hover:text-accent-400 transition-colors no-underline <?php echo ($url->slug() == $staticPage->slug()) ? 'font-semibold text-accent-600 dark:text-accent-400' : '' ?>\" href=\"<?php echo $staticPage->permalink() ?>\">\n\t\t\t\t\t<?php echo $staticPage->title() ?>\n\t\t\t\t</a>\n\t\t\t<?php endforeach ?>\n\n\t\t\t<?php foreach (Theme::socialNetworks() as $key => $label) : ?>\n\t\t\t\t<a class=\"text-gray-400 hover:text-accent-600 dark:hover:text-accent-400 transition-colors no-underline\" href=\"<?php echo $site->{$key}(); ?>\" target=\"_blank\" rel=\"noopener\" title=\"<?php echo $label ?>\">\n\t\t\t\t\t<?php echo $label ?>\n\t\t\t\t</a>\n\t\t\t<?php endforeach; ?>\n\t\t</nav>\n\t</div>\n</header>\n"
  },
  {
    "path": "bl-themes/flavor/php/page.php",
    "content": "<article class=\"py-8\">\n\n\t<!-- Load Bludit Plugins: Page Begin -->\n\t<?php Theme::plugins('pageBegin'); ?>\n\n\t<?php if (!$page->isStatic() && !$url->notFound()): ?>\n\t<!-- Breadcrumb navigation -->\n\t<nav aria-label=\"Breadcrumb\" class=\"mb-6\">\n\t\t<ol class=\"flex items-center text-sm text-gray-500 dark:text-gray-400 gap-1.5\">\n\t\t\t<li>\n\t\t\t\t<a href=\"<?php echo Theme::siteUrl(); ?>\" class=\"hover:text-accent-600 dark:hover:text-accent-400 no-underline transition-colors\">\n\t\t\t\t\t<?php echo $site->title(); ?>\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t\t<?php if ($page->categoryKey()): ?>\n\t\t\t<li class=\"flex items-center gap-1.5\">\n\t\t\t\t<span aria-hidden=\"true\">/</span>\n\t\t\t\t<a href=\"<?php echo $page->categoryPermalink(); ?>\" class=\"hover:text-accent-600 dark:hover:text-accent-400 no-underline transition-colors\">\n\t\t\t\t\t<?php echo $page->category(); ?>\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t\t<?php endif; ?>\n\t\t\t<li class=\"flex items-center gap-1.5\">\n\t\t\t\t<span aria-hidden=\"true\">/</span>\n\t\t\t\t<span class=\"text-gray-700 dark:text-gray-300 font-medium truncate max-w-[200px]\" aria-current=\"page\">\n\t\t\t\t\t<?php echo $page->title(); ?>\n\t\t\t\t</span>\n\t\t\t</li>\n\t\t</ol>\n\t</nav>\n\n\t<!-- Date and reading time -->\n\t<div class=\"mb-4\">\n\t\t<time class=\"text-sm text-gray-500 dark:text-gray-400\" datetime=\"<?php echo $page->dateRaw(); ?>\">\n\t\t\t<?php echo $page->date(); ?>\n\t\t</time>\n\t\t<span class=\"text-sm text-gray-400 dark:text-gray-500 mx-2\">&middot;</span>\n\t\t<span class=\"text-sm text-gray-500 dark:text-gray-400\">\n\t\t\t<?php echo $page->readingTime(); ?> <?php echo $L->get('read'); ?>\n\t\t</span>\n\t\t<?php if ($page->user('nickname')): ?>\n\t\t<span class=\"text-sm text-gray-400 dark:text-gray-500 mx-2\">&middot;</span>\n\t\t<span class=\"text-sm text-gray-500 dark:text-gray-400\">\n\t\t\t<?php echo $page->user('nickname'); ?>\n\t\t</span>\n\t\t<?php endif; ?>\n\t</div>\n\t<?php endif ?>\n\n\t<!-- Title -->\n\t<h1 class=\"text-3xl font-bold text-gray-900 dark:text-white mb-6 leading-tight\">\n\t\t<?php echo $page->title(); ?>\n\t</h1>\n\n\t<!-- Cover image -->\n\t<?php if ($page->coverImage()): ?>\n\t<figure class=\"mb-8 rounded-lg overflow-hidden\">\n\t\t<img class=\"w-full h-auto\" alt=\"<?php echo $page->title(); ?>\" src=\"<?php echo $page->coverImage(); ?>\" loading=\"lazy\" />\n\t</figure>\n\t<?php endif ?>\n\n\t<!-- Full content -->\n\t<div class=\"prose-content text-gray-700 dark:text-gray-300 leading-relaxed\">\n\t\t<?php echo $page->content(); ?>\n\t</div>\n\n\t<!-- Tags and Category -->\n\t<?php $tagsList = $page->tags(true); $categoryKey = $page->categoryKey(); ?>\n\t<?php if (!empty($tagsList) || $categoryKey) : ?>\n\t<footer class=\"flex flex-wrap gap-2 mt-8 pt-6 border-t border-gray-200 dark:border-gray-800\">\n\t\t<?php if ($categoryKey) : ?>\n\t\t\t<a class=\"inline-block text-xs font-medium px-2.5 py-1 rounded-full bg-accent-100 text-accent-700 dark:bg-accent-900 dark:text-accent-300 hover:bg-accent-200 dark:hover:bg-accent-800 transition-colors no-underline\" href=\"<?php echo $page->categoryPermalink(); ?>\">\n\t\t\t\t<?php echo $page->category(); ?>\n\t\t\t</a>\n\t\t<?php endif ?>\n\t\t<?php foreach ($tagsList as $tagKey => $tagName) : ?>\n\t\t\t<a class=\"inline-block text-xs font-medium px-2.5 py-1 rounded-full bg-gray-100 text-gray-600 dark:bg-gray-800 dark:text-gray-400 hover:bg-gray-200 dark:hover:bg-gray-700 transition-colors no-underline\" href=\"<?php echo DOMAIN_TAGS . $tagKey; ?>\">\n\t\t\t\t<?php echo $tagName; ?>\n\t\t\t</a>\n\t\t<?php endforeach ?>\n\t</footer>\n\t<?php endif ?>\n\n\t<!-- Back to home -->\n\t<?php if (!$page->isStatic()) : ?>\n\t<div class=\"mt-8 pt-6 border-t border-gray-200 dark:border-gray-800\">\n\t\t<a href=\"<?php echo Theme::siteUrl(); ?>\" class=\"inline-flex items-center text-sm font-medium text-accent-600 dark:text-accent-400 hover:text-accent-700 dark:hover:text-accent-300 no-underline transition-colors\">\n\t\t\t&larr; <?php echo $L->get('Back to home'); ?>\n\t\t</a>\n\t</div>\n\t<?php endif ?>\n\n\t<!-- Load Bludit Plugins: Page End -->\n\t<?php Theme::plugins('pageEnd'); ?>\n\n</article>\n"
  },
  {
    "path": "bl-themes/popeye/css/01-style.css",
    "content": "\n/* COMMON */\na {\n    color: #495057;\n\ttext-decoration: none;\n}\n\na:hover {\n\tcolor: #0a58ca;\n}\n\nimg {\n\tmax-width: 100%;\n}\n\npre, code {\n\tcolor: #f8f8f8;\n\tbackground-color: #495057;\n}\n\ncode {\n\tdisplay: inline;\n\tpadding: 0.2em 0.4em;\n\tline-height: 1.4;\n\tborder-radius: 3px;\n\tbox-decoration-break: clone;\n\t-webkit-box-decoration-break: clone;\n}\n\npre {\n\toverflow-x: auto;\n\tpadding: 1.6rem 2.2rem;\n\tline-height: 1.5;\n\tborder-radius: 5px !important;\n}\n\n/* BOOTSTRAP */\n.list-group-item {\n\tbackground-color: inherit;\n}\n\n.badge {\n\tfont-size: 0.875rem;\n\tfont-weight: 400;\n}\n\n.bi {\n\tmargin-right: .5rem!important;\n}\n\n.btn:focus,\n.form-control:focus,\n.form-select:focus {\n  outline: none !important;\n  box-shadow: none !important;\n}\n\n/* PAGE */\nsection.page {\n\tfont-size: 1.1rem;\n}\n\nsection.page .page-description {\n    font-style: italic;\n}\n\nsection.page a {\n\tcolor: #0a58ca;\n}\n\nsection.page p {\n\tmargin-bottom: 1.2rem;\n}\n\nsection.page h1.page-title {\n\tfont-size: 2rem;\n}\n\nsection.page h2 {\n\tfont-size: 1.5rem;\n}\n\nsection.page h3 {\n\tfont-size: 1.3rem;\n}\n\nsection.page h4 {\n\tfont-size: 1.1rem;\n}\n\nsection.page h5 {\n\tfont-size: 1rem;\n}\n\nsection.page h2,\nsection.page h3,\nsection.page h4,\nsection.page h5 {\n\tmargin: 2rem 0 1rem 0;\n}\n\n/* NAV LINKS */\n.nav-links {\n\tlist-style: none;\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tgap: 0.5rem 1.25rem;\n\tmargin: 0;\n\tpadding: 0;\n}\n\n.nav-links a {\n\tcolor: #495057;\n}\n\n.nav-links a:hover {\n\tcolor: #0a58ca;\n}\n\n/* HOME */\n.site-title {\n\tfont-size: clamp(1.8rem, 2.5vw, 2.6rem);\n}\n\n.list-group-item h5 {\n\tfont-size: 1.15rem;\n}\n\n/* FOOTER */\n.footer-links {\n\tlist-style: none;\n\tmargin: 0;\n\tpadding: 0;\n}\n\n@media (max-width: 575.98px) {\n\tsection.page {\n\t\tfont-size: 1rem;\n\t}\n\n\tsection.page h1.page-title {\n\t\tfont-size: 1.75rem;\n\t}\n}\n\n/* VIDEO EMBED RESPONSIVE */\n.video-embed {\n\toverflow:hidden;\n\tpadding-bottom: 56.25%; /* 16:9 */\n\tposition:relative;\n\theight:0;\n}\n.video-embed iframe{\n\tleft:0;\n\ttop:0;\n\theight:100%;\n\twidth:100%;\n\tposition:absolute;\n}\n"
  },
  {
    "path": "bl-themes/popeye/css/02-helpers.css",
    "content": "/* HELPERs */\n.color-blue {\n\tcolor: #0a58ca;\n}\n\n.color-light {\n    color: #495057;\n}\n\n.bold {\n\tfont-weight: 600;\n}\n\n.italic {\n    font-style: italic;\n}\n\n.bg-gray {\n    background-color: #ececec;\n}\n"
  },
  {
    "path": "bl-themes/popeye/css/99-darkmode.css",
    "content": "body {\n    background-color: #1C1C1E !important;\n    color: #b3b3b3 !important;\n}\n\na {\n    color: #b3b3b3 !important;\n}\n\na:hover {\n    color: #e2e2e2 !important\n}\n\na.badge:hover {\n    color: #999 !important;\n}\n\n.form-text {\n    color: #989899 !important;\n}\n\n.bg-light {\n    background-color: #000 !important;\n}\n\n.color-blue {\n    color: #688bbd !important;\n}\n\n.btn-outline-primary {\n    color: #688bbd !important;\n    border-color: #688bbd !important;\n}\n\n.btn-outline-primary:hover {\n    background-color: #1C1C1E !important;\n    color: #fff !important;\n}\n\n.page-link {\n    color: #688bbd !important;\n    border-color: #688bbd !important;\n    background-color: #1C1C1E !important;\n}\n\n.form-control {\n    background-color: #1C1C1E !important;\n    border-color: #302F33 !important;\n    color: #b3b3b3 !important;\n}"
  },
  {
    "path": "bl-themes/popeye/index.php",
    "content": "<!DOCTYPE html>\n<html lang=\"<?php echo Theme::lang() ?>\">\n\n<head>\n\t<meta charset=\"UTF-8\">\n\t<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n\t<meta name=\"generator\" content=\"Bludit\">\n\n\t<!-- Generate <title>...</title> -->\n\t<?php echo Theme::metaTagTitle(); ?>\n\n\t<!-- Generate <meta name=\"description\" content=\"...\"> -->\n\t<?php echo Theme::metaTagDescription(); ?>\n\n\t<!-- Generate <link rel=\"icon\" href=\"...\"> -->\n\t<?php echo Theme::favicon('img/favicon.png'); ?>\n\n\t<!-- Include CSS Bootstrap file from Bludit Core -->\n\t<?php echo Theme::cssBootstrap(); ?>\n\n\t<!-- Include CSS Bootstrap ICONS file from Bludit Core -->\n\t<?php echo Theme::cssBootstrapIcons(); ?>\n\n\t<!-- Include CSS Styles -->\n\t<?php\n\techo Theme::css(array(\n\t\t'css/01-style.css',\n\t\t'css/02-helpers.css'\n\t));\n\n\t# Apply the following CSS only for Dark Mode\n\tif ($themePlugin->darkMode()) {\n\t\techo Theme::css(\n\t\t\t'css/99-darkmode.css'\n\t\t);\n\t}\n\t?>\n\n\t<?php if ($themePlugin->googleFonts()) : ?>\n\t\t<link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap\">\n\t\t<style>\n\t\t\tbody {\n\t\t\t\tfont-family: \"Open Sans\", sans-serif;\n\t\t\t}\n\t\t</style>\n\t<?php endif; ?>\n\n\t<!-- Execute Bludit plugins for the hook \"Site head\" -->\n\t<?php Theme::plugins('siteHead'); ?>\n</head>\n\n<body>\n\n\t<!-- Execute Bludit plugins for the hook \"Site body begin\" -->\n\t<?php Theme::plugins('siteBodyBegin'); ?>\n\n\t<!-- Navbar -->\n\t<?php include(THEME_DIR_PHP . 'navbar.php'); ?>\n\n\t<!-- Content -->\n\t<?php\n\t// $WHERE_AM_I variable provides where the user is browsing\n\t// If the user is watching a particular page the variable takes the value \"page\"\n\t// If the user is watching the frontpage the variable takes the value \"home\"\n\t// If the user is watching a particular category the variable takes the value \"category\"\n\tif ($WHERE_AM_I == 'page') {\n\t\tinclude(THEME_DIR_PHP . 'page.php');\n\t} else {\n\t\tinclude(THEME_DIR_PHP . 'home.php');\n\t}\n\t?>\n\n\t<!-- Footer -->\n\t<?php include(THEME_DIR_PHP . 'footer.php'); ?>\n\n\t<!-- Include Jquery file from Bludit Core -->\n\t<?php echo Theme::jquery(); ?>\n\n\t<!-- Include javascript Bootstrap file from Bludit Core -->\n\t<?php echo Theme::jsBootstrap(); ?>\n\n\t<!-- Execute Bludit plugins for the hook \"Site body end\" -->\n\t<?php Theme::plugins('siteBodyEnd'); ?>\n\n</body>\n\n</html>\n"
  },
  {
    "path": "bl-themes/popeye/init.php",
    "content": "<?php defined('BLUDIT') or die('Bludit CMS.');\n\nif ($themePlugin == false) {\n  exit(\"To ensure proper functionality, the theme requires the Popeye plugin. Activate the plugin through the admin panel.\");\n}\n"
  },
  {
    "path": "bl-themes/popeye/languages/de_AT.json",
    "content": "{\n\t\"theme-data\":\n\t{\n\t\t\"name\": \"Popeye\",\n\t\t\"description\": \"\"\n\t},\n\t\"related-pages\": \"Verwandte Seiten\",\n\t\"minutes\": \"Minuten\",\n\t\"read\": \"Lesezeit\"\t\n}\n"
  },
  {
    "path": "bl-themes/popeye/languages/de_CH.json",
    "content": "{\n\t\"theme-data\":\n\t{\n\t\t\"name\": \"Popeye\",\n\t\t\"description\": \"\"\n\t},\n\t\"related-pages\": \"Verwandte Seiten\",\n\t\"minutes\": \"Minuten\",\n\t\"read\": \"Lesezeit\"\n}\n"
  },
  {
    "path": "bl-themes/popeye/languages/de_DE.json",
    "content": "{\n\t\"theme-data\":\n\t{\n\t\t\"name\": \"Popeye\",\n\t\t\"description\": \"\"\n\t},\n\t\"related-pages\": \"Verwandte Seiten\",\n\t\"minutes\": \"Minuten\",\n\t\"read\": \"Lesezeit\"\t\n}\n"
  },
  {
    "path": "bl-themes/popeye/languages/en.json",
    "content": "{\n\t\"theme-data\":\n\t{\n\t\t\"name\": \"Popeye\",\n\t\t\"description\": \"\"\n\t},\n\t\"related-pages\": \"Related pages\",\n\t\"minutes\": \"minutes\",\n\t\"read\": \"read\"\t\n}\n"
  },
  {
    "path": "bl-themes/popeye/languages/ja_JP.json",
    "content": "{\n\t\"theme-data\":\n\t{\n\t\t\"name\": \"Popeye\",\n\t\t\"description\": \"\"\n\t},\n\t\"related-pages\": \"関連ページ\",\n\t\"minutes\": \"分\",\n\t\"read\": \"で読めます\"\n}\n"
  },
  {
    "path": "bl-themes/popeye/metadata.json",
    "content": "{\n\t\"author\": \"Bludit\",\n\t\"email\": \"\",\n\t\"website\": \"https://themes.bludit.com\",\n\t\"version\": \"3.21.0\",\n\t\"releaseDate\": \"2026-04-25\",\n\t\"license\": \"MIT\",\n\t\"compatible\": \"3.21\",\n\t\"notes\": \"\",\n\t\"plugin\": \"popeye\"\n}\n"
  },
  {
    "path": "bl-themes/popeye/php/footer.php",
    "content": "<footer class=\"footer p-3 p-md-5 mt-5 text-center\">\n\t<div class=\"container\">\n\t\t<ul class=\"footer-links pl-0 mb-1\">\n\t\t\t<?php foreach (Theme::socialNetworks() as $key => $name) {\n\t\t\t\techo '<li class=\"d-inline-block pr-4\"><a class=\"color-blue\" href=\"' . $site->{$key}() . '\">' . $name . '</a></li>';\n\t\t\t}\n\t\t\t?>\n\t\t</ul>\n<?php if (!defined('BLUDIT_PRO')): ?>\n\t\t<p class=\"m-0 mt-2\">Powered by <a class=\"color-blue\" href=\"https://www.bludit.com\">Bludit</a> - Open source CMS</p>\n<?php endif; ?>\n\t</div>\n</footer>\n"
  },
  {
    "path": "bl-themes/popeye/php/home.php",
    "content": "<header class=\"p-3\">\n\t<div class=\"container text-center\">\n\n\t\t<!-- Site logo -->\n\t\t<div class=\"site-logo\">\n\t\t\t<img class=\"img-thumbnail rounded-circle mx-auto d-block\" height=\"140px\" width=\"140px\" src=\"<?php echo ($site->logo() ? $site->logo() : HTML_PATH_THEME_IMG . 'popeye.png') ?>\" alt=\"<?php echo $site->title(); ?>\">\n\t\t</div>\n\t\t<!-- End Site logo -->\n\n\t\t<!-- Site title -->\n\t\t<h1 class=\"site-title mt-3 mb-1 bold\"><?php echo $site->title(); ?></h1>\n\t\t<!-- End Site title -->\n\n\t\t<!-- Site description -->\n\t\t<?php if ($site->description()) : ?>\n\t\t\t<div class=\"site-description mt-2\">\n\t\t\t\t<p><?php echo $site->description(); ?></p>\n\t\t\t</div>\n\t\t<?php endif ?>\n\t\t<!-- End Site description -->\n\n\t</div>\n</header>\n\n<!-- Print all the content -->\n<section class=\"mt-4 mb-4\">\n\t<div class=\"container\">\n\t\t<div class=\"row\">\n\t\t\t<div class=\"col-lg-8 mx-auto\">\n\n\t\t\t\t<!-- Search input -->\n\t\t\t\t<?php if (pluginActivated('pluginSearch')) : ?>\n\t\t\t\t\t<form class=\"d-flex mb-4\">\n\t\t\t\t\t\t<label class=\"sr-only visually-hidden\" for=\"search-input\"><?php echo $L->g('Search'); ?></label>\n\t\t\t\t\t\t<input id=\"search-input\" class=\"form-control mr-2\" type=\"search\" placeholder=\"Search\" aria-label=\"Search\">\n\t\t\t\t\t\t<button class=\"btn btn-outline-primary\" type=\"button\" onClick=\"searchNow()\">Search</button>\n\t\t\t\t\t</form>\n\t\t\t\t\t<script>\n\t\t\t\t\t\tfunction searchNow() {\n\t\t\t\t\t\t\tvar searchURL = \"<?php echo Theme::siteUrl(); ?>search/\";\n\t\t\t\t\t\t\twindow.open(searchURL + document.getElementById(\"search-input\").value, \"_self\");\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdocument.getElementById(\"search-input\").onkeypress = function(e) {\n\t\t\t\t\t\t\tif (!e) e = window.event;\n\t\t\t\t\t\t\tvar keyCode = e.keyCode || e.which;\n\t\t\t\t\t\t\tif (keyCode == '13') {\n\t\t\t\t\t\t\t\tsearchNow();\n\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t</script>\n\t\t\t\t<?php endif ?>\n\t\t\t\t<!-- End Search input -->\n\n\t\t\t\t<!-- Content not available -->\n\t\t\t\t<?php if (empty($content)) : ?>\n\t\t\t\t\t<div class=\"text-center p-4\">\n\t\t\t\t\t\t<h3><?php $language->p('No pages found') ?></h3>\n\t\t\t\t\t</div>\n\t\t\t\t<?php endif ?>\n\t\t\t\t<!-- End Content not available -->\n\n\t\t\t\t<!-- Pages -->\n\t\t\t\t<div class=\"list-group list-group-flush\">\n\t\t\t\t\t<?php foreach ($content as $pageTmp) : ?>\n\t\t\t\t\t\t<div class=\"list-group-item pt-4 pb-4\" aria-current=\"true\">\n\t\t\t\t\t\t\t<div class=\"d-flex w-100 justify-content-between\">\n\n\t\t\t\t\t\t\t\t<!-- Page title -->\n\t\t\t\t\t\t\t\t<a href=\"<?php echo $pageTmp->permalink() ?>\">\n\t\t\t\t\t\t\t\t\t<h5 class=\"mb-1\"><?php echo $pageTmp->title() ?></h5>\n\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t<!-- End Page title -->\n\n\t\t\t\t\t\t\t\t<!-- Page date -->\n\t\t\t\t\t\t\t\t<!-- This block is not visible on small devices -->\n\t\t\t\t\t\t\t\t<div class=\"d-none d-sm-block\">\n\t\t\t\t\t\t\t\t\t<?php if ($themePlugin->dateFormat() == 'relative') : ?>\n\t\t\t\t\t\t\t\t\t\t<small class=\"color-blue\"><?php echo $pageTmp->relativeTime() ?></small>\n\t\t\t\t\t\t\t\t\t<?php else : ?>\n\t\t\t\t\t\t\t\t\t\t<small class=\"color-blue\"><?php echo $pageTmp->date() ?></small>\n\t\t\t\t\t\t\t\t\t<?php endif ?>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<!-- End Page date -->\n\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<!-- Page date -->\n\t\t\t\t\t\t\t<!-- This block is only visible on small devices -->\n\t\t\t\t\t\t\t<div class=\"d-block d-sm-none\">\n\t\t\t\t\t\t\t\t<?php if ($themePlugin->dateFormat() == 'relative') : ?>\n\t\t\t\t\t\t\t\t\t<small class=\"color-blue\"><?php echo $pageTmp->relativeTime() ?></small>\n\t\t\t\t\t\t\t\t<?php else : ?>\n\t\t\t\t\t\t\t\t\t<small class=\"color-blue\"><?php echo $pageTmp->date() ?></small>\n\t\t\t\t\t\t\t\t<?php endif ?>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<!-- End Page date -->\n\n\t\t\t\t\t\t\t<!-- Page description -->\n\t\t\t\t\t\t\t<?php if ($pageTmp->description()) : ?>\n\t\t\t\t\t\t\t\t<p class=\"mb-1 form-text\"><?php echo $pageTmp->description(); ?></p>\n\t\t\t\t\t\t\t<?php endif ?>\n\t\t\t\t\t\t\t<!-- End Page description -->\n\n\t\t\t\t\t\t\t<!-- Page tags -->\n\t\t\t\t\t\t\t<?php\n\t\t\t\t\t\t\tif ($themePlugin->showTags()) {\n\t\t\t\t\t\t\t\t$tagsList = $pageTmp->tags(true);\n\t\t\t\t\t\t\t\tif (!empty($tagsList)) {\n\t\t\t\t\t\t\t\t\techo '<small>';\n\t\t\t\t\t\t\t\t\tforeach ($tagsList as $tagKey => $tagName) {\n\t\t\t\t\t\t\t\t\t\techo '<a class=\"badge bg-gray text-dark text-decoration-none mr-2\" href=\"' . DOMAIN_TAGS . $tagKey . '\">' . $tagName . '</a>';\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\techo '</small>';\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t?>\n\t\t\t\t\t\t\t<!-- End Page tags -->\n\n\t\t\t\t\t\t</div>\n\t\t\t\t\t<?php endforeach ?>\n\t\t\t\t</div>\n\t\t\t\t<!-- End Pages -->\n\n\t\t\t\t<!-- Pagination -->\n\t\t\t\t<?php if (Paginator::numberOfPages() > 1) : ?>\n\t\t\t\t\t<nav class=\"mt-4\">\n\t\t\t\t\t\t<ul class=\"pagination pagination-sm\">\n\n\t\t\t\t\t\t\t<!-- Older pages -->\n\t\t\t\t\t\t\t<?php if (Paginator::showNext()) : ?>\n\t\t\t\t\t\t\t\t<li class=\"page-item\">\n\t\t\t\t\t\t\t\t\t<a class=\"page-link\" href=\"<?php echo htmlspecialchars(Paginator::nextPageUrl(), ENT_QUOTES, 'UTF-8') ?>\">&#9664; <?php echo $L->get('Previous'); ?></a>\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t<?php endif; ?>\n\t\t\t\t\t\t\t<!-- End Older pages -->\n\n\t\t\t\t\t\t\t<!-- Newer pages -->\n\t\t\t\t\t\t\t<?php if (Paginator::showPrev()) : ?>\n\t\t\t\t\t\t\t\t<li class=\"page-item ml-auto\">\n\t\t\t\t\t\t\t\t\t<a class=\"page-link\" href=\"<?php echo htmlspecialchars(Paginator::previousPageUrl(), ENT_QUOTES, 'UTF-8') ?>\" tabindex=\"-1\"><?php echo $L->get('Next'); ?> &#9658;</a>\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t<?php endif; ?>\n\t\t\t\t\t\t\t<!-- End Newer pages -->\n\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t</nav>\n\t\t\t\t<?php endif ?>\n\t\t\t\t<!-- End Pagination -->\n\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</section>\n<!-- End Print all the content -->\n"
  },
  {
    "path": "bl-themes/popeye/php/navbar.php",
    "content": "<nav class=\"navbar navbar-light bg-light sticky-top\">\n\t<div class=\"container\">\n\t\t<a class=\"navbar-brand bold\" href=\"<?php echo $site->url() ?>\"><?php echo $site->title() ?></a>\n\t\t<ul class=\"nav-links ml-auto mb-0\">\n\t\t\t<!-- Blog link (when homepage is set to a static page) -->\n\t\t\t<?php if ($site->homepage()): ?>\n\t\t\t\t<li><a href=\"<?php echo DOMAIN_BASE . ltrim($url->filters('blog'), '/') ?>\"><?php echo $L->get('Blog') ?></a></li>\n\t\t\t<?php endif; ?>\n\t\t\t<!-- Static pages -->\n\t\t\t<?php foreach ($staticContent as $tmp) : ?>\n\t\t\t\t<li><a href=\"<?php echo $tmp->permalink(); ?>\"><?php echo $tmp->title(); ?></a></li>\n\t\t\t<?php endforeach ?>\n\t\t</ul>\n\t</div>\n</nav>\n"
  },
  {
    "path": "bl-themes/popeye/php/page.php",
    "content": "<section class=\"page mt-4 mb-4\">\n\t<div class=\"container\">\n\t\t<div class=\"row\">\n\t\t\t<div class=\"col-lg-6 mx-auto\">\n\t\t\t\t<!-- Load Bludit Plugins: Page Begin -->\n\t\t\t\t<?php Theme::plugins('pageBegin'); ?>\n\n\t\t\t\t<?php if (!$page->isStatic() && !$url->notFound()) : ?>\n\t\t\t\t\t<div class=\"form-text mb-2\">\n\t\t\t\t\t\t<!-- Page creation time -->\n\t\t\t\t\t\t<span class=\"pr-3\"><i class=\"bi bi-calendar\"></i><?php echo $page->date() ?></span>\n\n\t\t\t\t\t\t<!-- Page reading time -->\n\t\t\t\t\t\t<span class=\"pr-3\"><i class=\"bi bi-clock\"></i><?php echo $page->readingTime() . ' ' . $L->get('minutes') . ' ' . $L->g('read') ?></span>\n\n\t\t\t\t\t\t<!-- Page author -->\n\t\t\t\t\t\t<span><i class=\"bi bi-person\"></i><?php echo $page->user('nickname') ?></span>\n\t\t\t\t\t</div>\n\t\t\t\t<?php endif ?>\n\n\t\t\t\t<!-- Page title -->\n\t\t\t\t<h1 class=\"page-title bold\"><?php echo $page->title(); ?></h1>\n\n\t\t\t\t<!-- Page description -->\n\t\t\t\t<?php if ($page->description()) : ?>\n\t\t\t\t\t<p class=\"page-description italic mt-1 color-light\"><?php echo $page->description(); ?></p>\n\t\t\t\t<?php endif ?>\n\n\t\t\t\t<!-- Page content -->\n\t\t\t\t<div class=\"page-content mt-3\">\n\t\t\t\t\t<?php echo $page->content(); ?>\n\t\t\t\t</div>\n\n\t\t\t\t<!-- Load Bludit Plugins: Page End -->\n\t\t\t\t<?php Theme::plugins('pageEnd'); ?>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</section>\n\n<!-- Related pages -->\n<?php\n$relatedPages = $page->related(true, 3);\n?>\n<?php if (!empty($relatedPages)) : ?>\n\t<section class=\"related mt-4 mb-4\">\n\t\t<div class=\"container\">\n\t\t\t<div class=\"row\">\n\t\t\t\t<div class=\"col-lg-8 mx-auto p-4 bg-light\">\n\t\t\t\t\t<h4><?php $L->p('Related pages') ?></h4>\n\t\t\t\t\t<div class=\"list-group list-group-flush\">\n\t\t\t\t\t\t<?php foreach ($relatedPages as $pageKey) : ?>\n\t\t\t\t\t\t\t<?php $tmp = new Page($pageKey); ?>\n\t\t\t\t\t\t\t<div class=\"list-group-item pt-4 pb-4\" aria-current=\"true\">\n\t\t\t\t\t\t\t\t<div class=\"d-flex w-100 justify-content-between\">\n\n\t\t\t\t\t\t\t\t\t<!-- Related page title -->\n\t\t\t\t\t\t\t\t\t<a href=\"<?php echo $tmp->permalink() ?>\">\n\t\t\t\t\t\t\t\t\t\t<h5 class=\"mb-1\"><?php echo $tmp->title() ?></h5>\n\t\t\t\t\t\t\t\t\t</a>\n\n\t\t\t\t\t\t\t\t\t<!-- Related page date -->\n\t\t\t\t\t\t\t\t\t<small class=\"color-blue\"><?php echo $tmp->relativeTime() ?></small>\n\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t<!-- Related page description -->\n\t\t\t\t\t\t\t\t<?php if ($tmp->description()) : ?>\n\t\t\t\t\t\t\t\t\t<p class=\"mb-1 form-text\"><?php echo $tmp->description(); ?></p>\n\t\t\t\t\t\t\t\t<?php endif ?>\n\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<?php endforeach ?>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</section>\n<?php endif; ?>\n"
  },
  {
    "path": "index.php",
    "content": "<?php\n\n/*\n * Bludit\n * https://www.bludit.com\n * Author Diego Najar\n * Bludit is opensource software licensed under the MIT license.\n*/\n\n// Check if Bludit is installed\nif (!file_exists('bl-content/databases/site.php')) {\n\t$base = dirname($_SERVER['SCRIPT_NAME']);\n\t$base = rtrim($base, '/');\n\t$base = rtrim($base, '\\\\'); // Workaround for Windows Servers\n\theader('Location:'.$base.'/install.php');\n\texit('<a href=\"./install.php\">Install Bludit first.</a>');\n}\n\n// Load time init\n$loadTime = microtime(true);\n\n// Security constant\ndefine('BLUDIT', true);\n\n// Directory separator\ndefine('DS', DIRECTORY_SEPARATOR);\n\n// PHP paths for init\ndefine('PATH_ROOT', __DIR__.DS);\ndefine('PATH_BOOT', PATH_ROOT.'bl-kernel'.DS.'boot'.DS);\n\n// Init\nrequire(PATH_BOOT.'init.php');\n\n// Admin area\nif ($url->whereAmI()==='admin') {\n\trequire(PATH_BOOT.'admin.php');\n}\n// Site\nelse {\n\trequire(PATH_BOOT.'site.php');\n}\n"
  },
  {
    "path": "install.php",
    "content": "<?php\n\n/*\n * Bludit\n * https://www.bludit.com\n * Author Diego Najar\n * Bludit is opensource software licensed under the MIT license.\n*/\n\n// Check PHP version\nif (version_compare(phpversion(), '8.0', '<')) {\n\t$errorText = 'Current PHP version ' . phpversion() . ', you need >= 8.0.';\n\terror_log('[ERROR] ' . $errorText, 0);\n\texit($errorText);\n}\n\n// Check PHP modules\n$modulesRequired = array('mbstring', 'json', 'gd', 'dom', 'session');\n$modulesRequiredExit = false;\n$modulesRequiredMissing = '';\nforeach ($modulesRequired as $module) {\n\tif (!extension_loaded($module)) {\n\t\t$errorText = 'PHP module <b>' . $module . '</b> is not installed.';\n\t\terror_log('[ERROR] ' . $errorText, 0);\n\n\t\t$modulesRequiredExit = true;\n\t\t$modulesRequiredMissing .= $errorText . PHP_EOL;\n\t}\n}\nif ($modulesRequiredExit) {\n\techo 'PHP modules missing:';\n\techo $modulesRequiredMissing;\n\techo '';\n\techo '<a href=\"https://docs.bludit.com/en/getting-started/requirements\">Please read Bludit requirements</a>.';\n\texit(0);\n}\n\n// Security constant\ndefine('BLUDIT', true);\n\n// Directory separator\ndefine('DS', DIRECTORY_SEPARATOR);\n\n// PHP paths\ndefine('PATH_ROOT',\t\t__DIR__ . DS);\ndefine('PATH_CONTENT',\t\tPATH_ROOT . 'bl-content' . DS);\ndefine('PATH_KERNEL',\t\tPATH_ROOT . 'bl-kernel' . DS);\ndefine('PATH_LANGUAGES',\tPATH_ROOT . 'bl-languages' . DS);\ndefine('PATH_UPLOADS',\t\tPATH_CONTENT . 'uploads' . DS);\ndefine('PATH_TMP',\t\tPATH_CONTENT . 'tmp' . DS);\ndefine('PATH_PAGES',\t\tPATH_CONTENT . 'pages' . DS);\ndefine('PATH_WORKSPACES',\tPATH_CONTENT . 'workspaces' . DS);\ndefine('PATH_DATABASES',\tPATH_CONTENT . 'databases' . DS);\ndefine('PATH_PLUGINS_DATABASES', PATH_CONTENT . 'databases' . DS . 'plugins' . DS);\ndefine('PATH_UPLOADS_PROFILES',\tPATH_UPLOADS . 'profiles' . DS);\ndefine('PATH_UPLOADS_THUMBNAILS', PATH_UPLOADS . 'thumbnails' . DS);\ndefine('PATH_UPLOADS_PAGES',\tPATH_UPLOADS . 'pages' . DS);\ndefine('PATH_HELPERS',\t\tPATH_KERNEL . 'helpers' . DS);\ndefine('PATH_ABSTRACT',\t\tPATH_KERNEL . 'abstract' . DS);\n\n// Protecting against Symlink attacks\ndefine('CHECK_SYMBOLIC_LINKS', TRUE);\n\n// Filename for pages\ndefine('FILENAME', 'index.txt');\n\n// Domain and protocol\ndefine('DOMAIN', $_SERVER['HTTP_HOST']);\n\nif (!empty($_SERVER['HTTPS'])) {\n\tdefine('PROTOCOL', 'https://');\n} else {\n\tdefine('PROTOCOL', 'http://');\n}\n\n// Base URL\n// Change the base URL or leave it empty if you want to Bludit try to detect the base URL.\n$base = '';\n\nif (!empty($_SERVER['DOCUMENT_ROOT']) && !empty($_SERVER['SCRIPT_NAME']) && empty($base)) {\n\t$base = str_replace($_SERVER['DOCUMENT_ROOT'], '', $_SERVER['SCRIPT_NAME']);\n\t$base = dirname($base);\n} elseif (empty($base)) {\n\t$base = empty($_SERVER['SCRIPT_NAME']) ? $_SERVER['PHP_SELF'] : $_SERVER['SCRIPT_NAME'];\n\t$base = dirname($base);\n}\n\nif (strpos($_SERVER['REQUEST_URI'], $base) !== 0) {\n\t$base = '/';\n} elseif ($base != DS) {\n\t$base = trim($base, '/');\n\t$base = '/' . $base . '/';\n} else {\n\t// Workaround for Windows Web Servers\n\t$base = '/';\n}\n\ndefine('HTML_PATH_ROOT', $base);\n\n// Log separator\ndefine('LOG_SEP', ' | ');\n\n// JSON\nif (!defined('JSON_PRETTY_PRINT')) {\n\tdefine('JSON_PRETTY_PRINT', 128);\n}\n\n// Database format date\ndefine('DB_DATE_FORMAT', 'Y-m-d H:i:s');\n\n// Charset, default UTF-8.\ndefine('CHARSET', 'UTF-8');\n\n// Default language file\ndefine('DEFAULT_LANGUAGE_FILE', 'en.json');\n\n// Set internal character encoding\nmb_internal_encoding(CHARSET);\n\n// Set HTTP output character encoding\nmb_http_output(CHARSET);\n\n// Directory permissions\ndefine('DIR_PERMISSIONS', 0755);\n\n// --- PHP Classes ---\ninclude(PATH_ABSTRACT . 'dbjson.class.php');\ninclude(PATH_HELPERS . 'sanitize.class.php');\ninclude(PATH_HELPERS . 'valid.class.php');\ninclude(PATH_HELPERS . 'text.class.php');\ninclude(PATH_HELPERS . 'log.class.php');\ninclude(PATH_HELPERS . 'date.class.php');\ninclude(PATH_KERNEL . 'language.class.php');\n\n// --- LANGUAGE and LOCALE ---\n// Try to detect the language from browser or headers\n$languageFromHTTP = 'en';\n$localeFromHTTP = 'en_US';\n\nif (isset($_GET['language'])) {\n\t$languageFromHTTP = Sanitize::html($_GET['language']);\n} else {\n\t// Try to detect the language browser\n\t$languageFromHTTP = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);\n\n\t// Try to detect the locale\n\tif (function_exists('locale_accept_from_http')) {\n\t\t$localeFromHTTP = locale_accept_from_http($_SERVER['HTTP_ACCEPT_LANGUAGE']);\n\t}\n}\n\n$finalLanguage = 'en';\n$languageFiles = getLanguageList();\nforeach ($languageFiles as $fname => $native) {\n\tif (($languageFromHTTP == $fname) || ($localeFromHTTP == $fname)) {\n\t\t$finalLanguage = $fname;\n\t}\n}\n\n$L = $language = new Language($finalLanguage);\n\n// Set locale\nsetlocale(LC_ALL, $localeFromHTTP);\n\n// --- TIMEZONE ---\n\n// Check if timezone is defined in php.ini\n$iniDate = ini_get('date.timezone');\nif (empty($iniDate)) {\n\t// Timezone not defined in php.ini, then set UTC as default.\n\tdate_default_timezone_set('UTC');\n}\n\n// ============================================================================\n// FUNCTIONS\n// ============================================================================\n\n// Returns an array with all languages\nfunction getLanguageList()\n{\n\t$files = glob(PATH_LANGUAGES . '*.json');\n\t$tmp = array();\n\tforeach ($files as $file) {\n\t\t$t = new dbJSON($file, false);\n\t\t$native = $t->db['language-data']['native'];\n\t\t$locale = basename($file, '.json');\n\t\t$tmp[$locale] = $native;\n\t}\n\n\treturn $tmp;\n}\n\n// Check if Bludit is installed\nfunction alreadyInstalled()\n{\n\treturn file_exists(PATH_DATABASES . 'site.php');\n}\n\n// Check write permissions and .htaccess file\nfunction checkSystem()\n{\n\t$output = array();\n\n\t// Try to create .htaccess\n\t$htaccessContent = 'AddDefaultCharset UTF-8\n\n<IfModule mod_rewrite.c>\n\n# Enable rewrite rules\nRewriteEngine on\n\n# Base directory\nRewriteBase ' . HTML_PATH_ROOT . '\n\n# Deny direct access to the next directories\nRewriteRule ^bl-content/(databases|workspaces|pages|tmp)/.*$ - [R=404,L]\n\n# All URL process by index.php\nRewriteCond %{REQUEST_FILENAME} !-f\nRewriteCond %{REQUEST_FILENAME} !-d\nRewriteRule ^(.*) index.php [PT,L]\n\n</IfModule>';\n\n\tif (!file_put_contents(PATH_ROOT . '.htaccess', $htaccessContent)) {\n\t\tif (!empty($_SERVER['SERVER_SOFTWARE'])) {\n\t\t\t$webserver = Text::lowercase($_SERVER['SERVER_SOFTWARE']);\n\t\t\tif (Text::stringContains($webserver, 'apache') || Text::stringContains($webserver, 'litespeed')) {\n\t\t\t\t$errorText = 'Missing file, upload the file .htaccess';\n\t\t\t\terror_log('[ERROR] ' . $errorText, 0);\n\t\t\t\tarray_push($output, $errorText);\n\t\t\t}\n\t\t}\n\t}\n\n\t// Check mod_rewrite module\n\tif (function_exists('apache_get_modules')) {\n\t\tif (!in_array('mod_rewrite', apache_get_modules())) {\n\t\t\t$errorText = 'Module mod_rewrite is not installed or loaded.';\n\t\t\terror_log('[ERROR] ' . $errorText, 0);\n\t\t\tarray_push($output, $errorText);\n\t\t}\n\t}\n\n\t// Try to create the directory content\n\t@mkdir(PATH_CONTENT, DIR_PERMISSIONS, true);\n\n\t// Check if the directory content is writeable.\n\tif (!is_writable(PATH_CONTENT)) {\n\t\t$errorText = 'Writing test failure, check directory \"bl-content\" permissions.';\n\t\terror_log('[ERROR] ' . $errorText, 0);\n\t\tarray_push($output, $errorText);\n\t}\n\n\treturn $output;\n}\n\n// Install Bludit\nfunction install($adminPassword, $timezone)\n{\n\tglobal $L;\n\n\tif (!date_default_timezone_set($timezone)) {\n\t\tdate_default_timezone_set('UTC');\n\t}\n\n\t$currentDate = Date::current(DB_DATE_FORMAT);\n\n\t// ============================================================================\n\t// Create directories\n\t// ============================================================================\n\n\t// Directories for initial pages\n\t$pagesToInstall = array('example-page-1-slug', 'example-page-2-slug', 'example-page-3-slug', 'example-page-4-slug');\n\tforeach ($pagesToInstall as $page) {\n\t\tif (!mkdir(PATH_PAGES . $L->get($page), DIR_PERMISSIONS, true)) {\n\t\t\t$errorText = 'Error when trying to created the directory=>' . PATH_PAGES . $L->get($page);\n\t\t\terror_log('[ERROR] ' . $errorText, 0);\n\t\t}\n\t}\n\n\t// Directories for initial plugins\n\t$pluginsToInstall = array('tinymce', 'about', 'visits-stats', 'robots', 'canonical', 'alternative');\n\tforeach ($pluginsToInstall as $plugin) {\n\t\tif (!mkdir(PATH_PLUGINS_DATABASES . $plugin, DIR_PERMISSIONS, true)) {\n\t\t\t$errorText = 'Error when trying to created the directory=>' . PATH_PLUGINS_DATABASES . $plugin;\n\t\t\terror_log('[ERROR] ' . $errorText, 0);\n\t\t}\n\t}\n\n\t// Directories for upload files\n\tif (!mkdir(PATH_UPLOADS_PROFILES, DIR_PERMISSIONS, true)) {\n\t\t$errorText = 'Error when trying to created the directory=>' . PATH_UPLOADS_PROFILES;\n\t\terror_log('[ERROR] ' . $errorText, 0);\n\t}\n\n\tif (!mkdir(PATH_UPLOADS_THUMBNAILS, DIR_PERMISSIONS, true)) {\n\t\t$errorText = 'Error when trying to created the directory=>' . PATH_UPLOADS_THUMBNAILS;\n\t\terror_log('[ERROR] ' . $errorText, 0);\n\t}\n\n\tif (!mkdir(PATH_TMP, DIR_PERMISSIONS, true)) {\n\t\t$errorText = 'Error when trying to created the directory=>' . PATH_TMP;\n\t\terror_log('[ERROR] ' . $errorText, 0);\n\t}\n\n\tif (!mkdir(PATH_WORKSPACES, DIR_PERMISSIONS, true)) {\n\t\t$errorText = 'Error when trying to created the directory=>' . PATH_WORKSPACES;\n\t\terror_log('[ERROR] ' . $errorText, 0);\n\t}\n\n\tif (!mkdir(PATH_UPLOADS_PAGES, DIR_PERMISSIONS, true)) {\n\t\t$errorText = 'Error when trying to created the directory=>' . PATH_UPLOADS_PAGES;\n\t\terror_log('[ERROR] ' . $errorText, 0);\n\t}\n\n\t// ============================================================================\n\t// Create files\n\t// ============================================================================\n\n\t$dataHead = \"<?php defined('BLUDIT') or die('Bludit CMS.'); ?>\" . PHP_EOL;\n\n\t$data = array();\n\t$slugs = array();\n\t$nextDate = $currentDate;\n\tforeach ($pagesToInstall as $page) {\n\n\t\t$slug = $page;\n\t\t$title = Text::replace('slug', 'title', $slug);\n\t\t$content = Text::replace('slug', 'content', $slug);\n\t\t$nextDate = Date::offset($nextDate, DB_DATE_FORMAT, '-1 minute');\n\n\t\t$data[$L->get($slug)] = array(\n\t\t\t'title' => $L->get($title),\n\t\t\t'description' => '',\n\t\t\t'username' => 'admin',\n\t\t\t'tags' => array(),\n\t\t\t'type' => (($slug == 'example-page-4-slug') ? 'static' : 'published'),\n\t\t\t'date' => $nextDate,\n\t\t\t'dateModified' => '',\n\t\t\t'allowComments' => true,\n\t\t\t'position' => 1,\n\t\t\t'coverImage' => '',\n\t\t\t'md5file' => '',\n\t\t\t'category' => 'general',\n\t\t\t'uuid' => md5(uniqid()),\n\t\t\t'parent' => '',\n\t\t\t'template' => '',\n\t\t\t'noindex' => false,\n\t\t\t'nofollow' => false,\n\t\t\t'noarchive' => false\n\t\t);\n\n\t\tarray_push($slugs, $slug);\n\n\t\tfile_put_contents(PATH_PAGES . $L->get($slug) . DS . FILENAME, $L->get($content), LOCK_EX);\n\t}\n\tfile_put_contents(PATH_DATABASES . 'pages.php', $dataHead . json_encode($data, JSON_PRETTY_PRINT), LOCK_EX);\n\n\t// File site.php\n\n\t// If Bludit is not installed inside a folder, the URL doesn't need finish with /\n\t// Example (root): https://domain.com\n\t// Example (inside a folder): https://domain.com/folder/\n\tif (HTML_PATH_ROOT == '/') {\n\t\t$siteUrl = PROTOCOL . DOMAIN;\n\t} else {\n\t\t$siteUrl = PROTOCOL . DOMAIN . HTML_PATH_ROOT;\n\t}\n\t$data = array(\n\t\t'title' => 'BLUDIT',\n\t\t'slogan' => $L->get('welcome-to-bludit'),\n\t\t'description' => $L->get('congratulations-you-have-successfully-installed-your-bludit'),\n\t\t'footer' => 'Copyright © ' . Date::current('Y'),\n\t\t'itemsPerPage' => 6,\n\t\t'language' => $L->currentLanguage(),\n\t\t'locale' => $L->locale(),\n\t\t'timezone' => $timezone,\n\t\t'theme' => 'alternative',\n\t\t'adminTheme' => 'booty',\n\t\t'homepage' => '',\n\t\t'pageNotFound' => '',\n\t\t'uriPage' => '/',\n\t\t'uriTag' => '/tag/',\n\t\t'uriCategory' => '/category/',\n\t\t'uriBlog' => '',\n\t\t'url' => $siteUrl,\n\t\t'emailFrom' => 'no-reply@' . DOMAIN,\n\t\t'orderBy' => 'date',\n\t\t'currentBuild' => '0',\n\t\t'twitter' => 'https://twitter.com/bludit',\n\t\t'facebook' => 'https://www.facebook.com/bluditcms',\n\t\t'codepen' => '',\n\t\t'github' => 'https://github.com/bludit',\n\t\t'instagram' => '',\n\t\t'gitlab' => '',\n\t\t'linkedin' => '',\n\t\t'xing' => '',\n\t\t'telegram' => '',\n\t\t'dateFormat' => 'F j, Y',\n\t\t'extremeFriendly' => true,\n\t\t'autosaveInterval' => 2,\n\t\t'titleFormatHomepage' => '{{site-slogan}} | {{site-title}}',\n\t\t'titleFormatPages' => '{{page-title}} | {{site-title}}',\n\t\t'titleFormatCategory' => '{{category-name}} | {{site-title}}',\n\t\t'titleFormatTag' => '{{tag-name}} | {{site-title}}',\n\t\t'imageRestrict' => true,\n\t\t'imageRelativeToAbsolute' => false\n\t);\n\tfile_put_contents(PATH_DATABASES . 'site.php', $dataHead . json_encode($data, JSON_PRETTY_PRINT), LOCK_EX);\n\n\t// File users.php\n\t$salt = uniqid();\n\t$passwordHash = sha1($adminPassword . $salt);\n\t$tokenAuth = md5(uniqid() . time() . DOMAIN);\n\n\t$data = array(\n\t\t'admin' => array(\n\t\t\t'nickname' => 'Admin',\n\t\t\t'firstName' => $L->get('Administrator'),\n\t\t\t'lastName' => '',\n\t\t\t'role' => 'admin',\n\t\t\t'password' => $passwordHash,\n\t\t\t'salt' => $salt,\n\t\t\t'email' => '',\n\t\t\t'registered' => $currentDate,\n\t\t\t'tokenRemember' => '',\n\t\t\t'tokenAuth' => $tokenAuth,\n\t\t\t'tokenAuthTTL' => '2009-03-15 14:00',\n\t\t\t'twitter' => '',\n\t\t\t'facebook' => '',\n\t\t\t'instagram' => '',\n\t\t\t'codepen' => '',\n\t\t\t'linkedin' => '',\n\t\t\t'xing' => '',\n\t\t\t'telegram' => '',\n\t\t\t'github' => '',\n\t\t\t'gitlab' => ''\n\t\t)\n\t);\n\tfile_put_contents(PATH_DATABASES . 'users.php', $dataHead . json_encode($data, JSON_PRETTY_PRINT), LOCK_EX);\n\n\t// File syslog.php\n\t$data = array(\n\t\tarray(\n\t\t\t'date' => $currentDate,\n\t\t\t'dictionaryKey' => 'welcome-to-bludit',\n\t\t\t'notes' => '',\n\t\t\t'idExecution' => uniqid(),\n\t\t\t'method' => 'POST',\n\t\t\t'username' => 'admin'\n\t\t)\n\t);\n\tfile_put_contents(PATH_DATABASES . 'syslog.php', $dataHead . json_encode($data, JSON_PRETTY_PRINT), LOCK_EX);\n\n\t// File security.php\n\t$data = array(\n\t\t'minutesBlocked' => 5,\n\t\t'numberFailuresAllowed' => 10,\n\t\t'blackList' => array()\n\t);\n\tfile_put_contents(PATH_DATABASES . 'security.php', $dataHead . json_encode($data, JSON_PRETTY_PRINT), LOCK_EX);\n\n\t// File categories.php\n\t$data = array(\n\t\t'general' => array('name' => 'General', 'description' => '', 'template' => '', 'list' => $slugs),\n\t\t'music' => array('name' => 'Music', 'description' => '', 'template' => '', 'list' => array()),\n\t\t'videos' => array('name' => 'Videos', 'description' => '', 'template' => '', 'list' => array())\n\t);\n\tfile_put_contents(PATH_DATABASES . 'categories.php', $dataHead . json_encode($data, JSON_PRETTY_PRINT), LOCK_EX);\n\n\t// File tags.php\n\t$data = array();\n\tfile_put_contents(PATH_DATABASES . 'tags.php', $dataHead . json_encode($data, JSON_PRETTY_PRINT), LOCK_EX);\n\n\t// File plugins/about/db.php\n\tfile_put_contents(\n\t\tPATH_PLUGINS_DATABASES . 'about' . DS . 'db.php',\n\t\t$dataHead . json_encode(\n\t\t\tarray(\n\t\t\t\t'position' => 1,\n\t\t\t\t'label' => $L->get('About'),\n\t\t\t\t'text' => $L->get('this-is-a-brief-description-of-yourself-our-your-site')\n\t\t\t),\n\t\t\tJSON_PRETTY_PRINT\n\t\t),\n\t\tLOCK_EX\n\t);\n\n\t// File plugins/visits-stats/db.php\n\tfile_put_contents(\n\t\tPATH_PLUGINS_DATABASES . 'visits-stats' . DS . 'db.php',\n\t\t$dataHead . json_encode(\n\t\t\tarray(\n\t\t\t\t'numberOfDays' => 7,\n\t\t\t\t'label' => $L->get('Visits'),\n\t\t\t\t'excludeAdmins' => false,\n\t\t\t\t'position' => 1\n\t\t\t),\n\t\t\tJSON_PRETTY_PRINT\n\t\t),\n\t\tLOCK_EX\n\t);\n\tmkdir(PATH_WORKSPACES . 'visits-stats', DIR_PERMISSIONS, true);\n\n\t// File plugins/tinymce/db.php\n\tfile_put_contents(\n\t\tPATH_PLUGINS_DATABASES . 'tinymce' . DS . 'db.php',\n\t\t$dataHead . json_encode(\n\t\t\tarray(\n\t\t\t\t'position' => 1,\n\t\t\t\t'toolbar1' => 'blocks bold italic forecolor backcolor removeformat | bullist numlist table | blockquote alignleft aligncenter alignright | link pagebreak image media codesample code | fullscreen wordcount',\n\t\t\t\t'toolbar2' => '',\n\t\t\t\t'plugins' => 'code autolink image link pagebreak advlist lists table fullscreen media searchreplace wordcount emoticons charmap codesample'\n\t\t\t),\n\t\t\tJSON_PRETTY_PRINT\n\t\t),\n\t\tLOCK_EX\n\t);\n\n\t// File plugins/canonical/db.php\n\tfile_put_contents(\n\t\tPATH_PLUGINS_DATABASES . 'canonical' . DS . 'db.php',\n\t\t$dataHead . json_encode(\n\t\t\tarray(\n\t\t\t\t'position' => 1\n\t\t\t),\n\t\t\tJSON_PRETTY_PRINT\n\t\t),\n\t\tLOCK_EX\n\t);\n\n\t// File plugins/alternative/db.php\n\tfile_put_contents(\n\t\tPATH_PLUGINS_DATABASES . 'alternative' . DS . 'db.php',\n\t\t$dataHead . json_encode(\n\t\t\tarray(\n\t\t\t\t'googleFonts' => false,\n\t\t\t\t'showPostInformation' => false,\n\t\t\t\t'dateFormat' => 'relative',\n\t\t\t\t'position' => 1\n\t\t\t),\n\t\t\tJSON_PRETTY_PRINT\n\t\t),\n\t\tLOCK_EX\n\t);\n\n\t// File plugins/robots/db.php\n\tfile_put_contents(\n\t\tPATH_PLUGINS_DATABASES . 'robots' . DS . 'db.php',\n\t\t$dataHead . json_encode(\n\t\t\tarray(\n\t\t\t\t'position' => 1,\n\t\t\t\t'robotstxt' => 'User-agent: *' . PHP_EOL . 'Allow: /'\n\t\t\t),\n\t\t\tJSON_PRETTY_PRINT\n\t\t),\n\t\tLOCK_EX\n\t);\n\n\treturn true;\n}\n\nfunction redirect($url)\n{\n\tif (!headers_sent()) {\n\t\theader(\"Location:\" . $url, TRUE, 302);\n\t\texit;\n\t}\n\n\texit('<meta http-equiv=\"refresh\" content=\"0; url=' . $url . '\">');\n}\n\n// ============================================================================\n// MAIN\n// ============================================================================\n\nif (alreadyInstalled()) {\n\t$errorText = 'Bludit is already installed ;)';\n\terror_log('[ERROR] ' . $errorText, 0);\n\texit($errorText);\n}\n\n// Install a demo, just call the install.php?demo=true\nif (isset($_GET['demo'])) {\n\tinstall('demo123', 'UTC');\n\tredirect(HTML_PATH_ROOT);\n}\n\n// Install by POST method\nif ($_SERVER['REQUEST_METHOD'] == 'POST') {\n\tif (Text::length($_POST['password']) < 6) {\n\t\t$errorText = $L->g('password-must-be-at-least-6-characters-long');\n\t\terror_log('[ERROR] ' . $errorText, 0);\n\t} else {\n\t\tinstall($_POST['password'], $_POST['timezone']);\n\t\tredirect(HTML_PATH_ROOT);\n\t}\n}\n\n?>\n<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n\t<title><?php echo $L->get('Bludit Installer') ?></title>\n\t<meta charset=\"<?php echo CHARSET ?>\">\n\t<meta name=\"viewport\" content=\"width=device-width, initial-scale=1, shrink-to-fit=no\">\n\t<meta name=\"robots\" content=\"noindex,nofollow\">\n\n\t<!-- Favicon -->\n\t<link rel=\"shortcut icon\" type=\"image/x-icon\" href=\"bl-kernel/img/favicon.png?version=<?php echo time() ?>\">\n\n\t<!-- CSS -->\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"bl-kernel/css/bootstrap.min.css?version=<?php echo time() ?>\">\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"bl-kernel/admin/themes/booty/css/bludit.css?version=<?php echo time() ?>\">\n\n\t<!-- Javascript -->\n\t<script charset=\"utf-8\" src=\"bl-kernel/js/jquery.min.js?version=<?php echo time() ?>\"></script>\n\t<script charset=\"utf-8\" src=\"bl-kernel/js/bootstrap.bundle.min.js?version=<?php echo time() ?>\"></script>\n\t<script charset=\"utf-8\" src=\"bl-kernel/js/jstz.min.js?version=<?php echo time() ?>\"></script>\n\n\t<style>\n\t\tbody.login {\n\t\t\tmin-height: 100vh;\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\tjustify-content: center;\n\t\t\talign-items: center;\n\t\t\tbackground: linear-gradient(135deg, #1e88e5 0%, #1565c0 50%, #0d47a1 100%);\n\t\t\tpadding: 20px;\n\t\t}\n\n\t\t.installer-container {\n\t\t\twidth: 100%;\n\t\t\tmax-width: 480px;\n\t\t}\n\n\t\t.installer-card {\n\t\t\tbackground: #ffffff;\n\t\t\tborder-radius: 16px;\n\t\t\tbox-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);\n\t\t\tpadding: 40px;\n\t\t\tanimation: fadeInUp 0.5s ease-out;\n\t\t}\n\n\t\t@keyframes fadeInUp {\n\t\t\tfrom {\n\t\t\t\topacity: 0;\n\t\t\t\ttransform: translateY(20px);\n\t\t\t}\n\n\t\t\tto {\n\t\t\t\topacity: 1;\n\t\t\t\ttransform: translateY(0);\n\t\t\t}\n\t\t}\n\n\t\t.installer-logo {\n\t\t\ttext-align: center;\n\t\t\tmargin-bottom: 30px;\n\t\t}\n\n\t\t.installer-logo .logo-icon {\n\t\t\twidth: 70px;\n\t\t\theight: 70px;\n\t\t\tbackground: linear-gradient(135deg, #1e88e5 0%, #1565c0 100%);\n\t\t\tborder-radius: 16px;\n\t\t\tdisplay: inline-flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: center;\n\t\t\tmargin-bottom: 15px;\n\t\t\tbox-shadow: 0 8px 20px rgba(21, 101, 192, 0.4);\n\t\t}\n\n\t\t.installer-logo .logo-icon img {\n\t\t\twidth: 36px;\n\t\t\theight: 36px;\n\t\t\tfilter: brightness(0) invert(1);\n\t\t}\n\n\t\t.installer-logo h1 {\n\t\t\tfont-size: 1.5rem;\n\t\t\tfont-weight: 600;\n\t\t\tcolor: #1a1a2e;\n\t\t\tmargin: 0;\n\t\t\ttext-transform: uppercase;\n\t\t}\n\n\t\t.installer-logo p {\n\t\t\tcolor: #6c757d;\n\t\t\tfont-size: 0.9rem;\n\t\t\tmargin-top: 5px;\n\t\t}\n\n\t\t.installer-card .form-control {\n\t\t\tborder: 2px solid #e9ecef;\n\t\t\tborder-radius: 10px;\n\t\t\tpadding: 12px 16px;\n\t\t\tfont-size: 0.95rem;\n\t\t\ttransition: all 0.3s ease;\n\t\t\tbackground-color: #f8f9fa;\n\t\t\tline-height: 1.5;\n\t\t\theight: auto;\n\t\t}\n\n\t\t.installer-card select.form-control {\n\t\t\tpadding: 10px 16px;\n\t\t\theight: 46px;\n\t\t}\n\n\t\t.installer-card .form-control:focus {\n\t\t\tborder-color: #1e88e5;\n\t\t\tbox-shadow: 0 0 0 4px rgba(30, 136, 229, 0.15);\n\t\t\tbackground-color: #fff;\n\t\t}\n\n\t\t.installer-card .form-control::placeholder {\n\t\t\tcolor: #adb5bd;\n\t\t}\n\n\t\t.installer-card .form-group {\n\t\t\tmargin-bottom: 20px;\n\t\t}\n\n\t\t.installer-card .form-group label {\n\t\t\tfont-weight: 500;\n\t\t\tcolor: #495057;\n\t\t\tmargin-bottom: 10px;\n\t\t\tfont-size: 0.9rem;\n\t\t}\n\n\t\t.installer-card .btn-primary {\n\t\t\tbackground: linear-gradient(135deg, #1e88e5 0%, #1565c0 100%);\n\t\t\tborder: none;\n\t\t\tborder-radius: 10px;\n\t\t\tpadding: 12px 18px;\n\t\t\tfont-size: 0.95rem;\n\t\t\tfont-weight: 600;\n\t\t\tcolor: white;\n\t\t\twidth: 100%;\n\t\t\ttransition: all 0.3s ease;\n\t\t\tbox-shadow: 0 4px 15px rgba(21, 101, 192, 0.4);\n\t\t}\n\n\t\t.installer-card .btn-primary:hover {\n\t\t\ttransform: translateY(-2px);\n\t\t\tbox-shadow: 0 6px 20px rgba(21, 101, 192, 0.5);\n\t\t}\n\n\t\t.installer-card .btn-primary:active {\n\t\t\ttransform: translateY(0);\n\t\t}\n\n\t\t.installer-card .form-check {\n\t\t\tmargin-bottom: 25px;\n\t\t\tmargin-top: 15px;\n\t\t}\n\n\t\t.installer-card .form-check-input {\n\t\t\twidth: 18px;\n\t\t\theight: 18px;\n\t\t\tmargin-top: 0;\n\t\t\tborder: 2px solid #dee2e6;\n\t\t\tborder-radius: 4px;\n\t\t}\n\n\t\t.installer-card .form-check-input:checked {\n\t\t\tbackground-color: #1e88e5;\n\t\t\tborder-color: #1e88e5;\n\t\t}\n\n\t\t.installer-card .form-check-label {\n\t\t\tcolor: #6c757d;\n\t\t\tfont-size: 0.9rem;\n\t\t\tpadding-left: 8px;\n\t\t}\n\n\t\t.alert {\n\t\t\tborder: none;\n\t\t\tborder-radius: 10px;\n\t\t\tpadding: 15px 20px;\n\t\t\tmargin-bottom: 25px;\n\t\t\tfont-size: 0.9rem;\n\t\t}\n\n\t\t.alert-danger {\n\t\t\tbackground-color: #fee;\n\t\t\tcolor: #c62828;\n\t\t}\n\n\t\t.error-table {\n\t\t\tbackground-color: #fff3cd;\n\t\t\tborder: 2px solid #ffc107;\n\t\t\tborder-radius: 10px;\n\t\t\tpadding: 20px;\n\t\t\tmargin-bottom: 20px;\n\t\t}\n\n\t\t.error-table th {\n\t\t\tcolor: #856404;\n\t\t\tfont-weight: 500;\n\t\t\tfont-size: 0.9rem;\n\t\t}\n\n\t\t.installer-description {\n\t\t\tcolor: #6c757d;\n\t\t\tfont-size: 0.9rem;\n\t\t\tmargin-bottom: 25px;\n\t\t\ttext-align: center;\n\t\t}\n\n\t\t.input-group-append {\n\t\t\tmargin-left: -1px;\n\t\t}\n\n\t\t.btn-generate {\n\t\t\tbackground: #f8f9fa;\n\t\t\tborder: 2px solid #e9ecef;\n\t\t\tborder-left: none;\n\t\t\tborder-radius: 0 10px 10px 0;\n\t\t\tcolor: #495057;\n\t\t\tpadding: 12px 16px;\n\t\t\ttransition: all 0.3s ease;\n\t\t\tfont-size: 0.9rem;\n\t\t\twhite-space: nowrap;\n\t\t}\n\n\t\t.btn-generate:hover {\n\t\t\tbackground: #e9ecef;\n\t\t\tborder-color: #dee2e6;\n\t\t\tcolor: #212529;\n\t\t}\n\n\t\t.btn-generate:focus {\n\t\t\toutline: none;\n\t\t\tbox-shadow: 0 0 0 4px rgba(30, 136, 229, 0.15);\n\t\t\tborder-color: #1e88e5;\n\t\t}\n\n\t\t.input-group .form-control {\n\t\t\tborder-radius: 10px 0 0 10px;\n\t\t}\n\n\t\t.input-group {\n\t\t\tdisplay: flex;\n\t\t}\n\t</style>\n</head>\n\n<body class=\"login\">\n\t<div class=\"installer-container\">\n\t\t<div class=\"installer-card\">\n\t\t\t<div class=\"installer-logo\">\n\t\t\t\t<div class=\"logo-icon\">\n\t\t\t\t\t<img src=\"bl-kernel/admin/themes/booty/logo.svg\" alt=\"Bludit\">\n\t\t\t\t</div>\n\t\t\t\t<h1><?php echo $L->get('Bludit Installer') ?></h1>\n\t\t\t</div>\n\n\t\t\t<?php\n\t\t\t$system = checkSystem();\n\t\t\tif (!empty($system)) {\n\t\t\t\tforeach ($system as $error) {\n\t\t\t\t\techo '<div class=\"error-table\"><strong>' . $error . '</strong></div>';\n\t\t\t\t}\n\t\t\t} elseif (isset($_GET['language'])) {\n\t\t\t?>\n\t\t\t\t<p class=\"installer-description\"><?php echo $L->get('choose-a-password-for-the-user-admin') ?></p>\n\n\t\t\t\t<?php if (!empty($errorText)) : ?>\n\t\t\t\t\t<div class=\"alert alert-danger\"><?php echo $errorText ?></div>\n\t\t\t\t<?php endif ?>\n\n\t\t\t\t<form id=\"jsformInstaller\" method=\"post\" action=\"\" autocomplete=\"off\">\n\t\t\t\t\t<input type=\"hidden\" name=\"timezone\" id=\"jstimezone\" value=\"UTC\">\n\n\t\t\t\t\t<div class=\"form-group\">\n\t\t\t\t\t\t<label for=\"jsusername\">Username</label>\n\t\t\t\t\t\t<input type=\"text\" dir=\"auto\" value=\"admin\" class=\"form-control\" id=\"jsusername\" name=\"username\" placeholder=\"Username\" disabled>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div class=\"form-group\">\n\t\t\t\t\t\t<label for=\"jspassword\"><?php $L->p('Password') ?></label>\n\t\t\t\t\t\t<div class=\"input-group\">\n\t\t\t\t\t\t\t<input type=\"password\" class=\"form-control\" id=\"jspassword\" name=\"password\" placeholder=\"<?php $L->p('Password') ?>\">\n\t\t\t\t\t\t\t<div class=\"input-group-append\">\n\t\t\t\t\t\t\t\t<button type=\"button\" class=\"btn btn-generate\" id=\"jsgeneratePassword\" title=\"Generate secure password\">Generate</button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div class=\"form-check\">\n\t\t\t\t\t\t<input role=\"button\" class=\"form-check-input\" type=\"checkbox\" value=\"\" id=\"jsshowPassword\">\n\t\t\t\t\t\t<label class=\"form-check-label\" for=\"jsshowPassword\"><?php $L->p('Show password') ?></label>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div class=\"form-group mt-4\">\n\t\t\t\t\t\t<button type=\"submit\" class=\"btn btn-primary\" name=\"install\"><?php $L->p('Install') ?></button>\n\t\t\t\t\t</div>\n\t\t\t\t</form>\n\t\t\t<?php\n\t\t\t} else {\n\t\t\t?>\n\t\t\t\t<form id=\"jsformLanguage\" method=\"get\" action=\"\" autocomplete=\"off\">\n\t\t\t\t\t<div class=\"form-group\">\n\t\t\t\t\t\t<label for=\"jslanguage\"><?php echo $L->get('Choose your language') ?></label>\n\t\t\t\t\t\t<select id=\"jslanguage\" name=\"language\" class=\"form-control\">\n\t\t\t\t\t\t\t<?php\n\t\t\t\t\t\t\t$htmlOptions = getLanguageList();\n\t\t\t\t\t\t\tforeach ($htmlOptions as $fname => $native) {\n\t\t\t\t\t\t\t\techo '<option value=\"' . $fname . '\"' . (($finalLanguage === $fname) ? ' selected=\"selected\"' : '') . '>' . $native . '</option>';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t?>\n\t\t\t\t\t\t</select>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div class=\"form-group mt-4\">\n\t\t\t\t\t\t<button type=\"submit\" class=\"btn btn-primary\"><?php $L->p('Next') ?></button>\n\t\t\t\t\t</div>\n\t\t\t\t</form>\n\t\t\t<?php\n\t\t\t}\n\t\t\t?>\n\t\t</div>\n\t</div>\n\n\t<script>\n\t\t$(document).ready(function() {\n\t\t\t// Timezone\n\t\t\tvar timezone = jstz.determine();\n\t\t\t$(\"#jstimezone\").val(timezone.name());\n\n\t\t\t// Show password\n\t\t\t$(\"#jsshowPassword\").on(\"click\", function() {\n\t\t\t\tvar input = document.getElementById(\"jspassword\");\n\n\t\t\t\tif (!$(this).is(':checked')) {\n\t\t\t\t\tinput.setAttribute(\"type\", \"password\");\n\t\t\t\t} else {\n\t\t\t\t\tinput.setAttribute(\"type\", \"text\");\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t// Generate password\n\t\t\t$(\"#jsgeneratePassword\").on(\"click\", function() {\n\t\t\t\tvar length = 16;\n\t\t\t\tvar charset = \"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()_+-=\";\n\t\t\t\tvar password = \"\";\n\t\t\t\tvar crypto = window.crypto || window.msCrypto;\n\n\t\t\t\tif (crypto && crypto.getRandomValues) {\n\t\t\t\t\tvar values = new Uint32Array(length);\n\t\t\t\t\tcrypto.getRandomValues(values);\n\t\t\t\t\tfor (var i = 0; i < length; i++) {\n\t\t\t\t\t\tpassword += charset[values[i] % charset.length];\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// Fallback for older browsers\n\t\t\t\t\tfor (var i = 0; i < length; i++) {\n\t\t\t\t\t\tpassword += charset.charAt(Math.floor(Math.random() * charset.length));\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t$(\"#jspassword\").val(password);\n\t\t\t\t$(\"#jspassword\").attr(\"type\", \"text\");\n\t\t\t\t$(\"#jsshowPassword\").prop(\"checked\", true);\n\t\t\t});\n\t\t});\n\t</script>\n\n</body>\n\n</html>\n"
  }
]