From 2d3e33d643a94bf310a98a6caed1251115e73104 Mon Sep 17 00:00:00 2001 From: philc Date: Tue, 1 Jul 2025 11:09:51 +0200 Subject: [PATCH] 1st commit --- .gitignore | 14 + README.md | 13 + options/conf.json | 1 + options/itm/country_en.json | 1505 + options/itm/country_fr.json | 1505 + options/itm/dayofweek_en.json | 31 + options/itm/dayofweek_fr.json | 31 + options/itm/profil_en.json | 36 + options/itm/profil_fr.json | 35 + wco/admindata/admindata.js | 0 wco/adminskull/adminskull.js | 170 + wco/adminskull/headnav_fr.json | 26 + wco/adminskull/headnav_fr.mustache | 93 + wco/adminskull/main_fr.mustache | 0 wco/adminskull/result_fr.mustache | 16 + wco/adminskull/verticalnav_fr.json | 68 + wco/adminskull/verticalnav_fr.mustache | 25 + wco/apx/apx.js | 513 + wco/apxauth/apxauth.js | 698 + wco/apxauth/exampleapxauth_fr.json | 5 + wco/apxauth/main_fr.mustache | 7 + wco/apxauth/screenforgetkey_fr.mustache | 44 + wco/apxauth/screeninformation_fr.mustache | 41 + wco/apxauth/screenlogout_fr.mustache | 39 + wco/apxauth/screenmytribes_fr.mustache | 23 + wco/apxauth/screensignin_fr.mustache | 69 + wco/apxauth/screensignup_fr.mustache | 121 + wco/chatroom/chatroom.js | 6 + wco/conf.json | 1 + wco/formmanager/form_fr.mustache | 46 + wco/formmanager/formdata_fr.json | 35 + wco/formmanager/formmanager.js | 127 + wco/itm/admindata.json | 14 + wco/itm/adminskull.json | 36 + wco/itm/apx.json | 17 + wco/itm/apxauth.json | 31 + wco/itm/simplemobnav.json | 20 + wco/itm/tracker.json | 20 + wco/simplemobnav/examplenav_fr.json | 99 + wco/simplemobnav/main.mustache | 29 + wco/simplemobnav/navbuttonh.mustache | 11 + wco/simplemobnav/navlist.mustache | 9 + wco/simplemobnav/readme.md | 0 wco/simplemobnav/simplemobnav.js | 102 + wco/testapi/nav_fr.json | 14 + wco/testapi/screenhome_fr.mustache | 12 + wco/testapi/test2.js | 462 + wco/testapi/testapi.js | 922 + wco/tracker/consentform.mustache | 33 + wco/tracker/exampleform_en.json | 19 + wco/tracker/exampleform_fr.json | 19 + wco/tracker/tracker.js | 140 + wwws/admin/src/admindata_fr.html | 112 + wwws/admin/src/apxid_fr.html | 65 + wwws/admin/src/components/ActiveJobAd.html | 7 + .../admin/src/components/AttentionMessage.css | 26 + .../src/components/AttentionMessage.html | 5 + wwws/admin/src/components/Button.css | 28 + wwws/admin/src/components/Button.html | 3 + wwws/admin/src/components/Button.js | 6 + wwws/admin/src/components/ExtraJobAds.html | 16 + wwws/admin/src/components/ExtraJobAds.js | 19 + wwws/admin/src/components/Header.html | 7 + wwws/admin/src/components/InactiveJobAd.html | 5 + wwws/admin/src/components/JobAdDetail.html | 7 + wwws/admin/src/components/JobAds.css | 53 + wwws/admin/src/components/JobAds.js | 72 + wwws/admin/src/components/NoExtraJobAds.html | 7 + wwws/admin/src/components/NoSubscription.css | 42 + wwws/admin/src/components/NoSubscription.html | 7 + wwws/admin/src/components/PageLayout.css | 9 + wwws/admin/src/components/PlanDetail.html | 4 + wwws/admin/src/components/PlanDetailItem.html | 6 + wwws/admin/src/components/PlanDetails.css | 36 + wwws/admin/src/components/Subscriptions.html | 22 + wwws/admin/src/components/Subscriptions.js | 56 + wwws/admin/src/components/Tabs.html | 4 + wwws/admin/src/components/Tabs.js | 48 + wwws/admin/src/components/Tabs2.js | 71 + wwws/admin/src/components/caption.html | 4 + wwws/admin/src/components/carousel.css | 46 + wwws/admin/src/components/carousel.js | 33 + wwws/admin/src/components/checkbox.css | 77 + wwws/admin/src/components/checkbox.html | 39 + wwws/admin/src/components/checkbox.js | 51 + wwws/admin/src/components/content.css | 41 + wwws/admin/src/components/dropdown.css | 114 + wwws/admin/src/components/dropdown.html | 20 + wwws/admin/src/components/dropdown.js | 87 + wwws/admin/src/components/duoLayout.css | 43 + wwws/admin/src/components/footer.css | 10 + wwws/admin/src/components/header.css | 285 + wwws/admin/src/components/header.html | 66 + wwws/admin/src/components/header.js | 13 + wwws/admin/src/components/inset.css | 8 + wwws/admin/src/components/media-item.html | 4 + wwws/admin/src/components/media-layout.js | 72 + wwws/admin/src/components/media.js | 21 + wwws/admin/src/components/quatreLayout.css | 72 + wwws/admin/src/components/radiobutton.css | 67 + wwws/admin/src/components/radiobutton.html | 14 + wwws/admin/src/components/radiobutton.js | 58 + wwws/admin/src/components/single-column.html | 9 + wwws/admin/src/components/tabs.css | 39 + wwws/admin/src/components/text-layout.js | 4 + wwws/admin/src/components/text-media-1.css | 132 + wwws/admin/src/components/text-media-1.html | 13 + wwws/admin/src/components/text-media-1.js | 31 + wwws/admin/src/components/text-media-2.css | 109 + wwws/admin/src/components/text-media-2.html | 12 + wwws/admin/src/components/text-media-2.js | 42 + wwws/admin/src/components/text-media-3.css | 101 + wwws/admin/src/components/text-media-3.js | 88 + wwws/admin/src/components/text.css | 94 + wwws/admin/src/components/textinput.css | 30 + wwws/admin/src/components/textinput.html | 33 + wwws/admin/src/components/textinput.js | 140 + wwws/admin/src/components/three-column.html | 9 + wwws/admin/src/components/toggle.css | 110 + wwws/admin/src/components/toggle.js | 51 + wwws/admin/src/components/trioLayout.css | 71 + wwws/admin/src/components/two-column.html | 9 + .../src/components/wide-right-column.html | 14 + wwws/admin/src/components/wrapper.html | 3 + wwws/admin/src/static/css/input.css | 128 + wwws/admin/src/static/css/output.css | 2155 + wwws/admin/src/static/css/sourcetw.css | 5 + .../src/static/fonts/Questrial-Regular.ttf | Bin 0 -> 148120 bytes .../admin/src/static/fonts/Quicksand-Bold.ttf | Bin 0 -> 72836 bytes .../src/static/fonts/Quicksand-Light.ttf | Bin 0 -> 72964 bytes .../src/static/fonts/Quicksand-Light.woff2 | Bin 0 -> 99509 bytes .../src/static/fonts/Quicksand-Medium.ttf | Bin 0 -> 73176 bytes .../src/static/fonts/Quicksand-Regular.ttf | Bin 0 -> 73200 bytes .../src/static/fonts/Quicksand-SemiBold.ttf | Bin 0 -> 73084 bytes .../fonts/questrial-regular-webfont.woff | Bin 0 -> 26760 bytes .../fonts/questrial-regular-webfont.woff2 | Bin 0 -> 19964 bytes .../admin/src/static/img/icons/iconbgdark.png | Bin 0 -> 4582 bytes .../src/static/img/icons/iconbglight.png | Bin 0 -> 3785 bytes wwws/admin/src/static/img/logo/logobgdark.png | Bin 0 -> 6507 bytes .../admin/src/static/img/logo/logobglight.png | Bin 0 -> 9013 bytes .../src/static/img/logo/logobgorange.png | Bin 0 -> 12616 bytes wwws/admin/src/static/js/adminsearch.js | 12 + wwws/admin/src/static/js/testapi.js | 196 + .../src/static/lib/axiosold/dist/axios.min.js | 2 + .../font/bootstrap-icons.min.css | 5 + .../font/fonts/bootstrap-icons.woff | Bin 0 -> 164360 bytes .../font/fonts/bootstrap-icons.woff2 | Bin 0 -> 121340 bytes .../bootstrap/dist/js/bootstrap.bundle.min.js | 7 + .../src/static/lib/codemirror/codemirror.css | 344 + .../src/static/lib/codemirror/codemirror.js | 9884 ++++ .../src/static/lib/codemirror/css/css.js | 862 + .../lib/codemirror/handlebars/handlebars.js | 70 + .../lib/codemirror/htmlmixed/htmlmixed.js | 153 + .../lib/codemirror/javascript/javascript.js | 960 + .../lib/codemirror/markdown/markdown.js | 886 + .../src/static/lib/codemirror/nginx/nginx.js | 178 + .../static/lib/codemirror/python/python.js | 402 + .../src/static/lib/codemirror/sass/sass.js | 459 + wwws/admin/src/static/lib/dayjs/dayjs.min.js | 1 + .../lib/dayjs/plugin/advancedFormat.d.ts | 4 + .../static/lib/dayjs/plugin/advancedFormat.js | 1 + .../static/lib/dayjs/plugin/arraySupport.d.ts | 10 + .../static/lib/dayjs/plugin/arraySupport.js | 1 + .../static/lib/dayjs/plugin/badMutable.d.ts | 4 + .../src/static/lib/dayjs/plugin/badMutable.js | 1 + .../lib/dayjs/plugin/bigIntSupport.d.ts | 11 + .../static/lib/dayjs/plugin/bigIntSupport.js | 1 + .../static/lib/dayjs/plugin/buddhistEra.d.ts | 4 + .../static/lib/dayjs/plugin/buddhistEra.js | 1 + .../src/static/lib/dayjs/plugin/calendar.d.ts | 10 + .../src/static/lib/dayjs/plugin/calendar.js | 1 + .../lib/dayjs/plugin/customParseFormat.d.ts | 8 + .../lib/dayjs/plugin/customParseFormat.js | 1 + .../static/lib/dayjs/plugin/dayOfYear.d.ts | 11 + .../src/static/lib/dayjs/plugin/dayOfYear.js | 1 + .../static/lib/dayjs/plugin/devHelper.d.ts | 4 + .../src/static/lib/dayjs/plugin/devHelper.js | 1 + .../src/static/lib/dayjs/plugin/duration.d.ts | 88 + .../src/static/lib/dayjs/plugin/duration.js | 1 + .../static/lib/dayjs/plugin/isBetween.d.ts | 10 + .../src/static/lib/dayjs/plugin/isBetween.js | 1 + .../static/lib/dayjs/plugin/isLeapYear.d.ts | 10 + .../src/static/lib/dayjs/plugin/isLeapYear.js | 1 + .../src/static/lib/dayjs/plugin/isMoment.d.ts | 10 + .../src/static/lib/dayjs/plugin/isMoment.js | 1 + .../lib/dayjs/plugin/isSameOrAfter.d.ts | 10 + .../static/lib/dayjs/plugin/isSameOrAfter.js | 1 + .../lib/dayjs/plugin/isSameOrBefore.d.ts | 10 + .../static/lib/dayjs/plugin/isSameOrBefore.js | 1 + .../src/static/lib/dayjs/plugin/isToday.d.ts | 10 + .../src/static/lib/dayjs/plugin/isToday.js | 1 + .../static/lib/dayjs/plugin/isTomorrow.d.ts | 10 + .../src/static/lib/dayjs/plugin/isTomorrow.js | 1 + .../static/lib/dayjs/plugin/isYesterday.d.ts | 10 + .../static/lib/dayjs/plugin/isYesterday.js | 1 + .../src/static/lib/dayjs/plugin/isoWeek.d.ts | 27 + .../src/static/lib/dayjs/plugin/isoWeek.js | 1 + .../lib/dayjs/plugin/isoWeeksInYear.d.ts | 10 + .../static/lib/dayjs/plugin/isoWeeksInYear.js | 1 + .../static/lib/dayjs/plugin/localeData.d.ts | 44 + .../src/static/lib/dayjs/plugin/localeData.js | 1 + .../lib/dayjs/plugin/localizedFormat.d.ts | 4 + .../lib/dayjs/plugin/localizedFormat.js | 1 + .../src/static/lib/dayjs/plugin/minMax.d.ts | 11 + .../src/static/lib/dayjs/plugin/minMax.js | 1 + .../lib/dayjs/plugin/objectSupport.d.ts | 48 + .../static/lib/dayjs/plugin/objectSupport.js | 1 + .../static/lib/dayjs/plugin/pluralGetSet.d.ts | 44 + .../static/lib/dayjs/plugin/pluralGetSet.js | 1 + .../lib/dayjs/plugin/preParsePostFormat.d.ts | 4 + .../lib/dayjs/plugin/preParsePostFormat.js | 1 + .../lib/dayjs/plugin/quarterOfYear.d.ts | 26 + .../static/lib/dayjs/plugin/quarterOfYear.js | 1 + .../static/lib/dayjs/plugin/relativeTime.d.ts | 24 + .../static/lib/dayjs/plugin/relativeTime.js | 1 + .../src/static/lib/dayjs/plugin/timezone.d.ts | 20 + .../src/static/lib/dayjs/plugin/timezone.js | 1 + .../src/static/lib/dayjs/plugin/toArray.d.ts | 10 + .../src/static/lib/dayjs/plugin/toArray.js | 1 + .../src/static/lib/dayjs/plugin/toObject.d.ts | 20 + .../src/static/lib/dayjs/plugin/toObject.js | 1 + .../static/lib/dayjs/plugin/updateLocale.d.ts | 8 + .../static/lib/dayjs/plugin/updateLocale.js | 1 + .../src/static/lib/dayjs/plugin/utc.d.ts | 19 + wwws/admin/src/static/lib/dayjs/plugin/utc.js | 1 + .../static/lib/dayjs/plugin/weekOfYear.d.ts | 12 + .../src/static/lib/dayjs/plugin/weekOfYear.js | 1 + .../src/static/lib/dayjs/plugin/weekYear.d.ts | 10 + .../src/static/lib/dayjs/plugin/weekYear.js | 1 + .../src/static/lib/dayjs/plugin/weekday.d.ts | 12 + .../src/static/lib/dayjs/plugin/weekday.js | 1 + .../src/static/lib/mustache/mustache.min.js | 1 + .../lib/native-json-editor/json-editor.js | 262 + .../src/static/lib/nicedit/demos/demo01.html | 37 + .../src/static/lib/nicedit/demos/demo02.html | 57 + .../src/static/lib/nicedit/demos/demo03.html | 56 + .../src/static/lib/nicedit/demos/demo04.html | 49 + .../src/static/lib/nicedit/demos/demo05.html | 54 + wwws/admin/src/static/lib/nicedit/nicEdit.js | 102 + .../src/static/lib/nicedit/nicEditorIcons.gif | Bin 0 -> 3351 bytes .../static/lib/openpgp/dist/openpgp.min.js | 17 + .../qr-code-styling/lib/qr-code-styling.js | 2 + .../admin/src/static/lib/tinymce/CHANGELOG.md | 3520 ++ .../js/tinymce/icons/default/icons.min.js | 1 + .../lib/tinymce/js/tinymce/langs/README.md | 3 + .../static/lib/tinymce/js/tinymce/license.md | 6 + .../js/tinymce/models/dom/model.min.js | 4 + .../tinymce/plugins/accordion/plugin.min.js | 4 + .../js/tinymce/plugins/advlist/plugin.min.js | 4 + .../js/tinymce/plugins/anchor/plugin.min.js | 4 + .../js/tinymce/plugins/autolink/plugin.min.js | 4 + .../tinymce/plugins/autoresize/plugin.min.js | 4 + .../js/tinymce/plugins/autosave/plugin.min.js | 4 + .../js/tinymce/plugins/charmap/plugin.min.js | 4 + .../js/tinymce/plugins/code/plugin.min.js | 4 + .../tinymce/plugins/codesample/plugin.min.js | 4 + .../plugins/directionality/plugin.min.js | 4 + .../plugins/emoticons/js/emojiimages.js | 1 + .../plugins/emoticons/js/emojiimages.min.js | 3 + .../js/tinymce/plugins/emoticons/js/emojis.js | 1 + .../plugins/emoticons/js/emojis.min.js | 2 + .../tinymce/plugins/emoticons/plugin.min.js | 4 + .../tinymce/plugins/fullscreen/plugin.min.js | 4 + .../tinymce/plugins/help/js/i18n/keynav/ar.js | 90 + .../plugins/help/js/i18n/keynav/bg_BG.js | 90 + .../tinymce/plugins/help/js/i18n/keynav/ca.js | 90 + .../tinymce/plugins/help/js/i18n/keynav/cs.js | 90 + .../tinymce/plugins/help/js/i18n/keynav/da.js | 90 + .../tinymce/plugins/help/js/i18n/keynav/de.js | 90 + .../tinymce/plugins/help/js/i18n/keynav/el.js | 90 + .../tinymce/plugins/help/js/i18n/keynav/en.js | 90 + .../tinymce/plugins/help/js/i18n/keynav/es.js | 90 + .../tinymce/plugins/help/js/i18n/keynav/eu.js | 90 + .../tinymce/plugins/help/js/i18n/keynav/fa.js | 90 + .../tinymce/plugins/help/js/i18n/keynav/fi.js | 90 + .../plugins/help/js/i18n/keynav/fr_FR.js | 90 + .../plugins/help/js/i18n/keynav/he_IL.js | 90 + .../tinymce/plugins/help/js/i18n/keynav/hi.js | 90 + .../tinymce/plugins/help/js/i18n/keynav/hr.js | 90 + .../plugins/help/js/i18n/keynav/hu_HU.js | 90 + .../tinymce/plugins/help/js/i18n/keynav/id.js | 90 + .../tinymce/plugins/help/js/i18n/keynav/it.js | 90 + .../tinymce/plugins/help/js/i18n/keynav/ja.js | 90 + .../tinymce/plugins/help/js/i18n/keynav/kk.js | 90 + .../plugins/help/js/i18n/keynav/ko_KR.js | 90 + .../tinymce/plugins/help/js/i18n/keynav/ms.js | 90 + .../plugins/help/js/i18n/keynav/nb_NO.js | 90 + .../tinymce/plugins/help/js/i18n/keynav/nl.js | 90 + .../tinymce/plugins/help/js/i18n/keynav/pl.js | 90 + .../plugins/help/js/i18n/keynav/pt_BR.js | 90 + .../plugins/help/js/i18n/keynav/pt_PT.js | 90 + .../tinymce/plugins/help/js/i18n/keynav/ro.js | 90 + .../tinymce/plugins/help/js/i18n/keynav/ru.js | 90 + .../tinymce/plugins/help/js/i18n/keynav/sk.js | 90 + .../plugins/help/js/i18n/keynav/sl_SI.js | 90 + .../plugins/help/js/i18n/keynav/sv_SE.js | 90 + .../plugins/help/js/i18n/keynav/th_TH.js | 90 + .../tinymce/plugins/help/js/i18n/keynav/tr.js | 90 + .../tinymce/plugins/help/js/i18n/keynav/uk.js | 90 + .../tinymce/plugins/help/js/i18n/keynav/vi.js | 90 + .../plugins/help/js/i18n/keynav/zh_CN.js | 84 + .../plugins/help/js/i18n/keynav/zh_TW.js | 90 + .../js/tinymce/plugins/help/plugin.min.js | 4 + .../js/tinymce/plugins/image/plugin.min.js | 4 + .../tinymce/plugins/importcss/plugin.min.js | 4 + .../plugins/insertdatetime/plugin.min.js | 4 + .../js/tinymce/plugins/link/plugin.min.js | 4 + .../js/tinymce/plugins/lists/plugin.min.js | 4 + .../js/tinymce/plugins/media/plugin.min.js | 4 + .../tinymce/plugins/nonbreaking/plugin.min.js | 4 + .../tinymce/plugins/pagebreak/plugin.min.js | 4 + .../js/tinymce/plugins/preview/plugin.min.js | 4 + .../tinymce/plugins/quickbars/plugin.min.js | 4 + .../js/tinymce/plugins/save/plugin.min.js | 4 + .../plugins/searchreplace/plugin.min.js | 4 + .../js/tinymce/plugins/table/plugin.min.js | 4 + .../plugins/visualblocks/plugin.min.js | 4 + .../tinymce/plugins/visualchars/plugin.min.js | 4 + .../tinymce/plugins/wordcount/plugin.min.js | 4 + .../js/tinymce/skins/content/dark/content.js | 2 + .../skins/content/dark/content.min.css | 1 + .../tinymce/skins/content/default/content.js | 2 + .../skins/content/default/content.min.css | 1 + .../tinymce/skins/content/document/content.js | 2 + .../skins/content/document/content.min.css | 1 + .../skins/content/tinymce-5-dark/content.js | 2 + .../content/tinymce-5-dark/content.min.css | 1 + .../skins/content/tinymce-5/content.js | 2 + .../skins/content/tinymce-5/content.min.css | 1 + .../tinymce/skins/content/writer/content.js | 2 + .../skins/content/writer/content.min.css | 1 + .../skins/ui/oxide-dark/content.inline.js | 2 + .../ui/oxide-dark/content.inline.min.css | 1 + .../js/tinymce/skins/ui/oxide-dark/content.js | 2 + .../skins/ui/oxide-dark/content.min.css | 1 + .../js/tinymce/skins/ui/oxide-dark/skin.js | 2 + .../tinymce/skins/ui/oxide-dark/skin.min.css | 1 + .../skins/ui/oxide-dark/skin.shadowdom.js | 2 + .../ui/oxide-dark/skin.shadowdom.min.css | 1 + .../tinymce/skins/ui/oxide/content.inline.js | 2 + .../skins/ui/oxide/content.inline.min.css | 1 + .../js/tinymce/skins/ui/oxide/content.js | 2 + .../js/tinymce/skins/ui/oxide/content.min.css | 1 + .../tinymce/js/tinymce/skins/ui/oxide/skin.js | 2 + .../js/tinymce/skins/ui/oxide/skin.min.css | 1 + .../tinymce/skins/ui/oxide/skin.shadowdom.js | 2 + .../skins/ui/oxide/skin.shadowdom.min.css | 1 + .../skins/ui/tinymce-5-dark/content.inline.js | 2 + .../ui/tinymce-5-dark/content.inline.min.css | 1 + .../skins/ui/tinymce-5-dark/content.js | 2 + .../skins/ui/tinymce-5-dark/content.min.css | 1 + .../tinymce/skins/ui/tinymce-5-dark/skin.js | 2 + .../skins/ui/tinymce-5-dark/skin.min.css | 1 + .../skins/ui/tinymce-5-dark/skin.shadowdom.js | 2 + .../ui/tinymce-5-dark/skin.shadowdom.min.css | 1 + .../skins/ui/tinymce-5/content.inline.js | 2 + .../skins/ui/tinymce-5/content.inline.min.css | 1 + .../js/tinymce/skins/ui/tinymce-5/content.js | 2 + .../skins/ui/tinymce-5/content.min.css | 1 + .../js/tinymce/skins/ui/tinymce-5/skin.js | 2 + .../tinymce/skins/ui/tinymce-5/skin.min.css | 1 + .../skins/ui/tinymce-5/skin.shadowdom.js | 2 + .../skins/ui/tinymce-5/skin.shadowdom.min.css | 1 + .../js/tinymce/themes/silver/theme.min.js | 4 + .../lib/tinymce/js/tinymce/tinymce.d.ts | 3250 ++ .../lib/tinymce/js/tinymce/tinymce.min.js | 4 + wwws/admin/src/testapi_fr.html | 97 + .../src/tpldata/admindata/headnav_fr.json | 26 + .../src/tpldata/admindata/verticalnav_fr.json | 68 + .../src/tpldata/adminskull/headnav_fr.json | 26 + ...pxid_authentification_simplemobnav_fr.json | 120 + .../tpldata/apxid_signature_apxauth_fr.json | 17 + wwws/apx/apx.apxtri.farm.ants.json | 52 + .../navbarinlinesquarebtn.js | 17 + .../navbarinlinesquarebtn.mustache | 8 + .../navbarinlinesquarebtn_fr.json | 37 + wwws/apx/src/components/signin/signin.js | 5 + .../apx/src/components/signin/signin.mustache | 48 + wwws/apx/src/components/signin/signin_fr.json | 17 + wwws/apx/src/layouts/wallet/wallet.js | 0 wwws/apx/src/layouts/wallet/wallet.mustache | 37 + wwws/apx/src/layouts/wallet/wallet.scss | 0 wwws/apx/src/layouts/wallet/wallet_fr.json | 10 + wwws/apx/src/static/css copy/twdevstyle.css | 22 + wwws/apx/src/static/css copy/twstyle.css | 6048 +++ wwws/apx/src/static/css/app.css | 7 + wwws/apx/src/static/css/app.css.map | 1 + wwws/apx/src/static/fonts/.gitkeep | 0 .../fonts/Quicksand-VariableFont_wght.woff | Bin 0 -> 40792 bytes wwws/apx/src/static/fonts/logo/OFL.txt | 93 + .../logo/Quicksand-VariableFont_wght.ttf | Bin 0 -> 116832 bytes .../logo/Quicksand-VariableFont_wght.woff | Bin 0 -> 40792 bytes wwws/apx/src/static/fonts/logo/Quicksand.zip | Bin 0 -> 489827 bytes wwws/apx/src/static/fonts/logo/README.txt | 67 + .../fonts/logo/static/Quicksand-Bold.ttf | Bin 0 -> 72836 bytes .../fonts/logo/static/Quicksand-Light.ttf | Bin 0 -> 72964 bytes .../fonts/logo/static/Quicksand-Medium.ttf | Bin 0 -> 73176 bytes .../fonts/logo/static/Quicksand-Regular.ttf | Bin 0 -> 73200 bytes .../fonts/logo/static/Quicksand-SemiBold.ttf | Bin 0 -> 73084 bytes .../fonts/questrial-regular-webfont.woff | Bin 0 -> 26760 bytes wwws/apx/src/static/fonts/texte/OFL.txt | 93 + .../static/fonts/texte/Questrial-Regular.ttf | Bin 0 -> 148120 bytes wwws/apx/src/static/fonts/texte/Questrial.zip | Bin 0 -> 152858 bytes .../static/fonts/texte/generator_config.txt | 5 + .../fonts/texte/questrial-regular-demo.html | 706 + .../texte/questrial-regular-webfont.woff | Bin 0 -> 26760 bytes .../texte/questrial-regular-webfont.woff2 | Bin 0 -> 19964 bytes .../specimen_files/grid_12-825-55-15.css | 1 + .../specimen_files/specimen_stylesheet.css | 1 + .../apx/src/static/fonts/texte/stylesheet.css | 1 + .../texte/webfontkit-20230503-055110.zip | Bin 0 -> 59824 bytes wwws/apx/src/static/img/avatars/avatar-2.jpg | Bin 0 -> 10823 bytes wwws/apx/src/static/img/avatars/avatar-3.jpg | Bin 0 -> 19962 bytes wwws/apx/src/static/img/avatars/avatar-4.jpg | Bin 0 -> 13771 bytes wwws/apx/src/static/img/avatars/avatar-5.jpg | Bin 0 -> 20325 bytes wwws/apx/src/static/img/avatars/avatar.jpg | Bin 0 -> 14529 bytes wwws/apx/src/static/img/icons/icon-48x48.png | Bin 0 -> 1662 bytes wwws/apx/src/static/img/logo/favicon.png | Bin 0 -> 4581 bytes wwws/apx/src/static/img/logo/favicondark.png | Bin 0 -> 4581 bytes wwws/apx/src/static/img/logo/faviconlight.png | Bin 0 -> 3263 bytes wwws/apx/src/static/img/logo/logobgdark.png | Bin 0 -> 7188 bytes wwws/apx/src/static/img/logo/logobgdark.svg | 168 + wwws/apx/src/static/img/logo/logobglight.png | Bin 0 -> 10193 bytes wwws/apx/src/static/img/logo/logobglight.svg | 156 + .../apx/src/static/img/logo/logocarredark.png | Bin 0 -> 4606 bytes .../src/static/img/logo/logocarrelight.png | Bin 0 -> 4255 bytes wwws/apx/src/static/img/photos/unsplash-1.jpg | Bin 0 -> 84088 bytes wwws/apx/src/static/img/photos/unsplash-2.jpg | Bin 0 -> 41834 bytes wwws/apx/src/static/img/photos/unsplash-3.jpg | Bin 0 -> 150136 bytes wwws/apx/src/static/js/app.js | 3 + wwws/apx/src/static/js/app.js.LICENSE.txt | 514 + wwws/apx/src/static/js/app.js.map | 1 + .../src/static/lib/ASUPappbuilder/js/apx.js | 1064 + .../src/static/lib/axios/dist/axios.min.js | 2 + .../font/bootstrap-icons.min.css | 5 + .../font/fonts/bootstrap-icons.woff | Bin 0 -> 164360 bytes .../font/fonts/bootstrap-icons.woff2 | Bin 0 -> 121340 bytes .../bootstrap/dist/js/bootstrap.bundle.min.js | 7 + .../src/static/lib/codemirror/codemirror.css | 344 + .../src/static/lib/codemirror/codemirror.js | 9884 ++++ wwws/apx/src/static/lib/codemirror/css/css.js | 862 + .../lib/codemirror/handlebars/handlebars.js | 70 + .../lib/codemirror/htmlmixed/htmlmixed.js | 153 + .../lib/codemirror/javascript/javascript.js | 960 + .../lib/codemirror/markdown/markdown.js | 886 + .../src/static/lib/codemirror/nginx/nginx.js | 178 + .../static/lib/codemirror/python/python.js | 402 + .../src/static/lib/codemirror/sass/sass.js | 459 + wwws/apx/src/static/lib/dayjs/dayjs.min.js | 1 + .../lib/dayjs/plugin/advancedFormat.d.ts | 4 + .../static/lib/dayjs/plugin/advancedFormat.js | 1 + .../static/lib/dayjs/plugin/arraySupport.d.ts | 10 + .../static/lib/dayjs/plugin/arraySupport.js | 1 + .../static/lib/dayjs/plugin/badMutable.d.ts | 4 + .../src/static/lib/dayjs/plugin/badMutable.js | 1 + .../lib/dayjs/plugin/bigIntSupport.d.ts | 11 + .../static/lib/dayjs/plugin/bigIntSupport.js | 1 + .../static/lib/dayjs/plugin/buddhistEra.d.ts | 4 + .../static/lib/dayjs/plugin/buddhistEra.js | 1 + .../src/static/lib/dayjs/plugin/calendar.d.ts | 10 + .../src/static/lib/dayjs/plugin/calendar.js | 1 + .../lib/dayjs/plugin/customParseFormat.d.ts | 8 + .../lib/dayjs/plugin/customParseFormat.js | 1 + .../static/lib/dayjs/plugin/dayOfYear.d.ts | 11 + .../src/static/lib/dayjs/plugin/dayOfYear.js | 1 + .../static/lib/dayjs/plugin/devHelper.d.ts | 4 + .../src/static/lib/dayjs/plugin/devHelper.js | 1 + .../src/static/lib/dayjs/plugin/duration.d.ts | 88 + .../src/static/lib/dayjs/plugin/duration.js | 1 + .../static/lib/dayjs/plugin/isBetween.d.ts | 10 + .../src/static/lib/dayjs/plugin/isBetween.js | 1 + .../static/lib/dayjs/plugin/isLeapYear.d.ts | 10 + .../src/static/lib/dayjs/plugin/isLeapYear.js | 1 + .../src/static/lib/dayjs/plugin/isMoment.d.ts | 10 + .../src/static/lib/dayjs/plugin/isMoment.js | 1 + .../lib/dayjs/plugin/isSameOrAfter.d.ts | 10 + .../static/lib/dayjs/plugin/isSameOrAfter.js | 1 + .../lib/dayjs/plugin/isSameOrBefore.d.ts | 10 + .../static/lib/dayjs/plugin/isSameOrBefore.js | 1 + .../src/static/lib/dayjs/plugin/isToday.d.ts | 10 + .../src/static/lib/dayjs/plugin/isToday.js | 1 + .../static/lib/dayjs/plugin/isTomorrow.d.ts | 10 + .../src/static/lib/dayjs/plugin/isTomorrow.js | 1 + .../static/lib/dayjs/plugin/isYesterday.d.ts | 10 + .../static/lib/dayjs/plugin/isYesterday.js | 1 + .../src/static/lib/dayjs/plugin/isoWeek.d.ts | 27 + .../src/static/lib/dayjs/plugin/isoWeek.js | 1 + .../lib/dayjs/plugin/isoWeeksInYear.d.ts | 10 + .../static/lib/dayjs/plugin/isoWeeksInYear.js | 1 + .../static/lib/dayjs/plugin/localeData.d.ts | 44 + .../src/static/lib/dayjs/plugin/localeData.js | 1 + .../lib/dayjs/plugin/localizedFormat.d.ts | 4 + .../lib/dayjs/plugin/localizedFormat.js | 1 + .../src/static/lib/dayjs/plugin/minMax.d.ts | 11 + .../apx/src/static/lib/dayjs/plugin/minMax.js | 1 + .../lib/dayjs/plugin/objectSupport.d.ts | 48 + .../static/lib/dayjs/plugin/objectSupport.js | 1 + .../static/lib/dayjs/plugin/pluralGetSet.d.ts | 44 + .../static/lib/dayjs/plugin/pluralGetSet.js | 1 + .../lib/dayjs/plugin/preParsePostFormat.d.ts | 4 + .../lib/dayjs/plugin/preParsePostFormat.js | 1 + .../lib/dayjs/plugin/quarterOfYear.d.ts | 26 + .../static/lib/dayjs/plugin/quarterOfYear.js | 1 + .../static/lib/dayjs/plugin/relativeTime.d.ts | 24 + .../static/lib/dayjs/plugin/relativeTime.js | 1 + .../src/static/lib/dayjs/plugin/timezone.d.ts | 20 + .../src/static/lib/dayjs/plugin/timezone.js | 1 + .../src/static/lib/dayjs/plugin/toArray.d.ts | 10 + .../src/static/lib/dayjs/plugin/toArray.js | 1 + .../src/static/lib/dayjs/plugin/toObject.d.ts | 20 + .../src/static/lib/dayjs/plugin/toObject.js | 1 + .../static/lib/dayjs/plugin/updateLocale.d.ts | 8 + .../static/lib/dayjs/plugin/updateLocale.js | 1 + wwws/apx/src/static/lib/dayjs/plugin/utc.d.ts | 19 + wwws/apx/src/static/lib/dayjs/plugin/utc.js | 1 + .../static/lib/dayjs/plugin/weekOfYear.d.ts | 12 + .../src/static/lib/dayjs/plugin/weekOfYear.js | 1 + .../src/static/lib/dayjs/plugin/weekYear.d.ts | 10 + .../src/static/lib/dayjs/plugin/weekYear.js | 1 + .../src/static/lib/dayjs/plugin/weekday.d.ts | 12 + .../src/static/lib/dayjs/plugin/weekday.js | 1 + .../src/static/lib/mustache/mustache.min.js | 1 + .../lib/native-json-editor/json-editor.js | 262 + .../src/static/lib/nicedit/demos/demo01.html | 37 + .../src/static/lib/nicedit/demos/demo02.html | 57 + .../src/static/lib/nicedit/demos/demo03.html | 56 + .../src/static/lib/nicedit/demos/demo04.html | 49 + .../src/static/lib/nicedit/demos/demo05.html | 54 + wwws/apx/src/static/lib/nicedit/nicEdit.js | 102 + .../src/static/lib/nicedit/nicEditorIcons.gif | Bin 0 -> 3351 bytes .../static/lib/openpgp/dist/openpgp.min.js | 17 + .../qr-code-styling/lib/qr-code-styling.js | 2 + wwws/apx/src/static/lib/tinymce/CHANGELOG.md | 3520 ++ .../js/tinymce/icons/default/icons.min.js | 1 + .../lib/tinymce/js/tinymce/langs/README.md | 3 + .../static/lib/tinymce/js/tinymce/license.md | 6 + .../js/tinymce/models/dom/model.min.js | 4 + .../tinymce/plugins/accordion/plugin.min.js | 4 + .../js/tinymce/plugins/advlist/plugin.min.js | 4 + .../js/tinymce/plugins/anchor/plugin.min.js | 4 + .../js/tinymce/plugins/autolink/plugin.min.js | 4 + .../tinymce/plugins/autoresize/plugin.min.js | 4 + .../js/tinymce/plugins/autosave/plugin.min.js | 4 + .../js/tinymce/plugins/charmap/plugin.min.js | 4 + .../js/tinymce/plugins/code/plugin.min.js | 4 + .../tinymce/plugins/codesample/plugin.min.js | 4 + .../plugins/directionality/plugin.min.js | 4 + .../plugins/emoticons/js/emojiimages.js | 1 + .../plugins/emoticons/js/emojiimages.min.js | 3 + .../js/tinymce/plugins/emoticons/js/emojis.js | 1 + .../plugins/emoticons/js/emojis.min.js | 2 + .../tinymce/plugins/emoticons/plugin.min.js | 4 + .../tinymce/plugins/fullscreen/plugin.min.js | 4 + .../tinymce/plugins/help/js/i18n/keynav/ar.js | 90 + .../plugins/help/js/i18n/keynav/bg_BG.js | 90 + .../tinymce/plugins/help/js/i18n/keynav/ca.js | 90 + .../tinymce/plugins/help/js/i18n/keynav/cs.js | 90 + .../tinymce/plugins/help/js/i18n/keynav/da.js | 90 + .../tinymce/plugins/help/js/i18n/keynav/de.js | 90 + .../tinymce/plugins/help/js/i18n/keynav/el.js | 90 + .../tinymce/plugins/help/js/i18n/keynav/en.js | 90 + .../tinymce/plugins/help/js/i18n/keynav/es.js | 90 + .../tinymce/plugins/help/js/i18n/keynav/eu.js | 90 + .../tinymce/plugins/help/js/i18n/keynav/fa.js | 90 + .../tinymce/plugins/help/js/i18n/keynav/fi.js | 90 + .../plugins/help/js/i18n/keynav/fr_FR.js | 90 + .../plugins/help/js/i18n/keynav/he_IL.js | 90 + .../tinymce/plugins/help/js/i18n/keynav/hi.js | 90 + .../tinymce/plugins/help/js/i18n/keynav/hr.js | 90 + .../plugins/help/js/i18n/keynav/hu_HU.js | 90 + .../tinymce/plugins/help/js/i18n/keynav/id.js | 90 + .../tinymce/plugins/help/js/i18n/keynav/it.js | 90 + .../tinymce/plugins/help/js/i18n/keynav/ja.js | 90 + .../tinymce/plugins/help/js/i18n/keynav/kk.js | 90 + .../plugins/help/js/i18n/keynav/ko_KR.js | 90 + .../tinymce/plugins/help/js/i18n/keynav/ms.js | 90 + .../plugins/help/js/i18n/keynav/nb_NO.js | 90 + .../tinymce/plugins/help/js/i18n/keynav/nl.js | 90 + .../tinymce/plugins/help/js/i18n/keynav/pl.js | 90 + .../plugins/help/js/i18n/keynav/pt_BR.js | 90 + .../plugins/help/js/i18n/keynav/pt_PT.js | 90 + .../tinymce/plugins/help/js/i18n/keynav/ro.js | 90 + .../tinymce/plugins/help/js/i18n/keynav/ru.js | 90 + .../tinymce/plugins/help/js/i18n/keynav/sk.js | 90 + .../plugins/help/js/i18n/keynav/sl_SI.js | 90 + .../plugins/help/js/i18n/keynav/sv_SE.js | 90 + .../plugins/help/js/i18n/keynav/th_TH.js | 90 + .../tinymce/plugins/help/js/i18n/keynav/tr.js | 90 + .../tinymce/plugins/help/js/i18n/keynav/uk.js | 90 + .../tinymce/plugins/help/js/i18n/keynav/vi.js | 90 + .../plugins/help/js/i18n/keynav/zh_CN.js | 84 + .../plugins/help/js/i18n/keynav/zh_TW.js | 90 + .../js/tinymce/plugins/help/plugin.min.js | 4 + .../js/tinymce/plugins/image/plugin.min.js | 4 + .../tinymce/plugins/importcss/plugin.min.js | 4 + .../plugins/insertdatetime/plugin.min.js | 4 + .../js/tinymce/plugins/link/plugin.min.js | 4 + .../js/tinymce/plugins/lists/plugin.min.js | 4 + .../js/tinymce/plugins/media/plugin.min.js | 4 + .../tinymce/plugins/nonbreaking/plugin.min.js | 4 + .../tinymce/plugins/pagebreak/plugin.min.js | 4 + .../js/tinymce/plugins/preview/plugin.min.js | 4 + .../tinymce/plugins/quickbars/plugin.min.js | 4 + .../js/tinymce/plugins/save/plugin.min.js | 4 + .../plugins/searchreplace/plugin.min.js | 4 + .../js/tinymce/plugins/table/plugin.min.js | 4 + .../plugins/visualblocks/plugin.min.js | 4 + .../tinymce/plugins/visualchars/plugin.min.js | 4 + .../tinymce/plugins/wordcount/plugin.min.js | 4 + .../js/tinymce/skins/content/dark/content.js | 2 + .../skins/content/dark/content.min.css | 1 + .../tinymce/skins/content/default/content.js | 2 + .../skins/content/default/content.min.css | 1 + .../tinymce/skins/content/document/content.js | 2 + .../skins/content/document/content.min.css | 1 + .../skins/content/tinymce-5-dark/content.js | 2 + .../content/tinymce-5-dark/content.min.css | 1 + .../skins/content/tinymce-5/content.js | 2 + .../skins/content/tinymce-5/content.min.css | 1 + .../tinymce/skins/content/writer/content.js | 2 + .../skins/content/writer/content.min.css | 1 + .../skins/ui/oxide-dark/content.inline.js | 2 + .../ui/oxide-dark/content.inline.min.css | 1 + .../js/tinymce/skins/ui/oxide-dark/content.js | 2 + .../skins/ui/oxide-dark/content.min.css | 1 + .../js/tinymce/skins/ui/oxide-dark/skin.js | 2 + .../tinymce/skins/ui/oxide-dark/skin.min.css | 1 + .../skins/ui/oxide-dark/skin.shadowdom.js | 2 + .../ui/oxide-dark/skin.shadowdom.min.css | 1 + .../tinymce/skins/ui/oxide/content.inline.js | 2 + .../skins/ui/oxide/content.inline.min.css | 1 + .../js/tinymce/skins/ui/oxide/content.js | 2 + .../js/tinymce/skins/ui/oxide/content.min.css | 1 + .../tinymce/js/tinymce/skins/ui/oxide/skin.js | 2 + .../js/tinymce/skins/ui/oxide/skin.min.css | 1 + .../tinymce/skins/ui/oxide/skin.shadowdom.js | 2 + .../skins/ui/oxide/skin.shadowdom.min.css | 1 + .../skins/ui/tinymce-5-dark/content.inline.js | 2 + .../ui/tinymce-5-dark/content.inline.min.css | 1 + .../skins/ui/tinymce-5-dark/content.js | 2 + .../skins/ui/tinymce-5-dark/content.min.css | 1 + .../tinymce/skins/ui/tinymce-5-dark/skin.js | 2 + .../skins/ui/tinymce-5-dark/skin.min.css | 1 + .../skins/ui/tinymce-5-dark/skin.shadowdom.js | 2 + .../ui/tinymce-5-dark/skin.shadowdom.min.css | 1 + .../skins/ui/tinymce-5/content.inline.js | 2 + .../skins/ui/tinymce-5/content.inline.min.css | 1 + .../js/tinymce/skins/ui/tinymce-5/content.js | 2 + .../skins/ui/tinymce-5/content.min.css | 1 + .../js/tinymce/skins/ui/tinymce-5/skin.js | 2 + .../tinymce/skins/ui/tinymce-5/skin.min.css | 1 + .../skins/ui/tinymce-5/skin.shadowdom.js | 2 + .../skins/ui/tinymce-5/skin.shadowdom.min.css | 1 + .../js/tinymce/themes/silver/theme.min.js | 4 + .../lib/tinymce/js/tinymce/tinymce.d.ts | 3250 ++ .../lib/tinymce/js/tinymce/tinymce.min.js | 4 + wwws/apx/src/wallet_fr.html | 73 + wwws/apx/tailwind.config.js | 72 + wwws/apxhtml.zip | Bin 0 -> 461059 bytes wwws/apxhtml/src/index_fr.html | 113 + .../src/index_underconstruction_en.html | 35 + .../src/index_underconstruction_fr.html | 35 + wwws/apxhtml/src/static/css/twdevstyle.css | 22 + wwws/apxhtml/src/static/css/twstyle.css | 1826 + .../src/static/fonts/Questrial-Regular.ttf | Bin 0 -> 148120 bytes .../src/static/fonts/Quicksand-Bold.ttf | Bin 0 -> 72836 bytes .../src/static/fonts/Quicksand-Light.ttf | Bin 0 -> 72964 bytes .../src/static/fonts/Quicksand-Light.woff2 | Bin 0 -> 99509 bytes .../src/static/fonts/Quicksand-Medium.ttf | Bin 0 -> 73176 bytes .../src/static/fonts/Quicksand-Regular.ttf | Bin 0 -> 73200 bytes .../src/static/fonts/Quicksand-SemiBold.ttf | Bin 0 -> 73084 bytes .../fonts/questrial-regular-webfont.woff | Bin 0 -> 26760 bytes .../fonts/questrial-regular-webfont.woff2 | Bin 0 -> 19964 bytes .../src/static/img/icons/iconbgdark.png | Bin 0 -> 4582 bytes .../src/static/img/icons/iconbglight.png | Bin 0 -> 3785 bytes .../src/static/img/logo/logobgdark.png | Bin 0 -> 6507 bytes .../src/static/img/logo/logobglight.png | Bin 0 -> 9013 bytes .../src/static/img/logo/logobgorange.png | Bin 0 -> 12616 bytes .../trkhoster_trackerconsentform_fr.json | 25 + wwws/apxhtml/tailwind.config.js | 80 + .../apxweb/bootstrap/css/bootstrap-grid.css | 4085 ++ .../bootstrap/css/bootstrap-grid.css.map | 1 + .../bootstrap/css/bootstrap-grid.min.css | 6 + .../bootstrap/css/bootstrap-grid.min.css.map | 1 + .../bootstrap/css/bootstrap-grid.rtl.css | 4084 ++ .../bootstrap/css/bootstrap-grid.rtl.css.map | 1 + .../bootstrap/css/bootstrap-grid.rtl.min.css | 6 + .../css/bootstrap-grid.rtl.min.css.map | 1 + .../apxweb/bootstrap/css/bootstrap-reboot.css | 597 + .../bootstrap/css/bootstrap-reboot.css.map | 1 + .../bootstrap/css/bootstrap-reboot.min.css | 6 + .../css/bootstrap-reboot.min.css.map | 1 + .../bootstrap/css/bootstrap-reboot.rtl.css | 594 + .../css/bootstrap-reboot.rtl.css.map | 1 + .../css/bootstrap-reboot.rtl.min.css | 6 + .../css/bootstrap-reboot.rtl.min.css.map | 1 + .../bootstrap/css/bootstrap-utilities.css | 5402 ++ .../bootstrap/css/bootstrap-utilities.css.map | 1 + .../bootstrap/css/bootstrap-utilities.min.css | 6 + .../css/bootstrap-utilities.min.css.map | 1 + .../bootstrap/css/bootstrap-utilities.rtl.css | 5393 ++ .../css/bootstrap-utilities.rtl.css.map | 1 + .../css/bootstrap-utilities.rtl.min.css | 6 + .../css/bootstrap-utilities.rtl.min.css.map | 1 + wwws/cdn/apxweb/bootstrap/css/bootstrap.css | 12068 +++++ .../apxweb/bootstrap/css/bootstrap.css.map | 1 + .../apxweb/bootstrap/css/bootstrap.min.css | 6 + .../bootstrap/css/bootstrap.min.css.map | 1 + .../apxweb/bootstrap/css/bootstrap.rtl.css | 12032 +++++ .../bootstrap/css/bootstrap.rtl.css.map | 1 + .../bootstrap/css/bootstrap.rtl.min.css | 6 + .../bootstrap/css/bootstrap.rtl.min.css.map | 1 + .../apxweb/bootstrap/js/bootstrap.bundle.js | 6314 +++ .../bootstrap/js/bootstrap.bundle.js.map | 1 + .../bootstrap/js/bootstrap.bundle.min.js | 7 + .../bootstrap/js/bootstrap.bundle.min.js.map | 1 + wwws/cdn/apxweb/bootstrap/js/bootstrap.esm.js | 4447 ++ .../apxweb/bootstrap/js/bootstrap.esm.js.map | 1 + .../apxweb/bootstrap/js/bootstrap.esm.min.js | 7 + .../bootstrap/js/bootstrap.esm.min.js.map | 1 + wwws/cdn/apxweb/bootstrap/js/bootstrap.js | 4494 ++ wwws/cdn/apxweb/bootstrap/js/bootstrap.js.map | 1 + wwws/cdn/apxweb/bootstrap/js/bootstrap.min.js | 7 + .../apxweb/bootstrap/js/bootstrap.min.js.map | 1 + ...k Colors Color Palette - color-hex.com.png | Bin 0 -> 2998 bytes wwws/cdn/chartegraphique/color/colorcode.txt | 13 + wwws/cdn/chartegraphique/fonts/logo/OFL.txt | 93 + .../logo/Quicksand-VariableFont_wght.ttf | Bin 0 -> 116832 bytes .../chartegraphique/fonts/logo/Quicksand.zip | Bin 0 -> 489827 bytes .../cdn/chartegraphique/fonts/logo/README.txt | 67 + .../fonts/logo/static/Quicksand-Bold.ttf | Bin 0 -> 72836 bytes .../fonts/logo/static/Quicksand-Light.ttf | Bin 0 -> 72964 bytes .../fonts/logo/static/Quicksand-Medium.ttf | Bin 0 -> 73176 bytes .../fonts/logo/static/Quicksand-Regular.ttf | Bin 0 -> 73200 bytes .../fonts/logo/static/Quicksand-SemiBold.ttf | Bin 0 -> 73084 bytes wwws/cdn/chartegraphique/fonts/texte/OFL.txt | 93 + .../fonts/texte/Questrial-Regular.ttf | Bin 0 -> 148120 bytes .../chartegraphique/fonts/texte/Questrial.zip | Bin 0 -> 152858 bytes .../fonts/texte/generator_config.txt | 5 + .../fonts/texte/questrial-regular-demo.html | 706 + .../texte/questrial-regular-webfont.woff | Bin 0 -> 26760 bytes .../texte/questrial-regular-webfont.woff2 | Bin 0 -> 19964 bytes .../specimen_files/grid_12-825-55-15.css | 370 + .../specimen_files/specimen_stylesheet.css | 502 + .../fonts/texte/stylesheet.css | 12 + .../texte/webfontkit-20230503-055110.zip | Bin 0 -> 59824 bytes wwws/cdn/chartegraphique/logo/favicon.png | Bin 0 -> 4581 bytes wwws/cdn/chartegraphique/logo/favicondark.png | Bin 0 -> 4581 bytes .../cdn/chartegraphique/logo/faviconlight.png | Bin 0 -> 3263 bytes wwws/cdn/chartegraphique/logo/logobgdark.png | Bin 0 -> 7188 bytes wwws/cdn/chartegraphique/logo/logobgdark.svg | 168 + wwws/cdn/chartegraphique/logo/logobglight.png | Bin 0 -> 10193 bytes wwws/cdn/chartegraphique/logo/logobglight.svg | 156 + .../chartegraphique/logo/logocarredark.png | Bin 0 -> 4606 bytes .../chartegraphique/logo/logocarrelight.png | Bin 0 -> 4255 bytes .../chartegraphique/plancheavatarpagan.svg | 779 + .../chartegraphique/planchelogoapXtrib.svg | 1243 + wwws/cdn/lib/axios/dist/axios.min.js | 2 + wwws/cdn/lib/dayjs/dayjs.min.js | 1 + wwws/cdn/lib/mustache/mustache.min.js | 1 + wwws/cdn/lib/openpgp/dist/openpgp.min.js | 17 + wwws/cdn/share/ASUPlib/axios.min.js | 3 + wwws/cdn/share/ASUPlib/axios.min.map | 1 + wwws/cdn/share/ASUPlib/dayjs.min.js | 1 + wwws/cdn/share/ASUPlib/editor.js | 2 + wwws/cdn/share/ASUPlib/mustache.min.js | 1 + wwws/cdn/share/ASUPlib/openpgp.js | 43562 ++++++++++++++++ wwws/cdn/share/ASUPlib/openpgp.min.js | 17 + wwws/cdn/share/ASUPlib/openpgp.min.js.map | 1 + wwws/cdn/share/logo/favicon.png | Bin 0 -> 3785 bytes wwws/cdn/share/logo/logobgdark.png | Bin 0 -> 7188 bytes wwws/cdn/share/logo/logobgdark.svg | 168 + wwws/cdn/share/logo/logobglight.png | Bin 0 -> 10193 bytes wwws/cdn/share/logo/logobglight.svg | 156 + wwws/cdn/share/logo/logocarredark.png | Bin 0 -> 4606 bytes wwws/cdn/share/logo/logocarrelight.png | Bin 0 -> 4255 bytes wwws/cdn/trkret/1x1.png | Bin 0 -> 95 bytes wwws/cdn/trkret/empty.json | 1 + wwws/cdn/trkret/unique.svg | 76 + wwws/conf.json | 1 + wwws/itm/admin.json | 213 + wwws/itm/apxhtml.json | 73 + wwws/itm/recruiter.json | 71 + wwws/itm/smatchapp.json | 134 + wwws/recruiter/src/static/css/sourcetw.css | 6 + .../trkhoster_trackerconsentform_fr.json | 25 + wwws/wwws.admin.zip | Bin 0 -> 2636767 bytes 787 files changed, 185055 insertions(+) create mode 100644 .gitignore create mode 100644 README.md create mode 100644 options/conf.json create mode 100644 options/itm/country_en.json create mode 100644 options/itm/country_fr.json create mode 100644 options/itm/dayofweek_en.json create mode 100644 options/itm/dayofweek_fr.json create mode 100644 options/itm/profil_en.json create mode 100644 options/itm/profil_fr.json create mode 100644 wco/admindata/admindata.js create mode 100644 wco/adminskull/adminskull.js create mode 100644 wco/adminskull/headnav_fr.json create mode 100644 wco/adminskull/headnav_fr.mustache create mode 100644 wco/adminskull/main_fr.mustache create mode 100644 wco/adminskull/result_fr.mustache create mode 100644 wco/adminskull/verticalnav_fr.json create mode 100644 wco/adminskull/verticalnav_fr.mustache create mode 100644 wco/apx/apx.js create mode 100644 wco/apxauth/apxauth.js create mode 100644 wco/apxauth/exampleapxauth_fr.json create mode 100644 wco/apxauth/main_fr.mustache create mode 100644 wco/apxauth/screenforgetkey_fr.mustache create mode 100644 wco/apxauth/screeninformation_fr.mustache create mode 100644 wco/apxauth/screenlogout_fr.mustache create mode 100644 wco/apxauth/screenmytribes_fr.mustache create mode 100644 wco/apxauth/screensignin_fr.mustache create mode 100644 wco/apxauth/screensignup_fr.mustache create mode 100644 wco/chatroom/chatroom.js create mode 100644 wco/conf.json create mode 100644 wco/formmanager/form_fr.mustache create mode 100644 wco/formmanager/formdata_fr.json create mode 100644 wco/formmanager/formmanager.js create mode 100644 wco/itm/admindata.json create mode 100644 wco/itm/adminskull.json create mode 100644 wco/itm/apx.json create mode 100644 wco/itm/apxauth.json create mode 100644 wco/itm/simplemobnav.json create mode 100644 wco/itm/tracker.json create mode 100644 wco/simplemobnav/examplenav_fr.json create mode 100644 wco/simplemobnav/main.mustache create mode 100644 wco/simplemobnav/navbuttonh.mustache create mode 100644 wco/simplemobnav/navlist.mustache create mode 100644 wco/simplemobnav/readme.md create mode 100644 wco/simplemobnav/simplemobnav.js create mode 100644 wco/testapi/nav_fr.json create mode 100644 wco/testapi/screenhome_fr.mustache create mode 100644 wco/testapi/test2.js create mode 100644 wco/testapi/testapi.js create mode 100644 wco/tracker/consentform.mustache create mode 100644 wco/tracker/exampleform_en.json create mode 100644 wco/tracker/exampleform_fr.json create mode 100644 wco/tracker/tracker.js create mode 100644 wwws/admin/src/admindata_fr.html create mode 100644 wwws/admin/src/apxid_fr.html create mode 100644 wwws/admin/src/components/ActiveJobAd.html create mode 100644 wwws/admin/src/components/AttentionMessage.css create mode 100644 wwws/admin/src/components/AttentionMessage.html create mode 100644 wwws/admin/src/components/Button.css create mode 100644 wwws/admin/src/components/Button.html create mode 100644 wwws/admin/src/components/Button.js create mode 100644 wwws/admin/src/components/ExtraJobAds.html create mode 100644 wwws/admin/src/components/ExtraJobAds.js create mode 100644 wwws/admin/src/components/Header.html create mode 100644 wwws/admin/src/components/InactiveJobAd.html create mode 100644 wwws/admin/src/components/JobAdDetail.html create mode 100644 wwws/admin/src/components/JobAds.css create mode 100644 wwws/admin/src/components/JobAds.js create mode 100644 wwws/admin/src/components/NoExtraJobAds.html create mode 100644 wwws/admin/src/components/NoSubscription.css create mode 100644 wwws/admin/src/components/NoSubscription.html create mode 100644 wwws/admin/src/components/PageLayout.css create mode 100644 wwws/admin/src/components/PlanDetail.html create mode 100644 wwws/admin/src/components/PlanDetailItem.html create mode 100644 wwws/admin/src/components/PlanDetails.css create mode 100644 wwws/admin/src/components/Subscriptions.html create mode 100644 wwws/admin/src/components/Subscriptions.js create mode 100644 wwws/admin/src/components/Tabs.html create mode 100644 wwws/admin/src/components/Tabs.js create mode 100644 wwws/admin/src/components/Tabs2.js create mode 100644 wwws/admin/src/components/caption.html create mode 100644 wwws/admin/src/components/carousel.css create mode 100644 wwws/admin/src/components/carousel.js create mode 100644 wwws/admin/src/components/checkbox.css create mode 100644 wwws/admin/src/components/checkbox.html create mode 100644 wwws/admin/src/components/checkbox.js create mode 100644 wwws/admin/src/components/content.css create mode 100644 wwws/admin/src/components/dropdown.css create mode 100644 wwws/admin/src/components/dropdown.html create mode 100644 wwws/admin/src/components/dropdown.js create mode 100644 wwws/admin/src/components/duoLayout.css create mode 100644 wwws/admin/src/components/footer.css create mode 100644 wwws/admin/src/components/header.css create mode 100644 wwws/admin/src/components/header.html create mode 100644 wwws/admin/src/components/header.js create mode 100644 wwws/admin/src/components/inset.css create mode 100644 wwws/admin/src/components/media-item.html create mode 100644 wwws/admin/src/components/media-layout.js create mode 100644 wwws/admin/src/components/media.js create mode 100644 wwws/admin/src/components/quatreLayout.css create mode 100644 wwws/admin/src/components/radiobutton.css create mode 100644 wwws/admin/src/components/radiobutton.html create mode 100644 wwws/admin/src/components/radiobutton.js create mode 100644 wwws/admin/src/components/single-column.html create mode 100644 wwws/admin/src/components/tabs.css create mode 100644 wwws/admin/src/components/text-layout.js create mode 100644 wwws/admin/src/components/text-media-1.css create mode 100644 wwws/admin/src/components/text-media-1.html create mode 100644 wwws/admin/src/components/text-media-1.js create mode 100644 wwws/admin/src/components/text-media-2.css create mode 100644 wwws/admin/src/components/text-media-2.html create mode 100644 wwws/admin/src/components/text-media-2.js create mode 100644 wwws/admin/src/components/text-media-3.css create mode 100644 wwws/admin/src/components/text-media-3.js create mode 100644 wwws/admin/src/components/text.css create mode 100644 wwws/admin/src/components/textinput.css create mode 100644 wwws/admin/src/components/textinput.html create mode 100644 wwws/admin/src/components/textinput.js create mode 100644 wwws/admin/src/components/three-column.html create mode 100644 wwws/admin/src/components/toggle.css create mode 100644 wwws/admin/src/components/toggle.js create mode 100644 wwws/admin/src/components/trioLayout.css create mode 100644 wwws/admin/src/components/two-column.html create mode 100644 wwws/admin/src/components/wide-right-column.html create mode 100644 wwws/admin/src/components/wrapper.html create mode 100644 wwws/admin/src/static/css/input.css create mode 100644 wwws/admin/src/static/css/output.css create mode 100644 wwws/admin/src/static/css/sourcetw.css create mode 100644 wwws/admin/src/static/fonts/Questrial-Regular.ttf create mode 100644 wwws/admin/src/static/fonts/Quicksand-Bold.ttf create mode 100644 wwws/admin/src/static/fonts/Quicksand-Light.ttf create mode 100644 wwws/admin/src/static/fonts/Quicksand-Light.woff2 create mode 100644 wwws/admin/src/static/fonts/Quicksand-Medium.ttf create mode 100644 wwws/admin/src/static/fonts/Quicksand-Regular.ttf create mode 100644 wwws/admin/src/static/fonts/Quicksand-SemiBold.ttf create mode 100644 wwws/admin/src/static/fonts/questrial-regular-webfont.woff create mode 100644 wwws/admin/src/static/fonts/questrial-regular-webfont.woff2 create mode 100644 wwws/admin/src/static/img/icons/iconbgdark.png create mode 100644 wwws/admin/src/static/img/icons/iconbglight.png create mode 100644 wwws/admin/src/static/img/logo/logobgdark.png create mode 100644 wwws/admin/src/static/img/logo/logobglight.png create mode 100644 wwws/admin/src/static/img/logo/logobgorange.png create mode 100644 wwws/admin/src/static/js/adminsearch.js create mode 100644 wwws/admin/src/static/js/testapi.js create mode 100644 wwws/admin/src/static/lib/axiosold/dist/axios.min.js create mode 100644 wwws/admin/src/static/lib/bootstrap-icons/font/bootstrap-icons.min.css create mode 100644 wwws/admin/src/static/lib/bootstrap-icons/font/fonts/bootstrap-icons.woff create mode 100644 wwws/admin/src/static/lib/bootstrap-icons/font/fonts/bootstrap-icons.woff2 create mode 100644 wwws/admin/src/static/lib/bootstrap/dist/js/bootstrap.bundle.min.js create mode 100644 wwws/admin/src/static/lib/codemirror/codemirror.css create mode 100644 wwws/admin/src/static/lib/codemirror/codemirror.js create mode 100644 wwws/admin/src/static/lib/codemirror/css/css.js create mode 100644 wwws/admin/src/static/lib/codemirror/handlebars/handlebars.js create mode 100644 wwws/admin/src/static/lib/codemirror/htmlmixed/htmlmixed.js create mode 100644 wwws/admin/src/static/lib/codemirror/javascript/javascript.js create mode 100644 wwws/admin/src/static/lib/codemirror/markdown/markdown.js create mode 100644 wwws/admin/src/static/lib/codemirror/nginx/nginx.js create mode 100644 wwws/admin/src/static/lib/codemirror/python/python.js create mode 100644 wwws/admin/src/static/lib/codemirror/sass/sass.js create mode 100644 wwws/admin/src/static/lib/dayjs/dayjs.min.js create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/advancedFormat.d.ts create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/advancedFormat.js create mode 100755 wwws/admin/src/static/lib/dayjs/plugin/arraySupport.d.ts create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/arraySupport.js create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/badMutable.d.ts create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/badMutable.js create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/bigIntSupport.d.ts create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/bigIntSupport.js create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/buddhistEra.d.ts create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/buddhistEra.js create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/calendar.d.ts create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/calendar.js create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/customParseFormat.d.ts create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/customParseFormat.js create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/dayOfYear.d.ts create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/dayOfYear.js create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/devHelper.d.ts create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/devHelper.js create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/duration.d.ts create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/duration.js create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/isBetween.d.ts create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/isBetween.js create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/isLeapYear.d.ts create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/isLeapYear.js create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/isMoment.d.ts create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/isMoment.js create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/isSameOrAfter.d.ts create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/isSameOrAfter.js create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/isSameOrBefore.d.ts create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/isSameOrBefore.js create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/isToday.d.ts create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/isToday.js create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/isTomorrow.d.ts create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/isTomorrow.js create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/isYesterday.d.ts create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/isYesterday.js create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/isoWeek.d.ts create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/isoWeek.js create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/isoWeeksInYear.d.ts create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/isoWeeksInYear.js create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/localeData.d.ts create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/localeData.js create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/localizedFormat.d.ts create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/localizedFormat.js create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/minMax.d.ts create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/minMax.js create mode 100755 wwws/admin/src/static/lib/dayjs/plugin/objectSupport.d.ts create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/objectSupport.js create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/pluralGetSet.d.ts create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/pluralGetSet.js create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/preParsePostFormat.d.ts create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/preParsePostFormat.js create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/quarterOfYear.d.ts create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/quarterOfYear.js create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/relativeTime.d.ts create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/relativeTime.js create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/timezone.d.ts create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/timezone.js create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/toArray.d.ts create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/toArray.js create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/toObject.d.ts create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/toObject.js create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/updateLocale.d.ts create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/updateLocale.js create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/utc.d.ts create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/utc.js create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/weekOfYear.d.ts create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/weekOfYear.js create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/weekYear.d.ts create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/weekYear.js create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/weekday.d.ts create mode 100644 wwws/admin/src/static/lib/dayjs/plugin/weekday.js create mode 100644 wwws/admin/src/static/lib/mustache/mustache.min.js create mode 100644 wwws/admin/src/static/lib/native-json-editor/json-editor.js create mode 100644 wwws/admin/src/static/lib/nicedit/demos/demo01.html create mode 100644 wwws/admin/src/static/lib/nicedit/demos/demo02.html create mode 100644 wwws/admin/src/static/lib/nicedit/demos/demo03.html create mode 100644 wwws/admin/src/static/lib/nicedit/demos/demo04.html create mode 100644 wwws/admin/src/static/lib/nicedit/demos/demo05.html create mode 100644 wwws/admin/src/static/lib/nicedit/nicEdit.js create mode 100644 wwws/admin/src/static/lib/nicedit/nicEditorIcons.gif create mode 100644 wwws/admin/src/static/lib/openpgp/dist/openpgp.min.js create mode 100644 wwws/admin/src/static/lib/qr-code-styling/lib/qr-code-styling.js create mode 100644 wwws/admin/src/static/lib/tinymce/CHANGELOG.md create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/icons/default/icons.min.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/langs/README.md create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/license.md create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/models/dom/model.min.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/accordion/plugin.min.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/advlist/plugin.min.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/anchor/plugin.min.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/autolink/plugin.min.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/autoresize/plugin.min.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/autosave/plugin.min.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/charmap/plugin.min.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/code/plugin.min.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/codesample/plugin.min.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/directionality/plugin.min.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/emoticons/js/emojiimages.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/emoticons/js/emojiimages.min.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/emoticons/js/emojis.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/emoticons/js/emojis.min.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/emoticons/plugin.min.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/fullscreen/plugin.min.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/ar.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/bg_BG.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/ca.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/cs.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/da.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/de.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/el.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/en.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/es.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/eu.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/fa.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/fi.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/fr_FR.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/he_IL.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/hi.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/hr.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/hu_HU.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/id.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/it.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/ja.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/kk.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/ko_KR.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/ms.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/nb_NO.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/nl.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/pl.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/pt_BR.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/pt_PT.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/ro.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/ru.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/sk.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/sl_SI.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/sv_SE.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/th_TH.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/tr.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/uk.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/vi.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/zh_CN.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/zh_TW.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/help/plugin.min.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/image/plugin.min.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/importcss/plugin.min.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/insertdatetime/plugin.min.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/link/plugin.min.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/lists/plugin.min.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/media/plugin.min.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/nonbreaking/plugin.min.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/pagebreak/plugin.min.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/preview/plugin.min.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/quickbars/plugin.min.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/save/plugin.min.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/searchreplace/plugin.min.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/table/plugin.min.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/visualblocks/plugin.min.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/visualchars/plugin.min.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/plugins/wordcount/plugin.min.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/skins/content/dark/content.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/skins/content/dark/content.min.css create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/skins/content/default/content.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/skins/content/default/content.min.css create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/skins/content/document/content.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/skins/content/document/content.min.css create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/skins/content/tinymce-5-dark/content.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/skins/content/tinymce-5-dark/content.min.css create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/skins/content/tinymce-5/content.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/skins/content/tinymce-5/content.min.css create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/skins/content/writer/content.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/skins/content/writer/content.min.css create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/skins/ui/oxide-dark/content.inline.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/skins/ui/oxide-dark/content.inline.min.css create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/skins/ui/oxide-dark/content.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/skins/ui/oxide-dark/content.min.css create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/skins/ui/oxide-dark/skin.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/skins/ui/oxide-dark/skin.min.css create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/skins/ui/oxide-dark/skin.shadowdom.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/skins/ui/oxide-dark/skin.shadowdom.min.css create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/skins/ui/oxide/content.inline.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/skins/ui/oxide/content.inline.min.css create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/skins/ui/oxide/content.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/skins/ui/oxide/content.min.css create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/skins/ui/oxide/skin.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/skins/ui/oxide/skin.min.css create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/skins/ui/oxide/skin.shadowdom.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/skins/ui/oxide/skin.shadowdom.min.css create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/skins/ui/tinymce-5-dark/content.inline.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/skins/ui/tinymce-5-dark/content.inline.min.css create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/skins/ui/tinymce-5-dark/content.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/skins/ui/tinymce-5-dark/content.min.css create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/skins/ui/tinymce-5-dark/skin.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/skins/ui/tinymce-5-dark/skin.min.css create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/skins/ui/tinymce-5-dark/skin.shadowdom.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/skins/ui/tinymce-5-dark/skin.shadowdom.min.css create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/skins/ui/tinymce-5/content.inline.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/skins/ui/tinymce-5/content.inline.min.css create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/skins/ui/tinymce-5/content.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/skins/ui/tinymce-5/content.min.css create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/skins/ui/tinymce-5/skin.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/skins/ui/tinymce-5/skin.min.css create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/skins/ui/tinymce-5/skin.shadowdom.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/skins/ui/tinymce-5/skin.shadowdom.min.css create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/themes/silver/theme.min.js create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/tinymce.d.ts create mode 100644 wwws/admin/src/static/lib/tinymce/js/tinymce/tinymce.min.js create mode 100644 wwws/admin/src/testapi_fr.html create mode 100644 wwws/admin/src/tpldata/admindata/headnav_fr.json create mode 100644 wwws/admin/src/tpldata/admindata/verticalnav_fr.json create mode 100644 wwws/admin/src/tpldata/adminskull/headnav_fr.json create mode 100644 wwws/admin/src/tpldata/apxid_authentification_simplemobnav_fr.json create mode 100644 wwws/admin/src/tpldata/apxid_signature_apxauth_fr.json create mode 100644 wwws/apx/apx.apxtri.farm.ants.json create mode 100644 wwws/apx/src/components/navbarinlinesquarebtn/navbarinlinesquarebtn.js create mode 100644 wwws/apx/src/components/navbarinlinesquarebtn/navbarinlinesquarebtn.mustache create mode 100644 wwws/apx/src/components/navbarinlinesquarebtn/navbarinlinesquarebtn_fr.json create mode 100644 wwws/apx/src/components/signin/signin.js create mode 100644 wwws/apx/src/components/signin/signin.mustache create mode 100644 wwws/apx/src/components/signin/signin_fr.json create mode 100644 wwws/apx/src/layouts/wallet/wallet.js create mode 100644 wwws/apx/src/layouts/wallet/wallet.mustache create mode 100644 wwws/apx/src/layouts/wallet/wallet.scss create mode 100644 wwws/apx/src/layouts/wallet/wallet_fr.json create mode 100644 wwws/apx/src/static/css copy/twdevstyle.css create mode 100644 wwws/apx/src/static/css copy/twstyle.css create mode 100644 wwws/apx/src/static/css/app.css create mode 100644 wwws/apx/src/static/css/app.css.map create mode 100644 wwws/apx/src/static/fonts/.gitkeep create mode 100644 wwws/apx/src/static/fonts/Quicksand-VariableFont_wght.woff create mode 100644 wwws/apx/src/static/fonts/logo/OFL.txt create mode 100644 wwws/apx/src/static/fonts/logo/Quicksand-VariableFont_wght.ttf create mode 100644 wwws/apx/src/static/fonts/logo/Quicksand-VariableFont_wght.woff create mode 100644 wwws/apx/src/static/fonts/logo/Quicksand.zip create mode 100644 wwws/apx/src/static/fonts/logo/README.txt create mode 100644 wwws/apx/src/static/fonts/logo/static/Quicksand-Bold.ttf create mode 100644 wwws/apx/src/static/fonts/logo/static/Quicksand-Light.ttf create mode 100644 wwws/apx/src/static/fonts/logo/static/Quicksand-Medium.ttf create mode 100644 wwws/apx/src/static/fonts/logo/static/Quicksand-Regular.ttf create mode 100644 wwws/apx/src/static/fonts/logo/static/Quicksand-SemiBold.ttf create mode 100644 wwws/apx/src/static/fonts/questrial-regular-webfont.woff create mode 100644 wwws/apx/src/static/fonts/texte/OFL.txt create mode 100644 wwws/apx/src/static/fonts/texte/Questrial-Regular.ttf create mode 100644 wwws/apx/src/static/fonts/texte/Questrial.zip create mode 100644 wwws/apx/src/static/fonts/texte/generator_config.txt create mode 100644 wwws/apx/src/static/fonts/texte/questrial-regular-demo.html create mode 100644 wwws/apx/src/static/fonts/texte/questrial-regular-webfont.woff create mode 100644 wwws/apx/src/static/fonts/texte/questrial-regular-webfont.woff2 create mode 100644 wwws/apx/src/static/fonts/texte/specimen_files/grid_12-825-55-15.css create mode 100644 wwws/apx/src/static/fonts/texte/specimen_files/specimen_stylesheet.css create mode 100644 wwws/apx/src/static/fonts/texte/stylesheet.css create mode 100644 wwws/apx/src/static/fonts/texte/webfontkit-20230503-055110.zip create mode 100644 wwws/apx/src/static/img/avatars/avatar-2.jpg create mode 100644 wwws/apx/src/static/img/avatars/avatar-3.jpg create mode 100644 wwws/apx/src/static/img/avatars/avatar-4.jpg create mode 100644 wwws/apx/src/static/img/avatars/avatar-5.jpg create mode 100644 wwws/apx/src/static/img/avatars/avatar.jpg create mode 100644 wwws/apx/src/static/img/icons/icon-48x48.png create mode 100644 wwws/apx/src/static/img/logo/favicon.png create mode 100644 wwws/apx/src/static/img/logo/favicondark.png create mode 100644 wwws/apx/src/static/img/logo/faviconlight.png create mode 100644 wwws/apx/src/static/img/logo/logobgdark.png create mode 100644 wwws/apx/src/static/img/logo/logobgdark.svg create mode 100644 wwws/apx/src/static/img/logo/logobglight.png create mode 100644 wwws/apx/src/static/img/logo/logobglight.svg create mode 100644 wwws/apx/src/static/img/logo/logocarredark.png create mode 100644 wwws/apx/src/static/img/logo/logocarrelight.png create mode 100644 wwws/apx/src/static/img/photos/unsplash-1.jpg create mode 100644 wwws/apx/src/static/img/photos/unsplash-2.jpg create mode 100644 wwws/apx/src/static/img/photos/unsplash-3.jpg create mode 100644 wwws/apx/src/static/js/app.js create mode 100644 wwws/apx/src/static/js/app.js.LICENSE.txt create mode 100644 wwws/apx/src/static/js/app.js.map create mode 100644 wwws/apx/src/static/lib/ASUPappbuilder/js/apx.js create mode 100644 wwws/apx/src/static/lib/axios/dist/axios.min.js create mode 100644 wwws/apx/src/static/lib/bootstrap-icons/font/bootstrap-icons.min.css create mode 100644 wwws/apx/src/static/lib/bootstrap-icons/font/fonts/bootstrap-icons.woff create mode 100644 wwws/apx/src/static/lib/bootstrap-icons/font/fonts/bootstrap-icons.woff2 create mode 100644 wwws/apx/src/static/lib/bootstrap/dist/js/bootstrap.bundle.min.js create mode 100644 wwws/apx/src/static/lib/codemirror/codemirror.css create mode 100644 wwws/apx/src/static/lib/codemirror/codemirror.js create mode 100644 wwws/apx/src/static/lib/codemirror/css/css.js create mode 100644 wwws/apx/src/static/lib/codemirror/handlebars/handlebars.js create mode 100644 wwws/apx/src/static/lib/codemirror/htmlmixed/htmlmixed.js create mode 100644 wwws/apx/src/static/lib/codemirror/javascript/javascript.js create mode 100644 wwws/apx/src/static/lib/codemirror/markdown/markdown.js create mode 100644 wwws/apx/src/static/lib/codemirror/nginx/nginx.js create mode 100644 wwws/apx/src/static/lib/codemirror/python/python.js create mode 100644 wwws/apx/src/static/lib/codemirror/sass/sass.js create mode 100644 wwws/apx/src/static/lib/dayjs/dayjs.min.js create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/advancedFormat.d.ts create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/advancedFormat.js create mode 100755 wwws/apx/src/static/lib/dayjs/plugin/arraySupport.d.ts create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/arraySupport.js create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/badMutable.d.ts create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/badMutable.js create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/bigIntSupport.d.ts create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/bigIntSupport.js create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/buddhistEra.d.ts create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/buddhistEra.js create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/calendar.d.ts create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/calendar.js create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/customParseFormat.d.ts create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/customParseFormat.js create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/dayOfYear.d.ts create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/dayOfYear.js create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/devHelper.d.ts create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/devHelper.js create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/duration.d.ts create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/duration.js create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/isBetween.d.ts create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/isBetween.js create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/isLeapYear.d.ts create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/isLeapYear.js create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/isMoment.d.ts create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/isMoment.js create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/isSameOrAfter.d.ts create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/isSameOrAfter.js create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/isSameOrBefore.d.ts create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/isSameOrBefore.js create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/isToday.d.ts create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/isToday.js create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/isTomorrow.d.ts create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/isTomorrow.js create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/isYesterday.d.ts create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/isYesterday.js create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/isoWeek.d.ts create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/isoWeek.js create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/isoWeeksInYear.d.ts create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/isoWeeksInYear.js create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/localeData.d.ts create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/localeData.js create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/localizedFormat.d.ts create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/localizedFormat.js create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/minMax.d.ts create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/minMax.js create mode 100755 wwws/apx/src/static/lib/dayjs/plugin/objectSupport.d.ts create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/objectSupport.js create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/pluralGetSet.d.ts create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/pluralGetSet.js create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/preParsePostFormat.d.ts create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/preParsePostFormat.js create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/quarterOfYear.d.ts create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/quarterOfYear.js create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/relativeTime.d.ts create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/relativeTime.js create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/timezone.d.ts create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/timezone.js create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/toArray.d.ts create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/toArray.js create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/toObject.d.ts create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/toObject.js create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/updateLocale.d.ts create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/updateLocale.js create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/utc.d.ts create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/utc.js create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/weekOfYear.d.ts create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/weekOfYear.js create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/weekYear.d.ts create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/weekYear.js create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/weekday.d.ts create mode 100644 wwws/apx/src/static/lib/dayjs/plugin/weekday.js create mode 100644 wwws/apx/src/static/lib/mustache/mustache.min.js create mode 100644 wwws/apx/src/static/lib/native-json-editor/json-editor.js create mode 100644 wwws/apx/src/static/lib/nicedit/demos/demo01.html create mode 100644 wwws/apx/src/static/lib/nicedit/demos/demo02.html create mode 100644 wwws/apx/src/static/lib/nicedit/demos/demo03.html create mode 100644 wwws/apx/src/static/lib/nicedit/demos/demo04.html create mode 100644 wwws/apx/src/static/lib/nicedit/demos/demo05.html create mode 100644 wwws/apx/src/static/lib/nicedit/nicEdit.js create mode 100644 wwws/apx/src/static/lib/nicedit/nicEditorIcons.gif create mode 100644 wwws/apx/src/static/lib/openpgp/dist/openpgp.min.js create mode 100644 wwws/apx/src/static/lib/qr-code-styling/lib/qr-code-styling.js create mode 100644 wwws/apx/src/static/lib/tinymce/CHANGELOG.md create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/icons/default/icons.min.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/langs/README.md create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/license.md create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/models/dom/model.min.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/accordion/plugin.min.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/advlist/plugin.min.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/anchor/plugin.min.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/autolink/plugin.min.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/autoresize/plugin.min.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/autosave/plugin.min.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/charmap/plugin.min.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/code/plugin.min.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/codesample/plugin.min.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/directionality/plugin.min.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/emoticons/js/emojiimages.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/emoticons/js/emojiimages.min.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/emoticons/js/emojis.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/emoticons/js/emojis.min.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/emoticons/plugin.min.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/fullscreen/plugin.min.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/ar.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/bg_BG.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/ca.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/cs.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/da.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/de.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/el.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/en.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/es.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/eu.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/fa.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/fi.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/fr_FR.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/he_IL.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/hi.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/hr.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/hu_HU.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/id.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/it.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/ja.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/kk.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/ko_KR.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/ms.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/nb_NO.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/nl.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/pl.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/pt_BR.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/pt_PT.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/ro.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/ru.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/sk.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/sl_SI.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/sv_SE.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/th_TH.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/tr.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/uk.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/vi.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/zh_CN.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/help/js/i18n/keynav/zh_TW.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/help/plugin.min.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/image/plugin.min.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/importcss/plugin.min.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/insertdatetime/plugin.min.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/link/plugin.min.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/lists/plugin.min.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/media/plugin.min.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/nonbreaking/plugin.min.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/pagebreak/plugin.min.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/preview/plugin.min.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/quickbars/plugin.min.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/save/plugin.min.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/searchreplace/plugin.min.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/table/plugin.min.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/visualblocks/plugin.min.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/visualchars/plugin.min.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/plugins/wordcount/plugin.min.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/skins/content/dark/content.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/skins/content/dark/content.min.css create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/skins/content/default/content.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/skins/content/default/content.min.css create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/skins/content/document/content.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/skins/content/document/content.min.css create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/skins/content/tinymce-5-dark/content.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/skins/content/tinymce-5-dark/content.min.css create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/skins/content/tinymce-5/content.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/skins/content/tinymce-5/content.min.css create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/skins/content/writer/content.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/skins/content/writer/content.min.css create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/skins/ui/oxide-dark/content.inline.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/skins/ui/oxide-dark/content.inline.min.css create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/skins/ui/oxide-dark/content.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/skins/ui/oxide-dark/content.min.css create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/skins/ui/oxide-dark/skin.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/skins/ui/oxide-dark/skin.min.css create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/skins/ui/oxide-dark/skin.shadowdom.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/skins/ui/oxide-dark/skin.shadowdom.min.css create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/skins/ui/oxide/content.inline.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/skins/ui/oxide/content.inline.min.css create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/skins/ui/oxide/content.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/skins/ui/oxide/content.min.css create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/skins/ui/oxide/skin.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/skins/ui/oxide/skin.min.css create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/skins/ui/oxide/skin.shadowdom.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/skins/ui/oxide/skin.shadowdom.min.css create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/skins/ui/tinymce-5-dark/content.inline.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/skins/ui/tinymce-5-dark/content.inline.min.css create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/skins/ui/tinymce-5-dark/content.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/skins/ui/tinymce-5-dark/content.min.css create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/skins/ui/tinymce-5-dark/skin.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/skins/ui/tinymce-5-dark/skin.min.css create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/skins/ui/tinymce-5-dark/skin.shadowdom.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/skins/ui/tinymce-5-dark/skin.shadowdom.min.css create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/skins/ui/tinymce-5/content.inline.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/skins/ui/tinymce-5/content.inline.min.css create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/skins/ui/tinymce-5/content.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/skins/ui/tinymce-5/content.min.css create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/skins/ui/tinymce-5/skin.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/skins/ui/tinymce-5/skin.min.css create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/skins/ui/tinymce-5/skin.shadowdom.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/skins/ui/tinymce-5/skin.shadowdom.min.css create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/themes/silver/theme.min.js create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/tinymce.d.ts create mode 100644 wwws/apx/src/static/lib/tinymce/js/tinymce/tinymce.min.js create mode 100644 wwws/apx/src/wallet_fr.html create mode 100644 wwws/apx/tailwind.config.js create mode 100644 wwws/apxhtml.zip create mode 100644 wwws/apxhtml/src/index_fr.html create mode 100644 wwws/apxhtml/src/index_underconstruction_en.html create mode 100644 wwws/apxhtml/src/index_underconstruction_fr.html create mode 100644 wwws/apxhtml/src/static/css/twdevstyle.css create mode 100644 wwws/apxhtml/src/static/css/twstyle.css create mode 100644 wwws/apxhtml/src/static/fonts/Questrial-Regular.ttf create mode 100644 wwws/apxhtml/src/static/fonts/Quicksand-Bold.ttf create mode 100644 wwws/apxhtml/src/static/fonts/Quicksand-Light.ttf create mode 100644 wwws/apxhtml/src/static/fonts/Quicksand-Light.woff2 create mode 100644 wwws/apxhtml/src/static/fonts/Quicksand-Medium.ttf create mode 100644 wwws/apxhtml/src/static/fonts/Quicksand-Regular.ttf create mode 100644 wwws/apxhtml/src/static/fonts/Quicksand-SemiBold.ttf create mode 100644 wwws/apxhtml/src/static/fonts/questrial-regular-webfont.woff create mode 100644 wwws/apxhtml/src/static/fonts/questrial-regular-webfont.woff2 create mode 100644 wwws/apxhtml/src/static/img/icons/iconbgdark.png create mode 100644 wwws/apxhtml/src/static/img/icons/iconbglight.png create mode 100644 wwws/apxhtml/src/static/img/logo/logobgdark.png create mode 100644 wwws/apxhtml/src/static/img/logo/logobglight.png create mode 100644 wwws/apxhtml/src/static/img/logo/logobgorange.png create mode 100644 wwws/apxhtml/src/tpldata/index/trkhoster_trackerconsentform_fr.json create mode 100644 wwws/apxhtml/tailwind.config.js create mode 100644 wwws/cdn/apxweb/bootstrap/css/bootstrap-grid.css create mode 100644 wwws/cdn/apxweb/bootstrap/css/bootstrap-grid.css.map create mode 100644 wwws/cdn/apxweb/bootstrap/css/bootstrap-grid.min.css create mode 100644 wwws/cdn/apxweb/bootstrap/css/bootstrap-grid.min.css.map create mode 100644 wwws/cdn/apxweb/bootstrap/css/bootstrap-grid.rtl.css create mode 100644 wwws/cdn/apxweb/bootstrap/css/bootstrap-grid.rtl.css.map create mode 100644 wwws/cdn/apxweb/bootstrap/css/bootstrap-grid.rtl.min.css create mode 100644 wwws/cdn/apxweb/bootstrap/css/bootstrap-grid.rtl.min.css.map create mode 100644 wwws/cdn/apxweb/bootstrap/css/bootstrap-reboot.css create mode 100644 wwws/cdn/apxweb/bootstrap/css/bootstrap-reboot.css.map create mode 100644 wwws/cdn/apxweb/bootstrap/css/bootstrap-reboot.min.css create mode 100644 wwws/cdn/apxweb/bootstrap/css/bootstrap-reboot.min.css.map create mode 100644 wwws/cdn/apxweb/bootstrap/css/bootstrap-reboot.rtl.css create mode 100644 wwws/cdn/apxweb/bootstrap/css/bootstrap-reboot.rtl.css.map create mode 100644 wwws/cdn/apxweb/bootstrap/css/bootstrap-reboot.rtl.min.css create mode 100644 wwws/cdn/apxweb/bootstrap/css/bootstrap-reboot.rtl.min.css.map create mode 100644 wwws/cdn/apxweb/bootstrap/css/bootstrap-utilities.css create mode 100644 wwws/cdn/apxweb/bootstrap/css/bootstrap-utilities.css.map create mode 100644 wwws/cdn/apxweb/bootstrap/css/bootstrap-utilities.min.css create mode 100644 wwws/cdn/apxweb/bootstrap/css/bootstrap-utilities.min.css.map create mode 100644 wwws/cdn/apxweb/bootstrap/css/bootstrap-utilities.rtl.css create mode 100644 wwws/cdn/apxweb/bootstrap/css/bootstrap-utilities.rtl.css.map create mode 100644 wwws/cdn/apxweb/bootstrap/css/bootstrap-utilities.rtl.min.css create mode 100644 wwws/cdn/apxweb/bootstrap/css/bootstrap-utilities.rtl.min.css.map create mode 100644 wwws/cdn/apxweb/bootstrap/css/bootstrap.css create mode 100644 wwws/cdn/apxweb/bootstrap/css/bootstrap.css.map create mode 100644 wwws/cdn/apxweb/bootstrap/css/bootstrap.min.css create mode 100644 wwws/cdn/apxweb/bootstrap/css/bootstrap.min.css.map create mode 100644 wwws/cdn/apxweb/bootstrap/css/bootstrap.rtl.css create mode 100644 wwws/cdn/apxweb/bootstrap/css/bootstrap.rtl.css.map create mode 100644 wwws/cdn/apxweb/bootstrap/css/bootstrap.rtl.min.css create mode 100644 wwws/cdn/apxweb/bootstrap/css/bootstrap.rtl.min.css.map create mode 100644 wwws/cdn/apxweb/bootstrap/js/bootstrap.bundle.js create mode 100644 wwws/cdn/apxweb/bootstrap/js/bootstrap.bundle.js.map create mode 100644 wwws/cdn/apxweb/bootstrap/js/bootstrap.bundle.min.js create mode 100644 wwws/cdn/apxweb/bootstrap/js/bootstrap.bundle.min.js.map create mode 100644 wwws/cdn/apxweb/bootstrap/js/bootstrap.esm.js create mode 100644 wwws/cdn/apxweb/bootstrap/js/bootstrap.esm.js.map create mode 100644 wwws/cdn/apxweb/bootstrap/js/bootstrap.esm.min.js create mode 100644 wwws/cdn/apxweb/bootstrap/js/bootstrap.esm.min.js.map create mode 100644 wwws/cdn/apxweb/bootstrap/js/bootstrap.js create mode 100644 wwws/cdn/apxweb/bootstrap/js/bootstrap.js.map create mode 100644 wwws/cdn/apxweb/bootstrap/js/bootstrap.min.js create mode 100644 wwws/cdn/apxweb/bootstrap/js/bootstrap.min.js.map create mode 100644 wwws/cdn/chartegraphique/color/Revenue Cycle Peak Colors Color Palette - color-hex.com.png create mode 100644 wwws/cdn/chartegraphique/color/colorcode.txt create mode 100644 wwws/cdn/chartegraphique/fonts/logo/OFL.txt create mode 100644 wwws/cdn/chartegraphique/fonts/logo/Quicksand-VariableFont_wght.ttf create mode 100644 wwws/cdn/chartegraphique/fonts/logo/Quicksand.zip create mode 100644 wwws/cdn/chartegraphique/fonts/logo/README.txt create mode 100644 wwws/cdn/chartegraphique/fonts/logo/static/Quicksand-Bold.ttf create mode 100644 wwws/cdn/chartegraphique/fonts/logo/static/Quicksand-Light.ttf create mode 100644 wwws/cdn/chartegraphique/fonts/logo/static/Quicksand-Medium.ttf create mode 100644 wwws/cdn/chartegraphique/fonts/logo/static/Quicksand-Regular.ttf create mode 100644 wwws/cdn/chartegraphique/fonts/logo/static/Quicksand-SemiBold.ttf create mode 100644 wwws/cdn/chartegraphique/fonts/texte/OFL.txt create mode 100644 wwws/cdn/chartegraphique/fonts/texte/Questrial-Regular.ttf create mode 100644 wwws/cdn/chartegraphique/fonts/texte/Questrial.zip create mode 100644 wwws/cdn/chartegraphique/fonts/texte/generator_config.txt create mode 100644 wwws/cdn/chartegraphique/fonts/texte/questrial-regular-demo.html create mode 100644 wwws/cdn/chartegraphique/fonts/texte/questrial-regular-webfont.woff create mode 100644 wwws/cdn/chartegraphique/fonts/texte/questrial-regular-webfont.woff2 create mode 100644 wwws/cdn/chartegraphique/fonts/texte/specimen_files/grid_12-825-55-15.css create mode 100644 wwws/cdn/chartegraphique/fonts/texte/specimen_files/specimen_stylesheet.css create mode 100644 wwws/cdn/chartegraphique/fonts/texte/stylesheet.css create mode 100644 wwws/cdn/chartegraphique/fonts/texte/webfontkit-20230503-055110.zip create mode 100644 wwws/cdn/chartegraphique/logo/favicon.png create mode 100644 wwws/cdn/chartegraphique/logo/favicondark.png create mode 100644 wwws/cdn/chartegraphique/logo/faviconlight.png create mode 100644 wwws/cdn/chartegraphique/logo/logobgdark.png create mode 100644 wwws/cdn/chartegraphique/logo/logobgdark.svg create mode 100644 wwws/cdn/chartegraphique/logo/logobglight.png create mode 100644 wwws/cdn/chartegraphique/logo/logobglight.svg create mode 100644 wwws/cdn/chartegraphique/logo/logocarredark.png create mode 100644 wwws/cdn/chartegraphique/logo/logocarrelight.png create mode 100644 wwws/cdn/chartegraphique/plancheavatarpagan.svg create mode 100644 wwws/cdn/chartegraphique/planchelogoapXtrib.svg create mode 100644 wwws/cdn/lib/axios/dist/axios.min.js create mode 100644 wwws/cdn/lib/dayjs/dayjs.min.js create mode 100644 wwws/cdn/lib/mustache/mustache.min.js create mode 100644 wwws/cdn/lib/openpgp/dist/openpgp.min.js create mode 100644 wwws/cdn/share/ASUPlib/axios.min.js create mode 100644 wwws/cdn/share/ASUPlib/axios.min.map create mode 100644 wwws/cdn/share/ASUPlib/dayjs.min.js create mode 100644 wwws/cdn/share/ASUPlib/editor.js create mode 100644 wwws/cdn/share/ASUPlib/mustache.min.js create mode 100644 wwws/cdn/share/ASUPlib/openpgp.js create mode 100644 wwws/cdn/share/ASUPlib/openpgp.min.js create mode 100644 wwws/cdn/share/ASUPlib/openpgp.min.js.map create mode 100644 wwws/cdn/share/logo/favicon.png create mode 100644 wwws/cdn/share/logo/logobgdark.png create mode 100644 wwws/cdn/share/logo/logobgdark.svg create mode 100644 wwws/cdn/share/logo/logobglight.png create mode 100644 wwws/cdn/share/logo/logobglight.svg create mode 100644 wwws/cdn/share/logo/logocarredark.png create mode 100644 wwws/cdn/share/logo/logocarrelight.png create mode 100644 wwws/cdn/trkret/1x1.png create mode 100644 wwws/cdn/trkret/empty.json create mode 100644 wwws/cdn/trkret/unique.svg create mode 100644 wwws/conf.json create mode 100644 wwws/itm/admin.json create mode 100644 wwws/itm/apxhtml.json create mode 100644 wwws/itm/recruiter.json create mode 100644 wwws/itm/smatchapp.json create mode 100644 wwws/recruiter/src/static/css/sourcetw.css create mode 100644 wwws/recruiter/src/tpldata/index/trkhoster_trackerconsentform_fr.json create mode 100644 wwws/wwws.admin.zip diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3a7cc81 --- /dev/null +++ b/.gitignore @@ -0,0 +1,14 @@ +**/.DS_Store +**/idx/ +wwws/*/dist/** +!wwws/*/src/ +!wwws/*/src/** +!wwws/itm/ +!wwws/itm/** +devices +frenchlocation +nations +pagans +persons +towns +tribes \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..f582fb3 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# apxtri Data + +Any objects that are not under app management can be modify manualy by many dev + +options/ +Liste of referentials + +wco/ +Web component + +wwws/*/src/ +Any source code to build in wwws/*/dist/ + diff --git a/options/conf.json b/options/conf.json new file mode 100644 index 0000000..4d2163c --- /dev/null +++ b/options/conf.json @@ -0,0 +1 @@ +{"name":"options","schema":"apxtri/schema/options.json","lastupdate":0,"lastupdatedata":"2025-05-18T10:14:03.610Z"} diff --git a/options/itm/country_en.json b/options/itm/country_en.json new file mode 100644 index 0000000..4aaa834 --- /dev/null +++ b/options/itm/country_en.json @@ -0,0 +1,1505 @@ +{ + "optionid":"country_en", + "title": "Country Code", + "description": "Country Code and Info", + "commment": "Alpha-2 country code (ISO 3166-2:XX)", + "lastupdatedata": "", + "lst_idx": [ + "AF", + "AX", + "AL", + "DZ", + "AS", + "AD", + "AO", + "AI", + "AQ", + "AG", + "AR", + "AM", + "AW", + "AU", + "AT", + "AZ", + "BS", + "BH", + "BD", + "BB", + "BY", + "BE", + "BZ", + "BJ", + "BM", + "BT", + "BO", + "BQ", + "BA", + "BW", + "BV", + "BR", + "IO", + "BN", + "BG", + "BF", + "BI", + "CV", + "KH", + "CM", + "CA", + "KY", + "CF", + "TD", + "CL", + "CN", + "CX", + "CC", + "CO", + "KM", + "CG", + "CD", + "CK", + "CR", + "CI", + "HR", + "CU", + "CW", + "CY", + "CZ", + "DK", + "DJ", + "DM", + "DO", + "EC", + "EG", + "SV", + "GQ", + "ER", + "EE", + "SZ", + "ET", + "FK", + "FO", + "FJ", + "FI", + "FR", + "GF", + "PF", + "TF", + "GA", + "GM", + "GE", + "DE", + "GH", + "GI", + "GR", + "GL", + "GD", + "GP", + "GU", + "GT", + "GG", + "GN", + "GW", + "GY", + "HT", + "HM", + "VA", + "HN", + "HK", + "HU", + "IS", + "IN", + "ID", + "IR", + "IQ", + "IE", + "IM", + "IL", + "IT", + "JM", + "JP", + "JE", + "JO", + "KZ", + "KE", + "KI", + "KP", + "KR", + "KW", + "KG", + "LA", + "LV", + "LB", + "LS", + "LR", + "LY", + "LI", + "LT", + "LU", + "MO", + "MG", + "MW", + "MY", + "MV", + "ML", + "MT", + "MH", + "MQ", + "MR", + "MU", + "YT", + "MX", + "FM", + "MD", + "MC", + "MN", + "ME", + "MS", + "MA", + "MZ", + "MM", + "NA", + "NR", + "NP", + "NL", + "NC", + "NZ", + "NI", + "NE", + "NG", + "NU", + "NF", + "MK", + "MP", + "NO", + "OM", + "PK", + "PW", + "PS", + "PA", + "PG", + "PY", + "PE", + "PH", + "PN", + "PL", + "PT", + "PR", + "QA", + "RE", + "RO", + "RU", + "RW", + "BL", + "SH", + "KN", + "LC", + "MF", + "PM", + "VC", + "WS", + "SM", + "ST", + "SA", + "SN", + "RS", + "SC", + "SL", + "SG", + "SX", + "SK", + "SI", + "SB", + "SO", + "ZA", + "GS", + "SS", + "ES", + "LK", + "SD", + "SR", + "SJ", + "SE", + "CH", + "SY", + "TW", + "TJ", + "TZ", + "TH", + "TL", + "TG", + "TK", + "TO", + "TT", + "TN", + "TR", + "TM", + "TC", + "TV", + "UG", + "UA", + "AE", + "GB", + "US", + "UM", + "UY", + "UZ", + "VU", + "VE", + "VN", + "VG", + "VI", + "WF", + "EH", + "YE", + "ZM", + "ZW" + ], + "itms": { + "AF": { + "title": "Afghanistan", + "region": "Asia", + "regioncode": "142" + }, + "AX": { + "title": "\u00c5land Islands", + "region": "Europe", + "regioncode": "150" + }, + "AL": { + "title": "Albania", + "region": "Europe", + "regioncode": "150" + }, + "DZ": { + "title": "Algeria", + "region": "Africa", + "regioncode": "002" + }, + "AS": { + "title": "American Samoa", + "region": "Oceania", + "regioncode": "009" + }, + "AD": { + "title": "Andorra", + "region": "Europe", + "regioncode": "150" + }, + "AO": { + "title": "Angola", + "region": "Africa", + "regioncode": "002" + }, + "AI": { + "title": "Anguilla", + "region": "Americas", + "regioncode": "019" + }, + "AQ": { + "title": "Antarctica", + "region": "", + "regioncode": "" + }, + "AG": { + "title": "Antigua and Barbuda", + "region": "Americas", + "regioncode": "019" + }, + "AR": { + "title": "Argentina", + "region": "Americas", + "regioncode": "019" + }, + "AM": { + "title": "Armenia", + "region": "Asia", + "regioncode": "142" + }, + "AW": { + "title": "Aruba", + "region": "Americas", + "regioncode": "019" + }, + "AU": { + "title": "Australia", + "region": "Oceania", + "regioncode": "009" + }, + "AT": { + "title": "Austria", + "region": "Europe", + "regioncode": "150" + }, + "AZ": { + "title": "Azerbaijan", + "region": "Asia", + "regioncode": "142" + }, + "BS": { + "title": "Bahamas", + "region": "Americas", + "regioncode": "019" + }, + "BH": { + "title": "Bahrain", + "region": "Asia", + "regioncode": "142" + }, + "BD": { + "title": "Bangladesh", + "region": "Asia", + "regioncode": "142" + }, + "BB": { + "title": "Barbados", + "region": "Americas", + "regioncode": "019" + }, + "BY": { + "title": "Belarus", + "region": "Europe", + "regioncode": "150" + }, + "BE": { + "title": "Belgium", + "region": "Europe", + "regioncode": "150" + }, + "BZ": { + "title": "Belize", + "region": "Americas", + "regioncode": "019" + }, + "BJ": { + "title": "Benin", + "region": "Africa", + "regioncode": "002" + }, + "BM": { + "title": "Bermuda", + "region": "Americas", + "regioncode": "019" + }, + "BT": { + "title": "Bhutan", + "region": "Asia", + "regioncode": "142" + }, + "BO": { + "title": "Bolivia, Plurinational State of", + "region": "Americas", + "regioncode": "019" + }, + "BQ": { + "title": "Bonaire, Sint Eustatius and Saba", + "region": "Americas", + "regioncode": "019" + }, + "BA": { + "title": "Bosnia and Herzegovina", + "region": "Europe", + "regioncode": "150" + }, + "BW": { + "title": "Botswana", + "region": "Africa", + "regioncode": "002" + }, + "BV": { + "title": "Bouvet Island", + "region": "Americas", + "regioncode": "019" + }, + "BR": { + "title": "Brazil", + "region": "Americas", + "regioncode": "019" + }, + "IO": { + "title": "British Indian Ocean Territory", + "region": "Africa", + "regioncode": "002" + }, + "BN": { + "title": "Brunei Darussalam", + "region": "Asia", + "regioncode": "142" + }, + "BG": { + "title": "Bulgaria", + "region": "Europe", + "regioncode": "150" + }, + "BF": { + "title": "Burkina Faso", + "region": "Africa", + "regioncode": "002" + }, + "BI": { + "title": "Burundi", + "region": "Africa", + "regioncode": "002" + }, + "CV": { + "title": "Cabo Verde", + "region": "Africa", + "regioncode": "002" + }, + "KH": { + "title": "Cambodia", + "region": "Asia", + "regioncode": "142" + }, + "CM": { + "title": "Cameroon", + "region": "Africa", + "regioncode": "002" + }, + "CA": { + "title": "Canada", + "region": "Americas", + "regioncode": "019" + }, + "KY": { + "title": "Cayman Islands", + "region": "Americas", + "regioncode": "019" + }, + "CF": { + "title": "Central African Republic", + "region": "Africa", + "regioncode": "002" + }, + "TD": { + "title": "Chad", + "region": "Africa", + "regioncode": "002" + }, + "CL": { + "title": "Chile", + "region": "Americas", + "regioncode": "019" + }, + "CN": { + "title": "China", + "region": "Asia", + "regioncode": "142" + }, + "CX": { + "title": "Christmas Island", + "region": "Oceania", + "regioncode": "009" + }, + "CC": { + "title": "Cocos (Keeling) Islands", + "region": "Oceania", + "regioncode": "009" + }, + "CO": { + "title": "Colombia", + "region": "Americas", + "regioncode": "019" + }, + "KM": { + "title": "Comoros", + "region": "Africa", + "regioncode": "002" + }, + "CG": { + "title": "Congo", + "region": "Africa", + "regioncode": "002" + }, + "CD": { + "title": "Congo, Democratic Republic of the", + "region": "Africa", + "regioncode": "002" + }, + "CK": { + "title": "Cook Islands", + "region": "Oceania", + "regioncode": "009" + }, + "CR": { + "title": "Costa Rica", + "region": "Americas", + "regioncode": "019" + }, + "CI": { + "title": "C\u00f4te d'Ivoire", + "region": "Africa", + "regioncode": "002" + }, + "HR": { + "title": "Croatia", + "region": "Europe", + "regioncode": "150" + }, + "CU": { + "title": "Cuba", + "region": "Americas", + "regioncode": "019" + }, + "CW": { + "title": "Cura\u00e7ao", + "region": "Americas", + "regioncode": "019" + }, + "CY": { + "title": "Cyprus", + "region": "Asia", + "regioncode": "142" + }, + "CZ": { + "title": "Czechia", + "region": "Europe", + "regioncode": "150" + }, + "DK": { + "title": "Denmark", + "region": "Europe", + "regioncode": "150" + }, + "DJ": { + "title": "Djibouti", + "region": "Africa", + "regioncode": "002" + }, + "DM": { + "title": "Dominica", + "region": "Americas", + "regioncode": "019" + }, + "DO": { + "title": "Dominican Republic", + "region": "Americas", + "regioncode": "019" + }, + "EC": { + "title": "Ecuador", + "region": "Americas", + "regioncode": "019" + }, + "EG": { + "title": "Egypt", + "region": "Africa", + "regioncode": "002" + }, + "SV": { + "title": "El Salvador", + "region": "Americas", + "regioncode": "019" + }, + "GQ": { + "title": "Equatorial Guinea", + "region": "Africa", + "regioncode": "002" + }, + "ER": { + "title": "Eritrea", + "region": "Africa", + "regioncode": "002" + }, + "EE": { + "title": "Estonia", + "region": "Europe", + "regioncode": "150" + }, + "SZ": { + "title": "Eswatini", + "region": "Africa", + "regioncode": "002" + }, + "ET": { + "title": "Ethiopia", + "region": "Africa", + "regioncode": "002" + }, + "FK": { + "title": "Falkland Islands (Malvinas)", + "region": "Americas", + "regioncode": "019" + }, + "FO": { + "title": "Faroe Islands", + "region": "Europe", + "regioncode": "150" + }, + "FJ": { + "title": "Fiji", + "region": "Oceania", + "regioncode": "009" + }, + "FI": { + "title": "Finland", + "region": "Europe", + "regioncode": "150" + }, + "FR": { + "title": "France", + "region": "Europe", + "regioncode": "150" + }, + "GF": { + "title": "French Guiana", + "region": "Americas", + "regioncode": "019" + }, + "PF": { + "title": "French Polynesia", + "region": "Oceania", + "regioncode": "009" + }, + "TF": { + "title": "French Southern Territories", + "region": "Africa", + "regioncode": "002" + }, + "GA": { + "title": "Gabon", + "region": "Africa", + "regioncode": "002" + }, + "GM": { + "title": "Gambia", + "region": "Africa", + "regioncode": "002" + }, + "GE": { + "title": "Georgia", + "region": "Asia", + "regioncode": "142" + }, + "DE": { + "title": "Germany", + "region": "Europe", + "regioncode": "150" + }, + "GH": { + "title": "Ghana", + "region": "Africa", + "regioncode": "002" + }, + "GI": { + "title": "Gibraltar", + "region": "Europe", + "regioncode": "150" + }, + "GR": { + "title": "Greece", + "region": "Europe", + "regioncode": "150" + }, + "GL": { + "title": "Greenland", + "region": "Americas", + "regioncode": "019" + }, + "GD": { + "title": "Grenada", + "region": "Americas", + "regioncode": "019" + }, + "GP": { + "title": "Guadeloupe", + "region": "Americas", + "regioncode": "019" + }, + "GU": { + "title": "Guam", + "region": "Oceania", + "regioncode": "009" + }, + "GT": { + "title": "Guatemala", + "region": "Americas", + "regioncode": "019" + }, + "GG": { + "title": "Guernsey", + "region": "Europe", + "regioncode": "150" + }, + "GN": { + "title": "Guinea", + "region": "Africa", + "regioncode": "002" + }, + "GW": { + "title": "Guinea-Bissau", + "region": "Africa", + "regioncode": "002" + }, + "GY": { + "title": "Guyana", + "region": "Americas", + "regioncode": "019" + }, + "HT": { + "title": "Haiti", + "region": "Americas", + "regioncode": "019" + }, + "HM": { + "title": "Heard Island and McDonald Islands", + "region": "Oceania", + "regioncode": "009" + }, + "VA": { + "title": "Holy See", + "region": "Europe", + "regioncode": "150" + }, + "HN": { + "title": "Honduras", + "region": "Americas", + "regioncode": "019" + }, + "HK": { + "title": "Hong Kong", + "region": "Asia", + "regioncode": "142" + }, + "HU": { + "title": "Hungary", + "region": "Europe", + "regioncode": "150" + }, + "IS": { + "title": "Iceland", + "region": "Europe", + "regioncode": "150" + }, + "IN": { + "title": "India", + "region": "Asia", + "regioncode": "142" + }, + "ID": { + "title": "Indonesia", + "region": "Asia", + "regioncode": "142" + }, + "IR": { + "title": "Iran, Islamic Republic of", + "region": "Asia", + "regioncode": "142" + }, + "IQ": { + "title": "Iraq", + "region": "Asia", + "regioncode": "142" + }, + "IE": { + "title": "Ireland", + "region": "Europe", + "regioncode": "150" + }, + "IM": { + "title": "Isle of Man", + "region": "Europe", + "regioncode": "150" + }, + "IL": { + "title": "Israel", + "region": "Asia", + "regioncode": "142" + }, + "IT": { + "title": "Italy", + "region": "Europe", + "regioncode": "150" + }, + "JM": { + "title": "Jamaica", + "region": "Americas", + "regioncode": "019" + }, + "JP": { + "title": "Japan", + "region": "Asia", + "regioncode": "142" + }, + "JE": { + "title": "Jersey", + "region": "Europe", + "regioncode": "150" + }, + "JO": { + "title": "Jordan", + "region": "Asia", + "regioncode": "142" + }, + "KZ": { + "title": "Kazakhstan", + "region": "Asia", + "regioncode": "142" + }, + "KE": { + "title": "Kenya", + "region": "Africa", + "regioncode": "002" + }, + "KI": { + "title": "Kiribati", + "region": "Oceania", + "regioncode": "009" + }, + "KP": { + "title": "Korea, Democratic People's Republic of", + "region": "Asia", + "regioncode": "142" + }, + "KR": { + "title": "Korea, Republic of", + "region": "Asia", + "regioncode": "142" + }, + "KW": { + "title": "Kuwait", + "region": "Asia", + "regioncode": "142" + }, + "KG": { + "title": "Kyrgyzstan", + "region": "Asia", + "regioncode": "142" + }, + "LA": { + "title": "Lao People's Democratic Republic", + "region": "Asia", + "regioncode": "142" + }, + "LV": { + "title": "Latvia", + "region": "Europe", + "regioncode": "150" + }, + "LB": { + "title": "Lebanon", + "region": "Asia", + "regioncode": "142" + }, + "LS": { + "title": "Lesotho", + "region": "Africa", + "regioncode": "002" + }, + "LR": { + "title": "Liberia", + "region": "Africa", + "regioncode": "002" + }, + "LY": { + "title": "Libya", + "region": "Africa", + "regioncode": "002" + }, + "LI": { + "title": "Liechtenstein", + "region": "Europe", + "regioncode": "150" + }, + "LT": { + "title": "Lithuania", + "region": "Europe", + "regioncode": "150" + }, + "LU": { + "title": "Luxembourg", + "region": "Europe", + "regioncode": "150" + }, + "MO": { + "title": "Macao", + "region": "Asia", + "regioncode": "142" + }, + "MG": { + "title": "Madagascar", + "region": "Africa", + "regioncode": "002" + }, + "MW": { + "title": "Malawi", + "region": "Africa", + "regioncode": "002" + }, + "MY": { + "title": "Malaysia", + "region": "Asia", + "regioncode": "142" + }, + "MV": { + "title": "Maldives", + "region": "Asia", + "regioncode": "142" + }, + "ML": { + "title": "Mali", + "region": "Africa", + "regioncode": "002" + }, + "MT": { + "title": "Malta", + "region": "Europe", + "regioncode": "150" + }, + "MH": { + "title": "Marshall Islands", + "region": "Oceania", + "regioncode": "009" + }, + "MQ": { + "title": "Martinique", + "region": "Americas", + "regioncode": "019" + }, + "MR": { + "title": "Mauritania", + "region": "Africa", + "regioncode": "002" + }, + "MU": { + "title": "Mauritius", + "region": "Africa", + "regioncode": "002" + }, + "YT": { + "title": "Mayotte", + "region": "Africa", + "regioncode": "002" + }, + "MX": { + "title": "Mexico", + "region": "Americas", + "regioncode": "019" + }, + "FM": { + "title": "Micronesia, Federated States of", + "region": "Oceania", + "regioncode": "009" + }, + "MD": { + "title": "Moldova, Republic of", + "region": "Europe", + "regioncode": "150" + }, + "MC": { + "title": "Monaco", + "region": "Europe", + "regioncode": "150" + }, + "MN": { + "title": "Mongolia", + "region": "Asia", + "regioncode": "142" + }, + "ME": { + "title": "Montenegro", + "region": "Europe", + "regioncode": "150" + }, + "MS": { + "title": "Montserrat", + "region": "Americas", + "regioncode": "019" + }, + "MA": { + "title": "Morocco", + "region": "Africa", + "regioncode": "002" + }, + "MZ": { + "title": "Mozambique", + "region": "Africa", + "regioncode": "002" + }, + "MM": { + "title": "Myanmar", + "region": "Asia", + "regioncode": "142" + }, + "NA": { + "title": "Namibia", + "region": "Africa", + "regioncode": "002" + }, + "NR": { + "title": "Nauru", + "region": "Oceania", + "regioncode": "009" + }, + "NP": { + "title": "Nepal", + "region": "Asia", + "regioncode": "142" + }, + "NL": { + "title": "Netherlands, Kingdom of the", + "region": "Europe", + "regioncode": "150" + }, + "NC": { + "title": "New Caledonia", + "region": "Oceania", + "regioncode": "009" + }, + "NZ": { + "title": "New Zealand", + "region": "Oceania", + "regioncode": "009" + }, + "NI": { + "title": "Nicaragua", + "region": "Americas", + "regioncode": "019" + }, + "NE": { + "title": "Niger", + "region": "Africa", + "regioncode": "002" + }, + "NG": { + "title": "Nigeria", + "region": "Africa", + "regioncode": "002" + }, + "NU": { + "title": "Niue", + "region": "Oceania", + "regioncode": "009" + }, + "NF": { + "title": "Norfolk Island", + "region": "Oceania", + "regioncode": "009" + }, + "MK": { + "title": "North Macedonia", + "region": "Europe", + "regioncode": "150" + }, + "MP": { + "title": "Northern Mariana Islands", + "region": "Oceania", + "regioncode": "009" + }, + "NO": { + "title": "Norway", + "region": "Europe", + "regioncode": "150" + }, + "OM": { + "title": "Oman", + "region": "Asia", + "regioncode": "142" + }, + "PK": { + "title": "Pakistan", + "region": "Asia", + "regioncode": "142" + }, + "PW": { + "title": "Palau", + "region": "Oceania", + "regioncode": "009" + }, + "PS": { + "title": "Palestine, State of", + "region": "Asia", + "regioncode": "142" + }, + "PA": { + "title": "Panama", + "region": "Americas", + "regioncode": "019" + }, + "PG": { + "title": "Papua New Guinea", + "region": "Oceania", + "regioncode": "009" + }, + "PY": { + "title": "Paraguay", + "region": "Americas", + "regioncode": "019" + }, + "PE": { + "title": "Peru", + "region": "Americas", + "regioncode": "019" + }, + "PH": { + "title": "Philippines", + "region": "Asia", + "regioncode": "142" + }, + "PN": { + "title": "Pitcairn", + "region": "Oceania", + "regioncode": "009" + }, + "PL": { + "title": "Poland", + "region": "Europe", + "regioncode": "150" + }, + "PT": { + "title": "Portugal", + "region": "Europe", + "regioncode": "150" + }, + "PR": { + "title": "Puerto Rico", + "region": "Americas", + "regioncode": "019" + }, + "QA": { + "title": "Qatar", + "region": "Asia", + "regioncode": "142" + }, + "RE": { + "title": "R\u00e9union", + "region": "Africa", + "regioncode": "002" + }, + "RO": { + "title": "Romania", + "region": "Europe", + "regioncode": "150" + }, + "RU": { + "title": "Russian Federation", + "region": "Europe", + "regioncode": "150" + }, + "RW": { + "title": "Rwanda", + "region": "Africa", + "regioncode": "002" + }, + "BL": { + "title": "Saint Barth\u00e9lemy", + "region": "Americas", + "regioncode": "019" + }, + "SH": { + "title": "Saint Helena, Ascension and Tristan da Cunha", + "region": "Africa", + "regioncode": "002" + }, + "KN": { + "title": "Saint Kitts and Nevis", + "region": "Americas", + "regioncode": "019" + }, + "LC": { + "title": "Saint Lucia", + "region": "Americas", + "regioncode": "019" + }, + "MF": { + "title": "Saint Martin (French part)", + "region": "Americas", + "regioncode": "019" + }, + "PM": { + "title": "Saint Pierre and Miquelon", + "region": "Americas", + "regioncode": "019" + }, + "VC": { + "title": "Saint Vincent and the Grenadines", + "region": "Americas", + "regioncode": "019" + }, + "WS": { + "title": "Samoa", + "region": "Oceania", + "regioncode": "009" + }, + "SM": { + "title": "San Marino", + "region": "Europe", + "regioncode": "150" + }, + "ST": { + "title": "Sao Tome and Principe", + "region": "Africa", + "regioncode": "002" + }, + "SA": { + "title": "Saudi Arabia", + "region": "Asia", + "regioncode": "142" + }, + "SN": { + "title": "Senegal", + "region": "Africa", + "regioncode": "002" + }, + "RS": { + "title": "Serbia", + "region": "Europe", + "regioncode": "150" + }, + "SC": { + "title": "Seychelles", + "region": "Africa", + "regioncode": "002" + }, + "SL": { + "title": "Sierra Leone", + "region": "Africa", + "regioncode": "002" + }, + "SG": { + "title": "Singapore", + "region": "Asia", + "regioncode": "142" + }, + "SX": { + "title": "Sint Maarten (Dutch part)", + "region": "Americas", + "regioncode": "019" + }, + "SK": { + "title": "Slovakia", + "region": "Europe", + "regioncode": "150" + }, + "SI": { + "title": "Slovenia", + "region": "Europe", + "regioncode": "150" + }, + "SB": { + "title": "Solomon Islands", + "region": "Oceania", + "regioncode": "009" + }, + "SO": { + "title": "Somalia", + "region": "Africa", + "regioncode": "002" + }, + "ZA": { + "title": "South Africa", + "region": "Africa", + "regioncode": "002" + }, + "GS": { + "title": "South Georgia and the South Sandwich Islands", + "region": "Americas", + "regioncode": "019" + }, + "SS": { + "title": "South Sudan", + "region": "Africa", + "regioncode": "002" + }, + "ES": { + "title": "Spain", + "region": "Europe", + "regioncode": "150" + }, + "LK": { + "title": "Sri Lanka", + "region": "Asia", + "regioncode": "142" + }, + "SD": { + "title": "Sudan", + "region": "Africa", + "regioncode": "002" + }, + "SR": { + "title": "Suriname", + "region": "Americas", + "regioncode": "019" + }, + "SJ": { + "title": "Svalbard and Jan Mayen", + "region": "Europe", + "regioncode": "150" + }, + "SE": { + "title": "Sweden", + "region": "Europe", + "regioncode": "150" + }, + "CH": { + "title": "Switzerland", + "region": "Europe", + "regioncode": "150" + }, + "SY": { + "title": "Syrian Arab Republic", + "region": "Asia", + "regioncode": "142" + }, + "TW": { + "title": "Taiwan, Province of China", + "region": "Asia", + "regioncode": "" + }, + "TJ": { + "title": "Tajikistan", + "region": "Asia", + "regioncode": "142" + }, + "TZ": { + "title": "Tanzania, United Republic of", + "region": "Africa", + "regioncode": "002" + }, + "TH": { + "title": "Thailand", + "region": "Asia", + "regioncode": "142" + }, + "TL": { + "title": "Timor-Leste", + "region": "Asia", + "regioncode": "142" + }, + "TG": { + "title": "Togo", + "region": "Africa", + "regioncode": "002" + }, + "TK": { + "title": "Tokelau", + "region": "Oceania", + "regioncode": "009" + }, + "TO": { + "title": "Tonga", + "region": "Oceania", + "regioncode": "009" + }, + "TT": { + "title": "Trinidad and Tobago", + "region": "Americas", + "regioncode": "019" + }, + "TN": { + "title": "Tunisia", + "region": "Africa", + "regioncode": "002" + }, + "TR": { + "title": "T\u00fcrkiye", + "region": "Asia", + "regioncode": "142" + }, + "TM": { + "title": "Turkmenistan", + "region": "Asia", + "regioncode": "142" + }, + "TC": { + "title": "Turks and Caicos Islands", + "region": "Americas", + "regioncode": "019" + }, + "TV": { + "title": "Tuvalu", + "region": "Oceania", + "regioncode": "009" + }, + "UG": { + "title": "Uganda", + "region": "Africa", + "regioncode": "002" + }, + "UA": { + "title": "Ukraine", + "region": "Europe", + "regioncode": "150" + }, + "AE": { + "title": "United Arab Emirates", + "region": "Asia", + "regioncode": "142" + }, + "GB": { + "title": "United Kingdom of Great Britain and Northern Ireland", + "region": "Europe", + "regioncode": "150" + }, + "US": { + "title": "United States of America", + "region": "Americas", + "regioncode": "019" + }, + "UM": { + "title": "United States Minor Outlying Islands", + "region": "Oceania", + "regioncode": "009" + }, + "UY": { + "title": "Uruguay", + "region": "Americas", + "regioncode": "019" + }, + "UZ": { + "title": "Uzbekistan", + "region": "Asia", + "regioncode": "142" + }, + "VU": { + "title": "Vanuatu", + "region": "Oceania", + "regioncode": "009" + }, + "VE": { + "title": "Venezuela, Bolivarian Republic of", + "region": "Americas", + "regioncode": "019" + }, + "VN": { + "title": "Viet Nam", + "region": "Asia", + "regioncode": "142" + }, + "VG": { + "title": "Virgin Islands (British)", + "region": "Americas", + "regioncode": "019" + }, + "VI": { + "title": "Virgin Islands (U.S.)", + "region": "Americas", + "regioncode": "019" + }, + "WF": { + "title": "Wallis and Futuna", + "region": "Oceania", + "regioncode": "009" + }, + "EH": { + "title": "Western Sahara", + "region": "Africa", + "regioncode": "002" + }, + "YE": { + "title": "Yemen", + "region": "Asia", + "regioncode": "142" + }, + "ZM": { + "title": "Zambia", + "region": "Africa", + "regioncode": "002" + }, + "ZW": { + "title": "Zimbabwe", + "region": "Africa", + "regioncode": "002" + } + } +} \ No newline at end of file diff --git a/options/itm/country_fr.json b/options/itm/country_fr.json new file mode 100644 index 0000000..673bb43 --- /dev/null +++ b/options/itm/country_fr.json @@ -0,0 +1,1505 @@ +{ + "optionid":"country_fr", + "title": "Country Code", + "description": "Country Code and Info", + "commment": "Alpha-2 country code (ISO 3166-2:XX)", + "lastupdatedata": "", + "lst_idx": [ + "AF", + "AX", + "AL", + "DZ", + "AS", + "AD", + "AO", + "AI", + "AQ", + "AG", + "AR", + "AM", + "AW", + "AU", + "AT", + "AZ", + "BS", + "BH", + "BD", + "BB", + "BY", + "BE", + "BZ", + "BJ", + "BM", + "BT", + "BO", + "BQ", + "BA", + "BW", + "BV", + "BR", + "IO", + "BN", + "BG", + "BF", + "BI", + "CV", + "KH", + "CM", + "CA", + "KY", + "CF", + "TD", + "CL", + "CN", + "CX", + "CC", + "CO", + "KM", + "CG", + "CD", + "CK", + "CR", + "CI", + "HR", + "CU", + "CW", + "CY", + "CZ", + "DK", + "DJ", + "DM", + "DO", + "EC", + "EG", + "SV", + "GQ", + "ER", + "EE", + "SZ", + "ET", + "FK", + "FO", + "FJ", + "FI", + "FR", + "GF", + "PF", + "TF", + "GA", + "GM", + "GE", + "DE", + "GH", + "GI", + "GR", + "GL", + "GD", + "GP", + "GU", + "GT", + "GG", + "GN", + "GW", + "GY", + "HT", + "HM", + "VA", + "HN", + "HK", + "HU", + "IS", + "IN", + "ID", + "IR", + "IQ", + "IE", + "IM", + "IL", + "IT", + "JM", + "JP", + "JE", + "JO", + "KZ", + "KE", + "KI", + "KP", + "KR", + "KW", + "KG", + "LA", + "LV", + "LB", + "LS", + "LR", + "LY", + "LI", + "LT", + "LU", + "MO", + "MG", + "MW", + "MY", + "MV", + "ML", + "MT", + "MH", + "MQ", + "MR", + "MU", + "YT", + "MX", + "FM", + "MD", + "MC", + "MN", + "ME", + "MS", + "MA", + "MZ", + "MM", + "NA", + "NR", + "NP", + "NL", + "NC", + "NZ", + "NI", + "NE", + "NG", + "NU", + "NF", + "MK", + "MP", + "NO", + "OM", + "PK", + "PW", + "PS", + "PA", + "PG", + "PY", + "PE", + "PH", + "PN", + "PL", + "PT", + "PR", + "QA", + "RE", + "RO", + "RU", + "RW", + "BL", + "SH", + "KN", + "LC", + "MF", + "PM", + "VC", + "WS", + "SM", + "ST", + "SA", + "SN", + "RS", + "SC", + "SL", + "SG", + "SX", + "SK", + "SI", + "SB", + "SO", + "ZA", + "GS", + "SS", + "ES", + "LK", + "SD", + "SR", + "SJ", + "SE", + "CH", + "SY", + "TW", + "TJ", + "TZ", + "TH", + "TL", + "TG", + "TK", + "TO", + "TT", + "TN", + "TR", + "TM", + "TC", + "TV", + "UG", + "UA", + "AE", + "GB", + "US", + "UM", + "UY", + "UZ", + "VU", + "VE", + "VN", + "VG", + "VI", + "WF", + "EH", + "YE", + "ZM", + "ZW" + ], + "itms": { + "AF": { + "title": "Afghanistan", + "region": "Asia", + "regioncode": "142" + }, + "AX": { + "title": "\u00c5land Islands", + "region": "Europe", + "regioncode": "150" + }, + "AL": { + "title": "Albania", + "region": "Europe", + "regioncode": "150" + }, + "DZ": { + "title": "Algeria", + "region": "Africa", + "regioncode": "002" + }, + "AS": { + "title": "American Samoa", + "region": "Oceania", + "regioncode": "009" + }, + "AD": { + "title": "Andorra", + "region": "Europe", + "regioncode": "150" + }, + "AO": { + "title": "Angola", + "region": "Africa", + "regioncode": "002" + }, + "AI": { + "title": "Anguilla", + "region": "Americas", + "regioncode": "019" + }, + "AQ": { + "title": "Antarctica", + "region": "", + "regioncode": "" + }, + "AG": { + "title": "Antigua and Barbuda", + "region": "Americas", + "regioncode": "019" + }, + "AR": { + "title": "Argentina", + "region": "Americas", + "regioncode": "019" + }, + "AM": { + "title": "Armenia", + "region": "Asia", + "regioncode": "142" + }, + "AW": { + "title": "Aruba", + "region": "Americas", + "regioncode": "019" + }, + "AU": { + "title": "Australia", + "region": "Oceania", + "regioncode": "009" + }, + "AT": { + "title": "Austria", + "region": "Europe", + "regioncode": "150" + }, + "AZ": { + "title": "Azerbaijan", + "region": "Asia", + "regioncode": "142" + }, + "BS": { + "title": "Bahamas", + "region": "Americas", + "regioncode": "019" + }, + "BH": { + "title": "Bahrain", + "region": "Asia", + "regioncode": "142" + }, + "BD": { + "title": "Bangladesh", + "region": "Asia", + "regioncode": "142" + }, + "BB": { + "title": "Barbados", + "region": "Americas", + "regioncode": "019" + }, + "BY": { + "title": "Belarus", + "region": "Europe", + "regioncode": "150" + }, + "BE": { + "title": "Belgium", + "region": "Europe", + "regioncode": "150" + }, + "BZ": { + "title": "Belize", + "region": "Americas", + "regioncode": "019" + }, + "BJ": { + "title": "Benin", + "region": "Africa", + "regioncode": "002" + }, + "BM": { + "title": "Bermuda", + "region": "Americas", + "regioncode": "019" + }, + "BT": { + "title": "Bhutan", + "region": "Asia", + "regioncode": "142" + }, + "BO": { + "title": "Bolivia, Plurinational State of", + "region": "Americas", + "regioncode": "019" + }, + "BQ": { + "title": "Bonaire, Sint Eustatius and Saba", + "region": "Americas", + "regioncode": "019" + }, + "BA": { + "title": "Bosnia and Herzegovina", + "region": "Europe", + "regioncode": "150" + }, + "BW": { + "title": "Botswana", + "region": "Africa", + "regioncode": "002" + }, + "BV": { + "title": "Bouvet Island", + "region": "Americas", + "regioncode": "019" + }, + "BR": { + "title": "Brazil", + "region": "Americas", + "regioncode": "019" + }, + "IO": { + "title": "British Indian Ocean Territory", + "region": "Africa", + "regioncode": "002" + }, + "BN": { + "title": "Brunei Darussalam", + "region": "Asia", + "regioncode": "142" + }, + "BG": { + "title": "Bulgaria", + "region": "Europe", + "regioncode": "150" + }, + "BF": { + "title": "Burkina Faso", + "region": "Africa", + "regioncode": "002" + }, + "BI": { + "title": "Burundi", + "region": "Africa", + "regioncode": "002" + }, + "CV": { + "title": "Cabo Verde", + "region": "Africa", + "regioncode": "002" + }, + "KH": { + "title": "Cambodia", + "region": "Asia", + "regioncode": "142" + }, + "CM": { + "title": "Cameroon", + "region": "Africa", + "regioncode": "002" + }, + "CA": { + "title": "Canada", + "region": "Americas", + "regioncode": "019" + }, + "KY": { + "title": "Cayman Islands", + "region": "Americas", + "regioncode": "019" + }, + "CF": { + "title": "Central African Republic", + "region": "Africa", + "regioncode": "002" + }, + "TD": { + "title": "Chad", + "region": "Africa", + "regioncode": "002" + }, + "CL": { + "title": "Chile", + "region": "Americas", + "regioncode": "019" + }, + "CN": { + "title": "China", + "region": "Asia", + "regioncode": "142" + }, + "CX": { + "title": "Christmas Island", + "region": "Oceania", + "regioncode": "009" + }, + "CC": { + "title": "Cocos (Keeling) Islands", + "region": "Oceania", + "regioncode": "009" + }, + "CO": { + "title": "Colombia", + "region": "Americas", + "regioncode": "019" + }, + "KM": { + "title": "Comoros", + "region": "Africa", + "regioncode": "002" + }, + "CG": { + "title": "Congo", + "region": "Africa", + "regioncode": "002" + }, + "CD": { + "title": "Congo, Democratic Republic of the", + "region": "Africa", + "regioncode": "002" + }, + "CK": { + "title": "Cook Islands", + "region": "Oceania", + "regioncode": "009" + }, + "CR": { + "title": "Costa Rica", + "region": "Americas", + "regioncode": "019" + }, + "CI": { + "title": "C\u00f4te d'Ivoire", + "region": "Africa", + "regioncode": "002" + }, + "HR": { + "title": "Croatia", + "region": "Europe", + "regioncode": "150" + }, + "CU": { + "title": "Cuba", + "region": "Americas", + "regioncode": "019" + }, + "CW": { + "title": "Cura\u00e7ao", + "region": "Americas", + "regioncode": "019" + }, + "CY": { + "title": "Cyprus", + "region": "Asia", + "regioncode": "142" + }, + "CZ": { + "title": "Czechia", + "region": "Europe", + "regioncode": "150" + }, + "DK": { + "title": "Denmark", + "region": "Europe", + "regioncode": "150" + }, + "DJ": { + "title": "Djibouti", + "region": "Africa", + "regioncode": "002" + }, + "DM": { + "title": "Dominica", + "region": "Americas", + "regioncode": "019" + }, + "DO": { + "title": "Dominican Republic", + "region": "Americas", + "regioncode": "019" + }, + "EC": { + "title": "Ecuador", + "region": "Americas", + "regioncode": "019" + }, + "EG": { + "title": "Egypt", + "region": "Africa", + "regioncode": "002" + }, + "SV": { + "title": "El Salvador", + "region": "Americas", + "regioncode": "019" + }, + "GQ": { + "title": "Equatorial Guinea", + "region": "Africa", + "regioncode": "002" + }, + "ER": { + "title": "Eritrea", + "region": "Africa", + "regioncode": "002" + }, + "EE": { + "title": "Estonia", + "region": "Europe", + "regioncode": "150" + }, + "SZ": { + "title": "Eswatini", + "region": "Africa", + "regioncode": "002" + }, + "ET": { + "title": "Ethiopia", + "region": "Africa", + "regioncode": "002" + }, + "FK": { + "title": "Falkland Islands (Malvinas)", + "region": "Americas", + "regioncode": "019" + }, + "FO": { + "title": "Faroe Islands", + "region": "Europe", + "regioncode": "150" + }, + "FJ": { + "title": "Fiji", + "region": "Oceania", + "regioncode": "009" + }, + "FI": { + "title": "Finland", + "region": "Europe", + "regioncode": "150" + }, + "FR": { + "title": "France", + "region": "Europe", + "regioncode": "150" + }, + "GF": { + "title": "French Guiana", + "region": "Americas", + "regioncode": "019" + }, + "PF": { + "title": "French Polynesia", + "region": "Oceania", + "regioncode": "009" + }, + "TF": { + "title": "French Southern Territories", + "region": "Africa", + "regioncode": "002" + }, + "GA": { + "title": "Gabon", + "region": "Africa", + "regioncode": "002" + }, + "GM": { + "title": "Gambia", + "region": "Africa", + "regioncode": "002" + }, + "GE": { + "title": "Georgia", + "region": "Asia", + "regioncode": "142" + }, + "DE": { + "title": "Germany", + "region": "Europe", + "regioncode": "150" + }, + "GH": { + "title": "Ghana", + "region": "Africa", + "regioncode": "002" + }, + "GI": { + "title": "Gibraltar", + "region": "Europe", + "regioncode": "150" + }, + "GR": { + "title": "Greece", + "region": "Europe", + "regioncode": "150" + }, + "GL": { + "title": "Greenland", + "region": "Americas", + "regioncode": "019" + }, + "GD": { + "title": "Grenada", + "region": "Americas", + "regioncode": "019" + }, + "GP": { + "title": "Guadeloupe", + "region": "Americas", + "regioncode": "019" + }, + "GU": { + "title": "Guam", + "region": "Oceania", + "regioncode": "009" + }, + "GT": { + "title": "Guatemala", + "region": "Americas", + "regioncode": "019" + }, + "GG": { + "title": "Guernsey", + "region": "Europe", + "regioncode": "150" + }, + "GN": { + "title": "Guinea", + "region": "Africa", + "regioncode": "002" + }, + "GW": { + "title": "Guinea-Bissau", + "region": "Africa", + "regioncode": "002" + }, + "GY": { + "title": "Guyana", + "region": "Americas", + "regioncode": "019" + }, + "HT": { + "title": "Haiti", + "region": "Americas", + "regioncode": "019" + }, + "HM": { + "title": "Heard Island and McDonald Islands", + "region": "Oceania", + "regioncode": "009" + }, + "VA": { + "title": "Holy See", + "region": "Europe", + "regioncode": "150" + }, + "HN": { + "title": "Honduras", + "region": "Americas", + "regioncode": "019" + }, + "HK": { + "title": "Hong Kong", + "region": "Asia", + "regioncode": "142" + }, + "HU": { + "title": "Hungary", + "region": "Europe", + "regioncode": "150" + }, + "IS": { + "title": "Iceland", + "region": "Europe", + "regioncode": "150" + }, + "IN": { + "title": "India", + "region": "Asia", + "regioncode": "142" + }, + "ID": { + "title": "Indonesia", + "region": "Asia", + "regioncode": "142" + }, + "IR": { + "title": "Iran, Islamic Republic of", + "region": "Asia", + "regioncode": "142" + }, + "IQ": { + "title": "Iraq", + "region": "Asia", + "regioncode": "142" + }, + "IE": { + "title": "Ireland", + "region": "Europe", + "regioncode": "150" + }, + "IM": { + "title": "Isle of Man", + "region": "Europe", + "regioncode": "150" + }, + "IL": { + "title": "Israel", + "region": "Asia", + "regioncode": "142" + }, + "IT": { + "title": "Italy", + "region": "Europe", + "regioncode": "150" + }, + "JM": { + "title": "Jamaica", + "region": "Americas", + "regioncode": "019" + }, + "JP": { + "title": "Japan", + "region": "Asia", + "regioncode": "142" + }, + "JE": { + "title": "Jersey", + "region": "Europe", + "regioncode": "150" + }, + "JO": { + "title": "Jordan", + "region": "Asia", + "regioncode": "142" + }, + "KZ": { + "title": "Kazakhstan", + "region": "Asia", + "regioncode": "142" + }, + "KE": { + "title": "Kenya", + "region": "Africa", + "regioncode": "002" + }, + "KI": { + "title": "Kiribati", + "region": "Oceania", + "regioncode": "009" + }, + "KP": { + "title": "Korea, Democratic People's Republic of", + "region": "Asia", + "regioncode": "142" + }, + "KR": { + "title": "Korea, Republic of", + "region": "Asia", + "regioncode": "142" + }, + "KW": { + "title": "Kuwait", + "region": "Asia", + "regioncode": "142" + }, + "KG": { + "title": "Kyrgyzstan", + "region": "Asia", + "regioncode": "142" + }, + "LA": { + "title": "Lao People's Democratic Republic", + "region": "Asia", + "regioncode": "142" + }, + "LV": { + "title": "Latvia", + "region": "Europe", + "regioncode": "150" + }, + "LB": { + "title": "Lebanon", + "region": "Asia", + "regioncode": "142" + }, + "LS": { + "title": "Lesotho", + "region": "Africa", + "regioncode": "002" + }, + "LR": { + "title": "Liberia", + "region": "Africa", + "regioncode": "002" + }, + "LY": { + "title": "Libya", + "region": "Africa", + "regioncode": "002" + }, + "LI": { + "title": "Liechtenstein", + "region": "Europe", + "regioncode": "150" + }, + "LT": { + "title": "Lithuania", + "region": "Europe", + "regioncode": "150" + }, + "LU": { + "title": "Luxembourg", + "region": "Europe", + "regioncode": "150" + }, + "MO": { + "title": "Macao", + "region": "Asia", + "regioncode": "142" + }, + "MG": { + "title": "Madagascar", + "region": "Africa", + "regioncode": "002" + }, + "MW": { + "title": "Malawi", + "region": "Africa", + "regioncode": "002" + }, + "MY": { + "title": "Malaysia", + "region": "Asia", + "regioncode": "142" + }, + "MV": { + "title": "Maldives", + "region": "Asia", + "regioncode": "142" + }, + "ML": { + "title": "Mali", + "region": "Africa", + "regioncode": "002" + }, + "MT": { + "title": "Malta", + "region": "Europe", + "regioncode": "150" + }, + "MH": { + "title": "Marshall Islands", + "region": "Oceania", + "regioncode": "009" + }, + "MQ": { + "title": "Martinique", + "region": "Americas", + "regioncode": "019" + }, + "MR": { + "title": "Mauritania", + "region": "Africa", + "regioncode": "002" + }, + "MU": { + "title": "Mauritius", + "region": "Africa", + "regioncode": "002" + }, + "YT": { + "title": "Mayotte", + "region": "Africa", + "regioncode": "002" + }, + "MX": { + "title": "Mexico", + "region": "Americas", + "regioncode": "019" + }, + "FM": { + "title": "Micronesia, Federated States of", + "region": "Oceania", + "regioncode": "009" + }, + "MD": { + "title": "Moldova, Republic of", + "region": "Europe", + "regioncode": "150" + }, + "MC": { + "title": "Monaco", + "region": "Europe", + "regioncode": "150" + }, + "MN": { + "title": "Mongolia", + "region": "Asia", + "regioncode": "142" + }, + "ME": { + "title": "Montenegro", + "region": "Europe", + "regioncode": "150" + }, + "MS": { + "title": "Montserrat", + "region": "Americas", + "regioncode": "019" + }, + "MA": { + "title": "Morocco", + "region": "Africa", + "regioncode": "002" + }, + "MZ": { + "title": "Mozambique", + "region": "Africa", + "regioncode": "002" + }, + "MM": { + "title": "Myanmar", + "region": "Asia", + "regioncode": "142" + }, + "NA": { + "title": "Namibia", + "region": "Africa", + "regioncode": "002" + }, + "NR": { + "title": "Nauru", + "region": "Oceania", + "regioncode": "009" + }, + "NP": { + "title": "Nepal", + "region": "Asia", + "regioncode": "142" + }, + "NL": { + "title": "Netherlands, Kingdom of the", + "region": "Europe", + "regioncode": "150" + }, + "NC": { + "title": "New Caledonia", + "region": "Oceania", + "regioncode": "009" + }, + "NZ": { + "title": "New Zealand", + "region": "Oceania", + "regioncode": "009" + }, + "NI": { + "title": "Nicaragua", + "region": "Americas", + "regioncode": "019" + }, + "NE": { + "title": "Niger", + "region": "Africa", + "regioncode": "002" + }, + "NG": { + "title": "Nigeria", + "region": "Africa", + "regioncode": "002" + }, + "NU": { + "title": "Niue", + "region": "Oceania", + "regioncode": "009" + }, + "NF": { + "title": "Norfolk Island", + "region": "Oceania", + "regioncode": "009" + }, + "MK": { + "title": "North Macedonia", + "region": "Europe", + "regioncode": "150" + }, + "MP": { + "title": "Northern Mariana Islands", + "region": "Oceania", + "regioncode": "009" + }, + "NO": { + "title": "Norway", + "region": "Europe", + "regioncode": "150" + }, + "OM": { + "title": "Oman", + "region": "Asia", + "regioncode": "142" + }, + "PK": { + "title": "Pakistan", + "region": "Asia", + "regioncode": "142" + }, + "PW": { + "title": "Palau", + "region": "Oceania", + "regioncode": "009" + }, + "PS": { + "title": "Palestine, State of", + "region": "Asia", + "regioncode": "142" + }, + "PA": { + "title": "Panama", + "region": "Americas", + "regioncode": "019" + }, + "PG": { + "title": "Papua New Guinea", + "region": "Oceania", + "regioncode": "009" + }, + "PY": { + "title": "Paraguay", + "region": "Americas", + "regioncode": "019" + }, + "PE": { + "title": "Peru", + "region": "Americas", + "regioncode": "019" + }, + "PH": { + "title": "Philippines", + "region": "Asia", + "regioncode": "142" + }, + "PN": { + "title": "Pitcairn", + "region": "Oceania", + "regioncode": "009" + }, + "PL": { + "title": "Poland", + "region": "Europe", + "regioncode": "150" + }, + "PT": { + "title": "Portugal", + "region": "Europe", + "regioncode": "150" + }, + "PR": { + "title": "Puerto Rico", + "region": "Americas", + "regioncode": "019" + }, + "QA": { + "title": "Qatar", + "region": "Asia", + "regioncode": "142" + }, + "RE": { + "title": "R\u00e9union", + "region": "Africa", + "regioncode": "002" + }, + "RO": { + "title": "Romania", + "region": "Europe", + "regioncode": "150" + }, + "RU": { + "title": "Russian Federation", + "region": "Europe", + "regioncode": "150" + }, + "RW": { + "title": "Rwanda", + "region": "Africa", + "regioncode": "002" + }, + "BL": { + "title": "Saint Barth\u00e9lemy", + "region": "Americas", + "regioncode": "019" + }, + "SH": { + "title": "Saint Helena, Ascension and Tristan da Cunha", + "region": "Africa", + "regioncode": "002" + }, + "KN": { + "title": "Saint Kitts and Nevis", + "region": "Americas", + "regioncode": "019" + }, + "LC": { + "title": "Saint Lucia", + "region": "Americas", + "regioncode": "019" + }, + "MF": { + "title": "Saint Martin (French part)", + "region": "Americas", + "regioncode": "019" + }, + "PM": { + "title": "Saint Pierre and Miquelon", + "region": "Americas", + "regioncode": "019" + }, + "VC": { + "title": "Saint Vincent and the Grenadines", + "region": "Americas", + "regioncode": "019" + }, + "WS": { + "title": "Samoa", + "region": "Oceania", + "regioncode": "009" + }, + "SM": { + "title": "San Marino", + "region": "Europe", + "regioncode": "150" + }, + "ST": { + "title": "Sao Tome and Principe", + "region": "Africa", + "regioncode": "002" + }, + "SA": { + "title": "Saudi Arabia", + "region": "Asia", + "regioncode": "142" + }, + "SN": { + "title": "Senegal", + "region": "Africa", + "regioncode": "002" + }, + "RS": { + "title": "Serbia", + "region": "Europe", + "regioncode": "150" + }, + "SC": { + "title": "Seychelles", + "region": "Africa", + "regioncode": "002" + }, + "SL": { + "title": "Sierra Leone", + "region": "Africa", + "regioncode": "002" + }, + "SG": { + "title": "Singapore", + "region": "Asia", + "regioncode": "142" + }, + "SX": { + "title": "Sint Maarten (Dutch part)", + "region": "Americas", + "regioncode": "019" + }, + "SK": { + "title": "Slovakia", + "region": "Europe", + "regioncode": "150" + }, + "SI": { + "title": "Slovenia", + "region": "Europe", + "regioncode": "150" + }, + "SB": { + "title": "Solomon Islands", + "region": "Oceania", + "regioncode": "009" + }, + "SO": { + "title": "Somalia", + "region": "Africa", + "regioncode": "002" + }, + "ZA": { + "title": "South Africa", + "region": "Africa", + "regioncode": "002" + }, + "GS": { + "title": "South Georgia and the South Sandwich Islands", + "region": "Americas", + "regioncode": "019" + }, + "SS": { + "title": "South Sudan", + "region": "Africa", + "regioncode": "002" + }, + "ES": { + "title": "Spain", + "region": "Europe", + "regioncode": "150" + }, + "LK": { + "title": "Sri Lanka", + "region": "Asia", + "regioncode": "142" + }, + "SD": { + "title": "Sudan", + "region": "Africa", + "regioncode": "002" + }, + "SR": { + "title": "Suriname", + "region": "Americas", + "regioncode": "019" + }, + "SJ": { + "title": "Svalbard and Jan Mayen", + "region": "Europe", + "regioncode": "150" + }, + "SE": { + "title": "Sweden", + "region": "Europe", + "regioncode": "150" + }, + "CH": { + "title": "Switzerland", + "region": "Europe", + "regioncode": "150" + }, + "SY": { + "title": "Syrian Arab Republic", + "region": "Asia", + "regioncode": "142" + }, + "TW": { + "title": "Taiwan, Province of China", + "region": "Asia", + "regioncode": "" + }, + "TJ": { + "title": "Tajikistan", + "region": "Asia", + "regioncode": "142" + }, + "TZ": { + "title": "Tanzania, United Republic of", + "region": "Africa", + "regioncode": "002" + }, + "TH": { + "title": "Thailand", + "region": "Asia", + "regioncode": "142" + }, + "TL": { + "title": "Timor-Leste", + "region": "Asia", + "regioncode": "142" + }, + "TG": { + "title": "Togo", + "region": "Africa", + "regioncode": "002" + }, + "TK": { + "title": "Tokelau", + "region": "Oceania", + "regioncode": "009" + }, + "TO": { + "title": "Tonga", + "region": "Oceania", + "regioncode": "009" + }, + "TT": { + "title": "Trinidad and Tobago", + "region": "Americas", + "regioncode": "019" + }, + "TN": { + "title": "Tunisia", + "region": "Africa", + "regioncode": "002" + }, + "TR": { + "title": "T\u00fcrkiye", + "region": "Asia", + "regioncode": "142" + }, + "TM": { + "title": "Turkmenistan", + "region": "Asia", + "regioncode": "142" + }, + "TC": { + "title": "Turks and Caicos Islands", + "region": "Americas", + "regioncode": "019" + }, + "TV": { + "title": "Tuvalu", + "region": "Oceania", + "regioncode": "009" + }, + "UG": { + "title": "Uganda", + "region": "Africa", + "regioncode": "002" + }, + "UA": { + "title": "Ukraine", + "region": "Europe", + "regioncode": "150" + }, + "AE": { + "title": "United Arab Emirates", + "region": "Asia", + "regioncode": "142" + }, + "GB": { + "title": "United Kingdom of Great Britain and Northern Ireland", + "region": "Europe", + "regioncode": "150" + }, + "US": { + "title": "United States of America", + "region": "Americas", + "regioncode": "019" + }, + "UM": { + "title": "United States Minor Outlying Islands", + "region": "Oceania", + "regioncode": "009" + }, + "UY": { + "title": "Uruguay", + "region": "Americas", + "regioncode": "019" + }, + "UZ": { + "title": "Uzbekistan", + "region": "Asia", + "regioncode": "142" + }, + "VU": { + "title": "Vanuatu", + "region": "Oceania", + "regioncode": "009" + }, + "VE": { + "title": "Venezuela, Bolivarian Republic of", + "region": "Americas", + "regioncode": "019" + }, + "VN": { + "title": "Viet Nam", + "region": "Asia", + "regioncode": "142" + }, + "VG": { + "title": "Virgin Islands (British)", + "region": "Americas", + "regioncode": "019" + }, + "VI": { + "title": "Virgin Islands (U.S.)", + "region": "Americas", + "regioncode": "019" + }, + "WF": { + "title": "Wallis and Futuna", + "region": "Oceania", + "regioncode": "009" + }, + "EH": { + "title": "Western Sahara", + "region": "Africa", + "regioncode": "002" + }, + "YE": { + "title": "Yemen", + "region": "Asia", + "regioncode": "142" + }, + "ZM": { + "title": "Zambia", + "region": "Africa", + "regioncode": "002" + }, + "ZW": { + "title": "Zimbabwe", + "region": "Africa", + "regioncode": "002" + } + } +} \ No newline at end of file diff --git a/options/itm/dayofweek_en.json b/options/itm/dayofweek_en.json new file mode 100644 index 0000000..5ffb49d --- /dev/null +++ b/options/itm/dayofweek_en.json @@ -0,0 +1,31 @@ +{ + "optionid":"dayofweek_en", + "title": "Country Code", + "description": "Country Code and Info", + "commment": "Alpha-2 country code (ISO 3166-2:XX)", + "lastupdatedata": "", + "lst_idx": ["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"], + "itms": { + "Monday": { + "title": "Monday" + }, + "Tuesday": { + "title": "Tuesday" + }, + "Wednesday": { + "title": "Wednesday" + }, + "Thursday": { + "title": "Thursday" + }, + "Friday": { + "title": "Friday" + }, + "Saturday": { + "title": "Saturday" + }, + "Sunday": { + "title": "Sunday" + } + } +} \ No newline at end of file diff --git a/options/itm/dayofweek_fr.json b/options/itm/dayofweek_fr.json new file mode 100644 index 0000000..61d9869 --- /dev/null +++ b/options/itm/dayofweek_fr.json @@ -0,0 +1,31 @@ +{ + "optionid":"dayofweek_fr", + "title": "Country Code", + "description": "Country Code and Info", + "commment": "Alpha-2 country code (ISO 3166-2:XX)", + "lastupdatedata": "", + "lst_idx": ["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"], + "itms": { + "Monday": { + "title": "Lundi" + }, + "Tuesday": { + "title": "Mardi" + }, + "Wednesday": { + "title": "Mercredi" + }, + "Thursday": { + "title": "Jeudi" + }, + "Friday": { + "title": "Vendredi" + }, + "Saturday": { + "title": "Samedi" + }, + "Sunday": { + "title": "Dimanche" + } + } +} \ No newline at end of file diff --git a/options/itm/profil_en.json b/options/itm/profil_en.json new file mode 100644 index 0000000..fe8bc0e --- /dev/null +++ b/options/itm/profil_en.json @@ -0,0 +1,36 @@ +{ + "optionid":"profil_en", + "title": "Profil", + "description": "Profil available in apxtri", + "commment": "", + "lastupdatedata": "", + "lst_idx": [ + "anonymous", + "pagan", + "mayor", + "druid", + "person" + ], + "itms": { + "anonymous": { + "title": "Unidentified user", + "description": "Unknown to the apxtri network" + }, + "pagan": { + "title": "User with an apxtri identity", + "description": "This profile can digitally sign on the apxtri blockchain" + }, + "mayor": { + "title": "Administrator of a city", + "description": "He manages the rules specific to a tribe grouping, he finances this city and can define its billing terms for welcoming tribes" + }, + "druid": { + "title": "Administrator of a tribe", + "description": "He has a private space in a city, to apply and enforce the rules of the tribe." + }, + "person": { + "title": "A member of a tribe", + "description": "A person has an account in a tribe with their alias, it allows them to exchange within a tribe according to the rules set by the druid." + } + } +} diff --git a/options/itm/profil_fr.json b/options/itm/profil_fr.json new file mode 100644 index 0000000..31b81a2 --- /dev/null +++ b/options/itm/profil_fr.json @@ -0,0 +1,35 @@ +{ + "optionid":"profil_fr", + "title": "Profil", + "description": "Profil disponible dans apxtri", + "commment": "", + "lastupdatedata": "", + "lst_idx": [ + "anonymous", + "pagan", + "mayor", + "druid", + "person" + ], + "itms": { + "anonymous": { + "title": "Utilisateur non identifié", + "description": "Inconnu du réseau apxtri" + }, + "pagan": { + "title": "Utilisateur avec une identité apxtri", + "description": "Ce profil peux signer numériquement sur la blockchain apxtri" + }, + "mayor": { + "title": "Administrateur d'une ville", + "description": "Il gére les régles propres à un regroupement de tribu, il finance cette ville et peut definir ses modalités de facturation pour accueillir des tribus" + }, + "druid": { + "title": "Administrateur d'une tribu", + "description": "Il dispose d'un espace privée dans une ville , pour y appliquer et faire respecter les régles de la tribu." + }, + "person": { + "title": "Un membre d'une tribu", + "description": "Une personne dispose d'un compte dans une tribu avec son alias, il permet d'echanger au sein d'une tribu en fonction des régles mises en place par le druid." + } } +} diff --git a/wco/admindata/admindata.js b/wco/admindata/admindata.js new file mode 100644 index 0000000..e69de29 diff --git a/wco/adminskull/adminskull.js b/wco/adminskull/adminskull.js new file mode 100644 index 0000000..9267e84 --- /dev/null +++ b/wco/adminskull/adminskull.js @@ -0,0 +1,170 @@ +var apx = apx || {}; +apx.adminskull = {}; + +apx.adminskull.show = (id) => { + document.getElementById("maincontent").innerHTML = `Contenu du wco ${id}`; +}; +apx.adminskull.genereimg = (alias, size = 100) => { + const canvas = document.createElement("canvas"); + canvas.width = size; + canvas.height = size; + const context = canvas.getContext("2d"); + + // Couleur de fond basée sur les lettres du nom + const colors = apx.data.tpldata.headnav.colorslist; + const charCodeSum = alias + .split("") + .reduce((acc, char) => acc + char.charCodeAt(0), 0); + const backgroundColor = colors[charCodeSum % colors.length]; + context.fillStyle = backgroundColor; + context.fillRect(0, 0, size, size); + // first and last letter in uppercase + const initials = + alias.charAt(0).toUpperCase() + + alias.charAt(alias.length - 1).toUpperCase(); + context.font = `${size / 2}px Arial`; + context.fillStyle = "#FFFFFF"; // Couleur du texte + context.textAlign = "center"; + context.textBaseline = "middle"; + context.fillText(initials, size / 2, size / 2); + return canvas.toDataURL(); +}; +apx.adminskull.togglesidebarmobile = (eltbtn) => { + //for mobile need to manage hidden case with other button in headnav + sidebar=document.getElementById("sidebar"); + sidebar.classList.toggle('w-0'); + sidebar.classList.toggle('w-full'); // Affiche la sidebar sur toute la largeur + sidebar.classList.toggle('-translate-x-full'); + if (sidebar.classList.contains('w-full')){ + + sidebar.classList.remove('hidden'); + }else{ + sidebar.classList.add('hidden'); + } +}; +apx.adminskull.toggleheadnav = (icon) => { + document + .querySelectorAll(`.dropdown`) + .forEach((el) => el.classList.add("hidden")); + document.querySelector(`.dropdown.${icon}`).classList.remove("hidden"); +}; +apx.adminskull.globalevent = () => { + // add here any + document.addEventListener("keydown", (e) => { + if (e.key === "Escape") { + document + .querySelectorAll("#headnav .dropdown") + .forEach((elt) => elt.classList.add("hidden")); + } + }); + document.addEventListener("click", (e) => { + //sidebar open close summary details + if (e.target.tagName.toLowerCase() === "summary") { + document.querySelectorAll("#sidebar ul details").forEach((details) => { + if (details !== e.target.parentNode) { + details.removeAttribute("open"); + } + }); + } + if (!document.getElementById("headnav").contains(e.target)) { + //if click somewhere else than headnav we close all dropdown that are eventually not hidden + document + .querySelectorAll("#headnav .dropdown") + .forEach((elt) => elt.classList.add("hidden")); + } + }); +}; + +apx.adminskull.navigation = () => { + // test si authentification is valid + // genere les menu en fonction du contexte + const sidebar = document.getElementById("sidebar"); + sidebar.querySelectorAll("ul").forEach((e) => e.remove()); + sidebar.innerHTML = + sidebar.innerHTML + + Mustache.render( + apx.data.tpl.adminskullverticalnav, + apx.data.tpldata.verticalnav + ); + const headnav = document.getElementById("headnav"); + const datapagan = { alias: apx.data.headers.xalias }; + /* for testing */ + apx.data.itms.notifications = { + 1: { + id: "1", + text: "notif 1", + from: "apxtri script toto.py", + date: "20250101", + }, + 2: { + id: "2", + text: "notif 2", + from: "apxtri script toto.py", + date: "20250101", + }, + 3: { + id: "3", + text: "notif 3", + from: "apxtri script toto.py", + date: "20250101", + }, + }; + + if ( + apx.data.itms.notifications && + Object.keys(apx.data.itms.notifications).length > 0 + ) { + const notifarray = Object.values(apx.data.itms.notifications); + datapagan.numbernotif = notifarray.length; + datapagan.notif = notifarray + .sort((a, b) => b.date.localeCompare(a.date)) + .slice(0, 5); + datapagan.notifcolor = "green"; + } + if ( + apx.data.itms.messages && + Object.keys(apx.data.itms.messages).length > 0 + ) { + const msgarray = Object.values(apx.data.itms.messages); + datapagan.numbermsg = msgarray.length; + datapagan.msg = msgarray + .sort((a, b) => b.date.localeCompare(a.date)) + .slice(0, 3); + datapagan.msgcolor = "green"; + } + datapagan.aliasimg = apx.adminskull.genereimg(datapagan.alias); + headnav.innerHTML = Mustache.render( + apx.data.tpl.adminskullheadnav, + datapagan + ); + apx.adminskull.globalevent(); +}; + +apx.adminskull.search=(element)=>{ + const input=element.previousElementSibling + if (!input || input.tagName !== 'INPUT'){ + console.log("Check your component no input avaiilable close to this button") + return; + } + document.getElementById("searchtitle").innerHTML+=" "+input.value + // analyse search string + - to convert in json search object with common rules to follow to send some action search in an object + const searchjson={searchtxt:input.value} + + if (!apx.data.searchfunction || !apx[apx.data.searchfunction]){ + console.log("ERROR: your settings is not correct to use search in your project you must define in apxtri the propertie searchfunction with a value and you must have a function in your project apx[apxtri.searchfunction](search) that return search with in search.results=[{thumbnail,titile,description,..}]") + return; + } + + const result = apx[apx.data.searchfunction](searchjson); + result.results.forEach(r=>{ + if (!r.thumbnail || r.thumbnail=="") { + r.thumbnail=apx.adminskull.genereimg(r.title,200) + } + }) + document.getElementById("searchresults").innerHTML=Mustache.render(apx.data.tpl.adminskullresult,result) + + document.getElementById("maincontent").classList.add('hidden') + document.getElementById("searchcontent").classList.remove('hidden') +} + +apx.readyafterupdate(apx.adminskull.navigation); diff --git a/wco/adminskull/headnav_fr.json b/wco/adminskull/headnav_fr.json new file mode 100644 index 0000000..c6b54f6 --- /dev/null +++ b/wco/adminskull/headnav_fr.json @@ -0,0 +1,26 @@ +{ + "colorslist": [ + "#ffc332", + "#fa6a31", + "#2e7fc8", + "#6aa84f", + "#218787", + "#ffd966", + "#fb8c5a", + "#1c5a8a", + "#4a7c3a", + "#1a6d6d", + "#e6b800", + "#d9531e", + "#5fa8d3", + "#8fbf4d", + "#2d9d9d", + "#cca300", + "#ff8c69", + "#1a3d5c", + "#5c7c3a", + "#4db3b3" + ], + "notifplus": "En voir plus", + "msgplus": "Voir tous..." +} \ No newline at end of file diff --git a/wco/adminskull/headnav_fr.mustache b/wco/adminskull/headnav_fr.mustache new file mode 100644 index 0000000..2a9b9b1 --- /dev/null +++ b/wco/adminskull/headnav_fr.mustache @@ -0,0 +1,93 @@ + + +
+ + + +
+ + + +
+
+ + +
+ + + {{#notifnumber}} +
+ + + +
+ {{/notifnumber}} + + {{#msgnumber}} +
+ + + +
+ {{/msgnumber}} + +
+ + + +
+
+ + {{alias}} + {{alias}} +
+
\ No newline at end of file diff --git a/wco/adminskull/main_fr.mustache b/wco/adminskull/main_fr.mustache new file mode 100644 index 0000000..e69de29 diff --git a/wco/adminskull/result_fr.mustache b/wco/adminskull/result_fr.mustache new file mode 100644 index 0000000..cf63dbd --- /dev/null +++ b/wco/adminskull/result_fr.mustache @@ -0,0 +1,16 @@ +
+ {{#results}} +
+ +
+ {{title}} +
+ + +
+

{{title}}

+

{{description}}

+
+
+ {{/results}} +
\ No newline at end of file diff --git a/wco/adminskull/verticalnav_fr.json b/wco/adminskull/verticalnav_fr.json new file mode 100644 index 0000000..b682d54 --- /dev/null +++ b/wco/adminskull/verticalnav_fr.json @@ -0,0 +1,68 @@ +{ + "sidebarmenutop": [ + { + "profils": [ + "pagans" + ], + "title": "Articles", + "onclick": "apx.adminskull.show('articles','news')", + "submenu": [ + { + "title": "Locaux", + "onclick": "apx.admindata.articles.show('localnews')" + }, + { + "title": "Rediger", + "onclick": "apx.admindata.articles.editor()" + }, + { + "title": "Mes articles", + "onclick": "apx.admindata.articles.show('myarticles')" + } + ] + }, + { + "profils": [ + "pagans" + ], + "title": "Messages", + "submenu": [ + { + "title": "Discussions", + "onclick": "apx.admindata.messages.show('discussion')" + }, + { + "title": "Notification", + "onclick": "apx.admindata.messages.show('notification')" + } + ] + }, + { + "profils": [ + "major" + ], + "title": "Admin apxtri", + "onclick": "apx.admindata.apxtri.show('dashboard')", + "submenu": [ + { + "title": "Towns", + "onclick": "apx.admindata.apxtri.show('Town')" + }, + { + "title": "Tribes", + "onclick": "apx.admindata.apxtri.show('Tribes')" + } + ] + } + ], + "sidebarmenubottom": [ + { + "title": "Mon profil", + "onclick": "apx..()" + }, + { + "title": "Log Out", + "onclick": "apx.admindata.logout()" + } + ] +} \ No newline at end of file diff --git a/wco/adminskull/verticalnav_fr.mustache b/wco/adminskull/verticalnav_fr.mustache new file mode 100644 index 0000000..b894415 --- /dev/null +++ b/wco/adminskull/verticalnav_fr.mustache @@ -0,0 +1,25 @@ + + + + \ No newline at end of file diff --git a/wco/apx/apx.js b/wco/apx/apx.js new file mode 100644 index 0000000..6954baf --- /dev/null +++ b/wco/apx/apx.js @@ -0,0 +1,513 @@ +/*eslint no-undef:0*/ +/*eslint-env browser*/ + +"use strict"; +var apx = apx || {}; + +/************************************************************************** + * apx.js manage data to interact with an apxtri instance from a webpage * + * component can be add with name-wco + ************************************************************************* + * This code is not minify and target to be understood by a maximum of + * curious people to audit and give any feedback to support@ndda.fr + * + * To audit it in a browser like chrome: + * - open web developpement (F12) + * - Menu Sources: apx.js , see below for more information + * - : apxid.js, this is the authentification module that works as a microservice + * + * + * Main principle: + * - Usage of localStorage to store any usefull data and save it between session + * - All data and template can be download from an apxtri + * get /api/apxtri/wwws/updatelocaldb{ano}/{tribe}/{xapp}/{pagename}/{version} + * ano = empty if authenticated anonymous if not + * tribe = the tribe where tha xapp is strore + * xapp = the folder name in /tribe/xapp/ + * pagename = the name of the page without _xx (language) + * version = 0 or the version currently store (version is to manage cach) + * + * ------------------ + * ? State management + * ------------------ + * html page must have apxtri with at least headers key + * + + * ++++++++ + * ? apx.ready(callback) await DOM is ready equivalent of jquery Document.ready() + * +++++++++ + * ? apx.readyafterupdate(callback) allow to add function callback that will be load after apx.ready to add a function to execute apx.readyafterupdate(functname) without () after functname + * +++++++++ + * ? apx.listendatawco(newpropertie) allow to store data in apx.data.wco and to listen any change to update HTML DOM content if apx.data.wco.propertie value change then it change every where data-wco=propertie exist innerHTML, textContent, class, ...value + * to add a new propertie to listen just add it apx.data.wco.propertie={innerHTML:"

test

"} and run apx.listendatawco(propertie) + * +++++++++ + * ? apx.notification(selector, data) insert in tag selector an apx return call into data{status:xxx,ref:"Ref",msg:"key",data:{}}, it use apx.data.ref[data.ref].msg as template and render it with data + * +++++++++ + * ? apx.save() save apx.data as {xapp} value in localStorage to be able for the same domain to share data + * +++++++++ + * ? apx.update() : + * Run at least once after loading a pagename, what it does: + * - url/page.html?k1=v1&k2=v2#h1=v4&h2=v5 => store in apx.pagecontext = { search: {k1:v1,k2:v2}, hash: {h1:v4,h2:v5} }; + * - updatelocaldb from api to localstorage name xapp (options / ref / schema / tpl /tpldata) store in {tribe}/wwws/{xapp}.json with key {pagename} + * - run apx.listendatawco() to allow any apx.data.wco variable to update DOM + * - run any function that were store in apx.afterupdate. + * - run apx.lazyload() to load image in background (this is to decrease time loading for search engine) + * ++++++++++ + * */ + +apx.ready = (callback) => { + if (!callback) { + alert( + "You have an unknown callback apx.ready(callback), you need to order your code callback = ()=>{} then apx.ready(callback), boring but js rules ;-)" + ); + } + if (document.readyState != "loading") callback(); + // modern browsers + else if (document.addEventListener) + document.addEventListener("DOMContentLoaded", callback); + // IE <= 8 + else + document.attachEvent("onreadystatechange", function () { + if (document.readyState == "complete") callback(); + }); +}; + +apx.readyafterupdate = (callback) => { + if (!apx.afterupdate) apx.afterupdate = []; + apx.afterupdate.push(callback); +}; + +apx.lazyload = () => { + document.querySelectorAll("img[data-lazysrc]").forEach((e) => { + // in src/page.html: src contain original img and data-lazysrc='true' + // in dist/page.html src is removed img src is in data-lazysrc=newimage.webp or svg + let src = e.getAttribute("src") + ? e.getAttribute("src") + : e.getAttribute("data-lazysrc"); + if (e.getAttribute("data-trksrckey")) { + src = `/trk/${src}?alias=${apx.data.headers.xalias}&uuid=${ + apx.data.headers.xuuid + }&srckey=${e.getAttribute("data-trksrckey")}&version=${ + apx.data.headers.xtrkversion + }&consentcookie=${localStorage.getItem("consentcookie")}&lg=${ + apx.data.headers.xlang + }`; + } + e.setAttribute("src", src); + console.log("lazyload track:", src); + e.removeAttribute("data-lazysrc"); + }); + document.querySelectorAll("[data-lazybgsrc]").forEach((e) => { + e.style.backgroundImage = `url(${e.getAttribute("src")})`; + e.removeAttribute("data-lazybgsrc"); + }); + document.querySelectorAll("a[data-trksrckey]").forEach((e) => { + let urldestin = e.getAttribute("href"); + if ( + urldestin.substring(0, 4) != "http" && + urldestin.substring(0, 1) != "/" + ) { + urldestin = "/" + urldestin; + } + const hreftrack = `/trk/redirect?alias=${apx.data.headers.xalias}&uuid=${ + apx.data.headers.xuuid + }&srckey=${e.getAttribute("data-trksrckey")}&version=${ + apx.data.headers.xtrkversion + }&consentcookie=${localStorage.getItem("consentcookie")}&lg=${ + apx.data.headers.xlang + }&url=${urldestin}`; + console.log("href track:", hreftrack); + e.setAttribute("href", hreftrack); + e.removeAttribute("data-trksrckey"); + }); +}; +apx.notification = (selector, data, clearbefore) => { + /** + * @selector a text to use querySelector() in document + * @data apxtri return from any request {status:200,ref:"",msg:"key", data } + * if {status,multimsg:[{ref,msg,data}]} then a multi feedback are in + * @clearbefore boolean if true then it remove the previous message + * @return update the dom selctor with the relevant render message in the relevant language + */ + console.log("notification of ", data); + const el = document.querySelector(selector); + if (!el) { + console.log( + `WARNING !!! check apx.notification selector:${selector} does not exist in this page` + ); + return false; + } + if (clearbefore) el.innerHTML = ""; + const multimsg = data.multimsg ? data.multimsg : [data]; + multimsg.forEach((info) => { + if (!apx.data.ref[info.ref]) { + console.log( + `check apx.data.ref, ${info.ref} does not exist in this page, add it ` + ); + return false; + } else if (!apx.data.ref[info.ref][info.msg]) { + console.log( + `check apx.data.ref.${info.ref} does not contain ${info.msg} update /schema/lg or /model/lg` + ); + return false; + } + el.innerHTML += + " " + Mustache.render(apx.data.ref[info.ref][info.msg], info.data); + if (data.status == 200) { + el.classList.remove("text-red"); + el.classList.add("text-green"); + } else { + el.classList.add("text-red"); + el.classList.remove("text-green"); + } + }); +}; +apx.listendatawco = (newpropertie) => { + // listen any change in apx.wco.newpropertie and update interface with this new value + // < data-wco="propertie of apx.wco"> is updated with content text, html any attribute in this new value + // to init run apx.listendatawco() this is done by apx.update() + // to dynamicaly add a new propertie to listen just run apx.listendatawco(propertietoadd); + // Then manage your data by modifying apx.wco and it will be update anywhere it use in the webpage + //example: + // + // apx.wco.logodetoto={src:"newurltoimage",alt:"newalt"} then it will change every where data-wco=logodetoto + // + //

Blabla

+ // apx.wco.claim={html:"newblabla"} + console.log("From apx.data.wco:", apx.data.wco); + if (!apx.wco) apx.wco = {}; + console.log( + "wco dynamic into the webpage", + apx.wco, + "no propertie to add:", + !newpropertie + ); + if (!apx.data.wco || Object.keys(apx.data.wco).length == 0) return false; + newpropertie = !newpropertie ? Object.keys(apx.data.wco) : [newpropertie]; + console.log("listen apx.data.wco properties:", newpropertie); + newpropertie.forEach((p) => { + const actionprop = (val, elt) => { + if (val.innerHTML) elt.innerHTML = val.innerHTML; + if (val.textContent) elt.textContent = val.textContent; + for (const h in ["innerHTML", "textContent"]) { + if (val[h]) elt[h] = val[h]; + } + for (const a in ["src", "alt", "placeholder", "class", "href"]) { + if (val[a]) elt.setAttribute(a, val[a]); + } + }; + const elements = document.querySelectorAll(`[data-wco='${p}']`); + elements.forEach((e) => actionprop(apx.data.wco[p], e)); + //console.log(p, Object.hasOwnProperty(apx.wco)); + if (Object.hasOwnProperty(apx.wco)) { + Object.defineProperty(apx.wco, p, { + set: (newv) => { + this[p] = newv; + elements.forEach((e) => actionprop(newv, e)); + }, + }); + } + }); +}; +apx.wcoobserver = () => { + /** + * wco web component observer if apxtri.wcoobserver==true, + * Observe existing or creation of any element in DOM with
+ * if create or if any wco-YYY value change it runs apx[wconame].loadwco(id,ctx) where ctx={YYY:aa} + * Example: + *
+ * if innerHTML this OR if any wco-YYYY change => + * run apx.monComposant.loadwco('monComponent', + * {'wco-name': 'monComposant', + * 'wco-screen': 'dashboard', + * 'wco-theme': 'dark', + * 'wco-ref': '123'}); + * Used with wco component manage in apx to communicate between autonomous component to reload content if contexte change. + * Typical example of a wco menu that will load another wco content if not exist and will change a wco-screen to change the content of the wco content + */ + console.log("listen wcoobserver"); + const processElement = (element) => { + if (element.nodeType === 1 && element.tagName === "DIV") { + if (element.id && element.hasAttribute("wco-name")) { + const ctx = {}; + for (const attr of element.attributes) { + if (attr.name.startsWith("wco-")) { + ctx[attr.name.slice(4)] = attr.value; + } + } + + const wcoName = element.getAttribute("wco-name"); + if (apx[wcoName] && typeof apx[wcoName].loadwco === "function") { + apx[wcoName].loadwco(element.id, ctx); + } else { + console.log(`ERROR: apx.${wcoName}.loadwco() not found`); + } + } + } + // Process children recursively + if (element.children) { + Array.from(element.children).forEach(processElement); + } + }; + + const observer = new MutationObserver((mutations) => { + mutations.forEach((mutation) => { + if (mutation.type === "childList") { + mutation.addedNodes.forEach((node) => { + processElement(node); + }); + } + + if ( + mutation.type === "attributes" && + mutation.attributeName.startsWith("wco-") + ) { + const element = mutation.target; + if (element.id && element.hasAttribute("wco-name")) { + const ctx = {}; + for (const attr of element.attributes) { + if (attr.name.startsWith("wco-")) { + ctx[attr.name.slice(4)] = attr.value; + } + } + + const wcoName = element.getAttribute("wco-name"); + if (apx[wcoName] && typeof apx[wcoName].loadwco === "function") { + apx[wcoName].loadwco(element.id, ctx); + } + } + } + }); + }); + + observer.observe(document.body, { + childList: true, + subtree: true, + attributes: true, // <-- active la détection de changements d'attributs + }); + + // Pour les éléments déjà présents au chargement + document.addEventListener("DOMContentLoaded", () => { + document.querySelectorAll("div[wco-name]").forEach((element) => { + if (element.id) { + const ctx = {}; + for (const attr of element.attributes) { + if (attr.name.startsWith("wco-")) { + ctx[attr.name.slice(4)] = attr.value; + } + } + const wcoName = element.getAttribute("wco-name"); + console.log(`load observer of wco for ${wcoName} in id=${element.id}`); + if (apx[wcoName] && typeof apx[wcoName].loadwco === "function") { + apx[wcoName].loadwco(element.id, ctx); + } + } + }); + }); + //load existing wco-name in the html page to initiate the wco process + // it read and write the wco-name that will trig the observer as a change + document.querySelectorAll("div[wco-name]").forEach((e) => { + const wconame = e.getAttribute("wco-name"); + console.log("load wco-name:", wconame); + e.setAttribute("wco-name", wconame); + }); +}; + +// State management +apx.save = () => { + localStorage.setItem(apx.data.headers.xapp, JSON.stringify(apx.data)); +}; +apx.update = async () => { + if (!apxtri) { + console.log( + 'Please add to the html page header, this line const apxtri = { headers: { xtrkversion: 1, xtribe: "smatchit", xapp: "pwa", xlang: "fr", xalias: "anonymous", xhash: "anonymous", xdays: 0} ,pagename:"apxid"} ' + ); + return; + } + //if (apxtri.forcereload){localStorage.setItem("forcereload",true)}; + if (document.querySelector("html").getAttribute("lang")) { + apxtri.headers.xlang = document.querySelector("html").getAttribute("lang"); + } + //alert(localStorage.getItem(apxtri.headers.xapp)) + if (localStorage.getItem(apxtri.headers.xapp)) { + apx.data = JSON.parse(localStorage.getItem(apxtri.headers.xapp)); + //update with current pagename and eventualy pageauth + apx.data.pagename = apxtri.pagename; + if (apxtri.pageauth) apx.data.pageauth = apxtri.pageauth; + // check localstorage in line with current webpage + if ( + apx.data.headers.xtribe != apxtri.headers.xtribe || + apx.data.headers.xlang != apxtri.headers.xlang || + apx.data.headers.xtrkversion != apxtri.headers.xtrkversion + ) { + // if an app change of tribe + localStorage.removeItem(apxtri.headers.xapp); + delete apx.data; + } + } + if (!apx.data) { + console.log("init or reinit apx.data"); + apx.data = apxtri; + } + apx.pagecontext = { search: {}, hash: {} }; + if (window.location.hash != "") { + window.location.hash + .slice(1) + .split("&") + .forEach((kv) => { + const keyval = kv.split("="); + apx.pagecontext.hash[keyval[0]] = keyval[1]; + }); + } + if (window.location.search != "") { + window.location.search + .slice(1) + .split("&") + .forEach((kv) => { + const keyval = kv.split("="); + apx.pagecontext.hash[keyval[0]] = keyval[1]; + }); + } + console.log("apx.pagecontext:", apx.pagecontext); + + // Set authenticate parameter if in pagecontext and redirect to the requested url + console.log( + apx.pagecontext.hash.xdays, + apx.pagecontext.hash.xprofils, + apx.pagecontext.hash.xtribe, + dayjs(apx.pagecontext.hash.xdays), + dayjs(apx.pagecontext.hash.xdays).diff(dayjs(), "hours") < 25, + apx.pagecontext.hash.xhash + ); + if ( + apx.pagecontext.hash.xhash && + apx.pagecontext.hash.xdays && + apx.pagecontext.hash.xprofils && + apx.pagecontext.hash.xtribe && + dayjs(apx.pagecontext.hash.xdays) && + dayjs(apx.pagecontext.hash.xdays).diff(dayjs(), "hours") < 25 + ) { + //Means this page is called from an external auth app + let headervalid = true; + const headerkey = [ + "xalias", + "xhash", + "xdays", + "xprofils", + "xtribe", + "xlang", + ]; + headerkey.forEach((h) => { + if (apx.pagecontext.hash[h]) { + apx.data.headers[h] = (h==="xprofils")? apx.pagecontext.hash[h].split(","):apx.pagecontext.hash[h]; + } else { + headervalid = false; + } + }); + console.log(headervalid, apx.data.headers); + if (headervalid) { + apx.save(); + if (apx.pagecontext.hash.url) { + window.location.href = apx.pagecontext.hash.url; + } + } else { + console.log("Your try to access a page failled with ", apx.pagecontext); + } + } + if ( + apx.data.allowedprofils && + !apx.data.allowedprofils.includes("anonymous") && + apx.data.pagename !== apx.data.pageauth + ) { + const profilintersect = apx.data.allowedprofils.filter((x) => + apx.data.headers.xprofils.includes(x) + ); + console.log("profils authorized:", profilintersect); + if (profilintersect.length == 0) { + alert(apx.data.ref.Middlewares.notallowtoaccess); + return false; + } + if (dayjs().valueOf() - apx.data.headers.xdays > 86400000) { + // need to refresh authentification if possible by opening the pageauth with url context + // the pageauth redirect to this current page after authentification, if not then wait credential + document.location.href = `/${apx.data.pageauth}_${apx.data.headers.xlang}.html#url=${apx.data.pagename}_${apx.data.headers.xlang}.html`; + } + } + console.log("authorized to access"); + /* à voir si utile redirect to authentification page pageauth with a redirection if authentify to the pagename (check if /src/ then add it) + window.location.href = `${apxtri.pageauth}_${ + apxtri.headers.xlang + }.html?url=${window.location.href.includes("/src/") ? "/src/" : ""}${ + apxtri.pagename + }_${apxtri.headers.xlang}.html`; + */ + //////////////////////////////////////////// + apx.data.version = 0; //this force an update to be removed in production + /////////////////////////////////////////// + const ano = apx.data.headers.xalias == "anonymous" ? "anonymous" : ""; + const initdb = `/api/apxtri/wwws/updatelocaldb${ano}/${apx.data.headers.xtribe}/${apx.data.headers.xapp}/${apx.data.pagename}/${apx.data.version}`; + let initset = {}; + try { + initset = await axios.get(initdb, { + headers: apx.data.headers, + timeout: 2000, + }); + } catch (err) { + console.log(err); + initset = { data: { msg: "unavailableAPI" } }; + } + console.log("recupe inidb for ", initdb, initset); + if (initset.data.msg == "forbidenaccess") { + alert(apx.data.ref.Middlewares.notallowtoaccess); + return false; + } + if (initset.data.msg == "unavailableAPI") { + console.log("Your api endpoint is down check your hosted server"); + //try again in 30 seconds + setTimeout(apx.update, 30000); + } + if (initset.data.msg == "datamodelupdate") { + // mise à jour local + /*if (initset.data.data.wco) { + + console.log("WARNING!!, local apxtri.wco was erase by updatelocaldb.wco"); + }*/ + Object.keys(initset.data.data).forEach((k) => { + if (k != "headers") { + apx.data[k] = initset.data.data[k]; + } + }); + /* if (apx.data.confpage.wco && !apx.data.wco){ + console.log("update apx.data.wco with localdb cause does not exist") + apx.data.wco=apx.data.confpage.wco; + } + */ + console.log("local update done"); + apx.save(); + } + + apx.listendatawco(); // listen any data-wco tag and update it when apxdatawco propertie change + if (apxtri.wcoobserver) apx.wcoobserver(); + if (apx.afterupdate) apx.afterupdate.forEach((cb) => cb()); //run all function store in apx.afterupdate in order + apx.lazyload(); //reload image or any media that takes time to load to improve engine search + apx.save(); //store in local the modification +}; +apx.ready(apx.update); //2nd param optional=> true mean does not wait same if apx.lock is set diff --git a/wco/apxauth/apxauth.js b/wco/apxauth/apxauth.js new file mode 100644 index 0000000..4741c8c --- /dev/null +++ b/wco/apxauth/apxauth.js @@ -0,0 +1,698 @@ +var apx = apx || {}; +apx.apxauth = {}; +apx.apxauth.loadwco = async (id, ctx) => { + // check if not authenticate, do nothing cause by default screensignin and wait authentification + // if authenticate, if url xhash then redirect if no url then change wco-link=screenmytribes + // if (dayjs(apx.data.headers.xdays).diff(dayjs(), "hours") >= 24) apx.apxauth.checkisauth(); + //load main.mustache of the component + //when wco-xxx change it run this function + console.log(`Load wconame:apxauth apx.apxauth.loadwco with id:${id} and ctx: ${JSON.stringify(ctx)}`); + const tpldataname = `${apx.data.pagename}_${id}_apxauth`; + const apxauthid = document.getElementById(id) + const data = apx.apxauth.getdata(id, ctx); + if (apxauthid.innerHTML.trim() === "") { + apxauthid.innerHTML = Mustache.render( + apx.data.tpl.apxauthmain, + data + ); + } + apxauthid.querySelector(`.screenaction`).innerHTML = Mustache.render( + apx.data.tpl[`apxauthscreen${ctx.link}`], + data + ); + apxauthid.querySelector(`.msginfo`).innerHTML = ""; +}; + +apx.apxauth.getdata = (id, ctx) => { + const tpldataname = `${apx.data.pagename}_${id}_apxauth`; + const data = JSON.parse(JSON.stringify(apx.data.tpldata[tpldataname])); + data.id = id; + data.xalias = apx.data.headers.xalias; + data.xtribe = apx.data.headers.xtribe; + data.emailssuport = apx.data.appdata.emailsupport; + switch (ctx.link) { + case "logout": + if (!data.profils) data.profils = []; + apx.data.headers.xprofils.forEach((p) => { + if (!["anonymous", "pagans", "persons"].includes(p)) { + data.profils.push(apx.data.options.profil.itms[p].title); + } + }); + data.noprofils = data.profils.length == 0; + data.member = apx.data.headers.xprofils.includes("persons"); + data.websites = apx.data.appdata.websites; + // get tribes activities + /*["", "https://wall-ants.ndda.fr"]; + axios + .get(`/api/apxtri/tribes/activities`, { + headers: apx.data.headers, + }) + .then((rep) => {}) + .catch((err) => {}); + */ + break; + default: + break; + } + console.log("data for tpl:", data); + return data +}; + +apx.apxauth.redirecturlwithauth = (url, tribe, webapp, newwindow, windowname = '_blank') => { + url = url.replace(/_[a-zA-Z0-9]{2}\.html/, `_${apx.data.headers.xlang}.html`) + url += `?xtribe=${tribe}&xapp=${webapp}&xalias=${apx.data.headers.xalias}` + url += `&xdays=${apx.data.headers.xdays}&xhash=${apx.data.headers.xhash}` + url += `&xprofils=${apx.data.headers.xprofils.join(',')}` + url += `&xtrkversion=${apx.data.headers.xtrkversion}&xuuid=${apx.data.headers.xuuid}` + if (newwindow) { + try { + const newwin = window.open(url, windowname) + if (newwin === null || typeof newwin === 'undefined') { + console.warn("L'ouverture de la fenêtre a été bloquée par un bloqueur de pop-up."); + // Vous pouvez informer l'utilisateur ici qu'il doit désactiver son bloqueur de pop-up + alert("Votre navigateur a bloqué l'ouverture d'un nouvel onglet. Veuillez autoriser les pop-ups pour ce site."); + } else { + // Optionnel: Mettre le focus sur la nouvelle fenêtre/onglet + newwin.focus(); + } + return newwin; + } catch (error) { + console.error("Une erreur est survenue lors de l'ouverture de l'onglet :", error); + return null; + } + } +} + + +/** + * logout + * Clean any private key into memory of this app and in the backend + */ +apx.apxauth.logout = () => { + axios + .get(`/api/apxtri/pagans/logout`, { + headers: apx.data.headers, + }) + .then((rep) => { + console.log("logout", rep); + }) + .catch((err) => { + console.log("Erreur logout check:", err); + }); + apx.data = apxtri; + apx.save(); + if (apx.pagecontext.hash.url) { + window.location.href = apx.pagecontext.hash.url; + } else { + location.reload(); + } +}; + +apx.apxauth.setheadersauth = async ( + alias, + passphrase, + publickey, + privatekey, + rememberme +) => { + /** + * Set header with relevant authentification data + * @return {status=200 if apx.data.headers and apx.data.auth properly set} + * {status: 406 or 500 in case issue} + */ + //console.log(alias, passphrase, publickey, privatekey); + if ( + alias.length < 3 || + publickey.length < 200 || + (privatekey && privatekey.lengtht < 200) + ) { + return { + status: 406, + ref: "Pagans", + msg: "aliasorprivkeytooshort", + data: {}, + }; + } + if (!passphrase) passphrase = ""; + if (rememberme) { + apx.data.auth = { + alias: alias, + publickey: publickey, + privatekey: privatekey, + passphrase: passphrase, + }; + } else if (apx.data.auth) { + delete apx.data.auth; + apx.save(); + } + apx.data.headers.xalias = alias; + apx.data.headers.xdays = dayjs().valueOf(); + const msg = `${alias}_${apx.data.headers.xdays}`; + //console.log("pvk", privatekey); + try { + apx.data.headers.xhash = await apx.apxauth.clearmsgSignature( + publickey, + privatekey, + passphrase, + msg + ); + } catch (err) { + return { + status: 500, + ref: "Middlewares", + msg: "unconsistentpgp", + data: { err: err }, + }; + } + apx.save(); + console.log("xhash set with:", apx.data.headers.xhash); + return { status: 200 }; +}; +apx.apxauth.authentifyme = async ( + id, + alias, + passphrase, + privatekey, + rememberme +) => { + /** + * Set apx.data.auth with pub, priv, passphrase alias that allow authentification + * set headers with xdays (timestamp) and xhash of message: {alias}_{timestamp} generate with pub & priv key + * + * @Param {key} publickeycreate optional when alias does not exist + */ + //console.log(alias, passphrase); + //console.log(privatekey); + //clean previous answer if exist + + const idparent=document.getElementById(id).parentElement?.closest('[wco-name]').getAttribute('id') + document.querySelector(`#${id} .msginfo`).innerHTML = ""; + if (alias.length < 3 || privatekey.length < 200) { + apx.notification(`#${id} .msginfo`, { + status: 500, + ref: "Pagans", + msg: "aliasorprivkeytooshort", + data: {}, + }); + return false; + } + console.log(`get /api/apxtri/pagans/alias/${alias}`); + axios + .get(`/api/apxtri/pagans/alias/${alias}`, { + headers: apx.data.headers, + }) + .then(async (rep) => { + //console.log(rep.data); + const setheaders = await apx.apxauth.setheadersauth( + alias, + passphrase, + rep.data.data.publickey, + privatekey, + rememberme + ); + if (setheaders.status != 200) { + apx.notification(`#${id} .msginfo`, setheaders); + } else { + console.log("SetheadersOK"); + console.log(`/api/apxtri/pagans/isauth`); + axios + .get(`/api/apxtri/pagans/isauth`, { + headers: apx.data.headers, + }) + .then((rep) => { + // Authenticate then store profils in header + apx.data.headers.xprofils = rep.data.data.xprofils; + apx.save(); + // if this page is call with apxid_fr.html?url=httpsxxx then it redirect to this page. + //alert(`${window.location.href.includes("/src/")?"/src/":""}${apx.pagecontext.hash.url}`) + if (apx.pagecontext.hash.url) { + window.location.href = `${apx.pagecontext.hash.url}`; + } else { + //location.reload(); + document.getElementById(idparent).setAttribute('wco-link','mytribes'); + } + }) + .catch((err) => { + console.log("Not authentify:", err); + delete apx.data.auth; + apx.save(); + document.getElementById(idparent).setAttribute("wco-link", "signin") + if (err.response) { + apx.notification(`#${id} .msginfo`, err.response.data); + } else if (err.request) { + apx.notification(`#${id} .msginfo`, { + status: 500, + ref: "Middlewares", + msg: "errrequest", + data: { err: err.request.response }, + }); + } + }); + } + }) + .catch((err) => { + //console.log(err.response); + //console.log(err.request); + console.log("checkalias:", err); + if (err.response && err.response.data.msg) { + //remove auth if not well created previously + //console.log(err.response.data.msg); + if (err.response.data.msg == "aliasdoesnotexist") { + delete apx.data.auth; + apx.save(); + apx.notification(`#${id} .msginfo`, { + status: 404, + ref: "Pagans", + msg: "aliasdoesnotexist", + data: { alias }, + }); + //document.getElementById("inputaliasauth").value=""; + //document.getElementById("inputpassphraseauth").value=""; + //document.getElementById("privatekeyauth").value="" + //window.location.reload(); + } + apx.notification(`#${id} .msginfo`, err.response.data); + } else { + apx.notification(`#${id} .msginfo`, { + status: 500, + ref: "Middlewares", + msg: "errrequest", + data: { err }, + }); + } + }); +}; +apx.apxauth.recoverykey = (id, aliasoremail) => { + if (aliasoremail.length < 3) { + apx.notification(`#${id} .msginfo`, { + status: 406, + ref: "Pagans", + msg: "recoveryemailnotfound", + data: { tribe: apx.data.headers.xtribe, search: aliasoremail }, + }); + return false; + } + const recodata = { tribe: apx.data.headers.xtribe, search: aliasoremail }; + recodata.emailalias = Checkjson.testformat(aliasoremail, "email") + ? "email" + : "alias"; + document.querySelector(`#${id} .msginfo`).innerHTML = ""; + axios + .post(`/api/apxtri/pagans/keyrecovery`, recodata, { + headers: apx.data.headers, + }) + .then((rep) => { + rep.data.data.search = aliasoremail; + apx.notification(`#${id} .msginfo`, rep.data, true); + }) + .catch((err) => { + //console.log("error:", err); + const dataerr = + err.response && err.response.data + ? err.response.data + : { status: 500, ref: "Pagans", msg: "checkconsole", data: {} }; + dataerr.data.search = aliasoremail; + apx.notification(`#${id} .msginfo`, dataerr, true); + }); +}; +apx.apxauth.generateKey = async (alias, passphrase) => { + /** + * @param {string} alias a unique alias that identify an identity + * @param {string} passphrase a string to cipher the publickey (can be empty, less secure but simpler) + * @return {publickey,privatekey} with userIds = [{alias}] + */ + const pgpparam = { + type: "ecc", // Type of the key, defaults to ECC + curve: "curve25519", // ECC curve name, defaults to curve25519 + userIDs: [{ alias: alias }], // you can pass multiple user IDs + passphrase: passphrase, // protects the private key + format: "armored", // output key format, defaults to 'armored' (options: 'armored', 'binary' or 'object') + }; + const { privateKey, publicKey } = await openpgp.generateKey(pgpparam); + // key start by '-----BEGIN PGP PRIVATE KEY BLOCK ... ' + // get liste of alias:pubklickey await axios.get('api/v0/pagans') + // check alias does not exist + return { alias, privatekey: privateKey, publickey: publicKey }; +}; + +apx.apxauth.verifyKeys = async ( + publicKeyArmored, + privateKeyArmored, + passphrase +) => { + try { + // Charger la clé publique + const publicKey = await openpgp.readKey({ armoredKey: publicKeyArmored }); + + // Charger la clé privée + const privateKey = await openpgp.decryptKey({ + privateKey: await openpgp.readPrivateKey({ + armoredKey: privateKeyArmored, + }), + passphrase: passphrase, // Passphrase de la clé privée (si nécessaire) + }); + + // Créer un message simple à signer + const message = await openpgp.createMessage({ text: "Test message" }); + + // Signer le message avec la clé privée + const signedMessage = await openpgp.sign({ + message: message, // Message à signer + signingKeys: privateKey, // Clé privée pour signer + }); + + // Vérifier la signature avec la clé publique + const verificationResult = await openpgp.verify({ + message: await openpgp.readCleartextMessage({ + cleartextMessage: signedMessage, + }), + verificationKeys: publicKey, // Clé publique pour vérifier + }); + + // Vérifier si la signature est valide + const { verified } = verificationResult.signatures[0]; + await verified; // Resolve la promesse + + console.log("Les clés correspondent et sont valides !"); + return true; + } catch (error) { + console.error("Erreur lors de la vérification des clés : ", error); + return false; + } +}; +apx.apxauth.testcreatekey = async (alias, passphrase) => { + const pgpparam = { + type: "ecc", // Type of the key, defaults to ECC + curve: "curve25519", // ECC curve name, defaults to curve25519 + userIDs: [{ alias: alias }], // you can pass multiple user IDs + passphrase: passphrase, // protects the private key + format: "armored", // output key format, defaults to 'armored' (options: 'armored', 'binary' or 'object') + }; + const { privateKey, publicKey } = await openpgp.generateKey(pgpparam); + + console.log(verifyKeys(publicKey, privateKey, passphrase)); +}; +apx.apxauth.detachedSignature = async (privK, passphrase, message) => { + /** + * @privK {string} a test priv key + * @passphrase {string} used to read privK + * @message {string} message to sign + * @Return a detached Signature of the message + */ + let privatekey; + if (passphrase == "" || passphrase == undefined) { + privatekey = await openpgp.readKey({ armoredKey: privK }); + } else { + privatekey = await openpgp.decryptKey({ + privateKey: await openpgp.readPrivateKey({ armoredKey: privK }), + passphrase, + }); + } + //console.log(message); + const msg = await openpgp.createMessage({ text: message }); + //console.log(msg); + const sig = await openpgp.sign({ + message: msg, + signingKeys: privatekey, + detached: true, + }); + return btoa(sig); +}; +apx.apxauth.clearmsgSignature = async (pubK, privK, passphrase, message) => { + /** + * @privK {string} a test priv key + * @passphrase {string} used to read privK + * @message {string} message to sign + * @Return an base64 Signature of the message or error + */ + const publickey = await openpgp.readKey({ armoredKey: pubK }); + let privatekey; + if (passphrase == "" || passphrase == undefined) { + privatekey = await openpgp.readKey({ armoredKey: privK }); + } else { + privatekey = await openpgp.decryptKey({ + privateKey: await openpgp.readPrivateKey({ armoredKey: privK }), + passphrase, + }); + } + const cleartextMessage = await openpgp.sign({ + message: await openpgp.createCleartextMessage({ text: message }), + signingKeys: privatekey, + }); + console.log(cleartextMessage); + const verificationResult = await openpgp.verify({ + message: await openpgp.readCleartextMessage({ cleartextMessage }), + verificationKeys: publickey, + }); + + const verified = verificationResult.signatures[0]; + const validity = await verified.verified; + if (!validity) throw new Error("invalidsignature"); + + return btoa(cleartextMessage); +}; +apx.apxauth.authenticatedetachedSignature = async ( + alias, + pubK, + detachedSignature, + message +) => { + /** + * Check that alias (pubkey) signe a message + * @alias {string} alias link to the publickey + * @pubK {string} publiKey text format + * @detachedSignature {string} a detachedsignatured get from apx.apxauth.detachedSignature + * @message {string} the message signed + * @return {boolean} true the message was signed by alias + * false the message was not signed by alias + */ + const publickey = await openpgp.readKey({ armoredKey: pubK }); + const msg = await openpgp.createMessage({ text: message }); + const signature = await openpgp.readSignature({ + armoredSignature: atob(detachedSignature), // parse detached signature + }); + const verificationResult = await openpgp.verify({ + msg, // Message object + signature, + verificationKeys: publickey, + }); + const { verified, keyID } = verificationResult.signatures[0]; + try { + await verified; // throws on invalid signature + //console.log("Signed by key id " + keyID.toHex()); + return KeyId.toHex().alias == alias; + } catch (e) { + console.log("Signature could not be verified: " + e.message); + return false; + } +}; +apx.apxauth.createIdentity = async ( + id, + alias, + recoemail, + passphrase = "" +) => { + document.querySelector(`#${id} .msginfo`).innerHTML = "" + const aliasregex = /^[a-z0-9]*$/; + //console.log(aliasregex.test(alias)); + if (!(alias && alias.length > 3 && aliasregex.test(alias))) { + apx.notification( + `#${id} .msginfo`, + { + status: "406", + ref: "Pagans", + msg: "invalidalias", + data: {}, + }, + true + ); + return false; + } + if (recoemail.length > 0 && !Checkjson.testformat(recoemail, "email")) { + apx.notification(`#${id} .msginfo`, { + status: 406, + ref: "Pagans", + msg: "invalidemail", + data: {}, + }); + return false; + } + axios + .get(`/api/apxtri/pagans/alias/${alias}`, { + headers: apx.data.headers, + }) + .then((rep) => { + console.log(rep); + apx.notification( + `#${id} .msginfo`, + { + ref: "Pagans", + msg: "aliasexist", + data: { alias }, + }, + true + ); + }) + .catch(async (err) => { + console.log("checkalias:", err); + if (err.response && err.response.status == 404) { + // alias does not exist create it is possible + const keys = await apx.apxauth.generateKey(alias, passphrase); + apx.data.tmpauth = { keys, recoemail, passphrase }; + //console.log(apx.data.tmpauth); + ["publickey", "privatekey"].forEach((k) => { + console.log(`${id} button.signup${k}`); + const btn = document.querySelector( + `#${id} button.signup${k}` + ); + btn.addEventListener("click", () => { + const blob = new Blob([keys[k]], { type: "text/plain" }); + const url = URL.createObjectURL(blob); + const a = document.createElement("a"); + a.href = url; + a.download = `${alias}_${k}.txt`; + document.body.appendChild(a); + a.click(); + document.body.removeChild(a); + }); + }); + document + .querySelectorAll( + `#${id} .signupalias, #${id} .signupemailrecovery, #${id} .signuppassphrase` + ) + .forEach((e) => e.setAttribute("disabled", "disabled")); + document + .querySelector(`#${id} .getmykeys`) + .classList.remove("hidden"); + document + .querySelector(`#${id} .btncreatekey`) + .classList.add("hidden"); + } else { + apx.notification( + `#${id} .msginfo`, + { + ref: "Middlewares", + msg: "errrequest", + data: {}, + }, + true + ); + } + }); +}; + +/** + * + * @param {string} alias to create + * @param {string} publickey + * @param {string} trustedtribe if none => means no passphrase, no privatekey, no trustedtribe + * @param {string} passphrase + * @param {string} privatekey + * @param {string} email if none => means no passphrase, no privatekey, no trustedtribe + * + * if email!=none and trustedtribe!= none create a person with parson profil in trustedtribe + * if email!=none and trustedtribe==none then send an email at registration with all element but doi not store in backend for futur recovery + * + */ +apx.apxauth.test = () => { + //"apx.apxauth.registerIdentity(document.getElementById('inputalias').value,document.getElementById('publickey').document.getElementById('inputpassphrase').value)" + console.log(apx.data.tmpauth); +}; +apx.apxauth.registerIdentity = async (id, trustedtribe) => { + const authid = document.getElementById(id); + // trustedtribe boolean + //previously store in apx.data.tmpauth={keys:{alias,privatekey,publickey},recoemail,passphrase} + const setheaders = await apx.apxauth.setheadersauth( + apx.data.tmpauth.keys.alias, + apx.data.tmpauth.passphrase, + apx.data.tmpauth.keys.publickey, + apx.data.tmpauth.keys.privatekey, + false + ); + if (setheaders.status != 200) { + apx.notification(`#${id} .msginfo`, setheaders); + } else { + // add withpublickeyforcreate to check isAuthenticated alias does not already exist + + const data = {}; + data.alias = apx.data.tmpauth.keys.alias; + data.publickey = apx.data.tmpauth.keys.publickey; + console.log(apx.data.tmpauth.recoemail, Checkjson.testformat(apx.data.tmpauth.recoemail, "email")) + if (apx.data.tmpauth.recoemail && Checkjson.testformat(apx.data.tmpauth.recoemail, "email")) { + data.passphrase = apx.data.tmpauth.keyspassphrase; + data.privatekey = apx.data.tmpauth.keysprivatekey; + data.email = apx.data.tmpauth.recoemail; + } + data.trustedtribe = trustedtribe; + axios + .post(`/api/apxtri/pagans`, data, { headers: apx.data.headers }) + .then((reppagan) => { + //console.log(reppagan.data); + apx.notification(`#${id} .msginfo`, reppagan.data); + authid.querySelector(`.btncreateidentity`) + .classList.add("hidden"); + authid.querySelector(`.signupbtnreload`) + .classList.remove("hidden"); + //remove tmp cause create phc change to keep tplauth in memory and avoid asking again the pasword + //delete apx.data.tmpauth; + //apx.save(); + }) + .catch((err) => { + console.log("error:", err); + const dataerr = + err.response && err.response.data + ? err.response.data + : { status: 500, ref: "Pagans", msg: "", data: {} }; + apx.notification(`#${id} .msginfo`, dataerr); + }); + } +}; +apx.apxauth.jointribe = (id) => { + /** + * Allow a pagan to register as a person into a tribe + * header must be authenticated with alias into an app belonging to xtribe AND schema person must have apxaccessright with role "pagan": {"C": []} + */ + //console.log(apx.data); + if (!apx.data.headers.xprofils.includes("persons")) { + apx.data.headers.xprofils.push("persons"); + } + const data = { + alias: apx.data.headers.xalias, + profils: apx.data.headers.xprofils, + }; + axios + .put(`/api/apxtri/pagans/person/${apx.data.headers.xtribe}`, data, { + headers: apx.data.headers, + }) + .then((rep) => { + apx.notification(`#${id} .msginfo`, rep.data); + axios + .get(`/api/apxtri/pagans/logout`, { + headers: apx.data.headers, + }) + .then((rep) => { + console.log("logout", rep); + apx.apxauth.authentifyme( + id, + apx.data.auth.alias, + apx.data.auth.passphrase, + apx.data.auth.privatekey + ); + }) + .catch((err) => { + console.log("Erreur logout check:", err); + }); + }) + .catch((err) => { + console.log("sorry", err); + if (err.response && err.response.data) + apx.notification("#msginfo", err.response.data); + else + apx.notification("#msginfo", { + status: 500, + ref: "Pagans", + msg: "errcreate", + data: {}, + }); + }); +}; diff --git a/wco/apxauth/exampleapxauth_fr.json b/wco/apxauth/exampleapxauth_fr.json new file mode 100644 index 0000000..2cbfec4 --- /dev/null +++ b/wco/apxauth/exampleapxauth_fr.json @@ -0,0 +1,5 @@ +{ + "aliasinvalid": "Combinaison de 3 à 150 caractères
composée de minuscules (a à z) et/ou de chiffres (0 à 9)", + "aliastitle": "Uniquement minuscules ou chiffres", + "privatekeyplaceholder": "Votre clé privée" +} diff --git a/wco/apxauth/main_fr.mustache b/wco/apxauth/main_fr.mustache new file mode 100644 index 0000000..cbb6f7d --- /dev/null +++ b/wco/apxauth/main_fr.mustache @@ -0,0 +1,7 @@ + +
+
+ +
+

+
\ No newline at end of file diff --git a/wco/apxauth/screenforgetkey_fr.mustache b/wco/apxauth/screenforgetkey_fr.mustache new file mode 100644 index 0000000..77510c8 --- /dev/null +++ b/wco/apxauth/screenforgetkey_fr.mustache @@ -0,0 +1,44 @@ +
+ + +
+
+

+ Si vous avez fait confiance à ce domaine pour garder vos clés, un email va être envoyé avec vos clés. +

+
+
+ +
diff --git a/wco/apxauth/screeninformation_fr.mustache b/wco/apxauth/screeninformation_fr.mustache new file mode 100644 index 0000000..b7faaa0 --- /dev/null +++ b/wco/apxauth/screeninformation_fr.mustache @@ -0,0 +1,41 @@ +
+

Qu'est-ce qu'une identité numérique décentralisée?

+

+ C'est un moyen de s'identifier en prouvant qu'on est le propriétaire + d'un alias ou d'une clé publique. Cette clé publique est accessible à tous et utilisée dans le + monde numérique pour informer, payer, échanger,... et porte une + réputation publique. +

+

+ Concrètement, c'est une paire de fichiers texte appelée clé publique + et clé privée. La clé publique ne porte pas d'information + personnelle autre que celles que vous avez bien voulu y associer. +

+

+ Une fonction mathématique permet au propriétaire de la clé privée de + signer un message. Le destinataire dispose d'une autre fonction qui + permet de vérifier que la signature a été faite avec la clé privée. +

+

+ Cette interface permet de créer une identité et de l'utiliser pour + s'authentifier pour 24 heures. Elle n'envoie que le couple alias/clé + publique sur internet, la clé privée est + votre propriété et ne doit jamais être communiquée. Si vous + la perdez, vous ne pourrez plus récupérer les informations + associées. Sauf si vous + avez fait confiance à ce nom de domaine, vous pourrez lui + demander d'envoyer un email avec ces clés. +

+

+ Vous pouvez avoir autant d'identités que vous voulez, vous pouvez + créer une identité pour des objets uniques. La seule limite est qu'à + partir du moment où vous associez des informations personnelles à + cette clé, le destinataire de ces informations peut les relier aux + activités de cette identité inscrite dans la blockchain apxtri. +

+

+ Pour auditer le code js, utiliser l'outil de développement de votre + navigateur. Pour toute remarque, question ou détection de failles : + {{supportemail}} +

+
diff --git a/wco/apxauth/screenlogout_fr.mustache b/wco/apxauth/screenlogout_fr.mustache new file mode 100644 index 0000000..ce2648f --- /dev/null +++ b/wco/apxauth/screenlogout_fr.mustache @@ -0,0 +1,39 @@ +
+
+

+ Bonjour {{xalias}}, +

+

+ Si cet appareil ne vous appartiens pas et que vous n'utilisez pas l'application, vous devriez vous deconnecter. +

+

+ Nettoyer mes traces de cet appareil? + Se deconnecter +

+
+
+

+ Voir mes échanges? + Mon activité +

+ {{#member}} +

+ Vous êtes membre de {{xtribe}} {{#noprofils}} sand profil particulier {{/noprofils}} {{^noprofils}}avec le(s) profil(s):
{{#profils}} {{.}}
{{/profils}}
{{/noprofils}} +

+ {{/member}} + {{^member}} +

Vous n'êtes pas encore membre de {{xtribe}}

+

+ Envie d'jouter cette tribut {{xtribe}}? + Rejoindre {{xtribe}} +

+ {{/member}} +

Les applications ou pages web de {{xtribe}} à visiter:
+ {{#websites}}{{{name}}}
{{/websites}} +

+ +
+
\ No newline at end of file diff --git a/wco/apxauth/screenmytribes_fr.mustache b/wco/apxauth/screenmytribes_fr.mustache new file mode 100644 index 0000000..9128c94 --- /dev/null +++ b/wco/apxauth/screenmytribes_fr.mustache @@ -0,0 +1,23 @@ +
+
+

+ Bonjour {{xalias}}, +

+
+
+

+ Redirige vers + Redirige vers recruiter.smatchit.io/offer_fr.html&xhash.... +

+ {{#member}} +

+ Vous êtes membre de {{xtribe}} {{#noprofils}} sand profil particulier {{/noprofils}} {{^noprofils}}avec le(s) profil(s):
{{#profils}} {{.}}
{{/profils}}
{{/noprofils}} +

+ {{/member}} +

Les applications ou pages web de {{xtribe}} à visiter:
+ {{#websites}}{{{name}}}
{{/websites}} +

+ +
+
\ No newline at end of file diff --git a/wco/apxauth/screensignin_fr.mustache b/wco/apxauth/screensignin_fr.mustache new file mode 100644 index 0000000..da7adb4 --- /dev/null +++ b/wco/apxauth/screensignin_fr.mustache @@ -0,0 +1,69 @@ +

+ {{{signintitle}}} +

+
+ + +
+
+ +
+
+ +
+
+
+ +
+
+

{{{remembermetext}}}

+
+
+
+ +
diff --git a/wco/apxauth/screensignup_fr.mustache b/wco/apxauth/screensignup_fr.mustache new file mode 100644 index 0000000..4526129 --- /dev/null +++ b/wco/apxauth/screensignup_fr.mustache @@ -0,0 +1,121 @@ +

+ {{{signuptitle}}} +

+
+
+ + +
+
+ + +
+
+ +
+
+ +
+
+ + diff --git a/wco/chatroom/chatroom.js b/wco/chatroom/chatroom.js new file mode 100644 index 0000000..f16e0cf --- /dev/null +++ b/wco/chatroom/chatroom.js @@ -0,0 +1,6 @@ +var apx = apx || {}; +apx.chat = {}; + +apx.chat.show=()=>{ + +} \ No newline at end of file diff --git a/wco/conf.json b/wco/conf.json new file mode 100644 index 0000000..d283233 --- /dev/null +++ b/wco/conf.json @@ -0,0 +1 @@ +{"name":"wco","schema":"apxtri/schema/wco.json","lastupdate":0} diff --git a/wco/formmanager/form_fr.mustache b/wco/formmanager/form_fr.mustache new file mode 100644 index 0000000..1b18a56 --- /dev/null +++ b/wco/formmanager/form_fr.mustache @@ -0,0 +1,46 @@ +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ +
+ + + + +
\ No newline at end of file diff --git a/wco/formmanager/formdata_fr.json b/wco/formmanager/formdata_fr.json new file mode 100644 index 0000000..0529ec4 --- /dev/null +++ b/wco/formmanager/formdata_fr.json @@ -0,0 +1,35 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "/schema/contact", + "title": "Contact information ", + "description": "A form submission data", + "type": "object", + "properties": { + "contactid": { + "title":"A unique string fromalias_fromuuid_toalias_touuid_timestamp", + "type":"string", + "default":"createcontactid", + "formclass":"hidden" + }, + "name":{ + "title":"Name", + "description":"", + "type":"string", + "formclass":"input", + "placeholder":"Votre nom" + }, + "mailm":{ + "title":"Email", + "description":"", + "type":"string", + "formclass":"input", + "placeholder":"Votre nom" + }, + "mobile":{ + "title":"", + "description":"", + "type":"string", + "formclass":"input" + } + } +} \ No newline at end of file diff --git a/wco/formmanager/formmanager.js b/wco/formmanager/formmanager.js new file mode 100644 index 0000000..33706c5 --- /dev/null +++ b/wco/formmanager/formmanager.js @@ -0,0 +1,127 @@ +var apx = apx || {}; +apx.form = {}; + +/** + * Data form schema + * {} + * + * Will produce a html expected: + *
+ * + * .. any other data field + * + *
+ * + */ + + + +apx.form.build = (elt,schema,data)=>{ + // Build in html a form with all prerequest and prefill by data into a DOM element elt + +}; +apx.form.submit = (elt,cb) + +/** + * To install in html input onclick=apx.form.enter to simulate a senddata + * @param {*} elt + * @param {*} event + */ +apx.form.enter = (elt, event) => { + if (event.keyCode === 13) { + const getform = elt.closest(".contactform"); + event.preventDefault(); + getform.querySelector(".sendregister").click(); + } +}; +// apx.sendform(this,{route:'actions/contact',order:'registercontact',srckey:'teasingwebpage',mlist:'getinform'},fctregisteremail) +registerlist.check = { + email: + /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/, + telephone: /^0[1-9][0-9]{8}$/, + profil: /^(seeker|recruiter)$/, +}; +registerlist.msg = { + email: "Vérifier votre email ", + telephone: "Verifier votre téléphone ", + profil: "Choisir votre profil ", + serverissue: + "Désolé, un probléme empeche votre inscription, réessayer plus tard", + register: "Vous êtes bien inscrits", + alreadysent: "Vous avez déjà envoyé votre email ", +}; +registerlist.send = async (elt) => { + const formdata = {}; + // formdata.uuid = (localStorage.getItem('xuuid')) ? localStorage.getItem('xuuid'):"uuidunknown"; + const form = elt.closest(".contactform"); + form.querySelector(".answer").innerHTML = ""; + var valid = true; + form.querySelectorAll("input,textarea,option:checked").forEach((e) => { + if (!e.name) e.name = info.getAttribute("name"); + if (e.name == "email") formdata.typekey = "email"; + if (e.name == "telephone") formdata.typekey = "telephone"; + + if (!e.type || e.type !== "radio" || (e.type == "radio" && e.checked)) { + //check value + if ( + registerlist.check[e.name] && + !registerlist.check[e.name].test(e.value) + ) { + form.querySelector(".answer").innerHTML += + registerlist.msg[e.name] + " "; + form.querySelector(".answer").classList.remove("d-none"); + valid = false; + } + if (!formdata[e.name]) { + formdata[e.name] = e.value; + } else { + // array case multi input with same name + formdata[e.name] = [formdata[e.name]]; + formdata[e.name].push(e.value); + } + } + }); + formdata.tribe=apxtri.headers.xtribe + if (!formdata.profil || formdata.profil == "") { + // Pas de choix + formdata.profil = "both"; + //form.querySelector(".answer").innerHTML = registerlist.msg.profil; + //form.querySelector(".answer").classList.remove("d-none"); + } + //add phil + + formdata.mlist += formdata.profil; + console.log(formdata); + if ( + valid && + formdata.profil && + formdata.srckey && + (formdata.email || formdata.telephone) + ) { + form.querySelector(".submitbtn").classList.add("d-none"); + form.querySelector(".loaderbtn").classList.remove("d-none"); + const datasent = await axios.post( + "/api/apxtri/notifications/registeranonymous", + formdata, + { headers: apx.data.headers } + ); + //console.log(datasent) + if (datasent.data.status == 200) { + form.querySelector(".answer").innerHTML = registerlist.msg.register; + form.querySelector(".answer").classList.remove("d-none"); + form.querySelector(".loaderbtn").classList.add("d-none"); + elt.setAttribute( + "onclick", + `"alert('${registerlist.msg.alreadysent}');"` + ); + //document.location.href = "thank-you.html"; + } else { + form.querySelector(".answer").innerHTML = registerlist.msg.serverissue; + form.querySelector(".answer").classList.remove("d-none"); + } + } else { + console.log( + "Check your form it miss something profil or srckey or email or telephone" + ); + } +}; diff --git a/wco/itm/admindata.json b/wco/itm/admindata.json new file mode 100644 index 0000000..2fe2ede --- /dev/null +++ b/wco/itm/admindata.json @@ -0,0 +1,14 @@ +{ + "wconame": "admindata", + "owner": "philc", + "price": 1, + "aliascode": [], + "commentaliascode": "if paid wco then [tribename_uniquecode,...]", + "codehash": "123", + "thumbnail": "", + "title": "Manage admindata page", + "description": "", + "tpl": {}, + "tpldata": {}, + "ref": {} +} \ No newline at end of file diff --git a/wco/itm/adminskull.json b/wco/itm/adminskull.json new file mode 100644 index 0000000..d074a92 --- /dev/null +++ b/wco/itm/adminskull.json @@ -0,0 +1,36 @@ +{ + "wconame": "adminskull", + "owner": "philc", + "price": 1, + "aliascode": [], + "commentaliascode": "if paid wco then [tribename_uniquecode,...]", + "codehash": "123", + "thumbnail": "", + "title": "Vertical and horinzontal menu", + "description": "", + "lang": [ + "fr" + ], + "tpl": { + "adminskullverticalnav": "apxtri/objects/wco/adminskull/verticalnav", + "adminskullresult": "apxtri/objects/wco/adminskull/result", + "adminskullmain": "apxtri/objects/wco/adminskull/main", + "adminskullheadnav": "apxtri/objects/wco/adminskull/headnav" + }, + "tpldatamodel": { + "headnav":"apxtri/objects/wco/adminskull/headnav", + "verticalnav":"apxtri/objects/wco/asminskull/verticalnav" + }, + "options": { + "profil": "{{tribe}}/objects/options/profil" + }, + "ref": { + "Odmdb": "apxtri/objects/tplstrings/Odmdb", + "Pagans": "apxtri/objects/tplstrings/Pagans", + "Persons": "apxtri/objects/tplstrings/Persons" + }, + "schema": [ + "apxtri/objects/pagans", + "{{tribe}}/objects/persons" + ] +} \ No newline at end of file diff --git a/wco/itm/apx.json b/wco/itm/apx.json new file mode 100644 index 0000000..414dfde --- /dev/null +++ b/wco/itm/apx.json @@ -0,0 +1,17 @@ +{ + "wconame": "apx", + "owner": "philc", + "price": 1, + "aliascode": [], + "commentaliascode": "if paid wco then [tribename_uniquecode,...]", + "codehash": "123", + "thumbnail": "", + "title": "Localstorage management and usefull tools", + "description": "", + "tpl": {}, + "tpldata": {}, + "ref": { + "Checkjson": "apxtri/objects/tplstrings/Checkjson", + "Notification": "apxtri/objects/tplstrings/Notifications", "Middlewares": "apxtri/objects/tplstrings/middlewares" + } +} \ No newline at end of file diff --git a/wco/itm/apxauth.json b/wco/itm/apxauth.json new file mode 100644 index 0000000..cc0d236 --- /dev/null +++ b/wco/itm/apxauth.json @@ -0,0 +1,31 @@ +{ + "wconame": "apxauth", + "owner": "philc", + "price": 1, + "aliascode": [], + "commentaliascode": "if paid wco then [tribename_uniquecode,...]", + "codehash": "123", + "thumbnail": "", + "title": "apXtri pagans create and authentification interface", + "description": "", + "lang": ["fr"], + "tpl": { + "apxauthmain":"apxtri/objects/wco/apxauth/main", + "apxauthscreensignup": "apxtri/objects/wco/apxauth/screensignup", + "apxauthscreensignin": "apxtri/objects/wco/apxauth/screensignin", + "apxauthscreenlogout": "apxtri/objects/wco/apxauth/screenlogout", + "apxauthscreenmytribes": "apxtri/objects/wco/apxauth/screenmytribes", + "apxauthscreeninformation": "apxtri/objects/wco/apxauth/screeninformation", + "apxauthscreenforgetkey": "apxtri/objects/wco/apxauth/screenforgetkey" + }, + "tpldatamodel": { "apxauth": "apxtri/objects/wco/apxauth/exampleapxauth" }, + "options": { + "profil": "{{tribeId}}/objects/options/profil" + }, + "ref": { + "Odmdb": "apxtri/objects/tplstrings/Odmdb", + "Pagans": "apxtri/objects/tplstrings/Pagans", + "Persons": "apxtri/objects/tplstrings/Persons" + }, + "schema": ["apxtri/objects/pagans", "{{tribe}}/objects/persons"] +} diff --git a/wco/itm/simplemobnav.json b/wco/itm/simplemobnav.json new file mode 100644 index 0000000..03d9e4f --- /dev/null +++ b/wco/itm/simplemobnav.json @@ -0,0 +1,20 @@ +{ + "wconame": "simplemobnav", + "owner": "philc", + "price":1, + "aliascode":[], + "commentaliascode":"if paid wco then [tribename_uniquecode,...]", + "codehash": "123", + "thumbnail": "", + "title": "A simple link kist to show and hide some block for mobile screen", + "description": "", + "lang":["fr"], + "tpl": { + "simplemobnavnavbuttonh":"apxtri/objects/wco/simplemobnav/navbuttonh.mustache", + "simplemobnavnavlist": "apxtri/objects/wco/simplemobnav/navlist.mustache", + "simplemobnavnavbutton": "apxtri/objects/wco/simplemobnav/navbuttonh.mustache", + "simplemobnavmain": "apxtri/objects/wco/simplemobnav/main.mustache"}, + "tpldatamodel": { + "simplemobnav":"apxtri/objects/wco/simplemobnav/examplenav" + } +} \ No newline at end of file diff --git a/wco/itm/tracker.json b/wco/itm/tracker.json new file mode 100644 index 0000000..e038968 --- /dev/null +++ b/wco/itm/tracker.json @@ -0,0 +1,20 @@ +{ + "wconame": "simplemobnavtracker", + "owner": "philc", + "price": 1, + "aliascode": [], + "commentaliascode": "if paid wco then [tribename_uniquecode,...]", + "codehash": "123", + "thumbnail": "", + "title": "A box to get cookies consent and data collection", + "description": "The tpl is independante of language this is why we store it with full extension", + "lang": [ + "fr" + ], + "tpl": { + "trackerconsentform": "apxtri/objects/wco/tracker/consentform.mustache" + }, + "tpldatamodel": { + "trackerconsentform": "apxtri/objects/wco/tracker/exampleform" + } +} \ No newline at end of file diff --git a/wco/simplemobnav/examplenav_fr.json b/wco/simplemobnav/examplenav_fr.json new file mode 100644 index 0000000..5048f00 --- /dev/null +++ b/wco/simplemobnav/examplenav_fr.json @@ -0,0 +1,99 @@ +{ + "contentwconame": "apxauth", + "contentid": "signature", + "logo": { + "src": "/src/static/img/logo/logobgdark.png", + "alt": "smatchit" + }, + "claim": { + "textContent": "Never miss an opportunity" + }, + "textlist": true, + "commentmenutype": "textlist: vertical list of menu with texte, buttonlist: horizontal btn", + "profilmenu": [ + { + "mainprofil": "persons", + "link": "mytribes" + }, + { + "mainprofil": "pagans", + "link": "logout" + }, + { + "mainprofil": "anonymous", + "link": "signin" + } + ], + "links": [ + { + "link": "signup", + "label": "Pas encore d'identité apxtri ?", + "textlink": "Créer mon identité", + "tpl": "apxauthscreensignup", + "allowedprofil":["anonymous"], + "next": [ + "signin", + "forgetkey", + "information" + ] + }, + { + "link": "signin", + "label": "S'identifier ?", + "textlink": "Accédez à vos données", + "tpl": "apxauthscreensignin", + "allowedprofil":["anonymous"], + "next": [ + "signup", + "forgetkey", + "information" + ] + }, + { + "link": "forgetkey", + "label": "Clé oubliée ?", + "textlink": "Récupérez par email", + "tpl": "apxauthscreenforgetkey", + "allowedprofil":["anonymous"], + "next": [ + "signin", + "signup", + "information" + ] + }, + { + "link": "information", + "label": " C'est quoi une identité apxtri ?", + "textlink": "En savoir plus", + "allowedprofil":["anonymous"], + "tpl": "apxauthscreeninformation", + "next": [ + "back" + ] + }, + { + "link": "back", + "label": "Retour au menu ", + "allowedprofil":["anonymous"], + "tpl": "sc", + "textlink": "Retour", + "next": [] + }, + { + "link": "logout", + "label": " ", + "allowedprofil":["pagans"], + "tpl": "apxauthscreenlogout", + "textlink": "", + "next": [] + }, + { + "link": "mytribes", + "label": " ", + "tpl": "apxauthscreenmytribes", + "allowedprofil":["persons"], + "textlink": "", + "next": [] + } + ] +} diff --git a/wco/simplemobnav/main.mustache b/wco/simplemobnav/main.mustache new file mode 100644 index 0000000..c2e7e56 --- /dev/null +++ b/wco/simplemobnav/main.mustache @@ -0,0 +1,29 @@ +
+ {{logobglight.alt}} + +

+ {{claim.textContent}} +

+
+
+
+ +
+
+
+ \ No newline at end of file diff --git a/wco/simplemobnav/navbuttonh.mustache b/wco/simplemobnav/navbuttonh.mustache new file mode 100644 index 0000000..26ef8d8 --- /dev/null +++ b/wco/simplemobnav/navbuttonh.mustache @@ -0,0 +1,11 @@ +
+ {{#links}} + + {{/links}} +
+ diff --git a/wco/simplemobnav/navlist.mustache b/wco/simplemobnav/navlist.mustache new file mode 100644 index 0000000..c6439f5 --- /dev/null +++ b/wco/simplemobnav/navlist.mustache @@ -0,0 +1,9 @@ +{{#links}} +

+ {{{label}}} + + {{{textlink}}} + +

+{{/links}} \ No newline at end of file diff --git a/wco/simplemobnav/readme.md b/wco/simplemobnav/readme.md new file mode 100644 index 0000000..e69de29 diff --git a/wco/simplemobnav/simplemobnav.js b/wco/simplemobnav/simplemobnav.js new file mode 100644 index 0000000..56cfc52 --- /dev/null +++ b/wco/simplemobnav/simplemobnav.js @@ -0,0 +1,102 @@ +var apx = apx || {}; +apx.simplemobnav = {}; +apx.simplemobnav.loadwco = (id, ctx) => { + + const tpldataname = `${apx.data.pagename}_${id}_simplemobnav`; + const simplemobnavid = document.getElementById(id) + console.log("load simplemobnav with tpldataname:", tpldataname, " id:", id, " ctx:", ctx); + + let initmenu; + if (simplemobnavid.innerHTML.trim() === "") { + // Get 1st menu matching the first profil in profilmenu + apx.simplemobnav.checktpldataname(tpldataname); + for (const menulist of apx.data.tpldata[tpldataname].profilmenu) { + if (apx.data.headers.xprofils.includes(menulist.mainprofil)) { + initmenu = menulist.link + break; + } + } + ctx.link = initmenu; + apx.data.tpldata[tpldataname].contentscreen = initmenu; + simplemobnavid.innerHTML = Mustache.render( + apx.data.tpl.simplemobnavmain, + apx.data.tpldata[tpldataname] + ); + } else { + //just update wco-link this will also run apx.{contentwconame}.loadwco() + simplemobnavid.querySelectorAll('[wco-name]').forEach(elt => { elt.setAttribute('wco-link', ctx.link) }); + } + // shom menulist from next + const screendata = apx.data.tpldata[tpldataname].links.find( + (m) => m.link == ctx.link + ); + // add in menulink the data needed to customize + const menulinks = apx.data.tpldata[tpldataname].links + .filter(m => + screendata.next.includes(m.link) && m.allowedprofil.some(el => apx.data.headers.xprofils.includes(el))) + .map(m => { + const newm = { ...m } + if (!m.classnavbutton && apx.data.tpldata[tpldataname].classnavbutton) { + newm.classnavbutton = apx.data.tpldata[tpldataname].classnavbutton + } + if (!m.classnavlist && apx.data.tpldata[tpldataname].classnavlist) { + newm.classnavlist = apx.data.tpldata[tpldataname].classnavlist + } + return newm + }) + console.log("menulminks", menulinks); + simplemobnavid.querySelector('.navlink').innerHTML = Mustache.render( + apx.data.tpl[`simplemobnav${apx.data.tpldata[tpldataname].navtpl}`], + { id, links: menulinks } + ); + document.getElementById("loading").classList.add("hidden"); + console.log(`Request to show screen ${ctx.link}`); +}; + +apx.simplemobnav.action = (id, link, action, wconame) => { + /** + * Manage action per menu + * if navigation then it just propagate wco-link in all the wco-name component + */ + if (action == "navigation") { + document.getElementById(id).setAttribute("wco-link", link); + /*document.getElementById(id).querySelectorAll("[wco-name]").forEach(lnk => { + console.log("lnk:",lnk) + console.log(link) + lnk.setAttribute('wco-link', link) + console.log(link,lnk) + });*/ + return; + } + if (!apx[wconame]) { + console.log(`%c⚠️ warning:%c this requested compoment ${wconame}} does not exist`); + } + if (!apx[wconame][action]) { + console.log(`%c⚠️ warning:%c this function apx.${wconame}}.${action} does not exist`); + } + apx[wconame][action](); +} + +apx.simplemobnav.reload = () => { + location.reload(); +} +apx.simplemobnav.checktpldataname = (tpldataname) => { + /** + * This is to help dev to build a correct json file + */ + if (!apx.data.tpldata[tpldataname]) { + console.log(`%c⚠️ warning:%c ${tpldataname} does not exist in localstorage tpldata `, 'color:red;') + return false; + } + const mandatoryprop = ["contentwconame", "contentid", "profilmenu", "links"] + let missingprop = "" + mandatoryprop.forEach(p => { + if (!apx.data.tpldata[tpldataname][p]) { + missingprop += ` ${p}` + } + }); + if (missingprop !== "") { + console.log(`%c⚠️ warning:%c Missing property(ies) in ${tpldataname}: ${missingprop} `, 'color:red;') + return false + } +}; \ No newline at end of file diff --git a/wco/testapi/nav_fr.json b/wco/testapi/nav_fr.json new file mode 100644 index 0000000..268fb39 --- /dev/null +++ b/wco/testapi/nav_fr.json @@ -0,0 +1,14 @@ +{ "wcocaller":"testapi", + "logo": { "src": "/src/static/img/logo/logoentete.webp", "alt": "smatchit" }, + "claim": "Never miss an opportunity", + "idhome":"home", + "links": [ + { + "id": "home", + "label": "Runner", + "textlink": "de test", + "tpl": "home", + "next": ["home"] + } + ] +} diff --git a/wco/testapi/screenhome_fr.mustache b/wco/testapi/screenhome_fr.mustache new file mode 100644 index 0000000..e8b2c69 --- /dev/null +++ b/wco/testapi/screenhome_fr.mustache @@ -0,0 +1,12 @@ +
+

Liste de test à lancer

+

+ Test1 +

+

+ Test2 +

+

+ Test3 +

+
diff --git a/wco/testapi/test2.js b/wco/testapi/test2.js new file mode 100644 index 0000000..25829b3 --- /dev/null +++ b/wco/testapi/test2.js @@ -0,0 +1,462 @@ +var test = test || {}; + +apx.test.run = async () => { + console.log(apx.apxid.testcreatekey("philc","")) + //alert(hit') + //test.publish("c8d4483c-8b5d-4941-b0b1-55fc51e331a8") + //test.getdataforjobad("c8d4483c-8b5d-4941-b0b1-55fc51e331a8") + //console.log("test.onboardseeker('bhavesh')"); + //test.onboardseeker("bhavesh") + //test.createjobad(); + /*const getitem = await test.getitm( + "smatchit", + "jobsteps", + "bhavesh_0fd44eee-60db-4c5a-a758-42b82e9423b8_0" + ); + console.log("getitem", getitem); + */ + /*const res = await test.searchitem("smatchit", "jobsteps", { + fields: "all", + apxid: [ + "bhavesh01_eb23f2f3-881e-4014-b06b-2e78ec211baa_0", + "bhavesh_34fa8114-70f6-4d81-ba22-adb7d795ee2b_0", + "bhavesh_bcfff460-aa3c-4759-be5a-636e795067fc_1", + "bhavesh_0fd44eee-60db-4c5a-a758-42b82e9423b8_0", + "bhavesh_7cd3efdc-32ad-4c3a-9ba7-eb81440966c0_0", + ], + }); + console.log(res);*/ + //test.createupdatejobstep("post"); + //test.createsiret(); + //const chk = Checkjson.schema.data(apx.data.schema.seekers, getitem); + //console.log(chk.data.itm.jobadmatchscore); + /*if (getitem.alias) { + const putitem = await test.putitm("smatchit", "seekers", getitem); + console.log("putitem", putitem); + } + */ + /*test.seekerinfoforrecruiter([ "0fd44eee-60db-4c5a-a758-42b82e9423b8", + "cca83adb-3c8d-46bc-9001-ae50b7eab556", + "1737e3ce-f6ce-4d8f-8ad6-683a957996c9"],"adminbhavesh") + */ + //console.log(await test.getitm("smatchit","seekers","newuser01")) + //test.updatesiret(); + }; + + +test.searchitem = async (tribe, objectname, searchbody) => { + console.log( + "post ", + `/api/apxtri/odmdb/searchitms/${tribe}/${objectname} with:`, + searchbody + ); + const getitm = { + method: "post", + url: `/api/apxtri/odmdb/searchitms/${tribe}/${objectname}`, + data: searchbody, + headers: apx.data.headers, + }; + const repitm = await axios(getitm); + if (repitm.status == 200) { + return repitm.data.data; + } else { + return repitm; + } +}; +test.createupdatejobstep = async (method) => { + const jobstep = { +"jobstepid":"bhavesh_78731a7e-61a5-489c-8b3b-2cddcf13f127_0","jobadid":"78731a7e-61a5-489c-8b3b-2cddcf13f127","stepposition":0,"seeker":"bhavesh","recruiter":"adminbhavesh","interviewer":"adminbhavesh","state":"apply","jobsteptype":"firstcontact","title":"1st contact","iconurl":"https://smatchit.io/images/interview.png","meetingformat":"","selectedmeeting":"","jobsteplocation":{"type":"street","housenumber":"","street":"Avenue de Saint-Charles","name":"Avenue de Saint-Charles","label":"Avenue de Saint-Charles 66000 Perpignan","postcode":"66000","citycode":"66136","city":"Perpignan","position":{"longitude":2.850371,"latitude":42.684682},"context":"66, Pyrénées-Orientales, Occitanie"},"jobstepurl":"","seekeremail":"","seekerphone":"","duration":0,"personnalmessage":"","interviewerfeedback":"","seekerfeedback":"","recruiterfeedback":"","recruiterevaluation":"","dt_book":"","starttime_book":"","endtime_book":""} ; + const axiosreq = { + method: method, + url: `/api/apxtri/odmdb/itm/smatchit/jobsteps`, + data: jobstep, + headers: apx.data.headers, + }; + axios(axiosreq) + .then((rep) => console.log(rep)) + .catch((err) => { + console.log(err); + }); +}; +test.createjobad = async () => { + const jobad = { + jobadid: "65c9b24c-a350-4224-87b2-4ee560ff75a6", + state: "draft", + siret: "93088842500012", + category: "Restaurant", + jobtitle: "waiterrestauration", + jobdisplayname: "Hôte de salle", + jobadtitle: "Hôte de salle", + candidateexperience: "4to8", + specificskills: { + countcashregister: 2, + instructemployee: 2, + productdistribution: 2, + deliverorder: 2, + guideclientorder: 2, + serveplatesspecifictechnique: 2, + organizerestaurantserving: 2, + controlrestaurantserving: 2, + presentwinemenu: 2, + adviceclient: 2, + preparesimpledishes: 2, + barservice: 2, + fightfoodwaste: 2, + energyeconomy: 2, + organizeteam: 2, + endofmealservice: 2, + carving: 2, + flambeing: 2, + advicewinetoplates: 2, + controlstock: 2, + coordinateevent: 2, + recruitemployee: 2, + cookmeatvegetable: 2, + preparesandwich: 2, + prepareproduct: 2, + preparebreads: 2, + cooktraiteur: 2, + preparesalad: 2, + cookconfectionery: 2, + planproduction: 2, + }, + knowhows: ["teamwork", "accurate", "service", "listening", "fits"], + dealbreaker: ["ponctualitty"], + languageskills: { french: 2, english: 3 }, + jobtype: ["cdd", "interim"], + fulltime: "full", + remote: 50, + workingdayshours: [ + { day: "Thursday", hours: [{ start: "14", end: "08" }] }, + ], + salary: 111, + salarydevise: "€", + salaryunit: "perhour", + recruiter: "adminbhavesh", + urgenthiring: false, + jobadmbti: "", + jobadlocation: [ + { + type: "housenumber", + housenumber: "23", + street: "Rue du Dauphin", + name: "23 Rue du Dauphin", + label: "23 Rue du Dauphin 14600 Honfleur", + postcode: "14600", + citycode: "14333", + city: "Honfleur", + position: { properties: { longitude: 0.231993, latitude: 49.41992 } }, + context: "14, Calvados, Normandie", + }, + ], + critrulesalary: "", + jobsteps: [{ jobsteptype: "firstcontact", interviewer: "adminbhavesh" }], + description: "chatgpt job description Update", + idealcanditate: + "chatgpt liste de critere du candidat ideal Update By Recruiter", + }; + const testputitm = await test.putitm("smatchit", "jobads", jobad); + console.log(testputitm); +}; +test.getitm = async (tribe, objectname, primaryid) => { + console.log( + "get ", + `/api/apxtri/odmdb/itm/${tribe}/${objectname}/${primaryid}` + ); + const getitm = { + method: "get", + url: `/api/apxtri/odmdb/itm/${tribe}/${objectname}/${primaryid}`, + data: {}, + headers: apx.data.headers, + }; + const repitm = await axios(getitm); + if (repitm.status == 200) { + if (!apx.data.itm) apx.data.itm = {}; + if (!apx.data.itm[objectname]) apx.data.itm[objectname] = {}; + apx.data.itm[objectname][primaryid] = repitm.data.data; + apx.save(); + return repitm.data.data; + } else { + return repitm; + } +}; + +test.putitm = async (tribe, objectname, data) => { + const additm = { + method: "put", + url: `/api/apxtri/odmdb/itm/${tribe}/${objectname}`, + data: data, + headers: apx.data.headers, + }; + return await axios(additm); +}; +test.additm = async (tribe, objectname, data) => { + const additm = { + method: "post", + url: `/api/apxtri/odmdb/itm/${tribe}/${objectname}`, + data: data, + headers: apx.data.headers, + }; + + return await axios(additm); +}; +test.getdataforjobad = async () => { + const data = { + jobadid: "7cd3efdc-32ad-4c3a-9ba7-eb81440966c0", + state: "publish", + siret: "58980530800014", + category: "Entreposage", + jobtitle: "waiterrestauration", + jobadtitle: "Responsable des petits-déjeuners", + candidateexperience: "4to12", + specificskills: {}, + knowhows: ["teamwork", "accurate", "service", "listening", "fits"], + languageskills: {}, + jobtype: ["cdd"], + fulltime: "full", + remote: 0, + workingdayshours: [ + { + day: "Monday", + hours: [ + { + start: "01", + end: "13", + }, + ], + }, + { + day: "Thursday", + hours: [ + { + start: "02", + end: "03", + }, + ], + }, + ], + salary: 1200, + salarydevise: "€", + salaryunit: "perweek", + jobsteps: [ + { + jobsteptype: "firstcontact", + interviewer: "admindeep", + email: "deep@mailsac.com", + }, + { + jobsteptype: "call", + interviewer: "admindeep", + email: "deep@mailsac.com", + }, + { + jobsteptype: "interview", + interviewer: "admindeep", + email: "deep@mailsac.com", + }, + ], + recruiter: "admindeep", + urgenthiring: false, + jobadmbti: "", + jobadlocation: [ + { + type: "housenumber", + housenumber: "710", + street: "Avenue Roger Salengro", + name: "710 Avenue Roger Salengro", + label: "710 Avenue Roger Salengro 92370 Chaville", + postcode: "92370", + citycode: "92022", + city: "Chaville", + position: { + properties: { + longitude: 2.19312, + latitude: 48.814933, + }, + }, + context: "92, Hauts-de-Seine, Île-de-France", + }, + ], + critrulesalary: "", + dt_create: "2024-09-13T12:00:52.530Z", + seekermatchscore: [ + { + seeker: "bhavesh", + score: 65, + newmatch: true, + aboutyoutitle: "Ideale pour son serieux", + aboutyou: + "Capacité d'adaptation en phase avec le contexte difficile du job", + criteria: [ + "Plusieurs année en zone difficile", + "sens du contact client", + "salaire demandé faible", + ], + distanceseekerjob: 99, + currentlyinprocess: false, + }, + ], + }; + + const getdata = { + method: "put", + url: `/api/smatchit/jobads/getdataforjobad`, + data: data, + headers: apx.data.headers, + }; + axios(getdata) + .then((rep) => { + alert("success, check console"); + console.log(rep); + }) + .catch((err) => { + alert("err, check console"); + console.log(err); + }); +}; + +test.getitm = async (tribe, objectname, primaryid) => { + console.log( + "get ", + `/api/apxtri/odmdb/itm/${tribe}/${objectname}/${primaryid}` + ); + const getitm = { + method: "get", + url: `/api/apxtri/odmdb/itm/${tribe}/${objectname}/${primaryid}`, + data: {}, + headers: apx.data.headers, + }; + const repitm = await axios(getitm); + if (repitm.status == 200) { + if (!apx.data.itm) apx.data.itm = {}; + if (!apx.data.itm[objectname]) apx.data.itm[objectname] = {}; + apx.data.itm[objectname][primaryid] = repitm.data.data; + apx.save(); + return repitm.data.data; + } else { + return repitm; + } +}; +test.updatesiret = async () => { + const data = { + recruiterstatus: "joincompany", + businesslocation: { + type: "housenumber", + housenumber: "710", + street: "Avenue Roger Salengro", + name: "710 Avenue Roger Salengro", + label: "710 Avenue Roger Salengro 92370 Chaville", + postcode: "92370", + citycode: "92022", + city: "Chaville", + position: { + properties: { + longitude: 2.19312, + latitude: 48.814933, + }, + }, + context: "92, Hauts-de-Seine, Île-de-France", + }, + businessname: "D E E P", + tradename: "DEEP D E E P", + code_naf: "", + category: "Entreposage", + tranche_effectif: "", + website: "https://www.deep.com/", + socialnetworks: [], + backgroundimage: "/objectimg/sirets/img/58980530800014_backgroundimage.png", + companylogo: "/objectimg/sirets/img/58980530800014_companylogo.png", + siret: "58980530800014", + dt_create: "2024-09-13T11:59:55.733Z", + subscription: [], + maxactivejobad: 100, + activejobad: 1, + recruiters: ["admindeep", "tst"], + adminrecruiters: ["admindeep"], + }; + const upsiret = { + method: "put", + url: `/api/apxtri/odmdb/itm/smatchit/sirets`, + data: data, + headers: apx.data.headers, + }; + axios(upsiret) + .then((rep) => { + alert("success, check console"); + console.log(rep); + }) + .catch((err) => { + alert("err, check console"); + console.log(err); + }); +}; + +test.createsiret=async ()=>{ +const siretadd= +{"recruiterstatus":"addcompany","siret":"82269449300013","businessname":"HCHIKAT ROAYA","code_naf":"","tradename":"HCHIKAT ROAYA","category":"Service locatif","billinglocation":{"type":"housenumber","housenumber":"7","street":"Rue Konrad Adenauer","name":"7 Rue Konrad Adenauer","label":"7 Rue Konrad Adenauer 77600 Bussy-Saint-Georges","postcode":"77600","citycode":"77058","city":"Bussy-Saint-Georges","position":{"longitude":2.709801,"latitude":48.838155},"context":"77, Seine-et-Marne, Île-de-France"},"businesslocation":{"type":"housenumber","housenumber":"7","street":"Rue Konrad Adenauer","name":"7 Rue Konrad Adenauer","label":"7 Rue Konrad Adenauer 77600 Bussy-Saint-Georges","postcode":"77600","citycode":"77058","city":"Bussy-Saint-Georges","position":{"longitude":2.709801,"latitude":48.838155},"context":"77, Seine-et-Marne, Île-de-France"},"legalAddress":"7 Rue Konrad Adenauer 77600 Bussy-Saint-Georges, 77058","businessAddress":"7 Rue Konrad Adenauer 77600 Bussy-Saint-Georges, 77058","website":"https://www.royal.com","socialnetworks":[],"imgbase64_backgroundimage":"data:image/jpeg;base64,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","imgbase64_companylogo":"data:image/png;base64,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","locationenabled":true,"notificationenabled":true,"recruiters":["newone"],"adminrecruiters":["newone"],"owner":"newone","subscription":[],"emailbilling":"bhavesh@mailsac.com","namebilling":"newone","activejobad":0,"tranche_effectif":"","backgroundimage":"","companylogo":"","whyworkhere":"","agreetorespectnorms":false,"maxactivejobad":100}; +const addsiret = { + method: "post", + url: `/api/apxtri/odmdb/itm/smatchit/sirets`, + data: siretadd, + headers: apx.data.headers, +}; +axios(addsiret) + .then((rep) => { + alert("success, check console"); + console.log(rep); + }) + .catch((err) => { + alert("err, check console"); + console.log(err); + }); +}; + + +test.seekerinfoforrecruiter = async (jobadids, aliasrecruiter) => { + // must be connectered as aliasrecruitrer or to have adminrecruiter profil for the same siret than jobads + await axios + .put( + `/api/smatchit/seekers/infoseeker/${aliasrecruiter}`, + { jobadids: jobadids }, + { headers: apx.data.headers } + ) + .then((rep) => { + alert("success, check console"); + console.log(rep.data); + }) + .catch((err) => { + alert("err, check console"); + console.log(err); + }); +}; + +test.publish = async (jobadid) => { + await axios + .put( + `/api/smatchit/jobads/publish/${jobadid}`, + {}, + { headers: apx.data.headers } + ) + .then((rep) => { + //alert("success, check console"); + console.log(rep); + }) + .catch((err) => { + //alert("err, check console"); + console.log(err); + }); +}; +test.onboardseeker = async (seeker) => { + await axios + .get(`/api/smatchit/seekers/onboarding/${seeker}`, { + headers: apx.data.headers, + }) + .then((rep) => { + //alert("success, check console"); + console.log(rep); + }) + .catch((err) => { + //alert("err, check console"); + console.log(err); + }); +}; diff --git a/wco/testapi/testapi.js b/wco/testapi/testapi.js new file mode 100644 index 0000000..f44bb13 --- /dev/null +++ b/wco/testapi/testapi.js @@ -0,0 +1,922 @@ +var apx = apx || {}; +apx.testapi = {}; +apx.testapi.getdata={} +apx.testapi.getdata.home=()=>{return {}} + + +apx.testapi.deleteitm = async (tribe, objectname, apxid, primaryid) => { + // example: apx.testapi.deleteitm("smatchit","sirets","siret","91365310100018") + const delitm = { + method: "delete", + url: `/api/apxtri/odmdb/itm/${tribe}/${objectname}/${apxid}/${primaryid}`, + headers: apx.data.headers, + }; + const delres = await axios(delitm); + console.log(delres); + }; + apx.testapi.getitm = async (tribe, objectname, primaryid) => { + console.log('get ',`/api/apxtri/odmdb/itm/${tribe}/${objectname}/${primaryid}`) + const getitm = { + method: "get", + url: `/api/apxtri/odmdb/itm/${tribe}/${objectname}/${primaryid}`, + data: {}, + headers: apx.data.headers, + }; + const repitm = await axios(getitm); + if (repitm.status == 200) { + if (!apx.data.itm) apx.data.itm = {}; + if (!apx.data.itm[objectname]) apx.data.itm[objectname] = {}; + apx.data.itm[objectname][primaryid] = repitm.data.data; + apx.save(); + return repitm.data.data; + } else { + return repitm; + } + }; + + apx.testapi.additm = async (tribe, objectname, data) => { + const additm = { + method: "post", + url: `/api/apxtri/odmdb/itm/${tribe}/${objectname}`, + data: data, + headers: apx.data.headers, + }; + + return await axios(additm); + }; + + apx.testapi.testbase = async () => { + console.log("run") + //console.log(await apx.testapi.getitm("smatchit","seekers","philc")) + //console.log(await apx.testapi.getitm("smatchit","persons","philc")) + //console.log(await apx.testapi.getitm("smatchit","quizz","seekerknowhow_en")) + const getinfo = await axios.put( + `/api/smatchit/jobads/interviewers`, + { jobstepids:["philc_f46b2d7e-e242-421f-802b-d8d4d02a2000_0"] }, + { headers: apx.data.headers } + ); + console.log(getinfo); + //await apx.testapi.deleteitm("smatchit","sirets","siret","34921281100021") + //apx.testapi.testaddsiret(); + //apx.testapi.testgetlocaldb("smatchit","smatchapp","index","anonymous"); + //console.log(await apx.testapi.getitm("smatchit","quizz","seekermbti")) + + /*await apx.testapi.deleteitm( + "smatchit", + "jobads", + "jobadid", + "4570dadb-949b-4f6e-9d25-f389336055c1" + );*/ + //apx.testapi.testaddjobads("4570dadb-949b-4f6e-9d25-f389336055c6"); + //this include jobad matching + //apx.testapi.testpublish("4570dadb-949b-4f6e-9d25-f389336055c6"); + + //apx.testapi.testunpublish("4570dadb-949b-4f6e-9d25-f389336055ca") + //apx.testapi.testseekerinfoforecruiter(["13cdd66c-7a22-470c-b3c9-0ba1589a1db8"],"philc") + // test jobsteps process + //refresh user data apx.testapi.getItem + //match jobads to currentuser: + /*apx.testapi.testseekerjobstepprocess( + apx.data.headers.xalias, + "4570dadb-949b-4f6e-9d25-f389336055c5" + ); + */ + //connected as a seeker run to apply: + //apx.testapi.testjobstepsstateapply("4570dadb-949b-4f6e-9d25-f389336055c5"); + + //apx.testapi.testnotificationsendmail(["phc@ndda.fr"],"requestregistration",{email:"phc@ndda.fr",firstname:"phil", lastname:"coco"}) + //apx.testapi.testseekeronboardingmatching("philc") + //apx.testapi.testbooking({ date: "2024-08-01", start: "08:30", numberofslot: 2 }); + /*await apx.testapi.invitedtoapply( + "paulseek", + "4570dadb-949b-4f6e-9d25-f389336055c2", + "philc" + );*/ + //apx.testapi.testrecruiteremailtoalias(); + }; + apx.testapi.testrecruiteremailtoalias = () => { + console.log( + "you must be a recruiter to run this request, it add alias to jobsteps where it is empty" + ); + axios.get("/api/smatchit/recruiters/emailtoaliasjobstep", { + headers: apx.data.headers, + }) + .then((rep) => console.log(rep)) + .catch((err) => { + console.log(err); + }); + }; + apx.testapi.invitedtoapply = (seeker, jobadid) => { + axios + .put( + "/api/smatchit/jobads/invitedtoapply", + { seeker: seeker, jobadid: jobadid }, + { headers: apx.data.headers } + ) + .then((rep) => console.log(rep)) + .catch((err) => { + console.log(err); + }); + }; + apx.testapi.testseekerjobstepprocess = (seeker, jobadid) => { + console.log('charge seeker info"'); + //check in seeker jobadmatchscore the jobadid exist + apx.testapi.getitm("smatchit", "persons", seeker); + if (!apx.data.headers.xprofils.includes("seekers")) { + alert("Sorry must be a seeker to apply"); + return false; + } + apx.testapi.getitm("smatchit", "seekers", seeker); + //await apx.testapi.testseekeronboardingmatching(seeker); + }; + + apx.testapi.testbook = () => { + const test = { + availableslot: { + "2024-08-10": { + "08:00": "D", + "08:30": "D", + "09:00": "D", + "09:30": "D", + "10:00": "D", + "10:30": "D", + "11:00": "D", + "11:30": "D", + "12:00": "D", + "12:30": "D", + "13:00": "D", + "13:30": "D", + "14:00": "D", + "14:30": "D", + "15:00": "D", + "15:30": "D", + "16:00": "D", + "16:30": "D", + "17:00": "D", + "17:30": "D", + "18:00": "D", + "18:30": "D", + "19:00": "D", + }, + "2024-08-11": { + "08:00": "D", + "08:30": "D", + "09:00": "D", + "09:30": "D", + "10:00": "D", + "10:30": "D", + "11:00": "D", + "11:30": "D", + "12:00": "D", + "12:30": "D", + "13:00": "D", + "13:30": "D", + "14:00": "D", + "14:30": "D", + "15:00": "D", + "15:30": "D", + "16:00": "D", + "16:30": "D", + "17:00": "D", + "17:30": "D", + "18:00": "D", + "18:30": "D", + "19:00": "D", + }, + }, + }; + console.log(test.availableslot && Object.keys(test.availableslot).length > 0); + if ( + test.availableslot && + Object.keys(test.availableslot).length > 0 && + dayjs(Object.keys(test.availableslot).sort()[0]) > dayjs() + ) { + console.log("PASSe etape act.interviewersetjobstep"); + } else { + console.log("passe pas"); + } + const s = { date: "2024-08-12", start: "08:00" }; + console.log( + dayjs(`${s.date} ${s.start}`) + .add(30 * 2, "minutes") + .format("HH:mm") + ); + }; + + apx.testapi.testbooking = (slottime) => { + const tirage = (probabilites) => { + //distribution {A:0.7,B:0.3} return in 70% A else B + const entries = Object.entries(probabilites); + const cumulativeProbabilities = entries.reduce((acc, [value, prob]) => { + const prevProb = acc.length > 0 ? acc[acc.length - 1][1] : 0; + return [...acc, [value, prevProb + prob]]; + }, []); + const random = Math.random(); + return cumulativeProbabilities.find(([value, prob]) => random < prob)[0]; + }; + const getlistslottime = (startslot, endslot, interval) => { + const timearray = []; + let encours = dayjs("2020-01-01 " + startslot); + const end = dayjs("2020-01-01 " + endslot); + console.log(encours); + console.log(end); + console.log(encours.isBefore(end)); + while (encours.isBefore(end)) { + timearray.push(encours.format("HH:mm")); + encours = encours.add(interval, "minutes"); + } + return timearray; + }; + const simuleinterviewer = (interviewer) => { + // const interviewer = {startslot: "08:00",endslot: "17:00",interval: 30, availableslot: {}, }; + // set futur + const arraytime = getlistslottime( + interviewer.startslot, + interviewer.endslot, + interviewer.interval + ); + for (let i = 1; i < 3; i++) { + const newd = dayjs().add(i, "days").format("YYYY-MM-DD"); + interviewer.availableslot[newd] = {}; + arraytime.forEach( + (t) => (interviewer.availableslot[newd][t] = tirage({ F: 0.7, D: 0.3 })) + ); + } + return interviewer; + }; + //simule un agenda + //console.log(simuleinterviewer({startslot: "08:00",endslot: "17:00",interval: 30, availableslot: {} })) + + const interviewer = { + startslot: "08:00", + endslot: "17:00", + interval: 30, + availableslot: { + "2024-07-31": { + "08:00": "F", + "08:30": "F", + "09:00": "F", + "09:30": "F", + "10:00": "D", + "10:30": "D", + "11:00": "F", + "11:30": "D", + "12:00": "F", + "12:30": "F", + "13:00": "D", + "13:30": "F", + "14:00": "D", + "14:30": "F", + "15:00": "F", + "15:30": "D", + "16:00": "D", + "16:30": "D", + }, + "2024-08-01": { + "08:00": "F", + "08:30": "F", + "09:00": "F", + "09:30": "D", + "10:00": "F", + "10:30": "F", + "11:00": "F", + "11:30": "D", + "12:00": "D", + "12:30": "F", + "13:00": "F", + "13:30": "D", + "14:00": "F", + "14:30": "D", + "15:00": "F", + "15:30": "F", + "16:00": "F", + "16:30": "F", + }, + }, + }; + //{ date: "2024-08-01", start: "08:30", numberofslot: 2 } + let matchslottime = true; + matchslottime = interviewer.availableslot[slottime.date] ? true : false; + matchslottime = interviewer.availableslot[slottime.date][slottime.start] + ? true + : false; + matchslottime = + interviewer.availableslot[slottime.date][slottime.start] == "F"; + let slottobook = [slottime.start]; + console.log("1er slot:", matchslottime); + if (matchslottime) { + const slotarray = Object.keys( + interviewer.availableslot[slottime.date] + ).sort(); + console.log(slotarray); + for ( + i = slotarray.indexOf(slottime.start) + 1; + i < slottime.numberofslot + 1; + i++ + ) { + matchslottime = interviewer.availableslot[slottime.date][i] != "F"; + slottobook.push(slotarray[i]); + } + } + console.log(slottobook); + if (matchslottime) { + slottobook.forEach((t) => { + interviewer.availableslot[slottime.date][t] = "J"; + }); + console.log("booking", interviewer.availableslot[slottime.date]); + } else { + console.log("no booking:"); + } + }; + + apx.testapi.testseekeronboardingmatching = async (seeker) => { + await axios + .get(`/api/smatchit/seekers/onboarding/${seeker}`, { + headers: apx.data.headers, + }) + .then((rep) => { + //alert("success, check console"); + console.log(rep); + }) + .catch((err) => { + //alert("err, check console"); + console.log(err); + }); + }; + + apx.testapi.testnotificationsendmail = async (emails, template, data) => { + await axios + .post( + `/api/apxtri/notifications/sendmail/smatchit/${template}`, + { emails, data }, + { headers: apx.data.headers } + ) + .then((rep) => { + alert("success, check console"); + console.log(rep); + }) + .catch((err) => { + alert("err, check console"); + console.log(err); + }); + }; + + apx.testapi.testseekerinfoforecruiter = async (jobadids, aliasrecruiter) => { + // must be connectered as aliasrecruitrer or to have adminrecruiter profil for the same siret than jobads + await axios + .put( + `/api/smatchit/seekers/infoseeker/${aliasrecruiter}`, + { jobadids: jobadids }, + { headers: apx.data.headers } + ) + .then((rep) => { + alert("success, check console"); + console.log(rep); + }) + .catch((err) => { + alert("err, check console"); + console.log(err); + }); + }; + apx.testapi.testjobstepsstateapply = async (jobadid) => { + //create a jobstep + console.log("getitm"); + const jobad = await apx.testapi.getitm("smatchit", "jobads", jobadid); + if (jobad.status) { + console.log("issue to get jobad", getjobad); + } + console.log(jobad); + const jobstep = { + jobadid: jobadid, + recruiter: jobad.recruiter, + interviewer: jobad.jobsteps[0].interviewer, + jobstepid: `${apx.data.headers.xalias}_${jobadid}_0`, + seeker: apx.data.headers.xalias, + state: "apply", + }; + console.log(jobstep); + //const apply = await apx.testapi.additm("smatchit", "jobsteps", jobstep); + //console.log(apply); + console.log(`/api/smatchit/jobads/jobstepstodo/${jobstep.jobstepid}`); + const jobstepstodo = await axios.put( + `/api/smatchit/jobads/jobstepstodo/${jobstep.jobstepid}`, + { state: "apply" }, + { headers: apx.data.headers } + ); + console.log(jobstepstodo); + }; + + apx.testapi.testunpublish = async (jobadid) => { + await axios + .put( + `/api/smatchit/jobads/archive/${jobadid}`, + {}, + { headers: apx.data.headers } + ) + .then((rep) => { + alert("success, check console"); + console.log(rep); + }) + .catch((err) => { + alert("err, check console"); + console.log(err); + }); + }; + apx.testapi.testpublish = async (jobadid) => { + await axios + .put( + `/api/smatchit/jobads/publish/${jobadid}`, + {}, + { headers: apx.data.headers } + ) + .then((rep) => { + //alert("success, check console"); + console.log(rep); + }) + .catch((err) => { + //alert("err, check console"); + console.log(err); + }); + }; + + apx.testapi.testaddjobads = (jobadid) => { + /*const jobad = { + jobadid: jobadid, + state: "inprocess", + siret: "34921281100021", + category: "gaming", + jobtitle: "cuisinier", + jobdisplayname: "Cuisinier poissonier", + contactrecruiter: "philc", + state: "draft", + recruiter: "philc", + jobadtitle: "Cuisinier poissonier", + candidateexperience: "4to12", + specificskills: { + reserveeventticket: 2, + teamcoordination: 3, + aftersellservice: 2, + }, + languageskills: { + french: 4, + english: 2, + }, + knowhows: ["service", "reactif", "inspire"], + dealbreaker: ["ponctualitty"], + jobtype: ["cdi", "cdd", "interim", "freelance", "stage", "alternance"], + fulltime: "fullandpartial", + remote: 100, + workingdayshours: [ + { + day: "Tuesday", + hours: [ + { start: "09:00", end: "00:00" }, + { start: "11:00", end: "00:00" }, + ], + }, + ], + salary: 100000, + salarydevise: "€", + salaryunit: "peryear", + jobsteps: [ + { + jobsteptype: "firstcontact", + interviewer: "philc", + }, + { + jobsteptype: "testaptitude", + interviewer: "interviewerpeter", + }, + { + jobsteptype: "interview", + interviewer: "philc", + }, + ], + description: + "Hello, About Job \\nLorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.", + };*/ + const jobad = { + jobadid: jobadid, + state: "publish", + siret: "42818175400014", + category: "Automobile", + jobtitle: "vendorretail", + jobdisplayname: "Épicière", + jobadtitle: "Épicière Test", + candidateexperience: "12to15", + specificskills: { + productvalidity: 3, + trackproduct: 1, + informclient: 1, + chooseintervention: 0, + reserveeventticket: 2, + teamcoordination: 3, + aftersellservice: 3, + adaptsellstrategy: 3, + createsellarguments: 3, + technicalexpertise: 3, + instructemployee: 3, + deliverorder: 3, + }, + knowhows: ["teamwork", "accurate", "service", "listening", "fits"], + dealbreaker: ["ponctualitty"], + languageskills: { + french: 4, + english: 1, + }, + jobtype: ["cdi", "freelance", "stage"], + fulltime: "full", + remote: 50, + workingdayshours: [ + { + day: "Tuesday", + hours: [ + { + start: "10", + end: "00", + }, + { + start: "19", + end: "00", + }, + ], + }, + ], + salary: 100000, + salarydevise: "€", + salaryunit: "permonth", + jobsteps: [ + { + jobsteptype: "firstcontact", + interviewer: "philc", + email: "smatchitdev@mailsac.com", + }, + { + jobsteptype: "testaptitude", + interviewer: "philc", + email: "smatchitdev@mailsac.com", + }, + { + jobsteptype: "interview", + interviewer: "philc", + email: "smatchitdev@mailsac.com", + }, + { + jobsteptype: "call", + interviewer: "philc", + email: "smatchitdev@mailsac.com", + }, + ], + description: + 'Contrary to popular belief, Lorem Ipsum is not simply random text. It is rooted in a piece of classical Latin literature from 45 BC, over 2000 years old. Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source. Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of "de Finibus Bonorum et Malorum" (The Extremes of Good and Evil) by Cicero, written in 45 BC. This book is a treatise on the theory of ethics, trendy during the Renaissance. The first line of Lorem Ipsum, "Lorem ipsum dolor sit amet..", comes from a line in section 1.10.32.', + recruiter: "philc", + urgenthiring: false, + jobadmbti: "", + jobadlocation: [], + critrulesalary: "", + owner: "philc", + dt_create: "2024-08-02T06:22:25.720Z", + }; + console.log(apx.testapi.additm("smatchit", "jobads", jobad)); + }; + + apx.testapi.testaddsiret = () => { + const siret = { + siret: "34921281100021", + businessname: "SAAS", + code_naf: "92.3H", + tradename: "SAAS", + category: "gaming", + billinglocation: { + type: "housenumber", + housenumber: "25", + street: "Rue de Ponthieu", + name: "25 Rue de Ponthieu", + label: "25 Rue de Ponthieu 75008 Paris", + postcode: "75008", + citycode: "75108", + city: "Paris", + position: { + properties: { longitude: 2.309055, latitude: 48.870756 }, + }, + context: "75, Paris, Île-de-France", + }, + businesslocation: { + type: "housenumber", + housenumber: "25", + street: "Rue de Ponthieu", + name: "25 Rue de Ponthieu", + label: "25 Rue de Ponthieu 75008 Paris", + postcode: "75008", + citycode: "75108", + city: "Paris", + position: { + properties: { longitude: 2.309055, latitude: 48.870756 }, + }, + context: "75, Paris, Île-de-France", + }, + website: "https://www.google.com", + socialnetworks: ["abcd"], + title: "Hello Compnay", + description: "lets good 👍 ", + agreetorespectnorms: true, + }; + const addsiret = { + method: "post", + url: `/api/apxtri/odmdb/itm/smatchit/sirets`, + data: siret, + headers: apx.data.headers, + }; + axios(addsiret) + .then((rep) => { + alert("success, check console"); + console.log(rep); + }) + .catch((err) => { + alert("err, check console"); + console.log(err); + }); + }; + + apx.testapi.testdeviceid = () => { + function test() { + if (!navigator.mediaDevices || !navigator.mediaDevices.enumerateDevices) { + alert("enumerateDevices() not supported."); + return; + } + + // List cameras and microphones. + + navigator.mediaDevices + .enumerateDevices() + .then(function (devices) { + devices.forEach(function (device) { + alert(device.kind + ": " + device.label + " id = " + device.deviceId); + }); + }) + .catch(function (err) { + alert(err.name + ": " + err.message); + }); + } + test(); + }; + + apx.testapi.testdeletealias = async () => { + const aliastodel = ["totopoursup"]; + aliastodel.forEach((a) => { + const axiosdel = { + method: "delete", + url: `/api/apxtri/pagans/person/smatchit/${a}`, + data: newseeker, + headers: apx.data.headers, + }; + axios(axiosdel) + .then((rep) => { + alert("success, check console"); + console.log(rep); + }) + .catch((err) => { + alert("err, check console"); + console.log(err); + }); + }); + }; + + apx.testapi.testaddseeker = async () => { + const newseeker = { + alias: "philc", + email: "bhavesh@mailsac.com", + locationenabled: true, + notificationenabled: true, + seekstatus: "notlooking", + seekworkingyear: "4to8", + seekjobtitleexperience: ["chefpartie"], + seeklocation: [ + { + type: "street", + housenumber: "", + street: "Igny", + name: "Igny", + label: "Igny 18200 La Perche", + postcode: "18200", + citycode: "18178", + city: "La Perche", + zoning: 3, + position: { properties: { longitude: 2.585915, latitude: 46.638536 } }, + context: "18, Cher, Centre-Val de Loire", + }, + ], + salaryexpectation: "2331", + salaryunit: "permonth", + salarydevise: "€", + mbti: { E: 1, N: 3, T: 0, nextq: 4, value: "INFP" }, + }; + const axiosaddseeker = { + method: "post", + url: `/api/apxtri/odmdb/itm/smatchit/seekers`, + data: newseeker, + headers: apx.data.headers, + }; + const addseek = await axios(axiosaddseeker); + console.log("profil update", addseek); + }; + + apx.testapi.testremoveprofilrecruiter = async () => { + const user = "philc"; + const axiosgetperson = { + method: "delete", + url: `/api/smatchit/persons/recruiters/${user}`, + headers: apx.data.headers, + }; + const axiosaddrecruiters = { + method: "put", + url: `/api/apxtri/pagans/person/smatchit`, + data: { addprofils: "recruiters", alias: user }, + headers: apx.data.headers, + }; + const addrec = await axios(axiosaddrecruiters); + console.log("profil update", addrec); + const axiosperson = await axios(axiosgetperson); + if (axiosperson.status != 200) { + console.log("erreur getting person"); + return false; + } else { + console.log("lecture person", axiosperson); + } + }; + + apx.testapi.testaddprofilrecruiter = async () => { + const user = "philc"; + const axiosgetperson = { + method: "get", + url: `/api/apxtri/odmdb/itm/smatchit/persons/${user}`, + headers: apx.data.headers, + }; + const axiosaddrecruiters = { + method: "put", + url: `/api/apxtri/pagans/person/smatchit`, + data: { addprofils: "recruiters", alias: user }, + headers: apx.data.headers, + }; + const addrec = await axios(axiosaddrecruiters); + console.log("profil update", addrec); + const axiosperson = await axios(axiosgetperson); + if (axiosperson.status != 200) { + console.log("erreur getting person"); + return false; + } else { + console.log("lecture person", axiosperson); + } + }; + apx.testapi.testseekerprofil = async () => { + alert("get person and modify "); + //get a person + const user = "philc"; + const axiosgetperson = { + method: "get", + url: `/api/apxtri/odmdb/itm/smatchit/persons/${user}`, + headers: apx.data.headers, + }; + const axiosputperson = { + method: "put", + url: `/api/apxtri/odmdb/itm/smatchit/persons/`, + data: {}, + headers: apx.data.headers, + }; + let userperson; + const axiosperson = await axios(axiosgetperson); + if (axiosperson.status != 200) { + console.log("erreur getting person"); + return false; + } + userperson = axiosperson.data.data; + console.log(userperson); + let updateperson = { + alias: user, + firebaseid: userperson.firebaseid + "test", + profils: ["seekers"], + }; + axiosputperson.data = updateperson; + console.log(axiosputperson); + const axiosupdateperson = await axios(axiosputperson); + console.log("modification done", axiosupdateperson); + //alert("change again to remove test in firebase"); + updateperson = { + alias: user, + firebaseid: userperson.firebaseid.replace(/test/g, ""), + }; + axiosputperson.data = updateperson; + console.log(axiosputperson); + const axiosupdatepersonback = await axios(axiosputperson); + console.log(axiosupdatepersonback); + }; + apx.testapi.testgetlocaldb = (tribe, appname, pagename, anonymous) => { + const testaxios = { + method: "get", + url: `/api/apxtri/wwws/updatelocaldb${anonymous}/${tribe}/${appname}/${pagename}/0`, + headers: apx.data.headers, + }; + + axios(testaxios) + .then((rep) => { + alert("success, check console"); + console.log(rep); + }) + .catch((err) => { + alert("err, check console"); + console.log(err); + }); + }; + + apx.testapi.testgetperson = () => { + const testaxios = { + method: "get", + url: `/api/apxtri/odmdb/itm/${apx.data.headers.xtribe}/persons/philc`, + headers: apx.data.headers, + }; + + axios(testaxios) + .then((rep) => { + alert("success, check console"); + console.log(rep); + }) + .catch((err) => { + alert("err, check console"); + console.log(err); + }); + }; + + apx.testapi.testupdateseeker = () => { + apx.data.itm.seekers.jobadinvitedtoapply = [ + "f46b2d7e-e242-421f-802b-d8d4d02a2004", + ]; + const testaxios = { + method: "put", + url: `/api/apxtri/odmdb/itm/${apx.data.headers.xtribe}/seekers`, + data: apx.data.itm.seekers, + headers: apx.data.headers, + }; + + axios(testaxios) + .then((rep) => { + alert("success, check console"); + console.log(rep); + }) + .catch((err) => { + alert("err, check console"); + console.log(err); + }); + }; + + apx.testapi.testbackend = () => { + const objsearch = { + apxid: [ + "f46b2d7e-e242-421f-802b-d8d4d02a2000", + "f46b2d7e-e242-421f-802b-d8d4d02a2001", + "f46b2d7e-e242-421f-802b-d8d4d02a2002", + "f46b2d7e-e242-421f-802b-d8d4d02a2003", + ], + fields: "all", + }; + const objsearchaxios = { + method: "post", + url: `/api/apxtri/odmdb/searchitms/${apx.data.headers.xtribe}/jobads`, + data: objsearch, + headers: apx.data.headers, + }; + + axios(objsearchaxios) + .then((rep) => { + alert("success, check console"); + console.log(rep); + }) + .catch((err) => { + alert("err, check console"); + console.log(err); + }); + }; + /* + apx.testapi.apxlocal = {}; + apx.testapi.apxlocal.setup = () => { + console.log("run apxlocal.setup"); + apx.data.tpldata.apxlocal.categories.forEach((cat, i) => { + //Object.keys(apx.data[cat.categorie]).forEach((o)=>{apx.data.tpldata.apxlocal.categories[i].list=[]}) + Object.keys(apx.data[cat.categorie]).forEach((o) => { + if (!apx.data.tpldata.apxlocal.categories[i].list.includes(o)) { + apx.data.tpldata.apxlocal.categories[i].list.push(o); + } + }); + }); + document + .getElementsByName("apxlocal") + .forEach( + (e) => + (e.innerHTML = Mustache.render( + apx.data.tpl.apxlocal, + apx.data.tpldata.apxlocal + )) + ); + dscreen.refresh(); + }; + apx.readyafterupdate(apx.testapi.apxlocal.setup); + */ \ No newline at end of file diff --git a/wco/tracker/consentform.mustache b/wco/tracker/consentform.mustache new file mode 100644 index 0000000..b5a4a04 --- /dev/null +++ b/wco/tracker/consentform.mustache @@ -0,0 +1,33 @@ + +
+ +
+

+ {{introtext}} + {{{CGUlabel}}} +

+
+ +
+ {{#btn}} + + {{/btn}} +
+
\ No newline at end of file diff --git a/wco/tracker/exampleform_en.json b/wco/tracker/exampleform_en.json new file mode 100644 index 0000000..0e29d54 --- /dev/null +++ b/wco/tracker/exampleform_en.json @@ -0,0 +1,19 @@ +{ + "CGU": "https://smatchit.io/Smatchit_RGPD_app_web_fr.html", + "CGUlabel": "Terms of Service", + "introtext": "In accordance with the GDPR, we need your permission to store your personal data on this site. If you 'refuse all recording', you will not have access to the content with identification. If you wish to support us, your data may be shared with third parties. Please consult our terms and conditions for more information:", + "btn": [ + { + "action": "acceptfullcookies", + "text": "I accept to support this site" + }, + { + "action": "acceptstatisticcookies", + "text": "I accept only to facilitate navigation" + }, + { + "action": "refusecookies", + "text": "I refuse all recording" + } + ] +} \ No newline at end of file diff --git a/wco/tracker/exampleform_fr.json b/wco/tracker/exampleform_fr.json new file mode 100644 index 0000000..deab25b --- /dev/null +++ b/wco/tracker/exampleform_fr.json @@ -0,0 +1,19 @@ +{ + "CGU": "https://smatchit.io/Smatchit_RGPD_app_web_fr.html", + "CGUlabel": "Conditions générales d'utilisation", + "introtext": "Conformément au RGPD, nous devons obtenir votre autorisation pour stocker vos données personnelles sur ce site. Si vous 'refusez tout enregistrement', vous n'aurez pas accès au contenu avec identification. Si vous souhaitez nous soutenir, vos données pourront être communiquées à des tiers. Consultez nos conditions pour en savoir plus :", + "btn": [ + { + "action": "acceptfullcookies", + "text": "J'accepte pour soutenir ce site" + }, + { + "action": "acceptstatisticcookies", + "text": "J'accepte uniquement pour faciliter la navigation" + }, + { + "action": "refusecookies", + "text": "Je refuse tout enregistrement" + } + ] +} \ No newline at end of file diff --git a/wco/tracker/tracker.js b/wco/tracker/tracker.js new file mode 100644 index 0000000..32a621f --- /dev/null +++ b/wco/tracker/tracker.js @@ -0,0 +1,140 @@ +var apx = apx || {}; +apx.tracker = {}; +apx.tracker.getinfodevice = async () => { + const device = {}; + //console.log(navigator); + device.useragent = navigator.userAgent || navigator.vendor || window.opera; + device.typedevice = /iPad/i.test(device.useragent) ? "ipad" : ""; + device.typedevice = /iPhone/i.test(device.useragent) ? "iphone" : ""; + device.typedevice = /iPod/i.test(device.useragent) ? "ipod" : ""; + device.typedevice = /Android/i.test(device.useragent) ? "android" : ""; + device.typedevice = + device.typedevice == "" && + /Windows NT|Macintosh|Linux/i.test(device.useragent) + ? "PC" + : ""; + console.log( + "test linux", + /Windows NT|Macintosh|Linux/i.test(device.useragent) + ); + device.type = + device.type === "" && /Mobi/i.test(device.userAgent) ? "mobile" : ""; + device.os = /Windows NT/i.test(device.useragent) ? "windows" : ""; + device.os = /Macintosh/i.test(device.useragent) ? "mac" : ""; + device.os = /Linux/i.test(device.useragent) ? "linux" : ""; + const ipinfo = await axios.get("https://ipinfo.io/json"); + console.log(ipinfo); + if ( + ipinfo && + ipinfo.data && + ipinfo.data !== null && + typeof ipinfo.data === "object" && + Object.keys(ipinfo.data).length > 0 + ) { + if (ipinfo.data.ip) device.ip = ipinfo.data.ip; + if (ipinfo.data.city) device.city = ipinfo.data.city; + if (ipinfo.data.country) device.country = ipinfo.data.country; + } + device.screenWidth = window.screen.width; + device.screenHeight = window.screen.height; + const connection = + navigator.connection || + navigator.mozConnection || + navigator.webkitConnection; + if (connection) { + device.connection = `${connection.effectiveType}_${connection.downlink} Mbps`; + } + device.lang = navigator.language; + device.plugins = Array.from(navigator.plugins).map((plugin) => plugin.name); + //console.log(device) + return device; +}; +apx.tracker.hit = (data) => { + if (!data.consentcookie && localStorage.getItem("consentcookie")) + data.consentcookie = localStorage.getItem("consentcookie"); + if (!data.lasttm && localStorage.getItem("lasttm")) + data.lasttm = localStorage.getItem("lasttm"); + if (!data.xuuid && localStorage.getItem("xuuid")) + data.xuuid = localStorage.getItem("xuuid"); + if (!data.xapp && localStorage.getItem("xapp")) + data.xapp = localStorage.getItem("xapp"); + if (apx.data.headers.xalias != "anonymous") + data.alias = apx.data.headers.xalias; + let missing = ""; + [("xapp", "srckey", "xuuid", "lasttm", "consentcookie")].forEach((k) => { + missing += !data[k] ? `${k},` : ""; + }); + if (missing !== "") { + console.log(`Check your trktag ${missing} are missing`); + return; + } + let urltrack = "/trk/cdn/trkret/empty.json?"; + Object.keys(data).forEach((d) => { + urltrack += `d=${data[d]}&`; + }); + urltrack = urltrack.slice(0, -1); + //console.log(urltrack); + axios.get(urltrack); +}; +apx.tracker.load = () => { + if (!localStorage.getItem("consentcookie")) { + document + .querySelectorAll('div:not([wco-name="tracker"])') + .forEach((el) => { + el.classList.add("opacity-40"); + el.style.pointerEvents = "auto"; + }); + document.querySelectorAll("[wco-name='tracker']").forEach((el) => { + const tpldata = `${apx.data.pagename}_${el.id}_trackerconsentform`; + if (!apx.data.tpldata[tpldata] || !apx.data.tpldata[tpldata].introtext) { + console.log(` ${tpldata} does not exist check your file`); + } else { + el.innerHTML = Mustache.render( + apx.data.tpl.trackerconsentform, + apx.data.tpldata[tpldata] + ); + } + }); + } else { + // test if last loading was <10minutes then send a new tag + const tm = dayjs().valueOf(); + const lasttmtxt = localStorage.getItem("lasttm"); + const lasttm = lasttmtxt ? Number(lasttmtxt) : null; + //console.log(lasttm, tm, tm - lasttm > 10 * 60 * 1000); + if (lasttm && tm - lasttm > 10 * 60 * 1000) { + localStorage.setItem("lasttm", tm); + apx.tracker.hit({ srckey: "visitwwws" }); + } + } +}; +apx.tracker.setconsent = async (tagid, choice) => { + //localStorage.setItem("consentcookie", choice); + if (!localStorage.getItem("xuuid")) { + const uuid = ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, (c) => + ( + c ^ + (crypto.getRandomValues(new Uint8Array(1))[0] & (15 >> (c / 4))) + ).toString(16) + ); + localStorage.setItem("xuuid", uuid); + apx.data.headers.xuuid = uuid; + const tm = dayjs().valueOf(); + localStorage.setItem("lasttm", tm); + apx.save(); + } + if (["acceptstatisticcookies", "acceptfullcookies"].includes(choice)) { + const infodevice = await apx.tracker.getinfodevice(); + //console.log(infodevice); + axios.post(`/api/apxtri/trackings/newdevice`, infodevice, { + headers: apx.data.headers, + }); + } + apx.tracker.hit({ srckey: "firstvisitwwws" }); + document.querySelectorAll('div:not([wco-name="tracker"])').forEach((el) => { + el.classList.remove("opacity-40"); + el.style.pointerEvents = "auto"; + }); + document.getElementById(tagid).classList.add("hidden"); +}; + +apx.readyafterupdate(apx.tracker.load); diff --git a/wwws/admin/src/admindata_fr.html b/wwws/admin/src/admindata_fr.html new file mode 100644 index 0000000..38ca438 --- /dev/null +++ b/wwws/admin/src/admindata_fr.html @@ -0,0 +1,112 @@ + + + + + Admin Template + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ +
+
+
+
+
Contenu of id=maincontent
+ +
+
+ + diff --git a/wwws/admin/src/apxid_fr.html b/wwws/admin/src/apxid_fr.html new file mode 100644 index 0000000..0b2318f --- /dev/null +++ b/wwws/admin/src/apxid_fr.html @@ -0,0 +1,65 @@ + + + + + Authentification + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ +
+ + diff --git a/wwws/admin/src/components/ActiveJobAd.html b/wwws/admin/src/components/ActiveJobAd.html new file mode 100644 index 0000000..de07229 --- /dev/null +++ b/wwws/admin/src/components/ActiveJobAd.html @@ -0,0 +1,7 @@ +
+

Currently active

+

Job Ad Title {{jobAdNumber}}

+

Expiry Date

+

DD month YYYY (X days remaining)

+
+ \ No newline at end of file diff --git a/wwws/admin/src/components/AttentionMessage.css b/wwws/admin/src/components/AttentionMessage.css new file mode 100644 index 0000000..a14526e --- /dev/null +++ b/wwws/admin/src/components/AttentionMessage.css @@ -0,0 +1,26 @@ +.attention-message { + text-align: center; +} + +.attention-message-heading, +.attention-message-subheading { + color: #F04438; + font-family: 'Inter', sans-serif; + font-size: 18px; + font-style: normal; + font-weight: 700; + line-height: 28px; +} + +.attention-message-subheading { + margin-bottom: 16px; +} + +.attention-message-body { + color: #18191E; + font-family: 'Inter', sans-serif; + font-size: 16px; + font-style: normal; + font-weight: 400; + line-height: 24px; +} diff --git a/wwws/admin/src/components/AttentionMessage.html b/wwws/admin/src/components/AttentionMessage.html new file mode 100644 index 0000000..3f2ad3f --- /dev/null +++ b/wwws/admin/src/components/AttentionMessage.html @@ -0,0 +1,5 @@ +
+

Attention:

+

You currently have X job ads active.

+

When your plan expires, all active job ads will be removed and candidates notified the job has been canceled lorem ipsum.

+
\ No newline at end of file diff --git a/wwws/admin/src/components/Button.css b/wwws/admin/src/components/Button.css new file mode 100644 index 0000000..c0dcc6e --- /dev/null +++ b/wwws/admin/src/components/Button.css @@ -0,0 +1,28 @@ +.button-container { + display: flex; + width: 325px; + height: 48px; + justify-content: center; + align-items: center; + background-color: var(--app-button-background, #000); + border-radius: 4px; + } + + .button-label { + color: var(--_app-global-grayscale-50, #F9FAFB); + text-align: center; + font-family: 'Inter', sans-serif; + font-size: 14px; + font-style: normal; + font-weight: 900; + line-height: 20px; + text-transform: uppercase; + margin-right: 8px; + } + + .button-icon { + width: var(--Spacing-Link-Below-Textfield, 18px); + height: var(--Spacing-Link-Below-Textfield, 18px); + flex-shrink: 0; + } + \ No newline at end of file diff --git a/wwws/admin/src/components/Button.html b/wwws/admin/src/components/Button.html new file mode 100644 index 0000000..efb48d2 --- /dev/null +++ b/wwws/admin/src/components/Button.html @@ -0,0 +1,3 @@ + diff --git a/wwws/admin/src/components/Button.js b/wwws/admin/src/components/Button.js new file mode 100644 index 0000000..c460963 --- /dev/null +++ b/wwws/admin/src/components/Button.js @@ -0,0 +1,6 @@ +function initializeButton(buttonText, buttonAction) { + const buttonElement = document.getElementById('button-element'); + buttonElement.innerText = buttonText; + buttonElement.addEventListener('click', buttonAction); + } + \ No newline at end of file diff --git a/wwws/admin/src/components/ExtraJobAds.html b/wwws/admin/src/components/ExtraJobAds.html new file mode 100644 index 0000000..03862b9 --- /dev/null +++ b/wwws/admin/src/components/ExtraJobAds.html @@ -0,0 +1,16 @@ +
+

Currently active

+

Job Ad Title #1

+

Expiry Date

+

DD month YYYY (X days remaining)

+
+
+

Currently active

+

Job Ad Title #2

+

Expiry Date

+

DD month YYYY (X days remaining)

+
+
+

Ready to be used / Not active

+

Job Ad Title #3

+
diff --git a/wwws/admin/src/components/ExtraJobAds.js b/wwws/admin/src/components/ExtraJobAds.js new file mode 100644 index 0000000..9535ee2 --- /dev/null +++ b/wwws/admin/src/components/ExtraJobAds.js @@ -0,0 +1,19 @@ +function showExtraJobAdsTab() { + document.getElementById('extra-job-ads-content').classList.remove('hidden'); + document.getElementById('extra-job-ads-tab').classList.add('custom-tab-active'); + document.getElementById('extra-job-ads-tab').classList.remove('custom-tab-inactive'); + + loadComponent('buttons-container', 'components/Button.html', () => { + document.getElementById('button-text').innerText = 'GET EXTRA JOB ADS'; + const buttonElement = document.getElementById('button-element'); + buttonElement.classList.add('bg-black', 'text-white'); + buttonElement.innerHTML += ` + + + + `; + }); + + + } + \ No newline at end of file diff --git a/wwws/admin/src/components/Header.html b/wwws/admin/src/components/Header.html new file mode 100644 index 0000000..abc0a92 --- /dev/null +++ b/wwws/admin/src/components/Header.html @@ -0,0 +1,7 @@ +
+ +
diff --git a/wwws/admin/src/components/InactiveJobAd.html b/wwws/admin/src/components/InactiveJobAd.html new file mode 100644 index 0000000..1859fd8 --- /dev/null +++ b/wwws/admin/src/components/InactiveJobAd.html @@ -0,0 +1,5 @@ +
+

Ready to be used / Not active

+

Job Ad Title {{jobAdNumber}}

+
+ \ No newline at end of file diff --git a/wwws/admin/src/components/JobAdDetail.html b/wwws/admin/src/components/JobAdDetail.html new file mode 100644 index 0000000..d8e45be --- /dev/null +++ b/wwws/admin/src/components/JobAdDetail.html @@ -0,0 +1,7 @@ +
+

+

+

+

+
+ \ No newline at end of file diff --git a/wwws/admin/src/components/JobAds.css b/wwws/admin/src/components/JobAds.css new file mode 100644 index 0000000..295d512 --- /dev/null +++ b/wwws/admin/src/components/JobAds.css @@ -0,0 +1,53 @@ +.job-ad-detail { + display: flex; + flex-direction: column; + padding: 16px; + border-radius: 8px; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); + margin-bottom: 16px; + } + + .active-job-ad { + background-color: #f9fafb; + } + + .inactive-job-ad { + background-color: #f3f4f6; + } + + .job-ad-title { + font-family: 'Inter', sans-serif; + font-size: 16px; + font-style: normal; + font-weight: 600; + line-height: 24px; + color: var(--app-text-stroke-text-stroke-day, #18191E); + margin-bottom: 16px; + } + + .status { + font-family: 'Inter', sans-serif; + font-weight: 600; + font-size: 14px; + line-height: 20px; + margin-bottom: 8px; + } + + .job-title { + font-family: 'Inter', sans-serif; + font-weight: 400; + font-size: 14px; + line-height: 20px; + margin-top: 8px; + margin-bottom: 16px; + } + + .expiry-label, + .expiry-date { + font-family: 'Inter', sans-serif; + font-weight: 400; + font-size: 14px; + line-height: 20px; + margin-top: 8px; + } + \ No newline at end of file diff --git a/wwws/admin/src/components/JobAds.js b/wwws/admin/src/components/JobAds.js new file mode 100644 index 0000000..fbfaaa4 --- /dev/null +++ b/wwws/admin/src/components/JobAds.js @@ -0,0 +1,72 @@ +function generateJobAds(activeCount, inactiveCount) { + const container = document.getElementById('extra-job-ads-content'); + container.innerHTML = ''; // Clear existing content + + // Update the tab text with the total number of job ads + const totalJobAds = activeCount + inactiveCount; + const extraJobAdsTab = document.getElementById('extra-job-ads-tab'); + extraJobAdsTab.textContent = `Extra job ads (${totalJobAds})`; + + // Generate active job ads + for (let i = 1; i <= activeCount; i++) { + const activeAdContainer = document.createElement('div'); + activeAdContainer.className = 'job-ad-container mb-4'; + + const activeAdTitle = document.createElement('p'); + activeAdTitle.className = 'job-ad-title text-gray-800'; + activeAdTitle.textContent = `Extra job ad #${i} (currently in use)`; + + const activeAd = document.createElement('div'); + activeAd.className = 'job-ad-detail active-job-ad p-4 bg-white rounded-lg shadow'; + activeAd.innerHTML = ` +

Currently active

+

<Job ad title>

+

Expiry Date

+

DD month YYYY (X days remaining)

+ `; + + activeAdContainer.appendChild(activeAdTitle); + activeAdContainer.appendChild(activeAd); + container.appendChild(activeAdContainer); + } + + // Generate inactive job ads + for (let i = 1; i <= inactiveCount; i++) { + const inactiveAdContainer = document.createElement('div'); + inactiveAdContainer.className = 'job-ad-container mb-4'; + + const inactiveAdTitle = document.createElement('p'); + inactiveAdTitle.className = 'job-ad-title text-gray-800'; + inactiveAdTitle.textContent = `Extra job ad #${i + activeCount}`; + + const inactiveAd = document.createElement('div'); + inactiveAd.className = 'job-ad-detail inactive-job-ad p-4 bg-white rounded-lg shadow'; + inactiveAd.innerHTML = ` +

Ready to be used / Not active

+ `; + + inactiveAdContainer.appendChild(inactiveAdTitle); + inactiveAdContainer.appendChild(inactiveAd); + container.appendChild(inactiveAdContainer); + } +} + +function showExtraJobAdsTab() { + document.getElementById('extra-job-ads-content').classList.remove('hidden'); + document.getElementById('extra-job-ads-tab').classList.add('custom-tab-active'); + document.getElementById('extra-job-ads-tab').classList.remove('custom-tab-inactive'); + + loadComponent('buttons-container', 'components/Button.html', () => { + document.getElementById('button-text').innerText = 'GET EXTRA JOB ADS'; + const buttonElement = document.getElementById('button-element'); + buttonElement.classList.add('bg-black', 'text-white'); + buttonElement.innerHTML += ` + + + + `; + }); + + // Generate job ads dynamically + generateJobAds(2, 1); +} diff --git a/wwws/admin/src/components/NoExtraJobAds.html b/wwws/admin/src/components/NoExtraJobAds.html new file mode 100644 index 0000000..c05849e --- /dev/null +++ b/wwws/admin/src/components/NoExtraJobAds.html @@ -0,0 +1,7 @@ +
+

You don't have any extra job ads at the moment lorem ipsum

+

Generic description talking about the benefits of extra job ads lorem ipsum

+
+

empty state illustration

+
+
diff --git a/wwws/admin/src/components/NoSubscription.css b/wwws/admin/src/components/NoSubscription.css new file mode 100644 index 0000000..a6e7dc9 --- /dev/null +++ b/wwws/admin/src/components/NoSubscription.css @@ -0,0 +1,42 @@ +.no-subscription-container { + width: 100%; + max-width: 600px; + margin: 0 auto; + padding: 20px; + background-color: white; + border-radius: 8px; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); +} + +.no-subscription-container h3 { + color: var(--app-text-stroke-text-stroke-day, #18191E); + text-align: center; + font-family: 'Montserrat', sans-serif; + font-size: 24px; + font-style: normal; + font-weight: 700; + line-height: 32px; + margin-bottom: 16px; +} + +.no-subscription-container p { + color: var(--app-text-stroke-text-stroke-day, #18191E); + text-align: center; + font-family: 'Inter', sans-serif; + font-size: 16px; + font-style: normal; + font-weight: 600; + line-height: 24px; + margin-bottom: 16px; +} + +.no-subscription-illustration { + width: var(--Chart-Module-Width, 325px); + height: 260px; + background-color: #e5e7eb; + display: flex; + align-items: center; + justify-content: center; + border-radius: 8px; + margin: 0 auto; +} diff --git a/wwws/admin/src/components/NoSubscription.html b/wwws/admin/src/components/NoSubscription.html new file mode 100644 index 0000000..9a27367 --- /dev/null +++ b/wwws/admin/src/components/NoSubscription.html @@ -0,0 +1,7 @@ +
+

You don't have any extra job ads at the moment lorem ipsum

+

Generic description talking about the benefits of extra job ads lorem pisum

+
+ Illustration +
+
diff --git a/wwws/admin/src/components/PageLayout.css b/wwws/admin/src/components/PageLayout.css new file mode 100644 index 0000000..8622a25 --- /dev/null +++ b/wwws/admin/src/components/PageLayout.css @@ -0,0 +1,9 @@ +body { + font-family: var(--font-family-inter); + } + + .content-container { + background-color: #f3f4f6; + padding-bottom: 4rem; + } + \ No newline at end of file diff --git a/wwws/admin/src/components/PlanDetail.html b/wwws/admin/src/components/PlanDetail.html new file mode 100644 index 0000000..424b681 --- /dev/null +++ b/wwws/admin/src/components/PlanDetail.html @@ -0,0 +1,4 @@ +
+

Your plan: <Plan name from stripe>

+
+
diff --git a/wwws/admin/src/components/PlanDetailItem.html b/wwws/admin/src/components/PlanDetailItem.html new file mode 100644 index 0000000..3940503 --- /dev/null +++ b/wwws/admin/src/components/PlanDetailItem.html @@ -0,0 +1,6 @@ + +
+

{{label}}

+

{{value}}

+
+ \ No newline at end of file diff --git a/wwws/admin/src/components/PlanDetails.css b/wwws/admin/src/components/PlanDetails.css new file mode 100644 index 0000000..905ee49 --- /dev/null +++ b/wwws/admin/src/components/PlanDetails.css @@ -0,0 +1,36 @@ + #plan-detail-items { + font-family: 'Inter', sans-serif; +} + +.plan-detail-item { + display: flex; + flex-direction: column; + width: 345px; + padding: 0px 8px 9px 0px; + align-items: flex-start; + gap: 2px; + margin-bottom: 9px; + border-bottom: 1px solid #e5e7eb; +} + +.plan-detail-item:last-child { + border-bottom: none; +} + +.plan-detail-label { + color: var(--app-text-stroke-text-stroke-day, #18191E); + font-family: 'Inter', sans-serif; + font-size: 14px; + font-style: normal; + font-weight: 600; + line-height: 20px; +} + +.plan-detail-value { + color: var(--app-text-stroke-text-stroke-day, #18191E); + font-family: 'Inter', sans-serif; + font-size: 13px; + font-style: normal; + font-weight: 400; + line-height: 16px; +} \ No newline at end of file diff --git a/wwws/admin/src/components/Subscriptions.html b/wwws/admin/src/components/Subscriptions.html new file mode 100644 index 0000000..30a0fdf --- /dev/null +++ b/wwws/admin/src/components/Subscriptions.html @@ -0,0 +1,22 @@ +
+

Your plan:

+ + +
+ + +
+ + +
+ + +
+
+ + + + \ No newline at end of file diff --git a/wwws/admin/src/components/Subscriptions.js b/wwws/admin/src/components/Subscriptions.js new file mode 100644 index 0000000..c808a3e --- /dev/null +++ b/wwws/admin/src/components/Subscriptions.js @@ -0,0 +1,56 @@ +function showSubscriptionTab(planCanceled) { + document.getElementById('subscriptions-content').classList.remove('hidden'); + document.getElementById('subscriptions-tab').classList.add('custom-tab-active'); + document.getElementById('subscriptions-tab').classList.remove('custom-tab-inactive'); + + loadComponent('buttons-container', 'components/Button.html', () => { + const buttonText = planCanceled ? 'RE-SUBSCRIBE' : 'UPDATE PLAN'; + document.getElementById('button-text').innerText = buttonText; + const buttonElement = document.getElementById('button-element'); + buttonElement.classList.add('bg-black', 'text-white'); + buttonElement.innerHTML += ` + + + + `; + if (!planCanceled) { + const buttonsContainer = document.getElementById('buttons-container'); + buttonsContainer.innerHTML += 'Cancel subscription'; + } + }); + + // Plan details + const planDetails = [ + { label: 'Description', value: 'Plan description from stripe lorem ipsum', className: 'text-gray-800', labelClassName: 'text-gray-500' }, + { label: 'Price per month', value: 'XX.XX € / month', className: 'text-gray-800', labelClassName: 'text-gray-500' }, + { label: 'Active job ads', value: 'X / Total N', className: planCanceled ? 'text-red-500' : 'text-gray-800', labelClassName: planCanceled ? 'text-red-500' : 'text-gray-500' }, + { label: planCanceled ? 'Expiry date' : 'Renewal date', value: 'DD month YYYY', additionalText: planCanceled ? '(X days remaining)' : '', className: planCanceled ? 'text-red-500' : 'text-gray-800', labelClassName: planCanceled ? 'text-red-500' : 'text-gray-500' }, + ]; + + const planDetailItemsContainer = document.getElementById('plan-detail-items'); + planDetailItemsContainer.innerHTML = ''; + + planDetails.forEach(detail => { + loadComponent(null, 'components/PlanDetailItem.html', () => { + const item = document.createElement('div'); + item.className = 'plan-detail-item'; + item.innerHTML = ` +

${detail.label}

+

${detail.value} ${detail.additionalText || ''}

+ `; + planDetailItemsContainer.appendChild(item); + }); + }); + + if (planCanceled) { + const attentionMessageContainer = document.createElement('div'); + attentionMessageContainer.id = 'attention-message-container'; + document.getElementById('subscriptions-content').appendChild(attentionMessageContainer); + loadComponent('attention-message-container', 'components/AttentionMessage.html'); + } else { + const attentionMessageContainer = document.getElementById('attention-message-container'); + if (attentionMessageContainer) { + attentionMessageContainer.innerHTML = ''; + } + } +} diff --git a/wwws/admin/src/components/Tabs.html b/wwws/admin/src/components/Tabs.html new file mode 100644 index 0000000..fdb8952 --- /dev/null +++ b/wwws/admin/src/components/Tabs.html @@ -0,0 +1,4 @@ +
+
Subscriptions
+
Extra job ads (0)
+
diff --git a/wwws/admin/src/components/Tabs.js b/wwws/admin/src/components/Tabs.js new file mode 100644 index 0000000..616759c --- /dev/null +++ b/wwws/admin/src/components/Tabs.js @@ -0,0 +1,48 @@ +function loadComponent(containerId, filePath, callback) { + fetch(filePath) + .then(response => { + if (!response.ok) { + throw new Error(`HTTP error! status: ${response.status}`); + } + return response.text(); + }) + .then(data => { + if (containerId) { + document.getElementById(containerId).innerHTML = data; + } + if (callback) callback(); + }) + .catch(error => console.error('Error loading component:', error)); +} + +function showTab(tab) { + document.getElementById('subscriptions-content').classList.add('hidden'); + document.getElementById('extra-job-ads-content').classList.add('hidden'); + + document.getElementById('subscriptions-tab').classList.remove('custom-tab-active'); + document.getElementById('extra-job-ads-tab').classList.remove('custom-tab-active'); + document.getElementById('subscriptions-tab').classList.add('custom-tab-inactive'); + document.getElementById('extra-job-ads-tab').classList.add('custom-tab-inactive'); + + document.getElementById('buttons-container').innerHTML = ''; + + if (tab === 'subscriptions') { + const planCanceled = false; // Set true or false + showSubscriptionTab(planCanceled); + } else if (tab === 'extra-job-ads') { + showExtraJobAdsTab(); + } +} + +document.addEventListener("DOMContentLoaded", () => { + loadComponent('header-container', 'components/Header.html'); + loadComponent('tabs-container', 'components/Tabs.html'); + loadComponent('subscriptions-content', 'components/PlanDetail.html'); + loadComponent('extra-job-ads-content', 'components/ExtraJobAds.html', () => { + + generateJobAds(2, 1); //Active-Inactive Jobads + }); + loadComponent('buttons-container', 'components/Button.html', () => { + showTab('subscriptions'); + }); +}); diff --git a/wwws/admin/src/components/Tabs2.js b/wwws/admin/src/components/Tabs2.js new file mode 100644 index 0000000..167d3a7 --- /dev/null +++ b/wwws/admin/src/components/Tabs2.js @@ -0,0 +1,71 @@ +function loadComponent(containerId, filePath, callback) { + fetch(filePath) + .then(response => { + if (!response.ok) { + throw new Error(`HTTP error! status: ${response.status}`); + } + return response.text(); + }) + .then(data => { + if (containerId) { + document.getElementById(containerId).innerHTML = data; + } + if (callback) callback(); + }) + .catch(error => console.error('Error loading component:', error)); +} + +function showTab(tabsConfig, activeTab) { + // Hide all content sections and reset tab classes + tabsConfig.forEach(tab => { + document.getElementById(tab.contentId).classList.add('hidden'); + document.getElementById(tab.tabId).classList.remove('custom-tab-active'); + document.getElementById(tab.tabId).classList.add('custom-tab-inactive'); + }); + + // Show the selected content section and activate the tab + const activeConfig = tabsConfig.find(tab => tab.name === activeTab); + document.getElementById(activeConfig.contentId).classList.remove('hidden'); + document.getElementById(activeConfig.tabId).classList.add('custom-tab-active'); + document.getElementById(activeConfig.tabId).classList.remove('custom-tab-inactive'); + + // Load buttons for the active tab + document.getElementById('buttons-container').innerHTML = ''; + loadComponent('buttons-container', activeConfig.buttonFile, () => { + document.getElementById('button-text').innerText = activeConfig.buttonText; + const buttonElement = document.getElementById('button-element'); + buttonElement.classList.add('bg-black', 'text-white'); + buttonElement.innerHTML += activeConfig.buttonIcon; + }); + + // Update content based on the active tab + if (activeTab === 'subscriptions') { + updateNoSubscriptionContent('You are not subscribed to any plan lorem ipsum dolor sit amet', 'Generic description talking about the benefits of subscribing lorem ipsum', 'path/to/subscription-illustration.png'); + } else if (activeTab === 'extra-job-ads') { + updateNoSubscriptionContent('You don\'t have any extra job ads at the moment lorem ipsum', 'Generic description talking about the benefits of extra job ads lorem pisum', 'path/to/extra-job-ads-illustration.png'); + } +} + +function initializePage(tabsConfig) { + document.addEventListener("DOMContentLoaded", () => { + loadComponent('header-container', 'components/Header.html'); + loadComponent('tabs-container', 'components/Tabs.html', () => { + tabsConfig.forEach(tab => { + document.getElementById(tab.tabId).addEventListener('click', () => showTab(tabsConfig, tab.name)); + }); + }); + tabsConfig.forEach(tab => { + loadComponent(tab.contentId, tab.contentFile); + }); + loadComponent('buttons-container', 'components/Button.html', () => { + // Show the first tab by default + showTab(tabsConfig, tabsConfig[0].name); + }); + }); +} + +function updateNoSubscriptionContent(title, description, imagePath) { + document.getElementById('no-subscription-title').innerText = title; + document.getElementById('no-subscription-description').innerText = description; + document.getElementById('no-subscription-image').src = imagePath; +} diff --git a/wwws/admin/src/components/caption.html b/wwws/admin/src/components/caption.html new file mode 100644 index 0000000..b49e55c --- /dev/null +++ b/wwws/admin/src/components/caption.html @@ -0,0 +1,4 @@ +

+ This is a descriptive caption for the media. +

+ \ No newline at end of file diff --git a/wwws/admin/src/components/carousel.css b/wwws/admin/src/components/carousel.css new file mode 100644 index 0000000..ed40e55 --- /dev/null +++ b/wwws/admin/src/components/carousel.css @@ -0,0 +1,46 @@ +.carousel { + display: flex; + gap: 16px; + overflow-x: scroll; + scroll-snap-type: x mandatory; + scroll-behavior: smooth; + padding: 10px; +} + +.carousel-item { + width: 420px; + height: 544px; + flex-shrink: 0; + scroll-snap-align: start; + display: flex; + flex-direction: column; +} + +.carousel-item img { + width: 100%; + height: 100%; + object-fit: cover; +} + +.carousel-item .caption { + margin-top: 8px; + text-align: center; + font-size: 14px; + color: #555; +} + +@media (max-width: 640px) { + .carousel { + gap: 8px; + padding: 8px; + } + + .carousel-item { + width: 250px; + height: 320px; + } + + .carousel-item .caption { + font-size: 12px; + } +} diff --git a/wwws/admin/src/components/carousel.js b/wwws/admin/src/components/carousel.js new file mode 100644 index 0000000..8e1fadb --- /dev/null +++ b/wwws/admin/src/components/carousel.js @@ -0,0 +1,33 @@ +document.addEventListener("DOMContentLoaded", function () { + const carouselContainer = document.getElementById('carousel-container'); + + const mediaItems = Array(10).fill({ + type: 'image', + src: 'https://s3-alpha-sig.figma.com/img/37a7/42fb/1daabd5424c6093ca79a6d502b3b84ef?Expires=1724630400&Key-Pair-Id=APKAQ4GOSFWCVNEHN3O4&Signature=FgQK8BhmZm52syueYHL8d33N9v48-lePOhb~KQgE528f-GZn8a8HXap5OvWlCdKaf2nZLlFvmgWgpnuz7iekJqEAS95CknKbniYODvBDOGMVIcHrU7YthPZ~YqZSE7pEANVBVEwkB9-1zJ77gT9uEMryjd-xb44NjnBhfLPkP4B9qlqkbuehRRhLGPBnYA9q3PHpf5ocx7j0~xAbomT~EFX2bzwBu70gKN0qTFVRy8uNu8USYah2YotQH58ChxcEPokhPxENAdNCWeDodsWVFrldbeU0CgVzCrn3MLYu9Ep96r7tjAvKfgQQqC6eORHyM-citVFu1DlJx8-CUN26RQ__', + alt: 'Image with Caption' + }); + + const renderCarousel = () => { + mediaItems.forEach((item, index) => { + const halfWidthClass = index === 2 ? 'half-width' : ''; + const captionText = `Optional image caption lorem ipsum dolor sit amet, consectetur adipiscing elit lorem ipsum`; + carouselContainer.innerHTML += ` + + `; + }); + }; + + const renderMedia = (item) => { + if (item.type === 'image') { + return `${item.alt}`; + } else if (item.type === 'video') { + return ``; + } + return ''; + }; + + renderCarousel(); +}); diff --git a/wwws/admin/src/components/checkbox.css b/wwws/admin/src/components/checkbox.css new file mode 100644 index 0000000..d47d623 --- /dev/null +++ b/wwws/admin/src/components/checkbox.css @@ -0,0 +1,77 @@ +.checkbox-container { + display: flex; + align-items: center; + justify-content: space-between; + margin-bottom: 1rem; + width: 130px; +} + +.checkbox-input { + appearance: none; + border: 2px solid #0DC3FF; + border-radius: 4px; + width: 87px; + height: 20px; + display: flex; + align-items: flex-start; + gap: var(--Input-Element-Radius-CTA-M, 12px); + cursor: pointer; + position: relative; + flex-shrink: 0; + transition: width 0.3s ease, height 0.3s ease; +} + +.checkbox-input:checked { + background-color: #0DC3FF; + width: var(--Icon-Sizes-Input, 20px); + height: var(--Icon-Sizes-Input, 20px); + flex-shrink: 0; +} + +.checkbox-input:checked::before { + content: '✔'; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + color: white; +} + +.checkbox-label { + display: flex; + align-items: center; + cursor: pointer; + flex: 1 0 0; + color: var(--app-input-text-label-day, #1E2024); + font-family: Inter, sans-serif; + font-size: 14px; + font-style: normal; + font-weight: 500; + line-height: 20px; +} + +.checkbox-icon { + margin-right: 0.5rem; +} + +.checkbox-label-left { + display: flex; + align-items: center; + justify-content: flex-start; +} + +.checkbox-label-left .checkbox-input { + order: 1; + margin-right: auto; +} + +.checkbox-label-right { + display: flex; + align-items: center; + justify-content: flex-end; +} + +.checkbox-label-right .checkbox-input { + order: 2; + margin-left: auto; +} diff --git a/wwws/admin/src/components/checkbox.html b/wwws/admin/src/components/checkbox.html new file mode 100644 index 0000000..a94c9d2 --- /dev/null +++ b/wwws/admin/src/components/checkbox.html @@ -0,0 +1,39 @@ +
+ +
+ + + + + + + +
+ + +
+ + +
+ + +
+ + + + + + +
+ + +
+ + + + + + + +
+
diff --git a/wwws/admin/src/components/checkbox.js b/wwws/admin/src/components/checkbox.js new file mode 100644 index 0000000..4db6ee5 --- /dev/null +++ b/wwws/admin/src/components/checkbox.js @@ -0,0 +1,51 @@ +const checkboxData = [ + { label: 'Option 1', position: 'right' }, + { label: 'Option 2', icon: '📞', position: 'right' }, + { label: 'Option 3', icon: '📞', position: 'left' }, + { label: 'Option 4', icon: '📞', position: 'left' }, +]; + +function createCheckboxComponent({ label, icon, position, orientation }) { + const checkboxContainer = document.createElement('div'); + checkboxContainer.className = `checkbox-container ${orientation === 'vertical' ? 'flex-col' : ''}`; + + const checkboxInput = document.createElement('input'); + checkboxInput.type = 'checkbox'; + checkboxInput.className = 'checkbox checkbox-primary'; + checkboxInput.id = label; + + const checkboxLabel = document.createElement('label'); + checkboxLabel.className = `checkbox-label checkbox-label-${position}`; + checkboxLabel.htmlFor = label; + + if (icon) { + const iconElement = document.createElement('span'); + iconElement.className = 'icon'; + iconElement.innerText = icon; + checkboxLabel.appendChild(iconElement); + } + + if (label) { + const labelText = document.createElement('span'); + labelText.innerText = label; + checkboxLabel.appendChild(labelText); + } + + if (position === 'left' || orientation === 'vertical') { + checkboxContainer.appendChild(checkboxLabel); + checkboxContainer.appendChild(checkboxInput); + } else { + checkboxContainer.appendChild(checkboxInput); + checkboxContainer.appendChild(checkboxLabel); + } + + return checkboxContainer; +} + +document.addEventListener('DOMContentLoaded', () => { + const checkboxContainer = document.getElementById('checkbox-container'); + checkboxData.forEach(checkboxConfig => { + const checkboxComponent = createCheckboxComponent(checkboxConfig); + checkboxContainer.appendChild(checkboxComponent); + }); +}); diff --git a/wwws/admin/src/components/content.css b/wwws/admin/src/components/content.css new file mode 100644 index 0000000..65b52f2 --- /dev/null +++ b/wwws/admin/src/components/content.css @@ -0,0 +1,41 @@ +body { + font-family: 'Inter', sans-serif; + background-color: var(--_app-global-grayscale-100, #F2F4F7); + margin: 0; + padding: 0; + display: flex; + flex-direction: column; + min-height: 100vh; +} + + +.content-container { + flex: 1; + padding-bottom: 4rem; + background-color: var(--_app-global-grayscale-100, #F2F4F7); +} + + +.sticky-footer { + position: fixed; + bottom: 0; + left: 0; + width: 100%; + padding: 1rem; + background-color: #fff; + box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.1); +} + +.header-container { + width: 100%; + background-color: var(--_app-global-grayscale-100, #F2F4F7); + padding: 1rem; + box-shadow: none; +} + +#plan-header { + font-size: 18px; + font-weight: 600; + margin-bottom: 16px; + color: #18191E; +} diff --git a/wwws/admin/src/components/dropdown.css b/wwws/admin/src/components/dropdown.css new file mode 100644 index 0000000..7de3cbc --- /dev/null +++ b/wwws/admin/src/components/dropdown.css @@ -0,0 +1,114 @@ +.dropdown-container { + width: var(--Chart-Module-Width, 325px); + margin-bottom: 1rem; + position: relative; +} + +.dropdown-label { + display: flex; + height: var(--Icon-Sizes-Input, 20px); + flex-direction: column; + justify-content: flex-end; + flex: 1 0 0; + color: var(--app-input-text-label-day, #1E2024); + font-family: Inter, sans-serif; + font-size: 14px; + font-style: normal; + font-weight: 700; + line-height: 20px; + margin-bottom: 0.5rem; +} + +.dropdown-description { + align-self: stretch; + color: var(--app-input-text-label-light-day, #344054); + font-family: Inter, sans-serif; + font-size: 13px; + font-style: normal; + font-weight: 500; + line-height: 16px; + margin-top: 0.5rem; +} + +.dropdown-placeholder { + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-line-clamp: 1; + flex: 1 0 0; + overflow: hidden; + color: var(--app-input-text-placeholder-text-day, #7D8188); + text-overflow: ellipsis; + font-family: Inter, sans-serif; + font-size: 16px; + font-style: normal; + font-weight: 400; + line-height: 24px; +} + +.dropdown-button { + width: var(--Chart-Module-Width, 325px); + height: 48px; + display: flex; + align-items: center; + justify-content: space-between; + padding: 0.5rem; + border: 1px solid var(--app-input-element-stroke-day, #98A2B3); + border-radius: 4px; + background: var(--app-input-element-background-day, #F9FAFB); + cursor: pointer; +} + +.dropdown-list { + display: none; + flex-direction: column; + align-items: flex-start; + width: var(--Chart-Module-Width, 325px); + max-height: 200px; + overflow-y: auto; + padding: var(--Input-Element-Radius-CTA-S, 6px) 2px var(--Spacing-Keywords, 0px) 2px; + border: 1px solid var(--app-input-element-stroke-day, #98A2B3); + border-radius: 0 0 4px 4px; + background: var(--app-input-element-background-day, #F9FAFB); + position: absolute; + left: 0; + z-index: 10; +} + +.dropdown-list-with-description { + top: 75%; +} + +.dropdown-list-no-description { + top: 100%; +} + +.dropdown-item { + display: flex; + height: 40px; + padding: 8px var(--Icon-Sizes-Input, 20px) 8px 8px; + justify-content: space-between; + align-items: flex-start; + align-self: stretch; + cursor: pointer; + transition: background-color 0.3s, color 0.3s; +} + +.dropdown-item:hover { + background-color: #0DC3FF; +} + +.dropdown-item-text { + flex: 1 0 0; + color: var(--app-input-text-user-input-day, #1E2024); + font-family: Inter, sans-serif; + font-size: 16px; + font-style: normal; + font-weight: 400; + line-height: 24px; + transition: color 0.3s; +} + +.dropdown-item:hover .dropdown-item-text { + color: var(--app-input-text-user-input-day, #1E2024); + font-weight: 600; +} diff --git a/wwws/admin/src/components/dropdown.html b/wwws/admin/src/components/dropdown.html new file mode 100644 index 0000000..55d019b --- /dev/null +++ b/wwws/admin/src/components/dropdown.html @@ -0,0 +1,20 @@ + + + + + + Dropdown Component Example + + + + + +

Dropdown Component Example

+ + + + + + diff --git a/wwws/admin/src/components/dropdown.js b/wwws/admin/src/components/dropdown.js new file mode 100644 index 0000000..5a74a64 --- /dev/null +++ b/wwws/admin/src/components/dropdown.js @@ -0,0 +1,87 @@ +const dropdownData = [ + { label: 'Options', placeholder: 'Select an option', description: 'Choose one of the following items', items: ['Item 1', 'Item 2', 'Item 3'] }, + { placeholder: 'Select without label', items: ['Item A', 'Item B', 'Item C', 'Item D', 'Item E', 'Item F', 'Item G', 'Item H', 'Item I', 'Item J', 'Item K'] }, + { label: 'Options 2', placeholder: 'Choose an item', description: 'Additional description lorem ipsum', items: ['Option 1', 'Option 2', 'Option 3'] }, +]; + +function createDropdownComponent({ label, placeholder, description, items }) { + const dropdownContainer = document.createElement('div'); + dropdownContainer.className = 'dropdown-container mb-6'; + + if (label) { + const labelElement = document.createElement('label'); + labelElement.className = 'dropdown-label block text-gray-700 text-sm font-bold mb-2'; + labelElement.innerText = label; + dropdownContainer.appendChild(labelElement); + } + + const buttonElement = document.createElement('div'); + buttonElement.className = 'dropdown-button'; + buttonElement.innerText = placeholder || 'Select an option'; + dropdownContainer.appendChild(buttonElement); + + const dropdownList = document.createElement('div'); + dropdownList.className = 'dropdown-list'; + dropdownList.style.display = 'none'; + + if (description) { + dropdownList.classList.add('dropdown-list-with-description'); + } else { + dropdownList.classList.add('dropdown-list-no-description'); + } + + items.forEach(item => { + const itemElement = document.createElement('div'); + itemElement.className = 'dropdown-item'; + + const itemText = document.createElement('span'); + itemText.className = 'dropdown-item-text'; + itemText.innerText = item; + + itemElement.appendChild(itemText); + itemElement.addEventListener('click', () => { + buttonElement.innerHTML = ''; + buttonElement.className = 'dropdown-button selected-dropdown-item'; + + const selectedItemText = document.createElement('span'); + selectedItemText.className = 'selected-dropdown-item-text'; + selectedItemText.innerText = item; + buttonElement.appendChild(selectedItemText); + + dropdownList.style.display = 'none'; + }); + + dropdownList.appendChild(itemElement); + }); + + buttonElement.addEventListener('click', (event) => { + event.stopPropagation(); + dropdownList.style.display = dropdownList.style.display === 'none' ? 'flex' : 'none'; + }); + + document.addEventListener('click', (event) => { + if (!dropdownContainer.contains(event.target)) { + dropdownList.style.display = 'none'; + } + }); + + dropdownContainer.appendChild(dropdownList); + + if (description) { + const descriptionElement = document.createElement('p'); + descriptionElement.className = 'dropdown-description text-gray-600 text-xs italic mt-2'; + descriptionElement.innerText = description; + dropdownContainer.appendChild(descriptionElement); + } + + return dropdownContainer; +} + +document.addEventListener('DOMContentLoaded', () => { + console.log("Document loaded, rendering dropdowns..."); + const dropdownContainer = document.getElementById('dropdown-container'); + dropdownData.forEach(dropdownConfig => { + const dropdownComponent = createDropdownComponent(dropdownConfig); + dropdownContainer.appendChild(dropdownComponent); + }); +}); diff --git a/wwws/admin/src/components/duoLayout.css b/wwws/admin/src/components/duoLayout.css new file mode 100644 index 0000000..db3d7b8 --- /dev/null +++ b/wwws/admin/src/components/duoLayout.css @@ -0,0 +1,43 @@ +.duo-layout { + display: flex; + flex-direction: row; + gap: 16px; + justify-content: center; + padding: 0 16px; +} + +.duo-layout .media-item { + width: 500px; + height: 720px; + flex-shrink: 0; + overflow: hidden; +} + +.duo-layout .media-item img { + width: 100%; + height: 100%; + object-fit: cover; +} + + +@media (max-width: 640px) { + .duo-layout { + justify-content: space-between; + gap: 8px; + padding: 0 16px; + max-width: 100%; + } + + .duo-layout .media-item { + width: calc(50% - 5px); + max-width: 200px; + height: 45vh; + margin: 0; + } + + .duo-layout .media-item img { + width: 100%; + height: 100%; + object-fit: cover; + } +} diff --git a/wwws/admin/src/components/footer.css b/wwws/admin/src/components/footer.css new file mode 100644 index 0000000..ccb0f8f --- /dev/null +++ b/wwws/admin/src/components/footer.css @@ -0,0 +1,10 @@ +.sticky-footer { + position: fixed; + bottom: 0; + left: 0; + width: 100%; + padding: 1rem; + background-color: #fff; + box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.1); + } + \ No newline at end of file diff --git a/wwws/admin/src/components/header.css b/wwws/admin/src/components/header.css new file mode 100644 index 0000000..397be49 --- /dev/null +++ b/wwws/admin/src/components/header.css @@ -0,0 +1,285 @@ +body { + margin: 0; + font-family: 'Montserrat', sans-serif; + position: relative; +} + +.header-background { + height: 80vh; + background-size: cover; + background-position: center; + position: relative; + z-index: 1; +} + +.remaining-background { + position: absolute; + bottom: 0; + left: 0; + width: 100%; + height: 20vh; + background-color: black; + z-index: 1; +} + +.container { + width: 78%; + margin: 0 auto; + display: flex; + justify-content: space-between; + align-items: center; + z-index: 3; +} + +.logo { + width: 160px; + height: auto; + flex-shrink: 0; + margin-left: 0; +} + +.nav-link { + color: #f6f6f6; + font-family: 'Montserrat', sans-serif; + font-size: 16px; + font-style: normal; + font-weight: 800; + line-height: normal; + letter-spacing: -0.32px; + margin-right: 1.5vw; +} + +.menu-button { + display: none; + background: none; + border: none; + cursor: pointer; +} + +.menu-icon { + width: 30px; + height: auto; +} + +.text-box { + display: flex; + flex-direction: column; + align-items: flex-start; + gap: 0.5vh; + width: 30vw; + height: 35vh; + padding: 3vh 3.5vw; + border-radius: 0.5vh; + background-color: #161616; + color: #f6f6f6; + margin-bottom: 1vh; + transform: translateY(-5vh); +} + +.headline1 { + color: #f6f6f6; + font-family: 'Montserrat', sans-serif; + font-size: 36px; + font-style: normal; + font-weight: 800; + line-height: 44px; + letter-spacing: -0.72px; + margin: 0; +} + +.headline2 { + font-family: 'Montserrat', sans-serif; + font-size: 36px; + font-style: normal; + font-weight: 800; + line-height: 44px; + letter-spacing: -0.72px; + background: linear-gradient(104deg, #00FFC2 0%, #00C0FF 100%); + background-clip: text; + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + color: transparent; + margin: 0; +} + +.description-text { + font-family: 'Montserrat', sans-serif; + font-size: 22px; + font-style: normal; + font-weight: 600; + line-height: 32px; + color: #f6f6f6; + margin-top: 2vh; + max-width: 100%; +} + +.text-highlight { + background: linear-gradient(103deg, #00FFC2 15.48%, #00C0FF 39.9%); + background-clip: text; + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + font-family: 'Montserrat', sans-serif; + font-size: 22px; + font-style: normal; + font-weight: 700; + line-height: 25px; + letter-spacing: -0.44px; +} + +.email-signup-box { + display: flex; + flex-direction: column; + align-items: flex-start; + gap: 1vh; + width: 30vw; + padding: 2vh 3.5vw; + border-radius: 0.5vh; + background-color: #292F38; + color: #f6f6f6; + box-shadow: 0px 0.5vh 1.5vh rgba(0, 0, 0, 0.25); + transform: translateY(-7vh); +} + +.email-input { + width: 284px; + height: 48px; + border-radius: 4px; + border: 1px solid #667085; + background-color: #161616; + color: #ffffff; + padding: 0.5vh 1vw; +} + +.gradient-button { + background: linear-gradient(90deg, #00ffc2 0%, #00c0ff 100%); + color: white; + padding: 1vh 2vw; + border-radius: 0.4vh; + border: none; + cursor: pointer; + transition: background 0.3s ease; +} + +.header-gradient { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 200vh; + background: linear-gradient(to bottom, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0) 80%); + z-index: 2; + pointer-events: none; +} + +@media only screen and (max-width: 768px) { + .header-container { + background-size: 250%; + background-position: center top; + flex-direction: column; + padding: 2vh 5vw; + } + + .header-background { + background-size: cover; + background-position: center; + height: 80vh; + background-color: black; + } + + .container { + width: auto; + margin: 0; + padding: 0; + display: flex; + flex-direction: row; + align-items: center; + justify-content: space-between; + } + + .logo { + width: 180px; + height: auto; + margin-top: 40px; + margin-left: 45px; + } + + .nav-link { + display: none; + } + + .menu-button { + display: flex; + align-items: center; + margin-right: 40px; + margin-top: 45px; + } + + .menu-icon { + display: block; + width: 33px; + height: auto; + } + + .text-box, .email-signup-box { + width: 80vw; + margin-left: -7vw; + margin-right: 0; + text-align: left; + transform: translateY(3vh); + } + + .text-box { + padding: 3vh 4vw; + height: auto; + } + + .email-signup-box { + display: flex; + flex-direction: column; + align-items: stretch; + padding: 20px; + background-color: #292F38; + color: #f6f6f6; + box-sizing: border-box; + border-radius: 8px; + height: auto; + min-height: 210px; + transform: translateY(1vh); + } + + .email-input { + width: 87.5%; + height: 48px; + padding: 12px; + border-radius: 4px; + border: 1px solid #667084; + background-color: #161616; + color: #f6f6f6; + margin: 0; + margin-bottom: 10px; + box-sizing: border-box; + position: absolute; + top: 76px; + left: 20px; + } + + .gradient-button { + width: 87.5%; + height: 48px; + padding: 12px; + background: linear-gradient(90deg, #00ffc2 0%, #00c0ff 100%); + color: #ffffff; + text-align: center; + cursor: pointer; + border: none; + border-radius: 16px; + box-sizing: border-box; + position: absolute; + top: 140px; + left: 13px; + } + + .gradient-button:hover { + background: linear-gradient(90deg, #00c0ff 0%, #00ffc2 100%); + } +} diff --git a/wwws/admin/src/components/header.html b/wwws/admin/src/components/header.html new file mode 100644 index 0000000..0f0f317 --- /dev/null +++ b/wwws/admin/src/components/header.html @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + Header Component + + +
+ +
+
+ + +
+ +
+ +
+ +
+ + + + + + +
+ + +
+ +
+

Votre

+

agent de recrutement

+

personnel 24/7.

+

+ Laissez smatchit faire pour trouver votre job, détendez-vous et soyez à l’heure à vos futurs entretiens 😊 +

+
+ + + +
+
+ + diff --git a/wwws/admin/src/components/header.js b/wwws/admin/src/components/header.js new file mode 100644 index 0000000..9d77a94 --- /dev/null +++ b/wwws/admin/src/components/header.js @@ -0,0 +1,13 @@ +// components/header/header.js + +document.addEventListener('DOMContentLoaded', () => { + const button = document.querySelector('.btn-primary'); + button.addEventListener('click', () => { + const emailInput = document.querySelector('.input[type="email"]').value; + if (emailInput) { + alert(`Email ${emailInput} submitted successfully!`); + } else { + alert('Please enter a valid email.'); + } + }); +}); diff --git a/wwws/admin/src/components/inset.css b/wwws/admin/src/components/inset.css new file mode 100644 index 0000000..eedbea5 --- /dev/null +++ b/wwws/admin/src/components/inset.css @@ -0,0 +1,8 @@ +.inset-wrapper { + max-width: 1024px; + margin: 0 auto; + box-shadow: none; + border-radius: 0; + padding: 0; + background-color: transparent; +} \ No newline at end of file diff --git a/wwws/admin/src/components/media-item.html b/wwws/admin/src/components/media-item.html new file mode 100644 index 0000000..333bd38 --- /dev/null +++ b/wwws/admin/src/components/media-item.html @@ -0,0 +1,4 @@ + +
+ {{alt}} +
diff --git a/wwws/admin/src/components/media-layout.js b/wwws/admin/src/components/media-layout.js new file mode 100644 index 0000000..dd478d5 --- /dev/null +++ b/wwws/admin/src/components/media-layout.js @@ -0,0 +1,72 @@ +// layout-manager.js +document.addEventListener("DOMContentLoaded", function () { + const mediaContainer = document.getElementById('media-container'); + + // Media items with the specified image URL repeated + const mediaItems = [ + { type: 'image', src: 'https://s3-alpha-sig.figma.com/img/37a7/42fb/1daabd5424c6093ca79a6d502b3b84ef?Expires=1724630400&Key-Pair-Id=APKAQ4GOSFWCVNEHN3O4&Signature=FgQK8BhmZm52syueYHL8d33N9v48-lePOhb~KQgE528f-GZn8a8HXap5OvWlCdKaf2nZLlFvmgWgpnuz7iekJqEAS95CknKbniYODvBDOGMVIcHrU7YthPZ~YqZSE7pEANVBVEwkB9-1zJ77gT9uEMryjd-xb44NjnBhfLPkP4B9qlqkbuehRRhLGPBnYA9q3PHpf5ocx7j0~xAbomT~EFX2bzwBu70gKN0qTFVRy8uNu8USYah2YotQH58ChxcEPokhPxENAdNCWeDodsWVFrldbeU0CgVzCrn3MLYu9Ep96r7tjAvKfgQQqC6eORHyM-citVFu1DlJx8-CUN26RQ__', alt: 'Image 1' }, + { type: 'image', src: 'https://s3-alpha-sig.figma.com/img/37a7/42fb/1daabd5424c6093ca79a6d502b3b84ef?Expires=1724630400&Key-Pair-Id=APKAQ4GOSFWCVNEHN3O4&Signature=FgQK8BhmZm52syueYHL8d33N9v48-lePOhb~KQgE528f-GZn8a8HXap5OvWlCdKaf2nZLlFvmgWgpnuz7iekJqEAS95CknKbniYODvBDOGMVIcHrU7YthPZ~YqZSE7pEANVBVEwkB9-1zJ77gT9uEMryjd-xb44NjnBhfLPkP4B9qlqkbuehRRhLGPBnYA9q3PHpf5ocx7j0~xAbomT~EFX2bzwBu70gKN0qTFVRy8uNu8USYah2YotQH58ChxcEPokhPxENAdNCWeDodsWVFrldbeU0CgVzCrn3MLYu9Ep96r7tjAvKfgQQqC6eORHyM-citVFu1DlJx8-CUN26RQ__', alt: 'Image 2' }, + // { type: 'image', src: 'https://s3-alpha-sig.figma.com/img/37a7/42fb/1daabd5424c6093ca79a6d502b3b84ef?Expires=1724630400&Key-Pair-Id=APKAQ4GOSFWCVNEHN3O4&Signature=FgQK8BhmZm52syueYHL8d33N9v48-lePOhb~KQgE528f-GZn8a8HXap5OvWlCdKaf2nZLlFvmgWgpnuz7iekJqEAS95CknKbniYODvBDOGMVIcHrU7YthPZ~YqZSE7pEANVBVEwkB9-1zJ77gT9uEMryjd-xb44NjnBhfLPkP4B9qlqkbuehRRhLGPBnYA9q3PHpf5ocx7j0~xAbomT~EFX2bzwBu70gKN0qTFVRy8uNu8USYah2YotQH58ChxcEPokhPxENAdNCWeDodsWVFrldbeU0CgVzCrn3MLYu9Ep96r7tjAvKfgQQqC6eORHyM-citVFu1DlJx8-CUN26RQ__', alt: 'Image 3' }, + { type: 'image', src: 'https://s3-alpha-sig.figma.com/img/37a7/42fb/1daabd5424c6093ca79a6d502b3b84ef?Expires=1724630400&Key-Pair-Id=APKAQ4GOSFWCVNEHN3O4&Signature=FgQK8BhmZm52syueYHL8d33N9v48-lePOhb~KQgE528f-GZn8a8HXap5OvWlCdKaf2nZLlFvmgWgpnuz7iekJqEAS95CknKbniYODvBDOGMVIcHrU7YthPZ~YqZSE7pEANVBVEwkB9-1zJ77gT9uEMryjd-xb44NjnBhfLPkP4B9qlqkbuehRRhLGPBnYA9q3PHpf5ocx7j0~xAbomT~EFX2bzwBu70gKN0qTFVRy8uNu8USYah2YotQH58ChxcEPokhPxENAdNCWeDodsWVFrldbeU0CgVzCrn3MLYu9Ep96r7tjAvKfgQQqC6eORHyM-citVFu1DlJx8-CUN26RQ__', alt: 'Image 4' }, + ]; + + const useQuatreA = false; // Set this to true for Quatre A, false for Quatre B + + // Apply the appropriate layout based on the number of media items + const applyLayout = () => { + mediaContainer.innerHTML = ''; // Clear existing content + const itemCount = mediaItems.length; + + if (itemCount === 1) { + // Single Image Layout + mediaContainer.className = 'single-layout'; + mediaContainer.innerHTML += `
${renderMedia(mediaItems[0])}
`; + } else if (itemCount === 2) { + // Duo Layout + mediaContainer.className = 'duo-layout'; + mediaItems.forEach(item => { + mediaContainer.innerHTML += `
${renderMedia(item)}
`; + }); + } else if (itemCount === 3) { + // Trio Layout + mediaContainer.className = 'trio-layout'; + mediaContainer.innerHTML += `
${renderMedia(mediaItems[0])}
`; + mediaContainer.innerHTML += ` +
+
${renderMedia(mediaItems[1])}
+
${renderMedia(mediaItems[2])}
+
`; + return; + } else if (itemCount >= 4) { + if (useQuatreA) { + // Quatre A Layout + mediaContainer.className = 'grid grid-cols-2 gap-4'; + mediaItems.forEach(item => { + mediaContainer.innerHTML += `
${renderMedia(item)}
`; + }); + } else { + // Quatre B Layout + mediaContainer.className = 'quatre-b-layout'; + mediaContainer.innerHTML += `
${renderMedia(mediaItems[0])}
`; + mediaContainer.innerHTML += `
`; + for (let i = 1; i < Math.min(5, itemCount); i++) { + mediaContainer.innerHTML += `
${renderMedia(mediaItems[i])}
`; + } + mediaContainer.innerHTML += `
`; + } + } + }; + + // Function to render media based on its type + const renderMedia = (item) => { + if (item.type === 'image') { + return `${item.alt}`; /* Ensure images fill their containers */ + } else if (item.type === 'video') { + return ``; + } + return ''; + }; + + // Apply the layout + applyLayout(); +}); diff --git a/wwws/admin/src/components/media.js b/wwws/admin/src/components/media.js new file mode 100644 index 0000000..66b0b6e --- /dev/null +++ b/wwws/admin/src/components/media.js @@ -0,0 +1,21 @@ +document.addEventListener("DOMContentLoaded", function() { + const mediaType = 'image'; + const hasPlayButton = true; + const image = document.getElementById('media-image'); + const video = document.getElementById('media-video'); + const playButton = document.getElementById('play-button'); + const caption = document.getElementById('caption'); + + + if (mediaType === 'image') { + image.classList.remove('hidden'); + } else if (mediaType === 'video') { + video.classList.remove('hidden'); + } + + + if (hasPlayButton && mediaType === 'video') { + playButton.classList.remove('hidden'); + } + }); + \ No newline at end of file diff --git a/wwws/admin/src/components/quatreLayout.css b/wwws/admin/src/components/quatreLayout.css new file mode 100644 index 0000000..86e5d8d --- /dev/null +++ b/wwws/admin/src/components/quatreLayout.css @@ -0,0 +1,72 @@ +.quatre-b-layout { + display: grid; + grid-template-rows: auto 1fr; + grid-template-columns: repeat(3, 1fr); + gap: 10px; +} + + +.quatre-b-layout .top-image { + display: flex; + width: 100%; + height: 440px; + flex-direction: column; + align-items: flex-start; + gap: 16px; + flex-shrink: 0; + grid-column: 1 / span 3; +} + +.quatre-b-layout .top-image img { + width: 100%; + height: 100%; + object-fit: cover; +} + +.quatre-b-layout .bottom-row { + display: contents; +} + +.quatre-b-layout .media-item { + overflow: hidden; + grid-column: span 1; + width: 100%; +} + +.quatre-b-layout .media-item img { + width: 100%; + height: auto; + object-fit: contain; +} + + +@media (max-width: 768px) { + .quatre-b-layout { + display: grid; + grid-template-columns: repeat(3, 1fr); + grid-template-rows: auto 1fr; + gap: 10px; + } + + .quatre-b-layout .top-image { + width: 100%; + height: auto; + grid-column: 1 / span 3; + } + + .quatre-b-layout .bottom-row { + display: contents; + } + + .quatre-b-layout .media-item { + width: 100%; + height: auto; + grid-column: span 1; + } + + .quatre-b-layout .media-item img { + width: 100%; + height: auto; + object-fit: cover; + } +} diff --git a/wwws/admin/src/components/radiobutton.css b/wwws/admin/src/components/radiobutton.css new file mode 100644 index 0000000..df4a16f --- /dev/null +++ b/wwws/admin/src/components/radiobutton.css @@ -0,0 +1,67 @@ +.radio-container { + display: flex; + align-items: center; + justify-content: space-between; + margin-bottom: 1rem; + width: 130px; +} + +.radio-input { + appearance: none; + border: 2px solid #98A2B3; + border-radius: 50%; + width: var(--Chart-Column-Margin, 24px); + height: var(--Chart-Column-Margin, 24px); + display: flex; + justify-content: center; + align-items: center; + cursor: pointer; + flex-shrink: 0; + position: relative; +} + +.radio-input:checked { + border-color: #0DC3FF; + background-color: #0DC3FF; +} + +.radio-input:checked::before { + content: ''; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + width: 10px; + height: 10px; + background-color: white; + border-radius: 50%; +} + +.radio-label { + display: flex; + align-items: center; + color: var(--app-input-text-label-day, #1E2024); + font-family: Inter, sans-serif; + font-size: 14px; + font-style: normal; + font-weight: 500; + line-height: 20px; +} + +.icon { + margin-right: 0.5rem; +} + +.radio-label-left { + justify-content: flex-end; + margin-left: 10px; + order: 2; + flex-grow: 1; +} + +.radio-label-right { + justify-content: flex-start; + margin-right: 10px; + order: 1; + flex-grow: 1; +} diff --git a/wwws/admin/src/components/radiobutton.html b/wwws/admin/src/components/radiobutton.html new file mode 100644 index 0000000..ae11c8d --- /dev/null +++ b/wwws/admin/src/components/radiobutton.html @@ -0,0 +1,14 @@ + + + + + + Reusable Components + + + + +
+ + + diff --git a/wwws/admin/src/components/radiobutton.js b/wwws/admin/src/components/radiobutton.js new file mode 100644 index 0000000..604624a --- /dev/null +++ b/wwws/admin/src/components/radiobutton.js @@ -0,0 +1,58 @@ +const radiobuttonData = [ + { label: 'Option 1', position: 'right' }, + { label: 'Option 2', icon: '📞', position: 'right' }, + { label: 'Option 3', icon: '📞', position: 'left' }, + { label: 'Option 4', icon: '📞', position: 'left' }, +]; + +function createRadiobuttonComponent({ label, icon, position }) { + const radioContainer = document.createElement('div'); + radioContainer.className = 'radio-container'; + + const radioInput = document.createElement('input'); + radioInput.type = 'radio'; + radioInput.className = 'radio-input'; + radioInput.name = 'radio'; + radioInput.id = label; + + const radioLabel = document.createElement('label'); + radioLabel.className = `radio-label`; + radioLabel.htmlFor = label; + + if (position === 'left') { + radioContainer.appendChild(radioInput); + } + + if (icon) { + const iconElement = document.createElement('span'); + iconElement.className = 'icon'; + iconElement.innerText = icon; + radioLabel.appendChild(iconElement); + } + + if (label) { + const labelText = document.createElement('span'); + labelText.innerText = label; + radioLabel.appendChild(labelText); + } + + if (position === 'right') { + radioContainer.appendChild(radioInput); + } + + if (position === 'left') { + radioContainer.appendChild(radioLabel); + } else { + radioContainer.insertBefore(radioLabel, radioInput); + } + + return radioContainer; +} + +document.addEventListener('DOMContentLoaded', () => { + const radiobuttonContainer = document.getElementById('radiobutton-container'); + radiobuttonData.forEach(radiobuttonConfig => { + const radiobuttonComponent = createRadiobuttonComponent(radiobuttonConfig); + radiobuttonContainer.appendChild(radiobuttonComponent); + }); +}); diff --git a/wwws/admin/src/components/single-column.html b/wwws/admin/src/components/single-column.html new file mode 100644 index 0000000..27e26b0 --- /dev/null +++ b/wwws/admin/src/components/single-column.html @@ -0,0 +1,9 @@ + +
+
+

Headline 3 optional

+

Headline 4 optional

+
+

Water polo has been part of the Summer Olympics program since the second games, in 1900...

+
+ \ No newline at end of file diff --git a/wwws/admin/src/components/tabs.css b/wwws/admin/src/components/tabs.css new file mode 100644 index 0000000..357cab9 --- /dev/null +++ b/wwws/admin/src/components/tabs.css @@ -0,0 +1,39 @@ +.custom-tabs { + background-color: #f1f1f1; + padding: 0.5rem; + border-radius: 50px; + display: flex; + justify-content: center; + align-items: center; + position: relative; +} + +.custom-tab { + padding: 0.5rem 1.5rem; + cursor: pointer; + transition: background-color 0.3s, color 0.3s; + font-size: 15px; + font-weight: 600; + color: #6b7280; + background-color: #e5e7eb; + margin-left: -5px; + border-radius: 50px; + z-index: 1; +} + +.custom-tab:first-child { + margin-left: 0; +} + +.custom-tab-active { + background-color: #000; + color: #fff; + font-weight: 700; + z-index: 2; +} + +.custom-tab-inactive { + color: #9CA3AF; + font-weight: 500; + z-index: 1; +} diff --git a/wwws/admin/src/components/text-layout.js b/wwws/admin/src/components/text-layout.js new file mode 100644 index 0000000..6315955 --- /dev/null +++ b/wwws/admin/src/components/text-layout.js @@ -0,0 +1,4 @@ +function setLayout(layoutClass) { + const container = document.getElementById('text-layout-container'); + container.className = `content-container ${layoutClass}`; +} diff --git a/wwws/admin/src/components/text-media-1.css b/wwws/admin/src/components/text-media-1.css new file mode 100644 index 0000000..b6a88c9 --- /dev/null +++ b/wwws/admin/src/components/text-media-1.css @@ -0,0 +1,132 @@ +.text-media-1-wrapper { + max-width: 1608px; + margin: 0 auto; + padding: 0 16px; + background-color: white; + box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1); + border-radius: 8px; +} + +.text-media-1 { + display: flex; + justify-content: space-between; + align-items: center; + padding: 0; + flex-direction: row; +} + +.text-media-1.reverse { + flex-direction: row-reverse; +} + +.text-media-1 .text-section, +.text-media-1 .media-section { + width: 50%; +} + +.text-media-1 .text-section { + padding-right: 16px; + display: flex; + flex-direction: column; + justify-content: flex-start; + margin-top: 0; + padding: var(--text-padding-vertical-desktop, 8px) 0; + align-items: flex-start; + align-self: stretch; +} + +.text-media-1 .media-section { + padding-left: 0; + padding-right: 0; + margin-top: 16px; +} + +.text-media-1 .text-section h3 { + color: var(--app-text-stroke-text-stroke-day, #18191E); + font-family: Montserrat; + font-size: 32px; + font-style: normal; + font-weight: 700; + line-height: 40px; + letter-spacing: -0.64px; + margin-bottom: 0.2rem; + margin-top: 0; + text-align: left; +} + +.text-media-1 .text-section h4 { + color: var(--app-text-stroke-text-stroke-day, #18191E); + font-family: Montserrat; + font-size: 28px; + font-style: normal; + font-weight: 600; + line-height: 40px; + letter-spacing: -0.56px; + margin-bottom: 1rem; + margin-top: 0; + text-align: left; +} + +.text-media-1 .text-section p { + color: var(--app-text-stroke-text-stroke-day, #18191E); + font-family: Inter; + font-size: 18px; + font-style: normal; + font-weight: 500; + line-height: 28px; + margin-top: 0; + margin-bottom: 0; + width: 100%; + text-align: left; + max-width: 100%; +} + +.text-media-1 .media-section img { + width: 100%; + height: auto; + flex-shrink: 0; + object-fit: cover; + border-radius: 8px; + max-width: 100%; +} + +@media (max-width: 640px) { + .text-media-1, + .text-media-1.reverse { + flex-direction: column; + align-items: flex-start; + padding: 0 16px; + } + + .text-media-1 .text-section, + .text-media-1 .media-section, + .text-media-1.reverse .text-section, + .text-media-1.reverse .media-section { + width: 100%; + max-width: 100%; + } + + .text-media-1 .media-section img, + .text-media-1.reverse .media-section img { + margin-bottom: 20px; + } + + .text-media-1 .text-section h3, + .text-media-1 .text-section h4, + .text-media-1.reverse .text-section h3, + .text-media-1.reverse .text-section h4 { + text-align: left; + margin-bottom: 8px; + } + + .text-media-1 .text-section p, + .text-media-1.reverse .text-section p { + text-align: left; + margin-bottom: 20px; + } + + .text-media-1-wrapper { + padding-left: 0; + padding-right: 0; + } +} diff --git a/wwws/admin/src/components/text-media-1.html b/wwws/admin/src/components/text-media-1.html new file mode 100644 index 0000000..6e6b07b --- /dev/null +++ b/wwws/admin/src/components/text-media-1.html @@ -0,0 +1,13 @@ + +
+
+
+

+

+

+
+
+ Description of image +
+
+
diff --git a/wwws/admin/src/components/text-media-1.js b/wwws/admin/src/components/text-media-1.js new file mode 100644 index 0000000..c63d220 --- /dev/null +++ b/wwws/admin/src/components/text-media-1.js @@ -0,0 +1,31 @@ +document.addEventListener("DOMContentLoaded", function() { + const config = { + order: 'media-text', // or 'media-text' + h3: 'Your Headline 3 Text', + h4: 'Your Headline 4 Text', + bodyText: 'Body Text Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.sdsdsd', + imageUrl: 'https://s3-alpha-sig.figma.com/img/37a7/42fb/1daabd5424c6093ca79a6d502b3b84ef?Expires=1725235200&Key-Pair-Id=APKAQ4GOSFWCVNEHN3O4&Signature=aiQBLdi9Fj2GEiVQIUFmOcfAnAh4W79hJej42foev128u4u2p5AEfKLOse~ksw7eOT3QvQsqtKNsbcwcaBzwUljFVc-SaQkeY7bfgDXwCQ~aMOysamP-HbYx3D0cIIZQwJorkddZS9smInFTzHObShtlwVU05hN~yPBGVk0AaDRZ2oICAtH1aJF~GMQshvpElVpUQRGvpY5~WZOAI9f3ESrfij~zw9WwKVSlK0TrJiNzKhVW14eff4Y8KCkoWA9KUINS8BOiXu5COH~MDo4MXveP805~bRjAoji4G4DKwmUNvdGWJGRYRwoIzJ9kMIWQVhuvWi8Yk4naDkLDCXYtDQ__' + }; + + fetch('components/text-media-1.html') + .then(response => response.text()) + .then(data => { + document.getElementById('text-media-1-container').innerHTML = data; + + const wrapper = document.querySelector('.text-media-1'); + const h3 = document.querySelector('.text-section h3'); + const h4 = document.querySelector('.text-section h4'); + const p = document.querySelector('.text-section p'); + const img = document.querySelector('.media-section img'); + + h3.textContent = config.h3; + h4.textContent = config.h4; + p.textContent = config.bodyText; + img.src = config.imageUrl; + + if (config.order === 'media-text') { + wrapper.classList.add('reverse'); + } + }) + .catch(error => console.error('Error loading text-media-1 component:', error)); +}); diff --git a/wwws/admin/src/components/text-media-2.css b/wwws/admin/src/components/text-media-2.css new file mode 100644 index 0000000..65a07e9 --- /dev/null +++ b/wwws/admin/src/components/text-media-2.css @@ -0,0 +1,109 @@ +.text-media-2-wrapper { + max-width: 1608px; + margin: 0 auto; + padding-left: 360px; + padding-right: 292px; + background-color: white; + box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1); + border-radius: 8px; +} + +.text-media-2 { + display: flex; + justify-content: space-between; + align-items: center; + padding: 0; + flex-direction: row; +} + +.text-media-2.reverse { + flex-direction: row-reverse; +} + +.text-media-2 .text-section, +.text-media-2 .media-section { + width: 50%; +} + +.text-media-2 .text-section { + padding-right: 20px; + display: flex; + flex-direction: column; + justify-content: flex-start; + margin-top: 0; + padding: var(--text-padding-vertical-desktop, 8px) var(--text-padding-horizontal-desktop, 16px) var(--text-padding-vertical-desktop, 8px) var(--Spacing-Keywords, 0px); + align-items: flex-start; + align-self: stretch; +} + +.text-media-2 .media-section { + padding-left: 0; + padding-right: 0; +} + +.text-media-2 .text-section h3 { + color: var(--app-text-stroke-text-stroke-day, #18191E); + font-family: Montserrat; + font-size: 44px; + font-style: normal; + font-weight: 700; + line-height: 56px; + letter-spacing: -0.88px; + margin-bottom: 1rem; + margin-top: 0; +} + +.text-media-2 .media-section img { + width: 100%; + height: auto; + object-fit: cover; + border-radius: 8px; + margin-bottom: 8px; + max-width: 100%; +} + +.text-media-2 .media-section .image-caption { + font-family: Inter; + font-size: 14px; + color: #555; + margin-top: 0; + margin-bottom: 0; + text-align: center; +} + +@media (max-width: 640px) { + .text-media-2 { + flex-direction: column; + align-items: flex-start; + padding: 0 12px; + } + + .text-media-2.reverse { + flex-direction: column; + } + + .text-media-2 .text-section, + .text-media-2 .media-section { + width: 100%; + max-width: 95%; + } + + .text-media-2 .media-section img { + margin-bottom: 20px; + } + + .text-media-2 .text-section h3 { + text-align: left; + margin-bottom: 8px; + } + + .text-media-2 .media-section .image-caption { + text-align: left; + } + + .text-media-2-wrapper { + padding-left: 0; + padding-right: 0; + max-width: 100%; + } +} diff --git a/wwws/admin/src/components/text-media-2.html b/wwws/admin/src/components/text-media-2.html new file mode 100644 index 0000000..0e61a93 --- /dev/null +++ b/wwws/admin/src/components/text-media-2.html @@ -0,0 +1,12 @@ + +
+
+
+ Description of image +

+
+
+

+
+
+
diff --git a/wwws/admin/src/components/text-media-2.js b/wwws/admin/src/components/text-media-2.js new file mode 100644 index 0000000..f427279 --- /dev/null +++ b/wwws/admin/src/components/text-media-2.js @@ -0,0 +1,42 @@ +document.addEventListener("DOMContentLoaded", function() { + const config = { + order: 'text-media', // or 'media-text' + mainText: 'Headline Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.', + imageUrl: 'https://s3-alpha-sig.figma.com/img/37a7/42fb/1daabd5424c6093ca79a6d502b3b84ef?Expires=1724630400&Key-Pair-Id=APKAQ4GOSFWCVNEHN3O4&Signature=FgQK8BhmZm52syueYHL8d33N9v48-lePOhb~KQgE528f-GZn8a8HXap5OvWlCdKaf2nZLlFvmgWgpnuz7iekJqEAS95CknKbniYODvBDOGMVIcHrU7YthPZ~YqZSE7pEANVBVEwkB9-1zJ77gT9uEMryjd-xb44NjnBhfLPkP4B9qlqkbuehRRhLGPBnYA9q3PHpf5ocx7j0~xAbomT~EFX2bzwBu70gKN0qTFVRy8uNu8USYah2YotQH58ChxcEPokhPxENAdNCWeDodsWVFrldbeU0CgVzCrn3MLYu9Ep96r7tjAvKfgQQqC6eORHyM-citVFu1DlJx8-CUN26RQ__', + imageCaption: '' + }; + + // Fetch and load the HTML component + fetch('components/text-media-2.html') + .then(response => response.text()) + .then(data => { + document.getElementById('text-media-2-container').innerHTML = data; + + const wrapper = document.querySelector('.text-media-2'); + const h3 = document.querySelector('.text-section h3'); + const img = document.querySelector('.media-section img'); + const imgCaption = document.querySelector('.media-section .image-caption'); + + // Update content + h3.textContent = config.mainText; + img.src = config.imageUrl; + + if (config.imageCaption) { + imgCaption.textContent = config.imageCaption; + img.style.width = '414px'; + img.style.height = '624px'; + imgCaption.style.display = 'block'; + } else { + img.style.width = '414px'; + img.style.height = '680px'; + imgCaption.style.display = 'none'; + } + + // Set order + if (config.order === 'text-media') { + wrapper.classList.add('reverse'); + } + }) + .catch(error => console.error('Error loading text-media-2 component:', error)); + }); + \ No newline at end of file diff --git a/wwws/admin/src/components/text-media-3.css b/wwws/admin/src/components/text-media-3.css new file mode 100644 index 0000000..e142950 --- /dev/null +++ b/wwws/admin/src/components/text-media-3.css @@ -0,0 +1,101 @@ +.header-container { + text-align: center; + margin-bottom: 40px; +} + +.header3 { + align-self: stretch; + color: var(--app-text-stroke-text-stroke-day, #18191E); + text-align: center; + font-family: Montserrat; + font-size: 32px; + font-style: normal; + font-weight: 700; + line-height: 40px; + letter-spacing: -0.64px; +} + +.header4 { + align-self: stretch; + color: var(--app-text-stroke-text-stroke-day, #18191E); + text-align: center; + font-family: Montserrat; + font-size: 28px; + font-style: normal; + font-weight: 600; + line-height: 40px; + letter-spacing: -0.56px; +} + +.component-instance { + display: flex; + padding: 16px var(--Spacing-Keywords, 0px); + flex-direction: column; + align-items: center; + gap: 16px; + flex: 1 0 0; + text-align: center; +} + +.circle-image { + width: 216px; + height: 216px; + border-radius: 50%; + overflow: hidden; + flex-shrink: 0; +} + +.circle-image img { + width: 100%; + height: 100%; + object-fit: cover; +} + +.component-title { + color: var(--app-text-stroke-text-stroke-day, #18191E); + text-align: center; + font-family: Montserrat; + font-size: 28px; + font-style: normal; + font-weight: 700; + line-height: 40px; + letter-spacing: -0.56px; + margin-bottom: 8px; +} + +.component-description { + max-width: 420px; + color: var(--app-text-stroke-text-stroke-day, #18191E); + text-align: center; + font-family: Inter; + font-size: 16px; + font-style: normal; + font-weight: 500; + line-height: 24px; + align-self: center; +} + +@media (max-width: 640px) { + .component-instance { + width: 100%; + height: auto; + flex-direction: column; + align-items: center; + gap: 16px; + } + + #component-container { + display: flex; + flex-direction: column; + align-items: center; + gap: 40px; + } + + .component-instance .circle-image { + margin: 0 auto 16px auto; + } + + .component-title { + margin-bottom: 3px; + } +} diff --git a/wwws/admin/src/components/text-media-3.js b/wwws/admin/src/components/text-media-3.js new file mode 100644 index 0000000..4f796fe --- /dev/null +++ b/wwws/admin/src/components/text-media-3.js @@ -0,0 +1,88 @@ +document.addEventListener("DOMContentLoaded", function () { + const componentContainer = document.getElementById('component-container'); + const header3 = document.getElementById('header3'); + const header4 = document.getElementById('header4'); + + + const showHeader3 = true; + const showHeader4 = true; + + if (!showHeader3) { + header3.style.display = 'none'; + } + if (!showHeader4) { + header4.style.display = 'none'; + } + + const componentItems = [ + { + imgSrc: 'https://s3-alpha-sig.figma.com/img/76ee/44f2/f217c1ad69179127d1a6a4090d526d86?Expires=1725235200&Key-Pair-Id=APKAQ4GOSFWCVNEHN3O4&Signature=K4KFTc-I4v1fXpSb3eXUkK2kDxJ4hpOVzH6xOyxXXqQCrbew8GjtlOBtRnhihEjtHa2U5N5BfsLyJ4Cvu6K8hW9fyUobMuWuwuWY9~lWEqg-gkTjxSRbxaQVWWrUGsTAFi6-AjqF8PBm3gxandf4JwXTqqydEwYfwPRVb3kTwue5-lDhj4ydmVhO5XXqeqFOQJG4PFIxV7lbCPhqnsCZdB~6uRUkGbFf8HJaqsOKmpnslmtdw237rTlu6VhpQEcs7AKcsIF9N2WI9rnK1OYQdqWz59vbhmYbb0MNuznykLLAINuDFVYU8D958mBrGM1z3zZjVm31ErbnpvzaJarpDQ__', + title: 'Title 1', + description: 'Image Description Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.', + }, + { + imgSrc: 'https://s3-alpha-sig.figma.com/img/76ee/44f2/f217c1ad69179127d1a6a4090d526d86?Expires=1725235200&Key-Pair-Id=APKAQ4GOSFWCVNEHN3O4&Signature=K4KFTc-I4v1fXpSb3eXUkK2kDxJ4hpOVzH6xOyxXXqQCrbew8GjtlOBtRnhihEjtHa2U5N5BfsLyJ4Cvu6K8hW9fyUobMuWuwuWY9~lWEqg-gkTjxSRbxaQVWWrUGsTAFi6-AjqF8PBm3gxandf4JwXTqqydEwYfwPRVb3kTwue5-lDhj4ydmVhO5XXqeqFOQJG4PFIxV7lbCPhqnsCZdB~6uRUkGbFf8HJaqsOKmpnslmtdw237rTlu6VhpQEcs7AKcsIF9N2WI9rnK1OYQdqWz59vbhmYbb0MNuznykLLAINuDFVYU8D958mBrGM1z3zZjVm31ErbnpvzaJarpDQ__', + title: 'Title 2', + description: 'Image Description Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.', + }, + { + imgSrc: 'https://s3-alpha-sig.figma.com/img/76ee/44f2/f217c1ad69179127d1a6a4090d526d86?Expires=1725235200&Key-Pair-Id=APKAQ4GOSFWCVNEHN3O4&Signature=K4KFTc-I4v1fXpSb3eXUkK2kDxJ4hpOVzH6xOyxXXqQCrbew8GjtlOBtRnhihEjtHa2U5N5BfsLyJ4Cvu6K8hW9fyUobMuWuwuWY9~lWEqg-gkTjxSRbxaQVWWrUGsTAFi6-AjqF8PBm3gxandf4JwXTqqydEwYfwPRVb3kTwue5-lDhj4ydmVhO5XXqeqFOQJG4PFIxV7lbCPhqnsCZdB~6uRUkGbFf8HJaqsOKmpnslmtdw237rTlu6VhpQEcs7AKcsIF9N2WI9rnK1OYQdqWz59vbhmYbb0MNuznykLLAINuDFVYU8D958mBrGM1z3zZjVm31ErbnpvzaJarpDQ__', + title: 'Title 3', + description: 'Image Description Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.', + }, + { + imgSrc: 'https://s3-alpha-sig.figma.com/img/76ee/44f2/f217c1ad69179127d1a6a4090d526d86?Expires=1725235200&Key-Pair-Id=APKAQ4GOSFWCVNEHN3O4&Signature=K4KFTc-I4v1fXpSb3eXUkK2kDxJ4hpOVzH6xOyxXXqQCrbew8GjtlOBtRnhihEjtHa2U5N5BfsLyJ4Cvu6K8hW9fyUobMuWuwuWY9~lWEqg-gkTjxSRbxaQVWWrUGsTAFi6-AjqF8PBm3gxandf4JwXTqqydEwYfwPRVb3kTwue5-lDhj4ydmVhO5XXqeqFOQJG4PFIxV7lbCPhqnsCZdB~6uRUkGbFf8HJaqsOKmpnslmtdw237rTlu6VhpQEcs7AKcsIF9N2WI9rnK1OYQdqWz59vbhmYbb0MNuznykLLAINuDFVYU8D958mBrGM1z3zZjVm31ErbnpvzaJarpDQ__', + title: 'Title 3', + description: 'Image Description Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.', + } + ]; + + const renderComponent = (item) => { + return ` +
+
+ ${item.title} +
+

${item.title}

+

${item.description}

+
+ `; + }; + + const applyLayout = () => { + const itemCount = componentItems.length; + componentContainer.innerHTML = ''; + + let itemWidth, itemHeight; + + if (itemCount === 2) { + itemWidth = '508px'; + itemHeight = '374px'; + componentContainer.className = 'flex justify-center gap-8'; + } else if (itemCount === 3) { + itemWidth = '339px'; + itemHeight = '398px'; + componentContainer.className = 'flex justify-center gap-8'; + } else if (itemCount === 4) { + itemWidth = '254px'; + itemHeight = '422px'; + componentContainer.className = 'flex justify-center gap-8'; + } else { + itemWidth = '100%'; + itemHeight = 'auto'; + componentContainer.className = 'grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8'; + } + + componentItems.forEach(item => { + const componentHTML = renderComponent(item); + const componentElement = document.createElement('div'); + componentElement.innerHTML = componentHTML; + const instance = componentElement.firstElementChild; + instance.style.width = itemWidth; + instance.style.height = itemHeight; + componentContainer.appendChild(instance); + }); + }; + + applyLayout(); +}); diff --git a/wwws/admin/src/components/text.css b/wwws/admin/src/components/text.css new file mode 100644 index 0000000..6d08240 --- /dev/null +++ b/wwws/admin/src/components/text.css @@ -0,0 +1,94 @@ +.content-container { + max-width: 1200px; + margin: 0 auto; +} + +.text-content p { + margin-bottom: 1rem; +} + +.single-column .text-content { + max-width: 600px; + margin: 0 auto; + text-indent: 20px; + line-height: 1.6; +} + +.two-column .text-content { + column-count: 2; + column-gap: 20px; + line-height: 1.6; +} + +.three-column .text-content { + column-count: 3; + column-gap: 20px; + line-height: 1.6; +} + +.wide-right-column .text-content { + display: grid; + grid-template-columns: 1fr 2fr; + gap: 20px; +} + +.wide-right-column .text-content .left-column { + font-weight: bold; + text-align: justify; + line-height: 1.6; +} + +.wide-right-column .text-content .right-column { + font-weight: normal; + text-align: justify; + line-height: 1.6; +} + +.optional-header { + margin-bottom: 16px; +} + +.optional-header h3 { + font-size: 1.5rem; + font-weight: bold; + margin-bottom: 4px; +} + +.optional-header h4 { + font-size: 1.25rem; + font-weight: normal; + color: #555; +} + +@media (max-width: 640px) { + .single-column .text-content { + max-width: 100%; + padding: 0 16px; + } + + .two-column .text-content, + .three-column .text-content { + column-count: 1; + column-gap: 0; + max-width: 100%; + padding: 0 16px; + } + + .wide-right-column .text-content { + display: block; + max-width: 100%; + padding: 0 16px; + } + + .wide-right-column .text-content .left-column, + .wide-right-column .text-content .right-column { + margin-bottom: 16px; + text-align: left; + } + + .optional-header h3, + .optional-header h4 { + text-align: left; + margin-bottom: 8px; + } +} diff --git a/wwws/admin/src/components/textinput.css b/wwws/admin/src/components/textinput.css new file mode 100644 index 0000000..c071de7 --- /dev/null +++ b/wwws/admin/src/components/textinput.css @@ -0,0 +1,30 @@ +.custom-input { + width: var(--Chart-Module-Width, 325px); + height: 48px; + border-radius: 4px; + border: 1px solid var(--app-input-element-stroke-day, #98A2B3); + background: var(--app-input-element-background-day, #F9FAFB); + color: var(--app-input-text-user-input-day, #1E2024); + text-overflow: ellipsis; + font-family: Inter; + font-size: 16px; + font-weight: 600; + line-height: 24px; +} + +.custom-input::placeholder { + color: var(--app-input-text-placeholder-text-day, #7D8188); + font-family: Inter; + font-size: 16px; + font-weight: 400; + line-height: 24px; +} + +.error-message { + color: #e53e3e; + display: none; +} + +.suggestions-list { + display: none; +} diff --git a/wwws/admin/src/components/textinput.html b/wwws/admin/src/components/textinput.html new file mode 100644 index 0000000..a99db09 --- /dev/null +++ b/wwws/admin/src/components/textinput.html @@ -0,0 +1,33 @@ + + diff --git a/wwws/admin/src/components/textinput.js b/wwws/admin/src/components/textinput.js new file mode 100644 index 0000000..3d69012 --- /dev/null +++ b/wwws/admin/src/components/textinput.js @@ -0,0 +1,140 @@ +// components/textinput.js +document.addEventListener('DOMContentLoaded', () => { + fetch('components/textinput.html') // Make sure this path is correct + .then(response => response.text()) + .then(html => { + document.getElementById('textInputsContainer').innerHTML = html; + initializeComponents(); + }); + + function initializeComponents() { + const textInputTemplate = document.getElementById('textInputTemplate').content; + const container = document.getElementById('textInputsContainer'); + + const textInputsData = [ + { placeholder: 'Enter your email' } // Example placeholder + ]; + + textInputsData.forEach(data => { + const textInputClone = document.importNode(textInputTemplate, true); + initializeComponent(textInputClone, data); + container.appendChild(textInputClone); + }); + + function initializeComponent(component, { label, placeholder, description, suggestions = [], error = '' }) { + const userInput = component.querySelector('.user-input'); + const clearButton = component.querySelector('.clear-button'); + const statusIcon = component.querySelector('.status-icon'); + const suggestionsList = component.querySelector('.suggestions-list'); + const errorMessage = component.querySelector('.error-message'); + const inputLabel = component.querySelector('.input-label'); + const inputDescription = component.querySelector('.input-description'); + + if (label) { + inputLabel.innerText = label; + inputLabel.style.display = 'block'; + } + + if (placeholder) { + userInput.placeholder = placeholder; + } + + if (description) { + inputDescription.innerText = description; + inputDescription.style.display = 'block'; + } + + userInput.addEventListener('input', (e) => { + const value = e.target.value; + if (value) { + clearButton.style.display = 'flex'; + validateInput(value); + if (suggestions.length > 0) { + showSuggestions(value); + } + } else { + clearButton.style.display = 'none'; + suggestionsList.style.display = 'none'; + removeValidationStyles(); + inputDescription.style.display = description ? 'block' : 'none'; + } + }); + + clearButton.addEventListener('click', () => { + userInput.value = ''; + clearButton.style.display = 'none'; + suggestionsList.style.display = 'none'; + removeValidationStyles(); + inputDescription.style.display = description ? 'block' : 'none'; + }); + + const showSuggestions = (value) => { + const filteredSuggestions = suggestions.filter(suggestion => + suggestion.toLowerCase().includes(value.toLowerCase()) + ); + + if (filteredSuggestions.length > 0) { + suggestionsList.innerHTML = ''; + filteredSuggestions.forEach(suggestion => { + const listItem = document.createElement('li'); + listItem.textContent = suggestion; + listItem.classList.add('px-4', 'py-2', 'cursor-pointer', 'hover:bg-gray-200'); + listItem.addEventListener('click', () => { + userInput.value = suggestion; + suggestionsList.style.display = 'none'; + clearButton.style.display = 'none'; + validateInput(suggestion); + }); + suggestionsList.appendChild(listItem); + }); + suggestionsList.style.display = 'block'; + } else { + suggestionsList.innerHTML = '
  • No results found
  • '; + suggestionsList.style.display = 'block'; + } + }; + + const validateInput = (value) => { + removeValidationStyles(); + if (value.toLowerCase() === 'error') { + setError('Error description lorem ipsum'); + } else { + setValidated(); + } + }; + + const removeValidationStyles = () => { + userInput.classList.remove('input-error', 'input-success'); + errorMessage.style.display = 'none'; + statusIcon.style.display = 'none'; + }; + + const setError = (error) => { + userInput.classList.add('input-error'); + errorMessage.textContent = error; + errorMessage.style.display = 'block'; + statusIcon.innerHTML = ` + + + + `; + statusIcon.style.display = 'flex'; + }; + + const setValidated = () => { + userInput.classList.add('input-success'); + errorMessage.style.display = 'none'; + statusIcon.innerHTML = ` + + + + `; + statusIcon.style.display = 'flex'; + }; + + if (error) { + setError(error); + } + } + } +}); diff --git a/wwws/admin/src/components/three-column.html b/wwws/admin/src/components/three-column.html new file mode 100644 index 0000000..9b9f4f8 --- /dev/null +++ b/wwws/admin/src/components/three-column.html @@ -0,0 +1,9 @@ + +
    +
    +

    Headline 3 optional

    +

    Headline 4 optional

    +
    +

    Water polo has been part of the Summer Olympics program since the second games, in 1900...

    +
    + \ No newline at end of file diff --git a/wwws/admin/src/components/toggle.css b/wwws/admin/src/components/toggle.css new file mode 100644 index 0000000..c45e448 --- /dev/null +++ b/wwws/admin/src/components/toggle.css @@ -0,0 +1,110 @@ +.toggle-container { + display: flex; + align-items: center; + justify-content: space-between; + margin-bottom: 1rem; + width: 130px; +} + +.toggle-input { + appearance: none; + width: var(--Card-Radius-L, 32px); + height: var(--Icon-Sizes-Input, 20px); + border-radius: 20px; + position: relative; + cursor: pointer; + flex-shrink: 0; + transition: background-color 0.3s ease, transform 0.3s ease; +} + +.toggle-input::before { + content: ''; + position: absolute; + width: var(--Icon-Sizes-Input, 20px); + height: var(--Icon-Sizes-Input, 20px); + border-radius: 50%; + top: 0px; + left: 0px; + background-color: white; + box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.25); + transition: background-color 0.3s ease, transform 0.3s ease; + fill: var(--smatchit-solid-blue, #0DC3FF); + stroke-width: 1px; + stroke: var(--_app-global-grayscale-50, #F9FAFB); + display: flex; + align-items: center; + justify-content: center; + font-size: 10px; + color: transparent; +} + +.toggle-input-candidate { + background-color: #ccc; +} + +.toggle-input-candidate:checked { + background-color: #B5E7FF; +} + +.toggle-input-candidate:checked::before { + transform: translateX(calc(var(--Card-Radius-L, 32px) - var(--Icon-Sizes-Input, 20px))); + background-color: var(--smatchit-solid-blue, #0DC3FF); + color: #F9FAFB !important; + content: '✔'; +} + +.toggle-input-seeker { + background-color: #E0E0E0; +} + +.toggle-input-seeker:checked { + background-color: #F4C4C1; +} + +.toggle-input-seeker:checked::before { + transform: translateX(calc(var(--Card-Radius-L, 32px) - var(--Icon-Sizes-Input, 20px))); + background-color: #FA4A64; + color: #F9FAFB !important; + content: '✔'; + stroke: #F9FAFB; +} + +.toggle-label { + display: flex; + align-items: center; + cursor: pointer; + flex: 1 0 0; + color: var(--app-input-text-label-day, #1E2024); + font-family: Inter, sans-serif; + font-size: 14px; + font-style: normal; + font-weight: 500; + line-height: 20px; + gap: var(--Input-Element-Radius-CTA-M, 1.5px); +} + +.toggle-icon { + margin-right: 0.5rem; +} + +.toggle-label-left { + display: flex; + align-items: center; + justify-content: flex-start; +} + +.toggle-label-left .toggle-input { + order: 1; + margin-right: auto; +} + +.toggle-label-right { + display: flex; + align-items: center; + justify-content: flex-end; +} + +.toggle-label-right .toggle-input { + order: 2; + margin-left: auto; +} diff --git a/wwws/admin/src/components/toggle.js b/wwws/admin/src/components/toggle.js new file mode 100644 index 0000000..30af3fa --- /dev/null +++ b/wwws/admin/src/components/toggle.js @@ -0,0 +1,51 @@ +const toggleData = [ + { label: 'Option 1', position: 'right', type: 'candidate' }, + { label: 'Option 2', icon: '📞', position: 'right', type: 'seeker' }, + { label: 'Option 3', icon: '📞', position: 'left', type: 'candidate' }, + { label: 'Option 4', icon: '📞', position: 'left', type: 'seeker' }, +]; + +function createToggleComponent({ label, icon, position, type }) { + const toggleContainer = document.createElement('div'); + toggleContainer.className = `toggle-container`; + + const toggleInput = document.createElement('input'); + toggleInput.type = 'checkbox'; + toggleInput.className = `toggle-input toggle-input-${type}`; + toggleInput.id = label; + + const toggleLabel = document.createElement('label'); + toggleLabel.className = `toggle-label toggle-label-${position}`; + toggleLabel.htmlFor = label; + + if (icon) { + const iconElement = document.createElement('span'); + iconElement.className = 'toggle-icon'; + iconElement.innerText = icon; + toggleLabel.appendChild(iconElement); + } + + if (label) { + const labelText = document.createElement('span'); + labelText.innerText = label; + toggleLabel.appendChild(labelText); + } + + if (position === 'left') { + toggleContainer.appendChild(toggleLabel); + toggleContainer.appendChild(toggleInput); + } else { + toggleContainer.appendChild(toggleInput); + toggleContainer.appendChild(toggleLabel); + } + + return toggleContainer; +} + +document.addEventListener('DOMContentLoaded', () => { + const toggleContainer = document.getElementById('toggle-container'); + toggleData.forEach(toggleConfig => { + const toggleComponent = createToggleComponent(toggleConfig); + toggleContainer.appendChild(toggleComponent); + }); +}); diff --git a/wwws/admin/src/components/trioLayout.css b/wwws/admin/src/components/trioLayout.css new file mode 100644 index 0000000..9b913c8 --- /dev/null +++ b/wwws/admin/src/components/trioLayout.css @@ -0,0 +1,71 @@ +.trio-layout { + display: flex; + flex-direction: row; + gap: 16px; + justify-content: center; + flex-wrap: wrap; +} + +.trio-layout .left-column { + width: 500px; + height: 720px; + flex-shrink: 0; + overflow: hidden; +} + +.trio-layout .right-column { + display: flex; + flex-direction: column; + gap: 16px; +} + +.trio-layout .right-column .media-item { + width: 500px; + height: 352px; + flex-shrink: 0; + overflow: hidden; +} + +.trio-layout .media-item img { + width: 100%; + height: 100%; + object-fit: cover; +} + +@media (max-width: 768px) { + .trio-layout { + flex-direction: row; + gap: 8px; + justify-content: center; + padding: 0 8px; + flex-wrap: nowrap; + } + + .trio-layout .left-column { + width: 60%; + height: auto; + display: flex; + align-items: stretch; + } + + .trio-layout .right-column { + width: 40%; + display: flex; + flex-direction: column; + gap: 8px; + justify-content: space-between; + height: 100%; + } + + .trio-layout .right-column .media-item { + width: 100%; + height: 50%; + overflow: hidden; + } + + .trio-layout .media-item img { + width: 100%; + height: 100%; + object-fit: cover; + } +} diff --git a/wwws/admin/src/components/two-column.html b/wwws/admin/src/components/two-column.html new file mode 100644 index 0000000..0fe32c8 --- /dev/null +++ b/wwws/admin/src/components/two-column.html @@ -0,0 +1,9 @@ + +
    +
    +

    Headline 3 optional

    +

    Headline 4 optional

    +
    +

    Water polo has been part of the Summer Olympics program since the second games, in 1900...

    +
    + \ No newline at end of file diff --git a/wwws/admin/src/components/wide-right-column.html b/wwws/admin/src/components/wide-right-column.html new file mode 100644 index 0000000..1326794 --- /dev/null +++ b/wwws/admin/src/components/wide-right-column.html @@ -0,0 +1,14 @@ + +
    +
    +

    Headline 3 optional

    +

    Headline 4 optional

    +
    +
    + Water polo has been part of the Summer Olympics program since the second games, in 1900... +
    +
    + Italy is the first and only country to win both the men's and women's water polo tournaments... +
    +
    + \ No newline at end of file diff --git a/wwws/admin/src/components/wrapper.html b/wwws/admin/src/components/wrapper.html new file mode 100644 index 0000000..e1eb404 --- /dev/null +++ b/wwws/admin/src/components/wrapper.html @@ -0,0 +1,3 @@ +
    +
    +
    diff --git a/wwws/admin/src/static/css/input.css b/wwws/admin/src/static/css/input.css new file mode 100644 index 0000000..05da729 --- /dev/null +++ b/wwws/admin/src/static/css/input.css @@ -0,0 +1,128 @@ +/* +//start with if need a google font +@import url("https://fonts.googleapis.com/css2?family=Roboto&display=swap"); +*/ +@font-face{ + font-family: 'Questrial'; + /*font-style: normal; + font-weight: 400;*/ + font-display: swap; + src: url(../fonts/questrial-regular-webfont.woff2) format('woff2'); +} +@font-face{ + font-family:'Quicksand'; + /*font-style: normal; + font-weight: 400;*/ + font-display: swap; + src: url(../fonts/Quicksand-Light.ttf) format('ttf'); +} + +@import "tailwindcss" source("../../../src/**/*.{html,js,mustache}"); +@import "./sourcetw.css"; + +@plugin "daisyui"; + +@theme { + --font-display: "Questrial", "sans-serif"; + --font-display--font-feature-settings: "cv02", "cv03", "cv04", "cv11"; + --font-display--font-variation-settings: "opsz" 32; + --font-heading:"Quicksand","system-ui"; + --font-body:"Questrial"; +} +@layer base { + html { + font-family: var(--font-body); + font-weight: 300; /* Si nécessaire */ + } + + h1, h2, h3, h4, h5, h6 { + font-family: var(--font-heading); + font-weight: 500; /* Ajuster selon besoin */ + } +} + +@plugin "daisyui/theme" { + name: "apxtridark"; + default: true; + prefersdark: true; + color-scheme: "dark"; + --color-base-100: oklch(40% 0.016 252.42); + --color-base-200: oklch(20% 0.014 253.1); + --color-base-300: oklch(15% 0.012 254.09); + --color-base-content: oklch(97.807% 0.029 256.847); + --color-primary: oklch(58.34% 0.136 249.54); + --color-primary-content: oklch(96% 0.018 272.314); + --color-secondary: oklch(69.54% 0.189 40.23); + --color-secondary-content: oklch(94% 0.028 342.258); + --color-accent: oklch(77% 0.152 181.912); + --color-accent-content: oklch(38% 0.063 188.416); + --color-neutral: oklch(14% 0.005 285.823); + --color-neutral-content: oklch(92% 0.004 286.32); + --color-info: oklch(56.86% 0.088 194.95); + --color-info-content: oklch(29% 0.066 243.157); + --color-success: oklch(66.88% 0.138 137.06); + --color-success-content: oklch(37% 0.077 168.94); + --color-warning: oklch(84.93% 0.162 84.01); + --color-warning-content: oklch(41% 0.112 45.904); + --color-error: oklch(71% 0.194 13.428); + --color-error-content: oklch(14% 0.004 49.25); + --radius-selector: 0.25rem; + --radius-field: 0.5rem; + --radius-box: 0.5rem; + --size-selector: 0.25rem; + --size-field: 0.28125rem; + --border: 1px; + --depth: 1; + --noise: 0; +} + + +@plugin "daisyui/theme" { + name: "apxtrilight"; + default: false; + prefersdark: false; + color-scheme: "light"; + --color-base-100: oklch(100% 0 0); + --color-base-200: oklch(98% 0 0); + --color-base-300: oklch(95% 0 0); + --color-base-content: oklch(21% 0.006 285.885); + --color-primary: oklch(58.34% 0.136 249.54); + --color-primary-content: oklch(93% 0.034 272.788); + --color-secondary: oklch(69.54% 0.189 40.23); + --color-secondary-content: oklch(94% 0.028 342.258); + --color-accent: oklch(84.93% 0.162 84.01); + --color-accent-content: oklch(21% 0.006 285.885); + --color-neutral: oklch(7% 0.006 286.033); + --color-neutral-content: oklch(1% 0.004 286.32); + --color-info: oklch(56.86% 0.088 194.95); + --color-info-content: oklch(98% 0 0); + --color-success: oklch(66.88% 0.138 137.06); + --color-success-content: oklch(92% 0.004 286.32); + --color-warning: oklch(84.93% 0.162 84.01); + --color-warning-content: oklch(41% 0.112 45.904); + --color-error: oklch(71% 0.194 13.428); + --color-error-content: oklch(27% 0.105 12.094); + --radius-selector: 0.5rem; + --radius-field: 0.25rem; + --radius-box: 0.5rem; + --size-selector: 0.25rem; + --size-field: 0.25rem; + --border: 1px; + --depth: 1; + --noise: 0; +} + + ::-webkit-scrollbar { + width: 8px; + } + ::-webkit-scrollbar-track { + background: #2d3748; + } + ::-webkit-scrollbar-thumb { + background: #4a5568; + border-radius: 4px; + } + + .transition-width { + transition: width 0.3s ease; + } diff --git a/wwws/admin/src/static/css/output.css b/wwws/admin/src/static/css/output.css new file mode 100644 index 0000000..ea840af --- /dev/null +++ b/wwws/admin/src/static/css/output.css @@ -0,0 +1,2155 @@ +/*! tailwindcss v4.1.6 | MIT License | https://tailwindcss.com */ +@layer properties; +@font-face { + font-family: 'Questrial'; + font-display: swap; + src: url(../fonts/questrial-regular-webfont.woff2) format('woff2'); +} +@font-face { + font-family: 'Quicksand'; + font-display: swap; + src: url(../fonts/Quicksand-Light.ttf) format('ttf'); +} +@layer theme, base, components, utilities; +@layer theme { + :root, :host { + --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", + "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", + "Courier New", monospace; + --color-blue-600: oklch(54.6% 0.245 262.881); + --color-gray-100: oklch(96.7% 0.003 264.542); + --color-gray-200: oklch(92.8% 0.006 264.531); + --color-gray-400: oklch(70.7% 0.022 261.325); + --color-gray-500: oklch(55.1% 0.027 264.364); + --color-gray-600: oklch(44.6% 0.03 256.802); + --color-gray-700: oklch(37.3% 0.034 259.733); + --color-gray-900: oklch(21% 0.034 264.665); + --color-neutral-800: oklch(26.9% 0 0); + --color-black: #000; + --color-white: #fff; + --spacing: 0.25rem; + --container-sm: 24rem; + --text-xs: 0.75rem; + --text-xs--line-height: calc(1 / 0.75); + --text-sm: 0.875rem; + --text-sm--line-height: calc(1.25 / 0.875); + --text-base: 1rem; + --text-base--line-height: calc(1.5 / 1); + --text-lg: 1.125rem; + --text-lg--line-height: calc(1.75 / 1.125); + --text-2xl: 1.5rem; + --text-2xl--line-height: calc(2 / 1.5); + --font-weight-semibold: 600; + --font-weight-bold: 700; + --tracking-tight: -0.025em; + --radius-md: 0.375rem; + --radius-lg: 0.5rem; + --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1); + --default-transition-duration: 150ms; + --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + --default-font-family: var(--font-sans); + --default-mono-font-family: var(--font-mono); + --font-heading: "Quicksand","system-ui"; + --font-body: "Questrial"; + } +} +@layer base { + *, ::after, ::before, ::backdrop, ::file-selector-button { + box-sizing: border-box; + margin: 0; + padding: 0; + border: 0 solid; + } + html, :host { + line-height: 1.5; + -webkit-text-size-adjust: 100%; + tab-size: 4; + font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"); + font-feature-settings: var(--default-font-feature-settings, normal); + font-variation-settings: var(--default-font-variation-settings, normal); + -webkit-tap-highlight-color: transparent; + } + hr { + height: 0; + color: inherit; + border-top-width: 1px; + } + abbr:where([title]) { + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; + } + h1, h2, h3, h4, h5, h6 { + font-size: inherit; + font-weight: inherit; + } + a { + color: inherit; + -webkit-text-decoration: inherit; + text-decoration: inherit; + } + b, strong { + font-weight: bolder; + } + code, kbd, samp, pre { + font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace); + font-feature-settings: var(--default-mono-font-feature-settings, normal); + font-variation-settings: var(--default-mono-font-variation-settings, normal); + font-size: 1em; + } + small { + font-size: 80%; + } + sub, sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; + } + sub { + bottom: -0.25em; + } + sup { + top: -0.5em; + } + table { + text-indent: 0; + border-color: inherit; + border-collapse: collapse; + } + :-moz-focusring { + outline: auto; + } + progress { + vertical-align: baseline; + } + summary { + display: list-item; + } + ol, ul, menu { + list-style: none; + } + img, svg, video, canvas, audio, iframe, embed, object { + display: block; + vertical-align: middle; + } + img, video { + max-width: 100%; + height: auto; + } + button, input, select, optgroup, textarea, ::file-selector-button { + font: inherit; + font-feature-settings: inherit; + font-variation-settings: inherit; + letter-spacing: inherit; + color: inherit; + border-radius: 0; + background-color: transparent; + opacity: 1; + } + :where(select:is([multiple], [size])) optgroup { + font-weight: bolder; + } + :where(select:is([multiple], [size])) optgroup option { + padding-inline-start: 20px; + } + ::file-selector-button { + margin-inline-end: 4px; + } + ::placeholder { + opacity: 1; + } + @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) { + ::placeholder { + color: currentcolor; + @supports (color: color-mix(in lab, red, red)) { + color: color-mix(in oklab, currentcolor 50%, transparent); + } + } + } + textarea { + resize: vertical; + } + ::-webkit-search-decoration { + -webkit-appearance: none; + } + ::-webkit-date-and-time-value { + min-height: 1lh; + text-align: inherit; + } + ::-webkit-datetime-edit { + display: inline-flex; + } + ::-webkit-datetime-edit-fields-wrapper { + padding: 0; + } + ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field { + padding-block: 0; + } + :-moz-ui-invalid { + box-shadow: none; + } + button, input:where([type="button"], [type="reset"], [type="submit"]), ::file-selector-button { + appearance: button; + } + ::-webkit-inner-spin-button, ::-webkit-outer-spin-button { + height: auto; + } + [hidden]:where(:not([hidden="until-found"])) { + display: none !important; + } +} +@layer utilities { + .menu { + display: flex; + width: fit-content; + flex-direction: column; + flex-wrap: wrap; + padding: calc(0.25rem * 2); + --menu-active-fg: var(--color-neutral-content); + --menu-active-bg: var(--color-neutral); + font-size: 0.875rem; + :where(li ul) { + position: relative; + margin-inline-start: calc(0.25rem * 4); + padding-inline-start: calc(0.25rem * 2); + white-space: nowrap; + &:before { + position: absolute; + inset-inline-start: calc(0.25rem * 0); + top: calc(0.25rem * 3); + bottom: calc(0.25rem * 3); + background-color: var(--color-base-content); + opacity: 10%; + width: var(--border); + content: ""; + } + } + :where(li > .menu-dropdown:not(.menu-dropdown-show)) { + display: none; + } + :where(li:not(.menu-title) > *:not(ul, details, .menu-title, .btn)), :where(li:not(.menu-title) > details > summary:not(.menu-title)) { + display: grid; + grid-auto-flow: column; + align-content: flex-start; + align-items: center; + gap: calc(0.25rem * 2); + border-radius: var(--radius-field); + padding-inline: calc(0.25rem * 3); + padding-block: calc(0.25rem * 1.5); + text-align: start; + transition-property: color, background-color, box-shadow; + transition-duration: 0.2s; + transition-timing-function: cubic-bezier(0, 0, 0.2, 1); + grid-auto-columns: minmax(auto, max-content) auto max-content; + text-wrap: balance; + user-select: none; + } + :where(li > details > summary) { + --tw-outline-style: none; + outline-style: none; + @media (forced-colors: active) { + outline: 2px solid transparent; + outline-offset: 2px; + } + &::-webkit-details-marker { + display: none; + } + } + :where(li > details > summary), :where(li > .menu-dropdown-toggle) { + &:after { + justify-self: flex-end; + display: block; + height: 0.375rem; + width: 0.375rem; + rotate: -135deg; + translate: 0 -1px; + transition-property: rotate, translate; + transition-duration: 0.2s; + content: ""; + transform-origin: 50% 50%; + box-shadow: 2px 2px inset; + pointer-events: none; + } + } + :where(li > details[open] > summary):after, :where(li > .menu-dropdown-toggle.menu-dropdown-show):after { + rotate: 45deg; + translate: 0 1px; + } + :where( li:not(.menu-title, .disabled) > *:not(ul, details, .menu-title), li:not(.menu-title, .disabled) > details > summary:not(.menu-title) ):not(.menu-active, :active, .btn) { + &.menu-focus, &:focus-visible { + cursor: pointer; + background-color: var(--color-base-content); + @supports (color: color-mix(in lab, red, red)) { + background-color: color-mix(in oklab, var(--color-base-content) 10%, transparent); + } + color: var(--color-base-content); + --tw-outline-style: none; + outline-style: none; + @media (forced-colors: active) { + outline: 2px solid transparent; + outline-offset: 2px; + } + } + } + :where( li:not(.menu-title, .disabled) > *:not(ul, details, .menu-title):not(.menu-active, :active, .btn):hover, li:not(.menu-title, .disabled) > details > summary:not(.menu-title):not(.menu-active, :active, .btn):hover ) { + cursor: pointer; + background-color: var(--color-base-content); + @supports (color: color-mix(in lab, red, red)) { + background-color: color-mix(in oklab, var(--color-base-content) 10%, transparent); + } + --tw-outline-style: none; + outline-style: none; + @media (forced-colors: active) { + outline: 2px solid transparent; + outline-offset: 2px; + } + box-shadow: 0 1px oklch(0% 0 0 / 0.01) inset, 0 -1px oklch(100% 0 0 / 0.01) inset; + } + :where(li:empty) { + background-color: var(--color-base-content); + opacity: 10%; + margin: 0.5rem 1rem; + height: 1px; + } + :where(li) { + position: relative; + display: flex; + flex-shrink: 0; + flex-direction: column; + flex-wrap: wrap; + align-items: stretch; + .badge { + justify-self: flex-end; + } + & > *:not(ul, .menu-title, details, .btn):active, & > *:not(ul, .menu-title, details, .btn).menu-active, & > details > summary:active { + --tw-outline-style: none; + outline-style: none; + @media (forced-colors: active) { + outline: 2px solid transparent; + outline-offset: 2px; + } + color: var(--menu-active-fg); + background-color: var(--menu-active-bg); + background-size: auto, calc(var(--noise) * 100%); + background-image: none, var(--fx-noise); + &:not(&:active) { + box-shadow: 0 2px calc(var(--depth) * 3px) -2px var(--menu-active-bg); + } + } + &.menu-disabled { + pointer-events: none; + color: var(--color-base-content); + @supports (color: color-mix(in lab, red, red)) { + color: color-mix(in oklab, var(--color-base-content) 20%, transparent); + } + } + } + .dropdown:focus-within { + .menu-dropdown-toggle:after { + rotate: 45deg; + translate: 0 1px; + } + } + .dropdown-content { + margin-top: calc(0.25rem * 2); + padding: calc(0.25rem * 2); + &:before { + display: none; + } + } + } + .dropdown { + position: relative; + display: inline-block; + position-area: var(--anchor-v, bottom) var(--anchor-h, span-right); + & > *:not(summary):focus { + --tw-outline-style: none; + outline-style: none; + @media (forced-colors: active) { + outline: 2px solid transparent; + outline-offset: 2px; + } + } + .dropdown-content { + position: absolute; + } + &:not(details, .dropdown-open, .dropdown-hover:hover, :focus-within) { + .dropdown-content { + display: none; + transform-origin: top; + opacity: 0%; + scale: 95%; + } + } + &[popover], .dropdown-content { + z-index: 999; + animation: dropdown 0.2s; + transition-property: opacity, scale, display; + transition-behavior: allow-discrete; + transition-duration: 0.2s; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + } + @starting-style { + &[popover], .dropdown-content { + scale: 95%; + opacity: 0; + } + } + &.dropdown-open, &:not(.dropdown-hover):focus, &:focus-within { + > [tabindex]:first-child { + pointer-events: none; + } + .dropdown-content { + opacity: 100%; + } + } + &.dropdown-hover:hover { + .dropdown-content { + opacity: 100%; + scale: 100%; + } + } + &:is(details) { + summary { + &::-webkit-details-marker { + display: none; + } + } + } + &.dropdown-open, &:focus, &:focus-within { + .dropdown-content { + scale: 100%; + } + } + &:where([popover]) { + background: #0000; + } + &[popover] { + position: fixed; + color: inherit; + @supports not (position-area: bottom) { + margin: auto; + &.dropdown-open:not(:popover-open) { + display: none; + transform-origin: top; + opacity: 0%; + scale: 95%; + } + &::backdrop { + background-color: color-mix(in oklab, #000 30%, #0000); + } + } + &:not(.dropdown-open, :popover-open) { + display: none; + transform-origin: top; + opacity: 0%; + scale: 95%; + } + } + } + .btn { + :where(&) { + width: unset; + } + display: inline-flex; + flex-shrink: 0; + cursor: pointer; + flex-wrap: nowrap; + align-items: center; + justify-content: center; + gap: calc(0.25rem * 1.5); + text-align: center; + vertical-align: middle; + outline-offset: 2px; + webkit-user-select: none; + user-select: none; + padding-inline: var(--btn-p); + color: var(--btn-fg); + --tw-prose-links: var(--btn-fg); + height: var(--size); + font-size: var(--fontsize, 0.875rem); + font-weight: 600; + outline-color: var(--btn-color, var(--color-base-content)); + transition-property: color, background-color, border-color, box-shadow; + transition-timing-function: cubic-bezier(0, 0, 0.2, 1); + transition-duration: 0.2s; + border-start-start-radius: var(--join-ss, var(--radius-field)); + border-start-end-radius: var(--join-se, var(--radius-field)); + border-end-start-radius: var(--join-es, var(--radius-field)); + border-end-end-radius: var(--join-ee, var(--radius-field)); + background-color: var(--btn-bg); + background-size: auto, calc(var(--noise) * 100%); + background-image: none, var(--btn-noise); + border-width: var(--border); + border-style: solid; + border-color: var(--btn-border); + text-shadow: 0 0.5px oklch(100% 0 0 / calc(var(--depth) * 0.15)); + touch-action: manipulation; + box-shadow: 0 0.5px 0 0.5px oklch(100% 0 0 / calc(var(--depth) * 6%)) inset, var(--btn-shadow); + --size: calc(var(--size-field, 0.25rem) * 10); + --btn-bg: var(--btn-color, var(--color-base-200)); + --btn-fg: var(--color-base-content); + --btn-p: 1rem; + --btn-border: var(--btn-bg); + @supports (color: color-mix(in lab, red, red)) { + --btn-border: color-mix(in oklab, var(--btn-bg), #000 calc(var(--depth) * 5%)); + } + --btn-shadow: 0 3px 2px -2px var(--btn-bg), + 0 4px 3px -2px var(--btn-bg); + @supports (color: color-mix(in lab, red, red)) { + --btn-shadow: 0 3px 2px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000), + 0 4px 3px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000); + } + --btn-noise: var(--fx-noise); + .prose & { + text-decoration-line: none; + } + @media (hover: hover) { + &:hover { + --btn-bg: var(--btn-color, var(--color-base-200)); + @supports (color: color-mix(in lab, red, red)) { + --btn-bg: color-mix(in oklab, var(--btn-color, var(--color-base-200)), #000 7%); + } + } + } + &:focus-visible { + outline-width: 2px; + outline-style: solid; + isolation: isolate; + } + &:active:not(.btn-active) { + translate: 0 0.5px; + --btn-bg: var(--btn-color, var(--color-base-200)); + @supports (color: color-mix(in lab, red, red)) { + --btn-bg: color-mix(in oklab, var(--btn-color, var(--color-base-200)), #000 5%); + } + --btn-border: var(--btn-color, var(--color-base-200)); + @supports (color: color-mix(in lab, red, red)) { + --btn-border: color-mix(in oklab, var(--btn-color, var(--color-base-200)), #000 7%); + } + --btn-shadow: 0 0 0 0 oklch(0% 0 0/0), 0 0 0 0 oklch(0% 0 0/0); + } + &:is(:disabled, [disabled], .btn-disabled) { + &:not(.btn-link, .btn-ghost) { + background-color: var(--color-base-content); + @supports (color: color-mix(in lab, red, red)) { + background-color: color-mix(in oklab, var(--color-base-content) 10%, transparent); + } + box-shadow: none; + } + pointer-events: none; + --btn-border: #0000; + --btn-noise: none; + --btn-fg: var(--color-base-content); + @supports (color: color-mix(in lab, red, red)) { + --btn-fg: color-mix(in oklch, var(--color-base-content) 20%, #0000); + } + @media (hover: hover) { + &:hover { + pointer-events: none; + background-color: var(--color-neutral); + @supports (color: color-mix(in lab, red, red)) { + background-color: color-mix(in oklab, var(--color-neutral) 20%, transparent); + } + --btn-border: #0000; + --btn-fg: var(--color-base-content); + @supports (color: color-mix(in lab, red, red)) { + --btn-fg: color-mix(in oklch, var(--color-base-content) 20%, #0000); + } + } + } + } + &:is(input[type="checkbox"], input[type="radio"]) { + appearance: none; + &::after { + content: attr(aria-label); + } + } + &:where(input:checked:not(.filter .btn)) { + --btn-color: var(--color-primary); + --btn-fg: var(--color-primary-content); + isolation: isolate; + } + } + .loading { + pointer-events: none; + display: inline-block; + aspect-ratio: 1 / 1; + background-color: currentColor; + vertical-align: middle; + width: calc(var(--size-selector, 0.25rem) * 6); + mask-size: 100%; + mask-repeat: no-repeat; + mask-position: center; + mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E"); + } + .validator-hint { + visibility: hidden; + margin-top: calc(0.25rem * 2); + font-size: 0.75rem; + } + .validator { + &:user-valid, &:has(:user-valid) { + &, &:focus, &:checked, &[aria-checked="true"], &:focus-within { + --input-color: var(--color-success); + } + } + &:user-invalid, &:has(:user-invalid), &[aria-invalid] { + &, &:focus, &:checked, &[aria-checked="true"], &:focus-within { + --input-color: var(--color-error); + } + & ~ .validator-hint { + visibility: visible; + display: block; + color: var(--color-error); + } + } + } + .input { + cursor: text; + border: var(--border) solid #0000; + position: relative; + display: inline-flex; + flex-shrink: 1; + appearance: none; + align-items: center; + gap: calc(0.25rem * 2); + background-color: var(--color-base-100); + padding-inline: calc(0.25rem * 3); + vertical-align: middle; + white-space: nowrap; + width: clamp(3rem, 20rem, 100%); + height: var(--size); + font-size: 0.875rem; + border-start-start-radius: var(--join-ss, var(--radius-field)); + border-start-end-radius: var(--join-se, var(--radius-field)); + border-end-start-radius: var(--join-es, var(--radius-field)); + border-end-end-radius: var(--join-ee, var(--radius-field)); + border-color: var(--input-color); + box-shadow: 0 1px var(--input-color) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset; + @supports (color: color-mix(in lab, red, red)) { + box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset; + } + --size: calc(var(--size-field, 0.25rem) * 10); + --input-color: var(--color-base-content); + @supports (color: color-mix(in lab, red, red)) { + --input-color: color-mix(in oklab, var(--color-base-content) 20%, #0000); + } + &:where(input) { + display: inline-flex; + } + :where(input) { + display: inline-flex; + height: 100%; + width: 100%; + appearance: none; + background-color: transparent; + border: none; + &:focus, &:focus-within { + --tw-outline-style: none; + outline-style: none; + @media (forced-colors: active) { + outline: 2px solid transparent; + outline-offset: 2px; + } + } + } + :where(input[type="date"]) { + display: inline-block; + } + &:focus, &:focus-within { + --input-color: var(--color-base-content); + box-shadow: 0 1px var(--input-color); + @supports (color: color-mix(in lab, red, red)) { + box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000); + } + outline: 2px solid var(--input-color); + outline-offset: 2px; + isolation: isolate; + z-index: 1; + } + &:has(> input[disabled]), &:is(:disabled, [disabled]) { + cursor: not-allowed; + border-color: var(--color-base-200); + background-color: var(--color-base-200); + color: var(--color-base-content); + @supports (color: color-mix(in lab, red, red)) { + color: color-mix(in oklab, var(--color-base-content) 40%, transparent); + } + &::placeholder { + color: var(--color-base-content); + @supports (color: color-mix(in lab, red, red)) { + color: color-mix(in oklab, var(--color-base-content) 20%, transparent); + } + } + box-shadow: none; + } + &:has(> input[disabled]) > input[disabled] { + cursor: not-allowed; + } + &::-webkit-date-and-time-value { + text-align: inherit; + } + &[type="number"] { + &::-webkit-inner-spin-button { + margin-block: calc(0.25rem * -3); + margin-inline-end: calc(0.25rem * -3); + } + } + &::-webkit-calendar-picker-indicator { + position: absolute; + inset-inline-end: 0.75em; + } + } + .card { + position: relative; + display: flex; + flex-direction: column; + border-radius: var(--radius-box); + outline-width: 2px; + transition: outline 0.2s ease-in-out; + outline: 0 solid #0000; + outline-offset: 2px; + &:focus { + --tw-outline-style: none; + outline-style: none; + @media (forced-colors: active) { + outline: 2px solid transparent; + outline-offset: 2px; + } + } + &:focus-visible { + outline-color: currentColor; + } + :where(figure:first-child) { + overflow: hidden; + border-start-start-radius: inherit; + border-start-end-radius: inherit; + border-end-start-radius: unset; + border-end-end-radius: unset; + } + :where(figure:last-child) { + overflow: hidden; + border-start-start-radius: unset; + border-start-end-radius: unset; + border-end-start-radius: inherit; + border-end-end-radius: inherit; + } + &:where(.card-border) { + border: var(--border) solid var(--color-base-200); + } + &:where(.card-dash) { + border: var(--border) dashed var(--color-base-200); + } + &.image-full { + display: grid; + > * { + grid-column-start: 1; + grid-row-start: 1; + } + > .card-body { + position: relative; + color: var(--color-neutral-content); + } + :where(figure) { + overflow: hidden; + border-radius: inherit; + } + > figure img { + height: 100%; + object-fit: cover; + filter: brightness(28%); + } + } + figure { + display: flex; + align-items: center; + justify-content: center; + } + &:has(> input:is(input[type="checkbox"], input[type="radio"])) { + cursor: pointer; + user-select: none; + } + &:has(> :checked) { + outline: 2px solid currentColor; + } + } + .checkbox { + border: var(--border) solid var(--input-color, var(--color-base-content)); + @supports (color: color-mix(in lab, red, red)) { + border: var(--border) solid var(--input-color, color-mix(in oklab, var(--color-base-content) 20%, #0000)); + } + position: relative; + flex-shrink: 0; + cursor: pointer; + appearance: none; + border-radius: var(--radius-selector); + padding: calc(0.25rem * 1); + vertical-align: middle; + color: var(--color-base-content); + box-shadow: 0 1px oklch(0% 0 0 / calc(var(--depth) * 0.1)) inset, 0 0 #0000 inset, 0 0 #0000; + transition: background-color 0.2s, box-shadow 0.2s; + --size: calc(var(--size-selector, 0.25rem) * 6); + width: var(--size); + height: var(--size); + background-size: auto, calc(var(--noise) * 100%); + background-image: none, var(--fx-noise); + &:before { + --tw-content: ""; + content: var(--tw-content); + display: block; + width: 100%; + height: 100%; + rotate: 45deg; + background-color: currentColor; + opacity: 0%; + transition: clip-path 0.3s, opacity 0.1s, rotate 0.3s, translate 0.3s; + transition-delay: 0.1s; + clip-path: polygon(20% 100%, 20% 80%, 50% 80%, 50% 80%, 70% 80%, 70% 100%); + box-shadow: 0px 3px 0 0px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset; + font-size: 1rem; + line-height: 0.75; + } + &:focus-visible { + outline: 2px solid var(--input-color, currentColor); + outline-offset: 2px; + } + &:checked, &[aria-checked="true"] { + background-color: var(--input-color, #0000); + box-shadow: 0 0 #0000 inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset, 0 1px oklch(0% 0 0 / calc(var(--depth) * 0.1)); + &:before { + clip-path: polygon(20% 100%, 20% 80%, 50% 80%, 50% 0%, 70% 0%, 70% 100%); + opacity: 100%; + } + @media (forced-colors: active) { + &:before { + rotate: 0deg; + background-color: transparent; + --tw-content: "✔︎"; + clip-path: none; + } + } + @media print { + &:before { + rotate: 0deg; + background-color: transparent; + --tw-content: "✔︎"; + clip-path: none; + } + } + } + &:indeterminate { + &:before { + rotate: 0deg; + opacity: 100%; + translate: 0 -35%; + clip-path: polygon(20% 100%, 20% 80%, 50% 80%, 50% 80%, 80% 80%, 80% 100%); + } + } + &:disabled { + cursor: not-allowed; + opacity: 20%; + } + } + .absolute { + position: absolute; + } + .fixed { + position: fixed; + } + .relative { + position: relative; + } + .inset-y-0 { + inset-block: calc(var(--spacing) * 0); + } + .top-0 { + top: calc(var(--spacing) * 0); + } + .top-4 { + top: calc(var(--spacing) * 4); + } + .right-0 { + right: calc(var(--spacing) * 0); + } + .right-4 { + right: calc(var(--spacing) * 4); + } + .left-0 { + left: calc(var(--spacing) * 0); + } + .left-4 { + left: calc(var(--spacing) * 4); + } + .textarea { + border: var(--border) solid #0000; + min-height: calc(0.25rem * 20); + flex-shrink: 1; + appearance: none; + border-radius: var(--radius-field); + background-color: var(--color-base-100); + padding-block: calc(0.25rem * 2); + vertical-align: middle; + width: clamp(3rem, 20rem, 100%); + padding-inline-start: 0.75rem; + padding-inline-end: 0.75rem; + font-size: 0.875rem; + border-color: var(--input-color); + box-shadow: 0 1px var(--input-color) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset; + @supports (color: color-mix(in lab, red, red)) { + box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset; + } + --input-color: var(--color-base-content); + @supports (color: color-mix(in lab, red, red)) { + --input-color: color-mix(in oklab, var(--color-base-content) 20%, #0000); + } + textarea { + appearance: none; + background-color: transparent; + border: none; + &:focus, &:focus-within { + --tw-outline-style: none; + outline-style: none; + @media (forced-colors: active) { + outline: 2px solid transparent; + outline-offset: 2px; + } + } + } + &:focus, &:focus-within { + --input-color: var(--color-base-content); + box-shadow: 0 1px var(--input-color); + @supports (color: color-mix(in lab, red, red)) { + box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000); + } + outline: 2px solid var(--input-color); + outline-offset: 2px; + isolation: isolate; + } + &:has(> textarea[disabled]), &:is(:disabled, [disabled]) { + cursor: not-allowed; + border-color: var(--color-base-200); + background-color: var(--color-base-200); + color: var(--color-base-content); + @supports (color: color-mix(in lab, red, red)) { + color: color-mix(in oklab, var(--color-base-content) 40%, transparent); + } + &::placeholder { + color: var(--color-base-content); + @supports (color: color-mix(in lab, red, red)) { + color: color-mix(in oklab, var(--color-base-content) 20%, transparent); + } + } + box-shadow: none; + } + &:has(> textarea[disabled]) > textarea[disabled] { + cursor: not-allowed; + } + } + .z-40 { + z-index: 40; + } + .z-50 { + z-index: 50; + } + .m-4 { + margin: calc(var(--spacing) * 4); + } + .m-6 { + margin: calc(var(--spacing) * 6); + } + .mx-auto { + margin-inline: auto; + } + .my-5 { + margin-block: calc(var(--spacing) * 5); + } + .mt-1 { + margin-top: calc(var(--spacing) * 1); + } + .mt-2 { + margin-top: calc(var(--spacing) * 2); + } + .mt-4 { + margin-top: calc(var(--spacing) * 4); + } + .mt-5 { + margin-top: calc(var(--spacing) * 5); + } + .mt-10 { + margin-top: calc(var(--spacing) * 10); + } + .mr-3 { + margin-right: calc(var(--spacing) * 3); + } + .mb-4 { + margin-bottom: calc(var(--spacing) * 4); + } + .mb-6 { + margin-bottom: calc(var(--spacing) * 6); + } + .box-content { + box-sizing: content-box; + } + .status { + display: inline-block; + aspect-ratio: 1 / 1; + width: calc(0.25rem * 2); + height: calc(0.25rem * 2); + border-radius: var(--radius-selector); + background-color: var(--color-base-content); + @supports (color: color-mix(in lab, red, red)) { + background-color: color-mix(in oklab, var(--color-base-content) 20%, transparent); + } + background-position: center; + background-repeat: no-repeat; + vertical-align: middle; + color: color-mix(in srgb, #000 30%, transparent); + @supports (color: color-mix(in lab, red, red)) { + color: color-mix(in srgb, #000 30%, transparent); + @supports (color: color-mix(in lab, red, red)) { + color: color-mix(in oklab, var(--color-black) 30%, transparent); + } + } + background-image: radial-gradient( circle at 35% 30%, oklch(1 0 0 / calc(var(--depth) * 0.5)), #0000 ); + box-shadow: 0 2px 3px -1px currentColor; + @supports (color: color-mix(in lab, red, red)) { + box-shadow: 0 2px 3px -1px color-mix(in oklab, currentColor calc(var(--depth) * 100%), #0000); + } + } + .card-body { + display: flex; + flex: auto; + flex-direction: column; + gap: calc(0.25rem * 2); + padding: var(--card-p, 1.5rem); + font-size: var(--card-fs, 0.875rem); + :where(p) { + flex-grow: 1; + } + } + .card-title { + display: flex; + align-items: center; + gap: calc(0.25rem * 2); + font-size: var(--cardtitle-fs, 1.125rem); + font-weight: 600; + } + .block { + display: block; + } + .flex { + display: flex; + } + .grid { + display: grid; + } + .hidden { + display: none; + } + .inline-block { + display: inline-block; + } + .btn-circle { + border-radius: calc(infinity * 1px); + padding-inline: calc(0.25rem * 0); + width: var(--size); + height: var(--size); + } + .h-3 { + height: calc(var(--spacing) * 3); + } + .h-5 { + height: calc(var(--spacing) * 5); + } + .h-6 { + height: calc(var(--spacing) * 6); + } + .h-9 { + height: calc(var(--spacing) * 9); + } + .h-16 { + height: calc(var(--spacing) * 16); + } + .h-48 { + height: calc(var(--spacing) * 48); + } + .h-\[1em\] { + height: 1em; + } + .h-full { + height: 100%; + } + .h-screen { + height: 100vh; + } + .min-h-full { + min-height: 100%; + } + .min-h-screen { + min-height: 100vh; + } + .loading-lg { + width: calc(var(--size-selector, 0.25rem) * 7); + } + .w-0 { + width: calc(var(--spacing) * 0); + } + .w-3 { + width: calc(var(--spacing) * 3); + } + .w-5 { + width: calc(var(--spacing) * 5); + } + .w-6 { + width: calc(var(--spacing) * 6); + } + .w-9 { + width: calc(var(--spacing) * 9); + } + .w-13 { + width: calc(var(--spacing) * 13); + } + .w-14 { + width: calc(var(--spacing) * 14); + } + .w-16 { + width: calc(var(--spacing) * 16); + } + .w-48 { + width: calc(var(--spacing) * 48); + } + .w-64 { + width: calc(var(--spacing) * 64); + } + .w-auto { + width: auto; + } + .w-full { + width: 100%; + } + .flex-1 { + flex: 1; + } + .flex-none { + flex: none; + } + .-translate-x-full { + --tw-translate-x: -100%; + translate: var(--tw-translate-x) var(--tw-translate-y); + } + .transform { + transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,); + } + .link { + cursor: pointer; + text-decoration-line: underline; + &:focus { + --tw-outline-style: none; + outline-style: none; + @media (forced-colors: active) { + outline: 2px solid transparent; + outline-offset: 2px; + } + } + &:focus-visible { + outline: 2px solid currentColor; + outline-offset: 2px; + } + } + .cursor-pointer { + cursor: pointer; + } + .grid-cols-1 { + grid-template-columns: repeat(1, minmax(0, 1fr)); + } + .flex-col { + flex-direction: column; + } + .items-center { + align-items: center; + } + .justify-between { + justify-content: space-between; + } + .justify-center { + justify-content: center; + } + .gap-1 { + gap: calc(var(--spacing) * 1); + } + .gap-2 { + gap: calc(var(--spacing) * 2); + } + .gap-6 { + gap: calc(var(--spacing) * 6); + } + .space-y-1 { + :where(& > :not(:last-child)) { + --tw-space-y-reverse: 0; + margin-block-start: calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse)); + margin-block-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse))); + } + } + .space-y-2 { + :where(& > :not(:last-child)) { + --tw-space-y-reverse: 0; + margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse)); + margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse))); + } + } + .space-y-6 { + :where(& > :not(:last-child)) { + --tw-space-y-reverse: 0; + margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse)); + margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse))); + } + } + .space-x-4 { + :where(& > :not(:last-child)) { + --tw-space-x-reverse: 0; + margin-inline-start: calc(calc(var(--spacing) * 4) * var(--tw-space-x-reverse)); + margin-inline-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-x-reverse))); + } + } + .space-x-6 { + :where(& > :not(:last-child)) { + --tw-space-x-reverse: 0; + margin-inline-start: calc(calc(var(--spacing) * 6) * var(--tw-space-x-reverse)); + margin-inline-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-x-reverse))); + } + } + .overflow-hidden { + overflow: hidden; + } + .overflow-y-auto { + overflow-y: auto; + } + .rounded-full { + border-radius: calc(infinity * 1px); + } + .rounded-lg { + border-radius: var(--radius-lg); + } + .rounded-md { + border-radius: var(--radius-md); + } + .border { + border-style: var(--tw-border-style); + border-width: 1px; + } + .border-gray-200 { + border-color: var(--color-gray-200); + } + .bg-base-100 { + background-color: var(--color-base-100); + } + .bg-base-200 { + background-color: var(--color-base-200); + } + .bg-gray-100 { + background-color: var(--color-gray-100); + } + .bg-neutral { + background-color: var(--color-neutral); + } + .bg-neutral-800 { + background-color: var(--color-neutral-800); + } + .bg-white { + background-color: var(--color-white); + } + .loading-spinner { + mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E"); + } + .object-cover { + object-fit: cover; + } + .p-2 { + padding: calc(var(--spacing) * 2); + } + .p-4 { + padding: calc(var(--spacing) * 4); + } + .p-6 { + padding: calc(var(--spacing) * 6); + } + .px-2 { + padding-inline: calc(var(--spacing) * 2); + } + .px-4 { + padding-inline: calc(var(--spacing) * 4); + } + .px-6 { + padding-inline: calc(var(--spacing) * 6); + } + .py-1 { + padding-block: calc(var(--spacing) * 1); + } + .py-2 { + padding-block: calc(var(--spacing) * 2); + } + .py-4 { + padding-block: calc(var(--spacing) * 4); + } + .py-12 { + padding-block: calc(var(--spacing) * 12); + } + .pr-3 { + padding-right: calc(var(--spacing) * 3); + } + .pr-10 { + padding-right: calc(var(--spacing) * 10); + } + .pl-4 { + padding-left: calc(var(--spacing) * 4); + } + .pl-10 { + padding-left: calc(var(--spacing) * 10); + } + .text-center { + text-align: center; + } + .text-justify { + text-align: justify; + } + .text-2xl { + font-size: var(--text-2xl); + line-height: var(--tw-leading, var(--text-2xl--line-height)); + } + .text-base { + font-size: var(--text-base); + line-height: var(--tw-leading, var(--text-base--line-height)); + } + .text-lg { + font-size: var(--text-lg); + line-height: var(--tw-leading, var(--text-lg--line-height)); + } + .text-sm { + font-size: var(--text-sm); + line-height: var(--tw-leading, var(--text-sm--line-height)); + } + .text-xs { + font-size: var(--text-xs); + line-height: var(--tw-leading, var(--text-xs--line-height)); + } + .leading-6 { + --tw-leading: calc(var(--spacing) * 6); + line-height: calc(var(--spacing) * 6); + } + .leading-9 { + --tw-leading: calc(var(--spacing) * 9); + line-height: calc(var(--spacing) * 9); + } + .font-bold { + --tw-font-weight: var(--font-weight-bold); + font-weight: var(--font-weight-bold); + } + .font-semibold { + --tw-font-weight: var(--font-weight-semibold); + font-weight: var(--font-weight-semibold); + } + .tracking-tight { + --tw-tracking: var(--tracking-tight); + letter-spacing: var(--tracking-tight); + } + .checkbox-secondary { + color: var(--color-secondary-content); + --input-color: var(--color-secondary); + } + .text-base-content { + color: var(--color-base-content); + } + .text-black { + color: var(--color-black); + } + .text-gray-400 { + color: var(--color-gray-400); + } + .text-gray-500 { + color: var(--color-gray-500); + } + .text-gray-700 { + color: var(--color-gray-700); + } + .text-info { + color: var(--color-info); + } + .text-neutral-content { + color: var(--color-neutral-content); + } + .text-secondary { + color: var(--color-secondary); + } + .text-white { + color: var(--color-white); + } + .uppercase { + text-transform: uppercase; + } + .opacity-50 { + opacity: 50%; + } + .opacity-90 { + opacity: 90%; + } + .shadow { + --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)); + box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); + } + .shadow-lg { + --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1)); + box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); + } + .shadow-md { + --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1)); + box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); + } + .shadow-sm { + --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)); + box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); + } + .shadow-xl { + --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / 0.1)); + box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); + } + .btn-ghost { + &:not(.btn-active, :hover, :active:focus, :focus-visible) { + --btn-shadow: ""; + --btn-bg: #0000; + --btn-border: #0000; + --btn-noise: none; + &:not(:disabled, [disabled], .btn-disabled) { + outline-color: currentColor; + --btn-fg: currentColor; + } + } + } + .transition-all { + transition-property: all; + transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); + transition-duration: var(--tw-duration, var(--default-transition-duration)); + } + .duration-300 { + --tw-duration: 300ms; + transition-duration: 300ms; + } + .ease-in-out { + --tw-ease: var(--ease-in-out); + transition-timing-function: var(--ease-in-out); + } + .btn-outline { + &:not( .btn-active, :hover, :active:focus, :focus-visible, :disabled, [disabled], .btn-disabled, :checked ) { + --btn-shadow: ""; + --btn-bg: #0000; + --btn-fg: var(--btn-color); + --btn-border: var(--btn-color); + --btn-noise: none; + } + @media (hover: none) { + &:hover:not( .btn-active, :active, :focus-visible, :disabled, [disabled], .btn-disabled, :checked ) { + --btn-shadow: ""; + --btn-bg: #0000; + --btn-fg: var(--btn-color); + --btn-border: var(--btn-color); + --btn-noise: none; + } + } + } + .btn-sm { + --fontsize: 0.75rem; + --btn-p: 0.75rem; + --size: calc(var(--size-field, 0.25rem) * 8); + } + .btn-accent { + --btn-color: var(--color-accent); + --btn-fg: var(--color-accent-content); + } + .btn-primary { + --btn-color: var(--color-primary); + --btn-fg: var(--color-primary-content); + } + .hover\:bg-blue-600 { + &:hover { + @media (hover: hover) { + background-color: var(--color-blue-600); + } + } + } + .hover\:bg-gray-100 { + &:hover { + @media (hover: hover) { + background-color: var(--color-gray-100); + } + } + } + .hover\:bg-gray-600 { + &:hover { + @media (hover: hover) { + background-color: var(--color-gray-600); + } + } + } + .hover\:bg-gray-700 { + &:hover { + @media (hover: hover) { + background-color: var(--color-gray-700); + } + } + } + .hover\:bg-secondary { + &:hover { + @media (hover: hover) { + background-color: var(--color-secondary); + } + } + } + .hover\:text-gray-600 { + &:hover { + @media (hover: hover) { + color: var(--color-gray-600); + } + } + } + .hover\:text-gray-700 { + &:hover { + @media (hover: hover) { + color: var(--color-gray-700); + } + } + } + .hover\:text-gray-900 { + &:hover { + @media (hover: hover) { + color: var(--color-gray-900); + } + } + } + .hover\:text-primary { + &:hover { + @media (hover: hover) { + color: var(--color-primary); + } + } + } + .hover\:text-white { + &:hover { + @media (hover: hover) { + color: var(--color-white); + } + } + } + .focus\:outline { + &:focus { + outline-style: var(--tw-outline-style); + outline-width: 1px; + } + } + .focus\:outline-primary { + &:focus { + outline-color: var(--color-primary); + } + } + .focus\:outline-none { + &:focus { + --tw-outline-style: none; + outline-style: none; + } + } + .sm\:relative { + @media (width >= 40rem) { + position: relative; + } + } + .sm\:mx-auto { + @media (width >= 40rem) { + margin-inline: auto; + } + } + .sm\:block { + @media (width >= 40rem) { + display: block; + } + } + .sm\:hidden { + @media (width >= 40rem) { + display: none; + } + } + .sm\:w-64 { + @media (width >= 40rem) { + width: calc(var(--spacing) * 64); + } + } + .sm\:w-full { + @media (width >= 40rem) { + width: 100%; + } + } + .sm\:max-w-sm { + @media (width >= 40rem) { + max-width: var(--container-sm); + } + } + .sm\:translate-x-0 { + @media (width >= 40rem) { + --tw-translate-x: calc(var(--spacing) * 0); + translate: var(--tw-translate-x) var(--tw-translate-y); + } + } + .sm\:grid-cols-2 { + @media (width >= 40rem) { + grid-template-columns: repeat(2, minmax(0, 1fr)); + } + } + .md\:grid-cols-3 { + @media (width >= 48rem) { + grid-template-columns: repeat(3, minmax(0, 1fr)); + } + } + .lg\:grid-cols-4 { + @media (width >= 64rem) { + grid-template-columns: repeat(4, minmax(0, 1fr)); + } + } + .lg\:px-8 { + @media (width >= 64rem) { + padding-inline: calc(var(--spacing) * 8); + } + } + .dark\:block { + @media (prefers-color-scheme: dark) { + display: block; + } + } + .dark\:hidden { + @media (prefers-color-scheme: dark) { + display: none; + } + } +} +@layer base { + html { + font-family: var(--font-body); + font-weight: 300; + } + h1, h2, h3, h4, h5, h6 { + font-family: var(--font-heading); + font-weight: 500; + } +} +::-webkit-scrollbar { + width: 8px; +} +::-webkit-scrollbar-track { + background: #2d3748; +} +::-webkit-scrollbar-thumb { + background: #4a5568; + border-radius: 4px; +} +.transition-width { + transition: width 0.3s ease; +} +@layer base { + :where(:root),:root:has(input.theme-controller[value=light]:checked),[data-theme=light] { + color-scheme: light; + --color-base-100: oklch(100% 0 0); + --color-base-200: oklch(98% 0 0); + --color-base-300: oklch(95% 0 0); + --color-base-content: oklch(21% 0.006 285.885); + --color-primary: oklch(45% 0.24 277.023); + --color-primary-content: oklch(93% 0.034 272.788); + --color-secondary: oklch(65% 0.241 354.308); + --color-secondary-content: oklch(94% 0.028 342.258); + --color-accent: oklch(77% 0.152 181.912); + --color-accent-content: oklch(38% 0.063 188.416); + --color-neutral: oklch(14% 0.005 285.823); + --color-neutral-content: oklch(92% 0.004 286.32); + --color-info: oklch(74% 0.16 232.661); + --color-info-content: oklch(29% 0.066 243.157); + --color-success: oklch(76% 0.177 163.223); + --color-success-content: oklch(37% 0.077 168.94); + --color-warning: oklch(82% 0.189 84.429); + --color-warning-content: oklch(41% 0.112 45.904); + --color-error: oklch(71% 0.194 13.428); + --color-error-content: oklch(27% 0.105 12.094); + --radius-selector: 0.5rem; + --radius-field: 0.25rem; + --radius-box: 0.5rem; + --size-selector: 0.25rem; + --size-field: 0.25rem; + --border: 1px; + --depth: 1; + --noise: 0; + } +} +@layer base { + @media (prefers-color-scheme: dark) { + :root { + color-scheme: dark; + --color-base-100: oklch(25.33% 0.016 252.42); + --color-base-200: oklch(23.26% 0.014 253.1); + --color-base-300: oklch(21.15% 0.012 254.09); + --color-base-content: oklch(97.807% 0.029 256.847); + --color-primary: oklch(58% 0.233 277.117); + --color-primary-content: oklch(96% 0.018 272.314); + --color-secondary: oklch(65% 0.241 354.308); + --color-secondary-content: oklch(94% 0.028 342.258); + --color-accent: oklch(77% 0.152 181.912); + --color-accent-content: oklch(38% 0.063 188.416); + --color-neutral: oklch(14% 0.005 285.823); + --color-neutral-content: oklch(92% 0.004 286.32); + --color-info: oklch(74% 0.16 232.661); + --color-info-content: oklch(29% 0.066 243.157); + --color-success: oklch(76% 0.177 163.223); + --color-success-content: oklch(37% 0.077 168.94); + --color-warning: oklch(82% 0.189 84.429); + --color-warning-content: oklch(41% 0.112 45.904); + --color-error: oklch(71% 0.194 13.428); + --color-error-content: oklch(27% 0.105 12.094); + --radius-selector: 0.5rem; + --radius-field: 0.25rem; + --radius-box: 0.5rem; + --size-selector: 0.25rem; + --size-field: 0.25rem; + --border: 1px; + --depth: 1; + --noise: 0; + } + } +} +@layer base { + :root:has(input.theme-controller[value=light]:checked),[data-theme=light] { + color-scheme: light; + --color-base-100: oklch(100% 0 0); + --color-base-200: oklch(98% 0 0); + --color-base-300: oklch(95% 0 0); + --color-base-content: oklch(21% 0.006 285.885); + --color-primary: oklch(45% 0.24 277.023); + --color-primary-content: oklch(93% 0.034 272.788); + --color-secondary: oklch(65% 0.241 354.308); + --color-secondary-content: oklch(94% 0.028 342.258); + --color-accent: oklch(77% 0.152 181.912); + --color-accent-content: oklch(38% 0.063 188.416); + --color-neutral: oklch(14% 0.005 285.823); + --color-neutral-content: oklch(92% 0.004 286.32); + --color-info: oklch(74% 0.16 232.661); + --color-info-content: oklch(29% 0.066 243.157); + --color-success: oklch(76% 0.177 163.223); + --color-success-content: oklch(37% 0.077 168.94); + --color-warning: oklch(82% 0.189 84.429); + --color-warning-content: oklch(41% 0.112 45.904); + --color-error: oklch(71% 0.194 13.428); + --color-error-content: oklch(27% 0.105 12.094); + --radius-selector: 0.5rem; + --radius-field: 0.25rem; + --radius-box: 0.5rem; + --size-selector: 0.25rem; + --size-field: 0.25rem; + --border: 1px; + --depth: 1; + --noise: 0; + } +} +@layer base { + :root:has(input.theme-controller[value=dark]:checked),[data-theme=dark] { + color-scheme: dark; + --color-base-100: oklch(25.33% 0.016 252.42); + --color-base-200: oklch(23.26% 0.014 253.1); + --color-base-300: oklch(21.15% 0.012 254.09); + --color-base-content: oklch(97.807% 0.029 256.847); + --color-primary: oklch(58% 0.233 277.117); + --color-primary-content: oklch(96% 0.018 272.314); + --color-secondary: oklch(65% 0.241 354.308); + --color-secondary-content: oklch(94% 0.028 342.258); + --color-accent: oklch(77% 0.152 181.912); + --color-accent-content: oklch(38% 0.063 188.416); + --color-neutral: oklch(14% 0.005 285.823); + --color-neutral-content: oklch(92% 0.004 286.32); + --color-info: oklch(74% 0.16 232.661); + --color-info-content: oklch(29% 0.066 243.157); + --color-success: oklch(76% 0.177 163.223); + --color-success-content: oklch(37% 0.077 168.94); + --color-warning: oklch(82% 0.189 84.429); + --color-warning-content: oklch(41% 0.112 45.904); + --color-error: oklch(71% 0.194 13.428); + --color-error-content: oklch(27% 0.105 12.094); + --radius-selector: 0.5rem; + --radius-field: 0.25rem; + --radius-box: 0.5rem; + --size-selector: 0.25rem; + --size-field: 0.25rem; + --border: 1px; + --depth: 1; + --noise: 0; + } +} +@layer base { + :root:has( .modal-open, .modal[open], .modal:target, .modal-toggle:checked, .drawer:not([class*="drawer-open"]) > .drawer-toggle:checked ) { + overflow: hidden; + } +} +@layer base { + :root, [data-theme] { + background-color: var(--root-bg, var(--color-base-100)); + color: var(--color-base-content); + } +} +@layer base { + :root { + scrollbar-color: currentColor #0000; + @supports (color: color-mix(in lab, red, red)) { + scrollbar-color: color-mix(in oklch, currentColor 35%, #0000) #0000; + } + } +} +@layer base { + @property --radialprogress { + syntax: ""; + inherits: true; + initial-value: 0%; + } +} +@layer base { + :where( :root:has( .modal-open, .modal[open], .modal:target, .modal-toggle:checked, .drawer:not(.drawer-open) > .drawer-toggle:checked ) ) { + scrollbar-gutter: stable; + background-image: linear-gradient(var(--color-base-100), var(--color-base-100)); + --root-bg: var(--color-base-100); + @supports (color: color-mix(in lab, red, red)) { + --root-bg: color-mix(in srgb, var(--color-base-100), oklch(0% 0 0) 40%); + } + } + :where(.modal[open], .modal-open, .modal-toggle:checked + .modal):not(.modal-start, .modal-end) { + scrollbar-gutter: stable; + } +} +@layer base { + :root { + --fx-noise: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.34' numOctaves='4' stitchTiles='stitch'%3E%3C/feTurbulence%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)' opacity='0.2'%3E%3C/rect%3E%3C/svg%3E"); + } + .chat { + --mask-chat: url("data:image/svg+xml,%3csvg width='13' height='13' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='M0 11.5004C0 13.0004 2 13.0004 2 13.0004H12H13V0.00036329L12.5 0C12.5 0 11.977 2.09572 11.8581 2.50033C11.6075 3.35237 10.9149 4.22374 9 5.50036C6 7.50036 0 10.0004 0 11.5004Z'/%3e%3c/svg%3e"); + } +} +@keyframes dropdown { + 0% { + opacity: 0; + } +} +@keyframes progress { + 50% { + background-position-x: -115%; + } +} +@keyframes toast { + 0% { + scale: 0.9; + opacity: 0; + } + 100% { + scale: 1; + opacity: 1; + } +} +@keyframes rating { + 0%, 40% { + scale: 1.1; + filter: brightness(1.05) contrast(1.05); + } +} +@keyframes radio { + 0% { + padding: 5px; + } + 50% { + padding: 3px; + } +} +@keyframes skeleton { + 0% { + background-position: 150%; + } + 100% { + background-position: -50%; + } +} +@layer base { + @media (prefers-color-scheme: dark) { + :root { + color-scheme: dark; + --color-base-100: oklch(40% 0.016 252.42); + --color-base-200: oklch(20% 0.014 253.1); + --color-base-300: oklch(15% 0.012 254.09); + --color-base-content: oklch(97.807% 0.029 256.847); + --color-primary: oklch(58.34% 0.136 249.54); + --color-primary-content: oklch(96% 0.018 272.314); + --color-secondary: oklch(69.54% 0.189 40.23); + --color-secondary-content: oklch(94% 0.028 342.258); + --color-accent: oklch(77% 0.152 181.912); + --color-accent-content: oklch(38% 0.063 188.416); + --color-neutral: oklch(14% 0.005 285.823); + --color-neutral-content: oklch(92% 0.004 286.32); + --color-info: oklch(56.86% 0.088 194.95); + --color-info-content: oklch(29% 0.066 243.157); + --color-success: oklch(66.88% 0.138 137.06); + --color-success-content: oklch(37% 0.077 168.94); + --color-warning: oklch(84.93% 0.162 84.01); + --color-warning-content: oklch(41% 0.112 45.904); + --color-error: oklch(71% 0.194 13.428); + --color-error-content: oklch(14% 0.004 49.25); + --radius-selector: 0.25rem; + --radius-field: 0.5rem; + --radius-box: 0.5rem; + --size-selector: 0.25rem; + --size-field: 0.28125rem; + --border: 1px; + --depth: 1; + --noise: 0; + } + } +} +@layer base { + :where(:root),:root:has(input.theme-controller[value=apxtridark]:checked),[data-theme="apxtridark"] { + color-scheme: dark; + --color-base-100: oklch(40% 0.016 252.42); + --color-base-200: oklch(20% 0.014 253.1); + --color-base-300: oklch(15% 0.012 254.09); + --color-base-content: oklch(97.807% 0.029 256.847); + --color-primary: oklch(58.34% 0.136 249.54); + --color-primary-content: oklch(96% 0.018 272.314); + --color-secondary: oklch(69.54% 0.189 40.23); + --color-secondary-content: oklch(94% 0.028 342.258); + --color-accent: oklch(77% 0.152 181.912); + --color-accent-content: oklch(38% 0.063 188.416); + --color-neutral: oklch(14% 0.005 285.823); + --color-neutral-content: oklch(92% 0.004 286.32); + --color-info: oklch(56.86% 0.088 194.95); + --color-info-content: oklch(29% 0.066 243.157); + --color-success: oklch(66.88% 0.138 137.06); + --color-success-content: oklch(37% 0.077 168.94); + --color-warning: oklch(84.93% 0.162 84.01); + --color-warning-content: oklch(41% 0.112 45.904); + --color-error: oklch(71% 0.194 13.428); + --color-error-content: oklch(14% 0.004 49.25); + --radius-selector: 0.25rem; + --radius-field: 0.5rem; + --radius-box: 0.5rem; + --size-selector: 0.25rem; + --size-field: 0.28125rem; + --border: 1px; + --depth: 1; + --noise: 0; + } +} +@layer base { + :root:has(input.theme-controller[value=apxtrilight]:checked),[data-theme="apxtrilight"] { + color-scheme: light; + --color-base-100: oklch(100% 0 0); + --color-base-200: oklch(98% 0 0); + --color-base-300: oklch(95% 0 0); + --color-base-content: oklch(21% 0.006 285.885); + --color-primary: oklch(58.34% 0.136 249.54); + --color-primary-content: oklch(93% 0.034 272.788); + --color-secondary: oklch(69.54% 0.189 40.23); + --color-secondary-content: oklch(94% 0.028 342.258); + --color-accent: oklch(84.93% 0.162 84.01); + --color-accent-content: oklch(21% 0.006 285.885); + --color-neutral: oklch(7% 0.006 286.033); + --color-neutral-content: oklch(1% 0.004 286.32); + --color-info: oklch(56.86% 0.088 194.95); + --color-info-content: oklch(98% 0 0); + --color-success: oklch(66.88% 0.138 137.06); + --color-success-content: oklch(92% 0.004 286.32); + --color-warning: oklch(84.93% 0.162 84.01); + --color-warning-content: oklch(41% 0.112 45.904); + --color-error: oklch(71% 0.194 13.428); + --color-error-content: oklch(27% 0.105 12.094); + --radius-selector: 0.5rem; + --radius-field: 0.25rem; + --radius-box: 0.5rem; + --size-selector: 0.25rem; + --size-field: 0.25rem; + --border: 1px; + --depth: 1; + --noise: 0; + } +} +@property --tw-translate-x { + syntax: "*"; + inherits: false; + initial-value: 0; +} +@property --tw-translate-y { + syntax: "*"; + inherits: false; + initial-value: 0; +} +@property --tw-translate-z { + syntax: "*"; + inherits: false; + initial-value: 0; +} +@property --tw-rotate-x { + syntax: "*"; + inherits: false; +} +@property --tw-rotate-y { + syntax: "*"; + inherits: false; +} +@property --tw-rotate-z { + syntax: "*"; + inherits: false; +} +@property --tw-skew-x { + syntax: "*"; + inherits: false; +} +@property --tw-skew-y { + syntax: "*"; + inherits: false; +} +@property --tw-space-y-reverse { + syntax: "*"; + inherits: false; + initial-value: 0; +} +@property --tw-space-x-reverse { + syntax: "*"; + inherits: false; + initial-value: 0; +} +@property --tw-border-style { + syntax: "*"; + inherits: false; + initial-value: solid; +} +@property --tw-leading { + syntax: "*"; + inherits: false; +} +@property --tw-font-weight { + syntax: "*"; + inherits: false; +} +@property --tw-tracking { + syntax: "*"; + inherits: false; +} +@property --tw-shadow { + syntax: "*"; + inherits: false; + initial-value: 0 0 #0000; +} +@property --tw-shadow-color { + syntax: "*"; + inherits: false; +} +@property --tw-shadow-alpha { + syntax: ""; + inherits: false; + initial-value: 100%; +} +@property --tw-inset-shadow { + syntax: "*"; + inherits: false; + initial-value: 0 0 #0000; +} +@property --tw-inset-shadow-color { + syntax: "*"; + inherits: false; +} +@property --tw-inset-shadow-alpha { + syntax: ""; + inherits: false; + initial-value: 100%; +} +@property --tw-ring-color { + syntax: "*"; + inherits: false; +} +@property --tw-ring-shadow { + syntax: "*"; + inherits: false; + initial-value: 0 0 #0000; +} +@property --tw-inset-ring-color { + syntax: "*"; + inherits: false; +} +@property --tw-inset-ring-shadow { + syntax: "*"; + inherits: false; + initial-value: 0 0 #0000; +} +@property --tw-ring-inset { + syntax: "*"; + inherits: false; +} +@property --tw-ring-offset-width { + syntax: ""; + inherits: false; + initial-value: 0px; +} +@property --tw-ring-offset-color { + syntax: "*"; + inherits: false; + initial-value: #fff; +} +@property --tw-ring-offset-shadow { + syntax: "*"; + inherits: false; + initial-value: 0 0 #0000; +} +@property --tw-duration { + syntax: "*"; + inherits: false; +} +@property --tw-ease { + syntax: "*"; + inherits: false; +} +@property --tw-outline-style { + syntax: "*"; + inherits: false; + initial-value: solid; +} +@layer properties { + @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) { + *, ::before, ::after, ::backdrop { + --tw-translate-x: 0; + --tw-translate-y: 0; + --tw-translate-z: 0; + --tw-rotate-x: initial; + --tw-rotate-y: initial; + --tw-rotate-z: initial; + --tw-skew-x: initial; + --tw-skew-y: initial; + --tw-space-y-reverse: 0; + --tw-space-x-reverse: 0; + --tw-border-style: solid; + --tw-leading: initial; + --tw-font-weight: initial; + --tw-tracking: initial; + --tw-shadow: 0 0 #0000; + --tw-shadow-color: initial; + --tw-shadow-alpha: 100%; + --tw-inset-shadow: 0 0 #0000; + --tw-inset-shadow-color: initial; + --tw-inset-shadow-alpha: 100%; + --tw-ring-color: initial; + --tw-ring-shadow: 0 0 #0000; + --tw-inset-ring-color: initial; + --tw-inset-ring-shadow: 0 0 #0000; + --tw-ring-inset: initial; + --tw-ring-offset-width: 0px; + --tw-ring-offset-color: #fff; + --tw-ring-offset-shadow: 0 0 #0000; + --tw-duration: initial; + --tw-ease: initial; + --tw-outline-style: solid; + } + } +} diff --git a/wwws/admin/src/static/css/sourcetw.css b/wwws/admin/src/static/css/sourcetw.css new file mode 100644 index 0000000..27a06f8 --- /dev/null +++ b/wwws/admin/src/static/css/sourcetw.css @@ -0,0 +1,5 @@ +@source "../../../../../../../apxtri/objects/wco/apx/*.{html,js,mustache}"; +@source "../../../../../../../apxtri/objects/wwws/admin/src/**/*.{html,js,mustache}"; +@source "../../../../../../../apxtri/objects/wco/simplemobnav/*.{html,js,mustache}"; +@source "../../../../../../../apxtri/objects/wco/apxauth/*.{html,js,mustache}"; +@source "../../../../../../../apxtri/objects/wco/adminskull/*.{html,js,mustache}"; diff --git a/wwws/admin/src/static/fonts/Questrial-Regular.ttf b/wwws/admin/src/static/fonts/Questrial-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..b3a45b411a91a83af1b82693afedbdf18e8063b4 GIT binary patch literal 148120 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�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

    rY>b%Iyy2=0`& z3I1(cofk?=_xs_qM=uIl`}<7ArlJBkFsCXHZ(J|&ZzR;`8f@eqO^^AZ)j5CzDn})J z2|Uukm%!#^k!7RL3NU9K(k&{8%jLXP#uZPp4jW!E>XfTYKmr)9gYR9%)8cs3@4=!D z(p4s*01gP3r_5_D3*>>t+Bue%#wDP%*!ckko-^)4%Y}%1q-kOnaPhWC^=P1V+_Is% z??-`%n#wrY74`0m$9`Dj#z2!7G~BTSuz1n%4##|a)Sa>w^2EmG&Fr@E%RKCt#<9zZ z=E0YB|EBao{wR{a1d1}iZb;=SDqA*4@8ka_{{1n&2k<@iz_dVzb3P69HfUXxA7IEV z!+FRiLUpIh=T&6M`t8zQ5zjBPHud>~InSSDLA)3FtHFpY*h7`5k0^D_J?FF8{1p-S z+y~BCj@Rw1LgfnZRspbG#aq{AYtG`Pjce03XLHe2&~ZNMW7)k1=LFVNo#j39y*SDE zD0NO*#DvhSc5qoA)(tM7i`XhrPI9d%pO&7$_i*v7wD1hke(7h4Qg^;=(!0uKqshh$ zMlA{{hKNPDL@$zH#V{SgGctDEemtGOggo!yEOfI<9+@5}0^6_`8*tP>0$C9RvUYk{ zr#CJColhs?IS=B3u6OxflHB}IX}vzLo7`fhK~rdthB+SRJuiC?{ErWvGK`r!F*; zub!bUX(m(`n#tw(NROZPB$bo40hx`@7siw|Rz9Y5ebOLAed<@H9nv5~`3TK&x<1Lt zyc}|}@Y@Qie^f0Gh;nt_Nh89%r!}H8)us8%smpgwR34D;#JPI}IeFmG#DPmO>F|Bx zRyjqtoIY*4MG`s+gpkRSHVSZH0tu4UYUI~KUG?bV`RcN(E+$GaUx3yJa0LWqP$Fo( zhSRpUm|J*+MCOtZq*N297;=1j_qTQKA5xfmW}ssxq?=JH!nKibaqDbDcqS^}I@1_# z*gl?eG;N8sOa*OWXP~2!{jek9tQ%-a_3*Wc%AJ|DfsXM3^o8GTBeDZEddR$6iu(Z-Bx1+p(?A=I&Mn+s< z0K{!PNTxTT8R{UW0`v$-s|NXiw9D>2!g`pjQaY-@@#blx_e`r}{5 z$N$O-#~}yLK`Q8go@D{L(;;1(JY@wj(NQF^Be=?e?vtVEG#N~rfJ??z3+M+Zrx2M2 zjZ26c;K8^&!Jx#heb)~FEi0vOXT-ZRID!&x7IP7FM7@>~V=#JPkwTmwE@zx$ha97h z_|{$TyKjj_Q(vqbt<&GLYen)dy;r`izn|X`kVLxnmrnon<;?zUPw!9S9lU&HDSQ7b zPfL&SS+@b{Uxit(kp>g}z@X_d>rew&(!l6$O}(;=&~f}vb}mh8%WNX>h7+uqHT5oQ=4 zPra2laq;N%@zJyATDqf)om~s9jQY;|Nb(B^d|Lw`9{!MgPMPfa ze@OXA9;+A+=uO|Quy3l!SzKr@XzdaAEIhq)m#hrS2&_hrNXov8OJD)sqdJn5AQ36h zDh{JZMUYXw30J7HEFU5f_q0)3Y*76k?CeoxroOz&t;6MBcD^l13l0>^3T78>G#=TQ zo^pda27EoNQ{E4BESPCMRD?kAN(jVg!9^q|fS+O-ujA*JgG3 zV!FIb#?2Gyb`G%Ston3riT0OSAFY`*fN5I54Al{RB1b18q>#ITCE@TwoRoxB)9DOL z5QH#Y6ek7131ME4P7T+SSphO5jG0u&c>a0DL$1YDZWI~iiN(3Y8-{0i8eBFbyK~by zC(eEUjl)|;dKd5dDuSbu`?s_Dd)Zk#W;X9bTvSWj@Ncbc&8Z-JapQsUUsDe?4XRzb zDN$Ap|7Zxmi)(v)0+^f-pTQ?dv zT{dADJ{-(Z#x9uMa8ddSj@{y>4cx>sdSYiR670>=$a)ATj9Xc7AqVD(_`VybS)Igv zYViCcxe(S&BxJ<+)rF&sc14A>WQ5_wl2Le~jwg}mqx%l|u}haSvBs_Ewbn#pk(!B6 zZ%@cMHqg7NL6_7eE|x!qo0mepk@|*q|GoFNO~j*}f%K(Jnf*vo45v0oE3a^BqqY1N z`q&`d{t#gyo+ZF3b2Os zAma1sIpDi7RdApPR}rpE$)r|pU=6E5(5qBvIQ96wDP(N{OyvxBr*!OdJ@r~Xu21p# z*1bTbv3{V=GkpEP$M_v8GFd_(o!rLHO!)K&`%nNJCl2TR@D!Vj`KJAp>j9^vdOpJG zh(*ge=Q2LMR-DlSlSi-)GY$-7h@pE{@H2Hadk_9TJ9-8FjHViZjrdn~q*3mXUKQsW`gVYGR#84Jw6>MMfY)d08|2M@!DH&#kX?T) zHnH%-Mio6VHs;v5bzrN4*>;Td!VoPmY{GFUo1p zE3hoVnvI?i9GItsQ-1xsM9qvwI!Wk{#PVjRGpa8y~+^ zNRtxv4^sikDSG>~LK+Q~`(?zu1IJr8KpG1Cb!lyegws!RX+u1}OaGSf6XcCi++>FCCW$CenTIV{-zMG;^j&`6`+5=Ux`Y0WZG92;rgMK zhs?|Tm~)O@P@u~LKOlhuX|?fBIC8*g;m2W8VFA*VAoHz`FsHCs39vW6XQ=#5VQ-$= zo9yh>4Aj3(g+_bu2As^Sfaj0|5(=v-1ajn$MC<9Sp6E+978f`=Ldp_&&(=3E@PmPY zL3RY7r<(?;&qmaK1$|z7i!h;Z)!Z1l?NMu>NNN!|0+L7*5FTLlsh4c+&(iHvDwn;E&t{m3l359XAgWHz)Xbj4e7PTP?Y5Lmu^fYJ;k8VX^njGF*337~k;z61v2NR*33 z(o%eCUo1Z2L)Josi#Wmnw|Q{+6~Rm6+)!;Za$$pgc7erqrT&DQz+Q+>L^}EsN}0>i z#s0dK+Q-g%|G&}&S-+2W4fPdQH6YarjpkT(uVG328ufbRRT@3ki6goY&r_f?K-Vv9}Fb5ExJQgCVdGX1Qn*Hoa)dn|3<(%`=`oIoJ<%s&N zpUPb)o79u&gkKo(3UJ`;UlqlG=)(NnnbeU;v2M+nA1HOCxR5^cLmr8)!&@f-1wT@cd{>eNfK?}cn&oaGx+`{;R#obKy2^;p zYDpGXn=2iPUsnB&7GuCn%vJgFeXx z&#i|z=ynrV5vC`QzRgA#CbgQ4u{bden~^TN!>oPz%XpDLFcDyZ6>0ax?$qDJyn*(g z;(jZ?S76J|dCfcDD=_#E+a%n{-! z)xDWrKCQ{;*pImP4|62y&!@|~a>@^|SXMhE&x`uYY$!d~+3lRv%2)O0S?M&b0kbAMkRP`$c9}54H3$e9&&l6YF4d;J6(ad zg2SKKB2?u}B{*U7e10K0XPd0W-40w=20S@Sjo{|$?t_C#VV=$?6WmZ8*)x?2u;*3d zbVySx)LpNf$9KJ0u}N*kuDwTF|%YC`D8J2rNq%>-K)@V75mJByY5$;GJ z&XOi8JZ;*sgF1awexGJ>hg3&;{{mb=}G6t67&Avb~iH?QM(g?Tc;g3zg*q!G|7lHUQdg>duV9rQ19vA^d1@T-PBix{9gO~F*-dKYhhpd3z14c-n*h?ykuo{}aaxK`E zIBp09m_=fgQAwwTguN2*p@) zYfG9OgZ?UiWYk+XJVRN`vNm6u7)`N`&KYau)@^GqUro<3c_QxO>qm4b=ALLzNtbK$ zDdsOzKR4$b=2dNn&uhBU>a_^_P;EnPfrenk z<-n;g=G<$`X$PZIoZ6}a5%C31o3&V*8=)(YNgl*xXS`&q*O%upmB4_NI zERmhMFJtB8IsCMXlF=(zie$purK=GW&Mt#~x$%3_O^1!}ECq zd`Cn%9-Q*vocC~ri6g+p2wdn#8UW5yF0I}bjsz|SK$twQ2&qkAyw~m?Xc$h1NLXV* zVtxVehB{$G$Tn9qv`teE9e&NWxii`}wJ&sH`i%H))6~ew(zYwxdbHiKF20*6>IA1W zWZveKR+*->?DA>ppG7$=Qn)1=6e#K+Aj=bWf@p_0F_jzS!^iNEE+>i=^_LmECR7fo zB)grH+2vffr}~63LVaW_t=BL}yuZZRMSCM^Mq{!qWwi%s`+Im!=C&o219R=9Xjt$z zoW@Y9!G2-%B{!o+hH!NYL@z}Mqkb9gwI%}-#X6HsRnU`xF8s;4-5O@5HTPSm#@O82 z8?KRx1zr&9O%-(1UO-2n7h!MWUJLvHw}tgoucNyy)jolEpdV%UtAX>TJ znKn&lcaG9r@&uQjPxh$r=&5~c`#3tJ+OOpY(_I}CS8-!~_+8wbE?Q~+w1I0Gu^=LH#q$gD7%B4(bC&R>{41Z#2HbH5%W-p(K>IRmhQ`X`@f{$ z&dd4RO|YqOG}R|G>rox%8n=n7b&c|7>1m<}ekR`szE2qZPM`y2kc2EP<2zig4IdD^ zF?-UxmM0+^)Xmh^c-%GqT7S@8<|(B}3=711LL&2wEJE5Br(8SjR1)?>a@5p+U?h1# z%?8iy2gfhn5{YcNbeujJ>mNVVuTNR^{fF4m#J;YP&czF~i|uK*7L=!+>pyRJ_`Lpg z=3+5D7hO5yJ0SfvYmR8giIrPsCbj%vPW_YF<=o05R+N`x#rbnsMI+A1dCXT-8c&Qg z0`5+^xSAXi+7D7X7;JPU8` zb?rS%?WvbP9FFH+*xoeL#3CPQAJ?vI@9OqPoJFyTDqEs8>(chRP*p)3g`+*VwjHCx z`N{8XFOevEo%jNI3HXW0)01(%8>m}h&BefRj}Pu1}? z`uoRH_peB^pOA0={O2=sLi8!dzKobVG4_KwV?0UaSRwM*?g!7bNVt&{yo4C{GB&NG z1E__cvm79Sy5QP2uxtuBW@3GET($E4SCa?RVI@E#oqj-`(KsXmNcj98%kBeC5z5LB zDiQ02H^5&Djx7_%mZ!*7tSo_9fJ#t}tObyY5p3>rljFpd%cFUY4wlf~IJFP-^6G{z z&V_gFl=qH}VMS@TeI27Mms})^8<4gp&j@QPE=i|^J9rVYfY8k~WQ$;utIk=aCb~nm zNfR!+k;+*)C1~Y|bya5-xv0r{4e=aK0M%{mVtY4UJw7;?WOpP72gk2Yz1&UKm!8yF zrip77ijYPe*O}t)K+*g)lgu-{yRmWibP27L$Tm%wC)f@_)qT=$`3kPiLOm`0L@nPW zU%{ze)Spk6zbRkAJd4iU!&fjaqi9u!PvtotG(<#Bf1f5XU zUyE`LkpME|6b2VHN^vKe*K751cp-y^4_hV~GyTF#EtZ&vgDKX{!{b+P!cr&2`cC*G zin6ecrG9{Q#Y(edscXgJvJ)}xrxX1k?VQj*V&28NAEf@J%d^IV@=X1#tmG)iIMsIe zIK_OUyj?4YCiG0!ypRkj=;3#m(+s_l%qPl6a_Eh;d0x)fAXA^TGQLKl9P~qUMC&PQ zS{a}7E}|a^k#31d3C{jfDCxAbxye=4f1&h(k&^lgd#u-L^M?5qh>UnOa0ALb4L zu?%ucvg^QTsiz{X;>K#HFB?*q176bWXHHBPPfB<^SvZrD&Hg3O5Yb@Ao)PK;Fc7EC&0}>cXOZwxjnQJnovevie^j}#^x z@Zw$qL1Y{;!QHw>_Mzfh^QNtBJFlFC|9fb1=Q$6ZMa?v$M)cDiGz%>_Jh!a!`4QudgUSsg-V!a}R8N;39LdPyQ&!IE4FZQk`1W~SdzL=g(b&djU~AwRQ!#WMe2$Kb+jG=%8nY;0h96v8kL+6*7NrNW%Benlf0*lK zW)bDs1IPFriSm1Fa1<9_4@XI zzp=J8E`O?Pthgpv(^UDZ)L(I#=1r-uKNab6suX#QW5L9TUQ_dbQ_qia>i{nYX9tQO zQWO0kE^Y=40&&&g;S?ZFfJ_qrnZQIJ5U4)&(lA7YTToY(=^@Wnhh1j6BNCb5w2%X{ z68EsmTd&!=Y5OKtg&$krd#iux>&)={z~%Te@I1P_`G#~~iMxqDJtGPGVm0~{;ya@Y z-6IY9cYL*0mrs+7iFQ_(FXoifs*83wYM<(3)kA#MMfpiW^Yij!+2xR7@51|;XrIp! zED!lOHW-YQbke~=!C^L7Q%#t~sfM)YJf;KB@|hyhzl_6e01l5K3L^$wID|^0%U1oh z8@}*o{woot+x{#lSB{$A3QX%Te@3WNd#By&vGS(5oVwc)4Otm-na34OYe-jgmL%r56yyhXo~(j9#EM87)H^|z(Vsb7?B zoa$%#m2-m!&@;3lBcwS%+-NN?FhmU)1yjy-`bIVeC4Yjcw>9eq> z@N6H;nl(ny!AH~cbG2$ua)XM?*jwpxzTWG!&Fk~F@8fO5!yah5zyFl(*D%oyI1P>CC^CB6AzFD_KbwzT?tSb{4nT(uQ}%7DeMrTVazr&E1!m}EPTQfMV# zvWE6246s}ljmGD#&V$_(=lArSKhd}7OunHe?4GT!pM8qbe9$GXBS*)OSRc2Yq{iFk zTaij1|F_P!X>-lziSGrh-#@AI6qPO7+F?_EazD3{Mx;|>c5MJi8RW)>+L{WB0eUXT81cc5 zL?xB$GUW^jUXhVc&yuRI)q{8#_*!A*yN)cYIKZHB!_z=Gg zxZVb)61BP-(~nEl{66?zBmRiHju8EjAt-+*^33OR%{zcVHEqp!_&b5{2s%XfNUgpX zfmz+Pb)(^qJ}h3y;~I@rS(CW3=9fOtM_^N#t-l|O>G$4TZZaj$c3n1sH7uAp&+42@ z72=i}CO2=YV)Ht>9AUmSx}`Gp83R_7;`>_U$FK^6d`Dc(3i;{`V7FzLzlWoCWPW!6 z-M3_i-x~2m^$?0-Vo=Bf$ZgUG`OM*fpnU8E%0a8JOe1Xro2jhud+Tt2Sw*-q3^A3i zh2Z)I$JW3Mg9sv#u!O)Lpj=P(^-JaKN`CQDXwsilZ(=%bW>e>FG&aw1GOuL=fmtw@#A){caK-AW|ys5LQaR9s9{y6O;$8mMb>H6b0pnO|yDi(8O|6sZAW zaCZ@AfbU(KKpg>{V_CI_S$}5lW`z_v7Xclsuiwyt3o?Q;>@DQk$Bh`x!CARA6HRne zs5zC$-q6IExvvotUI4gCvlLVe+^@~gjv(KC*bc#!|AG|wMeH}jgUIX{4d*HBdbX6h zJ9W4G#nfG?yV!231*Z2DT2dr)0@h4MInvotbE#~ofDPR23d)~4y_f!SsymiVT}nXu zM^1Ip%98Zkm7gheic6=1LWel5b_CC<-(!1si~4e0`mOvR&cMfSrO`<852W8J6XJPf zzvkm06@-5m#&?h-&^8i;%e4a+s+l9{9(u|gd7&8aI(2`nf4jQq1IZKAXMRRBOSj_9 zXz*6ipuF-Y^z%)n2XT`@>AHt1`4#a33A{ubyqIt^oK6?vW^PcOslJ-`#m<&V2xU-L_y|f5gUU zj$~7oerU>?^Lni1KVj`gu(tcf+OO=-`u>}k=YG+K{%EER{ZUbe@9k;nD&(`JT;8)H zKcNk39*i}(tB0(j++C(YUltlQ9 zHL;Cw^-0bhCfQe*Sj#BOvue}T(b1w_VL}Xr{0;)|t|I+lhFSye=_g5`t1J2Z^UlRS z&R;fVaT61%aXD*K5I3vG(Ly@nAjCa&(x0X_9GHbPA z{~#bSfGd4?OtQ@rBiBCu1$h9WF9=5r4{pE8vBA2juWyregX600gL9Ym^<6smNg zUvG83Ecc?=x4YGuXau8qjgRI);tcmwJ0PCq-cQZ=&D0XlG3BIhp`a{-%qRo^mri89 zUiVgNJ8)IG7vQ#P`C5+tU47TBw8``AZ=jZ|6NR--o3$uk%Zo+VBW3bpaRF1>i;nR= zCr<_NHHJm%0_D!)>H=iYOqE3K>Te;3k(es&1*uZ{EMT9#Hm}!?i{PALy`4J-0w6#n zyTb>a4*@Qe*(raPojZi&a6|2MT|;dt*vtEu{&{;b#B94MTs!3o*Od%iwfoV%#kCdI z@=fk}cc-gy)}8t_+xJ9GyUUD%4)@K>nEKog@lUK8?X0upn}L~}Pi%&f8jRYAMC}U1 z@-%Fl5VlC2fG>HTEbe4A?g1DBvw^tvJrK_Z4KvtvzS?Rn(ATJ!8s$b+ys~S;)T%(= z)-?K9s7u&n@<=*gmN^-VZ)|AT7^h1J%dcEaUeJr{2Aek2So`Ih8QlQnF@HYXE)*lW z3R37yj>;~`Tbu)}z!tRf7&y=ZB$-N8lBvu(%``6e^&jSPEYx4cv7qULo55m0ZE+20 zK3BrfxMo(JA7eMb8(pV*po^rqpPcVFhZs z4N__6+&m7JB~Z5*4M+3~p!S&&6@!6Krio+Ih*nnpIb!&Cz40~%A44;Y~+D~8V5%(EVj@;iFIAF_%48R?0?R;}?ZZ3r{d}EWF66tH$We6o=o#`j=BIfX{J975N zHAu&RWiEVw`u<2kK69yK>d_NKLWe6@ueidjfHMQbkIZv4w&Jo?G#|R0{+mm!l{XPL z!i*w@3GfATlkysVU1*cnI3{t2~65vsHX` zFD@>!9sBmBpV_yM&iJ9_&x`#u3?yTZvM0W~(#egir_1X$aARk4AsD^Lh5{MDob zz@`h37{dU|6*nS#8fFX48TCp?J+=rrBAhK5j6Op;=uoiUS65q6u7p`wVopR3OqmFi zHeX_oQf{M@dWdbdSNMhjm24mGYiXN&-_Ft!&oCrX>rhXJ zYkfiKS1p!_9nSSNA4-3t<13SUyY@QW-*(kl_$F7Xp!AUIBdzaU3&J`!;~Fg}yTJ9n z&Z%l=8mZ8?U%)o+pMWD}^5XPQ%M01>$_nt#tCo)`A6K?xbp8ciifjs1jhhnvH{M8! zM-}w2kF#_B^>s1ry6177kQ^h*LH-;ogBp8~+aA@uJJJXy=lem}6xDZ|@5_PvH%}#x z-9$`ev|4aAPIdb+i*PqsD-UwIn^#yOp~6G{Z>7(6<72iShf2)|i8LmG&g2yTFL596 z${keK;e>$u@b_m=2>ksSxvOP%!i@bM?nfSUg^j@0O*2+x!62&zR7?{V5jGpl(^D*D zp+f}hJ7fW3*e{9xn&vPY`RVvif4#V8k)rGQO~?kc^j|cS$s%|^G{#|A9>U7@_&l^Z zGlzTDU=FxodmuZN5qyez(q(k?S~QC&x&-);oXS!K$TCKT8ft5*EA2MTtfUzgjQ*3& zN?B4xf$Y$1ORSPCN|C-eHn+xl-+1%ds*UBI>z!3{+e@Da)qf18rA^H+DV^%OgiK0> zGy7X+8!OXaG|{#vtx9vot~qUg86^#xKaH`a9Idws&066e9)L!$h8>|pfC^-4Ke zsISMXp|djm#63tSxJTHdM#VkW^3CENexOM!a?1B>Xih(HP`Tw>$vQ5^`ZzFb`kAb< z=;SjQT-BFcl8Q!GWTv+0 zCffHVXJ?a3&#%lvO>34$GBYw5^CQZimUlr9A>QR(v>rqq@>P)aPmZ?qp=h>i{+Mnf zle(FKxl8hFWTcdlWlR{!1pZOl$oQh>Hzga{YLzlJGL@9pq$+J>JYyrXmWe!#95`Q;G6g&o zZwOuP5Old9>2my`rC>&;{L9bzi1G$xj7gDR1%*GayrH&0H^lwmyMvXA-+MFN4x~%V zzhYDT^H}(0I+dO+xS@pQLcFcf0vMz^ z@-I<1RImg3MX+(mnq>BsSCbXg+tgHp_{65xrq-5b31-LXvl{ju?J zxxbAn3pmT0_+d?AiNE3Y{MG|BmXK3&EHT~+|GBcDw&CreuJQ@_=_lmdqnWU;avD$xe`OV|e}zaMW?j^Rlr{3OXn7Ua!yn>W9U-Hm{36I`vczwUuM-w{I}R6QlBXje$E?F{MOvE_ zEK=M6V+EaW5qmS(<$T_(Y2B7*S{JZJ&7cn5RiGI)6ugL#rRFUp03UaG2&KK1VE7PX==zxP;Az1ERYc^%rDYVMjj-iPna%vMS7>H zWo@*3(!Qx`|HjJISaRFO_VpswI3+XQrKKx=tFC#fsjVTt3HedO^^s6jxv$7pZZE4a zTBl7D=Z!!I8awEX&ymLC2ijM>Oa8%=-=*;J%Xhhr-leDyZAJJ=W%<@jxsDm2a>5M! zLELXX^EqJy2s0qB+n!fWSO!_XBd?q=1G0Q)Zh2;o!9P!?OVKWxdt}R$^$*kYMY-;C zm*t{enfl}xM>%whmzBqG*3I{eH!uH_jkEVbPC^Sz$7$D8A45OKwoHj=g#R+U%=wr-8cUpc7vm}zOAdPt-jTfzHh9*X^q#rrm24n zqZCD&qqY1NjL)r#X?e38f#uB^8QHvi9vcTkmKdR>2ju5V4`fEDnLW(L)d`@l{7Nfj z9I(m}!YWr`q&$!rDU1(}+6$RsLLRyLK&1=${Tc(U^{pVU^;h~!iU@gCfE;qLcHmf> z38Zk?C%e<8>3xq)%&C+VXp#+AYw8*S-M2TUms$y&!?1KcBp_q^ZlatY-nf;wndskl=@DP9|&HMTpI(~7eH&}V)P13n&UTwy6k0NuyJB%chg$$fT!Qz zICgNNd7ZbzlOFQcFn7e@NkSnV3ANd|UxO&lC^SM}Ds z(lk@cMk4)t(ytBd8HlW{O+QlMKzkF&s{R&smxdg6X!3xc%nm*Duh^jl*^stdXZZOz z9a}*pE!m-wzzYD?&`Ne_;@2>d)~AK~P+~wa3Jz-`HBG|XOKS0C+IoJfB$G|}2JUSAP%dzvcPhSANzv6l3&a`w&^M35jRDa4FWpK#Jf zKoSQDw2JKw>~3Zp1U14W?2Z~}0lOoplgPddf_Q&LeYhfE4|Wz{KXPI1_;Ykrcs>!t zrJ00Q1U0L2D|)WWV>Ycle^}dUGTV}MAX3qh4QM`~Z9$hc#jNs30)Ly_j+#eoMgCT| zhWlp6u>augHG*61(|CI=%DOlRU7^L3F+PguQa)`_#VSqB~YLRrp zR#67NDkco)@NQ&fg!BMN`#Hp?34X(9}d)PKV+NjU>; zN<-Wai6Db#ak}JOG+o*>!Ts!a0OE{w1W+NQ6_K;xlmLkZ`~<5p6?XMdHoNZbQ~6^P zZCy)`ZQ6t%d~nky%!u0Mzw!U(mqX`lSCAv9)z3}FT9{=qB_Kp`3Oa&C4{ zB#=$HrX^w;MMe(;Sawgx>=)})GcOh4Ob@72b8{%fl;-y4_E1x(sUhI=lCjC@$QqkU zSI016K?KY+JA{q2Ge%3i(~>tpP-Sk&l|@;`M{}3&$Ii&LdeZ z=2mSFFsV;nrfWC5bF?m#`eddYS`RzH%9JtQ#a@3@ST*@WjPM{(YmgoHIPZam(yi=@ zZ+Ag%RDz8(3gSkPY8M%xs2D6T4S^r904cl~5_-eX4UKvcf&*6OqM{5XEvYL={uA>1 zydH`fE{De+z%+x>&AN3y+E5_Y8SJ8c8NbjJa=OeyjWwCUW==5}c2}o4AO#H)-LM;G z&yN=^I6+&(wm8R2lILt_o33*^`on`8+X|V*@lSm4YsYsA+U7<&r_fboDu!OYrPEzL>2OicE3qs5C-^CAiD6DSFNoKiBOH2l zN^^+*JW6wWJegi7}e9e$NSe*<8IupEV zCiMX3k6||k6!vFG9${h=A$&y0?Q&L>7Zo6QkJ3_$<=4tHyQbJQ%^@2R;Ain3tTMi} zyVf{ksZVsYj086)n#ZkUE#No&L!B#LH?p^PV6P?6GgwvGRu>uxCpY@+5!OHXXsNY# zF}`N+0QJ<#N>~fxJJ7S`Hnw3&lP6do4B6W(k(wWUvcy@}HsG!sU=I)X)%aSft0T5j?_+~= zg$;es+k@2C<-e*GhzAPt2Qh_0$}`H>@YBpc!G5T{Wzkn?u@8yAo$MQ|MIAxkslL!+ znXbjc-o?h)QHA8`+Ut?#W zKQ3m+ETwn%t>qK)6v7|MIfb~FFJWWKTWCMpDBm5doBF%s;0pQ{8&gL_8^QVyjTd4M ziY|00#c&Pm4IG|cG*khC3f-l!VRF%sSF_xN?U8nA;8?&Ej|>gn%-Yp8^w3=!9=eq8 z?BBB|_R8x`fRp8{mGyFrq<-wARYg!zVCTz7Ke=^6--D-(%zL9V zK*C6Je?W*y6vCkoIliu?nJL|!%>yk14FNB*>6Ia@2vVVmHEHq8x>Q(cOxDbS8YBdY z<4U_S3+}qevAJxzZ*G0AX*maKd)cAbOgKCf6Xw7tHzpdw8)wEEJ4P;?n7m-5E&S0e z-gfE#oq0a1h;HfZnvF(hyE?Z-AqhiRB0mzI6~u?rF&<0(i0B)1Px7Q_9R4-#N+;Gk z1YHh?zq%TSzhQEF#Mcq^P5Gl8ephct$4CRt)UieW7%2QPM$J8qfB8#myuGQ@pJnhz zO9IT#VrWT?(kiUT0h9rHp+W&xuf|)`1u)I-jn#pQ5JA+0{TNBxHA6u_4k!#QrPQ_? zy-nUgq^UI)7>=|J);c|2XN=w00LrEsN2I;3ez4x(Q(F_Ns|i$Jfce;hvG^HUFu|W> zh~0TqENFdUHQ#SS{ekbVsE}8HIT1}jR4ncu{Uf28QvA+T-Ks)oXhML zw2IbaRDwW3eD;CbGG17uqfEPSb^-sddIT1r0xTy3vYQqanV>nCOrtX;tguihrP?B* zJP88y*1O7OW;3J}T?8OZK$WQhw?0V>fBW}s{o4zLbTw7y}10Y{DR14UP5vk#!kAPXuxY@bT^WpT5BwmwI_K)T%a~7t#ZpM6` z2H@=3m1xs3oA1FY3@LrkHJ(7EMG@uSDFodwga+lh5!)|*VEdK6AhsTde8p5`DngDF zqhhQe0CNoLk=fNLzTbWH=)!f^?H1qrzOVhmGg|PBNB=j^h#@l4j4ZkM-g4b_3rCOc z7T>ea0NXm+`4&7QwF)vk0P1emDZDY-#E}iRkJ&6{ETV5LAiWga)u>(@Kz;-ICs~X$ zF7!MaQyey76G*^ke#s@$c9asf$Iuqag8(fa^mDeq-xDK{;+;?;4zL)+%+?U@g z?@Q5}_}B1^26>$j@AEONtayA)C9F_YST$ZCzp$b-o?UEg zw149$i8vZ)h%&=aO*N3uW#TyFXCSN6lGWriV3m*<7KJ%bHYk;|FS`-;Lbkx{o8?{E zz4*iRQ98%8V$a*dUqPHY-Zb+!KM}q~o>iD%le293x4cfdng0YAxnl_)e zo90QH|A+E#>V?qEUxt18cFZmKnQs?!i_WA550C&RoL2F?(8eHyWe`l}5CNjx;bejm%Y$Eua@S(u?;HY{`M4f8b9-JQjh<092cjG#iC&pCP z0gI#wS~2zaVNc|JM(#yGpLp#qd6Hb8k@oatqGiV9E;%f9lnobvZj0m|t~FRB6U zK0$uyk94y4z{X3lq*}Zu+B$%GH}DV1dZ=+k84w51^$uhEG9t%?oq<4d_+0iL z9u2McqgwA@#C3n5m`Yi$hN%FO7@7e0;ar2LE7F4yMFLSzAIP^(Xi9O|;%q(kDP)*K zEQA60kWR1=H275itF14mr`g&&2!=MnevcOX5-9l_$jc|56y%2o&`x#!mwDOP(f2sz zKSAG5&VMrWuJWG{mAhTfe=@U&rTUPedqm|swy;$C2jdh1L|sj83r<^V$b$oz^ zYOyjnV1k7KRUo_w->yaDyW=?Q;WK1-qiCLNU`?h5(gYgF7glD-35pRzQ%GSV*r!#T zMD>`Mp^fVjiBuxNC->}Gdg%GYbI&E7NB>3J(EpQjsSLecE|r{{Cd4hZn_<+ykJ+Gd zSS7Xh`xFXjzI-3Mj+&i$>XTae^FTw2)c{8X&B%FL4ajr%EOwi2F=AEF0WXc0y6oJf z`m4;qP@6a~0B*Q#8c7YTd6kW|vgXdK6Mtp5)5J=j0*ORB<==%yk-~2#?(NLm z*^w(F|MQuj=Y3A&!Tv5Z4qOkL)PCg)G?#=%kXwG0@)S)3`8+X`gYiIN0idKLM6k9L zT{hev^g`msD>rp(tdrH!gL3!tzZ_s~ z;+eVIc>24?(JQ-Z9Ts|9(6?+#Z@gP(qd~qqJRa*R ztI8UULzE*-*J9zmT0J8TMnN0*zP{827ieQIBk$5rYA-;}A;dwFR*Kz#=1@n@96_s` z%Wv{H-cMNhu#^c^-YWP6{a_6s4x1tiFCv8yhkc5PU;Q&^ZitB|fkL?kgfV7h23=Cv zB0&O0__I6v3AUm^?PDlNBIX$>CTrbJJLa5$aP=nWb`4R$uaMAPmBB^Q_YFy5?iN~; zfY&=+E*qE%yrmT`>%QnkcWnNC8HC)y%Cm}Vt*#ccJ>m=wIQLcU0**TJf2`p_L3$8t>|4nZD-jWI8Qqnkk5L z+9~2M*rbTLNTgx-<;!FhehPQABGTsEcp*$xFtkDsf+QvaCtraHqmGFnbMlBY4QXjO z!crW$#;J&gsmy#}WnHbtLfmPqP?Sn%h1=%V$W`i*wg*JBR%s#3WbLu4o!#Uvf?GCG zG&oO?!2wjO*gH7@OQUE{)Y zUW6w02Q?|LQ-Y+4K|6`ONV6NcuQj-B_D$M|zej2T5JLGmd)B~mSWqxnK-yYvu3&Pw^Y0sdR|8=#o}&VS1b71*dA#VzHTffvd%gQzEB-%;-k zer)+!MTzIsTYh$xdT*|*2b;WB53_Z{@|~=N-;I+yJW`;czyY6LP!!l_+)95urUUL}AatpM zNHvZ~PSTf&R`>|IE3!9(AEWY5q=7lrHBZqFi3jb11 z(v#I2f(-F7wwD)2d;>bmq45veEKa*UhJfhR@$o z$4dXR{`~3sut#JPCw*cEWSH1XAS0)hCosGD@;{evP=1VZ!We_?7NJyFV(O{*Yz=Z0 zis>QLY_oxQMCs%~_9c>*6a|w=UH>!w$kOOpgOuwK|1dIy@`cq6=!AF9U9|?%(QF&>v}^5E@f{1}hm_Cl7(pnH&^)uH~+xNn@3&KilJ<@-yqJ z_@2I)o}nxsVwUCm$@U8mTZfb$OC7pY$XI{NVEw(&IQOU~U!?6fdp+`&LA_t?Z$1gy z*Q*))(BI*70%!MfadWE6f5j|n4Pt8X>|C_E_zc$(4vsz(C+Kwo{|4W91}mq~y>se3 z4T(Y+xtuzB`;~F-zYuaSPHjx!$kIq>cV!08#p#?~j-L#MX9d2XR~6(Rh}Sxb3$Q3; zN>deq4p84oTLer-gu^385RMw)oP| zN4yXWp9=PKFnmf%m`Vs?Xw6u&5|%_sz>LN?kkj!R?IXd#4(*S8S4sV29C}Mr|_H16Bcqzrq-_krY)6nPp?@Y#c?M6%hAoD(H7=S7X#+j12-cB2K)nH z?E3*$T*eB7W^Sd{??%(%cg3%|d4jA!7%oTj*B?lToRV$qVdecIS`*q3-q9cs>H%Tv znNjzyV(Y;>ggueoA+1KTu)KtyMxlQrUlk;8o#Kb=2rE0|+iF-rVF*%!uPrSpQVYO; z4QEn;aysZKu=UvB7J#RV?=OZkVgS0LV9*Z)!i|Ao09%Y7$QXdoC^{F;q#V`VfgM}2 zXgi2apZv&j1MhT+Q+$I1Ugc20*d1`Wx&!=!5O40Y=K{;RZ`kKNlmvdz^;UhC+pz~}CTWe1FevQ>ijv384 zIcA47&T3(^&8aVJwyQk%X<{pdz3&CGEyLU6SI&-?mcXSAu?tTHObOb2tbu8jFJef! z0N)6XC23$4z8x=iJba+h(!ytkbQv^xGgTJiHu(0doXChFg01{q7+}r7)px^XgDnP{ zuTacUC2J7|s={b4vy>Lrdo3C?Q`%zfLr;o`s`_#s)nJ(!Q|za`BQ5AFA;Obj4l)A? zqDVwI&=5Kz92PIwo&G8I&=x|-lpwYNY7gx^jKj5sjfNS4jxm|U3KP_l8FY-N4!+ff zx)x7Ml?%Z{78t~8S*?Z%&*Dn+Tu`vnp5*^khG*LfX3g&QhM}2;%ALJK`v-?kA3AjT zl@~|G!{M=}$XFyYW@%4_9AWq5rKxatY;kyKvG?9PKlK0`4h)BzlMVIpNH{@Ak`Ca% zCphrm=&x}V#VP?uP848KMZIQDp{offD26`WFq$*;U;k^ z1Ke|ng9ZYAEGp>igDFe)*`6ZX>}HuDZR5kjj;ca7AE2fR2*CZ?!^R(`GC=`UVHAK zME4G!Gc!G3z~&0(r|~oWg@So4Xh?GBut&EiliSl*??@(hV2+43ifAAb-Nbt(`zp&x z_R8{<#&|BuMI?wU-8 z3MNYQ7rNTZ*eCKLZqR2rXHLg#M_$=@nED5Awt>U}0_bSZCEt}ICc3xI6|4+a^aM== zq?S`!NCBGSBmv+)I!QQwG1`sUEoXWZY2ZBfXrXa}b?!(0^G3lsCxPo-y?DPS=0!m&Qw+O-G?;_WB;Ki5;A6M2BapD~_Ns-rueF6KJzXt> zt%Csl*4NeK6OPc~nL*%^=}RPq5h9nc(jeF&*y6u@4}I>S$L?|(J;tVvntCq?C=6a> zQ}UhO4)3$ut4kWz*d16QmS*_|;l%6 z^87)EzoJ3p%Zp`Jc_*Ox$TW%{x!LkUH2i*hLv_mDShXpYn%<1~gp@mIUq3$YsoOR_ z^Yh4Q`@+6c&WwI`&*hiz`E2yeQ+$p4_C?ORJejob>rBINTWfmhv6!$a&A+jIrW;mXpFNpIr>bM)B{ri0J89RGv%dx!Z5lnCP)4{{QRr-(vnrz6Y6+@Of#FJ?uRemk68qdoaDLCM zh=vvQ4k>piq8`t$XUngLR@^M>$@^t?2(raADXV7fC1W@#L}(_q37gPRx#wx?2qgQ-;8otw99+l()Eiff^-duwOs*6!H0 zN_(>P*=O3~@wR84ZB3@XKiLtTn22^zo(R$mJA}5e0WG2t`kNR(Sx%=cS$ zjg?>}z16{YcNJc|cn=(4#}_XyOrOU_3f7H|t}96YJNr#?%kJ0M?aBKVH=liWXMg&| z{;v1HSflr?7OR#bju07BWGz%JC1yxpi?Y8I#5v`lvVqFA-v$(kYA93pSFqyZg5BVS z5R5v&vbQwX)hS9_Yjb-`dnDW#tP9lny&eo!t-DG9y!>F=wA0Za_G3E&RD}gO(+#o# zP=Ji=iVGGZ*rI#PQPHDLrgl$MotdIupu%L*;H0B#z zokSLmHzG+2R04V@Mf%J*@e?Q-tqF$CgMsfV0NToRGSjbqu7LOoS#2w5e-k-Cr(8hf z-8np+$M{=WywgX+ZSuI$(U^XPaa~jqjW^AE;^O{=;E?bLEg5krOkvlcHy7b6*MMZx zh$19O1bqe%JKqbLR;74>Nc>p5&&KDEiGk{0t077AWZ@{EfI=XbTdUMY(G-B zf}_D~7LNDU+{zfkA;48F7BPmSGbdjF8WF$GT@749y)WbsAzhr;?L|{S$7dsGAkm1p zXzRjym1i|_KFC;Gt1a)yM#fr<<;dwn=I(CO@aZGqh`F0iZrcjCPfzbCNZ(a3e~f(h z8^Ub^`{IfCzCjvH4$4ja{3awSuxIb)8&* znsprI$NU|6Po9x%68(o@TK zEPouRyG`kb(^Fa0U3yBlfnzS^Uzgi>bV>DP8)#>s z`V{YVl_-bTG4DR`E{gInmDA2G>IVh>%cO?MATI9Z!@DgJni^KfBCa9$qK=y=QA+$U zRae3ZAdXEGj!M|mq*Wxrvkm+^!LU6VADfiAm(<(i>l2q)wwdv;>czU&}Ds!gcTg|fv1fWFCzv~?J8I><=U84x{) zOu24lG@ek*(DYdz9VX&cErKaZIBAhY(`I9e&27U_VPea4g>WD!6|90Hd>R5GR!cYo zkh+cz%}k`Q18$j3-NRz(?~zJ_+|%h-KEH0mhIOw^Bu_mx$^Jswo59@u;@Xjp^g8DsGz{NjM`0M!G_>iHB3a4pcbiUr&`7*=2n5tg?fKud#hD|9ys&@>v>yQ}@y z3ZK<(ttc-vk*7j;cDvxMpqO;ZeuG^fA+Wq-f25$R%d%e1h3(+&;;r@jXL=0eW9GU2Irk&f+wIx*2-X@oLWh;dwekab z^{>h;&(tRyDe8+oLS6^|7%LV2F=*vz&m4Ft(`XMe?1;aicCcP{6mkXjJ{ir4lf53z z$&@yH{uV~tq=3HwvqgY5PCnn86q7vPcQQ;42m1)COCM!FNWX?t{+6Y0(vyvV5(Ow` zQ@v;T538K>s}Zx=E6(|7$tvgkYMk18an3g>k$6b91TstE*OI(oTS;}rL}0>JBb!4> z8f+A(t`iN}ON2GIJ z7?7FSV9Ib^Bp}N&T9ks+%({=rm!2gfK+f-pp}bVJZtF>tx(397w(`d z;+xwo@DsHK*Q{%(+!Y(%H#oF^n0!Rza1cepV-|7=wNE!X8*}|cQ}u~3oI}!4L}MF< zk7!uOpFMHs^B zqKymr&=ezhg0w*~BCzl6okU_2bM;VM6Gp_5@qA!B1k}vrFgd>=yhP(>%}dnWUspHK zl5rBThxhCyCsA*=<|IOdb;e0Vz1Mn&nRCCGIbrq)8&)SVbMC{;`LdiFU#7W1xW?n` zS?qJ|3Yc8LrqD=!VwiK$UC3?tM~~omjk!)tzpC8Hpi*aiJ4~s^5woURxCQ}XqG%J+ zlVtF`h-eIkfCCc7BRLbuU_>A$Ks$sf>CLg-QFWbKJJ?><9Ik1b4nI2Xbf3DI+}vbX zYlsbBJlyieUVqCumey2rRa>p8+*9rG*$Vv0;_?>XXeu0U@U~9+y+zH*in8vOsTuS? zFG51BO)HQRn;@^>rGMXw6^ko?Ji*mgEa`6kIrs(kY6lN&T!?|jc1tP%MUra_%<7O1 zkaNfV*-E*eyId%#thg4n$_H^_lQ@*uKmRoTe$SvQWLOJkCX`pN7MbDke z74Z^aH#nmEm;nq~nl{vc$12wSi3|WmQx2On%ptE z3Pvj28e@GN<&P;1#OYCu1>RBRXC{0E@uQ0%;&zI~rU-OU%WT064$h zRY>b8!2)fpP51I@bQT~wlCJS>xj)DezZD6zg05Huj6BFd{(>S*JmT>2vsq`Z(D4l*hg< z>hq^rpV}kqE4R@8!tT9A?k@@(fnM@u*lhd6Nw1Z{V+;#$5MuF&YzMH51B-x(1v(PD z&5BfR7Bk@8F6N@mgbscgx1J#Iq46SzGAoYsw$LN;5vNmt5w#y^u@$Gh zoYkv_Dlq_J^-}cD=YRz{5HED#ID&izBI<|8+G>SF!+|a%&tQ_2#v=g+!skeA_jaEz z#2x5QMK*~L!9*mt3^qf}n10=dKG<{ zKK~n5v6p;!G{{)HN6=eN##F3VL>?er0DwzGeu7$FunsBZBb(Kl^T#> zw5we5B$~3%p&E#p_(G3fmdQ`SI+_7;yF*FkFPY(393J*W*T!3G+RWc(-|~eM&Cd3!>e`?;(pwwr z?U?XZc&&rzht^K4ke`Va62OY`ixu?@#*jR5@VH}(dj=>%+Bsi_K0OW0qf7BA7vAq+ z1+cP6<-ub@SPcT>Spj&h$W4yjpr8QEad3o_a|l6XtJDC+imaxQh#~a`Q+(c)lubFZk<(FR{ zXqO4x4x=o})qqx?&@OjiF4GzP_X?q1a*-;7*pGAXeX(-;JKiIODB6?nf&Q%Wyr+RW zT)i$Kaj1`(w!s^C%PMvA+oq!uWxs*1pnITSFCz+>&?Z3rQZy^>iwFbEoOvwO8fE?g z6XXl1Tjj*51TdBxuc7Rj!fL53;cQGzdjc zL?fXNAnn5WMnew=3Q2w}#!g3hBJo5bk>nN0TOQ?Q#b$L-C z&Xg{M{1dq*EDhJdkE|N5r8f_oo^~Pw)4!tB)!?$q1}oC1lP8Q0T;k2T7;;5-nk5xz z$jrJK?VmlPdt0KZKrP!j+`i$$$-|qc2B+Ak($9t4x_1qxt`1!|#SW#f=|^hQCufIm zN&jZ+)zfv0Y~R19FSWLuf`*i!rQ^uCK`s5DoS)_HYNUHFfzytx%GgBR@w_66rqwdS zA{j3?Tq8D9qnX4WL1;NBt}wMJ1*lJcPI+H5J8pg*vANbEs~1VX!UB+^WH#53%>7E8 z*ZWR$J=U#?jx$4d%lP_JD{E3!tkB-Kej_IPfuDPV0Et_wc3kaV+d&h&JIEH@sWa2f znDalsHT{A$G%D6+lw=Mx!H>y4+sdHub78v1KD#!+I7_+XdMVamrd01a;Q+9Fb&&BO z9GaNybQS;t13lM1r^vs|>&>epdhYktx{+|n3cf=l#Q_SnLO(c2xW;PB8(|^@A^5SQ zw6xLDFbEW$EqA4-2$FY8QK+~$5+Z%-7~44U>gHM5Dy)URIYI8KYEP4;^s8{M;jaFw+NXb0Z7;)`5#PEq(1id1J0(NvP5j|se^BJ9q zv2(s0jMWCF`ue56I&^k2dG^rg`HuK*Q*<)ivLPDX&@!}GxI3PaHT;(u z8T2vbTRE}}GET^*6*5lPiAiPw-Evs&jlUCU6xgRVbju*L_w3FHUQSI$8nI*kR_w-e zxSse;=rlmSm_I4!!ZP%(ts{imXddN%I(7__w|UvDoV)x4G&pcgozOC}ozOC}(cKZx zcrGF=-u2y)su_1bcKkSvQ8Rl?IhP~fn*mMbAJDvBACQ|R?w(kFgB^$Us!q4f6oPz7 zsly?S5=3-~RkcTMjE?|K10^l}kHGRIz7C58mo@t4GYw-py)&t=2$V>5d{F)@)tCjArE46aKpuQ6*$KTRdt8ovjUfMVhr$xdWIWP$<%11(a?#(}rU zklKv$#zNc^)i)(Rwpo4FMt;rGW%YcGSn-!FeV)%_PGD@*&)|;L3V4u+w3%UF!Vm1A zkjIO#%_s@Lc1aG?jsw6CQ{+Zc0vb%p^r}(jWSC;rfQtV+ZJ+?L4RN(I7%%FzR905i zS}mWNyW)zuPi?s5@TS9;lsEMA+d2lSs(m$0Rq0~(5g>nFPaj}6(^tn#Gv2F#fkK$? zhtD44%2s2_F_3o*`IK+M-b#@`KJx9sp$#^tVpz@$N@)qg9mxxFIw*crvzZhQ&2#Pp z<8*Zu=>Z7$u?eMvzLgW=M}^XXPKf`y5u}g4gy+`k5p`okcvqjO7nA`S-o)tq(r5VkXnnhj;2Mt-dIy`czK!pUBo1GgFpd#X7U) znfp*Ktk2>)m>Phqxev3!u5`saM6^^n#gA%}fpj%-B*xn392ty(YKLnS)4y!(NMrST`&9}ztNiRcW)Y{(vx z){hnoz4oqrtv^$T^ieSiYWN@;kJTZrg~m~iE6{$%%$# z7?UedwOqdWib6u|#6sA)KpRF%AWZ>VEO2o9*0VNl+q~tITQ}|4aml^W&eM)P@ifRZ z1f2%+9?7(a%`2z3EAMky`MRu+ zJ?d`pc4hfhT6y#G2{uDE4@14eR`*|t7^f1f8Dt06MLVr?a#ql5#@V{8lqoJpsk_V# zwW)-a5U9f_K?QXxyxpN8RWlesOR^oj;DUpr+q#?=9PAwO6-{pjYT0tnU3cBX`cAnd zao0UltbN_i)@#H+^t6eUQ&tM>RQ2e|tVBmF&&r*OJ_ncYTIGcNd=-yV6MQsl)p78_ zI*9=UGZ$}JJwRSYP)26D0n*4~*Z{y*>@0Rd8WgfZlb(A*S`5jL1c$u_Q>AF$M@}C+}l4kJ~=u%IVt#-wU!~)DInf~))KVTkC*r*vgYx7zl4s^ z`-B}W`+mULu_)iOllfuiA-RV4wyIo%5tQZ*=CYN}Hb5jpz?*<>Lj)cmIgrZ4QK#<4 ztHWA^m1cJ~Vp$N&k~g42q9sTfBLskhW;D!Go=bP%cv<>6cI~B$pSX-QPkcOa!`L{! GjsJgr>e@d5 literal 0 HcmV?d00001 diff --git a/wwws/admin/src/static/fonts/Quicksand-Bold.ttf b/wwws/admin/src/static/fonts/Quicksand-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..e105b89f8a05d7df0df4d4ccafa17a4b9933ac69 GIT binary patch literal 72836 zcmce<2fSTHwLiXRpWgf4r}uJuzvtZEbMH+Lq(K59fdowih>fQ{dHf*f{J(2vpK_Cc{(hhL`ST&?p0j55%$hZ8R+}}mB_>Id z8y|W}nwwcPJK8pqk)#**0{Y6_s+FsM_z>GKNiSU|Nu{gjR0=>l8jv| zS9kVYdj7iqk)->m{^r$dCfA(%>0OH@7Cj2TTTa-$WzRtG>LE$m8yU#dB z`N^5zL;24o$@YVjPd#DFfzy9kkfd*XTapZ~@7{9G9-Wy6^o>vABYDb}-P=YttoxQE zJ=!Hn@>zRMJ^hS*XFB#s(ht5aNvdVfY1{T}H~!1zD93mtlcbaIS5C@%C7TqG5|ZTW z>rM3pJpN27-S11QOeywz`ZCN9Xo2O8fu;<*J(DS~$dpWac7v=plouP=7fkx{7FjQU zE|WQMbtWU9XFTu?9n;I}3rc7r%z6l^}aw{u~_AGenk%W z4&3RmMUsk-{df7Y(@&Qw715XOQaLXXaZK_v(qE-I{OTI~1!=c*Pqn^&M1vP(4%eO& z<-6rGb=Btz@_y+TyxoP*PaN|6KI!8P?Voi>`76>b?6g|{hd%$3bWHtu-NoATM)~;* z>!YbcP4aWnrP94xYgg%>s`bXw?rR%NS zUxS0f4HUeg*7|F^>$T@<(3iJiIY_ojw|ogWwO1-(l@XVY$t9CXS2~z!88NNNXbkw3 z-kwsi*xN$@BLfG^&hEMFz(mAQ{B?|YIj-p67QD=u-tKN6_F3%~OUUF6r~1nu&VsF< z=qojsvZ}eoF1wAy;h~VjCa)G8ex2E3RSb?o$mh1(jUm;Y39^&H>yTo6UFp_KE-4}v zCCDC@&I4tR4M(TYQ|#}{XVQeGdhieqT6a_NzGSj5E ze2HO{DNgiEsuU;)`e!ouT7_cv`qk9;_j?27`@A7vMrKZStu5we9pOwSTz=PT*+*ZV zv09mdL%tu*gv!q`DbG^Iay%Ff`2+G|mn{_zB`lBo=#T5ga7GO!GvVVL#6ui6E^8uU zB(ed2b<$F>(n-KMEajwb3_|cmrqmOc1AeERA@S$wEB2~{ZZDrBUHxmGUAB2s$A&3= zV%5^_*4b6LcL=*TZ+FkRU!xo>TIS}lR71xd=GGlAHBgIgl+3B~1!li-O{71G8^>4XsMcW$rKO6(9S8ui1 z)8p&aQpcco1Qwv&v%cK}zw*pQwNx+|%ps{%U z9fWla{-pGD9bRjvAanQ!wD%n30Lezt&&FDNPfPCt51G%_jhHPDX+g&42pXz7N4}mS z)=&o~t>h`Nv*-6LFU(%P<f<_ZGKYG{5EgO=1=f+%>stymRej z-cnX70kCt;==4(E2C{IOo03NGoW@Ky81mFVe5Ka2y+-_v@X9Jim{5r7N`= z_v^1er2G}>3+(f?@}@(|Uy_zdUqX2Y%>&o3Vyv&OuTzZltAIXrTpdd5LD1`I=^>3X zFb2+x0?x-!?OR8BSG2N^TOxwGq;*AYVA?=+(z>GdYsc36B&{o;FR!gZ^=%q7F9S+6 z#k_u_+ONLrpwfNPh0-^O^PsVb^ClYfbxM=3AH<0ecL(e4tGefM!_#qd`9b2u!*ggV z9PbGG>@@`r)t&Cmhs*nAhuV_Q~B-lc!ADt?`>&>2Nrm3IEC; zHb+yS21(_Q@l`v=SIP_0w>bX@IB5j|e_r|?=gx!S&q?3cr2CMJQP%3ePJULced2P_ z&eP1-04Giq@Ry~pp?{&fFT*@IU{jG-1R{92dqNtU7^?n@r2?ss1#|gOG@WJpqUlTw zKgt`~1LY}sZzg=;0U`=Xt;X-=7f*-fM!wept(Ru09sLNJYaE+f(9fa0Zd771MLt!H zM%4pKlJnZEt$;_=LUSbH(ibLI{Q{!6!~;!_*C%;dDQ{qt)vPrM-5q3+5{O3IWT< zjBcOM_ zfR=Q$G6eMHZvjwwz0xiH60-$ML?vD&zo<~3l&ULK^Mp2a&!tNfaqmPv8qHeW?V~=s z&Fy!Q(^GYK#?$h#e3HIG4o*Jg^}1Z#zacDshEA6>jO3;N1c0Okdl6W`as(D1z$1S; zENfUlh#N?0V7zdQkZ_`JsY8;4Po} z3AS84Fy1IY_^c1f=o52u636j%>0$g8_7`anpCpm&z+$TEKG zN5oVw|{ncH$t zz|!>5nqw5{sM(uw+0?hd&@9SN^lZFf$&&Lo_VjE#f60;yHuhXn+%z_}slT5-i)<5_ zkX2KX{!Z_nm^gWcK6hibNm@U_x#?0)wPzTts2ZHSKmmUNb{)lWMSZd-1^jvG?uPnx z_;b?znmtMF@6+m&rw2G@=Na~-w1&608|BsK;OQ|N$78|sdeb4#?_;M)7gzDon``B_ zL6TpG_U~d>Fnz5&TPv^j|B`gQ^o43U_w>YgUX{MoFdnin1pFyjZ8f^+9kup29R0nF z_Q=ZM^x>Wgk_zipTY^7RD# z*X%s$ky<>>TXgy@R9hTqp}ct0!s zvSFMz)Znj?A5p7MR+Jbg(Xj^SzOEQ2hil^`Z&%C%dAkeCX&m2x)zJihm)2NR>T2|P zRn476Fi+?<#G?Pf0%X?;6HRIE@cHaUn_i1av(N`FOtRjFo5SWwTPy*`)@am%(sKI; zELifankugX^FJcamXrE5E0TwC$zUk=FVL$MkDIjnBKtvOf>;CBWgauM2v-=sU9%jdsrzGAkpe9ye> zq@U&A+w8xiFTb-JPjERt*E!P`$gLVbhlKy8>$l8bw53R21HW?7AOAxZH~W(}JHDoK ze8(7hZ4mUmz$qZ5A>(^^6amrF64{)ZwJSoVkoFYQW+(S;92nTxcej-+nM`=UFB=SI zefQdJ^4^gX$Hz__^*%w^ko8plcCt4b>q&Sk?pja#;fZ4w7J8IA?h=wh$x!5<3|`>y z2yjxFhGiTl(@5cc5{8y+6a^mp~9A~~lgV*fza zjb>D}Iq6kns>6|23XbK1 zfP8_1K|Hbz`uQ}HQk?tWqiwJ-lb~IqKgFWCfUMV99E#0jOQ&s~bil5p)gQZ}&fj^{ zN@wJ^b}@UUE#vw5A-C#k?u>-;VUwfV=P;R!*1}YuCl;`&&xSMX#MEHAZ8%x}4OR!o zl&`jLYOBq{SCxR1W)<+~rB7?{AsSf?{<lC!-2_67CdlrBeWV(+9KyfMnHDr}rkXso9il>iGCI&|8Wn@Tj!q(RndKuwM7 zh&5T;?4DkSGZpf=@=Hs(v3z#PVDZRObo#VKlc#24Y1L(S7e~Ua!|}{i$H>N!`23mH zOq(t0R5SKOQblZ|C1y6KdKa}$9@ABbt8pc3afUofJ`^vg7F)b?u6J@%PgT2!h{o-L zrqT<1bfi_<^xiv%Oh>`PsS@G1U_Eesr{F!^D*Z4C# zWKc#cHDMp-BlW&&Z6P8eom`91HP(M!`f5XcvfBmDPs7do`1wRvc+(6MSXof$o%v+I~vU%S_@Q-&@&0y>~n+@eHlNTq$;RO8yPgPsW%a2~rDjTH-IVW%^=P3Lp?mUzDBVO4- zy@GEDO8oZ;Q5$|x9gY~pMWXgl1C(MA-_dICUI5>(*{^Zzk2SXP=81y0-j&aSXP@A@ zkGw-t4`Mf$dyDmGr92W&&Ygeckr&KmqiU{ouBmlNM_j%i3iz7U7thaMyqXDhbWP9V zrl!R`^o#IZid>nqxK#WhAJsG18LGp{uMzMUq<`V|w5U(gQox_DdWpQ9I{Z25%Ubl7 z+9zo#>c1*o(a=8m4Fdj@mQ_J=6eF&|_e*az)W5O@-$y%LHT>)KUy*)N!}E8#&RYFn zv)4s*6L|ivHeRyJ0mp1U!@^p7yHQ?!u3pZg&RT!JGN|; zY?gS&?<>a{Tk8!lhJfz9R`!CA@*p@?oa0~7R`^Fb?F5`wtbjkqLVU#vIITJzO6d>_N^JN&G6%+2wjrv(&+$tbs|DaVgy zZVQw*#r*7Udy_xrFV8y)4khV&eCoS?`Tnfm=PAE^?C)c8_`qH6Kr|Va7rXu8%z=@V zAL)0#Eq{xWeDpvQEJELq*t}mOQm3lnC$&DI2#CrSHD@sX+KavYjQJU>xkZTvz8AeM z0E$K|K1=z&MdeqyvQU#O;RsqI>1g?FJ=4WOLEa0e;OiJM?G!)HDI(xRK>>eG+Qlg- z;6y=!8|A0?uDF1b-63i}E!`tpshmt>sKNJ34`4r{+AGmpw6gCk;%(6i$ve@?E7E7U zToLfOTJ4vY*K60?cxi^HhFOxgL4RUbL(CRy3`+Nvn3@v0RL&}`&hkg>Yz2{~yf~b9 zvWqR{U(hdvW+Ogd*{@F^xSvyeKK3W0rd4_SoL+Bf^!jf;QUND=3HbBU#SL(xjDSBa zJt^SO1;Dcg-%oJzQ(;~9$|-n+Jz@mfl=rLLPvYwsMl);>6WC72Giu@+4Q&DrgFKdwpRL-Q|U~t)K z<2c>6tg~xbTidd(&Sh*t^2qJ&CB1} zY2?rRSvr%KZfzP|rFThR;n^CZ-}CFG z*l0D$cR&aHYxPjI0j5jZ0X9F4pa+wR9WLX1SG}#P?I0Dl~%XGxZVF zpY7FMbkMW6!0w=oO@ZUedg-~prV+4FXtZkS+4a)1UgRTK#j`~PuJ352M)~eyjoJ-! zaMNZ1B^*;)U6Y`4wFmk68vGVXNK1j2z6QTb`Xc91(dQp(ecn@_VfnTi^v-pHZwqn> zeCwj9M(!ZCydZNpX6hMfzs4c7F8*Aj&mG`IzOHp= zfj$xG1X|ZvzqEkG$~BQ~g4K*o22hH=!PGbPliwj6CyFPOL@W|S;#M-xOhqgBnX0Fp z6iWzRGIwtIWYg){oLzNuxP1yxQHqeyH`h<+9N$=SqoqUtVdSYs$4nY+kn# zi-tG#ti51*$(d8V8)utYHhAFvYzDCjZ~I8j((fEuEvH=B(e`sq8}k{PH|`6B6>Gp6 z?nxbZD!q8HZ+WXX6zhn%^Ap|0r3JgkXo>qHijtc9@bV28&9p4uTnxsQB$S*zQt%uR z=*tQEf+CPB%q8RsTU&Vzl$yl)TZU|}ss!ZG7QXw@7#M>l4iw;HsttoDda`x1r%q1p zo@tuxk0nSH(mzkMYuqn5sckZso0L<+o2bgXbVNRbYXPuFE_h1Y(yq?sZEedtyOy?* zPQf~0f5F_faEUC`K8&im*cFj1V&ke4gXv+NgKIm3sypDeS(~lBbNRxe_E6UDRFrUZ zU}OKvGsdUSmQ%sjxIbfY!kB7X+Kv8|^YBqCIh2Ygz3a~3K`@q(2J6n@4c|;Hj#Xs?Sk1 zljkt&8(X0NZ(3?U_Ghm-td?SS7)uv7u5b}~{JWe6-(->BJj*SAtR$X*tEdGy@t7~H zEX14QdYUHWb5lZhO?B$9i<~cx>v#gMOJ=#*(`T9&t!XW->M~C#ZPV>)JQQ)chc+$h zP-jk?%a3F-Bl+BDCNsKJN$d5Ba_0CR`l1Hr+pY8GFB?2zNlVZAQuENt{*1$zQv7+n zXJXxsb0&_tWagZvMXhZ!O-(axt&5u2m-Y5QAgB+jUY*^q1a&r_wmQ6&6#&bXX8qgp zpeB6=AYJy?;16lO70K!g8{m(!EbHa%kS?g#=Ngy8cQ?R|@*|q&_`80Ja#MM)1>~lR zeec_4?0kupAm_0Xka1|JN-C0NB!vneAhOsfgv;Wys=}pwNt~Uk99|4r8)e2;f8=mt zMbHPB5ItG#JOLqzDptEKjBs=ntDggWfq`!vy>G0-Bcr6*DP)vf8iiqX(7VBAqAQ zDv?a?CTx+bt8pTk7l+Y}Rj#aMWmXmG;r#s@QpFTyS{>nQ@gKslr-g`NnW#Sc7&?zBRZYo0WJgPnLs5r8_1LT648M zBFY6IBSFP^4cbVdFy#VU0wxsmtUJHD=42dnxiDV-l%mVlRDZU;s``(EKK$_Vqc7GJ zH5Og8lk4)*l7ho+v?P3_%SrB&FZylB*dX$T$iLEbA$LEjzG)wwL?hQ&bF|nRr6n5k zS+br`#7f$D>#3CMQhu9fyzI9}lu*o~#B60o!k(4qj^CFE1{3s;YnlOh6!Y9IO;V4V z-&2j*kSPSYj?rQ(23i<78VzpJA+|xHWwtjKCLET2c-B8L_oT?iM<>~c1I;~ElqoBkBW}VkH(!ajJpgcvmOhPXS{wCaM z{bB!zyc|t}5R~*bK~3`Qv^&E2eIfid%0;Qdb5@|Y$z*>@{E~SX_J4GqLOK99|Bs?q;DY`!(nl-zu>^3OtgInyG`LZIm}ErdcT`*V z^;+%cDi83zkx6)5_1fgk2zgaPn|E*u%yH`8j8G1vojU1uS;bE0LHnGySBJp&FWDCe zd*Fil%*^$OXyw*Cd|RF|ncy=gpx^ltVTkca6+UwUdOOcJCBOc?2Iy@MP~9ugu9Zt< zs%w((uAEErQ+Wz-wV~ykZmdCd*#BWvJ1+yuC1GB=1vnmNqy(*OmL8~$KQGhxad^f_ z?LCWDZYNKVw`Y`Z`3az)4rRZR%oh0H^(xi2)mXtsx*wKb>vk^ z$R!14H%o8u(L9c4Q=Hqxvv+`$f*;suI8LqViS0^^|lm#ZU4(<=P&3Kml zHu!nP$@os1Fn=uOZ%n9grlW~uCK{*A32bhgTiCB?BFiU66JB>%ZOEa}6_lti7T_Nk zRT%VyT|K2O@L1cDj!+_| zAb*XJv<|NBNU1g@Y%<516!s8dq_xgsoVP^lw+<6;p-<-F{34*YA@Cz|buR5q*$BPNLC4P#zLXQH`T5b3o^~JYC2ec((oH!Q`mdY#_#%?5x?T=kgR7}&3l7^ z^6#&H(RbiY|D$Uj^@qYKn%|}6U&!bWyl@Pk(SGUEl?^pKX#M;z;2~C7`Gohw100EH zf%FI;_d)CR5s^U`PBr8k5Z;)eX5CG|`#3&h&kQy}OAz#W`7L1GeDJ!j&LAd`8~n7F zr+ETOt&bOS!zo(`r|nz;kI`+kx(4&Dy$v0wQq%2TMYR}AKBvv2(;Hl#MEelUaiucA zY@Ch)pND=*)D4$^A?>R{O>%#wT-l&u|8E$rz}_T}O0ROeaUN^=2etZG#R{JzaLSKs zwXynW0n_Re`#F^tD!W-v!&8r78(yyb0kmkrQ(h^lorNgX0xHNMFoGZyZqSxvEEG)a zGun)ypvSq-X#Y}`>PXCW#$6}Kx}4J)G@YQ6MPQUO7CIn}qB|OT8Gpf@Y5}VQO1YZk ziPjI+EC>H?&@`)-**#`^&s^IfD(A4uXZfhbt@h{MM+dP58cA?qtEQ2lc{UT);GP|v zl6yJ#3;pQBX#Ows<8e!t$7u0;+M1h6{2TppS<)Rt@2ejV#s<^n3~WKhXx+ z{-Vd5wH;d0v5ocjQv4p0@I_>a6I~FC<|h>zg&hnaX9WMiT)Th(YCHO@YUS-yi(eMKx~ z9yE6Go$!VL5_Ne>o&gla-i*UF%Z)2}gOmi+%rn<$*up^*hp zpKy8?v+^0v!3*UB$xbm_cdV|@*0UNkF9XWC@eS#FRj$|Fd{F64(l+U(TInYaDy5aA zmFk|rT#EioEX649NP7YU*b}Jlit-s0djbc$uKz200_AtY8Egt{BTJq(Ne|u>sA5!) zfdBu4k*7cu*B;v!}7rKA|?f~Z}cF>j~GKK5BEb+A(TX@ zuAb>iKojjf)OI4YG)WlgX{#J^XFairE>|`Z?~W%Xi|K)*yAv~G0h>PHYI1l6b4V?Z z_r~I5eaVpxox^9XcDA{#I!`RgOrfw6_L?n9W~i-aHt$MBTrD2E&JH(K4XF{2*{oy- z+j{47%``57D@lN_X_WjDrzD5#zM#Pi&^dr(wcm^k)1TFzBTCbApfo?zD4x1ggXRg! zpSf82Eq`VQ(WUmxgZvf=fkC~c+Xgvan6r9avShb&OIFk-OIF}}vu2G1F>8(W_bz}} z>ysUFF&`&?4iY8~E9M;eRcV@XU3U?ik5h%pspYVsgat z!EDBzXpfbrkt2S73g<49p%B@b*kxrW%U8okF2FD3>IRAaq#uhV9%kSgQ-f2086M)? zA1O#nAD7}NfX`<4JDlohCeYg+&&ZBsP)*Rk3lM;rc7oNyYBXz#40N-H!x_x8)+6TV zJDfKjwLGCg@6(NFQ0#0;uSv@YjvY$iSF8OX&o*$uzixy+R3NT!fh+1z;)iERC!6dgtxu9p+43!_mW&#wg1x4<0E=nwY2|iMf4|vA0)1Xy9_E3X+-3T!a?k3 z;q+Ojo_Z#EIJ7&TmQ|2p=lSRFEOQw>Iy^jzZ-lLAk=E8;&U3d)PYWrwu;IO`r zsMn@-AfUJJI2`mgzGjNN1(IB%?%jMXi~j2E-o&*w`FI#t4U4^6R;Q><)}d(Q7R|2& z6}U}EP|C9r*$-6vJehW71pGc&21#v<=W$6)aIzr*=T?ERQK|R(bM^A7jVju$Vo@)z z+Niv|hEKh`YNLwh$x>KPRBDvJ#rMhulw`Sp-qS#TvQP!|&c!wQa}R-_ zuuvBhRc^w$e%g(igbhkOGt76Rw2adyEK zd$uToyi3%4N}J?Yo+dE+|l? z8mKi{A1m2+VyuAjnS5IM9>yBSsTjW;#Eo3yL^iTK#fFbbXCy@?QWKB%CC&e?T;s`x z5(eFU?u;*ExmPwMWfggK-?p-&o8*LQa+}Iqv$D<~VAmPkHg862{WVasS*$)>42S&E z0$N3$sc2nL6eq!XMvSUbM(a1!v@Czll=Y`QCxnmnq_FK#?Hw9#EqRMW=z zd3LPOh{lRof9 zLh*a=+xoeX98BT3pXKiLH%2(e((M8&-33Qd4oZunf>37QM_44}J7F`;i4-IROKYKf z0mo00ev8hSPtL1i3(eh^?ifu3JiW8+{VUr@CJy#yy23&zu0LjXm(?nE%?yFiaPM?5 z)v9!_A7EJ$l@O5qk^VfxhLYeu!i=Ql^MdL%X-RORI>C*ykbvYFSUJrFv?}WeO4?qu zadS=94ak>s87Sa;X-2s8qWUyLqLr!)1eD7hQM)b!sWwRnQM)Q32uf>7Kxx%5o`?D~ z*+H?L`l&y>%!C{^C*J~4XMD3fk(?&7aPQbMW z->bo~>#N(wY3PaRFBpfT)dqP z<#W_N*4xeO-dg!NwQ@Yi%W)SfyOOPtp8{=Ld8E7Q-v{^!o(A2G6OYDH!~KmPYaNQF zC)zu@ol!-N#QjRt8S2&rbE#xFmt?CkH~dBmz+{lxzm52IMNs*MNI zjPreUPXdDHPtmM%u`>|NCO&Bm*dUux<{=z0c)Zhq`=CIk!D%RdT8)G&Yr(KA|{Sy3%$E zH)lg3-|w2%Bzi`@$$;COQanjdC?DwGGF7^A_>&gG0#svvfITz{uMRsOnyl2~PGU{t zglm0q!+-=1^}rKKAZCH%9!tRC=}aU_*+g$liAB6>$Y%R?unKR!7;qP zbLyN`x%sf-O8u+R;_xR1oANzjvn8oG6~}$5kOhvA^?|g(Ji29I$;m@rmp$fCNrg&Q z(2UL)V~tThhDS9Wln*b=4@?8Q94D0@GO*)0v6co3E;eEgyKxK{^YOId&)nQkhZHZn z)aKA8g-H|OAw8%uz#~~=U<=N4Qf>%_oaYk`Sx5GC3iln=y{rGqt%*2X7(a4O{9Uv8 z%wQ_fk@uyNW;vn9EygL1P}vr77@PV+(>q6J&a}HYqz%Pxa~kQ5V@eoOA*Vz3@xi9TIJ5JR7t4&_Le1X8TvL7?xRcerRxTM!COV{CXT*XQBNc1M z$K@kjSRNN;m&o~n`1sDr$(`ec;g~tp86P@fWOU0=y6d;0wkVEcmYQ2iTe`HHZl~A@ zs;4-S9z1Rk|94DxxT4nFP+?$WvAA)dbtrv#q$Lz;i8S^1m)8!rAQdXo5o;MH86;-s zM>x093ydkh$B!uyGJ;kyB{UQJ5aNgA^F$7sosRVr;1XP^Ftw#PzH(z#MxOc3FPcmUgm`!u+G$Lv&f z3y|C0*T%o7)z5#8XMg_ms8osAB1;zP_VM#iRO;9%*kMp?@Shpx54F zd#ci~AJVWU4#_dVGJM1rHZ_|(WNAv49`@>et(n!JYv8!g2+pMT9Bax25u#yc-8$aY#Rd3jb zyJi=K`$B$fb(;+#x0+XS197#z#Xn?KJsvPClSV+DVcfn_UG?Z69SB({*a>sSk*W$p z-v0tQ_^m{jQ&GJJi^&-9D7i$?6ZAP0gK2B%RKnw0f7r3rVzBC4`+_YKR;$Gk^n{o} zZ&#y!#Sw6seTG$f)$38he#N@NF6)xLv6dk+c=#^vnV=1RXfm(V+Y|6>nzTXlFsm=z za;5&U=H@>u34`&gwy>EKoS8kJRhyckirH)Wp3?-P?+4M*a#!VTHpfmSs~J2|pdlVK zZkkTsgGO*%@!lZ&zZmHDs9wJbhxw5`l8Hq%tFiF&CuT)q++fAnpx%?{P0Gyb2e&HqQJ)`m8+!4L*9Q$=X zMe%(xjEm_{F$Qsl&tx|-Llcfx`BS*w!1Naf8qq--{Ee+*ABMJS!7bd{SYRxh7OX#0 zp=P28W`m`rHkfx07p4l~yhk5u$&Ti7BiYUX%eE9I^PX_n;|~V?Gy)}=v?u#v?}f}R zb5k-&mv1LCIkVH%8w32W0jJ0B_c#Mzj|Kc8++H0!44pCis#5I7=8_mS@dD(7Q*Na5 zM~T4AqcsAzPZHUUbn7H&Z4WC83EaKBjp+UhqA}5$+sBn5woQ6aHnI0$56{42Mywy_ z$-WNA0YC--=|P-q2>Ea(R@NXRl|eSlAr(NT`BQ`JOzBS9Btr~U1_9}+bRxg&Yk)BA zsW>2$ybdZ=hEb=zQeyqmS5Zf&)#<6U;Xc3H0YSiw_Z|miQu+=chAIRcxeYfOaGV+6 zgJ$b-SMv`A&TKv5%oedB+%Ld!W{UtBVH0c^r{YWuII|^yG_iShru==h44m0KAYE*l z&B^xx0-PB|4&&%+Qhp2&RAS2kX=f{t?S*y-XSNcM9yZQa@pdT4NBG16nIsGeXAN>X zaQ+_+=L=A$iG2(>zpLT=G2YI(!1?bQ&gTL$!p;EBZ)rGR$e%h7IHMho^Lc=DvE9J= zH-He%X8{stA42a`hj6C8+S!@F`PYCD&Qzy|oerGe0fcbAh(C2Yp87w45Y8824f-o( zWJf*#Jtfv)!%pJ7J8NYh_o|+ZwS1aajwlX~d~`6ZIy?uy79_rEs+4tE`G@e>z(tsy zyqv{0A7+ESiCGlozJ~IGoRvO-X~4MH7kP~yw2(pX1y+GZSc14;7N_+@ja#)g{w9|j z+CU$xs9euPIaa)G;Gh;h%3IJgo?{3s|E60^HDp%#AGVD5f&Fsc#yc7of72y-4V`3Q zD`_03iSnPL9_55G+-q<((Ws<_GCR#ZgC#p{)?~c4j zO`TO84Iz)v$g_t_95Ww2TMQCp7Wh0ayMYNh@g0PV?x5e7)Ntbn3M{Xzqgg(;{vB

    p~vbtaVPBij^VmmKdTNm8rIn5M-DqQ@Cs-wmq6pZ4Bd!1>ftb>)9?$Edx~3XtFXq{vL`zGe{K@=_3r0Ov z*@AXsqFqGLd6WT-WGIxx5}1TOFasBRRHCZztVl)o+=Zk{Tn2D8y_zq?%x>I2y=rA4Ps#Y>A@ zWgSJzO0`k45xh2Gpd;NEhw5>7ygh+j^Z3r`p5>*KiOF(~qGfM23?Ep=D$Q&^;!7OM z9PL$b`&|LHzz-G~Py-2Islb-T0EER7C>%r`c0xMbG+jsyWuiSkcZWh~ZXTG~b67Ny z3J5Gy{f$`entFdM8Ey^ulXM$9`*168du{Z8Y8)BT_@pP<2>YY<44GOQxsAqK^OO0) z1pY4+CZ5bq6q+Y;xrye&M2=Q&nqA12KpG(Yh7|@|EDtjzPy2SIVqZbbn+m;+uhbw4 z6_hCS+6I%+j}jso3XS+`yu;~X7N*xt+Tn299E)|j#ZI%y9JWvD^eFJUoL*U!M@-dn zi`f(r<+6`m=y$Eu$#SQ~;BW^GDW+#BW7y#^n7d?Ix6rEpBYO&9e=;s*RFs)>ZkUZBsL1jHYvf=Kxq zUh*P+7NYVBKRyrK?hCTJ5~>oVf91uE@Gn)tpnan9VL75p(Mf)85iYosZjC2vWY?I2 z4o}8d-epp+h$?owZrtgPAU)>2hn#Mjy%<^up#?9GNa1ZsRU4aMx4`y0f~N8=oi5{X zswQ@gF@J^IsT;?=d1}P%eD5KHD9&(UAv7Tiid8>`%l-^jSFSfo|x zr$>65ZD6N>s$3^%3l{5#U%!4Ut+cnXIB^FWHcuhnwEBo7EaEz)M|y|-5;<=5=QS$x z=UJW_c&E1eO8vc~n|a^*^0f=<^Zt1I=x>URlD{fveyn8R(iVT3%XEq^}^}ti%)HJg}iCd)`hm`MB9Q3w44Vql{l$` zh9N^I(csY1TxRJ=AQo`hmv1i?w=cKfnRN%v`k;Xz+u76)A#I}jr}&7D)|>Q;S0-e&DXjNJB0giNpvs=6xl%Oh zb2T+N2b@sCvJg0ce&aM1(cW{$3)1dgKO8V5p*lm+Q3j<8dP0K&a^ zK38+WArE(V4-0HORm7V^b;RAxb0xj$M=6Ih0DL+U+lMFIIA}VwJ=vOe5kAaWY#0Iy zcIL$p7z3uODpTxIV5)g=w9ivT1+Qq)zFthc^CW$I#$dmW{yq>1=)&{`zRQ6wJN>1( z@uM}GceKVZAOthG_N7MoRf>GnOg*GId2b}}-s@U>^3O$kSOZlX%!vJc;Rl_~Zh=jf zm-}Hf)2{!oINZe^WZ#hQ1$_Nq-vNBR^z+I)^gR0k`zCG`&&x+)&6@CuGg814aGXzh zh%`L(Itfx@7Opo*ZIVhSof%zd4cVM@C_wH?PvIzlVx^-1R?#+$fXA?-RFF4H&j5R)yzxCw3&3CF@MEOEaQHDc8k-N2<}JVxrYWVN#dvs} zkI;nM7x>Wb4Z6;@Sk83@JsHRG+l+=>PvEOgr_25oe?;|oFLzyK@|r`@g>AvIqSXTp z$yZtlw^4G*y!fEDu=y4Es>4N%MHSu{-fs~Gp=Bw-KE+6n*$6k>;tiyDb5OqZ?>&aj z7{V?y_IOhF2mal{zsvv9l?eYL)%;8Tr-ep}_N2Rbdkb1a3yG+LrxHnB^(pl3tGvtJ zz?`QkgG-Z;Jqk^?P^E%2g*-OxjkM(qMcSY`*QhOFpT%eN`3$qpRY$nO&Tt^?$Ivo) z^Ne$CguHns(>o*#fn-?Gw};uKOIOJ{L(~(9F_vvEU$$zN?T9H#G^!{ROK7TWLRQre zkUy{$yBRRhuxC(>bn@U0?#L869`;H7fF}fmc+nJuHRKtXwtg=(O|DbU;V>v{p1gK< zg#4-0P~3>HMrkUQThyAHT;J0=rH=&Ua3rG|nharIyuYAMoqOcwuU;^ln%%Rqv|=po z2^;O5t$WsN`}ol9iPplg~ z_k@uRpHV_OG%R!=BLxJKLJgSdxoeY@M+5*<1H*pk_( zAKS6Hr)gp|*S)sCBhOTqFKRc&)UH%wv=~S&og4MrgB}MRn?=U*Lvj;17yDQuK8brm zg~R~rn04R`#>DnJ218sZgfeZ>yyr+c*IVrlgNUmNsv9p({~-y)8}bh zGt+eRa?p{) zbp`Ps8Ah}m`Mw0=dSuB|?`4V0rRx09C8k)5HA?Ua)SL<=_FS>#Qo4Wr(k0cu!`oN3 zwXNJfJbcp1cKlsdJaKYl+eoS1Z?s#JPDjk09nR)QQm&ZOnY21B-e51@1a#?=>UFi$ z%o2Kj{!x<@tGP zWI8s+AcUpF=hbf_j|uaf&+zMrwas(7gc!0@@T8VUfAE&s9X6NUvNqa+Eh;BtI-}WW z@tMqsq!!H1A*avh>@n(F$4(jUqQ+^r&0C;f=wc213@$W-oGO z-2sJC2Zlea5BS_3-DOL3K}Cs#<>PT$-iL5^r2L-hVe#^7c+=u0yZ5>0f(ZX1%jgYi zukx(PW;ecCeusXrpf5nOk9~yg!tC%pC(O*jbgl)vAMIM&+Pbu>n?AcUEiIXJOAGr* z`;yl7C2eg>+FO^juj);tdb%=+Ua}Q5%?n@QSZ@DJR4$e7hL1(Q0=IOk2|jmMPybDj zJEG&+IlyZX>fg`nlf|^)39|8spr9|TDBQ?NZ|~q<6aUMeq=uM>KHqzx{+;AcyYxEy z5^l65zgEOoYNrPa3zY9SDM&*9mT)!eBsDAZ^V{Nn*B?Wrl3LYr8ve%qD*q>T6XE|O zrvU*EOetsQBIde;Oo2WwQn}HG0xhLe@BymoxU<3q8ZyHsj@oFH4RWa6Vp4;SkX@fz zHg)9Mrel`tv&b&92U>8=t3SNrgm~Vg20Q_a{g|W7Mw!XX8o+BZtp>Z18Jdr18rVF1 z++6!H8=9G6A{V!toqCV2+oPn|RcdFuKOFNV{byLfx$V*q*{Sl2oF>@5=TWDFsX~MX z)hTXP=jv;!G%6B}ULX>^Q2Qp|K$I_UrO!&0SpQP}LUTcxAVuZRJgRnI)HZjBn1HZ6=qYW7km@ zCZ|`lcPvlnEY?*YUA^Y2RkPR0@zb$JyF4PJ~9X_|kU5FLNviYf| zWX@p=@e8&1Y3;r?_Q_HwA>Y$n-qw~9muS%)TR9WFHDlYVQt^lmyVK^)(j8k^af!-h z^0#$4M65E13mqnE#eIbZajbv#y|1hNNhABH7VkR86ug#xU#|T=-xS2lbN|Wr!fucG z5h=@Sk+SEUF5D>!Ku81p*6GqI|I{=YaUbFeS&}`Pgel>Ted{4-;N2nW!1uF@xU!#n zda$jJmfyDi%?u>IMWlvz1T3QrPoC!tt z#a&8ZmL8e)m&cW9YHP-?IFkX{A9E=R?`AHL>Rm6I>hD|Mdukx7sM$aut0K_>8nLNz zsobu^2^8&~^c~V(Xh!}nLG}_PO%h(>n1s898b_&Cm!hWhaMuhLV|`bEGclPLSg?t6kksRRg2fR=<=#T6?{*ugb|IJ7$mA)z|O_WY{wF=0IfG(!Hs) zmxj0dK6WLa&ws_6FX>(Bh?XMKvjgutwMvG{pHTY@c>QLq?+7x$D91=lMr(Cy*gt&N z9NYC18sSe~-#~vhu&=-WtLNB_bl8RlRX+Bgc?})$oUQVE`50JzG&?iWDIYvPCM?cI zIY~3rp(ASr-^dc&Q>RFVY>DNg-{8z6PI)5bRQ(Ro2DR>-O=Wf091`vw79> zjHknCQ7yqxzS-B~56&)`@Yr=)dCPf-W~2BEy+x=ky4w(m~`W$Ttf{dS}$#Vzw>eZ&8U zB}22O4S?(td?kcyR$t>y8te;I1H1eNZp7#J_GV(Z5r4LsZp3F(d?kLF<<5KyJqTX zyoKG-ix<~r!pnNgi?Zz9_j%tPYo&EzwbBZ~3xqy(Sd*w`Fp=E)Juv(PFr>HEAZn-K zSQV|B|0x{QDiM8EaZIji6CowH(C6##_vRe-rK$*Gkq>%@j-F$49;a6;d<#Se4o@@A zVuw%?yV0};5fE>@#Pm>Xj}5by)+L1Tl0y0C5iW6#3$siczomLfYk6P%&G#M3`D(}$ zbUHnFTdm)JiYFBE`u#qvI;-`UA2c+`AY`TREMYS;uUctu1u3e6A;1Fv2yvZORj9lZ zIn|q(@%_*|lSaok*vdqDw)6vVE5EnULaxBI+ADkj5t~6Qri!VU`RY%NOETE#=J?lN z*Mn(TX#cb812}L@FXGunsC|sTiRWYVl^sW)=l8cS?~HdvnLmX{65if}piKGZdO7pA zPIu93dE()4BwkFn;iXT)1#W7ZZI6%jdpxd|4wc^HV-CZ6WnZtBLz>m4e^J_8<0%dM z|5a&!}Z)8bb+zwvG5 z@-y}ClXUa{3*KxjnlnFXHLEFS+_yLSElc#Ys{Z|C^$WZI@NWa~MqSbJOL`V{xgZC6 z@D`(I*{88fQ^l8Kc160UC!Ox@{v-cPrz!my(b5mgVZ?%SU6GEb}LW!8lzL`A9a(u83x{ z(ej6*SsDZL%Y*C^v|5$XTARB=>2!#FDx6A%v6xj_5NZmOgi&9>9+90q!XU=okVjYI zZ+O5&Xm5Pjf%nq0qz7)hxBQBCfB6-hZp5jGq$lGKT#!~2D$D{>e$`vAhw35&oo=kRB|DM+{kP3kl9UbL6@R7ie>lcpf zcF^Lr!%>)`V|7=hfi~q+8=60(+SvKcbw|uWpXsk2c4)V!dA$}Vdn9glIV{fdD5y!?x`zEtUWLqOjay4OHOFHN=uS0o z(N9+14nN+j%Ql+I*W0aWw=Lvki|qKXe4j&EQwZ3+rXOv6(iE@-a}M)^CcH{2WV+8} zMf)LXo;@$mQ2X$c3Zm&old>TCU|&a@<@=~jwg?+V)Lr?jCbq?HP0gcCGv2I%HqDko z!0M}YMw~Y$%|b>T4GDpGAD0mCGXw~{hS~ZQ?tfuhP34a{96`S`?q)|j>~=@_YtC4% zK6h`VJSpcTM_q0RI{X={@mzfb_X!v-GMK+yo5}_Z#NBxddI1+6JZ6(Y8}hmJe*BKO zr~EZSfF13`!6Sd7e4UA%>9hxDs~vqA-5YS7K}3)4Q=W_+Xz7DaKP*u?x3UOQ;9Sm4 z6!lzy1C6^b2NqJ{FjC>STu@xXKX+9H#MKZGK`tQPh-R+?6k;Tp(-*(=jKc9GS? z;QPXpqL3%Y04z(pUqz88M%J6@@HJ``*bSk@%O^Z`yWSk~Dyj59Dm1%f%xPaC-B|tP{YmnSa19(UZ93M+v06Od{3z1 zd}3&fuYg~(H<68-CJy}v__K2Yqf)zUe6;N}=58DMuPp+M4KUK)J7fAiAT<|SK7eVdoHwJhE;&_10lOtm&o7n-Ks zselq-H=};gUtXgaTbFI_8`!eAr7(Z|aB0hu=2P0|o7(1E+UJ{_=OG+vr=wHXg)^&h zerB*914T-O0{*I9LyvR_iYJwX3(L(`q6@aT#r~?IJm0>myL(mp;9UOm!46f)t2mtF zN+jH$FU)qSUCQV4bAuf#ySrC*Pz@^JRXSVNPff3DX=}O>9zjbg)#5k%+&4D0ZS@6j zY;J8?H$An!rM+;Y+h-P~G~X`dlOaEy_zINdqNg!kLYp%lc)+Y(5i4c#X|LNI3>%L0 zA2%H@Wn*y#w_B?={VLy<8*H&?tliv~V6UHbf*p%5Z;dnu%Hgw4Ku^dP!hI4yAYWcP z|Ak0o)d}Sb5%j=jL%vD`Eu2xc`%N8qY2=v9j+p$=+U`VGzZ%*VN+d$pdgE68)Z)JN z{e4IErN-Ly*0}dtDmXK#l)97MYfqDZ&~fC4X1b4EJr{1Ka9kwjcj;GsdPQ+vclWwt z-_~vYdIVbe)yHj-xwV_Rr$4kBF1t+kv&!F;ABMe(LqRzOo29txx{#+Jv8v#n0!06i z-<&qdUp44$xdX4qoNhaFm?Ex(^UpdHJKLn&%k=WRRk0*+{8--Lb~8DC;78af{)$cq zP7dKr`w!vg&^rLJH9(wvn707xs^ITOGM5y1v{0U>jh_p{xl8hoc zQkh6F{odblF`eVRzs7Q)I+87LyZ?XCSb8zP$UcD-tHmu-i1;Ger+QTMv~&|wpD_GN zWld=|L4B0pGJntMd{|~Ujupl2pP?6huZ2p5D2@wRf91+K_aTW(p?d~kD9ZmK-$Q(q zLSBKc;ruV=QC0E!DzQY3WYx0|;aJ)ilB?`iHJm)b;j#rx7ucRKsjfgmmj7Z3F_(kI z3~58!n{c*bpUvs`t<2tad!hlo&2ZoruM4w7dszeWZ-o?q^#R`H2{pI`qTwwNaoqdB z59%ynE!MgCoY~g7quTqHj>X&3gNxFgv3R0?^NPVlVq)uL>vW+o-P$tU)HH2fa>0t> zZA)9*jvNek9lyG0Fr|IbMBj$9uUyo%ZCyXTL!@h2YwNNu?HwYku%3cA*`Z}0>9kE9 zegqT2I#TTrRJF*m6H6ZCqF}+l#uAL!)7_enwIy8Dz_F}PkG5G7af?2FLn0=k9M9y( zbAfzMj5`SBv&l_}nXK)3lgknQES+mGP=@pF4l{v zsECRM#f}A3Y^c~kQBeUA5V;mqMDVij_nhb1C!2uxckg}wzxTiUnR(80X6DS9GwsYg zQ~uIT)9hMX*jGJ+bK38Ol<%Hpd*tcGZFZ)}{%74TdHTY$qR(x&k41!1n#`BANz+KW zW#|7QUH{*wS*|>bApYt2zYxUv|CV^r`}j|w=e-X*@!j-A94!<2MbgLdIZ+!+XD6V` z!FnC^KZ(-kjD0^m{5@Q}5kpUFaS@gB(`{Zpb)MX1st5iFL9_jjiC_4vQNqtPU1s1P z#XVMZ@0Lb~_60qG?*gINt-eh=KNP!D)|uuLK1(|}REQO%6{@kaMeWeWOf*-d*G^4O z33`+HX(?&0^izIf{)zf4uu%<*N zIvwFd9T8C+V?M^!`%TF@g(5yC0R*69ke)FbS!wARo)VMdlrlVgs5MEQ7abLDof?&t z8gEUojj~xF39lM0m#Jf*L1R_$q3vzeCM!TCkNRg_UjbW0cw|Jhl8!Fn&ghto@NjQL z;=Ndul@k^p6Pp=k^?}#XQMSnV{t;0L&ajxU9u6#Hi;gRGIAW8-V#4u?w5Q15us-)E zjEQKqiLQ-nN&s|#(10k;zLIv?Sy$3>4xA_Z;%*z#K*6V`K7e;xd`g;_mb=;6JI--L zV-K`B%$u0iDK630EzBGh5gQdTN^R_Kb3|Ih9M-<6_UOJ=N0>FzVH-@jn~xGx1=`SM z=!AAHuh6+^nw%z?jt^xecC*LF#dIij_K8S{jff2m@0N(Q$*!WPC`VLcv8ljri?oGC z+lqK>+a0BUF-jrRq$PQr{Xw69@ELAbX1`p!H4fKtIc%6rO}9lPW9rvx&+Vsr#^<<_ zU9r)atwefKlU!YKoIRE8o-)Cd!0rFPY$4aV^4;!yd<`KxHn~GIW|CD;95$CmTV>Ny zeXgp6==iw!xMG?JmYwBpbAVj%m?3X$(W1;9MLlSD+q;Q#=Lv$UJQ9p5pTz^Pz@y@7Aq5 z{J60){D_Hn&S=^N`{>pYpm6l6y}JqSwf^Eg4Xgnko$jAe`vJ??M3_AilWvYC8xEm z!SA(wRb$&#=ytCpiEfB>u{z4-13kAkY}LN-X~i464t8br&9&R&;^LDdwDRF_#>d86 z9o_q>qwUH^S`O#qDK$_&XDa8qr|AR%*(G48QWU5rr_Q=Ie$!vAjUOymNfW-xQtMYh zJGH4SgRo_AcCIryB|ht1xoV2b9nX9h`pZycX_)-D=8oD&ekXG!l3g*f3k%29gkgy(xH8x{&rQ3`kohT=ef{rHi)I`oL8Hfi zyG5II_6Ci1_K%W_{fDV+QA+>Aw&#(AE@w17B)yq(h5rqzxryy+?oC{ADMjM69M@)- zlvYlHc4eJ5z6f#8uJzOwoWw_(N1&I*O&a_>SkN68@pjFdnWP^5jsX>7+h(s~4E5V{B=rL+N1J2&!_f+g!cp4N3z zTQTfKs6bn9fo7zoLu;iixLuOo1FfqCI*{hBwSpF$9;4Nk|GZ?Pm{QHc;HYf@HTo>e z8tuYOqj(wzU(@X?MV%7Ef{Ukd!Zr0VCuEC>_SR98-KO@ntBVC`sV-MWs_SrCD(g|| z1XL&1pMotdCk}|mO&6T0KT&&-)+xoM4g@s_QpDg^`aP!Qt@@MJ0_Yw6CTeaoHT5aX zlBf=%eZ>a>QlD@bg{D7csr}+7(^8u8(t5PEdd_fM_8dCKmh8Y>f6Nq%UG0yHLfE0< z4rgLyYIuPe%dCXYWS7fK5AfXercL__3PGHq3<=zx%P6^S`+2P^7 zh!m4OIV!e4KJUh{;$%;XV!bKR8Vfbbj?&sy<;Zg}lY%{cZ8V%S8iWr=MJHJuF_!Rt zj+D44EIjHLZi$YtCPj}@v%OY(RCt)(IuLDH#6YV(EIi6?^>SS}Ajg`Pu>NF}5z_eR zldI9cB_?hn;t{w4G>CW%POTbcDlD{xM}>#lZ5nNxJv2Nju8?xKyXu3!>_fV7hqX-V z9-xv1E@MX|yNXA~lA^;MnI~S;b7DuTKHhGcmIDPPH7VDt={P??$Jzd0>Nr3A3ms=K z#tX}792L-USRK=vN9xWXi7Z3MDJjh8>5U1@u3~B}v#cb!p{G?6`8>-QgNBCF4)i9iw+{+{ASd39(6ud^==7o3W^mxlhqG7VHw(%6&?A zeytU@UvnDkQI6M04^;RCGcYcWhdIYD8>Aq_V|1k}(9s^5(>7SLXx_YT_bdB2D2j z5zz^8K~yortDXJ8n=b-GPu5)_b|QhHk%|OOtQ*HjDLP6miio3;kts4JB2F7AVZ)=u zNqN|Hfjgq99PtN_fKu9a*To^4wPXMC0`Z)#dz{_By%CmU+Cn&fH?Y%zV9hwRwYi zvw6GubMq1NZy^GU=#oM@hV%&O8B!TCDr9oViy?1@{Aww;46|HdnP!<|xy*8{<>gQ_ z4g*dJ?Ht-a^zzV^p|^+L7rHTYbLi`#J43$?Jrep`m<+RrC58k{i$>j&07*2A_g zwu@{tZ1ZhPZ8zBNwr#X+vAu8m+V;KecYCNk(caPC!`{n2z6nti@~x&1c#efEv^ z7wqrYzi<>gu6EqwxX1B?;}yq;5gj6iM_d*0ePsX0p^;-Fr$jbIUJ|)H@}|fmk;kJf zQPENEsBTfkQ58|cqsB)yM138d89g|9bo9jNhUodxOQUayULE~T^rz9^ME@9lDkd~0 zHYP2mYfMp0dCbU|$uVZ6*>v6xu%Xmk8a(rfdWBkJStKx5tzb}4M{44Pv#D5Wg zF#fj$b3$xFMuIn?cfx>#kqH+i%t)A*aCyR!gyV^p#OTD;iR%-8Ov+8_nN*o{ZcaY*dez=ONU2OY$*vT8Q4lul2Vy6JmuPy+n~}sma;kJ^^`AD4yXK* zaym6UH9pmy+9S1R>cG^IsS{G`Qx~N!PyH};PwF9;&6VIvcb)I5b=~QD+O^g7&$O_# zxHNZK*R)<~RcRNe?M&P2?%>XL``mrp1Kp$C6WtB&C*7~Pcep=Gccl+cAD=!gy*Yhx z`gQ4drazMYLi+afUFmz%e@yph*fJ6`I%f39=$A1pDo>&c6zJR$DO|JbfnX7nIhAcS(7<4^U}-}nYU%$ zoB3$w^O>(_ewev0Yed$yS+{20oAqecb6MN6KFIna>tJ?dc8Bb&Y;Sh&>;c&$vL|HM zXV1;PJo|6i_hdhj{Yv%+*KEv=sdjh_|DTh&+B}D=kGiJ-o?}>W5^v@ZZb6(EmoTi*ha&E}EJ7;6g3psyu&Fp$X*Xz1I z+4Xq0bGlvHZAbSG-OIb*+5NlRxZIN51-WnL{@SBok4t*2>+y@Hho{(6>KW`A=^5{- z^)!0sdzN^v_N?;U;aTT-)bosIi{~xRhn~+p-*}FCe)F96hI*sC$=(caS8u+zkM{!a z4DTZEb>2I@k9oIv-#_F3oiEN;=DXbYH{VOXBYA!DZp_<|_eOqh{+0Rn=f9QzLH=j? zKj;5ZfVJxd-hz^X(t`5~mKQu-7+N^KaB1Pgg-;f4DSW5!(;`*Wy{M$9vS>!ps-n$B z9~LJU-(QkgGOpx6&rvR^@94g}`yS{w ztl!i9w)T6szpMWV{r7~(Sx@PsUEU?$W24; z9`f*zXNSBtx$o&YS1>t9w@0R^M3t zQ1vU-N2-4r7Cx-ku)1NZhOHa+;;?PQ-W|4c*q&hrh8-OqGTbpdez<#hXY7J49^QZW znBmKZKQa96;YZH3pId%z^SNu!ee>L3Mr4jC8qqXj!-!oYei&&P*<<9mk&{MFA9?f0 z^&=k}`OL_dM}9XdW>n6oGVZtWEnHqb^3ez1x+t>uZ^C54DOy5&*8QR#^xU&`!qxsM z{*EE(=IQ7aXpWbEI8~&xx=dLASIkmjQ%gac4C25S023K?gBYUbAl|<+?}#BGBjM*A z|DOu5W?EtMV`7MTBk;ZdBa{0d`S*eLbKvo>%==;pb`N#N%>Iyok+Fb>h#~ZpvHk-v zCt*&&tbqAmGlu&S_)7%t8<>4E$$t>f9SRMCVMtD7z>9gD_9WOaE)6zS>bQ$VM^hg7 zf>B>XhN0S%;4_W?km*1<1^FY~ETsGYrJ0KI_!se+ zsE)UQC(U%0n?z}lamY>n@9^FW#sm0$tX@s}ca6FOyXgOp)A|1ggZ8=fET-@*xU>2D zpK(6aX>q2JheYJR8;8V*zr8U{7cTP{m<1@y_rSb{^iIM}2opfJTEwZTIJ5LBJWE88 zN`{<=qR;Iw`l~LOmCXdM6L7^?jkgrx`onJn;K?|{^cldHK;9Pte<98yy%KnW|9|qQ zQbe3-DB6`?FhekpnuX^iJZIxM5WFQ}yqg8pWh#csbUG^D$%yw@oe|;>(G&e@ii{Rj zGE4MUv+-^dWn>i2SAa>y__rI{(r;sHZdF~j^o_~w>N=%6Fd+fWDer}XW-*REStx$x@#xqGY*MZ z6Sax2BR?0Q-t-WuCOiBcfefsmcQs)0dqVV=IE_K>K)>KZeyzcCiRf(JgSLcpC=#Bn45arryyIyY2Ve*0UsfPKGUTrUxD=QTFw5urgIRCxfGEPgK1xy|6xD$PBbV? zz^@xH`NeWfaS8?>?G1W?a5!g?ae=TtxgPKPk#3W4$Pke)pA%l3xy$8&^X+29y%TkG z1L_Nv$?cH&W;{b+`p~(JMjSDKsk9PLUG--mo**9a{ZivGn7<0$Khe{|P?PjFTr<4|l`EJ?6E#yt)E`JA2A>3HMNOSPCB3Fnw*fbXvC(NP8 z@q9}x!I)zp@}dWJnJvaioj2gi@SXA=`MBIE56SQ4G1WnJ$6mA|b-rp=&ts?W7WJ)&lqq*EJcZNI5?Q!S1d%7#!v)mWEuXf+#Ugv(m{gC@n_a^t# z?#=F((qq%HdOJNUJvV(qhRU#HL}tWf#Ai4&Tp3+624+mmsLkAdN?|UNN)_!D?)?^=(Cshva@eZWq1@$sco8FBDo))Ae8Y$^$$})A=QxfK~yJB1^F1M?b zE60`VDs=U9mAS^bCb$}03tUTF*Sl76O4hnVk&+m9k~_ui)>Bf#DQR&pK}zm(uSZHA zc0YlXJnw!nC?yvlB_T*jG*Xgmq+|+Gg2S5?76-~#ksjgiA>KQ^k09-Lx|jC!XPo}p zkCiR~JU#sn`5*MJ_5a;}yZ>hYD*p|qsUH51zi%@3BQ_!S>y!b-?4P~AV1LHGz56!c zzii)!LhSo=-{<6O-wSM?zwi8g75nDw>%aHCy=#QnyAozL%*A_W?j5`r^?J{43+Y}$ zyaBUcPNz^PglrFSB)|l3t9t+@FpQZ;*8%&RzHk)2F zy=>ZQdeyWIbDr;-elY!nDA+Z4`9c;n9)L)Ce;#+YLr<$Lu%G3yT z3+~l@Q~V~QWsJn)KHTBd6Q`+H$+4IVzDU-~8FGPKBkz)T%Ln9>@Uzq2{P7af{ProUuMd{)pOpv#L_H>LWD`r`M*S#d%BJttP2H>SNVG z{-nlXbzr8-##lTSt%VgUsiQ>_z89xsM~nxhte2P|MvJjx99Ak{E>_{by5-_talN`4 z?a%vYN8UkCe@HwiH_1?O9IFN*WQerONQuJ}WQNR=-Q~GBIev&d2eaGra8K05a*@0Z zXI)++Z$bThNp6*|$~|a#z7h%2idO1(jKOW(u6C4(q7!rpw~Rx3-a+KZROqL9X!|=t zPs$Y)vJmZLCovdp{6N`D43+($qxTi($_g<|mWjzYNxepn7GvZfF-eXQ<8i|NC^0-8=imwEh$rgO0 z`KLG!XSy$gUbtOu5rbrJaW{4bCQAo&nJ96Oyj4U&_llR{(5<>bH}Q${aX$M*IZ|9F zuMl_08^vStKJmD`U%V?{5xeDk;(6#X+t82R0R8fQxmw%^UG)d~4Q>hl9yh1`pth^` z)X(Z2wD>!4qW=46FF#N_)rabBe1&)nH?BRco>5P#N7TdWS@o3Kh&2@%GC_2eE@*OT zqKixs<+1=;UcShanc^I1xFcjGw6bz>fvgs@psh8_X<{Zc=DBDg7RlMz_tz|z;8ui% zvPs-0Zx`z@a<~gU+MRNh*eKWG)avzOv)m|NkdKR}a2xeA@?r6!d_ugAp8gH_f_P0n zE54E+i_hiz;(+{2?315}Z{%)qM1C!PmEVaNX@Le8CTs%t4@)T`put5#qp+i?GDD-Y zh?61|I!T!L6Fu@DqL1t$`bjUeydqH`vqh2YB8p{>D3M)7q3kR!k|V^0xP9Soa+$bE zt`IA5&&f5=O0Jbl#7cR&xLPh2x5#V6ZO~G0$0+je@_KPAZZX&)UlSk5*TqNBNO#J& z#V%+opU8J`#`as{C`PN_%e~?s7-jv4)5N=DHd2H-2uV0E4vi*G@r)fnus znW1Ll*0A|%p_;4asf*QRxHtE5-0itYEm5~(t^XRe0(b1)scyvl1q!MEs>jXOQKM!R zi%AKcrd8hF!SCBl$W4aQDMlqU@~qr6Sg;Sh|Cm*}ts_|-Zb0qH!W!H}$7 z9@XIxrdf_JW2jrA8ExV;QHOTX4PDFwy|Dz)C}3*wJXg$x`(%74nP0Q^6si<{THwD4_&Ip*%+y*yeGasM9{6kRZXNth61fP~BxVAu(Q5{s`OxBK;eDED zKx~bG=Cf;$v&3HomznU@0N!(T%3Ywvx)Fw2_c}l$KywaEGurxE=D7-SHZr%>9G=pa zaTe-l!<8Xy1E}O7J`etdXo;(FMr5_91azi^y5qDeEyS5_Zo_R1^EU@P6KC!q>Su;( zrAYY{EZI4bCgtEPVCR58qSt^Y<;66}co=%Wp*YW|7I-a}HBA(S&%cIsZz_jve)wi8 zpsBx&6WdHU8!<#$WGHIun>gFuDsAXd95Mo}cqCfhDDER;(Z0vw&et1dJo?)#w2^)> zMJC8Zl;UieEWSg3(?O=-a#5E|lTkdvyxY0(6zd+#~lw`_>z+Xdm=5@1eihftKy0EEVs|GTeqz zfp51}7=sLu1JQ~P5-IayA@?N?L9G&v1lgt4|vPKPGYfLlx&Ws{tRyGxpJH%SX_ zESZOvXg*rX1?XWHipP<&|3L3uATL3Gdnxq$%j6QYN;tC{GYJRK>YtKV$z|w|SIDdJ zmHAq@_J~`H{yKYRiYTJ(@p4QcF9}NTi%K`>Na`1{JUH&?|>e1Cu<^WFjxU?=WKc9;NqF(ISuH)`NNS2Qgp%D1X9?!CZ_bev!Y* z-{f(O>CcfT6GE_&^33^%< zG_}s+9@Rx$iZM-B)lEDB9rFjYoTJfO*l8Dy^=PD}Ka76=KD5X8VhzS}j2|snSJhA5q1Is5Im31i$X zYO8t$w>rJ1wqY#r26i&O1^sP1Yjy8IuX`Ul-G>+#d<@NQm-<9~s&=c-)aTgia=q9i z%EfgUqwH3Da0=!=^_BQSe2IH_KF1u#UiG!wtM=h!*KgDT+@*9-9a4wYceoMwd+3k< zfcE$!bjF`?%l9wpSM?k2X!;%ZEB%4nl1^DlCpFj3s|}soSnsVYt<;`nh5FN@KYjW$ zpPn9Xd4={~%I^qQuD|QyN{jXPQugoj=yXa0Pp0Sbd3>RzGixR{H#LTqHce}4tes&k zZLV*eRx^2SOKoUrrS@djJjJ&1$@R^X=gyqkP`kidKBcLpX7c3P#ukpjTb^&Jm|R1I z*tge**XE`gcJ)?zbpAY?K99Fbi{D#bV5#KfTPlMC>%Pl$X_V`!D%ZI$*QHUeNyF#K zw^p`c$6HyZ3!p3@fWpv9J)s(ZI!SMSXr-2LjqkE@%K+xYHlQ`JS_*wW>wtE#_&nx; zlWLl^puSSuz_ww$mA-s6Xs~6Fk;BNjDyHW1=nVP-X=FydmF0{_&Xk4@(itA4F=!do zQr|G8)cV@j`DO) z@&kEPYN^&pRR@vE*97a$FVLvub6$8W^K}MFxP*d{GTpt{RM|MqGAu|G6<*D$LeJI; zoq-BHdnoQ9e?bwM>FU#Fa}6>gue+%iHF*a$;l z9&dr33a`#}fu0I)AcjiI$RMJHdg8Gzd1Sjx_IY(d73!o4brOX-zC>fhTU=!xh2m)$ z6~sosZ;_TDpH~-Cp`M7sO3UcrJj$ay^7v3sxZYF-o`oT!TV-9TM_i>dR2h)HPPDSp zG5SnddkaHH2g|ysG<399)I&y7BV-xP1zwA|sMvBIi^q0et2n~Xn^IrfTsx0C zD$@&b84C({t`8{pdc382{U{Bz*m}6q5-ofw*AEmtola@ssSDnd7h0nWsYY+1Yg$|A zn%bZu<0-LCZcV;*vXKzW6r%umE4@0S9-SeN)*yMy3oW&rPD^dDZ{1g!p6qg+{c@en za-CYamTaG=z*=j>t4l~vX;~npMWMC9+3wXzdJ95p+cd>m3*sv%u}ou*Y|~m(N2EPo zU!HYZyV!hQb6snbTxP3l8wO2sfu-KaPmfn?d?0_FOJ7xZeQrb3hdCq&3ooS|dHZEemLVi|jL|HP_ZQHq@~Wua$eB zufo!-$-mhU7+PyR6<(d|0zDOh+EY+vnG;m?3iZSn7TM;s%Wa=m7gV86s!(ULu*BR# zt#eCIv;nswEdf5SE|wBz$6HybGhbL`nH!up+$y7$*4d~GJc~l+w#v9tXQWDJq%t6L zooHp1WA2$Urs^3i<06F8Tj{ynO3yV)zPGZd#4=wiiSt{<5I)~%rRQs{^u?`?T80(t z*<4j%xj49$)^h=OG;zLGl~@)sdF#S<)xIRpH1(pXAut!!v)vHBu(r7=cS>W^%rNM+ z8qhLd!&qDDQ2iJeKDB9XvkukI)BVkhR>=6VDQj=f=4+o0(?@h-U(Ho(a@=)*#}U{SnXX zPve=0sLzl9IS+&jeO;c#Ff!=-! zH_zpzqdJ@&ojbW^PA!oDsS4}V`e}0!1{#}2RjVTCZatPcwUe6~r!d;<%?q!c(}G65 zr8a=kQ(RWynB3IR)HoCAY^iC!*gU1FahkbuZgZ1HP?H?=^$K%CeRGYD)YDYP?I|1! zEwgIpAiVCZmy|NDdFWB}q-simPj52tEC{QeIjiMjgw)vdX-xS%{Df!oTtOSApZmh{1Y7TPcRo@JUP4ZEDGo9Ik{=(q;Rf@1QBm=E7NJ0=hieZ zzrbn5Do4G@M(FpwRh_x~8TXHItg=AzKWZS|gpOHN&1fOT}&>|Pc0;`Iia6o z)-2Eo8w&G0+V57t3BV-5I5CedF}Hp>?4_8`!mY`e(UzFcE`nWx*73>xhF)JDvVJ%P2L zCd>jIp|3SCg3f^DRXSzh%S@|3FopjLR=Jrm=W_^iSeWm@yqH2Lq98zFGtOVwrS@ZP z59z`z)Hit2*QP9_NmW!09VI*sH7$+!mSMry41DLrY}#PVT$*OoHaCjlGi#b>h%qx~ z%$$L_wowRahLM5WeEG7}ZZ zoKi+uX$!M&6(LbCC-eq9(YjNp$ivoyfU#8u_7%2bA+0B^Cxwi-#`Xx{&DPDZcUU(F z89kACE4Cf99keGzF0;G4WJHEJUXJv2$*}E>9Pbbjc1LkUj$@VWpkuc^$1&J;)Se$P z)OO4<-rmEkbYcQw|mttFv{Ga;wLMpogarqA-UpM;?p;iU`{8-aMr=nx8D|p0TqZ!6@ zwb=C)F_a>>{sy`1Yo9ueAVT|tNK+m$=eq0uvxfpzJtu<0GEA%L{_S6I+(_v^0|8N% zPxw#zf7RaG$EEp$pQA8)jWECafA_C|-$=p)!jOEaMDPOW` zM+~QSz+cIwows(coNGuG@s2Me0`=zvBu+e@3UI6i@t*+hPyau0hX{Qs4f-L~NBrC1 zs+U6l8vhRe{vZ!J2#SZ9CdG4{==*6+lu?rWIMITCVc>>JV_1M9;7IsmITB~WtZ@h! zZAQQsg$m9;jo4q?XG-i$OmJxA=7gEDdYm$xwC{d%B$h`CxoZm zJg${0|F;~EL0|JntDFNr)bJm5EXA#rO-2O60pD$(XZO*jjYa(hFF{n>QuvSFLjS@y zX%7FzPb;%}FXRg%&>K5AeEbhW0yH59sDDRqf*e1En!|D>TPu^n>D1d2&Tq}NEwMA- z&Q^!c^rd0iQ#>Oq=`ihnsI`9vIAs3y`rFQ%UIqd_HCHZEoQud$)OB5I0`1lQ08CN{ zv=u0^Xvx}BhL0c|c=!trTEl^7YOT&_U9^w^YE;JH3-t~^%DKQVEC6s#(@UZMV@g}w z^acC{@PFmn>JL5-8NSfM;n!JnMaiID1b@~49@OL&2#aSh$6D#qBpoCjJ-t5$LIq+% zSUpw)!zttR>fr-Y(tHGLjyLe4mtUR68Sxt4&ITygHLhz&!{spmYrCwAhhX(G{jYGX zq*~*e$|hKU-^Tj;5qxb9#}Yro$PP8-gSNC z`qQ=B^_A-YTz_&M$C#)9t%a0-pnsGqpKSRDL@n_>9JX{K2c^7|#&7Z$)CID4W5kp1 zUxScqFz!M~?DxS4L?Z7vtb(7T^ak87{vGl-!YMgcgyL;8B$SQu3sF~~en{>lh;SNZ z_}(o~p$sYVgOx1gN@rsv0iv;D62^-2#B8wuEBji+5{w%!;c?@oJZ^lJ#*J82jBz8@ zH(}g}RY!BNwx^E9jaUJMaU)jnVB9EQp%J6}oJNc|Z66~>+`)zsqx_mijB-DX7_mym zB)-PUzQ_|!Bi_K1)4!j&*59xXhqyF>^KJ5k&b?VxW6#M5?1>tUy)R?1roxQ$?Z-+Q z$OunLAu!q-$sN)JMyLN3Bp$|b1Te?xO;sZ|LZlN=ADB`Y;;aU-1MA<5eQUpxKjKG~ z`qx3G1og&_n?Bf))zAMku-~Ym{_Su<{;1_JD`2jHSp`FTDmZUI?FguyG^mw_jWIL^#HDh9wTg?R{N1bb^azfbu0Lk626 zgZ)_FCUBpINXdcmz@T2FfFc{DHU;$}1@$5Ybs}XP%tRQ}@013ZW|*xo3t$$*TnPic zF9qpi{Ec|t3Ily9ld63MqBq zfl{cz2TFqz=1%PX>L&&we;QE|7NaCwiIOl5C81GWC?>(@yf!{l;ByRoPKVDa@L2|* z)$rLDKF48YX&_fin3Fg?Pm{rg8Ton&Ik6i#ag_2_O~p=8^g~W??mPf<1O~d96FJW2 zPl2syFkvteFmW(W7&lB7OgET?Frd+)7zQcrunMLEhVX-hO#T(sz>eo07_hw*N~ z^9Q&OhZzGi9%d3u9ZVxk3k-!{0<#QeB@EHM9eknPF=%2Q!ihpm^bki8T*09eC?_~{ zf+0!Mb24W=L>xic0Pc(@B_}pTj>mc7kIkICc`pcfqWK*#JXvJOlG0%&RaI#}1f? zcJw`)mLLo3XyF6sy}RdEGRvW7Ai!@yfM{*vUcb#;)NtV^||56z*QbtQ=Y!GgfioEwDg3AE>!?7xN3VbZZKO7uB1bY+ycJR6d{nwk=6%m4c5%0i$5C0JC zlXxHYr}&3p4b^9`zrYHs5VUMxWBzY1{*l-V@-5;#h+P4p*t>ib_D}dnV@F5?dWC2i zjn*Va#t4bsAv715uFnOQU=L$Y*%NEqOR)|$4C_h9Vkf|OIUevu*f|;osnx))$Ldil z){f4Ay+AGig*Di>m;j011^8}xH}DV02e8BUNvzOJ#%j!u(SGklEpuY0$u7|WGXEUw zyuZL2bqm%@ek)QT@qF~;1z2Z@Qi2trBtg=c!to>thOz`5EWrqoihmSxmhO0^_1Q64 z_3g!qz&!lpApf3_b07RWh<>6!cGZ<(4VnvUJ_iUlOS~i25>LY#;d=b3d@RKr;sf|+ z^E$lFoCi6a2VFT2x^W)lavt>HJn(QHcsUPzoCkTxfxU?PTgaXEmmkH-Rg!xjmU~}X zX)MOF#K)l*?SS12B=_;O78t8aN#b*{N2dy_L`m-RS?&v1?iaJ%7qZ+hVYx4&9X#0Q zfIU3oUY7Mbmi7IR^)Boz`5cnn%94GHXKvqS$!>>asZRW>vPqJ)vt+|rvLP(l5SDBR zOE!ch8^V$eVabL-vXv-mbHatZDCncFZwm+xT(A+a(PeU@*c)=4`aC}v)m<@bSKL_h2?Hzxtk#O z672J&^6p~kTUq*PEPXdiKb@tY!P2+2DfLv+J90_y#L~}X>1T0CS6tGwxukdIlHP?& zdMM{d4(CTW=SK(mUHncucQF2-5bNvEtI)wIChtTTk5ZYcH0;hUdw8J_Mt+5WFP1Yf_%&j4G2rax0?KPmI zpmzdwT*My>KhGAum&JB3F%7Dfi5O4`Y* ziG*ziwEawo{3U$A{ys5W_XMCsI3&Y0(UPzq{tmPAXaRxNefLgg~FmQ_j z-AE}r?HK;)WuB;YUcC-!%|jq9I;OHx9lbq@GT3S(SE zz+cjmq{owtipAmT-%H{8ID zF`%~PGLY619D-sg!Tn8Ml0oRCdip%Kpq1sG$6E1 zn!lj-Y5{PIIV@UC9U5prXh(D$l|=UEMhGX$B1c58zzg0+93107P>OT8e0fL5Jc%+0C;H&H&^B z&V@I;e-1O4A)f((vW_FyV#8H~`Wmhk0m#*@!z34luWJkOd_;TPn1DZ?rKrQ(B#xo3 z!v??yI~;}GXh1Cnw9uQah;WayYb&lb>?*_G?FMw00j)D2;zgtKjDdU6 zfL=AAw+v{90qry(lAo5My#dILa_YW@Q+y0uv4Gt63sstjnT0gW)Au?953fTkGGbOR#F8a;yMG37-D z?g|515r8Q5fQgsu1GpfrRvWlS0BvKxn+)hV1A5tjJ^-|x{SovDL1~bmrh}xM#1Pg3 zz15zw$AExK+0QtF4hJCJAK`u=91Ibou!Q?H0BQbGlkgtH?gY6Q8U<)7L!AsL2atzx zg$9oN^)^D3F*LA^YqjAzj-iQ$YXhKW!nxvH%H>Qw?utm=Z9oeQ=t=`xY(Se02)NV- zIczJgHN-WBzZ(tcRs&jNK=%e9;zg(TSOAy$Q~*k|V!LT)iY?7-K!l58T!MkaB@ep4 zi~y9{%HP%iz0@}h=v@Q)C;**RE?)&)Qx6!>5d-?kfc^v&2H8fmwwNwA-m_TZ-2nL* zngnP(L&XNv*MP{if?WrTUAG@vC0L?M=Oh?Q+{s~ESg z4Q_*h)1aNM&s}f9$3fR$L5~}*&lu2)487VW><+_qFF|SR(}t#vNE?g#cYOeI9W|h1 z0VwU}0OUFmfYMeQ5U99LGnGvS?l}Xp0_x1JW&*Bj8y285PS zcU@~h6ygyMvB|(aXFx9-&^7})3}`=x_`rZZF`zvLME-ste}P}xudTB#X(z!wJGA0j zb^f!>1_bGe0}-~G0=v=bX=9SJK}?=}O>NamNn_MBLChqhOu;TA8()7+LOI4b#yciC z>HrOOjBreGOb1lv80eVlXn>#D{)wCPgjGNMcQJ=uxt&YO> zv%Q7!o3X}KV)ygAus_BPaNq=I3rpTDc0fKXekbwZh`%!sTTHf zlNt6G>~oiCE#O@^@lA@iA#EvMWBYx!{cLYxdo$bLu>CRHv)SIj_HdPsuun1k9NRCk zeJ|VJvi&97|0G+EWB6l^cQ)Hku|16K4Qy{w3N*Jdyo>#>WB4H3U$T7**7FO^=|mwoo-81tEOUoNG~K8RHEr^;C)QtW^)eU zPUgD_V=iPorNYOl@Nrx|rs-n(f>YFqQ{y{=w@{q|hEj1QhrNmY)3)?b9o02i$NuZswT|%q+X(jGhSLfpzW0E#*g~lj zD>-#5$v0VO}V*|b8|4~<|2;0neF?T4r!X?lk#_?87(K`x`6GzurI+~ zRKSoQ+|Ne2zlhU*fGHf{uu%+0F}#rBg$!TI^v80FE?_x~W!}az=VO_}vFv{=OJf52 zpI|OSEM3jSxtVK9SEi856uPn`yE26m#+PthG3>L1W!{^8mS}#MehJerVa{*nSZcTo z*D!?|t{pY(zXx+TlI6LEebzIDI(98$*9+LSo+VbtvDYxZhEr6-GOywMs-dtrr31FC zq1G5S$@ylM^Fc*5w}vRFg)G~V>~kbzY#jS;=5RN2xSnIVknuT;&tZHH%cO_D0pW^e4^=`5^^=q;x^;5uW zt^|9jca!lt27Me{O|Wf@$)vsp7z&$5eVNRo-c3$5y~7yvaf&o;Devb{pK|Q?6UKBA zOQQ$JSi|^G&fh}D^q`(phH}_Goa22+6Oer<6>1_=+l!SRQl7_QGdV5UOraZ7$kaGw zxFe?`RL4*%GMRoR)5&HX1$TE|s;f7pUxs<&-00Ib)V{yvr$H#0u6-PBOLS9LsX-$HDna zOy@nO^B(z^GdS1AFlGR|maxQfIInYvvMgb_<*@$}_L;+FxP;}O!=Z8*?_#)^<=>C# z6ti8(`R?SLEhdS{V$&kFFD08PN3m-T=XfX(RbD zJ;L@4C<(bFPn>B)wWEskC52H1xv~U`8DGp8CsuJ`ogl+~7~h9s8_WMQmj6Oc+MJsU zS;C)jZgQ)OTbC&}7qT=uGFKgmL-8|*{n_*k!BiK-2@S*4Xf-eSp|C%5zW>aW_p#4? zoTvNP=M$#k@UxHo?_)ntsH?#9Je&s&Jm>Z6oUSaEc@|4MjHQ>wQk}qDb>q}^V~m+y zT`cErEW>V`>MSi3*SIXsoh)uc#%bL>kvf3@22 zE2r^SrazYbbZ0+V>?e!MRTlYCRh+uh%tI3MMz@b6M&eLaF@;Vw>v%Q-3p3B}-ak_xKvY~!jjVz;cCFDT1tJxmK_BggDvOSgU z2DY2oUO>CHaatXXM2TZ*8md2Og%PERR)pdyNtdK&PyJaeEc}j~;b*S??55+#>+jI{ z*xji=lk{hT{=^B{*k?$!m*^?f?!h`V0%!3xi15;Jm2SBRTe98q`tlL5*A6Ki=a!q! z88*}{w^a|VaLZ3d3_Hgy504^0CvmohTiKb08E1Mr<#8289EfM63V zY)7yi!!}k%18-xS<}xH!P0=n0?KCxBsg5@bv~XInN-hNRJ4y`gK)||gq%Hzd>`ZI4 zu$~faH((3w4EUAG!);uY{~N%ago|9UE>+?*JE>4NsaI3QcwU3`&b?I?-moSRr{SH% zdmO0M%5jJTys7P)Przniq{@PMj$B|u7y~{eW;+;@%osZ`m>ppZT2JPhc57-}(>v!0 zzlR_lZ84TJFrjB)!p^{ipMkNSfw7%|v7dp#rcdw%-X)D7AK^66PFhM)YpOI1jp=B9 zh-5*jqfjZ3<1(D$sNp2e7q(;Fqg!U-WJ(`OVPBjsIT&Y1j={=4g*uzi_RKaqr%iqJ zS0}R}L?c%A4Up&mN1-J6LLMXMO4;rMI@_@dP|8&>YpC>KWfbj>pmG$2doCzVW}J-o zD$aeRK1$(C&aqgDy%=dr!bzN1IZC$7ksd&L%9wU1ra?Q9nVS3)XD1Rhg%w_7$qj#M z?-ka$9V1&Ff?Y4BkgY1nW`FY-gY|d_nM{7L9*p1_Y?mNC3aiL2f`5h6_cnqc?OYB4 z^)UV9JUTazPtAiLv*G7?5d!zEB7)pd^CVW>(H`dMIQ4WkpVaJ@xNlVcgLYnHg(R&C z6ud4CV=ly_5YO}22|+ZXm_`Ebl^|aJ0lSL#YhR=ufWOCZI-tUM<0073stvH8R`)S} z9pmq3Jl5!{r@;l$eG<>nFeER0enPGcY<-j8V;v{bO(*ek${|UtqLb90={D{5mXIaM hm~4R+ngpXA1WakgCmW&W<4_O+kv@LN5cEg*{U5`JfEEA% literal 0 HcmV?d00001 diff --git a/wwws/admin/src/static/fonts/Quicksand-Light.ttf b/wwws/admin/src/static/fonts/Quicksand-Light.ttf new file mode 100644 index 0000000000000000000000000000000000000000..995eae9bbb56ab240ebb7d3232393eea442dd79c GIT binary patch literal 72964 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 a_6dE5fPA#i88|$IK$MR!7yxPf68{H{z=rSu literal 0 HcmV?d00001 diff --git a/wwws/admin/src/static/fonts/Quicksand-Light.woff2 b/wwws/admin/src/static/fonts/Quicksand-Light.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..98a568e0ba2a8e52eeb9f975e28b75f4397ed4be GIT binary patch literal 99509 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

    E9B8$*XMp5(XEP#i3l2t8tF$Hsap<

    (V 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

    E?OUWrYdWHzuQk!< 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 JiyBY2{~xpFXea;x literal 0 HcmV?d00001 diff --git a/wwws/admin/src/static/fonts/questrial-regular-webfont.woff b/wwws/admin/src/static/fonts/questrial-regular-webfont.woff new file mode 100644 index 0000000000000000000000000000000000000000..50c93061d3ee480cfad59c294351a1dfe110cae4 GIT binary patch literal 26760 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 tx9|;^MH|i znF{!3b?*KFCK{BsIT{3FRQfk4)YE*Y0O55XO*0>3PbVKgTW?2@pP!$Ei-#-P-WKI3 z;py$1OHzb@Kul;I4OJ8WysiA_J|?E^_=8SU9mn!W{ZvLZwI6Xs^t{t{bI(5W$A`vV zkiZn}7K~0#G774?YY}B@Z`g_UX-DWI=|tk+jqWgMP=(R+M_#%t#Y5IkuPh}6g+$h0 z$bS?4yC7%8Q~b=P3|V;pZKvN7dh{@v`}13Rh8QL!==F}rwMvL(jTPO;u$`%Po26S3 zbKu7l)A8|ColUOa;1tD8bjxtIc@zwT!g;;!1%I@qm50R$Z!9X;J35JxlDC~6(0!zW zr&}eh7G4v=EL9P|icr)dgL!5U z2%}?)vV0tq$o@U4TgCD0x7g`Znq;;~zhkr}m|C^x=YVoN!-qF`>&@^n3v!5a%!uj! zUv#kEs-)(O=)AkOv`y+?t&n?aETD|1C&dPs=wszNs+*+F9&hdBUd7kTF$O93pr_CO z{qVmGvOW6JL;JV^TyipEU%Etj35hJqLKw|{ORzWHfm=Z-uYdB0YGgGDkA(l`jck3a z%GX@{9#7ppsj23SYOpY1aD-Dxb8@7HonKao4EAU`-zP^AW4y|Q8C|`dm;IYox+oqb zPz`bZ6)#}_d-15lbZNKIDT0bxS8HV}T<7UivW+#A%*5JjybwM?bKZ0DbY$;un`Dag zdxbr5w+?huwbA-_|mPdp#rE%UmJt4Ul+ zQaEPGIq6*ERl!a75NJ*MI00XHF78OEDTySW8HTzloymPyD!-)j;gbiR1on%$&m%}x zAbEUT*Z*6s{N8O_%}HX}&-;n(Zx;;1{g^N@C#82at?Un?b0K*Ys*>lY)!25*5a=$a zjL5NjrIOsX4B&@|nWaM6ZG~QBKtBmA|LOO8JY;N^xl|)W%?SJg*mxUxB0(qniRs%S z`7N)=uUS+v_nW$COxws_DwmYZE)DZ@ zJc+qX7UClq=e&BI!n9_pUtE?oJ(N1rMD$6AB)O9u0t%2Ea)Myh5+okOGe@kLOmiW%?}D-)c}{l{lV5@Fd8l7*BZ=;GNDUD7cjwcmgJQ?d zv@i!~Us#tgmo8=s`pgp^A!cX3k9fz9(D79=x#Olg>ty_#^rpyKQWhSeU)OA!kTG*# z%1Q}v>BZ3Sew*rU$$W&og=M%v!|{OcFwam4{pXea)ODS=v5w~G2N<#dL53>ETzq%k zvm1vhyr4LL?)-3};=^^g)zzp`y?bdJIcmp&mJk<@x!~upo`1! z?=QGt<`XN5pa#%ev>g!Qy|C(a%t$oXt##e|yVJp>C$mHay5U;9V@Tv@uGzeEQNmPi z>4Y$C_j8BL;MfWv`=+x5_b3{GsGLCA2Lt?>{tS)k4aw~7N~5b=z%wBn z#ny8V_eFZ|1#Nel%>K9eg$Z9XZA?!*q?L58HHf|76!DpK?IxmtLq`adco~Ha{dtO_ z;-tY0$1aR{nfg8+TWzk1db!=0ku|AMN(9*$kX{ZL+XQ=<|5DaK>J9jIKw_ljIqQ5Oo^s(>l zSHlf$ytkzu8eGX>fWB;gsSNfUDOBs~`M?ZYM1krby-{pY^tiHqGQHc{8N2-+0D`?E z^E1|l7gC<|hPLqh(ntKG54tG)-FnV#AD*vVGHo)R{T0JHgLbR^9BRzY@N^ViS6HZ7 ztJfeW4gdfj*=BIFVkc_|n_c5|ixMjZ1HmMqVIi6G>a_|$lwj!L$VtCBG<2)-RT3M9 z53Br2KZO}94Fgq=2C1d}LF?Hc@Jw!24lY?TwLpoHn`>=S))Hbkm!b$qSOD8;)v{+7fj z{%HtKFY<-0Z#v{38qT@mAXpg~C@{z!u6(xj#CyR@6)Rbjr8w24;HKc>VTleF+=Wo3 zuM0;JAPk_zfftB0#Vkli-N(~n(Qi)=^k715_tNmRy31dqT}RP$tb^!<}(09J}IUGbN;Y6F7#1FSz-7oY3MX}wg9cs1m(ONrI}wg=dXWmXpH zN;j}&TQJ~Df> z8VY5s3C+6re);kv3^2lJA-S9w-I2uSh^xOJrg$$*jLt0M78E~BF)4v}YbCbZ5TZW1 z?XDh-6jN_^uliYZ&?hWMZ(isu?f+KoFusV+OgERmd~Pf`GwWzZFOQH%xYPFR{<@v& zZnL6eRYm>qZTc7z3t)I2rL-M{XZ$68)@kaR>cFJe_@m_A%xI;r(FgDpUG6THSj{T` z#z;25fwh$w@W$XFkF0B#X{M{O+b}OsM+q+1 z7B9K`Dj>%~!8$J6UY)hm?30nukxR23566AwHJa=X=`bY1-)pdT)1r@9SBA~!F4q|b44ZxH9 zq);L4|GsdK70z?mP!sXJkLTTHgQ+R#JSzY4m#?SB`TKk9G1E zQHv4=X1UuGCK_!u9nIFBY>J61w7-o1jt-1^wQwzDn7ic7qAobRFQ~tIx==MJBfoZk zYgbh@ol?!GC4vbfAezna8xyFj* zvt>Gs@QtE@Gga&9wj?O7y^Ge{mgp@kVMtxi05UQ!_JD94ToH%g|GYBTzhzVE$(c^g zAvjgmFAQFLGj3~TcgH-!IYNwA7Tq;AN4+E*sGSysP2gp)eU-F!8%R2TKEN#L1c_6# z+9fJW4UJvt{?46%A9G(PgA6z-Bm@kdTY=J8N?n;>9Vh4dsYG`zN?_*G_qIQA&ADrN zpHOK4E$JuSAXH7hFqf%#QGADLPU1dy6*i*dM8bwxR5#!&jDp}?`sAwhPCy(*themjdKOn-L#2O$FTZ);F3fRvJ}1&= zuc<+CjU^fi^@kWo+#1+>yMe3!!)#U3Ba-jf@`JQJC1cZ>)amK#j|1Um&?b=!DMO$`}R5#f3-8#wlpG5Nbw(E@ahGr>|ef?dz?izUeunA0%4; ziw18idoMUnoK__=t?Ri%0JYvdV#0XG;9g>xyVQ=dJr=3R3aXZN{Oayt5Qb3am@-Q&?uzrP%|jAxiY zp?$U#9zr7vKxq&_^%o(jw^sR-wkstMy75O{_Nwb6r%?~?=~|rZAVAxe5D6BK+*Q7s9_T*1H0p zO{7u94(v6vC?=wPi9kI}4L(#oG0E1h%wD#-)bx~l;uk}Q9HP3J{mF(Pb4`gU&Gdu4 z8_ePYX*@QX`!Iy-jsU@jY3}u({6<&Y1A`}zHje(uwfhdWg^`v`+QSxiyENh{k;ckm zv=>MTQfE3kES^CWH4|UXF2>adetUbWf7n(&`GU!$FZoszlYiAR(|h*Q3cN+SSW!+Z z-(A1g4)7-39?M(y!<=rRH@Emj@a^xmvigZx5b}9$^9>o;LO`rSIY(}=^qU+*7G_u=vtnLjUQ%(yPkLey#I!JPqOF_%G24& z{exHg!E!D&i&rbm$-^V)vft&kzY}gLjdTbY%+Te5PGtX@~s_ruH|1=)ri(5?0Gj|-FGSbyiZi(M=3gk^i-QYIs zH`p>@;r7nkmLf62|FcsO4*{Jtx#b9;^RgIHXx@s=jkLjGF>B`(B3lJvW)E+B0X-U! Nj;5hTt(r~ve*x%6+n`0001JYGP>3 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 Fe*kCWg7N?W literal 0 HcmV?d00001 diff --git a/wwws/admin/src/static/img/logo/logobgdark.png b/wwws/admin/src/static/img/logo/logobgdark.png new file mode 100644 index 0000000000000000000000000000000000000000..6295b915929165e52185141443ba7646340cb37d GIT binary patch literal 6507 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 bUIVVhJv?Q#R(EecN&tFVk2I?u!eagd&GA9J literal 0 HcmV?d00001 diff --git a/wwws/admin/src/static/img/logo/logobglight.png b/wwws/admin/src/static/img/logo/logobglight.png new file mode 100644 index 0000000000000000000000000000000000000000..4faa68dac227aacbbb391ce174880f36adcb4da4 GIT binary patch literal 9013 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 Q3j%cawjQ!V!#4cC0d>?4+yDRo literal 0 HcmV?d00001 diff --git a/wwws/admin/src/static/js/adminsearch.js b/wwws/admin/src/static/js/adminsearch.js new file mode 100644 index 0000000..c0a052b --- /dev/null +++ b/wwws/admin/src/static/js/adminsearch.js @@ -0,0 +1,12 @@ +var apx = apx || {}; + +apx.adminsearch = (search) => { + // do search depending of project and rules + console.log(search) + search.results = [ + { thumbnail:"", title: "Res1", description: "blablaresultat1" }, + { thumbnail:"", title: "Res2", description: "blablaresultat2" }, + { thumbnail:"", title: "Res3", description: "blablaresultat3" }, + ]; + return search; +}; diff --git a/wwws/admin/src/static/js/testapi.js b/wwws/admin/src/static/js/testapi.js new file mode 100644 index 0000000..b9eb610 --- /dev/null +++ b/wwws/admin/src/static/js/testapi.js @@ -0,0 +1,196 @@ +apx=apx|| {} +apx.testapi={} +apx.testapi.runtest = async () => { + apx.testapi.updatepersonbio(); + //apx.testapi.testupdatskills() + //apx.testapi.testseekeronboardingmatching("aams"); + /* const jobstepstodo = await axios.put( + `/api/smatchit/jobads/jobstepstodo/bhavesh_78731a7e-61a5-489c-8b3b-2cddcf13f127_1`, + {"state":"booked","slottime":{"date":"2024-10-23","start":"15:30","numberofslot":1}} , + { headers: apx.data.headers } + ); + console.log(jobstepstodo); + */ + }; + apx.testapi.testseekeronboardingmatching = async (seeker) => { + await axios + .get(`/api/smatchit/seekers/onboarding/${seeker}`, { + headers: apx.data.headers, + }) + .then((rep) => { + //alert("success, check console"); + console.log(rep); + }) + .catch((err) => { + //alert("err, check console"); + console.log(err); + }); + }; + apx.testapi.testupdatskills = async () => { + const data = { + alias: "philc3", + owner: "philc3", + dt_create: "2024-12-10T09:45:49.901Z", + email: "phc@ndda.fr", + seekstatus: "startasap", + seekworkingyear: "1to3", + seekjobtitleexperience: ["vente1n1"], + seeklocation: [ + { + type: "street", + housenumber: "", + street: "Igny", + name: "Igny", + label: "Igny 18200 La Perche", + postcode: "18200", + citycode: "18178", + city: "La Perche", + zoning: 3, + position: { + longitude: 2.585915, + latitude: 46.638536, + }, + context: "18, Cher, Centre-Val de Loire", + }, + ], + salaryexpectation: 11111, + salarydevise: "€", + salaryunit: "peryear", + seekjobtype: [], + mbti: { + E: 1, + S: 2, + T: 1, + J: 1, + nextq: 4, + value: "INFP", + }, + countryavailabletowork: [], + lastlocation: {}, + tipsadvice: [ + "f46b2d7e-e242-421f-802b-d8d4d02ab123", + "f46b2d7e-e242-421f-802b-d8d4d02ab124", + ], + mywords: ["Réfléchi(e)", "Visionnaire", "Empathique", "Flexible"], + myworkexperience: [], + lookingforaction: [ + "À la recherche d'une opportunité professionnelle dans :", + ], + lookingforother: ["vente"], + myjobradar: ["vente1n1"], + skills: { + promoteoffer: 4, + orientclient: 2, + qualitycontrol: 2, + manageadm: 2, + doinvoice: 2, + followsells: 2, + makereservation: 2, + }, + languageskills: { + french: 4, + english: 2, + }, + knowhow: {}, + jobadview: [], + jobadapply: [], + jobadinvitedtoapply: [], + jobadsaved: [], + jobadofferaccepted: [], + jobadprocessstopseeker: [], + jobadprocessstoprecruiter: [], + jobadnotinterested: [], + jobadmatchscore: [ + { + jobadid: "0f7a4468-7d35-47a8-acc0-39b30220b67b", + score: 25, + newmatch: true, + aboutyou: "", + criteria: ["Salaire", "Localisation"], + whyworkhere: + "Aie un impact tous les jours\nPar nos actions, nous aidons nos clients à avoir un impact sur la société. Venez nous rejoindre pour faire partie de cette aventure !", + distanceseekerjob: 247.2, + currentlyinprocess: false, + }, + { + jobadid: "98ec1cd8-ea53-4509-a3dc-3fabfe9134d9", + score: 20, + newmatch: true, + aboutyou: "", + criteria: ["Salaire", "Localisation"], + whyworkhere: "", + distanceseekerjob: 246.9, + currentlyinprocess: false, + }, + { + jobadid: "5c77eed3-5fe5-4a0e-84cb-b2f5672298d1", + score: 16, + newmatch: true, + aboutyou: "Describe here your ideal candidate for this job", + criteria: ["Salaire", "Localisation"], + whyworkhere: "", + distanceseekerjob: 486.7, + currentlyinprocess: false, + }, + { + jobadid: "cc23a1a9-be59-4589-8c7f-916eb41413c8", + score: 12, + newmatch: true, + aboutyou: "Description du candidat idéal pour ce poste", + criteria: [ + "Salaire", + "Localisation", + "La mission est adaptée pour vous", + ], + whyworkhere: "", + distanceseekerjob: 254.1, + currentlyinprocess: false, + }, + { + jobadid: "b8af608c-0199-4814-af42-084fd0d5715f", + score: 12, + newmatch: true, + aboutyou: "", + criteria: [ + "Salaire", + "Localisation", + "La mission est adaptée pour vous", + ], + whyworkhere: "", + distanceseekerjob: 395.5, + currentlyinprocess: false, + }, + ], + jobstepstodo: [], + jobstepsdone: [], + educations: [], + recommandation: [], + employmentstatus: "employed", + }; + await axios + .put("/api/apxtri/odmdb/itm/smatchit/seekers", data, { + headers: apx.data.headers, + }) + .then((rep) => { + console.log(rep); + }) + .catch((err) => { + console.log(err); + }); + }; + apx.testapi.updatepersonbio = async () => { + const data = { alias: "philc3", biography: "Lorem ipsum ...." }; + await axios + .put("/api/apxtri/odmdb/itm/smatchit/persons", data, { + headers: apx.data.headers, + }) + .then((rep) => { + console.log(rep); + }) + .catch((err) => { + console.log(err); + }); + }; + + + \ No newline at end of file diff --git a/wwws/admin/src/static/lib/axiosold/dist/axios.min.js b/wwws/admin/src/static/lib/axiosold/dist/axios.min.js new file mode 100644 index 0000000..e7af5af --- /dev/null +++ b/wwws/admin/src/static/lib/axiosold/dist/axios.min.js @@ -0,0 +1,2 @@ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).axios=t()}(this,(function(){"use strict";function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}function t(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function n(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n2&&void 0!==arguments[2]?arguments[2]:{},a=i.allOwnKeys,s=void 0!==a&&a;if(null!=t)if("object"!==e(t)&&(t=[t]),p(t))for(r=0,o=t.length;r0;)if(t===(n=r[o]).toLowerCase())return n;return null}var N="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:global,C=function(e){return!h(e)&&e!==N};var x,P=(x="undefined"!=typeof Uint8Array&&c(Uint8Array),function(e){return x&&e instanceof x}),k=l("HTMLFormElement"),U=function(e){var t=Object.prototype.hasOwnProperty;return function(e,n){return t.call(e,n)}}(),_=l("RegExp"),F=function(e,t){var n=Object.getOwnPropertyDescriptors(e),r={};T(n,(function(n,o){!1!==t(n,o,e)&&(r[o]=n)})),Object.defineProperties(e,r)},B="abcdefghijklmnopqrstuvwxyz",L="0123456789",D={DIGIT:L,ALPHA:B,ALPHA_DIGIT:B+B.toUpperCase()+L};var I=l("AsyncFunction"),q={isArray:p,isArrayBuffer:m,isBuffer:function(e){return null!==e&&!h(e)&&null!==e.constructor&&!h(e.constructor)&&v(e.constructor.isBuffer)&&e.constructor.isBuffer(e)},isFormData:function(e){var t;return e&&("function"==typeof FormData&&e instanceof FormData||v(e.append)&&("formdata"===(t=f(e))||"object"===t&&v(e.toString)&&"[object FormData]"===e.toString()))},isArrayBufferView:function(e){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&m(e.buffer)},isString:y,isNumber:b,isBoolean:function(e){return!0===e||!1===e},isObject:g,isPlainObject:w,isUndefined:h,isDate:E,isFile:O,isBlob:S,isRegExp:_,isFunction:v,isStream:function(e){return g(e)&&v(e.pipe)},isURLSearchParams:A,isTypedArray:P,isFileList:R,forEach:T,merge:function e(){for(var t=C(this)&&this||{},n=t.caseless,r={},o=function(t,o){var i=n&&j(r,o)||o;w(r[i])&&w(t)?r[i]=e(r[i],t):w(t)?r[i]=e({},t):p(t)?r[i]=t.slice():r[i]=t},i=0,a=arguments.length;i3&&void 0!==arguments[3]?arguments[3]:{},o=r.allOwnKeys;return T(t,(function(t,r){n&&v(t)?e[r]=a(t,n):e[r]=t}),{allOwnKeys:o}),e},trim:function(e){return e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")},stripBOM:function(e){return 65279===e.charCodeAt(0)&&(e=e.slice(1)),e},inherits:function(e,t,n,r){e.prototype=Object.create(t.prototype,r),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},toFlatObject:function(e,t,n,r){var o,i,a,s={};if(t=t||{},null==e)return t;do{for(i=(o=Object.getOwnPropertyNames(e)).length;i-- >0;)a=o[i],r&&!r(a,e,t)||s[a]||(t[a]=e[a],s[a]=!0);e=!1!==n&&c(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},kindOf:f,kindOfTest:l,endsWith:function(e,t,n){e=String(e),(void 0===n||n>e.length)&&(n=e.length),n-=t.length;var r=e.indexOf(t,n);return-1!==r&&r===n},toArray:function(e){if(!e)return null;if(p(e))return e;var t=e.length;if(!b(t))return null;for(var n=new Array(t);t-- >0;)n[t]=e[t];return n},forEachEntry:function(e,t){for(var n,r=(e&&e[Symbol.iterator]).call(e);(n=r.next())&&!n.done;){var o=n.value;t.call(e,o[0],o[1])}},matchAll:function(e,t){for(var n,r=[];null!==(n=e.exec(t));)r.push(n);return r},isHTMLForm:k,hasOwnProperty:U,hasOwnProp:U,reduceDescriptors:F,freezeMethods:function(e){F(e,(function(t,n){if(v(e)&&-1!==["arguments","caller","callee"].indexOf(n))return!1;var r=e[n];v(r)&&(t.enumerable=!1,"writable"in t?t.writable=!1:t.set||(t.set=function(){throw Error("Can not rewrite read-only method '"+n+"'")}))}))},toObjectSet:function(e,t){var n={},r=function(e){e.forEach((function(e){n[e]=!0}))};return p(e)?r(e):r(String(e).split(t)),n},toCamelCase:function(e){return e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function(e,t,n){return t.toUpperCase()+n}))},noop:function(){},toFiniteNumber:function(e,t){return e=+e,Number.isFinite(e)?e:t},findKey:j,global:N,isContextDefined:C,ALPHABET:D,generateString:function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:16,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:D.ALPHA_DIGIT,n="",r=t.length;e--;)n+=t[Math.random()*r|0];return n},isSpecCompliantForm:function(e){return!!(e&&v(e.append)&&"FormData"===e[Symbol.toStringTag]&&e[Symbol.iterator])},toJSONObject:function(e){var t=new Array(10);return function e(n,r){if(g(n)){if(t.indexOf(n)>=0)return;if(!("toJSON"in n)){t[r]=n;var o=p(n)?[]:{};return T(n,(function(t,n){var i=e(t,r+1);!h(i)&&(o[n]=i)})),t[r]=void 0,o}}return n}(e,0)},isAsyncFn:I,isThenable:function(e){return e&&(g(e)||v(e))&&v(e.then)&&v(e.catch)}};function M(e,t,n,r,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),o&&(this.response=o)}q.inherits(M,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:q.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});var z=M.prototype,H={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((function(e){H[e]={value:e}})),Object.defineProperties(M,H),Object.defineProperty(z,"isAxiosError",{value:!0}),M.from=function(e,t,n,r,o,i){var a=Object.create(z);return q.toFlatObject(e,a,(function(e){return e!==Error.prototype}),(function(e){return"isAxiosError"!==e})),M.call(a,e.message,t,n,r,o),a.cause=e,a.name=e.name,i&&Object.assign(a,i),a};function J(e){return q.isPlainObject(e)||q.isArray(e)}function W(e){return q.endsWith(e,"[]")?e.slice(0,-2):e}function K(e,t,n){return e?e.concat(t).map((function(e,t){return e=W(e),!n&&t?"["+e+"]":e})).join(n?".":""):t}var V=q.toFlatObject(q,{},null,(function(e){return/^is[A-Z]/.test(e)}));function G(t,n,r){if(!q.isObject(t))throw new TypeError("target must be an object");n=n||new FormData;var o=(r=q.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(e,t){return!q.isUndefined(t[e])}))).metaTokens,i=r.visitor||f,a=r.dots,s=r.indexes,u=(r.Blob||"undefined"!=typeof Blob&&Blob)&&q.isSpecCompliantForm(n);if(!q.isFunction(i))throw new TypeError("visitor must be a function");function c(e){if(null===e)return"";if(q.isDate(e))return e.toISOString();if(!u&&q.isBlob(e))throw new M("Blob is not supported. Use a Buffer instead.");return q.isArrayBuffer(e)||q.isTypedArray(e)?u&&"function"==typeof Blob?new Blob([e]):Buffer.from(e):e}function f(t,r,i){var u=t;if(t&&!i&&"object"===e(t))if(q.endsWith(r,"{}"))r=o?r:r.slice(0,-2),t=JSON.stringify(t);else if(q.isArray(t)&&function(e){return q.isArray(e)&&!e.some(J)}(t)||(q.isFileList(t)||q.endsWith(r,"[]"))&&(u=q.toArray(t)))return r=W(r),u.forEach((function(e,t){!q.isUndefined(e)&&null!==e&&n.append(!0===s?K([r],t,a):null===s?r:r+"[]",c(e))})),!1;return!!J(t)||(n.append(K(i,r,a),c(t)),!1)}var l=[],d=Object.assign(V,{defaultVisitor:f,convertValue:c,isVisitable:J});if(!q.isObject(t))throw new TypeError("data must be an object");return function e(t,r){if(!q.isUndefined(t)){if(-1!==l.indexOf(t))throw Error("Circular reference detected in "+r.join("."));l.push(t),q.forEach(t,(function(t,o){!0===(!(q.isUndefined(t)||null===t)&&i.call(n,t,q.isString(o)?o.trim():o,r,d))&&e(t,r?r.concat(o):[o])})),l.pop()}}(t),n}function $(e){var t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,(function(e){return t[e]}))}function X(e,t){this._pairs=[],e&&G(e,this,t)}var Q=X.prototype;function Z(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Y(e,t,n){if(!t)return e;var r,o=n&&n.encode||Z,i=n&&n.serialize;if(r=i?i(t,n):q.isURLSearchParams(t)?t.toString():new X(t,n).toString(o)){var a=e.indexOf("#");-1!==a&&(e=e.slice(0,a)),e+=(-1===e.indexOf("?")?"?":"&")+r}return e}Q.append=function(e,t){this._pairs.push([e,t])},Q.toString=function(e){var t=e?function(t){return e.call(this,t,$)}:$;return this._pairs.map((function(e){return t(e[0])+"="+t(e[1])}),"").join("&")};var ee,te=function(){function e(){t(this,e),this.handlers=[]}return r(e,[{key:"use",value:function(e,t,n){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1}},{key:"eject",value:function(e){this.handlers[e]&&(this.handlers[e]=null)}},{key:"clear",value:function(){this.handlers&&(this.handlers=[])}},{key:"forEach",value:function(e){q.forEach(this.handlers,(function(t){null!==t&&e(t)}))}}]),e}(),ne={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},re={isBrowser:!0,classes:{URLSearchParams:"undefined"!=typeof URLSearchParams?URLSearchParams:X,FormData:"undefined"!=typeof FormData?FormData:null,Blob:"undefined"!=typeof Blob?Blob:null},isStandardBrowserEnv:("undefined"==typeof navigator||"ReactNative"!==(ee=navigator.product)&&"NativeScript"!==ee&&"NS"!==ee)&&"undefined"!=typeof window&&"undefined"!=typeof document,isStandardBrowserWebWorkerEnv:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,protocols:["http","https","file","blob","url","data"]};function oe(e){function t(e,n,r,o){var i=e[o++],a=Number.isFinite(+i),s=o>=e.length;return i=!i&&q.isArray(r)?r.length:i,s?(q.hasOwnProp(r,i)?r[i]=[r[i],n]:r[i]=n,!a):(r[i]&&q.isObject(r[i])||(r[i]=[]),t(e,n,r[i],o)&&q.isArray(r[i])&&(r[i]=function(e){var t,n,r={},o=Object.keys(e),i=o.length;for(t=0;t-1,i=q.isObject(e);if(i&&q.isHTMLForm(e)&&(e=new FormData(e)),q.isFormData(e))return o&&o?JSON.stringify(oe(e)):e;if(q.isArrayBuffer(e)||q.isBuffer(e)||q.isStream(e)||q.isFile(e)||q.isBlob(e))return e;if(q.isArrayBufferView(e))return e.buffer;if(q.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();if(i){if(r.indexOf("application/x-www-form-urlencoded")>-1)return function(e,t){return G(e,new re.classes.URLSearchParams,Object.assign({visitor:function(e,t,n,r){return re.isNode&&q.isBuffer(e)?(this.append(t,e.toString("base64")),!1):r.defaultVisitor.apply(this,arguments)}},t))}(e,this.formSerializer).toString();if((n=q.isFileList(e))||r.indexOf("multipart/form-data")>-1){var a=this.env&&this.env.FormData;return G(n?{"files[]":e}:e,a&&new a,this.formSerializer)}}return i||o?(t.setContentType("application/json",!1),function(e,t,n){if(q.isString(e))try{return(t||JSON.parse)(e),q.trim(e)}catch(e){if("SyntaxError"!==e.name)throw e}return(n||JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){var t=this.transitional||ae.transitional,n=t&&t.forcedJSONParsing,r="json"===this.responseType;if(e&&q.isString(e)&&(n&&!this.responseType||r)){var o=!(t&&t.silentJSONParsing)&&r;try{return JSON.parse(e)}catch(e){if(o){if("SyntaxError"===e.name)throw M.from(e,M.ERR_BAD_RESPONSE,this,null,this.response);throw e}}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:re.classes.FormData,Blob:re.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};q.forEach(["delete","get","head"],(function(e){ae.headers[e]={}})),q.forEach(["post","put","patch"],(function(e){ae.headers[e]=q.merge(ie)}));var se=ae,ue=q.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),ce=Symbol("internals");function fe(e){return e&&String(e).trim().toLowerCase()}function le(e){return!1===e||null==e?e:q.isArray(e)?e.map(le):String(e)}function de(e,t,n,r,o){return q.isFunction(r)?r.call(this,t,n):(o&&(t=n),q.isString(t)?q.isString(r)?-1!==t.indexOf(r):q.isRegExp(r)?r.test(t):void 0:void 0)}var pe=function(e,n){function i(e){t(this,i),e&&this.set(e)}return r(i,[{key:"set",value:function(e,t,n){var r=this;function o(e,t,n){var o=fe(t);if(!o)throw new Error("header name must be a non-empty string");var i=q.findKey(r,o);(!i||void 0===r[i]||!0===n||void 0===n&&!1!==r[i])&&(r[i||t]=le(e))}var i,a,s,u,c,f=function(e,t){return q.forEach(e,(function(e,n){return o(e,n,t)}))};return q.isPlainObject(e)||e instanceof this.constructor?f(e,t):q.isString(e)&&(e=e.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim())?f((c={},(i=e)&&i.split("\n").forEach((function(e){u=e.indexOf(":"),a=e.substring(0,u).trim().toLowerCase(),s=e.substring(u+1).trim(),!a||c[a]&&ue[a]||("set-cookie"===a?c[a]?c[a].push(s):c[a]=[s]:c[a]=c[a]?c[a]+", "+s:s)})),c),t):null!=e&&o(t,e,n),this}},{key:"get",value:function(e,t){if(e=fe(e)){var n=q.findKey(this,e);if(n){var r=this[n];if(!t)return r;if(!0===t)return function(e){for(var t,n=Object.create(null),r=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;t=r.exec(e);)n[t[1]]=t[2];return n}(r);if(q.isFunction(t))return t.call(this,r,n);if(q.isRegExp(t))return t.exec(r);throw new TypeError("parser must be boolean|regexp|function")}}}},{key:"has",value:function(e,t){if(e=fe(e)){var n=q.findKey(this,e);return!(!n||void 0===this[n]||t&&!de(0,this[n],n,t))}return!1}},{key:"delete",value:function(e,t){var n=this,r=!1;function o(e){if(e=fe(e)){var o=q.findKey(n,e);!o||t&&!de(0,n[o],o,t)||(delete n[o],r=!0)}}return q.isArray(e)?e.forEach(o):o(e),r}},{key:"clear",value:function(e){for(var t=Object.keys(this),n=t.length,r=!1;n--;){var o=t[n];e&&!de(0,this[o],o,e,!0)||(delete this[o],r=!0)}return r}},{key:"normalize",value:function(e){var t=this,n={};return q.forEach(this,(function(r,o){var i=q.findKey(n,o);if(i)return t[i]=le(r),void delete t[o];var a=e?function(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(function(e,t,n){return t.toUpperCase()+n}))}(o):String(o).trim();a!==o&&delete t[o],t[a]=le(r),n[a]=!0})),this}},{key:"concat",value:function(){for(var e,t=arguments.length,n=new Array(t),r=0;r1?n-1:0),o=1;o0;){var a=o[i],s=n[a];if(s){var u=t[a],c=void 0===u||s(u,a,t);if(!0!==c)throw new M("option "+a+" must be "+c,M.ERR_BAD_OPTION_VALUE)}else if(!0!==r)throw new M("Unknown option "+a,M.ERR_BAD_OPTION)}},validators:Ce},ke=Pe.validators,Ue=function(){function e(n){t(this,e),this.defaults=n,this.interceptors={request:new te,response:new te}}return r(e,[{key:"request",value:function(e,t){"string"==typeof e?(t=t||{}).url=e:t=e||{};var n,r=t=je(this.defaults,t),o=r.transitional,i=r.paramsSerializer,a=r.headers;void 0!==o&&Pe.assertOptions(o,{silentJSONParsing:ke.transitional(ke.boolean),forcedJSONParsing:ke.transitional(ke.boolean),clarifyTimeoutError:ke.transitional(ke.boolean)},!1),null!=i&&(q.isFunction(i)?t.paramsSerializer={serialize:i}:Pe.assertOptions(i,{encode:ke.function,serialize:ke.function},!0)),t.method=(t.method||this.defaults.method||"get").toLowerCase(),(n=a&&q.merge(a.common,a[t.method]))&&q.forEach(["delete","get","head","post","put","patch","common"],(function(e){delete a[e]})),t.headers=he.concat(n,a);var s=[],u=!0;this.interceptors.request.forEach((function(e){"function"==typeof e.runWhen&&!1===e.runWhen(t)||(u=u&&e.synchronous,s.unshift(e.fulfilled,e.rejected))}));var c,f=[];this.interceptors.response.forEach((function(e){f.push(e.fulfilled,e.rejected)}));var l,d=0;if(!u){var p=[Ae.bind(this),void 0];for(p.unshift.apply(p,s),p.push.apply(p,f),l=p.length,c=Promise.resolve(t);d0;)o._listeners[t](e);o._listeners=null}})),this.promise.then=function(e){var t,n=new Promise((function(e){o.subscribe(e),t=e})).then(e);return n.cancel=function(){o.unsubscribe(t)},n},n((function(e,t,n){o.reason||(o.reason=new ve(e,t,n),r(o.reason))}))}return r(e,[{key:"throwIfRequested",value:function(){if(this.reason)throw this.reason}},{key:"subscribe",value:function(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]}},{key:"unsubscribe",value:function(e){if(this._listeners){var t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}}}],[{key:"source",value:function(){var t;return{token:new e((function(e){t=e})),cancel:t}}}]),e}();var Be={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Be).forEach((function(e){var t=o(e,2),n=t[0],r=t[1];Be[r]=n}));var Le=Be;var De=function e(t){var n=new _e(t),r=a(_e.prototype.request,n);return q.extend(r,_e.prototype,n,{allOwnKeys:!0}),q.extend(r,n,null,{allOwnKeys:!0}),r.create=function(n){return e(je(t,n))},r}(se);return De.Axios=_e,De.CanceledError=ve,De.CancelToken=Fe,De.isCancel=ye,De.VERSION=Ne,De.toFormData=G,De.AxiosError=M,De.Cancel=De.CanceledError,De.all=function(e){return Promise.all(e)},De.spread=function(e){return function(t){return e.apply(null,t)}},De.isAxiosError=function(e){return q.isObject(e)&&!0===e.isAxiosError},De.mergeConfig=je,De.AxiosHeaders=he,De.formToJSON=function(e){return oe(q.isHTMLForm(e)?new FormData(e):e)},De.HttpStatusCode=Le,De.default=De,De})); +//# sourceMappingURL=axios.min.js.map diff --git a/wwws/admin/src/static/lib/bootstrap-icons/font/bootstrap-icons.min.css b/wwws/admin/src/static/lib/bootstrap-icons/font/bootstrap-icons.min.css new file mode 100644 index 0000000..088ba56 --- /dev/null +++ b/wwws/admin/src/static/lib/bootstrap-icons/font/bootstrap-icons.min.css @@ -0,0 +1,5 @@ +/*! + * Bootstrap Icons v1.10.5 (https://icons.getbootstrap.com/) + * Copyright 2019-2023 The Bootstrap Authors + * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE) + */@font-face{font-display:block;font-family:bootstrap-icons;src:url("fonts/bootstrap-icons.woff2?1fa40e8900654d2863d011707b9fb6f2") format("woff2"),url("fonts/bootstrap-icons.woff?1fa40e8900654d2863d011707b9fb6f2") format("woff")}.bi::before,[class*=" bi-"]::before,[class^=bi-]::before{display:inline-block;font-family:bootstrap-icons!important;font-style:normal;font-weight:400!important;font-variant:normal;text-transform:none;line-height:1;vertical-align:-.125em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.bi-123::before{content:"\f67f"}.bi-alarm-fill::before{content:"\f101"}.bi-alarm::before{content:"\f102"}.bi-align-bottom::before{content:"\f103"}.bi-align-center::before{content:"\f104"}.bi-align-end::before{content:"\f105"}.bi-align-middle::before{content:"\f106"}.bi-align-start::before{content:"\f107"}.bi-align-top::before{content:"\f108"}.bi-alt::before{content:"\f109"}.bi-app-indicator::before{content:"\f10a"}.bi-app::before{content:"\f10b"}.bi-archive-fill::before{content:"\f10c"}.bi-archive::before{content:"\f10d"}.bi-arrow-90deg-down::before{content:"\f10e"}.bi-arrow-90deg-left::before{content:"\f10f"}.bi-arrow-90deg-right::before{content:"\f110"}.bi-arrow-90deg-up::before{content:"\f111"}.bi-arrow-bar-down::before{content:"\f112"}.bi-arrow-bar-left::before{content:"\f113"}.bi-arrow-bar-right::before{content:"\f114"}.bi-arrow-bar-up::before{content:"\f115"}.bi-arrow-clockwise::before{content:"\f116"}.bi-arrow-counterclockwise::before{content:"\f117"}.bi-arrow-down-circle-fill::before{content:"\f118"}.bi-arrow-down-circle::before{content:"\f119"}.bi-arrow-down-left-circle-fill::before{content:"\f11a"}.bi-arrow-down-left-circle::before{content:"\f11b"}.bi-arrow-down-left-square-fill::before{content:"\f11c"}.bi-arrow-down-left-square::before{content:"\f11d"}.bi-arrow-down-left::before{content:"\f11e"}.bi-arrow-down-right-circle-fill::before{content:"\f11f"}.bi-arrow-down-right-circle::before{content:"\f120"}.bi-arrow-down-right-square-fill::before{content:"\f121"}.bi-arrow-down-right-square::before{content:"\f122"}.bi-arrow-down-right::before{content:"\f123"}.bi-arrow-down-short::before{content:"\f124"}.bi-arrow-down-square-fill::before{content:"\f125"}.bi-arrow-down-square::before{content:"\f126"}.bi-arrow-down-up::before{content:"\f127"}.bi-arrow-down::before{content:"\f128"}.bi-arrow-left-circle-fill::before{content:"\f129"}.bi-arrow-left-circle::before{content:"\f12a"}.bi-arrow-left-right::before{content:"\f12b"}.bi-arrow-left-short::before{content:"\f12c"}.bi-arrow-left-square-fill::before{content:"\f12d"}.bi-arrow-left-square::before{content:"\f12e"}.bi-arrow-left::before{content:"\f12f"}.bi-arrow-repeat::before{content:"\f130"}.bi-arrow-return-left::before{content:"\f131"}.bi-arrow-return-right::before{content:"\f132"}.bi-arrow-right-circle-fill::before{content:"\f133"}.bi-arrow-right-circle::before{content:"\f134"}.bi-arrow-right-short::before{content:"\f135"}.bi-arrow-right-square-fill::before{content:"\f136"}.bi-arrow-right-square::before{content:"\f137"}.bi-arrow-right::before{content:"\f138"}.bi-arrow-up-circle-fill::before{content:"\f139"}.bi-arrow-up-circle::before{content:"\f13a"}.bi-arrow-up-left-circle-fill::before{content:"\f13b"}.bi-arrow-up-left-circle::before{content:"\f13c"}.bi-arrow-up-left-square-fill::before{content:"\f13d"}.bi-arrow-up-left-square::before{content:"\f13e"}.bi-arrow-up-left::before{content:"\f13f"}.bi-arrow-up-right-circle-fill::before{content:"\f140"}.bi-arrow-up-right-circle::before{content:"\f141"}.bi-arrow-up-right-square-fill::before{content:"\f142"}.bi-arrow-up-right-square::before{content:"\f143"}.bi-arrow-up-right::before{content:"\f144"}.bi-arrow-up-short::before{content:"\f145"}.bi-arrow-up-square-fill::before{content:"\f146"}.bi-arrow-up-square::before{content:"\f147"}.bi-arrow-up::before{content:"\f148"}.bi-arrows-angle-contract::before{content:"\f149"}.bi-arrows-angle-expand::before{content:"\f14a"}.bi-arrows-collapse::before{content:"\f14b"}.bi-arrows-expand::before{content:"\f14c"}.bi-arrows-fullscreen::before{content:"\f14d"}.bi-arrows-move::before{content:"\f14e"}.bi-aspect-ratio-fill::before{content:"\f14f"}.bi-aspect-ratio::before{content:"\f150"}.bi-asterisk::before{content:"\f151"}.bi-at::before{content:"\f152"}.bi-award-fill::before{content:"\f153"}.bi-award::before{content:"\f154"}.bi-back::before{content:"\f155"}.bi-backspace-fill::before{content:"\f156"}.bi-backspace-reverse-fill::before{content:"\f157"}.bi-backspace-reverse::before{content:"\f158"}.bi-backspace::before{content:"\f159"}.bi-badge-3d-fill::before{content:"\f15a"}.bi-badge-3d::before{content:"\f15b"}.bi-badge-4k-fill::before{content:"\f15c"}.bi-badge-4k::before{content:"\f15d"}.bi-badge-8k-fill::before{content:"\f15e"}.bi-badge-8k::before{content:"\f15f"}.bi-badge-ad-fill::before{content:"\f160"}.bi-badge-ad::before{content:"\f161"}.bi-badge-ar-fill::before{content:"\f162"}.bi-badge-ar::before{content:"\f163"}.bi-badge-cc-fill::before{content:"\f164"}.bi-badge-cc::before{content:"\f165"}.bi-badge-hd-fill::before{content:"\f166"}.bi-badge-hd::before{content:"\f167"}.bi-badge-tm-fill::before{content:"\f168"}.bi-badge-tm::before{content:"\f169"}.bi-badge-vo-fill::before{content:"\f16a"}.bi-badge-vo::before{content:"\f16b"}.bi-badge-vr-fill::before{content:"\f16c"}.bi-badge-vr::before{content:"\f16d"}.bi-badge-wc-fill::before{content:"\f16e"}.bi-badge-wc::before{content:"\f16f"}.bi-bag-check-fill::before{content:"\f170"}.bi-bag-check::before{content:"\f171"}.bi-bag-dash-fill::before{content:"\f172"}.bi-bag-dash::before{content:"\f173"}.bi-bag-fill::before{content:"\f174"}.bi-bag-plus-fill::before{content:"\f175"}.bi-bag-plus::before{content:"\f176"}.bi-bag-x-fill::before{content:"\f177"}.bi-bag-x::before{content:"\f178"}.bi-bag::before{content:"\f179"}.bi-bar-chart-fill::before{content:"\f17a"}.bi-bar-chart-line-fill::before{content:"\f17b"}.bi-bar-chart-line::before{content:"\f17c"}.bi-bar-chart-steps::before{content:"\f17d"}.bi-bar-chart::before{content:"\f17e"}.bi-basket-fill::before{content:"\f17f"}.bi-basket::before{content:"\f180"}.bi-basket2-fill::before{content:"\f181"}.bi-basket2::before{content:"\f182"}.bi-basket3-fill::before{content:"\f183"}.bi-basket3::before{content:"\f184"}.bi-battery-charging::before{content:"\f185"}.bi-battery-full::before{content:"\f186"}.bi-battery-half::before{content:"\f187"}.bi-battery::before{content:"\f188"}.bi-bell-fill::before{content:"\f189"}.bi-bell::before{content:"\f18a"}.bi-bezier::before{content:"\f18b"}.bi-bezier2::before{content:"\f18c"}.bi-bicycle::before{content:"\f18d"}.bi-binoculars-fill::before{content:"\f18e"}.bi-binoculars::before{content:"\f18f"}.bi-blockquote-left::before{content:"\f190"}.bi-blockquote-right::before{content:"\f191"}.bi-book-fill::before{content:"\f192"}.bi-book-half::before{content:"\f193"}.bi-book::before{content:"\f194"}.bi-bookmark-check-fill::before{content:"\f195"}.bi-bookmark-check::before{content:"\f196"}.bi-bookmark-dash-fill::before{content:"\f197"}.bi-bookmark-dash::before{content:"\f198"}.bi-bookmark-fill::before{content:"\f199"}.bi-bookmark-heart-fill::before{content:"\f19a"}.bi-bookmark-heart::before{content:"\f19b"}.bi-bookmark-plus-fill::before{content:"\f19c"}.bi-bookmark-plus::before{content:"\f19d"}.bi-bookmark-star-fill::before{content:"\f19e"}.bi-bookmark-star::before{content:"\f19f"}.bi-bookmark-x-fill::before{content:"\f1a0"}.bi-bookmark-x::before{content:"\f1a1"}.bi-bookmark::before{content:"\f1a2"}.bi-bookmarks-fill::before{content:"\f1a3"}.bi-bookmarks::before{content:"\f1a4"}.bi-bookshelf::before{content:"\f1a5"}.bi-bootstrap-fill::before{content:"\f1a6"}.bi-bootstrap-reboot::before{content:"\f1a7"}.bi-bootstrap::before{content:"\f1a8"}.bi-border-all::before{content:"\f1a9"}.bi-border-bottom::before{content:"\f1aa"}.bi-border-center::before{content:"\f1ab"}.bi-border-inner::before{content:"\f1ac"}.bi-border-left::before{content:"\f1ad"}.bi-border-middle::before{content:"\f1ae"}.bi-border-outer::before{content:"\f1af"}.bi-border-right::before{content:"\f1b0"}.bi-border-style::before{content:"\f1b1"}.bi-border-top::before{content:"\f1b2"}.bi-border-width::before{content:"\f1b3"}.bi-border::before{content:"\f1b4"}.bi-bounding-box-circles::before{content:"\f1b5"}.bi-bounding-box::before{content:"\f1b6"}.bi-box-arrow-down-left::before{content:"\f1b7"}.bi-box-arrow-down-right::before{content:"\f1b8"}.bi-box-arrow-down::before{content:"\f1b9"}.bi-box-arrow-in-down-left::before{content:"\f1ba"}.bi-box-arrow-in-down-right::before{content:"\f1bb"}.bi-box-arrow-in-down::before{content:"\f1bc"}.bi-box-arrow-in-left::before{content:"\f1bd"}.bi-box-arrow-in-right::before{content:"\f1be"}.bi-box-arrow-in-up-left::before{content:"\f1bf"}.bi-box-arrow-in-up-right::before{content:"\f1c0"}.bi-box-arrow-in-up::before{content:"\f1c1"}.bi-box-arrow-left::before{content:"\f1c2"}.bi-box-arrow-right::before{content:"\f1c3"}.bi-box-arrow-up-left::before{content:"\f1c4"}.bi-box-arrow-up-right::before{content:"\f1c5"}.bi-box-arrow-up::before{content:"\f1c6"}.bi-box-seam::before{content:"\f1c7"}.bi-box::before{content:"\f1c8"}.bi-braces::before{content:"\f1c9"}.bi-bricks::before{content:"\f1ca"}.bi-briefcase-fill::before{content:"\f1cb"}.bi-briefcase::before{content:"\f1cc"}.bi-brightness-alt-high-fill::before{content:"\f1cd"}.bi-brightness-alt-high::before{content:"\f1ce"}.bi-brightness-alt-low-fill::before{content:"\f1cf"}.bi-brightness-alt-low::before{content:"\f1d0"}.bi-brightness-high-fill::before{content:"\f1d1"}.bi-brightness-high::before{content:"\f1d2"}.bi-brightness-low-fill::before{content:"\f1d3"}.bi-brightness-low::before{content:"\f1d4"}.bi-broadcast-pin::before{content:"\f1d5"}.bi-broadcast::before{content:"\f1d6"}.bi-brush-fill::before{content:"\f1d7"}.bi-brush::before{content:"\f1d8"}.bi-bucket-fill::before{content:"\f1d9"}.bi-bucket::before{content:"\f1da"}.bi-bug-fill::before{content:"\f1db"}.bi-bug::before{content:"\f1dc"}.bi-building::before{content:"\f1dd"}.bi-bullseye::before{content:"\f1de"}.bi-calculator-fill::before{content:"\f1df"}.bi-calculator::before{content:"\f1e0"}.bi-calendar-check-fill::before{content:"\f1e1"}.bi-calendar-check::before{content:"\f1e2"}.bi-calendar-date-fill::before{content:"\f1e3"}.bi-calendar-date::before{content:"\f1e4"}.bi-calendar-day-fill::before{content:"\f1e5"}.bi-calendar-day::before{content:"\f1e6"}.bi-calendar-event-fill::before{content:"\f1e7"}.bi-calendar-event::before{content:"\f1e8"}.bi-calendar-fill::before{content:"\f1e9"}.bi-calendar-minus-fill::before{content:"\f1ea"}.bi-calendar-minus::before{content:"\f1eb"}.bi-calendar-month-fill::before{content:"\f1ec"}.bi-calendar-month::before{content:"\f1ed"}.bi-calendar-plus-fill::before{content:"\f1ee"}.bi-calendar-plus::before{content:"\f1ef"}.bi-calendar-range-fill::before{content:"\f1f0"}.bi-calendar-range::before{content:"\f1f1"}.bi-calendar-week-fill::before{content:"\f1f2"}.bi-calendar-week::before{content:"\f1f3"}.bi-calendar-x-fill::before{content:"\f1f4"}.bi-calendar-x::before{content:"\f1f5"}.bi-calendar::before{content:"\f1f6"}.bi-calendar2-check-fill::before{content:"\f1f7"}.bi-calendar2-check::before{content:"\f1f8"}.bi-calendar2-date-fill::before{content:"\f1f9"}.bi-calendar2-date::before{content:"\f1fa"}.bi-calendar2-day-fill::before{content:"\f1fb"}.bi-calendar2-day::before{content:"\f1fc"}.bi-calendar2-event-fill::before{content:"\f1fd"}.bi-calendar2-event::before{content:"\f1fe"}.bi-calendar2-fill::before{content:"\f1ff"}.bi-calendar2-minus-fill::before{content:"\f200"}.bi-calendar2-minus::before{content:"\f201"}.bi-calendar2-month-fill::before{content:"\f202"}.bi-calendar2-month::before{content:"\f203"}.bi-calendar2-plus-fill::before{content:"\f204"}.bi-calendar2-plus::before{content:"\f205"}.bi-calendar2-range-fill::before{content:"\f206"}.bi-calendar2-range::before{content:"\f207"}.bi-calendar2-week-fill::before{content:"\f208"}.bi-calendar2-week::before{content:"\f209"}.bi-calendar2-x-fill::before{content:"\f20a"}.bi-calendar2-x::before{content:"\f20b"}.bi-calendar2::before{content:"\f20c"}.bi-calendar3-event-fill::before{content:"\f20d"}.bi-calendar3-event::before{content:"\f20e"}.bi-calendar3-fill::before{content:"\f20f"}.bi-calendar3-range-fill::before{content:"\f210"}.bi-calendar3-range::before{content:"\f211"}.bi-calendar3-week-fill::before{content:"\f212"}.bi-calendar3-week::before{content:"\f213"}.bi-calendar3::before{content:"\f214"}.bi-calendar4-event::before{content:"\f215"}.bi-calendar4-range::before{content:"\f216"}.bi-calendar4-week::before{content:"\f217"}.bi-calendar4::before{content:"\f218"}.bi-camera-fill::before{content:"\f219"}.bi-camera-reels-fill::before{content:"\f21a"}.bi-camera-reels::before{content:"\f21b"}.bi-camera-video-fill::before{content:"\f21c"}.bi-camera-video-off-fill::before{content:"\f21d"}.bi-camera-video-off::before{content:"\f21e"}.bi-camera-video::before{content:"\f21f"}.bi-camera::before{content:"\f220"}.bi-camera2::before{content:"\f221"}.bi-capslock-fill::before{content:"\f222"}.bi-capslock::before{content:"\f223"}.bi-card-checklist::before{content:"\f224"}.bi-card-heading::before{content:"\f225"}.bi-card-image::before{content:"\f226"}.bi-card-list::before{content:"\f227"}.bi-card-text::before{content:"\f228"}.bi-caret-down-fill::before{content:"\f229"}.bi-caret-down-square-fill::before{content:"\f22a"}.bi-caret-down-square::before{content:"\f22b"}.bi-caret-down::before{content:"\f22c"}.bi-caret-left-fill::before{content:"\f22d"}.bi-caret-left-square-fill::before{content:"\f22e"}.bi-caret-left-square::before{content:"\f22f"}.bi-caret-left::before{content:"\f230"}.bi-caret-right-fill::before{content:"\f231"}.bi-caret-right-square-fill::before{content:"\f232"}.bi-caret-right-square::before{content:"\f233"}.bi-caret-right::before{content:"\f234"}.bi-caret-up-fill::before{content:"\f235"}.bi-caret-up-square-fill::before{content:"\f236"}.bi-caret-up-square::before{content:"\f237"}.bi-caret-up::before{content:"\f238"}.bi-cart-check-fill::before{content:"\f239"}.bi-cart-check::before{content:"\f23a"}.bi-cart-dash-fill::before{content:"\f23b"}.bi-cart-dash::before{content:"\f23c"}.bi-cart-fill::before{content:"\f23d"}.bi-cart-plus-fill::before{content:"\f23e"}.bi-cart-plus::before{content:"\f23f"}.bi-cart-x-fill::before{content:"\f240"}.bi-cart-x::before{content:"\f241"}.bi-cart::before{content:"\f242"}.bi-cart2::before{content:"\f243"}.bi-cart3::before{content:"\f244"}.bi-cart4::before{content:"\f245"}.bi-cash-stack::before{content:"\f246"}.bi-cash::before{content:"\f247"}.bi-cast::before{content:"\f248"}.bi-chat-dots-fill::before{content:"\f249"}.bi-chat-dots::before{content:"\f24a"}.bi-chat-fill::before{content:"\f24b"}.bi-chat-left-dots-fill::before{content:"\f24c"}.bi-chat-left-dots::before{content:"\f24d"}.bi-chat-left-fill::before{content:"\f24e"}.bi-chat-left-quote-fill::before{content:"\f24f"}.bi-chat-left-quote::before{content:"\f250"}.bi-chat-left-text-fill::before{content:"\f251"}.bi-chat-left-text::before{content:"\f252"}.bi-chat-left::before{content:"\f253"}.bi-chat-quote-fill::before{content:"\f254"}.bi-chat-quote::before{content:"\f255"}.bi-chat-right-dots-fill::before{content:"\f256"}.bi-chat-right-dots::before{content:"\f257"}.bi-chat-right-fill::before{content:"\f258"}.bi-chat-right-quote-fill::before{content:"\f259"}.bi-chat-right-quote::before{content:"\f25a"}.bi-chat-right-text-fill::before{content:"\f25b"}.bi-chat-right-text::before{content:"\f25c"}.bi-chat-right::before{content:"\f25d"}.bi-chat-square-dots-fill::before{content:"\f25e"}.bi-chat-square-dots::before{content:"\f25f"}.bi-chat-square-fill::before{content:"\f260"}.bi-chat-square-quote-fill::before{content:"\f261"}.bi-chat-square-quote::before{content:"\f262"}.bi-chat-square-text-fill::before{content:"\f263"}.bi-chat-square-text::before{content:"\f264"}.bi-chat-square::before{content:"\f265"}.bi-chat-text-fill::before{content:"\f266"}.bi-chat-text::before{content:"\f267"}.bi-chat::before{content:"\f268"}.bi-check-all::before{content:"\f269"}.bi-check-circle-fill::before{content:"\f26a"}.bi-check-circle::before{content:"\f26b"}.bi-check-square-fill::before{content:"\f26c"}.bi-check-square::before{content:"\f26d"}.bi-check::before{content:"\f26e"}.bi-check2-all::before{content:"\f26f"}.bi-check2-circle::before{content:"\f270"}.bi-check2-square::before{content:"\f271"}.bi-check2::before{content:"\f272"}.bi-chevron-bar-contract::before{content:"\f273"}.bi-chevron-bar-down::before{content:"\f274"}.bi-chevron-bar-expand::before{content:"\f275"}.bi-chevron-bar-left::before{content:"\f276"}.bi-chevron-bar-right::before{content:"\f277"}.bi-chevron-bar-up::before{content:"\f278"}.bi-chevron-compact-down::before{content:"\f279"}.bi-chevron-compact-left::before{content:"\f27a"}.bi-chevron-compact-right::before{content:"\f27b"}.bi-chevron-compact-up::before{content:"\f27c"}.bi-chevron-contract::before{content:"\f27d"}.bi-chevron-double-down::before{content:"\f27e"}.bi-chevron-double-left::before{content:"\f27f"}.bi-chevron-double-right::before{content:"\f280"}.bi-chevron-double-up::before{content:"\f281"}.bi-chevron-down::before{content:"\f282"}.bi-chevron-expand::before{content:"\f283"}.bi-chevron-left::before{content:"\f284"}.bi-chevron-right::before{content:"\f285"}.bi-chevron-up::before{content:"\f286"}.bi-circle-fill::before{content:"\f287"}.bi-circle-half::before{content:"\f288"}.bi-circle-square::before{content:"\f289"}.bi-circle::before{content:"\f28a"}.bi-clipboard-check::before{content:"\f28b"}.bi-clipboard-data::before{content:"\f28c"}.bi-clipboard-minus::before{content:"\f28d"}.bi-clipboard-plus::before{content:"\f28e"}.bi-clipboard-x::before{content:"\f28f"}.bi-clipboard::before{content:"\f290"}.bi-clock-fill::before{content:"\f291"}.bi-clock-history::before{content:"\f292"}.bi-clock::before{content:"\f293"}.bi-cloud-arrow-down-fill::before{content:"\f294"}.bi-cloud-arrow-down::before{content:"\f295"}.bi-cloud-arrow-up-fill::before{content:"\f296"}.bi-cloud-arrow-up::before{content:"\f297"}.bi-cloud-check-fill::before{content:"\f298"}.bi-cloud-check::before{content:"\f299"}.bi-cloud-download-fill::before{content:"\f29a"}.bi-cloud-download::before{content:"\f29b"}.bi-cloud-drizzle-fill::before{content:"\f29c"}.bi-cloud-drizzle::before{content:"\f29d"}.bi-cloud-fill::before{content:"\f29e"}.bi-cloud-fog-fill::before{content:"\f29f"}.bi-cloud-fog::before{content:"\f2a0"}.bi-cloud-fog2-fill::before{content:"\f2a1"}.bi-cloud-fog2::before{content:"\f2a2"}.bi-cloud-hail-fill::before{content:"\f2a3"}.bi-cloud-hail::before{content:"\f2a4"}.bi-cloud-haze-fill::before{content:"\f2a6"}.bi-cloud-haze::before{content:"\f2a7"}.bi-cloud-haze2-fill::before{content:"\f2a8"}.bi-cloud-lightning-fill::before{content:"\f2a9"}.bi-cloud-lightning-rain-fill::before{content:"\f2aa"}.bi-cloud-lightning-rain::before{content:"\f2ab"}.bi-cloud-lightning::before{content:"\f2ac"}.bi-cloud-minus-fill::before{content:"\f2ad"}.bi-cloud-minus::before{content:"\f2ae"}.bi-cloud-moon-fill::before{content:"\f2af"}.bi-cloud-moon::before{content:"\f2b0"}.bi-cloud-plus-fill::before{content:"\f2b1"}.bi-cloud-plus::before{content:"\f2b2"}.bi-cloud-rain-fill::before{content:"\f2b3"}.bi-cloud-rain-heavy-fill::before{content:"\f2b4"}.bi-cloud-rain-heavy::before{content:"\f2b5"}.bi-cloud-rain::before{content:"\f2b6"}.bi-cloud-slash-fill::before{content:"\f2b7"}.bi-cloud-slash::before{content:"\f2b8"}.bi-cloud-sleet-fill::before{content:"\f2b9"}.bi-cloud-sleet::before{content:"\f2ba"}.bi-cloud-snow-fill::before{content:"\f2bb"}.bi-cloud-snow::before{content:"\f2bc"}.bi-cloud-sun-fill::before{content:"\f2bd"}.bi-cloud-sun::before{content:"\f2be"}.bi-cloud-upload-fill::before{content:"\f2bf"}.bi-cloud-upload::before{content:"\f2c0"}.bi-cloud::before{content:"\f2c1"}.bi-clouds-fill::before{content:"\f2c2"}.bi-clouds::before{content:"\f2c3"}.bi-cloudy-fill::before{content:"\f2c4"}.bi-cloudy::before{content:"\f2c5"}.bi-code-slash::before{content:"\f2c6"}.bi-code-square::before{content:"\f2c7"}.bi-code::before{content:"\f2c8"}.bi-collection-fill::before{content:"\f2c9"}.bi-collection-play-fill::before{content:"\f2ca"}.bi-collection-play::before{content:"\f2cb"}.bi-collection::before{content:"\f2cc"}.bi-columns-gap::before{content:"\f2cd"}.bi-columns::before{content:"\f2ce"}.bi-command::before{content:"\f2cf"}.bi-compass-fill::before{content:"\f2d0"}.bi-compass::before{content:"\f2d1"}.bi-cone-striped::before{content:"\f2d2"}.bi-cone::before{content:"\f2d3"}.bi-controller::before{content:"\f2d4"}.bi-cpu-fill::before{content:"\f2d5"}.bi-cpu::before{content:"\f2d6"}.bi-credit-card-2-back-fill::before{content:"\f2d7"}.bi-credit-card-2-back::before{content:"\f2d8"}.bi-credit-card-2-front-fill::before{content:"\f2d9"}.bi-credit-card-2-front::before{content:"\f2da"}.bi-credit-card-fill::before{content:"\f2db"}.bi-credit-card::before{content:"\f2dc"}.bi-crop::before{content:"\f2dd"}.bi-cup-fill::before{content:"\f2de"}.bi-cup-straw::before{content:"\f2df"}.bi-cup::before{content:"\f2e0"}.bi-cursor-fill::before{content:"\f2e1"}.bi-cursor-text::before{content:"\f2e2"}.bi-cursor::before{content:"\f2e3"}.bi-dash-circle-dotted::before{content:"\f2e4"}.bi-dash-circle-fill::before{content:"\f2e5"}.bi-dash-circle::before{content:"\f2e6"}.bi-dash-square-dotted::before{content:"\f2e7"}.bi-dash-square-fill::before{content:"\f2e8"}.bi-dash-square::before{content:"\f2e9"}.bi-dash::before{content:"\f2ea"}.bi-diagram-2-fill::before{content:"\f2eb"}.bi-diagram-2::before{content:"\f2ec"}.bi-diagram-3-fill::before{content:"\f2ed"}.bi-diagram-3::before{content:"\f2ee"}.bi-diamond-fill::before{content:"\f2ef"}.bi-diamond-half::before{content:"\f2f0"}.bi-diamond::before{content:"\f2f1"}.bi-dice-1-fill::before{content:"\f2f2"}.bi-dice-1::before{content:"\f2f3"}.bi-dice-2-fill::before{content:"\f2f4"}.bi-dice-2::before{content:"\f2f5"}.bi-dice-3-fill::before{content:"\f2f6"}.bi-dice-3::before{content:"\f2f7"}.bi-dice-4-fill::before{content:"\f2f8"}.bi-dice-4::before{content:"\f2f9"}.bi-dice-5-fill::before{content:"\f2fa"}.bi-dice-5::before{content:"\f2fb"}.bi-dice-6-fill::before{content:"\f2fc"}.bi-dice-6::before{content:"\f2fd"}.bi-disc-fill::before{content:"\f2fe"}.bi-disc::before{content:"\f2ff"}.bi-discord::before{content:"\f300"}.bi-display-fill::before{content:"\f301"}.bi-display::before{content:"\f302"}.bi-distribute-horizontal::before{content:"\f303"}.bi-distribute-vertical::before{content:"\f304"}.bi-door-closed-fill::before{content:"\f305"}.bi-door-closed::before{content:"\f306"}.bi-door-open-fill::before{content:"\f307"}.bi-door-open::before{content:"\f308"}.bi-dot::before{content:"\f309"}.bi-download::before{content:"\f30a"}.bi-droplet-fill::before{content:"\f30b"}.bi-droplet-half::before{content:"\f30c"}.bi-droplet::before{content:"\f30d"}.bi-earbuds::before{content:"\f30e"}.bi-easel-fill::before{content:"\f30f"}.bi-easel::before{content:"\f310"}.bi-egg-fill::before{content:"\f311"}.bi-egg-fried::before{content:"\f312"}.bi-egg::before{content:"\f313"}.bi-eject-fill::before{content:"\f314"}.bi-eject::before{content:"\f315"}.bi-emoji-angry-fill::before{content:"\f316"}.bi-emoji-angry::before{content:"\f317"}.bi-emoji-dizzy-fill::before{content:"\f318"}.bi-emoji-dizzy::before{content:"\f319"}.bi-emoji-expressionless-fill::before{content:"\f31a"}.bi-emoji-expressionless::before{content:"\f31b"}.bi-emoji-frown-fill::before{content:"\f31c"}.bi-emoji-frown::before{content:"\f31d"}.bi-emoji-heart-eyes-fill::before{content:"\f31e"}.bi-emoji-heart-eyes::before{content:"\f31f"}.bi-emoji-laughing-fill::before{content:"\f320"}.bi-emoji-laughing::before{content:"\f321"}.bi-emoji-neutral-fill::before{content:"\f322"}.bi-emoji-neutral::before{content:"\f323"}.bi-emoji-smile-fill::before{content:"\f324"}.bi-emoji-smile-upside-down-fill::before{content:"\f325"}.bi-emoji-smile-upside-down::before{content:"\f326"}.bi-emoji-smile::before{content:"\f327"}.bi-emoji-sunglasses-fill::before{content:"\f328"}.bi-emoji-sunglasses::before{content:"\f329"}.bi-emoji-wink-fill::before{content:"\f32a"}.bi-emoji-wink::before{content:"\f32b"}.bi-envelope-fill::before{content:"\f32c"}.bi-envelope-open-fill::before{content:"\f32d"}.bi-envelope-open::before{content:"\f32e"}.bi-envelope::before{content:"\f32f"}.bi-eraser-fill::before{content:"\f330"}.bi-eraser::before{content:"\f331"}.bi-exclamation-circle-fill::before{content:"\f332"}.bi-exclamation-circle::before{content:"\f333"}.bi-exclamation-diamond-fill::before{content:"\f334"}.bi-exclamation-diamond::before{content:"\f335"}.bi-exclamation-octagon-fill::before{content:"\f336"}.bi-exclamation-octagon::before{content:"\f337"}.bi-exclamation-square-fill::before{content:"\f338"}.bi-exclamation-square::before{content:"\f339"}.bi-exclamation-triangle-fill::before{content:"\f33a"}.bi-exclamation-triangle::before{content:"\f33b"}.bi-exclamation::before{content:"\f33c"}.bi-exclude::before{content:"\f33d"}.bi-eye-fill::before{content:"\f33e"}.bi-eye-slash-fill::before{content:"\f33f"}.bi-eye-slash::before{content:"\f340"}.bi-eye::before{content:"\f341"}.bi-eyedropper::before{content:"\f342"}.bi-eyeglasses::before{content:"\f343"}.bi-facebook::before{content:"\f344"}.bi-file-arrow-down-fill::before{content:"\f345"}.bi-file-arrow-down::before{content:"\f346"}.bi-file-arrow-up-fill::before{content:"\f347"}.bi-file-arrow-up::before{content:"\f348"}.bi-file-bar-graph-fill::before{content:"\f349"}.bi-file-bar-graph::before{content:"\f34a"}.bi-file-binary-fill::before{content:"\f34b"}.bi-file-binary::before{content:"\f34c"}.bi-file-break-fill::before{content:"\f34d"}.bi-file-break::before{content:"\f34e"}.bi-file-check-fill::before{content:"\f34f"}.bi-file-check::before{content:"\f350"}.bi-file-code-fill::before{content:"\f351"}.bi-file-code::before{content:"\f352"}.bi-file-diff-fill::before{content:"\f353"}.bi-file-diff::before{content:"\f354"}.bi-file-earmark-arrow-down-fill::before{content:"\f355"}.bi-file-earmark-arrow-down::before{content:"\f356"}.bi-file-earmark-arrow-up-fill::before{content:"\f357"}.bi-file-earmark-arrow-up::before{content:"\f358"}.bi-file-earmark-bar-graph-fill::before{content:"\f359"}.bi-file-earmark-bar-graph::before{content:"\f35a"}.bi-file-earmark-binary-fill::before{content:"\f35b"}.bi-file-earmark-binary::before{content:"\f35c"}.bi-file-earmark-break-fill::before{content:"\f35d"}.bi-file-earmark-break::before{content:"\f35e"}.bi-file-earmark-check-fill::before{content:"\f35f"}.bi-file-earmark-check::before{content:"\f360"}.bi-file-earmark-code-fill::before{content:"\f361"}.bi-file-earmark-code::before{content:"\f362"}.bi-file-earmark-diff-fill::before{content:"\f363"}.bi-file-earmark-diff::before{content:"\f364"}.bi-file-earmark-easel-fill::before{content:"\f365"}.bi-file-earmark-easel::before{content:"\f366"}.bi-file-earmark-excel-fill::before{content:"\f367"}.bi-file-earmark-excel::before{content:"\f368"}.bi-file-earmark-fill::before{content:"\f369"}.bi-file-earmark-font-fill::before{content:"\f36a"}.bi-file-earmark-font::before{content:"\f36b"}.bi-file-earmark-image-fill::before{content:"\f36c"}.bi-file-earmark-image::before{content:"\f36d"}.bi-file-earmark-lock-fill::before{content:"\f36e"}.bi-file-earmark-lock::before{content:"\f36f"}.bi-file-earmark-lock2-fill::before{content:"\f370"}.bi-file-earmark-lock2::before{content:"\f371"}.bi-file-earmark-medical-fill::before{content:"\f372"}.bi-file-earmark-medical::before{content:"\f373"}.bi-file-earmark-minus-fill::before{content:"\f374"}.bi-file-earmark-minus::before{content:"\f375"}.bi-file-earmark-music-fill::before{content:"\f376"}.bi-file-earmark-music::before{content:"\f377"}.bi-file-earmark-person-fill::before{content:"\f378"}.bi-file-earmark-person::before{content:"\f379"}.bi-file-earmark-play-fill::before{content:"\f37a"}.bi-file-earmark-play::before{content:"\f37b"}.bi-file-earmark-plus-fill::before{content:"\f37c"}.bi-file-earmark-plus::before{content:"\f37d"}.bi-file-earmark-post-fill::before{content:"\f37e"}.bi-file-earmark-post::before{content:"\f37f"}.bi-file-earmark-ppt-fill::before{content:"\f380"}.bi-file-earmark-ppt::before{content:"\f381"}.bi-file-earmark-richtext-fill::before{content:"\f382"}.bi-file-earmark-richtext::before{content:"\f383"}.bi-file-earmark-ruled-fill::before{content:"\f384"}.bi-file-earmark-ruled::before{content:"\f385"}.bi-file-earmark-slides-fill::before{content:"\f386"}.bi-file-earmark-slides::before{content:"\f387"}.bi-file-earmark-spreadsheet-fill::before{content:"\f388"}.bi-file-earmark-spreadsheet::before{content:"\f389"}.bi-file-earmark-text-fill::before{content:"\f38a"}.bi-file-earmark-text::before{content:"\f38b"}.bi-file-earmark-word-fill::before{content:"\f38c"}.bi-file-earmark-word::before{content:"\f38d"}.bi-file-earmark-x-fill::before{content:"\f38e"}.bi-file-earmark-x::before{content:"\f38f"}.bi-file-earmark-zip-fill::before{content:"\f390"}.bi-file-earmark-zip::before{content:"\f391"}.bi-file-earmark::before{content:"\f392"}.bi-file-easel-fill::before{content:"\f393"}.bi-file-easel::before{content:"\f394"}.bi-file-excel-fill::before{content:"\f395"}.bi-file-excel::before{content:"\f396"}.bi-file-fill::before{content:"\f397"}.bi-file-font-fill::before{content:"\f398"}.bi-file-font::before{content:"\f399"}.bi-file-image-fill::before{content:"\f39a"}.bi-file-image::before{content:"\f39b"}.bi-file-lock-fill::before{content:"\f39c"}.bi-file-lock::before{content:"\f39d"}.bi-file-lock2-fill::before{content:"\f39e"}.bi-file-lock2::before{content:"\f39f"}.bi-file-medical-fill::before{content:"\f3a0"}.bi-file-medical::before{content:"\f3a1"}.bi-file-minus-fill::before{content:"\f3a2"}.bi-file-minus::before{content:"\f3a3"}.bi-file-music-fill::before{content:"\f3a4"}.bi-file-music::before{content:"\f3a5"}.bi-file-person-fill::before{content:"\f3a6"}.bi-file-person::before{content:"\f3a7"}.bi-file-play-fill::before{content:"\f3a8"}.bi-file-play::before{content:"\f3a9"}.bi-file-plus-fill::before{content:"\f3aa"}.bi-file-plus::before{content:"\f3ab"}.bi-file-post-fill::before{content:"\f3ac"}.bi-file-post::before{content:"\f3ad"}.bi-file-ppt-fill::before{content:"\f3ae"}.bi-file-ppt::before{content:"\f3af"}.bi-file-richtext-fill::before{content:"\f3b0"}.bi-file-richtext::before{content:"\f3b1"}.bi-file-ruled-fill::before{content:"\f3b2"}.bi-file-ruled::before{content:"\f3b3"}.bi-file-slides-fill::before{content:"\f3b4"}.bi-file-slides::before{content:"\f3b5"}.bi-file-spreadsheet-fill::before{content:"\f3b6"}.bi-file-spreadsheet::before{content:"\f3b7"}.bi-file-text-fill::before{content:"\f3b8"}.bi-file-text::before{content:"\f3b9"}.bi-file-word-fill::before{content:"\f3ba"}.bi-file-word::before{content:"\f3bb"}.bi-file-x-fill::before{content:"\f3bc"}.bi-file-x::before{content:"\f3bd"}.bi-file-zip-fill::before{content:"\f3be"}.bi-file-zip::before{content:"\f3bf"}.bi-file::before{content:"\f3c0"}.bi-files-alt::before{content:"\f3c1"}.bi-files::before{content:"\f3c2"}.bi-film::before{content:"\f3c3"}.bi-filter-circle-fill::before{content:"\f3c4"}.bi-filter-circle::before{content:"\f3c5"}.bi-filter-left::before{content:"\f3c6"}.bi-filter-right::before{content:"\f3c7"}.bi-filter-square-fill::before{content:"\f3c8"}.bi-filter-square::before{content:"\f3c9"}.bi-filter::before{content:"\f3ca"}.bi-flag-fill::before{content:"\f3cb"}.bi-flag::before{content:"\f3cc"}.bi-flower1::before{content:"\f3cd"}.bi-flower2::before{content:"\f3ce"}.bi-flower3::before{content:"\f3cf"}.bi-folder-check::before{content:"\f3d0"}.bi-folder-fill::before{content:"\f3d1"}.bi-folder-minus::before{content:"\f3d2"}.bi-folder-plus::before{content:"\f3d3"}.bi-folder-symlink-fill::before{content:"\f3d4"}.bi-folder-symlink::before{content:"\f3d5"}.bi-folder-x::before{content:"\f3d6"}.bi-folder::before{content:"\f3d7"}.bi-folder2-open::before{content:"\f3d8"}.bi-folder2::before{content:"\f3d9"}.bi-fonts::before{content:"\f3da"}.bi-forward-fill::before{content:"\f3db"}.bi-forward::before{content:"\f3dc"}.bi-front::before{content:"\f3dd"}.bi-fullscreen-exit::before{content:"\f3de"}.bi-fullscreen::before{content:"\f3df"}.bi-funnel-fill::before{content:"\f3e0"}.bi-funnel::before{content:"\f3e1"}.bi-gear-fill::before{content:"\f3e2"}.bi-gear-wide-connected::before{content:"\f3e3"}.bi-gear-wide::before{content:"\f3e4"}.bi-gear::before{content:"\f3e5"}.bi-gem::before{content:"\f3e6"}.bi-geo-alt-fill::before{content:"\f3e7"}.bi-geo-alt::before{content:"\f3e8"}.bi-geo-fill::before{content:"\f3e9"}.bi-geo::before{content:"\f3ea"}.bi-gift-fill::before{content:"\f3eb"}.bi-gift::before{content:"\f3ec"}.bi-github::before{content:"\f3ed"}.bi-globe::before{content:"\f3ee"}.bi-globe2::before{content:"\f3ef"}.bi-google::before{content:"\f3f0"}.bi-graph-down::before{content:"\f3f1"}.bi-graph-up::before{content:"\f3f2"}.bi-grid-1x2-fill::before{content:"\f3f3"}.bi-grid-1x2::before{content:"\f3f4"}.bi-grid-3x2-gap-fill::before{content:"\f3f5"}.bi-grid-3x2-gap::before{content:"\f3f6"}.bi-grid-3x2::before{content:"\f3f7"}.bi-grid-3x3-gap-fill::before{content:"\f3f8"}.bi-grid-3x3-gap::before{content:"\f3f9"}.bi-grid-3x3::before{content:"\f3fa"}.bi-grid-fill::before{content:"\f3fb"}.bi-grid::before{content:"\f3fc"}.bi-grip-horizontal::before{content:"\f3fd"}.bi-grip-vertical::before{content:"\f3fe"}.bi-hammer::before{content:"\f3ff"}.bi-hand-index-fill::before{content:"\f400"}.bi-hand-index-thumb-fill::before{content:"\f401"}.bi-hand-index-thumb::before{content:"\f402"}.bi-hand-index::before{content:"\f403"}.bi-hand-thumbs-down-fill::before{content:"\f404"}.bi-hand-thumbs-down::before{content:"\f405"}.bi-hand-thumbs-up-fill::before{content:"\f406"}.bi-hand-thumbs-up::before{content:"\f407"}.bi-handbag-fill::before{content:"\f408"}.bi-handbag::before{content:"\f409"}.bi-hash::before{content:"\f40a"}.bi-hdd-fill::before{content:"\f40b"}.bi-hdd-network-fill::before{content:"\f40c"}.bi-hdd-network::before{content:"\f40d"}.bi-hdd-rack-fill::before{content:"\f40e"}.bi-hdd-rack::before{content:"\f40f"}.bi-hdd-stack-fill::before{content:"\f410"}.bi-hdd-stack::before{content:"\f411"}.bi-hdd::before{content:"\f412"}.bi-headphones::before{content:"\f413"}.bi-headset::before{content:"\f414"}.bi-heart-fill::before{content:"\f415"}.bi-heart-half::before{content:"\f416"}.bi-heart::before{content:"\f417"}.bi-heptagon-fill::before{content:"\f418"}.bi-heptagon-half::before{content:"\f419"}.bi-heptagon::before{content:"\f41a"}.bi-hexagon-fill::before{content:"\f41b"}.bi-hexagon-half::before{content:"\f41c"}.bi-hexagon::before{content:"\f41d"}.bi-hourglass-bottom::before{content:"\f41e"}.bi-hourglass-split::before{content:"\f41f"}.bi-hourglass-top::before{content:"\f420"}.bi-hourglass::before{content:"\f421"}.bi-house-door-fill::before{content:"\f422"}.bi-house-door::before{content:"\f423"}.bi-house-fill::before{content:"\f424"}.bi-house::before{content:"\f425"}.bi-hr::before{content:"\f426"}.bi-hurricane::before{content:"\f427"}.bi-image-alt::before{content:"\f428"}.bi-image-fill::before{content:"\f429"}.bi-image::before{content:"\f42a"}.bi-images::before{content:"\f42b"}.bi-inbox-fill::before{content:"\f42c"}.bi-inbox::before{content:"\f42d"}.bi-inboxes-fill::before{content:"\f42e"}.bi-inboxes::before{content:"\f42f"}.bi-info-circle-fill::before{content:"\f430"}.bi-info-circle::before{content:"\f431"}.bi-info-square-fill::before{content:"\f432"}.bi-info-square::before{content:"\f433"}.bi-info::before{content:"\f434"}.bi-input-cursor-text::before{content:"\f435"}.bi-input-cursor::before{content:"\f436"}.bi-instagram::before{content:"\f437"}.bi-intersect::before{content:"\f438"}.bi-journal-album::before{content:"\f439"}.bi-journal-arrow-down::before{content:"\f43a"}.bi-journal-arrow-up::before{content:"\f43b"}.bi-journal-bookmark-fill::before{content:"\f43c"}.bi-journal-bookmark::before{content:"\f43d"}.bi-journal-check::before{content:"\f43e"}.bi-journal-code::before{content:"\f43f"}.bi-journal-medical::before{content:"\f440"}.bi-journal-minus::before{content:"\f441"}.bi-journal-plus::before{content:"\f442"}.bi-journal-richtext::before{content:"\f443"}.bi-journal-text::before{content:"\f444"}.bi-journal-x::before{content:"\f445"}.bi-journal::before{content:"\f446"}.bi-journals::before{content:"\f447"}.bi-joystick::before{content:"\f448"}.bi-justify-left::before{content:"\f449"}.bi-justify-right::before{content:"\f44a"}.bi-justify::before{content:"\f44b"}.bi-kanban-fill::before{content:"\f44c"}.bi-kanban::before{content:"\f44d"}.bi-key-fill::before{content:"\f44e"}.bi-key::before{content:"\f44f"}.bi-keyboard-fill::before{content:"\f450"}.bi-keyboard::before{content:"\f451"}.bi-ladder::before{content:"\f452"}.bi-lamp-fill::before{content:"\f453"}.bi-lamp::before{content:"\f454"}.bi-laptop-fill::before{content:"\f455"}.bi-laptop::before{content:"\f456"}.bi-layer-backward::before{content:"\f457"}.bi-layer-forward::before{content:"\f458"}.bi-layers-fill::before{content:"\f459"}.bi-layers-half::before{content:"\f45a"}.bi-layers::before{content:"\f45b"}.bi-layout-sidebar-inset-reverse::before{content:"\f45c"}.bi-layout-sidebar-inset::before{content:"\f45d"}.bi-layout-sidebar-reverse::before{content:"\f45e"}.bi-layout-sidebar::before{content:"\f45f"}.bi-layout-split::before{content:"\f460"}.bi-layout-text-sidebar-reverse::before{content:"\f461"}.bi-layout-text-sidebar::before{content:"\f462"}.bi-layout-text-window-reverse::before{content:"\f463"}.bi-layout-text-window::before{content:"\f464"}.bi-layout-three-columns::before{content:"\f465"}.bi-layout-wtf::before{content:"\f466"}.bi-life-preserver::before{content:"\f467"}.bi-lightbulb-fill::before{content:"\f468"}.bi-lightbulb-off-fill::before{content:"\f469"}.bi-lightbulb-off::before{content:"\f46a"}.bi-lightbulb::before{content:"\f46b"}.bi-lightning-charge-fill::before{content:"\f46c"}.bi-lightning-charge::before{content:"\f46d"}.bi-lightning-fill::before{content:"\f46e"}.bi-lightning::before{content:"\f46f"}.bi-link-45deg::before{content:"\f470"}.bi-link::before{content:"\f471"}.bi-linkedin::before{content:"\f472"}.bi-list-check::before{content:"\f473"}.bi-list-nested::before{content:"\f474"}.bi-list-ol::before{content:"\f475"}.bi-list-stars::before{content:"\f476"}.bi-list-task::before{content:"\f477"}.bi-list-ul::before{content:"\f478"}.bi-list::before{content:"\f479"}.bi-lock-fill::before{content:"\f47a"}.bi-lock::before{content:"\f47b"}.bi-mailbox::before{content:"\f47c"}.bi-mailbox2::before{content:"\f47d"}.bi-map-fill::before{content:"\f47e"}.bi-map::before{content:"\f47f"}.bi-markdown-fill::before{content:"\f480"}.bi-markdown::before{content:"\f481"}.bi-mask::before{content:"\f482"}.bi-megaphone-fill::before{content:"\f483"}.bi-megaphone::before{content:"\f484"}.bi-menu-app-fill::before{content:"\f485"}.bi-menu-app::before{content:"\f486"}.bi-menu-button-fill::before{content:"\f487"}.bi-menu-button-wide-fill::before{content:"\f488"}.bi-menu-button-wide::before{content:"\f489"}.bi-menu-button::before{content:"\f48a"}.bi-menu-down::before{content:"\f48b"}.bi-menu-up::before{content:"\f48c"}.bi-mic-fill::before{content:"\f48d"}.bi-mic-mute-fill::before{content:"\f48e"}.bi-mic-mute::before{content:"\f48f"}.bi-mic::before{content:"\f490"}.bi-minecart-loaded::before{content:"\f491"}.bi-minecart::before{content:"\f492"}.bi-moisture::before{content:"\f493"}.bi-moon-fill::before{content:"\f494"}.bi-moon-stars-fill::before{content:"\f495"}.bi-moon-stars::before{content:"\f496"}.bi-moon::before{content:"\f497"}.bi-mouse-fill::before{content:"\f498"}.bi-mouse::before{content:"\f499"}.bi-mouse2-fill::before{content:"\f49a"}.bi-mouse2::before{content:"\f49b"}.bi-mouse3-fill::before{content:"\f49c"}.bi-mouse3::before{content:"\f49d"}.bi-music-note-beamed::before{content:"\f49e"}.bi-music-note-list::before{content:"\f49f"}.bi-music-note::before{content:"\f4a0"}.bi-music-player-fill::before{content:"\f4a1"}.bi-music-player::before{content:"\f4a2"}.bi-newspaper::before{content:"\f4a3"}.bi-node-minus-fill::before{content:"\f4a4"}.bi-node-minus::before{content:"\f4a5"}.bi-node-plus-fill::before{content:"\f4a6"}.bi-node-plus::before{content:"\f4a7"}.bi-nut-fill::before{content:"\f4a8"}.bi-nut::before{content:"\f4a9"}.bi-octagon-fill::before{content:"\f4aa"}.bi-octagon-half::before{content:"\f4ab"}.bi-octagon::before{content:"\f4ac"}.bi-option::before{content:"\f4ad"}.bi-outlet::before{content:"\f4ae"}.bi-paint-bucket::before{content:"\f4af"}.bi-palette-fill::before{content:"\f4b0"}.bi-palette::before{content:"\f4b1"}.bi-palette2::before{content:"\f4b2"}.bi-paperclip::before{content:"\f4b3"}.bi-paragraph::before{content:"\f4b4"}.bi-patch-check-fill::before{content:"\f4b5"}.bi-patch-check::before{content:"\f4b6"}.bi-patch-exclamation-fill::before{content:"\f4b7"}.bi-patch-exclamation::before{content:"\f4b8"}.bi-patch-minus-fill::before{content:"\f4b9"}.bi-patch-minus::before{content:"\f4ba"}.bi-patch-plus-fill::before{content:"\f4bb"}.bi-patch-plus::before{content:"\f4bc"}.bi-patch-question-fill::before{content:"\f4bd"}.bi-patch-question::before{content:"\f4be"}.bi-pause-btn-fill::before{content:"\f4bf"}.bi-pause-btn::before{content:"\f4c0"}.bi-pause-circle-fill::before{content:"\f4c1"}.bi-pause-circle::before{content:"\f4c2"}.bi-pause-fill::before{content:"\f4c3"}.bi-pause::before{content:"\f4c4"}.bi-peace-fill::before{content:"\f4c5"}.bi-peace::before{content:"\f4c6"}.bi-pen-fill::before{content:"\f4c7"}.bi-pen::before{content:"\f4c8"}.bi-pencil-fill::before{content:"\f4c9"}.bi-pencil-square::before{content:"\f4ca"}.bi-pencil::before{content:"\f4cb"}.bi-pentagon-fill::before{content:"\f4cc"}.bi-pentagon-half::before{content:"\f4cd"}.bi-pentagon::before{content:"\f4ce"}.bi-people-fill::before{content:"\f4cf"}.bi-people::before{content:"\f4d0"}.bi-percent::before{content:"\f4d1"}.bi-person-badge-fill::before{content:"\f4d2"}.bi-person-badge::before{content:"\f4d3"}.bi-person-bounding-box::before{content:"\f4d4"}.bi-person-check-fill::before{content:"\f4d5"}.bi-person-check::before{content:"\f4d6"}.bi-person-circle::before{content:"\f4d7"}.bi-person-dash-fill::before{content:"\f4d8"}.bi-person-dash::before{content:"\f4d9"}.bi-person-fill::before{content:"\f4da"}.bi-person-lines-fill::before{content:"\f4db"}.bi-person-plus-fill::before{content:"\f4dc"}.bi-person-plus::before{content:"\f4dd"}.bi-person-square::before{content:"\f4de"}.bi-person-x-fill::before{content:"\f4df"}.bi-person-x::before{content:"\f4e0"}.bi-person::before{content:"\f4e1"}.bi-phone-fill::before{content:"\f4e2"}.bi-phone-landscape-fill::before{content:"\f4e3"}.bi-phone-landscape::before{content:"\f4e4"}.bi-phone-vibrate-fill::before{content:"\f4e5"}.bi-phone-vibrate::before{content:"\f4e6"}.bi-phone::before{content:"\f4e7"}.bi-pie-chart-fill::before{content:"\f4e8"}.bi-pie-chart::before{content:"\f4e9"}.bi-pin-angle-fill::before{content:"\f4ea"}.bi-pin-angle::before{content:"\f4eb"}.bi-pin-fill::before{content:"\f4ec"}.bi-pin::before{content:"\f4ed"}.bi-pip-fill::before{content:"\f4ee"}.bi-pip::before{content:"\f4ef"}.bi-play-btn-fill::before{content:"\f4f0"}.bi-play-btn::before{content:"\f4f1"}.bi-play-circle-fill::before{content:"\f4f2"}.bi-play-circle::before{content:"\f4f3"}.bi-play-fill::before{content:"\f4f4"}.bi-play::before{content:"\f4f5"}.bi-plug-fill::before{content:"\f4f6"}.bi-plug::before{content:"\f4f7"}.bi-plus-circle-dotted::before{content:"\f4f8"}.bi-plus-circle-fill::before{content:"\f4f9"}.bi-plus-circle::before{content:"\f4fa"}.bi-plus-square-dotted::before{content:"\f4fb"}.bi-plus-square-fill::before{content:"\f4fc"}.bi-plus-square::before{content:"\f4fd"}.bi-plus::before{content:"\f4fe"}.bi-power::before{content:"\f4ff"}.bi-printer-fill::before{content:"\f500"}.bi-printer::before{content:"\f501"}.bi-puzzle-fill::before{content:"\f502"}.bi-puzzle::before{content:"\f503"}.bi-question-circle-fill::before{content:"\f504"}.bi-question-circle::before{content:"\f505"}.bi-question-diamond-fill::before{content:"\f506"}.bi-question-diamond::before{content:"\f507"}.bi-question-octagon-fill::before{content:"\f508"}.bi-question-octagon::before{content:"\f509"}.bi-question-square-fill::before{content:"\f50a"}.bi-question-square::before{content:"\f50b"}.bi-question::before{content:"\f50c"}.bi-rainbow::before{content:"\f50d"}.bi-receipt-cutoff::before{content:"\f50e"}.bi-receipt::before{content:"\f50f"}.bi-reception-0::before{content:"\f510"}.bi-reception-1::before{content:"\f511"}.bi-reception-2::before{content:"\f512"}.bi-reception-3::before{content:"\f513"}.bi-reception-4::before{content:"\f514"}.bi-record-btn-fill::before{content:"\f515"}.bi-record-btn::before{content:"\f516"}.bi-record-circle-fill::before{content:"\f517"}.bi-record-circle::before{content:"\f518"}.bi-record-fill::before{content:"\f519"}.bi-record::before{content:"\f51a"}.bi-record2-fill::before{content:"\f51b"}.bi-record2::before{content:"\f51c"}.bi-reply-all-fill::before{content:"\f51d"}.bi-reply-all::before{content:"\f51e"}.bi-reply-fill::before{content:"\f51f"}.bi-reply::before{content:"\f520"}.bi-rss-fill::before{content:"\f521"}.bi-rss::before{content:"\f522"}.bi-rulers::before{content:"\f523"}.bi-save-fill::before{content:"\f524"}.bi-save::before{content:"\f525"}.bi-save2-fill::before{content:"\f526"}.bi-save2::before{content:"\f527"}.bi-scissors::before{content:"\f528"}.bi-screwdriver::before{content:"\f529"}.bi-search::before{content:"\f52a"}.bi-segmented-nav::before{content:"\f52b"}.bi-server::before{content:"\f52c"}.bi-share-fill::before{content:"\f52d"}.bi-share::before{content:"\f52e"}.bi-shield-check::before{content:"\f52f"}.bi-shield-exclamation::before{content:"\f530"}.bi-shield-fill-check::before{content:"\f531"}.bi-shield-fill-exclamation::before{content:"\f532"}.bi-shield-fill-minus::before{content:"\f533"}.bi-shield-fill-plus::before{content:"\f534"}.bi-shield-fill-x::before{content:"\f535"}.bi-shield-fill::before{content:"\f536"}.bi-shield-lock-fill::before{content:"\f537"}.bi-shield-lock::before{content:"\f538"}.bi-shield-minus::before{content:"\f539"}.bi-shield-plus::before{content:"\f53a"}.bi-shield-shaded::before{content:"\f53b"}.bi-shield-slash-fill::before{content:"\f53c"}.bi-shield-slash::before{content:"\f53d"}.bi-shield-x::before{content:"\f53e"}.bi-shield::before{content:"\f53f"}.bi-shift-fill::before{content:"\f540"}.bi-shift::before{content:"\f541"}.bi-shop-window::before{content:"\f542"}.bi-shop::before{content:"\f543"}.bi-shuffle::before{content:"\f544"}.bi-signpost-2-fill::before{content:"\f545"}.bi-signpost-2::before{content:"\f546"}.bi-signpost-fill::before{content:"\f547"}.bi-signpost-split-fill::before{content:"\f548"}.bi-signpost-split::before{content:"\f549"}.bi-signpost::before{content:"\f54a"}.bi-sim-fill::before{content:"\f54b"}.bi-sim::before{content:"\f54c"}.bi-skip-backward-btn-fill::before{content:"\f54d"}.bi-skip-backward-btn::before{content:"\f54e"}.bi-skip-backward-circle-fill::before{content:"\f54f"}.bi-skip-backward-circle::before{content:"\f550"}.bi-skip-backward-fill::before{content:"\f551"}.bi-skip-backward::before{content:"\f552"}.bi-skip-end-btn-fill::before{content:"\f553"}.bi-skip-end-btn::before{content:"\f554"}.bi-skip-end-circle-fill::before{content:"\f555"}.bi-skip-end-circle::before{content:"\f556"}.bi-skip-end-fill::before{content:"\f557"}.bi-skip-end::before{content:"\f558"}.bi-skip-forward-btn-fill::before{content:"\f559"}.bi-skip-forward-btn::before{content:"\f55a"}.bi-skip-forward-circle-fill::before{content:"\f55b"}.bi-skip-forward-circle::before{content:"\f55c"}.bi-skip-forward-fill::before{content:"\f55d"}.bi-skip-forward::before{content:"\f55e"}.bi-skip-start-btn-fill::before{content:"\f55f"}.bi-skip-start-btn::before{content:"\f560"}.bi-skip-start-circle-fill::before{content:"\f561"}.bi-skip-start-circle::before{content:"\f562"}.bi-skip-start-fill::before{content:"\f563"}.bi-skip-start::before{content:"\f564"}.bi-slack::before{content:"\f565"}.bi-slash-circle-fill::before{content:"\f566"}.bi-slash-circle::before{content:"\f567"}.bi-slash-square-fill::before{content:"\f568"}.bi-slash-square::before{content:"\f569"}.bi-slash::before{content:"\f56a"}.bi-sliders::before{content:"\f56b"}.bi-smartwatch::before{content:"\f56c"}.bi-snow::before{content:"\f56d"}.bi-snow2::before{content:"\f56e"}.bi-snow3::before{content:"\f56f"}.bi-sort-alpha-down-alt::before{content:"\f570"}.bi-sort-alpha-down::before{content:"\f571"}.bi-sort-alpha-up-alt::before{content:"\f572"}.bi-sort-alpha-up::before{content:"\f573"}.bi-sort-down-alt::before{content:"\f574"}.bi-sort-down::before{content:"\f575"}.bi-sort-numeric-down-alt::before{content:"\f576"}.bi-sort-numeric-down::before{content:"\f577"}.bi-sort-numeric-up-alt::before{content:"\f578"}.bi-sort-numeric-up::before{content:"\f579"}.bi-sort-up-alt::before{content:"\f57a"}.bi-sort-up::before{content:"\f57b"}.bi-soundwave::before{content:"\f57c"}.bi-speaker-fill::before{content:"\f57d"}.bi-speaker::before{content:"\f57e"}.bi-speedometer::before{content:"\f57f"}.bi-speedometer2::before{content:"\f580"}.bi-spellcheck::before{content:"\f581"}.bi-square-fill::before{content:"\f582"}.bi-square-half::before{content:"\f583"}.bi-square::before{content:"\f584"}.bi-stack::before{content:"\f585"}.bi-star-fill::before{content:"\f586"}.bi-star-half::before{content:"\f587"}.bi-star::before{content:"\f588"}.bi-stars::before{content:"\f589"}.bi-stickies-fill::before{content:"\f58a"}.bi-stickies::before{content:"\f58b"}.bi-sticky-fill::before{content:"\f58c"}.bi-sticky::before{content:"\f58d"}.bi-stop-btn-fill::before{content:"\f58e"}.bi-stop-btn::before{content:"\f58f"}.bi-stop-circle-fill::before{content:"\f590"}.bi-stop-circle::before{content:"\f591"}.bi-stop-fill::before{content:"\f592"}.bi-stop::before{content:"\f593"}.bi-stoplights-fill::before{content:"\f594"}.bi-stoplights::before{content:"\f595"}.bi-stopwatch-fill::before{content:"\f596"}.bi-stopwatch::before{content:"\f597"}.bi-subtract::before{content:"\f598"}.bi-suit-club-fill::before{content:"\f599"}.bi-suit-club::before{content:"\f59a"}.bi-suit-diamond-fill::before{content:"\f59b"}.bi-suit-diamond::before{content:"\f59c"}.bi-suit-heart-fill::before{content:"\f59d"}.bi-suit-heart::before{content:"\f59e"}.bi-suit-spade-fill::before{content:"\f59f"}.bi-suit-spade::before{content:"\f5a0"}.bi-sun-fill::before{content:"\f5a1"}.bi-sun::before{content:"\f5a2"}.bi-sunglasses::before{content:"\f5a3"}.bi-sunrise-fill::before{content:"\f5a4"}.bi-sunrise::before{content:"\f5a5"}.bi-sunset-fill::before{content:"\f5a6"}.bi-sunset::before{content:"\f5a7"}.bi-symmetry-horizontal::before{content:"\f5a8"}.bi-symmetry-vertical::before{content:"\f5a9"}.bi-table::before{content:"\f5aa"}.bi-tablet-fill::before{content:"\f5ab"}.bi-tablet-landscape-fill::before{content:"\f5ac"}.bi-tablet-landscape::before{content:"\f5ad"}.bi-tablet::before{content:"\f5ae"}.bi-tag-fill::before{content:"\f5af"}.bi-tag::before{content:"\f5b0"}.bi-tags-fill::before{content:"\f5b1"}.bi-tags::before{content:"\f5b2"}.bi-telegram::before{content:"\f5b3"}.bi-telephone-fill::before{content:"\f5b4"}.bi-telephone-forward-fill::before{content:"\f5b5"}.bi-telephone-forward::before{content:"\f5b6"}.bi-telephone-inbound-fill::before{content:"\f5b7"}.bi-telephone-inbound::before{content:"\f5b8"}.bi-telephone-minus-fill::before{content:"\f5b9"}.bi-telephone-minus::before{content:"\f5ba"}.bi-telephone-outbound-fill::before{content:"\f5bb"}.bi-telephone-outbound::before{content:"\f5bc"}.bi-telephone-plus-fill::before{content:"\f5bd"}.bi-telephone-plus::before{content:"\f5be"}.bi-telephone-x-fill::before{content:"\f5bf"}.bi-telephone-x::before{content:"\f5c0"}.bi-telephone::before{content:"\f5c1"}.bi-terminal-fill::before{content:"\f5c2"}.bi-terminal::before{content:"\f5c3"}.bi-text-center::before{content:"\f5c4"}.bi-text-indent-left::before{content:"\f5c5"}.bi-text-indent-right::before{content:"\f5c6"}.bi-text-left::before{content:"\f5c7"}.bi-text-paragraph::before{content:"\f5c8"}.bi-text-right::before{content:"\f5c9"}.bi-textarea-resize::before{content:"\f5ca"}.bi-textarea-t::before{content:"\f5cb"}.bi-textarea::before{content:"\f5cc"}.bi-thermometer-half::before{content:"\f5cd"}.bi-thermometer-high::before{content:"\f5ce"}.bi-thermometer-low::before{content:"\f5cf"}.bi-thermometer-snow::before{content:"\f5d0"}.bi-thermometer-sun::before{content:"\f5d1"}.bi-thermometer::before{content:"\f5d2"}.bi-three-dots-vertical::before{content:"\f5d3"}.bi-three-dots::before{content:"\f5d4"}.bi-toggle-off::before{content:"\f5d5"}.bi-toggle-on::before{content:"\f5d6"}.bi-toggle2-off::before{content:"\f5d7"}.bi-toggle2-on::before{content:"\f5d8"}.bi-toggles::before{content:"\f5d9"}.bi-toggles2::before{content:"\f5da"}.bi-tools::before{content:"\f5db"}.bi-tornado::before{content:"\f5dc"}.bi-trash-fill::before{content:"\f5dd"}.bi-trash::before{content:"\f5de"}.bi-trash2-fill::before{content:"\f5df"}.bi-trash2::before{content:"\f5e0"}.bi-tree-fill::before{content:"\f5e1"}.bi-tree::before{content:"\f5e2"}.bi-triangle-fill::before{content:"\f5e3"}.bi-triangle-half::before{content:"\f5e4"}.bi-triangle::before{content:"\f5e5"}.bi-trophy-fill::before{content:"\f5e6"}.bi-trophy::before{content:"\f5e7"}.bi-tropical-storm::before{content:"\f5e8"}.bi-truck-flatbed::before{content:"\f5e9"}.bi-truck::before{content:"\f5ea"}.bi-tsunami::before{content:"\f5eb"}.bi-tv-fill::before{content:"\f5ec"}.bi-tv::before{content:"\f5ed"}.bi-twitch::before{content:"\f5ee"}.bi-twitter::before{content:"\f5ef"}.bi-type-bold::before{content:"\f5f0"}.bi-type-h1::before{content:"\f5f1"}.bi-type-h2::before{content:"\f5f2"}.bi-type-h3::before{content:"\f5f3"}.bi-type-italic::before{content:"\f5f4"}.bi-type-strikethrough::before{content:"\f5f5"}.bi-type-underline::before{content:"\f5f6"}.bi-type::before{content:"\f5f7"}.bi-ui-checks-grid::before{content:"\f5f8"}.bi-ui-checks::before{content:"\f5f9"}.bi-ui-radios-grid::before{content:"\f5fa"}.bi-ui-radios::before{content:"\f5fb"}.bi-umbrella-fill::before{content:"\f5fc"}.bi-umbrella::before{content:"\f5fd"}.bi-union::before{content:"\f5fe"}.bi-unlock-fill::before{content:"\f5ff"}.bi-unlock::before{content:"\f600"}.bi-upc-scan::before{content:"\f601"}.bi-upc::before{content:"\f602"}.bi-upload::before{content:"\f603"}.bi-vector-pen::before{content:"\f604"}.bi-view-list::before{content:"\f605"}.bi-view-stacked::before{content:"\f606"}.bi-vinyl-fill::before{content:"\f607"}.bi-vinyl::before{content:"\f608"}.bi-voicemail::before{content:"\f609"}.bi-volume-down-fill::before{content:"\f60a"}.bi-volume-down::before{content:"\f60b"}.bi-volume-mute-fill::before{content:"\f60c"}.bi-volume-mute::before{content:"\f60d"}.bi-volume-off-fill::before{content:"\f60e"}.bi-volume-off::before{content:"\f60f"}.bi-volume-up-fill::before{content:"\f610"}.bi-volume-up::before{content:"\f611"}.bi-vr::before{content:"\f612"}.bi-wallet-fill::before{content:"\f613"}.bi-wallet::before{content:"\f614"}.bi-wallet2::before{content:"\f615"}.bi-watch::before{content:"\f616"}.bi-water::before{content:"\f617"}.bi-whatsapp::before{content:"\f618"}.bi-wifi-1::before{content:"\f619"}.bi-wifi-2::before{content:"\f61a"}.bi-wifi-off::before{content:"\f61b"}.bi-wifi::before{content:"\f61c"}.bi-wind::before{content:"\f61d"}.bi-window-dock::before{content:"\f61e"}.bi-window-sidebar::before{content:"\f61f"}.bi-window::before{content:"\f620"}.bi-wrench::before{content:"\f621"}.bi-x-circle-fill::before{content:"\f622"}.bi-x-circle::before{content:"\f623"}.bi-x-diamond-fill::before{content:"\f624"}.bi-x-diamond::before{content:"\f625"}.bi-x-octagon-fill::before{content:"\f626"}.bi-x-octagon::before{content:"\f627"}.bi-x-square-fill::before{content:"\f628"}.bi-x-square::before{content:"\f629"}.bi-x::before{content:"\f62a"}.bi-youtube::before{content:"\f62b"}.bi-zoom-in::before{content:"\f62c"}.bi-zoom-out::before{content:"\f62d"}.bi-bank::before{content:"\f62e"}.bi-bank2::before{content:"\f62f"}.bi-bell-slash-fill::before{content:"\f630"}.bi-bell-slash::before{content:"\f631"}.bi-cash-coin::before{content:"\f632"}.bi-check-lg::before{content:"\f633"}.bi-coin::before{content:"\f634"}.bi-currency-bitcoin::before{content:"\f635"}.bi-currency-dollar::before{content:"\f636"}.bi-currency-euro::before{content:"\f637"}.bi-currency-exchange::before{content:"\f638"}.bi-currency-pound::before{content:"\f639"}.bi-currency-yen::before{content:"\f63a"}.bi-dash-lg::before{content:"\f63b"}.bi-exclamation-lg::before{content:"\f63c"}.bi-file-earmark-pdf-fill::before{content:"\f63d"}.bi-file-earmark-pdf::before{content:"\f63e"}.bi-file-pdf-fill::before{content:"\f63f"}.bi-file-pdf::before{content:"\f640"}.bi-gender-ambiguous::before{content:"\f641"}.bi-gender-female::before{content:"\f642"}.bi-gender-male::before{content:"\f643"}.bi-gender-trans::before{content:"\f644"}.bi-headset-vr::before{content:"\f645"}.bi-info-lg::before{content:"\f646"}.bi-mastodon::before{content:"\f647"}.bi-messenger::before{content:"\f648"}.bi-piggy-bank-fill::before{content:"\f649"}.bi-piggy-bank::before{content:"\f64a"}.bi-pin-map-fill::before{content:"\f64b"}.bi-pin-map::before{content:"\f64c"}.bi-plus-lg::before{content:"\f64d"}.bi-question-lg::before{content:"\f64e"}.bi-recycle::before{content:"\f64f"}.bi-reddit::before{content:"\f650"}.bi-safe-fill::before{content:"\f651"}.bi-safe2-fill::before{content:"\f652"}.bi-safe2::before{content:"\f653"}.bi-sd-card-fill::before{content:"\f654"}.bi-sd-card::before{content:"\f655"}.bi-skype::before{content:"\f656"}.bi-slash-lg::before{content:"\f657"}.bi-translate::before{content:"\f658"}.bi-x-lg::before{content:"\f659"}.bi-safe::before{content:"\f65a"}.bi-apple::before{content:"\f65b"}.bi-microsoft::before{content:"\f65d"}.bi-windows::before{content:"\f65e"}.bi-behance::before{content:"\f65c"}.bi-dribbble::before{content:"\f65f"}.bi-line::before{content:"\f660"}.bi-medium::before{content:"\f661"}.bi-paypal::before{content:"\f662"}.bi-pinterest::before{content:"\f663"}.bi-signal::before{content:"\f664"}.bi-snapchat::before{content:"\f665"}.bi-spotify::before{content:"\f666"}.bi-stack-overflow::before{content:"\f667"}.bi-strava::before{content:"\f668"}.bi-wordpress::before{content:"\f669"}.bi-vimeo::before{content:"\f66a"}.bi-activity::before{content:"\f66b"}.bi-easel2-fill::before{content:"\f66c"}.bi-easel2::before{content:"\f66d"}.bi-easel3-fill::before{content:"\f66e"}.bi-easel3::before{content:"\f66f"}.bi-fan::before{content:"\f670"}.bi-fingerprint::before{content:"\f671"}.bi-graph-down-arrow::before{content:"\f672"}.bi-graph-up-arrow::before{content:"\f673"}.bi-hypnotize::before{content:"\f674"}.bi-magic::before{content:"\f675"}.bi-person-rolodex::before{content:"\f676"}.bi-person-video::before{content:"\f677"}.bi-person-video2::before{content:"\f678"}.bi-person-video3::before{content:"\f679"}.bi-person-workspace::before{content:"\f67a"}.bi-radioactive::before{content:"\f67b"}.bi-webcam-fill::before{content:"\f67c"}.bi-webcam::before{content:"\f67d"}.bi-yin-yang::before{content:"\f67e"}.bi-bandaid-fill::before{content:"\f680"}.bi-bandaid::before{content:"\f681"}.bi-bluetooth::before{content:"\f682"}.bi-body-text::before{content:"\f683"}.bi-boombox::before{content:"\f684"}.bi-boxes::before{content:"\f685"}.bi-dpad-fill::before{content:"\f686"}.bi-dpad::before{content:"\f687"}.bi-ear-fill::before{content:"\f688"}.bi-ear::before{content:"\f689"}.bi-envelope-check-fill::before{content:"\f68b"}.bi-envelope-check::before{content:"\f68c"}.bi-envelope-dash-fill::before{content:"\f68e"}.bi-envelope-dash::before{content:"\f68f"}.bi-envelope-exclamation-fill::before{content:"\f691"}.bi-envelope-exclamation::before{content:"\f692"}.bi-envelope-plus-fill::before{content:"\f693"}.bi-envelope-plus::before{content:"\f694"}.bi-envelope-slash-fill::before{content:"\f696"}.bi-envelope-slash::before{content:"\f697"}.bi-envelope-x-fill::before{content:"\f699"}.bi-envelope-x::before{content:"\f69a"}.bi-explicit-fill::before{content:"\f69b"}.bi-explicit::before{content:"\f69c"}.bi-git::before{content:"\f69d"}.bi-infinity::before{content:"\f69e"}.bi-list-columns-reverse::before{content:"\f69f"}.bi-list-columns::before{content:"\f6a0"}.bi-meta::before{content:"\f6a1"}.bi-nintendo-switch::before{content:"\f6a4"}.bi-pc-display-horizontal::before{content:"\f6a5"}.bi-pc-display::before{content:"\f6a6"}.bi-pc-horizontal::before{content:"\f6a7"}.bi-pc::before{content:"\f6a8"}.bi-playstation::before{content:"\f6a9"}.bi-plus-slash-minus::before{content:"\f6aa"}.bi-projector-fill::before{content:"\f6ab"}.bi-projector::before{content:"\f6ac"}.bi-qr-code-scan::before{content:"\f6ad"}.bi-qr-code::before{content:"\f6ae"}.bi-quora::before{content:"\f6af"}.bi-quote::before{content:"\f6b0"}.bi-robot::before{content:"\f6b1"}.bi-send-check-fill::before{content:"\f6b2"}.bi-send-check::before{content:"\f6b3"}.bi-send-dash-fill::before{content:"\f6b4"}.bi-send-dash::before{content:"\f6b5"}.bi-send-exclamation-fill::before{content:"\f6b7"}.bi-send-exclamation::before{content:"\f6b8"}.bi-send-fill::before{content:"\f6b9"}.bi-send-plus-fill::before{content:"\f6ba"}.bi-send-plus::before{content:"\f6bb"}.bi-send-slash-fill::before{content:"\f6bc"}.bi-send-slash::before{content:"\f6bd"}.bi-send-x-fill::before{content:"\f6be"}.bi-send-x::before{content:"\f6bf"}.bi-send::before{content:"\f6c0"}.bi-steam::before{content:"\f6c1"}.bi-terminal-dash::before{content:"\f6c3"}.bi-terminal-plus::before{content:"\f6c4"}.bi-terminal-split::before{content:"\f6c5"}.bi-ticket-detailed-fill::before{content:"\f6c6"}.bi-ticket-detailed::before{content:"\f6c7"}.bi-ticket-fill::before{content:"\f6c8"}.bi-ticket-perforated-fill::before{content:"\f6c9"}.bi-ticket-perforated::before{content:"\f6ca"}.bi-ticket::before{content:"\f6cb"}.bi-tiktok::before{content:"\f6cc"}.bi-window-dash::before{content:"\f6cd"}.bi-window-desktop::before{content:"\f6ce"}.bi-window-fullscreen::before{content:"\f6cf"}.bi-window-plus::before{content:"\f6d0"}.bi-window-split::before{content:"\f6d1"}.bi-window-stack::before{content:"\f6d2"}.bi-window-x::before{content:"\f6d3"}.bi-xbox::before{content:"\f6d4"}.bi-ethernet::before{content:"\f6d5"}.bi-hdmi-fill::before{content:"\f6d6"}.bi-hdmi::before{content:"\f6d7"}.bi-usb-c-fill::before{content:"\f6d8"}.bi-usb-c::before{content:"\f6d9"}.bi-usb-fill::before{content:"\f6da"}.bi-usb-plug-fill::before{content:"\f6db"}.bi-usb-plug::before{content:"\f6dc"}.bi-usb-symbol::before{content:"\f6dd"}.bi-usb::before{content:"\f6de"}.bi-boombox-fill::before{content:"\f6df"}.bi-displayport::before{content:"\f6e1"}.bi-gpu-card::before{content:"\f6e2"}.bi-memory::before{content:"\f6e3"}.bi-modem-fill::before{content:"\f6e4"}.bi-modem::before{content:"\f6e5"}.bi-motherboard-fill::before{content:"\f6e6"}.bi-motherboard::before{content:"\f6e7"}.bi-optical-audio-fill::before{content:"\f6e8"}.bi-optical-audio::before{content:"\f6e9"}.bi-pci-card::before{content:"\f6ea"}.bi-router-fill::before{content:"\f6eb"}.bi-router::before{content:"\f6ec"}.bi-thunderbolt-fill::before{content:"\f6ef"}.bi-thunderbolt::before{content:"\f6f0"}.bi-usb-drive-fill::before{content:"\f6f1"}.bi-usb-drive::before{content:"\f6f2"}.bi-usb-micro-fill::before{content:"\f6f3"}.bi-usb-micro::before{content:"\f6f4"}.bi-usb-mini-fill::before{content:"\f6f5"}.bi-usb-mini::before{content:"\f6f6"}.bi-cloud-haze2::before{content:"\f6f7"}.bi-device-hdd-fill::before{content:"\f6f8"}.bi-device-hdd::before{content:"\f6f9"}.bi-device-ssd-fill::before{content:"\f6fa"}.bi-device-ssd::before{content:"\f6fb"}.bi-displayport-fill::before{content:"\f6fc"}.bi-mortarboard-fill::before{content:"\f6fd"}.bi-mortarboard::before{content:"\f6fe"}.bi-terminal-x::before{content:"\f6ff"}.bi-arrow-through-heart-fill::before{content:"\f700"}.bi-arrow-through-heart::before{content:"\f701"}.bi-badge-sd-fill::before{content:"\f702"}.bi-badge-sd::before{content:"\f703"}.bi-bag-heart-fill::before{content:"\f704"}.bi-bag-heart::before{content:"\f705"}.bi-balloon-fill::before{content:"\f706"}.bi-balloon-heart-fill::before{content:"\f707"}.bi-balloon-heart::before{content:"\f708"}.bi-balloon::before{content:"\f709"}.bi-box2-fill::before{content:"\f70a"}.bi-box2-heart-fill::before{content:"\f70b"}.bi-box2-heart::before{content:"\f70c"}.bi-box2::before{content:"\f70d"}.bi-braces-asterisk::before{content:"\f70e"}.bi-calendar-heart-fill::before{content:"\f70f"}.bi-calendar-heart::before{content:"\f710"}.bi-calendar2-heart-fill::before{content:"\f711"}.bi-calendar2-heart::before{content:"\f712"}.bi-chat-heart-fill::before{content:"\f713"}.bi-chat-heart::before{content:"\f714"}.bi-chat-left-heart-fill::before{content:"\f715"}.bi-chat-left-heart::before{content:"\f716"}.bi-chat-right-heart-fill::before{content:"\f717"}.bi-chat-right-heart::before{content:"\f718"}.bi-chat-square-heart-fill::before{content:"\f719"}.bi-chat-square-heart::before{content:"\f71a"}.bi-clipboard-check-fill::before{content:"\f71b"}.bi-clipboard-data-fill::before{content:"\f71c"}.bi-clipboard-fill::before{content:"\f71d"}.bi-clipboard-heart-fill::before{content:"\f71e"}.bi-clipboard-heart::before{content:"\f71f"}.bi-clipboard-minus-fill::before{content:"\f720"}.bi-clipboard-plus-fill::before{content:"\f721"}.bi-clipboard-pulse::before{content:"\f722"}.bi-clipboard-x-fill::before{content:"\f723"}.bi-clipboard2-check-fill::before{content:"\f724"}.bi-clipboard2-check::before{content:"\f725"}.bi-clipboard2-data-fill::before{content:"\f726"}.bi-clipboard2-data::before{content:"\f727"}.bi-clipboard2-fill::before{content:"\f728"}.bi-clipboard2-heart-fill::before{content:"\f729"}.bi-clipboard2-heart::before{content:"\f72a"}.bi-clipboard2-minus-fill::before{content:"\f72b"}.bi-clipboard2-minus::before{content:"\f72c"}.bi-clipboard2-plus-fill::before{content:"\f72d"}.bi-clipboard2-plus::before{content:"\f72e"}.bi-clipboard2-pulse-fill::before{content:"\f72f"}.bi-clipboard2-pulse::before{content:"\f730"}.bi-clipboard2-x-fill::before{content:"\f731"}.bi-clipboard2-x::before{content:"\f732"}.bi-clipboard2::before{content:"\f733"}.bi-emoji-kiss-fill::before{content:"\f734"}.bi-emoji-kiss::before{content:"\f735"}.bi-envelope-heart-fill::before{content:"\f736"}.bi-envelope-heart::before{content:"\f737"}.bi-envelope-open-heart-fill::before{content:"\f738"}.bi-envelope-open-heart::before{content:"\f739"}.bi-envelope-paper-fill::before{content:"\f73a"}.bi-envelope-paper-heart-fill::before{content:"\f73b"}.bi-envelope-paper-heart::before{content:"\f73c"}.bi-envelope-paper::before{content:"\f73d"}.bi-filetype-aac::before{content:"\f73e"}.bi-filetype-ai::before{content:"\f73f"}.bi-filetype-bmp::before{content:"\f740"}.bi-filetype-cs::before{content:"\f741"}.bi-filetype-css::before{content:"\f742"}.bi-filetype-csv::before{content:"\f743"}.bi-filetype-doc::before{content:"\f744"}.bi-filetype-docx::before{content:"\f745"}.bi-filetype-exe::before{content:"\f746"}.bi-filetype-gif::before{content:"\f747"}.bi-filetype-heic::before{content:"\f748"}.bi-filetype-html::before{content:"\f749"}.bi-filetype-java::before{content:"\f74a"}.bi-filetype-jpg::before{content:"\f74b"}.bi-filetype-js::before{content:"\f74c"}.bi-filetype-jsx::before{content:"\f74d"}.bi-filetype-key::before{content:"\f74e"}.bi-filetype-m4p::before{content:"\f74f"}.bi-filetype-md::before{content:"\f750"}.bi-filetype-mdx::before{content:"\f751"}.bi-filetype-mov::before{content:"\f752"}.bi-filetype-mp3::before{content:"\f753"}.bi-filetype-mp4::before{content:"\f754"}.bi-filetype-otf::before{content:"\f755"}.bi-filetype-pdf::before{content:"\f756"}.bi-filetype-php::before{content:"\f757"}.bi-filetype-png::before{content:"\f758"}.bi-filetype-ppt::before{content:"\f75a"}.bi-filetype-psd::before{content:"\f75b"}.bi-filetype-py::before{content:"\f75c"}.bi-filetype-raw::before{content:"\f75d"}.bi-filetype-rb::before{content:"\f75e"}.bi-filetype-sass::before{content:"\f75f"}.bi-filetype-scss::before{content:"\f760"}.bi-filetype-sh::before{content:"\f761"}.bi-filetype-svg::before{content:"\f762"}.bi-filetype-tiff::before{content:"\f763"}.bi-filetype-tsx::before{content:"\f764"}.bi-filetype-ttf::before{content:"\f765"}.bi-filetype-txt::before{content:"\f766"}.bi-filetype-wav::before{content:"\f767"}.bi-filetype-woff::before{content:"\f768"}.bi-filetype-xls::before{content:"\f76a"}.bi-filetype-xml::before{content:"\f76b"}.bi-filetype-yml::before{content:"\f76c"}.bi-heart-arrow::before{content:"\f76d"}.bi-heart-pulse-fill::before{content:"\f76e"}.bi-heart-pulse::before{content:"\f76f"}.bi-heartbreak-fill::before{content:"\f770"}.bi-heartbreak::before{content:"\f771"}.bi-hearts::before{content:"\f772"}.bi-hospital-fill::before{content:"\f773"}.bi-hospital::before{content:"\f774"}.bi-house-heart-fill::before{content:"\f775"}.bi-house-heart::before{content:"\f776"}.bi-incognito::before{content:"\f777"}.bi-magnet-fill::before{content:"\f778"}.bi-magnet::before{content:"\f779"}.bi-person-heart::before{content:"\f77a"}.bi-person-hearts::before{content:"\f77b"}.bi-phone-flip::before{content:"\f77c"}.bi-plugin::before{content:"\f77d"}.bi-postage-fill::before{content:"\f77e"}.bi-postage-heart-fill::before{content:"\f77f"}.bi-postage-heart::before{content:"\f780"}.bi-postage::before{content:"\f781"}.bi-postcard-fill::before{content:"\f782"}.bi-postcard-heart-fill::before{content:"\f783"}.bi-postcard-heart::before{content:"\f784"}.bi-postcard::before{content:"\f785"}.bi-search-heart-fill::before{content:"\f786"}.bi-search-heart::before{content:"\f787"}.bi-sliders2-vertical::before{content:"\f788"}.bi-sliders2::before{content:"\f789"}.bi-trash3-fill::before{content:"\f78a"}.bi-trash3::before{content:"\f78b"}.bi-valentine::before{content:"\f78c"}.bi-valentine2::before{content:"\f78d"}.bi-wrench-adjustable-circle-fill::before{content:"\f78e"}.bi-wrench-adjustable-circle::before{content:"\f78f"}.bi-wrench-adjustable::before{content:"\f790"}.bi-filetype-json::before{content:"\f791"}.bi-filetype-pptx::before{content:"\f792"}.bi-filetype-xlsx::before{content:"\f793"}.bi-1-circle-fill::before{content:"\f796"}.bi-1-circle::before{content:"\f797"}.bi-1-square-fill::before{content:"\f798"}.bi-1-square::before{content:"\f799"}.bi-2-circle-fill::before{content:"\f79c"}.bi-2-circle::before{content:"\f79d"}.bi-2-square-fill::before{content:"\f79e"}.bi-2-square::before{content:"\f79f"}.bi-3-circle-fill::before{content:"\f7a2"}.bi-3-circle::before{content:"\f7a3"}.bi-3-square-fill::before{content:"\f7a4"}.bi-3-square::before{content:"\f7a5"}.bi-4-circle-fill::before{content:"\f7a8"}.bi-4-circle::before{content:"\f7a9"}.bi-4-square-fill::before{content:"\f7aa"}.bi-4-square::before{content:"\f7ab"}.bi-5-circle-fill::before{content:"\f7ae"}.bi-5-circle::before{content:"\f7af"}.bi-5-square-fill::before{content:"\f7b0"}.bi-5-square::before{content:"\f7b1"}.bi-6-circle-fill::before{content:"\f7b4"}.bi-6-circle::before{content:"\f7b5"}.bi-6-square-fill::before{content:"\f7b6"}.bi-6-square::before{content:"\f7b7"}.bi-7-circle-fill::before{content:"\f7ba"}.bi-7-circle::before{content:"\f7bb"}.bi-7-square-fill::before{content:"\f7bc"}.bi-7-square::before{content:"\f7bd"}.bi-8-circle-fill::before{content:"\f7c0"}.bi-8-circle::before{content:"\f7c1"}.bi-8-square-fill::before{content:"\f7c2"}.bi-8-square::before{content:"\f7c3"}.bi-9-circle-fill::before{content:"\f7c6"}.bi-9-circle::before{content:"\f7c7"}.bi-9-square-fill::before{content:"\f7c8"}.bi-9-square::before{content:"\f7c9"}.bi-airplane-engines-fill::before{content:"\f7ca"}.bi-airplane-engines::before{content:"\f7cb"}.bi-airplane-fill::before{content:"\f7cc"}.bi-airplane::before{content:"\f7cd"}.bi-alexa::before{content:"\f7ce"}.bi-alipay::before{content:"\f7cf"}.bi-android::before{content:"\f7d0"}.bi-android2::before{content:"\f7d1"}.bi-box-fill::before{content:"\f7d2"}.bi-box-seam-fill::before{content:"\f7d3"}.bi-browser-chrome::before{content:"\f7d4"}.bi-browser-edge::before{content:"\f7d5"}.bi-browser-firefox::before{content:"\f7d6"}.bi-browser-safari::before{content:"\f7d7"}.bi-c-circle-fill::before{content:"\f7da"}.bi-c-circle::before{content:"\f7db"}.bi-c-square-fill::before{content:"\f7dc"}.bi-c-square::before{content:"\f7dd"}.bi-capsule-pill::before{content:"\f7de"}.bi-capsule::before{content:"\f7df"}.bi-car-front-fill::before{content:"\f7e0"}.bi-car-front::before{content:"\f7e1"}.bi-cassette-fill::before{content:"\f7e2"}.bi-cassette::before{content:"\f7e3"}.bi-cc-circle-fill::before{content:"\f7e6"}.bi-cc-circle::before{content:"\f7e7"}.bi-cc-square-fill::before{content:"\f7e8"}.bi-cc-square::before{content:"\f7e9"}.bi-cup-hot-fill::before{content:"\f7ea"}.bi-cup-hot::before{content:"\f7eb"}.bi-currency-rupee::before{content:"\f7ec"}.bi-dropbox::before{content:"\f7ed"}.bi-escape::before{content:"\f7ee"}.bi-fast-forward-btn-fill::before{content:"\f7ef"}.bi-fast-forward-btn::before{content:"\f7f0"}.bi-fast-forward-circle-fill::before{content:"\f7f1"}.bi-fast-forward-circle::before{content:"\f7f2"}.bi-fast-forward-fill::before{content:"\f7f3"}.bi-fast-forward::before{content:"\f7f4"}.bi-filetype-sql::before{content:"\f7f5"}.bi-fire::before{content:"\f7f6"}.bi-google-play::before{content:"\f7f7"}.bi-h-circle-fill::before{content:"\f7fa"}.bi-h-circle::before{content:"\f7fb"}.bi-h-square-fill::before{content:"\f7fc"}.bi-h-square::before{content:"\f7fd"}.bi-indent::before{content:"\f7fe"}.bi-lungs-fill::before{content:"\f7ff"}.bi-lungs::before{content:"\f800"}.bi-microsoft-teams::before{content:"\f801"}.bi-p-circle-fill::before{content:"\f804"}.bi-p-circle::before{content:"\f805"}.bi-p-square-fill::before{content:"\f806"}.bi-p-square::before{content:"\f807"}.bi-pass-fill::before{content:"\f808"}.bi-pass::before{content:"\f809"}.bi-prescription::before{content:"\f80a"}.bi-prescription2::before{content:"\f80b"}.bi-r-circle-fill::before{content:"\f80e"}.bi-r-circle::before{content:"\f80f"}.bi-r-square-fill::before{content:"\f810"}.bi-r-square::before{content:"\f811"}.bi-repeat-1::before{content:"\f812"}.bi-repeat::before{content:"\f813"}.bi-rewind-btn-fill::before{content:"\f814"}.bi-rewind-btn::before{content:"\f815"}.bi-rewind-circle-fill::before{content:"\f816"}.bi-rewind-circle::before{content:"\f817"}.bi-rewind-fill::before{content:"\f818"}.bi-rewind::before{content:"\f819"}.bi-train-freight-front-fill::before{content:"\f81a"}.bi-train-freight-front::before{content:"\f81b"}.bi-train-front-fill::before{content:"\f81c"}.bi-train-front::before{content:"\f81d"}.bi-train-lightrail-front-fill::before{content:"\f81e"}.bi-train-lightrail-front::before{content:"\f81f"}.bi-truck-front-fill::before{content:"\f820"}.bi-truck-front::before{content:"\f821"}.bi-ubuntu::before{content:"\f822"}.bi-unindent::before{content:"\f823"}.bi-unity::before{content:"\f824"}.bi-universal-access-circle::before{content:"\f825"}.bi-universal-access::before{content:"\f826"}.bi-virus::before{content:"\f827"}.bi-virus2::before{content:"\f828"}.bi-wechat::before{content:"\f829"}.bi-yelp::before{content:"\f82a"}.bi-sign-stop-fill::before{content:"\f82b"}.bi-sign-stop-lights-fill::before{content:"\f82c"}.bi-sign-stop-lights::before{content:"\f82d"}.bi-sign-stop::before{content:"\f82e"}.bi-sign-turn-left-fill::before{content:"\f82f"}.bi-sign-turn-left::before{content:"\f830"}.bi-sign-turn-right-fill::before{content:"\f831"}.bi-sign-turn-right::before{content:"\f832"}.bi-sign-turn-slight-left-fill::before{content:"\f833"}.bi-sign-turn-slight-left::before{content:"\f834"}.bi-sign-turn-slight-right-fill::before{content:"\f835"}.bi-sign-turn-slight-right::before{content:"\f836"}.bi-sign-yield-fill::before{content:"\f837"}.bi-sign-yield::before{content:"\f838"}.bi-ev-station-fill::before{content:"\f839"}.bi-ev-station::before{content:"\f83a"}.bi-fuel-pump-diesel-fill::before{content:"\f83b"}.bi-fuel-pump-diesel::before{content:"\f83c"}.bi-fuel-pump-fill::before{content:"\f83d"}.bi-fuel-pump::before{content:"\f83e"}.bi-0-circle-fill::before{content:"\f83f"}.bi-0-circle::before{content:"\f840"}.bi-0-square-fill::before{content:"\f841"}.bi-0-square::before{content:"\f842"}.bi-rocket-fill::before{content:"\f843"}.bi-rocket-takeoff-fill::before{content:"\f844"}.bi-rocket-takeoff::before{content:"\f845"}.bi-rocket::before{content:"\f846"}.bi-stripe::before{content:"\f847"}.bi-subscript::before{content:"\f848"}.bi-superscript::before{content:"\f849"}.bi-trello::before{content:"\f84a"}.bi-envelope-at-fill::before{content:"\f84b"}.bi-envelope-at::before{content:"\f84c"}.bi-regex::before{content:"\f84d"}.bi-text-wrap::before{content:"\f84e"}.bi-sign-dead-end-fill::before{content:"\f84f"}.bi-sign-dead-end::before{content:"\f850"}.bi-sign-do-not-enter-fill::before{content:"\f851"}.bi-sign-do-not-enter::before{content:"\f852"}.bi-sign-intersection-fill::before{content:"\f853"}.bi-sign-intersection-side-fill::before{content:"\f854"}.bi-sign-intersection-side::before{content:"\f855"}.bi-sign-intersection-t-fill::before{content:"\f856"}.bi-sign-intersection-t::before{content:"\f857"}.bi-sign-intersection-y-fill::before{content:"\f858"}.bi-sign-intersection-y::before{content:"\f859"}.bi-sign-intersection::before{content:"\f85a"}.bi-sign-merge-left-fill::before{content:"\f85b"}.bi-sign-merge-left::before{content:"\f85c"}.bi-sign-merge-right-fill::before{content:"\f85d"}.bi-sign-merge-right::before{content:"\f85e"}.bi-sign-no-left-turn-fill::before{content:"\f85f"}.bi-sign-no-left-turn::before{content:"\f860"}.bi-sign-no-parking-fill::before{content:"\f861"}.bi-sign-no-parking::before{content:"\f862"}.bi-sign-no-right-turn-fill::before{content:"\f863"}.bi-sign-no-right-turn::before{content:"\f864"}.bi-sign-railroad-fill::before{content:"\f865"}.bi-sign-railroad::before{content:"\f866"}.bi-building-add::before{content:"\f867"}.bi-building-check::before{content:"\f868"}.bi-building-dash::before{content:"\f869"}.bi-building-down::before{content:"\f86a"}.bi-building-exclamation::before{content:"\f86b"}.bi-building-fill-add::before{content:"\f86c"}.bi-building-fill-check::before{content:"\f86d"}.bi-building-fill-dash::before{content:"\f86e"}.bi-building-fill-down::before{content:"\f86f"}.bi-building-fill-exclamation::before{content:"\f870"}.bi-building-fill-gear::before{content:"\f871"}.bi-building-fill-lock::before{content:"\f872"}.bi-building-fill-slash::before{content:"\f873"}.bi-building-fill-up::before{content:"\f874"}.bi-building-fill-x::before{content:"\f875"}.bi-building-fill::before{content:"\f876"}.bi-building-gear::before{content:"\f877"}.bi-building-lock::before{content:"\f878"}.bi-building-slash::before{content:"\f879"}.bi-building-up::before{content:"\f87a"}.bi-building-x::before{content:"\f87b"}.bi-buildings-fill::before{content:"\f87c"}.bi-buildings::before{content:"\f87d"}.bi-bus-front-fill::before{content:"\f87e"}.bi-bus-front::before{content:"\f87f"}.bi-ev-front-fill::before{content:"\f880"}.bi-ev-front::before{content:"\f881"}.bi-globe-americas::before{content:"\f882"}.bi-globe-asia-australia::before{content:"\f883"}.bi-globe-central-south-asia::before{content:"\f884"}.bi-globe-europe-africa::before{content:"\f885"}.bi-house-add-fill::before{content:"\f886"}.bi-house-add::before{content:"\f887"}.bi-house-check-fill::before{content:"\f888"}.bi-house-check::before{content:"\f889"}.bi-house-dash-fill::before{content:"\f88a"}.bi-house-dash::before{content:"\f88b"}.bi-house-down-fill::before{content:"\f88c"}.bi-house-down::before{content:"\f88d"}.bi-house-exclamation-fill::before{content:"\f88e"}.bi-house-exclamation::before{content:"\f88f"}.bi-house-gear-fill::before{content:"\f890"}.bi-house-gear::before{content:"\f891"}.bi-house-lock-fill::before{content:"\f892"}.bi-house-lock::before{content:"\f893"}.bi-house-slash-fill::before{content:"\f894"}.bi-house-slash::before{content:"\f895"}.bi-house-up-fill::before{content:"\f896"}.bi-house-up::before{content:"\f897"}.bi-house-x-fill::before{content:"\f898"}.bi-house-x::before{content:"\f899"}.bi-person-add::before{content:"\f89a"}.bi-person-down::before{content:"\f89b"}.bi-person-exclamation::before{content:"\f89c"}.bi-person-fill-add::before{content:"\f89d"}.bi-person-fill-check::before{content:"\f89e"}.bi-person-fill-dash::before{content:"\f89f"}.bi-person-fill-down::before{content:"\f8a0"}.bi-person-fill-exclamation::before{content:"\f8a1"}.bi-person-fill-gear::before{content:"\f8a2"}.bi-person-fill-lock::before{content:"\f8a3"}.bi-person-fill-slash::before{content:"\f8a4"}.bi-person-fill-up::before{content:"\f8a5"}.bi-person-fill-x::before{content:"\f8a6"}.bi-person-gear::before{content:"\f8a7"}.bi-person-lock::before{content:"\f8a8"}.bi-person-slash::before{content:"\f8a9"}.bi-person-up::before{content:"\f8aa"}.bi-scooter::before{content:"\f8ab"}.bi-taxi-front-fill::before{content:"\f8ac"}.bi-taxi-front::before{content:"\f8ad"}.bi-amd::before{content:"\f8ae"}.bi-database-add::before{content:"\f8af"}.bi-database-check::before{content:"\f8b0"}.bi-database-dash::before{content:"\f8b1"}.bi-database-down::before{content:"\f8b2"}.bi-database-exclamation::before{content:"\f8b3"}.bi-database-fill-add::before{content:"\f8b4"}.bi-database-fill-check::before{content:"\f8b5"}.bi-database-fill-dash::before{content:"\f8b6"}.bi-database-fill-down::before{content:"\f8b7"}.bi-database-fill-exclamation::before{content:"\f8b8"}.bi-database-fill-gear::before{content:"\f8b9"}.bi-database-fill-lock::before{content:"\f8ba"}.bi-database-fill-slash::before{content:"\f8bb"}.bi-database-fill-up::before{content:"\f8bc"}.bi-database-fill-x::before{content:"\f8bd"}.bi-database-fill::before{content:"\f8be"}.bi-database-gear::before{content:"\f8bf"}.bi-database-lock::before{content:"\f8c0"}.bi-database-slash::before{content:"\f8c1"}.bi-database-up::before{content:"\f8c2"}.bi-database-x::before{content:"\f8c3"}.bi-database::before{content:"\f8c4"}.bi-houses-fill::before{content:"\f8c5"}.bi-houses::before{content:"\f8c6"}.bi-nvidia::before{content:"\f8c7"}.bi-person-vcard-fill::before{content:"\f8c8"}.bi-person-vcard::before{content:"\f8c9"}.bi-sina-weibo::before{content:"\f8ca"}.bi-tencent-qq::before{content:"\f8cb"}.bi-wikipedia::before{content:"\f8cc"} \ No newline at end of file diff --git a/wwws/admin/src/static/lib/bootstrap-icons/font/fonts/bootstrap-icons.woff b/wwws/admin/src/static/lib/bootstrap-icons/font/fonts/bootstrap-icons.woff new file mode 100644 index 0000000000000000000000000000000000000000..6e72a590a26bc71c7011e3c50da2ca766a853344 GIT binary patch literal 164360 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͍DL09^UPJd{U1rzmAhp)eP! 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 literal 0 HcmV?d00001 diff --git a/wwws/admin/src/static/lib/bootstrap-icons/font/fonts/bootstrap-icons.woff2 b/wwws/admin/src/static/lib/bootstrap-icons/font/fonts/bootstrap-icons.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..3b957d5a764cc096fcee42de5ab6a48dfee9af4a GIT binary patch literal 121340 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 z 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Ã-ERF?&y_pfYxO}cJT5#fJl}fxL8iJjg5hEI`5w1| z4jj3w1x_3U4yc2`ssnEup!_G!d2A0a@I{6#o9N@`^G?bm;jLk)oJ?V43+woLdqX9B z`MAFx53^t4oDLizw;xYzMc0H}G@Qh+XGaYWNV_RgjU6;gr0wR8og5R1b9FoYlATn5 zQmNtwR^OPOaX3Ap^-bB$&#yffJPrKczSPCnno8|;NeQ8FT?)Kh@lPm&wkGvM@7`ci znqvD~YX&8D{C^>o%L);}=?PDzjILP`^MdqQ%UXirxTwY&)zJWf-8poOCB6y5j(P7$ z3OL*>+GB~gE9~>8n5RalUQmJTHka!PB}lLZ?aF*Yu|3S z0JGW>wWo3Vvb2K66FMP12`Byz*C!nWqGCCJ{pb7?Ni)-za5B&N>{#EOy z*KgsVTvu5Z=m4!LPaZLAVXTe@_*X`gLfL3l;%O>$>7X2Clt(^}ro8llVP_Q9oY@5Q ztiXrTW~mh{NR%{RPaN%@T9EZvxFJ&l=aKr9#D}+3#R0O@qbZH}frCcR!kT~7>pu-F zj{SYE{*1Zo+qb@`m_>6{!Y;CF$&j@R4A+m#MoC z{J|nLJs&LQY2+54TN~9imGufz%cDl$u7N!a)1vHNRwzLMUNOx)&`&kYyIL@wNV{3V z+RvCa&&1*@Tu=bZ?5$Xf`azocNrrO3|6#A!x&oGBxjd=?kL0DP;0JNhA-dULooaz#28>HW|f-dj>r?_uPS}g@j%yq-e1Do*G-SX8dcuiBlXkqn#fnj?( z!Cx_2hqAt0pczI!H|wBef3FpJ+?N&}^TK)y3#OWG9=k;c<(dMXc}Dge z%(9nfJ<<5Or<&3X9K+2Bau>6}w+up67dyqsmwI4&Fw?RGsDkwVXz)>g_GIRcMlZ&d z%q~2CW=f&DR+ea7`n2}_qlCB_>j3^_+BB*@faH_-L%J8BF){?1f7EvrE{ru81crU@ zkj@VLC!RS-pbIa&t1n-v0AsE(z;if+kVH$U1cVCi8P>opaoyh$!Hko#g107UovEyi z=G^Qlu{H=?AYW<9=@GxfG_(X76=V`bYnJ36b%;(FPPP-rvVkb>*KwfuWl^=IAR zZ=%aI!Q0vCrnC4546)8jif*;m;3G8lEM32C5jWW_6TEZPDZQf%I#D510>ffg(YI@X z5X?J}v3#VDN0+o(Nl|RX_s5+-p;QwzEEZ}ldoVRM@jf!jLMKC{hb{UeJ1um5F?3;l zziPbL$mc!_lox_D4hlJ9;5=H1%2X2=f`V9R(H{eikdDpal?X>Wy{umAHHF<>(HQ|E z`Uq^{JAXarZ7#u#bT)WtvWf#kNs$wPYiC;_vDxA~90Bry_>8jE?x~-@n&mC5#)olM z*wzM4+9fA`36&~K&IiSP4whhekUlm$$`n5C+njts2%l}3#D2Q%{8=)@iVmtwdA0rE z#!eb}fxR0f3xBz4a_$zpd3|KJpT0cU?r)8L0lL`3XK>!w)98483_H9eDIdW4z?Aj& zzkHDKMy%+$w+}MkRK!CI} W{i+SOEA$_gR$T^}fuiz{0000rhX=L* literal 0 HcmV?d00001 diff --git a/wwws/admin/src/static/lib/bootstrap/dist/js/bootstrap.bundle.min.js b/wwws/admin/src/static/lib/bootstrap/dist/js/bootstrap.bundle.min.js new file mode 100644 index 0000000..b1999d9 --- /dev/null +++ b/wwws/admin/src/static/lib/bootstrap/dist/js/bootstrap.bundle.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap v5.3.2 (https://getbootstrap.com/) + * Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap=e()}(this,(function(){"use strict";const t=new Map,e={set(e,i,n){t.has(e)||t.set(e,new Map);const s=t.get(e);s.has(i)||0===s.size?s.set(i,n):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(s.keys())[0]}.`)},get:(e,i)=>t.has(e)&&t.get(e).get(i)||null,remove(e,i){if(!t.has(e))return;const n=t.get(e);n.delete(i),0===n.size&&t.delete(e)}},i="transitionend",n=t=>(t&&window.CSS&&window.CSS.escape&&(t=t.replace(/#([^\s"#']+)/g,((t,e)=>`#${CSS.escape(e)}`))),t),s=t=>{t.dispatchEvent(new Event(i))},o=t=>!(!t||"object"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),r=t=>o(t)?t.jquery?t[0]:t:"string"==typeof t&&t.length>0?document.querySelector(n(t)):null,a=t=>{if(!o(t)||0===t.getClientRects().length)return!1;const e="visible"===getComputedStyle(t).getPropertyValue("visibility"),i=t.closest("details:not([open])");if(!i)return e;if(i!==t){const e=t.closest("summary");if(e&&e.parentNode!==i)return!1;if(null===e)return!1}return e},l=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),c=t=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?c(t.parentNode):null},h=()=>{},d=t=>{t.offsetHeight},u=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,f=[],p=()=>"rtl"===document.documentElement.dir,m=t=>{var e;e=()=>{const e=u();if(e){const i=t.NAME,n=e.fn[i];e.fn[i]=t.jQueryInterface,e.fn[i].Constructor=t,e.fn[i].noConflict=()=>(e.fn[i]=n,t.jQueryInterface)}},"loading"===document.readyState?(f.length||document.addEventListener("DOMContentLoaded",(()=>{for(const t of f)t()})),f.push(e)):e()},g=(t,e=[],i=t)=>"function"==typeof t?t(...e):i,_=(t,e,n=!0)=>{if(!n)return void g(t);const o=(t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:i}=window.getComputedStyle(t);const n=Number.parseFloat(e),s=Number.parseFloat(i);return n||s?(e=e.split(",")[0],i=i.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(i))):0})(e)+5;let r=!1;const a=({target:n})=>{n===e&&(r=!0,e.removeEventListener(i,a),g(t))};e.addEventListener(i,a),setTimeout((()=>{r||s(e)}),o)},b=(t,e,i,n)=>{const s=t.length;let o=t.indexOf(e);return-1===o?!i&&n?t[s-1]:t[0]:(o+=i?1:-1,n&&(o=(o+s)%s),t[Math.max(0,Math.min(o,s-1))])},v=/[^.]*(?=\..*)\.|.*/,y=/\..*/,w=/::\d+$/,A={};let E=1;const T={mouseenter:"mouseover",mouseleave:"mouseout"},C=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function O(t,e){return e&&`${e}::${E++}`||t.uidEvent||E++}function x(t){const e=O(t);return t.uidEvent=e,A[e]=A[e]||{},A[e]}function k(t,e,i=null){return Object.values(t).find((t=>t.callable===e&&t.delegationSelector===i))}function L(t,e,i){const n="string"==typeof e,s=n?i:e||i;let o=I(t);return C.has(o)||(o=t),[n,s,o]}function S(t,e,i,n,s){if("string"!=typeof e||!t)return;let[o,r,a]=L(e,i,n);if(e in T){const t=t=>function(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};r=t(r)}const l=x(t),c=l[a]||(l[a]={}),h=k(c,r,o?i:null);if(h)return void(h.oneOff=h.oneOff&&s);const d=O(r,e.replace(v,"")),u=o?function(t,e,i){return function n(s){const o=t.querySelectorAll(e);for(let{target:r}=s;r&&r!==this;r=r.parentNode)for(const a of o)if(a===r)return P(s,{delegateTarget:r}),n.oneOff&&N.off(t,s.type,e,i),i.apply(r,[s])}}(t,i,r):function(t,e){return function i(n){return P(n,{delegateTarget:t}),i.oneOff&&N.off(t,n.type,e),e.apply(t,[n])}}(t,r);u.delegationSelector=o?i:null,u.callable=r,u.oneOff=s,u.uidEvent=d,c[d]=u,t.addEventListener(a,u,o)}function D(t,e,i,n,s){const o=k(e[i],n,s);o&&(t.removeEventListener(i,o,Boolean(s)),delete e[i][o.uidEvent])}function $(t,e,i,n){const s=e[i]||{};for(const[o,r]of Object.entries(s))o.includes(n)&&D(t,e,i,r.callable,r.delegationSelector)}function I(t){return t=t.replace(y,""),T[t]||t}const N={on(t,e,i,n){S(t,e,i,n,!1)},one(t,e,i,n){S(t,e,i,n,!0)},off(t,e,i,n){if("string"!=typeof e||!t)return;const[s,o,r]=L(e,i,n),a=r!==e,l=x(t),c=l[r]||{},h=e.startsWith(".");if(void 0===o){if(h)for(const i of Object.keys(l))$(t,l,i,e.slice(1));for(const[i,n]of Object.entries(c)){const s=i.replace(w,"");a&&!e.includes(s)||D(t,l,r,n.callable,n.delegationSelector)}}else{if(!Object.keys(c).length)return;D(t,l,r,o,s?i:null)}},trigger(t,e,i){if("string"!=typeof e||!t)return null;const n=u();let s=null,o=!0,r=!0,a=!1;e!==I(e)&&n&&(s=n.Event(e,i),n(t).trigger(s),o=!s.isPropagationStopped(),r=!s.isImmediatePropagationStopped(),a=s.isDefaultPrevented());const l=P(new Event(e,{bubbles:o,cancelable:!0}),i);return a&&l.preventDefault(),r&&t.dispatchEvent(l),l.defaultPrevented&&s&&s.preventDefault(),l}};function P(t,e={}){for(const[i,n]of Object.entries(e))try{t[i]=n}catch(e){Object.defineProperty(t,i,{configurable:!0,get:()=>n})}return t}function M(t){if("true"===t)return!0;if("false"===t)return!1;if(t===Number(t).toString())return Number(t);if(""===t||"null"===t)return null;if("string"!=typeof t)return t;try{return JSON.parse(decodeURIComponent(t))}catch(e){return t}}function j(t){return t.replace(/[A-Z]/g,(t=>`-${t.toLowerCase()}`))}const F={setDataAttribute(t,e,i){t.setAttribute(`data-bs-${j(e)}`,i)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${j(e)}`)},getDataAttributes(t){if(!t)return{};const e={},i=Object.keys(t.dataset).filter((t=>t.startsWith("bs")&&!t.startsWith("bsConfig")));for(const n of i){let i=n.replace(/^bs/,"");i=i.charAt(0).toLowerCase()+i.slice(1,i.length),e[i]=M(t.dataset[n])}return e},getDataAttribute:(t,e)=>M(t.getAttribute(`data-bs-${j(e)}`))};class H{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(t){return t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t}_mergeConfigObj(t,e){const i=o(e)?F.getDataAttribute(e,"config"):{};return{...this.constructor.Default,..."object"==typeof i?i:{},...o(e)?F.getDataAttributes(e):{},..."object"==typeof t?t:{}}}_typeCheckConfig(t,e=this.constructor.DefaultType){for(const[n,s]of Object.entries(e)){const e=t[n],r=o(e)?"element":null==(i=e)?`${i}`:Object.prototype.toString.call(i).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(s).test(r))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${n}" provided type "${r}" but expected type "${s}".`)}var i}}class W extends H{constructor(t,i){super(),(t=r(t))&&(this._element=t,this._config=this._getConfig(i),e.set(this._element,this.constructor.DATA_KEY,this))}dispose(){e.remove(this._element,this.constructor.DATA_KEY),N.off(this._element,this.constructor.EVENT_KEY);for(const t of Object.getOwnPropertyNames(this))this[t]=null}_queueCallback(t,e,i=!0){_(t,e,i)}_getConfig(t){return t=this._mergeConfigObj(t,this._element),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}static getInstance(t){return e.get(r(t),this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,"object"==typeof e?e:null)}static get VERSION(){return"5.3.2"}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(t){return`${t}${this.EVENT_KEY}`}}const B=t=>{let e=t.getAttribute("data-bs-target");if(!e||"#"===e){let i=t.getAttribute("href");if(!i||!i.includes("#")&&!i.startsWith("."))return null;i.includes("#")&&!i.startsWith("#")&&(i=`#${i.split("#")[1]}`),e=i&&"#"!==i?n(i.trim()):null}return e},z={find:(t,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e=document.documentElement)=>Element.prototype.querySelector.call(e,t),children:(t,e)=>[].concat(...t.children).filter((t=>t.matches(e))),parents(t,e){const i=[];let n=t.parentNode.closest(e);for(;n;)i.push(n),n=n.parentNode.closest(e);return i},prev(t,e){let i=t.previousElementSibling;for(;i;){if(i.matches(e))return[i];i=i.previousElementSibling}return[]},next(t,e){let i=t.nextElementSibling;for(;i;){if(i.matches(e))return[i];i=i.nextElementSibling}return[]},focusableChildren(t){const e=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map((t=>`${t}:not([tabindex^="-"])`)).join(",");return this.find(e,t).filter((t=>!l(t)&&a(t)))},getSelectorFromElement(t){const e=B(t);return e&&z.findOne(e)?e:null},getElementFromSelector(t){const e=B(t);return e?z.findOne(e):null},getMultipleElementsFromSelector(t){const e=B(t);return e?z.find(e):[]}},R=(t,e="hide")=>{const i=`click.dismiss${t.EVENT_KEY}`,n=t.NAME;N.on(document,i,`[data-bs-dismiss="${n}"]`,(function(i){if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),l(this))return;const s=z.getElementFromSelector(this)||this.closest(`.${n}`);t.getOrCreateInstance(s)[e]()}))},q=".bs.alert",V=`close${q}`,K=`closed${q}`;class Q extends W{static get NAME(){return"alert"}close(){if(N.trigger(this._element,V).defaultPrevented)return;this._element.classList.remove("show");const t=this._element.classList.contains("fade");this._queueCallback((()=>this._destroyElement()),this._element,t)}_destroyElement(){this._element.remove(),N.trigger(this._element,K),this.dispose()}static jQueryInterface(t){return this.each((function(){const e=Q.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}R(Q,"close"),m(Q);const X='[data-bs-toggle="button"]';class Y extends W{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(t){return this.each((function(){const e=Y.getOrCreateInstance(this);"toggle"===t&&e[t]()}))}}N.on(document,"click.bs.button.data-api",X,(t=>{t.preventDefault();const e=t.target.closest(X);Y.getOrCreateInstance(e).toggle()})),m(Y);const U=".bs.swipe",G=`touchstart${U}`,J=`touchmove${U}`,Z=`touchend${U}`,tt=`pointerdown${U}`,et=`pointerup${U}`,it={endCallback:null,leftCallback:null,rightCallback:null},nt={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class st extends H{constructor(t,e){super(),this._element=t,t&&st.isSupported()&&(this._config=this._getConfig(e),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return it}static get DefaultType(){return nt}static get NAME(){return"swipe"}dispose(){N.off(this._element,U)}_start(t){this._supportPointerEvents?this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX):this._deltaX=t.touches[0].clientX}_end(t){this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX-this._deltaX),this._handleSwipe(),g(this._config.endCallback)}_move(t){this._deltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this._deltaX}_handleSwipe(){const t=Math.abs(this._deltaX);if(t<=40)return;const e=t/this._deltaX;this._deltaX=0,e&&g(e>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(N.on(this._element,tt,(t=>this._start(t))),N.on(this._element,et,(t=>this._end(t))),this._element.classList.add("pointer-event")):(N.on(this._element,G,(t=>this._start(t))),N.on(this._element,J,(t=>this._move(t))),N.on(this._element,Z,(t=>this._end(t))))}_eventIsPointerPenTouch(t){return this._supportPointerEvents&&("pen"===t.pointerType||"touch"===t.pointerType)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const ot=".bs.carousel",rt=".data-api",at="next",lt="prev",ct="left",ht="right",dt=`slide${ot}`,ut=`slid${ot}`,ft=`keydown${ot}`,pt=`mouseenter${ot}`,mt=`mouseleave${ot}`,gt=`dragstart${ot}`,_t=`load${ot}${rt}`,bt=`click${ot}${rt}`,vt="carousel",yt="active",wt=".active",At=".carousel-item",Et=wt+At,Tt={ArrowLeft:ht,ArrowRight:ct},Ct={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},Ot={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class xt extends W{constructor(t,e){super(t,e),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=z.findOne(".carousel-indicators",this._element),this._addEventListeners(),this._config.ride===vt&&this.cycle()}static get Default(){return Ct}static get DefaultType(){return Ot}static get NAME(){return"carousel"}next(){this._slide(at)}nextWhenVisible(){!document.hidden&&a(this._element)&&this.next()}prev(){this._slide(lt)}pause(){this._isSliding&&s(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval((()=>this.nextWhenVisible()),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?N.one(this._element,ut,(()=>this.cycle())):this.cycle())}to(t){const e=this._getItems();if(t>e.length-1||t<0)return;if(this._isSliding)return void N.one(this._element,ut,(()=>this.to(t)));const i=this._getItemIndex(this._getActive());if(i===t)return;const n=t>i?at:lt;this._slide(n,e[t])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(t){return t.defaultInterval=t.interval,t}_addEventListeners(){this._config.keyboard&&N.on(this._element,ft,(t=>this._keydown(t))),"hover"===this._config.pause&&(N.on(this._element,pt,(()=>this.pause())),N.on(this._element,mt,(()=>this._maybeEnableCycle()))),this._config.touch&&st.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const t of z.find(".carousel-item img",this._element))N.on(t,gt,(t=>t.preventDefault()));const t={leftCallback:()=>this._slide(this._directionToOrder(ct)),rightCallback:()=>this._slide(this._directionToOrder(ht)),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout((()=>this._maybeEnableCycle()),500+this._config.interval))}};this._swipeHelper=new st(this._element,t)}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=Tt[t.key];e&&(t.preventDefault(),this._slide(this._directionToOrder(e)))}_getItemIndex(t){return this._getItems().indexOf(t)}_setActiveIndicatorElement(t){if(!this._indicatorsElement)return;const e=z.findOne(wt,this._indicatorsElement);e.classList.remove(yt),e.removeAttribute("aria-current");const i=z.findOne(`[data-bs-slide-to="${t}"]`,this._indicatorsElement);i&&(i.classList.add(yt),i.setAttribute("aria-current","true"))}_updateInterval(){const t=this._activeElement||this._getActive();if(!t)return;const e=Number.parseInt(t.getAttribute("data-bs-interval"),10);this._config.interval=e||this._config.defaultInterval}_slide(t,e=null){if(this._isSliding)return;const i=this._getActive(),n=t===at,s=e||b(this._getItems(),i,n,this._config.wrap);if(s===i)return;const o=this._getItemIndex(s),r=e=>N.trigger(this._element,e,{relatedTarget:s,direction:this._orderToDirection(t),from:this._getItemIndex(i),to:o});if(r(dt).defaultPrevented)return;if(!i||!s)return;const a=Boolean(this._interval);this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(o),this._activeElement=s;const l=n?"carousel-item-start":"carousel-item-end",c=n?"carousel-item-next":"carousel-item-prev";s.classList.add(c),d(s),i.classList.add(l),s.classList.add(l),this._queueCallback((()=>{s.classList.remove(l,c),s.classList.add(yt),i.classList.remove(yt,c,l),this._isSliding=!1,r(ut)}),i,this._isAnimated()),a&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return z.findOne(Et,this._element)}_getItems(){return z.find(At,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(t){return p()?t===ct?lt:at:t===ct?at:lt}_orderToDirection(t){return p()?t===lt?ct:ht:t===lt?ht:ct}static jQueryInterface(t){return this.each((function(){const e=xt.getOrCreateInstance(this,t);if("number"!=typeof t){if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}else e.to(t)}))}}N.on(document,bt,"[data-bs-slide], [data-bs-slide-to]",(function(t){const e=z.getElementFromSelector(this);if(!e||!e.classList.contains(vt))return;t.preventDefault();const i=xt.getOrCreateInstance(e),n=this.getAttribute("data-bs-slide-to");return n?(i.to(n),void i._maybeEnableCycle()):"next"===F.getDataAttribute(this,"slide")?(i.next(),void i._maybeEnableCycle()):(i.prev(),void i._maybeEnableCycle())})),N.on(window,_t,(()=>{const t=z.find('[data-bs-ride="carousel"]');for(const e of t)xt.getOrCreateInstance(e)})),m(xt);const kt=".bs.collapse",Lt=`show${kt}`,St=`shown${kt}`,Dt=`hide${kt}`,$t=`hidden${kt}`,It=`click${kt}.data-api`,Nt="show",Pt="collapse",Mt="collapsing",jt=`:scope .${Pt} .${Pt}`,Ft='[data-bs-toggle="collapse"]',Ht={parent:null,toggle:!0},Wt={parent:"(null|element)",toggle:"boolean"};class Bt extends W{constructor(t,e){super(t,e),this._isTransitioning=!1,this._triggerArray=[];const i=z.find(Ft);for(const t of i){const e=z.getSelectorFromElement(t),i=z.find(e).filter((t=>t===this._element));null!==e&&i.length&&this._triggerArray.push(t)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return Ht}static get DefaultType(){return Wt}static get NAME(){return"collapse"}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t=[];if(this._config.parent&&(t=this._getFirstLevelChildren(".collapse.show, .collapse.collapsing").filter((t=>t!==this._element)).map((t=>Bt.getOrCreateInstance(t,{toggle:!1})))),t.length&&t[0]._isTransitioning)return;if(N.trigger(this._element,Lt).defaultPrevented)return;for(const e of t)e.hide();const e=this._getDimension();this._element.classList.remove(Pt),this._element.classList.add(Mt),this._element.style[e]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const i=`scroll${e[0].toUpperCase()+e.slice(1)}`;this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(Mt),this._element.classList.add(Pt,Nt),this._element.style[e]="",N.trigger(this._element,St)}),this._element,!0),this._element.style[e]=`${this._element[i]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(N.trigger(this._element,Dt).defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,d(this._element),this._element.classList.add(Mt),this._element.classList.remove(Pt,Nt);for(const t of this._triggerArray){const e=z.getElementFromSelector(t);e&&!this._isShown(e)&&this._addAriaAndCollapsedClass([t],!1)}this._isTransitioning=!0,this._element.style[t]="",this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(Mt),this._element.classList.add(Pt),N.trigger(this._element,$t)}),this._element,!0)}_isShown(t=this._element){return t.classList.contains(Nt)}_configAfterMerge(t){return t.toggle=Boolean(t.toggle),t.parent=r(t.parent),t}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const t=this._getFirstLevelChildren(Ft);for(const e of t){const t=z.getElementFromSelector(e);t&&this._addAriaAndCollapsedClass([e],this._isShown(t))}}_getFirstLevelChildren(t){const e=z.find(jt,this._config.parent);return z.find(t,this._config.parent).filter((t=>!e.includes(t)))}_addAriaAndCollapsedClass(t,e){if(t.length)for(const i of t)i.classList.toggle("collapsed",!e),i.setAttribute("aria-expanded",e)}static jQueryInterface(t){const e={};return"string"==typeof t&&/show|hide/.test(t)&&(e.toggle=!1),this.each((function(){const i=Bt.getOrCreateInstance(this,e);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t]()}}))}}N.on(document,It,Ft,(function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();for(const t of z.getMultipleElementsFromSelector(this))Bt.getOrCreateInstance(t,{toggle:!1}).toggle()})),m(Bt);var zt="top",Rt="bottom",qt="right",Vt="left",Kt="auto",Qt=[zt,Rt,qt,Vt],Xt="start",Yt="end",Ut="clippingParents",Gt="viewport",Jt="popper",Zt="reference",te=Qt.reduce((function(t,e){return t.concat([e+"-"+Xt,e+"-"+Yt])}),[]),ee=[].concat(Qt,[Kt]).reduce((function(t,e){return t.concat([e,e+"-"+Xt,e+"-"+Yt])}),[]),ie="beforeRead",ne="read",se="afterRead",oe="beforeMain",re="main",ae="afterMain",le="beforeWrite",ce="write",he="afterWrite",de=[ie,ne,se,oe,re,ae,le,ce,he];function ue(t){return t?(t.nodeName||"").toLowerCase():null}function fe(t){if(null==t)return window;if("[object Window]"!==t.toString()){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function pe(t){return t instanceof fe(t).Element||t instanceof Element}function me(t){return t instanceof fe(t).HTMLElement||t instanceof HTMLElement}function ge(t){return"undefined"!=typeof ShadowRoot&&(t instanceof fe(t).ShadowRoot||t instanceof ShadowRoot)}const _e={name:"applyStyles",enabled:!0,phase:"write",fn:function(t){var e=t.state;Object.keys(e.elements).forEach((function(t){var i=e.styles[t]||{},n=e.attributes[t]||{},s=e.elements[t];me(s)&&ue(s)&&(Object.assign(s.style,i),Object.keys(n).forEach((function(t){var e=n[t];!1===e?s.removeAttribute(t):s.setAttribute(t,!0===e?"":e)})))}))},effect:function(t){var e=t.state,i={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,i.popper),e.styles=i,e.elements.arrow&&Object.assign(e.elements.arrow.style,i.arrow),function(){Object.keys(e.elements).forEach((function(t){var n=e.elements[t],s=e.attributes[t]||{},o=Object.keys(e.styles.hasOwnProperty(t)?e.styles[t]:i[t]).reduce((function(t,e){return t[e]="",t}),{});me(n)&&ue(n)&&(Object.assign(n.style,o),Object.keys(s).forEach((function(t){n.removeAttribute(t)})))}))}},requires:["computeStyles"]};function be(t){return t.split("-")[0]}var ve=Math.max,ye=Math.min,we=Math.round;function Ae(){var t=navigator.userAgentData;return null!=t&&t.brands&&Array.isArray(t.brands)?t.brands.map((function(t){return t.brand+"/"+t.version})).join(" "):navigator.userAgent}function Ee(){return!/^((?!chrome|android).)*safari/i.test(Ae())}function Te(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=!1);var n=t.getBoundingClientRect(),s=1,o=1;e&&me(t)&&(s=t.offsetWidth>0&&we(n.width)/t.offsetWidth||1,o=t.offsetHeight>0&&we(n.height)/t.offsetHeight||1);var r=(pe(t)?fe(t):window).visualViewport,a=!Ee()&&i,l=(n.left+(a&&r?r.offsetLeft:0))/s,c=(n.top+(a&&r?r.offsetTop:0))/o,h=n.width/s,d=n.height/o;return{width:h,height:d,top:c,right:l+h,bottom:c+d,left:l,x:l,y:c}}function Ce(t){var e=Te(t),i=t.offsetWidth,n=t.offsetHeight;return Math.abs(e.width-i)<=1&&(i=e.width),Math.abs(e.height-n)<=1&&(n=e.height),{x:t.offsetLeft,y:t.offsetTop,width:i,height:n}}function Oe(t,e){var i=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(i&&ge(i)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function xe(t){return fe(t).getComputedStyle(t)}function ke(t){return["table","td","th"].indexOf(ue(t))>=0}function Le(t){return((pe(t)?t.ownerDocument:t.document)||window.document).documentElement}function Se(t){return"html"===ue(t)?t:t.assignedSlot||t.parentNode||(ge(t)?t.host:null)||Le(t)}function De(t){return me(t)&&"fixed"!==xe(t).position?t.offsetParent:null}function $e(t){for(var e=fe(t),i=De(t);i&&ke(i)&&"static"===xe(i).position;)i=De(i);return i&&("html"===ue(i)||"body"===ue(i)&&"static"===xe(i).position)?e:i||function(t){var e=/firefox/i.test(Ae());if(/Trident/i.test(Ae())&&me(t)&&"fixed"===xe(t).position)return null;var i=Se(t);for(ge(i)&&(i=i.host);me(i)&&["html","body"].indexOf(ue(i))<0;){var n=xe(i);if("none"!==n.transform||"none"!==n.perspective||"paint"===n.contain||-1!==["transform","perspective"].indexOf(n.willChange)||e&&"filter"===n.willChange||e&&n.filter&&"none"!==n.filter)return i;i=i.parentNode}return null}(t)||e}function Ie(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function Ne(t,e,i){return ve(t,ye(e,i))}function Pe(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function Me(t,e){return e.reduce((function(e,i){return e[i]=t,e}),{})}const je={name:"arrow",enabled:!0,phase:"main",fn:function(t){var e,i=t.state,n=t.name,s=t.options,o=i.elements.arrow,r=i.modifiersData.popperOffsets,a=be(i.placement),l=Ie(a),c=[Vt,qt].indexOf(a)>=0?"height":"width";if(o&&r){var h=function(t,e){return Pe("number"!=typeof(t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:Me(t,Qt))}(s.padding,i),d=Ce(o),u="y"===l?zt:Vt,f="y"===l?Rt:qt,p=i.rects.reference[c]+i.rects.reference[l]-r[l]-i.rects.popper[c],m=r[l]-i.rects.reference[l],g=$e(o),_=g?"y"===l?g.clientHeight||0:g.clientWidth||0:0,b=p/2-m/2,v=h[u],y=_-d[c]-h[f],w=_/2-d[c]/2+b,A=Ne(v,w,y),E=l;i.modifiersData[n]=((e={})[E]=A,e.centerOffset=A-w,e)}},effect:function(t){var e=t.state,i=t.options.element,n=void 0===i?"[data-popper-arrow]":i;null!=n&&("string"!=typeof n||(n=e.elements.popper.querySelector(n)))&&Oe(e.elements.popper,n)&&(e.elements.arrow=n)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Fe(t){return t.split("-")[1]}var He={top:"auto",right:"auto",bottom:"auto",left:"auto"};function We(t){var e,i=t.popper,n=t.popperRect,s=t.placement,o=t.variation,r=t.offsets,a=t.position,l=t.gpuAcceleration,c=t.adaptive,h=t.roundOffsets,d=t.isFixed,u=r.x,f=void 0===u?0:u,p=r.y,m=void 0===p?0:p,g="function"==typeof h?h({x:f,y:m}):{x:f,y:m};f=g.x,m=g.y;var _=r.hasOwnProperty("x"),b=r.hasOwnProperty("y"),v=Vt,y=zt,w=window;if(c){var A=$e(i),E="clientHeight",T="clientWidth";A===fe(i)&&"static"!==xe(A=Le(i)).position&&"absolute"===a&&(E="scrollHeight",T="scrollWidth"),(s===zt||(s===Vt||s===qt)&&o===Yt)&&(y=Rt,m-=(d&&A===w&&w.visualViewport?w.visualViewport.height:A[E])-n.height,m*=l?1:-1),s!==Vt&&(s!==zt&&s!==Rt||o!==Yt)||(v=qt,f-=(d&&A===w&&w.visualViewport?w.visualViewport.width:A[T])-n.width,f*=l?1:-1)}var C,O=Object.assign({position:a},c&&He),x=!0===h?function(t,e){var i=t.x,n=t.y,s=e.devicePixelRatio||1;return{x:we(i*s)/s||0,y:we(n*s)/s||0}}({x:f,y:m},fe(i)):{x:f,y:m};return f=x.x,m=x.y,l?Object.assign({},O,((C={})[y]=b?"0":"",C[v]=_?"0":"",C.transform=(w.devicePixelRatio||1)<=1?"translate("+f+"px, "+m+"px)":"translate3d("+f+"px, "+m+"px, 0)",C)):Object.assign({},O,((e={})[y]=b?m+"px":"",e[v]=_?f+"px":"",e.transform="",e))}const Be={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(t){var e=t.state,i=t.options,n=i.gpuAcceleration,s=void 0===n||n,o=i.adaptive,r=void 0===o||o,a=i.roundOffsets,l=void 0===a||a,c={placement:be(e.placement),variation:Fe(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:s,isFixed:"fixed"===e.options.strategy};null!=e.modifiersData.popperOffsets&&(e.styles.popper=Object.assign({},e.styles.popper,We(Object.assign({},c,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:r,roundOffsets:l})))),null!=e.modifiersData.arrow&&(e.styles.arrow=Object.assign({},e.styles.arrow,We(Object.assign({},c,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})},data:{}};var ze={passive:!0};const Re={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(t){var e=t.state,i=t.instance,n=t.options,s=n.scroll,o=void 0===s||s,r=n.resize,a=void 0===r||r,l=fe(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return o&&c.forEach((function(t){t.addEventListener("scroll",i.update,ze)})),a&&l.addEventListener("resize",i.update,ze),function(){o&&c.forEach((function(t){t.removeEventListener("scroll",i.update,ze)})),a&&l.removeEventListener("resize",i.update,ze)}},data:{}};var qe={left:"right",right:"left",bottom:"top",top:"bottom"};function Ve(t){return t.replace(/left|right|bottom|top/g,(function(t){return qe[t]}))}var Ke={start:"end",end:"start"};function Qe(t){return t.replace(/start|end/g,(function(t){return Ke[t]}))}function Xe(t){var e=fe(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function Ye(t){return Te(Le(t)).left+Xe(t).scrollLeft}function Ue(t){var e=xe(t),i=e.overflow,n=e.overflowX,s=e.overflowY;return/auto|scroll|overlay|hidden/.test(i+s+n)}function Ge(t){return["html","body","#document"].indexOf(ue(t))>=0?t.ownerDocument.body:me(t)&&Ue(t)?t:Ge(Se(t))}function Je(t,e){var i;void 0===e&&(e=[]);var n=Ge(t),s=n===(null==(i=t.ownerDocument)?void 0:i.body),o=fe(n),r=s?[o].concat(o.visualViewport||[],Ue(n)?n:[]):n,a=e.concat(r);return s?a:a.concat(Je(Se(r)))}function Ze(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function ti(t,e,i){return e===Gt?Ze(function(t,e){var i=fe(t),n=Le(t),s=i.visualViewport,o=n.clientWidth,r=n.clientHeight,a=0,l=0;if(s){o=s.width,r=s.height;var c=Ee();(c||!c&&"fixed"===e)&&(a=s.offsetLeft,l=s.offsetTop)}return{width:o,height:r,x:a+Ye(t),y:l}}(t,i)):pe(e)?function(t,e){var i=Te(t,!1,"fixed"===e);return i.top=i.top+t.clientTop,i.left=i.left+t.clientLeft,i.bottom=i.top+t.clientHeight,i.right=i.left+t.clientWidth,i.width=t.clientWidth,i.height=t.clientHeight,i.x=i.left,i.y=i.top,i}(e,i):Ze(function(t){var e,i=Le(t),n=Xe(t),s=null==(e=t.ownerDocument)?void 0:e.body,o=ve(i.scrollWidth,i.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),r=ve(i.scrollHeight,i.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-n.scrollLeft+Ye(t),l=-n.scrollTop;return"rtl"===xe(s||i).direction&&(a+=ve(i.clientWidth,s?s.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}(Le(t)))}function ei(t){var e,i=t.reference,n=t.element,s=t.placement,o=s?be(s):null,r=s?Fe(s):null,a=i.x+i.width/2-n.width/2,l=i.y+i.height/2-n.height/2;switch(o){case zt:e={x:a,y:i.y-n.height};break;case Rt:e={x:a,y:i.y+i.height};break;case qt:e={x:i.x+i.width,y:l};break;case Vt:e={x:i.x-n.width,y:l};break;default:e={x:i.x,y:i.y}}var c=o?Ie(o):null;if(null!=c){var h="y"===c?"height":"width";switch(r){case Xt:e[c]=e[c]-(i[h]/2-n[h]/2);break;case Yt:e[c]=e[c]+(i[h]/2-n[h]/2)}}return e}function ii(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=void 0===n?t.placement:n,o=i.strategy,r=void 0===o?t.strategy:o,a=i.boundary,l=void 0===a?Ut:a,c=i.rootBoundary,h=void 0===c?Gt:c,d=i.elementContext,u=void 0===d?Jt:d,f=i.altBoundary,p=void 0!==f&&f,m=i.padding,g=void 0===m?0:m,_=Pe("number"!=typeof g?g:Me(g,Qt)),b=u===Jt?Zt:Jt,v=t.rects.popper,y=t.elements[p?b:u],w=function(t,e,i,n){var s="clippingParents"===e?function(t){var e=Je(Se(t)),i=["absolute","fixed"].indexOf(xe(t).position)>=0&&me(t)?$e(t):t;return pe(i)?e.filter((function(t){return pe(t)&&Oe(t,i)&&"body"!==ue(t)})):[]}(t):[].concat(e),o=[].concat(s,[i]),r=o[0],a=o.reduce((function(e,i){var s=ti(t,i,n);return e.top=ve(s.top,e.top),e.right=ye(s.right,e.right),e.bottom=ye(s.bottom,e.bottom),e.left=ve(s.left,e.left),e}),ti(t,r,n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}(pe(y)?y:y.contextElement||Le(t.elements.popper),l,h,r),A=Te(t.elements.reference),E=ei({reference:A,element:v,strategy:"absolute",placement:s}),T=Ze(Object.assign({},v,E)),C=u===Jt?T:A,O={top:w.top-C.top+_.top,bottom:C.bottom-w.bottom+_.bottom,left:w.left-C.left+_.left,right:C.right-w.right+_.right},x=t.modifiersData.offset;if(u===Jt&&x){var k=x[s];Object.keys(O).forEach((function(t){var e=[qt,Rt].indexOf(t)>=0?1:-1,i=[zt,Rt].indexOf(t)>=0?"y":"x";O[t]+=k[i]*e}))}return O}function ni(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=i.boundary,o=i.rootBoundary,r=i.padding,a=i.flipVariations,l=i.allowedAutoPlacements,c=void 0===l?ee:l,h=Fe(n),d=h?a?te:te.filter((function(t){return Fe(t)===h})):Qt,u=d.filter((function(t){return c.indexOf(t)>=0}));0===u.length&&(u=d);var f=u.reduce((function(e,i){return e[i]=ii(t,{placement:i,boundary:s,rootBoundary:o,padding:r})[be(i)],e}),{});return Object.keys(f).sort((function(t,e){return f[t]-f[e]}))}const si={name:"flip",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name;if(!e.modifiersData[n]._skip){for(var s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0===r||r,l=i.fallbackPlacements,c=i.padding,h=i.boundary,d=i.rootBoundary,u=i.altBoundary,f=i.flipVariations,p=void 0===f||f,m=i.allowedAutoPlacements,g=e.options.placement,_=be(g),b=l||(_!==g&&p?function(t){if(be(t)===Kt)return[];var e=Ve(t);return[Qe(t),e,Qe(e)]}(g):[Ve(g)]),v=[g].concat(b).reduce((function(t,i){return t.concat(be(i)===Kt?ni(e,{placement:i,boundary:h,rootBoundary:d,padding:c,flipVariations:p,allowedAutoPlacements:m}):i)}),[]),y=e.rects.reference,w=e.rects.popper,A=new Map,E=!0,T=v[0],C=0;C=0,S=L?"width":"height",D=ii(e,{placement:O,boundary:h,rootBoundary:d,altBoundary:u,padding:c}),$=L?k?qt:Vt:k?Rt:zt;y[S]>w[S]&&($=Ve($));var I=Ve($),N=[];if(o&&N.push(D[x]<=0),a&&N.push(D[$]<=0,D[I]<=0),N.every((function(t){return t}))){T=O,E=!1;break}A.set(O,N)}if(E)for(var P=function(t){var e=v.find((function(e){var i=A.get(e);if(i)return i.slice(0,t).every((function(t){return t}))}));if(e)return T=e,"break"},M=p?3:1;M>0&&"break"!==P(M);M--);e.placement!==T&&(e.modifiersData[n]._skip=!0,e.placement=T,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function oi(t,e,i){return void 0===i&&(i={x:0,y:0}),{top:t.top-e.height-i.y,right:t.right-e.width+i.x,bottom:t.bottom-e.height+i.y,left:t.left-e.width-i.x}}function ri(t){return[zt,qt,Rt,Vt].some((function(e){return t[e]>=0}))}const ai={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(t){var e=t.state,i=t.name,n=e.rects.reference,s=e.rects.popper,o=e.modifiersData.preventOverflow,r=ii(e,{elementContext:"reference"}),a=ii(e,{altBoundary:!0}),l=oi(r,n),c=oi(a,s,o),h=ri(l),d=ri(c);e.modifiersData[i]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:h,hasPopperEscaped:d},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":d})}},li={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.offset,o=void 0===s?[0,0]:s,r=ee.reduce((function(t,i){return t[i]=function(t,e,i){var n=be(t),s=[Vt,zt].indexOf(n)>=0?-1:1,o="function"==typeof i?i(Object.assign({},e,{placement:t})):i,r=o[0],a=o[1];return r=r||0,a=(a||0)*s,[Vt,qt].indexOf(n)>=0?{x:a,y:r}:{x:r,y:a}}(i,e.rects,o),t}),{}),a=r[e.placement],l=a.x,c=a.y;null!=e.modifiersData.popperOffsets&&(e.modifiersData.popperOffsets.x+=l,e.modifiersData.popperOffsets.y+=c),e.modifiersData[n]=r}},ci={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var e=t.state,i=t.name;e.modifiersData[i]=ei({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})},data:{}},hi={name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0!==r&&r,l=i.boundary,c=i.rootBoundary,h=i.altBoundary,d=i.padding,u=i.tether,f=void 0===u||u,p=i.tetherOffset,m=void 0===p?0:p,g=ii(e,{boundary:l,rootBoundary:c,padding:d,altBoundary:h}),_=be(e.placement),b=Fe(e.placement),v=!b,y=Ie(_),w="x"===y?"y":"x",A=e.modifiersData.popperOffsets,E=e.rects.reference,T=e.rects.popper,C="function"==typeof m?m(Object.assign({},e.rects,{placement:e.placement})):m,O="number"==typeof C?{mainAxis:C,altAxis:C}:Object.assign({mainAxis:0,altAxis:0},C),x=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,k={x:0,y:0};if(A){if(o){var L,S="y"===y?zt:Vt,D="y"===y?Rt:qt,$="y"===y?"height":"width",I=A[y],N=I+g[S],P=I-g[D],M=f?-T[$]/2:0,j=b===Xt?E[$]:T[$],F=b===Xt?-T[$]:-E[$],H=e.elements.arrow,W=f&&H?Ce(H):{width:0,height:0},B=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},z=B[S],R=B[D],q=Ne(0,E[$],W[$]),V=v?E[$]/2-M-q-z-O.mainAxis:j-q-z-O.mainAxis,K=v?-E[$]/2+M+q+R+O.mainAxis:F+q+R+O.mainAxis,Q=e.elements.arrow&&$e(e.elements.arrow),X=Q?"y"===y?Q.clientTop||0:Q.clientLeft||0:0,Y=null!=(L=null==x?void 0:x[y])?L:0,U=I+K-Y,G=Ne(f?ye(N,I+V-Y-X):N,I,f?ve(P,U):P);A[y]=G,k[y]=G-I}if(a){var J,Z="x"===y?zt:Vt,tt="x"===y?Rt:qt,et=A[w],it="y"===w?"height":"width",nt=et+g[Z],st=et-g[tt],ot=-1!==[zt,Vt].indexOf(_),rt=null!=(J=null==x?void 0:x[w])?J:0,at=ot?nt:et-E[it]-T[it]-rt+O.altAxis,lt=ot?et+E[it]+T[it]-rt-O.altAxis:st,ct=f&&ot?function(t,e,i){var n=Ne(t,e,i);return n>i?i:n}(at,et,lt):Ne(f?at:nt,et,f?lt:st);A[w]=ct,k[w]=ct-et}e.modifiersData[n]=k}},requiresIfExists:["offset"]};function di(t,e,i){void 0===i&&(i=!1);var n,s,o=me(e),r=me(e)&&function(t){var e=t.getBoundingClientRect(),i=we(e.width)/t.offsetWidth||1,n=we(e.height)/t.offsetHeight||1;return 1!==i||1!==n}(e),a=Le(e),l=Te(t,r,i),c={scrollLeft:0,scrollTop:0},h={x:0,y:0};return(o||!o&&!i)&&(("body"!==ue(e)||Ue(a))&&(c=(n=e)!==fe(n)&&me(n)?{scrollLeft:(s=n).scrollLeft,scrollTop:s.scrollTop}:Xe(n)),me(e)?((h=Te(e,!0)).x+=e.clientLeft,h.y+=e.clientTop):a&&(h.x=Ye(a))),{x:l.left+c.scrollLeft-h.x,y:l.top+c.scrollTop-h.y,width:l.width,height:l.height}}function ui(t){var e=new Map,i=new Set,n=[];function s(t){i.add(t.name),[].concat(t.requires||[],t.requiresIfExists||[]).forEach((function(t){if(!i.has(t)){var n=e.get(t);n&&s(n)}})),n.push(t)}return t.forEach((function(t){e.set(t.name,t)})),t.forEach((function(t){i.has(t.name)||s(t)})),n}var fi={placement:"bottom",modifiers:[],strategy:"absolute"};function pi(){for(var t=arguments.length,e=new Array(t),i=0;iNumber.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||"static"===this._config.display)&&(F.setDataAttribute(this._menu,"popper","static"),t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,...g(this._config.popperConfig,[t])}}_selectMenuItem({key:t,target:e}){const i=z.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter((t=>a(t)));i.length&&b(i,e,t===Ti,!i.includes(e)).focus()}static jQueryInterface(t){return this.each((function(){const e=qi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}static clearMenus(t){if(2===t.button||"keyup"===t.type&&"Tab"!==t.key)return;const e=z.find(Ni);for(const i of e){const e=qi.getInstance(i);if(!e||!1===e._config.autoClose)continue;const n=t.composedPath(),s=n.includes(e._menu);if(n.includes(e._element)||"inside"===e._config.autoClose&&!s||"outside"===e._config.autoClose&&s)continue;if(e._menu.contains(t.target)&&("keyup"===t.type&&"Tab"===t.key||/input|select|option|textarea|form/i.test(t.target.tagName)))continue;const o={relatedTarget:e._element};"click"===t.type&&(o.clickEvent=t),e._completeHide(o)}}static dataApiKeydownHandler(t){const e=/input|textarea/i.test(t.target.tagName),i="Escape"===t.key,n=[Ei,Ti].includes(t.key);if(!n&&!i)return;if(e&&!i)return;t.preventDefault();const s=this.matches(Ii)?this:z.prev(this,Ii)[0]||z.next(this,Ii)[0]||z.findOne(Ii,t.delegateTarget.parentNode),o=qi.getOrCreateInstance(s);if(n)return t.stopPropagation(),o.show(),void o._selectMenuItem(t);o._isShown()&&(t.stopPropagation(),o.hide(),s.focus())}}N.on(document,Si,Ii,qi.dataApiKeydownHandler),N.on(document,Si,Pi,qi.dataApiKeydownHandler),N.on(document,Li,qi.clearMenus),N.on(document,Di,qi.clearMenus),N.on(document,Li,Ii,(function(t){t.preventDefault(),qi.getOrCreateInstance(this).toggle()})),m(qi);const Vi="backdrop",Ki="show",Qi=`mousedown.bs.${Vi}`,Xi={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},Yi={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class Ui extends H{constructor(t){super(),this._config=this._getConfig(t),this._isAppended=!1,this._element=null}static get Default(){return Xi}static get DefaultType(){return Yi}static get NAME(){return Vi}show(t){if(!this._config.isVisible)return void g(t);this._append();const e=this._getElement();this._config.isAnimated&&d(e),e.classList.add(Ki),this._emulateAnimation((()=>{g(t)}))}hide(t){this._config.isVisible?(this._getElement().classList.remove(Ki),this._emulateAnimation((()=>{this.dispose(),g(t)}))):g(t)}dispose(){this._isAppended&&(N.off(this._element,Qi),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const t=document.createElement("div");t.className=this._config.className,this._config.isAnimated&&t.classList.add("fade"),this._element=t}return this._element}_configAfterMerge(t){return t.rootElement=r(t.rootElement),t}_append(){if(this._isAppended)return;const t=this._getElement();this._config.rootElement.append(t),N.on(t,Qi,(()=>{g(this._config.clickCallback)})),this._isAppended=!0}_emulateAnimation(t){_(t,this._getElement(),this._config.isAnimated)}}const Gi=".bs.focustrap",Ji=`focusin${Gi}`,Zi=`keydown.tab${Gi}`,tn="backward",en={autofocus:!0,trapElement:null},nn={autofocus:"boolean",trapElement:"element"};class sn extends H{constructor(t){super(),this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return en}static get DefaultType(){return nn}static get NAME(){return"focustrap"}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),N.off(document,Gi),N.on(document,Ji,(t=>this._handleFocusin(t))),N.on(document,Zi,(t=>this._handleKeydown(t))),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,N.off(document,Gi))}_handleFocusin(t){const{trapElement:e}=this._config;if(t.target===document||t.target===e||e.contains(t.target))return;const i=z.focusableChildren(e);0===i.length?e.focus():this._lastTabNavDirection===tn?i[i.length-1].focus():i[0].focus()}_handleKeydown(t){"Tab"===t.key&&(this._lastTabNavDirection=t.shiftKey?tn:"forward")}}const on=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",rn=".sticky-top",an="padding-right",ln="margin-right";class cn{constructor(){this._element=document.body}getWidth(){const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,an,(e=>e+t)),this._setElementAttributes(on,an,(e=>e+t)),this._setElementAttributes(rn,ln,(e=>e-t))}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,an),this._resetElementAttributes(on,an),this._resetElementAttributes(rn,ln)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,i){const n=this.getWidth();this._applyManipulationCallback(t,(t=>{if(t!==this._element&&window.innerWidth>t.clientWidth+n)return;this._saveInitialAttribute(t,e);const s=window.getComputedStyle(t).getPropertyValue(e);t.style.setProperty(e,`${i(Number.parseFloat(s))}px`)}))}_saveInitialAttribute(t,e){const i=t.style.getPropertyValue(e);i&&F.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,(t=>{const i=F.getDataAttribute(t,e);null!==i?(F.removeDataAttribute(t,e),t.style.setProperty(e,i)):t.style.removeProperty(e)}))}_applyManipulationCallback(t,e){if(o(t))e(t);else for(const i of z.find(t,this._element))e(i)}}const hn=".bs.modal",dn=`hide${hn}`,un=`hidePrevented${hn}`,fn=`hidden${hn}`,pn=`show${hn}`,mn=`shown${hn}`,gn=`resize${hn}`,_n=`click.dismiss${hn}`,bn=`mousedown.dismiss${hn}`,vn=`keydown.dismiss${hn}`,yn=`click${hn}.data-api`,wn="modal-open",An="show",En="modal-static",Tn={backdrop:!0,focus:!0,keyboard:!0},Cn={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class On extends W{constructor(t,e){super(t,e),this._dialog=z.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new cn,this._addEventListeners()}static get Default(){return Tn}static get DefaultType(){return Cn}static get NAME(){return"modal"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||N.trigger(this._element,pn,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(wn),this._adjustDialog(),this._backdrop.show((()=>this._showElement(t))))}hide(){this._isShown&&!this._isTransitioning&&(N.trigger(this._element,dn).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(An),this._queueCallback((()=>this._hideModal()),this._element,this._isAnimated())))}dispose(){N.off(window,hn),N.off(this._dialog,hn),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new Ui({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new sn({trapElement:this._element})}_showElement(t){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const e=z.findOne(".modal-body",this._dialog);e&&(e.scrollTop=0),d(this._element),this._element.classList.add(An),this._queueCallback((()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,N.trigger(this._element,mn,{relatedTarget:t})}),this._dialog,this._isAnimated())}_addEventListeners(){N.on(this._element,vn,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():this._triggerBackdropTransition())})),N.on(window,gn,(()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()})),N.on(this._element,bn,(t=>{N.one(this._element,_n,(e=>{this._element===t.target&&this._element===e.target&&("static"!==this._config.backdrop?this._config.backdrop&&this.hide():this._triggerBackdropTransition())}))}))}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide((()=>{document.body.classList.remove(wn),this._resetAdjustments(),this._scrollBar.reset(),N.trigger(this._element,fn)}))}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(N.trigger(this._element,un).defaultPrevented)return;const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._element.style.overflowY;"hidden"===e||this._element.classList.contains(En)||(t||(this._element.style.overflowY="hidden"),this._element.classList.add(En),this._queueCallback((()=>{this._element.classList.remove(En),this._queueCallback((()=>{this._element.style.overflowY=e}),this._dialog)}),this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),i=e>0;if(i&&!t){const t=p()?"paddingLeft":"paddingRight";this._element.style[t]=`${e}px`}if(!i&&t){const t=p()?"paddingRight":"paddingLeft";this._element.style[t]=`${e}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each((function(){const i=On.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t](e)}}))}}N.on(document,yn,'[data-bs-toggle="modal"]',(function(t){const e=z.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),N.one(e,pn,(t=>{t.defaultPrevented||N.one(e,fn,(()=>{a(this)&&this.focus()}))}));const i=z.findOne(".modal.show");i&&On.getInstance(i).hide(),On.getOrCreateInstance(e).toggle(this)})),R(On),m(On);const xn=".bs.offcanvas",kn=".data-api",Ln=`load${xn}${kn}`,Sn="show",Dn="showing",$n="hiding",In=".offcanvas.show",Nn=`show${xn}`,Pn=`shown${xn}`,Mn=`hide${xn}`,jn=`hidePrevented${xn}`,Fn=`hidden${xn}`,Hn=`resize${xn}`,Wn=`click${xn}${kn}`,Bn=`keydown.dismiss${xn}`,zn={backdrop:!0,keyboard:!0,scroll:!1},Rn={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class qn extends W{constructor(t,e){super(t,e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return zn}static get DefaultType(){return Rn}static get NAME(){return"offcanvas"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||N.trigger(this._element,Nn,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._backdrop.show(),this._config.scroll||(new cn).hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(Dn),this._queueCallback((()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add(Sn),this._element.classList.remove(Dn),N.trigger(this._element,Pn,{relatedTarget:t})}),this._element,!0))}hide(){this._isShown&&(N.trigger(this._element,Mn).defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add($n),this._backdrop.hide(),this._queueCallback((()=>{this._element.classList.remove(Sn,$n),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||(new cn).reset(),N.trigger(this._element,Fn)}),this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const t=Boolean(this._config.backdrop);return new Ui({className:"offcanvas-backdrop",isVisible:t,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:t?()=>{"static"!==this._config.backdrop?this.hide():N.trigger(this._element,jn)}:null})}_initializeFocusTrap(){return new sn({trapElement:this._element})}_addEventListeners(){N.on(this._element,Bn,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():N.trigger(this._element,jn))}))}static jQueryInterface(t){return this.each((function(){const e=qn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}N.on(document,Wn,'[data-bs-toggle="offcanvas"]',(function(t){const e=z.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),l(this))return;N.one(e,Fn,(()=>{a(this)&&this.focus()}));const i=z.findOne(In);i&&i!==e&&qn.getInstance(i).hide(),qn.getOrCreateInstance(e).toggle(this)})),N.on(window,Ln,(()=>{for(const t of z.find(In))qn.getOrCreateInstance(t).show()})),N.on(window,Hn,(()=>{for(const t of z.find("[aria-modal][class*=show][class*=offcanvas-]"))"fixed"!==getComputedStyle(t).position&&qn.getOrCreateInstance(t).hide()})),R(qn),m(qn);const Vn={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},Kn=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Qn=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,Xn=(t,e)=>{const i=t.nodeName.toLowerCase();return e.includes(i)?!Kn.has(i)||Boolean(Qn.test(t.nodeValue)):e.filter((t=>t instanceof RegExp)).some((t=>t.test(i)))},Yn={allowList:Vn,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"

    "},Un={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},Gn={entry:"(string|element|function|null)",selector:"(string|element)"};class Jn extends H{constructor(t){super(),this._config=this._getConfig(t)}static get Default(){return Yn}static get DefaultType(){return Un}static get NAME(){return"TemplateFactory"}getContent(){return Object.values(this._config.content).map((t=>this._resolvePossibleFunction(t))).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(t){return this._checkContent(t),this._config.content={...this._config.content,...t},this}toHtml(){const t=document.createElement("div");t.innerHTML=this._maybeSanitize(this._config.template);for(const[e,i]of Object.entries(this._config.content))this._setContent(t,i,e);const e=t.children[0],i=this._resolvePossibleFunction(this._config.extraClass);return i&&e.classList.add(...i.split(" ")),e}_typeCheckConfig(t){super._typeCheckConfig(t),this._checkContent(t.content)}_checkContent(t){for(const[e,i]of Object.entries(t))super._typeCheckConfig({selector:e,entry:i},Gn)}_setContent(t,e,i){const n=z.findOne(i,t);n&&((e=this._resolvePossibleFunction(e))?o(e)?this._putElementInTemplate(r(e),n):this._config.html?n.innerHTML=this._maybeSanitize(e):n.textContent=e:n.remove())}_maybeSanitize(t){return this._config.sanitize?function(t,e,i){if(!t.length)return t;if(i&&"function"==typeof i)return i(t);const n=(new window.DOMParser).parseFromString(t,"text/html"),s=[].concat(...n.body.querySelectorAll("*"));for(const t of s){const i=t.nodeName.toLowerCase();if(!Object.keys(e).includes(i)){t.remove();continue}const n=[].concat(...t.attributes),s=[].concat(e["*"]||[],e[i]||[]);for(const e of n)Xn(e,s)||t.removeAttribute(e.nodeName)}return n.body.innerHTML}(t,this._config.allowList,this._config.sanitizeFn):t}_resolvePossibleFunction(t){return g(t,[this])}_putElementInTemplate(t,e){if(this._config.html)return e.innerHTML="",void e.append(t);e.textContent=t.textContent}}const Zn=new Set(["sanitize","allowList","sanitizeFn"]),ts="fade",es="show",is=".modal",ns="hide.bs.modal",ss="hover",os="focus",rs={AUTO:"auto",TOP:"top",RIGHT:p()?"left":"right",BOTTOM:"bottom",LEFT:p()?"right":"left"},as={allowList:Vn,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},ls={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class cs extends W{constructor(t,e){if(void 0===vi)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t,e),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return as}static get DefaultType(){return ls}static get NAME(){return"tooltip"}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._activeTrigger.click=!this._activeTrigger.click,this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),N.off(this._element.closest(is),ns,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this._isWithContent()||!this._isEnabled)return;const t=N.trigger(this._element,this.constructor.eventName("show")),e=(c(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(t.defaultPrevented||!e)return;this._disposePopper();const i=this._getTipElement();this._element.setAttribute("aria-describedby",i.getAttribute("id"));const{container:n}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(n.append(i),N.trigger(this._element,this.constructor.eventName("inserted"))),this._popper=this._createPopper(i),i.classList.add(es),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))N.on(t,"mouseover",h);this._queueCallback((()=>{N.trigger(this._element,this.constructor.eventName("shown")),!1===this._isHovered&&this._leave(),this._isHovered=!1}),this.tip,this._isAnimated())}hide(){if(this._isShown()&&!N.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented){if(this._getTipElement().classList.remove(es),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))N.off(t,"mouseover",h);this._activeTrigger.click=!1,this._activeTrigger[os]=!1,this._activeTrigger[ss]=!1,this._isHovered=null,this._queueCallback((()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),N.trigger(this._element,this.constructor.eventName("hidden")))}),this.tip,this._isAnimated())}}update(){this._popper&&this._popper.update()}_isWithContent(){return Boolean(this._getTitle())}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(t){const e=this._getTemplateFactory(t).toHtml();if(!e)return null;e.classList.remove(ts,es),e.classList.add(`bs-${this.constructor.NAME}-auto`);const i=(t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t})(this.constructor.NAME).toString();return e.setAttribute("id",i),this._isAnimated()&&e.classList.add(ts),e}setContent(t){this._newContent=t,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(t){return this._templateFactory?this._templateFactory.changeContent(t):this._templateFactory=new Jn({...this._config,content:t,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{".tooltip-inner":this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(t){return this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(ts)}_isShown(){return this.tip&&this.tip.classList.contains(es)}_createPopper(t){const e=g(this._config.placement,[this,t,this._element]),i=rs[e.toUpperCase()];return bi(this._element,t,this._getPopperConfig(i))}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_resolvePossibleFunction(t){return g(t,[this._element])}_getPopperConfig(t){const e={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:t=>{this._getTipElement().setAttribute("data-popper-placement",t.state.placement)}}]};return{...e,...g(this._config.popperConfig,[e])}}_setListeners(){const t=this._config.trigger.split(" ");for(const e of t)if("click"===e)N.on(this._element,this.constructor.eventName("click"),this._config.selector,(t=>{this._initializeOnDelegatedTarget(t).toggle()}));else if("manual"!==e){const t=e===ss?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),i=e===ss?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");N.on(this._element,t,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusin"===t.type?os:ss]=!0,e._enter()})),N.on(this._element,i,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusout"===t.type?os:ss]=e._element.contains(t.relatedTarget),e._leave()}))}this._hideModalHandler=()=>{this._element&&this.hide()},N.on(this._element.closest(is),ns,this._hideModalHandler)}_fixTitle(){const t=this._element.getAttribute("title");t&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",t),this._element.setAttribute("data-bs-original-title",t),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout((()=>{this._isHovered&&this.show()}),this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout((()=>{this._isHovered||this.hide()}),this._config.delay.hide))}_setTimeout(t,e){clearTimeout(this._timeout),this._timeout=setTimeout(t,e)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(t){const e=F.getDataAttributes(this._element);for(const t of Object.keys(e))Zn.has(t)&&delete e[t];return t={...e,..."object"==typeof t&&t?t:{}},t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t.container=!1===t.container?document.body:r(t.container),"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),t}_getDelegateConfig(){const t={};for(const[e,i]of Object.entries(this._config))this.constructor.Default[e]!==i&&(t[e]=i);return t.selector=!1,t.trigger="manual",t}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(t){return this.each((function(){const e=cs.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}m(cs);const hs={...cs.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},ds={...cs.DefaultType,content:"(null|string|element|function)"};class us extends cs{static get Default(){return hs}static get DefaultType(){return ds}static get NAME(){return"popover"}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{".popover-header":this._getTitle(),".popover-body":this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(t){return this.each((function(){const e=us.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}m(us);const fs=".bs.scrollspy",ps=`activate${fs}`,ms=`click${fs}`,gs=`load${fs}.data-api`,_s="active",bs="[href]",vs=".nav-link",ys=`${vs}, .nav-item > ${vs}, .list-group-item`,ws={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},As={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class Es extends W{constructor(t,e){super(t,e),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement="visible"===getComputedStyle(this._element).overflowY?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return ws}static get DefaultType(){return As}static get NAME(){return"scrollspy"}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const t of this._observableSections.values())this._observer.observe(t)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(t){return t.target=r(t.target)||document.body,t.rootMargin=t.offset?`${t.offset}px 0px -30%`:t.rootMargin,"string"==typeof t.threshold&&(t.threshold=t.threshold.split(",").map((t=>Number.parseFloat(t)))),t}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(N.off(this._config.target,ms),N.on(this._config.target,ms,bs,(t=>{const e=this._observableSections.get(t.target.hash);if(e){t.preventDefault();const i=this._rootElement||window,n=e.offsetTop-this._element.offsetTop;if(i.scrollTo)return void i.scrollTo({top:n,behavior:"smooth"});i.scrollTop=n}})))}_getNewObserver(){const t={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver((t=>this._observerCallback(t)),t)}_observerCallback(t){const e=t=>this._targetLinks.get(`#${t.target.id}`),i=t=>{this._previousScrollData.visibleEntryTop=t.target.offsetTop,this._process(e(t))},n=(this._rootElement||document.documentElement).scrollTop,s=n>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=n;for(const o of t){if(!o.isIntersecting){this._activeTarget=null,this._clearActiveClass(e(o));continue}const t=o.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(s&&t){if(i(o),!n)return}else s||t||i(o)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const t=z.find(bs,this._config.target);for(const e of t){if(!e.hash||l(e))continue;const t=z.findOne(decodeURI(e.hash),this._element);a(t)&&(this._targetLinks.set(decodeURI(e.hash),e),this._observableSections.set(e.hash,t))}}_process(t){this._activeTarget!==t&&(this._clearActiveClass(this._config.target),this._activeTarget=t,t.classList.add(_s),this._activateParents(t),N.trigger(this._element,ps,{relatedTarget:t}))}_activateParents(t){if(t.classList.contains("dropdown-item"))z.findOne(".dropdown-toggle",t.closest(".dropdown")).classList.add(_s);else for(const e of z.parents(t,".nav, .list-group"))for(const t of z.prev(e,ys))t.classList.add(_s)}_clearActiveClass(t){t.classList.remove(_s);const e=z.find(`${bs}.${_s}`,t);for(const t of e)t.classList.remove(_s)}static jQueryInterface(t){return this.each((function(){const e=Es.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}N.on(window,gs,(()=>{for(const t of z.find('[data-bs-spy="scroll"]'))Es.getOrCreateInstance(t)})),m(Es);const Ts=".bs.tab",Cs=`hide${Ts}`,Os=`hidden${Ts}`,xs=`show${Ts}`,ks=`shown${Ts}`,Ls=`click${Ts}`,Ss=`keydown${Ts}`,Ds=`load${Ts}`,$s="ArrowLeft",Is="ArrowRight",Ns="ArrowUp",Ps="ArrowDown",Ms="Home",js="End",Fs="active",Hs="fade",Ws="show",Bs=".dropdown-toggle",zs=`:not(${Bs})`,Rs='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',qs=`.nav-link${zs}, .list-group-item${zs}, [role="tab"]${zs}, ${Rs}`,Vs=`.${Fs}[data-bs-toggle="tab"], .${Fs}[data-bs-toggle="pill"], .${Fs}[data-bs-toggle="list"]`;class Ks extends W{constructor(t){super(t),this._parent=this._element.closest('.list-group, .nav, [role="tablist"]'),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),N.on(this._element,Ss,(t=>this._keydown(t))))}static get NAME(){return"tab"}show(){const t=this._element;if(this._elemIsActive(t))return;const e=this._getActiveElem(),i=e?N.trigger(e,Cs,{relatedTarget:t}):null;N.trigger(t,xs,{relatedTarget:e}).defaultPrevented||i&&i.defaultPrevented||(this._deactivate(e,t),this._activate(t,e))}_activate(t,e){t&&(t.classList.add(Fs),this._activate(z.getElementFromSelector(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.removeAttribute("tabindex"),t.setAttribute("aria-selected",!0),this._toggleDropDown(t,!0),N.trigger(t,ks,{relatedTarget:e})):t.classList.add(Ws)}),t,t.classList.contains(Hs)))}_deactivate(t,e){t&&(t.classList.remove(Fs),t.blur(),this._deactivate(z.getElementFromSelector(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.setAttribute("aria-selected",!1),t.setAttribute("tabindex","-1"),this._toggleDropDown(t,!1),N.trigger(t,Os,{relatedTarget:e})):t.classList.remove(Ws)}),t,t.classList.contains(Hs)))}_keydown(t){if(![$s,Is,Ns,Ps,Ms,js].includes(t.key))return;t.stopPropagation(),t.preventDefault();const e=this._getChildren().filter((t=>!l(t)));let i;if([Ms,js].includes(t.key))i=e[t.key===Ms?0:e.length-1];else{const n=[Is,Ps].includes(t.key);i=b(e,t.target,n,!0)}i&&(i.focus({preventScroll:!0}),Ks.getOrCreateInstance(i).show())}_getChildren(){return z.find(qs,this._parent)}_getActiveElem(){return this._getChildren().find((t=>this._elemIsActive(t)))||null}_setInitialAttributes(t,e){this._setAttributeIfNotExists(t,"role","tablist");for(const t of e)this._setInitialAttributesOnChild(t)}_setInitialAttributesOnChild(t){t=this._getInnerElement(t);const e=this._elemIsActive(t),i=this._getOuterElement(t);t.setAttribute("aria-selected",e),i!==t&&this._setAttributeIfNotExists(i,"role","presentation"),e||t.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(t,"role","tab"),this._setInitialAttributesOnTargetPanel(t)}_setInitialAttributesOnTargetPanel(t){const e=z.getElementFromSelector(t);e&&(this._setAttributeIfNotExists(e,"role","tabpanel"),t.id&&this._setAttributeIfNotExists(e,"aria-labelledby",`${t.id}`))}_toggleDropDown(t,e){const i=this._getOuterElement(t);if(!i.classList.contains("dropdown"))return;const n=(t,n)=>{const s=z.findOne(t,i);s&&s.classList.toggle(n,e)};n(Bs,Fs),n(".dropdown-menu",Ws),i.setAttribute("aria-expanded",e)}_setAttributeIfNotExists(t,e,i){t.hasAttribute(e)||t.setAttribute(e,i)}_elemIsActive(t){return t.classList.contains(Fs)}_getInnerElement(t){return t.matches(qs)?t:z.findOne(qs,t)}_getOuterElement(t){return t.closest(".nav-item, .list-group-item")||t}static jQueryInterface(t){return this.each((function(){const e=Ks.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}N.on(document,Ls,Rs,(function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),l(this)||Ks.getOrCreateInstance(this).show()})),N.on(window,Ds,(()=>{for(const t of z.find(Vs))Ks.getOrCreateInstance(t)})),m(Ks);const Qs=".bs.toast",Xs=`mouseover${Qs}`,Ys=`mouseout${Qs}`,Us=`focusin${Qs}`,Gs=`focusout${Qs}`,Js=`hide${Qs}`,Zs=`hidden${Qs}`,to=`show${Qs}`,eo=`shown${Qs}`,io="hide",no="show",so="showing",oo={animation:"boolean",autohide:"boolean",delay:"number"},ro={animation:!0,autohide:!0,delay:5e3};class ao extends W{constructor(t,e){super(t,e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return ro}static get DefaultType(){return oo}static get NAME(){return"toast"}show(){N.trigger(this._element,to).defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove(io),d(this._element),this._element.classList.add(no,so),this._queueCallback((()=>{this._element.classList.remove(so),N.trigger(this._element,eo),this._maybeScheduleHide()}),this._element,this._config.animation))}hide(){this.isShown()&&(N.trigger(this._element,Js).defaultPrevented||(this._element.classList.add(so),this._queueCallback((()=>{this._element.classList.add(io),this._element.classList.remove(so,no),N.trigger(this._element,Zs)}),this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(no),super.dispose()}isShown(){return this._element.classList.contains(no)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout((()=>{this.hide()}),this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":this._hasMouseInteraction=e;break;case"focusin":case"focusout":this._hasKeyboardInteraction=e}if(e)return void this._clearTimeout();const i=t.relatedTarget;this._element===i||this._element.contains(i)||this._maybeScheduleHide()}_setListeners(){N.on(this._element,Xs,(t=>this._onInteraction(t,!0))),N.on(this._element,Ys,(t=>this._onInteraction(t,!1))),N.on(this._element,Us,(t=>this._onInteraction(t,!0))),N.on(this._element,Gs,(t=>this._onInteraction(t,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=ao.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}return R(ao),m(ao),{Alert:Q,Button:Y,Carousel:xt,Collapse:Bt,Dropdown:qi,Modal:On,Offcanvas:qn,Popover:us,ScrollSpy:Es,Tab:Ks,Toast:ao,Tooltip:cs}})); +//# sourceMappingURL=bootstrap.bundle.min.js.map \ No newline at end of file diff --git a/wwws/admin/src/static/lib/codemirror/codemirror.css b/wwws/admin/src/static/lib/codemirror/codemirror.css new file mode 100644 index 0000000..f4d5718 --- /dev/null +++ b/wwws/admin/src/static/lib/codemirror/codemirror.css @@ -0,0 +1,344 @@ +/* BASICS */ + +.CodeMirror { + /* Set height, width, borders, and global font properties here */ + font-family: monospace; + height: 300px; + color: black; + direction: ltr; +} + +/* PADDING */ + +.CodeMirror-lines { + padding: 4px 0; /* Vertical padding around content */ +} +.CodeMirror pre.CodeMirror-line, +.CodeMirror pre.CodeMirror-line-like { + padding: 0 4px; /* Horizontal padding of content */ +} + +.CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler { + background-color: white; /* The little square between H and V scrollbars */ +} + +/* GUTTER */ + +.CodeMirror-gutters { + border-right: 1px solid #ddd; + background-color: #f7f7f7; + white-space: nowrap; +} +.CodeMirror-linenumbers {} +.CodeMirror-linenumber { + padding: 0 3px 0 5px; + min-width: 20px; + text-align: right; + color: #999; + white-space: nowrap; +} + +.CodeMirror-guttermarker { color: black; } +.CodeMirror-guttermarker-subtle { color: #999; } + +/* CURSOR */ + +.CodeMirror-cursor { + border-left: 1px solid black; + border-right: none; + width: 0; +} +/* Shown when moving in bi-directional text */ +.CodeMirror div.CodeMirror-secondarycursor { + border-left: 1px solid silver; +} +.cm-fat-cursor .CodeMirror-cursor { + width: auto; + border: 0 !important; + background: #7e7; +} +.cm-fat-cursor div.CodeMirror-cursors { + z-index: 1; +} +.cm-fat-cursor .CodeMirror-line::selection, +.cm-fat-cursor .CodeMirror-line > span::selection, +.cm-fat-cursor .CodeMirror-line > span > span::selection { background: transparent; } +.cm-fat-cursor .CodeMirror-line::-moz-selection, +.cm-fat-cursor .CodeMirror-line > span::-moz-selection, +.cm-fat-cursor .CodeMirror-line > span > span::-moz-selection { background: transparent; } +.cm-fat-cursor { caret-color: transparent; } +@-moz-keyframes blink { + 0% {} + 50% { background-color: transparent; } + 100% {} +} +@-webkit-keyframes blink { + 0% {} + 50% { background-color: transparent; } + 100% {} +} +@keyframes blink { + 0% {} + 50% { background-color: transparent; } + 100% {} +} + +/* Can style cursor different in overwrite (non-insert) mode */ +.CodeMirror-overwrite .CodeMirror-cursor {} + +.cm-tab { display: inline-block; text-decoration: inherit; } + +.CodeMirror-rulers { + position: absolute; + left: 0; right: 0; top: -50px; bottom: 0; + overflow: hidden; +} +.CodeMirror-ruler { + border-left: 1px solid #ccc; + top: 0; bottom: 0; + position: absolute; +} + +/* DEFAULT THEME */ + +.cm-s-default .cm-header {color: blue;} +.cm-s-default .cm-quote {color: #090;} +.cm-negative {color: #d44;} +.cm-positive {color: #292;} +.cm-header, .cm-strong {font-weight: bold;} +.cm-em {font-style: italic;} +.cm-link {text-decoration: underline;} +.cm-strikethrough {text-decoration: line-through;} + +.cm-s-default .cm-keyword {color: #708;} +.cm-s-default .cm-atom {color: #219;} +.cm-s-default .cm-number {color: #164;} +.cm-s-default .cm-def {color: #00f;} +.cm-s-default .cm-variable, +.cm-s-default .cm-punctuation, +.cm-s-default .cm-property, +.cm-s-default .cm-operator {} +.cm-s-default .cm-variable-2 {color: #05a;} +.cm-s-default .cm-variable-3, .cm-s-default .cm-type {color: #085;} +.cm-s-default .cm-comment {color: #a50;} +.cm-s-default .cm-string {color: #a11;} +.cm-s-default .cm-string-2 {color: #f50;} +.cm-s-default .cm-meta {color: #555;} +.cm-s-default .cm-qualifier {color: #555;} +.cm-s-default .cm-builtin {color: #30a;} +.cm-s-default .cm-bracket {color: #997;} +.cm-s-default .cm-tag {color: #170;} +.cm-s-default .cm-attribute {color: #00c;} +.cm-s-default .cm-hr {color: #999;} +.cm-s-default .cm-link {color: #00c;} + +.cm-s-default .cm-error {color: #f00;} +.cm-invalidchar {color: #f00;} + +.CodeMirror-composing { border-bottom: 2px solid; } + +/* Default styles for common addons */ + +div.CodeMirror span.CodeMirror-matchingbracket {color: #0b0;} +div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #a22;} +.CodeMirror-matchingtag { background: rgba(255, 150, 0, .3); } +.CodeMirror-activeline-background {background: #e8f2ff;} + +/* STOP */ + +/* The rest of this file contains styles related to the mechanics of + the editor. You probably shouldn't touch them. */ + +.CodeMirror { + position: relative; + overflow: hidden; + background: white; +} + +.CodeMirror-scroll { + overflow: scroll !important; /* Things will break if this is overridden */ + /* 50px is the magic margin used to hide the element's real scrollbars */ + /* See overflow: hidden in .CodeMirror */ + margin-bottom: -50px; margin-right: -50px; + padding-bottom: 50px; + height: 100%; + outline: none; /* Prevent dragging from highlighting the element */ + position: relative; + z-index: 0; +} +.CodeMirror-sizer { + position: relative; + border-right: 50px solid transparent; +} + +/* The fake, visible scrollbars. Used to force redraw during scrolling + before actual scrolling happens, thus preventing shaking and + flickering artifacts. */ +.CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler { + position: absolute; + z-index: 6; + display: none; + outline: none; +} +.CodeMirror-vscrollbar { + right: 0; top: 0; + overflow-x: hidden; + overflow-y: scroll; +} +.CodeMirror-hscrollbar { + bottom: 0; left: 0; + overflow-y: hidden; + overflow-x: scroll; +} +.CodeMirror-scrollbar-filler { + right: 0; bottom: 0; +} +.CodeMirror-gutter-filler { + left: 0; bottom: 0; +} + +.CodeMirror-gutters { + position: absolute; left: 0; top: 0; + min-height: 100%; + z-index: 3; +} +.CodeMirror-gutter { + white-space: normal; + height: 100%; + display: inline-block; + vertical-align: top; + margin-bottom: -50px; +} +.CodeMirror-gutter-wrapper { + position: absolute; + z-index: 4; + background: none !important; + border: none !important; +} +.CodeMirror-gutter-background { + position: absolute; + top: 0; bottom: 0; + z-index: 4; +} +.CodeMirror-gutter-elt { + position: absolute; + cursor: default; + z-index: 4; +} +.CodeMirror-gutter-wrapper ::selection { background-color: transparent } +.CodeMirror-gutter-wrapper ::-moz-selection { background-color: transparent } + +.CodeMirror-lines { + cursor: text; + min-height: 1px; /* prevents collapsing before first draw */ +} +.CodeMirror pre.CodeMirror-line, +.CodeMirror pre.CodeMirror-line-like { + /* Reset some styles that the rest of the page might have set */ + -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0; + border-width: 0; + background: transparent; + font-family: inherit; + font-size: inherit; + margin: 0; + white-space: pre; + word-wrap: normal; + line-height: inherit; + color: inherit; + z-index: 2; + position: relative; + overflow: visible; + -webkit-tap-highlight-color: transparent; + -webkit-font-variant-ligatures: contextual; + font-variant-ligatures: contextual; +} +.CodeMirror-wrap pre.CodeMirror-line, +.CodeMirror-wrap pre.CodeMirror-line-like { + word-wrap: break-word; + white-space: pre-wrap; + word-break: normal; +} + +.CodeMirror-linebackground { + position: absolute; + left: 0; right: 0; top: 0; bottom: 0; + z-index: 0; +} + +.CodeMirror-linewidget { + position: relative; + z-index: 2; + padding: 0.1px; /* Force widget margins to stay inside of the container */ +} + +.CodeMirror-widget {} + +.CodeMirror-rtl pre { direction: rtl; } + +.CodeMirror-code { + outline: none; +} + +/* Force content-box sizing for the elements where we expect it */ +.CodeMirror-scroll, +.CodeMirror-sizer, +.CodeMirror-gutter, +.CodeMirror-gutters, +.CodeMirror-linenumber { + -moz-box-sizing: content-box; + box-sizing: content-box; +} + +.CodeMirror-measure { + position: absolute; + width: 100%; + height: 0; + overflow: hidden; + visibility: hidden; +} + +.CodeMirror-cursor { + position: absolute; + pointer-events: none; +} +.CodeMirror-measure pre { position: static; } + +div.CodeMirror-cursors { + visibility: hidden; + position: relative; + z-index: 3; +} +div.CodeMirror-dragcursors { + visibility: visible; +} + +.CodeMirror-focused div.CodeMirror-cursors { + visibility: visible; +} + +.CodeMirror-selected { background: #d9d9d9; } +.CodeMirror-focused .CodeMirror-selected { background: #d7d4f0; } +.CodeMirror-crosshair { cursor: crosshair; } +.CodeMirror-line::selection, .CodeMirror-line > span::selection, .CodeMirror-line > span > span::selection { background: #d7d4f0; } +.CodeMirror-line::-moz-selection, .CodeMirror-line > span::-moz-selection, .CodeMirror-line > span > span::-moz-selection { background: #d7d4f0; } + +.cm-searching { + background-color: #ffa; + background-color: rgba(255, 255, 0, .4); +} + +/* Used to force a border model for a node */ +.cm-force-border { padding-right: .1px; } + +@media print { + /* Hide the cursor when printing */ + .CodeMirror div.CodeMirror-cursors { + visibility: hidden; + } +} + +/* See issue #2901 */ +.cm-tab-wrap-hack:after { content: ''; } + +/* Help users use markselection to safely style text background */ +span.CodeMirror-selectedtext { background: none; } diff --git a/wwws/admin/src/static/lib/codemirror/codemirror.js b/wwws/admin/src/static/lib/codemirror/codemirror.js new file mode 100644 index 0000000..7687cd0 --- /dev/null +++ b/wwws/admin/src/static/lib/codemirror/codemirror.js @@ -0,0 +1,9884 @@ +// CodeMirror, copyright (c) by Marijn Haverbeke and others +// Distributed under an MIT license: https://codemirror.net/5/LICENSE + +// This is CodeMirror (https://codemirror.net/5), a code editor +// implemented in JavaScript on top of the browser's DOM. +// +// You can find some technical background for some of the code below +// at http://marijnhaverbeke.nl/blog/#cm-internals . + +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global = global || self, global.CodeMirror = factory()); +}(this, (function () { 'use strict'; + + // Kludges for bugs and behavior differences that can't be feature + // detected are enabled based on userAgent etc sniffing. + var userAgent = navigator.userAgent; + var platform = navigator.platform; + + var gecko = /gecko\/\d/i.test(userAgent); + var ie_upto10 = /MSIE \d/.test(userAgent); + var ie_11up = /Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(userAgent); + var edge = /Edge\/(\d+)/.exec(userAgent); + var ie = ie_upto10 || ie_11up || edge; + var ie_version = ie && (ie_upto10 ? document.documentMode || 6 : +(edge || ie_11up)[1]); + var webkit = !edge && /WebKit\//.test(userAgent); + var qtwebkit = webkit && /Qt\/\d+\.\d+/.test(userAgent); + var chrome = !edge && /Chrome\/(\d+)/.exec(userAgent); + var chrome_version = chrome && +chrome[1]; + var presto = /Opera\//.test(userAgent); + var safari = /Apple Computer/.test(navigator.vendor); + var mac_geMountainLion = /Mac OS X 1\d\D([8-9]|\d\d)\D/.test(userAgent); + var phantom = /PhantomJS/.test(userAgent); + + var ios = safari && (/Mobile\/\w+/.test(userAgent) || navigator.maxTouchPoints > 2); + var android = /Android/.test(userAgent); + // This is woefully incomplete. Suggestions for alternative methods welcome. + var mobile = ios || android || /webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(userAgent); + var mac = ios || /Mac/.test(platform); + var chromeOS = /\bCrOS\b/.test(userAgent); + var windows = /win/i.test(platform); + + var presto_version = presto && userAgent.match(/Version\/(\d*\.\d*)/); + if (presto_version) { presto_version = Number(presto_version[1]); } + if (presto_version && presto_version >= 15) { presto = false; webkit = true; } + // Some browsers use the wrong event properties to signal cmd/ctrl on OS X + var flipCtrlCmd = mac && (qtwebkit || presto && (presto_version == null || presto_version < 12.11)); + var captureRightClick = gecko || (ie && ie_version >= 9); + + function classTest(cls) { return new RegExp("(^|\\s)" + cls + "(?:$|\\s)\\s*") } + + var rmClass = function(node, cls) { + var current = node.className; + var match = classTest(cls).exec(current); + if (match) { + var after = current.slice(match.index + match[0].length); + node.className = current.slice(0, match.index) + (after ? match[1] + after : ""); + } + }; + + function removeChildren(e) { + for (var count = e.childNodes.length; count > 0; --count) + { e.removeChild(e.firstChild); } + return e + } + + function removeChildrenAndAdd(parent, e) { + return removeChildren(parent).appendChild(e) + } + + function elt(tag, content, className, style) { + var e = document.createElement(tag); + if (className) { e.className = className; } + if (style) { e.style.cssText = style; } + if (typeof content == "string") { e.appendChild(document.createTextNode(content)); } + else if (content) { for (var i = 0; i < content.length; ++i) { e.appendChild(content[i]); } } + return e + } + // wrapper for elt, which removes the elt from the accessibility tree + function eltP(tag, content, className, style) { + var e = elt(tag, content, className, style); + e.setAttribute("role", "presentation"); + return e + } + + var range; + if (document.createRange) { range = function(node, start, end, endNode) { + var r = document.createRange(); + r.setEnd(endNode || node, end); + r.setStart(node, start); + return r + }; } + else { range = function(node, start, end) { + var r = document.body.createTextRange(); + try { r.moveToElementText(node.parentNode); } + catch(e) { return r } + r.collapse(true); + r.moveEnd("character", end); + r.moveStart("character", start); + return r + }; } + + function contains(parent, child) { + if (child.nodeType == 3) // Android browser always returns false when child is a textnode + { child = child.parentNode; } + if (parent.contains) + { return parent.contains(child) } + do { + if (child.nodeType == 11) { child = child.host; } + if (child == parent) { return true } + } while (child = child.parentNode) + } + + function activeElt(rootNode) { + // IE and Edge may throw an "Unspecified Error" when accessing document.activeElement. + // IE < 10 will throw when accessed while the page is loading or in an iframe. + // IE > 9 and Edge will throw when accessed in an iframe if document.body is unavailable. + var doc = rootNode.ownerDocument || rootNode; + var activeElement; + try { + activeElement = rootNode.activeElement; + } catch(e) { + activeElement = doc.body || null; + } + while (activeElement && activeElement.shadowRoot && activeElement.shadowRoot.activeElement) + { activeElement = activeElement.shadowRoot.activeElement; } + return activeElement + } + + function addClass(node, cls) { + var current = node.className; + if (!classTest(cls).test(current)) { node.className += (current ? " " : "") + cls; } + } + function joinClasses(a, b) { + var as = a.split(" "); + for (var i = 0; i < as.length; i++) + { if (as[i] && !classTest(as[i]).test(b)) { b += " " + as[i]; } } + return b + } + + var selectInput = function(node) { node.select(); }; + if (ios) // Mobile Safari apparently has a bug where select() is broken. + { selectInput = function(node) { node.selectionStart = 0; node.selectionEnd = node.value.length; }; } + else if (ie) // Suppress mysterious IE10 errors + { selectInput = function(node) { try { node.select(); } catch(_e) {} }; } + + function doc(cm) { return cm.display.wrapper.ownerDocument } + + function root(cm) { + return rootNode(cm.display.wrapper) + } + + function rootNode(element) { + // Detect modern browsers (2017+). + return element.getRootNode ? element.getRootNode() : element.ownerDocument + } + + function win(cm) { return doc(cm).defaultView } + + function bind(f) { + var args = Array.prototype.slice.call(arguments, 1); + return function(){return f.apply(null, args)} + } + + function copyObj(obj, target, overwrite) { + if (!target) { target = {}; } + for (var prop in obj) + { if (obj.hasOwnProperty(prop) && (overwrite !== false || !target.hasOwnProperty(prop))) + { target[prop] = obj[prop]; } } + return target + } + + // Counts the column offset in a string, taking tabs into account. + // Used mostly to find indentation. + function countColumn(string, end, tabSize, startIndex, startValue) { + if (end == null) { + end = string.search(/[^\s\u00a0]/); + if (end == -1) { end = string.length; } + } + for (var i = startIndex || 0, n = startValue || 0;;) { + var nextTab = string.indexOf("\t", i); + if (nextTab < 0 || nextTab >= end) + { return n + (end - i) } + n += nextTab - i; + n += tabSize - (n % tabSize); + i = nextTab + 1; + } + } + + var Delayed = function() { + this.id = null; + this.f = null; + this.time = 0; + this.handler = bind(this.onTimeout, this); + }; + Delayed.prototype.onTimeout = function (self) { + self.id = 0; + if (self.time <= +new Date) { + self.f(); + } else { + setTimeout(self.handler, self.time - +new Date); + } + }; + Delayed.prototype.set = function (ms, f) { + this.f = f; + var time = +new Date + ms; + if (!this.id || time < this.time) { + clearTimeout(this.id); + this.id = setTimeout(this.handler, ms); + this.time = time; + } + }; + + function indexOf(array, elt) { + for (var i = 0; i < array.length; ++i) + { if (array[i] == elt) { return i } } + return -1 + } + + // Number of pixels added to scroller and sizer to hide scrollbar + var scrollerGap = 50; + + // Returned or thrown by various protocols to signal 'I'm not + // handling this'. + var Pass = {toString: function(){return "CodeMirror.Pass"}}; + + // Reused option objects for setSelection & friends + var sel_dontScroll = {scroll: false}, sel_mouse = {origin: "*mouse"}, sel_move = {origin: "+move"}; + + // The inverse of countColumn -- find the offset that corresponds to + // a particular column. + function findColumn(string, goal, tabSize) { + for (var pos = 0, col = 0;;) { + var nextTab = string.indexOf("\t", pos); + if (nextTab == -1) { nextTab = string.length; } + var skipped = nextTab - pos; + if (nextTab == string.length || col + skipped >= goal) + { return pos + Math.min(skipped, goal - col) } + col += nextTab - pos; + col += tabSize - (col % tabSize); + pos = nextTab + 1; + if (col >= goal) { return pos } + } + } + + var spaceStrs = [""]; + function spaceStr(n) { + while (spaceStrs.length <= n) + { spaceStrs.push(lst(spaceStrs) + " "); } + return spaceStrs[n] + } + + function lst(arr) { return arr[arr.length-1] } + + function map(array, f) { + var out = []; + for (var i = 0; i < array.length; i++) { out[i] = f(array[i], i); } + return out + } + + function insertSorted(array, value, score) { + var pos = 0, priority = score(value); + while (pos < array.length && score(array[pos]) <= priority) { pos++; } + array.splice(pos, 0, value); + } + + function nothing() {} + + function createObj(base, props) { + var inst; + if (Object.create) { + inst = Object.create(base); + } else { + nothing.prototype = base; + inst = new nothing(); + } + if (props) { copyObj(props, inst); } + return inst + } + + var nonASCIISingleCaseWordChar = /[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/; + function isWordCharBasic(ch) { + return /\w/.test(ch) || ch > "\x80" && + (ch.toUpperCase() != ch.toLowerCase() || nonASCIISingleCaseWordChar.test(ch)) + } + function isWordChar(ch, helper) { + if (!helper) { return isWordCharBasic(ch) } + if (helper.source.indexOf("\\w") > -1 && isWordCharBasic(ch)) { return true } + return helper.test(ch) + } + + function isEmpty(obj) { + for (var n in obj) { if (obj.hasOwnProperty(n) && obj[n]) { return false } } + return true + } + + // Extending unicode characters. A series of a non-extending char + + // any number of extending chars is treated as a single unit as far + // as editing and measuring is concerned. This is not fully correct, + // since some scripts/fonts/browsers also treat other configurations + // of code points as a group. + var extendingChars = /[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/; + function isExtendingChar(ch) { return ch.charCodeAt(0) >= 768 && extendingChars.test(ch) } + + // Returns a number from the range [`0`; `str.length`] unless `pos` is outside that range. + function skipExtendingChars(str, pos, dir) { + while ((dir < 0 ? pos > 0 : pos < str.length) && isExtendingChar(str.charAt(pos))) { pos += dir; } + return pos + } + + // Returns the value from the range [`from`; `to`] that satisfies + // `pred` and is closest to `from`. Assumes that at least `to` + // satisfies `pred`. Supports `from` being greater than `to`. + function findFirst(pred, from, to) { + // At any point we are certain `to` satisfies `pred`, don't know + // whether `from` does. + var dir = from > to ? -1 : 1; + for (;;) { + if (from == to) { return from } + var midF = (from + to) / 2, mid = dir < 0 ? Math.ceil(midF) : Math.floor(midF); + if (mid == from) { return pred(mid) ? from : to } + if (pred(mid)) { to = mid; } + else { from = mid + dir; } + } + } + + // BIDI HELPERS + + function iterateBidiSections(order, from, to, f) { + if (!order) { return f(from, to, "ltr", 0) } + var found = false; + for (var i = 0; i < order.length; ++i) { + var part = order[i]; + if (part.from < to && part.to > from || from == to && part.to == from) { + f(Math.max(part.from, from), Math.min(part.to, to), part.level == 1 ? "rtl" : "ltr", i); + found = true; + } + } + if (!found) { f(from, to, "ltr"); } + } + + var bidiOther = null; + function getBidiPartAt(order, ch, sticky) { + var found; + bidiOther = null; + for (var i = 0; i < order.length; ++i) { + var cur = order[i]; + if (cur.from < ch && cur.to > ch) { return i } + if (cur.to == ch) { + if (cur.from != cur.to && sticky == "before") { found = i; } + else { bidiOther = i; } + } + if (cur.from == ch) { + if (cur.from != cur.to && sticky != "before") { found = i; } + else { bidiOther = i; } + } + } + return found != null ? found : bidiOther + } + + // Bidirectional ordering algorithm + // See http://unicode.org/reports/tr9/tr9-13.html for the algorithm + // that this (partially) implements. + + // One-char codes used for character types: + // L (L): Left-to-Right + // R (R): Right-to-Left + // r (AL): Right-to-Left Arabic + // 1 (EN): European Number + // + (ES): European Number Separator + // % (ET): European Number Terminator + // n (AN): Arabic Number + // , (CS): Common Number Separator + // m (NSM): Non-Spacing Mark + // b (BN): Boundary Neutral + // s (B): Paragraph Separator + // t (S): Segment Separator + // w (WS): Whitespace + // N (ON): Other Neutrals + + // Returns null if characters are ordered as they appear + // (left-to-right), or an array of sections ({from, to, level} + // objects) in the order in which they occur visually. + var bidiOrdering = (function() { + // Character types for codepoints 0 to 0xff + var lowTypes = "bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN"; + // Character types for codepoints 0x600 to 0x6f9 + var arabicTypes = "nnnnnnNNr%%r,rNNmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmnNmmmmmmrrmmNmmmmrr1111111111"; + function charType(code) { + if (code <= 0xf7) { return lowTypes.charAt(code) } + else if (0x590 <= code && code <= 0x5f4) { return "R" } + else if (0x600 <= code && code <= 0x6f9) { return arabicTypes.charAt(code - 0x600) } + else if (0x6ee <= code && code <= 0x8ac) { return "r" } + else if (0x2000 <= code && code <= 0x200b) { return "w" } + else if (code == 0x200c) { return "b" } + else { return "L" } + } + + var bidiRE = /[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/; + var isNeutral = /[stwN]/, isStrong = /[LRr]/, countsAsLeft = /[Lb1n]/, countsAsNum = /[1n]/; + + function BidiSpan(level, from, to) { + this.level = level; + this.from = from; this.to = to; + } + + return function(str, direction) { + var outerType = direction == "ltr" ? "L" : "R"; + + if (str.length == 0 || direction == "ltr" && !bidiRE.test(str)) { return false } + var len = str.length, types = []; + for (var i = 0; i < len; ++i) + { types.push(charType(str.charCodeAt(i))); } + + // W1. Examine each non-spacing mark (NSM) in the level run, and + // change the type of the NSM to the type of the previous + // character. If the NSM is at the start of the level run, it will + // get the type of sor. + for (var i$1 = 0, prev = outerType; i$1 < len; ++i$1) { + var type = types[i$1]; + if (type == "m") { types[i$1] = prev; } + else { prev = type; } + } + + // W2. Search backwards from each instance of a European number + // until the first strong type (R, L, AL, or sor) is found. If an + // AL is found, change the type of the European number to Arabic + // number. + // W3. Change all ALs to R. + for (var i$2 = 0, cur = outerType; i$2 < len; ++i$2) { + var type$1 = types[i$2]; + if (type$1 == "1" && cur == "r") { types[i$2] = "n"; } + else if (isStrong.test(type$1)) { cur = type$1; if (type$1 == "r") { types[i$2] = "R"; } } + } + + // W4. A single European separator between two European numbers + // changes to a European number. A single common separator between + // two numbers of the same type changes to that type. + for (var i$3 = 1, prev$1 = types[0]; i$3 < len - 1; ++i$3) { + var type$2 = types[i$3]; + if (type$2 == "+" && prev$1 == "1" && types[i$3+1] == "1") { types[i$3] = "1"; } + else if (type$2 == "," && prev$1 == types[i$3+1] && + (prev$1 == "1" || prev$1 == "n")) { types[i$3] = prev$1; } + prev$1 = type$2; + } + + // W5. A sequence of European terminators adjacent to European + // numbers changes to all European numbers. + // W6. Otherwise, separators and terminators change to Other + // Neutral. + for (var i$4 = 0; i$4 < len; ++i$4) { + var type$3 = types[i$4]; + if (type$3 == ",") { types[i$4] = "N"; } + else if (type$3 == "%") { + var end = (void 0); + for (end = i$4 + 1; end < len && types[end] == "%"; ++end) {} + var replace = (i$4 && types[i$4-1] == "!") || (end < len && types[end] == "1") ? "1" : "N"; + for (var j = i$4; j < end; ++j) { types[j] = replace; } + i$4 = end - 1; + } + } + + // W7. Search backwards from each instance of a European number + // until the first strong type (R, L, or sor) is found. If an L is + // found, then change the type of the European number to L. + for (var i$5 = 0, cur$1 = outerType; i$5 < len; ++i$5) { + var type$4 = types[i$5]; + if (cur$1 == "L" && type$4 == "1") { types[i$5] = "L"; } + else if (isStrong.test(type$4)) { cur$1 = type$4; } + } + + // N1. A sequence of neutrals takes the direction of the + // surrounding strong text if the text on both sides has the same + // direction. European and Arabic numbers act as if they were R in + // terms of their influence on neutrals. Start-of-level-run (sor) + // and end-of-level-run (eor) are used at level run boundaries. + // N2. Any remaining neutrals take the embedding direction. + for (var i$6 = 0; i$6 < len; ++i$6) { + if (isNeutral.test(types[i$6])) { + var end$1 = (void 0); + for (end$1 = i$6 + 1; end$1 < len && isNeutral.test(types[end$1]); ++end$1) {} + var before = (i$6 ? types[i$6-1] : outerType) == "L"; + var after = (end$1 < len ? types[end$1] : outerType) == "L"; + var replace$1 = before == after ? (before ? "L" : "R") : outerType; + for (var j$1 = i$6; j$1 < end$1; ++j$1) { types[j$1] = replace$1; } + i$6 = end$1 - 1; + } + } + + // Here we depart from the documented algorithm, in order to avoid + // building up an actual levels array. Since there are only three + // levels (0, 1, 2) in an implementation that doesn't take + // explicit embedding into account, we can build up the order on + // the fly, without following the level-based algorithm. + var order = [], m; + for (var i$7 = 0; i$7 < len;) { + if (countsAsLeft.test(types[i$7])) { + var start = i$7; + for (++i$7; i$7 < len && countsAsLeft.test(types[i$7]); ++i$7) {} + order.push(new BidiSpan(0, start, i$7)); + } else { + var pos = i$7, at = order.length, isRTL = direction == "rtl" ? 1 : 0; + for (++i$7; i$7 < len && types[i$7] != "L"; ++i$7) {} + for (var j$2 = pos; j$2 < i$7;) { + if (countsAsNum.test(types[j$2])) { + if (pos < j$2) { order.splice(at, 0, new BidiSpan(1, pos, j$2)); at += isRTL; } + var nstart = j$2; + for (++j$2; j$2 < i$7 && countsAsNum.test(types[j$2]); ++j$2) {} + order.splice(at, 0, new BidiSpan(2, nstart, j$2)); + at += isRTL; + pos = j$2; + } else { ++j$2; } + } + if (pos < i$7) { order.splice(at, 0, new BidiSpan(1, pos, i$7)); } + } + } + if (direction == "ltr") { + if (order[0].level == 1 && (m = str.match(/^\s+/))) { + order[0].from = m[0].length; + order.unshift(new BidiSpan(0, 0, m[0].length)); + } + if (lst(order).level == 1 && (m = str.match(/\s+$/))) { + lst(order).to -= m[0].length; + order.push(new BidiSpan(0, len - m[0].length, len)); + } + } + + return direction == "rtl" ? order.reverse() : order + } + })(); + + // Get the bidi ordering for the given line (and cache it). Returns + // false for lines that are fully left-to-right, and an array of + // BidiSpan objects otherwise. + function getOrder(line, direction) { + var order = line.order; + if (order == null) { order = line.order = bidiOrdering(line.text, direction); } + return order + } + + // EVENT HANDLING + + // Lightweight event framework. on/off also work on DOM nodes, + // registering native DOM handlers. + + var noHandlers = []; + + var on = function(emitter, type, f) { + if (emitter.addEventListener) { + emitter.addEventListener(type, f, false); + } else if (emitter.attachEvent) { + emitter.attachEvent("on" + type, f); + } else { + var map = emitter._handlers || (emitter._handlers = {}); + map[type] = (map[type] || noHandlers).concat(f); + } + }; + + function getHandlers(emitter, type) { + return emitter._handlers && emitter._handlers[type] || noHandlers + } + + function off(emitter, type, f) { + if (emitter.removeEventListener) { + emitter.removeEventListener(type, f, false); + } else if (emitter.detachEvent) { + emitter.detachEvent("on" + type, f); + } else { + var map = emitter._handlers, arr = map && map[type]; + if (arr) { + var index = indexOf(arr, f); + if (index > -1) + { map[type] = arr.slice(0, index).concat(arr.slice(index + 1)); } + } + } + } + + function signal(emitter, type /*, values...*/) { + var handlers = getHandlers(emitter, type); + if (!handlers.length) { return } + var args = Array.prototype.slice.call(arguments, 2); + for (var i = 0; i < handlers.length; ++i) { handlers[i].apply(null, args); } + } + + // The DOM events that CodeMirror handles can be overridden by + // registering a (non-DOM) handler on the editor for the event name, + // and preventDefault-ing the event in that handler. + function signalDOMEvent(cm, e, override) { + if (typeof e == "string") + { e = {type: e, preventDefault: function() { this.defaultPrevented = true; }}; } + signal(cm, override || e.type, cm, e); + return e_defaultPrevented(e) || e.codemirrorIgnore + } + + function signalCursorActivity(cm) { + var arr = cm._handlers && cm._handlers.cursorActivity; + if (!arr) { return } + var set = cm.curOp.cursorActivityHandlers || (cm.curOp.cursorActivityHandlers = []); + for (var i = 0; i < arr.length; ++i) { if (indexOf(set, arr[i]) == -1) + { set.push(arr[i]); } } + } + + function hasHandler(emitter, type) { + return getHandlers(emitter, type).length > 0 + } + + // Add on and off methods to a constructor's prototype, to make + // registering events on such objects more convenient. + function eventMixin(ctor) { + ctor.prototype.on = function(type, f) {on(this, type, f);}; + ctor.prototype.off = function(type, f) {off(this, type, f);}; + } + + // Due to the fact that we still support jurassic IE versions, some + // compatibility wrappers are needed. + + function e_preventDefault(e) { + if (e.preventDefault) { e.preventDefault(); } + else { e.returnValue = false; } + } + function e_stopPropagation(e) { + if (e.stopPropagation) { e.stopPropagation(); } + else { e.cancelBubble = true; } + } + function e_defaultPrevented(e) { + return e.defaultPrevented != null ? e.defaultPrevented : e.returnValue == false + } + function e_stop(e) {e_preventDefault(e); e_stopPropagation(e);} + + function e_target(e) {return e.target || e.srcElement} + function e_button(e) { + var b = e.which; + if (b == null) { + if (e.button & 1) { b = 1; } + else if (e.button & 2) { b = 3; } + else if (e.button & 4) { b = 2; } + } + if (mac && e.ctrlKey && b == 1) { b = 3; } + return b + } + + // Detect drag-and-drop + var dragAndDrop = function() { + // There is *some* kind of drag-and-drop support in IE6-8, but I + // couldn't get it to work yet. + if (ie && ie_version < 9) { return false } + var div = elt('div'); + return "draggable" in div || "dragDrop" in div + }(); + + var zwspSupported; + function zeroWidthElement(measure) { + if (zwspSupported == null) { + var test = elt("span", "\u200b"); + removeChildrenAndAdd(measure, elt("span", [test, document.createTextNode("x")])); + if (measure.firstChild.offsetHeight != 0) + { zwspSupported = test.offsetWidth <= 1 && test.offsetHeight > 2 && !(ie && ie_version < 8); } + } + var node = zwspSupported ? elt("span", "\u200b") : + elt("span", "\u00a0", null, "display: inline-block; width: 1px; margin-right: -1px"); + node.setAttribute("cm-text", ""); + return node + } + + // Feature-detect IE's crummy client rect reporting for bidi text + var badBidiRects; + function hasBadBidiRects(measure) { + if (badBidiRects != null) { return badBidiRects } + var txt = removeChildrenAndAdd(measure, document.createTextNode("A\u062eA")); + var r0 = range(txt, 0, 1).getBoundingClientRect(); + var r1 = range(txt, 1, 2).getBoundingClientRect(); + removeChildren(measure); + if (!r0 || r0.left == r0.right) { return false } // Safari returns null in some cases (#2780) + return badBidiRects = (r1.right - r0.right < 3) + } + + // See if "".split is the broken IE version, if so, provide an + // alternative way to split lines. + var splitLinesAuto = "\n\nb".split(/\n/).length != 3 ? function (string) { + var pos = 0, result = [], l = string.length; + while (pos <= l) { + var nl = string.indexOf("\n", pos); + if (nl == -1) { nl = string.length; } + var line = string.slice(pos, string.charAt(nl - 1) == "\r" ? nl - 1 : nl); + var rt = line.indexOf("\r"); + if (rt != -1) { + result.push(line.slice(0, rt)); + pos += rt + 1; + } else { + result.push(line); + pos = nl + 1; + } + } + return result + } : function (string) { return string.split(/\r\n?|\n/); }; + + var hasSelection = window.getSelection ? function (te) { + try { return te.selectionStart != te.selectionEnd } + catch(e) { return false } + } : function (te) { + var range; + try {range = te.ownerDocument.selection.createRange();} + catch(e) {} + if (!range || range.parentElement() != te) { return false } + return range.compareEndPoints("StartToEnd", range) != 0 + }; + + var hasCopyEvent = (function () { + var e = elt("div"); + if ("oncopy" in e) { return true } + e.setAttribute("oncopy", "return;"); + return typeof e.oncopy == "function" + })(); + + var badZoomedRects = null; + function hasBadZoomedRects(measure) { + if (badZoomedRects != null) { return badZoomedRects } + var node = removeChildrenAndAdd(measure, elt("span", "x")); + var normal = node.getBoundingClientRect(); + var fromRange = range(node, 0, 1).getBoundingClientRect(); + return badZoomedRects = Math.abs(normal.left - fromRange.left) > 1 + } + + // Known modes, by name and by MIME + var modes = {}, mimeModes = {}; + + // Extra arguments are stored as the mode's dependencies, which is + // used by (legacy) mechanisms like loadmode.js to automatically + // load a mode. (Preferred mechanism is the require/define calls.) + function defineMode(name, mode) { + if (arguments.length > 2) + { mode.dependencies = Array.prototype.slice.call(arguments, 2); } + modes[name] = mode; + } + + function defineMIME(mime, spec) { + mimeModes[mime] = spec; + } + + // Given a MIME type, a {name, ...options} config object, or a name + // string, return a mode config object. + function resolveMode(spec) { + if (typeof spec == "string" && mimeModes.hasOwnProperty(spec)) { + spec = mimeModes[spec]; + } else if (spec && typeof spec.name == "string" && mimeModes.hasOwnProperty(spec.name)) { + var found = mimeModes[spec.name]; + if (typeof found == "string") { found = {name: found}; } + spec = createObj(found, spec); + spec.name = found.name; + } else if (typeof spec == "string" && /^[\w\-]+\/[\w\-]+\+xml$/.test(spec)) { + return resolveMode("application/xml") + } else if (typeof spec == "string" && /^[\w\-]+\/[\w\-]+\+json$/.test(spec)) { + return resolveMode("application/json") + } + if (typeof spec == "string") { return {name: spec} } + else { return spec || {name: "null"} } + } + + // Given a mode spec (anything that resolveMode accepts), find and + // initialize an actual mode object. + function getMode(options, spec) { + spec = resolveMode(spec); + var mfactory = modes[spec.name]; + if (!mfactory) { return getMode(options, "text/plain") } + var modeObj = mfactory(options, spec); + if (modeExtensions.hasOwnProperty(spec.name)) { + var exts = modeExtensions[spec.name]; + for (var prop in exts) { + if (!exts.hasOwnProperty(prop)) { continue } + if (modeObj.hasOwnProperty(prop)) { modeObj["_" + prop] = modeObj[prop]; } + modeObj[prop] = exts[prop]; + } + } + modeObj.name = spec.name; + if (spec.helperType) { modeObj.helperType = spec.helperType; } + if (spec.modeProps) { for (var prop$1 in spec.modeProps) + { modeObj[prop$1] = spec.modeProps[prop$1]; } } + + return modeObj + } + + // This can be used to attach properties to mode objects from + // outside the actual mode definition. + var modeExtensions = {}; + function extendMode(mode, properties) { + var exts = modeExtensions.hasOwnProperty(mode) ? modeExtensions[mode] : (modeExtensions[mode] = {}); + copyObj(properties, exts); + } + + function copyState(mode, state) { + if (state === true) { return state } + if (mode.copyState) { return mode.copyState(state) } + var nstate = {}; + for (var n in state) { + var val = state[n]; + if (val instanceof Array) { val = val.concat([]); } + nstate[n] = val; + } + return nstate + } + + // Given a mode and a state (for that mode), find the inner mode and + // state at the position that the state refers to. + function innerMode(mode, state) { + var info; + while (mode.innerMode) { + info = mode.innerMode(state); + if (!info || info.mode == mode) { break } + state = info.state; + mode = info.mode; + } + return info || {mode: mode, state: state} + } + + function startState(mode, a1, a2) { + return mode.startState ? mode.startState(a1, a2) : true + } + + // STRING STREAM + + // Fed to the mode parsers, provides helper functions to make + // parsers more succinct. + + var StringStream = function(string, tabSize, lineOracle) { + this.pos = this.start = 0; + this.string = string; + this.tabSize = tabSize || 8; + this.lastColumnPos = this.lastColumnValue = 0; + this.lineStart = 0; + this.lineOracle = lineOracle; + }; + + StringStream.prototype.eol = function () {return this.pos >= this.string.length}; + StringStream.prototype.sol = function () {return this.pos == this.lineStart}; + StringStream.prototype.peek = function () {return this.string.charAt(this.pos) || undefined}; + StringStream.prototype.next = function () { + if (this.pos < this.string.length) + { return this.string.charAt(this.pos++) } + }; + StringStream.prototype.eat = function (match) { + var ch = this.string.charAt(this.pos); + var ok; + if (typeof match == "string") { ok = ch == match; } + else { ok = ch && (match.test ? match.test(ch) : match(ch)); } + if (ok) {++this.pos; return ch} + }; + StringStream.prototype.eatWhile = function (match) { + var start = this.pos; + while (this.eat(match)){} + return this.pos > start + }; + StringStream.prototype.eatSpace = function () { + var start = this.pos; + while (/[\s\u00a0]/.test(this.string.charAt(this.pos))) { ++this.pos; } + return this.pos > start + }; + StringStream.prototype.skipToEnd = function () {this.pos = this.string.length;}; + StringStream.prototype.skipTo = function (ch) { + var found = this.string.indexOf(ch, this.pos); + if (found > -1) {this.pos = found; return true} + }; + StringStream.prototype.backUp = function (n) {this.pos -= n;}; + StringStream.prototype.column = function () { + if (this.lastColumnPos < this.start) { + this.lastColumnValue = countColumn(this.string, this.start, this.tabSize, this.lastColumnPos, this.lastColumnValue); + this.lastColumnPos = this.start; + } + return this.lastColumnValue - (this.lineStart ? countColumn(this.string, this.lineStart, this.tabSize) : 0) + }; + StringStream.prototype.indentation = function () { + return countColumn(this.string, null, this.tabSize) - + (this.lineStart ? countColumn(this.string, this.lineStart, this.tabSize) : 0) + }; + StringStream.prototype.match = function (pattern, consume, caseInsensitive) { + if (typeof pattern == "string") { + var cased = function (str) { return caseInsensitive ? str.toLowerCase() : str; }; + var substr = this.string.substr(this.pos, pattern.length); + if (cased(substr) == cased(pattern)) { + if (consume !== false) { this.pos += pattern.length; } + return true + } + } else { + var match = this.string.slice(this.pos).match(pattern); + if (match && match.index > 0) { return null } + if (match && consume !== false) { this.pos += match[0].length; } + return match + } + }; + StringStream.prototype.current = function (){return this.string.slice(this.start, this.pos)}; + StringStream.prototype.hideFirstChars = function (n, inner) { + this.lineStart += n; + try { return inner() } + finally { this.lineStart -= n; } + }; + StringStream.prototype.lookAhead = function (n) { + var oracle = this.lineOracle; + return oracle && oracle.lookAhead(n) + }; + StringStream.prototype.baseToken = function () { + var oracle = this.lineOracle; + return oracle && oracle.baseToken(this.pos) + }; + + // Find the line object corresponding to the given line number. + function getLine(doc, n) { + n -= doc.first; + if (n < 0 || n >= doc.size) { throw new Error("There is no line " + (n + doc.first) + " in the document.") } + var chunk = doc; + while (!chunk.lines) { + for (var i = 0;; ++i) { + var child = chunk.children[i], sz = child.chunkSize(); + if (n < sz) { chunk = child; break } + n -= sz; + } + } + return chunk.lines[n] + } + + // Get the part of a document between two positions, as an array of + // strings. + function getBetween(doc, start, end) { + var out = [], n = start.line; + doc.iter(start.line, end.line + 1, function (line) { + var text = line.text; + if (n == end.line) { text = text.slice(0, end.ch); } + if (n == start.line) { text = text.slice(start.ch); } + out.push(text); + ++n; + }); + return out + } + // Get the lines between from and to, as array of strings. + function getLines(doc, from, to) { + var out = []; + doc.iter(from, to, function (line) { out.push(line.text); }); // iter aborts when callback returns truthy value + return out + } + + // Update the height of a line, propagating the height change + // upwards to parent nodes. + function updateLineHeight(line, height) { + var diff = height - line.height; + if (diff) { for (var n = line; n; n = n.parent) { n.height += diff; } } + } + + // Given a line object, find its line number by walking up through + // its parent links. + function lineNo(line) { + if (line.parent == null) { return null } + var cur = line.parent, no = indexOf(cur.lines, line); + for (var chunk = cur.parent; chunk; cur = chunk, chunk = chunk.parent) { + for (var i = 0;; ++i) { + if (chunk.children[i] == cur) { break } + no += chunk.children[i].chunkSize(); + } + } + return no + cur.first + } + + // Find the line at the given vertical position, using the height + // information in the document tree. + function lineAtHeight(chunk, h) { + var n = chunk.first; + outer: do { + for (var i$1 = 0; i$1 < chunk.children.length; ++i$1) { + var child = chunk.children[i$1], ch = child.height; + if (h < ch) { chunk = child; continue outer } + h -= ch; + n += child.chunkSize(); + } + return n + } while (!chunk.lines) + var i = 0; + for (; i < chunk.lines.length; ++i) { + var line = chunk.lines[i], lh = line.height; + if (h < lh) { break } + h -= lh; + } + return n + i + } + + function isLine(doc, l) {return l >= doc.first && l < doc.first + doc.size} + + function lineNumberFor(options, i) { + return String(options.lineNumberFormatter(i + options.firstLineNumber)) + } + + // A Pos instance represents a position within the text. + function Pos(line, ch, sticky) { + if ( sticky === void 0 ) sticky = null; + + if (!(this instanceof Pos)) { return new Pos(line, ch, sticky) } + this.line = line; + this.ch = ch; + this.sticky = sticky; + } + + // Compare two positions, return 0 if they are the same, a negative + // number when a is less, and a positive number otherwise. + function cmp(a, b) { return a.line - b.line || a.ch - b.ch } + + function equalCursorPos(a, b) { return a.sticky == b.sticky && cmp(a, b) == 0 } + + function copyPos(x) {return Pos(x.line, x.ch)} + function maxPos(a, b) { return cmp(a, b) < 0 ? b : a } + function minPos(a, b) { return cmp(a, b) < 0 ? a : b } + + // Most of the external API clips given positions to make sure they + // actually exist within the document. + function clipLine(doc, n) {return Math.max(doc.first, Math.min(n, doc.first + doc.size - 1))} + function clipPos(doc, pos) { + if (pos.line < doc.first) { return Pos(doc.first, 0) } + var last = doc.first + doc.size - 1; + if (pos.line > last) { return Pos(last, getLine(doc, last).text.length) } + return clipToLen(pos, getLine(doc, pos.line).text.length) + } + function clipToLen(pos, linelen) { + var ch = pos.ch; + if (ch == null || ch > linelen) { return Pos(pos.line, linelen) } + else if (ch < 0) { return Pos(pos.line, 0) } + else { return pos } + } + function clipPosArray(doc, array) { + var out = []; + for (var i = 0; i < array.length; i++) { out[i] = clipPos(doc, array[i]); } + return out + } + + var SavedContext = function(state, lookAhead) { + this.state = state; + this.lookAhead = lookAhead; + }; + + var Context = function(doc, state, line, lookAhead) { + this.state = state; + this.doc = doc; + this.line = line; + this.maxLookAhead = lookAhead || 0; + this.baseTokens = null; + this.baseTokenPos = 1; + }; + + Context.prototype.lookAhead = function (n) { + var line = this.doc.getLine(this.line + n); + if (line != null && n > this.maxLookAhead) { this.maxLookAhead = n; } + return line + }; + + Context.prototype.baseToken = function (n) { + if (!this.baseTokens) { return null } + while (this.baseTokens[this.baseTokenPos] <= n) + { this.baseTokenPos += 2; } + var type = this.baseTokens[this.baseTokenPos + 1]; + return {type: type && type.replace(/( |^)overlay .*/, ""), + size: this.baseTokens[this.baseTokenPos] - n} + }; + + Context.prototype.nextLine = function () { + this.line++; + if (this.maxLookAhead > 0) { this.maxLookAhead--; } + }; + + Context.fromSaved = function (doc, saved, line) { + if (saved instanceof SavedContext) + { return new Context(doc, copyState(doc.mode, saved.state), line, saved.lookAhead) } + else + { return new Context(doc, copyState(doc.mode, saved), line) } + }; + + Context.prototype.save = function (copy) { + var state = copy !== false ? copyState(this.doc.mode, this.state) : this.state; + return this.maxLookAhead > 0 ? new SavedContext(state, this.maxLookAhead) : state + }; + + + // Compute a style array (an array starting with a mode generation + // -- for invalidation -- followed by pairs of end positions and + // style strings), which is used to highlight the tokens on the + // line. + function highlightLine(cm, line, context, forceToEnd) { + // A styles array always starts with a number identifying the + // mode/overlays that it is based on (for easy invalidation). + var st = [cm.state.modeGen], lineClasses = {}; + // Compute the base array of styles + runMode(cm, line.text, cm.doc.mode, context, function (end, style) { return st.push(end, style); }, + lineClasses, forceToEnd); + var state = context.state; + + // Run overlays, adjust style array. + var loop = function ( o ) { + context.baseTokens = st; + var overlay = cm.state.overlays[o], i = 1, at = 0; + context.state = true; + runMode(cm, line.text, overlay.mode, context, function (end, style) { + var start = i; + // Ensure there's a token end at the current position, and that i points at it + while (at < end) { + var i_end = st[i]; + if (i_end > end) + { st.splice(i, 1, end, st[i+1], i_end); } + i += 2; + at = Math.min(end, i_end); + } + if (!style) { return } + if (overlay.opaque) { + st.splice(start, i - start, end, "overlay " + style); + i = start + 2; + } else { + for (; start < i; start += 2) { + var cur = st[start+1]; + st[start+1] = (cur ? cur + " " : "") + "overlay " + style; + } + } + }, lineClasses); + context.state = state; + context.baseTokens = null; + context.baseTokenPos = 1; + }; + + for (var o = 0; o < cm.state.overlays.length; ++o) loop( o ); + + return {styles: st, classes: lineClasses.bgClass || lineClasses.textClass ? lineClasses : null} + } + + function getLineStyles(cm, line, updateFrontier) { + if (!line.styles || line.styles[0] != cm.state.modeGen) { + var context = getContextBefore(cm, lineNo(line)); + var resetState = line.text.length > cm.options.maxHighlightLength && copyState(cm.doc.mode, context.state); + var result = highlightLine(cm, line, context); + if (resetState) { context.state = resetState; } + line.stateAfter = context.save(!resetState); + line.styles = result.styles; + if (result.classes) { line.styleClasses = result.classes; } + else if (line.styleClasses) { line.styleClasses = null; } + if (updateFrontier === cm.doc.highlightFrontier) + { cm.doc.modeFrontier = Math.max(cm.doc.modeFrontier, ++cm.doc.highlightFrontier); } + } + return line.styles + } + + function getContextBefore(cm, n, precise) { + var doc = cm.doc, display = cm.display; + if (!doc.mode.startState) { return new Context(doc, true, n) } + var start = findStartLine(cm, n, precise); + var saved = start > doc.first && getLine(doc, start - 1).stateAfter; + var context = saved ? Context.fromSaved(doc, saved, start) : new Context(doc, startState(doc.mode), start); + + doc.iter(start, n, function (line) { + processLine(cm, line.text, context); + var pos = context.line; + line.stateAfter = pos == n - 1 || pos % 5 == 0 || pos >= display.viewFrom && pos < display.viewTo ? context.save() : null; + context.nextLine(); + }); + if (precise) { doc.modeFrontier = context.line; } + return context + } + + // Lightweight form of highlight -- proceed over this line and + // update state, but don't save a style array. Used for lines that + // aren't currently visible. + function processLine(cm, text, context, startAt) { + var mode = cm.doc.mode; + var stream = new StringStream(text, cm.options.tabSize, context); + stream.start = stream.pos = startAt || 0; + if (text == "") { callBlankLine(mode, context.state); } + while (!stream.eol()) { + readToken(mode, stream, context.state); + stream.start = stream.pos; + } + } + + function callBlankLine(mode, state) { + if (mode.blankLine) { return mode.blankLine(state) } + if (!mode.innerMode) { return } + var inner = innerMode(mode, state); + if (inner.mode.blankLine) { return inner.mode.blankLine(inner.state) } + } + + function readToken(mode, stream, state, inner) { + for (var i = 0; i < 10; i++) { + if (inner) { inner[0] = innerMode(mode, state).mode; } + var style = mode.token(stream, state); + if (stream.pos > stream.start) { return style } + } + throw new Error("Mode " + mode.name + " failed to advance stream.") + } + + var Token = function(stream, type, state) { + this.start = stream.start; this.end = stream.pos; + this.string = stream.current(); + this.type = type || null; + this.state = state; + }; + + // Utility for getTokenAt and getLineTokens + function takeToken(cm, pos, precise, asArray) { + var doc = cm.doc, mode = doc.mode, style; + pos = clipPos(doc, pos); + var line = getLine(doc, pos.line), context = getContextBefore(cm, pos.line, precise); + var stream = new StringStream(line.text, cm.options.tabSize, context), tokens; + if (asArray) { tokens = []; } + while ((asArray || stream.pos < pos.ch) && !stream.eol()) { + stream.start = stream.pos; + style = readToken(mode, stream, context.state); + if (asArray) { tokens.push(new Token(stream, style, copyState(doc.mode, context.state))); } + } + return asArray ? tokens : new Token(stream, style, context.state) + } + + function extractLineClasses(type, output) { + if (type) { for (;;) { + var lineClass = type.match(/(?:^|\s+)line-(background-)?(\S+)/); + if (!lineClass) { break } + type = type.slice(0, lineClass.index) + type.slice(lineClass.index + lineClass[0].length); + var prop = lineClass[1] ? "bgClass" : "textClass"; + if (output[prop] == null) + { output[prop] = lineClass[2]; } + else if (!(new RegExp("(?:^|\\s)" + lineClass[2] + "(?:$|\\s)")).test(output[prop])) + { output[prop] += " " + lineClass[2]; } + } } + return type + } + + // Run the given mode's parser over a line, calling f for each token. + function runMode(cm, text, mode, context, f, lineClasses, forceToEnd) { + var flattenSpans = mode.flattenSpans; + if (flattenSpans == null) { flattenSpans = cm.options.flattenSpans; } + var curStart = 0, curStyle = null; + var stream = new StringStream(text, cm.options.tabSize, context), style; + var inner = cm.options.addModeClass && [null]; + if (text == "") { extractLineClasses(callBlankLine(mode, context.state), lineClasses); } + while (!stream.eol()) { + if (stream.pos > cm.options.maxHighlightLength) { + flattenSpans = false; + if (forceToEnd) { processLine(cm, text, context, stream.pos); } + stream.pos = text.length; + style = null; + } else { + style = extractLineClasses(readToken(mode, stream, context.state, inner), lineClasses); + } + if (inner) { + var mName = inner[0].name; + if (mName) { style = "m-" + (style ? mName + " " + style : mName); } + } + if (!flattenSpans || curStyle != style) { + while (curStart < stream.start) { + curStart = Math.min(stream.start, curStart + 5000); + f(curStart, curStyle); + } + curStyle = style; + } + stream.start = stream.pos; + } + while (curStart < stream.pos) { + // Webkit seems to refuse to render text nodes longer than 57444 + // characters, and returns inaccurate measurements in nodes + // starting around 5000 chars. + var pos = Math.min(stream.pos, curStart + 5000); + f(pos, curStyle); + curStart = pos; + } + } + + // Finds the line to start with when starting a parse. Tries to + // find a line with a stateAfter, so that it can start with a + // valid state. If that fails, it returns the line with the + // smallest indentation, which tends to need the least context to + // parse correctly. + function findStartLine(cm, n, precise) { + var minindent, minline, doc = cm.doc; + var lim = precise ? -1 : n - (cm.doc.mode.innerMode ? 1000 : 100); + for (var search = n; search > lim; --search) { + if (search <= doc.first) { return doc.first } + var line = getLine(doc, search - 1), after = line.stateAfter; + if (after && (!precise || search + (after instanceof SavedContext ? after.lookAhead : 0) <= doc.modeFrontier)) + { return search } + var indented = countColumn(line.text, null, cm.options.tabSize); + if (minline == null || minindent > indented) { + minline = search - 1; + minindent = indented; + } + } + return minline + } + + function retreatFrontier(doc, n) { + doc.modeFrontier = Math.min(doc.modeFrontier, n); + if (doc.highlightFrontier < n - 10) { return } + var start = doc.first; + for (var line = n - 1; line > start; line--) { + var saved = getLine(doc, line).stateAfter; + // change is on 3 + // state on line 1 looked ahead 2 -- so saw 3 + // test 1 + 2 < 3 should cover this + if (saved && (!(saved instanceof SavedContext) || line + saved.lookAhead < n)) { + start = line + 1; + break + } + } + doc.highlightFrontier = Math.min(doc.highlightFrontier, start); + } + + // Optimize some code when these features are not used. + var sawReadOnlySpans = false, sawCollapsedSpans = false; + + function seeReadOnlySpans() { + sawReadOnlySpans = true; + } + + function seeCollapsedSpans() { + sawCollapsedSpans = true; + } + + // TEXTMARKER SPANS + + function MarkedSpan(marker, from, to) { + this.marker = marker; + this.from = from; this.to = to; + } + + // Search an array of spans for a span matching the given marker. + function getMarkedSpanFor(spans, marker) { + if (spans) { for (var i = 0; i < spans.length; ++i) { + var span = spans[i]; + if (span.marker == marker) { return span } + } } + } + + // Remove a span from an array, returning undefined if no spans are + // left (we don't store arrays for lines without spans). + function removeMarkedSpan(spans, span) { + var r; + for (var i = 0; i < spans.length; ++i) + { if (spans[i] != span) { (r || (r = [])).push(spans[i]); } } + return r + } + + // Add a span to a line. + function addMarkedSpan(line, span, op) { + var inThisOp = op && window.WeakSet && (op.markedSpans || (op.markedSpans = new WeakSet)); + if (inThisOp && line.markedSpans && inThisOp.has(line.markedSpans)) { + line.markedSpans.push(span); + } else { + line.markedSpans = line.markedSpans ? line.markedSpans.concat([span]) : [span]; + if (inThisOp) { inThisOp.add(line.markedSpans); } + } + span.marker.attachLine(line); + } + + // Used for the algorithm that adjusts markers for a change in the + // document. These functions cut an array of spans at a given + // character position, returning an array of remaining chunks (or + // undefined if nothing remains). + function markedSpansBefore(old, startCh, isInsert) { + var nw; + if (old) { for (var i = 0; i < old.length; ++i) { + var span = old[i], marker = span.marker; + var startsBefore = span.from == null || (marker.inclusiveLeft ? span.from <= startCh : span.from < startCh); + if (startsBefore || span.from == startCh && marker.type == "bookmark" && (!isInsert || !span.marker.insertLeft)) { + var endsAfter = span.to == null || (marker.inclusiveRight ? span.to >= startCh : span.to > startCh) + ;(nw || (nw = [])).push(new MarkedSpan(marker, span.from, endsAfter ? null : span.to)); + } + } } + return nw + } + function markedSpansAfter(old, endCh, isInsert) { + var nw; + if (old) { for (var i = 0; i < old.length; ++i) { + var span = old[i], marker = span.marker; + var endsAfter = span.to == null || (marker.inclusiveRight ? span.to >= endCh : span.to > endCh); + if (endsAfter || span.from == endCh && marker.type == "bookmark" && (!isInsert || span.marker.insertLeft)) { + var startsBefore = span.from == null || (marker.inclusiveLeft ? span.from <= endCh : span.from < endCh) + ;(nw || (nw = [])).push(new MarkedSpan(marker, startsBefore ? null : span.from - endCh, + span.to == null ? null : span.to - endCh)); + } + } } + return nw + } + + // Given a change object, compute the new set of marker spans that + // cover the line in which the change took place. Removes spans + // entirely within the change, reconnects spans belonging to the + // same marker that appear on both sides of the change, and cuts off + // spans partially within the change. Returns an array of span + // arrays with one element for each line in (after) the change. + function stretchSpansOverChange(doc, change) { + if (change.full) { return null } + var oldFirst = isLine(doc, change.from.line) && getLine(doc, change.from.line).markedSpans; + var oldLast = isLine(doc, change.to.line) && getLine(doc, change.to.line).markedSpans; + if (!oldFirst && !oldLast) { return null } + + var startCh = change.from.ch, endCh = change.to.ch, isInsert = cmp(change.from, change.to) == 0; + // Get the spans that 'stick out' on both sides + var first = markedSpansBefore(oldFirst, startCh, isInsert); + var last = markedSpansAfter(oldLast, endCh, isInsert); + + // Next, merge those two ends + var sameLine = change.text.length == 1, offset = lst(change.text).length + (sameLine ? startCh : 0); + if (first) { + // Fix up .to properties of first + for (var i = 0; i < first.length; ++i) { + var span = first[i]; + if (span.to == null) { + var found = getMarkedSpanFor(last, span.marker); + if (!found) { span.to = startCh; } + else if (sameLine) { span.to = found.to == null ? null : found.to + offset; } + } + } + } + if (last) { + // Fix up .from in last (or move them into first in case of sameLine) + for (var i$1 = 0; i$1 < last.length; ++i$1) { + var span$1 = last[i$1]; + if (span$1.to != null) { span$1.to += offset; } + if (span$1.from == null) { + var found$1 = getMarkedSpanFor(first, span$1.marker); + if (!found$1) { + span$1.from = offset; + if (sameLine) { (first || (first = [])).push(span$1); } + } + } else { + span$1.from += offset; + if (sameLine) { (first || (first = [])).push(span$1); } + } + } + } + // Make sure we didn't create any zero-length spans + if (first) { first = clearEmptySpans(first); } + if (last && last != first) { last = clearEmptySpans(last); } + + var newMarkers = [first]; + if (!sameLine) { + // Fill gap with whole-line-spans + var gap = change.text.length - 2, gapMarkers; + if (gap > 0 && first) + { for (var i$2 = 0; i$2 < first.length; ++i$2) + { if (first[i$2].to == null) + { (gapMarkers || (gapMarkers = [])).push(new MarkedSpan(first[i$2].marker, null, null)); } } } + for (var i$3 = 0; i$3 < gap; ++i$3) + { newMarkers.push(gapMarkers); } + newMarkers.push(last); + } + return newMarkers + } + + // Remove spans that are empty and don't have a clearWhenEmpty + // option of false. + function clearEmptySpans(spans) { + for (var i = 0; i < spans.length; ++i) { + var span = spans[i]; + if (span.from != null && span.from == span.to && span.marker.clearWhenEmpty !== false) + { spans.splice(i--, 1); } + } + if (!spans.length) { return null } + return spans + } + + // Used to 'clip' out readOnly ranges when making a change. + function removeReadOnlyRanges(doc, from, to) { + var markers = null; + doc.iter(from.line, to.line + 1, function (line) { + if (line.markedSpans) { for (var i = 0; i < line.markedSpans.length; ++i) { + var mark = line.markedSpans[i].marker; + if (mark.readOnly && (!markers || indexOf(markers, mark) == -1)) + { (markers || (markers = [])).push(mark); } + } } + }); + if (!markers) { return null } + var parts = [{from: from, to: to}]; + for (var i = 0; i < markers.length; ++i) { + var mk = markers[i], m = mk.find(0); + for (var j = 0; j < parts.length; ++j) { + var p = parts[j]; + if (cmp(p.to, m.from) < 0 || cmp(p.from, m.to) > 0) { continue } + var newParts = [j, 1], dfrom = cmp(p.from, m.from), dto = cmp(p.to, m.to); + if (dfrom < 0 || !mk.inclusiveLeft && !dfrom) + { newParts.push({from: p.from, to: m.from}); } + if (dto > 0 || !mk.inclusiveRight && !dto) + { newParts.push({from: m.to, to: p.to}); } + parts.splice.apply(parts, newParts); + j += newParts.length - 3; + } + } + return parts + } + + // Connect or disconnect spans from a line. + function detachMarkedSpans(line) { + var spans = line.markedSpans; + if (!spans) { return } + for (var i = 0; i < spans.length; ++i) + { spans[i].marker.detachLine(line); } + line.markedSpans = null; + } + function attachMarkedSpans(line, spans) { + if (!spans) { return } + for (var i = 0; i < spans.length; ++i) + { spans[i].marker.attachLine(line); } + line.markedSpans = spans; + } + + // Helpers used when computing which overlapping collapsed span + // counts as the larger one. + function extraLeft(marker) { return marker.inclusiveLeft ? -1 : 0 } + function extraRight(marker) { return marker.inclusiveRight ? 1 : 0 } + + // Returns a number indicating which of two overlapping collapsed + // spans is larger (and thus includes the other). Falls back to + // comparing ids when the spans cover exactly the same range. + function compareCollapsedMarkers(a, b) { + var lenDiff = a.lines.length - b.lines.length; + if (lenDiff != 0) { return lenDiff } + var aPos = a.find(), bPos = b.find(); + var fromCmp = cmp(aPos.from, bPos.from) || extraLeft(a) - extraLeft(b); + if (fromCmp) { return -fromCmp } + var toCmp = cmp(aPos.to, bPos.to) || extraRight(a) - extraRight(b); + if (toCmp) { return toCmp } + return b.id - a.id + } + + // Find out whether a line ends or starts in a collapsed span. If + // so, return the marker for that span. + function collapsedSpanAtSide(line, start) { + var sps = sawCollapsedSpans && line.markedSpans, found; + if (sps) { for (var sp = (void 0), i = 0; i < sps.length; ++i) { + sp = sps[i]; + if (sp.marker.collapsed && (start ? sp.from : sp.to) == null && + (!found || compareCollapsedMarkers(found, sp.marker) < 0)) + { found = sp.marker; } + } } + return found + } + function collapsedSpanAtStart(line) { return collapsedSpanAtSide(line, true) } + function collapsedSpanAtEnd(line) { return collapsedSpanAtSide(line, false) } + + function collapsedSpanAround(line, ch) { + var sps = sawCollapsedSpans && line.markedSpans, found; + if (sps) { for (var i = 0; i < sps.length; ++i) { + var sp = sps[i]; + if (sp.marker.collapsed && (sp.from == null || sp.from < ch) && (sp.to == null || sp.to > ch) && + (!found || compareCollapsedMarkers(found, sp.marker) < 0)) { found = sp.marker; } + } } + return found + } + + // Test whether there exists a collapsed span that partially + // overlaps (covers the start or end, but not both) of a new span. + // Such overlap is not allowed. + function conflictingCollapsedRange(doc, lineNo, from, to, marker) { + var line = getLine(doc, lineNo); + var sps = sawCollapsedSpans && line.markedSpans; + if (sps) { for (var i = 0; i < sps.length; ++i) { + var sp = sps[i]; + if (!sp.marker.collapsed) { continue } + var found = sp.marker.find(0); + var fromCmp = cmp(found.from, from) || extraLeft(sp.marker) - extraLeft(marker); + var toCmp = cmp(found.to, to) || extraRight(sp.marker) - extraRight(marker); + if (fromCmp >= 0 && toCmp <= 0 || fromCmp <= 0 && toCmp >= 0) { continue } + if (fromCmp <= 0 && (sp.marker.inclusiveRight && marker.inclusiveLeft ? cmp(found.to, from) >= 0 : cmp(found.to, from) > 0) || + fromCmp >= 0 && (sp.marker.inclusiveRight && marker.inclusiveLeft ? cmp(found.from, to) <= 0 : cmp(found.from, to) < 0)) + { return true } + } } + } + + // A visual line is a line as drawn on the screen. Folding, for + // example, can cause multiple logical lines to appear on the same + // visual line. This finds the start of the visual line that the + // given line is part of (usually that is the line itself). + function visualLine(line) { + var merged; + while (merged = collapsedSpanAtStart(line)) + { line = merged.find(-1, true).line; } + return line + } + + function visualLineEnd(line) { + var merged; + while (merged = collapsedSpanAtEnd(line)) + { line = merged.find(1, true).line; } + return line + } + + // Returns an array of logical lines that continue the visual line + // started by the argument, or undefined if there are no such lines. + function visualLineContinued(line) { + var merged, lines; + while (merged = collapsedSpanAtEnd(line)) { + line = merged.find(1, true).line + ;(lines || (lines = [])).push(line); + } + return lines + } + + // Get the line number of the start of the visual line that the + // given line number is part of. + function visualLineNo(doc, lineN) { + var line = getLine(doc, lineN), vis = visualLine(line); + if (line == vis) { return lineN } + return lineNo(vis) + } + + // Get the line number of the start of the next visual line after + // the given line. + function visualLineEndNo(doc, lineN) { + if (lineN > doc.lastLine()) { return lineN } + var line = getLine(doc, lineN), merged; + if (!lineIsHidden(doc, line)) { return lineN } + while (merged = collapsedSpanAtEnd(line)) + { line = merged.find(1, true).line; } + return lineNo(line) + 1 + } + + // Compute whether a line is hidden. Lines count as hidden when they + // are part of a visual line that starts with another line, or when + // they are entirely covered by collapsed, non-widget span. + function lineIsHidden(doc, line) { + var sps = sawCollapsedSpans && line.markedSpans; + if (sps) { for (var sp = (void 0), i = 0; i < sps.length; ++i) { + sp = sps[i]; + if (!sp.marker.collapsed) { continue } + if (sp.from == null) { return true } + if (sp.marker.widgetNode) { continue } + if (sp.from == 0 && sp.marker.inclusiveLeft && lineIsHiddenInner(doc, line, sp)) + { return true } + } } + } + function lineIsHiddenInner(doc, line, span) { + if (span.to == null) { + var end = span.marker.find(1, true); + return lineIsHiddenInner(doc, end.line, getMarkedSpanFor(end.line.markedSpans, span.marker)) + } + if (span.marker.inclusiveRight && span.to == line.text.length) + { return true } + for (var sp = (void 0), i = 0; i < line.markedSpans.length; ++i) { + sp = line.markedSpans[i]; + if (sp.marker.collapsed && !sp.marker.widgetNode && sp.from == span.to && + (sp.to == null || sp.to != span.from) && + (sp.marker.inclusiveLeft || span.marker.inclusiveRight) && + lineIsHiddenInner(doc, line, sp)) { return true } + } + } + + // Find the height above the given line. + function heightAtLine(lineObj) { + lineObj = visualLine(lineObj); + + var h = 0, chunk = lineObj.parent; + for (var i = 0; i < chunk.lines.length; ++i) { + var line = chunk.lines[i]; + if (line == lineObj) { break } + else { h += line.height; } + } + for (var p = chunk.parent; p; chunk = p, p = chunk.parent) { + for (var i$1 = 0; i$1 < p.children.length; ++i$1) { + var cur = p.children[i$1]; + if (cur == chunk) { break } + else { h += cur.height; } + } + } + return h + } + + // Compute the character length of a line, taking into account + // collapsed ranges (see markText) that might hide parts, and join + // other lines onto it. + function lineLength(line) { + if (line.height == 0) { return 0 } + var len = line.text.length, merged, cur = line; + while (merged = collapsedSpanAtStart(cur)) { + var found = merged.find(0, true); + cur = found.from.line; + len += found.from.ch - found.to.ch; + } + cur = line; + while (merged = collapsedSpanAtEnd(cur)) { + var found$1 = merged.find(0, true); + len -= cur.text.length - found$1.from.ch; + cur = found$1.to.line; + len += cur.text.length - found$1.to.ch; + } + return len + } + + // Find the longest line in the document. + function findMaxLine(cm) { + var d = cm.display, doc = cm.doc; + d.maxLine = getLine(doc, doc.first); + d.maxLineLength = lineLength(d.maxLine); + d.maxLineChanged = true; + doc.iter(function (line) { + var len = lineLength(line); + if (len > d.maxLineLength) { + d.maxLineLength = len; + d.maxLine = line; + } + }); + } + + // LINE DATA STRUCTURE + + // Line objects. These hold state related to a line, including + // highlighting info (the styles array). + var Line = function(text, markedSpans, estimateHeight) { + this.text = text; + attachMarkedSpans(this, markedSpans); + this.height = estimateHeight ? estimateHeight(this) : 1; + }; + + Line.prototype.lineNo = function () { return lineNo(this) }; + eventMixin(Line); + + // Change the content (text, markers) of a line. Automatically + // invalidates cached information and tries to re-estimate the + // line's height. + function updateLine(line, text, markedSpans, estimateHeight) { + line.text = text; + if (line.stateAfter) { line.stateAfter = null; } + if (line.styles) { line.styles = null; } + if (line.order != null) { line.order = null; } + detachMarkedSpans(line); + attachMarkedSpans(line, markedSpans); + var estHeight = estimateHeight ? estimateHeight(line) : 1; + if (estHeight != line.height) { updateLineHeight(line, estHeight); } + } + + // Detach a line from the document tree and its markers. + function cleanUpLine(line) { + line.parent = null; + detachMarkedSpans(line); + } + + // Convert a style as returned by a mode (either null, or a string + // containing one or more styles) to a CSS style. This is cached, + // and also looks for line-wide styles. + var styleToClassCache = {}, styleToClassCacheWithMode = {}; + function interpretTokenStyle(style, options) { + if (!style || /^\s*$/.test(style)) { return null } + var cache = options.addModeClass ? styleToClassCacheWithMode : styleToClassCache; + return cache[style] || + (cache[style] = style.replace(/\S+/g, "cm-$&")) + } + + // Render the DOM representation of the text of a line. Also builds + // up a 'line map', which points at the DOM nodes that represent + // specific stretches of text, and is used by the measuring code. + // The returned object contains the DOM node, this map, and + // information about line-wide styles that were set by the mode. + function buildLineContent(cm, lineView) { + // The padding-right forces the element to have a 'border', which + // is needed on Webkit to be able to get line-level bounding + // rectangles for it (in measureChar). + var content = eltP("span", null, null, webkit ? "padding-right: .1px" : null); + var builder = {pre: eltP("pre", [content], "CodeMirror-line"), content: content, + col: 0, pos: 0, cm: cm, + trailingSpace: false, + splitSpaces: cm.getOption("lineWrapping")}; + lineView.measure = {}; + + // Iterate over the logical lines that make up this visual line. + for (var i = 0; i <= (lineView.rest ? lineView.rest.length : 0); i++) { + var line = i ? lineView.rest[i - 1] : lineView.line, order = (void 0); + builder.pos = 0; + builder.addToken = buildToken; + // Optionally wire in some hacks into the token-rendering + // algorithm, to deal with browser quirks. + if (hasBadBidiRects(cm.display.measure) && (order = getOrder(line, cm.doc.direction))) + { builder.addToken = buildTokenBadBidi(builder.addToken, order); } + builder.map = []; + var allowFrontierUpdate = lineView != cm.display.externalMeasured && lineNo(line); + insertLineContent(line, builder, getLineStyles(cm, line, allowFrontierUpdate)); + if (line.styleClasses) { + if (line.styleClasses.bgClass) + { builder.bgClass = joinClasses(line.styleClasses.bgClass, builder.bgClass || ""); } + if (line.styleClasses.textClass) + { builder.textClass = joinClasses(line.styleClasses.textClass, builder.textClass || ""); } + } + + // Ensure at least a single node is present, for measuring. + if (builder.map.length == 0) + { builder.map.push(0, 0, builder.content.appendChild(zeroWidthElement(cm.display.measure))); } + + // Store the map and a cache object for the current logical line + if (i == 0) { + lineView.measure.map = builder.map; + lineView.measure.cache = {}; + } else { + (lineView.measure.maps || (lineView.measure.maps = [])).push(builder.map) + ;(lineView.measure.caches || (lineView.measure.caches = [])).push({}); + } + } + + // See issue #2901 + if (webkit) { + var last = builder.content.lastChild; + if (/\bcm-tab\b/.test(last.className) || (last.querySelector && last.querySelector(".cm-tab"))) + { builder.content.className = "cm-tab-wrap-hack"; } + } + + signal(cm, "renderLine", cm, lineView.line, builder.pre); + if (builder.pre.className) + { builder.textClass = joinClasses(builder.pre.className, builder.textClass || ""); } + + return builder + } + + function defaultSpecialCharPlaceholder(ch) { + var token = elt("span", "\u2022", "cm-invalidchar"); + token.title = "\\u" + ch.charCodeAt(0).toString(16); + token.setAttribute("aria-label", token.title); + return token + } + + // Build up the DOM representation for a single token, and add it to + // the line map. Takes care to render special characters separately. + function buildToken(builder, text, style, startStyle, endStyle, css, attributes) { + if (!text) { return } + var displayText = builder.splitSpaces ? splitSpaces(text, builder.trailingSpace) : text; + var special = builder.cm.state.specialChars, mustWrap = false; + var content; + if (!special.test(text)) { + builder.col += text.length; + content = document.createTextNode(displayText); + builder.map.push(builder.pos, builder.pos + text.length, content); + if (ie && ie_version < 9) { mustWrap = true; } + builder.pos += text.length; + } else { + content = document.createDocumentFragment(); + var pos = 0; + while (true) { + special.lastIndex = pos; + var m = special.exec(text); + var skipped = m ? m.index - pos : text.length - pos; + if (skipped) { + var txt = document.createTextNode(displayText.slice(pos, pos + skipped)); + if (ie && ie_version < 9) { content.appendChild(elt("span", [txt])); } + else { content.appendChild(txt); } + builder.map.push(builder.pos, builder.pos + skipped, txt); + builder.col += skipped; + builder.pos += skipped; + } + if (!m) { break } + pos += skipped + 1; + var txt$1 = (void 0); + if (m[0] == "\t") { + var tabSize = builder.cm.options.tabSize, tabWidth = tabSize - builder.col % tabSize; + txt$1 = content.appendChild(elt("span", spaceStr(tabWidth), "cm-tab")); + txt$1.setAttribute("role", "presentation"); + txt$1.setAttribute("cm-text", "\t"); + builder.col += tabWidth; + } else if (m[0] == "\r" || m[0] == "\n") { + txt$1 = content.appendChild(elt("span", m[0] == "\r" ? "\u240d" : "\u2424", "cm-invalidchar")); + txt$1.setAttribute("cm-text", m[0]); + builder.col += 1; + } else { + txt$1 = builder.cm.options.specialCharPlaceholder(m[0]); + txt$1.setAttribute("cm-text", m[0]); + if (ie && ie_version < 9) { content.appendChild(elt("span", [txt$1])); } + else { content.appendChild(txt$1); } + builder.col += 1; + } + builder.map.push(builder.pos, builder.pos + 1, txt$1); + builder.pos++; + } + } + builder.trailingSpace = displayText.charCodeAt(text.length - 1) == 32; + if (style || startStyle || endStyle || mustWrap || css || attributes) { + var fullStyle = style || ""; + if (startStyle) { fullStyle += startStyle; } + if (endStyle) { fullStyle += endStyle; } + var token = elt("span", [content], fullStyle, css); + if (attributes) { + for (var attr in attributes) { if (attributes.hasOwnProperty(attr) && attr != "style" && attr != "class") + { token.setAttribute(attr, attributes[attr]); } } + } + return builder.content.appendChild(token) + } + builder.content.appendChild(content); + } + + // Change some spaces to NBSP to prevent the browser from collapsing + // trailing spaces at the end of a line when rendering text (issue #1362). + function splitSpaces(text, trailingBefore) { + if (text.length > 1 && !/ /.test(text)) { return text } + var spaceBefore = trailingBefore, result = ""; + for (var i = 0; i < text.length; i++) { + var ch = text.charAt(i); + if (ch == " " && spaceBefore && (i == text.length - 1 || text.charCodeAt(i + 1) == 32)) + { ch = "\u00a0"; } + result += ch; + spaceBefore = ch == " "; + } + return result + } + + // Work around nonsense dimensions being reported for stretches of + // right-to-left text. + function buildTokenBadBidi(inner, order) { + return function (builder, text, style, startStyle, endStyle, css, attributes) { + style = style ? style + " cm-force-border" : "cm-force-border"; + var start = builder.pos, end = start + text.length; + for (;;) { + // Find the part that overlaps with the start of this text + var part = (void 0); + for (var i = 0; i < order.length; i++) { + part = order[i]; + if (part.to > start && part.from <= start) { break } + } + if (part.to >= end) { return inner(builder, text, style, startStyle, endStyle, css, attributes) } + inner(builder, text.slice(0, part.to - start), style, startStyle, null, css, attributes); + startStyle = null; + text = text.slice(part.to - start); + start = part.to; + } + } + } + + function buildCollapsedSpan(builder, size, marker, ignoreWidget) { + var widget = !ignoreWidget && marker.widgetNode; + if (widget) { builder.map.push(builder.pos, builder.pos + size, widget); } + if (!ignoreWidget && builder.cm.display.input.needsContentAttribute) { + if (!widget) + { widget = builder.content.appendChild(document.createElement("span")); } + widget.setAttribute("cm-marker", marker.id); + } + if (widget) { + builder.cm.display.input.setUneditable(widget); + builder.content.appendChild(widget); + } + builder.pos += size; + builder.trailingSpace = false; + } + + // Outputs a number of spans to make up a line, taking highlighting + // and marked text into account. + function insertLineContent(line, builder, styles) { + var spans = line.markedSpans, allText = line.text, at = 0; + if (!spans) { + for (var i$1 = 1; i$1 < styles.length; i$1+=2) + { builder.addToken(builder, allText.slice(at, at = styles[i$1]), interpretTokenStyle(styles[i$1+1], builder.cm.options)); } + return + } + + var len = allText.length, pos = 0, i = 1, text = "", style, css; + var nextChange = 0, spanStyle, spanEndStyle, spanStartStyle, collapsed, attributes; + for (;;) { + if (nextChange == pos) { // Update current marker set + spanStyle = spanEndStyle = spanStartStyle = css = ""; + attributes = null; + collapsed = null; nextChange = Infinity; + var foundBookmarks = [], endStyles = (void 0); + for (var j = 0; j < spans.length; ++j) { + var sp = spans[j], m = sp.marker; + if (m.type == "bookmark" && sp.from == pos && m.widgetNode) { + foundBookmarks.push(m); + } else if (sp.from <= pos && (sp.to == null || sp.to > pos || m.collapsed && sp.to == pos && sp.from == pos)) { + if (sp.to != null && sp.to != pos && nextChange > sp.to) { + nextChange = sp.to; + spanEndStyle = ""; + } + if (m.className) { spanStyle += " " + m.className; } + if (m.css) { css = (css ? css + ";" : "") + m.css; } + if (m.startStyle && sp.from == pos) { spanStartStyle += " " + m.startStyle; } + if (m.endStyle && sp.to == nextChange) { (endStyles || (endStyles = [])).push(m.endStyle, sp.to); } + // support for the old title property + // https://github.com/codemirror/CodeMirror/pull/5673 + if (m.title) { (attributes || (attributes = {})).title = m.title; } + if (m.attributes) { + for (var attr in m.attributes) + { (attributes || (attributes = {}))[attr] = m.attributes[attr]; } + } + if (m.collapsed && (!collapsed || compareCollapsedMarkers(collapsed.marker, m) < 0)) + { collapsed = sp; } + } else if (sp.from > pos && nextChange > sp.from) { + nextChange = sp.from; + } + } + if (endStyles) { for (var j$1 = 0; j$1 < endStyles.length; j$1 += 2) + { if (endStyles[j$1 + 1] == nextChange) { spanEndStyle += " " + endStyles[j$1]; } } } + + if (!collapsed || collapsed.from == pos) { for (var j$2 = 0; j$2 < foundBookmarks.length; ++j$2) + { buildCollapsedSpan(builder, 0, foundBookmarks[j$2]); } } + if (collapsed && (collapsed.from || 0) == pos) { + buildCollapsedSpan(builder, (collapsed.to == null ? len + 1 : collapsed.to) - pos, + collapsed.marker, collapsed.from == null); + if (collapsed.to == null) { return } + if (collapsed.to == pos) { collapsed = false; } + } + } + if (pos >= len) { break } + + var upto = Math.min(len, nextChange); + while (true) { + if (text) { + var end = pos + text.length; + if (!collapsed) { + var tokenText = end > upto ? text.slice(0, upto - pos) : text; + builder.addToken(builder, tokenText, style ? style + spanStyle : spanStyle, + spanStartStyle, pos + tokenText.length == nextChange ? spanEndStyle : "", css, attributes); + } + if (end >= upto) {text = text.slice(upto - pos); pos = upto; break} + pos = end; + spanStartStyle = ""; + } + text = allText.slice(at, at = styles[i++]); + style = interpretTokenStyle(styles[i++], builder.cm.options); + } + } + } + + + // These objects are used to represent the visible (currently drawn) + // part of the document. A LineView may correspond to multiple + // logical lines, if those are connected by collapsed ranges. + function LineView(doc, line, lineN) { + // The starting line + this.line = line; + // Continuing lines, if any + this.rest = visualLineContinued(line); + // Number of logical lines in this visual line + this.size = this.rest ? lineNo(lst(this.rest)) - lineN + 1 : 1; + this.node = this.text = null; + this.hidden = lineIsHidden(doc, line); + } + + // Create a range of LineView objects for the given lines. + function buildViewArray(cm, from, to) { + var array = [], nextPos; + for (var pos = from; pos < to; pos = nextPos) { + var view = new LineView(cm.doc, getLine(cm.doc, pos), pos); + nextPos = pos + view.size; + array.push(view); + } + return array + } + + var operationGroup = null; + + function pushOperation(op) { + if (operationGroup) { + operationGroup.ops.push(op); + } else { + op.ownsGroup = operationGroup = { + ops: [op], + delayedCallbacks: [] + }; + } + } + + function fireCallbacksForOps(group) { + // Calls delayed callbacks and cursorActivity handlers until no + // new ones appear + var callbacks = group.delayedCallbacks, i = 0; + do { + for (; i < callbacks.length; i++) + { callbacks[i].call(null); } + for (var j = 0; j < group.ops.length; j++) { + var op = group.ops[j]; + if (op.cursorActivityHandlers) + { while (op.cursorActivityCalled < op.cursorActivityHandlers.length) + { op.cursorActivityHandlers[op.cursorActivityCalled++].call(null, op.cm); } } + } + } while (i < callbacks.length) + } + + function finishOperation(op, endCb) { + var group = op.ownsGroup; + if (!group) { return } + + try { fireCallbacksForOps(group); } + finally { + operationGroup = null; + endCb(group); + } + } + + var orphanDelayedCallbacks = null; + + // Often, we want to signal events at a point where we are in the + // middle of some work, but don't want the handler to start calling + // other methods on the editor, which might be in an inconsistent + // state or simply not expect any other events to happen. + // signalLater looks whether there are any handlers, and schedules + // them to be executed when the last operation ends, or, if no + // operation is active, when a timeout fires. + function signalLater(emitter, type /*, values...*/) { + var arr = getHandlers(emitter, type); + if (!arr.length) { return } + var args = Array.prototype.slice.call(arguments, 2), list; + if (operationGroup) { + list = operationGroup.delayedCallbacks; + } else if (orphanDelayedCallbacks) { + list = orphanDelayedCallbacks; + } else { + list = orphanDelayedCallbacks = []; + setTimeout(fireOrphanDelayed, 0); + } + var loop = function ( i ) { + list.push(function () { return arr[i].apply(null, args); }); + }; + + for (var i = 0; i < arr.length; ++i) + loop( i ); + } + + function fireOrphanDelayed() { + var delayed = orphanDelayedCallbacks; + orphanDelayedCallbacks = null; + for (var i = 0; i < delayed.length; ++i) { delayed[i](); } + } + + // When an aspect of a line changes, a string is added to + // lineView.changes. This updates the relevant part of the line's + // DOM structure. + function updateLineForChanges(cm, lineView, lineN, dims) { + for (var j = 0; j < lineView.changes.length; j++) { + var type = lineView.changes[j]; + if (type == "text") { updateLineText(cm, lineView); } + else if (type == "gutter") { updateLineGutter(cm, lineView, lineN, dims); } + else if (type == "class") { updateLineClasses(cm, lineView); } + else if (type == "widget") { updateLineWidgets(cm, lineView, dims); } + } + lineView.changes = null; + } + + // Lines with gutter elements, widgets or a background class need to + // be wrapped, and have the extra elements added to the wrapper div + function ensureLineWrapped(lineView) { + if (lineView.node == lineView.text) { + lineView.node = elt("div", null, null, "position: relative"); + if (lineView.text.parentNode) + { lineView.text.parentNode.replaceChild(lineView.node, lineView.text); } + lineView.node.appendChild(lineView.text); + if (ie && ie_version < 8) { lineView.node.style.zIndex = 2; } + } + return lineView.node + } + + function updateLineBackground(cm, lineView) { + var cls = lineView.bgClass ? lineView.bgClass + " " + (lineView.line.bgClass || "") : lineView.line.bgClass; + if (cls) { cls += " CodeMirror-linebackground"; } + if (lineView.background) { + if (cls) { lineView.background.className = cls; } + else { lineView.background.parentNode.removeChild(lineView.background); lineView.background = null; } + } else if (cls) { + var wrap = ensureLineWrapped(lineView); + lineView.background = wrap.insertBefore(elt("div", null, cls), wrap.firstChild); + cm.display.input.setUneditable(lineView.background); + } + } + + // Wrapper around buildLineContent which will reuse the structure + // in display.externalMeasured when possible. + function getLineContent(cm, lineView) { + var ext = cm.display.externalMeasured; + if (ext && ext.line == lineView.line) { + cm.display.externalMeasured = null; + lineView.measure = ext.measure; + return ext.built + } + return buildLineContent(cm, lineView) + } + + // Redraw the line's text. Interacts with the background and text + // classes because the mode may output tokens that influence these + // classes. + function updateLineText(cm, lineView) { + var cls = lineView.text.className; + var built = getLineContent(cm, lineView); + if (lineView.text == lineView.node) { lineView.node = built.pre; } + lineView.text.parentNode.replaceChild(built.pre, lineView.text); + lineView.text = built.pre; + if (built.bgClass != lineView.bgClass || built.textClass != lineView.textClass) { + lineView.bgClass = built.bgClass; + lineView.textClass = built.textClass; + updateLineClasses(cm, lineView); + } else if (cls) { + lineView.text.className = cls; + } + } + + function updateLineClasses(cm, lineView) { + updateLineBackground(cm, lineView); + if (lineView.line.wrapClass) + { ensureLineWrapped(lineView).className = lineView.line.wrapClass; } + else if (lineView.node != lineView.text) + { lineView.node.className = ""; } + var textClass = lineView.textClass ? lineView.textClass + " " + (lineView.line.textClass || "") : lineView.line.textClass; + lineView.text.className = textClass || ""; + } + + function updateLineGutter(cm, lineView, lineN, dims) { + if (lineView.gutter) { + lineView.node.removeChild(lineView.gutter); + lineView.gutter = null; + } + if (lineView.gutterBackground) { + lineView.node.removeChild(lineView.gutterBackground); + lineView.gutterBackground = null; + } + if (lineView.line.gutterClass) { + var wrap = ensureLineWrapped(lineView); + lineView.gutterBackground = elt("div", null, "CodeMirror-gutter-background " + lineView.line.gutterClass, + ("left: " + (cm.options.fixedGutter ? dims.fixedPos : -dims.gutterTotalWidth) + "px; width: " + (dims.gutterTotalWidth) + "px")); + cm.display.input.setUneditable(lineView.gutterBackground); + wrap.insertBefore(lineView.gutterBackground, lineView.text); + } + var markers = lineView.line.gutterMarkers; + if (cm.options.lineNumbers || markers) { + var wrap$1 = ensureLineWrapped(lineView); + var gutterWrap = lineView.gutter = elt("div", null, "CodeMirror-gutter-wrapper", ("left: " + (cm.options.fixedGutter ? dims.fixedPos : -dims.gutterTotalWidth) + "px")); + gutterWrap.setAttribute("aria-hidden", "true"); + cm.display.input.setUneditable(gutterWrap); + wrap$1.insertBefore(gutterWrap, lineView.text); + if (lineView.line.gutterClass) + { gutterWrap.className += " " + lineView.line.gutterClass; } + if (cm.options.lineNumbers && (!markers || !markers["CodeMirror-linenumbers"])) + { lineView.lineNumber = gutterWrap.appendChild( + elt("div", lineNumberFor(cm.options, lineN), + "CodeMirror-linenumber CodeMirror-gutter-elt", + ("left: " + (dims.gutterLeft["CodeMirror-linenumbers"]) + "px; width: " + (cm.display.lineNumInnerWidth) + "px"))); } + if (markers) { for (var k = 0; k < cm.display.gutterSpecs.length; ++k) { + var id = cm.display.gutterSpecs[k].className, found = markers.hasOwnProperty(id) && markers[id]; + if (found) + { gutterWrap.appendChild(elt("div", [found], "CodeMirror-gutter-elt", + ("left: " + (dims.gutterLeft[id]) + "px; width: " + (dims.gutterWidth[id]) + "px"))); } + } } + } + } + + function updateLineWidgets(cm, lineView, dims) { + if (lineView.alignable) { lineView.alignable = null; } + var isWidget = classTest("CodeMirror-linewidget"); + for (var node = lineView.node.firstChild, next = (void 0); node; node = next) { + next = node.nextSibling; + if (isWidget.test(node.className)) { lineView.node.removeChild(node); } + } + insertLineWidgets(cm, lineView, dims); + } + + // Build a line's DOM representation from scratch + function buildLineElement(cm, lineView, lineN, dims) { + var built = getLineContent(cm, lineView); + lineView.text = lineView.node = built.pre; + if (built.bgClass) { lineView.bgClass = built.bgClass; } + if (built.textClass) { lineView.textClass = built.textClass; } + + updateLineClasses(cm, lineView); + updateLineGutter(cm, lineView, lineN, dims); + insertLineWidgets(cm, lineView, dims); + return lineView.node + } + + // A lineView may contain multiple logical lines (when merged by + // collapsed spans). The widgets for all of them need to be drawn. + function insertLineWidgets(cm, lineView, dims) { + insertLineWidgetsFor(cm, lineView.line, lineView, dims, true); + if (lineView.rest) { for (var i = 0; i < lineView.rest.length; i++) + { insertLineWidgetsFor(cm, lineView.rest[i], lineView, dims, false); } } + } + + function insertLineWidgetsFor(cm, line, lineView, dims, allowAbove) { + if (!line.widgets) { return } + var wrap = ensureLineWrapped(lineView); + for (var i = 0, ws = line.widgets; i < ws.length; ++i) { + var widget = ws[i], node = elt("div", [widget.node], "CodeMirror-linewidget" + (widget.className ? " " + widget.className : "")); + if (!widget.handleMouseEvents) { node.setAttribute("cm-ignore-events", "true"); } + positionLineWidget(widget, node, lineView, dims); + cm.display.input.setUneditable(node); + if (allowAbove && widget.above) + { wrap.insertBefore(node, lineView.gutter || lineView.text); } + else + { wrap.appendChild(node); } + signalLater(widget, "redraw"); + } + } + + function positionLineWidget(widget, node, lineView, dims) { + if (widget.noHScroll) { + (lineView.alignable || (lineView.alignable = [])).push(node); + var width = dims.wrapperWidth; + node.style.left = dims.fixedPos + "px"; + if (!widget.coverGutter) { + width -= dims.gutterTotalWidth; + node.style.paddingLeft = dims.gutterTotalWidth + "px"; + } + node.style.width = width + "px"; + } + if (widget.coverGutter) { + node.style.zIndex = 5; + node.style.position = "relative"; + if (!widget.noHScroll) { node.style.marginLeft = -dims.gutterTotalWidth + "px"; } + } + } + + function widgetHeight(widget) { + if (widget.height != null) { return widget.height } + var cm = widget.doc.cm; + if (!cm) { return 0 } + if (!contains(document.body, widget.node)) { + var parentStyle = "position: relative;"; + if (widget.coverGutter) + { parentStyle += "margin-left: -" + cm.display.gutters.offsetWidth + "px;"; } + if (widget.noHScroll) + { parentStyle += "width: " + cm.display.wrapper.clientWidth + "px;"; } + removeChildrenAndAdd(cm.display.measure, elt("div", [widget.node], null, parentStyle)); + } + return widget.height = widget.node.parentNode.offsetHeight + } + + // Return true when the given mouse event happened in a widget + function eventInWidget(display, e) { + for (var n = e_target(e); n != display.wrapper; n = n.parentNode) { + if (!n || (n.nodeType == 1 && n.getAttribute("cm-ignore-events") == "true") || + (n.parentNode == display.sizer && n != display.mover)) + { return true } + } + } + + // POSITION MEASUREMENT + + function paddingTop(display) {return display.lineSpace.offsetTop} + function paddingVert(display) {return display.mover.offsetHeight - display.lineSpace.offsetHeight} + function paddingH(display) { + if (display.cachedPaddingH) { return display.cachedPaddingH } + var e = removeChildrenAndAdd(display.measure, elt("pre", "x", "CodeMirror-line-like")); + var style = window.getComputedStyle ? window.getComputedStyle(e) : e.currentStyle; + var data = {left: parseInt(style.paddingLeft), right: parseInt(style.paddingRight)}; + if (!isNaN(data.left) && !isNaN(data.right)) { display.cachedPaddingH = data; } + return data + } + + function scrollGap(cm) { return scrollerGap - cm.display.nativeBarWidth } + function displayWidth(cm) { + return cm.display.scroller.clientWidth - scrollGap(cm) - cm.display.barWidth + } + function displayHeight(cm) { + return cm.display.scroller.clientHeight - scrollGap(cm) - cm.display.barHeight + } + + // Ensure the lineView.wrapping.heights array is populated. This is + // an array of bottom offsets for the lines that make up a drawn + // line. When lineWrapping is on, there might be more than one + // height. + function ensureLineHeights(cm, lineView, rect) { + var wrapping = cm.options.lineWrapping; + var curWidth = wrapping && displayWidth(cm); + if (!lineView.measure.heights || wrapping && lineView.measure.width != curWidth) { + var heights = lineView.measure.heights = []; + if (wrapping) { + lineView.measure.width = curWidth; + var rects = lineView.text.firstChild.getClientRects(); + for (var i = 0; i < rects.length - 1; i++) { + var cur = rects[i], next = rects[i + 1]; + if (Math.abs(cur.bottom - next.bottom) > 2) + { heights.push((cur.bottom + next.top) / 2 - rect.top); } + } + } + heights.push(rect.bottom - rect.top); + } + } + + // Find a line map (mapping character offsets to text nodes) and a + // measurement cache for the given line number. (A line view might + // contain multiple lines when collapsed ranges are present.) + function mapFromLineView(lineView, line, lineN) { + if (lineView.line == line) + { return {map: lineView.measure.map, cache: lineView.measure.cache} } + if (lineView.rest) { + for (var i = 0; i < lineView.rest.length; i++) + { if (lineView.rest[i] == line) + { return {map: lineView.measure.maps[i], cache: lineView.measure.caches[i]} } } + for (var i$1 = 0; i$1 < lineView.rest.length; i$1++) + { if (lineNo(lineView.rest[i$1]) > lineN) + { return {map: lineView.measure.maps[i$1], cache: lineView.measure.caches[i$1], before: true} } } + } + } + + // Render a line into the hidden node display.externalMeasured. Used + // when measurement is needed for a line that's not in the viewport. + function updateExternalMeasurement(cm, line) { + line = visualLine(line); + var lineN = lineNo(line); + var view = cm.display.externalMeasured = new LineView(cm.doc, line, lineN); + view.lineN = lineN; + var built = view.built = buildLineContent(cm, view); + view.text = built.pre; + removeChildrenAndAdd(cm.display.lineMeasure, built.pre); + return view + } + + // Get a {top, bottom, left, right} box (in line-local coordinates) + // for a given character. + function measureChar(cm, line, ch, bias) { + return measureCharPrepared(cm, prepareMeasureForLine(cm, line), ch, bias) + } + + // Find a line view that corresponds to the given line number. + function findViewForLine(cm, lineN) { + if (lineN >= cm.display.viewFrom && lineN < cm.display.viewTo) + { return cm.display.view[findViewIndex(cm, lineN)] } + var ext = cm.display.externalMeasured; + if (ext && lineN >= ext.lineN && lineN < ext.lineN + ext.size) + { return ext } + } + + // Measurement can be split in two steps, the set-up work that + // applies to the whole line, and the measurement of the actual + // character. Functions like coordsChar, that need to do a lot of + // measurements in a row, can thus ensure that the set-up work is + // only done once. + function prepareMeasureForLine(cm, line) { + var lineN = lineNo(line); + var view = findViewForLine(cm, lineN); + if (view && !view.text) { + view = null; + } else if (view && view.changes) { + updateLineForChanges(cm, view, lineN, getDimensions(cm)); + cm.curOp.forceUpdate = true; + } + if (!view) + { view = updateExternalMeasurement(cm, line); } + + var info = mapFromLineView(view, line, lineN); + return { + line: line, view: view, rect: null, + map: info.map, cache: info.cache, before: info.before, + hasHeights: false + } + } + + // Given a prepared measurement object, measures the position of an + // actual character (or fetches it from the cache). + function measureCharPrepared(cm, prepared, ch, bias, varHeight) { + if (prepared.before) { ch = -1; } + var key = ch + (bias || ""), found; + if (prepared.cache.hasOwnProperty(key)) { + found = prepared.cache[key]; + } else { + if (!prepared.rect) + { prepared.rect = prepared.view.text.getBoundingClientRect(); } + if (!prepared.hasHeights) { + ensureLineHeights(cm, prepared.view, prepared.rect); + prepared.hasHeights = true; + } + found = measureCharInner(cm, prepared, ch, bias); + if (!found.bogus) { prepared.cache[key] = found; } + } + return {left: found.left, right: found.right, + top: varHeight ? found.rtop : found.top, + bottom: varHeight ? found.rbottom : found.bottom} + } + + var nullRect = {left: 0, right: 0, top: 0, bottom: 0}; + + function nodeAndOffsetInLineMap(map, ch, bias) { + var node, start, end, collapse, mStart, mEnd; + // First, search the line map for the text node corresponding to, + // or closest to, the target character. + for (var i = 0; i < map.length; i += 3) { + mStart = map[i]; + mEnd = map[i + 1]; + if (ch < mStart) { + start = 0; end = 1; + collapse = "left"; + } else if (ch < mEnd) { + start = ch - mStart; + end = start + 1; + } else if (i == map.length - 3 || ch == mEnd && map[i + 3] > ch) { + end = mEnd - mStart; + start = end - 1; + if (ch >= mEnd) { collapse = "right"; } + } + if (start != null) { + node = map[i + 2]; + if (mStart == mEnd && bias == (node.insertLeft ? "left" : "right")) + { collapse = bias; } + if (bias == "left" && start == 0) + { while (i && map[i - 2] == map[i - 3] && map[i - 1].insertLeft) { + node = map[(i -= 3) + 2]; + collapse = "left"; + } } + if (bias == "right" && start == mEnd - mStart) + { while (i < map.length - 3 && map[i + 3] == map[i + 4] && !map[i + 5].insertLeft) { + node = map[(i += 3) + 2]; + collapse = "right"; + } } + break + } + } + return {node: node, start: start, end: end, collapse: collapse, coverStart: mStart, coverEnd: mEnd} + } + + function getUsefulRect(rects, bias) { + var rect = nullRect; + if (bias == "left") { for (var i = 0; i < rects.length; i++) { + if ((rect = rects[i]).left != rect.right) { break } + } } else { for (var i$1 = rects.length - 1; i$1 >= 0; i$1--) { + if ((rect = rects[i$1]).left != rect.right) { break } + } } + return rect + } + + function measureCharInner(cm, prepared, ch, bias) { + var place = nodeAndOffsetInLineMap(prepared.map, ch, bias); + var node = place.node, start = place.start, end = place.end, collapse = place.collapse; + + var rect; + if (node.nodeType == 3) { // If it is a text node, use a range to retrieve the coordinates. + for (var i$1 = 0; i$1 < 4; i$1++) { // Retry a maximum of 4 times when nonsense rectangles are returned + while (start && isExtendingChar(prepared.line.text.charAt(place.coverStart + start))) { --start; } + while (place.coverStart + end < place.coverEnd && isExtendingChar(prepared.line.text.charAt(place.coverStart + end))) { ++end; } + if (ie && ie_version < 9 && start == 0 && end == place.coverEnd - place.coverStart) + { rect = node.parentNode.getBoundingClientRect(); } + else + { rect = getUsefulRect(range(node, start, end).getClientRects(), bias); } + if (rect.left || rect.right || start == 0) { break } + end = start; + start = start - 1; + collapse = "right"; + } + if (ie && ie_version < 11) { rect = maybeUpdateRectForZooming(cm.display.measure, rect); } + } else { // If it is a widget, simply get the box for the whole widget. + if (start > 0) { collapse = bias = "right"; } + var rects; + if (cm.options.lineWrapping && (rects = node.getClientRects()).length > 1) + { rect = rects[bias == "right" ? rects.length - 1 : 0]; } + else + { rect = node.getBoundingClientRect(); } + } + if (ie && ie_version < 9 && !start && (!rect || !rect.left && !rect.right)) { + var rSpan = node.parentNode.getClientRects()[0]; + if (rSpan) + { rect = {left: rSpan.left, right: rSpan.left + charWidth(cm.display), top: rSpan.top, bottom: rSpan.bottom}; } + else + { rect = nullRect; } + } + + var rtop = rect.top - prepared.rect.top, rbot = rect.bottom - prepared.rect.top; + var mid = (rtop + rbot) / 2; + var heights = prepared.view.measure.heights; + var i = 0; + for (; i < heights.length - 1; i++) + { if (mid < heights[i]) { break } } + var top = i ? heights[i - 1] : 0, bot = heights[i]; + var result = {left: (collapse == "right" ? rect.right : rect.left) - prepared.rect.left, + right: (collapse == "left" ? rect.left : rect.right) - prepared.rect.left, + top: top, bottom: bot}; + if (!rect.left && !rect.right) { result.bogus = true; } + if (!cm.options.singleCursorHeightPerLine) { result.rtop = rtop; result.rbottom = rbot; } + + return result + } + + // Work around problem with bounding client rects on ranges being + // returned incorrectly when zoomed on IE10 and below. + function maybeUpdateRectForZooming(measure, rect) { + if (!window.screen || screen.logicalXDPI == null || + screen.logicalXDPI == screen.deviceXDPI || !hasBadZoomedRects(measure)) + { return rect } + var scaleX = screen.logicalXDPI / screen.deviceXDPI; + var scaleY = screen.logicalYDPI / screen.deviceYDPI; + return {left: rect.left * scaleX, right: rect.right * scaleX, + top: rect.top * scaleY, bottom: rect.bottom * scaleY} + } + + function clearLineMeasurementCacheFor(lineView) { + if (lineView.measure) { + lineView.measure.cache = {}; + lineView.measure.heights = null; + if (lineView.rest) { for (var i = 0; i < lineView.rest.length; i++) + { lineView.measure.caches[i] = {}; } } + } + } + + function clearLineMeasurementCache(cm) { + cm.display.externalMeasure = null; + removeChildren(cm.display.lineMeasure); + for (var i = 0; i < cm.display.view.length; i++) + { clearLineMeasurementCacheFor(cm.display.view[i]); } + } + + function clearCaches(cm) { + clearLineMeasurementCache(cm); + cm.display.cachedCharWidth = cm.display.cachedTextHeight = cm.display.cachedPaddingH = null; + if (!cm.options.lineWrapping) { cm.display.maxLineChanged = true; } + cm.display.lineNumChars = null; + } + + function pageScrollX(doc) { + // Work around https://bugs.chromium.org/p/chromium/issues/detail?id=489206 + // which causes page_Offset and bounding client rects to use + // different reference viewports and invalidate our calculations. + if (chrome && android) { return -(doc.body.getBoundingClientRect().left - parseInt(getComputedStyle(doc.body).marginLeft)) } + return doc.defaultView.pageXOffset || (doc.documentElement || doc.body).scrollLeft + } + function pageScrollY(doc) { + if (chrome && android) { return -(doc.body.getBoundingClientRect().top - parseInt(getComputedStyle(doc.body).marginTop)) } + return doc.defaultView.pageYOffset || (doc.documentElement || doc.body).scrollTop + } + + function widgetTopHeight(lineObj) { + var ref = visualLine(lineObj); + var widgets = ref.widgets; + var height = 0; + if (widgets) { for (var i = 0; i < widgets.length; ++i) { if (widgets[i].above) + { height += widgetHeight(widgets[i]); } } } + return height + } + + // Converts a {top, bottom, left, right} box from line-local + // coordinates into another coordinate system. Context may be one of + // "line", "div" (display.lineDiv), "local"./null (editor), "window", + // or "page". + function intoCoordSystem(cm, lineObj, rect, context, includeWidgets) { + if (!includeWidgets) { + var height = widgetTopHeight(lineObj); + rect.top += height; rect.bottom += height; + } + if (context == "line") { return rect } + if (!context) { context = "local"; } + var yOff = heightAtLine(lineObj); + if (context == "local") { yOff += paddingTop(cm.display); } + else { yOff -= cm.display.viewOffset; } + if (context == "page" || context == "window") { + var lOff = cm.display.lineSpace.getBoundingClientRect(); + yOff += lOff.top + (context == "window" ? 0 : pageScrollY(doc(cm))); + var xOff = lOff.left + (context == "window" ? 0 : pageScrollX(doc(cm))); + rect.left += xOff; rect.right += xOff; + } + rect.top += yOff; rect.bottom += yOff; + return rect + } + + // Coverts a box from "div" coords to another coordinate system. + // Context may be "window", "page", "div", or "local"./null. + function fromCoordSystem(cm, coords, context) { + if (context == "div") { return coords } + var left = coords.left, top = coords.top; + // First move into "page" coordinate system + if (context == "page") { + left -= pageScrollX(doc(cm)); + top -= pageScrollY(doc(cm)); + } else if (context == "local" || !context) { + var localBox = cm.display.sizer.getBoundingClientRect(); + left += localBox.left; + top += localBox.top; + } + + var lineSpaceBox = cm.display.lineSpace.getBoundingClientRect(); + return {left: left - lineSpaceBox.left, top: top - lineSpaceBox.top} + } + + function charCoords(cm, pos, context, lineObj, bias) { + if (!lineObj) { lineObj = getLine(cm.doc, pos.line); } + return intoCoordSystem(cm, lineObj, measureChar(cm, lineObj, pos.ch, bias), context) + } + + // Returns a box for a given cursor position, which may have an + // 'other' property containing the position of the secondary cursor + // on a bidi boundary. + // A cursor Pos(line, char, "before") is on the same visual line as `char - 1` + // and after `char - 1` in writing order of `char - 1` + // A cursor Pos(line, char, "after") is on the same visual line as `char` + // and before `char` in writing order of `char` + // Examples (upper-case letters are RTL, lower-case are LTR): + // Pos(0, 1, ...) + // before after + // ab a|b a|b + // aB a|B aB| + // Ab |Ab A|b + // AB B|A B|A + // Every position after the last character on a line is considered to stick + // to the last character on the line. + function cursorCoords(cm, pos, context, lineObj, preparedMeasure, varHeight) { + lineObj = lineObj || getLine(cm.doc, pos.line); + if (!preparedMeasure) { preparedMeasure = prepareMeasureForLine(cm, lineObj); } + function get(ch, right) { + var m = measureCharPrepared(cm, preparedMeasure, ch, right ? "right" : "left", varHeight); + if (right) { m.left = m.right; } else { m.right = m.left; } + return intoCoordSystem(cm, lineObj, m, context) + } + var order = getOrder(lineObj, cm.doc.direction), ch = pos.ch, sticky = pos.sticky; + if (ch >= lineObj.text.length) { + ch = lineObj.text.length; + sticky = "before"; + } else if (ch <= 0) { + ch = 0; + sticky = "after"; + } + if (!order) { return get(sticky == "before" ? ch - 1 : ch, sticky == "before") } + + function getBidi(ch, partPos, invert) { + var part = order[partPos], right = part.level == 1; + return get(invert ? ch - 1 : ch, right != invert) + } + var partPos = getBidiPartAt(order, ch, sticky); + var other = bidiOther; + var val = getBidi(ch, partPos, sticky == "before"); + if (other != null) { val.other = getBidi(ch, other, sticky != "before"); } + return val + } + + // Used to cheaply estimate the coordinates for a position. Used for + // intermediate scroll updates. + function estimateCoords(cm, pos) { + var left = 0; + pos = clipPos(cm.doc, pos); + if (!cm.options.lineWrapping) { left = charWidth(cm.display) * pos.ch; } + var lineObj = getLine(cm.doc, pos.line); + var top = heightAtLine(lineObj) + paddingTop(cm.display); + return {left: left, right: left, top: top, bottom: top + lineObj.height} + } + + // Positions returned by coordsChar contain some extra information. + // xRel is the relative x position of the input coordinates compared + // to the found position (so xRel > 0 means the coordinates are to + // the right of the character position, for example). When outside + // is true, that means the coordinates lie outside the line's + // vertical range. + function PosWithInfo(line, ch, sticky, outside, xRel) { + var pos = Pos(line, ch, sticky); + pos.xRel = xRel; + if (outside) { pos.outside = outside; } + return pos + } + + // Compute the character position closest to the given coordinates. + // Input must be lineSpace-local ("div" coordinate system). + function coordsChar(cm, x, y) { + var doc = cm.doc; + y += cm.display.viewOffset; + if (y < 0) { return PosWithInfo(doc.first, 0, null, -1, -1) } + var lineN = lineAtHeight(doc, y), last = doc.first + doc.size - 1; + if (lineN > last) + { return PosWithInfo(doc.first + doc.size - 1, getLine(doc, last).text.length, null, 1, 1) } + if (x < 0) { x = 0; } + + var lineObj = getLine(doc, lineN); + for (;;) { + var found = coordsCharInner(cm, lineObj, lineN, x, y); + var collapsed = collapsedSpanAround(lineObj, found.ch + (found.xRel > 0 || found.outside > 0 ? 1 : 0)); + if (!collapsed) { return found } + var rangeEnd = collapsed.find(1); + if (rangeEnd.line == lineN) { return rangeEnd } + lineObj = getLine(doc, lineN = rangeEnd.line); + } + } + + function wrappedLineExtent(cm, lineObj, preparedMeasure, y) { + y -= widgetTopHeight(lineObj); + var end = lineObj.text.length; + var begin = findFirst(function (ch) { return measureCharPrepared(cm, preparedMeasure, ch - 1).bottom <= y; }, end, 0); + end = findFirst(function (ch) { return measureCharPrepared(cm, preparedMeasure, ch).top > y; }, begin, end); + return {begin: begin, end: end} + } + + function wrappedLineExtentChar(cm, lineObj, preparedMeasure, target) { + if (!preparedMeasure) { preparedMeasure = prepareMeasureForLine(cm, lineObj); } + var targetTop = intoCoordSystem(cm, lineObj, measureCharPrepared(cm, preparedMeasure, target), "line").top; + return wrappedLineExtent(cm, lineObj, preparedMeasure, targetTop) + } + + // Returns true if the given side of a box is after the given + // coordinates, in top-to-bottom, left-to-right order. + function boxIsAfter(box, x, y, left) { + return box.bottom <= y ? false : box.top > y ? true : (left ? box.left : box.right) > x + } + + function coordsCharInner(cm, lineObj, lineNo, x, y) { + // Move y into line-local coordinate space + y -= heightAtLine(lineObj); + var preparedMeasure = prepareMeasureForLine(cm, lineObj); + // When directly calling `measureCharPrepared`, we have to adjust + // for the widgets at this line. + var widgetHeight = widgetTopHeight(lineObj); + var begin = 0, end = lineObj.text.length, ltr = true; + + var order = getOrder(lineObj, cm.doc.direction); + // If the line isn't plain left-to-right text, first figure out + // which bidi section the coordinates fall into. + if (order) { + var part = (cm.options.lineWrapping ? coordsBidiPartWrapped : coordsBidiPart) + (cm, lineObj, lineNo, preparedMeasure, order, x, y); + ltr = part.level != 1; + // The awkward -1 offsets are needed because findFirst (called + // on these below) will treat its first bound as inclusive, + // second as exclusive, but we want to actually address the + // characters in the part's range + begin = ltr ? part.from : part.to - 1; + end = ltr ? part.to : part.from - 1; + } + + // A binary search to find the first character whose bounding box + // starts after the coordinates. If we run across any whose box wrap + // the coordinates, store that. + var chAround = null, boxAround = null; + var ch = findFirst(function (ch) { + var box = measureCharPrepared(cm, preparedMeasure, ch); + box.top += widgetHeight; box.bottom += widgetHeight; + if (!boxIsAfter(box, x, y, false)) { return false } + if (box.top <= y && box.left <= x) { + chAround = ch; + boxAround = box; + } + return true + }, begin, end); + + var baseX, sticky, outside = false; + // If a box around the coordinates was found, use that + if (boxAround) { + // Distinguish coordinates nearer to the left or right side of the box + var atLeft = x - boxAround.left < boxAround.right - x, atStart = atLeft == ltr; + ch = chAround + (atStart ? 0 : 1); + sticky = atStart ? "after" : "before"; + baseX = atLeft ? boxAround.left : boxAround.right; + } else { + // (Adjust for extended bound, if necessary.) + if (!ltr && (ch == end || ch == begin)) { ch++; } + // To determine which side to associate with, get the box to the + // left of the character and compare it's vertical position to the + // coordinates + sticky = ch == 0 ? "after" : ch == lineObj.text.length ? "before" : + (measureCharPrepared(cm, preparedMeasure, ch - (ltr ? 1 : 0)).bottom + widgetHeight <= y) == ltr ? + "after" : "before"; + // Now get accurate coordinates for this place, in order to get a + // base X position + var coords = cursorCoords(cm, Pos(lineNo, ch, sticky), "line", lineObj, preparedMeasure); + baseX = coords.left; + outside = y < coords.top ? -1 : y >= coords.bottom ? 1 : 0; + } + + ch = skipExtendingChars(lineObj.text, ch, 1); + return PosWithInfo(lineNo, ch, sticky, outside, x - baseX) + } + + function coordsBidiPart(cm, lineObj, lineNo, preparedMeasure, order, x, y) { + // Bidi parts are sorted left-to-right, and in a non-line-wrapping + // situation, we can take this ordering to correspond to the visual + // ordering. This finds the first part whose end is after the given + // coordinates. + var index = findFirst(function (i) { + var part = order[i], ltr = part.level != 1; + return boxIsAfter(cursorCoords(cm, Pos(lineNo, ltr ? part.to : part.from, ltr ? "before" : "after"), + "line", lineObj, preparedMeasure), x, y, true) + }, 0, order.length - 1); + var part = order[index]; + // If this isn't the first part, the part's start is also after + // the coordinates, and the coordinates aren't on the same line as + // that start, move one part back. + if (index > 0) { + var ltr = part.level != 1; + var start = cursorCoords(cm, Pos(lineNo, ltr ? part.from : part.to, ltr ? "after" : "before"), + "line", lineObj, preparedMeasure); + if (boxIsAfter(start, x, y, true) && start.top > y) + { part = order[index - 1]; } + } + return part + } + + function coordsBidiPartWrapped(cm, lineObj, _lineNo, preparedMeasure, order, x, y) { + // In a wrapped line, rtl text on wrapping boundaries can do things + // that don't correspond to the ordering in our `order` array at + // all, so a binary search doesn't work, and we want to return a + // part that only spans one line so that the binary search in + // coordsCharInner is safe. As such, we first find the extent of the + // wrapped line, and then do a flat search in which we discard any + // spans that aren't on the line. + var ref = wrappedLineExtent(cm, lineObj, preparedMeasure, y); + var begin = ref.begin; + var end = ref.end; + if (/\s/.test(lineObj.text.charAt(end - 1))) { end--; } + var part = null, closestDist = null; + for (var i = 0; i < order.length; i++) { + var p = order[i]; + if (p.from >= end || p.to <= begin) { continue } + var ltr = p.level != 1; + var endX = measureCharPrepared(cm, preparedMeasure, ltr ? Math.min(end, p.to) - 1 : Math.max(begin, p.from)).right; + // Weigh against spans ending before this, so that they are only + // picked if nothing ends after + var dist = endX < x ? x - endX + 1e9 : endX - x; + if (!part || closestDist > dist) { + part = p; + closestDist = dist; + } + } + if (!part) { part = order[order.length - 1]; } + // Clip the part to the wrapped line. + if (part.from < begin) { part = {from: begin, to: part.to, level: part.level}; } + if (part.to > end) { part = {from: part.from, to: end, level: part.level}; } + return part + } + + var measureText; + // Compute the default text height. + function textHeight(display) { + if (display.cachedTextHeight != null) { return display.cachedTextHeight } + if (measureText == null) { + measureText = elt("pre", null, "CodeMirror-line-like"); + // Measure a bunch of lines, for browsers that compute + // fractional heights. + for (var i = 0; i < 49; ++i) { + measureText.appendChild(document.createTextNode("x")); + measureText.appendChild(elt("br")); + } + measureText.appendChild(document.createTextNode("x")); + } + removeChildrenAndAdd(display.measure, measureText); + var height = measureText.offsetHeight / 50; + if (height > 3) { display.cachedTextHeight = height; } + removeChildren(display.measure); + return height || 1 + } + + // Compute the default character width. + function charWidth(display) { + if (display.cachedCharWidth != null) { return display.cachedCharWidth } + var anchor = elt("span", "xxxxxxxxxx"); + var pre = elt("pre", [anchor], "CodeMirror-line-like"); + removeChildrenAndAdd(display.measure, pre); + var rect = anchor.getBoundingClientRect(), width = (rect.right - rect.left) / 10; + if (width > 2) { display.cachedCharWidth = width; } + return width || 10 + } + + // Do a bulk-read of the DOM positions and sizes needed to draw the + // view, so that we don't interleave reading and writing to the DOM. + function getDimensions(cm) { + var d = cm.display, left = {}, width = {}; + var gutterLeft = d.gutters.clientLeft; + for (var n = d.gutters.firstChild, i = 0; n; n = n.nextSibling, ++i) { + var id = cm.display.gutterSpecs[i].className; + left[id] = n.offsetLeft + n.clientLeft + gutterLeft; + width[id] = n.clientWidth; + } + return {fixedPos: compensateForHScroll(d), + gutterTotalWidth: d.gutters.offsetWidth, + gutterLeft: left, + gutterWidth: width, + wrapperWidth: d.wrapper.clientWidth} + } + + // Computes display.scroller.scrollLeft + display.gutters.offsetWidth, + // but using getBoundingClientRect to get a sub-pixel-accurate + // result. + function compensateForHScroll(display) { + return display.scroller.getBoundingClientRect().left - display.sizer.getBoundingClientRect().left + } + + // Returns a function that estimates the height of a line, to use as + // first approximation until the line becomes visible (and is thus + // properly measurable). + function estimateHeight(cm) { + var th = textHeight(cm.display), wrapping = cm.options.lineWrapping; + var perLine = wrapping && Math.max(5, cm.display.scroller.clientWidth / charWidth(cm.display) - 3); + return function (line) { + if (lineIsHidden(cm.doc, line)) { return 0 } + + var widgetsHeight = 0; + if (line.widgets) { for (var i = 0; i < line.widgets.length; i++) { + if (line.widgets[i].height) { widgetsHeight += line.widgets[i].height; } + } } + + if (wrapping) + { return widgetsHeight + (Math.ceil(line.text.length / perLine) || 1) * th } + else + { return widgetsHeight + th } + } + } + + function estimateLineHeights(cm) { + var doc = cm.doc, est = estimateHeight(cm); + doc.iter(function (line) { + var estHeight = est(line); + if (estHeight != line.height) { updateLineHeight(line, estHeight); } + }); + } + + // Given a mouse event, find the corresponding position. If liberal + // is false, it checks whether a gutter or scrollbar was clicked, + // and returns null if it was. forRect is used by rectangular + // selections, and tries to estimate a character position even for + // coordinates beyond the right of the text. + function posFromMouse(cm, e, liberal, forRect) { + var display = cm.display; + if (!liberal && e_target(e).getAttribute("cm-not-content") == "true") { return null } + + var x, y, space = display.lineSpace.getBoundingClientRect(); + // Fails unpredictably on IE[67] when mouse is dragged around quickly. + try { x = e.clientX - space.left; y = e.clientY - space.top; } + catch (e$1) { return null } + var coords = coordsChar(cm, x, y), line; + if (forRect && coords.xRel > 0 && (line = getLine(cm.doc, coords.line).text).length == coords.ch) { + var colDiff = countColumn(line, line.length, cm.options.tabSize) - line.length; + coords = Pos(coords.line, Math.max(0, Math.round((x - paddingH(cm.display).left) / charWidth(cm.display)) - colDiff)); + } + return coords + } + + // Find the view element corresponding to a given line. Return null + // when the line isn't visible. + function findViewIndex(cm, n) { + if (n >= cm.display.viewTo) { return null } + n -= cm.display.viewFrom; + if (n < 0) { return null } + var view = cm.display.view; + for (var i = 0; i < view.length; i++) { + n -= view[i].size; + if (n < 0) { return i } + } + } + + // Updates the display.view data structure for a given change to the + // document. From and to are in pre-change coordinates. Lendiff is + // the amount of lines added or subtracted by the change. This is + // used for changes that span multiple lines, or change the way + // lines are divided into visual lines. regLineChange (below) + // registers single-line changes. + function regChange(cm, from, to, lendiff) { + if (from == null) { from = cm.doc.first; } + if (to == null) { to = cm.doc.first + cm.doc.size; } + if (!lendiff) { lendiff = 0; } + + var display = cm.display; + if (lendiff && to < display.viewTo && + (display.updateLineNumbers == null || display.updateLineNumbers > from)) + { display.updateLineNumbers = from; } + + cm.curOp.viewChanged = true; + + if (from >= display.viewTo) { // Change after + if (sawCollapsedSpans && visualLineNo(cm.doc, from) < display.viewTo) + { resetView(cm); } + } else if (to <= display.viewFrom) { // Change before + if (sawCollapsedSpans && visualLineEndNo(cm.doc, to + lendiff) > display.viewFrom) { + resetView(cm); + } else { + display.viewFrom += lendiff; + display.viewTo += lendiff; + } + } else if (from <= display.viewFrom && to >= display.viewTo) { // Full overlap + resetView(cm); + } else if (from <= display.viewFrom) { // Top overlap + var cut = viewCuttingPoint(cm, to, to + lendiff, 1); + if (cut) { + display.view = display.view.slice(cut.index); + display.viewFrom = cut.lineN; + display.viewTo += lendiff; + } else { + resetView(cm); + } + } else if (to >= display.viewTo) { // Bottom overlap + var cut$1 = viewCuttingPoint(cm, from, from, -1); + if (cut$1) { + display.view = display.view.slice(0, cut$1.index); + display.viewTo = cut$1.lineN; + } else { + resetView(cm); + } + } else { // Gap in the middle + var cutTop = viewCuttingPoint(cm, from, from, -1); + var cutBot = viewCuttingPoint(cm, to, to + lendiff, 1); + if (cutTop && cutBot) { + display.view = display.view.slice(0, cutTop.index) + .concat(buildViewArray(cm, cutTop.lineN, cutBot.lineN)) + .concat(display.view.slice(cutBot.index)); + display.viewTo += lendiff; + } else { + resetView(cm); + } + } + + var ext = display.externalMeasured; + if (ext) { + if (to < ext.lineN) + { ext.lineN += lendiff; } + else if (from < ext.lineN + ext.size) + { display.externalMeasured = null; } + } + } + + // Register a change to a single line. Type must be one of "text", + // "gutter", "class", "widget" + function regLineChange(cm, line, type) { + cm.curOp.viewChanged = true; + var display = cm.display, ext = cm.display.externalMeasured; + if (ext && line >= ext.lineN && line < ext.lineN + ext.size) + { display.externalMeasured = null; } + + if (line < display.viewFrom || line >= display.viewTo) { return } + var lineView = display.view[findViewIndex(cm, line)]; + if (lineView.node == null) { return } + var arr = lineView.changes || (lineView.changes = []); + if (indexOf(arr, type) == -1) { arr.push(type); } + } + + // Clear the view. + function resetView(cm) { + cm.display.viewFrom = cm.display.viewTo = cm.doc.first; + cm.display.view = []; + cm.display.viewOffset = 0; + } + + function viewCuttingPoint(cm, oldN, newN, dir) { + var index = findViewIndex(cm, oldN), diff, view = cm.display.view; + if (!sawCollapsedSpans || newN == cm.doc.first + cm.doc.size) + { return {index: index, lineN: newN} } + var n = cm.display.viewFrom; + for (var i = 0; i < index; i++) + { n += view[i].size; } + if (n != oldN) { + if (dir > 0) { + if (index == view.length - 1) { return null } + diff = (n + view[index].size) - oldN; + index++; + } else { + diff = n - oldN; + } + oldN += diff; newN += diff; + } + while (visualLineNo(cm.doc, newN) != newN) { + if (index == (dir < 0 ? 0 : view.length - 1)) { return null } + newN += dir * view[index - (dir < 0 ? 1 : 0)].size; + index += dir; + } + return {index: index, lineN: newN} + } + + // Force the view to cover a given range, adding empty view element + // or clipping off existing ones as needed. + function adjustView(cm, from, to) { + var display = cm.display, view = display.view; + if (view.length == 0 || from >= display.viewTo || to <= display.viewFrom) { + display.view = buildViewArray(cm, from, to); + display.viewFrom = from; + } else { + if (display.viewFrom > from) + { display.view = buildViewArray(cm, from, display.viewFrom).concat(display.view); } + else if (display.viewFrom < from) + { display.view = display.view.slice(findViewIndex(cm, from)); } + display.viewFrom = from; + if (display.viewTo < to) + { display.view = display.view.concat(buildViewArray(cm, display.viewTo, to)); } + else if (display.viewTo > to) + { display.view = display.view.slice(0, findViewIndex(cm, to)); } + } + display.viewTo = to; + } + + // Count the number of lines in the view whose DOM representation is + // out of date (or nonexistent). + function countDirtyView(cm) { + var view = cm.display.view, dirty = 0; + for (var i = 0; i < view.length; i++) { + var lineView = view[i]; + if (!lineView.hidden && (!lineView.node || lineView.changes)) { ++dirty; } + } + return dirty + } + + function updateSelection(cm) { + cm.display.input.showSelection(cm.display.input.prepareSelection()); + } + + function prepareSelection(cm, primary) { + if ( primary === void 0 ) primary = true; + + var doc = cm.doc, result = {}; + var curFragment = result.cursors = document.createDocumentFragment(); + var selFragment = result.selection = document.createDocumentFragment(); + + var customCursor = cm.options.$customCursor; + if (customCursor) { primary = true; } + for (var i = 0; i < doc.sel.ranges.length; i++) { + if (!primary && i == doc.sel.primIndex) { continue } + var range = doc.sel.ranges[i]; + if (range.from().line >= cm.display.viewTo || range.to().line < cm.display.viewFrom) { continue } + var collapsed = range.empty(); + if (customCursor) { + var head = customCursor(cm, range); + if (head) { drawSelectionCursor(cm, head, curFragment); } + } else if (collapsed || cm.options.showCursorWhenSelecting) { + drawSelectionCursor(cm, range.head, curFragment); + } + if (!collapsed) + { drawSelectionRange(cm, range, selFragment); } + } + return result + } + + // Draws a cursor for the given range + function drawSelectionCursor(cm, head, output) { + var pos = cursorCoords(cm, head, "div", null, null, !cm.options.singleCursorHeightPerLine); + + var cursor = output.appendChild(elt("div", "\u00a0", "CodeMirror-cursor")); + cursor.style.left = pos.left + "px"; + cursor.style.top = pos.top + "px"; + cursor.style.height = Math.max(0, pos.bottom - pos.top) * cm.options.cursorHeight + "px"; + + if (/\bcm-fat-cursor\b/.test(cm.getWrapperElement().className)) { + var charPos = charCoords(cm, head, "div", null, null); + var width = charPos.right - charPos.left; + cursor.style.width = (width > 0 ? width : cm.defaultCharWidth()) + "px"; + } + + if (pos.other) { + // Secondary cursor, shown when on a 'jump' in bi-directional text + var otherCursor = output.appendChild(elt("div", "\u00a0", "CodeMirror-cursor CodeMirror-secondarycursor")); + otherCursor.style.display = ""; + otherCursor.style.left = pos.other.left + "px"; + otherCursor.style.top = pos.other.top + "px"; + otherCursor.style.height = (pos.other.bottom - pos.other.top) * .85 + "px"; + } + } + + function cmpCoords(a, b) { return a.top - b.top || a.left - b.left } + + // Draws the given range as a highlighted selection + function drawSelectionRange(cm, range, output) { + var display = cm.display, doc = cm.doc; + var fragment = document.createDocumentFragment(); + var padding = paddingH(cm.display), leftSide = padding.left; + var rightSide = Math.max(display.sizerWidth, displayWidth(cm) - display.sizer.offsetLeft) - padding.right; + var docLTR = doc.direction == "ltr"; + + function add(left, top, width, bottom) { + if (top < 0) { top = 0; } + top = Math.round(top); + bottom = Math.round(bottom); + fragment.appendChild(elt("div", null, "CodeMirror-selected", ("position: absolute; left: " + left + "px;\n top: " + top + "px; width: " + (width == null ? rightSide - left : width) + "px;\n height: " + (bottom - top) + "px"))); + } + + function drawForLine(line, fromArg, toArg) { + var lineObj = getLine(doc, line); + var lineLen = lineObj.text.length; + var start, end; + function coords(ch, bias) { + return charCoords(cm, Pos(line, ch), "div", lineObj, bias) + } + + function wrapX(pos, dir, side) { + var extent = wrappedLineExtentChar(cm, lineObj, null, pos); + var prop = (dir == "ltr") == (side == "after") ? "left" : "right"; + var ch = side == "after" ? extent.begin : extent.end - (/\s/.test(lineObj.text.charAt(extent.end - 1)) ? 2 : 1); + return coords(ch, prop)[prop] + } + + var order = getOrder(lineObj, doc.direction); + iterateBidiSections(order, fromArg || 0, toArg == null ? lineLen : toArg, function (from, to, dir, i) { + var ltr = dir == "ltr"; + var fromPos = coords(from, ltr ? "left" : "right"); + var toPos = coords(to - 1, ltr ? "right" : "left"); + + var openStart = fromArg == null && from == 0, openEnd = toArg == null && to == lineLen; + var first = i == 0, last = !order || i == order.length - 1; + if (toPos.top - fromPos.top <= 3) { // Single line + var openLeft = (docLTR ? openStart : openEnd) && first; + var openRight = (docLTR ? openEnd : openStart) && last; + var left = openLeft ? leftSide : (ltr ? fromPos : toPos).left; + var right = openRight ? rightSide : (ltr ? toPos : fromPos).right; + add(left, fromPos.top, right - left, fromPos.bottom); + } else { // Multiple lines + var topLeft, topRight, botLeft, botRight; + if (ltr) { + topLeft = docLTR && openStart && first ? leftSide : fromPos.left; + topRight = docLTR ? rightSide : wrapX(from, dir, "before"); + botLeft = docLTR ? leftSide : wrapX(to, dir, "after"); + botRight = docLTR && openEnd && last ? rightSide : toPos.right; + } else { + topLeft = !docLTR ? leftSide : wrapX(from, dir, "before"); + topRight = !docLTR && openStart && first ? rightSide : fromPos.right; + botLeft = !docLTR && openEnd && last ? leftSide : toPos.left; + botRight = !docLTR ? rightSide : wrapX(to, dir, "after"); + } + add(topLeft, fromPos.top, topRight - topLeft, fromPos.bottom); + if (fromPos.bottom < toPos.top) { add(leftSide, fromPos.bottom, null, toPos.top); } + add(botLeft, toPos.top, botRight - botLeft, toPos.bottom); + } + + if (!start || cmpCoords(fromPos, start) < 0) { start = fromPos; } + if (cmpCoords(toPos, start) < 0) { start = toPos; } + if (!end || cmpCoords(fromPos, end) < 0) { end = fromPos; } + if (cmpCoords(toPos, end) < 0) { end = toPos; } + }); + return {start: start, end: end} + } + + var sFrom = range.from(), sTo = range.to(); + if (sFrom.line == sTo.line) { + drawForLine(sFrom.line, sFrom.ch, sTo.ch); + } else { + var fromLine = getLine(doc, sFrom.line), toLine = getLine(doc, sTo.line); + var singleVLine = visualLine(fromLine) == visualLine(toLine); + var leftEnd = drawForLine(sFrom.line, sFrom.ch, singleVLine ? fromLine.text.length + 1 : null).end; + var rightStart = drawForLine(sTo.line, singleVLine ? 0 : null, sTo.ch).start; + if (singleVLine) { + if (leftEnd.top < rightStart.top - 2) { + add(leftEnd.right, leftEnd.top, null, leftEnd.bottom); + add(leftSide, rightStart.top, rightStart.left, rightStart.bottom); + } else { + add(leftEnd.right, leftEnd.top, rightStart.left - leftEnd.right, leftEnd.bottom); + } + } + if (leftEnd.bottom < rightStart.top) + { add(leftSide, leftEnd.bottom, null, rightStart.top); } + } + + output.appendChild(fragment); + } + + // Cursor-blinking + function restartBlink(cm) { + if (!cm.state.focused) { return } + var display = cm.display; + clearInterval(display.blinker); + var on = true; + display.cursorDiv.style.visibility = ""; + if (cm.options.cursorBlinkRate > 0) + { display.blinker = setInterval(function () { + if (!cm.hasFocus()) { onBlur(cm); } + display.cursorDiv.style.visibility = (on = !on) ? "" : "hidden"; + }, cm.options.cursorBlinkRate); } + else if (cm.options.cursorBlinkRate < 0) + { display.cursorDiv.style.visibility = "hidden"; } + } + + function ensureFocus(cm) { + if (!cm.hasFocus()) { + cm.display.input.focus(); + if (!cm.state.focused) { onFocus(cm); } + } + } + + function delayBlurEvent(cm) { + cm.state.delayingBlurEvent = true; + setTimeout(function () { if (cm.state.delayingBlurEvent) { + cm.state.delayingBlurEvent = false; + if (cm.state.focused) { onBlur(cm); } + } }, 100); + } + + function onFocus(cm, e) { + if (cm.state.delayingBlurEvent && !cm.state.draggingText) { cm.state.delayingBlurEvent = false; } + + if (cm.options.readOnly == "nocursor") { return } + if (!cm.state.focused) { + signal(cm, "focus", cm, e); + cm.state.focused = true; + addClass(cm.display.wrapper, "CodeMirror-focused"); + // This test prevents this from firing when a context + // menu is closed (since the input reset would kill the + // select-all detection hack) + if (!cm.curOp && cm.display.selForContextMenu != cm.doc.sel) { + cm.display.input.reset(); + if (webkit) { setTimeout(function () { return cm.display.input.reset(true); }, 20); } // Issue #1730 + } + cm.display.input.receivedFocus(); + } + restartBlink(cm); + } + function onBlur(cm, e) { + if (cm.state.delayingBlurEvent) { return } + + if (cm.state.focused) { + signal(cm, "blur", cm, e); + cm.state.focused = false; + rmClass(cm.display.wrapper, "CodeMirror-focused"); + } + clearInterval(cm.display.blinker); + setTimeout(function () { if (!cm.state.focused) { cm.display.shift = false; } }, 150); + } + + // Read the actual heights of the rendered lines, and update their + // stored heights to match. + function updateHeightsInViewport(cm) { + var display = cm.display; + var prevBottom = display.lineDiv.offsetTop; + var viewTop = Math.max(0, display.scroller.getBoundingClientRect().top); + var oldHeight = display.lineDiv.getBoundingClientRect().top; + var mustScroll = 0; + for (var i = 0; i < display.view.length; i++) { + var cur = display.view[i], wrapping = cm.options.lineWrapping; + var height = (void 0), width = 0; + if (cur.hidden) { continue } + oldHeight += cur.line.height; + if (ie && ie_version < 8) { + var bot = cur.node.offsetTop + cur.node.offsetHeight; + height = bot - prevBottom; + prevBottom = bot; + } else { + var box = cur.node.getBoundingClientRect(); + height = box.bottom - box.top; + // Check that lines don't extend past the right of the current + // editor width + if (!wrapping && cur.text.firstChild) + { width = cur.text.firstChild.getBoundingClientRect().right - box.left - 1; } + } + var diff = cur.line.height - height; + if (diff > .005 || diff < -.005) { + if (oldHeight < viewTop) { mustScroll -= diff; } + updateLineHeight(cur.line, height); + updateWidgetHeight(cur.line); + if (cur.rest) { for (var j = 0; j < cur.rest.length; j++) + { updateWidgetHeight(cur.rest[j]); } } + } + if (width > cm.display.sizerWidth) { + var chWidth = Math.ceil(width / charWidth(cm.display)); + if (chWidth > cm.display.maxLineLength) { + cm.display.maxLineLength = chWidth; + cm.display.maxLine = cur.line; + cm.display.maxLineChanged = true; + } + } + } + if (Math.abs(mustScroll) > 2) { display.scroller.scrollTop += mustScroll; } + } + + // Read and store the height of line widgets associated with the + // given line. + function updateWidgetHeight(line) { + if (line.widgets) { for (var i = 0; i < line.widgets.length; ++i) { + var w = line.widgets[i], parent = w.node.parentNode; + if (parent) { w.height = parent.offsetHeight; } + } } + } + + // Compute the lines that are visible in a given viewport (defaults + // the the current scroll position). viewport may contain top, + // height, and ensure (see op.scrollToPos) properties. + function visibleLines(display, doc, viewport) { + var top = viewport && viewport.top != null ? Math.max(0, viewport.top) : display.scroller.scrollTop; + top = Math.floor(top - paddingTop(display)); + var bottom = viewport && viewport.bottom != null ? viewport.bottom : top + display.wrapper.clientHeight; + + var from = lineAtHeight(doc, top), to = lineAtHeight(doc, bottom); + // Ensure is a {from: {line, ch}, to: {line, ch}} object, and + // forces those lines into the viewport (if possible). + if (viewport && viewport.ensure) { + var ensureFrom = viewport.ensure.from.line, ensureTo = viewport.ensure.to.line; + if (ensureFrom < from) { + from = ensureFrom; + to = lineAtHeight(doc, heightAtLine(getLine(doc, ensureFrom)) + display.wrapper.clientHeight); + } else if (Math.min(ensureTo, doc.lastLine()) >= to) { + from = lineAtHeight(doc, heightAtLine(getLine(doc, ensureTo)) - display.wrapper.clientHeight); + to = ensureTo; + } + } + return {from: from, to: Math.max(to, from + 1)} + } + + // SCROLLING THINGS INTO VIEW + + // If an editor sits on the top or bottom of the window, partially + // scrolled out of view, this ensures that the cursor is visible. + function maybeScrollWindow(cm, rect) { + if (signalDOMEvent(cm, "scrollCursorIntoView")) { return } + + var display = cm.display, box = display.sizer.getBoundingClientRect(), doScroll = null; + var doc = display.wrapper.ownerDocument; + if (rect.top + box.top < 0) { doScroll = true; } + else if (rect.bottom + box.top > (doc.defaultView.innerHeight || doc.documentElement.clientHeight)) { doScroll = false; } + if (doScroll != null && !phantom) { + var scrollNode = elt("div", "\u200b", null, ("position: absolute;\n top: " + (rect.top - display.viewOffset - paddingTop(cm.display)) + "px;\n height: " + (rect.bottom - rect.top + scrollGap(cm) + display.barHeight) + "px;\n left: " + (rect.left) + "px; width: " + (Math.max(2, rect.right - rect.left)) + "px;")); + cm.display.lineSpace.appendChild(scrollNode); + scrollNode.scrollIntoView(doScroll); + cm.display.lineSpace.removeChild(scrollNode); + } + } + + // Scroll a given position into view (immediately), verifying that + // it actually became visible (as line heights are accurately + // measured, the position of something may 'drift' during drawing). + function scrollPosIntoView(cm, pos, end, margin) { + if (margin == null) { margin = 0; } + var rect; + if (!cm.options.lineWrapping && pos == end) { + // Set pos and end to the cursor positions around the character pos sticks to + // If pos.sticky == "before", that is around pos.ch - 1, otherwise around pos.ch + // If pos == Pos(_, 0, "before"), pos and end are unchanged + end = pos.sticky == "before" ? Pos(pos.line, pos.ch + 1, "before") : pos; + pos = pos.ch ? Pos(pos.line, pos.sticky == "before" ? pos.ch - 1 : pos.ch, "after") : pos; + } + for (var limit = 0; limit < 5; limit++) { + var changed = false; + var coords = cursorCoords(cm, pos); + var endCoords = !end || end == pos ? coords : cursorCoords(cm, end); + rect = {left: Math.min(coords.left, endCoords.left), + top: Math.min(coords.top, endCoords.top) - margin, + right: Math.max(coords.left, endCoords.left), + bottom: Math.max(coords.bottom, endCoords.bottom) + margin}; + var scrollPos = calculateScrollPos(cm, rect); + var startTop = cm.doc.scrollTop, startLeft = cm.doc.scrollLeft; + if (scrollPos.scrollTop != null) { + updateScrollTop(cm, scrollPos.scrollTop); + if (Math.abs(cm.doc.scrollTop - startTop) > 1) { changed = true; } + } + if (scrollPos.scrollLeft != null) { + setScrollLeft(cm, scrollPos.scrollLeft); + if (Math.abs(cm.doc.scrollLeft - startLeft) > 1) { changed = true; } + } + if (!changed) { break } + } + return rect + } + + // Scroll a given set of coordinates into view (immediately). + function scrollIntoView(cm, rect) { + var scrollPos = calculateScrollPos(cm, rect); + if (scrollPos.scrollTop != null) { updateScrollTop(cm, scrollPos.scrollTop); } + if (scrollPos.scrollLeft != null) { setScrollLeft(cm, scrollPos.scrollLeft); } + } + + // Calculate a new scroll position needed to scroll the given + // rectangle into view. Returns an object with scrollTop and + // scrollLeft properties. When these are undefined, the + // vertical/horizontal position does not need to be adjusted. + function calculateScrollPos(cm, rect) { + var display = cm.display, snapMargin = textHeight(cm.display); + if (rect.top < 0) { rect.top = 0; } + var screentop = cm.curOp && cm.curOp.scrollTop != null ? cm.curOp.scrollTop : display.scroller.scrollTop; + var screen = displayHeight(cm), result = {}; + if (rect.bottom - rect.top > screen) { rect.bottom = rect.top + screen; } + var docBottom = cm.doc.height + paddingVert(display); + var atTop = rect.top < snapMargin, atBottom = rect.bottom > docBottom - snapMargin; + if (rect.top < screentop) { + result.scrollTop = atTop ? 0 : rect.top; + } else if (rect.bottom > screentop + screen) { + var newTop = Math.min(rect.top, (atBottom ? docBottom : rect.bottom) - screen); + if (newTop != screentop) { result.scrollTop = newTop; } + } + + var gutterSpace = cm.options.fixedGutter ? 0 : display.gutters.offsetWidth; + var screenleft = cm.curOp && cm.curOp.scrollLeft != null ? cm.curOp.scrollLeft : display.scroller.scrollLeft - gutterSpace; + var screenw = displayWidth(cm) - display.gutters.offsetWidth; + var tooWide = rect.right - rect.left > screenw; + if (tooWide) { rect.right = rect.left + screenw; } + if (rect.left < 10) + { result.scrollLeft = 0; } + else if (rect.left < screenleft) + { result.scrollLeft = Math.max(0, rect.left + gutterSpace - (tooWide ? 0 : 10)); } + else if (rect.right > screenw + screenleft - 3) + { result.scrollLeft = rect.right + (tooWide ? 0 : 10) - screenw; } + return result + } + + // Store a relative adjustment to the scroll position in the current + // operation (to be applied when the operation finishes). + function addToScrollTop(cm, top) { + if (top == null) { return } + resolveScrollToPos(cm); + cm.curOp.scrollTop = (cm.curOp.scrollTop == null ? cm.doc.scrollTop : cm.curOp.scrollTop) + top; + } + + // Make sure that at the end of the operation the current cursor is + // shown. + function ensureCursorVisible(cm) { + resolveScrollToPos(cm); + var cur = cm.getCursor(); + cm.curOp.scrollToPos = {from: cur, to: cur, margin: cm.options.cursorScrollMargin}; + } + + function scrollToCoords(cm, x, y) { + if (x != null || y != null) { resolveScrollToPos(cm); } + if (x != null) { cm.curOp.scrollLeft = x; } + if (y != null) { cm.curOp.scrollTop = y; } + } + + function scrollToRange(cm, range) { + resolveScrollToPos(cm); + cm.curOp.scrollToPos = range; + } + + // When an operation has its scrollToPos property set, and another + // scroll action is applied before the end of the operation, this + // 'simulates' scrolling that position into view in a cheap way, so + // that the effect of intermediate scroll commands is not ignored. + function resolveScrollToPos(cm) { + var range = cm.curOp.scrollToPos; + if (range) { + cm.curOp.scrollToPos = null; + var from = estimateCoords(cm, range.from), to = estimateCoords(cm, range.to); + scrollToCoordsRange(cm, from, to, range.margin); + } + } + + function scrollToCoordsRange(cm, from, to, margin) { + var sPos = calculateScrollPos(cm, { + left: Math.min(from.left, to.left), + top: Math.min(from.top, to.top) - margin, + right: Math.max(from.right, to.right), + bottom: Math.max(from.bottom, to.bottom) + margin + }); + scrollToCoords(cm, sPos.scrollLeft, sPos.scrollTop); + } + + // Sync the scrollable area and scrollbars, ensure the viewport + // covers the visible area. + function updateScrollTop(cm, val) { + if (Math.abs(cm.doc.scrollTop - val) < 2) { return } + if (!gecko) { updateDisplaySimple(cm, {top: val}); } + setScrollTop(cm, val, true); + if (gecko) { updateDisplaySimple(cm); } + startWorker(cm, 100); + } + + function setScrollTop(cm, val, forceScroll) { + val = Math.max(0, Math.min(cm.display.scroller.scrollHeight - cm.display.scroller.clientHeight, val)); + if (cm.display.scroller.scrollTop == val && !forceScroll) { return } + cm.doc.scrollTop = val; + cm.display.scrollbars.setScrollTop(val); + if (cm.display.scroller.scrollTop != val) { cm.display.scroller.scrollTop = val; } + } + + // Sync scroller and scrollbar, ensure the gutter elements are + // aligned. + function setScrollLeft(cm, val, isScroller, forceScroll) { + val = Math.max(0, Math.min(val, cm.display.scroller.scrollWidth - cm.display.scroller.clientWidth)); + if ((isScroller ? val == cm.doc.scrollLeft : Math.abs(cm.doc.scrollLeft - val) < 2) && !forceScroll) { return } + cm.doc.scrollLeft = val; + alignHorizontally(cm); + if (cm.display.scroller.scrollLeft != val) { cm.display.scroller.scrollLeft = val; } + cm.display.scrollbars.setScrollLeft(val); + } + + // SCROLLBARS + + // Prepare DOM reads needed to update the scrollbars. Done in one + // shot to minimize update/measure roundtrips. + function measureForScrollbars(cm) { + var d = cm.display, gutterW = d.gutters.offsetWidth; + var docH = Math.round(cm.doc.height + paddingVert(cm.display)); + return { + clientHeight: d.scroller.clientHeight, + viewHeight: d.wrapper.clientHeight, + scrollWidth: d.scroller.scrollWidth, clientWidth: d.scroller.clientWidth, + viewWidth: d.wrapper.clientWidth, + barLeft: cm.options.fixedGutter ? gutterW : 0, + docHeight: docH, + scrollHeight: docH + scrollGap(cm) + d.barHeight, + nativeBarWidth: d.nativeBarWidth, + gutterWidth: gutterW + } + } + + var NativeScrollbars = function(place, scroll, cm) { + this.cm = cm; + var vert = this.vert = elt("div", [elt("div", null, null, "min-width: 1px")], "CodeMirror-vscrollbar"); + var horiz = this.horiz = elt("div", [elt("div", null, null, "height: 100%; min-height: 1px")], "CodeMirror-hscrollbar"); + vert.tabIndex = horiz.tabIndex = -1; + place(vert); place(horiz); + + on(vert, "scroll", function () { + if (vert.clientHeight) { scroll(vert.scrollTop, "vertical"); } + }); + on(horiz, "scroll", function () { + if (horiz.clientWidth) { scroll(horiz.scrollLeft, "horizontal"); } + }); + + this.checkedZeroWidth = false; + // Need to set a minimum width to see the scrollbar on IE7 (but must not set it on IE8). + if (ie && ie_version < 8) { this.horiz.style.minHeight = this.vert.style.minWidth = "18px"; } + }; + + NativeScrollbars.prototype.update = function (measure) { + var needsH = measure.scrollWidth > measure.clientWidth + 1; + var needsV = measure.scrollHeight > measure.clientHeight + 1; + var sWidth = measure.nativeBarWidth; + + if (needsV) { + this.vert.style.display = "block"; + this.vert.style.bottom = needsH ? sWidth + "px" : "0"; + var totalHeight = measure.viewHeight - (needsH ? sWidth : 0); + // A bug in IE8 can cause this value to be negative, so guard it. + this.vert.firstChild.style.height = + Math.max(0, measure.scrollHeight - measure.clientHeight + totalHeight) + "px"; + } else { + this.vert.scrollTop = 0; + this.vert.style.display = ""; + this.vert.firstChild.style.height = "0"; + } + + if (needsH) { + this.horiz.style.display = "block"; + this.horiz.style.right = needsV ? sWidth + "px" : "0"; + this.horiz.style.left = measure.barLeft + "px"; + var totalWidth = measure.viewWidth - measure.barLeft - (needsV ? sWidth : 0); + this.horiz.firstChild.style.width = + Math.max(0, measure.scrollWidth - measure.clientWidth + totalWidth) + "px"; + } else { + this.horiz.style.display = ""; + this.horiz.firstChild.style.width = "0"; + } + + if (!this.checkedZeroWidth && measure.clientHeight > 0) { + if (sWidth == 0) { this.zeroWidthHack(); } + this.checkedZeroWidth = true; + } + + return {right: needsV ? sWidth : 0, bottom: needsH ? sWidth : 0} + }; + + NativeScrollbars.prototype.setScrollLeft = function (pos) { + if (this.horiz.scrollLeft != pos) { this.horiz.scrollLeft = pos; } + if (this.disableHoriz) { this.enableZeroWidthBar(this.horiz, this.disableHoriz, "horiz"); } + }; + + NativeScrollbars.prototype.setScrollTop = function (pos) { + if (this.vert.scrollTop != pos) { this.vert.scrollTop = pos; } + if (this.disableVert) { this.enableZeroWidthBar(this.vert, this.disableVert, "vert"); } + }; + + NativeScrollbars.prototype.zeroWidthHack = function () { + var w = mac && !mac_geMountainLion ? "12px" : "18px"; + this.horiz.style.height = this.vert.style.width = w; + this.horiz.style.visibility = this.vert.style.visibility = "hidden"; + this.disableHoriz = new Delayed; + this.disableVert = new Delayed; + }; + + NativeScrollbars.prototype.enableZeroWidthBar = function (bar, delay, type) { + bar.style.visibility = ""; + function maybeDisable() { + // To find out whether the scrollbar is still visible, we + // check whether the element under the pixel in the bottom + // right corner of the scrollbar box is the scrollbar box + // itself (when the bar is still visible) or its filler child + // (when the bar is hidden). If it is still visible, we keep + // it enabled, if it's hidden, we disable pointer events. + var box = bar.getBoundingClientRect(); + var elt = type == "vert" ? document.elementFromPoint(box.right - 1, (box.top + box.bottom) / 2) + : document.elementFromPoint((box.right + box.left) / 2, box.bottom - 1); + if (elt != bar) { bar.style.visibility = "hidden"; } + else { delay.set(1000, maybeDisable); } + } + delay.set(1000, maybeDisable); + }; + + NativeScrollbars.prototype.clear = function () { + var parent = this.horiz.parentNode; + parent.removeChild(this.horiz); + parent.removeChild(this.vert); + }; + + var NullScrollbars = function () {}; + + NullScrollbars.prototype.update = function () { return {bottom: 0, right: 0} }; + NullScrollbars.prototype.setScrollLeft = function () {}; + NullScrollbars.prototype.setScrollTop = function () {}; + NullScrollbars.prototype.clear = function () {}; + + function updateScrollbars(cm, measure) { + if (!measure) { measure = measureForScrollbars(cm); } + var startWidth = cm.display.barWidth, startHeight = cm.display.barHeight; + updateScrollbarsInner(cm, measure); + for (var i = 0; i < 4 && startWidth != cm.display.barWidth || startHeight != cm.display.barHeight; i++) { + if (startWidth != cm.display.barWidth && cm.options.lineWrapping) + { updateHeightsInViewport(cm); } + updateScrollbarsInner(cm, measureForScrollbars(cm)); + startWidth = cm.display.barWidth; startHeight = cm.display.barHeight; + } + } + + // Re-synchronize the fake scrollbars with the actual size of the + // content. + function updateScrollbarsInner(cm, measure) { + var d = cm.display; + var sizes = d.scrollbars.update(measure); + + d.sizer.style.paddingRight = (d.barWidth = sizes.right) + "px"; + d.sizer.style.paddingBottom = (d.barHeight = sizes.bottom) + "px"; + d.heightForcer.style.borderBottom = sizes.bottom + "px solid transparent"; + + if (sizes.right && sizes.bottom) { + d.scrollbarFiller.style.display = "block"; + d.scrollbarFiller.style.height = sizes.bottom + "px"; + d.scrollbarFiller.style.width = sizes.right + "px"; + } else { d.scrollbarFiller.style.display = ""; } + if (sizes.bottom && cm.options.coverGutterNextToScrollbar && cm.options.fixedGutter) { + d.gutterFiller.style.display = "block"; + d.gutterFiller.style.height = sizes.bottom + "px"; + d.gutterFiller.style.width = measure.gutterWidth + "px"; + } else { d.gutterFiller.style.display = ""; } + } + + var scrollbarModel = {"native": NativeScrollbars, "null": NullScrollbars}; + + function initScrollbars(cm) { + if (cm.display.scrollbars) { + cm.display.scrollbars.clear(); + if (cm.display.scrollbars.addClass) + { rmClass(cm.display.wrapper, cm.display.scrollbars.addClass); } + } + + cm.display.scrollbars = new scrollbarModel[cm.options.scrollbarStyle](function (node) { + cm.display.wrapper.insertBefore(node, cm.display.scrollbarFiller); + // Prevent clicks in the scrollbars from killing focus + on(node, "mousedown", function () { + if (cm.state.focused) { setTimeout(function () { return cm.display.input.focus(); }, 0); } + }); + node.setAttribute("cm-not-content", "true"); + }, function (pos, axis) { + if (axis == "horizontal") { setScrollLeft(cm, pos); } + else { updateScrollTop(cm, pos); } + }, cm); + if (cm.display.scrollbars.addClass) + { addClass(cm.display.wrapper, cm.display.scrollbars.addClass); } + } + + // Operations are used to wrap a series of changes to the editor + // state in such a way that each change won't have to update the + // cursor and display (which would be awkward, slow, and + // error-prone). Instead, display updates are batched and then all + // combined and executed at once. + + var nextOpId = 0; + // Start a new operation. + function startOperation(cm) { + cm.curOp = { + cm: cm, + viewChanged: false, // Flag that indicates that lines might need to be redrawn + startHeight: cm.doc.height, // Used to detect need to update scrollbar + forceUpdate: false, // Used to force a redraw + updateInput: 0, // Whether to reset the input textarea + typing: false, // Whether this reset should be careful to leave existing text (for compositing) + changeObjs: null, // Accumulated changes, for firing change events + cursorActivityHandlers: null, // Set of handlers to fire cursorActivity on + cursorActivityCalled: 0, // Tracks which cursorActivity handlers have been called already + selectionChanged: false, // Whether the selection needs to be redrawn + updateMaxLine: false, // Set when the widest line needs to be determined anew + scrollLeft: null, scrollTop: null, // Intermediate scroll position, not pushed to DOM yet + scrollToPos: null, // Used to scroll to a specific position + focus: false, + id: ++nextOpId, // Unique ID + markArrays: null // Used by addMarkedSpan + }; + pushOperation(cm.curOp); + } + + // Finish an operation, updating the display and signalling delayed events + function endOperation(cm) { + var op = cm.curOp; + if (op) { finishOperation(op, function (group) { + for (var i = 0; i < group.ops.length; i++) + { group.ops[i].cm.curOp = null; } + endOperations(group); + }); } + } + + // The DOM updates done when an operation finishes are batched so + // that the minimum number of relayouts are required. + function endOperations(group) { + var ops = group.ops; + for (var i = 0; i < ops.length; i++) // Read DOM + { endOperation_R1(ops[i]); } + for (var i$1 = 0; i$1 < ops.length; i$1++) // Write DOM (maybe) + { endOperation_W1(ops[i$1]); } + for (var i$2 = 0; i$2 < ops.length; i$2++) // Read DOM + { endOperation_R2(ops[i$2]); } + for (var i$3 = 0; i$3 < ops.length; i$3++) // Write DOM (maybe) + { endOperation_W2(ops[i$3]); } + for (var i$4 = 0; i$4 < ops.length; i$4++) // Read DOM + { endOperation_finish(ops[i$4]); } + } + + function endOperation_R1(op) { + var cm = op.cm, display = cm.display; + maybeClipScrollbars(cm); + if (op.updateMaxLine) { findMaxLine(cm); } + + op.mustUpdate = op.viewChanged || op.forceUpdate || op.scrollTop != null || + op.scrollToPos && (op.scrollToPos.from.line < display.viewFrom || + op.scrollToPos.to.line >= display.viewTo) || + display.maxLineChanged && cm.options.lineWrapping; + op.update = op.mustUpdate && + new DisplayUpdate(cm, op.mustUpdate && {top: op.scrollTop, ensure: op.scrollToPos}, op.forceUpdate); + } + + function endOperation_W1(op) { + op.updatedDisplay = op.mustUpdate && updateDisplayIfNeeded(op.cm, op.update); + } + + function endOperation_R2(op) { + var cm = op.cm, display = cm.display; + if (op.updatedDisplay) { updateHeightsInViewport(cm); } + + op.barMeasure = measureForScrollbars(cm); + + // If the max line changed since it was last measured, measure it, + // and ensure the document's width matches it. + // updateDisplay_W2 will use these properties to do the actual resizing + if (display.maxLineChanged && !cm.options.lineWrapping) { + op.adjustWidthTo = measureChar(cm, display.maxLine, display.maxLine.text.length).left + 3; + cm.display.sizerWidth = op.adjustWidthTo; + op.barMeasure.scrollWidth = + Math.max(display.scroller.clientWidth, display.sizer.offsetLeft + op.adjustWidthTo + scrollGap(cm) + cm.display.barWidth); + op.maxScrollLeft = Math.max(0, display.sizer.offsetLeft + op.adjustWidthTo - displayWidth(cm)); + } + + if (op.updatedDisplay || op.selectionChanged) + { op.preparedSelection = display.input.prepareSelection(); } + } + + function endOperation_W2(op) { + var cm = op.cm; + + if (op.adjustWidthTo != null) { + cm.display.sizer.style.minWidth = op.adjustWidthTo + "px"; + if (op.maxScrollLeft < cm.doc.scrollLeft) + { setScrollLeft(cm, Math.min(cm.display.scroller.scrollLeft, op.maxScrollLeft), true); } + cm.display.maxLineChanged = false; + } + + var takeFocus = op.focus && op.focus == activeElt(root(cm)); + if (op.preparedSelection) + { cm.display.input.showSelection(op.preparedSelection, takeFocus); } + if (op.updatedDisplay || op.startHeight != cm.doc.height) + { updateScrollbars(cm, op.barMeasure); } + if (op.updatedDisplay) + { setDocumentHeight(cm, op.barMeasure); } + + if (op.selectionChanged) { restartBlink(cm); } + + if (cm.state.focused && op.updateInput) + { cm.display.input.reset(op.typing); } + if (takeFocus) { ensureFocus(op.cm); } + } + + function endOperation_finish(op) { + var cm = op.cm, display = cm.display, doc = cm.doc; + + if (op.updatedDisplay) { postUpdateDisplay(cm, op.update); } + + // Abort mouse wheel delta measurement, when scrolling explicitly + if (display.wheelStartX != null && (op.scrollTop != null || op.scrollLeft != null || op.scrollToPos)) + { display.wheelStartX = display.wheelStartY = null; } + + // Propagate the scroll position to the actual DOM scroller + if (op.scrollTop != null) { setScrollTop(cm, op.scrollTop, op.forceScroll); } + + if (op.scrollLeft != null) { setScrollLeft(cm, op.scrollLeft, true, true); } + // If we need to scroll a specific position into view, do so. + if (op.scrollToPos) { + var rect = scrollPosIntoView(cm, clipPos(doc, op.scrollToPos.from), + clipPos(doc, op.scrollToPos.to), op.scrollToPos.margin); + maybeScrollWindow(cm, rect); + } + + // Fire events for markers that are hidden/unidden by editing or + // undoing + var hidden = op.maybeHiddenMarkers, unhidden = op.maybeUnhiddenMarkers; + if (hidden) { for (var i = 0; i < hidden.length; ++i) + { if (!hidden[i].lines.length) { signal(hidden[i], "hide"); } } } + if (unhidden) { for (var i$1 = 0; i$1 < unhidden.length; ++i$1) + { if (unhidden[i$1].lines.length) { signal(unhidden[i$1], "unhide"); } } } + + if (display.wrapper.offsetHeight) + { doc.scrollTop = cm.display.scroller.scrollTop; } + + // Fire change events, and delayed event handlers + if (op.changeObjs) + { signal(cm, "changes", cm, op.changeObjs); } + if (op.update) + { op.update.finish(); } + } + + // Run the given function in an operation + function runInOp(cm, f) { + if (cm.curOp) { return f() } + startOperation(cm); + try { return f() } + finally { endOperation(cm); } + } + // Wraps a function in an operation. Returns the wrapped function. + function operation(cm, f) { + return function() { + if (cm.curOp) { return f.apply(cm, arguments) } + startOperation(cm); + try { return f.apply(cm, arguments) } + finally { endOperation(cm); } + } + } + // Used to add methods to editor and doc instances, wrapping them in + // operations. + function methodOp(f) { + return function() { + if (this.curOp) { return f.apply(this, arguments) } + startOperation(this); + try { return f.apply(this, arguments) } + finally { endOperation(this); } + } + } + function docMethodOp(f) { + return function() { + var cm = this.cm; + if (!cm || cm.curOp) { return f.apply(this, arguments) } + startOperation(cm); + try { return f.apply(this, arguments) } + finally { endOperation(cm); } + } + } + + // HIGHLIGHT WORKER + + function startWorker(cm, time) { + if (cm.doc.highlightFrontier < cm.display.viewTo) + { cm.state.highlight.set(time, bind(highlightWorker, cm)); } + } + + function highlightWorker(cm) { + var doc = cm.doc; + if (doc.highlightFrontier >= cm.display.viewTo) { return } + var end = +new Date + cm.options.workTime; + var context = getContextBefore(cm, doc.highlightFrontier); + var changedLines = []; + + doc.iter(context.line, Math.min(doc.first + doc.size, cm.display.viewTo + 500), function (line) { + if (context.line >= cm.display.viewFrom) { // Visible + var oldStyles = line.styles; + var resetState = line.text.length > cm.options.maxHighlightLength ? copyState(doc.mode, context.state) : null; + var highlighted = highlightLine(cm, line, context, true); + if (resetState) { context.state = resetState; } + line.styles = highlighted.styles; + var oldCls = line.styleClasses, newCls = highlighted.classes; + if (newCls) { line.styleClasses = newCls; } + else if (oldCls) { line.styleClasses = null; } + var ischange = !oldStyles || oldStyles.length != line.styles.length || + oldCls != newCls && (!oldCls || !newCls || oldCls.bgClass != newCls.bgClass || oldCls.textClass != newCls.textClass); + for (var i = 0; !ischange && i < oldStyles.length; ++i) { ischange = oldStyles[i] != line.styles[i]; } + if (ischange) { changedLines.push(context.line); } + line.stateAfter = context.save(); + context.nextLine(); + } else { + if (line.text.length <= cm.options.maxHighlightLength) + { processLine(cm, line.text, context); } + line.stateAfter = context.line % 5 == 0 ? context.save() : null; + context.nextLine(); + } + if (+new Date > end) { + startWorker(cm, cm.options.workDelay); + return true + } + }); + doc.highlightFrontier = context.line; + doc.modeFrontier = Math.max(doc.modeFrontier, context.line); + if (changedLines.length) { runInOp(cm, function () { + for (var i = 0; i < changedLines.length; i++) + { regLineChange(cm, changedLines[i], "text"); } + }); } + } + + // DISPLAY DRAWING + + var DisplayUpdate = function(cm, viewport, force) { + var display = cm.display; + + this.viewport = viewport; + // Store some values that we'll need later (but don't want to force a relayout for) + this.visible = visibleLines(display, cm.doc, viewport); + this.editorIsHidden = !display.wrapper.offsetWidth; + this.wrapperHeight = display.wrapper.clientHeight; + this.wrapperWidth = display.wrapper.clientWidth; + this.oldDisplayWidth = displayWidth(cm); + this.force = force; + this.dims = getDimensions(cm); + this.events = []; + }; + + DisplayUpdate.prototype.signal = function (emitter, type) { + if (hasHandler(emitter, type)) + { this.events.push(arguments); } + }; + DisplayUpdate.prototype.finish = function () { + for (var i = 0; i < this.events.length; i++) + { signal.apply(null, this.events[i]); } + }; + + function maybeClipScrollbars(cm) { + var display = cm.display; + if (!display.scrollbarsClipped && display.scroller.offsetWidth) { + display.nativeBarWidth = display.scroller.offsetWidth - display.scroller.clientWidth; + display.heightForcer.style.height = scrollGap(cm) + "px"; + display.sizer.style.marginBottom = -display.nativeBarWidth + "px"; + display.sizer.style.borderRightWidth = scrollGap(cm) + "px"; + display.scrollbarsClipped = true; + } + } + + function selectionSnapshot(cm) { + if (cm.hasFocus()) { return null } + var active = activeElt(root(cm)); + if (!active || !contains(cm.display.lineDiv, active)) { return null } + var result = {activeElt: active}; + if (window.getSelection) { + var sel = win(cm).getSelection(); + if (sel.anchorNode && sel.extend && contains(cm.display.lineDiv, sel.anchorNode)) { + result.anchorNode = sel.anchorNode; + result.anchorOffset = sel.anchorOffset; + result.focusNode = sel.focusNode; + result.focusOffset = sel.focusOffset; + } + } + return result + } + + function restoreSelection(snapshot) { + if (!snapshot || !snapshot.activeElt || snapshot.activeElt == activeElt(rootNode(snapshot.activeElt))) { return } + snapshot.activeElt.focus(); + if (!/^(INPUT|TEXTAREA)$/.test(snapshot.activeElt.nodeName) && + snapshot.anchorNode && contains(document.body, snapshot.anchorNode) && contains(document.body, snapshot.focusNode)) { + var doc = snapshot.activeElt.ownerDocument; + var sel = doc.defaultView.getSelection(), range = doc.createRange(); + range.setEnd(snapshot.anchorNode, snapshot.anchorOffset); + range.collapse(false); + sel.removeAllRanges(); + sel.addRange(range); + sel.extend(snapshot.focusNode, snapshot.focusOffset); + } + } + + // Does the actual updating of the line display. Bails out + // (returning false) when there is nothing to be done and forced is + // false. + function updateDisplayIfNeeded(cm, update) { + var display = cm.display, doc = cm.doc; + + if (update.editorIsHidden) { + resetView(cm); + return false + } + + // Bail out if the visible area is already rendered and nothing changed. + if (!update.force && + update.visible.from >= display.viewFrom && update.visible.to <= display.viewTo && + (display.updateLineNumbers == null || display.updateLineNumbers >= display.viewTo) && + display.renderedView == display.view && countDirtyView(cm) == 0) + { return false } + + if (maybeUpdateLineNumberWidth(cm)) { + resetView(cm); + update.dims = getDimensions(cm); + } + + // Compute a suitable new viewport (from & to) + var end = doc.first + doc.size; + var from = Math.max(update.visible.from - cm.options.viewportMargin, doc.first); + var to = Math.min(end, update.visible.to + cm.options.viewportMargin); + if (display.viewFrom < from && from - display.viewFrom < 20) { from = Math.max(doc.first, display.viewFrom); } + if (display.viewTo > to && display.viewTo - to < 20) { to = Math.min(end, display.viewTo); } + if (sawCollapsedSpans) { + from = visualLineNo(cm.doc, from); + to = visualLineEndNo(cm.doc, to); + } + + var different = from != display.viewFrom || to != display.viewTo || + display.lastWrapHeight != update.wrapperHeight || display.lastWrapWidth != update.wrapperWidth; + adjustView(cm, from, to); + + display.viewOffset = heightAtLine(getLine(cm.doc, display.viewFrom)); + // Position the mover div to align with the current scroll position + cm.display.mover.style.top = display.viewOffset + "px"; + + var toUpdate = countDirtyView(cm); + if (!different && toUpdate == 0 && !update.force && display.renderedView == display.view && + (display.updateLineNumbers == null || display.updateLineNumbers >= display.viewTo)) + { return false } + + // For big changes, we hide the enclosing element during the + // update, since that speeds up the operations on most browsers. + var selSnapshot = selectionSnapshot(cm); + if (toUpdate > 4) { display.lineDiv.style.display = "none"; } + patchDisplay(cm, display.updateLineNumbers, update.dims); + if (toUpdate > 4) { display.lineDiv.style.display = ""; } + display.renderedView = display.view; + // There might have been a widget with a focused element that got + // hidden or updated, if so re-focus it. + restoreSelection(selSnapshot); + + // Prevent selection and cursors from interfering with the scroll + // width and height. + removeChildren(display.cursorDiv); + removeChildren(display.selectionDiv); + display.gutters.style.height = display.sizer.style.minHeight = 0; + + if (different) { + display.lastWrapHeight = update.wrapperHeight; + display.lastWrapWidth = update.wrapperWidth; + startWorker(cm, 400); + } + + display.updateLineNumbers = null; + + return true + } + + function postUpdateDisplay(cm, update) { + var viewport = update.viewport; + + for (var first = true;; first = false) { + if (!first || !cm.options.lineWrapping || update.oldDisplayWidth == displayWidth(cm)) { + // Clip forced viewport to actual scrollable area. + if (viewport && viewport.top != null) + { viewport = {top: Math.min(cm.doc.height + paddingVert(cm.display) - displayHeight(cm), viewport.top)}; } + // Updated line heights might result in the drawn area not + // actually covering the viewport. Keep looping until it does. + update.visible = visibleLines(cm.display, cm.doc, viewport); + if (update.visible.from >= cm.display.viewFrom && update.visible.to <= cm.display.viewTo) + { break } + } else if (first) { + update.visible = visibleLines(cm.display, cm.doc, viewport); + } + if (!updateDisplayIfNeeded(cm, update)) { break } + updateHeightsInViewport(cm); + var barMeasure = measureForScrollbars(cm); + updateSelection(cm); + updateScrollbars(cm, barMeasure); + setDocumentHeight(cm, barMeasure); + update.force = false; + } + + update.signal(cm, "update", cm); + if (cm.display.viewFrom != cm.display.reportedViewFrom || cm.display.viewTo != cm.display.reportedViewTo) { + update.signal(cm, "viewportChange", cm, cm.display.viewFrom, cm.display.viewTo); + cm.display.reportedViewFrom = cm.display.viewFrom; cm.display.reportedViewTo = cm.display.viewTo; + } + } + + function updateDisplaySimple(cm, viewport) { + var update = new DisplayUpdate(cm, viewport); + if (updateDisplayIfNeeded(cm, update)) { + updateHeightsInViewport(cm); + postUpdateDisplay(cm, update); + var barMeasure = measureForScrollbars(cm); + updateSelection(cm); + updateScrollbars(cm, barMeasure); + setDocumentHeight(cm, barMeasure); + update.finish(); + } + } + + // Sync the actual display DOM structure with display.view, removing + // nodes for lines that are no longer in view, and creating the ones + // that are not there yet, and updating the ones that are out of + // date. + function patchDisplay(cm, updateNumbersFrom, dims) { + var display = cm.display, lineNumbers = cm.options.lineNumbers; + var container = display.lineDiv, cur = container.firstChild; + + function rm(node) { + var next = node.nextSibling; + // Works around a throw-scroll bug in OS X Webkit + if (webkit && mac && cm.display.currentWheelTarget == node) + { node.style.display = "none"; } + else + { node.parentNode.removeChild(node); } + return next + } + + var view = display.view, lineN = display.viewFrom; + // Loop over the elements in the view, syncing cur (the DOM nodes + // in display.lineDiv) with the view as we go. + for (var i = 0; i < view.length; i++) { + var lineView = view[i]; + if (lineView.hidden) ; else if (!lineView.node || lineView.node.parentNode != container) { // Not drawn yet + var node = buildLineElement(cm, lineView, lineN, dims); + container.insertBefore(node, cur); + } else { // Already drawn + while (cur != lineView.node) { cur = rm(cur); } + var updateNumber = lineNumbers && updateNumbersFrom != null && + updateNumbersFrom <= lineN && lineView.lineNumber; + if (lineView.changes) { + if (indexOf(lineView.changes, "gutter") > -1) { updateNumber = false; } + updateLineForChanges(cm, lineView, lineN, dims); + } + if (updateNumber) { + removeChildren(lineView.lineNumber); + lineView.lineNumber.appendChild(document.createTextNode(lineNumberFor(cm.options, lineN))); + } + cur = lineView.node.nextSibling; + } + lineN += lineView.size; + } + while (cur) { cur = rm(cur); } + } + + function updateGutterSpace(display) { + var width = display.gutters.offsetWidth; + display.sizer.style.marginLeft = width + "px"; + // Send an event to consumers responding to changes in gutter width. + signalLater(display, "gutterChanged", display); + } + + function setDocumentHeight(cm, measure) { + cm.display.sizer.style.minHeight = measure.docHeight + "px"; + cm.display.heightForcer.style.top = measure.docHeight + "px"; + cm.display.gutters.style.height = (measure.docHeight + cm.display.barHeight + scrollGap(cm)) + "px"; + } + + // Re-align line numbers and gutter marks to compensate for + // horizontal scrolling. + function alignHorizontally(cm) { + var display = cm.display, view = display.view; + if (!display.alignWidgets && (!display.gutters.firstChild || !cm.options.fixedGutter)) { return } + var comp = compensateForHScroll(display) - display.scroller.scrollLeft + cm.doc.scrollLeft; + var gutterW = display.gutters.offsetWidth, left = comp + "px"; + for (var i = 0; i < view.length; i++) { if (!view[i].hidden) { + if (cm.options.fixedGutter) { + if (view[i].gutter) + { view[i].gutter.style.left = left; } + if (view[i].gutterBackground) + { view[i].gutterBackground.style.left = left; } + } + var align = view[i].alignable; + if (align) { for (var j = 0; j < align.length; j++) + { align[j].style.left = left; } } + } } + if (cm.options.fixedGutter) + { display.gutters.style.left = (comp + gutterW) + "px"; } + } + + // Used to ensure that the line number gutter is still the right + // size for the current document size. Returns true when an update + // is needed. + function maybeUpdateLineNumberWidth(cm) { + if (!cm.options.lineNumbers) { return false } + var doc = cm.doc, last = lineNumberFor(cm.options, doc.first + doc.size - 1), display = cm.display; + if (last.length != display.lineNumChars) { + var test = display.measure.appendChild(elt("div", [elt("div", last)], + "CodeMirror-linenumber CodeMirror-gutter-elt")); + var innerW = test.firstChild.offsetWidth, padding = test.offsetWidth - innerW; + display.lineGutter.style.width = ""; + display.lineNumInnerWidth = Math.max(innerW, display.lineGutter.offsetWidth - padding) + 1; + display.lineNumWidth = display.lineNumInnerWidth + padding; + display.lineNumChars = display.lineNumInnerWidth ? last.length : -1; + display.lineGutter.style.width = display.lineNumWidth + "px"; + updateGutterSpace(cm.display); + return true + } + return false + } + + function getGutters(gutters, lineNumbers) { + var result = [], sawLineNumbers = false; + for (var i = 0; i < gutters.length; i++) { + var name = gutters[i], style = null; + if (typeof name != "string") { style = name.style; name = name.className; } + if (name == "CodeMirror-linenumbers") { + if (!lineNumbers) { continue } + else { sawLineNumbers = true; } + } + result.push({className: name, style: style}); + } + if (lineNumbers && !sawLineNumbers) { result.push({className: "CodeMirror-linenumbers", style: null}); } + return result + } + + // Rebuild the gutter elements, ensure the margin to the left of the + // code matches their width. + function renderGutters(display) { + var gutters = display.gutters, specs = display.gutterSpecs; + removeChildren(gutters); + display.lineGutter = null; + for (var i = 0; i < specs.length; ++i) { + var ref = specs[i]; + var className = ref.className; + var style = ref.style; + var gElt = gutters.appendChild(elt("div", null, "CodeMirror-gutter " + className)); + if (style) { gElt.style.cssText = style; } + if (className == "CodeMirror-linenumbers") { + display.lineGutter = gElt; + gElt.style.width = (display.lineNumWidth || 1) + "px"; + } + } + gutters.style.display = specs.length ? "" : "none"; + updateGutterSpace(display); + } + + function updateGutters(cm) { + renderGutters(cm.display); + regChange(cm); + alignHorizontally(cm); + } + + // The display handles the DOM integration, both for input reading + // and content drawing. It holds references to DOM nodes and + // display-related state. + + function Display(place, doc, input, options) { + var d = this; + this.input = input; + + // Covers bottom-right square when both scrollbars are present. + d.scrollbarFiller = elt("div", null, "CodeMirror-scrollbar-filler"); + d.scrollbarFiller.setAttribute("cm-not-content", "true"); + // Covers bottom of gutter when coverGutterNextToScrollbar is on + // and h scrollbar is present. + d.gutterFiller = elt("div", null, "CodeMirror-gutter-filler"); + d.gutterFiller.setAttribute("cm-not-content", "true"); + // Will contain the actual code, positioned to cover the viewport. + d.lineDiv = eltP("div", null, "CodeMirror-code"); + // Elements are added to these to represent selection and cursors. + d.selectionDiv = elt("div", null, null, "position: relative; z-index: 1"); + d.cursorDiv = elt("div", null, "CodeMirror-cursors"); + // A visibility: hidden element used to find the size of things. + d.measure = elt("div", null, "CodeMirror-measure"); + // When lines outside of the viewport are measured, they are drawn in this. + d.lineMeasure = elt("div", null, "CodeMirror-measure"); + // Wraps everything that needs to exist inside the vertically-padded coordinate system + d.lineSpace = eltP("div", [d.measure, d.lineMeasure, d.selectionDiv, d.cursorDiv, d.lineDiv], + null, "position: relative; outline: none"); + var lines = eltP("div", [d.lineSpace], "CodeMirror-lines"); + // Moved around its parent to cover visible view. + d.mover = elt("div", [lines], null, "position: relative"); + // Set to the height of the document, allowing scrolling. + d.sizer = elt("div", [d.mover], "CodeMirror-sizer"); + d.sizerWidth = null; + // Behavior of elts with overflow: auto and padding is + // inconsistent across browsers. This is used to ensure the + // scrollable area is big enough. + d.heightForcer = elt("div", null, null, "position: absolute; height: " + scrollerGap + "px; width: 1px;"); + // Will contain the gutters, if any. + d.gutters = elt("div", null, "CodeMirror-gutters"); + d.lineGutter = null; + // Actual scrollable element. + d.scroller = elt("div", [d.sizer, d.heightForcer, d.gutters], "CodeMirror-scroll"); + d.scroller.setAttribute("tabIndex", "-1"); + // The element in which the editor lives. + d.wrapper = elt("div", [d.scrollbarFiller, d.gutterFiller, d.scroller], "CodeMirror"); + // See #6982. FIXME remove when this has been fixed for a while in Chrome + if (chrome && chrome_version >= 105) { d.wrapper.style.clipPath = "inset(0px)"; } + + // This attribute is respected by automatic translation systems such as Google Translate, + // and may also be respected by tools used by human translators. + d.wrapper.setAttribute('translate', 'no'); + + // Work around IE7 z-index bug (not perfect, hence IE7 not really being supported) + if (ie && ie_version < 8) { d.gutters.style.zIndex = -1; d.scroller.style.paddingRight = 0; } + if (!webkit && !(gecko && mobile)) { d.scroller.draggable = true; } + + if (place) { + if (place.appendChild) { place.appendChild(d.wrapper); } + else { place(d.wrapper); } + } + + // Current rendered range (may be bigger than the view window). + d.viewFrom = d.viewTo = doc.first; + d.reportedViewFrom = d.reportedViewTo = doc.first; + // Information about the rendered lines. + d.view = []; + d.renderedView = null; + // Holds info about a single rendered line when it was rendered + // for measurement, while not in view. + d.externalMeasured = null; + // Empty space (in pixels) above the view + d.viewOffset = 0; + d.lastWrapHeight = d.lastWrapWidth = 0; + d.updateLineNumbers = null; + + d.nativeBarWidth = d.barHeight = d.barWidth = 0; + d.scrollbarsClipped = false; + + // Used to only resize the line number gutter when necessary (when + // the amount of lines crosses a boundary that makes its width change) + d.lineNumWidth = d.lineNumInnerWidth = d.lineNumChars = null; + // Set to true when a non-horizontal-scrolling line widget is + // added. As an optimization, line widget aligning is skipped when + // this is false. + d.alignWidgets = false; + + d.cachedCharWidth = d.cachedTextHeight = d.cachedPaddingH = null; + + // Tracks the maximum line length so that the horizontal scrollbar + // can be kept static when scrolling. + d.maxLine = null; + d.maxLineLength = 0; + d.maxLineChanged = false; + + // Used for measuring wheel scrolling granularity + d.wheelDX = d.wheelDY = d.wheelStartX = d.wheelStartY = null; + + // True when shift is held down. + d.shift = false; + + // Used to track whether anything happened since the context menu + // was opened. + d.selForContextMenu = null; + + d.activeTouch = null; + + d.gutterSpecs = getGutters(options.gutters, options.lineNumbers); + renderGutters(d); + + input.init(d); + } + + // Since the delta values reported on mouse wheel events are + // unstandardized between browsers and even browser versions, and + // generally horribly unpredictable, this code starts by measuring + // the scroll effect that the first few mouse wheel events have, + // and, from that, detects the way it can convert deltas to pixel + // offsets afterwards. + // + // The reason we want to know the amount a wheel event will scroll + // is that it gives us a chance to update the display before the + // actual scrolling happens, reducing flickering. + + var wheelSamples = 0, wheelPixelsPerUnit = null; + // Fill in a browser-detected starting value on browsers where we + // know one. These don't have to be accurate -- the result of them + // being wrong would just be a slight flicker on the first wheel + // scroll (if it is large enough). + if (ie) { wheelPixelsPerUnit = -.53; } + else if (gecko) { wheelPixelsPerUnit = 15; } + else if (chrome) { wheelPixelsPerUnit = -.7; } + else if (safari) { wheelPixelsPerUnit = -1/3; } + + function wheelEventDelta(e) { + var dx = e.wheelDeltaX, dy = e.wheelDeltaY; + if (dx == null && e.detail && e.axis == e.HORIZONTAL_AXIS) { dx = e.detail; } + if (dy == null && e.detail && e.axis == e.VERTICAL_AXIS) { dy = e.detail; } + else if (dy == null) { dy = e.wheelDelta; } + return {x: dx, y: dy} + } + function wheelEventPixels(e) { + var delta = wheelEventDelta(e); + delta.x *= wheelPixelsPerUnit; + delta.y *= wheelPixelsPerUnit; + return delta + } + + function onScrollWheel(cm, e) { + // On Chrome 102, viewport updates somehow stop wheel-based + // scrolling. Turning off pointer events during the scroll seems + // to avoid the issue. + if (chrome && chrome_version == 102) { + if (cm.display.chromeScrollHack == null) { cm.display.sizer.style.pointerEvents = "none"; } + else { clearTimeout(cm.display.chromeScrollHack); } + cm.display.chromeScrollHack = setTimeout(function () { + cm.display.chromeScrollHack = null; + cm.display.sizer.style.pointerEvents = ""; + }, 100); + } + var delta = wheelEventDelta(e), dx = delta.x, dy = delta.y; + var pixelsPerUnit = wheelPixelsPerUnit; + if (e.deltaMode === 0) { + dx = e.deltaX; + dy = e.deltaY; + pixelsPerUnit = 1; + } + + var display = cm.display, scroll = display.scroller; + // Quit if there's nothing to scroll here + var canScrollX = scroll.scrollWidth > scroll.clientWidth; + var canScrollY = scroll.scrollHeight > scroll.clientHeight; + if (!(dx && canScrollX || dy && canScrollY)) { return } + + // Webkit browsers on OS X abort momentum scrolls when the target + // of the scroll event is removed from the scrollable element. + // This hack (see related code in patchDisplay) makes sure the + // element is kept around. + if (dy && mac && webkit) { + outer: for (var cur = e.target, view = display.view; cur != scroll; cur = cur.parentNode) { + for (var i = 0; i < view.length; i++) { + if (view[i].node == cur) { + cm.display.currentWheelTarget = cur; + break outer + } + } + } + } + + // On some browsers, horizontal scrolling will cause redraws to + // happen before the gutter has been realigned, causing it to + // wriggle around in a most unseemly way. When we have an + // estimated pixels/delta value, we just handle horizontal + // scrolling entirely here. It'll be slightly off from native, but + // better than glitching out. + if (dx && !gecko && !presto && pixelsPerUnit != null) { + if (dy && canScrollY) + { updateScrollTop(cm, Math.max(0, scroll.scrollTop + dy * pixelsPerUnit)); } + setScrollLeft(cm, Math.max(0, scroll.scrollLeft + dx * pixelsPerUnit)); + // Only prevent default scrolling if vertical scrolling is + // actually possible. Otherwise, it causes vertical scroll + // jitter on OSX trackpads when deltaX is small and deltaY + // is large (issue #3579) + if (!dy || (dy && canScrollY)) + { e_preventDefault(e); } + display.wheelStartX = null; // Abort measurement, if in progress + return + } + + // 'Project' the visible viewport to cover the area that is being + // scrolled into view (if we know enough to estimate it). + if (dy && pixelsPerUnit != null) { + var pixels = dy * pixelsPerUnit; + var top = cm.doc.scrollTop, bot = top + display.wrapper.clientHeight; + if (pixels < 0) { top = Math.max(0, top + pixels - 50); } + else { bot = Math.min(cm.doc.height, bot + pixels + 50); } + updateDisplaySimple(cm, {top: top, bottom: bot}); + } + + if (wheelSamples < 20 && e.deltaMode !== 0) { + if (display.wheelStartX == null) { + display.wheelStartX = scroll.scrollLeft; display.wheelStartY = scroll.scrollTop; + display.wheelDX = dx; display.wheelDY = dy; + setTimeout(function () { + if (display.wheelStartX == null) { return } + var movedX = scroll.scrollLeft - display.wheelStartX; + var movedY = scroll.scrollTop - display.wheelStartY; + var sample = (movedY && display.wheelDY && movedY / display.wheelDY) || + (movedX && display.wheelDX && movedX / display.wheelDX); + display.wheelStartX = display.wheelStartY = null; + if (!sample) { return } + wheelPixelsPerUnit = (wheelPixelsPerUnit * wheelSamples + sample) / (wheelSamples + 1); + ++wheelSamples; + }, 200); + } else { + display.wheelDX += dx; display.wheelDY += dy; + } + } + } + + // Selection objects are immutable. A new one is created every time + // the selection changes. A selection is one or more non-overlapping + // (and non-touching) ranges, sorted, and an integer that indicates + // which one is the primary selection (the one that's scrolled into + // view, that getCursor returns, etc). + var Selection = function(ranges, primIndex) { + this.ranges = ranges; + this.primIndex = primIndex; + }; + + Selection.prototype.primary = function () { return this.ranges[this.primIndex] }; + + Selection.prototype.equals = function (other) { + if (other == this) { return true } + if (other.primIndex != this.primIndex || other.ranges.length != this.ranges.length) { return false } + for (var i = 0; i < this.ranges.length; i++) { + var here = this.ranges[i], there = other.ranges[i]; + if (!equalCursorPos(here.anchor, there.anchor) || !equalCursorPos(here.head, there.head)) { return false } + } + return true + }; + + Selection.prototype.deepCopy = function () { + var out = []; + for (var i = 0; i < this.ranges.length; i++) + { out[i] = new Range(copyPos(this.ranges[i].anchor), copyPos(this.ranges[i].head)); } + return new Selection(out, this.primIndex) + }; + + Selection.prototype.somethingSelected = function () { + for (var i = 0; i < this.ranges.length; i++) + { if (!this.ranges[i].empty()) { return true } } + return false + }; + + Selection.prototype.contains = function (pos, end) { + if (!end) { end = pos; } + for (var i = 0; i < this.ranges.length; i++) { + var range = this.ranges[i]; + if (cmp(end, range.from()) >= 0 && cmp(pos, range.to()) <= 0) + { return i } + } + return -1 + }; + + var Range = function(anchor, head) { + this.anchor = anchor; this.head = head; + }; + + Range.prototype.from = function () { return minPos(this.anchor, this.head) }; + Range.prototype.to = function () { return maxPos(this.anchor, this.head) }; + Range.prototype.empty = function () { return this.head.line == this.anchor.line && this.head.ch == this.anchor.ch }; + + // Take an unsorted, potentially overlapping set of ranges, and + // build a selection out of it. 'Consumes' ranges array (modifying + // it). + function normalizeSelection(cm, ranges, primIndex) { + var mayTouch = cm && cm.options.selectionsMayTouch; + var prim = ranges[primIndex]; + ranges.sort(function (a, b) { return cmp(a.from(), b.from()); }); + primIndex = indexOf(ranges, prim); + for (var i = 1; i < ranges.length; i++) { + var cur = ranges[i], prev = ranges[i - 1]; + var diff = cmp(prev.to(), cur.from()); + if (mayTouch && !cur.empty() ? diff > 0 : diff >= 0) { + var from = minPos(prev.from(), cur.from()), to = maxPos(prev.to(), cur.to()); + var inv = prev.empty() ? cur.from() == cur.head : prev.from() == prev.head; + if (i <= primIndex) { --primIndex; } + ranges.splice(--i, 2, new Range(inv ? to : from, inv ? from : to)); + } + } + return new Selection(ranges, primIndex) + } + + function simpleSelection(anchor, head) { + return new Selection([new Range(anchor, head || anchor)], 0) + } + + // Compute the position of the end of a change (its 'to' property + // refers to the pre-change end). + function changeEnd(change) { + if (!change.text) { return change.to } + return Pos(change.from.line + change.text.length - 1, + lst(change.text).length + (change.text.length == 1 ? change.from.ch : 0)) + } + + // Adjust a position to refer to the post-change position of the + // same text, or the end of the change if the change covers it. + function adjustForChange(pos, change) { + if (cmp(pos, change.from) < 0) { return pos } + if (cmp(pos, change.to) <= 0) { return changeEnd(change) } + + var line = pos.line + change.text.length - (change.to.line - change.from.line) - 1, ch = pos.ch; + if (pos.line == change.to.line) { ch += changeEnd(change).ch - change.to.ch; } + return Pos(line, ch) + } + + function computeSelAfterChange(doc, change) { + var out = []; + for (var i = 0; i < doc.sel.ranges.length; i++) { + var range = doc.sel.ranges[i]; + out.push(new Range(adjustForChange(range.anchor, change), + adjustForChange(range.head, change))); + } + return normalizeSelection(doc.cm, out, doc.sel.primIndex) + } + + function offsetPos(pos, old, nw) { + if (pos.line == old.line) + { return Pos(nw.line, pos.ch - old.ch + nw.ch) } + else + { return Pos(nw.line + (pos.line - old.line), pos.ch) } + } + + // Used by replaceSelections to allow moving the selection to the + // start or around the replaced test. Hint may be "start" or "around". + function computeReplacedSel(doc, changes, hint) { + var out = []; + var oldPrev = Pos(doc.first, 0), newPrev = oldPrev; + for (var i = 0; i < changes.length; i++) { + var change = changes[i]; + var from = offsetPos(change.from, oldPrev, newPrev); + var to = offsetPos(changeEnd(change), oldPrev, newPrev); + oldPrev = change.to; + newPrev = to; + if (hint == "around") { + var range = doc.sel.ranges[i], inv = cmp(range.head, range.anchor) < 0; + out[i] = new Range(inv ? to : from, inv ? from : to); + } else { + out[i] = new Range(from, from); + } + } + return new Selection(out, doc.sel.primIndex) + } + + // Used to get the editor into a consistent state again when options change. + + function loadMode(cm) { + cm.doc.mode = getMode(cm.options, cm.doc.modeOption); + resetModeState(cm); + } + + function resetModeState(cm) { + cm.doc.iter(function (line) { + if (line.stateAfter) { line.stateAfter = null; } + if (line.styles) { line.styles = null; } + }); + cm.doc.modeFrontier = cm.doc.highlightFrontier = cm.doc.first; + startWorker(cm, 100); + cm.state.modeGen++; + if (cm.curOp) { regChange(cm); } + } + + // DOCUMENT DATA STRUCTURE + + // By default, updates that start and end at the beginning of a line + // are treated specially, in order to make the association of line + // widgets and marker elements with the text behave more intuitive. + function isWholeLineUpdate(doc, change) { + return change.from.ch == 0 && change.to.ch == 0 && lst(change.text) == "" && + (!doc.cm || doc.cm.options.wholeLineUpdateBefore) + } + + // Perform a change on the document data structure. + function updateDoc(doc, change, markedSpans, estimateHeight) { + function spansFor(n) {return markedSpans ? markedSpans[n] : null} + function update(line, text, spans) { + updateLine(line, text, spans, estimateHeight); + signalLater(line, "change", line, change); + } + function linesFor(start, end) { + var result = []; + for (var i = start; i < end; ++i) + { result.push(new Line(text[i], spansFor(i), estimateHeight)); } + return result + } + + var from = change.from, to = change.to, text = change.text; + var firstLine = getLine(doc, from.line), lastLine = getLine(doc, to.line); + var lastText = lst(text), lastSpans = spansFor(text.length - 1), nlines = to.line - from.line; + + // Adjust the line structure + if (change.full) { + doc.insert(0, linesFor(0, text.length)); + doc.remove(text.length, doc.size - text.length); + } else if (isWholeLineUpdate(doc, change)) { + // This is a whole-line replace. Treated specially to make + // sure line objects move the way they are supposed to. + var added = linesFor(0, text.length - 1); + update(lastLine, lastLine.text, lastSpans); + if (nlines) { doc.remove(from.line, nlines); } + if (added.length) { doc.insert(from.line, added); } + } else if (firstLine == lastLine) { + if (text.length == 1) { + update(firstLine, firstLine.text.slice(0, from.ch) + lastText + firstLine.text.slice(to.ch), lastSpans); + } else { + var added$1 = linesFor(1, text.length - 1); + added$1.push(new Line(lastText + firstLine.text.slice(to.ch), lastSpans, estimateHeight)); + update(firstLine, firstLine.text.slice(0, from.ch) + text[0], spansFor(0)); + doc.insert(from.line + 1, added$1); + } + } else if (text.length == 1) { + update(firstLine, firstLine.text.slice(0, from.ch) + text[0] + lastLine.text.slice(to.ch), spansFor(0)); + doc.remove(from.line + 1, nlines); + } else { + update(firstLine, firstLine.text.slice(0, from.ch) + text[0], spansFor(0)); + update(lastLine, lastText + lastLine.text.slice(to.ch), lastSpans); + var added$2 = linesFor(1, text.length - 1); + if (nlines > 1) { doc.remove(from.line + 1, nlines - 1); } + doc.insert(from.line + 1, added$2); + } + + signalLater(doc, "change", doc, change); + } + + // Call f for all linked documents. + function linkedDocs(doc, f, sharedHistOnly) { + function propagate(doc, skip, sharedHist) { + if (doc.linked) { for (var i = 0; i < doc.linked.length; ++i) { + var rel = doc.linked[i]; + if (rel.doc == skip) { continue } + var shared = sharedHist && rel.sharedHist; + if (sharedHistOnly && !shared) { continue } + f(rel.doc, shared); + propagate(rel.doc, doc, shared); + } } + } + propagate(doc, null, true); + } + + // Attach a document to an editor. + function attachDoc(cm, doc) { + if (doc.cm) { throw new Error("This document is already in use.") } + cm.doc = doc; + doc.cm = cm; + estimateLineHeights(cm); + loadMode(cm); + setDirectionClass(cm); + cm.options.direction = doc.direction; + if (!cm.options.lineWrapping) { findMaxLine(cm); } + cm.options.mode = doc.modeOption; + regChange(cm); + } + + function setDirectionClass(cm) { + (cm.doc.direction == "rtl" ? addClass : rmClass)(cm.display.lineDiv, "CodeMirror-rtl"); + } + + function directionChanged(cm) { + runInOp(cm, function () { + setDirectionClass(cm); + regChange(cm); + }); + } + + function History(prev) { + // Arrays of change events and selections. Doing something adds an + // event to done and clears undo. Undoing moves events from done + // to undone, redoing moves them in the other direction. + this.done = []; this.undone = []; + this.undoDepth = prev ? prev.undoDepth : Infinity; + // Used to track when changes can be merged into a single undo + // event + this.lastModTime = this.lastSelTime = 0; + this.lastOp = this.lastSelOp = null; + this.lastOrigin = this.lastSelOrigin = null; + // Used by the isClean() method + this.generation = this.maxGeneration = prev ? prev.maxGeneration : 1; + } + + // Create a history change event from an updateDoc-style change + // object. + function historyChangeFromChange(doc, change) { + var histChange = {from: copyPos(change.from), to: changeEnd(change), text: getBetween(doc, change.from, change.to)}; + attachLocalSpans(doc, histChange, change.from.line, change.to.line + 1); + linkedDocs(doc, function (doc) { return attachLocalSpans(doc, histChange, change.from.line, change.to.line + 1); }, true); + return histChange + } + + // Pop all selection events off the end of a history array. Stop at + // a change event. + function clearSelectionEvents(array) { + while (array.length) { + var last = lst(array); + if (last.ranges) { array.pop(); } + else { break } + } + } + + // Find the top change event in the history. Pop off selection + // events that are in the way. + function lastChangeEvent(hist, force) { + if (force) { + clearSelectionEvents(hist.done); + return lst(hist.done) + } else if (hist.done.length && !lst(hist.done).ranges) { + return lst(hist.done) + } else if (hist.done.length > 1 && !hist.done[hist.done.length - 2].ranges) { + hist.done.pop(); + return lst(hist.done) + } + } + + // Register a change in the history. Merges changes that are within + // a single operation, or are close together with an origin that + // allows merging (starting with "+") into a single event. + function addChangeToHistory(doc, change, selAfter, opId) { + var hist = doc.history; + hist.undone.length = 0; + var time = +new Date, cur; + var last; + + if ((hist.lastOp == opId || + hist.lastOrigin == change.origin && change.origin && + ((change.origin.charAt(0) == "+" && hist.lastModTime > time - (doc.cm ? doc.cm.options.historyEventDelay : 500)) || + change.origin.charAt(0) == "*")) && + (cur = lastChangeEvent(hist, hist.lastOp == opId))) { + // Merge this change into the last event + last = lst(cur.changes); + if (cmp(change.from, change.to) == 0 && cmp(change.from, last.to) == 0) { + // Optimized case for simple insertion -- don't want to add + // new changesets for every character typed + last.to = changeEnd(change); + } else { + // Add new sub-event + cur.changes.push(historyChangeFromChange(doc, change)); + } + } else { + // Can not be merged, start a new event. + var before = lst(hist.done); + if (!before || !before.ranges) + { pushSelectionToHistory(doc.sel, hist.done); } + cur = {changes: [historyChangeFromChange(doc, change)], + generation: hist.generation}; + hist.done.push(cur); + while (hist.done.length > hist.undoDepth) { + hist.done.shift(); + if (!hist.done[0].ranges) { hist.done.shift(); } + } + } + hist.done.push(selAfter); + hist.generation = ++hist.maxGeneration; + hist.lastModTime = hist.lastSelTime = time; + hist.lastOp = hist.lastSelOp = opId; + hist.lastOrigin = hist.lastSelOrigin = change.origin; + + if (!last) { signal(doc, "historyAdded"); } + } + + function selectionEventCanBeMerged(doc, origin, prev, sel) { + var ch = origin.charAt(0); + return ch == "*" || + ch == "+" && + prev.ranges.length == sel.ranges.length && + prev.somethingSelected() == sel.somethingSelected() && + new Date - doc.history.lastSelTime <= (doc.cm ? doc.cm.options.historyEventDelay : 500) + } + + // Called whenever the selection changes, sets the new selection as + // the pending selection in the history, and pushes the old pending + // selection into the 'done' array when it was significantly + // different (in number of selected ranges, emptiness, or time). + function addSelectionToHistory(doc, sel, opId, options) { + var hist = doc.history, origin = options && options.origin; + + // A new event is started when the previous origin does not match + // the current, or the origins don't allow matching. Origins + // starting with * are always merged, those starting with + are + // merged when similar and close together in time. + if (opId == hist.lastSelOp || + (origin && hist.lastSelOrigin == origin && + (hist.lastModTime == hist.lastSelTime && hist.lastOrigin == origin || + selectionEventCanBeMerged(doc, origin, lst(hist.done), sel)))) + { hist.done[hist.done.length - 1] = sel; } + else + { pushSelectionToHistory(sel, hist.done); } + + hist.lastSelTime = +new Date; + hist.lastSelOrigin = origin; + hist.lastSelOp = opId; + if (options && options.clearRedo !== false) + { clearSelectionEvents(hist.undone); } + } + + function pushSelectionToHistory(sel, dest) { + var top = lst(dest); + if (!(top && top.ranges && top.equals(sel))) + { dest.push(sel); } + } + + // Used to store marked span information in the history. + function attachLocalSpans(doc, change, from, to) { + var existing = change["spans_" + doc.id], n = 0; + doc.iter(Math.max(doc.first, from), Math.min(doc.first + doc.size, to), function (line) { + if (line.markedSpans) + { (existing || (existing = change["spans_" + doc.id] = {}))[n] = line.markedSpans; } + ++n; + }); + } + + // When un/re-doing restores text containing marked spans, those + // that have been explicitly cleared should not be restored. + function removeClearedSpans(spans) { + if (!spans) { return null } + var out; + for (var i = 0; i < spans.length; ++i) { + if (spans[i].marker.explicitlyCleared) { if (!out) { out = spans.slice(0, i); } } + else if (out) { out.push(spans[i]); } + } + return !out ? spans : out.length ? out : null + } + + // Retrieve and filter the old marked spans stored in a change event. + function getOldSpans(doc, change) { + var found = change["spans_" + doc.id]; + if (!found) { return null } + var nw = []; + for (var i = 0; i < change.text.length; ++i) + { nw.push(removeClearedSpans(found[i])); } + return nw + } + + // Used for un/re-doing changes from the history. Combines the + // result of computing the existing spans with the set of spans that + // existed in the history (so that deleting around a span and then + // undoing brings back the span). + function mergeOldSpans(doc, change) { + var old = getOldSpans(doc, change); + var stretched = stretchSpansOverChange(doc, change); + if (!old) { return stretched } + if (!stretched) { return old } + + for (var i = 0; i < old.length; ++i) { + var oldCur = old[i], stretchCur = stretched[i]; + if (oldCur && stretchCur) { + spans: for (var j = 0; j < stretchCur.length; ++j) { + var span = stretchCur[j]; + for (var k = 0; k < oldCur.length; ++k) + { if (oldCur[k].marker == span.marker) { continue spans } } + oldCur.push(span); + } + } else if (stretchCur) { + old[i] = stretchCur; + } + } + return old + } + + // Used both to provide a JSON-safe object in .getHistory, and, when + // detaching a document, to split the history in two + function copyHistoryArray(events, newGroup, instantiateSel) { + var copy = []; + for (var i = 0; i < events.length; ++i) { + var event = events[i]; + if (event.ranges) { + copy.push(instantiateSel ? Selection.prototype.deepCopy.call(event) : event); + continue + } + var changes = event.changes, newChanges = []; + copy.push({changes: newChanges}); + for (var j = 0; j < changes.length; ++j) { + var change = changes[j], m = (void 0); + newChanges.push({from: change.from, to: change.to, text: change.text}); + if (newGroup) { for (var prop in change) { if (m = prop.match(/^spans_(\d+)$/)) { + if (indexOf(newGroup, Number(m[1])) > -1) { + lst(newChanges)[prop] = change[prop]; + delete change[prop]; + } + } } } + } + } + return copy + } + + // The 'scroll' parameter given to many of these indicated whether + // the new cursor position should be scrolled into view after + // modifying the selection. + + // If shift is held or the extend flag is set, extends a range to + // include a given position (and optionally a second position). + // Otherwise, simply returns the range between the given positions. + // Used for cursor motion and such. + function extendRange(range, head, other, extend) { + if (extend) { + var anchor = range.anchor; + if (other) { + var posBefore = cmp(head, anchor) < 0; + if (posBefore != (cmp(other, anchor) < 0)) { + anchor = head; + head = other; + } else if (posBefore != (cmp(head, other) < 0)) { + head = other; + } + } + return new Range(anchor, head) + } else { + return new Range(other || head, head) + } + } + + // Extend the primary selection range, discard the rest. + function extendSelection(doc, head, other, options, extend) { + if (extend == null) { extend = doc.cm && (doc.cm.display.shift || doc.extend); } + setSelection(doc, new Selection([extendRange(doc.sel.primary(), head, other, extend)], 0), options); + } + + // Extend all selections (pos is an array of selections with length + // equal the number of selections) + function extendSelections(doc, heads, options) { + var out = []; + var extend = doc.cm && (doc.cm.display.shift || doc.extend); + for (var i = 0; i < doc.sel.ranges.length; i++) + { out[i] = extendRange(doc.sel.ranges[i], heads[i], null, extend); } + var newSel = normalizeSelection(doc.cm, out, doc.sel.primIndex); + setSelection(doc, newSel, options); + } + + // Updates a single range in the selection. + function replaceOneSelection(doc, i, range, options) { + var ranges = doc.sel.ranges.slice(0); + ranges[i] = range; + setSelection(doc, normalizeSelection(doc.cm, ranges, doc.sel.primIndex), options); + } + + // Reset the selection to a single range. + function setSimpleSelection(doc, anchor, head, options) { + setSelection(doc, simpleSelection(anchor, head), options); + } + + // Give beforeSelectionChange handlers a change to influence a + // selection update. + function filterSelectionChange(doc, sel, options) { + var obj = { + ranges: sel.ranges, + update: function(ranges) { + this.ranges = []; + for (var i = 0; i < ranges.length; i++) + { this.ranges[i] = new Range(clipPos(doc, ranges[i].anchor), + clipPos(doc, ranges[i].head)); } + }, + origin: options && options.origin + }; + signal(doc, "beforeSelectionChange", doc, obj); + if (doc.cm) { signal(doc.cm, "beforeSelectionChange", doc.cm, obj); } + if (obj.ranges != sel.ranges) { return normalizeSelection(doc.cm, obj.ranges, obj.ranges.length - 1) } + else { return sel } + } + + function setSelectionReplaceHistory(doc, sel, options) { + var done = doc.history.done, last = lst(done); + if (last && last.ranges) { + done[done.length - 1] = sel; + setSelectionNoUndo(doc, sel, options); + } else { + setSelection(doc, sel, options); + } + } + + // Set a new selection. + function setSelection(doc, sel, options) { + setSelectionNoUndo(doc, sel, options); + addSelectionToHistory(doc, doc.sel, doc.cm ? doc.cm.curOp.id : NaN, options); + } + + function setSelectionNoUndo(doc, sel, options) { + if (hasHandler(doc, "beforeSelectionChange") || doc.cm && hasHandler(doc.cm, "beforeSelectionChange")) + { sel = filterSelectionChange(doc, sel, options); } + + var bias = options && options.bias || + (cmp(sel.primary().head, doc.sel.primary().head) < 0 ? -1 : 1); + setSelectionInner(doc, skipAtomicInSelection(doc, sel, bias, true)); + + if (!(options && options.scroll === false) && doc.cm && doc.cm.getOption("readOnly") != "nocursor") + { ensureCursorVisible(doc.cm); } + } + + function setSelectionInner(doc, sel) { + if (sel.equals(doc.sel)) { return } + + doc.sel = sel; + + if (doc.cm) { + doc.cm.curOp.updateInput = 1; + doc.cm.curOp.selectionChanged = true; + signalCursorActivity(doc.cm); + } + signalLater(doc, "cursorActivity", doc); + } + + // Verify that the selection does not partially select any atomic + // marked ranges. + function reCheckSelection(doc) { + setSelectionInner(doc, skipAtomicInSelection(doc, doc.sel, null, false)); + } + + // Return a selection that does not partially select any atomic + // ranges. + function skipAtomicInSelection(doc, sel, bias, mayClear) { + var out; + for (var i = 0; i < sel.ranges.length; i++) { + var range = sel.ranges[i]; + var old = sel.ranges.length == doc.sel.ranges.length && doc.sel.ranges[i]; + var newAnchor = skipAtomic(doc, range.anchor, old && old.anchor, bias, mayClear); + var newHead = range.head == range.anchor ? newAnchor : skipAtomic(doc, range.head, old && old.head, bias, mayClear); + if (out || newAnchor != range.anchor || newHead != range.head) { + if (!out) { out = sel.ranges.slice(0, i); } + out[i] = new Range(newAnchor, newHead); + } + } + return out ? normalizeSelection(doc.cm, out, sel.primIndex) : sel + } + + function skipAtomicInner(doc, pos, oldPos, dir, mayClear) { + var line = getLine(doc, pos.line); + if (line.markedSpans) { for (var i = 0; i < line.markedSpans.length; ++i) { + var sp = line.markedSpans[i], m = sp.marker; + + // Determine if we should prevent the cursor being placed to the left/right of an atomic marker + // Historically this was determined using the inclusiveLeft/Right option, but the new way to control it + // is with selectLeft/Right + var preventCursorLeft = ("selectLeft" in m) ? !m.selectLeft : m.inclusiveLeft; + var preventCursorRight = ("selectRight" in m) ? !m.selectRight : m.inclusiveRight; + + if ((sp.from == null || (preventCursorLeft ? sp.from <= pos.ch : sp.from < pos.ch)) && + (sp.to == null || (preventCursorRight ? sp.to >= pos.ch : sp.to > pos.ch))) { + if (mayClear) { + signal(m, "beforeCursorEnter"); + if (m.explicitlyCleared) { + if (!line.markedSpans) { break } + else {--i; continue} + } + } + if (!m.atomic) { continue } + + if (oldPos) { + var near = m.find(dir < 0 ? 1 : -1), diff = (void 0); + if (dir < 0 ? preventCursorRight : preventCursorLeft) + { near = movePos(doc, near, -dir, near && near.line == pos.line ? line : null); } + if (near && near.line == pos.line && (diff = cmp(near, oldPos)) && (dir < 0 ? diff < 0 : diff > 0)) + { return skipAtomicInner(doc, near, pos, dir, mayClear) } + } + + var far = m.find(dir < 0 ? -1 : 1); + if (dir < 0 ? preventCursorLeft : preventCursorRight) + { far = movePos(doc, far, dir, far.line == pos.line ? line : null); } + return far ? skipAtomicInner(doc, far, pos, dir, mayClear) : null + } + } } + return pos + } + + // Ensure a given position is not inside an atomic range. + function skipAtomic(doc, pos, oldPos, bias, mayClear) { + var dir = bias || 1; + var found = skipAtomicInner(doc, pos, oldPos, dir, mayClear) || + (!mayClear && skipAtomicInner(doc, pos, oldPos, dir, true)) || + skipAtomicInner(doc, pos, oldPos, -dir, mayClear) || + (!mayClear && skipAtomicInner(doc, pos, oldPos, -dir, true)); + if (!found) { + doc.cantEdit = true; + return Pos(doc.first, 0) + } + return found + } + + function movePos(doc, pos, dir, line) { + if (dir < 0 && pos.ch == 0) { + if (pos.line > doc.first) { return clipPos(doc, Pos(pos.line - 1)) } + else { return null } + } else if (dir > 0 && pos.ch == (line || getLine(doc, pos.line)).text.length) { + if (pos.line < doc.first + doc.size - 1) { return Pos(pos.line + 1, 0) } + else { return null } + } else { + return new Pos(pos.line, pos.ch + dir) + } + } + + function selectAll(cm) { + cm.setSelection(Pos(cm.firstLine(), 0), Pos(cm.lastLine()), sel_dontScroll); + } + + // UPDATING + + // Allow "beforeChange" event handlers to influence a change + function filterChange(doc, change, update) { + var obj = { + canceled: false, + from: change.from, + to: change.to, + text: change.text, + origin: change.origin, + cancel: function () { return obj.canceled = true; } + }; + if (update) { obj.update = function (from, to, text, origin) { + if (from) { obj.from = clipPos(doc, from); } + if (to) { obj.to = clipPos(doc, to); } + if (text) { obj.text = text; } + if (origin !== undefined) { obj.origin = origin; } + }; } + signal(doc, "beforeChange", doc, obj); + if (doc.cm) { signal(doc.cm, "beforeChange", doc.cm, obj); } + + if (obj.canceled) { + if (doc.cm) { doc.cm.curOp.updateInput = 2; } + return null + } + return {from: obj.from, to: obj.to, text: obj.text, origin: obj.origin} + } + + // Apply a change to a document, and add it to the document's + // history, and propagating it to all linked documents. + function makeChange(doc, change, ignoreReadOnly) { + if (doc.cm) { + if (!doc.cm.curOp) { return operation(doc.cm, makeChange)(doc, change, ignoreReadOnly) } + if (doc.cm.state.suppressEdits) { return } + } + + if (hasHandler(doc, "beforeChange") || doc.cm && hasHandler(doc.cm, "beforeChange")) { + change = filterChange(doc, change, true); + if (!change) { return } + } + + // Possibly split or suppress the update based on the presence + // of read-only spans in its range. + var split = sawReadOnlySpans && !ignoreReadOnly && removeReadOnlyRanges(doc, change.from, change.to); + if (split) { + for (var i = split.length - 1; i >= 0; --i) + { makeChangeInner(doc, {from: split[i].from, to: split[i].to, text: i ? [""] : change.text, origin: change.origin}); } + } else { + makeChangeInner(doc, change); + } + } + + function makeChangeInner(doc, change) { + if (change.text.length == 1 && change.text[0] == "" && cmp(change.from, change.to) == 0) { return } + var selAfter = computeSelAfterChange(doc, change); + addChangeToHistory(doc, change, selAfter, doc.cm ? doc.cm.curOp.id : NaN); + + makeChangeSingleDoc(doc, change, selAfter, stretchSpansOverChange(doc, change)); + var rebased = []; + + linkedDocs(doc, function (doc, sharedHist) { + if (!sharedHist && indexOf(rebased, doc.history) == -1) { + rebaseHist(doc.history, change); + rebased.push(doc.history); + } + makeChangeSingleDoc(doc, change, null, stretchSpansOverChange(doc, change)); + }); + } + + // Revert a change stored in a document's history. + function makeChangeFromHistory(doc, type, allowSelectionOnly) { + var suppress = doc.cm && doc.cm.state.suppressEdits; + if (suppress && !allowSelectionOnly) { return } + + var hist = doc.history, event, selAfter = doc.sel; + var source = type == "undo" ? hist.done : hist.undone, dest = type == "undo" ? hist.undone : hist.done; + + // Verify that there is a useable event (so that ctrl-z won't + // needlessly clear selection events) + var i = 0; + for (; i < source.length; i++) { + event = source[i]; + if (allowSelectionOnly ? event.ranges && !event.equals(doc.sel) : !event.ranges) + { break } + } + if (i == source.length) { return } + hist.lastOrigin = hist.lastSelOrigin = null; + + for (;;) { + event = source.pop(); + if (event.ranges) { + pushSelectionToHistory(event, dest); + if (allowSelectionOnly && !event.equals(doc.sel)) { + setSelection(doc, event, {clearRedo: false}); + return + } + selAfter = event; + } else if (suppress) { + source.push(event); + return + } else { break } + } + + // Build up a reverse change object to add to the opposite history + // stack (redo when undoing, and vice versa). + var antiChanges = []; + pushSelectionToHistory(selAfter, dest); + dest.push({changes: antiChanges, generation: hist.generation}); + hist.generation = event.generation || ++hist.maxGeneration; + + var filter = hasHandler(doc, "beforeChange") || doc.cm && hasHandler(doc.cm, "beforeChange"); + + var loop = function ( i ) { + var change = event.changes[i]; + change.origin = type; + if (filter && !filterChange(doc, change, false)) { + source.length = 0; + return {} + } + + antiChanges.push(historyChangeFromChange(doc, change)); + + var after = i ? computeSelAfterChange(doc, change) : lst(source); + makeChangeSingleDoc(doc, change, after, mergeOldSpans(doc, change)); + if (!i && doc.cm) { doc.cm.scrollIntoView({from: change.from, to: changeEnd(change)}); } + var rebased = []; + + // Propagate to the linked documents + linkedDocs(doc, function (doc, sharedHist) { + if (!sharedHist && indexOf(rebased, doc.history) == -1) { + rebaseHist(doc.history, change); + rebased.push(doc.history); + } + makeChangeSingleDoc(doc, change, null, mergeOldSpans(doc, change)); + }); + }; + + for (var i$1 = event.changes.length - 1; i$1 >= 0; --i$1) { + var returned = loop( i$1 ); + + if ( returned ) return returned.v; + } + } + + // Sub-views need their line numbers shifted when text is added + // above or below them in the parent document. + function shiftDoc(doc, distance) { + if (distance == 0) { return } + doc.first += distance; + doc.sel = new Selection(map(doc.sel.ranges, function (range) { return new Range( + Pos(range.anchor.line + distance, range.anchor.ch), + Pos(range.head.line + distance, range.head.ch) + ); }), doc.sel.primIndex); + if (doc.cm) { + regChange(doc.cm, doc.first, doc.first - distance, distance); + for (var d = doc.cm.display, l = d.viewFrom; l < d.viewTo; l++) + { regLineChange(doc.cm, l, "gutter"); } + } + } + + // More lower-level change function, handling only a single document + // (not linked ones). + function makeChangeSingleDoc(doc, change, selAfter, spans) { + if (doc.cm && !doc.cm.curOp) + { return operation(doc.cm, makeChangeSingleDoc)(doc, change, selAfter, spans) } + + if (change.to.line < doc.first) { + shiftDoc(doc, change.text.length - 1 - (change.to.line - change.from.line)); + return + } + if (change.from.line > doc.lastLine()) { return } + + // Clip the change to the size of this doc + if (change.from.line < doc.first) { + var shift = change.text.length - 1 - (doc.first - change.from.line); + shiftDoc(doc, shift); + change = {from: Pos(doc.first, 0), to: Pos(change.to.line + shift, change.to.ch), + text: [lst(change.text)], origin: change.origin}; + } + var last = doc.lastLine(); + if (change.to.line > last) { + change = {from: change.from, to: Pos(last, getLine(doc, last).text.length), + text: [change.text[0]], origin: change.origin}; + } + + change.removed = getBetween(doc, change.from, change.to); + + if (!selAfter) { selAfter = computeSelAfterChange(doc, change); } + if (doc.cm) { makeChangeSingleDocInEditor(doc.cm, change, spans); } + else { updateDoc(doc, change, spans); } + setSelectionNoUndo(doc, selAfter, sel_dontScroll); + + if (doc.cantEdit && skipAtomic(doc, Pos(doc.firstLine(), 0))) + { doc.cantEdit = false; } + } + + // Handle the interaction of a change to a document with the editor + // that this document is part of. + function makeChangeSingleDocInEditor(cm, change, spans) { + var doc = cm.doc, display = cm.display, from = change.from, to = change.to; + + var recomputeMaxLength = false, checkWidthStart = from.line; + if (!cm.options.lineWrapping) { + checkWidthStart = lineNo(visualLine(getLine(doc, from.line))); + doc.iter(checkWidthStart, to.line + 1, function (line) { + if (line == display.maxLine) { + recomputeMaxLength = true; + return true + } + }); + } + + if (doc.sel.contains(change.from, change.to) > -1) + { signalCursorActivity(cm); } + + updateDoc(doc, change, spans, estimateHeight(cm)); + + if (!cm.options.lineWrapping) { + doc.iter(checkWidthStart, from.line + change.text.length, function (line) { + var len = lineLength(line); + if (len > display.maxLineLength) { + display.maxLine = line; + display.maxLineLength = len; + display.maxLineChanged = true; + recomputeMaxLength = false; + } + }); + if (recomputeMaxLength) { cm.curOp.updateMaxLine = true; } + } + + retreatFrontier(doc, from.line); + startWorker(cm, 400); + + var lendiff = change.text.length - (to.line - from.line) - 1; + // Remember that these lines changed, for updating the display + if (change.full) + { regChange(cm); } + else if (from.line == to.line && change.text.length == 1 && !isWholeLineUpdate(cm.doc, change)) + { regLineChange(cm, from.line, "text"); } + else + { regChange(cm, from.line, to.line + 1, lendiff); } + + var changesHandler = hasHandler(cm, "changes"), changeHandler = hasHandler(cm, "change"); + if (changeHandler || changesHandler) { + var obj = { + from: from, to: to, + text: change.text, + removed: change.removed, + origin: change.origin + }; + if (changeHandler) { signalLater(cm, "change", cm, obj); } + if (changesHandler) { (cm.curOp.changeObjs || (cm.curOp.changeObjs = [])).push(obj); } + } + cm.display.selForContextMenu = null; + } + + function replaceRange(doc, code, from, to, origin) { + var assign; + + if (!to) { to = from; } + if (cmp(to, from) < 0) { (assign = [to, from], from = assign[0], to = assign[1]); } + if (typeof code == "string") { code = doc.splitLines(code); } + makeChange(doc, {from: from, to: to, text: code, origin: origin}); + } + + // Rebasing/resetting history to deal with externally-sourced changes + + function rebaseHistSelSingle(pos, from, to, diff) { + if (to < pos.line) { + pos.line += diff; + } else if (from < pos.line) { + pos.line = from; + pos.ch = 0; + } + } + + // Tries to rebase an array of history events given a change in the + // document. If the change touches the same lines as the event, the + // event, and everything 'behind' it, is discarded. If the change is + // before the event, the event's positions are updated. Uses a + // copy-on-write scheme for the positions, to avoid having to + // reallocate them all on every rebase, but also avoid problems with + // shared position objects being unsafely updated. + function rebaseHistArray(array, from, to, diff) { + for (var i = 0; i < array.length; ++i) { + var sub = array[i], ok = true; + if (sub.ranges) { + if (!sub.copied) { sub = array[i] = sub.deepCopy(); sub.copied = true; } + for (var j = 0; j < sub.ranges.length; j++) { + rebaseHistSelSingle(sub.ranges[j].anchor, from, to, diff); + rebaseHistSelSingle(sub.ranges[j].head, from, to, diff); + } + continue + } + for (var j$1 = 0; j$1 < sub.changes.length; ++j$1) { + var cur = sub.changes[j$1]; + if (to < cur.from.line) { + cur.from = Pos(cur.from.line + diff, cur.from.ch); + cur.to = Pos(cur.to.line + diff, cur.to.ch); + } else if (from <= cur.to.line) { + ok = false; + break + } + } + if (!ok) { + array.splice(0, i + 1); + i = 0; + } + } + } + + function rebaseHist(hist, change) { + var from = change.from.line, to = change.to.line, diff = change.text.length - (to - from) - 1; + rebaseHistArray(hist.done, from, to, diff); + rebaseHistArray(hist.undone, from, to, diff); + } + + // Utility for applying a change to a line by handle or number, + // returning the number and optionally registering the line as + // changed. + function changeLine(doc, handle, changeType, op) { + var no = handle, line = handle; + if (typeof handle == "number") { line = getLine(doc, clipLine(doc, handle)); } + else { no = lineNo(handle); } + if (no == null) { return null } + if (op(line, no) && doc.cm) { regLineChange(doc.cm, no, changeType); } + return line + } + + // The document is represented as a BTree consisting of leaves, with + // chunk of lines in them, and branches, with up to ten leaves or + // other branch nodes below them. The top node is always a branch + // node, and is the document object itself (meaning it has + // additional methods and properties). + // + // All nodes have parent links. The tree is used both to go from + // line numbers to line objects, and to go from objects to numbers. + // It also indexes by height, and is used to convert between height + // and line object, and to find the total height of the document. + // + // See also http://marijnhaverbeke.nl/blog/codemirror-line-tree.html + + function LeafChunk(lines) { + this.lines = lines; + this.parent = null; + var height = 0; + for (var i = 0; i < lines.length; ++i) { + lines[i].parent = this; + height += lines[i].height; + } + this.height = height; + } + + LeafChunk.prototype = { + chunkSize: function() { return this.lines.length }, + + // Remove the n lines at offset 'at'. + removeInner: function(at, n) { + for (var i = at, e = at + n; i < e; ++i) { + var line = this.lines[i]; + this.height -= line.height; + cleanUpLine(line); + signalLater(line, "delete"); + } + this.lines.splice(at, n); + }, + + // Helper used to collapse a small branch into a single leaf. + collapse: function(lines) { + lines.push.apply(lines, this.lines); + }, + + // Insert the given array of lines at offset 'at', count them as + // having the given height. + insertInner: function(at, lines, height) { + this.height += height; + this.lines = this.lines.slice(0, at).concat(lines).concat(this.lines.slice(at)); + for (var i = 0; i < lines.length; ++i) { lines[i].parent = this; } + }, + + // Used to iterate over a part of the tree. + iterN: function(at, n, op) { + for (var e = at + n; at < e; ++at) + { if (op(this.lines[at])) { return true } } + } + }; + + function BranchChunk(children) { + this.children = children; + var size = 0, height = 0; + for (var i = 0; i < children.length; ++i) { + var ch = children[i]; + size += ch.chunkSize(); height += ch.height; + ch.parent = this; + } + this.size = size; + this.height = height; + this.parent = null; + } + + BranchChunk.prototype = { + chunkSize: function() { return this.size }, + + removeInner: function(at, n) { + this.size -= n; + for (var i = 0; i < this.children.length; ++i) { + var child = this.children[i], sz = child.chunkSize(); + if (at < sz) { + var rm = Math.min(n, sz - at), oldHeight = child.height; + child.removeInner(at, rm); + this.height -= oldHeight - child.height; + if (sz == rm) { this.children.splice(i--, 1); child.parent = null; } + if ((n -= rm) == 0) { break } + at = 0; + } else { at -= sz; } + } + // If the result is smaller than 25 lines, ensure that it is a + // single leaf node. + if (this.size - n < 25 && + (this.children.length > 1 || !(this.children[0] instanceof LeafChunk))) { + var lines = []; + this.collapse(lines); + this.children = [new LeafChunk(lines)]; + this.children[0].parent = this; + } + }, + + collapse: function(lines) { + for (var i = 0; i < this.children.length; ++i) { this.children[i].collapse(lines); } + }, + + insertInner: function(at, lines, height) { + this.size += lines.length; + this.height += height; + for (var i = 0; i < this.children.length; ++i) { + var child = this.children[i], sz = child.chunkSize(); + if (at <= sz) { + child.insertInner(at, lines, height); + if (child.lines && child.lines.length > 50) { + // To avoid memory thrashing when child.lines is huge (e.g. first view of a large file), it's never spliced. + // Instead, small slices are taken. They're taken in order because sequential memory accesses are fastest. + var remaining = child.lines.length % 25 + 25; + for (var pos = remaining; pos < child.lines.length;) { + var leaf = new LeafChunk(child.lines.slice(pos, pos += 25)); + child.height -= leaf.height; + this.children.splice(++i, 0, leaf); + leaf.parent = this; + } + child.lines = child.lines.slice(0, remaining); + this.maybeSpill(); + } + break + } + at -= sz; + } + }, + + // When a node has grown, check whether it should be split. + maybeSpill: function() { + if (this.children.length <= 10) { return } + var me = this; + do { + var spilled = me.children.splice(me.children.length - 5, 5); + var sibling = new BranchChunk(spilled); + if (!me.parent) { // Become the parent node + var copy = new BranchChunk(me.children); + copy.parent = me; + me.children = [copy, sibling]; + me = copy; + } else { + me.size -= sibling.size; + me.height -= sibling.height; + var myIndex = indexOf(me.parent.children, me); + me.parent.children.splice(myIndex + 1, 0, sibling); + } + sibling.parent = me.parent; + } while (me.children.length > 10) + me.parent.maybeSpill(); + }, + + iterN: function(at, n, op) { + for (var i = 0; i < this.children.length; ++i) { + var child = this.children[i], sz = child.chunkSize(); + if (at < sz) { + var used = Math.min(n, sz - at); + if (child.iterN(at, used, op)) { return true } + if ((n -= used) == 0) { break } + at = 0; + } else { at -= sz; } + } + } + }; + + // Line widgets are block elements displayed above or below a line. + + var LineWidget = function(doc, node, options) { + if (options) { for (var opt in options) { if (options.hasOwnProperty(opt)) + { this[opt] = options[opt]; } } } + this.doc = doc; + this.node = node; + }; + + LineWidget.prototype.clear = function () { + var cm = this.doc.cm, ws = this.line.widgets, line = this.line, no = lineNo(line); + if (no == null || !ws) { return } + for (var i = 0; i < ws.length; ++i) { if (ws[i] == this) { ws.splice(i--, 1); } } + if (!ws.length) { line.widgets = null; } + var height = widgetHeight(this); + updateLineHeight(line, Math.max(0, line.height - height)); + if (cm) { + runInOp(cm, function () { + adjustScrollWhenAboveVisible(cm, line, -height); + regLineChange(cm, no, "widget"); + }); + signalLater(cm, "lineWidgetCleared", cm, this, no); + } + }; + + LineWidget.prototype.changed = function () { + var this$1 = this; + + var oldH = this.height, cm = this.doc.cm, line = this.line; + this.height = null; + var diff = widgetHeight(this) - oldH; + if (!diff) { return } + if (!lineIsHidden(this.doc, line)) { updateLineHeight(line, line.height + diff); } + if (cm) { + runInOp(cm, function () { + cm.curOp.forceUpdate = true; + adjustScrollWhenAboveVisible(cm, line, diff); + signalLater(cm, "lineWidgetChanged", cm, this$1, lineNo(line)); + }); + } + }; + eventMixin(LineWidget); + + function adjustScrollWhenAboveVisible(cm, line, diff) { + if (heightAtLine(line) < ((cm.curOp && cm.curOp.scrollTop) || cm.doc.scrollTop)) + { addToScrollTop(cm, diff); } + } + + function addLineWidget(doc, handle, node, options) { + var widget = new LineWidget(doc, node, options); + var cm = doc.cm; + if (cm && widget.noHScroll) { cm.display.alignWidgets = true; } + changeLine(doc, handle, "widget", function (line) { + var widgets = line.widgets || (line.widgets = []); + if (widget.insertAt == null) { widgets.push(widget); } + else { widgets.splice(Math.min(widgets.length, Math.max(0, widget.insertAt)), 0, widget); } + widget.line = line; + if (cm && !lineIsHidden(doc, line)) { + var aboveVisible = heightAtLine(line) < doc.scrollTop; + updateLineHeight(line, line.height + widgetHeight(widget)); + if (aboveVisible) { addToScrollTop(cm, widget.height); } + cm.curOp.forceUpdate = true; + } + return true + }); + if (cm) { signalLater(cm, "lineWidgetAdded", cm, widget, typeof handle == "number" ? handle : lineNo(handle)); } + return widget + } + + // TEXTMARKERS + + // Created with markText and setBookmark methods. A TextMarker is a + // handle that can be used to clear or find a marked position in the + // document. Line objects hold arrays (markedSpans) containing + // {from, to, marker} object pointing to such marker objects, and + // indicating that such a marker is present on that line. Multiple + // lines may point to the same marker when it spans across lines. + // The spans will have null for their from/to properties when the + // marker continues beyond the start/end of the line. Markers have + // links back to the lines they currently touch. + + // Collapsed markers have unique ids, in order to be able to order + // them, which is needed for uniquely determining an outer marker + // when they overlap (they may nest, but not partially overlap). + var nextMarkerId = 0; + + var TextMarker = function(doc, type) { + this.lines = []; + this.type = type; + this.doc = doc; + this.id = ++nextMarkerId; + }; + + // Clear the marker. + TextMarker.prototype.clear = function () { + if (this.explicitlyCleared) { return } + var cm = this.doc.cm, withOp = cm && !cm.curOp; + if (withOp) { startOperation(cm); } + if (hasHandler(this, "clear")) { + var found = this.find(); + if (found) { signalLater(this, "clear", found.from, found.to); } + } + var min = null, max = null; + for (var i = 0; i < this.lines.length; ++i) { + var line = this.lines[i]; + var span = getMarkedSpanFor(line.markedSpans, this); + if (cm && !this.collapsed) { regLineChange(cm, lineNo(line), "text"); } + else if (cm) { + if (span.to != null) { max = lineNo(line); } + if (span.from != null) { min = lineNo(line); } + } + line.markedSpans = removeMarkedSpan(line.markedSpans, span); + if (span.from == null && this.collapsed && !lineIsHidden(this.doc, line) && cm) + { updateLineHeight(line, textHeight(cm.display)); } + } + if (cm && this.collapsed && !cm.options.lineWrapping) { for (var i$1 = 0; i$1 < this.lines.length; ++i$1) { + var visual = visualLine(this.lines[i$1]), len = lineLength(visual); + if (len > cm.display.maxLineLength) { + cm.display.maxLine = visual; + cm.display.maxLineLength = len; + cm.display.maxLineChanged = true; + } + } } + + if (min != null && cm && this.collapsed) { regChange(cm, min, max + 1); } + this.lines.length = 0; + this.explicitlyCleared = true; + if (this.atomic && this.doc.cantEdit) { + this.doc.cantEdit = false; + if (cm) { reCheckSelection(cm.doc); } + } + if (cm) { signalLater(cm, "markerCleared", cm, this, min, max); } + if (withOp) { endOperation(cm); } + if (this.parent) { this.parent.clear(); } + }; + + // Find the position of the marker in the document. Returns a {from, + // to} object by default. Side can be passed to get a specific side + // -- 0 (both), -1 (left), or 1 (right). When lineObj is true, the + // Pos objects returned contain a line object, rather than a line + // number (used to prevent looking up the same line twice). + TextMarker.prototype.find = function (side, lineObj) { + if (side == null && this.type == "bookmark") { side = 1; } + var from, to; + for (var i = 0; i < this.lines.length; ++i) { + var line = this.lines[i]; + var span = getMarkedSpanFor(line.markedSpans, this); + if (span.from != null) { + from = Pos(lineObj ? line : lineNo(line), span.from); + if (side == -1) { return from } + } + if (span.to != null) { + to = Pos(lineObj ? line : lineNo(line), span.to); + if (side == 1) { return to } + } + } + return from && {from: from, to: to} + }; + + // Signals that the marker's widget changed, and surrounding layout + // should be recomputed. + TextMarker.prototype.changed = function () { + var this$1 = this; + + var pos = this.find(-1, true), widget = this, cm = this.doc.cm; + if (!pos || !cm) { return } + runInOp(cm, function () { + var line = pos.line, lineN = lineNo(pos.line); + var view = findViewForLine(cm, lineN); + if (view) { + clearLineMeasurementCacheFor(view); + cm.curOp.selectionChanged = cm.curOp.forceUpdate = true; + } + cm.curOp.updateMaxLine = true; + if (!lineIsHidden(widget.doc, line) && widget.height != null) { + var oldHeight = widget.height; + widget.height = null; + var dHeight = widgetHeight(widget) - oldHeight; + if (dHeight) + { updateLineHeight(line, line.height + dHeight); } + } + signalLater(cm, "markerChanged", cm, this$1); + }); + }; + + TextMarker.prototype.attachLine = function (line) { + if (!this.lines.length && this.doc.cm) { + var op = this.doc.cm.curOp; + if (!op.maybeHiddenMarkers || indexOf(op.maybeHiddenMarkers, this) == -1) + { (op.maybeUnhiddenMarkers || (op.maybeUnhiddenMarkers = [])).push(this); } + } + this.lines.push(line); + }; + + TextMarker.prototype.detachLine = function (line) { + this.lines.splice(indexOf(this.lines, line), 1); + if (!this.lines.length && this.doc.cm) { + var op = this.doc.cm.curOp + ;(op.maybeHiddenMarkers || (op.maybeHiddenMarkers = [])).push(this); + } + }; + eventMixin(TextMarker); + + // Create a marker, wire it up to the right lines, and + function markText(doc, from, to, options, type) { + // Shared markers (across linked documents) are handled separately + // (markTextShared will call out to this again, once per + // document). + if (options && options.shared) { return markTextShared(doc, from, to, options, type) } + // Ensure we are in an operation. + if (doc.cm && !doc.cm.curOp) { return operation(doc.cm, markText)(doc, from, to, options, type) } + + var marker = new TextMarker(doc, type), diff = cmp(from, to); + if (options) { copyObj(options, marker, false); } + // Don't connect empty markers unless clearWhenEmpty is false + if (diff > 0 || diff == 0 && marker.clearWhenEmpty !== false) + { return marker } + if (marker.replacedWith) { + // Showing up as a widget implies collapsed (widget replaces text) + marker.collapsed = true; + marker.widgetNode = eltP("span", [marker.replacedWith], "CodeMirror-widget"); + if (!options.handleMouseEvents) { marker.widgetNode.setAttribute("cm-ignore-events", "true"); } + if (options.insertLeft) { marker.widgetNode.insertLeft = true; } + } + if (marker.collapsed) { + if (conflictingCollapsedRange(doc, from.line, from, to, marker) || + from.line != to.line && conflictingCollapsedRange(doc, to.line, from, to, marker)) + { throw new Error("Inserting collapsed marker partially overlapping an existing one") } + seeCollapsedSpans(); + } + + if (marker.addToHistory) + { addChangeToHistory(doc, {from: from, to: to, origin: "markText"}, doc.sel, NaN); } + + var curLine = from.line, cm = doc.cm, updateMaxLine; + doc.iter(curLine, to.line + 1, function (line) { + if (cm && marker.collapsed && !cm.options.lineWrapping && visualLine(line) == cm.display.maxLine) + { updateMaxLine = true; } + if (marker.collapsed && curLine != from.line) { updateLineHeight(line, 0); } + addMarkedSpan(line, new MarkedSpan(marker, + curLine == from.line ? from.ch : null, + curLine == to.line ? to.ch : null), doc.cm && doc.cm.curOp); + ++curLine; + }); + // lineIsHidden depends on the presence of the spans, so needs a second pass + if (marker.collapsed) { doc.iter(from.line, to.line + 1, function (line) { + if (lineIsHidden(doc, line)) { updateLineHeight(line, 0); } + }); } + + if (marker.clearOnEnter) { on(marker, "beforeCursorEnter", function () { return marker.clear(); }); } + + if (marker.readOnly) { + seeReadOnlySpans(); + if (doc.history.done.length || doc.history.undone.length) + { doc.clearHistory(); } + } + if (marker.collapsed) { + marker.id = ++nextMarkerId; + marker.atomic = true; + } + if (cm) { + // Sync editor state + if (updateMaxLine) { cm.curOp.updateMaxLine = true; } + if (marker.collapsed) + { regChange(cm, from.line, to.line + 1); } + else if (marker.className || marker.startStyle || marker.endStyle || marker.css || + marker.attributes || marker.title) + { for (var i = from.line; i <= to.line; i++) { regLineChange(cm, i, "text"); } } + if (marker.atomic) { reCheckSelection(cm.doc); } + signalLater(cm, "markerAdded", cm, marker); + } + return marker + } + + // SHARED TEXTMARKERS + + // A shared marker spans multiple linked documents. It is + // implemented as a meta-marker-object controlling multiple normal + // markers. + var SharedTextMarker = function(markers, primary) { + this.markers = markers; + this.primary = primary; + for (var i = 0; i < markers.length; ++i) + { markers[i].parent = this; } + }; + + SharedTextMarker.prototype.clear = function () { + if (this.explicitlyCleared) { return } + this.explicitlyCleared = true; + for (var i = 0; i < this.markers.length; ++i) + { this.markers[i].clear(); } + signalLater(this, "clear"); + }; + + SharedTextMarker.prototype.find = function (side, lineObj) { + return this.primary.find(side, lineObj) + }; + eventMixin(SharedTextMarker); + + function markTextShared(doc, from, to, options, type) { + options = copyObj(options); + options.shared = false; + var markers = [markText(doc, from, to, options, type)], primary = markers[0]; + var widget = options.widgetNode; + linkedDocs(doc, function (doc) { + if (widget) { options.widgetNode = widget.cloneNode(true); } + markers.push(markText(doc, clipPos(doc, from), clipPos(doc, to), options, type)); + for (var i = 0; i < doc.linked.length; ++i) + { if (doc.linked[i].isParent) { return } } + primary = lst(markers); + }); + return new SharedTextMarker(markers, primary) + } + + function findSharedMarkers(doc) { + return doc.findMarks(Pos(doc.first, 0), doc.clipPos(Pos(doc.lastLine())), function (m) { return m.parent; }) + } + + function copySharedMarkers(doc, markers) { + for (var i = 0; i < markers.length; i++) { + var marker = markers[i], pos = marker.find(); + var mFrom = doc.clipPos(pos.from), mTo = doc.clipPos(pos.to); + if (cmp(mFrom, mTo)) { + var subMark = markText(doc, mFrom, mTo, marker.primary, marker.primary.type); + marker.markers.push(subMark); + subMark.parent = marker; + } + } + } + + function detachSharedMarkers(markers) { + var loop = function ( i ) { + var marker = markers[i], linked = [marker.primary.doc]; + linkedDocs(marker.primary.doc, function (d) { return linked.push(d); }); + for (var j = 0; j < marker.markers.length; j++) { + var subMarker = marker.markers[j]; + if (indexOf(linked, subMarker.doc) == -1) { + subMarker.parent = null; + marker.markers.splice(j--, 1); + } + } + }; + + for (var i = 0; i < markers.length; i++) loop( i ); + } + + var nextDocId = 0; + var Doc = function(text, mode, firstLine, lineSep, direction) { + if (!(this instanceof Doc)) { return new Doc(text, mode, firstLine, lineSep, direction) } + if (firstLine == null) { firstLine = 0; } + + BranchChunk.call(this, [new LeafChunk([new Line("", null)])]); + this.first = firstLine; + this.scrollTop = this.scrollLeft = 0; + this.cantEdit = false; + this.cleanGeneration = 1; + this.modeFrontier = this.highlightFrontier = firstLine; + var start = Pos(firstLine, 0); + this.sel = simpleSelection(start); + this.history = new History(null); + this.id = ++nextDocId; + this.modeOption = mode; + this.lineSep = lineSep; + this.direction = (direction == "rtl") ? "rtl" : "ltr"; + this.extend = false; + + if (typeof text == "string") { text = this.splitLines(text); } + updateDoc(this, {from: start, to: start, text: text}); + setSelection(this, simpleSelection(start), sel_dontScroll); + }; + + Doc.prototype = createObj(BranchChunk.prototype, { + constructor: Doc, + // Iterate over the document. Supports two forms -- with only one + // argument, it calls that for each line in the document. With + // three, it iterates over the range given by the first two (with + // the second being non-inclusive). + iter: function(from, to, op) { + if (op) { this.iterN(from - this.first, to - from, op); } + else { this.iterN(this.first, this.first + this.size, from); } + }, + + // Non-public interface for adding and removing lines. + insert: function(at, lines) { + var height = 0; + for (var i = 0; i < lines.length; ++i) { height += lines[i].height; } + this.insertInner(at - this.first, lines, height); + }, + remove: function(at, n) { this.removeInner(at - this.first, n); }, + + // From here, the methods are part of the public interface. Most + // are also available from CodeMirror (editor) instances. + + getValue: function(lineSep) { + var lines = getLines(this, this.first, this.first + this.size); + if (lineSep === false) { return lines } + return lines.join(lineSep || this.lineSeparator()) + }, + setValue: docMethodOp(function(code) { + var top = Pos(this.first, 0), last = this.first + this.size - 1; + makeChange(this, {from: top, to: Pos(last, getLine(this, last).text.length), + text: this.splitLines(code), origin: "setValue", full: true}, true); + if (this.cm) { scrollToCoords(this.cm, 0, 0); } + setSelection(this, simpleSelection(top), sel_dontScroll); + }), + replaceRange: function(code, from, to, origin) { + from = clipPos(this, from); + to = to ? clipPos(this, to) : from; + replaceRange(this, code, from, to, origin); + }, + getRange: function(from, to, lineSep) { + var lines = getBetween(this, clipPos(this, from), clipPos(this, to)); + if (lineSep === false) { return lines } + if (lineSep === '') { return lines.join('') } + return lines.join(lineSep || this.lineSeparator()) + }, + + getLine: function(line) {var l = this.getLineHandle(line); return l && l.text}, + + getLineHandle: function(line) {if (isLine(this, line)) { return getLine(this, line) }}, + getLineNumber: function(line) {return lineNo(line)}, + + getLineHandleVisualStart: function(line) { + if (typeof line == "number") { line = getLine(this, line); } + return visualLine(line) + }, + + lineCount: function() {return this.size}, + firstLine: function() {return this.first}, + lastLine: function() {return this.first + this.size - 1}, + + clipPos: function(pos) {return clipPos(this, pos)}, + + getCursor: function(start) { + var range = this.sel.primary(), pos; + if (start == null || start == "head") { pos = range.head; } + else if (start == "anchor") { pos = range.anchor; } + else if (start == "end" || start == "to" || start === false) { pos = range.to(); } + else { pos = range.from(); } + return pos + }, + listSelections: function() { return this.sel.ranges }, + somethingSelected: function() {return this.sel.somethingSelected()}, + + setCursor: docMethodOp(function(line, ch, options) { + setSimpleSelection(this, clipPos(this, typeof line == "number" ? Pos(line, ch || 0) : line), null, options); + }), + setSelection: docMethodOp(function(anchor, head, options) { + setSimpleSelection(this, clipPos(this, anchor), clipPos(this, head || anchor), options); + }), + extendSelection: docMethodOp(function(head, other, options) { + extendSelection(this, clipPos(this, head), other && clipPos(this, other), options); + }), + extendSelections: docMethodOp(function(heads, options) { + extendSelections(this, clipPosArray(this, heads), options); + }), + extendSelectionsBy: docMethodOp(function(f, options) { + var heads = map(this.sel.ranges, f); + extendSelections(this, clipPosArray(this, heads), options); + }), + setSelections: docMethodOp(function(ranges, primary, options) { + if (!ranges.length) { return } + var out = []; + for (var i = 0; i < ranges.length; i++) + { out[i] = new Range(clipPos(this, ranges[i].anchor), + clipPos(this, ranges[i].head || ranges[i].anchor)); } + if (primary == null) { primary = Math.min(ranges.length - 1, this.sel.primIndex); } + setSelection(this, normalizeSelection(this.cm, out, primary), options); + }), + addSelection: docMethodOp(function(anchor, head, options) { + var ranges = this.sel.ranges.slice(0); + ranges.push(new Range(clipPos(this, anchor), clipPos(this, head || anchor))); + setSelection(this, normalizeSelection(this.cm, ranges, ranges.length - 1), options); + }), + + getSelection: function(lineSep) { + var ranges = this.sel.ranges, lines; + for (var i = 0; i < ranges.length; i++) { + var sel = getBetween(this, ranges[i].from(), ranges[i].to()); + lines = lines ? lines.concat(sel) : sel; + } + if (lineSep === false) { return lines } + else { return lines.join(lineSep || this.lineSeparator()) } + }, + getSelections: function(lineSep) { + var parts = [], ranges = this.sel.ranges; + for (var i = 0; i < ranges.length; i++) { + var sel = getBetween(this, ranges[i].from(), ranges[i].to()); + if (lineSep !== false) { sel = sel.join(lineSep || this.lineSeparator()); } + parts[i] = sel; + } + return parts + }, + replaceSelection: function(code, collapse, origin) { + var dup = []; + for (var i = 0; i < this.sel.ranges.length; i++) + { dup[i] = code; } + this.replaceSelections(dup, collapse, origin || "+input"); + }, + replaceSelections: docMethodOp(function(code, collapse, origin) { + var changes = [], sel = this.sel; + for (var i = 0; i < sel.ranges.length; i++) { + var range = sel.ranges[i]; + changes[i] = {from: range.from(), to: range.to(), text: this.splitLines(code[i]), origin: origin}; + } + var newSel = collapse && collapse != "end" && computeReplacedSel(this, changes, collapse); + for (var i$1 = changes.length - 1; i$1 >= 0; i$1--) + { makeChange(this, changes[i$1]); } + if (newSel) { setSelectionReplaceHistory(this, newSel); } + else if (this.cm) { ensureCursorVisible(this.cm); } + }), + undo: docMethodOp(function() {makeChangeFromHistory(this, "undo");}), + redo: docMethodOp(function() {makeChangeFromHistory(this, "redo");}), + undoSelection: docMethodOp(function() {makeChangeFromHistory(this, "undo", true);}), + redoSelection: docMethodOp(function() {makeChangeFromHistory(this, "redo", true);}), + + setExtending: function(val) {this.extend = val;}, + getExtending: function() {return this.extend}, + + historySize: function() { + var hist = this.history, done = 0, undone = 0; + for (var i = 0; i < hist.done.length; i++) { if (!hist.done[i].ranges) { ++done; } } + for (var i$1 = 0; i$1 < hist.undone.length; i$1++) { if (!hist.undone[i$1].ranges) { ++undone; } } + return {undo: done, redo: undone} + }, + clearHistory: function() { + var this$1 = this; + + this.history = new History(this.history); + linkedDocs(this, function (doc) { return doc.history = this$1.history; }, true); + }, + + markClean: function() { + this.cleanGeneration = this.changeGeneration(true); + }, + changeGeneration: function(forceSplit) { + if (forceSplit) + { this.history.lastOp = this.history.lastSelOp = this.history.lastOrigin = null; } + return this.history.generation + }, + isClean: function (gen) { + return this.history.generation == (gen || this.cleanGeneration) + }, + + getHistory: function() { + return {done: copyHistoryArray(this.history.done), + undone: copyHistoryArray(this.history.undone)} + }, + setHistory: function(histData) { + var hist = this.history = new History(this.history); + hist.done = copyHistoryArray(histData.done.slice(0), null, true); + hist.undone = copyHistoryArray(histData.undone.slice(0), null, true); + }, + + setGutterMarker: docMethodOp(function(line, gutterID, value) { + return changeLine(this, line, "gutter", function (line) { + var markers = line.gutterMarkers || (line.gutterMarkers = {}); + markers[gutterID] = value; + if (!value && isEmpty(markers)) { line.gutterMarkers = null; } + return true + }) + }), + + clearGutter: docMethodOp(function(gutterID) { + var this$1 = this; + + this.iter(function (line) { + if (line.gutterMarkers && line.gutterMarkers[gutterID]) { + changeLine(this$1, line, "gutter", function () { + line.gutterMarkers[gutterID] = null; + if (isEmpty(line.gutterMarkers)) { line.gutterMarkers = null; } + return true + }); + } + }); + }), + + lineInfo: function(line) { + var n; + if (typeof line == "number") { + if (!isLine(this, line)) { return null } + n = line; + line = getLine(this, line); + if (!line) { return null } + } else { + n = lineNo(line); + if (n == null) { return null } + } + return {line: n, handle: line, text: line.text, gutterMarkers: line.gutterMarkers, + textClass: line.textClass, bgClass: line.bgClass, wrapClass: line.wrapClass, + widgets: line.widgets} + }, + + addLineClass: docMethodOp(function(handle, where, cls) { + return changeLine(this, handle, where == "gutter" ? "gutter" : "class", function (line) { + var prop = where == "text" ? "textClass" + : where == "background" ? "bgClass" + : where == "gutter" ? "gutterClass" : "wrapClass"; + if (!line[prop]) { line[prop] = cls; } + else if (classTest(cls).test(line[prop])) { return false } + else { line[prop] += " " + cls; } + return true + }) + }), + removeLineClass: docMethodOp(function(handle, where, cls) { + return changeLine(this, handle, where == "gutter" ? "gutter" : "class", function (line) { + var prop = where == "text" ? "textClass" + : where == "background" ? "bgClass" + : where == "gutter" ? "gutterClass" : "wrapClass"; + var cur = line[prop]; + if (!cur) { return false } + else if (cls == null) { line[prop] = null; } + else { + var found = cur.match(classTest(cls)); + if (!found) { return false } + var end = found.index + found[0].length; + line[prop] = cur.slice(0, found.index) + (!found.index || end == cur.length ? "" : " ") + cur.slice(end) || null; + } + return true + }) + }), + + addLineWidget: docMethodOp(function(handle, node, options) { + return addLineWidget(this, handle, node, options) + }), + removeLineWidget: function(widget) { widget.clear(); }, + + markText: function(from, to, options) { + return markText(this, clipPos(this, from), clipPos(this, to), options, options && options.type || "range") + }, + setBookmark: function(pos, options) { + var realOpts = {replacedWith: options && (options.nodeType == null ? options.widget : options), + insertLeft: options && options.insertLeft, + clearWhenEmpty: false, shared: options && options.shared, + handleMouseEvents: options && options.handleMouseEvents}; + pos = clipPos(this, pos); + return markText(this, pos, pos, realOpts, "bookmark") + }, + findMarksAt: function(pos) { + pos = clipPos(this, pos); + var markers = [], spans = getLine(this, pos.line).markedSpans; + if (spans) { for (var i = 0; i < spans.length; ++i) { + var span = spans[i]; + if ((span.from == null || span.from <= pos.ch) && + (span.to == null || span.to >= pos.ch)) + { markers.push(span.marker.parent || span.marker); } + } } + return markers + }, + findMarks: function(from, to, filter) { + from = clipPos(this, from); to = clipPos(this, to); + var found = [], lineNo = from.line; + this.iter(from.line, to.line + 1, function (line) { + var spans = line.markedSpans; + if (spans) { for (var i = 0; i < spans.length; i++) { + var span = spans[i]; + if (!(span.to != null && lineNo == from.line && from.ch >= span.to || + span.from == null && lineNo != from.line || + span.from != null && lineNo == to.line && span.from >= to.ch) && + (!filter || filter(span.marker))) + { found.push(span.marker.parent || span.marker); } + } } + ++lineNo; + }); + return found + }, + getAllMarks: function() { + var markers = []; + this.iter(function (line) { + var sps = line.markedSpans; + if (sps) { for (var i = 0; i < sps.length; ++i) + { if (sps[i].from != null) { markers.push(sps[i].marker); } } } + }); + return markers + }, + + posFromIndex: function(off) { + var ch, lineNo = this.first, sepSize = this.lineSeparator().length; + this.iter(function (line) { + var sz = line.text.length + sepSize; + if (sz > off) { ch = off; return true } + off -= sz; + ++lineNo; + }); + return clipPos(this, Pos(lineNo, ch)) + }, + indexFromPos: function (coords) { + coords = clipPos(this, coords); + var index = coords.ch; + if (coords.line < this.first || coords.ch < 0) { return 0 } + var sepSize = this.lineSeparator().length; + this.iter(this.first, coords.line, function (line) { // iter aborts when callback returns a truthy value + index += line.text.length + sepSize; + }); + return index + }, + + copy: function(copyHistory) { + var doc = new Doc(getLines(this, this.first, this.first + this.size), + this.modeOption, this.first, this.lineSep, this.direction); + doc.scrollTop = this.scrollTop; doc.scrollLeft = this.scrollLeft; + doc.sel = this.sel; + doc.extend = false; + if (copyHistory) { + doc.history.undoDepth = this.history.undoDepth; + doc.setHistory(this.getHistory()); + } + return doc + }, + + linkedDoc: function(options) { + if (!options) { options = {}; } + var from = this.first, to = this.first + this.size; + if (options.from != null && options.from > from) { from = options.from; } + if (options.to != null && options.to < to) { to = options.to; } + var copy = new Doc(getLines(this, from, to), options.mode || this.modeOption, from, this.lineSep, this.direction); + if (options.sharedHist) { copy.history = this.history + ; }(this.linked || (this.linked = [])).push({doc: copy, sharedHist: options.sharedHist}); + copy.linked = [{doc: this, isParent: true, sharedHist: options.sharedHist}]; + copySharedMarkers(copy, findSharedMarkers(this)); + return copy + }, + unlinkDoc: function(other) { + if (other instanceof CodeMirror) { other = other.doc; } + if (this.linked) { for (var i = 0; i < this.linked.length; ++i) { + var link = this.linked[i]; + if (link.doc != other) { continue } + this.linked.splice(i, 1); + other.unlinkDoc(this); + detachSharedMarkers(findSharedMarkers(this)); + break + } } + // If the histories were shared, split them again + if (other.history == this.history) { + var splitIds = [other.id]; + linkedDocs(other, function (doc) { return splitIds.push(doc.id); }, true); + other.history = new History(null); + other.history.done = copyHistoryArray(this.history.done, splitIds); + other.history.undone = copyHistoryArray(this.history.undone, splitIds); + } + }, + iterLinkedDocs: function(f) {linkedDocs(this, f);}, + + getMode: function() {return this.mode}, + getEditor: function() {return this.cm}, + + splitLines: function(str) { + if (this.lineSep) { return str.split(this.lineSep) } + return splitLinesAuto(str) + }, + lineSeparator: function() { return this.lineSep || "\n" }, + + setDirection: docMethodOp(function (dir) { + if (dir != "rtl") { dir = "ltr"; } + if (dir == this.direction) { return } + this.direction = dir; + this.iter(function (line) { return line.order = null; }); + if (this.cm) { directionChanged(this.cm); } + }) + }); + + // Public alias. + Doc.prototype.eachLine = Doc.prototype.iter; + + // Kludge to work around strange IE behavior where it'll sometimes + // re-fire a series of drag-related events right after the drop (#1551) + var lastDrop = 0; + + function onDrop(e) { + var cm = this; + clearDragCursor(cm); + if (signalDOMEvent(cm, e) || eventInWidget(cm.display, e)) + { return } + e_preventDefault(e); + if (ie) { lastDrop = +new Date; } + var pos = posFromMouse(cm, e, true), files = e.dataTransfer.files; + if (!pos || cm.isReadOnly()) { return } + // Might be a file drop, in which case we simply extract the text + // and insert it. + if (files && files.length && window.FileReader && window.File) { + var n = files.length, text = Array(n), read = 0; + var markAsReadAndPasteIfAllFilesAreRead = function () { + if (++read == n) { + operation(cm, function () { + pos = clipPos(cm.doc, pos); + var change = {from: pos, to: pos, + text: cm.doc.splitLines( + text.filter(function (t) { return t != null; }).join(cm.doc.lineSeparator())), + origin: "paste"}; + makeChange(cm.doc, change); + setSelectionReplaceHistory(cm.doc, simpleSelection(clipPos(cm.doc, pos), clipPos(cm.doc, changeEnd(change)))); + })(); + } + }; + var readTextFromFile = function (file, i) { + if (cm.options.allowDropFileTypes && + indexOf(cm.options.allowDropFileTypes, file.type) == -1) { + markAsReadAndPasteIfAllFilesAreRead(); + return + } + var reader = new FileReader; + reader.onerror = function () { return markAsReadAndPasteIfAllFilesAreRead(); }; + reader.onload = function () { + var content = reader.result; + if (/[\x00-\x08\x0e-\x1f]{2}/.test(content)) { + markAsReadAndPasteIfAllFilesAreRead(); + return + } + text[i] = content; + markAsReadAndPasteIfAllFilesAreRead(); + }; + reader.readAsText(file); + }; + for (var i = 0; i < files.length; i++) { readTextFromFile(files[i], i); } + } else { // Normal drop + // Don't do a replace if the drop happened inside of the selected text. + if (cm.state.draggingText && cm.doc.sel.contains(pos) > -1) { + cm.state.draggingText(e); + // Ensure the editor is re-focused + setTimeout(function () { return cm.display.input.focus(); }, 20); + return + } + try { + var text$1 = e.dataTransfer.getData("Text"); + if (text$1) { + var selected; + if (cm.state.draggingText && !cm.state.draggingText.copy) + { selected = cm.listSelections(); } + setSelectionNoUndo(cm.doc, simpleSelection(pos, pos)); + if (selected) { for (var i$1 = 0; i$1 < selected.length; ++i$1) + { replaceRange(cm.doc, "", selected[i$1].anchor, selected[i$1].head, "drag"); } } + cm.replaceSelection(text$1, "around", "paste"); + cm.display.input.focus(); + } + } + catch(e$1){} + } + } + + function onDragStart(cm, e) { + if (ie && (!cm.state.draggingText || +new Date - lastDrop < 100)) { e_stop(e); return } + if (signalDOMEvent(cm, e) || eventInWidget(cm.display, e)) { return } + + e.dataTransfer.setData("Text", cm.getSelection()); + e.dataTransfer.effectAllowed = "copyMove"; + + // Use dummy image instead of default browsers image. + // Recent Safari (~6.0.2) have a tendency to segfault when this happens, so we don't do it there. + if (e.dataTransfer.setDragImage && !safari) { + var img = elt("img", null, null, "position: fixed; left: 0; top: 0;"); + img.src = "data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="; + if (presto) { + img.width = img.height = 1; + cm.display.wrapper.appendChild(img); + // Force a relayout, or Opera won't use our image for some obscure reason + img._top = img.offsetTop; + } + e.dataTransfer.setDragImage(img, 0, 0); + if (presto) { img.parentNode.removeChild(img); } + } + } + + function onDragOver(cm, e) { + var pos = posFromMouse(cm, e); + if (!pos) { return } + var frag = document.createDocumentFragment(); + drawSelectionCursor(cm, pos, frag); + if (!cm.display.dragCursor) { + cm.display.dragCursor = elt("div", null, "CodeMirror-cursors CodeMirror-dragcursors"); + cm.display.lineSpace.insertBefore(cm.display.dragCursor, cm.display.cursorDiv); + } + removeChildrenAndAdd(cm.display.dragCursor, frag); + } + + function clearDragCursor(cm) { + if (cm.display.dragCursor) { + cm.display.lineSpace.removeChild(cm.display.dragCursor); + cm.display.dragCursor = null; + } + } + + // These must be handled carefully, because naively registering a + // handler for each editor will cause the editors to never be + // garbage collected. + + function forEachCodeMirror(f) { + if (!document.getElementsByClassName) { return } + var byClass = document.getElementsByClassName("CodeMirror"), editors = []; + for (var i = 0; i < byClass.length; i++) { + var cm = byClass[i].CodeMirror; + if (cm) { editors.push(cm); } + } + if (editors.length) { editors[0].operation(function () { + for (var i = 0; i < editors.length; i++) { f(editors[i]); } + }); } + } + + var globalsRegistered = false; + function ensureGlobalHandlers() { + if (globalsRegistered) { return } + registerGlobalHandlers(); + globalsRegistered = true; + } + function registerGlobalHandlers() { + // When the window resizes, we need to refresh active editors. + var resizeTimer; + on(window, "resize", function () { + if (resizeTimer == null) { resizeTimer = setTimeout(function () { + resizeTimer = null; + forEachCodeMirror(onResize); + }, 100); } + }); + // When the window loses focus, we want to show the editor as blurred + on(window, "blur", function () { return forEachCodeMirror(onBlur); }); + } + // Called when the window resizes + function onResize(cm) { + var d = cm.display; + // Might be a text scaling operation, clear size caches. + d.cachedCharWidth = d.cachedTextHeight = d.cachedPaddingH = null; + d.scrollbarsClipped = false; + cm.setSize(); + } + + var keyNames = { + 3: "Pause", 8: "Backspace", 9: "Tab", 13: "Enter", 16: "Shift", 17: "Ctrl", 18: "Alt", + 19: "Pause", 20: "CapsLock", 27: "Esc", 32: "Space", 33: "PageUp", 34: "PageDown", 35: "End", + 36: "Home", 37: "Left", 38: "Up", 39: "Right", 40: "Down", 44: "PrintScrn", 45: "Insert", + 46: "Delete", 59: ";", 61: "=", 91: "Mod", 92: "Mod", 93: "Mod", + 106: "*", 107: "=", 109: "-", 110: ".", 111: "/", 145: "ScrollLock", + 173: "-", 186: ";", 187: "=", 188: ",", 189: "-", 190: ".", 191: "/", 192: "`", 219: "[", 220: "\\", + 221: "]", 222: "'", 224: "Mod", 63232: "Up", 63233: "Down", 63234: "Left", 63235: "Right", 63272: "Delete", + 63273: "Home", 63275: "End", 63276: "PageUp", 63277: "PageDown", 63302: "Insert" + }; + + // Number keys + for (var i = 0; i < 10; i++) { keyNames[i + 48] = keyNames[i + 96] = String(i); } + // Alphabetic keys + for (var i$1 = 65; i$1 <= 90; i$1++) { keyNames[i$1] = String.fromCharCode(i$1); } + // Function keys + for (var i$2 = 1; i$2 <= 12; i$2++) { keyNames[i$2 + 111] = keyNames[i$2 + 63235] = "F" + i$2; } + + var keyMap = {}; + + keyMap.basic = { + "Left": "goCharLeft", "Right": "goCharRight", "Up": "goLineUp", "Down": "goLineDown", + "End": "goLineEnd", "Home": "goLineStartSmart", "PageUp": "goPageUp", "PageDown": "goPageDown", + "Delete": "delCharAfter", "Backspace": "delCharBefore", "Shift-Backspace": "delCharBefore", + "Tab": "defaultTab", "Shift-Tab": "indentAuto", + "Enter": "newlineAndIndent", "Insert": "toggleOverwrite", + "Esc": "singleSelection" + }; + // Note that the save and find-related commands aren't defined by + // default. User code or addons can define them. Unknown commands + // are simply ignored. + keyMap.pcDefault = { + "Ctrl-A": "selectAll", "Ctrl-D": "deleteLine", "Ctrl-Z": "undo", "Shift-Ctrl-Z": "redo", "Ctrl-Y": "redo", + "Ctrl-Home": "goDocStart", "Ctrl-End": "goDocEnd", "Ctrl-Up": "goLineUp", "Ctrl-Down": "goLineDown", + "Ctrl-Left": "goGroupLeft", "Ctrl-Right": "goGroupRight", "Alt-Left": "goLineStart", "Alt-Right": "goLineEnd", + "Ctrl-Backspace": "delGroupBefore", "Ctrl-Delete": "delGroupAfter", "Ctrl-S": "save", "Ctrl-F": "find", + "Ctrl-G": "findNext", "Shift-Ctrl-G": "findPrev", "Shift-Ctrl-F": "replace", "Shift-Ctrl-R": "replaceAll", + "Ctrl-[": "indentLess", "Ctrl-]": "indentMore", + "Ctrl-U": "undoSelection", "Shift-Ctrl-U": "redoSelection", "Alt-U": "redoSelection", + "fallthrough": "basic" + }; + // Very basic readline/emacs-style bindings, which are standard on Mac. + keyMap.emacsy = { + "Ctrl-F": "goCharRight", "Ctrl-B": "goCharLeft", "Ctrl-P": "goLineUp", "Ctrl-N": "goLineDown", + "Ctrl-A": "goLineStart", "Ctrl-E": "goLineEnd", "Ctrl-V": "goPageDown", "Shift-Ctrl-V": "goPageUp", + "Ctrl-D": "delCharAfter", "Ctrl-H": "delCharBefore", "Alt-Backspace": "delWordBefore", "Ctrl-K": "killLine", + "Ctrl-T": "transposeChars", "Ctrl-O": "openLine" + }; + keyMap.macDefault = { + "Cmd-A": "selectAll", "Cmd-D": "deleteLine", "Cmd-Z": "undo", "Shift-Cmd-Z": "redo", "Cmd-Y": "redo", + "Cmd-Home": "goDocStart", "Cmd-Up": "goDocStart", "Cmd-End": "goDocEnd", "Cmd-Down": "goDocEnd", "Alt-Left": "goGroupLeft", + "Alt-Right": "goGroupRight", "Cmd-Left": "goLineLeft", "Cmd-Right": "goLineRight", "Alt-Backspace": "delGroupBefore", + "Ctrl-Alt-Backspace": "delGroupAfter", "Alt-Delete": "delGroupAfter", "Cmd-S": "save", "Cmd-F": "find", + "Cmd-G": "findNext", "Shift-Cmd-G": "findPrev", "Cmd-Alt-F": "replace", "Shift-Cmd-Alt-F": "replaceAll", + "Cmd-[": "indentLess", "Cmd-]": "indentMore", "Cmd-Backspace": "delWrappedLineLeft", "Cmd-Delete": "delWrappedLineRight", + "Cmd-U": "undoSelection", "Shift-Cmd-U": "redoSelection", "Ctrl-Up": "goDocStart", "Ctrl-Down": "goDocEnd", + "fallthrough": ["basic", "emacsy"] + }; + keyMap["default"] = mac ? keyMap.macDefault : keyMap.pcDefault; + + // KEYMAP DISPATCH + + function normalizeKeyName(name) { + var parts = name.split(/-(?!$)/); + name = parts[parts.length - 1]; + var alt, ctrl, shift, cmd; + for (var i = 0; i < parts.length - 1; i++) { + var mod = parts[i]; + if (/^(cmd|meta|m)$/i.test(mod)) { cmd = true; } + else if (/^a(lt)?$/i.test(mod)) { alt = true; } + else if (/^(c|ctrl|control)$/i.test(mod)) { ctrl = true; } + else if (/^s(hift)?$/i.test(mod)) { shift = true; } + else { throw new Error("Unrecognized modifier name: " + mod) } + } + if (alt) { name = "Alt-" + name; } + if (ctrl) { name = "Ctrl-" + name; } + if (cmd) { name = "Cmd-" + name; } + if (shift) { name = "Shift-" + name; } + return name + } + + // This is a kludge to keep keymaps mostly working as raw objects + // (backwards compatibility) while at the same time support features + // like normalization and multi-stroke key bindings. It compiles a + // new normalized keymap, and then updates the old object to reflect + // this. + function normalizeKeyMap(keymap) { + var copy = {}; + for (var keyname in keymap) { if (keymap.hasOwnProperty(keyname)) { + var value = keymap[keyname]; + if (/^(name|fallthrough|(de|at)tach)$/.test(keyname)) { continue } + if (value == "...") { delete keymap[keyname]; continue } + + var keys = map(keyname.split(" "), normalizeKeyName); + for (var i = 0; i < keys.length; i++) { + var val = (void 0), name = (void 0); + if (i == keys.length - 1) { + name = keys.join(" "); + val = value; + } else { + name = keys.slice(0, i + 1).join(" "); + val = "..."; + } + var prev = copy[name]; + if (!prev) { copy[name] = val; } + else if (prev != val) { throw new Error("Inconsistent bindings for " + name) } + } + delete keymap[keyname]; + } } + for (var prop in copy) { keymap[prop] = copy[prop]; } + return keymap + } + + function lookupKey(key, map, handle, context) { + map = getKeyMap(map); + var found = map.call ? map.call(key, context) : map[key]; + if (found === false) { return "nothing" } + if (found === "...") { return "multi" } + if (found != null && handle(found)) { return "handled" } + + if (map.fallthrough) { + if (Object.prototype.toString.call(map.fallthrough) != "[object Array]") + { return lookupKey(key, map.fallthrough, handle, context) } + for (var i = 0; i < map.fallthrough.length; i++) { + var result = lookupKey(key, map.fallthrough[i], handle, context); + if (result) { return result } + } + } + } + + // Modifier key presses don't count as 'real' key presses for the + // purpose of keymap fallthrough. + function isModifierKey(value) { + var name = typeof value == "string" ? value : keyNames[value.keyCode]; + return name == "Ctrl" || name == "Alt" || name == "Shift" || name == "Mod" + } + + function addModifierNames(name, event, noShift) { + var base = name; + if (event.altKey && base != "Alt") { name = "Alt-" + name; } + if ((flipCtrlCmd ? event.metaKey : event.ctrlKey) && base != "Ctrl") { name = "Ctrl-" + name; } + if ((flipCtrlCmd ? event.ctrlKey : event.metaKey) && base != "Mod") { name = "Cmd-" + name; } + if (!noShift && event.shiftKey && base != "Shift") { name = "Shift-" + name; } + return name + } + + // Look up the name of a key as indicated by an event object. + function keyName(event, noShift) { + if (presto && event.keyCode == 34 && event["char"]) { return false } + var name = keyNames[event.keyCode]; + if (name == null || event.altGraphKey) { return false } + // Ctrl-ScrollLock has keyCode 3, same as Ctrl-Pause, + // so we'll use event.code when available (Chrome 48+, FF 38+, Safari 10.1+) + if (event.keyCode == 3 && event.code) { name = event.code; } + return addModifierNames(name, event, noShift) + } + + function getKeyMap(val) { + return typeof val == "string" ? keyMap[val] : val + } + + // Helper for deleting text near the selection(s), used to implement + // backspace, delete, and similar functionality. + function deleteNearSelection(cm, compute) { + var ranges = cm.doc.sel.ranges, kill = []; + // Build up a set of ranges to kill first, merging overlapping + // ranges. + for (var i = 0; i < ranges.length; i++) { + var toKill = compute(ranges[i]); + while (kill.length && cmp(toKill.from, lst(kill).to) <= 0) { + var replaced = kill.pop(); + if (cmp(replaced.from, toKill.from) < 0) { + toKill.from = replaced.from; + break + } + } + kill.push(toKill); + } + // Next, remove those actual ranges. + runInOp(cm, function () { + for (var i = kill.length - 1; i >= 0; i--) + { replaceRange(cm.doc, "", kill[i].from, kill[i].to, "+delete"); } + ensureCursorVisible(cm); + }); + } + + function moveCharLogically(line, ch, dir) { + var target = skipExtendingChars(line.text, ch + dir, dir); + return target < 0 || target > line.text.length ? null : target + } + + function moveLogically(line, start, dir) { + var ch = moveCharLogically(line, start.ch, dir); + return ch == null ? null : new Pos(start.line, ch, dir < 0 ? "after" : "before") + } + + function endOfLine(visually, cm, lineObj, lineNo, dir) { + if (visually) { + if (cm.doc.direction == "rtl") { dir = -dir; } + var order = getOrder(lineObj, cm.doc.direction); + if (order) { + var part = dir < 0 ? lst(order) : order[0]; + var moveInStorageOrder = (dir < 0) == (part.level == 1); + var sticky = moveInStorageOrder ? "after" : "before"; + var ch; + // With a wrapped rtl chunk (possibly spanning multiple bidi parts), + // it could be that the last bidi part is not on the last visual line, + // since visual lines contain content order-consecutive chunks. + // Thus, in rtl, we are looking for the first (content-order) character + // in the rtl chunk that is on the last line (that is, the same line + // as the last (content-order) character). + if (part.level > 0 || cm.doc.direction == "rtl") { + var prep = prepareMeasureForLine(cm, lineObj); + ch = dir < 0 ? lineObj.text.length - 1 : 0; + var targetTop = measureCharPrepared(cm, prep, ch).top; + ch = findFirst(function (ch) { return measureCharPrepared(cm, prep, ch).top == targetTop; }, (dir < 0) == (part.level == 1) ? part.from : part.to - 1, ch); + if (sticky == "before") { ch = moveCharLogically(lineObj, ch, 1); } + } else { ch = dir < 0 ? part.to : part.from; } + return new Pos(lineNo, ch, sticky) + } + } + return new Pos(lineNo, dir < 0 ? lineObj.text.length : 0, dir < 0 ? "before" : "after") + } + + function moveVisually(cm, line, start, dir) { + var bidi = getOrder(line, cm.doc.direction); + if (!bidi) { return moveLogically(line, start, dir) } + if (start.ch >= line.text.length) { + start.ch = line.text.length; + start.sticky = "before"; + } else if (start.ch <= 0) { + start.ch = 0; + start.sticky = "after"; + } + var partPos = getBidiPartAt(bidi, start.ch, start.sticky), part = bidi[partPos]; + if (cm.doc.direction == "ltr" && part.level % 2 == 0 && (dir > 0 ? part.to > start.ch : part.from < start.ch)) { + // Case 1: We move within an ltr part in an ltr editor. Even with wrapped lines, + // nothing interesting happens. + return moveLogically(line, start, dir) + } + + var mv = function (pos, dir) { return moveCharLogically(line, pos instanceof Pos ? pos.ch : pos, dir); }; + var prep; + var getWrappedLineExtent = function (ch) { + if (!cm.options.lineWrapping) { return {begin: 0, end: line.text.length} } + prep = prep || prepareMeasureForLine(cm, line); + return wrappedLineExtentChar(cm, line, prep, ch) + }; + var wrappedLineExtent = getWrappedLineExtent(start.sticky == "before" ? mv(start, -1) : start.ch); + + if (cm.doc.direction == "rtl" || part.level == 1) { + var moveInStorageOrder = (part.level == 1) == (dir < 0); + var ch = mv(start, moveInStorageOrder ? 1 : -1); + if (ch != null && (!moveInStorageOrder ? ch >= part.from && ch >= wrappedLineExtent.begin : ch <= part.to && ch <= wrappedLineExtent.end)) { + // Case 2: We move within an rtl part or in an rtl editor on the same visual line + var sticky = moveInStorageOrder ? "before" : "after"; + return new Pos(start.line, ch, sticky) + } + } + + // Case 3: Could not move within this bidi part in this visual line, so leave + // the current bidi part + + var searchInVisualLine = function (partPos, dir, wrappedLineExtent) { + var getRes = function (ch, moveInStorageOrder) { return moveInStorageOrder + ? new Pos(start.line, mv(ch, 1), "before") + : new Pos(start.line, ch, "after"); }; + + for (; partPos >= 0 && partPos < bidi.length; partPos += dir) { + var part = bidi[partPos]; + var moveInStorageOrder = (dir > 0) == (part.level != 1); + var ch = moveInStorageOrder ? wrappedLineExtent.begin : mv(wrappedLineExtent.end, -1); + if (part.from <= ch && ch < part.to) { return getRes(ch, moveInStorageOrder) } + ch = moveInStorageOrder ? part.from : mv(part.to, -1); + if (wrappedLineExtent.begin <= ch && ch < wrappedLineExtent.end) { return getRes(ch, moveInStorageOrder) } + } + }; + + // Case 3a: Look for other bidi parts on the same visual line + var res = searchInVisualLine(partPos + dir, dir, wrappedLineExtent); + if (res) { return res } + + // Case 3b: Look for other bidi parts on the next visual line + var nextCh = dir > 0 ? wrappedLineExtent.end : mv(wrappedLineExtent.begin, -1); + if (nextCh != null && !(dir > 0 && nextCh == line.text.length)) { + res = searchInVisualLine(dir > 0 ? 0 : bidi.length - 1, dir, getWrappedLineExtent(nextCh)); + if (res) { return res } + } + + // Case 4: Nowhere to move + return null + } + + // Commands are parameter-less actions that can be performed on an + // editor, mostly used for keybindings. + var commands = { + selectAll: selectAll, + singleSelection: function (cm) { return cm.setSelection(cm.getCursor("anchor"), cm.getCursor("head"), sel_dontScroll); }, + killLine: function (cm) { return deleteNearSelection(cm, function (range) { + if (range.empty()) { + var len = getLine(cm.doc, range.head.line).text.length; + if (range.head.ch == len && range.head.line < cm.lastLine()) + { return {from: range.head, to: Pos(range.head.line + 1, 0)} } + else + { return {from: range.head, to: Pos(range.head.line, len)} } + } else { + return {from: range.from(), to: range.to()} + } + }); }, + deleteLine: function (cm) { return deleteNearSelection(cm, function (range) { return ({ + from: Pos(range.from().line, 0), + to: clipPos(cm.doc, Pos(range.to().line + 1, 0)) + }); }); }, + delLineLeft: function (cm) { return deleteNearSelection(cm, function (range) { return ({ + from: Pos(range.from().line, 0), to: range.from() + }); }); }, + delWrappedLineLeft: function (cm) { return deleteNearSelection(cm, function (range) { + var top = cm.charCoords(range.head, "div").top + 5; + var leftPos = cm.coordsChar({left: 0, top: top}, "div"); + return {from: leftPos, to: range.from()} + }); }, + delWrappedLineRight: function (cm) { return deleteNearSelection(cm, function (range) { + var top = cm.charCoords(range.head, "div").top + 5; + var rightPos = cm.coordsChar({left: cm.display.lineDiv.offsetWidth + 100, top: top}, "div"); + return {from: range.from(), to: rightPos } + }); }, + undo: function (cm) { return cm.undo(); }, + redo: function (cm) { return cm.redo(); }, + undoSelection: function (cm) { return cm.undoSelection(); }, + redoSelection: function (cm) { return cm.redoSelection(); }, + goDocStart: function (cm) { return cm.extendSelection(Pos(cm.firstLine(), 0)); }, + goDocEnd: function (cm) { return cm.extendSelection(Pos(cm.lastLine())); }, + goLineStart: function (cm) { return cm.extendSelectionsBy(function (range) { return lineStart(cm, range.head.line); }, + {origin: "+move", bias: 1} + ); }, + goLineStartSmart: function (cm) { return cm.extendSelectionsBy(function (range) { return lineStartSmart(cm, range.head); }, + {origin: "+move", bias: 1} + ); }, + goLineEnd: function (cm) { return cm.extendSelectionsBy(function (range) { return lineEnd(cm, range.head.line); }, + {origin: "+move", bias: -1} + ); }, + goLineRight: function (cm) { return cm.extendSelectionsBy(function (range) { + var top = cm.cursorCoords(range.head, "div").top + 5; + return cm.coordsChar({left: cm.display.lineDiv.offsetWidth + 100, top: top}, "div") + }, sel_move); }, + goLineLeft: function (cm) { return cm.extendSelectionsBy(function (range) { + var top = cm.cursorCoords(range.head, "div").top + 5; + return cm.coordsChar({left: 0, top: top}, "div") + }, sel_move); }, + goLineLeftSmart: function (cm) { return cm.extendSelectionsBy(function (range) { + var top = cm.cursorCoords(range.head, "div").top + 5; + var pos = cm.coordsChar({left: 0, top: top}, "div"); + if (pos.ch < cm.getLine(pos.line).search(/\S/)) { return lineStartSmart(cm, range.head) } + return pos + }, sel_move); }, + goLineUp: function (cm) { return cm.moveV(-1, "line"); }, + goLineDown: function (cm) { return cm.moveV(1, "line"); }, + goPageUp: function (cm) { return cm.moveV(-1, "page"); }, + goPageDown: function (cm) { return cm.moveV(1, "page"); }, + goCharLeft: function (cm) { return cm.moveH(-1, "char"); }, + goCharRight: function (cm) { return cm.moveH(1, "char"); }, + goColumnLeft: function (cm) { return cm.moveH(-1, "column"); }, + goColumnRight: function (cm) { return cm.moveH(1, "column"); }, + goWordLeft: function (cm) { return cm.moveH(-1, "word"); }, + goGroupRight: function (cm) { return cm.moveH(1, "group"); }, + goGroupLeft: function (cm) { return cm.moveH(-1, "group"); }, + goWordRight: function (cm) { return cm.moveH(1, "word"); }, + delCharBefore: function (cm) { return cm.deleteH(-1, "codepoint"); }, + delCharAfter: function (cm) { return cm.deleteH(1, "char"); }, + delWordBefore: function (cm) { return cm.deleteH(-1, "word"); }, + delWordAfter: function (cm) { return cm.deleteH(1, "word"); }, + delGroupBefore: function (cm) { return cm.deleteH(-1, "group"); }, + delGroupAfter: function (cm) { return cm.deleteH(1, "group"); }, + indentAuto: function (cm) { return cm.indentSelection("smart"); }, + indentMore: function (cm) { return cm.indentSelection("add"); }, + indentLess: function (cm) { return cm.indentSelection("subtract"); }, + insertTab: function (cm) { return cm.replaceSelection("\t"); }, + insertSoftTab: function (cm) { + var spaces = [], ranges = cm.listSelections(), tabSize = cm.options.tabSize; + for (var i = 0; i < ranges.length; i++) { + var pos = ranges[i].from(); + var col = countColumn(cm.getLine(pos.line), pos.ch, tabSize); + spaces.push(spaceStr(tabSize - col % tabSize)); + } + cm.replaceSelections(spaces); + }, + defaultTab: function (cm) { + if (cm.somethingSelected()) { cm.indentSelection("add"); } + else { cm.execCommand("insertTab"); } + }, + // Swap the two chars left and right of each selection's head. + // Move cursor behind the two swapped characters afterwards. + // + // Doesn't consider line feeds a character. + // Doesn't scan more than one line above to find a character. + // Doesn't do anything on an empty line. + // Doesn't do anything with non-empty selections. + transposeChars: function (cm) { return runInOp(cm, function () { + var ranges = cm.listSelections(), newSel = []; + for (var i = 0; i < ranges.length; i++) { + if (!ranges[i].empty()) { continue } + var cur = ranges[i].head, line = getLine(cm.doc, cur.line).text; + if (line) { + if (cur.ch == line.length) { cur = new Pos(cur.line, cur.ch - 1); } + if (cur.ch > 0) { + cur = new Pos(cur.line, cur.ch + 1); + cm.replaceRange(line.charAt(cur.ch - 1) + line.charAt(cur.ch - 2), + Pos(cur.line, cur.ch - 2), cur, "+transpose"); + } else if (cur.line > cm.doc.first) { + var prev = getLine(cm.doc, cur.line - 1).text; + if (prev) { + cur = new Pos(cur.line, 1); + cm.replaceRange(line.charAt(0) + cm.doc.lineSeparator() + + prev.charAt(prev.length - 1), + Pos(cur.line - 1, prev.length - 1), cur, "+transpose"); + } + } + } + newSel.push(new Range(cur, cur)); + } + cm.setSelections(newSel); + }); }, + newlineAndIndent: function (cm) { return runInOp(cm, function () { + var sels = cm.listSelections(); + for (var i = sels.length - 1; i >= 0; i--) + { cm.replaceRange(cm.doc.lineSeparator(), sels[i].anchor, sels[i].head, "+input"); } + sels = cm.listSelections(); + for (var i$1 = 0; i$1 < sels.length; i$1++) + { cm.indentLine(sels[i$1].from().line, null, true); } + ensureCursorVisible(cm); + }); }, + openLine: function (cm) { return cm.replaceSelection("\n", "start"); }, + toggleOverwrite: function (cm) { return cm.toggleOverwrite(); } + }; + + + function lineStart(cm, lineN) { + var line = getLine(cm.doc, lineN); + var visual = visualLine(line); + if (visual != line) { lineN = lineNo(visual); } + return endOfLine(true, cm, visual, lineN, 1) + } + function lineEnd(cm, lineN) { + var line = getLine(cm.doc, lineN); + var visual = visualLineEnd(line); + if (visual != line) { lineN = lineNo(visual); } + return endOfLine(true, cm, line, lineN, -1) + } + function lineStartSmart(cm, pos) { + var start = lineStart(cm, pos.line); + var line = getLine(cm.doc, start.line); + var order = getOrder(line, cm.doc.direction); + if (!order || order[0].level == 0) { + var firstNonWS = Math.max(start.ch, line.text.search(/\S/)); + var inWS = pos.line == start.line && pos.ch <= firstNonWS && pos.ch; + return Pos(start.line, inWS ? 0 : firstNonWS, start.sticky) + } + return start + } + + // Run a handler that was bound to a key. + function doHandleBinding(cm, bound, dropShift) { + if (typeof bound == "string") { + bound = commands[bound]; + if (!bound) { return false } + } + // Ensure previous input has been read, so that the handler sees a + // consistent view of the document + cm.display.input.ensurePolled(); + var prevShift = cm.display.shift, done = false; + try { + if (cm.isReadOnly()) { cm.state.suppressEdits = true; } + if (dropShift) { cm.display.shift = false; } + done = bound(cm) != Pass; + } finally { + cm.display.shift = prevShift; + cm.state.suppressEdits = false; + } + return done + } + + function lookupKeyForEditor(cm, name, handle) { + for (var i = 0; i < cm.state.keyMaps.length; i++) { + var result = lookupKey(name, cm.state.keyMaps[i], handle, cm); + if (result) { return result } + } + return (cm.options.extraKeys && lookupKey(name, cm.options.extraKeys, handle, cm)) + || lookupKey(name, cm.options.keyMap, handle, cm) + } + + // Note that, despite the name, this function is also used to check + // for bound mouse clicks. + + var stopSeq = new Delayed; + + function dispatchKey(cm, name, e, handle) { + var seq = cm.state.keySeq; + if (seq) { + if (isModifierKey(name)) { return "handled" } + if (/\'$/.test(name)) + { cm.state.keySeq = null; } + else + { stopSeq.set(50, function () { + if (cm.state.keySeq == seq) { + cm.state.keySeq = null; + cm.display.input.reset(); + } + }); } + if (dispatchKeyInner(cm, seq + " " + name, e, handle)) { return true } + } + return dispatchKeyInner(cm, name, e, handle) + } + + function dispatchKeyInner(cm, name, e, handle) { + var result = lookupKeyForEditor(cm, name, handle); + + if (result == "multi") + { cm.state.keySeq = name; } + if (result == "handled") + { signalLater(cm, "keyHandled", cm, name, e); } + + if (result == "handled" || result == "multi") { + e_preventDefault(e); + restartBlink(cm); + } + + return !!result + } + + // Handle a key from the keydown event. + function handleKeyBinding(cm, e) { + var name = keyName(e, true); + if (!name) { return false } + + if (e.shiftKey && !cm.state.keySeq) { + // First try to resolve full name (including 'Shift-'). Failing + // that, see if there is a cursor-motion command (starting with + // 'go') bound to the keyname without 'Shift-'. + return dispatchKey(cm, "Shift-" + name, e, function (b) { return doHandleBinding(cm, b, true); }) + || dispatchKey(cm, name, e, function (b) { + if (typeof b == "string" ? /^go[A-Z]/.test(b) : b.motion) + { return doHandleBinding(cm, b) } + }) + } else { + return dispatchKey(cm, name, e, function (b) { return doHandleBinding(cm, b); }) + } + } + + // Handle a key from the keypress event + function handleCharBinding(cm, e, ch) { + return dispatchKey(cm, "'" + ch + "'", e, function (b) { return doHandleBinding(cm, b, true); }) + } + + var lastStoppedKey = null; + function onKeyDown(e) { + var cm = this; + if (e.target && e.target != cm.display.input.getField()) { return } + cm.curOp.focus = activeElt(root(cm)); + if (signalDOMEvent(cm, e)) { return } + // IE does strange things with escape. + if (ie && ie_version < 11 && e.keyCode == 27) { e.returnValue = false; } + var code = e.keyCode; + cm.display.shift = code == 16 || e.shiftKey; + var handled = handleKeyBinding(cm, e); + if (presto) { + lastStoppedKey = handled ? code : null; + // Opera has no cut event... we try to at least catch the key combo + if (!handled && code == 88 && !hasCopyEvent && (mac ? e.metaKey : e.ctrlKey)) + { cm.replaceSelection("", null, "cut"); } + } + if (gecko && !mac && !handled && code == 46 && e.shiftKey && !e.ctrlKey && document.execCommand) + { document.execCommand("cut"); } + + // Turn mouse into crosshair when Alt is held on Mac. + if (code == 18 && !/\bCodeMirror-crosshair\b/.test(cm.display.lineDiv.className)) + { showCrossHair(cm); } + } + + function showCrossHair(cm) { + var lineDiv = cm.display.lineDiv; + addClass(lineDiv, "CodeMirror-crosshair"); + + function up(e) { + if (e.keyCode == 18 || !e.altKey) { + rmClass(lineDiv, "CodeMirror-crosshair"); + off(document, "keyup", up); + off(document, "mouseover", up); + } + } + on(document, "keyup", up); + on(document, "mouseover", up); + } + + function onKeyUp(e) { + if (e.keyCode == 16) { this.doc.sel.shift = false; } + signalDOMEvent(this, e); + } + + function onKeyPress(e) { + var cm = this; + if (e.target && e.target != cm.display.input.getField()) { return } + if (eventInWidget(cm.display, e) || signalDOMEvent(cm, e) || e.ctrlKey && !e.altKey || mac && e.metaKey) { return } + var keyCode = e.keyCode, charCode = e.charCode; + if (presto && keyCode == lastStoppedKey) {lastStoppedKey = null; e_preventDefault(e); return} + if ((presto && (!e.which || e.which < 10)) && handleKeyBinding(cm, e)) { return } + var ch = String.fromCharCode(charCode == null ? keyCode : charCode); + // Some browsers fire keypress events for backspace + if (ch == "\x08") { return } + if (handleCharBinding(cm, e, ch)) { return } + cm.display.input.onKeyPress(e); + } + + var DOUBLECLICK_DELAY = 400; + + var PastClick = function(time, pos, button) { + this.time = time; + this.pos = pos; + this.button = button; + }; + + PastClick.prototype.compare = function (time, pos, button) { + return this.time + DOUBLECLICK_DELAY > time && + cmp(pos, this.pos) == 0 && button == this.button + }; + + var lastClick, lastDoubleClick; + function clickRepeat(pos, button) { + var now = +new Date; + if (lastDoubleClick && lastDoubleClick.compare(now, pos, button)) { + lastClick = lastDoubleClick = null; + return "triple" + } else if (lastClick && lastClick.compare(now, pos, button)) { + lastDoubleClick = new PastClick(now, pos, button); + lastClick = null; + return "double" + } else { + lastClick = new PastClick(now, pos, button); + lastDoubleClick = null; + return "single" + } + } + + // A mouse down can be a single click, double click, triple click, + // start of selection drag, start of text drag, new cursor + // (ctrl-click), rectangle drag (alt-drag), or xwin + // middle-click-paste. Or it might be a click on something we should + // not interfere with, such as a scrollbar or widget. + function onMouseDown(e) { + var cm = this, display = cm.display; + if (signalDOMEvent(cm, e) || display.activeTouch && display.input.supportsTouch()) { return } + display.input.ensurePolled(); + display.shift = e.shiftKey; + + if (eventInWidget(display, e)) { + if (!webkit) { + // Briefly turn off draggability, to allow widgets to do + // normal dragging things. + display.scroller.draggable = false; + setTimeout(function () { return display.scroller.draggable = true; }, 100); + } + return + } + if (clickInGutter(cm, e)) { return } + var pos = posFromMouse(cm, e), button = e_button(e), repeat = pos ? clickRepeat(pos, button) : "single"; + win(cm).focus(); + + // #3261: make sure, that we're not starting a second selection + if (button == 1 && cm.state.selectingText) + { cm.state.selectingText(e); } + + if (pos && handleMappedButton(cm, button, pos, repeat, e)) { return } + + if (button == 1) { + if (pos) { leftButtonDown(cm, pos, repeat, e); } + else if (e_target(e) == display.scroller) { e_preventDefault(e); } + } else if (button == 2) { + if (pos) { extendSelection(cm.doc, pos); } + setTimeout(function () { return display.input.focus(); }, 20); + } else if (button == 3) { + if (captureRightClick) { cm.display.input.onContextMenu(e); } + else { delayBlurEvent(cm); } + } + } + + function handleMappedButton(cm, button, pos, repeat, event) { + var name = "Click"; + if (repeat == "double") { name = "Double" + name; } + else if (repeat == "triple") { name = "Triple" + name; } + name = (button == 1 ? "Left" : button == 2 ? "Middle" : "Right") + name; + + return dispatchKey(cm, addModifierNames(name, event), event, function (bound) { + if (typeof bound == "string") { bound = commands[bound]; } + if (!bound) { return false } + var done = false; + try { + if (cm.isReadOnly()) { cm.state.suppressEdits = true; } + done = bound(cm, pos) != Pass; + } finally { + cm.state.suppressEdits = false; + } + return done + }) + } + + function configureMouse(cm, repeat, event) { + var option = cm.getOption("configureMouse"); + var value = option ? option(cm, repeat, event) : {}; + if (value.unit == null) { + var rect = chromeOS ? event.shiftKey && event.metaKey : event.altKey; + value.unit = rect ? "rectangle" : repeat == "single" ? "char" : repeat == "double" ? "word" : "line"; + } + if (value.extend == null || cm.doc.extend) { value.extend = cm.doc.extend || event.shiftKey; } + if (value.addNew == null) { value.addNew = mac ? event.metaKey : event.ctrlKey; } + if (value.moveOnDrag == null) { value.moveOnDrag = !(mac ? event.altKey : event.ctrlKey); } + return value + } + + function leftButtonDown(cm, pos, repeat, event) { + if (ie) { setTimeout(bind(ensureFocus, cm), 0); } + else { cm.curOp.focus = activeElt(root(cm)); } + + var behavior = configureMouse(cm, repeat, event); + + var sel = cm.doc.sel, contained; + if (cm.options.dragDrop && dragAndDrop && !cm.isReadOnly() && + repeat == "single" && (contained = sel.contains(pos)) > -1 && + (cmp((contained = sel.ranges[contained]).from(), pos) < 0 || pos.xRel > 0) && + (cmp(contained.to(), pos) > 0 || pos.xRel < 0)) + { leftButtonStartDrag(cm, event, pos, behavior); } + else + { leftButtonSelect(cm, event, pos, behavior); } + } + + // Start a text drag. When it ends, see if any dragging actually + // happen, and treat as a click if it didn't. + function leftButtonStartDrag(cm, event, pos, behavior) { + var display = cm.display, moved = false; + var dragEnd = operation(cm, function (e) { + if (webkit) { display.scroller.draggable = false; } + cm.state.draggingText = false; + if (cm.state.delayingBlurEvent) { + if (cm.hasFocus()) { cm.state.delayingBlurEvent = false; } + else { delayBlurEvent(cm); } + } + off(display.wrapper.ownerDocument, "mouseup", dragEnd); + off(display.wrapper.ownerDocument, "mousemove", mouseMove); + off(display.scroller, "dragstart", dragStart); + off(display.scroller, "drop", dragEnd); + if (!moved) { + e_preventDefault(e); + if (!behavior.addNew) + { extendSelection(cm.doc, pos, null, null, behavior.extend); } + // Work around unexplainable focus problem in IE9 (#2127) and Chrome (#3081) + if ((webkit && !safari) || ie && ie_version == 9) + { setTimeout(function () {display.wrapper.ownerDocument.body.focus({preventScroll: true}); display.input.focus();}, 20); } + else + { display.input.focus(); } + } + }); + var mouseMove = function(e2) { + moved = moved || Math.abs(event.clientX - e2.clientX) + Math.abs(event.clientY - e2.clientY) >= 10; + }; + var dragStart = function () { return moved = true; }; + // Let the drag handler handle this. + if (webkit) { display.scroller.draggable = true; } + cm.state.draggingText = dragEnd; + dragEnd.copy = !behavior.moveOnDrag; + on(display.wrapper.ownerDocument, "mouseup", dragEnd); + on(display.wrapper.ownerDocument, "mousemove", mouseMove); + on(display.scroller, "dragstart", dragStart); + on(display.scroller, "drop", dragEnd); + + cm.state.delayingBlurEvent = true; + setTimeout(function () { return display.input.focus(); }, 20); + // IE's approach to draggable + if (display.scroller.dragDrop) { display.scroller.dragDrop(); } + } + + function rangeForUnit(cm, pos, unit) { + if (unit == "char") { return new Range(pos, pos) } + if (unit == "word") { return cm.findWordAt(pos) } + if (unit == "line") { return new Range(Pos(pos.line, 0), clipPos(cm.doc, Pos(pos.line + 1, 0))) } + var result = unit(cm, pos); + return new Range(result.from, result.to) + } + + // Normal selection, as opposed to text dragging. + function leftButtonSelect(cm, event, start, behavior) { + if (ie) { delayBlurEvent(cm); } + var display = cm.display, doc = cm.doc; + e_preventDefault(event); + + var ourRange, ourIndex, startSel = doc.sel, ranges = startSel.ranges; + if (behavior.addNew && !behavior.extend) { + ourIndex = doc.sel.contains(start); + if (ourIndex > -1) + { ourRange = ranges[ourIndex]; } + else + { ourRange = new Range(start, start); } + } else { + ourRange = doc.sel.primary(); + ourIndex = doc.sel.primIndex; + } + + if (behavior.unit == "rectangle") { + if (!behavior.addNew) { ourRange = new Range(start, start); } + start = posFromMouse(cm, event, true, true); + ourIndex = -1; + } else { + var range = rangeForUnit(cm, start, behavior.unit); + if (behavior.extend) + { ourRange = extendRange(ourRange, range.anchor, range.head, behavior.extend); } + else + { ourRange = range; } + } + + if (!behavior.addNew) { + ourIndex = 0; + setSelection(doc, new Selection([ourRange], 0), sel_mouse); + startSel = doc.sel; + } else if (ourIndex == -1) { + ourIndex = ranges.length; + setSelection(doc, normalizeSelection(cm, ranges.concat([ourRange]), ourIndex), + {scroll: false, origin: "*mouse"}); + } else if (ranges.length > 1 && ranges[ourIndex].empty() && behavior.unit == "char" && !behavior.extend) { + setSelection(doc, normalizeSelection(cm, ranges.slice(0, ourIndex).concat(ranges.slice(ourIndex + 1)), 0), + {scroll: false, origin: "*mouse"}); + startSel = doc.sel; + } else { + replaceOneSelection(doc, ourIndex, ourRange, sel_mouse); + } + + var lastPos = start; + function extendTo(pos) { + if (cmp(lastPos, pos) == 0) { return } + lastPos = pos; + + if (behavior.unit == "rectangle") { + var ranges = [], tabSize = cm.options.tabSize; + var startCol = countColumn(getLine(doc, start.line).text, start.ch, tabSize); + var posCol = countColumn(getLine(doc, pos.line).text, pos.ch, tabSize); + var left = Math.min(startCol, posCol), right = Math.max(startCol, posCol); + for (var line = Math.min(start.line, pos.line), end = Math.min(cm.lastLine(), Math.max(start.line, pos.line)); + line <= end; line++) { + var text = getLine(doc, line).text, leftPos = findColumn(text, left, tabSize); + if (left == right) + { ranges.push(new Range(Pos(line, leftPos), Pos(line, leftPos))); } + else if (text.length > leftPos) + { ranges.push(new Range(Pos(line, leftPos), Pos(line, findColumn(text, right, tabSize)))); } + } + if (!ranges.length) { ranges.push(new Range(start, start)); } + setSelection(doc, normalizeSelection(cm, startSel.ranges.slice(0, ourIndex).concat(ranges), ourIndex), + {origin: "*mouse", scroll: false}); + cm.scrollIntoView(pos); + } else { + var oldRange = ourRange; + var range = rangeForUnit(cm, pos, behavior.unit); + var anchor = oldRange.anchor, head; + if (cmp(range.anchor, anchor) > 0) { + head = range.head; + anchor = minPos(oldRange.from(), range.anchor); + } else { + head = range.anchor; + anchor = maxPos(oldRange.to(), range.head); + } + var ranges$1 = startSel.ranges.slice(0); + ranges$1[ourIndex] = bidiSimplify(cm, new Range(clipPos(doc, anchor), head)); + setSelection(doc, normalizeSelection(cm, ranges$1, ourIndex), sel_mouse); + } + } + + var editorSize = display.wrapper.getBoundingClientRect(); + // Used to ensure timeout re-tries don't fire when another extend + // happened in the meantime (clearTimeout isn't reliable -- at + // least on Chrome, the timeouts still happen even when cleared, + // if the clear happens after their scheduled firing time). + var counter = 0; + + function extend(e) { + var curCount = ++counter; + var cur = posFromMouse(cm, e, true, behavior.unit == "rectangle"); + if (!cur) { return } + if (cmp(cur, lastPos) != 0) { + cm.curOp.focus = activeElt(root(cm)); + extendTo(cur); + var visible = visibleLines(display, doc); + if (cur.line >= visible.to || cur.line < visible.from) + { setTimeout(operation(cm, function () {if (counter == curCount) { extend(e); }}), 150); } + } else { + var outside = e.clientY < editorSize.top ? -20 : e.clientY > editorSize.bottom ? 20 : 0; + if (outside) { setTimeout(operation(cm, function () { + if (counter != curCount) { return } + display.scroller.scrollTop += outside; + extend(e); + }), 50); } + } + } + + function done(e) { + cm.state.selectingText = false; + counter = Infinity; + // If e is null or undefined we interpret this as someone trying + // to explicitly cancel the selection rather than the user + // letting go of the mouse button. + if (e) { + e_preventDefault(e); + display.input.focus(); + } + off(display.wrapper.ownerDocument, "mousemove", move); + off(display.wrapper.ownerDocument, "mouseup", up); + doc.history.lastSelOrigin = null; + } + + var move = operation(cm, function (e) { + if (e.buttons === 0 || !e_button(e)) { done(e); } + else { extend(e); } + }); + var up = operation(cm, done); + cm.state.selectingText = up; + on(display.wrapper.ownerDocument, "mousemove", move); + on(display.wrapper.ownerDocument, "mouseup", up); + } + + // Used when mouse-selecting to adjust the anchor to the proper side + // of a bidi jump depending on the visual position of the head. + function bidiSimplify(cm, range) { + var anchor = range.anchor; + var head = range.head; + var anchorLine = getLine(cm.doc, anchor.line); + if (cmp(anchor, head) == 0 && anchor.sticky == head.sticky) { return range } + var order = getOrder(anchorLine); + if (!order) { return range } + var index = getBidiPartAt(order, anchor.ch, anchor.sticky), part = order[index]; + if (part.from != anchor.ch && part.to != anchor.ch) { return range } + var boundary = index + ((part.from == anchor.ch) == (part.level != 1) ? 0 : 1); + if (boundary == 0 || boundary == order.length) { return range } + + // Compute the relative visual position of the head compared to the + // anchor (<0 is to the left, >0 to the right) + var leftSide; + if (head.line != anchor.line) { + leftSide = (head.line - anchor.line) * (cm.doc.direction == "ltr" ? 1 : -1) > 0; + } else { + var headIndex = getBidiPartAt(order, head.ch, head.sticky); + var dir = headIndex - index || (head.ch - anchor.ch) * (part.level == 1 ? -1 : 1); + if (headIndex == boundary - 1 || headIndex == boundary) + { leftSide = dir < 0; } + else + { leftSide = dir > 0; } + } + + var usePart = order[boundary + (leftSide ? -1 : 0)]; + var from = leftSide == (usePart.level == 1); + var ch = from ? usePart.from : usePart.to, sticky = from ? "after" : "before"; + return anchor.ch == ch && anchor.sticky == sticky ? range : new Range(new Pos(anchor.line, ch, sticky), head) + } + + + // Determines whether an event happened in the gutter, and fires the + // handlers for the corresponding event. + function gutterEvent(cm, e, type, prevent) { + var mX, mY; + if (e.touches) { + mX = e.touches[0].clientX; + mY = e.touches[0].clientY; + } else { + try { mX = e.clientX; mY = e.clientY; } + catch(e$1) { return false } + } + if (mX >= Math.floor(cm.display.gutters.getBoundingClientRect().right)) { return false } + if (prevent) { e_preventDefault(e); } + + var display = cm.display; + var lineBox = display.lineDiv.getBoundingClientRect(); + + if (mY > lineBox.bottom || !hasHandler(cm, type)) { return e_defaultPrevented(e) } + mY -= lineBox.top - display.viewOffset; + + for (var i = 0; i < cm.display.gutterSpecs.length; ++i) { + var g = display.gutters.childNodes[i]; + if (g && g.getBoundingClientRect().right >= mX) { + var line = lineAtHeight(cm.doc, mY); + var gutter = cm.display.gutterSpecs[i]; + signal(cm, type, cm, line, gutter.className, e); + return e_defaultPrevented(e) + } + } + } + + function clickInGutter(cm, e) { + return gutterEvent(cm, e, "gutterClick", true) + } + + // CONTEXT MENU HANDLING + + // To make the context menu work, we need to briefly unhide the + // textarea (making it as unobtrusive as possible) to let the + // right-click take effect on it. + function onContextMenu(cm, e) { + if (eventInWidget(cm.display, e) || contextMenuInGutter(cm, e)) { return } + if (signalDOMEvent(cm, e, "contextmenu")) { return } + if (!captureRightClick) { cm.display.input.onContextMenu(e); } + } + + function contextMenuInGutter(cm, e) { + if (!hasHandler(cm, "gutterContextMenu")) { return false } + return gutterEvent(cm, e, "gutterContextMenu", false) + } + + function themeChanged(cm) { + cm.display.wrapper.className = cm.display.wrapper.className.replace(/\s*cm-s-\S+/g, "") + + cm.options.theme.replace(/(^|\s)\s*/g, " cm-s-"); + clearCaches(cm); + } + + var Init = {toString: function(){return "CodeMirror.Init"}}; + + var defaults = {}; + var optionHandlers = {}; + + function defineOptions(CodeMirror) { + var optionHandlers = CodeMirror.optionHandlers; + + function option(name, deflt, handle, notOnInit) { + CodeMirror.defaults[name] = deflt; + if (handle) { optionHandlers[name] = + notOnInit ? function (cm, val, old) {if (old != Init) { handle(cm, val, old); }} : handle; } + } + + CodeMirror.defineOption = option; + + // Passed to option handlers when there is no old value. + CodeMirror.Init = Init; + + // These two are, on init, called from the constructor because they + // have to be initialized before the editor can start at all. + option("value", "", function (cm, val) { return cm.setValue(val); }, true); + option("mode", null, function (cm, val) { + cm.doc.modeOption = val; + loadMode(cm); + }, true); + + option("indentUnit", 2, loadMode, true); + option("indentWithTabs", false); + option("smartIndent", true); + option("tabSize", 4, function (cm) { + resetModeState(cm); + clearCaches(cm); + regChange(cm); + }, true); + + option("lineSeparator", null, function (cm, val) { + cm.doc.lineSep = val; + if (!val) { return } + var newBreaks = [], lineNo = cm.doc.first; + cm.doc.iter(function (line) { + for (var pos = 0;;) { + var found = line.text.indexOf(val, pos); + if (found == -1) { break } + pos = found + val.length; + newBreaks.push(Pos(lineNo, found)); + } + lineNo++; + }); + for (var i = newBreaks.length - 1; i >= 0; i--) + { replaceRange(cm.doc, val, newBreaks[i], Pos(newBreaks[i].line, newBreaks[i].ch + val.length)); } + }); + option("specialChars", /[\u0000-\u001f\u007f-\u009f\u00ad\u061c\u200b\u200e\u200f\u2028\u2029\u202d\u202e\u2066\u2067\u2069\ufeff\ufff9-\ufffc]/g, function (cm, val, old) { + cm.state.specialChars = new RegExp(val.source + (val.test("\t") ? "" : "|\t"), "g"); + if (old != Init) { cm.refresh(); } + }); + option("specialCharPlaceholder", defaultSpecialCharPlaceholder, function (cm) { return cm.refresh(); }, true); + option("electricChars", true); + option("inputStyle", mobile ? "contenteditable" : "textarea", function () { + throw new Error("inputStyle can not (yet) be changed in a running editor") // FIXME + }, true); + option("spellcheck", false, function (cm, val) { return cm.getInputField().spellcheck = val; }, true); + option("autocorrect", false, function (cm, val) { return cm.getInputField().autocorrect = val; }, true); + option("autocapitalize", false, function (cm, val) { return cm.getInputField().autocapitalize = val; }, true); + option("rtlMoveVisually", !windows); + option("wholeLineUpdateBefore", true); + + option("theme", "default", function (cm) { + themeChanged(cm); + updateGutters(cm); + }, true); + option("keyMap", "default", function (cm, val, old) { + var next = getKeyMap(val); + var prev = old != Init && getKeyMap(old); + if (prev && prev.detach) { prev.detach(cm, next); } + if (next.attach) { next.attach(cm, prev || null); } + }); + option("extraKeys", null); + option("configureMouse", null); + + option("lineWrapping", false, wrappingChanged, true); + option("gutters", [], function (cm, val) { + cm.display.gutterSpecs = getGutters(val, cm.options.lineNumbers); + updateGutters(cm); + }, true); + option("fixedGutter", true, function (cm, val) { + cm.display.gutters.style.left = val ? compensateForHScroll(cm.display) + "px" : "0"; + cm.refresh(); + }, true); + option("coverGutterNextToScrollbar", false, function (cm) { return updateScrollbars(cm); }, true); + option("scrollbarStyle", "native", function (cm) { + initScrollbars(cm); + updateScrollbars(cm); + cm.display.scrollbars.setScrollTop(cm.doc.scrollTop); + cm.display.scrollbars.setScrollLeft(cm.doc.scrollLeft); + }, true); + option("lineNumbers", false, function (cm, val) { + cm.display.gutterSpecs = getGutters(cm.options.gutters, val); + updateGutters(cm); + }, true); + option("firstLineNumber", 1, updateGutters, true); + option("lineNumberFormatter", function (integer) { return integer; }, updateGutters, true); + option("showCursorWhenSelecting", false, updateSelection, true); + + option("resetSelectionOnContextMenu", true); + option("lineWiseCopyCut", true); + option("pasteLinesPerSelection", true); + option("selectionsMayTouch", false); + + option("readOnly", false, function (cm, val) { + if (val == "nocursor") { + onBlur(cm); + cm.display.input.blur(); + } + cm.display.input.readOnlyChanged(val); + }); + + option("screenReaderLabel", null, function (cm, val) { + val = (val === '') ? null : val; + cm.display.input.screenReaderLabelChanged(val); + }); + + option("disableInput", false, function (cm, val) {if (!val) { cm.display.input.reset(); }}, true); + option("dragDrop", true, dragDropChanged); + option("allowDropFileTypes", null); + + option("cursorBlinkRate", 530); + option("cursorScrollMargin", 0); + option("cursorHeight", 1, updateSelection, true); + option("singleCursorHeightPerLine", true, updateSelection, true); + option("workTime", 100); + option("workDelay", 100); + option("flattenSpans", true, resetModeState, true); + option("addModeClass", false, resetModeState, true); + option("pollInterval", 100); + option("undoDepth", 200, function (cm, val) { return cm.doc.history.undoDepth = val; }); + option("historyEventDelay", 1250); + option("viewportMargin", 10, function (cm) { return cm.refresh(); }, true); + option("maxHighlightLength", 10000, resetModeState, true); + option("moveInputWithCursor", true, function (cm, val) { + if (!val) { cm.display.input.resetPosition(); } + }); + + option("tabindex", null, function (cm, val) { return cm.display.input.getField().tabIndex = val || ""; }); + option("autofocus", null); + option("direction", "ltr", function (cm, val) { return cm.doc.setDirection(val); }, true); + option("phrases", null); + } + + function dragDropChanged(cm, value, old) { + var wasOn = old && old != Init; + if (!value != !wasOn) { + var funcs = cm.display.dragFunctions; + var toggle = value ? on : off; + toggle(cm.display.scroller, "dragstart", funcs.start); + toggle(cm.display.scroller, "dragenter", funcs.enter); + toggle(cm.display.scroller, "dragover", funcs.over); + toggle(cm.display.scroller, "dragleave", funcs.leave); + toggle(cm.display.scroller, "drop", funcs.drop); + } + } + + function wrappingChanged(cm) { + if (cm.options.lineWrapping) { + addClass(cm.display.wrapper, "CodeMirror-wrap"); + cm.display.sizer.style.minWidth = ""; + cm.display.sizerWidth = null; + } else { + rmClass(cm.display.wrapper, "CodeMirror-wrap"); + findMaxLine(cm); + } + estimateLineHeights(cm); + regChange(cm); + clearCaches(cm); + setTimeout(function () { return updateScrollbars(cm); }, 100); + } + + // A CodeMirror instance represents an editor. This is the object + // that user code is usually dealing with. + + function CodeMirror(place, options) { + var this$1 = this; + + if (!(this instanceof CodeMirror)) { return new CodeMirror(place, options) } + + this.options = options = options ? copyObj(options) : {}; + // Determine effective options based on given values and defaults. + copyObj(defaults, options, false); + + var doc = options.value; + if (typeof doc == "string") { doc = new Doc(doc, options.mode, null, options.lineSeparator, options.direction); } + else if (options.mode) { doc.modeOption = options.mode; } + this.doc = doc; + + var input = new CodeMirror.inputStyles[options.inputStyle](this); + var display = this.display = new Display(place, doc, input, options); + display.wrapper.CodeMirror = this; + themeChanged(this); + if (options.lineWrapping) + { this.display.wrapper.className += " CodeMirror-wrap"; } + initScrollbars(this); + + this.state = { + keyMaps: [], // stores maps added by addKeyMap + overlays: [], // highlighting overlays, as added by addOverlay + modeGen: 0, // bumped when mode/overlay changes, used to invalidate highlighting info + overwrite: false, + delayingBlurEvent: false, + focused: false, + suppressEdits: false, // used to disable editing during key handlers when in readOnly mode + pasteIncoming: -1, cutIncoming: -1, // help recognize paste/cut edits in input.poll + selectingText: false, + draggingText: false, + highlight: new Delayed(), // stores highlight worker timeout + keySeq: null, // Unfinished key sequence + specialChars: null + }; + + if (options.autofocus && !mobile) { display.input.focus(); } + + // Override magic textarea content restore that IE sometimes does + // on our hidden textarea on reload + if (ie && ie_version < 11) { setTimeout(function () { return this$1.display.input.reset(true); }, 20); } + + registerEventHandlers(this); + ensureGlobalHandlers(); + + startOperation(this); + this.curOp.forceUpdate = true; + attachDoc(this, doc); + + if ((options.autofocus && !mobile) || this.hasFocus()) + { setTimeout(function () { + if (this$1.hasFocus() && !this$1.state.focused) { onFocus(this$1); } + }, 20); } + else + { onBlur(this); } + + for (var opt in optionHandlers) { if (optionHandlers.hasOwnProperty(opt)) + { optionHandlers[opt](this, options[opt], Init); } } + maybeUpdateLineNumberWidth(this); + if (options.finishInit) { options.finishInit(this); } + for (var i = 0; i < initHooks.length; ++i) { initHooks[i](this); } + endOperation(this); + // Suppress optimizelegibility in Webkit, since it breaks text + // measuring on line wrapping boundaries. + if (webkit && options.lineWrapping && + getComputedStyle(display.lineDiv).textRendering == "optimizelegibility") + { display.lineDiv.style.textRendering = "auto"; } + } + + // The default configuration options. + CodeMirror.defaults = defaults; + // Functions to run when options are changed. + CodeMirror.optionHandlers = optionHandlers; + + // Attach the necessary event handlers when initializing the editor + function registerEventHandlers(cm) { + var d = cm.display; + on(d.scroller, "mousedown", operation(cm, onMouseDown)); + // Older IE's will not fire a second mousedown for a double click + if (ie && ie_version < 11) + { on(d.scroller, "dblclick", operation(cm, function (e) { + if (signalDOMEvent(cm, e)) { return } + var pos = posFromMouse(cm, e); + if (!pos || clickInGutter(cm, e) || eventInWidget(cm.display, e)) { return } + e_preventDefault(e); + var word = cm.findWordAt(pos); + extendSelection(cm.doc, word.anchor, word.head); + })); } + else + { on(d.scroller, "dblclick", function (e) { return signalDOMEvent(cm, e) || e_preventDefault(e); }); } + // Some browsers fire contextmenu *after* opening the menu, at + // which point we can't mess with it anymore. Context menu is + // handled in onMouseDown for these browsers. + on(d.scroller, "contextmenu", function (e) { return onContextMenu(cm, e); }); + on(d.input.getField(), "contextmenu", function (e) { + if (!d.scroller.contains(e.target)) { onContextMenu(cm, e); } + }); + + // Used to suppress mouse event handling when a touch happens + var touchFinished, prevTouch = {end: 0}; + function finishTouch() { + if (d.activeTouch) { + touchFinished = setTimeout(function () { return d.activeTouch = null; }, 1000); + prevTouch = d.activeTouch; + prevTouch.end = +new Date; + } + } + function isMouseLikeTouchEvent(e) { + if (e.touches.length != 1) { return false } + var touch = e.touches[0]; + return touch.radiusX <= 1 && touch.radiusY <= 1 + } + function farAway(touch, other) { + if (other.left == null) { return true } + var dx = other.left - touch.left, dy = other.top - touch.top; + return dx * dx + dy * dy > 20 * 20 + } + on(d.scroller, "touchstart", function (e) { + if (!signalDOMEvent(cm, e) && !isMouseLikeTouchEvent(e) && !clickInGutter(cm, e)) { + d.input.ensurePolled(); + clearTimeout(touchFinished); + var now = +new Date; + d.activeTouch = {start: now, moved: false, + prev: now - prevTouch.end <= 300 ? prevTouch : null}; + if (e.touches.length == 1) { + d.activeTouch.left = e.touches[0].pageX; + d.activeTouch.top = e.touches[0].pageY; + } + } + }); + on(d.scroller, "touchmove", function () { + if (d.activeTouch) { d.activeTouch.moved = true; } + }); + on(d.scroller, "touchend", function (e) { + var touch = d.activeTouch; + if (touch && !eventInWidget(d, e) && touch.left != null && + !touch.moved && new Date - touch.start < 300) { + var pos = cm.coordsChar(d.activeTouch, "page"), range; + if (!touch.prev || farAway(touch, touch.prev)) // Single tap + { range = new Range(pos, pos); } + else if (!touch.prev.prev || farAway(touch, touch.prev.prev)) // Double tap + { range = cm.findWordAt(pos); } + else // Triple tap + { range = new Range(Pos(pos.line, 0), clipPos(cm.doc, Pos(pos.line + 1, 0))); } + cm.setSelection(range.anchor, range.head); + cm.focus(); + e_preventDefault(e); + } + finishTouch(); + }); + on(d.scroller, "touchcancel", finishTouch); + + // Sync scrolling between fake scrollbars and real scrollable + // area, ensure viewport is updated when scrolling. + on(d.scroller, "scroll", function () { + if (d.scroller.clientHeight) { + updateScrollTop(cm, d.scroller.scrollTop); + setScrollLeft(cm, d.scroller.scrollLeft, true); + signal(cm, "scroll", cm); + } + }); + + // Listen to wheel events in order to try and update the viewport on time. + on(d.scroller, "mousewheel", function (e) { return onScrollWheel(cm, e); }); + on(d.scroller, "DOMMouseScroll", function (e) { return onScrollWheel(cm, e); }); + + // Prevent wrapper from ever scrolling + on(d.wrapper, "scroll", function () { return d.wrapper.scrollTop = d.wrapper.scrollLeft = 0; }); + + d.dragFunctions = { + enter: function (e) {if (!signalDOMEvent(cm, e)) { e_stop(e); }}, + over: function (e) {if (!signalDOMEvent(cm, e)) { onDragOver(cm, e); e_stop(e); }}, + start: function (e) { return onDragStart(cm, e); }, + drop: operation(cm, onDrop), + leave: function (e) {if (!signalDOMEvent(cm, e)) { clearDragCursor(cm); }} + }; + + var inp = d.input.getField(); + on(inp, "keyup", function (e) { return onKeyUp.call(cm, e); }); + on(inp, "keydown", operation(cm, onKeyDown)); + on(inp, "keypress", operation(cm, onKeyPress)); + on(inp, "focus", function (e) { return onFocus(cm, e); }); + on(inp, "blur", function (e) { return onBlur(cm, e); }); + } + + var initHooks = []; + CodeMirror.defineInitHook = function (f) { return initHooks.push(f); }; + + // Indent the given line. The how parameter can be "smart", + // "add"/null, "subtract", or "prev". When aggressive is false + // (typically set to true for forced single-line indents), empty + // lines are not indented, and places where the mode returns Pass + // are left alone. + function indentLine(cm, n, how, aggressive) { + var doc = cm.doc, state; + if (how == null) { how = "add"; } + if (how == "smart") { + // Fall back to "prev" when the mode doesn't have an indentation + // method. + if (!doc.mode.indent) { how = "prev"; } + else { state = getContextBefore(cm, n).state; } + } + + var tabSize = cm.options.tabSize; + var line = getLine(doc, n), curSpace = countColumn(line.text, null, tabSize); + if (line.stateAfter) { line.stateAfter = null; } + var curSpaceString = line.text.match(/^\s*/)[0], indentation; + if (!aggressive && !/\S/.test(line.text)) { + indentation = 0; + how = "not"; + } else if (how == "smart") { + indentation = doc.mode.indent(state, line.text.slice(curSpaceString.length), line.text); + if (indentation == Pass || indentation > 150) { + if (!aggressive) { return } + how = "prev"; + } + } + if (how == "prev") { + if (n > doc.first) { indentation = countColumn(getLine(doc, n-1).text, null, tabSize); } + else { indentation = 0; } + } else if (how == "add") { + indentation = curSpace + cm.options.indentUnit; + } else if (how == "subtract") { + indentation = curSpace - cm.options.indentUnit; + } else if (typeof how == "number") { + indentation = curSpace + how; + } + indentation = Math.max(0, indentation); + + var indentString = "", pos = 0; + if (cm.options.indentWithTabs) + { for (var i = Math.floor(indentation / tabSize); i; --i) {pos += tabSize; indentString += "\t";} } + if (pos < indentation) { indentString += spaceStr(indentation - pos); } + + if (indentString != curSpaceString) { + replaceRange(doc, indentString, Pos(n, 0), Pos(n, curSpaceString.length), "+input"); + line.stateAfter = null; + return true + } else { + // Ensure that, if the cursor was in the whitespace at the start + // of the line, it is moved to the end of that space. + for (var i$1 = 0; i$1 < doc.sel.ranges.length; i$1++) { + var range = doc.sel.ranges[i$1]; + if (range.head.line == n && range.head.ch < curSpaceString.length) { + var pos$1 = Pos(n, curSpaceString.length); + replaceOneSelection(doc, i$1, new Range(pos$1, pos$1)); + break + } + } + } + } + + // This will be set to a {lineWise: bool, text: [string]} object, so + // that, when pasting, we know what kind of selections the copied + // text was made out of. + var lastCopied = null; + + function setLastCopied(newLastCopied) { + lastCopied = newLastCopied; + } + + function applyTextInput(cm, inserted, deleted, sel, origin) { + var doc = cm.doc; + cm.display.shift = false; + if (!sel) { sel = doc.sel; } + + var recent = +new Date - 200; + var paste = origin == "paste" || cm.state.pasteIncoming > recent; + var textLines = splitLinesAuto(inserted), multiPaste = null; + // When pasting N lines into N selections, insert one line per selection + if (paste && sel.ranges.length > 1) { + if (lastCopied && lastCopied.text.join("\n") == inserted) { + if (sel.ranges.length % lastCopied.text.length == 0) { + multiPaste = []; + for (var i = 0; i < lastCopied.text.length; i++) + { multiPaste.push(doc.splitLines(lastCopied.text[i])); } + } + } else if (textLines.length == sel.ranges.length && cm.options.pasteLinesPerSelection) { + multiPaste = map(textLines, function (l) { return [l]; }); + } + } + + var updateInput = cm.curOp.updateInput; + // Normal behavior is to insert the new text into every selection + for (var i$1 = sel.ranges.length - 1; i$1 >= 0; i$1--) { + var range = sel.ranges[i$1]; + var from = range.from(), to = range.to(); + if (range.empty()) { + if (deleted && deleted > 0) // Handle deletion + { from = Pos(from.line, from.ch - deleted); } + else if (cm.state.overwrite && !paste) // Handle overwrite + { to = Pos(to.line, Math.min(getLine(doc, to.line).text.length, to.ch + lst(textLines).length)); } + else if (paste && lastCopied && lastCopied.lineWise && lastCopied.text.join("\n") == textLines.join("\n")) + { from = to = Pos(from.line, 0); } + } + var changeEvent = {from: from, to: to, text: multiPaste ? multiPaste[i$1 % multiPaste.length] : textLines, + origin: origin || (paste ? "paste" : cm.state.cutIncoming > recent ? "cut" : "+input")}; + makeChange(cm.doc, changeEvent); + signalLater(cm, "inputRead", cm, changeEvent); + } + if (inserted && !paste) + { triggerElectric(cm, inserted); } + + ensureCursorVisible(cm); + if (cm.curOp.updateInput < 2) { cm.curOp.updateInput = updateInput; } + cm.curOp.typing = true; + cm.state.pasteIncoming = cm.state.cutIncoming = -1; + } + + function handlePaste(e, cm) { + var pasted = e.clipboardData && e.clipboardData.getData("Text"); + if (pasted) { + e.preventDefault(); + if (!cm.isReadOnly() && !cm.options.disableInput && cm.hasFocus()) + { runInOp(cm, function () { return applyTextInput(cm, pasted, 0, null, "paste"); }); } + return true + } + } + + function triggerElectric(cm, inserted) { + // When an 'electric' character is inserted, immediately trigger a reindent + if (!cm.options.electricChars || !cm.options.smartIndent) { return } + var sel = cm.doc.sel; + + for (var i = sel.ranges.length - 1; i >= 0; i--) { + var range = sel.ranges[i]; + if (range.head.ch > 100 || (i && sel.ranges[i - 1].head.line == range.head.line)) { continue } + var mode = cm.getModeAt(range.head); + var indented = false; + if (mode.electricChars) { + for (var j = 0; j < mode.electricChars.length; j++) + { if (inserted.indexOf(mode.electricChars.charAt(j)) > -1) { + indented = indentLine(cm, range.head.line, "smart"); + break + } } + } else if (mode.electricInput) { + if (mode.electricInput.test(getLine(cm.doc, range.head.line).text.slice(0, range.head.ch))) + { indented = indentLine(cm, range.head.line, "smart"); } + } + if (indented) { signalLater(cm, "electricInput", cm, range.head.line); } + } + } + + function copyableRanges(cm) { + var text = [], ranges = []; + for (var i = 0; i < cm.doc.sel.ranges.length; i++) { + var line = cm.doc.sel.ranges[i].head.line; + var lineRange = {anchor: Pos(line, 0), head: Pos(line + 1, 0)}; + ranges.push(lineRange); + text.push(cm.getRange(lineRange.anchor, lineRange.head)); + } + return {text: text, ranges: ranges} + } + + function disableBrowserMagic(field, spellcheck, autocorrect, autocapitalize) { + field.setAttribute("autocorrect", autocorrect ? "on" : "off"); + field.setAttribute("autocapitalize", autocapitalize ? "on" : "off"); + field.setAttribute("spellcheck", !!spellcheck); + } + + function hiddenTextarea() { + var te = elt("textarea", null, null, "position: absolute; bottom: -1em; padding: 0; width: 1px; height: 1em; min-height: 1em; outline: none"); + var div = elt("div", [te], null, "overflow: hidden; position: relative; width: 3px; height: 0px;"); + // The textarea is kept positioned near the cursor to prevent the + // fact that it'll be scrolled into view on input from scrolling + // our fake cursor out of view. On webkit, when wrap=off, paste is + // very slow. So make the area wide instead. + if (webkit) { te.style.width = "1000px"; } + else { te.setAttribute("wrap", "off"); } + // If border: 0; -- iOS fails to open keyboard (issue #1287) + if (ios) { te.style.border = "1px solid black"; } + return div + } + + // The publicly visible API. Note that methodOp(f) means + // 'wrap f in an operation, performed on its `this` parameter'. + + // This is not the complete set of editor methods. Most of the + // methods defined on the Doc type are also injected into + // CodeMirror.prototype, for backwards compatibility and + // convenience. + + function addEditorMethods(CodeMirror) { + var optionHandlers = CodeMirror.optionHandlers; + + var helpers = CodeMirror.helpers = {}; + + CodeMirror.prototype = { + constructor: CodeMirror, + focus: function(){win(this).focus(); this.display.input.focus();}, + + setOption: function(option, value) { + var options = this.options, old = options[option]; + if (options[option] == value && option != "mode") { return } + options[option] = value; + if (optionHandlers.hasOwnProperty(option)) + { operation(this, optionHandlers[option])(this, value, old); } + signal(this, "optionChange", this, option); + }, + + getOption: function(option) {return this.options[option]}, + getDoc: function() {return this.doc}, + + addKeyMap: function(map, bottom) { + this.state.keyMaps[bottom ? "push" : "unshift"](getKeyMap(map)); + }, + removeKeyMap: function(map) { + var maps = this.state.keyMaps; + for (var i = 0; i < maps.length; ++i) + { if (maps[i] == map || maps[i].name == map) { + maps.splice(i, 1); + return true + } } + }, + + addOverlay: methodOp(function(spec, options) { + var mode = spec.token ? spec : CodeMirror.getMode(this.options, spec); + if (mode.startState) { throw new Error("Overlays may not be stateful.") } + insertSorted(this.state.overlays, + {mode: mode, modeSpec: spec, opaque: options && options.opaque, + priority: (options && options.priority) || 0}, + function (overlay) { return overlay.priority; }); + this.state.modeGen++; + regChange(this); + }), + removeOverlay: methodOp(function(spec) { + var overlays = this.state.overlays; + for (var i = 0; i < overlays.length; ++i) { + var cur = overlays[i].modeSpec; + if (cur == spec || typeof spec == "string" && cur.name == spec) { + overlays.splice(i, 1); + this.state.modeGen++; + regChange(this); + return + } + } + }), + + indentLine: methodOp(function(n, dir, aggressive) { + if (typeof dir != "string" && typeof dir != "number") { + if (dir == null) { dir = this.options.smartIndent ? "smart" : "prev"; } + else { dir = dir ? "add" : "subtract"; } + } + if (isLine(this.doc, n)) { indentLine(this, n, dir, aggressive); } + }), + indentSelection: methodOp(function(how) { + var ranges = this.doc.sel.ranges, end = -1; + for (var i = 0; i < ranges.length; i++) { + var range = ranges[i]; + if (!range.empty()) { + var from = range.from(), to = range.to(); + var start = Math.max(end, from.line); + end = Math.min(this.lastLine(), to.line - (to.ch ? 0 : 1)) + 1; + for (var j = start; j < end; ++j) + { indentLine(this, j, how); } + var newRanges = this.doc.sel.ranges; + if (from.ch == 0 && ranges.length == newRanges.length && newRanges[i].from().ch > 0) + { replaceOneSelection(this.doc, i, new Range(from, newRanges[i].to()), sel_dontScroll); } + } else if (range.head.line > end) { + indentLine(this, range.head.line, how, true); + end = range.head.line; + if (i == this.doc.sel.primIndex) { ensureCursorVisible(this); } + } + } + }), + + // Fetch the parser token for a given character. Useful for hacks + // that want to inspect the mode state (say, for completion). + getTokenAt: function(pos, precise) { + return takeToken(this, pos, precise) + }, + + getLineTokens: function(line, precise) { + return takeToken(this, Pos(line), precise, true) + }, + + getTokenTypeAt: function(pos) { + pos = clipPos(this.doc, pos); + var styles = getLineStyles(this, getLine(this.doc, pos.line)); + var before = 0, after = (styles.length - 1) / 2, ch = pos.ch; + var type; + if (ch == 0) { type = styles[2]; } + else { for (;;) { + var mid = (before + after) >> 1; + if ((mid ? styles[mid * 2 - 1] : 0) >= ch) { after = mid; } + else if (styles[mid * 2 + 1] < ch) { before = mid + 1; } + else { type = styles[mid * 2 + 2]; break } + } } + var cut = type ? type.indexOf("overlay ") : -1; + return cut < 0 ? type : cut == 0 ? null : type.slice(0, cut - 1) + }, + + getModeAt: function(pos) { + var mode = this.doc.mode; + if (!mode.innerMode) { return mode } + return CodeMirror.innerMode(mode, this.getTokenAt(pos).state).mode + }, + + getHelper: function(pos, type) { + return this.getHelpers(pos, type)[0] + }, + + getHelpers: function(pos, type) { + var found = []; + if (!helpers.hasOwnProperty(type)) { return found } + var help = helpers[type], mode = this.getModeAt(pos); + if (typeof mode[type] == "string") { + if (help[mode[type]]) { found.push(help[mode[type]]); } + } else if (mode[type]) { + for (var i = 0; i < mode[type].length; i++) { + var val = help[mode[type][i]]; + if (val) { found.push(val); } + } + } else if (mode.helperType && help[mode.helperType]) { + found.push(help[mode.helperType]); + } else if (help[mode.name]) { + found.push(help[mode.name]); + } + for (var i$1 = 0; i$1 < help._global.length; i$1++) { + var cur = help._global[i$1]; + if (cur.pred(mode, this) && indexOf(found, cur.val) == -1) + { found.push(cur.val); } + } + return found + }, + + getStateAfter: function(line, precise) { + var doc = this.doc; + line = clipLine(doc, line == null ? doc.first + doc.size - 1: line); + return getContextBefore(this, line + 1, precise).state + }, + + cursorCoords: function(start, mode) { + var pos, range = this.doc.sel.primary(); + if (start == null) { pos = range.head; } + else if (typeof start == "object") { pos = clipPos(this.doc, start); } + else { pos = start ? range.from() : range.to(); } + return cursorCoords(this, pos, mode || "page") + }, + + charCoords: function(pos, mode) { + return charCoords(this, clipPos(this.doc, pos), mode || "page") + }, + + coordsChar: function(coords, mode) { + coords = fromCoordSystem(this, coords, mode || "page"); + return coordsChar(this, coords.left, coords.top) + }, + + lineAtHeight: function(height, mode) { + height = fromCoordSystem(this, {top: height, left: 0}, mode || "page").top; + return lineAtHeight(this.doc, height + this.display.viewOffset) + }, + heightAtLine: function(line, mode, includeWidgets) { + var end = false, lineObj; + if (typeof line == "number") { + var last = this.doc.first + this.doc.size - 1; + if (line < this.doc.first) { line = this.doc.first; } + else if (line > last) { line = last; end = true; } + lineObj = getLine(this.doc, line); + } else { + lineObj = line; + } + return intoCoordSystem(this, lineObj, {top: 0, left: 0}, mode || "page", includeWidgets || end).top + + (end ? this.doc.height - heightAtLine(lineObj) : 0) + }, + + defaultTextHeight: function() { return textHeight(this.display) }, + defaultCharWidth: function() { return charWidth(this.display) }, + + getViewport: function() { return {from: this.display.viewFrom, to: this.display.viewTo}}, + + addWidget: function(pos, node, scroll, vert, horiz) { + var display = this.display; + pos = cursorCoords(this, clipPos(this.doc, pos)); + var top = pos.bottom, left = pos.left; + node.style.position = "absolute"; + node.setAttribute("cm-ignore-events", "true"); + this.display.input.setUneditable(node); + display.sizer.appendChild(node); + if (vert == "over") { + top = pos.top; + } else if (vert == "above" || vert == "near") { + var vspace = Math.max(display.wrapper.clientHeight, this.doc.height), + hspace = Math.max(display.sizer.clientWidth, display.lineSpace.clientWidth); + // Default to positioning above (if specified and possible); otherwise default to positioning below + if ((vert == 'above' || pos.bottom + node.offsetHeight > vspace) && pos.top > node.offsetHeight) + { top = pos.top - node.offsetHeight; } + else if (pos.bottom + node.offsetHeight <= vspace) + { top = pos.bottom; } + if (left + node.offsetWidth > hspace) + { left = hspace - node.offsetWidth; } + } + node.style.top = top + "px"; + node.style.left = node.style.right = ""; + if (horiz == "right") { + left = display.sizer.clientWidth - node.offsetWidth; + node.style.right = "0px"; + } else { + if (horiz == "left") { left = 0; } + else if (horiz == "middle") { left = (display.sizer.clientWidth - node.offsetWidth) / 2; } + node.style.left = left + "px"; + } + if (scroll) + { scrollIntoView(this, {left: left, top: top, right: left + node.offsetWidth, bottom: top + node.offsetHeight}); } + }, + + triggerOnKeyDown: methodOp(onKeyDown), + triggerOnKeyPress: methodOp(onKeyPress), + triggerOnKeyUp: onKeyUp, + triggerOnMouseDown: methodOp(onMouseDown), + + execCommand: function(cmd) { + if (commands.hasOwnProperty(cmd)) + { return commands[cmd].call(null, this) } + }, + + triggerElectric: methodOp(function(text) { triggerElectric(this, text); }), + + findPosH: function(from, amount, unit, visually) { + var dir = 1; + if (amount < 0) { dir = -1; amount = -amount; } + var cur = clipPos(this.doc, from); + for (var i = 0; i < amount; ++i) { + cur = findPosH(this.doc, cur, dir, unit, visually); + if (cur.hitSide) { break } + } + return cur + }, + + moveH: methodOp(function(dir, unit) { + var this$1 = this; + + this.extendSelectionsBy(function (range) { + if (this$1.display.shift || this$1.doc.extend || range.empty()) + { return findPosH(this$1.doc, range.head, dir, unit, this$1.options.rtlMoveVisually) } + else + { return dir < 0 ? range.from() : range.to() } + }, sel_move); + }), + + deleteH: methodOp(function(dir, unit) { + var sel = this.doc.sel, doc = this.doc; + if (sel.somethingSelected()) + { doc.replaceSelection("", null, "+delete"); } + else + { deleteNearSelection(this, function (range) { + var other = findPosH(doc, range.head, dir, unit, false); + return dir < 0 ? {from: other, to: range.head} : {from: range.head, to: other} + }); } + }), + + findPosV: function(from, amount, unit, goalColumn) { + var dir = 1, x = goalColumn; + if (amount < 0) { dir = -1; amount = -amount; } + var cur = clipPos(this.doc, from); + for (var i = 0; i < amount; ++i) { + var coords = cursorCoords(this, cur, "div"); + if (x == null) { x = coords.left; } + else { coords.left = x; } + cur = findPosV(this, coords, dir, unit); + if (cur.hitSide) { break } + } + return cur + }, + + moveV: methodOp(function(dir, unit) { + var this$1 = this; + + var doc = this.doc, goals = []; + var collapse = !this.display.shift && !doc.extend && doc.sel.somethingSelected(); + doc.extendSelectionsBy(function (range) { + if (collapse) + { return dir < 0 ? range.from() : range.to() } + var headPos = cursorCoords(this$1, range.head, "div"); + if (range.goalColumn != null) { headPos.left = range.goalColumn; } + goals.push(headPos.left); + var pos = findPosV(this$1, headPos, dir, unit); + if (unit == "page" && range == doc.sel.primary()) + { addToScrollTop(this$1, charCoords(this$1, pos, "div").top - headPos.top); } + return pos + }, sel_move); + if (goals.length) { for (var i = 0; i < doc.sel.ranges.length; i++) + { doc.sel.ranges[i].goalColumn = goals[i]; } } + }), + + // Find the word at the given position (as returned by coordsChar). + findWordAt: function(pos) { + var doc = this.doc, line = getLine(doc, pos.line).text; + var start = pos.ch, end = pos.ch; + if (line) { + var helper = this.getHelper(pos, "wordChars"); + if ((pos.sticky == "before" || end == line.length) && start) { --start; } else { ++end; } + var startChar = line.charAt(start); + var check = isWordChar(startChar, helper) + ? function (ch) { return isWordChar(ch, helper); } + : /\s/.test(startChar) ? function (ch) { return /\s/.test(ch); } + : function (ch) { return (!/\s/.test(ch) && !isWordChar(ch)); }; + while (start > 0 && check(line.charAt(start - 1))) { --start; } + while (end < line.length && check(line.charAt(end))) { ++end; } + } + return new Range(Pos(pos.line, start), Pos(pos.line, end)) + }, + + toggleOverwrite: function(value) { + if (value != null && value == this.state.overwrite) { return } + if (this.state.overwrite = !this.state.overwrite) + { addClass(this.display.cursorDiv, "CodeMirror-overwrite"); } + else + { rmClass(this.display.cursorDiv, "CodeMirror-overwrite"); } + + signal(this, "overwriteToggle", this, this.state.overwrite); + }, + hasFocus: function() { return this.display.input.getField() == activeElt(root(this)) }, + isReadOnly: function() { return !!(this.options.readOnly || this.doc.cantEdit) }, + + scrollTo: methodOp(function (x, y) { scrollToCoords(this, x, y); }), + getScrollInfo: function() { + var scroller = this.display.scroller; + return {left: scroller.scrollLeft, top: scroller.scrollTop, + height: scroller.scrollHeight - scrollGap(this) - this.display.barHeight, + width: scroller.scrollWidth - scrollGap(this) - this.display.barWidth, + clientHeight: displayHeight(this), clientWidth: displayWidth(this)} + }, + + scrollIntoView: methodOp(function(range, margin) { + if (range == null) { + range = {from: this.doc.sel.primary().head, to: null}; + if (margin == null) { margin = this.options.cursorScrollMargin; } + } else if (typeof range == "number") { + range = {from: Pos(range, 0), to: null}; + } else if (range.from == null) { + range = {from: range, to: null}; + } + if (!range.to) { range.to = range.from; } + range.margin = margin || 0; + + if (range.from.line != null) { + scrollToRange(this, range); + } else { + scrollToCoordsRange(this, range.from, range.to, range.margin); + } + }), + + setSize: methodOp(function(width, height) { + var this$1 = this; + + var interpret = function (val) { return typeof val == "number" || /^\d+$/.test(String(val)) ? val + "px" : val; }; + if (width != null) { this.display.wrapper.style.width = interpret(width); } + if (height != null) { this.display.wrapper.style.height = interpret(height); } + if (this.options.lineWrapping) { clearLineMeasurementCache(this); } + var lineNo = this.display.viewFrom; + this.doc.iter(lineNo, this.display.viewTo, function (line) { + if (line.widgets) { for (var i = 0; i < line.widgets.length; i++) + { if (line.widgets[i].noHScroll) { regLineChange(this$1, lineNo, "widget"); break } } } + ++lineNo; + }); + this.curOp.forceUpdate = true; + signal(this, "refresh", this); + }), + + operation: function(f){return runInOp(this, f)}, + startOperation: function(){return startOperation(this)}, + endOperation: function(){return endOperation(this)}, + + refresh: methodOp(function() { + var oldHeight = this.display.cachedTextHeight; + regChange(this); + this.curOp.forceUpdate = true; + clearCaches(this); + scrollToCoords(this, this.doc.scrollLeft, this.doc.scrollTop); + updateGutterSpace(this.display); + if (oldHeight == null || Math.abs(oldHeight - textHeight(this.display)) > .5 || this.options.lineWrapping) + { estimateLineHeights(this); } + signal(this, "refresh", this); + }), + + swapDoc: methodOp(function(doc) { + var old = this.doc; + old.cm = null; + // Cancel the current text selection if any (#5821) + if (this.state.selectingText) { this.state.selectingText(); } + attachDoc(this, doc); + clearCaches(this); + this.display.input.reset(); + scrollToCoords(this, doc.scrollLeft, doc.scrollTop); + this.curOp.forceScroll = true; + signalLater(this, "swapDoc", this, old); + return old + }), + + phrase: function(phraseText) { + var phrases = this.options.phrases; + return phrases && Object.prototype.hasOwnProperty.call(phrases, phraseText) ? phrases[phraseText] : phraseText + }, + + getInputField: function(){return this.display.input.getField()}, + getWrapperElement: function(){return this.display.wrapper}, + getScrollerElement: function(){return this.display.scroller}, + getGutterElement: function(){return this.display.gutters} + }; + eventMixin(CodeMirror); + + CodeMirror.registerHelper = function(type, name, value) { + if (!helpers.hasOwnProperty(type)) { helpers[type] = CodeMirror[type] = {_global: []}; } + helpers[type][name] = value; + }; + CodeMirror.registerGlobalHelper = function(type, name, predicate, value) { + CodeMirror.registerHelper(type, name, value); + helpers[type]._global.push({pred: predicate, val: value}); + }; + } + + // Used for horizontal relative motion. Dir is -1 or 1 (left or + // right), unit can be "codepoint", "char", "column" (like char, but + // doesn't cross line boundaries), "word" (across next word), or + // "group" (to the start of next group of word or + // non-word-non-whitespace chars). The visually param controls + // whether, in right-to-left text, direction 1 means to move towards + // the next index in the string, or towards the character to the right + // of the current position. The resulting position will have a + // hitSide=true property if it reached the end of the document. + function findPosH(doc, pos, dir, unit, visually) { + var oldPos = pos; + var origDir = dir; + var lineObj = getLine(doc, pos.line); + var lineDir = visually && doc.direction == "rtl" ? -dir : dir; + function findNextLine() { + var l = pos.line + lineDir; + if (l < doc.first || l >= doc.first + doc.size) { return false } + pos = new Pos(l, pos.ch, pos.sticky); + return lineObj = getLine(doc, l) + } + function moveOnce(boundToLine) { + var next; + if (unit == "codepoint") { + var ch = lineObj.text.charCodeAt(pos.ch + (dir > 0 ? 0 : -1)); + if (isNaN(ch)) { + next = null; + } else { + var astral = dir > 0 ? ch >= 0xD800 && ch < 0xDC00 : ch >= 0xDC00 && ch < 0xDFFF; + next = new Pos(pos.line, Math.max(0, Math.min(lineObj.text.length, pos.ch + dir * (astral ? 2 : 1))), -dir); + } + } else if (visually) { + next = moveVisually(doc.cm, lineObj, pos, dir); + } else { + next = moveLogically(lineObj, pos, dir); + } + if (next == null) { + if (!boundToLine && findNextLine()) + { pos = endOfLine(visually, doc.cm, lineObj, pos.line, lineDir); } + else + { return false } + } else { + pos = next; + } + return true + } + + if (unit == "char" || unit == "codepoint") { + moveOnce(); + } else if (unit == "column") { + moveOnce(true); + } else if (unit == "word" || unit == "group") { + var sawType = null, group = unit == "group"; + var helper = doc.cm && doc.cm.getHelper(pos, "wordChars"); + for (var first = true;; first = false) { + if (dir < 0 && !moveOnce(!first)) { break } + var cur = lineObj.text.charAt(pos.ch) || "\n"; + var type = isWordChar(cur, helper) ? "w" + : group && cur == "\n" ? "n" + : !group || /\s/.test(cur) ? null + : "p"; + if (group && !first && !type) { type = "s"; } + if (sawType && sawType != type) { + if (dir < 0) {dir = 1; moveOnce(); pos.sticky = "after";} + break + } + + if (type) { sawType = type; } + if (dir > 0 && !moveOnce(!first)) { break } + } + } + var result = skipAtomic(doc, pos, oldPos, origDir, true); + if (equalCursorPos(oldPos, result)) { result.hitSide = true; } + return result + } + + // For relative vertical movement. Dir may be -1 or 1. Unit can be + // "page" or "line". The resulting position will have a hitSide=true + // property if it reached the end of the document. + function findPosV(cm, pos, dir, unit) { + var doc = cm.doc, x = pos.left, y; + if (unit == "page") { + var pageSize = Math.min(cm.display.wrapper.clientHeight, win(cm).innerHeight || doc(cm).documentElement.clientHeight); + var moveAmount = Math.max(pageSize - .5 * textHeight(cm.display), 3); + y = (dir > 0 ? pos.bottom : pos.top) + dir * moveAmount; + + } else if (unit == "line") { + y = dir > 0 ? pos.bottom + 3 : pos.top - 3; + } + var target; + for (;;) { + target = coordsChar(cm, x, y); + if (!target.outside) { break } + if (dir < 0 ? y <= 0 : y >= doc.height) { target.hitSide = true; break } + y += dir * 5; + } + return target + } + + // CONTENTEDITABLE INPUT STYLE + + var ContentEditableInput = function(cm) { + this.cm = cm; + this.lastAnchorNode = this.lastAnchorOffset = this.lastFocusNode = this.lastFocusOffset = null; + this.polling = new Delayed(); + this.composing = null; + this.gracePeriod = false; + this.readDOMTimeout = null; + }; + + ContentEditableInput.prototype.init = function (display) { + var this$1 = this; + + var input = this, cm = input.cm; + var div = input.div = display.lineDiv; + div.contentEditable = true; + disableBrowserMagic(div, cm.options.spellcheck, cm.options.autocorrect, cm.options.autocapitalize); + + function belongsToInput(e) { + for (var t = e.target; t; t = t.parentNode) { + if (t == div) { return true } + if (/\bCodeMirror-(?:line)?widget\b/.test(t.className)) { break } + } + return false + } + + on(div, "paste", function (e) { + if (!belongsToInput(e) || signalDOMEvent(cm, e) || handlePaste(e, cm)) { return } + // IE doesn't fire input events, so we schedule a read for the pasted content in this way + if (ie_version <= 11) { setTimeout(operation(cm, function () { return this$1.updateFromDOM(); }), 20); } + }); + + on(div, "compositionstart", function (e) { + this$1.composing = {data: e.data, done: false}; + }); + on(div, "compositionupdate", function (e) { + if (!this$1.composing) { this$1.composing = {data: e.data, done: false}; } + }); + on(div, "compositionend", function (e) { + if (this$1.composing) { + if (e.data != this$1.composing.data) { this$1.readFromDOMSoon(); } + this$1.composing.done = true; + } + }); + + on(div, "touchstart", function () { return input.forceCompositionEnd(); }); + + on(div, "input", function () { + if (!this$1.composing) { this$1.readFromDOMSoon(); } + }); + + function onCopyCut(e) { + if (!belongsToInput(e) || signalDOMEvent(cm, e)) { return } + if (cm.somethingSelected()) { + setLastCopied({lineWise: false, text: cm.getSelections()}); + if (e.type == "cut") { cm.replaceSelection("", null, "cut"); } + } else if (!cm.options.lineWiseCopyCut) { + return + } else { + var ranges = copyableRanges(cm); + setLastCopied({lineWise: true, text: ranges.text}); + if (e.type == "cut") { + cm.operation(function () { + cm.setSelections(ranges.ranges, 0, sel_dontScroll); + cm.replaceSelection("", null, "cut"); + }); + } + } + if (e.clipboardData) { + e.clipboardData.clearData(); + var content = lastCopied.text.join("\n"); + // iOS exposes the clipboard API, but seems to discard content inserted into it + e.clipboardData.setData("Text", content); + if (e.clipboardData.getData("Text") == content) { + e.preventDefault(); + return + } + } + // Old-fashioned briefly-focus-a-textarea hack + var kludge = hiddenTextarea(), te = kludge.firstChild; + disableBrowserMagic(te); + cm.display.lineSpace.insertBefore(kludge, cm.display.lineSpace.firstChild); + te.value = lastCopied.text.join("\n"); + var hadFocus = activeElt(rootNode(div)); + selectInput(te); + setTimeout(function () { + cm.display.lineSpace.removeChild(kludge); + hadFocus.focus(); + if (hadFocus == div) { input.showPrimarySelection(); } + }, 50); + } + on(div, "copy", onCopyCut); + on(div, "cut", onCopyCut); + }; + + ContentEditableInput.prototype.screenReaderLabelChanged = function (label) { + // Label for screenreaders, accessibility + if(label) { + this.div.setAttribute('aria-label', label); + } else { + this.div.removeAttribute('aria-label'); + } + }; + + ContentEditableInput.prototype.prepareSelection = function () { + var result = prepareSelection(this.cm, false); + result.focus = activeElt(rootNode(this.div)) == this.div; + return result + }; + + ContentEditableInput.prototype.showSelection = function (info, takeFocus) { + if (!info || !this.cm.display.view.length) { return } + if (info.focus || takeFocus) { this.showPrimarySelection(); } + this.showMultipleSelections(info); + }; + + ContentEditableInput.prototype.getSelection = function () { + return this.cm.display.wrapper.ownerDocument.getSelection() + }; + + ContentEditableInput.prototype.showPrimarySelection = function () { + var sel = this.getSelection(), cm = this.cm, prim = cm.doc.sel.primary(); + var from = prim.from(), to = prim.to(); + + if (cm.display.viewTo == cm.display.viewFrom || from.line >= cm.display.viewTo || to.line < cm.display.viewFrom) { + sel.removeAllRanges(); + return + } + + var curAnchor = domToPos(cm, sel.anchorNode, sel.anchorOffset); + var curFocus = domToPos(cm, sel.focusNode, sel.focusOffset); + if (curAnchor && !curAnchor.bad && curFocus && !curFocus.bad && + cmp(minPos(curAnchor, curFocus), from) == 0 && + cmp(maxPos(curAnchor, curFocus), to) == 0) + { return } + + var view = cm.display.view; + var start = (from.line >= cm.display.viewFrom && posToDOM(cm, from)) || + {node: view[0].measure.map[2], offset: 0}; + var end = to.line < cm.display.viewTo && posToDOM(cm, to); + if (!end) { + var measure = view[view.length - 1].measure; + var map = measure.maps ? measure.maps[measure.maps.length - 1] : measure.map; + end = {node: map[map.length - 1], offset: map[map.length - 2] - map[map.length - 3]}; + } + + if (!start || !end) { + sel.removeAllRanges(); + return + } + + var old = sel.rangeCount && sel.getRangeAt(0), rng; + try { rng = range(start.node, start.offset, end.offset, end.node); } + catch(e) {} // Our model of the DOM might be outdated, in which case the range we try to set can be impossible + if (rng) { + if (!gecko && cm.state.focused) { + sel.collapse(start.node, start.offset); + if (!rng.collapsed) { + sel.removeAllRanges(); + sel.addRange(rng); + } + } else { + sel.removeAllRanges(); + sel.addRange(rng); + } + if (old && sel.anchorNode == null) { sel.addRange(old); } + else if (gecko) { this.startGracePeriod(); } + } + this.rememberSelection(); + }; + + ContentEditableInput.prototype.startGracePeriod = function () { + var this$1 = this; + + clearTimeout(this.gracePeriod); + this.gracePeriod = setTimeout(function () { + this$1.gracePeriod = false; + if (this$1.selectionChanged()) + { this$1.cm.operation(function () { return this$1.cm.curOp.selectionChanged = true; }); } + }, 20); + }; + + ContentEditableInput.prototype.showMultipleSelections = function (info) { + removeChildrenAndAdd(this.cm.display.cursorDiv, info.cursors); + removeChildrenAndAdd(this.cm.display.selectionDiv, info.selection); + }; + + ContentEditableInput.prototype.rememberSelection = function () { + var sel = this.getSelection(); + this.lastAnchorNode = sel.anchorNode; this.lastAnchorOffset = sel.anchorOffset; + this.lastFocusNode = sel.focusNode; this.lastFocusOffset = sel.focusOffset; + }; + + ContentEditableInput.prototype.selectionInEditor = function () { + var sel = this.getSelection(); + if (!sel.rangeCount) { return false } + var node = sel.getRangeAt(0).commonAncestorContainer; + return contains(this.div, node) + }; + + ContentEditableInput.prototype.focus = function () { + if (this.cm.options.readOnly != "nocursor") { + if (!this.selectionInEditor() || activeElt(rootNode(this.div)) != this.div) + { this.showSelection(this.prepareSelection(), true); } + this.div.focus(); + } + }; + ContentEditableInput.prototype.blur = function () { this.div.blur(); }; + ContentEditableInput.prototype.getField = function () { return this.div }; + + ContentEditableInput.prototype.supportsTouch = function () { return true }; + + ContentEditableInput.prototype.receivedFocus = function () { + var this$1 = this; + + var input = this; + if (this.selectionInEditor()) + { setTimeout(function () { return this$1.pollSelection(); }, 20); } + else + { runInOp(this.cm, function () { return input.cm.curOp.selectionChanged = true; }); } + + function poll() { + if (input.cm.state.focused) { + input.pollSelection(); + input.polling.set(input.cm.options.pollInterval, poll); + } + } + this.polling.set(this.cm.options.pollInterval, poll); + }; + + ContentEditableInput.prototype.selectionChanged = function () { + var sel = this.getSelection(); + return sel.anchorNode != this.lastAnchorNode || sel.anchorOffset != this.lastAnchorOffset || + sel.focusNode != this.lastFocusNode || sel.focusOffset != this.lastFocusOffset + }; + + ContentEditableInput.prototype.pollSelection = function () { + if (this.readDOMTimeout != null || this.gracePeriod || !this.selectionChanged()) { return } + var sel = this.getSelection(), cm = this.cm; + // On Android Chrome (version 56, at least), backspacing into an + // uneditable block element will put the cursor in that element, + // and then, because it's not editable, hide the virtual keyboard. + // Because Android doesn't allow us to actually detect backspace + // presses in a sane way, this code checks for when that happens + // and simulates a backspace press in this case. + if (android && chrome && this.cm.display.gutterSpecs.length && isInGutter(sel.anchorNode)) { + this.cm.triggerOnKeyDown({type: "keydown", keyCode: 8, preventDefault: Math.abs}); + this.blur(); + this.focus(); + return + } + if (this.composing) { return } + this.rememberSelection(); + var anchor = domToPos(cm, sel.anchorNode, sel.anchorOffset); + var head = domToPos(cm, sel.focusNode, sel.focusOffset); + if (anchor && head) { runInOp(cm, function () { + setSelection(cm.doc, simpleSelection(anchor, head), sel_dontScroll); + if (anchor.bad || head.bad) { cm.curOp.selectionChanged = true; } + }); } + }; + + ContentEditableInput.prototype.pollContent = function () { + if (this.readDOMTimeout != null) { + clearTimeout(this.readDOMTimeout); + this.readDOMTimeout = null; + } + + var cm = this.cm, display = cm.display, sel = cm.doc.sel.primary(); + var from = sel.from(), to = sel.to(); + if (from.ch == 0 && from.line > cm.firstLine()) + { from = Pos(from.line - 1, getLine(cm.doc, from.line - 1).length); } + if (to.ch == getLine(cm.doc, to.line).text.length && to.line < cm.lastLine()) + { to = Pos(to.line + 1, 0); } + if (from.line < display.viewFrom || to.line > display.viewTo - 1) { return false } + + var fromIndex, fromLine, fromNode; + if (from.line == display.viewFrom || (fromIndex = findViewIndex(cm, from.line)) == 0) { + fromLine = lineNo(display.view[0].line); + fromNode = display.view[0].node; + } else { + fromLine = lineNo(display.view[fromIndex].line); + fromNode = display.view[fromIndex - 1].node.nextSibling; + } + var toIndex = findViewIndex(cm, to.line); + var toLine, toNode; + if (toIndex == display.view.length - 1) { + toLine = display.viewTo - 1; + toNode = display.lineDiv.lastChild; + } else { + toLine = lineNo(display.view[toIndex + 1].line) - 1; + toNode = display.view[toIndex + 1].node.previousSibling; + } + + if (!fromNode) { return false } + var newText = cm.doc.splitLines(domTextBetween(cm, fromNode, toNode, fromLine, toLine)); + var oldText = getBetween(cm.doc, Pos(fromLine, 0), Pos(toLine, getLine(cm.doc, toLine).text.length)); + while (newText.length > 1 && oldText.length > 1) { + if (lst(newText) == lst(oldText)) { newText.pop(); oldText.pop(); toLine--; } + else if (newText[0] == oldText[0]) { newText.shift(); oldText.shift(); fromLine++; } + else { break } + } + + var cutFront = 0, cutEnd = 0; + var newTop = newText[0], oldTop = oldText[0], maxCutFront = Math.min(newTop.length, oldTop.length); + while (cutFront < maxCutFront && newTop.charCodeAt(cutFront) == oldTop.charCodeAt(cutFront)) + { ++cutFront; } + var newBot = lst(newText), oldBot = lst(oldText); + var maxCutEnd = Math.min(newBot.length - (newText.length == 1 ? cutFront : 0), + oldBot.length - (oldText.length == 1 ? cutFront : 0)); + while (cutEnd < maxCutEnd && + newBot.charCodeAt(newBot.length - cutEnd - 1) == oldBot.charCodeAt(oldBot.length - cutEnd - 1)) + { ++cutEnd; } + // Try to move start of change to start of selection if ambiguous + if (newText.length == 1 && oldText.length == 1 && fromLine == from.line) { + while (cutFront && cutFront > from.ch && + newBot.charCodeAt(newBot.length - cutEnd - 1) == oldBot.charCodeAt(oldBot.length - cutEnd - 1)) { + cutFront--; + cutEnd++; + } + } + + newText[newText.length - 1] = newBot.slice(0, newBot.length - cutEnd).replace(/^\u200b+/, ""); + newText[0] = newText[0].slice(cutFront).replace(/\u200b+$/, ""); + + var chFrom = Pos(fromLine, cutFront); + var chTo = Pos(toLine, oldText.length ? lst(oldText).length - cutEnd : 0); + if (newText.length > 1 || newText[0] || cmp(chFrom, chTo)) { + replaceRange(cm.doc, newText, chFrom, chTo, "+input"); + return true + } + }; + + ContentEditableInput.prototype.ensurePolled = function () { + this.forceCompositionEnd(); + }; + ContentEditableInput.prototype.reset = function () { + this.forceCompositionEnd(); + }; + ContentEditableInput.prototype.forceCompositionEnd = function () { + if (!this.composing) { return } + clearTimeout(this.readDOMTimeout); + this.composing = null; + this.updateFromDOM(); + this.div.blur(); + this.div.focus(); + }; + ContentEditableInput.prototype.readFromDOMSoon = function () { + var this$1 = this; + + if (this.readDOMTimeout != null) { return } + this.readDOMTimeout = setTimeout(function () { + this$1.readDOMTimeout = null; + if (this$1.composing) { + if (this$1.composing.done) { this$1.composing = null; } + else { return } + } + this$1.updateFromDOM(); + }, 80); + }; + + ContentEditableInput.prototype.updateFromDOM = function () { + var this$1 = this; + + if (this.cm.isReadOnly() || !this.pollContent()) + { runInOp(this.cm, function () { return regChange(this$1.cm); }); } + }; + + ContentEditableInput.prototype.setUneditable = function (node) { + node.contentEditable = "false"; + }; + + ContentEditableInput.prototype.onKeyPress = function (e) { + if (e.charCode == 0 || this.composing) { return } + e.preventDefault(); + if (!this.cm.isReadOnly()) + { operation(this.cm, applyTextInput)(this.cm, String.fromCharCode(e.charCode == null ? e.keyCode : e.charCode), 0); } + }; + + ContentEditableInput.prototype.readOnlyChanged = function (val) { + this.div.contentEditable = String(val != "nocursor"); + }; + + ContentEditableInput.prototype.onContextMenu = function () {}; + ContentEditableInput.prototype.resetPosition = function () {}; + + ContentEditableInput.prototype.needsContentAttribute = true; + + function posToDOM(cm, pos) { + var view = findViewForLine(cm, pos.line); + if (!view || view.hidden) { return null } + var line = getLine(cm.doc, pos.line); + var info = mapFromLineView(view, line, pos.line); + + var order = getOrder(line, cm.doc.direction), side = "left"; + if (order) { + var partPos = getBidiPartAt(order, pos.ch); + side = partPos % 2 ? "right" : "left"; + } + var result = nodeAndOffsetInLineMap(info.map, pos.ch, side); + result.offset = result.collapse == "right" ? result.end : result.start; + return result + } + + function isInGutter(node) { + for (var scan = node; scan; scan = scan.parentNode) + { if (/CodeMirror-gutter-wrapper/.test(scan.className)) { return true } } + return false + } + + function badPos(pos, bad) { if (bad) { pos.bad = true; } return pos } + + function domTextBetween(cm, from, to, fromLine, toLine) { + var text = "", closing = false, lineSep = cm.doc.lineSeparator(), extraLinebreak = false; + function recognizeMarker(id) { return function (marker) { return marker.id == id; } } + function close() { + if (closing) { + text += lineSep; + if (extraLinebreak) { text += lineSep; } + closing = extraLinebreak = false; + } + } + function addText(str) { + if (str) { + close(); + text += str; + } + } + function walk(node) { + if (node.nodeType == 1) { + var cmText = node.getAttribute("cm-text"); + if (cmText) { + addText(cmText); + return + } + var markerID = node.getAttribute("cm-marker"), range; + if (markerID) { + var found = cm.findMarks(Pos(fromLine, 0), Pos(toLine + 1, 0), recognizeMarker(+markerID)); + if (found.length && (range = found[0].find(0))) + { addText(getBetween(cm.doc, range.from, range.to).join(lineSep)); } + return + } + if (node.getAttribute("contenteditable") == "false") { return } + var isBlock = /^(pre|div|p|li|table|br)$/i.test(node.nodeName); + if (!/^br$/i.test(node.nodeName) && node.textContent.length == 0) { return } + + if (isBlock) { close(); } + for (var i = 0; i < node.childNodes.length; i++) + { walk(node.childNodes[i]); } + + if (/^(pre|p)$/i.test(node.nodeName)) { extraLinebreak = true; } + if (isBlock) { closing = true; } + } else if (node.nodeType == 3) { + addText(node.nodeValue.replace(/\u200b/g, "").replace(/\u00a0/g, " ")); + } + } + for (;;) { + walk(from); + if (from == to) { break } + from = from.nextSibling; + extraLinebreak = false; + } + return text + } + + function domToPos(cm, node, offset) { + var lineNode; + if (node == cm.display.lineDiv) { + lineNode = cm.display.lineDiv.childNodes[offset]; + if (!lineNode) { return badPos(cm.clipPos(Pos(cm.display.viewTo - 1)), true) } + node = null; offset = 0; + } else { + for (lineNode = node;; lineNode = lineNode.parentNode) { + if (!lineNode || lineNode == cm.display.lineDiv) { return null } + if (lineNode.parentNode && lineNode.parentNode == cm.display.lineDiv) { break } + } + } + for (var i = 0; i < cm.display.view.length; i++) { + var lineView = cm.display.view[i]; + if (lineView.node == lineNode) + { return locateNodeInLineView(lineView, node, offset) } + } + } + + function locateNodeInLineView(lineView, node, offset) { + var wrapper = lineView.text.firstChild, bad = false; + if (!node || !contains(wrapper, node)) { return badPos(Pos(lineNo(lineView.line), 0), true) } + if (node == wrapper) { + bad = true; + node = wrapper.childNodes[offset]; + offset = 0; + if (!node) { + var line = lineView.rest ? lst(lineView.rest) : lineView.line; + return badPos(Pos(lineNo(line), line.text.length), bad) + } + } + + var textNode = node.nodeType == 3 ? node : null, topNode = node; + if (!textNode && node.childNodes.length == 1 && node.firstChild.nodeType == 3) { + textNode = node.firstChild; + if (offset) { offset = textNode.nodeValue.length; } + } + while (topNode.parentNode != wrapper) { topNode = topNode.parentNode; } + var measure = lineView.measure, maps = measure.maps; + + function find(textNode, topNode, offset) { + for (var i = -1; i < (maps ? maps.length : 0); i++) { + var map = i < 0 ? measure.map : maps[i]; + for (var j = 0; j < map.length; j += 3) { + var curNode = map[j + 2]; + if (curNode == textNode || curNode == topNode) { + var line = lineNo(i < 0 ? lineView.line : lineView.rest[i]); + var ch = map[j] + offset; + if (offset < 0 || curNode != textNode) { ch = map[j + (offset ? 1 : 0)]; } + return Pos(line, ch) + } + } + } + } + var found = find(textNode, topNode, offset); + if (found) { return badPos(found, bad) } + + // FIXME this is all really shaky. might handle the few cases it needs to handle, but likely to cause problems + for (var after = topNode.nextSibling, dist = textNode ? textNode.nodeValue.length - offset : 0; after; after = after.nextSibling) { + found = find(after, after.firstChild, 0); + if (found) + { return badPos(Pos(found.line, found.ch - dist), bad) } + else + { dist += after.textContent.length; } + } + for (var before = topNode.previousSibling, dist$1 = offset; before; before = before.previousSibling) { + found = find(before, before.firstChild, -1); + if (found) + { return badPos(Pos(found.line, found.ch + dist$1), bad) } + else + { dist$1 += before.textContent.length; } + } + } + + // TEXTAREA INPUT STYLE + + var TextareaInput = function(cm) { + this.cm = cm; + // See input.poll and input.reset + this.prevInput = ""; + + // Flag that indicates whether we expect input to appear real soon + // now (after some event like 'keypress' or 'input') and are + // polling intensively. + this.pollingFast = false; + // Self-resetting timeout for the poller + this.polling = new Delayed(); + // Used to work around IE issue with selection being forgotten when focus moves away from textarea + this.hasSelection = false; + this.composing = null; + this.resetting = false; + }; + + TextareaInput.prototype.init = function (display) { + var this$1 = this; + + var input = this, cm = this.cm; + this.createField(display); + var te = this.textarea; + + display.wrapper.insertBefore(this.wrapper, display.wrapper.firstChild); + + // Needed to hide big blue blinking cursor on Mobile Safari (doesn't seem to work in iOS 8 anymore) + if (ios) { te.style.width = "0px"; } + + on(te, "input", function () { + if (ie && ie_version >= 9 && this$1.hasSelection) { this$1.hasSelection = null; } + input.poll(); + }); + + on(te, "paste", function (e) { + if (signalDOMEvent(cm, e) || handlePaste(e, cm)) { return } + + cm.state.pasteIncoming = +new Date; + input.fastPoll(); + }); + + function prepareCopyCut(e) { + if (signalDOMEvent(cm, e)) { return } + if (cm.somethingSelected()) { + setLastCopied({lineWise: false, text: cm.getSelections()}); + } else if (!cm.options.lineWiseCopyCut) { + return + } else { + var ranges = copyableRanges(cm); + setLastCopied({lineWise: true, text: ranges.text}); + if (e.type == "cut") { + cm.setSelections(ranges.ranges, null, sel_dontScroll); + } else { + input.prevInput = ""; + te.value = ranges.text.join("\n"); + selectInput(te); + } + } + if (e.type == "cut") { cm.state.cutIncoming = +new Date; } + } + on(te, "cut", prepareCopyCut); + on(te, "copy", prepareCopyCut); + + on(display.scroller, "paste", function (e) { + if (eventInWidget(display, e) || signalDOMEvent(cm, e)) { return } + if (!te.dispatchEvent) { + cm.state.pasteIncoming = +new Date; + input.focus(); + return + } + + // Pass the `paste` event to the textarea so it's handled by its event listener. + var event = new Event("paste"); + event.clipboardData = e.clipboardData; + te.dispatchEvent(event); + }); + + // Prevent normal selection in the editor (we handle our own) + on(display.lineSpace, "selectstart", function (e) { + if (!eventInWidget(display, e)) { e_preventDefault(e); } + }); + + on(te, "compositionstart", function () { + var start = cm.getCursor("from"); + if (input.composing) { input.composing.range.clear(); } + input.composing = { + start: start, + range: cm.markText(start, cm.getCursor("to"), {className: "CodeMirror-composing"}) + }; + }); + on(te, "compositionend", function () { + if (input.composing) { + input.poll(); + input.composing.range.clear(); + input.composing = null; + } + }); + }; + + TextareaInput.prototype.createField = function (_display) { + // Wraps and hides input textarea + this.wrapper = hiddenTextarea(); + // The semihidden textarea that is focused when the editor is + // focused, and receives input. + this.textarea = this.wrapper.firstChild; + var opts = this.cm.options; + disableBrowserMagic(this.textarea, opts.spellcheck, opts.autocorrect, opts.autocapitalize); + }; + + TextareaInput.prototype.screenReaderLabelChanged = function (label) { + // Label for screenreaders, accessibility + if(label) { + this.textarea.setAttribute('aria-label', label); + } else { + this.textarea.removeAttribute('aria-label'); + } + }; + + TextareaInput.prototype.prepareSelection = function () { + // Redraw the selection and/or cursor + var cm = this.cm, display = cm.display, doc = cm.doc; + var result = prepareSelection(cm); + + // Move the hidden textarea near the cursor to prevent scrolling artifacts + if (cm.options.moveInputWithCursor) { + var headPos = cursorCoords(cm, doc.sel.primary().head, "div"); + var wrapOff = display.wrapper.getBoundingClientRect(), lineOff = display.lineDiv.getBoundingClientRect(); + result.teTop = Math.max(0, Math.min(display.wrapper.clientHeight - 10, + headPos.top + lineOff.top - wrapOff.top)); + result.teLeft = Math.max(0, Math.min(display.wrapper.clientWidth - 10, + headPos.left + lineOff.left - wrapOff.left)); + } + + return result + }; + + TextareaInput.prototype.showSelection = function (drawn) { + var cm = this.cm, display = cm.display; + removeChildrenAndAdd(display.cursorDiv, drawn.cursors); + removeChildrenAndAdd(display.selectionDiv, drawn.selection); + if (drawn.teTop != null) { + this.wrapper.style.top = drawn.teTop + "px"; + this.wrapper.style.left = drawn.teLeft + "px"; + } + }; + + // Reset the input to correspond to the selection (or to be empty, + // when not typing and nothing is selected) + TextareaInput.prototype.reset = function (typing) { + if (this.contextMenuPending || this.composing && typing) { return } + var cm = this.cm; + this.resetting = true; + if (cm.somethingSelected()) { + this.prevInput = ""; + var content = cm.getSelection(); + this.textarea.value = content; + if (cm.state.focused) { selectInput(this.textarea); } + if (ie && ie_version >= 9) { this.hasSelection = content; } + } else if (!typing) { + this.prevInput = this.textarea.value = ""; + if (ie && ie_version >= 9) { this.hasSelection = null; } + } + this.resetting = false; + }; + + TextareaInput.prototype.getField = function () { return this.textarea }; + + TextareaInput.prototype.supportsTouch = function () { return false }; + + TextareaInput.prototype.focus = function () { + if (this.cm.options.readOnly != "nocursor" && (!mobile || activeElt(rootNode(this.textarea)) != this.textarea)) { + try { this.textarea.focus(); } + catch (e) {} // IE8 will throw if the textarea is display: none or not in DOM + } + }; + + TextareaInput.prototype.blur = function () { this.textarea.blur(); }; + + TextareaInput.prototype.resetPosition = function () { + this.wrapper.style.top = this.wrapper.style.left = 0; + }; + + TextareaInput.prototype.receivedFocus = function () { this.slowPoll(); }; + + // Poll for input changes, using the normal rate of polling. This + // runs as long as the editor is focused. + TextareaInput.prototype.slowPoll = function () { + var this$1 = this; + + if (this.pollingFast) { return } + this.polling.set(this.cm.options.pollInterval, function () { + this$1.poll(); + if (this$1.cm.state.focused) { this$1.slowPoll(); } + }); + }; + + // When an event has just come in that is likely to add or change + // something in the input textarea, we poll faster, to ensure that + // the change appears on the screen quickly. + TextareaInput.prototype.fastPoll = function () { + var missed = false, input = this; + input.pollingFast = true; + function p() { + var changed = input.poll(); + if (!changed && !missed) {missed = true; input.polling.set(60, p);} + else {input.pollingFast = false; input.slowPoll();} + } + input.polling.set(20, p); + }; + + // Read input from the textarea, and update the document to match. + // When something is selected, it is present in the textarea, and + // selected (unless it is huge, in which case a placeholder is + // used). When nothing is selected, the cursor sits after previously + // seen text (can be empty), which is stored in prevInput (we must + // not reset the textarea when typing, because that breaks IME). + TextareaInput.prototype.poll = function () { + var this$1 = this; + + var cm = this.cm, input = this.textarea, prevInput = this.prevInput; + // Since this is called a *lot*, try to bail out as cheaply as + // possible when it is clear that nothing happened. hasSelection + // will be the case when there is a lot of text in the textarea, + // in which case reading its value would be expensive. + if (this.contextMenuPending || this.resetting || !cm.state.focused || + (hasSelection(input) && !prevInput && !this.composing) || + cm.isReadOnly() || cm.options.disableInput || cm.state.keySeq) + { return false } + + var text = input.value; + // If nothing changed, bail. + if (text == prevInput && !cm.somethingSelected()) { return false } + // Work around nonsensical selection resetting in IE9/10, and + // inexplicable appearance of private area unicode characters on + // some key combos in Mac (#2689). + if (ie && ie_version >= 9 && this.hasSelection === text || + mac && /[\uf700-\uf7ff]/.test(text)) { + cm.display.input.reset(); + return false + } + + if (cm.doc.sel == cm.display.selForContextMenu) { + var first = text.charCodeAt(0); + if (first == 0x200b && !prevInput) { prevInput = "\u200b"; } + if (first == 0x21da) { this.reset(); return this.cm.execCommand("undo") } + } + // Find the part of the input that is actually new + var same = 0, l = Math.min(prevInput.length, text.length); + while (same < l && prevInput.charCodeAt(same) == text.charCodeAt(same)) { ++same; } + + runInOp(cm, function () { + applyTextInput(cm, text.slice(same), prevInput.length - same, + null, this$1.composing ? "*compose" : null); + + // Don't leave long text in the textarea, since it makes further polling slow + if (text.length > 1000 || text.indexOf("\n") > -1) { input.value = this$1.prevInput = ""; } + else { this$1.prevInput = text; } + + if (this$1.composing) { + this$1.composing.range.clear(); + this$1.composing.range = cm.markText(this$1.composing.start, cm.getCursor("to"), + {className: "CodeMirror-composing"}); + } + }); + return true + }; + + TextareaInput.prototype.ensurePolled = function () { + if (this.pollingFast && this.poll()) { this.pollingFast = false; } + }; + + TextareaInput.prototype.onKeyPress = function () { + if (ie && ie_version >= 9) { this.hasSelection = null; } + this.fastPoll(); + }; + + TextareaInput.prototype.onContextMenu = function (e) { + var input = this, cm = input.cm, display = cm.display, te = input.textarea; + if (input.contextMenuPending) { input.contextMenuPending(); } + var pos = posFromMouse(cm, e), scrollPos = display.scroller.scrollTop; + if (!pos || presto) { return } // Opera is difficult. + + // Reset the current text selection only if the click is done outside of the selection + // and 'resetSelectionOnContextMenu' option is true. + var reset = cm.options.resetSelectionOnContextMenu; + if (reset && cm.doc.sel.contains(pos) == -1) + { operation(cm, setSelection)(cm.doc, simpleSelection(pos), sel_dontScroll); } + + var oldCSS = te.style.cssText, oldWrapperCSS = input.wrapper.style.cssText; + var wrapperBox = input.wrapper.offsetParent.getBoundingClientRect(); + input.wrapper.style.cssText = "position: static"; + te.style.cssText = "position: absolute; width: 30px; height: 30px;\n top: " + (e.clientY - wrapperBox.top - 5) + "px; left: " + (e.clientX - wrapperBox.left - 5) + "px;\n z-index: 1000; background: " + (ie ? "rgba(255, 255, 255, .05)" : "transparent") + ";\n outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);"; + var oldScrollY; + if (webkit) { oldScrollY = te.ownerDocument.defaultView.scrollY; } // Work around Chrome issue (#2712) + display.input.focus(); + if (webkit) { te.ownerDocument.defaultView.scrollTo(null, oldScrollY); } + display.input.reset(); + // Adds "Select all" to context menu in FF + if (!cm.somethingSelected()) { te.value = input.prevInput = " "; } + input.contextMenuPending = rehide; + display.selForContextMenu = cm.doc.sel; + clearTimeout(display.detectingSelectAll); + + // Select-all will be greyed out if there's nothing to select, so + // this adds a zero-width space so that we can later check whether + // it got selected. + function prepareSelectAllHack() { + if (te.selectionStart != null) { + var selected = cm.somethingSelected(); + var extval = "\u200b" + (selected ? te.value : ""); + te.value = "\u21da"; // Used to catch context-menu undo + te.value = extval; + input.prevInput = selected ? "" : "\u200b"; + te.selectionStart = 1; te.selectionEnd = extval.length; + // Re-set this, in case some other handler touched the + // selection in the meantime. + display.selForContextMenu = cm.doc.sel; + } + } + function rehide() { + if (input.contextMenuPending != rehide) { return } + input.contextMenuPending = false; + input.wrapper.style.cssText = oldWrapperCSS; + te.style.cssText = oldCSS; + if (ie && ie_version < 9) { display.scrollbars.setScrollTop(display.scroller.scrollTop = scrollPos); } + + // Try to detect the user choosing select-all + if (te.selectionStart != null) { + if (!ie || (ie && ie_version < 9)) { prepareSelectAllHack(); } + var i = 0, poll = function () { + if (display.selForContextMenu == cm.doc.sel && te.selectionStart == 0 && + te.selectionEnd > 0 && input.prevInput == "\u200b") { + operation(cm, selectAll)(cm); + } else if (i++ < 10) { + display.detectingSelectAll = setTimeout(poll, 500); + } else { + display.selForContextMenu = null; + display.input.reset(); + } + }; + display.detectingSelectAll = setTimeout(poll, 200); + } + } + + if (ie && ie_version >= 9) { prepareSelectAllHack(); } + if (captureRightClick) { + e_stop(e); + var mouseup = function () { + off(window, "mouseup", mouseup); + setTimeout(rehide, 20); + }; + on(window, "mouseup", mouseup); + } else { + setTimeout(rehide, 50); + } + }; + + TextareaInput.prototype.readOnlyChanged = function (val) { + if (!val) { this.reset(); } + this.textarea.disabled = val == "nocursor"; + this.textarea.readOnly = !!val; + }; + + TextareaInput.prototype.setUneditable = function () {}; + + TextareaInput.prototype.needsContentAttribute = false; + + function fromTextArea(textarea, options) { + options = options ? copyObj(options) : {}; + options.value = textarea.value; + if (!options.tabindex && textarea.tabIndex) + { options.tabindex = textarea.tabIndex; } + if (!options.placeholder && textarea.placeholder) + { options.placeholder = textarea.placeholder; } + // Set autofocus to true if this textarea is focused, or if it has + // autofocus and no other element is focused. + if (options.autofocus == null) { + var hasFocus = activeElt(rootNode(textarea)); + options.autofocus = hasFocus == textarea || + textarea.getAttribute("autofocus") != null && hasFocus == document.body; + } + + function save() {textarea.value = cm.getValue();} + + var realSubmit; + if (textarea.form) { + on(textarea.form, "submit", save); + // Deplorable hack to make the submit method do the right thing. + if (!options.leaveSubmitMethodAlone) { + var form = textarea.form; + realSubmit = form.submit; + try { + var wrappedSubmit = form.submit = function () { + save(); + form.submit = realSubmit; + form.submit(); + form.submit = wrappedSubmit; + }; + } catch(e) {} + } + } + + options.finishInit = function (cm) { + cm.save = save; + cm.getTextArea = function () { return textarea; }; + cm.toTextArea = function () { + cm.toTextArea = isNaN; // Prevent this from being ran twice + save(); + textarea.parentNode.removeChild(cm.getWrapperElement()); + textarea.style.display = ""; + if (textarea.form) { + off(textarea.form, "submit", save); + if (!options.leaveSubmitMethodAlone && typeof textarea.form.submit == "function") + { textarea.form.submit = realSubmit; } + } + }; + }; + + textarea.style.display = "none"; + var cm = CodeMirror(function (node) { return textarea.parentNode.insertBefore(node, textarea.nextSibling); }, + options); + return cm + } + + function addLegacyProps(CodeMirror) { + CodeMirror.off = off; + CodeMirror.on = on; + CodeMirror.wheelEventPixels = wheelEventPixels; + CodeMirror.Doc = Doc; + CodeMirror.splitLines = splitLinesAuto; + CodeMirror.countColumn = countColumn; + CodeMirror.findColumn = findColumn; + CodeMirror.isWordChar = isWordCharBasic; + CodeMirror.Pass = Pass; + CodeMirror.signal = signal; + CodeMirror.Line = Line; + CodeMirror.changeEnd = changeEnd; + CodeMirror.scrollbarModel = scrollbarModel; + CodeMirror.Pos = Pos; + CodeMirror.cmpPos = cmp; + CodeMirror.modes = modes; + CodeMirror.mimeModes = mimeModes; + CodeMirror.resolveMode = resolveMode; + CodeMirror.getMode = getMode; + CodeMirror.modeExtensions = modeExtensions; + CodeMirror.extendMode = extendMode; + CodeMirror.copyState = copyState; + CodeMirror.startState = startState; + CodeMirror.innerMode = innerMode; + CodeMirror.commands = commands; + CodeMirror.keyMap = keyMap; + CodeMirror.keyName = keyName; + CodeMirror.isModifierKey = isModifierKey; + CodeMirror.lookupKey = lookupKey; + CodeMirror.normalizeKeyMap = normalizeKeyMap; + CodeMirror.StringStream = StringStream; + CodeMirror.SharedTextMarker = SharedTextMarker; + CodeMirror.TextMarker = TextMarker; + CodeMirror.LineWidget = LineWidget; + CodeMirror.e_preventDefault = e_preventDefault; + CodeMirror.e_stopPropagation = e_stopPropagation; + CodeMirror.e_stop = e_stop; + CodeMirror.addClass = addClass; + CodeMirror.contains = contains; + CodeMirror.rmClass = rmClass; + CodeMirror.keyNames = keyNames; + } + + // EDITOR CONSTRUCTOR + + defineOptions(CodeMirror); + + addEditorMethods(CodeMirror); + + // Set up methods on CodeMirror's prototype to redirect to the editor's document. + var dontDelegate = "iter insert remove copy getEditor constructor".split(" "); + for (var prop in Doc.prototype) { if (Doc.prototype.hasOwnProperty(prop) && indexOf(dontDelegate, prop) < 0) + { CodeMirror.prototype[prop] = (function(method) { + return function() {return method.apply(this.doc, arguments)} + })(Doc.prototype[prop]); } } + + eventMixin(Doc); + CodeMirror.inputStyles = {"textarea": TextareaInput, "contenteditable": ContentEditableInput}; + + // Extra arguments are stored as the mode's dependencies, which is + // used by (legacy) mechanisms like loadmode.js to automatically + // load a mode. (Preferred mechanism is the require/define calls.) + CodeMirror.defineMode = function(name/*, mode, …*/) { + if (!CodeMirror.defaults.mode && name != "null") { CodeMirror.defaults.mode = name; } + defineMode.apply(this, arguments); + }; + + CodeMirror.defineMIME = defineMIME; + + // Minimal default mode. + CodeMirror.defineMode("null", function () { return ({token: function (stream) { return stream.skipToEnd(); }}); }); + CodeMirror.defineMIME("text/plain", "null"); + + // EXTENSIONS + + CodeMirror.defineExtension = function (name, func) { + CodeMirror.prototype[name] = func; + }; + CodeMirror.defineDocExtension = function (name, func) { + Doc.prototype[name] = func; + }; + + CodeMirror.fromTextArea = fromTextArea; + + addLegacyProps(CodeMirror); + + CodeMirror.version = "5.65.16"; + + return CodeMirror; + +}))); diff --git a/wwws/admin/src/static/lib/codemirror/css/css.js b/wwws/admin/src/static/lib/codemirror/css/css.js new file mode 100644 index 0000000..b0721b4 --- /dev/null +++ b/wwws/admin/src/static/lib/codemirror/css/css.js @@ -0,0 +1,862 @@ +// CodeMirror, copyright (c) by Marijn Haverbeke and others +// Distributed under an MIT license: https://codemirror.net/5/LICENSE + +(function(mod) { + if (typeof exports == "object" && typeof module == "object") // CommonJS + mod(require("../../lib/codemirror")); + else if (typeof define == "function" && define.amd) // AMD + define(["../../lib/codemirror"], mod); + else // Plain browser env + mod(CodeMirror); +})(function(CodeMirror) { +"use strict"; + +CodeMirror.defineMode("css", function(config, parserConfig) { + var inline = parserConfig.inline + if (!parserConfig.propertyKeywords) parserConfig = CodeMirror.resolveMode("text/css"); + + var indentUnit = config.indentUnit, + tokenHooks = parserConfig.tokenHooks, + documentTypes = parserConfig.documentTypes || {}, + mediaTypes = parserConfig.mediaTypes || {}, + mediaFeatures = parserConfig.mediaFeatures || {}, + mediaValueKeywords = parserConfig.mediaValueKeywords || {}, + propertyKeywords = parserConfig.propertyKeywords || {}, + nonStandardPropertyKeywords = parserConfig.nonStandardPropertyKeywords || {}, + fontProperties = parserConfig.fontProperties || {}, + counterDescriptors = parserConfig.counterDescriptors || {}, + colorKeywords = parserConfig.colorKeywords || {}, + valueKeywords = parserConfig.valueKeywords || {}, + allowNested = parserConfig.allowNested, + lineComment = parserConfig.lineComment, + supportsAtComponent = parserConfig.supportsAtComponent === true, + highlightNonStandardPropertyKeywords = config.highlightNonStandardPropertyKeywords !== false; + + var type, override; + function ret(style, tp) { type = tp; return style; } + + // Tokenizers + + function tokenBase(stream, state) { + var ch = stream.next(); + if (tokenHooks[ch]) { + var result = tokenHooks[ch](stream, state); + if (result !== false) return result; + } + if (ch == "@") { + stream.eatWhile(/[\w\\\-]/); + return ret("def", stream.current()); + } else if (ch == "=" || (ch == "~" || ch == "|") && stream.eat("=")) { + return ret(null, "compare"); + } else if (ch == "\"" || ch == "'") { + state.tokenize = tokenString(ch); + return state.tokenize(stream, state); + } else if (ch == "#") { + stream.eatWhile(/[\w\\\-]/); + return ret("atom", "hash"); + } else if (ch == "!") { + stream.match(/^\s*\w*/); + return ret("keyword", "important"); + } else if (/\d/.test(ch) || ch == "." && stream.eat(/\d/)) { + stream.eatWhile(/[\w.%]/); + return ret("number", "unit"); + } else if (ch === "-") { + if (/[\d.]/.test(stream.peek())) { + stream.eatWhile(/[\w.%]/); + return ret("number", "unit"); + } else if (stream.match(/^-[\w\\\-]*/)) { + stream.eatWhile(/[\w\\\-]/); + if (stream.match(/^\s*:/, false)) + return ret("variable-2", "variable-definition"); + return ret("variable-2", "variable"); + } else if (stream.match(/^\w+-/)) { + return ret("meta", "meta"); + } + } else if (/[,+>*\/]/.test(ch)) { + return ret(null, "select-op"); + } else if (ch == "." && stream.match(/^-?[_a-z][_a-z0-9-]*/i)) { + return ret("qualifier", "qualifier"); + } else if (/[:;{}\[\]\(\)]/.test(ch)) { + return ret(null, ch); + } else if (stream.match(/^[\w-.]+(?=\()/)) { + if (/^(url(-prefix)?|domain|regexp)$/i.test(stream.current())) { + state.tokenize = tokenParenthesized; + } + return ret("variable callee", "variable"); + } else if (/[\w\\\-]/.test(ch)) { + stream.eatWhile(/[\w\\\-]/); + return ret("property", "word"); + } else { + return ret(null, null); + } + } + + function tokenString(quote) { + return function(stream, state) { + var escaped = false, ch; + while ((ch = stream.next()) != null) { + if (ch == quote && !escaped) { + if (quote == ")") stream.backUp(1); + break; + } + escaped = !escaped && ch == "\\"; + } + if (ch == quote || !escaped && quote != ")") state.tokenize = null; + return ret("string", "string"); + }; + } + + function tokenParenthesized(stream, state) { + stream.next(); // Must be '(' + if (!stream.match(/^\s*[\"\')]/, false)) + state.tokenize = tokenString(")"); + else + state.tokenize = null; + return ret(null, "("); + } + + // Context management + + function Context(type, indent, prev) { + this.type = type; + this.indent = indent; + this.prev = prev; + } + + function pushContext(state, stream, type, indent) { + state.context = new Context(type, stream.indentation() + (indent === false ? 0 : indentUnit), state.context); + return type; + } + + function popContext(state) { + if (state.context.prev) + state.context = state.context.prev; + return state.context.type; + } + + function pass(type, stream, state) { + return states[state.context.type](type, stream, state); + } + function popAndPass(type, stream, state, n) { + for (var i = n || 1; i > 0; i--) + state.context = state.context.prev; + return pass(type, stream, state); + } + + // Parser + + function wordAsValue(stream) { + var word = stream.current().toLowerCase(); + if (valueKeywords.hasOwnProperty(word)) + override = "atom"; + else if (colorKeywords.hasOwnProperty(word)) + override = "keyword"; + else + override = "variable"; + } + + var states = {}; + + states.top = function(type, stream, state) { + if (type == "{") { + return pushContext(state, stream, "block"); + } else if (type == "}" && state.context.prev) { + return popContext(state); + } else if (supportsAtComponent && /@component/i.test(type)) { + return pushContext(state, stream, "atComponentBlock"); + } else if (/^@(-moz-)?document$/i.test(type)) { + return pushContext(state, stream, "documentTypes"); + } else if (/^@(media|supports|(-moz-)?document|import)$/i.test(type)) { + return pushContext(state, stream, "atBlock"); + } else if (/^@(font-face|counter-style)/i.test(type)) { + state.stateArg = type; + return "restricted_atBlock_before"; + } else if (/^@(-(moz|ms|o|webkit)-)?keyframes$/i.test(type)) { + return "keyframes"; + } else if (type && type.charAt(0) == "@") { + return pushContext(state, stream, "at"); + } else if (type == "hash") { + override = "builtin"; + } else if (type == "word") { + override = "tag"; + } else if (type == "variable-definition") { + return "maybeprop"; + } else if (type == "interpolation") { + return pushContext(state, stream, "interpolation"); + } else if (type == ":") { + return "pseudo"; + } else if (allowNested && type == "(") { + return pushContext(state, stream, "parens"); + } + return state.context.type; + }; + + states.block = function(type, stream, state) { + if (type == "word") { + var word = stream.current().toLowerCase(); + if (propertyKeywords.hasOwnProperty(word)) { + override = "property"; + return "maybeprop"; + } else if (nonStandardPropertyKeywords.hasOwnProperty(word)) { + override = highlightNonStandardPropertyKeywords ? "string-2" : "property"; + return "maybeprop"; + } else if (allowNested) { + override = stream.match(/^\s*:(?:\s|$)/, false) ? "property" : "tag"; + return "block"; + } else { + override += " error"; + return "maybeprop"; + } + } else if (type == "meta") { + return "block"; + } else if (!allowNested && (type == "hash" || type == "qualifier")) { + override = "error"; + return "block"; + } else { + return states.top(type, stream, state); + } + }; + + states.maybeprop = function(type, stream, state) { + if (type == ":") return pushContext(state, stream, "prop"); + return pass(type, stream, state); + }; + + states.prop = function(type, stream, state) { + if (type == ";") return popContext(state); + if (type == "{" && allowNested) return pushContext(state, stream, "propBlock"); + if (type == "}" || type == "{") return popAndPass(type, stream, state); + if (type == "(") return pushContext(state, stream, "parens"); + + if (type == "hash" && !/^#([0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/.test(stream.current())) { + override += " error"; + } else if (type == "word") { + wordAsValue(stream); + } else if (type == "interpolation") { + return pushContext(state, stream, "interpolation"); + } + return "prop"; + }; + + states.propBlock = function(type, _stream, state) { + if (type == "}") return popContext(state); + if (type == "word") { override = "property"; return "maybeprop"; } + return state.context.type; + }; + + states.parens = function(type, stream, state) { + if (type == "{" || type == "}") return popAndPass(type, stream, state); + if (type == ")") return popContext(state); + if (type == "(") return pushContext(state, stream, "parens"); + if (type == "interpolation") return pushContext(state, stream, "interpolation"); + if (type == "word") wordAsValue(stream); + return "parens"; + }; + + states.pseudo = function(type, stream, state) { + if (type == "meta") return "pseudo"; + + if (type == "word") { + override = "variable-3"; + return state.context.type; + } + return pass(type, stream, state); + }; + + states.documentTypes = function(type, stream, state) { + if (type == "word" && documentTypes.hasOwnProperty(stream.current())) { + override = "tag"; + return state.context.type; + } else { + return states.atBlock(type, stream, state); + } + }; + + states.atBlock = function(type, stream, state) { + if (type == "(") return pushContext(state, stream, "atBlock_parens"); + if (type == "}" || type == ";") return popAndPass(type, stream, state); + if (type == "{") return popContext(state) && pushContext(state, stream, allowNested ? "block" : "top"); + + if (type == "interpolation") return pushContext(state, stream, "interpolation"); + + if (type == "word") { + var word = stream.current().toLowerCase(); + if (word == "only" || word == "not" || word == "and" || word == "or") + override = "keyword"; + else if (mediaTypes.hasOwnProperty(word)) + override = "attribute"; + else if (mediaFeatures.hasOwnProperty(word)) + override = "property"; + else if (mediaValueKeywords.hasOwnProperty(word)) + override = "keyword"; + else if (propertyKeywords.hasOwnProperty(word)) + override = "property"; + else if (nonStandardPropertyKeywords.hasOwnProperty(word)) + override = highlightNonStandardPropertyKeywords ? "string-2" : "property"; + else if (valueKeywords.hasOwnProperty(word)) + override = "atom"; + else if (colorKeywords.hasOwnProperty(word)) + override = "keyword"; + else + override = "error"; + } + return state.context.type; + }; + + states.atComponentBlock = function(type, stream, state) { + if (type == "}") + return popAndPass(type, stream, state); + if (type == "{") + return popContext(state) && pushContext(state, stream, allowNested ? "block" : "top", false); + if (type == "word") + override = "error"; + return state.context.type; + }; + + states.atBlock_parens = function(type, stream, state) { + if (type == ")") return popContext(state); + if (type == "{" || type == "}") return popAndPass(type, stream, state, 2); + return states.atBlock(type, stream, state); + }; + + states.restricted_atBlock_before = function(type, stream, state) { + if (type == "{") + return pushContext(state, stream, "restricted_atBlock"); + if (type == "word" && state.stateArg == "@counter-style") { + override = "variable"; + return "restricted_atBlock_before"; + } + return pass(type, stream, state); + }; + + states.restricted_atBlock = function(type, stream, state) { + if (type == "}") { + state.stateArg = null; + return popContext(state); + } + if (type == "word") { + if ((state.stateArg == "@font-face" && !fontProperties.hasOwnProperty(stream.current().toLowerCase())) || + (state.stateArg == "@counter-style" && !counterDescriptors.hasOwnProperty(stream.current().toLowerCase()))) + override = "error"; + else + override = "property"; + return "maybeprop"; + } + return "restricted_atBlock"; + }; + + states.keyframes = function(type, stream, state) { + if (type == "word") { override = "variable"; return "keyframes"; } + if (type == "{") return pushContext(state, stream, "top"); + return pass(type, stream, state); + }; + + states.at = function(type, stream, state) { + if (type == ";") return popContext(state); + if (type == "{" || type == "}") return popAndPass(type, stream, state); + if (type == "word") override = "tag"; + else if (type == "hash") override = "builtin"; + return "at"; + }; + + states.interpolation = function(type, stream, state) { + if (type == "}") return popContext(state); + if (type == "{" || type == ";") return popAndPass(type, stream, state); + if (type == "word") override = "variable"; + else if (type != "variable" && type != "(" && type != ")") override = "error"; + return "interpolation"; + }; + + return { + startState: function(base) { + return {tokenize: null, + state: inline ? "block" : "top", + stateArg: null, + context: new Context(inline ? "block" : "top", base || 0, null)}; + }, + + token: function(stream, state) { + if (!state.tokenize && stream.eatSpace()) return null; + var style = (state.tokenize || tokenBase)(stream, state); + if (style && typeof style == "object") { + type = style[1]; + style = style[0]; + } + override = style; + if (type != "comment") + state.state = states[state.state](type, stream, state); + return override; + }, + + indent: function(state, textAfter) { + var cx = state.context, ch = textAfter && textAfter.charAt(0); + var indent = cx.indent; + if (cx.type == "prop" && (ch == "}" || ch == ")")) cx = cx.prev; + if (cx.prev) { + if (ch == "}" && (cx.type == "block" || cx.type == "top" || + cx.type == "interpolation" || cx.type == "restricted_atBlock")) { + // Resume indentation from parent context. + cx = cx.prev; + indent = cx.indent; + } else if (ch == ")" && (cx.type == "parens" || cx.type == "atBlock_parens") || + ch == "{" && (cx.type == "at" || cx.type == "atBlock")) { + // Dedent relative to current context. + indent = Math.max(0, cx.indent - indentUnit); + } + } + return indent; + }, + + electricChars: "}", + blockCommentStart: "/*", + blockCommentEnd: "*/", + blockCommentContinue: " * ", + lineComment: lineComment, + fold: "brace" + }; +}); + + function keySet(array) { + var keys = {}; + for (var i = 0; i < array.length; ++i) { + keys[array[i].toLowerCase()] = true; + } + return keys; + } + + var documentTypes_ = [ + "domain", "regexp", "url", "url-prefix" + ], documentTypes = keySet(documentTypes_); + + var mediaTypes_ = [ + "all", "aural", "braille", "handheld", "print", "projection", "screen", + "tty", "tv", "embossed" + ], mediaTypes = keySet(mediaTypes_); + + var mediaFeatures_ = [ + "width", "min-width", "max-width", "height", "min-height", "max-height", + "device-width", "min-device-width", "max-device-width", "device-height", + "min-device-height", "max-device-height", "aspect-ratio", + "min-aspect-ratio", "max-aspect-ratio", "device-aspect-ratio", + "min-device-aspect-ratio", "max-device-aspect-ratio", "color", "min-color", + "max-color", "color-index", "min-color-index", "max-color-index", + "monochrome", "min-monochrome", "max-monochrome", "resolution", + "min-resolution", "max-resolution", "scan", "grid", "orientation", + "device-pixel-ratio", "min-device-pixel-ratio", "max-device-pixel-ratio", + "pointer", "any-pointer", "hover", "any-hover", "prefers-color-scheme", + "dynamic-range", "video-dynamic-range" + ], mediaFeatures = keySet(mediaFeatures_); + + var mediaValueKeywords_ = [ + "landscape", "portrait", "none", "coarse", "fine", "on-demand", "hover", + "interlace", "progressive", + "dark", "light", + "standard", "high" + ], mediaValueKeywords = keySet(mediaValueKeywords_); + + var propertyKeywords_ = [ + "align-content", "align-items", "align-self", "alignment-adjust", + "alignment-baseline", "all", "anchor-point", "animation", "animation-delay", + "animation-direction", "animation-duration", "animation-fill-mode", + "animation-iteration-count", "animation-name", "animation-play-state", + "animation-timing-function", "appearance", "azimuth", "backdrop-filter", + "backface-visibility", "background", "background-attachment", + "background-blend-mode", "background-clip", "background-color", + "background-image", "background-origin", "background-position", + "background-position-x", "background-position-y", "background-repeat", + "background-size", "baseline-shift", "binding", "bleed", "block-size", + "bookmark-label", "bookmark-level", "bookmark-state", "bookmark-target", + "border", "border-bottom", "border-bottom-color", "border-bottom-left-radius", + "border-bottom-right-radius", "border-bottom-style", "border-bottom-width", + "border-collapse", "border-color", "border-image", "border-image-outset", + "border-image-repeat", "border-image-slice", "border-image-source", + "border-image-width", "border-left", "border-left-color", "border-left-style", + "border-left-width", "border-radius", "border-right", "border-right-color", + "border-right-style", "border-right-width", "border-spacing", "border-style", + "border-top", "border-top-color", "border-top-left-radius", + "border-top-right-radius", "border-top-style", "border-top-width", + "border-width", "bottom", "box-decoration-break", "box-shadow", "box-sizing", + "break-after", "break-before", "break-inside", "caption-side", "caret-color", + "clear", "clip", "color", "color-profile", "column-count", "column-fill", + "column-gap", "column-rule", "column-rule-color", "column-rule-style", + "column-rule-width", "column-span", "column-width", "columns", "contain", + "content", "counter-increment", "counter-reset", "crop", "cue", "cue-after", + "cue-before", "cursor", "direction", "display", "dominant-baseline", + "drop-initial-after-adjust", "drop-initial-after-align", + "drop-initial-before-adjust", "drop-initial-before-align", "drop-initial-size", + "drop-initial-value", "elevation", "empty-cells", "fit", "fit-content", "fit-position", + "flex", "flex-basis", "flex-direction", "flex-flow", "flex-grow", + "flex-shrink", "flex-wrap", "float", "float-offset", "flow-from", "flow-into", + "font", "font-family", "font-feature-settings", "font-kerning", + "font-language-override", "font-optical-sizing", "font-size", + "font-size-adjust", "font-stretch", "font-style", "font-synthesis", + "font-variant", "font-variant-alternates", "font-variant-caps", + "font-variant-east-asian", "font-variant-ligatures", "font-variant-numeric", + "font-variant-position", "font-variation-settings", "font-weight", "gap", + "grid", "grid-area", "grid-auto-columns", "grid-auto-flow", "grid-auto-rows", + "grid-column", "grid-column-end", "grid-column-gap", "grid-column-start", + "grid-gap", "grid-row", "grid-row-end", "grid-row-gap", "grid-row-start", + "grid-template", "grid-template-areas", "grid-template-columns", + "grid-template-rows", "hanging-punctuation", "height", "hyphens", "icon", + "image-orientation", "image-rendering", "image-resolution", "inline-box-align", + "inset", "inset-block", "inset-block-end", "inset-block-start", "inset-inline", + "inset-inline-end", "inset-inline-start", "isolation", "justify-content", + "justify-items", "justify-self", "left", "letter-spacing", "line-break", + "line-height", "line-height-step", "line-stacking", "line-stacking-ruby", + "line-stacking-shift", "line-stacking-strategy", "list-style", + "list-style-image", "list-style-position", "list-style-type", "margin", + "margin-bottom", "margin-left", "margin-right", "margin-top", "marks", + "marquee-direction", "marquee-loop", "marquee-play-count", "marquee-speed", + "marquee-style", "mask-clip", "mask-composite", "mask-image", "mask-mode", + "mask-origin", "mask-position", "mask-repeat", "mask-size","mask-type", + "max-block-size", "max-height", "max-inline-size", + "max-width", "min-block-size", "min-height", "min-inline-size", "min-width", + "mix-blend-mode", "move-to", "nav-down", "nav-index", "nav-left", "nav-right", + "nav-up", "object-fit", "object-position", "offset", "offset-anchor", + "offset-distance", "offset-path", "offset-position", "offset-rotate", + "opacity", "order", "orphans", "outline", "outline-color", "outline-offset", + "outline-style", "outline-width", "overflow", "overflow-style", + "overflow-wrap", "overflow-x", "overflow-y", "padding", "padding-bottom", + "padding-left", "padding-right", "padding-top", "page", "page-break-after", + "page-break-before", "page-break-inside", "page-policy", "pause", + "pause-after", "pause-before", "perspective", "perspective-origin", "pitch", + "pitch-range", "place-content", "place-items", "place-self", "play-during", + "position", "presentation-level", "punctuation-trim", "quotes", + "region-break-after", "region-break-before", "region-break-inside", + "region-fragment", "rendering-intent", "resize", "rest", "rest-after", + "rest-before", "richness", "right", "rotate", "rotation", "rotation-point", + "row-gap", "ruby-align", "ruby-overhang", "ruby-position", "ruby-span", + "scale", "scroll-behavior", "scroll-margin", "scroll-margin-block", + "scroll-margin-block-end", "scroll-margin-block-start", "scroll-margin-bottom", + "scroll-margin-inline", "scroll-margin-inline-end", + "scroll-margin-inline-start", "scroll-margin-left", "scroll-margin-right", + "scroll-margin-top", "scroll-padding", "scroll-padding-block", + "scroll-padding-block-end", "scroll-padding-block-start", + "scroll-padding-bottom", "scroll-padding-inline", "scroll-padding-inline-end", + "scroll-padding-inline-start", "scroll-padding-left", "scroll-padding-right", + "scroll-padding-top", "scroll-snap-align", "scroll-snap-type", + "shape-image-threshold", "shape-inside", "shape-margin", "shape-outside", + "size", "speak", "speak-as", "speak-header", "speak-numeral", + "speak-punctuation", "speech-rate", "stress", "string-set", "tab-size", + "table-layout", "target", "target-name", "target-new", "target-position", + "text-align", "text-align-last", "text-combine-upright", "text-decoration", + "text-decoration-color", "text-decoration-line", "text-decoration-skip", + "text-decoration-skip-ink", "text-decoration-style", "text-emphasis", + "text-emphasis-color", "text-emphasis-position", "text-emphasis-style", + "text-height", "text-indent", "text-justify", "text-orientation", + "text-outline", "text-overflow", "text-rendering", "text-shadow", + "text-size-adjust", "text-space-collapse", "text-transform", + "text-underline-position", "text-wrap", "top", "touch-action", "transform", "transform-origin", + "transform-style", "transition", "transition-delay", "transition-duration", + "transition-property", "transition-timing-function", "translate", + "unicode-bidi", "user-select", "vertical-align", "visibility", "voice-balance", + "voice-duration", "voice-family", "voice-pitch", "voice-range", "voice-rate", + "voice-stress", "voice-volume", "volume", "white-space", "widows", "width", + "will-change", "word-break", "word-spacing", "word-wrap", "writing-mode", "z-index", + // SVG-specific + "clip-path", "clip-rule", "mask", "enable-background", "filter", "flood-color", + "flood-opacity", "lighting-color", "stop-color", "stop-opacity", "pointer-events", + "color-interpolation", "color-interpolation-filters", + "color-rendering", "fill", "fill-opacity", "fill-rule", "image-rendering", + "marker", "marker-end", "marker-mid", "marker-start", "paint-order", "shape-rendering", "stroke", + "stroke-dasharray", "stroke-dashoffset", "stroke-linecap", "stroke-linejoin", + "stroke-miterlimit", "stroke-opacity", "stroke-width", "text-rendering", + "baseline-shift", "dominant-baseline", "glyph-orientation-horizontal", + "glyph-orientation-vertical", "text-anchor", "writing-mode", + ], propertyKeywords = keySet(propertyKeywords_); + + var nonStandardPropertyKeywords_ = [ + "accent-color", "aspect-ratio", "border-block", "border-block-color", "border-block-end", + "border-block-end-color", "border-block-end-style", "border-block-end-width", + "border-block-start", "border-block-start-color", "border-block-start-style", + "border-block-start-width", "border-block-style", "border-block-width", + "border-inline", "border-inline-color", "border-inline-end", + "border-inline-end-color", "border-inline-end-style", + "border-inline-end-width", "border-inline-start", "border-inline-start-color", + "border-inline-start-style", "border-inline-start-width", + "border-inline-style", "border-inline-width", "content-visibility", "margin-block", + "margin-block-end", "margin-block-start", "margin-inline", "margin-inline-end", + "margin-inline-start", "overflow-anchor", "overscroll-behavior", "padding-block", "padding-block-end", + "padding-block-start", "padding-inline", "padding-inline-end", + "padding-inline-start", "scroll-snap-stop", "scrollbar-3d-light-color", + "scrollbar-arrow-color", "scrollbar-base-color", "scrollbar-dark-shadow-color", + "scrollbar-face-color", "scrollbar-highlight-color", "scrollbar-shadow-color", + "scrollbar-track-color", "searchfield-cancel-button", "searchfield-decoration", + "searchfield-results-button", "searchfield-results-decoration", "shape-inside", "zoom" + ], nonStandardPropertyKeywords = keySet(nonStandardPropertyKeywords_); + + var fontProperties_ = [ + "font-display", "font-family", "src", "unicode-range", "font-variant", + "font-feature-settings", "font-stretch", "font-weight", "font-style" + ], fontProperties = keySet(fontProperties_); + + var counterDescriptors_ = [ + "additive-symbols", "fallback", "negative", "pad", "prefix", "range", + "speak-as", "suffix", "symbols", "system" + ], counterDescriptors = keySet(counterDescriptors_); + + var colorKeywords_ = [ + "aliceblue", "antiquewhite", "aqua", "aquamarine", "azure", "beige", + "bisque", "black", "blanchedalmond", "blue", "blueviolet", "brown", + "burlywood", "cadetblue", "chartreuse", "chocolate", "coral", "cornflowerblue", + "cornsilk", "crimson", "cyan", "darkblue", "darkcyan", "darkgoldenrod", + "darkgray", "darkgreen", "darkgrey", "darkkhaki", "darkmagenta", "darkolivegreen", + "darkorange", "darkorchid", "darkred", "darksalmon", "darkseagreen", + "darkslateblue", "darkslategray", "darkslategrey", "darkturquoise", "darkviolet", + "deeppink", "deepskyblue", "dimgray", "dimgrey", "dodgerblue", "firebrick", + "floralwhite", "forestgreen", "fuchsia", "gainsboro", "ghostwhite", + "gold", "goldenrod", "gray", "grey", "green", "greenyellow", "honeydew", + "hotpink", "indianred", "indigo", "ivory", "khaki", "lavender", + "lavenderblush", "lawngreen", "lemonchiffon", "lightblue", "lightcoral", + "lightcyan", "lightgoldenrodyellow", "lightgray", "lightgreen", "lightgrey", "lightpink", + "lightsalmon", "lightseagreen", "lightskyblue", "lightslategray", "lightslategrey", + "lightsteelblue", "lightyellow", "lime", "limegreen", "linen", "magenta", + "maroon", "mediumaquamarine", "mediumblue", "mediumorchid", "mediumpurple", + "mediumseagreen", "mediumslateblue", "mediumspringgreen", "mediumturquoise", + "mediumvioletred", "midnightblue", "mintcream", "mistyrose", "moccasin", + "navajowhite", "navy", "oldlace", "olive", "olivedrab", "orange", "orangered", + "orchid", "palegoldenrod", "palegreen", "paleturquoise", "palevioletred", + "papayawhip", "peachpuff", "peru", "pink", "plum", "powderblue", + "purple", "rebeccapurple", "red", "rosybrown", "royalblue", "saddlebrown", + "salmon", "sandybrown", "seagreen", "seashell", "sienna", "silver", "skyblue", + "slateblue", "slategray", "slategrey", "snow", "springgreen", "steelblue", "tan", + "teal", "thistle", "tomato", "turquoise", "violet", "wheat", "white", + "whitesmoke", "yellow", "yellowgreen" + ], colorKeywords = keySet(colorKeywords_); + + var valueKeywords_ = [ + "above", "absolute", "activeborder", "additive", "activecaption", "afar", + "after-white-space", "ahead", "alias", "all", "all-scroll", "alphabetic", "alternate", + "always", "amharic", "amharic-abegede", "antialiased", "appworkspace", + "arabic-indic", "armenian", "asterisks", "attr", "auto", "auto-flow", "avoid", "avoid-column", "avoid-page", + "avoid-region", "axis-pan", "background", "backwards", "baseline", "below", "bidi-override", "binary", + "bengali", "blink", "block", "block-axis", "blur", "bold", "bolder", "border", "border-box", + "both", "bottom", "break", "break-all", "break-word", "brightness", "bullets", "button", + "buttonface", "buttonhighlight", "buttonshadow", "buttontext", "calc", "cambodian", + "capitalize", "caps-lock-indicator", "caption", "captiontext", "caret", + "cell", "center", "checkbox", "circle", "cjk-decimal", "cjk-earthly-branch", + "cjk-heavenly-stem", "cjk-ideographic", "clear", "clip", "close-quote", + "col-resize", "collapse", "color", "color-burn", "color-dodge", "column", "column-reverse", + "compact", "condensed", "conic-gradient", "contain", "content", "contents", + "content-box", "context-menu", "continuous", "contrast", "copy", "counter", "counters", "cover", "crop", + "cross", "crosshair", "cubic-bezier", "currentcolor", "cursive", "cyclic", "darken", "dashed", "decimal", + "decimal-leading-zero", "default", "default-button", "dense", "destination-atop", + "destination-in", "destination-out", "destination-over", "devanagari", "difference", + "disc", "discard", "disclosure-closed", "disclosure-open", "document", + "dot-dash", "dot-dot-dash", + "dotted", "double", "down", "drop-shadow", "e-resize", "ease", "ease-in", "ease-in-out", "ease-out", + "element", "ellipse", "ellipsis", "embed", "end", "ethiopic", "ethiopic-abegede", + "ethiopic-abegede-am-et", "ethiopic-abegede-gez", "ethiopic-abegede-ti-er", + "ethiopic-abegede-ti-et", "ethiopic-halehame-aa-er", + "ethiopic-halehame-aa-et", "ethiopic-halehame-am-et", + "ethiopic-halehame-gez", "ethiopic-halehame-om-et", + "ethiopic-halehame-sid-et", "ethiopic-halehame-so-et", + "ethiopic-halehame-ti-er", "ethiopic-halehame-ti-et", "ethiopic-halehame-tig", + "ethiopic-numeric", "ew-resize", "exclusion", "expanded", "extends", "extra-condensed", + "extra-expanded", "fantasy", "fast", "fill", "fill-box", "fixed", "flat", "flex", "flex-end", "flex-start", "footnotes", + "forwards", "from", "geometricPrecision", "georgian", "grayscale", "graytext", "grid", "groove", + "gujarati", "gurmukhi", "hand", "hangul", "hangul-consonant", "hard-light", "hebrew", + "help", "hidden", "hide", "higher", "highlight", "highlighttext", + "hiragana", "hiragana-iroha", "horizontal", "hsl", "hsla", "hue", "hue-rotate", "icon", "ignore", + "inactiveborder", "inactivecaption", "inactivecaptiontext", "infinite", + "infobackground", "infotext", "inherit", "initial", "inline", "inline-axis", + "inline-block", "inline-flex", "inline-grid", "inline-table", "inset", "inside", "intrinsic", "invert", + "italic", "japanese-formal", "japanese-informal", "justify", "kannada", + "katakana", "katakana-iroha", "keep-all", "khmer", + "korean-hangul-formal", "korean-hanja-formal", "korean-hanja-informal", + "landscape", "lao", "large", "larger", "left", "level", "lighter", "lighten", + "line-through", "linear", "linear-gradient", "lines", "list-item", "listbox", "listitem", + "local", "logical", "loud", "lower", "lower-alpha", "lower-armenian", + "lower-greek", "lower-hexadecimal", "lower-latin", "lower-norwegian", + "lower-roman", "lowercase", "ltr", "luminosity", "malayalam", "manipulation", "match", "matrix", "matrix3d", + "media-play-button", "media-slider", "media-sliderthumb", + "media-volume-slider", "media-volume-sliderthumb", "medium", + "menu", "menulist", "menulist-button", + "menutext", "message-box", "middle", "min-intrinsic", + "mix", "mongolian", "monospace", "move", "multiple", "multiple_mask_images", "multiply", "myanmar", "n-resize", + "narrower", "ne-resize", "nesw-resize", "no-close-quote", "no-drop", + "no-open-quote", "no-repeat", "none", "normal", "not-allowed", "nowrap", + "ns-resize", "numbers", "numeric", "nw-resize", "nwse-resize", "oblique", "octal", "opacity", "open-quote", + "optimizeLegibility", "optimizeSpeed", "oriya", "oromo", "outset", + "outside", "outside-shape", "overlay", "overline", "padding", "padding-box", + "painted", "page", "paused", "persian", "perspective", "pinch-zoom", "plus-darker", "plus-lighter", + "pointer", "polygon", "portrait", "pre", "pre-line", "pre-wrap", "preserve-3d", + "progress", "push-button", "radial-gradient", "radio", "read-only", + "read-write", "read-write-plaintext-only", "rectangle", "region", + "relative", "repeat", "repeating-linear-gradient", "repeating-radial-gradient", + "repeating-conic-gradient", "repeat-x", "repeat-y", "reset", "reverse", + "rgb", "rgba", "ridge", "right", "rotate", "rotate3d", "rotateX", "rotateY", + "rotateZ", "round", "row", "row-resize", "row-reverse", "rtl", "run-in", "running", + "s-resize", "sans-serif", "saturate", "saturation", "scale", "scale3d", "scaleX", "scaleY", "scaleZ", "screen", + "scroll", "scrollbar", "scroll-position", "se-resize", "searchfield", + "searchfield-cancel-button", "searchfield-decoration", + "searchfield-results-button", "searchfield-results-decoration", "self-start", "self-end", + "semi-condensed", "semi-expanded", "separate", "sepia", "serif", "show", "sidama", + "simp-chinese-formal", "simp-chinese-informal", "single", + "skew", "skewX", "skewY", "skip-white-space", "slide", "slider-horizontal", + "slider-vertical", "sliderthumb-horizontal", "sliderthumb-vertical", "slow", + "small", "small-caps", "small-caption", "smaller", "soft-light", "solid", "somali", + "source-atop", "source-in", "source-out", "source-over", "space", "space-around", "space-between", "space-evenly", "spell-out", "square", + "square-button", "start", "static", "status-bar", "stretch", "stroke", "stroke-box", "sub", + "subpixel-antialiased", "svg_masks", "super", "sw-resize", "symbolic", "symbols", "system-ui", "table", + "table-caption", "table-cell", "table-column", "table-column-group", + "table-footer-group", "table-header-group", "table-row", "table-row-group", + "tamil", + "telugu", "text", "text-bottom", "text-top", "textarea", "textfield", "thai", + "thick", "thin", "threeddarkshadow", "threedface", "threedhighlight", + "threedlightshadow", "threedshadow", "tibetan", "tigre", "tigrinya-er", + "tigrinya-er-abegede", "tigrinya-et", "tigrinya-et-abegede", "to", "top", + "trad-chinese-formal", "trad-chinese-informal", "transform", + "translate", "translate3d", "translateX", "translateY", "translateZ", + "transparent", "ultra-condensed", "ultra-expanded", "underline", "unidirectional-pan", "unset", "up", + "upper-alpha", "upper-armenian", "upper-greek", "upper-hexadecimal", + "upper-latin", "upper-norwegian", "upper-roman", "uppercase", "urdu", "url", + "var", "vertical", "vertical-text", "view-box", "visible", "visibleFill", "visiblePainted", + "visibleStroke", "visual", "w-resize", "wait", "wave", "wider", + "window", "windowframe", "windowtext", "words", "wrap", "wrap-reverse", "x-large", "x-small", "xor", + "xx-large", "xx-small" + ], valueKeywords = keySet(valueKeywords_); + + var allWords = documentTypes_.concat(mediaTypes_).concat(mediaFeatures_).concat(mediaValueKeywords_) + .concat(propertyKeywords_).concat(nonStandardPropertyKeywords_).concat(colorKeywords_) + .concat(valueKeywords_); + CodeMirror.registerHelper("hintWords", "css", allWords); + + function tokenCComment(stream, state) { + var maybeEnd = false, ch; + while ((ch = stream.next()) != null) { + if (maybeEnd && ch == "/") { + state.tokenize = null; + break; + } + maybeEnd = (ch == "*"); + } + return ["comment", "comment"]; + } + + CodeMirror.defineMIME("text/css", { + documentTypes: documentTypes, + mediaTypes: mediaTypes, + mediaFeatures: mediaFeatures, + mediaValueKeywords: mediaValueKeywords, + propertyKeywords: propertyKeywords, + nonStandardPropertyKeywords: nonStandardPropertyKeywords, + fontProperties: fontProperties, + counterDescriptors: counterDescriptors, + colorKeywords: colorKeywords, + valueKeywords: valueKeywords, + tokenHooks: { + "/": function(stream, state) { + if (!stream.eat("*")) return false; + state.tokenize = tokenCComment; + return tokenCComment(stream, state); + } + }, + name: "css" + }); + + CodeMirror.defineMIME("text/x-scss", { + mediaTypes: mediaTypes, + mediaFeatures: mediaFeatures, + mediaValueKeywords: mediaValueKeywords, + propertyKeywords: propertyKeywords, + nonStandardPropertyKeywords: nonStandardPropertyKeywords, + colorKeywords: colorKeywords, + valueKeywords: valueKeywords, + fontProperties: fontProperties, + allowNested: true, + lineComment: "//", + tokenHooks: { + "/": function(stream, state) { + if (stream.eat("/")) { + stream.skipToEnd(); + return ["comment", "comment"]; + } else if (stream.eat("*")) { + state.tokenize = tokenCComment; + return tokenCComment(stream, state); + } else { + return ["operator", "operator"]; + } + }, + ":": function(stream) { + if (stream.match(/^\s*\{/, false)) + return [null, null] + return false; + }, + "$": function(stream) { + stream.match(/^[\w-]+/); + if (stream.match(/^\s*:/, false)) + return ["variable-2", "variable-definition"]; + return ["variable-2", "variable"]; + }, + "#": function(stream) { + if (!stream.eat("{")) return false; + return [null, "interpolation"]; + } + }, + name: "css", + helperType: "scss" + }); + + CodeMirror.defineMIME("text/x-less", { + mediaTypes: mediaTypes, + mediaFeatures: mediaFeatures, + mediaValueKeywords: mediaValueKeywords, + propertyKeywords: propertyKeywords, + nonStandardPropertyKeywords: nonStandardPropertyKeywords, + colorKeywords: colorKeywords, + valueKeywords: valueKeywords, + fontProperties: fontProperties, + allowNested: true, + lineComment: "//", + tokenHooks: { + "/": function(stream, state) { + if (stream.eat("/")) { + stream.skipToEnd(); + return ["comment", "comment"]; + } else if (stream.eat("*")) { + state.tokenize = tokenCComment; + return tokenCComment(stream, state); + } else { + return ["operator", "operator"]; + } + }, + "@": function(stream) { + if (stream.eat("{")) return [null, "interpolation"]; + if (stream.match(/^(charset|document|font-face|import|(-(moz|ms|o|webkit)-)?keyframes|media|namespace|page|supports)\b/i, false)) return false; + stream.eatWhile(/[\w\\\-]/); + if (stream.match(/^\s*:/, false)) + return ["variable-2", "variable-definition"]; + return ["variable-2", "variable"]; + }, + "&": function() { + return ["atom", "atom"]; + } + }, + name: "css", + helperType: "less" + }); + + CodeMirror.defineMIME("text/x-gss", { + documentTypes: documentTypes, + mediaTypes: mediaTypes, + mediaFeatures: mediaFeatures, + propertyKeywords: propertyKeywords, + nonStandardPropertyKeywords: nonStandardPropertyKeywords, + fontProperties: fontProperties, + counterDescriptors: counterDescriptors, + colorKeywords: colorKeywords, + valueKeywords: valueKeywords, + supportsAtComponent: true, + tokenHooks: { + "/": function(stream, state) { + if (!stream.eat("*")) return false; + state.tokenize = tokenCComment; + return tokenCComment(stream, state); + } + }, + name: "css", + helperType: "gss" + }); + +}); diff --git a/wwws/admin/src/static/lib/codemirror/handlebars/handlebars.js b/wwws/admin/src/static/lib/codemirror/handlebars/handlebars.js new file mode 100644 index 0000000..d38c0eb --- /dev/null +++ b/wwws/admin/src/static/lib/codemirror/handlebars/handlebars.js @@ -0,0 +1,70 @@ +// CodeMirror, copyright (c) by Marijn Haverbeke and others +// Distributed under an MIT license: https://codemirror.net/5/LICENSE + +(function(mod) { + if (typeof exports == "object" && typeof module == "object") // CommonJS + mod(require("../../lib/codemirror"), require("../../addon/mode/simple"), require("../../addon/mode/multiplex")); + else if (typeof define == "function" && define.amd) // AMD + define(["../../lib/codemirror", "../../addon/mode/simple", "../../addon/mode/multiplex"], mod); + else // Plain browser env + mod(CodeMirror); +})(function(CodeMirror) { + "use strict"; + + CodeMirror.defineSimpleMode("handlebars-tags", { + start: [ + { regex: /\{\{\{/, push: "handlebars_raw", token: "tag" }, + { regex: /\{\{!--/, push: "dash_comment", token: "comment" }, + { regex: /\{\{!/, push: "comment", token: "comment" }, + { regex: /\{\{/, push: "handlebars", token: "tag" } + ], + handlebars_raw: [ + { regex: /\}\}\}/, pop: true, token: "tag" }, + ], + handlebars: [ + { regex: /\}\}/, pop: true, token: "tag" }, + + // Double and single quotes + { regex: /"(?:[^\\"]|\\.)*"?/, token: "string" }, + { regex: /'(?:[^\\']|\\.)*'?/, token: "string" }, + + // Handlebars keywords + { regex: />|[#\/]([A-Za-z_]\w*)/, token: "keyword" }, + { regex: /(?:else|this)\b/, token: "keyword" }, + + // Numeral + { regex: /\d+/i, token: "number" }, + + // Atoms like = and . + { regex: /=|~|@|true|false/, token: "atom" }, + + // Paths + { regex: /(?:\.\.\/)*(?:[A-Za-z_][\w\.]*)+/, token: "variable-2" } + ], + dash_comment: [ + { regex: /--\}\}/, pop: true, token: "comment" }, + + // Commented code + { regex: /./, token: "comment"} + ], + comment: [ + { regex: /\}\}/, pop: true, token: "comment" }, + { regex: /./, token: "comment" } + ], + meta: { + blockCommentStart: "{{--", + blockCommentEnd: "--}}" + } + }); + + CodeMirror.defineMode("handlebars", function(config, parserConfig) { + var handlebars = CodeMirror.getMode(config, "handlebars-tags"); + if (!parserConfig || !parserConfig.base) return handlebars; + return CodeMirror.multiplexingMode( + CodeMirror.getMode(config, parserConfig.base), + {open: "{{", close: /\}\}\}?/, mode: handlebars, parseDelimiters: true} + ); + }); + + CodeMirror.defineMIME("text/x-handlebars-template", "handlebars"); +}); diff --git a/wwws/admin/src/static/lib/codemirror/htmlmixed/htmlmixed.js b/wwws/admin/src/static/lib/codemirror/htmlmixed/htmlmixed.js new file mode 100644 index 0000000..3f6d8b7 --- /dev/null +++ b/wwws/admin/src/static/lib/codemirror/htmlmixed/htmlmixed.js @@ -0,0 +1,153 @@ +// CodeMirror, copyright (c) by Marijn Haverbeke and others +// Distributed under an MIT license: https://codemirror.net/5/LICENSE + +(function(mod) { + if (typeof exports == "object" && typeof module == "object") // CommonJS + mod(require("../../lib/codemirror"), require("../xml/xml"), require("../javascript/javascript"), require("../css/css")); + else if (typeof define == "function" && define.amd) // AMD + define(["../../lib/codemirror", "../xml/xml", "../javascript/javascript", "../css/css"], mod); + else // Plain browser env + mod(CodeMirror); +})(function(CodeMirror) { + "use strict"; + + var defaultTags = { + script: [ + ["lang", /(javascript|babel)/i, "javascript"], + ["type", /^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i, "javascript"], + ["type", /./, "text/plain"], + [null, null, "javascript"] + ], + style: [ + ["lang", /^css$/i, "css"], + ["type", /^(text\/)?(x-)?(stylesheet|css)$/i, "css"], + ["type", /./, "text/plain"], + [null, null, "css"] + ] + }; + + function maybeBackup(stream, pat, style) { + var cur = stream.current(), close = cur.search(pat); + if (close > -1) { + stream.backUp(cur.length - close); + } else if (cur.match(/<\/?$/)) { + stream.backUp(cur.length); + if (!stream.match(pat, false)) stream.match(cur); + } + return style; + } + + var attrRegexpCache = {}; + function getAttrRegexp(attr) { + var regexp = attrRegexpCache[attr]; + if (regexp) return regexp; + return attrRegexpCache[attr] = new RegExp("\\s+" + attr + "\\s*=\\s*('|\")?([^'\"]+)('|\")?\\s*"); + } + + function getAttrValue(text, attr) { + var match = text.match(getAttrRegexp(attr)) + return match ? /^\s*(.*?)\s*$/.exec(match[2])[1] : "" + } + + function getTagRegexp(tagName, anchored) { + return new RegExp((anchored ? "^" : "") + "<\/\\s*" + tagName + "\\s*>", "i"); + } + + function addTags(from, to) { + for (var tag in from) { + var dest = to[tag] || (to[tag] = []); + var source = from[tag]; + for (var i = source.length - 1; i >= 0; i--) + dest.unshift(source[i]) + } + } + + function findMatchingMode(tagInfo, tagText) { + for (var i = 0; i < tagInfo.length; i++) { + var spec = tagInfo[i]; + if (!spec[0] || spec[1].test(getAttrValue(tagText, spec[0]))) return spec[2]; + } + } + + CodeMirror.defineMode("htmlmixed", function (config, parserConfig) { + var htmlMode = CodeMirror.getMode(config, { + name: "xml", + htmlMode: true, + multilineTagIndentFactor: parserConfig.multilineTagIndentFactor, + multilineTagIndentPastTag: parserConfig.multilineTagIndentPastTag, + allowMissingTagName: parserConfig.allowMissingTagName, + }); + + var tags = {}; + var configTags = parserConfig && parserConfig.tags, configScript = parserConfig && parserConfig.scriptTypes; + addTags(defaultTags, tags); + if (configTags) addTags(configTags, tags); + if (configScript) for (var i = configScript.length - 1; i >= 0; i--) + tags.script.unshift(["type", configScript[i].matches, configScript[i].mode]) + + function html(stream, state) { + var style = htmlMode.token(stream, state.htmlState), tag = /\btag\b/.test(style), tagName + if (tag && !/[<>\s\/]/.test(stream.current()) && + (tagName = state.htmlState.tagName && state.htmlState.tagName.toLowerCase()) && + tags.hasOwnProperty(tagName)) { + state.inTag = tagName + " " + } else if (state.inTag && tag && />$/.test(stream.current())) { + var inTag = /^([\S]+) (.*)/.exec(state.inTag) + state.inTag = null + var modeSpec = stream.current() == ">" && findMatchingMode(tags[inTag[1]], inTag[2]) + var mode = CodeMirror.getMode(config, modeSpec) + var endTagA = getTagRegexp(inTag[1], true), endTag = getTagRegexp(inTag[1], false); + state.token = function (stream, state) { + if (stream.match(endTagA, false)) { + state.token = html; + state.localState = state.localMode = null; + return null; + } + return maybeBackup(stream, endTag, state.localMode.token(stream, state.localState)); + }; + state.localMode = mode; + state.localState = CodeMirror.startState(mode, htmlMode.indent(state.htmlState, "", "")); + } else if (state.inTag) { + state.inTag += stream.current() + if (stream.eol()) state.inTag += " " + } + return style; + }; + + return { + startState: function () { + var state = CodeMirror.startState(htmlMode); + return {token: html, inTag: null, localMode: null, localState: null, htmlState: state}; + }, + + copyState: function (state) { + var local; + if (state.localState) { + local = CodeMirror.copyState(state.localMode, state.localState); + } + return {token: state.token, inTag: state.inTag, + localMode: state.localMode, localState: local, + htmlState: CodeMirror.copyState(htmlMode, state.htmlState)}; + }, + + token: function (stream, state) { + return state.token(stream, state); + }, + + indent: function (state, textAfter, line) { + if (!state.localMode || /^\s*<\//.test(textAfter)) + return htmlMode.indent(state.htmlState, textAfter, line); + else if (state.localMode.indent) + return state.localMode.indent(state.localState, textAfter, line); + else + return CodeMirror.Pass; + }, + + innerMode: function (state) { + return {state: state.localState || state.htmlState, mode: state.localMode || htmlMode}; + } + }; + }, "xml", "javascript", "css"); + + CodeMirror.defineMIME("text/html", "htmlmixed"); +}); diff --git a/wwws/admin/src/static/lib/codemirror/javascript/javascript.js b/wwws/admin/src/static/lib/codemirror/javascript/javascript.js new file mode 100644 index 0000000..bb735eb --- /dev/null +++ b/wwws/admin/src/static/lib/codemirror/javascript/javascript.js @@ -0,0 +1,960 @@ +// CodeMirror, copyright (c) by Marijn Haverbeke and others +// Distributed under an MIT license: https://codemirror.net/5/LICENSE + +(function(mod) { + if (typeof exports == "object" && typeof module == "object") // CommonJS + mod(require("../../lib/codemirror")); + else if (typeof define == "function" && define.amd) // AMD + define(["../../lib/codemirror"], mod); + else // Plain browser env + mod(CodeMirror); +})(function(CodeMirror) { +"use strict"; + +CodeMirror.defineMode("javascript", function(config, parserConfig) { + var indentUnit = config.indentUnit; + var statementIndent = parserConfig.statementIndent; + var jsonldMode = parserConfig.jsonld; + var jsonMode = parserConfig.json || jsonldMode; + var trackScope = parserConfig.trackScope !== false + var isTS = parserConfig.typescript; + var wordRE = parserConfig.wordCharacters || /[\w$\xa1-\uffff]/; + + // Tokenizer + + var keywords = function(){ + function kw(type) {return {type: type, style: "keyword"};} + var A = kw("keyword a"), B = kw("keyword b"), C = kw("keyword c"), D = kw("keyword d"); + var operator = kw("operator"), atom = {type: "atom", style: "atom"}; + + return { + "if": kw("if"), "while": A, "with": A, "else": B, "do": B, "try": B, "finally": B, + "return": D, "break": D, "continue": D, "new": kw("new"), "delete": C, "void": C, "throw": C, + "debugger": kw("debugger"), "var": kw("var"), "const": kw("var"), "let": kw("var"), + "function": kw("function"), "catch": kw("catch"), + "for": kw("for"), "switch": kw("switch"), "case": kw("case"), "default": kw("default"), + "in": operator, "typeof": operator, "instanceof": operator, + "true": atom, "false": atom, "null": atom, "undefined": atom, "NaN": atom, "Infinity": atom, + "this": kw("this"), "class": kw("class"), "super": kw("atom"), + "yield": C, "export": kw("export"), "import": kw("import"), "extends": C, + "await": C + }; + }(); + + var isOperatorChar = /[+\-*&%=<>!?|~^@]/; + var isJsonldKeyword = /^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/; + + function readRegexp(stream) { + var escaped = false, next, inSet = false; + while ((next = stream.next()) != null) { + if (!escaped) { + if (next == "/" && !inSet) return; + if (next == "[") inSet = true; + else if (inSet && next == "]") inSet = false; + } + escaped = !escaped && next == "\\"; + } + } + + // Used as scratch variables to communicate multiple values without + // consing up tons of objects. + var type, content; + function ret(tp, style, cont) { + type = tp; content = cont; + return style; + } + function tokenBase(stream, state) { + var ch = stream.next(); + if (ch == '"' || ch == "'") { + state.tokenize = tokenString(ch); + return state.tokenize(stream, state); + } else if (ch == "." && stream.match(/^\d[\d_]*(?:[eE][+\-]?[\d_]+)?/)) { + return ret("number", "number"); + } else if (ch == "." && stream.match("..")) { + return ret("spread", "meta"); + } else if (/[\[\]{}\(\),;\:\.]/.test(ch)) { + return ret(ch); + } else if (ch == "=" && stream.eat(">")) { + return ret("=>", "operator"); + } else if (ch == "0" && stream.match(/^(?:x[\dA-Fa-f_]+|o[0-7_]+|b[01_]+)n?/)) { + return ret("number", "number"); + } else if (/\d/.test(ch)) { + stream.match(/^[\d_]*(?:n|(?:\.[\d_]*)?(?:[eE][+\-]?[\d_]+)?)?/); + return ret("number", "number"); + } else if (ch == "/") { + if (stream.eat("*")) { + state.tokenize = tokenComment; + return tokenComment(stream, state); + } else if (stream.eat("/")) { + stream.skipToEnd(); + return ret("comment", "comment"); + } else if (expressionAllowed(stream, state, 1)) { + readRegexp(stream); + stream.match(/^\b(([gimyus])(?![gimyus]*\2))+\b/); + return ret("regexp", "string-2"); + } else { + stream.eat("="); + return ret("operator", "operator", stream.current()); + } + } else if (ch == "`") { + state.tokenize = tokenQuasi; + return tokenQuasi(stream, state); + } else if (ch == "#" && stream.peek() == "!") { + stream.skipToEnd(); + return ret("meta", "meta"); + } else if (ch == "#" && stream.eatWhile(wordRE)) { + return ret("variable", "property") + } else if (ch == "<" && stream.match("!--") || + (ch == "-" && stream.match("->") && !/\S/.test(stream.string.slice(0, stream.start)))) { + stream.skipToEnd() + return ret("comment", "comment") + } else if (isOperatorChar.test(ch)) { + if (ch != ">" || !state.lexical || state.lexical.type != ">") { + if (stream.eat("=")) { + if (ch == "!" || ch == "=") stream.eat("=") + } else if (/[<>*+\-|&?]/.test(ch)) { + stream.eat(ch) + if (ch == ">") stream.eat(ch) + } + } + if (ch == "?" && stream.eat(".")) return ret(".") + return ret("operator", "operator", stream.current()); + } else if (wordRE.test(ch)) { + stream.eatWhile(wordRE); + var word = stream.current() + if (state.lastType != ".") { + if (keywords.propertyIsEnumerable(word)) { + var kw = keywords[word] + return ret(kw.type, kw.style, word) + } + if (word == "async" && stream.match(/^(\s|\/\*([^*]|\*(?!\/))*?\*\/)*[\[\(\w]/, false)) + return ret("async", "keyword", word) + } + return ret("variable", "variable", word) + } + } + + function tokenString(quote) { + return function(stream, state) { + var escaped = false, next; + if (jsonldMode && stream.peek() == "@" && stream.match(isJsonldKeyword)){ + state.tokenize = tokenBase; + return ret("jsonld-keyword", "meta"); + } + while ((next = stream.next()) != null) { + if (next == quote && !escaped) break; + escaped = !escaped && next == "\\"; + } + if (!escaped) state.tokenize = tokenBase; + return ret("string", "string"); + }; + } + + function tokenComment(stream, state) { + var maybeEnd = false, ch; + while (ch = stream.next()) { + if (ch == "/" && maybeEnd) { + state.tokenize = tokenBase; + break; + } + maybeEnd = (ch == "*"); + } + return ret("comment", "comment"); + } + + function tokenQuasi(stream, state) { + var escaped = false, next; + while ((next = stream.next()) != null) { + if (!escaped && (next == "`" || next == "$" && stream.eat("{"))) { + state.tokenize = tokenBase; + break; + } + escaped = !escaped && next == "\\"; + } + return ret("quasi", "string-2", stream.current()); + } + + var brackets = "([{}])"; + // This is a crude lookahead trick to try and notice that we're + // parsing the argument patterns for a fat-arrow function before we + // actually hit the arrow token. It only works if the arrow is on + // the same line as the arguments and there's no strange noise + // (comments) in between. Fallback is to only notice when we hit the + // arrow, and not declare the arguments as locals for the arrow + // body. + function findFatArrow(stream, state) { + if (state.fatArrowAt) state.fatArrowAt = null; + var arrow = stream.string.indexOf("=>", stream.start); + if (arrow < 0) return; + + if (isTS) { // Try to skip TypeScript return type declarations after the arguments + var m = /:\s*(?:\w+(?:<[^>]*>|\[\])?|\{[^}]*\})\s*$/.exec(stream.string.slice(stream.start, arrow)) + if (m) arrow = m.index + } + + var depth = 0, sawSomething = false; + for (var pos = arrow - 1; pos >= 0; --pos) { + var ch = stream.string.charAt(pos); + var bracket = brackets.indexOf(ch); + if (bracket >= 0 && bracket < 3) { + if (!depth) { ++pos; break; } + if (--depth == 0) { if (ch == "(") sawSomething = true; break; } + } else if (bracket >= 3 && bracket < 6) { + ++depth; + } else if (wordRE.test(ch)) { + sawSomething = true; + } else if (/["'\/`]/.test(ch)) { + for (;; --pos) { + if (pos == 0) return + var next = stream.string.charAt(pos - 1) + if (next == ch && stream.string.charAt(pos - 2) != "\\") { pos--; break } + } + } else if (sawSomething && !depth) { + ++pos; + break; + } + } + if (sawSomething && !depth) state.fatArrowAt = pos; + } + + // Parser + + var atomicTypes = {"atom": true, "number": true, "variable": true, "string": true, + "regexp": true, "this": true, "import": true, "jsonld-keyword": true}; + + function JSLexical(indented, column, type, align, prev, info) { + this.indented = indented; + this.column = column; + this.type = type; + this.prev = prev; + this.info = info; + if (align != null) this.align = align; + } + + function inScope(state, varname) { + if (!trackScope) return false + for (var v = state.localVars; v; v = v.next) + if (v.name == varname) return true; + for (var cx = state.context; cx; cx = cx.prev) { + for (var v = cx.vars; v; v = v.next) + if (v.name == varname) return true; + } + } + + function parseJS(state, style, type, content, stream) { + var cc = state.cc; + // Communicate our context to the combinators. + // (Less wasteful than consing up a hundred closures on every call.) + cx.state = state; cx.stream = stream; cx.marked = null, cx.cc = cc; cx.style = style; + + if (!state.lexical.hasOwnProperty("align")) + state.lexical.align = true; + + while(true) { + var combinator = cc.length ? cc.pop() : jsonMode ? expression : statement; + if (combinator(type, content)) { + while(cc.length && cc[cc.length - 1].lex) + cc.pop()(); + if (cx.marked) return cx.marked; + if (type == "variable" && inScope(state, content)) return "variable-2"; + return style; + } + } + } + + // Combinator utils + + var cx = {state: null, column: null, marked: null, cc: null}; + function pass() { + for (var i = arguments.length - 1; i >= 0; i--) cx.cc.push(arguments[i]); + } + function cont() { + pass.apply(null, arguments); + return true; + } + function inList(name, list) { + for (var v = list; v; v = v.next) if (v.name == name) return true + return false; + } + function register(varname) { + var state = cx.state; + cx.marked = "def"; + if (!trackScope) return + if (state.context) { + if (state.lexical.info == "var" && state.context && state.context.block) { + // FIXME function decls are also not block scoped + var newContext = registerVarScoped(varname, state.context) + if (newContext != null) { + state.context = newContext + return + } + } else if (!inList(varname, state.localVars)) { + state.localVars = new Var(varname, state.localVars) + return + } + } + // Fall through means this is global + if (parserConfig.globalVars && !inList(varname, state.globalVars)) + state.globalVars = new Var(varname, state.globalVars) + } + function registerVarScoped(varname, context) { + if (!context) { + return null + } else if (context.block) { + var inner = registerVarScoped(varname, context.prev) + if (!inner) return null + if (inner == context.prev) return context + return new Context(inner, context.vars, true) + } else if (inList(varname, context.vars)) { + return context + } else { + return new Context(context.prev, new Var(varname, context.vars), false) + } + } + + function isModifier(name) { + return name == "public" || name == "private" || name == "protected" || name == "abstract" || name == "readonly" + } + + // Combinators + + function Context(prev, vars, block) { this.prev = prev; this.vars = vars; this.block = block } + function Var(name, next) { this.name = name; this.next = next } + + var defaultVars = new Var("this", new Var("arguments", null)) + function pushcontext() { + cx.state.context = new Context(cx.state.context, cx.state.localVars, false) + cx.state.localVars = defaultVars + } + function pushblockcontext() { + cx.state.context = new Context(cx.state.context, cx.state.localVars, true) + cx.state.localVars = null + } + pushcontext.lex = pushblockcontext.lex = true + function popcontext() { + cx.state.localVars = cx.state.context.vars + cx.state.context = cx.state.context.prev + } + popcontext.lex = true + function pushlex(type, info) { + var result = function() { + var state = cx.state, indent = state.indented; + if (state.lexical.type == "stat") indent = state.lexical.indented; + else for (var outer = state.lexical; outer && outer.type == ")" && outer.align; outer = outer.prev) + indent = outer.indented; + state.lexical = new JSLexical(indent, cx.stream.column(), type, null, state.lexical, info); + }; + result.lex = true; + return result; + } + function poplex() { + var state = cx.state; + if (state.lexical.prev) { + if (state.lexical.type == ")") + state.indented = state.lexical.indented; + state.lexical = state.lexical.prev; + } + } + poplex.lex = true; + + function expect(wanted) { + function exp(type) { + if (type == wanted) return cont(); + else if (wanted == ";" || type == "}" || type == ")" || type == "]") return pass(); + else return cont(exp); + }; + return exp; + } + + function statement(type, value) { + if (type == "var") return cont(pushlex("vardef", value), vardef, expect(";"), poplex); + if (type == "keyword a") return cont(pushlex("form"), parenExpr, statement, poplex); + if (type == "keyword b") return cont(pushlex("form"), statement, poplex); + if (type == "keyword d") return cx.stream.match(/^\s*$/, false) ? cont() : cont(pushlex("stat"), maybeexpression, expect(";"), poplex); + if (type == "debugger") return cont(expect(";")); + if (type == "{") return cont(pushlex("}"), pushblockcontext, block, poplex, popcontext); + if (type == ";") return cont(); + if (type == "if") { + if (cx.state.lexical.info == "else" && cx.state.cc[cx.state.cc.length - 1] == poplex) + cx.state.cc.pop()(); + return cont(pushlex("form"), parenExpr, statement, poplex, maybeelse); + } + if (type == "function") return cont(functiondef); + if (type == "for") return cont(pushlex("form"), pushblockcontext, forspec, statement, popcontext, poplex); + if (type == "class" || (isTS && value == "interface")) { + cx.marked = "keyword" + return cont(pushlex("form", type == "class" ? type : value), className, poplex) + } + if (type == "variable") { + if (isTS && value == "declare") { + cx.marked = "keyword" + return cont(statement) + } else if (isTS && (value == "module" || value == "enum" || value == "type") && cx.stream.match(/^\s*\w/, false)) { + cx.marked = "keyword" + if (value == "enum") return cont(enumdef); + else if (value == "type") return cont(typename, expect("operator"), typeexpr, expect(";")); + else return cont(pushlex("form"), pattern, expect("{"), pushlex("}"), block, poplex, poplex) + } else if (isTS && value == "namespace") { + cx.marked = "keyword" + return cont(pushlex("form"), expression, statement, poplex) + } else if (isTS && value == "abstract") { + cx.marked = "keyword" + return cont(statement) + } else { + return cont(pushlex("stat"), maybelabel); + } + } + if (type == "switch") return cont(pushlex("form"), parenExpr, expect("{"), pushlex("}", "switch"), pushblockcontext, + block, poplex, poplex, popcontext); + if (type == "case") return cont(expression, expect(":")); + if (type == "default") return cont(expect(":")); + if (type == "catch") return cont(pushlex("form"), pushcontext, maybeCatchBinding, statement, poplex, popcontext); + if (type == "export") return cont(pushlex("stat"), afterExport, poplex); + if (type == "import") return cont(pushlex("stat"), afterImport, poplex); + if (type == "async") return cont(statement) + if (value == "@") return cont(expression, statement) + return pass(pushlex("stat"), expression, expect(";"), poplex); + } + function maybeCatchBinding(type) { + if (type == "(") return cont(funarg, expect(")")) + } + function expression(type, value) { + return expressionInner(type, value, false); + } + function expressionNoComma(type, value) { + return expressionInner(type, value, true); + } + function parenExpr(type) { + if (type != "(") return pass() + return cont(pushlex(")"), maybeexpression, expect(")"), poplex) + } + function expressionInner(type, value, noComma) { + if (cx.state.fatArrowAt == cx.stream.start) { + var body = noComma ? arrowBodyNoComma : arrowBody; + if (type == "(") return cont(pushcontext, pushlex(")"), commasep(funarg, ")"), poplex, expect("=>"), body, popcontext); + else if (type == "variable") return pass(pushcontext, pattern, expect("=>"), body, popcontext); + } + + var maybeop = noComma ? maybeoperatorNoComma : maybeoperatorComma; + if (atomicTypes.hasOwnProperty(type)) return cont(maybeop); + if (type == "function") return cont(functiondef, maybeop); + if (type == "class" || (isTS && value == "interface")) { cx.marked = "keyword"; return cont(pushlex("form"), classExpression, poplex); } + if (type == "keyword c" || type == "async") return cont(noComma ? expressionNoComma : expression); + if (type == "(") return cont(pushlex(")"), maybeexpression, expect(")"), poplex, maybeop); + if (type == "operator" || type == "spread") return cont(noComma ? expressionNoComma : expression); + if (type == "[") return cont(pushlex("]"), arrayLiteral, poplex, maybeop); + if (type == "{") return contCommasep(objprop, "}", null, maybeop); + if (type == "quasi") return pass(quasi, maybeop); + if (type == "new") return cont(maybeTarget(noComma)); + return cont(); + } + function maybeexpression(type) { + if (type.match(/[;\}\)\],]/)) return pass(); + return pass(expression); + } + + function maybeoperatorComma(type, value) { + if (type == ",") return cont(maybeexpression); + return maybeoperatorNoComma(type, value, false); + } + function maybeoperatorNoComma(type, value, noComma) { + var me = noComma == false ? maybeoperatorComma : maybeoperatorNoComma; + var expr = noComma == false ? expression : expressionNoComma; + if (type == "=>") return cont(pushcontext, noComma ? arrowBodyNoComma : arrowBody, popcontext); + if (type == "operator") { + if (/\+\+|--/.test(value) || isTS && value == "!") return cont(me); + if (isTS && value == "<" && cx.stream.match(/^([^<>]|<[^<>]*>)*>\s*\(/, false)) + return cont(pushlex(">"), commasep(typeexpr, ">"), poplex, me); + if (value == "?") return cont(expression, expect(":"), expr); + return cont(expr); + } + if (type == "quasi") { return pass(quasi, me); } + if (type == ";") return; + if (type == "(") return contCommasep(expressionNoComma, ")", "call", me); + if (type == ".") return cont(property, me); + if (type == "[") return cont(pushlex("]"), maybeexpression, expect("]"), poplex, me); + if (isTS && value == "as") { cx.marked = "keyword"; return cont(typeexpr, me) } + if (type == "regexp") { + cx.state.lastType = cx.marked = "operator" + cx.stream.backUp(cx.stream.pos - cx.stream.start - 1) + return cont(expr) + } + } + function quasi(type, value) { + if (type != "quasi") return pass(); + if (value.slice(value.length - 2) != "${") return cont(quasi); + return cont(maybeexpression, continueQuasi); + } + function continueQuasi(type) { + if (type == "}") { + cx.marked = "string-2"; + cx.state.tokenize = tokenQuasi; + return cont(quasi); + } + } + function arrowBody(type) { + findFatArrow(cx.stream, cx.state); + return pass(type == "{" ? statement : expression); + } + function arrowBodyNoComma(type) { + findFatArrow(cx.stream, cx.state); + return pass(type == "{" ? statement : expressionNoComma); + } + function maybeTarget(noComma) { + return function(type) { + if (type == ".") return cont(noComma ? targetNoComma : target); + else if (type == "variable" && isTS) return cont(maybeTypeArgs, noComma ? maybeoperatorNoComma : maybeoperatorComma) + else return pass(noComma ? expressionNoComma : expression); + }; + } + function target(_, value) { + if (value == "target") { cx.marked = "keyword"; return cont(maybeoperatorComma); } + } + function targetNoComma(_, value) { + if (value == "target") { cx.marked = "keyword"; return cont(maybeoperatorNoComma); } + } + function maybelabel(type) { + if (type == ":") return cont(poplex, statement); + return pass(maybeoperatorComma, expect(";"), poplex); + } + function property(type) { + if (type == "variable") {cx.marked = "property"; return cont();} + } + function objprop(type, value) { + if (type == "async") { + cx.marked = "property"; + return cont(objprop); + } else if (type == "variable" || cx.style == "keyword") { + cx.marked = "property"; + if (value == "get" || value == "set") return cont(getterSetter); + var m // Work around fat-arrow-detection complication for detecting typescript typed arrow params + if (isTS && cx.state.fatArrowAt == cx.stream.start && (m = cx.stream.match(/^\s*:\s*/, false))) + cx.state.fatArrowAt = cx.stream.pos + m[0].length + return cont(afterprop); + } else if (type == "number" || type == "string") { + cx.marked = jsonldMode ? "property" : (cx.style + " property"); + return cont(afterprop); + } else if (type == "jsonld-keyword") { + return cont(afterprop); + } else if (isTS && isModifier(value)) { + cx.marked = "keyword" + return cont(objprop) + } else if (type == "[") { + return cont(expression, maybetype, expect("]"), afterprop); + } else if (type == "spread") { + return cont(expressionNoComma, afterprop); + } else if (value == "*") { + cx.marked = "keyword"; + return cont(objprop); + } else if (type == ":") { + return pass(afterprop) + } + } + function getterSetter(type) { + if (type != "variable") return pass(afterprop); + cx.marked = "property"; + return cont(functiondef); + } + function afterprop(type) { + if (type == ":") return cont(expressionNoComma); + if (type == "(") return pass(functiondef); + } + function commasep(what, end, sep) { + function proceed(type, value) { + if (sep ? sep.indexOf(type) > -1 : type == ",") { + var lex = cx.state.lexical; + if (lex.info == "call") lex.pos = (lex.pos || 0) + 1; + return cont(function(type, value) { + if (type == end || value == end) return pass() + return pass(what) + }, proceed); + } + if (type == end || value == end) return cont(); + if (sep && sep.indexOf(";") > -1) return pass(what) + return cont(expect(end)); + } + return function(type, value) { + if (type == end || value == end) return cont(); + return pass(what, proceed); + }; + } + function contCommasep(what, end, info) { + for (var i = 3; i < arguments.length; i++) + cx.cc.push(arguments[i]); + return cont(pushlex(end, info), commasep(what, end), poplex); + } + function block(type) { + if (type == "}") return cont(); + return pass(statement, block); + } + function maybetype(type, value) { + if (isTS) { + if (type == ":") return cont(typeexpr); + if (value == "?") return cont(maybetype); + } + } + function maybetypeOrIn(type, value) { + if (isTS && (type == ":" || value == "in")) return cont(typeexpr) + } + function mayberettype(type) { + if (isTS && type == ":") { + if (cx.stream.match(/^\s*\w+\s+is\b/, false)) return cont(expression, isKW, typeexpr) + else return cont(typeexpr) + } + } + function isKW(_, value) { + if (value == "is") { + cx.marked = "keyword" + return cont() + } + } + function typeexpr(type, value) { + if (value == "keyof" || value == "typeof" || value == "infer" || value == "readonly") { + cx.marked = "keyword" + return cont(value == "typeof" ? expressionNoComma : typeexpr) + } + if (type == "variable" || value == "void") { + cx.marked = "type" + return cont(afterType) + } + if (value == "|" || value == "&") return cont(typeexpr) + if (type == "string" || type == "number" || type == "atom") return cont(afterType); + if (type == "[") return cont(pushlex("]"), commasep(typeexpr, "]", ","), poplex, afterType) + if (type == "{") return cont(pushlex("}"), typeprops, poplex, afterType) + if (type == "(") return cont(commasep(typearg, ")"), maybeReturnType, afterType) + if (type == "<") return cont(commasep(typeexpr, ">"), typeexpr) + if (type == "quasi") { return pass(quasiType, afterType); } + } + function maybeReturnType(type) { + if (type == "=>") return cont(typeexpr) + } + function typeprops(type) { + if (type.match(/[\}\)\]]/)) return cont() + if (type == "," || type == ";") return cont(typeprops) + return pass(typeprop, typeprops) + } + function typeprop(type, value) { + if (type == "variable" || cx.style == "keyword") { + cx.marked = "property" + return cont(typeprop) + } else if (value == "?" || type == "number" || type == "string") { + return cont(typeprop) + } else if (type == ":") { + return cont(typeexpr) + } else if (type == "[") { + return cont(expect("variable"), maybetypeOrIn, expect("]"), typeprop) + } else if (type == "(") { + return pass(functiondecl, typeprop) + } else if (!type.match(/[;\}\)\],]/)) { + return cont() + } + } + function quasiType(type, value) { + if (type != "quasi") return pass(); + if (value.slice(value.length - 2) != "${") return cont(quasiType); + return cont(typeexpr, continueQuasiType); + } + function continueQuasiType(type) { + if (type == "}") { + cx.marked = "string-2"; + cx.state.tokenize = tokenQuasi; + return cont(quasiType); + } + } + function typearg(type, value) { + if (type == "variable" && cx.stream.match(/^\s*[?:]/, false) || value == "?") return cont(typearg) + if (type == ":") return cont(typeexpr) + if (type == "spread") return cont(typearg) + return pass(typeexpr) + } + function afterType(type, value) { + if (value == "<") return cont(pushlex(">"), commasep(typeexpr, ">"), poplex, afterType) + if (value == "|" || type == "." || value == "&") return cont(typeexpr) + if (type == "[") return cont(typeexpr, expect("]"), afterType) + if (value == "extends" || value == "implements") { cx.marked = "keyword"; return cont(typeexpr) } + if (value == "?") return cont(typeexpr, expect(":"), typeexpr) + } + function maybeTypeArgs(_, value) { + if (value == "<") return cont(pushlex(">"), commasep(typeexpr, ">"), poplex, afterType) + } + function typeparam() { + return pass(typeexpr, maybeTypeDefault) + } + function maybeTypeDefault(_, value) { + if (value == "=") return cont(typeexpr) + } + function vardef(_, value) { + if (value == "enum") {cx.marked = "keyword"; return cont(enumdef)} + return pass(pattern, maybetype, maybeAssign, vardefCont); + } + function pattern(type, value) { + if (isTS && isModifier(value)) { cx.marked = "keyword"; return cont(pattern) } + if (type == "variable") { register(value); return cont(); } + if (type == "spread") return cont(pattern); + if (type == "[") return contCommasep(eltpattern, "]"); + if (type == "{") return contCommasep(proppattern, "}"); + } + function proppattern(type, value) { + if (type == "variable" && !cx.stream.match(/^\s*:/, false)) { + register(value); + return cont(maybeAssign); + } + if (type == "variable") cx.marked = "property"; + if (type == "spread") return cont(pattern); + if (type == "}") return pass(); + if (type == "[") return cont(expression, expect(']'), expect(':'), proppattern); + return cont(expect(":"), pattern, maybeAssign); + } + function eltpattern() { + return pass(pattern, maybeAssign) + } + function maybeAssign(_type, value) { + if (value == "=") return cont(expressionNoComma); + } + function vardefCont(type) { + if (type == ",") return cont(vardef); + } + function maybeelse(type, value) { + if (type == "keyword b" && value == "else") return cont(pushlex("form", "else"), statement, poplex); + } + function forspec(type, value) { + if (value == "await") return cont(forspec); + if (type == "(") return cont(pushlex(")"), forspec1, poplex); + } + function forspec1(type) { + if (type == "var") return cont(vardef, forspec2); + if (type == "variable") return cont(forspec2); + return pass(forspec2) + } + function forspec2(type, value) { + if (type == ")") return cont() + if (type == ";") return cont(forspec2) + if (value == "in" || value == "of") { cx.marked = "keyword"; return cont(expression, forspec2) } + return pass(expression, forspec2) + } + function functiondef(type, value) { + if (value == "*") {cx.marked = "keyword"; return cont(functiondef);} + if (type == "variable") {register(value); return cont(functiondef);} + if (type == "(") return cont(pushcontext, pushlex(")"), commasep(funarg, ")"), poplex, mayberettype, statement, popcontext); + if (isTS && value == "<") return cont(pushlex(">"), commasep(typeparam, ">"), poplex, functiondef) + } + function functiondecl(type, value) { + if (value == "*") {cx.marked = "keyword"; return cont(functiondecl);} + if (type == "variable") {register(value); return cont(functiondecl);} + if (type == "(") return cont(pushcontext, pushlex(")"), commasep(funarg, ")"), poplex, mayberettype, popcontext); + if (isTS && value == "<") return cont(pushlex(">"), commasep(typeparam, ">"), poplex, functiondecl) + } + function typename(type, value) { + if (type == "keyword" || type == "variable") { + cx.marked = "type" + return cont(typename) + } else if (value == "<") { + return cont(pushlex(">"), commasep(typeparam, ">"), poplex) + } + } + function funarg(type, value) { + if (value == "@") cont(expression, funarg) + if (type == "spread") return cont(funarg); + if (isTS && isModifier(value)) { cx.marked = "keyword"; return cont(funarg); } + if (isTS && type == "this") return cont(maybetype, maybeAssign) + return pass(pattern, maybetype, maybeAssign); + } + function classExpression(type, value) { + // Class expressions may have an optional name. + if (type == "variable") return className(type, value); + return classNameAfter(type, value); + } + function className(type, value) { + if (type == "variable") {register(value); return cont(classNameAfter);} + } + function classNameAfter(type, value) { + if (value == "<") return cont(pushlex(">"), commasep(typeparam, ">"), poplex, classNameAfter) + if (value == "extends" || value == "implements" || (isTS && type == ",")) { + if (value == "implements") cx.marked = "keyword"; + return cont(isTS ? typeexpr : expression, classNameAfter); + } + if (type == "{") return cont(pushlex("}"), classBody, poplex); + } + function classBody(type, value) { + if (type == "async" || + (type == "variable" && + (value == "static" || value == "get" || value == "set" || (isTS && isModifier(value))) && + cx.stream.match(/^\s+#?[\w$\xa1-\uffff]/, false))) { + cx.marked = "keyword"; + return cont(classBody); + } + if (type == "variable" || cx.style == "keyword") { + cx.marked = "property"; + return cont(classfield, classBody); + } + if (type == "number" || type == "string") return cont(classfield, classBody); + if (type == "[") + return cont(expression, maybetype, expect("]"), classfield, classBody) + if (value == "*") { + cx.marked = "keyword"; + return cont(classBody); + } + if (isTS && type == "(") return pass(functiondecl, classBody) + if (type == ";" || type == ",") return cont(classBody); + if (type == "}") return cont(); + if (value == "@") return cont(expression, classBody) + } + function classfield(type, value) { + if (value == "!") return cont(classfield) + if (value == "?") return cont(classfield) + if (type == ":") return cont(typeexpr, maybeAssign) + if (value == "=") return cont(expressionNoComma) + var context = cx.state.lexical.prev, isInterface = context && context.info == "interface" + return pass(isInterface ? functiondecl : functiondef) + } + function afterExport(type, value) { + if (value == "*") { cx.marked = "keyword"; return cont(maybeFrom, expect(";")); } + if (value == "default") { cx.marked = "keyword"; return cont(expression, expect(";")); } + if (type == "{") return cont(commasep(exportField, "}"), maybeFrom, expect(";")); + return pass(statement); + } + function exportField(type, value) { + if (value == "as") { cx.marked = "keyword"; return cont(expect("variable")); } + if (type == "variable") return pass(expressionNoComma, exportField); + } + function afterImport(type) { + if (type == "string") return cont(); + if (type == "(") return pass(expression); + if (type == ".") return pass(maybeoperatorComma); + return pass(importSpec, maybeMoreImports, maybeFrom); + } + function importSpec(type, value) { + if (type == "{") return contCommasep(importSpec, "}"); + if (type == "variable") register(value); + if (value == "*") cx.marked = "keyword"; + return cont(maybeAs); + } + function maybeMoreImports(type) { + if (type == ",") return cont(importSpec, maybeMoreImports) + } + function maybeAs(_type, value) { + if (value == "as") { cx.marked = "keyword"; return cont(importSpec); } + } + function maybeFrom(_type, value) { + if (value == "from") { cx.marked = "keyword"; return cont(expression); } + } + function arrayLiteral(type) { + if (type == "]") return cont(); + return pass(commasep(expressionNoComma, "]")); + } + function enumdef() { + return pass(pushlex("form"), pattern, expect("{"), pushlex("}"), commasep(enummember, "}"), poplex, poplex) + } + function enummember() { + return pass(pattern, maybeAssign); + } + + function isContinuedStatement(state, textAfter) { + return state.lastType == "operator" || state.lastType == "," || + isOperatorChar.test(textAfter.charAt(0)) || + /[,.]/.test(textAfter.charAt(0)); + } + + function expressionAllowed(stream, state, backUp) { + return state.tokenize == tokenBase && + /^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\[{}\(,;:]|=>)$/.test(state.lastType) || + (state.lastType == "quasi" && /\{\s*$/.test(stream.string.slice(0, stream.pos - (backUp || 0)))) + } + + // Interface + + return { + startState: function(basecolumn) { + var state = { + tokenize: tokenBase, + lastType: "sof", + cc: [], + lexical: new JSLexical((basecolumn || 0) - indentUnit, 0, "block", false), + localVars: parserConfig.localVars, + context: parserConfig.localVars && new Context(null, null, false), + indented: basecolumn || 0 + }; + if (parserConfig.globalVars && typeof parserConfig.globalVars == "object") + state.globalVars = parserConfig.globalVars; + return state; + }, + + token: function(stream, state) { + if (stream.sol()) { + if (!state.lexical.hasOwnProperty("align")) + state.lexical.align = false; + state.indented = stream.indentation(); + findFatArrow(stream, state); + } + if (state.tokenize != tokenComment && stream.eatSpace()) return null; + var style = state.tokenize(stream, state); + if (type == "comment") return style; + state.lastType = type == "operator" && (content == "++" || content == "--") ? "incdec" : type; + return parseJS(state, style, type, content, stream); + }, + + indent: function(state, textAfter) { + if (state.tokenize == tokenComment || state.tokenize == tokenQuasi) return CodeMirror.Pass; + if (state.tokenize != tokenBase) return 0; + var firstChar = textAfter && textAfter.charAt(0), lexical = state.lexical, top + // Kludge to prevent 'maybelse' from blocking lexical scope pops + if (!/^\s*else\b/.test(textAfter)) for (var i = state.cc.length - 1; i >= 0; --i) { + var c = state.cc[i]; + if (c == poplex) lexical = lexical.prev; + else if (c != maybeelse && c != popcontext) break; + } + while ((lexical.type == "stat" || lexical.type == "form") && + (firstChar == "}" || ((top = state.cc[state.cc.length - 1]) && + (top == maybeoperatorComma || top == maybeoperatorNoComma) && + !/^[,\.=+\-*:?[\(]/.test(textAfter)))) + lexical = lexical.prev; + if (statementIndent && lexical.type == ")" && lexical.prev.type == "stat") + lexical = lexical.prev; + var type = lexical.type, closing = firstChar == type; + + if (type == "vardef") return lexical.indented + (state.lastType == "operator" || state.lastType == "," ? lexical.info.length + 1 : 0); + else if (type == "form" && firstChar == "{") return lexical.indented; + else if (type == "form") return lexical.indented + indentUnit; + else if (type == "stat") + return lexical.indented + (isContinuedStatement(state, textAfter) ? statementIndent || indentUnit : 0); + else if (lexical.info == "switch" && !closing && parserConfig.doubleIndentSwitch != false) + return lexical.indented + (/^(?:case|default)\b/.test(textAfter) ? indentUnit : 2 * indentUnit); + else if (lexical.align) return lexical.column + (closing ? 0 : 1); + else return lexical.indented + (closing ? 0 : indentUnit); + }, + + electricInput: /^\s*(?:case .*?:|default:|\{|\})$/, + blockCommentStart: jsonMode ? null : "/*", + blockCommentEnd: jsonMode ? null : "*/", + blockCommentContinue: jsonMode ? null : " * ", + lineComment: jsonMode ? null : "//", + fold: "brace", + closeBrackets: "()[]{}''\"\"``", + + helperType: jsonMode ? "json" : "javascript", + jsonldMode: jsonldMode, + jsonMode: jsonMode, + + expressionAllowed: expressionAllowed, + + skipExpression: function(state) { + parseJS(state, "atom", "atom", "true", new CodeMirror.StringStream("", 2, null)) + } + }; +}); + +CodeMirror.registerHelper("wordChars", "javascript", /[\w$]/); + +CodeMirror.defineMIME("text/javascript", "javascript"); +CodeMirror.defineMIME("text/ecmascript", "javascript"); +CodeMirror.defineMIME("application/javascript", "javascript"); +CodeMirror.defineMIME("application/x-javascript", "javascript"); +CodeMirror.defineMIME("application/ecmascript", "javascript"); +CodeMirror.defineMIME("application/json", { name: "javascript", json: true }); +CodeMirror.defineMIME("application/x-json", { name: "javascript", json: true }); +CodeMirror.defineMIME("application/manifest+json", { name: "javascript", json: true }) +CodeMirror.defineMIME("application/ld+json", { name: "javascript", jsonld: true }); +CodeMirror.defineMIME("text/typescript", { name: "javascript", typescript: true }); +CodeMirror.defineMIME("application/typescript", { name: "javascript", typescript: true }); + +}); diff --git a/wwws/admin/src/static/lib/codemirror/markdown/markdown.js b/wwws/admin/src/static/lib/codemirror/markdown/markdown.js new file mode 100644 index 0000000..6eef544 --- /dev/null +++ b/wwws/admin/src/static/lib/codemirror/markdown/markdown.js @@ -0,0 +1,886 @@ +// CodeMirror, copyright (c) by Marijn Haverbeke and others +// Distributed under an MIT license: https://codemirror.net/5/LICENSE + +(function(mod) { + if (typeof exports == "object" && typeof module == "object") // CommonJS + mod(require("../../lib/codemirror"), require("../xml/xml"), require("../meta")); + else if (typeof define == "function" && define.amd) // AMD + define(["../../lib/codemirror", "../xml/xml", "../meta"], mod); + else // Plain browser env + mod(CodeMirror); +})(function(CodeMirror) { +"use strict"; + +CodeMirror.defineMode("markdown", function(cmCfg, modeCfg) { + + var htmlMode = CodeMirror.getMode(cmCfg, "text/html"); + var htmlModeMissing = htmlMode.name == "null" + + function getMode(name) { + if (CodeMirror.findModeByName) { + var found = CodeMirror.findModeByName(name); + if (found) name = found.mime || found.mimes[0]; + } + var mode = CodeMirror.getMode(cmCfg, name); + return mode.name == "null" ? null : mode; + } + + // Should characters that affect highlighting be highlighted separate? + // Does not include characters that will be output (such as `1.` and `-` for lists) + if (modeCfg.highlightFormatting === undefined) + modeCfg.highlightFormatting = false; + + // Maximum number of nested blockquotes. Set to 0 for infinite nesting. + // Excess `>` will emit `error` token. + if (modeCfg.maxBlockquoteDepth === undefined) + modeCfg.maxBlockquoteDepth = 0; + + // Turn on task lists? ("- [ ] " and "- [x] ") + if (modeCfg.taskLists === undefined) modeCfg.taskLists = false; + + // Turn on strikethrough syntax + if (modeCfg.strikethrough === undefined) + modeCfg.strikethrough = false; + + if (modeCfg.emoji === undefined) + modeCfg.emoji = false; + + if (modeCfg.fencedCodeBlockHighlighting === undefined) + modeCfg.fencedCodeBlockHighlighting = true; + + if (modeCfg.fencedCodeBlockDefaultMode === undefined) + modeCfg.fencedCodeBlockDefaultMode = 'text/plain'; + + if (modeCfg.xml === undefined) + modeCfg.xml = true; + + // Allow token types to be overridden by user-provided token types. + if (modeCfg.tokenTypeOverrides === undefined) + modeCfg.tokenTypeOverrides = {}; + + var tokenTypes = { + header: "header", + code: "comment", + quote: "quote", + list1: "variable-2", + list2: "variable-3", + list3: "keyword", + hr: "hr", + image: "image", + imageAltText: "image-alt-text", + imageMarker: "image-marker", + formatting: "formatting", + linkInline: "link", + linkEmail: "link", + linkText: "link", + linkHref: "string", + em: "em", + strong: "strong", + strikethrough: "strikethrough", + emoji: "builtin" + }; + + for (var tokenType in tokenTypes) { + if (tokenTypes.hasOwnProperty(tokenType) && modeCfg.tokenTypeOverrides[tokenType]) { + tokenTypes[tokenType] = modeCfg.tokenTypeOverrides[tokenType]; + } + } + + var hrRE = /^([*\-_])(?:\s*\1){2,}\s*$/ + , listRE = /^(?:[*\-+]|^[0-9]+([.)]))\s+/ + , taskListRE = /^\[(x| )\](?=\s)/i // Must follow listRE + , atxHeaderRE = modeCfg.allowAtxHeaderWithoutSpace ? /^(#+)/ : /^(#+)(?: |$)/ + , setextHeaderRE = /^ {0,3}(?:\={1,}|-{2,})\s*$/ + , textRE = /^[^#!\[\]*_\\<>` "'(~:]+/ + , fencedCodeRE = /^(~~~+|```+)[ \t]*([\w\/+#-]*)[^\n`]*$/ + , linkDefRE = /^\s*\[[^\]]+?\]:.*$/ // naive link-definition + , punctuation = /[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u0AF0\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E42\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC9\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDF3C-\uDF3E]|\uD809[\uDC70-\uDC74]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]/ + , expandedTab = " " // CommonMark specifies tab as 4 spaces + + function switchInline(stream, state, f) { + state.f = state.inline = f; + return f(stream, state); + } + + function switchBlock(stream, state, f) { + state.f = state.block = f; + return f(stream, state); + } + + function lineIsEmpty(line) { + return !line || !/\S/.test(line.string) + } + + // Blocks + + function blankLine(state) { + // Reset linkTitle state + state.linkTitle = false; + state.linkHref = false; + state.linkText = false; + // Reset EM state + state.em = false; + // Reset STRONG state + state.strong = false; + // Reset strikethrough state + state.strikethrough = false; + // Reset state.quote + state.quote = 0; + // Reset state.indentedCode + state.indentedCode = false; + if (state.f == htmlBlock) { + var exit = htmlModeMissing + if (!exit) { + var inner = CodeMirror.innerMode(htmlMode, state.htmlState) + exit = inner.mode.name == "xml" && inner.state.tagStart === null && + (!inner.state.context && inner.state.tokenize.isInText) + } + if (exit) { + state.f = inlineNormal; + state.block = blockNormal; + state.htmlState = null; + } + } + // Reset state.trailingSpace + state.trailingSpace = 0; + state.trailingSpaceNewLine = false; + // Mark this line as blank + state.prevLine = state.thisLine + state.thisLine = {stream: null} + return null; + } + + function blockNormal(stream, state) { + var firstTokenOnLine = stream.column() === state.indentation; + var prevLineLineIsEmpty = lineIsEmpty(state.prevLine.stream); + var prevLineIsIndentedCode = state.indentedCode; + var prevLineIsHr = state.prevLine.hr; + var prevLineIsList = state.list !== false; + var maxNonCodeIndentation = (state.listStack[state.listStack.length - 1] || 0) + 3; + + state.indentedCode = false; + + var lineIndentation = state.indentation; + // compute once per line (on first token) + if (state.indentationDiff === null) { + state.indentationDiff = state.indentation; + if (prevLineIsList) { + state.list = null; + // While this list item's marker's indentation is less than the deepest + // list item's content's indentation,pop the deepest list item + // indentation off the stack, and update block indentation state + while (lineIndentation < state.listStack[state.listStack.length - 1]) { + state.listStack.pop(); + if (state.listStack.length) { + state.indentation = state.listStack[state.listStack.length - 1]; + // less than the first list's indent -> the line is no longer a list + } else { + state.list = false; + } + } + if (state.list !== false) { + state.indentationDiff = lineIndentation - state.listStack[state.listStack.length - 1] + } + } + } + + // not comprehensive (currently only for setext detection purposes) + var allowsInlineContinuation = ( + !prevLineLineIsEmpty && !prevLineIsHr && !state.prevLine.header && + (!prevLineIsList || !prevLineIsIndentedCode) && + !state.prevLine.fencedCodeEnd + ); + + var isHr = (state.list === false || prevLineIsHr || prevLineLineIsEmpty) && + state.indentation <= maxNonCodeIndentation && stream.match(hrRE); + + var match = null; + if (state.indentationDiff >= 4 && (prevLineIsIndentedCode || state.prevLine.fencedCodeEnd || + state.prevLine.header || prevLineLineIsEmpty)) { + stream.skipToEnd(); + state.indentedCode = true; + return tokenTypes.code; + } else if (stream.eatSpace()) { + return null; + } else if (firstTokenOnLine && state.indentation <= maxNonCodeIndentation && (match = stream.match(atxHeaderRE)) && match[1].length <= 6) { + state.quote = 0; + state.header = match[1].length; + state.thisLine.header = true; + if (modeCfg.highlightFormatting) state.formatting = "header"; + state.f = state.inline; + return getType(state); + } else if (state.indentation <= maxNonCodeIndentation && stream.eat('>')) { + state.quote = firstTokenOnLine ? 1 : state.quote + 1; + if (modeCfg.highlightFormatting) state.formatting = "quote"; + stream.eatSpace(); + return getType(state); + } else if (!isHr && !state.setext && firstTokenOnLine && state.indentation <= maxNonCodeIndentation && (match = stream.match(listRE))) { + var listType = match[1] ? "ol" : "ul"; + + state.indentation = lineIndentation + stream.current().length; + state.list = true; + state.quote = 0; + + // Add this list item's content's indentation to the stack + state.listStack.push(state.indentation); + // Reset inline styles which shouldn't propagate across list items + state.em = false; + state.strong = false; + state.code = false; + state.strikethrough = false; + + if (modeCfg.taskLists && stream.match(taskListRE, false)) { + state.taskList = true; + } + state.f = state.inline; + if (modeCfg.highlightFormatting) state.formatting = ["list", "list-" + listType]; + return getType(state); + } else if (firstTokenOnLine && state.indentation <= maxNonCodeIndentation && (match = stream.match(fencedCodeRE, true))) { + state.quote = 0; + state.fencedEndRE = new RegExp(match[1] + "+ *$"); + // try switching mode + state.localMode = modeCfg.fencedCodeBlockHighlighting && getMode(match[2] || modeCfg.fencedCodeBlockDefaultMode ); + if (state.localMode) state.localState = CodeMirror.startState(state.localMode); + state.f = state.block = local; + if (modeCfg.highlightFormatting) state.formatting = "code-block"; + state.code = -1 + return getType(state); + // SETEXT has lowest block-scope precedence after HR, so check it after + // the others (code, blockquote, list...) + } else if ( + // if setext set, indicates line after ---/=== + state.setext || ( + // line before ---/=== + (!allowsInlineContinuation || !prevLineIsList) && !state.quote && state.list === false && + !state.code && !isHr && !linkDefRE.test(stream.string) && + (match = stream.lookAhead(1)) && (match = match.match(setextHeaderRE)) + ) + ) { + if ( !state.setext ) { + state.header = match[0].charAt(0) == '=' ? 1 : 2; + state.setext = state.header; + } else { + state.header = state.setext; + // has no effect on type so we can reset it now + state.setext = 0; + stream.skipToEnd(); + if (modeCfg.highlightFormatting) state.formatting = "header"; + } + state.thisLine.header = true; + state.f = state.inline; + return getType(state); + } else if (isHr) { + stream.skipToEnd(); + state.hr = true; + state.thisLine.hr = true; + return tokenTypes.hr; + } else if (stream.peek() === '[') { + return switchInline(stream, state, footnoteLink); + } + + return switchInline(stream, state, state.inline); + } + + function htmlBlock(stream, state) { + var style = htmlMode.token(stream, state.htmlState); + if (!htmlModeMissing) { + var inner = CodeMirror.innerMode(htmlMode, state.htmlState) + if ((inner.mode.name == "xml" && inner.state.tagStart === null && + (!inner.state.context && inner.state.tokenize.isInText)) || + (state.md_inside && stream.current().indexOf(">") > -1)) { + state.f = inlineNormal; + state.block = blockNormal; + state.htmlState = null; + } + } + return style; + } + + function local(stream, state) { + var currListInd = state.listStack[state.listStack.length - 1] || 0; + var hasExitedList = state.indentation < currListInd; + var maxFencedEndInd = currListInd + 3; + if (state.fencedEndRE && state.indentation <= maxFencedEndInd && (hasExitedList || stream.match(state.fencedEndRE))) { + if (modeCfg.highlightFormatting) state.formatting = "code-block"; + var returnType; + if (!hasExitedList) returnType = getType(state) + state.localMode = state.localState = null; + state.block = blockNormal; + state.f = inlineNormal; + state.fencedEndRE = null; + state.code = 0 + state.thisLine.fencedCodeEnd = true; + if (hasExitedList) return switchBlock(stream, state, state.block); + return returnType; + } else if (state.localMode) { + return state.localMode.token(stream, state.localState); + } else { + stream.skipToEnd(); + return tokenTypes.code; + } + } + + // Inline + function getType(state) { + var styles = []; + + if (state.formatting) { + styles.push(tokenTypes.formatting); + + if (typeof state.formatting === "string") state.formatting = [state.formatting]; + + for (var i = 0; i < state.formatting.length; i++) { + styles.push(tokenTypes.formatting + "-" + state.formatting[i]); + + if (state.formatting[i] === "header") { + styles.push(tokenTypes.formatting + "-" + state.formatting[i] + "-" + state.header); + } + + // Add `formatting-quote` and `formatting-quote-#` for blockquotes + // Add `error` instead if the maximum blockquote nesting depth is passed + if (state.formatting[i] === "quote") { + if (!modeCfg.maxBlockquoteDepth || modeCfg.maxBlockquoteDepth >= state.quote) { + styles.push(tokenTypes.formatting + "-" + state.formatting[i] + "-" + state.quote); + } else { + styles.push("error"); + } + } + } + } + + if (state.taskOpen) { + styles.push("meta"); + return styles.length ? styles.join(' ') : null; + } + if (state.taskClosed) { + styles.push("property"); + return styles.length ? styles.join(' ') : null; + } + + if (state.linkHref) { + styles.push(tokenTypes.linkHref, "url"); + } else { // Only apply inline styles to non-url text + if (state.strong) { styles.push(tokenTypes.strong); } + if (state.em) { styles.push(tokenTypes.em); } + if (state.strikethrough) { styles.push(tokenTypes.strikethrough); } + if (state.emoji) { styles.push(tokenTypes.emoji); } + if (state.linkText) { styles.push(tokenTypes.linkText); } + if (state.code) { styles.push(tokenTypes.code); } + if (state.image) { styles.push(tokenTypes.image); } + if (state.imageAltText) { styles.push(tokenTypes.imageAltText, "link"); } + if (state.imageMarker) { styles.push(tokenTypes.imageMarker); } + } + + if (state.header) { styles.push(tokenTypes.header, tokenTypes.header + "-" + state.header); } + + if (state.quote) { + styles.push(tokenTypes.quote); + + // Add `quote-#` where the maximum for `#` is modeCfg.maxBlockquoteDepth + if (!modeCfg.maxBlockquoteDepth || modeCfg.maxBlockquoteDepth >= state.quote) { + styles.push(tokenTypes.quote + "-" + state.quote); + } else { + styles.push(tokenTypes.quote + "-" + modeCfg.maxBlockquoteDepth); + } + } + + if (state.list !== false) { + var listMod = (state.listStack.length - 1) % 3; + if (!listMod) { + styles.push(tokenTypes.list1); + } else if (listMod === 1) { + styles.push(tokenTypes.list2); + } else { + styles.push(tokenTypes.list3); + } + } + + if (state.trailingSpaceNewLine) { + styles.push("trailing-space-new-line"); + } else if (state.trailingSpace) { + styles.push("trailing-space-" + (state.trailingSpace % 2 ? "a" : "b")); + } + + return styles.length ? styles.join(' ') : null; + } + + function handleText(stream, state) { + if (stream.match(textRE, true)) { + return getType(state); + } + return undefined; + } + + function inlineNormal(stream, state) { + var style = state.text(stream, state); + if (typeof style !== 'undefined') + return style; + + if (state.list) { // List marker (*, +, -, 1., etc) + state.list = null; + return getType(state); + } + + if (state.taskList) { + var taskOpen = stream.match(taskListRE, true)[1] === " "; + if (taskOpen) state.taskOpen = true; + else state.taskClosed = true; + if (modeCfg.highlightFormatting) state.formatting = "task"; + state.taskList = false; + return getType(state); + } + + state.taskOpen = false; + state.taskClosed = false; + + if (state.header && stream.match(/^#+$/, true)) { + if (modeCfg.highlightFormatting) state.formatting = "header"; + return getType(state); + } + + var ch = stream.next(); + + // Matches link titles present on next line + if (state.linkTitle) { + state.linkTitle = false; + var matchCh = ch; + if (ch === '(') { + matchCh = ')'; + } + matchCh = (matchCh+'').replace(/([.?*+^\[\]\\(){}|-])/g, "\\$1"); + var regex = '^\\s*(?:[^' + matchCh + '\\\\]+|\\\\\\\\|\\\\.)' + matchCh; + if (stream.match(new RegExp(regex), true)) { + return tokenTypes.linkHref; + } + } + + // If this block is changed, it may need to be updated in GFM mode + if (ch === '`') { + var previousFormatting = state.formatting; + if (modeCfg.highlightFormatting) state.formatting = "code"; + stream.eatWhile('`'); + var count = stream.current().length + if (state.code == 0 && (!state.quote || count == 1)) { + state.code = count + return getType(state) + } else if (count == state.code) { // Must be exact + var t = getType(state) + state.code = 0 + return t + } else { + state.formatting = previousFormatting + return getType(state) + } + } else if (state.code) { + return getType(state); + } + + if (ch === '\\') { + stream.next(); + if (modeCfg.highlightFormatting) { + var type = getType(state); + var formattingEscape = tokenTypes.formatting + "-escape"; + return type ? type + " " + formattingEscape : formattingEscape; + } + } + + if (ch === '!' && stream.match(/\[[^\]]*\] ?(?:\(|\[)/, false)) { + state.imageMarker = true; + state.image = true; + if (modeCfg.highlightFormatting) state.formatting = "image"; + return getType(state); + } + + if (ch === '[' && state.imageMarker && stream.match(/[^\]]*\](\(.*?\)| ?\[.*?\])/, false)) { + state.imageMarker = false; + state.imageAltText = true + if (modeCfg.highlightFormatting) state.formatting = "image"; + return getType(state); + } + + if (ch === ']' && state.imageAltText) { + if (modeCfg.highlightFormatting) state.formatting = "image"; + var type = getType(state); + state.imageAltText = false; + state.image = false; + state.inline = state.f = linkHref; + return type; + } + + if (ch === '[' && !state.image) { + if (state.linkText && stream.match(/^.*?\]/)) return getType(state) + state.linkText = true; + if (modeCfg.highlightFormatting) state.formatting = "link"; + return getType(state); + } + + if (ch === ']' && state.linkText) { + if (modeCfg.highlightFormatting) state.formatting = "link"; + var type = getType(state); + state.linkText = false; + state.inline = state.f = stream.match(/\(.*?\)| ?\[.*?\]/, false) ? linkHref : inlineNormal + return type; + } + + if (ch === '<' && stream.match(/^(https?|ftps?):\/\/(?:[^\\>]|\\.)+>/, false)) { + state.f = state.inline = linkInline; + if (modeCfg.highlightFormatting) state.formatting = "link"; + var type = getType(state); + if (type){ + type += " "; + } else { + type = ""; + } + return type + tokenTypes.linkInline; + } + + if (ch === '<' && stream.match(/^[^> \\]+@(?:[^\\>]|\\.)+>/, false)) { + state.f = state.inline = linkInline; + if (modeCfg.highlightFormatting) state.formatting = "link"; + var type = getType(state); + if (type){ + type += " "; + } else { + type = ""; + } + return type + tokenTypes.linkEmail; + } + + if (modeCfg.xml && ch === '<' && stream.match(/^(!--|\?|!\[CDATA\[|[a-z][a-z0-9-]*(?:\s+[a-z_:.\-]+(?:\s*=\s*[^>]+)?)*\s*(?:>|$))/i, false)) { + var end = stream.string.indexOf(">", stream.pos); + if (end != -1) { + var atts = stream.string.substring(stream.start, end); + if (/markdown\s*=\s*('|"){0,1}1('|"){0,1}/.test(atts)) state.md_inside = true; + } + stream.backUp(1); + state.htmlState = CodeMirror.startState(htmlMode); + return switchBlock(stream, state, htmlBlock); + } + + if (modeCfg.xml && ch === '<' && stream.match(/^\/\w*?>/)) { + state.md_inside = false; + return "tag"; + } else if (ch === "*" || ch === "_") { + var len = 1, before = stream.pos == 1 ? " " : stream.string.charAt(stream.pos - 2) + while (len < 3 && stream.eat(ch)) len++ + var after = stream.peek() || " " + // See http://spec.commonmark.org/0.27/#emphasis-and-strong-emphasis + var leftFlanking = !/\s/.test(after) && (!punctuation.test(after) || /\s/.test(before) || punctuation.test(before)) + var rightFlanking = !/\s/.test(before) && (!punctuation.test(before) || /\s/.test(after) || punctuation.test(after)) + var setEm = null, setStrong = null + if (len % 2) { // Em + if (!state.em && leftFlanking && (ch === "*" || !rightFlanking || punctuation.test(before))) + setEm = true + else if (state.em == ch && rightFlanking && (ch === "*" || !leftFlanking || punctuation.test(after))) + setEm = false + } + if (len > 1) { // Strong + if (!state.strong && leftFlanking && (ch === "*" || !rightFlanking || punctuation.test(before))) + setStrong = true + else if (state.strong == ch && rightFlanking && (ch === "*" || !leftFlanking || punctuation.test(after))) + setStrong = false + } + if (setStrong != null || setEm != null) { + if (modeCfg.highlightFormatting) state.formatting = setEm == null ? "strong" : setStrong == null ? "em" : "strong em" + if (setEm === true) state.em = ch + if (setStrong === true) state.strong = ch + var t = getType(state) + if (setEm === false) state.em = false + if (setStrong === false) state.strong = false + return t + } + } else if (ch === ' ') { + if (stream.eat('*') || stream.eat('_')) { // Probably surrounded by spaces + if (stream.peek() === ' ') { // Surrounded by spaces, ignore + return getType(state); + } else { // Not surrounded by spaces, back up pointer + stream.backUp(1); + } + } + } + + if (modeCfg.strikethrough) { + if (ch === '~' && stream.eatWhile(ch)) { + if (state.strikethrough) {// Remove strikethrough + if (modeCfg.highlightFormatting) state.formatting = "strikethrough"; + var t = getType(state); + state.strikethrough = false; + return t; + } else if (stream.match(/^[^\s]/, false)) {// Add strikethrough + state.strikethrough = true; + if (modeCfg.highlightFormatting) state.formatting = "strikethrough"; + return getType(state); + } + } else if (ch === ' ') { + if (stream.match('~~', true)) { // Probably surrounded by space + if (stream.peek() === ' ') { // Surrounded by spaces, ignore + return getType(state); + } else { // Not surrounded by spaces, back up pointer + stream.backUp(2); + } + } + } + } + + if (modeCfg.emoji && ch === ":" && stream.match(/^(?:[a-z_\d+][a-z_\d+-]*|\-[a-z_\d+][a-z_\d+-]*):/)) { + state.emoji = true; + if (modeCfg.highlightFormatting) state.formatting = "emoji"; + var retType = getType(state); + state.emoji = false; + return retType; + } + + if (ch === ' ') { + if (stream.match(/^ +$/, false)) { + state.trailingSpace++; + } else if (state.trailingSpace) { + state.trailingSpaceNewLine = true; + } + } + + return getType(state); + } + + function linkInline(stream, state) { + var ch = stream.next(); + + if (ch === ">") { + state.f = state.inline = inlineNormal; + if (modeCfg.highlightFormatting) state.formatting = "link"; + var type = getType(state); + if (type){ + type += " "; + } else { + type = ""; + } + return type + tokenTypes.linkInline; + } + + stream.match(/^[^>]+/, true); + + return tokenTypes.linkInline; + } + + function linkHref(stream, state) { + // Check if space, and return NULL if so (to avoid marking the space) + if(stream.eatSpace()){ + return null; + } + var ch = stream.next(); + if (ch === '(' || ch === '[') { + state.f = state.inline = getLinkHrefInside(ch === "(" ? ")" : "]"); + if (modeCfg.highlightFormatting) state.formatting = "link-string"; + state.linkHref = true; + return getType(state); + } + return 'error'; + } + + var linkRE = { + ")": /^(?:[^\\\(\)]|\\.|\((?:[^\\\(\)]|\\.)*\))*?(?=\))/, + "]": /^(?:[^\\\[\]]|\\.|\[(?:[^\\\[\]]|\\.)*\])*?(?=\])/ + } + + function getLinkHrefInside(endChar) { + return function(stream, state) { + var ch = stream.next(); + + if (ch === endChar) { + state.f = state.inline = inlineNormal; + if (modeCfg.highlightFormatting) state.formatting = "link-string"; + var returnState = getType(state); + state.linkHref = false; + return returnState; + } + + stream.match(linkRE[endChar]) + state.linkHref = true; + return getType(state); + }; + } + + function footnoteLink(stream, state) { + if (stream.match(/^([^\]\\]|\\.)*\]:/, false)) { + state.f = footnoteLinkInside; + stream.next(); // Consume [ + if (modeCfg.highlightFormatting) state.formatting = "link"; + state.linkText = true; + return getType(state); + } + return switchInline(stream, state, inlineNormal); + } + + function footnoteLinkInside(stream, state) { + if (stream.match(']:', true)) { + state.f = state.inline = footnoteUrl; + if (modeCfg.highlightFormatting) state.formatting = "link"; + var returnType = getType(state); + state.linkText = false; + return returnType; + } + + stream.match(/^([^\]\\]|\\.)+/, true); + + return tokenTypes.linkText; + } + + function footnoteUrl(stream, state) { + // Check if space, and return NULL if so (to avoid marking the space) + if(stream.eatSpace()){ + return null; + } + // Match URL + stream.match(/^[^\s]+/, true); + // Check for link title + if (stream.peek() === undefined) { // End of line, set flag to check next line + state.linkTitle = true; + } else { // More content on line, check if link title + stream.match(/^(?:\s+(?:"(?:[^"\\]|\\.)+"|'(?:[^'\\]|\\.)+'|\((?:[^)\\]|\\.)+\)))?/, true); + } + state.f = state.inline = inlineNormal; + return tokenTypes.linkHref + " url"; + } + + var mode = { + startState: function() { + return { + f: blockNormal, + + prevLine: {stream: null}, + thisLine: {stream: null}, + + block: blockNormal, + htmlState: null, + indentation: 0, + + inline: inlineNormal, + text: handleText, + + formatting: false, + linkText: false, + linkHref: false, + linkTitle: false, + code: 0, + em: false, + strong: false, + header: 0, + setext: 0, + hr: false, + taskList: false, + list: false, + listStack: [], + quote: 0, + trailingSpace: 0, + trailingSpaceNewLine: false, + strikethrough: false, + emoji: false, + fencedEndRE: null + }; + }, + + copyState: function(s) { + return { + f: s.f, + + prevLine: s.prevLine, + thisLine: s.thisLine, + + block: s.block, + htmlState: s.htmlState && CodeMirror.copyState(htmlMode, s.htmlState), + indentation: s.indentation, + + localMode: s.localMode, + localState: s.localMode ? CodeMirror.copyState(s.localMode, s.localState) : null, + + inline: s.inline, + text: s.text, + formatting: false, + linkText: s.linkText, + linkTitle: s.linkTitle, + linkHref: s.linkHref, + code: s.code, + em: s.em, + strong: s.strong, + strikethrough: s.strikethrough, + emoji: s.emoji, + header: s.header, + setext: s.setext, + hr: s.hr, + taskList: s.taskList, + list: s.list, + listStack: s.listStack.slice(0), + quote: s.quote, + indentedCode: s.indentedCode, + trailingSpace: s.trailingSpace, + trailingSpaceNewLine: s.trailingSpaceNewLine, + md_inside: s.md_inside, + fencedEndRE: s.fencedEndRE + }; + }, + + token: function(stream, state) { + + // Reset state.formatting + state.formatting = false; + + if (stream != state.thisLine.stream) { + state.header = 0; + state.hr = false; + + if (stream.match(/^\s*$/, true)) { + blankLine(state); + return null; + } + + state.prevLine = state.thisLine + state.thisLine = {stream: stream} + + // Reset state.taskList + state.taskList = false; + + // Reset state.trailingSpace + state.trailingSpace = 0; + state.trailingSpaceNewLine = false; + + if (!state.localState) { + state.f = state.block; + if (state.f != htmlBlock) { + var indentation = stream.match(/^\s*/, true)[0].replace(/\t/g, expandedTab).length; + state.indentation = indentation; + state.indentationDiff = null; + if (indentation > 0) return null; + } + } + } + return state.f(stream, state); + }, + + innerMode: function(state) { + if (state.block == htmlBlock) return {state: state.htmlState, mode: htmlMode}; + if (state.localState) return {state: state.localState, mode: state.localMode}; + return {state: state, mode: mode}; + }, + + indent: function(state, textAfter, line) { + if (state.block == htmlBlock && htmlMode.indent) return htmlMode.indent(state.htmlState, textAfter, line) + if (state.localState && state.localMode.indent) return state.localMode.indent(state.localState, textAfter, line) + return CodeMirror.Pass + }, + + blankLine: blankLine, + + getType: getType, + + blockCommentStart: "", + closeBrackets: "()[]{}''\"\"``", + fold: "markdown" + }; + return mode; +}, "xml"); + +CodeMirror.defineMIME("text/markdown", "markdown"); + +CodeMirror.defineMIME("text/x-markdown", "markdown"); + +}); diff --git a/wwws/admin/src/static/lib/codemirror/nginx/nginx.js b/wwws/admin/src/static/lib/codemirror/nginx/nginx.js new file mode 100644 index 0000000..b6c1d5f --- /dev/null +++ b/wwws/admin/src/static/lib/codemirror/nginx/nginx.js @@ -0,0 +1,178 @@ +// CodeMirror, copyright (c) by Marijn Haverbeke and others +// Distributed under an MIT license: https://codemirror.net/5/LICENSE + +(function(mod) { + if (typeof exports == "object" && typeof module == "object") // CommonJS + mod(require("../../lib/codemirror")); + else if (typeof define == "function" && define.amd) // AMD + define(["../../lib/codemirror"], mod); + else // Plain browser env + mod(CodeMirror); +})(function(CodeMirror) { +"use strict"; + +CodeMirror.defineMode("nginx", function(config) { + + function words(str) { + var obj = {}, words = str.split(" "); + for (var i = 0; i < words.length; ++i) obj[words[i]] = true; + return obj; + } + + var keywords = words( + /* ngxDirectiveControl */ "break return rewrite set" + + /* ngxDirective */ " accept_mutex accept_mutex_delay access_log add_after_body add_before_body add_header addition_types aio alias allow ancient_browser ancient_browser_value auth_basic auth_basic_user_file auth_http auth_http_header auth_http_timeout autoindex autoindex_exact_size autoindex_localtime charset charset_types client_body_buffer_size client_body_in_file_only client_body_in_single_buffer client_body_temp_path client_body_timeout client_header_buffer_size client_header_timeout client_max_body_size connection_pool_size create_full_put_path daemon dav_access dav_methods debug_connection debug_points default_type degradation degrade deny devpoll_changes devpoll_events directio directio_alignment empty_gif env epoll_events error_log eventport_events expires fastcgi_bind fastcgi_buffer_size fastcgi_buffers fastcgi_busy_buffers_size fastcgi_cache fastcgi_cache_key fastcgi_cache_methods fastcgi_cache_min_uses fastcgi_cache_path fastcgi_cache_use_stale fastcgi_cache_valid fastcgi_catch_stderr fastcgi_connect_timeout fastcgi_hide_header fastcgi_ignore_client_abort fastcgi_ignore_headers fastcgi_index fastcgi_intercept_errors fastcgi_max_temp_file_size fastcgi_next_upstream fastcgi_param fastcgi_pass_header fastcgi_pass_request_body fastcgi_pass_request_headers fastcgi_read_timeout fastcgi_send_lowat fastcgi_send_timeout fastcgi_split_path_info fastcgi_store fastcgi_store_access fastcgi_temp_file_write_size fastcgi_temp_path fastcgi_upstream_fail_timeout fastcgi_upstream_max_fails flv geoip_city geoip_country google_perftools_profiles gzip gzip_buffers gzip_comp_level gzip_disable gzip_hash gzip_http_version gzip_min_length gzip_no_buffer gzip_proxied gzip_static gzip_types gzip_vary gzip_window if_modified_since ignore_invalid_headers image_filter image_filter_buffer image_filter_jpeg_quality image_filter_transparency imap_auth imap_capabilities imap_client_buffer index ip_hash keepalive_requests keepalive_timeout kqueue_changes kqueue_events large_client_header_buffers limit_conn limit_conn_log_level limit_rate limit_rate_after limit_req limit_req_log_level limit_req_zone limit_zone lingering_time lingering_timeout lock_file log_format log_not_found log_subrequest map_hash_bucket_size map_hash_max_size master_process memcached_bind memcached_buffer_size memcached_connect_timeout memcached_next_upstream memcached_read_timeout memcached_send_timeout memcached_upstream_fail_timeout memcached_upstream_max_fails merge_slashes min_delete_depth modern_browser modern_browser_value msie_padding msie_refresh multi_accept open_file_cache open_file_cache_errors open_file_cache_events open_file_cache_min_uses open_file_cache_valid open_log_file_cache output_buffers override_charset perl perl_modules perl_require perl_set pid pop3_auth pop3_capabilities port_in_redirect postpone_gzipping postpone_output protocol proxy proxy_bind proxy_buffer proxy_buffer_size proxy_buffering proxy_buffers proxy_busy_buffers_size proxy_cache proxy_cache_key proxy_cache_methods proxy_cache_min_uses proxy_cache_path proxy_cache_use_stale proxy_cache_valid proxy_connect_timeout proxy_headers_hash_bucket_size proxy_headers_hash_max_size proxy_hide_header proxy_ignore_client_abort proxy_ignore_headers proxy_intercept_errors proxy_max_temp_file_size proxy_method proxy_next_upstream proxy_pass_error_message proxy_pass_header proxy_pass_request_body proxy_pass_request_headers proxy_read_timeout proxy_redirect proxy_send_lowat proxy_send_timeout proxy_set_body proxy_set_header proxy_ssl_session_reuse proxy_store proxy_store_access proxy_temp_file_write_size proxy_temp_path proxy_timeout proxy_upstream_fail_timeout proxy_upstream_max_fails random_index read_ahead real_ip_header recursive_error_pages request_pool_size reset_timedout_connection resolver resolver_timeout rewrite_log rtsig_overflow_events rtsig_overflow_test rtsig_overflow_threshold rtsig_signo satisfy secure_link_secret send_lowat send_timeout sendfile sendfile_max_chunk server_name_in_redirect server_names_hash_bucket_size server_names_hash_max_size server_tokens set_real_ip_from smtp_auth smtp_capabilities smtp_client_buffer smtp_greeting_delay so_keepalive source_charset ssi ssi_ignore_recycled_buffers ssi_min_file_chunk ssi_silent_errors ssi_types ssi_value_length ssl ssl_certificate ssl_certificate_key ssl_ciphers ssl_client_certificate ssl_crl ssl_dhparam ssl_engine ssl_prefer_server_ciphers ssl_protocols ssl_session_cache ssl_session_timeout ssl_verify_client ssl_verify_depth starttls stub_status sub_filter sub_filter_once sub_filter_types tcp_nodelay tcp_nopush thread_stack_size timeout timer_resolution types_hash_bucket_size types_hash_max_size underscores_in_headers uninitialized_variable_warn use user userid userid_domain userid_expires userid_mark userid_name userid_p3p userid_path userid_service valid_referers variables_hash_bucket_size variables_hash_max_size worker_connections worker_cpu_affinity worker_priority worker_processes worker_rlimit_core worker_rlimit_nofile worker_rlimit_sigpending worker_threads working_directory xclient xml_entities xslt_stylesheet xslt_typesdrew@li229-23" + ); + + var keywords_block = words( + /* ngxDirectiveBlock */ "http mail events server types location upstream charset_map limit_except if geo map" + ); + + var keywords_important = words( + /* ngxDirectiveImportant */ "include root server server_name listen internal proxy_pass memcached_pass fastcgi_pass try_files" + ); + + var indentUnit = config.indentUnit, type; + function ret(style, tp) {type = tp; return style;} + + function tokenBase(stream, state) { + + + stream.eatWhile(/[\w\$_]/); + + var cur = stream.current(); + + + if (keywords.propertyIsEnumerable(cur)) { + return "keyword"; + } + else if (keywords_block.propertyIsEnumerable(cur)) { + return "variable-2"; + } + else if (keywords_important.propertyIsEnumerable(cur)) { + return "string-2"; + } + /**/ + + var ch = stream.next(); + if (ch == "@") {stream.eatWhile(/[\w\\\-]/); return ret("meta", stream.current());} + else if (ch == "/" && stream.eat("*")) { + state.tokenize = tokenCComment; + return tokenCComment(stream, state); + } + else if (ch == "<" && stream.eat("!")) { + state.tokenize = tokenSGMLComment; + return tokenSGMLComment(stream, state); + } + else if (ch == "=") ret(null, "compare"); + else if ((ch == "~" || ch == "|") && stream.eat("=")) return ret(null, "compare"); + else if (ch == "\"" || ch == "'") { + state.tokenize = tokenString(ch); + return state.tokenize(stream, state); + } + else if (ch == "#") { + stream.skipToEnd(); + return ret("comment", "comment"); + } + else if (ch == "!") { + stream.match(/^\s*\w*/); + return ret("keyword", "important"); + } + else if (/\d/.test(ch)) { + stream.eatWhile(/[\w.%]/); + return ret("number", "unit"); + } + else if (/[,.+>*\/]/.test(ch)) { + return ret(null, "select-op"); + } + else if (/[;{}:\[\]]/.test(ch)) { + return ret(null, ch); + } + else { + stream.eatWhile(/[\w\\\-]/); + return ret("variable", "variable"); + } + } + + function tokenCComment(stream, state) { + var maybeEnd = false, ch; + while ((ch = stream.next()) != null) { + if (maybeEnd && ch == "/") { + state.tokenize = tokenBase; + break; + } + maybeEnd = (ch == "*"); + } + return ret("comment", "comment"); + } + + function tokenSGMLComment(stream, state) { + var dashes = 0, ch; + while ((ch = stream.next()) != null) { + if (dashes >= 2 && ch == ">") { + state.tokenize = tokenBase; + break; + } + dashes = (ch == "-") ? dashes + 1 : 0; + } + return ret("comment", "comment"); + } + + function tokenString(quote) { + return function(stream, state) { + var escaped = false, ch; + while ((ch = stream.next()) != null) { + if (ch == quote && !escaped) + break; + escaped = !escaped && ch == "\\"; + } + if (!escaped) state.tokenize = tokenBase; + return ret("string", "string"); + }; + } + + return { + startState: function(base) { + return {tokenize: tokenBase, + baseIndent: base || 0, + stack: []}; + }, + + token: function(stream, state) { + if (stream.eatSpace()) return null; + type = null; + var style = state.tokenize(stream, state); + + var context = state.stack[state.stack.length-1]; + if (type == "hash" && context == "rule") style = "atom"; + else if (style == "variable") { + if (context == "rule") style = "number"; + else if (!context || context == "@media{") style = "tag"; + } + + if (context == "rule" && /^[\{\};]$/.test(type)) + state.stack.pop(); + if (type == "{") { + if (context == "@media") state.stack[state.stack.length-1] = "@media{"; + else state.stack.push("{"); + } + else if (type == "}") state.stack.pop(); + else if (type == "@media") state.stack.push("@media"); + else if (context == "{" && type != "comment") state.stack.push("rule"); + return style; + }, + + indent: function(state, textAfter) { + var n = state.stack.length; + if (/^\}/.test(textAfter)) + n -= state.stack[state.stack.length-1] == "rule" ? 2 : 1; + return state.baseIndent + n * indentUnit; + }, + + electricChars: "}" + }; +}); + +CodeMirror.defineMIME("text/x-nginx-conf", "nginx"); + +}); diff --git a/wwws/admin/src/static/lib/codemirror/python/python.js b/wwws/admin/src/static/lib/codemirror/python/python.js new file mode 100644 index 0000000..3946cee --- /dev/null +++ b/wwws/admin/src/static/lib/codemirror/python/python.js @@ -0,0 +1,402 @@ +// CodeMirror, copyright (c) by Marijn Haverbeke and others +// Distributed under an MIT license: https://codemirror.net/5/LICENSE + +(function(mod) { + if (typeof exports == "object" && typeof module == "object") // CommonJS + mod(require("../../lib/codemirror")); + else if (typeof define == "function" && define.amd) // AMD + define(["../../lib/codemirror"], mod); + else // Plain browser env + mod(CodeMirror); +})(function(CodeMirror) { + "use strict"; + + function wordRegexp(words) { + return new RegExp("^((" + words.join(")|(") + "))\\b"); + } + + var wordOperators = wordRegexp(["and", "or", "not", "is"]); + var commonKeywords = ["as", "assert", "break", "class", "continue", + "def", "del", "elif", "else", "except", "finally", + "for", "from", "global", "if", "import", + "lambda", "pass", "raise", "return", + "try", "while", "with", "yield", "in", "False", "True"]; + var commonBuiltins = ["abs", "all", "any", "bin", "bool", "bytearray", "callable", "chr", + "classmethod", "compile", "complex", "delattr", "dict", "dir", "divmod", + "enumerate", "eval", "filter", "float", "format", "frozenset", + "getattr", "globals", "hasattr", "hash", "help", "hex", "id", + "input", "int", "isinstance", "issubclass", "iter", "len", + "list", "locals", "map", "max", "memoryview", "min", "next", + "object", "oct", "open", "ord", "pow", "property", "range", + "repr", "reversed", "round", "set", "setattr", "slice", + "sorted", "staticmethod", "str", "sum", "super", "tuple", + "type", "vars", "zip", "__import__", "NotImplemented", + "Ellipsis", "__debug__"]; + CodeMirror.registerHelper("hintWords", "python", commonKeywords.concat(commonBuiltins).concat(["exec", "print"])); + + function top(state) { + return state.scopes[state.scopes.length - 1]; + } + + CodeMirror.defineMode("python", function(conf, parserConf) { + var ERRORCLASS = "error"; + + var delimiters = parserConf.delimiters || parserConf.singleDelimiters || /^[\(\)\[\]\{\}@,:`=;\.\\]/; + // (Backwards-compatibility with old, cumbersome config system) + var operators = [parserConf.singleOperators, parserConf.doubleOperators, parserConf.doubleDelimiters, parserConf.tripleDelimiters, + parserConf.operators || /^([-+*/%\/&|^]=?|[<>=]+|\/\/=?|\*\*=?|!=|[~!@]|\.\.\.)/] + for (var i = 0; i < operators.length; i++) if (!operators[i]) operators.splice(i--, 1) + + var hangingIndent = parserConf.hangingIndent || conf.indentUnit; + + var myKeywords = commonKeywords, myBuiltins = commonBuiltins; + if (parserConf.extra_keywords != undefined) + myKeywords = myKeywords.concat(parserConf.extra_keywords); + + if (parserConf.extra_builtins != undefined) + myBuiltins = myBuiltins.concat(parserConf.extra_builtins); + + var py3 = !(parserConf.version && Number(parserConf.version) < 3) + if (py3) { + // since http://legacy.python.org/dev/peps/pep-0465/ @ is also an operator + var identifiers = parserConf.identifiers|| /^[_A-Za-z\u00A1-\uFFFF][_A-Za-z0-9\u00A1-\uFFFF]*/; + myKeywords = myKeywords.concat(["nonlocal", "None", "aiter", "anext", "async", "await", "breakpoint", "match", "case"]); + myBuiltins = myBuiltins.concat(["ascii", "bytes", "exec", "print"]); + var stringPrefixes = new RegExp("^(([rbuf]|(br)|(rb)|(fr)|(rf))?('{3}|\"{3}|['\"]))", "i"); + } else { + var identifiers = parserConf.identifiers|| /^[_A-Za-z][_A-Za-z0-9]*/; + myKeywords = myKeywords.concat(["exec", "print"]); + myBuiltins = myBuiltins.concat(["apply", "basestring", "buffer", "cmp", "coerce", "execfile", + "file", "intern", "long", "raw_input", "reduce", "reload", + "unichr", "unicode", "xrange", "None"]); + var stringPrefixes = new RegExp("^(([rubf]|(ur)|(br))?('{3}|\"{3}|['\"]))", "i"); + } + var keywords = wordRegexp(myKeywords); + var builtins = wordRegexp(myBuiltins); + + // tokenizers + function tokenBase(stream, state) { + var sol = stream.sol() && state.lastToken != "\\" + if (sol) state.indent = stream.indentation() + // Handle scope changes + if (sol && top(state).type == "py") { + var scopeOffset = top(state).offset; + if (stream.eatSpace()) { + var lineOffset = stream.indentation(); + if (lineOffset > scopeOffset) + pushPyScope(state); + else if (lineOffset < scopeOffset && dedent(stream, state) && stream.peek() != "#") + state.errorToken = true; + return null; + } else { + var style = tokenBaseInner(stream, state); + if (scopeOffset > 0 && dedent(stream, state)) + style += " " + ERRORCLASS; + return style; + } + } + return tokenBaseInner(stream, state); + } + + function tokenBaseInner(stream, state, inFormat) { + if (stream.eatSpace()) return null; + + // Handle Comments + if (!inFormat && stream.match(/^#.*/)) return "comment"; + + // Handle Number Literals + if (stream.match(/^[0-9\.]/, false)) { + var floatLiteral = false; + // Floats + if (stream.match(/^[\d_]*\.\d+(e[\+\-]?\d+)?/i)) { floatLiteral = true; } + if (stream.match(/^[\d_]+\.\d*/)) { floatLiteral = true; } + if (stream.match(/^\.\d+/)) { floatLiteral = true; } + if (floatLiteral) { + // Float literals may be "imaginary" + stream.eat(/J/i); + return "number"; + } + // Integers + var intLiteral = false; + // Hex + if (stream.match(/^0x[0-9a-f_]+/i)) intLiteral = true; + // Binary + if (stream.match(/^0b[01_]+/i)) intLiteral = true; + // Octal + if (stream.match(/^0o[0-7_]+/i)) intLiteral = true; + // Decimal + if (stream.match(/^[1-9][\d_]*(e[\+\-]?[\d_]+)?/)) { + // Decimal literals may be "imaginary" + stream.eat(/J/i); + // TODO - Can you have imaginary longs? + intLiteral = true; + } + // Zero by itself with no other piece of number. + if (stream.match(/^0(?![\dx])/i)) intLiteral = true; + if (intLiteral) { + // Integer literals may be "long" + stream.eat(/L/i); + return "number"; + } + } + + // Handle Strings + if (stream.match(stringPrefixes)) { + var isFmtString = stream.current().toLowerCase().indexOf('f') !== -1; + if (!isFmtString) { + state.tokenize = tokenStringFactory(stream.current(), state.tokenize); + return state.tokenize(stream, state); + } else { + state.tokenize = formatStringFactory(stream.current(), state.tokenize); + return state.tokenize(stream, state); + } + } + + for (var i = 0; i < operators.length; i++) + if (stream.match(operators[i])) return "operator" + + if (stream.match(delimiters)) return "punctuation"; + + if (state.lastToken == "." && stream.match(identifiers)) + return "property"; + + if (stream.match(keywords) || stream.match(wordOperators)) + return "keyword"; + + if (stream.match(builtins)) + return "builtin"; + + if (stream.match(/^(self|cls)\b/)) + return "variable-2"; + + if (stream.match(identifiers)) { + if (state.lastToken == "def" || state.lastToken == "class") + return "def"; + return "variable"; + } + + // Handle non-detected items + stream.next(); + return inFormat ? null :ERRORCLASS; + } + + function formatStringFactory(delimiter, tokenOuter) { + while ("rubf".indexOf(delimiter.charAt(0).toLowerCase()) >= 0) + delimiter = delimiter.substr(1); + + var singleline = delimiter.length == 1; + var OUTCLASS = "string"; + + function tokenNestedExpr(depth) { + return function(stream, state) { + var inner = tokenBaseInner(stream, state, true) + if (inner == "punctuation") { + if (stream.current() == "{") { + state.tokenize = tokenNestedExpr(depth + 1) + } else if (stream.current() == "}") { + if (depth > 1) state.tokenize = tokenNestedExpr(depth - 1) + else state.tokenize = tokenString + } + } + return inner + } + } + + function tokenString(stream, state) { + while (!stream.eol()) { + stream.eatWhile(/[^'"\{\}\\]/); + if (stream.eat("\\")) { + stream.next(); + if (singleline && stream.eol()) + return OUTCLASS; + } else if (stream.match(delimiter)) { + state.tokenize = tokenOuter; + return OUTCLASS; + } else if (stream.match('{{')) { + // ignore {{ in f-str + return OUTCLASS; + } else if (stream.match('{', false)) { + // switch to nested mode + state.tokenize = tokenNestedExpr(0) + if (stream.current()) return OUTCLASS; + else return state.tokenize(stream, state) + } else if (stream.match('}}')) { + return OUTCLASS; + } else if (stream.match('}')) { + // single } in f-string is an error + return ERRORCLASS; + } else { + stream.eat(/['"]/); + } + } + if (singleline) { + if (parserConf.singleLineStringErrors) + return ERRORCLASS; + else + state.tokenize = tokenOuter; + } + return OUTCLASS; + } + tokenString.isString = true; + return tokenString; + } + + function tokenStringFactory(delimiter, tokenOuter) { + while ("rubf".indexOf(delimiter.charAt(0).toLowerCase()) >= 0) + delimiter = delimiter.substr(1); + + var singleline = delimiter.length == 1; + var OUTCLASS = "string"; + + function tokenString(stream, state) { + while (!stream.eol()) { + stream.eatWhile(/[^'"\\]/); + if (stream.eat("\\")) { + stream.next(); + if (singleline && stream.eol()) + return OUTCLASS; + } else if (stream.match(delimiter)) { + state.tokenize = tokenOuter; + return OUTCLASS; + } else { + stream.eat(/['"]/); + } + } + if (singleline) { + if (parserConf.singleLineStringErrors) + return ERRORCLASS; + else + state.tokenize = tokenOuter; + } + return OUTCLASS; + } + tokenString.isString = true; + return tokenString; + } + + function pushPyScope(state) { + while (top(state).type != "py") state.scopes.pop() + state.scopes.push({offset: top(state).offset + conf.indentUnit, + type: "py", + align: null}) + } + + function pushBracketScope(stream, state, type) { + var align = stream.match(/^[\s\[\{\(]*(?:#|$)/, false) ? null : stream.column() + 1 + state.scopes.push({offset: state.indent + hangingIndent, + type: type, + align: align}) + } + + function dedent(stream, state) { + var indented = stream.indentation(); + while (state.scopes.length > 1 && top(state).offset > indented) { + if (top(state).type != "py") return true; + state.scopes.pop(); + } + return top(state).offset != indented; + } + + function tokenLexer(stream, state) { + if (stream.sol()) { + state.beginningOfLine = true; + state.dedent = false; + } + + var style = state.tokenize(stream, state); + var current = stream.current(); + + // Handle decorators + if (state.beginningOfLine && current == "@") + return stream.match(identifiers, false) ? "meta" : py3 ? "operator" : ERRORCLASS; + + if (/\S/.test(current)) state.beginningOfLine = false; + + if ((style == "variable" || style == "builtin") + && state.lastToken == "meta") + style = "meta"; + + // Handle scope changes. + if (current == "pass" || current == "return") + state.dedent = true; + + if (current == "lambda") state.lambda = true; + if (current == ":" && !state.lambda && top(state).type == "py" && stream.match(/^\s*(?:#|$)/, false)) + pushPyScope(state); + + if (current.length == 1 && !/string|comment/.test(style)) { + var delimiter_index = "[({".indexOf(current); + if (delimiter_index != -1) + pushBracketScope(stream, state, "])}".slice(delimiter_index, delimiter_index+1)); + + delimiter_index = "])}".indexOf(current); + if (delimiter_index != -1) { + if (top(state).type == current) state.indent = state.scopes.pop().offset - hangingIndent + else return ERRORCLASS; + } + } + if (state.dedent && stream.eol() && top(state).type == "py" && state.scopes.length > 1) + state.scopes.pop(); + + return style; + } + + var external = { + startState: function(basecolumn) { + return { + tokenize: tokenBase, + scopes: [{offset: basecolumn || 0, type: "py", align: null}], + indent: basecolumn || 0, + lastToken: null, + lambda: false, + dedent: 0 + }; + }, + + token: function(stream, state) { + var addErr = state.errorToken; + if (addErr) state.errorToken = false; + var style = tokenLexer(stream, state); + + if (style && style != "comment") + state.lastToken = (style == "keyword" || style == "punctuation") ? stream.current() : style; + if (style == "punctuation") style = null; + + if (stream.eol() && state.lambda) + state.lambda = false; + return addErr ? style + " " + ERRORCLASS : style; + }, + + indent: function(state, textAfter) { + if (state.tokenize != tokenBase) + return state.tokenize.isString ? CodeMirror.Pass : 0; + + var scope = top(state) + var closing = scope.type == textAfter.charAt(0) || + scope.type == "py" && !state.dedent && /^(else:|elif |except |finally:)/.test(textAfter) + if (scope.align != null) + return scope.align - (closing ? 1 : 0) + else + return scope.offset - (closing ? hangingIndent : 0) + }, + + electricInput: /^\s*([\}\]\)]|else:|elif |except |finally:)$/, + closeBrackets: {triples: "'\""}, + lineComment: "#", + fold: "indent" + }; + return external; + }); + + CodeMirror.defineMIME("text/x-python", "python"); + + var words = function(str) { return str.split(" "); }; + + CodeMirror.defineMIME("text/x-cython", { + name: "python", + extra_keywords: words("by cdef cimport cpdef ctypedef enum except "+ + "extern gil include nogil property public "+ + "readonly struct union DEF IF ELIF ELSE") + }); + +}); diff --git a/wwws/admin/src/static/lib/codemirror/sass/sass.js b/wwws/admin/src/static/lib/codemirror/sass/sass.js new file mode 100644 index 0000000..3cfac0a --- /dev/null +++ b/wwws/admin/src/static/lib/codemirror/sass/sass.js @@ -0,0 +1,459 @@ +// CodeMirror, copyright (c) by Marijn Haverbeke and others +// Distributed under an MIT license: https://codemirror.net/5/LICENSE + +(function(mod) { + if (typeof exports == "object" && typeof module == "object") // CommonJS + mod(require("../../lib/codemirror"), require("../css/css")); + else if (typeof define == "function" && define.amd) // AMD + define(["../../lib/codemirror", "../css/css"], mod); + else // Plain browser env + mod(CodeMirror); +})(function(CodeMirror) { +"use strict"; + +CodeMirror.defineMode("sass", function(config) { + var cssMode = CodeMirror.mimeModes["text/css"]; + var propertyKeywords = cssMode.propertyKeywords || {}, + colorKeywords = cssMode.colorKeywords || {}, + valueKeywords = cssMode.valueKeywords || {}, + fontProperties = cssMode.fontProperties || {}; + + function tokenRegexp(words) { + return new RegExp("^" + words.join("|")); + } + + var keywords = ["true", "false", "null", "auto"]; + var keywordsRegexp = new RegExp("^" + keywords.join("|")); + + var operators = ["\\(", "\\)", "=", ">", "<", "==", ">=", "<=", "\\+", "-", + "\\!=", "/", "\\*", "%", "and", "or", "not", ";","\\{","\\}",":"]; + var opRegexp = tokenRegexp(operators); + + var pseudoElementsRegexp = /^::?[a-zA-Z_][\w\-]*/; + + var word; + + function isEndLine(stream) { + return !stream.peek() || stream.match(/\s+$/, false); + } + + function urlTokens(stream, state) { + var ch = stream.peek(); + + if (ch === ")") { + stream.next(); + state.tokenizer = tokenBase; + return "operator"; + } else if (ch === "(") { + stream.next(); + stream.eatSpace(); + + return "operator"; + } else if (ch === "'" || ch === '"') { + state.tokenizer = buildStringTokenizer(stream.next()); + return "string"; + } else { + state.tokenizer = buildStringTokenizer(")", false); + return "string"; + } + } + function comment(indentation, multiLine) { + return function(stream, state) { + if (stream.sol() && stream.indentation() <= indentation) { + state.tokenizer = tokenBase; + return tokenBase(stream, state); + } + + if (multiLine && stream.skipTo("*/")) { + stream.next(); + stream.next(); + state.tokenizer = tokenBase; + } else { + stream.skipToEnd(); + } + + return "comment"; + }; + } + + function buildStringTokenizer(quote, greedy) { + if (greedy == null) { greedy = true; } + + function stringTokenizer(stream, state) { + var nextChar = stream.next(); + var peekChar = stream.peek(); + var previousChar = stream.string.charAt(stream.pos-2); + + var endingString = ((nextChar !== "\\" && peekChar === quote) || (nextChar === quote && previousChar !== "\\")); + + if (endingString) { + if (nextChar !== quote && greedy) { stream.next(); } + if (isEndLine(stream)) { + state.cursorHalf = 0; + } + state.tokenizer = tokenBase; + return "string"; + } else if (nextChar === "#" && peekChar === "{") { + state.tokenizer = buildInterpolationTokenizer(stringTokenizer); + stream.next(); + return "operator"; + } else { + return "string"; + } + } + + return stringTokenizer; + } + + function buildInterpolationTokenizer(currentTokenizer) { + return function(stream, state) { + if (stream.peek() === "}") { + stream.next(); + state.tokenizer = currentTokenizer; + return "operator"; + } else { + return tokenBase(stream, state); + } + }; + } + + function indent(state) { + if (state.indentCount == 0) { + state.indentCount++; + var lastScopeOffset = state.scopes[0].offset; + var currentOffset = lastScopeOffset + config.indentUnit; + state.scopes.unshift({ offset:currentOffset }); + } + } + + function dedent(state) { + if (state.scopes.length == 1) return; + + state.scopes.shift(); + } + + function tokenBase(stream, state) { + var ch = stream.peek(); + + // Comment + if (stream.match("/*")) { + state.tokenizer = comment(stream.indentation(), true); + return state.tokenizer(stream, state); + } + if (stream.match("//")) { + state.tokenizer = comment(stream.indentation(), false); + return state.tokenizer(stream, state); + } + + // Interpolation + if (stream.match("#{")) { + state.tokenizer = buildInterpolationTokenizer(tokenBase); + return "operator"; + } + + // Strings + if (ch === '"' || ch === "'") { + stream.next(); + state.tokenizer = buildStringTokenizer(ch); + return "string"; + } + + if(!state.cursorHalf){// state.cursorHalf === 0 + // first half i.e. before : for key-value pairs + // including selectors + + if (ch === "-") { + if (stream.match(/^-\w+-/)) { + return "meta"; + } + } + + if (ch === ".") { + stream.next(); + if (stream.match(/^[\w-]+/)) { + indent(state); + return "qualifier"; + } else if (stream.peek() === "#") { + indent(state); + return "tag"; + } + } + + if (ch === "#") { + stream.next(); + // ID selectors + if (stream.match(/^[\w-]+/)) { + indent(state); + return "builtin"; + } + if (stream.peek() === "#") { + indent(state); + return "tag"; + } + } + + // Variables + if (ch === "$") { + stream.next(); + stream.eatWhile(/[\w-]/); + return "variable-2"; + } + + // Numbers + if (stream.match(/^-?[0-9\.]+/)) + return "number"; + + // Units + if (stream.match(/^(px|em|in)\b/)) + return "unit"; + + if (stream.match(keywordsRegexp)) + return "keyword"; + + if (stream.match(/^url/) && stream.peek() === "(") { + state.tokenizer = urlTokens; + return "atom"; + } + + if (ch === "=") { + // Match shortcut mixin definition + if (stream.match(/^=[\w-]+/)) { + indent(state); + return "meta"; + } + } + + if (ch === "+") { + // Match shortcut mixin definition + if (stream.match(/^\+[\w-]+/)){ + return "variable-3"; + } + } + + if(ch === "@"){ + if(stream.match('@extend')){ + if(!stream.match(/\s*[\w]/)) + dedent(state); + } + } + + + // Indent Directives + if (stream.match(/^@(else if|if|media|else|for|each|while|mixin|function)/)) { + indent(state); + return "def"; + } + + // Other Directives + if (ch === "@") { + stream.next(); + stream.eatWhile(/[\w-]/); + return "def"; + } + + if (stream.eatWhile(/[\w-]/)){ + if(stream.match(/ *: *[\w-\+\$#!\("']/,false)){ + word = stream.current().toLowerCase(); + var prop = state.prevProp + "-" + word; + if (propertyKeywords.hasOwnProperty(prop)) { + return "property"; + } else if (propertyKeywords.hasOwnProperty(word)) { + state.prevProp = word; + return "property"; + } else if (fontProperties.hasOwnProperty(word)) { + return "property"; + } + return "tag"; + } + else if(stream.match(/ *:/,false)){ + indent(state); + state.cursorHalf = 1; + state.prevProp = stream.current().toLowerCase(); + return "property"; + } + else if(stream.match(/ *,/,false)){ + return "tag"; + } + else{ + indent(state); + return "tag"; + } + } + + if(ch === ":"){ + if (stream.match(pseudoElementsRegexp)){ // could be a pseudo-element + return "variable-3"; + } + stream.next(); + state.cursorHalf=1; + return "operator"; + } + + } // cursorHalf===0 ends here + else{ + + if (ch === "#") { + stream.next(); + // Hex numbers + if (stream.match(/[0-9a-fA-F]{6}|[0-9a-fA-F]{3}/)){ + if (isEndLine(stream)) { + state.cursorHalf = 0; + } + return "number"; + } + } + + // Numbers + if (stream.match(/^-?[0-9\.]+/)){ + if (isEndLine(stream)) { + state.cursorHalf = 0; + } + return "number"; + } + + // Units + if (stream.match(/^(px|em|in)\b/)){ + if (isEndLine(stream)) { + state.cursorHalf = 0; + } + return "unit"; + } + + if (stream.match(keywordsRegexp)){ + if (isEndLine(stream)) { + state.cursorHalf = 0; + } + return "keyword"; + } + + if (stream.match(/^url/) && stream.peek() === "(") { + state.tokenizer = urlTokens; + if (isEndLine(stream)) { + state.cursorHalf = 0; + } + return "atom"; + } + + // Variables + if (ch === "$") { + stream.next(); + stream.eatWhile(/[\w-]/); + if (isEndLine(stream)) { + state.cursorHalf = 0; + } + return "variable-2"; + } + + // bang character for !important, !default, etc. + if (ch === "!") { + stream.next(); + state.cursorHalf = 0; + return stream.match(/^[\w]+/) ? "keyword": "operator"; + } + + if (stream.match(opRegexp)){ + if (isEndLine(stream)) { + state.cursorHalf = 0; + } + return "operator"; + } + + // attributes + if (stream.eatWhile(/[\w-]/)) { + if (isEndLine(stream)) { + state.cursorHalf = 0; + } + word = stream.current().toLowerCase(); + if (valueKeywords.hasOwnProperty(word)) { + return "atom"; + } else if (colorKeywords.hasOwnProperty(word)) { + return "keyword"; + } else if (propertyKeywords.hasOwnProperty(word)) { + state.prevProp = stream.current().toLowerCase(); + return "property"; + } else { + return "tag"; + } + } + + //stream.eatSpace(); + if (isEndLine(stream)) { + state.cursorHalf = 0; + return null; + } + + } // else ends here + + if (stream.match(opRegexp)) + return "operator"; + + // If we haven't returned by now, we move 1 character + // and return an error + stream.next(); + return null; + } + + function tokenLexer(stream, state) { + if (stream.sol()) state.indentCount = 0; + var style = state.tokenizer(stream, state); + var current = stream.current(); + + if (current === "@return" || current === "}"){ + dedent(state); + } + + if (style !== null) { + var startOfToken = stream.pos - current.length; + + var withCurrentIndent = startOfToken + (config.indentUnit * state.indentCount); + + var newScopes = []; + + for (var i = 0; i < state.scopes.length; i++) { + var scope = state.scopes[i]; + + if (scope.offset <= withCurrentIndent) + newScopes.push(scope); + } + + state.scopes = newScopes; + } + + + return style; + } + + return { + startState: function() { + return { + tokenizer: tokenBase, + scopes: [{offset: 0, type: "sass"}], + indentCount: 0, + cursorHalf: 0, // cursor half tells us if cursor lies after (1) + // or before (0) colon (well... more or less) + definedVars: [], + definedMixins: [] + }; + }, + token: function(stream, state) { + var style = tokenLexer(stream, state); + + state.lastToken = { style: style, content: stream.current() }; + + return style; + }, + + indent: function(state) { + return state.scopes[0].offset; + }, + + blockCommentStart: "/*", + blockCommentEnd: "*/", + lineComment: "//", + fold: "indent" + }; +}, "css"); + +CodeMirror.defineMIME("text/x-sass", "sass"); + +}); diff --git a/wwws/admin/src/static/lib/dayjs/dayjs.min.js b/wwws/admin/src/static/lib/dayjs/dayjs.min.js new file mode 100644 index 0000000..0bcbf74 --- /dev/null +++ b/wwws/admin/src/static/lib/dayjs/dayjs.min.js @@ -0,0 +1 @@ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){"use strict";var t=1e3,e=6e4,n=36e5,r="millisecond",i="second",s="minute",u="hour",a="day",o="week",c="month",f="quarter",h="year",d="date",l="Invalid Date",$=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,y=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(t){var e=["th","st","nd","rd"],n=t%100;return"["+t+(e[(n-20)%10]||e[n]||e[0])+"]"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:""+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?"+":"-")+m(r,2,"0")+":"+m(i,2,"0")},m:function t(e,n){if(e.date()1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},w=function(t,e){if(p(t))return t.clone();var n="object"==typeof e?e:{};return n.date=t,n.args=arguments,new b(n)},O=v;O.l=S,O.i=p,O.w=function(t,e){return w(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var b=function(){function M(t){this.$L=S(t.locale,null,!0),this.parse(t)}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(O.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||"0").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.$x=t.x||{},this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return O},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=w(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return w(t) number +} + +declare const plugin: PluginFunc +export = plugin diff --git a/wwws/admin/src/static/lib/dayjs/plugin/customParseFormat.js b/wwws/admin/src/static/lib/dayjs/plugin/customParseFormat.js new file mode 100644 index 0000000..66d6089 --- /dev/null +++ b/wwws/admin/src/static/lib/dayjs/plugin/customParseFormat.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).dayjs_plugin_customParseFormat=t()}(this,(function(){"use strict";var e={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},t=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,n=/\d\d/,r=/\d\d?/,i=/\d*[^-_:/,()\s\d]+/,o={},s=function(e){return(e=+e)+(e>68?1900:2e3)};var a=function(e){return function(t){this[e]=+t}},f=[/[+-]\d\d:?(\d\d)?|Z/,function(e){(this.zone||(this.zone={})).offset=function(e){if(!e)return 0;if("Z"===e)return 0;var t=e.match(/([+-]|\d\d)/g),n=60*t[1]+(+t[2]||0);return 0===n?0:"+"===t[0]?-n:n}(e)}],h=function(e){var t=o[e];return t&&(t.indexOf?t:t.s.concat(t.f))},u=function(e,t){var n,r=o.meridiem;if(r){for(var i=1;i<=24;i+=1)if(e.indexOf(r(i,0,t))>-1){n=i>12;break}}else n=e===(t?"pm":"PM");return n},d={A:[i,function(e){this.afternoon=u(e,!1)}],a:[i,function(e){this.afternoon=u(e,!0)}],S:[/\d/,function(e){this.milliseconds=100*+e}],SS:[n,function(e){this.milliseconds=10*+e}],SSS:[/\d{3}/,function(e){this.milliseconds=+e}],s:[r,a("seconds")],ss:[r,a("seconds")],m:[r,a("minutes")],mm:[r,a("minutes")],H:[r,a("hours")],h:[r,a("hours")],HH:[r,a("hours")],hh:[r,a("hours")],D:[r,a("day")],DD:[n,a("day")],Do:[i,function(e){var t=o.ordinal,n=e.match(/\d+/);if(this.day=n[0],t)for(var r=1;r<=31;r+=1)t(r).replace(/\[|\]/g,"")===e&&(this.day=r)}],M:[r,a("month")],MM:[n,a("month")],MMM:[i,function(e){var t=h("months"),n=(h("monthsShort")||t.map((function(e){return e.slice(0,3)}))).indexOf(e)+1;if(n<1)throw new Error;this.month=n%12||n}],MMMM:[i,function(e){var t=h("months").indexOf(e)+1;if(t<1)throw new Error;this.month=t%12||t}],Y:[/[+-]?\d+/,a("year")],YY:[n,function(e){this.year=s(e)}],YYYY:[/\d{4}/,a("year")],Z:f,ZZ:f};function c(n){var r,i;r=n,i=o&&o.formats;for(var s=(n=r.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,n,r){var o=r&&r.toUpperCase();return n||i[r]||e[r]||i[o].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,n){return t||n.slice(1)}))}))).match(t),a=s.length,f=0;f-1)return new Date(("X"===t?1e3:1)*e);var r=c(t)(e),i=r.year,o=r.month,s=r.day,a=r.hours,f=r.minutes,h=r.seconds,u=r.milliseconds,d=r.zone,l=new Date,m=s||(i||o?1:l.getDate()),M=i||l.getFullYear(),Y=0;i&&!o||(Y=o>0?o-1:l.getMonth());var p=a||0,v=f||0,D=h||0,g=u||0;return d?new Date(Date.UTC(M,Y,m,p,v,D,g+60*d.offset*1e3)):n?new Date(Date.UTC(M,Y,m,p,v,D,g)):new Date(M,Y,m,p,v,D,g)}catch(e){return new Date("")}}(t,a,r),this.init(),d&&!0!==d&&(this.$L=this.locale(d).$L),u&&t!=this.format(a)&&(this.$d=new Date("")),o={}}else if(a instanceof Array)for(var l=a.length,m=1;m<=l;m+=1){s[1]=a[m-1];var M=n.apply(this,s);if(M.isValid()){this.$d=M.$d,this.$L=M.$L,this.init();break}m===l&&(this.$d=new Date(""))}else i.call(this,e)}}})); \ No newline at end of file diff --git a/wwws/admin/src/static/lib/dayjs/plugin/dayOfYear.d.ts b/wwws/admin/src/static/lib/dayjs/plugin/dayOfYear.d.ts new file mode 100644 index 0000000..4fd6601 --- /dev/null +++ b/wwws/admin/src/static/lib/dayjs/plugin/dayOfYear.d.ts @@ -0,0 +1,11 @@ +import { PluginFunc } from 'dayjs' + +declare const plugin: PluginFunc +export = plugin + +declare module 'dayjs' { + interface Dayjs { + dayOfYear(): number + dayOfYear(value: number): Dayjs + } +} diff --git a/wwws/admin/src/static/lib/dayjs/plugin/dayOfYear.js b/wwws/admin/src/static/lib/dayjs/plugin/dayOfYear.js new file mode 100644 index 0000000..4a57000 --- /dev/null +++ b/wwws/admin/src/static/lib/dayjs/plugin/dayOfYear.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).dayjs_plugin_dayOfYear=t()}(this,(function(){"use strict";return function(e,t,n){t.prototype.dayOfYear=function(e){var t=Math.round((n(this).startOf("day")-n(this).startOf("year"))/864e5)+1;return null==e?t:this.add(e-t,"day")}}})); \ No newline at end of file diff --git a/wwws/admin/src/static/lib/dayjs/plugin/devHelper.d.ts b/wwws/admin/src/static/lib/dayjs/plugin/devHelper.d.ts new file mode 100644 index 0000000..30ec75e --- /dev/null +++ b/wwws/admin/src/static/lib/dayjs/plugin/devHelper.d.ts @@ -0,0 +1,4 @@ +import { PluginFunc } from 'dayjs' + +declare const plugin: PluginFunc +export = plugin diff --git a/wwws/admin/src/static/lib/dayjs/plugin/devHelper.js b/wwws/admin/src/static/lib/dayjs/plugin/devHelper.js new file mode 100644 index 0000000..a3f6daf --- /dev/null +++ b/wwws/admin/src/static/lib/dayjs/plugin/devHelper.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).dayjs_plugin_devHelper=t()}(this,(function(){"use strict";return function(e,t,o){if(!process||"production"!==process.env.NODE_ENV){var s=t.prototype,n=s.parse;s.parse=function(e){var t=e.date;return"string"==typeof t&&13===t.length&&console.warn("To parse a Unix timestamp like "+t+", you should pass it as a Number. https://day.js.org/docs/en/parse/unix-timestamp-milliseconds"),"number"==typeof t&&4===String(t).length&&console.warn("Guessing you may want to parse the Year "+t+", you should pass it as a String "+t+", not a Number. Otherwise, "+t+" will be treated as a Unix timestamp"),e.args.length>=2&&!o.p.customParseFormat&&console.warn("To parse a date-time string like "+t+" using the given format, you should enable customParseFormat plugin first. https://day.js.org/docs/en/parse/string-format"),n.bind(this)(e)};var a=o.locale;o.locale=function(e,t,s){return void 0===t&&"string"==typeof e&&(o.Ls[e]||console.warn("Guessing you may want to use locale "+e+", you have to load it before using it. https://day.js.org/docs/en/i18n/loading-into-nodejs")),a(e,t,s)}}}})); \ No newline at end of file diff --git a/wwws/admin/src/static/lib/dayjs/plugin/duration.d.ts b/wwws/admin/src/static/lib/dayjs/plugin/duration.d.ts new file mode 100644 index 0000000..9675a80 --- /dev/null +++ b/wwws/admin/src/static/lib/dayjs/plugin/duration.d.ts @@ -0,0 +1,88 @@ +import { PluginFunc } from 'dayjs' +import { OpUnitType, UnitTypeLongPlural } from 'dayjs'; + +declare const plugin: PluginFunc +export as namespace plugin; +export = plugin + +declare namespace plugin { + /** + * @deprecated Please use more strict types + */ + type DurationInputType = string | number | object + /** + * @deprecated Please use more strict types + */ + type DurationAddType = number | object | Duration + + type DurationUnitsObjectType = Partial<{ + [unit in Exclude | "weeks"]: number + }>; + type DurationUnitType = Exclude + type CreateDurationType = + ((units: DurationUnitsObjectType) => Duration) + & ((time: number, unit?: DurationUnitType) => Duration) + & ((ISO_8601: string) => Duration) + type AddDurationType = CreateDurationType & ((duration: Duration) => Duration) + + interface Duration { + new (input: string | number | object, unit?: string, locale?: string): Duration + + clone(): Duration + + humanize(withSuffix?: boolean): string + + milliseconds(): number + asMilliseconds(): number + + seconds(): number + asSeconds(): number + + minutes(): number + asMinutes(): number + + hours(): number + asHours(): number + + days(): number + asDays(): number + + weeks(): number + asWeeks(): number + + months(): number + asMonths(): number + + years(): number + asYears(): number + + as(unit: DurationUnitType): number + + get(unit: DurationUnitType): number + + add: AddDurationType + + subtract: AddDurationType + + toJSON(): string + + toISOString(): string + + format(formatStr?: string): string + + locale(locale: string): Duration + } +} + +declare module 'dayjs' { + interface Dayjs { + add(duration: plugin.Duration): Dayjs + subtract(duration: plugin.Duration): Dayjs + } + + /** + * @param time If unit is not present, time treated as number of milliseconds + */ + export const duration: plugin.CreateDurationType; + export function isDuration(d: any): d is plugin.Duration +} \ No newline at end of file diff --git a/wwws/admin/src/static/lib/dayjs/plugin/duration.js b/wwws/admin/src/static/lib/dayjs/plugin/duration.js new file mode 100644 index 0000000..bfdddce --- /dev/null +++ b/wwws/admin/src/static/lib/dayjs/plugin/duration.js @@ -0,0 +1 @@ +!function(t,s){"object"==typeof exports&&"undefined"!=typeof module?module.exports=s():"function"==typeof define&&define.amd?define(s):(t="undefined"!=typeof globalThis?globalThis:t||self).dayjs_plugin_duration=s()}(this,(function(){"use strict";var t,s,n=1e3,i=6e4,e=36e5,r=864e5,o=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,u=31536e6,d=2592e6,a=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,h={years:u,months:d,days:r,hours:e,minutes:i,seconds:n,milliseconds:1,weeks:6048e5},c=function(t){return t instanceof g},f=function(t,s,n){return new g(t,n,s.$l)},m=function(t){return s.p(t)+"s"},l=function(t){return t<0},$=function(t){return l(t)?Math.ceil(t):Math.floor(t)},y=function(t){return Math.abs(t)},v=function(t,s){return t?l(t)?{negative:!0,format:""+y(t)+s}:{negative:!1,format:""+t+s}:{negative:!1,format:""}},g=function(){function l(t,s,n){var i=this;if(this.$d={},this.$l=n,void 0===t&&(this.$ms=0,this.parseFromMilliseconds()),s)return f(t*h[m(s)],this);if("number"==typeof t)return this.$ms=t,this.parseFromMilliseconds(),this;if("object"==typeof t)return Object.keys(t).forEach((function(s){i.$d[m(s)]=t[s]})),this.calMilliseconds(),this;if("string"==typeof t){var e=t.match(a);if(e){var r=e.slice(2).map((function(t){return null!=t?Number(t):0}));return this.$d.years=r[0],this.$d.months=r[1],this.$d.weeks=r[2],this.$d.days=r[3],this.$d.hours=r[4],this.$d.minutes=r[5],this.$d.seconds=r[6],this.calMilliseconds(),this}}return this}var y=l.prototype;return y.calMilliseconds=function(){var t=this;this.$ms=Object.keys(this.$d).reduce((function(s,n){return s+(t.$d[n]||0)*h[n]}),0)},y.parseFromMilliseconds=function(){var t=this.$ms;this.$d.years=$(t/u),t%=u,this.$d.months=$(t/d),t%=d,this.$d.days=$(t/r),t%=r,this.$d.hours=$(t/e),t%=e,this.$d.minutes=$(t/i),t%=i,this.$d.seconds=$(t/n),t%=n,this.$d.milliseconds=t},y.toISOString=function(){var t=v(this.$d.years,"Y"),s=v(this.$d.months,"M"),n=+this.$d.days||0;this.$d.weeks&&(n+=7*this.$d.weeks);var i=v(n,"D"),e=v(this.$d.hours,"H"),r=v(this.$d.minutes,"M"),o=this.$d.seconds||0;this.$d.milliseconds&&(o+=this.$d.milliseconds/1e3);var u=v(o,"S"),d=t.negative||s.negative||i.negative||e.negative||r.negative||u.negative,a=e.format||r.format||u.format?"T":"",h=(d?"-":"")+"P"+t.format+s.format+i.format+a+e.format+r.format+u.format;return"P"===h||"-P"===h?"P0D":h},y.toJSON=function(){return this.toISOString()},y.format=function(t){var n=t||"YYYY-MM-DDTHH:mm:ss",i={Y:this.$d.years,YY:s.s(this.$d.years,2,"0"),YYYY:s.s(this.$d.years,4,"0"),M:this.$d.months,MM:s.s(this.$d.months,2,"0"),D:this.$d.days,DD:s.s(this.$d.days,2,"0"),H:this.$d.hours,HH:s.s(this.$d.hours,2,"0"),m:this.$d.minutes,mm:s.s(this.$d.minutes,2,"0"),s:this.$d.seconds,ss:s.s(this.$d.seconds,2,"0"),SSS:s.s(this.$d.milliseconds,3,"0")};return n.replace(o,(function(t,s){return s||String(i[t])}))},y.as=function(t){return this.$ms/h[m(t)]},y.get=function(t){var s=this.$ms,n=m(t);return"milliseconds"===n?s%=1e3:s="weeks"===n?$(s/h[n]):this.$d[n],0===s?0:s},y.add=function(t,s,n){var i;return i=s?t*h[m(s)]:c(t)?t.$ms:f(t,this).$ms,f(this.$ms+i*(n?-1:1),this)},y.subtract=function(t,s){return this.add(t,s,!0)},y.locale=function(t){var s=this.clone();return s.$l=t,s},y.clone=function(){return f(this.$ms,this)},y.humanize=function(s){return t().add(this.$ms,"ms").locale(this.$l).fromNow(!s)},y.valueOf=function(){return this.asMilliseconds()},y.milliseconds=function(){return this.get("milliseconds")},y.asMilliseconds=function(){return this.as("milliseconds")},y.seconds=function(){return this.get("seconds")},y.asSeconds=function(){return this.as("seconds")},y.minutes=function(){return this.get("minutes")},y.asMinutes=function(){return this.as("minutes")},y.hours=function(){return this.get("hours")},y.asHours=function(){return this.as("hours")},y.days=function(){return this.get("days")},y.asDays=function(){return this.as("days")},y.weeks=function(){return this.get("weeks")},y.asWeeks=function(){return this.as("weeks")},y.months=function(){return this.get("months")},y.asMonths=function(){return this.as("months")},y.years=function(){return this.get("years")},y.asYears=function(){return this.as("years")},l}(),p=function(t,s,n){return t.add(s.years()*n,"y").add(s.months()*n,"M").add(s.days()*n,"d").add(s.hours()*n,"h").add(s.minutes()*n,"m").add(s.seconds()*n,"s").add(s.milliseconds()*n,"ms")};return function(n,i,e){t=e,s=e().$utils(),e.duration=function(t,s){var n=e.locale();return f(t,{$l:n},s)},e.isDuration=c;var r=i.prototype.add,o=i.prototype.subtract;i.prototype.add=function(t,s){return c(t)?p(this,t,1):r.bind(this)(t,s)},i.prototype.subtract=function(t,s){return c(t)?p(this,t,-1):o.bind(this)(t,s)}}})); \ No newline at end of file diff --git a/wwws/admin/src/static/lib/dayjs/plugin/isBetween.d.ts b/wwws/admin/src/static/lib/dayjs/plugin/isBetween.d.ts new file mode 100644 index 0000000..431fff8 --- /dev/null +++ b/wwws/admin/src/static/lib/dayjs/plugin/isBetween.d.ts @@ -0,0 +1,10 @@ +import { PluginFunc, ConfigType, OpUnitType } from 'dayjs' + +declare const plugin: PluginFunc +export = plugin + +declare module 'dayjs' { + interface Dayjs { + isBetween(a: ConfigType, b: ConfigType, c?: OpUnitType | null, d?: '()' | '[]' | '[)' | '(]'): boolean + } +} diff --git a/wwws/admin/src/static/lib/dayjs/plugin/isBetween.js b/wwws/admin/src/static/lib/dayjs/plugin/isBetween.js new file mode 100644 index 0000000..68046cb --- /dev/null +++ b/wwws/admin/src/static/lib/dayjs/plugin/isBetween.js @@ -0,0 +1 @@ +!function(e,i){"object"==typeof exports&&"undefined"!=typeof module?module.exports=i():"function"==typeof define&&define.amd?define(i):(e="undefined"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isBetween=i()}(this,(function(){"use strict";return function(e,i,t){i.prototype.isBetween=function(e,i,s,f){var n=t(e),o=t(i),r="("===(f=f||"()")[0],u=")"===f[1];return(r?this.isAfter(n,s):!this.isBefore(n,s))&&(u?this.isBefore(o,s):!this.isAfter(o,s))||(r?this.isBefore(n,s):!this.isAfter(n,s))&&(u?this.isAfter(o,s):!this.isBefore(o,s))}}})); \ No newline at end of file diff --git a/wwws/admin/src/static/lib/dayjs/plugin/isLeapYear.d.ts b/wwws/admin/src/static/lib/dayjs/plugin/isLeapYear.d.ts new file mode 100644 index 0000000..5be7409 --- /dev/null +++ b/wwws/admin/src/static/lib/dayjs/plugin/isLeapYear.d.ts @@ -0,0 +1,10 @@ +import { PluginFunc } from 'dayjs' + +declare const plugin: PluginFunc +export = plugin + +declare module 'dayjs' { + interface Dayjs { + isLeapYear(): boolean + } +} diff --git a/wwws/admin/src/static/lib/dayjs/plugin/isLeapYear.js b/wwws/admin/src/static/lib/dayjs/plugin/isLeapYear.js new file mode 100644 index 0000000..030bd46 --- /dev/null +++ b/wwws/admin/src/static/lib/dayjs/plugin/isLeapYear.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isLeapYear=t()}(this,(function(){"use strict";return function(e,t){t.prototype.isLeapYear=function(){return this.$y%4==0&&this.$y%100!=0||this.$y%400==0}}})); \ No newline at end of file diff --git a/wwws/admin/src/static/lib/dayjs/plugin/isMoment.d.ts b/wwws/admin/src/static/lib/dayjs/plugin/isMoment.d.ts new file mode 100644 index 0000000..dac24f6 --- /dev/null +++ b/wwws/admin/src/static/lib/dayjs/plugin/isMoment.d.ts @@ -0,0 +1,10 @@ +import { PluginFunc } from 'dayjs' + +declare const plugin: PluginFunc +export = plugin + +declare module 'dayjs' { + + export function isMoment(input: any): boolean + +} diff --git a/wwws/admin/src/static/lib/dayjs/plugin/isMoment.js b/wwws/admin/src/static/lib/dayjs/plugin/isMoment.js new file mode 100644 index 0000000..be26412 --- /dev/null +++ b/wwws/admin/src/static/lib/dayjs/plugin/isMoment.js @@ -0,0 +1 @@ +!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(e="undefined"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isMoment=n()}(this,(function(){"use strict";return function(e,n,t){t.isMoment=function(e){return t.isDayjs(e)}}})); \ No newline at end of file diff --git a/wwws/admin/src/static/lib/dayjs/plugin/isSameOrAfter.d.ts b/wwws/admin/src/static/lib/dayjs/plugin/isSameOrAfter.d.ts new file mode 100644 index 0000000..916bc80 --- /dev/null +++ b/wwws/admin/src/static/lib/dayjs/plugin/isSameOrAfter.d.ts @@ -0,0 +1,10 @@ +import { PluginFunc, ConfigType, OpUnitType } from 'dayjs' + +declare const plugin: PluginFunc +export = plugin + +declare module 'dayjs' { + interface Dayjs { + isSameOrAfter(date?: ConfigType, unit?: OpUnitType): boolean + } +} diff --git a/wwws/admin/src/static/lib/dayjs/plugin/isSameOrAfter.js b/wwws/admin/src/static/lib/dayjs/plugin/isSameOrAfter.js new file mode 100644 index 0000000..76f8a33 --- /dev/null +++ b/wwws/admin/src/static/lib/dayjs/plugin/isSameOrAfter.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isSameOrAfter=t()}(this,(function(){"use strict";return function(e,t){t.prototype.isSameOrAfter=function(e,t){return this.isSame(e,t)||this.isAfter(e,t)}}})); \ No newline at end of file diff --git a/wwws/admin/src/static/lib/dayjs/plugin/isSameOrBefore.d.ts b/wwws/admin/src/static/lib/dayjs/plugin/isSameOrBefore.d.ts new file mode 100644 index 0000000..d52b095 --- /dev/null +++ b/wwws/admin/src/static/lib/dayjs/plugin/isSameOrBefore.d.ts @@ -0,0 +1,10 @@ +import { PluginFunc, ConfigType, OpUnitType } from 'dayjs' + +declare const plugin: PluginFunc +export = plugin + +declare module 'dayjs' { + interface Dayjs { + isSameOrBefore(date?: ConfigType, unit?: OpUnitType): boolean + } +} diff --git a/wwws/admin/src/static/lib/dayjs/plugin/isSameOrBefore.js b/wwws/admin/src/static/lib/dayjs/plugin/isSameOrBefore.js new file mode 100644 index 0000000..57a767e --- /dev/null +++ b/wwws/admin/src/static/lib/dayjs/plugin/isSameOrBefore.js @@ -0,0 +1 @@ +!function(e,i){"object"==typeof exports&&"undefined"!=typeof module?module.exports=i():"function"==typeof define&&define.amd?define(i):(e="undefined"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isSameOrBefore=i()}(this,(function(){"use strict";return function(e,i){i.prototype.isSameOrBefore=function(e,i){return this.isSame(e,i)||this.isBefore(e,i)}}})); \ No newline at end of file diff --git a/wwws/admin/src/static/lib/dayjs/plugin/isToday.d.ts b/wwws/admin/src/static/lib/dayjs/plugin/isToday.d.ts new file mode 100644 index 0000000..04ac581 --- /dev/null +++ b/wwws/admin/src/static/lib/dayjs/plugin/isToday.d.ts @@ -0,0 +1,10 @@ +import { PluginFunc } from 'dayjs' + +declare const plugin: PluginFunc +export = plugin + +declare module 'dayjs' { + interface Dayjs { + isToday(): boolean + } +} diff --git a/wwws/admin/src/static/lib/dayjs/plugin/isToday.js b/wwws/admin/src/static/lib/dayjs/plugin/isToday.js new file mode 100644 index 0000000..ee9f9cd --- /dev/null +++ b/wwws/admin/src/static/lib/dayjs/plugin/isToday.js @@ -0,0 +1 @@ +!function(e,o){"object"==typeof exports&&"undefined"!=typeof module?module.exports=o():"function"==typeof define&&define.amd?define(o):(e="undefined"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isToday=o()}(this,(function(){"use strict";return function(e,o,t){o.prototype.isToday=function(){var e="YYYY-MM-DD",o=t();return this.format(e)===o.format(e)}}})); \ No newline at end of file diff --git a/wwws/admin/src/static/lib/dayjs/plugin/isTomorrow.d.ts b/wwws/admin/src/static/lib/dayjs/plugin/isTomorrow.d.ts new file mode 100644 index 0000000..08110b6 --- /dev/null +++ b/wwws/admin/src/static/lib/dayjs/plugin/isTomorrow.d.ts @@ -0,0 +1,10 @@ +import { PluginFunc } from 'dayjs' + +declare const plugin: PluginFunc +export = plugin + +declare module 'dayjs' { + interface Dayjs { + isTomorrow(): boolean + } +} diff --git a/wwws/admin/src/static/lib/dayjs/plugin/isTomorrow.js b/wwws/admin/src/static/lib/dayjs/plugin/isTomorrow.js new file mode 100644 index 0000000..ca85044 --- /dev/null +++ b/wwws/admin/src/static/lib/dayjs/plugin/isTomorrow.js @@ -0,0 +1 @@ +!function(o,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(o="undefined"!=typeof globalThis?globalThis:o||self).dayjs_plugin_isTomorrow=e()}(this,(function(){"use strict";return function(o,e,t){e.prototype.isTomorrow=function(){var o="YYYY-MM-DD",e=t().add(1,"day");return this.format(o)===e.format(o)}}})); \ No newline at end of file diff --git a/wwws/admin/src/static/lib/dayjs/plugin/isYesterday.d.ts b/wwws/admin/src/static/lib/dayjs/plugin/isYesterday.d.ts new file mode 100644 index 0000000..2d8ae9e --- /dev/null +++ b/wwws/admin/src/static/lib/dayjs/plugin/isYesterday.d.ts @@ -0,0 +1,10 @@ +import { PluginFunc } from 'dayjs' + +declare const plugin: PluginFunc +export = plugin + +declare module 'dayjs' { + interface Dayjs { + isYesterday(): boolean + } +} diff --git a/wwws/admin/src/static/lib/dayjs/plugin/isYesterday.js b/wwws/admin/src/static/lib/dayjs/plugin/isYesterday.js new file mode 100644 index 0000000..b63b68a --- /dev/null +++ b/wwws/admin/src/static/lib/dayjs/plugin/isYesterday.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isYesterday=t()}(this,(function(){"use strict";return function(e,t,n){t.prototype.isYesterday=function(){var e="YYYY-MM-DD",t=n().subtract(1,"day");return this.format(e)===t.format(e)}}})); \ No newline at end of file diff --git a/wwws/admin/src/static/lib/dayjs/plugin/isoWeek.d.ts b/wwws/admin/src/static/lib/dayjs/plugin/isoWeek.d.ts new file mode 100644 index 0000000..3f4d88f --- /dev/null +++ b/wwws/admin/src/static/lib/dayjs/plugin/isoWeek.d.ts @@ -0,0 +1,27 @@ +import { PluginFunc, OpUnitType, ConfigType } from 'dayjs' + +declare const plugin: PluginFunc +export = plugin + +type ISOUnitType = OpUnitType | 'isoWeek'; + +declare module 'dayjs' { + interface Dayjs { + isoWeekYear(): number + isoWeek(): number + isoWeek(value: number): Dayjs + + isoWeekday(): number + isoWeekday(value: number): Dayjs + + startOf(unit: ISOUnitType): Dayjs + + endOf(unit: ISOUnitType): Dayjs + + isSame(date?: ConfigType, unit?: ISOUnitType): boolean + + isBefore(date?: ConfigType, unit?: ISOUnitType): boolean + + isAfter(date?: ConfigType, unit?: ISOUnitType): boolean + } +} diff --git a/wwws/admin/src/static/lib/dayjs/plugin/isoWeek.js b/wwws/admin/src/static/lib/dayjs/plugin/isoWeek.js new file mode 100644 index 0000000..202ade7 --- /dev/null +++ b/wwws/admin/src/static/lib/dayjs/plugin/isoWeek.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isoWeek=t()}(this,(function(){"use strict";var e="day";return function(t,i,s){var a=function(t){return t.add(4-t.isoWeekday(),e)},d=i.prototype;d.isoWeekYear=function(){return a(this).year()},d.isoWeek=function(t){if(!this.$utils().u(t))return this.add(7*(t-this.isoWeek()),e);var i,d,n,o,r=a(this),u=(i=this.isoWeekYear(),d=this.$u,n=(d?s.utc:s)().year(i).startOf("year"),o=4-n.isoWeekday(),n.isoWeekday()>4&&(o+=7),n.add(o,e));return r.diff(u,"week")+1},d.isoWeekday=function(e){return this.$utils().u(e)?this.day()||7:this.day(this.day()%7?e:e-7)};var n=d.startOf;d.startOf=function(e,t){var i=this.$utils(),s=!!i.u(t)||t;return"isoweek"===i.p(e)?s?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):n.bind(this)(e,t)}}})); \ No newline at end of file diff --git a/wwws/admin/src/static/lib/dayjs/plugin/isoWeeksInYear.d.ts b/wwws/admin/src/static/lib/dayjs/plugin/isoWeeksInYear.d.ts new file mode 100644 index 0000000..2bc02cd --- /dev/null +++ b/wwws/admin/src/static/lib/dayjs/plugin/isoWeeksInYear.d.ts @@ -0,0 +1,10 @@ +import { PluginFunc } from 'dayjs' + +declare const plugin: PluginFunc +export = plugin + +declare module 'dayjs' { + interface Dayjs { + isoWeeksInYear(): number + } +} diff --git a/wwws/admin/src/static/lib/dayjs/plugin/isoWeeksInYear.js b/wwws/admin/src/static/lib/dayjs/plugin/isoWeeksInYear.js new file mode 100644 index 0000000..2bd20cd --- /dev/null +++ b/wwws/admin/src/static/lib/dayjs/plugin/isoWeeksInYear.js @@ -0,0 +1 @@ +!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(e="undefined"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isoWeeksInYear=n()}(this,(function(){"use strict";return function(e,n){n.prototype.isoWeeksInYear=function(){var e=this.isLeapYear(),n=this.endOf("y").day();return 4===n||e&&5===n?53:52}}})); \ No newline at end of file diff --git a/wwws/admin/src/static/lib/dayjs/plugin/localeData.d.ts b/wwws/admin/src/static/lib/dayjs/plugin/localeData.d.ts new file mode 100644 index 0000000..ae9e557 --- /dev/null +++ b/wwws/admin/src/static/lib/dayjs/plugin/localeData.d.ts @@ -0,0 +1,44 @@ +import { PluginFunc } from 'dayjs' + +declare const plugin: PluginFunc +export = plugin + +declare module 'dayjs' { + type WeekdayNames = [string, string, string, string, string, string, string]; + type MonthNames = [string, string, string, string, string, string, string, string, string, string, string, string]; + + interface InstanceLocaleDataReturn { + firstDayOfWeek(): number; + weekdays(instance?: Dayjs): WeekdayNames; + weekdaysShort(instance?: Dayjs): WeekdayNames; + weekdaysMin(instance?: Dayjs): WeekdayNames; + months(instance?: Dayjs): MonthNames; + monthsShort(instance?: Dayjs): MonthNames; + longDateFormat(format: string): string; + meridiem(hour?: number, minute?: number, isLower?: boolean): string; + ordinal(n: number): string + } + + interface GlobalLocaleDataReturn { + firstDayOfWeek(): number; + weekdays(): WeekdayNames; + weekdaysShort(): WeekdayNames; + weekdaysMin(): WeekdayNames; + months(): MonthNames; + monthsShort(): MonthNames; + longDateFormat(format: string): string; + meridiem(hour?: number, minute?: number, isLower?: boolean): string; + ordinal(n: number): string + } + + interface Dayjs { + localeData(): InstanceLocaleDataReturn; + } + + export function weekdays(localOrder?: boolean): WeekdayNames; + export function weekdaysShort(localOrder?: boolean): WeekdayNames; + export function weekdaysMin(localOrder?: boolean): WeekdayNames; + export function monthsShort(): MonthNames; + export function months(): MonthNames; + export function localeData(): GlobalLocaleDataReturn; +} diff --git a/wwws/admin/src/static/lib/dayjs/plugin/localeData.js b/wwws/admin/src/static/lib/dayjs/plugin/localeData.js new file mode 100644 index 0000000..55e01ee --- /dev/null +++ b/wwws/admin/src/static/lib/dayjs/plugin/localeData.js @@ -0,0 +1 @@ +!function(n,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(n="undefined"!=typeof globalThis?globalThis:n||self).dayjs_plugin_localeData=e()}(this,(function(){"use strict";return function(n,e,t){var r=e.prototype,o=function(n){return n&&(n.indexOf?n:n.s)},u=function(n,e,t,r,u){var i=n.name?n:n.$locale(),a=o(i[e]),s=o(i[t]),f=a||s.map((function(n){return n.slice(0,r)}));if(!u)return f;var d=i.weekStart;return f.map((function(n,e){return f[(e+(d||0))%7]}))},i=function(){return t.Ls[t.locale()]},a=function(n,e){return n.formats[e]||function(n){return n.replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(n,e,t){return e||t.slice(1)}))}(n.formats[e.toUpperCase()])},s=function(){var n=this;return{months:function(e){return e?e.format("MMMM"):u(n,"months")},monthsShort:function(e){return e?e.format("MMM"):u(n,"monthsShort","months",3)},firstDayOfWeek:function(){return n.$locale().weekStart||0},weekdays:function(e){return e?e.format("dddd"):u(n,"weekdays")},weekdaysMin:function(e){return e?e.format("dd"):u(n,"weekdaysMin","weekdays",2)},weekdaysShort:function(e){return e?e.format("ddd"):u(n,"weekdaysShort","weekdays",3)},longDateFormat:function(e){return a(n.$locale(),e)},meridiem:this.$locale().meridiem,ordinal:this.$locale().ordinal}};r.localeData=function(){return s.bind(this)()},t.localeData=function(){var n=i();return{firstDayOfWeek:function(){return n.weekStart||0},weekdays:function(){return t.weekdays()},weekdaysShort:function(){return t.weekdaysShort()},weekdaysMin:function(){return t.weekdaysMin()},months:function(){return t.months()},monthsShort:function(){return t.monthsShort()},longDateFormat:function(e){return a(n,e)},meridiem:n.meridiem,ordinal:n.ordinal}},t.months=function(){return u(i(),"months")},t.monthsShort=function(){return u(i(),"monthsShort","months",3)},t.weekdays=function(n){return u(i(),"weekdays",null,null,n)},t.weekdaysShort=function(n){return u(i(),"weekdaysShort","weekdays",3,n)},t.weekdaysMin=function(n){return u(i(),"weekdaysMin","weekdays",2,n)}}})); \ No newline at end of file diff --git a/wwws/admin/src/static/lib/dayjs/plugin/localizedFormat.d.ts b/wwws/admin/src/static/lib/dayjs/plugin/localizedFormat.d.ts new file mode 100644 index 0000000..30ec75e --- /dev/null +++ b/wwws/admin/src/static/lib/dayjs/plugin/localizedFormat.d.ts @@ -0,0 +1,4 @@ +import { PluginFunc } from 'dayjs' + +declare const plugin: PluginFunc +export = plugin diff --git a/wwws/admin/src/static/lib/dayjs/plugin/localizedFormat.js b/wwws/admin/src/static/lib/dayjs/plugin/localizedFormat.js new file mode 100644 index 0000000..2aa4665 --- /dev/null +++ b/wwws/admin/src/static/lib/dayjs/plugin/localizedFormat.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).dayjs_plugin_localizedFormat=t()}(this,(function(){"use strict";var e={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"};return function(t,o,n){var r=o.prototype,i=r.format;n.en.formats=e,r.format=function(t){void 0===t&&(t="YYYY-MM-DDTHH:mm:ssZ");var o=this.$locale().formats,n=function(t,o){return t.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,n,r){var i=r&&r.toUpperCase();return n||o[r]||e[r]||o[i].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,o){return t||o.slice(1)}))}))}(t,void 0===o?{}:o);return i.call(this,n)}}})); \ No newline at end of file diff --git a/wwws/admin/src/static/lib/dayjs/plugin/minMax.d.ts b/wwws/admin/src/static/lib/dayjs/plugin/minMax.d.ts new file mode 100644 index 0000000..4c5f6dc --- /dev/null +++ b/wwws/admin/src/static/lib/dayjs/plugin/minMax.d.ts @@ -0,0 +1,11 @@ +import { PluginFunc } from 'dayjs' + +declare const plugin: PluginFunc +export = plugin + +declare module 'dayjs' { + export function max(dayjs: Dayjs[]): Dayjs | null + export function max(...dayjs: Dayjs[]): Dayjs | null + export function min(dayjs: Dayjs[]): Dayjs | null + export function min(...dayjs: Dayjs[]): Dayjs | null +} diff --git a/wwws/admin/src/static/lib/dayjs/plugin/minMax.js b/wwws/admin/src/static/lib/dayjs/plugin/minMax.js new file mode 100644 index 0000000..ce06314 --- /dev/null +++ b/wwws/admin/src/static/lib/dayjs/plugin/minMax.js @@ -0,0 +1 @@ +!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(e="undefined"!=typeof globalThis?globalThis:e||self).dayjs_plugin_minMax=n()}(this,(function(){"use strict";return function(e,n,t){var i=function(e,n){if(!n||!n.length||1===n.length&&!n[0]||1===n.length&&Array.isArray(n[0])&&!n[0].length)return null;var t;1===n.length&&n[0].length>0&&(n=n[0]);t=(n=n.filter((function(e){return e})))[0];for(var i=1;i=0?1:a.date()),s=u.year||a.year(),d=u.month>=0?u.month:u.year||u.day?0:a.month(),f=u.hour||0,b=u.minute||0,h=u.second||0,y=u.millisecond||0;return o?new Date(Date.UTC(s,d,c,f,b,h,y)):new Date(s,d,c,f,b,h,y)}return r},o=i.parse;i.parse=function(t){t.date=r.bind(this)(t),o.bind(this)(t)};var u=i.set,a=i.add,c=i.subtract,s=function(t,n,e,i){void 0===i&&(i=1);var r=Object.keys(n),o=this;return r.forEach((function(e){o=t.bind(o)(n[e]*i,e)})),o};i.set=function(t,n){return n=void 0===n?t:n,"Object"===t.constructor.name?s.bind(this)((function(t,n){return u.bind(this)(n,t)}),n,t):u.bind(this)(t,n)},i.add=function(t,n){return"Object"===t.constructor.name?s.bind(this)(a,t,n):a.bind(this)(t,n)},i.subtract=function(t,n){return"Object"===t.constructor.name?s.bind(this)(a,t,n,-1):c.bind(this)(t,n)}}})); \ No newline at end of file diff --git a/wwws/admin/src/static/lib/dayjs/plugin/pluralGetSet.d.ts b/wwws/admin/src/static/lib/dayjs/plugin/pluralGetSet.d.ts new file mode 100644 index 0000000..ab2d89a --- /dev/null +++ b/wwws/admin/src/static/lib/dayjs/plugin/pluralGetSet.d.ts @@ -0,0 +1,44 @@ +import { PluginFunc, UnitType, ConfigType } from 'dayjs' + +declare const plugin: PluginFunc +export = plugin + +declare module 'dayjs' { + interface Dayjs { + years(): number + + years(value: number): Dayjs + + months(): number + + months(value: number): Dayjs + + dates(): number + + dates(value: number): Dayjs + + weeks(): number + + weeks(value: number): Dayjs + + days(): number + + days(value: number): Dayjs + + hours(): number + + hours(value: number): Dayjs + + minutes(): number + + minutes(value: number): Dayjs + + seconds(): number + + seconds(value: number): Dayjs + + milliseconds(): number + + milliseconds(value: number): Dayjs + } +} diff --git a/wwws/admin/src/static/lib/dayjs/plugin/pluralGetSet.js b/wwws/admin/src/static/lib/dayjs/plugin/pluralGetSet.js new file mode 100644 index 0000000..d758494 --- /dev/null +++ b/wwws/admin/src/static/lib/dayjs/plugin/pluralGetSet.js @@ -0,0 +1 @@ +!function(e,o){"object"==typeof exports&&"undefined"!=typeof module?module.exports=o():"function"==typeof define&&define.amd?define(o):(e="undefined"!=typeof globalThis?globalThis:e||self).dayjs_plugin_pluralGetSet=o()}(this,(function(){"use strict";return function(e,o){var s=o.prototype;["milliseconds","seconds","minutes","hours","days","weeks","isoWeeks","months","quarters","years","dates"].forEach((function(e){s[e]=s[e.replace(/s$/,"")]}))}})); \ No newline at end of file diff --git a/wwws/admin/src/static/lib/dayjs/plugin/preParsePostFormat.d.ts b/wwws/admin/src/static/lib/dayjs/plugin/preParsePostFormat.d.ts new file mode 100644 index 0000000..30ec75e --- /dev/null +++ b/wwws/admin/src/static/lib/dayjs/plugin/preParsePostFormat.d.ts @@ -0,0 +1,4 @@ +import { PluginFunc } from 'dayjs' + +declare const plugin: PluginFunc +export = plugin diff --git a/wwws/admin/src/static/lib/dayjs/plugin/preParsePostFormat.js b/wwws/admin/src/static/lib/dayjs/plugin/preParsePostFormat.js new file mode 100644 index 0000000..5611d10 --- /dev/null +++ b/wwws/admin/src/static/lib/dayjs/plugin/preParsePostFormat.js @@ -0,0 +1 @@ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).dayjs_plugin_preParsePostFormat=e()}(this,(function(){"use strict";return function(t,e){var o=e.prototype.parse;e.prototype.parse=function(t){if("string"==typeof t.date){var e=this.$locale();t.date=e&&e.preparse?e.preparse(t.date):t.date}return o.bind(this)(t)};var r=e.prototype.format;e.prototype.format=function(){for(var t=arguments.length,e=new Array(t),o=0;o number + thresholds?: RelativeTimeThreshold[] +} + +declare const plugin: PluginFunc +export = plugin + +declare module 'dayjs' { + interface Dayjs { + fromNow(withoutSuffix?: boolean): string + from(compared: ConfigType, withoutSuffix?: boolean): string + toNow(withoutSuffix?: boolean): string + to(compared: ConfigType, withoutSuffix?: boolean): string + } +} diff --git a/wwws/admin/src/static/lib/dayjs/plugin/relativeTime.js b/wwws/admin/src/static/lib/dayjs/plugin/relativeTime.js new file mode 100644 index 0000000..898eee6 --- /dev/null +++ b/wwws/admin/src/static/lib/dayjs/plugin/relativeTime.js @@ -0,0 +1 @@ +!function(r,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(r="undefined"!=typeof globalThis?globalThis:r||self).dayjs_plugin_relativeTime=e()}(this,(function(){"use strict";return function(r,e,t){r=r||{};var n=e.prototype,o={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function i(r,e,t,o){return n.fromToBase(r,e,t,o)}t.en.relativeTime=o,n.fromToBase=function(e,n,i,d,u){for(var f,a,s,l=i.$locale().relativeTime||o,h=r.thresholds||[{l:"s",r:44,d:"second"},{l:"m",r:89},{l:"mm",r:44,d:"minute"},{l:"h",r:89},{l:"hh",r:21,d:"hour"},{l:"d",r:35},{l:"dd",r:25,d:"day"},{l:"M",r:45},{l:"MM",r:10,d:"month"},{l:"y",r:17},{l:"yy",d:"year"}],m=h.length,c=0;c0,p<=y.r||!y.r){p<=1&&c>0&&(y=h[c-1]);var v=l[y.l];u&&(p=u(""+p)),a="string"==typeof v?v.replace("%d",p):v(p,n,y.l,s);break}}if(n)return a;var M=s?l.future:l.past;return"function"==typeof M?M(a):M.replace("%s",a)},n.to=function(r,e){return i(r,e,this,!0)},n.from=function(r,e){return i(r,e,this)};var d=function(r){return r.$u?t.utc():t()};n.toNow=function(r){return this.to(d(this),r)},n.fromNow=function(r){return this.from(d(this),r)}}})); \ No newline at end of file diff --git a/wwws/admin/src/static/lib/dayjs/plugin/timezone.d.ts b/wwws/admin/src/static/lib/dayjs/plugin/timezone.d.ts new file mode 100644 index 0000000..049bb08 --- /dev/null +++ b/wwws/admin/src/static/lib/dayjs/plugin/timezone.d.ts @@ -0,0 +1,20 @@ +import { PluginFunc, ConfigType } from 'dayjs' + +declare const plugin: PluginFunc +export = plugin + +declare module 'dayjs' { + interface Dayjs { + tz(timezone?: string, keepLocalTime?: boolean): Dayjs + offsetName(type?: 'short' | 'long'): string | undefined + } + + interface DayjsTimezone { + (date?: ConfigType, timezone?: string): Dayjs + (date: ConfigType, format: string, timezone?: string): Dayjs + guess(): string + setDefault(timezone?: string): void + } + + const tz: DayjsTimezone +} diff --git a/wwws/admin/src/static/lib/dayjs/plugin/timezone.js b/wwws/admin/src/static/lib/dayjs/plugin/timezone.js new file mode 100644 index 0000000..fb6112a --- /dev/null +++ b/wwws/admin/src/static/lib/dayjs/plugin/timezone.js @@ -0,0 +1 @@ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).dayjs_plugin_timezone=e()}(this,(function(){"use strict";var t={year:0,month:1,day:2,hour:3,minute:4,second:5},e={};return function(n,i,o){var r,a=function(t,n,i){void 0===i&&(i={});var o=new Date(t),r=function(t,n){void 0===n&&(n={});var i=n.timeZoneName||"short",o=t+"|"+i,r=e[o];return r||(r=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:t,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:i}),e[o]=r),r}(n,i);return r.formatToParts(o)},u=function(e,n){for(var i=a(e,n),r=[],u=0;u=0&&(r[c]=parseInt(m,10))}var d=r[3],l=24===d?0:d,v=r[0]+"-"+r[1]+"-"+r[2]+" "+l+":"+r[4]+":"+r[5]+":000",h=+e;return(o.utc(v).valueOf()-(h-=h%1e3))/6e4},f=i.prototype;f.tz=function(t,e){void 0===t&&(t=r);var n=this.utcOffset(),i=this.toDate(),a=i.toLocaleString("en-US",{timeZone:t}),u=Math.round((i-new Date(a))/1e3/60),f=o(a).$set("millisecond",this.$ms).utcOffset(15*-Math.round(i.getTimezoneOffset()/15)-u,!0);if(e){var s=f.utcOffset();f=f.add(n-s,"minute")}return f.$x.$timezone=t,f},f.offsetName=function(t){var e=this.$x.$timezone||o.tz.guess(),n=a(this.valueOf(),e,{timeZoneName:t}).find((function(t){return"timezonename"===t.type.toLowerCase()}));return n&&n.value};var s=f.startOf;f.startOf=function(t,e){if(!this.$x||!this.$x.$timezone)return s.call(this,t,e);var n=o(this.format("YYYY-MM-DD HH:mm:ss:SSS"));return s.call(n,t,e).tz(this.$x.$timezone,!0)},o.tz=function(t,e,n){var i=n&&e,a=n||e||r,f=u(+o(),a);if("string"!=typeof t)return o(t).tz(a);var s=function(t,e,n){var i=t-60*e*1e3,o=u(i,n);if(e===o)return[i,e];var r=u(i-=60*(o-e)*1e3,n);return o===r?[i,o]:[t-60*Math.min(o,r)*1e3,Math.max(o,r)]}(o.utc(t,i).valueOf(),f,a),m=s[0],c=s[1],d=o(m).utcOffset(c);return d.$x.$timezone=a,d},o.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},o.tz.setDefault=function(t){r=t}}})); \ No newline at end of file diff --git a/wwws/admin/src/static/lib/dayjs/plugin/toArray.d.ts b/wwws/admin/src/static/lib/dayjs/plugin/toArray.d.ts new file mode 100644 index 0000000..45f1f0c --- /dev/null +++ b/wwws/admin/src/static/lib/dayjs/plugin/toArray.d.ts @@ -0,0 +1,10 @@ +import { PluginFunc } from 'dayjs' + +declare const plugin: PluginFunc +export = plugin + +declare module 'dayjs' { + interface Dayjs { + toArray(): number[] + } +} diff --git a/wwws/admin/src/static/lib/dayjs/plugin/toArray.js b/wwws/admin/src/static/lib/dayjs/plugin/toArray.js new file mode 100644 index 0000000..ac06750 --- /dev/null +++ b/wwws/admin/src/static/lib/dayjs/plugin/toArray.js @@ -0,0 +1 @@ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).dayjs_plugin_toArray=e()}(this,(function(){"use strict";return function(t,e){e.prototype.toArray=function(){return[this.$y,this.$M,this.$D,this.$H,this.$m,this.$s,this.$ms]}}})); \ No newline at end of file diff --git a/wwws/admin/src/static/lib/dayjs/plugin/toObject.d.ts b/wwws/admin/src/static/lib/dayjs/plugin/toObject.d.ts new file mode 100644 index 0000000..ca12aaf --- /dev/null +++ b/wwws/admin/src/static/lib/dayjs/plugin/toObject.d.ts @@ -0,0 +1,20 @@ +import { PluginFunc } from 'dayjs' + +declare const plugin: PluginFunc +export = plugin + +interface DayjsObject { + years: number + months: number + date: number + hours: number + minutes: number + seconds: number + milliseconds: number +} + +declare module 'dayjs' { + interface Dayjs { + toObject(): DayjsObject + } +} diff --git a/wwws/admin/src/static/lib/dayjs/plugin/toObject.js b/wwws/admin/src/static/lib/dayjs/plugin/toObject.js new file mode 100644 index 0000000..573b49e --- /dev/null +++ b/wwws/admin/src/static/lib/dayjs/plugin/toObject.js @@ -0,0 +1 @@ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).dayjs_plugin_toObject=e()}(this,(function(){"use strict";return function(t,e){e.prototype.toObject=function(){return{years:this.$y,months:this.$M,date:this.$D,hours:this.$H,minutes:this.$m,seconds:this.$s,milliseconds:this.$ms}}}})); \ No newline at end of file diff --git a/wwws/admin/src/static/lib/dayjs/plugin/updateLocale.d.ts b/wwws/admin/src/static/lib/dayjs/plugin/updateLocale.d.ts new file mode 100644 index 0000000..ef1c01d --- /dev/null +++ b/wwws/admin/src/static/lib/dayjs/plugin/updateLocale.d.ts @@ -0,0 +1,8 @@ +import { PluginFunc } from 'dayjs' + +declare const plugin: PluginFunc +export = plugin + +declare module 'dayjs' { + export function updateLocale(localeName: string, customConfig: Record): Record +} diff --git a/wwws/admin/src/static/lib/dayjs/plugin/updateLocale.js b/wwws/admin/src/static/lib/dayjs/plugin/updateLocale.js new file mode 100644 index 0000000..811d9e9 --- /dev/null +++ b/wwws/admin/src/static/lib/dayjs/plugin/updateLocale.js @@ -0,0 +1 @@ +!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(e="undefined"!=typeof globalThis?globalThis:e||self).dayjs_plugin_updateLocale=n()}(this,(function(){"use strict";return function(e,n,t){t.updateLocale=function(e,n){var o=t.Ls[e];if(o)return(n?Object.keys(n):[]).forEach((function(e){o[e]=n[e]})),o}}})); \ No newline at end of file diff --git a/wwws/admin/src/static/lib/dayjs/plugin/utc.d.ts b/wwws/admin/src/static/lib/dayjs/plugin/utc.d.ts new file mode 100644 index 0000000..544ea4e --- /dev/null +++ b/wwws/admin/src/static/lib/dayjs/plugin/utc.d.ts @@ -0,0 +1,19 @@ +import { PluginFunc, ConfigType } from 'dayjs' + +declare const plugin: PluginFunc +export = plugin + +declare module 'dayjs' { + interface Dayjs { + + utc(keepLocalTime?: boolean): Dayjs + + local(): Dayjs + + isUTC(): boolean + + utcOffset(offset: number | string, keepLocalTime?: boolean): Dayjs + } + + export function utc(config?: ConfigType, format?: string, strict?: boolean): Dayjs +} diff --git a/wwws/admin/src/static/lib/dayjs/plugin/utc.js b/wwws/admin/src/static/lib/dayjs/plugin/utc.js new file mode 100644 index 0000000..af07564 --- /dev/null +++ b/wwws/admin/src/static/lib/dayjs/plugin/utc.js @@ -0,0 +1 @@ +!function(t,i){"object"==typeof exports&&"undefined"!=typeof module?module.exports=i():"function"==typeof define&&define.amd?define(i):(t="undefined"!=typeof globalThis?globalThis:t||self).dayjs_plugin_utc=i()}(this,(function(){"use strict";var t="minute",i=/[+-]\d\d(?::?\d\d)?/g,e=/([+-]|\d\d)/g;return function(s,f,n){var u=f.prototype;n.utc=function(t){var i={date:t,utc:!0,args:arguments};return new f(i)},u.utc=function(i){var e=n(this.toDate(),{locale:this.$L,utc:!0});return i?e.add(this.utcOffset(),t):e},u.local=function(){return n(this.toDate(),{locale:this.$L,utc:!1})};var o=u.parse;u.parse=function(t){t.utc&&(this.$u=!0),this.$utils().u(t.$offset)||(this.$offset=t.$offset),o.call(this,t)};var r=u.init;u.init=function(){if(this.$u){var t=this.$d;this.$y=t.getUTCFullYear(),this.$M=t.getUTCMonth(),this.$D=t.getUTCDate(),this.$W=t.getUTCDay(),this.$H=t.getUTCHours(),this.$m=t.getUTCMinutes(),this.$s=t.getUTCSeconds(),this.$ms=t.getUTCMilliseconds()}else r.call(this)};var a=u.utcOffset;u.utcOffset=function(s,f){var n=this.$utils().u;if(n(s))return this.$u?0:n(this.$offset)?a.call(this):this.$offset;if("string"==typeof s&&(s=function(t){void 0===t&&(t="");var s=t.match(i);if(!s)return null;var f=(""+s[0]).match(e)||["-",0,0],n=f[0],u=60*+f[1]+ +f[2];return 0===u?0:"+"===n?u:-u}(s),null===s))return this;var u=Math.abs(s)<=16?60*s:s,o=this;if(f)return o.$offset=u,o.$u=0===s,o;if(0!==s){var r=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(o=this.local().add(u+r,t)).$offset=u,o.$x.$localOffset=r}else o=this.utc();return o};var h=u.format;u.format=function(t){var i=t||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return h.call(this,i)},u.valueOf=function(){var t=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*t},u.isUTC=function(){return!!this.$u},u.toISOString=function(){return this.toDate().toISOString()},u.toString=function(){return this.toDate().toUTCString()};var l=u.toDate;u.toDate=function(t){return"s"===t&&this.$offset?n(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():l.call(this)};var c=u.diff;u.diff=function(t,i,e){if(t&&this.$u===t.$u)return c.call(this,t,i,e);var s=this.local(),f=n(t).local();return c.call(s,f,i,e)}}})); \ No newline at end of file diff --git a/wwws/admin/src/static/lib/dayjs/plugin/weekOfYear.d.ts b/wwws/admin/src/static/lib/dayjs/plugin/weekOfYear.d.ts new file mode 100644 index 0000000..d988014 --- /dev/null +++ b/wwws/admin/src/static/lib/dayjs/plugin/weekOfYear.d.ts @@ -0,0 +1,12 @@ +import { PluginFunc } from 'dayjs' + +declare const plugin: PluginFunc +export = plugin + +declare module 'dayjs' { + interface Dayjs { + week(): number + + week(value : number): Dayjs + } +} diff --git a/wwws/admin/src/static/lib/dayjs/plugin/weekOfYear.js b/wwws/admin/src/static/lib/dayjs/plugin/weekOfYear.js new file mode 100644 index 0000000..7e234c4 --- /dev/null +++ b/wwws/admin/src/static/lib/dayjs/plugin/weekOfYear.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).dayjs_plugin_weekOfYear=t()}(this,(function(){"use strict";var e="week",t="year";return function(i,n,r){var f=n.prototype;f.week=function(i){if(void 0===i&&(i=null),null!==i)return this.add(7*(i-this.week()),"day");var n=this.$locale().yearStart||1;if(11===this.month()&&this.date()>25){var f=r(this).startOf(t).add(1,t).date(n),s=r(this).endOf(e);if(f.isBefore(s))return 1}var a=r(this).startOf(t).date(n).startOf(e).subtract(1,"millisecond"),o=this.diff(a,e,!0);return o<0?r(this).startOf("week").week():Math.ceil(o)},f.weeks=function(e){return void 0===e&&(e=null),this.week(e)}}})); \ No newline at end of file diff --git a/wwws/admin/src/static/lib/dayjs/plugin/weekYear.d.ts b/wwws/admin/src/static/lib/dayjs/plugin/weekYear.d.ts new file mode 100644 index 0000000..df25331 --- /dev/null +++ b/wwws/admin/src/static/lib/dayjs/plugin/weekYear.d.ts @@ -0,0 +1,10 @@ +import { PluginFunc } from 'dayjs' + +declare const plugin: PluginFunc +export = plugin + +declare module 'dayjs' { + interface Dayjs { + weekYear(): number + } +} diff --git a/wwws/admin/src/static/lib/dayjs/plugin/weekYear.js b/wwws/admin/src/static/lib/dayjs/plugin/weekYear.js new file mode 100644 index 0000000..d90d137 --- /dev/null +++ b/wwws/admin/src/static/lib/dayjs/plugin/weekYear.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).dayjs_plugin_weekYear=t()}(this,(function(){"use strict";return function(e,t){t.prototype.weekYear=function(){var e=this.month(),t=this.week(),n=this.year();return 1===t&&11===e?n+1:0===e&&t>=52?n-1:n}}})); \ No newline at end of file diff --git a/wwws/admin/src/static/lib/dayjs/plugin/weekday.d.ts b/wwws/admin/src/static/lib/dayjs/plugin/weekday.d.ts new file mode 100644 index 0000000..87a8025 --- /dev/null +++ b/wwws/admin/src/static/lib/dayjs/plugin/weekday.d.ts @@ -0,0 +1,12 @@ +import { PluginFunc } from 'dayjs' + +declare const plugin: PluginFunc +export = plugin + +declare module 'dayjs' { + interface Dayjs { + weekday(): number + + weekday(value: number): Dayjs + } +} diff --git a/wwws/admin/src/static/lib/dayjs/plugin/weekday.js b/wwws/admin/src/static/lib/dayjs/plugin/weekday.js new file mode 100644 index 0000000..ae2276b --- /dev/null +++ b/wwws/admin/src/static/lib/dayjs/plugin/weekday.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).dayjs_plugin_weekday=t()}(this,(function(){"use strict";return function(e,t){t.prototype.weekday=function(e){var t=this.$locale().weekStart||0,i=this.$W,n=(i":">",'"':""","'":"'","/":"/","`":"`","=":"="};function escapeHtml(string){return String(string).replace(/[&<>"'`=\/]/g,function fromEntityMap(s){return entityMap[s]})}var whiteRe=/\s*/;var spaceRe=/\s+/;var equalsRe=/\s*=/;var curlyRe=/\s*\}/;var tagRe=/#|\^|\/|>|\{|&|=|!/;function parseTemplate(template,tags){if(!template)return[];var lineHasNonSpace=false;var sections=[];var tokens=[];var spaces=[];var hasTag=false;var nonSpace=false;var indentation="";var tagIndex=0;function stripSpace(){if(hasTag&&!nonSpace){while(spaces.length)delete tokens[spaces.pop()]}else{spaces=[]}hasTag=false;nonSpace=false}var openingTagRe,closingTagRe,closingCurlyRe;function compileTags(tagsToCompile){if(typeof tagsToCompile==="string")tagsToCompile=tagsToCompile.split(spaceRe,2);if(!isArray(tagsToCompile)||tagsToCompile.length!==2)throw new Error("Invalid tags: "+tagsToCompile);openingTagRe=new RegExp(escapeRegExp(tagsToCompile[0])+"\\s*");closingTagRe=new RegExp("\\s*"+escapeRegExp(tagsToCompile[1]));closingCurlyRe=new RegExp("\\s*"+escapeRegExp("}"+tagsToCompile[1]))}compileTags(tags||mustache.tags);var scanner=new Scanner(template);var start,type,value,chr,token,openSection;while(!scanner.eos()){start=scanner.pos;value=scanner.scanUntil(openingTagRe);if(value){for(var i=0,valueLength=value.length;i"){token=[type,value,start,scanner.pos,indentation,tagIndex,lineHasNonSpace]}else{token=[type,value,start,scanner.pos]}tagIndex++;tokens.push(token);if(type==="#"||type==="^"){sections.push(token)}else if(type==="/"){openSection=sections.pop();if(!openSection)throw new Error('Unopened section "'+value+'" at '+start);if(openSection[1]!==value)throw new Error('Unclosed section "'+openSection[1]+'" at '+start)}else if(type==="name"||type==="{"||type==="&"){nonSpace=true}else if(type==="="){compileTags(value)}}stripSpace();openSection=sections.pop();if(openSection)throw new Error('Unclosed section "'+openSection[1]+'" at '+scanner.pos);return nestTokens(squashTokens(tokens))}function squashTokens(tokens){var squashedTokens=[];var token,lastToken;for(var i=0,numTokens=tokens.length;i0?sections[sections.length-1][4]:nestedTokens;break;default:collector.push(token)}}return nestedTokens}function Scanner(string){this.string=string;this.tail=string;this.pos=0}Scanner.prototype.eos=function eos(){return this.tail===""};Scanner.prototype.scan=function scan(re){var match=this.tail.match(re);if(!match||match.index!==0)return"";var string=match[0];this.tail=this.tail.substring(string.length);this.pos+=string.length;return string};Scanner.prototype.scanUntil=function scanUntil(re){var index=this.tail.search(re),match;switch(index){case-1:match=this.tail;this.tail="";break;case 0:match="";break;default:match=this.tail.substring(0,index);this.tail=this.tail.substring(index)}this.pos+=match.length;return match};function Context(view,parentContext){this.view=view;this.cache={".":this.view};this.parent=parentContext}Context.prototype.push=function push(view){return new Context(view,this)};Context.prototype.lookup=function lookup(name){var cache=this.cache;var value;if(cache.hasOwnProperty(name)){value=cache[name]}else{var context=this,intermediateValue,names,index,lookupHit=false;while(context){if(name.indexOf(".")>0){intermediateValue=context.view;names=name.split(".");index=0;while(intermediateValue!=null&&index")value=this.renderPartial(token,context,partials,config);else if(symbol==="&")value=this.unescapedValue(token,context);else if(symbol==="name")value=this.escapedValue(token,context,config);else if(symbol==="text")value=this.rawValue(token);if(value!==undefined)buffer+=value}return buffer};Writer.prototype.renderSection=function renderSection(token,context,partials,originalTemplate,config){var self=this;var buffer="";var value=context.lookup(token[1]);function subRender(template){return self.render(template,context,partials,config)}if(!value)return;if(isArray(value)){for(var j=0,valueLength=value.length;j0||!lineHasNonSpace)){partialByNl[i]=filteredIndentation+partialByNl[i]}}return partialByNl.join("\n")};Writer.prototype.renderPartial=function renderPartial(token,context,partials,config){if(!partials)return;var tags=this.getConfigTags(config);var value=isFunction(partials)?partials(token[1]):partials[token[1]];if(value!=null){var lineHasNonSpace=token[6];var tagIndex=token[5];var indentation=token[4];var indentedValue=value;if(tagIndex==0&&indentation){indentedValue=this.indentPartial(value,indentation,lineHasNonSpace)}var tokens=this.parse(indentedValue,tags);return this.renderTokens(tokens,context,partials,indentedValue,config)}};Writer.prototype.unescapedValue=function unescapedValue(token,context){var value=context.lookup(token[1]);if(value!=null)return value};Writer.prototype.escapedValue=function escapedValue(token,context,config){var escape=this.getConfigEscape(config)||mustache.escape;var value=context.lookup(token[1]);if(value!=null)return typeof value==="number"&&escape===mustache.escape?String(value):escape(value)};Writer.prototype.rawValue=function rawValue(token){return token[1]};Writer.prototype.getConfigTags=function getConfigTags(config){if(isArray(config)){return config}else if(config&&typeof config==="object"){return config.tags}else{return undefined}};Writer.prototype.getConfigEscape=function getConfigEscape(config){if(config&&typeof config==="object"&&!isArray(config)){return config.escape}else{return undefined}};var mustache={name:"mustache.js",version:"4.2.0",tags:["{{","}}"],clearCache:undefined,escape:undefined,parse:undefined,render:undefined,Scanner:undefined,Context:undefined,Writer:undefined,set templateCache(cache){defaultWriter.templateCache=cache},get templateCache(){return defaultWriter.templateCache}};var defaultWriter=new Writer;mustache.clearCache=function clearCache(){return defaultWriter.clearCache()};mustache.parse=function parse(template,tags){return defaultWriter.parse(template,tags)};mustache.render=function render(template,view,partials,config){if(typeof template!=="string"){throw new TypeError('Invalid template! Template should be a "string" '+'but "'+typeStr(template)+'" was given as the first '+"argument for mustache#render(template, view, partials)")}return defaultWriter.render(template,view,partials,config)};mustache.escape=escapeHtml;mustache.Scanner=Scanner;mustache.Context=Context;mustache.Writer=Writer;return mustache}); diff --git a/wwws/admin/src/static/lib/native-json-editor/json-editor.js b/wwws/admin/src/static/lib/native-json-editor/json-editor.js new file mode 100644 index 0000000..0a981ee --- /dev/null +++ b/wwws/admin/src/static/lib/native-json-editor/json-editor.js @@ -0,0 +1,262 @@ +class JSON_Editor extends HTMLElement { + constructor() { + super() + const template = document.createElement('template') + template.innerHTML = ` + +
    + ` + + this.last_string_content = '' + this.attachShadow({ mode: 'open' }) + this.shadowRoot.appendChild( template.content.cloneNode(true) ) + this.editor = this.shadowRoot.getElementById('editor') + this.addEventListener('keyup', _ => this.format() ) + } + + connectedCallback() { + this.indent = Number(this.getAttribute('indent')) || 3 + this.value = this.getAttribute('value') + } + + //===[ Caret Control ]================================================= + + get_selection() { + if( this.shadowRoot.getSelection ) + return this.shadowRoot.getSelection() + return document.getSelection() + } + + // return a "pointer" with relevant information about the caret position + get_caret_pointer() { + const selection = this.get_selection() + if (selection.rangeCount > 0) { + const range = selection.getRangeAt(0) + const caret_range = range.cloneRange() + caret_range.selectNodeContents(this.editor) + caret_range.setEnd(range.endContainer, range.endOffset) + const section = caret_range.toString() + const character = section[section.length-1] + const occurrence = this.get_number_of_occurrences(section, character) + return { character, occurrence, section } + } + return null + } + + // set the caret position based on pointer information + set_caret_from_pointer(pointer) { + const selection = window.getSelection() + const range = document.createRange() + let nodes_to_explore = this.get_text_nodes(this.editor) + let occurrence = pointer.occurrence + let fount_at = 0 + let i=0 + + for(i=0; i= 0 ) + break + occurrence -= this.get_number_of_occurrences(node.textContent, pointer.character) + } + + fount_at++ + range.setStart(nodes_to_explore[i], fount_at) + range.setEnd(nodes_to_explore[i], fount_at) + selection.removeAllRanges() + selection.addRange(range) + } + + //===[ Utils ]========================================================= + + // escape string special characters used in regular expressions + escape_regex_string(string) { + return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&') + } + + // return the position of the occurrence-th sub_string occurrence + get_position_of_occurrence(string, sub_string, occurrence) { + const position = string.split(sub_string, occurrence).join(sub_string).length + return position === string.length ? -1 : position + } + + // return the number of sub_string occurrences + get_number_of_occurrences(string, sub_string) { + return sub_string ? string.replace(new RegExp(`[^${this.escape_regex_string(sub_string)}]`, 'g'), '').length : 0 + } + + // return the element's children text nodes + get_text_nodes(element) { + let node, list=[], walk=document.createTreeWalker(element, NodeFilter.SHOW_TEXT, null, false) + while(node=walk.nextNode()) + list.push(node) + return list + } + + //===[ Formatting ]==================================================== + + escape_html(input) { + const replace = [ ['&', '&'], ['<', '<'], ['>', '>'], ['"', '"'], ["'", '''] ] + return replace.reduce( ( escaped, replacement) => escaped.replaceAll( ...replacement ), input) + } + + // format a json object + format_object(input, offset=0) { + // in JS typeof null returns "object" (legacy bug), for null input we just return null + if( input === null ) + return 'null' + let output = '' + output += `{
    \n` + output += Object.keys(input).map((key, index, list) => { + return `${' '.repeat(offset+this.indent)}\"${this.escape_html(key)}\":${this.format_input(input[key], offset+this.indent)}${index < list.length-1 ? ',' : ''}
    \n` + }).join('') + output += ' '.repeat(offset) + output += `}` + return output + } + + // format a json array + format_array(input, offset=0) { + let output = '' + output += `[
    \n` + output += input.map((value, index, list) => { + return `${' '.repeat(offset+this.indent)}${this.format_input(value, offset+this.indent)}${index < list.length-1 ? ',' : ''}
    \n` + }).join('') + output += ' '.repeat(offset) + output += `]` + return output + } + + // format a json string + format_string(input) { + return `\"${this.escape_html(input)}\"`; + } + + // format a boolean + format_boolean(input) { + return `${input}`; + } + + // format a number + format_number(input) { + return `${input}`; + } + + // format a json input + format_input(input, offset=0) { + const type = Array.isArray(input) ? 'array' : typeof input + switch (type) { + case 'object': + return this.format_object(input, offset) + case 'array': + return this.format_array(input, offset) + case 'string': + return this.format_string(input) + case 'boolean': + return this.format_boolean(input) + case 'number': + return this.format_number(input) + default: + return input + } + } + + format() { + const editor = this.editor + const pointer = this.get_caret_pointer() + let content = '' + try { + content = JSON.parse(this.raw_string) + } + catch(exception) { + return + } + + // prevent unnecesary render + const current_string_content = JSON.stringify(content) + if(!content || current_string_content == this.last_string_content) + return + + editor.innerHTML = this.format_input(content) + this.last_string_content = current_string_content + if(pointer && focus) + this.set_caret_from_pointer(pointer) + } + + //===[ Getters / Setters ]============================================= + + get raw_string() { + // remove %A0 (NBSP) characters, which are no valid in JSON + return this.editor.innerText?.replaceAll('\xa0', '') || '' + } + + set raw_string( input ) { + this.string_value = input + } + + get string_value() { + return this.last_string_content + } + + set string_value( input ) { + this.editor.innerText = input + this.format() + } + + get value() { + return this.string_value + } + + set value( input ) { + return this.string_value = input + } + + get json_value() { + return JSON.parse( this.string_value ) + } + + set json_value( input ) { + this.string_value = JSON.stringify( input ) + } + + is_valid() { + try { + JSON.parse( this.raw_string ) + return true + } + catch(e) { + return false + } + } +} + +customElements.define('json-editor', JSON_Editor) diff --git a/wwws/admin/src/static/lib/nicedit/demos/demo01.html b/wwws/admin/src/static/lib/nicedit/demos/demo01.html new file mode 100644 index 0000000..cd6b160 --- /dev/null +++ b/wwws/admin/src/static/lib/nicedit/demos/demo01.html @@ -0,0 +1,37 @@ + + + Demo 1 : Convert All Textareas + + + + + +
    +By calling the nicEditors.allTextareas() function the below example replaces all 3 textareas on the page with nicEditors. NicEditors will match the size of the editor window with the size of the textarea it replaced. +
    +
    + +
    + + + +

    First Textarea

    + +
    + +

    Second Textarea

    + +
    + +

    Third Textarea

    + +
    + + + \ No newline at end of file diff --git a/wwws/admin/src/static/lib/nicedit/demos/demo02.html b/wwws/admin/src/static/lib/nicedit/demos/demo02.html new file mode 100644 index 0000000..062d904 --- /dev/null +++ b/wwws/admin/src/static/lib/nicedit/demos/demo02.html @@ -0,0 +1,57 @@ + + + Demo 2 : NicEdit Configuration + + + + + +
    +

    NicEdit is highly configurable by passing the configuration when you create the NicEditor. Pass your configuration when you call:

    +

    new NicEditor({CONFIG HERE})

    +

    Add .panelInstance('ID TO TEXTAREA HERE') to add the editor to the textarea.

    +

    See the examples below:

    +
    +
    + +
    + + + +

    Default (No Config Specified)

    +

    new nicEditor().panelInstance('area1');

    + + + +

    All Available Buttons {fullPanel : true}

    +

    new nicEditor({fullPanel : true}).panelInstance('area2');

    + + +

    Change Path to Icon File {iconsPath : 'path/to/nicEditorIcons.gif'}

    + +

    new nicEditor({iconsPath : 'nicEditorIcons.gif'}).panelInstance('area3');

    + + +

    Customize the Panel Buttons/Select List

    + +

    {buttonList : ['fontSize','bold','italic','underline','strikeThrough','subscript','superscript']}

    + + +

    Set a maximum expansion size (maxHeight)

    + +

    {maxHeight : 100}

    + +
    + + + + + \ No newline at end of file diff --git a/wwws/admin/src/static/lib/nicedit/demos/demo03.html b/wwws/admin/src/static/lib/nicedit/demos/demo03.html new file mode 100644 index 0000000..3c1d9eb --- /dev/null +++ b/wwws/admin/src/static/lib/nicedit/demos/demo03.html @@ -0,0 +1,56 @@ + + + Demo 3 : Add/Remove NicEditors + + + + + +
    +

    The demo below shows toggling the display of NicEditors on both textarea and div elements. NicEdit instances can be added and removed at any time

    +
    +
    + +
    +

    Div Example

    +
    + This is some TEST CONTENT
    + In a DIV Tag
    + Click the Buttons to activate +
    + +

    +

    Textarea Example

    +
    + +
    + +
    +
    + + + +
    + + + \ No newline at end of file diff --git a/wwws/admin/src/static/lib/nicedit/demos/demo04.html b/wwws/admin/src/static/lib/nicedit/demos/demo04.html new file mode 100644 index 0000000..bf3813c --- /dev/null +++ b/wwws/admin/src/static/lib/nicedit/demos/demo04.html @@ -0,0 +1,49 @@ + + + Demo 4 : Inline NicEditors + + + + + +
    +

    In addition to replacing textareas NicEdit instances can also replace any element (divs,spans,paragraphs,ect.) with editor instances without effecting the layout of the page. As you will see in other examples content can be saved via AJAX to the server or retrieved from javascript

    + +

    To make use of Inline Editing you should first create an empty element as a placeholder for the Editor Panel. In this case I use a div with id="myNicPanel" set. Its usually a good idea to set a width on element but it is not required.

    +
    + +
    + + + + +This is text above the Panel +
    +This is text below the Panel +

    + +

    Inline Div

    +
    +Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed magna dolor, faucibus ac, iaculis non, cursus et, dui. Donec non urna. Aliquam volutpat ornare augue. Phasellus egestas, nisl fermentum porttitor rutrum, magna metus rutrum risus, id fringilla magna mi nec lorem. Etiam eget metus sed justo ultricies rhoncus. Praesent rhoncus arcu non dolor. Proin eu eros. Curabitur vehicula. Nulla vehicula lectus eget eros. Nulla vel nulla at dui dictum mollis. Etiam purus felis, pretium vel, eleifend id, consectetuer nec, purus. Vivamus pretium orci ac sapien. Etiam at tortor. Nunc tincidunt mi sed sapien. Etiam lacus pede, fermentum eu, blandit ac, congue eget, metus. Quisque sed sem. Mauris at sapien. Ut luctus. +
    +
    +

    Inline Span

    + +Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed magna dolor, faucibus ac, iaculis non, cursus et, dui. Donec non urna. Aliquam volutpat ornare augue. Phasellus egestas, nisl fermentum porttitor rutrum, magna metus rutrum risus, id fringilla magna mi nec lorem. Etiam eget metus sed justo ultricies rhoncus. Praesent rhoncus arcu non dolor. Proin eu eros. Curabitur vehicula. Nulla vehicula lectus eget eros. Nulla vel nulla at dui dictum mollis. Etiam purus felis, pretium vel, eleifend id, consectetuer nec, purus. Vivamus pretium orci ac sapien. Etiam at tortor. Nunc tincidunt mi sed sapien. Etiam lacus pede, fermentum eu, blandit ac, congue eget, metus. Quisque sed sem. Mauris at sapien. Ut luctus. + +
    +

    Inline Paragraph

    +

    This is some text that can be edited in the inline paragraph editor.

    + +
    + + + diff --git a/wwws/admin/src/static/lib/nicedit/demos/demo05.html b/wwws/admin/src/static/lib/nicedit/demos/demo05.html new file mode 100644 index 0000000..c3924d5 --- /dev/null +++ b/wwws/admin/src/static/lib/nicedit/demos/demo05.html @@ -0,0 +1,54 @@ + + + Demo 5 : Editor Styles + + + + + + + + +
    +

    NicEdit instances and the panel can be styled using CSS classes to fit the look and feel of your site.

    + +
    + +
    + + + + +This is text above the Panel +
    +This is text below the Panel +

    + +

    Selected Style Example

    +
    +Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed magna dolor, faucibus ac, iaculis non, cursus et, dui. Donec non urna. Aliquam volutpat ornare augue. Phasellus egestas, nisl fermentum porttitor rutrum, magna metus rutrum risus, id fringilla magna mi nec lorem. Etiam eget metus sed justo ultricies rhoncus. Praesent rhoncus arcu non dolor. Proin eu eros. Curabitur vehicula. Nulla vehicula lectus eget eros. Nulla vel nulla at dui dictum mollis. Etiam purus felis, pretium vel, eleifend id, consectetuer nec, purus. Vivamus pretium orci ac sapien. Etiam at tortor. Nunc tincidunt mi sed sapien. Etiam lacus pede, fermentum eu, blandit ac, congue eget, metus. Quisque sed sem. Mauris at sapien. Ut luctus. +
    + + + diff --git a/wwws/admin/src/static/lib/nicedit/nicEdit.js b/wwws/admin/src/static/lib/nicedit/nicEdit.js new file mode 100644 index 0000000..c890433 --- /dev/null +++ b/wwws/admin/src/static/lib/nicedit/nicEdit.js @@ -0,0 +1,102 @@ +/* NicEdit - Micro Inline WYSIWYG + * Copyright 2007-2008 Brian Kirchoff + * + * NicEdit is distributed under the terms of the MIT license + * For more information visit http://nicedit.com/ + * Do not remove this copyright message + */ +var bkExtend=function(){var A=arguments;if(A.length==1){A=[this,A[0]]}for(var B in A[1]){A[0][B]=A[1][B]}return A[0]};function bkClass(){}bkClass.prototype.construct=function(){};bkClass.extend=function(C){var A=function(){if(arguments[0]!==bkClass){return this.construct.apply(this,arguments)}};var B=new this(bkClass);bkExtend(B,C);A.prototype=B;A.extend=this.extend;return A};var bkElement=bkClass.extend({construct:function(B,A){if(typeof (B)=="string"){B=(A||document).createElement(B)}B=$BK(B);return B},appendTo:function(A){A.appendChild(this);return this},appendBefore:function(A){A.parentNode.insertBefore(this,A);return this},addEvent:function(B,A){bkLib.addEvent(this,B,A);return this},setContent:function(A){this.innerHTML=A;return this},pos:function(){var C=curtop=0;var B=obj=this;if(obj.offsetParent){do{C+=obj.offsetLeft;curtop+=obj.offsetTop}while(obj=obj.offsetParent)}var A=(!window.opera)?parseInt(this.getStyle("border-width")||this.style.border)||0:0;return[C+A,curtop+A+this.offsetHeight]},noSelect:function(){bkLib.noSelect(this);return this},parentTag:function(A){var B=this;do{if(B&&B.nodeName&&B.nodeName.toUpperCase()==A){return B}B=B.parentNode}while(B);return false},hasClass:function(A){return this.className.match(new RegExp("(\\s|^)nicEdit-"+A+"(\\s|$)"))},addClass:function(A){if(!this.hasClass(A)){this.className+=" nicEdit-"+A}return this},removeClass:function(A){if(this.hasClass(A)){this.className=this.className.replace(new RegExp("(\\s|^)nicEdit-"+A+"(\\s|$)")," ")}return this},setStyle:function(A){var B=this.style;for(var C in A){switch(C){case"float":B.cssFloat=B.styleFloat=A[C];break;case"opacity":B.opacity=A[C];B.filter="alpha(opacity="+Math.round(A[C]*100)+")";break;case"className":this.className=A[C];break;default:B[C]=A[C]}}return this},getStyle:function(A,C){var B=(!C)?document.defaultView:C;if(this.nodeType==1){return(B&&B.getComputedStyle)?B.getComputedStyle(this,null).getPropertyValue(A):this.currentStyle[bkLib.camelize(A)]}},remove:function(){this.parentNode.removeChild(this);return this},setAttributes:function(A){for(var B in A){this[B]=A[B]}return this}});var bkLib={isMSIE:(navigator.appVersion.indexOf("MSIE")!=-1),addEvent:function(C,B,A){(C.addEventListener)?C.addEventListener(B,A,false):C.attachEvent("on"+B,A)},toArray:function(C){var B=C.length,A=new Array(B);while(B--){A[B]=C[B]}return A},noSelect:function(B){if(B.setAttribute&&B.nodeName.toLowerCase()!="input"&&B.nodeName.toLowerCase()!="textarea"){B.setAttribute("unselectable","on")}for(var A=0;A.nicEdit-main p { margin: 0; } + + + + + + + + + + + + + +
    + + + + + +
    + +

    Contenu principal

    +

    Ceci est un exemple de contenu principal.

    +
    +
    + + + + \ No newline at end of file diff --git a/wwws/admin/src/tpldata/admindata/headnav_fr.json b/wwws/admin/src/tpldata/admindata/headnav_fr.json new file mode 100644 index 0000000..c6b54f6 --- /dev/null +++ b/wwws/admin/src/tpldata/admindata/headnav_fr.json @@ -0,0 +1,26 @@ +{ + "colorslist": [ + "#ffc332", + "#fa6a31", + "#2e7fc8", + "#6aa84f", + "#218787", + "#ffd966", + "#fb8c5a", + "#1c5a8a", + "#4a7c3a", + "#1a6d6d", + "#e6b800", + "#d9531e", + "#5fa8d3", + "#8fbf4d", + "#2d9d9d", + "#cca300", + "#ff8c69", + "#1a3d5c", + "#5c7c3a", + "#4db3b3" + ], + "notifplus": "En voir plus", + "msgplus": "Voir tous..." +} \ No newline at end of file diff --git a/wwws/admin/src/tpldata/admindata/verticalnav_fr.json b/wwws/admin/src/tpldata/admindata/verticalnav_fr.json new file mode 100644 index 0000000..b682d54 --- /dev/null +++ b/wwws/admin/src/tpldata/admindata/verticalnav_fr.json @@ -0,0 +1,68 @@ +{ + "sidebarmenutop": [ + { + "profils": [ + "pagans" + ], + "title": "Articles", + "onclick": "apx.adminskull.show('articles','news')", + "submenu": [ + { + "title": "Locaux", + "onclick": "apx.admindata.articles.show('localnews')" + }, + { + "title": "Rediger", + "onclick": "apx.admindata.articles.editor()" + }, + { + "title": "Mes articles", + "onclick": "apx.admindata.articles.show('myarticles')" + } + ] + }, + { + "profils": [ + "pagans" + ], + "title": "Messages", + "submenu": [ + { + "title": "Discussions", + "onclick": "apx.admindata.messages.show('discussion')" + }, + { + "title": "Notification", + "onclick": "apx.admindata.messages.show('notification')" + } + ] + }, + { + "profils": [ + "major" + ], + "title": "Admin apxtri", + "onclick": "apx.admindata.apxtri.show('dashboard')", + "submenu": [ + { + "title": "Towns", + "onclick": "apx.admindata.apxtri.show('Town')" + }, + { + "title": "Tribes", + "onclick": "apx.admindata.apxtri.show('Tribes')" + } + ] + } + ], + "sidebarmenubottom": [ + { + "title": "Mon profil", + "onclick": "apx..()" + }, + { + "title": "Log Out", + "onclick": "apx.admindata.logout()" + } + ] +} \ No newline at end of file diff --git a/wwws/admin/src/tpldata/adminskull/headnav_fr.json b/wwws/admin/src/tpldata/adminskull/headnav_fr.json new file mode 100644 index 0000000..c6b54f6 --- /dev/null +++ b/wwws/admin/src/tpldata/adminskull/headnav_fr.json @@ -0,0 +1,26 @@ +{ + "colorslist": [ + "#ffc332", + "#fa6a31", + "#2e7fc8", + "#6aa84f", + "#218787", + "#ffd966", + "#fb8c5a", + "#1c5a8a", + "#4a7c3a", + "#1a6d6d", + "#e6b800", + "#d9531e", + "#5fa8d3", + "#8fbf4d", + "#2d9d9d", + "#cca300", + "#ff8c69", + "#1a3d5c", + "#5c7c3a", + "#4db3b3" + ], + "notifplus": "En voir plus", + "msgplus": "Voir tous..." +} \ No newline at end of file diff --git a/wwws/admin/src/tpldata/apxid_authentification_simplemobnav_fr.json b/wwws/admin/src/tpldata/apxid_authentification_simplemobnav_fr.json new file mode 100644 index 0000000..99be438 --- /dev/null +++ b/wwws/admin/src/tpldata/apxid_authentification_simplemobnav_fr.json @@ -0,0 +1,120 @@ +{ + "contentwconame": "apxauth", + "contentid": "signature", + "logobgdark": { + "src": "static/img/logo/logobgdark.png", + "alt": "apxtri" + }, + "logobglight": { + "src": "static/img/logo/logobglight.png", + "alt": "apxtri" + }, + "claim": { + "textContent": "L'Unique et sa Propriété" + }, + "navtpl":"navbuttonh", + "classnavbutton":"btn-primary hover:bg-secondary", + "classnavlist":{"p":"text-sm text-gray-500","a":"text-secondary hover:text-primary"}, + "profilmenu": [ + { + "mainprofil": "persons", + "link": "mytribes" + }, + { + "mainprofil": "pagans", + "link": "logout" + }, + { + "mainprofil": "anonymous", + "link": "signin" + } + ], + "links": [ + { + "link": "signup", + "d":"M18 7.5v3m0 0v3m0-3h3m-3 0h-3m-2.25-4.125a3.375 3.375 0 1 1-6.75 0 3.375 3.375 0 0 1 6.75 0ZM3 19.235v-.11a6.375 6.375 0 0 1 12.75 0v.109A12.318 12.318 0 0 1 9.374 21c-2.331 0-4.512-.645-6.374-1.766Z", + "shortlabel":"Créer", + "label": "Pas encore d'identité apxtri ?", + "textlink": "Créer mon identité", + "allowedprofil":["anonymous"], + "action":"navigation", + "next": [ + "signin", + "forgetkey", + "information" + ] + }, + { + "link": "signin", + "d":"M13.5 10.5V6.75a4.5 4.5 0 1 1 9 0v3.75M3.75 21.75h10.5a2.25 2.25 0 0 0 2.25-2.25v-6.75a2.25 2.25 0 0 0-2.25-2.25H3.75a2.25 2.25 0 0 0-2.25 2.25v6.75a2.25 2.25 0 0 0 2.25 2.25Z", + "shortlabel": "S'identifier", + "label": "S'identifier ?", + "textlink": "Accédez à vos données", + "allowedprofil":["anonymous"], + "action":"navigation", + "next": [ + "signup", + "forgetkey", + "information" + ] + }, + { + "link": "forgetkey", + "d":"M15.75 5.25a3 3 0 0 1 3 3m3 0a6 6 0 0 1-7.029 5.912c-.563-.097-1.159.026-1.563.43L10.5 17.25H8.25v2.25H6v2.25H2.25v-2.818c0-.597.237-1.17.659-1.591l6.499-6.499c.404-.404.527-1 .43-1.563A6 6 0 1 1 21.75 8.25Z", + "shortlabel": "Clé oublié", + "label": "Clé oubliée ?", + "textlink": "Récupérez par email", + "allowedprofil":["anonymous"], + "action":"navigation", + "next": [ + "signin", + "signup", + "information" + ] + }, + { + "link": "information", + "d":"m11.25 11.25.041-.02a.75.75 0 0 1 1.063.852l-.708 2.836a.75.75 0 0 0 1.063.853l.041-.021M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Zm-9-3.75h.008v.008H12V8.25Z", + "shortlabel": "Info", + "label": " C'est quoi une identité apxtri ?", + "textlink": "En savoir plus", + "allowedprofil":["anonymous"], + "action":"navigation", + "next": [ + "back" + ] + }, + { + "link": "back", + "d":"M9 15 3 9m0 0 6-6M3 9h12a6 6 0 0 1 0 12h-3", + "shortlabel":"Retour", + "label": "Retour au menu ", + "allowedprofil":["anonymous"], + "action":"reload", + "wconame":"simplemobnav", + "textlink": "Retour", + "next": [] + }, + { + "link": "logout", + "d":"M8.25 9V5.25A2.25 2.25 0 0 1 10.5 3h6a2.25 2.25 0 0 1 2.25 2.25v13.5A2.25 2.25 0 0 1 16.5 21h-6a2.25 2.25 0 0 1-2.25-2.25V15m-3 0-3-3m0 0 3-3m-3 3H15", + "shortlabel": "Logout", + "label": "Nettoyer mes traces", + "allowedprofil":["pagans"], + "label":"Se deconnecter", + "textlink": "Se déconnecter", + "action":"logout", + "wconame":"apxauth", + "next": [] + }, + { + "link": "mytribes", + "shortlabel": "Tribus", + "label": "Mes tribus", + "allowedprofil":["persons"], + "textlink": "Voir ", + "action":"navigation", + "next": ["logout"] + } + ] +} \ No newline at end of file diff --git a/wwws/admin/src/tpldata/apxid_signature_apxauth_fr.json b/wwws/admin/src/tpldata/apxid_signature_apxauth_fr.json new file mode 100644 index 0000000..af354f4 --- /dev/null +++ b/wwws/admin/src/tpldata/apxid_signature_apxauth_fr.json @@ -0,0 +1,17 @@ +{ "idparent":"authentification", + "signintitle":"Qui êtes-vous?", + "signuptitle":"Creer un compte anonyme", + "aliastitle":"Votre alias", + "aliasinvalid": "Combinaison de 3 à 150 caractères
    composée de minuscules (a à z) et/ou de chiffres (0 à 9)", + "aliastitle": "Uniquement minuscules ou chiffres", + "emailinvalid":"Vérifier votre email", + "privatekeyplaceholder": "Votre clé privée", + "remembermetext":"Stocker mon identité sur ce navigateur plus de 24 heures.Pour supprimer la clé de ce navigateur, il suffit de se déconnecter.", + "authentifyme":"S'identifier", + "createkey":"Créer mes clés en local", + "trusttext":"Si vous faites plus confiance à ce domaine qu'à vous même pour garder vos clés, cochez cette case. Les administrateurs de ce domaine auront accès à vos clés et pourront donc agir en votre nom. L'email ci-dessus sera utilisé pour vous renvoyer vos clés par le domaine de confiance. Dans tous les cas, il est conseillé de telecharger vos clés et de les stocker sur un support fiable non connecté (papier, clé usb)", + "downloadPuK":" Download
    Publickey", + "downloadPrK":" Download
    Privatekey", + "saveidentity":"Sauvegarde cette identité", + "nextpage":"Page suivante" +} diff --git a/wwws/apx/apx.apxtri.farm.ants.json b/wwws/apx/apx.apxtri.farm.ants.json new file mode 100644 index 0000000..8903ad2 --- /dev/null +++ b/wwws/apx/apx.apxtri.farm.ants.json @@ -0,0 +1,52 @@ +{ + "apps": { + "http": { + "servers": { + "static-server": { + "listen": [":443"], + "routes": [ + { + "match": [ + { + "host": ["apx.apxtri.farm.ants"] + } + ], + "handle": [ + { + "handler": "file_server", + "root": "/media/phil/usbfarm/apxtowns/data/apxtri/objects/wwws/apx/dist" + }, + { + "handler": "static_response", + "body": "404 - Not Found", + "status_code": 404 + } + ], + "terminal": true + } + ], + "tls_connection_policies": [{}] + } + } + }, + "tls": { + "certificates": { + "automate": ["apx.apxtri.farm.ants"] + } + } + }, + "logging": { + "logs": { + "default": { + "level": "INFO", + "writer": { + "output": "stdout" + } + } + } + }, + "storage": { + "module": "file_system", + "root": "/var/lib/caddy" + } +} diff --git a/wwws/apx/src/components/navbarinlinesquarebtn/navbarinlinesquarebtn.js b/wwws/apx/src/components/navbarinlinesquarebtn/navbarinlinesquarebtn.js new file mode 100644 index 0000000..2351755 --- /dev/null +++ b/wwws/apx/src/components/navbarinlinesquarebtn/navbarinlinesquarebtn.js @@ -0,0 +1,17 @@ +var app=app||{}; +app.navbarinline={}; + +app.navbarinline.show=(action)=>{ + console.log('run navbar') + if (!action) action="signin"; + app[action].show(); + const navdata={btnactions: []} + apx.data.tpldata.navbarinlinesquarebtn[action].forEach(b=>{ + navdata.btnactions.push(apx.data.tpldata.navbarinlinesquarebtn[b]) + }) + console.log( navdata) + document.querySelector("[name='wallet']").innerHTML=Mustache.render(apx.data.tpl.navbarinlinesquarebtn,navdata); + +} + +apx.readyafterupdate(app.navbarinline.show); \ No newline at end of file diff --git a/wwws/apx/src/components/navbarinlinesquarebtn/navbarinlinesquarebtn.mustache b/wwws/apx/src/components/navbarinlinesquarebtn/navbarinlinesquarebtn.mustache new file mode 100644 index 0000000..7ebf5ae --- /dev/null +++ b/wwws/apx/src/components/navbarinlinesquarebtn/navbarinlinesquarebtn.mustache @@ -0,0 +1,8 @@ +
    + {{#btnactions}} + + {{/btnactions}} +
    \ No newline at end of file diff --git a/wwws/apx/src/components/navbarinlinesquarebtn/navbarinlinesquarebtn_fr.json b/wwws/apx/src/components/navbarinlinesquarebtn/navbarinlinesquarebtn_fr.json new file mode 100644 index 0000000..8786b61 --- /dev/null +++ b/wwws/apx/src/components/navbarinlinesquarebtn/navbarinlinesquarebtn_fr.json @@ -0,0 +1,37 @@ +{ + "signin": ["addidentity", "forgetkey", "info"], + "signup": ["login", "forgetkey", "info"], + "info": ["back"], + "recoverkey": ["addidentity", "forgetkey", "info"], + "wallet": [], + "btnlogout": { + "onclick": "app.navbarinline.show('signin')", + "title": "Sortir", + "icon": "" + }, + "forgetkey": { + "onclick": "app.wallet.show('forget')", + "title": "Trouver sa clé", + "icon": "" + }, + "addidentity": { + "onclick": "app.wallet.show('signup')", + "title": "Créer une identité", + "icon": "" + }, + "info": { + "onclick": "app.wallet.show('info')", + "title": "En savoir plus", + "icon": "" + }, + "login": { + "onclick": "app.wallet.show('signin')", + "title": "S'identifier", + "icon": "" + }, + "back": { + "onclick": "app.wallet.show('signin')", + "title": "Retour", + "icon": "" + } +} diff --git a/wwws/apx/src/components/signin/signin.js b/wwws/apx/src/components/signin/signin.js new file mode 100644 index 0000000..6f86310 --- /dev/null +++ b/wwws/apx/src/components/signin/signin.js @@ -0,0 +1,5 @@ +var app=app||{}; +app.signin={}; +app.signin.show=()=>{ + +} \ No newline at end of file diff --git a/wwws/apx/src/components/signin/signin.mustache b/wwws/apx/src/components/signin/signin.mustache new file mode 100644 index 0000000..0a47953 --- /dev/null +++ b/wwws/apx/src/components/signin/signin.mustache @@ -0,0 +1,48 @@ +
    +
    +
    +
    + logo +
    +
    + + +
    +
    + + +
    +
    + + + {{{forgetkey}}} + +
    +
    + +
    +
    + +

    +
    +
    +
    diff --git a/wwws/apx/src/components/signin/signin_fr.json b/wwws/apx/src/components/signin/signin_fr.json new file mode 100644 index 0000000..0168563 --- /dev/null +++ b/wwws/apx/src/components/signin/signin_fr.json @@ -0,0 +1,17 @@ +{ + "logo": "static/img/logo/logoWhiteSimple.png", + "commenttheme": "empty for bg-light text-dark , type bg-dark text-white for a dark theme", + "theme": "bg-black text-light", + "cardclass": "bg-black", + "aliaslabel": "Votre alias (attention il est public)", + "aliasplaceholder": "L'alias associé à votre clé public", + "nopassphrase": true, + "forcetrustincurrentdomain": true, + "passphraselabel": "La passphrase de votre clé", + "passphraseplaceholder": "Si votre clé est protégée par une passphrase", + "passphrasecreateplaceholder": " Pour chiffrer la clé privée", + "privatekeyplaceholder": "Coller ici votre clé privée", + "forgetkey": "j'ai oublié ma clé", + "rememberme": "stocker mon identité sur ce navigateur plus de 24heures. Pour supprimer la clé de ce navigateur, il suffit de se deconnecter", + "authentifybutton": "M'authentifier" +} diff --git a/wwws/apx/src/layouts/wallet/wallet.js b/wwws/apx/src/layouts/wallet/wallet.js new file mode 100644 index 0000000..e69de29 diff --git a/wwws/apx/src/layouts/wallet/wallet.mustache b/wwws/apx/src/layouts/wallet/wallet.mustache new file mode 100644 index 0000000..832f13d --- /dev/null +++ b/wwws/apx/src/layouts/wallet/wallet.mustache @@ -0,0 +1,37 @@ + + + + + {{seo.title}} + + + + + + + {{#links}} + + {{/links}} + {{#jslibs}}{{/jslibs}} + {{#jsapp}}{{/jsapp}} + + +
    +
    +
    +
    +
    +
    +

    +

    {{{slogan}}}

    +
    +
    +
    {{{appwallet}}}
    +
    +
    +
    +
    +
    +
    + + diff --git a/wwws/apx/src/layouts/wallet/wallet.scss b/wwws/apx/src/layouts/wallet/wallet.scss new file mode 100644 index 0000000..e69de29 diff --git a/wwws/apx/src/layouts/wallet/wallet_fr.json b/wwws/apx/src/layouts/wallet/wallet_fr.json new file mode 100644 index 0000000..aebaad8 --- /dev/null +++ b/wwws/apx/src/layouts/wallet/wallet_fr.json @@ -0,0 +1,10 @@ +{ + "slogan":"L'Unique", + "favicon":"/static/img/logo/favicon.png", + "bodyclass":"bg-primary", + "links":["/static/css/app.css","/static/lib/bootstrap-icons/font/bootstrap-icons.min.css"], + "stringifyapxtri":"", + "jslibs":[], + "jsapp":[], + "appwallet":"" +} \ No newline at end of file diff --git a/wwws/apx/src/static/css copy/twdevstyle.css b/wwws/apx/src/static/css copy/twdevstyle.css new file mode 100644 index 0000000..8fb90e3 --- /dev/null +++ b/wwws/apx/src/static/css copy/twdevstyle.css @@ -0,0 +1,22 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; +@import 'daisyui'; + +@Layer base { + @font-face{ + font-family: 'Monserrat'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(static/fonts/Montserrat-VariableFont_wght.woff2) format('woff2'); + } + font-family:"Monserrat", system-ui, sans-serif; + @font-face{ + font-family: 'Inter'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(static/fonts/Inter-VariableFont_slnt,wght.woff2) format('woff2'); + } +} diff --git a/wwws/apx/src/static/css copy/twstyle.css b/wwws/apx/src/static/css copy/twstyle.css new file mode 100644 index 0000000..be31623 --- /dev/null +++ b/wwws/apx/src/static/css copy/twstyle.css @@ -0,0 +1,6048 @@ +*, ::before, ::after { + --tw-border-spacing-x: 0; + --tw-border-spacing-y: 0; + --tw-translate-x: 0; + --tw-translate-y: 0; + --tw-rotate: 0; + --tw-skew-x: 0; + --tw-skew-y: 0; + --tw-scale-x: 1; + --tw-scale-y: 1; + --tw-pan-x: ; + --tw-pan-y: ; + --tw-pinch-zoom: ; + --tw-scroll-snap-strictness: proximity; + --tw-gradient-from-position: ; + --tw-gradient-via-position: ; + --tw-gradient-to-position: ; + --tw-ordinal: ; + --tw-slashed-zero: ; + --tw-numeric-figure: ; + --tw-numeric-spacing: ; + --tw-numeric-fraction: ; + --tw-ring-inset: ; + --tw-ring-offset-width: 0px; + --tw-ring-offset-color: #fff; + --tw-ring-color: rgb(59 130 246 / 0.5); + --tw-ring-offset-shadow: 0 0 #0000; + --tw-ring-shadow: 0 0 #0000; + --tw-shadow: 0 0 #0000; + --tw-shadow-colored: 0 0 #0000; + --tw-blur: ; + --tw-brightness: ; + --tw-contrast: ; + --tw-grayscale: ; + --tw-hue-rotate: ; + --tw-invert: ; + --tw-saturate: ; + --tw-sepia: ; + --tw-drop-shadow: ; + --tw-backdrop-blur: ; + --tw-backdrop-brightness: ; + --tw-backdrop-contrast: ; + --tw-backdrop-grayscale: ; + --tw-backdrop-hue-rotate: ; + --tw-backdrop-invert: ; + --tw-backdrop-opacity: ; + --tw-backdrop-saturate: ; + --tw-backdrop-sepia: ; + --tw-contain-size: ; + --tw-contain-layout: ; + --tw-contain-paint: ; + --tw-contain-style: ; +} + +::backdrop { + --tw-border-spacing-x: 0; + --tw-border-spacing-y: 0; + --tw-translate-x: 0; + --tw-translate-y: 0; + --tw-rotate: 0; + --tw-skew-x: 0; + --tw-skew-y: 0; + --tw-scale-x: 1; + --tw-scale-y: 1; + --tw-pan-x: ; + --tw-pan-y: ; + --tw-pinch-zoom: ; + --tw-scroll-snap-strictness: proximity; + --tw-gradient-from-position: ; + --tw-gradient-via-position: ; + --tw-gradient-to-position: ; + --tw-ordinal: ; + --tw-slashed-zero: ; + --tw-numeric-figure: ; + --tw-numeric-spacing: ; + --tw-numeric-fraction: ; + --tw-ring-inset: ; + --tw-ring-offset-width: 0px; + --tw-ring-offset-color: #fff; + --tw-ring-color: rgb(59 130 246 / 0.5); + --tw-ring-offset-shadow: 0 0 #0000; + --tw-ring-shadow: 0 0 #0000; + --tw-shadow: 0 0 #0000; + --tw-shadow-colored: 0 0 #0000; + --tw-blur: ; + --tw-brightness: ; + --tw-contrast: ; + --tw-grayscale: ; + --tw-hue-rotate: ; + --tw-invert: ; + --tw-saturate: ; + --tw-sepia: ; + --tw-drop-shadow: ; + --tw-backdrop-blur: ; + --tw-backdrop-brightness: ; + --tw-backdrop-contrast: ; + --tw-backdrop-grayscale: ; + --tw-backdrop-hue-rotate: ; + --tw-backdrop-invert: ; + --tw-backdrop-opacity: ; + --tw-backdrop-saturate: ; + --tw-backdrop-sepia: ; + --tw-contain-size: ; + --tw-contain-layout: ; + --tw-contain-paint: ; + --tw-contain-style: ; +} + +/* +! tailwindcss v3.4.15 | MIT License | https://tailwindcss.com +*/ + +/* +1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4) +2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116) +*/ + +*, +::before, +::after { + box-sizing: border-box; + /* 1 */ + border-width: 0; + /* 2 */ + border-style: solid; + /* 2 */ + border-color: #e5e7eb; + /* 2 */ +} + +::before, +::after { + --tw-content: ''; +} + +/* +1. Use a consistent sensible line-height in all browsers. +2. Prevent adjustments of font size after orientation changes in iOS. +3. Use a more readable tab size. +4. Use the user's configured `sans` font-family by default. +5. Use the user's configured `sans` font-feature-settings by default. +6. Use the user's configured `sans` font-variation-settings by default. +7. Disable tap highlights on iOS +*/ + +html, +:host { + line-height: 1.5; + /* 1 */ + -webkit-text-size-adjust: 100%; + /* 2 */ + -moz-tab-size: 4; + /* 3 */ + -o-tab-size: 4; + tab-size: 4; + /* 3 */ + font-family: Inter, sans-serif; + /* 4 */ + font-feature-settings: normal; + /* 5 */ + font-variation-settings: normal; + /* 6 */ + -webkit-tap-highlight-color: transparent; + /* 7 */ +} + +/* +1. Remove the margin in all browsers. +2. Inherit line-height from `html` so users can set them as a class directly on the `html` element. +*/ + +body { + margin: 0; + /* 1 */ + line-height: inherit; + /* 2 */ +} + +/* +1. Add the correct height in Firefox. +2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655) +3. Ensure horizontal rules are visible by default. +*/ + +hr { + height: 0; + /* 1 */ + color: inherit; + /* 2 */ + border-top-width: 1px; + /* 3 */ +} + +/* +Add the correct text decoration in Chrome, Edge, and Safari. +*/ + +abbr:where([title]) { + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; +} + +/* +Remove the default font size and weight for headings. +*/ + +h1, +h2, +h3, +h4, +h5, +h6 { + font-size: inherit; + font-weight: inherit; +} + +/* +Reset links to optimize for opt-in styling instead of opt-out. +*/ + +a { + color: inherit; + text-decoration: inherit; +} + +/* +Add the correct font weight in Edge and Safari. +*/ + +b, +strong { + font-weight: bolder; +} + +/* +1. Use the user's configured `mono` font-family by default. +2. Use the user's configured `mono` font-feature-settings by default. +3. Use the user's configured `mono` font-variation-settings by default. +4. Correct the odd `em` font sizing in all browsers. +*/ + +code, +kbd, +samp, +pre { + font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + /* 1 */ + font-feature-settings: normal; + /* 2 */ + font-variation-settings: normal; + /* 3 */ + font-size: 1em; + /* 4 */ +} + +/* +Add the correct font size in all browsers. +*/ + +small { + font-size: 80%; +} + +/* +Prevent `sub` and `sup` elements from affecting the line height in all browsers. +*/ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +/* +1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297) +2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016) +3. Remove gaps between table borders by default. +*/ + +table { + text-indent: 0; + /* 1 */ + border-color: inherit; + /* 2 */ + border-collapse: collapse; + /* 3 */ +} + +/* +1. Change the font styles in all browsers. +2. Remove the margin in Firefox and Safari. +3. Remove default padding in all browsers. +*/ + +button, +input, +optgroup, +select, +textarea { + font-family: inherit; + /* 1 */ + font-feature-settings: inherit; + /* 1 */ + font-variation-settings: inherit; + /* 1 */ + font-size: 100%; + /* 1 */ + font-weight: inherit; + /* 1 */ + line-height: inherit; + /* 1 */ + letter-spacing: inherit; + /* 1 */ + color: inherit; + /* 1 */ + margin: 0; + /* 2 */ + padding: 0; + /* 3 */ +} + +/* +Remove the inheritance of text transform in Edge and Firefox. +*/ + +button, +select { + text-transform: none; +} + +/* +1. Correct the inability to style clickable types in iOS and Safari. +2. Remove default button styles. +*/ + +button, +input:where([type='button']), +input:where([type='reset']), +input:where([type='submit']) { + -webkit-appearance: button; + /* 1 */ + background-color: transparent; + /* 2 */ + background-image: none; + /* 2 */ +} + +/* +Use the modern Firefox focus style for all focusable elements. +*/ + +:-moz-focusring { + outline: auto; +} + +/* +Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737) +*/ + +:-moz-ui-invalid { + box-shadow: none; +} + +/* +Add the correct vertical alignment in Chrome and Firefox. +*/ + +progress { + vertical-align: baseline; +} + +/* +Correct the cursor style of increment and decrement buttons in Safari. +*/ + +::-webkit-inner-spin-button, +::-webkit-outer-spin-button { + height: auto; +} + +/* +1. Correct the odd appearance in Chrome and Safari. +2. Correct the outline style in Safari. +*/ + +[type='search'] { + -webkit-appearance: textfield; + /* 1 */ + outline-offset: -2px; + /* 2 */ +} + +/* +Remove the inner padding in Chrome and Safari on macOS. +*/ + +::-webkit-search-decoration { + -webkit-appearance: none; +} + +/* +1. Correct the inability to style clickable types in iOS and Safari. +2. Change font properties to `inherit` in Safari. +*/ + +::-webkit-file-upload-button { + -webkit-appearance: button; + /* 1 */ + font: inherit; + /* 2 */ +} + +/* +Add the correct display in Chrome and Safari. +*/ + +summary { + display: list-item; +} + +/* +Removes the default spacing and border for appropriate elements. +*/ + +blockquote, +dl, +dd, +h1, +h2, +h3, +h4, +h5, +h6, +hr, +figure, +p, +pre { + margin: 0; +} + +fieldset { + margin: 0; + padding: 0; +} + +legend { + padding: 0; +} + +ol, +ul, +menu { + list-style: none; + margin: 0; + padding: 0; +} + +/* +Reset default styling for dialogs. +*/ + +dialog { + padding: 0; +} + +/* +Prevent resizing textareas horizontally by default. +*/ + +textarea { + resize: vertical; +} + +/* +1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300) +2. Set the default placeholder color to the user's configured gray 400 color. +*/ + +input::-moz-placeholder, textarea::-moz-placeholder { + opacity: 1; + /* 1 */ + color: #9ca3af; + /* 2 */ +} + +input::placeholder, +textarea::placeholder { + opacity: 1; + /* 1 */ + color: #9ca3af; + /* 2 */ +} + +/* +Set the default cursor for buttons. +*/ + +button, +[role="button"] { + cursor: pointer; +} + +/* +Make sure disabled buttons don't get the pointer cursor. +*/ + +:disabled { + cursor: default; +} + +/* +1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14) +2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210) + This can trigger a poorly considered lint error in some tools but is included by design. +*/ + +img, +svg, +video, +canvas, +audio, +iframe, +embed, +object { + display: block; + /* 1 */ + vertical-align: middle; + /* 2 */ +} + +/* +Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14) +*/ + +img, +video { + max-width: 100%; + height: auto; +} + +/* Make elements with the HTML hidden attribute stay hidden by default */ + +[hidden]:where(:not([hidden="until-found"])) { + display: none; +} + +:root, +[data-theme] { + background-color: var(--fallback-b1,oklch(var(--b1)/1)); + color: var(--fallback-bc,oklch(var(--bc)/1)); +} + +@supports not (color: oklch(0% 0 0)) { + :root { + color-scheme: light; + --fallback-p: #491eff; + --fallback-pc: #d4dbff; + --fallback-s: #ff41c7; + --fallback-sc: #fff9fc; + --fallback-a: #00cfbd; + --fallback-ac: #00100d; + --fallback-n: #2b3440; + --fallback-nc: #d7dde4; + --fallback-b1: #ffffff; + --fallback-b2: #e5e6e6; + --fallback-b3: #e5e6e6; + --fallback-bc: #1f2937; + --fallback-in: #00b3f0; + --fallback-inc: #000000; + --fallback-su: #00ca92; + --fallback-suc: #000000; + --fallback-wa: #ffc22d; + --fallback-wac: #000000; + --fallback-er: #ff6f70; + --fallback-erc: #000000; + } + + @media (prefers-color-scheme: dark) { + :root { + color-scheme: dark; + --fallback-p: #7582ff; + --fallback-pc: #050617; + --fallback-s: #ff71cf; + --fallback-sc: #190211; + --fallback-a: #00c7b5; + --fallback-ac: #000e0c; + --fallback-n: #2a323c; + --fallback-nc: #a6adbb; + --fallback-b1: #1d232a; + --fallback-b2: #191e24; + --fallback-b3: #15191e; + --fallback-bc: #a6adbb; + --fallback-in: #00b3f0; + --fallback-inc: #000000; + --fallback-su: #00ca92; + --fallback-suc: #000000; + --fallback-wa: #ffc22d; + --fallback-wac: #000000; + --fallback-er: #ff6f70; + --fallback-erc: #000000; + } + } +} + +html { + -webkit-tap-highlight-color: transparent; +} + +* { + scrollbar-color: color-mix(in oklch, currentColor 35%, transparent) transparent; +} + +*:hover { + scrollbar-color: color-mix(in oklch, currentColor 60%, transparent) transparent; +} + +:root { + --p: 88.7804% 0.180665 167.583925; + --rounded-box: 1rem; + --rounded-btn: 0.5rem; + --rounded-badge: 1.9rem; + --animation-btn: 0.25s; + --animation-input: .2s; + --btn-focus-scale: 0.95; + --border-btn: 1px; + --tab-border: 1px; + --tab-radius: 0.5rem; + --pc: 21.4554% 0.009917 276.576727; + --s: 76.5225% 0.150447 229.698915; + --sc: 21.4554% 0.009917 276.576727; + --a: 66.2286% 0.2272 35.061415; + --ac: 99.1069% 0 0; + --n: 99.1069% 0 0; + --nc: 21.4554% 0.009917 276.576727; + --b1: 24.3122% 0.008177 264.41195; + --b2: 30.3185% 0.018352 258.369762; + --b3: 36.9462% 0.038101 260.500087; + --bc: 85.6139% 0.005301 247.886285; + --in: 93.5172% 0.095005 177.571356; + --inc: 21.4554% 0.009917 276.576727; + --su: 90.1089% 0.061025 228.843723; + --suc: 21.4554% 0.009917 276.576727; + --wa: 76.8679% 0.14965 48.886394; + --wac: 21.4554% 0.009917 276.576727; + --er: 57.5832% 0.20883 29.481962; + --erc: 99.1069% 0 0; +} + +[data-theme=candidate] { + --p: 88.7804% 0.180665 167.583925; + --rounded-box: 1rem; + --rounded-btn: 0.5rem; + --rounded-badge: 1.9rem; + --animation-btn: 0.25s; + --animation-input: .2s; + --btn-focus-scale: 0.95; + --border-btn: 1px; + --tab-border: 1px; + --tab-radius: 0.5rem; + --pc: 21.4554% 0.009917 276.576727; + --s: 76.5225% 0.150447 229.698915; + --sc: 21.4554% 0.009917 276.576727; + --a: 66.2286% 0.2272 35.061415; + --ac: 99.1069% 0 0; + --n: 99.1069% 0 0; + --nc: 21.4554% 0.009917 276.576727; + --b1: 24.3122% 0.008177 264.41195; + --b2: 30.3185% 0.018352 258.369762; + --b3: 36.9462% 0.038101 260.500087; + --bc: 85.6139% 0.005301 247.886285; + --in: 93.5172% 0.095005 177.571356; + --inc: 21.4554% 0.009917 276.576727; + --su: 90.1089% 0.061025 228.843723; + --suc: 21.4554% 0.009917 276.576727; + --wa: 76.8679% 0.14965 48.886394; + --wac: 21.4554% 0.009917 276.576727; + --er: 57.5832% 0.20883 29.481962; + --erc: 99.1069% 0 0; +} + +[data-theme=recruiter] { + --p: 66.5818% 0.211025 16.846461; + --rounded-box: 1rem; + --rounded-btn: 0.5rem; + --rounded-badge: 1.9rem; + --animation-btn: 0.25s; + --animation-input: .2s; + --btn-focus-scale: 0.95; + --border-btn: 1px; + --tab-border: 1px; + --tab-radius: 0.5rem; + --pc: 21.4554% 0.009917 276.576727; + --s: 69.2024% 0.160616 24.825988; + --sc: 21.4554% 0.009917 276.576727; + --a: 76.8679% 0.14965 48.886394; + --ac: 99.1069% 0 0; + --n: 99.1069% 0 0; + --nc: 21.4554% 0.009917 276.576727; + --b1: 24.3122% 0.008177 264.41195; + --b2: 30.3185% 0.018352 258.369762; + --b3: 36.9462% 0.038101 260.500087; + --bc: 85.6139% 0.005301 247.886285; + --in: 93.5172% 0.095005 177.571356; + --inc: 21.4554% 0.009917 276.576727; + --su: 90.1089% 0.061025 228.843723; + --suc: 21.4554% 0.009917 276.576727; + --wa: 76.8679% 0.14965 48.886394; + --wac: 21.4554% 0.009917 276.576727; + --er: 57.5832% 0.20883 29.481962; + --erc: 99.1069% 0 0; +} + +.container { + width: 100%; +} + +@media (min-width: 640px) { + .container { + max-width: 640px; + } +} + +@media (min-width: 768px) { + .container { + max-width: 768px; + } +} + +@media (min-width: 1024px) { + .container { + max-width: 1024px; + } +} + +@media (min-width: 1280px) { + .container { + max-width: 1280px; + } +} + +@media (min-width: 1536px) { + .container { + max-width: 1536px; + } +} + +.alert { + display: grid; + width: 100%; + grid-auto-flow: row; + align-content: flex-start; + align-items: center; + justify-items: center; + gap: 1rem; + text-align: center; + border-radius: var(--rounded-box, 1rem); + border-width: 1px; + --tw-border-opacity: 1; + border-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-border-opacity))); + padding: 1rem; + --tw-text-opacity: 1; + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity))); + --alert-bg: var(--fallback-b2,oklch(var(--b2)/1)); + --alert-bg-mix: var(--fallback-b1,oklch(var(--b1)/1)); + background-color: var(--alert-bg); +} + +@media (min-width: 640px) { + .alert { + grid-auto-flow: column; + grid-template-columns: auto minmax(auto,1fr); + justify-items: start; + text-align: start; + } +} + +.avatar { + position: relative; + display: inline-flex; +} + +.avatar > div { + display: block; + aspect-ratio: 1 / 1; + overflow: hidden; +} + +.avatar img { + height: 100%; + width: 100%; + -o-object-fit: cover; + object-fit: cover; +} + +.avatar.placeholder > div { + display: flex; + align-items: center; + justify-content: center; +} + +.badge { + display: inline-flex; + align-items: center; + justify-content: center; + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter; + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-timing-function: cubic-bezier(0, 0, 0.2, 1); + transition-duration: 200ms; + height: 1.25rem; + font-size: 0.875rem; + line-height: 1.25rem; + width: -moz-fit-content; + width: fit-content; + padding-left: 0.563rem; + padding-right: 0.563rem; + border-radius: var(--rounded-badge, 1.9rem); + border-width: 1px; + --tw-border-opacity: 1; + border-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-border-opacity))); + --tw-bg-opacity: 1; + background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity))); + --tw-text-opacity: 1; + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity))); +} + +@media (hover:hover) { + .checkbox-primary:hover { + --tw-border-opacity: 1; + border-color: var(--fallback-p,oklch(var(--p)/var(--tw-border-opacity))); + } + + .checkbox-secondary:hover { + --tw-border-opacity: 1; + border-color: var(--fallback-s,oklch(var(--s)/var(--tw-border-opacity))); + } + + .label a:hover { + --tw-text-opacity: 1; + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity))); + } + + .\!menu li > *:not(ul, .menu-title, details, .btn):active, +.\!menu li > *:not(ul, .menu-title, details, .btn).active, +.\!menu li > details > summary:active { + --tw-bg-opacity: 1 !important; + background-color: var(--fallback-n,oklch(var(--n)/var(--tw-bg-opacity))) !important; + --tw-text-opacity: 1 !important; + color: var(--fallback-nc,oklch(var(--nc)/var(--tw-text-opacity))) !important; + } + + .menu li > *:not(ul, .menu-title, details, .btn):active, +.menu li > *:not(ul, .menu-title, details, .btn).active, +.menu li > details > summary:active { + --tw-bg-opacity: 1; + background-color: var(--fallback-n,oklch(var(--n)/var(--tw-bg-opacity))); + --tw-text-opacity: 1; + color: var(--fallback-nc,oklch(var(--nc)/var(--tw-text-opacity))); + } + + .\!menu li > *:not(ul, .menu-title, details, .btn):active, +.\!menu li > *:not(ul, .menu-title, details, .btn).active, +.\!menu li > details > summary:active { + --tw-bg-opacity: 1 !important; + background-color: var(--fallback-n,oklch(var(--n)/var(--tw-bg-opacity))) !important; + --tw-text-opacity: 1 !important; + color: var(--fallback-nc,oklch(var(--nc)/var(--tw-text-opacity))) !important; + } + + +.menu li > *:not(ul, .menu-title, details, .btn).\!active { + --tw-bg-opacity: 1 !important; + background-color: var(--fallback-n,oklch(var(--n)/var(--tw-bg-opacity))) !important; + --tw-text-opacity: 1 !important; + color: var(--fallback-nc,oklch(var(--nc)/var(--tw-text-opacity))) !important; + } + + .\!menu li > *:not(ul, .menu-title, details, .btn):active, +.\!menu li > *:not(ul, .menu-title, details, .btn).active, +.\!menu li > details > summary:active { + --tw-bg-opacity: 1 !important; + background-color: var(--fallback-n,oklch(var(--n)/var(--tw-bg-opacity))) !important; + --tw-text-opacity: 1 !important; + color: var(--fallback-nc,oklch(var(--nc)/var(--tw-text-opacity))) !important; + } + + .tab:hover { + --tw-text-opacity: 1; + } + + .tabs-boxed :is(.tab-active, [aria-selected="true"]):not(.tab-disabled):not([disabled]):hover, .tabs-boxed :is(input:checked):hover { + --tw-text-opacity: 1; + color: var(--fallback-pc,oklch(var(--pc)/var(--tw-text-opacity))); + } + + .table tr.hover:hover, + .table tr.hover:nth-child(even):hover { + --tw-bg-opacity: 1; + background-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-bg-opacity))); + } + + .table-zebra tr.hover:hover, + .table-zebra tr.hover:nth-child(even):hover { + --tw-bg-opacity: 1; + background-color: var(--fallback-b3,oklch(var(--b3)/var(--tw-bg-opacity))); + } +} + +.btn { + display: inline-flex; + height: 3rem; + min-height: 3rem; + flex-shrink: 0; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + flex-wrap: wrap; + align-items: center; + justify-content: center; + border-radius: var(--rounded-btn, 0.5rem); + border-color: transparent; + border-color: oklch(var(--btn-color, var(--b2)) / var(--tw-border-opacity)); + padding-left: 1rem; + padding-right: 1rem; + text-align: center; + font-size: 0.875rem; + line-height: 1em; + gap: 0.5rem; + font-weight: 600; + text-decoration-line: none; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0, 0, 0.2, 1); + border-width: var(--border-btn, 1px); + transition-property: color, background-color, border-color, opacity, box-shadow, transform; + --tw-text-opacity: 1; + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity))); + --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05); + --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); + outline-color: var(--fallback-bc,oklch(var(--bc)/1)); + background-color: oklch(var(--btn-color, var(--b2)) / var(--tw-bg-opacity)); + --tw-bg-opacity: 1; + --tw-border-opacity: 1; +} + +.btn-disabled, + .btn[disabled], + .btn:disabled { + pointer-events: none; +} + +.btn-circle { + height: 3rem; + width: 3rem; + border-radius: 9999px; + padding: 0px; +} + +:where(.btn:is(input[type="checkbox"])), +:where(.btn:is(input[type="radio"])) { + width: auto; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + +.btn:is(input[type="checkbox"]):after, +.btn:is(input[type="radio"]):after { + --tw-content: attr(aria-label); + content: var(--tw-content); +} + +.card { + position: relative; + display: flex; + flex-direction: column; + border-radius: var(--rounded-box, 1rem); +} + +.card:focus { + outline: 2px solid transparent; + outline-offset: 2px; +} + +.card-body { + display: flex; + flex: 1 1 auto; + flex-direction: column; + padding: var(--padding-card, 2rem); + gap: 0.5rem; +} + +.card-body :where(p) { + flex-grow: 1; +} + +.card figure { + display: flex; + align-items: center; + justify-content: center; +} + +.card.image-full { + display: grid; +} + +.card.image-full:before { + position: relative; + content: ""; + z-index: 10; + border-radius: var(--rounded-box, 1rem); + --tw-bg-opacity: 1; + background-color: var(--fallback-n,oklch(var(--n)/var(--tw-bg-opacity))); + opacity: 0.75; +} + +.card.image-full:before, + .card.image-full > * { + grid-column-start: 1; + grid-row-start: 1; +} + +.card.image-full > figure img { + height: 100%; + -o-object-fit: cover; + object-fit: cover; +} + +.card.image-full > .card-body { + position: relative; + z-index: 20; + --tw-text-opacity: 1; + color: var(--fallback-nc,oklch(var(--nc)/var(--tw-text-opacity))); +} + +.carousel { + display: inline-flex; + overflow-x: scroll; + scroll-snap-type: x mandatory; + scroll-behavior: smooth; + -ms-overflow-style: none; + scrollbar-width: none; +} + +.carousel-item { + box-sizing: content-box; + display: flex; + flex: none; + scroll-snap-align: start; +} + +.carousel-start .carousel-item { + scroll-snap-align: start; +} + +.carousel-center .carousel-item { + scroll-snap-align: center; +} + +.carousel-end .carousel-item { + scroll-snap-align: end; +} + +.chat { + display: grid; + grid-template-columns: repeat(2, minmax(0, 1fr)); + -moz-column-gap: 0.75rem; + column-gap: 0.75rem; + padding-top: 0.25rem; + padding-bottom: 0.25rem; +} + +.checkbox { + flex-shrink: 0; + --chkbg: var(--fallback-bc,oklch(var(--bc)/1)); + --chkfg: var(--fallback-b1,oklch(var(--b1)/1)); + height: 1.5rem; + width: 1.5rem; + cursor: pointer; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + border-radius: var(--rounded-btn, 0.5rem); + border-width: 1px; + border-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-border-opacity))); + --tw-border-opacity: 0.2; +} + +.collapse:not(td):not(tr):not(colgroup) { + visibility: visible; +} + +.collapse { + position: relative; + display: grid; + overflow: hidden; + grid-template-rows: auto 0fr; + transition: grid-template-rows 0.2s; + width: 100%; + border-radius: var(--rounded-box, 1rem); +} + +.collapse-title, +.collapse > input[type="checkbox"], +.collapse > input[type="radio"], +.collapse-content { + grid-column-start: 1; + grid-row-start: 1; +} + +.collapse > input[type="checkbox"], +.collapse > input[type="radio"] { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + opacity: 0; +} + +.collapse[open], +.collapse-open, +.collapse:focus:not(.collapse-close) { + grid-template-rows: auto 1fr; +} + +.collapse:not(.collapse-close):has(> input[type="checkbox"]:checked), +.collapse:not(.collapse-close):has(> input[type="radio"]:checked) { + grid-template-rows: auto 1fr; +} + +.collapse[open] > .collapse-content, +.collapse-open > .collapse-content, +.collapse:focus:not(.collapse-close) > .collapse-content, +.collapse:not(.collapse-close) > input[type="checkbox"]:checked ~ .collapse-content, +.collapse:not(.collapse-close) > input[type="radio"]:checked ~ .collapse-content { + visibility: visible; + min-height: -moz-fit-content; + min-height: fit-content; +} + +:root .countdown { + line-height: 1em; +} + +.countdown { + display: inline-flex; +} + +.countdown > * { + height: 1em; + display: inline-block; + overflow-y: hidden; +} + +.countdown > *:before { + position: relative; + content: "00\A 01\A 02\A 03\A 04\A 05\A 06\A 07\A 08\A 09\A 10\A 11\A 12\A 13\A 14\A 15\A 16\A 17\A 18\A 19\A 20\A 21\A 22\A 23\A 24\A 25\A 26\A 27\A 28\A 29\A 30\A 31\A 32\A 33\A 34\A 35\A 36\A 37\A 38\A 39\A 40\A 41\A 42\A 43\A 44\A 45\A 46\A 47\A 48\A 49\A 50\A 51\A 52\A 53\A 54\A 55\A 56\A 57\A 58\A 59\A 60\A 61\A 62\A 63\A 64\A 65\A 66\A 67\A 68\A 69\A 70\A 71\A 72\A 73\A 74\A 75\A 76\A 77\A 78\A 79\A 80\A 81\A 82\A 83\A 84\A 85\A 86\A 87\A 88\A 89\A 90\A 91\A 92\A 93\A 94\A 95\A 96\A 97\A 98\A 99\A"; + white-space: pre; + top: calc(var(--value) * -1em); + text-align: center; + transition: all 1s cubic-bezier(1, 0, 0, 1); +} + +.\!diff { + position: relative !important; + display: grid !important; + width: 100% !important; + overflow: hidden !important; + container-type: inline-size !important; + grid-template-columns: auto 1fr !important; +} + +.diff { + position: relative; + display: grid; + width: 100%; + overflow: hidden; + container-type: inline-size; + grid-template-columns: auto 1fr; +} + +.drawer { + position: relative; + display: grid; + grid-auto-columns: max-content auto; + width: 100%; +} + +.drawer-content { + grid-column-start: 2; + grid-row-start: 1; + min-width: 0px; +} + +.drawer-side { + pointer-events: none; + position: fixed; + inset-inline-start: 0px; + top: 0px; + grid-column-start: 1; + grid-row-start: 1; + display: grid; + width: 100%; + grid-template-columns: repeat(1, minmax(0, 1fr)); + grid-template-rows: repeat(1, minmax(0, 1fr)); + align-items: flex-start; + justify-items: start; + overflow-x: hidden; + overflow-y: hidden; + overscroll-behavior: contain; + height: 100vh; + height: 100dvh; +} + +.drawer-side > .drawer-overlay { + position: sticky; + top: 0px; + place-self: stretch; + cursor: pointer; + background-color: transparent; + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-timing-function: cubic-bezier(0, 0, 0.2, 1); + transition-duration: 200ms; +} + +.drawer-side > * { + grid-column-start: 1; + grid-row-start: 1; +} + +.drawer-side > *:not(.drawer-overlay) { + transition-property: transform; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-timing-function: cubic-bezier(0, 0, 0.2, 1); + transition-duration: 300ms; + will-change: transform; + transform: translateX(-100%); +} + +[dir="rtl"] .drawer-side > *:not(.drawer-overlay) { + transform: translateX(100%); +} + +.drawer-toggle { + position: fixed; + height: 0px; + width: 0px; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + opacity: 0; +} + +.drawer-toggle:checked ~ .drawer-side { + pointer-events: auto; + visibility: visible; + overflow-y: auto; +} + +.drawer-toggle:checked ~ .drawer-side > *:not(.drawer-overlay) { + transform: translateX(0%); +} + +.drawer-end > .drawer-toggle ~ .drawer-content { + grid-column-start: 1; +} + +.drawer-end > .drawer-toggle ~ .drawer-side { + grid-column-start: 2; + justify-items: end; +} + +.drawer-end > .drawer-toggle ~ .drawer-side > *:not(.drawer-overlay) { + transform: translateX(100%); +} + +[dir="rtl"] .drawer-end > .drawer-toggle ~ .drawer-side > *:not(.drawer-overlay) { + transform: translateX(-100%); +} + +.drawer-end > .drawer-toggle:checked ~ .drawer-side > *:not(.drawer-overlay) { + transform: translateX(0%); +} + +.dropdown { + position: relative; + display: inline-block; +} + +.dropdown > *:not(summary):focus { + outline: 2px solid transparent; + outline-offset: 2px; +} + +.dropdown .dropdown-content { + position: absolute; +} + +.dropdown:is(:not(details)) .dropdown-content { + visibility: hidden; + opacity: 0; + transform-origin: top; + --tw-scale-x: .95; + --tw-scale-y: .95; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter; + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-timing-function: cubic-bezier(0, 0, 0.2, 1); + transition-duration: 200ms; +} + +.dropdown.dropdown-open .dropdown-content, +.dropdown:not(.dropdown-hover):focus .dropdown-content, +.dropdown:focus-within .dropdown-content { + visibility: visible; + opacity: 1; +} + +@media (hover: hover) { + .dropdown.dropdown-hover:hover .dropdown-content { + visibility: visible; + opacity: 1; + } + + .btm-nav > *.disabled:hover, + .btm-nav > *[disabled]:hover { + pointer-events: none; + --tw-border-opacity: 0; + background-color: var(--fallback-n,oklch(var(--n)/var(--tw-bg-opacity))); + --tw-bg-opacity: 0.1; + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity))); + --tw-text-opacity: 0.2; + } + + .btn:hover { + --tw-border-opacity: 1; + border-color: var(--fallback-b3,oklch(var(--b3)/var(--tw-border-opacity))); + --tw-bg-opacity: 1; + background-color: var(--fallback-b3,oklch(var(--b3)/var(--tw-bg-opacity))); + } + + @supports (color: color-mix(in oklab, black, black)) { + .btn:hover { + background-color: color-mix( + in oklab, + oklch(var(--btn-color, var(--b2)) / var(--tw-bg-opacity, 1)) 90%, + black + ); + border-color: color-mix( + in oklab, + oklch(var(--btn-color, var(--b2)) / var(--tw-border-opacity, 1)) 90%, + black + ); + } + } + + @supports not (color: oklch(0% 0 0)) { + .btn:hover { + background-color: var(--btn-color, var(--fallback-b2)); + border-color: var(--btn-color, var(--fallback-b2)); + } + } + + .btn.glass:hover { + --glass-opacity: 25%; + --glass-border-opacity: 15%; + } + + .btn-outline:hover { + --tw-border-opacity: 1; + border-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-border-opacity))); + --tw-bg-opacity: 1; + background-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-bg-opacity))); + --tw-text-opacity: 1; + color: var(--fallback-b1,oklch(var(--b1)/var(--tw-text-opacity))); + } + + .btn-outline.btn-primary:hover { + --tw-text-opacity: 1; + color: var(--fallback-pc,oklch(var(--pc)/var(--tw-text-opacity))); + } + + @supports (color: color-mix(in oklab, black, black)) { + .btn-outline.btn-primary:hover { + background-color: color-mix(in oklab, var(--fallback-p,oklch(var(--p)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-p,oklch(var(--p)/1)) 90%, black); + } + } + + .btn-outline.btn-secondary:hover { + --tw-text-opacity: 1; + color: var(--fallback-sc,oklch(var(--sc)/var(--tw-text-opacity))); + } + + @supports (color: color-mix(in oklab, black, black)) { + .btn-outline.btn-secondary:hover { + background-color: color-mix(in oklab, var(--fallback-s,oklch(var(--s)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-s,oklch(var(--s)/1)) 90%, black); + } + } + + .btn-outline.btn-accent:hover { + --tw-text-opacity: 1; + color: var(--fallback-ac,oklch(var(--ac)/var(--tw-text-opacity))); + } + + @supports (color: color-mix(in oklab, black, black)) { + .btn-outline.btn-accent:hover { + background-color: color-mix(in oklab, var(--fallback-a,oklch(var(--a)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-a,oklch(var(--a)/1)) 90%, black); + } + } + + .btn-outline.btn-success:hover { + --tw-text-opacity: 1; + color: var(--fallback-suc,oklch(var(--suc)/var(--tw-text-opacity))); + } + + @supports (color: color-mix(in oklab, black, black)) { + .btn-outline.btn-success:hover { + background-color: color-mix(in oklab, var(--fallback-su,oklch(var(--su)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-su,oklch(var(--su)/1)) 90%, black); + } + } + + .btn-outline.btn-info:hover { + --tw-text-opacity: 1; + color: var(--fallback-inc,oklch(var(--inc)/var(--tw-text-opacity))); + } + + @supports (color: color-mix(in oklab, black, black)) { + .btn-outline.btn-info:hover { + background-color: color-mix(in oklab, var(--fallback-in,oklch(var(--in)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-in,oklch(var(--in)/1)) 90%, black); + } + } + + .btn-outline.btn-warning:hover { + --tw-text-opacity: 1; + color: var(--fallback-wac,oklch(var(--wac)/var(--tw-text-opacity))); + } + + @supports (color: color-mix(in oklab, black, black)) { + .btn-outline.btn-warning:hover { + background-color: color-mix(in oklab, var(--fallback-wa,oklch(var(--wa)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-wa,oklch(var(--wa)/1)) 90%, black); + } + } + + .btn-outline.btn-error:hover { + --tw-text-opacity: 1; + color: var(--fallback-erc,oklch(var(--erc)/var(--tw-text-opacity))); + } + + @supports (color: color-mix(in oklab, black, black)) { + .btn-outline.btn-error:hover { + background-color: color-mix(in oklab, var(--fallback-er,oklch(var(--er)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-er,oklch(var(--er)/1)) 90%, black); + } + } + + .btn-disabled:hover, + .btn[disabled]:hover, + .btn:disabled:hover { + --tw-border-opacity: 0; + background-color: var(--fallback-n,oklch(var(--n)/var(--tw-bg-opacity))); + --tw-bg-opacity: 0.2; + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity))); + --tw-text-opacity: 0.2; + } + + @supports (color: color-mix(in oklab, black, black)) { + .btn:is(input[type="checkbox"]:checked):hover, .btn:is(input[type="radio"]:checked):hover { + background-color: color-mix(in oklab, var(--fallback-p,oklch(var(--p)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-p,oklch(var(--p)/1)) 90%, black); + } + } + + .dropdown.dropdown-hover:hover .dropdown-content { + --tw-scale-x: 1; + --tw-scale-y: 1; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + } + + :where(.\!menu li:not(.menu-title, .disabled) > *:not(ul, details, .menu-title)):not(.active, .btn):hover, :where(.\!menu li:not(.menu-title, .disabled) > details > summary:not(.menu-title)):not(.active, .btn):hover { + cursor: pointer !important; + outline: 2px solid transparent !important; + outline-offset: 2px !important; + } + + @supports (color: oklch(0% 0 0)) { + :where(.\!menu li:not(.menu-title, .disabled) > *:not(ul, details, .menu-title)):not(.active, .btn):hover, :where(.\!menu li:not(.menu-title, .disabled) > details > summary:not(.menu-title)):not(.active, .btn):hover { + background-color: var(--fallback-bc,oklch(var(--bc)/0.1)) !important; + } + } + + :where(.menu li:not(.menu-title, .disabled) > *:not(ul, details, .menu-title)):not(.active, .btn):hover, :where(.menu li:not(.menu-title, .disabled) > details > summary:not(.menu-title)):not(.active, .btn):hover { + cursor: pointer; + outline: 2px solid transparent; + outline-offset: 2px; + } + + @supports (color: oklch(0% 0 0)) { + :where(.menu li:not(.menu-title, .disabled) > *:not(ul, details, .menu-title)):not(.active, .btn):hover, :where(.menu li:not(.menu-title, .disabled) > details > summary:not(.menu-title)):not(.active, .btn):hover { + background-color: var(--fallback-bc,oklch(var(--bc)/0.1)); + } + } + + :where(.\!menu li:not(.menu-title, .disabled) > *:not(ul, details, .menu-title)):not(.active, .btn):hover, :where(.\!menu li:not(.menu-title, .disabled) > details > summary:not(.menu-title)):not(.active, .btn):hover { + cursor: pointer !important; + outline: 2px solid transparent !important; + outline-offset: 2px !important; + } + + @supports (color: oklch(0% 0 0)) { + :where(.\!menu li:not(.menu-title, .disabled) > *:not(ul, details, .menu-title)):not(.active, .btn):hover, :where(.\!menu li:not(.menu-title, .disabled) > details > summary:not(.menu-title)):not(.active, .btn):hover { + background-color: var(--fallback-bc,oklch(var(--bc)/0.1)) !important; + } + } + + :where(.\!menu li:not(.menu-title, .disabled) > *:not(ul, details, .menu-title)):not(.active, .btn):hover, :where(.\!menu li:not(.menu-title, .disabled) > details > summary:not(.menu-title)):not(.active, .btn):hover { + cursor: pointer !important; + outline: 2px solid transparent !important; + outline-offset: 2px !important; + } + + @supports (color: oklch(0% 0 0)) { + :where(.\!menu li:not(.menu-title, .disabled) > *:not(ul, details, .menu-title)):not(.active, .btn):hover, :where(.\!menu li:not(.menu-title, .disabled) > details > summary:not(.menu-title)):not(.active, .btn):hover { + background-color: var(--fallback-bc,oklch(var(--bc)/0.1)) !important; + } + } + + :where(.\!menu li:not(.menu-title, .disabled) > *:not(ul, details, .menu-title)):not(.active, .btn):hover, :where(.\!menu li:not(.menu-title, .disabled) > details > summary:not(.menu-title)):not(.active, .btn):hover { + cursor: pointer !important; + outline: 2px solid transparent !important; + outline-offset: 2px !important; + } + + @supports (color: oklch(0% 0 0)) { + :where(.\!menu li:not(.menu-title, .disabled) > *:not(ul, details, .menu-title)):not(.active, .btn):hover, :where(.\!menu li:not(.menu-title, .disabled) > details > summary:not(.menu-title)):not(.active, .btn):hover { + background-color: var(--fallback-bc,oklch(var(--bc)/0.1)) !important; + } + } + + .tab[disabled], + .tab[disabled]:hover { + cursor: not-allowed; + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity))); + --tw-text-opacity: 0.2; + } +} + +.dropdown:is(details) summary::-webkit-details-marker { + display: none; +} + +.footer { + display: grid; + width: 100%; + grid-auto-flow: row; + place-items: start; + -moz-column-gap: 1rem; + column-gap: 1rem; + row-gap: 2.5rem; + font-size: 0.875rem; + line-height: 1.25rem; +} + +.footer > * { + display: grid; + place-items: start; + gap: 0.5rem; +} + +@media (min-width: 48rem) { + .footer { + grid-auto-flow: column; + } + + .footer-center { + grid-auto-flow: row dense; + } +} + +.form-control { + display: flex; + flex-direction: column; +} + +.label { + display: flex; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + align-items: center; + justify-content: space-between; + padding-left: 0.25rem; + padding-right: 0.25rem; + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} + +.hero { + display: grid; + width: 100%; + place-items: center; + background-size: cover; + background-position: center; +} + +.hero > * { + grid-column-start: 1; + grid-row-start: 1; +} + +.input { + flex-shrink: 1; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + height: 3rem; + padding-left: 1rem; + padding-right: 1rem; + font-size: 1rem; + line-height: 2; + line-height: 1.5rem; + border-radius: var(--rounded-btn, 0.5rem); + border-width: 1px; + border-color: transparent; + --tw-bg-opacity: 1; + background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity))); +} + +.input[type="number"]::-webkit-inner-spin-button, +.input-md[type="number"]::-webkit-inner-spin-button { + margin-top: -1rem; + margin-bottom: -1rem; + margin-inline-end: -1rem; +} + +.join { + display: inline-flex; + align-items: stretch; + border-radius: var(--rounded-btn, 0.5rem); +} + +.join :where(.join-item) { + border-start-end-radius: 0; + border-end-end-radius: 0; + border-end-start-radius: 0; + border-start-start-radius: 0; +} + +.join .join-item:not(:first-child):not(:last-child), + .join *:not(:first-child):not(:last-child) .join-item { + border-start-end-radius: 0; + border-end-end-radius: 0; + border-end-start-radius: 0; + border-start-start-radius: 0; +} + +.join .join-item:first-child:not(:last-child), + .join *:first-child:not(:last-child) .join-item { + border-start-end-radius: 0; + border-end-end-radius: 0; +} + +.join .dropdown .join-item:first-child:not(:last-child), + .join *:first-child:not(:last-child) .dropdown .join-item { + border-start-end-radius: inherit; + border-end-end-radius: inherit; +} + +.join :where(.join-item:first-child:not(:last-child)), + .join :where(*:first-child:not(:last-child) .join-item) { + border-end-start-radius: inherit; + border-start-start-radius: inherit; +} + +.join .join-item:last-child:not(:first-child), + .join *:last-child:not(:first-child) .join-item { + border-end-start-radius: 0; + border-start-start-radius: 0; +} + +.join :where(.join-item:last-child:not(:first-child)), + .join :where(*:last-child:not(:first-child) .join-item) { + border-start-end-radius: inherit; + border-end-end-radius: inherit; +} + +@supports not selector(:has(*)) { + :where(.join *) { + border-radius: inherit; + } +} + +@supports selector(:has(*)) { + :where(.join *:has(.join-item)) { + border-radius: inherit; + } +} + +.kbd { + display: inline-flex; + align-items: center; + justify-content: center; + border-radius: var(--rounded-btn, 0.5rem); + border-width: 1px; + border-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-border-opacity))); + --tw-border-opacity: 0.2; + --tw-bg-opacity: 1; + background-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-bg-opacity))); + padding-left: 0.5rem; + padding-right: 0.5rem; + --tw-text-opacity: 1; + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity))); + border-bottom-width: 2px; + min-height: 2.2em; + min-width: 2.2em; +} + +.link { + cursor: pointer; + text-decoration-line: underline; +} + +.mask { + -webkit-mask-size: contain; + mask-size: contain; + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + -webkit-mask-position: center; + mask-position: center; +} + +.\!menu { + display: flex !important; + flex-direction: column !important; + flex-wrap: wrap !important; + font-size: 0.875rem !important; + line-height: 1.25rem !important; + padding: 0.5rem !important; +} + +.menu { + display: flex; + flex-direction: column; + flex-wrap: wrap; + font-size: 0.875rem; + line-height: 1.25rem; + padding: 0.5rem; +} + +.\!menu :where(li ul) { + position: relative !important; + white-space: nowrap !important; + margin-inline-start: 1rem !important; + padding-inline-start: 0.5rem !important; +} + +.menu :where(li ul) { + position: relative; + white-space: nowrap; + margin-inline-start: 1rem; + padding-inline-start: 0.5rem; +} + +.\!menu :where(li:not(.menu-title) > *:not(ul, details, .menu-title, .btn)), .\!menu :where(li:not(.menu-title) > details > summary:not(.menu-title)) { + display: grid !important; + grid-auto-flow: column !important; + align-content: flex-start !important; + align-items: center !important; + gap: 0.5rem !important; + grid-auto-columns: minmax(auto, max-content) auto max-content !important; + -webkit-user-select: none !important; + -moz-user-select: none !important; + user-select: none !important; +} + +.menu :where(li:not(.menu-title) > *:not(ul, details, .menu-title, .btn)), .menu :where(li:not(.menu-title) > details > summary:not(.menu-title)) { + display: grid; + grid-auto-flow: column; + align-content: flex-start; + align-items: center; + gap: 0.5rem; + grid-auto-columns: minmax(auto, max-content) auto max-content; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; +} + +.\!menu :where(li:not(.menu-title) > *:not(ul, details, .menu-title, .btn)), .\!menu :where(li:not(.menu-title) > details > summary:not(.menu-title)) { + display: grid !important; + grid-auto-flow: column !important; + align-content: flex-start !important; + align-items: center !important; + gap: 0.5rem !important; + grid-auto-columns: minmax(auto, max-content) auto max-content !important; + -webkit-user-select: none !important; + -moz-user-select: none !important; + user-select: none !important; +} + +.\!menu li.disabled { + cursor: not-allowed !important; + -webkit-user-select: none !important; + -moz-user-select: none !important; + user-select: none !important; + color: var(--fallback-bc,oklch(var(--bc)/0.3)) !important; +} + +.menu li.disabled { + cursor: not-allowed; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + color: var(--fallback-bc,oklch(var(--bc)/0.3)); +} + +.\!menu :where(li > .menu-dropdown:not(.menu-dropdown-show)) { + display: none !important; +} + +.menu :where(li > .menu-dropdown:not(.menu-dropdown-show)) { + display: none; +} + +:where(.\!menu li) { + position: relative !important; + display: flex !important; + flex-shrink: 0 !important; + flex-direction: column !important; + flex-wrap: wrap !important; + align-items: stretch !important; +} + +:where(.menu li) { + position: relative; + display: flex; + flex-shrink: 0; + flex-direction: column; + flex-wrap: wrap; + align-items: stretch; +} + +:where(.\!menu li) .badge { + justify-self: end !important; +} + +:where(.menu li) .badge { + justify-self: end; +} + +.modal { + pointer-events: none; + position: fixed; + inset: 0px; + margin: 0px; + display: grid; + height: 100%; + max-height: none; + width: 100%; + max-width: none; + justify-items: center; + padding: 0px; + opacity: 0; + overscroll-behavior: contain; + z-index: 999; + background-color: transparent; + color: inherit; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0, 0, 0.2, 1); + transition-property: transform, opacity, visibility; + overflow-y: hidden; +} + +:where(.modal) { + align-items: center; +} + +.modal-open, +.modal:target, +.modal-toggle:checked + .modal, +.modal[open] { + pointer-events: auto; + visibility: visible; + opacity: 1; +} + +:root:has(:is(.modal-open, .modal:target, .modal-toggle:checked + .modal, .modal[open])) { + overflow: hidden; + scrollbar-gutter: stable; +} + +.navbar { + display: flex; + align-items: center; + padding: var(--navbar-padding, 0.5rem); + min-height: 4rem; + width: 100%; +} + +:where(.navbar > *:not(script, style)) { + display: inline-flex; + align-items: center; +} + +.progress { + position: relative; + width: 100%; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + overflow: hidden; + height: 0.5rem; + border-radius: var(--rounded-box, 1rem); + background-color: var(--fallback-bc,oklch(var(--bc)/0.2)); +} + +.radio { + flex-shrink: 0; + --chkbg: var(--bc); + height: 1.5rem; + width: 1.5rem; + cursor: pointer; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + border-radius: 9999px; + border-width: 1px; + border-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-border-opacity))); + --tw-border-opacity: 0.2; +} + +.\!range { + height: 1.5rem !important; + width: 100% !important; + cursor: pointer !important; + -moz-appearance: none !important; + appearance: none !important; + -webkit-appearance: none !important; + --range-shdw: var(--fallback-bc,oklch(var(--bc)/1)) !important; + overflow: hidden !important; + border-radius: var(--rounded-box, 1rem) !important; + background-color: transparent !important; +} + +.range { + height: 1.5rem; + width: 100%; + cursor: pointer; + -moz-appearance: none; + appearance: none; + -webkit-appearance: none; + --range-shdw: var(--fallback-bc,oklch(var(--bc)/1)); + overflow: hidden; + border-radius: var(--rounded-box, 1rem); + background-color: transparent; +} + +.\!range:focus { + outline: none !important; +} + +.range:focus { + outline: none; +} + +.select { + display: inline-flex; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + height: 3rem; + min-height: 3rem; + padding-inline-start: 1rem; + padding-inline-end: 2.5rem; + font-size: 0.875rem; + line-height: 1.25rem; + line-height: 2; + border-radius: var(--rounded-btn, 0.5rem); + border-width: 1px; + border-color: transparent; + --tw-bg-opacity: 1; + background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity))); + background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), + linear-gradient(135deg, currentColor 50%, transparent 50%); + background-position: calc(100% - 20px) calc(1px + 50%), + calc(100% - 16.1px) calc(1px + 50%); + background-size: 4px 4px, + 4px 4px; + background-repeat: no-repeat; +} + +.select[multiple] { + height: auto; +} + +.stack { + display: inline-grid; + place-items: center; + align-items: flex-end; +} + +.stack > * { + grid-column-start: 1; + grid-row-start: 1; + transform: translateY(10%) scale(0.9); + z-index: 1; + width: 100%; + opacity: 0.6; +} + +.stack > *:nth-child(2) { + transform: translateY(5%) scale(0.95); + z-index: 2; + opacity: 0.8; +} + +.stack > *:nth-child(1) { + transform: translateY(0) scale(1); + z-index: 3; + opacity: 1; +} + +.stats { + display: inline-grid; + border-radius: var(--rounded-box, 1rem); + --tw-bg-opacity: 1; + background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity))); + --tw-text-opacity: 1; + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity))); +} + +:where(.stats) { + grid-auto-flow: column; + overflow-x: auto; +} + +.stat { + display: inline-grid; + width: 100%; + grid-template-columns: repeat(1, 1fr); + -moz-column-gap: 1rem; + column-gap: 1rem; + border-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-border-opacity))); + --tw-border-opacity: 0.1; + padding-left: 1.5rem; + padding-right: 1.5rem; + padding-top: 1rem; + padding-bottom: 1rem; +} + +.steps { + display: inline-grid; + grid-auto-flow: column; + overflow: hidden; + overflow-x: auto; + counter-reset: step; + grid-auto-columns: 1fr; +} + +.steps .step { + display: grid; + grid-template-columns: repeat(1, minmax(0, 1fr)); + grid-template-columns: auto; + grid-template-rows: repeat(2, minmax(0, 1fr)); + grid-template-rows: 40px 1fr; + place-items: center; + text-align: center; + min-width: 4rem; +} + +.swap { + position: relative; + display: inline-grid; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + place-content: center; + cursor: pointer; +} + +.swap > * { + grid-column-start: 1; + grid-row-start: 1; + transition-duration: 300ms; + transition-timing-function: cubic-bezier(0, 0, 0.2, 1); + transition-property: transform, opacity; +} + +.swap input { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + +.swap .swap-on, +.swap .swap-indeterminate, +.swap input:indeterminate ~ .swap-on { + opacity: 0; +} + +.swap input:checked ~ .swap-off, +.swap-active .swap-off, +.swap input:indeterminate ~ .swap-off { + opacity: 0; +} + +.swap input:checked ~ .swap-on, +.swap-active .swap-on, +.swap input:indeterminate ~ .swap-indeterminate { + opacity: 1; +} + +.tabs { + display: grid; + align-items: flex-end; +} + +.tabs-lifted:has(.tab-content[class^="rounded-"]) + .tab:first-child:not(:is(.tab-active, [aria-selected="true"])), .tabs-lifted:has(.tab-content[class*=" rounded-"]) + .tab:first-child:not(:is(.tab-active, [aria-selected="true"])) { + border-bottom-color: transparent; +} + +.tab { + position: relative; + grid-row-start: 1; + display: inline-flex; + height: 2rem; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + flex-wrap: wrap; + align-items: center; + justify-content: center; + text-align: center; + font-size: 0.875rem; + line-height: 1.25rem; + line-height: 2; + --tab-padding: 1rem; + --tw-text-opacity: 0.5; + --tab-color: var(--fallback-bc,oklch(var(--bc)/1)); + --tab-bg: var(--fallback-b1,oklch(var(--b1)/1)); + --tab-border-color: var(--fallback-b3,oklch(var(--b3)/1)); + color: var(--tab-color); + padding-inline-start: var(--tab-padding, 1rem); + padding-inline-end: var(--tab-padding, 1rem); +} + +.tab:is(input[type="radio"]) { + width: auto; + border-bottom-right-radius: 0px; + border-bottom-left-radius: 0px; +} + +.tab:is(input[type="radio"]):after { + --tw-content: attr(aria-label); + content: var(--tw-content); +} + +.tab:not(input):empty { + cursor: default; + grid-column-start: span 9999; +} + +:checked + .tab-content:nth-child(2), + :is(.tab-active, [aria-selected="true"]) + .tab-content:nth-child(2) { + border-start-start-radius: 0px; +} + +input.tab:checked + .tab-content, +:is(.tab-active, [aria-selected="true"]) + .tab-content { + display: block; +} + +.table { + position: relative; + width: 100%; + border-radius: var(--rounded-box, 1rem); + text-align: left; + font-size: 0.875rem; + line-height: 1.25rem; +} + +.table :where(.table-pin-rows thead tr) { + position: sticky; + top: 0px; + z-index: 1; + --tw-bg-opacity: 1; + background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity))); +} + +.table :where(.table-pin-rows tfoot tr) { + position: sticky; + bottom: 0px; + z-index: 1; + --tw-bg-opacity: 1; + background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity))); +} + +.table :where(.table-pin-cols tr th) { + position: sticky; + left: 0px; + right: 0px; + --tw-bg-opacity: 1; + background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity))); +} + +.textarea { + min-height: 3rem; + flex-shrink: 1; + padding-left: 1rem; + padding-right: 1rem; + padding-top: 0.5rem; + padding-bottom: 0.5rem; + font-size: 0.875rem; + line-height: 1.25rem; + line-height: 2; + border-radius: var(--rounded-btn, 0.5rem); + border-width: 1px; + border-color: transparent; + --tw-bg-opacity: 1; + background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity))); +} + +.toast { + position: fixed; + display: flex; + min-width: -moz-fit-content; + min-width: fit-content; + flex-direction: column; + white-space: nowrap; + gap: 0.5rem; + padding: 1rem; +} + +.toggle { + flex-shrink: 0; + --tglbg: var(--fallback-b1,oklch(var(--b1)/1)); + --handleoffset: 1.5rem; + --handleoffsetcalculator: calc(var(--handleoffset) * -1); + --togglehandleborder: 0 0; + height: 1.5rem; + width: 3rem; + cursor: pointer; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + border-radius: var(--rounded-badge, 1.9rem); + border-width: 1px; + border-color: currentColor; + background-color: currentColor; + color: var(--fallback-bc,oklch(var(--bc)/0.5)); + transition: background, + box-shadow var(--animation-input, 0.2s) ease-out; + box-shadow: var(--handleoffsetcalculator) 0 0 2px var(--tglbg) inset, + 0 0 0 2px var(--tglbg) inset, + var(--togglehandleborder); +} + +.alert-info { + border-color: var(--fallback-in,oklch(var(--in)/0.2)); + --tw-text-opacity: 1; + color: var(--fallback-inc,oklch(var(--inc)/var(--tw-text-opacity))); + --alert-bg: var(--fallback-in,oklch(var(--in)/1)); + --alert-bg-mix: var(--fallback-b1,oklch(var(--b1)/1)); +} + +.alert-success { + border-color: var(--fallback-su,oklch(var(--su)/0.2)); + --tw-text-opacity: 1; + color: var(--fallback-suc,oklch(var(--suc)/var(--tw-text-opacity))); + --alert-bg: var(--fallback-su,oklch(var(--su)/1)); + --alert-bg-mix: var(--fallback-b1,oklch(var(--b1)/1)); +} + +.alert-warning { + border-color: var(--fallback-wa,oklch(var(--wa)/0.2)); + --tw-text-opacity: 1; + color: var(--fallback-wac,oklch(var(--wac)/var(--tw-text-opacity))); + --alert-bg: var(--fallback-wa,oklch(var(--wa)/1)); + --alert-bg-mix: var(--fallback-b1,oklch(var(--b1)/1)); +} + +.alert-error { + border-color: var(--fallback-er,oklch(var(--er)/0.2)); + --tw-text-opacity: 1; + color: var(--fallback-erc,oklch(var(--erc)/var(--tw-text-opacity))); + --alert-bg: var(--fallback-er,oklch(var(--er)/1)); + --alert-bg-mix: var(--fallback-b1,oklch(var(--b1)/1)); +} + +.avatar-group :where(.avatar) { + overflow: hidden; + border-radius: 9999px; + border-width: 4px; + --tw-border-opacity: 1; + border-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-border-opacity))); +} + +.badge-primary { + --tw-border-opacity: 1; + border-color: var(--fallback-p,oklch(var(--p)/var(--tw-border-opacity))); + --tw-bg-opacity: 1; + background-color: var(--fallback-p,oklch(var(--p)/var(--tw-bg-opacity))); + --tw-text-opacity: 1; + color: var(--fallback-pc,oklch(var(--pc)/var(--tw-text-opacity))); +} + +.badge-info { + border-color: transparent; + --tw-bg-opacity: 1; + background-color: var(--fallback-in,oklch(var(--in)/var(--tw-bg-opacity))); + --tw-text-opacity: 1; + color: var(--fallback-inc,oklch(var(--inc)/var(--tw-text-opacity))); +} + +.badge-warning { + border-color: transparent; + --tw-bg-opacity: 1; + background-color: var(--fallback-wa,oklch(var(--wa)/var(--tw-bg-opacity))); + --tw-text-opacity: 1; + color: var(--fallback-wac,oklch(var(--wac)/var(--tw-text-opacity))); +} + +.badge-outline.badge-primary { + --tw-text-opacity: 1; + color: var(--fallback-p,oklch(var(--p)/var(--tw-text-opacity))); +} + +.badge-outline.badge-info { + --tw-text-opacity: 1; + color: var(--fallback-in,oklch(var(--in)/var(--tw-text-opacity))); +} + +.badge-outline.badge-warning { + --tw-text-opacity: 1; + color: var(--fallback-wa,oklch(var(--wa)/var(--tw-text-opacity))); +} + +.btm-nav > *:where(.\!active) { + border-top-width: 2px !important; + --tw-bg-opacity: 1 !important; + background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity))) !important; +} + +.btm-nav > *:where(.active) { + border-top-width: 2px; + --tw-bg-opacity: 1; + background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity))); +} + +.btm-nav > *.disabled, + .btm-nav > *[disabled] { + pointer-events: none; + --tw-border-opacity: 0; + background-color: var(--fallback-n,oklch(var(--n)/var(--tw-bg-opacity))); + --tw-bg-opacity: 0.1; + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity))); + --tw-text-opacity: 0.2; +} + +.btm-nav > * .label { + font-size: 1rem; + line-height: 1.5rem; +} + +@media (prefers-reduced-motion: no-preference) { + .btn { + animation: button-pop var(--animation-btn, 0.25s) ease-out; + } +} + +.btn:active:hover, + .btn:active:focus { + animation: button-pop 0s ease-out; + transform: scale(var(--btn-focus-scale, 0.97)); +} + +@supports not (color: oklch(0% 0 0)) { + .btn { + background-color: var(--btn-color, var(--fallback-b2)); + border-color: var(--btn-color, var(--fallback-b2)); + } + + .btn-primary { + --btn-color: var(--fallback-p); + } + + .btn-secondary { + --btn-color: var(--fallback-s); + } + + .btn-accent { + --btn-color: var(--fallback-a); + } + + .btn-warning { + --btn-color: var(--fallback-wa); + } +} + +@supports (color: color-mix(in oklab, black, black)) { + .btn-outline.btn-primary.btn-active { + background-color: color-mix(in oklab, var(--fallback-p,oklch(var(--p)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-p,oklch(var(--p)/1)) 90%, black); + } + + .btn-outline.btn-secondary.btn-active { + background-color: color-mix(in oklab, var(--fallback-s,oklch(var(--s)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-s,oklch(var(--s)/1)) 90%, black); + } + + .btn-outline.btn-accent.btn-active { + background-color: color-mix(in oklab, var(--fallback-a,oklch(var(--a)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-a,oklch(var(--a)/1)) 90%, black); + } + + .btn-outline.btn-success.btn-active { + background-color: color-mix(in oklab, var(--fallback-su,oklch(var(--su)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-su,oklch(var(--su)/1)) 90%, black); + } + + .btn-outline.btn-info.btn-active { + background-color: color-mix(in oklab, var(--fallback-in,oklch(var(--in)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-in,oklch(var(--in)/1)) 90%, black); + } + + .btn-outline.btn-warning.btn-active { + background-color: color-mix(in oklab, var(--fallback-wa,oklch(var(--wa)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-wa,oklch(var(--wa)/1)) 90%, black); + } + + .btn-outline.btn-error.btn-active { + background-color: color-mix(in oklab, var(--fallback-er,oklch(var(--er)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-er,oklch(var(--er)/1)) 90%, black); + } +} + +.btn:focus-visible { + outline-style: solid; + outline-width: 2px; + outline-offset: 2px; +} + +.btn-primary { + --tw-text-opacity: 1; + color: var(--fallback-pc,oklch(var(--pc)/var(--tw-text-opacity))); + outline-color: var(--fallback-p,oklch(var(--p)/1)); +} + +@supports (color: oklch(0% 0 0)) { + .btn-primary { + --btn-color: var(--p); + } + + .btn-secondary { + --btn-color: var(--s); + } + + .btn-accent { + --btn-color: var(--a); + } + + .btn-warning { + --btn-color: var(--wa); + } +} + +.btn-secondary { + --tw-text-opacity: 1; + color: var(--fallback-sc,oklch(var(--sc)/var(--tw-text-opacity))); + outline-color: var(--fallback-s,oklch(var(--s)/1)); +} + +.btn-accent { + --tw-text-opacity: 1; + color: var(--fallback-ac,oklch(var(--ac)/var(--tw-text-opacity))); + outline-color: var(--fallback-a,oklch(var(--a)/1)); +} + +.btn-warning { + --tw-text-opacity: 1; + color: var(--fallback-wac,oklch(var(--wac)/var(--tw-text-opacity))); + outline-color: var(--fallback-wa,oklch(var(--wa)/1)); +} + +.btn.glass { + --tw-shadow: 0 0 #0000; + --tw-shadow-colored: 0 0 #0000; + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); + outline-color: currentColor; +} + +.btn.glass.btn-active { + --glass-opacity: 25%; + --glass-border-opacity: 15%; +} + +.btn-outline { + border-color: currentColor; + background-color: transparent; + --tw-text-opacity: 1; + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity))); + --tw-shadow: 0 0 #0000; + --tw-shadow-colored: 0 0 #0000; + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} + +.btn-outline.btn-active { + --tw-border-opacity: 1; + border-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-border-opacity))); + --tw-bg-opacity: 1; + background-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-bg-opacity))); + --tw-text-opacity: 1; + color: var(--fallback-b1,oklch(var(--b1)/var(--tw-text-opacity))); +} + +.btn-outline.btn-primary { + --tw-text-opacity: 1; + color: var(--fallback-p,oklch(var(--p)/var(--tw-text-opacity))); +} + +.btn-outline.btn-primary.btn-active { + --tw-text-opacity: 1; + color: var(--fallback-pc,oklch(var(--pc)/var(--tw-text-opacity))); +} + +.btn-outline.btn-secondary { + --tw-text-opacity: 1; + color: var(--fallback-s,oklch(var(--s)/var(--tw-text-opacity))); +} + +.btn-outline.btn-secondary.btn-active { + --tw-text-opacity: 1; + color: var(--fallback-sc,oklch(var(--sc)/var(--tw-text-opacity))); +} + +.btn-outline.btn-accent { + --tw-text-opacity: 1; + color: var(--fallback-a,oklch(var(--a)/var(--tw-text-opacity))); +} + +.btn-outline.btn-accent.btn-active { + --tw-text-opacity: 1; + color: var(--fallback-ac,oklch(var(--ac)/var(--tw-text-opacity))); +} + +.btn-outline.btn-success { + --tw-text-opacity: 1; + color: var(--fallback-su,oklch(var(--su)/var(--tw-text-opacity))); +} + +.btn-outline.btn-success.btn-active { + --tw-text-opacity: 1; + color: var(--fallback-suc,oklch(var(--suc)/var(--tw-text-opacity))); +} + +.btn-outline.btn-info { + --tw-text-opacity: 1; + color: var(--fallback-in,oklch(var(--in)/var(--tw-text-opacity))); +} + +.btn-outline.btn-info.btn-active { + --tw-text-opacity: 1; + color: var(--fallback-inc,oklch(var(--inc)/var(--tw-text-opacity))); +} + +.btn-outline.btn-warning { + --tw-text-opacity: 1; + color: var(--fallback-wa,oklch(var(--wa)/var(--tw-text-opacity))); +} + +.btn-outline.btn-warning.btn-active { + --tw-text-opacity: 1; + color: var(--fallback-wac,oklch(var(--wac)/var(--tw-text-opacity))); +} + +.btn-outline.btn-error { + --tw-text-opacity: 1; + color: var(--fallback-er,oklch(var(--er)/var(--tw-text-opacity))); +} + +.btn-outline.btn-error.btn-active { + --tw-text-opacity: 1; + color: var(--fallback-erc,oklch(var(--erc)/var(--tw-text-opacity))); +} + +.btn.btn-disabled, + .btn[disabled], + .btn:disabled { + --tw-border-opacity: 0; + background-color: var(--fallback-n,oklch(var(--n)/var(--tw-bg-opacity))); + --tw-bg-opacity: 0.2; + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity))); + --tw-text-opacity: 0.2; +} + +.btn:is(input[type="checkbox"]:checked), +.btn:is(input[type="radio"]:checked) { + --tw-border-opacity: 1; + border-color: var(--fallback-p,oklch(var(--p)/var(--tw-border-opacity))); + --tw-bg-opacity: 1; + background-color: var(--fallback-p,oklch(var(--p)/var(--tw-bg-opacity))); + --tw-text-opacity: 1; + color: var(--fallback-pc,oklch(var(--pc)/var(--tw-text-opacity))); +} + +.btn:is(input[type="checkbox"]:checked):focus-visible, .btn:is(input[type="radio"]:checked):focus-visible { + outline-color: var(--fallback-p,oklch(var(--p)/1)); +} + +@keyframes button-pop { + 0% { + transform: scale(var(--btn-focus-scale, 0.98)); + } + + 40% { + transform: scale(1.02); + } + + 100% { + transform: scale(1); + } +} + +.card :where(figure:first-child) { + overflow: hidden; + border-start-start-radius: inherit; + border-start-end-radius: inherit; + border-end-start-radius: unset; + border-end-end-radius: unset; +} + +.card :where(figure:last-child) { + overflow: hidden; + border-start-start-radius: unset; + border-start-end-radius: unset; + border-end-start-radius: inherit; + border-end-end-radius: inherit; +} + +.card:focus-visible { + outline: 2px solid currentColor; + outline-offset: 2px; +} + +.card.bordered { + border-width: 1px; + --tw-border-opacity: 1; + border-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-border-opacity))); +} + +.card.compact .card-body { + padding: 1rem; + font-size: 0.875rem; + line-height: 1.25rem; +} + +.card-title { + display: flex; + align-items: center; + gap: 0.5rem; + font-size: 1.25rem; + line-height: 1.75rem; + font-weight: 600; +} + +.card.image-full :where(figure) { + overflow: hidden; + border-radius: inherit; +} + +.carousel::-webkit-scrollbar { + display: none; +} + +.checkbox:focus { + box-shadow: none; +} + +.checkbox:focus-visible { + outline-style: solid; + outline-width: 2px; + outline-offset: 2px; + outline-color: var(--fallback-bc,oklch(var(--bc)/1)); +} + +.checkbox:disabled { + border-width: 0px; + cursor: not-allowed; + border-color: transparent; + --tw-bg-opacity: 1; + background-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-bg-opacity))); + opacity: 0.2; +} + +.checkbox:checked, + .checkbox[aria-checked="true"] { + background-repeat: no-repeat; + animation: checkmark var(--animation-input, 0.2s) ease-out; + background-color: var(--chkbg); + background-image: linear-gradient(-45deg, transparent 65%, var(--chkbg) 65.99%), + linear-gradient(45deg, transparent 75%, var(--chkbg) 75.99%), + linear-gradient(-45deg, var(--chkbg) 40%, transparent 40.99%), + linear-gradient( + 45deg, + var(--chkbg) 30%, + var(--chkfg) 30.99%, + var(--chkfg) 40%, + transparent 40.99% + ), + linear-gradient(-45deg, var(--chkfg) 50%, var(--chkbg) 50.99%); +} + +.checkbox:indeterminate { + --tw-bg-opacity: 1; + background-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-bg-opacity))); + background-repeat: no-repeat; + animation: checkmark var(--animation-input, 0.2s) ease-out; + background-image: linear-gradient(90deg, transparent 80%, var(--chkbg) 80%), + linear-gradient(-90deg, transparent 80%, var(--chkbg) 80%), + linear-gradient(0deg, var(--chkbg) 43%, var(--chkfg) 43%, var(--chkfg) 57%, var(--chkbg) 57%); +} + +.checkbox-primary { + --chkbg: var(--fallback-p,oklch(var(--p)/1)); + --chkfg: var(--fallback-pc,oklch(var(--pc)/1)); + --tw-border-opacity: 1; + border-color: var(--fallback-p,oklch(var(--p)/var(--tw-border-opacity))); +} + +.checkbox-primary:focus-visible { + outline-color: var(--fallback-p,oklch(var(--p)/1)); +} + +.checkbox-primary:checked, + .checkbox-primary[aria-checked="true"] { + --tw-border-opacity: 1; + border-color: var(--fallback-p,oklch(var(--p)/var(--tw-border-opacity))); + --tw-bg-opacity: 1; + background-color: var(--fallback-p,oklch(var(--p)/var(--tw-bg-opacity))); + --tw-text-opacity: 1; + color: var(--fallback-pc,oklch(var(--pc)/var(--tw-text-opacity))); +} + +.checkbox-secondary { + --chkbg: var(--fallback-s,oklch(var(--s)/1)); + --chkfg: var(--fallback-sc,oklch(var(--sc)/1)); + --tw-border-opacity: 1; + border-color: var(--fallback-s,oklch(var(--s)/var(--tw-border-opacity))); +} + +.checkbox-secondary:focus-visible { + outline-color: var(--fallback-s,oklch(var(--s)/1)); +} + +.checkbox-secondary:checked, + .checkbox-secondary[aria-checked="true"] { + --tw-border-opacity: 1; + border-color: var(--fallback-s,oklch(var(--s)/var(--tw-border-opacity))); + --tw-bg-opacity: 1; + background-color: var(--fallback-s,oklch(var(--s)/var(--tw-bg-opacity))); + --tw-text-opacity: 1; + color: var(--fallback-sc,oklch(var(--sc)/var(--tw-text-opacity))); +} + +@keyframes checkmark { + 0% { + background-position-y: 5px; + } + + 50% { + background-position-y: -2px; + } + + 100% { + background-position-y: 0; + } +} + +details.collapse { + width: 100%; +} + +details.collapse summary { + position: relative; + display: block; + outline: 2px solid transparent; + outline-offset: 2px; +} + +details.collapse summary::-webkit-details-marker { + display: none; +} + +.collapse:focus-visible { + outline-style: solid; + outline-width: 2px; + outline-offset: 2px; + outline-color: var(--fallback-bc,oklch(var(--bc)/1)); +} + +.collapse:has(.collapse-title:focus-visible), +.collapse:has(> input[type="checkbox"]:focus-visible), +.collapse:has(> input[type="radio"]:focus-visible) { + outline-style: solid; + outline-width: 2px; + outline-offset: 2px; + outline-color: var(--fallback-bc,oklch(var(--bc)/1)); +} + +.collapse:not(.collapse-open):not(.collapse-close) > input[type="checkbox"], +.collapse:not(.collapse-open):not(.collapse-close) > input[type="radio"]:not(:checked), +.collapse:not(.collapse-open):not(.collapse-close) > .collapse-title { + cursor: pointer; +} + +.collapse:focus:not(.collapse-open):not(.collapse-close):not(.collapse[open]) > .collapse-title { + cursor: unset; +} + +:where(.collapse > input[type="checkbox"]), +:where(.collapse > input[type="radio"]) { + z-index: 1; +} + +.collapse-title, +:where(.collapse > input[type="checkbox"]), +:where(.collapse > input[type="radio"]) { + width: 100%; + padding: 1rem; + padding-inline-end: 3rem; + min-height: 3.75rem; + transition: background-color 0.2s ease-out; +} + +.collapse[open] > :where(.collapse-content), +.collapse-open > :where(.collapse-content), +.collapse:focus:not(.collapse-close) > :where(.collapse-content), +.collapse:not(.collapse-close) > :where(input[type="checkbox"]:checked ~ .collapse-content), +.collapse:not(.collapse-close) > :where(input[type="radio"]:checked ~ .collapse-content) { + padding-bottom: 1rem; + transition: padding 0.2s ease-out, + background-color 0.2s ease-out; +} + +.collapse[open].collapse-arrow > .collapse-title:after, +.collapse-open.collapse-arrow > .collapse-title:after, +.collapse-arrow:focus:not(.collapse-close) > .collapse-title:after, +.collapse-arrow:not(.collapse-close) > input[type="checkbox"]:checked ~ .collapse-title:after, +.collapse-arrow:not(.collapse-close) > input[type="radio"]:checked ~ .collapse-title:after { + --tw-translate-y: -50%; + --tw-rotate: 225deg; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.collapse[open].collapse-plus > .collapse-title:after, +.collapse-open.collapse-plus > .collapse-title:after, +.collapse-plus:focus:not(.collapse-close) > .collapse-title:after, +.collapse-plus:not(.collapse-close) > input[type="checkbox"]:checked ~ .collapse-title:after, +.collapse-plus:not(.collapse-close) > input[type="radio"]:checked ~ .collapse-title:after { + content: "−"; +} + +.drawer-toggle:checked ~ .drawer-side > .drawer-overlay { + background-color: #0006; +} + +.drawer-toggle:focus-visible ~ .drawer-content label.drawer-button { + outline-style: solid; + outline-width: 2px; + outline-offset: 2px; +} + +.dropdown.dropdown-open .dropdown-content, +.dropdown:focus .dropdown-content, +.dropdown:focus-within .dropdown-content { + --tw-scale-x: 1; + --tw-scale-y: 1; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.label-text { + font-size: 0.875rem; + line-height: 1.25rem; + --tw-text-opacity: 1; + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity))); +} + +.input input { + --tw-bg-opacity: 1; + background-color: var(--fallback-p,oklch(var(--p)/var(--tw-bg-opacity))); + background-color: transparent; +} + +.input input:focus { + outline: 2px solid transparent; + outline-offset: 2px; +} + +.input[list]::-webkit-calendar-picker-indicator { + line-height: 1em; +} + +.input-bordered { + border-color: var(--fallback-bc,oklch(var(--bc)/0.2)); +} + +.input:focus, + .input:focus-within { + box-shadow: none; + border-color: var(--fallback-bc,oklch(var(--bc)/0.2)); + outline-style: solid; + outline-width: 2px; + outline-offset: 2px; + outline-color: var(--fallback-bc,oklch(var(--bc)/0.2)); +} + +.input-success { + --tw-border-opacity: 1; + border-color: var(--fallback-su,oklch(var(--su)/var(--tw-border-opacity))); +} + +.input-success:focus, + .input-success:focus-within { + --tw-border-opacity: 1; + border-color: var(--fallback-su,oklch(var(--su)/var(--tw-border-opacity))); + outline-color: var(--fallback-su,oklch(var(--su)/1)); +} + +.input-error { + --tw-border-opacity: 1; + border-color: var(--fallback-er,oklch(var(--er)/var(--tw-border-opacity))); +} + +.input-error:focus, + .input-error:focus-within { + --tw-border-opacity: 1; + border-color: var(--fallback-er,oklch(var(--er)/var(--tw-border-opacity))); + outline-color: var(--fallback-er,oklch(var(--er)/1)); +} + +.input:has(> input[disabled]), + .input-disabled, + .input:disabled, + .input[disabled] { + cursor: not-allowed; + --tw-border-opacity: 1; + border-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-border-opacity))); + --tw-bg-opacity: 1; + background-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-bg-opacity))); + color: var(--fallback-bc,oklch(var(--bc)/0.4)); +} + +.input:has(> input[disabled])::-moz-placeholder, .input-disabled::-moz-placeholder, .input:disabled::-moz-placeholder, .input[disabled]::-moz-placeholder { + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-placeholder-opacity))); + --tw-placeholder-opacity: 0.2; +} + +.input:has(> input[disabled])::placeholder, + .input-disabled::placeholder, + .input:disabled::placeholder, + .input[disabled]::placeholder { + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-placeholder-opacity))); + --tw-placeholder-opacity: 0.2; +} + +.input:has(> input[disabled]) > input[disabled] { + cursor: not-allowed; +} + +.input::-webkit-date-and-time-value { + text-align: inherit; +} + +.join > :where(*:not(:first-child)) { + margin-top: 0px; + margin-bottom: 0px; + margin-inline-start: -1px; +} + +.join > :where(*:not(:first-child)):is(.btn) { + margin-inline-start: calc(var(--border-btn) * -1); +} + +.link:focus { + outline: 2px solid transparent; + outline-offset: 2px; +} + +.link:focus-visible { + outline: 2px solid currentColor; + outline-offset: 2px; +} + +.loading { + pointer-events: none; + display: inline-block; + aspect-ratio: 1 / 1; + width: 1.5rem; + background-color: currentColor; + -webkit-mask-size: 100%; + mask-size: 100%; + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + -webkit-mask-position: center; + mask-position: center; + -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='%23000' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cstyle%3E.spinner_V8m1%7Btransform-origin:center;animation:spinner_zKoa 2s linear infinite%7D.spinner_V8m1 circle%7Bstroke-linecap:round;animation:spinner_YpZS 1.5s ease-out infinite%7D%40keyframes spinner_zKoa%7B100%25%7Btransform:rotate(360deg)%7D%7D%40keyframes spinner_YpZS%7B0%25%7Bstroke-dasharray:0 150;stroke-dashoffset:0%7D47.5%25%7Bstroke-dasharray:42 150;stroke-dashoffset:-16%7D95%25%2C100%25%7Bstroke-dasharray:42 150;stroke-dashoffset:-59%7D%7D%3C%2Fstyle%3E%3Cg class='spinner_V8m1'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3'%3E%3C%2Fcircle%3E%3C%2Fg%3E%3C%2Fsvg%3E"); + mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='%23000' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cstyle%3E.spinner_V8m1%7Btransform-origin:center;animation:spinner_zKoa 2s linear infinite%7D.spinner_V8m1 circle%7Bstroke-linecap:round;animation:spinner_YpZS 1.5s ease-out infinite%7D%40keyframes spinner_zKoa%7B100%25%7Btransform:rotate(360deg)%7D%7D%40keyframes spinner_YpZS%7B0%25%7Bstroke-dasharray:0 150;stroke-dashoffset:0%7D47.5%25%7Bstroke-dasharray:42 150;stroke-dashoffset:-16%7D95%25%2C100%25%7Bstroke-dasharray:42 150;stroke-dashoffset:-59%7D%7D%3C%2Fstyle%3E%3Cg class='spinner_V8m1'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3'%3E%3C%2Fcircle%3E%3C%2Fg%3E%3C%2Fsvg%3E"); +} + +.loading-spinner { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='%23000' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cstyle%3E.spinner_V8m1%7Btransform-origin:center;animation:spinner_zKoa 2s linear infinite%7D.spinner_V8m1 circle%7Bstroke-linecap:round;animation:spinner_YpZS 1.5s ease-out infinite%7D%40keyframes spinner_zKoa%7B100%25%7Btransform:rotate(360deg)%7D%7D%40keyframes spinner_YpZS%7B0%25%7Bstroke-dasharray:0 150;stroke-dashoffset:0%7D47.5%25%7Bstroke-dasharray:42 150;stroke-dashoffset:-16%7D95%25%2C100%25%7Bstroke-dasharray:42 150;stroke-dashoffset:-59%7D%7D%3C%2Fstyle%3E%3Cg class='spinner_V8m1'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3'%3E%3C%2Fcircle%3E%3C%2Fg%3E%3C%2Fsvg%3E"); + mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='%23000' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cstyle%3E.spinner_V8m1%7Btransform-origin:center;animation:spinner_zKoa 2s linear infinite%7D.spinner_V8m1 circle%7Bstroke-linecap:round;animation:spinner_YpZS 1.5s ease-out infinite%7D%40keyframes spinner_zKoa%7B100%25%7Btransform:rotate(360deg)%7D%7D%40keyframes spinner_YpZS%7B0%25%7Bstroke-dasharray:0 150;stroke-dashoffset:0%7D47.5%25%7Bstroke-dasharray:42 150;stroke-dashoffset:-16%7D95%25%2C100%25%7Bstroke-dasharray:42 150;stroke-dashoffset:-59%7D%7D%3C%2Fstyle%3E%3Cg class='spinner_V8m1'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3'%3E%3C%2Fcircle%3E%3C%2Fg%3E%3C%2Fsvg%3E"); +} + +.loading-lg { + width: 2.5rem; +} + +:where(.\!menu li:empty) { + --tw-bg-opacity: 1 !important; + background-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-bg-opacity))) !important; + opacity: 0.1 !important; + margin: 0.5rem 1rem !important; + height: 1px !important; +} + +:where(.menu li:empty) { + --tw-bg-opacity: 1; + background-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-bg-opacity))); + opacity: 0.1; + margin: 0.5rem 1rem; + height: 1px; +} + +.\!menu :where(li ul):before { + position: absolute !important; + bottom: 0.75rem !important; + inset-inline-start: 0px !important; + top: 0.75rem !important; + width: 1px !important; + --tw-bg-opacity: 1 !important; + background-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-bg-opacity))) !important; + opacity: 0.1 !important; + content: "" !important; +} + +.menu :where(li ul):before { + position: absolute; + bottom: 0.75rem; + inset-inline-start: 0px; + top: 0.75rem; + width: 1px; + --tw-bg-opacity: 1; + background-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-bg-opacity))); + opacity: 0.1; + content: ""; +} + +.\!menu :where(li:not(.menu-title) > *:not(ul, details, .menu-title, .btn)), +.\!menu :where(li:not(.menu-title) > details > summary:not(.menu-title)) { + border-radius: var(--rounded-btn, 0.5rem) !important; + padding-left: 1rem !important; + padding-right: 1rem !important; + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + text-align: start !important; + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter !important; + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter !important; + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + transition-timing-function: cubic-bezier(0, 0, 0.2, 1) !important; + transition-duration: 200ms !important; + text-wrap: balance !important; +} + +.menu :where(li:not(.menu-title) > *:not(ul, details, .menu-title, .btn)), +.menu :where(li:not(.menu-title) > details > summary:not(.menu-title)) { + border-radius: var(--rounded-btn, 0.5rem); + padding-left: 1rem; + padding-right: 1rem; + padding-top: 0.5rem; + padding-bottom: 0.5rem; + text-align: start; + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter; + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-timing-function: cubic-bezier(0, 0, 0.2, 1); + transition-duration: 200ms; + text-wrap: balance; +} + +.\!menu :where(li:not(.menu-title) > *:not(ul, details, .menu-title, .btn)), +.\!menu :where(li:not(.menu-title) > details > summary:not(.menu-title)) { + border-radius: var(--rounded-btn, 0.5rem) !important; + padding-left: 1rem !important; + padding-right: 1rem !important; + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + text-align: start !important; + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter !important; + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter !important; + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + transition-timing-function: cubic-bezier(0, 0, 0.2, 1) !important; + transition-duration: 200ms !important; + text-wrap: balance !important; +} + +:where(.\!menu li:not(.menu-title, .disabled) > *:not(ul, details, .menu-title)):not(summary, .active, .btn).focus, :where(.\!menu li:not(.menu-title, .disabled) > *:not(ul, details, .menu-title)):not(summary, .active, .btn):focus, :where(.\!menu li:not(.menu-title, .disabled) > *:not(ul, details, .menu-title)):is(summary):not(.active, .btn):focus-visible, :where(.\!menu li:not(.menu-title, .disabled) > details > summary:not(.menu-title)):not(summary, .active, .btn).focus, :where(.\!menu li:not(.menu-title, .disabled) > details > summary:not(.menu-title)):not(summary, .active, .btn):focus, :where(.\!menu li:not(.menu-title, .disabled) > details > summary:not(.menu-title)):is(summary):not(.active, .btn):focus-visible { + cursor: pointer !important; + background-color: var(--fallback-bc,oklch(var(--bc)/0.1)) !important; + --tw-text-opacity: 1 !important; + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity))) !important; + outline: 2px solid transparent !important; + outline-offset: 2px !important; +} + +:where(.menu li:not(.menu-title, .disabled) > *:not(ul, details, .menu-title)):not(summary, .active, .btn).focus, :where(.menu li:not(.menu-title, .disabled) > *:not(ul, details, .menu-title)):not(summary, .active, .btn):focus, :where(.menu li:not(.menu-title, .disabled) > *:not(ul, details, .menu-title)):is(summary):not(.active, .btn):focus-visible, :where(.menu li:not(.menu-title, .disabled) > details > summary:not(.menu-title)):not(summary, .active, .btn).focus, :where(.menu li:not(.menu-title, .disabled) > details > summary:not(.menu-title)):not(summary, .active, .btn):focus, :where(.menu li:not(.menu-title, .disabled) > details > summary:not(.menu-title)):is(summary):not(.active, .btn):focus-visible { + cursor: pointer; + background-color: var(--fallback-bc,oklch(var(--bc)/0.1)); + --tw-text-opacity: 1; + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity))); + outline: 2px solid transparent; + outline-offset: 2px; +} + +:where(.\!menu li:not(.menu-title, .disabled) > *:not(ul, details, .menu-title)):not(summary, .active, .btn).focus, :where(.\!menu li:not(.menu-title, .disabled) > *:not(ul, details, .menu-title)):not(summary, .active, .btn):focus, :where(.\!menu li:not(.menu-title, .disabled) > *:not(ul, details, .menu-title)):is(summary):not(.active, .btn):focus-visible, :where(.\!menu li:not(.menu-title, .disabled) > details > summary:not(.menu-title)):not(summary, .active, .btn).focus, :where(.\!menu li:not(.menu-title, .disabled) > details > summary:not(.menu-title)):not(summary, .active, .btn):focus, :where(.\!menu li:not(.menu-title, .disabled) > details > summary:not(.menu-title)):is(summary):not(.active, .btn):focus-visible { + cursor: pointer !important; + background-color: var(--fallback-bc,oklch(var(--bc)/0.1)) !important; + --tw-text-opacity: 1 !important; + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity))) !important; + outline: 2px solid transparent !important; + outline-offset: 2px !important; +} + +.\!menu li > *:not(ul, .menu-title, details, .btn):active, +.\!menu li > *:not(ul, .menu-title, details, .btn).active, +.\!menu li > details > summary:active { + --tw-bg-opacity: 1 !important; + background-color: var(--fallback-n,oklch(var(--n)/var(--tw-bg-opacity))) !important; + --tw-text-opacity: 1 !important; + color: var(--fallback-nc,oklch(var(--nc)/var(--tw-text-opacity))) !important; +} + +.menu li > *:not(ul, .menu-title, details, .btn):active, +.menu li > *:not(ul, .menu-title, details, .btn).active, +.menu li > details > summary:active { + --tw-bg-opacity: 1; + background-color: var(--fallback-n,oklch(var(--n)/var(--tw-bg-opacity))); + --tw-text-opacity: 1; + color: var(--fallback-nc,oklch(var(--nc)/var(--tw-text-opacity))); +} + +.\!menu li > *:not(ul, .menu-title, details, .btn):active, +.\!menu li > *:not(ul, .menu-title, details, .btn).active, +.\!menu li > details > summary:active { + --tw-bg-opacity: 1 !important; + background-color: var(--fallback-n,oklch(var(--n)/var(--tw-bg-opacity))) !important; + --tw-text-opacity: 1 !important; + color: var(--fallback-nc,oklch(var(--nc)/var(--tw-text-opacity))) !important; +} + + +.menu li > *:not(ul, .menu-title, details, .btn).\!active { + --tw-bg-opacity: 1 !important; + background-color: var(--fallback-n,oklch(var(--n)/var(--tw-bg-opacity))) !important; + --tw-text-opacity: 1 !important; + color: var(--fallback-nc,oklch(var(--nc)/var(--tw-text-opacity))) !important; +} + +.\!menu li > *:not(ul, .menu-title, details, .btn):active, +.\!menu li > *:not(ul, .menu-title, details, .btn).active, +.\!menu li > details > summary:active { + --tw-bg-opacity: 1 !important; + background-color: var(--fallback-n,oklch(var(--n)/var(--tw-bg-opacity))) !important; + --tw-text-opacity: 1 !important; + color: var(--fallback-nc,oklch(var(--nc)/var(--tw-text-opacity))) !important; +} + +.\!menu :where(li > details > summary)::-webkit-details-marker { + display: none !important; +} + +.menu :where(li > details > summary)::-webkit-details-marker { + display: none; +} + +.\!menu :where(li > details > summary):after, +.\!menu :where(li > .menu-dropdown-toggle):after { + justify-self: end !important; + display: block !important; + margin-top: -0.5rem !important; + height: 0.5rem !important; + width: 0.5rem !important; + transform: rotate(45deg) !important; + transition-property: transform, margin-top !important; + transition-duration: 0.3s !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + content: "" !important; + transform-origin: 75% 75% !important; + box-shadow: 2px 2px !important; + pointer-events: none !important; +} + +.menu :where(li > details > summary):after, +.menu :where(li > .menu-dropdown-toggle):after { + justify-self: end; + display: block; + margin-top: -0.5rem; + height: 0.5rem; + width: 0.5rem; + transform: rotate(45deg); + transition-property: transform, margin-top; + transition-duration: 0.3s; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + content: ""; + transform-origin: 75% 75%; + box-shadow: 2px 2px; + pointer-events: none; +} + +.\!menu :where(li > details > summary):after, +.\!menu :where(li > .menu-dropdown-toggle):after { + justify-self: end !important; + display: block !important; + margin-top: -0.5rem !important; + height: 0.5rem !important; + width: 0.5rem !important; + transform: rotate(45deg) !important; + transition-property: transform, margin-top !important; + transition-duration: 0.3s !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + content: "" !important; + transform-origin: 75% 75% !important; + box-shadow: 2px 2px !important; + pointer-events: none !important; +} + +.\!menu :where(li > details[open] > summary):after, +.\!menu :where(li > .menu-dropdown-toggle.menu-dropdown-show):after { + transform: rotate(225deg) !important; + margin-top: 0 !important; +} + +.menu :where(li > details[open] > summary):after, +.menu :where(li > .menu-dropdown-toggle.menu-dropdown-show):after { + transform: rotate(225deg); + margin-top: 0; +} + +.\!menu :where(li > details[open] > summary):after, +.\!menu :where(li > .menu-dropdown-toggle.menu-dropdown-show):after { + transform: rotate(225deg) !important; + margin-top: 0 !important; +} + +.mockup-phone .camera { + position: relative; + top: 0px; + left: 0px; + background: #000; + height: 25px; + width: 150px; + margin: 0 auto; + border-bottom-left-radius: 17px; + border-bottom-right-radius: 17px; + z-index: 11; +} + +.mockup-phone .camera:before { + content: ""; + position: absolute; + top: 35%; + left: 50%; + width: 50px; + height: 4px; + border-radius: 5px; + background-color: #0c0b0e; + transform: translate(-50%, -50%); +} + +.mockup-phone .camera:after { + content: ""; + position: absolute; + top: 20%; + left: 70%; + width: 8px; + height: 8px; + border-radius: 5px; + background-color: #0f0b25; +} + +.mockup-phone .\!display { + overflow: hidden !important; + border-radius: 40px !important; + margin-top: -25px !important; +} + +.mockup-phone .display { + overflow: hidden; + border-radius: 40px; + margin-top: -25px; +} + +.mockup-browser .mockup-browser-toolbar .input { + position: relative; + margin-left: auto; + margin-right: auto; + display: block; + height: 1.75rem; + width: 24rem; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + --tw-bg-opacity: 1; + background-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-bg-opacity))); + padding-left: 2rem; + direction: ltr; +} + +.mockup-browser .mockup-browser-toolbar .input:before { + content: ""; + position: absolute; + left: 0.5rem; + top: 50%; + aspect-ratio: 1 / 1; + height: 0.75rem; + --tw-translate-y: -50%; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + border-radius: 9999px; + border-width: 2px; + border-color: currentColor; + opacity: 0.6; +} + +.mockup-browser .mockup-browser-toolbar .input:after { + content: ""; + position: absolute; + left: 1.25rem; + top: 50%; + height: 0.5rem; + --tw-translate-y: 25%; + --tw-rotate: -45deg; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + border-radius: 9999px; + border-width: 1px; + border-color: currentColor; + opacity: 0.6; +} + +.modal:not(dialog:not(.modal-open)), + .modal::backdrop { + background-color: #0006; + animation: modal-pop 0.2s ease-out; +} + +.modal-backdrop { + z-index: -1; + grid-column-start: 1; + grid-row-start: 1; + display: grid; + align-self: stretch; + justify-self: stretch; + color: transparent; +} + +.modal-open .modal-box, +.modal-toggle:checked + .modal .modal-box, +.modal:target .modal-box, +.modal[open] .modal-box { + --tw-translate-y: 0px; + --tw-scale-x: 1; + --tw-scale-y: 1; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +@keyframes modal-pop { + 0% { + opacity: 0; + } +} + +.progress::-moz-progress-bar { + border-radius: var(--rounded-box, 1rem); + --tw-bg-opacity: 1; + background-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-bg-opacity))); +} + +.progress:indeterminate { + --progress-color: var(--fallback-bc,oklch(var(--bc)/1)); + background-image: repeating-linear-gradient( + 90deg, + var(--progress-color) -1%, + var(--progress-color) 10%, + transparent 10%, + transparent 90% + ); + background-size: 200%; + background-position-x: 15%; + animation: progress-loading 5s ease-in-out infinite; +} + +.progress::-webkit-progress-bar { + border-radius: var(--rounded-box, 1rem); + background-color: transparent; +} + +.progress::-webkit-progress-value { + border-radius: var(--rounded-box, 1rem); + --tw-bg-opacity: 1; + background-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-bg-opacity))); +} + +.progress:indeterminate::-moz-progress-bar { + background-color: transparent; + background-image: repeating-linear-gradient( + 90deg, + var(--progress-color) -1%, + var(--progress-color) 10%, + transparent 10%, + transparent 90% + ); + background-size: 200%; + background-position-x: 15%; + animation: progress-loading 5s ease-in-out infinite; +} + +@keyframes progress-loading { + 50% { + background-position-x: -115%; + } +} + +.radio:focus { + box-shadow: none; +} + +.radio:focus-visible { + outline-style: solid; + outline-width: 2px; + outline-offset: 2px; + outline-color: var(--fallback-bc,oklch(var(--bc)/1)); +} + +.radio:checked, + .radio[aria-checked="true"] { + --tw-bg-opacity: 1; + background-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-bg-opacity))); + background-image: none; + animation: radiomark var(--animation-input, 0.2s) ease-out; + box-shadow: 0 0 0 4px var(--fallback-b1,oklch(var(--b1)/1)) inset, + 0 0 0 4px var(--fallback-b1,oklch(var(--b1)/1)) inset; +} + +.radio:disabled { + cursor: not-allowed; + opacity: 0.2; +} + +@keyframes radiomark { + 0% { + box-shadow: 0 0 0 12px var(--fallback-b1,oklch(var(--b1)/1)) inset, + 0 0 0 12px var(--fallback-b1,oklch(var(--b1)/1)) inset; + } + + 50% { + box-shadow: 0 0 0 3px var(--fallback-b1,oklch(var(--b1)/1)) inset, + 0 0 0 3px var(--fallback-b1,oklch(var(--b1)/1)) inset; + } + + 100% { + box-shadow: 0 0 0 4px var(--fallback-b1,oklch(var(--b1)/1)) inset, + 0 0 0 4px var(--fallback-b1,oklch(var(--b1)/1)) inset; + } +} + +.\!range:focus-visible::-webkit-slider-thumb { + --focus-shadow: 0 0 0 6px var(--fallback-b1,oklch(var(--b1)/1)) inset, 0 0 0 2rem var(--range-shdw) inset !important; +} + +.range:focus-visible::-webkit-slider-thumb { + --focus-shadow: 0 0 0 6px var(--fallback-b1,oklch(var(--b1)/1)) inset, 0 0 0 2rem var(--range-shdw) inset; +} + +.\!range:focus-visible::-moz-range-thumb { + --focus-shadow: 0 0 0 6px var(--fallback-b1,oklch(var(--b1)/1)) inset, 0 0 0 2rem var(--range-shdw) inset !important; +} + +.range:focus-visible::-moz-range-thumb { + --focus-shadow: 0 0 0 6px var(--fallback-b1,oklch(var(--b1)/1)) inset, 0 0 0 2rem var(--range-shdw) inset; +} + +.\!range::-webkit-slider-runnable-track { + height: 0.5rem !important; + width: 100% !important; + border-radius: var(--rounded-box, 1rem) !important; + background-color: var(--fallback-bc,oklch(var(--bc)/0.1)) !important; +} + +.range::-webkit-slider-runnable-track { + height: 0.5rem; + width: 100%; + border-radius: var(--rounded-box, 1rem); + background-color: var(--fallback-bc,oklch(var(--bc)/0.1)); +} + +.\!range::-moz-range-track { + height: 0.5rem !important; + width: 100% !important; + border-radius: var(--rounded-box, 1rem) !important; + background-color: var(--fallback-bc,oklch(var(--bc)/0.1)) !important; +} + +.range::-moz-range-track { + height: 0.5rem; + width: 100%; + border-radius: var(--rounded-box, 1rem); + background-color: var(--fallback-bc,oklch(var(--bc)/0.1)); +} + +.\!range::-webkit-slider-thumb { + position: relative !important; + height: 1.5rem !important; + width: 1.5rem !important; + border-radius: var(--rounded-box, 1rem) !important; + border-style: none !important; + --tw-bg-opacity: 1 !important; + background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity))) !important; + appearance: none !important; + -webkit-appearance: none !important; + top: 50% !important; + color: var(--range-shdw) !important; + transform: translateY(-50%) !important; + --filler-size: 100rem !important; + --filler-offset: 0.6rem !important; + box-shadow: 0 0 0 3px var(--range-shdw) inset, + var(--focus-shadow, 0 0), + calc(var(--filler-size) * -1 - var(--filler-offset)) 0 0 var(--filler-size) !important; +} + +.range::-webkit-slider-thumb { + position: relative; + height: 1.5rem; + width: 1.5rem; + border-radius: var(--rounded-box, 1rem); + border-style: none; + --tw-bg-opacity: 1; + background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity))); + appearance: none; + -webkit-appearance: none; + top: 50%; + color: var(--range-shdw); + transform: translateY(-50%); + --filler-size: 100rem; + --filler-offset: 0.6rem; + box-shadow: 0 0 0 3px var(--range-shdw) inset, + var(--focus-shadow, 0 0), + calc(var(--filler-size) * -1 - var(--filler-offset)) 0 0 var(--filler-size); +} + +.\!range::-moz-range-thumb { + position: relative !important; + height: 1.5rem !important; + width: 1.5rem !important; + border-radius: var(--rounded-box, 1rem) !important; + border-style: none !important; + --tw-bg-opacity: 1 !important; + background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity))) !important; + top: 50% !important; + color: var(--range-shdw) !important; + --filler-size: 100rem !important; + --filler-offset: 0.5rem !important; + box-shadow: 0 0 0 3px var(--range-shdw) inset, + var(--focus-shadow, 0 0), + calc(var(--filler-size) * -1 - var(--filler-offset)) 0 0 var(--filler-size) !important; +} + +.range::-moz-range-thumb { + position: relative; + height: 1.5rem; + width: 1.5rem; + border-radius: var(--rounded-box, 1rem); + border-style: none; + --tw-bg-opacity: 1; + background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity))); + top: 50%; + color: var(--range-shdw); + --filler-size: 100rem; + --filler-offset: 0.5rem; + box-shadow: 0 0 0 3px var(--range-shdw) inset, + var(--focus-shadow, 0 0), + calc(var(--filler-size) * -1 - var(--filler-offset)) 0 0 var(--filler-size); +} + +@keyframes rating-pop { + 0% { + transform: translateY(-0.125em); + } + + 40% { + transform: translateY(-0.125em); + } + + 100% { + transform: translateY(0); + } +} + +.select-bordered { + border-color: var(--fallback-bc,oklch(var(--bc)/0.2)); +} + +.select:focus { + box-shadow: none; + border-color: var(--fallback-bc,oklch(var(--bc)/0.2)); + outline-style: solid; + outline-width: 2px; + outline-offset: 2px; + outline-color: var(--fallback-bc,oklch(var(--bc)/0.2)); +} + +.select-disabled, + .select:disabled, + .select[disabled] { + cursor: not-allowed; + --tw-border-opacity: 1; + border-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-border-opacity))); + --tw-bg-opacity: 1; + background-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-bg-opacity))); + color: var(--fallback-bc,oklch(var(--bc)/0.4)); +} + +.select-disabled::-moz-placeholder, .select:disabled::-moz-placeholder, .select[disabled]::-moz-placeholder { + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-placeholder-opacity))); + --tw-placeholder-opacity: 0.2; +} + +.select-disabled::placeholder, + .select:disabled::placeholder, + .select[disabled]::placeholder { + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-placeholder-opacity))); + --tw-placeholder-opacity: 0.2; +} + +.select-multiple, + .select[multiple], + .select[size].select:not([size="1"]) { + background-image: none; + padding-right: 1rem; +} + +[dir="rtl"] .select { + background-position: calc(0% + 12px) calc(1px + 50%), + calc(0% + 16px) calc(1px + 50%); +} + +.skeleton { + border-radius: var(--rounded-box, 1rem); + --tw-bg-opacity: 1; + background-color: var(--fallback-b3,oklch(var(--b3)/var(--tw-bg-opacity))); + will-change: background-position; + animation: skeleton 1.8s ease-in-out infinite; + background-image: linear-gradient( + 105deg, + transparent 0%, + transparent 40%, + var(--fallback-b1,oklch(var(--b1)/1)) 50%, + transparent 60%, + transparent 100% + ); + background-size: 200% auto; + background-repeat: no-repeat; + background-position-x: -50%; +} + +@media (prefers-reduced-motion) { + .skeleton { + animation-duration: 15s; + } +} + +@keyframes skeleton { + from { + background-position: 150%; + } + + to { + background-position: -50%; + } +} + +:where(.stats) > :not([hidden]) ~ :not([hidden]) { + --tw-divide-x-reverse: 0; + border-right-width: calc(1px * var(--tw-divide-x-reverse)); + border-left-width: calc(1px * calc(1 - var(--tw-divide-x-reverse))); + --tw-divide-y-reverse: 0; + border-top-width: calc(0px * calc(1 - var(--tw-divide-y-reverse))); + border-bottom-width: calc(0px * var(--tw-divide-y-reverse)); +} + +[dir="rtl"] .stats > *:not([hidden]) ~ *:not([hidden]) { + --tw-divide-x-reverse: 1; +} + +.steps .step:before { + top: 0px; + grid-column-start: 1; + grid-row-start: 1; + height: 0.5rem; + width: 100%; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + --tw-bg-opacity: 1; + background-color: var(--fallback-b3,oklch(var(--b3)/var(--tw-bg-opacity))); + --tw-text-opacity: 1; + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity))); + content: ""; + margin-inline-start: -100%; +} + +.steps .step:after { + content: counter(step); + counter-increment: step; + z-index: 1; + position: relative; + grid-column-start: 1; + grid-row-start: 1; + display: grid; + height: 2rem; + width: 2rem; + place-items: center; + place-self: center; + border-radius: 9999px; + --tw-bg-opacity: 1; + background-color: var(--fallback-b3,oklch(var(--b3)/var(--tw-bg-opacity))); + --tw-text-opacity: 1; + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity))); +} + +.steps .step:first-child:before { + content: none; +} + +.steps .step[data-content]:after { + content: attr(data-content); +} + +.steps .step-neutral + .step-neutral:before, + .steps .step-neutral:after { + --tw-bg-opacity: 1; + background-color: var(--fallback-n,oklch(var(--n)/var(--tw-bg-opacity))); + --tw-text-opacity: 1; + color: var(--fallback-nc,oklch(var(--nc)/var(--tw-text-opacity))); +} + +.steps .step-primary + .step-primary:before, + .steps .step-primary:after { + --tw-bg-opacity: 1; + background-color: var(--fallback-p,oklch(var(--p)/var(--tw-bg-opacity))); + --tw-text-opacity: 1; + color: var(--fallback-pc,oklch(var(--pc)/var(--tw-text-opacity))); +} + +.steps .step-secondary + .step-secondary:before, + .steps .step-secondary:after { + --tw-bg-opacity: 1; + background-color: var(--fallback-s,oklch(var(--s)/var(--tw-bg-opacity))); + --tw-text-opacity: 1; + color: var(--fallback-sc,oklch(var(--sc)/var(--tw-text-opacity))); +} + +.steps .step-accent + .step-accent:before, + .steps .step-accent:after { + --tw-bg-opacity: 1; + background-color: var(--fallback-a,oklch(var(--a)/var(--tw-bg-opacity))); + --tw-text-opacity: 1; + color: var(--fallback-ac,oklch(var(--ac)/var(--tw-text-opacity))); +} + +.steps .step-info + .step-info:before { + --tw-bg-opacity: 1; + background-color: var(--fallback-in,oklch(var(--in)/var(--tw-bg-opacity))); +} + +.steps .step-info:after { + --tw-bg-opacity: 1; + background-color: var(--fallback-in,oklch(var(--in)/var(--tw-bg-opacity))); + --tw-text-opacity: 1; + color: var(--fallback-inc,oklch(var(--inc)/var(--tw-text-opacity))); +} + +.steps .step-success + .step-success:before { + --tw-bg-opacity: 1; + background-color: var(--fallback-su,oklch(var(--su)/var(--tw-bg-opacity))); +} + +.steps .step-success:after { + --tw-bg-opacity: 1; + background-color: var(--fallback-su,oklch(var(--su)/var(--tw-bg-opacity))); + --tw-text-opacity: 1; + color: var(--fallback-suc,oklch(var(--suc)/var(--tw-text-opacity))); +} + +.steps .step-warning + .step-warning:before { + --tw-bg-opacity: 1; + background-color: var(--fallback-wa,oklch(var(--wa)/var(--tw-bg-opacity))); +} + +.steps .step-warning:after { + --tw-bg-opacity: 1; + background-color: var(--fallback-wa,oklch(var(--wa)/var(--tw-bg-opacity))); + --tw-text-opacity: 1; + color: var(--fallback-wac,oklch(var(--wac)/var(--tw-text-opacity))); +} + +.steps .step-error + .step-error:before { + --tw-bg-opacity: 1; + background-color: var(--fallback-er,oklch(var(--er)/var(--tw-bg-opacity))); +} + +.steps .step-error:after { + --tw-bg-opacity: 1; + background-color: var(--fallback-er,oklch(var(--er)/var(--tw-bg-opacity))); + --tw-text-opacity: 1; + color: var(--fallback-erc,oklch(var(--erc)/var(--tw-text-opacity))); +} + +.tabs-lifted > .tab:focus-visible { + border-end-end-radius: 0; + border-end-start-radius: 0; +} + +.tab:is(.tab-active, [aria-selected="true"]):not(.tab-disabled):not([disabled]), .tab:is(input:checked) { + border-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-border-opacity))); + --tw-border-opacity: 1; + --tw-text-opacity: 1; +} + +.tab:focus { + outline: 2px solid transparent; + outline-offset: 2px; +} + +.tab:focus-visible { + outline: 2px solid currentColor; + outline-offset: -5px; +} + +.tab-disabled, + .tab[disabled] { + cursor: not-allowed; + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity))); + --tw-text-opacity: 0.2; +} + +.tabs-bordered > .tab { + border-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-border-opacity))); + --tw-border-opacity: 0.2; + border-style: solid; + border-bottom-width: calc(var(--tab-border, 1px) + 1px); +} + +.tabs-lifted > .tab { + border: var(--tab-border, 1px) solid transparent; + border-width: 0 0 var(--tab-border, 1px) 0; + border-start-start-radius: var(--tab-radius, 0.5rem); + border-start-end-radius: var(--tab-radius, 0.5rem); + border-bottom-color: var(--tab-border-color); + padding-inline-start: var(--tab-padding, 1rem); + padding-inline-end: var(--tab-padding, 1rem); + padding-top: var(--tab-border, 1px); +} + +.tabs-lifted > .tab:is(.tab-active, [aria-selected="true"]):not(.tab-disabled):not([disabled]), .tabs-lifted > .tab:is(input:checked) { + background-color: var(--tab-bg); + border-width: var(--tab-border, 1px) var(--tab-border, 1px) 0 var(--tab-border, 1px); + border-inline-start-color: var(--tab-border-color); + border-inline-end-color: var(--tab-border-color); + border-top-color: var(--tab-border-color); + padding-inline-start: calc(var(--tab-padding, 1rem) - var(--tab-border, 1px)); + padding-inline-end: calc(var(--tab-padding, 1rem) - var(--tab-border, 1px)); + padding-bottom: var(--tab-border, 1px); + padding-top: 0; +} + +.tabs-lifted > .tab:is(.tab-active, [aria-selected="true"]):not(.tab-disabled):not([disabled]):before, .tabs-lifted > .tab:is(input:checked):before { + z-index: 1; + content: ""; + display: block; + position: absolute; + width: calc(100% + var(--tab-radius, 0.5rem) * 2); + height: var(--tab-radius, 0.5rem); + bottom: 0; + background-size: var(--tab-radius, 0.5rem); + background-position: top left, + top right; + background-repeat: no-repeat; + --tab-grad: calc(69% - var(--tab-border, 1px)); + --radius-start: radial-gradient( + circle at top left, + transparent var(--tab-grad), + var(--tab-border-color) calc(var(--tab-grad) + 0.25px), + var(--tab-border-color) calc(var(--tab-grad) + var(--tab-border, 1px)), + var(--tab-bg) calc(var(--tab-grad) + var(--tab-border, 1px) + 0.25px) + ); + --radius-end: radial-gradient( + circle at top right, + transparent var(--tab-grad), + var(--tab-border-color) calc(var(--tab-grad) + 0.25px), + var(--tab-border-color) calc(var(--tab-grad) + var(--tab-border, 1px)), + var(--tab-bg) calc(var(--tab-grad) + var(--tab-border, 1px) + 0.25px) + ); + background-image: var(--radius-start), var(--radius-end); +} + +.tabs-lifted > .tab:is(.tab-active, [aria-selected="true"]):not(.tab-disabled):not([disabled]):first-child:before, .tabs-lifted > .tab:is(input:checked):first-child:before { + background-image: var(--radius-end); + background-position: top right; +} + +[dir="rtl"] .tabs-lifted > .tab:is(.tab-active, [aria-selected="true"]):not(.tab-disabled):not([disabled]):first-child:before, [dir="rtl"] .tabs-lifted > .tab:is(input:checked):first-child:before { + background-image: var(--radius-start); + background-position: top left; +} + +.tabs-lifted > .tab:is(.tab-active, [aria-selected="true"]):not(.tab-disabled):not([disabled]):last-child:before, .tabs-lifted > .tab:is(input:checked):last-child:before { + background-image: var(--radius-start); + background-position: top left; +} + +[dir="rtl"] .tabs-lifted > .tab:is(.tab-active, [aria-selected="true"]):not(.tab-disabled):not([disabled]):last-child:before, [dir="rtl"] .tabs-lifted > .tab:is(input:checked):last-child:before { + background-image: var(--radius-end); + background-position: top right; +} + +.tabs-lifted + > :is(.tab-active, [aria-selected="true"]):not(.tab-disabled):not([disabled]) + + .tabs-lifted + :is(.tab-active, [aria-selected="true"]):not(.tab-disabled):not([disabled]):before, .tabs-lifted > .tab:is(input:checked) + .tabs-lifted .tab:is(input:checked):before { + background-image: var(--radius-end); + background-position: top right; +} + +.tabs-boxed .tab { + border-radius: var(--rounded-btn, 0.5rem); +} + +.tabs-boxed :is(.tab-active, [aria-selected="true"]):not(.tab-disabled):not([disabled]), .tabs-boxed :is(input:checked) { + --tw-bg-opacity: 1; + background-color: var(--fallback-p,oklch(var(--p)/var(--tw-bg-opacity))); + --tw-text-opacity: 1; + color: var(--fallback-pc,oklch(var(--pc)/var(--tw-text-opacity))); +} + +.table:where([dir="rtl"], [dir="rtl"] *) { + text-align: right; +} + +.table :where(th, td) { + padding-left: 1rem; + padding-right: 1rem; + padding-top: 0.75rem; + padding-bottom: 0.75rem; + vertical-align: middle; +} + +.table tr.active, + .table tr.active:nth-child(even), + .table-zebra tbody tr:nth-child(even) { + --tw-bg-opacity: 1; + background-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-bg-opacity))); +} + +.table tr.\!active, + .table tr.\!active:nth-child(even) { + --tw-bg-opacity: 1 !important; + background-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-bg-opacity))) !important; +} + +.table-zebra tr.\!active, + .table-zebra tr.\!active:nth-child(even) { + --tw-bg-opacity: 1 !important; + background-color: var(--fallback-b3,oklch(var(--b3)/var(--tw-bg-opacity))) !important; +} + +.table-zebra tr.active, + .table-zebra tr.active:nth-child(even), + .table-zebra-zebra tbody tr:nth-child(even) { + --tw-bg-opacity: 1; + background-color: var(--fallback-b3,oklch(var(--b3)/var(--tw-bg-opacity))); +} + +.table-zebra tr.\!active, + .table-zebra tr.\!active:nth-child(even) { + --tw-bg-opacity: 1 !important; + background-color: var(--fallback-b3,oklch(var(--b3)/var(--tw-bg-opacity))) !important; +} + +.table :where(thead tr, tbody tr:not(:last-child), tbody tr:first-child:last-child) { + border-bottom-width: 1px; + --tw-border-opacity: 1; + border-bottom-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-border-opacity))); +} + +.table :where(thead, tfoot) { + white-space: nowrap; + font-size: 0.75rem; + line-height: 1rem; + font-weight: 700; + color: var(--fallback-bc,oklch(var(--bc)/0.6)); +} + +.table :where(tfoot) { + border-top-width: 1px; + --tw-border-opacity: 1; + border-top-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-border-opacity))); +} + +.textarea:focus { + box-shadow: none; + border-color: var(--fallback-bc,oklch(var(--bc)/0.2)); + outline-style: solid; + outline-width: 2px; + outline-offset: 2px; + outline-color: var(--fallback-bc,oklch(var(--bc)/0.2)); +} + +.textarea-disabled, + .textarea:disabled, + .textarea[disabled] { + cursor: not-allowed; + --tw-border-opacity: 1; + border-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-border-opacity))); + --tw-bg-opacity: 1; + background-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-bg-opacity))); + color: var(--fallback-bc,oklch(var(--bc)/0.4)); +} + +.textarea-disabled::-moz-placeholder, .textarea:disabled::-moz-placeholder, .textarea[disabled]::-moz-placeholder { + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-placeholder-opacity))); + --tw-placeholder-opacity: 0.2; +} + +.textarea-disabled::placeholder, + .textarea:disabled::placeholder, + .textarea[disabled]::placeholder { + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-placeholder-opacity))); + --tw-placeholder-opacity: 0.2; +} + +.toast > * { + animation: toast-pop 0.25s ease-out; +} + +@keyframes toast-pop { + 0% { + transform: scale(0.9); + opacity: 0; + } + + 100% { + transform: scale(1); + opacity: 1; + } +} + +[dir="rtl"] .toggle { + --handleoffsetcalculator: calc(var(--handleoffset) * 1); +} + +.toggle:focus-visible { + outline-style: solid; + outline-width: 2px; + outline-offset: 2px; + outline-color: var(--fallback-bc,oklch(var(--bc)/0.2)); +} + +.toggle:hover { + background-color: currentColor; +} + +.toggle:checked, + .toggle[aria-checked="true"] { + background-image: none; + --handleoffsetcalculator: var(--handleoffset); + --tw-text-opacity: 1; + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity))); +} + +[dir="rtl"] .toggle:checked, [dir="rtl"] .toggle[aria-checked="true"] { + --handleoffsetcalculator: calc(var(--handleoffset) * -1); +} + +.toggle:indeterminate { + --tw-text-opacity: 1; + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity))); + box-shadow: calc(var(--handleoffset) / 2) 0 0 2px var(--tglbg) inset, + calc(var(--handleoffset) / -2) 0 0 2px var(--tglbg) inset, + 0 0 0 2px var(--tglbg) inset; +} + +[dir="rtl"] .toggle:indeterminate { + box-shadow: calc(var(--handleoffset) / 2) 0 0 2px var(--tglbg) inset, + calc(var(--handleoffset) / -2) 0 0 2px var(--tglbg) inset, + 0 0 0 2px var(--tglbg) inset; +} + +.toggle:disabled { + cursor: not-allowed; + --tw-border-opacity: 1; + border-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-border-opacity))); + background-color: transparent; + opacity: 0.3; + --togglehandleborder: 0 0 0 3px var(--fallback-bc,oklch(var(--bc)/1)) inset, + var(--handleoffsetcalculator) 0 0 3px var(--fallback-bc,oklch(var(--bc)/1)) inset; +} + +.glass, + .glass.btn-active { + border: none; + -webkit-backdrop-filter: blur(var(--glass-blur, 40px)); + backdrop-filter: blur(var(--glass-blur, 40px)); + background-color: transparent; + background-image: linear-gradient( + 135deg, + rgb(255 255 255 / var(--glass-opacity, 30%)) 0%, + rgb(0 0 0 / 0%) 100% + ), + linear-gradient( + var(--glass-reflex-degree, 100deg), + rgb(255 255 255 / var(--glass-reflex-opacity, 10%)) 25%, + rgb(0 0 0 / 0%) 25% + ); + box-shadow: 0 0 0 1px rgb(255 255 255 / var(--glass-border-opacity, 10%)) inset, + 0 0 0 2px rgb(0 0 0 / 5%); + text-shadow: 0 1px rgb(0 0 0 / var(--glass-text-shadow-opacity, 5%)); +} + +@media (hover: hover) { + .glass.btn-active { + border: none; + -webkit-backdrop-filter: blur(var(--glass-blur, 40px)); + backdrop-filter: blur(var(--glass-blur, 40px)); + background-color: transparent; + background-image: linear-gradient( + 135deg, + rgb(255 255 255 / var(--glass-opacity, 30%)) 0%, + rgb(0 0 0 / 0%) 100% + ), + linear-gradient( + var(--glass-reflex-degree, 100deg), + rgb(255 255 255 / var(--glass-reflex-opacity, 10%)) 25%, + rgb(0 0 0 / 0%) 25% + ); + box-shadow: 0 0 0 1px rgb(255 255 255 / var(--glass-border-opacity, 10%)) inset, + 0 0 0 2px rgb(0 0 0 / 5%); + text-shadow: 0 1px rgb(0 0 0 / var(--glass-text-shadow-opacity, 5%)); + } +} + +.artboard.phone { + width: 320px; +} + +.artboard.phone-1.horizontal, + .artboard.phone-1.artboard-horizontal { + width: 568px; + height: 320px; +} + +.artboard.phone-2.horizontal, + .artboard.phone-2.artboard-horizontal { + width: 667px; + height: 375px; +} + +.artboard.phone-3.horizontal, + .artboard.phone-3.artboard-horizontal { + width: 736px; + height: 414px; +} + +.artboard.phone-4.horizontal, + .artboard.phone-4.artboard-horizontal { + width: 812px; + height: 375px; +} + +.artboard.phone-5.horizontal, + .artboard.phone-5.artboard-horizontal { + width: 896px; + height: 414px; +} + +.artboard.phone-6.horizontal, + .artboard.phone-6.artboard-horizontal { + width: 1024px; + height: 320px; +} + +.badge-xs { + height: 0.75rem; + font-size: 0.75rem; + line-height: .75rem; + padding-left: 0.313rem; + padding-right: 0.313rem; +} + +.badge-sm { + height: 1rem; + font-size: 0.75rem; + line-height: 1rem; + padding-left: 0.438rem; + padding-right: 0.438rem; +} + +.btm-nav-xs > *:where(.\!active) { + border-top-width: 1px !important; +} + +.btm-nav-xs > *:where(.active) { + border-top-width: 1px; +} + +.btm-nav-sm > *:where(.\!active) { + border-top-width: 2px !important; +} + +.btm-nav-sm > *:where(.active) { + border-top-width: 2px; +} + +.btm-nav-md > *:where(.\!active) { + border-top-width: 2px !important; +} + +.btm-nav-md > *:where(.active) { + border-top-width: 2px; +} + +.btm-nav-lg > *:where(.\!active) { + border-top-width: 4px !important; +} + +.btm-nav-lg > *:where(.active) { + border-top-width: 4px; +} + +.btn-circle:where(.btn-xs) { + height: 1.5rem; + width: 1.5rem; + border-radius: 9999px; + padding: 0px; +} + +.btn-circle:where(.btn-sm) { + height: 2rem; + width: 2rem; + border-radius: 9999px; + padding: 0px; +} + +.btn-circle:where(.btn-md) { + height: 3rem; + width: 3rem; + border-radius: 9999px; + padding: 0px; +} + +.btn-circle:where(.btn-lg) { + height: 4rem; + width: 4rem; + border-radius: 9999px; + padding: 0px; +} + +.drawer-open > .drawer-toggle { + display: none; +} + +.drawer-open > .drawer-toggle ~ .drawer-side { + pointer-events: auto; + visibility: visible; + position: sticky; + display: block; + width: auto; + overscroll-behavior: auto; +} + +.drawer-open > .drawer-toggle ~ .drawer-side > *:not(.drawer-overlay) { + transform: translateX(0%); +} + +[dir="rtl"] .drawer-open > .drawer-toggle ~ .drawer-side > *:not(.drawer-overlay) { + transform: translateX(0%); +} + +.drawer-open > .drawer-toggle:checked ~ .drawer-side { + pointer-events: auto; + visibility: visible; +} + +.drawer-open > .drawer-side { + overflow-y: auto; +} + +html:has(.drawer-toggle:checked) { + overflow-y: hidden; + scrollbar-gutter: stable; +} + +.join.join-vertical { + flex-direction: column; +} + +.join.join-vertical .join-item:first-child:not(:last-child), + .join.join-vertical *:first-child:not(:last-child) .join-item { + border-end-start-radius: 0; + border-end-end-radius: 0; + border-start-start-radius: inherit; + border-start-end-radius: inherit; +} + +.join.join-vertical .join-item:last-child:not(:first-child), + .join.join-vertical *:last-child:not(:first-child) .join-item { + border-start-start-radius: 0; + border-start-end-radius: 0; + border-end-start-radius: inherit; + border-end-end-radius: inherit; +} + +.join.join-horizontal { + flex-direction: row; +} + +.join.join-horizontal .join-item:first-child:not(:last-child), + .join.join-horizontal *:first-child:not(:last-child) .join-item { + border-end-end-radius: 0; + border-start-end-radius: 0; + border-end-start-radius: inherit; + border-start-start-radius: inherit; +} + +.join.join-horizontal .join-item:last-child:not(:first-child), + .join.join-horizontal *:last-child:not(:first-child) .join-item { + border-end-start-radius: 0; + border-start-start-radius: 0; + border-end-end-radius: inherit; + border-start-end-radius: inherit; +} + +.menu-horizontal { + display: inline-flex; + flex-direction: row; +} + +.menu-horizontal > li:not(.menu-title) > details > ul { + position: absolute; +} + +.steps-horizontal .step { + display: grid; + grid-template-columns: repeat(1, minmax(0, 1fr)); + grid-template-rows: repeat(2, minmax(0, 1fr)); + place-items: center; + text-align: center; +} + +.steps-vertical .step { + display: grid; + grid-template-columns: repeat(2, minmax(0, 1fr)); + grid-template-rows: repeat(1, minmax(0, 1fr)); +} + +.tabs-md :where(.tab) { + height: 2rem; + font-size: 0.875rem; + line-height: 1.25rem; + line-height: 2; + --tab-padding: 1rem; +} + +.tabs-lg :where(.tab) { + height: 3rem; + font-size: 1.125rem; + line-height: 1.75rem; + line-height: 2; + --tab-padding: 1.25rem; +} + +.tabs-sm :where(.tab) { + height: 1.5rem; + font-size: 0.875rem; + line-height: .75rem; + --tab-padding: 0.75rem; +} + +.tabs-xs :where(.tab) { + height: 1.25rem; + font-size: 0.75rem; + line-height: .75rem; + --tab-padding: 0.5rem; +} + +.textarea-xs { + padding-left: 0.5rem; + padding-right: 0.5rem; + padding-top: 0.25rem; + padding-bottom: 0.25rem; + font-size: 0.75rem; + line-height: 1rem; + line-height: 1.625; +} + +:where(.toast) { + bottom: 0px; + inset-inline-end: 0px; + inset-inline-start: auto; + top: auto; + --tw-translate-x: 0px; + --tw-translate-y: 0px; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.toast:where(.toast-start) { + inset-inline-end: auto; + inset-inline-start: 0px; + --tw-translate-x: 0px; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.toast:where(.toast-center) { + inset-inline-end: 50%; + inset-inline-start: 50%; + --tw-translate-x: -50%; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.toast:where(.toast-center):where([dir="rtl"], [dir="rtl"] *) { + --tw-translate-x: 50%; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.toast:where(.toast-end) { + inset-inline-end: 0px; + inset-inline-start: auto; + --tw-translate-x: 0px; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.toast:where(.toast-bottom) { + bottom: 0px; + top: auto; + --tw-translate-y: 0px; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.toast:where(.toast-middle) { + bottom: auto; + top: 50%; + --tw-translate-y: -50%; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.toast:where(.toast-top) { + bottom: auto; + top: 0px; + --tw-translate-y: 0px; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.tooltip { + position: relative; + display: inline-block; + --tooltip-offset: calc(100% + 1px + var(--tooltip-tail, 0px)); +} + +.tooltip:before { + position: absolute; + pointer-events: none; + z-index: 1; + content: var(--tw-content); + --tw-content: attr(data-tip); +} + +.tooltip:before, .tooltip-top:before { + transform: translateX(-50%); + top: auto; + left: 50%; + right: auto; + bottom: var(--tooltip-offset); +} + +.avatar.online:before { + content: ""; + position: absolute; + z-index: 10; + display: block; + border-radius: 9999px; + --tw-bg-opacity: 1; + background-color: var(--fallback-su,oklch(var(--su)/var(--tw-bg-opacity))); + outline-style: solid; + outline-width: 2px; + outline-color: var(--fallback-b1,oklch(var(--b1)/1)); + width: 15%; + height: 15%; + top: 7%; + right: 7%; +} + +.avatar.offline:before { + content: ""; + position: absolute; + z-index: 10; + display: block; + border-radius: 9999px; + --tw-bg-opacity: 1; + background-color: var(--fallback-b3,oklch(var(--b3)/var(--tw-bg-opacity))); + outline-style: solid; + outline-width: 2px; + outline-color: var(--fallback-b1,oklch(var(--b1)/1)); + width: 15%; + height: 15%; + top: 7%; + right: 7%; +} + +.card-compact .card-body { + padding: 1rem; + font-size: 0.875rem; + line-height: 1.25rem; +} + +.card-compact .card-title { + margin-bottom: 0.25rem; +} + +.card-normal .card-body { + padding: var(--padding-card, 2rem); + font-size: 1rem; + line-height: 1.5rem; +} + +.card-normal .card-title { + margin-bottom: 0.75rem; +} + +.drawer-open > .drawer-toggle ~ .drawer-side > .drawer-overlay { + cursor: default; + background-color: transparent; +} + +.join.join-vertical > :where(*:not(:first-child)) { + margin-left: 0px; + margin-right: 0px; + margin-top: -1px; +} + +.join.join-vertical > :where(*:not(:first-child)):is(.btn) { + margin-top: calc(var(--border-btn) * -1); +} + +.join.join-horizontal > :where(*:not(:first-child)) { + margin-top: 0px; + margin-bottom: 0px; + margin-inline-start: -1px; +} + +.join.join-horizontal > :where(*:not(:first-child)):is(.btn) { + margin-inline-start: calc(var(--border-btn) * -1); + margin-top: 0px; +} + +.menu-horizontal > li:not(.menu-title) > details > ul { + margin-inline-start: 0px; + margin-top: 1rem; + padding-top: 0.5rem; + padding-bottom: 0.5rem; + padding-inline-end: 0.5rem; +} + +.menu-horizontal > li > details > ul:before { + content: none; +} + +:where(.menu-horizontal > li:not(.menu-title) > details > ul) { + border-radius: var(--rounded-box, 1rem); + --tw-bg-opacity: 1; + background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity))); + --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1); + --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} + +.steps-horizontal .step { + grid-template-rows: 40px 1fr; + grid-template-columns: auto; + min-width: 4rem; +} + +.steps-horizontal .step:before { + height: 0.5rem; + width: 100%; + --tw-translate-x: 0px; + --tw-translate-y: 0px; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + content: ""; + margin-inline-start: -100%; +} + +.steps-horizontal .step:where([dir="rtl"], [dir="rtl"] *):before { + --tw-translate-x: 0px; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.steps-vertical .step { + gap: 0.5rem; + grid-template-columns: 40px 1fr; + grid-template-rows: auto; + min-height: 4rem; + justify-items: start; +} + +.steps-vertical .step:before { + height: 100%; + width: 0.5rem; + --tw-translate-x: -50%; + --tw-translate-y: -50%; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + margin-inline-start: 50%; +} + +.steps-vertical .step:where([dir="rtl"], [dir="rtl"] *):before { + --tw-translate-x: 50%; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.tooltip { + position: relative; + display: inline-block; + text-align: center; + --tooltip-tail: 0.1875rem; + --tooltip-color: var(--fallback-n,oklch(var(--n)/1)); + --tooltip-text-color: var(--fallback-nc,oklch(var(--nc)/1)); + --tooltip-tail-offset: calc(100% + 0.0625rem - var(--tooltip-tail)); +} + +.tooltip:before, +.tooltip:after { + opacity: 0; + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter; + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter; + transition-delay: 100ms; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); +} + +.tooltip:after { + position: absolute; + content: ""; + border-style: solid; + border-width: var(--tooltip-tail, 0); + width: 0; + height: 0; + display: block; +} + +.tooltip:before { + max-width: 20rem; + white-space: normal; + border-radius: 0.25rem; + padding-left: 0.5rem; + padding-right: 0.5rem; + padding-top: 0.25rem; + padding-bottom: 0.25rem; + font-size: 0.875rem; + line-height: 1.25rem; + background-color: var(--tooltip-color); + color: var(--tooltip-text-color); + width: -moz-max-content; + width: max-content; +} + +.tooltip.tooltip-open:before { + opacity: 1; + transition-delay: 75ms; +} + +.tooltip.tooltip-open:after { + opacity: 1; + transition-delay: 75ms; +} + +.tooltip:hover:before { + opacity: 1; + transition-delay: 75ms; +} + +.tooltip:hover:after { + opacity: 1; + transition-delay: 75ms; +} + +.tooltip:has(:focus-visible):after, +.tooltip:has(:focus-visible):before { + opacity: 1; + transition-delay: 75ms; +} + +.tooltip:not([data-tip]):hover:before, +.tooltip:not([data-tip]):hover:after { + visibility: hidden; + opacity: 0; +} + +.tooltip:after, .tooltip-top:after { + transform: translateX(-50%); + border-color: var(--tooltip-color) transparent transparent transparent; + top: auto; + left: 50%; + right: auto; + bottom: var(--tooltip-tail-offset); +} + +.pointer-events-none { + pointer-events: none; +} + +.visible { + visibility: visible; +} + +.invisible { + visibility: hidden; +} + +.collapse { + visibility: collapse; +} + +.static { + position: static; +} + +.fixed { + position: fixed; +} + +.absolute { + position: absolute; +} + +.relative { + position: relative; +} + +.sticky { + position: sticky; +} + +.inset-0 { + inset: 0px; +} + +.left-10 { + left: 2.5rem; +} + +.right-0 { + right: 0px; +} + +.top-0 { + top: 0px; +} + +.z-10 { + z-index: 10; +} + +.z-20 { + z-index: 20; +} + +.m-1 { + margin: 0.25rem; +} + +.m-2 { + margin: 0.5rem; +} + +.m-3 { + margin: 0.75rem; +} + +.mx-auto { + margin-left: auto; + margin-right: auto; +} + +.my-4 { + margin-top: 1rem; + margin-bottom: 1rem; +} + +.my-5 { + margin-top: 1.25rem; + margin-bottom: 1.25rem; +} + +.my-auto { + margin-top: auto; + margin-bottom: auto; +} + +.mb-2 { + margin-bottom: 0.5rem; +} + +.mb-3 { + margin-bottom: 0.75rem; +} + +.mb-4 { + margin-bottom: 1rem; +} + +.mb-6 { + margin-bottom: 1.5rem; +} + +.mb-8 { + margin-bottom: 2rem; +} + +.ml-2 { + margin-left: 0.5rem; +} + +.mr-2 { + margin-right: 0.5rem; +} + +.mr-3 { + margin-right: 0.75rem; +} + +.mt-1 { + margin-top: 0.25rem; +} + +.mt-10 { + margin-top: 2.5rem; +} + +.mt-2 { + margin-top: 0.5rem; +} + +.mt-3 { + margin-top: 0.75rem; +} + +.mt-4 { + margin-top: 1rem; +} + +.mt-5 { + margin-top: 1.25rem; +} + +.mt-8 { + margin-top: 2rem; +} + +.block { + display: block; +} + +.inline-block { + display: inline-block; +} + +.inline { + display: inline; +} + +.flex { + display: flex; +} + +.inline-flex { + display: inline-flex; +} + +.table { + display: table; +} + +.inline-table { + display: inline-table; +} + +.table-caption { + display: table-caption; +} + +.table-cell { + display: table-cell; +} + +.table-column { + display: table-column; +} + +.table-column-group { + display: table-column-group; +} + +.table-footer-group { + display: table-footer-group; +} + +.table-header-group { + display: table-header-group; +} + +.table-row-group { + display: table-row-group; +} + +.table-row { + display: table-row; +} + +.grid { + display: grid; +} + +.inline-grid { + display: inline-grid; +} + +.contents { + display: contents; +} + +.list-item { + display: list-item; +} + +.\!hidden { + display: none !important; +} + +.hidden { + display: none; +} + +.h-1 { + height: 0.25rem; +} + +.h-10 { + height: 2.5rem; +} + +.h-12 { + height: 3rem; +} + +.h-3 { + height: 0.75rem; +} + +.h-4 { + height: 1rem; +} + +.h-48 { + height: 12rem; +} + +.h-5 { + height: 1.25rem; +} + +.h-6 { + height: 1.5rem; +} + +.h-9 { + height: 2.25rem; +} + +.h-auto { + height: auto; +} + +.h-full { + height: 100%; +} + +.h-screen { + height: 100vh; +} + +.min-h-full { + min-height: 100%; +} + +.min-h-screen { + min-height: 100vh; +} + +.w-0 { + width: 0px; +} + +.w-12 { + width: 3rem; +} + +.w-3 { + width: 0.75rem; +} + +.w-4 { + width: 1rem; +} + +.w-5 { + width: 1.25rem; +} + +.w-6 { + width: 1.5rem; +} + +.w-64 { + width: 16rem; +} + +.w-80 { + width: 20rem; +} + +.w-9 { + width: 2.25rem; +} + +.w-auto { + width: auto; +} + +.w-full { + width: 100%; +} + +.max-w-screen-lg { + max-width: 1024px; +} + +.max-w-xs { + max-width: 20rem; +} + +.flex-1 { + flex: 1 1 0%; +} + +.flex-none { + flex: none; +} + +.flex-shrink { + flex-shrink: 1; +} + +.shrink { + flex-shrink: 1; +} + +.flex-grow { + flex-grow: 1; +} + +.grow { + flex-grow: 1; +} + +.border-collapse { + border-collapse: collapse; +} + +.transform { + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.cursor-pointer { + cursor: pointer; +} + +.select-all { + -webkit-user-select: all; + -moz-user-select: all; + user-select: all; +} + +.resize { + resize: both; +} + +.grid-flow-col { + grid-auto-flow: column; +} + +.grid-cols-1 { + grid-template-columns: repeat(1, minmax(0, 1fr)); +} + +.grid-cols-2 { + grid-template-columns: repeat(2, minmax(0, 1fr)); +} + +.flex-col { + flex-direction: column; +} + +.flex-wrap { + flex-wrap: wrap; +} + +.items-start { + align-items: flex-start; +} + +.items-center { + align-items: center; +} + +.justify-start { + justify-content: flex-start; +} + +.justify-center { + justify-content: center; +} + +.justify-between { + justify-content: space-between; +} + +.gap-1 { + gap: 0.25rem; +} + +.gap-2 { + gap: 0.5rem; +} + +.gap-4 { + gap: 1rem; +} + +.gap-8 { + gap: 2rem; +} + +.space-x-2 > :not([hidden]) ~ :not([hidden]) { + --tw-space-x-reverse: 0; + margin-right: calc(0.5rem * var(--tw-space-x-reverse)); + margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse))); +} + +.space-x-4 > :not([hidden]) ~ :not([hidden]) { + --tw-space-x-reverse: 0; + margin-right: calc(1rem * var(--tw-space-x-reverse)); + margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse))); +} + +.space-x-6 > :not([hidden]) ~ :not([hidden]) { + --tw-space-x-reverse: 0; + margin-right: calc(1.5rem * var(--tw-space-x-reverse)); + margin-left: calc(1.5rem * calc(1 - var(--tw-space-x-reverse))); +} + +.space-x-8 > :not([hidden]) ~ :not([hidden]) { + --tw-space-x-reverse: 0; + margin-right: calc(2rem * var(--tw-space-x-reverse)); + margin-left: calc(2rem * calc(1 - var(--tw-space-x-reverse))); +} + +.space-y-1 > :not([hidden]) ~ :not([hidden]) { + --tw-space-y-reverse: 0; + margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(0.25rem * var(--tw-space-y-reverse)); +} + +.space-y-2 > :not([hidden]) ~ :not([hidden]) { + --tw-space-y-reverse: 0; + margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(0.5rem * var(--tw-space-y-reverse)); +} + +.space-y-3 > :not([hidden]) ~ :not([hidden]) { + --tw-space-y-reverse: 0; + margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(0.75rem * var(--tw-space-y-reverse)); +} + +.space-y-4 > :not([hidden]) ~ :not([hidden]) { + --tw-space-y-reverse: 0; + margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(1rem * var(--tw-space-y-reverse)); +} + +.space-y-6 > :not([hidden]) ~ :not([hidden]) { + --tw-space-y-reverse: 0; + margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(1.5rem * var(--tw-space-y-reverse)); +} + +.self-start { + align-self: flex-start; +} + +.self-end { + align-self: flex-end; +} + +.overflow-hidden { + overflow: hidden; +} + +.overflow-y-auto { + overflow-y: auto; +} + +.text-wrap { + text-wrap: wrap; +} + +.break-all { + word-break: break-all; +} + +.rounded { + border-radius: 0.25rem; +} + +.rounded-box { + border-radius: var(--rounded-box, 1rem); +} + +.rounded-full { + border-radius: 9999px; +} + +.rounded-lg { + border-radius: 0.5rem; +} + +.rounded-md { + border-radius: 0.375rem; +} + +.border { + border-width: 1px; +} + +.border-0 { + border-width: 0px; +} + +.bg-base-100 { + --tw-bg-opacity: 1; + background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity, 1))); +} + +.bg-base-200 { + --tw-bg-opacity: 1; + background-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-bg-opacity, 1))); +} + +.bg-black { + --tw-bg-opacity: 1; + background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1)); +} + +.bg-blue-500 { + --tw-bg-opacity: 1; + background-color: rgb(59 130 246 / var(--tw-bg-opacity, 1)); +} + +.bg-gray-100 { + --tw-bg-opacity: 1; + background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1)); +} + +.bg-gray-200 { + --tw-bg-opacity: 1; + background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1)); +} + +.bg-gray-50 { + --tw-bg-opacity: 1; + background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1)); +} + +.bg-gray-900 { + --tw-bg-opacity: 1; + background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1)); +} + +.bg-green-50 { + --tw-bg-opacity: 1; + background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1)); +} + +.bg-indigo-600 { + --tw-bg-opacity: 1; + background-color: rgb(79 70 229 / var(--tw-bg-opacity, 1)); +} + +.bg-neutral { + --tw-bg-opacity: 1; + background-color: var(--fallback-n,oklch(var(--n)/var(--tw-bg-opacity, 1))); +} + +.bg-neutral-800 { + --tw-bg-opacity: 1; + background-color: rgb(38 38 38 / var(--tw-bg-opacity, 1)); +} + +.bg-primary { + --tw-bg-opacity: 1; + background-color: var(--fallback-p,oklch(var(--p)/var(--tw-bg-opacity, 1))); +} + +.bg-secondary { + --tw-bg-opacity: 1; + background-color: var(--fallback-s,oklch(var(--s)/var(--tw-bg-opacity, 1))); +} + +.bg-white { + --tw-bg-opacity: 1; + background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1)); +} + +.bg-cover { + background-size: cover; +} + +.bg-center { + background-position: center; +} + +.fill-current { + fill: currentColor; +} + +.object-cover { + -o-object-fit: cover; + object-fit: cover; +} + +.p-10 { + padding: 2.5rem; +} + +.p-2 { + padding: 0.5rem; +} + +.p-4 { + padding: 1rem; +} + +.p-6 { + padding: 1.5rem; +} + +.px-1 { + padding-left: 0.25rem; + padding-right: 0.25rem; +} + +.px-2 { + padding-left: 0.5rem; + padding-right: 0.5rem; +} + +.px-3 { + padding-left: 0.75rem; + padding-right: 0.75rem; +} + +.px-4 { + padding-left: 1rem; + padding-right: 1rem; +} + +.px-6 { + padding-left: 1.5rem; + padding-right: 1.5rem; +} + +.px-8 { + padding-left: 2rem; + padding-right: 2rem; +} + +.py-1\.5 { + padding-top: 0.375rem; + padding-bottom: 0.375rem; +} + +.py-12 { + padding-top: 3rem; + padding-bottom: 3rem; +} + +.py-2 { + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} + +.py-4 { + padding-top: 1rem; + padding-bottom: 1rem; +} + +.pb-3 { + padding-bottom: 0.75rem; +} + +.pl-10 { + padding-left: 2.5rem; +} + +.pr-3 { + padding-right: 0.75rem; +} + +.pr-4 { + padding-right: 1rem; +} + +.pt-3 { + padding-top: 0.75rem; +} + +.text-left { + text-align: left; +} + +.text-center { + text-align: center; +} + +.text-justify { + text-align: justify; +} + +.align-middle { + vertical-align: middle; +} + +.font-sans { + font-family: Inter, sans-serif; +} + +.text-2xl { + font-size: 1.5rem; + line-height: 2rem; +} + +.text-3xl { + font-size: 1.875rem; + line-height: 2.25rem; +} + +.text-base { + font-size: 1rem; + line-height: 1.5rem; +} + +.text-sm { + font-size: 0.875rem; + line-height: 1.25rem; +} + +.text-xl { + font-size: 1.25rem; + line-height: 1.75rem; +} + +.text-xs { + font-size: 0.75rem; + line-height: 1rem; +} + +.font-bold { + font-weight: 700; +} + +.font-medium { + font-weight: 500; +} + +.font-semibold { + font-weight: 600; +} + +.uppercase { + text-transform: uppercase; +} + +.lowercase { + text-transform: lowercase; +} + +.capitalize { + text-transform: capitalize; +} + +.italic { + font-style: italic; +} + +.ordinal { + --tw-ordinal: ordinal; + font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction); +} + +.leading-6 { + line-height: 1.5rem; +} + +.leading-9 { + line-height: 2.25rem; +} + +.tracking-tight { + letter-spacing: -0.025em; +} + +.text-base-content { + --tw-text-opacity: 1; + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity, 1))); +} + +.text-black { + --tw-text-opacity: 1; + color: rgb(0 0 0 / var(--tw-text-opacity, 1)); +} + +.text-gray-100 { + --tw-text-opacity: 1; + color: rgb(243 244 246 / var(--tw-text-opacity, 1)); +} + +.text-gray-400 { + --tw-text-opacity: 1; + color: rgb(156 163 175 / var(--tw-text-opacity, 1)); +} + +.text-gray-500 { + --tw-text-opacity: 1; + color: rgb(107 114 128 / var(--tw-text-opacity, 1)); +} + +.text-gray-600 { + --tw-text-opacity: 1; + color: rgb(75 85 99 / var(--tw-text-opacity, 1)); +} + +.text-gray-700 { + --tw-text-opacity: 1; + color: rgb(55 65 81 / var(--tw-text-opacity, 1)); +} + +.text-gray-800 { + --tw-text-opacity: 1; + color: rgb(31 41 55 / var(--tw-text-opacity, 1)); +} + +.text-gray-900 { + --tw-text-opacity: 1; + color: rgb(17 24 39 / var(--tw-text-opacity, 1)); +} + +.text-green-500 { + --tw-text-opacity: 1; + color: rgb(34 197 94 / var(--tw-text-opacity, 1)); +} + +.text-green-600 { + --tw-text-opacity: 1; + color: rgb(22 163 74 / var(--tw-text-opacity, 1)); +} + +.text-indigo-600 { + --tw-text-opacity: 1; + color: rgb(79 70 229 / var(--tw-text-opacity, 1)); +} + +.text-info { + --tw-text-opacity: 1; + color: var(--fallback-in,oklch(var(--in)/var(--tw-text-opacity, 1))); +} + +.text-neutral-content { + --tw-text-opacity: 1; + color: var(--fallback-nc,oklch(var(--nc)/var(--tw-text-opacity, 1))); +} + +.text-primary-content { + --tw-text-opacity: 1; + color: var(--fallback-pc,oklch(var(--pc)/var(--tw-text-opacity, 1))); +} + +.text-red-500 { + --tw-text-opacity: 1; + color: rgb(239 68 68 / var(--tw-text-opacity, 1)); +} + +.text-red-600 { + --tw-text-opacity: 1; + color: rgb(220 38 38 / var(--tw-text-opacity, 1)); +} + +.text-secondary { + --tw-text-opacity: 1; + color: var(--fallback-s,oklch(var(--s)/var(--tw-text-opacity, 1))); +} + +.text-secondary-content { + --tw-text-opacity: 1; + color: var(--fallback-sc,oklch(var(--sc)/var(--tw-text-opacity, 1))); +} + +.text-success { + --tw-text-opacity: 1; + color: var(--fallback-su,oklch(var(--su)/var(--tw-text-opacity, 1))); +} + +.text-white { + --tw-text-opacity: 1; + color: rgb(255 255 255 / var(--tw-text-opacity, 1)); +} + +.underline { + text-decoration-line: underline; +} + +.overline { + text-decoration-line: overline; +} + +.line-through { + text-decoration-line: line-through; +} + +.antialiased { + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.subpixel-antialiased { + -webkit-font-smoothing: auto; + -moz-osx-font-smoothing: auto; +} + +.opacity-20 { + opacity: 0.2; +} + +.opacity-70 { + opacity: 0.7; +} + +.shadow { + --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1); + --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} + +.shadow-lg { + --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1); + --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} + +.shadow-md { + --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1); + --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} + +.shadow-sm { + --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05); + --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} + +.shadow-xl { + --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1); + --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} + +.outline { + outline-style: solid; +} + +.ring { + --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); + --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color); + box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); +} + +.ring-1 { + --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); + --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color); + box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); +} + +.ring-inset { + --tw-ring-inset: inset; +} + +.ring-gray-300 { + --tw-ring-opacity: 1; + --tw-ring-color: rgb(209 213 219 / var(--tw-ring-opacity, 1)); +} + +.blur { + --tw-blur: blur(8px); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} + +.drop-shadow { + --tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / 0.1)) drop-shadow(0 1px 1px rgb(0 0 0 / 0.06)); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} + +.grayscale { + --tw-grayscale: grayscale(100%); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} + +.invert { + --tw-invert: invert(100%); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} + +.sepia { + --tw-sepia: sepia(100%); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} + +.\!filter { + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow) !important; +} + +.filter { + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} + +.backdrop-filter { + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} + +.transition { + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter; + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-duration: 150ms; +} + +.ease-in { + transition-timing-function: cubic-bezier(0.4, 0, 1, 1); +} + +.ease-in-out { + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); +} + +.ease-out { + transition-timing-function: cubic-bezier(0, 0, 0.2, 1); +} + +.\[a-z_\:\.\\-\] { + a-z_: .\-; +} + +@Layer base { + @font-face{ + font-family: 'Monserrat'; + + font-style: normal; + + font-weight: 400; + + font-display: swap; + + src: url(static/fonts/Montserrat-VariableFont_wght.woff2) format('woff2'); + } + + font-family:"Monserrat", system-ui, sans-serif; + + @font-face{ + font-family: 'Inter'; + + font-style: normal; + + font-weight: 400; + + font-display: swap; + + src: url(static/fonts/Inter-VariableFont_slnt,wght.woff2) format('woff2'); + } +} + +@media (min-width: 1024px) { + .lg\:menu-horizontal { + display: inline-flex; + flex-direction: row; + } + + .lg\:menu-horizontal > li:not(.menu-title) > details > ul { + position: absolute; + margin-inline-start: 0px; + margin-top: 1rem; + padding-top: 0.5rem; + padding-bottom: 0.5rem; + padding-inline-end: 0.5rem; + } + + .lg\:menu-horizontal > li > details > ul:before { + content: none; + } + + :where(.lg\:menu-horizontal > li:not(.menu-title) > details > ul) { + border-radius: var(--rounded-box, 1rem); + --tw-bg-opacity: 1; + background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity))); + --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1); + --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); + } +} + +.placeholder\:text-gray-400::-moz-placeholder { + --tw-text-opacity: 1; + color: rgb(156 163 175 / var(--tw-text-opacity, 1)); +} + +.placeholder\:text-gray-400::placeholder { + --tw-text-opacity: 1; + color: rgb(156 163 175 / var(--tw-text-opacity, 1)); +} + +.hover\:bg-gray-200:hover { + --tw-bg-opacity: 1; + background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1)); +} + +.hover\:bg-gray-700:hover { + --tw-bg-opacity: 1; + background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1)); +} + +.hover\:bg-indigo-500:hover { + --tw-bg-opacity: 1; + background-color: rgb(99 102 241 / var(--tw-bg-opacity, 1)); +} + +.hover\:bg-primary:hover { + --tw-bg-opacity: 1; + background-color: var(--fallback-p,oklch(var(--p)/var(--tw-bg-opacity, 1))); +} + +.hover\:text-gray-700:hover { + --tw-text-opacity: 1; + color: rgb(55 65 81 / var(--tw-text-opacity, 1)); +} + +.hover\:text-gray-900:hover { + --tw-text-opacity: 1; + color: rgb(17 24 39 / var(--tw-text-opacity, 1)); +} + +.hover\:text-indigo-500:hover { + --tw-text-opacity: 1; + color: rgb(99 102 241 / var(--tw-text-opacity, 1)); +} + +.focus\:outline-none:focus { + outline: 2px solid transparent; + outline-offset: 2px; +} + +.focus\:ring-2:focus { + --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); + --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color); + box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); +} + +.focus\:ring-inset:focus { + --tw-ring-inset: inset; +} + +.focus\:ring-indigo-600:focus { + --tw-ring-opacity: 1; + --tw-ring-color: rgb(79 70 229 / var(--tw-ring-opacity, 1)); +} + +.focus-visible\:outline:focus-visible { + outline-style: solid; +} + +.focus-visible\:outline-2:focus-visible { + outline-width: 2px; +} + +.focus-visible\:outline-offset-2:focus-visible { + outline-offset: 2px; +} + +.focus-visible\:outline-indigo-600:focus-visible { + outline-color: #4f46e5; +} + +.focus-visible\:outline-primary:focus-visible { + outline-color: var(--fallback-p,oklch(var(--p)/1)); +} + +@media (min-width: 640px) { + .sm\:mx-auto { + margin-left: auto; + margin-right: auto; + } + + .sm\:w-1\/2 { + width: 50%; + } + + .sm\:w-full { + width: 100%; + } + + .sm\:max-w-sm { + max-width: 24rem; + } + + .sm\:text-sm { + font-size: 0.875rem; + line-height: 1.25rem; + } + + .sm\:leading-6 { + line-height: 1.5rem; + } +} + +@media (min-width: 768px) { + .md\:flex { + display: flex; + } + + .md\:h-auto { + height: auto; + } + + .md\:w-1\/2 { + width: 50%; + } + + .md\:w-1\/3 { + width: 33.333333%; + } + + .md\:grid-cols-2 { + grid-template-columns: repeat(2, minmax(0, 1fr)); + } + + .md\:place-self-center { + place-self: center; + } + + .md\:justify-self-end { + justify-self: end; + } + + .md\:p-8 { + padding: 2rem; + } +} + +@media (min-width: 1024px) { + .lg\:grid-cols-3 { + grid-template-columns: repeat(3, minmax(0, 1fr)); + } + + .lg\:grid-cols-4 { + grid-template-columns: repeat(4, minmax(0, 1fr)); + } + + .lg\:px-8 { + padding-left: 2rem; + padding-right: 2rem; + } +} diff --git a/wwws/apx/src/static/css/app.css b/wwws/apx/src/static/css/app.css new file mode 100644 index 0000000..c5bc57c --- /dev/null +++ b/wwws/apx/src/static/css/app.css @@ -0,0 +1,7 @@ +/*! + * AdminKit v3.4.0 (https://adminkit.io/) + * Copyright 2023 Paul Laros + * Copyright 2023 AdminKit + * Licensed under MIT (https://github.com/adminkit/adminkit/blob/master/LICENSE) + */@font-face{font-family:Quicksand;src:url(../fonts/Quicksand-VariableFont_wght.woff) format("woff")}@font-face{font-family:Questrial;src:url(../fonts/questrial-regular-webfont.woff) format("woff")}:root,[data-bs-theme=light]{--bs-blue:#3b7ddd;--bs-indigo:#0a0a0a;--bs-purple:#6f42c1;--bs-pink:#e83e8c;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#fcb92c;--bs-green:#1cbb8c;--bs-teal:#20c997;--bs-cyan:#17a2b8;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#3b7ddd;--bs-secondary:#fcb92c;--bs-success:#1cbb8c;--bs-info:#17a2b8;--bs-warning:#fcb92c;--bs-danger:#dc3545;--bs-light:#f5f7fb;--bs-dark:#212529;--bs-primary-rgb:59,125,221;--bs-secondary-rgb:252,185,44;--bs-success-rgb:28,187,140;--bs-info-rgb:23,162,184;--bs-warning-rgb:252,185,44;--bs-danger-rgb:220,53,69;--bs-light-rgb:245,247,251;--bs-dark-rgb:33,37,41;--bs-primary-text-emphasis:#183258;--bs-secondary-text-emphasis:#654a12;--bs-success-text-emphasis:#0b4b38;--bs-info-text-emphasis:#09414a;--bs-warning-text-emphasis:#654a12;--bs-danger-text-emphasis:#58151c;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#d8e5f8;--bs-secondary-bg-subtle:#fef1d5;--bs-success-bg-subtle:#d2f1e8;--bs-info-bg-subtle:#d1ecf1;--bs-warning-bg-subtle:#fef1d5;--bs-danger-bg-subtle:#f8d7da;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#b1cbf1;--bs-secondary-border-subtle:#fee3ab;--bs-success-border-subtle:#a4e4d1;--bs-info-border-subtle:#a2dae3;--bs-warning-border-subtle:#fee3ab;--bs-danger-border-subtle:#f1aeb5;--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-font-sans-serif:"Quicksand","Inter","Helvetica Neue",Arial,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg,hsla(0,0%,100%,.15),hsla(0,0%,100%,0));--bs-body-font-family:"Questrial";--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#111;--bs-body-color-rgb:17,17,17;--bs-body-bg:#f5f7fb;--bs-body-bg-rgb:245,247,251;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0,0,0;--bs-secondary-color:hsla(0,0%,7%,.75);--bs-secondary-color-rgb:17,17,17;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233,236,239;--bs-tertiary-color:hsla(0,0%,7%,.5);--bs-tertiary-color-rgb:17,17,17;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248,249,250;--bs-heading-color:#000;--bs-link-color:#3b7ddd;--bs-link-color-rgb:59,125,221;--bs-link-decoration:none;--bs-link-hover-color:#2f64b1;--bs-link-hover-color-rgb:47,100,177;--bs-link-hover-decoration:underline;--bs-code-color:#e83e8c;--bs-highlight-bg:#fef1d5;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0,0,0,.175);--bs-border-radius:0.2rem;--bs-border-radius-sm:0.1rem;--bs-border-radius-lg:0.3rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 0.1rem 0.2rem rgba(0,0,0,.05);--bs-box-shadow-sm:0 0.05rem 0.2rem rgba(0,0,0,.05);--bs-box-shadow-lg:0 0.2rem 0.2rem rgba(0,0,0,.05);--bs-box-shadow-inset:inset 0 1px 2px rgba(0,0,0,.075);--bs-focus-ring-width:0.25rem;--bs-focus-ring-opacity:0.25;--bs-focus-ring-color:rgba(59,125,221,.25);--bs-form-valid-color:#1cbb8c;--bs-form-valid-border-color:#1cbb8c;--bs-form-invalid-color:#dc3545;--bs-form-invalid-border-color:#dc3545}*,:after,:before{box-sizing:border-box}@media(prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{background-color:var(--bs-body-bg);color:var(--bs-body-color);font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);margin:0;text-align:var(--bs-body-text-align);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}hr{border:0;border-top:var(--bs-border-width) solid;color:inherit;margin:1rem 0;opacity:.25}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{color:var(--bs-heading-color);font-weight:400;line-height:1.2;margin-bottom:.5rem;margin-top:0}.h1,h1{font-size:2rem}.h2,h2{font-size:1.75rem}.h3,h3{font-size:1.5rem}.h4,h4{font-size:1.25rem}.h5,.h6,h5,h6{font-size:1rem}p{margin-bottom:1rem;margin-top:0}abbr[title]{cursor:help;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{font-style:normal;line-height:inherit;margin-bottom:1rem}ol,ul{padding-left:2rem}dl,ol,ul{margin-bottom:1rem;margin-top:0}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:600}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:80%}.mark,mark{background-color:var(--bs-highlight-bg);padding:.1875em}sub,sup{font-size:.75em;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,1));text-decoration:none}a:hover{--bs-link-color-rgb:var(--bs-link-hover-color-rgb);text-decoration:underline}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;font-size:80%;margin-bottom:1rem;margin-top:0;overflow:auto}pre code{color:inherit;font-size:inherit;word-break:normal}code{color:var(--bs-code-color);font-size:80%;word-wrap:break-word}a>code{color:inherit}kbd{background-color:var(--bs-body-color);border-radius:.1rem;color:var(--bs-body-bg);font-size:80%;padding:.1875rem .375rem}kbd kbd{font-size:1em;padding:0}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{border-collapse:collapse;caption-side:bottom}caption{color:var(--bs-secondary-color);padding-bottom:.75rem;padding-top:.75rem;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border:0 solid;border-color:inherit}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit;margin:0}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{border-style:none;padding:0}textarea{resize:vertical}fieldset{border:0;margin:0;min-width:0;padding:0}legend{float:left;font-size:1.5rem;line-height:inherit;margin-bottom:.5rem;padding:0;width:100%}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}::file-selector-button{-webkit-appearance:button;font:inherit}output{display:inline-block}iframe{border:0}summary{cursor:pointer;display:list-item}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem}.display-1,.display-2{font-weight:300;line-height:1.2}.display-2{font-size:5.5rem}.display-3{font-size:4.5rem}.display-3,.display-4{font-weight:300;line-height:1.2}.display-4{font-size:3.5rem}.display-5{font-size:3rem}.display-5,.display-6{font-weight:300;line-height:1.2}.display-6{font-size:2.5rem}.list-inline,.list-unstyled{list-style:none;padding-left:0}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:80%;text-transform:uppercase}.blockquote{font-size:1.25rem;margin-bottom:1rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{color:#6c757d;font-size:80%;margin-bottom:1rem;margin-top:-1rem}.blockquote-footer:before{content:"— "}.img-fluid,.img-thumbnail{height:auto;max-width:100%}.img-thumbnail{background-color:var(--bs-body-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);padding:.25rem}.figure{display:inline-block}.figure-img{line-height:1;margin-bottom:.5rem}.figure-caption{color:var(--bs-secondary-color);font-size:80%}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{--bs-gutter-x:0.75rem;--bs-gutter-y:0;margin-left:auto;margin-right:auto;padding-left:calc(var(--bs-gutter-x)*.5);padding-right:calc(var(--bs-gutter-x)*.5);width:100%}@media(min-width:576px){.container,.container-sm{max-width:540px}}@media(min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media(min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media(min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1200px}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1440px}.row{--bs-gutter-x:24px;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-left:calc(var(--bs-gutter-x)*-.5);margin-right:calc(var(--bs-gutter-x)*-.5);margin-top:calc(var(--bs-gutter-y)*-1)}.row>*{flex-shrink:0;margin-top:var(--bs-gutter-y);max-width:100%;padding-left:calc(var(--bs-gutter-x)*.5);padding-right:calc(var(--bs-gutter-x)*.5);width:100%}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}.g-6,.gx-6{--bs-gutter-x:4.5rem}.g-6,.gy-6{--bs-gutter-y:4.5rem}.g-7,.gx-7{--bs-gutter-x:6rem}.g-7,.gy-7{--bs-gutter-y:6rem}@media(min-width:576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}.g-sm-6,.gx-sm-6{--bs-gutter-x:4.5rem}.g-sm-6,.gy-sm-6{--bs-gutter-y:4.5rem}.g-sm-7,.gx-sm-7{--bs-gutter-x:6rem}.g-sm-7,.gy-sm-7{--bs-gutter-y:6rem}}@media(min-width:768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}.g-md-6,.gx-md-6{--bs-gutter-x:4.5rem}.g-md-6,.gy-md-6{--bs-gutter-y:4.5rem}.g-md-7,.gx-md-7{--bs-gutter-x:6rem}.g-md-7,.gy-md-7{--bs-gutter-y:6rem}}@media(min-width:992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}.g-lg-6,.gx-lg-6{--bs-gutter-x:4.5rem}.g-lg-6,.gy-lg-6{--bs-gutter-y:4.5rem}.g-lg-7,.gx-lg-7{--bs-gutter-x:6rem}.g-lg-7,.gy-lg-7{--bs-gutter-y:6rem}}@media(min-width:1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}.g-xl-6,.gx-xl-6{--bs-gutter-x:4.5rem}.g-xl-6,.gy-xl-6{--bs-gutter-y:4.5rem}.g-xl-7,.gx-xl-7{--bs-gutter-x:6rem}.g-xl-7,.gy-xl-7{--bs-gutter-y:6rem}}@media(min-width:1440px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}.g-xxl-6,.gx-xxl-6{--bs-gutter-x:4.5rem}.g-xxl-6,.gy-xxl-6{--bs-gutter-y:4.5rem}.g-xxl-7,.gx-xxl-7{--bs-gutter-x:6rem}.g-xxl-7,.gy-xxl-7{--bs-gutter-y:6rem}}.table{--bs-table-color-type:initial;--bs-table-bg-type:initial;--bs-table-color-state:initial;--bs-table-bg-state:initial;--bs-table-color:var(--bs-body-color);--bs-table-bg:transparent;--bs-table-border-color:var(--bs-border-color);--bs-table-accent-bg:transparent;--bs-table-striped-color:var(--bs-body-color);--bs-table-striped-bg:#f8f9fa;--bs-table-active-color:var(--bs-body-color);--bs-table-active-bg:rgba(0,0,0,.1);--bs-table-hover-color:var(--bs-body-color);--bs-table-hover-bg:rgba(0,0,0,.038);border-color:var(--bs-table-border-color);margin-bottom:1rem;vertical-align:top;width:100%}.table>:not(caption)>*>*{background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state,var(--bs-table-bg-type,var(--bs-table-accent-bg)));color:var(--bs-table-color-state,var(--bs-table-color-type,var(--bs-table-color)));padding:.75rem}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--bs-border-width)*2) solid}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.3rem}.table-bordered>:not(caption)>*{border-width:var(--bs-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-border-width)}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped-columns>:not(caption)>tr>:nth-child(2n),.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-active{--bs-table-color-state:var(--bs-table-active-color);--bs-table-bg-state:var(--bs-table-active-bg)}.table-hover>tbody>tr:hover>*{--bs-table-color-state:var(--bs-table-hover-color);--bs-table-bg-state:var(--bs-table-hover-bg)}.table-primary{--bs-table-color:#000;--bs-table-bg:#d8e5f8;--bs-table-border-color:#c2cedf;--bs-table-striped-bg:#cddaec;--bs-table-striped-color:#000;--bs-table-active-bg:#c2cedf;--bs-table-active-color:#000;--bs-table-hover-bg:#c8d4e5;--bs-table-hover-color:#000}.table-primary,.table-secondary{border-color:var(--bs-table-border-color);color:var(--bs-table-color)}.table-secondary{--bs-table-color:#000;--bs-table-bg:#fef1d5;--bs-table-border-color:#e5d9c0;--bs-table-striped-bg:#f1e5ca;--bs-table-striped-color:#000;--bs-table-active-bg:#e5d9c0;--bs-table-active-color:#000;--bs-table-hover-bg:#ebdfc5;--bs-table-hover-color:#000}.table-success{--bs-table-color:#000;--bs-table-bg:#d2f1e8;--bs-table-border-color:#bdd9d1;--bs-table-striped-bg:#c8e5dc;--bs-table-striped-color:#000;--bs-table-active-bg:#bdd9d1;--bs-table-active-color:#000;--bs-table-hover-bg:#c2dfd7;--bs-table-hover-color:#000}.table-info,.table-success{border-color:var(--bs-table-border-color);color:var(--bs-table-color)}.table-info{--bs-table-color:#000;--bs-table-bg:#d1ecf1;--bs-table-border-color:#bcd4d9;--bs-table-striped-bg:#c7e0e5;--bs-table-striped-color:#000;--bs-table-active-bg:#bcd4d9;--bs-table-active-color:#000;--bs-table-hover-bg:#c1dadf;--bs-table-hover-color:#000}.table-warning{--bs-table-color:#000;--bs-table-bg:#fef1d5;--bs-table-border-color:#e5d9c0;--bs-table-striped-bg:#f1e5ca;--bs-table-striped-color:#000;--bs-table-active-bg:#e5d9c0;--bs-table-active-color:#000;--bs-table-hover-bg:#ebdfc5;--bs-table-hover-color:#000}.table-danger,.table-warning{border-color:var(--bs-table-border-color);color:var(--bs-table-color)}.table-danger{--bs-table-color:#000;--bs-table-bg:#f8d7da;--bs-table-border-color:#dfc2c4;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000;--bs-table-active-bg:#dfc2c4;--bs-table-active-color:#000;--bs-table-hover-bg:#e5c7ca;--bs-table-hover-color:#000}.table-light{--bs-table-color:#000;--bs-table-bg:#f5f7fb;--bs-table-border-color:#dddee2;--bs-table-striped-bg:#e9ebee;--bs-table-striped-color:#000;--bs-table-active-bg:#dddee2;--bs-table-active-color:#000;--bs-table-hover-bg:#e3e4e8;--bs-table-hover-color:#000}.table-dark,.table-light{border-color:var(--bs-table-border-color);color:var(--bs-table-color)}.table-dark{--bs-table-color:#fff;--bs-table-bg:#212529;--bs-table-border-color:#373b3e;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#fff;--bs-table-active-bg:#373b3e;--bs-table-active-color:#fff;--bs-table-hover-bg:#323539;--bs-table-hover-color:#fff}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media(max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width:1439.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{font-size:inherit;line-height:1.5;margin-bottom:0;padding-bottom:calc(.3rem + 1px);padding-top:calc(.3rem + 1px)}.col-form-label-lg{font-size:1.125rem;padding-bottom:calc(.4rem + 1px);padding-top:calc(.4rem + 1px)}.col-form-label-sm{font-size:.75rem;padding-bottom:calc(.2rem + 1px);padding-top:calc(.2rem + 1px)}.form-text{color:var(--bs-secondary-color);font-size:80%;margin-top:.25rem}.form-control{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-clip:padding-box;background-color:#fff;border:1px solid var(--bs-border-color);border-radius:var(--bs-border-radius);color:#495057;display:block;font-size:1rem;font-weight:400;line-height:1.5;padding:.3rem .85rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:100%}@media(prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{background-color:#fff;border-color:#9dbeee;box-shadow:0 0 0 .25rem rgba(59,125,221,.25);color:#495057;outline:0}.form-control::-webkit-date-and-time-value{height:1.5em;margin:0;min-width:85px}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::-moz-placeholder{color:var(--bs-secondary-color);opacity:1}.form-control::placeholder{color:var(--bs-secondary-color);opacity:1}.form-control:disabled{background-color:#e9ecef;opacity:1}.form-control::-webkit-file-upload-button{margin:-.3rem -.85rem;padding:.3rem .85rem;-webkit-margin-end:.85rem;background-color:var(--bs-tertiary-bg);border:0 solid;border-color:inherit;border-inline-end-width:1px;border-radius:0;color:#495057;margin-inline-end:.85rem;pointer-events:none;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control::file-selector-button{margin:-.3rem -.85rem;padding:.3rem .85rem;-webkit-margin-end:.85rem;background-color:var(--bs-tertiary-bg);border:0 solid;border-color:inherit;border-inline-end-width:1px;border-radius:0;color:#495057;margin-inline-end:.85rem;pointer-events:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:var(--bs-secondary-bg)}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-secondary-bg)}.form-control-plaintext{background-color:transparent;border:solid transparent;border-width:1px 0;color:var(--bs-body-color);display:block;line-height:1.5;margin-bottom:0;padding:.3rem 0;width:100%}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-left:0;padding-right:0}.form-control-sm{border-radius:var(--bs-border-radius-sm);font-size:.75rem;min-height:calc(1.525rem + 2px);padding:.2rem .5rem}.form-control-sm::-webkit-file-upload-button{margin:-.2rem -.5rem;padding:.2rem .5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::file-selector-button{margin:-.2rem -.5rem;padding:.2rem .5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{border-radius:var(--bs-border-radius-lg);font-size:1.125rem;min-height:calc(2.4875rem + 2px);padding:.4rem 1rem}.form-control-lg::-webkit-file-upload-button{margin:-.4rem -1rem;padding:.4rem 1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::file-selector-button{margin:-.4rem -1rem;padding:.4rem 1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(2.1rem + 2px)}textarea.form-control-sm{min-height:calc(1.525rem + 2px)}textarea.form-control-lg{min-height:calc(2.4875rem + 2px)}.form-control-color{height:calc(2.1rem + 2px);padding:.3rem;width:3rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color::-webkit-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color.form-control-sm{height:calc(1.525rem + 2px)}.form-control-color.form-control-lg{height:calc(2.4875rem + 2px)}.form-select{--bs-form-select-bg-img:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3E%3C/svg%3E");-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon,none);background-position:right .85rem center;background-repeat:no-repeat;background-size:16px 12px;border:1px solid var(--bs-border-color);border-radius:var(--bs-border-radius);color:#495057;display:block;font-size:1rem;font-weight:400;line-height:1.5;padding:.3rem 2.55rem .3rem .85rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:100%}@media(prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#9dbeee;box-shadow:0 0 0 .2rem rgba(59,125,221,.25);outline:0}.form-select[multiple],.form-select[size]:not([size="1"]){background-image:none;padding-right:.85rem}.form-select:disabled{background-color:#e9ecef}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.form-select-sm{border-radius:var(--bs-border-radius-sm);font-size:.75rem;padding-bottom:.2rem;padding-left:.5rem;padding-top:.2rem}.form-select-lg{border-radius:var(--bs-border-radius-lg);font-size:1.125rem;padding-bottom:.4rem;padding-left:1rem;padding-top:.4rem}.form-check{display:block;margin-bottom:.125rem;min-height:1.5rem;padding-left:1.5em}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-left:0;padding-right:1.5em;text-align:right}.form-check-reverse .form-check-input{float:right;margin-left:0;margin-right:-1.5em}.form-check-input{--bs-form-check-bg:#fff;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-position:50%;background-repeat:no-repeat;background-size:contain;border:var(--bs-border-width) solid var(--bs-border-color);height:1em;margin-top:.25em;-webkit-print-color-adjust:exact;vertical-align:top;width:1em;color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#9dbeee;box-shadow:0 0 0 .25rem rgba(59,125,221,.25);outline:0}.form-check-input:checked{background-color:#3b7ddd;border-color:#3b7ddd}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3E%3C/svg%3E")}.form-check-input:checked[type=radio]{--bs-form-check-bg-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='2' fill='%23fff'/%3E%3C/svg%3E")}.form-check-input[type=checkbox]:indeterminate{background-color:#3b7ddd;border-color:#3b7ddd;--bs-form-check-bg-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3E%3C/svg%3E")}.form-check-input:disabled{filter:none;opacity:.5;pointer-events:none}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--bs-form-switch-bg:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='rgba(0, 0, 0, 0.25)'/%3E%3C/svg%3E");background-image:var(--bs-form-switch-bg);background-position:0;border-radius:2em;margin-left:-2.5em;transition:background-position .15s ease-in-out;width:2em}@media(prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%239dbeee'/%3E%3C/svg%3E")}.form-switch .form-check-input:checked{background-position:100%;--bs-form-switch-bg:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E")}.form-switch.form-check-reverse{padding-left:0;padding-right:2.5em}.form-switch.form-check-reverse .form-check-input{margin-left:0;margin-right:-2.5em}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{filter:none;opacity:.65;pointer-events:none}.form-range{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;height:1.4rem;padding:0;width:100%}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #f5f7fb,0 0 0 .25rem rgba(59,125,221,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #f5f7fb,0 0 0 .25rem rgba(59,125,221,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background-color:#3b7ddd;border:0;border-radius:1rem;height:1rem;margin-top:-.25rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:1rem}@media(prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#c4d8f5}.form-range::-webkit-slider-runnable-track{background-color:var(--bs-tertiary-bg);border-color:transparent;border-radius:1rem;color:transparent;cursor:pointer;height:.5rem;width:100%}.form-range::-moz-range-thumb{-moz-appearance:none;appearance:none;background-color:#3b7ddd;border:0;border-radius:1rem;height:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:1rem}@media(prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#c4d8f5}.form-range::-moz-range-track{background-color:var(--bs-tertiary-bg);border-color:transparent;border-radius:1rem;color:transparent;cursor:pointer;height:.5rem;width:100%}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-secondary-color)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + 2px);line-height:1.25;min-height:calc(3.5rem + 2px)}.form-floating>label{border:1px solid transparent;height:100%;left:0;overflow:hidden;padding:1rem .85rem;pointer-events:none;position:absolute;text-align:start;text-overflow:ellipsis;top:0;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out;white-space:nowrap;z-index:2}@media(prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .85rem}.form-floating>.form-control-plaintext::-moz-placeholder,.form-floating>.form-control::-moz-placeholder{color:transparent}.form-floating>.form-control-plaintext::placeholder,.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control-plaintext:not(:-moz-placeholder-shown),.form-floating>.form-control:not(:-moz-placeholder-shown){padding-bottom:.625rem;padding-top:1.625rem}.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown),.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-bottom:.625rem;padding-top:1.625rem}.form-floating>.form-control-plaintext:-webkit-autofill,.form-floating>.form-control:-webkit-autofill{padding-bottom:.625rem;padding-top:1.625rem}.form-floating>.form-select{padding-bottom:.625rem;padding-top:1.625rem}.form-floating>.form-control:not(:-moz-placeholder-shown)~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control-plaintext~label,.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:not(:-moz-placeholder-shown)~label:after{background-color:#fff;border-radius:var(--bs-border-radius);content:"";height:1.5em;inset:1rem .425rem;position:absolute;z-index:-1}.form-floating>.form-control-plaintext~label:after,.form-floating>.form-control:focus~label:after,.form-floating>.form-control:not(:placeholder-shown)~label:after,.form-floating>.form-select~label:after{background-color:#fff;border-radius:var(--bs-border-radius);content:"";height:1.5em;inset:1rem .425rem;position:absolute;z-index:-1}.form-floating>.form-control:-webkit-autofill~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control-plaintext~label{border-width:1px 0}.form-floating>:disabled~label{color:#6c757d}.form-floating>:disabled~label:after{background-color:#e9ecef}.input-group{align-items:stretch;display:flex;flex-wrap:wrap;position:relative;width:100%}.input-group>.form-control,.input-group>.form-floating,.input-group>.form-select{flex:1 1 auto;min-width:0;position:relative;width:1%}.input-group>.form-control:focus,.input-group>.form-floating:focus-within,.input-group>.form-select:focus{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{align-items:center;background-color:var(--bs-tertiary-bg);border:1px solid var(--bs-border-color);border-radius:var(--bs-border-radius);color:#495057;display:flex;font-size:1rem;font-weight:400;line-height:1.5;padding:.3rem .85rem;text-align:center;white-space:nowrap}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{border-radius:var(--bs-border-radius-lg);font-size:1.125rem;padding:.4rem 1rem}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{border-radius:var(--bs-border-radius-sm);font-size:.75rem;padding:.2rem .5rem}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3.4rem}.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select,.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select,.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-bottom-right-radius:0;border-top-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){border-bottom-left-radius:0;border-top-left-radius:0;margin-left:-1px}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-bottom-left-radius:0;border-top-left-radius:0}.valid-feedback{color:var(--bs-form-valid-color);display:none;font-size:80%;margin-top:.25rem;width:100%}.valid-tooltip{background-color:var(--bs-success);border-radius:var(--bs-border-radius);color:#fff;display:none;font-size:.75rem;margin-top:.1rem;max-width:100%;padding:.25rem .5rem;position:absolute;top:100%;z-index:5}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:var(--bs-form-valid-border-color)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .2rem rgba(var(--bs-success-rgb),.25)}.form-select.is-valid,.was-validated .form-select:valid{border-color:var(--bs-form-valid-border-color)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .2rem rgba(var(--bs-success-rgb),.25)}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:var(--bs-form-valid-border-color)}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:var(--bs-form-valid-color)}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .2rem rgba(var(--bs-success-rgb),.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-valid,.input-group>.form-floating:not(:focus-within).is-valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-control:not(:focus):valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.was-validated .input-group>.form-select:not(:focus):valid{z-index:3}.invalid-feedback{color:var(--bs-form-invalid-color);display:none;font-size:80%;margin-top:.25rem;width:100%}.invalid-tooltip{background-color:var(--bs-danger);border-radius:var(--bs-border-radius);color:#fff;display:none;font-size:.75rem;margin-top:.1rem;max-width:100%;padding:.25rem .5rem;position:absolute;top:100%;z-index:5}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:var(--bs-form-invalid-border-color)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .2rem rgba(var(--bs-danger-rgb),.25)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:var(--bs-form-invalid-border-color)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .2rem rgba(var(--bs-danger-rgb),.25)}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:var(--bs-form-invalid-border-color)}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:var(--bs-form-invalid-color)}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .2rem rgba(var(--bs-danger-rgb),.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-invalid,.input-group>.form-floating:not(:focus-within).is-invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-control:not(:focus):invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.was-validated .input-group>.form-select:not(:focus):invalid{z-index:4}.btn{--bs-btn-padding-x:0.85rem;--bs-btn-padding-y:0.3rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight:400;--bs-btn-line-height:1.5;--bs-btn-color:var(--bs-body-color);--bs-btn-bg:transparent;--bs-btn-border-width:1px;--bs-btn-border-color:transparent;--bs-btn-border-radius:var(--bs-border-radius);--bs-btn-hover-border-color:transparent;--bs-btn-box-shadow:inset 0 1px 0 hsla(0,0%,100%,.15),0 1px 1px rgba(0,0,0,.075);--bs-btn-disabled-opacity:0.65;--bs-btn-focus-box-shadow:0 0 0 0.2rem rgba(var(--bs-btn-focus-shadow-rgb),.5);background-color:var(--bs-btn-bg);border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);color:var(--bs-btn-color);cursor:pointer;display:inline-block;font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);text-align:center;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle}@media(prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);color:var(--bs-btn-hover-color);text-decoration:none}.btn-check+.btn:hover{background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color);color:var(--bs-btn-color)}.btn:focus-visible{background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);box-shadow:var(--bs-btn-focus-box-shadow);color:var(--bs-btn-hover-color);outline:0}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);box-shadow:var(--bs-btn-focus-box-shadow);outline:0}.btn-check:checked+.btn,.btn.active,.btn.show,.btn:first-child:active,:not(.btn-check)+.btn:active{background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color);color:var(--bs-btn-active-color)}.btn-check:checked+.btn:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible,.btn:first-child:active:focus-visible,:not(.btn-check)+.btn:active:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);color:var(--bs-btn-disabled-color);opacity:var(--bs-btn-disabled-opacity);pointer-events:none}.btn-primary{--bs-btn-color:#fff;--bs-btn-bg:#3b7ddd;--bs-btn-border-color:#3b7ddd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#326abc;--bs-btn-hover-border-color:#2f64b1;--bs-btn-focus-shadow-rgb:88,145,226;--bs-btn-active-color:#fff;--bs-btn-active-bg:#2f64b1;--bs-btn-active-border-color:#2c5ea6;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#3b7ddd;--bs-btn-disabled-border-color:#3b7ddd}.btn-secondary{--bs-btn-color:#000;--bs-btn-bg:#fcb92c;--bs-btn-border-color:#fcb92c;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#fcc44c;--bs-btn-hover-border-color:#fcc041;--bs-btn-focus-shadow-rgb:214,157,37;--bs-btn-active-color:#000;--bs-btn-active-bg:#fdc756;--bs-btn-active-border-color:#fcc041;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#fcb92c;--bs-btn-disabled-border-color:#fcb92c}.btn-success{--bs-btn-color:#000;--bs-btn-bg:#1cbb8c;--bs-btn-border-color:#1cbb8c;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#3ec59d;--bs-btn-hover-border-color:#33c298;--bs-btn-focus-shadow-rgb:24,159,119;--bs-btn-active-color:#000;--bs-btn-active-bg:#49c9a3;--bs-btn-active-border-color:#33c298;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#1cbb8c;--bs-btn-disabled-border-color:#1cbb8c}.btn-info{--bs-btn-color:#fff;--bs-btn-bg:#17a2b8;--bs-btn-border-color:#17a2b8;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#148a9c;--bs-btn-hover-border-color:#128293;--bs-btn-focus-shadow-rgb:58,176,195;--bs-btn-active-color:#fff;--bs-btn-active-bg:#128293;--bs-btn-active-border-color:#117a8a;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#17a2b8;--bs-btn-disabled-border-color:#17a2b8}.btn-warning{--bs-btn-color:#000;--bs-btn-bg:#fcb92c;--bs-btn-border-color:#fcb92c;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#fcc44c;--bs-btn-hover-border-color:#fcc041;--bs-btn-focus-shadow-rgb:214,157,37;--bs-btn-active-color:#000;--bs-btn-active-bg:#fdc756;--bs-btn-active-border-color:#fcc041;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#fcb92c;--bs-btn-disabled-border-color:#fcb92c}.btn-danger{--bs-btn-color:#fff;--bs-btn-bg:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#bb2d3b;--bs-btn-hover-border-color:#b02a37;--bs-btn-focus-shadow-rgb:225,83,97;--bs-btn-active-color:#fff;--bs-btn-active-bg:#b02a37;--bs-btn-active-border-color:#a52834;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#dc3545;--bs-btn-disabled-border-color:#dc3545}.btn-light{--bs-btn-color:#000;--bs-btn-bg:#f5f7fb;--bs-btn-border-color:#f5f7fb;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#d0d2d5;--bs-btn-hover-border-color:#c4c6c9;--bs-btn-focus-shadow-rgb:208,210,213;--bs-btn-active-color:#000;--bs-btn-active-bg:#c4c6c9;--bs-btn-active-border-color:#b8b9bc;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#f5f7fb;--bs-btn-disabled-border-color:#f5f7fb}.btn-dark{--bs-btn-color:#fff;--bs-btn-bg:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#424649;--bs-btn-hover-border-color:#373b3e;--bs-btn-focus-shadow-rgb:66,70,73;--bs-btn-active-color:#fff;--bs-btn-active-bg:#4d5154;--bs-btn-active-border-color:#373b3e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#212529;--bs-btn-disabled-border-color:#212529}.btn-outline-primary{--bs-btn-color:#3b7ddd;--bs-btn-border-color:#3b7ddd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#3b7ddd;--bs-btn-hover-border-color:#3b7ddd;--bs-btn-focus-shadow-rgb:59,125,221;--bs-btn-active-color:#fff;--bs-btn-active-bg:#3b7ddd;--bs-btn-active-border-color:#3b7ddd;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#3b7ddd;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#3b7ddd;--bs-gradient:none}.btn-outline-secondary{--bs-btn-color:#fcb92c;--bs-btn-border-color:#fcb92c;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#fcb92c;--bs-btn-hover-border-color:#fcb92c;--bs-btn-focus-shadow-rgb:252,185,44;--bs-btn-active-color:#000;--bs-btn-active-bg:#fcb92c;--bs-btn-active-border-color:#fcb92c;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#fcb92c;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#fcb92c;--bs-gradient:none}.btn-outline-success{--bs-btn-color:#1cbb8c;--bs-btn-border-color:#1cbb8c;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#1cbb8c;--bs-btn-hover-border-color:#1cbb8c;--bs-btn-focus-shadow-rgb:28,187,140;--bs-btn-active-color:#000;--bs-btn-active-bg:#1cbb8c;--bs-btn-active-border-color:#1cbb8c;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#1cbb8c;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#1cbb8c;--bs-gradient:none}.btn-outline-info{--bs-btn-color:#17a2b8;--bs-btn-border-color:#17a2b8;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#17a2b8;--bs-btn-hover-border-color:#17a2b8;--bs-btn-focus-shadow-rgb:23,162,184;--bs-btn-active-color:#fff;--bs-btn-active-bg:#17a2b8;--bs-btn-active-border-color:#17a2b8;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#17a2b8;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#17a2b8;--bs-gradient:none}.btn-outline-warning{--bs-btn-color:#fcb92c;--bs-btn-border-color:#fcb92c;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#fcb92c;--bs-btn-hover-border-color:#fcb92c;--bs-btn-focus-shadow-rgb:252,185,44;--bs-btn-active-color:#000;--bs-btn-active-bg:#fcb92c;--bs-btn-active-border-color:#fcb92c;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#fcb92c;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#fcb92c;--bs-gradient:none}.btn-outline-danger{--bs-btn-color:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#dc3545;--bs-btn-hover-border-color:#dc3545;--bs-btn-focus-shadow-rgb:220,53,69;--bs-btn-active-color:#fff;--bs-btn-active-bg:#dc3545;--bs-btn-active-border-color:#dc3545;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#dc3545;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#dc3545;--bs-gradient:none}.btn-outline-light{--bs-btn-color:#f5f7fb;--bs-btn-border-color:#f5f7fb;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#f5f7fb;--bs-btn-hover-border-color:#f5f7fb;--bs-btn-focus-shadow-rgb:245,247,251;--bs-btn-active-color:#000;--bs-btn-active-bg:#f5f7fb;--bs-btn-active-border-color:#f5f7fb;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#f5f7fb;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#f5f7fb;--bs-gradient:none}.btn-outline-dark{--bs-btn-color:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#212529;--bs-btn-hover-border-color:#212529;--bs-btn-focus-shadow-rgb:33,37,41;--bs-btn-active-color:#fff;--bs-btn-active-bg:#212529;--bs-btn-active-border-color:#212529;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#212529;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#212529;--bs-gradient:none}.btn-link{--bs-btn-font-weight:400;--bs-btn-color:var(--bs-link-color);--bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-hover-color:var(--bs-link-hover-color);--bs-btn-hover-border-color:transparent;--bs-btn-active-color:var(--bs-link-hover-color);--bs-btn-active-border-color:transparent;--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-border-color:transparent;--bs-btn-box-shadow:0 0 0 #000;--bs-btn-focus-shadow-rgb:88,145,226;text-decoration:none}.btn-link:focus-visible,.btn-link:hover{text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-group-lg>.btn,.btn-lg{--bs-btn-padding-y:0.4rem;--bs-btn-padding-x:1rem;--bs-btn-font-size:1.125rem;--bs-btn-border-radius:var(--bs-border-radius-lg)}.btn-group-sm>.btn,.btn-sm{--bs-btn-padding-y:0.2rem;--bs-btn-padding-x:0.5rem;--bs-btn-font-size:0.75rem;--bs-btn-border-radius:var(--bs-border-radius-sm)}.fade{transition:opacity .15s linear}@media(prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media(prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{height:auto;transition:width .35s ease;width:0}@media(prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropdown,.dropdown-center,.dropend,.dropstart,.dropup,.dropup-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle:after{border-bottom:0;border-left:.3em solid transparent;border-right:.3em solid transparent;border-top:.3em solid;content:"";margin-left:.255em;vertical-align:.255em}.dropdown-toggle:empty:after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex:1000;--bs-dropdown-min-width:10rem;--bs-dropdown-padding-x:0;--bs-dropdown-padding-y:0.5rem;--bs-dropdown-spacer:0.125rem;--bs-dropdown-font-size:1rem;--bs-dropdown-color:var(--bs-body-color);--bs-dropdown-bg:#fff;--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-border-radius:var(--bs-border-radius);--bs-dropdown-border-width:var(--bs-border-width);--bs-dropdown-inner-border-radius:calc(var(--bs-border-radius) - var(--bs-border-width));--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y:0.5rem;--bs-dropdown-box-shadow:0 0.1rem 0.2rem rgba(0,0,0,.05);--bs-dropdown-link-color:var(--bs-body-color);--bs-dropdown-link-hover-color:var(--bs-body-color);--bs-dropdown-link-hover-bg:var(--bs-tertiary-bg);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#3b7ddd;--bs-dropdown-link-disabled-color:var(--bs-tertiary-color);--bs-dropdown-item-padding-x:1rem;--bs-dropdown-item-padding-y:0.25rem;--bs-dropdown-header-color:#6c757d;--bs-dropdown-header-padding-x:1rem;--bs-dropdown-header-padding-y:0.5rem;background-clip:padding-box;background-color:var(--bs-dropdown-bg);border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius);color:var(--bs-dropdown-color);display:none;font-size:var(--bs-dropdown-font-size);list-style:none;margin:0;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);position:absolute;text-align:left;z-index:var(--bs-dropdown-zindex)}.dropdown-menu[data-bs-popper]{left:0;margin-top:var(--bs-dropdown-spacer);top:100%}.dropdown-menu-start{--bs-position:start}.dropdown-menu-start[data-bs-popper]{left:0;right:auto}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{left:auto;right:0}@media(min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-start[data-bs-popper]{left:0;right:auto}.dropdown-menu-sm-end{--bs-position:end}.dropdown-menu-sm-end[data-bs-popper]{left:auto;right:0}}@media(min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-start[data-bs-popper]{left:0;right:auto}.dropdown-menu-md-end{--bs-position:end}.dropdown-menu-md-end[data-bs-popper]{left:auto;right:0}}@media(min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-start[data-bs-popper]{left:0;right:auto}.dropdown-menu-lg-end{--bs-position:end}.dropdown-menu-lg-end[data-bs-popper]{left:auto;right:0}}@media(min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-start[data-bs-popper]{left:0;right:auto}.dropdown-menu-xl-end{--bs-position:end}.dropdown-menu-xl-end[data-bs-popper]{left:auto;right:0}}@media(min-width:1440px){.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-start[data-bs-popper]{left:0;right:auto}.dropdown-menu-xxl-end{--bs-position:end}.dropdown-menu-xxl-end[data-bs-popper]{left:auto;right:0}}.dropup .dropdown-menu[data-bs-popper]{bottom:100%;margin-bottom:var(--bs-dropdown-spacer);margin-top:0;top:auto}.dropup .dropdown-toggle:after{border-bottom:.3em solid;border-left:.3em solid transparent;border-right:.3em solid transparent;border-top:0;content:"";display:inline-block;margin-left:.255em;vertical-align:.255em}.dropup .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{left:100%;margin-left:var(--bs-dropdown-spacer);margin-top:0;right:auto;top:0}.dropend .dropdown-toggle:after{border-bottom:.3em solid transparent;border-left:.3em solid;border-right:0;border-top:.3em solid transparent;content:"";display:inline-block;margin-left:.255em;vertical-align:.255em}.dropend .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-toggle:after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{left:auto;margin-right:var(--bs-dropdown-spacer);margin-top:0;right:100%;top:0}.dropstart .dropdown-toggle:after{content:"";display:inline-block;display:none;margin-left:.255em;vertical-align:.255em}.dropstart .dropdown-toggle:before{border-bottom:.3em solid transparent;border-right:.3em solid;border-top:.3em solid transparent;content:"";display:inline-block;margin-right:.255em;vertical-align:.255em}.dropstart .dropdown-toggle:empty:after{margin-left:0}.dropstart .dropdown-toggle:before{vertical-align:0}.dropdown-divider{border-top:1px solid var(--bs-dropdown-divider-bg);height:0;margin:var(--bs-dropdown-divider-margin-y) 0;opacity:1;overflow:hidden}.dropdown-item{background-color:transparent;border:0;border-radius:var(--bs-dropdown-item-border-radius,0);clear:both;color:var(--bs-dropdown-link-color);display:block;font-weight:400;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);text-align:inherit;white-space:nowrap;width:100%}.dropdown-item:focus,.dropdown-item:hover{background-color:var(--bs-dropdown-link-hover-bg);color:var(--bs-dropdown-link-hover-color);text-decoration:none}.dropdown-item.active,.dropdown-item:active{background-color:var(--bs-dropdown-link-active-bg);color:var(--bs-dropdown-link-active-color);text-decoration:none}.dropdown-item.disabled,.dropdown-item:disabled{background-color:transparent;color:var(--bs-dropdown-link-disabled-color);pointer-events:none}.dropdown-menu.show{display:block}.dropdown-header{color:var(--bs-dropdown-header-color);display:block;font-size:.75rem;margin-bottom:0;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);white-space:nowrap}.dropdown-item-text{color:var(--bs-dropdown-link-color);display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x)}.dropdown-menu-dark{--bs-dropdown-color:#dee2e6;--bs-dropdown-bg:#343a40;--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color:#dee2e6;--bs-dropdown-link-hover-color:#fff;--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg:hsla(0,0%,100%,.15);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#3b7ddd;--bs-dropdown-link-disabled-color:#adb5bd;--bs-dropdown-header-color:#adb5bd}.btn-group,.btn-group-vertical{display:inline-flex;position:relative;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{flex:1 1 auto;position:relative}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:var(--bs-border-radius)}.btn-group>.btn-group:not(:first-child),.btn-group>:not(.btn-check:first-child)+.btn{margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-bottom-left-radius:0;border-top-left-radius:0}.dropdown-toggle-split{padding-left:.6375rem;padding-right:.6375rem}.dropdown-toggle-split:after,.dropend .dropdown-toggle-split:after,.dropup .dropdown-toggle-split:after{margin-left:0}.dropstart .dropdown-toggle-split:before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-left:.375rem;padding-right:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-left:.75rem;padding-right:.75rem}.btn-group-vertical{align-items:flex-start;flex-direction:column;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-left-radius:0;border-bottom-right-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn~.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x:1rem;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-link-color);--bs-nav-link-hover-color:var(--bs-link-hover-color);--bs-nav-link-disabled-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;list-style:none;margin-bottom:0;padding-left:0}.nav-link{background:none;border:0;color:var(--bs-nav-link-color);display:block;font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media(prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:var(--bs-nav-link-hover-color);text-decoration:none}.nav-link:focus-visible{box-shadow:0 0 0 .25rem rgba(59,125,221,.25);outline:0}.nav-link.disabled{color:var(--bs-nav-link-disabled-color);cursor:default;pointer-events:none}.nav-tabs{--bs-nav-tabs-border-width:var(--bs-border-width);--bs-nav-tabs-border-color:var(--bs-border-color);--bs-nav-tabs-border-radius:var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color:var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color:var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg:var(--bs-body-bg);--bs-nav-tabs-link-active-border-color:var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius);margin-bottom:calc(var(--bs-nav-tabs-border-width)*-1)}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:var(--bs-nav-tabs-link-hover-border-color);isolation:isolate}.nav-tabs .nav-link.disabled,.nav-tabs .nav-link:disabled{background-color:transparent;border-color:transparent;color:var(--bs-nav-link-disabled-color)}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color);color:var(--bs-nav-tabs-link-active-color)}.nav-tabs .dropdown-menu{border-top-left-radius:0;border-top-right-radius:0;margin-top:calc(var(--bs-nav-tabs-border-width)*-1)}.nav-pills{--bs-nav-pills-border-radius:var(--bs-border-radius);--bs-nav-pills-link-active-color:#fff;--bs-nav-pills-link-active-bg:#3b7ddd}.nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link:disabled{background-color:transparent;border-color:transparent;color:var(--bs-nav-link-disabled-color)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{background-color:var(--bs-nav-pills-link-active-bg);color:var(--bs-nav-pills-link-active-color)}.nav-underline{--bs-nav-underline-gap:1rem;--bs-nav-underline-border-width:0.125rem;--bs-nav-underline-link-active-color:var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}.nav-underline .nav-link{border-bottom:var(--bs-nav-underline-border-width) solid transparent;padding-left:0;padding-right:0}.nav-underline .nav-link:focus,.nav-underline .nav-link:hover{border-bottom-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{border-bottom-color:currentcolor;color:var(--bs-nav-underline-link-active-color);font-weight:600}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x:1.375rem;--bs-navbar-padding-y:0.875rem;--bs-navbar-color:rgba(var(--bs-emphasis-color-rgb),0.65);--bs-navbar-hover-color:rgba(var(--bs-emphasis-color-rgb),0.8);--bs-navbar-disabled-color:rgba(var(--bs-emphasis-color-rgb),0.3);--bs-navbar-active-color:rgba(var(--bs-emphasis-color-rgb),1);--bs-navbar-brand-padding-y:0.875rem;--bs-navbar-brand-margin-end:1rem;--bs-navbar-brand-font-size:1.15rem;--bs-navbar-brand-color:rgba(var(--bs-emphasis-color-rgb),1);--bs-navbar-brand-hover-color:rgba(var(--bs-emphasis-color-rgb),1);--bs-navbar-nav-link-padding-x:0.5rem;--bs-navbar-toggler-padding-y:0.25rem;--bs-navbar-toggler-padding-x:0.75rem;--bs-navbar-toggler-font-size:1.125rem;--bs-navbar-toggler-icon-bg:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='rgba(17, 17, 17, 0.75)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");--bs-navbar-toggler-border-color:rgba(var(--bs-emphasis-color-rgb),0.15);--bs-navbar-toggler-border-radius:var(--bs-border-radius);--bs-navbar-toggler-focus-width:0.2rem;--bs-navbar-toggler-transition:box-shadow 0.15s ease-in-out;align-items:center;display:flex;flex-wrap:wrap;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x);position:relative}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl{align-items:center;display:flex;flex-wrap:inherit;justify-content:space-between}.navbar-brand{color:var(--bs-navbar-brand-color);font-size:var(--bs-navbar-brand-font-size);margin-right:var(--bs-navbar-brand-margin-end);padding-bottom:var(--bs-navbar-brand-padding-y);padding-top:var(--bs-navbar-brand-padding-y);white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{color:var(--bs-navbar-brand-hover-color);text-decoration:none}.navbar-nav{--bs-nav-link-padding-x:0;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-navbar-color);--bs-nav-link-hover-color:var(--bs-navbar-hover-color);--bs-nav-link-disabled-color:var(--bs-navbar-disabled-color);display:flex;flex-direction:column;list-style:none;margin-bottom:0;padding-left:0}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{color:var(--bs-navbar-color);padding-bottom:.5rem;padding-top:.5rem}.navbar-text a,.navbar-text a:focus,.navbar-text a:hover{color:var(--bs-navbar-active-color)}.navbar-collapse{align-items:center;flex-basis:100%;flex-grow:1}.navbar-toggler{background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);color:var(--bs-navbar-color);font-size:var(--bs-navbar-toggler-font-size);line-height:1;padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);transition:var(--bs-navbar-toggler-transition)}@media(prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width);outline:0;text-decoration:none}.navbar-toggler-icon{background-image:var(--bs-navbar-toggler-icon-bg);background-position:50%;background-repeat:no-repeat;background-size:100%;display:inline-block;height:1.5em;vertical-align:middle;width:1.5em}.navbar-nav-scroll{max-height:var(--bs-scroll-height,75vh);overflow-y:auto}@media(min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-left:var(--bs-navbar-nav-link-padding-x);padding-right:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{background-color:transparent!important;border:0!important;flex-grow:1;height:auto!important;position:static;transform:none!important;transition:none;visibility:visible!important;width:auto!important;z-index:auto}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;overflow-y:visible;padding:0}}@media(min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-left:var(--bs-navbar-nav-link-padding-x);padding-right:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{background-color:transparent!important;border:0!important;flex-grow:1;height:auto!important;position:static;transform:none!important;transition:none;visibility:visible!important;width:auto!important;z-index:auto}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;overflow-y:visible;padding:0}}@media(min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-left:var(--bs-navbar-nav-link-padding-x);padding-right:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{background-color:transparent!important;border:0!important;flex-grow:1;height:auto!important;position:static;transform:none!important;transition:none;visibility:visible!important;width:auto!important;z-index:auto}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;overflow-y:visible;padding:0}}@media(min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-left:var(--bs-navbar-nav-link-padding-x);padding-right:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{background-color:transparent!important;border:0!important;flex-grow:1;height:auto!important;position:static;transform:none!important;transition:none;visibility:visible!important;width:auto!important;z-index:auto}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;overflow-y:visible;padding:0}}@media(min-width:1440px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-left:var(--bs-navbar-nav-link-padding-x);padding-right:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{background-color:transparent!important;border:0!important;flex-grow:1;height:auto!important;position:static;transform:none!important;transition:none;visibility:visible!important;width:auto!important;z-index:auto}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;overflow-y:visible;padding:0}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-left:var(--bs-navbar-nav-link-padding-x);padding-right:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{background-color:transparent!important;border:0!important;flex-grow:1;height:auto!important;position:static;transform:none!important;transition:none;visibility:visible!important;width:auto!important;z-index:auto}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;overflow-y:visible;padding:0}.navbar-dark,.navbar[data-bs-theme=dark]{--bs-navbar-color:hsla(0,0%,100%,.55);--bs-navbar-hover-color:hsla(0,0%,100%,.75);--bs-navbar-disabled-color:hsla(0,0%,100%,.25);--bs-navbar-active-color:#fff;--bs-navbar-brand-color:#fff;--bs-navbar-brand-hover-color:#fff;--bs-navbar-toggler-border-color:hsla(0,0%,100%,.1);--bs-navbar-toggler-icon-bg:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='rgba(255, 255, 255, 0.55)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.card{--bs-card-spacer-y:1.25rem;--bs-card-spacer-x:1.25rem;--bs-card-title-spacer-y:0.5rem;--bs-card-title-color:#939ba2;--bs-card-subtitle-color: ;--bs-card-border-width:0;--bs-card-border-color:transparent;--bs-card-border-radius:0.25rem;--bs-card-box-shadow: ;--bs-card-inner-border-radius:0.25rem;--bs-card-cap-padding-y:1rem;--bs-card-cap-padding-x:1.25rem;--bs-card-cap-bg:#fff;--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg:#fff;--bs-card-img-overlay-padding:1rem;--bs-card-group-margin:12px;color:var(--bs-body-color);display:flex;flex-direction:column;height:var(--bs-card-height);min-width:0;position:relative;word-wrap:break-word;background-clip:border-box;background-color:var(--bs-card-bg);border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr{margin-left:0;margin-right:0}.card>.list-group{border-bottom:inherit;border-top:inherit}.card>.list-group:first-child{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius);border-top-width:0}.card>.list-group:last-child{border-bottom-left-radius:var(--bs-card-inner-border-radius);border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-width:0}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{color:var(--bs-card-color);flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x)}.card-title{color:var(--bs-card-title-color);margin-bottom:var(--bs-card-title-spacer-y)}.card-subtitle{color:var(--bs-card-subtitle-color);margin-top:calc(var(--bs-card-title-spacer-y)*-.5)}.card-subtitle,.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color);color:var(--bs-card-cap-color);margin-bottom:0;padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color);color:var(--bs-card-cap-color);padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{border-bottom:0;margin-bottom:calc(var(--bs-card-cap-padding-y)*-1);margin-left:calc(var(--bs-card-cap-padding-x)*-.5);margin-right:calc(var(--bs-card-cap-padding-x)*-.5)}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-left:calc(var(--bs-card-cap-padding-x)*-.5);margin-right:calc(var(--bs-card-cap-padding-x)*-.5)}.card-img-overlay{border-radius:var(--bs-card-inner-border-radius);bottom:0;left:0;padding:var(--bs-card-img-overlay-padding);position:absolute;right:0;top:0}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-left-radius:var(--bs-card-inner-border-radius);border-bottom-right-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media(min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{border-left:0;margin-left:0}.card-group>.card:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.badge{--bs-badge-padding-x:0.45em;--bs-badge-padding-y:0.3em;--bs-badge-font-size:80%;--bs-badge-font-weight:600;--bs-badge-color:#fff;--bs-badge-border-radius:var(--bs-border-radius);border-radius:var(--bs-badge-border-radius);color:var(--bs-badge-color);display:inline-block;font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);text-align:center;vertical-align:baseline;white-space:nowrap}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.list-group{--bs-list-group-color:var(--bs-body-color);--bs-list-group-bg:var(--bs-body-bg);--bs-list-group-border-color:var(--bs-border-color);--bs-list-group-border-width:var(--bs-border-width);--bs-list-group-border-radius:var(--bs-border-radius);--bs-list-group-item-padding-x:1rem;--bs-list-group-item-padding-y:0.5rem;--bs-list-group-action-color:var(--bs-secondary-color);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-tertiary-bg);--bs-list-group-action-active-color:var(--bs-body-color);--bs-list-group-action-active-bg:var(--bs-secondary-bg);--bs-list-group-disabled-color:var(--bs-secondary-color);--bs-list-group-disabled-bg:var(--bs-body-bg);--bs-list-group-active-color:#fff;--bs-list-group-active-bg:#3b7ddd;--bs-list-group-active-border-color:#3b7ddd;border-radius:var(--bs-list-group-border-radius);display:flex;flex-direction:column;margin-bottom:0;padding-left:0}.list-group-numbered{counter-reset:section;list-style-type:none}.list-group-numbered>.list-group-item:before{content:counters(section,".") ". ";counter-increment:section}.list-group-item-action{color:var(--bs-list-group-action-color);text-align:inherit;width:100%}.list-group-item-action:focus,.list-group-item-action:hover{background-color:var(--bs-list-group-action-hover-bg);color:var(--bs-list-group-action-hover-color);text-decoration:none;z-index:1}.list-group-item-action:active{background-color:var(--bs-list-group-action-active-bg);color:var(--bs-list-group-action-active-color)}.list-group-item{background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color);color:var(--bs-list-group-color);display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);position:relative}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{background-color:var(--bs-list-group-disabled-bg);color:var(--bs-list-group-disabled-color);pointer-events:none}.list-group-item.active{background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color);color:var(--bs-list-group-active-color);z-index:2}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{border-top-width:var(--bs-list-group-border-width);margin-top:calc(var(--bs-list-group-border-width)*-1)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-bottom-left-radius:0;border-top-right-radius:var(--bs-list-group-border-radius)}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-left-width:0;border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal>.list-group-item+.list-group-item.active{border-left-width:var(--bs-list-group-border-width);margin-left:calc(var(--bs-list-group-border-width)*-1)}@media(min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-bottom-left-radius:0;border-top-right-radius:var(--bs-list-group-border-radius)}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-left-width:0;border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{border-left-width:var(--bs-list-group-border-width);margin-left:calc(var(--bs-list-group-border-width)*-1)}}@media(min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-bottom-left-radius:0;border-top-right-radius:var(--bs-list-group-border-radius)}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-left-width:0;border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal-md>.list-group-item+.list-group-item.active{border-left-width:var(--bs-list-group-border-width);margin-left:calc(var(--bs-list-group-border-width)*-1)}}@media(min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-bottom-left-radius:0;border-top-right-radius:var(--bs-list-group-border-radius)}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-left-width:0;border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{border-left-width:var(--bs-list-group-border-width);margin-left:calc(var(--bs-list-group-border-width)*-1)}}@media(min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-bottom-left-radius:0;border-top-right-radius:var(--bs-list-group-border-radius)}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-left-width:0;border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{border-left-width:var(--bs-list-group-border-width);margin-left:calc(var(--bs-list-group-border-width)*-1)}}@media(min-width:1440px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-bottom-left-radius:0;border-top-right-radius:var(--bs-list-group-border-radius)}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-left-width:0;border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{border-left-width:var(--bs-list-group-border-width);margin-left:calc(var(--bs-list-group-border-width)*-1)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{--bs-list-group-color:var(--bs-primary-text-emphasis);--bs-list-group-bg:var(--bs-primary-bg-subtle);--bs-list-group-border-color:var(--bs-primary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-primary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-primary-border-subtle);--bs-list-group-active-color:var(--bs-primary-bg-subtle);--bs-list-group-active-bg:var(--bs-primary-text-emphasis);--bs-list-group-active-border-color:var(--bs-primary-text-emphasis)}.list-group-item-secondary{--bs-list-group-color:var(--bs-secondary-text-emphasis);--bs-list-group-bg:var(--bs-secondary-bg-subtle);--bs-list-group-border-color:var(--bs-secondary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-secondary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-secondary-border-subtle);--bs-list-group-active-color:var(--bs-secondary-bg-subtle);--bs-list-group-active-bg:var(--bs-secondary-text-emphasis);--bs-list-group-active-border-color:var(--bs-secondary-text-emphasis)}.list-group-item-success{--bs-list-group-color:var(--bs-success-text-emphasis);--bs-list-group-bg:var(--bs-success-bg-subtle);--bs-list-group-border-color:var(--bs-success-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-success-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-success-border-subtle);--bs-list-group-active-color:var(--bs-success-bg-subtle);--bs-list-group-active-bg:var(--bs-success-text-emphasis);--bs-list-group-active-border-color:var(--bs-success-text-emphasis)}.list-group-item-info{--bs-list-group-color:var(--bs-info-text-emphasis);--bs-list-group-bg:var(--bs-info-bg-subtle);--bs-list-group-border-color:var(--bs-info-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-info-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-info-border-subtle);--bs-list-group-active-color:var(--bs-info-bg-subtle);--bs-list-group-active-bg:var(--bs-info-text-emphasis);--bs-list-group-active-border-color:var(--bs-info-text-emphasis)}.list-group-item-warning{--bs-list-group-color:var(--bs-warning-text-emphasis);--bs-list-group-bg:var(--bs-warning-bg-subtle);--bs-list-group-border-color:var(--bs-warning-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-warning-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-warning-border-subtle);--bs-list-group-active-color:var(--bs-warning-bg-subtle);--bs-list-group-active-bg:var(--bs-warning-text-emphasis);--bs-list-group-active-border-color:var(--bs-warning-text-emphasis)}.list-group-item-danger{--bs-list-group-color:var(--bs-danger-text-emphasis);--bs-list-group-bg:var(--bs-danger-bg-subtle);--bs-list-group-border-color:var(--bs-danger-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-danger-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-danger-border-subtle);--bs-list-group-active-color:var(--bs-danger-bg-subtle);--bs-list-group-active-bg:var(--bs-danger-text-emphasis);--bs-list-group-active-border-color:var(--bs-danger-text-emphasis)}.list-group-item-light{--bs-list-group-color:var(--bs-light-text-emphasis);--bs-list-group-bg:var(--bs-light-bg-subtle);--bs-list-group-border-color:var(--bs-light-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-light-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-light-border-subtle);--bs-list-group-active-color:var(--bs-light-bg-subtle);--bs-list-group-active-bg:var(--bs-light-text-emphasis);--bs-list-group-active-border-color:var(--bs-light-text-emphasis)}.list-group-item-dark{--bs-list-group-color:var(--bs-dark-text-emphasis);--bs-list-group-bg:var(--bs-dark-bg-subtle);--bs-list-group-border-color:var(--bs-dark-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-dark-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-dark-border-subtle);--bs-list-group-active-color:var(--bs-dark-bg-subtle);--bs-list-group-active-bg:var(--bs-dark-text-emphasis);--bs-list-group-active-border-color:var(--bs-dark-text-emphasis)}.btn-close{--bs-btn-close-color:#000;--bs-btn-close-bg:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414'/%3E%3C/svg%3E");--bs-btn-close-opacity:0.5;--bs-btn-close-hover-opacity:0.75;--bs-btn-close-focus-shadow:0 0 0 0.25rem rgba(59,125,221,.25);--bs-btn-close-focus-opacity:1;--bs-btn-close-disabled-opacity:0.25;--bs-btn-close-white-filter:invert(1) grayscale(100%) brightness(200%);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;border:0;border-radius:.2rem;box-sizing:content-box;height:1em;opacity:var(--bs-btn-close-opacity);padding:.25em;width:1em}.btn-close,.btn-close:hover{color:var(--bs-btn-close-color)}.btn-close:hover{opacity:var(--bs-btn-close-hover-opacity);text-decoration:none}.btn-close:focus{box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity);outline:0}.btn-close.disabled,.btn-close:disabled{opacity:var(--bs-btn-close-disabled-opacity);pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.btn-close-white{filter:var(--bs-btn-close-white-filter)}.clearfix:after{clear:both;content:"";display:block}.text-bg-primary{background-color:RGBA(59,125,221,var(--bs-bg-opacity,1))!important;color:#fff!important}.text-bg-secondary{background-color:RGBA(252,185,44,var(--bs-bg-opacity,1))!important;color:#000!important}.text-bg-success{background-color:RGBA(28,187,140,var(--bs-bg-opacity,1))!important;color:#000!important}.text-bg-info{background-color:RGBA(23,162,184,var(--bs-bg-opacity,1))!important;color:#fff!important}.text-bg-warning{background-color:RGBA(252,185,44,var(--bs-bg-opacity,1))!important;color:#000!important}.text-bg-danger{background-color:RGBA(220,53,69,var(--bs-bg-opacity,1))!important;color:#fff!important}.text-bg-light{background-color:RGBA(245,247,251,var(--bs-bg-opacity,1))!important;color:#000!important}.text-bg-dark{background-color:RGBA(33,37,41,var(--bs-bg-opacity,1))!important;color:#fff!important}.link-primary{color:RGBA(var(--bs-primary-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))!important}.link-primary:focus,.link-primary:hover{color:RGBA(47,100,177,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(47,100,177,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(47,100,177,var(--bs-link-underline-opacity,1))!important}.link-secondary{color:RGBA(var(--bs-secondary-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))!important}.link-secondary:focus,.link-secondary:hover{color:RGBA(253,199,86,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(253,199,86,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(253,199,86,var(--bs-link-underline-opacity,1))!important}.link-success{color:RGBA(var(--bs-success-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))!important}.link-success:focus,.link-success:hover{color:RGBA(73,201,163,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(73,201,163,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(73,201,163,var(--bs-link-underline-opacity,1))!important}.link-info{color:RGBA(var(--bs-info-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))!important}.link-info:focus,.link-info:hover{color:RGBA(18,130,147,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(18,130,147,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(18,130,147,var(--bs-link-underline-opacity,1))!important}.link-warning{color:RGBA(var(--bs-warning-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))!important}.link-warning:focus,.link-warning:hover{color:RGBA(253,199,86,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(253,199,86,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(253,199,86,var(--bs-link-underline-opacity,1))!important}.link-danger{color:RGBA(var(--bs-danger-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))!important}.link-danger:focus,.link-danger:hover{color:RGBA(176,42,55,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1))!important}.link-light{color:RGBA(var(--bs-light-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))!important}.link-light:focus,.link-light:hover{color:RGBA(247,249,252,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(247,249,252,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(247,249,252,var(--bs-link-underline-opacity,1))!important}.link-dark{color:RGBA(var(--bs-dark-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important}.link-dark:focus,.link-dark:hover{color:RGBA(26,30,33,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1))!important}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-body-emphasis:focus,.link-body-emphasis:hover{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,.75))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,.75))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,.75))!important}.focus-ring:focus{box-shadow:var(--bs-focus-ring-x,0) var(--bs-focus-ring-y,0) var(--bs-focus-ring-blur,0) var(--bs-focus-ring-width) var(--bs-focus-ring-color);outline:0}.icon-link{align-items:center;-webkit-backface-visibility:hidden;backface-visibility:hidden;display:inline-flex;gap:.375rem;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,.5));text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,.5));text-underline-offset:.25em}.icon-link>.bi{flex-shrink:0;height:1em;width:1em;fill:currentcolor;transition:transform .2s ease-in-out}@media(prefers-reduced-motion:reduce){.icon-link>.bi{transition:none}}.icon-link-hover:focus-visible>.bi,.icon-link-hover:hover>.bi{transform:var(--bs-icon-link-transform,translate3d(.25em,0,0))}.ratio{position:relative;width:100%}.ratio:before{content:"";display:block;padding-top:var(--bs-aspect-ratio)}.ratio>*{height:100%;left:0;position:absolute;top:0;width:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:75%}.ratio-16x9{--bs-aspect-ratio:56.25%}.ratio-21x9{--bs-aspect-ratio:42.8571428571%}.fixed-top{top:0}.fixed-bottom,.fixed-top{left:0;position:fixed;right:0;z-index:1030}.fixed-bottom{bottom:0}.sticky-top{top:0}.sticky-bottom,.sticky-top{position:-webkit-sticky;position:sticky;z-index:1020}.sticky-bottom{bottom:0}@media(min-width:576px){.sticky-sm-top{top:0}.sticky-sm-bottom,.sticky-sm-top{position:-webkit-sticky;position:sticky;z-index:1020}.sticky-sm-bottom{bottom:0}}@media(min-width:768px){.sticky-md-top{top:0}.sticky-md-bottom,.sticky-md-top{position:-webkit-sticky;position:sticky;z-index:1020}.sticky-md-bottom{bottom:0}}@media(min-width:992px){.sticky-lg-top{top:0}.sticky-lg-bottom,.sticky-lg-top{position:-webkit-sticky;position:sticky;z-index:1020}.sticky-lg-bottom{bottom:0}}@media(min-width:1200px){.sticky-xl-top{top:0}.sticky-xl-bottom,.sticky-xl-top{position:-webkit-sticky;position:sticky;z-index:1020}.sticky-xl-bottom{bottom:0}}@media(min-width:1440px){.sticky-xxl-top{top:0}.sticky-xxl-bottom,.sticky-xxl-top{position:-webkit-sticky;position:sticky;z-index:1020}.sticky-xxl-bottom{bottom:0}}.hstack{align-items:center;flex-direction:row}.hstack,.vstack{align-self:stretch;display:flex}.vstack{flex:1 1 auto;flex-direction:column}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;width:1px!important;clip:rect(0,0,0,0)!important;border:0!important;white-space:nowrap!important}.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption),.visually-hidden:not(caption){position:absolute!important}.stretched-link:after{bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:1}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{align-self:stretch;background-color:currentcolor;display:inline-block;min-height:1em;opacity:.25;width:1px}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.object-fit-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-none{-o-object-fit:none!important;object-fit:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.overflow-x-auto{overflow-x:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-x-visible{overflow-x:visible!important}.overflow-x-scroll{overflow-x:scroll!important}.overflow-y-auto{overflow-y:auto!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-visible{overflow-y:visible!important}.overflow-y-scroll{overflow-y:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:0 .1rem .2rem rgba(0,0,0,.05)!important}.shadow-sm{box-shadow:0 .05rem .2rem rgba(0,0,0,.05)!important}.shadow-lg{box-shadow:0 .2rem .2rem rgba(0,0,0,.05)!important}.shadow-none{box-shadow:none!important}.focus-ring-primary{--bs-focus-ring-color:rgba(var(--bs-primary-rgb),var(--bs-focus-ring-opacity))}.focus-ring-secondary{--bs-focus-ring-color:rgba(var(--bs-secondary-rgb),var(--bs-focus-ring-opacity))}.focus-ring-success{--bs-focus-ring-color:rgba(var(--bs-success-rgb),var(--bs-focus-ring-opacity))}.focus-ring-info{--bs-focus-ring-color:rgba(var(--bs-info-rgb),var(--bs-focus-ring-opacity))}.focus-ring-warning{--bs-focus-ring-color:rgba(var(--bs-warning-rgb),var(--bs-focus-ring-opacity))}.focus-ring-danger{--bs-focus-ring-color:rgba(var(--bs-danger-rgb),var(--bs-focus-ring-opacity))}.focus-ring-light{--bs-focus-ring-color:rgba(var(--bs-light-rgb),var(--bs-focus-ring-opacity))}.focus-ring-dark{--bs-focus-ring-color:rgba(var(--bs-dark-rgb),var(--bs-focus-ring-opacity))}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translateX(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-0{border:0!important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-top-0{border-top:0!important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-start-0{border-left:0!important}.border-primary{--bs-border-opacity:1;border-color:rgba(var(--bs-primary-rgb),var(--bs-border-opacity))!important}.border-secondary{--bs-border-opacity:1;border-color:rgba(var(--bs-secondary-rgb),var(--bs-border-opacity))!important}.border-success{--bs-border-opacity:1;border-color:rgba(var(--bs-success-rgb),var(--bs-border-opacity))!important}.border-info{--bs-border-opacity:1;border-color:rgba(var(--bs-info-rgb),var(--bs-border-opacity))!important}.border-warning{--bs-border-opacity:1;border-color:rgba(var(--bs-warning-rgb),var(--bs-border-opacity))!important}.border-danger{--bs-border-opacity:1;border-color:rgba(var(--bs-danger-rgb),var(--bs-border-opacity))!important}.border-light{--bs-border-opacity:1;border-color:rgba(var(--bs-light-rgb),var(--bs-border-opacity))!important}.border-dark{--bs-border-opacity:1;border-color:rgba(var(--bs-dark-rgb),var(--bs-border-opacity))!important}.border-black{--bs-border-opacity:1;border-color:rgba(var(--bs-black-rgb),var(--bs-border-opacity))!important}.border-white{--bs-border-opacity:1;border-color:rgba(var(--bs-white-rgb),var(--bs-border-opacity))!important}.border-primary-subtle{border-color:var(--bs-primary-border-subtle)!important}.border-secondary-subtle{border-color:var(--bs-secondary-border-subtle)!important}.border-success-subtle{border-color:var(--bs-success-border-subtle)!important}.border-info-subtle{border-color:var(--bs-info-border-subtle)!important}.border-warning-subtle{border-color:var(--bs-warning-border-subtle)!important}.border-danger-subtle{border-color:var(--bs-danger-border-subtle)!important}.border-light-subtle{border-color:var(--bs-light-border-subtle)!important}.border-dark-subtle{border-color:var(--bs-dark-border-subtle)!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.border-opacity-10{--bs-border-opacity:0.1}.border-opacity-25{--bs-border-opacity:0.25}.border-opacity-50{--bs-border-opacity:0.5}.border-opacity-75{--bs-border-opacity:0.75}.border-opacity-100{--bs-border-opacity:1}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-6{margin:4.5rem!important}.m-7{margin:6rem!important}.m-auto{margin:auto!important}.mx-0{margin-left:0!important;margin-right:0!important}.mx-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-3{margin-left:1rem!important;margin-right:1rem!important}.mx-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-5{margin-left:3rem!important;margin-right:3rem!important}.mx-6{margin-left:4.5rem!important;margin-right:4.5rem!important}.mx-7{margin-left:6rem!important;margin-right:6rem!important}.mx-auto{margin-left:auto!important;margin-right:auto!important}.my-0{margin-bottom:0!important;margin-top:0!important}.my-1{margin-bottom:.25rem!important;margin-top:.25rem!important}.my-2{margin-bottom:.5rem!important;margin-top:.5rem!important}.my-3{margin-bottom:1rem!important;margin-top:1rem!important}.my-4{margin-bottom:1.5rem!important;margin-top:1.5rem!important}.my-5{margin-bottom:3rem!important;margin-top:3rem!important}.my-6{margin-bottom:4.5rem!important;margin-top:4.5rem!important}.my-7{margin-bottom:6rem!important;margin-top:6rem!important}.my-auto{margin-bottom:auto!important;margin-top:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-6{margin-top:4.5rem!important}.mt-7{margin-top:6rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-6{margin-right:4.5rem!important}.me-7{margin-right:6rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-6{margin-bottom:4.5rem!important}.mb-7{margin-bottom:6rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-6{margin-left:4.5rem!important}.ms-7{margin-left:6rem!important}.ms-auto{margin-left:auto!important}.m-n1{margin:-.25rem!important}.m-n2{margin:-.5rem!important}.m-n3{margin:-1rem!important}.m-n4{margin:-1.5rem!important}.m-n5{margin:-3rem!important}.m-n6{margin:-4.5rem!important}.m-n7{margin:-6rem!important}.mx-n1{margin-left:-.25rem!important;margin-right:-.25rem!important}.mx-n2{margin-left:-.5rem!important;margin-right:-.5rem!important}.mx-n3{margin-left:-1rem!important;margin-right:-1rem!important}.mx-n4{margin-left:-1.5rem!important;margin-right:-1.5rem!important}.mx-n5{margin-left:-3rem!important;margin-right:-3rem!important}.mx-n6{margin-left:-4.5rem!important;margin-right:-4.5rem!important}.mx-n7{margin-left:-6rem!important;margin-right:-6rem!important}.my-n1{margin-bottom:-.25rem!important;margin-top:-.25rem!important}.my-n2{margin-bottom:-.5rem!important;margin-top:-.5rem!important}.my-n3{margin-bottom:-1rem!important;margin-top:-1rem!important}.my-n4{margin-bottom:-1.5rem!important;margin-top:-1.5rem!important}.my-n5{margin-bottom:-3rem!important;margin-top:-3rem!important}.my-n6{margin-bottom:-4.5rem!important;margin-top:-4.5rem!important}.my-n7{margin-bottom:-6rem!important;margin-top:-6rem!important}.mt-n1{margin-top:-.25rem!important}.mt-n2{margin-top:-.5rem!important}.mt-n3{margin-top:-1rem!important}.mt-n4{margin-top:-1.5rem!important}.mt-n5{margin-top:-3rem!important}.mt-n6{margin-top:-4.5rem!important}.mt-n7{margin-top:-6rem!important}.me-n1{margin-right:-.25rem!important}.me-n2{margin-right:-.5rem!important}.me-n3{margin-right:-1rem!important}.me-n4{margin-right:-1.5rem!important}.me-n5{margin-right:-3rem!important}.me-n6{margin-right:-4.5rem!important}.me-n7{margin-right:-6rem!important}.mb-n1{margin-bottom:-.25rem!important}.mb-n2{margin-bottom:-.5rem!important}.mb-n3{margin-bottom:-1rem!important}.mb-n4{margin-bottom:-1.5rem!important}.mb-n5{margin-bottom:-3rem!important}.mb-n6{margin-bottom:-4.5rem!important}.mb-n7{margin-bottom:-6rem!important}.ms-n1{margin-left:-.25rem!important}.ms-n2{margin-left:-.5rem!important}.ms-n3{margin-left:-1rem!important}.ms-n4{margin-left:-1.5rem!important}.ms-n5{margin-left:-3rem!important}.ms-n6{margin-left:-4.5rem!important}.ms-n7{margin-left:-6rem!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.p-6{padding:4.5rem!important}.p-7{padding:6rem!important}.px-0{padding-left:0!important;padding-right:0!important}.px-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-3{padding-left:1rem!important;padding-right:1rem!important}.px-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-5{padding-left:3rem!important;padding-right:3rem!important}.px-6{padding-left:4.5rem!important;padding-right:4.5rem!important}.px-7{padding-left:6rem!important;padding-right:6rem!important}.py-0{padding-bottom:0!important;padding-top:0!important}.py-1{padding-bottom:.25rem!important;padding-top:.25rem!important}.py-2{padding-bottom:.5rem!important;padding-top:.5rem!important}.py-3{padding-bottom:1rem!important;padding-top:1rem!important}.py-4{padding-bottom:1.5rem!important;padding-top:1.5rem!important}.py-5{padding-bottom:3rem!important;padding-top:3rem!important}.py-6{padding-bottom:4.5rem!important;padding-top:4.5rem!important}.py-7{padding-bottom:6rem!important;padding-top:6rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pt-6{padding-top:4.5rem!important}.pt-7{padding-top:6rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pe-6{padding-right:4.5rem!important}.pe-7{padding-right:6rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.pb-6{padding-bottom:4.5rem!important}.pb-7{padding-bottom:6rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.ps-6{padding-left:4.5rem!important}.ps-7{padding-left:6rem!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.gap-6{gap:4.5rem!important}.gap-7{gap:6rem!important}.row-gap-0{row-gap:0!important}.row-gap-1{row-gap:.25rem!important}.row-gap-2{row-gap:.5rem!important}.row-gap-3{row-gap:1rem!important}.row-gap-4{row-gap:1.5rem!important}.row-gap-5{row-gap:3rem!important}.row-gap-6{row-gap:4.5rem!important}.row-gap-7{row-gap:6rem!important}.column-gap-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.column-gap-6{-moz-column-gap:4.5rem!important;column-gap:4.5rem!important}.column-gap-7{-moz-column-gap:6rem!important;column-gap:6rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:2rem!important}.fs-2{font-size:1.75rem!important}.fs-3{font-size:1.5rem!important}.fs-4{font-size:1.25rem!important}.fs-5,.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-lighter{font-weight:lighter!important}.fw-light{font-weight:300!important}.fw-normal{font-weight:400!important}.fw-medium{font-weight:500!important}.fw-bold,.fw-semibold{font-weight:600!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-base,.lh-lg,.lh-sm{line-height:1.5!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity:1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity:1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity:1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity:1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity:1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity:1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity:1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity:1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity:1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity:1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity:1;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-black-50{--bs-text-opacity:1;color:rgba(0,0,0,.5)!important}.text-white-50{--bs-text-opacity:1;color:hsla(0,0%,100%,.5)!important}.text-body-secondary{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-body-tertiary{--bs-text-opacity:1;color:var(--bs-tertiary-color)!important}.text-body-emphasis{--bs-text-opacity:1;color:var(--bs-emphasis-color)!important}.text-reset{--bs-text-opacity:1;color:inherit!important}.text-opacity-25{--bs-text-opacity:0.25}.text-opacity-50{--bs-text-opacity:0.5}.text-opacity-75{--bs-text-opacity:0.75}.text-opacity-100{--bs-text-opacity:1}.text-primary-emphasis{color:var(--bs-primary-text-emphasis)!important}.text-secondary-emphasis{color:var(--bs-secondary-text-emphasis)!important}.text-success-emphasis{color:var(--bs-success-text-emphasis)!important}.text-info-emphasis{color:var(--bs-info-text-emphasis)!important}.text-warning-emphasis{color:var(--bs-warning-text-emphasis)!important}.text-danger-emphasis{color:var(--bs-danger-text-emphasis)!important}.text-light-emphasis{color:var(--bs-light-text-emphasis)!important}.text-dark-emphasis{color:var(--bs-dark-text-emphasis)!important}.link-opacity-10,.link-opacity-10-hover:hover{--bs-link-opacity:0.1}.link-opacity-25,.link-opacity-25-hover:hover{--bs-link-opacity:0.25}.link-opacity-50,.link-opacity-50-hover:hover{--bs-link-opacity:0.5}.link-opacity-75,.link-opacity-75-hover:hover{--bs-link-opacity:0.75}.link-opacity-100,.link-opacity-100-hover:hover{--bs-link-opacity:1}.link-offset-1,.link-offset-1-hover:hover{text-underline-offset:.125em!important}.link-offset-2,.link-offset-2-hover:hover{text-underline-offset:.25em!important}.link-offset-3,.link-offset-3-hover:hover{text-underline-offset:.375em!important}.link-underline-primary{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-secondary{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-success{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important}.link-underline-info{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important}.link-underline-warning{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important}.link-underline-danger{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important}.link-underline-light{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important}.link-underline-dark{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important}.link-underline{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-underline-opacity-0,.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity:0}.link-underline-opacity-10,.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity:0.1}.link-underline-opacity-25,.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity:0.25}.link-underline-opacity-50,.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity:0.5}.link-underline-opacity-75,.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity:0.75}.link-underline-opacity-100,.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity:1}.bg-primary{--bs-bg-opacity:1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity:1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity:1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity:1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity:1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity:1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity:1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity:1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity:1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity:1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity:1;background-color:transparent!important}.bg-body-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-bg-rgb),var(--bs-bg-opacity))!important}.bg-body-tertiary{--bs-bg-opacity:1;background-color:rgba(var(--bs-tertiary-bg-rgb),var(--bs-bg-opacity))!important}.bg-opacity-10{--bs-bg-opacity:0.1}.bg-opacity-25{--bs-bg-opacity:0.25}.bg-opacity-50{--bs-bg-opacity:0.5}.bg-opacity-75{--bs-bg-opacity:0.75}.bg-opacity-100{--bs-bg-opacity:1}.bg-primary-subtle{background-color:var(--bs-primary-bg-subtle)!important}.bg-secondary-subtle{background-color:var(--bs-secondary-bg-subtle)!important}.bg-success-subtle{background-color:var(--bs-success-bg-subtle)!important}.bg-info-subtle{background-color:var(--bs-info-bg-subtle)!important}.bg-warning-subtle{background-color:var(--bs-warning-bg-subtle)!important}.bg-danger-subtle{background-color:var(--bs-danger-bg-subtle)!important}.bg-light-subtle{background-color:var(--bs-light-bg-subtle)!important}.bg-dark-subtle{background-color:var(--bs-dark-bg-subtle)!important}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:var(--bs-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--bs-border-radius-sm)!important}.rounded-2{border-radius:var(--bs-border-radius)!important}.rounded-3{border-radius:var(--bs-border-radius-lg)!important}.rounded-4{border-radius:var(--bs-border-radius-xl)!important}.rounded-5{border-radius:var(--bs-border-radius-xxl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--bs-border-radius-pill)!important}.rounded-top{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-top-1{border-top-left-radius:var(--bs-border-radius-sm)!important;border-top-right-radius:var(--bs-border-radius-sm)!important}.rounded-top-2{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-3{border-top-left-radius:var(--bs-border-radius-lg)!important;border-top-right-radius:var(--bs-border-radius-lg)!important}.rounded-top-4{border-top-left-radius:var(--bs-border-radius-xl)!important;border-top-right-radius:var(--bs-border-radius-xl)!important}.rounded-top-5{border-top-left-radius:var(--bs-border-radius-xxl)!important;border-top-right-radius:var(--bs-border-radius-xxl)!important}.rounded-top-circle{border-top-left-radius:50%!important;border-top-right-radius:50%!important}.rounded-top-pill{border-top-left-radius:var(--bs-border-radius-pill)!important;border-top-right-radius:var(--bs-border-radius-pill)!important}.rounded-end{border-bottom-right-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-end-0{border-bottom-right-radius:0!important;border-top-right-radius:0!important}.rounded-end-1{border-bottom-right-radius:var(--bs-border-radius-sm)!important;border-top-right-radius:var(--bs-border-radius-sm)!important}.rounded-end-2{border-bottom-right-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-end-3{border-bottom-right-radius:var(--bs-border-radius-lg)!important;border-top-right-radius:var(--bs-border-radius-lg)!important}.rounded-end-4{border-bottom-right-radius:var(--bs-border-radius-xl)!important;border-top-right-radius:var(--bs-border-radius-xl)!important}.rounded-end-5{border-bottom-right-radius:var(--bs-border-radius-xxl)!important;border-top-right-radius:var(--bs-border-radius-xxl)!important}.rounded-end-circle{border-bottom-right-radius:50%!important;border-top-right-radius:50%!important}.rounded-end-pill{border-bottom-right-radius:var(--bs-border-radius-pill)!important;border-top-right-radius:var(--bs-border-radius-pill)!important}.rounded-bottom{border-bottom-left-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-bottom-0{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.rounded-bottom-1{border-bottom-left-radius:var(--bs-border-radius-sm)!important;border-bottom-right-radius:var(--bs-border-radius-sm)!important}.rounded-bottom-2{border-bottom-left-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-bottom-3{border-bottom-left-radius:var(--bs-border-radius-lg)!important;border-bottom-right-radius:var(--bs-border-radius-lg)!important}.rounded-bottom-4{border-bottom-left-radius:var(--bs-border-radius-xl)!important;border-bottom-right-radius:var(--bs-border-radius-xl)!important}.rounded-bottom-5{border-bottom-left-radius:var(--bs-border-radius-xxl)!important;border-bottom-right-radius:var(--bs-border-radius-xxl)!important}.rounded-bottom-circle{border-bottom-left-radius:50%!important;border-bottom-right-radius:50%!important}.rounded-bottom-pill{border-bottom-left-radius:var(--bs-border-radius-pill)!important;border-bottom-right-radius:var(--bs-border-radius-pill)!important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-0{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-start-1{border-bottom-left-radius:var(--bs-border-radius-sm)!important;border-top-left-radius:var(--bs-border-radius-sm)!important}.rounded-start-2{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-3{border-bottom-left-radius:var(--bs-border-radius-lg)!important;border-top-left-radius:var(--bs-border-radius-lg)!important}.rounded-start-4{border-bottom-left-radius:var(--bs-border-radius-xl)!important;border-top-left-radius:var(--bs-border-radius-xl)!important}.rounded-start-5{border-bottom-left-radius:var(--bs-border-radius-xxl)!important;border-top-left-radius:var(--bs-border-radius-xxl)!important}.rounded-start-circle{border-bottom-left-radius:50%!important;border-top-left-radius:50%!important}.rounded-start-pill{border-bottom-left-radius:var(--bs-border-radius-pill)!important;border-top-left-radius:var(--bs-border-radius-pill)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.z-n1{z-index:-1!important}.z-0{z-index:0!important}.z-1{z-index:1!important}.z-2{z-index:2!important}.z-3{z-index:3!important}@media(min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.object-fit-sm-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-sm-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-sm-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-sm-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-sm-none{-o-object-fit:none!important;object-fit:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-6{margin:4.5rem!important}.m-sm-7{margin:6rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-left:0!important;margin-right:0!important}.mx-sm-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-sm-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-sm-3{margin-left:1rem!important;margin-right:1rem!important}.mx-sm-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-sm-5{margin-left:3rem!important;margin-right:3rem!important}.mx-sm-6{margin-left:4.5rem!important;margin-right:4.5rem!important}.mx-sm-7{margin-left:6rem!important;margin-right:6rem!important}.mx-sm-auto{margin-left:auto!important;margin-right:auto!important}.my-sm-0{margin-bottom:0!important;margin-top:0!important}.my-sm-1{margin-bottom:.25rem!important;margin-top:.25rem!important}.my-sm-2{margin-bottom:.5rem!important;margin-top:.5rem!important}.my-sm-3{margin-bottom:1rem!important;margin-top:1rem!important}.my-sm-4{margin-bottom:1.5rem!important;margin-top:1.5rem!important}.my-sm-5{margin-bottom:3rem!important;margin-top:3rem!important}.my-sm-6{margin-bottom:4.5rem!important;margin-top:4.5rem!important}.my-sm-7{margin-bottom:6rem!important;margin-top:6rem!important}.my-sm-auto{margin-bottom:auto!important;margin-top:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-6{margin-top:4.5rem!important}.mt-sm-7{margin-top:6rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-6{margin-right:4.5rem!important}.me-sm-7{margin-right:6rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-6{margin-bottom:4.5rem!important}.mb-sm-7{margin-bottom:6rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-6{margin-left:4.5rem!important}.ms-sm-7{margin-left:6rem!important}.ms-sm-auto{margin-left:auto!important}.m-sm-n1{margin:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.m-sm-n3{margin:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.m-sm-n6{margin:-4.5rem!important}.m-sm-n7{margin:-6rem!important}.mx-sm-n1{margin-left:-.25rem!important;margin-right:-.25rem!important}.mx-sm-n2{margin-left:-.5rem!important;margin-right:-.5rem!important}.mx-sm-n3{margin-left:-1rem!important;margin-right:-1rem!important}.mx-sm-n4{margin-left:-1.5rem!important;margin-right:-1.5rem!important}.mx-sm-n5{margin-left:-3rem!important;margin-right:-3rem!important}.mx-sm-n6{margin-left:-4.5rem!important;margin-right:-4.5rem!important}.mx-sm-n7{margin-left:-6rem!important;margin-right:-6rem!important}.my-sm-n1{margin-bottom:-.25rem!important;margin-top:-.25rem!important}.my-sm-n2{margin-bottom:-.5rem!important;margin-top:-.5rem!important}.my-sm-n3{margin-bottom:-1rem!important;margin-top:-1rem!important}.my-sm-n4{margin-bottom:-1.5rem!important;margin-top:-1.5rem!important}.my-sm-n5{margin-bottom:-3rem!important;margin-top:-3rem!important}.my-sm-n6{margin-bottom:-4.5rem!important;margin-top:-4.5rem!important}.my-sm-n7{margin-bottom:-6rem!important;margin-top:-6rem!important}.mt-sm-n1{margin-top:-.25rem!important}.mt-sm-n2{margin-top:-.5rem!important}.mt-sm-n3{margin-top:-1rem!important}.mt-sm-n4{margin-top:-1.5rem!important}.mt-sm-n5{margin-top:-3rem!important}.mt-sm-n6{margin-top:-4.5rem!important}.mt-sm-n7{margin-top:-6rem!important}.me-sm-n1{margin-right:-.25rem!important}.me-sm-n2{margin-right:-.5rem!important}.me-sm-n3{margin-right:-1rem!important}.me-sm-n4{margin-right:-1.5rem!important}.me-sm-n5{margin-right:-3rem!important}.me-sm-n6{margin-right:-4.5rem!important}.me-sm-n7{margin-right:-6rem!important}.mb-sm-n1{margin-bottom:-.25rem!important}.mb-sm-n2{margin-bottom:-.5rem!important}.mb-sm-n3{margin-bottom:-1rem!important}.mb-sm-n4{margin-bottom:-1.5rem!important}.mb-sm-n5{margin-bottom:-3rem!important}.mb-sm-n6{margin-bottom:-4.5rem!important}.mb-sm-n7{margin-bottom:-6rem!important}.ms-sm-n1{margin-left:-.25rem!important}.ms-sm-n2{margin-left:-.5rem!important}.ms-sm-n3{margin-left:-1rem!important}.ms-sm-n4{margin-left:-1.5rem!important}.ms-sm-n5{margin-left:-3rem!important}.ms-sm-n6{margin-left:-4.5rem!important}.ms-sm-n7{margin-left:-6rem!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.p-sm-6{padding:4.5rem!important}.p-sm-7{padding:6rem!important}.px-sm-0{padding-left:0!important;padding-right:0!important}.px-sm-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-sm-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-sm-3{padding-left:1rem!important;padding-right:1rem!important}.px-sm-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-sm-5{padding-left:3rem!important;padding-right:3rem!important}.px-sm-6{padding-left:4.5rem!important;padding-right:4.5rem!important}.px-sm-7{padding-left:6rem!important;padding-right:6rem!important}.py-sm-0{padding-bottom:0!important;padding-top:0!important}.py-sm-1{padding-bottom:.25rem!important;padding-top:.25rem!important}.py-sm-2{padding-bottom:.5rem!important;padding-top:.5rem!important}.py-sm-3{padding-bottom:1rem!important;padding-top:1rem!important}.py-sm-4{padding-bottom:1.5rem!important;padding-top:1.5rem!important}.py-sm-5{padding-bottom:3rem!important;padding-top:3rem!important}.py-sm-6{padding-bottom:4.5rem!important;padding-top:4.5rem!important}.py-sm-7{padding-bottom:6rem!important;padding-top:6rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pt-sm-6{padding-top:4.5rem!important}.pt-sm-7{padding-top:6rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pe-sm-6{padding-right:4.5rem!important}.pe-sm-7{padding-right:6rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.pb-sm-6{padding-bottom:4.5rem!important}.pb-sm-7{padding-bottom:6rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.ps-sm-6{padding-left:4.5rem!important}.ps-sm-7{padding-left:6rem!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.gap-sm-6{gap:4.5rem!important}.gap-sm-7{gap:6rem!important}.row-gap-sm-0{row-gap:0!important}.row-gap-sm-1{row-gap:.25rem!important}.row-gap-sm-2{row-gap:.5rem!important}.row-gap-sm-3{row-gap:1rem!important}.row-gap-sm-4{row-gap:1.5rem!important}.row-gap-sm-5{row-gap:3rem!important}.row-gap-sm-6{row-gap:4.5rem!important}.row-gap-sm-7{row-gap:6rem!important}.column-gap-sm-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-sm-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-sm-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-sm-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-sm-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-sm-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.column-gap-sm-6{-moz-column-gap:4.5rem!important;column-gap:4.5rem!important}.column-gap-sm-7{-moz-column-gap:6rem!important;column-gap:6rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media(min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.object-fit-md-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-md-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-md-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-md-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-md-none{-o-object-fit:none!important;object-fit:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-6{margin:4.5rem!important}.m-md-7{margin:6rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-left:0!important;margin-right:0!important}.mx-md-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-md-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-md-3{margin-left:1rem!important;margin-right:1rem!important}.mx-md-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-md-5{margin-left:3rem!important;margin-right:3rem!important}.mx-md-6{margin-left:4.5rem!important;margin-right:4.5rem!important}.mx-md-7{margin-left:6rem!important;margin-right:6rem!important}.mx-md-auto{margin-left:auto!important;margin-right:auto!important}.my-md-0{margin-bottom:0!important;margin-top:0!important}.my-md-1{margin-bottom:.25rem!important;margin-top:.25rem!important}.my-md-2{margin-bottom:.5rem!important;margin-top:.5rem!important}.my-md-3{margin-bottom:1rem!important;margin-top:1rem!important}.my-md-4{margin-bottom:1.5rem!important;margin-top:1.5rem!important}.my-md-5{margin-bottom:3rem!important;margin-top:3rem!important}.my-md-6{margin-bottom:4.5rem!important;margin-top:4.5rem!important}.my-md-7{margin-bottom:6rem!important;margin-top:6rem!important}.my-md-auto{margin-bottom:auto!important;margin-top:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-6{margin-top:4.5rem!important}.mt-md-7{margin-top:6rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-6{margin-right:4.5rem!important}.me-md-7{margin-right:6rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-6{margin-bottom:4.5rem!important}.mb-md-7{margin-bottom:6rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-6{margin-left:4.5rem!important}.ms-md-7{margin-left:6rem!important}.ms-md-auto{margin-left:auto!important}.m-md-n1{margin:-.25rem!important}.m-md-n2{margin:-.5rem!important}.m-md-n3{margin:-1rem!important}.m-md-n4{margin:-1.5rem!important}.m-md-n5{margin:-3rem!important}.m-md-n6{margin:-4.5rem!important}.m-md-n7{margin:-6rem!important}.mx-md-n1{margin-left:-.25rem!important;margin-right:-.25rem!important}.mx-md-n2{margin-left:-.5rem!important;margin-right:-.5rem!important}.mx-md-n3{margin-left:-1rem!important;margin-right:-1rem!important}.mx-md-n4{margin-left:-1.5rem!important;margin-right:-1.5rem!important}.mx-md-n5{margin-left:-3rem!important;margin-right:-3rem!important}.mx-md-n6{margin-left:-4.5rem!important;margin-right:-4.5rem!important}.mx-md-n7{margin-left:-6rem!important;margin-right:-6rem!important}.my-md-n1{margin-bottom:-.25rem!important;margin-top:-.25rem!important}.my-md-n2{margin-bottom:-.5rem!important;margin-top:-.5rem!important}.my-md-n3{margin-bottom:-1rem!important;margin-top:-1rem!important}.my-md-n4{margin-bottom:-1.5rem!important;margin-top:-1.5rem!important}.my-md-n5{margin-bottom:-3rem!important;margin-top:-3rem!important}.my-md-n6{margin-bottom:-4.5rem!important;margin-top:-4.5rem!important}.my-md-n7{margin-bottom:-6rem!important;margin-top:-6rem!important}.mt-md-n1{margin-top:-.25rem!important}.mt-md-n2{margin-top:-.5rem!important}.mt-md-n3{margin-top:-1rem!important}.mt-md-n4{margin-top:-1.5rem!important}.mt-md-n5{margin-top:-3rem!important}.mt-md-n6{margin-top:-4.5rem!important}.mt-md-n7{margin-top:-6rem!important}.me-md-n1{margin-right:-.25rem!important}.me-md-n2{margin-right:-.5rem!important}.me-md-n3{margin-right:-1rem!important}.me-md-n4{margin-right:-1.5rem!important}.me-md-n5{margin-right:-3rem!important}.me-md-n6{margin-right:-4.5rem!important}.me-md-n7{margin-right:-6rem!important}.mb-md-n1{margin-bottom:-.25rem!important}.mb-md-n2{margin-bottom:-.5rem!important}.mb-md-n3{margin-bottom:-1rem!important}.mb-md-n4{margin-bottom:-1.5rem!important}.mb-md-n5{margin-bottom:-3rem!important}.mb-md-n6{margin-bottom:-4.5rem!important}.mb-md-n7{margin-bottom:-6rem!important}.ms-md-n1{margin-left:-.25rem!important}.ms-md-n2{margin-left:-.5rem!important}.ms-md-n3{margin-left:-1rem!important}.ms-md-n4{margin-left:-1.5rem!important}.ms-md-n5{margin-left:-3rem!important}.ms-md-n6{margin-left:-4.5rem!important}.ms-md-n7{margin-left:-6rem!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.p-md-6{padding:4.5rem!important}.p-md-7{padding:6rem!important}.px-md-0{padding-left:0!important;padding-right:0!important}.px-md-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-md-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-md-3{padding-left:1rem!important;padding-right:1rem!important}.px-md-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-md-5{padding-left:3rem!important;padding-right:3rem!important}.px-md-6{padding-left:4.5rem!important;padding-right:4.5rem!important}.px-md-7{padding-left:6rem!important;padding-right:6rem!important}.py-md-0{padding-bottom:0!important;padding-top:0!important}.py-md-1{padding-bottom:.25rem!important;padding-top:.25rem!important}.py-md-2{padding-bottom:.5rem!important;padding-top:.5rem!important}.py-md-3{padding-bottom:1rem!important;padding-top:1rem!important}.py-md-4{padding-bottom:1.5rem!important;padding-top:1.5rem!important}.py-md-5{padding-bottom:3rem!important;padding-top:3rem!important}.py-md-6{padding-bottom:4.5rem!important;padding-top:4.5rem!important}.py-md-7{padding-bottom:6rem!important;padding-top:6rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pt-md-6{padding-top:4.5rem!important}.pt-md-7{padding-top:6rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pe-md-6{padding-right:4.5rem!important}.pe-md-7{padding-right:6rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.pb-md-6{padding-bottom:4.5rem!important}.pb-md-7{padding-bottom:6rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.ps-md-6{padding-left:4.5rem!important}.ps-md-7{padding-left:6rem!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.gap-md-6{gap:4.5rem!important}.gap-md-7{gap:6rem!important}.row-gap-md-0{row-gap:0!important}.row-gap-md-1{row-gap:.25rem!important}.row-gap-md-2{row-gap:.5rem!important}.row-gap-md-3{row-gap:1rem!important}.row-gap-md-4{row-gap:1.5rem!important}.row-gap-md-5{row-gap:3rem!important}.row-gap-md-6{row-gap:4.5rem!important}.row-gap-md-7{row-gap:6rem!important}.column-gap-md-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-md-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-md-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-md-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-md-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-md-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.column-gap-md-6{-moz-column-gap:4.5rem!important;column-gap:4.5rem!important}.column-gap-md-7{-moz-column-gap:6rem!important;column-gap:6rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media(min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.object-fit-lg-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-lg-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-lg-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-lg-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-lg-none{-o-object-fit:none!important;object-fit:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-6{margin:4.5rem!important}.m-lg-7{margin:6rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-left:0!important;margin-right:0!important}.mx-lg-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-lg-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-lg-3{margin-left:1rem!important;margin-right:1rem!important}.mx-lg-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-lg-5{margin-left:3rem!important;margin-right:3rem!important}.mx-lg-6{margin-left:4.5rem!important;margin-right:4.5rem!important}.mx-lg-7{margin-left:6rem!important;margin-right:6rem!important}.mx-lg-auto{margin-left:auto!important;margin-right:auto!important}.my-lg-0{margin-bottom:0!important;margin-top:0!important}.my-lg-1{margin-bottom:.25rem!important;margin-top:.25rem!important}.my-lg-2{margin-bottom:.5rem!important;margin-top:.5rem!important}.my-lg-3{margin-bottom:1rem!important;margin-top:1rem!important}.my-lg-4{margin-bottom:1.5rem!important;margin-top:1.5rem!important}.my-lg-5{margin-bottom:3rem!important;margin-top:3rem!important}.my-lg-6{margin-bottom:4.5rem!important;margin-top:4.5rem!important}.my-lg-7{margin-bottom:6rem!important;margin-top:6rem!important}.my-lg-auto{margin-bottom:auto!important;margin-top:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-6{margin-top:4.5rem!important}.mt-lg-7{margin-top:6rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-6{margin-right:4.5rem!important}.me-lg-7{margin-right:6rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-6{margin-bottom:4.5rem!important}.mb-lg-7{margin-bottom:6rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-6{margin-left:4.5rem!important}.ms-lg-7{margin-left:6rem!important}.ms-lg-auto{margin-left:auto!important}.m-lg-n1{margin:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.m-lg-n3{margin:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.m-lg-n6{margin:-4.5rem!important}.m-lg-n7{margin:-6rem!important}.mx-lg-n1{margin-left:-.25rem!important;margin-right:-.25rem!important}.mx-lg-n2{margin-left:-.5rem!important;margin-right:-.5rem!important}.mx-lg-n3{margin-left:-1rem!important;margin-right:-1rem!important}.mx-lg-n4{margin-left:-1.5rem!important;margin-right:-1.5rem!important}.mx-lg-n5{margin-left:-3rem!important;margin-right:-3rem!important}.mx-lg-n6{margin-left:-4.5rem!important;margin-right:-4.5rem!important}.mx-lg-n7{margin-left:-6rem!important;margin-right:-6rem!important}.my-lg-n1{margin-bottom:-.25rem!important;margin-top:-.25rem!important}.my-lg-n2{margin-bottom:-.5rem!important;margin-top:-.5rem!important}.my-lg-n3{margin-bottom:-1rem!important;margin-top:-1rem!important}.my-lg-n4{margin-bottom:-1.5rem!important;margin-top:-1.5rem!important}.my-lg-n5{margin-bottom:-3rem!important;margin-top:-3rem!important}.my-lg-n6{margin-bottom:-4.5rem!important;margin-top:-4.5rem!important}.my-lg-n7{margin-bottom:-6rem!important;margin-top:-6rem!important}.mt-lg-n1{margin-top:-.25rem!important}.mt-lg-n2{margin-top:-.5rem!important}.mt-lg-n3{margin-top:-1rem!important}.mt-lg-n4{margin-top:-1.5rem!important}.mt-lg-n5{margin-top:-3rem!important}.mt-lg-n6{margin-top:-4.5rem!important}.mt-lg-n7{margin-top:-6rem!important}.me-lg-n1{margin-right:-.25rem!important}.me-lg-n2{margin-right:-.5rem!important}.me-lg-n3{margin-right:-1rem!important}.me-lg-n4{margin-right:-1.5rem!important}.me-lg-n5{margin-right:-3rem!important}.me-lg-n6{margin-right:-4.5rem!important}.me-lg-n7{margin-right:-6rem!important}.mb-lg-n1{margin-bottom:-.25rem!important}.mb-lg-n2{margin-bottom:-.5rem!important}.mb-lg-n3{margin-bottom:-1rem!important}.mb-lg-n4{margin-bottom:-1.5rem!important}.mb-lg-n5{margin-bottom:-3rem!important}.mb-lg-n6{margin-bottom:-4.5rem!important}.mb-lg-n7{margin-bottom:-6rem!important}.ms-lg-n1{margin-left:-.25rem!important}.ms-lg-n2{margin-left:-.5rem!important}.ms-lg-n3{margin-left:-1rem!important}.ms-lg-n4{margin-left:-1.5rem!important}.ms-lg-n5{margin-left:-3rem!important}.ms-lg-n6{margin-left:-4.5rem!important}.ms-lg-n7{margin-left:-6rem!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.p-lg-6{padding:4.5rem!important}.p-lg-7{padding:6rem!important}.px-lg-0{padding-left:0!important;padding-right:0!important}.px-lg-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-lg-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-lg-3{padding-left:1rem!important;padding-right:1rem!important}.px-lg-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-lg-5{padding-left:3rem!important;padding-right:3rem!important}.px-lg-6{padding-left:4.5rem!important;padding-right:4.5rem!important}.px-lg-7{padding-left:6rem!important;padding-right:6rem!important}.py-lg-0{padding-bottom:0!important;padding-top:0!important}.py-lg-1{padding-bottom:.25rem!important;padding-top:.25rem!important}.py-lg-2{padding-bottom:.5rem!important;padding-top:.5rem!important}.py-lg-3{padding-bottom:1rem!important;padding-top:1rem!important}.py-lg-4{padding-bottom:1.5rem!important;padding-top:1.5rem!important}.py-lg-5{padding-bottom:3rem!important;padding-top:3rem!important}.py-lg-6{padding-bottom:4.5rem!important;padding-top:4.5rem!important}.py-lg-7{padding-bottom:6rem!important;padding-top:6rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pt-lg-6{padding-top:4.5rem!important}.pt-lg-7{padding-top:6rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pe-lg-6{padding-right:4.5rem!important}.pe-lg-7{padding-right:6rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.pb-lg-6{padding-bottom:4.5rem!important}.pb-lg-7{padding-bottom:6rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.ps-lg-6{padding-left:4.5rem!important}.ps-lg-7{padding-left:6rem!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.gap-lg-6{gap:4.5rem!important}.gap-lg-7{gap:6rem!important}.row-gap-lg-0{row-gap:0!important}.row-gap-lg-1{row-gap:.25rem!important}.row-gap-lg-2{row-gap:.5rem!important}.row-gap-lg-3{row-gap:1rem!important}.row-gap-lg-4{row-gap:1.5rem!important}.row-gap-lg-5{row-gap:3rem!important}.row-gap-lg-6{row-gap:4.5rem!important}.row-gap-lg-7{row-gap:6rem!important}.column-gap-lg-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-lg-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-lg-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-lg-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-lg-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-lg-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.column-gap-lg-6{-moz-column-gap:4.5rem!important;column-gap:4.5rem!important}.column-gap-lg-7{-moz-column-gap:6rem!important;column-gap:6rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media(min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.object-fit-xl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xl-none{-o-object-fit:none!important;object-fit:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-6{margin:4.5rem!important}.m-xl-7{margin:6rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-left:0!important;margin-right:0!important}.mx-xl-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-xl-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-xl-3{margin-left:1rem!important;margin-right:1rem!important}.mx-xl-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-xl-5{margin-left:3rem!important;margin-right:3rem!important}.mx-xl-6{margin-left:4.5rem!important;margin-right:4.5rem!important}.mx-xl-7{margin-left:6rem!important;margin-right:6rem!important}.mx-xl-auto{margin-left:auto!important;margin-right:auto!important}.my-xl-0{margin-bottom:0!important;margin-top:0!important}.my-xl-1{margin-bottom:.25rem!important;margin-top:.25rem!important}.my-xl-2{margin-bottom:.5rem!important;margin-top:.5rem!important}.my-xl-3{margin-bottom:1rem!important;margin-top:1rem!important}.my-xl-4{margin-bottom:1.5rem!important;margin-top:1.5rem!important}.my-xl-5{margin-bottom:3rem!important;margin-top:3rem!important}.my-xl-6{margin-bottom:4.5rem!important;margin-top:4.5rem!important}.my-xl-7{margin-bottom:6rem!important;margin-top:6rem!important}.my-xl-auto{margin-bottom:auto!important;margin-top:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-6{margin-top:4.5rem!important}.mt-xl-7{margin-top:6rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-6{margin-right:4.5rem!important}.me-xl-7{margin-right:6rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-6{margin-bottom:4.5rem!important}.mb-xl-7{margin-bottom:6rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-6{margin-left:4.5rem!important}.ms-xl-7{margin-left:6rem!important}.ms-xl-auto{margin-left:auto!important}.m-xl-n1{margin:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.m-xl-n3{margin:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.m-xl-n6{margin:-4.5rem!important}.m-xl-n7{margin:-6rem!important}.mx-xl-n1{margin-left:-.25rem!important;margin-right:-.25rem!important}.mx-xl-n2{margin-left:-.5rem!important;margin-right:-.5rem!important}.mx-xl-n3{margin-left:-1rem!important;margin-right:-1rem!important}.mx-xl-n4{margin-left:-1.5rem!important;margin-right:-1.5rem!important}.mx-xl-n5{margin-left:-3rem!important;margin-right:-3rem!important}.mx-xl-n6{margin-left:-4.5rem!important;margin-right:-4.5rem!important}.mx-xl-n7{margin-left:-6rem!important;margin-right:-6rem!important}.my-xl-n1{margin-bottom:-.25rem!important;margin-top:-.25rem!important}.my-xl-n2{margin-bottom:-.5rem!important;margin-top:-.5rem!important}.my-xl-n3{margin-bottom:-1rem!important;margin-top:-1rem!important}.my-xl-n4{margin-bottom:-1.5rem!important;margin-top:-1.5rem!important}.my-xl-n5{margin-bottom:-3rem!important;margin-top:-3rem!important}.my-xl-n6{margin-bottom:-4.5rem!important;margin-top:-4.5rem!important}.my-xl-n7{margin-bottom:-6rem!important;margin-top:-6rem!important}.mt-xl-n1{margin-top:-.25rem!important}.mt-xl-n2{margin-top:-.5rem!important}.mt-xl-n3{margin-top:-1rem!important}.mt-xl-n4{margin-top:-1.5rem!important}.mt-xl-n5{margin-top:-3rem!important}.mt-xl-n6{margin-top:-4.5rem!important}.mt-xl-n7{margin-top:-6rem!important}.me-xl-n1{margin-right:-.25rem!important}.me-xl-n2{margin-right:-.5rem!important}.me-xl-n3{margin-right:-1rem!important}.me-xl-n4{margin-right:-1.5rem!important}.me-xl-n5{margin-right:-3rem!important}.me-xl-n6{margin-right:-4.5rem!important}.me-xl-n7{margin-right:-6rem!important}.mb-xl-n1{margin-bottom:-.25rem!important}.mb-xl-n2{margin-bottom:-.5rem!important}.mb-xl-n3{margin-bottom:-1rem!important}.mb-xl-n4{margin-bottom:-1.5rem!important}.mb-xl-n5{margin-bottom:-3rem!important}.mb-xl-n6{margin-bottom:-4.5rem!important}.mb-xl-n7{margin-bottom:-6rem!important}.ms-xl-n1{margin-left:-.25rem!important}.ms-xl-n2{margin-left:-.5rem!important}.ms-xl-n3{margin-left:-1rem!important}.ms-xl-n4{margin-left:-1.5rem!important}.ms-xl-n5{margin-left:-3rem!important}.ms-xl-n6{margin-left:-4.5rem!important}.ms-xl-n7{margin-left:-6rem!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.p-xl-6{padding:4.5rem!important}.p-xl-7{padding:6rem!important}.px-xl-0{padding-left:0!important;padding-right:0!important}.px-xl-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-xl-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-xl-3{padding-left:1rem!important;padding-right:1rem!important}.px-xl-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-xl-5{padding-left:3rem!important;padding-right:3rem!important}.px-xl-6{padding-left:4.5rem!important;padding-right:4.5rem!important}.px-xl-7{padding-left:6rem!important;padding-right:6rem!important}.py-xl-0{padding-bottom:0!important;padding-top:0!important}.py-xl-1{padding-bottom:.25rem!important;padding-top:.25rem!important}.py-xl-2{padding-bottom:.5rem!important;padding-top:.5rem!important}.py-xl-3{padding-bottom:1rem!important;padding-top:1rem!important}.py-xl-4{padding-bottom:1.5rem!important;padding-top:1.5rem!important}.py-xl-5{padding-bottom:3rem!important;padding-top:3rem!important}.py-xl-6{padding-bottom:4.5rem!important;padding-top:4.5rem!important}.py-xl-7{padding-bottom:6rem!important;padding-top:6rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pt-xl-6{padding-top:4.5rem!important}.pt-xl-7{padding-top:6rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pe-xl-6{padding-right:4.5rem!important}.pe-xl-7{padding-right:6rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.pb-xl-6{padding-bottom:4.5rem!important}.pb-xl-7{padding-bottom:6rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.ps-xl-6{padding-left:4.5rem!important}.ps-xl-7{padding-left:6rem!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.gap-xl-6{gap:4.5rem!important}.gap-xl-7{gap:6rem!important}.row-gap-xl-0{row-gap:0!important}.row-gap-xl-1{row-gap:.25rem!important}.row-gap-xl-2{row-gap:.5rem!important}.row-gap-xl-3{row-gap:1rem!important}.row-gap-xl-4{row-gap:1.5rem!important}.row-gap-xl-5{row-gap:3rem!important}.row-gap-xl-6{row-gap:4.5rem!important}.row-gap-xl-7{row-gap:6rem!important}.column-gap-xl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xl-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-xl-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-xl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.column-gap-xl-6{-moz-column-gap:4.5rem!important;column-gap:4.5rem!important}.column-gap-xl-7{-moz-column-gap:6rem!important;column-gap:6rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media(min-width:1440px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.object-fit-xxl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xxl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xxl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xxl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xxl-none{-o-object-fit:none!important;object-fit:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-6{margin:4.5rem!important}.m-xxl-7{margin:6rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-left:0!important;margin-right:0!important}.mx-xxl-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-xxl-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-xxl-3{margin-left:1rem!important;margin-right:1rem!important}.mx-xxl-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-xxl-5{margin-left:3rem!important;margin-right:3rem!important}.mx-xxl-6{margin-left:4.5rem!important;margin-right:4.5rem!important}.mx-xxl-7{margin-left:6rem!important;margin-right:6rem!important}.mx-xxl-auto{margin-left:auto!important;margin-right:auto!important}.my-xxl-0{margin-bottom:0!important;margin-top:0!important}.my-xxl-1{margin-bottom:.25rem!important;margin-top:.25rem!important}.my-xxl-2{margin-bottom:.5rem!important;margin-top:.5rem!important}.my-xxl-3{margin-bottom:1rem!important;margin-top:1rem!important}.my-xxl-4{margin-bottom:1.5rem!important;margin-top:1.5rem!important}.my-xxl-5{margin-bottom:3rem!important;margin-top:3rem!important}.my-xxl-6{margin-bottom:4.5rem!important;margin-top:4.5rem!important}.my-xxl-7{margin-bottom:6rem!important;margin-top:6rem!important}.my-xxl-auto{margin-bottom:auto!important;margin-top:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-6{margin-top:4.5rem!important}.mt-xxl-7{margin-top:6rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-6{margin-right:4.5rem!important}.me-xxl-7{margin-right:6rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-6{margin-bottom:4.5rem!important}.mb-xxl-7{margin-bottom:6rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-6{margin-left:4.5rem!important}.ms-xxl-7{margin-left:6rem!important}.ms-xxl-auto{margin-left:auto!important}.m-xxl-n1{margin:-.25rem!important}.m-xxl-n2{margin:-.5rem!important}.m-xxl-n3{margin:-1rem!important}.m-xxl-n4{margin:-1.5rem!important}.m-xxl-n5{margin:-3rem!important}.m-xxl-n6{margin:-4.5rem!important}.m-xxl-n7{margin:-6rem!important}.mx-xxl-n1{margin-left:-.25rem!important;margin-right:-.25rem!important}.mx-xxl-n2{margin-left:-.5rem!important;margin-right:-.5rem!important}.mx-xxl-n3{margin-left:-1rem!important;margin-right:-1rem!important}.mx-xxl-n4{margin-left:-1.5rem!important;margin-right:-1.5rem!important}.mx-xxl-n5{margin-left:-3rem!important;margin-right:-3rem!important}.mx-xxl-n6{margin-left:-4.5rem!important;margin-right:-4.5rem!important}.mx-xxl-n7{margin-left:-6rem!important;margin-right:-6rem!important}.my-xxl-n1{margin-bottom:-.25rem!important;margin-top:-.25rem!important}.my-xxl-n2{margin-bottom:-.5rem!important;margin-top:-.5rem!important}.my-xxl-n3{margin-bottom:-1rem!important;margin-top:-1rem!important}.my-xxl-n4{margin-bottom:-1.5rem!important;margin-top:-1.5rem!important}.my-xxl-n5{margin-bottom:-3rem!important;margin-top:-3rem!important}.my-xxl-n6{margin-bottom:-4.5rem!important;margin-top:-4.5rem!important}.my-xxl-n7{margin-bottom:-6rem!important;margin-top:-6rem!important}.mt-xxl-n1{margin-top:-.25rem!important}.mt-xxl-n2{margin-top:-.5rem!important}.mt-xxl-n3{margin-top:-1rem!important}.mt-xxl-n4{margin-top:-1.5rem!important}.mt-xxl-n5{margin-top:-3rem!important}.mt-xxl-n6{margin-top:-4.5rem!important}.mt-xxl-n7{margin-top:-6rem!important}.me-xxl-n1{margin-right:-.25rem!important}.me-xxl-n2{margin-right:-.5rem!important}.me-xxl-n3{margin-right:-1rem!important}.me-xxl-n4{margin-right:-1.5rem!important}.me-xxl-n5{margin-right:-3rem!important}.me-xxl-n6{margin-right:-4.5rem!important}.me-xxl-n7{margin-right:-6rem!important}.mb-xxl-n1{margin-bottom:-.25rem!important}.mb-xxl-n2{margin-bottom:-.5rem!important}.mb-xxl-n3{margin-bottom:-1rem!important}.mb-xxl-n4{margin-bottom:-1.5rem!important}.mb-xxl-n5{margin-bottom:-3rem!important}.mb-xxl-n6{margin-bottom:-4.5rem!important}.mb-xxl-n7{margin-bottom:-6rem!important}.ms-xxl-n1{margin-left:-.25rem!important}.ms-xxl-n2{margin-left:-.5rem!important}.ms-xxl-n3{margin-left:-1rem!important}.ms-xxl-n4{margin-left:-1.5rem!important}.ms-xxl-n5{margin-left:-3rem!important}.ms-xxl-n6{margin-left:-4.5rem!important}.ms-xxl-n7{margin-left:-6rem!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.p-xxl-6{padding:4.5rem!important}.p-xxl-7{padding:6rem!important}.px-xxl-0{padding-left:0!important;padding-right:0!important}.px-xxl-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-xxl-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-xxl-3{padding-left:1rem!important;padding-right:1rem!important}.px-xxl-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-xxl-5{padding-left:3rem!important;padding-right:3rem!important}.px-xxl-6{padding-left:4.5rem!important;padding-right:4.5rem!important}.px-xxl-7{padding-left:6rem!important;padding-right:6rem!important}.py-xxl-0{padding-bottom:0!important;padding-top:0!important}.py-xxl-1{padding-bottom:.25rem!important;padding-top:.25rem!important}.py-xxl-2{padding-bottom:.5rem!important;padding-top:.5rem!important}.py-xxl-3{padding-bottom:1rem!important;padding-top:1rem!important}.py-xxl-4{padding-bottom:1.5rem!important;padding-top:1.5rem!important}.py-xxl-5{padding-bottom:3rem!important;padding-top:3rem!important}.py-xxl-6{padding-bottom:4.5rem!important;padding-top:4.5rem!important}.py-xxl-7{padding-bottom:6rem!important;padding-top:6rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pt-xxl-6{padding-top:4.5rem!important}.pt-xxl-7{padding-top:6rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pe-xxl-6{padding-right:4.5rem!important}.pe-xxl-7{padding-right:6rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.pb-xxl-6{padding-bottom:4.5rem!important}.pb-xxl-7{padding-bottom:6rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.ps-xxl-6{padding-left:4.5rem!important}.ps-xxl-7{padding-left:6rem!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.gap-xxl-6{gap:4.5rem!important}.gap-xxl-7{gap:6rem!important}.row-gap-xxl-0{row-gap:0!important}.row-gap-xxl-1{row-gap:.25rem!important}.row-gap-xxl-2{row-gap:.5rem!important}.row-gap-xxl-3{row-gap:1rem!important}.row-gap-xxl-4{row-gap:1.5rem!important}.row-gap-xxl-5{row-gap:3rem!important}.row-gap-xxl-6{row-gap:4.5rem!important}.row-gap-xxl-7{row-gap:6rem!important}.column-gap-xxl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xxl-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-xxl-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-xxl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xxl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xxl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.column-gap-xxl-6{-moz-column-gap:4.5rem!important;column-gap:4.5rem!important}.column-gap-xxl-7{-moz-column-gap:6rem!important;column-gap:6rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-inline-grid{display:inline-grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}}.avatar{height:40px;width:40px}.avatar-lg{height:64px;width:64px}.avatar-title{align-items:center;color:#3b7ddd;display:flex;height:100%;justify-content:center;width:100%}.btn .feather{height:14px;width:14px}.btn-danger,.btn-danger.disabled,.btn-danger.focus,.btn-danger.hover:not(:disabled):not(.disabled),.btn-danger:disabled,.btn-danger:focus,.btn-danger:hover:not(:disabled):not(.disabled),.btn-dark,.btn-dark.disabled,.btn-dark.focus,.btn-dark.hover:not(:disabled):not(.disabled),.btn-dark:disabled,.btn-dark:focus,.btn-dark:hover:not(:disabled):not(.disabled),.btn-info,.btn-info.disabled,.btn-info.focus,.btn-info.hover:not(:disabled):not(.disabled),.btn-info:disabled,.btn-info:focus,.btn-info:hover:not(:disabled):not(.disabled),.btn-light,.btn-light.disabled,.btn-light.focus,.btn-light.hover:not(:disabled):not(.disabled),.btn-light:disabled,.btn-light:focus,.btn-light:hover:not(:disabled):not(.disabled),.btn-primary,.btn-primary.disabled,.btn-primary.focus,.btn-primary.hover:not(:disabled):not(.disabled),.btn-primary:disabled,.btn-primary:focus,.btn-primary:hover:not(:disabled):not(.disabled),.btn-secondary,.btn-secondary.disabled,.btn-secondary.focus,.btn-secondary.hover:not(:disabled):not(.disabled),.btn-secondary:disabled,.btn-secondary:focus,.btn-secondary:hover:not(:disabled):not(.disabled),.btn-success,.btn-success.disabled,.btn-success.focus,.btn-success.hover:not(:disabled):not(.disabled),.btn-success:disabled,.btn-success:focus,.btn-success:hover:not(:disabled):not(.disabled),.btn-warning,.btn-warning.disabled,.btn-warning.focus,.btn-warning.hover:not(:disabled):not(.disabled),.btn-warning:disabled,.btn-warning:focus,.btn-warning:hover:not(:disabled):not(.disabled),.show>.btn-danger.dropdown-toggle,.show>.btn-dark.dropdown-toggle,.show>.btn-info.dropdown-toggle,.show>.btn-light.dropdown-toggle,.show>.btn-primary.dropdown-toggle,.show>.btn-secondary.dropdown-toggle,.show>.btn-success.dropdown-toggle,.show>.btn-warning.dropdown-toggle{color:#fff}.btn-facebook{--bs-btn-color:#fff;--bs-btn-bg:#3b5998;--bs-btn-border-color:#3b5998;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#324c81;--bs-btn-hover-border-color:#2f477a;--bs-btn-focus-shadow-rgb:88,114,167;--bs-btn-active-color:#fff;--bs-btn-active-bg:#2f477a;--bs-btn-active-border-color:#2c4372;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#3b5998;--bs-btn-disabled-border-color:#3b5998}.btn-facebook,.btn-facebook.disabled,.btn-facebook.focus,.btn-facebook.hover:not(:disabled):not(.disabled),.btn-facebook:disabled,.btn-facebook:focus,.btn-facebook:hover:not(:disabled):not(.disabled),.show>.btn-facebook.dropdown-toggle{color:#fff}.btn-twitter{--bs-btn-color:#000;--bs-btn-bg:#1da1f2;--bs-btn-border-color:#1da1f2;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#3faff4;--bs-btn-hover-border-color:#34aaf3;--bs-btn-focus-shadow-rgb:25,137,206;--bs-btn-active-color:#000;--bs-btn-active-bg:#4ab4f5;--bs-btn-active-border-color:#34aaf3;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#1da1f2;--bs-btn-disabled-border-color:#1da1f2}.btn-twitter,.btn-twitter.disabled,.btn-twitter.focus,.btn-twitter.hover:not(:disabled):not(.disabled),.btn-twitter:disabled,.btn-twitter:focus,.btn-twitter:hover:not(:disabled):not(.disabled),.show>.btn-twitter.dropdown-toggle{color:#fff}.btn-google{--bs-btn-color:#fff;--bs-btn-bg:#dc4e41;--bs-btn-border-color:#dc4e41;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#bb4237;--bs-btn-hover-border-color:#b03e34;--bs-btn-focus-shadow-rgb:225,105,94;--bs-btn-active-color:#fff;--bs-btn-active-bg:#b03e34;--bs-btn-active-border-color:#a53b31;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#dc4e41;--bs-btn-disabled-border-color:#dc4e41}.btn-google,.btn-google.disabled,.btn-google.focus,.btn-google.hover:not(:disabled):not(.disabled),.btn-google:disabled,.btn-google:focus,.btn-google:hover:not(:disabled):not(.disabled),.show>.btn-google.dropdown-toggle{color:#fff}.btn-youtube{--bs-btn-color:#fff;--bs-btn-bg:red;--bs-btn-border-color:red;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#d90000;--bs-btn-hover-border-color:#c00;--bs-btn-focus-shadow-rgb:255,38,38;--bs-btn-active-color:#fff;--bs-btn-active-bg:#c00;--bs-btn-active-border-color:#bf0000;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:red;--bs-btn-disabled-border-color:red}.btn-youtube,.btn-youtube.disabled,.btn-youtube.focus,.btn-youtube.hover:not(:disabled):not(.disabled),.btn-youtube:disabled,.btn-youtube:focus,.btn-youtube:hover:not(:disabled):not(.disabled),.show>.btn-youtube.dropdown-toggle{color:#fff}.btn-vimeo{--bs-btn-color:#000;--bs-btn-bg:#1ab7ea;--bs-btn-border-color:#1ab7ea;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#3cc2ed;--bs-btn-hover-border-color:#31beec;--bs-btn-focus-shadow-rgb:22,156,199;--bs-btn-active-color:#000;--bs-btn-active-bg:#48c5ee;--bs-btn-active-border-color:#31beec;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#1ab7ea;--bs-btn-disabled-border-color:#1ab7ea}.btn-vimeo,.btn-vimeo.disabled,.btn-vimeo.focus,.btn-vimeo.hover:not(:disabled):not(.disabled),.btn-vimeo:disabled,.btn-vimeo:focus,.btn-vimeo:hover:not(:disabled):not(.disabled),.show>.btn-vimeo.dropdown-toggle{color:#fff}.btn-dribbble{--bs-btn-color:#fff;--bs-btn-bg:#ea4c89;--bs-btn-border-color:#ea4c89;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#c74174;--bs-btn-hover-border-color:#bb3d6e;--bs-btn-focus-shadow-rgb:237,103,155;--bs-btn-active-color:#fff;--bs-btn-active-bg:#bb3d6e;--bs-btn-active-border-color:#b03967;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#ea4c89;--bs-btn-disabled-border-color:#ea4c89}.btn-dribbble,.btn-dribbble.disabled,.btn-dribbble.focus,.btn-dribbble.hover:not(:disabled):not(.disabled),.btn-dribbble:disabled,.btn-dribbble:focus,.btn-dribbble:hover:not(:disabled):not(.disabled),.show>.btn-dribbble.dropdown-toggle{color:#fff}.btn-github{--bs-btn-color:#fff;--bs-btn-bg:#181717;--bs-btn-border-color:#181717;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#141414;--bs-btn-hover-border-color:#131212;--bs-btn-focus-shadow-rgb:59,58,58;--bs-btn-active-color:#fff;--bs-btn-active-bg:#131212;--bs-btn-active-border-color:#121111;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#181717;--bs-btn-disabled-border-color:#181717}.btn-github,.btn-github.disabled,.btn-github.focus,.btn-github.hover:not(:disabled):not(.disabled),.btn-github:disabled,.btn-github:focus,.btn-github:hover:not(:disabled):not(.disabled),.show>.btn-github.dropdown-toggle{color:#fff}.btn-instagram{--bs-btn-color:#fff;--bs-btn-bg:#e4405f;--bs-btn-border-color:#e4405f;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#c23651;--bs-btn-hover-border-color:#b6334c;--bs-btn-focus-shadow-rgb:232,93,119;--bs-btn-active-color:#fff;--bs-btn-active-bg:#b6334c;--bs-btn-active-border-color:#ab3047;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#e4405f;--bs-btn-disabled-border-color:#e4405f}.btn-instagram,.btn-instagram.disabled,.btn-instagram.focus,.btn-instagram.hover:not(:disabled):not(.disabled),.btn-instagram:disabled,.btn-instagram:focus,.btn-instagram:hover:not(:disabled):not(.disabled),.show>.btn-instagram.dropdown-toggle{color:#fff}.btn-pinterest{--bs-btn-color:#fff;--bs-btn-bg:#bd081c;--bs-btn-border-color:#bd081c;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#a10718;--bs-btn-hover-border-color:#970616;--bs-btn-focus-shadow-rgb:199,45,62;--bs-btn-active-color:#fff;--bs-btn-active-bg:#970616;--bs-btn-active-border-color:#8e0615;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#bd081c;--bs-btn-disabled-border-color:#bd081c}.btn-pinterest,.btn-pinterest.disabled,.btn-pinterest.focus,.btn-pinterest.hover:not(:disabled):not(.disabled),.btn-pinterest:disabled,.btn-pinterest:focus,.btn-pinterest:hover:not(:disabled):not(.disabled),.show>.btn-pinterest.dropdown-toggle{color:#fff}.btn-flickr{--bs-btn-color:#fff;--bs-btn-bg:#0063dc;--bs-btn-border-color:#0063dc;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0054bb;--bs-btn-hover-border-color:#004fb0;--bs-btn-focus-shadow-rgb:38,122,225;--bs-btn-active-color:#fff;--bs-btn-active-bg:#004fb0;--bs-btn-active-border-color:#004aa5;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#0063dc;--bs-btn-disabled-border-color:#0063dc}.btn-flickr,.btn-flickr.disabled,.btn-flickr.focus,.btn-flickr.hover:not(:disabled):not(.disabled),.btn-flickr:disabled,.btn-flickr:focus,.btn-flickr:hover:not(:disabled):not(.disabled),.show>.btn-flickr.dropdown-toggle{color:#fff}.btn-bitbucket{--bs-btn-color:#fff;--bs-btn-bg:#0052cc;--bs-btn-border-color:#0052cc;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0046ad;--bs-btn-hover-border-color:#0042a3;--bs-btn-focus-shadow-rgb:38,108,212;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0042a3;--bs-btn-active-border-color:#003e99;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#0052cc;--bs-btn-disabled-border-color:#0052cc}.btn-bitbucket,.btn-bitbucket.disabled,.btn-bitbucket.focus,.btn-bitbucket.hover:not(:disabled):not(.disabled),.btn-bitbucket:disabled,.btn-bitbucket:focus,.btn-bitbucket:hover:not(:disabled):not(.disabled),.show>.btn-bitbucket.dropdown-toggle{color:#fff}.btn-light,.btn-light.disabled,.btn-light.focus,.btn-light.hover:not(:disabled):not(.disabled),.btn-light:disabled,.btn-light:focus,.btn-light:hover:not(:disabled):not(.disabled),.btn-white,.btn-white.disabled,.btn-white.focus,.btn-white.hover:not(:disabled):not(.disabled),.btn-white:disabled,.btn-white:focus,.btn-white:hover:not(:disabled):not(.disabled),.show>.btn-light.dropdown-toggle,.show>.btn-white.dropdown-toggle{color:#343a40}.card{box-shadow:0 0 .875rem 0 rgba(33,37,41,.05);margin-bottom:24px}.card-header{border-bottom-width:1px}.card-title{color:#939ba2;font-size:1.125rem;font-weight:600}.card-subtitle{font-weight:400}.card-img,.card-img-bottom,.card-img-top{height:auto;max-width:100%}@media (-ms-high-contrast:none){.card-img,.card-img-bottom,.card-img-top{height:100%}}.card>.table>tbody tr:last-child td:first-child,.card>.table>tbody tr:last-child th:first-child{border-bottom-left-radius:.25rem}.card>.table>tbody tr:last-child td:last-child,.card>.table>tbody tr:last-child th:last-child{border-bottom-right-radius:.25rem}.chart{margin:auto;min-height:300px;position:relative;width:100%}.chart-xs{min-height:200px}.chart-sm{min-height:252px}.chart-lg{min-height:350px}.chart-xl{min-height:500px}.chart canvas{max-width:100%}.content{direction:ltr;flex:1;max-width:100vw;padding:1.5rem 1.5rem .75rem;width:100vw}@media(min-width:768px){.content{max-width:auto;width:auto}}@media(min-width:992px){.content{padding:3rem 3rem 1.5rem}}.navbar-nav .dropdown-menu{box-shadow:0 .1rem .2rem rgba(0,0,0,.05)}.dropdown .dropdown-menu.show{animation-duration:.25s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:dropdownAnimation;animation-timing-function:ease}@keyframes dropdownAnimation{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translate(0)}}.dropdown-toggle:after{border:solid;border-width:0 2px 2px 0;display:inline-block;padding:2px;transform:rotate(45deg)}.dropdown-item{transition:background .1s ease-in-out,color .1s ease-in-out}.dropdown-menu{top:auto}.dropdown-menu-lg{min-width:20rem}.dropdown .list-group .list-group-item{border-width:0 0 1px;margin-bottom:0}.dropdown .list-group .list-group-item:first-child,.dropdown .list-group .list-group-item:last-child{border-radius:0}.dropdown .list-group .list-group-item:hover{background:#f8f9fa}.dropdown-menu-header{border-bottom:1px solid #dee2e6;font-weight:600;padding:.75rem;text-align:center}.dropdown-menu-footer{display:block;font-size:.75rem;padding:.5rem;text-align:center}.feather{height:18px;width:18px;stroke-width:2}.feather-sm{height:14px;width:14px}.feather-lg{height:36px;width:36px}footer.footer{background:#fff;direction:ltr;padding:1rem .875rem}footer.footer ul{margin-bottom:0}@media(max-width:767.98px){footer.footer{width:100vw}}.hamburger,.hamburger:after,.hamburger:before{background:#495057;border-radius:1px;content:"";cursor:pointer;display:block;height:3px;transition:background .1s ease-in-out,color .1s ease-in-out;width:24px}.hamburger{position:relative}.hamburger:before{position:absolute;top:-7.5px;width:24px}.hamburger:after{bottom:-7.5px;position:absolute;width:16px}.sidebar-toggle:hover .hamburger,.sidebar-toggle:hover .hamburger:after,.sidebar-toggle:hover .hamburger:before{background:#3b7ddd}.hamburger-right,.hamburger-right:after,.hamburger-right:before{right:0}a.list-group-item{text-decoration:none}.main{background:#f5f7fb;border-bottom-left-radius:0;border-top-left-radius:0;display:flex;flex-direction:column;min-height:100vh;min-width:0;overflow:hidden;transition:margin-left .35s ease-in-out,left .35s ease-in-out,margin-right .35s ease-in-out,right .35s ease-in-out;width:100%}.navbar{border-bottom:0;box-shadow:0 0 2rem 0 rgba(33,37,41,.1)}@media(max-width:767.98px){.navbar{width:100vw}}.navbar .avatar{margin-bottom:-15px;margin-top:-15px}.navbar-nav{direction:ltr}.navbar-align{margin-left:auto}.navbar-bg{background:#fff}.navbar-brand{color:#f8f9fa;display:block;font-size:1.15rem;font-weight:400;padding:.875rem 0}.navbar-brand .feather,.navbar-brand svg{color:#3b7ddd;height:24px;margin-left:-.15rem;margin-right:.375rem;margin-top:-.375rem;width:24px}.nav-flag,.nav-icon{color:#6c757d;display:block;font-size:1.5rem;line-height:1.4;padding:.1rem .8rem;transition:background .1s ease-in-out,color .1s ease-in-out}.nav-flag:after,.nav-icon:after{display:none!important}.nav-flag.active,.nav-flag:hover,.nav-icon.active,.nav-icon:hover{color:#3b7ddd}.nav-flag .feather,.nav-flag svg,.nav-icon .feather,.nav-icon svg{height:20px;width:20px}.nav-item .indicator{background:#3b7ddd;border-radius:50%;box-shadow:0 .1rem .2rem rgba(0,0,0,.05);color:#fff;display:block;font-size:.675rem;height:18px;padding:1px;position:absolute;right:-8px;text-align:center;top:0;transition:top .1s ease-out;width:18px}.nav-item:hover .indicator{top:-4px}.nav-item a:focus{outline:0}@media (-ms-high-contrast:none),screen and (-ms-high-contrast:active){.navbar .avatar{max-height:47px}}@media(max-width:575.98px){.navbar{padding:.75rem}.nav-icon{padding:.1rem .75rem}.dropdown,.dropleft,.dropright,.dropup{position:inherit}.navbar-expand .navbar-nav .dropdown-menu-lg{min-width:100%}.nav-item .nav-link:after{display:none}}.nav-flag img{border-radius:50%;height:20px;-o-object-fit:cover;object-fit:cover;width:20px}.navbar input{direction:ltr}#root,body,html{height:100%}body{opacity:1!important;overflow-y:scroll}@media (-ms-high-contrast:none),screen and (-ms-high-contrast:active){html{overflow-x:hidden}}.sidebar{direction:ltr;max-width:260px;min-width:260px}.sidebar,.sidebar-content{background:#3b7ddd;transition:margin-left .35s ease-in-out,left .35s ease-in-out,margin-right .35s ease-in-out,right .35s ease-in-out}.sidebar-content{display:flex;flex-direction:column;height:100vh}.sidebar-nav{flex-grow:1;list-style:none;margin-bottom:0;padding-left:0}.sidebar-link,a.sidebar-link{background:#3b7ddd;border-left:3px solid transparent;color:rgba(233,236,239,.5);cursor:pointer;display:block;font-weight:400;padding:.625rem 1.625rem;position:relative;text-decoration:none;transition:background .1s ease-in-out}.sidebar-link i,.sidebar-link svg,a.sidebar-link i,a.sidebar-link svg{color:rgba(233,236,239,.5);margin-right:.75rem}.sidebar-link:focus{outline:0}.sidebar-link:hover{background:#3b7ddd;border-left-color:transparent}.sidebar-link:hover,.sidebar-link:hover i,.sidebar-link:hover svg{color:rgba(233,236,239,.75)}.sidebar-item.active .sidebar-link:hover,.sidebar-item.active>.sidebar-link{background:linear-gradient(90deg,rgba(59,125,221,.1),rgba(59,125,221,.088) 50%,transparent);border-left-color:#3b7ddd;color:#e9ecef}.sidebar-item.active .sidebar-link:hover i,.sidebar-item.active .sidebar-link:hover svg,.sidebar-item.active>.sidebar-link i,.sidebar-item.active>.sidebar-link svg{color:#e9ecef}.sidebar-brand{color:#f8f9fa;display:block;font-size:1.15rem;font-weight:600;padding:1.15rem 1.5rem}.sidebar-brand:hover{color:#f8f9fa;text-decoration:none}.sidebar-brand:focus{outline:0}.sidebar-toggle{cursor:pointer;display:flex;height:26px;width:26px}.sidebar.collapsed{margin-left:-260px}@media(min-width:1px)and (max-width:991.98px){.sidebar{margin-left:-260px}.sidebar.collapsed{margin-left:0}}.sidebar-toggle{margin-right:1rem}.sidebar-header{background:transparent;color:#ced4da;font-size:.75rem;padding:1.5rem 1.5rem .375rem}.sidebar-badge{position:absolute;right:15px;top:14px;z-index:1}.sidebar-cta-content{background:#2b3947;border-radius:.3rem;color:#e9ecef;margin:1.75rem;padding:1.5rem}.min-vw-50{min-width:50vw!important}.min-vh-50{min-height:50vh!important}.vw-50{width:50vw!important}.vh-50{height:50vh!important}.stat{align-items:center;background:#d3e2f7;border-radius:50%;display:flex;height:40px;justify-content:center;width:40px}.stat svg{color:#3b7ddd!important;height:18px;width:18px;stroke-width:1.5}.table tbody,.table td,.table tfoot,.table th,.table thead,.table tr,.table>:not(:last-child)>:last-child>*{border-color:var(--bs-border-color)}.table>tbody>tr>td{vertical-align:middle}.text-sm{font-size:.75rem}.text-lg{font-size:1.125rem}b,strong{font-weight:600}pre.snippet{white-space:pre-wrap;word-wrap:break-word;text-align:justify}a{cursor:pointer}.wrapper{align-items:stretch;background:#3b7ddd;display:flex;width:100%}.cursor-grab{cursor:move;cursor:grab;cursor:-webkit-grab}.cursor-pointer{cursor:pointer}svg{touch-action:none}.jvm-zoomin,.jvm-zoomout,image,text{-webkit-user-select:none;-moz-user-select:none;user-select:none}.jvm-container{height:100%;overflow:hidden;position:relative;touch-action:none;width:100%}.jvm-tooltip{background-color:#5c5cff;border-radius:3px;box-shadow:1px 2px 12px rgba(0,0,0,.2);color:#fff;display:none;font-family:sans-serif,Verdana;font-size:smaller;padding:3px 5px;position:absolute;white-space:nowrap}.jvm-tooltip.active{display:block}.jvm-zoom-btn{background-color:#292929;border-radius:3px;box-sizing:border-box;color:#fff;cursor:pointer;height:15px;left:10px;line-height:10px;padding:3px;position:absolute;width:15px}.jvm-zoom-btn.jvm-zoomout{top:30px}.jvm-zoom-btn.jvm-zoomin{top:10px}.jvm-series-container{position:absolute;right:15px}.jvm-series-container.jvm-series-h{bottom:15px}.jvm-series-container.jvm-series-v{top:15px}.jvm-series-container .jvm-legend{background-color:#fff;border:1px solid #e5e7eb;border-radius:.25rem;box-shadow:0 1px 2px 0 rgba(0,0,0,.05);float:left;margin-left:.75rem;padding:.6rem}.jvm-series-container .jvm-legend .jvm-legend-title{border-bottom:1px solid #e5e7eb;line-height:1;margin-bottom:.575rem;padding-bottom:.5rem;text-align:left}.jvm-series-container .jvm-legend .jvm-legend-inner{overflow:hidden}.jvm-series-container .jvm-legend .jvm-legend-inner .jvm-legend-tick{min-width:40px;overflow:hidden}.jvm-series-container .jvm-legend .jvm-legend-inner .jvm-legend-tick:not(:first-child){margin-top:.575rem}.jvm-series-container .jvm-legend .jvm-legend-inner .jvm-legend-tick .jvm-legend-tick-sample{border-radius:4px;float:left;height:16px;margin-right:.65rem;width:16px}.jvm-series-container .jvm-legend .jvm-legend-inner .jvm-legend-tick .jvm-legend-tick-text{float:left;font-size:12px;text-align:center}.jvm-line[animation=true]{animation:jvm-line-animation 10s linear infinite forwards}@keyframes jvm-line-animation{0%{stroke-dashoffset:250}}[data-simplebar]{align-content:flex-start;align-items:flex-start;flex-direction:column;flex-wrap:wrap;justify-content:flex-start;position:relative}.simplebar-wrapper{height:inherit;max-height:inherit;max-width:inherit;overflow:hidden;width:inherit}.simplebar-mask{direction:inherit;height:auto!important;overflow:hidden;width:auto!important;z-index:0}.simplebar-mask,.simplebar-offset{bottom:0;left:0;margin:0;padding:0;position:absolute;right:0;top:0}.simplebar-offset{box-sizing:inherit!important;direction:inherit!important;resize:none!important;-webkit-overflow-scrolling:touch}.simplebar-content-wrapper{box-sizing:border-box!important;direction:inherit;display:block;height:100%;max-height:100%;max-width:100%;position:relative;scrollbar-width:none;width:auto;-ms-overflow-style:none}.simplebar-content-wrapper::-webkit-scrollbar,.simplebar-hide-scrollbar::-webkit-scrollbar{display:none;height:0;width:0}.simplebar-content:after,.simplebar-content:before{content:" ";display:table}.simplebar-placeholder{max-height:100%;max-width:100%;pointer-events:none;width:100%}.simplebar-height-auto-observer-wrapper{box-sizing:inherit!important;flex-basis:0;flex-grow:inherit;flex-shrink:0;float:left;height:100%;margin:0;max-height:1px;max-width:1px;overflow:hidden;padding:0;pointer-events:none;position:relative;width:100%;z-index:-1}.simplebar-height-auto-observer{box-sizing:inherit;display:block;height:1000%;left:0;min-height:1px;min-width:1px;opacity:0;top:0;width:1000%;z-index:-1}.simplebar-height-auto-observer,.simplebar-track{overflow:hidden;pointer-events:none;position:absolute}.simplebar-track{bottom:0;right:0;z-index:1}[data-simplebar].simplebar-dragging .simplebar-content{pointer-events:none;-moz-user-select:none;user-select:none;-webkit-user-select:none}[data-simplebar].simplebar-dragging .simplebar-track{pointer-events:all}.simplebar-scrollbar{left:0;min-height:10px;position:absolute;right:0}.simplebar-scrollbar:before{background:#000;border-radius:7px;content:"";left:2px;opacity:0;position:absolute;right:2px;transition:opacity .2s linear}.simplebar-scrollbar.simplebar-visible:before{opacity:.5;transition:opacity 0s linear}.simplebar-track.simplebar-vertical{top:0;width:11px}.simplebar-track.simplebar-vertical .simplebar-scrollbar:before{bottom:2px;top:2px}.simplebar-track.simplebar-horizontal{height:11px;left:0}.simplebar-track.simplebar-horizontal .simplebar-scrollbar:before{height:100%;left:2px;right:2px}.simplebar-track.simplebar-horizontal .simplebar-scrollbar{height:7px;left:0;min-height:0;min-width:10px;right:auto;top:2px;width:auto}[data-simplebar-direction=rtl] .simplebar-track.simplebar-vertical{left:0;right:auto}.hs-dummy-scrollbar-size{direction:rtl;height:500px;opacity:0;overflow-x:scroll;overflow-y:hidden;position:fixed;visibility:hidden;width:500px}.simplebar-hide-scrollbar{left:0;overflow-y:scroll;position:fixed;scrollbar-width:none;visibility:hidden;-ms-overflow-style:none}.flatpickr-calendar{animation:none;background:transparent;background:#fff;border:0;border-radius:5px;box-shadow:1px 0 0 #e6e6e6,-1px 0 0 #e6e6e6,0 1px 0 #e6e6e6,0 -1px 0 #e6e6e6,0 3px 13px rgba(0,0,0,.08);box-sizing:border-box;direction:ltr;display:none;font-size:14px;line-height:24px;opacity:0;padding:0;position:absolute;text-align:center;touch-action:manipulation;visibility:hidden;width:307.875px}.flatpickr-calendar.inline,.flatpickr-calendar.open{max-height:640px;opacity:1;visibility:visible}.flatpickr-calendar.open{display:inline-block;z-index:99999}.flatpickr-calendar.animate.open{animation:fpFadeInDown .3s cubic-bezier(.23,1,.32,1)}.flatpickr-calendar.inline{display:block;position:relative;top:2px}.flatpickr-calendar.static{position:absolute;top:calc(100% + 2px)}.flatpickr-calendar.static.open{display:block;z-index:999}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7){box-shadow:none!important}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1){box-shadow:-2px 0 0 #e6e6e6,5px 0 0 #e6e6e6}.flatpickr-calendar .hasTime .dayContainer,.flatpickr-calendar .hasWeeks .dayContainer{border-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0}.flatpickr-calendar .hasWeeks .dayContainer{border-left:0}.flatpickr-calendar.hasTime .flatpickr-time{border-top:1px solid #e6e6e6;height:40px}.flatpickr-calendar.noCalendar.hasTime .flatpickr-time{height:auto}.flatpickr-calendar:after,.flatpickr-calendar:before{border:solid transparent;content:"";display:block;height:0;left:22px;pointer-events:none;position:absolute;width:0}.flatpickr-calendar.arrowRight:after,.flatpickr-calendar.arrowRight:before,.flatpickr-calendar.rightMost:after,.flatpickr-calendar.rightMost:before{left:auto;right:22px}.flatpickr-calendar.arrowCenter:after,.flatpickr-calendar.arrowCenter:before{left:50%;right:50%}.flatpickr-calendar:before{border-width:5px;margin:0 -5px}.flatpickr-calendar:after{border-width:4px;margin:0 -4px}.flatpickr-calendar.arrowTop:after,.flatpickr-calendar.arrowTop:before{bottom:100%}.flatpickr-calendar.arrowTop:before{border-bottom-color:#e6e6e6}.flatpickr-calendar.arrowTop:after{border-bottom-color:#fff}.flatpickr-calendar.arrowBottom:after,.flatpickr-calendar.arrowBottom:before{top:100%}.flatpickr-calendar.arrowBottom:before{border-top-color:#e6e6e6}.flatpickr-calendar.arrowBottom:after{border-top-color:#fff}.flatpickr-calendar:focus{outline:0}.flatpickr-wrapper{display:inline-block;position:relative}.flatpickr-months{display:flex}.flatpickr-months .flatpickr-month{background:transparent;flex:1;line-height:1;overflow:hidden;position:relative;text-align:center}.flatpickr-months .flatpickr-month,.flatpickr-months .flatpickr-next-month,.flatpickr-months .flatpickr-prev-month{color:rgba(0,0,0,.9);fill:rgba(0,0,0,.9);height:34px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.flatpickr-months .flatpickr-next-month,.flatpickr-months .flatpickr-prev-month{cursor:pointer;padding:10px;position:absolute;text-decoration:none;top:0;z-index:3}.flatpickr-months .flatpickr-next-month.flatpickr-disabled,.flatpickr-months .flatpickr-prev-month.flatpickr-disabled{display:none}.flatpickr-months .flatpickr-next-month i,.flatpickr-months .flatpickr-prev-month i{position:relative}.flatpickr-months .flatpickr-next-month.flatpickr-prev-month,.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month{left:0}.flatpickr-months .flatpickr-next-month.flatpickr-next-month,.flatpickr-months .flatpickr-prev-month.flatpickr-next-month{right:0}.flatpickr-months .flatpickr-next-month:hover,.flatpickr-months .flatpickr-prev-month:hover{color:#959ea9}.flatpickr-months .flatpickr-next-month:hover svg,.flatpickr-months .flatpickr-prev-month:hover svg{fill:#f64747}.flatpickr-months .flatpickr-next-month svg,.flatpickr-months .flatpickr-prev-month svg{height:14px;width:14px}.flatpickr-months .flatpickr-next-month svg path,.flatpickr-months .flatpickr-prev-month svg path{transition:fill .1s;fill:inherit}.numInputWrapper{height:auto;position:relative}.numInputWrapper input,.numInputWrapper span{display:inline-block}.numInputWrapper input{width:100%}.numInputWrapper input::-ms-clear{display:none}.numInputWrapper input::-webkit-inner-spin-button,.numInputWrapper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.numInputWrapper span{border:1px solid rgba(57,57,57,.15);box-sizing:border-box;cursor:pointer;height:50%;line-height:50%;opacity:0;padding:0 4px 0 2px;position:absolute;right:0;width:14px}.numInputWrapper span:hover{background:rgba(0,0,0,.1)}.numInputWrapper span:active{background:rgba(0,0,0,.2)}.numInputWrapper span:after{content:"";display:block;position:absolute}.numInputWrapper span.arrowUp{border-bottom:0;top:0}.numInputWrapper span.arrowUp:after{border-bottom:4px solid rgba(57,57,57,.6);border-left:4px solid transparent;border-right:4px solid transparent;top:26%}.numInputWrapper span.arrowDown{top:50%}.numInputWrapper span.arrowDown:after{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid rgba(57,57,57,.6);top:40%}.numInputWrapper span svg{height:auto;width:inherit}.numInputWrapper span svg path{fill:rgba(0,0,0,.5)}.numInputWrapper:hover{background:rgba(0,0,0,.05)}.numInputWrapper:hover span{opacity:1}.flatpickr-current-month{color:inherit;display:inline-block;font-size:135%;font-weight:300;height:34px;left:12.5%;line-height:inherit;line-height:1;padding:7.48px 0 0;position:absolute;text-align:center;transform:translateZ(0);width:75%}.flatpickr-current-month span.cur-month{color:inherit;display:inline-block;font-family:inherit;font-weight:700;margin-left:.5ch;padding:0}.flatpickr-current-month span.cur-month:hover{background:rgba(0,0,0,.05)}.flatpickr-current-month .numInputWrapper{display:inline-block;width:6ch;width:7ch\0}.flatpickr-current-month .numInputWrapper span.arrowUp:after{border-bottom-color:rgba(0,0,0,.9)}.flatpickr-current-month .numInputWrapper span.arrowDown:after{border-top-color:rgba(0,0,0,.9)}.flatpickr-current-month input.cur-year{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;background:transparent;border:0;border-radius:0;box-sizing:border-box;color:inherit;cursor:text;display:inline-block;font-family:inherit;font-size:inherit;font-weight:300;height:auto;line-height:inherit;margin:0;padding:0 0 0 .5ch;vertical-align:initial}.flatpickr-current-month input.cur-year:focus{outline:0}.flatpickr-current-month input.cur-year[disabled],.flatpickr-current-month input.cur-year[disabled]:hover{background:transparent;color:rgba(0,0,0,.5);font-size:100%;pointer-events:none}.flatpickr-current-month .flatpickr-monthDropdown-months{appearance:menulist;-webkit-appearance:menulist;-moz-appearance:menulist;background:transparent;border:none;border-radius:0;box-sizing:border-box;-webkit-box-sizing:border-box;color:inherit;cursor:pointer;font-family:inherit;font-size:inherit;font-weight:300;height:auto;line-height:inherit;margin:-1px 0 0;outline:none;padding:0 0 0 .5ch;position:relative;vertical-align:initial;width:auto}.flatpickr-current-month .flatpickr-monthDropdown-months:active,.flatpickr-current-month .flatpickr-monthDropdown-months:focus{outline:none}.flatpickr-current-month .flatpickr-monthDropdown-months:hover{background:rgba(0,0,0,.05)}.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month{background-color:transparent;outline:none;padding:0}.flatpickr-weekdays{align-items:center;background:transparent;display:flex;height:28px;overflow:hidden;text-align:center;width:100%}.flatpickr-weekdays .flatpickr-weekdaycontainer{display:flex;flex:1}span.flatpickr-weekday{background:transparent;color:rgba(0,0,0,.54);cursor:default;display:block;flex:1;font-size:90%;font-weight:bolder;line-height:1;margin:0;text-align:center}.dayContainer,.flatpickr-weeks{padding:1px 0 0}.flatpickr-days{align-items:flex-start;display:flex;overflow:hidden;position:relative;width:307.875px}.flatpickr-days:focus{outline:0}.dayContainer{box-sizing:border-box;display:inline-block;display:flex;flex-wrap:wrap;-ms-flex-wrap:wrap;justify-content:space-around;max-width:307.875px;min-width:307.875px;opacity:1;outline:0;padding:0;text-align:left;transform:translateZ(0);width:307.875px}.dayContainer+.dayContainer{box-shadow:-1px 0 0 #e6e6e6}.flatpickr-day{background:none;border:1px solid transparent;border-radius:150px;box-sizing:border-box;color:#393939;cursor:pointer;display:inline-block;flex-basis:14.2857143%;font-weight:400;height:39px;justify-content:center;line-height:39px;margin:0;max-width:39px;position:relative;text-align:center;width:14.2857143%}.flatpickr-day.inRange,.flatpickr-day.nextMonthDay.inRange,.flatpickr-day.nextMonthDay.today.inRange,.flatpickr-day.nextMonthDay:focus,.flatpickr-day.nextMonthDay:hover,.flatpickr-day.prevMonthDay.inRange,.flatpickr-day.prevMonthDay.today.inRange,.flatpickr-day.prevMonthDay:focus,.flatpickr-day.prevMonthDay:hover,.flatpickr-day.today.inRange,.flatpickr-day:focus,.flatpickr-day:hover{background:#e6e6e6;border-color:#e6e6e6;cursor:pointer;outline:0}.flatpickr-day.today{border-color:#959ea9}.flatpickr-day.today:focus,.flatpickr-day.today:hover{background:#959ea9;border-color:#959ea9;color:#fff}.flatpickr-day.endRange,.flatpickr-day.endRange.inRange,.flatpickr-day.endRange.nextMonthDay,.flatpickr-day.endRange.prevMonthDay,.flatpickr-day.endRange:focus,.flatpickr-day.endRange:hover,.flatpickr-day.selected,.flatpickr-day.selected.inRange,.flatpickr-day.selected.nextMonthDay,.flatpickr-day.selected.prevMonthDay,.flatpickr-day.selected:focus,.flatpickr-day.selected:hover,.flatpickr-day.startRange,.flatpickr-day.startRange.inRange,.flatpickr-day.startRange.nextMonthDay,.flatpickr-day.startRange.prevMonthDay,.flatpickr-day.startRange:focus,.flatpickr-day.startRange:hover{background:#569ff7;border-color:#569ff7;box-shadow:none;color:#fff}.flatpickr-day.endRange.startRange,.flatpickr-day.selected.startRange,.flatpickr-day.startRange.startRange{border-radius:50px 0 0 50px}.flatpickr-day.endRange.endRange,.flatpickr-day.selected.endRange,.flatpickr-day.startRange.endRange{border-radius:0 50px 50px 0}.flatpickr-day.endRange.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.selected.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.startRange.startRange+.endRange:not(:nth-child(7n+1)){box-shadow:-10px 0 0 #569ff7}.flatpickr-day.endRange.startRange.endRange,.flatpickr-day.selected.startRange.endRange,.flatpickr-day.startRange.startRange.endRange{border-radius:50px}.flatpickr-day.inRange{border-radius:0;box-shadow:-5px 0 0 #e6e6e6,5px 0 0 #e6e6e6}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover,.flatpickr-day.nextMonthDay,.flatpickr-day.notAllowed,.flatpickr-day.notAllowed.nextMonthDay,.flatpickr-day.notAllowed.prevMonthDay,.flatpickr-day.prevMonthDay{background:transparent;border-color:transparent;color:rgba(57,57,57,.3);cursor:default}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover{color:rgba(57,57,57,.1);cursor:not-allowed}.flatpickr-day.week.selected{border-radius:0;box-shadow:-5px 0 0 #569ff7,5px 0 0 #569ff7}.flatpickr-day.hidden{visibility:hidden}.rangeMode .flatpickr-day{margin-top:1px}.flatpickr-weekwrapper{float:left}.flatpickr-weekwrapper .flatpickr-weeks{box-shadow:1px 0 0 #e6e6e6;padding:0 12px}.flatpickr-weekwrapper .flatpickr-weekday{float:none;line-height:28px;width:100%}.flatpickr-weekwrapper span.flatpickr-day,.flatpickr-weekwrapper span.flatpickr-day:hover{background:transparent;border:none;color:rgba(57,57,57,.3);cursor:default;display:block;max-width:none;width:100%}.flatpickr-innerContainer{box-sizing:border-box;display:block;display:flex;overflow:hidden}.flatpickr-rContainer{box-sizing:border-box;display:inline-block;padding:0}.flatpickr-time{box-sizing:border-box;display:block;display:flex;height:0;line-height:40px;max-height:40px;outline:0;overflow:hidden;text-align:center}.flatpickr-time:after{clear:both;content:"";display:table}.flatpickr-time .numInputWrapper{flex:1;float:left;height:40px;width:40%}.flatpickr-time .numInputWrapper span.arrowUp:after{border-bottom-color:#393939}.flatpickr-time .numInputWrapper span.arrowDown:after{border-top-color:#393939}.flatpickr-time.hasSeconds .numInputWrapper{width:26%}.flatpickr-time.time24hr .numInputWrapper{width:49%}.flatpickr-time input{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;background:transparent;border:0;border-radius:0;box-shadow:none;box-sizing:border-box;color:#393939;font-size:14px;height:inherit;line-height:inherit;margin:0;padding:0;position:relative;text-align:center}.flatpickr-time input.flatpickr-hour{font-weight:700}.flatpickr-time input.flatpickr-minute,.flatpickr-time input.flatpickr-second{font-weight:400}.flatpickr-time input:focus{border:0;outline:0}.flatpickr-time .flatpickr-am-pm,.flatpickr-time .flatpickr-time-separator{align-self:center;color:#393939;float:left;font-weight:700;height:inherit;line-height:inherit;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:2%}.flatpickr-time .flatpickr-am-pm{cursor:pointer;font-weight:400;outline:0;text-align:center;width:18%}.flatpickr-time .flatpickr-am-pm:focus,.flatpickr-time .flatpickr-am-pm:hover,.flatpickr-time input:focus,.flatpickr-time input:hover{background:#eee}.flatpickr-input[readonly]{cursor:pointer}@keyframes fpFadeInDown{0%{opacity:0;transform:translate3d(0,-20px,0)}to{opacity:1;transform:translateZ(0)}}.flatpickr-calendar.inline{background:transparent;box-shadow:none;width:100%}.flatpickr-calendar.inline .flatpickr-days{width:100%}.flatpickr-calendar.inline .dayContainer{max-width:100%;min-width:100%;width:100%}.flatpickr-calendar.inline .flatpickr-day{border-radius:.2rem;height:45px;line-height:45px;max-width:inherit}.flatpickr-calendar.inline .flatpickr-day.today{border:0}.flatpickr-calendar.inline .flatpickr-day.today:before{border-color:rgba(0,0,0,.2) transparent #3b7ddd;border-style:solid;border-width:0 0 7px 7px;bottom:4px;content:"";display:inline-block;position:absolute;right:4px}.flatpickr-calendar.inline .flatpickr-day.today.selected:before{border-color:rgba(0,0,0,.2) transparent #fff}.flatpickr-calendar.inline .flatpickr-day.today:hover{background:#e6e6e6;color:#000}.flatpickr-calendar.inline .flatpickr-day.selected,.flatpickr-calendar.inline .flatpickr-day.selected:focus,.flatpickr-calendar.inline .flatpickr-day.selected:hover{background:#3b7ddd;border-radius:.2rem;color:#fff}.flatpickr-calendar.inline .flatpickr-weekdays{height:45px}.flatpickr-calendar.inline .flatpickr-weekday{height:45px;line-height:45px}.flatpickr-calendar.inline .flatpickr-months .flatpickr-month,.flatpickr-calendar.inline .flatpickr-months .flatpickr-next-month,.flatpickr-calendar.inline .flatpickr-months .flatpickr-prev-month{height:45px}.flatpickr-calendar.inline .flatpickr-current-month{height:45px;line-height:45px;padding-top:0}.flatpickr-calendar.inline .flatpickr-current-month .flatpickr-monthDropdown-months{-webkit-appearance:none;-moz-appearance:none;appearance:none}.flatpickr-calendar.inline .flatpickr-current-month .flatpickr-monthDropdown-months,.flatpickr-calendar.inline .flatpickr-current-month input.cur-year{font-size:1.25rem;font-weight:400}.flatpickr-calendar.inline .flatpickr-next-month,.flatpickr-calendar.inline .flatpickr-prev-month{border-radius:.2rem;width:45px}.flatpickr-calendar.inline .flatpickr-next-month:hover,.flatpickr-calendar.inline .flatpickr-prev-month:hover{background:#e6e6e6;color:#000}.simplebar-scrollbar:before{background:#fff}.simplebar-content{display:flex;flex-direction:column;height:100vh;padding-bottom:0!important}[data-simplebar]{left:0;position:-webkit-sticky;position:sticky;top:0;width:260px} +/*# sourceMappingURL=app.css.map*/ \ No newline at end of file diff --git a/wwws/apx/src/static/css/app.css.map b/wwws/apx/src/static/css/app.css.map new file mode 100644 index 0000000..61f74f5 --- /dev/null +++ b/wwws/apx/src/static/css/app.css.map @@ -0,0 +1 @@ +{"version":3,"file":"css/app.css","mappings":"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,2BACA,qCDyFA,wDCpGA,6BACA,6BACA,uCACA,gBACA,uCACA,8BACA,0BACA,8DACA,qCACA,2BACA,2BACA,qCDyFA,wDCpGA,6BACA,6BACA,uCACA,cACA,uCACA,8BACA,0BACA,8DACA,qCACA,2BACA,2BACA,qCDyFA,wDCpGA,6BACA,6BACA,uCACA,WACA,uCACA,8BACA,0BACA,8DACA,qCACA,2BACA,2BACA,qCDyFA,wDCpGA,6BACA,6BACA,uCACA,cACA,uCACA,8BACA,0BACA,8DACA,qCACA,2BACA,2BACA,qCDyFA,wDCpGA,6BACA,6BACA,uCACA,aACA,uCACA,8BACA,0BACA,0BACA,wEACA,2BACA,2BACA,qCDmHA,wDCtGA,6BACA,6BAEA,uCACA,mDACA,8BACA,0BACA,0BACA,0EACA,2BACA,2BACA,qCACA,wDAZA,6BACA,6BACA,uCACA,8BACA,kDACA,CACA,mDACA,oCACA,mCACA,sDACA,qCACA,wDAZA,6BACA,6BACA,uCACA,CACA,2CACA,wDACA,0BACA,oCACA,qCACA,2BACA,gEAEA,wDD2FA,gCCvGA,iCACA,uCAEA,mBACA,8CACA,8BACA,0BACA,0BACA,oCACA,gEACA,2BACA,qCACA,wDD2FA,gCCvGA,iCACA,uCAEA,mBACA,4CACA,8BACA,0BACA,0BACA,oCACA,gEACA,2BACA,qCACA,wDD2FA,gCCvGA,iCACA,CACA,sCACA,mBACA,yCACA,8BACA,0BACA,0BACA,qCACA,+DACA,2BACA,qCACA,wDD2FA,gCCvGA,iCACA,CACA,sCACA,mBACA,4CACA,8BACA,0BACA,0BACA,oCACA,gEACA,2BACA,qCACA,wDD2FA,gCCvGA,iCAEA,uCACA,mBACA,2CACA,8BACA,0BACA,0BACA,oCACA,+DACA,2BACA,qCACA,wDDwGA,gCACA,iCACA,uCACA,mBACA,wEACA,0BACA,8DACA,sCACA,2BACA,2BACA,qCACA,wDAOA,gCAEE,iCAGF,uCAIA,mBACE,yCAWJ,8BCxIE,0BACA,0B3B8NI,oC2B5NJ,mCDyIF,2BC5IE,2BACA,qCAEA,w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","sources":["webpack://@adminkit/core/./src/scss/app.scss","webpack://@adminkit/core/./src/scss/1-variables/_app.scss","webpack://@adminkit/core/./node_modules/bootstrap/scss/_root.scss","webpack://@adminkit/core/./node_modules/bootstrap/scss/vendor/_rfs.scss","webpack://@adminkit/core/./node_modules/bootstrap/scss/_reboot.scss","webpack://@adminkit/core/./node_modules/bootstrap/scss/_variables.scss","webpack://@adminkit/core/./node_modules/bootstrap/scss/mixins/_border-radius.scss","webpack://@adminkit/core/./node_modules/bootstrap/scss/_type.scss","webpack://@adminkit/core/./node_modules/bootstrap/scss/mixins/_lists.scss","webpack://@adminkit/core/./node_modules/bootstrap/scss/mixins/_image.scss","webpack://@adminkit/core/./node_modules/bootstrap/scss/_images.scss","webpack://@adminkit/core/./node_modules/bootstrap/scss/_containers.scss","webpack://@adminkit/core/./node_modules/bootstrap/scss/mixins/_container.scss","webpack://@adminkit/core/./node_modules/bootstrap/scss/mixins/_breakpoints.scss","webpack://@adminkit/core/./node_modules/bootstrap/scss/_grid.scss","webpack://@adminkit/core/./node_modules/bootstrap/scss/mixins/_grid.scss","webpack://@adminkit/core/./node_modules/bootstrap/scss/_tables.scss","webpack://@adminkit/core/./node_modules/bootstrap/scss/mixins/_table-variants.scss","webpack://@adminkit/core/./node_modules/bootstrap/scss/forms/_labels.scss","webpack://@adminkit/core/./node_modules/bootstrap/scss/forms/_form-text.scss","webpack://@adminkit/core/./node_modules/bootstrap/scss/forms/_form-control.scss","webpack://@adminkit/core/./node_modules/bootstrap/scss/mixins/_transition.scss","webpack://@adminkit/core/./node_modules/bootstrap/scss/mixins/_gradients.scss","webpack://@adminkit/core/./node_modules/bootstrap/scss/forms/_form-select.scss","webpack://@adminkit/core/./node_modules/bootstrap/scss/forms/_form-check.scss","webpack://@adminkit/core/./node_modules/bootstrap/scss/forms/_form-range.scss","webpack://@adminkit/core/./node_modules/bootstrap/scss/forms/_floating-labels.scss","webpack://@adminkit/core/./node_modules/bootstrap/scss/forms/_input-group.scss","webpack://@adminkit/core/./node_modules/bootstrap/scss/mixins/_forms.scss","webpack://@adminkit/core/./node_modules/bootstrap/scss/_buttons.scss","webpack://@adminkit/core/./node_modules/bootstrap/scss/mixins/_buttons.scss","webpack://@adminkit/core/./node_modules/bootstrap/scss/_transitions.scss","webpack://@adminkit/core/./node_modules/bootstrap/scss/_dropdown.scss","webpack://@adminkit/core/./node_modules/bootstrap/scss/mixins/_caret.scss","webpack://@adminkit/core/./node_modules/bootstrap/scss/_button-group.scss","webpack://@adminkit/core/./node_modules/bootstrap/scss/_nav.scss","webpack://@adminkit/core/./node_modules/bootstrap/scss/_navbar.scss","webpack://@adminkit/core/./node_modules/bootstrap/scss/_card.scss","webpack://@adminkit/core/./node_modules/bootstrap/scss/_badge.scss","webpack://@adminkit/core/./node_modules/bootstrap/scss/_list-group.scss","webpack://@adminkit/core/./node_modules/bootstrap/scss/_close.scss","webpack://@adminkit/core/./node_modules/bootstrap/scss/mixins/_clearfix.scss","webpack://@adminkit/core/./node_modules/bootstrap/scss/helpers/_color-bg.scss","webpack://@adminkit/core/./node_modules/bootstrap/scss/helpers/_colored-links.scss","webpack://@adminkit/core/./node_modules/bootstrap/scss/helpers/_focus-ring.scss","webpack://@adminkit/core/./node_modules/bootstrap/scss/helpers/_icon-link.scss","webpack://@adminkit/core/./node_modules/bootstrap/scss/helpers/_ratio.scss","webpack://@adminkit/core/./node_modules/bootstrap/scss/helpers/_position.scss","webpack://@adminkit/core/./node_modules/bootstrap/scss/helpers/_stacks.scss","webpack://@adminkit/core/./node_modules/bootstrap/scss/helpers/_visually-hidden.scss","webpack://@adminkit/core/./node_modules/bootstrap/scss/mixins/_visually-hidden.scss","webpack://@adminkit/core/./node_modules/bootstrap/scss/helpers/_stretched-link.scss","webpack://@adminkit/core/./node_modules/bootstrap/scss/helpers/_text-truncation.scss","webpack://@adminkit/core/./node_modules/bootstrap/scss/mixins/_text-truncate.scss","webpack://@adminkit/core/./node_modules/bootstrap/scss/helpers/_vr.scss","webpack://@adminkit/core/./node_modules/bootstrap/scss/mixins/_utilities.scss","webpack://@adminkit/core/./src/scss/3-components/_avatar.scss","webpack://@adminkit/core/./src/scss/3-components/_buttons.scss","webpack://@adminkit/core/./src/scss/2-mixins/_button.scss","webpack://@adminkit/core/./src/scss/3-components/_card.scss","webpack://@adminkit/core/./src/scss/3-components/_chart.scss","webpack://@adminkit/core/./src/scss/3-components/_content.scss","webpack://@adminkit/core/./src/scss/3-components/_dropdown.scss","webpack://@adminkit/core/./src/scss/3-components/_feather.scss","webpack://@adminkit/core/./src/scss/3-components/_footer.scss","webpack://@adminkit/core/./src/scss/3-components/_hamburger.scss","webpack://@adminkit/core/./src/scss/3-components/_list-group.scss","webpack://@adminkit/core/./src/scss/3-components/_main.scss","webpack://@adminkit/core/./src/scss/3-components/_navbar.scss","webpack://@adminkit/core/./src/scss/3-components/_reboot.scss","webpack://@adminkit/core/./src/scss/3-components/_sidebar.scss","webpack://@adminkit/core/./src/scss/3-components/_sizing.scss","webpack://@adminkit/core/./src/scss/3-components/_tables.scss","webpack://@adminkit/core/./src/scss/3-components/_stat.scss","webpack://@adminkit/core/./src/scss/3-components/_type.scss","webpack://@adminkit/core/./src/scss/3-components/_wrapper.scss","webpack://@adminkit/core/./src/scss/4-utilities/_cursors.scss","webpack://@adminkit/core/./node_modules/jsvectormap/dist/css/jsvectormap.css","webpack://@adminkit/core/./node_modules/simplebar/dist/simplebar.css","webpack://@adminkit/core/./node_modules/flatpickr/dist/flatpickr.css","webpack://@adminkit/core/./src/scss/5-vendor/_flatpickr.scss","webpack://@adminkit/core/./src/scss/5-vendor/_simplebar.scss"],"sourcesContent":["/*!\n * AdminKit v3.4.0 (https://adminkit.io/)\n * Copyright 2023 Paul Laros\n * Copyright 2023 AdminKit\n * Licensed under MIT (https://github.com/adminkit/adminkit/blob/master/LICENSE)\n */\n\n// Variables\n@import \"1-variables/app\";\n\n// Bootstrap\n@import \"~bootstrap/scss/functions\";\n@import \"~bootstrap/scss/variables\";\n@import \"~bootstrap/scss/maps\";\n@import \"~bootstrap/scss/mixins\";\n@import \"~bootstrap/scss/utilities\";\n@import \"~bootstrap/scss/root\";\n@import \"~bootstrap/scss/reboot\";\n@import \"~bootstrap/scss/type\";\n@import \"~bootstrap/scss/images\";\n@import \"~bootstrap/scss/containers\";\n@import \"~bootstrap/scss/grid\";\n@import \"~bootstrap/scss/tables\";\n@import \"~bootstrap/scss/forms\";\n@import \"~bootstrap/scss/buttons\";\n@import \"~bootstrap/scss/transitions\";\n@import \"~bootstrap/scss/dropdown\";\n@import \"~bootstrap/scss/button-group\";\n@import \"~bootstrap/scss/nav\";\n@import \"~bootstrap/scss/navbar\";\n@import \"~bootstrap/scss/card\";\n@import \"~bootstrap/scss/badge\";\n@import \"~bootstrap/scss/list-group\";\n@import \"~bootstrap/scss/close\";\n@import \"~bootstrap/scss/helpers\";\n@import \"~bootstrap/scss/utilities/api\";\n\n// Theme mixins\n@import \"2-mixins/button\";\n\n// Theme components\n@import \"3-components/avatar\";\n@import \"3-components/buttons\";\n@import \"3-components/card\";\n@import \"3-components/chart\";\n@import \"3-components/content\";\n@import \"3-components/dropdown\";\n@import \"3-components/feather\";\n@import \"3-components/footer\";\n@import \"3-components/hamburger\";\n@import \"3-components/list-group\";\n@import \"3-components/main\";\n@import \"3-components/navbar\";\n@import \"3-components/reboot\";\n@import \"3-components/sidebar\";\n@import \"3-components/sizing\";\n@import \"3-components/stat\";\n@import \"3-components/tables\";\n@import \"3-components/type\";\n@import \"3-components/wrapper\";\n\n// Theme utilities\n@import \"4-utilities/cursors\";\n\n// 3rd party plugins\n@import \"~jsvectormap/dist/css/jsvectormap\";\n@import \"~simplebar/dist/simplebar\";\n@import \"~flatpickr/dist/flatpickr\";\n\n// 3rd party plugin styles\n@import \"5-vendor/flatpickr\";\n@import \"5-vendor/simplebar\";\n","\n// Fonts\n@font-face {\n font-family: \"Quicksand\";\n src: url(\"/src/fonts/logo/Quicksand-VariableFont_wght.woff\") format(\"woff\");\n } \n@font-face {\n font-family: \"Questrial\";\n src: url(\"/src/fonts/texte/questrial-regular-webfont.woff\") format(\"woff\");\n }\n$font-family-sans-serif: \"Quicksand\",\"Inter\", \"Helvetica Neue\", Arial, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-base:\"Questrial\";\n\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 600 !default;\n$font-size-base: 1rem !default;\n$font-size-lg: 1.125rem !default;\n$font-size-sm: .75rem !default;\n$small-font-size: 80% !default;\n\n// Spacer\n$spacer: 1rem !default;\n\n$spacers: (\n 0: 0,\n 1: ($spacer * .25),\n 2: ($spacer * .5),\n 3: $spacer,\n 4: ($spacer * 1.5),\n 5: ($spacer * 3),\n 6: ($spacer * 4.5),\n 7: ($spacer * 6)\n) !default;\n\n// Grid breakpoints\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px,\n xxl: 1440px\n) !default;\n\n// Grid gutter\n$grid-gutter-width: 24px;\n\n// Grid containers\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1200px\n) !default;\n\n$container-padding-x: .75rem !default;\n\n// Options\n$min-contrast-ratio: 3 !default;\n$enable-validation-icons: false !default;\n$enable-rfs: false !default;\n$enable-negative-margins: true !default;\n$enable-dark-mode: false !default;\n\n// Transitions\n$transition-base: all .35s ease-in-out !default;\n\n// Theme colors\n$blue: #3B7DDD !default;\n$indigo: #0a0a0a !default;\n$purple: #6f42c1 !default;\n$pink: #e83e8c !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #fcb92c !default;\n$green: #1cbb8c !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n$primary: $blue !default;\n$secondary: $yellow !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: #f5f7fb !default;\n$dark: $gray-900 !default;\n\n$theme-colors: (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n) !default;\n\n// Social colors\n$social-colors: (\n \"facebook\": #3b5998,\n \"twitter\": #1da1f2,\n \"google\": #dc4e41,\n \"youtube\": #f00,\n \"vimeo\": #1ab7ea,\n \"dribbble\": #ea4c89,\n \"github\": #181717,\n \"instagram\": #e4405f,\n \"pinterest\": #bd081c,\n \"flickr\": #0063dc,\n \"bitbucket\": #0052cc\n) !default;\n\n// Body\n$body-bg: #f5f7fb !default;\n$body-color: #111 !default; //$gray-700 !default;\n\n// Links\n$link-decoration: none !default;\n$link-hover-decoration: underline !default;\n\n// Common\n$border-width: 1px !default;\n\n// Fonts\n$line-height-base: 1.5 !default;\n$line-height-lg: 1.5 !default;\n$line-height-sm: 1.5 !default;\n\n// Headings\n$h1-font-size: $font-size-base * 2 !default;\n$h2-font-size: $font-size-base * 1.75 !default;\n$h3-font-size: $font-size-base * 1.5 !default;\n$h4-font-size: $font-size-base * 1.25 !default;\n$h5-font-size: $font-size-base !default;\n$h6-font-size: $font-size-base !default;\n$headings-color: $black !default;\n$headings-font-weight: 400 !default;\n\n// Displays\n$display-font-sizes: (\n\t1: 6rem,\n 2: 5.5rem,\n 3: 4.5rem,\n 4: 3.5rem,\n 5: 3rem,\n 6: 2.5rem\n ) !default;\n\n// Shadows\n$box-shadow-sm: 0 0.05rem 0.2rem rgba($black, .05) !default;\n$box-shadow: 0 0.1rem 0.2rem rgba($black, .05) !default;\n$box-shadow-lg: 0 0.2rem 0.2rem rgba($black, .05) !default;\n\n// Navbar input\n$navbar-input-bg: darken($body-bg, 0.5%) !default;\n\n// Border radius\n$border-radius-sm: .1rem !default;\n$border-radius: .2rem !default;\n$border-radius-lg: .3rem !default;\n\n// Navbar\n$navbar-padding-y: $spacer*0.875 !default;\n$navbar-padding-x: $spacer*1.375 !default;\n$navbar-nav-link-padding-x: .5rem !default;\n$navbar-border-bottom: 0 !default;\n$navbar-box-shadow: 0 0 2rem 0 rgba($dark, .1) !default;\n\n// Navbar brand\n$navbar-brand-padding-y: $spacer*0.875 !default;\n$navbar-brand-padding-x: 0 !default;\n$navbar-brand-color: $gray-100 !default;\n$navbar-brand-font-weight: $font-weight-normal !default;\n$navbar-brand-font-size: 1.15rem !default;\n$navbar-brand-icon-color: $primary !default;\n\n$navbar-bg: $white !default;\n\n// Footer\n$footer-bg: $white !default;\n\n// Forms\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n$input-color: $gray-700 !default;\n$input-btn-border-width: $border-width !default;\n$input-btn-line-height: $line-height-base !default;\n$input-btn-line-height-sm: $line-height-sm !default;\n$input-btn-line-height-lg: $line-height-lg !default;\n$input-btn-focus-width: .2rem !default;\n$input-btn-padding-y: .3rem !default;\n$input-btn-padding-y-sm: .2rem !default;\n$input-btn-padding-y-lg: .4rem !default;\n$input-btn-padding-x: .85rem !default;\n$input-border-width: $input-btn-border-width !default;\n$input-height-border: $input-border-width * 2 !default;\n$input-height-inner: ($font-size-base * $input-btn-line-height) + ($input-btn-padding-y * 2) !default;\n$input-height: calc(#{$input-height-inner} + #{$input-height-border}) !default;\n$input-height-inner-sm: ($font-size-sm * $input-btn-line-height-sm) + ($input-btn-padding-y-sm * 2) !default;\n$input-height-sm: calc(#{$input-height-inner-sm} + #{$input-height-border}) !default;\n$input-height-inner-lg: ($font-size-lg * $input-btn-line-height-lg) + ($input-btn-padding-y-lg * 2) !default;\n$input-height-lg: calc(#{$input-height-inner-lg} + #{$input-height-border}) !default;\n\n// Cards\n$card-bg: $white !default;\n$card-border-radius: .25rem !default;\n$card-inner-border-radius: $card-border-radius !default;\n$card-border-width: 0 !default;\n$card-border-color: transparent !default;\n$card-cap-bg: $white !default;\n$card-shadow: 0 0 .875rem 0 rgba($dark, 0.05) !default;\n$card-title-font-size: $font-size-lg !default;\n$card-title-font-weight: $font-weight-bold !default;\n$card-title-color: lighten($gray-600, 15%) !default;\n$card-spacer-y: 1.25rem !default;\n$card-spacer-x: 1.25rem !default;\n$card-cap-padding-y: 1rem !default;\n$card-cap-padding-x: $card-spacer-x !default;\n\n// Tables\n$table-cell-padding-y: .75rem !default;\n$table-cell-padding-x: .75rem !default;\n$table-cell-padding-y-sm: .3rem !default;\n$table-cell-padding-x-sm: .3rem !default;\n$table-bg: transparent !default;\n$table-striped-bg: $gray-100 !default;\n$table-hover-bg: rgba($black, .0375) !default;\n\n// Sidebar general\n$sidebar-width: 260px !default;\n$sidebar-transition: margin-left .35s ease-in-out, left .35s ease-in-out, margin-right .35s ease-in-out, right .35s ease-in-out !default;\n$sidebar-bg: $blue !default;\n\n// Sidebar brand\n$sidebar-brand-padding-y: 1.15rem !default;\n$sidebar-brand-padding-x: 1.5rem !default;\n$sidebar-brand-font-weight: $font-weight-bold !default;\n$sidebar-brand-font-size: 1.15rem !default;\n$sidebar-brand-color: $gray-100 !default;\n\n// Sidebar header\n$sidebar-header-padding: 1.5rem 1.5rem 0.375rem !default;\n$sidebar-header-font-size: $font-size-sm !default;\n$sidebar-header-color: $gray-400 !default;\n\n// Sidebar link\n$sidebar-link-padding: .625rem 1.625rem !default;\n$sidebar-link-font-weight: 400 !default;\n$sidebar-link-bg: $blue !default;\n$sidebar-link-color: rgba($gray-200, 0.5) !default;\n$sidebar-link-border-left-color: transparent !default;\n\n$sidebar-link-hover-font-weight: $font-weight-normal !default;\n$sidebar-link-hover-bg:$blue !default;\n$sidebar-link-hover-color: #{rgba($gray-200, 0.75)} !default;\n$sidebar-link-hover-border-left-color: transparent !default;\n\n$sidebar-link-active-font-weight: $font-weight-normal !default;\n$sidebar-link-active-bg: #{linear-gradient(90deg, rgba($primary,0.1) 0%, rgba($primary,0.0875) 50%, rgba($black, 0) 100%)} !default;\n$sidebar-link-active-color: $gray-200 !default;\n$sidebar-link-active-border-left-color: $primary !default;\n\n// Sidebar link icon\n$sidebar-link-icon-color: #{rgba($gray-200, 0.5)} !default;\n$sidebar-link-icon-hover-color: #{rgba($gray-200, 0.75)} !default;\n$sidebar-link-icon-active-color: $gray-200 !default;\n\n// Sidebar bottom\n$sidebar-cta-color: $gray-200 !default;\n$sidebar-cta-bg: #2B3947 !default;\n$sidebar-cta-padding: $spacer*1.5 !default;\n$sidebar-cta-margin: $spacer*1.75 !default;\n$sidebar-cta-border-radius: $border-radius-lg !default;\n\n// Transitions\n$transition-appearance: background .4s ease-in-out, color .4s ease-in-out !default;\n$transition-appearance-slow: background .6s ease-in-out, color .6s ease-in-out !default;\n$transition-appearance-fast: background .1s ease-in-out, color .1s ease-in-out !default;\n\n// Modals\n$modal-content-border-width: 0 !default;\n$modal-header-border-width: 1px !default;\n$modal-footer-border-width: 1px !default;\n$modal-xl: 1140px !default;\n$modal-lg: 900px !default;\n$modal-md: 600px !default;\n$modal-sm: 400px !default;\n$modal-transition: transform .25s ease-out !default;\n\n// Badges\n$badge-font-size: 80% !default;\n$badge-padding-y: .3em !default;\n$badge-padding-x: .45em !default;\n\n// Dropdowns\n$dropdown-bg: $white !default;\n\n// Main\n$main-box-shadow: inset .75rem 0px 1.5rem 0px rgba($black, 0.075);\n\n// Content\n$content-padding-desktop: 3rem 3rem 1.5rem !default;\n$content-padding-mobile: 1.5rem 1.5rem .75rem !default;\n\n// Datetimepicker\n$bs-datetimepicker-active-bg: $primary !default;\n\n// Simplebar\n$simplebar-scrollbar-bg: $white !default;\n\n// Hamburger\n$hamburger-width-top: 24px !default;\n$hamburger-width-middle: 24px !default;\n$hamburger-width-bottom: 16px !default;\n\n// Stats\n$stat-bg: lighten($primary, 35%) !default;\n$stat-icon-color: $primary !default;\n$stat-padding: $spacer * 0.75 !default;",":root,\n[data-bs-theme=\"light\"] {\n // Note: Custom variable values only support SassScript inside `#{}`.\n\n // Colors\n //\n // Generate palettes for full colors, grays, and theme colors.\n\n @each $color, $value in $colors {\n --#{$prefix}#{$color}: #{$value};\n }\n\n @each $color, $value in $grays {\n --#{$prefix}gray-#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$prefix}#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors-rgb {\n --#{$prefix}#{$color}-rgb: #{$value};\n }\n\n @each $color, $value in $theme-colors-text {\n --#{$prefix}#{$color}-text-emphasis: #{$value};\n }\n\n @each $color, $value in $theme-colors-bg-subtle {\n --#{$prefix}#{$color}-bg-subtle: #{$value};\n }\n\n @each $color, $value in $theme-colors-border-subtle {\n --#{$prefix}#{$color}-border-subtle: #{$value};\n }\n\n --#{$prefix}white-rgb: #{to-rgb($white)};\n --#{$prefix}black-rgb: #{to-rgb($black)};\n\n // Fonts\n\n // Note: Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --#{$prefix}font-sans-serif: #{inspect($font-family-sans-serif)};\n --#{$prefix}font-monospace: #{inspect($font-family-monospace)};\n --#{$prefix}gradient: #{$gradient};\n\n // Root and body\n // scss-docs-start root-body-variables\n @if $font-size-root != null {\n --#{$prefix}root-font-size: #{$font-size-root};\n }\n --#{$prefix}body-font-family: #{inspect($font-family-base)};\n @include rfs($font-size-base, --#{$prefix}body-font-size);\n --#{$prefix}body-font-weight: #{$font-weight-base};\n --#{$prefix}body-line-height: #{$line-height-base};\n @if $body-text-align != null {\n --#{$prefix}body-text-align: #{$body-text-align};\n }\n\n --#{$prefix}body-color: #{$body-color};\n --#{$prefix}body-color-rgb: #{to-rgb($body-color)};\n --#{$prefix}body-bg: #{$body-bg};\n --#{$prefix}body-bg-rgb: #{to-rgb($body-bg)};\n\n --#{$prefix}emphasis-color: #{$body-emphasis-color};\n --#{$prefix}emphasis-color-rgb: #{to-rgb($body-emphasis-color)};\n\n --#{$prefix}secondary-color: #{$body-secondary-color};\n --#{$prefix}secondary-color-rgb: #{to-rgb($body-secondary-color)};\n --#{$prefix}secondary-bg: #{$body-secondary-bg};\n --#{$prefix}secondary-bg-rgb: #{to-rgb($body-secondary-bg)};\n\n --#{$prefix}tertiary-color: #{$body-tertiary-color};\n --#{$prefix}tertiary-color-rgb: #{to-rgb($body-tertiary-color)};\n --#{$prefix}tertiary-bg: #{$body-tertiary-bg};\n --#{$prefix}tertiary-bg-rgb: #{to-rgb($body-tertiary-bg)};\n // scss-docs-end root-body-variables\n\n --#{$prefix}heading-color: #{$headings-color};\n\n --#{$prefix}link-color: #{$link-color};\n --#{$prefix}link-color-rgb: #{to-rgb($link-color)};\n --#{$prefix}link-decoration: #{$link-decoration};\n\n --#{$prefix}link-hover-color: #{$link-hover-color};\n --#{$prefix}link-hover-color-rgb: #{to-rgb($link-hover-color)};\n\n @if $link-hover-decoration != null {\n --#{$prefix}link-hover-decoration: #{$link-hover-decoration};\n }\n\n --#{$prefix}code-color: #{$code-color};\n --#{$prefix}highlight-bg: #{$mark-bg};\n\n // scss-docs-start root-border-var\n --#{$prefix}border-width: #{$border-width};\n --#{$prefix}border-style: #{$border-style};\n --#{$prefix}border-color: #{$border-color};\n --#{$prefix}border-color-translucent: #{$border-color-translucent};\n\n --#{$prefix}border-radius: #{$border-radius};\n --#{$prefix}border-radius-sm: #{$border-radius-sm};\n --#{$prefix}border-radius-lg: #{$border-radius-lg};\n --#{$prefix}border-radius-xl: #{$border-radius-xl};\n --#{$prefix}border-radius-xxl: #{$border-radius-xxl};\n --#{$prefix}border-radius-2xl: var(--#{$prefix}border-radius-xxl); // Deprecated in v5.3.0 for consistency\n --#{$prefix}border-radius-pill: #{$border-radius-pill};\n // scss-docs-end root-border-var\n\n --#{$prefix}box-shadow: #{$box-shadow};\n --#{$prefix}box-shadow-sm: #{$box-shadow-sm};\n --#{$prefix}box-shadow-lg: #{$box-shadow-lg};\n --#{$prefix}box-shadow-inset: #{$box-shadow-inset};\n\n // Focus styles\n // scss-docs-start root-focus-variables\n --#{$prefix}focus-ring-width: #{$focus-ring-width};\n --#{$prefix}focus-ring-opacity: #{$focus-ring-opacity};\n --#{$prefix}focus-ring-color: #{$focus-ring-color};\n // scss-docs-end root-focus-variables\n\n // scss-docs-start root-form-validation-variables\n --#{$prefix}form-valid-color: #{$form-valid-color};\n --#{$prefix}form-valid-border-color: #{$form-valid-border-color};\n --#{$prefix}form-invalid-color: #{$form-invalid-color};\n --#{$prefix}form-invalid-border-color: #{$form-invalid-border-color};\n // scss-docs-end root-form-validation-variables\n}\n\n@if $enable-dark-mode {\n @include color-mode(dark, true) {\n color-scheme: dark;\n\n // scss-docs-start root-dark-mode-vars\n --#{$prefix}body-color: #{$body-color-dark};\n --#{$prefix}body-color-rgb: #{to-rgb($body-color-dark)};\n --#{$prefix}body-bg: #{$body-bg-dark};\n --#{$prefix}body-bg-rgb: #{to-rgb($body-bg-dark)};\n\n --#{$prefix}emphasis-color: #{$body-emphasis-color-dark};\n --#{$prefix}emphasis-color-rgb: #{to-rgb($body-emphasis-color-dark)};\n\n --#{$prefix}secondary-color: #{$body-secondary-color-dark};\n --#{$prefix}secondary-color-rgb: #{to-rgb($body-secondary-color-dark)};\n --#{$prefix}secondary-bg: #{$body-secondary-bg-dark};\n --#{$prefix}secondary-bg-rgb: #{to-rgb($body-secondary-bg-dark)};\n\n --#{$prefix}tertiary-color: #{$body-tertiary-color-dark};\n --#{$prefix}tertiary-color-rgb: #{to-rgb($body-tertiary-color-dark)};\n --#{$prefix}tertiary-bg: #{$body-tertiary-bg-dark};\n --#{$prefix}tertiary-bg-rgb: #{to-rgb($body-tertiary-bg-dark)};\n\n @each $color, $value in $theme-colors-text-dark {\n --#{$prefix}#{$color}-text-emphasis: #{$value};\n }\n\n @each $color, $value in $theme-colors-bg-subtle-dark {\n --#{$prefix}#{$color}-bg-subtle: #{$value};\n }\n\n @each $color, $value in $theme-colors-border-subtle-dark {\n --#{$prefix}#{$color}-border-subtle: #{$value};\n }\n\n --#{$prefix}heading-color: #{$headings-color-dark};\n\n --#{$prefix}link-color: #{$link-color-dark};\n --#{$prefix}link-hover-color: #{$link-hover-color-dark};\n --#{$prefix}link-color-rgb: #{to-rgb($link-color-dark)};\n --#{$prefix}link-hover-color-rgb: #{to-rgb($link-hover-color-dark)};\n\n --#{$prefix}code-color: #{$code-color-dark};\n\n --#{$prefix}border-color: #{$border-color-dark};\n --#{$prefix}border-color-translucent: #{$border-color-translucent-dark};\n\n --#{$prefix}form-valid-color: #{$form-valid-color-dark};\n --#{$prefix}form-valid-border-color: #{$form-valid-border-color-dark};\n --#{$prefix}form-invalid-color: #{$form-invalid-color-dark};\n --#{$prefix}form-invalid-border-color: #{$form-invalid-border-color-dark};\n // scss-docs-end root-dark-mode-vars\n }\n}\n","// stylelint-disable scss/dimension-no-non-numeric-values\n\n// SCSS RFS mixin\n//\n// Automated responsive values for font sizes, paddings, margins and much more\n//\n// Licensed under MIT (https://github.com/twbs/rfs/blob/main/LICENSE)\n\n// Configuration\n\n// Base value\n$rfs-base-value: 1.25rem !default;\n$rfs-unit: rem !default;\n\n@if $rfs-unit != rem and $rfs-unit != px {\n @error \"`#{$rfs-unit}` is not a valid unit for $rfs-unit. Use `px` or `rem`.\";\n}\n\n// Breakpoint at where values start decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n@if $rfs-breakpoint-unit != px and $rfs-breakpoint-unit != em and $rfs-breakpoint-unit != rem {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n}\n\n// Resize values based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != number or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Mode. Possibilities: \"min-media-query\", \"max-media-query\"\n$rfs-mode: min-media-query !default;\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-rfs to false\n$enable-rfs: true !default;\n\n// Cache $rfs-base-value unit\n$rfs-base-value-unit: unit($rfs-base-value);\n\n@function divide($dividend, $divisor, $precision: 10) {\n $sign: if($dividend > 0 and $divisor > 0 or $dividend < 0 and $divisor < 0, 1, -1);\n $dividend: abs($dividend);\n $divisor: abs($divisor);\n @if $dividend == 0 {\n @return 0;\n }\n @if $divisor == 0 {\n @error \"Cannot divide by 0\";\n }\n $remainder: $dividend;\n $result: 0;\n $factor: 10;\n @while ($remainder > 0 and $precision >= 0) {\n $quotient: 0;\n @while ($remainder >= $divisor) {\n $remainder: $remainder - $divisor;\n $quotient: $quotient + 1;\n }\n $result: $result * 10 + $quotient;\n $factor: $factor * .1;\n $remainder: $remainder * 10;\n $precision: $precision - 1;\n @if ($precision < 0 and $remainder >= $divisor * 5) {\n $result: $result + 1;\n }\n }\n $result: $result * $factor * $sign;\n $dividend-unit: unit($dividend);\n $divisor-unit: unit($divisor);\n $unit-map: (\n \"px\": 1px,\n \"rem\": 1rem,\n \"em\": 1em,\n \"%\": 1%\n );\n @if ($dividend-unit != $divisor-unit and map-has-key($unit-map, $dividend-unit)) {\n $result: $result * map-get($unit-map, $dividend-unit);\n }\n @return $result;\n}\n\n// Remove px-unit from $rfs-base-value for calculations\n@if $rfs-base-value-unit == px {\n $rfs-base-value: divide($rfs-base-value, $rfs-base-value * 0 + 1);\n}\n@else if $rfs-base-value-unit == rem {\n $rfs-base-value: divide($rfs-base-value, divide($rfs-base-value * 0 + 1, $rfs-rem-value));\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == px {\n $rfs-breakpoint: divide($rfs-breakpoint, $rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == rem or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: divide($rfs-breakpoint, divide($rfs-breakpoint * 0 + 1, $rfs-rem-value));\n}\n\n// Calculate the media query value\n$rfs-mq-value: if($rfs-breakpoint-unit == px, #{$rfs-breakpoint}px, #{divide($rfs-breakpoint, $rfs-rem-value)}#{$rfs-breakpoint-unit});\n$rfs-mq-property-width: if($rfs-mode == max-media-query, max-width, min-width);\n$rfs-mq-property-height: if($rfs-mode == max-media-query, max-height, min-height);\n\n// Internal mixin used to determine which media query needs to be used\n@mixin _rfs-media-query {\n @if $rfs-two-dimensional {\n @if $rfs-mode == max-media-query {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}), (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {\n @content;\n }\n }\n @else {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) and (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {\n @content;\n }\n }\n }\n @else {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) {\n @content;\n }\n }\n}\n\n// Internal mixin that adds disable classes to the selector if needed.\n@mixin _rfs-rule {\n @if $rfs-class == disable and $rfs-mode == max-media-query {\n // Adding an extra class increases specificity, which prevents the media query to override the property\n &,\n .disable-rfs &,\n &.disable-rfs {\n @content;\n }\n }\n @else if $rfs-class == enable and $rfs-mode == min-media-query {\n .enable-rfs &,\n &.enable-rfs {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Internal mixin that adds enable classes to the selector if needed.\n@mixin _rfs-media-query-rule {\n\n @if $rfs-class == enable {\n @if $rfs-mode == min-media-query {\n @content;\n }\n\n @include _rfs-media-query () {\n .enable-rfs &,\n &.enable-rfs {\n @content;\n }\n }\n }\n @else {\n @if $rfs-class == disable and $rfs-mode == min-media-query {\n .disable-rfs &,\n &.disable-rfs {\n @content;\n }\n }\n @include _rfs-media-query () {\n @content;\n }\n }\n}\n\n// Helper function to get the formatted non-responsive value\n@function rfs-value($values) {\n // Convert to list\n $values: if(type-of($values) != list, ($values,), $values);\n\n $val: \"\";\n\n // Loop over each value and calculate value\n @each $value in $values {\n @if $value == 0 {\n $val: $val + \" 0\";\n }\n @else {\n // Cache $value unit\n $unit: if(type-of($value) == \"number\", unit($value), false);\n\n @if $unit == px {\n // Convert to rem if needed\n $val: $val + \" \" + if($rfs-unit == rem, #{divide($value, $value * 0 + $rfs-rem-value)}rem, $value);\n }\n @else if $unit == rem {\n // Convert to px if needed\n $val: $val + \" \" + if($rfs-unit == px, #{divide($value, $value * 0 + 1) * $rfs-rem-value}px, $value);\n } @else {\n // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n $val: $val + \" \" + $value;\n }\n }\n }\n\n // Remove first space\n @return unquote(str-slice($val, 2));\n}\n\n// Helper function to get the responsive value calculated by RFS\n@function rfs-fluid-value($values) {\n // Convert to list\n $values: if(type-of($values) != list, ($values,), $values);\n\n $val: \"\";\n\n // Loop over each value and calculate value\n @each $value in $values {\n @if $value == 0 {\n $val: $val + \" 0\";\n } @else {\n // Cache $value unit\n $unit: if(type-of($value) == \"number\", unit($value), false);\n\n // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $unit or $unit != px and $unit != rem {\n $val: $val + \" \" + $value;\n } @else {\n // Remove unit from $value for calculations\n $value: divide($value, $value * 0 + if($unit == px, 1, divide(1, $rfs-rem-value)));\n\n // Only add the media query if the value is greater than the minimum value\n @if abs($value) <= $rfs-base-value or not $enable-rfs {\n $val: $val + \" \" + if($rfs-unit == rem, #{divide($value, $rfs-rem-value)}rem, #{$value}px);\n }\n @else {\n // Calculate the minimum value\n $value-min: $rfs-base-value + divide(abs($value) - $rfs-base-value, $rfs-factor);\n\n // Calculate difference between $value and the minimum value\n $value-diff: abs($value) - $value-min;\n\n // Base value formatting\n $min-width: if($rfs-unit == rem, #{divide($value-min, $rfs-rem-value)}rem, #{$value-min}px);\n\n // Use negative value if needed\n $min-width: if($value < 0, -$min-width, $min-width);\n\n // Use `vmin` if two-dimensional is enabled\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{divide($value-diff * 100, $rfs-breakpoint)}#{$variable-unit};\n\n // Return the calculated value\n $val: $val + \" calc(\" + $min-width + if($value < 0, \" - \", \" + \") + $variable-width + \")\";\n }\n }\n }\n }\n\n // Remove first space\n @return unquote(str-slice($val, 2));\n}\n\n// RFS mixin\n@mixin rfs($values, $property: font-size) {\n @if $values != null {\n $val: rfs-value($values);\n $fluid-val: rfs-fluid-value($values);\n\n // Do not print the media query if responsive & non-responsive values are the same\n @if $val == $fluid-val {\n #{$property}: $val;\n }\n @else {\n @include _rfs-rule () {\n #{$property}: if($rfs-mode == max-media-query, $val, $fluid-val);\n\n // Include safari iframe resize fix if needed\n min-width: if($rfs-safari-iframe-resize-bug-fix, (0 * 1vw), null);\n }\n\n @include _rfs-media-query-rule () {\n #{$property}: if($rfs-mode == max-media-query, $fluid-val, $val);\n }\n }\n }\n}\n\n// Shorthand helper mixins\n@mixin font-size($value) {\n @include rfs($value);\n}\n\n@mixin padding($value) {\n @include rfs($value, padding);\n}\n\n@mixin padding-top($value) {\n @include rfs($value, padding-top);\n}\n\n@mixin padding-right($value) {\n @include rfs($value, padding-right);\n}\n\n@mixin padding-bottom($value) {\n @include rfs($value, padding-bottom);\n}\n\n@mixin padding-left($value) {\n @include rfs($value, padding-left);\n}\n\n@mixin margin($value) {\n @include rfs($value, margin);\n}\n\n@mixin margin-top($value) {\n @include rfs($value, margin-top);\n}\n\n@mixin margin-right($value) {\n @include rfs($value, margin-right);\n}\n\n@mixin margin-bottom($value) {\n @include rfs($value, margin-bottom);\n}\n\n@mixin margin-left($value) {\n @include rfs($value, margin-left);\n}\n","// stylelint-disable declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n\n// Root\n//\n// Ability to the value of the root font sizes, affecting the value of `rem`.\n// null by default, thus nothing is generated.\n\n:root {\n @if $font-size-root != null {\n @include font-size(var(--#{$prefix}root-font-size));\n }\n\n @if $enable-smooth-scroll {\n @media (prefers-reduced-motion: no-preference) {\n scroll-behavior: smooth;\n }\n }\n}\n\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Prevent adjustments of font size after orientation changes in iOS.\n// 4. Change the default tap highlight to be completely transparent in iOS.\n\n// scss-docs-start reboot-body-rules\nbody {\n margin: 0; // 1\n font-family: var(--#{$prefix}body-font-family);\n @include font-size(var(--#{$prefix}body-font-size));\n font-weight: var(--#{$prefix}body-font-weight);\n line-height: var(--#{$prefix}body-line-height);\n color: var(--#{$prefix}body-color);\n text-align: var(--#{$prefix}body-text-align);\n background-color: var(--#{$prefix}body-bg); // 2\n -webkit-text-size-adjust: 100%; // 3\n -webkit-tap-highlight-color: rgba($black, 0); // 4\n}\n// scss-docs-end reboot-body-rules\n\n\n// Content grouping\n//\n// 1. Reset Firefox's gray color\n\nhr {\n margin: $hr-margin-y 0;\n color: $hr-color; // 1\n border: 0;\n border-top: $hr-border-width solid $hr-border-color;\n opacity: $hr-opacity;\n}\n\n\n// Typography\n//\n// 1. Remove top margins from headings\n// By default, `

    `-`

    ` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n\n%heading {\n margin-top: 0; // 1\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-style: $headings-font-style;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: var(--#{$prefix}heading-color);\n}\n\nh1 {\n @extend %heading;\n @include font-size($h1-font-size);\n}\n\nh2 {\n @extend %heading;\n @include font-size($h2-font-size);\n}\n\nh3 {\n @extend %heading;\n @include font-size($h3-font-size);\n}\n\nh4 {\n @extend %heading;\n @include font-size($h4-font-size);\n}\n\nh5 {\n @extend %heading;\n @include font-size($h5-font-size);\n}\n\nh6 {\n @extend %heading;\n @include font-size($h6-font-size);\n}\n\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `

    `s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\n\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n\n// Abbreviations\n//\n// 1. Add the correct text decoration in Chrome, Edge, Opera, and Safari.\n// 2. Add explicit cursor to indicate changed behavior.\n// 3. Prevent the text-decoration to be skipped.\n\nabbr[title] {\n text-decoration: underline dotted; // 1\n cursor: help; // 2\n text-decoration-skip-ink: none; // 3\n}\n\n\n// Address\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\n\n// Lists\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\n// 1. Undo browser default\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // 1\n}\n\n\n// Blockquote\n\nblockquote {\n margin: 0 0 1rem;\n}\n\n\n// Strong\n//\n// Add the correct font weight in Chrome, Edge, and Safari\n\nb,\nstrong {\n font-weight: $font-weight-bolder;\n}\n\n\n// Small\n//\n// Add the correct font size in all browsers\n\nsmall {\n @include font-size($small-font-size);\n}\n\n\n// Mark\n\nmark {\n padding: $mark-padding;\n background-color: var(--#{$prefix}highlight-bg);\n}\n\n\n// Sub and Sup\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n\nsub,\nsup {\n position: relative;\n @include font-size($sub-sup-font-size);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n// Links\n\na {\n color: rgba(var(--#{$prefix}link-color-rgb), var(--#{$prefix}link-opacity, 1));\n text-decoration: $link-decoration;\n\n &:hover {\n --#{$prefix}link-color-rgb: var(--#{$prefix}link-hover-color-rgb);\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([class]) {\n &,\n &:hover {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n// Code\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-code;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\n// 1. Remove browser default top margin\n// 2. Reset browser default of `1em` to use `rem`s\n// 3. Don't allow content to break outside\n\npre {\n display: block;\n margin-top: 0; // 1\n margin-bottom: 1rem; // 2\n overflow: auto; // 3\n @include font-size($code-font-size);\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\ncode {\n @include font-size($code-font-size);\n color: var(--#{$prefix}code-color);\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n\n kbd {\n padding: 0;\n @include font-size(1em);\n font-weight: $nested-kbd-font-weight;\n }\n}\n\n\n// Figures\n//\n// Apply a consistent margin strategy (matches our type styles).\n\nfigure {\n margin: 0 0 1rem;\n}\n\n\n// Images and content\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\n\n// Tables\n//\n// Prevent double borders\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: $table-cell-padding-y;\n padding-bottom: $table-cell-padding-y;\n color: $table-caption-color;\n text-align: left;\n}\n\n// 1. Removes font-weight bold by inheriting\n// 2. Matches default `` alignment by inheriting `text-align`.\n// 3. Fix alignment for Safari\n\nth {\n font-weight: $table-th-font-weight; // 1\n text-align: inherit; // 2\n text-align: -webkit-match-parent; // 3\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n}\n\n\n// Forms\n//\n// 1. Allow labels to use `margin` for spacing.\n\nlabel {\n display: inline-block; // 1\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n// See https://github.com/twbs/bootstrap/issues/24093\n\nbutton {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 0;\n}\n\n// Explicitly remove focus outline in Chromium when it shouldn't be\n// visible (e.g. as result of mouse click or touch tap). It already\n// should be doing this automatically, but seems to currently be\n// confused and applies its very visible two-tone outline anyway.\n\nbutton:focus:not(:focus-visible) {\n outline: 0;\n}\n\n// 1. Remove the margin in Firefox and Safari\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // 1\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\n// Remove the inheritance of text transform in Firefox\nbutton,\nselect {\n text-transform: none;\n}\n// Set the cursor for non-`

    + + + \ No newline at end of file diff --git a/wwws/apx/src/static/lib/nicedit/demos/demo03.html b/wwws/apx/src/static/lib/nicedit/demos/demo03.html new file mode 100644 index 0000000..3c1d9eb --- /dev/null +++ b/wwws/apx/src/static/lib/nicedit/demos/demo03.html @@ -0,0 +1,56 @@ + + + Demo 3 : Add/Remove NicEditors + + + + + +
    +

    The demo below shows toggling the display of NicEditors on both textarea and div elements. NicEdit instances can be added and removed at any time

    +
    +
    + +
    +

    Div Example

    +
    + This is some TEST CONTENT
    + In a DIV Tag
    + Click the Buttons to activate +
    + +

    +

    Textarea Example

    +
    + +
    + +
    +
    + + + +
    + + + \ No newline at end of file diff --git a/wwws/apx/src/static/lib/nicedit/demos/demo04.html b/wwws/apx/src/static/lib/nicedit/demos/demo04.html new file mode 100644 index 0000000..bf3813c --- /dev/null +++ b/wwws/apx/src/static/lib/nicedit/demos/demo04.html @@ -0,0 +1,49 @@ + + + Demo 4 : Inline NicEditors + + + + + +
    +

    In addition to replacing textareas NicEdit instances can also replace any element (divs,spans,paragraphs,ect.) with editor instances without effecting the layout of the page. As you will see in other examples content can be saved via AJAX to the server or retrieved from javascript

    + +

    To make use of Inline Editing you should first create an empty element as a placeholder for the Editor Panel. In this case I use a div with id="myNicPanel" set. Its usually a good idea to set a width on element but it is not required.

    +
    + +
    + + + + +This is text above the Panel +
    +This is text below the Panel +

    + +

    Inline Div

    +
    +Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed magna dolor, faucibus ac, iaculis non, cursus et, dui. Donec non urna. Aliquam volutpat ornare augue. Phasellus egestas, nisl fermentum porttitor rutrum, magna metus rutrum risus, id fringilla magna mi nec lorem. Etiam eget metus sed justo ultricies rhoncus. Praesent rhoncus arcu non dolor. Proin eu eros. Curabitur vehicula. Nulla vehicula lectus eget eros. Nulla vel nulla at dui dictum mollis. Etiam purus felis, pretium vel, eleifend id, consectetuer nec, purus. Vivamus pretium orci ac sapien. Etiam at tortor. Nunc tincidunt mi sed sapien. Etiam lacus pede, fermentum eu, blandit ac, congue eget, metus. Quisque sed sem. Mauris at sapien. Ut luctus. +
    +
    +

    Inline Span

    + +Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed magna dolor, faucibus ac, iaculis non, cursus et, dui. Donec non urna. Aliquam volutpat ornare augue. Phasellus egestas, nisl fermentum porttitor rutrum, magna metus rutrum risus, id fringilla magna mi nec lorem. Etiam eget metus sed justo ultricies rhoncus. Praesent rhoncus arcu non dolor. Proin eu eros. Curabitur vehicula. Nulla vehicula lectus eget eros. Nulla vel nulla at dui dictum mollis. Etiam purus felis, pretium vel, eleifend id, consectetuer nec, purus. Vivamus pretium orci ac sapien. Etiam at tortor. Nunc tincidunt mi sed sapien. Etiam lacus pede, fermentum eu, blandit ac, congue eget, metus. Quisque sed sem. Mauris at sapien. Ut luctus. + +
    +

    Inline Paragraph

    +

    This is some text that can be edited in the inline paragraph editor.

    + +
    + + + diff --git a/wwws/apx/src/static/lib/nicedit/demos/demo05.html b/wwws/apx/src/static/lib/nicedit/demos/demo05.html new file mode 100644 index 0000000..c3924d5 --- /dev/null +++ b/wwws/apx/src/static/lib/nicedit/demos/demo05.html @@ -0,0 +1,54 @@ + + + Demo 5 : Editor Styles + + + + + + + + +
    +

    NicEdit instances and the panel can be styled using CSS classes to fit the look and feel of your site.

    + +
    + +
    + + + + +This is text above the Panel +
    +This is text below the Panel +

    + +

    Selected Style Example

    +
    +Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed magna dolor, faucibus ac, iaculis non, cursus et, dui. Donec non urna. Aliquam volutpat ornare augue. Phasellus egestas, nisl fermentum porttitor rutrum, magna metus rutrum risus, id fringilla magna mi nec lorem. Etiam eget metus sed justo ultricies rhoncus. Praesent rhoncus arcu non dolor. Proin eu eros. Curabitur vehicula. Nulla vehicula lectus eget eros. Nulla vel nulla at dui dictum mollis. Etiam purus felis, pretium vel, eleifend id, consectetuer nec, purus. Vivamus pretium orci ac sapien. Etiam at tortor. Nunc tincidunt mi sed sapien. Etiam lacus pede, fermentum eu, blandit ac, congue eget, metus. Quisque sed sem. Mauris at sapien. Ut luctus. +
    + + + diff --git a/wwws/apx/src/static/lib/nicedit/nicEdit.js b/wwws/apx/src/static/lib/nicedit/nicEdit.js new file mode 100644 index 0000000..c890433 --- /dev/null +++ b/wwws/apx/src/static/lib/nicedit/nicEdit.js @@ -0,0 +1,102 @@ +/* NicEdit - Micro Inline WYSIWYG + * Copyright 2007-2008 Brian Kirchoff + * + * NicEdit is distributed under the terms of the MIT license + * For more information visit http://nicedit.com/ + * Do not remove this copyright message + */ +var bkExtend=function(){var A=arguments;if(A.length==1){A=[this,A[0]]}for(var B in A[1]){A[0][B]=A[1][B]}return A[0]};function bkClass(){}bkClass.prototype.construct=function(){};bkClass.extend=function(C){var A=function(){if(arguments[0]!==bkClass){return this.construct.apply(this,arguments)}};var B=new this(bkClass);bkExtend(B,C);A.prototype=B;A.extend=this.extend;return A};var bkElement=bkClass.extend({construct:function(B,A){if(typeof (B)=="string"){B=(A||document).createElement(B)}B=$BK(B);return B},appendTo:function(A){A.appendChild(this);return this},appendBefore:function(A){A.parentNode.insertBefore(this,A);return this},addEvent:function(B,A){bkLib.addEvent(this,B,A);return this},setContent:function(A){this.innerHTML=A;return this},pos:function(){var C=curtop=0;var B=obj=this;if(obj.offsetParent){do{C+=obj.offsetLeft;curtop+=obj.offsetTop}while(obj=obj.offsetParent)}var A=(!window.opera)?parseInt(this.getStyle("border-width")||this.style.border)||0:0;return[C+A,curtop+A+this.offsetHeight]},noSelect:function(){bkLib.noSelect(this);return this},parentTag:function(A){var B=this;do{if(B&&B.nodeName&&B.nodeName.toUpperCase()==A){return B}B=B.parentNode}while(B);return false},hasClass:function(A){return this.className.match(new RegExp("(\\s|^)nicEdit-"+A+"(\\s|$)"))},addClass:function(A){if(!this.hasClass(A)){this.className+=" nicEdit-"+A}return this},removeClass:function(A){if(this.hasClass(A)){this.className=this.className.replace(new RegExp("(\\s|^)nicEdit-"+A+"(\\s|$)")," ")}return this},setStyle:function(A){var B=this.style;for(var C in A){switch(C){case"float":B.cssFloat=B.styleFloat=A[C];break;case"opacity":B.opacity=A[C];B.filter="alpha(opacity="+Math.round(A[C]*100)+")";break;case"className":this.className=A[C];break;default:B[C]=A[C]}}return this},getStyle:function(A,C){var B=(!C)?document.defaultView:C;if(this.nodeType==1){return(B&&B.getComputedStyle)?B.getComputedStyle(this,null).getPropertyValue(A):this.currentStyle[bkLib.camelize(A)]}},remove:function(){this.parentNode.removeChild(this);return this},setAttributes:function(A){for(var B in A){this[B]=A[B]}return this}});var bkLib={isMSIE:(navigator.appVersion.indexOf("MSIE")!=-1),addEvent:function(C,B,A){(C.addEventListener)?C.addEventListener(B,A,false):C.attachEvent("on"+B,A)},toArray:function(C){var B=C.length,A=new Array(B);while(B--){A[B]=C[B]}return A},noSelect:function(B){if(B.setAttribute&&B.nodeName.toLowerCase()!="input"&&B.nodeName.toLowerCase()!="textarea"){B.setAttribute("unselectable","on")}for(var A=0;A.nicEdit-main p { margin: 0; } + + + + + + + + + + + + + + + + +
    +
    +
    +
    +
    +
    +

    +

    L'Unique

    +
    +
    +
    +
    + + +
    +
    + +
    +
    +
    +
    +
    +
    +
    + + diff --git a/wwws/apx/tailwind.config.js b/wwws/apx/tailwind.config.js new file mode 100644 index 0000000..3d142f4 --- /dev/null +++ b/wwws/apx/tailwind.config.js @@ -0,0 +1,72 @@ +/** @type {import('tailwindcss').Config} */ +module.exports = { + content: ["./objects/wwws/pwa/src/**/*.{html,js,mustache}"], + theme: { + fontFamily: { + sans: ["Inter", "sans-serif"], + serif: ["Monserrat", "serif"], + }, + }, + plugins: [ + require("@tailwindcss/typography"), + require("daisyui") + ], + daisyui: { + themes: ["dark","light","candidate","recruiter"], // false: only light + dark | true: all themes | array: specific themes like this ["light", "dark", "cupcake"] + darkTheme: "dark", // name of one of the included themes for dark mode + base: true, // applies background color and foreground color for root element by default + styled: true, // include daisyUI colors and design decisions for all components + utils: true, // adds responsive and modifier utility classes + prefix: "", // prefix for daisyUI classnames (components, modifiers and responsive class names. Not colors) + logs: true, // Shows info about daisyUI version and used config in the console when building your CSS + themeRoot: ":root", // The element that receives theme color CSS variables + themes: [ + { //check https://daisyui.com/theme-generator/ to customize + candidate: { + primary: "#00FFC2", + "primary-content": "#18191E", + secondary: "#0DC3FF", + "secondary-content": "#18191E", + accent: "#FF470d", + "accent-content": "#fcfcfc", + neutral: "#fcfcfc", + "neutral-content": "#18191E", + "base-100": "#1E2024", + "base-200": "#292F38", + "base-300": "#344054", + "base-content": "#cdd0d3", + info: "#A1FFE9", + "info-content": "#18191E", + success: "#B5E7FF", + "success-content": "#18191E", + warning: "#ff9457", + "warning-content": "#18191E", + error: "#d92d20", + "error-content": "#fcfcfc", + }, + recruiter: { + primary: "#FA4A64", + "primary-content": "#18191E", + secondary: "#EF6E68", + "secondary-content": "#18191E", + accent: "#FF9457", + "accent-content": "#fcfcfc", + neutral: "#fcfcfc", + "neutral-content": "#18191E", + "base-100": "#1E2024", + "base-200": "#292F38", + "base-300": "#344054", + "base-content": "#cdd0d3", + info: "#A1FFE9", + "info-content": "#18191E", + success: "#B5E7FF", + "success-content": "#18191E", + warning: "#ff9457", + "warning-content": "#18191E", + error: "#d92d20", + "error-content": "#fcfcfc", + }, + }, + ], + }, +}; diff --git a/wwws/apxhtml.zip b/wwws/apxhtml.zip new file mode 100644 index 0000000000000000000000000000000000000000..5d0859de21e685b2a5e99564fa9574bf4eebc4b1 GIT binary patch literal 461059 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�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%0A6h?-+ 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%0D>*n3yqs5=zdwHags{?tr`a)LF8Nlh0gNM zwIG2?NN#5Vi;En$lV-!WQD$qJbOZIH%Jk^*0FlrbJ{laI%g)LW*aF(1f*3{ta{u@A zcA(R|Ia(qGd!2k*B^+yy`6IEU&#Go!qn`zR2zkmEM4oeX{P`+j|<#9eP(z!D`0k&m7v)6 z^>LWSEd0xS6}2&#lG;2;7(S69(c*}%sKCR}9uj}{Ia>HMXH~nCUH>n8TMgdHij=<% zYT=MhDsMMtfSxXH8xL}r&dpYzj?eW9c?~jn#2%Dq1+pUb^I{76Ipui2g9>bfbDgW; z#UWgQL}COCHlUtQQ+Oe_v3_02355Vd2S(CM(4C3rR= zb|QLEg_W|4oHs6_+`Tls1uv+5q$?5w+r9~NC`M}tqf$dfWwfAbB*{_w^^_W8L6jw! zNCFf8DX{sY7h!zwhn(0N)|PVZ%BKlX&K5stn79dZeaw7S%&2ccT4&}w8Ily3UXVB{ z2e+^zOtTXwth25d*rp%xgxecemk_TC;N;Y=hMY%N)4z|ja{xL`#>bD_-PvMeQ(0l* z@Pn6h9K|+K3=bfNv%}+ey*z7wkn60R)i5uRW@L zg3m&9fzo@oYf=H|inE;SbIa!Jqu7l#c^O+9JMx;)xr5~(BSf#(Nj^sfNQx=3*=c}( zyuL#r*vBIgUaUy82HHVPd#L<5j`P>goVf_Uw?5lnN+u3`t!e@(@0T;({nF=S3wH6S zevJpif*V!cQw*SHF~TnjPO6PW=|py)k6GrRw9-KaKy8$-?M0iGBaTqb_zcS@fFfrE~c z@hv^EAxVS;&o-23;K65iP%hg924X=m9_AQJcr_>T{bWLLLg<&KP(C*A-)UgA2N5-@y*bf82!W-n zr@q1T5g#fTb^C%>3DBe4lq@ad_9Nr!Af95!+DSSCR!J~jr_7`yM*Sw9lZNrWTy8V@ z0V*eXp2(R|a+3_7(7DvJadpbUgnCl_e%%eVdn2*jsvxlM?R(4P(y6|n3$NbXVRTs$ zGWTQTzrCl%Z~o)&q^DzDF~Nq{`XBl|Tvqo5&5zlqz4v$`pS0)%9Ggj;-f-sKVP$T{ z(?Ikpy8<{@a41xQN5l9ou+x;N2G;{huLNb$vAl*{gjYc)UAMQG)3tH#w4E}#&6IS; zEbMgE{Yd(&URnx-)zYS9FUxm7rAru4&N=F&vus1XI2`HwI$c~Sj_@)eUy)!?D(ttc>Y#8B5jVHHM@s5Y!-*B`%7g>0``W8rWUqer6$Y zpwV>>F{66a{z-)er|FXX+<91;I9Z2u3&ioJTktSvscL(r9NS745@)r0d{aSuZs5c(FamDFUP8+G7XR#WEmh3bmTZp#K*Pa>C8~;@zNFE z>&+aQE{qWvjjZ>S$fUm!pN$KXdhXvE#C7c3<3>)_uI>Y+7jKGp@Kurl0SfIHKa-Nx zP@YKX3%U+HM=qsO+xe%a=JG}tR|#Sgf08kns-zssS(#suTJ}J9aOrRF@+d7z49~mt zGfR%_+S-aHk35+c&=)kWQCkaCC0vo)1rV*xZB;B7{AJb=aj?s0j^Q2OHL{r8pkL^8 zTo3V`2k{1o(PUK~-&rJgjWRJij8yAgu()zEO)ZCzSl9D2-K}lDRKEjA1`>CUR_3=@ z?fEWc#N`K;>J6=Seh%_Tk_C+r)VFC-C7u;&|92Xc90Z;l2 zC5G5Yks<-UydR{~I}F=g48|9SEBi)A9EIo8`GRC_C>|Hb$2jcw zgg*H&7;ZwCLl#V85A&T0Hv}H=Kfe-}cT&&~c+;3k5xB@MHHlBQAqRD9NOIHB^C_m5 zn^U?t1nyM98Ca%u0iUeUtxe!*C-GC-FoMr%ObayY2M}ERo|P46lr}ho>Rc~5aw04S z2ft@??+iaGJAYpR1oA&-t5Dc%H?rtSCEaXjC}6ZUXhAYGTY2w8zPl0`M+9z(wt~F) zYM&o??`CV3ffjXZp%{HTI4}byWSOE6;5c*W7f`t&!wcMyO7V9+uO%X0>ou+ytu?&7 z5O8tk)p26cPKiLq_DgW7b1~873%mL7Vl?Iq+0p1j9=Q?XLKhw?9B~T%llGuGa1b)xiP@E$DFuCTJD2&DVmw2!wJP z)%23s^0)MJBd=dOCT1HQ$-#Qa+4BaMH8hJzlV2SoTk}2Ao8a2*yoAS9U8Z>fypUIB ztwLGnF5VEO`oc;hos@^LmaAIXGoeVV(80@BvY1%EaX-)3e(W{evrH>@Lb!;hkJ^4! z++}p(isVS19G^P%vJUgUM$G@i36lp6LEvbn$3__p$zW#v(VkkK=oyMTO-GTlev*)< zWZ_J$SiUBjDE81TH^Qc~`h$Z}qM2JkfGawe{H6*23xYi(+~}1w%0qH!SiLR{M$&NI6pChI2$!vIzqsQ~G--q1_`B0G|6B76SS& zc}X1K{NJFvvpzxq{~(;jy-t-U8&(Q%B$iCJ!&pP&@ckd2kWihk2f{c?b!z#Bitr_lrd!5!Y5*0T+M z&|df7cB+QTmL5rj^Yf`+eJ{aZimNmRMzg5QjUsVOxr%vc|<-S7lEHBdQ8NO-;7m{zNs&uR$#tU5_CRxrGSwEq{Bp`wej zLxma~c%CP*F+s;fWX4N$OyV3JxeeY?N-wb&*0QxVp5;m{cbEI$gb4HiQ9!Q0idL&& z*UbeeC>xP;v)r&qTBWiQDVmEmu*BF*lW=FwC-pL!T<}BHDf!i$lh71GV&H5^O%gmO zJZ)1gw_rbQ3qguqaNsIAEHo5acx%<(sBj{fd$bm(W?#lMc&v)W(XW7=GGNdMI(Wvi z8PV*tqj4N?^5Z!?6AYt4h9pvb5>IKZc6G9Jp^Uhke*HcM^~n~QH<%tqRRJqZjs{Rf1`U@ zhkt)(Jfr-`=URxSR%3thRl%1`1K5p9&Xn&+JyZ2TqDKk7^?9cKCDZXtI6yej2xI*b->}Fei??siVN3jfb>&RdAh~smw#- zJ+`y|^niux>H=$q3)#sYKuBG^``X{wvHTX@-`>IGS6*jIo4Bu&c#z+l^x^UXHEM7o zG_M5kc6%M$JFQ%VP=FImh4x9y*c$0Do6RqZkh?+aL)>X-#yEW04O88n6V0K)4}fWP zK=dp4o3 z&i!TXEu|Z=bo=PF~`wh}2 z721j@J|~^6gI|NAeSn$i65slNp09iGppxtYute{Z?`S{E2I^~>M1+H0%@%|ScJ?(r z?pZDK{7&&W=e_aaIz;uL{7_L!Cr#6&YuhMl)IL?P=9-|;J8j_)V@QEuOH+7Xp9y2& zFL&kumKDb(R7EfhR06k%DvUb0E_e*3=WPMz;qqDEW?MAcNM@PFPADaD;IK(Y0Ia$q z9?zw^W}5x~ndAE57}K_|g{J9ms+q&qJFv0rHAw&~@pJf9eDXRVGc;=ww!~5z>6^XF= zN^4#DOoN5!5{Su&awdW#j|h;>>t!=E-r{_ZVS6eY{Vr(h65u(0!=lSdPh$u7Gu;K_ z`&&1xV62g84TW@^_HtVgwiS)w%cawJwFwO30z5Gduf>&FBq~iw!p$?0+pZ;O0^|i{ zB*AT*JC`3_+qie|Oy2)fs%^oe(W%dEI=)R|GSovc64rP|5>vg}hD6M4&Scol-g9aQ z)Swx8II6)?T)apJZSR4|htF>6?B0&V2=jrzU&-n8{BjX&BA~q0_FnW0QX0-9|MJ!H zdAW`aqA!;zKNDKzuP0M96eCAXll5>Mf|H#w*ELFM1D0pyX2H$o*|!{Yu>elO$x+sd zHc?3%UTb>J2Sh`;;s&efcb{mX7)&#n@&DTatpqz({u?@U!Yij>BjHgzZQW(XNY*)h z)(*JXKfU<%xXa&u(Bh7b+xt z0AspXk-vCvwC;;BZoN{qSsCxzYVFg><>O-^e6>Br)tWd@nfbsjrQzM)CqnlYHDG75 zGUrG?7AEw=Sl%^+A^3ML3@7^9x_*<3T+)s)wCNo>53dY2YYoK2_H^p+(KI5iB_Cms z22=Bn*WcG;w6P~!3w$hniqQUM4}Bi>l9ToWJrKN*9YHT zW+Z8zzoalKe|_HA^clZx`THJ?U_skEGH9Ryj2_jOC*fYLS(y6Y@+4l|Ayl$PJ43U` zTc;2t-sv*|(jjoE-$A2M7=iFrv_Qmbg?jg*Gu^)CRB+-_5C zgxcN_p>tGwyvZ+0Fg1ta(01Y3QGx582@b;Etz%+fB}|xKsB8X%wH4r}T<|A}Bq*uG zCDxIGk+xiEy~#eaya6>8JTn>wv0DX8vtalQqIV8$mIZqXOrRzE46$DHe8xHosSVy*=-rMTdV|!hI)!NAYTK{&IM%_rfulFf8 zVLMAP&LR!GVQ{@xA6(L@78Uc0%}dWYWRBH3aQ+TQZc@`0{Vb0SP40n#I3i7{9)E8Y zkE~i~wL9q!;Hf97{Qm^{Clt*sL%v1~Ica|9QY)wlN6V)1*Ch>AwV{hq8EE!C?nWJ8 zo*J12rLpx<81x8l5=K|T596XK*N=$A2H}Y>hQxt8b7Ta!UYc-O)tDlO`FIQXW@)6Bp}M& zdYYd2qxcwkS2Q3&H2B1Z``)!{M5_F6!jECRlL5G8+U$9c%~9Vor9ju1tKeEFC!Ozk zaQtXA<&s>=zKF6*ARP3Cz(_0)*1Fx3hNuSOr}d)VDthIC9!Z=AtLjjIU|iAZU{}xp zlQ;VbPL)CdWaT-fs=CLyhLYof|m z8j{`Mn6pj$vyW@bE0e@-Wipxp#d7HL&Ho;2oY>7GZO(;U@9NhXKaho>J6vrw3jwnu zHz)<(w;jZOKmK#_7%u84}qvk6-G5!8t|0p-HIqd zV6p|qi)jU8GpRGKVv-F&q>3hWi@rJjRXmf}enZy&S6a>IpWE=yw#gx~_((PxTLO=ifMAmzQ-5 zvn13*yzP+v8ctfMtf+a7;Qt6;MnHk>5?j&nlB4103@mNG##miyTTo6_ht+YW07ND zUJgvRzDgpB4fN^8RUdnp&E2EY~x8qo}*bY1_J>dx23>Dk`V2cc%Z_U4;L}tT8(gUs*R!eb_7(^JQ58$D;Tvmpu8VmqiLZ? z3p(c?DK^08!FHmMk%ge>*2@)IG5u+jNtd;{U8;Z>OgPT9VBm)$+=iqfOmJxV@d|=L zU9Y8wry}q>p{edeUUd>kt(%>Ais&<#AIpKVp6&+;fcGIkZ72PpW+olR6@)~atq98Y zC9Q(V;?pHCbY$`bkkmrITB`hf1*7h(kF(!j5J%9iGbX`U!n67T$qK{`3~xip&r`ks zG)1VuvuypTc={Ft53v_(DuVn2Ookeud9BBJE*fTg9Ijpr{JN9W1%5gviIQ_j?*x_F zaL6NEH0t-;ptskE$~d&>3cZWkK}r#TbRZNXOwLp-)R~mGF~F`sGf12Skm3^5VwT3$}{rk9T7%hFFtz#g_8>l@x{z*_8*KWbtHMGdD+sU?6!c`pLg^P$9ghvLw z-yBO`wf3%jOclr?S6+28bMwR{71>bfPkUkg_=zrY?Z_7vzyE%J}AyW3N_ib3IGEFyVk z#_5v{p>p%)by^lsE=_|0NF=)4yvolUTIc>A91s28_NNOqIH;uU3j2bg@pZ z^fS|R95kQEwG2_1ikunx70LPZ*=FjZKhC#yZuo~EbiLLs7>Se$mD$yH^g-}~>Y;W5 zjwQ!a{N}G40sgcwsm$nX`!4yVjZPru67=QMjdq3jj}i{ z?*y8vl!$>65*lYbI$Vj&)-FmhjZyg*c~lp~cZOSzOLj86TeXadRLcNC_)w+jr1*Pg zX%e;kAR0WFjlc#(%Y|XJeq;;gw!%Z)Ii3&pWlVcb@(YTQDXczThc6 zHx?`0i1TwgU%5adF~}1!Eps5=ETiM5M}9qG?isrY-~&YWJ!i|=i?{oR5y@@K;I(Y+1g<^(?7N?% zFJ}U42gaPLT%>F4{pNNjy|d>gU9}Og6U71EWm3SSG@*?g!;5{8N%qj~V0`gKaz1~J zY?B*S+8K-9XN#{?65wz5wR<0MSh2P3ehG@C=IN;Wv-&2CczoQ4r$epn%KUbp5I52e*dt zVR@#x?d8iIXsGtG(;(qRoFA?Mx@EVH=WrqNeI~A45q9x)lCd$o3`=V!*nF&z*dJf+ z9U{DocshA&5~0L$6QXTMzzP(J>jlCxY={Y%BA3N}{?ow?^7)aS}U&b_qvVq6#;F?r;s#!RF_M&rWgX7qmwGTQT z{rlWpQGX6#7d=_6h-sU>$xTar=0t~@r9^Tmx8JP5R_@8?dA8`&Y(2?P++m-+k8l9T zB^RG2lCu1rU@`!}{`|A2dQz7$=?^;7{tSk?rD{_#B9lEHnrmU>+YmLRk}yH1fzK5T zdA(b|6!*3otUoJ2kGwb$Js}?gr|}*hGIp*)B8FphGRA=XoFQZ^w8|`}GO-yj3h>fJ zAAJtq(oJXH-pYc-(O1X{?ae@@%Y??yotI4b?jH2Pw_+n6Qt=gl6r}fFFk~dy#1a)5 z<(}xO9<MBAA@0MT=PN}m2(ET?Osu(9XV{&<}b6NaJ5DCQQ=3cq}lwAs5~Jp&UWW@XgO#M z(I>nrwgrS)Hzz9_hR{BnKvwC$S=w(DAR#A?XOk`gGDj`b^+T*b^QXwOT&0mYxbW$Y zX%>O7`H_tD-nPN6!FRoo^Z~w9vxg>@s0)vSAgPeyyrQ!mx!a!~VOOCy&c|t7+(3U&vgtBhXlsTRY*4AR`G|`+l6H#2vC3BC*orY@oQD9! z6lc&6UPt6c4t5PN`-aeoP=#45_YEMnx~x{d;~F~a0-Uw!T(Fz^OtpO}#QlH+!zRL4 z!DX55Nx_xNk|(M88q(08ooI?`K6~At%vdIZ@6WgOgHi0Un2G`f)2T!wja|IsP<7<> z2lD|s%RcVL>2jFML|n}*!KWQ3)Z!Hadqk2;Ily6(=UcNrTPOv`6loGoz2BvY7dU;G ze2ZZJf_q$`NToF8O6*xoCgPwQs9l;5HQ8cGRV}5Yq&c545{)^5BbcY41gd|9i2M2KE z%W0|^>3%mem=EjXC1WB6dEE}Zl)5O*9;Md$LDB=gHX-Q3K(Y@nzrZK0y)QIu(1<-Y z8N6%0cy2z`rgi!>t%gbpjG2Z0*iS08Q5z)Hje`S9CNY_THQ#CS8TpB?a9RSBLJ>s+Dgs{j)25vF9iheSpTCxRV@_H zS8wVQR6U|wrD0-Lfa{`cbHb0uBnyUKC9WE2s`b|$lXqMwtJmCicMW2wONwcEp6Vvb zAiQ?=R$ZfZ(z0?8zR*Z*tTb@$#mGJGFbT&GY2fOlL@;ZI#ZB47j?6Xp&fC5xP3}#) z%5}4dLrr9V4x(k<3-X*Uzt)PrQh zn%)<;yP}8-TI_7LMgE~?Ao}UKmMdVt)mN{iRA-&MEgh_BJBW~vc_(}r3%WgxMstTV*E)ns860eM4^JwBS+8SJZrz;PNx`+hT{{l$+Y^gE zwOLlhjgaG$fKiqx>-B@;zijEBv5D6Yq_h9*{Uk&tmjtCZo8KJY$z@h?*e=3ZwLJa8 za}Y@1$ij^1!xig??99nFDD6=zUu3Pgy+3WVG1M_L2-XAansWI7c>8sWHM(n-0(2r6 z6bWmIndXI9z^57u=1?62vVESl7KVT>M7E*>#C8^GHkM$nBaw2#LBMsyvn;6`9Bq+L zrSq<8pmW238$l|#vY*2n-lHEj2%9Nz!X>>-bjid0>YeemddKDbD?Mmuwj&aBhJl~P z!vW2fOa79_%L9QAz+~p0UT5#_Jmy)ueJZk`b;DeM1;xnhb7shH>_z=kE%`W>R^R!f zWCQ>XK=HrQj?2vIu?2%)4vl~1qijj(mFuA|Q{mOvs)@!osHPvK=ojZb?hac&Mf}_W z^`?WTz9X&^MJZxAV4dt0(C~?ImK!|r5$ffY7&-_Jx>(s2Za$Zr)P2vg63zG3DXO&b zv&-;aWp)RU-e5a59U`!rj6SND#eYd)+K}wVwH)>!Cyzj8hYENdIT`(~GCg}f*$=e4 z`a)15h!(7vMeFTO`*`seWp!Ms{{1}nXciu^K)_is+UhI~8H~gnJQ{oQp1sZtVl#Hw zbLj7yi4Q)#Z+Ry}ARpD~{;L&l&D)4zzkub0DV3$5H8-(k*#jBWKrx={vHt~VC zK=dUojoHwRhRXqR>w*6xCF*>~1+C^}7E}1ho8L`e9mVDC7utRKmedU1 zah+@OyBJ}1u^JWD8CNU;S8H3qHwZdlji1*gv>cBiq3eEUXR}4DniT;uEmZEEK)44f zC=5&A(vVlZ^{{-sAQy|J?#Ln;)=B+^HvDB6?$p{q^>sH6F0?OOk|Hkby{!(=Kpj?a zz_`M@W9a$Y!l!C@zP1mnUm~{A3DEI@DjjEJ{j&#=xQ++bwR#x-us`u`S@*U`-*@@2 z_#Iu7nLT&+i+JC{Q&yddP>a`vRbWmRSuCYuFBdT$d9wmjQ)=PT8Ux5{C8%4&7>qK$ z#f^o4hsoNq==e7}E+4b$)?atyCXbLjgohHD(aeYYJ zD6dxkdb>U_ouihG2JLQ~3Se=$?^K4T2uWpS);jA5q61a)ROgS#C>#faS(Y~*0b$li zjr~T?Y;qv9*BOqc{r+Oe1kK_-;u_;`7Vc($_?z_{bQ}T`40xj34KQHD-;4!%v*Myr!qmRHi@lR@i0-3Yc_3U+jOx3nc9q4(j7CYy zt@qWAcJy)=RI%L2)Lwg$Q3Ud1Nb_K;Z0wp8eI-lE9(dddhYK4uoqp%Eq;YD6hVQv= z!#%HjeG$;Rq2E5>^Y@@kP>GyS7t>j!<*XjZQzO3rp}``YnyOGbMmAWZa{V=d7E9nK zDA=mC!Cj}an4`V!EfN6LA@d3PMozA3;5gkDO(PG8`zq;m0|%4$aL0^HGELo@9LL$o zL-fbdA1DAexL;YLtAYa4EgM{fsl$@IKwhAI$5tk~63p3PyMh)J#rlES!fPj;>HWT< z9Q$`hF^X(D68MXl6!q&lq2f79%2OW1OBbKYCQDM7tRx=~ao+D{=Wxlb+-M~pbByDK zio@5(#asHJOe3GQjy-@(VwI@mc7}vn*PdfuU?un zC*$S*jnyJF@I*>v_UBSQr5D8YK5;NO>T+WsQXWa{YLItZQz0rvN35!rum0}4glw@l zVDgn`2RkdC(SnJV5KX%{#?$KY1|+Q+N$jc>g_UkAnrh-J9SID}uvil5cV@b;5Q8ki zh$L5RZE+<(8AFUz_hCiD#s`ggzpIj8}z#!o+-XJSxtUxKPB!Dl)6(wV5 zig&PZ5Re_i>0e5xC4;Z>&|bNr;wg(qsSbMsHjA_|Ctew@s>xM+_1lvSUJ*6+lo+;Erh1cj*YmFREFeOJotO4R6}@H8hB=Vj z45ouNU@+3(t9di!(qvGKQyG| zGym!qe_c@&gq%t%QJ96HQFCXK`Xp_zilg1{zrnOl*~q8gEoY3r*gCFEx%GZd?ZW^K zrQ*>C`#|SGqFYSiTXts_OakE6=Y)&x@wV7b5|9LO#q0b>x*}6~3;`;CPrHe6i26qH zshu;DA+v6K;(#v$$GmtJM@J9x{DAp-t&Fwn|g3Mgc;#QTB~-@h!=E(13Imju~*g|I&?uX#5P?1?FlW#90hXK-W4z`!Xm zq5laA5=i&AzgMJ5*IVW3XEmO)#UUZ%5T=oH-KTA-1ItgXjvzUIoo0gaX0z5ACCXUX zG@0u|(hOL0gr{#^4+30?3HqujKj}??J#5{eefV~X$YV$-TgHGn3xM9F!5UfQ&2qa% zz5B1NicZdC=Xd+*%>?7v0JzprVA)k}CD#;`X~j91&Q%7hW?rG?_Gn;#rv(G!{SuqB z#G=#kRF4cf9?9|2GL@l`Y^RzV+KD???MaypM?g!$OUG>9`g(mvqFV@M)`69!@BF7g zaA-26u19lkRZmP{++zpEUbjNLmi1tqk)NHPnQ!(5QuRKIoR(u_ZWGio9^XZ-PM zW&bZW%^{k45XyA%Amm=|y`%qPx?BnEk&j8@VNjo7Z( zogCIf!>>07HKwfLYV?u3c_>p>vFfTmaJWaO8YbD=E1eKxdT7_63!yZq7bM+9t@7MQ z@P&%MLjPZd?)Ep;LM;IQ&)lHg4G&``XelfeMlD^@{u29UXm8`|&scghW#n&}%0;gg z_z&R)7MKO1mlOIdl5jyRZWijgc_M*njlncIc}@ALasY%@fU;8kpce^V=1o0Pi*pc!elOc6#2Hzc0Wk?fP{IeA2G{c zv9)&%s~RGFNE$B*Lqcokd)aj}kzVl@{1IButAkIjwx2}R-GMOF9dmfaY*7Y!)k zW8|`a&TWcZg6_=0lEHL&AdmOzL%QfBDa_MaYfREaO zTpa>x*N=?xX7iq=Sf>-V#24tlcW1>;AHmvp@BR4ji87DZ$i-7HJw-`)up5g)3Bu}} zchc($j!DQCyQNNIjYWnDrA|Xw^69x`vL!(L_?N0Y|DW1_i?5PGk6;10!l%mtKO-5| zo@Y5q&hI&J=I?<8AyaWtr!T-w&Ero;%pX&R9Wjc|1$(pqr|R*EI(Oy$|(mb zvnZZ*|*%@9Qhac`hvu)&V>U5PZf;U zVYdtf`J66~Ewt;};xP{^+|U`QQ~~w2;pr~*6$Iu9?*96F-+mJm?%1>is0yS$E!CDv z{a&aG1-yf$IM)!P(zWQPPp-au_fxtuLt%IDH)1(g<|mS8uG7S20-zM-)MzxZQL~zuZUgu%Xdc6_{TYMNy?5nI{7YmauDL9 zk+jAc>wi>Ky!>Q|vRAGcxdgdT-T{8;)dCECkc7`Cc*M+wl4y63Lbi%jr@3)Cf=c54 zRXeV#mlarWR>S80MsJA)1I!1sV0@cI9*`-_lf-PhJIB`0bA<0!36P7 zc#c|u{j#)8y9csTrUTEcj}uG~X8eAOBjI!j!7g0iC$0?#uzi=w-<-{ldiXl-X_njj zX@UN^p18`$yvtTwMV+5@O`AgYL&&R0CcnzKP8Ow6dPQ$%oR93YSHyEDeI0D&7zyft zOJ{1lubjlrL5wNQTyjm^5_BvddfeO+<3n{a;pC(Vd;a`@K;1X9YR6mivGokic1$=b z>L#Sn;3^{Q@5676GFG)*s{*dZbrOSUm(5i4>6lT%R%QoM;#RbxI3(#Z1fj3FO-uu_ zt687X=n0XU(Q0wi%4_$mHD>CU7=Gx?#+r>4sH8b_08$QLeAs_Rq>J;0S=n+}QMBp4 z1T+~6pdb(o#1KJOg$1S>XCmw>JAHtz)p{a~q_1K;Ml>Xa?%l^21%AAz1Fr#6QWyDk z07;HiXc@J!_(dv?H^Wx3o_3=d(?X8^%;f!eOjgmyJv1?;|1IqFHLQaQ?Kd?ov+ZOWw__`j0LIDWh?on)xB7F<)sKhaFylsP zuG|9aw3EO0TDWTM9!GsFjmU(aoTuEa)`g7XS_i8E36cgAY=dJD~5bFKZdLUBhM)0WDzKh1NDX{bnx+N$z4Ro*lQJ87NB=0AfX zZF1Hn#;D~)tPZh54D3&mIT@lkygi=GUkaUdmpVAk1%;8WMi6RmGJt!)t$@~X!N&WI zL|FMr>}+GG?Z-hDtL!X{n*N7Qew~Q+X@f6)i`KPbF0WE?ZD}F&eBBddqEJFn`6haA ziI_^ao#Nz;a21u80|3Xja#R>da7mrPE4cav{LBLXcfYiI@17x$8Y zOu_b(Qf$%x*H7uat|)Gt<%9IwG=v5kL2dBCbut0IIfooWTJ?L;Ny2;Or|e22LZ-u) za$94|^(}{F8X>U+v%J%e7|>C^Bx4tC&&M!Y@WXf1(n)-ozR><|P%K){7vIeAOgl)J z5WCbBt>>tfZ^<}J3iTuWdWR1z%UORq#B5dG`m!w?;jEN~U!CvS&9b95ui(NDekBmp z<6Bu`y6K^>R~=OCCNiIMEt+GCMniUR9&&cKdD-!%C2h{)d2KZcyFov?}~^jzc~a&hozh zzk;YSeO|>%&zCE4V`}7Xb^oEh%G7|wJ2fWGc}Pe0v%N-p|FN<&dtby{FbivVfcxTUDbGkl^`}AYvS~A#YAxy zKp&;QL(Y@iBXJ;E80;&84{qr5UY}ym?uSe|}px z3>_dliQ*dgyh9E8NKsIK@$SG?4hacY3HgQvyVN1}x}n>Q}*c) z02*PR;K|UZ#_?(zDmWEoJpz(=1_)pkobz2&rS}@%MDahMZ}4ie<8~0>L-4JAgwW1= zh7L+b)oh1t$gw+_p3r(u-bt2VcO@AB78o=T=2S@pC_|VhB4jv)MC1%cWTIZ3XC(n0 zageL%pt00W5G(Gsd!FL%57$jX`^bz_d4@gTvDT$=L$WwoF*B_uVZuhMu}I>{FwNz$ zTj>^7B$E@Qt8U0?z=47Hq04(~sGXew*~SDE1ng~EuoZ6M3r44XSWgUk*;9~kw0<%P z--409L@${GK67c~dp2Z1R5ID5#rpJ30e%R+8+d`bf+uTt`9@ zC-<7#X*`*bUYN?`Yh5poZf$0ZWfoI}h%Zt5>^{4Ncm ztJeW3LhVg0wHjuM^F2g}(NGk09wO~Yunz`rZhPR=#Nrtq-x(j*I^=oaM`FYlPRq+; zRKUGL*mL_6hS1Zw&XS1w=fGKiL1q@HvjjzRjZ-@40Hua~UbTCRjpCHtT-H1a>mKZ4 z;d=*j-+GM;c%xRZb5!F2n?4GJlSgrTV-0&yN!O*B zH@?4=Ks)J+1yFX^8LG;!l+wOOYQi~rWW17wToF_BbPiB1lInB+%Tn7k;ZS1Y-%$4u zoEl0%Z>9RZMKA&ZnLX6gPL1JIh|>}nw}tAl$kZrGi>p(O$YNRE>FN^$Af(V*aa;bO z1yj!D(yg4%5pht1w=x;b%CU)x=LnTNS`5kMWFki@N*s3!Gqk(GsnWkTrk|@nEv*X? zHuD+t4MjvL_l054Y-5qCs0ClU=87Q;S7HC`0O66Ob7odKq8FI`8yN+pzkPWsRhGfh z$6WUZ_8-m(c7OoSvD) z$IiN;*z!$FfF5dQIa)MxI=A=3C3lh|R=&tPA9Z&-Cw6!VeP4!tNp=)UrXD)mbp!cB z%!>v>G}#gij0oS0CCLlcb6io8;#3xD6z=;g(yR>C*c=$P9vnsZ_C20Ex*=&=thQgv z!XdzLA$x5t#%sSak-s#yplw>Lp{9$78CDz;?3Ec*2(grSl;cOXa5l@zN`_3MH$np-u3$4BkbTmL>0B70pBMeZp zAAIL0{AiZqr379c6QOI2VCho_K8nvWPmYxm6-B~lE!Q8ikz)Qp1Z|+AXI!IzvQ5r< z1EH&2*=sBOnI6#{N)$HsU8gG`aySRw=0&eJugvxGnh7K%)eKHZc|9tL7jq~M3yIHX z(Nl~K=kGj2T0uitzwsv??iDG0fywojF^;7oR|fM8$D9=ZF>g~rZ4^AbUJc{fQqUI2 ztCCi)t2+HNDd{=o{gdq1xx zD}W9sn%fdc?yt>=OWxNei~{Ir+EEYsP9iF)X-+Va;g7YNedp{5sxWt?dMl}Ck_X4Y z02&eHW7bwU=E?-!uO{yd9Km}{8bsMLX@zAcl!tqyG}YzcRILMvna|)W{mpQflFGmI z?ENh!o99(~iPT55UcC~D$Y;rr4EFlR|Dp`R4=U`P9Xzx{D5CxImvwm^o*= zB6T?N)uzEjg4;dwIAL|OArjB&?I-dOzQ6NQmfVs322fM|c zfwRRZJaM*-Pw{rLDa?!Tc8;2p8@SIMV1VA_^@t_uD^J*Nzqw5%h5HDlG8=wvr*GiqDORRxhJ!C1Ks-iTmt<^hG z(M4^jT%eXu-k<&6&JGk@KR_CEpI=OVASSrp{nR8RyJ*U9$9&@C%Cp|?!E?Tgc}O8T zkv({Cs8&Q$rH|6%cU&_tJDsV$yW+nhH0pfEMdCe4s*_0NWb~|)NTD_&xXg(|x)Y(} zYzFtGf#9BXMZE{pEuH@|2g*#0Z3z7rBS)NNFzh&J4`h+S-`9F zR*21zhrM@U*n~P9o8XROZ9oDn0(J>a05glgWXR{$%A+$DV#Olcyi}$P+9=72`=9p^&h*R zCjXU^`QXgT!h@-n=kYD^g}b_uk)Xq|I}-J03BTiTmU3xWF1sF>P}!+wS!d)-YE=q` zwoI-o5z}S6FK$d}YVwN*njS09YS#I=8B@9SVXz|)0hZ;;|XxjIHMkEWNJX+ z^MHAao7LG#Ggf<_!M8|9e480pM61|DeF&e(OP^2Ei=a09bi#_#(p@Q9945|+P4%uv z14d8rB-;7q4_fyq9kjKbRO}LoZ6Cm+vPl4!6HyY+szL+(W{EJWN*4uF zZNmvljX42RK&*;kr|uwK6inTu(f6y6=s5D}bZkVm1FIep&^ z?0D8eKY`6LVlQ`d!sbCHXaQ&oKH&dN>;#ehTjos2h~4mX+G$v7gHotyrg9#__4JDd zIONry4i^CV8+)IM4ox)Hcv7xXS@=YKw7iKTh|7hG{I&H?H>JcM%@1KDP|#A|YOqk% zkL6aZozRe2pNb##N-$JLpH;H&e0VX#=-E|L?VYta+G;$t1^VMS*a&tm6w2h0ONPq>J5n5=jANwPA5B^0uvU*CJ9eDA}}K4AjQod9;7 z&p&6WGVCQKg0&Br@4c}BreS<^_f-UAi;$XbN}b73L1wrU&XUowXI|*WEtFK zxr%e@NMoFd5_bxbMg`<_lvWTS=9WplI^ob>1z1Ml3fV+iKU?`R7IrDw+}evH4|w(j zG3gX1JxS4ZhOL>;7qdqc_Yz_?Dt_cframNL4{&!C9;gPh;b-Nx~9K0BsN9(*W zxT-qX5sW_7Do=P(bQR`tgD5+n`jMb!z5HIQEROB9^JH~S{FRtgQ=_PwqN($(Ce)jo zl?E}G$02(jL7K)?FRl&^fEuwjw zm9I1@Z;XyR`P=AwfE#PC}pN3KOX?vOw&N02~)A z!ICAwpwI6u-42|`&ZaY)H=CvfE^+b$V|Ns34R}(4Np+z0QU%#Gt**~ts7D1;oPC{7 z4yH~F4Tnt|3pPQG!jyq%F&jTW%Pp!8oZOR3>V8 z$P`_lgit%QWQM}keg!L-TrKkBNt%z3>J2T|1_w0uDZ*&;m!#C{=Bh=_1YnEG5NNC< z{+vfyg@sNqv!Ao>*kbJqDHc}xHSVQc-7`+EXK_b0UO+@%w2z*@Nz_8b>@pV?%wX-G z6;*~|c8AmM`bLq95=tl~M}NArzdm>_HN)`-d^R~>5ze#v!E~&>lFi3Z=`A_%8(&C#DPk8MFheaFUnVnSIo z{F)t3WjeBz!|6HS13y@N&sHf=_WBm#P{ZjW7I|*O>X3KLymcbMp@v*Ad^$ASl9y8u1ss1v=Zc!3{<_Z2%wAIwO`3tzVa40&M=ueda$%~$rW44<;2xliy_ z_WlMKCPsOSc20fXIO0Vth^B2<6xpxMu@um==+t6ftsh}MJ^=TDS@R<@G3T01ApY1l z{FTianqfwn@mBOp#k-Letv{cTf7a^{ zu4!&&w`J<#6GtfnJ-_N_5{FD!dtJn4$&uS@i|{IXZh$L9 zC5})tIvY360~Q1-G6vtBmJ1auQlf;v$J21-Ji^>WDNdRuDJ0sr<^)7xr-@b{4=C0}{y5U*7j^Mu3$Y;Hu4ASjt!yx66P2amF^@){* zokA=4$=Do($lYCkpY@0IeHqarsXL3E{xk1#gp|?j4m5RIGbf$wK<5EFYd8Fc3}1m> zP?!_MCufXxHWAy{&6+qIpI;icg#%jb)ujl6`T$};oxg=YVug}`zQ!E9M`EQ(57bh7 zQ}!j|*vZieSn`=2pw3fGn4ru3wsbvSNg>Xu^FlE2n=^d@0d25Oyzc z2S}^JRqktS`7({xa`SJ>EBLTMd?7?*9-ON-Z zrnqaSznjS@q0Hiv>7k8K#n`G2a>l0UG_FKHl_5L-E&5LJ_SLI6U%5mKuhJf`AEYmWnSs5V=^-D|I^OsJW83ngKxw;$6; zB^yE1Ky?4j92|EZ-bU)x1y6Dg6f#`tqPGkN@u0RF!hj2j6hd~eKiq)B6cKnOvuGUu z8!l%26H@?5vYVkAVX%W!7T?z6gc3oCQ(d-351N~7aV?6s*Dhf!BW58iU+UnrXqxtE z7*xwSJ)Mm2Zz}1S>~86XVeX=~A&ES=MlZ%MPw<4JciSze9~*+9z(+n>6tjAE2k|j+ z^9GU#8+8AD^e8ulAD#dhmHG!)@H#0ZHl&G}nl1r2r!~%5(ZgC~=*7eUDlnVe8(0&= zila3az~<^nGcS}%ePeR)Q$I1fRDxcQ|HS`>wBUW@DPAUIrF@Zl`8HBC;&bF(c`Y?u zo|ho#e|}PcdWfc`8D-5;Zlpq~^SzWNkhl{5V6Wv08T-S4XyG$$=)(4SgfrPB%b`*K z;o7X)-ZeV6bX`BQAa6tlCNBi-HUxO)wN~wh_lF$C$j-+V_EkNg`IaJjEjVks{(P%OIchA@fcGN^6C<+XQvnP4(p}D3WMSJ? z|MQWm#vC2`Oe${}?@5959?8goICu7m&q@Vpa7($V-3nH2#FYo(NnAmENr>@?^xHUM zstbh`bd}Ft!f;gw`WExEad@5O4S5~7(TkjaVFyEF^q6LHa0dh_uF0DTQVyk%ag9ia z&PcO42Q598qYsR$A8%&|%5_zt=5;vM9Zs^)+Us*7{1JW@EZW&RTRJ!o-Nz0}f|4@{O4P8L!ay`;i9!*{!F zgcRmZ?y=wy2#8J2-ZiGavbw3#sFZgA%_H9*>yZLNW7lw@uc=9f-I{}E`BZEM(lxr} zTM9`on40p3KWaKy)ipU}TaTup|7uQvns0;|4?XaM0Tzd~sUuJ6(P)POA^S(Ihk|ZH z=ML*SPTl`P+^p*M5A1#BuzZ%bvpxi>b3#YnuNSaa+s&G@_B+Swi9v=2mA1CCVLEE= zgBauT=uk`D=uk3^jhkaI)GGk%?T-8$IUhLWneNCz^fL)Dot6Z2J|g9uDJDh&o*mK} zEnk+=pESl`$Vdia9R883i74HAKs=*d`vWaDVlcNO+6yj8#d-0Z@l|<0el~|UA0LAx zI1ZMI@#{@`yl%$Ny)FdVALH~sJAFk6{_ne8C}*ksEd{@3IFw`&YFN}I{2G$kP5rvQ z`y?DP##EdXu`jlOc=ie9O{FSGB`DhXwFC%TQG)mecZ<|?$_o1e*y4% zf46?lwZw8C*AZjUWH*s!&Fa07%&|uA`!xr6)cK=lj#kG8EXFvN6cn%OF~rdT21RIZ zaO}Ji=$mt24QE@(3plDylCwtSna0flDvT4{?=n)-Fll(frb(gC8%PJYJ=y#AjUHpK zU<&T#PUK_vbu8mr;AfclSdXCIr8|xdN@rALbG$?LfBO|@avio|1Di`I1!psq1*J*t zy_^2tj|sfpz!?bjAiQFzmEOU;07|z|5E;75Kl-#<$i{3A1p<5wrA64}X+9;Zwi{lE zF}8W?#nMAB+?-S>+ro4_wV5d7fnc!o#&sK>V)6q(A-M;}#e7-mBBYtzg$5To-rNC1 zjAZ6FsPXahWrZJVU^47%ptR=Tzu}@}N!pqQ-|gK%{6UXsq2-Buj(I1ilTeoV_Le{0 zh9MUet3T^E54GV9{($ie1{g*K&L~=FewHM#Vl zA|RyJ09xyG!-xJ+oeHxPxoxpv-%+KDP_J;^1LH1;;`wUc-$mxvLZdVN8@46XeR$o0 z?>oxEWJi4k|`XN*>?@X~ET`QdcO|FyGFwCS9w)VI_mQA3;H+r9y#Fcn2T8 z?(XnpBU{?fpylS~qbh;eJ|+^JzANX9e#<%USs_NgO{v~>wP@S$Rbmne^`a@%5@e$D z2kD53BIi9_q-t@13+X}kK>QbpPb=8_v+_*bLE`Pi%n*Hlx?p(@FkIim1j`-n%S}I# znhv7+eNla4)_MRxPaYbV=kI4XH2qg(HY+!g9vjafBlwO)Dy$1%?%O`)?eqq$nHgfL zODKfIASjvJ3Llj8sq!8cD$8LN^F;IgC-x(@!b=X1($+?3ds)dAaKxvUv@+-2!GhLz zVXU07am?9Mmdkd(mBc?{%w_-;Z$}9kA_P9Kh5YgTAM+wN*?2XgGJ z=nO{^@&N9-M}&v`>N+llJ{tTIbzU@o3(Buqp}B9p?S@x`{;i8yz#F$c_8MB^01M39 zu;*c+u$KI6`c?P)*p9L((XQAkvXM3{}L9A$mL>CKW|37=e^e9 z0QxOea>C_G_9xXMcEAZv#|UTOYi4FxEluQEh*F_%QH?U^tJFt#lv%Iha7M{q(nhQm zkKG*eOwUr7PblxrR&_e%M~1HP+g{-Ud~i;^;TiAp4%ZR3D9kkYJ&^ee?xUL zcPIHw6KJ+ooLiy~_w;$Ih=q1hi8vBoyQrbLmn&G+{Yy|ftA(j9A3y1CfC^z^J~MDy z)1xXQ9MYnMTd%Qf5uV(!dt(`fCrnZxUs|43!y$rj?@u83*CR`R$**eVF&o*+?&L+r zekB}NE==G0qI4kgiGr)V$W=D@PRx7D(F|-F@(3{xl4`S&P4V7b8(8a--F{K(%k@Tp zZ}upZ!=yJ_>T5;jb!_@MMU+dRhl_C~<*QKDO5Kn@4gr!8w&LAt`0z;1x8Bg0Tj7ux)6A|F@z$m& z-a!`k3H#h5fz?uHkn!&3g><+mKGt8F5)R%DL^YT^pa07uE;HsR@xjU{8zYr&!rlDH zH{a-Us4$dKVnKhz>1_5)CPEvKa)u`(5YtR>oU?*U*1c}muA^~vt6A|{-Kn8CbmF0X z@WOP)ffDHoa<~V|nn&*H2m4=(@?bC9s8Krt7}c;oE|ntuNx(Eh)MqSV>I~2s7->Y} z@Lnpu!SkU&Q$Kz$9K&4y{(~scnXx|>5&)mfR(r?!1)bGv++=$AH~ZVok>#t`c-5yw zu{)>DiJf93&t_nNp=yRGn)sT!h9r zj8I3bFiZP8AE>BxyRj`Q7Z;S*79@DDk8^BZDI>#8aK_rVzssGXUp76YggX-vIm(=tl1l;f--se z*LJiT?x0cc?Scd1B=&iD48=gmUds-5!hu%<5~_s_OJ;1Hi{F|E=i zu5a8OS8*%cfW3r;^Pt51~|BknckQ-BquGN^TvdvZQ(#|BbI=$pt|Ihtr>27G!Lz+JDons*z zMi^bVkh}O3dbQt|LeU(uW*w+Pd*%^Opif%#DOSGI;AyoWPY^t2$EwRsrt& z81U`RQW@pGsPmj6zYmYcQ?2;qxTa{HOOfdph)j`QE>DM=>HX`DT`q^dnPcf6iX~YO z4HCL77%YNjZdu;fWTB&N@CPbkP0-MDtlE)asNks3hn2}%q+giQPGtmH?<4KE6T5Hf zVFW>)#egdj+NCWn4jjZHIubKZR{5A|ej&6C-F#CdLBE6-Pwd|yi3jO^y3M@Qi)7zs z;=g*htP)w3R;UYjnQQFzgWXfq3~TRJ5YE+yR3NJqc4KYcDFV#Tt$B~yz{29h%)!_g z#YyX{CU)q*tYF%sEUF-@i&m9%#$xOnymi0{9^Zqb9!U7?ZOGq{tXL2RW~hMZQ}coZ zc9|!9BSUrAWN@!K94S+3JG%fLGn6r;+o~E01K$&TfPHD z<}J%c3GC~YcyOriFo@lTx|!l^-cGQYTc)jFv`I!V+Ce$1orQ$L2Rhjss@0<%Qp$ZO z2eF4pzlvcv2H^y*dG(r?DOiPkn!Ykx;#~q%4|u{T%Z(I6Qc&6cLTA)9P&$*zh_f)C z5ViSe@Bx)0=^d|;MvoJ6fu1ad76Aoj6UQifU`vNiQ^C4%j@rmrsR9WB_rlzy^+Rhl zn?|PUIojj{P{{P|SQAuu(>SFGGI3S2#B%$!V+gDOZmT54AhR9h-(OE-?llgf`I-~^ zAJJE&>IaYMun@@&zb`?6u|wJHJZ#W2 z{++4h8P2`~QGK+!FTmf-W+6^95)^gJ-Kkh_%)`o0%?lwTLU2>f7nA3wi4jwb2c05<1uX?e^eCR~zCYe6bnA5Ro9+D|P3$lhUywkvhJ77^ermc}l)R z5Rpng8lS~v>-!gxWc%y}mChiT2k>5c{;O}w4!qS!&#M9V}YG@&lJ8X+9j3JDa!OUE$}zm3la@(4%>piMTedp0Mu%doss`zIetE8<=@se@>6W2K*Rr^xka^eI-jIya$cHs7_EP6yk*@j zKm*Hy@j}lc)DmD`B~?hACuRcjYAB7|w)L@D=?7N1W=Ux=jpPdAWYp=TFK0DowN)ls2i%NjMbP^$6KL0v=kavP|NC+f-K{rKj=58v?aCf+&AarK zrl@OnpAR%SN}19!265p()5BL^PH)yX!Ef2rhryELDgjm2Iq^l%W5;goofKY>rH^e4 znoJO+2rNbuZB+q6ln5dII#OEIWY;alfr66Ft^W83`R8qtj#Atg9-*W0hI zY@N)Y&3e}8sMV~n?;!` zJ(RNwWd70C*`{|dBKw2Vx06BP@uae)3V{d>1;I{Y+=Y$`7sHHP5p5u+(4i<_d)P5wcazGCAoy?aaCOjLE&}>FQKn4a7nn}!{VHk~Tlo%*XWiWt+A#n6 zjCN~_t*aHcCE2AuF6VgQXknqNlpi^}*M&70k4wGs?T=NU9m^FfIXbq38B9?-R}G$T zerk3<8oGmmT(Y(d0DLsdWhHX?3c20YL)dNd;KwNVKz`Ab0I{ zPq@7sAq|(TRjfTGmq9M;KOuJxgOys{!kev*irX=}lxkJz?Oe5M)V)x;>xcRV`o6>G zg-aD7>0S2Ef4GP*Ndy8JbvI}S4ODtLv>WV43ZkOPt6cBzLuFe&xzG&Jhyb_bigWlC zO&?@3)?d_lJpQM=l_H@OHZ3j}Lmo%B>Qih^pSxiAT(O;xhBUx8XlA7aOH6~I;I5b{x|7I+VqUbwKgl-wT-|rVjdmLj3JP?ie+*0()=;fg zA;FiJkjH%*_xpHT!A}2=aN%A>hpgK;Mn-|8o^lG4I)cD!Rc^Tk_x0u4LlEX_XXK6Z z=)Jm4Mv&JDh9o@+fWgYAhIOAYcL7Uxh_b*n)F{>9IAX7I(|+yRKN>8-5@wx!j!3DX zx){CQ3lZU1bsdBRWnb=b{~Qsx;ncDE^|$0!cYF9+H;}!=;F~s0yEyD!NhNyjQ>K2V z;_1KXSA5Kf_|xl{#b^4@a^t_7vDBCAA-}CdzRZ{Dh?&46eC$ahzfTGv9d}U8Eu;5YZDj!;5*?rN zuY;Gy6CND&w&KlEh(tTg``S4)ib_4k}1>aHTYnR zl?Q(Vws+|EvZ&@4@(_7J7(UtLCh8XLh&!eN=*q+Hrc!?RBbB@Et1VGgpi(s2(lXhk zO5ZT2S*qhv_Zr!ZsFD;=oLe>j89RRn$SA5O+lRvDQ*Z>vbo6^ptD%e%=Lp(XS2E=O z+1HTb3FDxNuvPGxjqySi!0OO=-CvVFJei*D5Erjz{?pjK9GP_Eaj=&suudq%C?y*k zl;(6bbHnTifvzY(O2{2`Futu6N&?BcOw;M9eVEVJkC#eYRul>Xs+R8lnMo-_Ke4Qq3n-U^$O;YS^bs`Z5TRhg~#hfae{ittVrhztu-r*q0`xOj9c+^H)S zPmM7{yUo1(aKYc4PVV7C4vTjbOsB=U zqz15=x@Gx{FQR&L#vH@IAksaRTNZ6@KZcv2lfO}sO0JTQ(z;~!;&a~Vg<*xZQHhO+qP}nykpz8 zZQHgz^OF2RcB%9S^uDW39c9~v<|w7k^5u}cXEz}~6ivXm%HF_QZ6}u1$%E(Z9g}Qc zQC2Ku`Q1^3jw!7(t(GBzsQ8A(xlN6LlMf|XvSTUH8;QN0N_b<9y zrzMZ|u$r-fy(s5*awj17{wo;x>7jPTUstEXa=~fR!*tKdV~OHRI)Xo67HE}2L>>
    8w#2&ta2n9>Ut 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%0AUZA2m=sb6;la^=6_ux{Vq5Qey^2 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

    weN$0+cHv&Idr~b^ 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

    m4gup387%YGc2l=lu!8e4})Lt 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 z zZbI2JKNvJrmUIZ@Y`HI9<#C8 zTp4gU$FC1|3y-4NvzSr9+~dZ!T{-!lOU z0FweF0|Eh|fJi_rARdqo82grJK+3ny0AvAj0J(rXKmni#kO;5_=mEk3{s18`#DC^c zTfRd^QvhKT79PZZaD{+l4W%JHZrC#)3~F#O+Q5h__%Eb6n?ro0JrF*>zYy$N4Q5_` zkys`;A-b5CATJ>jlVw-|GZ$Bb<8(Tcxt!z;t@$)|0ehp>xYb3Qv=|s=#E_zoMlzXvXIP z;o_Y=ie%hGNgZoiTKy*pa$oS6ld@vdVj|8Dj=vjYpGEvHVo1ZC;u2i@Ax+@J@yoq=tg;PX+?mqWwz&Pz>NtI_ zJ(!Z5&!Zu07>EX31{8i!LV_a7FCkbnUDV(Q3U4#~Nq&ECVtunA8!uOcxKo>);TTjP zJ$%+TZYLr-RNAH^1zl~+Ez0I7rrva>yGKBB@Sq0-4Er)?-aaM#U%9EPna$upe|fNZ zd=)gEhE;T;^VXBi_ta?s{`HRo(AO6L-feBF3sz6b*oFR``)TWCY|@CaC;dGxcZ>wH z9|7D1qaOeijY2q_RAQcC+_0J!jYu4(J}JUFm0Ge&Ei4p8kPwzMXC*;Fch!}MsJ%oK zF|J|xw10=Jqtnr})MV*0Ti>l&k*2lfm~$k<_yXj+R&!Mv?u{)@iaR8-;zEP`->OK4>*tqxL5(58Xf{X-VtQ$Wv0KbZES z8{l%4cQQ}V7L}I-5G1P$VhzQtQXO^HW zxkwoWy$AG|1k~WhNqWAVSV}-)0Sy~`Pgx+{siM^HXW{H1-383uNbm-*Zn3}bd0Ec# zV~tT`=`dnLW|)zfQO`VqNl0i36_fb*Tr>>9a@RD_p?_Rh=6Ms=4r(1?{h5pNeXKH8IjLLTE8e_lUtm5V}Eh@j)^${`bCf(@@k{X0#`f zL(@`llp1EzOueN&)<;xII#GEv*`_#xuq36-JwXm&=w&@c2Z46b=U_i+sJ>t#wG4ST z*Wxu?21OMaW-MhvAol4TKKPh$0}arH37Q{4ejX7c(D*RFY5T?7oYdJ>?K=iHirneq+ zLDPn#PiLVwkI~HJ`aamYT%uTfnmtTsbMb9goV7M*@+LT)$OdQFbb{8`p1vyohBi}^ z>MzP2^ddh3X|GFz5-VlDH)IHfN{u3>`H3*2cFt4`ey~xSkdK{s(F-Ou)Q-pk{QEW1-Ja5I`>&cCRx>#-Gb{=(fs6^!hG3o z`Sy{?dZ92P+r8;gZn*g?S=K9aZHb4U{FLZazrD=Ql1Lg>{tvJsr`W8&&VD=i1I#JL z^M%KQw}(2Lkb*d8{18EM)u>?vp|zCw{)91*B{Ye2c7LV=vNg@HFY-`Lkjwkb`1#%{YzpS21Ft|4#-mGSeo$QY&mjP zWzE9SlZlw7C6oK`*yG&bv3<7JsVr~Xqvum@17GkEY_^u$??p} zSpIK~NJNM?s0O6UBqoBG(tf&WDPWO=B2W%!sPY(^au^eWV&Xt0@q%?I!_E}o2)iXH z+|2PwehK4s(QX%d9j#q1xn0S;8?vqyxF7eB?~0kPi=-Z)_V-#d`OXKxle)YX&+OS5 zJp8hDi3?+^cfI%S-A@|tJXop~*DV(Tzs%5M>e@_y2;dB$f2t7@APdRhXai%pcJPCa z_=7yJS6!1$USdntXCOg@zd0I;d(MLk7Mh(^pwl9-iY715K$1CM&`)Ozy`f4Crctk< z{D77K2o&v)n=Fc|uF0*6F{+b5M;aL@3T>L2;mU8C_LJuauv2UTsbiHS-&b{6h?4G3hl* zIGU;x;>JsmW2;z?V9(y@FANBM0hM!MFU)heC`21e1h0=K=P(z8geM-f05VQnH%^A> zt&T6Q_({72`;fB5*8cQiWqEep;M*omr-kRMw;rx4v+;HRnLT2?w~kAOy`JNqXa8K6 z6UwP_QDKegUfE-+>U=bfyUt;|(C;M<@Qr(C2&WNxb_O)t5HkG&I#;7DNT7`ws`?G> zC~%_wU|6UQ?HKL%#~=iuDSB+71Oq7Y#V-yyxCMQ19*JE5h=!iXsPqF<+rq?VRxm`R z9Bz6#c3h=H3lx$IrIc;_0t9G?{`){39rVi#lpe-A%#$-u1~v*9CD`SHP;oye!@tn= zei3)A$!8=)`(snKh)2Ku>7{#lOY`nR&s29gcq@m^b#95Js^ZaB=V|AaXF`)Q!^Ntm znrGqlb>7l-L0xiR(>2S&nq&Cc1$GoYX_jS zNePI-z;j~90%E&)>NOobnX{Elxfr3FOx^n!$5?I_GS_rC^dZSWf^8_r7(L(!jZkfz zJI|}mpXFCUccVkd?BGCJ9$JR>se)LxNN{Vu$ zi}?I$bccm&%!Y~r+5Lqom!sGE%#(A^&7X_)b|l6DXznx+&I4Mc36Uu1Zxh&z6Wu7% zuVkK`)nXDY{sE0)sbLqmp0GOt;u@~svktZrr0{rBBvbKm#TZ1dF%K|FxmPFLCPt`Z z1M5dnr{K!S3Csr8`Vy{s_M2aP`^MxA>g=}U^pe<>nqz&-Gr!_!YD;$U$P&M*W?fUW zqow+CmJ@*o^}g>gkfoSq;z<{~a`U$LWh>`yyEv20dQDw+a}XK1W+X@=j+2bf7Q7B5p%cq21&VnBbmpgEx2OSL zK{$?yb+Erh?Mm;U0@|tmv2m1+dT%YbR&J|YgOvntMy_2e#!PVl25lg6o(6~o2jg+x2v#lOPuN|1|+iz>!vHd=D->AW}w%?copan6pB3~NH0_l7WyQ# zAG>-tZ3G=vJt9Vyf(k<+gdr)&jh%@`#QAs?!I*u&#$z^@2b?O6yT0el*E|a(chF>GDIVP5ZjNe8 z1;k>ShlqEP`>`uXlkpoLwgLCha~Ya@dF<|_6=--ZyC}(+#24R=)!xJU?Ou}#NcTJ}C zI>GwANC`_MR`HN^;wm?aJHEh3v)O{1h&Q*-9CcYaXT>+fdCjsoeQ&ODY(ufZv8x{q zt$#uH(4$DRbAa-JbVH~>b#M)y+;Uew4y(2A!$a{!Fn>Hj-M%FWE0AxL%TR~DX*J^l zVdp=FX)I10w;;-S#oR=tatj%>iS=;PuofEy%p{C4yOGZCfJMnW^g502;$^2olvnEf z36;QV{W2FA`eCb+xpx?k<@C|F;{TJxI3N%rq~uo}Jws-C==dh5c3Y&)wnD8va|i>w ze+>4+Ma|{LQ)2u2rH%I6VEa;vbKeCG4ZP|JT{gOGOYUm--{+PL4^1rBg{Jei7V|UQ z-M1yxr%HU?krSG@r89l+R2x`z*-yWB-1uei{l7@|1D(YX#+K|lL)^=5ez|WSdfcJe zaRYs=G1-LbS)I=eox?+V>Y!E*t?0j+Sm`TY*-*Sz&>L$S}m>N+6tct zVYT*woA%?sCE<@MX+&4gnhHoO%wb*j4HdeRu&j~*^XT4u-+CDaa_8y&D6f9uD*lce) z?QMR)3gdTf&O7bpzCCJLP+Kc5cITfRym%hZc)V)hRh*u)+ois^=P9c8ViWsjvC9vzw~vYN-U?$Qr0XIUoR6Ppd8&zZQS!Z(WXaZ9=V`nm@66TR*6zCZ7jf>c zwpbUF-o~pj+@JP@``qLo@sP3eh5 znr>c~4e_5XL2jcqk(UL~zdU8xj2KdR*$f2-{PNHw(?ZwWzX3Uf0y0{VzzPl#epIfV z#M_Rs@6&Ki@pxFR&pUy(Jk`y|2w$tn$!t1Wuk_xv=P zW2LrSAvV~8g-^&X2s=yVM=s3=Ju?owOI?25MPbK;*~auxzRwHsZdD$HhqL#f-wGjL z3lW~|aUl@!=5+uF6 zCpa*8eeiLNg?4mHI`!9R5J&~J+bNMa2Bv^yuV<>mN0}R@$CM8Ktt04qaUl8;%?{`QiA5-;NTg9&b-|GA|#{rNd4Rg&R>&@~* zh?IzrecWu@2R=K6KwWgbdkyYD9R)YecntM4*NQNTS#nVb!>>)r*HisbPGzO{5l<(L?y`RR%=+4)Sc6zIur}A+x^u6|e7) zzaI)c1N*e{`zmvhO_;X1=I$uKpwao!?OY`X`pfj=1?^K1BQd;lKMk$KSbhWV{Gqwm zj+C52))xFa3T=8zsdMI9_AX7ajF3ib^U-^gCu&a*(0}x%a6sQu)?&lJ=7Yt!OyS&# z;o{vMyI@x9V64<8yNPciNeNM!;D_rA&Wx4P8ofLT@N8c}QkJrtA<{~sy*G7sn|X&} zXEvXR!_?NY2*Br>SKD6klEB4MkYyp;g7Drac8Q~+;s+P2Ea0_4(Af#RG4UaBOTV0bB7`iaf%e0FStRD-p2N8yd z>xdu7qL;3hNxVKOqv%R!&ZiO$I-FRp)>fG~h87J8jV)_AEw6sRZ=$k@sr~pJ>dHHG z(Gz`&*%duhik4`CG$GKA3ba`Xi9oFLo1N4Y95ocQms-EqZE7-rX4Wh$6ZNNF%dm6I zBo5V`KTbM8l~cp8o~t|wZAw5H$eD|&=^5)D9epcp*mF3x&EmCN`$ewEb`2Br7)))tu^tg7EOCyZlb z*n7qxu+*bJSRS<0I4_xCwlzkiG1rZj3-}skU!GM**+HoRyZus*;inS6O}F&p&LYek z#tKrz2yY4XAy9#D*R2BOwuV&G*kOZ&|1MM8HMJK;Q_-G^wZAn=QalqvV2@&E07EOJ z?Ez-P&!%40vI~IB+aQqyt5XiTaB`H_pKwl7zYB9?L#r`XUyoK6OeB`i3b+q_$#=5#r>*!+#@n?Q{LQLv&x@v+_7nfZD^XXc z>aPLRJ~3(AiP2yh3Cpv>;^*xXx?WlgX@f9+a@RUWhN2;uK@v*+-^YwG@Ow%1GvxuFZ{@ege|#ae*wid0~dy& zN>SK-EXB&K86A(00WNidgcYL+bt!r7*OfA8=oCuy{TvkrNPP1^R5`q+ zf6@OY2}i6NB}v;!hb|X2lui(Pu?x>(8h1%AWiRe-wcb>U83arRZMaEB5cDsiB(5?t zWdiJtj|1vmaEf7_Dx_NGLJChy5>Nd&?U3xYiLFP_&G6mG?q8e4xyscNNrvg6;R11k zIa4%2fKQpmf+{cepY#s>bVlW)>1Ibxx*f~qM>$HXRoNhCpkt-qHSA=$>FZR~*z7ej z>71Q&a3(?9?ql2L#|9Swu7IvIbOXJy7ymBbcexB3$i zb*56vc}O-U=)}uE`gZ(V(DIPL%&Z`-60sx+S^pdomT?Tb9?fdGIo{4XKn!HjxEAD%ap@=9 z&eYg^W%r`t6vAh#k740J1Z7qu-w)&HnEi5zAXtLw6YzY5H=swi8Yv4U z{BiSdfq*;GNJ_GEn(?r8iX=TFIab{XAhRP-8D1~PDqG+4==Rb4xgslmdB;@pcGOCFG4QSV`kASpQGf0^ zC4AKG`WFsQXM(n6#QcO)+C}VNeEDlHoLX*;uaf=rpQ_&VSa{%nwmb&Y#FJ9+;6M%6 z!Si;08iRIrSQba9ZZHcG;njg--idUkQzp<%U?rcD7>zDelHm(w&S+mdR$(763S>PF zYtHs`re93p=v*vC(Z&~<;CO zH}{ac^Bg+@SrH2D?`35RUOvJf(g+_hyLC5OYZ+aNu2r#(9hxzY&!^!&%SLL};*gNC zx>J|hMGeuT^5_8o~5Pfn}#`YJZ!*W3pN}qp_Es5MMUca+c&8|>3`q|wSrTpqY zbPU5diLUJojT`1}@*#M5M7`&B*MM_yw*u7gyqsJ@F0Kh}X5aOYEyJ#A468#EJ9|?fMY)zAvCs)=fZPoiRKOEbQHe+UB3{070kRi4SLsX= zO5w#vsdT<7W{fG7JCMWzM-vkh=hzpU z^eorv4#t5WhQHjO!&`FGH|9 zc(u(&ZOSYtwBfx*Xav46NN++XA7h};tPi6Tbcx5CUKXU2U`*NHDq^;YQDXJL{rP?L zYmwG`3#7sY<+raO0q`mWp)WKwi@neX{I1O|FJ_}1T{Oa!@|_P6o>lip$SB@1F3CeG z*l~jE?1`PH9f(iRn$y`ozdk{m$+`A!esa@A^2^dSq`?}_FY_0c(){YgsEPPB341XV zg@S~iuFbD%6h%+vVM<|Y_lH=gr|?})Fy$(jME5kEW!Mpr;c}~K;ZXv8YMMfg_)MGL z;K5I61H3LSB0O%*8Kk}O5A}NN4*M;n1p-SejBd~O1we=qp*s~&%sv1C2?wRMl_EPh zfI?3=X{#9pT$T-tz=KYZ&umTxHEW z8FlVuDw&L_Z;o7)fYMRDEsz*#+l^n}Bhpd9{owNwAC&F3l)XC*uhZt!mPS_qnPs+p zh%$VvkinCDnG$-e@b3ss#Nfw*veXwNRF6_)+r3sdiQgY}VmB$SNun>ZVDr;g{+z1{ zvwmY6zqevo_;ZC6xe-QlU-b$4NX(_x3( z8r2GPZ}(O3-`pJfF=p5Ldkn(19>NH-gRD70 zAfL*VhsxLDpuQdxM#$;TXa(Ub!wkY2@(2Db`WyQziG(OK3Q_!YWaq~rL3Yg@oW{Y~ zl%g~f6P;t^@LIu6{_T-hJxIJwWhp}kPv?GN=dz+1)62ip&3hOc`77`=Jxp5O0lEdX zag08}1aiYU)9wULYYHYkzDh~Fyn)+OgE?jCmfgDgragy|0;e5i-rLqP(X)~Kw{W5U zMl1*XX8TTQc!qxAQgMkwk_-M3cVkOr#tZkT6$?e=g@Ye`^z>rv-lU&J$E29;gL*;q z=#D{-M)%BFR$s=zvLyAriiRDw+eM&!aj8#(VzZ=Hm4=IAF`G;51Nxk!Ukr5ntB!Pw2 z2+^4J?vg8D<&%7RT;L;6Cni}hd$98>kL_SYTqwa0qa4d%JD?PD1F%7uxzIZWNLaU519$bqMRi+#u9L7HX}CZd2i z&hup@d4ZO~&PqTuQD@^x;ZzPt_29pZjYlCfL5YUpl4T6AAi6$W+bIsW8n1Vpp?L|xVTl;{RwzjNG z>frYywG}o##ziv?MZ0um2x?jM%Prl}XX^RWlM+K%NU)NncB54%71v+G?%>rogqFNT z<Ny+i7n>18Ycp3H;y2@b73}fWphc8Kt!VI&fp4PuBS5u>*iqGoSAXlk zZI`BCf;$X)u&MmB=ja4EMAq{D8dlg76)mk9DY$pzNhE&}q;Dh@TJ#Kalr>*Q0Tex1 zg@uQ;VFF2g8t&eFMP{s0e_;DBcx&GRW0BZ2=P0Ew^zsthgZGR1LlMluiM|g-h$T&0 zFNb0&SLwWtH=AFeR?}aB@utvfr=s&>Y#Jz&BiEg|nsy28UjK~TSQTlwnsrCu4Cn;) z3FEtLwH$b>M@sz*Y<>35bpmARcJeX-!HC+QX zigST=*i?~R!Su1kyY|Kn$dL>@cjLN)AE_XRBD2$P0(t~tsstId+#_`XlqJQckWfE7 z326?|RDNSE%VF^#*`;XjRgELbc4SSnl2@sP=TxSDD1Y~h_``qSa}M$QT<@+U?v+wa zpbA1|RW2g;M@sO0EUGw~~hgOj6tlMvYbg0TAq?0|Ev$Sc5t zis8l}8BAv}qv(PXI4Ecd28RFr`oa|_B`VZdB3Ycrt~=l7o-pNwnUvEpwYC*-SI;ez zhnI>?F~fgUt1tO;+{bHH{ABDh<%-kaJ<_Xi3%Zg33XagHc=TU!zj`){5cvVZY z$;d#O;ZFC~AGpN`N0UnF*qX!r`)FF8nW~y77Fwq**o9QxZJH>j6@T@&0gXzX^KXTG z3aYKx+Ym}jWL!6w6Q!_EkFR=QRwaY1r~g#7YxoY80Chiy;A*Z~59OwIo*mcvS!Ztp zSB^B>N?BUbiUoDB38fR!cd_53vz+;o?>MdYVpZSxR+z2R%) zn4^L%@FTTv5w(XosDw?Ee_z5xF*#WyPePF>Tf>uyYaXXqP?@4v(hrgUE}yPil%s?I zq%N=^6KDSAr`p9eNiFM*7npO-n()=pW!=Xb@q=+aY-UOlUUtfg z(minX$b-wia@iqq?~vmcJdN60dQv&+S{1fD2i-cLy9zg0_%Mz3xXf6$VrnlTr8b8HjH>uFq7f*Xb;g;npCY}HQ)fm zwuTA&MBCZ=`!4+lB(1YHbW>Akg+&DI(OnA*=c~^a0K<=aP8WIpMh-sZG<$Oa|~}IT*{{|qgaSm3@L)4qz)rq zJSgN0-yp4HiCz7VTxqiR>7=aHo7WERk!0_)B@mnNB#yYZnLZvuZRnA+%b{oLj^~+p z3-2lZJ0Nr<;9KY6hNJs@-QF`9K@cJ1>L8Dsp+c|L{I3VTU+gHisi%?Qs@77rzT~ot zgR8oZ9$!l*V8-_!wyV%+Q%^@z%l`!@lU1{NKD zrX^G5qyEdZK*PG2GAQee+U{V>gYkotby%Xw?Oa;J>?mq3TY)M;!Tj9y`onBqW{1ye0*H48t$H7e(uMSP`f7}6ijxjcYCgVev#y^x5RD~P$v;BSDX5(&jWE& z!LF*%Pg~wmlgcS4=x;7fJ9*RO?)PItt0-dVN^F@rT5k?W0Q!ICiv}Iu<#SbejZAgBCU56vK0>JUInd<`P*J3)i3+U}e9&R@%|r+)>)3>%ES5 zX5IC9nfV4~X*%riLqX_P&ezi8r8lHLJ;S|L^l65u^`lrS!ApUz(LbhxH z*88kBWG1hpix_k=BVcy`~Jcu0YodM`wv<=fLuDKC~ji(Y{YBe z_!$;FzFbx#?uobp{ZHww3y-FFuEf!qs<0`?%}wPZ%wXkfPk&-U2V?o4fD5_3qxIvR zBd49CMbfs7QhIRhI;C(0K^J@Yi_Zj5AQ zhSAXkc-qb3^B&f=Vp=4hf8TgNui+7e$+wg$fp{&tD}Lgt&5w6&c|Ta9JRI!m&g%2# z()F%YwKku>9FVHoPY4H@emp>k zVR-JJ419k#s)O1ipc zr45D)s8;C_fAS4grmz%hOsWG=={0DbY+(xN%#Ddh5;FLtB%%YC3znVT=4dJ$`D5`v zE%dWz3~)A1NMd-lH|Qj&2_$C5Lyd@~!muD;oOMk`N@^@mxFfwAi9SEKV@&xV4PuR0 zpso}Tn2qUsB>_mv#xyPRRrhoFb5zmH-dgJ7_}0PCT+mCku{E!qHNlsc-f1Z=b|;lJ zr?shGYFqVAt|q?fnx{!4V+P9h=FX?37k9Z$&*~~0$PbAnok59*6bA{TnmRr?3ayic(Y&3;lM zp>3(!xw;#&88^S6W_=a*E0f;_4`-q9H}6enl%(;066u}z64_RaL7`wK3IaLo|GmO%)zWaSOs%UGruuM2uVx1+zE zvv%@?Yp~=TL*LwlMsjf%n*D3|xpp@8c+Mq3=T5*=Uvxhm?`JP-++S_owK-zy2);rI zjn*uwNp=PEjb~B%Hm3!QO%Figu=*cf{-6 zqijhI5-~@lqlBfKGq%G*chXKs$8|(%OsB# zjWnO+y=3YCA%v4?M5%Vgg#Py;lG02Jf~iiT>W|wy*%xzGRm92+m!J%$7N5_yufTGR zB=*XN@72ts-nr-BoG%@Q(~nbmK1=eJThwQB_KnYjfK;aa#G#{st{Ga;r`umOvTzw! zwCtp3_x1t2nRR|W>-NU)$!_paY#Qy2VSqj8jX!`3YPB{2qVu%G7Vs8>;u0PWp^QB>FD8@&nGKGyyN6gr)Uj4Y}3=yxM=@#yVX8XD*|>d%B!%?;g)S$BY#q(`a@u!E^7yG^Fjfx}~|yN0V| zJ3uGdra|E*2I@gIo=hj@u{s5=I_@a`mI#c)Mq$H)iybhzmeWa)&iZz zZ6?r-Gy3VFB1*M!T&YYIfTuB7Dd>t2Qeu=|sUf>etL8jQpVR}bjNoOmO8>{PZ6z(Z zt}~PspoD1LS&5akSK<&&t@gz^L9a?UBc);a&|&Tdq@^>$o$0dTgp=7 zFNO4!&fuXXGF0R5%216z3s0X*S9z28{zOZ|{-${@CM$2uc-Dbd8*kJ;($932rvpxR znXfGf5DNcka+qdU+x_D*&Dt|(k5Y!|(euJFDN z_C8MVnV`z{yWSY+Oe~nFdm}8EWp~C30~WKG^?C%aG(!9wGo@pI{c)A}1CpxFcEANj zpUta{!^6w9YR78JivekWe)*cGPD?Qs>0*z^> z;0&;FEjjpM27W7(eX+FHLL=9P8a55%eTR79FJ!vZm6`HvvvAnon<0*)Jjd$r)RWo! zx61L^nViF*M7B~r>%%*;(A$o~2p*mhKX5NT3^pn=)CD0l)zprGs>VamWZ)~>xlg17Ay3VRLixaB@inN}X1!{vE4{{3&nlaTBBqHWUwjiSC5}{E zntBJDD+?uxVQPYP`uIKjr(IQdgn37~UZ?71`jkV9Ng*(iWUBeO)T+G4yCK*emq-$u>E^0v*f>e@)=j=B{|=%utd# zZ<@5xTq?ao76tJ9!C#aGaC-3IF4SXb+B!U$*g8No?GZrswF;M~j4{CuIX7iQQBpB7 z1hw6k)?fLKkvaU!HPif|{?xJY>w6An+IRrK?60C{6z_Q)?zrbfcsEzRHx_n3o=)X9 zA7$M6N36_jMrgB~vCEL*4)5`LTMsPk@$+wQ-P3!gt7&f(Tw}|%m)z&GfU^qqu)ir_ zpR>h%4o=9zI}l2;uuEzU@opTU;WHGoznQ5Lr+K;(M+`Psg@ZqFD5Qlm?XA1@K_3iU z;=u%G%WO_37&P>Z9fv?4A^1Mpz+n;+9PZVG83y}yo@BLIwrYPH@osiPZD%P!od(atQVFmon5X=0HsRVBlx zqDyrAnP?y?8lG{eB}jdClh_L?Yu!Ktg|i(ZWQQYL4<{G{jlLUs7J>5^uY3jc-2#x3uVveJ~idFwAeX~ zszNbv`6}B=H6X@VfP1mlU@xV&A`EgxPQ&5~`%3PC0VQ*h#9lW)^~t&^*VJIT7=#hA zp)&E%li%nBE_O}%7_@}7&eohd(Sf%}VzmmBCLRtdISclJ=lstxrwiKRxKR51fMktj zuH7yOblscT4hz8kspv;WQJ?3R4(1evR_MJ&W=#SY^&8ypDQZ)Dy%QPNx;{ItOZsM= zHz8;tz%o<7HyHg*KXl|l+ z93sUzZfK&r`ux3c(>iK)yc?!qj(?z|&^k)BiO{XF9}hwLxSc%eW0Szo#q9Irqmk>} z=KS>Tp3|ACTN4nDJsT+usKeJ?57e|q3ewbdzTaT%O`mpHXT5|#5CW)D809F6CBGjs zVqI5s_cf&y-2wg$!j4-6_rW?DO7-zJ=-U|bR*E7o$C3qM812Z>Gn?Ula;2 z#?M|`O8sq0=oZx*IUJOz&ch@)E!s)0APg52GV<~@0wWA(MbC#le-?Xk4t=SyUB9$C z_-npS3Q? zrkGIdvqhuR7ODac41p8LMtG=A&WNsYwpQ1^-eXFmw>j)=7y%q z%XD&qU~N=qb-SYM9Mw+QU}~*n#@(e=Mn~bvi4Xi-p(p@tR3pyW8yzb!WHz;m^?8;CFC4q&_53Gwzu1;Eh z*LvEGO4ZPKI2uZLZKnq5en)uQN`C%O+*W0Zy}grSrhCq+M{_>wWH;xH?6D50215k* z7>#w3eUr-sNVTp6Jh%}-EOHl4 z)B7fw$48-IJZ`IKDZZ@?fjxJXP+QYzf0Jbg1IRPWCM%`<9^Ef%`CZlpc2oS<*uUI9 z7Os;0zx%GR-2}Ae8-&MrKFuB@H?#a(do8PR&v+fZ%+2Me3!sTUi*kp9*00|`;O?ku zQ*2E+cn3}9u~k&x?KR5S^sDAQq0U`=e(P7&;GK8ct5rM09xlY5SA{xG`n`Rl%Tce| zg`v9^CH#d|`b~XOy03B<%FWP9Di>(Ujp^U%xu34I!9MZ+IezLDp2<6!G;IOS@-I|l{8zA%jQ(Y zV`A#LTA8m9>38SRZIBfI`m=A+$SZ%(Itw(who+4VWUPtzO!(f2}5>@ zNV}1zU^}UU6BG^VVV4LGZBUD<=ZElW8F)6ebP9HOp0s#)1I#>6Qa|+pBwCxB5k!&@ zxy>QlQZ5eV`y*Zz0}sPeNUDCsL4M+J!tNOdQjSK34w*W5%2IdDoeqD2(K%w52hFk? zn0-MzC6mS=C-+J$NpZI#PQ8F>)SM!xvLx{YhD5cXOkAZr;lS2OIOD!hhMk5uPcN3_ zuUvPb3b;l-L1z1yj>Yv~yT*Qx+)avPwFsRO>#-7TlQQK+m+!fU9M?4o(+iLLs`{66 zaQ6_Qxw<1vkl8{t^Y?6FpHVKo7sh;`W>if>9|r7P+Zq+qWbzkZ>h(G8P^uOhLGYGpQpnR89n&1H!mV8c4Q z&r`QK*+`O2mvGa3mRK&IKTlf$fycw8Z<;`l@g8W&H`w=oQLxf*R3C}k@cSJhU2BTN zd=2J1T38=o3bU^V0e`m}M9&O#17iyw7T*A?c;8PPdVW} z3F9MMfo)T;q?;cQ*bu{|)%x zFMW~rCF#7DhAC`rJ@}aC4|PIhZp2}0P&X@_KKj9dfIioo!V`PL4oh!ncFSv$OGR7X)FkF1cp53sukU@Sj z$$jGR5^hH{ln--cQOJ-%-KM7+h#VfgoWTFLLAsf8auE$X;;qL4GVf#oj%0qPSn@KRq@D79U;h%a;$T{k&vpxx^VP0^CR`nPFW@O?rz-;<1Uls??e=T%2vA}nB*z$oUh)d$w(VA z8NPIOJEzXB(iTr#sy1FAJH&Rtejn$$keFj~X20~{lx&)?+UVt<`8IZtKh5CT`La!l z%0T4e&6wY1>;m2RYTL=pgJ`+7?#U^(KLY7AYOl;d_iElwxFJXVg0Yke+72H#5yol3 z7W?c%p+}#foIs`^ZMI8H}9BiA-?b0iCvCS;CZlO@zfr3jd z5ER07MbMB{uWLO`AQ>sHX=*)^)XyN9U%Vvv(aI$`KP8s_9zs?@DM+Kt4>-;K9pXyB z9&33h52y;Xlu_o)_pZZpTUv@zn?%_N#7^FEF2jK9+ z@f&O}im;L56;_ek9prU z52g01nl}F3L&`s3Dm)LUOe~4Xq)-JvXL<$`h9@UH-@dF8QlaEe+$=5s%}8Q%i9Rme zT}MP-_rxOSJB;`@#$+>pT%vi&^atwkccC14D>6&Nx&)HMQkzzsguBjLZ8&nN0i{pY z&!8#Dyq6sc+jtYWAy2MAmSZU9Be~x6S5t$9gChjyct=A|@}C*m2M%hM-e{L>q>ndL zF+=lh2q>T=_8AI$)InbT+Wnc4sW*>G-LnXfnE-J?UYR~ zr1PYu@}Nbsm|xz25(L(IB>wA#*01>!Q~0r=Xp2zeB0q-FsLRsySmyZj!jQ;7z~wc4 zl+}Hj=prh;S8m~%AEz-Oyz7=h7krcqeuUB1e3>%tRy_Q$H<0BP10nVO1bcYT5(}9( z&{DYqdDU#`Bu-#$2^$WGq;sS&G1P9nDw7V1VFZ+sv51kDlP8*vkZ5pxwE+%GG$Vu4 zn}wU*8E37#u_QlV7{L zeT~P537s6A#&kY+H|Xp7{fxbOe_aw1lvVHI?iA;bpS?5{_)bkqX%&x%2k-U6r0`nW zE(vkHqQ12t5^Vmd0j6G9;4v^ngowr>lPZ7_h({|P*OCH~+os3^=7E($mMcv#?~~OA zZl{l8>-{~`8$FwX4b8H`Y4m!e{CsDy&L;AGU3oGX%(mF35l{5s$FS6V9{40A8`XH} zlm8j+Jh&=q+YL;+;uI+?Myzr$XIDAu zYY&w+zY=QzLKO=X2EV!rS9=kfErXg>3cG-us4*)`O04h2WNC&HtuGGvu{&p^fjj@z zX7i~!;I(J1j(QhzV^Frjj_c!)-;=a_kvfB!^dmzhbzWxt^4(8+>0-J4l)6Q1mtKB1 z&GpZc?Kd*@ai{tKBMy+3L?l4;dEH)e`C=D*U9bJ#&;|VU6X7m8H*Y?38e&+P4M!w7 z{}uUl;3Wv8(Rz<9rYfvU1&2Y6i@~w|4PdMbU!}MLZG~kz_xL*6t93&bLF z9Gzt&j2%PVR8`$fNqKP(u2bjxAb%M@I9E%cy0+l1`|_nH)?^J^ZC7=nDNvZ3k71Au ztz8lf#MYgS=yF`W9 zH96h7$mxEGE)A|qgYHsa=a@UdasorA)hY1DR=9TEptxS!P|s{QV$zn6dGv&^%;K2e zgKclV^eXEfXjwo1TvC=@*NL8I$XK$?lHbxk+Qf#rJC1`b7C%|kHFQftw_epK^opXG zIN33?y+d!xe8WJwT0)UmS=Ns^UwPWym_A8x%{I>ViJl#m^4n9>6AX5>vrPYER)6yv ze{*MLg>2qXMx0U6DPI0z3-8--IkwX2?*9UGDXFmBgWVPM=&b3IQkM~h=ze2sH`!y| zN5yh5{~Y*`?37BDsz&TsSYxKCNnPo5`+$u`HI}yrinwPN2b(_W5|yRd?pnrn5=IVf ztq>$OVLa|+jv|fOr6yhO$#&_|*I)OArP-M!v?by&rltqS(~B50u!X!vXa13np0fG8 z?0{&|6(rcLg+I!pE ze@=GXx8c9*zqDW$p_>0yVg7UNe>RUbV*?X|ow^V7v7VlaC;$2HM*?-+05a+wOpwGF zs56f>(_|qFWksC9>A%gBoJ8Dg%EE z&!KVqG7MtiQdGDJiPt2AXihsrtqO{pU1kctc!39UA<2&E!E9@bX?7*Ryi0NOU=#_25ut0 ziOXG8O2QyuDU3Nt*(Azw2W-7j3zYjhga?{MKBKL97~wB{b;`=Gu*4ROvkx}1-w_4$ zzy%1R+x;aWi)e%Ak)9Qy59#lg-pi;*z`foR=t-}2^RJICK)tp>9+;f~o_*E*X|&F3 zqP;O~o$0EW=l=Q432H(tC0oWR9GIuVb4Ta~GMm4JJL}&Ywy3Taf0%YoH~R|xd_WK| z#^MZT%=U6#Hxd4n_+qZwl0$ko)cu_mJz9uwX2@DJY`FdmF3MS+p@y_M^R8^NM#G_> zAlo)SHhfe^?0k)N@u9;-3GX=xC=Z9)5#J&+v~n^|cUyLt?i8EW2P0HH&X{#}0ze8X z*DBRI$6e@g8jMCEEQn zj-}q?jpg3+F8^H1`=5ShFca9%9;O+iD&slCXmo3QYN$Er6m*DKg=P(V zPQRpY<7y+mV!Ofx)c?oBZXFyQvK%-a${5lde2qHCSSG$=ztY|K_5gUmdFb8H-mKkn z-q`JS4pI#r54XfzWBTKL69u9LQh-fEv_W`7Ji~UOC!si@R-$N8xCo#88)rG>-teG8 zCQ>F!7ors^i`qv5BTgeJA{Qe&QI^r|(frAFDHSPBDOO26h3}$OG8W(}oRx%%_lv8F ziAVl`>=I}SuF|ghJJC4l-pSqlhBJaQg`3BCqS;WqP}C`TkslSe46P4!in!xHG^e$p zC8gz{6<5ivC@uF>_*-~YtXI?}`xz}3Fa#$HIf=%=QVmnBsfFBF-KgB?-RN%NKOZ@} zT1Hp4p8qb&Byt@nnCzGHMFY+f%pQy$h7hI~wjP5K(;nl8(~?n_LC^Nc(rIdDvSj)+ z!9Uh9>XY)y0goEZD2+7^F)pCSs^$!U1P}t;R~=RdR&450>Rf@kX79ZT7!%-D`DM}cz zCMGc@s`dmA!b-M8A{y3zm+J-8FPLth+|hn-*yG5Jy?{M=G~4^?e1i`J>o$Z;#geFp z%{~e<)uN;|08Wpd(Fj@}E3K|@3~Rcef*^YQ02)iZu7rreufN`_>4h-&4fq0{(ib$C zH?WA|kFChSy&@h$N{K@n5Rd<3ro6WwDt-tugJ@eh=5^>Hvz7Cg6V(8!-Kf6w5|J_5 zkobY|TAYfshJYCOIlrK@>;Mj7>qL|TmCe9@gBh}KA*iv@-7}kjy0c66?9*siqnOH- z(qEpx++xws0T!Ir49RI++b#nX3~cHoaE~ff49-uu=A0;weLqW?`8;-rbiXR2Cv`qG zDOPg^H$JBHbQSLajpHA%yB1Lq7V#og8T3%j#ZkB|=yO7#aDA}&5HP<2bh?YzL z<&*O<3#u2BTY0SMT1w=0HVqwxEV!~=R%-Kl4W2hNs{Lvu#S>t5jc&K z=YhdlihJ|UB+9vz!t0)jxqHnd>pher`#R<@%ykwwuI{PBA*2LZ<&FbLb}mBu|( zF<|~(t|*BUS!f7>3Svhyq8ZniGFPihqErKh zE$SRHpKFYJao(g{>+I7Xw@ztqMd}(+$n8-GqftmEQT$e-ke#CtVda^IWONSY(>XwM zU!9N~{r405hqluSX7Cm5}E*d#jo{amc<1<*@k5Zp8^9{Rnwwv`qQwA^*WW1phw%tb!zLyn@snR z#T2=cb0#ybJTH&6-;;buK|e7d6~w;ozBM#(fNU888nB45K-8EV%B!9!1LJ?U`)c4~ z?f%+;5H!GP=Xu`TcujaiIv_31x2;b~FxR7mo5b2Vq6yLV*|@`{en@~N5o3vPLDa%f z50a2E6xFU${8*xef-K0zH3_LVPe8eg629gv{T#xHf9n7T4gNIYUfdL5z62{D~&;r$2m zqxkV-$H*K6dr_8Bmm?)po$tf|5#%Q)3EGYWEehC-0{V>tTRMrM&57CrBIgGU+kYP%t|wY#M^An_D>X+wQJ05CJC~o%E+wD&Mvk=2QLCK zTU5p5fRw4Hz}DDbb-cSZLT44u(;&(NG3MvLtix@41lIG8Tr*WNKjv+ZGqX<=-RLQE zU~HkmBDgXBjS;~EA$~ejb8noj&9lkIodRQ;h31Xruv)fOlOYVAi*p&!h1NY_vg2AP zvO{g1FcT9G_)kHS?=__3xznEwiYz?)Oozo+kxICIZvUp7?WEGVd%@?`}EN zlS~ct>r21R;n^gDx(%~ir8NlON!aLuanjfvWq?cK29x{}`x<~5Yw7>0yKPU6;;zIj zQ#!PXS!{swG9Ms228(N?&1LBwLheF(Juu%u&n{H4|8TC9wbaC^_o?+ZE44b##v3!6 zX)r(<;fO;H!2gl0~frmOiw2TH@NXmeSICg+#L*I9eZh$@^ z(cxK6`*UGYTarE5*40~A!pp!EnFz;nSjZcB+kRfm zvXA+fU$$&PJ_jzBnn=@~QfJhs27t=MxRI0$gOsIx(bOtJlKlS7W}Ygltk)$XUeyc6 z;kefIzK)S;BI~+@w$Ld`7ZExZA6svc7f zsqYR$^7=!_Y8#z`(d(pEzu;)3{kPKBXqX}b14R-8L5Eg09wGv+<6F+xtGoYn6G{4h z=E38Dk^aPI=IMoie}I4N24fhcWaLx{QJC5UdIO=8T>pxP#kFE5Wc|<*mJaN()Ntir z)~T;G0#RIWE{zVDQSjlQTXK&hF34d7W8@1IB~z^6_;3KP+30su?+d5K z#6oqYK2$?mk=j)aJ%nM(f~6JLTrA6r=G5%RiIFm5;sX=HwJdN$kztnMMG!P&q{IG= zoI5&d>R?Jci8mEU+$#TO;bQS)R%$jze#2tI;^o!$TDF#_h}D(&5q)FHKl8%2W$s^C ze90l)L}zVgU2B~LX#lr@#Y|t9$D9}Ix9fZXM0`fA%sm`g>>}YNZjnen4E;G9NPnoHMb_zh*{M=x&&T+r0uo<1s^(QdUj}tTY zny{8{e2^Ivw7`|lnQW?9cLc1*;Yq1BYSWo+q9Jr45=0d3b|J8aNMf9D1ZRSsgY!G2 zH$IjAGtWyoy)FFVPEJ4`mK+Bi92wmN0tGc0vRUd$1#4i2H=0aGvcx(Xoxy3dVk8Sp zv}E3jqp)9KD=y(391abSjFy#GR7wb5t8w6@V)PuI)vh4y|R{b9a|Jpjfa+b4|K-5GyE1N3%@4+=oH#dNP&j0M4U7dO?sd z0z_qE5-2bJtcX$t{+{8-R7#p?A>;byTE5B4jqvaVg@i>!#l$5nV7!MDhUrV-%yVys z6+j8h^3*%X_!r0)HDD5vIfk9$Li#BZaoep~d;#Yrt^tms4<4c7@6;n@5 zcWN$cP1EAlQhjfWvX)i6nB&h5oMYYw_gWV&%?5Mld=;h$fq~DCfwTNDf6o?dA~_}3 zMji=WwOXFm{cD>f`!qX$UEc>y(kI(N`~y@J7M5Q@5|=5SOF0F89l`(WPMwgNo|~Ir zSd6zc<#g{UX4An*Pt7;1lD5?drSt&X6f|4f7V^HfIN!bgmV}UiX(8R5G|QUK`nxSP zNWBse0(@!Cb~+r=pTpaH)=*N$^>5rZUBLlk>~c{&7;RYPAA%aVV>k!*@<>WB-^w<^A&CHpEU=WCl5cj@x9*;P(Ah93JDW{6 z-Ou|B=5C6s05T~^sLPE|ut%s5|8pEeke)Jfnkv^Nv>5))Unk$2vtSzNMk-ZgX%;M! zK+E25=(w{2S_aK+n4cS&wk=tzwsx3tti;)B_D^t6D5I)8_nRrI)gtxjT`RNcYl0

    t*5>#OC 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

    +
    +

    + DaisyUI Theme Example pour apprendre +

    +

    Cette page est un modele pour demarrer

    +
    + Select Theme: + +
    +
    + + + +
    + trackerconsentfor +
    +
    + Info Alert +
    +
    + Success Alert +
    +
    + Warning Alert +
    +
    + Error Alert +
    +
    + +
    +
    +
    +

    Card Title

    +

    This is a card with base-100 background.

    +
    +
    +
    +
    +

    Neutral Card

    +

    This is a card with neutral background.

    +
    +
    +
    +
    +

    Primary Card

    +

    This is a card with primary background.

    +
    +
    +
    +
    +

    Secondary Card

    +

    This is a card with secondary background.

    +
    +
    +
    +
    + + diff --git a/wwws/apxhtml/src/index_underconstruction_en.html b/wwws/apxhtml/src/index_underconstruction_en.html new file mode 100644 index 0000000..c76c0c2 --- /dev/null +++ b/wwws/apxhtml/src/index_underconstruction_en.html @@ -0,0 +1,35 @@ + + + + + + Site Under Construction + + + +

    Oops! 🚧

    +

    Our site is under construction... but don't worry, our hamsters are pedaling really hard to get everything ready! �💨

    + Hamster running +

    Come back soon to discover amazing things!

    + + \ No newline at end of file diff --git a/wwws/apxhtml/src/index_underconstruction_fr.html b/wwws/apxhtml/src/index_underconstruction_fr.html new file mode 100644 index 0000000..4899ada --- /dev/null +++ b/wwws/apxhtml/src/index_underconstruction_fr.html @@ -0,0 +1,35 @@ + + + + + + Site en construction + + + +

    Oups ! 🚧

    +

    Notre site est en construction... mais ne vous inquiétez pas, nos hamsters sont en train de pédaler très fort pour tout mettre en place ! 🐹💨

    + Hamster qui court +

    Revenez bientôt pour découvrir des choses incroyables !

    + + \ No newline at end of file diff --git a/wwws/apxhtml/src/static/css/twdevstyle.css b/wwws/apxhtml/src/static/css/twdevstyle.css new file mode 100644 index 0000000..8fb90e3 --- /dev/null +++ b/wwws/apxhtml/src/static/css/twdevstyle.css @@ -0,0 +1,22 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; +@import 'daisyui'; + +@Layer base { + @font-face{ + font-family: 'Monserrat'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(static/fonts/Montserrat-VariableFont_wght.woff2) format('woff2'); + } + font-family:"Monserrat", system-ui, sans-serif; + @font-face{ + font-family: 'Inter'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(static/fonts/Inter-VariableFont_slnt,wght.woff2) format('woff2'); + } +} diff --git a/wwws/apxhtml/src/static/css/twstyle.css b/wwws/apxhtml/src/static/css/twstyle.css new file mode 100644 index 0000000..4ad6ad9 --- /dev/null +++ b/wwws/apxhtml/src/static/css/twstyle.css @@ -0,0 +1,1826 @@ +*, ::before, ::after { + --tw-border-spacing-x: 0; + --tw-border-spacing-y: 0; + --tw-translate-x: 0; + --tw-translate-y: 0; + --tw-rotate: 0; + --tw-skew-x: 0; + --tw-skew-y: 0; + --tw-scale-x: 1; + --tw-scale-y: 1; + --tw-pan-x: ; + --tw-pan-y: ; + --tw-pinch-zoom: ; + --tw-scroll-snap-strictness: proximity; + --tw-gradient-from-position: ; + --tw-gradient-via-position: ; + --tw-gradient-to-position: ; + --tw-ordinal: ; + --tw-slashed-zero: ; + --tw-numeric-figure: ; + --tw-numeric-spacing: ; + --tw-numeric-fraction: ; + --tw-ring-inset: ; + --tw-ring-offset-width: 0px; + --tw-ring-offset-color: #fff; + --tw-ring-color: rgb(59 130 246 / 0.5); + --tw-ring-offset-shadow: 0 0 #0000; + --tw-ring-shadow: 0 0 #0000; + --tw-shadow: 0 0 #0000; + --tw-shadow-colored: 0 0 #0000; + --tw-blur: ; + --tw-brightness: ; + --tw-contrast: ; + --tw-grayscale: ; + --tw-hue-rotate: ; + --tw-invert: ; + --tw-saturate: ; + --tw-sepia: ; + --tw-drop-shadow: ; + --tw-backdrop-blur: ; + --tw-backdrop-brightness: ; + --tw-backdrop-contrast: ; + --tw-backdrop-grayscale: ; + --tw-backdrop-hue-rotate: ; + --tw-backdrop-invert: ; + --tw-backdrop-opacity: ; + --tw-backdrop-saturate: ; + --tw-backdrop-sepia: ; + --tw-contain-size: ; + --tw-contain-layout: ; + --tw-contain-paint: ; + --tw-contain-style: ; +} + +::backdrop { + --tw-border-spacing-x: 0; + --tw-border-spacing-y: 0; + --tw-translate-x: 0; + --tw-translate-y: 0; + --tw-rotate: 0; + --tw-skew-x: 0; + --tw-skew-y: 0; + --tw-scale-x: 1; + --tw-scale-y: 1; + --tw-pan-x: ; + --tw-pan-y: ; + --tw-pinch-zoom: ; + --tw-scroll-snap-strictness: proximity; + --tw-gradient-from-position: ; + --tw-gradient-via-position: ; + --tw-gradient-to-position: ; + --tw-ordinal: ; + --tw-slashed-zero: ; + --tw-numeric-figure: ; + --tw-numeric-spacing: ; + --tw-numeric-fraction: ; + --tw-ring-inset: ; + --tw-ring-offset-width: 0px; + --tw-ring-offset-color: #fff; + --tw-ring-color: rgb(59 130 246 / 0.5); + --tw-ring-offset-shadow: 0 0 #0000; + --tw-ring-shadow: 0 0 #0000; + --tw-shadow: 0 0 #0000; + --tw-shadow-colored: 0 0 #0000; + --tw-blur: ; + --tw-brightness: ; + --tw-contrast: ; + --tw-grayscale: ; + --tw-hue-rotate: ; + --tw-invert: ; + --tw-saturate: ; + --tw-sepia: ; + --tw-drop-shadow: ; + --tw-backdrop-blur: ; + --tw-backdrop-brightness: ; + --tw-backdrop-contrast: ; + --tw-backdrop-grayscale: ; + --tw-backdrop-hue-rotate: ; + --tw-backdrop-invert: ; + --tw-backdrop-opacity: ; + --tw-backdrop-saturate: ; + --tw-backdrop-sepia: ; + --tw-contain-size: ; + --tw-contain-layout: ; + --tw-contain-paint: ; + --tw-contain-style: ; +} + +/* +! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com +*/ + +/* +1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4) +2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116) +*/ + +*, +::before, +::after { + box-sizing: border-box; + /* 1 */ + border-width: 0; + /* 2 */ + border-style: solid; + /* 2 */ + border-color: #e5e7eb; + /* 2 */ +} + +::before, +::after { + --tw-content: ''; +} + +/* +1. Use a consistent sensible line-height in all browsers. +2. Prevent adjustments of font size after orientation changes in iOS. +3. Use a more readable tab size. +4. Use the user's configured `sans` font-family by default. +5. Use the user's configured `sans` font-feature-settings by default. +6. Use the user's configured `sans` font-variation-settings by default. +7. Disable tap highlights on iOS +*/ + +html, +:host { + line-height: 1.5; + /* 1 */ + -webkit-text-size-adjust: 100%; + /* 2 */ + -moz-tab-size: 4; + /* 3 */ + -o-tab-size: 4; + tab-size: 4; + /* 3 */ + font-family: Inter, sans-serif; + /* 4 */ + font-feature-settings: normal; + /* 5 */ + font-variation-settings: normal; + /* 6 */ + -webkit-tap-highlight-color: transparent; + /* 7 */ +} + +/* +1. Remove the margin in all browsers. +2. Inherit line-height from `html` so users can set them as a class directly on the `html` element. +*/ + +body { + margin: 0; + /* 1 */ + line-height: inherit; + /* 2 */ +} + +/* +1. Add the correct height in Firefox. +2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655) +3. Ensure horizontal rules are visible by default. +*/ + +hr { + height: 0; + /* 1 */ + color: inherit; + /* 2 */ + border-top-width: 1px; + /* 3 */ +} + +/* +Add the correct text decoration in Chrome, Edge, and Safari. +*/ + +abbr:where([title]) { + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; +} + +/* +Remove the default font size and weight for headings. +*/ + +h1, +h2, +h3, +h4, +h5, +h6 { + font-size: inherit; + font-weight: inherit; +} + +/* +Reset links to optimize for opt-in styling instead of opt-out. +*/ + +a { + color: inherit; + text-decoration: inherit; +} + +/* +Add the correct font weight in Edge and Safari. +*/ + +b, +strong { + font-weight: bolder; +} + +/* +1. Use the user's configured `mono` font-family by default. +2. Use the user's configured `mono` font-feature-settings by default. +3. Use the user's configured `mono` font-variation-settings by default. +4. Correct the odd `em` font sizing in all browsers. +*/ + +code, +kbd, +samp, +pre { + font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + /* 1 */ + font-feature-settings: normal; + /* 2 */ + font-variation-settings: normal; + /* 3 */ + font-size: 1em; + /* 4 */ +} + +/* +Add the correct font size in all browsers. +*/ + +small { + font-size: 80%; +} + +/* +Prevent `sub` and `sup` elements from affecting the line height in all browsers. +*/ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +/* +1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297) +2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016) +3. Remove gaps between table borders by default. +*/ + +table { + text-indent: 0; + /* 1 */ + border-color: inherit; + /* 2 */ + border-collapse: collapse; + /* 3 */ +} + +/* +1. Change the font styles in all browsers. +2. Remove the margin in Firefox and Safari. +3. Remove default padding in all browsers. +*/ + +button, +input, +optgroup, +select, +textarea { + font-family: inherit; + /* 1 */ + font-feature-settings: inherit; + /* 1 */ + font-variation-settings: inherit; + /* 1 */ + font-size: 100%; + /* 1 */ + font-weight: inherit; + /* 1 */ + line-height: inherit; + /* 1 */ + letter-spacing: inherit; + /* 1 */ + color: inherit; + /* 1 */ + margin: 0; + /* 2 */ + padding: 0; + /* 3 */ +} + +/* +Remove the inheritance of text transform in Edge and Firefox. +*/ + +button, +select { + text-transform: none; +} + +/* +1. Correct the inability to style clickable types in iOS and Safari. +2. Remove default button styles. +*/ + +button, +input:where([type='button']), +input:where([type='reset']), +input:where([type='submit']) { + -webkit-appearance: button; + /* 1 */ + background-color: transparent; + /* 2 */ + background-image: none; + /* 2 */ +} + +/* +Use the modern Firefox focus style for all focusable elements. +*/ + +:-moz-focusring { + outline: auto; +} + +/* +Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737) +*/ + +:-moz-ui-invalid { + box-shadow: none; +} + +/* +Add the correct vertical alignment in Chrome and Firefox. +*/ + +progress { + vertical-align: baseline; +} + +/* +Correct the cursor style of increment and decrement buttons in Safari. +*/ + +::-webkit-inner-spin-button, +::-webkit-outer-spin-button { + height: auto; +} + +/* +1. Correct the odd appearance in Chrome and Safari. +2. Correct the outline style in Safari. +*/ + +[type='search'] { + -webkit-appearance: textfield; + /* 1 */ + outline-offset: -2px; + /* 2 */ +} + +/* +Remove the inner padding in Chrome and Safari on macOS. +*/ + +::-webkit-search-decoration { + -webkit-appearance: none; +} + +/* +1. Correct the inability to style clickable types in iOS and Safari. +2. Change font properties to `inherit` in Safari. +*/ + +::-webkit-file-upload-button { + -webkit-appearance: button; + /* 1 */ + font: inherit; + /* 2 */ +} + +/* +Add the correct display in Chrome and Safari. +*/ + +summary { + display: list-item; +} + +/* +Removes the default spacing and border for appropriate elements. +*/ + +blockquote, +dl, +dd, +h1, +h2, +h3, +h4, +h5, +h6, +hr, +figure, +p, +pre { + margin: 0; +} + +fieldset { + margin: 0; + padding: 0; +} + +legend { + padding: 0; +} + +ol, +ul, +menu { + list-style: none; + margin: 0; + padding: 0; +} + +/* +Reset default styling for dialogs. +*/ + +dialog { + padding: 0; +} + +/* +Prevent resizing textareas horizontally by default. +*/ + +textarea { + resize: vertical; +} + +/* +1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300) +2. Set the default placeholder color to the user's configured gray 400 color. +*/ + +input::-moz-placeholder, textarea::-moz-placeholder { + opacity: 1; + /* 1 */ + color: #9ca3af; + /* 2 */ +} + +input::placeholder, +textarea::placeholder { + opacity: 1; + /* 1 */ + color: #9ca3af; + /* 2 */ +} + +/* +Set the default cursor for buttons. +*/ + +button, +[role="button"] { + cursor: pointer; +} + +/* +Make sure disabled buttons don't get the pointer cursor. +*/ + +:disabled { + cursor: default; +} + +/* +1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14) +2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210) + This can trigger a poorly considered lint error in some tools but is included by design. +*/ + +img, +svg, +video, +canvas, +audio, +iframe, +embed, +object { + display: block; + /* 1 */ + vertical-align: middle; + /* 2 */ +} + +/* +Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14) +*/ + +img, +video { + max-width: 100%; + height: auto; +} + +/* Make elements with the HTML hidden attribute stay hidden by default */ + +[hidden]:where(:not([hidden="until-found"])) { + display: none; +} + +:root, +[data-theme] { + background-color: var(--fallback-b1,oklch(var(--b1)/1)); + color: var(--fallback-bc,oklch(var(--bc)/1)); +} + +@supports not (color: oklch(0% 0 0)) { + :root { + color-scheme: light; + --fallback-p: #491eff; + --fallback-pc: #d4dbff; + --fallback-s: #ff41c7; + --fallback-sc: #fff9fc; + --fallback-a: #00cfbd; + --fallback-ac: #00100d; + --fallback-n: #2b3440; + --fallback-nc: #d7dde4; + --fallback-b1: #ffffff; + --fallback-b2: #e5e6e6; + --fallback-b3: #e5e6e6; + --fallback-bc: #1f2937; + --fallback-in: #00b3f0; + --fallback-inc: #000000; + --fallback-su: #00ca92; + --fallback-suc: #000000; + --fallback-wa: #ffc22d; + --fallback-wac: #000000; + --fallback-er: #ff6f70; + --fallback-erc: #000000; + } + + @media (prefers-color-scheme: dark) { + :root { + color-scheme: dark; + --fallback-p: #7582ff; + --fallback-pc: #050617; + --fallback-s: #ff71cf; + --fallback-sc: #190211; + --fallback-a: #00c7b5; + --fallback-ac: #000e0c; + --fallback-n: #2a323c; + --fallback-nc: #a6adbb; + --fallback-b1: #1d232a; + --fallback-b2: #191e24; + --fallback-b3: #15191e; + --fallback-bc: #a6adbb; + --fallback-in: #00b3f0; + --fallback-inc: #000000; + --fallback-su: #00ca92; + --fallback-suc: #000000; + --fallback-wa: #ffc22d; + --fallback-wac: #000000; + --fallback-er: #ff6f70; + --fallback-erc: #000000; + } + } +} + +html { + -webkit-tap-highlight-color: transparent; +} + +* { + scrollbar-color: color-mix(in oklch, currentColor 35%, transparent) transparent; +} + +*:hover { + scrollbar-color: color-mix(in oklch, currentColor 60%, transparent) transparent; +} + +:root { + --p: 48.6264% 0.28618 281.196495; + --b2: 93% 0 0; + --b3: 86% 0 0; + --bc: 20% 0 0; + --pc: 89.7253% 0.057236 281.196495; + --sc: 12.8105% 0.055036 342.547599; + --ac: 15.3748% 0.024689 184.972959; + --nc: 87.7082% 0.004808 262.829219; + --inc: 15.1705% 0.027481 231.6166; + --suc: 15.4663% 0.030576 163.102898; + --wac: 16.6604% 0.032836 83.424292; + --erc: 14.2439% 0.032979 22.150603; + --rounded-box: 1rem; + --rounded-btn: 0.5rem; + --rounded-badge: 1.9rem; + --animation-btn: 0.25s; + --animation-input: .2s; + --btn-focus-scale: 0.95; + --border-btn: 1px; + --tab-border: 1px; + --tab-radius: 0.5rem; + --s: 64.0524% 0.27518 342.547599; + --a: 76.8742% 0.123447 184.972959; + --n: 38.5412% 0.024038 262.829219; + --b1: 100% 0 0; + --in: 75.8525% 0.137405 231.6166; + --su: 77.3316% 0.152882 163.102898; + --wa: 83.302% 0.164179 83.424292; + --er: 71.2196% 0.164893 22.150603; +} + +@media (prefers-color-scheme: dark) { + :root { + --p: 48.3843% 0.263273 287.854789; + --b2: 25.8613% 0.027524 256.847952; + --b3: 23.9147% 0.025452 256.847952; + --bc: 85.5616% 0.005919 256.847952; + --pc: 89.6769% 0.052655 287.854789; + --sc: 12.1398% 0.048043 342.152099; + --ac: 13.7947% 0.023113 186.09731; + --nc: 86.2763% 0.004222 254.139175; + --inc: 15.1705% 0.027481 231.6166; + --suc: 15.4663% 0.030576 163.102898; + --wac: 16.6604% 0.032836 83.424292; + --erc: 14.2439% 0.032979 22.150603; + --rounded-box: 1rem; + --rounded-btn: 0.5rem; + --rounded-badge: 1.9rem; + --animation-btn: 0.25s; + --animation-input: .2s; + --btn-focus-scale: 0.95; + --border-btn: 1px; + --tab-border: 1px; + --tab-radius: 0.5rem; + --s: 60.6992% 0.240215 342.152099; + --a: 68.9733% 0.115563 186.09731; + --n: 31.3815% 0.021108 254.139175; + --b1: 27.8078% 0.029596 256.847952; + --in: 75.8525% 0.137405 231.6166; + --su: 77.3316% 0.152882 163.102898; + --wa: 83.302% 0.164179 83.424292; + --er: 71.2196% 0.164893 22.150603; + } +} + +[data-theme=light] { + --p: 48.6264% 0.28618 281.196495; + --b2: 93% 0 0; + --b3: 86% 0 0; + --bc: 20% 0 0; + --pc: 89.7253% 0.057236 281.196495; + --sc: 12.8105% 0.055036 342.547599; + --ac: 15.3748% 0.024689 184.972959; + --nc: 87.7082% 0.004808 262.829219; + --inc: 15.1705% 0.027481 231.6166; + --suc: 15.4663% 0.030576 163.102898; + --wac: 16.6604% 0.032836 83.424292; + --erc: 14.2439% 0.032979 22.150603; + --rounded-box: 1rem; + --rounded-btn: 0.5rem; + --rounded-badge: 1.9rem; + --animation-btn: 0.25s; + --animation-input: .2s; + --btn-focus-scale: 0.95; + --border-btn: 1px; + --tab-border: 1px; + --tab-radius: 0.5rem; + --s: 64.0524% 0.27518 342.547599; + --a: 76.8742% 0.123447 184.972959; + --n: 38.5412% 0.024038 262.829219; + --b1: 100% 0 0; + --in: 75.8525% 0.137405 231.6166; + --su: 77.3316% 0.152882 163.102898; + --wa: 83.302% 0.164179 83.424292; + --er: 71.2196% 0.164893 22.150603; +} + +[data-theme=dark] { + --p: 48.3843% 0.263273 287.854789; + --b2: 25.8613% 0.027524 256.847952; + --b3: 23.9147% 0.025452 256.847952; + --bc: 85.5616% 0.005919 256.847952; + --pc: 89.6769% 0.052655 287.854789; + --sc: 12.1398% 0.048043 342.152099; + --ac: 13.7947% 0.023113 186.09731; + --nc: 86.2763% 0.004222 254.139175; + --inc: 15.1705% 0.027481 231.6166; + --suc: 15.4663% 0.030576 163.102898; + --wac: 16.6604% 0.032836 83.424292; + --erc: 14.2439% 0.032979 22.150603; + --rounded-box: 1rem; + --rounded-btn: 0.5rem; + --rounded-badge: 1.9rem; + --animation-btn: 0.25s; + --animation-input: .2s; + --btn-focus-scale: 0.95; + --border-btn: 1px; + --tab-border: 1px; + --tab-radius: 0.5rem; + --s: 60.6992% 0.240215 342.152099; + --a: 68.9733% 0.115563 186.09731; + --n: 31.3815% 0.021108 254.139175; + --b1: 27.8078% 0.029596 256.847952; + --in: 75.8525% 0.137405 231.6166; + --su: 77.3316% 0.152882 163.102898; + --wa: 83.302% 0.164179 83.424292; + --er: 71.2196% 0.164893 22.150603; +} + +[data-theme=themeA] { + --p: 49.0666% 0.241232 292.580939; + --b2: 89.9269% 0.002673 264.541934; + --b3: 83.1582% 0.002472 264.541934; + --bc: 19.3391% 0.000575 264.541934; + --pc: 89.8133% 0.048246 292.580939; + --sc: 91.8329% 0.043597 0.584372; + --ac: 14.0751% 0.024604 182.502515; + --nc: 85.5899% 0.00737 260.030984; + --inc: 14.2748% 0.028676 254.624021; + --suc: 15.4589% 0.030698 163.223075; + --wac: 16.7372% 0.032884 84.428628; + --erc: 14.2125% 0.03323 22.216224; + --rounded-box: 1rem; + --rounded-btn: 0.5rem; + --rounded-badge: 1.9rem; + --animation-btn: 0.25s; + --animation-input: .2s; + --btn-focus-scale: 0.95; + --border-btn: 1px; + --tab-border: 1px; + --tab-radius: 0.5rem; + --s: 59.1646% 0.217985 0.584372; + --a: 70.3753% 0.123018 182.502515; + --n: 27.9495% 0.036848 260.030984; + --b1: 96.6956% 0.002874 264.541934; + --in: 71.374% 0.143381 254.624021; + --su: 77.2944% 0.15349 163.223075; + --wa: 83.6861% 0.164422 84.428628; + --er: 71.0627% 0.166148 22.216224; +} + +[data-theme=themeB] { + --p: 59.5971% 0.127418 163.225402; + --b2: 91.5702% 0.001587 247.838921; + --b3: 84.6778% 0.001467 247.838921; + --bc: 19.6925% 0.000341 247.838921; + --pc: 11.9194% 0.025484 163.225402; + --sc: 90.8267% 0.049317 293.008968; + --ac: 15.3718% 0.032932 70.08039; + --nc: 87.4585% 0.006124 259.732849; + --inc: 14.2748% 0.028676 254.624021; + --suc: 15.4589% 0.030698 163.223075; + --wac: 16.7372% 0.032884 84.428628; + --erc: 14.2125% 0.03323 22.216224; + --rounded-box: 1rem; + --rounded-btn: 0.5rem; + --rounded-badge: 1.9rem; + --animation-btn: 0.25s; + --animation-input: .2s; + --btn-focus-scale: 0.95; + --border-btn: 1px; + --tab-border: 1px; + --tab-radius: 0.5rem; + --s: 54.1337% 0.246586 293.008968; + --a: 76.859% 0.164659 70.08039; + --n: 37.2927% 0.03062 259.732849; + --b1: 98.4625% 0.001706 247.838921; + --in: 71.374% 0.143381 254.624021; + --su: 77.2944% 0.15349 163.223075; + --wa: 83.6861% 0.164422 84.428628; + --er: 71.0627% 0.166148 22.216224; +} + +.container { + width: 100%; +} + +@media (min-width: 640px) { + .container { + max-width: 640px; + } +} + +@media (min-width: 768px) { + .container { + max-width: 768px; + } +} + +@media (min-width: 1024px) { + .container { + max-width: 1024px; + } +} + +@media (min-width: 1280px) { + .container { + max-width: 1280px; + } +} + +@media (min-width: 1536px) { + .container { + max-width: 1536px; + } +} + +.alert { + display: grid; + width: 100%; + grid-auto-flow: row; + align-content: flex-start; + align-items: center; + justify-items: center; + gap: 1rem; + text-align: center; + border-radius: var(--rounded-box, 1rem); + border-width: 1px; + --tw-border-opacity: 1; + border-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-border-opacity))); + padding: 1rem; + --tw-text-opacity: 1; + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity))); + --alert-bg: var(--fallback-b2,oklch(var(--b2)/1)); + --alert-bg-mix: var(--fallback-b1,oklch(var(--b1)/1)); + background-color: var(--alert-bg); +} + +@media (min-width: 640px) { + .alert { + grid-auto-flow: column; + grid-template-columns: auto minmax(auto,1fr); + justify-items: start; + text-align: start; + } +} + +.avatar.placeholder > div { + display: flex; + align-items: center; + justify-content: center; +} + +.btn { + display: inline-flex; + height: 3rem; + min-height: 3rem; + flex-shrink: 0; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + flex-wrap: wrap; + align-items: center; + justify-content: center; + border-radius: var(--rounded-btn, 0.5rem); + border-color: transparent; + border-color: oklch(var(--btn-color, var(--b2)) / var(--tw-border-opacity)); + padding-left: 1rem; + padding-right: 1rem; + text-align: center; + font-size: 0.875rem; + line-height: 1em; + gap: 0.5rem; + font-weight: 600; + text-decoration-line: none; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0, 0, 0.2, 1); + border-width: var(--border-btn, 1px); + transition-property: color, background-color, border-color, opacity, box-shadow, transform; + --tw-text-opacity: 1; + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity))); + --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05); + --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); + outline-color: var(--fallback-bc,oklch(var(--bc)/1)); + background-color: oklch(var(--btn-color, var(--b2)) / var(--tw-bg-opacity)); + --tw-bg-opacity: 1; + --tw-border-opacity: 1; +} + +.btn-disabled, + .btn[disabled], + .btn:disabled { + pointer-events: none; +} + +:where(.btn:is(input[type="checkbox"])), +:where(.btn:is(input[type="radio"])) { + width: auto; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + +.btn:is(input[type="checkbox"]):after, +.btn:is(input[type="radio"]):after { + --tw-content: attr(aria-label); + content: var(--tw-content); +} + +.card { + position: relative; + display: flex; + flex-direction: column; + border-radius: var(--rounded-box, 1rem); +} + +.card:focus { + outline: 2px solid transparent; + outline-offset: 2px; +} + +.card-body { + display: flex; + flex: 1 1 auto; + flex-direction: column; + padding: var(--padding-card, 2rem); + gap: 0.5rem; +} + +.card-body :where(p) { + flex-grow: 1; +} + +.card figure { + display: flex; + align-items: center; + justify-content: center; +} + +.card.image-full { + display: grid; +} + +.card.image-full:before { + position: relative; + content: ""; + z-index: 10; + border-radius: var(--rounded-box, 1rem); + --tw-bg-opacity: 1; + background-color: var(--fallback-n,oklch(var(--n)/var(--tw-bg-opacity))); + opacity: 0.75; +} + +.card.image-full:before, + .card.image-full > * { + grid-column-start: 1; + grid-row-start: 1; +} + +.card.image-full > figure img { + height: 100%; + -o-object-fit: cover; + object-fit: cover; +} + +.card.image-full > .card-body { + position: relative; + z-index: 20; + --tw-text-opacity: 1; + color: var(--fallback-nc,oklch(var(--nc)/var(--tw-text-opacity))); +} + +.diff { + position: relative; + display: grid; + width: 100%; + overflow: hidden; + direction: ltr; + container-type: inline-size; + grid-template-columns: auto 1fr; +} + +@media (hover: hover) { + .btn:hover { + --tw-border-opacity: 1; + border-color: var(--fallback-b3,oklch(var(--b3)/var(--tw-border-opacity))); + --tw-bg-opacity: 1; + background-color: var(--fallback-b3,oklch(var(--b3)/var(--tw-bg-opacity))); + } + + @supports (color: color-mix(in oklab, black, black)) { + .btn:hover { + background-color: color-mix( + in oklab, + oklch(var(--btn-color, var(--b2)) / var(--tw-bg-opacity, 1)) 90%, + black + ); + border-color: color-mix( + in oklab, + oklch(var(--btn-color, var(--b2)) / var(--tw-border-opacity, 1)) 90%, + black + ); + } + } + + @supports not (color: oklch(0% 0 0)) { + .btn:hover { + background-color: var(--btn-color, var(--fallback-b2)); + border-color: var(--btn-color, var(--fallback-b2)); + } + } + + .btn.glass:hover { + --glass-opacity: 25%; + --glass-border-opacity: 15%; + } + + .btn-outline.btn-primary:hover { + --tw-text-opacity: 1; + color: var(--fallback-pc,oklch(var(--pc)/var(--tw-text-opacity))); + } + + @supports (color: color-mix(in oklab, black, black)) { + .btn-outline.btn-primary:hover { + background-color: color-mix(in oklab, var(--fallback-p,oklch(var(--p)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-p,oklch(var(--p)/1)) 90%, black); + } + } + + .btn-outline.btn-secondary:hover { + --tw-text-opacity: 1; + color: var(--fallback-sc,oklch(var(--sc)/var(--tw-text-opacity))); + } + + @supports (color: color-mix(in oklab, black, black)) { + .btn-outline.btn-secondary:hover { + background-color: color-mix(in oklab, var(--fallback-s,oklch(var(--s)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-s,oklch(var(--s)/1)) 90%, black); + } + } + + .btn-outline.btn-accent:hover { + --tw-text-opacity: 1; + color: var(--fallback-ac,oklch(var(--ac)/var(--tw-text-opacity))); + } + + @supports (color: color-mix(in oklab, black, black)) { + .btn-outline.btn-accent:hover { + background-color: color-mix(in oklab, var(--fallback-a,oklch(var(--a)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-a,oklch(var(--a)/1)) 90%, black); + } + } + + .btn-disabled:hover, + .btn[disabled]:hover, + .btn:disabled:hover { + --tw-border-opacity: 0; + background-color: var(--fallback-n,oklch(var(--n)/var(--tw-bg-opacity))); + --tw-bg-opacity: 0.2; + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity))); + --tw-text-opacity: 0.2; + } + + @supports (color: color-mix(in oklab, black, black)) { + .btn:is(input[type="checkbox"]:checked):hover, .btn:is(input[type="radio"]:checked):hover { + background-color: color-mix(in oklab, var(--fallback-p,oklch(var(--p)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-p,oklch(var(--p)/1)) 90%, black); + } + } +} + +.link { + cursor: pointer; + text-decoration-line: underline; +} + +.select { + display: inline-flex; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + height: 3rem; + min-height: 3rem; + padding-inline-start: 1rem; + padding-inline-end: 2.5rem; + font-size: 0.875rem; + line-height: 1.25rem; + line-height: 2; + border-radius: var(--rounded-btn, 0.5rem); + border-width: 1px; + border-color: transparent; + --tw-bg-opacity: 1; + background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity))); + background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), + linear-gradient(135deg, currentColor 50%, transparent 50%); + background-position: calc(100% - 20px) calc(1px + 50%), + calc(100% - 16.1px) calc(1px + 50%); + background-size: 4px 4px, + 4px 4px; + background-repeat: no-repeat; +} + +.select[multiple] { + height: auto; +} + +.alert-info { + border-color: var(--fallback-in,oklch(var(--in)/0.2)); + --tw-text-opacity: 1; + color: var(--fallback-inc,oklch(var(--inc)/var(--tw-text-opacity))); + --alert-bg: var(--fallback-in,oklch(var(--in)/1)); + --alert-bg-mix: var(--fallback-b1,oklch(var(--b1)/1)); +} + +.alert-success { + border-color: var(--fallback-su,oklch(var(--su)/0.2)); + --tw-text-opacity: 1; + color: var(--fallback-suc,oklch(var(--suc)/var(--tw-text-opacity))); + --alert-bg: var(--fallback-su,oklch(var(--su)/1)); + --alert-bg-mix: var(--fallback-b1,oklch(var(--b1)/1)); +} + +.alert-warning { + border-color: var(--fallback-wa,oklch(var(--wa)/0.2)); + --tw-text-opacity: 1; + color: var(--fallback-wac,oklch(var(--wac)/var(--tw-text-opacity))); + --alert-bg: var(--fallback-wa,oklch(var(--wa)/1)); + --alert-bg-mix: var(--fallback-b1,oklch(var(--b1)/1)); +} + +.alert-error { + border-color: var(--fallback-er,oklch(var(--er)/0.2)); + --tw-text-opacity: 1; + color: var(--fallback-erc,oklch(var(--erc)/var(--tw-text-opacity))); + --alert-bg: var(--fallback-er,oklch(var(--er)/1)); + --alert-bg-mix: var(--fallback-b1,oklch(var(--b1)/1)); +} + +@media (prefers-reduced-motion: no-preference) { + .btn { + animation: button-pop var(--animation-btn, 0.25s) ease-out; + } +} + +.btn:active:hover, + .btn:active:focus { + animation: button-pop 0s ease-out; + transform: scale(var(--btn-focus-scale, 0.97)); +} + +@supports not (color: oklch(0% 0 0)) { + .btn { + background-color: var(--btn-color, var(--fallback-b2)); + border-color: var(--btn-color, var(--fallback-b2)); + } + + .btn-primary { + --btn-color: var(--fallback-p); + } + + .btn-secondary { + --btn-color: var(--fallback-s); + } + + .btn-accent { + --btn-color: var(--fallback-a); + } +} + +@supports (color: color-mix(in oklab, black, black)) { + .btn-outline.btn-primary.btn-active { + background-color: color-mix(in oklab, var(--fallback-p,oklch(var(--p)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-p,oklch(var(--p)/1)) 90%, black); + } + + .btn-outline.btn-secondary.btn-active { + background-color: color-mix(in oklab, var(--fallback-s,oklch(var(--s)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-s,oklch(var(--s)/1)) 90%, black); + } + + .btn-outline.btn-accent.btn-active { + background-color: color-mix(in oklab, var(--fallback-a,oklch(var(--a)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-a,oklch(var(--a)/1)) 90%, black); + } +} + +.btn:focus-visible { + outline-style: solid; + outline-width: 2px; + outline-offset: 2px; +} + +.btn-primary { + --tw-text-opacity: 1; + color: var(--fallback-pc,oklch(var(--pc)/var(--tw-text-opacity))); + outline-color: var(--fallback-p,oklch(var(--p)/1)); +} + +@supports (color: oklch(0% 0 0)) { + .btn-primary { + --btn-color: var(--p); + } + + .btn-secondary { + --btn-color: var(--s); + } + + .btn-accent { + --btn-color: var(--a); + } +} + +.btn-secondary { + --tw-text-opacity: 1; + color: var(--fallback-sc,oklch(var(--sc)/var(--tw-text-opacity))); + outline-color: var(--fallback-s,oklch(var(--s)/1)); +} + +.btn-accent { + --tw-text-opacity: 1; + color: var(--fallback-ac,oklch(var(--ac)/var(--tw-text-opacity))); + outline-color: var(--fallback-a,oklch(var(--a)/1)); +} + +.btn.glass { + --tw-shadow: 0 0 #0000; + --tw-shadow-colored: 0 0 #0000; + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); + outline-color: currentColor; +} + +.btn.glass.btn-active { + --glass-opacity: 25%; + --glass-border-opacity: 15%; +} + +.btn-outline.btn-primary { + --tw-text-opacity: 1; + color: var(--fallback-p,oklch(var(--p)/var(--tw-text-opacity))); +} + +.btn-outline.btn-primary.btn-active { + --tw-text-opacity: 1; + color: var(--fallback-pc,oklch(var(--pc)/var(--tw-text-opacity))); +} + +.btn-outline.btn-secondary { + --tw-text-opacity: 1; + color: var(--fallback-s,oklch(var(--s)/var(--tw-text-opacity))); +} + +.btn-outline.btn-secondary.btn-active { + --tw-text-opacity: 1; + color: var(--fallback-sc,oklch(var(--sc)/var(--tw-text-opacity))); +} + +.btn-outline.btn-accent { + --tw-text-opacity: 1; + color: var(--fallback-a,oklch(var(--a)/var(--tw-text-opacity))); +} + +.btn-outline.btn-accent.btn-active { + --tw-text-opacity: 1; + color: var(--fallback-ac,oklch(var(--ac)/var(--tw-text-opacity))); +} + +.btn.btn-disabled, + .btn[disabled], + .btn:disabled { + --tw-border-opacity: 0; + background-color: var(--fallback-n,oklch(var(--n)/var(--tw-bg-opacity))); + --tw-bg-opacity: 0.2; + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity))); + --tw-text-opacity: 0.2; +} + +.btn:is(input[type="checkbox"]:checked), +.btn:is(input[type="radio"]:checked) { + --tw-border-opacity: 1; + border-color: var(--fallback-p,oklch(var(--p)/var(--tw-border-opacity))); + --tw-bg-opacity: 1; + background-color: var(--fallback-p,oklch(var(--p)/var(--tw-bg-opacity))); + --tw-text-opacity: 1; + color: var(--fallback-pc,oklch(var(--pc)/var(--tw-text-opacity))); +} + +.btn:is(input[type="checkbox"]:checked):focus-visible, .btn:is(input[type="radio"]:checked):focus-visible { + outline-color: var(--fallback-p,oklch(var(--p)/1)); +} + +@keyframes button-pop { + 0% { + transform: scale(var(--btn-focus-scale, 0.98)); + } + + 40% { + transform: scale(1.02); + } + + 100% { + transform: scale(1); + } +} + +.card :where(figure:first-child) { + overflow: hidden; + border-start-start-radius: inherit; + border-start-end-radius: inherit; + border-end-start-radius: unset; + border-end-end-radius: unset; +} + +.card :where(figure:last-child) { + overflow: hidden; + border-start-start-radius: unset; + border-start-end-radius: unset; + border-end-start-radius: inherit; + border-end-end-radius: inherit; +} + +.card:focus-visible { + outline: 2px solid currentColor; + outline-offset: 2px; +} + +.card.bordered { + border-width: 1px; + --tw-border-opacity: 1; + border-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-border-opacity))); +} + +.card.compact .card-body { + padding: 1rem; + font-size: 0.875rem; + line-height: 1.25rem; +} + +.card-title { + display: flex; + align-items: center; + gap: 0.5rem; + font-size: 1.25rem; + line-height: 1.75rem; + font-weight: 600; +} + +.card.image-full :where(figure) { + overflow: hidden; + border-radius: inherit; +} + +@keyframes checkmark { + 0% { + background-position-y: 5px; + } + + 50% { + background-position-y: -2px; + } + + 100% { + background-position-y: 0; + } +} + +.join > :where(*:not(:first-child)):is(.btn) { + margin-inline-start: calc(var(--border-btn) * -1); +} + +.link:focus { + outline: 2px solid transparent; + outline-offset: 2px; +} + +.link:focus-visible { + outline: 2px solid currentColor; + outline-offset: 2px; +} + +.loading { + pointer-events: none; + display: inline-block; + aspect-ratio: 1 / 1; + width: 1.5rem; + background-color: currentColor; + -webkit-mask-size: 100%; + mask-size: 100%; + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + -webkit-mask-position: center; + mask-position: center; + -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E"); + mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E"); +} + +@keyframes modal-pop { + 0% { + opacity: 0; + } +} + +@keyframes progress-loading { + 50% { + background-position-x: -115%; + } +} + +@keyframes radiomark { + 0% { + box-shadow: 0 0 0 12px var(--fallback-b1,oklch(var(--b1)/1)) inset, + 0 0 0 12px var(--fallback-b1,oklch(var(--b1)/1)) inset; + } + + 50% { + box-shadow: 0 0 0 3px var(--fallback-b1,oklch(var(--b1)/1)) inset, + 0 0 0 3px var(--fallback-b1,oklch(var(--b1)/1)) inset; + } + + 100% { + box-shadow: 0 0 0 4px var(--fallback-b1,oklch(var(--b1)/1)) inset, + 0 0 0 4px var(--fallback-b1,oklch(var(--b1)/1)) inset; + } +} + +@keyframes rating-pop { + 0% { + transform: translateY(-0.125em); + } + + 40% { + transform: translateY(-0.125em); + } + + 100% { + transform: translateY(0); + } +} + +.select-bordered { + border-color: var(--fallback-bc,oklch(var(--bc)/0.2)); +} + +.select:focus { + box-shadow: none; + border-color: var(--fallback-bc,oklch(var(--bc)/0.2)); + outline-style: solid; + outline-width: 2px; + outline-offset: 2px; + outline-color: var(--fallback-bc,oklch(var(--bc)/0.2)); +} + +.select-disabled, + .select:disabled, + .select[disabled] { + cursor: not-allowed; + --tw-border-opacity: 1; + border-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-border-opacity))); + --tw-bg-opacity: 1; + background-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-bg-opacity))); + color: var(--fallback-bc,oklch(var(--bc)/0.4)); +} + +.select-disabled::-moz-placeholder, .select:disabled::-moz-placeholder, .select[disabled]::-moz-placeholder { + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-placeholder-opacity))); + --tw-placeholder-opacity: 0.2; +} + +.select-disabled::placeholder, + .select:disabled::placeholder, + .select[disabled]::placeholder { + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-placeholder-opacity))); + --tw-placeholder-opacity: 0.2; +} + +.select-multiple, + .select[multiple], + .select[size].select:not([size="1"]) { + background-image: none; + padding-right: 1rem; +} + +[dir="rtl"] .select { + background-position: calc(0% + 12px) calc(1px + 50%), + calc(0% + 16px) calc(1px + 50%); +} + +@keyframes skeleton { + from { + background-position: 150%; + } + + to { + background-position: -50%; + } +} + +@keyframes toast-pop { + 0% { + transform: scale(0.9); + opacity: 0; + } + + 100% { + transform: scale(1); + opacity: 1; + } +} + +.card-compact .card-body { + padding: 1rem; + font-size: 0.875rem; + line-height: 1.25rem; +} + +.card-compact .card-title { + margin-bottom: 0.25rem; +} + +.card-normal .card-body { + padding: var(--padding-card, 2rem); + font-size: 1rem; + line-height: 1.5rem; +} + +.card-normal .card-title { + margin-bottom: 0.75rem; +} + +.join.join-vertical > :where(*:not(:first-child)):is(.btn) { + margin-top: calc(var(--border-btn) * -1); +} + +.join.join-horizontal > :where(*:not(:first-child)):is(.btn) { + margin-inline-start: calc(var(--border-btn) * -1); + margin-top: 0px; +} + +.fixed { + position: fixed; +} + +.inset-0 { + inset: 0px; +} + +.z-50 { + z-index: 50; +} + +.mx-auto { + margin-left: auto; + margin-right: auto; +} + +.mb-4 { + margin-bottom: 1rem; +} + +.mb-6 { + margin-bottom: 1.5rem; +} + +.mr-2 { + margin-right: 0.5rem; +} + +.mt-6 { + margin-top: 1.5rem; +} + +.flex { + display: flex; +} + +.grid { + display: grid; +} + +.hidden { + display: none; +} + +.w-full { + width: 100%; +} + +.max-w-md { + max-width: 28rem; +} + +.transform { + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.grid-cols-1 { + grid-template-columns: repeat(1, minmax(0, 1fr)); +} + +.flex-col { + flex-direction: column; +} + +.items-center { + align-items: center; +} + +.justify-center { + justify-content: center; +} + +.gap-4 { + gap: 1rem; +} + +.space-x-2 > :not([hidden]) ~ :not([hidden]) { + --tw-space-x-reverse: 0; + margin-right: calc(0.5rem * var(--tw-space-x-reverse)); + margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse))); +} + +.space-y-2 > :not([hidden]) ~ :not([hidden]) { + --tw-space-y-reverse: 0; + margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(0.5rem * var(--tw-space-y-reverse)); +} + +.rounded-lg { + border-radius: 0.5rem; +} + +.bg-base-100 { + --tw-bg-opacity: 1; + background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity, 1))); +} + +.bg-neutral { + --tw-bg-opacity: 1; + background-color: var(--fallback-n,oklch(var(--n)/var(--tw-bg-opacity, 1))); +} + +.bg-primary { + --tw-bg-opacity: 1; + background-color: var(--fallback-p,oklch(var(--p)/var(--tw-bg-opacity, 1))); +} + +.bg-secondary { + --tw-bg-opacity: 1; + background-color: var(--fallback-s,oklch(var(--s)/var(--tw-bg-opacity, 1))); +} + +.bg-white { + --tw-bg-opacity: 1; + background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1)); +} + +.p-4 { + padding: 1rem; +} + +.p-6 { + padding: 1.5rem; +} + +.font-sans { + font-family: Inter, sans-serif; +} + +.text-3xl { + font-size: 1.875rem; + line-height: 2.25rem; +} + +.text-sm { + font-size: 0.875rem; + line-height: 1.25rem; +} + +.font-bold { + font-weight: 700; +} + +.text-blue-500 { + --tw-text-opacity: 1; + color: rgb(59 130 246 / var(--tw-text-opacity, 1)); +} + +.text-gray-700 { + --tw-text-opacity: 1; + color: rgb(55 65 81 / var(--tw-text-opacity, 1)); +} + +.text-neutral-content { + --tw-text-opacity: 1; + color: var(--fallback-nc,oklch(var(--nc)/var(--tw-text-opacity, 1))); +} + +.text-primary-content { + --tw-text-opacity: 1; + color: var(--fallback-pc,oklch(var(--pc)/var(--tw-text-opacity, 1))); +} + +.text-secondary-content { + --tw-text-opacity: 1; + color: var(--fallback-sc,oklch(var(--sc)/var(--tw-text-opacity, 1))); +} + +.opacity-40 { + opacity: 0.4; +} + +.shadow-lg { + --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1); + --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} + +.shadow-xl { + --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1); + --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} + +.filter { + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} + +@Layer base { + @font-face{ + font-family: 'Monserrat'; + + font-style: normal; + + font-weight: 400; + + font-display: swap; + + src: url(static/fonts/Montserrat-VariableFont_wght.woff2) format('woff2'); + } + + font-family:"Monserrat", system-ui, sans-serif; + + @font-face{ + font-family: 'Inter'; + + font-style: normal; + + font-weight: 400; + + font-display: swap; + + src: url(static/fonts/Inter-VariableFont_slnt,wght.woff2) format('woff2'); + } +} + +.hover\:underline:hover { + text-decoration-line: underline; +} + +@media (min-width: 768px) { + .md\:max-w-lg { + max-width: 32rem; + } + + .md\:grid-cols-2 { + grid-template-columns: repeat(2, minmax(0, 1fr)); + } +} + +@media (min-width: 1024px) { + .lg\:max-w-xl { + max-width: 36rem; + } + + .lg\:grid-cols-4 { + grid-template-columns: repeat(4, minmax(0, 1fr)); + } +} + +@media (min-width: 1280px) { + .xl\:max-w-2xl { + max-width: 42rem; + } +} diff --git a/wwws/apxhtml/src/static/fonts/Questrial-Regular.ttf b/wwws/apxhtml/src/static/fonts/Questrial-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..b3a45b411a91a83af1b82693afedbdf18e8063b4 GIT binary patch literal 148120 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�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

    rY>b%Iyy2=0`& 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 GjsJgr>e@d5 literal 0 HcmV?d00001 diff --git a/wwws/apxhtml/src/static/fonts/Quicksand-Bold.ttf b/wwws/apxhtml/src/static/fonts/Quicksand-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..e105b89f8a05d7df0df4d4ccafa17a4b9933ac69 GIT binary patch literal 72836 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 literal 0 HcmV?d00001 diff --git a/wwws/apxhtml/src/static/fonts/Quicksand-Light.ttf b/wwws/apxhtml/src/static/fonts/Quicksand-Light.ttf new file mode 100644 index 0000000000000000000000000000000000000000..995eae9bbb56ab240ebb7d3232393eea442dd79c GIT binary patch literal 72964 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 a_6dE5fPA#i88|$IK$MR!7yxPf68{H{z=rSu literal 0 HcmV?d00001 diff --git a/wwws/apxhtml/src/static/fonts/Quicksand-Light.woff2 b/wwws/apxhtml/src/static/fonts/Quicksand-Light.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..98a568e0ba2a8e52eeb9f975e28b75f4397ed4be GIT binary patch literal 99509 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

    E9B8$*XMp5(XEP#i3l2t8tF$Hsap<

    (V zo-+;~qkP?PNy4si-oMwQLm?%t9U|rcW4DEO=e9shk#yhpz!5;=t#GnlC6&lhaypGq z>fdc&UMV-cAol-G7n@*vpjuPxnheS?)|n&ma^)MII-skp!dk!M*jJ&0dqZmIFN}>? z!hboOW6cX{6Qcgrm?Egxep;|(V-h-yR&cjcHbh}xh5>0PT-3uzbe;IqyIjh6UgaUR z)jDvbxB20kf~0-;3UczJxkAAdnxPha_VzgKGb$7fhxKl77+3iAi!f~I4+r~{UuW^v zA>AUPaWs&^*;6*-LduVL5=FR);esFLlp zreAEK)nN!X@N^;p=P4%@qRu|8oRfp$n974D1+K8*ije8qYX_#ru<@H%PD+!3;oU9{ za@d7Fs6NxwSD0D3*PlvyC_DQY?VGbt@ZVDbDR)Hhc&5!k2}wX~(4rv{fQ2kwwQpVr zoiG-mTRAE?4qj#G?%GT6GB0n@UF`C@%Q` zw(;F6C#Wd;EYtf}6Tvh|`~AHj39P4~@XZcLcMnHN(OknMNzE~~nx8pYzVV4M!s|PY zsICL_bh^G*nA1%&fb8Cl^Hem5C3YRaqTy}MVLHn=(JSFxIJv{2Bdaje(Fzf-=O}Tx zO{xjs1+qC~BU7F~-RE=7V@cXFXpv$_h{AG6FaBE zO=rR-KT?=KnCk{bFM!1a@{tRRLp!>Y~a{$mK)se#ih6hP5$-Mz4ZPtyI<7%^*qdgd$*}BBSkVMYL+G z0%-qAo_&+m8Ns+gVuMl@Z8f;q4}VQmJ%kdM(moA5qe`F_I=WQHr5X;m0z2y0DDfbp z^u&;B6Tf59p2LSJWQ`<}2bn=~s+-##_i`$%!2Q92_X^|l6Gm8~vyecQ@WdE5N#Ve8 zVc;K{7g`yidUf8Dh%-#o(MX!PiMoI%~zwE-@<=A0n=vVUE561YYm1#49cCD)B%y~?9r*?B4$N48YZippJ64@9c z=K?*2%}CiXXn&)2I$e$G@u^SWBv_qa@vM({ra_utV&_lWAqVn7Wr%+lfZq594SlEV zb%9i73ARJz*RLbzJpU00L9>e&(ztM|e2N zLxK|SoUiMt@~tGv+!0_k)eCKc$T@Oi3f;$4UXSG<2a`H7$q{4jZ%K{yICd07G5`pVUTL~6n;y|(gQtCE_5|xc? z835`FV}zJ(fziW%Vr;C&#(^ZO34P`%%56m!0@kf`%3J{1?J}s?GRLwgI^DjKZQ@4p zRdw7{Q4#`Z;WmOEA@djZO2ixiqelFm_6T;RkS+G=J5ixFt4j{^1hbJmYqvx}N{IFl zLwxSkBr994zE_%L!cJxh%N~Jolh(j1gTQwzur!kVP4ri&4zTaxV!l^he~N0#WJ2RA zZl7Tb-q|Q@k5R3_yL9{_4iU_9f%G0G4*>bYyPN&-Y~+|7vNI-ttb3m(2pkr`oN1zo zvG8&Gt7ZB(c!1%uD+)=urOaWDpU(kEq*i9?sA*?>mxH5H-PJhM&+h-(v|=6$xM?Bl z(?$|8H7AtEFNnC0;48e*?#QD)4e&^?P++W*LJUszc;&RgZuSyexD_zSGKpff@MI_m z9lI&LCk3Q5l3v>U+~c&#JXl7fZ&10E-M0C%O$} z9}TVf{P$(lXW4&(a80V%ex9K8x#4;nX^%w!DQMQ%v6n^aq%f|!EuN}IX`7BGM?JGjvM z{s#tBI#cJLhK-!GlE9y3BYJ2kyz!J}I~uuO!|D=`UbFqK3QWncnecv^I--2FiB-Sj z_8l-2Wjfej`3=VA+)5-cnxc>~ZJLUxo3%#cj#cS(Q4G)#hl=xo^ zXJ-I+CcQ2Nm@0WKDM^-I+(kQ3P(I4SU>tn|oPU73-iv9gSW)mT)P!ijf&SFy$`oEL ziW|uNV-SHjeOK^%{!vB`%+6)#wk*(7vcpxinQyCV!svD@^}u-$rDK#wFi4%8=L`HdJnr!!2m2XNF0I8`(`{|VDTDR2{*&2%oNLgeInQyP3k zEL*U408@-p-9{B9721w<>Hc2jf4=F34+Eh-dvz9sWTHT}=LpX94QpzsAf%uO1IOt^<-IZ*(dRcdGiL~4j0qF*O@i9r$?Gp9@Jo+ zUGRGTz0;Lbzr~9tTIr2F?U;oYrU4!FhT_EqfRd;S7N7ENLw%a$G&DzzBjo1&Nica$ zWQtvAgUQ_`*-=-wrfQ%wQ0`5gsXB47{286oG{2h5vfR6c_S4UqInotw)$%NM{PxKe z)HC9*$0}4%^WBa&CczMy;s6FT;_aMaufAnT(w%n4vJLPf6rfla*&^^eI*i`eYYRTBexSLJ7FmLGwc+Zn?y}*@ zrMZtZoxljB^*7pn@gu2^T&0scD!|Y+Z{h24ud#}bN#i61Pjv*Q5d+y~$9fBysUp9;CSncCG>QqPM$e&b5rDRwDTdAV&(=QP5W zQua&S@rG=SJuU4M0UD6Y0gybL7|0=|SCwWTj2EKK2PxV)+piff9p1A0Gol(9zx zQ&tn^clolJ+CFs{{QHGT5_)9WT2KNNV`pUD{*r(-rbHgx1~7-@K|o@#8~88k7u~|E zy4UY$df2y1frx5uvVoqI=^_y}foH1a(T z<@ORSz}PG0-I?>rDrWcp8*yswuceqHFc)=wi=S}te$VMbP~a^=3S}L5Ui#X5q~}MO zN7cd2k}J+geLz>0RSke79GDs`??8gPczPf@VhRG5WVaVHnH%U3Rv@-(K}F*`TilR)~DLm{bIL;oI>F8 zs4s&DH89zSzn+Gi$wPhbZXHRr@Ke?tABdCLZ%Ud?bxVK3SQAVyLmv!B+7CAV;sN(8t!( zbpDF@&Lggo3c;pZV9~1Wck*EOYE|G~y*vj-&3w))n(rU47#2mGg|S=sHyDFMXa0+C zI-*Zv>EwO4TPGt(pB{mH3I?=?e{)2HCq$sVAcOhkQL!z7t>PZXF227vG>Ezm%ptUq z?cKHnry;g?sHK&G6|$+i*n#d}VyZBgpTavcS|O@f*%}Y6DTYB$P37LluVpUgi|uCa z2UTv(H+@mJP3aD6JUBHpJCiT>k{2JPOsT|=FFB$NFFNLzvexcwlS1r61i;7bvQK`W zPwgpwzzy6muOoX;05;X`K&38&Urg)|2)X!`oi407KNnR*XR=|cclMat0v@69_6#4Z z!Xzu|*p)a)HNALyHbEwR7=?F^)cT+`YI@xXdvG7+@1a)2co-w~(-I&Pb)9!6fmoG^ zOT=PK$tZ5a)^G!A8tk=jsYtnAw+8n-OW`W=wTnMq*Y z7Ni=%mN{qa%}uWK3eCtz+TiC%PhGQamf0W}PT5A|Bb5*I@;MjYj2Jg4rKJj(Tx4^l z$s#`Kq#+$WX*I1+vJoJUihu=a_85I9B?-g~tyPTOHjSLDoEypkZ=`rj;P zO!u9$k^bPcop@j-S3wKz7jj)l*aIGR#3ew{e&@fnW*A!)HB2cAeM0(WFBNCaUqdCG zj~Qj}-iN$g;GRF&9)MR%B{Q+#+tB?)hp?2R*p*9f;H98c=mj_;D|M`}Zt|&3$7>p% zw$)Y;=b!6g(Aou&{spY{ICZqIElrkd59IaUfFt>^%Ha{eL=RImuy4}^4SJG3xZ5Jd zSmHKkkzcaW)zPN$``~yq1I)3Ak7u@zYa4R1S3sV#7O@IlkU&9c*S)tti874kz42B+ z%a^uhgEB3!exNc$1JkKZ1jeU(S@qo0gC2!wy7O(KW)1es4gVFq9|^ULqdxi8M}ut8BafUOYXLqmhfex+f3isR zB7t**dQXb5ct6)z5%Y1giCU@|Kl7 z5}j0d+}+|mNQ~^|b3TyK%-WK3*sc}ND7|kXhc&ye0ctMdM-aD+NLVi)k%K|3 zSzX|AV{n)fBDMhHdJX4U)o8E$d(4*F97@SH06{>$zpE2#gO}EjZ6;5cb9sb0UG=2h z;VRf~qdclsDl(v1Ef}8V$iD>2Vg7k-oJy&WqFI`!v#u3kVkhHHy;SbO{>~rxRLxgPXf51b53+JLJIWV9G4%=wgkQh+ zYza}4w_LFi5$;{M)lrGC6ozDm$!S8}V6wnKkB!v-iu-l;PdR-3xai(op#P-%t!oQc zX`XbPBy^DmohP?H4?pV7dch%1eh3wnBO;g^>r77^7FAV520WsMRlIC5g(F?(uz0e~;S2(LJ{v%`c%jj2uqzqH0E9KAdqzuUdG|}hADB*;pS0zF)Cb!`v2==UJnD|TtCcF- zsvkqMO6{3ZBJ4uvJ~brPis4+Ya1AIt=jwjo5f1dYLE%0>t8#7_{oWHt!#+ajFipZ+ zo#6Q48Kj&VZ&zgdklme1vaB|7lCoptMazIEyW0+8-~BRg+vsvNs2G;viVoM)q>{=M z4gM|ZnYpl)Yu*iQ_L)kNt6;AFsj6n0))Py;WNS70GF8uu!x_8hk@xY|b5nhQ;s+Sx z)gpvq+s7TMf`UWdXUyIR{*1r#FoLJ+^drE+?99Z8h?Z zqzz*dq4**l&*26OdC^f>aO@USd0H2I`oZ?(Sjqy~ab9o1c2@SIBM|*Q!N^Vi2(}UN ziB}?WB(4;{?f)whz)@-S*$2}f`sws;TC*L0W-29wZ7B8GFAdImiNlCRfc#(>XnG-^ zlDjgBT<|BBKH?l@<(L|J=D*O2Xotkhtq!g!PQw?2j~m6uAz`b3O%)&W_%d(H{6g6I zzRIg!co%l51^SuRG-q~Q%$HC?7TT2S1MJn7 zd^WX3-u$^)O4&VRU%6bjA2ls^G~u(Ti5H?=+%AAnYCi6o_;RP&i9Nf|*^jA41BEu_ZXhX+ zKGuioN6TYL(QOrgA`><+UQKBmoEG3h4-Q(LlGcmEou-%*){aF zISC>@z~>8ZHM%av>8Gv}=}eLgEMxM9Tx;|Hx2!@Pq~bwyno!ky;K%%N%8C-tjvm0> zTS@b(w;2Xg^2NrT+PWC}Bz0)aSCx7*Om0R(W%~1m+~`?q0%3vBAm&VIEG8~;11b1% zm5y5s3)zyYlXp|G@I`}L3R&K_Qv4UnTE?0z+2u)EaU4!N(Dx|ipOrY9?%&I~582co zh?s=^#aM0-Bp;)dbDn%;EuJS=|FyNSvNvRY?EtZO zXy$Ce@9EKFnU$(SlezMh)2%sZnF-EC%iIn+v(b96d`WwH+H6>;`Za@a0gm>| z1P5rw{95WFK1H8Fniz_w3*^%}7Bn-ZtF8Z#&ytL_RY2dRZqH zYXMlHPf0>f^2j;$zn0OSI2jTb<-n&rg{LgHUg*aW;O%#O`?}E4Wp-W9q3d#R2LvgL zqXVc{G6&hmm_LG54hb_I6b41;bLdg!jDW!sMk=qC@E(5guEGR<72U4IcWL{-VZi09VsMJIQ!vIbV6*tY!ITBI5`PiAwI& za7nHk6x<55upKLla)$$lrk~tBZjX@1Ok?2=LNtcuPz;Z5u#D;HQ|2Dc^{D`T10UCJ z8b+puwWfy-mPurE2+aM3s6?3mzJaWAH`!KuxOO{K5wpx5$Y#WfNX|H*O=ob9jIS25 z^job!S=(0ZkjzrV9 zHuD|{1i~ZuU1l`yHQmyO5@|)Rv~CJ^ORr4O>2f@?W71gig?Pabt4q&6fNI%H$_s#F zJAQ<1;*DWRGRDD}zy7}#?b_+(sAtNrOU~=OnQCxX6?C0-pnix?^3}Q_90wDGDgWDu z19Ku3EG-ZlRBpW@y;)Q6A|&fFSlSMZef+fC_z!>VU$@SB_nA>n1~BQ4>ILk2pq^IV zZO*ytxV1%vjRsi74b{iTc-ZG$F^?A5?{w=6j`m?D<^=M4cbOI)r@&^8Zpql5Y%lp^ zkl==?z`SZUton$Jm@sXDI&~95R_7}4*p0ww^D_NF%5m}0vXqhuJRdHt4kpAbU{5zr zb~(3}AGbZ4Tln@Sr)Jga-5@FbK1j-)$y*+v3Mp6am_^(-f=N$V?z#wL0w6yf5Fd=9 za=o!6h8(GAiLlb}jDc}dZGGf4cMsmsM1dvqNgf(m6*~(4c9}D+1-3v9kDp>RK-kIi zpKm;ijyv*mlWwF7FszO z<7VvP19*}yS+Y$cMr>KvQ~+X9$2)gfcwWYWseSC$VqdYaRP^gZ54arO-MBavy?D6_ z9*BE?Jkm-mzld#1h{$JrSl+UMEFH5_A+97uk~@az1>AiE#6I2c94FQO;iS6#S+`hm zO=!3P*aBtvuFM9i1@7N~9YL8mfWv;me+{?l{fTTDgO;b4O;V&zP5?$tskHghs}~R_ z3Spe=lmNCy!IrHc*DXqL`zGwH)wKl0-oLxRZ_~s z5t7U&;c&x}MwC})GcpS z!qcT5M4c}+TTO4GEz9L5=cO7GoHL~)tE6o}^j#BytlAb!TA)7^oiM&3IBtW(>Sbaz z;UMz*WCG;9m?zk6W|*yU=R*mt-!+Wz^-2xA3~wpWi<3=SS*6fr?MS6_JSEo1iwk{a z+dm!mhU>4lf1;ovJig#lg2FrSZqkQw9Lcg|b>(kG@~nsaF*b^bT#8+A{Im>qb~T_( zEm~$n;s;wK>K*ia#512SS4 z<)yXkYGujDgkCnrlCpo&V`eDh!z;;*s0MngToe^YIJdPn1JaaIt((Ip;+s z<;T=YX3@-#cOa3GYli?FO_~pb_Zv*pUuy~QJ8l!(Oy{^~;}C5$%^7B|@&E-kl~EQ2 z3c5Lk`Fyy|kjn#2V{nhi-iGCkrk)@;v76T6(KWE;@qU||@=P=}iz@LF_4m-|L2S^-u!nd;Y<)WGXv-;hwk3=EmP47536}Df)Hni#vX$0)F;_96z6VS|UGQ~;?8ZHoe0YgxIbItU@GH7v+ zow6yAh34e|5&>KZfgE4&M0jwVhpAlUM>#Y?ezH|0R8YyFd6N=Gd zq!a3-t#|zId$Dw|1mlOY4oLxIWkZ&|wcT4e;o# zfbAnAfp9azO_0DU6n?URq7a&|4EnveW1Svlbnw&ym+W%~9?U++@}9_-Q*U)r3dBKF z8h3cHSnAVM!Vnk#Q z@NB~$*%>z#VV;Cq`_I`-gei1O;Lnk6lUefy?D$hB}UT?I;;GzZ$3{HXx^T6Hs3UnXQu5$1occ@qZ*gJkldQL#m*iFH-u$4RkQeLKm z#@Sjh$!m50klgFW%N=|h7)}w5QET%M25d)*XK^-6x}wSojLJJ@Wi3n*>U;UZA)_z^ zT)}Zlt+;xvLH`vA=-|PVO`b*BS~xKHD^bH-%3RdbUJhSviX>eS3i38gX^TJ9D|buk z!+t1XtE6i`cD{Zgo}#jUp3DQ;{VD;t*ZVu@SyzZ` z(o!PF4wYFfb_>D-=fzdEr^(=}l5G7z_TcU3bG$vlg7@~)%>(?gI#r=S&|!I9Ao99+ z22hx-?RU)51(r#{I^q8I6OL%stX^jn;JRK~s(xVWj3!CIBlf9Rk-UEDcPs&+VRuk$Ma#wJakh8s=_*1_Qf;CM?Zt{;jRP;bv``OoDuRg1lD5(jL|5^Q+vGH0b6}oQP2Fnb76_(b7vA*}z^WOcdM~GzF1x5=z zTBxkh&t+!XbgKR}(PVoSp!oo1!fZOWj{TW!55j-*_MR?F+9!U-yl!$^5y?E*)?qwT z4gd6(JjAGYJ^1w0m;Ai^5!rSB#)X&sR85d@j#@&4q09@DD`Qa0KI+gGUc~2cK}IC# z=#BKSow1O53prBhldG&!gpn~OZaLXqS6T`FTM$Gra15hnubY1U6}yT%G0qHSRcp`n zJ45rTB2w$5#tZ`Q0Why;EhFCKMHPUrl~TfxEOg3Woo6Y1M#nmzzO4vlpfM~8cO@m3 zw^D3`sPY!q5$=eLV^O`JHm(?r;!8RxeH5bFfu+ROYMDAqDCpQ6dI*#GWEm?I-t6xt zrdpqw)J9K-+mbLp3`f*FYr2j?s}<15kXW37k=1dkXs*26>uuj`%bq-|C079Y%puH{ zj3AeIZP1$KFnGn2 z$)5?-D6+JlA$Y&01*@|o2`B&^&-=jDN;kKiV$Y+eQw8N^A+r(GV(oDQa1YMW(Nkt( zaV)5u30m9ra^PN-L9C?|$2Daf9EXRj2cXUTN*krOfUF<84xSp3cwpwM&?zig*6J~f zbuL7S8o;@-t{CD(^g*g4Z5TXx+6zTCKCax?s~pabs(QP{{3+@8Qx6@TyRG$ctE&V1 z=0cqgF68H1J2Ie&(?}qQU>)lcydEn|3r!;xcJy}=CI0hZ&9NrK7w+>0?L|`F$2^P- zKzpy#z1|l~JY}kMg?ETWi*q2LAO+1ip2~{=`3yy&q|~gXgxba;S=KM_V;$pCTX^K& zK$W~b0kh|7XoSsWLm4OyqmW2xG8V=9hAj_$CU7egBW%*lC}RaRMbUv`}&#q7~OGsDBk!^@vu?0No-xe9qQFeYHe*J#5`Cz zX38-1f7u`r2w_7psEa3d~1=M!nOwhA@*0OESh* zd*(>5V71t%s$a-rAX?3L;LaJs)w?Qy2-M)ojr6q9aI?cxx7zYq`Yfe=*38W>`>)r% zK|{7q+*KV$bkZegnKC!@z#oGs7a$%?JYKd5^e}SLU6L6MT7uxWdfIkqXC#Ijg(wF} zGXf}ccg_oqDz*sYX*rYZiVLed?XX}0`NO_m(0vAn=Dc`hc_cH#MN(5cC0qHDpWmDV zB%~vt6}k(+$VT2Xmr9lw-}{vS&IM3w_bs8?E?7<}B3Zqk9Y77mj#GbVKNsTMJhoVR zojg2$41Q2m@YKALGIw+V)}*4ZxIPPgRnAS!ryr8v!3d|Z{Y5_HHxcA_E>DNNmpKj$ zmue-J)di+W(UM)aFB__%9c+6#wHHV1*Rsqk+dHz!>74 zFp%JG;JaMY!hV=pqWbuNmp52+=+&~2Rl>%8ZbglO z9?Z8j|6Pl(XGjZ~Txa)#==D4D1x;{giSd*Uw_Cnwgnr(!O`!Z;sq=6#ilji7cJZ>r zAQMjuZkfM1pX94ZT|LKvk3?3*2FuPzASMHo((n}>+f{`MxtW)pXg2c&wXk4)XG-qa z;kGMR91H5xRc@T5{W^}%E&2vIcL9QVwfSQ~se1U`k+mGHQqnY~BYYqclpkf?{o;|P zt@Bzp(tezNkiy9u-54dD-eAFTzb28vSyRw0X~s7F_(KrYQ^qpxPA1{hKJg)tZ zm9u)Z0G+-d$1D`5JzbYl(^EUyDNfqBmIIYY6{ii!g}lXdejW0Ht;2N;0FO_QWfEiE zcXd#emak|O{uaV(4i$wHa@i~3l!;c8=@a{U@bQ=}Z3!mD7@9z2q<@X|&d+7!p_nZy zC0Bvop~&W{OpQ#bd-@yJ>K6;QJL_RCZ%4B$yMzpST;0!}b=*^vVmN%_{(^YyrB7ne zXZ`z=hLu$=QIK`^@E{1yMWv=%adV9zT`+y)uV`}9v2Zy+qQ+W?%*mIF0uL4-*JaJ3 zciVa-jBdC?eACBd=wVFKUy;?S6SQexQi1?5Q-~CB+Zs*2ZmZl>UtT^bAbg?B^x(JK zK%}y9lh#}XNl^7w+Z!S&HAfdJD~i>49s$mt_m%^JneuZF3HCq}tR0J7EOPQF&4?D#4=#&CFbVvqNMM)~{rR)@pl$j*fkW02o7_(lc?={Lt!q2~0&`*Z`;>+_4E| z1RaaeeL(fOGQA;isBYn|RTj0F8*+Y-7}4?bsNHi)RcX$ZwK5AYaqk`ZZb?B5QY7!@ zf9{wo?@E>f{o6WIL*j{HU2~Zld+!a% za$RdG?%|srF2ARV)Fd<`Z3wwt@T%<|(Bs-8Aw^c z(2`45VXhqHI$VJq$Oz?<*`T=MPJ1L}yKresHnf8s!zQVlWwM44^LZNSwA2TU493cz zG^NB`ulCX^B#8(-RlU6dk+ywBng)7GLMXZp(J%XZG@K>8ISTm^Ee3OhpM4kV8#IaQ zoRp7tH)f8T+W%5i6#J5M281vVKEPppNkd`DqaPwBlSO(cIPP9q@*%e9gVShqtom;! z3Lc#mzbQhWC}H`{(l(SUAMuJvf9LJT)+Gw)(MS?0Y*sZ|xL@e+vl5;@P*j+33;F%s z%h{l^AA_u;qk!cj+~mC3dx~LqOZtMxkbr$GYWyW}(BnQ;=oUV-RM!%)!`$L!|p&Xlp)WFh9`=7Z6OvAkO)K zV`QMW^HTc18rj~0tfld=-^oD{zbX}^b}nX;{Lr_ULuwcPF_yoIr8cuqnV`R-D2$8PTzRy}g=(gZZRI!DD5oBQg#U+9s@Kh`u5z&I*5#%;i93 zR20PGY&4%yQl3tZu{```1)w6Rlta(w3iD*?R&e#Wf)hrdN)|rssqw0{>jid#H8OjQ zy)l{2^qN5%VzyvWl?fdBNhArOuZQLW*2#P?x^`pWha%ja>BME}6LfMYr{U5VVT_F3 zId_w~Q^7VG7UtX!g}N~&S2N4{f(&pJciXm;0CF&q{Gg&kJ{`?4{YNRApB2q#VO8%v zc?*h8XuAKvaLINst{>jfcQAHmyd)32y}*K=_++MFR8f^tt841>XD1gS|cmT zJ2Jt*0B9>OF)~#(I(g7%w;8b1l?N{I*7-C7h|B zhj~tp$xs2rjDx%IFeDol1cd+&wt3yWnWh;IN?Z2Dm{_BZuEyX^N1mTHGZ}X4#gZf2 zVv-b_?{R_DoNKJ5rD-a-D_EwqbEri_5tdIUv}$Xy6*k%#gA9?UoBy^r1EB0qAGX;| ztH@8Rdu^gZ(Hlcv%c=@M=$Jk7p|z_brT#jX zkT|tPT>4SyaDLA38)$KIzs)fluF?WF2-gk0kkRgdq+y2Exp;|iU+OMALZPT&e$zD*93J844?wd3e&F@$ieuxDKRJW7iJnqd`IIJ-==e=-Tpg8C z+*`RtbfvLOdeL$UCVh-Lt2nyGd5^8e_&I)Xxo~BB#n0cyq3A zM$7?&>qOgEII8USQ9jBO&RdgV^A;E_NGDqbm?hly<6ySV-c=`!OW`Nb@B@Pu(Aptd zU7KhtmG~f|EPvK|nby#E5}NVi`^vd~MUT(n6JI8NDun7crSF@_D3R+Pn_<*Z(fTJijgt51%VczH&0mgGo{iVqWJ${B z=DgMOjLF+};ZQ2Gw;#OL>3Ck?kD1fPa;O(z?u|`-O-^4Re>mUkg8WVTNmXbKiJ+UB z|Ity>#arQP1bOS5M@h>V#<8vAKgK9jSp{RgOmoCoX;>h1{uN%#C50xUsI~NTwLXTK zRLn8WtoD&9+MAt$yPshG)l0-y49XxrUoj+(4~)f+*S5?p?S!6>BdpSDYWPn*|Yv$Kg3q6E`jIS=Mo>p2|2v9v3Wk zSCIJFKGOLEEH@;yL{xqE=gqdyT)%j2b5mn~)Z#i&$nkzzJXy~*V9c%}Z?-9Mx0H5( zLi^Tbe?=yI|L5Gco&m=1#n!tDe|my+Fgp3s=p`^H*K zb6b|+>p?_`^YP(CW$Y|CY6?$uO8Zva9H%hT$^N3ro)RsM|H6nqf(i$m`Ow|X%^?3Z zUsnrSFNa9^Q%TCEWc7d6&ADg{wkGhztlW+P7p9Bt-t`f(ASU_<$Nq>IQd{afEp*uW z>cJb+5T~gX_;MOVAEsyxp8p;vPRo{{!B&jTSJ+e9XAG7#CwZ&NjfKhbWx^7QT!J=n zr#k67|KlFfruz@Q%RtmIy|JZNW%UJbU1y9P)+m3_D-8XTYNhs|5s!S`|@mf+tJ>ViQ<}$`95Tj zm8BU@92sZs6}Cx;{d(mID4hGIs5w1Ri0mN0A$7R(SGwu#soj;c8Qpk9*zy2-gwT$V zG?(hr`-w0rrpvSU6dFN{LivhuUqy}n54d(u1A1Q;5HBV0Pr8{a^{Jrgnej|5JVhoxE@wDE+;-)(sG~i`G!g}KQ19-Y zfIw7}LLa=~R0Y{((GL~rKXI06IL%pRDNE~-!|`_2;WmuWd+ z2y7teU8{^9)lRPV#k5KTJQG<%(7{e&ytn^{$G?zTZ)g#}6tQ}zasC$A#u0420G1#@ zPp9QbDybcu*u>oatlymoIb@~od4u>c4d{c&b*pyq#r23^)zCnQG4j^Gs^ZvV=$)@x zplDfB_ANgPD3Ri=0G;W(nQf&9zK@N?DM>%iWHhdf_U8p%G`vlX z7G}8wj-<-vqI}-^0;tw@?4mwvC`=A1|9AHDBdgFJ^WSR)Zf}OfUH5BPOXNn8!qQIG zHRzy7n7$e#Dd|ArhW}n~CegvhJVV|9`uoQ@pAWO_mMSrLWkVW9 zlu(d$Yag)%Qf^c?LKUD+F%%kb9DT+F1o3SA>6v01BG5*?DX*0u=oI{8M=58Ltk-0&W5obBp*-X+H@6b0&P+l7X14`ZD&l=xYoB}d7(*x_<3e@KprIeV zHk?UaJ;Ytg8~kg0%i1+xFS6eD3lux`siwELkf9;gSNa0W5b*_l9y_us0e6-Fv4KWI(QXqEp;(fsJFF4x$~6_ z8QpOAM>2<>i6Ln|A^;2=99WJ-WYtV$2}`OUU&^}tsh^1B>IPT2uZ{`sXU|?K0-<57 z#$%3j33~D__QA!ZLPJ>)N*3IXwz-McAXmn&r~~UufyZgMY@8x^AM@ekC(cAA+?R;i zx0UA@O;%v>*GK7qH;E$tBY_G0)8*GG0$lcR{q@k`3vbvcf2nD6YS56Jwr zphezJt@2qN4p_SfsaW8M>L)xm1F@ zex;mnFi2h+8TL}|pmQ9++;dQYEFgX_pKH(8c^*^`G}q{&gh0R27~V+2r7NtxhN0%v z=Qx$qvcEQIOgc|-7E8AuemT#iJg!0#a}@3waDT^Itk<+o8(9DM=nyNsdQoh74sLBqVDSd$W73x+`Z5#{}fgxJO!QvYW0h4u`^d?@^6=AO%J6W#~2y-eF z3?ua~{r3$;FGt8uY88ciBG->jdJZ~}SC2~IG}zmZD@{o)(GHlR_`-+Cr|#y!_#g)L zbIuDvope0ER%7ZQte&3z~!Jk)_WGT_Ow|=;+Z)o-1^NR`vDO{L!Wy93qIO zBn-cPxv6y27Q5Gt%VVC@#lCo9wf#~y?c};`h>-#-{~D%pF|(=Vlwibyj>C#C;XI~< z4O&aDbg1);~N3o>pc zBGb?DNJTA!ZO7e^BcBBcq}G>EWrei3eg{+DL}E9kN&SL)OlBP9R$5vL}O?9fo#vVRIxGxP=UuESX$VfUkSW7768 z+s?)OXlG{XPKng7=a~q#-;_;~`0h6gN%a}2GHo<>HHeO<#yt4WHTcWic}8!$jNB~s z*gZMO&|%}?Y;}m#O#hYz!_rAtc}d+J7ubcV?EWj4}WE2~6fuWWbw1 zaS?w)BzOAf7amC-lQo<`s@K^W*KEh$=}UVPEOC_q3ZAT#sB)?SA8Axouf@NZ-#?*o zp^dC1-f6W+WMq$OoFflCUp6MrFA%f!HyM)z7tRrK@*FHbK}1N~#gM38>d_4cy51IP zk`f-=OIh1WVw{iLFu+?xzD76&#nDo$W&`KGhpO5F&n+Vy_FD}lF!~MHCy~i^j=vTx z;^kZal9?S1rf2%ABb8@Em^^;qNatVGsFgrKe}uG|gqu^TI|ClRW#mOjNR%q%=gw4^ z*vBJEz({`sTYcI!OlCf_$U!bPm$Id4pYUJ*;kTr5E$YJ;Wf2(F34re(v5Bzobb7Q% zc>5$f+g!TcO6fbDeUoLuB;5sP%;s4Hxl>I?14)t1;6%3Dlxhj&uC3x<&UrCJnM}Nl zv{i>vrNk$29eQt(_l1=zD_#D;L5hcPcC9(;*SjZ%t^p?R5E0HIrr~P_jQV^2iVxs2 z+Ul#?8P)Hm;zB_ZOlz%|hsnLIzUU)4+~%$4vg-cJsV z2q6X>xUMsa7`^UI-!WZXiy0fn!M8FM-=;d>HTe=VX?i7670&#JMujCgHuZbet+iF_ zPoWi*aCv^VwS`1Lo*1WSA+z}fBIaf07si%tZfa_1=BSGeqQCgKf6CGd6SgR(5cRg zt6HL!=b$K*KI{mcv0%IxcY0hhK%p}>04t$0vyUfwGPs>;JQ393d!e+eC* z$^kLURq22Z|74yUK7DQ`cQfuZaJ_M`_}}2$f3ku%xyMjs$w|ey-4*XCoN3ec-|c|B zhV(w8t$urE@b^!5C>938XOjC8tC#aJy0pTsTenV+b@ z@l)3Mu`2SBJ&jM)O-qAL;h&|{d#Lvakzd;r|Mc&lWz+IxG@PoaH_T?=(7qU`t~a+Q z&Cvpi(eFzku7y>}8M>R}6?2>}P(^_|gJRp)a;izpDZxN#^F=T1pR>cBi{DRj7p<|>DW|>Osq-TQ6yu`{DSe-efwl#H-y<7Ls6djIZz}* zQ)F3LZMU|)8HK*UfxeAxSLSd^?59mCQ+JT~1_yWg2h|z7$gEe%-1)pH`JScnvdHLP zb1I~gdIx5(hy3!;N*DP#VX-mcS7Rcx?gxg4DHm~TsiZ`htl=#rfSbUQc3V!!?Rd>1 z+E#>*^3K+Ako-$;XE@&Tzn-Kb|ycRJ;t2vt&e+8UZQ(O6P;q-qk!(a}Z+k}FQ;27NxFvcks0iJ@qSrT$+(nW`;q?IYQ ziB2(;uB0*nefo<(@z$vgH8ugV1JCCx&DbchoI!(+eVZco!KdEw{!8i-GfA9gQf6bJ z0$5hzxKrCnQ_V&3M`x?-V7(A#%^kg|K29Pf+=L>)3T;co3m^a>`VvU};G$)x0?Ru; z0zX2L|5>dWLY6GYNqt^Wy+e8W=1+m;F6NJ>YF`~IRI5^Y`z*l;m|6HE;g-_biQ6=DQPicD?UY#&!@@SShAe9)m$d$K5 z2f1+WadKy9`!%@Kq1fy3VmsfsAQu<04umzCcI_LbhzRwv34=m2>fneu1{Wp9MR@zF zHDMH*C|V=TMrbqI0HzYD-k~9&vNorWTmKB}zS#*;;YX{a^-#dzsNu_jb(*C(L5hYP z?c#v~UL8@1T7=^pwngCpkV>?5){ExKIjiMofk16rP*L+)mi&dMyKv1qN_JH2zj17V z6G^Nzq+)Xm7xOYGh+BNzVkLyp=nQLsz}?HWo1&c-hkpNYHy%xUm4P_iZn*#OQS%sL zm`q>$3nKGk`0gyg+zu-dX#K|0A|E+V7x@p2e!#vb3QL=UrQ#rzjWH6@b!`1q{2#E^ zt*j;8N<2uyF-%m^(#gFhj#j+PTJsaC^AHF1c!|#VMFX&`dx>dw|3cQTQ_08 zsgbVYuPC_rwNnS0WBDDqwwpT{7tjfuE>Wee{>*3H;31#mu#(*jUN#_k*9M~@(Qmad zfa>`m1(+jFWTXp6MqO5MO)0Eq03CNF=q&p5cZv|kfqymC#~d+Cg1hjT=ZzM{u|z_f?pmtez9 zrp{GI9*GR)^(z=rT(=Zdh~_6qZEX7k`T!J%nB7wlW(So;RYdGQcnix4;x~q=%%tQvf z8$omyUMj%*bD?F9q5|bvg&I>DD$}zkR8d;#*YtQ_-n#skFENTM-;SF*0QxjU+iQ{M zKNwAK${DsX#DjdMVba)%ZF$b|+!6tHtO7$};=WGW1N^&{dh~Gd1*862gI9F?ErQhz zwcuteowN&sQ^mfL`;-^50vAU$$m3YfdvG$kL1Z(9Njr2{d=ob70hxiOuUbUlv*;ORlwh-(tu90A&Oku$Q)%p1I03k>U0 zpeL5bk4GW9lB-O#+d!U#quzsTO;5_TUfy&fd6qKw(=`id$P(*g5H?V;mEfV|$m9w- zMvBo`I)@j~8vHB)L!z*&!m9eQ7^i5-@YRk)IO;cUN@pd3VM85HG_IduNmZBb;$K3< zeU?n|4pH?8dqRGCbIkQ<~pPONH+5^@E26%$E}2u=_HP+q@zHO=uxDKi3% zv{7%YZj*zBTW;h-Bim08^T2lYc>_bSMAA4FT!MyKD}J#DyHOjqWATTLD0xr%Ey|O0 zH6a7UKLNfYudaZV^N%|hBH37rtA&~5ed^D3 z&<&n*!<|+vQWAhT%}{y<*^4}x=#}OV)jqF7bi*q0Az?lE0vqe^!M0tT^)ynztL&1? z+c(% z`NViqqhY+~HCJ;PL5D$Prx>;tFf_Q2$R5UOhPRx9^esCL&o-cHU@2OX=WTNJ5cJWN z*dPEqi!J;2RwC)Y!>2dHSE?xaP~iB{!)ND4@cGf;c1&<;EkzvDi&H`<`X94a4Ue-% ztkZY6cvU{E!&66OWOZq?4C@hywX-r`|GE;8gU2MLu~SI^+~6jtl-fM{GS)&RXqb7+ z^{`D^6zKeY&1(Q9cFqS1Y#%bYldwNu8O&p1O(HY979(vj-JTbf`Bvki^K>IiMGfeY zT~<-l15_)%fz-*d?Fl6h^*olU58O0N0jY<3eTBnQVqn1tpXo5rJ?V*^96W@%eU!B7pyki8r|37DC`2@@}|%o8hF2;`grU8r*LF`>Dk*HF-H2~kC%iIos?o3L! z1QIlEWixmCVfjsH$_qXIPR_(Mk@_Q_RBd9M3ycHJ9j*4Ue~^y=LrI0RUs9O&(iDf( zJYNmaF=_5|kmw`)>+j#2p3!xcIG@QB782C4x^k4m7TzeHmo* zMiX=sZweLc4Pk8`0B`y>#D+k))^LHW4J9Z;6IpPeTCh@);3M5G0VnJ|I2|uT%f+8r zPx1-@lm-a~!#FOe$Mw{DP&pu9ovYt?sN^uVb-8Vy``@DZ%6;u51;rK^$jgVva?;0v zy#i$c$|1x3_*a9dKT?w}sN~4l4`#3c8xU3n2s;@OB6DIcgLDb-U7tlc2NCA}2yg z7KlL?v(dM3sRElXEiv0I5qFh<85qr&Qnt?Zry*hg9VhY|EHhq(qvHslDY=^Dd#~O; zJALn{Db(AkkeWZl96hi@6xb8y?N=b^(Q?%tc5Vi=1BbFtXbVR)|FTBkgRaRwx|`TRTc6t054gr@<7ce6QvXs{~~-Hp_ zXT(R$FPjaw?*)-#))O!ey0?M2w^~)GMj{kTni(!VXVr zh#X6TAPx%*txot~#1q5tRdwQ^`^$3vNTuAe4l_UAL+cS3QRWc$^ajc}Wy5kR0Sf;) z(Xm-N=S;)~l3x*w9H->Kua!IWFZO|5(vLob>)EI;a&I5~Y~{fd;&fMBKw^l#o$BTh z<5J|hZQ4wJK({lpXEDYNXqttmeFjQF<-f3U~pPDeF5x zd^+#N3%ySB`os-fX6`oMU67o)Xz&EkM}yR5;k!2;e~cP?SdyhFY_lb!rDh*E{~UVM zCo)^78!C*g7#zie#kB8}Lq?<@Rb+6wG3{L}(thv>u25-Jv^PH?+<}$bm+Ur9f~qemA0hy$)Vk!m-(+O`70y%&LbT*K;C*_Jhv!oJRA9Jv z96X3hpx?UcWW*D51i4(+npB1AmOgUm?keYQF3V#3!rMsTl-q( zR?_IG(67iDq-3XvO_$2GH)QVY(96CbjoR8T5O6~KG7>fYU3~f{jUh6JVpOF>^j`_< z&XpmKDuwz^rbRMG8^h$T_lhnQ^xuKyR~D#dII~& z5To2)(%RA9EAb|s7Ewoj@DK*}-~ziCA*#*=m!qH=LvBSkmdK};dOS3>FX(bonB~gK z%Q_>1X}PsMOqeuC$n(ZyGo$d9ZVB0@-nhw=-fEQT2T#>AsO!gWymp<#{3EF7VkSOh8j8@^0lzmi-n>-WFEUM@HmDHj(iZmfV z=rUQS(K&A7JEqy4mz6wM2t1lo@gMHZ-5UDs%#mY2tw5J+3$`T#gBrZBY9vxp+=J7q z5{Jdv-8o<3fAK=DITY5xzo35x3v0wz9|~=%=N8wIna9TSm~&l2?I6-lQa~#?NjdAM z0It}yDW;8U$^`czlw?`MOb5^1xA1W^ch^X-D}>+k7U3mD$y4K54?9$+^|Kbfc<&z3 zbf0srHzCGAWlCFcWa(S=S3!cV1Z#{o@*S$*1BigXg{gw2c~`QX=o9sqs*nFuUDWqMMud~pj-L~e&)-Jg58J|4t ztK}9{kI4XSDRvnM-(fVa(NR9b!`4ISFzG0DH>E~A&&(I#V3Qj?mchR^FIlsMua6>n z=};X-?O_FmRHmm5Av>P_gLIFDGt}1EkZrs%+jy=NtYSXtGC^w+^m-!a1Yzs?R*lBL z&NYY+oT=bC<1M_z6}c=ULk&U757F7aftV-VNX%)Q^*r&Vr%FNMD3t0hHNQEQER*)T9U{7v^#eB{l`z@y@2wwfZXC zlVSI!zwphC#ixIiBPPkS6~qi=#Y}c~EcM)xDd|LjHfB#8I(w_4`!yM-4}1NR6o8P9 zIJnfafU#kfH8J=(gib->u7sKxmUx^?l6)}5FLx_ANf!II3fwIdD?#r62C#D442+!1 zE%7iM-SS1c@`l7+k0f+d$x?P>FU8bPwp*!*@4FO)8%_UDE&;YvzL+UbB3ldS;}i0C z9att=ni$(x>VE=dBzFsb@bER^);JphQ@#OH(%je3fQ|DewPLGW2D9NYB3uCIOzc+%*0g=$DnuW(f{5MXwo z#3=(_iCJi_yshx+!xu2KMV~zO(q`s2TWAHTM4AHsPbAUb_)AiwdvlY|eyi>HdhE@5rVN3xTfdC8oyM`Y}{6K&QW(+)|Lar)ZhC<(;*j zy-Ep;)!QVT5h4mbElTTlBQCKvoy8b&52uInzxOHu`j&?l6!x(4qYB=vAn(2XyH?&I z@ZAn4sncoq6hqS~lhdV)=@a*t`zyZJyqn;R@%-B5fUTa3yK0+6Z^ZV={0aHHjO7j2 z4>5o7*V`>hQ%4WP)PP`$BXhyU05DdO_2a76Y|}#UIV7u`71+O;tsscuJo{`g#?xX` z+PUnMbZ2KJX4g%_tu4bCCYw7){r^zN(iRl{&iywiQQwQJy+i1BHVcp15T9kQ2Z15s z>0MPwTcErq#h1tj1JCudJT?8`XUJQ>PC|D=*5Dcbj@U}a^x6up6wuVl_~Jl|I0hhl z&7`S70=+PB%Nqe zA5*93h?8cRXIjI-s&D{}=_=$H#vBehqM+_|i{YNTmJ}=MpU7O&MhJ)8tdDmt1S=Yj z=nK;MdA@}_PK9N{ez;rm3aK{WntcR{K+*svSebJ=MT${Z_058^c5}@>jZIfr(t0`F zp$!ToNSt*FSr!)!?XQ&o>e7BYN;y}X0`d(H52$zDIMB^4mIAMIMM(4;MBzqG^QUHn zywDn1pNsjw9ld4yZRB9xQd|yDkN8luYN0ZbupHGikP69GYpZy{wFMJwtP3hNvP&h} zzn?R`NnXAu6PIFMCEh67e7V&~9sEwenM%Bbh(+}?a^%lg3hbVjmrUhRWIJulavZ~ggy{3_44r3l9 ze$}eRL4M+tcr5so`UY9x;6cPd%_!O2zXKbir$$NmCn_3k7~Q{$0x~N@hZl^$9tbW- zMam3T0WtLd1t1K7vXVtwZ~B&^79uu+m7EwScPO+13!J_Ic&aSn?5%S@{jWTS0KI5F zR?@75&zlpNOYI?0Dbw<6{o1 zK`Sek#38M4S)_QmfD4$iDk)vSNI3bwKQEbaplu82_hPdO>6CW#yS1cpt*)&P16O>) zZtq&OvMs|)qJmz{BjYxWJ{+B^>z@31G|b`>Fh zL3`Osy>5w;OSwUJ>fn(A^0ZTvLH4w7P>Jo>i5Ly{%`a|U&4;*#BS5+|%-jeTU$je5 zUa-FEnZ@cT@Nz83U5-f}wDM`i+uq;n?;ObR9=oNDe_;s$Gkf-x} zEO5D@?C70y+MaACiM#JAZQIim5+4T*qRswFkL+)20t%MYI-yJbRTsVID(sBFW8uLa)KZt98ZQo?Dy<*b7@v0`Qw*BMo$B^#kzO^&ui%6 zEC}}m-f9;^*Nq(70g=}@)p_ys@)kN z?o$NS`7Zl`=Ly3$w`ujksf7LcQqAxQ7f2Z#%)M7ghm>Ft!2s7I~WBxm3GL$zG!Qhz4C=uuAOSVx5-8*$^eFQ0?BpDz;!t17Ntr4y-jAs*l^V|hf*7SI78oJp#l@fL+8T3W%bxS7Yk zm@#UJe#Q|R>HvK-47vbd&S#=80BO2h7FKVsU#UoEhNbbPp?qDvT@NQV3MZD|oSzJu z(%xz^n%}TxU$1KHJOr!!57fq6onJdEAJ~7_Jv!YY!0q!KBv|<7eW}^cI%7k z=l<36@8Z8@SvkSk+k=v1$m%O(Vt;6T2fU~7+l;iEcYFTzhLn3Kl$gw00G26|>SOSq zz=PWPd6#aX`lstda$gSF34lv5@5~7YUnfcq9_A5n^F`bQqbaIF_}BGW#!(_cJ71OY zvzaw27N^%kWDZ#cdl6?giVR#kFwpVOYCr2`nmLl%a8sOa^nbH~&|{E{7MeW*v?Aqw z+IUtBkG31nhog6`6Aam^VB7j;=xs>!riTAzYU${y0WUuyXh!mMzg=C`l2ToU*CDsfdWFD-Ltku;qW#Ozxq92}{ z_ms*AUI<-~*=`SF-4Lea6B-l1AE<2|fG`iwxX#&|-d6cR9e4mWG>MxMzj$_VgRQTk7_XAj_!x$mDX6 zFOe8Yx_=ux@T&qyL7{>19!f7pIF4S6&jJ1aX&>z>e0}(SrRZhq?|VZ)3Q#DiD|9UM z<^1YRj+(3gQyARbv_gn1HU5)}>4ebvF5*;R9iGRM1a`3=zX0Xr6j6Sy(^SAdgt%BH z%+)y6w}%xE@k?;V4MEfpU)f$$>J$Z78jFB=EiyJi`V2y7DHg%!oy_InP}HTal))pe zt$-pfj{;peepg>Hb08_t3MM;didiJ;FLAN!=MAkaFc7~exayA7-Oq6V(&;4wu@3Kg};6X{}^QSa= zj}>UG&D@!0jfnqrQQZYAuP_S8LJ@d0mE?%}>9rWr$3%eRTA@+}v%k zsncZvDjC~72M+k^r{GQ`&>Uq6(#dBt{>X@d5&8)s9*4A4E`d80a@bWOzFw$ZXxzk%HS=BBbpP~iAHiOg_L zPQ6rxa0AVjZSFQzY}=x6utf^qa~D)K62c+3+wNcyY#p3t5*pB&T^*h<7~-hW7sW97KBhxpd$P7Pb5 z-XD3_S~ny3#H`STa)c=$>%e^W>L-2bACoKGa3;qe%q~sHDx_5eDszln3XkO(SUe*R zOP?&WoNf@?&s-KKuolc3aLwT_0ceRCJZ$D2g;_>*pk_eYln>Hfe+Ycp52RblC{_bH zneD&-t2@~w(y2}^_eGtQIG|Cov;dF=vz~VkKo3h-;X^&)l}R7@{FFTsD@=>!8eb(* z8}O0vNqVKXpB++PSmzi=nFrx^KyJ z5u$Lk3SiRMx2npEfkr7bwG&spehN9BNZuej{pX*nBDBK%R@5_S++#6+xGv&HYz7q$ z#H8PY8}QtVt9n)xyKcu57|~r89uR^Ixa#VPYjoR%Vxe~oS6n!O2$%A_qH}q0$%Xaa zTpsd^Z5`mtWOOWTMKiRXL2A~*wvVKDiAD{O8wF8+pol#7P=j&oaiiX-|wQ_`msm;u}|_*&hd6FW?B5(VT1Sxrf4s1QXd zBZZLl^O*8$tVj}6jG7c?#w()x2MN7WrMs22{JenRWC++`ZHFG<7PTuG^W*Ix<_Se! zjJ(IX>64rvv3@L8yCM8JM;2@Et}57*egD6TI}GP&?zc2v<_!zv(17EFBNHprr27Vu z@E)vlb8%e|hHLQE7{G6Fm|Hh(dD2x6`!(W-_C6%(_>F(y)hDZzkf*9X=Z6`#n2dON z2O>l}$!y8wU zr5ruOfUp;&TMUBl-Iu{djxA~q{S*5_znHIcS=VlbWvdG_mK7^e23t6)=doS6n4FII zm<}Yj6xwazMU4~9n{88O+vp@>U-vyF#lIZhq7nn6Y(fsvZ4CgX{JPp@yC#VbQwgGo{ov6E=c$a@ThYW_U?Pg1C6?}V zzih%65}y6q^C7NiAw@4}ue~}=1CUk&YvVbK@)5)4>wQYELsyLy7S<31jtT23gm|E+zQDm1v-P=z8eZ0;p2t8a^W*@z*2`Zce zZqP}|)9kbGiTMEKGH3SYg&$wM{{u;kvAw;syo8R827HoZj}$;IJ5Z!=sQ$p{;vgtJ z5pZ=@m%K~}(|wfJFVIxlHa}SR4USi3zK+Vz2>f=jd%Au%GYAW;jz423O+A7XuYprP zA!yAzD+lLIfNhwoE0comLe)V5MFpQU^NAKQVkut6Hqc7v#_XdCDy+kb8Eva`Xtd5} z=k9(A+mGXQ=0T5vZ+>Jko^A&{rNckb@hFB-Zx>+3}=p!d&BUXIe#wafIfXofs)1-Pmvg#momCp zDSKcY@z?SSw#4n7p4s76hCptJ^XC~CbfBqTLV&`$UnC{&veomIU)v8C|@WF3XS2hQCwt$6)_Ys zBRrq%zMJ0msRTaXX4RtC`BJ&B3y1t$85RrN@2E0MhIEtvq8+W{_I=~wOWJai)r+tk z_aS3;us6NF2yfj|LF8xw1c<88iGSM82+=04M`u%`-N1a0%DTgeC-gR!V|0wi4R_Z9 z(OivKlfp>JL}Lmlk)cSuZ7ji&ty}3-S^fpTp4G)H&j0pAW%I8{zDSm7O{OTrGy3Td zlNmAFu~i2H`=U@f?tS;NS7wXpSx&IKsQ(Bnua#ouq z*Nmiomu`VBo+1J6=7Q~O;*_MLL4cl5GQo+fKPby^r&fggMOUJ-1V?pA?KH}%$(;_X zyb;%0!u>Xz%hp9XrfKu>Mah^ZJ$-|<3{IN$f@4C4NCH0T=}al_ROsp`8{I0N!%T25 z?%Av-p4(bTLms}3ln555D2EdQplbubkbKBLaizNrV)q!K#Yi}!kG z9qKQ4Et^~dp)bDx=+REd9w`(}oZVG)lInrP^W+_8W~D@C;9adJ`SK;fA*|lxgJWMZ zMh*k3M2uAqY(8M{KyUH@&eg5Z_3s~G1jJ$6jji1M7C_O@_bN1!|Bx0@65`n@)!98< z(?sE~jmVEX>%NV@KQ9MXKyi6GOSH5ma`?K-T|inQX4>B;JGss^yUZw6$)x&YJE!+f zX-G{;Dy157D9zw@u!;L|bDz~7qxcsL=S;#bREsE|lXxtnBU0kBwnGh(M*o405KG@t z7p`=LmL*(sPw!UD_*KGCnnJylKh%yYnV)Zq163Z`Z9CfbjxU3U<1Cz9rwYLmGR_ss z|FWE4p7uWbEG=W7MF&6BxzOuX3c=@iPQ>R&p_UEeT^JWHl?~fCBfuUukikob!p~Vl zwx9+&cE^kD46%wX+9B)kv&&vmfe$U@`$MgKs0pzTuIPSynte=&A_G=8o6Z!k@X9+4 zM}Y|0YAVI0n+L(kMyH&hO3pT!Xu1GvUMV9vGWlZpd%ggIE!GQ-n@gGPRnT?MeA;}3Q4(V-f5H%EGp-K zAV#&s-P2g|n|Yc1Fj*n>u|v0mR|QgDVH}6}^;oT@??jfaw) zRy83W-!1l2Sr3@Ql6%|3==8$uZ!1I=VNzen{b9n??6_1Lg^(;=>#}L505y*b+&q0| zcsDCxc9oT&*!J~tn8qyp%X}5JF_@CtJV_Wnks;CIh_0x>!_XcQfA%?A_%vr#yOUl2 zFMC@J-pPuTzYS{PkWMOZH)epIE^ZqSa+uD|R-cZ~^$K|nGI+!ulxGF9BK7lP3i>(a zc)x=RY=m>2tKh{UT!BPl1PnHyo=;PFA-A!8##+df3qE%jL7JST7p1NLJrg1h{(S-l zt8AcbJPZ6XLman>{#{9EEN#7 zW1Z0Hu$U!yHX(K*dQgRxvWuKIE~4DMG`s~bsC}d>5(C@533Dh$YY3xKLq%n@plT$^ zQTp|i8e>6}C74J86aOi&`J)$MeD8;x*c#TBa_!2e2~f@!KWLb^33GkSd{xY-Z$VmT z<~$ja6qsI+I4TFXup>;f6DO>*t{B*+AMu3S8&{VQuL|Jg)USq|M_1FokF;|DI!(sM zkK5hZVq;TTVd3zDmvkJ(Hc<=@AcnKU<9EG0Yk!dQBZMjclja-YqS^xzD!B!afYz*& zzQuleB%lV@W10V_9Yf>a$!Ryk-Y)aD9NF9Zui z{bT_Iki@S&s(pgbLUe)Bd$(&+0qBaeoa=MT=Io=`jWu~0TN^v_n$Wp}t7{5g*E*Uy}}2*0;J+h0m14t%X@0x9p8 zGu{2t=VJ?Y@u+@{2g8CJRoznzpk^_`FA7eojYR20cAt+~=Ag9FK?Xo=l&|eYo0cPv zP|f%Z%O`?E4yLbAft;geoBXm{VUi;!dgjJZ0`a&v=lhr|gxDk)bm9~pOZ^v^U_L)a zW`Zq~(b$#{L9M%_t`}Zzk8^~jO!0(qVRFVJb!wUWL1?sJ8aj|^=6CSsUSqk`gtFlR zUc;z@7|Vf!j*{^$J+UE4gapqvlxX0=eeo)hq_y=JR|j|V*pH8|Y6GNg(02CK>t-G? zqr+mIZowHRjsJ#NtiWQ48_!TK+XMz;K`|cY7)y9HC-VJdLU2Opm!?oYHt*kQV6_Jk zHLATi(LV@*rL3pE!SoRyDj0S9f>#O9quZ1$E#vkh_ zNu1tr=G|dsZpPC<^eVdoI9G5eRDwst_%5*1l&A*R14^$1Wzn&`hFpYKK_^|ex0utl zaqhI8GP=!_bjB>~bk+Sx`m0`A3WU|trerV6cR!^|7*NhR>ZG%5L%ld0>H9ieTqut4 zG9h1)U`>I3aX#*W4rni|5Vv&gwuE5H#b4|slaj2A>2VoL)#NpXq$?2AAeAL9ilOOa z%v&1RUE_XcA#tG5bq+D3der_&g$1YSlKk9xSeZCkhja_X@upkwFlVW1d!-!PN*5Am zwR?P1P(o(vk6|`t{rr!yYn`JW`1++`@XoJ__Vm#QQa3Nhs-!XvkQ!teAP{uqI84OH zwc+W^Q0wv172fO39GNbR5g3iE_ms$_zY(8}3zK^8-x|bq?Azl;PS&pO1Em*lig)l; zk^un5reMi*BJViJFnF_@~P9LialUyxe%KzDHI zZ}0LbElLc}yYw?lj_lgniYAXdnHJC&G_Fxw3sfask=q3jt<7y!EExP{))8^A%V&<^ z9p5#wnB1UW=yY5U@tp_p28hvQRUY42BzKK6F*}S@>s_$8axzUVhmcs;^E2J8ZN5~$ z14srEcaB!(w^;4@E@j5Irz~7X(dH5OJG*f;5MtU=Xy*5}M6lpF%&d6$3(Mdb%Kv&g z_1(vx1Ci%nU_<>xkupx*JNfY&_XlSfYfE1FZk@2)qPf?3%Hg!Y@pczxstHg4@xjkV zVKRt)3QQw@x{;&@NX=d5V$y2kj*4S^+lOAzi#tkx;+{KRM4yN>BTn{3FD_vM3!N9- zYV#Zy7!v_c`V1w8*hrBg0lvH+q|-YL+guFB7l$kRMn@cl=hOLuWNs)PDs_%TVqJb& z?1#2Pm;3xqOuW#s{zk>+wrW+XylLk{!mrkji_Z$DC#Txf!B$P=s9HB^xg&T3xgdxc zAA&?*lPGu6=#$- zIE3n4FFA4|ECvU^XLIiiKPo$aUjYR2KW3{?*lahl=t(8rY-lK8v^Ho#GBjIx??b-3 z5*bGXZi%*ny!dLLA9(L(YnFi)b!(v*eLFZX114mdq7dLXbLbaPxgo;~+>lD~cRjBq zB3|n?t{1H}yu1)_apu)=V$n{CK*shWo1`8%ngNU6$7Fj@A~~Pce&v<25_fw+P_wJt%i#{h^dDA=7qB&sUC4G zFb>mD_g9}9Zh*V*<%WPDn$vT@4REyoIJ%RdCXehS5Hnn%U|g=&?grJt0tqeXaRw%6 z6|>FPg1iWXavIh2lGyUM^m8MxUpppd8y(5PddS)H2A4H7i%64S9U@!vJ<^-t+U>lA z$5maXc>%nTS7xn3S?4a^5T*LUN+X?=hp?8bTG=z9NUYGo%U80PSif;U&)0tJHQcjI zD|bS;h^LR*epTFMbm5BRNS+*@I`y&+^S(yR|HBEB2Ms~sXr{+T84Sr_X8qBgTAt_` ziaSk5k+Xi1kf&tfOs!bHCYmVr&@DH@rnCBkgHfWHTS0&;I+y;p|E+7e_IbzyFJ99V z8aPVV2!>cTL=hC@W71uva>AFG>C0i*2)5Qc8dT`8RdJ!@tNg!gQr_A|as0j(0=%V? z*#mtwZ{6e1M5htsAB2h9t~2LI$6fD$WNTP|6!||7NFFvHB=`fV8f2*;+N3mb@N%eD zdurkiU=`W571%)TxyRPR>GO+XdO!t3F%UN_@)TD4iV#RSQsRblL{+j010qxUdnlpZ zBNG6g`x_Pl`Y(A&9N+xkpu4j^LID3DoW;FPl_wikxen~MDb{J9{8kB2gxjo!q{yj0O~jKzsrZkwN=6w#24mBEUB(@gzxfTF+~KgOrg z1OLGt-kjF64SvvG_uqD^hRT*6NrdzBsb76B!C#82GzLbqsLYKbaZI_2d5a+Ug~)p2 z4;GvIfQv%EIih&=Hg$~`#lT1K#ssX`*<%VNvpH_`wXo)x!ZXod|{)oqSs*GY@3wiM6B_gC}WB8aio$Od>BpN*|g7r8+z>_77&a^xLN0&6Ek)NFt zp)c?>$2en?xi@*gMb^aaxfcduw%-?@_%N&lMp7+VR^M^O_$OPT+1UofQIY~%(z1^5rtDDbi2>h%%NikM1 zyo0p=7nGr*i?Tz78XS0@C$TX>$3$etOLR=)938n0-cd>~u@}~|wKbmQN-cMn``?5J z^omxiVAstBC@33|bFLaEw^AlZ3{t)U2xzkIV?03T6k;K-l%XQn0vGqr)FQqGToibq1 z2s(JivKi6rw4-qxaPs3hJQEC~L53t!eG*S;t#);?bmOL3NnLr8YE__5920E3G768G zJ1307xIutD)!-r(MK|z^AoP%t{6;~6UnXb0DY82hbJp2he(!zwwE&g>lN_3&Tcl@N zCInl=oKr`G5fgk2Fdd&hHmE9;ulEs-JSqD9mg_-mk&vEE{zq4)xlxSi#G=agd2W&7 z;(w!iS%-grXFQ|)$md#!rdDHr@m0Z>Oas`BO3sw;NIg^aL83S(fk_gob(h6~xr9zaN4z5CkV*s=T;-QV89qFdWXvR2v*$q?OofFNW z!4H6Gb>!KcrT1h%s6x5klt5Ncw_L#HwEXYNS|xC_X2ht%F~KqkVvx=@Q@if1a;<@Su|H0d8^ZZWnIOo0b;W|Y1p!`r#N+(Uzq-)zKYScbeu;!Ye&^vA64`WDyU`tbY zU!MtM;4gRP0G1WUB~(Q)3{(QQh$@Uaxh{ANrRQw{=Hc>L-)37h+DK-Z#!e_Dap15? zM*yt4A|B7Bx@MaF|C!_Z;TY4luZ5=RZ>pRTmVv?JX>y*N8rVx)!BqzNU(o}~UiBl> zPMJ09MEQBc7Pb7f5F)zhIg{Sk+ak&L!w zOBIQ*`bukE`Ama_=n{y@h;k-^B##J?&Ff_|G~VKTk70W%8~rY5>k{BOe#4^6N>5`4 z_cPrEX$^&Roc3~C5VjSK;LD}cc(n-(;sQJ|4X?$OStKe=Ny5!Dk=w2% zXaeK~WhB9EoI95vUE8>K@J!zSQ>tyjqtU6)Z92Y9VKUT1F%s5zMiNuK+J;2TY|doZ z&E9ir2-Kh%c{r-UQe3=92W{_x$cN8v>g?W*#0c|&zhBAe^!#!WY$Bk%)%ITW3sM@+ zBmeT%@_D(A4WciXDL)fh<*z4GG!!F8O_TL-9D35%Kp%_dvneqSI0j&f(R{k40biymAU?bsCJZ;@& z#YomUebx@R*gw7a^|;I5e$e8Mjog1l9|WeBC*<>ZO18rKpN@)I$hX3Jz_->xZbt*@ zoe;FZt*Qemv}uGUKj?#=x>X0Bcr6Juy;?!gg~Z~pjuvn5*bw5wOJYO+G_37$>rl?A$+wx#nqZPPnr3^E~Vk!-X}u$ z7BygJvNGpLKNcqR!&u%mgdzBME(|C7+PZ#|i(JxV#P)RR@6j|O zt|cE~kOoupj@RGUW3;g+TMK+FeTvZjW)FQH_2ZF&U3MBl?=|}&@&%hsoa+=-GGs`A zKi3D}US=d|p1-6pDt~?6*z_5{ZTb5ijbK6BJ2GgX0gN8imnY#~ty!4*-|{40+#yu5 zMms~Z$XllnB;M&W0n#CGsoz1PQ5b>nRkT3FkD>nMJIF>T@ge*SrFG&Te~pxe1`X?04EknLW3^{3j=Ta-E2}jGO@z*5{RkfjuQ5k6V zKJG>xV4fP81*Ng|Q5f_HZxTjV!Vlx3Dc6sP#0KGsFNVZ{J9A_Nw_ciXS=E>#hvTeP zl>jdSDnMH^b<5~%Wi*@5TVeRIR0Uxp#^zM4McA1gbG*+&Qe*-U2s>l@69}7I&BY2A zaU-RKqFWMN53w?4ST($d-riKKG-6x1&Wk{eGEuAu)*B#MOlF10m|ghG*+(!i+VOKU z0aXQY7|~BL6vj4_1V5&Z6dIKx@~99UL+3Gwpq%);9keSP2!h+E=f$+gP-tn2uXp`c`OUMnkEs6;b*~pzKOFR%hXi zFeD(#-Fljy_@nq3c~>+bK{WWphWp;NYecI2Z^DmZypsXAW!mg{kIhlvGo?V+n5*Dg zC?}ood2sw_H06?9%D#xQOCTKdg}_KG57xTflZL1U;-~eZ-YR0npT0FyWS2~L$l0c7Pl#W8#Yv2rd6z%0q!Xe>7w%RSf+$Hu0HDW8Ll*=JNa!K-9N zsL)%tdP_iRfctp5Jw@~#F5&Fh%_QVotcj$e9X$A0mX9Y^UePrYn<54B5lrvT<_}F89$JPpgUY` zH46c=BR41o-nSjmKA}O_4jmE4o<35rh49~MfZ(N5LYbEMCU!BG@} zAev#b|Brk~978Uu40l6K%|N$b&I|^{#87a&Y)&hyW3Y$m=sk4jHJv@F0MLr zeEubFd!3>oh9L<#rBRhAr+o&B9i!kJb?j*%0=*on^y&#Vj_7w3wYsi`s896|Zs*@P zUzeA43$rBDL%i*f{TfbMsH~`Yjo|+XUq>YOxOUPN5QX|Gml?xllCBP?@|X2BOg#kj zz5es%f%*MP8;nMA<7{gNhR87GxmTwoa5}}1o#~P)o0=~REC3{_^E4f)hP%QYYWHRg z4P%jGUtSJOx4uduiVgJWHkLLy4z!4_w;AMwS)m$qGi>8YMV_NsF$Mzx9lAvG<8WXs zXo+lLb0Vqc&lP_71nF)IRFV+wm3W}Smk$>)-&&1uaH@@=_;v(T)I1UmIx85pH=w*9 zUZZKDNDDgWA1OA#=fQTOkdcL;=+?^>S~2};lu4Jhx?QS(7)&_MwP4_fBHV_gAxv;+ z`SA*ZL0zwU&JE5uWLtb?fNUfWlc#7yVm>}S_9d-?$>P%`Fmz<{1d!B1zgnvNdfQ1K)<&0#qeUWG*7NaBW`ozXiy&%< z_SARjP_Gkpk+p_9G5!0vY8Wkjp{-*e$Q!6VI{rye8rN>Y*)_DtuiMGCRKisp;Dw8b z8iYp%z26*5UbX&SH7e23p4%d|E_FF>EtYsf0#EXhv7U-xI`19uLN#iMwhpgI{E4~; z2iWM!$-h53jU}uDy<*DPNa1J`f32Tko3-k6T4^*3_2quDee+%sr{Xdf*9G_(*LP>O z=x)IZh#)ZtoC~|AW0W;*&e`AeXSI9-cIvt%xL*rbGrzzdFZLAZNGOap{xyq(&Wd z)s3<^F7E`Is+5R<5)v9`JUU#7%+@YSF^y6A7kN|{#CL{Uj!Skjyj!)5iB!t~LHJOm z=%o02W@!?&{2&@Un2o>&M9YO?wSHs^=C;B^+&P{P_GL_aP4Wwhz$si+O;<9C9R;z4 zV_Oz7ZgrI;)MEM9tQDjqZ;y^Fb>32j@Yt`C9$z{%q-F$l$$A zVmfs4X?7y(Da)szB9-96eB9{;oE{2jUk(8-PXtn1e%hZN)%0oZEc6v~%E?J`0_sow z?Y`hCJvSCB+=%mYI$ya!BQeMmF)ec--Ylczrbm7~V(uBc3FKRK`8yuc$kv|cEh9^T zY5{T7A%<3uhzjZl5HJ^XzvYmgS8Mh<$g?F;M4L%cFA!ww%w8{2ky+4fw` z0>B9agZpH~z~qeVBiBp_dRFJ*^9UPh7rka%iy(a?F6np z{p`D+qc3LyYX`=hs$8UN?EU6;C%v=hCSA1=uoJ}r-epq2qcow79K(x!kV*E??O=TI zMRGoWjck(}gR`n3!8spha+cRUzJHBis;bybzJ!opR-qRI`D!ulq1l_rxQTc8!D~G! z_wXJ?4V*}g33>I=RqAN`8Qnn6r~b~>mc9Vy_yEyN<4x&_Pw)(id0c zgG}q)iei~{=n(yoe}9~Z9u^F9wZW-z{2UW@TfTk*jH zQKT+(t;di(Bx1oNchO_5jU5u_4vf}Kjdi}EeInkOh=y9PfixyUIFl_qnuWSxC4e5J zakY_&jqa5YwK2sWI2VWu%Ljl+lKXxZxYvbs9fRyI7wt53jkX7rR9!w5ZX-w(J{VK6 z`FS1%zLiJu!v_oq#(Sy_OQnIw8*dkn%Pz>qHm(1gy2miFok565d_O_ z=rg7wiva*kCf_Q2<4kot1W%FhkI8j4>MO^%GHhO(Foq0hhTK1?mG}1oOm%8TzW!o| z8NF@F4V^G(y;~u=wlpL{x*^^6n@n+etQDPDERRDjb$^5$b~+U*MWlc&b@AefFYrXoKU} znzau)9{u~=Tv2}xU>7}Et%zxxy~#~Weda`mnx#Z?DYxIOz*g?b=Xtj1(`-G-P~2gk zy^nAJ$0Zk^CX%xJonSHm!2bNRr+QMCG3gIF)BX&Gx}|DUF(Q*a9-3=m?Z} zr-9EE40*jP!mF{9KLU22C2kcV%`dU?fzY@{m$1@W?0WA1tjX}HC z`W7bW<*k|U?i8+5z)jQ|YHp8d(ubjk+7fa^?4nOp%0C^N=4*aoZ+h;$I$D2<;*)*a zM@8lIherHiW!7P$0tKnqIA*EF@EOywjTymRvQBXZAMQf-I|AKWeisud)>_+L2OxFIY~in86*m!G`N~W4pICc+lv`c`F-BnNe?}<60Jh;1EhXL zP(4K<_<6IHw$SNc^Hdo?GFL`I%F?LzYP^P6GPffccSCt}42#$UD2mE|8gF$5ARmKaXI%3_7L{`bxb0q1r5!nJ)aEa3u zC&)ho-lLz@+iL}m5(Ho#q86@`tv{GKwdMd4Ot559z^cB*4u(iOu+^Q;iwb4 z+$hIvv?OcySrCCXH(^(yH_pdtT--o^P_pSVTxe^C7Hm+dwE2jOIFfdX!?DU%jIp$>0Gdz`b@QbDa8GN z1H&f5SHWeO?n%Lw%aSLl`5MyDpPgumYCe12pUhY$g743_^@CCDv6zYi1kXOeW%>8>n5H4>yzSznN1Gk7n$+$EeY3Qp=dzcch3t zWuC3duJp}M*fS=2Xu!8s)Qs+ zkOv2FpEGnfzS;w57u26^2My_C8r%^s!J`a#kIy*44}!a%YQFTcPit-UWa zY|w~3HW|EYzIbjv)uwg&G_8h83XGYB{@70{wNV=+)s2G#N+vOxfi>T0@)`MwuW(us zkZp6xv{#QaW6&HQ2|ePo$9%Z{K( zpVG%a8Frdvp`iXUZ&X;$>_8Zb>~SFm;bleuLvT|?<>h_Z)aF4Mx{iRvWiJH;?^yq% zKUFOh&sT5i6I4B-Tcu%QR)FiGY;(eo$0Q4eUL~#?X{zaTRkkkAmm12b20++wlqo`(^Om_f54BI1#M{MV#$WiP3W9hsg2@V!DG zrw|IMPs3~j;nwt~xnLdI+zYxrjYe~aGuJwVN*Nq%bPrD|f?2O)QEuIw+DXB+zg;^H z?%NZKKDAj^#f^~TlYmi{DC_lu;=gR^pRtM852UmI?ENG}CYJ=IH=Exa-^pcGao8@x zS+zX--xV=AZv@z5%GYHlL?3!}<0C@X#i#57y zmI8Dl7!(O>iJ9hwSiq+m3+7NA1G0UdwHAheE=0DX1H^U~X*QN%t|O6h!a=}w#Ir1^ z92{+tPo?v&YM^t&fEz(7xU!$a8{VTIHVB(3aKa_MOmxY^{py|ZwR*?p{3|_ZXSO2} zbcTVS#=`;4mP`JU$IAnO55Q#Ro?d6~?mXsMyL~FMpmoDsfCa_K>~m(wZtO+(s2Za$Zr)P2vg63zG3DXIWM zK)t`T@w3bDUS)O%kltWBH60?bnv6cGm&JccVA_!E#EFZLm(g3>Hez~Z_V3?V84LngejG!pfxwKW!VE6)Ic$w>*UU4 z;;i^7E`*U1KSyu)8{0czhs<}KFj@rr2Vtz{gx8y`|FfNuyuF zb2jmTw?OnIEsfdGjfTqsa_fQ>Q-Nf-X=aKdzUgdETnh!UC0SdN1birO$TR&3(zArR&jAZ)$l~z(DFI&<0g}Z(>kViY+bFMA|9ZPVFrA~8jRx&*oC;uZx$jhlrwB=9W!5_D2%-a3^Hk@L$S52KgISh0 z9syz2NR9nQ&unrawAUGqrv3h6$OO}+FtsXs{{sfvxFpL~{`3XFxWe1yFHw5NFU)O0 z$Fo(ExJU6xo}UEW(I(xKeE4ojN#gU%*wWWSbo(D)=Ox>|>_#Eu>V)UIu&}mXS35hH zp12#&o$M*%Saci$6AXBw+YK;a#NUhsdb8r9QNq-|x{JM&aER`sTzMc|P>kxksCJdb z#*9Wu%B}a+j&}5N7gVv_$<$tZkx>NlV@UI0t8DC=6n!O2${u*!35N?CHJyIvw4`xr zg@*6BZ^J#We0>qnyP@Ac;PdyOOi+oOP#4o#q~)w0$5SJ||DnMmoSLdoIz~2FqjLQ< zffh^PCn(sewZUDdvY4a2?ky4k)gki<`bJK!YT!8C7EL1$i2Ew(bpr>J_i)FIOfpT~ znjFX3$wTzV(H|%PHn?9|qpN}f(=8iZgsH=lyg*){eaBWNx)RLUV7r1A6vg_1*}`il zo$39)q8$5oMlp(PIuiJcm=yKvIicb?OUhFo#7h^S$|g%vn5-lp4{_e_X6JCpt=woO z9&?Q2g^I)1$HiOvp-o%ujVh#{d@QM9yG1}Z3uZKv)I1WL_TS^F@H|d4mC0vI&kcB3 zfwpvSkdSRPpTmDzX|SX=eKOTIq`RfCN5OQS<#=QH}rsATT>w_MMtcvmaqQq zyM%19H(>IWX9qhgp3#DdmJm(5IL6cJ@dhNV8A33$j zuMmSQ!H6VRY;AERML3S)3SZuq()$IJ$j?lIJ>A=#ZupUmF(+ObuBypZeD&Lt3|0Yd z&xSdW+zh6JHefK)->Z2u@KrQI?uVp-vhJp#z(PQHTOnl@LX)5UiVG&_CS2|1o0M1s zyxyTi)M7Mt+b$s*Q;n}_?b-J60f%dk$r;#+pJU#sB?G(n5$6<*;TYk|2JDRSHN#=a zc0V+vZlKLcVu!^JI@4vycPT9z(-z{g1zSughOu6-b zPVK`04W;7I2m3(hL84ns;ahfR7EA)**5`za?eVtQP7;s=amDNWN4g?Yc?WdWEn*EU$St4(y33k7eKRpJ#Am z$iToUFrohm3KB^7x4&1UN!MHD>1Q>bv&A7H;}E8ibKR$HsRPSTt&Si$f1PH6@@BKv z870bC*fg2zL(&XbbA+dFT@M0Wi3$3uDL?5=fIV#8pndpuiO6F}C|kyWISYW^q`?|l zCFV=*Z{cJP+-|rZY9?glxf8|n9fxOt7cxI<@RV`f2Rcl zGuuIUdRJ(lV8yk!+`$8`_CGSM5oe4M#vr!b`_&-uildMxt8?W!8a} zrSJTwKyYX>rLISFZ&goBVBBK|#$LBVyq5J~oROcM&r_!xS;JhA+*H4H=F*Hmfir3% zIcNOwYGwZ~Hq9ZLdJxKV@gU@0?&K&^VH`=r4=6k{JmY6dvho>uAj~Jui6jPjo{Uz~ z42{^X*qt2KL&L8(2Q{Xw;cE1eym=^7R(5wvGiBs& znaV}475ER~1s0eEqL&l;ERt|REN&L+x_ImZS*h`{=z#hkN1@jQ@jt`0hJ(~bKcC7{ zQE?_vfJZ1lAj(ttEm{R6rE%(=W6-`hClZJ6GKB^_aw?pP0b3X^<3nFCX_Xp5Cvlb| z(?zswK_?22kabT2xL~-1!nm_6(+(Hoa} zvo@MX-czjxlbRq@Y&mYLwnDBuYVj9?(2)WE5o0N?#7}JUcfw>YdldP$&2~RX_<)3Y zsUI=RU$M1!4XYX=d`KEE2}442Z|gLPnsKp?i()kv{Wxx?W{=H{`Uyqh-$hmT>6YCX zxEBp5;bY{oe$H|Vh{$Bw?D{QDs`J~y&*+J8erQ5fU3o}^Z%@!jqw$bF`SzJL<&%MD zSR=N85iSiET~-q04Z#T16cxRQ%aQ6xqGow$b?S=wx)qm?@+>g+40{~C70Wf<*mCJ@ z1Avd(f?OQ}YS)j9@n-X$rdX#Fw!|0czjtTFP9MSAckli9@QE^y*T}_FFFi#`c(5Cb zLJ7j^oOjae3XVz07Q3ZRVvR+H38hX$Sn}z)WU?hd{P>ruJpZ5Ce~Yh@LXThpxx%N* z0Y4)d)}CiMO3v>&aOUrU1tC*$QKv7!P0iy^N6a5nh8;Ac7k^j#sQ)trQKQ7JgDgK; zcgiUTD&xPXIUGSsKq{C&paX_i5T6iu+l-&0Dh>a^)m7_kwmARIK;~E>-U}pUG|l&= zv^Q!s*+jE_!AeR_IhnVDnGiLTC`1*pxtj>i4 z15Xu<*I~B|1o@mUk1e$8+Tt+}E8Nf-s8j*3GV*-d*6N&6z@XRg!4tcP>W_k2H! zVw}Hsj{>qeXS?t=ftd_lYjlc2vV8)ziEael>9dKoc)5A*GNBz1H`Rl=Sn_da^aYIS zo^6H=#Y+fPym_N3Rw9*MSGNP_p0mrh;i0N~)p}!Ky}`0e1JPTL#*?B~=pGN0+ZuYE zPsL;4)gIzFe#TnfDg+iCO%3&NECxXFh~H?1ZEf5&6R(I}_se%i(fG$XaY@RKIXd|+ zcybWpqmi`68S8&kRJ{CTiLzI&7`X(wP~HK4>D2-ZeUOCDCwRong_3A@kV3YKRHwOd zIf6>!{#84!s+Sd5a8|?S{zh+!1p~|nv|xOjL>`bS%;eGY$CKMyiOZj8rqT~pX8IZM z-=WT;hJ2=ZRtd5F278F(YldDc&7`?;j;0ni5t9+QEF>{=TBzoVLhBdmD~5hmO95Nz zxWNSRPk4@6f&H?yO}huOQl_Cv_4NG89^xK0+OQF=vhXPl4hvsc7(D19Al zf2tTkrpml%HN%*L9H6{w^+a{y8fUwqhqMx=}LhFRHi zSW&d;z63NG3ZNhm48#yYSA_+p8fPNxDm#6EuGM-XjHIt(JVrDmh3?(Q7zKX3rvtA6 zQc@TBbpT0@RA?EsvG_$QjyJG z;V|PyX|CJ?>$H=<_gc7W?H)&cERD#7o}8!Lt=5H%;^V1H?H(xS(TKsGkP5hX9x?OT z&Ubr!1?2isOTZ9|L(l6~_QMC#Odk&>`Yrz#D+`JSM|@^;<;ozrA$1I+b*CGk;DTm^ z^JiNw-5QaG7fHzO3p@GSN;Q+!4cO0U<1omviU0%*#g_IeA=Tyw4cvO;l38`GA`vOmppjA^Jyi`uI4HdWp<2Rmt< z$mTzTB5iWkCB~@bM63?6Lk#Rsk~tZoIlMid%wGzfb(cCg&IN^$u0{}QZ!&;;z^#DR zalyv>jYL@aN$hN6sO`r=7OU(mjGF$3PJW$;_GyDJeT&w$VlJ;zacyZK^nBeDWTH?) zQTZl%Z;6+ZV7CVTGGJ*qp7^WhvPsj1UIi*DqY97A*jB|R#FtD?e0P&?MI!<&ENf^5 z(iiuVfK0*mlTvKa|JP6Hy{;&3oaKY`+cbm*8bNLF!F4hLzBz{+Lt6EF(MiI4<)`dQ zBSNObmvUQU%k?dXWEvr{1hc%;ju_BUz9eH8ZO_LrTJXbn)Y3_OnZD5eZcr>*&llg! z@Ju^Mm=L?v6|Lu}m2b&7ObYcQ{CbBEEX!GcI>c;M-ukjF9O0~#hF_iU+0C+}Hm~5q z4}K*O)Z<%OV!G*}uU8#Z?Itpxb1j-mxw6vec}ly-htgJ~Cc4WLRKmy*KpMc%PxBSo?k zs|`zO#w^Iuk-+r!kQ{N!KPepOM^gXG@6}WXW_J5-5yMK5jQ)p!Vs22~>a;5Sa*jhj z6wdO#|G$E$F@0XeO3#-oabs%aZgu~mzRJ{q#5*-6&Uo$WKd)c6RxrBV{IRmn*XH19 z-E6Cd_PBjY2|xC!9OUA2TwMbOYyursD50>1aL&!hf&7-P_F?#mj$PGwf|VdP9&6(C zam7S&7C;}SD}b0YIrX_;lZhZbbBVauH5kREOt&Zx0G?whcTh`vm3RHgSC-bC>~pl|SMvg39T;6w1O zeT2}?dxj25M%8SGZOE}ZnV!&kPTonDV0R@M02UZD5av`#1Smt8Cn97xg+$~GMr5L1 zoo6Kh9dVGW=%BIGP7o{ZwtJr9?hn^ZLi@;!Q+b9x-?7%EaYM2=Sur!MCSk%xtFcJp z$uQ03v0LdDRwR=Xq^oYoX~2Pj_o2&sYp9)_0old`6a?&TTCf#v;R{BmeOONndf8Ku zaI}6h3EzT|zeF#Y1LS@j$G()$^{mJ6R@EcH)RdFf6PJ(}h4b@YFpckm;>!q;RYqa& z-Qnmjvvje50^_(6l-b{~gPJwTnn`?;l19zr=HaXUH#b5@edDMIZ{EwvhEit{~0h|y3KbRHt@Nw5zFZ*F_w)WqT$9^V-s*E-~R;74M_ z7Ea5{VpPDrLfCWr6Nb>!xz3V^`sct|e?evzsIvq`bB$9v=m4dLeO|SDi;d!x++5Z? z3hN&1V&bzO8`F}nQKX=T19nxqw?f->`0CJ=hTnRP3wWbeuya)70h>Mwgp)^cdt(iI zP)XONnK!<_lt4S_iv>`2*BPqHuawfhM{2@3d1SnjhFlR-^mGnTE|ThV|I1R_G~rNU z;@?pB5S$uHKyRh`y+tqr0hvA2(@u@yREX0O7`KJ$vB=aYN{g#gjmTnI-s$QS10bZ( zT5((cp#@XU<;U1Bq;qCgIieSs{Tmqtq`!T6 zDpi)j(#Kr)Eo~s%D?;^K#tTJ_zbUES?Shm&U49TdIN2Ht53VT%%l*Y>MMG{jn4YD7 zd-C^uyUIH0Wc2B-=7rhw_9?f|#S+wkp$$VXQH;0UD2BvK0jVRI#=!T*&+4m^$d}OU z7@VG&#K+FMq1f_GOMo6~W;t3kb2_*8!zFi;BUZl1J0Ep-J12H{34LFNeo1x|N~Rt< z+jRr^L(Gc?LNwVD42%fhizUem)^l7@k>XSqY83AKE7GhC)z};uwjLZs`1U=XJGvoh zTCBET%fcbRa3OnbEyioVGLgSDwxDfVtf8ihh#6KN^%d(XU@2|&67^$ioqYSIQSec@~wXAw`9b^Fd9eaP|-!wapx40JR=VgP5^ z@godSvmbotC;VuZ;-v&$9uuK!j9}?g2R@3=GEa_`5*0eSyjKmNAZ{B3B0U49A=l|1obtJE<>I_8J@FW|jw$$Mr&TJ)@eSDaiUci*` zR`|7&5OYexLG)9Eami@shT3zh!rVls=cI?6r{2S+3?j&0*au?#p8!1DXDAnyQvSgT zw0l3VCM$prCz{(5NbaxAh)dqrCX52;XxdQ^`c5J$scB9yk>QWEntkW&2&yo5q?9GO&UbmGHHcnCzOYKq%_s#;8d*xiJ8yfEB(!I zmy*iA^z8jDCY$F~dx_LXv|hauiO6Tkq*Wk){_9Kpg_A;VMEU0f|Vz@w` zOqe-myCQWs@ztimM1tEr^EhF3vmp}C>Es%A^U*QK7m*OsMJhoOKFZ6C-2>e-h5^6n zNYHyFu~q$m-kNYNEk*kl7mY)+Rre{)f`^`E>)8-(6gxZIOtPh9q#Jk+0G8M=kWr<| z*#Xfb`vpsH2%nt=$E(r{1{cm+=_&PD$-5pGy%If74tFJJ+=3yd6rpL_h@GZygc6)6 zj;5cb?6^SfR)=g|&#EF_?z!%6J=`S06-8!EA5m6vTd4RdJ z69>D+oq@B(C_HhtjZg7*vMJ1q@OF-xlN-3t9bkaoqdo~oiW zuC3KOQPD+hs9d0yPu`#X-p&pbTt7e>be~^Lejp~e-u=`hB)e$JZ^wM%Uy8Ql*d5<9A#$Fgu;8y}RPSA~foJ$3@~jNve}bkcYzpcOyPQxq^Jep^&e4U4`qZqum`%q{izu4BnPCo_&@lykFy`g&o!*TTAtMrUKaF%juST4IBm{8fNW?5(C zOlnmMhPF(uD-qLWyDx4`X=?I|2bvx$&uZ5Tz8KY~vz#DSjJ1_W(wRtdw_7o9Y2)It zPyyfHJ1?1S31>%Mc~l?t`P~)3*eF3|14q_>1MA8S_Es`>$=A39~!*JkE2cam;T3X!g0(MpD2?jCyt1Q2~JY?$*Bp%*G zV~ID?AveI6i)Ubu&zd04Rl!(G*YUjPtSA>8S0xNcP-yYmX@5gCD(PRTRpSY8&p4wV zX=G|Z;q!obi<{NiNi$Y^pTW0CM|_(ZS46AWM12UK$V;D3(~F=s`*gyJ($ZZiS{x?M zicR&dM*~Jr@g&;$^x5omA`+iESUiqq0c=mlIJE&#FQM_Bw7bDwgwAmm?DD zs9g1;BjMh|$ThBVt_t^35?IPlKdFcofkM=Ny5G7Q>|eCihh zns}z4H2M{2DrfeoRkpzi;kJ7io*s5A#ypTu$9Kbf79jeY>6wdZniSq0&=3)vWspaq zl{tOi4eWTlP`5SwmiVjUQ)_78`Qd#&!eYCuZB8ba{i~P0qPB*2*AI%S8Bv8;& z-fFN=)sN*?tew!1Sf7d?^-3^QMxRx(?|gVM!|2&nQth3!INEAFwFUa)IN4#O(;w!H zB>3>3UR1K6F+piEpy3zoJ*8qkQkf%|2lQ z&7A;tozFjKsWR*(TA|As8b8DatEahx!z3=vDfO9E;~~v~_K$6gt^Q^A8-m}f^26tzO8s4SF&xg(ZRoP>(-uy9R*wCz9V+3xdM-4H)sy0xlK6&B zZXQO-_;=F>V<=GAoNjak$|S+--76@40Qapo##I9aPwM|R0CWH6s|p&2G+)KDS+%WX zC}bJjWVwoS>PTapi4u1TkwyjNbd**QA?B7zy*lC0UIkc2;0oD9SwCC(F&1_y+1%QT zBM*4?1TpCpCp}5gb%w2(&lj^t6!#Ke_z?&Tidu?Vvcce4-HZe~T7|F>^}{MlfTKP) zc6YZMul1ZFFP(^#Pb9#dX*eIL)s zm&jdry@~zdg+l2TEMgr(`weOfQmH~!I6*@L`j^})vvDdtZzfS^I8Qq)OrGiNJJg3_ zyAnfH6+?`{$ib?4FKH>RcNAq!XY^ER#Qx2iP_79Ja&gB6aQ=5r?%|QN%5}RQS{%F> znn&xrFu1BZ*b$6A)hbVTQFImNaf2v3pZbxYX1)Agt1OP~wew_kPW+XaR8ym+1S$M9085WA8%2mP4 z?=7Nvo0YFLDQ}F9JNet_dw?8;2Obs-S*(f$^RW-FBxg^m+y=4yE(b1=Tsq$ZS-=)M z5><3w6fb}T$$3&?nU-L1uk*&17mj-X$^Q%fk}0s^-=}dG_9`BV5mn0 zQ=EOBPY$L|3=M}(8w)l;jlz_HXfYc^OvO5>gK9N%>-bJ z$`EL*B>tR7S%rm8FteYt?$~1O3n>;>`ZeyQT-`HHu4i#aHC{kOUbK&%ze&_W#OyK` z7R+GnpA}VxVRnbp?)pZNixNsGB}ad{v%fxgE;YmP2Yfa;UlGo;`oVOpy^_%fWn?c5 zvo3{D7N_nw<%tCo7^gly)RO$#Nek(g&F+ZD*npdniuGvIQInF1U5(i@mTx^HkOAFJ zi-|w>dmYj&lB3pEZjZN!ByxdpFP1E)+1$x$^q1Ux1&IdV;35d8am~@6FOO|OLVd@^ zdSXIZH2j(!PGvf>mBZ;d-vd8be9u-XQ1<#3;ZVcrA{KdW#OjcD%)E6X!J&p+Fnl^m z))Sxcb9PUm0Oa@;)a34`bw`n7Jy;E-p&Nh>NrO%|^-~298ABb5qhl9~XWHcq?oP)M zruLnf2&;B=H|e{&{ks4?=cp6Csd#}Oh4&RZM<2{c#tUD!0t|U!4zIX0qs>?Lt_+{D zqq$G;RrdY{7$!z}i*`Ufm!n-GBM|x zO(6c*H~f{&8Jc9i3>~$#96<%YXrAg+_qmFDaecAP7AP+so@P`2Bk@-BOU1j96|Fy? zkblg=9i<-6iFZshXA$4s*P&YBc z_$lo-pQsrxt=_Gj?i$SRKae*CD>)q)<0QWSScg?T}H8 z54dWZ1ul9;uX33G;Ym4wI zdTxL#L?w<;GddeL&I1-36Gpmf}HgXbLO5!4k9tF4w4L#~a zZ?|l4+zdC^pjD2lXtc6s%`_A<7m}j8o&xdb8Qr}n-HXZ!0!aXFsyid!3*`@jgUSS! z9TeLg?C%gy2+C65)uZ>+8NIVIxTRoT57MF&l=Mw^1qT?K5>|Tot#Jq51mL^>&8~%1 zm(d5(>u1>rV<0tV$9m1NQS~lR~GhUTv7Cc5ESyN=+#)W~POpA6FNYQrGqkxk#b zCiRJxg`Gkx_{rEDgvi}pf1mY-^nDr8BB?uzo&GcLa)gx8><%<_S~Dk|>_F!MJ8L)m zh74bUUQn15#3yHrbv6;(*v*Xu^FlE2n=^d@0d25Oyzc z2S}^JRqktS`7({xa`SJ>EBLTMd?7?*9-ON-Z zrnqaSznjS@q0Hiv>7k8K#n`G2a>l0UG_FKHl_5L-E&5LJ_SLI6U%5mKuhJf`AEYmWnSs5V=^-D|I^OsJW83ngKxw;$6; zB^yE1Ky?4j92|EZ-bU)x1y6Dg6f#`tqPGkN@u0RF!hj2j6hd~eKiq)B6cKnOvuGUu z8!l%26H@?5vYVkAVX%W!7T?z6gc3oCQ(d-351N~7aV?6s*Dhf!BW58iU+UnrXqxtE z7*xwSJ)Mm2Zz}1S>~86XVeX=~A&ES=MlZ%MPw<4JciSze9~*+9z(+n>6tjAE2k|j+ z^9GU#8+8AD^e8ulAD#dhmHG!)@H#0ZHl&G}nl1r2r!~%5(ZgC~=*7eUDlnVe8(0&= zila3az~<^nGcS}%ePeR)Q$I1fRDxcQ|HS`>wBUW@DPAUIrF@Zl`8HBC;&bF(c`Y?u zo|ho#e|}PcdWfc`8D-5;Zlpq~^SzWNkhl{5V6Wv08T-S4XyG$$=)(4SgfrPB%b`*K z;o7X)-ZeV6bX`BQAa6tlCNBi-HUxO)wN~wh_lF$C$j-+V_EkNg`IaJjEjVks{(P%OIchA@fcGN^6C<+XQvnP4(p}D3WMSJ? z|MQWm#vC2`Oe${}?@5959?8goICu7m&q@Vpa7($V-3nH2#FYo(NnAmENr>@?^xHUM zstbh`bd}Ft!f;gw`WExEad@5O4S5~7(TkjaVFyEF^q6LHa0dh_uF0DTQVyk%ag9ia z&PcO42Q598qYsR$A8%&|%5_zt=5;vM9Zs^)+Us*7{1JW@EZW&RTRJ!o-Nz0}f|4@{O4P8L!ay`;i9!*{!F zgcRmZ?y=wy2#8J2-ZiGavbw3#sFZgA%_H9*>yZLNW7lw@uc=9f-I{}E`BZEM(lxr} zTM9`on40p3KWaKy)ipU}TaTup|7uQvns0;|4?XaM0Tzd~sUuJ6(P)POA^S(Ihk|ZH z=ML*SPTl`P+^p*M5A1#BuzZ%bvpxi>b3#YnuNSaa+s&G@_B+Swi9v=2mA1CCVLEE= zgBauT=uk`D=uk3^jhkaI)GGk%?T-8$IUhLWneNCz^fL)Dot6Z2J|g9uDJDh&o*mK} zEnk+=pESl`$Vdia9R883i74HAKs=*d`vWaDVlcNO+6yj8#d-0Z@l|<0el~|UA0LAx zI1ZMI@#{@`yl%$Ny)FdVALH~sJAFk6{_ne8C}*ksEd{@3IFw`&YFN}I{2G$kP5rvQ z`y?DP##EdXu`jlOc=ie9O{FSGB`DhXwFC%TQG)mecZ<|?$_o1e*y4% zf46?lwZw8C*AZjUWH*s!&Fa07%&|uA`!xr6)cK=lj#kG8EXFvN6cn%OF~rdT21RIZ zaO}Ji=$mt24QE@(3plDylCwtSna0flDvT4{?=n)-Fll(frb(gC8%PJYJ=y#AjUHpK zU<&T#PUK_vbu8mr;AfclSdXCIr8|xdN@rALbG$?LfBO|@avio|1Di`I1!psq1*J*t zy_^2tj|sfpz!?bjAiQFzmEOU;07|z|5E;75Kl-#<$i{3A1p<5wrA64}X+9;Zwi{lE zF}8W?#nMAB+?-S>+ro4_wV5d7fnc!o#&sK>V)6q(A-M;}#e7-mBBYtzg$5To-rNC1 zjAZ6FsPXahWrZJVU^47%ptR=Tzu}@}N!pqQ-|gK%{6UXsq2-Buj(I1ilTeoV_Le{0 zh9MUet3T^E54GV9{($ie1{g*K&L~=FewHM#Vl zA|RyJ09xyG!-xJ+oeHxPxoxpv-%+KDP_J;^1LH1;;`wUc-$mxvLZdVN8@46XeR$o0 z?>oxEWJi4k|`XN*>?@X~ET`QdcO|FyGFwCS9w)VI_mQA3;H+r9y#Fcn2T8 z?(XnpBU{?fpylS~qbh;eJ|+^JzANX9e#<%USs_NgO{v~>wP@S$Rbmne^`a@%5@e$D z2kD53BIi9_q-t@13+X}kK>QbpPb=8_v+_*bLE`Pi%n*Hlx?p(@FkIim1j`-n%S}I# znhv7+eNla4)_MRxPaYbV=kI4XH2qg(HY+!g9vjafBlwO)Dy$1%?%O`)?eqq$nHgfL zODKfIASjvJ3Llj8sq!8cD$8LN^F;IgC-x(@!b=X1($+?3ds)dAaKxvUv@+-2!GhLz zVXU07am?9Mmdkd(mBc?{%w_-;Z$}9kA_P9Kh5YgTAM+wN*?2XgGJ z=nO{^@&N9-M}&v`>N+llJ{tTIbzU@o3(Buqp}B9p?S@x`{;i8yz#F$c_8MB^01M39 zu;*c+u$KI6`c?P)*p9L((XQAkvXM3{}L9A$mL>CKW|37=e^e9 z0QxOea>C_G_9xXMcEAZv#|UTOYi4FxEluQEh*F_%QH?U^tJFt#lv%Iha7M{q(nhQm zkKG*eOwUr7PblxrR&_e%M~1HP+g{-Ud~i;^;TiAp4%ZR3D9kkYJ&^ee?xUL zcPIHw6KJ+ooLiy~_w;$Ih=q1hi8vBoyQrbLmn&G+{Yy|ftA(j9A3y1CfC^z^J~MDy z)1xXQ9MYnMTd%Qf5uV(!dt(`fCrnZxUs|43!y$rj?@u83*CR`R$**eVF&o*+?&L+r zekB}NE==G0qI4kgiGr)V$W=D@PRx7D(F|-F@(3{xl4`S&P4V7b8(8a--F{K(%k@Tp zZ}upZ!=yJ_>T5;jb!_@MMU+dRhl_C~<*QKDO5Kn@4gr!8w&LAt`0z;1x8Bg0Tj7ux)6A|F@z$m& z-a!`k3H#h5fz?uHkn!&3g><+mKGt8F5)R%DL^YT^pa07uE;HsR@xjU{8zYr&!rlDH zH{a-Us4$dKVnKhz>1_5)CPEvKa)u`(5YtR>oU?*U*1c}muA^~vt6A|{-Kn8CbmF0X z@WOP)ffDHoa<~V|nn&*H2m4=(@?bC9s8Krt7}c;oE|ntuNx(Eh)MqSV>I~2s7->Y} z@Lnpu!SkU&Q$Kz$9K&4y{(~scnXx|>5&)mfR(r?!1)bGv++=$AH~ZVok>#t`c-5yw zu{)>DiJf93&t_nNp=yRGn)sT!h9r zj8I3bFiZP8AE>BxyRj`Q7Z;S*79@DDk8^BZDI>#8aK_rVzssGXUp76YggX-vIm(=tl1l;f--se z*LJiT?x0cc?Scd1B=&iD48=gmUds-5!hu%<5~_s_OJ;1Hi{F|E=i zu5a8OS8*%cfW3r;^Pt51~|BknckQ-BquGN^TvdvZQ(#|BbI=$pt|Ihtr>27G!Lz+JDons*z zMi^bVkh}O3dbQt|LeU(uW*w+Pd*%^Opif%#DOSGI;AyoWPY^t2$EwRsrt& z81U`RQW@pGsPmj6zYmYcQ?2;qxTa{HOOfdph)j`QE>DM=>HX`DT`q^dnPcf6iX~YO z4HCL77%YNjZdu;fWTB&N@CPbkP0-MDtlE)asNks3hn2}%q+giQPGtmH?<4KE6T5Hf zVFW>)#egdj+NCWn4jjZHIubKZR{5A|ej&6C-F#CdLBE6-Pwd|yi3jO^y3M@Qi)7zs z;=g*htP)w3R;UYjnQQFzgWXfq3~TRJ5YE+yR3NJqc4KYcDFV#Tt$B~yz{29h%)!_g z#YyX{CU)q*tYF%sEUF-@i&m9%#$xOnymi0{9^Zqb9!U7?ZOGq{tXL2RW~hMZQ}coZ zc9|!9BSUrAWN@!K94S+3JG%fLGn6r;+o~E01K$&TfPHD z<}J%c3GC~YcyOriFo@lTx|!l^-cGQYTc)jFv`I!V+Ce$1orQ$L2Rhjss@0<%Qp$ZO z2eF4pzlvcv2H^y*dG(r?DOiPkn!Ykx;#~q%4|u{T%Z(I6Qc&6cLTA)9P&$*zh_f)C z5ViSe@Bx)0=^d|;MvoJ6fu1ad76Aoj6UQifU`vNiQ^C4%j@rmrsR9WB_rlzy^+Rhl zn?|PUIojj{P{{P|SQAuu(>SFGGI3S2#B%$!V+gDOZmT54AhR9h-(OE-?llgf`I-~^ zAJJE&>IaYMun@@&zb`?6u|wJHJZ#W2 z{++4h8P2`~QGK+!FTmf-W+6^95)^gJ-Kkh_%)`o0%?lwTLU2>f7nA3wi4jwb2c05<1uX?e^eCR~zCYe6bnA5Ro9+D|P3$lhUywkvhJ77^ermc}l)R z5Rpng8lS~v>-!gxWc%y}mChiT2k>5c{;O}w4!qS!&#M9V}YG@&lJ8X+9j3JDa!OUE$}zm3la@(4%>piMTedp0Mu%doss`zIetE8<=@se@>6W2K*Rr^xka^eI-jIya$cHs7_EP6yk*@j zKm*Hy@j}lc)DmD`B~?hACuRcjYAB7|w)L@D=?7N1W=Ux=jpPdAWYp=TFK0DowN)ls2i%NjMbP^$6KL0v=kavP|NC+f-K{rKj=58v?aCf+&AarK zrl@OnpAR%SN}19!265p()5BL^PH)yX!Ef2rhryELDgjm2Iq^l%W5;goofKY>rH^e4 znoJO+2rNbuZB+q6ln5dII#OEIWY;alfr66Ft^W83`R8qtj#Atg9-*W0hI zY@N)Y&3e}8sMV~n?;!` zJ(RNwWd70C*`{|dBKw2Vx06BP@uae)3V{d>1;I{Y+=Y$`7sHHP5p5u+(4i<_d)P5wcazGCAoy?aaCOjLE&}>FQKn4a7nn}!{VHk~Tlo%*XWiWt+A#n6 zjCN~_t*aHcCE2AuF6VgQXknqNlpi^}*M&70k4wGs?T=NU9m^FfIXbq38B9?-R}G$T zerk3<8oGmmT(Y(d0DLsdWhHX?3c20YL)dNd;KwNVKz`Ab0I{ zPq@7sAq|(TRjfTGmq9M;KOuJxgOys{!kev*irX=}lxkJz?Oe5M)V)x;>xcRV`o6>G zg-aD7>0S2Ef4GP*Ndy8JbvI}S4ODtLv>WV43ZkOPt6cBzLuFe&xzG&Jhyb_bigWlC zO&?@3)?d_lJpQM=l_H@OHZ3j}Lmo%B>Qih^pSxiAT(O;xhBUx8XlA7aOH6~I;I5b{x|7I+VqUbwKgl-wT-|rVjdmLj3JP?ie+*0()=;fg zA;FiJkjH%*_xpHT!A}2=aN%A>hpgK;Mn-|8o^lG4I)cD!Rc^Tk_x0u4LlEX_XXK6Z z=)Jm4Mv&JDh9o@+fWgYAhIOAYcL7Uxh_b*n)F{>9IAX7I(|+yRKN>8-5@wx!j!3DX zx){CQ3lZU1bsdBRWnb=b{~Qsx;ncDE^|$0!cYF9+H;}!=;F~s0yEyD!NhNyjQ>K2V z;_1KXSA5Kf_|xl{#b^4@a^t_7vDBCAA-}CdzRZ{Dh?&46eC$ahzfTGv9d}U8Eu;5YZDj!;5*?rN zuY;Gy6CND&w&KlEh(tTg``S4)ib_4k}1>aHTYnR zl?Q(Vws+|EvZ&@4@(_7J7(UtLCh8XLh&!eN=*q+Hrc!?RBbB@Et1VGgpi(s2(lXhk zO5ZT2S*qhv_Zr!ZsFD;=oLe>j89RRn$SA5O+lRvDQ*Z>vbo6^ptD%e%=Lp(XS2E=O z+1HTb3FDxNuvPGxjqySi!0OO=-CvVFJei*D5Erjz{?pjK9GP_Eaj=&suudq%C?y*k zl;(6bbHnTifvzY(O2{2`Futu6N&?BcOw;M9eVEVJkC#eYRul>Xs+R8lnMo-_Ke4Qq3n-U^$O;YS^bs`Z5TRhg~#hfae{ittVrhztu-r*q0`xOj9c+^H)S zPmM7{yUo1(aKYc4PVV7C4vTjbOsB=U zqz15=x@Gx{FQR&L#vH@IAksaRTNZ6@KZcv2lfO}sO0JTQ(z}Z+}&iGJw-Jd6Hng85V^}*=UTPHAc~K%($CshfaUp8O(x_@MU#zHffkf# z6D+4yZUgX~2=Mh?TIQwlunk#_fxZ;z?@r|e@PE}9AD4x0r2FgULr#O1OT;eplgE)q z(_BIQ`)C%b!ywY}>YN?%1|%+xCu=9ox2T+qTtz z_bv47Jf|+81~sc%?^;!2_j2c;r|2tz$Q$(o1KThAGjB1OBmu&+Xt24`&#-s7$B|M%7An2hhl7m;)w6RVD2y^92D_hV5l#`u7aJ8tYtpd-5MX9~rtO8Vk7G-;eRMnr zaE|~5)U7hLyT_WPbosHm1vksv8^#POfLZwuakrhl^!q1)cen+^3+2Riut}MfAz@Wc zFDy)3k3i8h!^Z3`15w|W{27Y%&MDQzZu=B)-bC8prUI2X-85@GwhRoMQv^3UdA^eO zzC?L)qSBDrW9AwOp|l_9lNEG=FTfC~p?oo(FAJjxC;eQIHYif5j_W|B_{nyWfA#-> z@@E*J&|G)q;kyXt;olBmy>C_@=l*yljw zzA=O*o^i$^HmL*;62E`H{=!~t(UIHrq*lWAyOY6V^@D9it0eiR)An=b0Fa4)@Slrs7LuU0cHKO|*N<58NV=&gr z{vmZ6ek)QE5D{vJI0XE8I=68FbHFV;(dI_moJts9c>jn%aJGr!`U4H*&bMzQ1iN7n zi@3=H{`*2O(t(;q`%oKUr1CLV(EEq~ysq+_wg%Y3pnG=LfXSAH1rRRAxE`fKJG@cwp>c^t?Bwc7pHYPcip1r?0HFi9(@meUfp}XtBm8tQ;S5- z^s7f{#VCAa@W#EQ2O-*HBsK!W`2SSAVStDkG&?Z9-J%hHMwX`TwDF4dq%4Ja`6(fIUbQ`c9Su<5gqM+GCBrVCtOF}VE}($* zyCFF10!iv-{kmWcRo^qg*Hq%)MMjeKXAQl`dr6_)k>C=2B1P8!XB%iCZgm-~#?1Sy7loUPr{(^_Sk1iYU<7+FTAC@qiT@m_8n97ybLCfqHS za?zUSZkZXYeAy2Z;zAvtnPY^q&}a!|Sji0Or;!N;V%j4iZ;~`wXcX7i>nC~gpuj4G z)HZ+P>MuMTX$)6I-ip2TyvO|N~5!-?}wl@K9tr5NxOS9+dj@nb;z`(f6&94CzYhsd$4 zSnTBE8-}v-Z#Ie^Sz^zDGkL>G5lx*bC0ip!OQ3LzWXICPeAdKnx%DFm8LkREL08pEo8{U3D+pr53w}& z`c7fN#vMhkeu~7_^me`%wF_8ODR`iosRu$YrSOQOX@ z7sbj=^9fe1vCe)eV!$~aX&nVN=l}ugIwfZt=gcf+@kH8#q279h606y~!VRudcwRc| z=7f-64LYJ0#)A;Dh$k-Ep5?vvf*L4!^M%Rr?Yjy$HH&fmBgA6~B29l1`jQkGdF*8) z1n93R;&D~Lk|&k>c$2?^vR<^V=7OZtMj;q6tMnU zLJZgfL5&&aY)$XG{bYMwS(;bSYL!71YT3mzOqU7Nq~bc=dx;S>*S_1Vg3 z_U;S&2~kET|IFL*a=kE&0XNGD6^O>z^8iHLQ13VLy-;-i-=}0$rtTP16lbuNx)d>e zm;4(mSPUmiI=jQ_pvl=msQ!UPqWSRfhK1ZmRszNF0CA3CM2(DN9F*kay?%07FRnd@ zvcaHQB{&nCFGl1C()63PT=9X#ojvpWQLz}x9(RL`;>5Qh>s~w6i6uvDaBL}~-T=x^ z*biFb1B2RIr`aC`JPu3Hy|{KcDwFT#QZx>U>B#6sHH#Q`;B7`Ta3hquRN1aZs>2Ty07|)v zMMD7~zsJ?uh5FKmYQr^334M+AvbJ4xm_K|u7l^5%m70VPL-AjNM5k`$+s0uQ!UNRYC*GwAPSY-E@J#1-WLLL9_Mz=;|A0dJ0kD!D>qhkQy|c7iBp! zj4+!-`8u-4?B?_0V#!z18dQlMVG@VrJeK~Xt`GWj9wmiKW9w*xl8_VK=|)GEfc+T` z-#Z_Zn}T&EtEX&mL+( zU7>&X#8zxKFnr=gl`ul(+8_mV#29JDTD`g9k$E#ErY&R|CHVT8+Fq}=I@PFST7DjzCwNca>mJ(VcW5On2}XEnq|`wi4!C z%W~$553}#?RnO@n2T?uSnHRoTkeHgNXD_Yucn#o#nq2myk^);`k`6_-*Fbx) zB~G9D1cWDlq+`~9{-gE0KX5sjv2;PV+xHmHF!@tdT(!%zU8X-Eo9z-OXpg$JKeW2( z_*rkDmZ98WBwIAA1G|@M3E>rjFg6$k@aIChMzF`5yeMLvfI!{Hc;D=j6;4ZvC?!%k zx+r;3?%Gz2$8%0H}9}B+GQsb#A1#?&F~|eP>Raz*r4YcASu_KoQ}2BiM|lV-*R7S(+re z8QTaRmVj_^eSgXsY9pKh8EO}kNciw85S}TF%9j|`t*qpx1VD$V4T}>_Wgk(w#}JQ7 zTv2spjwFLPPy{PB8nH#(s~rQW-UB_6RvyFK>e5lS`V=*I$c!+ku#vcy9(B3g3OhZ# z{8!!INqX~%LQ~25YGM}v>I+RBuCxBZzzXZePF~Y5cSHZ z9Izl8EXSSgVcr11-y~BUHlR|E4eK<~QfG{_<%ENPC&EI*rH%AkL_LYRNPF5iCz8;j z$s9fX7)y~1H4w8K;{L5j*7`cLgWc|TzD|LI6per)^m%5*>0n4V#yK!>o{osWoIQ-x zEeK`sg6CMWZ}k+WPFA@@I0I1fmeJUWD#(EVWd}UJezREQs@i>oQz0% zpy!1Mu1z~tVj*dvY5Log@P3&yfGNLz*b8~a(Of^@jDRvnT7rS&PCBibo#p2wecD6b(7+;*+QM6tM3$$0jmCN|lpEwA~BO4m~( zS}K|R1ImK6H{%_>FtD>R?CoYW%kc|IjU`~Z8VeLK#>V-iy&+GUQ`ON$4MtdPFH`i- z!mxA9L{|B;UsTiocEtPKX_^W61UUUc@HvR|Qa6MCa>q1}VV24ASOWc|wRD?QglW4Q4M z0g|?suHQ8O{-{8+A$GFx6@k6>U4cY`$+M0|+ZWwi- z$>W>{g6)&R`L=Etly3aqJ^$a&#}2K~mHP_K1~k%@rbPQe35vXQv99c0EF)XC<~xG$ z5P|?1rA4EXShBzSN6i*pXvx6*f!p%;atKxG1mWB!MI7Fgp7#hwGmu)utMc5b9tGnBe0Zgi{Fp`i#!`)I-apN5$w!P=OzzPi{-;*~M`|lj90?w zZFUqoI2gvSOZ5yMK@Ngtn)c)BiV}gw#<8S(cts+Pu~ISKJgoas`wcEw z98m3b!D48TK4_4)!o(zLuMc{7`j`z7o+IcXqL+Xc*Heb?pzDYPt&{k#K@+ToPbdEo z1>tWE*@Lg$Djz(p3^E#5C$_CZL4v=)jqUl1#41zkl(Z?RqVZ3>!%)T{K%F+9XVi z5&MKmOR*4ScvF}(P@|PHd-ZNX(^Qj2O$2;*O?pCpvHA;l#9@4dBt;n5V~BBg4uSqg zrZb@_eP#OKi{d$d5noM&*E{_{sRO~Xds&d@NXEBGAVVHN9LZ>R>nF*)S@I3=oXFqWfG z0!nrj@E(p&GiuuQB)oC5TCceesO#2~9clDpVzCRW-xMQ0-2X4;_0(#Tg2SpS&nd^e zoU!<4e*NtiZ|PIUMI1O-U+8k^V6_=dv8yq22>aJvW7*_Z`+M|aza-HO1TXP`o+uiK zKH>-Vq=N~Hv*sK8!eJk?=&`~ad$@z~Y}4kjkHalHx%J1F=H&d9k0@;&c)POFA_&c2 z3xy|WveYGkvIe-1Pj;gCLA3pO!68LFbO2<2J2CY(YKNn~>ImU0hy6D(B$DLBDs-Tq z8GN1_W6hK>p_27#1E=M zHGGCG2v3DOS*e}Q$P=UWCON!Cuye2e-6-uwM{e_$gyJM26Hx`HY0wq97y!oasyMxC06I&Xc?!PBpQ`m!7PP$lZf$N` zsM<>H#F9#9ZBnc4<$^>}7gKw%*I5J)F+&3ok9)}P;=LxC_*zhEMjNS}a{kwUl5Y_( z3QzbxEqXH4pkMXoi1Vys&MOE0tbjoiS04phOugEt4Q^mn%GnvZI--Xm%v)Ol_EKx> zR${SQm0ZS^sDxjQca3_WCkkI^sYXsNO(d9Nd|=ayF)Hjs1FO4xRSBQYzOSpTvL?MXeANFVuBaVY%>)y{Wa-pls8d0YM zSV@Yy!v4H42*+Bb(~Q6&Of?Iz5@b&XG%!K$j(<(#FFLKN%_*EO%R+w5a>Fdyn6GO` z?#~6enr=oklr#^C9oVhrX_+_~S&FP=k$j+d! z#^Z07wmaW=O#_p88jE3}XgjbL?a&^?Vp*Yi-f9L*g~fd zOv^_T!mqEyEqU{LFQ8eNyvQS))4Q0RN0*}YwVq&Rs`YPm<|V1g^Ak%fNn z-W9|c;u?Mh5Q+*Wq-Er(rZRWevKsh&8m+L}OT;vI{3N^(bS+;*dV1n-OzYX@lsQWa zw>tPuP;aWWOUf(ck%AE>igDA(^xj$Ec;@hA(bhCPe9zo=?p|S8_~B{Vd#DHC2`lrp zpkk_blTXRl$H?BYOlgxX#wg&xM7@?T6ZN9IM^x9IBj!r_>N+!IRsLi4;4X7kzdu7M z0`eXT$k}=i8LjyT-V5B6S=dCgA?Xk+ZqemBdKus>^b*15HkqQ8xmm#JDb2Ry#AzS3 zx~2Z8tnki=>e_-O0Le|HhU|m#k0$_B?=Yqoys>E@_Ws^B)_nuok4G#6FY2C;Kb}DCY7O(&@$Y;>BDhaq{1s=zjw;2HgJf%^BBhcjvH`K4n2-0!!jF3yUgORlwPqzjvo#hHG22bJz zZPReU*`zS=OwI1%EcH))pNGYy?DDvjFlrQ%6kBzjJ6GfaS4$(urAUJ4)}Q#f!XCP3 z_*T<5@uui{--2B$hl~`V zf>x`K;ws{*WYDeFE7@kGU|XS1{#5)7&4Ng74fBGD8Z-YK%cfGV53U1wmDf+fSEz=b z`n8ZKnLt!yJ6%fYyrE(>VHb2T#H{ ztVat>DdMeG%oX6&IIj$Am+bFN`Cre?bGRH!MteJF z#Om%wLBR_&zhZPvXe&@D0d_AWn^W_E-hdbx#%7qlUfWtL03C%ReV==mI5^=()+JH-q#_HZQ@K@qdNf|a5=6FR^~khoE`X2M+ok}hJ*|0dxWU7a5sEBN z@2Ue2A>&^>7xPClEnxC1V=pFh*S*XkFt{8sR8Y$BfW1Fu6L`HR={zIZJ_}7>6|zZp z6eBXUPr1kHt5ANp-{CS~v7{bxgi-AOx!@s#rcP6?3FZFXu~Rxsb*&Vo_tRQqO;4Ia zA*czx{u#q0I2oV`qw(=AqTDf@XP&Ka9!^Wd&$95T$}L=OYGL&S%XnsE=aEOIk}u^e z!J#6zHk#de!~4#5@zjSR$$2?q549caV0~)<3T{N5E_Riwg(1k3p%)7T?qw&ug4qP> z!TaRiJMPL%P#gvX9yA^}fCPe~ASk%Nz8&^P-*6*ZF&zME@Y8$XRnE?RdMFUQ<*k(H zE3w3VDH0c5^KVyW8o@tPudv$h`#jr2YCY^`4L`(1x4^LfDxGX|cq?jHSCt(erH2~& z|M))ZHX&l|*4K594m3R=vEa)MRtAH5+ytlnfMLvTva`f{4R#AUDU?j<jOaqz4Y!+LkWEy*#k$v*b|W4a`M5RhHPCKmjfT3-54sXp&&I zS11W%Jf=CHRD&a@nPD@a&Ru5!{&Alg*)2Q}bfJB;$K6Vl#(yaL%1W1bk;=n1-5v$h zBVQ^N+#+WHtA!UREA;{E6Vo`+8s9t!{RZ>ri+|k1bPE-8a>KW-Izrh74fxvmZC_TB zy?=j3{&~#$t8_N)-7WbaWI=!LALBgo?s?-Z1Ks`8*-5ydA;KD( z14=wV3=GVUceox_9e+~^8Xree4=ksf9>`K)FR=9@t_9LNlu5!D_B1{>JAbN~F_Atc z`$z9gW;b_R+kl2A9m|Jp_HJv|+;XJ&k}!|^u6yiWUT^cCd(KQ9N^P)G%CBeT$52+P z3EOEG#hS{UD)uj;ytG}_3jR#C8`S+U@xRK=sTNtiXRgt0=Eiv>y?j&aBeE~#bggJk z@08%j+6$H-MY%r3o*47yp?809IlG%6Z$#yrTWB6Bk}y z=_^}|a~ZhK_r$y)p7iJ=J+fXpgyJu(J)EoWOn1Y4mRdb*+KKDnxLGnm{V(qPktYlW z?x*~{b;yNLiH#)61Z(Kw8x(16ZJ+zG94v?@boWOvF26X=9ff+EhsUA8Q4sqJy_{I6 z1{g(TT6#J*0ugr4nthH6tB*PHt>{sYRR@2Lak`8E}bNjG%GcXEQzd`eHgRlzZj<<-Y3i zW$D|&6t9h!Kk81rF9ap=;8zmLG;Kr`pm?j@`ce|4;|Jnq*6hA<|8eLy|4<4x*+a_R zcpbSxcIx-!whaSz#Q1}-h{5fYP_-oe*!LcHAmdJOl4bljSvYPqi74X%OnLVb&mfSX zQX0m{@X(}=zOW*l=#M|6y7?1BbWVjn(awFMLUhSGm3ZtBrDojr7(7x})C}>pS}VlX zvjHLFz;tr}%YS(+z$I}pMA(xut=W4RR*K(ydM5f8ctb=E<%&f<653WWF>gJ5-~z?dt>RR+K&fJH4hJi zbyIDre(^7=6M58YIWLn_6`+U_7iSkh>=QCEaVva!lM53b@=JY8fv|V!vU)|p?Ru_3 zVUvpuTwfyfe;uT(;`ayFe02&}DKUiDf&6jqxeD+E`xl}&(<5aEvRM+bXTp6j9vHpG z^cZ)6ZzoLv_ z4$Z?78V3)*fkf!f3Z}@Q=tR?&oQXnn3ZETa^9R$Ys15-7OBhW-cbI$cDs3ga&~Ka2 zxRl8%W9E{IUHj);WRgEDc||LIDgLlpMbp@_*6u|y3&7dyC>fN!v!}ERrphwRUP$u^ zmuGb2^+dyntbPD@V3v!hY(nKDI1twzP}@kJfJNSC*lE9##+@6hECt1Rq1Qc?6s4Uf zgps>dUnOfcJL_-(L6G^gdtu2c6r#uL%2O+cH`+&)7n$0nCqLwmRRGX)@O5_Dv++wJ z2XFG%!vQS3ZAD`rsU;1BCUSJk0j51FN5Sr8+{MGOjsU+4)2inz8BE6p5lIsp6g*!( zNIp%qlSGoq9&Kd^y9V@yz2sROpTDR$nhptoc!%JqQKm*Bu|U&z@Ql=X7Do^D)`D2i zL~!`E&cw4~pRglo5x)qMkK*E5;-H;XaRO{gE&FhT&h;nlk<R^q8??=$*iEl@e#QjSGjnUy~~&4Nv&Tak;QMvn{>zX;Pc{ zEN-mM%%n@?8p7OUK5vW=isheqf#c#HAXBR>h^0e}*DC^x@`v-o$73vA79t|$GjX%} z1jm#U){gwamjYi}+Re;JjsVBs(LeIXND4tXWuiK>asz{Wifojn;LuJWQcajST6L!GGLJL3u!@8P>^I+o z-ks28r%3|*oRuXJ9Vht6X-9AjURstBc( z&zk$RJ1#0{aI)MOEtIVTU3A*h|wBnPnx@->cwM+~9p6uccX#qILXFCm)MB>;uUB~|| zi|XRGQwqxb$rINABmX&*qYnN2axtlrT8xfApVXZypTV>+F(_@CutQdY-<}aOajb$$ zom8Qv&AQ;<{2;Q;(|_lkv%D^%Se1#s6ldd=@g?8HzBspZJLqP+T?S!&JdXp|*% z-XR&_flJiu>E`N9I5?*?%^)knLm*4g`-l`{QT#I*-TW<*7;iB$E=J+iKw95M%08qa z3~3E;BFN%zz{o&%f8LMIqsp1c;57+uvp9J!7Ag}R6KRAnad_$sjqi6Yx-wl5af0*R zp+hMC`(R6ISTSc++Our3ed#{)yI~rL>Of0%sHJqHEOvh1a$PG=P$zp+=`1H-DQ8C* zS;qGIj^)>*;_vx@BatKF98vFB(YQe1cx2E}Z+gWpt{y*Y&kz{Yl!Ybv>w*tDm!p}M| zhDDZUrNdbe4B0v4Tj_m^qH+FKUnDDM+1gh0LRe^85&S!43mgn~RKZ*i#I88Z&fgw7 zimy1P^!DF<`jtLwu!NMo^`K*fyn8gh5|N&CaL$vVN$#`#PTfJc0|Y4N2m=;j9m3FZj7iKnJJwE2ePHmVe5|>Ed0u(iA_v zYf=PG--#&qbdI6jHU*!}o+ylFZ6fE4##y*V`V_e@47g&6GA=TB*HHi_rbWQq_RwUr z57flj%39ayrS>{U5}6-%WqQja&io63lL^V|Y!)I(>oso$UfK&gNd4_aY{UKshu}#s zU_joL|LSo-jE)L~&lW_eo$T~kAQKkvB+hEyBjLm=tg~sNY48H=P~6>cr39akpl_tv zOr%uZ&-+`p+M-EFgp%Q_IpkJr``VxJMUEFb=jD7cu(Ay##A%dVqDW(x0!$F?C8%a0c7Lv`ih3^AS9}1h_8YH-Dv;_znUTs&m&VTY*`NsYUfk}j zwdW8s?Vp>uTteR3{D&P#j=L^v#j$r(y5!4|KW0lkNLqYjYaikl_K<1VB{e>Z6J zeqWt#{5Js)Qw_f>tU``Vi#s>|34kOCCrv*dTeSxV4k{Va`Dn`peT-->S_inG-It{7?OhF4tnnV}EZZ}EQ zNl{z7lgWJO0TQO205T!QV zkUxeMT;0n=b*xf6P@x=o*IzT7nNhXlcD0GW$23eId->ZmUz_7I>}#;WD%yzV?w@2V z#iO<1_JzJgK^rLMDFfsWJn2y0K+*{`IKw1brRMeMR!W9GxR}Xtv5V6Kv*n^%ml2PE zYJA4}Yj$0(+e_4mkKY9VhkEbzv5|w9gtVQUJg!o$<87=WJ|>u@pKa9ZWJFu`DkpDb zs1Vmi%p^gI1sFcQ(QDsonv~A`h&oC1Bh+$_+i9s1{piz3Cdn-%(_;+jigOk-X@3_I zRQ}3}(#;ZucCJyR&2_U)up11N1|mro@Q~}R|^tJN&T6lw4vtbyIg4QV*7WFW6qk7>i?Zsz}huVa!Rox?gg8Ip_7k86793m}1jh_jI)M$>;=#Y~gfi z9d`j8Ya*_kkD;wN=Fi{pu=DLv()L6*JvrXd)hxsI46;(2>C&&s^(|J%`Ag0`%{r^$ zBtqw(G=R+2-y=Q123^UaD&)Bn6@RVl0ow+G5c|;j!w*m~0!fi4D?fSW0_#;R8R7n1 znnGUA&NM6Kdmqr)spi`h>5c#8va&nJt4)zNi2jCMNNeDwf$!c~82iHm7))H-XcWsC zc(;(anmI;srBHwo+t!f{nD6w9&{m*7iFT|=pWc^iWD&@kcVd%Saj*-!E-`dKnxNhE zn4fa7-I`gf1}W)x+** z*K352b@p*`E|X0OA~dpWyV2e<-B|E>54RV6=HhMge1gd)*mivsm3oh;G7UJ$+iRR0 zu*f3noXr#SjFvOsPS>d0%Ytt(BwMswu36(W)_FG%J2aD_3Y4?AS3ZSKJ?pI>y}we> zLPB>w3o8_?OA5H=u^&Ys5!X+T4qEO*6^tRkQ>5Ck*WUZc z@a_2R)jFWdW}G{cw(>~#nlra3&g{S>__tQp;;geLhs`ERDd`bgurzf~If;5;2?hN9 zQO}S5s~&@FLJVu)KzWOK(Uj$ftcB2pW?0y|>QE}|&|WP|3b6_>oho4E2`Jv zM8$x6gi`RqQyU4TY@DFZh>_q_1_dW?-^cl499_*&D1+NO z@BYBI#ITeY3wp}7VEr|1$;49XP-uE`&XH}xkp5zla^R@3QSy4MgL&0MsEWn3{#{DK zeV%3jprAQnWju|05w5= zVrZuRjuog8w5e*go_??MdK-2SB(rdy`E90~#CdaMktGRM7!^K}fd!=$e+ADoAX|$x zUkryO2g4}W)9UPz6Y@9U{mB)B_KizzPnEPQnULYx-q2;!i)BKpPgxFR%&-pbY1~T{ z!+J50h)#KNcu}YRP((g7XWrs#ILFv%Dy0A^#rlo_)U|=#adQr5#N-qS55G2Bh{=?i zkeJqmM!xTep^bMT3XhIkJ{r!6jzt^#E;-*)Lnj1-U)tFS3(Br1DCil*o732UW2a@Ix&m}A~F;w-yQ{zqEn^bwHiXfb zErHN}oy+H0K4D%<|B-(v_v{#-i)jSwcX@7it5?zb)R4|seq8I7Z^-b7-Z-bS3XJau zM3HoQQ8R9oy4e)67ct>Uy~m1#O`rc!Xx+Y9WNoeSiR;$9w>1(Y4F8_;;(eq=ye6}( z6+*xk{qnVI?wWI>AV7BTICxMhaHRHPrz5M^4!1X#?!A8#Rvfs&>A_Bj-M+t1kG7(w zVa^buiJ9_1J8ZG-Xq(b=N&=MY_{Aa*-*?nFVh-bD{XB042H_~XR}>5Zt3q;9NRK4i z;ZLooU?k7jm*Tb`W9)>N%FxpNGFI3`B!@c6>sN%3SSU?N;m(|VUf)!uBv&F9nV53P zkw=*)fpqZ&Ar4b`y#$NKby|dCr?a8WnY8j#pLtz zL5QszWA+x=3-RwHwr|)!poebZ=C|$TYly41-!51>@OI)fH-Y@mI0e1A{bb9kl_7ym zg@~WV5YzM(^+Wx5d==p(&a{oZECXnoI0s4_PFl?>ITr49lNL32!TXIc74O@avIAr!>W4O z)D`SscWj#*C zF0qySW}ubLU{Pz`zWjM(a;Anq4*8qbL70F3EwVQk@pyX!XhSWz7SxpsNhf2dk2z1Z z|LWsMv4R$(=Q}2=p9FOPwqGtgHBb2ewp~$bC`t}y&l`HnyR`*62nLsc!RKl-Bq;R? zcIvLtz`;iU?K&&YkSuh!Z%A#3Mf(>rhBAsOcoYRfwP?N*?`8g-uF_sS_MX$*wt?J>uh+_xz{WTG)B8K$mVgu1D)V6~Y|g!aEaGwt6F=X9+@he&{j{ zUs~kjfLq=_-o_)k_laRrlqu@fAT9e#z)fx6n40SmW(n+bt;xux95P;={v^RzPm+jd znkAv}(Qs(on%7h2MCygs_9v_4MWVbZquw#o5h((M!$2ZJ%8W~VkxL(BKx1K1-(Oc| zPk0vJK(PU1?*vCA{y*_F;UDIv;s=?@GvCJ{4@~Ly4otV*Q zGB7(mxg`MyO|wo$Q0G9U>VBN+sh1UEt_jkP^!P{h?A{pt8_Kw8xy8|E$f#DCFC7;Z z@==bKoSzt z`IHM3gE*oNmG-{mJhcLr6lRulK_2gYR&5Pf!d!mO46^VC8@t>YW>Eg*S_!2 zFC=EZO_H2ltJin-T>i~tqLOr|5B+zn-!Q)6!VjHtnZ#-i;&;pL(|7Lg?_IwH?H`dO zm*>QtXYZ%GVf-EV>pJnY3-{jn?0d#`Bk| za6SEQIO+6rF8H(g?ryXLAMXRF?c2SxG4!u5OVV{slH_>l^qm*%x4CFS*SYXfcgD`s z_bjX1bwHBt|C%Jp2lwwg`m}W>E3_Vp8Y2|-+Lw6Kac*3WRozCTqhrr zyi!D}m84K#Z?Y#645yOy*-*X7j9fO@mttW+Gc4_lG^N-rsZ?QADzDht=ViO2FymmK zQS61CvR(dUDm8y~DkWd!od3Fw+2u`+`70ex`51hcWXUKN&NmWt;^S3#jsrqy_ zooBh6*<;{NkuX6rHd{Vvve`e`!`_h2Y|Q3}sA|N{WLs48g&lwXQax+d&N!(jMMU^C(?cnuj9#m9PKH z5!XM-nxv1F+g~`M{W-Q(`bW9_AB)=02c4eXe}1{OG#jV<{M)25bdPn7B0ny@Qxb6C zDu1sG=QJ<(KfMemIxq0`#xfifmhLY1Kd%gbLAt^kAAGS*S#YQP>oa4JQL{KCzXLMb zE9J4iAfJ6Ba^6&IrV!Um-y(5UoX$wt=B4$q&OUa z6w8(rD>kp%&|4MIT}nVvgVn8t<6@BK`+K|VI+BLd@W``_L^~L8yX13)XkVc?J$}2p zy*e86xs{;bUlU@NtXf4HjISx%v63cLOF0R8ht;QnG{=V{l+qU*M?BtHUELYSm)=CgjK|GL;j1y>!=OI&dz^N~#XYq0zk9L$=@+gT_W zEL`f-Rg*C{yHyE!+3H|48Z12QQka8(`E?xc72C*;4tS^)=0|+`PSMu3t{gj%L!MbD6@wf~Fb#*ONZ)Q*EP5 zTAx;2&kn9=8kG-iUEem_Cdb2V)7gQ!&Tup+pBgk*>;F;*`g`()CzQhL?xE4{Y?vt7 zUVK$PQNCYl!wh#+Id~FWohe+j-fFzTNWs+zpy4D`B&FcJIj2lV;LJM6vq+h$AVJ~mVoQ0UcQC}oHT@hKO;TN^<8`M48pn$e^h#fuVD@^kCTx( z{D|>L--+>_mVV0hq`1#X1{!Bz9nC z-)!U3%Xj}TapkXbJKJN~^-CUhIpst7U6(B1@wx4S5Az?IecNnq_sTZc{KFp7Ymf>@ zv+Y7D4XKc%jPzIeC!7Y)*mm%_dVmOU0B+Rol<$9PTwEo8fm;HCk|nr`_ugFWujsAF z_ek&JlzEd;if1kA{i5_Z@4dNrpaSlc|Hw5nFtuL=Y6wge_FMU3(Hro0$`6)i0JxaJ zEw&oq#yAyKT-N|^qP!&EY;}ULm$DQ1y8Eu%!wmlIWyQ%x`L|Dly7D1fd%<}xUxI~s zMXWuNa*Hx5mw`@BnWv<`a9N_&r*fN3aMA&4QD?1)R&@d!!w7H_%(<_LiTWN{EnUI>H zXiIfs*))$&B#{bGyJ8! zrFG=OOrX1ZEfsXs351=O>4e~RzGA-bbTE~F`_`eSGeU-TD0PE9QE)XFP6Gb9$Y% z(@m={o}RvVb<@U#68I#M?Ka);y4z3p`|5`dI#VkvH0XU(;%c2+wLZtLO-uW zq4GP>A*n1LFJsoA29U%0`-6nImEgeg0#0oKe;VAO=!3LfW&anM1J`kTAYIRACFRRh zBSE^JQwaoWUZ4qC;o__84c@;M6j*cx=#k-ah=9=`(WK~<``+My^S07>dxm$%l`7R6 zQo=)-=F!HOuA757a% zxL@&~fC`N)#(4aJ64bOOK!1X!Wk9(W?3aFkyRHN5RvXE%xaNsE!hBuvEa_IxGXZ^( zpvAwU@AX_)3+R)-rHH8>(8p|~sR^pc&lUegn!5NmU=y;DrWU13oL=2;7YX|AMI`)jb=JcXDX(Lq8_zATOH5>n$J?4 zJOoPW^7))a@ACv4-j+nP%J1hf4`K03V9~-grNH7@BB-KWxZ%gA%^Nw&U3a z+WbVN5+TlSE>6;Y!L<`Po-e_7Cfd+ywShJvNh1A$KdN0{x4H7+wuc zjJSrZ2F%vibusd*Hd>Eq>0}yNIzbj%l#k3QLvXB;4w5Qyzn6gr?=9biyo(s6pYX8Y zPWhhGN?0#I75OCz3@wjRzNb9Qx}`OImSp?FCuvbl518*k(Nx)fjqCd6+K|QW_P_$VFM-VnL*uP z*{IL(oNll3;8T|W>=tHC5VORK=jHFh>n9sxk}QzPEm@CJlEIcQLHcr+xg$>IPBEVv z2}Gm19*zCCGw62f&Ob!R9X93fcwB{jjC~-)n4!;qlxxyjN8yu-$D^sM}mQ{8E}Uj z>?>+SJ`@See>h|+PC4hBeg*2qx(aWo-T9y3NA?; zj(k`Pw3wWWYRBYmeF^#EVYL%{EmzH4!LQm%x*#E|>5r0EK-D@Fe&nAhrm)}sC| z5*%9XPsKrkOU;&6%jHL8YsCsGko6M8;Z*Y5zzRKJCPNlEG$Rmv+GnbH)Z2mPNWV+#Y%|GpuBV2oYdPRONgH=Xe+avHbLlW}rj4~f(k24`FeT!Vp zocu`7mbcB!UbLmBXUj#iGjH3{vuS+)?ChCiV`t9J?jL8{$cfDDx?*nC6+3geomZ?{ z_x9=Ox361!$@KIkpdG&#mn3BQ$Xc?6%)%qwb_@6~p*Kn%~|Fh7W?=H1h%;$OOb}k!&E)?^L`8+P&TLJ&y@^~DM`;q7SPQxXQeMlt}=dCmht|D^kbcg1D8YHeE9NO84CKK(^>VV5)&F*N*wdw0rO{(b8D2cmcFGVJ82@gOaC6>ood7_XBEwbzw-|}0`l&+L^Kxi`@Hf^ zZl|uP-uVqK4?F*@FyyochFqt7-qI<;ItgBqz7@QDR=RG1$M)VbuQ=S2*OZW zt-S}!?b;FTBooh*J_XsX z?ew$ofXmJN{M+B%&M~k1#wF{sRUJF$){qmk{c}5(U$QGtU)9%D{--FpR5|NwU9l@S zd(jMeQ{?#}#>GA&A`8~Ta|y_v=E>)@JYJDPg~sP8)Kl`CdwVzMe~he%9x;P|O!g!a zJ;@&{ihL-yZD?>uzwZrUSAu5Yx`vU4^pcdf@B*ba`MoHgrjkur997zQSV(3ig;aV8 zi?5LlBirSBu&y_e=&gG&`N!PmzP`=5--+n+!#o09&P5jTd1=1Nx3W;2I*cl>^0lP@x+Et-yq?*G0Te5Zi4Mu&gp2<$1*YEZ?4Z{^k zgv0eM#;<*0*DE!>$%)?oc8OS`_t+&ZGg*JY)jZnL*cMaV3BOyB9q!c9fx4C|k6w5^ z7-c8O4dcz(<)Ok)OFr8HzUr{5`08<#eZm9W!U^~@(&sFna8kzHuxbSSCFwVOHIh_T z_J7{WkW;pzvj2+`;(M$<(VwDUG0qFp`vn|1^2+{yls*Eyn3RTh6M%dSbMFeGb z0TsCzcF36yo3$Tj^60A`lr81f%!G~mS`D-N`xHbAes5;$K-*LcYhT^hG1p%^bjq^f z)05#?!0Qh7jnsB5&$P|9cds8xj-2Xg>r#TAK+KzNiuWX&`cgh`UFSsmz^2ZoR7lri zu24d+?ygUF*ZO?59aDYzP2Ds*jxDDud`6}x1K?iv04@6)UV={6gW_}PT=sgbSBRqr4hka_J7Ip zYej#`bcp^>NT`qCjqY~q|Bb7 zru>F{T#kl9rkt8NYt`@x$)-S6pmU-j-dRww5xYxFXWP} z(@!CnT{KHfiNrDqs}A)@i{oPSJdo7~jdw{>|_ z^YX2I6Q{KM5Q# znD5_x`HB^n@9rmkjZBC<0nOu*3`yb%h+f1`HVV0c7U@)HigoMJjnUUh53`?<;-?e` z9xV_ehsp@X1B+m!$7o@Us@dUz8rP;0G$;$SffEqL}Mn@;+pN79wgg6%}cph3us~ z9W-+@U!d+xy0)PXs64L8eYV+nU}%F{2dr|1rRCI3LI zWEK26`<3o{v=>MejKn0!@2?+Re($iv}2>qY8k#{8EzhVEB9X$ zrYeXkl_2eEwUB$?ldf_OGj>#oBx!9scGlGDn_|%_uSZm=EYRg!<$3-}`eDWVOY~F_ z0eoNq&b?6@d8?ePxc-9{>~?VClYjd=0B>cO!dj9*xim$BtHLuJVe8xQbV$RS-zWBNAU0iRX+-q zr18ugZelB$3c3k}C}v2(7u$hAwfwj};`JHMue!eCG<@EO{c*WQ^BMNL{9kf}RbRyZ zS>K&@FFJGnlg*6h%+??VzbG6T-e$ zsU{D!g_`DjQTY%^A*ZmJ`OEf))WT@Q$A0Rn@`u$zmn-HCL_EK0eb|Rd`c+@y$x#*# z1?S)IQ*|RKpXKof&G})|hnlALrG-D}pf_^Ta*O;uUJuA^fU=PKG;L*u0vTBjnl}6I zRWqQQ%JWV~9JhQV^aEA?UM%2LorUjo7rsMUk_}d|E|-RICscUR#-d~~_+2;!UlJ6Q z9_17iaH61qKaHw8+Q$-bq9DPY^5eURegaBfi0J)!~0{ZMM$ti5QycO0I`yGN`tTI)N8a0zl zEG(ztMe>C~fcc7v;MH4m#$R-yXlf27cYuL8s5J_n^OaaTS*r`TUDiv5%0 zF5qMn1iVy_DBwgJ0e^yIjK%?NfM*&0B9}c`>VR(&mvzL6Jz@q{qB)!Au@h%JRu_B{ za$9V??gsIkwIj{`K`w%Bgc5yI&6B5%j-Ix(bv9pHWgP06Yi*tD>7HwAos&J-&zquo zZkLU|_L`{!t5#pQEZ()G#(6rz$z0#D{rO{ido~aBAKM2^1x7yyrl>4}wz*OIaq(|u z_)jgkQ@-^?qXf0>v!H4D*0U4*nkOZy%IGMbh}o5{$$(D}N)E_T<+ZyOu01!2Yj2P~ zA$_Ji@&ya6`{HQ59i9$JCdblt)jA9V30A)G9w{wL0ZnE+HO>nf;^;z4`60 zThN4UusqVu=lzprz^0@vyp?89x@KVp3)jYND;BOji>|!^yS-PI?q|y_v|jXAngOiz zbh&l5qV;#6%(srau+%31-fDBo-(FAaMc_{vSK^FQzJ7<86=A4bP$Ue9#^v4=a|k}( zfb8r76<#jGZsM*Ae3A? z((dQcW!SRAaJa>OXhl9QT_Ls4iribn5u&XJO>eNit2*FT9l|8Hj#Y|q;Wa8Ct&KQq z-*FUi$5O~*%gECV+w62&C8Xuqzfq>jH{pYnsb%}T1<%OeB%c{vd`kL*G+Vyzp)!5G zb?ob)Pgn6(+fLA@TG~yk8ml*=lt`qAObKnI!09L51h-$wQWPTMD2kTzWKm&#EO&-i zu_7UXpUH({lw2N3O{S$L^2wEr*;xIOwt%XmKHL!*UgK<9)i-$NTK2Nv);Zaj80?I9 zZpb(EHL5E1PXjgE^J^|xy6lXR&W#gIj70u83YtK^m?rcJgFgsb%|ZkABY#!WfD{0MM2OQW(`BGWFf(E^ zD`rmwWizDpPMv5R&o;OW1F}KtP*YO9qcI^&JuBPVR?7Oa3s$c_FlA!H-H#GGQqa`NMm+(i;_Aa)H~0Bmp0E+no8nU! ztz3D)(hRseG%(XG4g7FP0|O4NX2EZP9ThTq24P!<-z{BJ0WXb{foB6a={BiyJm@xS zyql#F(VU4Cs&3kP+Nd+FY( zc4O)3lkKyutur0%D_YxT8?>n1=GXRjpG03Y|6Il~ec^0=`&4t+s*Y&?w&@<#9`OgF za$su5>1XzAzI^%W-i>|T>wCM`_4RG+Wsln3nm=qy>T#RfuZ3-qfTc}-E<-mXf+bGf zB-dG-?1zqju?)Y*${&$MIKBdYKkH>Pd>pa~3;hql&l5J`Z542*eBX(djmcfSSp)LIR)hSktnqA&UT&_+m9Br|WJy4b*)3nrHB8|m1zv&1aXaV3>Ra4o%B9pC){S;j)jQk&nPz$wxTEy_|(> zHS!Tk*Pg_E1nKp%kD!r{P-@*Te1uThN6>8W5lXFRavx!B$w$!0N8oMn5oSt0f+oX9 zu%Op(vN()6(~1^!J7{_4^o>O>2^W2 zJB}++O(WmIg5I{SjG^r+3!0Vz6`Yj5Qo6J4z+tU)|8Gg8mxl;nX=O&Y2Qa+SYXfbvrBan*tQiNWqA#T6b~$6RfuN<)L^{rezPrE z(^eOC*Si+WaUcpgZrU^{jHD;#b84>Y_O2SE8WpbrO|2=@Lxu-oQR!Q&UgtA?mCqDw zuDpLlHj$hK6Hj>177O2r;IV+^Q^1vCj>U$Zy+44(NS~tCrQ`KO%tnr8wms=h87G9 zOVcm6g3sO3INi~Tek{+C{3o)-`5e?b?KGi+!*3%X`BF!C2q}t)LgX4OJ7+pE-H(vi z<*qT@neOPutzKtib}YGk|M>X6)xB%m+t>E?t?B4kBkMICJ%;ZXawiJ2>rTrBOrIx) zy&aq1d+f~dj(AsNM3|;oVT$kxs&V-x%t;e15nAN}p@|4emYbl8e2bOg=|JYSm1_vXrr^PQ>>=r(5 zRApOYgpDlj3v9qU%=P}_PgyVEv&F51j|F$i_ijP&;-9Iv?StjsPZ#f(KFfQbSkarJ z8t7EOk?WH_$7wLd>3a|lk1}4P{Bc>u9_V2^pdY6R&_wvoCObqk!YFj@Z@C>2qul66 zgj@Utps#b@3FxiYfp@%O^kvRF0lkISfc_8qzRWo%pf}$GzEMr9^hd6f1@zk=!wN6H z2qao&+tPC|z5geOjj3<1w26C_^>5(#L6! ziI3-$Z+Muv;Rp14Tw{xS-~I?BiC3^XxV{$9JFX+C8z~O5x1&n2gb|I7nk!V66J`go z|3!HJ90YfBX%pAp_IX5v#lNEZ^)~q%&=7FTOws|Qnypg7VAzk{J!6s6Y(pRJn(-?7 z&6I)djpm3|;hIDkG-4%qS&ZTN5Frn*EBe%b76hG^-;O6&AK|IHDRM z{sBxM1f~YptOC<-eVTam-^D@cCO*q!F)yclkklK8ehoV)*pq=@Ln?-_TPSvme64-5 zF&GJJW}QwlRo^?^gg8Uf?ao+poV`p7gQ!EJzse;`jDBP7-z{i?ON)Ts{PWl0yRO5H z|AiH*N+#uUdvVV)!JMURRwJ^FnM|JVv>nhzh{Fa0W}tA$#=^epp!)dGqrNzlC|`)= zJj_2D|+dEkdWgzN3+uBitj4p;rf4pM-9}&H#v7! zz6l;!t(dp;MLzGtR_hl_l?fGf2!uE2q}e_Uyti|XJ=Hk`Ekn>v^2@*)wTX-C9!eYp z1G&EsOQl$wdq(*l->mPca_fc~2nJQB=2Se4HCHE_DsEk0Gth`;r_*I>KFw}-_`ODL z7jgNGVn4V{loS}<^CMboEk&<%M+G#iyvxFV6ZfvEuObg)_iZiUGg!;lRrEe&l73r< zHTcnTZ(4o7Rqna@qh{(q{WX8 zgz>=U5A7a@7F0bybhxiBQJv+Y-iYToSvEbspdEh;|HG{_7c5~>;ESrlCZm=Us{0S!{+nYIAxkqpxzVpFz9lQ0m#&1#fsW=Thpcp@r>$ve+4vatBpIJ&qk6or zeqj4x;V;|-X_?W+#?egSZ$}y=A%82QRefz$#Fg3NiG($Hbuy>qA$B6Xb73C~vi=|1 zM~?N1$yMAwn%Rz)Lu_3oq*88_DDg2J3V_Np{5BwKj4pZDb5;ovef$N7;IW{*+ zKcxt!_zc)s4J((Hw;||qvQuj~?z}ho4Wjog(mS}tpDp%d6!H%UjtX)f+00^nFF+MJ zE8Scq2^9Avzd?+0kTklW%%c9NRUpa~pM?w(WqOXR`9&UU1l#6EWxC(Sv@jSb6lB-| zsx&MjSXEPN!}m>pM0Z#^6UJB&=1AIowqvj%=nz;A%Kzm0ny{xDVALLwJ(BlWvv^y@ zED+Q3h)2wsylO$AZ*3#5n&?)<%#fvbkd5N?zemb#Sx&`F4OHIEi5g)2D6FSRvX<55 zI$*Z_&G=8#{DP?5hqehbt;R;e+;UUcwV3;IFvHlc2!`maP4(_-YycxCKYFe0p^mN>QxneT#Hu zIggx`A1%Xgwq%fxZX2`Uh>71ePyP#=leY8GPQ?65S5Zv-2xLo<7hk<*;pz+M>KjmX zUdrxgdAv=yWN_7G#aGaNJ9hBqO1RoqTUU$r|HeA_)~>ggTDi|dS0ge$miCVXHLyFy z=ZEb1UedQ>7L#Q>0L6W7L*DjKxplgHpM%ycsQr7qon}evP|%FevUHvN<1+jP`1|F% z$$u}yZc#Trx!T?+=6Fh4hMb}~3X}YVvGfoFl zh$mZ_y<(*m&dm1J_okvsB;_x!#KGOuy4D`Aj(gpr`j_V_e+O=*_?kyt&%I>S_hQBK zy?gd=w7~KHh?`yS4d72hc*o`P3pHE*IK1Xl2=GM2imw9OWYMCE^THK<#6wYDW2M%k!UfL@?UT!_}uvS`0e-N#<2cQqF6~K}V z)%xHuG&Xhz)T8YVEDm5J{};Oh>f{Bh<}O@jHez?6@C&{@a0xlF$GT!2sqk#irv5xB z)_ngan8XrJ3wiL09gD>{{om|Z9Ep={D|f7ad=#W8H%}SjBlnSm|L6P2ZoSg0Wo$!?;v!E$7T@#2qCAVHhKgioZP!Sn(TJjns2=NX zM$~7;6Yq%B4t7>YLXohyx@WWjjw#6_S^3MjH}yHL>2Ev`P{tKUEV?MqF+)l})!V zZBT2gJqe#ncE_sy$(ri=h{qMF&o*^Tq*{nF0#~v!U$u0=dwEu!!)-e(cm`S-aIE)( zsN1@!d>zr5uEQ?-Sa~#_!6j&#p!}MvQAa@cI)ms^zUFT3xe5%(_Yfo9JWBSZ0UWFB zn>|1r6Me~>71$oM_O%NZh;AAtv5i8>;tPAZu0$`;G=u{z58_TVZI2!=D(2w9j$g1qR{P6nLSX)BwSlvCa zb0{+qaLbyfO7+$0jYIXV%hP(m=Seh$2YXXJNsSph@pNNgRZvxfrp_L0+c1%7S=JKk zZSmRt!^e$Go-z~;xD!6N*X?PV?pQM0;zm)G8gh8*GU3L~s`mawA*-A0t5m>Z1OiBC z$atbeV$0>L5i4g9A6lyqb0Yj{XI0qD(yBzsFY*w%KhcAWf6@%&f}r6yy&lcu3AR-E zo13bmvTSI`)&{i5yO1EQiALQ@NYi6>qql?oj-N$h-4R^6mCMHc?&rZff?jHiSWxV5 zArfgKIHUsjm3!a4kt8VyZ+*4`dQUg zR9eYFtl8ZaBi~n~H9K4UCwoP9VAr145*?^I5b$1eA1_fPQIe&uNJ$nC50dX?1*uuMW|hvWBAf4ZKoDK*=v8 zDEw~t-;{v{T;3y}SBBrk-X>{fcxjI0hXT&$Dr$#t_loNl+Dm?_7`KGQLVL+i740Q_ z7TQaGs%WQZkMJ$Em;6+;V(yQW=lG2S)?5H3Z7ybh$JPa!QZ8LUZ(CcYDOEXfD7@6Q zv}bj_v{CvdmzyCjH-lDGS>BXdNavADy6~&K3q|=UvFe=cf{w|m*52r>$MjXm7Nr_n zBdv*K*n@;9uRv|Rf2gajx2f7SE6YcU9EoCnbB(ViT@yq$=_BHdTI#?H|Pk_d1Q@P*N?kKEv^q zz}LN1nqiag@kUkCagU7EPZf~|TWzYNFoseD}v_|0Yb_0l(Z)GgqL%J3VcUldAyJ51e|ON z!QrQ^Ch7<%QAhMXXgv+m1WN&2%kV?U70~F|CXxSvUEnkuAdavBCY}-j9D1Sz&j>j3 zbW=7P=iEV?#`O&K`!dgL)Agl(3foTotnrf-<4n=`;QT=*s+s8isq*!>jYz#qTBPC($Pcvi$LmL$y9QB#5(uGIC!{5^zEpQx zI@y(G@9dcCXq#>s8|zK`blvw)?4kHt8)Es)lK!6V{v|E#OW{|A*}K>bo-Cp>C-FQ# zUp?hq1G0E<>&3non`xSAZ(ZKhw7j)_s%dFgb5mz$Q*)Qx*gn+j#U zK0A|6&t$VRnaqr5+qHX7`r@{2Up#5=wcFNCUcBj;izg;7K4#O!lOPQCw!Z5qd!eUyX1F@n=640%TGZ!>jIL-H+uk=e z@(s@lxXck8V4=R2+uk@lV`ieN67hROzM9T>&v7H!OPAj3p&8+sGWIL@MZ<{iV2Ku@ z0*d4Wv+yizlDpUz*MI}J_Ex&UiXV15HFr3dYMpLxUzYYqBkq8%xb6)UUgYb3xe<0N z_nM9dU;noLrDsn!&Bax>d5*)S8=2|O-tk(y(+IdV_s>IwcT95!lt;sMCAVvQ`jjQH zsG_^IIIzXOI94=2KaEhr0|bXv$qP3GY+&aH&A?ym>^x4a^;*osMllK=7zRI5&cY9U zq;#SI&C5RJRxGCA4&%i)*xx~qexBD7q0z##pH^-TbV=vwX%W(PR6T|hlB_)>$lA+I z>uX(}NKg$Lx$6FPZOt>CseH4By(^ZnK?gQ-l>X#t40ziIYsXI<8avk>iz$Z3XR5() z%gWx4WoeuQQ{`ngHH?GaBJLL=p0Iy#@6wqwz$RJBgJ(tg$KvUF>#R3ho;(O3qxfx# zLdb}K?+C%K9XMu5!f2m9VH~A9F;^>OZvbN^stu0fnO_MDo)9?X^dRQM; zR&bH%(6j${1Y$V&*;n{3my45i(_Z+SBVvo-1RQxr$N4juy4yYf37-m|qNn&edl~#r zqGk_MXA4m*U)_0yp6Xl>#*CFSMN|v%4RIYw-$;3(@+Z}g`HhU6FxWUy>!|8X z9G9=_{AY3?S)Z?8mdh=>Xk>MIER!BfuVy>_THiz_w>5|V+b6sH0dMPYCPy`!x#r>K z_ci2dYjX{K6BC8#bhdFInH*@$Vnc_x^9s20Lp*uY3ye7%z>?Bhf=`{d{E(v+`Iv`s zC%1dX7Y+0+YZ>3xH@J5Uyh)C>bKb~56wEne&l&^u0$@&fdwT-Nuw5PT9!Ar zOtmymv=CkiNX-cLVY!Y6cMjK&f@q-BjcsEMsj>EsvHFIwwuVf)u_2T3bgk*`S<}_E zrl)&N*XUSJ_tK@^J!9Z_vN$h&m#r*uJOhm=rV2dcKDF z7V`f|t+6=_ukPtq7z+gouley{45Pg|R?W7M4I~YVxW23pOCvAv8=6Q6eQLcw`MH!Kqd9y;$~^T_s`>MW6tmQ$x}7ZFeLRPicnT{xL;&212?` z_rKt?(DWP9t|0Ut=jYZPmSGXqtR-g*4tZo=_2Lo!*7qHtsepF5; zRe#j`Zk$Pi=gNZTsgX#mE7g*ND?(EH3Jb7fa0&|iJR!AQ(?Zi_;AbjgzK3~4pUC9n ziJpUf~4Y0TNBElKs{>+)K3 zL*}OwrcqUer`@GH9 z!_izsXZC$um1GY}-?c>n0i7A03)RE!W7W1AKtN}9A0SzFh}9s^!RgFsXRMCh!v+aL zbY}Mh(#^ijQZ^4Dg!8?CB-oue4>Jx3I`Mn8vhT96%?AkR%tvklKJ|1jjx&u+kScx^ z=*%9#3N&%*qJ*k;L|v9I!Bra_AT+3&PWDA#P&JjpHlM5q+&=ljpdRpe=dTJ-4Azco zzb4;{=xko{vGb6d#_FJ0e*_NQ>~48ysfY(HIpwrKwh zZ|^U@BHv(LZ;J7=)NW_*wXUZ;-JoMt)NXFR+3aT>16UncSTGyf=7r9gGHe+qERCpiPAL< z#Vc^y##)N-j$T)WI39!Ck`(1+S}^ESkPY#$mg>4D`RFBNvNQyIJ}oQ21W^~F)Yii8G_UeZg&3mvohjHCv+)$4hGH9j!H#erxTaU?bEW6j zX!%u&*qvsuZFw`w)*8o5Z;ckTsmWdW;S+{x`)6BiP8*JXG7!L6vt+YD9FH>I-ZIuu zSLJnid`W*(XaDY{ZLa~^CMYQX=E^!ZCVw2HpqGexU6%C2VJI3r=4ud;kTmxcq9&R|P6pXO#lTh&wv=0<7mL0Y_+M6p`BBHT4sG?6b?d&>5_xemn;TWfW zMMQJEZR`EMP{8AP;|7)2^#_X=$zEGM>RKr?RX*6ldPNd@Newy*>us{BYMPVX;D}x6 z_t=hu@2Kgj_l;}aZjDau#a_j7X*c^8GM~dg#>u(GIW|?iiQNW`G+c~HYk+B2WO zd66d}T?{I5Je{fSB)&hQ52l$qod+DGT{^43?39;5m*INpFYG~hQn;S%$^w;l@Dk85 zI;Q9^bZQUkBO{`}tri~Kk^QNs{4w62^Z^QD`TfNBxZf1FbGRQ}kKYKLkA_cihrGY| zB^sYozRdM4Jp1=Qflw&$`LJKp^#H<0%4SWnE%Ns$I>ITfdS{Cf+59Qy-d$%s~8JB$b#9quC3{zRLGAt zkQz#FX&Y;+^EwQlCtwSvvrSuu*Qv69?Z~lB*>uny^#p-s9X#<5f&#Glf*bT$K?WhZ z31v(OXM_Ra#Nen|(#KOUCc+2BSwHOe`@Okrh-EuiS0B@JIYP(>^yk(bhQ8i1owqrD zXt+I^J=mCQI(B58YSY#ZZ{awZ-T>3`E4#O3hU!_!uZA#-tquL{=`aJXYl=(RS2|C1m*fc!-jzvna#-EM=7Mbh+=Mzu(0Z9yxsR`$Nhb|D?*ZF!3jW(Z2d3p?{+H@XkCARH&I4Yp208i~C6j zt#Oa)cfl}&yay}CU3e5h-dEG#=nDp6OAJk=2M}<0PF*+V5k}N;kUa+9YO8b~X5f^! z{)5v8@IxGa98R+%_;C~#AP?9h{Q+>~7vXPFjsixG^A#x=N;id__XWL|D9WW?1P7io z<#TaBbB}h=>+^Z8*N_cY|10nrr_UMUxu%NI;APR1DX^8CnF#h_QnB`?g5I~gT$f<9 zsOKzpj>BHX9@7p|&gLL?TU6hFX?!>xUQ3#Njh({1L12gdT%g5=BMi&mNA1a4U3HAR zViDW3{JV496~(sle6=_v=t! zh?;OqSN0f4-B^Z`8~~(D()C!2v<+<&GAnkwQ*&mc?sx01RFiXsZ}mzIc{vS9IXvds z-tC%I*E$1uyF`&bdIB(t&b|ir_35?DW(%v7&gy6@Y?)ojJ|ETsAvqM#ux7}M+h+R= z_BYl`Ct!zzGUjy51IP=y@)QnIS6pg<4iGJQqU7r(=xN9tcV8g93uj9cgZ*+N`ojN7 zTjxy3U#;tjIb42yY(=_xqN#EGnBM#pj;@q-9NleichrRHhuW*AF5i5@4VTX}tT=x| ze${X-&XDrdweH`r=Y7YvtpD)6`_KCH>eSLLg$L?}dunBGq%V~oX*GNEc%pXLms?iX zx}vjl&*t3nT>ct0WEh1P>k~a|_x7$ldwl5ZFP}27@7Qc0t~s4*G!SVWJ>`nYbMJh| zvW@TGG<@Oip|NCcysm4kwsmq#Kd?_^V*r=h%4arpp=5LXZOib z$ZorJG9aF@K}wR=7Es6hfHP$k@eUd*flq6gc5VKN;}*~KC;L;??Jh<3C}A8b;f>cv z#x|VNmA_#7J=h=#>hd{w8_Eq$`I?~56~#N=>~ZF# zylG+rd)2n%*!Eo3?3&HCte*(s{9$HjIMUzWJk%0wZZun0cCXsxPY!mtv+bFYWwp6A zaaS0gcXT9O(_2^9*`;qjuJG!HL|d%2ZCA7{-oniB8KpHb)SDRYt1}uxZbQ|=c8^vY zQS|zFRk}tEuNu=kJCgR4vAnr+qD5zNbDc}mqRe5|=#4d1jZwedn7cB>jK)Z9gFkB1 z8)LCHo`-y0{xfWN2z#=tNdAZcv>eHQ@yi)biqaV_2|3S~D=kw@9BZ*m3C=((z<~Sl zo|(&b<@38Pn<@PrIc;4>$GX!-hEH49*|Gk#)l0Vb=e7+GcdK@n67>etM(cP(<9JIX zqkE92bg0n*M{dXED^^~%BbVE8*~%4otz3Wm+SA9zPN%1t#orx$TZj6O%O{kC*JE>f zyof-XM^iqx)9&%sxcmsI>{1FZW_%HzRGL3?y;k_a3yv^(O(tHOSegtaw)t_!R$`Oh z+XwAQsvmO}aoOQpXg_fKy~t= zTKO~fdq(#T4(=Tt+dJ6Rv8K0obw|hQ-rhAGbY4h`ZIGYGPPB?AJx34s_H9t^K{|~y z1o_6=;|q?~7bG7I;3KWXOz*;*hsLQk;7OnE5A0L*vEUP`u3XjrZjb3fc_a!7>fdg| z5!-W**2H=x4-o}8PoiQ$7np}{)NNkay(!7 z3;)%o@>LmUpJdCxA-)fVDCKZki@gS{tD9OTGMR~%wuy9RqP4NJv$3JGlYJ5obT>~n zH%~M-Eo&akH(+v&sXX@?g#AS9jNQP)qjCCt;}bl}T1uZ7wM%-KU4Xq> zigS6!g%lmn=VUX&1Y2?J^@ffrTN59fd2GYT+RE2bBwJWZgB8fSQiTUb?L@x*Zuu+N zVMIOv5d+dQV5*f6Aj_HU>$5~yL?uWY8RQIbNkCT{*Ld77kA(5i*J`KB?+nx`4!`EF z)$H-{f#uWPTSx3IX)~qz<37LaGbYZe&n9XT(HgIJ)0(tmbGU7I-KjsOD7uF^`cCfa zSl7FLq-*c?CfUBBtv!fE>Q(D};UqhudVFbJO;c5~@l_XOw+lOl+wtZ>5&IuT6_VWr zXPq)>3%|ZlrqL>*(eH^wzb}82zs$)rMkHgg616^9`a%|=19{c8@(4d=hv-(8JtRf2 ziw`0pZ^h|Ef0p*|E)ZV_aR(5$;UA1=IJ626zxJC&$za!&Vp8CFFkJqiZCI;CG`^T6qRa;vx z+dhp-47&tR-u^z=OvV}8?iEH_p086p#m`G_hDzp^TypipUwP_*yP0i{mJYR_IFFe zh&I_5g#&8FELuWE@# zTiD;#5ygnOM*MzH$j^Ks4@Pj|l3}%Qfq&2yG4Rcg!)%xu!a-YO3IJoO*|EB_i@b}j z&ea{u@yh0!j_T@;8oa(4(RCVUbp~v$a_N-yld*phhNhv4$sa+})Ik%E&>2LPvotH- z^+xVOmNttHcY!RmY?-dbD*N81sa70#pXzUPRMB(rB-^3nl2E)g8f&eNx0q(jX=KP) zjy|s;^?fsaysKkv4-T!V&8Fha&NX?OKBri$KQo!=si~z`Nz~$n)DOXF3L)XA%gHeE zDoFn!n#VpF;;OUZSCCb~W*O#0I)%U7!I=V6D}IF*lt|eV#*$^jY}c z!uR3H3y;h8Y&|g5d2B<_NiR~4Pc%-Svvl&D<&8_@{u;Nc1dM@^m*^B$ncmd-{_?lN zmF1TvSCwRW>f-gsTryGdUS;xTyihi%bOY}&7vw+g{{=lq+Fm>xZ^di_6!}x+gHC3C z_R+wcg@@sam_meRIgVduToOYGREDWyxP z-NLT_=zVsOyV~L(<=u#Ui9?gp8D$<>Vr22i`lVoj3Xerh1STQXVM`(8qHmm?NIz2D z9i4m+=8{eYH-*M6D_oJ5o#Dl1$MeFwuk!C3=<~bH8`q|yO@3FvsRyElk&VPBCdXpo z)_QlqK)tyhtjT7phSV6uIG8(OvU^JcPX`5En!}uEZW~PkYBv51mCSfaXCQJOzJ&2S zQRpSZ#Jez1!LLVMJ}>j@Ds#DPDCYC~O{ZIR4TO}2Tzz_a`D|u#??58%jd}wyr=vR2 zG}+oPvwR|v9z_zzhI}hkv>pPrI>_3Pj<#IT5XEVhGv~K)M>5~YDS+uK4lG#oO_xCg z`At2}G=Ycdubo+*SCQxqg=E*r@u%FX>pB~B`&?Sc>nVKS<<8)Dh&8)?NWF5FYLX~iOe>= z`IF9^PlD&j1;C>r&RLTn{{&x&Z#?)HP2AOT@?^j@CI1>PXOAquaOKJir_695+Pk5r z_n5v2PUeENvM1Szp8LHsSS2bep64+rab*3Jn)}P?~{zs8;MGLBRGIe z2p8TflT_eOSuxVl-;>u&G#HDsAJtFNJ!k3*{W12+o4h-ZEvGf_aM1F1I2dH(E#IWa zpEsA}^ME0}{|4;0aI{tfHaAJKvGrTplqDjD=(z^IQ2-CBiI9>T3CZ8Q*;{zn_vj6S zc=dwu##_FQ#|~X1$)|C8wIaqqrr_u_pZY(-c5Rq#t{EqcXQ~S~L{`%b zHiX#fx@80#tu0(<{{2m-@*xym1r@~~(%>Cj;77HQ$D^SF&EdG^t>=a}R*1J6xloPO zN_#FLp-*~2(0_}#W%?|+Ihz}YvDe-V%QI*qU)8by#j1()Y{OgO_7WW@SMro01F{_) z;ITlGTP);dN|=iH&H7~tNvb3z3-A4b%q$KA@LtE-nouO!YMe{delHSG6Ft}P74r`I zydl@OzNJ5u<BFsRlE_X ziQWk0)ZKwFdx#b>Z8wreTd)8*X-8S6{{PVUbN`REJe&G|tKDU2BJpMd9tjcv42XhFynRJYKWKIaP6bN1neK0<7R~I8N1X)=VF3K}m<< zD?FhV3%~N3eobZdzL@I2#zd6LntV~eUoAYP(pL>H;4VDn4d~bdLjAt98>brgg1#oa z(o&{}djXacz`t8o#G=I?>da^|88z!lf8Woi@FD*Bztn^(-NJ2VeZ7e%~uw&(f%D80Krgz&=UDQp5Y8P?TSJY6wG zwKHOUB1p6TGGi(I{(c*@zg-ysF1n__8aoHRkvFmHYc1 zc52>0l(`)DJHtLTq}*#)=ne^KJ?g_o=??J5Gh*yQ%mv30J1 zf|rMQ3SYFd?W)IE?{<7&3DKbU;Cw8Q%98-i zDkfpsS&Lt%Xn{Dp&|bL6gPlot$ivR{sUEfPPIpL$f(SA$98Vj*nD6}^A8-V{ep9i( z*AY?Gu;YU^=as}vBv7DosbX;rp1+#|H%l0lr2=wz_?*jAK7~uk2g#IsT_JDbJw6pg zzR(?Z1+?nIRW|kx)bX!@`b4TrGcUpIojA?_x3|OBuJQscd(h{HFN!yNB0KR9`D89n zz+thcNAtGU1~kE9DjdU&+WGW(XDAxe!)EkRt}6IbP9@r^m%f6EaDF`o9@#h zRUNg}lT)J+zs77q)o;XFYZkRfJCeLTA@k;5wmVW4(L?^A5ymO|_#O^wdeo?Huey^r zXo0FKv$+c28#Uw*I_ZhR9;v`?XYa#4_nYFMe16@erag#<$pP_dwV*c*0G zR8(x(8#eSQ4|$4RQ2_xPA}Syv050c- zZ5Y#|-{M^8Yf}>+bdV;LlJNH=+WTED=g9qPC$%K4e8b=2F}sQQP~7rO<>=YZj8C&h z-C=WMqoD1MC~I1xBgt}0;vJYbo0AqF9gD?y@is^7@qN}xzw!Jzg1CI0&ESCJpS8KX7tSx(+TGS5h_( z$4r%$jx9kQ>n?hjDzQq<%X!VU`S! zM>WKapJq);O3JX5=gTk7I1Q72SY{gK?&dz;`Ha)(T_gst#4HF#^!n~F%wlk@K6onBJu9(yr;2e~K46&+POve%5-ni;+Gs=Gzm zQ)2F=8MdX#=@o&j9;4@|4c$k!)|50&7@7%@8J~u&!cNQR`$uUr`sFPx6&4uqPvX-{ zy+coJDyg155`%U{))CZQ_+}hWP-m&U4t^Y=?rd!s{}p*u!nugzHZ9GZ1eg$c-eV?x^4^o{9Brh;QzlG05jsYwYbsW`m- z*xSGbk8Ms$2j6M_VH<2+Wb;~6EGWfsRLFqd!DN?Xl{F5@(r+8nJu-g3`Xydwrpa+M zJ$d|P#~vJm_|>)wWn=!| zR1T(5W>DQxo~hx(#vlr)M#+gWNtT=8Y(*lPOAm8kItZ9R|w) zdJ>nTG)hW`r(2G(R@3MhPHj8ll{4gIq9Ys5~1}*VLj4sSo!cKe|PSRm9CgUg=8kS z81e^eQ*asHiF@x2juSZeHiS&iV4q?p3)!_8?^U{M@`e zAdg?@OtWI=N<22OVCRa&Q5rZKvKYsE;=ih{q_loOacSN0X@82YJYk=Uuu`7PH68La zN;LjoE`&vsEw=h zU1*Q_`FZGzQe}=S4%451i%(6(HTsR{<|C*U82 zl)H=ZwZJc8Je@c89ONHadkU&b*q5SxKTjnkW0%x3sK2X$uTVqfT2l@1PhfVH(*IOU z(edL zMg1acrh+DpNaaC$)ijofJJ~rk&7GQ>mbN*SOq!>qsqwCqnAGGH7d$}VFAUhQBn+ws zu^bk%^zmtXij6qB3Nh1FLvl)N3QV5EgT(NuAa>JjptbU7pC}xvk{|;51ISp7qXEY_ zU=;@|R0i8(RnTg#wqi4HlG8fIZl`g!6m=M@eG1)6OMzuB=R(stPP4{YdRwqzAQ?-- zhFFtSAE(`Fn_|b_bLd+Q(b3>TQ1u5N-bV^FY6TS}w>b^SYv?V-x+sr84YXmsOEGl* zIGEY(ZBM+~7Go>1U;}TO#fn?i-)XhS4TE8bL~D$tpUvsCI%0?0oUoGMwBnZN&Q)3B zNmv4>*#VmCrI(ax$^hxUD(+y`elP=o+@uZxWrIJ>r>!bNE zkG91)ZBBDkReVNjY(jKji^*Zf$Z?!nT_0_8SaHnQ;N)oMV2eG<3Z4xjnu}D8#EB53 z)sTI6t*lbROFOB1L&vu&Bd(tf){>HkB@MB~J8|Hdr7tF?YEtSQ4x2NfpR9_Gc0@-x ztOGDY!&!*1*)l?{)6%4m=Un`(J!++ZCGhJz^~$$I#bN2cHM$_flOG+;n~yE|INSzv zn(Z#CaC<ir|EH3Fg~#vp`aPaNW@f;X>dkVwva*yPTW9fA z6<=5Z6nj%rJ)YDQqzkl~YlrT~qQq`C@n! zl7yj2YJoQ~FFyxn@-R$MLo?ESg^5sLu*@nWHKmg)F*OlNI#y0mIS!CB)H1U5n3Pjm zf>p)X_&ugmr~REesR7wOAMIQ2huN0>>SwmVWOQsObQtA1u|7fl&MO-d*Ey|IJ`{Yb zO~%4D9=7{n#TVw*tV#ChDD_@!f;%@pAtMe=!|uRjFwA$Q*kj|dT}avOJf2QhRalGm zvDQ`~Gfr%=cz#;pf5fJC)aqhJg6h_zG7_akl2Y_FFTu(xdm!^ z0o7n$*W)5IeBpznK1?ZA#zaGp(!{&<8_Kb+HkwnoRS8?i*qFIj1ZbsyF=$-H_%6# zk)FRfSFU4XdZH!c2 zj+KN>*0dzs=s+La4YmZ-kF&4gy{27pipGA-uRzx>XR)pAzKQ&vt5wIo>gjw7zA$!k zyA#MTT)Z_V-d*VCbBw!K&DQ7`WlqaUN^=_);OJ09AMHJ&ec|0guaZgBTVyk!{|Gdk5I+;x~l%Gz?G^>CEW$7z86$ zSl(NpHEDEclG*~>esmv}uombk+H*|~T43Lt=|;NvW`2hi zFkm>fD-4l3R#2^j0n;rvq7oMLNcEd-_Vgl;8@r*QIK;%K=F#~rbS|ga5^Y8GOwCC~ z^|VGM#5&Vy92UgR#{s5httI|b9SV9A>rU@blg5onozM!oJ#x)ZhsAQ!=~OeQB--0{ zSQ@CqDXv&*#qhup2jubdrc>K>C@qHGELK_^QH|-TarQ*(c#9<#$6T9&vDms`vkXLQ z&~&I`=nFec<7oa%EBlTL(6E?TOVs%2M0+eWu_;kb^X=3`+CfLm$fW3!D6B!ox5K`+lv|Q)xQmI+us~l*Q6D5aVussdlVLj& zPhmKQ)Tg+_=oq>~o(t7`b3tPCbJG@)DcnzY0k#z-%?ZW8|O$s8b};x ziRy{R*kWAcObJ!dQ1y(ovFP3Ei0ezG+e6(aPd9ak?oYgq5I5S3@RB!6Pl>n0#>U6l zVhS=V)1om`iRHSdsQZe0Bw&&|EzR!)WBkRMp7Xu5n4b9`>N(&4rJhryev{{!7E{Xs zl^SU-Nc0FjN9%rFm=sG==92u3Qh!2Bya|W7CQ4IE=X6icK%z5|w4C2E)3OV_UT8Ln znW@RSDVdq^x{gz8STNBZJVbR2DS8>%{p)5h^& z9oSh;I!<0(Tnuy^(mpLV=s0mPE?abx&31y0W3&H>juSel4#+X4h3(@3UC|A9G!WNe z-8YO{+Od&65aqB;ai_&PsLe&issksqInxRETD{nh(d7Jps^hG0*KwlrJLov3`PfQA z`6N>dq~mzHp+keM%>RKd(gt1R6Ouk8Gf$R2*F*>(l7OK(&_yUbMl$~`UF7ON9YkWM zeW(^^z--~Yx5mf_og)`CR6b3$1>%XcJlM8zfWsJA*sT^vY`o8%k$YB3=d?Ijnl{ts zgcxk-O>*T>PZI7qERc3|uj?(?L$IEE7JujrIRduA|CuK6*CUa8|3VX3B*%naI7t)O z)~VA{uHc|U?^#W~WH{pOPBS`4kINAc3q}df^n5plH}TjgX|}>Ty*oZ4Rm}R5tq6T`EIb}3&4d`A zmlW;tWTu#%_M~W!KNBOTm{>J8&go7`O*1>4aZYW_#3LBqlOfh}P2!Ir;R(QwdorY; zX*^I+FE0`|tM|Cy`}6Q}4S$!@A|QrP2Sh7o#;(O&GVUUN7QQbPGsOb21m~69Egr`S zR-1A5;J4zCv`ClClclo193scdCOKQ44||+ns$Ob<8maDvwU^&am8N>rNYg}9i)oQ* zsp)ysM$?C;FHJv~4w)79@T8l&m?xQMn$I;aG2dXm)4bOFig~knyZI;c?@{Kc_$W_Q zK~zapzo@}cr$$YWdOhl$sH2v_mamKMt*%Tmh?mJK+YI^EjY8n6zsUSYk-y2|>n z^*QV7)_1I1t>0M>SpSH&MJGpRMURV~5`A6tis&`bUq|n=CD<};1-24fKies`akfU= z9NS{sv$jKaWiPW=+lSdF*r(dt?2GMJ*x#~$X8*>%-w|+3bIfsE=(y5xi{k;ubB@0| zK6QNO_{9-IVP!eHI?J6k&f(58ovqFbo!2_=az5;Q&iOazht98J`o~-!vohwvm=|K+ ziuo+IbL?rc*To)+8xl7@t|@MI-1%|K;+Ds)iu(;RKPlcD-#xx(d|mvA_%q^X#4n8B zi>dqZ2~7#J6V6XqmasfwRl>swTN8FC9847G719!O6a9(369*=aPHak?n|NvB^2F7N zk0-vAxG`}{l0T_;(!iwgNlTO7OWK;WJLzDuNbZ|_PVxoGmnSbzUX}bv^7F}WB)^;d zd5S&7m6DTElv0_pB<0$a+fyD)c|PUuDW9Z#ld>=6sLSq3cNMtGU3IPo*J-Y4t~ss? zU01knave{#r@B)+r#_bYVp>#MZCXRx>1or`7NlL8c3s-%=~d}N(@#xrPCqC8{Pe5R z-%sC`zB~OFw{pk0J?^gVO7|f5IQJCyEcZh9W$x?UE8T0{Pq|-rzn{@7qdw!Rj5j?w zp6;HWo;pv1=XB3B&%K_2+9{1*WyL&6Vv%TkgpZ31({WL2j%a_$Pt30bZ3p*IHuFLu%>o;G}*Vi}5 zH^w)~H`BMkcd73mzAt>=`u4*n*YxbU*%xMCnSD$4{n^iEznT4U_Se}zXCKM2<)r6y z&I#o7$r+S$YR-(Dg*lh!+?umG=dql1IdA1`>E!RUsMFF;*LPag>9J0)blQ}goI5dh zP3~v8U+4aud!%zz=lISUnB_jd^RmvjcD}dslbv7gys`6#oxkk-L+7J;v-0lGdm``U zyp4Gu=55d0llN=B$nTn8o?o3mG=F@4V}48iqWsJ9ug_nZ|7iZp`S0X!%io*-TY)Nw zDex4u7MxeGwBV+KH@Y~wq;~1lrAL=uT^4rP(B*?J+q&%Ta5jJwy%4i?#2X+SbpZFJa1j~X=!PUX1 zgFA|2iYFC6UA(z?PszxVH6?GA>@7K1@<(Y(DHa!(4lNy1dPZq;=>??^mwr~(t?ZJr z2g}|s`>gDnvi)U$ly@l~Q$D$TR{8Ss7t6mYKT=Us@ovwmo|jg}RxYkQ&}(?F^Lj1m zbw{raz4rHR=zVqXFZvAYv$n6T@5TMh{o?zb*Kb$9AN&2@e@OqYtLm$+sQRKhr~10; zuWE+Yd{|pqdsFShwQtw{Ru^AaS9d|(n!3I9nf1f!udRP?K+J%a0rw1eeZVgR`whHp z;Jbqg2Aw+S%0aIWIy$(1@RfsqJ>}9Q<&cO70ee9rJy!#54zI{e`9 zV-4m8XG3y>ry;kYPeWb9(1!61lNzQs%x+lFa81Lj4d0KDBXUO6jyP|`LnF3~2#xGI za^lF@BOe_3^{BW}1*7_pnlb98Q7cE?H|pI{J4by#YX7L;N9T?nI=XrEV(z)|RZ(6( zeg1iGoEg{qS79>krk>!l?q_bM>(=!XFAp_^Iz?rh&%&(*It%}>Hmg8gDqQ~&w^XF6 zrAV6`-eI~*SjefX#dviY#utC(HjD95qY!4Zu*1={18ja&j5n_ZuJS+Ns`NBVaeWRn z{*`-Aj5n2wdi2!e!%mt2gKoM?Q|L#y5ZrON$KVcYPK?BJxX?aab8y`c_mwyT>x-t) zR_OVahFgjB$a#@p;s>rBoJYII*g?aO5nb`+V>~(aId~YST?szfg?=#YiNOB^_!#p0 zzwJK9JIS5!Uel+*jRQ?1kRKY0t_J+iTwiE}|E_x%Y5jpT8%6d%bsG@wKj~JAY}2d4 zeWFt>$V+dL^l!PPm`gg*O~p5g|AcGS({0qQrfY?t9Nsk;HtUN1(h)7yaMx(@B55<% z1J~z2>tJm@Q_aIW{>t?Q{e6Xk!!`61UBx!+6WfL_=Ik&hybY&GZwvhb_ZZyQn&U7C zhZCH);k@Q;p|9k2!r`Q4E&N+DKD1XHYj>)X7#Vir7cr8YOr&e*7~n!Vl5vAzeTHz` z#KF)(({eGG9AvfTnnPb0a2Q9|!J+M@@e$z&M`iWD=_X)S>M!1BItW^*u4t}EUXPJ^ zyUPY_gX<61M_wQLNPaGI|6Ql%z+%tYBH>>-tn?iGA9Ws)qkcWv$!~<`-+iy#3EQA2 zI4l~&3|E!3e1KLGYl8)4yeENq$ z$FN%ohgG0m<&T&Ne;etXiaZVwY3dG?i(ACQCGffe0ULA6z$ZAUNad!n?N`PHs zceqq}FZh2i_;;OXfb)u-n5AeGo#n-_Vs$ZQZuZ~{={D5M_i@_9dw7-vzLUFFx2z@goE{$m9Xl0mdL`Y1RwWjpM!_va5fG*5e+M! zetM36D24hQ@fG;)5s9iCX&0cLY{h*&To>KNi{8o!nj7)HM!=Z}=R>&f@%$#ZeDJJE z_)OD)Pe%HyMLO&_y7A4$3mUtttB}{BkOjR&1LfCzHt4OV^-}Dxj*Qll;oFcPtK{r3 zX$;PUyE?1G$>wo{R%rFG?PU;p2RJ1gW>2oxp2JjyTbUOyan&s zfG|IzY?DMC$~_31mqEE3_^qfzr($;^$`3O&epvzh1E>#o;2JNwNS8r7rRRVvh9f$# zkDlr3fh#>Ddg)mg%x@jUmGF`Dm1xg6JuP2&C+a~Cy&LsPb5u9#5fU>$rrjY6W*HPSLJ%B4{USjNdAd)L;0pcvJfg8$PT~tQRpy zmG%zvU9yKy$Q$V?_6fX%iw|oWkuV%xli}0*vG>|~2-l6`B8)j`A4m_B#bUWwUMp{q zE9Kqtaru$_PX2&Z{u!#fDpuv{RMiHH&@aIn@Y`w|CW)P- zugx3hO@(ESY;R|8S8oq*xwnsZl=n364DUJK^SqaNul3&Oy~TT{_jjMe7w=2)xqV(= zjxW!L)3)@q&q+_t$z0z>$jQCF`;n7}eNP}KFZf=H$jNEQNfdIDfSjZo zIcY*pVCotDf{?ExKO)paymNdfLE7(lFYOx2IsRpcEWbwlLJx-4gjR)a3*8!89=aiP z?Qv?G|MK@$&Mv%7h+TThfD(6|v#WGh&dwb>AHv_#o$m{=^V6M>Pq@Cw{;4}p-C4VH z&d&Zj-r2E2h#gnKoddUU$E+QLcVKVI)-9I3T-P>G(vn8E_?djB9MqUv6WRvmFqfIG z(eSvt%5;tCI@1c%{id~HT>I6u#`KWsanm}}OQu&$>rJnl-Y{)2y>0r*w9jlY$D3Vd zpE-v@Zkq-Ruk(~iK<7O=<}2g#9WLWFihz%f{JHm9k3KVs-86hP$%fwS zM=k3mCgNr2IdiF;s;{&KMjCwOlZ|3FXwomeBElvZ&FJ0oIclyt%d zY>M>bw1GU?9oAq6%2VV}Sofcg`Rs+5)xHImMz4@Jp?$tA*UQ)CR!E-h!X@pHQoo@e zcZe*=`A#ww`eqtrelm1}4CvySqDmG+H|ivMLq68ZGRVnX=&XIv7xxlFWIu6=>?=lK z{lair4Lh~t#AG=}jKvuWQ=n6w4*g=Z94)5G)5LUn2BhrSa*}9)hAa@rb-zJcZQ;&&x-}bMg`K zjC@GE4qLddVduem`Lx(3KMpyjjFU_ezmAQ7OAYUk{2?aURMfISRY%E)jP?7g`Iw=y7?Ucw4?Ew#awH3v#V^ zLq0FAm6wY9a20-X`uukG4|YARd#eu}AWL zu}(fFUX+iEr{#m`J(t6PPyJLKNO$Kcg5H8GqF>CBEFJa#2)#j zI0#KBQCgt&MMDD!i5MwGtW+XSnqZqBOFZ+Jvl#Zi2-IffqjcZ_&?h<-8vZKE7o zIW#EQMO4T_(NlI6WwJn=iIL$MvO!!gmx>#qkt~xJh%4lU;!1guxC+|l<#MsONnRmt zfj$0PVe|hsXo)w=E5&B{H}Rf)Q+y!*EXjujFuXs#;VckY&A>uRp+WjIJJJhS_oU#3)IExJaxXh zNZqV%$9a0o)MaX=x=vjyP)S3VJ#N05gqjm}`=Je(@qHVui}VA6CE8h<4l8h{LWfPr zZM_bgBf>-pH%=zi;#z*%Q!cV486qA?D$Eqc~g45tCuPqY1bM#A!u)X$GERRUyn=gl`3Y z4(lhcl`kTde-)F;DU!2u zz)dQ_*}%>LEtDq4MO+rsz`x<>6^Hx@J&`#Y2WrA~fV5ZqLMvE5*KQ(wd}pOm!&_2G z6ZZB*NsF|ih5udJq+Md4nv9XLko<9w*74l0CZSJA#<$<=WD5G|Jjm6MXu?<5RMh-@ znGU9E{#_2>Q!ma=2_j?>SQJ!nkG>`n}O|j2tV+K_@s>PLQWTGdKgi8Ac0`C}*NC zdtXkLQ)DB)9XF%*m?o#m>2d}n%URGKX5u`U7TJog%IC;7>(ReG2F+q2 z`nShX@;{=-FO}z^kG=q7f(zwEkYr`@61fC2^-^(EUM82K4__uP$5{YZLMC1%ua?(9 z?@{iFPA;rjO-K=wWY$T)Rcy3R{b}%R8XEtYqzF6~-9%$b02#^hQ0=U)>LV zW)0+dFU$}8fFATk`7rD;KPuNke}5cO_zCeXbc?58t!IXOT0SG6#oo*3?=i~w0X6$mF<0)zjK+NVlQ>uYEceO%=-&>=U*thp%RVH3Lr-{E{w|M* zVe%->!5J?9z#;Q26K*giIFT~oV zL~))@7)EY2tj9uG}g^EMoo6i#=FAm928H$2b?dT^_W%0&%zMA}+uIz(MSKUXwF$cFR5eYk7q5wx;!be~^wMNls=z!H^wMH`bFvsFHnooGhT$A@e;KJn(<|7 zDYW-x>T-;=uT)n-Z@&ip<4fY8_*EQ2UwOT{0lM^Z=;Jr5TZ9RAl5bPDLnn@7&HiEN z3im=*-ve9W|AjH91?#c;sXNpP%vi02X8)AB6WaAESQd1kpPeWsL5uD$-Vkq!r^Pek zS*#JI5x^@L0YpL9zF%~LcDGC{#ksIoh^xdBb+=u`(d&KMNUbR}?hjXaz$632p z^?+ITzgdPm0UbQ&^$$G*+g@il449&YRn8t*Xtuc!sPpUe z`8j|7K)v?M#S! ztaW-uHTv`<10~ivE#n&9)iss@Oo?MaduFv927~qiC%h%-HxHaLxlM~2ta1$O7$;B{ zEK!37TLu{=jFPM8)PjDUz+gC!OlY94hVdwwD(fJf;6WOJmO*o8%xr3QPzCUpRQZej z0mtBuFZ2hBIbV29xn&3!o@Gb`V~d%w2vuz!f~;tC8&PzMigij#!evxt8KxyQEF!5A zjj@4}QZ1DdE{i~2iB3RIuAv~LT7O<)s%x2M86Lrk+JN?`Rxj3Coq$@scx&|}YqcbU zS|#!agL;`3hpU5LU25v0hEH#8(`#U@o{hS2YI>+zo#A!BOtJZ1*i zUS}O1Sx-v!*rog~KU$h&_?(%O=S+`i86|qkC0gYU25T%MHHM8e80HU@>bVH$RF~?x z2!!8IXBicdXqle*vNFf06ABrJN^6WO(~~OGlPJ^iJvBlC74_!PsGgS55oCnJmTMUb z26Q%+>6s|2vy6!>qhflMKZth1?WQh#EsGk{&g(k;#q~Ntbz$D?iPqJ{j5(Rtfimlu zNM4s$S;uHqJ!%XIA#VD~ZK<<{oNVh`v^21>2X9YnDvL4u_{Ez_7H$F%m`QPTcEu-HEBgtr9) z=IQMsx!N(kV;qR&Qp*gZJpBPp_<;X9mBD)3jG~#XjWb7&JVm2FEWv6x1VUD;8E08% z=vkPd3+EX|UG)cx%QYcgrU~h@I+6hKTkbr2T3d5-%go6wO*0xTGr15gGb8w3tYtn> zTw|Vz9BPylGpA6ubXtqUvbEUKqP2~d$+KJM%x!C(J-yk|5|Lbq#`}OKogt;eQd>(g zSkBD=DThT_Pg64*U~43!^p;{sZJmf(y$00kN!IE~YV`}!S}*qEaE;MxR84(UYr6!g z)w5C;PE8M0tJk}_Kuqh&5(IU(HL@y|>ak1tU69t*j@FZ;wVrZ`R_}wsT1%V8|2BhR zkk)!G0y@>DdM?7Pr?lQOC!*<<>6tGpcg#7Vw1WYiQDu5kWjc{%JVaw(xvn~meTW#njfeu?`b(#tBL2fv%z+*A*IjNr1Zk}hg$wB^kS|rwJeO3 z(t0Tr>nyA9X<5X{+ZUbC?0XiQrk*)93hvAq?9a3(p{%Wohet)$l0Q_1v7W9|vG?(i%m+Lf_>ok|^G?(|ZfxG;k=}zXV2G4O! z1!X$yWRmn7RWni}!LKI;O_$lIX~cfNHb%jag-OG;+BLhmZANPo4K~o*H?erGsT!T} z=jfuw$#a@1NhDQkpE_gOJj8*x5TsN<+RZCFg9Q5^C^UN7-lXaw?r)rj`cvxnc-8={J z^~ZWmspgi49!1ZprW6Eqk%4Pzbn~p)a~C3}MrKeWD(L4cSX0V9O|id>hXa&p4faRi zdq%*;Ivk7$PjEOq!Qt=(a}~ywiyPN+8#m9!)>%_*+!6^Q+VHGePrIgQ@=T@|IIUV0 z>#93w)5BKTSZYMXE{U1m+IsfnDXsHSEJm7|kS^B5u)kPSmT|3iLI6x@p4obCd*C3~ zSwD8sXfFwB(xW)26CY%5<2kEl{$j01!j4(DzbWUNSc47P zt-*`Ppw*E#!N{AM$eXgrn<~DEHMkS`tb}h8JMby;d40r9AP{+@QIZhJvxvt*EnzK# zIIEo+kba}(R=-#!FpzZBNCV8sX)puDF32Ka0B9p?r3;)c?b6fCD!-B6G_%@2!w85CUG@aet)*>2aO>R3| zjGcA%tg|uKHX1R_a1!&2QGA_*cabfXW%$--0d*2zv1zS6L8rrM&_slwSoFj3+kA(` zAxI0UfajDm!b(T9bGwL&-|CtGc#{1iq2ev}ZvlH89{86yU>(qY#C}A`*fowv0I##J zgTLASkdO(BnYIeY0mlJnN!)5@U&oHPyqK+V4UTUed*c?xcw-A=#>NhedE9Xz=8$t> z%yh?L=g8Qz9LHl8IZt;^bz*Z{Ot+Xy=WOSqm<_OgQRKYTSrl`XGv4WPdYsq93}km} z%$;~r1iF}6ztqV%x?n&fl%Ijmvu zFB*B?AKDBnmU@c7#vvT@5pjyvJ##f1I ztEk&6%c$%@boL>a>G4=n@qedrh5Z4al17Vt~xEl_Uco}O@Se!PYV9;BXlW#QUuZ*{s%vePQ4cjMkLT1))j;N7l8z5LJ3fB z4?0j6j-ur-U&+_%WMn>d$-?EWJ?)s-$#;L&hE5KpVNOi(q`0KRobW@dJr<^r>2Ggs z9YShh!XdRsT&K7cQJ!e)M&JD%YNp5(G9mW{cY&?0sYmxHT+*a4JXWLerJS&gu}0ZeUhYTUw_&E zeyi~-92eI}inZFMaXO-W^!)xDjun0r;_7e38-LewMPWFJt{@GU#{jJDvMwIwy@LOid+(%H<6XcmQh&!;S3Cm9#`8bZ>i^j|AjUh` z+u$ARJ>5ISJKfvjo$FnM_0>zgS9xzhYSs>81R6`E@>n8+#|vH_QFP-Gg&*JHg?AWS z8{8Feqv4?Gdndt7g_{XS&xroTaF@beCpu$2_ayIBtm|$AwAgzo@_L>3X7J)3?;7t~ z>~&w~UGLq19q%7_w|KXEzxM9&?(-h<9?Mc$(OI!s$ysjfgU`$AmK6l&s-ZiPpNa8N zDYOtNe@DL~RS9Z7!L%m&OO%V0Zj`2!D`_l;6W1|zf^UZZ3x$DCPk#x0i1AQKXa&+j z$xvEq2&BA{(A98v5DqSs%RS(QE0oM*j9= zolO*Yv0%TcgQD02NCW#(SxU}!Bg;0^$zXDzDc|47upZ(S17Gbc!JVW|Ak>C^a+KUsUY7J z?b4vK*@4vdAhjb%?H8m$?^%uV`v^OaDMc-{y-4jKo*YGr+d;1zr&;yF9v*sMKfJFh z^b4LI$I~xB<8iDf@gk1{;FiEW2;TjI)n!!PheNx-gIB?WEo4*F(;KcDZXg_5j|Z*B zgI41~tMQ=Kc+hG*Xf+t$|w$_cYu(xb;G0LYjIu zz`YIk0o)e2?Qmbi?SX@i{OX0(p}j-f!2P}0{doX6+=1M^ zqbA|x)X8{06>|u%?G3jQd!71;fvQ@xpe8IvO}G>_VFGGGi#kJ0LCEZM1ot}JM#Mb`M`=RJ zyDe}|xHM=>!VN0jlp|2-29<75=?0Z0Sf}D%_yL4JzEA z!VN0ipu!C*+@Qk!IF=dTE>yY`&JQ;bE>V~=Ai2^p%aiVf%N6E~cu;6Ycu?#H#cojS z-Ux@Bx<7*Z9Bv2Pw{Uym4!|9TJFcf+h;%6ZGPvGI--Rn?qSA*!u2rDM)BcM!Sbz1Z z_>$Lo(hiHsSd;i9Ruy7ztG-STtMs%rdh#f(hNBg5#_G2!RgGOAv=W;0g%wtx!T$p5ucEN}>PyTH?!aFh zc9(pEcYcd~23D~be^#sw+lQ5GzhYIa!g|;QNRvc~x`q8FG*g(Z&lL6)N#G3XKlYzg zApB}deC=34x&SGxkSnl@<4$=e;Jf5qz(0V! zcxmVlp2BX0m#{kD1Wtd1mE#}Fk3|M}{yBCqe1TQ(7ObZH2BM%um7t$5#VW)^aIhzH zkn|~9pH3XKG6!RrgR$sqGlA=jzXYr(OjV5) zYF?}e9e@>b#PLp8u{{kdh-cuB>cJA1H-5_~UbzV~Ln_hG*GrFF=#MnN2(fL=5M`yq($r_)MdtT`o)&%>^t zdaNNOzMso{U%-4{$b4VKd_Rx*em?C9!p;fo3KI7)uU9j#?*p$t#$J`r!P)i9*^NA} z`xbL{6F6J_FX|?7*2$c;F=wNgvr)|1DCTSwb2f@O8^xTB0%z+`2WkIf4A<*e=5ic! zIi9(kpx1HYa-v?-AHs^rB<6K8^E!ojZDC$pnAaBOwS{?YVP0F9*XTv@=i>UF%Jn^s z>w7fwJ(~HR&U}|#)7{K>5A)r@d^dsbJ+UL0>bsY@Z)fgjG53AU{cPrb4s+kpq1IDP z@5D7dm$~1Wxu3^1U2#p%=bB!?HN6YhbSsw!&f3L1J9Y%4rf10SU66gQ99Mx5DUh5x z1lg%WkfiOnlmi?NvR%hPUg{8}rVc@N>JX%-4ndZ-JTKY4nf{( z5K*efh3wUz9uGq<$ZtKI-GGd|xm*U$V?afKDg}P75(DZFsGe}Xo8eXvl!jdD5c(Vq zqNlDQ;io!;o=AJ@8fidhp_f>Lu=6P_{ao{12F^7;{FHF6i6=ZITvHh5noW?FMn}l? z1}qbbR12`@8_+TXy2OBhb6vyXZZ~kt4G1{bCVslgz};^^j~LLC2K2lEy<$M1MNj2D z1NVsmZ8e}>2DICNelnng26QA0`PPD`Ps6SAt%tvXIFaf!phN>o3quqx)yv^>!?@JK zFyzLQ)M0QFQvLAD;CeHznsEc+^Hau+W*llm>IbP?Pz#p=nv^;f{>(5gwatJQ7|>z^ zy3~NKFre!U=w<_=cicnoNL^##kaO+5smQ+$tur9X`u(|RLTHNn7puS;)POEBAmGwo;<#5CxEl=URs*`zfL0sOLk9GC81jJ@J-ye%xU`L7h@PHE z=|7K=w%Lerz<@q7pwA6xhXH*XhT7le+mdegZRcF>HK6wN4u@l;9S=k4W&_HBS%m`T zJ=Ha;W&6^LfGZ(fdL>+chGqjgi=lc08e%~7bR<6=-vKv~aZMd?^9kp>2W|~NJ>P&X zF`#7zbWIqd80pJ7#_b(&s~C5G2izlJT)GCmhk2X1h`%+x9eOenm;QYCY5FS$^o9X# zGN4Zga*uYmxfi$>1KwpoyA9|k13G9xN5YU>7!ajmp;X*X1D9w(UO>J1X_^5ME|+nI z2F`ClWd<}A5Yy+bHlTq9G|YfTyC>-3CKA-GD$JjjZ9L zKI;%_wGQnwAcUilw-8yVQ@%Ykg3hA4#t@CiH7FCQwBxdF=aDw@pyQGa2vS$a`3$I= z0YNV7Pl3}@ffUto6$aGTfNBkBa2O&=wYXWU3>?*ajphae8XJbZkE4!1%QT-J#?gF% z79;DCFvN2Qi+EOGF8IQb_g2KclQ_h)1P?KE1MW0vsR3OD2w~yVQw>5qJ>2Rrvd+t?A}xrP&QMmU~<*oauK^BXpLT%dW4X9zHx4d`*)dVyvHejV&JwK(5^5<;6ID$ha29SP$y zoq%#VY@z|B8Iae2{D2BM96@CSX;Of36EY`dP6d8uW^V%`Ts7ke8fZXTIKmAh9NZ*M zV`e7dMxPLF0q)!QIYEmFqE?o%vbnHvoE@pStmtgua&CkokcDZ84zj2DHb3zBVAj`8e)A19!-Pj)ftwGN5P!iZ!5Q z10q^DJ#U_Y>lTKxmV1}__R!n1t}!6svTkSGDg$@F0X-6iyuolPusy8j*W1^CY7JSz5~w1xPlJ2A_J#EEZe_RNo=)NaJY}LB6uA_p(08Lc8~Q!%)_21DbC@=Nr%^VaQi# zK$OZdPNmww4GcqB%d_6|?V+bx*BB6RS+_H8m4Un8fF3cRCyi8|4@16TVJPbr19~G2 z`9_DKtW5^A3-8{|JpBndbux6&fFQ#(oDUCl$YMZ{X1+9v;e)L5O<>4tK)D74nWjI5 zT+<?1=eLse4UIrAlAkl zjyVo!w^$u>Bo-giVz!IhV~)itglP<&3IFBLIq=(H9ZQOZIFUz+$3vCy-wcg||8A%a zek1!YhvoooJ^nNNB^+{nXcXX=LKkwFqwp7kD5Svto9w^Kek1!Yvpv{v7sS zVqaU&`m%|>tbT-Lq*AHz!?`RTjZeJ;gqoF;Z^bC}=Z?=;c*123Ce;WwIQ!(U`- zWPb$wr%Y4euQd_(o-j4Tf76r$e}!oa{EtkR!T-=y1Ahspyb%_=qIHf!j{`&;WIm911$D9wp)`S`&eP+}v*~bj7%3AXP z#$SN1{lfGt!&kw-+k{e(+fBO|gIpsncnBXQB5SE0N}uUm_pUJl^!0~lUF^;yoP5|`yBP$es<6~L!AmUGAouICrS zc8HWSIGsukS;@Ierxa9_>2W-*G*Mn|Glk$6n->$t9LIRdOC{%}lHXOyDfi&FxHw5QMwluW0mA|5Lls6|uBKFPIx3B5%up|`+C9^oTL@Tt8#X-;Dp zZ$$m4I<|yT6K7Js#QBsjgrv5xgy@0A1`4x>(_g}EX9>|De&8HE!#Vw$`TPu1*qbHK z8pe3IbTT=Q9;V#G?^;N)U;zZa^iX-hsv4EoN)EG<@hdrxEzGMHPKRY0&b%UCweZs+ z91^`gV#=J{gg^J0pt`kI~relgRw+l24KfZv3_#2mvgmGxpS>&50+g1HVn%JeVh zw@ly?KbK2QIWb1obVlPymQPyD%<;R`wC2Ij^H=4S)9xCW-Mf$L!dhiu?j4b0VH9BUYrxXj|X zS>^y>8@Hn@=1DfEmc?An;?#m1(!*hb%=uyt6V#q^`aw=V$n@XHZ)swlH*wr1PPvIG zY+~LvaoqmQ$upRfw{WcKoZ2*gTFXx-^V8|f!)ctOCeB?GbGwPlsEJ~!Cpm5tNp;!8 z;csM~AEsUgHt&ef7c!rRGaScn+`+W%V5(l?H&$>u75uKD9LCFGyd1{MoXI8%#Sspl z$`pE;9xuPQjbqht-fK8~4X0MaDc5lBy209sl%;AXe7`9XexCXRemCm-;FBy3sLc$2 zN4|;ViJ$sMnTfMFDa@VhA7q~-SU2h`WuxhKyUjo{XU#dAI?!0>qu>;RYPewwS4X*y+7dZ;@vP}RNYX|uq7o4c7_*4qzKCn%BK0-!U(!w{ zv54QYNRqVK#OZ9}bT)B04(3vWWhOkW;->-TTP~M%CrTN0kLo}!htK628zA~+E{D(M zxX|f=IR#dvr3~U+O!6sAkW0Lr%Q^_#*}#~vu0fV5YMY&iPJ}_;fgjKQ>5QS&g8W81 z)6zU-z&gdyDqG_2*PRGO!lE+*JChkep0f<&jvA)c#%mTLui zRDkIZisJ~Q;WdmKE6K2Wk)M`vc#KNG)m>ahZ*i??W&W?@T5%4S!dqPK=WxikD3&;f z`9>#%qBWV&Yl|N_?vJKf1XD{9zi^4~<El>FZjV07h4gW`^fa9h_q$DVN`mkFG6baJe?`@al7_0ojiV#DO^U!n9s+U zhd=RKj`3T5;yiZ2+8!wju`W(Rh)jULm?iTyOhXpKSqx_|oWUtvg0)G|${2GcKON3+ zCBrQYw=mp|;cgrYR!0%*a(Nj34#w}`FkXhUIm}C(JC=|55dj?^1&jWj|x5I9$Tik;`vb?*__K%-viDS2L6DcuoH1>(tS0*xav=M|*dNXQ1okJfKb8HN?63GNq#!u9* zZvC33U!iUDb6Ef8RmyITr(^}J%2LWoj)cv?nZi~zq0T4I$JTM5yryO({8gt^P4LMl zhYla&lWzN?I7c<@ck_5;&HZ*RJm9OhNoB|D`9mHS~he5$O2V?>lIje-CNb;4l5I3 zweJY-laX38_>Vz6@SC)dfX%>2l?V4cJ%Nj24Cs*W>6moJIDvUZ$3TWM)wHWrqnhry zB=|lG`RItToP@ESgo!>0V>=0BKMCVF3FABo69WwAT#iI89^rh_j$g`Ad#*H08Hdn# zLAe72YrqP2BjR|u-0rmJ;NVn z5dn3E9D*;ugFizwk*{jW=Wz2GgO!1ZnNDG_GL7J~+3$(`D6D5Y6X6xC1U`lYX@@m5 zUaS|_Ec}suKeq0NFlHmn3nB{7*Na$shL$JM25GPLS&_t5d3GL@eqDB zSi*S&XROf$XrUegG9fyd)LLS7&t z1XB#5#t9u#Nu`>YPC`ljy^xTw(*JvAuC!X)ko-RH_veGP(wTD4oH=vaoS7>zNs@f{ za7fa``~~BK%>yw>+P@9Z*Cv)NU0MFvK74<5M3Q=zO{`o!cFPy`z9g~e7bVHnzI0_< z^5SJ{izI39Le$^3a@FXnv#vSz*Agp#6u(<{9Jl?%p3aqhDF3D;x%DHrpK>DLKJ>p1 zf89qOd)5(Ck#BC2BxXv|ZJwicZa=*EbB<+_baySvQ%3>dKGC@s?df;zQOBKn=1Yz* zB~gwx#?!~1uw#4g@lXsqYl?h4n(*gdgWW=SlqI@nibhch$jWH+jg%y!u!|3@q~^O;yo zKF2k4o5CFO8t2SqPM5qE-z8Zp%Vy!IQ!v4pEeJ zb(AgqKMs%P@h~Pcx6`ZZUI$ae7PN0ncc{vlQ5;aBD1uSi!&tvR?OZo?BYhuiJm=H;i!$0)gW3HdGQ zx4hrE?Gp#Je?huO674a1$8iUhza~A(uF5}u8X(pl0oxpL(+yIhs`Nnep_^YC-? z@Ry~Vq?7aTyYl^UIE{y$E1kg0X*{`hv*VfDe*Z!3UtmqrjrsncKdAgQwqE*kzWk** z<*Ox^y#K6i`O>58QdNE(vmoW++w<_}q<^#Fz*c@F59id+*Wa3l6SZe&`5SpSs4P96 zuRq)W8`9?so;z;Wcge4wQO7xUOuh^p+bN~7+G^t6T|;s@sw&Y#GOy}#g+r0fWSTQH zxY@o%PwTQ_RJKQ+%aGaUkVe=pfm)>svC zS#J4A2Qj+GaJl8nIHRBLa%zUGwwINanX22;JtbatWq&`(Grq!<4U$(Xl~NL<5UYs; zX^syqFIOU&>h6liY6#Io4}#XDSb_6PTg%H^OH13z%Gyect80p)H8rLGY*k)Y(o$O5 zQX)PZtE0tL)kV?j<^R%J{RgNI$!f2;@8oCeto*F(KMO;W+}VtB6eL!cB&DlWf0U8f z=}>yB36#hL@&%;B0>4>;LlE|1E#n}L9txzDY#a{ldgO=VO3 z+gGeWFmvmh5%#sf%$=6c(lz-a)#bM=pPu=h={M=`OP&D!2F&X%;$V&)mpi3mEOG+! zPLZ}i&TazMB~qQ#fnjh&U1}m(A%{aA8S*v`Nt^0)#(;Zgisnh-U-^{9*=4J?){b{M z>Lz+>V*QI7GXID0W9)s?c&}?>r0adB>-QsT8pq|m8<#gOZc{?x)&(71i&`TAQ@+p) z^anC;d)e4%dN}h#SLStXbRs!W0$R3bKa`J`pOTt^Q6vHmPQ<|;9-veqcP3NmR3sX4 zsX(u$RVMC-q?R|E4!0W7<7<^(-l z(p_w7va`6XY5DPE^G{gTSXSgxbfZ}HmHE52Ub=kACEHR}pc%)4(+rw{%cw!ViUpix zo`CO@UgI*aJ$n*iornJt`h{rE;rV_NGKU}3AIUt?-^XP^N>^OhH zwwtz!iI}-y$z{v>j$YoT&D^RJ&fp7YopPEK2VY21Li(fpQ%-|@$}T=uKM(;9z>UgX z@{_MF7Omu)xHcdtX@hHc?Je1!g4(M5m~<7V%qR4cJ#9|yx1<+&?Je1h=fK~SE){SH znF~P=fs4xCmY>bTFUrFcfQvEQqcj0K#_6b`95zkx5X-V)u?o_j%TC~{@0+^8n)$cq zH78rizg>e*c`vO%f95w9tvo&RnoF!e;&hv)vc~zKjZ^1E=`Wn0Kx@EBhYR>C(nVbN z3pnwafbWz3-KOSA1@*yC(yhF|x$TIbM7x)z|KR*Y{cTomv*8Ju!#N*bCLKky2fAxq z_fk93y|3_o3)^eTZx3q!0*gzx+Ow~5TSBzY_5YgmFt;Vdc>a1od+6R%F37cp1kGXn zx^!V~7J(J%MlqV_Y~3h&qtzkc&r5IET!K+>&J=JyihTd1lLh<*X?FqjNhb?9u;n^g z^gsLDH*8x#z)2@ledy$q>hit+&4$JaN|eP6KbSB5=zvnf;6dWU?3iqU4@U~Lc~0(r z8ec*H9;n$LuImq1*9RS$JBTYkkzak``jU!Z)aCT3x)G^^UN31V54lQ(Fz{O@xcD7# zvFRr+23LC&Ia(VoEjQdkwdcn~T2Rno|0%gO1>r)HtkV`qha5u4b)Lr$43D+^ek*gA z!^!ISx0h5vX~6&qzbo^hM#{{c`5{)2tryObpO$)vQhCuIjpU4U(h}UWK)4`CP@P$ca7=}Wh#Qrj<`?%t75)qw8Q95u^Y)?B`L@#Sk;HdZ^mcUXad^@!zn ztIfyhRFN7K7dtK0<5%QhWXY9l)?B%yBoclH3fANETYqwUoE0%pgyi)(d>v2lb@Ph! z2w%qnPU~2}_esy$`hx1yIu-DjrRQzAKPh9BdH6dl!8u#>LmV&aKhLTP;KY#v{;G5r zq_WWMCu1%w*j?m9fe3!?-jJT4S(*LCs@3ZA%^(Y!m=*S>$Itv8vN1Z@K9;GG_Xez) zi-|7s`SdyaJ@X9AIft|wlI4B-Nexm9o`t!GF0!Y-j-JKcs6#*bB-7_JkokDrw#8Ybp&`R>b>&JUF)$;0U zV^?Clh5dpnpw^-7X|XDq$#o38aY&~ZyWw|a|AgTfoHGUVmB+}plu_d&uB`=h-wWiq zkze`|r;>oa{386e?BnRc&84$|zWyjEjoOkl!)3F8KKBzF%3zFv{sfK7fO1*bEqxy? zRsnXaLR>7`JYPd|wkms?bSs}T0ey?0**~N1jS9(Z0e#^E@}jUBq@O4xu?ecmuVp_X ziJko`aAXD8yzvb6@fM&J3at*&$E$nlFh*x~OnMMA1v@25yb2FWP0UURBn20(d7o)# zU4O7D9%A7j=14QkIx2#GpQY($l%yy3ih{a)nOGgV>C{`QO3N(|_k#$FH-Sa5Lef%T zvHxBGq%rWzeqd3~CI6@J2XhP`Ug8XaEu6uHEv@5;pyl!R9HxH?C!lY63Fm~vIh9^y zr*nNr@IF4j0{${9kxnLQk^NXc6}V_pP^u<;5-iQ59}0Lhq_PA{!Eehmt;;2^u(Zru zZLC6#Mohn!>2tGN^voCp2uQ>N4ukD%%Uq`$KA-%(fMIHxwe#8M^_lTPDT3MDlAWaI zf-*;PJl~OiiND-BV_D!6lq8ZL5Fa_6NNXm+UgvE8pB5fx27~?36Sn3Em@}XA6Hj3^ zDt|@~ap`F4Svp(}<>Ua%a>@`KYov*|3VI#S`v7?G+Vb7fN1}GNhw!lBF8Q&OMcNDQ~xdLF}wGE`GGu+3AUba1W)gl5nbc$E-q;2lHWU) z%MwyDGEpM^BLDS`NWXAkH)A9xkd}j~oet9qS z&V^pT(9sAmgj>>xe)#i=^(*R=%1vesQ)}e)K>7*oceDO91Q$HwvXUa zgDuxm=^@!(vw{k?#=*RCDtQ#c@8^3`58g0us zl_tHJjvjJ;`N(*DYrhBPV@EQ`T$uqUXJr^~3VWKfb!_qXy>Qc5Nn7R8N_kwK`LWseTwK?%`#MiG&`-B}^4U2_c1l>BVRhI1w-&)LwC z`#ZAW>}5;OS+L-orOVDgNyp-=Ig&Ky_}CHJgeMc!^!^xoHR50u5=u4cbfbx z*9_Dj{6FwA&EDMhZywbC1$M0TwfuAckT2f@N&X$Qe}Em%h&u#c;s4SaE0fyi_`tS%i*TRNZSday$pU2GL{z&f5loac zl~x2b%i;2=WTG)|Zb9b$&RLk;f~yF-%H`rXoLt4J>D+LW%W?}f_qSldN*wcdf%)@@ z#MMdNw#2n}j>u&C=Lm1sy)JpsWx92rd*&IZM?Nx#VD9f6M5EYB(&TTuotA;UrDdwl zPRn7I`&)=1r#&#_GUcm$Ex*WW3V4|$u9(aH(zj>l*io6ED-O5ka(`|v9n}Yw)7pD9 zU#=chPCW58$y1Q+F0LWE3hg>>f#=-C1H$An1k*+E7k-mMfi`pIi5(XY#}=M2C8Txc z9@Wiis35c7?P}Fr4~%T+FYVa1YJi0Q)|<91IDbbEeRWfO8p2=8ysjGZI<0m2(S6G< zT>`u)s?z|x!cq<7e3C~L5K}F*BSc^o5}yZFkM3EMOs?tq74(Y-QTE>@`l_q@62HQ} z;@-{;eSMo#dgcS6Sj<4?8;N-h4a2os<`*veSyhOxS)^0adB2$Sm%<%GQY*0pev{b? zEN&3bu>97q#AAM0^1Gfj9UW`aZ&vVUe3Os8Gd@<|I8-~(xuL&zb4u{%3Z)n;s}>QH zh0vj7M++53aS|RJNn__IjTkZoOj0T3pDZvrWB6jd!)5);28NmfrBMWF{JS^ZWHpWr z&Tme1`n=)V9OLHx&SBsluj#KU^_J9>m`1<~s6$H1Q&e3X)wD3XF2};TzlE$UX6Sg# zP%G^q6~vY}jnqVi9L4{9v!EtHp&=0g54nP!uz;|;gju`L8$`&-)4QRws;@RyHXY0S_1}=bY}dbdPW|_!{{&tP&;E-ngF6Pn z8L-~@o?K@#7o7kTCR!DHn=Z;7Fd}R&z!t4gxUE&W_{2`98Z=Ekv7@(rQFC%dvSF&P zs^`f0{l`^#L#7VXd$^`;QB(Vp=BA~CvA&%;OC}wr+YITA%@sX$t-W<#v$AEZt$RgV zeFA$~AvIhbC{M*3Q!x~@j(2yiXa`j}ww$W>2&zgy<5U%J(k=u~z~TfP66<;CJ-#C> z$|?Frys-dPF~)7M0J_rH`0p}fCgu-nsGYg+Z@xAiaIEp?TSHWAlz**4)+OR#bPX zJ~G_1UZGD&jq_$M zF$3}?J_OQzmgNPHcb-{gg-|5o7bP51Aj+C(2c`Sn*)DK`h^X@xB!m0!g+$j{wnXncxSz7QWCR4AMi~s zaw$)HeB-B2O`S0g_c4&(lPJ3f{ zILSr5;LFV7Nj`vpzb3uLeE@pyD@scq{-!KRPutIZ zB|l!+=mf_+zsM@={!S}sH(UM|GxB)6!Xu#cyxH;>u!oSt=M^3com>7IcEiXw5qOcE zH@AGh^k4b@cPZopP`N63Z%1i29T(A)dqG=#S`p z1D9Q6oU?|w>=N--Zh;(`6(sErBn_IK|a(jN9zqZ$t7-x>2s=Obg z%h%_2vlu^z^LZ|l_GA38^yD+-?@Gnox)ja7x8_qa zA2K4KGfy!`jAvJbFr=?)8jk^_P;MO^DTK@2t8N8(EBE0bCfGV_MK{H0p-(y z6!C;eG^hqssVH(M_!s3$D=7b3@xk?Q>~ZgL_%*jz`Lz-;bf5AA<4%QVx9v8*uONJj zxQ~10LQU6ncE6lijK7+Ep&M3{uFc%f*gcxTn4x8sIpk?g2iI|&IM=^suksr>w+c9| zS^<+uM1WGRH2vy3)i3FpcAv)fsUZW~inS`7M34GT)ytavh}Y1y%rhOV-ZE#-)-(^c zq%L>smVai*uVH|_$;^uu=#6-^TrNLKW8}|usk33vsFI&fAj7hjUs2vCkHhbL+u;Zs zUi}5{&vp6HpyAYmErUiuB^xD@mO@XW*CA~-C84%j6=*?_(VXVSde0p{*B_n7#!BT4~#giIEN z=itl+2icz~oQ@$>rY0Nb?;0FBW?s{xp31QQ2^hU?E4sT@;*(_qR%VD8;tY3LU$S!i z?8QsYm|xK~uhx5k709%uw-5Ah=}B!F9N;^B0;BH&Q^ZywY3`K1m;DGM6Y!teaF=}V zuBseV*=9rI^1Wv^@HRh^{*#yP!sv2s5}2oFVDrpvyMDIq8O>;W2eMJVlJEJj+0s)h z(eiQ30mGK?T~KImC6s>LX*^%rIa_-E`xxJS+iBei zOkcChT=Ij5mFJ;*^3dD2VFM6#2}8q%s)EM(+TY2;?~p#rIZ^cedLI6ObV+t5U;pR% z-XGdEJL}ivq4#eq=Uh81H-l@v(jtns@btZWibQ_j^UyqO>tGn$Vkfj93RhFWwI7Ix zTks&(hR`$oAI{U~zAYbtK1u8lt^s{Y!I4wvaRm4YV0|f>@$tIZmYPaoK*_LqH-gUE08J^RMFa+PM%qOCx(ov7hywyX= z@^n01S~HaN>K@&zDB+={f%s&{ymMBv*Gxy(RDH!zS5^DQ;aE?TM>h7iM>E1+)0Ze8KWp*inUi82;^~mT zEMUvuCv)-_a7Z;9evchH=*XT#*yiDnNMEu!m*Ba660m9j2j|`?74`?oX7{&8x-4tU zL$tdo58o~Q0$AlV)m!utP0>%(R2AvT#(BFiYx5eWdaI$SQp+z}9qn>i{T6amWtXYbGL|waAVh7tsqlZ8s7{ zkO@;psy`X6aL`O49h|dGF4Uw@a4I#d@T_02%qm8Y9jO~#-I`j`X_c#WgX{VY%$?gg ze)MEZXk^#CsOJmByGZ&^dPb69=8@)Y;uk1Ay zFLG;S@1mV29NWD5;)Q*^ThiSddhmaGOE3FCQ4Q0t)Oo8NZu(Mc*%EjUWePA@^O&i- zW!O9%-UA8$Rv!MCoiRuG#MF<1b$gIO}3iHXhCd2zdpG76s>5Cq6}RvDEbGWAk8=*CCBRI%L;H6|Ee2-f>g>7LY z7 zx33j8!iN|$t!Y8G-O>{P3)=y6n}>7E^OS?_VAsDxx;U>59WrbOyY~mq&RGr)8J2?$ zedw^9<={YEF$cYWZ5}_0OYypK8Bj5g(%re|DyJM!N>8VJ)(-6F5hpIraUvyG%?e<$ zlIL(`fua=Z^iY2PH;P-zeWkHbAkVWS4u0VOy6ax%MP}HDGm=rD`i8VU1fK zCGqb?8!L+96-9bTGw1NJHwrD;x_N=EB>lQmcUC1ks*5U+?rIuF3D4f9RqP-O!lvGR zt3TpnB`9BY!Q6fgX+<&?qSfgzZLIM9heDeIrc?%cJ-_JuCi{|^Io)!0E=t%YKuvFx zM>DwzAREAT)!8FZ*u7?;VAXBy4OiuKI{7H%Tdk5`!)cXxp+@9lbT%J`5_h1nNo7Ok zGPgHY;?wmCf4BmelJ@e@$o%)=d-?o^1@nM( zO^;lS(RWCr^hDeH$whBS<3e!LX$`)=gi|gaC8vfDvJq-q7WY=c$@BQePFfh7PU8Tf zTaQHanzoV+I}EL%XS8a;@uQ>1El#hcov$=)zsW{rN4mIZGo{^SmM%NKH&Eu){4Ukd z6jM8L)i$LzRTmW6sYhs|)YhS)t=&St5bh+4u%AS}&iO(X5tOtyLCGh%E-%}wx$F?| zJ<^wKEll-4%GZBby3V%J2~I0n)ZZ<=YOiF1(`pk>z5kSQaM4mw?>)$NoO*jGLfw8Bi_@nRF#EJj6H&n%yN`mmhsxrqN?-*bn`l{Sdue zC6m+^Pr2h+nu`#i4|ACK}GM#wxYZk zV741R4~_ge{Q8*lnrM6f&F~4ce?sQ#E%Hr}5!ivx`+zyt3VE=t7nx%?Qw)upXFP{~ zIsCoarbs!-icon)h^JYoUY=&5gu~HLFdU(K*m|3A{!GPfp z2K`1L2uyzl&QiH-6`0=l-!#h~Wc#I?`6$<8BrbV3h1@vwdNxBlGVrsw>jCU$)7-+> zw~SR=2u(&4MTBH)`@CA8;V?ZShs{A45p}5dHz=bJbfezy^yQxUKNK6Yp?iM*5$xC1 zc<}G|j(wDJV{^ODA`B#=kCYP`tVzI=BJp|(`7QXzCX9fQxm#h)TFBDgYI#GWlW%+( zk^wEVpke8mHzt^@&t#21H~dM5{3C8yovo)Q0*_66PP?UBvNz>1VOT%^YfOqD9vj8mnzqUOJfC3j+J&+>mHBdb{F|9kHg_K zHGgq4=K1g09_f8fNrBH}-zWOEW$UHe3ZUJ_O*Za5+{UK5syv9@kmZ0+Vm1F)LG8U! zveQ>%6`qr?P3zCjcBI$@p1ePMsgx;b^~7%IOv+N1{)|=usmeYlf!y7k-2*czILDp# z8J@tS4$Wa$hWjyx`+^+J*%VTC)pfG$L#~oztt@ALMN=tQOK22jOjd+mjv&Q@ACmkO z&0>4avvvY$@i1wc?xA%)kINcdQa?N$Bd#v#X=_;2M&F83tqqecIptHTRHqim%IJtA zP|;nL+SqIBprVHP_4V@`GQTAZ=V~OufSc~V>z-X48`~q#{uMyYZ}ruKBpK}zx+0r*n~ah z|Bi9W?UuLMw79fj6!2^}%uJGB3ZMum}0J2qi?(Zj{58g zN6{XV7{`No=5KA*csY%d)}f#o zA7!qc{CFOI2hJ?d((<=?_yf{saB3)r8}>Bpe!jzo3*Z#{0xE0iD3`#?!cBegp1I&v5#U6n&@3h5>PoIxG({d~G15!)!=g9p( z)?L{V3-okv#3pHX_m=+tP2ICN%|^pN5vTvnzQw^fDJK$UnY#~xl!%%fYA@OUf47(X zsS$b{ot-(A+cd)mhUhQCW^&8i2)(edPR5+p%<*n)wMy}#8U(PAIf$>v(V=I{?^Vi^ z3z`BoK0^!p%X(T%$++VN)OAX1L0_%c4# z>2!Bly0*5rs%E64qIGGqxUVOo>F%&vG!`%KtdZ*m<5m4Fr5!7hsh!KssH)0ZtSOkN zsEkM4S~QldZ5*k!DoV7d=5m*o1>=?FwMDu+Qk{%9kJL2MniiOnj=9yA02g!J!r{uO z4NpKO1CG_c8`%#3oo`1}rgn(1kLP=%d{YjM6O^~PTH4FooJ3T~w|V4@d>bB35k2i0 zqqut`=4-YtS+kdLYgXV()~vvHw{$hPM;b9_h4uGB8_}!@c&KjAEU_eV z)aFqREP3H}W-DLSlmia-Bv!>FL1PqVGIO;;wlUo^Br;>U))99DfWI&E_*k@KNxFY= zJk(Ih+LyHTA2v|Y<bJ}n^jE2xn>$?=ReHX|e@Zc>n-IiOk zsv=r#yx7lX{HB4k!8deet0|tieM38*iS6~iCedvKmu!e{(>bw_A!X? z&W@vw+QCY=h<<0`qD2eoJK@WFdxP0yJu=6EX9!@fZYLgubI3KI9Q}OhIcC+OrZ`j<%t& zQdiT?)$NEtJ;3>9jPngHCc`diK^|)UU^|a~&i-=cZdsw|lvs5xc4ot9B-R+|vdTOK zyoH>GL}R$VxHf8f94=g(Mpvu!v{tm$ApWAr2eTZpV&B?gv!u47tXg%tg!P#lgN!T} zK3)~sESDF|bdGkQ*~&Z}c*KpU6DO$PU7Qo8Qyy7F5_PFWoZY6}Pq780DlQc}>mp@w zp4;cR%evPc)&mNA(jCgBQ_DLX$w*{7m+5ju_rkq`;;@!V7SP9rF@8<27u&^{kH4^ImyUs3$Hg--cG@FI6e z_c*SKeBLGNKE(6nOc$k>2H0Xp=0W@E$nW(7u{De>2qJ0oVa9F`(b~gUfz6$u+jF1< zdAOb|$ua@II}hK3^PlhL;a|(cZ^!QDAM^0tdH5aDKI|^Qvdzx0$7Kh+f?|I1{*c+G zI8f!XX`v?4sZp=S4#QC*kCD026*TprdRz5>X>66{RUEff-eAZME0c2T$P#5gR1Kt? ze&j){@1^!1nX-zDBz4FB_Gc;Yl;R=pVdn%iY^dd*rqdB#b*0lo* ziz?eoJJ$5EPA)W`A79)sFU}fsQj;(viLy^nUAotnngl0FNO0uwogyS5K}qHbXinx4 zlr+ESV>g{9#7r#BCXvDB&cpYzTeEa_S5Skbkm%)(3xw>YUP$%`XigFml;nhf-oHx7 z34+pE643irP}Hdf)V&9%Gb#&DCsOb!pP*VzE+B3xNU*C(`Deak`EYwtn9}?7rR-b?*Y@LyE5B(oJ>50DE78ZvFka-1e`Pq!C|LuqEQJb(MHtX zEq$HSrUiNexaQ$|kqbu}6Z^o(V0{h#Sugd@df8E2dH}8*o`)v{98tOn8T&6-ExYCY zykDxfjmNdAeXgF$wo*OOKeSV>f3&CmsXaR**B-avP^OA_{#ITtOJQ~e>ym#6+BWgX zch1x2DYGP6g`d%ld_pGeGaYF<#^m2Pe6?rv#K%XKXi4Gj}5tqYs5O4^5q+gpZ*!7s4UaE?Zy zzhYM?x3MnR1ixlCZ|xsnGQG}rx?}>!g(-l( z*m?7|p{Xm@Z@6M=>WU5Pub2X1xQ`{{oI=zd4`dkx3cp{3>}eXz8=io1nOif1zFS>5 zHHMo#OnHO8-W4)^+6fMsF+Xn85chTUqszYnV{mZ69WHcP2_<+@Vgdp@ynouj0}Jq_ zr6$L_%r!=yPja?&4<0G3pM@OE}`{-^kWGLv_ft~eZ%Sswc zb+^}0Jz8Z~Wyku#u5%{#nKUMxDPzyc570SBSkMJt0U=;NJ)O%xx0km{85{y1sse`s zLSVhqaEJTqI+nM0E^RQv0Sw;d{E?aYIbZq9{PZiL#Psy`!LbwPH!Q2bot#HH)JU{> zX=mR=OmX-v)lh%!BWpjbLp1!_Qq->P6XQqsm6f?nml+1O9-vIO)?l-<8kEOHq6cKk z3o`^0!A`){pP7#ob|I(MT9Aj0IlVYXKvS~Fow)^fuh3;4P}pBraZs603&ZYlhP{ip zX%CNUiJ{Fo_i585p2m5R*+bcCB0oj0_Zn7Kxl|vHp_dF+_OEMiUY@S)Z?eG0auf4g ztc7Fry4Db|ItFV-kLVvhSuQQ5>*j)5DAKYr-MOeK5;X%lj0rDY-J|^u2S2^NJI5xE z!!*fKALi^I^3TP&di$<7#m=^cNv5bOAtM~VgIK?^Z*6aBQF3zopz5@OmeIIkyhD!! zdZ(IN7N;wFcZ{|!Y=|xB?4E9@U!*rqY-npg;p8KhM`e#6xypgDH9I=3>dwme=!)k4 zBZm7L7j?8uceF31JPXWEKWu=vz)e^oeE0kS%|NIA??Kif(~ZoXoG(tmCQ9aaicg_4 zJn{|?ajg$m;mlm78L%nRuz26bd{-lL4?}0OUMyeVX_XE$&oX0O?hGDZKS6N~D@_>0 z7duv|>8a^GY+!JEZ>+acDQ&C3Hb#1VcSURix}TG!RJF4erC-O{a=;dqKtYf_1!mM_&0)YJ^r_fJjDe6*y$ex$Z`q`sd{%lBpf zg4uZnXKy-zF`ouZNp3A6lAE^e5Fma~qEEPgZBJQo$K+uHxLp_rhkK8iw!;3t$)=Ib zNz6?f=4L#ZTHIJaB|pO_=eQFNUlx&(FYI*`Z9Q+ERn=8KeAIwFHO))f+Lp96O|=r& zRDf$5krTnCJZ9%W37OX@w=@k@Rt_{Z_tR&hp&@~PddqZM+v1j%#cgfVEgkc^JLk{u z?4E}iugHEZ-2z=^&v-Xvq8KXVm@N}OYkFKA4!2XctZ7|0umSBg-d8JS#ix0+RwrX# zGxK-DOVS8CbdS=xX&;=9^*^+u5S;q zGIv=^X-!J^0ujUOaypFalHy{Qf|J6ybMbKGlVZDGH}wrnaR(c!t2;pP z(`RNrwCRqK`&qZ0^^%}L9x!s6RQ?2;4$D_lS{y^#f^n&8dUeBN93=3M#Bg&1TQMA*MqcU6Wey(}EV6?+x!Wwjwznm{%|sHQSnR9PJvZZSfg~YtRhw=W$6t771=K77U?8FW&r5{Bni*X zkS+uyV?#R7%973mBx|=S%XZ?#@F}v2^TWATt;{bS2MDtv71>tlZ_;^ypi;IMJvU_A znIatzh+@}?Wm}of>o{ykOSXln(z&SP%=N?0VvX_-1W)}g{!OmnBcBeSb>|#L5*mxH*s5JEqVr>89|b4Kl3YPfPl{IH-J>ISEawNK!7 zn4(kx0y;B_IKUexG|gPE;I?wh3@ifL)HLPi+VJdKtDAvq*O?{X@QB zZaKC$FeFZhv92nX1A{q{lmqVwpZ}qJE47yytj$ZP{}rPAMqb{9{=dM>70D3&W1E%QUrK~0DUDmO4~y$7Ur!V*8~UrxJDun3I)Rc2wK!;ufjVfM#;ZBbVeE0JG!{3sx{*F260OzC6Yma zFu6KX8gm~qeT*b@8kk&)dF9z3!2@tn4*0zxj~hpjf3W`!1J5x2_lGlEfh^$+)X{e{ zaK4rIEj;2m<3u7DX(S=3Y~5^Mdl5O_ABp%~)KTZ5$1~@lYY#a%a0$hd{sAh-WukWi zpAX}&DtFN=13$=d=@QtcbV5!_*CZ6KGbwO*z_>RDaTG1!_rkJ?P+F%e;P(ff46}y= z(P$tu9)7Z5*wk-!o^%N~kM|qI;r9rQ6z&G?aL^pnxM|Ke2hpR~kB)UYLVdcZcQz2o zOazLG0_>s46P%X3d%~EktEUi~Xr$e|AbQ9r-@~|qt0R~I7KKMvYf|>vwKO+13Rvt1 z0kd^sV`8kaVPTOwY?=acX*)}E@KsU}5t(ryB)$d8jPvjR%}eB9QXh*!E*x4YP= zPj+n^t)J?vk!9!6lneS&0Rc!GEnttxbpp#ej91*rBGPVQj0r;!Qx8)*>B5mjE*KIA z5QjC`Xf`xW6uBe1rD&Ch_4I7(sf4FPXwsDkf@oMQ&*3n7{eqU32_UJtR3O@~X$F|Vyz zU9Q_>eKG!jZEfFc_)^nkq#&&Ev)s+wv7mY?z z_(~n3FoF^ouCS3@A(Zg9L?q%ae0ANRSy1*4d5IfW(y00xMOmY}oUWjI3FM2)u!Uz* zxiYPx+^w%xl+}jI=?rPp3YA;zi(Y-RqR1(iL&MuR>Y0NzID?ulJ5#c(;LbKGmgQ~~ zYXN5iitC-&)^oU0vO>kU5gU8e^66MPboX`x$q+~}?oI=DSXLxAFsXKs2)_!->gJSP z?e)vYDL(ArDaSE?zb6>-5$Reir)hNS$wkF$gCeL{hM7v~%vSdX$i*z(PDK6@2 z>VRj^v7jmFF|@(KFzaY#Z5=E;I2ci^?=ydDadK5+te$ysjGEPt#aFkFHkBJrTykP5 zf%@K-6+;_M+1fC?vZ+6Tg9>f~Sk?o}>u^8QKyEgO1VAtyg$n}(3|a{F(FtO}SBY?w zglj8=U${zf)r?xW>Uv->oNSicIzm84hO@3X+0qqd;benL_xW_fJJ;siKY_WYe+Uv2G z0o_b!f89k?dW$}OqPc%ef4}E5l=+4a6!EGbzk<{GI-<(BnFhTLiryF$3|wp5+3xJ* z7ccTDVl@TbsXwA0xHZ}Mc(2``Qj7lJXJZW{VAFgJa@-|%EA+cAdlhTN@3`Cz>?t?o zYQ7d~WE~j;j|0ATCIk3d+}4&s{ZiRvN$_D@UdL^bb^Ihhlj>wsx(RStBGBtXK!G3a zuzebCB{!Gq$R6_eef*$+*MY6L7!C@^tICqqcyXIU)r!29*XeLtny)5w1Pt0R;IRGOZBqLBEh2ykCD&6OB6x&*4V)b68ay={`8nW8)tP-T?S*9KHz| z6$IY|UxRiMlG59NBgzCziD^_7$B;fu7{+4URt4DcE{}N3(nLyU$Y2Q=DP;bMtPuscX6J zZpA@JbSJ~VxtG!HEe2tSeO#c$yCV!cp?az7^te(|Ww{;0u82>0vEaM>wGyBCVz}hF z5=6o97h^?#()GMQ-djNr)t0J^P!DKjSI6_c*$3Ef<(rV5)}C9NK!MC9ics_T6*vLI zLJ)z}E1Bt76=I(|HW{h)SnhzkIq6zrE}8O#H4AS$^I0yBJDGAXww5_bd(0pzYfV}q z(^At7?7ItA%1~IQj+(5iB{M#;jDg`zisFjhnELD%vPZ5%UD!Vu3%3g8Jr%7{hvo^-TVCHZ7Ox#$ z*EKNd4n|}T0_RGbvm#hK+)+At#l|D=zI0LD^to%&(?gYRztdgRbmFR=Us&I`^4}gm z@#Ozn8XI1l`EG2yuZ}rO(($JG?M1!mqL%Una%!rsWvaDp=epFQRPu|4FA&K5s-~iI z_0io+&zv`S#y5}cKY4S?U+Q%zX2=XT4IgvK{L>!3biwMY*9@MuW1zEcc)Gq}u%=~l zWo>#8bA=czJiDi{%eQoPmnw||zg%MSvC)(vh7Y1ahuLaO%p#Z^Oe!Xl>LbTaus-um z96uPFNH;ARXVBAw*;BPYqc*ijI*qrs-Yy6%?cT}>0~TXiGkO&zs5X(@91`lII8PcN!#UDTAS zV}`2vT+WKbV0-0)@#>ba-0%>s)z<8j$c@-b`&wd;27*_}4zgIuEG6bd^fG1# z?=d=(tPHV8|9Rf>RIH+1aX59=>&DHC-pYO9~ZbmRE>~RO3 z4pekER=rmtH*cL@u_@uzXU_J(Bq#6jH06&GnjE$JuSnH zzUHRVhRKd4>%BF74bHCiy1voU?nNbTx=cMfP+#6tSCdToR&D&-!rIQ#bnoiYWJNcN z_AXM(Dh4`g2V0AaYyB!B!G4F!TNQDI8*A_?4NqihB;49q?kozAH?$1a`53D!QB5Q0 z43#5NT+vYCb3_(i<11|_s%r`a<)Vg?>LenNE!m9xd&CrikflqA_lWqk6v=k+$O*m% zTgA8gx#4*le2Ov*-etePQy#?dkOP3nv$fzYB+sU)|QW`uL&Y<5#t{ ztvY`Bz{alRrooY<4s8>12b+sp=hxQGZ!KyHxnajRwBmlbd&|X(rZ3#u-M#g~=|vZB z>27OTapKt62`gJ$SDr97cH)YbV>>tWq&9R{JBu`p;jm(2w6STd&SN+gq=ve@FwGrO z6C$?nlV;@St(OZMnB*LBmu)f8oZ5q-kU@+*Tsx$R?+I9$_L#XsIq0g5pSn#=os2hC zmdU;{=2Tq@Q?TD2^aa{xL6#>w>HZeB%W(hL zX;jCGD_m}+I^xBe(wumGAuB8MN3_*$R&*1|teFdW3Pq%OeA@-v&h*%6bzsKH*2_pfL=$w7G(R|vK zcpcjX#%YG9)3Z+U0j6*#@R{_(B=S{0;g1atIXDn>)lK}Tdo#cE>Z~R6 zOWn)1xZLl(r(++-GBQ6T|BrcIayng(*E8?&U)biL6*|Kcq9T_jzq z__^P}C1x(+=TZty;3ga2zmqSde1<#|;5CK%m-G5$JX4JlCH3;9-vc z;7-*B>geOs#drFo(RN6Wu^o^<~e=p+0l0@Hi6rg^mHDxyXVRkc7z zKk5eWc1RDwQW7*lP8>y`K8Y&gyk5?9zco*z4Md*blh612{5PEI1f4RiWTUV+Q3_jd zo-gOgMzew2oEOU}e#Z{cEzf&!ree5>A`}U8t&}q=VI|RBR|#P>fr<$>yyC2R^Uhi^ zefqe=ZDls7ta5$p;Lci?rt7Yjqj7OFtKQJuvc8gO#`Go2mR~YG|IDRMzw1GmNU>Pw zu!eQy9_wclu7AV(k!vffVo34>r#R?FYzIZ7DTX>sXZjD3fdhLdXCtIi@I(&zx{@5P zGQnTfT=2yl7xZi!!0jD9+i+D=&p={9bK`>g`UQ>63lbmq@Rz*Id8-LF;JpF)2EI8z z!6~|bn1s>r$PxYhM~rkVZf;)O(MF%l%D)7r@O>xwSH#Rbjq80q*y`i?Iqk@tJznX+ z9r9z~T(PdY;gQiw0HR^IQ^A~Y7RDVn1Z_=2wqs6VMc6lK0m^ta4qYL6-@p25(=%w9 zo>MKKR>a>OyCXbvWtn`@zw)|MTFq1fb&_995w^Zs!cvtEKD{i zkQW1qOyORwlc#a@mKSClT(I_7_u8(Gb-j(adJAuG^0ckshq=c~*ds;rNWzSUGRcr% zT(`w<(Y1KTpRBauKEHdQ5motU z>|9hp($pi{`4L#=Rqzyt=mw&~QAP{i@J326muNWWwlP~Q+oENzB73@t(*Ig&`|Ff2 zaW}uSBsNf1l`JdosH#ksmL_*`h1N%6s>)c1Zotd9umNQ) zca-S#v&NI#AULK z~B9UCqyPR4alk!o6&Rg+4!HCtuamh^S+nAg3dLN~*v z%WxD=w|9)k0gcw~qXa_wcOt*`35lwiaKtiHM?kXzE)PsPtbSR+>;Dk))qQ#@;HvAb ztsP&uq!~$#v6u!cJLGUy*0n6{Y+AZ-URB*tEBLt{{9KAvT8g)MK-Z9j&Sk8Vmu8!C z9wkAnov!1<$53%Z!UYh*usIMxUWkMcf)50$mn|N&fEe5kbN=QdZo&o5Y}_#22zR`KlD4wdpt=4kHjL+*Xe=?+5>fbfIj9s-{ ze|Nh-7tlQJH{AH`)!%fhq%Flw;8mD$(wjnC+JhkL1Yc>=W?d7+kNG;JFu-LbJm{*c z%!ih5{ESI)i+(VLWWCKjUL?>$|FJ(&m5={|Rr-}Fx-noXa~NNzU+LSFN^R<+UxbH- zkDq{+VR{3R9r)_R)nkIS@E)0JmE}#)L%$iXp86dPvtN~t(kdA*$#ev9W$~fkmd94| zwa*v7EVH8zX&B|rCX!x+A;qideK&~T**My30h^lKj{lT*?Qrzu7$Nz_C%tut{R{>% z=wM==7V!RmzLO}{+IAw2$I{A}H)V)p`W9D!@Yy}V9|kq!{v zKpodv5P&&Mg$HNpC^JdzE}5D z8m~>N>Zz@X4b{`Te{{FopSf|ioSC)rdg!e_z|^PI;gvp9IW=F?ytut_B5CPL<9G+X z2FQs3qmTVMSI(tcP6wo^{ zE7>b_<3H(k>BRB6|1220HxZZL&46oa( zKj-nre?yjRi;VfVrGv6~P5{s7H_J^m|&HK;0L)JfzN-iUYp8hK9SxE&R# zs)~fGs+ht5gd<2(V@4!P~cVFLe)0S~(sm-l!w>pXP2 zFv;54uW%QXl^=uM=Wiz2^B2K{k@(K;Trz=*HCF`C{R+8c`#U7 zO7*@zcVs_f&oRM;2T+)zWO)1>+8jXw5LqE4`}lWuMXt98NKN90pO0cA&c?Lzd22q9 z%5(eWzp&xPtr}XoViFE|Q06Ck!0~IhN5y8~D;oREL61Gt1Ou_JcyXG><<4yPznR5%T;hDidiF!y=!Pf28c&GMxgnV%g|0di;wkJdm&cX) zZxi7^w%&zD1T-!4Rhez^=>GLC<@+jv#(vk6*wV+#C`{+mWlyV?jTg%$>wbrzX*<~zqsvEiTs-?0^_=wJMd0}H?_BeC=B7oOeT~~Ci16SMn znNzvWg+oMs*A24sG&)U$d=-kFrli$!0J$gPmc2P#L3VS&n7Q=L4O!Tg^c)MDWNPL- z+&gQst8jsi;VH?SE3?n(ns+rcotL=gc&GgD$SpGi&Knem&j{<+7G3AC3?0@e-sLHs z&GyOLIX{64b8S5uch1fS#pmF+lK53{>K>#r!LtZ_A0U&R$O}H3Wo`chu(4f5hpVssS!Y0UT~0T!{8Q}N{7|yH&2J+YYN!f#b+-Em zIk;oKW@Jo8eEuLdH+-Q)DRNCiNCoto4dgnLgp}8@TS%*69bk_VL7|-V0Ab`FE9lR} zxs-kvbOyb@t8;h7^D{1!d)eo3{QGybj>PQd_TUlQM0>8z)6nZ{OutjPK@EDm0hJiV zqx+oy=DikCv(E)gCyvF2fvc5y&xwO@K|^O=mieO&Wu@Q@$cJ)2&XjvGmq3}k!@}I? zD7O|1_x0vp7vGC3H}Q6OtP?#`Y5cZ((}H+>!NyegM*N+>5f`zwcdWq;Qpw~x6|be& z*{^i0Xg$-67d$T9n(o;?(NI6Jy*IsWVSP`}=DvX~>7Fh9eOuC`U0S3zWtiOu%X*Nn za3UP>3*{fumOdp3aW5WjJWe>I;m8VUY41u2AD=e1e~fz*+ZWY$PR92}x+*I=t74tS z#jUmG(-rgU{=eeh12C#$`yZc~yCu7uPU>c}*#we6fUvvifIuo8LJ<%V2@q;XFa*T% zKz$a(&hyzGB6h@vioJk7MdaBTC&c5Pa1>>u##})MG`Wilo*FO;G z?@jVVzn7I;lAZcm*B%Aqs;kBqdFq8QGzTRdGNx#Tmh!0NoQ*uo0f-!}@ zq6)X;8mxVy*EkaG*4ps{&KWxFoc{T>-EGbU=NfvecU^2o1x)RXZB?6kj%ukcnRQlu z7RIRP#8_0RZQP@$4{Yw=zjgKvwSS=*F|TIoHV1XvSl=u?Kl?>*{7yY1SKqyP$K z0f#+0SuMjyc@zG))@D&5g-(@IYv%WtT6?!cuc13e-w>NPAaN>f zx~L2Y`O&Ax;C^#roHpRt#<)anPy$A~#28oNv1fp*J@$MY$w|Gy?~h?6BAfM0L4B&s zL(?-RnCvp>SKGDlG14=WQn3x9;^{6(?}AlVoPB zFBMa0T;lQFj%3I2FCDCgi09>lYqjc8YEu|J^0hLsje9A-T;gw;8N(>GDcCwlu-%Y3 z2YV?oi8CFJs07PZu^TLL_{5f!Z&(wd>3FuK+#2tU$F8u;dHex28WXD15~cm|k64!K z==%|gYO6jTKn_7Grv8tY-Dojrz37Jg?Ff3w-?4$o?5gGgd6naOl?*RUOm!4gjxR+s zh_9V9v{!290cRBB+oIT;4UX{##%P1i8(ccMu4~Uh1**JpRJqF%@5G@eS53pbc|H5g z9NDwHVoF8HqzV`|1pqG8hi2gkW>xYXFB3d*fc{v4(HjL>65`QpIX*4 ztDi_>4zEu*5q788F;%+Zv<#$4v$UL!8@ED!;<+=!*m(1{T#}ZJ#kL5U(cSWW%*9) z(LJ|Yw}RYm@|7O_vV4T}`cCU!kOyR5!SSUXPOQlBU}8UFzT!7{1i++(BOe;UaCy*6uTkH@ltGZa?A!t)CPR5*J4?t zX=^N&2cYEENhZbMT%uG^{5p=e53b_}9M0hu%MY5ii~niQKA=X)J{qi7swW`llGVqt z;(p+}siCq+n*?pmCw}V%{KL?ECyQgwqHBjEB^#cB}DBAsh1mB#WYv2cJeNFtsu*Xkl%c|7?d9&7&@Cjt?=4o*^tTf}h zZmK^{LH8$o&aZg4@T6@CM)|>zcm~3jKWi$`mJta&5P@}hCE`wclaf=&g!u+sJHe?5 z$(@{?lHnyKwL>(o2GuZenOcoJSq^H?aguHYJy{Lwl;}+C#2(^z!z$}>^*rgwqZOlS zs6m1VR?f8Dfo=McHrQUlK6(wbQ3|81gYa2+>|xs`IPG@GMX;T(dWrYZC-fXp@Mp_yMtt8=-{4)*)9?9QJ9Kw9$*CJ zQDh9_%p4t69Tg?*6&BjwvstR_ahKQ~xW%qSf)%&%s>F%UEsV26Q^Dr64z#tI(3Od8t;Su_XEN88U(s|Mrvhs_dYsZX#wM`D7vI-_g@ ziRSKTr(X3eNi<~DU9YRuuu7-SuFfk{q6bE~@Bz)Sv7@76>`_jOb&xAXRm6{oa@ZX) zHLA`IZdn}G5zr67*=yyIePBn8^Q0H&T>UIL8Z{ZKp314n)l>|fAh&hT^mNBIBfbKn zXdC%fF|!ahgm{QS=N{zkN~9Me73X?Jm4{lKF?)#;y(bGKyl@_6W_Ect0UIccdm zIjXz6XGTU(x9%5Yr>6U|(^8QytY)a;at7K8=6K}F1V${OprvoTva+Yx2FE)zTQDav zw@Vh@nb9I7!Ko~%UDD!myJW}4Bw1yg8lIAz-8m6w-x6K17^U!~kCcRjBxf|&V}ChO zwb8zOr<{^vR38p}kMMX7dOWJXJ0pWMhDWG?_!%~3x*(1zRHM?{>z(I)YEL#BI6EOO zH#MtsTp|w5OBiQ#!jMvQ0yNT69Z&?eDfL=RVp`|8gp7DwG~NS6+p)SP)!zh{-7cf- z3E-<&mC91+r*mJym~mo{MRPk5B|CTQ#W&kxtt0H{)UbCf*Ca*15ckrp01)X|eV2WOlb%U@Pn>;2@K}J}N7N7U5a;qS zzMYZX)oazPFa)B~a+5MLO{;JCWJWhHeb1LpgLe)+L!+8$XyQK_)y|@r_8hMz9^T`~N`yJ+|!YA==q3HMeJOK-2kU}K#zgVuoip-d~L65Oenu+yn ztc=F#kvMg6Vhmny$Hwv3IQ%%Tuo@|BYH}3i7@i$qp^KkTfbd%pK2S}D%{{SE44_!y z@!kfRNvA^}scl%P(S3M?g_L51>*JseI#@(!7qrYZC$-EGHfou91EQ{rii_&dGC#oC zEp#&KS6Ci(Y@qrCgL%t#U2dOF*?CC;YgAN9k4$eTsJLNpbR}ldS6jMeVh0G@tWip) z<>G@a7ONKHz=sg2Cu(*X(Da=>@o!})d#4n=CmL7H-Yz+{L)gsl^U4QK5cEao?(l1z`meks@0|5blGvXpw?nfh{66<0H^tts8#Fb zROCS#XFOwd%%ceXpd)5%oV^@|y|8g&skJAph__denXhE4wI(WFt&eBQ+o{VU^Z)_`ncAr z4+*28LKiiP#{|2r61jI*Z_6BQ6w6R%8zE7U_G`@fEj4x3gs50+lmnUDpqS)}w{zyM z_=)Oxo!#bu3}qedh>CJh-Zn>cHPx;kU%4Nmok?Hn0k0#58~s6e$csgTVl7TcIQE$C zzJ6{SrZJ}_W{}!m;)hnH%j1Q{SZtghiVY;^d?k)+5B@LZoUhzH-JTv989h7zx{;jY zOE=^kO_MXV^Qh;9lVy{6P=h!f>JNyGt9mHJ5z(q^@<2Mj?s zEIt=;8|cu zu!Iw1wRi6z;b;vIRY}4jo{@y(>4}ZI|D7bV5R%B-H1^PlsTYz~gf#Y$Byv?!Cs(H= z_PG6p&W9xO0pepF^B+kfm$zrs4uR$#p}}Hh=siAhi-DQs8O%k&6s~3ne4T9uVr5F_ zq)zb;n>EHos@Qf%bgU;W)i*b(GZfJsPOFmf*g=tr&V(c{=9TcgVN)OQykbZ#(6`vg z^GYBzTf&Ojzm)_2d>wLg_Q}f-k^?Tmm*du-BnQ0j@hnNlkLEk$)F0@8J~-~fCpv9v zJl}T+C;s4F+FH%SV-vktFg4+58Uuew=NRl-3)@zmbJDP=amHZOjB+PsraNNQe0*a$ zCC`J!O{~M=f)&1$)Qs4OT+wX!oh|K0gY^chdAAI=J(4VGnVD&LMVVyLS4@zw=f^oR zQq$cQD8xGS6%)U^QuLPSZPELp566s&xhG~_%nLDZ#_Wta5L+JG9D8@1BW`lsoVZ1Cm&9EgcU#9bDz zJN=rZCB-ETPr4}S>ZF^K?n-(j>A9p$N$)3pn)G#Y8dTu@$$gUtCEt*Id-9s(r;|4& zf0+Dv@}cD8DUOu1l>C&^l-iUrDU(xXrz}jlIOUp@TT<>$jZRHV?V4JY`aPwS`wI8p+;_Owx}S7!bid=?l`%MDY{qRFA9w(m^b(yDUPRVS}JTLRo%lHvhUA+DtlA*huL3d|C}Alapt7wbjvBpsmvLkb4JeWobz(7%(*pZP0sq9 z4LMtKKF;~N^MKCFJKxm#&d%#PZ|MAX=N(g_2qWYEzP|u z_vYODb05!rIrq)nk8(fH{UP`FJXhXd@}A0jIq$8!?RlT)eV=zU-`0%RkoD-ZimnX4f8Fmv+6X>rGwn?YgyFMz{QK zMcw*$8`|y4Zri%;?e<-_BL$X%_<{`Vq6Z547PJ&xP;hy{ih@-IYYSc~c)MU%!MEMJ zb|2e)dG{B(f8Han$6tCp(o^&t-g9BkcM3BK>k8);K2&(DSGQhmz1H>m*x%JZ-9OL2 z$iLLT%zuObHvirJhx||aU-G~1f7k!9f3JVP|7ZUn0b3w0kQT@e6a zqvE3_s>D^&xuknZb;+3}(@N%+EGW6E3>E4@B9BYz&c>UfFCMHRsOwlUsYk%?NtY>Csuz}Q&)3m&C@m8YqeTW z?Wo!-YuDEvsq0oZvF;yrI|rr@Ja6E`1K%2We9+KA_YV4GaPi>A!8Z?nXNY~s=pi=^ z6+^EZx_RiRap2ufL@Jmijm9e;VZ))nn9%QJ0NcKWgu2$LNyLvqqmk`iarsjY%657&CZG>zGwz z?i=&SnC)Y}9dl^R(Xnc5&#~jiHjljmLq3iCn!K`Nar&aOmc)kdDBxIPUU|IEEBCS#pHBa$Wd~kL%8PS`YYTQVn5#29Swc1`id&k-HrUnC850a`jueQ zxpf$82OU=}3bj6<3r=kZ4?F2sf=_m#1KO7n_yd5CqrCsO-8MXv+zHRsb^$jQGz~*} z?0{DR{&y~jcM1Pf_X_g*6?sk)IsewZfq4H-cdO{EZ4%xS9c17fywB+d|*TorJ^p zmG$`V;wuve#E@-*gEWhYp_XpnaI5w=XP=m`#UOr~}( z+>>a_r@;+Jc_-t$31^8^H650O#)vZ6D$-Pe=mV=oeibKTRko;9ZoEH-Wpd>aWq8Zn z8`h=0Vi)X`o(2u-3Rq_C4ZEf_fK!0$jCFV+?34Du^Z$Q}rxHH66%KtW zi2m7A{8N<6aj+#(A`;cLc%Bn7i3{4=qbU#Amb)B$B6nQ$*6Jdzz^Q-Wevv4FbIS+8 z{|C`-uMzcdo$>8yiG(nxuwtoei^&BeMOx1CgiXC z@kX%)dwj{Fhn9i^tD8j!nChAYsIriy^&S0#`K`1`yx2I;S$lVTq0YI!t+L9{&68*j1g}+;@Ct5_Gdg=6WY-+VNv&rbkt+2 zx(R6y9g>r*P<9@pS~QUbq2p)8SxPm%NF3y zfZGB5ZsC`Mp-c5L_&pc(;RpWjz+H`N3V5%P#+~^LJKzd9=p8f7L}QpXy3#WX;Yb=M z+9TiXQB!ZNP#c$^Y8dAshA|$AqRIKgUXM;5z)&kEn@E zlnpBHYB}mhh@tuw<46$wKH|3;-C%(5of$@r7&)RAudZT#SNbz7cgS8oA^%3<_=?91 zxcH#0qnCrONw}luCkc!FFs_@$MObqT!oF57@M8(=IA14MK&Samxeli|zQT964&l^i zPgSJKu=hk?eS85nrQcMaYA`LO#c7FJhSo*vsugMhtwh`Cb$H{vsoqR)wl~+?-P_As z<~_|j#(SoBw)Y(G1>VcN*LnZuz1h3U`?t9YrobSc#PT48hIoWyHh1rvHRE{ktE+;W3Imeyj&FP*qC}&De zWA2vU6(o6qlF&Kw-eR>;lGXB2`KsI}zmtDlq3Nq>8#~x zJ&lq?d856FUXR!3?cy!)7J5s)y}ec5iQdWHChubGfn4id!6jLZJ&$-_qA$(o@%fCB zRB%b!d>5f4cl+)`Ngnh)hLSw%dm*AEXQCullq3NqNjFO}9VLenXD^;6#9kw3 zK#6sap7(^<^U4(?4Pmcj6F4b7VH_Y`>ow8h1h*H+&OUP z?Vh)L$ZqtJo!e~(xUFrXtR<~(@zZ=-4q8kN#&4n3Y0I>0bv*8_#!lw-+Dh#{?U699 z{i?0e)@tjt=d>5Jm$2XYiuS6uNqbZKUOQ;9Szuer;__E%S^5@^*Ht4dXh zc6F_~N?ijz_$erNCdRj1^r||XjUT}l=Vpr8qD?Fke--zO2gF)fLD+y%<1>t0UqZq> zs77IjceMIDEW*4levt_>QKrjmeDSHbtdw#cfL{8c z+<{XRU#gL6wyIZuQvrP4=p1#4TA(h)8Qy95g7kFx1A6a`st#vp-&Zs7T`dnz$8E;9 zyQZqs)CVd<9>n(p^HeUr_uLorjDlu`TO>d)FavrM{m`F^1=g;Rd?$#BSQ}p~up2I} zfX&Ej)s2*<1$uSv6GFj0^mGYj?9xio`LZ_ zQ&h?#jPadCUyP46vJ~TF7tF(_VV}N_7$*CRp|YPC1^H>DtP;~;eYQcKF2-SgmVV3q_#ZZEkL$N55xtOsBz*=xEq_S#prW_&W%SO>EXNq}ps#u5- z;zD_j_zR@vi{wI_Noo;y%Ukdjms`au%xJgc4a}qR9`TsGPdq0d70=6cV!eDoJOxSb z1^JkGO+F_!$>+sC<U^A8SftK_)se;OVs(MKP+g>Mg2n%pY8k!@aJ#x* zT_?~;Lzk_yTtkDJQ!F8AzyduW^ezm*43k~&Gy_)PPJsbyD0R63TTsjM4cH1jsp_MG7Q~T`j!@E?Hy5Eor78Na+TWk_qpW=1tkoX`OW||loi_tv}BXT^? zot-f5Cy7Teq9tP<&coOl64PZ0j@hJPrI!w?;%->>_Q*_pyC_RiyJ^I1n9P?s#7sF;&cdnd59Az3 z2u*SxW~~-EU!EgdtOZ&2K4xHj9P!g?DHX3S+g+nY{P7R zi@a6dCjSBX~rPwkab>^FUbv9u{UA%nge;^pO740!_2)2 zeR4I%(OR^t<5FM_-z?w2csdZH{=ej#uyyyAd>iw@Aj~-L%J(oIx5^J#a@r<8!rZVx zevCEbIgp}u%1`mlm(S#Gxd&tKV66Lolb_2k$mcPiu@>k4uN91qvs2CxC$7*||`~zQl2|Kp~hbqwYr%t+!4F_Gt|Gt@+JrkErSs58ZLu$X-oq~^2L6xDz;*Hgt; zkW8mT9-X0Pij7z~-!4{(e?az3f(42ckqX%}9WrPJ-c-$kTssG|TodNGX4RtRL%MB+ zblb-B-MN_U&cobC^W9(663l)VVfMR3{T0&hW$JQB=*!fVSWjPtQ;yd_LcdPDAbu9V zh{Ko(9|tBS9lxb-Z+-tAA~$`H^%9^urGB5)|EEsT=iG~P%A~e zx?Majo=~eGL9Z57kR_ra9Z!LzJOFweuZi{8?RpA36(r@q1SuaDvBZ7YhjNHz;&O47 zST3%{H(Kr#XN#}#ovFLTE9!1_4|ZcNRriS(g&kkvStEW`52&?}s~%!W>ru51($?cR zz4C;(36j>6B3Aq$4vJ?mQeOudJxlx@dL)0t%Ax_J{}*^(xi~oA9-!&5-N1u(bCU%E8d!UvG} zK2+P(M{2wJSnW`sh-c3=;4xB3jWVE3rK>T~sl z`cmyvU#YLvH|kr+ln2yzkSc$GEcv54q<&IAt6$V%^{YCfep5%)@3zXRt&NKs?F*Y{ z2Wl&8^=nnBarGP5pm8mxt3Oa(qu*EZJ|;|KjlK9%7s=jRXlgZ9dK z4bxg%n(dV>Gh3P)=Q=A}XE)Dmn6|L3(Oy}rUzs$2xvP5G?AB=u=gnwpT_8B=tt|~48mRRf^!d4bu-m0SAD=I@)pGG|wULR9*i{BM zs*O@r8`M`D+^E*M5%d>3Ydeq=sI4*>P!(oCslC=Hs7{}eWuVwzs~23SyQ6Ra2-|JM(A0Mh{&o~XKbLjM9-y|>mpEFY!FbvEfj=Q8R6wx zZSzdq$Ou-{1oWU9qgrbW0&0xvtueB!(X$NdjmRGi8g*I}ZVpCssjjt-oYm55w7?pp z7`5Ttj94`W!|@r>k+T+}skbhi*VM3(nE|%f+DAsVlM*9!2|vq^p5_|4ps8WOtcadb zY~)<5H|}7t+BRBe*l3es{y>RQihx0NiBXC`_zAVPF%g-T8ig+{b&WZpl7j(*QKd#! zrA8K|2EIZkBv4*w8H?s=8yi7JIBuCjsi(puZ;k#$r=b>t7CpK!ma4PQ&G zr?>OE)_8E8K~Qa&_eQ3*wK1ok%sxpdQZIEAWkXdcyR;?F1=r3_Ln$I;jWR$cjT+%XoV`Q}lj4T5s_QnoF zu|9$XODb$LnIhNB_R>+-{y?zEIrD_41p}5@?L%^vYgWfJ7?MkDv(5VS2lT-Q{5Pl! z);VSuHnmJ^8asNZPJeg=tL7MpS*2#rvClS&FxwcMXPa%+A1o@<2kBCMke<_#1Ps4r z(Q{|EHa0dlH8fA3Ji4{Ul^^8YA*`67^6j1*I8TIN01t$D7E3-j94{ByQ>Yvw46MGpzXFqHl-3H zbqPNUqji<5<)qQt$hlZ=_rYL|tySlLtI05o)sbF#fwWS8}rFFK2k#)nPGDc~G zjN0(E%(}3h$F&9_bp|1|VV)bA*4D)=JekMTJtKKshE&EVy^u%gg=WhS)RtA)&edDu zx$SIloNJEK=jx;MdF_FE%Pu#nxvs=^UgRik)B?Wo#IsLbh3$OK-g*8B-M*qon{oCG zE8N+$*>7^3-`LtxIK8=LUKHe79cVjO$2i+&q5Cn;F{5Q+s{zekWW-xAdoiP&3m};{ z>tN&TnX}sTh|RN&42dd8ay;wd%6!F@dkU^hHLhGcxN@!F%5x8{TsmBN_QbV9r@49I zyjG@}0iu}zgJuGCnstb1=6FOi$J1$MP^XzAGR*|(G#k^uzlz(0-(RH<0DgTM3;N3p zn#&BD%M6;!44TUfn#(F2;4VLBRy1=}hZneJfHDJ)W|E8>RXtiK!Ea;*NtfBEOT>P^ zzDB{4g-OG;DrJ6S>+F{4wAjFGKb?o?>dLVhr$!e}Ygo`oSt6?%=Zx7i7a|QLHvK7j z7r}Jvw=HO#*3vwk(Sbmbqj5nS2KBbaFvcixRY}aWmZp~Gc_?RFL+g2#=`GDOEwu|< zTl5Td&Ou(Uu{6zYZ7`5VnW}g^MPR9Ie&Yh9H-e3pQpG(FGm24ET_^||Lk6xTQH}HF zx1EQSI+;P8sGy&(U`+|nG)4YWUJg*9b=V()uZVz)3^*7OpWtwOg2V9%<|d3QS2wO@ z4(^`QTINl4a8D$NXhT?)k#}`rLle^roZhU84AC958F4EeJZeOwE{>Vi(lWPUYRe*2 zigSxB%HkZ?`w-nF-z%G=;o7h-F;CB;X`et$(oE!V-5_{_x!~ZMx zv!vL79c_vI>@xTj*d3PG8%7-L{QeF8-?6hQ@wWIK`0wEzn8Y6D_t=O$BoD!+?|g-r z*iCDLf37+Y{$CVwrX4i+cdJLSGxiv4m}uAq`j+0}zzJC25_s<+u=}N;zXGigY~jC* zFCAI1=kpczu(02QeKCbpl!HJH&q0&(L$w!sdngxnp+3iz-a_S}Osb}C*jV9jYG`Z5 z+YKAuZ{YnWcGHGn=Te*7*xD@W=QXs>731d3oi`VIZDWzr0w=M*Xyxk^JSz%r8Q$mF zK%K;!YSO1CXcC+bO-2k#ML&EvoA00ig1nFmcuplFtaL?1Zx`11Z7E{`PjPM)*pPMZ z1MG2m;9ue@7t(pu2`%#2yIcoj&ywj9u3%+5O7gHQPC%P?W zBkVeMjb0MnHRkf@_~;b;EsLpQw<6{igmjJez~vAmRN{Jia#CzUD>R`z(2t>m(2qUg7y2E1_{G3GaZMsP^e?yrdeqQ{&=)7Cqp;A=(3L&u2mM_07up*- z+@7`_G9%~!)hvFY-$S435Z`?eI?$e)=nVgu=HHAvo!-Ntub}IT9CU2x?a)1;Z^QB1 zuXw^2(DUaX=feDGr>h+br-{TwmW;ynuyBkBT2JD#o|{gc;eXYhgAuCJf--Z6!NqXy zMx2jAyTO$Y!_NxsL%lv1`U<@&;unIhOK3kFv|T7B@e#o=+Jt-NP{`1fp%NkV7w~1z ziKWvsMCy2_1zNIR8$3 zmL3mr4#4d;)BGCxHM9(I;|LQ@L!6-&!B^@FKN=z7aae@-{EnUrTG@{sYb2ceiPt~l z%Zc$i-gB*?R75-8j0o`e2W{ zy&a2w*I$wPNF`)v1QZ55k%K&{7 z`U!Wt!ug>G{1kcvl$)ie5H8J6xSDO8_=OyPMcQx8w7;VkFwUJKt=V49xCfD*cy(BB zRiQ8WIcENPywLG*e8k)r`oX}`v$^-S-?zs*6%-k}J-ovhi~b8*B64ky_a8$v)1K-_ zlEeSv7y5(}8M6@S1BZWop;4|Mc?@IptA-jN8Zeun#(zi8VZM^Dx5>zI8Y2tWw;tLt zvy<;m)rU@wrDIOa@uajQ!<_I#uRRu~km)!2?+MY2HV}@fhjN?ZT10)KuNzzw7_at* zVd6q~tU!y!NOoe*h!KGU4H50|%E0~jklFur2LLAB=QO%8{wyt>i^w3AjVtc9pbI`j`L3PPW8_6HhbH= z=R=G7a_`m1&E8>+Kx>IqUQ1-~dcn&piXOb8@Z&wa@D75z6mA6ESU5=f-YIZ1;F{nl zjObqsw}kI=y1ca|?JFAFx*pi_!(&%+0-N+4ZG`CI4>z{O}q1n z8gh|1M=XXWV4JuI>&XjvJ^2@2Pd-iSNoXNsJqf)htS6z3v=BN!vuHgD%^<8Nq1l7= zqiw33AOj0P$WtE$kCY8YU;`w&#`m0K})(%oL^ z7EVz4BhE`74!tUmgx+K7EoubLr;NrKnA36gWgK)ZEGXY^(6EUjUL(!{!svJ4=5}xs z805Gf`R|gqBV;S;hcG*VIgGn~Y6PBR#oce}G*DCtjeDZ30X!n?ZuxlVXTUh{^CJ@@u0tW&|f_0FCO$45BiD+eZ_;m z;z8f>pbVbt;ckM1ZolU)xHWLk!94=E-hemax(V)0xcA{8FM4*teE|n~$OGxdgHg?M zOyFP~Toha^xYrx}>Vq?0eM4`8`+HTt(0-Kg9h7dpnu2ql4G5nBJsc;uh}%V9@L-Ut z63u7{OVAQ7MN627me8!u5>pX#QHPiw#2km1a}aYnVpbvM2*m7%m=mGryA}K;&Q}m6 zXjOWhrmKF~yXcP^s6-2@LOr8y)r`FKq)d%3RtBP8JI<2=Tc<&;PT*l zz#(o%Ib1)u8n_{F^>E|hCc#aGYlE8w*UYd?-zKCxQONY2a2Pq#zlQrB?q`Ib4|fsV z<#1QSt$@1)ZWY`;aBJb#!94}{0^BQbn~@g#5|k&%lWrSaG~bt@6rj>gB?6UhQ0WGh zZcyn4m2Ob!29<75=>~;vQ0NA=ZcyO{6>d=B1{H2l;RY3MJlzdS+@J)oOuJ2}bl9Cs z9|VW5YotSuI0M$#(!Fq9;0lB#!-=?{*bR!^px6zH-J9XwhT96a18z6mKDYyLhv1ID z9XIm#BOl7Y6s|AwkH-~zP{2v(B<5oLx*rz!9)Q->XRP5#=O-GVjrch93Af^;gs!0n z{XAVePySANaHRWY>b+H}DxB#cJ!{f$Gql=RqiqUKevm%da@Hk-?ij|?57l*SWU*ehjaEibV>p=(LAH-h*PLRZ6 zR!EQuXzhs-Z2_lAXpb=4*dweEoxmBif1EC@U>?~r!@f4{sRCxoAX=4LvyG(W)jy%oL8jgu)K;*{kM z=vI25Te$}#<(D|?nF)>;V}^(65%5VtGn6<;l9U5i;-H;57{eTl6`A;pN6qGh$FJQi3NGE=9E&^wM z#9hqmdzjbvg4ZA7B+3qOb|Z6kGwvJ|GaGyXQP?3IQ@w~D|6P$oV7A% zt;|^~bJoh7wSu#?h*^if7;e|G%;h-day)Z6!D!>eUuZ1pTC+2k$^E#P%ZDU^B znAbMuwT*dgV_w^s*O*1|m%{BmmD_t7xA!RKdld6Mo%t@grMsE$9_G7?`L2QQ6*!ko z?cK}VcQW_0nEO8Fel~MIhq>?S(CVqBcjlJfg}I;0+|T2duDGS=b4%~aExjAJbUW8a z0oR9v>mx&clYCr=l=zesA(AnA8W6@j1Hwq!j!WLn@i4L)IE=LhgwfN0Fow3LFd&Sn z?KmSBjIjm|Bdq~pylszXKp1-s2$ULWF%BCzjK&6pG1-7HGPkGDp%hCPmx8h0z3jY!lddP&9nGoTw<#_F(H+Bepi9>HQajQ+} zJ`-wB`?!f~hlmzEmsicuEhhA?32if>ohG!`guXVR@57MqeeiTU+%Df2@V_Naq}ogf zcPHW~UTQSQOEg2%OsEQ>ec?u=df|70D@Y}rpK+z|^-#hMV%!o)ir&=c0FQ;6m`M~& zF>y^MG{c12aqZAzGqlx&+HrVB>ZSaQ8XY-$C%;FohD73ckWWn0nZUYnlSgVQDILdl=UqN>J)9ipLN*tV4QQ#-V09dj+gdI zdP>@%v?FQ9(=IomHWM0WLhZOo9dK83+NmaPmI*bRP?bVSwrw$}yp?CPbly99rA~*PC$zI^aeV&WHA#jkbW02_`hz zgr=L&oG?Tw(&uxEMICS#GVYQNxMg8nIzyRg^VowD>5sQV>DNZ$(r*lhrepln zJ>z~haYw_DTbNKZAg0fqXhLZwzdY1{UF`-9H=uO1k#3|OB z&~qlV(S#`8`xKAY*i&is?B0$$9s0tA&~hShL5}yWi92XQ7N!7NpAPY0ldyHH*x(;sK$hbgdy)*wDEPEqCSk{eFOculT2JQ zp!0cGpe+n}SLpo%J|Nm1zzl?X)FIwIU>t{DZH6+$dkP#H-dR8{Ycrnmu0#44IzqhX za3T(L>+yIe;sxA2MNi0h!Q(_u_jm>Xe#L~|HlfWX1YE{ejC&k2hObFwoPN}D>2^E@9aTxMV2}7RVVJI8*+i8oy&r=6C zpP^wUG}?qFn9yVsnr=dKOlTP(jF6riJsqJ%jJvQy=(UV{75?`mBYD1tJIc^)CbZgw z?lYl>Oz3eFdd7raG9k)Y&yS!job$UTZkq}13`10Uv^_Y_-Y|}-(&_s-jLWnkmY3s3 zn^2+&rI}Cxpe`JbAU{D_pgxN^o;fyiV&)X!XJnR|5aIeVj-VP3Tw{f>mGR8Qv%piZ!7m6CzqT zKX0Ci>k)>s9`at4wS}IRb)N|l?s3LFW8z*ip;yC@HyF;vTW&)AOsK|$hL}*j35_$M zNhUPagl3sgvkCD#C-C;_h!JxY^uDh0{7a;NlsV(*f7j#OcuJtO;3lh%p_OnNJNBnxPom zjCj2n8qgudFf(*AL)T^<^$DL1@EjAGZ$gVq=t2{^#Dtca5OT@7k#o7t#H}`=hY-4j zL+>*o!adHoXH48nCiJQay=&&O&4hNE&|VYz+JwG0p`XK$FFGt!`!EjqN{PEZuL)r^ zGH?YZgmKBhVdU{)%z-}z4xMj;~}rI^7fnoJxQ$ZAie%bD9AN)LqdjJX&B(VQ0e-$b=MXZVS#O45s7OP^tv3P3`tHh15zSum( znG~7~|FIBup~Z}l8-5$Uw@U=+0WZ?}z<)-ognyrw0RMh%F#H#_ z)8XHuy$kkoiE%0B2#Yo~9#s3%kZ>gIBU&c>=i7`*J{{!@bBbVkB^!Rer7QeO%RKlsmKyRkf)8nH;jh+q!{4FdogMIaV+S7`gAe}8 z8ftYiUu%G0solqTP=(NOz1yO^I_&Y{KB3na#K@|luy&Y_rF`%>5rk#a8Q(2wI6a6Z3l_W-|A`xbs5 zE_FW*wJiH_{{1-rew%*n%N9_bLsdRH;MOMmePTPay_v12_Gd9O!FZ;4sHu&D74K-imLJ5{J2;%2^y|7E>~dpinKMzc@J!dOSx405dOtn7fYGWrJT=F3$=}h z_*qLitfLfrodVzKk{G}ST;iX)&OSxVi;+mbR=f*V5W&ak=XD-vTlqq@0;-<8g zJoZz_r%-&u4J{lNW~l53IPC#W&qoHpG;Pmksnp3XVAIk$A?LptYH$T58!r;vHxi{ljPp`3Fe)4YQ7Z{+xm zoLeL3)5tLgF%KJQb{b7>~i-^hG!WW-`;6#`L7|bLVsXYA$;<$FJsmsyWYUE@QE}6_j+RIZk#}>)`iL``{O7UEpVF zHpXLKL+DQUJ)z-6Fvr*80r!F(VJUsEI8XS?$*0)?UsY^`FKDimUDO`JE6g(RA7vl2 zp`5B+!th4;otY2W&~2CUpEN7Uch$Y{ZzsGqk~vmLGpw|6y$6|+LYk4Kjms6}mJsCU z2B~yv2vf2{%|M(UT+%GgA&X1u=6tfaTwOS~EG}0Tmn)CUmB!`D;&Ns2v$8l(H$87tF#!gnUene+&+p%;69vxAI_l)l#$|GDwmi`dBP_NWIp97rV-`9phm>G8fHeoB)!bzwAC!b z%p}Tzr`dllJr~xRP!8{JYauMZlKFbN0tJ?rC%Mw|syFX9}=Ea0avpxO}&SZ;Y=Jwz}+WdZDG;Uo2&&l{Z28x&vm=DO2svmb}{ zWbS2ijb~BLXqnU!vN?WFPMggwyeIQNn^R>o-pg zmIl8BHgX^vuwO{B3h=e;4<(;u9$CoGrEgwRZ~B@r>Q(Yd(gXYy{65+Q_%>}eVMw+? zjjtq_q(p==UK>vsZ7Eu>huVxvW19QRV+1qhg#s{gpk9X6AbdA;$lx;^WIV~{kPo?S zY~)rkhxz|3w~8jNg^gVAO&oJ0r4l?_i6flqh}ILB{hW3`%b)wHzrfllwXSbCxBZ-U zKd0T#ZDT*@{3^$MmFxW#j(HPt5*C(-s#iJAO|U;IWnY%@Ugh?%hRapJb)Ct5B$I17 zhxXifoX#|Rm^Kg7Go5pYH>ix_TVnA?dgU>K`s zPPGQ9uHyFpIpaU)_-PEMbDYPxT=$9qx18!?+jQ-ke4>ip4lL)$To%?#Qq5O$Fe_>{VD9vV84m|R`wUu$#b*_>;<6w zaN02AO4?AkSERj4CBwYN*WSjpTVolw# z4C&@{3bqS}7|>|g6KoQW%89i;c_EIK`{cFNqv5X}S~<}tA0Iw)m`}bsVpxq&ZW}#v zxKDmPmf{?ReGs3D<~%I0SL&9BRTMo5npxy$u&-n2l#qm`7x~!Pf*;F%BKy$p2FAsH zH2X>LHE92kML5>B$DIutVx(P5Aq4Y1PH@mE3h1Vzbg|%KSJEeg?x$kd20sUJrSkKL z7$1W4p}Ig*3^AcYD`AmODvXsH=0;VH>vHI3_f>VcgZ?5c`r)fVDhatY%87Ue=u}(u zn1I>3smjCsGZX@6MI5O>hkVz-q%$TOn3oI;##*MDPMqpg(>;|-zqb-^I$&%kVeBVi zqE5m%PQo}(!njVtM4yC-0ftKsJC#^Ra5?ETFqNpiR63@VW9Yn~(g1?=pcj|bczGrHG=1|UxD%{XuO?`_zD&TAH~Dy^tBbaN8zjoS^wLhHtLrD z5XWN1c~)2vzEQ+d7<4Nov;*lJ_8eGlJ%_DO`{WFqDgTa6k3*Z2G#CZz&`Hii;W^LZ zGzaAo&v~TCZheNkM$rBx!EN%0lJ-7L|>Ce3T z(9b1iHb|1Ad&B0g-m9WpqmpzeiTb-XZ&|kGlIzcSL1L+m_}zNS*}D%6^=%$O`DK#i zbnn}J!2!U7X#WKKb?!UslGCnle|lJwm{*d%@ZA1Wckhk;s}0Zo`(IH$xE}!L0sA3I z`Vab@-+%Un7t3#X%T^}R{*`J;AJ4yQHdnHLebl}_zEvdyjGG-*Maj-J+R;Luh*dbI@DJsMQTR9 z2KkWWk#s2|Nm_qjW3L{He4hNE6qnK%zv6J@ zvV~%QNgEtAdks@F^azJ2N~zIgYkuK~1`LBKWi=5D#2tUPrNV)jGMOcdH%5UZ<2T(W4B%Kn(}9*JK3eR{-<73 z{1{r>(n<-5u>lSG&tDTO8^H056kh6<(clGC~Ny|oVYor zDGP#`nN9Kfn}o#gGcUAh{cVF$1R^CSp2sECw(4aFgJIOJ=vXm2~fRvC1B}gBZEdXVX4M(TgJ2=o^$Ylvl^B=6d<*D9G zrZ*)%^+Zb3lgZQ@uEwiV-N|%!D%G7%cBjT;ni-85TI||?YK__gpgiQMwbrV}~Fv>}FADnSa`;+>V)h2i#`|9lYvoS{ zj9^Oku+O@qJ~pYRQhND$x9j)xWk}cp zWb0s`NyzpM(hMp5E1#?ayL!jTZJQ_L#&s*&o2NGvDw3W~>wo%|*YoXssW<imBH zRAERybmH+Ht6Eu8xP8sg_MB2{{?=6*>gt5TU{YJ<6?wP( z4XGVJ3yEPyTiKqxKu^$wN>4byO_KrY)U6VHR3^0c7_Jh@P6DnGn^I#*b}eIUCm z70!7=ER}Gy#`N&3xqwI7vAHe?s~XF6G)PXA#yl_)nx4B%(Zr*V-w{9R8a2 zNXm)!9+&Rt(oyuYy#{}jIe>@EXY5AISco(sXgA;p(49@)qypI z6<6>1GtJ6Nb0@TzJ!=N;b2;QgrQL6t+kL}MF%Ju$nZ019Z~I(}YvGS>!Wmp)Z&xmp z3g8M!DoTHl{|~3Z6Uy;?tO^hT4#17d9r8DSG$@{uZ{+e{K%Y2B(to}(R99Dpym~vQ z%j>jJIk2Sm5$Q*~_I%~MI=DlA=>iK++q*#vfrrXokiRQxL*Tqee!Pl5-~#_U6hH7~ zoQ6R>mxnD;U4e^>@u+nP_P?5)$XDHuvHm3fO;uSN|MEGIRz5^4F7&KBX<+^R(kT`m zakxd5AfNv(PQ%BfUvoa9l^5jNMZlkwPUl))z=^*I?vS6jOi=Nxy4u7=*YMVsK1Ez4 zT6KHgT z3OFA_wQq%VuYezx-c?6=(!Bx>T)FNQlqcOwaEJWdnTx%W?iJ8ycJlckyln{!T95%H zs$y<$tM+V5A5}{I-$vXAy-nOVRj0M9a`uh55hCws4gOJR@4k_^t$Yuy@Ymteq>*Tk z8-ak+sjERf-31Mv>CTyIr&#?-J)8{v0=yeagLmVGZrB}WgQn{qkI>+YR3LpPsPOc* z>N;{^B#>NvmH?_7KuyhsB96C5Q^0SNkxCimCshZOQ_A?OGhM|%OS+%&CUq_8EdSL= zSvuhD^0%cSqESuEn?}_DCyl@j8dx-gC3V0g0SG-seF|fTeQ52~rwk39a`oDt9Zf!O zBBBNy$*KIx3zsjyaAj_N!Wq1ZkhoP(1>GHIyGy5BxpwW9r<4p`H9dO9ruYLhZ(6nT z%`+i?;(mY9Fp??b>7bz|vzT9!&2Q&xcg|XcU*T(4z-jFY_!H8@mTsW>w8{khap}93 zjGvS-${PGdrgM%K?GUGn`j0ZR4o3#5Dbn50sT zX2eGK3K{{ozD0_lajf50SeZZ31`5=AuoyI7mq6>sR^pe&sP3QlDhH|u*oYVsYUJQ z4pAG=0otX|>JZRpzU-A)Z@?ojkM2pk8iIb)9qG;FN3yg?#!q*@5jUW1d4_YtUQVUQ*hyT^5xk$zuz)`< z{Wo+!Z2n3`K3{%7a!H!hNbD!^;YUzYwRYQs(i9v0joKPW7b%48i>m0y%Tz1a3*pYk~C zl{Ru*4lJpEMEbJT`k4FzXfAp!vTcMTIQkZOxmA8%-E**S!8|f7Z%Lj(FF|gp68Dyx zg!iu69S*bJd$c%ulc6V=-{S(6%73!CKj~miHTvmBf@RbGxcANWj4$DRvn)U2P8o~j ztj@*}`9A6yTEx`A3nbU7`h)!PqN4zYsY3b(ukps!avM{Eu}CIqMpF$>s)pBNsy~e; zfJ{cd&+92)F0;3p5aM6t67KJ6`F59&F`tXAZeI8`!Q`!aTFm7E8U14xF68t%!g}ym zaLGGC3GVY$@hP%8G=QebRFFa58HuF~x9KRKYQ`gaEUkND4)(r4Tt1YDEPT#LIaOKr zEi7n>geGq{lP=f7D}MI(NTSM1qzwv)xd~o+sy5&6q>QhMDkKu|^7EEp{Sqwf>WX|PmyKeSPfPEo(O?A+$v0p$t(HYRSR&0? zGFjguo7Lu*kBrB!ejiOI^>jYK9OZr9l&-_X^yyCa@jx1^-nrqCXe5$k;iklzBzv{o z$k_~LjmNW4cCz1c0se)V$&GnhX=HKz0QROP<$w@HK5ABHT2}j)n45$04|=y>wtCfN z+k1MpU$$!XW!rnt8r{EQ`TmiS{mWPEA7wk&UbUxG+H=*~>fhCGTCw7yHT3x=P>1)$ zdFd)nwZ~XD=OqEB_^p6H3E4q$UjZkpQox^(9;#WDKj89Rz#oUTNwFzW|2tNF^2q=v zz0Cd(kE^!95?Xu?J|BbZMfuX_|Nffi53>V{_#jv=@F~i-Ly~_E&)>}sGU5*2zfG@| zSNne&TyTB0oLd+I?_Wr_aPAOzlh-HUKf_ugt`Y4iwe~n1{XHXnR{Bn@+*T`p)EWJac}rQdP?P~g{IgFnx%kiJ=KhvN8DzbJD! zr+0N;iQd)c7R!%~$71=h@mVZiiWm9dOZ$IXy1tH2K2*c|=h6?Pa1C#=qQp3#gQZ-f zH@Bk%oajhCub78Ktsf4z#z|hUC?~I1;8887aoh&GqYZv9t+AxkUGMvvmRpO!p3rTG zO#g!g$Uf1rJl!=EPv$!e)317MPK5tppfTeO7be+ngH2KAfHT<$|JH8zIJwy-7pn`k z`nPVuN*wbe!2AWo+?u2TOX8L&s7nTm%KkCJrv~G0xx*QDh2oxtpQ>T`wYgeZn=1~t=JJVJ z`N(U^Y3==}R!(spG1t}SY0jS_c?z<9hU-zp!WZp2ZhyZ{C_IONxd`*Zb5hPHvt{AA z-PbH{T6^v)InAw@$6W4L>C3Bb$Gp#T)4-Y@vt`@tUNT~K-mrV_ExSwfHS|k=8um}{ zS*KqP1&TA<`)1Bx4xGsH>jqA`l!c7%<*@`rPD^BSTK298pF-O6@adTYCk_stIPjp8 z44Jh4%XnKN(H4KmjgZIip7HThMuRU_l}h>6>`-IlU}K>CM<3}E>Z=3MG#}}c(qac- z7=^oqq*8LU6F?>}u(&Iw8%fezp8G{N4>bRBaNA&M+rV#x`*{U*RX(X6)Ths8sP*bMWABx%Dka?RB{w$<@2eDK6l z!(i5v=}a)i?)HUUK35{?4mL)D$%6S)f7J7Pvn?@Pe90qxiGh>GnpX|^HBU<^muZQs z?&hFZwcFiI(}S_R>52T_NU>8{ZmiI~EM9&b{LeAv>kaN5UpK0-2WbS{9u)8=q<^#Q z!ATk!){B6@C_T>Cp=gJ6zJULN))R04z>@k$q?hXIlgt+NpTi!jsDIv)`Y&ORl`N|w z?3xU?W1L%7*hrxuS#LEq0VXVVD%K{PNmR~dLD*_&%}guAoUD1}fj*BXsR#Xq%|p%0 zn_Jcm_HGzTPn|O}c}_N((){k=;CQlQDqEcGC~X~USaGhqxzlNSwX`RfkGH4tT^Wz7 zp=U+M_zB&`Mm-wNI75kWtSyyoPk6lPuG#*v6MJbC99vFRXd6u)o+As1$`La^lk}B%s>6a72+E)N59!Ce^em!`RjMMQel@40z=2|Q0*A+? zbGcPjgeO>E|3%Ac5%tM(7xf>-evlZ;fhF~i)WdmHM2v;QExd#+{EB=BMg|FjJza#8 z#FW+INu4rheS|U0PFXELc`8D@XksgjPa|!QAy#ZuXYld-+G&G%V+OWz&Dm_OH^GYI zjg8}l-0-TxK&)$|qjOCuEvI8xV8wOkub$f5*k|M-#nHw@XFNIFlOEgS)(S~E9@KKG zGtm-hie_7qfndv2ch~Z^n9>{2y^O{CS9O&yAvwj)nK<|O9y4e*hk_2fQ_rX3O>wU$ z*|xlI;DiD2CD{s(fiJshlo%4RWuw`chH#{%%y|%@8H}D=1!6any>0U1U8A;wDNnl= zo_DrRt#9i&Zn~+kY-`W(-u6IKFr{T|=i_xn|9kry#&AlUFIPf!uLQh9vRu134ZF$UX|^9{4(bn2+l*#IeKoa@F%1%SW=VPp|vRBk7Lb|ha>7Q zw(|?=eSEwEP9B7)|1$~EOkV#0jkpFsB31oVYM*w9ME%3?(iib04?w`5m3|_2h=BhK zN@orJJo~-$Z3~|lYU3pf9dOL&V=Q5{ccAXM#d02lu03DHW3l|O^z|A(FYq`h;j>u& zEHZp3YlO!Af^wyW*JAn8(mU(uLLPt^&(Ec=a1TJxi?oS=KPP>-u0BOl1^gMbLlTwO zxA|-Ra5%tf+z5qm?`O|9x^l&{xD`IPjHy3tpuN%=t6 zEW&MMGmBZ^a6Zer^aMuV04Z{%e7_Xq)+HPRN@9ToSE^c9%V~r120d+Ga3=izn7Sa# z*e^^>lTI}-t4-2Oc!uLTqKTf-kwW5Hm|@!r5K z_N4qkDyF&@z7RnFL3X~a{C@laCMUSnSSl1;c$Hlk2s4K0?uVT+3-Y)t$BJ|Pv*1eN z_V;jZ6>wU$0{%E_;;UA`X>|(t&sc=hRlte+1^h7UP605yb%YQdP@i69c2z_H`6P^P4LRwWd7G*9@Xb}_Y z&@y)W3&FIer_`sMj$AkzdL()%1d1BYfU|sPwEP3E5?fNN=+Rt8(k%Z@VSdUn;k|GQ zz9=Xt9p)4iaH61qKQ5iaDJbAXL4qUqYzIj<0VNAW)PB^8HHIta(im#+Bb23At55V6 ztsFi`GEcNZGEcPfEMzmu76B(&AZkCemL!3I(i#!ar{{=I5sj30L62gWgHsKA3A76c z`-GHge~Fp=?_i(Ys^vW8(_QQw?$?bP887>=vy9Eyl#Vd15ezQ;-hm{tWJUuMh8(0} z(JODC)9Viwz5c@KCE%n#1iYGgDBwgH0e{r8x?7+xfoBbVgy7`0!YV1sarlS5Vg%Nd z518C%;_DdZGprF6Y^U&C8~Ab7PBeSjNFoCSmO<}|;>Hj^m{?g6cDiBUpU4sGPd^>;?4ft;k|t#Bupz z>7~D>5wH$vRTUd$*J9}<&+!o)FTJf=D*w?cb;w_vp%o)WK)E$EYKMIDE-@~`F>XOs zLFHQQAJ*WvO8>&8pJ?T;HTd0xZLR+Ewbt+1Q?5ZjSA%|ao161(m)r-w4M=M!+QQTH zYHZ1+Bkg(~n~NBhN zO}$w|ZM*as43EVy;L`2hVoWz24y25RgAIChoQkVPm9JP9p5U~5EqGD>3Z#_q6n`nL zt3D?`Rin>co6De2N97geOwcDGokHsx>z5X=Sh*_MCs@tcKmn!b8%%z6fIJZ4Ly;|9 zvO;}4pd#vs%sU9SS{lk=3873D%&i=2I=QLe%nlTTK_eKqJM^(lw${z1zSB3bzXg@n z@oc)(7VBKso$qe+2K-voNSxfi`QY@*^QL-ESkaP>EIis#ipPsu$8?*!BQUl_jt8?w zxmdAX^KI2rNke`+_ac7j(pn1Uj_&#X{>|OpTl)Iv;U02dk^L8Dua(PWq4>FDTot?` zuEm3~ixb4U2DfxYB7QCC^|XZs*0r^*=}i}Cquwy#gRZ||a{5hj+-ymNQf|NMa6;rl z@VZo&mWUWF@s*dY-*9lH;3)JC3Cy7LNES(tRwXdtkZK(6kgHPdEW))``vEIHgDlXx zR*JAJ-f@i9AlaJJxq~t?6iA)7`bcgWapR!(rW))J??`3L8o=WXX{~QI-Jm9BJ0SEW`HZ z@F7U|BQ^MgR@8{((m8eTZ?bka!RwPYSgd~tdoK!yUsMNo$PewcbfT>rG!(rS*$eX7 zy!Sigf5%@DHA!G4AP0|PLtIut4q@9i*I0Z5p~XfwU%Gtme2ABsX2#Ny^1&#(Sd&{P zgd|$u)zsbK4Ftj@iQM&a!Qrqjj;~rK3BFpW zHdYJI=%n1}#k#aAKFdq%pP@A&p1J)%)j}weg}|W&`S#O=g|Mb(AtcB`;H6|C+{100 z#b*;_Ayl8;$1Mb@QnL^e3M_s z3=6@6-n?aza;&Wbo%36DI*wg zaoZ!^{T;I-m+Q$!om~#s5>D3Q;N;wfS*~o&DJu} zm>z14cdqZw_0-lKwBp6956&^JUkg=rBxh9<^27QaG3l1{I& z5E|Q74x~*=r(OBxx!8(fj~P(iS;O7hZ*H9TD4E`6*|`JL)8}sKS>4*Yx`%(t@nl

    `-`
    ` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n\n%heading {\n margin-top: 0; // 1\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-style: $headings-font-style;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: var(--#{$prefix}heading-color);\n}\n\nh1 {\n @extend %heading;\n @include font-size($h1-font-size);\n}\n\nh2 {\n @extend %heading;\n @include font-size($h2-font-size);\n}\n\nh3 {\n @extend %heading;\n @include font-size($h3-font-size);\n}\n\nh4 {\n @extend %heading;\n @include font-size($h4-font-size);\n}\n\nh5 {\n @extend %heading;\n @include font-size($h5-font-size);\n}\n\nh6 {\n @extend %heading;\n @include font-size($h6-font-size);\n}\n\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `

    `s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\n\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n\n// Abbreviations\n//\n// 1. Add the correct text decoration in Chrome, Edge, Opera, and Safari.\n// 2. Add explicit cursor to indicate changed behavior.\n// 3. Prevent the text-decoration to be skipped.\n\nabbr[title] {\n text-decoration: underline dotted; // 1\n cursor: help; // 2\n text-decoration-skip-ink: none; // 3\n}\n\n\n// Address\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\n\n// Lists\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\n// 1. Undo browser default\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // 1\n}\n\n\n// Blockquote\n\nblockquote {\n margin: 0 0 1rem;\n}\n\n\n// Strong\n//\n// Add the correct font weight in Chrome, Edge, and Safari\n\nb,\nstrong {\n font-weight: $font-weight-bolder;\n}\n\n\n// Small\n//\n// Add the correct font size in all browsers\n\nsmall {\n @include font-size($small-font-size);\n}\n\n\n// Mark\n\nmark {\n padding: $mark-padding;\n color: var(--#{$prefix}highlight-color);\n background-color: var(--#{$prefix}highlight-bg);\n}\n\n\n// Sub and Sup\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n\nsub,\nsup {\n position: relative;\n @include font-size($sub-sup-font-size);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n// Links\n\na {\n color: rgba(var(--#{$prefix}link-color-rgb), var(--#{$prefix}link-opacity, 1));\n text-decoration: $link-decoration;\n\n &:hover {\n --#{$prefix}link-color-rgb: var(--#{$prefix}link-hover-color-rgb);\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([class]) {\n &,\n &:hover {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n// Code\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-code;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\n// 1. Remove browser default top margin\n// 2. Reset browser default of `1em` to use `rem`s\n// 3. Don't allow content to break outside\n\npre {\n display: block;\n margin-top: 0; // 1\n margin-bottom: 1rem; // 2\n overflow: auto; // 3\n @include font-size($code-font-size);\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\ncode {\n @include font-size($code-font-size);\n color: var(--#{$prefix}code-color);\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n\n kbd {\n padding: 0;\n @include font-size(1em);\n font-weight: $nested-kbd-font-weight;\n }\n}\n\n\n// Figures\n//\n// Apply a consistent margin strategy (matches our type styles).\n\nfigure {\n margin: 0 0 1rem;\n}\n\n\n// Images and content\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\n\n// Tables\n//\n// Prevent double borders\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: $table-cell-padding-y;\n padding-bottom: $table-cell-padding-y;\n color: $table-caption-color;\n text-align: left;\n}\n\n// 1. Removes font-weight bold by inheriting\n// 2. Matches default `` alignment by inheriting `text-align`.\n// 3. Fix alignment for Safari\n\nth {\n font-weight: $table-th-font-weight; // 1\n text-align: inherit; // 2\n text-align: -webkit-match-parent; // 3\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n}\n\n\n// Forms\n//\n// 1. Allow labels to use `margin` for spacing.\n\nlabel {\n display: inline-block; // 1\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n// See https://github.com/twbs/bootstrap/issues/24093\n\nbutton {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 0;\n}\n\n// Explicitly remove focus outline in Chromium when it shouldn't be\n// visible (e.g. as result of mouse click or touch tap). It already\n// should be doing this automatically, but seems to currently be\n// confused and applies its very visible two-tone outline anyway.\n\nbutton:focus:not(:focus-visible) {\n outline: 0;\n}\n\n// 1. Remove the margin in Firefox and Safari\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // 1\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\n// Remove the inheritance of text transform in Firefox\nbutton,\nselect {\n text-transform: none;\n}\n// Set the cursor for non-`

    E?OUWrYdWHzuQk!< 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 JiyBY2{~xpFXea;x literal 0 HcmV?d00001 diff --git a/wwws/apxhtml/src/static/fonts/questrial-regular-webfont.woff b/wwws/apxhtml/src/static/fonts/questrial-regular-webfont.woff new file mode 100644 index 0000000000000000000000000000000000000000..50c93061d3ee480cfad59c294351a1dfe110cae4 GIT binary patch literal 26760 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 tx9|;^MH|i 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 Nj;5hTt(r~ve*x%6+n`0001JYGP>3 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 Fe*kCWg7N?W literal 0 HcmV?d00001 diff --git a/wwws/apxhtml/src/static/img/logo/logobgdark.png b/wwws/apxhtml/src/static/img/logo/logobgdark.png new file mode 100644 index 0000000000000000000000000000000000000000..6295b915929165e52185141443ba7646340cb37d GIT binary patch literal 6507 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 bUIVVhJv?Q#R(EecN&tFVk2I?u!eagd&GA9J literal 0 HcmV?d00001 diff --git a/wwws/apxhtml/src/static/img/logo/logobglight.png b/wwws/apxhtml/src/static/img/logo/logobglight.png new file mode 100644 index 0000000000000000000000000000000000000000..4faa68dac227aacbbb391ce174880f36adcb4da4 GIT binary patch literal 9013 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 Q3j%cawjQ!V!#4cC0d>?4+yDRo literal 0 HcmV?d00001 diff --git a/wwws/apxhtml/src/tpldata/index/trkhoster_trackerconsentform_fr.json b/wwws/apxhtml/src/tpldata/index/trkhoster_trackerconsentform_fr.json new file mode 100644 index 0000000..1c016a9 --- /dev/null +++ b/wwws/apxhtml/src/tpldata/index/trkhoster_trackerconsentform_fr.json @@ -0,0 +1,25 @@ +{ + "CGU": "https://smatchit.io/Smatchit_RGPD_app_web_fr.html", + "CGUlabel": "Conditions générales d'utilisation", + "introtext": "Conformément au RGPD, nous devons obtenir votre autorisation pour stocker vos données personnelles sur ce site. Si vous 'refusez tout enregistrement', vous n'aurez pas accès au contenu avec identification. Si vous souhaitez nous soutenir, vos données pourront être communiquées à des tiers. Consultez nos conditions pour en savoir plus :", + "btn": [ + { + "action": "acceptfullcookies", + "text": "J'accepte pour soutenir ce site" + }, + { + "action": "acceptstatisticcookies", + "text": "J'accepte uniquement pour faciliter la navigation" + }, + { + "action": "refusecookies", + "text": "Je refuse tout enregistrement" + } + ], + "wcotribe": "apxtri", + "tribe": "apxtri", + "xapp": "apxhtml", + "pagename": "index", + "code": "enjoy", + "tagid": "trkhoster" +} diff --git a/wwws/apxhtml/tailwind.config.js b/wwws/apxhtml/tailwind.config.js new file mode 100644 index 0000000..aa049e5 --- /dev/null +++ b/wwws/apxhtml/tailwind.config.js @@ -0,0 +1,80 @@ +/** @type {import('tailwindcss').Config} */ +const colors = require('tailwindcss/colors'); +const confwww= require('../itm/apxhtml.json'); +module.exports = { + content: confwww.tailwindcsscontent, + theme: { + fontFamily: { + sans: ["Inter", "sans-serif"], + serif: ["Montserrat", "serif"], + }, + }, + plugins: [ + require("@tailwindcss/typography"), + require("daisyui") + ], + daisyui: { + themes: ["dark","light","themeA","themeB"], // false: only light + dark | true: all themes | array: specific themes like this ["light", "dark", "cupcake"] + darkTheme: "dark", // name of one of the included themes for dark mode + base: true, // applies background color and foreground color for root element by default + styled: true, // include daisyUI colors and design decisions for all components + utils: true, // adds responsive and modifier utility classes + prefix: "", // prefix for daisyUI classnames (components, modifiers and responsive class names. Not colors) + logs: true, // Shows info about daisyUI version and used config in the console when building your CSS + themeRoot: ":root", // The element that receives theme color CSS variables + themes: [ + { + light: { + primary: "#570df8", + secondary: "#f000b8", + accent: "#37cdbe", + neutral: "#3d4451", + "base-100": "#ffffff", + info: "#3abff8", + success: "#36d399", + warning: "#fbbd23", + error: "#f87272", + }, + }, + { + dark: { + primary: "#6419e6", + secondary: "#d926a9", + accent: "#1fb2a6", + neutral: "#2a323c", + "base-100": "#1f2937", + info: "#3abff8", + success: "#36d399", + warning: "#fbbd23", + error: "#f87272", + }, + }, + { + themeA: { + "primary": "#6d28d9", // Violet profond + "secondary": "#db2777", // Rose vif + "accent": "#14b8a6", // Turquoise + "neutral": "#1e293b", // Gris foncé + "base-100": "#f3f4f6", // Gris clair + "info": "#60a5fa", // Bleu pastel + "success": "#34d399", // Vert + "warning": "#fbbf24", // Jaune + "error": "#f87171" // Rouge + }, + }, + { + themeB: { + "primary": "#059669", // Vert émeraude + "secondary": "#7c3aed", // Violet + "accent": "#f59e0b", // Orange + "neutral": "#374151", // Gris + "base-100": "#f9fafb", // Blanc cassé + "info": "#60a5fa", // Bleu pastel + "success": "#34d399", // Vert + "warning": "#fbbf24", // Jaune + "error": "#f87171" // Rouge + }, + }, + ], + }, +}; diff --git a/wwws/cdn/apxweb/bootstrap/css/bootstrap-grid.css b/wwws/cdn/apxweb/bootstrap/css/bootstrap-grid.css new file mode 100644 index 0000000..411dbb8 --- /dev/null +++ b/wwws/cdn/apxweb/bootstrap/css/bootstrap-grid.css @@ -0,0 +1,4085 @@ +/*! + * Bootstrap Grid v5.3.2 (https://getbootstrap.com/) + * Copyright 2011-2023 The Bootstrap Authors + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +.container, +.container-fluid, +.container-xxl, +.container-xl, +.container-lg, +.container-md, +.container-sm { + --bs-gutter-x: 1.5rem; + --bs-gutter-y: 0; + width: 100%; + padding-right: calc(var(--bs-gutter-x) * 0.5); + padding-left: calc(var(--bs-gutter-x) * 0.5); + margin-right: auto; + margin-left: auto; +} + +@media (min-width: 576px) { + .container-sm, .container { + max-width: 540px; + } +} +@media (min-width: 768px) { + .container-md, .container-sm, .container { + max-width: 720px; + } +} +@media (min-width: 992px) { + .container-lg, .container-md, .container-sm, .container { + max-width: 960px; + } +} +@media (min-width: 1200px) { + .container-xl, .container-lg, .container-md, .container-sm, .container { + max-width: 1140px; + } +} +@media (min-width: 1400px) { + .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container { + max-width: 1320px; + } +} +:root { + --bs-breakpoint-xs: 0; + --bs-breakpoint-sm: 576px; + --bs-breakpoint-md: 768px; + --bs-breakpoint-lg: 992px; + --bs-breakpoint-xl: 1200px; + --bs-breakpoint-xxl: 1400px; +} + +.row { + --bs-gutter-x: 1.5rem; + --bs-gutter-y: 0; + display: flex; + flex-wrap: wrap; + margin-top: calc(-1 * var(--bs-gutter-y)); + margin-right: calc(-0.5 * var(--bs-gutter-x)); + margin-left: calc(-0.5 * var(--bs-gutter-x)); +} +.row > * { + box-sizing: border-box; + flex-shrink: 0; + width: 100%; + max-width: 100%; + padding-right: calc(var(--bs-gutter-x) * 0.5); + padding-left: calc(var(--bs-gutter-x) * 0.5); + margin-top: var(--bs-gutter-y); +} + +.col { + flex: 1 0 0%; +} + +.row-cols-auto > * { + flex: 0 0 auto; + width: auto; +} + +.row-cols-1 > * { + flex: 0 0 auto; + width: 100%; +} + +.row-cols-2 > * { + flex: 0 0 auto; + width: 50%; +} + +.row-cols-3 > * { + flex: 0 0 auto; + width: 33.33333333%; +} + +.row-cols-4 > * { + flex: 0 0 auto; + width: 25%; +} + +.row-cols-5 > * { + flex: 0 0 auto; + width: 20%; +} + +.row-cols-6 > * { + flex: 0 0 auto; + width: 16.66666667%; +} + +.col-auto { + flex: 0 0 auto; + width: auto; +} + +.col-1 { + flex: 0 0 auto; + width: 8.33333333%; +} + +.col-2 { + flex: 0 0 auto; + width: 16.66666667%; +} + +.col-3 { + flex: 0 0 auto; + width: 25%; +} + +.col-4 { + flex: 0 0 auto; + width: 33.33333333%; +} + +.col-5 { + flex: 0 0 auto; + width: 41.66666667%; +} + +.col-6 { + flex: 0 0 auto; + width: 50%; +} + +.col-7 { + flex: 0 0 auto; + width: 58.33333333%; +} + +.col-8 { + flex: 0 0 auto; + width: 66.66666667%; +} + +.col-9 { + flex: 0 0 auto; + width: 75%; +} + +.col-10 { + flex: 0 0 auto; + width: 83.33333333%; +} + +.col-11 { + flex: 0 0 auto; + width: 91.66666667%; +} + +.col-12 { + flex: 0 0 auto; + width: 100%; +} + +.offset-1 { + margin-left: 8.33333333%; +} + +.offset-2 { + margin-left: 16.66666667%; +} + +.offset-3 { + margin-left: 25%; +} + +.offset-4 { + margin-left: 33.33333333%; +} + +.offset-5 { + margin-left: 41.66666667%; +} + +.offset-6 { + margin-left: 50%; +} + +.offset-7 { + margin-left: 58.33333333%; +} + +.offset-8 { + margin-left: 66.66666667%; +} + +.offset-9 { + margin-left: 75%; +} + +.offset-10 { + margin-left: 83.33333333%; +} + +.offset-11 { + margin-left: 91.66666667%; +} + +.g-0, +.gx-0 { + --bs-gutter-x: 0; +} + +.g-0, +.gy-0 { + --bs-gutter-y: 0; +} + +.g-1, +.gx-1 { + --bs-gutter-x: 0.25rem; +} + +.g-1, +.gy-1 { + --bs-gutter-y: 0.25rem; +} + +.g-2, +.gx-2 { + --bs-gutter-x: 0.5rem; +} + +.g-2, +.gy-2 { + --bs-gutter-y: 0.5rem; +} + +.g-3, +.gx-3 { + --bs-gutter-x: 1rem; +} + +.g-3, +.gy-3 { + --bs-gutter-y: 1rem; +} + +.g-4, +.gx-4 { + --bs-gutter-x: 1.5rem; +} + +.g-4, +.gy-4 { + --bs-gutter-y: 1.5rem; +} + +.g-5, +.gx-5 { + --bs-gutter-x: 3rem; +} + +.g-5, +.gy-5 { + --bs-gutter-y: 3rem; +} + +@media (min-width: 576px) { + .col-sm { + flex: 1 0 0%; + } + .row-cols-sm-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-sm-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-sm-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-sm-3 > * { + flex: 0 0 auto; + width: 33.33333333%; + } + .row-cols-sm-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-sm-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-sm-6 > * { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-sm-auto { + flex: 0 0 auto; + width: auto; + } + .col-sm-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-sm-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-sm-3 { + flex: 0 0 auto; + width: 25%; + } + .col-sm-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-sm-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-sm-6 { + flex: 0 0 auto; + width: 50%; + } + .col-sm-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-sm-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-sm-9 { + flex: 0 0 auto; + width: 75%; + } + .col-sm-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-sm-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-sm-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-sm-0 { + margin-left: 0; + } + .offset-sm-1 { + margin-left: 8.33333333%; + } + .offset-sm-2 { + margin-left: 16.66666667%; + } + .offset-sm-3 { + margin-left: 25%; + } + .offset-sm-4 { + margin-left: 33.33333333%; + } + .offset-sm-5 { + margin-left: 41.66666667%; + } + .offset-sm-6 { + margin-left: 50%; + } + .offset-sm-7 { + margin-left: 58.33333333%; + } + .offset-sm-8 { + margin-left: 66.66666667%; + } + .offset-sm-9 { + margin-left: 75%; + } + .offset-sm-10 { + margin-left: 83.33333333%; + } + .offset-sm-11 { + margin-left: 91.66666667%; + } + .g-sm-0, + .gx-sm-0 { + --bs-gutter-x: 0; + } + .g-sm-0, + .gy-sm-0 { + --bs-gutter-y: 0; + } + .g-sm-1, + .gx-sm-1 { + --bs-gutter-x: 0.25rem; + } + .g-sm-1, + .gy-sm-1 { + --bs-gutter-y: 0.25rem; + } + .g-sm-2, + .gx-sm-2 { + --bs-gutter-x: 0.5rem; + } + .g-sm-2, + .gy-sm-2 { + --bs-gutter-y: 0.5rem; + } + .g-sm-3, + .gx-sm-3 { + --bs-gutter-x: 1rem; + } + .g-sm-3, + .gy-sm-3 { + --bs-gutter-y: 1rem; + } + .g-sm-4, + .gx-sm-4 { + --bs-gutter-x: 1.5rem; + } + .g-sm-4, + .gy-sm-4 { + --bs-gutter-y: 1.5rem; + } + .g-sm-5, + .gx-sm-5 { + --bs-gutter-x: 3rem; + } + .g-sm-5, + .gy-sm-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 768px) { + .col-md { + flex: 1 0 0%; + } + .row-cols-md-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-md-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-md-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-md-3 > * { + flex: 0 0 auto; + width: 33.33333333%; + } + .row-cols-md-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-md-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-md-6 > * { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-md-auto { + flex: 0 0 auto; + width: auto; + } + .col-md-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-md-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-md-3 { + flex: 0 0 auto; + width: 25%; + } + .col-md-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-md-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-md-6 { + flex: 0 0 auto; + width: 50%; + } + .col-md-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-md-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-md-9 { + flex: 0 0 auto; + width: 75%; + } + .col-md-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-md-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-md-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-md-0 { + margin-left: 0; + } + .offset-md-1 { + margin-left: 8.33333333%; + } + .offset-md-2 { + margin-left: 16.66666667%; + } + .offset-md-3 { + margin-left: 25%; + } + .offset-md-4 { + margin-left: 33.33333333%; + } + .offset-md-5 { + margin-left: 41.66666667%; + } + .offset-md-6 { + margin-left: 50%; + } + .offset-md-7 { + margin-left: 58.33333333%; + } + .offset-md-8 { + margin-left: 66.66666667%; + } + .offset-md-9 { + margin-left: 75%; + } + .offset-md-10 { + margin-left: 83.33333333%; + } + .offset-md-11 { + margin-left: 91.66666667%; + } + .g-md-0, + .gx-md-0 { + --bs-gutter-x: 0; + } + .g-md-0, + .gy-md-0 { + --bs-gutter-y: 0; + } + .g-md-1, + .gx-md-1 { + --bs-gutter-x: 0.25rem; + } + .g-md-1, + .gy-md-1 { + --bs-gutter-y: 0.25rem; + } + .g-md-2, + .gx-md-2 { + --bs-gutter-x: 0.5rem; + } + .g-md-2, + .gy-md-2 { + --bs-gutter-y: 0.5rem; + } + .g-md-3, + .gx-md-3 { + --bs-gutter-x: 1rem; + } + .g-md-3, + .gy-md-3 { + --bs-gutter-y: 1rem; + } + .g-md-4, + .gx-md-4 { + --bs-gutter-x: 1.5rem; + } + .g-md-4, + .gy-md-4 { + --bs-gutter-y: 1.5rem; + } + .g-md-5, + .gx-md-5 { + --bs-gutter-x: 3rem; + } + .g-md-5, + .gy-md-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 992px) { + .col-lg { + flex: 1 0 0%; + } + .row-cols-lg-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-lg-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-lg-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-lg-3 > * { + flex: 0 0 auto; + width: 33.33333333%; + } + .row-cols-lg-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-lg-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-lg-6 > * { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-lg-auto { + flex: 0 0 auto; + width: auto; + } + .col-lg-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-lg-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-lg-3 { + flex: 0 0 auto; + width: 25%; + } + .col-lg-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-lg-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-lg-6 { + flex: 0 0 auto; + width: 50%; + } + .col-lg-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-lg-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-lg-9 { + flex: 0 0 auto; + width: 75%; + } + .col-lg-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-lg-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-lg-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-lg-0 { + margin-left: 0; + } + .offset-lg-1 { + margin-left: 8.33333333%; + } + .offset-lg-2 { + margin-left: 16.66666667%; + } + .offset-lg-3 { + margin-left: 25%; + } + .offset-lg-4 { + margin-left: 33.33333333%; + } + .offset-lg-5 { + margin-left: 41.66666667%; + } + .offset-lg-6 { + margin-left: 50%; + } + .offset-lg-7 { + margin-left: 58.33333333%; + } + .offset-lg-8 { + margin-left: 66.66666667%; + } + .offset-lg-9 { + margin-left: 75%; + } + .offset-lg-10 { + margin-left: 83.33333333%; + } + .offset-lg-11 { + margin-left: 91.66666667%; + } + .g-lg-0, + .gx-lg-0 { + --bs-gutter-x: 0; + } + .g-lg-0, + .gy-lg-0 { + --bs-gutter-y: 0; + } + .g-lg-1, + .gx-lg-1 { + --bs-gutter-x: 0.25rem; + } + .g-lg-1, + .gy-lg-1 { + --bs-gutter-y: 0.25rem; + } + .g-lg-2, + .gx-lg-2 { + --bs-gutter-x: 0.5rem; + } + .g-lg-2, + .gy-lg-2 { + --bs-gutter-y: 0.5rem; + } + .g-lg-3, + .gx-lg-3 { + --bs-gutter-x: 1rem; + } + .g-lg-3, + .gy-lg-3 { + --bs-gutter-y: 1rem; + } + .g-lg-4, + .gx-lg-4 { + --bs-gutter-x: 1.5rem; + } + .g-lg-4, + .gy-lg-4 { + --bs-gutter-y: 1.5rem; + } + .g-lg-5, + .gx-lg-5 { + --bs-gutter-x: 3rem; + } + .g-lg-5, + .gy-lg-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 1200px) { + .col-xl { + flex: 1 0 0%; + } + .row-cols-xl-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-xl-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-xl-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-xl-3 > * { + flex: 0 0 auto; + width: 33.33333333%; + } + .row-cols-xl-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-xl-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-xl-6 > * { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-xl-auto { + flex: 0 0 auto; + width: auto; + } + .col-xl-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-xl-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-xl-3 { + flex: 0 0 auto; + width: 25%; + } + .col-xl-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-xl-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-xl-6 { + flex: 0 0 auto; + width: 50%; + } + .col-xl-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-xl-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-xl-9 { + flex: 0 0 auto; + width: 75%; + } + .col-xl-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-xl-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-xl-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-xl-0 { + margin-left: 0; + } + .offset-xl-1 { + margin-left: 8.33333333%; + } + .offset-xl-2 { + margin-left: 16.66666667%; + } + .offset-xl-3 { + margin-left: 25%; + } + .offset-xl-4 { + margin-left: 33.33333333%; + } + .offset-xl-5 { + margin-left: 41.66666667%; + } + .offset-xl-6 { + margin-left: 50%; + } + .offset-xl-7 { + margin-left: 58.33333333%; + } + .offset-xl-8 { + margin-left: 66.66666667%; + } + .offset-xl-9 { + margin-left: 75%; + } + .offset-xl-10 { + margin-left: 83.33333333%; + } + .offset-xl-11 { + margin-left: 91.66666667%; + } + .g-xl-0, + .gx-xl-0 { + --bs-gutter-x: 0; + } + .g-xl-0, + .gy-xl-0 { + --bs-gutter-y: 0; + } + .g-xl-1, + .gx-xl-1 { + --bs-gutter-x: 0.25rem; + } + .g-xl-1, + .gy-xl-1 { + --bs-gutter-y: 0.25rem; + } + .g-xl-2, + .gx-xl-2 { + --bs-gutter-x: 0.5rem; + } + .g-xl-2, + .gy-xl-2 { + --bs-gutter-y: 0.5rem; + } + .g-xl-3, + .gx-xl-3 { + --bs-gutter-x: 1rem; + } + .g-xl-3, + .gy-xl-3 { + --bs-gutter-y: 1rem; + } + .g-xl-4, + .gx-xl-4 { + --bs-gutter-x: 1.5rem; + } + .g-xl-4, + .gy-xl-4 { + --bs-gutter-y: 1.5rem; + } + .g-xl-5, + .gx-xl-5 { + --bs-gutter-x: 3rem; + } + .g-xl-5, + .gy-xl-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 1400px) { + .col-xxl { + flex: 1 0 0%; + } + .row-cols-xxl-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-xxl-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-xxl-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-xxl-3 > * { + flex: 0 0 auto; + width: 33.33333333%; + } + .row-cols-xxl-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-xxl-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-xxl-6 > * { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-xxl-auto { + flex: 0 0 auto; + width: auto; + } + .col-xxl-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-xxl-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-xxl-3 { + flex: 0 0 auto; + width: 25%; + } + .col-xxl-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-xxl-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-xxl-6 { + flex: 0 0 auto; + width: 50%; + } + .col-xxl-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-xxl-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-xxl-9 { + flex: 0 0 auto; + width: 75%; + } + .col-xxl-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-xxl-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-xxl-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-xxl-0 { + margin-left: 0; + } + .offset-xxl-1 { + margin-left: 8.33333333%; + } + .offset-xxl-2 { + margin-left: 16.66666667%; + } + .offset-xxl-3 { + margin-left: 25%; + } + .offset-xxl-4 { + margin-left: 33.33333333%; + } + .offset-xxl-5 { + margin-left: 41.66666667%; + } + .offset-xxl-6 { + margin-left: 50%; + } + .offset-xxl-7 { + margin-left: 58.33333333%; + } + .offset-xxl-8 { + margin-left: 66.66666667%; + } + .offset-xxl-9 { + margin-left: 75%; + } + .offset-xxl-10 { + margin-left: 83.33333333%; + } + .offset-xxl-11 { + margin-left: 91.66666667%; + } + .g-xxl-0, + .gx-xxl-0 { + --bs-gutter-x: 0; + } + .g-xxl-0, + .gy-xxl-0 { + --bs-gutter-y: 0; + } + .g-xxl-1, + .gx-xxl-1 { + --bs-gutter-x: 0.25rem; + } + .g-xxl-1, + .gy-xxl-1 { + --bs-gutter-y: 0.25rem; + } + .g-xxl-2, + .gx-xxl-2 { + --bs-gutter-x: 0.5rem; + } + .g-xxl-2, + .gy-xxl-2 { + --bs-gutter-y: 0.5rem; + } + .g-xxl-3, + .gx-xxl-3 { + --bs-gutter-x: 1rem; + } + .g-xxl-3, + .gy-xxl-3 { + --bs-gutter-y: 1rem; + } + .g-xxl-4, + .gx-xxl-4 { + --bs-gutter-x: 1.5rem; + } + .g-xxl-4, + .gy-xxl-4 { + --bs-gutter-y: 1.5rem; + } + .g-xxl-5, + .gx-xxl-5 { + --bs-gutter-x: 3rem; + } + .g-xxl-5, + .gy-xxl-5 { + --bs-gutter-y: 3rem; + } +} +.d-inline { + display: inline !important; +} + +.d-inline-block { + display: inline-block !important; +} + +.d-block { + display: block !important; +} + +.d-grid { + display: grid !important; +} + +.d-inline-grid { + display: inline-grid !important; +} + +.d-table { + display: table !important; +} + +.d-table-row { + display: table-row !important; +} + +.d-table-cell { + display: table-cell !important; +} + +.d-flex { + display: flex !important; +} + +.d-inline-flex { + display: inline-flex !important; +} + +.d-none { + display: none !important; +} + +.flex-fill { + flex: 1 1 auto !important; +} + +.flex-row { + flex-direction: row !important; +} + +.flex-column { + flex-direction: column !important; +} + +.flex-row-reverse { + flex-direction: row-reverse !important; +} + +.flex-column-reverse { + flex-direction: column-reverse !important; +} + +.flex-grow-0 { + flex-grow: 0 !important; +} + +.flex-grow-1 { + flex-grow: 1 !important; +} + +.flex-shrink-0 { + flex-shrink: 0 !important; +} + +.flex-shrink-1 { + flex-shrink: 1 !important; +} + +.flex-wrap { + flex-wrap: wrap !important; +} + +.flex-nowrap { + flex-wrap: nowrap !important; +} + +.flex-wrap-reverse { + flex-wrap: wrap-reverse !important; +} + +.justify-content-start { + justify-content: flex-start !important; +} + +.justify-content-end { + justify-content: flex-end !important; +} + +.justify-content-center { + justify-content: center !important; +} + +.justify-content-between { + justify-content: space-between !important; +} + +.justify-content-around { + justify-content: space-around !important; +} + +.justify-content-evenly { + justify-content: space-evenly !important; +} + +.align-items-start { + align-items: flex-start !important; +} + +.align-items-end { + align-items: flex-end !important; +} + +.align-items-center { + align-items: center !important; +} + +.align-items-baseline { + align-items: baseline !important; +} + +.align-items-stretch { + align-items: stretch !important; +} + +.align-content-start { + align-content: flex-start !important; +} + +.align-content-end { + align-content: flex-end !important; +} + +.align-content-center { + align-content: center !important; +} + +.align-content-between { + align-content: space-between !important; +} + +.align-content-around { + align-content: space-around !important; +} + +.align-content-stretch { + align-content: stretch !important; +} + +.align-self-auto { + align-self: auto !important; +} + +.align-self-start { + align-self: flex-start !important; +} + +.align-self-end { + align-self: flex-end !important; +} + +.align-self-center { + align-self: center !important; +} + +.align-self-baseline { + align-self: baseline !important; +} + +.align-self-stretch { + align-self: stretch !important; +} + +.order-first { + order: -1 !important; +} + +.order-0 { + order: 0 !important; +} + +.order-1 { + order: 1 !important; +} + +.order-2 { + order: 2 !important; +} + +.order-3 { + order: 3 !important; +} + +.order-4 { + order: 4 !important; +} + +.order-5 { + order: 5 !important; +} + +.order-last { + order: 6 !important; +} + +.m-0 { + margin: 0 !important; +} + +.m-1 { + margin: 0.25rem !important; +} + +.m-2 { + margin: 0.5rem !important; +} + +.m-3 { + margin: 1rem !important; +} + +.m-4 { + margin: 1.5rem !important; +} + +.m-5 { + margin: 3rem !important; +} + +.m-auto { + margin: auto !important; +} + +.mx-0 { + margin-right: 0 !important; + margin-left: 0 !important; +} + +.mx-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; +} + +.mx-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; +} + +.mx-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; +} + +.mx-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; +} + +.mx-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; +} + +.mx-auto { + margin-right: auto !important; + margin-left: auto !important; +} + +.my-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; +} + +.my-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; +} + +.my-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; +} + +.my-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; +} + +.my-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; +} + +.my-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; +} + +.my-auto { + margin-top: auto !important; + margin-bottom: auto !important; +} + +.mt-0 { + margin-top: 0 !important; +} + +.mt-1 { + margin-top: 0.25rem !important; +} + +.mt-2 { + margin-top: 0.5rem !important; +} + +.mt-3 { + margin-top: 1rem !important; +} + +.mt-4 { + margin-top: 1.5rem !important; +} + +.mt-5 { + margin-top: 3rem !important; +} + +.mt-auto { + margin-top: auto !important; +} + +.me-0 { + margin-right: 0 !important; +} + +.me-1 { + margin-right: 0.25rem !important; +} + +.me-2 { + margin-right: 0.5rem !important; +} + +.me-3 { + margin-right: 1rem !important; +} + +.me-4 { + margin-right: 1.5rem !important; +} + +.me-5 { + margin-right: 3rem !important; +} + +.me-auto { + margin-right: auto !important; +} + +.mb-0 { + margin-bottom: 0 !important; +} + +.mb-1 { + margin-bottom: 0.25rem !important; +} + +.mb-2 { + margin-bottom: 0.5rem !important; +} + +.mb-3 { + margin-bottom: 1rem !important; +} + +.mb-4 { + margin-bottom: 1.5rem !important; +} + +.mb-5 { + margin-bottom: 3rem !important; +} + +.mb-auto { + margin-bottom: auto !important; +} + +.ms-0 { + margin-left: 0 !important; +} + +.ms-1 { + margin-left: 0.25rem !important; +} + +.ms-2 { + margin-left: 0.5rem !important; +} + +.ms-3 { + margin-left: 1rem !important; +} + +.ms-4 { + margin-left: 1.5rem !important; +} + +.ms-5 { + margin-left: 3rem !important; +} + +.ms-auto { + margin-left: auto !important; +} + +.p-0 { + padding: 0 !important; +} + +.p-1 { + padding: 0.25rem !important; +} + +.p-2 { + padding: 0.5rem !important; +} + +.p-3 { + padding: 1rem !important; +} + +.p-4 { + padding: 1.5rem !important; +} + +.p-5 { + padding: 3rem !important; +} + +.px-0 { + padding-right: 0 !important; + padding-left: 0 !important; +} + +.px-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; +} + +.px-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; +} + +.px-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; +} + +.px-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; +} + +.px-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; +} + +.py-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; +} + +.py-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; +} + +.py-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; +} + +.py-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; +} + +.py-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; +} + +.py-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; +} + +.pt-0 { + padding-top: 0 !important; +} + +.pt-1 { + padding-top: 0.25rem !important; +} + +.pt-2 { + padding-top: 0.5rem !important; +} + +.pt-3 { + padding-top: 1rem !important; +} + +.pt-4 { + padding-top: 1.5rem !important; +} + +.pt-5 { + padding-top: 3rem !important; +} + +.pe-0 { + padding-right: 0 !important; +} + +.pe-1 { + padding-right: 0.25rem !important; +} + +.pe-2 { + padding-right: 0.5rem !important; +} + +.pe-3 { + padding-right: 1rem !important; +} + +.pe-4 { + padding-right: 1.5rem !important; +} + +.pe-5 { + padding-right: 3rem !important; +} + +.pb-0 { + padding-bottom: 0 !important; +} + +.pb-1 { + padding-bottom: 0.25rem !important; +} + +.pb-2 { + padding-bottom: 0.5rem !important; +} + +.pb-3 { + padding-bottom: 1rem !important; +} + +.pb-4 { + padding-bottom: 1.5rem !important; +} + +.pb-5 { + padding-bottom: 3rem !important; +} + +.ps-0 { + padding-left: 0 !important; +} + +.ps-1 { + padding-left: 0.25rem !important; +} + +.ps-2 { + padding-left: 0.5rem !important; +} + +.ps-3 { + padding-left: 1rem !important; +} + +.ps-4 { + padding-left: 1.5rem !important; +} + +.ps-5 { + padding-left: 3rem !important; +} + +@media (min-width: 576px) { + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-block { + display: block !important; + } + .d-sm-grid { + display: grid !important; + } + .d-sm-inline-grid { + display: inline-grid !important; + } + .d-sm-table { + display: table !important; + } + .d-sm-table-row { + display: table-row !important; + } + .d-sm-table-cell { + display: table-cell !important; + } + .d-sm-flex { + display: flex !important; + } + .d-sm-inline-flex { + display: inline-flex !important; + } + .d-sm-none { + display: none !important; + } + .flex-sm-fill { + flex: 1 1 auto !important; + } + .flex-sm-row { + flex-direction: row !important; + } + .flex-sm-column { + flex-direction: column !important; + } + .flex-sm-row-reverse { + flex-direction: row-reverse !important; + } + .flex-sm-column-reverse { + flex-direction: column-reverse !important; + } + .flex-sm-grow-0 { + flex-grow: 0 !important; + } + .flex-sm-grow-1 { + flex-grow: 1 !important; + } + .flex-sm-shrink-0 { + flex-shrink: 0 !important; + } + .flex-sm-shrink-1 { + flex-shrink: 1 !important; + } + .flex-sm-wrap { + flex-wrap: wrap !important; + } + .flex-sm-nowrap { + flex-wrap: nowrap !important; + } + .flex-sm-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-sm-start { + justify-content: flex-start !important; + } + .justify-content-sm-end { + justify-content: flex-end !important; + } + .justify-content-sm-center { + justify-content: center !important; + } + .justify-content-sm-between { + justify-content: space-between !important; + } + .justify-content-sm-around { + justify-content: space-around !important; + } + .justify-content-sm-evenly { + justify-content: space-evenly !important; + } + .align-items-sm-start { + align-items: flex-start !important; + } + .align-items-sm-end { + align-items: flex-end !important; + } + .align-items-sm-center { + align-items: center !important; + } + .align-items-sm-baseline { + align-items: baseline !important; + } + .align-items-sm-stretch { + align-items: stretch !important; + } + .align-content-sm-start { + align-content: flex-start !important; + } + .align-content-sm-end { + align-content: flex-end !important; + } + .align-content-sm-center { + align-content: center !important; + } + .align-content-sm-between { + align-content: space-between !important; + } + .align-content-sm-around { + align-content: space-around !important; + } + .align-content-sm-stretch { + align-content: stretch !important; + } + .align-self-sm-auto { + align-self: auto !important; + } + .align-self-sm-start { + align-self: flex-start !important; + } + .align-self-sm-end { + align-self: flex-end !important; + } + .align-self-sm-center { + align-self: center !important; + } + .align-self-sm-baseline { + align-self: baseline !important; + } + .align-self-sm-stretch { + align-self: stretch !important; + } + .order-sm-first { + order: -1 !important; + } + .order-sm-0 { + order: 0 !important; + } + .order-sm-1 { + order: 1 !important; + } + .order-sm-2 { + order: 2 !important; + } + .order-sm-3 { + order: 3 !important; + } + .order-sm-4 { + order: 4 !important; + } + .order-sm-5 { + order: 5 !important; + } + .order-sm-last { + order: 6 !important; + } + .m-sm-0 { + margin: 0 !important; + } + .m-sm-1 { + margin: 0.25rem !important; + } + .m-sm-2 { + margin: 0.5rem !important; + } + .m-sm-3 { + margin: 1rem !important; + } + .m-sm-4 { + margin: 1.5rem !important; + } + .m-sm-5 { + margin: 3rem !important; + } + .m-sm-auto { + margin: auto !important; + } + .mx-sm-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-sm-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-sm-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-sm-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-sm-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-sm-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-sm-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-sm-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-sm-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-sm-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-sm-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-sm-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-sm-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-sm-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-sm-0 { + margin-top: 0 !important; + } + .mt-sm-1 { + margin-top: 0.25rem !important; + } + .mt-sm-2 { + margin-top: 0.5rem !important; + } + .mt-sm-3 { + margin-top: 1rem !important; + } + .mt-sm-4 { + margin-top: 1.5rem !important; + } + .mt-sm-5 { + margin-top: 3rem !important; + } + .mt-sm-auto { + margin-top: auto !important; + } + .me-sm-0 { + margin-right: 0 !important; + } + .me-sm-1 { + margin-right: 0.25rem !important; + } + .me-sm-2 { + margin-right: 0.5rem !important; + } + .me-sm-3 { + margin-right: 1rem !important; + } + .me-sm-4 { + margin-right: 1.5rem !important; + } + .me-sm-5 { + margin-right: 3rem !important; + } + .me-sm-auto { + margin-right: auto !important; + } + .mb-sm-0 { + margin-bottom: 0 !important; + } + .mb-sm-1 { + margin-bottom: 0.25rem !important; + } + .mb-sm-2 { + margin-bottom: 0.5rem !important; + } + .mb-sm-3 { + margin-bottom: 1rem !important; + } + .mb-sm-4 { + margin-bottom: 1.5rem !important; + } + .mb-sm-5 { + margin-bottom: 3rem !important; + } + .mb-sm-auto { + margin-bottom: auto !important; + } + .ms-sm-0 { + margin-left: 0 !important; + } + .ms-sm-1 { + margin-left: 0.25rem !important; + } + .ms-sm-2 { + margin-left: 0.5rem !important; + } + .ms-sm-3 { + margin-left: 1rem !important; + } + .ms-sm-4 { + margin-left: 1.5rem !important; + } + .ms-sm-5 { + margin-left: 3rem !important; + } + .ms-sm-auto { + margin-left: auto !important; + } + .p-sm-0 { + padding: 0 !important; + } + .p-sm-1 { + padding: 0.25rem !important; + } + .p-sm-2 { + padding: 0.5rem !important; + } + .p-sm-3 { + padding: 1rem !important; + } + .p-sm-4 { + padding: 1.5rem !important; + } + .p-sm-5 { + padding: 3rem !important; + } + .px-sm-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-sm-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-sm-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-sm-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-sm-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-sm-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-sm-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-sm-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-sm-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-sm-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-sm-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-sm-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-sm-0 { + padding-top: 0 !important; + } + .pt-sm-1 { + padding-top: 0.25rem !important; + } + .pt-sm-2 { + padding-top: 0.5rem !important; + } + .pt-sm-3 { + padding-top: 1rem !important; + } + .pt-sm-4 { + padding-top: 1.5rem !important; + } + .pt-sm-5 { + padding-top: 3rem !important; + } + .pe-sm-0 { + padding-right: 0 !important; + } + .pe-sm-1 { + padding-right: 0.25rem !important; + } + .pe-sm-2 { + padding-right: 0.5rem !important; + } + .pe-sm-3 { + padding-right: 1rem !important; + } + .pe-sm-4 { + padding-right: 1.5rem !important; + } + .pe-sm-5 { + padding-right: 3rem !important; + } + .pb-sm-0 { + padding-bottom: 0 !important; + } + .pb-sm-1 { + padding-bottom: 0.25rem !important; + } + .pb-sm-2 { + padding-bottom: 0.5rem !important; + } + .pb-sm-3 { + padding-bottom: 1rem !important; + } + .pb-sm-4 { + padding-bottom: 1.5rem !important; + } + .pb-sm-5 { + padding-bottom: 3rem !important; + } + .ps-sm-0 { + padding-left: 0 !important; + } + .ps-sm-1 { + padding-left: 0.25rem !important; + } + .ps-sm-2 { + padding-left: 0.5rem !important; + } + .ps-sm-3 { + padding-left: 1rem !important; + } + .ps-sm-4 { + padding-left: 1.5rem !important; + } + .ps-sm-5 { + padding-left: 3rem !important; + } +} +@media (min-width: 768px) { + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-block { + display: block !important; + } + .d-md-grid { + display: grid !important; + } + .d-md-inline-grid { + display: inline-grid !important; + } + .d-md-table { + display: table !important; + } + .d-md-table-row { + display: table-row !important; + } + .d-md-table-cell { + display: table-cell !important; + } + .d-md-flex { + display: flex !important; + } + .d-md-inline-flex { + display: inline-flex !important; + } + .d-md-none { + display: none !important; + } + .flex-md-fill { + flex: 1 1 auto !important; + } + .flex-md-row { + flex-direction: row !important; + } + .flex-md-column { + flex-direction: column !important; + } + .flex-md-row-reverse { + flex-direction: row-reverse !important; + } + .flex-md-column-reverse { + flex-direction: column-reverse !important; + } + .flex-md-grow-0 { + flex-grow: 0 !important; + } + .flex-md-grow-1 { + flex-grow: 1 !important; + } + .flex-md-shrink-0 { + flex-shrink: 0 !important; + } + .flex-md-shrink-1 { + flex-shrink: 1 !important; + } + .flex-md-wrap { + flex-wrap: wrap !important; + } + .flex-md-nowrap { + flex-wrap: nowrap !important; + } + .flex-md-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-md-start { + justify-content: flex-start !important; + } + .justify-content-md-end { + justify-content: flex-end !important; + } + .justify-content-md-center { + justify-content: center !important; + } + .justify-content-md-between { + justify-content: space-between !important; + } + .justify-content-md-around { + justify-content: space-around !important; + } + .justify-content-md-evenly { + justify-content: space-evenly !important; + } + .align-items-md-start { + align-items: flex-start !important; + } + .align-items-md-end { + align-items: flex-end !important; + } + .align-items-md-center { + align-items: center !important; + } + .align-items-md-baseline { + align-items: baseline !important; + } + .align-items-md-stretch { + align-items: stretch !important; + } + .align-content-md-start { + align-content: flex-start !important; + } + .align-content-md-end { + align-content: flex-end !important; + } + .align-content-md-center { + align-content: center !important; + } + .align-content-md-between { + align-content: space-between !important; + } + .align-content-md-around { + align-content: space-around !important; + } + .align-content-md-stretch { + align-content: stretch !important; + } + .align-self-md-auto { + align-self: auto !important; + } + .align-self-md-start { + align-self: flex-start !important; + } + .align-self-md-end { + align-self: flex-end !important; + } + .align-self-md-center { + align-self: center !important; + } + .align-self-md-baseline { + align-self: baseline !important; + } + .align-self-md-stretch { + align-self: stretch !important; + } + .order-md-first { + order: -1 !important; + } + .order-md-0 { + order: 0 !important; + } + .order-md-1 { + order: 1 !important; + } + .order-md-2 { + order: 2 !important; + } + .order-md-3 { + order: 3 !important; + } + .order-md-4 { + order: 4 !important; + } + .order-md-5 { + order: 5 !important; + } + .order-md-last { + order: 6 !important; + } + .m-md-0 { + margin: 0 !important; + } + .m-md-1 { + margin: 0.25rem !important; + } + .m-md-2 { + margin: 0.5rem !important; + } + .m-md-3 { + margin: 1rem !important; + } + .m-md-4 { + margin: 1.5rem !important; + } + .m-md-5 { + margin: 3rem !important; + } + .m-md-auto { + margin: auto !important; + } + .mx-md-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-md-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-md-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-md-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-md-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-md-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-md-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-md-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-md-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-md-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-md-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-md-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-md-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-md-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-md-0 { + margin-top: 0 !important; + } + .mt-md-1 { + margin-top: 0.25rem !important; + } + .mt-md-2 { + margin-top: 0.5rem !important; + } + .mt-md-3 { + margin-top: 1rem !important; + } + .mt-md-4 { + margin-top: 1.5rem !important; + } + .mt-md-5 { + margin-top: 3rem !important; + } + .mt-md-auto { + margin-top: auto !important; + } + .me-md-0 { + margin-right: 0 !important; + } + .me-md-1 { + margin-right: 0.25rem !important; + } + .me-md-2 { + margin-right: 0.5rem !important; + } + .me-md-3 { + margin-right: 1rem !important; + } + .me-md-4 { + margin-right: 1.5rem !important; + } + .me-md-5 { + margin-right: 3rem !important; + } + .me-md-auto { + margin-right: auto !important; + } + .mb-md-0 { + margin-bottom: 0 !important; + } + .mb-md-1 { + margin-bottom: 0.25rem !important; + } + .mb-md-2 { + margin-bottom: 0.5rem !important; + } + .mb-md-3 { + margin-bottom: 1rem !important; + } + .mb-md-4 { + margin-bottom: 1.5rem !important; + } + .mb-md-5 { + margin-bottom: 3rem !important; + } + .mb-md-auto { + margin-bottom: auto !important; + } + .ms-md-0 { + margin-left: 0 !important; + } + .ms-md-1 { + margin-left: 0.25rem !important; + } + .ms-md-2 { + margin-left: 0.5rem !important; + } + .ms-md-3 { + margin-left: 1rem !important; + } + .ms-md-4 { + margin-left: 1.5rem !important; + } + .ms-md-5 { + margin-left: 3rem !important; + } + .ms-md-auto { + margin-left: auto !important; + } + .p-md-0 { + padding: 0 !important; + } + .p-md-1 { + padding: 0.25rem !important; + } + .p-md-2 { + padding: 0.5rem !important; + } + .p-md-3 { + padding: 1rem !important; + } + .p-md-4 { + padding: 1.5rem !important; + } + .p-md-5 { + padding: 3rem !important; + } + .px-md-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-md-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-md-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-md-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-md-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-md-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-md-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-md-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-md-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-md-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-md-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-md-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-md-0 { + padding-top: 0 !important; + } + .pt-md-1 { + padding-top: 0.25rem !important; + } + .pt-md-2 { + padding-top: 0.5rem !important; + } + .pt-md-3 { + padding-top: 1rem !important; + } + .pt-md-4 { + padding-top: 1.5rem !important; + } + .pt-md-5 { + padding-top: 3rem !important; + } + .pe-md-0 { + padding-right: 0 !important; + } + .pe-md-1 { + padding-right: 0.25rem !important; + } + .pe-md-2 { + padding-right: 0.5rem !important; + } + .pe-md-3 { + padding-right: 1rem !important; + } + .pe-md-4 { + padding-right: 1.5rem !important; + } + .pe-md-5 { + padding-right: 3rem !important; + } + .pb-md-0 { + padding-bottom: 0 !important; + } + .pb-md-1 { + padding-bottom: 0.25rem !important; + } + .pb-md-2 { + padding-bottom: 0.5rem !important; + } + .pb-md-3 { + padding-bottom: 1rem !important; + } + .pb-md-4 { + padding-bottom: 1.5rem !important; + } + .pb-md-5 { + padding-bottom: 3rem !important; + } + .ps-md-0 { + padding-left: 0 !important; + } + .ps-md-1 { + padding-left: 0.25rem !important; + } + .ps-md-2 { + padding-left: 0.5rem !important; + } + .ps-md-3 { + padding-left: 1rem !important; + } + .ps-md-4 { + padding-left: 1.5rem !important; + } + .ps-md-5 { + padding-left: 3rem !important; + } +} +@media (min-width: 992px) { + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-block { + display: block !important; + } + .d-lg-grid { + display: grid !important; + } + .d-lg-inline-grid { + display: inline-grid !important; + } + .d-lg-table { + display: table !important; + } + .d-lg-table-row { + display: table-row !important; + } + .d-lg-table-cell { + display: table-cell !important; + } + .d-lg-flex { + display: flex !important; + } + .d-lg-inline-flex { + display: inline-flex !important; + } + .d-lg-none { + display: none !important; + } + .flex-lg-fill { + flex: 1 1 auto !important; + } + .flex-lg-row { + flex-direction: row !important; + } + .flex-lg-column { + flex-direction: column !important; + } + .flex-lg-row-reverse { + flex-direction: row-reverse !important; + } + .flex-lg-column-reverse { + flex-direction: column-reverse !important; + } + .flex-lg-grow-0 { + flex-grow: 0 !important; + } + .flex-lg-grow-1 { + flex-grow: 1 !important; + } + .flex-lg-shrink-0 { + flex-shrink: 0 !important; + } + .flex-lg-shrink-1 { + flex-shrink: 1 !important; + } + .flex-lg-wrap { + flex-wrap: wrap !important; + } + .flex-lg-nowrap { + flex-wrap: nowrap !important; + } + .flex-lg-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-lg-start { + justify-content: flex-start !important; + } + .justify-content-lg-end { + justify-content: flex-end !important; + } + .justify-content-lg-center { + justify-content: center !important; + } + .justify-content-lg-between { + justify-content: space-between !important; + } + .justify-content-lg-around { + justify-content: space-around !important; + } + .justify-content-lg-evenly { + justify-content: space-evenly !important; + } + .align-items-lg-start { + align-items: flex-start !important; + } + .align-items-lg-end { + align-items: flex-end !important; + } + .align-items-lg-center { + align-items: center !important; + } + .align-items-lg-baseline { + align-items: baseline !important; + } + .align-items-lg-stretch { + align-items: stretch !important; + } + .align-content-lg-start { + align-content: flex-start !important; + } + .align-content-lg-end { + align-content: flex-end !important; + } + .align-content-lg-center { + align-content: center !important; + } + .align-content-lg-between { + align-content: space-between !important; + } + .align-content-lg-around { + align-content: space-around !important; + } + .align-content-lg-stretch { + align-content: stretch !important; + } + .align-self-lg-auto { + align-self: auto !important; + } + .align-self-lg-start { + align-self: flex-start !important; + } + .align-self-lg-end { + align-self: flex-end !important; + } + .align-self-lg-center { + align-self: center !important; + } + .align-self-lg-baseline { + align-self: baseline !important; + } + .align-self-lg-stretch { + align-self: stretch !important; + } + .order-lg-first { + order: -1 !important; + } + .order-lg-0 { + order: 0 !important; + } + .order-lg-1 { + order: 1 !important; + } + .order-lg-2 { + order: 2 !important; + } + .order-lg-3 { + order: 3 !important; + } + .order-lg-4 { + order: 4 !important; + } + .order-lg-5 { + order: 5 !important; + } + .order-lg-last { + order: 6 !important; + } + .m-lg-0 { + margin: 0 !important; + } + .m-lg-1 { + margin: 0.25rem !important; + } + .m-lg-2 { + margin: 0.5rem !important; + } + .m-lg-3 { + margin: 1rem !important; + } + .m-lg-4 { + margin: 1.5rem !important; + } + .m-lg-5 { + margin: 3rem !important; + } + .m-lg-auto { + margin: auto !important; + } + .mx-lg-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-lg-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-lg-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-lg-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-lg-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-lg-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-lg-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-lg-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-lg-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-lg-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-lg-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-lg-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-lg-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-lg-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-lg-0 { + margin-top: 0 !important; + } + .mt-lg-1 { + margin-top: 0.25rem !important; + } + .mt-lg-2 { + margin-top: 0.5rem !important; + } + .mt-lg-3 { + margin-top: 1rem !important; + } + .mt-lg-4 { + margin-top: 1.5rem !important; + } + .mt-lg-5 { + margin-top: 3rem !important; + } + .mt-lg-auto { + margin-top: auto !important; + } + .me-lg-0 { + margin-right: 0 !important; + } + .me-lg-1 { + margin-right: 0.25rem !important; + } + .me-lg-2 { + margin-right: 0.5rem !important; + } + .me-lg-3 { + margin-right: 1rem !important; + } + .me-lg-4 { + margin-right: 1.5rem !important; + } + .me-lg-5 { + margin-right: 3rem !important; + } + .me-lg-auto { + margin-right: auto !important; + } + .mb-lg-0 { + margin-bottom: 0 !important; + } + .mb-lg-1 { + margin-bottom: 0.25rem !important; + } + .mb-lg-2 { + margin-bottom: 0.5rem !important; + } + .mb-lg-3 { + margin-bottom: 1rem !important; + } + .mb-lg-4 { + margin-bottom: 1.5rem !important; + } + .mb-lg-5 { + margin-bottom: 3rem !important; + } + .mb-lg-auto { + margin-bottom: auto !important; + } + .ms-lg-0 { + margin-left: 0 !important; + } + .ms-lg-1 { + margin-left: 0.25rem !important; + } + .ms-lg-2 { + margin-left: 0.5rem !important; + } + .ms-lg-3 { + margin-left: 1rem !important; + } + .ms-lg-4 { + margin-left: 1.5rem !important; + } + .ms-lg-5 { + margin-left: 3rem !important; + } + .ms-lg-auto { + margin-left: auto !important; + } + .p-lg-0 { + padding: 0 !important; + } + .p-lg-1 { + padding: 0.25rem !important; + } + .p-lg-2 { + padding: 0.5rem !important; + } + .p-lg-3 { + padding: 1rem !important; + } + .p-lg-4 { + padding: 1.5rem !important; + } + .p-lg-5 { + padding: 3rem !important; + } + .px-lg-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-lg-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-lg-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-lg-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-lg-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-lg-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-lg-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-lg-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-lg-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-lg-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-lg-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-lg-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-lg-0 { + padding-top: 0 !important; + } + .pt-lg-1 { + padding-top: 0.25rem !important; + } + .pt-lg-2 { + padding-top: 0.5rem !important; + } + .pt-lg-3 { + padding-top: 1rem !important; + } + .pt-lg-4 { + padding-top: 1.5rem !important; + } + .pt-lg-5 { + padding-top: 3rem !important; + } + .pe-lg-0 { + padding-right: 0 !important; + } + .pe-lg-1 { + padding-right: 0.25rem !important; + } + .pe-lg-2 { + padding-right: 0.5rem !important; + } + .pe-lg-3 { + padding-right: 1rem !important; + } + .pe-lg-4 { + padding-right: 1.5rem !important; + } + .pe-lg-5 { + padding-right: 3rem !important; + } + .pb-lg-0 { + padding-bottom: 0 !important; + } + .pb-lg-1 { + padding-bottom: 0.25rem !important; + } + .pb-lg-2 { + padding-bottom: 0.5rem !important; + } + .pb-lg-3 { + padding-bottom: 1rem !important; + } + .pb-lg-4 { + padding-bottom: 1.5rem !important; + } + .pb-lg-5 { + padding-bottom: 3rem !important; + } + .ps-lg-0 { + padding-left: 0 !important; + } + .ps-lg-1 { + padding-left: 0.25rem !important; + } + .ps-lg-2 { + padding-left: 0.5rem !important; + } + .ps-lg-3 { + padding-left: 1rem !important; + } + .ps-lg-4 { + padding-left: 1.5rem !important; + } + .ps-lg-5 { + padding-left: 3rem !important; + } +} +@media (min-width: 1200px) { + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-block { + display: block !important; + } + .d-xl-grid { + display: grid !important; + } + .d-xl-inline-grid { + display: inline-grid !important; + } + .d-xl-table { + display: table !important; + } + .d-xl-table-row { + display: table-row !important; + } + .d-xl-table-cell { + display: table-cell !important; + } + .d-xl-flex { + display: flex !important; + } + .d-xl-inline-flex { + display: inline-flex !important; + } + .d-xl-none { + display: none !important; + } + .flex-xl-fill { + flex: 1 1 auto !important; + } + .flex-xl-row { + flex-direction: row !important; + } + .flex-xl-column { + flex-direction: column !important; + } + .flex-xl-row-reverse { + flex-direction: row-reverse !important; + } + .flex-xl-column-reverse { + flex-direction: column-reverse !important; + } + .flex-xl-grow-0 { + flex-grow: 0 !important; + } + .flex-xl-grow-1 { + flex-grow: 1 !important; + } + .flex-xl-shrink-0 { + flex-shrink: 0 !important; + } + .flex-xl-shrink-1 { + flex-shrink: 1 !important; + } + .flex-xl-wrap { + flex-wrap: wrap !important; + } + .flex-xl-nowrap { + flex-wrap: nowrap !important; + } + .flex-xl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-xl-start { + justify-content: flex-start !important; + } + .justify-content-xl-end { + justify-content: flex-end !important; + } + .justify-content-xl-center { + justify-content: center !important; + } + .justify-content-xl-between { + justify-content: space-between !important; + } + .justify-content-xl-around { + justify-content: space-around !important; + } + .justify-content-xl-evenly { + justify-content: space-evenly !important; + } + .align-items-xl-start { + align-items: flex-start !important; + } + .align-items-xl-end { + align-items: flex-end !important; + } + .align-items-xl-center { + align-items: center !important; + } + .align-items-xl-baseline { + align-items: baseline !important; + } + .align-items-xl-stretch { + align-items: stretch !important; + } + .align-content-xl-start { + align-content: flex-start !important; + } + .align-content-xl-end { + align-content: flex-end !important; + } + .align-content-xl-center { + align-content: center !important; + } + .align-content-xl-between { + align-content: space-between !important; + } + .align-content-xl-around { + align-content: space-around !important; + } + .align-content-xl-stretch { + align-content: stretch !important; + } + .align-self-xl-auto { + align-self: auto !important; + } + .align-self-xl-start { + align-self: flex-start !important; + } + .align-self-xl-end { + align-self: flex-end !important; + } + .align-self-xl-center { + align-self: center !important; + } + .align-self-xl-baseline { + align-self: baseline !important; + } + .align-self-xl-stretch { + align-self: stretch !important; + } + .order-xl-first { + order: -1 !important; + } + .order-xl-0 { + order: 0 !important; + } + .order-xl-1 { + order: 1 !important; + } + .order-xl-2 { + order: 2 !important; + } + .order-xl-3 { + order: 3 !important; + } + .order-xl-4 { + order: 4 !important; + } + .order-xl-5 { + order: 5 !important; + } + .order-xl-last { + order: 6 !important; + } + .m-xl-0 { + margin: 0 !important; + } + .m-xl-1 { + margin: 0.25rem !important; + } + .m-xl-2 { + margin: 0.5rem !important; + } + .m-xl-3 { + margin: 1rem !important; + } + .m-xl-4 { + margin: 1.5rem !important; + } + .m-xl-5 { + margin: 3rem !important; + } + .m-xl-auto { + margin: auto !important; + } + .mx-xl-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-xl-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-xl-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-xl-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-xl-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-xl-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-xl-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-xl-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-xl-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-xl-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-xl-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-xl-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-xl-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-xl-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-xl-0 { + margin-top: 0 !important; + } + .mt-xl-1 { + margin-top: 0.25rem !important; + } + .mt-xl-2 { + margin-top: 0.5rem !important; + } + .mt-xl-3 { + margin-top: 1rem !important; + } + .mt-xl-4 { + margin-top: 1.5rem !important; + } + .mt-xl-5 { + margin-top: 3rem !important; + } + .mt-xl-auto { + margin-top: auto !important; + } + .me-xl-0 { + margin-right: 0 !important; + } + .me-xl-1 { + margin-right: 0.25rem !important; + } + .me-xl-2 { + margin-right: 0.5rem !important; + } + .me-xl-3 { + margin-right: 1rem !important; + } + .me-xl-4 { + margin-right: 1.5rem !important; + } + .me-xl-5 { + margin-right: 3rem !important; + } + .me-xl-auto { + margin-right: auto !important; + } + .mb-xl-0 { + margin-bottom: 0 !important; + } + .mb-xl-1 { + margin-bottom: 0.25rem !important; + } + .mb-xl-2 { + margin-bottom: 0.5rem !important; + } + .mb-xl-3 { + margin-bottom: 1rem !important; + } + .mb-xl-4 { + margin-bottom: 1.5rem !important; + } + .mb-xl-5 { + margin-bottom: 3rem !important; + } + .mb-xl-auto { + margin-bottom: auto !important; + } + .ms-xl-0 { + margin-left: 0 !important; + } + .ms-xl-1 { + margin-left: 0.25rem !important; + } + .ms-xl-2 { + margin-left: 0.5rem !important; + } + .ms-xl-3 { + margin-left: 1rem !important; + } + .ms-xl-4 { + margin-left: 1.5rem !important; + } + .ms-xl-5 { + margin-left: 3rem !important; + } + .ms-xl-auto { + margin-left: auto !important; + } + .p-xl-0 { + padding: 0 !important; + } + .p-xl-1 { + padding: 0.25rem !important; + } + .p-xl-2 { + padding: 0.5rem !important; + } + .p-xl-3 { + padding: 1rem !important; + } + .p-xl-4 { + padding: 1.5rem !important; + } + .p-xl-5 { + padding: 3rem !important; + } + .px-xl-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-xl-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-xl-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-xl-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-xl-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-xl-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-xl-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-xl-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-xl-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-xl-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-xl-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-xl-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-xl-0 { + padding-top: 0 !important; + } + .pt-xl-1 { + padding-top: 0.25rem !important; + } + .pt-xl-2 { + padding-top: 0.5rem !important; + } + .pt-xl-3 { + padding-top: 1rem !important; + } + .pt-xl-4 { + padding-top: 1.5rem !important; + } + .pt-xl-5 { + padding-top: 3rem !important; + } + .pe-xl-0 { + padding-right: 0 !important; + } + .pe-xl-1 { + padding-right: 0.25rem !important; + } + .pe-xl-2 { + padding-right: 0.5rem !important; + } + .pe-xl-3 { + padding-right: 1rem !important; + } + .pe-xl-4 { + padding-right: 1.5rem !important; + } + .pe-xl-5 { + padding-right: 3rem !important; + } + .pb-xl-0 { + padding-bottom: 0 !important; + } + .pb-xl-1 { + padding-bottom: 0.25rem !important; + } + .pb-xl-2 { + padding-bottom: 0.5rem !important; + } + .pb-xl-3 { + padding-bottom: 1rem !important; + } + .pb-xl-4 { + padding-bottom: 1.5rem !important; + } + .pb-xl-5 { + padding-bottom: 3rem !important; + } + .ps-xl-0 { + padding-left: 0 !important; + } + .ps-xl-1 { + padding-left: 0.25rem !important; + } + .ps-xl-2 { + padding-left: 0.5rem !important; + } + .ps-xl-3 { + padding-left: 1rem !important; + } + .ps-xl-4 { + padding-left: 1.5rem !important; + } + .ps-xl-5 { + padding-left: 3rem !important; + } +} +@media (min-width: 1400px) { + .d-xxl-inline { + display: inline !important; + } + .d-xxl-inline-block { + display: inline-block !important; + } + .d-xxl-block { + display: block !important; + } + .d-xxl-grid { + display: grid !important; + } + .d-xxl-inline-grid { + display: inline-grid !important; + } + .d-xxl-table { + display: table !important; + } + .d-xxl-table-row { + display: table-row !important; + } + .d-xxl-table-cell { + display: table-cell !important; + } + .d-xxl-flex { + display: flex !important; + } + .d-xxl-inline-flex { + display: inline-flex !important; + } + .d-xxl-none { + display: none !important; + } + .flex-xxl-fill { + flex: 1 1 auto !important; + } + .flex-xxl-row { + flex-direction: row !important; + } + .flex-xxl-column { + flex-direction: column !important; + } + .flex-xxl-row-reverse { + flex-direction: row-reverse !important; + } + .flex-xxl-column-reverse { + flex-direction: column-reverse !important; + } + .flex-xxl-grow-0 { + flex-grow: 0 !important; + } + .flex-xxl-grow-1 { + flex-grow: 1 !important; + } + .flex-xxl-shrink-0 { + flex-shrink: 0 !important; + } + .flex-xxl-shrink-1 { + flex-shrink: 1 !important; + } + .flex-xxl-wrap { + flex-wrap: wrap !important; + } + .flex-xxl-nowrap { + flex-wrap: nowrap !important; + } + .flex-xxl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-xxl-start { + justify-content: flex-start !important; + } + .justify-content-xxl-end { + justify-content: flex-end !important; + } + .justify-content-xxl-center { + justify-content: center !important; + } + .justify-content-xxl-between { + justify-content: space-between !important; + } + .justify-content-xxl-around { + justify-content: space-around !important; + } + .justify-content-xxl-evenly { + justify-content: space-evenly !important; + } + .align-items-xxl-start { + align-items: flex-start !important; + } + .align-items-xxl-end { + align-items: flex-end !important; + } + .align-items-xxl-center { + align-items: center !important; + } + .align-items-xxl-baseline { + align-items: baseline !important; + } + .align-items-xxl-stretch { + align-items: stretch !important; + } + .align-content-xxl-start { + align-content: flex-start !important; + } + .align-content-xxl-end { + align-content: flex-end !important; + } + .align-content-xxl-center { + align-content: center !important; + } + .align-content-xxl-between { + align-content: space-between !important; + } + .align-content-xxl-around { + align-content: space-around !important; + } + .align-content-xxl-stretch { + align-content: stretch !important; + } + .align-self-xxl-auto { + align-self: auto !important; + } + .align-self-xxl-start { + align-self: flex-start !important; + } + .align-self-xxl-end { + align-self: flex-end !important; + } + .align-self-xxl-center { + align-self: center !important; + } + .align-self-xxl-baseline { + align-self: baseline !important; + } + .align-self-xxl-stretch { + align-self: stretch !important; + } + .order-xxl-first { + order: -1 !important; + } + .order-xxl-0 { + order: 0 !important; + } + .order-xxl-1 { + order: 1 !important; + } + .order-xxl-2 { + order: 2 !important; + } + .order-xxl-3 { + order: 3 !important; + } + .order-xxl-4 { + order: 4 !important; + } + .order-xxl-5 { + order: 5 !important; + } + .order-xxl-last { + order: 6 !important; + } + .m-xxl-0 { + margin: 0 !important; + } + .m-xxl-1 { + margin: 0.25rem !important; + } + .m-xxl-2 { + margin: 0.5rem !important; + } + .m-xxl-3 { + margin: 1rem !important; + } + .m-xxl-4 { + margin: 1.5rem !important; + } + .m-xxl-5 { + margin: 3rem !important; + } + .m-xxl-auto { + margin: auto !important; + } + .mx-xxl-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-xxl-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-xxl-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-xxl-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-xxl-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-xxl-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-xxl-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-xxl-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-xxl-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-xxl-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-xxl-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-xxl-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-xxl-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-xxl-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-xxl-0 { + margin-top: 0 !important; + } + .mt-xxl-1 { + margin-top: 0.25rem !important; + } + .mt-xxl-2 { + margin-top: 0.5rem !important; + } + .mt-xxl-3 { + margin-top: 1rem !important; + } + .mt-xxl-4 { + margin-top: 1.5rem !important; + } + .mt-xxl-5 { + margin-top: 3rem !important; + } + .mt-xxl-auto { + margin-top: auto !important; + } + .me-xxl-0 { + margin-right: 0 !important; + } + .me-xxl-1 { + margin-right: 0.25rem !important; + } + .me-xxl-2 { + margin-right: 0.5rem !important; + } + .me-xxl-3 { + margin-right: 1rem !important; + } + .me-xxl-4 { + margin-right: 1.5rem !important; + } + .me-xxl-5 { + margin-right: 3rem !important; + } + .me-xxl-auto { + margin-right: auto !important; + } + .mb-xxl-0 { + margin-bottom: 0 !important; + } + .mb-xxl-1 { + margin-bottom: 0.25rem !important; + } + .mb-xxl-2 { + margin-bottom: 0.5rem !important; + } + .mb-xxl-3 { + margin-bottom: 1rem !important; + } + .mb-xxl-4 { + margin-bottom: 1.5rem !important; + } + .mb-xxl-5 { + margin-bottom: 3rem !important; + } + .mb-xxl-auto { + margin-bottom: auto !important; + } + .ms-xxl-0 { + margin-left: 0 !important; + } + .ms-xxl-1 { + margin-left: 0.25rem !important; + } + .ms-xxl-2 { + margin-left: 0.5rem !important; + } + .ms-xxl-3 { + margin-left: 1rem !important; + } + .ms-xxl-4 { + margin-left: 1.5rem !important; + } + .ms-xxl-5 { + margin-left: 3rem !important; + } + .ms-xxl-auto { + margin-left: auto !important; + } + .p-xxl-0 { + padding: 0 !important; + } + .p-xxl-1 { + padding: 0.25rem !important; + } + .p-xxl-2 { + padding: 0.5rem !important; + } + .p-xxl-3 { + padding: 1rem !important; + } + .p-xxl-4 { + padding: 1.5rem !important; + } + .p-xxl-5 { + padding: 3rem !important; + } + .px-xxl-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-xxl-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-xxl-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-xxl-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-xxl-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-xxl-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-xxl-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-xxl-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-xxl-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-xxl-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-xxl-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-xxl-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-xxl-0 { + padding-top: 0 !important; + } + .pt-xxl-1 { + padding-top: 0.25rem !important; + } + .pt-xxl-2 { + padding-top: 0.5rem !important; + } + .pt-xxl-3 { + padding-top: 1rem !important; + } + .pt-xxl-4 { + padding-top: 1.5rem !important; + } + .pt-xxl-5 { + padding-top: 3rem !important; + } + .pe-xxl-0 { + padding-right: 0 !important; + } + .pe-xxl-1 { + padding-right: 0.25rem !important; + } + .pe-xxl-2 { + padding-right: 0.5rem !important; + } + .pe-xxl-3 { + padding-right: 1rem !important; + } + .pe-xxl-4 { + padding-right: 1.5rem !important; + } + .pe-xxl-5 { + padding-right: 3rem !important; + } + .pb-xxl-0 { + padding-bottom: 0 !important; + } + .pb-xxl-1 { + padding-bottom: 0.25rem !important; + } + .pb-xxl-2 { + padding-bottom: 0.5rem !important; + } + .pb-xxl-3 { + padding-bottom: 1rem !important; + } + .pb-xxl-4 { + padding-bottom: 1.5rem !important; + } + .pb-xxl-5 { + padding-bottom: 3rem !important; + } + .ps-xxl-0 { + padding-left: 0 !important; + } + .ps-xxl-1 { + padding-left: 0.25rem !important; + } + .ps-xxl-2 { + padding-left: 0.5rem !important; + } + .ps-xxl-3 { + padding-left: 1rem !important; + } + .ps-xxl-4 { + padding-left: 1.5rem !important; + } + .ps-xxl-5 { + padding-left: 3rem !important; + } +} +@media print { + .d-print-inline { + display: inline !important; + } + .d-print-inline-block { + display: inline-block !important; + } + .d-print-block { + display: block !important; + } + .d-print-grid { + display: grid !important; + } + .d-print-inline-grid { + display: inline-grid !important; + } + .d-print-table { + display: table !important; + } + .d-print-table-row { + display: table-row !important; + } + .d-print-table-cell { + display: table-cell !important; + } + .d-print-flex { + display: flex !important; + } + .d-print-inline-flex { + display: inline-flex !important; + } + .d-print-none { + display: none !important; + } +} + +/*# sourceMappingURL=bootstrap-grid.css.map */ \ No newline at end of file diff --git a/wwws/cdn/apxweb/bootstrap/css/bootstrap-grid.css.map b/wwws/cdn/apxweb/bootstrap/css/bootstrap-grid.css.map new file mode 100644 index 0000000..76a689a --- /dev/null +++ b/wwws/cdn/apxweb/bootstrap/css/bootstrap-grid.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/mixins/_banner.scss","../../scss/_containers.scss","../../scss/mixins/_container.scss","bootstrap-grid.css","../../scss/mixins/_breakpoints.scss","../../scss/_variables.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_utilities.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"AACE;;;;EAAA;ACKA;;;;;;;ECHA,qBAAA;EACA,gBAAA;EACA,WAAA;EACA,6CAAA;EACA,4CAAA;EACA,kBAAA;EACA,iBAAA;ACUF;;AC4CI;EH5CE;IACE,gBIkee;EF9drB;AACF;ACsCI;EH5CE;IACE,gBIkee;EFzdrB;AACF;ACiCI;EH5CE;IACE,gBIkee;EFpdrB;AACF;AC4BI;EH5CE;IACE,iBIkee;EF/crB;AACF;ACuBI;EH5CE;IACE,iBIkee;EF1crB;AACF;AGzCA;EAEI,qBAAA;EAAA,yBAAA;EAAA,yBAAA;EAAA,yBAAA;EAAA,0BAAA;EAAA,2BAAA;AH+CJ;;AG1CE;ECNA,qBAAA;EACA,gBAAA;EACA,aAAA;EACA,eAAA;EAEA,yCAAA;EACA,6CAAA;EACA,4CAAA;AJmDF;AGjDI;ECGF,sBAAA;EAIA,cAAA;EACA,WAAA;EACA,eAAA;EACA,6CAAA;EACA,4CAAA;EACA,8BAAA;AJ8CF;;AICM;EACE,YAAA;AJER;;AICM;EApCJ,cAAA;EACA,WAAA;AJuCF;;AIzBE;EACE,cAAA;EACA,WAAA;AJ4BJ;;AI9BE;EACE,cAAA;EACA,UAAA;AJiCJ;;AInCE;EACE,cAAA;EACA,mBAAA;AJsCJ;;AIxCE;EACE,cAAA;EACA,UAAA;AJ2CJ;;AI7CE;EACE,cAAA;EACA,UAAA;AJgDJ;;AIlDE;EACE,cAAA;EACA,mBAAA;AJqDJ;;AItBM;EAhDJ,cAAA;EACA,WAAA;AJ0EF;;AIrBU;EAhEN,cAAA;EACA,kBAAA;AJyFJ;;AI1BU;EAhEN,cAAA;EACA,mBAAA;AJ8FJ;;AI/BU;EAhEN,cAAA;EACA,UAAA;AJmGJ;;AIpCU;EAhEN,cAAA;EACA,mBAAA;AJwGJ;;AIzCU;EAhEN,cAAA;EACA,mBAAA;AJ6GJ;;AI9CU;EAhEN,cAAA;EACA,UAAA;AJkHJ;;AInDU;EAhEN,cAAA;EACA,mBAAA;AJuHJ;;AIxDU;EAhEN,cAAA;EACA,mBAAA;AJ4HJ;;AI7DU;EAhEN,cAAA;EACA,UAAA;AJiIJ;;AIlEU;EAhEN,cAAA;EACA,mBAAA;AJsIJ;;AIvEU;EAhEN,cAAA;EACA,mBAAA;AJ2IJ;;AI5EU;EAhEN,cAAA;EACA,WAAA;AJgJJ;;AIzEY;EAxDV,wBAAA;AJqIF;;AI7EY;EAxDV,yBAAA;AJyIF;;AIjFY;EAxDV,gBAAA;AJ6IF;;AIrFY;EAxDV,yBAAA;AJiJF;;AIzFY;EAxDV,yBAAA;AJqJF;;AI7FY;EAxDV,gBAAA;AJyJF;;AIjGY;EAxDV,yBAAA;AJ6JF;;AIrGY;EAxDV,yBAAA;AJiKF;;AIzGY;EAxDV,gBAAA;AJqKF;;AI7GY;EAxDV,yBAAA;AJyKF;;AIjHY;EAxDV,yBAAA;AJ6KF;;AI1GQ;;EAEE,gBAAA;AJ6GV;;AI1GQ;;EAEE,gBAAA;AJ6GV;;AIpHQ;;EAEE,sBAAA;AJuHV;;AIpHQ;;EAEE,sBAAA;AJuHV;;AI9HQ;;EAEE,qBAAA;AJiIV;;AI9HQ;;EAEE,qBAAA;AJiIV;;AIxIQ;;EAEE,mBAAA;AJ2IV;;AIxIQ;;EAEE,mBAAA;AJ2IV;;AIlJQ;;EAEE,qBAAA;AJqJV;;AIlJQ;;EAEE,qBAAA;AJqJV;;AI5JQ;;EAEE,mBAAA;AJ+JV;;AI5JQ;;EAEE,mBAAA;AJ+JV;;ACzNI;EGUE;IACE,YAAA;EJmNN;EIhNI;IApCJ,cAAA;IACA,WAAA;EJuPA;EIzOA;IACE,cAAA;IACA,WAAA;EJ2OF;EI7OA;IACE,cAAA;IACA,UAAA;EJ+OF;EIjPA;IACE,cAAA;IACA,mBAAA;EJmPF;EIrPA;IACE,cAAA;IACA,UAAA;EJuPF;EIzPA;IACE,cAAA;IACA,UAAA;EJ2PF;EI7PA;IACE,cAAA;IACA,mBAAA;EJ+PF;EIhOI;IAhDJ,cAAA;IACA,WAAA;EJmRA;EI9NQ;IAhEN,cAAA;IACA,kBAAA;EJiSF;EIlOQ;IAhEN,cAAA;IACA,mBAAA;EJqSF;EItOQ;IAhEN,cAAA;IACA,UAAA;EJySF;EI1OQ;IAhEN,cAAA;IACA,mBAAA;EJ6SF;EI9OQ;IAhEN,cAAA;IACA,mBAAA;EJiTF;EIlPQ;IAhEN,cAAA;IACA,UAAA;EJqTF;EItPQ;IAhEN,cAAA;IACA,mBAAA;EJyTF;EI1PQ;IAhEN,cAAA;IACA,mBAAA;EJ6TF;EI9PQ;IAhEN,cAAA;IACA,UAAA;EJiUF;EIlQQ;IAhEN,cAAA;IACA,mBAAA;EJqUF;EItQQ;IAhEN,cAAA;IACA,mBAAA;EJyUF;EI1QQ;IAhEN,cAAA;IACA,WAAA;EJ6UF;EItQU;IAxDV,cAAA;EJiUA;EIzQU;IAxDV,wBAAA;EJoUA;EI5QU;IAxDV,yBAAA;EJuUA;EI/QU;IAxDV,gBAAA;EJ0UA;EIlRU;IAxDV,yBAAA;EJ6UA;EIrRU;IAxDV,yBAAA;EJgVA;EIxRU;IAxDV,gBAAA;EJmVA;EI3RU;IAxDV,yBAAA;EJsVA;EI9RU;IAxDV,yBAAA;EJyVA;EIjSU;IAxDV,gBAAA;EJ4VA;EIpSU;IAxDV,yBAAA;EJ+VA;EIvSU;IAxDV,yBAAA;EJkWA;EI/RM;;IAEE,gBAAA;EJiSR;EI9RM;;IAEE,gBAAA;EJgSR;EIvSM;;IAEE,sBAAA;EJySR;EItSM;;IAEE,sBAAA;EJwSR;EI/SM;;IAEE,qBAAA;EJiTR;EI9SM;;IAEE,qBAAA;EJgTR;EIvTM;;IAEE,mBAAA;EJyTR;EItTM;;IAEE,mBAAA;EJwTR;EI/TM;;IAEE,qBAAA;EJiUR;EI9TM;;IAEE,qBAAA;EJgUR;EIvUM;;IAEE,mBAAA;EJyUR;EItUM;;IAEE,mBAAA;EJwUR;AACF;ACnYI;EGUE;IACE,YAAA;EJ4XN;EIzXI;IApCJ,cAAA;IACA,WAAA;EJgaA;EIlZA;IACE,cAAA;IACA,WAAA;EJoZF;EItZA;IACE,cAAA;IACA,UAAA;EJwZF;EI1ZA;IACE,cAAA;IACA,mBAAA;EJ4ZF;EI9ZA;IACE,cAAA;IACA,UAAA;EJgaF;EIlaA;IACE,cAAA;IACA,UAAA;EJoaF;EItaA;IACE,cAAA;IACA,mBAAA;EJwaF;EIzYI;IAhDJ,cAAA;IACA,WAAA;EJ4bA;EIvYQ;IAhEN,cAAA;IACA,kBAAA;EJ0cF;EI3YQ;IAhEN,cAAA;IACA,mBAAA;EJ8cF;EI/YQ;IAhEN,cAAA;IACA,UAAA;EJkdF;EInZQ;IAhEN,cAAA;IACA,mBAAA;EJsdF;EIvZQ;IAhEN,cAAA;IACA,mBAAA;EJ0dF;EI3ZQ;IAhEN,cAAA;IACA,UAAA;EJ8dF;EI/ZQ;IAhEN,cAAA;IACA,mBAAA;EJkeF;EInaQ;IAhEN,cAAA;IACA,mBAAA;EJseF;EIvaQ;IAhEN,cAAA;IACA,UAAA;EJ0eF;EI3aQ;IAhEN,cAAA;IACA,mBAAA;EJ8eF;EI/aQ;IAhEN,cAAA;IACA,mBAAA;EJkfF;EInbQ;IAhEN,cAAA;IACA,WAAA;EJsfF;EI/aU;IAxDV,cAAA;EJ0eA;EIlbU;IAxDV,wBAAA;EJ6eA;EIrbU;IAxDV,yBAAA;EJgfA;EIxbU;IAxDV,gBAAA;EJmfA;EI3bU;IAxDV,yBAAA;EJsfA;EI9bU;IAxDV,yBAAA;EJyfA;EIjcU;IAxDV,gBAAA;EJ4fA;EIpcU;IAxDV,yBAAA;EJ+fA;EIvcU;IAxDV,yBAAA;EJkgBA;EI1cU;IAxDV,gBAAA;EJqgBA;EI7cU;IAxDV,yBAAA;EJwgBA;EIhdU;IAxDV,yBAAA;EJ2gBA;EIxcM;;IAEE,gBAAA;EJ0cR;EIvcM;;IAEE,gBAAA;EJycR;EIhdM;;IAEE,sBAAA;EJkdR;EI/cM;;IAEE,sBAAA;EJidR;EIxdM;;IAEE,qBAAA;EJ0dR;EIvdM;;IAEE,qBAAA;EJydR;EIheM;;IAEE,mBAAA;EJkeR;EI/dM;;IAEE,mBAAA;EJieR;EIxeM;;IAEE,qBAAA;EJ0eR;EIveM;;IAEE,qBAAA;EJyeR;EIhfM;;IAEE,mBAAA;EJkfR;EI/eM;;IAEE,mBAAA;EJifR;AACF;AC5iBI;EGUE;IACE,YAAA;EJqiBN;EIliBI;IApCJ,cAAA;IACA,WAAA;EJykBA;EI3jBA;IACE,cAAA;IACA,WAAA;EJ6jBF;EI/jBA;IACE,cAAA;IACA,UAAA;EJikBF;EInkBA;IACE,cAAA;IACA,mBAAA;EJqkBF;EIvkBA;IACE,cAAA;IACA,UAAA;EJykBF;EI3kBA;IACE,cAAA;IACA,UAAA;EJ6kBF;EI/kBA;IACE,cAAA;IACA,mBAAA;EJilBF;EIljBI;IAhDJ,cAAA;IACA,WAAA;EJqmBA;EIhjBQ;IAhEN,cAAA;IACA,kBAAA;EJmnBF;EIpjBQ;IAhEN,cAAA;IACA,mBAAA;EJunBF;EIxjBQ;IAhEN,cAAA;IACA,UAAA;EJ2nBF;EI5jBQ;IAhEN,cAAA;IACA,mBAAA;EJ+nBF;EIhkBQ;IAhEN,cAAA;IACA,mBAAA;EJmoBF;EIpkBQ;IAhEN,cAAA;IACA,UAAA;EJuoBF;EIxkBQ;IAhEN,cAAA;IACA,mBAAA;EJ2oBF;EI5kBQ;IAhEN,cAAA;IACA,mBAAA;EJ+oBF;EIhlBQ;IAhEN,cAAA;IACA,UAAA;EJmpBF;EIplBQ;IAhEN,cAAA;IACA,mBAAA;EJupBF;EIxlBQ;IAhEN,cAAA;IACA,mBAAA;EJ2pBF;EI5lBQ;IAhEN,cAAA;IACA,WAAA;EJ+pBF;EIxlBU;IAxDV,cAAA;EJmpBA;EI3lBU;IAxDV,wBAAA;EJspBA;EI9lBU;IAxDV,yBAAA;EJypBA;EIjmBU;IAxDV,gBAAA;EJ4pBA;EIpmBU;IAxDV,yBAAA;EJ+pBA;EIvmBU;IAxDV,yBAAA;EJkqBA;EI1mBU;IAxDV,gBAAA;EJqqBA;EI7mBU;IAxDV,yBAAA;EJwqBA;EIhnBU;IAxDV,yBAAA;EJ2qBA;EInnBU;IAxDV,gBAAA;EJ8qBA;EItnBU;IAxDV,yBAAA;EJirBA;EIznBU;IAxDV,yBAAA;EJorBA;EIjnBM;;IAEE,gBAAA;EJmnBR;EIhnBM;;IAEE,gBAAA;EJknBR;EIznBM;;IAEE,sBAAA;EJ2nBR;EIxnBM;;IAEE,sBAAA;EJ0nBR;EIjoBM;;IAEE,qBAAA;EJmoBR;EIhoBM;;IAEE,qBAAA;EJkoBR;EIzoBM;;IAEE,mBAAA;EJ2oBR;EIxoBM;;IAEE,mBAAA;EJ0oBR;EIjpBM;;IAEE,qBAAA;EJmpBR;EIhpBM;;IAEE,qBAAA;EJkpBR;EIzpBM;;IAEE,mBAAA;EJ2pBR;EIxpBM;;IAEE,mBAAA;EJ0pBR;AACF;ACrtBI;EGUE;IACE,YAAA;EJ8sBN;EI3sBI;IApCJ,cAAA;IACA,WAAA;EJkvBA;EIpuBA;IACE,cAAA;IACA,WAAA;EJsuBF;EIxuBA;IACE,cAAA;IACA,UAAA;EJ0uBF;EI5uBA;IACE,cAAA;IACA,mBAAA;EJ8uBF;EIhvBA;IACE,cAAA;IACA,UAAA;EJkvBF;EIpvBA;IACE,cAAA;IACA,UAAA;EJsvBF;EIxvBA;IACE,cAAA;IACA,mBAAA;EJ0vBF;EI3tBI;IAhDJ,cAAA;IACA,WAAA;EJ8wBA;EIztBQ;IAhEN,cAAA;IACA,kBAAA;EJ4xBF;EI7tBQ;IAhEN,cAAA;IACA,mBAAA;EJgyBF;EIjuBQ;IAhEN,cAAA;IACA,UAAA;EJoyBF;EIruBQ;IAhEN,cAAA;IACA,mBAAA;EJwyBF;EIzuBQ;IAhEN,cAAA;IACA,mBAAA;EJ4yBF;EI7uBQ;IAhEN,cAAA;IACA,UAAA;EJgzBF;EIjvBQ;IAhEN,cAAA;IACA,mBAAA;EJozBF;EIrvBQ;IAhEN,cAAA;IACA,mBAAA;EJwzBF;EIzvBQ;IAhEN,cAAA;IACA,UAAA;EJ4zBF;EI7vBQ;IAhEN,cAAA;IACA,mBAAA;EJg0BF;EIjwBQ;IAhEN,cAAA;IACA,mBAAA;EJo0BF;EIrwBQ;IAhEN,cAAA;IACA,WAAA;EJw0BF;EIjwBU;IAxDV,cAAA;EJ4zBA;EIpwBU;IAxDV,wBAAA;EJ+zBA;EIvwBU;IAxDV,yBAAA;EJk0BA;EI1wBU;IAxDV,gBAAA;EJq0BA;EI7wBU;IAxDV,yBAAA;EJw0BA;EIhxBU;IAxDV,yBAAA;EJ20BA;EInxBU;IAxDV,gBAAA;EJ80BA;EItxBU;IAxDV,yBAAA;EJi1BA;EIzxBU;IAxDV,yBAAA;EJo1BA;EI5xBU;IAxDV,gBAAA;EJu1BA;EI/xBU;IAxDV,yBAAA;EJ01BA;EIlyBU;IAxDV,yBAAA;EJ61BA;EI1xBM;;IAEE,gBAAA;EJ4xBR;EIzxBM;;IAEE,gBAAA;EJ2xBR;EIlyBM;;IAEE,sBAAA;EJoyBR;EIjyBM;;IAEE,sBAAA;EJmyBR;EI1yBM;;IAEE,qBAAA;EJ4yBR;EIzyBM;;IAEE,qBAAA;EJ2yBR;EIlzBM;;IAEE,mBAAA;EJozBR;EIjzBM;;IAEE,mBAAA;EJmzBR;EI1zBM;;IAEE,qBAAA;EJ4zBR;EIzzBM;;IAEE,qBAAA;EJ2zBR;EIl0BM;;IAEE,mBAAA;EJo0BR;EIj0BM;;IAEE,mBAAA;EJm0BR;AACF;AC93BI;EGUE;IACE,YAAA;EJu3BN;EIp3BI;IApCJ,cAAA;IACA,WAAA;EJ25BA;EI74BA;IACE,cAAA;IACA,WAAA;EJ+4BF;EIj5BA;IACE,cAAA;IACA,UAAA;EJm5BF;EIr5BA;IACE,cAAA;IACA,mBAAA;EJu5BF;EIz5BA;IACE,cAAA;IACA,UAAA;EJ25BF;EI75BA;IACE,cAAA;IACA,UAAA;EJ+5BF;EIj6BA;IACE,cAAA;IACA,mBAAA;EJm6BF;EIp4BI;IAhDJ,cAAA;IACA,WAAA;EJu7BA;EIl4BQ;IAhEN,cAAA;IACA,kBAAA;EJq8BF;EIt4BQ;IAhEN,cAAA;IACA,mBAAA;EJy8BF;EI14BQ;IAhEN,cAAA;IACA,UAAA;EJ68BF;EI94BQ;IAhEN,cAAA;IACA,mBAAA;EJi9BF;EIl5BQ;IAhEN,cAAA;IACA,mBAAA;EJq9BF;EIt5BQ;IAhEN,cAAA;IACA,UAAA;EJy9BF;EI15BQ;IAhEN,cAAA;IACA,mBAAA;EJ69BF;EI95BQ;IAhEN,cAAA;IACA,mBAAA;EJi+BF;EIl6BQ;IAhEN,cAAA;IACA,UAAA;EJq+BF;EIt6BQ;IAhEN,cAAA;IACA,mBAAA;EJy+BF;EI16BQ;IAhEN,cAAA;IACA,mBAAA;EJ6+BF;EI96BQ;IAhEN,cAAA;IACA,WAAA;EJi/BF;EI16BU;IAxDV,cAAA;EJq+BA;EI76BU;IAxDV,wBAAA;EJw+BA;EIh7BU;IAxDV,yBAAA;EJ2+BA;EIn7BU;IAxDV,gBAAA;EJ8+BA;EIt7BU;IAxDV,yBAAA;EJi/BA;EIz7BU;IAxDV,yBAAA;EJo/BA;EI57BU;IAxDV,gBAAA;EJu/BA;EI/7BU;IAxDV,yBAAA;EJ0/BA;EIl8BU;IAxDV,yBAAA;EJ6/BA;EIr8BU;IAxDV,gBAAA;EJggCA;EIx8BU;IAxDV,yBAAA;EJmgCA;EI38BU;IAxDV,yBAAA;EJsgCA;EIn8BM;;IAEE,gBAAA;EJq8BR;EIl8BM;;IAEE,gBAAA;EJo8BR;EI38BM;;IAEE,sBAAA;EJ68BR;EI18BM;;IAEE,sBAAA;EJ48BR;EIn9BM;;IAEE,qBAAA;EJq9BR;EIl9BM;;IAEE,qBAAA;EJo9BR;EI39BM;;IAEE,mBAAA;EJ69BR;EI19BM;;IAEE,mBAAA;EJ49BR;EIn+BM;;IAEE,qBAAA;EJq+BR;EIl+BM;;IAEE,qBAAA;EJo+BR;EI3+BM;;IAEE,mBAAA;EJ6+BR;EI1+BM;;IAEE,mBAAA;EJ4+BR;AACF;AKpiCQ;EAOI,0BAAA;ALgiCZ;;AKviCQ;EAOI,gCAAA;ALoiCZ;;AK3iCQ;EAOI,yBAAA;ALwiCZ;;AK/iCQ;EAOI,wBAAA;AL4iCZ;;AKnjCQ;EAOI,+BAAA;ALgjCZ;;AKvjCQ;EAOI,yBAAA;ALojCZ;;AK3jCQ;EAOI,6BAAA;ALwjCZ;;AK/jCQ;EAOI,8BAAA;AL4jCZ;;AKnkCQ;EAOI,wBAAA;ALgkCZ;;AKvkCQ;EAOI,+BAAA;ALokCZ;;AK3kCQ;EAOI,wBAAA;ALwkCZ;;AK/kCQ;EAOI,yBAAA;AL4kCZ;;AKnlCQ;EAOI,8BAAA;ALglCZ;;AKvlCQ;EAOI,iCAAA;ALolCZ;;AK3lCQ;EAOI,sCAAA;ALwlCZ;;AK/lCQ;EAOI,yCAAA;AL4lCZ;;AKnmCQ;EAOI,uBAAA;ALgmCZ;;AKvmCQ;EAOI,uBAAA;ALomCZ;;AK3mCQ;EAOI,yBAAA;ALwmCZ;;AK/mCQ;EAOI,yBAAA;AL4mCZ;;AKnnCQ;EAOI,0BAAA;ALgnCZ;;AKvnCQ;EAOI,4BAAA;ALonCZ;;AK3nCQ;EAOI,kCAAA;ALwnCZ;;AK/nCQ;EAOI,sCAAA;AL4nCZ;;AKnoCQ;EAOI,oCAAA;ALgoCZ;;AKvoCQ;EAOI,kCAAA;ALooCZ;;AK3oCQ;EAOI,yCAAA;ALwoCZ;;AK/oCQ;EAOI,wCAAA;AL4oCZ;;AKnpCQ;EAOI,wCAAA;ALgpCZ;;AKvpCQ;EAOI,kCAAA;ALopCZ;;AK3pCQ;EAOI,gCAAA;ALwpCZ;;AK/pCQ;EAOI,8BAAA;AL4pCZ;;AKnqCQ;EAOI,gCAAA;ALgqCZ;;AKvqCQ;EAOI,+BAAA;ALoqCZ;;AK3qCQ;EAOI,oCAAA;ALwqCZ;;AK/qCQ;EAOI,kCAAA;AL4qCZ;;AKnrCQ;EAOI,gCAAA;ALgrCZ;;AKvrCQ;EAOI,uCAAA;ALorCZ;;AK3rCQ;EAOI,sCAAA;ALwrCZ;;AK/rCQ;EAOI,iCAAA;AL4rCZ;;AKnsCQ;EAOI,2BAAA;ALgsCZ;;AKvsCQ;EAOI,iCAAA;ALosCZ;;AK3sCQ;EAOI,+BAAA;ALwsCZ;;AK/sCQ;EAOI,6BAAA;AL4sCZ;;AKntCQ;EA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;AL8iDZ;;AKrjDQ;EAOI,4BAAA;ALkjDZ;;AKzjDQ;EAOI,2BAAA;ALsjDZ;;AK7jDQ;EAOI,iCAAA;AL0jDZ;;AKjkDQ;EAOI,gCAAA;AL8jDZ;;AKrkDQ;EAOI,8BAAA;ALkkDZ;;AKzkDQ;EAOI,gCAAA;ALskDZ;;AK7kDQ;EAOI,8BAAA;AL0kDZ;;AKjlDQ;EAOI,4BAAA;AL8kDZ;;AKrlDQ;EAOI,kCAAA;ALklDZ;;AKzlDQ;EAOI,iCAAA;ALslDZ;;AK7lDQ;EAOI,+BAAA;AL0lDZ;;AKjmDQ;EAOI,iCAAA;AL8lDZ;;AKrmDQ;EAOI,+BAAA;ALkmDZ;;AKzmDQ;EAOI,0BAAA;ALsmDZ;;AK7mDQ;EAOI,gCAAA;AL0mDZ;;AKjnDQ;EAOI,+BAAA;AL8mDZ;;AKrnDQ;EAOI,6BAAA;ALknDZ;;AKznDQ;EAOI,+BAAA;ALsnDZ;;AK7nDQ;EAOI,6BAAA;AL0nDZ;;ACpoDI;EIGI;IAOI,0BAAA;EL+nDV;EKtoDM;IAOI,gCAAA;ELkoDV;EKzoDM;IAOI,yBAAA;ELqoDV;EK5oDM;IAOI,wBAAA;ELwoDV;EK/oDM;IAOI,+BAAA;EL2oDV;EKlpDM;IAOI,yBAAA;EL8oDV;EKrpDM;IAOI,6BAAA;ELipDV;EKxpDM;IAOI,8BAAA;ELopDV;EK3pDM;IAOI,wBAAA;ELupDV;EK9pDM;IAOI,+BAAA;EL0pDV;EKjqDM;IAOI,wBAAA;EL6pDV;EKpqDM;IAOI,yBAAA;ELgqDV;EKvqDM;IAOI,8BAAA;ELmqDV;EK1qDM;IAOI,iCAAA;ELsqDV;EK7qDM;IAOI,sCAAA;ELyqDV;EKhrDM;IAOI,yCAAA;EL4qDV;EKnrDM;IAOI,uBAAA;EL+qDV;EKtrDM;IAOI,uBAAA;ELkrDV;EKzrDM;IAOI,yBAAA;ELqrDV;EK5rDM;IAOI,yBAAA;ELwrDV;EK/rDM;IAOI,0BAAA;EL2rDV;EKlsDM;IAOI,4BAAA;EL8rDV;EKrsDM;IAOI,kCAAA;ELisDV;EKxsDM;IAOI,sCAAA;ELosDV;EK3sDM;IAOI,oCAAA;ELusDV;EK9sDM;IAOI,kCAAA;EL0sDV;EKjtDM;IAOI,yCAAA;EL6sDV;EKptDM;IAOI,wCAAA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nEV;EK/nEM;IAOI,yCAAA;EL2nEV;EKloEM;IAOI,uBAAA;EL8nEV;EKroEM;IAOI,uBAAA;ELioEV;EKxoEM;IAOI,yBAAA;ELooEV;EK3oEM;IAOI,yBAAA;ELuoEV;EK9oEM;IAOI,0BAAA;EL0oEV;EKjpEM;IAOI,4BAAA;EL6oEV;EKppEM;IAOI,kCAAA;ELgpEV;EKvpEM;IAOI,sCAAA;ELmpEV;EK1pEM;IAOI,oCAAA;ELspEV;EK7pEM;IAOI,kCAAA;ELypEV;EKhqEM;IAOI,yCAAA;EL4pEV;EKnqEM;IAOI,wCAAA;EL+pEV;EKtqEM;IAOI,wCAAA;ELkqEV;EKzqEM;IAOI,kCAAA;ELqqEV;EK5qEM;IAOI,gCAAA;ELwqEV;EK/qEM;IAOI,8BAAA;EL2qEV;EKlrEM;IAOI,gCAAA;EL8qEV;EKrrEM;IAOI,+BAAA;ELirEV;EKxrEM;IAOI,oCAAA;ELorEV;EK3rEM;IAOI,kCAAA;ELurEV;EK9rEM;IAOI,gCAAA;EL0rEV;EKjsEM;IAOI,uCAAA;EL6rEV;EKpsEM;IAOI,sCAAA;ELgsEV;EKvsEM;IAOI,iCAAA;ELmsEV;EK1sEM;IAOI,2BAAA;ELssEV;EK7sEM;IAOI,iCAAA;ELysEV;EKhtEM;IAOI,+BAAA;EL4sEV;EKntEM;IAOI,6BAAA;EL+sEV;EKttEM;IAOI,+BAAA;ELktEV;EKztEM;IAOI,8BAAA;ELqtEV;EK5tEM;IAOI,oBAAA;ELwtEV;EK/tEM;IAOI,mBAAA;EL2tEV;EKluEM;IAOI,mBAAA;EL8tEV;EKruEM;IAOI,mBAAA;ELiuEV;EKxuEM;IAOI,mBAAA;ELouEV;EK3uEM;IAOI,mBAAA;ELuuEV;EK9uEM;IAOI,mBAAA;EL0uEV;EKjvEM;IAOI,mBAAA;EL6uEV;EKpvEM;IAOI,oBAAA;ELgvEV;EKvvEM;IAOI,0BAAA;ELmvEV;EK1vEM;IAOI,yBAAA;ELsvEV;EK7vEM;IAOI,uBAAA;ELyvEV;EKhwEM;IAOI,yBAAA;EL4vEV;EKnwEM;IAOI,uBAAA;EL+vEV;EKtwEM;IAOI,uBAAA;ELkwEV;EKzwEM;IAOI,0BAAA;IAAA,yBAAA;ELswEV;EK7wEM;IAO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EKviFM;IAOI,yBAAA;ELmiFV;EK1iFM;IAOI,wBAAA;ELsiFV;EK7iFM;IAOI,+BAAA;ELyiFV;EKhjFM;IAOI,yBAAA;EL4iFV;EKnjFM;IAOI,6BAAA;EL+iFV;EKtjFM;IAOI,8BAAA;ELkjFV;EKzjFM;IAOI,wBAAA;ELqjFV;EK5jFM;IAOI,+BAAA;ELwjFV;EK/jFM;IAOI,wBAAA;EL2jFV;EKlkFM;IAOI,yBAAA;EL8jFV;EKrkFM;IAOI,8BAAA;ELikFV;EKxkFM;IAOI,iCAAA;ELokFV;EK3kFM;IAOI,sCAAA;ELukFV;EK9kFM;IAOI,yCAAA;EL0kFV;EKjlFM;IAOI,uBAAA;EL6kFV;EKplFM;IAOI,uBAAA;ELglFV;EKvlFM;IAOI,yBAAA;ELmlFV;EK1lFM;IAOI,yBAAA;ELslFV;EK7lFM;IAOI,0BAAA;ELylFV;EKhmFM;IAOI,4BAAA;EL4lFV;EKnmFM;IAOI,kCAAA;EL+lFV;EKtmFM;IAOI,sCAAA;ELkmFV;EKzmFM;IAOI,oCAAA;ELqmFV;EK5mFM;IAOI,kCAAA;ELwmFV;EK/mFM;IAOI,yCAAA;EL2mFV;EKlnFM;IAOI,wCAAA;EL8mFV;EKrnFM;IAOI,wCAAA;ELinFV;EKxnFM;IAOI,kCAAA;ELonFV;EK3nFM;IAOI,gCAAA;ELunFV;EK9nFM;IAOI,8BAAA;EL0nFV;EKjoFM;IAOI,gCAAA;EL6nFV;EKpoFM;IAOI,+BAAA;ELgoFV;EKvoFM;IAOI,oCAAA;ELmoFV;EK1oFM;IAOI,kCAAA;ELsoFV;EK7oFM;IAOI,gCAAA;ELyoFV;EKhpFM;IAOI,uCAAA;EL4oFV;EKnpFM;IAOI,sCAAA;EL+oFV;EKtpFM;IAOI,iCAAA;ELkpFV;EKzpFM;IAOI,2BAAA;ELqpFV;EK5pFM;IAOI,iCAAA;ELwpFV;EK/pFM;IAOI,+BAAA;EL2pFV;EKlqFM;IAOI,6BAAA;EL8pFV;EKrqFM;IAOI,+BAAA;ELiqFV;EKxqFM;IAOI,8BAAA;ELoqFV;EK3qFM;IAOI,oBAAA;ELuqFV;EK9qFM;IAOI,mBAAA;EL0qFV;EKjrFM;IAOI,mBAAA;EL6qFV;EKprFM;IAOI,mBAAA;ELgrFV;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AAA;ELy8FV;EKh9FM;IAOI,iCAAA;EL48FV;EKn9FM;IAOI,+BAAA;EL+8FV;EKt9FM;IAOI,iCAAA;ELk9FV;EKz9FM;IAOI,+BAAA;ELq9FV;EK59FM;IAOI,0BAAA;ELw9FV;EK/9FM;IAOI,gCAAA;EL29FV;EKl+FM;IAOI,+BAAA;EL89FV;EKr+FM;IAOI,6BAAA;ELi+FV;EKx+FM;IAOI,+BAAA;ELo+FV;EK3+FM;IAOI,6BAAA;ELu+FV;AACF;ACl/FI;EIGI;IAOI,0BAAA;EL4+FV;EKn/FM;IAOI,gCAAA;EL++FV;EKt/FM;IAOI,yBAAA;ELk/FV;EKz/FM;IAOI,wBAAA;ELq/FV;EK5/FM;IAOI,+BAAA;ELw/FV;EK//FM;IAOI,yBAAA;EL2/FV;EKlgGM;IAOI,6BAAA;EL8/FV;EKrgGM;IAOI,8BAAA;ELigGV;EKxgGM;IAOI,wBAAA;ELogGV;EK3gGM;IAOI,+BAAA;ELugGV;EK9gGM;IAOI,wBAAA;EL0gGV;EKjhGM;IAOI,yBAAA;EL6gGV;EKphGM;IAOI,8BAAA;ELghGV;EKvhGM;IAOI,iCAAA;ELmhGV;EK1hGM;IAOI,sCAAA;ELshGV;EK7hGM;IAOI,yCAAA;ELyhGV;EKhiGM;IAOI,uBAAA;EL4hGV;EKniGM;IAOI,uBAAA;EL+hGV;EKtiGM;IAOI,yBAAA;ELkiGV;EKziGM;IAOI,yBAAA;ELqiGV;EK5iGM;IAOI,0BAAA;ELwiGV;EK/iGM;IAOI,4BAAA;EL2iGV;EKljGM;IAOI,kCAAA;EL8iGV;EKrjGM;IAOI,sCAAA;ELijGV;EKxjGM;IAOI,oCAAA;ELojGV;EK3jGM;IAOI,kCAAA;ELujGV;EK9jGM;IAOI,yCAAA;EL0jGV;EKjkGM;IAOI,wCAAA;EL6jGV;EKpkGM;IAOI,wCAAA;ELgkGV;EKvkGM;IAOI,kCAAA;ELmkGV;EK1kGM;IAOI,gCAAA;ELskGV;EK7kGM;IAOI,8BAAA;ELykGV;EKhlGM;IAOI,gCAAA;EL4kGV;EKnlGM;IAOI,+BAAA;EL+kGV;EKtlGM;IAOI,oCAAA;ELklGV;EKzlGM;IAOI,kCAAA;ELqlGV;EK5lGM;IAOI,gCAAA;ELwlGV;EK/l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ELi3GV;EKx3GM;IAOI,+BAAA;ELo3GV;EK33GM;IAOI,8BAAA;ELu3GV;EK93GM;IAOI,4BAAA;EL03GV;EKj4GM;IAOI,8BAAA;EL63GV;EKp4GM;IAOI,4BAAA;ELg4GV;EKv4GM;IAOI,2BAAA;ELm4GV;EK14GM;IAOI,iCAAA;ELs4GV;EK74GM;IAOI,gCAAA;ELy4GV;EKh5GM;IAOI,8BAAA;EL44GV;EKn5GM;IAOI,gCAAA;EL+4GV;EKt5GM;IAOI,8BAAA;ELk5GV;EKz5GM;IAOI,4BAAA;ELq5GV;EK55GM;IAOI,kCAAA;ELw5GV;EK/5GM;IAOI,iCAAA;EL25GV;EKl6GM;IAOI,+BAAA;EL85GV;EKr6GM;IAOI,iCAAA;ELi6GV;EKx6GM;IAOI,+BAAA;ELo6GV;EK36GM;IAOI,0BAAA;ELu6GV;EK96GM;IAOI,gCAAA;EL06GV;EKj7GM;IAOI,+BAAA;EL66GV;EKp7GM;IAOI,6BAAA;ELg7GV;EKv7GM;IAOI,+BAAA;ELm7GV;EK17GM;IAOI,6BAAA;ELs7GV;AACF;ACj8GI;EIGI;IAOI,0BAAA;EL27GV;EKl8GM;IAOI,gCAAA;EL87GV;EKr8GM;IAOI,yBAAA;ELi8GV;EKx8GM;IAOI,wBAAA;ELo8GV;EK38GM;IAOI,+BAAA;ELu8GV;EK98GM;IAOI,yBAAA;EL08GV;EKj9GM;IAOI,6BAAA;EL68GV;EKp9GM;IAOI,8BAAA;ELg9GV;EKv9GM;IAOI,wBAAA;ELm9GV;EK19GM;IAOI,+BAAA;ELs9GV;EK79GM;IAOI,wBAAA;ELy9GV;EKh+GM;IAOI,yBAAA;EL49GV;EKn+GM;IAOI,8BAAA;EL+9GV;EKt+GM;IAOI,iCAAA;ELk+GV;EKz+GM;IAOI,sCAAA;ELq+GV;EK5+GM;IAOI,yCAAA;ELw+GV;EK/+GM;IAOI,uBAAA;EL2+GV;EKl/GM;IAOI,uBAAA;EL8+GV;EKr/GM;IAOI,yBAAA;ELi/GV;EKx/GM;IAOI,yBAAA;ELo/GV;EK3/GM;IAOI,0BAAA;ELu/GV;EK9/GM;IAOI,4BAAA;EL0/GV;EKjgHM;IAOI,kCAAA;EL6/GV;EKpgHM;IAOI,sCAAA;ELggHV;EKvgHM;I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","file":"bootstrap-grid.css","sourcesContent":["@mixin bsBanner($file) {\n /*!\n * Bootstrap #{$file} v5.3.2 (https://getbootstrap.com/)\n * Copyright 2011-2023 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n}\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-container-classes {\n // Single container class with breakpoint max-widths\n .container,\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n @each $name, $width in $grid-breakpoints {\n @if ($extend-breakpoint) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n\n // Once the current breakpoint is reached, stop extending\n @if ($breakpoint == $name) {\n $extend-breakpoint: false;\n }\n }\n }\n }\n }\n}\n","// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n --#{$prefix}gutter-x: #{$gutter};\n --#{$prefix}gutter-y: 0;\n width: 100%;\n padding-right: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n margin-right: auto;\n margin-left: auto;\n}\n","/*!\n * Bootstrap Grid v5.3.2 (https://getbootstrap.com/)\n * Copyright 2011-2023 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n.container,\n.container-fluid,\n.container-xxl,\n.container-xl,\n.container-lg,\n.container-md,\n.container-sm {\n --bs-gutter-x: 1.5rem;\n --bs-gutter-y: 0;\n width: 100%;\n padding-right: calc(var(--bs-gutter-x) * 0.5);\n padding-left: calc(var(--bs-gutter-x) * 0.5);\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container-sm, .container {\n max-width: 540px;\n }\n}\n@media (min-width: 768px) {\n .container-md, .container-sm, .container {\n max-width: 720px;\n }\n}\n@media (min-width: 992px) {\n .container-lg, .container-md, .container-sm, .container {\n max-width: 960px;\n }\n}\n@media (min-width: 1200px) {\n .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1140px;\n }\n}\n@media (min-width: 1400px) {\n .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1320px;\n }\n}\n:root {\n --bs-breakpoint-xs: 0;\n --bs-breakpoint-sm: 576px;\n --bs-breakpoint-md: 768px;\n --bs-breakpoint-lg: 992px;\n --bs-breakpoint-xl: 1200px;\n --bs-breakpoint-xxl: 1400px;\n}\n\n.row {\n --bs-gutter-x: 1.5rem;\n --bs-gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(-1 * var(--bs-gutter-y));\n margin-right: calc(-0.5 * var(--bs-gutter-x));\n margin-left: calc(-0.5 * var(--bs-gutter-x));\n}\n.row > * {\n box-sizing: border-box;\n flex-shrink: 0;\n width: 100%;\n max-width: 100%;\n padding-right: calc(var(--bs-gutter-x) * 0.5);\n padding-left: calc(var(--bs-gutter-x) * 0.5);\n margin-top: var(--bs-gutter-y);\n}\n\n.col {\n flex: 1 0 0%;\n}\n\n.row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n}\n\n.row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n}\n\n.col-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n}\n\n.col-3 {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.col-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n}\n\n.col-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n}\n\n.col-6 {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.col-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n}\n\n.col-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n}\n\n.col-9 {\n flex: 0 0 auto;\n width: 75%;\n}\n\n.col-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n}\n\n.col-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n}\n\n.col-12 {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.offset-1 {\n margin-left: 8.33333333%;\n}\n\n.offset-2 {\n margin-left: 16.66666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.33333333%;\n}\n\n.offset-5 {\n margin-left: 41.66666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.33333333%;\n}\n\n.offset-8 {\n margin-left: 66.66666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.33333333%;\n}\n\n.offset-11 {\n margin-left: 91.66666667%;\n}\n\n.g-0,\n.gx-0 {\n --bs-gutter-x: 0;\n}\n\n.g-0,\n.gy-0 {\n --bs-gutter-y: 0;\n}\n\n.g-1,\n.gx-1 {\n --bs-gutter-x: 0.25rem;\n}\n\n.g-1,\n.gy-1 {\n --bs-gutter-y: 0.25rem;\n}\n\n.g-2,\n.gx-2 {\n --bs-gutter-x: 0.5rem;\n}\n\n.g-2,\n.gy-2 {\n --bs-gutter-y: 0.5rem;\n}\n\n.g-3,\n.gx-3 {\n --bs-gutter-x: 1rem;\n}\n\n.g-3,\n.gy-3 {\n --bs-gutter-y: 1rem;\n}\n\n.g-4,\n.gx-4 {\n --bs-gutter-x: 1.5rem;\n}\n\n.g-4,\n.gy-4 {\n --bs-gutter-y: 1.5rem;\n}\n\n.g-5,\n.gx-5 {\n --bs-gutter-x: 3rem;\n}\n\n.g-5,\n.gy-5 {\n --bs-gutter-y: 3rem;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex: 1 0 0%;\n }\n .row-cols-sm-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-sm-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-sm-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-sm-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-sm-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-sm-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-sm-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-sm-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-sm-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-sm-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.33333333%;\n }\n .offset-sm-2 {\n margin-left: 16.66666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.33333333%;\n }\n .offset-sm-5 {\n margin-left: 41.66666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.33333333%;\n }\n .offset-sm-8 {\n margin-left: 66.66666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.33333333%;\n }\n .offset-sm-11 {\n margin-left: 91.66666667%;\n }\n .g-sm-0,\n .gx-sm-0 {\n --bs-gutter-x: 0;\n }\n .g-sm-0,\n .gy-sm-0 {\n --bs-gutter-y: 0;\n }\n .g-sm-1,\n .gx-sm-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-sm-1,\n .gy-sm-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-sm-2,\n .gx-sm-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-sm-2,\n .gy-sm-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-sm-3,\n .gx-sm-3 {\n --bs-gutter-x: 1rem;\n }\n .g-sm-3,\n .gy-sm-3 {\n --bs-gutter-y: 1rem;\n }\n .g-sm-4,\n .gx-sm-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-sm-4,\n .gy-sm-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-sm-5,\n .gx-sm-5 {\n --bs-gutter-x: 3rem;\n }\n .g-sm-5,\n .gy-sm-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 768px) {\n .col-md {\n flex: 1 0 0%;\n }\n .row-cols-md-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-md-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-md-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-md-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-md-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-md-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-md-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-md-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-md-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-md-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-md-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-md-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-md-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-md-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.33333333%;\n }\n .offset-md-2 {\n margin-left: 16.66666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.33333333%;\n }\n .offset-md-5 {\n margin-left: 41.66666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.33333333%;\n }\n .offset-md-8 {\n margin-left: 66.66666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.33333333%;\n }\n .offset-md-11 {\n margin-left: 91.66666667%;\n }\n .g-md-0,\n .gx-md-0 {\n --bs-gutter-x: 0;\n }\n .g-md-0,\n .gy-md-0 {\n --bs-gutter-y: 0;\n }\n .g-md-1,\n .gx-md-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-md-1,\n .gy-md-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-md-2,\n .gx-md-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-md-2,\n .gy-md-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-md-3,\n .gx-md-3 {\n --bs-gutter-x: 1rem;\n }\n .g-md-3,\n .gy-md-3 {\n --bs-gutter-y: 1rem;\n }\n .g-md-4,\n .gx-md-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-md-4,\n .gy-md-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-md-5,\n .gx-md-5 {\n --bs-gutter-x: 3rem;\n }\n .g-md-5,\n .gy-md-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 992px) {\n .col-lg {\n flex: 1 0 0%;\n }\n .row-cols-lg-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-lg-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-lg-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-lg-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-lg-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-lg-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-lg-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-lg-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-lg-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-lg-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.33333333%;\n }\n .offset-lg-2 {\n margin-left: 16.66666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.33333333%;\n }\n .offset-lg-5 {\n margin-left: 41.66666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.33333333%;\n }\n .offset-lg-8 {\n margin-left: 66.66666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.33333333%;\n }\n .offset-lg-11 {\n margin-left: 91.66666667%;\n }\n .g-lg-0,\n .gx-lg-0 {\n --bs-gutter-x: 0;\n }\n .g-lg-0,\n .gy-lg-0 {\n --bs-gutter-y: 0;\n }\n .g-lg-1,\n .gx-lg-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-lg-1,\n .gy-lg-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-lg-2,\n .gx-lg-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-lg-2,\n .gy-lg-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-lg-3,\n .gx-lg-3 {\n --bs-gutter-x: 1rem;\n }\n .g-lg-3,\n .gy-lg-3 {\n --bs-gutter-y: 1rem;\n }\n .g-lg-4,\n .gx-lg-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-lg-4,\n .gy-lg-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-lg-5,\n .gx-lg-5 {\n --bs-gutter-x: 3rem;\n }\n .g-lg-5,\n .gy-lg-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 1200px) {\n .col-xl {\n flex: 1 0 0%;\n }\n .row-cols-xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-xl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-xl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-xl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-xl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.33333333%;\n }\n .offset-xl-2 {\n margin-left: 16.66666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.33333333%;\n }\n .offset-xl-5 {\n margin-left: 41.66666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.33333333%;\n }\n .offset-xl-8 {\n margin-left: 66.66666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.33333333%;\n }\n .offset-xl-11 {\n margin-left: 91.66666667%;\n }\n .g-xl-0,\n .gx-xl-0 {\n --bs-gutter-x: 0;\n }\n .g-xl-0,\n .gy-xl-0 {\n --bs-gutter-y: 0;\n }\n .g-xl-1,\n .gx-xl-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-xl-1,\n .gy-xl-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-xl-2,\n .gx-xl-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-xl-2,\n .gy-xl-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-xl-3,\n .gx-xl-3 {\n --bs-gutter-x: 1rem;\n }\n .g-xl-3,\n .gy-xl-3 {\n --bs-gutter-y: 1rem;\n }\n .g-xl-4,\n .gx-xl-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-xl-4,\n .gy-xl-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-xl-5,\n .gx-xl-5 {\n --bs-gutter-x: 3rem;\n }\n .g-xl-5,\n .gy-xl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 1400px) {\n .col-xxl {\n flex: 1 0 0%;\n }\n .row-cols-xxl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xxl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xxl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xxl-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-xxl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xxl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xxl-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xxl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xxl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-xxl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xxl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xxl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-xxl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-xxl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xxl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-xxl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-xxl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xxl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-xxl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-xxl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xxl-0 {\n margin-left: 0;\n }\n .offset-xxl-1 {\n margin-left: 8.33333333%;\n }\n .offset-xxl-2 {\n margin-left: 16.66666667%;\n }\n .offset-xxl-3 {\n margin-left: 25%;\n }\n .offset-xxl-4 {\n margin-left: 33.33333333%;\n }\n .offset-xxl-5 {\n margin-left: 41.66666667%;\n }\n .offset-xxl-6 {\n margin-left: 50%;\n }\n .offset-xxl-7 {\n margin-left: 58.33333333%;\n }\n .offset-xxl-8 {\n margin-left: 66.66666667%;\n }\n .offset-xxl-9 {\n margin-left: 75%;\n }\n .offset-xxl-10 {\n margin-left: 83.33333333%;\n }\n .offset-xxl-11 {\n margin-left: 91.66666667%;\n }\n .g-xxl-0,\n .gx-xxl-0 {\n --bs-gutter-x: 0;\n }\n .g-xxl-0,\n .gy-xxl-0 {\n --bs-gutter-y: 0;\n }\n .g-xxl-1,\n .gx-xxl-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-xxl-1,\n .gy-xxl-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-xxl-2,\n .gx-xxl-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-xxl-2,\n .gy-xxl-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-xxl-3,\n .gx-xxl-3 {\n --bs-gutter-x: 1rem;\n }\n .g-xxl-3,\n .gy-xxl-3 {\n --bs-gutter-y: 1rem;\n }\n .g-xxl-4,\n .gx-xxl-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-xxl-4,\n .gy-xxl-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-xxl-5,\n .gx-xxl-5 {\n --bs-gutter-x: 3rem;\n }\n .g-xxl-5,\n .gy-xxl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-grid {\n display: grid !important;\n}\n\n.d-inline-grid {\n display: inline-grid !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.justify-content-evenly {\n justify-content: space-evenly !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.me-0 {\n margin-right: 0 !important;\n}\n\n.me-1 {\n margin-right: 0.25rem !important;\n}\n\n.me-2 {\n margin-right: 0.5rem !important;\n}\n\n.me-3 {\n margin-right: 1rem !important;\n}\n\n.me-4 {\n margin-right: 1.5rem !important;\n}\n\n.me-5 {\n margin-right: 3rem !important;\n}\n\n.me-auto {\n margin-right: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ms-0 {\n margin-left: 0 !important;\n}\n\n.ms-1 {\n margin-left: 0.25rem !important;\n}\n\n.ms-2 {\n margin-left: 0.5rem !important;\n}\n\n.ms-3 {\n margin-left: 1rem !important;\n}\n\n.ms-4 {\n margin-left: 1.5rem !important;\n}\n\n.ms-5 {\n margin-left: 3rem !important;\n}\n\n.ms-auto {\n margin-left: auto !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pe-0 {\n padding-right: 0 !important;\n}\n\n.pe-1 {\n padding-right: 0.25rem !important;\n}\n\n.pe-2 {\n padding-right: 0.5rem !important;\n}\n\n.pe-3 {\n padding-right: 1rem !important;\n}\n\n.pe-4 {\n padding-right: 1.5rem !important;\n}\n\n.pe-5 {\n padding-right: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.ps-0 {\n padding-left: 0 !important;\n}\n\n.ps-1 {\n padding-left: 0.25rem !important;\n}\n\n.ps-2 {\n padding-left: 0.5rem !important;\n}\n\n.ps-3 {\n padding-left: 1rem !important;\n}\n\n.ps-4 {\n padding-left: 1.5rem !important;\n}\n\n.ps-5 {\n padding-left: 3rem !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-grid {\n display: grid !important;\n }\n .d-sm-inline-grid {\n display: inline-grid !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n .d-sm-none {\n display: none !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .justify-content-sm-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n .order-sm-first {\n order: -1 !important;\n }\n .order-sm-0 {\n order: 0 !important;\n }\n .order-sm-1 {\n order: 1 !important;\n }\n .order-sm-2 {\n order: 2 !important;\n }\n .order-sm-3 {\n order: 3 !important;\n }\n .order-sm-4 {\n order: 4 !important;\n }\n .order-sm-5 {\n order: 5 !important;\n }\n .order-sm-last {\n order: 6 !important;\n }\n .m-sm-0 {\n margin: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .me-sm-0 {\n margin-right: 0 !important;\n }\n .me-sm-1 {\n margin-right: 0.25rem !important;\n }\n .me-sm-2 {\n margin-right: 0.5rem !important;\n }\n .me-sm-3 {\n margin-right: 1rem !important;\n }\n .me-sm-4 {\n margin-right: 1.5rem !important;\n }\n .me-sm-5 {\n margin-right: 3rem !important;\n }\n .me-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ms-sm-0 {\n margin-left: 0 !important;\n }\n .ms-sm-1 {\n margin-left: 0.25rem !important;\n }\n .ms-sm-2 {\n margin-left: 0.5rem !important;\n }\n .ms-sm-3 {\n margin-left: 1rem !important;\n }\n .ms-sm-4 {\n margin-left: 1.5rem !important;\n }\n .ms-sm-5 {\n margin-left: 3rem !important;\n }\n .ms-sm-auto {\n margin-left: auto !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pe-sm-0 {\n padding-right: 0 !important;\n }\n .pe-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pe-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pe-sm-3 {\n padding-right: 1rem !important;\n }\n .pe-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pe-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .ps-sm-0 {\n padding-left: 0 !important;\n }\n .ps-sm-1 {\n padding-left: 0.25rem !important;\n }\n .ps-sm-2 {\n padding-left: 0.5rem !important;\n }\n .ps-sm-3 {\n padding-left: 1rem !important;\n }\n .ps-sm-4 {\n padding-left: 1.5rem !important;\n }\n .ps-sm-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 768px) {\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-grid {\n display: grid !important;\n }\n .d-md-inline-grid {\n display: inline-grid !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n .d-md-none {\n display: none !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .justify-content-md-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n .order-md-first {\n order: -1 !important;\n }\n .order-md-0 {\n order: 0 !important;\n }\n .order-md-1 {\n order: 1 !important;\n }\n .order-md-2 {\n order: 2 !important;\n }\n .order-md-3 {\n order: 3 !important;\n }\n .order-md-4 {\n order: 4 !important;\n }\n .order-md-5 {\n order: 5 !important;\n }\n .order-md-last {\n order: 6 !important;\n }\n .m-md-0 {\n margin: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .me-md-0 {\n margin-right: 0 !important;\n }\n .me-md-1 {\n margin-right: 0.25rem !important;\n }\n .me-md-2 {\n margin-right: 0.5rem !important;\n }\n .me-md-3 {\n margin-right: 1rem !important;\n }\n .me-md-4 {\n margin-right: 1.5rem !important;\n }\n .me-md-5 {\n margin-right: 3rem !important;\n }\n .me-md-auto {\n margin-right: auto !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ms-md-0 {\n margin-left: 0 !important;\n }\n .ms-md-1 {\n margin-left: 0.25rem !important;\n }\n .ms-md-2 {\n margin-left: 0.5rem !important;\n }\n .ms-md-3 {\n margin-left: 1rem !important;\n }\n .ms-md-4 {\n margin-left: 1.5rem !important;\n }\n .ms-md-5 {\n margin-left: 3rem !important;\n }\n .ms-md-auto {\n margin-left: auto !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pe-md-0 {\n padding-right: 0 !important;\n }\n .pe-md-1 {\n padding-right: 0.25rem !important;\n }\n .pe-md-2 {\n padding-right: 0.5rem !important;\n }\n .pe-md-3 {\n padding-right: 1rem !important;\n }\n .pe-md-4 {\n padding-right: 1.5rem !important;\n }\n .pe-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .ps-md-0 {\n padding-left: 0 !important;\n }\n .ps-md-1 {\n padding-left: 0.25rem !important;\n }\n .ps-md-2 {\n padding-left: 0.5rem !important;\n }\n .ps-md-3 {\n padding-left: 1rem !important;\n }\n .ps-md-4 {\n padding-left: 1.5rem !important;\n }\n .ps-md-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 992px) {\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-grid {\n display: grid !important;\n }\n .d-lg-inline-grid {\n display: inline-grid !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n .d-lg-none {\n display: none !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .justify-content-lg-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n .order-lg-first {\n order: -1 !important;\n }\n .order-lg-0 {\n order: 0 !important;\n }\n .order-lg-1 {\n order: 1 !important;\n }\n .order-lg-2 {\n order: 2 !important;\n }\n .order-lg-3 {\n order: 3 !important;\n }\n .order-lg-4 {\n order: 4 !important;\n }\n .order-lg-5 {\n order: 5 !important;\n }\n .order-lg-last {\n order: 6 !important;\n }\n .m-lg-0 {\n margin: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .me-lg-0 {\n margin-right: 0 !important;\n }\n .me-lg-1 {\n margin-right: 0.25rem !important;\n }\n .me-lg-2 {\n margin-right: 0.5rem !important;\n }\n .me-lg-3 {\n margin-right: 1rem !important;\n }\n .me-lg-4 {\n margin-right: 1.5rem !important;\n }\n .me-lg-5 {\n margin-right: 3rem !important;\n }\n .me-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ms-lg-0 {\n margin-left: 0 !important;\n }\n .ms-lg-1 {\n margin-left: 0.25rem !important;\n }\n .ms-lg-2 {\n margin-left: 0.5rem !important;\n }\n .ms-lg-3 {\n margin-left: 1rem !important;\n }\n .ms-lg-4 {\n margin-left: 1.5rem !important;\n }\n .ms-lg-5 {\n margin-left: 3rem !important;\n }\n .ms-lg-auto {\n margin-left: auto !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pe-lg-0 {\n padding-right: 0 !important;\n }\n .pe-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pe-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pe-lg-3 {\n padding-right: 1rem !important;\n }\n .pe-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pe-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .ps-lg-0 {\n padding-left: 0 !important;\n }\n .ps-lg-1 {\n padding-left: 0.25rem !important;\n }\n .ps-lg-2 {\n padding-left: 0.5rem !important;\n }\n .ps-lg-3 {\n padding-left: 1rem !important;\n }\n .ps-lg-4 {\n padding-left: 1.5rem !important;\n }\n .ps-lg-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 1200px) {\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-grid {\n display: grid !important;\n }\n .d-xl-inline-grid {\n display: inline-grid !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n .d-xl-none {\n display: none !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .justify-content-xl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n .order-xl-first {\n order: -1 !important;\n }\n .order-xl-0 {\n order: 0 !important;\n }\n .order-xl-1 {\n order: 1 !important;\n }\n .order-xl-2 {\n order: 2 !important;\n }\n .order-xl-3 {\n order: 3 !important;\n }\n .order-xl-4 {\n order: 4 !important;\n }\n .order-xl-5 {\n order: 5 !important;\n }\n .order-xl-last {\n order: 6 !important;\n }\n .m-xl-0 {\n margin: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .me-xl-0 {\n margin-right: 0 !important;\n }\n .me-xl-1 {\n margin-right: 0.25rem !important;\n }\n .me-xl-2 {\n margin-right: 0.5rem !important;\n }\n .me-xl-3 {\n margin-right: 1rem !important;\n }\n .me-xl-4 {\n margin-right: 1.5rem !important;\n }\n .me-xl-5 {\n margin-right: 3rem !important;\n }\n .me-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ms-xl-0 {\n margin-left: 0 !important;\n }\n .ms-xl-1 {\n margin-left: 0.25rem !important;\n }\n .ms-xl-2 {\n margin-left: 0.5rem !important;\n }\n .ms-xl-3 {\n margin-left: 1rem !important;\n }\n .ms-xl-4 {\n margin-left: 1.5rem !important;\n }\n .ms-xl-5 {\n margin-left: 3rem !important;\n }\n .ms-xl-auto {\n margin-left: auto !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pe-xl-0 {\n padding-right: 0 !important;\n }\n .pe-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pe-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pe-xl-3 {\n padding-right: 1rem !important;\n }\n .pe-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pe-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .ps-xl-0 {\n padding-left: 0 !important;\n }\n .ps-xl-1 {\n padding-left: 0.25rem !important;\n }\n .ps-xl-2 {\n padding-left: 0.5rem !important;\n }\n .ps-xl-3 {\n padding-left: 1rem !important;\n }\n .ps-xl-4 {\n padding-left: 1.5rem !important;\n }\n .ps-xl-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 1400px) {\n .d-xxl-inline {\n display: inline !important;\n }\n .d-xxl-inline-block {\n display: inline-block !important;\n }\n .d-xxl-block {\n display: block !important;\n }\n .d-xxl-grid {\n display: grid !important;\n }\n .d-xxl-inline-grid {\n display: inline-grid !important;\n }\n .d-xxl-table {\n display: table !important;\n }\n .d-xxl-table-row {\n display: table-row !important;\n }\n .d-xxl-table-cell {\n display: table-cell !important;\n }\n .d-xxl-flex {\n display: flex !important;\n }\n .d-xxl-inline-flex {\n display: inline-flex !important;\n }\n .d-xxl-none {\n display: none !important;\n }\n .flex-xxl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xxl-row {\n flex-direction: row !important;\n }\n .flex-xxl-column {\n flex-direction: column !important;\n }\n .flex-xxl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xxl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xxl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xxl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xxl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xxl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xxl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xxl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xxl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xxl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xxl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xxl-center {\n justify-content: center !important;\n }\n .justify-content-xxl-between {\n justify-content: space-between !important;\n }\n .justify-content-xxl-around {\n justify-content: space-around !important;\n }\n .justify-content-xxl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xxl-start {\n align-items: flex-start !important;\n }\n .align-items-xxl-end {\n align-items: flex-end !important;\n }\n .align-items-xxl-center {\n align-items: center !important;\n }\n .align-items-xxl-baseline {\n align-items: baseline !important;\n }\n .align-items-xxl-stretch {\n align-items: stretch !important;\n }\n .align-content-xxl-start {\n align-content: flex-start !important;\n }\n .align-content-xxl-end {\n align-content: flex-end !important;\n }\n .align-content-xxl-center {\n align-content: center !important;\n }\n .align-content-xxl-between {\n align-content: space-between !important;\n }\n .align-content-xxl-around {\n align-content: space-around !important;\n }\n .align-content-xxl-stretch {\n align-content: stretch !important;\n }\n .align-self-xxl-auto {\n align-self: auto !important;\n }\n .align-self-xxl-start {\n align-self: flex-start !important;\n }\n .align-self-xxl-end {\n align-self: flex-end !important;\n }\n .align-self-xxl-center {\n align-self: center !important;\n }\n .align-self-xxl-baseline {\n align-self: baseline !important;\n }\n .align-self-xxl-stretch {\n align-self: stretch !important;\n }\n .order-xxl-first {\n order: -1 !important;\n }\n .order-xxl-0 {\n order: 0 !important;\n }\n .order-xxl-1 {\n order: 1 !important;\n }\n .order-xxl-2 {\n order: 2 !important;\n }\n .order-xxl-3 {\n order: 3 !important;\n }\n .order-xxl-4 {\n order: 4 !important;\n }\n .order-xxl-5 {\n order: 5 !important;\n }\n .order-xxl-last {\n order: 6 !important;\n }\n .m-xxl-0 {\n margin: 0 !important;\n }\n .m-xxl-1 {\n margin: 0.25rem !important;\n }\n .m-xxl-2 {\n margin: 0.5rem !important;\n }\n .m-xxl-3 {\n margin: 1rem !important;\n }\n .m-xxl-4 {\n margin: 1.5rem !important;\n }\n .m-xxl-5 {\n margin: 3rem !important;\n }\n .m-xxl-auto {\n margin: auto !important;\n }\n .mx-xxl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xxl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xxl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xxl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xxl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xxl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xxl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xxl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xxl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xxl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xxl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xxl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xxl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xxl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xxl-0 {\n margin-top: 0 !important;\n }\n .mt-xxl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xxl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xxl-3 {\n margin-top: 1rem !important;\n }\n .mt-xxl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xxl-5 {\n margin-top: 3rem !important;\n }\n .mt-xxl-auto {\n margin-top: auto !important;\n }\n .me-xxl-0 {\n margin-right: 0 !important;\n }\n .me-xxl-1 {\n margin-right: 0.25rem !important;\n }\n .me-xxl-2 {\n margin-right: 0.5rem !important;\n }\n .me-xxl-3 {\n margin-right: 1rem !important;\n }\n .me-xxl-4 {\n margin-right: 1.5rem !important;\n }\n .me-xxl-5 {\n margin-right: 3rem !important;\n }\n .me-xxl-auto {\n margin-right: auto !important;\n }\n .mb-xxl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xxl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xxl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xxl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xxl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xxl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xxl-auto {\n margin-bottom: auto !important;\n }\n .ms-xxl-0 {\n margin-left: 0 !important;\n }\n .ms-xxl-1 {\n margin-left: 0.25rem !important;\n }\n .ms-xxl-2 {\n margin-left: 0.5rem !important;\n }\n .ms-xxl-3 {\n margin-left: 1rem !important;\n }\n .ms-xxl-4 {\n margin-left: 1.5rem !important;\n }\n .ms-xxl-5 {\n margin-left: 3rem !important;\n }\n .ms-xxl-auto {\n margin-left: auto !important;\n }\n .p-xxl-0 {\n padding: 0 !important;\n }\n .p-xxl-1 {\n padding: 0.25rem !important;\n }\n .p-xxl-2 {\n padding: 0.5rem !important;\n }\n .p-xxl-3 {\n padding: 1rem !important;\n }\n .p-xxl-4 {\n padding: 1.5rem !important;\n }\n .p-xxl-5 {\n padding: 3rem !important;\n }\n .px-xxl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xxl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xxl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xxl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xxl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xxl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xxl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xxl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xxl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xxl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xxl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xxl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xxl-0 {\n padding-top: 0 !important;\n }\n .pt-xxl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xxl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xxl-3 {\n padding-top: 1rem !important;\n }\n .pt-xxl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xxl-5 {\n padding-top: 3rem !important;\n }\n .pe-xxl-0 {\n padding-right: 0 !important;\n }\n .pe-xxl-1 {\n padding-right: 0.25rem !important;\n }\n .pe-xxl-2 {\n padding-right: 0.5rem !important;\n }\n .pe-xxl-3 {\n padding-right: 1rem !important;\n }\n .pe-xxl-4 {\n padding-right: 1.5rem !important;\n }\n .pe-xxl-5 {\n padding-right: 3rem !important;\n }\n .pb-xxl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xxl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xxl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xxl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xxl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xxl-5 {\n padding-bottom: 3rem !important;\n }\n .ps-xxl-0 {\n padding-left: 0 !important;\n }\n .ps-xxl-1 {\n padding-left: 0.25rem !important;\n }\n .ps-xxl-2 {\n padding-left: 0.5rem !important;\n }\n .ps-xxl-3 {\n padding-left: 1rem !important;\n }\n .ps-xxl-4 {\n padding-left: 1.5rem !important;\n }\n .ps-xxl-5 {\n padding-left: 3rem !important;\n }\n}\n@media print {\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-grid {\n display: grid !important;\n }\n .d-print-inline-grid {\n display: inline-grid !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n .d-print-none {\n display: none !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl xxl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width.\n// The maximum value is reduced by 0.02px to work around the limitations of\n// `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $max: map-get($breakpoints, $name);\n @return if($max and $max > 0, $max - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($next, $breakpoints) {\n @content;\n }\n }\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n// scss-docs-start gray-color-variables\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n// scss-docs-end gray-color-variables\n\n// fusv-disable\n// scss-docs-start gray-colors-map\n$grays: (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n) !default;\n// scss-docs-end gray-colors-map\n// fusv-enable\n\n// scss-docs-start color-variables\n$blue: #0d6efd !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #d63384 !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #198754 !default;\n$teal: #20c997 !default;\n$cyan: #0dcaf0 !default;\n// scss-docs-end color-variables\n\n// scss-docs-start colors-map\n$colors: (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"black\": $black,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n) !default;\n// scss-docs-end colors-map\n\n// The contrast ratio to reach against white, to determine if color changes from \"light\" to \"dark\". Acceptable values for WCAG 2.0 are 3, 4.5 and 7.\n// See https://www.w3.org/TR/WCAG20/#visual-audio-contrast-contrast\n$min-contrast-ratio: 4.5 !default;\n\n// Customize the light and dark text colors for use in our color contrast function.\n$color-contrast-dark: $black !default;\n$color-contrast-light: $white !default;\n\n// fusv-disable\n$blue-100: tint-color($blue, 80%) !default;\n$blue-200: tint-color($blue, 60%) !default;\n$blue-300: tint-color($blue, 40%) !default;\n$blue-400: tint-color($blue, 20%) !default;\n$blue-500: $blue !default;\n$blue-600: shade-color($blue, 20%) !default;\n$blue-700: shade-color($blue, 40%) !default;\n$blue-800: shade-color($blue, 60%) !default;\n$blue-900: shade-color($blue, 80%) !default;\n\n$indigo-100: tint-color($indigo, 80%) !default;\n$indigo-200: tint-color($indigo, 60%) !default;\n$indigo-300: tint-color($indigo, 40%) !default;\n$indigo-400: tint-color($indigo, 20%) !default;\n$indigo-500: $indigo !default;\n$indigo-600: shade-color($indigo, 20%) !default;\n$indigo-700: shade-color($indigo, 40%) !default;\n$indigo-800: shade-color($indigo, 60%) !default;\n$indigo-900: shade-color($indigo, 80%) !default;\n\n$purple-100: tint-color($purple, 80%) !default;\n$purple-200: tint-color($purple, 60%) !default;\n$purple-300: tint-color($purple, 40%) !default;\n$purple-400: tint-color($purple, 20%) !default;\n$purple-500: $purple !default;\n$purple-600: shade-color($purple, 20%) !default;\n$purple-700: shade-color($purple, 40%) !default;\n$purple-800: shade-color($purple, 60%) !default;\n$purple-900: shade-color($purple, 80%) !default;\n\n$pink-100: tint-color($pink, 80%) !default;\n$pink-200: tint-color($pink, 60%) !default;\n$pink-300: tint-color($pink, 40%) !default;\n$pink-400: tint-color($pink, 20%) !default;\n$pink-500: $pink !default;\n$pink-600: shade-color($pink, 20%) !default;\n$pink-700: shade-color($pink, 40%) !default;\n$pink-800: shade-color($pink, 60%) !default;\n$pink-900: shade-color($pink, 80%) !default;\n\n$red-100: tint-color($red, 80%) !default;\n$red-200: tint-color($red, 60%) !default;\n$red-300: tint-color($red, 40%) !default;\n$red-400: tint-color($red, 20%) !default;\n$red-500: $red !default;\n$red-600: shade-color($red, 20%) !default;\n$red-700: shade-color($red, 40%) !default;\n$red-800: shade-color($red, 60%) !default;\n$red-900: shade-color($red, 80%) !default;\n\n$orange-100: tint-color($orange, 80%) !default;\n$orange-200: tint-color($orange, 60%) !default;\n$orange-300: tint-color($orange, 40%) !default;\n$orange-400: tint-color($orange, 20%) !default;\n$orange-500: $orange !default;\n$orange-600: shade-color($orange, 20%) !default;\n$orange-700: shade-color($orange, 40%) !default;\n$orange-800: shade-color($orange, 60%) !default;\n$orange-900: shade-color($orange, 80%) !default;\n\n$yellow-100: tint-color($yellow, 80%) !default;\n$yellow-200: tint-color($yellow, 60%) !default;\n$yellow-300: tint-color($yellow, 40%) !default;\n$yellow-400: tint-color($yellow, 20%) !default;\n$yellow-500: $yellow !default;\n$yellow-600: shade-color($yellow, 20%) !default;\n$yellow-700: shade-color($yellow, 40%) !default;\n$yellow-800: shade-color($yellow, 60%) !default;\n$yellow-900: shade-color($yellow, 80%) !default;\n\n$green-100: tint-color($green, 80%) !default;\n$green-200: tint-color($green, 60%) !default;\n$green-300: tint-color($green, 40%) !default;\n$green-400: tint-color($green, 20%) !default;\n$green-500: $green !default;\n$green-600: shade-color($green, 20%) !default;\n$green-700: shade-color($green, 40%) !default;\n$green-800: shade-color($green, 60%) !default;\n$green-900: shade-color($green, 80%) !default;\n\n$teal-100: tint-color($teal, 80%) !default;\n$teal-200: tint-color($teal, 60%) !default;\n$teal-300: tint-color($teal, 40%) !default;\n$teal-400: tint-color($teal, 20%) !default;\n$teal-500: $teal !default;\n$teal-600: shade-color($teal, 20%) !default;\n$teal-700: shade-color($teal, 40%) !default;\n$teal-800: shade-color($teal, 60%) !default;\n$teal-900: shade-color($teal, 80%) !default;\n\n$cyan-100: tint-color($cyan, 80%) !default;\n$cyan-200: tint-color($cyan, 60%) !default;\n$cyan-300: tint-color($cyan, 40%) !default;\n$cyan-400: tint-color($cyan, 20%) !default;\n$cyan-500: $cyan !default;\n$cyan-600: shade-color($cyan, 20%) !default;\n$cyan-700: shade-color($cyan, 40%) !default;\n$cyan-800: shade-color($cyan, 60%) !default;\n$cyan-900: shade-color($cyan, 80%) !default;\n\n$blues: (\n \"blue-100\": $blue-100,\n \"blue-200\": $blue-200,\n \"blue-300\": $blue-300,\n \"blue-400\": $blue-400,\n \"blue-500\": $blue-500,\n \"blue-600\": $blue-600,\n \"blue-700\": $blue-700,\n \"blue-800\": $blue-800,\n \"blue-900\": $blue-900\n) !default;\n\n$indigos: (\n \"indigo-100\": $indigo-100,\n \"indigo-200\": $indigo-200,\n \"indigo-300\": $indigo-300,\n \"indigo-400\": $indigo-400,\n \"indigo-500\": $indigo-500,\n \"indigo-600\": $indigo-600,\n \"indigo-700\": $indigo-700,\n \"indigo-800\": $indigo-800,\n \"indigo-900\": $indigo-900\n) !default;\n\n$purples: (\n \"purple-100\": $purple-100,\n \"purple-200\": $purple-200,\n \"purple-300\": $purple-300,\n \"purple-400\": $purple-400,\n \"purple-500\": $purple-500,\n \"purple-600\": $purple-600,\n \"purple-700\": $purple-700,\n \"purple-800\": $purple-800,\n \"purple-900\": $purple-900\n) !default;\n\n$pinks: (\n \"pink-100\": $pink-100,\n \"pink-200\": $pink-200,\n \"pink-300\": $pink-300,\n \"pink-400\": $pink-400,\n \"pink-500\": $pink-500,\n \"pink-600\": $pink-600,\n \"pink-700\": $pink-700,\n \"pink-800\": $pink-800,\n \"pink-900\": $pink-900\n) !default;\n\n$reds: (\n \"red-100\": $red-100,\n \"red-200\": $red-200,\n \"red-300\": $red-300,\n \"red-400\": $red-400,\n \"red-500\": $red-500,\n \"red-600\": $red-600,\n \"red-700\": $red-700,\n \"red-800\": $red-800,\n \"red-900\": $red-900\n) !default;\n\n$oranges: (\n \"orange-100\": $orange-100,\n \"orange-200\": $orange-200,\n \"orange-300\": $orange-300,\n \"orange-400\": $orange-400,\n \"orange-500\": $orange-500,\n \"orange-600\": $orange-600,\n \"orange-700\": $orange-700,\n \"orange-800\": $orange-800,\n \"orange-900\": $orange-900\n) !default;\n\n$yellows: (\n \"yellow-100\": $yellow-100,\n \"yellow-200\": $yellow-200,\n \"yellow-300\": $yellow-300,\n \"yellow-400\": $yellow-400,\n \"yellow-500\": $yellow-500,\n \"yellow-600\": $yellow-600,\n \"yellow-700\": $yellow-700,\n \"yellow-800\": $yellow-800,\n \"yellow-900\": $yellow-900\n) !default;\n\n$greens: (\n \"green-100\": $green-100,\n \"green-200\": $green-200,\n \"green-300\": $green-300,\n \"green-400\": $green-400,\n \"green-500\": $green-500,\n \"green-600\": $green-600,\n \"green-700\": $green-700,\n \"green-800\": $green-800,\n \"green-900\": $green-900\n) !default;\n\n$teals: (\n \"teal-100\": $teal-100,\n \"teal-200\": $teal-200,\n \"teal-300\": $teal-300,\n \"teal-400\": $teal-400,\n \"teal-500\": $teal-500,\n \"teal-600\": $teal-600,\n \"teal-700\": $teal-700,\n \"teal-800\": $teal-800,\n \"teal-900\": $teal-900\n) !default;\n\n$cyans: (\n \"cyan-100\": $cyan-100,\n \"cyan-200\": $cyan-200,\n \"cyan-300\": $cyan-300,\n \"cyan-400\": $cyan-400,\n \"cyan-500\": $cyan-500,\n \"cyan-600\": $cyan-600,\n \"cyan-700\": $cyan-700,\n \"cyan-800\": $cyan-800,\n \"cyan-900\": $cyan-900\n) !default;\n// fusv-enable\n\n// scss-docs-start theme-color-variables\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-900 !default;\n// scss-docs-end theme-color-variables\n\n// scss-docs-start theme-colors-map\n$theme-colors: (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n) !default;\n// scss-docs-end theme-colors-map\n\n// scss-docs-start theme-text-variables\n$primary-text-emphasis: shade-color($primary, 60%) !default;\n$secondary-text-emphasis: shade-color($secondary, 60%) !default;\n$success-text-emphasis: shade-color($success, 60%) !default;\n$info-text-emphasis: shade-color($info, 60%) !default;\n$warning-text-emphasis: shade-color($warning, 60%) !default;\n$danger-text-emphasis: shade-color($danger, 60%) !default;\n$light-text-emphasis: $gray-700 !default;\n$dark-text-emphasis: $gray-700 !default;\n// scss-docs-end theme-text-variables\n\n// scss-docs-start theme-bg-subtle-variables\n$primary-bg-subtle: tint-color($primary, 80%) !default;\n$secondary-bg-subtle: tint-color($secondary, 80%) !default;\n$success-bg-subtle: tint-color($success, 80%) !default;\n$info-bg-subtle: tint-color($info, 80%) !default;\n$warning-bg-subtle: tint-color($warning, 80%) !default;\n$danger-bg-subtle: tint-color($danger, 80%) !default;\n$light-bg-subtle: mix($gray-100, $white) !default;\n$dark-bg-subtle: $gray-400 !default;\n// scss-docs-end theme-bg-subtle-variables\n\n// scss-docs-start theme-border-subtle-variables\n$primary-border-subtle: tint-color($primary, 60%) !default;\n$secondary-border-subtle: tint-color($secondary, 60%) !default;\n$success-border-subtle: tint-color($success, 60%) !default;\n$info-border-subtle: tint-color($info, 60%) !default;\n$warning-border-subtle: tint-color($warning, 60%) !default;\n$danger-border-subtle: tint-color($danger, 60%) !default;\n$light-border-subtle: $gray-200 !default;\n$dark-border-subtle: $gray-500 !default;\n// scss-docs-end theme-border-subtle-variables\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n (\"<\", \"%3c\"),\n (\">\", \"%3e\"),\n (\"#\", \"%23\"),\n (\"(\", \"%28\"),\n (\")\", \"%29\"),\n) !default;\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-reduced-motion: true !default;\n$enable-smooth-scroll: true !default;\n$enable-grid-classes: true !default;\n$enable-container-classes: true !default;\n$enable-cssgrid: false !default;\n$enable-button-pointers: true !default;\n$enable-rfs: true !default;\n$enable-validation-icons: true !default;\n$enable-negative-margins: false !default;\n$enable-deprecation-messages: true !default;\n$enable-important-utilities: true !default;\n\n$enable-dark-mode: true !default;\n$color-mode-type: data !default; // `data` or `media-query`\n\n// Prefix for :root CSS variables\n\n$variable-prefix: bs- !default; // Deprecated in v5.2.0 for the shorter `$prefix`\n$prefix: $variable-prefix !default;\n\n// Gradient\n//\n// The gradient which is added to components if `$enable-gradients` is `true`\n// This gradient is also added to elements with `.bg-gradient`\n// scss-docs-start variable-gradient\n$gradient: linear-gradient(180deg, rgba($white, .15), rgba($white, 0)) !default;\n// scss-docs-end variable-gradient\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n// scss-docs-start spacer-variables-maps\n$spacer: 1rem !default;\n$spacers: (\n 0: 0,\n 1: $spacer * .25,\n 2: $spacer * .5,\n 3: $spacer,\n 4: $spacer * 1.5,\n 5: $spacer * 3,\n) !default;\n// scss-docs-end spacer-variables-maps\n\n// Position\n//\n// Define the edge positioning anchors of the position utilities.\n\n// scss-docs-start position-map\n$position-values: (\n 0: 0,\n 50: 50%,\n 100: 100%\n) !default;\n// scss-docs-end position-map\n\n// Body\n//\n// Settings for the `` element.\n\n$body-text-align: null !default;\n$body-color: $gray-900 !default;\n$body-bg: $white !default;\n\n$body-secondary-color: rgba($body-color, .75) !default;\n$body-secondary-bg: $gray-200 !default;\n\n$body-tertiary-color: rgba($body-color, .5) !default;\n$body-tertiary-bg: $gray-100 !default;\n\n$body-emphasis-color: $black !default;\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: $primary !default;\n$link-decoration: underline !default;\n$link-shade-percentage: 20% !default;\n$link-hover-color: shift-color($link-color, $link-shade-percentage) !default;\n$link-hover-decoration: null !default;\n\n$stretched-link-pseudo-element: after !default;\n$stretched-link-z-index: 1 !default;\n\n// Icon links\n// scss-docs-start icon-link-variables\n$icon-link-gap: .375rem !default;\n$icon-link-underline-offset: .25em !default;\n$icon-link-icon-size: 1em !default;\n$icon-link-icon-transition: .2s ease-in-out transform !default;\n$icon-link-icon-transform: translate3d(.25em, 0, 0) !default;\n// scss-docs-end icon-link-variables\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n// scss-docs-start grid-breakpoints\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px,\n xxl: 1400px\n) !default;\n// scss-docs-end grid-breakpoints\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px,\n xxl: 1320px\n) !default;\n// scss-docs-end container-max-widths\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 1.5rem !default;\n$grid-row-columns: 6 !default;\n\n// Container padding\n\n$container-padding-x: $grid-gutter-width !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n// scss-docs-start border-variables\n$border-width: 1px !default;\n$border-widths: (\n 1: 1px,\n 2: 2px,\n 3: 3px,\n 4: 4px,\n 5: 5px\n) !default;\n$border-style: solid !default;\n$border-color: $gray-300 !default;\n$border-color-translucent: rgba($black, .175) !default;\n// scss-docs-end border-variables\n\n// scss-docs-start border-radius-variables\n$border-radius: .375rem !default;\n$border-radius-sm: .25rem !default;\n$border-radius-lg: .5rem !default;\n$border-radius-xl: 1rem !default;\n$border-radius-xxl: 2rem !default;\n$border-radius-pill: 50rem !default;\n// scss-docs-end border-radius-variables\n// fusv-disable\n$border-radius-2xl: $border-radius-xxl !default; // Deprecated in v5.3.0\n// fusv-enable\n\n// scss-docs-start box-shadow-variables\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n$box-shadow-inset: inset 0 1px 2px rgba($black, .075) !default;\n// scss-docs-end box-shadow-variables\n\n$component-active-color: $white !default;\n$component-active-bg: $primary !default;\n\n// scss-docs-start focus-ring-variables\n$focus-ring-width: .25rem !default;\n$focus-ring-opacity: .25 !default;\n$focus-ring-color: rgba($primary, $focus-ring-opacity) !default;\n$focus-ring-blur: 0 !default;\n$focus-ring-box-shadow: 0 0 $focus-ring-blur $focus-ring-width $focus-ring-color !default;\n// scss-docs-end focus-ring-variables\n\n// scss-docs-start caret-variables\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n// scss-docs-end caret-variables\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n// scss-docs-start collapse-transition\n$transition-collapse: height .35s ease !default;\n$transition-collapse-width: width .35s ease !default;\n// scss-docs-end collapse-transition\n\n// stylelint-disable function-disallowed-list\n// scss-docs-start aspect-ratios\n$aspect-ratios: (\n \"1x1\": 100%,\n \"4x3\": calc(3 / 4 * 100%),\n \"16x9\": calc(9 / 16 * 100%),\n \"21x9\": calc(9 / 21 * 100%)\n) !default;\n// scss-docs-end aspect-ratios\n// stylelint-enable function-disallowed-list\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// scss-docs-start font-variables\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n// stylelint-enable value-keyword-case\n$font-family-base: var(--#{$prefix}font-sans-serif) !default;\n$font-family-code: var(--#{$prefix}font-monospace) !default;\n\n// $font-size-root affects the value of `rem`, which is used for as well font sizes, paddings, and margins\n// $font-size-base affects the font size of the body text\n$font-size-root: null !default;\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-sm: $font-size-base * .875 !default;\n$font-size-lg: $font-size-base * 1.25 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-medium: 500 !default;\n$font-weight-semibold: 600 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n\n$line-height-base: 1.5 !default;\n$line-height-sm: 1.25 !default;\n$line-height-lg: 2 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n// scss-docs-end font-variables\n\n// scss-docs-start font-sizes\n$font-sizes: (\n 1: $h1-font-size,\n 2: $h2-font-size,\n 3: $h3-font-size,\n 4: $h4-font-size,\n 5: $h5-font-size,\n 6: $h6-font-size\n) !default;\n// scss-docs-end font-sizes\n\n// scss-docs-start headings-variables\n$headings-margin-bottom: $spacer * .5 !default;\n$headings-font-family: null !default;\n$headings-font-style: null !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: inherit !default;\n// scss-docs-end headings-variables\n\n// scss-docs-start display-headings\n$display-font-sizes: (\n 1: 5rem,\n 2: 4.5rem,\n 3: 4rem,\n 4: 3.5rem,\n 5: 3rem,\n 6: 2.5rem\n) !default;\n\n$display-font-family: null !default;\n$display-font-style: null !default;\n$display-font-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n// scss-docs-end display-headings\n\n// scss-docs-start type-variables\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: .875em !default;\n\n$sub-sup-font-size: .75em !default;\n\n// fusv-disable\n$text-muted: var(--#{$prefix}secondary-color) !default; // Deprecated in 5.3.0\n// fusv-enable\n\n$initialism-font-size: $small-font-size !default;\n\n$blockquote-margin-y: $spacer !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n$blockquote-footer-color: $gray-600 !default;\n$blockquote-footer-font-size: $small-font-size !default;\n\n$hr-margin-y: $spacer !default;\n$hr-color: inherit !default;\n\n// fusv-disable\n$hr-bg-color: null !default; // Deprecated in v5.2.0\n$hr-height: null !default; // Deprecated in v5.2.0\n// fusv-enable\n\n$hr-border-color: null !default; // Allows for inherited colors\n$hr-border-width: var(--#{$prefix}border-width) !default;\n$hr-opacity: .25 !default;\n\n// scss-docs-start vr-variables\n$vr-border-width: var(--#{$prefix}border-width) !default;\n// scss-docs-end vr-variables\n\n$legend-margin-bottom: .5rem !default;\n$legend-font-size: 1.5rem !default;\n$legend-font-weight: null !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-padding: .1875em !default;\n$mark-color: $body-color !default;\n$mark-bg: $yellow-100 !default;\n// scss-docs-end type-variables\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n// scss-docs-start table-variables\n$table-cell-padding-y: .5rem !default;\n$table-cell-padding-x: .5rem !default;\n$table-cell-padding-y-sm: .25rem !default;\n$table-cell-padding-x-sm: .25rem !default;\n\n$table-cell-vertical-align: top !default;\n\n$table-color: var(--#{$prefix}emphasis-color) !default;\n$table-bg: var(--#{$prefix}body-bg) !default;\n$table-accent-bg: transparent !default;\n\n$table-th-font-weight: null !default;\n\n$table-striped-color: $table-color !default;\n$table-striped-bg-factor: .05 !default;\n$table-striped-bg: rgba(var(--#{$prefix}emphasis-color-rgb), $table-striped-bg-factor) !default;\n\n$table-active-color: $table-color !default;\n$table-active-bg-factor: .1 !default;\n$table-active-bg: rgba(var(--#{$prefix}emphasis-color-rgb), $table-active-bg-factor) !default;\n\n$table-hover-color: $table-color !default;\n$table-hover-bg-factor: .075 !default;\n$table-hover-bg: rgba(var(--#{$prefix}emphasis-color-rgb), $table-hover-bg-factor) !default;\n\n$table-border-factor: .2 !default;\n$table-border-width: var(--#{$prefix}border-width) !default;\n$table-border-color: var(--#{$prefix}border-color) !default;\n\n$table-striped-order: odd !default;\n$table-striped-columns-order: even !default;\n\n$table-group-separator-color: currentcolor !default;\n\n$table-caption-color: var(--#{$prefix}secondary-color) !default;\n\n$table-bg-scale: -80% !default;\n// scss-docs-end table-variables\n\n// scss-docs-start table-loop\n$table-variants: (\n \"primary\": shift-color($primary, $table-bg-scale),\n \"secondary\": shift-color($secondary, $table-bg-scale),\n \"success\": shift-color($success, $table-bg-scale),\n \"info\": shift-color($info, $table-bg-scale),\n \"warning\": shift-color($warning, $table-bg-scale),\n \"danger\": shift-color($danger, $table-bg-scale),\n \"light\": $light,\n \"dark\": $dark,\n) !default;\n// scss-docs-end table-loop\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n// scss-docs-start input-btn-variables\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-font-family: null !default;\n$input-btn-font-size: $font-size-base !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: $focus-ring-width !default;\n$input-btn-focus-color-opacity: $focus-ring-opacity !default;\n$input-btn-focus-color: $focus-ring-color !default;\n$input-btn-focus-blur: $focus-ring-blur !default;\n$input-btn-focus-box-shadow: $focus-ring-box-shadow !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-font-size-sm: $font-size-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-font-size-lg: $font-size-lg !default;\n\n$input-btn-border-width: var(--#{$prefix}border-width) !default;\n// scss-docs-end input-btn-variables\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n// scss-docs-start btn-variables\n$btn-color: var(--#{$prefix}body-color) !default;\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-font-family: $input-btn-font-family !default;\n$btn-font-size: $input-btn-font-size !default;\n$btn-line-height: $input-btn-line-height !default;\n$btn-white-space: null !default; // Set to `nowrap` to prevent text wrapping\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-font-size-sm: $input-btn-font-size-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-font-size-lg: $input-btn-font-size-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-color: var(--#{$prefix}link-color) !default;\n$btn-link-hover-color: var(--#{$prefix}link-hover-color) !default;\n$btn-link-disabled-color: $gray-600 !default;\n$btn-link-focus-shadow-rgb: to-rgb(mix(color-contrast($link-color), $link-color, 15%)) !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: var(--#{$prefix}border-radius) !default;\n$btn-border-radius-sm: var(--#{$prefix}border-radius-sm) !default;\n$btn-border-radius-lg: var(--#{$prefix}border-radius-lg) !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$btn-hover-bg-shade-amount: 15% !default;\n$btn-hover-bg-tint-amount: 15% !default;\n$btn-hover-border-shade-amount: 20% !default;\n$btn-hover-border-tint-amount: 10% !default;\n$btn-active-bg-shade-amount: 20% !default;\n$btn-active-bg-tint-amount: 20% !default;\n$btn-active-border-shade-amount: 25% !default;\n$btn-active-border-tint-amount: 10% !default;\n// scss-docs-end btn-variables\n\n\n// Forms\n\n// scss-docs-start form-text-variables\n$form-text-margin-top: .25rem !default;\n$form-text-font-size: $small-font-size !default;\n$form-text-font-style: null !default;\n$form-text-font-weight: null !default;\n$form-text-color: var(--#{$prefix}secondary-color) !default;\n// scss-docs-end form-text-variables\n\n// scss-docs-start form-label-variables\n$form-label-margin-bottom: .5rem !default;\n$form-label-font-size: null !default;\n$form-label-font-style: null !default;\n$form-label-font-weight: null !default;\n$form-label-color: null !default;\n// scss-docs-end form-label-variables\n\n// scss-docs-start form-input-variables\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-font-family: $input-btn-font-family !default;\n$input-font-size: $input-btn-font-size !default;\n$input-font-weight: $font-weight-base !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-font-size-sm: $input-btn-font-size-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-font-size-lg: $input-btn-font-size-lg !default;\n\n$input-bg: var(--#{$prefix}body-bg) !default;\n$input-disabled-color: null !default;\n$input-disabled-bg: var(--#{$prefix}secondary-bg) !default;\n$input-disabled-border-color: null !default;\n\n$input-color: var(--#{$prefix}body-color) !default;\n$input-border-color: var(--#{$prefix}border-color) !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: var(--#{$prefix}box-shadow-inset) !default;\n\n$input-border-radius: var(--#{$prefix}border-radius) !default;\n$input-border-radius-sm: var(--#{$prefix}border-radius-sm) !default;\n$input-border-radius-lg: var(--#{$prefix}border-radius-lg) !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: tint-color($component-active-bg, 50%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: var(--#{$prefix}secondary-color) !default;\n$input-plaintext-color: var(--#{$prefix}body-color) !default;\n\n$input-height-border: calc(#{$input-border-width} * 2) !default; // stylelint-disable-line function-disallowed-list\n\n$input-height-inner: add($input-line-height * 1em, $input-padding-y * 2) !default;\n$input-height-inner-half: add($input-line-height * .5em, $input-padding-y) !default;\n$input-height-inner-quarter: add($input-line-height * .25em, $input-padding-y * .5) !default;\n\n$input-height: add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default;\n$input-height-sm: add($input-line-height * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;\n$input-height-lg: add($input-line-height * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-color-width: 3rem !default;\n// scss-docs-end form-input-variables\n\n// scss-docs-start form-check-variables\n$form-check-input-width: 1em !default;\n$form-check-min-height: $font-size-base * $line-height-base !default;\n$form-check-padding-start: $form-check-input-width + .5em !default;\n$form-check-margin-bottom: .125rem !default;\n$form-check-label-color: null !default;\n$form-check-label-cursor: null !default;\n$form-check-transition: null !default;\n\n$form-check-input-active-filter: brightness(90%) !default;\n\n$form-check-input-bg: $input-bg !default;\n$form-check-input-border: var(--#{$prefix}border-width) solid var(--#{$prefix}border-color) !default;\n$form-check-input-border-radius: .25em !default;\n$form-check-radio-border-radius: 50% !default;\n$form-check-input-focus-border: $input-focus-border-color !default;\n$form-check-input-focus-box-shadow: $focus-ring-box-shadow !default;\n\n$form-check-input-checked-color: $component-active-color !default;\n$form-check-input-checked-bg-color: $component-active-bg !default;\n$form-check-input-checked-border-color: $form-check-input-checked-bg-color !default;\n$form-check-input-checked-bg-image: url(\"data:image/svg+xml,\") !default;\n$form-check-radio-checked-bg-image: url(\"data:image/svg+xml,\") !default;\n\n$form-check-input-indeterminate-color: $component-active-color !default;\n$form-check-input-indeterminate-bg-color: $component-active-bg !default;\n$form-check-input-indeterminate-border-color: $form-check-input-indeterminate-bg-color !default;\n$form-check-input-indeterminate-bg-image: url(\"data:image/svg+xml,\") !default;\n\n$form-check-input-disabled-opacity: .5 !default;\n$form-check-label-disabled-opacity: $form-check-input-disabled-opacity !default;\n$form-check-btn-check-disabled-opacity: $btn-disabled-opacity !default;\n\n$form-check-inline-margin-end: 1rem !default;\n// scss-docs-end form-check-variables\n\n// scss-docs-start form-switch-variables\n$form-switch-color: rgba($black, .25) !default;\n$form-switch-width: 2em !default;\n$form-switch-padding-start: $form-switch-width + .5em !default;\n$form-switch-bg-image: url(\"data:image/svg+xml,\") !default;\n$form-switch-border-radius: $form-switch-width !default;\n$form-switch-transition: background-position .15s ease-in-out !default;\n\n$form-switch-focus-color: $input-focus-border-color !default;\n$form-switch-focus-bg-image: url(\"data:image/svg+xml,\") !default;\n\n$form-switch-checked-color: $component-active-color !default;\n$form-switch-checked-bg-image: url(\"data:image/svg+xml,\") !default;\n$form-switch-checked-bg-position: right center !default;\n// scss-docs-end form-switch-variables\n\n// scss-docs-start input-group-variables\n$input-group-addon-padding-y: $input-padding-y !default;\n$input-group-addon-padding-x: $input-padding-x !default;\n$input-group-addon-font-weight: $input-font-weight !default;\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: var(--#{$prefix}tertiary-bg) !default;\n$input-group-addon-border-color: $input-border-color !default;\n// scss-docs-end input-group-variables\n\n// scss-docs-start form-select-variables\n$form-select-padding-y: $input-padding-y !default;\n$form-select-padding-x: $input-padding-x !default;\n$form-select-font-family: $input-font-family !default;\n$form-select-font-size: $input-font-size !default;\n$form-select-indicator-padding: $form-select-padding-x * 3 !default; // Extra padding for background-image\n$form-select-font-weight: $input-font-weight !default;\n$form-select-line-height: $input-line-height !default;\n$form-select-color: $input-color !default;\n$form-select-bg: $input-bg !default;\n$form-select-disabled-color: null !default;\n$form-select-disabled-bg: $input-disabled-bg !default;\n$form-select-disabled-border-color: $input-disabled-border-color !default;\n$form-select-bg-position: right $form-select-padding-x center !default;\n$form-select-bg-size: 16px 12px !default; // In pixels because image dimensions\n$form-select-indicator-color: $gray-800 !default;\n$form-select-indicator: url(\"data:image/svg+xml,\") !default;\n\n$form-select-feedback-icon-padding-end: $form-select-padding-x * 2.5 + $form-select-indicator-padding !default;\n$form-select-feedback-icon-position: center right $form-select-indicator-padding !default;\n$form-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$form-select-border-width: $input-border-width !default;\n$form-select-border-color: $input-border-color !default;\n$form-select-border-radius: $input-border-radius !default;\n$form-select-box-shadow: var(--#{$prefix}box-shadow-inset) !default;\n\n$form-select-focus-border-color: $input-focus-border-color !default;\n$form-select-focus-width: $input-focus-width !default;\n$form-select-focus-box-shadow: 0 0 0 $form-select-focus-width $input-btn-focus-color !default;\n\n$form-select-padding-y-sm: $input-padding-y-sm !default;\n$form-select-padding-x-sm: $input-padding-x-sm !default;\n$form-select-font-size-sm: $input-font-size-sm !default;\n$form-select-border-radius-sm: $input-border-radius-sm !default;\n\n$form-select-padding-y-lg: $input-padding-y-lg !default;\n$form-select-padding-x-lg: $input-padding-x-lg !default;\n$form-select-font-size-lg: $input-font-size-lg !default;\n$form-select-border-radius-lg: $input-border-radius-lg !default;\n\n$form-select-transition: $input-transition !default;\n// scss-docs-end form-select-variables\n\n// scss-docs-start form-range-variables\n$form-range-track-width: 100% !default;\n$form-range-track-height: .5rem !default;\n$form-range-track-cursor: pointer !default;\n$form-range-track-bg: var(--#{$prefix}secondary-bg) !default;\n$form-range-track-border-radius: 1rem !default;\n$form-range-track-box-shadow: var(--#{$prefix}box-shadow-inset) !default;\n\n$form-range-thumb-width: 1rem !default;\n$form-range-thumb-height: $form-range-thumb-width !default;\n$form-range-thumb-bg: $component-active-bg !default;\n$form-range-thumb-border: 0 !default;\n$form-range-thumb-border-radius: 1rem !default;\n$form-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$form-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$form-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in Edge\n$form-range-thumb-active-bg: tint-color($component-active-bg, 70%) !default;\n$form-range-thumb-disabled-bg: var(--#{$prefix}secondary-color) !default;\n$form-range-thumb-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n// scss-docs-end form-range-variables\n\n// scss-docs-start form-file-variables\n$form-file-button-color: $input-color !default;\n$form-file-button-bg: var(--#{$prefix}tertiary-bg) !default;\n$form-file-button-hover-bg: var(--#{$prefix}secondary-bg) !default;\n// scss-docs-end form-file-variables\n\n// scss-docs-start form-floating-variables\n$form-floating-height: add(3.5rem, $input-height-border) !default;\n$form-floating-line-height: 1.25 !default;\n$form-floating-padding-x: $input-padding-x !default;\n$form-floating-padding-y: 1rem !default;\n$form-floating-input-padding-t: 1.625rem !default;\n$form-floating-input-padding-b: .625rem !default;\n$form-floating-label-height: 1.5em !default;\n$form-floating-label-opacity: .65 !default;\n$form-floating-label-transform: scale(.85) translateY(-.5rem) translateX(.15rem) !default;\n$form-floating-label-disabled-color: $gray-600 !default;\n$form-floating-transition: opacity .1s ease-in-out, transform .1s ease-in-out !default;\n// scss-docs-end form-floating-variables\n\n// Form validation\n\n// scss-docs-start form-feedback-variables\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $form-text-font-size !default;\n$form-feedback-font-style: $form-text-font-style !default;\n$form-feedback-valid-color: $success !default;\n$form-feedback-invalid-color: $danger !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: url(\"data:image/svg+xml,\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: url(\"data:image/svg+xml,\") !default;\n// scss-docs-end form-feedback-variables\n\n// scss-docs-start form-validation-colors\n$form-valid-color: $form-feedback-valid-color !default;\n$form-valid-border-color: $form-feedback-valid-color !default;\n$form-invalid-color: $form-feedback-invalid-color !default;\n$form-invalid-border-color: $form-feedback-invalid-color !default;\n// scss-docs-end form-validation-colors\n\n// scss-docs-start form-validation-states\n$form-validation-states: (\n \"valid\": (\n \"color\": var(--#{$prefix}form-valid-color),\n \"icon\": $form-feedback-icon-valid,\n \"tooltip-color\": #fff,\n \"tooltip-bg-color\": var(--#{$prefix}success),\n \"focus-box-shadow\": 0 0 $input-btn-focus-blur $input-focus-width rgba(var(--#{$prefix}success-rgb), $input-btn-focus-color-opacity),\n \"border-color\": var(--#{$prefix}form-valid-border-color),\n ),\n \"invalid\": (\n \"color\": var(--#{$prefix}form-invalid-color),\n \"icon\": $form-feedback-icon-invalid,\n \"tooltip-color\": #fff,\n \"tooltip-bg-color\": var(--#{$prefix}danger),\n \"focus-box-shadow\": 0 0 $input-btn-focus-blur $input-focus-width rgba(var(--#{$prefix}danger-rgb), $input-btn-focus-color-opacity),\n \"border-color\": var(--#{$prefix}form-invalid-border-color),\n )\n) !default;\n// scss-docs-end form-validation-states\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-offcanvas-backdrop: 1040 !default;\n$zindex-offcanvas: 1045 !default;\n$zindex-modal-backdrop: 1050 !default;\n$zindex-modal: 1055 !default;\n$zindex-popover: 1070 !default;\n$zindex-tooltip: 1080 !default;\n$zindex-toast: 1090 !default;\n// scss-docs-end zindex-stack\n\n// scss-docs-start zindex-levels-map\n$zindex-levels: (\n n1: -1,\n 0: 0,\n 1: 1,\n 2: 2,\n 3: 3\n) !default;\n// scss-docs-end zindex-levels-map\n\n\n// Navs\n\n// scss-docs-start nav-variables\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-font-size: null !default;\n$nav-link-font-weight: null !default;\n$nav-link-color: var(--#{$prefix}link-color) !default;\n$nav-link-hover-color: var(--#{$prefix}link-hover-color) !default;\n$nav-link-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out !default;\n$nav-link-disabled-color: var(--#{$prefix}secondary-color) !default;\n$nav-link-focus-box-shadow: $focus-ring-box-shadow !default;\n\n$nav-tabs-border-color: var(--#{$prefix}border-color) !default;\n$nav-tabs-border-width: var(--#{$prefix}border-width) !default;\n$nav-tabs-border-radius: var(--#{$prefix}border-radius) !default;\n$nav-tabs-link-hover-border-color: var(--#{$prefix}secondary-bg) var(--#{$prefix}secondary-bg) $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: var(--#{$prefix}emphasis-color) !default;\n$nav-tabs-link-active-bg: var(--#{$prefix}body-bg) !default;\n$nav-tabs-link-active-border-color: var(--#{$prefix}border-color) var(--#{$prefix}border-color) $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: var(--#{$prefix}border-radius) !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n$nav-underline-gap: 1rem !default;\n$nav-underline-border-width: .125rem !default;\n$nav-underline-link-active-color: var(--#{$prefix}emphasis-color) !default;\n// scss-docs-end nav-variables\n\n\n// Navbar\n\n// scss-docs-start navbar-variables\n$navbar-padding-y: $spacer * .5 !default;\n$navbar-padding-x: null !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) * .5 !default;\n$navbar-brand-margin-end: 1rem !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n$navbar-toggler-focus-width: $btn-focus-width !default;\n$navbar-toggler-transition: box-shadow .15s ease-in-out !default;\n\n$navbar-light-color: rgba(var(--#{$prefix}emphasis-color-rgb), .65) !default;\n$navbar-light-hover-color: rgba(var(--#{$prefix}emphasis-color-rgb), .8) !default;\n$navbar-light-active-color: rgba(var(--#{$prefix}emphasis-color-rgb), 1) !default;\n$navbar-light-disabled-color: rgba(var(--#{$prefix}emphasis-color-rgb), .3) !default;\n$navbar-light-icon-color: rgba($body-color, .75) !default;\n$navbar-light-toggler-icon-bg: url(\"data:image/svg+xml,\") !default;\n$navbar-light-toggler-border-color: rgba(var(--#{$prefix}emphasis-color-rgb), .15) !default;\n$navbar-light-brand-color: $navbar-light-active-color !default;\n$navbar-light-brand-hover-color: $navbar-light-active-color !default;\n// scss-docs-end navbar-variables\n\n// scss-docs-start navbar-dark-variables\n$navbar-dark-color: rgba($white, .55) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-icon-color: $navbar-dark-color !default;\n$navbar-dark-toggler-icon-bg: url(\"data:image/svg+xml,\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n$navbar-dark-brand-color: $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;\n// scss-docs-end navbar-dark-variables\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n// scss-docs-start dropdown-variables\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-x: 0 !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-font-size: $font-size-base !default;\n$dropdown-color: var(--#{$prefix}body-color) !default;\n$dropdown-bg: var(--#{$prefix}body-bg) !default;\n$dropdown-border-color: var(--#{$prefix}border-color-translucent) !default;\n$dropdown-border-radius: var(--#{$prefix}border-radius) !default;\n$dropdown-border-width: var(--#{$prefix}border-width) !default;\n$dropdown-inner-border-radius: calc(#{$dropdown-border-radius} - #{$dropdown-border-width}) !default; // stylelint-disable-line function-disallowed-list\n$dropdown-divider-bg: $dropdown-border-color !default;\n$dropdown-divider-margin-y: $spacer * .5 !default;\n$dropdown-box-shadow: var(--#{$prefix}box-shadow) !default;\n\n$dropdown-link-color: var(--#{$prefix}body-color) !default;\n$dropdown-link-hover-color: $dropdown-link-color !default;\n$dropdown-link-hover-bg: var(--#{$prefix}tertiary-bg) !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: var(--#{$prefix}tertiary-color) !default;\n\n$dropdown-item-padding-y: $spacer * .25 !default;\n$dropdown-item-padding-x: $spacer !default;\n\n$dropdown-header-color: $gray-600 !default;\n$dropdown-header-padding-x: $dropdown-item-padding-x !default;\n$dropdown-header-padding-y: $dropdown-padding-y !default;\n// fusv-disable\n$dropdown-header-padding: $dropdown-header-padding-y $dropdown-header-padding-x !default; // Deprecated in v5.2.0\n// fusv-enable\n// scss-docs-end dropdown-variables\n\n// scss-docs-start dropdown-dark-variables\n$dropdown-dark-color: $gray-300 !default;\n$dropdown-dark-bg: $gray-800 !default;\n$dropdown-dark-border-color: $dropdown-border-color !default;\n$dropdown-dark-divider-bg: $dropdown-divider-bg !default;\n$dropdown-dark-box-shadow: null !default;\n$dropdown-dark-link-color: $dropdown-dark-color !default;\n$dropdown-dark-link-hover-color: $white !default;\n$dropdown-dark-link-hover-bg: rgba($white, .15) !default;\n$dropdown-dark-link-active-color: $dropdown-link-active-color !default;\n$dropdown-dark-link-active-bg: $dropdown-link-active-bg !default;\n$dropdown-dark-link-disabled-color: $gray-500 !default;\n$dropdown-dark-header-color: $gray-500 !default;\n// scss-docs-end dropdown-dark-variables\n\n\n// Pagination\n\n// scss-docs-start pagination-variables\n$pagination-padding-y: .375rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n\n$pagination-font-size: $font-size-base !default;\n\n$pagination-color: var(--#{$prefix}link-color) !default;\n$pagination-bg: var(--#{$prefix}body-bg) !default;\n$pagination-border-radius: var(--#{$prefix}border-radius) !default;\n$pagination-border-width: var(--#{$prefix}border-width) !default;\n$pagination-margin-start: calc(#{$pagination-border-width} * -1) !default; // stylelint-disable-line function-disallowed-list\n$pagination-border-color: var(--#{$prefix}border-color) !default;\n\n$pagination-focus-color: var(--#{$prefix}link-hover-color) !default;\n$pagination-focus-bg: var(--#{$prefix}secondary-bg) !default;\n$pagination-focus-box-shadow: $focus-ring-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: var(--#{$prefix}link-hover-color) !default;\n$pagination-hover-bg: var(--#{$prefix}tertiary-bg) !default;\n$pagination-hover-border-color: var(--#{$prefix}border-color) !default; // Todo in v6: remove this?\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $component-active-bg !default;\n\n$pagination-disabled-color: var(--#{$prefix}secondary-color) !default;\n$pagination-disabled-bg: var(--#{$prefix}secondary-bg) !default;\n$pagination-disabled-border-color: var(--#{$prefix}border-color) !default;\n\n$pagination-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$pagination-border-radius-sm: var(--#{$prefix}border-radius-sm) !default;\n$pagination-border-radius-lg: var(--#{$prefix}border-radius-lg) !default;\n// scss-docs-end pagination-variables\n\n\n// Placeholders\n\n// scss-docs-start placeholders\n$placeholder-opacity-max: .5 !default;\n$placeholder-opacity-min: .2 !default;\n// scss-docs-end placeholders\n\n// Cards\n\n// scss-docs-start card-variables\n$card-spacer-y: $spacer !default;\n$card-spacer-x: $spacer !default;\n$card-title-spacer-y: $spacer * .5 !default;\n$card-title-color: null !default;\n$card-subtitle-color: null !default;\n$card-border-width: var(--#{$prefix}border-width) !default;\n$card-border-color: var(--#{$prefix}border-color-translucent) !default;\n$card-border-radius: var(--#{$prefix}border-radius) !default;\n$card-box-shadow: null !default;\n$card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default;\n$card-cap-padding-y: $card-spacer-y * .5 !default;\n$card-cap-padding-x: $card-spacer-x !default;\n$card-cap-bg: rgba(var(--#{$prefix}body-color-rgb), .03) !default;\n$card-cap-color: null !default;\n$card-height: null !default;\n$card-color: null !default;\n$card-bg: var(--#{$prefix}body-bg) !default;\n$card-img-overlay-padding: $spacer !default;\n$card-group-margin: $grid-gutter-width * .5 !default;\n// scss-docs-end card-variables\n\n// Accordion\n\n// scss-docs-start accordion-variables\n$accordion-padding-y: 1rem !default;\n$accordion-padding-x: 1.25rem !default;\n$accordion-color: var(--#{$prefix}body-color) !default;\n$accordion-bg: var(--#{$prefix}body-bg) !default;\n$accordion-border-width: var(--#{$prefix}border-width) !default;\n$accordion-border-color: var(--#{$prefix}border-color) !default;\n$accordion-border-radius: var(--#{$prefix}border-radius) !default;\n$accordion-inner-border-radius: subtract($accordion-border-radius, $accordion-border-width) !default;\n\n$accordion-body-padding-y: $accordion-padding-y !default;\n$accordion-body-padding-x: $accordion-padding-x !default;\n\n$accordion-button-padding-y: $accordion-padding-y !default;\n$accordion-button-padding-x: $accordion-padding-x !default;\n$accordion-button-color: var(--#{$prefix}body-color) !default;\n$accordion-button-bg: var(--#{$prefix}accordion-bg) !default;\n$accordion-transition: $btn-transition, border-radius .15s ease !default;\n$accordion-button-active-bg: var(--#{$prefix}primary-bg-subtle) !default;\n$accordion-button-active-color: var(--#{$prefix}primary-text-emphasis) !default;\n\n$accordion-button-focus-border-color: $input-focus-border-color !default;\n$accordion-button-focus-box-shadow: $btn-focus-box-shadow !default;\n\n$accordion-icon-width: 1.25rem !default;\n$accordion-icon-color: $body-color !default;\n$accordion-icon-active-color: $primary-text-emphasis !default;\n$accordion-icon-transition: transform .2s ease-in-out !default;\n$accordion-icon-transform: rotate(-180deg) !default;\n\n$accordion-button-icon: url(\"data:image/svg+xml,\") !default;\n$accordion-button-active-icon: url(\"data:image/svg+xml,\") !default;\n// scss-docs-end accordion-variables\n\n// Tooltips\n\n// scss-docs-start tooltip-variables\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: var(--#{$prefix}body-bg) !default;\n$tooltip-bg: var(--#{$prefix}emphasis-color) !default;\n$tooltip-border-radius: var(--#{$prefix}border-radius) !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: $spacer * .25 !default;\n$tooltip-padding-x: $spacer * .5 !default;\n$tooltip-margin: null !default; // TODO: remove this in v6\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n// fusv-disable\n$tooltip-arrow-color: null !default; // Deprecated in Bootstrap 5.2.0 for CSS variables\n// fusv-enable\n// scss-docs-end tooltip-variables\n\n// Form tooltips must come after regular tooltips\n// scss-docs-start tooltip-feedback-variables\n$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size: $tooltip-font-size !default;\n$form-feedback-tooltip-line-height: null !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n// scss-docs-end tooltip-feedback-variables\n\n\n// Popovers\n\n// scss-docs-start popover-variables\n$popover-font-size: $font-size-sm !default;\n$popover-bg: var(--#{$prefix}body-bg) !default;\n$popover-max-width: 276px !default;\n$popover-border-width: var(--#{$prefix}border-width) !default;\n$popover-border-color: var(--#{$prefix}border-color-translucent) !default;\n$popover-border-radius: var(--#{$prefix}border-radius-lg) !default;\n$popover-inner-border-radius: calc(#{$popover-border-radius} - #{$popover-border-width}) !default; // stylelint-disable-line function-disallowed-list\n$popover-box-shadow: var(--#{$prefix}box-shadow) !default;\n\n$popover-header-font-size: $font-size-base !default;\n$popover-header-bg: var(--#{$prefix}secondary-bg) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: $spacer !default;\n\n$popover-body-color: var(--#{$prefix}body-color) !default;\n$popover-body-padding-y: $spacer !default;\n$popover-body-padding-x: $spacer !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n// scss-docs-end popover-variables\n\n// fusv-disable\n// Deprecated in Bootstrap 5.2.0 for CSS variables\n$popover-arrow-color: $popover-bg !default;\n$popover-arrow-outer-color: var(--#{$prefix}border-color-translucent) !default;\n// fusv-enable\n\n\n// Toasts\n\n// scss-docs-start toast-variables\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .5rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !default;\n$toast-background-color: rgba(var(--#{$prefix}body-bg-rgb), .85) !default;\n$toast-border-width: var(--#{$prefix}border-width) !default;\n$toast-border-color: var(--#{$prefix}border-color-translucent) !default;\n$toast-border-radius: var(--#{$prefix}border-radius) !default;\n$toast-box-shadow: var(--#{$prefix}box-shadow) !default;\n$toast-spacing: $container-padding-x !default;\n\n$toast-header-color: var(--#{$prefix}secondary-color) !default;\n$toast-header-background-color: rgba(var(--#{$prefix}body-bg-rgb), .85) !default;\n$toast-header-border-color: $toast-border-color !default;\n// scss-docs-end toast-variables\n\n\n// Badges\n\n// scss-docs-start badge-variables\n$badge-font-size: .75em !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-color: $white !default;\n$badge-padding-y: .35em !default;\n$badge-padding-x: .65em !default;\n$badge-border-radius: var(--#{$prefix}border-radius) !default;\n// scss-docs-end badge-variables\n\n\n// Modals\n\n// scss-docs-start modal-variables\n$modal-inner-padding: $spacer !default;\n\n$modal-footer-margin-between: .5rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-color: null !default;\n$modal-content-bg: var(--#{$prefix}body-bg) !default;\n$modal-content-border-color: var(--#{$prefix}border-color-translucent) !default;\n$modal-content-border-width: var(--#{$prefix}border-width) !default;\n$modal-content-border-radius: var(--#{$prefix}border-radius-lg) !default;\n$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;\n$modal-content-box-shadow-xs: var(--#{$prefix}box-shadow-sm) !default;\n$modal-content-box-shadow-sm-up: var(--#{$prefix}box-shadow) !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n\n$modal-header-border-color: var(--#{$prefix}border-color) !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-header-padding-y: $modal-inner-padding !default;\n$modal-header-padding-x: $modal-inner-padding !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-footer-bg: null !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n\n$modal-sm: 300px !default;\n$modal-md: 500px !default;\n$modal-lg: 800px !default;\n$modal-xl: 1140px !default;\n\n$modal-fade-transform: translate(0, -50px) !default;\n$modal-show-transform: none !default;\n$modal-transition: transform .3s ease-out !default;\n$modal-scale-transform: scale(1.02) !default;\n// scss-docs-end modal-variables\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n// scss-docs-start alert-variables\n$alert-padding-y: $spacer !default;\n$alert-padding-x: $spacer !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: var(--#{$prefix}border-radius) !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: var(--#{$prefix}border-width) !default;\n$alert-dismissible-padding-r: $alert-padding-x * 3 !default; // 3x covers width of x plus default padding on either side\n// scss-docs-end alert-variables\n\n// fusv-disable\n$alert-bg-scale: -80% !default; // Deprecated in v5.2.0, to be removed in v6\n$alert-border-scale: -70% !default; // Deprecated in v5.2.0, to be removed in v6\n$alert-color-scale: 40% !default; // Deprecated in v5.2.0, to be removed in v6\n// fusv-enable\n\n// Progress bars\n\n// scss-docs-start progress-variables\n$progress-height: 1rem !default;\n$progress-font-size: $font-size-base * .75 !default;\n$progress-bg: var(--#{$prefix}secondary-bg) !default;\n$progress-border-radius: var(--#{$prefix}border-radius) !default;\n$progress-box-shadow: var(--#{$prefix}box-shadow-inset) !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: $primary !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n// scss-docs-end progress-variables\n\n\n// List group\n\n// scss-docs-start list-group-variables\n$list-group-color: var(--#{$prefix}body-color) !default;\n$list-group-bg: var(--#{$prefix}body-bg) !default;\n$list-group-border-color: var(--#{$prefix}border-color) !default;\n$list-group-border-width: var(--#{$prefix}border-width) !default;\n$list-group-border-radius: var(--#{$prefix}border-radius) !default;\n\n$list-group-item-padding-y: $spacer * .5 !default;\n$list-group-item-padding-x: $spacer !default;\n// fusv-disable\n$list-group-item-bg-scale: -80% !default; // Deprecated in v5.3.0\n$list-group-item-color-scale: 40% !default; // Deprecated in v5.3.0\n// fusv-enable\n\n$list-group-hover-bg: var(--#{$prefix}tertiary-bg) !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: var(--#{$prefix}secondary-color) !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: var(--#{$prefix}secondary-color) !default;\n$list-group-action-hover-color: var(--#{$prefix}emphasis-color) !default;\n\n$list-group-action-active-color: var(--#{$prefix}body-color) !default;\n$list-group-action-active-bg: var(--#{$prefix}secondary-bg) !default;\n// scss-docs-end list-group-variables\n\n\n// Image thumbnails\n\n// scss-docs-start thumbnail-variables\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: var(--#{$prefix}body-bg) !default;\n$thumbnail-border-width: var(--#{$prefix}border-width) !default;\n$thumbnail-border-color: var(--#{$prefix}border-color) !default;\n$thumbnail-border-radius: var(--#{$prefix}border-radius) !default;\n$thumbnail-box-shadow: var(--#{$prefix}box-shadow-sm) !default;\n// scss-docs-end thumbnail-variables\n\n\n// Figures\n\n// scss-docs-start figure-variables\n$figure-caption-font-size: $small-font-size !default;\n$figure-caption-color: var(--#{$prefix}secondary-color) !default;\n// scss-docs-end figure-variables\n\n\n// Breadcrumbs\n\n// scss-docs-start breadcrumb-variables\n$breadcrumb-font-size: null !default;\n$breadcrumb-padding-y: 0 !default;\n$breadcrumb-padding-x: 0 !default;\n$breadcrumb-item-padding-x: .5rem !default;\n$breadcrumb-margin-bottom: 1rem !default;\n$breadcrumb-bg: null !default;\n$breadcrumb-divider-color: var(--#{$prefix}secondary-color) !default;\n$breadcrumb-active-color: var(--#{$prefix}secondary-color) !default;\n$breadcrumb-divider: quote(\"/\") !default;\n$breadcrumb-divider-flipped: $breadcrumb-divider !default;\n$breadcrumb-border-radius: null !default;\n// scss-docs-end breadcrumb-variables\n\n// Carousel\n\n// scss-docs-start carousel-variables\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-hover-opacity: .9 !default;\n$carousel-control-transition: opacity .15s ease !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-opacity: .5 !default;\n$carousel-indicator-active-bg: $white !default;\n$carousel-indicator-active-opacity: 1 !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n$carousel-caption-padding-y: 1.25rem !default;\n$carousel-caption-spacer: 1.25rem !default;\n\n$carousel-control-icon-width: 2rem !default;\n\n$carousel-control-prev-icon-bg: url(\"data:image/svg+xml,\") !default;\n$carousel-control-next-icon-bg: url(\"data:image/svg+xml,\") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n// scss-docs-end carousel-variables\n\n// scss-docs-start carousel-dark-variables\n$carousel-dark-indicator-active-bg: $black !default;\n$carousel-dark-caption-color: $black !default;\n$carousel-dark-control-icon-filter: invert(1) grayscale(100) !default;\n// scss-docs-end carousel-dark-variables\n\n\n// Spinners\n\n// scss-docs-start spinner-variables\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-vertical-align: -.125em !default;\n$spinner-border-width: .25em !default;\n$spinner-animation-speed: .75s !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n// scss-docs-end spinner-variables\n\n\n// Close\n\n// scss-docs-start close-variables\n$btn-close-width: 1em !default;\n$btn-close-height: $btn-close-width !default;\n$btn-close-padding-x: .25em !default;\n$btn-close-padding-y: $btn-close-padding-x !default;\n$btn-close-color: $black !default;\n$btn-close-bg: url(\"data:image/svg+xml,\") !default;\n$btn-close-focus-shadow: $focus-ring-box-shadow !default;\n$btn-close-opacity: .5 !default;\n$btn-close-hover-opacity: .75 !default;\n$btn-close-focus-opacity: 1 !default;\n$btn-close-disabled-opacity: .25 !default;\n$btn-close-white-filter: invert(1) grayscale(100%) brightness(200%) !default;\n// scss-docs-end close-variables\n\n\n// Offcanvas\n\n// scss-docs-start offcanvas-variables\n$offcanvas-padding-y: $modal-inner-padding !default;\n$offcanvas-padding-x: $modal-inner-padding !default;\n$offcanvas-horizontal-width: 400px !default;\n$offcanvas-vertical-height: 30vh !default;\n$offcanvas-transition-duration: .3s !default;\n$offcanvas-border-color: $modal-content-border-color !default;\n$offcanvas-border-width: $modal-content-border-width !default;\n$offcanvas-title-line-height: $modal-title-line-height !default;\n$offcanvas-bg-color: var(--#{$prefix}body-bg) !default;\n$offcanvas-color: var(--#{$prefix}body-color) !default;\n$offcanvas-box-shadow: $modal-content-box-shadow-xs !default;\n$offcanvas-backdrop-bg: $modal-backdrop-bg !default;\n$offcanvas-backdrop-opacity: $modal-backdrop-opacity !default;\n// scss-docs-end offcanvas-variables\n\n// Code\n\n$code-font-size: $small-font-size !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .1875rem !default;\n$kbd-padding-x: .375rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: var(--#{$prefix}body-bg) !default;\n$kbd-bg: var(--#{$prefix}body-color) !default;\n$nested-kbd-font-weight: null !default; // Deprecated in v5.2.0, removing in v6\n\n$pre-color: null !default;\n","// Row\n//\n// Rows contain your columns.\n\n:root {\n @each $name, $value in $grid-breakpoints {\n --#{$prefix}breakpoint-#{$name}: #{$value};\n }\n}\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n\n > * {\n @include make-col-ready();\n }\n }\n}\n\n@if $enable-cssgrid {\n .grid {\n display: grid;\n grid-template-rows: repeat(var(--#{$prefix}rows, 1), 1fr);\n grid-template-columns: repeat(var(--#{$prefix}columns, #{$grid-columns}), 1fr);\n gap: var(--#{$prefix}gap, #{$grid-gutter-width});\n\n @include make-cssgrid();\n }\n}\n\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter: $grid-gutter-width) {\n --#{$prefix}gutter-x: #{$gutter};\n --#{$prefix}gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n // TODO: Revisit calc order after https://github.com/react-bootstrap/react-bootstrap/issues/6039 is fixed\n margin-top: calc(-1 * var(--#{$prefix}gutter-y)); // stylelint-disable-line function-disallowed-list\n margin-right: calc(-.5 * var(--#{$prefix}gutter-x)); // stylelint-disable-line function-disallowed-list\n margin-left: calc(-.5 * var(--#{$prefix}gutter-x)); // stylelint-disable-line function-disallowed-list\n}\n\n@mixin make-col-ready() {\n // Add box sizing if only the grid is loaded\n box-sizing: if(variable-exists(include-column-box-sizing) and $include-column-box-sizing, border-box, null);\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we set the width\n // later on to override this initial width.\n flex-shrink: 0;\n width: 100%;\n max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n padding-right: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n margin-top: var(--#{$prefix}gutter-y);\n}\n\n@mixin make-col($size: false, $columns: $grid-columns) {\n @if $size {\n flex: 0 0 auto;\n width: percentage(divide($size, $columns));\n\n } @else {\n flex: 1 1 0;\n max-width: 100%;\n }\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: divide($size, $columns);\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// number of columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n > * {\n flex: 0 0 auto;\n width: percentage(divide(1, $count));\n }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex: 1 0 0%; // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n }\n\n .row-cols#{$infix}-auto > * {\n @include make-col-auto();\n }\n\n @if $grid-row-columns > 0 {\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n\n // Gutters\n //\n // Make use of `.g-*`, `.gx-*` or `.gy-*` utilities to change spacing between the columns.\n @each $key, $value in $gutters {\n .g#{$infix}-#{$key},\n .gx#{$infix}-#{$key} {\n --#{$prefix}gutter-x: #{$value};\n }\n\n .g#{$infix}-#{$key},\n .gy#{$infix}-#{$key} {\n --#{$prefix}gutter-y: #{$value};\n }\n }\n }\n }\n}\n\n@mixin make-cssgrid($columns: $grid-columns, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .g-col#{$infix}-#{$i} {\n grid-column: auto / span $i;\n }\n }\n\n // Start with `1` because `0` is and invalid value.\n // Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible.\n @for $i from 1 through ($columns - 1) {\n .g-start#{$infix}-#{$i} {\n grid-column-start: $i;\n }\n }\n }\n }\n }\n}\n","// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix: \"\", $is-rfs-media-query: false) {\n $values: map-get($utility, values);\n\n // If the values are a list or string, convert it into a map\n @if type-of($values) == \"string\" or type-of(nth($values, 1)) != \"list\" {\n $values: zip($values, $values);\n }\n\n @each $key, $value in $values {\n $properties: map-get($utility, property);\n\n // Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if type-of($properties) == \"string\" {\n $properties: append((), $properties);\n }\n\n // Use custom class if present\n $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\n $property-class: if($property-class == null, \"\", $property-class);\n\n // Use custom CSS variable name if present, otherwise default to `class`\n $css-variable-name: if(map-has-key($utility, css-variable-name), map-get($utility, css-variable-name), map-get($utility, class));\n\n // State params to generate pseudo-classes\n $state: if(map-has-key($utility, state), map-get($utility, state), ());\n\n $infix: if($property-class == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (e.g. with shadow class)\n $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n @if map-get($utility, rfs) {\n // Inside the media query\n @if $is-rfs-media-query {\n $val: rfs-value($value);\n\n // Do not render anything if fluid and non fluid values are the same\n $value: if($val == rfs-fluid-value($value), null, $val);\n }\n @else {\n $value: rfs-fluid-value($value);\n }\n }\n\n $is-css-var: map-get($utility, css-var);\n $is-local-vars: map-get($utility, local-vars);\n $is-rtl: map-get($utility, rtl);\n\n @if $value != null {\n @if $is-rtl == false {\n /* rtl:begin:remove */\n }\n\n @if $is-css-var {\n .#{$property-class + $infix + $property-class-modifier} {\n --#{$prefix}#{$css-variable-name}: #{$value};\n }\n\n @each $pseudo in $state {\n .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {\n --#{$prefix}#{$css-variable-name}: #{$value};\n }\n }\n } @else {\n .#{$property-class + $infix + $property-class-modifier} {\n @each $property in $properties {\n @if $is-local-vars {\n @each $local-var, $variable in $is-local-vars {\n --#{$prefix}#{$local-var}: #{$variable};\n }\n }\n #{$property}: $value if($enable-important-utilities, !important, null);\n }\n }\n\n @each $pseudo in $state {\n .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {\n @each $property in $properties {\n @if $is-local-vars {\n @each $local-var, $variable in $is-local-vars {\n --#{$prefix}#{$local-var}: #{$variable};\n }\n }\n #{$property}: $value if($enable-important-utilities, !important, null);\n }\n }\n }\n }\n\n @if $is-rtl == false {\n /* rtl:end:remove */\n }\n }\n }\n}\n","// Loop over each breakpoint\n@each $breakpoint in map-keys($grid-breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix);\n }\n }\n }\n}\n\n// RFS rescaling\n@media (min-width: $rfs-mq-value) {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @if (map-get($grid-breakpoints, $breakpoint) < $rfs-breakpoint) {\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and map-get($utility, rfs) and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix, true);\n }\n }\n }\n }\n}\n\n\n// Print utilities\n@media print {\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Then check if the utility needs print styles\n @if type-of($utility) == \"map\" and map-get($utility, print) == true {\n @include generate-utility($utility, \"-print\");\n }\n }\n}\n"]} \ No newline at end of file diff --git a/wwws/cdn/apxweb/bootstrap/css/bootstrap-grid.min.css b/wwws/cdn/apxweb/bootstrap/css/bootstrap-grid.min.css new file mode 100644 index 0000000..46f0a44 --- /dev/null +++ b/wwws/cdn/apxweb/bootstrap/css/bootstrap-grid.min.css @@ -0,0 +1,6 @@ +/*! + * Bootstrap Grid v5.3.2 (https://getbootstrap.com/) + * Copyright 2011-2023 The Bootstrap Authors + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1400px}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{box-sizing:border-box;flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.66666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.66666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.66666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.66666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.66666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.66666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}@media (min-width:576px){.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}}@media (min-width:768px){.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}}@media (min-width:992px){.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}}@media (min-width:1200px){.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}}@media (min-width:1400px){.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-inline-grid{display:inline-grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}} +/*# sourceMappingURL=bootstrap-grid.min.css.map */ \ No newline at end of file diff --git a/wwws/cdn/apxweb/bootstrap/css/bootstrap-grid.min.css.map b/wwws/cdn/apxweb/bootstrap/css/bootstrap-grid.min.css.map new file mode 100644 index 0000000..c88c6c5 --- /dev/null +++ b/wwws/cdn/apxweb/bootstrap/css/bootstrap-grid.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/mixins/_banner.scss","../../scss/_containers.scss","dist/css/bootstrap-grid.css","../../scss/mixins/_container.scss","../../scss/mixins/_breakpoints.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_utilities.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"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","sourcesContent":["@mixin bsBanner($file) {\n /*!\n * Bootstrap #{$file} v5.3.2 (https://getbootstrap.com/)\n * Copyright 2011-2023 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n}\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-container-classes {\n // Single container class with breakpoint max-widths\n .container,\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n @each $name, $width in $grid-breakpoints {\n @if ($extend-breakpoint) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n\n // Once the current breakpoint is reached, stop extending\n @if ($breakpoint == $name) {\n $extend-breakpoint: false;\n }\n }\n }\n }\n }\n}\n","/*!\n * Bootstrap Grid v5.3.2 (https://getbootstrap.com/)\n * Copyright 2011-2023 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n.container,\n.container-fluid,\n.container-xxl,\n.container-xl,\n.container-lg,\n.container-md,\n.container-sm {\n --bs-gutter-x: 1.5rem;\n --bs-gutter-y: 0;\n width: 100%;\n padding-right: calc(var(--bs-gutter-x) * 0.5);\n padding-left: calc(var(--bs-gutter-x) * 0.5);\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container-sm, .container {\n max-width: 540px;\n }\n}\n@media (min-width: 768px) {\n .container-md, .container-sm, .container {\n max-width: 720px;\n }\n}\n@media (min-width: 992px) {\n .container-lg, .container-md, .container-sm, .container {\n max-width: 960px;\n }\n}\n@media (min-width: 1200px) {\n .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1140px;\n }\n}\n@media (min-width: 1400px) {\n .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1320px;\n }\n}\n:root {\n --bs-breakpoint-xs: 0;\n --bs-breakpoint-sm: 576px;\n --bs-breakpoint-md: 768px;\n --bs-breakpoint-lg: 992px;\n --bs-breakpoint-xl: 1200px;\n --bs-breakpoint-xxl: 1400px;\n}\n\n.row {\n --bs-gutter-x: 1.5rem;\n --bs-gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(-1 * var(--bs-gutter-y));\n margin-right: calc(-0.5 * var(--bs-gutter-x));\n margin-left: calc(-0.5 * var(--bs-gutter-x));\n}\n.row > * {\n box-sizing: border-box;\n flex-shrink: 0;\n width: 100%;\n max-width: 100%;\n padding-right: calc(var(--bs-gutter-x) * 0.5);\n padding-left: calc(var(--bs-gutter-x) * 0.5);\n margin-top: var(--bs-gutter-y);\n}\n\n.col {\n flex: 1 0 0%;\n}\n\n.row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n}\n\n.row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n}\n\n.col-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n}\n\n.col-3 {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.col-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n}\n\n.col-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n}\n\n.col-6 {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.col-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n}\n\n.col-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n}\n\n.col-9 {\n flex: 0 0 auto;\n width: 75%;\n}\n\n.col-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n}\n\n.col-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n}\n\n.col-12 {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.offset-1 {\n margin-left: 8.33333333%;\n}\n\n.offset-2 {\n margin-left: 16.66666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.33333333%;\n}\n\n.offset-5 {\n margin-left: 41.66666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.33333333%;\n}\n\n.offset-8 {\n margin-left: 66.66666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.33333333%;\n}\n\n.offset-11 {\n margin-left: 91.66666667%;\n}\n\n.g-0,\n.gx-0 {\n --bs-gutter-x: 0;\n}\n\n.g-0,\n.gy-0 {\n --bs-gutter-y: 0;\n}\n\n.g-1,\n.gx-1 {\n --bs-gutter-x: 0.25rem;\n}\n\n.g-1,\n.gy-1 {\n --bs-gutter-y: 0.25rem;\n}\n\n.g-2,\n.gx-2 {\n --bs-gutter-x: 0.5rem;\n}\n\n.g-2,\n.gy-2 {\n --bs-gutter-y: 0.5rem;\n}\n\n.g-3,\n.gx-3 {\n --bs-gutter-x: 1rem;\n}\n\n.g-3,\n.gy-3 {\n --bs-gutter-y: 1rem;\n}\n\n.g-4,\n.gx-4 {\n --bs-gutter-x: 1.5rem;\n}\n\n.g-4,\n.gy-4 {\n --bs-gutter-y: 1.5rem;\n}\n\n.g-5,\n.gx-5 {\n --bs-gutter-x: 3rem;\n}\n\n.g-5,\n.gy-5 {\n --bs-gutter-y: 3rem;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex: 1 0 0%;\n }\n .row-cols-sm-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-sm-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-sm-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-sm-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-sm-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-sm-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-sm-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-sm-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-sm-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-sm-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.33333333%;\n }\n .offset-sm-2 {\n margin-left: 16.66666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.33333333%;\n }\n .offset-sm-5 {\n margin-left: 41.66666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.33333333%;\n }\n .offset-sm-8 {\n margin-left: 66.66666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.33333333%;\n }\n .offset-sm-11 {\n margin-left: 91.66666667%;\n }\n .g-sm-0,\n .gx-sm-0 {\n --bs-gutter-x: 0;\n }\n .g-sm-0,\n .gy-sm-0 {\n --bs-gutter-y: 0;\n }\n .g-sm-1,\n .gx-sm-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-sm-1,\n .gy-sm-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-sm-2,\n .gx-sm-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-sm-2,\n .gy-sm-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-sm-3,\n .gx-sm-3 {\n --bs-gutter-x: 1rem;\n }\n .g-sm-3,\n .gy-sm-3 {\n --bs-gutter-y: 1rem;\n }\n .g-sm-4,\n .gx-sm-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-sm-4,\n .gy-sm-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-sm-5,\n .gx-sm-5 {\n --bs-gutter-x: 3rem;\n }\n .g-sm-5,\n .gy-sm-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 768px) {\n .col-md {\n flex: 1 0 0%;\n }\n .row-cols-md-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-md-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-md-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-md-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-md-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-md-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-md-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-md-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-md-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-md-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-md-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-md-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-md-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-md-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.33333333%;\n }\n .offset-md-2 {\n margin-left: 16.66666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.33333333%;\n }\n .offset-md-5 {\n margin-left: 41.66666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.33333333%;\n }\n .offset-md-8 {\n margin-left: 66.66666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.33333333%;\n }\n .offset-md-11 {\n margin-left: 91.66666667%;\n }\n .g-md-0,\n .gx-md-0 {\n --bs-gutter-x: 0;\n }\n .g-md-0,\n .gy-md-0 {\n --bs-gutter-y: 0;\n }\n .g-md-1,\n .gx-md-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-md-1,\n .gy-md-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-md-2,\n .gx-md-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-md-2,\n .gy-md-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-md-3,\n .gx-md-3 {\n --bs-gutter-x: 1rem;\n }\n .g-md-3,\n .gy-md-3 {\n --bs-gutter-y: 1rem;\n }\n .g-md-4,\n .gx-md-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-md-4,\n .gy-md-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-md-5,\n .gx-md-5 {\n --bs-gutter-x: 3rem;\n }\n .g-md-5,\n .gy-md-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 992px) {\n .col-lg {\n flex: 1 0 0%;\n }\n .row-cols-lg-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-lg-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-lg-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-lg-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-lg-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-lg-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-lg-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-lg-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-lg-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-lg-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.33333333%;\n }\n .offset-lg-2 {\n margin-left: 16.66666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.33333333%;\n }\n .offset-lg-5 {\n margin-left: 41.66666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.33333333%;\n }\n .offset-lg-8 {\n margin-left: 66.66666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.33333333%;\n }\n .offset-lg-11 {\n margin-left: 91.66666667%;\n }\n .g-lg-0,\n .gx-lg-0 {\n --bs-gutter-x: 0;\n }\n .g-lg-0,\n .gy-lg-0 {\n --bs-gutter-y: 0;\n }\n .g-lg-1,\n .gx-lg-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-lg-1,\n .gy-lg-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-lg-2,\n .gx-lg-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-lg-2,\n .gy-lg-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-lg-3,\n .gx-lg-3 {\n --bs-gutter-x: 1rem;\n }\n .g-lg-3,\n .gy-lg-3 {\n --bs-gutter-y: 1rem;\n }\n .g-lg-4,\n .gx-lg-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-lg-4,\n .gy-lg-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-lg-5,\n .gx-lg-5 {\n --bs-gutter-x: 3rem;\n }\n .g-lg-5,\n .gy-lg-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 1200px) {\n .col-xl {\n flex: 1 0 0%;\n }\n .row-cols-xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-xl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-xl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-xl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-xl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.33333333%;\n }\n .offset-xl-2 {\n margin-left: 16.66666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.33333333%;\n }\n .offset-xl-5 {\n margin-left: 41.66666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.33333333%;\n }\n .offset-xl-8 {\n margin-left: 66.66666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.33333333%;\n }\n .offset-xl-11 {\n margin-left: 91.66666667%;\n }\n .g-xl-0,\n .gx-xl-0 {\n --bs-gutter-x: 0;\n }\n .g-xl-0,\n .gy-xl-0 {\n --bs-gutter-y: 0;\n }\n .g-xl-1,\n .gx-xl-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-xl-1,\n .gy-xl-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-xl-2,\n .gx-xl-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-xl-2,\n .gy-xl-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-xl-3,\n .gx-xl-3 {\n --bs-gutter-x: 1rem;\n }\n .g-xl-3,\n .gy-xl-3 {\n --bs-gutter-y: 1rem;\n }\n .g-xl-4,\n .gx-xl-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-xl-4,\n .gy-xl-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-xl-5,\n .gx-xl-5 {\n --bs-gutter-x: 3rem;\n }\n .g-xl-5,\n .gy-xl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 1400px) {\n .col-xxl {\n flex: 1 0 0%;\n }\n .row-cols-xxl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xxl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xxl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xxl-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-xxl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xxl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xxl-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xxl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xxl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-xxl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xxl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xxl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-xxl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-xxl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xxl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-xxl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-xxl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xxl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-xxl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-xxl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xxl-0 {\n margin-left: 0;\n }\n .offset-xxl-1 {\n margin-left: 8.33333333%;\n }\n .offset-xxl-2 {\n margin-left: 16.66666667%;\n }\n .offset-xxl-3 {\n margin-left: 25%;\n }\n .offset-xxl-4 {\n margin-left: 33.33333333%;\n }\n .offset-xxl-5 {\n margin-left: 41.66666667%;\n }\n .offset-xxl-6 {\n margin-left: 50%;\n }\n .offset-xxl-7 {\n margin-left: 58.33333333%;\n }\n .offset-xxl-8 {\n margin-left: 66.66666667%;\n }\n .offset-xxl-9 {\n margin-left: 75%;\n }\n .offset-xxl-10 {\n margin-left: 83.33333333%;\n }\n .offset-xxl-11 {\n margin-left: 91.66666667%;\n }\n .g-xxl-0,\n .gx-xxl-0 {\n --bs-gutter-x: 0;\n }\n .g-xxl-0,\n .gy-xxl-0 {\n --bs-gutter-y: 0;\n }\n .g-xxl-1,\n .gx-xxl-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-xxl-1,\n .gy-xxl-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-xxl-2,\n .gx-xxl-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-xxl-2,\n .gy-xxl-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-xxl-3,\n .gx-xxl-3 {\n --bs-gutter-x: 1rem;\n }\n .g-xxl-3,\n .gy-xxl-3 {\n --bs-gutter-y: 1rem;\n }\n .g-xxl-4,\n .gx-xxl-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-xxl-4,\n .gy-xxl-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-xxl-5,\n .gx-xxl-5 {\n --bs-gutter-x: 3rem;\n }\n .g-xxl-5,\n .gy-xxl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-grid {\n display: grid !important;\n}\n\n.d-inline-grid {\n display: inline-grid !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.justify-content-evenly {\n justify-content: space-evenly !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.me-0 {\n margin-right: 0 !important;\n}\n\n.me-1 {\n margin-right: 0.25rem !important;\n}\n\n.me-2 {\n margin-right: 0.5rem !important;\n}\n\n.me-3 {\n margin-right: 1rem !important;\n}\n\n.me-4 {\n margin-right: 1.5rem !important;\n}\n\n.me-5 {\n margin-right: 3rem !important;\n}\n\n.me-auto {\n margin-right: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ms-0 {\n margin-left: 0 !important;\n}\n\n.ms-1 {\n margin-left: 0.25rem !important;\n}\n\n.ms-2 {\n margin-left: 0.5rem !important;\n}\n\n.ms-3 {\n margin-left: 1rem !important;\n}\n\n.ms-4 {\n margin-left: 1.5rem !important;\n}\n\n.ms-5 {\n margin-left: 3rem !important;\n}\n\n.ms-auto {\n margin-left: auto !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pe-0 {\n padding-right: 0 !important;\n}\n\n.pe-1 {\n padding-right: 0.25rem !important;\n}\n\n.pe-2 {\n padding-right: 0.5rem !important;\n}\n\n.pe-3 {\n padding-right: 1rem !important;\n}\n\n.pe-4 {\n padding-right: 1.5rem !important;\n}\n\n.pe-5 {\n padding-right: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.ps-0 {\n padding-left: 0 !important;\n}\n\n.ps-1 {\n padding-left: 0.25rem !important;\n}\n\n.ps-2 {\n padding-left: 0.5rem !important;\n}\n\n.ps-3 {\n padding-left: 1rem !important;\n}\n\n.ps-4 {\n padding-left: 1.5rem !important;\n}\n\n.ps-5 {\n padding-left: 3rem !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-grid {\n display: grid !important;\n }\n .d-sm-inline-grid {\n display: inline-grid !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n .d-sm-none {\n display: none !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .justify-content-sm-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n .order-sm-first {\n order: -1 !important;\n }\n .order-sm-0 {\n order: 0 !important;\n }\n .order-sm-1 {\n order: 1 !important;\n }\n .order-sm-2 {\n order: 2 !important;\n }\n .order-sm-3 {\n order: 3 !important;\n }\n .order-sm-4 {\n order: 4 !important;\n }\n .order-sm-5 {\n order: 5 !important;\n }\n .order-sm-last {\n order: 6 !important;\n }\n .m-sm-0 {\n margin: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .me-sm-0 {\n margin-right: 0 !important;\n }\n .me-sm-1 {\n margin-right: 0.25rem !important;\n }\n .me-sm-2 {\n margin-right: 0.5rem !important;\n }\n .me-sm-3 {\n margin-right: 1rem !important;\n }\n .me-sm-4 {\n margin-right: 1.5rem !important;\n }\n .me-sm-5 {\n margin-right: 3rem !important;\n }\n .me-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ms-sm-0 {\n margin-left: 0 !important;\n }\n .ms-sm-1 {\n margin-left: 0.25rem !important;\n }\n .ms-sm-2 {\n margin-left: 0.5rem !important;\n }\n .ms-sm-3 {\n margin-left: 1rem !important;\n }\n .ms-sm-4 {\n margin-left: 1.5rem !important;\n }\n .ms-sm-5 {\n margin-left: 3rem !important;\n }\n .ms-sm-auto {\n margin-left: auto !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pe-sm-0 {\n padding-right: 0 !important;\n }\n .pe-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pe-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pe-sm-3 {\n padding-right: 1rem !important;\n }\n .pe-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pe-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .ps-sm-0 {\n padding-left: 0 !important;\n }\n .ps-sm-1 {\n padding-left: 0.25rem !important;\n }\n .ps-sm-2 {\n padding-left: 0.5rem !important;\n }\n .ps-sm-3 {\n padding-left: 1rem !important;\n }\n .ps-sm-4 {\n padding-left: 1.5rem !important;\n }\n .ps-sm-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 768px) {\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-grid {\n display: grid !important;\n }\n .d-md-inline-grid {\n display: inline-grid !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n .d-md-none {\n display: none !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .justify-content-md-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n .order-md-first {\n order: -1 !important;\n }\n .order-md-0 {\n order: 0 !important;\n }\n .order-md-1 {\n order: 1 !important;\n }\n .order-md-2 {\n order: 2 !important;\n }\n .order-md-3 {\n order: 3 !important;\n }\n .order-md-4 {\n order: 4 !important;\n }\n .order-md-5 {\n order: 5 !important;\n }\n .order-md-last {\n order: 6 !important;\n }\n .m-md-0 {\n margin: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .me-md-0 {\n margin-right: 0 !important;\n }\n .me-md-1 {\n margin-right: 0.25rem !important;\n }\n .me-md-2 {\n margin-right: 0.5rem !important;\n }\n .me-md-3 {\n margin-right: 1rem !important;\n }\n .me-md-4 {\n margin-right: 1.5rem !important;\n }\n .me-md-5 {\n margin-right: 3rem !important;\n }\n .me-md-auto {\n margin-right: auto !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ms-md-0 {\n margin-left: 0 !important;\n }\n .ms-md-1 {\n margin-left: 0.25rem !important;\n }\n .ms-md-2 {\n margin-left: 0.5rem !important;\n }\n .ms-md-3 {\n margin-left: 1rem !important;\n }\n .ms-md-4 {\n margin-left: 1.5rem !important;\n }\n .ms-md-5 {\n margin-left: 3rem !important;\n }\n .ms-md-auto {\n margin-left: auto !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pe-md-0 {\n padding-right: 0 !important;\n }\n .pe-md-1 {\n padding-right: 0.25rem !important;\n }\n .pe-md-2 {\n padding-right: 0.5rem !important;\n }\n .pe-md-3 {\n padding-right: 1rem !important;\n }\n .pe-md-4 {\n padding-right: 1.5rem !important;\n }\n .pe-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .ps-md-0 {\n padding-left: 0 !important;\n }\n .ps-md-1 {\n padding-left: 0.25rem !important;\n }\n .ps-md-2 {\n padding-left: 0.5rem !important;\n }\n .ps-md-3 {\n padding-left: 1rem !important;\n }\n .ps-md-4 {\n padding-left: 1.5rem !important;\n }\n .ps-md-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 992px) {\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-grid {\n display: grid !important;\n }\n .d-lg-inline-grid {\n display: inline-grid !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n .d-lg-none {\n display: none !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .justify-content-lg-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n .order-lg-first {\n order: -1 !important;\n }\n .order-lg-0 {\n order: 0 !important;\n }\n .order-lg-1 {\n order: 1 !important;\n }\n .order-lg-2 {\n order: 2 !important;\n }\n .order-lg-3 {\n order: 3 !important;\n }\n .order-lg-4 {\n order: 4 !important;\n }\n .order-lg-5 {\n order: 5 !important;\n }\n .order-lg-last {\n order: 6 !important;\n }\n .m-lg-0 {\n margin: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .me-lg-0 {\n margin-right: 0 !important;\n }\n .me-lg-1 {\n margin-right: 0.25rem !important;\n }\n .me-lg-2 {\n margin-right: 0.5rem !important;\n }\n .me-lg-3 {\n margin-right: 1rem !important;\n }\n .me-lg-4 {\n margin-right: 1.5rem !important;\n }\n .me-lg-5 {\n margin-right: 3rem !important;\n }\n .me-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ms-lg-0 {\n margin-left: 0 !important;\n }\n .ms-lg-1 {\n margin-left: 0.25rem !important;\n }\n .ms-lg-2 {\n margin-left: 0.5rem !important;\n }\n .ms-lg-3 {\n margin-left: 1rem !important;\n }\n .ms-lg-4 {\n margin-left: 1.5rem !important;\n }\n .ms-lg-5 {\n margin-left: 3rem !important;\n }\n .ms-lg-auto {\n margin-left: auto !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pe-lg-0 {\n padding-right: 0 !important;\n }\n .pe-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pe-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pe-lg-3 {\n padding-right: 1rem !important;\n }\n .pe-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pe-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .ps-lg-0 {\n padding-left: 0 !important;\n }\n .ps-lg-1 {\n padding-left: 0.25rem !important;\n }\n .ps-lg-2 {\n padding-left: 0.5rem !important;\n }\n .ps-lg-3 {\n padding-left: 1rem !important;\n }\n .ps-lg-4 {\n padding-left: 1.5rem !important;\n }\n .ps-lg-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 1200px) {\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-grid {\n display: grid !important;\n }\n .d-xl-inline-grid {\n display: inline-grid !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n .d-xl-none {\n display: none !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .justify-content-xl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n .order-xl-first {\n order: -1 !important;\n }\n .order-xl-0 {\n order: 0 !important;\n }\n .order-xl-1 {\n order: 1 !important;\n }\n .order-xl-2 {\n order: 2 !important;\n }\n .order-xl-3 {\n order: 3 !important;\n }\n .order-xl-4 {\n order: 4 !important;\n }\n .order-xl-5 {\n order: 5 !important;\n }\n .order-xl-last {\n order: 6 !important;\n }\n .m-xl-0 {\n margin: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .me-xl-0 {\n margin-right: 0 !important;\n }\n .me-xl-1 {\n margin-right: 0.25rem !important;\n }\n .me-xl-2 {\n margin-right: 0.5rem !important;\n }\n .me-xl-3 {\n margin-right: 1rem !important;\n }\n .me-xl-4 {\n margin-right: 1.5rem !important;\n }\n .me-xl-5 {\n margin-right: 3rem !important;\n }\n .me-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ms-xl-0 {\n margin-left: 0 !important;\n }\n .ms-xl-1 {\n margin-left: 0.25rem !important;\n }\n .ms-xl-2 {\n margin-left: 0.5rem !important;\n }\n .ms-xl-3 {\n margin-left: 1rem !important;\n }\n .ms-xl-4 {\n margin-left: 1.5rem !important;\n }\n .ms-xl-5 {\n margin-left: 3rem !important;\n }\n .ms-xl-auto {\n margin-left: auto !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pe-xl-0 {\n padding-right: 0 !important;\n }\n .pe-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pe-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pe-xl-3 {\n padding-right: 1rem !important;\n }\n .pe-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pe-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .ps-xl-0 {\n padding-left: 0 !important;\n }\n .ps-xl-1 {\n padding-left: 0.25rem !important;\n }\n .ps-xl-2 {\n padding-left: 0.5rem !important;\n }\n .ps-xl-3 {\n padding-left: 1rem !important;\n }\n .ps-xl-4 {\n padding-left: 1.5rem !important;\n }\n .ps-xl-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 1400px) {\n .d-xxl-inline {\n display: inline !important;\n }\n .d-xxl-inline-block {\n display: inline-block !important;\n }\n .d-xxl-block {\n display: block !important;\n }\n .d-xxl-grid {\n display: grid !important;\n }\n .d-xxl-inline-grid {\n display: inline-grid !important;\n }\n .d-xxl-table {\n display: table !important;\n }\n .d-xxl-table-row {\n display: table-row !important;\n }\n .d-xxl-table-cell {\n display: table-cell !important;\n }\n .d-xxl-flex {\n display: flex !important;\n }\n .d-xxl-inline-flex {\n display: inline-flex !important;\n }\n .d-xxl-none {\n display: none !important;\n }\n .flex-xxl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xxl-row {\n flex-direction: row !important;\n }\n .flex-xxl-column {\n flex-direction: column !important;\n }\n .flex-xxl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xxl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xxl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xxl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xxl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xxl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xxl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xxl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xxl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xxl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xxl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xxl-center {\n justify-content: center !important;\n }\n .justify-content-xxl-between {\n justify-content: space-between !important;\n }\n .justify-content-xxl-around {\n justify-content: space-around !important;\n }\n .justify-content-xxl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xxl-start {\n align-items: flex-start !important;\n }\n .align-items-xxl-end {\n align-items: flex-end !important;\n }\n .align-items-xxl-center {\n align-items: center !important;\n }\n .align-items-xxl-baseline {\n align-items: baseline !important;\n }\n .align-items-xxl-stretch {\n align-items: stretch !important;\n }\n .align-content-xxl-start {\n align-content: flex-start !important;\n }\n .align-content-xxl-end {\n align-content: flex-end !important;\n }\n .align-content-xxl-center {\n align-content: center !important;\n }\n .align-content-xxl-between {\n align-content: space-between !important;\n }\n .align-content-xxl-around {\n align-content: space-around !important;\n }\n .align-content-xxl-stretch {\n align-content: stretch !important;\n }\n .align-self-xxl-auto {\n align-self: auto !important;\n }\n .align-self-xxl-start {\n align-self: flex-start !important;\n }\n .align-self-xxl-end {\n align-self: flex-end !important;\n }\n .align-self-xxl-center {\n align-self: center !important;\n }\n .align-self-xxl-baseline {\n align-self: baseline !important;\n }\n .align-self-xxl-stretch {\n align-self: stretch !important;\n }\n .order-xxl-first {\n order: -1 !important;\n }\n .order-xxl-0 {\n order: 0 !important;\n }\n .order-xxl-1 {\n order: 1 !important;\n }\n .order-xxl-2 {\n order: 2 !important;\n }\n .order-xxl-3 {\n order: 3 !important;\n }\n .order-xxl-4 {\n order: 4 !important;\n }\n .order-xxl-5 {\n order: 5 !important;\n }\n .order-xxl-last {\n order: 6 !important;\n }\n .m-xxl-0 {\n margin: 0 !important;\n }\n .m-xxl-1 {\n margin: 0.25rem !important;\n }\n .m-xxl-2 {\n margin: 0.5rem !important;\n }\n .m-xxl-3 {\n margin: 1rem !important;\n }\n .m-xxl-4 {\n margin: 1.5rem !important;\n }\n .m-xxl-5 {\n margin: 3rem !important;\n }\n .m-xxl-auto {\n margin: auto !important;\n }\n .mx-xxl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xxl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xxl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xxl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xxl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xxl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xxl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xxl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xxl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xxl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xxl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xxl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xxl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xxl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xxl-0 {\n margin-top: 0 !important;\n }\n .mt-xxl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xxl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xxl-3 {\n margin-top: 1rem !important;\n }\n .mt-xxl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xxl-5 {\n margin-top: 3rem !important;\n }\n .mt-xxl-auto {\n margin-top: auto !important;\n }\n .me-xxl-0 {\n margin-right: 0 !important;\n }\n .me-xxl-1 {\n margin-right: 0.25rem !important;\n }\n .me-xxl-2 {\n margin-right: 0.5rem !important;\n }\n .me-xxl-3 {\n margin-right: 1rem !important;\n }\n .me-xxl-4 {\n margin-right: 1.5rem !important;\n }\n .me-xxl-5 {\n margin-right: 3rem !important;\n }\n .me-xxl-auto {\n margin-right: auto !important;\n }\n .mb-xxl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xxl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xxl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xxl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xxl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xxl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xxl-auto {\n margin-bottom: auto !important;\n }\n .ms-xxl-0 {\n margin-left: 0 !important;\n }\n .ms-xxl-1 {\n margin-left: 0.25rem !important;\n }\n .ms-xxl-2 {\n margin-left: 0.5rem !important;\n }\n .ms-xxl-3 {\n margin-left: 1rem !important;\n }\n .ms-xxl-4 {\n margin-left: 1.5rem !important;\n }\n .ms-xxl-5 {\n margin-left: 3rem !important;\n }\n .ms-xxl-auto {\n margin-left: auto !important;\n }\n .p-xxl-0 {\n padding: 0 !important;\n }\n .p-xxl-1 {\n padding: 0.25rem !important;\n }\n .p-xxl-2 {\n padding: 0.5rem !important;\n }\n .p-xxl-3 {\n padding: 1rem !important;\n }\n .p-xxl-4 {\n padding: 1.5rem !important;\n }\n .p-xxl-5 {\n padding: 3rem !important;\n }\n .px-xxl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xxl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xxl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xxl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xxl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xxl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xxl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xxl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xxl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xxl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xxl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xxl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xxl-0 {\n padding-top: 0 !important;\n }\n .pt-xxl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xxl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xxl-3 {\n padding-top: 1rem !important;\n }\n .pt-xxl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xxl-5 {\n padding-top: 3rem !important;\n }\n .pe-xxl-0 {\n padding-right: 0 !important;\n }\n .pe-xxl-1 {\n padding-right: 0.25rem !important;\n }\n .pe-xxl-2 {\n padding-right: 0.5rem !important;\n }\n .pe-xxl-3 {\n padding-right: 1rem !important;\n }\n .pe-xxl-4 {\n padding-right: 1.5rem !important;\n }\n .pe-xxl-5 {\n padding-right: 3rem !important;\n }\n .pb-xxl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xxl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xxl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xxl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xxl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xxl-5 {\n padding-bottom: 3rem !important;\n }\n .ps-xxl-0 {\n padding-left: 0 !important;\n }\n .ps-xxl-1 {\n padding-left: 0.25rem !important;\n }\n .ps-xxl-2 {\n padding-left: 0.5rem !important;\n }\n .ps-xxl-3 {\n padding-left: 1rem !important;\n }\n .ps-xxl-4 {\n padding-left: 1.5rem !important;\n }\n .ps-xxl-5 {\n padding-left: 3rem !important;\n }\n}\n@media print {\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-grid {\n display: grid !important;\n }\n .d-print-inline-grid {\n display: inline-grid !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n .d-print-none {\n display: none !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */","// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n --#{$prefix}gutter-x: #{$gutter};\n --#{$prefix}gutter-y: 0;\n width: 100%;\n padding-right: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n margin-right: auto;\n margin-left: auto;\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl xxl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width.\n// The maximum value is reduced by 0.02px to work around the limitations of\n// `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $max: map-get($breakpoints, $name);\n @return if($max and $max > 0, $max - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($next, $breakpoints) {\n @content;\n }\n }\n}\n","// Row\n//\n// Rows contain your columns.\n\n:root {\n @each $name, $value in $grid-breakpoints {\n --#{$prefix}breakpoint-#{$name}: #{$value};\n }\n}\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n\n > * {\n @include make-col-ready();\n }\n }\n}\n\n@if $enable-cssgrid {\n .grid {\n display: grid;\n grid-template-rows: repeat(var(--#{$prefix}rows, 1), 1fr);\n grid-template-columns: repeat(var(--#{$prefix}columns, #{$grid-columns}), 1fr);\n gap: var(--#{$prefix}gap, #{$grid-gutter-width});\n\n @include make-cssgrid();\n }\n}\n\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter: $grid-gutter-width) {\n --#{$prefix}gutter-x: #{$gutter};\n --#{$prefix}gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n // TODO: Revisit calc order after https://github.com/react-bootstrap/react-bootstrap/issues/6039 is fixed\n margin-top: calc(-1 * var(--#{$prefix}gutter-y)); // stylelint-disable-line function-disallowed-list\n margin-right: calc(-.5 * var(--#{$prefix}gutter-x)); // stylelint-disable-line function-disallowed-list\n margin-left: calc(-.5 * var(--#{$prefix}gutter-x)); // stylelint-disable-line function-disallowed-list\n}\n\n@mixin make-col-ready() {\n // Add box sizing if only the grid is loaded\n box-sizing: if(variable-exists(include-column-box-sizing) and $include-column-box-sizing, border-box, null);\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we set the width\n // later on to override this initial width.\n flex-shrink: 0;\n width: 100%;\n max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n padding-right: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n margin-top: var(--#{$prefix}gutter-y);\n}\n\n@mixin make-col($size: false, $columns: $grid-columns) {\n @if $size {\n flex: 0 0 auto;\n width: percentage(divide($size, $columns));\n\n } @else {\n flex: 1 1 0;\n max-width: 100%;\n }\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: divide($size, $columns);\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// number of columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n > * {\n flex: 0 0 auto;\n width: percentage(divide(1, $count));\n }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex: 1 0 0%; // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n }\n\n .row-cols#{$infix}-auto > * {\n @include make-col-auto();\n }\n\n @if $grid-row-columns > 0 {\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n\n // Gutters\n //\n // Make use of `.g-*`, `.gx-*` or `.gy-*` utilities to change spacing between the columns.\n @each $key, $value in $gutters {\n .g#{$infix}-#{$key},\n .gx#{$infix}-#{$key} {\n --#{$prefix}gutter-x: #{$value};\n }\n\n .g#{$infix}-#{$key},\n .gy#{$infix}-#{$key} {\n --#{$prefix}gutter-y: #{$value};\n }\n }\n }\n }\n}\n\n@mixin make-cssgrid($columns: $grid-columns, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .g-col#{$infix}-#{$i} {\n grid-column: auto / span $i;\n }\n }\n\n // Start with `1` because `0` is and invalid value.\n // Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible.\n @for $i from 1 through ($columns - 1) {\n .g-start#{$infix}-#{$i} {\n grid-column-start: $i;\n }\n }\n }\n }\n }\n}\n","// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix: \"\", $is-rfs-media-query: false) {\n $values: map-get($utility, values);\n\n // If the values are a list or string, convert it into a map\n @if type-of($values) == \"string\" or type-of(nth($values, 1)) != \"list\" {\n $values: zip($values, $values);\n }\n\n @each $key, $value in $values {\n $properties: map-get($utility, property);\n\n // Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if type-of($properties) == \"string\" {\n $properties: append((), $properties);\n }\n\n // Use custom class if present\n $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\n $property-class: if($property-class == null, \"\", $property-class);\n\n // Use custom CSS variable name if present, otherwise default to `class`\n $css-variable-name: if(map-has-key($utility, css-variable-name), map-get($utility, css-variable-name), map-get($utility, class));\n\n // State params to generate pseudo-classes\n $state: if(map-has-key($utility, state), map-get($utility, state), ());\n\n $infix: if($property-class == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (e.g. with shadow class)\n $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n @if map-get($utility, rfs) {\n // Inside the media query\n @if $is-rfs-media-query {\n $val: rfs-value($value);\n\n // Do not render anything if fluid and non fluid values are the same\n $value: if($val == rfs-fluid-value($value), null, $val);\n }\n @else {\n $value: rfs-fluid-value($value);\n }\n }\n\n $is-css-var: map-get($utility, css-var);\n $is-local-vars: map-get($utility, local-vars);\n $is-rtl: map-get($utility, rtl);\n\n @if $value != null {\n @if $is-rtl == false {\n /* rtl:begin:remove */\n }\n\n @if $is-css-var {\n .#{$property-class + $infix + $property-class-modifier} {\n --#{$prefix}#{$css-variable-name}: #{$value};\n }\n\n @each $pseudo in $state {\n .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {\n --#{$prefix}#{$css-variable-name}: #{$value};\n }\n }\n } @else {\n .#{$property-class + $infix + $property-class-modifier} {\n @each $property in $properties {\n @if $is-local-vars {\n @each $local-var, $variable in $is-local-vars {\n --#{$prefix}#{$local-var}: #{$variable};\n }\n }\n #{$property}: $value if($enable-important-utilities, !important, null);\n }\n }\n\n @each $pseudo in $state {\n .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {\n @each $property in $properties {\n @if $is-local-vars {\n @each $local-var, $variable in $is-local-vars {\n --#{$prefix}#{$local-var}: #{$variable};\n }\n }\n #{$property}: $value if($enable-important-utilities, !important, null);\n }\n }\n }\n }\n\n @if $is-rtl == false {\n /* rtl:end:remove */\n }\n }\n }\n}\n","// Loop over each breakpoint\n@each $breakpoint in map-keys($grid-breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix);\n }\n }\n }\n}\n\n// RFS rescaling\n@media (min-width: $rfs-mq-value) {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @if (map-get($grid-breakpoints, $breakpoint) < $rfs-breakpoint) {\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and map-get($utility, rfs) and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix, true);\n }\n }\n }\n }\n}\n\n\n// Print utilities\n@media print {\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Then check if the utility needs print styles\n @if type-of($utility) == \"map\" and map-get($utility, print) == true {\n @include generate-utility($utility, \"-print\");\n }\n }\n}\n"]} \ No newline at end of file diff --git a/wwws/cdn/apxweb/bootstrap/css/bootstrap-grid.rtl.css b/wwws/cdn/apxweb/bootstrap/css/bootstrap-grid.rtl.css new file mode 100644 index 0000000..fa3ec34 --- /dev/null +++ b/wwws/cdn/apxweb/bootstrap/css/bootstrap-grid.rtl.css @@ -0,0 +1,4084 @@ +/*! + * Bootstrap Grid v5.3.2 (https://getbootstrap.com/) + * Copyright 2011-2023 The Bootstrap Authors + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +.container, +.container-fluid, +.container-xxl, +.container-xl, +.container-lg, +.container-md, +.container-sm { + --bs-gutter-x: 1.5rem; + --bs-gutter-y: 0; + width: 100%; + padding-left: calc(var(--bs-gutter-x) * 0.5); + padding-right: calc(var(--bs-gutter-x) * 0.5); + margin-left: auto; + margin-right: auto; +} + +@media (min-width: 576px) { + .container-sm, .container { + max-width: 540px; + } +} +@media (min-width: 768px) { + .container-md, .container-sm, .container { + max-width: 720px; + } +} +@media (min-width: 992px) { + .container-lg, .container-md, .container-sm, .container { + max-width: 960px; + } +} +@media (min-width: 1200px) { + .container-xl, .container-lg, .container-md, .container-sm, .container { + max-width: 1140px; + } +} +@media (min-width: 1400px) { + .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container { + max-width: 1320px; + } +} +:root { + --bs-breakpoint-xs: 0; + --bs-breakpoint-sm: 576px; + --bs-breakpoint-md: 768px; + --bs-breakpoint-lg: 992px; + --bs-breakpoint-xl: 1200px; + --bs-breakpoint-xxl: 1400px; +} + +.row { + --bs-gutter-x: 1.5rem; + --bs-gutter-y: 0; + display: flex; + flex-wrap: wrap; + margin-top: calc(-1 * var(--bs-gutter-y)); + margin-left: calc(-0.5 * var(--bs-gutter-x)); + margin-right: calc(-0.5 * var(--bs-gutter-x)); +} +.row > * { + box-sizing: border-box; + flex-shrink: 0; + width: 100%; + max-width: 100%; + padding-left: calc(var(--bs-gutter-x) * 0.5); + padding-right: calc(var(--bs-gutter-x) * 0.5); + margin-top: var(--bs-gutter-y); +} + +.col { + flex: 1 0 0%; +} + +.row-cols-auto > * { + flex: 0 0 auto; + width: auto; +} + +.row-cols-1 > * { + flex: 0 0 auto; + width: 100%; +} + +.row-cols-2 > * { + flex: 0 0 auto; + width: 50%; +} + +.row-cols-3 > * { + flex: 0 0 auto; + width: 33.33333333%; +} + +.row-cols-4 > * { + flex: 0 0 auto; + width: 25%; +} + +.row-cols-5 > * { + flex: 0 0 auto; + width: 20%; +} + +.row-cols-6 > * { + flex: 0 0 auto; + width: 16.66666667%; +} + +.col-auto { + flex: 0 0 auto; + width: auto; +} + +.col-1 { + flex: 0 0 auto; + width: 8.33333333%; +} + +.col-2 { + flex: 0 0 auto; + width: 16.66666667%; +} + +.col-3 { + flex: 0 0 auto; + width: 25%; +} + +.col-4 { + flex: 0 0 auto; + width: 33.33333333%; +} + +.col-5 { + flex: 0 0 auto; + width: 41.66666667%; +} + +.col-6 { + flex: 0 0 auto; + width: 50%; +} + +.col-7 { + flex: 0 0 auto; + width: 58.33333333%; +} + +.col-8 { + flex: 0 0 auto; + width: 66.66666667%; +} + +.col-9 { + flex: 0 0 auto; + width: 75%; +} + +.col-10 { + flex: 0 0 auto; + width: 83.33333333%; +} + +.col-11 { + flex: 0 0 auto; + width: 91.66666667%; +} + +.col-12 { + flex: 0 0 auto; + width: 100%; +} + +.offset-1 { + margin-right: 8.33333333%; +} + +.offset-2 { + margin-right: 16.66666667%; +} + +.offset-3 { + margin-right: 25%; +} + +.offset-4 { + margin-right: 33.33333333%; +} + +.offset-5 { + margin-right: 41.66666667%; +} + +.offset-6 { + margin-right: 50%; +} + +.offset-7 { + margin-right: 58.33333333%; +} + +.offset-8 { + margin-right: 66.66666667%; +} + +.offset-9 { + margin-right: 75%; +} + +.offset-10 { + margin-right: 83.33333333%; +} + +.offset-11 { + margin-right: 91.66666667%; +} + +.g-0, +.gx-0 { + --bs-gutter-x: 0; +} + +.g-0, +.gy-0 { + --bs-gutter-y: 0; +} + +.g-1, +.gx-1 { + --bs-gutter-x: 0.25rem; +} + +.g-1, +.gy-1 { + --bs-gutter-y: 0.25rem; +} + +.g-2, +.gx-2 { + --bs-gutter-x: 0.5rem; +} + +.g-2, +.gy-2 { + --bs-gutter-y: 0.5rem; +} + +.g-3, +.gx-3 { + --bs-gutter-x: 1rem; +} + +.g-3, +.gy-3 { + --bs-gutter-y: 1rem; +} + +.g-4, +.gx-4 { + --bs-gutter-x: 1.5rem; +} + +.g-4, +.gy-4 { + --bs-gutter-y: 1.5rem; +} + +.g-5, +.gx-5 { + --bs-gutter-x: 3rem; +} + +.g-5, +.gy-5 { + --bs-gutter-y: 3rem; +} + +@media (min-width: 576px) { + .col-sm { + flex: 1 0 0%; + } + .row-cols-sm-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-sm-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-sm-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-sm-3 > * { + flex: 0 0 auto; + width: 33.33333333%; + } + .row-cols-sm-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-sm-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-sm-6 > * { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-sm-auto { + flex: 0 0 auto; + width: auto; + } + .col-sm-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-sm-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-sm-3 { + flex: 0 0 auto; + width: 25%; + } + .col-sm-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-sm-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-sm-6 { + flex: 0 0 auto; + width: 50%; + } + .col-sm-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-sm-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-sm-9 { + flex: 0 0 auto; + width: 75%; + } + .col-sm-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-sm-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-sm-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-sm-0 { + margin-right: 0; + } + .offset-sm-1 { + margin-right: 8.33333333%; + } + .offset-sm-2 { + margin-right: 16.66666667%; + } + .offset-sm-3 { + margin-right: 25%; + } + .offset-sm-4 { + margin-right: 33.33333333%; + } + .offset-sm-5 { + margin-right: 41.66666667%; + } + .offset-sm-6 { + margin-right: 50%; + } + .offset-sm-7 { + margin-right: 58.33333333%; + } + .offset-sm-8 { + margin-right: 66.66666667%; + } + .offset-sm-9 { + margin-right: 75%; + } + .offset-sm-10 { + margin-right: 83.33333333%; + } + .offset-sm-11 { + margin-right: 91.66666667%; + } + .g-sm-0, + .gx-sm-0 { + --bs-gutter-x: 0; + } + .g-sm-0, + .gy-sm-0 { + --bs-gutter-y: 0; + } + .g-sm-1, + .gx-sm-1 { + --bs-gutter-x: 0.25rem; + } + .g-sm-1, + .gy-sm-1 { + --bs-gutter-y: 0.25rem; + } + .g-sm-2, + .gx-sm-2 { + --bs-gutter-x: 0.5rem; + } + .g-sm-2, + .gy-sm-2 { + --bs-gutter-y: 0.5rem; + } + .g-sm-3, + .gx-sm-3 { + --bs-gutter-x: 1rem; + } + .g-sm-3, + .gy-sm-3 { + --bs-gutter-y: 1rem; + } + .g-sm-4, + .gx-sm-4 { + --bs-gutter-x: 1.5rem; + } + .g-sm-4, + .gy-sm-4 { + --bs-gutter-y: 1.5rem; + } + .g-sm-5, + .gx-sm-5 { + --bs-gutter-x: 3rem; + } + .g-sm-5, + .gy-sm-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 768px) { + .col-md { + flex: 1 0 0%; + } + .row-cols-md-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-md-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-md-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-md-3 > * { + flex: 0 0 auto; + width: 33.33333333%; + } + .row-cols-md-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-md-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-md-6 > * { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-md-auto { + flex: 0 0 auto; + width: auto; + } + .col-md-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-md-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-md-3 { + flex: 0 0 auto; + width: 25%; + } + .col-md-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-md-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-md-6 { + flex: 0 0 auto; + width: 50%; + } + .col-md-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-md-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-md-9 { + flex: 0 0 auto; + width: 75%; + } + .col-md-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-md-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-md-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-md-0 { + margin-right: 0; + } + .offset-md-1 { + margin-right: 8.33333333%; + } + .offset-md-2 { + margin-right: 16.66666667%; + } + .offset-md-3 { + margin-right: 25%; + } + .offset-md-4 { + margin-right: 33.33333333%; + } + .offset-md-5 { + margin-right: 41.66666667%; + } + .offset-md-6 { + margin-right: 50%; + } + .offset-md-7 { + margin-right: 58.33333333%; + } + .offset-md-8 { + margin-right: 66.66666667%; + } + .offset-md-9 { + margin-right: 75%; + } + .offset-md-10 { + margin-right: 83.33333333%; + } + .offset-md-11 { + margin-right: 91.66666667%; + } + .g-md-0, + .gx-md-0 { + --bs-gutter-x: 0; + } + .g-md-0, + .gy-md-0 { + --bs-gutter-y: 0; + } + .g-md-1, + .gx-md-1 { + --bs-gutter-x: 0.25rem; + } + .g-md-1, + .gy-md-1 { + --bs-gutter-y: 0.25rem; + } + .g-md-2, + .gx-md-2 { + --bs-gutter-x: 0.5rem; + } + .g-md-2, + .gy-md-2 { + --bs-gutter-y: 0.5rem; + } + .g-md-3, + .gx-md-3 { + --bs-gutter-x: 1rem; + } + .g-md-3, + .gy-md-3 { + --bs-gutter-y: 1rem; + } + .g-md-4, + .gx-md-4 { + --bs-gutter-x: 1.5rem; + } + .g-md-4, + .gy-md-4 { + --bs-gutter-y: 1.5rem; + } + .g-md-5, + .gx-md-5 { + --bs-gutter-x: 3rem; + } + .g-md-5, + .gy-md-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 992px) { + .col-lg { + flex: 1 0 0%; + } + .row-cols-lg-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-lg-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-lg-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-lg-3 > * { + flex: 0 0 auto; + width: 33.33333333%; + } + .row-cols-lg-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-lg-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-lg-6 > * { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-lg-auto { + flex: 0 0 auto; + width: auto; + } + .col-lg-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-lg-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-lg-3 { + flex: 0 0 auto; + width: 25%; + } + .col-lg-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-lg-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-lg-6 { + flex: 0 0 auto; + width: 50%; + } + .col-lg-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-lg-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-lg-9 { + flex: 0 0 auto; + width: 75%; + } + .col-lg-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-lg-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-lg-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-lg-0 { + margin-right: 0; + } + .offset-lg-1 { + margin-right: 8.33333333%; + } + .offset-lg-2 { + margin-right: 16.66666667%; + } + .offset-lg-3 { + margin-right: 25%; + } + .offset-lg-4 { + margin-right: 33.33333333%; + } + .offset-lg-5 { + margin-right: 41.66666667%; + } + .offset-lg-6 { + margin-right: 50%; + } + .offset-lg-7 { + margin-right: 58.33333333%; + } + .offset-lg-8 { + margin-right: 66.66666667%; + } + .offset-lg-9 { + margin-right: 75%; + } + .offset-lg-10 { + margin-right: 83.33333333%; + } + .offset-lg-11 { + margin-right: 91.66666667%; + } + .g-lg-0, + .gx-lg-0 { + --bs-gutter-x: 0; + } + .g-lg-0, + .gy-lg-0 { + --bs-gutter-y: 0; + } + .g-lg-1, + .gx-lg-1 { + --bs-gutter-x: 0.25rem; + } + .g-lg-1, + .gy-lg-1 { + --bs-gutter-y: 0.25rem; + } + .g-lg-2, + .gx-lg-2 { + --bs-gutter-x: 0.5rem; + } + .g-lg-2, + .gy-lg-2 { + --bs-gutter-y: 0.5rem; + } + .g-lg-3, + .gx-lg-3 { + --bs-gutter-x: 1rem; + } + .g-lg-3, + .gy-lg-3 { + --bs-gutter-y: 1rem; + } + .g-lg-4, + .gx-lg-4 { + --bs-gutter-x: 1.5rem; + } + .g-lg-4, + .gy-lg-4 { + --bs-gutter-y: 1.5rem; + } + .g-lg-5, + .gx-lg-5 { + --bs-gutter-x: 3rem; + } + .g-lg-5, + .gy-lg-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 1200px) { + .col-xl { + flex: 1 0 0%; + } + .row-cols-xl-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-xl-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-xl-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-xl-3 > * { + flex: 0 0 auto; + width: 33.33333333%; + } + .row-cols-xl-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-xl-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-xl-6 > * { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-xl-auto { + flex: 0 0 auto; + width: auto; + } + .col-xl-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-xl-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-xl-3 { + flex: 0 0 auto; + width: 25%; + } + .col-xl-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-xl-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-xl-6 { + flex: 0 0 auto; + width: 50%; + } + .col-xl-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-xl-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-xl-9 { + flex: 0 0 auto; + width: 75%; + } + .col-xl-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-xl-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-xl-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-xl-0 { + margin-right: 0; + } + .offset-xl-1 { + margin-right: 8.33333333%; + } + .offset-xl-2 { + margin-right: 16.66666667%; + } + .offset-xl-3 { + margin-right: 25%; + } + .offset-xl-4 { + margin-right: 33.33333333%; + } + .offset-xl-5 { + margin-right: 41.66666667%; + } + .offset-xl-6 { + margin-right: 50%; + } + .offset-xl-7 { + margin-right: 58.33333333%; + } + .offset-xl-8 { + margin-right: 66.66666667%; + } + .offset-xl-9 { + margin-right: 75%; + } + .offset-xl-10 { + margin-right: 83.33333333%; + } + .offset-xl-11 { + margin-right: 91.66666667%; + } + .g-xl-0, + .gx-xl-0 { + --bs-gutter-x: 0; + } + .g-xl-0, + .gy-xl-0 { + --bs-gutter-y: 0; + } + .g-xl-1, + .gx-xl-1 { + --bs-gutter-x: 0.25rem; + } + .g-xl-1, + .gy-xl-1 { + --bs-gutter-y: 0.25rem; + } + .g-xl-2, + .gx-xl-2 { + --bs-gutter-x: 0.5rem; + } + .g-xl-2, + .gy-xl-2 { + --bs-gutter-y: 0.5rem; + } + .g-xl-3, + .gx-xl-3 { + --bs-gutter-x: 1rem; + } + .g-xl-3, + .gy-xl-3 { + --bs-gutter-y: 1rem; + } + .g-xl-4, + .gx-xl-4 { + --bs-gutter-x: 1.5rem; + } + .g-xl-4, + .gy-xl-4 { + --bs-gutter-y: 1.5rem; + } + .g-xl-5, + .gx-xl-5 { + --bs-gutter-x: 3rem; + } + .g-xl-5, + .gy-xl-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 1400px) { + .col-xxl { + flex: 1 0 0%; + } + .row-cols-xxl-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-xxl-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-xxl-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-xxl-3 > * { + flex: 0 0 auto; + width: 33.33333333%; + } + .row-cols-xxl-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-xxl-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-xxl-6 > * { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-xxl-auto { + flex: 0 0 auto; + width: auto; + } + .col-xxl-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-xxl-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-xxl-3 { + flex: 0 0 auto; + width: 25%; + } + .col-xxl-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-xxl-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-xxl-6 { + flex: 0 0 auto; + width: 50%; + } + .col-xxl-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-xxl-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-xxl-9 { + flex: 0 0 auto; + width: 75%; + } + .col-xxl-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-xxl-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-xxl-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-xxl-0 { + margin-right: 0; + } + .offset-xxl-1 { + margin-right: 8.33333333%; + } + .offset-xxl-2 { + margin-right: 16.66666667%; + } + .offset-xxl-3 { + margin-right: 25%; + } + .offset-xxl-4 { + margin-right: 33.33333333%; + } + .offset-xxl-5 { + margin-right: 41.66666667%; + } + .offset-xxl-6 { + margin-right: 50%; + } + .offset-xxl-7 { + margin-right: 58.33333333%; + } + .offset-xxl-8 { + margin-right: 66.66666667%; + } + .offset-xxl-9 { + margin-right: 75%; + } + .offset-xxl-10 { + margin-right: 83.33333333%; + } + .offset-xxl-11 { + margin-right: 91.66666667%; + } + .g-xxl-0, + .gx-xxl-0 { + --bs-gutter-x: 0; + } + .g-xxl-0, + .gy-xxl-0 { + --bs-gutter-y: 0; + } + .g-xxl-1, + .gx-xxl-1 { + --bs-gutter-x: 0.25rem; + } + .g-xxl-1, + .gy-xxl-1 { + --bs-gutter-y: 0.25rem; + } + .g-xxl-2, + .gx-xxl-2 { + --bs-gutter-x: 0.5rem; + } + .g-xxl-2, + .gy-xxl-2 { + --bs-gutter-y: 0.5rem; + } + .g-xxl-3, + .gx-xxl-3 { + --bs-gutter-x: 1rem; + } + .g-xxl-3, + .gy-xxl-3 { + --bs-gutter-y: 1rem; + } + .g-xxl-4, + .gx-xxl-4 { + --bs-gutter-x: 1.5rem; + } + .g-xxl-4, + .gy-xxl-4 { + --bs-gutter-y: 1.5rem; + } + .g-xxl-5, + .gx-xxl-5 { + --bs-gutter-x: 3rem; + } + .g-xxl-5, + .gy-xxl-5 { + --bs-gutter-y: 3rem; + } +} +.d-inline { + display: inline !important; +} + +.d-inline-block { + display: inline-block !important; +} + +.d-block { + display: block !important; +} + +.d-grid { + display: grid !important; +} + +.d-inline-grid { + display: inline-grid !important; +} + +.d-table { + display: table !important; +} + +.d-table-row { + display: table-row !important; +} + +.d-table-cell { + display: table-cell !important; +} + +.d-flex { + display: flex !important; +} + +.d-inline-flex { + display: inline-flex !important; +} + +.d-none { + display: none !important; +} + +.flex-fill { + flex: 1 1 auto !important; +} + +.flex-row { + flex-direction: row !important; +} + +.flex-column { + flex-direction: column !important; +} + +.flex-row-reverse { + flex-direction: row-reverse !important; +} + +.flex-column-reverse { + flex-direction: column-reverse !important; +} + +.flex-grow-0 { + flex-grow: 0 !important; +} + +.flex-grow-1 { + flex-grow: 1 !important; +} + +.flex-shrink-0 { + flex-shrink: 0 !important; +} + +.flex-shrink-1 { + flex-shrink: 1 !important; +} + +.flex-wrap { + flex-wrap: wrap !important; +} + +.flex-nowrap { + flex-wrap: nowrap !important; +} + +.flex-wrap-reverse { + flex-wrap: wrap-reverse !important; +} + +.justify-content-start { + justify-content: flex-start !important; +} + +.justify-content-end { + justify-content: flex-end !important; +} + +.justify-content-center { + justify-content: center !important; +} + +.justify-content-between { + justify-content: space-between !important; +} + +.justify-content-around { + justify-content: space-around !important; +} + +.justify-content-evenly { + justify-content: space-evenly !important; +} + +.align-items-start { + align-items: flex-start !important; +} + +.align-items-end { + align-items: flex-end !important; +} + +.align-items-center { + align-items: center !important; +} + +.align-items-baseline { + align-items: baseline !important; +} + +.align-items-stretch { + align-items: stretch !important; +} + +.align-content-start { + align-content: flex-start !important; +} + +.align-content-end { + align-content: flex-end !important; +} + +.align-content-center { + align-content: center !important; +} + +.align-content-between { + align-content: space-between !important; +} + +.align-content-around { + align-content: space-around !important; +} + +.align-content-stretch { + align-content: stretch !important; +} + +.align-self-auto { + align-self: auto !important; +} + +.align-self-start { + align-self: flex-start !important; +} + +.align-self-end { + align-self: flex-end !important; +} + +.align-self-center { + align-self: center !important; +} + +.align-self-baseline { + align-self: baseline !important; +} + +.align-self-stretch { + align-self: stretch !important; +} + +.order-first { + order: -1 !important; +} + +.order-0 { + order: 0 !important; +} + +.order-1 { + order: 1 !important; +} + +.order-2 { + order: 2 !important; +} + +.order-3 { + order: 3 !important; +} + +.order-4 { + order: 4 !important; +} + +.order-5 { + order: 5 !important; +} + +.order-last { + order: 6 !important; +} + +.m-0 { + margin: 0 !important; +} + +.m-1 { + margin: 0.25rem !important; +} + +.m-2 { + margin: 0.5rem !important; +} + +.m-3 { + margin: 1rem !important; +} + +.m-4 { + margin: 1.5rem !important; +} + +.m-5 { + margin: 3rem !important; +} + +.m-auto { + margin: auto !important; +} + +.mx-0 { + margin-left: 0 !important; + margin-right: 0 !important; +} + +.mx-1 { + margin-left: 0.25rem !important; + margin-right: 0.25rem !important; +} + +.mx-2 { + margin-left: 0.5rem !important; + margin-right: 0.5rem !important; +} + +.mx-3 { + margin-left: 1rem !important; + margin-right: 1rem !important; +} + +.mx-4 { + margin-left: 1.5rem !important; + margin-right: 1.5rem !important; +} + +.mx-5 { + margin-left: 3rem !important; + margin-right: 3rem !important; +} + +.mx-auto { + margin-left: auto !important; + margin-right: auto !important; +} + +.my-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; +} + +.my-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; +} + +.my-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; +} + +.my-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; +} + +.my-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; +} + +.my-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; +} + +.my-auto { + margin-top: auto !important; + margin-bottom: auto !important; +} + +.mt-0 { + margin-top: 0 !important; +} + +.mt-1 { + margin-top: 0.25rem !important; +} + +.mt-2 { + margin-top: 0.5rem !important; +} + +.mt-3 { + margin-top: 1rem !important; +} + +.mt-4 { + margin-top: 1.5rem !important; +} + +.mt-5 { + margin-top: 3rem !important; +} + +.mt-auto { + margin-top: auto !important; +} + +.me-0 { + margin-left: 0 !important; +} + +.me-1 { + margin-left: 0.25rem !important; +} + +.me-2 { + margin-left: 0.5rem !important; +} + +.me-3 { + margin-left: 1rem !important; +} + +.me-4 { + margin-left: 1.5rem !important; +} + +.me-5 { + margin-left: 3rem !important; +} + +.me-auto { + margin-left: auto !important; +} + +.mb-0 { + margin-bottom: 0 !important; +} + +.mb-1 { + margin-bottom: 0.25rem !important; +} + +.mb-2 { + margin-bottom: 0.5rem !important; +} + +.mb-3 { + margin-bottom: 1rem !important; +} + +.mb-4 { + margin-bottom: 1.5rem !important; +} + +.mb-5 { + margin-bottom: 3rem !important; +} + +.mb-auto { + margin-bottom: auto !important; +} + +.ms-0 { + margin-right: 0 !important; +} + +.ms-1 { + margin-right: 0.25rem !important; +} + +.ms-2 { + margin-right: 0.5rem !important; +} + +.ms-3 { + margin-right: 1rem !important; +} + +.ms-4 { + margin-right: 1.5rem !important; +} + +.ms-5 { + margin-right: 3rem !important; +} + +.ms-auto { + margin-right: auto !important; +} + +.p-0 { + padding: 0 !important; +} + +.p-1 { + padding: 0.25rem !important; +} + +.p-2 { + padding: 0.5rem !important; +} + +.p-3 { + padding: 1rem !important; +} + +.p-4 { + padding: 1.5rem !important; +} + +.p-5 { + padding: 3rem !important; +} + +.px-0 { + padding-left: 0 !important; + padding-right: 0 !important; +} + +.px-1 { + padding-left: 0.25rem !important; + padding-right: 0.25rem !important; +} + +.px-2 { + padding-left: 0.5rem !important; + padding-right: 0.5rem !important; +} + +.px-3 { + padding-left: 1rem !important; + padding-right: 1rem !important; +} + +.px-4 { + padding-left: 1.5rem !important; + padding-right: 1.5rem !important; +} + +.px-5 { + padding-left: 3rem !important; + padding-right: 3rem !important; +} + +.py-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; +} + +.py-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; +} + +.py-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; +} + +.py-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; +} + +.py-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; +} + +.py-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; +} + +.pt-0 { + padding-top: 0 !important; +} + +.pt-1 { + padding-top: 0.25rem !important; +} + +.pt-2 { + padding-top: 0.5rem !important; +} + +.pt-3 { + padding-top: 1rem !important; +} + +.pt-4 { + padding-top: 1.5rem !important; +} + +.pt-5 { + padding-top: 3rem !important; +} + +.pe-0 { + padding-left: 0 !important; +} + +.pe-1 { + padding-left: 0.25rem !important; +} + +.pe-2 { + padding-left: 0.5rem !important; +} + +.pe-3 { + padding-left: 1rem !important; +} + +.pe-4 { + padding-left: 1.5rem !important; +} + +.pe-5 { + padding-left: 3rem !important; +} + +.pb-0 { + padding-bottom: 0 !important; +} + +.pb-1 { + padding-bottom: 0.25rem !important; +} + +.pb-2 { + padding-bottom: 0.5rem !important; +} + +.pb-3 { + padding-bottom: 1rem !important; +} + +.pb-4 { + padding-bottom: 1.5rem !important; +} + +.pb-5 { + padding-bottom: 3rem !important; +} + +.ps-0 { + padding-right: 0 !important; +} + +.ps-1 { + padding-right: 0.25rem !important; +} + +.ps-2 { + padding-right: 0.5rem !important; +} + +.ps-3 { + padding-right: 1rem !important; +} + +.ps-4 { + padding-right: 1.5rem !important; +} + +.ps-5 { + padding-right: 3rem !important; +} + +@media (min-width: 576px) { + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-block { + display: block !important; + } + .d-sm-grid { + display: grid !important; + } + .d-sm-inline-grid { + display: inline-grid !important; + } + .d-sm-table { + display: table !important; + } + .d-sm-table-row { + display: table-row !important; + } + .d-sm-table-cell { + display: table-cell !important; + } + .d-sm-flex { + display: flex !important; + } + .d-sm-inline-flex { + display: inline-flex !important; + } + .d-sm-none { + display: none !important; + } + .flex-sm-fill { + flex: 1 1 auto !important; + } + .flex-sm-row { + flex-direction: row !important; + } + .flex-sm-column { + flex-direction: column !important; + } + .flex-sm-row-reverse { + flex-direction: row-reverse !important; + } + .flex-sm-column-reverse { + flex-direction: column-reverse !important; + } + .flex-sm-grow-0 { + flex-grow: 0 !important; + } + .flex-sm-grow-1 { + flex-grow: 1 !important; + } + .flex-sm-shrink-0 { + flex-shrink: 0 !important; + } + .flex-sm-shrink-1 { + flex-shrink: 1 !important; + } + .flex-sm-wrap { + flex-wrap: wrap !important; + } + .flex-sm-nowrap { + flex-wrap: nowrap !important; + } + .flex-sm-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-sm-start { + justify-content: flex-start !important; + } + .justify-content-sm-end { + justify-content: flex-end !important; + } + .justify-content-sm-center { + justify-content: center !important; + } + .justify-content-sm-between { + justify-content: space-between !important; + } + .justify-content-sm-around { + justify-content: space-around !important; + } + .justify-content-sm-evenly { + justify-content: space-evenly !important; + } + .align-items-sm-start { + align-items: flex-start !important; + } + .align-items-sm-end { + align-items: flex-end !important; + } + .align-items-sm-center { + align-items: center !important; + } + .align-items-sm-baseline { + align-items: baseline !important; + } + .align-items-sm-stretch { + align-items: stretch !important; + } + .align-content-sm-start { + align-content: flex-start !important; + } + .align-content-sm-end { + align-content: flex-end !important; + } + .align-content-sm-center { + align-content: center !important; + } + .align-content-sm-between { + align-content: space-between !important; + } + .align-content-sm-around { + align-content: space-around !important; + } + .align-content-sm-stretch { + align-content: stretch !important; + } + .align-self-sm-auto { + align-self: auto !important; + } + .align-self-sm-start { + align-self: flex-start !important; + } + .align-self-sm-end { + align-self: flex-end !important; + } + .align-self-sm-center { + align-self: center !important; + } + .align-self-sm-baseline { + align-self: baseline !important; + } + .align-self-sm-stretch { + align-self: stretch !important; + } + .order-sm-first { + order: -1 !important; + } + .order-sm-0 { + order: 0 !important; + } + .order-sm-1 { + order: 1 !important; + } + .order-sm-2 { + order: 2 !important; + } + .order-sm-3 { + order: 3 !important; + } + .order-sm-4 { + order: 4 !important; + } + .order-sm-5 { + order: 5 !important; + } + .order-sm-last { + order: 6 !important; + } + .m-sm-0 { + margin: 0 !important; + } + .m-sm-1 { + margin: 0.25rem !important; + } + .m-sm-2 { + margin: 0.5rem !important; + } + .m-sm-3 { + margin: 1rem !important; + } + .m-sm-4 { + margin: 1.5rem !important; + } + .m-sm-5 { + margin: 3rem !important; + } + .m-sm-auto { + margin: auto !important; + } + .mx-sm-0 { + margin-left: 0 !important; + margin-right: 0 !important; + } + .mx-sm-1 { + margin-left: 0.25rem !important; + margin-right: 0.25rem !important; + } + .mx-sm-2 { + margin-left: 0.5rem !important; + margin-right: 0.5rem !important; + } + .mx-sm-3 { + margin-left: 1rem !important; + margin-right: 1rem !important; + } + .mx-sm-4 { + margin-left: 1.5rem !important; + margin-right: 1.5rem !important; + } + .mx-sm-5 { + margin-left: 3rem !important; + margin-right: 3rem !important; + } + .mx-sm-auto { + margin-left: auto !important; + margin-right: auto !important; + } + .my-sm-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-sm-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-sm-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-sm-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-sm-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-sm-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-sm-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-sm-0 { + margin-top: 0 !important; + } + .mt-sm-1 { + margin-top: 0.25rem !important; + } + .mt-sm-2 { + margin-top: 0.5rem !important; + } + .mt-sm-3 { + margin-top: 1rem !important; + } + .mt-sm-4 { + margin-top: 1.5rem !important; + } + .mt-sm-5 { + margin-top: 3rem !important; + } + .mt-sm-auto { + margin-top: auto !important; + } + .me-sm-0 { + margin-left: 0 !important; + } + .me-sm-1 { + margin-left: 0.25rem !important; + } + .me-sm-2 { + margin-left: 0.5rem !important; + } + .me-sm-3 { + margin-left: 1rem !important; + } + .me-sm-4 { + margin-left: 1.5rem !important; + } + .me-sm-5 { + margin-left: 3rem !important; + } + .me-sm-auto { + margin-left: auto !important; + } + .mb-sm-0 { + margin-bottom: 0 !important; + } + .mb-sm-1 { + margin-bottom: 0.25rem !important; + } + .mb-sm-2 { + margin-bottom: 0.5rem !important; + } + .mb-sm-3 { + margin-bottom: 1rem !important; + } + .mb-sm-4 { + margin-bottom: 1.5rem !important; + } + .mb-sm-5 { + margin-bottom: 3rem !important; + } + .mb-sm-auto { + margin-bottom: auto !important; + } + .ms-sm-0 { + margin-right: 0 !important; + } + .ms-sm-1 { + margin-right: 0.25rem !important; + } + .ms-sm-2 { + margin-right: 0.5rem !important; + } + .ms-sm-3 { + margin-right: 1rem !important; + } + .ms-sm-4 { + margin-right: 1.5rem !important; + } + .ms-sm-5 { + margin-right: 3rem !important; + } + .ms-sm-auto { + margin-right: auto !important; + } + .p-sm-0 { + padding: 0 !important; + } + .p-sm-1 { + padding: 0.25rem !important; + } + .p-sm-2 { + padding: 0.5rem !important; + } + .p-sm-3 { + padding: 1rem !important; + } + .p-sm-4 { + padding: 1.5rem !important; + } + .p-sm-5 { + padding: 3rem !important; + } + .px-sm-0 { + padding-left: 0 !important; + padding-right: 0 !important; + } + .px-sm-1 { + padding-left: 0.25rem !important; + padding-right: 0.25rem !important; + } + .px-sm-2 { + padding-left: 0.5rem !important; + padding-right: 0.5rem !important; + } + .px-sm-3 { + padding-left: 1rem !important; + padding-right: 1rem !important; + } + .px-sm-4 { + padding-left: 1.5rem !important; + padding-right: 1.5rem !important; + } + .px-sm-5 { + padding-left: 3rem !important; + padding-right: 3rem !important; + } + .py-sm-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-sm-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-sm-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-sm-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-sm-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-sm-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-sm-0 { + padding-top: 0 !important; + } + .pt-sm-1 { + padding-top: 0.25rem !important; + } + .pt-sm-2 { + padding-top: 0.5rem !important; + } + .pt-sm-3 { + padding-top: 1rem !important; + } + .pt-sm-4 { + padding-top: 1.5rem !important; + } + .pt-sm-5 { + padding-top: 3rem !important; + } + .pe-sm-0 { + padding-left: 0 !important; + } + .pe-sm-1 { + padding-left: 0.25rem !important; + } + .pe-sm-2 { + padding-left: 0.5rem !important; + } + .pe-sm-3 { + padding-left: 1rem !important; + } + .pe-sm-4 { + padding-left: 1.5rem !important; + } + .pe-sm-5 { + padding-left: 3rem !important; + } + .pb-sm-0 { + padding-bottom: 0 !important; + } + .pb-sm-1 { + padding-bottom: 0.25rem !important; + } + .pb-sm-2 { + padding-bottom: 0.5rem !important; + } + .pb-sm-3 { + padding-bottom: 1rem !important; + } + .pb-sm-4 { + padding-bottom: 1.5rem !important; + } + .pb-sm-5 { + padding-bottom: 3rem !important; + } + .ps-sm-0 { + padding-right: 0 !important; + } + .ps-sm-1 { + padding-right: 0.25rem !important; + } + .ps-sm-2 { + padding-right: 0.5rem !important; + } + .ps-sm-3 { + padding-right: 1rem !important; + } + .ps-sm-4 { + padding-right: 1.5rem !important; + } + .ps-sm-5 { + padding-right: 3rem !important; + } +} +@media (min-width: 768px) { + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-block { + display: block !important; + } + .d-md-grid { + display: grid !important; + } + .d-md-inline-grid { + display: inline-grid !important; + } + .d-md-table { + display: table !important; + } + .d-md-table-row { + display: table-row !important; + } + .d-md-table-cell { + display: table-cell !important; + } + .d-md-flex { + display: flex !important; + } + .d-md-inline-flex { + display: inline-flex !important; + } + .d-md-none { + display: none !important; + } + .flex-md-fill { + flex: 1 1 auto !important; + } + .flex-md-row { + flex-direction: row !important; + } + .flex-md-column { + flex-direction: column !important; + } + .flex-md-row-reverse { + flex-direction: row-reverse !important; + } + .flex-md-column-reverse { + flex-direction: column-reverse !important; + } + .flex-md-grow-0 { + flex-grow: 0 !important; + } + .flex-md-grow-1 { + flex-grow: 1 !important; + } + .flex-md-shrink-0 { + flex-shrink: 0 !important; + } + .flex-md-shrink-1 { + flex-shrink: 1 !important; + } + .flex-md-wrap { + flex-wrap: wrap !important; + } + .flex-md-nowrap { + flex-wrap: nowrap !important; + } + .flex-md-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-md-start { + justify-content: flex-start !important; + } + .justify-content-md-end { + justify-content: flex-end !important; + } + .justify-content-md-center { + justify-content: center !important; + } + .justify-content-md-between { + justify-content: space-between !important; + } + .justify-content-md-around { + justify-content: space-around !important; + } + .justify-content-md-evenly { + justify-content: space-evenly !important; + } + .align-items-md-start { + align-items: flex-start !important; + } + .align-items-md-end { + align-items: flex-end !important; + } + .align-items-md-center { + align-items: center !important; + } + .align-items-md-baseline { + align-items: baseline !important; + } + .align-items-md-stretch { + align-items: stretch !important; + } + .align-content-md-start { + align-content: flex-start !important; + } + .align-content-md-end { + align-content: flex-end !important; + } + .align-content-md-center { + align-content: center !important; + } + .align-content-md-between { + align-content: space-between !important; + } + .align-content-md-around { + align-content: space-around !important; + } + .align-content-md-stretch { + align-content: stretch !important; + } + .align-self-md-auto { + align-self: auto !important; + } + .align-self-md-start { + align-self: flex-start !important; + } + .align-self-md-end { + align-self: flex-end !important; + } + .align-self-md-center { + align-self: center !important; + } + .align-self-md-baseline { + align-self: baseline !important; + } + .align-self-md-stretch { + align-self: stretch !important; + } + .order-md-first { + order: -1 !important; + } + .order-md-0 { + order: 0 !important; + } + .order-md-1 { + order: 1 !important; + } + .order-md-2 { + order: 2 !important; + } + .order-md-3 { + order: 3 !important; + } + .order-md-4 { + order: 4 !important; + } + .order-md-5 { + order: 5 !important; + } + .order-md-last { + order: 6 !important; + } + .m-md-0 { + margin: 0 !important; + } + .m-md-1 { + margin: 0.25rem !important; + } + .m-md-2 { + margin: 0.5rem !important; + } + .m-md-3 { + margin: 1rem !important; + } + .m-md-4 { + margin: 1.5rem !important; + } + .m-md-5 { + margin: 3rem !important; + } + .m-md-auto { + margin: auto !important; + } + .mx-md-0 { + margin-left: 0 !important; + margin-right: 0 !important; + } + .mx-md-1 { + margin-left: 0.25rem !important; + margin-right: 0.25rem !important; + } + .mx-md-2 { + margin-left: 0.5rem !important; + margin-right: 0.5rem !important; + } + .mx-md-3 { + margin-left: 1rem !important; + margin-right: 1rem !important; + } + .mx-md-4 { + margin-left: 1.5rem !important; + margin-right: 1.5rem !important; + } + .mx-md-5 { + margin-left: 3rem !important; + margin-right: 3rem !important; + } + .mx-md-auto { + margin-left: auto !important; + margin-right: auto !important; + } + .my-md-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-md-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-md-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-md-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-md-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-md-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-md-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-md-0 { + margin-top: 0 !important; + } + .mt-md-1 { + margin-top: 0.25rem !important; + } + .mt-md-2 { + margin-top: 0.5rem !important; + } + .mt-md-3 { + margin-top: 1rem !important; + } + .mt-md-4 { + margin-top: 1.5rem !important; + } + .mt-md-5 { + margin-top: 3rem !important; + } + .mt-md-auto { + margin-top: auto !important; + } + .me-md-0 { + margin-left: 0 !important; + } + .me-md-1 { + margin-left: 0.25rem !important; + } + .me-md-2 { + margin-left: 0.5rem !important; + } + .me-md-3 { + margin-left: 1rem !important; + } + .me-md-4 { + margin-left: 1.5rem !important; + } + .me-md-5 { + margin-left: 3rem !important; + } + .me-md-auto { + margin-left: auto !important; + } + .mb-md-0 { + margin-bottom: 0 !important; + } + .mb-md-1 { + margin-bottom: 0.25rem !important; + } + .mb-md-2 { + margin-bottom: 0.5rem !important; + } + .mb-md-3 { + margin-bottom: 1rem !important; + } + .mb-md-4 { + margin-bottom: 1.5rem !important; + } + .mb-md-5 { + margin-bottom: 3rem !important; + } + .mb-md-auto { + margin-bottom: auto !important; + } + .ms-md-0 { + margin-right: 0 !important; + } + .ms-md-1 { + margin-right: 0.25rem !important; + } + .ms-md-2 { + margin-right: 0.5rem !important; + } + .ms-md-3 { + margin-right: 1rem !important; + } + .ms-md-4 { + margin-right: 1.5rem !important; + } + .ms-md-5 { + margin-right: 3rem !important; + } + .ms-md-auto { + margin-right: auto !important; + } + .p-md-0 { + padding: 0 !important; + } + .p-md-1 { + padding: 0.25rem !important; + } + .p-md-2 { + padding: 0.5rem !important; + } + .p-md-3 { + padding: 1rem !important; + } + .p-md-4 { + padding: 1.5rem !important; + } + .p-md-5 { + padding: 3rem !important; + } + .px-md-0 { + padding-left: 0 !important; + padding-right: 0 !important; + } + .px-md-1 { + padding-left: 0.25rem !important; + padding-right: 0.25rem !important; + } + .px-md-2 { + padding-left: 0.5rem !important; + padding-right: 0.5rem !important; + } + .px-md-3 { + padding-left: 1rem !important; + padding-right: 1rem !important; + } + .px-md-4 { + padding-left: 1.5rem !important; + padding-right: 1.5rem !important; + } + .px-md-5 { + padding-left: 3rem !important; + padding-right: 3rem !important; + } + .py-md-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-md-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-md-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-md-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-md-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-md-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-md-0 { + padding-top: 0 !important; + } + .pt-md-1 { + padding-top: 0.25rem !important; + } + .pt-md-2 { + padding-top: 0.5rem !important; + } + .pt-md-3 { + padding-top: 1rem !important; + } + .pt-md-4 { + padding-top: 1.5rem !important; + } + .pt-md-5 { + padding-top: 3rem !important; + } + .pe-md-0 { + padding-left: 0 !important; + } + .pe-md-1 { + padding-left: 0.25rem !important; + } + .pe-md-2 { + padding-left: 0.5rem !important; + } + .pe-md-3 { + padding-left: 1rem !important; + } + .pe-md-4 { + padding-left: 1.5rem !important; + } + .pe-md-5 { + padding-left: 3rem !important; + } + .pb-md-0 { + padding-bottom: 0 !important; + } + .pb-md-1 { + padding-bottom: 0.25rem !important; + } + .pb-md-2 { + padding-bottom: 0.5rem !important; + } + .pb-md-3 { + padding-bottom: 1rem !important; + } + .pb-md-4 { + padding-bottom: 1.5rem !important; + } + .pb-md-5 { + padding-bottom: 3rem !important; + } + .ps-md-0 { + padding-right: 0 !important; + } + .ps-md-1 { + padding-right: 0.25rem !important; + } + .ps-md-2 { + padding-right: 0.5rem !important; + } + .ps-md-3 { + padding-right: 1rem !important; + } + .ps-md-4 { + padding-right: 1.5rem !important; + } + .ps-md-5 { + padding-right: 3rem !important; + } +} +@media (min-width: 992px) { + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-block { + display: block !important; + } + .d-lg-grid { + display: grid !important; + } + .d-lg-inline-grid { + display: inline-grid !important; + } + .d-lg-table { + display: table !important; + } + .d-lg-table-row { + display: table-row !important; + } + .d-lg-table-cell { + display: table-cell !important; + } + .d-lg-flex { + display: flex !important; + } + .d-lg-inline-flex { + display: inline-flex !important; + } + .d-lg-none { + display: none !important; + } + .flex-lg-fill { + flex: 1 1 auto !important; + } + .flex-lg-row { + flex-direction: row !important; + } + .flex-lg-column { + flex-direction: column !important; + } + .flex-lg-row-reverse { + flex-direction: row-reverse !important; + } + .flex-lg-column-reverse { + flex-direction: column-reverse !important; + } + .flex-lg-grow-0 { + flex-grow: 0 !important; + } + .flex-lg-grow-1 { + flex-grow: 1 !important; + } + .flex-lg-shrink-0 { + flex-shrink: 0 !important; + } + .flex-lg-shrink-1 { + flex-shrink: 1 !important; + } + .flex-lg-wrap { + flex-wrap: wrap !important; + } + .flex-lg-nowrap { + flex-wrap: nowrap !important; + } + .flex-lg-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-lg-start { + justify-content: flex-start !important; + } + .justify-content-lg-end { + justify-content: flex-end !important; + } + .justify-content-lg-center { + justify-content: center !important; + } + .justify-content-lg-between { + justify-content: space-between !important; + } + .justify-content-lg-around { + justify-content: space-around !important; + } + .justify-content-lg-evenly { + justify-content: space-evenly !important; + } + .align-items-lg-start { + align-items: flex-start !important; + } + .align-items-lg-end { + align-items: flex-end !important; + } + .align-items-lg-center { + align-items: center !important; + } + .align-items-lg-baseline { + align-items: baseline !important; + } + .align-items-lg-stretch { + align-items: stretch !important; + } + .align-content-lg-start { + align-content: flex-start !important; + } + .align-content-lg-end { + align-content: flex-end !important; + } + .align-content-lg-center { + align-content: center !important; + } + .align-content-lg-between { + align-content: space-between !important; + } + .align-content-lg-around { + align-content: space-around !important; + } + .align-content-lg-stretch { + align-content: stretch !important; + } + .align-self-lg-auto { + align-self: auto !important; + } + .align-self-lg-start { + align-self: flex-start !important; + } + .align-self-lg-end { + align-self: flex-end !important; + } + .align-self-lg-center { + align-self: center !important; + } + .align-self-lg-baseline { + align-self: baseline !important; + } + .align-self-lg-stretch { + align-self: stretch !important; + } + .order-lg-first { + order: -1 !important; + } + .order-lg-0 { + order: 0 !important; + } + .order-lg-1 { + order: 1 !important; + } + .order-lg-2 { + order: 2 !important; + } + .order-lg-3 { + order: 3 !important; + } + .order-lg-4 { + order: 4 !important; + } + .order-lg-5 { + order: 5 !important; + } + .order-lg-last { + order: 6 !important; + } + .m-lg-0 { + margin: 0 !important; + } + .m-lg-1 { + margin: 0.25rem !important; + } + .m-lg-2 { + margin: 0.5rem !important; + } + .m-lg-3 { + margin: 1rem !important; + } + .m-lg-4 { + margin: 1.5rem !important; + } + .m-lg-5 { + margin: 3rem !important; + } + .m-lg-auto { + margin: auto !important; + } + .mx-lg-0 { + margin-left: 0 !important; + margin-right: 0 !important; + } + .mx-lg-1 { + margin-left: 0.25rem !important; + margin-right: 0.25rem !important; + } + .mx-lg-2 { + margin-left: 0.5rem !important; + margin-right: 0.5rem !important; + } + .mx-lg-3 { + margin-left: 1rem !important; + margin-right: 1rem !important; + } + .mx-lg-4 { + margin-left: 1.5rem !important; + margin-right: 1.5rem !important; + } + .mx-lg-5 { + margin-left: 3rem !important; + margin-right: 3rem !important; + } + .mx-lg-auto { + margin-left: auto !important; + margin-right: auto !important; + } + .my-lg-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-lg-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-lg-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-lg-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-lg-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-lg-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-lg-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-lg-0 { + margin-top: 0 !important; + } + .mt-lg-1 { + margin-top: 0.25rem !important; + } + .mt-lg-2 { + margin-top: 0.5rem !important; + } + .mt-lg-3 { + margin-top: 1rem !important; + } + .mt-lg-4 { + margin-top: 1.5rem !important; + } + .mt-lg-5 { + margin-top: 3rem !important; + } + .mt-lg-auto { + margin-top: auto !important; + } + .me-lg-0 { + margin-left: 0 !important; + } + .me-lg-1 { + margin-left: 0.25rem !important; + } + .me-lg-2 { + margin-left: 0.5rem !important; + } + .me-lg-3 { + margin-left: 1rem !important; + } + .me-lg-4 { + margin-left: 1.5rem !important; + } + .me-lg-5 { + margin-left: 3rem !important; + } + .me-lg-auto { + margin-left: auto !important; + } + .mb-lg-0 { + margin-bottom: 0 !important; + } + .mb-lg-1 { + margin-bottom: 0.25rem !important; + } + .mb-lg-2 { + margin-bottom: 0.5rem !important; + } + .mb-lg-3 { + margin-bottom: 1rem !important; + } + .mb-lg-4 { + margin-bottom: 1.5rem !important; + } + .mb-lg-5 { + margin-bottom: 3rem !important; + } + .mb-lg-auto { + margin-bottom: auto !important; + } + .ms-lg-0 { + margin-right: 0 !important; + } + .ms-lg-1 { + margin-right: 0.25rem !important; + } + .ms-lg-2 { + margin-right: 0.5rem !important; + } + .ms-lg-3 { + margin-right: 1rem !important; + } + .ms-lg-4 { + margin-right: 1.5rem !important; + } + .ms-lg-5 { + margin-right: 3rem !important; + } + .ms-lg-auto { + margin-right: auto !important; + } + .p-lg-0 { + padding: 0 !important; + } + .p-lg-1 { + padding: 0.25rem !important; + } + .p-lg-2 { + padding: 0.5rem !important; + } + .p-lg-3 { + padding: 1rem !important; + } + .p-lg-4 { + padding: 1.5rem !important; + } + .p-lg-5 { + padding: 3rem !important; + } + .px-lg-0 { + padding-left: 0 !important; + padding-right: 0 !important; + } + .px-lg-1 { + padding-left: 0.25rem !important; + padding-right: 0.25rem !important; + } + .px-lg-2 { + padding-left: 0.5rem !important; + padding-right: 0.5rem !important; + } + .px-lg-3 { + padding-left: 1rem !important; + padding-right: 1rem !important; + } + .px-lg-4 { + padding-left: 1.5rem !important; + padding-right: 1.5rem !important; + } + .px-lg-5 { + padding-left: 3rem !important; + padding-right: 3rem !important; + } + .py-lg-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-lg-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-lg-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-lg-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-lg-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-lg-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-lg-0 { + padding-top: 0 !important; + } + .pt-lg-1 { + padding-top: 0.25rem !important; + } + .pt-lg-2 { + padding-top: 0.5rem !important; + } + .pt-lg-3 { + padding-top: 1rem !important; + } + .pt-lg-4 { + padding-top: 1.5rem !important; + } + .pt-lg-5 { + padding-top: 3rem !important; + } + .pe-lg-0 { + padding-left: 0 !important; + } + .pe-lg-1 { + padding-left: 0.25rem !important; + } + .pe-lg-2 { + padding-left: 0.5rem !important; + } + .pe-lg-3 { + padding-left: 1rem !important; + } + .pe-lg-4 { + padding-left: 1.5rem !important; + } + .pe-lg-5 { + padding-left: 3rem !important; + } + .pb-lg-0 { + padding-bottom: 0 !important; + } + .pb-lg-1 { + padding-bottom: 0.25rem !important; + } + .pb-lg-2 { + padding-bottom: 0.5rem !important; + } + .pb-lg-3 { + padding-bottom: 1rem !important; + } + .pb-lg-4 { + padding-bottom: 1.5rem !important; + } + .pb-lg-5 { + padding-bottom: 3rem !important; + } + .ps-lg-0 { + padding-right: 0 !important; + } + .ps-lg-1 { + padding-right: 0.25rem !important; + } + .ps-lg-2 { + padding-right: 0.5rem !important; + } + .ps-lg-3 { + padding-right: 1rem !important; + } + .ps-lg-4 { + padding-right: 1.5rem !important; + } + .ps-lg-5 { + padding-right: 3rem !important; + } +} +@media (min-width: 1200px) { + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-block { + display: block !important; + } + .d-xl-grid { + display: grid !important; + } + .d-xl-inline-grid { + display: inline-grid !important; + } + .d-xl-table { + display: table !important; + } + .d-xl-table-row { + display: table-row !important; + } + .d-xl-table-cell { + display: table-cell !important; + } + .d-xl-flex { + display: flex !important; + } + .d-xl-inline-flex { + display: inline-flex !important; + } + .d-xl-none { + display: none !important; + } + .flex-xl-fill { + flex: 1 1 auto !important; + } + .flex-xl-row { + flex-direction: row !important; + } + .flex-xl-column { + flex-direction: column !important; + } + .flex-xl-row-reverse { + flex-direction: row-reverse !important; + } + .flex-xl-column-reverse { + flex-direction: column-reverse !important; + } + .flex-xl-grow-0 { + flex-grow: 0 !important; + } + .flex-xl-grow-1 { + flex-grow: 1 !important; + } + .flex-xl-shrink-0 { + flex-shrink: 0 !important; + } + .flex-xl-shrink-1 { + flex-shrink: 1 !important; + } + .flex-xl-wrap { + flex-wrap: wrap !important; + } + .flex-xl-nowrap { + flex-wrap: nowrap !important; + } + .flex-xl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-xl-start { + justify-content: flex-start !important; + } + .justify-content-xl-end { + justify-content: flex-end !important; + } + .justify-content-xl-center { + justify-content: center !important; + } + .justify-content-xl-between { + justify-content: space-between !important; + } + .justify-content-xl-around { + justify-content: space-around !important; + } + .justify-content-xl-evenly { + justify-content: space-evenly !important; + } + .align-items-xl-start { + align-items: flex-start !important; + } + .align-items-xl-end { + align-items: flex-end !important; + } + .align-items-xl-center { + align-items: center !important; + } + .align-items-xl-baseline { + align-items: baseline !important; + } + .align-items-xl-stretch { + align-items: stretch !important; + } + .align-content-xl-start { + align-content: flex-start !important; + } + .align-content-xl-end { + align-content: flex-end !important; + } + .align-content-xl-center { + align-content: center !important; + } + .align-content-xl-between { + align-content: space-between !important; + } + .align-content-xl-around { + align-content: space-around !important; + } + .align-content-xl-stretch { + align-content: stretch !important; + } + .align-self-xl-auto { + align-self: auto !important; + } + .align-self-xl-start { + align-self: flex-start !important; + } + .align-self-xl-end { + align-self: flex-end !important; + } + .align-self-xl-center { + align-self: center !important; + } + .align-self-xl-baseline { + align-self: baseline !important; + } + .align-self-xl-stretch { + align-self: stretch !important; + } + .order-xl-first { + order: -1 !important; + } + .order-xl-0 { + order: 0 !important; + } + .order-xl-1 { + order: 1 !important; + } + .order-xl-2 { + order: 2 !important; + } + .order-xl-3 { + order: 3 !important; + } + .order-xl-4 { + order: 4 !important; + } + .order-xl-5 { + order: 5 !important; + } + .order-xl-last { + order: 6 !important; + } + .m-xl-0 { + margin: 0 !important; + } + .m-xl-1 { + margin: 0.25rem !important; + } + .m-xl-2 { + margin: 0.5rem !important; + } + .m-xl-3 { + margin: 1rem !important; + } + .m-xl-4 { + margin: 1.5rem !important; + } + .m-xl-5 { + margin: 3rem !important; + } + .m-xl-auto { + margin: auto !important; + } + .mx-xl-0 { + margin-left: 0 !important; + margin-right: 0 !important; + } + .mx-xl-1 { + margin-left: 0.25rem !important; + margin-right: 0.25rem !important; + } + .mx-xl-2 { + margin-left: 0.5rem !important; + margin-right: 0.5rem !important; + } + .mx-xl-3 { + margin-left: 1rem !important; + margin-right: 1rem !important; + } + .mx-xl-4 { + margin-left: 1.5rem !important; + margin-right: 1.5rem !important; + } + .mx-xl-5 { + margin-left: 3rem !important; + margin-right: 3rem !important; + } + .mx-xl-auto { + margin-left: auto !important; + margin-right: auto !important; + } + .my-xl-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-xl-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-xl-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-xl-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-xl-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-xl-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-xl-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-xl-0 { + margin-top: 0 !important; + } + .mt-xl-1 { + margin-top: 0.25rem !important; + } + .mt-xl-2 { + margin-top: 0.5rem !important; + } + .mt-xl-3 { + margin-top: 1rem !important; + } + .mt-xl-4 { + margin-top: 1.5rem !important; + } + .mt-xl-5 { + margin-top: 3rem !important; + } + .mt-xl-auto { + margin-top: auto !important; + } + .me-xl-0 { + margin-left: 0 !important; + } + .me-xl-1 { + margin-left: 0.25rem !important; + } + .me-xl-2 { + margin-left: 0.5rem !important; + } + .me-xl-3 { + margin-left: 1rem !important; + } + .me-xl-4 { + margin-left: 1.5rem !important; + } + .me-xl-5 { + margin-left: 3rem !important; + } + .me-xl-auto { + margin-left: auto !important; + } + .mb-xl-0 { + margin-bottom: 0 !important; + } + .mb-xl-1 { + margin-bottom: 0.25rem !important; + } + .mb-xl-2 { + margin-bottom: 0.5rem !important; + } + .mb-xl-3 { + margin-bottom: 1rem !important; + } + .mb-xl-4 { + margin-bottom: 1.5rem !important; + } + .mb-xl-5 { + margin-bottom: 3rem !important; + } + .mb-xl-auto { + margin-bottom: auto !important; + } + .ms-xl-0 { + margin-right: 0 !important; + } + .ms-xl-1 { + margin-right: 0.25rem !important; + } + .ms-xl-2 { + margin-right: 0.5rem !important; + } + .ms-xl-3 { + margin-right: 1rem !important; + } + .ms-xl-4 { + margin-right: 1.5rem !important; + } + .ms-xl-5 { + margin-right: 3rem !important; + } + .ms-xl-auto { + margin-right: auto !important; + } + .p-xl-0 { + padding: 0 !important; + } + .p-xl-1 { + padding: 0.25rem !important; + } + .p-xl-2 { + padding: 0.5rem !important; + } + .p-xl-3 { + padding: 1rem !important; + } + .p-xl-4 { + padding: 1.5rem !important; + } + .p-xl-5 { + padding: 3rem !important; + } + .px-xl-0 { + padding-left: 0 !important; + padding-right: 0 !important; + } + .px-xl-1 { + padding-left: 0.25rem !important; + padding-right: 0.25rem !important; + } + .px-xl-2 { + padding-left: 0.5rem !important; + padding-right: 0.5rem !important; + } + .px-xl-3 { + padding-left: 1rem !important; + padding-right: 1rem !important; + } + .px-xl-4 { + padding-left: 1.5rem !important; + padding-right: 1.5rem !important; + } + .px-xl-5 { + padding-left: 3rem !important; + padding-right: 3rem !important; + } + .py-xl-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-xl-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-xl-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-xl-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-xl-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-xl-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-xl-0 { + padding-top: 0 !important; + } + .pt-xl-1 { + padding-top: 0.25rem !important; + } + .pt-xl-2 { + padding-top: 0.5rem !important; + } + .pt-xl-3 { + padding-top: 1rem !important; + } + .pt-xl-4 { + padding-top: 1.5rem !important; + } + .pt-xl-5 { + padding-top: 3rem !important; + } + .pe-xl-0 { + padding-left: 0 !important; + } + .pe-xl-1 { + padding-left: 0.25rem !important; + } + .pe-xl-2 { + padding-left: 0.5rem !important; + } + .pe-xl-3 { + padding-left: 1rem !important; + } + .pe-xl-4 { + padding-left: 1.5rem !important; + } + .pe-xl-5 { + padding-left: 3rem !important; + } + .pb-xl-0 { + padding-bottom: 0 !important; + } + .pb-xl-1 { + padding-bottom: 0.25rem !important; + } + .pb-xl-2 { + padding-bottom: 0.5rem !important; + } + .pb-xl-3 { + padding-bottom: 1rem !important; + } + .pb-xl-4 { + padding-bottom: 1.5rem !important; + } + .pb-xl-5 { + padding-bottom: 3rem !important; + } + .ps-xl-0 { + padding-right: 0 !important; + } + .ps-xl-1 { + padding-right: 0.25rem !important; + } + .ps-xl-2 { + padding-right: 0.5rem !important; + } + .ps-xl-3 { + padding-right: 1rem !important; + } + .ps-xl-4 { + padding-right: 1.5rem !important; + } + .ps-xl-5 { + padding-right: 3rem !important; + } +} +@media (min-width: 1400px) { + .d-xxl-inline { + display: inline !important; + } + .d-xxl-inline-block { + display: inline-block !important; + } + .d-xxl-block { + display: block !important; + } + .d-xxl-grid { + display: grid !important; + } + .d-xxl-inline-grid { + display: inline-grid !important; + } + .d-xxl-table { + display: table !important; + } + .d-xxl-table-row { + display: table-row !important; + } + .d-xxl-table-cell { + display: table-cell !important; + } + .d-xxl-flex { + display: flex !important; + } + .d-xxl-inline-flex { + display: inline-flex !important; + } + .d-xxl-none { + display: none !important; + } + .flex-xxl-fill { + flex: 1 1 auto !important; + } + .flex-xxl-row { + flex-direction: row !important; + } + .flex-xxl-column { + flex-direction: column !important; + } + .flex-xxl-row-reverse { + flex-direction: row-reverse !important; + } + .flex-xxl-column-reverse { + flex-direction: column-reverse !important; + } + .flex-xxl-grow-0 { + flex-grow: 0 !important; + } + .flex-xxl-grow-1 { + flex-grow: 1 !important; + } + .flex-xxl-shrink-0 { + flex-shrink: 0 !important; + } + .flex-xxl-shrink-1 { + flex-shrink: 1 !important; + } + .flex-xxl-wrap { + flex-wrap: wrap !important; + } + .flex-xxl-nowrap { + flex-wrap: nowrap !important; + } + .flex-xxl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-xxl-start { + justify-content: flex-start !important; + } + .justify-content-xxl-end { + justify-content: flex-end !important; + } + .justify-content-xxl-center { + justify-content: center !important; + } + .justify-content-xxl-between { + justify-content: space-between !important; + } + .justify-content-xxl-around { + justify-content: space-around !important; + } + .justify-content-xxl-evenly { + justify-content: space-evenly !important; + } + .align-items-xxl-start { + align-items: flex-start !important; + } + .align-items-xxl-end { + align-items: flex-end !important; + } + .align-items-xxl-center { + align-items: center !important; + } + .align-items-xxl-baseline { + align-items: baseline !important; + } + .align-items-xxl-stretch { + align-items: stretch !important; + } + .align-content-xxl-start { + align-content: flex-start !important; + } + .align-content-xxl-end { + align-content: flex-end !important; + } + .align-content-xxl-center { + align-content: center !important; + } + .align-content-xxl-between { + align-content: space-between !important; + } + .align-content-xxl-around { + align-content: space-around !important; + } + .align-content-xxl-stretch { + align-content: stretch !important; + } + .align-self-xxl-auto { + align-self: auto !important; + } + .align-self-xxl-start { + align-self: flex-start !important; + } + .align-self-xxl-end { + align-self: flex-end !important; + } + .align-self-xxl-center { + align-self: center !important; + } + .align-self-xxl-baseline { + align-self: baseline !important; + } + .align-self-xxl-stretch { + align-self: stretch !important; + } + .order-xxl-first { + order: -1 !important; + } + .order-xxl-0 { + order: 0 !important; + } + .order-xxl-1 { + order: 1 !important; + } + .order-xxl-2 { + order: 2 !important; + } + .order-xxl-3 { + order: 3 !important; + } + .order-xxl-4 { + order: 4 !important; + } + .order-xxl-5 { + order: 5 !important; + } + .order-xxl-last { + order: 6 !important; + } + .m-xxl-0 { + margin: 0 !important; + } + .m-xxl-1 { + margin: 0.25rem !important; + } + .m-xxl-2 { + margin: 0.5rem !important; + } + .m-xxl-3 { + margin: 1rem !important; + } + .m-xxl-4 { + margin: 1.5rem !important; + } + .m-xxl-5 { + margin: 3rem !important; + } + .m-xxl-auto { + margin: auto !important; + } + .mx-xxl-0 { + margin-left: 0 !important; + margin-right: 0 !important; + } + .mx-xxl-1 { + margin-left: 0.25rem !important; + margin-right: 0.25rem !important; + } + .mx-xxl-2 { + margin-left: 0.5rem !important; + margin-right: 0.5rem !important; + } + .mx-xxl-3 { + margin-left: 1rem !important; + margin-right: 1rem !important; + } + .mx-xxl-4 { + margin-left: 1.5rem !important; + margin-right: 1.5rem !important; + } + .mx-xxl-5 { + margin-left: 3rem !important; + margin-right: 3rem !important; + } + .mx-xxl-auto { + margin-left: auto !important; + margin-right: auto !important; + } + .my-xxl-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-xxl-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-xxl-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-xxl-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-xxl-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-xxl-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-xxl-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-xxl-0 { + margin-top: 0 !important; + } + .mt-xxl-1 { + margin-top: 0.25rem !important; + } + .mt-xxl-2 { + margin-top: 0.5rem !important; + } + .mt-xxl-3 { + margin-top: 1rem !important; + } + .mt-xxl-4 { + margin-top: 1.5rem !important; + } + .mt-xxl-5 { + margin-top: 3rem !important; + } + .mt-xxl-auto { + margin-top: auto !important; + } + .me-xxl-0 { + margin-left: 0 !important; + } + .me-xxl-1 { + margin-left: 0.25rem !important; + } + .me-xxl-2 { + margin-left: 0.5rem !important; + } + .me-xxl-3 { + margin-left: 1rem !important; + } + .me-xxl-4 { + margin-left: 1.5rem !important; + } + .me-xxl-5 { + margin-left: 3rem !important; + } + .me-xxl-auto { + margin-left: auto !important; + } + .mb-xxl-0 { + margin-bottom: 0 !important; + } + .mb-xxl-1 { + margin-bottom: 0.25rem !important; + } + .mb-xxl-2 { + margin-bottom: 0.5rem !important; + } + .mb-xxl-3 { + margin-bottom: 1rem !important; + } + .mb-xxl-4 { + margin-bottom: 1.5rem !important; + } + .mb-xxl-5 { + margin-bottom: 3rem !important; + } + .mb-xxl-auto { + margin-bottom: auto !important; + } + .ms-xxl-0 { + margin-right: 0 !important; + } + .ms-xxl-1 { + margin-right: 0.25rem !important; + } + .ms-xxl-2 { + margin-right: 0.5rem !important; + } + .ms-xxl-3 { + margin-right: 1rem !important; + } + .ms-xxl-4 { + margin-right: 1.5rem !important; + } + .ms-xxl-5 { + margin-right: 3rem !important; + } + .ms-xxl-auto { + margin-right: auto !important; + } + .p-xxl-0 { + padding: 0 !important; + } + .p-xxl-1 { + padding: 0.25rem !important; + } + .p-xxl-2 { + padding: 0.5rem !important; + } + .p-xxl-3 { + padding: 1rem !important; + } + .p-xxl-4 { + padding: 1.5rem !important; + } + .p-xxl-5 { + padding: 3rem !important; + } + .px-xxl-0 { + padding-left: 0 !important; + padding-right: 0 !important; + } + .px-xxl-1 { + padding-left: 0.25rem !important; + padding-right: 0.25rem !important; + } + .px-xxl-2 { + padding-left: 0.5rem !important; + padding-right: 0.5rem !important; + } + .px-xxl-3 { + padding-left: 1rem !important; + padding-right: 1rem !important; + } + .px-xxl-4 { + padding-left: 1.5rem !important; + padding-right: 1.5rem !important; + } + .px-xxl-5 { + padding-left: 3rem !important; + padding-right: 3rem !important; + } + .py-xxl-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-xxl-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-xxl-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-xxl-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-xxl-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-xxl-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-xxl-0 { + padding-top: 0 !important; + } + .pt-xxl-1 { + padding-top: 0.25rem !important; + } + .pt-xxl-2 { + padding-top: 0.5rem !important; + } + .pt-xxl-3 { + padding-top: 1rem !important; + } + .pt-xxl-4 { + padding-top: 1.5rem !important; + } + .pt-xxl-5 { + padding-top: 3rem !important; + } + .pe-xxl-0 { + padding-left: 0 !important; + } + .pe-xxl-1 { + padding-left: 0.25rem !important; + } + .pe-xxl-2 { + padding-left: 0.5rem !important; + } + .pe-xxl-3 { + padding-left: 1rem !important; + } + .pe-xxl-4 { + padding-left: 1.5rem !important; + } + .pe-xxl-5 { + padding-left: 3rem !important; + } + .pb-xxl-0 { + padding-bottom: 0 !important; + } + .pb-xxl-1 { + padding-bottom: 0.25rem !important; + } + .pb-xxl-2 { + padding-bottom: 0.5rem !important; + } + .pb-xxl-3 { + padding-bottom: 1rem !important; + } + .pb-xxl-4 { + padding-bottom: 1.5rem !important; + } + .pb-xxl-5 { + padding-bottom: 3rem !important; + } + .ps-xxl-0 { + padding-right: 0 !important; + } + .ps-xxl-1 { + padding-right: 0.25rem !important; + } + .ps-xxl-2 { + padding-right: 0.5rem !important; + } + .ps-xxl-3 { + padding-right: 1rem !important; + } + .ps-xxl-4 { + padding-right: 1.5rem !important; + } + .ps-xxl-5 { + padding-right: 3rem !important; + } +} +@media print { + .d-print-inline { + display: inline !important; + } + .d-print-inline-block { + display: inline-block !important; + } + .d-print-block { + display: block !important; + } + .d-print-grid { + display: grid !important; + } + .d-print-inline-grid { + display: inline-grid !important; + } + .d-print-table { + display: table !important; + } + .d-print-table-row { + display: table-row !important; + } + .d-print-table-cell { + display: table-cell !important; + } + .d-print-flex { + display: flex !important; + } + .d-print-inline-flex { + display: inline-flex !important; + } + .d-print-none { + display: none !important; + } +} +/*# sourceMappingURL=bootstrap-grid.rtl.css.map */ \ No newline at end of file diff --git a/wwws/cdn/apxweb/bootstrap/css/bootstrap-grid.rtl.css.map b/wwws/cdn/apxweb/bootstrap/css/bootstrap-grid.rtl.css.map new file mode 100644 index 0000000..0843032 --- /dev/null +++ b/wwws/cdn/apxweb/bootstrap/css/bootstrap-grid.rtl.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/mixins/_banner.scss","../../scss/_containers.scss","../../scss/mixins/_container.scss","bootstrap-grid.css","../../scss/mixins/_breakpoints.scss","../../scss/_variables.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_utilities.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"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EE,mBAAA;EJ6+BR;EI1+BM;;IAEE,mBAAA;EJ4+BR;AACF;AKpiCQ;EAOI,0BAAA;ALgiCZ;;AKviCQ;EAOI,gCAAA;ALoiCZ;;AK3iCQ;EAOI,yBAAA;ALwiCZ;;AK/iCQ;EAOI,wBAAA;AL4iCZ;;AKnjCQ;EAOI,+BAAA;ALgjCZ;;AKvjCQ;EAOI,yBAAA;ALojCZ;;AK3jCQ;EAOI,6BAAA;ALwjCZ;;AK/jCQ;EAOI,8BAAA;AL4jCZ;;AKnkCQ;EAOI,wBAAA;ALgkCZ;;AKvkCQ;EAOI,+BAAA;ALokCZ;;AK3kCQ;EAOI,wBAAA;ALwkCZ;;AK/kCQ;EAOI,yBAAA;AL4kCZ;;AKnlCQ;EAOI,8BAAA;ALglCZ;;AKvlCQ;EAOI,iCAAA;ALolCZ;;AK3lCQ;EAOI,sCAAA;ALwlCZ;;AK/lCQ;EAOI,yCAAA;AL4lCZ;;AKnmCQ;EAOI,uBAAA;ALgmCZ;;AKvmCQ;EAOI,uBAAA;ALomCZ;;AK3mCQ;EAOI,yBAAA;ALwmCZ;;AK/mCQ;EAOI,yBAAA;AL4mCZ;;AKnnCQ;EAOI,0BAAA;ALgnCZ;;AKvnCQ;EAOI,4BAAA;ALonCZ;;AK3nCQ;EAOI,kCAAA;ALwnCZ;;AK/nCQ;EAOI,sCAAA;AL4nCZ;;AKnoCQ;EAOI,oCAAA;ALgoCZ;;AKvoCQ;EAOI,kCAAA;ALooCZ;;AK3oCQ;EAOI,yCAAA;ALwoCZ;;AK/oCQ;EAOI,wCAAA;AL4oCZ;;AKnpCQ;EAOI,wCAAA;ALgpCZ;;AKvpCQ;EAOI,kCAAA;ALopCZ;;AK3pCQ;EAOI,gCAAA;ALwpCZ;;AK/pCQ;EAOI,8BAAA;AL4pCZ;;AKnqCQ;EAOI,gCAAA;ALgqCZ;;AKvqCQ;EAOI,+BAAA;ALoqCZ;;AK3qCQ;EAOI,oCAAA;ALwqCZ;;AK/qCQ;EAOI,kCAAA;AL4qCZ;;AKnrCQ;EAOI,gCAAA;ALgrCZ;;AKvrCQ;EAOI,uCAAA;ALorCZ;;AK3rCQ;EAOI,sCAAA;ALwrCZ;;AK/rCQ;EAOI,iCAAA;AL4rCZ;;AKnsCQ;EAOI,2BAAA;ALgsCZ;;AKvsCQ;EAOI,iCAAA;ALosCZ;;AK3sCQ;EAOI,+BAAA;ALwsCZ;;AK/sCQ;EAOI,6BAAA;AL4sCZ;;AKntCQ;EA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;AL8iDZ;;AKrjDQ;EAOI,4BAAA;ALkjDZ;;AKzjDQ;EAOI,0BAAA;ALsjDZ;;AK7jDQ;EAOI,gCAAA;AL0jDZ;;AKjkDQ;EAOI,+BAAA;AL8jDZ;;AKrkDQ;EAOI,6BAAA;ALkkDZ;;AKzkDQ;EAOI,+BAAA;ALskDZ;;AK7kDQ;EAOI,6BAAA;AL0kDZ;;AKjlDQ;EAOI,4BAAA;AL8kDZ;;AKrlDQ;EAOI,kCAAA;ALklDZ;;AKzlDQ;EAOI,iCAAA;ALslDZ;;AK7lDQ;EAOI,+BAAA;AL0lDZ;;AKjmDQ;EAOI,iCAAA;AL8lDZ;;AKrmDQ;EAOI,+BAAA;ALkmDZ;;AKzmDQ;EAOI,2BAAA;ALsmDZ;;AK7mDQ;EAOI,iCAAA;AL0mDZ;;AKjnDQ;EAOI,gCAAA;AL8mDZ;;AKrnDQ;EAOI,8BAAA;ALknDZ;;AKznDQ;EAOI,gCAAA;ALsnDZ;;AK7nDQ;EAOI,8BAAA;AL0nDZ;;ACpoDI;EIGI;IAOI,0BAAA;EL+nDV;EKtoDM;IAOI,gCAAA;ELkoDV;EKzoDM;IAOI,yBAAA;ELqoDV;EK5oDM;IAOI,wBAAA;ELwoDV;EK/oDM;IAOI,+BAAA;EL2oDV;EKlpDM;IAOI,yBAAA;EL8oDV;EKrpDM;IAOI,6BAAA;ELipDV;EKxpDM;IAOI,8BAAA;ELopDV;EK3pDM;IAOI,wBAAA;ELupDV;EK9pDM;IAOI,+BAAA;EL0pDV;EKjqDM;IAOI,wBAAA;EL6pDV;EKpqDM;IAOI,yBAAA;ELgqDV;EKvqDM;IAOI,8BAAA;ELmqDV;EK1qDM;IAOI,iCAAA;ELsqDV;EK7qDM;IAOI,sCAAA;ELyqDV;EKhrDM;IAOI,yCAAA;EL4qDV;EKnrDM;IAOI,uBAAA;EL+qDV;EKtrDM;IAOI,uBAAA;ELkrDV;EKzrDM;IAOI,yBAAA;ELqrDV;EK5rDM;IAOI,yBAAA;ELwrDV;EK/rDM;IAOI,0BAAA;EL2rDV;EKlsDM;IAOI,4BAAA;EL8rDV;EKrsDM;IAOI,kCAAA;ELisDV;EKxsDM;IAOI,sCAAA;ELosDV;EK3sDM;IAOI,oCAAA;ELusDV;EK9sDM;IAOI,kCAAA;EL0sDV;EKjtDM;IAOI,yCAAA;EL6sDV;EKptDM;IAOI,wCAAA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nEV;EK/nEM;IAOI,yCAAA;EL2nEV;EKloEM;IAOI,uBAAA;EL8nEV;EKroEM;IAOI,uBAAA;ELioEV;EKxoEM;IAOI,yBAAA;ELooEV;EK3oEM;IAOI,yBAAA;ELuoEV;EK9oEM;IAOI,0BAAA;EL0oEV;EKjpEM;IAOI,4BAAA;EL6oEV;EKppEM;IAOI,kCAAA;ELgpEV;EKvpEM;IAOI,sCAAA;ELmpEV;EK1pEM;IAOI,oCAAA;ELspEV;EK7pEM;IAOI,kCAAA;ELypEV;EKhqEM;IAOI,yCAAA;EL4pEV;EKnqEM;IAOI,wCAAA;EL+pEV;EKtqEM;IAOI,wCAAA;ELkqEV;EKzqEM;IAOI,kCAAA;ELqqEV;EK5qEM;IAOI,gCAAA;ELwqEV;EK/qEM;IAOI,8BAAA;EL2qEV;EKlrEM;IAOI,gCAAA;EL8qEV;EKrrEM;IAOI,+BAAA;ELirEV;EKxrEM;IAOI,oCAAA;ELorEV;EK3rEM;IAOI,kCAAA;ELurEV;EK9rEM;IAOI,gCAAA;EL0rEV;EKjsEM;IAOI,uCAAA;EL6rEV;EKpsEM;IAOI,sCAAA;ELgsEV;EKvsEM;IAOI,iCAAA;ELmsEV;EK1sEM;IAOI,2BAAA;ELssEV;EK7sEM;IAOI,iCAAA;ELysEV;EKhtEM;IAOI,+BAAA;EL4sEV;EKntEM;IAOI,6BAAA;EL+sEV;EKttEM;IAOI,+BAAA;ELktEV;EKztEM;IAOI,8BAAA;ELqtEV;EK5tEM;IAOI,oBAAA;ELwtEV;EK/tEM;IAOI,mBAAA;EL2tEV;EKluEM;IAOI,mBAAA;EL8tEV;EKruEM;IAOI,mBAAA;ELiuEV;EKxuEM;IAOI,mBAAA;ELouEV;EK3uEM;IAOI,mBAAA;ELuuEV;EK9uEM;IAOI,mBAAA;EL0uEV;EKjvEM;IAOI,mBAAA;EL6uEV;EKpvEM;IAOI,oBAAA;ELgvEV;EKvvEM;IAOI,0BAAA;ELmvEV;EK1vEM;IAOI,yBAAA;ELsvEV;EK7vEM;IAOI,uBAAA;ELyvEV;EKhwEM;IAOI,yBAAA;EL4vEV;EKnwEM;IAOI,uBAAA;EL+vEV;EKtwEM;IAOI,uBAAA;ELkwEV;EKzwEM;IAOI,yBAAA;IAAA,0BAAA;ELswEV;EK7wEM;IAO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EKviFM;IAOI,yBAAA;ELmiFV;EK1iFM;IAOI,wBAAA;ELsiFV;EK7iFM;IAOI,+BAAA;ELyiFV;EKhjFM;IAOI,yBAAA;EL4iFV;EKnjFM;IAOI,6BAAA;EL+iFV;EKtjFM;IAOI,8BAAA;ELkjFV;EKzjFM;IAOI,wBAAA;ELqjFV;EK5jFM;IAOI,+BAAA;ELwjFV;EK/jFM;IAOI,wBAAA;EL2jFV;EKlkFM;IAOI,yBAAA;EL8jFV;EKrkFM;IAOI,8BAAA;ELikFV;EKxkFM;IAOI,iCAAA;ELokFV;EK3kFM;IAOI,sCAAA;ELukFV;EK9kFM;IAOI,yCAAA;EL0kFV;EKjlFM;IAOI,uBAAA;EL6kFV;EKplFM;IAOI,uBAAA;ELglFV;EKvlFM;IAOI,yBAAA;ELmlFV;EK1lFM;IAOI,yBAAA;ELslFV;EK7lFM;IAOI,0BAAA;ELylFV;EKhmFM;IAOI,4BAAA;EL4lFV;EKnmFM;IAOI,kCAAA;EL+lFV;EKtmFM;IAOI,sCAAA;ELkmFV;EKzmFM;IAOI,oCAAA;ELqmFV;EK5mFM;IAOI,kCAAA;ELwmFV;EK/mFM;IAOI,yCAAA;EL2mFV;EKlnFM;IAOI,wCAAA;EL8mFV;EKrnFM;IAOI,wCAAA;ELinFV;EKxnFM;IAOI,kCAAA;ELonFV;EK3nFM;IAOI,gCAAA;ELunFV;EK9nFM;IAOI,8BAAA;EL0nFV;EKjoFM;IAOI,gCAAA;EL6nFV;EKpoFM;IAOI,+BAAA;ELgoFV;EKvoFM;IAOI,oCAAA;ELmoFV;EK1oFM;IAOI,kCAAA;ELsoFV;EK7oFM;IAOI,gCAAA;ELyoFV;EKhpFM;IAOI,uCAAA;EL4oFV;EKnpFM;IAOI,sCAAA;EL+oFV;EKtpFM;IAOI,iCAAA;ELkpFV;EKzpFM;IAOI,2BAAA;ELqpFV;EK5pFM;IAOI,iCAAA;ELwpFV;EK/pFM;IAOI,+BAAA;EL2pFV;EKlqFM;IAOI,6BAAA;EL8pFV;EKrqFM;IAOI,+BAAA;ELiqFV;EKxqFM;IAOI,8BAAA;ELoqFV;EK3qFM;IAOI,oBAAA;ELuqFV;EK9qFM;IAOI,mBAAA;EL0qFV;EKjrFM;IAOI,mBAAA;EL6qFV;EKprFM;IAOI,mBAAA;ELgrFV;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AAA;ELy8FV;EKh9FM;IAOI,iCAAA;EL48FV;EKn9FM;IAOI,+BAAA;EL+8FV;EKt9FM;IAOI,iCAAA;ELk9FV;EKz9FM;IAOI,+BAAA;ELq9FV;EK59FM;IAOI,2BAAA;ELw9FV;EK/9FM;IAOI,iCAAA;EL29FV;EKl+FM;IAOI,gCAAA;EL89FV;EKr+FM;IAOI,8BAAA;ELi+FV;EKx+FM;IAOI,gCAAA;ELo+FV;EK3+FM;IAOI,8BAAA;ELu+FV;AACF;ACl/FI;EIGI;IAOI,0BAAA;EL4+FV;EKn/FM;IAOI,gCAAA;EL++FV;EKt/FM;IAOI,yBAAA;ELk/FV;EKz/FM;IAOI,wBAAA;ELq/FV;EK5/FM;IAOI,+BAAA;ELw/FV;EK//FM;IAOI,yBAAA;EL2/FV;EKlgGM;IAOI,6BAAA;EL8/FV;EKrgGM;IAOI,8BAAA;ELigGV;EKxgGM;IAOI,wBAAA;ELogGV;EK3gGM;IAOI,+BAAA;ELugGV;EK9gGM;IAOI,wBAAA;EL0gGV;EKjhGM;IAOI,yBAAA;EL6gGV;EKphGM;IAOI,8BAAA;ELghGV;EKvhGM;IAOI,iCAAA;ELmhGV;EK1hGM;IAOI,sCAAA;ELshGV;EK7hGM;IAOI,yCAAA;ELyhGV;EKhiGM;IAOI,uBAAA;EL4hGV;EKniGM;IAOI,uBAAA;EL+hGV;EKtiGM;IAOI,yBAAA;ELkiGV;EKziGM;IAOI,yBAAA;ELqiGV;EK5iGM;IAOI,0BAAA;ELwiGV;EK/iGM;IAOI,4BAAA;EL2iGV;EKljGM;IAOI,kCAAA;EL8iGV;EKrjGM;IAOI,sCAAA;ELijGV;EKxjGM;IAOI,oCAAA;ELojGV;EK3jGM;IAOI,kCAAA;ELujGV;EK9jGM;IAOI,yCAAA;EL0jGV;EKjkGM;IAOI,wCAAA;EL6jGV;EKpkGM;IAOI,wCAAA;ELgkGV;EKvkGM;IAOI,kCAAA;ELmkGV;EK1kGM;IAOI,gCAAA;ELskGV;EK7kGM;IAOI,8BAAA;ELykGV;EKhlGM;IAOI,gCAAA;EL4kGV;EKnlGM;IAOI,+BAAA;EL+kGV;EKtlGM;IAOI,oCAAA;ELklGV;EKzlGM;IAOI,kCAAA;ELqlGV;EK5lGM;IAOI,gCAAA;ELwlGV;EK/l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ELi3GV;EKx3GM;IAOI,+BAAA;ELo3GV;EK33GM;IAOI,8BAAA;ELu3GV;EK93GM;IAOI,4BAAA;EL03GV;EKj4GM;IAOI,8BAAA;EL63GV;EKp4GM;IAOI,4BAAA;ELg4GV;EKv4GM;IAOI,0BAAA;ELm4GV;EK14GM;IAOI,gCAAA;ELs4GV;EK74GM;IAOI,+BAAA;ELy4GV;EKh5GM;IAOI,6BAAA;EL44GV;EKn5GM;IAOI,+BAAA;EL+4GV;EKt5GM;IAOI,6BAAA;ELk5GV;EKz5GM;IAOI,4BAAA;ELq5GV;EK55GM;IAOI,kCAAA;ELw5GV;EK/5GM;IAOI,iCAAA;EL25GV;EKl6GM;IAOI,+BAAA;EL85GV;EKr6GM;IAOI,iCAAA;ELi6GV;EKx6GM;IAOI,+BAAA;ELo6GV;EK36GM;IAOI,2BAAA;ELu6GV;EK96GM;IAOI,iCAAA;EL06GV;EKj7GM;IAOI,gCAAA;EL66GV;EKp7GM;IAOI,8BAAA;ELg7GV;EKv7GM;IAOI,gCAAA;ELm7GV;EK17GM;IAOI,8BAAA;ELs7GV;AACF;ACj8GI;EIGI;IAOI,0BAAA;EL27GV;EKl8GM;IAOI,gCAAA;EL87GV;EKr8GM;IAOI,yBAAA;ELi8GV;EKx8GM;IAOI,wBAAA;ELo8GV;EK38GM;IAOI,+BAAA;ELu8GV;EK98GM;IAOI,yBAAA;EL08GV;EKj9GM;IAOI,6BAAA;EL68GV;EKp9GM;IAOI,8BAAA;ELg9GV;EKv9GM;IAOI,wBAAA;ELm9GV;EK19GM;IAOI,+BAAA;ELs9GV;EK79GM;IAOI,wBAAA;ELy9GV;EKh+GM;IAOI,yBAAA;EL49GV;EKn+GM;IAOI,8BAAA;EL+9GV;EKt+GM;IAOI,iCAAA;ELk+GV;EKz+GM;IAOI,sCAAA;ELq+GV;EK5+GM;IAOI,yCAAA;ELw+GV;EK/+GM;IAOI,uBAAA;EL2+GV;EKl/GM;IAOI,uBAAA;EL8+GV;EKr/GM;IAOI,yBAAA;ELi/GV;EKx/GM;IAOI,yBAAA;ELo/GV;EK3/GM;IAOI,0BAAA;ELu/GV;EK9/GM;IAOI,4BAAA;EL0/GV;EKjgHM;IAOI,kCAAA;EL6/GV;EKpgHM;IAOI,sCAAA;ELggHV;EKvgHM;I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","file":"bootstrap-grid.rtl.css","sourcesContent":["@mixin bsBanner($file) {\n /*!\n * Bootstrap #{$file} v5.3.2 (https://getbootstrap.com/)\n * Copyright 2011-2023 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n}\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-container-classes {\n // Single container class with breakpoint max-widths\n .container,\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n @each $name, $width in $grid-breakpoints {\n @if ($extend-breakpoint) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n\n // Once the current breakpoint is reached, stop extending\n @if ($breakpoint == $name) {\n $extend-breakpoint: false;\n }\n }\n }\n }\n }\n}\n","// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n --#{$prefix}gutter-x: #{$gutter};\n --#{$prefix}gutter-y: 0;\n width: 100%;\n padding-right: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n margin-right: auto;\n margin-left: auto;\n}\n","/*!\n * Bootstrap Grid v5.3.2 (https://getbootstrap.com/)\n * Copyright 2011-2023 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n.container,\n.container-fluid,\n.container-xxl,\n.container-xl,\n.container-lg,\n.container-md,\n.container-sm {\n --bs-gutter-x: 1.5rem;\n --bs-gutter-y: 0;\n width: 100%;\n padding-right: calc(var(--bs-gutter-x) * 0.5);\n padding-left: calc(var(--bs-gutter-x) * 0.5);\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container-sm, .container {\n max-width: 540px;\n }\n}\n@media (min-width: 768px) {\n .container-md, .container-sm, .container {\n max-width: 720px;\n }\n}\n@media (min-width: 992px) {\n .container-lg, .container-md, .container-sm, .container {\n max-width: 960px;\n }\n}\n@media (min-width: 1200px) {\n .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1140px;\n }\n}\n@media (min-width: 1400px) {\n .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1320px;\n }\n}\n:root {\n --bs-breakpoint-xs: 0;\n --bs-breakpoint-sm: 576px;\n --bs-breakpoint-md: 768px;\n --bs-breakpoint-lg: 992px;\n --bs-breakpoint-xl: 1200px;\n --bs-breakpoint-xxl: 1400px;\n}\n\n.row {\n --bs-gutter-x: 1.5rem;\n --bs-gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(-1 * var(--bs-gutter-y));\n margin-right: calc(-0.5 * var(--bs-gutter-x));\n margin-left: calc(-0.5 * var(--bs-gutter-x));\n}\n.row > * {\n box-sizing: border-box;\n flex-shrink: 0;\n width: 100%;\n max-width: 100%;\n padding-right: calc(var(--bs-gutter-x) * 0.5);\n padding-left: calc(var(--bs-gutter-x) * 0.5);\n margin-top: var(--bs-gutter-y);\n}\n\n.col {\n flex: 1 0 0%;\n}\n\n.row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n}\n\n.row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n}\n\n.col-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n}\n\n.col-3 {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.col-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n}\n\n.col-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n}\n\n.col-6 {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.col-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n}\n\n.col-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n}\n\n.col-9 {\n flex: 0 0 auto;\n width: 75%;\n}\n\n.col-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n}\n\n.col-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n}\n\n.col-12 {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.offset-1 {\n margin-left: 8.33333333%;\n}\n\n.offset-2 {\n margin-left: 16.66666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.33333333%;\n}\n\n.offset-5 {\n margin-left: 41.66666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.33333333%;\n}\n\n.offset-8 {\n margin-left: 66.66666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.33333333%;\n}\n\n.offset-11 {\n margin-left: 91.66666667%;\n}\n\n.g-0,\n.gx-0 {\n --bs-gutter-x: 0;\n}\n\n.g-0,\n.gy-0 {\n --bs-gutter-y: 0;\n}\n\n.g-1,\n.gx-1 {\n --bs-gutter-x: 0.25rem;\n}\n\n.g-1,\n.gy-1 {\n --bs-gutter-y: 0.25rem;\n}\n\n.g-2,\n.gx-2 {\n --bs-gutter-x: 0.5rem;\n}\n\n.g-2,\n.gy-2 {\n --bs-gutter-y: 0.5rem;\n}\n\n.g-3,\n.gx-3 {\n --bs-gutter-x: 1rem;\n}\n\n.g-3,\n.gy-3 {\n --bs-gutter-y: 1rem;\n}\n\n.g-4,\n.gx-4 {\n --bs-gutter-x: 1.5rem;\n}\n\n.g-4,\n.gy-4 {\n --bs-gutter-y: 1.5rem;\n}\n\n.g-5,\n.gx-5 {\n --bs-gutter-x: 3rem;\n}\n\n.g-5,\n.gy-5 {\n --bs-gutter-y: 3rem;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex: 1 0 0%;\n }\n .row-cols-sm-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-sm-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-sm-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-sm-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-sm-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-sm-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-sm-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-sm-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-sm-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-sm-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.33333333%;\n }\n .offset-sm-2 {\n margin-left: 16.66666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.33333333%;\n }\n .offset-sm-5 {\n margin-left: 41.66666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.33333333%;\n }\n .offset-sm-8 {\n margin-left: 66.66666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.33333333%;\n }\n .offset-sm-11 {\n margin-left: 91.66666667%;\n }\n .g-sm-0,\n .gx-sm-0 {\n --bs-gutter-x: 0;\n }\n .g-sm-0,\n .gy-sm-0 {\n --bs-gutter-y: 0;\n }\n .g-sm-1,\n .gx-sm-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-sm-1,\n .gy-sm-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-sm-2,\n .gx-sm-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-sm-2,\n .gy-sm-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-sm-3,\n .gx-sm-3 {\n --bs-gutter-x: 1rem;\n }\n .g-sm-3,\n .gy-sm-3 {\n --bs-gutter-y: 1rem;\n }\n .g-sm-4,\n .gx-sm-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-sm-4,\n .gy-sm-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-sm-5,\n .gx-sm-5 {\n --bs-gutter-x: 3rem;\n }\n .g-sm-5,\n .gy-sm-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 768px) {\n .col-md {\n flex: 1 0 0%;\n }\n .row-cols-md-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-md-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-md-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-md-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-md-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-md-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-md-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-md-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-md-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-md-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-md-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-md-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-md-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-md-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.33333333%;\n }\n .offset-md-2 {\n margin-left: 16.66666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.33333333%;\n }\n .offset-md-5 {\n margin-left: 41.66666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.33333333%;\n }\n .offset-md-8 {\n margin-left: 66.66666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.33333333%;\n }\n .offset-md-11 {\n margin-left: 91.66666667%;\n }\n .g-md-0,\n .gx-md-0 {\n --bs-gutter-x: 0;\n }\n .g-md-0,\n .gy-md-0 {\n --bs-gutter-y: 0;\n }\n .g-md-1,\n .gx-md-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-md-1,\n .gy-md-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-md-2,\n .gx-md-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-md-2,\n .gy-md-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-md-3,\n .gx-md-3 {\n --bs-gutter-x: 1rem;\n }\n .g-md-3,\n .gy-md-3 {\n --bs-gutter-y: 1rem;\n }\n .g-md-4,\n .gx-md-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-md-4,\n .gy-md-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-md-5,\n .gx-md-5 {\n --bs-gutter-x: 3rem;\n }\n .g-md-5,\n .gy-md-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 992px) {\n .col-lg {\n flex: 1 0 0%;\n }\n .row-cols-lg-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-lg-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-lg-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-lg-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-lg-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-lg-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-lg-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-lg-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-lg-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-lg-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.33333333%;\n }\n .offset-lg-2 {\n margin-left: 16.66666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.33333333%;\n }\n .offset-lg-5 {\n margin-left: 41.66666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.33333333%;\n }\n .offset-lg-8 {\n margin-left: 66.66666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.33333333%;\n }\n .offset-lg-11 {\n margin-left: 91.66666667%;\n }\n .g-lg-0,\n .gx-lg-0 {\n --bs-gutter-x: 0;\n }\n .g-lg-0,\n .gy-lg-0 {\n --bs-gutter-y: 0;\n }\n .g-lg-1,\n .gx-lg-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-lg-1,\n .gy-lg-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-lg-2,\n .gx-lg-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-lg-2,\n .gy-lg-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-lg-3,\n .gx-lg-3 {\n --bs-gutter-x: 1rem;\n }\n .g-lg-3,\n .gy-lg-3 {\n --bs-gutter-y: 1rem;\n }\n .g-lg-4,\n .gx-lg-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-lg-4,\n .gy-lg-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-lg-5,\n .gx-lg-5 {\n --bs-gutter-x: 3rem;\n }\n .g-lg-5,\n .gy-lg-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 1200px) {\n .col-xl {\n flex: 1 0 0%;\n }\n .row-cols-xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-xl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-xl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-xl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-xl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.33333333%;\n }\n .offset-xl-2 {\n margin-left: 16.66666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.33333333%;\n }\n .offset-xl-5 {\n margin-left: 41.66666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.33333333%;\n }\n .offset-xl-8 {\n margin-left: 66.66666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.33333333%;\n }\n .offset-xl-11 {\n margin-left: 91.66666667%;\n }\n .g-xl-0,\n .gx-xl-0 {\n --bs-gutter-x: 0;\n }\n .g-xl-0,\n .gy-xl-0 {\n --bs-gutter-y: 0;\n }\n .g-xl-1,\n .gx-xl-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-xl-1,\n .gy-xl-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-xl-2,\n .gx-xl-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-xl-2,\n .gy-xl-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-xl-3,\n .gx-xl-3 {\n --bs-gutter-x: 1rem;\n }\n .g-xl-3,\n .gy-xl-3 {\n --bs-gutter-y: 1rem;\n }\n .g-xl-4,\n .gx-xl-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-xl-4,\n .gy-xl-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-xl-5,\n .gx-xl-5 {\n --bs-gutter-x: 3rem;\n }\n .g-xl-5,\n .gy-xl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 1400px) {\n .col-xxl {\n flex: 1 0 0%;\n }\n .row-cols-xxl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xxl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xxl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xxl-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-xxl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xxl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xxl-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xxl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xxl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-xxl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xxl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xxl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-xxl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-xxl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xxl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-xxl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-xxl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xxl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-xxl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-xxl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xxl-0 {\n margin-left: 0;\n }\n .offset-xxl-1 {\n margin-left: 8.33333333%;\n }\n .offset-xxl-2 {\n margin-left: 16.66666667%;\n }\n .offset-xxl-3 {\n margin-left: 25%;\n }\n .offset-xxl-4 {\n margin-left: 33.33333333%;\n }\n .offset-xxl-5 {\n margin-left: 41.66666667%;\n }\n .offset-xxl-6 {\n margin-left: 50%;\n }\n .offset-xxl-7 {\n margin-left: 58.33333333%;\n }\n .offset-xxl-8 {\n margin-left: 66.66666667%;\n }\n .offset-xxl-9 {\n margin-left: 75%;\n }\n .offset-xxl-10 {\n margin-left: 83.33333333%;\n }\n .offset-xxl-11 {\n margin-left: 91.66666667%;\n }\n .g-xxl-0,\n .gx-xxl-0 {\n --bs-gutter-x: 0;\n }\n .g-xxl-0,\n .gy-xxl-0 {\n --bs-gutter-y: 0;\n }\n .g-xxl-1,\n .gx-xxl-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-xxl-1,\n .gy-xxl-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-xxl-2,\n .gx-xxl-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-xxl-2,\n .gy-xxl-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-xxl-3,\n .gx-xxl-3 {\n --bs-gutter-x: 1rem;\n }\n .g-xxl-3,\n .gy-xxl-3 {\n --bs-gutter-y: 1rem;\n }\n .g-xxl-4,\n .gx-xxl-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-xxl-4,\n .gy-xxl-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-xxl-5,\n .gx-xxl-5 {\n --bs-gutter-x: 3rem;\n }\n .g-xxl-5,\n .gy-xxl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-grid {\n display: grid !important;\n}\n\n.d-inline-grid {\n display: inline-grid !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.justify-content-evenly {\n justify-content: space-evenly !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.me-0 {\n margin-right: 0 !important;\n}\n\n.me-1 {\n margin-right: 0.25rem !important;\n}\n\n.me-2 {\n margin-right: 0.5rem !important;\n}\n\n.me-3 {\n margin-right: 1rem !important;\n}\n\n.me-4 {\n margin-right: 1.5rem !important;\n}\n\n.me-5 {\n margin-right: 3rem !important;\n}\n\n.me-auto {\n margin-right: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ms-0 {\n margin-left: 0 !important;\n}\n\n.ms-1 {\n margin-left: 0.25rem !important;\n}\n\n.ms-2 {\n margin-left: 0.5rem !important;\n}\n\n.ms-3 {\n margin-left: 1rem !important;\n}\n\n.ms-4 {\n margin-left: 1.5rem !important;\n}\n\n.ms-5 {\n margin-left: 3rem !important;\n}\n\n.ms-auto {\n margin-left: auto !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pe-0 {\n padding-right: 0 !important;\n}\n\n.pe-1 {\n padding-right: 0.25rem !important;\n}\n\n.pe-2 {\n padding-right: 0.5rem !important;\n}\n\n.pe-3 {\n padding-right: 1rem !important;\n}\n\n.pe-4 {\n padding-right: 1.5rem !important;\n}\n\n.pe-5 {\n padding-right: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.ps-0 {\n padding-left: 0 !important;\n}\n\n.ps-1 {\n padding-left: 0.25rem !important;\n}\n\n.ps-2 {\n padding-left: 0.5rem !important;\n}\n\n.ps-3 {\n padding-left: 1rem !important;\n}\n\n.ps-4 {\n padding-left: 1.5rem !important;\n}\n\n.ps-5 {\n padding-left: 3rem !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-grid {\n display: grid !important;\n }\n .d-sm-inline-grid {\n display: inline-grid !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n .d-sm-none {\n display: none !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .justify-content-sm-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n .order-sm-first {\n order: -1 !important;\n }\n .order-sm-0 {\n order: 0 !important;\n }\n .order-sm-1 {\n order: 1 !important;\n }\n .order-sm-2 {\n order: 2 !important;\n }\n .order-sm-3 {\n order: 3 !important;\n }\n .order-sm-4 {\n order: 4 !important;\n }\n .order-sm-5 {\n order: 5 !important;\n }\n .order-sm-last {\n order: 6 !important;\n }\n .m-sm-0 {\n margin: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .me-sm-0 {\n margin-right: 0 !important;\n }\n .me-sm-1 {\n margin-right: 0.25rem !important;\n }\n .me-sm-2 {\n margin-right: 0.5rem !important;\n }\n .me-sm-3 {\n margin-right: 1rem !important;\n }\n .me-sm-4 {\n margin-right: 1.5rem !important;\n }\n .me-sm-5 {\n margin-right: 3rem !important;\n }\n .me-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ms-sm-0 {\n margin-left: 0 !important;\n }\n .ms-sm-1 {\n margin-left: 0.25rem !important;\n }\n .ms-sm-2 {\n margin-left: 0.5rem !important;\n }\n .ms-sm-3 {\n margin-left: 1rem !important;\n }\n .ms-sm-4 {\n margin-left: 1.5rem !important;\n }\n .ms-sm-5 {\n margin-left: 3rem !important;\n }\n .ms-sm-auto {\n margin-left: auto !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pe-sm-0 {\n padding-right: 0 !important;\n }\n .pe-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pe-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pe-sm-3 {\n padding-right: 1rem !important;\n }\n .pe-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pe-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .ps-sm-0 {\n padding-left: 0 !important;\n }\n .ps-sm-1 {\n padding-left: 0.25rem !important;\n }\n .ps-sm-2 {\n padding-left: 0.5rem !important;\n }\n .ps-sm-3 {\n padding-left: 1rem !important;\n }\n .ps-sm-4 {\n padding-left: 1.5rem !important;\n }\n .ps-sm-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 768px) {\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-grid {\n display: grid !important;\n }\n .d-md-inline-grid {\n display: inline-grid !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n .d-md-none {\n display: none !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .justify-content-md-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n .order-md-first {\n order: -1 !important;\n }\n .order-md-0 {\n order: 0 !important;\n }\n .order-md-1 {\n order: 1 !important;\n }\n .order-md-2 {\n order: 2 !important;\n }\n .order-md-3 {\n order: 3 !important;\n }\n .order-md-4 {\n order: 4 !important;\n }\n .order-md-5 {\n order: 5 !important;\n }\n .order-md-last {\n order: 6 !important;\n }\n .m-md-0 {\n margin: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .me-md-0 {\n margin-right: 0 !important;\n }\n .me-md-1 {\n margin-right: 0.25rem !important;\n }\n .me-md-2 {\n margin-right: 0.5rem !important;\n }\n .me-md-3 {\n margin-right: 1rem !important;\n }\n .me-md-4 {\n margin-right: 1.5rem !important;\n }\n .me-md-5 {\n margin-right: 3rem !important;\n }\n .me-md-auto {\n margin-right: auto !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ms-md-0 {\n margin-left: 0 !important;\n }\n .ms-md-1 {\n margin-left: 0.25rem !important;\n }\n .ms-md-2 {\n margin-left: 0.5rem !important;\n }\n .ms-md-3 {\n margin-left: 1rem !important;\n }\n .ms-md-4 {\n margin-left: 1.5rem !important;\n }\n .ms-md-5 {\n margin-left: 3rem !important;\n }\n .ms-md-auto {\n margin-left: auto !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pe-md-0 {\n padding-right: 0 !important;\n }\n .pe-md-1 {\n padding-right: 0.25rem !important;\n }\n .pe-md-2 {\n padding-right: 0.5rem !important;\n }\n .pe-md-3 {\n padding-right: 1rem !important;\n }\n .pe-md-4 {\n padding-right: 1.5rem !important;\n }\n .pe-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .ps-md-0 {\n padding-left: 0 !important;\n }\n .ps-md-1 {\n padding-left: 0.25rem !important;\n }\n .ps-md-2 {\n padding-left: 0.5rem !important;\n }\n .ps-md-3 {\n padding-left: 1rem !important;\n }\n .ps-md-4 {\n padding-left: 1.5rem !important;\n }\n .ps-md-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 992px) {\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-grid {\n display: grid !important;\n }\n .d-lg-inline-grid {\n display: inline-grid !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n .d-lg-none {\n display: none !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .justify-content-lg-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n .order-lg-first {\n order: -1 !important;\n }\n .order-lg-0 {\n order: 0 !important;\n }\n .order-lg-1 {\n order: 1 !important;\n }\n .order-lg-2 {\n order: 2 !important;\n }\n .order-lg-3 {\n order: 3 !important;\n }\n .order-lg-4 {\n order: 4 !important;\n }\n .order-lg-5 {\n order: 5 !important;\n }\n .order-lg-last {\n order: 6 !important;\n }\n .m-lg-0 {\n margin: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .me-lg-0 {\n margin-right: 0 !important;\n }\n .me-lg-1 {\n margin-right: 0.25rem !important;\n }\n .me-lg-2 {\n margin-right: 0.5rem !important;\n }\n .me-lg-3 {\n margin-right: 1rem !important;\n }\n .me-lg-4 {\n margin-right: 1.5rem !important;\n }\n .me-lg-5 {\n margin-right: 3rem !important;\n }\n .me-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ms-lg-0 {\n margin-left: 0 !important;\n }\n .ms-lg-1 {\n margin-left: 0.25rem !important;\n }\n .ms-lg-2 {\n margin-left: 0.5rem !important;\n }\n .ms-lg-3 {\n margin-left: 1rem !important;\n }\n .ms-lg-4 {\n margin-left: 1.5rem !important;\n }\n .ms-lg-5 {\n margin-left: 3rem !important;\n }\n .ms-lg-auto {\n margin-left: auto !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pe-lg-0 {\n padding-right: 0 !important;\n }\n .pe-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pe-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pe-lg-3 {\n padding-right: 1rem !important;\n }\n .pe-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pe-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .ps-lg-0 {\n padding-left: 0 !important;\n }\n .ps-lg-1 {\n padding-left: 0.25rem !important;\n }\n .ps-lg-2 {\n padding-left: 0.5rem !important;\n }\n .ps-lg-3 {\n padding-left: 1rem !important;\n }\n .ps-lg-4 {\n padding-left: 1.5rem !important;\n }\n .ps-lg-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 1200px) {\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-grid {\n display: grid !important;\n }\n .d-xl-inline-grid {\n display: inline-grid !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n .d-xl-none {\n display: none !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .justify-content-xl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n .order-xl-first {\n order: -1 !important;\n }\n .order-xl-0 {\n order: 0 !important;\n }\n .order-xl-1 {\n order: 1 !important;\n }\n .order-xl-2 {\n order: 2 !important;\n }\n .order-xl-3 {\n order: 3 !important;\n }\n .order-xl-4 {\n order: 4 !important;\n }\n .order-xl-5 {\n order: 5 !important;\n }\n .order-xl-last {\n order: 6 !important;\n }\n .m-xl-0 {\n margin: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .me-xl-0 {\n margin-right: 0 !important;\n }\n .me-xl-1 {\n margin-right: 0.25rem !important;\n }\n .me-xl-2 {\n margin-right: 0.5rem !important;\n }\n .me-xl-3 {\n margin-right: 1rem !important;\n }\n .me-xl-4 {\n margin-right: 1.5rem !important;\n }\n .me-xl-5 {\n margin-right: 3rem !important;\n }\n .me-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ms-xl-0 {\n margin-left: 0 !important;\n }\n .ms-xl-1 {\n margin-left: 0.25rem !important;\n }\n .ms-xl-2 {\n margin-left: 0.5rem !important;\n }\n .ms-xl-3 {\n margin-left: 1rem !important;\n }\n .ms-xl-4 {\n margin-left: 1.5rem !important;\n }\n .ms-xl-5 {\n margin-left: 3rem !important;\n }\n .ms-xl-auto {\n margin-left: auto !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pe-xl-0 {\n padding-right: 0 !important;\n }\n .pe-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pe-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pe-xl-3 {\n padding-right: 1rem !important;\n }\n .pe-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pe-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .ps-xl-0 {\n padding-left: 0 !important;\n }\n .ps-xl-1 {\n padding-left: 0.25rem !important;\n }\n .ps-xl-2 {\n padding-left: 0.5rem !important;\n }\n .ps-xl-3 {\n padding-left: 1rem !important;\n }\n .ps-xl-4 {\n padding-left: 1.5rem !important;\n }\n .ps-xl-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 1400px) {\n .d-xxl-inline {\n display: inline !important;\n }\n .d-xxl-inline-block {\n display: inline-block !important;\n }\n .d-xxl-block {\n display: block !important;\n }\n .d-xxl-grid {\n display: grid !important;\n }\n .d-xxl-inline-grid {\n display: inline-grid !important;\n }\n .d-xxl-table {\n display: table !important;\n }\n .d-xxl-table-row {\n display: table-row !important;\n }\n .d-xxl-table-cell {\n display: table-cell !important;\n }\n .d-xxl-flex {\n display: flex !important;\n }\n .d-xxl-inline-flex {\n display: inline-flex !important;\n }\n .d-xxl-none {\n display: none !important;\n }\n .flex-xxl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xxl-row {\n flex-direction: row !important;\n }\n .flex-xxl-column {\n flex-direction: column !important;\n }\n .flex-xxl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xxl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xxl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xxl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xxl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xxl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xxl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xxl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xxl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xxl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xxl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xxl-center {\n justify-content: center !important;\n }\n .justify-content-xxl-between {\n justify-content: space-between !important;\n }\n .justify-content-xxl-around {\n justify-content: space-around !important;\n }\n .justify-content-xxl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xxl-start {\n align-items: flex-start !important;\n }\n .align-items-xxl-end {\n align-items: flex-end !important;\n }\n .align-items-xxl-center {\n align-items: center !important;\n }\n .align-items-xxl-baseline {\n align-items: baseline !important;\n }\n .align-items-xxl-stretch {\n align-items: stretch !important;\n }\n .align-content-xxl-start {\n align-content: flex-start !important;\n }\n .align-content-xxl-end {\n align-content: flex-end !important;\n }\n .align-content-xxl-center {\n align-content: center !important;\n }\n .align-content-xxl-between {\n align-content: space-between !important;\n }\n .align-content-xxl-around {\n align-content: space-around !important;\n }\n .align-content-xxl-stretch {\n align-content: stretch !important;\n }\n .align-self-xxl-auto {\n align-self: auto !important;\n }\n .align-self-xxl-start {\n align-self: flex-start !important;\n }\n .align-self-xxl-end {\n align-self: flex-end !important;\n }\n .align-self-xxl-center {\n align-self: center !important;\n }\n .align-self-xxl-baseline {\n align-self: baseline !important;\n }\n .align-self-xxl-stretch {\n align-self: stretch !important;\n }\n .order-xxl-first {\n order: -1 !important;\n }\n .order-xxl-0 {\n order: 0 !important;\n }\n .order-xxl-1 {\n order: 1 !important;\n }\n .order-xxl-2 {\n order: 2 !important;\n }\n .order-xxl-3 {\n order: 3 !important;\n }\n .order-xxl-4 {\n order: 4 !important;\n }\n .order-xxl-5 {\n order: 5 !important;\n }\n .order-xxl-last {\n order: 6 !important;\n }\n .m-xxl-0 {\n margin: 0 !important;\n }\n .m-xxl-1 {\n margin: 0.25rem !important;\n }\n .m-xxl-2 {\n margin: 0.5rem !important;\n }\n .m-xxl-3 {\n margin: 1rem !important;\n }\n .m-xxl-4 {\n margin: 1.5rem !important;\n }\n .m-xxl-5 {\n margin: 3rem !important;\n }\n .m-xxl-auto {\n margin: auto !important;\n }\n .mx-xxl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xxl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xxl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xxl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xxl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xxl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xxl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xxl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xxl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xxl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xxl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xxl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xxl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xxl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xxl-0 {\n margin-top: 0 !important;\n }\n .mt-xxl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xxl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xxl-3 {\n margin-top: 1rem !important;\n }\n .mt-xxl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xxl-5 {\n margin-top: 3rem !important;\n }\n .mt-xxl-auto {\n margin-top: auto !important;\n }\n .me-xxl-0 {\n margin-right: 0 !important;\n }\n .me-xxl-1 {\n margin-right: 0.25rem !important;\n }\n .me-xxl-2 {\n margin-right: 0.5rem !important;\n }\n .me-xxl-3 {\n margin-right: 1rem !important;\n }\n .me-xxl-4 {\n margin-right: 1.5rem !important;\n }\n .me-xxl-5 {\n margin-right: 3rem !important;\n }\n .me-xxl-auto {\n margin-right: auto !important;\n }\n .mb-xxl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xxl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xxl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xxl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xxl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xxl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xxl-auto {\n margin-bottom: auto !important;\n }\n .ms-xxl-0 {\n margin-left: 0 !important;\n }\n .ms-xxl-1 {\n margin-left: 0.25rem !important;\n }\n .ms-xxl-2 {\n margin-left: 0.5rem !important;\n }\n .ms-xxl-3 {\n margin-left: 1rem !important;\n }\n .ms-xxl-4 {\n margin-left: 1.5rem !important;\n }\n .ms-xxl-5 {\n margin-left: 3rem !important;\n }\n .ms-xxl-auto {\n margin-left: auto !important;\n }\n .p-xxl-0 {\n padding: 0 !important;\n }\n .p-xxl-1 {\n padding: 0.25rem !important;\n }\n .p-xxl-2 {\n padding: 0.5rem !important;\n }\n .p-xxl-3 {\n padding: 1rem !important;\n }\n .p-xxl-4 {\n padding: 1.5rem !important;\n }\n .p-xxl-5 {\n padding: 3rem !important;\n }\n .px-xxl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xxl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xxl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xxl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xxl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xxl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xxl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xxl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xxl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xxl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xxl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xxl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xxl-0 {\n padding-top: 0 !important;\n }\n .pt-xxl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xxl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xxl-3 {\n padding-top: 1rem !important;\n }\n .pt-xxl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xxl-5 {\n padding-top: 3rem !important;\n }\n .pe-xxl-0 {\n padding-right: 0 !important;\n }\n .pe-xxl-1 {\n padding-right: 0.25rem !important;\n }\n .pe-xxl-2 {\n padding-right: 0.5rem !important;\n }\n .pe-xxl-3 {\n padding-right: 1rem !important;\n }\n .pe-xxl-4 {\n padding-right: 1.5rem !important;\n }\n .pe-xxl-5 {\n padding-right: 3rem !important;\n }\n .pb-xxl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xxl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xxl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xxl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xxl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xxl-5 {\n padding-bottom: 3rem !important;\n }\n .ps-xxl-0 {\n padding-left: 0 !important;\n }\n .ps-xxl-1 {\n padding-left: 0.25rem !important;\n }\n .ps-xxl-2 {\n padding-left: 0.5rem !important;\n }\n .ps-xxl-3 {\n padding-left: 1rem !important;\n }\n .ps-xxl-4 {\n padding-left: 1.5rem !important;\n }\n .ps-xxl-5 {\n padding-left: 3rem !important;\n }\n}\n@media print {\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-grid {\n display: grid !important;\n }\n .d-print-inline-grid {\n display: inline-grid !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n .d-print-none {\n display: none !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl xxl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width.\n// The maximum value is reduced by 0.02px to work around the limitations of\n// `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $max: map-get($breakpoints, $name);\n @return if($max and $max > 0, $max - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($next, $breakpoints) {\n @content;\n }\n }\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n// scss-docs-start gray-color-variables\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n// scss-docs-end gray-color-variables\n\n// fusv-disable\n// scss-docs-start gray-colors-map\n$grays: (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n) !default;\n// scss-docs-end gray-colors-map\n// fusv-enable\n\n// scss-docs-start color-variables\n$blue: #0d6efd !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #d63384 !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #198754 !default;\n$teal: #20c997 !default;\n$cyan: #0dcaf0 !default;\n// scss-docs-end color-variables\n\n// scss-docs-start colors-map\n$colors: (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"black\": $black,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n) !default;\n// scss-docs-end colors-map\n\n// The contrast ratio to reach against white, to determine if color changes from \"light\" to \"dark\". Acceptable values for WCAG 2.0 are 3, 4.5 and 7.\n// See https://www.w3.org/TR/WCAG20/#visual-audio-contrast-contrast\n$min-contrast-ratio: 4.5 !default;\n\n// Customize the light and dark text colors for use in our color contrast function.\n$color-contrast-dark: $black !default;\n$color-contrast-light: $white !default;\n\n// fusv-disable\n$blue-100: tint-color($blue, 80%) !default;\n$blue-200: tint-color($blue, 60%) !default;\n$blue-300: tint-color($blue, 40%) !default;\n$blue-400: tint-color($blue, 20%) !default;\n$blue-500: $blue !default;\n$blue-600: shade-color($blue, 20%) !default;\n$blue-700: shade-color($blue, 40%) !default;\n$blue-800: shade-color($blue, 60%) !default;\n$blue-900: shade-color($blue, 80%) !default;\n\n$indigo-100: tint-color($indigo, 80%) !default;\n$indigo-200: tint-color($indigo, 60%) !default;\n$indigo-300: tint-color($indigo, 40%) !default;\n$indigo-400: tint-color($indigo, 20%) !default;\n$indigo-500: $indigo !default;\n$indigo-600: shade-color($indigo, 20%) !default;\n$indigo-700: shade-color($indigo, 40%) !default;\n$indigo-800: shade-color($indigo, 60%) !default;\n$indigo-900: shade-color($indigo, 80%) !default;\n\n$purple-100: tint-color($purple, 80%) !default;\n$purple-200: tint-color($purple, 60%) !default;\n$purple-300: tint-color($purple, 40%) !default;\n$purple-400: tint-color($purple, 20%) !default;\n$purple-500: $purple !default;\n$purple-600: shade-color($purple, 20%) !default;\n$purple-700: shade-color($purple, 40%) !default;\n$purple-800: shade-color($purple, 60%) !default;\n$purple-900: shade-color($purple, 80%) !default;\n\n$pink-100: tint-color($pink, 80%) !default;\n$pink-200: tint-color($pink, 60%) !default;\n$pink-300: tint-color($pink, 40%) !default;\n$pink-400: tint-color($pink, 20%) !default;\n$pink-500: $pink !default;\n$pink-600: shade-color($pink, 20%) !default;\n$pink-700: shade-color($pink, 40%) !default;\n$pink-800: shade-color($pink, 60%) !default;\n$pink-900: shade-color($pink, 80%) !default;\n\n$red-100: tint-color($red, 80%) !default;\n$red-200: tint-color($red, 60%) !default;\n$red-300: tint-color($red, 40%) !default;\n$red-400: tint-color($red, 20%) !default;\n$red-500: $red !default;\n$red-600: shade-color($red, 20%) !default;\n$red-700: shade-color($red, 40%) !default;\n$red-800: shade-color($red, 60%) !default;\n$red-900: shade-color($red, 80%) !default;\n\n$orange-100: tint-color($orange, 80%) !default;\n$orange-200: tint-color($orange, 60%) !default;\n$orange-300: tint-color($orange, 40%) !default;\n$orange-400: tint-color($orange, 20%) !default;\n$orange-500: $orange !default;\n$orange-600: shade-color($orange, 20%) !default;\n$orange-700: shade-color($orange, 40%) !default;\n$orange-800: shade-color($orange, 60%) !default;\n$orange-900: shade-color($orange, 80%) !default;\n\n$yellow-100: tint-color($yellow, 80%) !default;\n$yellow-200: tint-color($yellow, 60%) !default;\n$yellow-300: tint-color($yellow, 40%) !default;\n$yellow-400: tint-color($yellow, 20%) !default;\n$yellow-500: $yellow !default;\n$yellow-600: shade-color($yellow, 20%) !default;\n$yellow-700: shade-color($yellow, 40%) !default;\n$yellow-800: shade-color($yellow, 60%) !default;\n$yellow-900: shade-color($yellow, 80%) !default;\n\n$green-100: tint-color($green, 80%) !default;\n$green-200: tint-color($green, 60%) !default;\n$green-300: tint-color($green, 40%) !default;\n$green-400: tint-color($green, 20%) !default;\n$green-500: $green !default;\n$green-600: shade-color($green, 20%) !default;\n$green-700: shade-color($green, 40%) !default;\n$green-800: shade-color($green, 60%) !default;\n$green-900: shade-color($green, 80%) !default;\n\n$teal-100: tint-color($teal, 80%) !default;\n$teal-200: tint-color($teal, 60%) !default;\n$teal-300: tint-color($teal, 40%) !default;\n$teal-400: tint-color($teal, 20%) !default;\n$teal-500: $teal !default;\n$teal-600: shade-color($teal, 20%) !default;\n$teal-700: shade-color($teal, 40%) !default;\n$teal-800: shade-color($teal, 60%) !default;\n$teal-900: shade-color($teal, 80%) !default;\n\n$cyan-100: tint-color($cyan, 80%) !default;\n$cyan-200: tint-color($cyan, 60%) !default;\n$cyan-300: tint-color($cyan, 40%) !default;\n$cyan-400: tint-color($cyan, 20%) !default;\n$cyan-500: $cyan !default;\n$cyan-600: shade-color($cyan, 20%) !default;\n$cyan-700: shade-color($cyan, 40%) !default;\n$cyan-800: shade-color($cyan, 60%) !default;\n$cyan-900: shade-color($cyan, 80%) !default;\n\n$blues: (\n \"blue-100\": $blue-100,\n \"blue-200\": $blue-200,\n \"blue-300\": $blue-300,\n \"blue-400\": $blue-400,\n \"blue-500\": $blue-500,\n \"blue-600\": $blue-600,\n \"blue-700\": $blue-700,\n \"blue-800\": $blue-800,\n \"blue-900\": $blue-900\n) !default;\n\n$indigos: (\n \"indigo-100\": $indigo-100,\n \"indigo-200\": $indigo-200,\n \"indigo-300\": $indigo-300,\n \"indigo-400\": $indigo-400,\n \"indigo-500\": $indigo-500,\n \"indigo-600\": $indigo-600,\n \"indigo-700\": $indigo-700,\n \"indigo-800\": $indigo-800,\n \"indigo-900\": $indigo-900\n) !default;\n\n$purples: (\n \"purple-100\": $purple-100,\n \"purple-200\": $purple-200,\n \"purple-300\": $purple-300,\n \"purple-400\": $purple-400,\n \"purple-500\": $purple-500,\n \"purple-600\": $purple-600,\n \"purple-700\": $purple-700,\n \"purple-800\": $purple-800,\n \"purple-900\": $purple-900\n) !default;\n\n$pinks: (\n \"pink-100\": $pink-100,\n \"pink-200\": $pink-200,\n \"pink-300\": $pink-300,\n \"pink-400\": $pink-400,\n \"pink-500\": $pink-500,\n \"pink-600\": $pink-600,\n \"pink-700\": $pink-700,\n \"pink-800\": $pink-800,\n \"pink-900\": $pink-900\n) !default;\n\n$reds: (\n \"red-100\": $red-100,\n \"red-200\": $red-200,\n \"red-300\": $red-300,\n \"red-400\": $red-400,\n \"red-500\": $red-500,\n \"red-600\": $red-600,\n \"red-700\": $red-700,\n \"red-800\": $red-800,\n \"red-900\": $red-900\n) !default;\n\n$oranges: (\n \"orange-100\": $orange-100,\n \"orange-200\": $orange-200,\n \"orange-300\": $orange-300,\n \"orange-400\": $orange-400,\n \"orange-500\": $orange-500,\n \"orange-600\": $orange-600,\n \"orange-700\": $orange-700,\n \"orange-800\": $orange-800,\n \"orange-900\": $orange-900\n) !default;\n\n$yellows: (\n \"yellow-100\": $yellow-100,\n \"yellow-200\": $yellow-200,\n \"yellow-300\": $yellow-300,\n \"yellow-400\": $yellow-400,\n \"yellow-500\": $yellow-500,\n \"yellow-600\": $yellow-600,\n \"yellow-700\": $yellow-700,\n \"yellow-800\": $yellow-800,\n \"yellow-900\": $yellow-900\n) !default;\n\n$greens: (\n \"green-100\": $green-100,\n \"green-200\": $green-200,\n \"green-300\": $green-300,\n \"green-400\": $green-400,\n \"green-500\": $green-500,\n \"green-600\": $green-600,\n \"green-700\": $green-700,\n \"green-800\": $green-800,\n \"green-900\": $green-900\n) !default;\n\n$teals: (\n \"teal-100\": $teal-100,\n \"teal-200\": $teal-200,\n \"teal-300\": $teal-300,\n \"teal-400\": $teal-400,\n \"teal-500\": $teal-500,\n \"teal-600\": $teal-600,\n \"teal-700\": $teal-700,\n \"teal-800\": $teal-800,\n \"teal-900\": $teal-900\n) !default;\n\n$cyans: (\n \"cyan-100\": $cyan-100,\n \"cyan-200\": $cyan-200,\n \"cyan-300\": $cyan-300,\n \"cyan-400\": $cyan-400,\n \"cyan-500\": $cyan-500,\n \"cyan-600\": $cyan-600,\n \"cyan-700\": $cyan-700,\n \"cyan-800\": $cyan-800,\n \"cyan-900\": $cyan-900\n) !default;\n// fusv-enable\n\n// scss-docs-start theme-color-variables\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-900 !default;\n// scss-docs-end theme-color-variables\n\n// scss-docs-start theme-colors-map\n$theme-colors: (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n) !default;\n// scss-docs-end theme-colors-map\n\n// scss-docs-start theme-text-variables\n$primary-text-emphasis: shade-color($primary, 60%) !default;\n$secondary-text-emphasis: shade-color($secondary, 60%) !default;\n$success-text-emphasis: shade-color($success, 60%) !default;\n$info-text-emphasis: shade-color($info, 60%) !default;\n$warning-text-emphasis: shade-color($warning, 60%) !default;\n$danger-text-emphasis: shade-color($danger, 60%) !default;\n$light-text-emphasis: $gray-700 !default;\n$dark-text-emphasis: $gray-700 !default;\n// scss-docs-end theme-text-variables\n\n// scss-docs-start theme-bg-subtle-variables\n$primary-bg-subtle: tint-color($primary, 80%) !default;\n$secondary-bg-subtle: tint-color($secondary, 80%) !default;\n$success-bg-subtle: tint-color($success, 80%) !default;\n$info-bg-subtle: tint-color($info, 80%) !default;\n$warning-bg-subtle: tint-color($warning, 80%) !default;\n$danger-bg-subtle: tint-color($danger, 80%) !default;\n$light-bg-subtle: mix($gray-100, $white) !default;\n$dark-bg-subtle: $gray-400 !default;\n// scss-docs-end theme-bg-subtle-variables\n\n// scss-docs-start theme-border-subtle-variables\n$primary-border-subtle: tint-color($primary, 60%) !default;\n$secondary-border-subtle: tint-color($secondary, 60%) !default;\n$success-border-subtle: tint-color($success, 60%) !default;\n$info-border-subtle: tint-color($info, 60%) !default;\n$warning-border-subtle: tint-color($warning, 60%) !default;\n$danger-border-subtle: tint-color($danger, 60%) !default;\n$light-border-subtle: $gray-200 !default;\n$dark-border-subtle: $gray-500 !default;\n// scss-docs-end theme-border-subtle-variables\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n (\"<\", \"%3c\"),\n (\">\", \"%3e\"),\n (\"#\", \"%23\"),\n (\"(\", \"%28\"),\n (\")\", \"%29\"),\n) !default;\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-reduced-motion: true !default;\n$enable-smooth-scroll: true !default;\n$enable-grid-classes: true !default;\n$enable-container-classes: true !default;\n$enable-cssgrid: false !default;\n$enable-button-pointers: true !default;\n$enable-rfs: true !default;\n$enable-validation-icons: true !default;\n$enable-negative-margins: false !default;\n$enable-deprecation-messages: true !default;\n$enable-important-utilities: true !default;\n\n$enable-dark-mode: true !default;\n$color-mode-type: data !default; // `data` or `media-query`\n\n// Prefix for :root CSS variables\n\n$variable-prefix: bs- !default; // Deprecated in v5.2.0 for the shorter `$prefix`\n$prefix: $variable-prefix !default;\n\n// Gradient\n//\n// The gradient which is added to components if `$enable-gradients` is `true`\n// This gradient is also added to elements with `.bg-gradient`\n// scss-docs-start variable-gradient\n$gradient: linear-gradient(180deg, rgba($white, .15), rgba($white, 0)) !default;\n// scss-docs-end variable-gradient\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n// scss-docs-start spacer-variables-maps\n$spacer: 1rem !default;\n$spacers: (\n 0: 0,\n 1: $spacer * .25,\n 2: $spacer * .5,\n 3: $spacer,\n 4: $spacer * 1.5,\n 5: $spacer * 3,\n) !default;\n// scss-docs-end spacer-variables-maps\n\n// Position\n//\n// Define the edge positioning anchors of the position utilities.\n\n// scss-docs-start position-map\n$position-values: (\n 0: 0,\n 50: 50%,\n 100: 100%\n) !default;\n// scss-docs-end position-map\n\n// Body\n//\n// Settings for the `` element.\n\n$body-text-align: null !default;\n$body-color: $gray-900 !default;\n$body-bg: $white !default;\n\n$body-secondary-color: rgba($body-color, .75) !default;\n$body-secondary-bg: $gray-200 !default;\n\n$body-tertiary-color: rgba($body-color, .5) !default;\n$body-tertiary-bg: $gray-100 !default;\n\n$body-emphasis-color: $black !default;\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: $primary !default;\n$link-decoration: underline !default;\n$link-shade-percentage: 20% !default;\n$link-hover-color: shift-color($link-color, $link-shade-percentage) !default;\n$link-hover-decoration: null !default;\n\n$stretched-link-pseudo-element: after !default;\n$stretched-link-z-index: 1 !default;\n\n// Icon links\n// scss-docs-start icon-link-variables\n$icon-link-gap: .375rem !default;\n$icon-link-underline-offset: .25em !default;\n$icon-link-icon-size: 1em !default;\n$icon-link-icon-transition: .2s ease-in-out transform !default;\n$icon-link-icon-transform: translate3d(.25em, 0, 0) !default;\n// scss-docs-end icon-link-variables\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n// scss-docs-start grid-breakpoints\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px,\n xxl: 1400px\n) !default;\n// scss-docs-end grid-breakpoints\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px,\n xxl: 1320px\n) !default;\n// scss-docs-end container-max-widths\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 1.5rem !default;\n$grid-row-columns: 6 !default;\n\n// Container padding\n\n$container-padding-x: $grid-gutter-width !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n// scss-docs-start border-variables\n$border-width: 1px !default;\n$border-widths: (\n 1: 1px,\n 2: 2px,\n 3: 3px,\n 4: 4px,\n 5: 5px\n) !default;\n$border-style: solid !default;\n$border-color: $gray-300 !default;\n$border-color-translucent: rgba($black, .175) !default;\n// scss-docs-end border-variables\n\n// scss-docs-start border-radius-variables\n$border-radius: .375rem !default;\n$border-radius-sm: .25rem !default;\n$border-radius-lg: .5rem !default;\n$border-radius-xl: 1rem !default;\n$border-radius-xxl: 2rem !default;\n$border-radius-pill: 50rem !default;\n// scss-docs-end border-radius-variables\n// fusv-disable\n$border-radius-2xl: $border-radius-xxl !default; // Deprecated in v5.3.0\n// fusv-enable\n\n// scss-docs-start box-shadow-variables\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n$box-shadow-inset: inset 0 1px 2px rgba($black, .075) !default;\n// scss-docs-end box-shadow-variables\n\n$component-active-color: $white !default;\n$component-active-bg: $primary !default;\n\n// scss-docs-start focus-ring-variables\n$focus-ring-width: .25rem !default;\n$focus-ring-opacity: .25 !default;\n$focus-ring-color: rgba($primary, $focus-ring-opacity) !default;\n$focus-ring-blur: 0 !default;\n$focus-ring-box-shadow: 0 0 $focus-ring-blur $focus-ring-width $focus-ring-color !default;\n// scss-docs-end focus-ring-variables\n\n// scss-docs-start caret-variables\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n// scss-docs-end caret-variables\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n// scss-docs-start collapse-transition\n$transition-collapse: height .35s ease !default;\n$transition-collapse-width: width .35s ease !default;\n// scss-docs-end collapse-transition\n\n// stylelint-disable function-disallowed-list\n// scss-docs-start aspect-ratios\n$aspect-ratios: (\n \"1x1\": 100%,\n \"4x3\": calc(3 / 4 * 100%),\n \"16x9\": calc(9 / 16 * 100%),\n \"21x9\": calc(9 / 21 * 100%)\n) !default;\n// scss-docs-end aspect-ratios\n// stylelint-enable function-disallowed-list\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// scss-docs-start font-variables\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n// stylelint-enable value-keyword-case\n$font-family-base: var(--#{$prefix}font-sans-serif) !default;\n$font-family-code: var(--#{$prefix}font-monospace) !default;\n\n// $font-size-root affects the value of `rem`, which is used for as well font sizes, paddings, and margins\n// $font-size-base affects the font size of the body text\n$font-size-root: null !default;\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-sm: $font-size-base * .875 !default;\n$font-size-lg: $font-size-base * 1.25 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-medium: 500 !default;\n$font-weight-semibold: 600 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n\n$line-height-base: 1.5 !default;\n$line-height-sm: 1.25 !default;\n$line-height-lg: 2 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n// scss-docs-end font-variables\n\n// scss-docs-start font-sizes\n$font-sizes: (\n 1: $h1-font-size,\n 2: $h2-font-size,\n 3: $h3-font-size,\n 4: $h4-font-size,\n 5: $h5-font-size,\n 6: $h6-font-size\n) !default;\n// scss-docs-end font-sizes\n\n// scss-docs-start headings-variables\n$headings-margin-bottom: $spacer * .5 !default;\n$headings-font-family: null !default;\n$headings-font-style: null !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: inherit !default;\n// scss-docs-end headings-variables\n\n// scss-docs-start display-headings\n$display-font-sizes: (\n 1: 5rem,\n 2: 4.5rem,\n 3: 4rem,\n 4: 3.5rem,\n 5: 3rem,\n 6: 2.5rem\n) !default;\n\n$display-font-family: null !default;\n$display-font-style: null !default;\n$display-font-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n// scss-docs-end display-headings\n\n// scss-docs-start type-variables\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: .875em !default;\n\n$sub-sup-font-size: .75em !default;\n\n// fusv-disable\n$text-muted: var(--#{$prefix}secondary-color) !default; // Deprecated in 5.3.0\n// fusv-enable\n\n$initialism-font-size: $small-font-size !default;\n\n$blockquote-margin-y: $spacer !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n$blockquote-footer-color: $gray-600 !default;\n$blockquote-footer-font-size: $small-font-size !default;\n\n$hr-margin-y: $spacer !default;\n$hr-color: inherit !default;\n\n// fusv-disable\n$hr-bg-color: null !default; // Deprecated in v5.2.0\n$hr-height: null !default; // Deprecated in v5.2.0\n// fusv-enable\n\n$hr-border-color: null !default; // Allows for inherited colors\n$hr-border-width: var(--#{$prefix}border-width) !default;\n$hr-opacity: .25 !default;\n\n// scss-docs-start vr-variables\n$vr-border-width: var(--#{$prefix}border-width) !default;\n// scss-docs-end vr-variables\n\n$legend-margin-bottom: .5rem !default;\n$legend-font-size: 1.5rem !default;\n$legend-font-weight: null !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-padding: .1875em !default;\n$mark-color: $body-color !default;\n$mark-bg: $yellow-100 !default;\n// scss-docs-end type-variables\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n// scss-docs-start table-variables\n$table-cell-padding-y: .5rem !default;\n$table-cell-padding-x: .5rem !default;\n$table-cell-padding-y-sm: .25rem !default;\n$table-cell-padding-x-sm: .25rem !default;\n\n$table-cell-vertical-align: top !default;\n\n$table-color: var(--#{$prefix}emphasis-color) !default;\n$table-bg: var(--#{$prefix}body-bg) !default;\n$table-accent-bg: transparent !default;\n\n$table-th-font-weight: null !default;\n\n$table-striped-color: $table-color !default;\n$table-striped-bg-factor: .05 !default;\n$table-striped-bg: rgba(var(--#{$prefix}emphasis-color-rgb), $table-striped-bg-factor) !default;\n\n$table-active-color: $table-color !default;\n$table-active-bg-factor: .1 !default;\n$table-active-bg: rgba(var(--#{$prefix}emphasis-color-rgb), $table-active-bg-factor) !default;\n\n$table-hover-color: $table-color !default;\n$table-hover-bg-factor: .075 !default;\n$table-hover-bg: rgba(var(--#{$prefix}emphasis-color-rgb), $table-hover-bg-factor) !default;\n\n$table-border-factor: .2 !default;\n$table-border-width: var(--#{$prefix}border-width) !default;\n$table-border-color: var(--#{$prefix}border-color) !default;\n\n$table-striped-order: odd !default;\n$table-striped-columns-order: even !default;\n\n$table-group-separator-color: currentcolor !default;\n\n$table-caption-color: var(--#{$prefix}secondary-color) !default;\n\n$table-bg-scale: -80% !default;\n// scss-docs-end table-variables\n\n// scss-docs-start table-loop\n$table-variants: (\n \"primary\": shift-color($primary, $table-bg-scale),\n \"secondary\": shift-color($secondary, $table-bg-scale),\n \"success\": shift-color($success, $table-bg-scale),\n \"info\": shift-color($info, $table-bg-scale),\n \"warning\": shift-color($warning, $table-bg-scale),\n \"danger\": shift-color($danger, $table-bg-scale),\n \"light\": $light,\n \"dark\": $dark,\n) !default;\n// scss-docs-end table-loop\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n// scss-docs-start input-btn-variables\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-font-family: null !default;\n$input-btn-font-size: $font-size-base !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: $focus-ring-width !default;\n$input-btn-focus-color-opacity: $focus-ring-opacity !default;\n$input-btn-focus-color: $focus-ring-color !default;\n$input-btn-focus-blur: $focus-ring-blur !default;\n$input-btn-focus-box-shadow: $focus-ring-box-shadow !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-font-size-sm: $font-size-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-font-size-lg: $font-size-lg !default;\n\n$input-btn-border-width: var(--#{$prefix}border-width) !default;\n// scss-docs-end input-btn-variables\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n// scss-docs-start btn-variables\n$btn-color: var(--#{$prefix}body-color) !default;\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-font-family: $input-btn-font-family !default;\n$btn-font-size: $input-btn-font-size !default;\n$btn-line-height: $input-btn-line-height !default;\n$btn-white-space: null !default; // Set to `nowrap` to prevent text wrapping\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-font-size-sm: $input-btn-font-size-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-font-size-lg: $input-btn-font-size-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-color: var(--#{$prefix}link-color) !default;\n$btn-link-hover-color: var(--#{$prefix}link-hover-color) !default;\n$btn-link-disabled-color: $gray-600 !default;\n$btn-link-focus-shadow-rgb: to-rgb(mix(color-contrast($link-color), $link-color, 15%)) !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: var(--#{$prefix}border-radius) !default;\n$btn-border-radius-sm: var(--#{$prefix}border-radius-sm) !default;\n$btn-border-radius-lg: var(--#{$prefix}border-radius-lg) !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$btn-hover-bg-shade-amount: 15% !default;\n$btn-hover-bg-tint-amount: 15% !default;\n$btn-hover-border-shade-amount: 20% !default;\n$btn-hover-border-tint-amount: 10% !default;\n$btn-active-bg-shade-amount: 20% !default;\n$btn-active-bg-tint-amount: 20% !default;\n$btn-active-border-shade-amount: 25% !default;\n$btn-active-border-tint-amount: 10% !default;\n// scss-docs-end btn-variables\n\n\n// Forms\n\n// scss-docs-start form-text-variables\n$form-text-margin-top: .25rem !default;\n$form-text-font-size: $small-font-size !default;\n$form-text-font-style: null !default;\n$form-text-font-weight: null !default;\n$form-text-color: var(--#{$prefix}secondary-color) !default;\n// scss-docs-end form-text-variables\n\n// scss-docs-start form-label-variables\n$form-label-margin-bottom: .5rem !default;\n$form-label-font-size: null !default;\n$form-label-font-style: null !default;\n$form-label-font-weight: null !default;\n$form-label-color: null !default;\n// scss-docs-end form-label-variables\n\n// scss-docs-start form-input-variables\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-font-family: $input-btn-font-family !default;\n$input-font-size: $input-btn-font-size !default;\n$input-font-weight: $font-weight-base !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-font-size-sm: $input-btn-font-size-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-font-size-lg: $input-btn-font-size-lg !default;\n\n$input-bg: var(--#{$prefix}body-bg) !default;\n$input-disabled-color: null !default;\n$input-disabled-bg: var(--#{$prefix}secondary-bg) !default;\n$input-disabled-border-color: null !default;\n\n$input-color: var(--#{$prefix}body-color) !default;\n$input-border-color: var(--#{$prefix}border-color) !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: var(--#{$prefix}box-shadow-inset) !default;\n\n$input-border-radius: var(--#{$prefix}border-radius) !default;\n$input-border-radius-sm: var(--#{$prefix}border-radius-sm) !default;\n$input-border-radius-lg: var(--#{$prefix}border-radius-lg) !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: tint-color($component-active-bg, 50%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: var(--#{$prefix}secondary-color) !default;\n$input-plaintext-color: var(--#{$prefix}body-color) !default;\n\n$input-height-border: calc(#{$input-border-width} * 2) !default; // stylelint-disable-line function-disallowed-list\n\n$input-height-inner: add($input-line-height * 1em, $input-padding-y * 2) !default;\n$input-height-inner-half: add($input-line-height * .5em, $input-padding-y) !default;\n$input-height-inner-quarter: add($input-line-height * .25em, $input-padding-y * .5) !default;\n\n$input-height: add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default;\n$input-height-sm: add($input-line-height * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;\n$input-height-lg: add($input-line-height * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-color-width: 3rem !default;\n// scss-docs-end form-input-variables\n\n// scss-docs-start form-check-variables\n$form-check-input-width: 1em !default;\n$form-check-min-height: $font-size-base * $line-height-base !default;\n$form-check-padding-start: $form-check-input-width + .5em !default;\n$form-check-margin-bottom: .125rem !default;\n$form-check-label-color: null !default;\n$form-check-label-cursor: null !default;\n$form-check-transition: null !default;\n\n$form-check-input-active-filter: brightness(90%) !default;\n\n$form-check-input-bg: $input-bg !default;\n$form-check-input-border: var(--#{$prefix}border-width) solid var(--#{$prefix}border-color) !default;\n$form-check-input-border-radius: .25em !default;\n$form-check-radio-border-radius: 50% !default;\n$form-check-input-focus-border: $input-focus-border-color !default;\n$form-check-input-focus-box-shadow: $focus-ring-box-shadow !default;\n\n$form-check-input-checked-color: $component-active-color !default;\n$form-check-input-checked-bg-color: $component-active-bg !default;\n$form-check-input-checked-border-color: $form-check-input-checked-bg-color !default;\n$form-check-input-checked-bg-image: url(\"data:image/svg+xml,\") !default;\n$form-check-radio-checked-bg-image: url(\"data:image/svg+xml,\") !default;\n\n$form-check-input-indeterminate-color: $component-active-color !default;\n$form-check-input-indeterminate-bg-color: $component-active-bg !default;\n$form-check-input-indeterminate-border-color: $form-check-input-indeterminate-bg-color !default;\n$form-check-input-indeterminate-bg-image: url(\"data:image/svg+xml,\") !default;\n\n$form-check-input-disabled-opacity: .5 !default;\n$form-check-label-disabled-opacity: $form-check-input-disabled-opacity !default;\n$form-check-btn-check-disabled-opacity: $btn-disabled-opacity !default;\n\n$form-check-inline-margin-end: 1rem !default;\n// scss-docs-end form-check-variables\n\n// scss-docs-start form-switch-variables\n$form-switch-color: rgba($black, .25) !default;\n$form-switch-width: 2em !default;\n$form-switch-padding-start: $form-switch-width + .5em !default;\n$form-switch-bg-image: url(\"data:image/svg+xml,\") !default;\n$form-switch-border-radius: $form-switch-width !default;\n$form-switch-transition: background-position .15s ease-in-out !default;\n\n$form-switch-focus-color: $input-focus-border-color !default;\n$form-switch-focus-bg-image: url(\"data:image/svg+xml,\") !default;\n\n$form-switch-checked-color: $component-active-color !default;\n$form-switch-checked-bg-image: url(\"data:image/svg+xml,\") !default;\n$form-switch-checked-bg-position: right center !default;\n// scss-docs-end form-switch-variables\n\n// scss-docs-start input-group-variables\n$input-group-addon-padding-y: $input-padding-y !default;\n$input-group-addon-padding-x: $input-padding-x !default;\n$input-group-addon-font-weight: $input-font-weight !default;\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: var(--#{$prefix}tertiary-bg) !default;\n$input-group-addon-border-color: $input-border-color !default;\n// scss-docs-end input-group-variables\n\n// scss-docs-start form-select-variables\n$form-select-padding-y: $input-padding-y !default;\n$form-select-padding-x: $input-padding-x !default;\n$form-select-font-family: $input-font-family !default;\n$form-select-font-size: $input-font-size !default;\n$form-select-indicator-padding: $form-select-padding-x * 3 !default; // Extra padding for background-image\n$form-select-font-weight: $input-font-weight !default;\n$form-select-line-height: $input-line-height !default;\n$form-select-color: $input-color !default;\n$form-select-bg: $input-bg !default;\n$form-select-disabled-color: null !default;\n$form-select-disabled-bg: $input-disabled-bg !default;\n$form-select-disabled-border-color: $input-disabled-border-color !default;\n$form-select-bg-position: right $form-select-padding-x center !default;\n$form-select-bg-size: 16px 12px !default; // In pixels because image dimensions\n$form-select-indicator-color: $gray-800 !default;\n$form-select-indicator: url(\"data:image/svg+xml,\") !default;\n\n$form-select-feedback-icon-padding-end: $form-select-padding-x * 2.5 + $form-select-indicator-padding !default;\n$form-select-feedback-icon-position: center right $form-select-indicator-padding !default;\n$form-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$form-select-border-width: $input-border-width !default;\n$form-select-border-color: $input-border-color !default;\n$form-select-border-radius: $input-border-radius !default;\n$form-select-box-shadow: var(--#{$prefix}box-shadow-inset) !default;\n\n$form-select-focus-border-color: $input-focus-border-color !default;\n$form-select-focus-width: $input-focus-width !default;\n$form-select-focus-box-shadow: 0 0 0 $form-select-focus-width $input-btn-focus-color !default;\n\n$form-select-padding-y-sm: $input-padding-y-sm !default;\n$form-select-padding-x-sm: $input-padding-x-sm !default;\n$form-select-font-size-sm: $input-font-size-sm !default;\n$form-select-border-radius-sm: $input-border-radius-sm !default;\n\n$form-select-padding-y-lg: $input-padding-y-lg !default;\n$form-select-padding-x-lg: $input-padding-x-lg !default;\n$form-select-font-size-lg: $input-font-size-lg !default;\n$form-select-border-radius-lg: $input-border-radius-lg !default;\n\n$form-select-transition: $input-transition !default;\n// scss-docs-end form-select-variables\n\n// scss-docs-start form-range-variables\n$form-range-track-width: 100% !default;\n$form-range-track-height: .5rem !default;\n$form-range-track-cursor: pointer !default;\n$form-range-track-bg: var(--#{$prefix}secondary-bg) !default;\n$form-range-track-border-radius: 1rem !default;\n$form-range-track-box-shadow: var(--#{$prefix}box-shadow-inset) !default;\n\n$form-range-thumb-width: 1rem !default;\n$form-range-thumb-height: $form-range-thumb-width !default;\n$form-range-thumb-bg: $component-active-bg !default;\n$form-range-thumb-border: 0 !default;\n$form-range-thumb-border-radius: 1rem !default;\n$form-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$form-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$form-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in Edge\n$form-range-thumb-active-bg: tint-color($component-active-bg, 70%) !default;\n$form-range-thumb-disabled-bg: var(--#{$prefix}secondary-color) !default;\n$form-range-thumb-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n// scss-docs-end form-range-variables\n\n// scss-docs-start form-file-variables\n$form-file-button-color: $input-color !default;\n$form-file-button-bg: var(--#{$prefix}tertiary-bg) !default;\n$form-file-button-hover-bg: var(--#{$prefix}secondary-bg) !default;\n// scss-docs-end form-file-variables\n\n// scss-docs-start form-floating-variables\n$form-floating-height: add(3.5rem, $input-height-border) !default;\n$form-floating-line-height: 1.25 !default;\n$form-floating-padding-x: $input-padding-x !default;\n$form-floating-padding-y: 1rem !default;\n$form-floating-input-padding-t: 1.625rem !default;\n$form-floating-input-padding-b: .625rem !default;\n$form-floating-label-height: 1.5em !default;\n$form-floating-label-opacity: .65 !default;\n$form-floating-label-transform: scale(.85) translateY(-.5rem) translateX(.15rem) !default;\n$form-floating-label-disabled-color: $gray-600 !default;\n$form-floating-transition: opacity .1s ease-in-out, transform .1s ease-in-out !default;\n// scss-docs-end form-floating-variables\n\n// Form validation\n\n// scss-docs-start form-feedback-variables\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $form-text-font-size !default;\n$form-feedback-font-style: $form-text-font-style !default;\n$form-feedback-valid-color: $success !default;\n$form-feedback-invalid-color: $danger !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: url(\"data:image/svg+xml,\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: url(\"data:image/svg+xml,\") !default;\n// scss-docs-end form-feedback-variables\n\n// scss-docs-start form-validation-colors\n$form-valid-color: $form-feedback-valid-color !default;\n$form-valid-border-color: $form-feedback-valid-color !default;\n$form-invalid-color: $form-feedback-invalid-color !default;\n$form-invalid-border-color: $form-feedback-invalid-color !default;\n// scss-docs-end form-validation-colors\n\n// scss-docs-start form-validation-states\n$form-validation-states: (\n \"valid\": (\n \"color\": var(--#{$prefix}form-valid-color),\n \"icon\": $form-feedback-icon-valid,\n \"tooltip-color\": #fff,\n \"tooltip-bg-color\": var(--#{$prefix}success),\n \"focus-box-shadow\": 0 0 $input-btn-focus-blur $input-focus-width rgba(var(--#{$prefix}success-rgb), $input-btn-focus-color-opacity),\n \"border-color\": var(--#{$prefix}form-valid-border-color),\n ),\n \"invalid\": (\n \"color\": var(--#{$prefix}form-invalid-color),\n \"icon\": $form-feedback-icon-invalid,\n \"tooltip-color\": #fff,\n \"tooltip-bg-color\": var(--#{$prefix}danger),\n \"focus-box-shadow\": 0 0 $input-btn-focus-blur $input-focus-width rgba(var(--#{$prefix}danger-rgb), $input-btn-focus-color-opacity),\n \"border-color\": var(--#{$prefix}form-invalid-border-color),\n )\n) !default;\n// scss-docs-end form-validation-states\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-offcanvas-backdrop: 1040 !default;\n$zindex-offcanvas: 1045 !default;\n$zindex-modal-backdrop: 1050 !default;\n$zindex-modal: 1055 !default;\n$zindex-popover: 1070 !default;\n$zindex-tooltip: 1080 !default;\n$zindex-toast: 1090 !default;\n// scss-docs-end zindex-stack\n\n// scss-docs-start zindex-levels-map\n$zindex-levels: (\n n1: -1,\n 0: 0,\n 1: 1,\n 2: 2,\n 3: 3\n) !default;\n// scss-docs-end zindex-levels-map\n\n\n// Navs\n\n// scss-docs-start nav-variables\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-font-size: null !default;\n$nav-link-font-weight: null !default;\n$nav-link-color: var(--#{$prefix}link-color) !default;\n$nav-link-hover-color: var(--#{$prefix}link-hover-color) !default;\n$nav-link-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out !default;\n$nav-link-disabled-color: var(--#{$prefix}secondary-color) !default;\n$nav-link-focus-box-shadow: $focus-ring-box-shadow !default;\n\n$nav-tabs-border-color: var(--#{$prefix}border-color) !default;\n$nav-tabs-border-width: var(--#{$prefix}border-width) !default;\n$nav-tabs-border-radius: var(--#{$prefix}border-radius) !default;\n$nav-tabs-link-hover-border-color: var(--#{$prefix}secondary-bg) var(--#{$prefix}secondary-bg) $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: var(--#{$prefix}emphasis-color) !default;\n$nav-tabs-link-active-bg: var(--#{$prefix}body-bg) !default;\n$nav-tabs-link-active-border-color: var(--#{$prefix}border-color) var(--#{$prefix}border-color) $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: var(--#{$prefix}border-radius) !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n$nav-underline-gap: 1rem !default;\n$nav-underline-border-width: .125rem !default;\n$nav-underline-link-active-color: var(--#{$prefix}emphasis-color) !default;\n// scss-docs-end nav-variables\n\n\n// Navbar\n\n// scss-docs-start navbar-variables\n$navbar-padding-y: $spacer * .5 !default;\n$navbar-padding-x: null !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) * .5 !default;\n$navbar-brand-margin-end: 1rem !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n$navbar-toggler-focus-width: $btn-focus-width !default;\n$navbar-toggler-transition: box-shadow .15s ease-in-out !default;\n\n$navbar-light-color: rgba(var(--#{$prefix}emphasis-color-rgb), .65) !default;\n$navbar-light-hover-color: rgba(var(--#{$prefix}emphasis-color-rgb), .8) !default;\n$navbar-light-active-color: rgba(var(--#{$prefix}emphasis-color-rgb), 1) !default;\n$navbar-light-disabled-color: rgba(var(--#{$prefix}emphasis-color-rgb), .3) !default;\n$navbar-light-icon-color: rgba($body-color, .75) !default;\n$navbar-light-toggler-icon-bg: url(\"data:image/svg+xml,\") !default;\n$navbar-light-toggler-border-color: rgba(var(--#{$prefix}emphasis-color-rgb), .15) !default;\n$navbar-light-brand-color: $navbar-light-active-color !default;\n$navbar-light-brand-hover-color: $navbar-light-active-color !default;\n// scss-docs-end navbar-variables\n\n// scss-docs-start navbar-dark-variables\n$navbar-dark-color: rgba($white, .55) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-icon-color: $navbar-dark-color !default;\n$navbar-dark-toggler-icon-bg: url(\"data:image/svg+xml,\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n$navbar-dark-brand-color: $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;\n// scss-docs-end navbar-dark-variables\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n// scss-docs-start dropdown-variables\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-x: 0 !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-font-size: $font-size-base !default;\n$dropdown-color: var(--#{$prefix}body-color) !default;\n$dropdown-bg: var(--#{$prefix}body-bg) !default;\n$dropdown-border-color: var(--#{$prefix}border-color-translucent) !default;\n$dropdown-border-radius: var(--#{$prefix}border-radius) !default;\n$dropdown-border-width: var(--#{$prefix}border-width) !default;\n$dropdown-inner-border-radius: calc(#{$dropdown-border-radius} - #{$dropdown-border-width}) !default; // stylelint-disable-line function-disallowed-list\n$dropdown-divider-bg: $dropdown-border-color !default;\n$dropdown-divider-margin-y: $spacer * .5 !default;\n$dropdown-box-shadow: var(--#{$prefix}box-shadow) !default;\n\n$dropdown-link-color: var(--#{$prefix}body-color) !default;\n$dropdown-link-hover-color: $dropdown-link-color !default;\n$dropdown-link-hover-bg: var(--#{$prefix}tertiary-bg) !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: var(--#{$prefix}tertiary-color) !default;\n\n$dropdown-item-padding-y: $spacer * .25 !default;\n$dropdown-item-padding-x: $spacer !default;\n\n$dropdown-header-color: $gray-600 !default;\n$dropdown-header-padding-x: $dropdown-item-padding-x !default;\n$dropdown-header-padding-y: $dropdown-padding-y !default;\n// fusv-disable\n$dropdown-header-padding: $dropdown-header-padding-y $dropdown-header-padding-x !default; // Deprecated in v5.2.0\n// fusv-enable\n// scss-docs-end dropdown-variables\n\n// scss-docs-start dropdown-dark-variables\n$dropdown-dark-color: $gray-300 !default;\n$dropdown-dark-bg: $gray-800 !default;\n$dropdown-dark-border-color: $dropdown-border-color !default;\n$dropdown-dark-divider-bg: $dropdown-divider-bg !default;\n$dropdown-dark-box-shadow: null !default;\n$dropdown-dark-link-color: $dropdown-dark-color !default;\n$dropdown-dark-link-hover-color: $white !default;\n$dropdown-dark-link-hover-bg: rgba($white, .15) !default;\n$dropdown-dark-link-active-color: $dropdown-link-active-color !default;\n$dropdown-dark-link-active-bg: $dropdown-link-active-bg !default;\n$dropdown-dark-link-disabled-color: $gray-500 !default;\n$dropdown-dark-header-color: $gray-500 !default;\n// scss-docs-end dropdown-dark-variables\n\n\n// Pagination\n\n// scss-docs-start pagination-variables\n$pagination-padding-y: .375rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n\n$pagination-font-size: $font-size-base !default;\n\n$pagination-color: var(--#{$prefix}link-color) !default;\n$pagination-bg: var(--#{$prefix}body-bg) !default;\n$pagination-border-radius: var(--#{$prefix}border-radius) !default;\n$pagination-border-width: var(--#{$prefix}border-width) !default;\n$pagination-margin-start: calc(#{$pagination-border-width} * -1) !default; // stylelint-disable-line function-disallowed-list\n$pagination-border-color: var(--#{$prefix}border-color) !default;\n\n$pagination-focus-color: var(--#{$prefix}link-hover-color) !default;\n$pagination-focus-bg: var(--#{$prefix}secondary-bg) !default;\n$pagination-focus-box-shadow: $focus-ring-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: var(--#{$prefix}link-hover-color) !default;\n$pagination-hover-bg: var(--#{$prefix}tertiary-bg) !default;\n$pagination-hover-border-color: var(--#{$prefix}border-color) !default; // Todo in v6: remove this?\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $component-active-bg !default;\n\n$pagination-disabled-color: var(--#{$prefix}secondary-color) !default;\n$pagination-disabled-bg: var(--#{$prefix}secondary-bg) !default;\n$pagination-disabled-border-color: var(--#{$prefix}border-color) !default;\n\n$pagination-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$pagination-border-radius-sm: var(--#{$prefix}border-radius-sm) !default;\n$pagination-border-radius-lg: var(--#{$prefix}border-radius-lg) !default;\n// scss-docs-end pagination-variables\n\n\n// Placeholders\n\n// scss-docs-start placeholders\n$placeholder-opacity-max: .5 !default;\n$placeholder-opacity-min: .2 !default;\n// scss-docs-end placeholders\n\n// Cards\n\n// scss-docs-start card-variables\n$card-spacer-y: $spacer !default;\n$card-spacer-x: $spacer !default;\n$card-title-spacer-y: $spacer * .5 !default;\n$card-title-color: null !default;\n$card-subtitle-color: null !default;\n$card-border-width: var(--#{$prefix}border-width) !default;\n$card-border-color: var(--#{$prefix}border-color-translucent) !default;\n$card-border-radius: var(--#{$prefix}border-radius) !default;\n$card-box-shadow: null !default;\n$card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default;\n$card-cap-padding-y: $card-spacer-y * .5 !default;\n$card-cap-padding-x: $card-spacer-x !default;\n$card-cap-bg: rgba(var(--#{$prefix}body-color-rgb), .03) !default;\n$card-cap-color: null !default;\n$card-height: null !default;\n$card-color: null !default;\n$card-bg: var(--#{$prefix}body-bg) !default;\n$card-img-overlay-padding: $spacer !default;\n$card-group-margin: $grid-gutter-width * .5 !default;\n// scss-docs-end card-variables\n\n// Accordion\n\n// scss-docs-start accordion-variables\n$accordion-padding-y: 1rem !default;\n$accordion-padding-x: 1.25rem !default;\n$accordion-color: var(--#{$prefix}body-color) !default;\n$accordion-bg: var(--#{$prefix}body-bg) !default;\n$accordion-border-width: var(--#{$prefix}border-width) !default;\n$accordion-border-color: var(--#{$prefix}border-color) !default;\n$accordion-border-radius: var(--#{$prefix}border-radius) !default;\n$accordion-inner-border-radius: subtract($accordion-border-radius, $accordion-border-width) !default;\n\n$accordion-body-padding-y: $accordion-padding-y !default;\n$accordion-body-padding-x: $accordion-padding-x !default;\n\n$accordion-button-padding-y: $accordion-padding-y !default;\n$accordion-button-padding-x: $accordion-padding-x !default;\n$accordion-button-color: var(--#{$prefix}body-color) !default;\n$accordion-button-bg: var(--#{$prefix}accordion-bg) !default;\n$accordion-transition: $btn-transition, border-radius .15s ease !default;\n$accordion-button-active-bg: var(--#{$prefix}primary-bg-subtle) !default;\n$accordion-button-active-color: var(--#{$prefix}primary-text-emphasis) !default;\n\n$accordion-button-focus-border-color: $input-focus-border-color !default;\n$accordion-button-focus-box-shadow: $btn-focus-box-shadow !default;\n\n$accordion-icon-width: 1.25rem !default;\n$accordion-icon-color: $body-color !default;\n$accordion-icon-active-color: $primary-text-emphasis !default;\n$accordion-icon-transition: transform .2s ease-in-out !default;\n$accordion-icon-transform: rotate(-180deg) !default;\n\n$accordion-button-icon: url(\"data:image/svg+xml,\") !default;\n$accordion-button-active-icon: url(\"data:image/svg+xml,\") !default;\n// scss-docs-end accordion-variables\n\n// Tooltips\n\n// scss-docs-start tooltip-variables\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: var(--#{$prefix}body-bg) !default;\n$tooltip-bg: var(--#{$prefix}emphasis-color) !default;\n$tooltip-border-radius: var(--#{$prefix}border-radius) !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: $spacer * .25 !default;\n$tooltip-padding-x: $spacer * .5 !default;\n$tooltip-margin: null !default; // TODO: remove this in v6\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n// fusv-disable\n$tooltip-arrow-color: null !default; // Deprecated in Bootstrap 5.2.0 for CSS variables\n// fusv-enable\n// scss-docs-end tooltip-variables\n\n// Form tooltips must come after regular tooltips\n// scss-docs-start tooltip-feedback-variables\n$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size: $tooltip-font-size !default;\n$form-feedback-tooltip-line-height: null !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n// scss-docs-end tooltip-feedback-variables\n\n\n// Popovers\n\n// scss-docs-start popover-variables\n$popover-font-size: $font-size-sm !default;\n$popover-bg: var(--#{$prefix}body-bg) !default;\n$popover-max-width: 276px !default;\n$popover-border-width: var(--#{$prefix}border-width) !default;\n$popover-border-color: var(--#{$prefix}border-color-translucent) !default;\n$popover-border-radius: var(--#{$prefix}border-radius-lg) !default;\n$popover-inner-border-radius: calc(#{$popover-border-radius} - #{$popover-border-width}) !default; // stylelint-disable-line function-disallowed-list\n$popover-box-shadow: var(--#{$prefix}box-shadow) !default;\n\n$popover-header-font-size: $font-size-base !default;\n$popover-header-bg: var(--#{$prefix}secondary-bg) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: $spacer !default;\n\n$popover-body-color: var(--#{$prefix}body-color) !default;\n$popover-body-padding-y: $spacer !default;\n$popover-body-padding-x: $spacer !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n// scss-docs-end popover-variables\n\n// fusv-disable\n// Deprecated in Bootstrap 5.2.0 for CSS variables\n$popover-arrow-color: $popover-bg !default;\n$popover-arrow-outer-color: var(--#{$prefix}border-color-translucent) !default;\n// fusv-enable\n\n\n// Toasts\n\n// scss-docs-start toast-variables\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .5rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !default;\n$toast-background-color: rgba(var(--#{$prefix}body-bg-rgb), .85) !default;\n$toast-border-width: var(--#{$prefix}border-width) !default;\n$toast-border-color: var(--#{$prefix}border-color-translucent) !default;\n$toast-border-radius: var(--#{$prefix}border-radius) !default;\n$toast-box-shadow: var(--#{$prefix}box-shadow) !default;\n$toast-spacing: $container-padding-x !default;\n\n$toast-header-color: var(--#{$prefix}secondary-color) !default;\n$toast-header-background-color: rgba(var(--#{$prefix}body-bg-rgb), .85) !default;\n$toast-header-border-color: $toast-border-color !default;\n// scss-docs-end toast-variables\n\n\n// Badges\n\n// scss-docs-start badge-variables\n$badge-font-size: .75em !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-color: $white !default;\n$badge-padding-y: .35em !default;\n$badge-padding-x: .65em !default;\n$badge-border-radius: var(--#{$prefix}border-radius) !default;\n// scss-docs-end badge-variables\n\n\n// Modals\n\n// scss-docs-start modal-variables\n$modal-inner-padding: $spacer !default;\n\n$modal-footer-margin-between: .5rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-color: null !default;\n$modal-content-bg: var(--#{$prefix}body-bg) !default;\n$modal-content-border-color: var(--#{$prefix}border-color-translucent) !default;\n$modal-content-border-width: var(--#{$prefix}border-width) !default;\n$modal-content-border-radius: var(--#{$prefix}border-radius-lg) !default;\n$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;\n$modal-content-box-shadow-xs: var(--#{$prefix}box-shadow-sm) !default;\n$modal-content-box-shadow-sm-up: var(--#{$prefix}box-shadow) !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n\n$modal-header-border-color: var(--#{$prefix}border-color) !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-header-padding-y: $modal-inner-padding !default;\n$modal-header-padding-x: $modal-inner-padding !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-footer-bg: null !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n\n$modal-sm: 300px !default;\n$modal-md: 500px !default;\n$modal-lg: 800px !default;\n$modal-xl: 1140px !default;\n\n$modal-fade-transform: translate(0, -50px) !default;\n$modal-show-transform: none !default;\n$modal-transition: transform .3s ease-out !default;\n$modal-scale-transform: scale(1.02) !default;\n// scss-docs-end modal-variables\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n// scss-docs-start alert-variables\n$alert-padding-y: $spacer !default;\n$alert-padding-x: $spacer !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: var(--#{$prefix}border-radius) !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: var(--#{$prefix}border-width) !default;\n$alert-dismissible-padding-r: $alert-padding-x * 3 !default; // 3x covers width of x plus default padding on either side\n// scss-docs-end alert-variables\n\n// fusv-disable\n$alert-bg-scale: -80% !default; // Deprecated in v5.2.0, to be removed in v6\n$alert-border-scale: -70% !default; // Deprecated in v5.2.0, to be removed in v6\n$alert-color-scale: 40% !default; // Deprecated in v5.2.0, to be removed in v6\n// fusv-enable\n\n// Progress bars\n\n// scss-docs-start progress-variables\n$progress-height: 1rem !default;\n$progress-font-size: $font-size-base * .75 !default;\n$progress-bg: var(--#{$prefix}secondary-bg) !default;\n$progress-border-radius: var(--#{$prefix}border-radius) !default;\n$progress-box-shadow: var(--#{$prefix}box-shadow-inset) !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: $primary !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n// scss-docs-end progress-variables\n\n\n// List group\n\n// scss-docs-start list-group-variables\n$list-group-color: var(--#{$prefix}body-color) !default;\n$list-group-bg: var(--#{$prefix}body-bg) !default;\n$list-group-border-color: var(--#{$prefix}border-color) !default;\n$list-group-border-width: var(--#{$prefix}border-width) !default;\n$list-group-border-radius: var(--#{$prefix}border-radius) !default;\n\n$list-group-item-padding-y: $spacer * .5 !default;\n$list-group-item-padding-x: $spacer !default;\n// fusv-disable\n$list-group-item-bg-scale: -80% !default; // Deprecated in v5.3.0\n$list-group-item-color-scale: 40% !default; // Deprecated in v5.3.0\n// fusv-enable\n\n$list-group-hover-bg: var(--#{$prefix}tertiary-bg) !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: var(--#{$prefix}secondary-color) !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: var(--#{$prefix}secondary-color) !default;\n$list-group-action-hover-color: var(--#{$prefix}emphasis-color) !default;\n\n$list-group-action-active-color: var(--#{$prefix}body-color) !default;\n$list-group-action-active-bg: var(--#{$prefix}secondary-bg) !default;\n// scss-docs-end list-group-variables\n\n\n// Image thumbnails\n\n// scss-docs-start thumbnail-variables\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: var(--#{$prefix}body-bg) !default;\n$thumbnail-border-width: var(--#{$prefix}border-width) !default;\n$thumbnail-border-color: var(--#{$prefix}border-color) !default;\n$thumbnail-border-radius: var(--#{$prefix}border-radius) !default;\n$thumbnail-box-shadow: var(--#{$prefix}box-shadow-sm) !default;\n// scss-docs-end thumbnail-variables\n\n\n// Figures\n\n// scss-docs-start figure-variables\n$figure-caption-font-size: $small-font-size !default;\n$figure-caption-color: var(--#{$prefix}secondary-color) !default;\n// scss-docs-end figure-variables\n\n\n// Breadcrumbs\n\n// scss-docs-start breadcrumb-variables\n$breadcrumb-font-size: null !default;\n$breadcrumb-padding-y: 0 !default;\n$breadcrumb-padding-x: 0 !default;\n$breadcrumb-item-padding-x: .5rem !default;\n$breadcrumb-margin-bottom: 1rem !default;\n$breadcrumb-bg: null !default;\n$breadcrumb-divider-color: var(--#{$prefix}secondary-color) !default;\n$breadcrumb-active-color: var(--#{$prefix}secondary-color) !default;\n$breadcrumb-divider: quote(\"/\") !default;\n$breadcrumb-divider-flipped: $breadcrumb-divider !default;\n$breadcrumb-border-radius: null !default;\n// scss-docs-end breadcrumb-variables\n\n// Carousel\n\n// scss-docs-start carousel-variables\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-hover-opacity: .9 !default;\n$carousel-control-transition: opacity .15s ease !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-opacity: .5 !default;\n$carousel-indicator-active-bg: $white !default;\n$carousel-indicator-active-opacity: 1 !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n$carousel-caption-padding-y: 1.25rem !default;\n$carousel-caption-spacer: 1.25rem !default;\n\n$carousel-control-icon-width: 2rem !default;\n\n$carousel-control-prev-icon-bg: url(\"data:image/svg+xml,\") !default;\n$carousel-control-next-icon-bg: url(\"data:image/svg+xml,\") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n// scss-docs-end carousel-variables\n\n// scss-docs-start carousel-dark-variables\n$carousel-dark-indicator-active-bg: $black !default;\n$carousel-dark-caption-color: $black !default;\n$carousel-dark-control-icon-filter: invert(1) grayscale(100) !default;\n// scss-docs-end carousel-dark-variables\n\n\n// Spinners\n\n// scss-docs-start spinner-variables\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-vertical-align: -.125em !default;\n$spinner-border-width: .25em !default;\n$spinner-animation-speed: .75s !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n// scss-docs-end spinner-variables\n\n\n// Close\n\n// scss-docs-start close-variables\n$btn-close-width: 1em !default;\n$btn-close-height: $btn-close-width !default;\n$btn-close-padding-x: .25em !default;\n$btn-close-padding-y: $btn-close-padding-x !default;\n$btn-close-color: $black !default;\n$btn-close-bg: url(\"data:image/svg+xml,\") !default;\n$btn-close-focus-shadow: $focus-ring-box-shadow !default;\n$btn-close-opacity: .5 !default;\n$btn-close-hover-opacity: .75 !default;\n$btn-close-focus-opacity: 1 !default;\n$btn-close-disabled-opacity: .25 !default;\n$btn-close-white-filter: invert(1) grayscale(100%) brightness(200%) !default;\n// scss-docs-end close-variables\n\n\n// Offcanvas\n\n// scss-docs-start offcanvas-variables\n$offcanvas-padding-y: $modal-inner-padding !default;\n$offcanvas-padding-x: $modal-inner-padding !default;\n$offcanvas-horizontal-width: 400px !default;\n$offcanvas-vertical-height: 30vh !default;\n$offcanvas-transition-duration: .3s !default;\n$offcanvas-border-color: $modal-content-border-color !default;\n$offcanvas-border-width: $modal-content-border-width !default;\n$offcanvas-title-line-height: $modal-title-line-height !default;\n$offcanvas-bg-color: var(--#{$prefix}body-bg) !default;\n$offcanvas-color: var(--#{$prefix}body-color) !default;\n$offcanvas-box-shadow: $modal-content-box-shadow-xs !default;\n$offcanvas-backdrop-bg: $modal-backdrop-bg !default;\n$offcanvas-backdrop-opacity: $modal-backdrop-opacity !default;\n// scss-docs-end offcanvas-variables\n\n// Code\n\n$code-font-size: $small-font-size !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .1875rem !default;\n$kbd-padding-x: .375rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: var(--#{$prefix}body-bg) !default;\n$kbd-bg: var(--#{$prefix}body-color) !default;\n$nested-kbd-font-weight: null !default; // Deprecated in v5.2.0, removing in v6\n\n$pre-color: null !default;\n","// Row\n//\n// Rows contain your columns.\n\n:root {\n @each $name, $value in $grid-breakpoints {\n --#{$prefix}breakpoint-#{$name}: #{$value};\n }\n}\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n\n > * {\n @include make-col-ready();\n }\n }\n}\n\n@if $enable-cssgrid {\n .grid {\n display: grid;\n grid-template-rows: repeat(var(--#{$prefix}rows, 1), 1fr);\n grid-template-columns: repeat(var(--#{$prefix}columns, #{$grid-columns}), 1fr);\n gap: var(--#{$prefix}gap, #{$grid-gutter-width});\n\n @include make-cssgrid();\n }\n}\n\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter: $grid-gutter-width) {\n --#{$prefix}gutter-x: #{$gutter};\n --#{$prefix}gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n // TODO: Revisit calc order after https://github.com/react-bootstrap/react-bootstrap/issues/6039 is fixed\n margin-top: calc(-1 * var(--#{$prefix}gutter-y)); // stylelint-disable-line function-disallowed-list\n margin-right: calc(-.5 * var(--#{$prefix}gutter-x)); // stylelint-disable-line function-disallowed-list\n margin-left: calc(-.5 * var(--#{$prefix}gutter-x)); // stylelint-disable-line function-disallowed-list\n}\n\n@mixin make-col-ready() {\n // Add box sizing if only the grid is loaded\n box-sizing: if(variable-exists(include-column-box-sizing) and $include-column-box-sizing, border-box, null);\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we set the width\n // later on to override this initial width.\n flex-shrink: 0;\n width: 100%;\n max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n padding-right: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n margin-top: var(--#{$prefix}gutter-y);\n}\n\n@mixin make-col($size: false, $columns: $grid-columns) {\n @if $size {\n flex: 0 0 auto;\n width: percentage(divide($size, $columns));\n\n } @else {\n flex: 1 1 0;\n max-width: 100%;\n }\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: divide($size, $columns);\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// number of columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n > * {\n flex: 0 0 auto;\n width: percentage(divide(1, $count));\n }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex: 1 0 0%; // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n }\n\n .row-cols#{$infix}-auto > * {\n @include make-col-auto();\n }\n\n @if $grid-row-columns > 0 {\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n\n // Gutters\n //\n // Make use of `.g-*`, `.gx-*` or `.gy-*` utilities to change spacing between the columns.\n @each $key, $value in $gutters {\n .g#{$infix}-#{$key},\n .gx#{$infix}-#{$key} {\n --#{$prefix}gutter-x: #{$value};\n }\n\n .g#{$infix}-#{$key},\n .gy#{$infix}-#{$key} {\n --#{$prefix}gutter-y: #{$value};\n }\n }\n }\n }\n}\n\n@mixin make-cssgrid($columns: $grid-columns, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .g-col#{$infix}-#{$i} {\n grid-column: auto / span $i;\n }\n }\n\n // Start with `1` because `0` is and invalid value.\n // Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible.\n @for $i from 1 through ($columns - 1) {\n .g-start#{$infix}-#{$i} {\n grid-column-start: $i;\n }\n }\n }\n }\n }\n}\n","// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix: \"\", $is-rfs-media-query: false) {\n $values: map-get($utility, values);\n\n // If the values are a list or string, convert it into a map\n @if type-of($values) == \"string\" or type-of(nth($values, 1)) != \"list\" {\n $values: zip($values, $values);\n }\n\n @each $key, $value in $values {\n $properties: map-get($utility, property);\n\n // Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if type-of($properties) == \"string\" {\n $properties: append((), $properties);\n }\n\n // Use custom class if present\n $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\n $property-class: if($property-class == null, \"\", $property-class);\n\n // Use custom CSS variable name if present, otherwise default to `class`\n $css-variable-name: if(map-has-key($utility, css-variable-name), map-get($utility, css-variable-name), map-get($utility, class));\n\n // State params to generate pseudo-classes\n $state: if(map-has-key($utility, state), map-get($utility, state), ());\n\n $infix: if($property-class == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (e.g. with shadow class)\n $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n @if map-get($utility, rfs) {\n // Inside the media query\n @if $is-rfs-media-query {\n $val: rfs-value($value);\n\n // Do not render anything if fluid and non fluid values are the same\n $value: if($val == rfs-fluid-value($value), null, $val);\n }\n @else {\n $value: rfs-fluid-value($value);\n }\n }\n\n $is-css-var: map-get($utility, css-var);\n $is-local-vars: map-get($utility, local-vars);\n $is-rtl: map-get($utility, rtl);\n\n @if $value != null {\n @if $is-rtl == false {\n /* rtl:begin:remove */\n }\n\n @if $is-css-var {\n .#{$property-class + $infix + $property-class-modifier} {\n --#{$prefix}#{$css-variable-name}: #{$value};\n }\n\n @each $pseudo in $state {\n .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {\n --#{$prefix}#{$css-variable-name}: #{$value};\n }\n }\n } @else {\n .#{$property-class + $infix + $property-class-modifier} {\n @each $property in $properties {\n @if $is-local-vars {\n @each $local-var, $variable in $is-local-vars {\n --#{$prefix}#{$local-var}: #{$variable};\n }\n }\n #{$property}: $value if($enable-important-utilities, !important, null);\n }\n }\n\n @each $pseudo in $state {\n .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {\n @each $property in $properties {\n @if $is-local-vars {\n @each $local-var, $variable in $is-local-vars {\n --#{$prefix}#{$local-var}: #{$variable};\n }\n }\n #{$property}: $value if($enable-important-utilities, !important, null);\n }\n }\n }\n }\n\n @if $is-rtl == false {\n /* rtl:end:remove */\n }\n }\n }\n}\n","// Loop over each breakpoint\n@each $breakpoint in map-keys($grid-breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix);\n }\n }\n }\n}\n\n// RFS rescaling\n@media (min-width: $rfs-mq-value) {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @if (map-get($grid-breakpoints, $breakpoint) < $rfs-breakpoint) {\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and map-get($utility, rfs) and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix, true);\n }\n }\n }\n }\n}\n\n\n// Print utilities\n@media print {\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Then check if the utility needs print styles\n @if type-of($utility) == \"map\" and map-get($utility, print) == true {\n @include generate-utility($utility, \"-print\");\n }\n }\n}\n"]} \ No newline at end of file diff --git a/wwws/cdn/apxweb/bootstrap/css/bootstrap-grid.rtl.min.css b/wwws/cdn/apxweb/bootstrap/css/bootstrap-grid.rtl.min.css new file mode 100644 index 0000000..d678024 --- /dev/null +++ b/wwws/cdn/apxweb/bootstrap/css/bootstrap-grid.rtl.min.css @@ -0,0 +1,6 @@ +/*! + * Bootstrap Grid v5.3.2 (https://getbootstrap.com/) + * Copyright 2011-2023 The Bootstrap Authors + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-left:calc(var(--bs-gutter-x) * .5);padding-right:calc(var(--bs-gutter-x) * .5);margin-left:auto;margin-right:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1400px}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-left:calc(-.5 * var(--bs-gutter-x));margin-right:calc(-.5 * var(--bs-gutter-x))}.row>*{box-sizing:border-box;flex-shrink:0;width:100%;max-width:100%;padding-left:calc(var(--bs-gutter-x) * .5);padding-right:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.66666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-right:8.33333333%}.offset-2{margin-right:16.66666667%}.offset-3{margin-right:25%}.offset-4{margin-right:33.33333333%}.offset-5{margin-right:41.66666667%}.offset-6{margin-right:50%}.offset-7{margin-right:58.33333333%}.offset-8{margin-right:66.66666667%}.offset-9{margin-right:75%}.offset-10{margin-right:83.33333333%}.offset-11{margin-right:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.66666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-right:0}.offset-sm-1{margin-right:8.33333333%}.offset-sm-2{margin-right:16.66666667%}.offset-sm-3{margin-right:25%}.offset-sm-4{margin-right:33.33333333%}.offset-sm-5{margin-right:41.66666667%}.offset-sm-6{margin-right:50%}.offset-sm-7{margin-right:58.33333333%}.offset-sm-8{margin-right:66.66666667%}.offset-sm-9{margin-right:75%}.offset-sm-10{margin-right:83.33333333%}.offset-sm-11{margin-right:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.66666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-right:0}.offset-md-1{margin-right:8.33333333%}.offset-md-2{margin-right:16.66666667%}.offset-md-3{margin-right:25%}.offset-md-4{margin-right:33.33333333%}.offset-md-5{margin-right:41.66666667%}.offset-md-6{margin-right:50%}.offset-md-7{margin-right:58.33333333%}.offset-md-8{margin-right:66.66666667%}.offset-md-9{margin-right:75%}.offset-md-10{margin-right:83.33333333%}.offset-md-11{margin-right:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.66666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-right:0}.offset-lg-1{margin-right:8.33333333%}.offset-lg-2{margin-right:16.66666667%}.offset-lg-3{margin-right:25%}.offset-lg-4{margin-right:33.33333333%}.offset-lg-5{margin-right:41.66666667%}.offset-lg-6{margin-right:50%}.offset-lg-7{margin-right:58.33333333%}.offset-lg-8{margin-right:66.66666667%}.offset-lg-9{margin-right:75%}.offset-lg-10{margin-right:83.33333333%}.offset-lg-11{margin-right:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.66666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-right:0}.offset-xl-1{margin-right:8.33333333%}.offset-xl-2{margin-right:16.66666667%}.offset-xl-3{margin-right:25%}.offset-xl-4{margin-right:33.33333333%}.offset-xl-5{margin-right:41.66666667%}.offset-xl-6{margin-right:50%}.offset-xl-7{margin-right:58.33333333%}.offset-xl-8{margin-right:66.66666667%}.offset-xl-9{margin-right:75%}.offset-xl-10{margin-right:83.33333333%}.offset-xl-11{margin-right:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.66666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-right:0}.offset-xxl-1{margin-right:8.33333333%}.offset-xxl-2{margin-right:16.66666667%}.offset-xxl-3{margin-right:25%}.offset-xxl-4{margin-right:33.33333333%}.offset-xxl-5{margin-right:41.66666667%}.offset-xxl-6{margin-right:50%}.offset-xxl-7{margin-right:58.33333333%}.offset-xxl-8{margin-right:66.66666667%}.offset-xxl-9{margin-right:75%}.offset-xxl-10{margin-right:83.33333333%}.offset-xxl-11{margin-right:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-left:0!important;margin-right:0!important}.mx-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-3{margin-left:1rem!important;margin-right:1rem!important}.mx-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-5{margin-left:3rem!important;margin-right:3rem!important}.mx-auto{margin-left:auto!important;margin-right:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-left:0!important}.me-1{margin-left:.25rem!important}.me-2{margin-left:.5rem!important}.me-3{margin-left:1rem!important}.me-4{margin-left:1.5rem!important}.me-5{margin-left:3rem!important}.me-auto{margin-left:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-right:0!important}.ms-1{margin-right:.25rem!important}.ms-2{margin-right:.5rem!important}.ms-3{margin-right:1rem!important}.ms-4{margin-right:1.5rem!important}.ms-5{margin-right:3rem!important}.ms-auto{margin-right:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-left:0!important;padding-right:0!important}.px-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-3{padding-left:1rem!important;padding-right:1rem!important}.px-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-5{padding-left:3rem!important;padding-right:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-left:0!important}.pe-1{padding-left:.25rem!important}.pe-2{padding-left:.5rem!important}.pe-3{padding-left:1rem!important}.pe-4{padding-left:1.5rem!important}.pe-5{padding-left:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-right:0!important}.ps-1{padding-right:.25rem!important}.ps-2{padding-right:.5rem!important}.ps-3{padding-right:1rem!important}.ps-4{padding-right:1.5rem!important}.ps-5{padding-right:3rem!important}@media (min-width:576px){.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-left:0!important;margin-right:0!important}.mx-sm-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-sm-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-sm-3{margin-left:1rem!important;margin-right:1rem!important}.mx-sm-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-sm-5{margin-left:3rem!important;margin-right:3rem!important}.mx-sm-auto{margin-left:auto!important;margin-right:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-left:0!important}.me-sm-1{margin-left:.25rem!important}.me-sm-2{margin-left:.5rem!important}.me-sm-3{margin-left:1rem!important}.me-sm-4{margin-left:1.5rem!important}.me-sm-5{margin-left:3rem!important}.me-sm-auto{margin-left:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-right:0!important}.ms-sm-1{margin-right:.25rem!important}.ms-sm-2{margin-right:.5rem!important}.ms-sm-3{margin-right:1rem!important}.ms-sm-4{margin-right:1.5rem!important}.ms-sm-5{margin-right:3rem!important}.ms-sm-auto{margin-right:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-left:0!important;padding-right:0!important}.px-sm-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-sm-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-sm-3{padding-left:1rem!important;padding-right:1rem!important}.px-sm-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-sm-5{padding-left:3rem!important;padding-right:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-left:0!important}.pe-sm-1{padding-left:.25rem!important}.pe-sm-2{padding-left:.5rem!important}.pe-sm-3{padding-left:1rem!important}.pe-sm-4{padding-left:1.5rem!important}.pe-sm-5{padding-left:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-right:0!important}.ps-sm-1{padding-right:.25rem!important}.ps-sm-2{padding-right:.5rem!important}.ps-sm-3{padding-right:1rem!important}.ps-sm-4{padding-right:1.5rem!important}.ps-sm-5{padding-right:3rem!important}}@media (min-width:768px){.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-left:0!important;margin-right:0!important}.mx-md-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-md-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-md-3{margin-left:1rem!important;margin-right:1rem!important}.mx-md-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-md-5{margin-left:3rem!important;margin-right:3rem!important}.mx-md-auto{margin-left:auto!important;margin-right:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-left:0!important}.me-md-1{margin-left:.25rem!important}.me-md-2{margin-left:.5rem!important}.me-md-3{margin-left:1rem!important}.me-md-4{margin-left:1.5rem!important}.me-md-5{margin-left:3rem!important}.me-md-auto{margin-left:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-right:0!important}.ms-md-1{margin-right:.25rem!important}.ms-md-2{margin-right:.5rem!important}.ms-md-3{margin-right:1rem!important}.ms-md-4{margin-right:1.5rem!important}.ms-md-5{margin-right:3rem!important}.ms-md-auto{margin-right:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-left:0!important;padding-right:0!important}.px-md-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-md-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-md-3{padding-left:1rem!important;padding-right:1rem!important}.px-md-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-md-5{padding-left:3rem!important;padding-right:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-left:0!important}.pe-md-1{padding-left:.25rem!important}.pe-md-2{padding-left:.5rem!important}.pe-md-3{padding-left:1rem!important}.pe-md-4{padding-left:1.5rem!important}.pe-md-5{padding-left:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-right:0!important}.ps-md-1{padding-right:.25rem!important}.ps-md-2{padding-right:.5rem!important}.ps-md-3{padding-right:1rem!important}.ps-md-4{padding-right:1.5rem!important}.ps-md-5{padding-right:3rem!important}}@media (min-width:992px){.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-left:0!important;margin-right:0!important}.mx-lg-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-lg-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-lg-3{margin-left:1rem!important;margin-right:1rem!important}.mx-lg-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-lg-5{margin-left:3rem!important;margin-right:3rem!important}.mx-lg-auto{margin-left:auto!important;margin-right:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-left:0!important}.me-lg-1{margin-left:.25rem!important}.me-lg-2{margin-left:.5rem!important}.me-lg-3{margin-left:1rem!important}.me-lg-4{margin-left:1.5rem!important}.me-lg-5{margin-left:3rem!important}.me-lg-auto{margin-left:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-right:0!important}.ms-lg-1{margin-right:.25rem!important}.ms-lg-2{margin-right:.5rem!important}.ms-lg-3{margin-right:1rem!important}.ms-lg-4{margin-right:1.5rem!important}.ms-lg-5{margin-right:3rem!important}.ms-lg-auto{margin-right:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-left:0!important;padding-right:0!important}.px-lg-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-lg-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-lg-3{padding-left:1rem!important;padding-right:1rem!important}.px-lg-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-lg-5{padding-left:3rem!important;padding-right:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-left:0!important}.pe-lg-1{padding-left:.25rem!important}.pe-lg-2{padding-left:.5rem!important}.pe-lg-3{padding-left:1rem!important}.pe-lg-4{padding-left:1.5rem!important}.pe-lg-5{padding-left:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-right:0!important}.ps-lg-1{padding-right:.25rem!important}.ps-lg-2{padding-right:.5rem!important}.ps-lg-3{padding-right:1rem!important}.ps-lg-4{padding-right:1.5rem!important}.ps-lg-5{padding-right:3rem!important}}@media (min-width:1200px){.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-left:0!important;margin-right:0!important}.mx-xl-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-xl-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-xl-3{margin-left:1rem!important;margin-right:1rem!important}.mx-xl-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-xl-5{margin-left:3rem!important;margin-right:3rem!important}.mx-xl-auto{margin-left:auto!important;margin-right:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-left:0!important}.me-xl-1{margin-left:.25rem!important}.me-xl-2{margin-left:.5rem!important}.me-xl-3{margin-left:1rem!important}.me-xl-4{margin-left:1.5rem!important}.me-xl-5{margin-left:3rem!important}.me-xl-auto{margin-left:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-right:0!important}.ms-xl-1{margin-right:.25rem!important}.ms-xl-2{margin-right:.5rem!important}.ms-xl-3{margin-right:1rem!important}.ms-xl-4{margin-right:1.5rem!important}.ms-xl-5{margin-right:3rem!important}.ms-xl-auto{margin-right:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-left:0!important;padding-right:0!important}.px-xl-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-xl-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-xl-3{padding-left:1rem!important;padding-right:1rem!important}.px-xl-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-xl-5{padding-left:3rem!important;padding-right:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-left:0!important}.pe-xl-1{padding-left:.25rem!important}.pe-xl-2{padding-left:.5rem!important}.pe-xl-3{padding-left:1rem!important}.pe-xl-4{padding-left:1.5rem!important}.pe-xl-5{padding-left:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-right:0!important}.ps-xl-1{padding-right:.25rem!important}.ps-xl-2{padding-right:.5rem!important}.ps-xl-3{padding-right:1rem!important}.ps-xl-4{padding-right:1.5rem!important}.ps-xl-5{padding-right:3rem!important}}@media (min-width:1400px){.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-left:0!important;margin-right:0!important}.mx-xxl-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-xxl-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-xxl-3{margin-left:1rem!important;margin-right:1rem!important}.mx-xxl-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-xxl-5{margin-left:3rem!important;margin-right:3rem!important}.mx-xxl-auto{margin-left:auto!important;margin-right:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-left:0!important}.me-xxl-1{margin-left:.25rem!important}.me-xxl-2{margin-left:.5rem!important}.me-xxl-3{margin-left:1rem!important}.me-xxl-4{margin-left:1.5rem!important}.me-xxl-5{margin-left:3rem!important}.me-xxl-auto{margin-left:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-right:0!important}.ms-xxl-1{margin-right:.25rem!important}.ms-xxl-2{margin-right:.5rem!important}.ms-xxl-3{margin-right:1rem!important}.ms-xxl-4{margin-right:1.5rem!important}.ms-xxl-5{margin-right:3rem!important}.ms-xxl-auto{margin-right:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-left:0!important;padding-right:0!important}.px-xxl-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-xxl-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-xxl-3{padding-left:1rem!important;padding-right:1rem!important}.px-xxl-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-xxl-5{padding-left:3rem!important;padding-right:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-left:0!important}.pe-xxl-1{padding-left:.25rem!important}.pe-xxl-2{padding-left:.5rem!important}.pe-xxl-3{padding-left:1rem!important}.pe-xxl-4{padding-left:1.5rem!important}.pe-xxl-5{padding-left:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-right:0!important}.ps-xxl-1{padding-right:.25rem!important}.ps-xxl-2{padding-right:.5rem!important}.ps-xxl-3{padding-right:1rem!important}.ps-xxl-4{padding-right:1.5rem!important}.ps-xxl-5{padding-right:3rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-inline-grid{display:inline-grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}} +/*# sourceMappingURL=bootstrap-grid.rtl.min.css.map */ \ No newline at end of file diff --git a/wwws/cdn/apxweb/bootstrap/css/bootstrap-grid.rtl.min.css.map b/wwws/cdn/apxweb/bootstrap/css/bootstrap-grid.rtl.min.css.map new file mode 100644 index 0000000..1fa11dd --- /dev/null +++ b/wwws/cdn/apxweb/bootstrap/css/bootstrap-grid.rtl.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/mixins/_banner.scss","../../scss/_containers.scss","dist/css/bootstrap-grid.rtl.css","../../scss/mixins/_container.scss","../../scss/mixins/_breakpoints.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_utilities.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"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","sourcesContent":["@mixin bsBanner($file) {\n /*!\n * Bootstrap #{$file} v5.3.2 (https://getbootstrap.com/)\n * Copyright 2011-2023 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n}\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-container-classes {\n // Single container class with breakpoint max-widths\n .container,\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n @each $name, $width in $grid-breakpoints {\n @if ($extend-breakpoint) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n\n // Once the current breakpoint is reached, stop extending\n @if ($breakpoint == $name) {\n $extend-breakpoint: false;\n }\n }\n }\n }\n }\n}\n","/*!\n * Bootstrap Grid v5.3.2 (https://getbootstrap.com/)\n * Copyright 2011-2023 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n.container,\n.container-fluid,\n.container-xxl,\n.container-xl,\n.container-lg,\n.container-md,\n.container-sm {\n --bs-gutter-x: 1.5rem;\n --bs-gutter-y: 0;\n width: 100%;\n padding-left: calc(var(--bs-gutter-x) * 0.5);\n padding-right: calc(var(--bs-gutter-x) * 0.5);\n margin-left: auto;\n margin-right: auto;\n}\n\n@media (min-width: 576px) {\n .container-sm, .container {\n max-width: 540px;\n }\n}\n@media (min-width: 768px) {\n .container-md, .container-sm, .container {\n max-width: 720px;\n }\n}\n@media (min-width: 992px) {\n .container-lg, .container-md, .container-sm, .container {\n max-width: 960px;\n }\n}\n@media (min-width: 1200px) {\n .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1140px;\n }\n}\n@media (min-width: 1400px) {\n .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1320px;\n }\n}\n:root {\n --bs-breakpoint-xs: 0;\n --bs-breakpoint-sm: 576px;\n --bs-breakpoint-md: 768px;\n --bs-breakpoint-lg: 992px;\n --bs-breakpoint-xl: 1200px;\n --bs-breakpoint-xxl: 1400px;\n}\n\n.row {\n --bs-gutter-x: 1.5rem;\n --bs-gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(-1 * var(--bs-gutter-y));\n margin-left: calc(-0.5 * var(--bs-gutter-x));\n margin-right: calc(-0.5 * var(--bs-gutter-x));\n}\n.row > * {\n box-sizing: border-box;\n flex-shrink: 0;\n width: 100%;\n max-width: 100%;\n padding-left: calc(var(--bs-gutter-x) * 0.5);\n padding-right: calc(var(--bs-gutter-x) * 0.5);\n margin-top: var(--bs-gutter-y);\n}\n\n.col {\n flex: 1 0 0%;\n}\n\n.row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n}\n\n.row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n}\n\n.col-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n}\n\n.col-3 {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.col-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n}\n\n.col-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n}\n\n.col-6 {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.col-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n}\n\n.col-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n}\n\n.col-9 {\n flex: 0 0 auto;\n width: 75%;\n}\n\n.col-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n}\n\n.col-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n}\n\n.col-12 {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.offset-1 {\n margin-right: 8.33333333%;\n}\n\n.offset-2 {\n margin-right: 16.66666667%;\n}\n\n.offset-3 {\n margin-right: 25%;\n}\n\n.offset-4 {\n margin-right: 33.33333333%;\n}\n\n.offset-5 {\n margin-right: 41.66666667%;\n}\n\n.offset-6 {\n margin-right: 50%;\n}\n\n.offset-7 {\n margin-right: 58.33333333%;\n}\n\n.offset-8 {\n margin-right: 66.66666667%;\n}\n\n.offset-9 {\n margin-right: 75%;\n}\n\n.offset-10 {\n margin-right: 83.33333333%;\n}\n\n.offset-11 {\n margin-right: 91.66666667%;\n}\n\n.g-0,\n.gx-0 {\n --bs-gutter-x: 0;\n}\n\n.g-0,\n.gy-0 {\n --bs-gutter-y: 0;\n}\n\n.g-1,\n.gx-1 {\n --bs-gutter-x: 0.25rem;\n}\n\n.g-1,\n.gy-1 {\n --bs-gutter-y: 0.25rem;\n}\n\n.g-2,\n.gx-2 {\n --bs-gutter-x: 0.5rem;\n}\n\n.g-2,\n.gy-2 {\n --bs-gutter-y: 0.5rem;\n}\n\n.g-3,\n.gx-3 {\n --bs-gutter-x: 1rem;\n}\n\n.g-3,\n.gy-3 {\n --bs-gutter-y: 1rem;\n}\n\n.g-4,\n.gx-4 {\n --bs-gutter-x: 1.5rem;\n}\n\n.g-4,\n.gy-4 {\n --bs-gutter-y: 1.5rem;\n}\n\n.g-5,\n.gx-5 {\n --bs-gutter-x: 3rem;\n}\n\n.g-5,\n.gy-5 {\n --bs-gutter-y: 3rem;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex: 1 0 0%;\n }\n .row-cols-sm-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-sm-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-sm-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-sm-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-sm-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-sm-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-sm-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-sm-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-sm-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-sm-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-sm-0 {\n margin-right: 0;\n }\n .offset-sm-1 {\n margin-right: 8.33333333%;\n }\n .offset-sm-2 {\n margin-right: 16.66666667%;\n }\n .offset-sm-3 {\n margin-right: 25%;\n }\n .offset-sm-4 {\n margin-right: 33.33333333%;\n }\n .offset-sm-5 {\n margin-right: 41.66666667%;\n }\n .offset-sm-6 {\n margin-right: 50%;\n }\n .offset-sm-7 {\n margin-right: 58.33333333%;\n }\n .offset-sm-8 {\n margin-right: 66.66666667%;\n }\n .offset-sm-9 {\n margin-right: 75%;\n }\n .offset-sm-10 {\n margin-right: 83.33333333%;\n }\n .offset-sm-11 {\n margin-right: 91.66666667%;\n }\n .g-sm-0,\n .gx-sm-0 {\n --bs-gutter-x: 0;\n }\n .g-sm-0,\n .gy-sm-0 {\n --bs-gutter-y: 0;\n }\n .g-sm-1,\n .gx-sm-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-sm-1,\n .gy-sm-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-sm-2,\n .gx-sm-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-sm-2,\n .gy-sm-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-sm-3,\n .gx-sm-3 {\n --bs-gutter-x: 1rem;\n }\n .g-sm-3,\n .gy-sm-3 {\n --bs-gutter-y: 1rem;\n }\n .g-sm-4,\n .gx-sm-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-sm-4,\n .gy-sm-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-sm-5,\n .gx-sm-5 {\n --bs-gutter-x: 3rem;\n }\n .g-sm-5,\n .gy-sm-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 768px) {\n .col-md {\n flex: 1 0 0%;\n }\n .row-cols-md-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-md-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-md-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-md-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-md-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-md-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-md-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-md-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-md-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-md-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-md-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-md-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-md-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-md-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-md-0 {\n margin-right: 0;\n }\n .offset-md-1 {\n margin-right: 8.33333333%;\n }\n .offset-md-2 {\n margin-right: 16.66666667%;\n }\n .offset-md-3 {\n margin-right: 25%;\n }\n .offset-md-4 {\n margin-right: 33.33333333%;\n }\n .offset-md-5 {\n margin-right: 41.66666667%;\n }\n .offset-md-6 {\n margin-right: 50%;\n }\n .offset-md-7 {\n margin-right: 58.33333333%;\n }\n .offset-md-8 {\n margin-right: 66.66666667%;\n }\n .offset-md-9 {\n margin-right: 75%;\n }\n .offset-md-10 {\n margin-right: 83.33333333%;\n }\n .offset-md-11 {\n margin-right: 91.66666667%;\n }\n .g-md-0,\n .gx-md-0 {\n --bs-gutter-x: 0;\n }\n .g-md-0,\n .gy-md-0 {\n --bs-gutter-y: 0;\n }\n .g-md-1,\n .gx-md-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-md-1,\n .gy-md-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-md-2,\n .gx-md-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-md-2,\n .gy-md-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-md-3,\n .gx-md-3 {\n --bs-gutter-x: 1rem;\n }\n .g-md-3,\n .gy-md-3 {\n --bs-gutter-y: 1rem;\n }\n .g-md-4,\n .gx-md-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-md-4,\n .gy-md-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-md-5,\n .gx-md-5 {\n --bs-gutter-x: 3rem;\n }\n .g-md-5,\n .gy-md-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 992px) {\n .col-lg {\n flex: 1 0 0%;\n }\n .row-cols-lg-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-lg-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-lg-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-lg-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-lg-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-lg-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-lg-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-lg-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-lg-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-lg-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-lg-0 {\n margin-right: 0;\n }\n .offset-lg-1 {\n margin-right: 8.33333333%;\n }\n .offset-lg-2 {\n margin-right: 16.66666667%;\n }\n .offset-lg-3 {\n margin-right: 25%;\n }\n .offset-lg-4 {\n margin-right: 33.33333333%;\n }\n .offset-lg-5 {\n margin-right: 41.66666667%;\n }\n .offset-lg-6 {\n margin-right: 50%;\n }\n .offset-lg-7 {\n margin-right: 58.33333333%;\n }\n .offset-lg-8 {\n margin-right: 66.66666667%;\n }\n .offset-lg-9 {\n margin-right: 75%;\n }\n .offset-lg-10 {\n margin-right: 83.33333333%;\n }\n .offset-lg-11 {\n margin-right: 91.66666667%;\n }\n .g-lg-0,\n .gx-lg-0 {\n --bs-gutter-x: 0;\n }\n .g-lg-0,\n .gy-lg-0 {\n --bs-gutter-y: 0;\n }\n .g-lg-1,\n .gx-lg-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-lg-1,\n .gy-lg-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-lg-2,\n .gx-lg-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-lg-2,\n .gy-lg-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-lg-3,\n .gx-lg-3 {\n --bs-gutter-x: 1rem;\n }\n .g-lg-3,\n .gy-lg-3 {\n --bs-gutter-y: 1rem;\n }\n .g-lg-4,\n .gx-lg-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-lg-4,\n .gy-lg-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-lg-5,\n .gx-lg-5 {\n --bs-gutter-x: 3rem;\n }\n .g-lg-5,\n .gy-lg-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 1200px) {\n .col-xl {\n flex: 1 0 0%;\n }\n .row-cols-xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-xl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-xl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-xl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-xl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xl-0 {\n margin-right: 0;\n }\n .offset-xl-1 {\n margin-right: 8.33333333%;\n }\n .offset-xl-2 {\n margin-right: 16.66666667%;\n }\n .offset-xl-3 {\n margin-right: 25%;\n }\n .offset-xl-4 {\n margin-right: 33.33333333%;\n }\n .offset-xl-5 {\n margin-right: 41.66666667%;\n }\n .offset-xl-6 {\n margin-right: 50%;\n }\n .offset-xl-7 {\n margin-right: 58.33333333%;\n }\n .offset-xl-8 {\n margin-right: 66.66666667%;\n }\n .offset-xl-9 {\n margin-right: 75%;\n }\n .offset-xl-10 {\n margin-right: 83.33333333%;\n }\n .offset-xl-11 {\n margin-right: 91.66666667%;\n }\n .g-xl-0,\n .gx-xl-0 {\n --bs-gutter-x: 0;\n }\n .g-xl-0,\n .gy-xl-0 {\n --bs-gutter-y: 0;\n }\n .g-xl-1,\n .gx-xl-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-xl-1,\n .gy-xl-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-xl-2,\n .gx-xl-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-xl-2,\n .gy-xl-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-xl-3,\n .gx-xl-3 {\n --bs-gutter-x: 1rem;\n }\n .g-xl-3,\n .gy-xl-3 {\n --bs-gutter-y: 1rem;\n }\n .g-xl-4,\n .gx-xl-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-xl-4,\n .gy-xl-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-xl-5,\n .gx-xl-5 {\n --bs-gutter-x: 3rem;\n }\n .g-xl-5,\n .gy-xl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 1400px) {\n .col-xxl {\n flex: 1 0 0%;\n }\n .row-cols-xxl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xxl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xxl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xxl-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-xxl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xxl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xxl-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xxl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xxl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-xxl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xxl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xxl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-xxl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-xxl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xxl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-xxl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-xxl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xxl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-xxl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-xxl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xxl-0 {\n margin-right: 0;\n }\n .offset-xxl-1 {\n margin-right: 8.33333333%;\n }\n .offset-xxl-2 {\n margin-right: 16.66666667%;\n }\n .offset-xxl-3 {\n margin-right: 25%;\n }\n .offset-xxl-4 {\n margin-right: 33.33333333%;\n }\n .offset-xxl-5 {\n margin-right: 41.66666667%;\n }\n .offset-xxl-6 {\n margin-right: 50%;\n }\n .offset-xxl-7 {\n margin-right: 58.33333333%;\n }\n .offset-xxl-8 {\n margin-right: 66.66666667%;\n }\n .offset-xxl-9 {\n margin-right: 75%;\n }\n .offset-xxl-10 {\n margin-right: 83.33333333%;\n }\n .offset-xxl-11 {\n margin-right: 91.66666667%;\n }\n .g-xxl-0,\n .gx-xxl-0 {\n --bs-gutter-x: 0;\n }\n .g-xxl-0,\n .gy-xxl-0 {\n --bs-gutter-y: 0;\n }\n .g-xxl-1,\n .gx-xxl-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-xxl-1,\n .gy-xxl-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-xxl-2,\n .gx-xxl-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-xxl-2,\n .gy-xxl-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-xxl-3,\n .gx-xxl-3 {\n --bs-gutter-x: 1rem;\n }\n .g-xxl-3,\n .gy-xxl-3 {\n --bs-gutter-y: 1rem;\n }\n .g-xxl-4,\n .gx-xxl-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-xxl-4,\n .gy-xxl-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-xxl-5,\n .gx-xxl-5 {\n --bs-gutter-x: 3rem;\n }\n .g-xxl-5,\n .gy-xxl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-grid {\n display: grid !important;\n}\n\n.d-inline-grid {\n display: inline-grid !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.justify-content-evenly {\n justify-content: space-evenly !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n}\n\n.mx-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n}\n\n.mx-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n}\n\n.mx-3 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n}\n\n.mx-4 {\n margin-left: 1.5rem !important;\n margin-right: 1.5rem !important;\n}\n\n.mx-5 {\n margin-left: 3rem !important;\n margin-right: 3rem !important;\n}\n\n.mx-auto {\n margin-left: auto !important;\n margin-right: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.me-0 {\n margin-left: 0 !important;\n}\n\n.me-1 {\n margin-left: 0.25rem !important;\n}\n\n.me-2 {\n margin-left: 0.5rem !important;\n}\n\n.me-3 {\n margin-left: 1rem !important;\n}\n\n.me-4 {\n margin-left: 1.5rem !important;\n}\n\n.me-5 {\n margin-left: 3rem !important;\n}\n\n.me-auto {\n margin-left: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ms-0 {\n margin-right: 0 !important;\n}\n\n.ms-1 {\n margin-right: 0.25rem !important;\n}\n\n.ms-2 {\n margin-right: 0.5rem !important;\n}\n\n.ms-3 {\n margin-right: 1rem !important;\n}\n\n.ms-4 {\n margin-right: 1.5rem !important;\n}\n\n.ms-5 {\n margin-right: 3rem !important;\n}\n\n.ms-auto {\n margin-right: auto !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n}\n\n.px-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n}\n\n.px-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n}\n\n.px-3 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n}\n\n.px-4 {\n padding-left: 1.5rem !important;\n padding-right: 1.5rem !important;\n}\n\n.px-5 {\n padding-left: 3rem !important;\n padding-right: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pe-0 {\n padding-left: 0 !important;\n}\n\n.pe-1 {\n padding-left: 0.25rem !important;\n}\n\n.pe-2 {\n padding-left: 0.5rem !important;\n}\n\n.pe-3 {\n padding-left: 1rem !important;\n}\n\n.pe-4 {\n padding-left: 1.5rem !important;\n}\n\n.pe-5 {\n padding-left: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.ps-0 {\n padding-right: 0 !important;\n}\n\n.ps-1 {\n padding-right: 0.25rem !important;\n}\n\n.ps-2 {\n padding-right: 0.5rem !important;\n}\n\n.ps-3 {\n padding-right: 1rem !important;\n}\n\n.ps-4 {\n padding-right: 1.5rem !important;\n}\n\n.ps-5 {\n padding-right: 3rem !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-grid {\n display: grid !important;\n }\n .d-sm-inline-grid {\n display: inline-grid !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n .d-sm-none {\n display: none !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .justify-content-sm-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n .order-sm-first {\n order: -1 !important;\n }\n .order-sm-0 {\n order: 0 !important;\n }\n .order-sm-1 {\n order: 1 !important;\n }\n .order-sm-2 {\n order: 2 !important;\n }\n .order-sm-3 {\n order: 3 !important;\n }\n .order-sm-4 {\n order: 4 !important;\n }\n .order-sm-5 {\n order: 5 !important;\n }\n .order-sm-last {\n order: 6 !important;\n }\n .m-sm-0 {\n margin: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mx-sm-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n }\n .mx-sm-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n }\n .mx-sm-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n }\n .mx-sm-3 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n }\n .mx-sm-4 {\n margin-left: 1.5rem !important;\n margin-right: 1.5rem !important;\n }\n .mx-sm-5 {\n margin-left: 3rem !important;\n margin-right: 3rem !important;\n }\n .mx-sm-auto {\n margin-left: auto !important;\n margin-right: auto !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .me-sm-0 {\n margin-left: 0 !important;\n }\n .me-sm-1 {\n margin-left: 0.25rem !important;\n }\n .me-sm-2 {\n margin-left: 0.5rem !important;\n }\n .me-sm-3 {\n margin-left: 1rem !important;\n }\n .me-sm-4 {\n margin-left: 1.5rem !important;\n }\n .me-sm-5 {\n margin-left: 3rem !important;\n }\n .me-sm-auto {\n margin-left: auto !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ms-sm-0 {\n margin-right: 0 !important;\n }\n .ms-sm-1 {\n margin-right: 0.25rem !important;\n }\n .ms-sm-2 {\n margin-right: 0.5rem !important;\n }\n .ms-sm-3 {\n margin-right: 1rem !important;\n }\n .ms-sm-4 {\n margin-right: 1.5rem !important;\n }\n .ms-sm-5 {\n margin-right: 3rem !important;\n }\n .ms-sm-auto {\n margin-right: auto !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .px-sm-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n }\n .px-sm-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n }\n .px-sm-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n }\n .px-sm-3 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n }\n .px-sm-4 {\n padding-left: 1.5rem !important;\n padding-right: 1.5rem !important;\n }\n .px-sm-5 {\n padding-left: 3rem !important;\n padding-right: 3rem !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pe-sm-0 {\n padding-left: 0 !important;\n }\n .pe-sm-1 {\n padding-left: 0.25rem !important;\n }\n .pe-sm-2 {\n padding-left: 0.5rem !important;\n }\n .pe-sm-3 {\n padding-left: 1rem !important;\n }\n .pe-sm-4 {\n padding-left: 1.5rem !important;\n }\n .pe-sm-5 {\n padding-left: 3rem !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .ps-sm-0 {\n padding-right: 0 !important;\n }\n .ps-sm-1 {\n padding-right: 0.25rem !important;\n }\n .ps-sm-2 {\n padding-right: 0.5rem !important;\n }\n .ps-sm-3 {\n padding-right: 1rem !important;\n }\n .ps-sm-4 {\n padding-right: 1.5rem !important;\n }\n .ps-sm-5 {\n padding-right: 3rem !important;\n }\n}\n@media (min-width: 768px) {\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-grid {\n display: grid !important;\n }\n .d-md-inline-grid {\n display: inline-grid !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n .d-md-none {\n display: none !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .justify-content-md-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n .order-md-first {\n order: -1 !important;\n }\n .order-md-0 {\n order: 0 !important;\n }\n .order-md-1 {\n order: 1 !important;\n }\n .order-md-2 {\n order: 2 !important;\n }\n .order-md-3 {\n order: 3 !important;\n }\n .order-md-4 {\n order: 4 !important;\n }\n .order-md-5 {\n order: 5 !important;\n }\n .order-md-last {\n order: 6 !important;\n }\n .m-md-0 {\n margin: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mx-md-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n }\n .mx-md-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n }\n .mx-md-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n }\n .mx-md-3 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n }\n .mx-md-4 {\n margin-left: 1.5rem !important;\n margin-right: 1.5rem !important;\n }\n .mx-md-5 {\n margin-left: 3rem !important;\n margin-right: 3rem !important;\n }\n .mx-md-auto {\n margin-left: auto !important;\n margin-right: auto !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .me-md-0 {\n margin-left: 0 !important;\n }\n .me-md-1 {\n margin-left: 0.25rem !important;\n }\n .me-md-2 {\n margin-left: 0.5rem !important;\n }\n .me-md-3 {\n margin-left: 1rem !important;\n }\n .me-md-4 {\n margin-left: 1.5rem !important;\n }\n .me-md-5 {\n margin-left: 3rem !important;\n }\n .me-md-auto {\n margin-left: auto !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ms-md-0 {\n margin-right: 0 !important;\n }\n .ms-md-1 {\n margin-right: 0.25rem !important;\n }\n .ms-md-2 {\n margin-right: 0.5rem !important;\n }\n .ms-md-3 {\n margin-right: 1rem !important;\n }\n .ms-md-4 {\n margin-right: 1.5rem !important;\n }\n .ms-md-5 {\n margin-right: 3rem !important;\n }\n .ms-md-auto {\n margin-right: auto !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .px-md-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n }\n .px-md-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n }\n .px-md-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n }\n .px-md-3 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n }\n .px-md-4 {\n padding-left: 1.5rem !important;\n padding-right: 1.5rem !important;\n }\n .px-md-5 {\n padding-left: 3rem !important;\n padding-right: 3rem !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pe-md-0 {\n padding-left: 0 !important;\n }\n .pe-md-1 {\n padding-left: 0.25rem !important;\n }\n .pe-md-2 {\n padding-left: 0.5rem !important;\n }\n .pe-md-3 {\n padding-left: 1rem !important;\n }\n .pe-md-4 {\n padding-left: 1.5rem !important;\n }\n .pe-md-5 {\n padding-left: 3rem !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .ps-md-0 {\n padding-right: 0 !important;\n }\n .ps-md-1 {\n padding-right: 0.25rem !important;\n }\n .ps-md-2 {\n padding-right: 0.5rem !important;\n }\n .ps-md-3 {\n padding-right: 1rem !important;\n }\n .ps-md-4 {\n padding-right: 1.5rem !important;\n }\n .ps-md-5 {\n padding-right: 3rem !important;\n }\n}\n@media (min-width: 992px) {\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-grid {\n display: grid !important;\n }\n .d-lg-inline-grid {\n display: inline-grid !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n .d-lg-none {\n display: none !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .justify-content-lg-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n .order-lg-first {\n order: -1 !important;\n }\n .order-lg-0 {\n order: 0 !important;\n }\n .order-lg-1 {\n order: 1 !important;\n }\n .order-lg-2 {\n order: 2 !important;\n }\n .order-lg-3 {\n order: 3 !important;\n }\n .order-lg-4 {\n order: 4 !important;\n }\n .order-lg-5 {\n order: 5 !important;\n }\n .order-lg-last {\n order: 6 !important;\n }\n .m-lg-0 {\n margin: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mx-lg-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n }\n .mx-lg-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n }\n .mx-lg-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n }\n .mx-lg-3 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n }\n .mx-lg-4 {\n margin-left: 1.5rem !important;\n margin-right: 1.5rem !important;\n }\n .mx-lg-5 {\n margin-left: 3rem !important;\n margin-right: 3rem !important;\n }\n .mx-lg-auto {\n margin-left: auto !important;\n margin-right: auto !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .me-lg-0 {\n margin-left: 0 !important;\n }\n .me-lg-1 {\n margin-left: 0.25rem !important;\n }\n .me-lg-2 {\n margin-left: 0.5rem !important;\n }\n .me-lg-3 {\n margin-left: 1rem !important;\n }\n .me-lg-4 {\n margin-left: 1.5rem !important;\n }\n .me-lg-5 {\n margin-left: 3rem !important;\n }\n .me-lg-auto {\n margin-left: auto !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ms-lg-0 {\n margin-right: 0 !important;\n }\n .ms-lg-1 {\n margin-right: 0.25rem !important;\n }\n .ms-lg-2 {\n margin-right: 0.5rem !important;\n }\n .ms-lg-3 {\n margin-right: 1rem !important;\n }\n .ms-lg-4 {\n margin-right: 1.5rem !important;\n }\n .ms-lg-5 {\n margin-right: 3rem !important;\n }\n .ms-lg-auto {\n margin-right: auto !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .px-lg-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n }\n .px-lg-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n }\n .px-lg-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n }\n .px-lg-3 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n }\n .px-lg-4 {\n padding-left: 1.5rem !important;\n padding-right: 1.5rem !important;\n }\n .px-lg-5 {\n padding-left: 3rem !important;\n padding-right: 3rem !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pe-lg-0 {\n padding-left: 0 !important;\n }\n .pe-lg-1 {\n padding-left: 0.25rem !important;\n }\n .pe-lg-2 {\n padding-left: 0.5rem !important;\n }\n .pe-lg-3 {\n padding-left: 1rem !important;\n }\n .pe-lg-4 {\n padding-left: 1.5rem !important;\n }\n .pe-lg-5 {\n padding-left: 3rem !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .ps-lg-0 {\n padding-right: 0 !important;\n }\n .ps-lg-1 {\n padding-right: 0.25rem !important;\n }\n .ps-lg-2 {\n padding-right: 0.5rem !important;\n }\n .ps-lg-3 {\n padding-right: 1rem !important;\n }\n .ps-lg-4 {\n padding-right: 1.5rem !important;\n }\n .ps-lg-5 {\n padding-right: 3rem !important;\n }\n}\n@media (min-width: 1200px) {\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-grid {\n display: grid !important;\n }\n .d-xl-inline-grid {\n display: inline-grid !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n .d-xl-none {\n display: none !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .justify-content-xl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n .order-xl-first {\n order: -1 !important;\n }\n .order-xl-0 {\n order: 0 !important;\n }\n .order-xl-1 {\n order: 1 !important;\n }\n .order-xl-2 {\n order: 2 !important;\n }\n .order-xl-3 {\n order: 3 !important;\n }\n .order-xl-4 {\n order: 4 !important;\n }\n .order-xl-5 {\n order: 5 !important;\n }\n .order-xl-last {\n order: 6 !important;\n }\n .m-xl-0 {\n margin: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mx-xl-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n }\n .mx-xl-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n }\n .mx-xl-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n }\n .mx-xl-3 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n }\n .mx-xl-4 {\n margin-left: 1.5rem !important;\n margin-right: 1.5rem !important;\n }\n .mx-xl-5 {\n margin-left: 3rem !important;\n margin-right: 3rem !important;\n }\n .mx-xl-auto {\n margin-left: auto !important;\n margin-right: auto !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .me-xl-0 {\n margin-left: 0 !important;\n }\n .me-xl-1 {\n margin-left: 0.25rem !important;\n }\n .me-xl-2 {\n margin-left: 0.5rem !important;\n }\n .me-xl-3 {\n margin-left: 1rem !important;\n }\n .me-xl-4 {\n margin-left: 1.5rem !important;\n }\n .me-xl-5 {\n margin-left: 3rem !important;\n }\n .me-xl-auto {\n margin-left: auto !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ms-xl-0 {\n margin-right: 0 !important;\n }\n .ms-xl-1 {\n margin-right: 0.25rem !important;\n }\n .ms-xl-2 {\n margin-right: 0.5rem !important;\n }\n .ms-xl-3 {\n margin-right: 1rem !important;\n }\n .ms-xl-4 {\n margin-right: 1.5rem !important;\n }\n .ms-xl-5 {\n margin-right: 3rem !important;\n }\n .ms-xl-auto {\n margin-right: auto !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .px-xl-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n }\n .px-xl-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n }\n .px-xl-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n }\n .px-xl-3 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n }\n .px-xl-4 {\n padding-left: 1.5rem !important;\n padding-right: 1.5rem !important;\n }\n .px-xl-5 {\n padding-left: 3rem !important;\n padding-right: 3rem !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pe-xl-0 {\n padding-left: 0 !important;\n }\n .pe-xl-1 {\n padding-left: 0.25rem !important;\n }\n .pe-xl-2 {\n padding-left: 0.5rem !important;\n }\n .pe-xl-3 {\n padding-left: 1rem !important;\n }\n .pe-xl-4 {\n padding-left: 1.5rem !important;\n }\n .pe-xl-5 {\n padding-left: 3rem !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .ps-xl-0 {\n padding-right: 0 !important;\n }\n .ps-xl-1 {\n padding-right: 0.25rem !important;\n }\n .ps-xl-2 {\n padding-right: 0.5rem !important;\n }\n .ps-xl-3 {\n padding-right: 1rem !important;\n }\n .ps-xl-4 {\n padding-right: 1.5rem !important;\n }\n .ps-xl-5 {\n padding-right: 3rem !important;\n }\n}\n@media (min-width: 1400px) {\n .d-xxl-inline {\n display: inline !important;\n }\n .d-xxl-inline-block {\n display: inline-block !important;\n }\n .d-xxl-block {\n display: block !important;\n }\n .d-xxl-grid {\n display: grid !important;\n }\n .d-xxl-inline-grid {\n display: inline-grid !important;\n }\n .d-xxl-table {\n display: table !important;\n }\n .d-xxl-table-row {\n display: table-row !important;\n }\n .d-xxl-table-cell {\n display: table-cell !important;\n }\n .d-xxl-flex {\n display: flex !important;\n }\n .d-xxl-inline-flex {\n display: inline-flex !important;\n }\n .d-xxl-none {\n display: none !important;\n }\n .flex-xxl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xxl-row {\n flex-direction: row !important;\n }\n .flex-xxl-column {\n flex-direction: column !important;\n }\n .flex-xxl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xxl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xxl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xxl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xxl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xxl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xxl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xxl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xxl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xxl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xxl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xxl-center {\n justify-content: center !important;\n }\n .justify-content-xxl-between {\n justify-content: space-between !important;\n }\n .justify-content-xxl-around {\n justify-content: space-around !important;\n }\n .justify-content-xxl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xxl-start {\n align-items: flex-start !important;\n }\n .align-items-xxl-end {\n align-items: flex-end !important;\n }\n .align-items-xxl-center {\n align-items: center !important;\n }\n .align-items-xxl-baseline {\n align-items: baseline !important;\n }\n .align-items-xxl-stretch {\n align-items: stretch !important;\n }\n .align-content-xxl-start {\n align-content: flex-start !important;\n }\n .align-content-xxl-end {\n align-content: flex-end !important;\n }\n .align-content-xxl-center {\n align-content: center !important;\n }\n .align-content-xxl-between {\n align-content: space-between !important;\n }\n .align-content-xxl-around {\n align-content: space-around !important;\n }\n .align-content-xxl-stretch {\n align-content: stretch !important;\n }\n .align-self-xxl-auto {\n align-self: auto !important;\n }\n .align-self-xxl-start {\n align-self: flex-start !important;\n }\n .align-self-xxl-end {\n align-self: flex-end !important;\n }\n .align-self-xxl-center {\n align-self: center !important;\n }\n .align-self-xxl-baseline {\n align-self: baseline !important;\n }\n .align-self-xxl-stretch {\n align-self: stretch !important;\n }\n .order-xxl-first {\n order: -1 !important;\n }\n .order-xxl-0 {\n order: 0 !important;\n }\n .order-xxl-1 {\n order: 1 !important;\n }\n .order-xxl-2 {\n order: 2 !important;\n }\n .order-xxl-3 {\n order: 3 !important;\n }\n .order-xxl-4 {\n order: 4 !important;\n }\n .order-xxl-5 {\n order: 5 !important;\n }\n .order-xxl-last {\n order: 6 !important;\n }\n .m-xxl-0 {\n margin: 0 !important;\n }\n .m-xxl-1 {\n margin: 0.25rem !important;\n }\n .m-xxl-2 {\n margin: 0.5rem !important;\n }\n .m-xxl-3 {\n margin: 1rem !important;\n }\n .m-xxl-4 {\n margin: 1.5rem !important;\n }\n .m-xxl-5 {\n margin: 3rem !important;\n }\n .m-xxl-auto {\n margin: auto !important;\n }\n .mx-xxl-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n }\n .mx-xxl-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n }\n .mx-xxl-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n }\n .mx-xxl-3 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n }\n .mx-xxl-4 {\n margin-left: 1.5rem !important;\n margin-right: 1.5rem !important;\n }\n .mx-xxl-5 {\n margin-left: 3rem !important;\n margin-right: 3rem !important;\n }\n .mx-xxl-auto {\n margin-left: auto !important;\n margin-right: auto !important;\n }\n .my-xxl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xxl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xxl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xxl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xxl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xxl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xxl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xxl-0 {\n margin-top: 0 !important;\n }\n .mt-xxl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xxl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xxl-3 {\n margin-top: 1rem !important;\n }\n .mt-xxl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xxl-5 {\n margin-top: 3rem !important;\n }\n .mt-xxl-auto {\n margin-top: auto !important;\n }\n .me-xxl-0 {\n margin-left: 0 !important;\n }\n .me-xxl-1 {\n margin-left: 0.25rem !important;\n }\n .me-xxl-2 {\n margin-left: 0.5rem !important;\n }\n .me-xxl-3 {\n margin-left: 1rem !important;\n }\n .me-xxl-4 {\n margin-left: 1.5rem !important;\n }\n .me-xxl-5 {\n margin-left: 3rem !important;\n }\n .me-xxl-auto {\n margin-left: auto !important;\n }\n .mb-xxl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xxl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xxl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xxl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xxl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xxl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xxl-auto {\n margin-bottom: auto !important;\n }\n .ms-xxl-0 {\n margin-right: 0 !important;\n }\n .ms-xxl-1 {\n margin-right: 0.25rem !important;\n }\n .ms-xxl-2 {\n margin-right: 0.5rem !important;\n }\n .ms-xxl-3 {\n margin-right: 1rem !important;\n }\n .ms-xxl-4 {\n margin-right: 1.5rem !important;\n }\n .ms-xxl-5 {\n margin-right: 3rem !important;\n }\n .ms-xxl-auto {\n margin-right: auto !important;\n }\n .p-xxl-0 {\n padding: 0 !important;\n }\n .p-xxl-1 {\n padding: 0.25rem !important;\n }\n .p-xxl-2 {\n padding: 0.5rem !important;\n }\n .p-xxl-3 {\n padding: 1rem !important;\n }\n .p-xxl-4 {\n padding: 1.5rem !important;\n }\n .p-xxl-5 {\n padding: 3rem !important;\n }\n .px-xxl-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n }\n .px-xxl-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n }\n .px-xxl-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n }\n .px-xxl-3 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n }\n .px-xxl-4 {\n padding-left: 1.5rem !important;\n padding-right: 1.5rem !important;\n }\n .px-xxl-5 {\n padding-left: 3rem !important;\n padding-right: 3rem !important;\n }\n .py-xxl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xxl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xxl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xxl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xxl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xxl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xxl-0 {\n padding-top: 0 !important;\n }\n .pt-xxl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xxl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xxl-3 {\n padding-top: 1rem !important;\n }\n .pt-xxl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xxl-5 {\n padding-top: 3rem !important;\n }\n .pe-xxl-0 {\n padding-left: 0 !important;\n }\n .pe-xxl-1 {\n padding-left: 0.25rem !important;\n }\n .pe-xxl-2 {\n padding-left: 0.5rem !important;\n }\n .pe-xxl-3 {\n padding-left: 1rem !important;\n }\n .pe-xxl-4 {\n padding-left: 1.5rem !important;\n }\n .pe-xxl-5 {\n padding-left: 3rem !important;\n }\n .pb-xxl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xxl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xxl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xxl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xxl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xxl-5 {\n padding-bottom: 3rem !important;\n }\n .ps-xxl-0 {\n padding-right: 0 !important;\n }\n .ps-xxl-1 {\n padding-right: 0.25rem !important;\n }\n .ps-xxl-2 {\n padding-right: 0.5rem !important;\n }\n .ps-xxl-3 {\n padding-right: 1rem !important;\n }\n .ps-xxl-4 {\n padding-right: 1.5rem !important;\n }\n .ps-xxl-5 {\n padding-right: 3rem !important;\n }\n}\n@media print {\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-grid {\n display: grid !important;\n }\n .d-print-inline-grid {\n display: inline-grid !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n .d-print-none {\n display: none !important;\n }\n}\n/*# sourceMappingURL=bootstrap-grid.rtl.css.map */","// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n --#{$prefix}gutter-x: #{$gutter};\n --#{$prefix}gutter-y: 0;\n width: 100%;\n padding-right: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n margin-right: auto;\n margin-left: auto;\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl xxl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width.\n// The maximum value is reduced by 0.02px to work around the limitations of\n// `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $max: map-get($breakpoints, $name);\n @return if($max and $max > 0, $max - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($next, $breakpoints) {\n @content;\n }\n }\n}\n","// Row\n//\n// Rows contain your columns.\n\n:root {\n @each $name, $value in $grid-breakpoints {\n --#{$prefix}breakpoint-#{$name}: #{$value};\n }\n}\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n\n > * {\n @include make-col-ready();\n }\n }\n}\n\n@if $enable-cssgrid {\n .grid {\n display: grid;\n grid-template-rows: repeat(var(--#{$prefix}rows, 1), 1fr);\n grid-template-columns: repeat(var(--#{$prefix}columns, #{$grid-columns}), 1fr);\n gap: var(--#{$prefix}gap, #{$grid-gutter-width});\n\n @include make-cssgrid();\n }\n}\n\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter: $grid-gutter-width) {\n --#{$prefix}gutter-x: #{$gutter};\n --#{$prefix}gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n // TODO: Revisit calc order after https://github.com/react-bootstrap/react-bootstrap/issues/6039 is fixed\n margin-top: calc(-1 * var(--#{$prefix}gutter-y)); // stylelint-disable-line function-disallowed-list\n margin-right: calc(-.5 * var(--#{$prefix}gutter-x)); // stylelint-disable-line function-disallowed-list\n margin-left: calc(-.5 * var(--#{$prefix}gutter-x)); // stylelint-disable-line function-disallowed-list\n}\n\n@mixin make-col-ready() {\n // Add box sizing if only the grid is loaded\n box-sizing: if(variable-exists(include-column-box-sizing) and $include-column-box-sizing, border-box, null);\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we set the width\n // later on to override this initial width.\n flex-shrink: 0;\n width: 100%;\n max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n padding-right: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n margin-top: var(--#{$prefix}gutter-y);\n}\n\n@mixin make-col($size: false, $columns: $grid-columns) {\n @if $size {\n flex: 0 0 auto;\n width: percentage(divide($size, $columns));\n\n } @else {\n flex: 1 1 0;\n max-width: 100%;\n }\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: divide($size, $columns);\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// number of columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n > * {\n flex: 0 0 auto;\n width: percentage(divide(1, $count));\n }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex: 1 0 0%; // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n }\n\n .row-cols#{$infix}-auto > * {\n @include make-col-auto();\n }\n\n @if $grid-row-columns > 0 {\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n\n // Gutters\n //\n // Make use of `.g-*`, `.gx-*` or `.gy-*` utilities to change spacing between the columns.\n @each $key, $value in $gutters {\n .g#{$infix}-#{$key},\n .gx#{$infix}-#{$key} {\n --#{$prefix}gutter-x: #{$value};\n }\n\n .g#{$infix}-#{$key},\n .gy#{$infix}-#{$key} {\n --#{$prefix}gutter-y: #{$value};\n }\n }\n }\n }\n}\n\n@mixin make-cssgrid($columns: $grid-columns, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .g-col#{$infix}-#{$i} {\n grid-column: auto / span $i;\n }\n }\n\n // Start with `1` because `0` is and invalid value.\n // Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible.\n @for $i from 1 through ($columns - 1) {\n .g-start#{$infix}-#{$i} {\n grid-column-start: $i;\n }\n }\n }\n }\n }\n}\n","// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix: \"\", $is-rfs-media-query: false) {\n $values: map-get($utility, values);\n\n // If the values are a list or string, convert it into a map\n @if type-of($values) == \"string\" or type-of(nth($values, 1)) != \"list\" {\n $values: zip($values, $values);\n }\n\n @each $key, $value in $values {\n $properties: map-get($utility, property);\n\n // Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if type-of($properties) == \"string\" {\n $properties: append((), $properties);\n }\n\n // Use custom class if present\n $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\n $property-class: if($property-class == null, \"\", $property-class);\n\n // Use custom CSS variable name if present, otherwise default to `class`\n $css-variable-name: if(map-has-key($utility, css-variable-name), map-get($utility, css-variable-name), map-get($utility, class));\n\n // State params to generate pseudo-classes\n $state: if(map-has-key($utility, state), map-get($utility, state), ());\n\n $infix: if($property-class == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (e.g. with shadow class)\n $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n @if map-get($utility, rfs) {\n // Inside the media query\n @if $is-rfs-media-query {\n $val: rfs-value($value);\n\n // Do not render anything if fluid and non fluid values are the same\n $value: if($val == rfs-fluid-value($value), null, $val);\n }\n @else {\n $value: rfs-fluid-value($value);\n }\n }\n\n $is-css-var: map-get($utility, css-var);\n $is-local-vars: map-get($utility, local-vars);\n $is-rtl: map-get($utility, rtl);\n\n @if $value != null {\n @if $is-rtl == false {\n /* rtl:begin:remove */\n }\n\n @if $is-css-var {\n .#{$property-class + $infix + $property-class-modifier} {\n --#{$prefix}#{$css-variable-name}: #{$value};\n }\n\n @each $pseudo in $state {\n .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {\n --#{$prefix}#{$css-variable-name}: #{$value};\n }\n }\n } @else {\n .#{$property-class + $infix + $property-class-modifier} {\n @each $property in $properties {\n @if $is-local-vars {\n @each $local-var, $variable in $is-local-vars {\n --#{$prefix}#{$local-var}: #{$variable};\n }\n }\n #{$property}: $value if($enable-important-utilities, !important, null);\n }\n }\n\n @each $pseudo in $state {\n .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {\n @each $property in $properties {\n @if $is-local-vars {\n @each $local-var, $variable in $is-local-vars {\n --#{$prefix}#{$local-var}: #{$variable};\n }\n }\n #{$property}: $value if($enable-important-utilities, !important, null);\n }\n }\n }\n }\n\n @if $is-rtl == false {\n /* rtl:end:remove */\n }\n }\n }\n}\n","// Loop over each breakpoint\n@each $breakpoint in map-keys($grid-breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix);\n }\n }\n }\n}\n\n// RFS rescaling\n@media (min-width: $rfs-mq-value) {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @if (map-get($grid-breakpoints, $breakpoint) < $rfs-breakpoint) {\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and map-get($utility, rfs) and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix, true);\n }\n }\n }\n }\n}\n\n\n// Print utilities\n@media print {\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Then check if the utility needs print styles\n @if type-of($utility) == \"map\" and map-get($utility, print) == true {\n @include generate-utility($utility, \"-print\");\n }\n }\n}\n"]} \ No newline at end of file diff --git a/wwws/cdn/apxweb/bootstrap/css/bootstrap-reboot.css b/wwws/cdn/apxweb/bootstrap/css/bootstrap-reboot.css new file mode 100644 index 0000000..47a70f0 --- /dev/null +++ b/wwws/cdn/apxweb/bootstrap/css/bootstrap-reboot.css @@ -0,0 +1,597 @@ +/*! + * Bootstrap Reboot v5.3.2 (https://getbootstrap.com/) + * Copyright 2011-2023 The Bootstrap Authors + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +:root, +[data-bs-theme=light] { + --bs-blue: #0d6efd; + --bs-indigo: #6610f2; + --bs-purple: #6f42c1; + --bs-pink: #d63384; + --bs-red: #dc3545; + --bs-orange: #fd7e14; + --bs-yellow: #ffc107; + --bs-green: #198754; + --bs-teal: #20c997; + --bs-cyan: #0dcaf0; + --bs-black: #000; + --bs-white: #fff; + --bs-gray: #6c757d; + --bs-gray-dark: #343a40; + --bs-gray-100: #f8f9fa; + --bs-gray-200: #e9ecef; + --bs-gray-300: #dee2e6; + --bs-gray-400: #ced4da; + --bs-gray-500: #adb5bd; + --bs-gray-600: #6c757d; + --bs-gray-700: #495057; + --bs-gray-800: #343a40; + --bs-gray-900: #212529; + --bs-primary: #0d6efd; + --bs-secondary: #6c757d; + --bs-success: #198754; + --bs-info: #0dcaf0; + --bs-warning: #ffc107; + --bs-danger: #dc3545; + --bs-light: #f8f9fa; + --bs-dark: #212529; + --bs-primary-rgb: 13, 110, 253; + --bs-secondary-rgb: 108, 117, 125; + --bs-success-rgb: 25, 135, 84; + --bs-info-rgb: 13, 202, 240; + --bs-warning-rgb: 255, 193, 7; + --bs-danger-rgb: 220, 53, 69; + --bs-light-rgb: 248, 249, 250; + --bs-dark-rgb: 33, 37, 41; + --bs-primary-text-emphasis: #052c65; + --bs-secondary-text-emphasis: #2b2f32; + --bs-success-text-emphasis: #0a3622; + --bs-info-text-emphasis: #055160; + --bs-warning-text-emphasis: #664d03; + --bs-danger-text-emphasis: #58151c; + --bs-light-text-emphasis: #495057; + --bs-dark-text-emphasis: #495057; + --bs-primary-bg-subtle: #cfe2ff; + --bs-secondary-bg-subtle: #e2e3e5; + --bs-success-bg-subtle: #d1e7dd; + --bs-info-bg-subtle: #cff4fc; + --bs-warning-bg-subtle: #fff3cd; + --bs-danger-bg-subtle: #f8d7da; + --bs-light-bg-subtle: #fcfcfd; + --bs-dark-bg-subtle: #ced4da; + --bs-primary-border-subtle: #9ec5fe; + --bs-secondary-border-subtle: #c4c8cb; + --bs-success-border-subtle: #a3cfbb; + --bs-info-border-subtle: #9eeaf9; + --bs-warning-border-subtle: #ffe69c; + --bs-danger-border-subtle: #f1aeb5; + --bs-light-border-subtle: #e9ecef; + --bs-dark-border-subtle: #adb5bd; + --bs-white-rgb: 255, 255, 255; + --bs-black-rgb: 0, 0, 0; + --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0)); + --bs-body-font-family: var(--bs-font-sans-serif); + --bs-body-font-size: 1rem; + --bs-body-font-weight: 400; + --bs-body-line-height: 1.5; + --bs-body-color: #212529; + --bs-body-color-rgb: 33, 37, 41; + --bs-body-bg: #fff; + --bs-body-bg-rgb: 255, 255, 255; + --bs-emphasis-color: #000; + --bs-emphasis-color-rgb: 0, 0, 0; + --bs-secondary-color: rgba(33, 37, 41, 0.75); + --bs-secondary-color-rgb: 33, 37, 41; + --bs-secondary-bg: #e9ecef; + --bs-secondary-bg-rgb: 233, 236, 239; + --bs-tertiary-color: rgba(33, 37, 41, 0.5); + --bs-tertiary-color-rgb: 33, 37, 41; + --bs-tertiary-bg: #f8f9fa; + --bs-tertiary-bg-rgb: 248, 249, 250; + --bs-heading-color: inherit; + --bs-link-color: #0d6efd; + --bs-link-color-rgb: 13, 110, 253; + --bs-link-decoration: underline; + --bs-link-hover-color: #0a58ca; + --bs-link-hover-color-rgb: 10, 88, 202; + --bs-code-color: #d63384; + --bs-highlight-color: #212529; + --bs-highlight-bg: #fff3cd; + --bs-border-width: 1px; + --bs-border-style: solid; + --bs-border-color: #dee2e6; + --bs-border-color-translucent: rgba(0, 0, 0, 0.175); + --bs-border-radius: 0.375rem; + --bs-border-radius-sm: 0.25rem; + --bs-border-radius-lg: 0.5rem; + --bs-border-radius-xl: 1rem; + --bs-border-radius-xxl: 2rem; + --bs-border-radius-2xl: var(--bs-border-radius-xxl); + --bs-border-radius-pill: 50rem; + --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); + --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); + --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175); + --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075); + --bs-focus-ring-width: 0.25rem; + --bs-focus-ring-opacity: 0.25; + --bs-focus-ring-color: rgba(13, 110, 253, 0.25); + --bs-form-valid-color: #198754; + --bs-form-valid-border-color: #198754; + --bs-form-invalid-color: #dc3545; + --bs-form-invalid-border-color: #dc3545; +} + +[data-bs-theme=dark] { + color-scheme: dark; + --bs-body-color: #dee2e6; + --bs-body-color-rgb: 222, 226, 230; + --bs-body-bg: #212529; + --bs-body-bg-rgb: 33, 37, 41; + --bs-emphasis-color: #fff; + --bs-emphasis-color-rgb: 255, 255, 255; + --bs-secondary-color: rgba(222, 226, 230, 0.75); + --bs-secondary-color-rgb: 222, 226, 230; + --bs-secondary-bg: #343a40; + --bs-secondary-bg-rgb: 52, 58, 64; + --bs-tertiary-color: rgba(222, 226, 230, 0.5); + --bs-tertiary-color-rgb: 222, 226, 230; + --bs-tertiary-bg: #2b3035; + --bs-tertiary-bg-rgb: 43, 48, 53; + --bs-primary-text-emphasis: #6ea8fe; + --bs-secondary-text-emphasis: #a7acb1; + --bs-success-text-emphasis: #75b798; + --bs-info-text-emphasis: #6edff6; + --bs-warning-text-emphasis: #ffda6a; + --bs-danger-text-emphasis: #ea868f; + --bs-light-text-emphasis: #f8f9fa; + --bs-dark-text-emphasis: #dee2e6; + --bs-primary-bg-subtle: #031633; + --bs-secondary-bg-subtle: #161719; + --bs-success-bg-subtle: #051b11; + --bs-info-bg-subtle: #032830; + --bs-warning-bg-subtle: #332701; + --bs-danger-bg-subtle: #2c0b0e; + --bs-light-bg-subtle: #343a40; + --bs-dark-bg-subtle: #1a1d20; + --bs-primary-border-subtle: #084298; + --bs-secondary-border-subtle: #41464b; + --bs-success-border-subtle: #0f5132; + --bs-info-border-subtle: #087990; + --bs-warning-border-subtle: #997404; + --bs-danger-border-subtle: #842029; + --bs-light-border-subtle: #495057; + --bs-dark-border-subtle: #343a40; + --bs-heading-color: inherit; + --bs-link-color: #6ea8fe; + --bs-link-hover-color: #8bb9fe; + --bs-link-color-rgb: 110, 168, 254; + --bs-link-hover-color-rgb: 139, 185, 254; + --bs-code-color: #e685b5; + --bs-highlight-color: #dee2e6; + --bs-highlight-bg: #664d03; + --bs-border-color: #495057; + --bs-border-color-translucent: rgba(255, 255, 255, 0.15); + --bs-form-valid-color: #75b798; + --bs-form-valid-border-color: #75b798; + --bs-form-invalid-color: #ea868f; + --bs-form-invalid-border-color: #ea868f; +} + +*, +*::before, +*::after { + box-sizing: border-box; +} + +@media (prefers-reduced-motion: no-preference) { + :root { + scroll-behavior: smooth; + } +} + +body { + margin: 0; + font-family: var(--bs-body-font-family); + font-size: var(--bs-body-font-size); + font-weight: var(--bs-body-font-weight); + line-height: var(--bs-body-line-height); + color: var(--bs-body-color); + text-align: var(--bs-body-text-align); + background-color: var(--bs-body-bg); + -webkit-text-size-adjust: 100%; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} + +hr { + margin: 1rem 0; + color: inherit; + border: 0; + border-top: var(--bs-border-width) solid; + opacity: 0.25; +} + +h6, h5, h4, h3, h2, h1 { + margin-top: 0; + margin-bottom: 0.5rem; + font-weight: 500; + line-height: 1.2; + color: var(--bs-heading-color); +} + +h1 { + font-size: calc(1.375rem + 1.5vw); +} +@media (min-width: 1200px) { + h1 { + font-size: 2.5rem; + } +} + +h2 { + font-size: calc(1.325rem + 0.9vw); +} +@media (min-width: 1200px) { + h2 { + font-size: 2rem; + } +} + +h3 { + font-size: calc(1.3rem + 0.6vw); +} +@media (min-width: 1200px) { + h3 { + font-size: 1.75rem; + } +} + +h4 { + font-size: calc(1.275rem + 0.3vw); +} +@media (min-width: 1200px) { + h4 { + font-size: 1.5rem; + } +} + +h5 { + font-size: 1.25rem; +} + +h6 { + font-size: 1rem; +} + +p { + margin-top: 0; + margin-bottom: 1rem; +} + +abbr[title] { + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; + cursor: help; + -webkit-text-decoration-skip-ink: none; + text-decoration-skip-ink: none; +} + +address { + margin-bottom: 1rem; + font-style: normal; + line-height: inherit; +} + +ol, +ul { + padding-left: 2rem; +} + +ol, +ul, +dl { + margin-top: 0; + margin-bottom: 1rem; +} + +ol ol, +ul ul, +ol ul, +ul ol { + margin-bottom: 0; +} + +dt { + font-weight: 700; +} + +dd { + margin-bottom: 0.5rem; + margin-left: 0; +} + +blockquote { + margin: 0 0 1rem; +} + +b, +strong { + font-weight: bolder; +} + +small { + font-size: 0.875em; +} + +mark { + padding: 0.1875em; + color: var(--bs-highlight-color); + background-color: var(--bs-highlight-bg); +} + +sub, +sup { + position: relative; + font-size: 0.75em; + line-height: 0; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +a { + color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1)); + text-decoration: underline; +} +a:hover { + --bs-link-color-rgb: var(--bs-link-hover-color-rgb); +} + +a:not([href]):not([class]), a:not([href]):not([class]):hover { + color: inherit; + text-decoration: none; +} + +pre, +code, +kbd, +samp { + font-family: var(--bs-font-monospace); + font-size: 1em; +} + +pre { + display: block; + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; + font-size: 0.875em; +} +pre code { + font-size: inherit; + color: inherit; + word-break: normal; +} + +code { + font-size: 0.875em; + color: var(--bs-code-color); + word-wrap: break-word; +} +a > code { + color: inherit; +} + +kbd { + padding: 0.1875rem 0.375rem; + font-size: 0.875em; + color: var(--bs-body-bg); + background-color: var(--bs-body-color); + border-radius: 0.25rem; +} +kbd kbd { + padding: 0; + font-size: 1em; +} + +figure { + margin: 0 0 1rem; +} + +img, +svg { + vertical-align: middle; +} + +table { + caption-side: bottom; + border-collapse: collapse; +} + +caption { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + color: var(--bs-secondary-color); + text-align: left; +} + +th { + text-align: inherit; + text-align: -webkit-match-parent; +} + +thead, +tbody, +tfoot, +tr, +td, +th { + border-color: inherit; + border-style: solid; + border-width: 0; +} + +label { + display: inline-block; +} + +button { + border-radius: 0; +} + +button:focus:not(:focus-visible) { + outline: 0; +} + +input, +button, +select, +optgroup, +textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +button, +select { + text-transform: none; +} + +[role=button] { + cursor: pointer; +} + +select { + word-wrap: normal; +} +select:disabled { + opacity: 1; +} + +[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator { + display: none !important; +} + +button, +[type=button], +[type=reset], +[type=submit] { + -webkit-appearance: button; +} +button:not(:disabled), +[type=button]:not(:disabled), +[type=reset]:not(:disabled), +[type=submit]:not(:disabled) { + cursor: pointer; +} + +::-moz-focus-inner { + padding: 0; + border-style: none; +} + +textarea { + resize: vertical; +} + +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} + +legend { + float: left; + width: 100%; + padding: 0; + margin-bottom: 0.5rem; + font-size: calc(1.275rem + 0.3vw); + line-height: inherit; +} +@media (min-width: 1200px) { + legend { + font-size: 1.5rem; + } +} +legend + * { + clear: left; +} + +::-webkit-datetime-edit-fields-wrapper, +::-webkit-datetime-edit-text, +::-webkit-datetime-edit-minute, +::-webkit-datetime-edit-hour-field, +::-webkit-datetime-edit-day-field, +::-webkit-datetime-edit-month-field, +::-webkit-datetime-edit-year-field { + padding: 0; +} + +::-webkit-inner-spin-button { + height: auto; +} + +[type=search] { + -webkit-appearance: textfield; + outline-offset: -2px; +} + +/* rtl:raw: +[type="tel"], +[type="url"], +[type="email"], +[type="number"] { + direction: ltr; +} +*/ +::-webkit-search-decoration { + -webkit-appearance: none; +} + +::-webkit-color-swatch-wrapper { + padding: 0; +} + +::-webkit-file-upload-button { + font: inherit; + -webkit-appearance: button; +} + +::file-selector-button { + font: inherit; + -webkit-appearance: button; +} + +output { + display: inline-block; +} + +iframe { + border: 0; +} + +summary { + display: list-item; + cursor: pointer; +} + +progress { + vertical-align: baseline; +} + +[hidden] { + display: none !important; +} + +/*# sourceMappingURL=bootstrap-reboot.css.map */ \ No newline at end of file diff --git a/wwws/cdn/apxweb/bootstrap/css/bootstrap-reboot.css.map b/wwws/cdn/apxweb/bootstrap/css/bootstrap-reboot.css.map new file mode 100644 index 0000000..8a9aab3 --- /dev/null +++ b/wwws/cdn/apxweb/bootstrap/css/bootstrap-reboot.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/mixins/_banner.scss","../../scss/_root.scss","../../scss/vendor/_rfs.scss","bootstrap-reboot.css","../../scss/mixins/_color-mode.scss","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/mixins/_border-radius.scss"],"names":[],"mappings":"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","file":"bootstrap-reboot.css","sourcesContent":["@mixin bsBanner($file) {\n /*!\n * Bootstrap #{$file} v5.3.2 (https://getbootstrap.com/)\n * Copyright 2011-2023 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n}\n",":root,\n[data-bs-theme=\"light\"] {\n // Note: Custom variable values only support SassScript inside `#{}`.\n\n // Colors\n //\n // Generate palettes for full colors, grays, and theme colors.\n\n @each $color, $value in $colors {\n --#{$prefix}#{$color}: #{$value};\n }\n\n @each $color, $value in $grays {\n --#{$prefix}gray-#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$prefix}#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors-rgb {\n --#{$prefix}#{$color}-rgb: #{$value};\n }\n\n @each $color, $value in $theme-colors-text {\n --#{$prefix}#{$color}-text-emphasis: #{$value};\n }\n\n @each $color, $value in $theme-colors-bg-subtle {\n --#{$prefix}#{$color}-bg-subtle: #{$value};\n }\n\n @each $color, $value in $theme-colors-border-subtle {\n --#{$prefix}#{$color}-border-subtle: #{$value};\n }\n\n --#{$prefix}white-rgb: #{to-rgb($white)};\n --#{$prefix}black-rgb: #{to-rgb($black)};\n\n // Fonts\n\n // Note: Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --#{$prefix}font-sans-serif: #{inspect($font-family-sans-serif)};\n --#{$prefix}font-monospace: #{inspect($font-family-monospace)};\n --#{$prefix}gradient: #{$gradient};\n\n // Root and body\n // scss-docs-start root-body-variables\n @if $font-size-root != null {\n --#{$prefix}root-font-size: #{$font-size-root};\n }\n --#{$prefix}body-font-family: #{inspect($font-family-base)};\n @include rfs($font-size-base, --#{$prefix}body-font-size);\n --#{$prefix}body-font-weight: #{$font-weight-base};\n --#{$prefix}body-line-height: #{$line-height-base};\n @if $body-text-align != null {\n --#{$prefix}body-text-align: #{$body-text-align};\n }\n\n --#{$prefix}body-color: #{$body-color};\n --#{$prefix}body-color-rgb: #{to-rgb($body-color)};\n --#{$prefix}body-bg: #{$body-bg};\n --#{$prefix}body-bg-rgb: #{to-rgb($body-bg)};\n\n --#{$prefix}emphasis-color: #{$body-emphasis-color};\n --#{$prefix}emphasis-color-rgb: #{to-rgb($body-emphasis-color)};\n\n --#{$prefix}secondary-color: #{$body-secondary-color};\n --#{$prefix}secondary-color-rgb: #{to-rgb($body-secondary-color)};\n --#{$prefix}secondary-bg: #{$body-secondary-bg};\n --#{$prefix}secondary-bg-rgb: #{to-rgb($body-secondary-bg)};\n\n --#{$prefix}tertiary-color: #{$body-tertiary-color};\n --#{$prefix}tertiary-color-rgb: #{to-rgb($body-tertiary-color)};\n --#{$prefix}tertiary-bg: #{$body-tertiary-bg};\n --#{$prefix}tertiary-bg-rgb: #{to-rgb($body-tertiary-bg)};\n // scss-docs-end root-body-variables\n\n --#{$prefix}heading-color: #{$headings-color};\n\n --#{$prefix}link-color: #{$link-color};\n --#{$prefix}link-color-rgb: #{to-rgb($link-color)};\n --#{$prefix}link-decoration: #{$link-decoration};\n\n --#{$prefix}link-hover-color: #{$link-hover-color};\n --#{$prefix}link-hover-color-rgb: #{to-rgb($link-hover-color)};\n\n @if $link-hover-decoration != null {\n --#{$prefix}link-hover-decoration: #{$link-hover-decoration};\n }\n\n --#{$prefix}code-color: #{$code-color};\n --#{$prefix}highlight-color: #{$mark-color};\n --#{$prefix}highlight-bg: #{$mark-bg};\n\n // scss-docs-start root-border-var\n --#{$prefix}border-width: #{$border-width};\n --#{$prefix}border-style: #{$border-style};\n --#{$prefix}border-color: #{$border-color};\n --#{$prefix}border-color-translucent: #{$border-color-translucent};\n\n --#{$prefix}border-radius: #{$border-radius};\n --#{$prefix}border-radius-sm: #{$border-radius-sm};\n --#{$prefix}border-radius-lg: #{$border-radius-lg};\n --#{$prefix}border-radius-xl: #{$border-radius-xl};\n --#{$prefix}border-radius-xxl: #{$border-radius-xxl};\n --#{$prefix}border-radius-2xl: var(--#{$prefix}border-radius-xxl); // Deprecated in v5.3.0 for consistency\n --#{$prefix}border-radius-pill: #{$border-radius-pill};\n // scss-docs-end root-border-var\n\n --#{$prefix}box-shadow: #{$box-shadow};\n --#{$prefix}box-shadow-sm: #{$box-shadow-sm};\n --#{$prefix}box-shadow-lg: #{$box-shadow-lg};\n --#{$prefix}box-shadow-inset: #{$box-shadow-inset};\n\n // Focus styles\n // scss-docs-start root-focus-variables\n --#{$prefix}focus-ring-width: #{$focus-ring-width};\n --#{$prefix}focus-ring-opacity: #{$focus-ring-opacity};\n --#{$prefix}focus-ring-color: #{$focus-ring-color};\n // scss-docs-end root-focus-variables\n\n // scss-docs-start root-form-validation-variables\n --#{$prefix}form-valid-color: #{$form-valid-color};\n --#{$prefix}form-valid-border-color: #{$form-valid-border-color};\n --#{$prefix}form-invalid-color: #{$form-invalid-color};\n --#{$prefix}form-invalid-border-color: #{$form-invalid-border-color};\n // scss-docs-end root-form-validation-variables\n}\n\n@if $enable-dark-mode {\n @include color-mode(dark, true) {\n color-scheme: dark;\n\n // scss-docs-start root-dark-mode-vars\n --#{$prefix}body-color: #{$body-color-dark};\n --#{$prefix}body-color-rgb: #{to-rgb($body-color-dark)};\n --#{$prefix}body-bg: #{$body-bg-dark};\n --#{$prefix}body-bg-rgb: #{to-rgb($body-bg-dark)};\n\n --#{$prefix}emphasis-color: #{$body-emphasis-color-dark};\n --#{$prefix}emphasis-color-rgb: #{to-rgb($body-emphasis-color-dark)};\n\n --#{$prefix}secondary-color: #{$body-secondary-color-dark};\n --#{$prefix}secondary-color-rgb: #{to-rgb($body-secondary-color-dark)};\n --#{$prefix}secondary-bg: #{$body-secondary-bg-dark};\n --#{$prefix}secondary-bg-rgb: #{to-rgb($body-secondary-bg-dark)};\n\n --#{$prefix}tertiary-color: #{$body-tertiary-color-dark};\n --#{$prefix}tertiary-color-rgb: #{to-rgb($body-tertiary-color-dark)};\n --#{$prefix}tertiary-bg: #{$body-tertiary-bg-dark};\n --#{$prefix}tertiary-bg-rgb: #{to-rgb($body-tertiary-bg-dark)};\n\n @each $color, $value in $theme-colors-text-dark {\n --#{$prefix}#{$color}-text-emphasis: #{$value};\n }\n\n @each $color, $value in $theme-colors-bg-subtle-dark {\n --#{$prefix}#{$color}-bg-subtle: #{$value};\n }\n\n @each $color, $value in $theme-colors-border-subtle-dark {\n --#{$prefix}#{$color}-border-subtle: #{$value};\n }\n\n --#{$prefix}heading-color: #{$headings-color-dark};\n\n --#{$prefix}link-color: #{$link-color-dark};\n --#{$prefix}link-hover-color: #{$link-hover-color-dark};\n --#{$prefix}link-color-rgb: #{to-rgb($link-color-dark)};\n --#{$prefix}link-hover-color-rgb: #{to-rgb($link-hover-color-dark)};\n\n --#{$prefix}code-color: #{$code-color-dark};\n --#{$prefix}highlight-color: #{$mark-color-dark};\n --#{$prefix}highlight-bg: #{$mark-bg-dark};\n\n --#{$prefix}border-color: #{$border-color-dark};\n --#{$prefix}border-color-translucent: #{$border-color-translucent-dark};\n\n --#{$prefix}form-valid-color: #{$form-valid-color-dark};\n --#{$prefix}form-valid-border-color: #{$form-valid-border-color-dark};\n --#{$prefix}form-invalid-color: #{$form-invalid-color-dark};\n --#{$prefix}form-invalid-border-color: #{$form-invalid-border-color-dark};\n // scss-docs-end root-dark-mode-vars\n }\n}\n","// stylelint-disable scss/dimension-no-non-numeric-values\n\n// SCSS RFS mixin\n//\n// Automated responsive values for font sizes, paddings, margins and much more\n//\n// Licensed under MIT (https://github.com/twbs/rfs/blob/main/LICENSE)\n\n// Configuration\n\n// Base value\n$rfs-base-value: 1.25rem !default;\n$rfs-unit: rem !default;\n\n@if $rfs-unit != rem and $rfs-unit != px {\n @error \"`#{$rfs-unit}` is not a valid unit for $rfs-unit. Use `px` or `rem`.\";\n}\n\n// Breakpoint at where values start decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n@if $rfs-breakpoint-unit != px and $rfs-breakpoint-unit != em and $rfs-breakpoint-unit != rem {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n}\n\n// Resize values based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != number or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Mode. Possibilities: \"min-media-query\", \"max-media-query\"\n$rfs-mode: min-media-query !default;\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-rfs to false\n$enable-rfs: true !default;\n\n// Cache $rfs-base-value unit\n$rfs-base-value-unit: unit($rfs-base-value);\n\n@function divide($dividend, $divisor, $precision: 10) {\n $sign: if($dividend > 0 and $divisor > 0 or $dividend < 0 and $divisor < 0, 1, -1);\n $dividend: abs($dividend);\n $divisor: abs($divisor);\n @if $dividend == 0 {\n @return 0;\n }\n @if $divisor == 0 {\n @error \"Cannot divide by 0\";\n }\n $remainder: $dividend;\n $result: 0;\n $factor: 10;\n @while ($remainder > 0 and $precision >= 0) {\n $quotient: 0;\n @while ($remainder >= $divisor) {\n $remainder: $remainder - $divisor;\n $quotient: $quotient + 1;\n }\n $result: $result * 10 + $quotient;\n $factor: $factor * .1;\n $remainder: $remainder * 10;\n $precision: $precision - 1;\n @if ($precision < 0 and $remainder >= $divisor * 5) {\n $result: $result + 1;\n }\n }\n $result: $result * $factor * $sign;\n $dividend-unit: unit($dividend);\n $divisor-unit: unit($divisor);\n $unit-map: (\n \"px\": 1px,\n \"rem\": 1rem,\n \"em\": 1em,\n \"%\": 1%\n );\n @if ($dividend-unit != $divisor-unit and map-has-key($unit-map, $dividend-unit)) {\n $result: $result * map-get($unit-map, $dividend-unit);\n }\n @return $result;\n}\n\n// Remove px-unit from $rfs-base-value for calculations\n@if $rfs-base-value-unit == px {\n $rfs-base-value: divide($rfs-base-value, $rfs-base-value * 0 + 1);\n}\n@else if $rfs-base-value-unit == rem {\n $rfs-base-value: divide($rfs-base-value, divide($rfs-base-value * 0 + 1, $rfs-rem-value));\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == px {\n $rfs-breakpoint: divide($rfs-breakpoint, $rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == rem or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: divide($rfs-breakpoint, divide($rfs-breakpoint * 0 + 1, $rfs-rem-value));\n}\n\n// Calculate the media query value\n$rfs-mq-value: if($rfs-breakpoint-unit == px, #{$rfs-breakpoint}px, #{divide($rfs-breakpoint, $rfs-rem-value)}#{$rfs-breakpoint-unit});\n$rfs-mq-property-width: if($rfs-mode == max-media-query, max-width, min-width);\n$rfs-mq-property-height: if($rfs-mode == max-media-query, max-height, min-height);\n\n// Internal mixin used to determine which media query needs to be used\n@mixin _rfs-media-query {\n @if $rfs-two-dimensional {\n @if $rfs-mode == max-media-query {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}), (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {\n @content;\n }\n }\n @else {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) and (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {\n @content;\n }\n }\n }\n @else {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) {\n @content;\n }\n }\n}\n\n// Internal mixin that adds disable classes to the selector if needed.\n@mixin _rfs-rule {\n @if $rfs-class == disable and $rfs-mode == max-media-query {\n // Adding an extra class increases specificity, which prevents the media query to override the property\n &,\n .disable-rfs &,\n &.disable-rfs {\n @content;\n }\n }\n @else if $rfs-class == enable and $rfs-mode == min-media-query {\n .enable-rfs &,\n &.enable-rfs {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Internal mixin that adds enable classes to the selector if needed.\n@mixin _rfs-media-query-rule {\n\n @if $rfs-class == enable {\n @if $rfs-mode == min-media-query {\n @content;\n }\n\n @include _rfs-media-query () {\n .enable-rfs &,\n &.enable-rfs {\n @content;\n }\n }\n }\n @else {\n @if $rfs-class == disable and $rfs-mode == min-media-query {\n .disable-rfs &,\n &.disable-rfs {\n @content;\n }\n }\n @include _rfs-media-query () {\n @content;\n }\n }\n}\n\n// Helper function to get the formatted non-responsive value\n@function rfs-value($values) {\n // Convert to list\n $values: if(type-of($values) != list, ($values,), $values);\n\n $val: \"\";\n\n // Loop over each value and calculate value\n @each $value in $values {\n @if $value == 0 {\n $val: $val + \" 0\";\n }\n @else {\n // Cache $value unit\n $unit: if(type-of($value) == \"number\", unit($value), false);\n\n @if $unit == px {\n // Convert to rem if needed\n $val: $val + \" \" + if($rfs-unit == rem, #{divide($value, $value * 0 + $rfs-rem-value)}rem, $value);\n }\n @else if $unit == rem {\n // Convert to px if needed\n $val: $val + \" \" + if($rfs-unit == px, #{divide($value, $value * 0 + 1) * $rfs-rem-value}px, $value);\n } @else {\n // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n $val: $val + \" \" + $value;\n }\n }\n }\n\n // Remove first space\n @return unquote(str-slice($val, 2));\n}\n\n// Helper function to get the responsive value calculated by RFS\n@function rfs-fluid-value($values) {\n // Convert to list\n $values: if(type-of($values) != list, ($values,), $values);\n\n $val: \"\";\n\n // Loop over each value and calculate value\n @each $value in $values {\n @if $value == 0 {\n $val: $val + \" 0\";\n } @else {\n // Cache $value unit\n $unit: if(type-of($value) == \"number\", unit($value), false);\n\n // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $unit or $unit != px and $unit != rem {\n $val: $val + \" \" + $value;\n } @else {\n // Remove unit from $value for calculations\n $value: divide($value, $value * 0 + if($unit == px, 1, divide(1, $rfs-rem-value)));\n\n // Only add the media query if the value is greater than the minimum value\n @if abs($value) <= $rfs-base-value or not $enable-rfs {\n $val: $val + \" \" + if($rfs-unit == rem, #{divide($value, $rfs-rem-value)}rem, #{$value}px);\n }\n @else {\n // Calculate the minimum value\n $value-min: $rfs-base-value + divide(abs($value) - $rfs-base-value, $rfs-factor);\n\n // Calculate difference between $value and the minimum value\n $value-diff: abs($value) - $value-min;\n\n // Base value formatting\n $min-width: if($rfs-unit == rem, #{divide($value-min, $rfs-rem-value)}rem, #{$value-min}px);\n\n // Use negative value if needed\n $min-width: if($value < 0, -$min-width, $min-width);\n\n // Use `vmin` if two-dimensional is enabled\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{divide($value-diff * 100, $rfs-breakpoint)}#{$variable-unit};\n\n // Return the calculated value\n $val: $val + \" calc(\" + $min-width + if($value < 0, \" - \", \" + \") + $variable-width + \")\";\n }\n }\n }\n }\n\n // Remove first space\n @return unquote(str-slice($val, 2));\n}\n\n// RFS mixin\n@mixin rfs($values, $property: font-size) {\n @if $values != null {\n $val: rfs-value($values);\n $fluid-val: rfs-fluid-value($values);\n\n // Do not print the media query if responsive & non-responsive values are the same\n @if $val == $fluid-val {\n #{$property}: $val;\n }\n @else {\n @include _rfs-rule () {\n #{$property}: if($rfs-mode == max-media-query, $val, $fluid-val);\n\n // Include safari iframe resize fix if needed\n min-width: if($rfs-safari-iframe-resize-bug-fix, (0 * 1vw), null);\n }\n\n @include _rfs-media-query-rule () {\n #{$property}: if($rfs-mode == max-media-query, $fluid-val, $val);\n }\n }\n }\n}\n\n// Shorthand helper mixins\n@mixin font-size($value) {\n @include rfs($value);\n}\n\n@mixin padding($value) {\n @include rfs($value, padding);\n}\n\n@mixin padding-top($value) {\n @include rfs($value, padding-top);\n}\n\n@mixin padding-right($value) {\n @include rfs($value, padding-right);\n}\n\n@mixin padding-bottom($value) {\n @include rfs($value, padding-bottom);\n}\n\n@mixin padding-left($value) {\n @include rfs($value, padding-left);\n}\n\n@mixin margin($value) {\n @include rfs($value, margin);\n}\n\n@mixin margin-top($value) {\n @include rfs($value, margin-top);\n}\n\n@mixin margin-right($value) {\n @include rfs($value, margin-right);\n}\n\n@mixin margin-bottom($value) {\n @include rfs($value, margin-bottom);\n}\n\n@mixin margin-left($value) {\n @include rfs($value, margin-left);\n}\n","/*!\n * Bootstrap Reboot v5.3.2 (https://getbootstrap.com/)\n * Copyright 2011-2023 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n:root,\n[data-bs-theme=light] {\n --bs-blue: #0d6efd;\n --bs-indigo: #6610f2;\n --bs-purple: #6f42c1;\n --bs-pink: #d63384;\n --bs-red: #dc3545;\n --bs-orange: #fd7e14;\n --bs-yellow: #ffc107;\n --bs-green: #198754;\n --bs-teal: #20c997;\n --bs-cyan: #0dcaf0;\n --bs-black: #000;\n --bs-white: #fff;\n --bs-gray: #6c757d;\n --bs-gray-dark: #343a40;\n --bs-gray-100: #f8f9fa;\n --bs-gray-200: #e9ecef;\n --bs-gray-300: #dee2e6;\n --bs-gray-400: #ced4da;\n --bs-gray-500: #adb5bd;\n --bs-gray-600: #6c757d;\n --bs-gray-700: #495057;\n --bs-gray-800: #343a40;\n --bs-gray-900: #212529;\n --bs-primary: #0d6efd;\n --bs-secondary: #6c757d;\n --bs-success: #198754;\n --bs-info: #0dcaf0;\n --bs-warning: #ffc107;\n --bs-danger: #dc3545;\n --bs-light: #f8f9fa;\n --bs-dark: #212529;\n --bs-primary-rgb: 13, 110, 253;\n --bs-secondary-rgb: 108, 117, 125;\n --bs-success-rgb: 25, 135, 84;\n --bs-info-rgb: 13, 202, 240;\n --bs-warning-rgb: 255, 193, 7;\n --bs-danger-rgb: 220, 53, 69;\n --bs-light-rgb: 248, 249, 250;\n --bs-dark-rgb: 33, 37, 41;\n --bs-primary-text-emphasis: #052c65;\n --bs-secondary-text-emphasis: #2b2f32;\n --bs-success-text-emphasis: #0a3622;\n --bs-info-text-emphasis: #055160;\n --bs-warning-text-emphasis: #664d03;\n --bs-danger-text-emphasis: #58151c;\n --bs-light-text-emphasis: #495057;\n --bs-dark-text-emphasis: #495057;\n --bs-primary-bg-subtle: #cfe2ff;\n --bs-secondary-bg-subtle: #e2e3e5;\n --bs-success-bg-subtle: #d1e7dd;\n --bs-info-bg-subtle: #cff4fc;\n --bs-warning-bg-subtle: #fff3cd;\n --bs-danger-bg-subtle: #f8d7da;\n --bs-light-bg-subtle: #fcfcfd;\n --bs-dark-bg-subtle: #ced4da;\n --bs-primary-border-subtle: #9ec5fe;\n --bs-secondary-border-subtle: #c4c8cb;\n --bs-success-border-subtle: #a3cfbb;\n --bs-info-border-subtle: #9eeaf9;\n --bs-warning-border-subtle: #ffe69c;\n --bs-danger-border-subtle: #f1aeb5;\n --bs-light-border-subtle: #e9ecef;\n --bs-dark-border-subtle: #adb5bd;\n --bs-white-rgb: 255, 255, 255;\n --bs-black-rgb: 0, 0, 0;\n --bs-font-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));\n --bs-body-font-family: var(--bs-font-sans-serif);\n --bs-body-font-size: 1rem;\n --bs-body-font-weight: 400;\n --bs-body-line-height: 1.5;\n --bs-body-color: #212529;\n --bs-body-color-rgb: 33, 37, 41;\n --bs-body-bg: #fff;\n --bs-body-bg-rgb: 255, 255, 255;\n --bs-emphasis-color: #000;\n --bs-emphasis-color-rgb: 0, 0, 0;\n --bs-secondary-color: rgba(33, 37, 41, 0.75);\n --bs-secondary-color-rgb: 33, 37, 41;\n --bs-secondary-bg: #e9ecef;\n --bs-secondary-bg-rgb: 233, 236, 239;\n --bs-tertiary-color: rgba(33, 37, 41, 0.5);\n --bs-tertiary-color-rgb: 33, 37, 41;\n --bs-tertiary-bg: #f8f9fa;\n --bs-tertiary-bg-rgb: 248, 249, 250;\n --bs-heading-color: inherit;\n --bs-link-color: #0d6efd;\n --bs-link-color-rgb: 13, 110, 253;\n --bs-link-decoration: underline;\n --bs-link-hover-color: #0a58ca;\n --bs-link-hover-color-rgb: 10, 88, 202;\n --bs-code-color: #d63384;\n --bs-highlight-color: #212529;\n --bs-highlight-bg: #fff3cd;\n --bs-border-width: 1px;\n --bs-border-style: solid;\n --bs-border-color: #dee2e6;\n --bs-border-color-translucent: rgba(0, 0, 0, 0.175);\n --bs-border-radius: 0.375rem;\n --bs-border-radius-sm: 0.25rem;\n --bs-border-radius-lg: 0.5rem;\n --bs-border-radius-xl: 1rem;\n --bs-border-radius-xxl: 2rem;\n --bs-border-radius-2xl: var(--bs-border-radius-xxl);\n --bs-border-radius-pill: 50rem;\n --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);\n --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);\n --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);\n --bs-focus-ring-width: 0.25rem;\n --bs-focus-ring-opacity: 0.25;\n --bs-focus-ring-color: rgba(13, 110, 253, 0.25);\n --bs-form-valid-color: #198754;\n --bs-form-valid-border-color: #198754;\n --bs-form-invalid-color: #dc3545;\n --bs-form-invalid-border-color: #dc3545;\n}\n\n[data-bs-theme=dark] {\n color-scheme: dark;\n --bs-body-color: #dee2e6;\n --bs-body-color-rgb: 222, 226, 230;\n --bs-body-bg: #212529;\n --bs-body-bg-rgb: 33, 37, 41;\n --bs-emphasis-color: #fff;\n --bs-emphasis-color-rgb: 255, 255, 255;\n --bs-secondary-color: rgba(222, 226, 230, 0.75);\n --bs-secondary-color-rgb: 222, 226, 230;\n --bs-secondary-bg: #343a40;\n --bs-secondary-bg-rgb: 52, 58, 64;\n --bs-tertiary-color: rgba(222, 226, 230, 0.5);\n --bs-tertiary-color-rgb: 222, 226, 230;\n --bs-tertiary-bg: #2b3035;\n --bs-tertiary-bg-rgb: 43, 48, 53;\n --bs-primary-text-emphasis: #6ea8fe;\n --bs-secondary-text-emphasis: #a7acb1;\n --bs-success-text-emphasis: #75b798;\n --bs-info-text-emphasis: #6edff6;\n --bs-warning-text-emphasis: #ffda6a;\n --bs-danger-text-emphasis: #ea868f;\n --bs-light-text-emphasis: #f8f9fa;\n --bs-dark-text-emphasis: #dee2e6;\n --bs-primary-bg-subtle: #031633;\n --bs-secondary-bg-subtle: #161719;\n --bs-success-bg-subtle: #051b11;\n --bs-info-bg-subtle: #032830;\n --bs-warning-bg-subtle: #332701;\n --bs-danger-bg-subtle: #2c0b0e;\n --bs-light-bg-subtle: #343a40;\n --bs-dark-bg-subtle: #1a1d20;\n --bs-primary-border-subtle: #084298;\n --bs-secondary-border-subtle: #41464b;\n --bs-success-border-subtle: #0f5132;\n --bs-info-border-subtle: #087990;\n --bs-warning-border-subtle: #997404;\n --bs-danger-border-subtle: #842029;\n --bs-light-border-subtle: #495057;\n --bs-dark-border-subtle: #343a40;\n --bs-heading-color: inherit;\n --bs-link-color: #6ea8fe;\n --bs-link-hover-color: #8bb9fe;\n --bs-link-color-rgb: 110, 168, 254;\n --bs-link-hover-color-rgb: 139, 185, 254;\n --bs-code-color: #e685b5;\n --bs-highlight-color: #dee2e6;\n --bs-highlight-bg: #664d03;\n --bs-border-color: #495057;\n --bs-border-color-translucent: rgba(255, 255, 255, 0.15);\n --bs-form-valid-color: #75b798;\n --bs-form-valid-border-color: #75b798;\n --bs-form-invalid-color: #ea868f;\n --bs-form-invalid-border-color: #ea868f;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n@media (prefers-reduced-motion: no-preference) {\n :root {\n scroll-behavior: smooth;\n }\n}\n\nbody {\n margin: 0;\n font-family: var(--bs-body-font-family);\n font-size: var(--bs-body-font-size);\n font-weight: var(--bs-body-font-weight);\n line-height: var(--bs-body-line-height);\n color: var(--bs-body-color);\n text-align: var(--bs-body-text-align);\n background-color: var(--bs-body-bg);\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\nhr {\n margin: 1rem 0;\n color: inherit;\n border: 0;\n border-top: var(--bs-border-width) solid;\n opacity: 0.25;\n}\n\nh6, h5, h4, h3, h2, h1 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n color: var(--bs-heading-color);\n}\n\nh1 {\n font-size: calc(1.375rem + 1.5vw);\n}\n@media (min-width: 1200px) {\n h1 {\n font-size: 2.5rem;\n }\n}\n\nh2 {\n font-size: calc(1.325rem + 0.9vw);\n}\n@media (min-width: 1200px) {\n h2 {\n font-size: 2rem;\n }\n}\n\nh3 {\n font-size: calc(1.3rem + 0.6vw);\n}\n@media (min-width: 1200px) {\n h3 {\n font-size: 1.75rem;\n }\n}\n\nh4 {\n font-size: calc(1.275rem + 0.3vw);\n}\n@media (min-width: 1200px) {\n h4 {\n font-size: 1.5rem;\n }\n}\n\nh5 {\n font-size: 1.25rem;\n}\n\nh6 {\n font-size: 1rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title] {\n text-decoration: underline dotted;\n cursor: help;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: 0.5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 0.875em;\n}\n\nmark {\n padding: 0.1875em;\n color: var(--bs-highlight-color);\n background-color: var(--bs-highlight-bg);\n}\n\nsub,\nsup {\n position: relative;\n font-size: 0.75em;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\na {\n color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1));\n text-decoration: underline;\n}\na:hover {\n --bs-link-color-rgb: var(--bs-link-hover-color-rgb);\n}\n\na:not([href]):not([class]), a:not([href]):not([class]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: var(--bs-font-monospace);\n font-size: 1em;\n}\n\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n font-size: 0.875em;\n}\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\ncode {\n font-size: 0.875em;\n color: var(--bs-code-color);\n word-wrap: break-word;\n}\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.1875rem 0.375rem;\n font-size: 0.875em;\n color: var(--bs-body-bg);\n background-color: var(--bs-body-color);\n border-radius: 0.25rem;\n}\nkbd kbd {\n padding: 0;\n font-size: 1em;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n color: var(--bs-secondary-color);\n text-align: left;\n}\n\nth {\n text-align: inherit;\n text-align: -webkit-match-parent;\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n}\n\nlabel {\n display: inline-block;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus:not(:focus-visible) {\n outline: 0;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\n[role=button] {\n cursor: pointer;\n}\n\nselect {\n word-wrap: normal;\n}\nselect:disabled {\n opacity: 1;\n}\n\n[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {\n display: none !important;\n}\n\nbutton,\n[type=button],\n[type=reset],\n[type=submit] {\n -webkit-appearance: button;\n}\nbutton:not(:disabled),\n[type=button]:not(:disabled),\n[type=reset]:not(:disabled),\n[type=submit]:not(:disabled) {\n cursor: pointer;\n}\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ntextarea {\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n float: left;\n width: 100%;\n padding: 0;\n margin-bottom: 0.5rem;\n font-size: calc(1.275rem + 0.3vw);\n line-height: inherit;\n}\n@media (min-width: 1200px) {\n legend {\n font-size: 1.5rem;\n }\n}\nlegend + * {\n clear: left;\n}\n\n::-webkit-datetime-edit-fields-wrapper,\n::-webkit-datetime-edit-text,\n::-webkit-datetime-edit-minute,\n::-webkit-datetime-edit-hour-field,\n::-webkit-datetime-edit-day-field,\n::-webkit-datetime-edit-month-field,\n::-webkit-datetime-edit-year-field {\n padding: 0;\n}\n\n::-webkit-inner-spin-button {\n height: auto;\n}\n\n[type=search] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n}\n\n/* rtl:raw:\n[type=\"tel\"],\n[type=\"url\"],\n[type=\"email\"],\n[type=\"number\"] {\n direction: ltr;\n}\n*/\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n::file-selector-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\niframe {\n border: 0;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[hidden] {\n display: none !important;\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */\n","// scss-docs-start color-mode-mixin\n@mixin color-mode($mode: light, $root: false) {\n @if $color-mode-type == \"media-query\" {\n @if $root == true {\n @media (prefers-color-scheme: $mode) {\n :root {\n @content;\n }\n }\n } @else {\n @media (prefers-color-scheme: $mode) {\n @content;\n }\n }\n } @else {\n [data-bs-theme=\"#{$mode}\"] {\n @content;\n }\n }\n}\n// scss-docs-end color-mode-mixin\n","// stylelint-disable declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n\n// Root\n//\n// Ability to the value of the root font sizes, affecting the value of `rem`.\n// null by default, thus nothing is generated.\n\n:root {\n @if $font-size-root != null {\n @include font-size(var(--#{$prefix}root-font-size));\n }\n\n @if $enable-smooth-scroll {\n @media (prefers-reduced-motion: no-preference) {\n scroll-behavior: smooth;\n }\n }\n}\n\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Prevent adjustments of font size after orientation changes in iOS.\n// 4. Change the default tap highlight to be completely transparent in iOS.\n\n// scss-docs-start reboot-body-rules\nbody {\n margin: 0; // 1\n font-family: var(--#{$prefix}body-font-family);\n @include font-size(var(--#{$prefix}body-font-size));\n font-weight: var(--#{$prefix}body-font-weight);\n line-height: var(--#{$prefix}body-line-height);\n color: var(--#{$prefix}body-color);\n text-align: var(--#{$prefix}body-text-align);\n background-color: var(--#{$prefix}body-bg); // 2\n -webkit-text-size-adjust: 100%; // 3\n -webkit-tap-highlight-color: rgba($black, 0); // 4\n}\n// scss-docs-end reboot-body-rules\n\n\n// Content grouping\n//\n// 1. Reset Firefox's gray color\n\nhr {\n margin: $hr-margin-y 0;\n color: $hr-color; // 1\n border: 0;\n border-top: $hr-border-width solid $hr-border-color;\n opacity: $hr-opacity;\n}\n\n\n// Typography\n//\n// 1. Remove top margins from headings\n// By default, `

    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�DqmuSXZ`y}{NFdAvKi}T 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 H00{ISCM{k! literal 0 HcmV?d00001 diff --git a/wwws/apxhtml/src/index_fr.html b/wwws/apxhtml/src/index_fr.html new file mode 100644 index 0000000..38f1d27 --- /dev/null +++ b/wwws/apxhtml/src/index_fr.html @@ -0,0 +1,113 @@ + + + + + apXhtml Model + + + + + + + + + + + + + + + +